(57)【特許請求の範囲】
【請求項１】
候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに関する情報を復号化するエントロピー復号化部；及び、
前記予測対象ブロックの近隣予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定し、前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定して前記候補予測動きベクトルリストを生成する予測部；を含み、
前記空間的候補予測動きベクトル関連情報は、第１の空間的候補予測動きベクトル可用性情報及び第１の空間的候補予測動きベクトルのうち少なくとも一つ、ならびに第２の空間的候補予測動きベクトル可用性情報及び第２の空間的候補予測動きベクトルのうち少なくとも一つを含む情報であり、
前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び前記時間的候補予測動きベクトルのうち少なくとも一つを含む情報であり、
前記予測部は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルのうち少なくとも一つが可用しないとき、又は前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記時間的候補予測動きベクトル関連情報の導出過程を実行して前記時間的候補予測動きベクトル関連情報を決定する映像復号化装置。
【請求項２】
前記予測部は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが異なるとき、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定する請求項１に記載の映像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号化方法及び装置に関し、より詳しくは、予測動きベクトル誘導方法及びその方法を使用する装置に関する。
【背景技術】
【０００２】
最近、ＨＤ(Ｈｉｇｈ Ｄｅｆｉｎｉｔｉｏｎ)映像及びＵＨＤ(Ｕｌｔｒａ Ｈｉｇｈ Ｄｅｆｉｎｉｔｉｏｎ)映像のような高解像度、高品質の映像に対する需要が多様な応用分野で増加している。映像データが高解像度、高品質になるほど、既存の映像データに比べて相対的にデータ量が増加するため、既存の有無線広帯域回線のような媒体を利用して映像データを送信し、又は既存の格納媒体を利用して格納する場合、送信費用と格納費用が増加するようになる。映像データが高解像度、高品質化によって発生するこのような問題を解決するためには高効率の映像圧縮技術が活用されることができる。
【０００３】
映像圧縮技術として、現在ピクチャの以前又は以後ピクチャから現在ピクチャに含まれている画素値を予測する画面間予測技術、現在ピクチャ内の画素情報を利用して現在ピクチャに含まれている画素値を予測する画面内予測技術、出現頻度が高い値に短い符号を割り当て、出現頻度が低い値に長い符号を割り当てるエントロピー符号化技術など、多様な技術が存在し、このような映像圧縮技術を利用して映像データを効果的に圧縮して送信又は格納することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、映像符号化/復号化効率を増加させるための候補予測動きベクトルリスト構成方法を提供することである。
【０００５】
また、本発明の他の目的は、映像符号化/復号化効率を増加させるための候補予測動きベクトルリスト構成方法を実行する装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、映像復号化装置が提供される。この映像復号化装置は、候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに関する情報を復号化するエントロピー復号化部；及び、前記予測対象ブロックの近隣予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定し、前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定して前記候補予測動きベクトルリストを生成する予測部；を含む。
前記空間的候補予測動きベクトル関連情報は、第１の空間的候補予測動きベクトル可用性情報及び第１の空間的候補予測動きベクトルのうち少なくとも一つ、ならびに第２の空間的候補予測動きベクトル可用性情報及び第２の空間的候補予測動きベクトルのうち少なくとも一つを含む情報であり、前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び前記時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。
前記予測部は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが異なるとき、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定する。
前記予測部は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルのうち少なくとも一つが可用しないとき、又は前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記時間的候補予測動きベクトル関連情報の導出過程を実行して前記時間的候補予測動きベクトル関連情報を決定する。
前記予測部は前記候補予測動きベクトルリストを、前記第１の空間的候補予測動きベクトル可用性情報に基づいて前記第１の空間的候補予測動きベクトルが可用するとき、前記第１の空間的候補予測動きベクトルと、前記第２の空間的候補予測動きベクトル可用性情報に基づいて前記第２の空間的候補予測動きベクトルが可用するとき、前記第２の空間的候補予測動きベクトルと、前記時間的候補予測動きベクトル可用性情報に基づいて前記時間的候補予測動きベクトルが可用するとき、前記時間的候補予測動きベクトルと、を含んで構成する。
前記予測部は、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記第２の空間的候補予測動きベクトルを除去して前記候補予測動きベクトルリストを再構成する。
前記予測部は、前記候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれるべき候補予測動きベクトルの最大数より小さいかどうかを判断し、判断結果に基づいて候補予測動きベクトルを追加又は除去して前記候補予測動きベクトルリストを再構成する。
前記予測部は、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より小さいとき、前記候補予測動きベクトルリストに零ベクトルを追加し、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より大きいとき、前記候補予測動きベクトルの最大数が前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルリストから候補予測動きベクトルを除去する。
本発明の一態様によれば、映像復号化方法が提供される。この映像復号化方法は、予測対象ブロックの近隣予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定するステップ；前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定するステップ；前記空間的候補予測動きベクトル関連情報及び前記時間的候補予測動きベクトル関連情報に基づいて候補予測動きベクトルリストを構成するステップ；及び、前記候補予測動きベクトルリスト内の最終予測動きベクトルに関するインデックス情報に基づいて動きベクトルを決定し、前記決定された動きベクトルに基づいて予測ブロックを生成するステップ；を含んでもよい。
前記複数個の空間的候補予測動きベクトル関連情報を決定するステップは、第１の空間的候補予測動きベクトル可用性情報及び第１の空間的候補予測動きベクトルを決定するステップ及び第２の空間的候補予測動きベクトル可用性情報及び第２の空間的候補予測動きベクトルを決定するステップを含み、前記時間的候補予測動きベクトル関連情報を決定するステップは、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルを決定するステップを含む。
前記時間的候補予測動きベクトル関連情報を決定するステップは、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断するステップ；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが異なるとき、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定するステップ；を含む。
前記時間的候補予測動きベクトル関連情報を決定するステップは、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断するステップ；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルのうち少なくとも一つが可用しないとき、又は前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記時間的候補予測動きベクトル関連情報の導出過程を実行して前記時間的候補予測動きベクトル関連情報を決定するステップ；を含む。
前記候補予測動きベクトルリストは、前記第１の空間的候補予測動きベクトルが可用するとき、前記第１の空間的候補予測動きベクトルと、前記第２の空間的候補予測動きベクトルが可用するとき、前記第２の空間的候補予測動きベクトルと、前記時間的候補予測動きベクトルが可用するとき、前記時間的候補予測動きベクトルと、を含んで構成する。
前記映像復号化方法は、前記第１の空間的候補予測動きベクトルと前記候補予測動きベクトルリスト内の前記第２の空間的候補予測動きベクトルが同じとき、前記第２の空間的候補予測動きベクトルを前記候補予測動きベクトルリストから除去するステップをさらに含んでもよい。
前記映像復号化方法は、前記候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれるべき候補予測動きベクトルの最大数より小さいかどうかを判断するステップ；及び、判断結果に基づいて、前記候補予測動きベクトルリストに候補予測動きベクトルを追加し、又は前記候補予測動きベクトルリストから候補予測動きベクトルを除去するステップ；をさらに含んでもよい。
前記判断結果に基づいて候補予測動きベクトルを追加又は除去するステップは、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より小さいとき、前記候補予測動きベクトルリストに零ベクトルを追加するステップ；及び、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より大きいとき、前記候補予測動きベクトルの最大数が前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルリストから候補予測動きベクトルを除去するステップ；を含む。
前記第１の空間的候補予測動きベクトル可用性情報は、第１の空間的候補予測ブロックグループに含まれている第１のブロック又は第２のブロックに第１の動きベクトルが存在するかどうかを判断するステップ；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第２の動きベクトルが存在するかどうかを判断するステップ；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル又は前記第２の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第３の動きベクトルが存在するかどうかを判断するステップ；及び、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第４の動きベクトルが存在するかどうかを判断するステップ；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出される。
前記第２の空間的候補予測動きベクトル可用性情報は、第２の空間的候補予測ブロックグループに含まれている第３のブロック、第４のブロック又は第５のブロックに第１の動きベクトルが存在するかどうかを判断するステップ；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第２の動きベクトルが存在するかどうかを判断するステップ；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル又は第２の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第３の動きベクトルが存在するかどうかを判断するステップ；及び、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第４の動きベクトルが存在するかどうかを判断するステップ；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出される。
本発明の一態様によれば、映像符号化装置が提供される。この映像符号化装置は、候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに関する情報を符号化するエントロピー符号化部；及び、前記予測対象ブロックの近隣予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定し、前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定して前記候補予測動きベクトルリストを生成する予測部；を含む。
前記空間的候補予測動きベクトル関連情報は、第１の空間的候補予測動きベクトル可用性情報及び第１の空間的候補予測動きベクトルのうち少なくとも一つ、ならびに第２の空間的候補予測動きベクトル可用性情報及び第２の空間的候補予測動きベクトルのうち少なくとも一つを含む情報であり、前記時間的候補予測動きベクトル関連情報は、時間的候補予測動きベクトル可用性情報及び前記時間的候補予測動きベクトルのうち少なくとも一つを含む情報である。
前記予測部は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが異なるとき、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定する。
前記予測部は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルのうち少なくとも一つが可用しないとき、又は前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記時間的候補予測動きベクトル関連情報の導出過程を実行して前記時間的候補予測動きベクトル関連情報を決定する。
前記予測部は前記候補予測動きベクトルリストを、前記第１の空間的候補予測動きベクトル可用性情報に基づいて前記第１の空間的候補予測動きベクトルが可用するとき、前記第１の空間的候補予測動きベクトルと、前記第２の空間的候補予測動きベクトル可用性情報に基づいて前記第２の空間的候補予測動きベクトルが可用するとき、前記第２の空間的候補予測動きベクトルと、前記時間的候補予測動きベクトル可用性情報に基づいて前記時間的候補予測動きベクトルが可用するとき、前記時間的候補予測動きベクトルと、を含んで構成する。
前記予測部は、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記第２の空間的候補予測動きベクトルを除去して前記候補予測動きベクトルリストを再構成する。
前記予測部は、前記候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれるべき候補予測動きベクトルの最大数より小さいかどうかを判断し、判断結果に基づいて候補予測動きベクトルを追加又は除去して前記候補予測動きベクトルリストを再構成する。
前記予測部は、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より小さいとき、前記候補予測動きベクトルリストに零ベクトルを追加し、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より大きいとき、前記候補予測動きベクトルの最大数が前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルリストから候補予測動きベクトルを除去する。
【０００７】
本発明の一態様によれば、映像符号化方法が提供される。この映像符号化方法は、予測対象ブロックの近隣予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定するステップ；前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定するステップ；前記空間的候補予測動きベクトル関連情報及び前記時間的候補予測動きベクトル関連情報に基づいて候補予測動きベクトルリストを構成するステップ；を含む。
前記複数個の空間的候補予測動きベクトル関連情報を決定するステップは、第１の空間的候補予測動きベクトル可用性情報及び第１の空間的候補予測動きベクトルを決定するステップ及び第２の空間的候補予測動きベクトル可用性情報及び第２の空間的候補予測動きベクトルを決定するステップを含み、前記時間的候補予測動きベクトル関連情報を決定するステップは、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルを決定するステップを含む。
前記時間的候補予測動きベクトル関連情報を決定するステップは、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断するステップ；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが異なるとき、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定するステップ；を含む。
前記時間的候補予測動きベクトル関連情報を決定するステップは、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断するステップ；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルのうち少なくとも一つが可用しないとき、又は前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記時間的候補予測動きベクトル関連情報の導出過程を実行して前記時間的候補予測動きベクトル関連情報を決定するステップ；を含む。
前記候補予測動きベクトルリストは、前記第１の空間的候補予測動きベクトルが可用するとき、前記第１の空間的候補予測動きベクトルと、前記第２の空間的候補予測動きベクトルが可用するとき、前記第２の空間的候補予測動きベクトルと、前記時間的候補予測動きベクトルが可用するとき、前記時間的候補予測動きベクトルと、を含んで構成する。
前記映像復号化方法は、前記第１の空間的候補予測動きベクトルと前記候補予測動きベクトルリスト内の前記第２の空間的候補予測動きベクトルが同じとき、前記第２の空間的候補予測動きベクトルを前記候補予測動きベクトルリストから除去するステップをさらに含んでもよい。
前記映像符号化方法は、前記候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれるべき候補予測動きベクトルの最大数より小さいかどうかを判断するステップ；及び、判断結果に基づいて、前記候補予測動きベクトルリストに候補予測動きベクトルを追加し、又は前記候補予測動きベクトルリストから候補予測動きベクトルを除去するステップ；をさらに含んでもよい。
前記判断結果に基づいて候補予測動きベクトルを追加又は除去するステップは、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より小さいとき、前記候補予測動きベクトルリストに零ベクトルを追加するステップ；及び、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より大きいとき、前記候補予測動きベクトルの最大数が前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルリストから候補予測動きベクトルを除去するステップ；を含む。
前記第１の空間的候補予測動きベクトル可用性情報は、第１の空間的候補予測ブロックグループに含まれている第１のブロック又は第２のブロックに第１の動きベクトルが存在するかどうかを判断するステップ；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第２の動きベクトルが存在するかどうかを判断するステップ；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル又は前記第２の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第３の動きベクトルが存在するかどうかを判断するステップ；及び、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第４の動きベクトルが存在するかどうかを判断するステップ；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出される。
前記第２の空間的候補予測動きベクトル可用性情報は、第２の空間的候補予測ブロックグループに含まれている第３のブロック、第４のブロック又は第５のブロックに第１の動きベクトルが存在するかどうかを判断するステップ；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第２の動きベクトルが存在するかどうかを判断するステップ；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル又は第２の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第３の動きベクトルが存在するかどうかを判断するステップ；及び、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第４の動きベクトルが存在するかどうかを判断するステップ；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出される。
本発明の一態様によれば、コンピュータによって実行される映像復号化用プログラムを記録したコンピュータ可読記録媒体が提供される。このプログラムは、予測対象ブロックの近隣予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定する動作；前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定する動作；前記空間的候補予測動きベクトル関連情報及び前記時間的候補予測動きベクトル関連情報に基づいて候補予測動きベクトルリストを構成する動作；及び、前記候補予測動きベクトルリスト内の最終予測動きベクトルに関するインデックス情報に基づいて動きベクトルを決定し、前記決定された動きベクトルに基づいて予測ブロックを生成する動作；を含んでもよい。
前記複数個の空間的候補予測動きベクトル関連情報を決定する動作は、第１の空間的候補予測動きベクトル可用性情報及び第１の空間的候補予測動きベクトルを決定する動作及び第２の空間的候補予測動きベクトル可用性情報及び第２の空間的候補予測動きベクトルを決定する動作を含み、前記時間的候補予測動きベクトル関連情報を決定する動作は、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルを決定する動作を含む。
前記時間的候補予測動きベクトル関連情報を決定する動作は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断する動作；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが異なるとき、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定する動作；を含む。
前記時間的候補予測動きベクトル関連情報を決定する動作は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断する動作；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルのうち少なくとも一つが可用しないとき、又は前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記時間的候補予測動きベクトル関連情報の導出過程を実行して前記時間的候補予測動きベクトル関連情報を決定する動作；を含む。
前記候補予測動きベクトルリストは、前記第１の空間的候補予測動きベクトルが可用するとき、前記第１の空間的候補予測動きベクトルと、前記第２の空間的候補予測動きベクトルが可用するとき、前記第２の空間的候補予測動きベクトルと、前記時間的候補予測動きベクトルが可用するとき、前記時間的候補予測動きベクトルと、を含んで構成する。
前記プログラムは、前記第１の空間的候補予測動きベクトルと前記候補予測動きベクトルリスト内の前記第２の空間的候補予測動きベクトルが同じとき、前記第２の空間的候補予測動きベクトルを前記候補予測動きベクトルリストから除去する動作をさらに含んでもよい。
前記プログラムは、前記候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれるべき候補予測動きベクトルの最大数より小さいかどうかを判断する動作；及び、判断結果に基づいて、前記候補予測動きベクトルリストに候補予測動きベクトルを追加し、又は前記候補予測動きベクトルリストから候補予測動きベクトルを除去する動作；をさらに含んでもよい。
前記判断結果に基づいて候補予測動きベクトルを追加又は除去する動作は、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より小さいとき、前記候補予測動きベクトルリストに零ベクトルを追加する動作；及び、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より大きいとき、前記候補予測動きベクトルの最大数が前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルリストから候補予測動きベクトルを除去する動作；を含んでもよい。
前記第１の空間的候補予測動きベクトル可用性情報は、第１の空間的候補予測ブロックグループに含まれている第１のブロック又は第２のブロックに第１の動きベクトルが存在するかどうかを判断する動作；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第２の動きベクトルが存在するかどうかを判断する動作；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル又は前記第２の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第３の動きベクトルが存在するかどうかを判断する動作；及び、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第４の動きベクトルが存在するかどうかを判断する動作；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出される。
前記第２の空間的候補予測動きベクトル可用性情報は、第２の空間的候補予測ブロックグループに含まれている第３のブロック、第４のブロック又は第５のブロックに第１の動きベクトルが存在するかどうかを判断する動作；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第２の動きベクトルが存在するかどうかを判断する動作；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル又は第２の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第３の動きベクトルが存在するかどうかを判断する動作；及び、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第４の動きベクトルが存在するかどうかを判断する動作；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出される。
本発明の一態様によれば、コンピュータにより実行される映像符号化用プログラムを記録したコンピュータ可読記録媒体が提供される。このプログラムは、予測対象ブロックの近隣予測ブロックから複数個の空間的候補予測動きベクトル関連情報を決定する動作；前記複数個の空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定する動作；及び、前記空間的候補予測動きベクトル関連情報及び前記時間的候補予測動きベクトル関連情報に基づいて候補予測動きベクトルリストを構成する動作；を含む。
前記複数個の空間的候補予測動きベクトル関連情報を決定する動作は、第１の空間的候補予測動きベクトル可用性情報及び第１の空間的候補予測動きベクトルを決定する動作及び第２の空間的候補予測動きベクトル可用性情報及び第２の空間的候補予測動きベクトルを決定する動作を含み、前記時間的候補予測動きベクトル関連情報を決定する動作は、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルを決定する動作を含む。
前記時間的候補予測動きベクトル関連情報を決定する動作は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断する動作；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが異なるとき、前記時間的候補予測動きベクトル可用性情報を前記時間的候補予測動きベクトルが可用しないと決定する動作；を含む。
前記時間的候補予測動きベクトル関連情報を決定する動作は、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが異なるかどうかを判断する動作；及び、前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルのうち少なくとも一つが可用しないとき、又は前記第１の空間的候補予測動きベクトル及び前記第２の空間的候補予測動きベクトルの両方ともが可用し、前記第１の空間的候補予測動きベクトルと前記第２の空間的候補予測動きベクトルが同じとき、前記時間的候補予測動きベクトル関連情報の導出過程を実行して前記時間的候補予測動きベクトル関連情報を決定する動作；を含む。
前記候補予測動きベクトルリストは、前記第１の空間的候補予測動きベクトルが可用するとき、前記第１の空間的候補予測動きベクトルと、前記第２の空間的候補予測動きベクトルが可用するとき、前記第２の空間的候補予測動きベクトルと、前記時間的候補予測動きベクトルが可用するとき、前記時間的候補予測動きベクトルと、を含んで構成する。
前記プログラムは、前記第１の空間的候補予測動きベクトルと前記候補予測動きベクトルリスト内の前記第２の空間的候補予測動きベクトルが同じとき、前記第２の空間的候補予測動きベクトルを前記候補予測動きベクトルリストから除去する動作をさらに含んでもよい。
前記プログラムは、前記候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が前記候補予測動きベクトルリストに含まれるべき候補予測動きベクトルの最大数より小さいかどうかを判断する動作；及び、判断結果に基づいて、前記候補予測動きベクトルリストに候補予測動きベクトルを追加し、又は前記候補予測動きベクトルリストから候補予測動きベクトルを除去する動作；をさらに含んでもよい。
前記判断結果に基づいて候補予測動きベクトルを追加又は除去する動作は、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より小さいとき、前記候補予測動きベクトルリストに零ベクトルを追加する動作；及び、前記候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記候補予測動きベクトルの最大数より大きいとき、前記候補予測動きベクトルの最大数が前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルリストから候補予測動きベクトルを除去する動作；を含む。
前記第１の空間的候補予測動きベクトル可用性情報は、第１の空間的候補予測ブロックグループに含まれている第１のブロック又は第２のブロックに第１の動きベクトルが存在するかどうかを判断する動作；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第２の動きベクトルが存在するかどうかを判断する動作；前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル又は前記第２の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第３の動きベクトルが存在するかどうかを判断する動作；及び、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第１の空間的候補予測ブロックグループ内の前記第１のブロック又は前記第２のブロックに第４の動きベクトルが存在するかどうかを判断する動作；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第１のブロック又は前記第２のブロックから導出される。
前記第２の空間的候補予測動きベクトル可用性情報は、第２の空間的候補予測ブロックグループに含まれている第３のブロック、第４のブロック又は第５のブロックに第１の動きベクトルが存在するかどうかを判断する動作；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第２の動きベクトルが存在するかどうかを判断する動作；前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル又は第２の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第３の動きベクトルが存在するかどうかを判断する動作；及び、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに前記第１の動きベクトル、前記第２の動きベクトル又は前記第３の動きベクトルが存在しないとき、前記第２の空間的候補予測ブロックグループ内の前記第３のブロック、前記第４のブロック又は前記第５のブロックに第４の動きベクトルが存在するかどうかを判断する動作；を介して導出される。
前記第１の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第２の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと同じ参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第３の動きベクトルは、前記予測対象ブロックと同じ参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出され、前記第４の動きベクトルは、前記予測対象ブロックと異なる参照映像リスト及び前記予測対象ブロックと異なる参照映像を使う前記第３のブロック、前記第４のブロック又は前記第５のブロックから導出される。
【発明の効果】
【０００８】
前述したように、本発明の実施例に係る動きベクトルリスト構成方法及びその方法を使用する装置によると、候補予測動きベクトルリストを構成して予測動きベクトルを算出する方法に関し、最適の予測動きベクトルを誘導時に発生する複雑度を減らして符号化効率を上げることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例に係る映像符号化装置の構成を示すブロック図である。
【図２】本発明の実施例に係る映像復号化装置の構成を示すブロック図である。
【図３】本発明の実施例に係る候補予測動きベクトルを算出するための空間的候補予測ブロック及び時間的候補予測ブロックを示す概念図である。
【図４】本発明の実施例に係る予測対象ブロックの動きベクトルと空間的候補予測ブロックの動きベクトルとの関係を介して空間的候補予測ブロックの動きベクトルを分類する方法を説明するための概念図である。
【図５】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【図６】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【図７】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【図８】本発明の実施例に係る追加候補予測動きベクトルを算出する過程を示すフローチャートである。
【図９】本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法を示す順序図である。
【図１０】本発明の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【図１１】本発明の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【図１２】本発明の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【図１３】本発明の他の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【図１４】本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【図１５】本発明の実施例に係る時間的候補予測動きベクトルを算出する方法を示すための概念図である。
【図１６】本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示す概念図である。
【図１７】本発明の実施例に係る候補予測動きベクトルリストから同じ候補予測動きベクトルを除去することを示す概念図である。
【図１８】本発明の実施例に係る候補予測動きベクトルを追加及び除去して候補予測動きベクトルリストの大きさを調整する方法を示す概念図である。
【図１９】本発明の実施例に係る候補予測動きベクトルリストで最終予測動きベクトルを決定することを示す概念図である。
【図２０】本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態に対して具体的に説明する。本明細書の実施例を説明するにあたって、関連した公知構成又は機能に対する具体的な説明が本明細書の要旨を不明にすると判断される場合にはその詳細な説明は省略する。
【００１１】
一構成要素が他の構成要素に“連結されている”又は“接続されている”と言及された場合、該当他の構成要素に直接的に連結されている、又は接続されていることもあるが、中間に他の構成要素が存在することもあると理解されなければならない。併せて、本発明において、特定構成を“含む”と記述する内容は、該当構成以外の構成を排除するものではなく、追加的な構成が本発明の実施又は本発明の技術的思想の範囲に含まれることができることを意味する。
【００１２】
第１、第２などの用語は、多様な構成要素の説明に使われることができるが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲を外れない限り、第１の構成要素は第２の構成要素と命名することができ、同様に、第２の構成要素も第１の構成要素と命名することができる。
【００１３】
また、本発明の実施例に示す構成部は、互いに異なる特徴的な機能を示すために独立的に図示されるものであり、各構成部が分離されたハードウェアや一つのソフトウェア構成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、それぞれの構成部として羅列して含むものであり、各構成部のうち少なくとも二つの構成部が統合されて一つの構成部からなり、又は一つの構成部が複数個の構成部に分けられて機能を遂行することができ、このような各構成部の統合された実施例及び分離された実施例も本発明の本質から外れない限り本発明の権利範囲に含まれる。
【００１４】
また、一部の構成要素は、本発明で本質的な機能を遂行する必須な構成要素ではなく、単に性能を向上させるための選択的構成要素である。本発明は、単に性能向上のために使われる構成要素を除いた本発明の本質を具現するのに必須な構成部のみを含んで具現されることができ、単に性能向上のために使われる選択的構成要素を除いた必須構成要素のみを含む構造も本発明の権利範囲に含まれる。
【００１５】
図１は、本発明の一実施例に係る映像符号化装置の構成を示すブロック図である。
【００１６】
図１を参照すると、前記映像符号化装置１００は、動き予測部１１１、動き補償部１１２、イントラ予測部１２０、スイッチ１１５、減算器１２５、変換部１３０、量子化部１４０、エントロピー符号化部１５０、逆量子化部１６０、逆変換部１７０、加算器１７５、フィルタ部１８０、及び参照ピクチャバッファ１９０を含む。
【００１７】
映像符号化装置１００は、入力映像に対してイントラ(ｉｎｔｒａ)モード又はインター(ｉｎｔｅｒ)モードに符号化を実行し、ビットストリームを出力することができる。イントラモードの場合、スイッチ１１５がイントラに転換され、インターモードの場合、スイッチ１１５がインターに転換されることができる。映像符号化装置１００は、入力映像の入力ブロックに対する予測ブロックを算出した後、入力ブロックと予測ブロックとの差分(ｒｅｓｉｄｕａｌ)を符号化することができる。
【００１８】
イントラモードの場合、イントラ予測部１２０は、現在ブロック周辺の既に符号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを算出することができる。
【００１９】
インターモードの場合、動き予測部１１１は、動き予測過程で参照ピクチャバッファ１９０に格納されている参照映像で入力ブロックと最もよくマッチされる領域を探して動きベクトルを求めることができる。動き補償部１１２は、動きベクトルを利用して動き補償を実行することによって予測ブロックを算出することができる。
【００２０】
動き予測部１１１では予測対象ブロックの周辺予測ブロックから誘導された複数個の空間的候補予測動きベクトル関連情報及び複数個の空間的候補予測動きベクトル関連情報に基づいて決定された時間的候補予測動きベクトル関連情報に基づいて前記候補予測動きベクトルリストを生成することができる。詳細な候補予測動きベクトルリスト生成方法に対しては、以下、本発明の実施例で後述し、このような動作を実行する予測部は、本発明の実施例に含まれる。
【００２１】
減算器１２５は、入力ブロックと算出された予測ブロックとの差分により残差ブロック(ｒｅｓｉｄｕａｌ ｂｌｏｃｋ)を算出することができる。変換部１３０は、残差ブロックに対して変換(ｔｒａｎｓｆｏｒｍ)を実行することで、変換係数(ｔｒａｎｓｆｏｒｍ ｃｏｅｆｆｉｃｉｅｎｔ)を出力することができる。ここで、変換係数は、残差ブロック及び/又は残差信号に対する変換を実行することによって算出された係数値を意味することができる。以下、本明細書では変換係数に量子化が適用されて算出された、量子化された変換係数レベル(ｔｒａｎｓｆｏｒｍ ｃｏｅｆｆｉｃｉｅｎｔ ｌｅｖｅｌ)も変換係数と呼ばれることができる。
【００２２】
量子化部１４０は、入力された変換係数を量子化パラメータによって量子化し、量子化された変換係数レベル(ｑｕａｎｔｉｚｅｄ ｔｒａｎｓｆｏｒｍ ｃｏｅｆｆｉｃｉｅｎｔｌｅｖｅｌ)を出力することができる。
【００２３】
エントロピー符号化部１５０は、量子化部１４０で算出された値又は符号化過程で算出された符号化パラメータ値などに基づいてエントロピー符号化を実行することで、ビットストリーム(ｂｉｔ ｓｔｒｅａｍ)を出力することができる。
【００２４】
エントロピー符号化が適用される場合、高い発生確率を有するシンボル(ｓｙｍｂｏｌ)に少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、符号化対象シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー符号化を介して映像符号化の圧縮性能が高まることができる。エントロピー符号化部１５０は、エントロピー符号化のために、指数ゴロム(ｅｘｐｏｎｅｎｔｉａｌ ｇｏｌｏｍｂ)、ＣＡＶＬＣ(Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ Ｖａｒｉａｂｌｅ Ｌｅｎｇｔｈ Ｃｏｄｉｎｇ)、ＣＡＢＡＣ(Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ)のような符号化方法を使用することができる。
【００２５】
エントロピー符号化部１５０では候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに対する情報を符号化することができる。
【００２６】
図１の実施例に係る映像符号化装置は、インター予測符号化、即ち、画面間予測符号化を実行するため、現在符号化された映像は、参照映像として使われるために復号化されて格納される必要がある。したがって、量子化された係数は、逆量子化部１６０で逆量子化され、逆変換部１７０で逆変換される。逆量子化、逆変換された係数は、加算器１７５を介して予測ブロックと加えられて復元ブロック(Ｒｅｃｏｎｓｔｒｕｃｔｅｄ Ｂｌｏｃｋ)が算出される。
【００２７】
復元ブロックは、フィルタ部１８０を経て、フィルタ部１８０は、デブロッキングフィルタ(ｄｅｂｌｏｃｋｉｎｇ ｆｉｌｔｅｒ)、ＳＡＯ(Ｓａｍｐｌｅ Ａｄａｐｔｉｖｅ Ｏｆｆｓｅｔ)、ＡＬＦ(Ａｄａｐｔｉｖｅ Ｌｏｏｐ Ｆｉｌｔｅｒ)のうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部１８０を経た復元ブロックは、参照ピクチャバッファ１９０に格納されることができる。
【００２８】
図２は、本発明の他の実施例に係る映像復号化装置の構成を示すブロック図である。
【００２９】
図２を参照すると、前記映像復号化装置２００は、エントロピー復号化部２１０、逆量子化部２２０、逆変換部２３０、イントラ予測部２４０、動き補償部２５０、加算器２５５、フィルタ部２６０、及び参照ピクチャバッファ２７０を含む。
【００３０】
映像復号化装置２００は、符号化器で出力されたビットストリームの入力を受けてイントラモード又はインターモードに復号化を実行することで、再構成された映像、即ち、復元映像を出力することができる。イントラモードの場合、スイッチがイントラに転換され、インターモードの場合、スイッチがインターに転換されることができる。映像復号化装置２００は、入力を受けたビットストリームから復元された残差ブロック(ｒｅｃｏｎｓｔｒｕｃｔｅｄ ｒｅｓｉｄｕａｌ ｂｌｏｃｋ)を得て予測ブロックを算出した後、復元された残差ブロックと予測ブロックとを加えて再構成されたブロック、即ち、復元ブロックを算出することができる。
【００３１】
エントロピー復号化部２１０は、入力されたビットストリームを確率分布によってエントロピー復号化し、量子化された係数(ｑｕａｎｔｉｚｅｄ ｃｏｅｆｆｉｃｉｅｎｔ)形態のシンボルを含むシンボルを算出することができる。エントロピー復号化方法は、前述したエントロピー符号化方法と同様である。
【００３２】
エントロピー復号化方法が適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、各シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー復号化方法を介して映像復号化の圧縮性能が高まることができる。
【００３３】
エントロピー復号化部２１０では候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち予測対象ブロックに対する画面間予測を実行するために使われる予測動きベクトルに対する情報を復号化することができる。
【００３４】
量子化された係数は、逆量子化部２２０で逆量子化され、逆変換部２３０で逆変換され、量子化された係数が逆量子化/逆変換された結果、復元された残差ブロックが算出されることができる。
【００３５】
イントラモードの場合、イントラ予測部２４０は、現在ブロック周辺の既に復号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを算出することができる。インターモードの場合、動き補償部２５０は、動きベクトル及び参照ピクチャバッファ２７０に格納されている参照映像を利用して動き補償を実行することによって予測ブロックを算出することができる。
【００３６】
インターモードの場合、前記予測対象ブロックの周辺予測ブロックから誘導された複数個の空間的候補予測動きベクトル関連情報及び前記複数個の空間的候補予測動きベクトル関連情報に基づいて決定された時間的候補予測動きベクトル関連情報に基づいて前記候補予測動きベクトルリストを生成することができる。詳細な候補予測動きベクトルリスト生成方法に対しては、以下、本発明の実施例で詳述し、このような実施例を実行する予測部を含む復号化装置は、本発明の権利範囲に含まれる。
【００３７】
復元された残差ブロックと予測ブロックは、加算器２５５を介して加えられ、加えられたブロックは、フィルタ部２６０を経ることができる。フィルタ部２６０は、デブロッキングフィルタ、ＳＡＯ、ＡＬＦのうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部２６０は、再構成された映像、即ち、復元映像を出力することができる。復元映像は、参照ピクチャバッファ２７０に格納されてインター予測に使われることができる。
【００３８】
符号化/復号化装置の予測性能を向上させるための方法には補間(ｉｎｔｅｒｐｏｌａｔｉｏｎ)映像の正確度を高さは方法と差信号を予測する方法がある。ここで差信号とは、原本映像と予測映像との差を示す信号である。本発明において“差信号”は文脈によって“差分信号”、“残余ブロック”又は“差分ブロック”に代替されて使われることができ、該当技術分野において通常の知識を有する者は、発明の思想、本質に影響を与えない範囲内でこれを区分することができる。
【００３９】
前述したように、以下、本発明の実施例では、説明の便宜上、コーディングユニット(Ｃｏｄｉｎｇ Ｕｎｉｔ)を符号化単位と定義して使用するが、符号化だけでなく、復号化を実行する単位になることもできる。また、以下、ユニット又はブロックは、映像符号化及び復号化の単位を意味し、映像符号化及び復号化時の符号化又は復号化単位は、一つの映像を細分化されたユニットに分割して符号化又は復号化する時、その分割された単位を意味するため、マクロブロック、符号化ユニット(ＣＵ：Ｃｏｄｉｎｇ Ｕｎｉｔ)、予測ユニット(ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ Ｕｎｉｔ)、変換ユニット(ＴＵ：Ｔｒａｎｓｆｏｒｍ Ｕｎｉｔ)、変換ブロック(ｔｒａｎｓｆｏｒｍ ｂｌｏｃｋ)などで呼ぶこともある。一つのブロックは、大きさが小さい下位ブロックに分割されることができる。予測ユニットとは、予測/補償実行時の基本ブロックであり、予測ユニットは、分割されて複数のパーティション(Ｐａｒｔｉｔｉｏｎ)になることもできる。複数のパーティションも予測実行時の基本ブロックとなり、予測ユニットが分割されたパーティションも予測ユニットという。
【００４０】
本発明の実施例で後述する映像符号化方法及び映像復号化方法は、図１及び図２で詳述した映像符号化器及び映像復号化器に含まれている各構成部で実行されることができる。構成部の意味は、ハードウェア的な意味だけでなく、アルゴリズムを介して実行されることができるソフトウェア的な処理単位も含むことができる。
【００４１】
図３は、本発明の実施例に係る候補予測動きベクトルを算出するための空間的候補予測ブロック及び時間的候補予測ブロックを示す概念図である。
【００４２】
予測対象ブロックの左側上端に存在するピクセルの位置を(ｘＰ,ｙＰ)とし、予測対象ブロックの幅をｎＰＳＷ、予測対象ブロックの高さをｎＰＳＨという変数で定義する。ＭｉｎＰｕＳｉｚｅは、最も小さい予測ブロックの大きさを示すことができる。
【００４３】
以下、本発明の実施例では予測対象ブロックの空間的周辺予測ブロックは、(ｘＰ−１,ｙＰ＋ｎＰＳＨ)に存在するピクセルを含むブロックを左側第１のブロック(Ａ０ブロック)３００、(ｘＰ−１,ｙＰ＋ｎＰＳＨ−ＭｉｎＰｕＳｉｚｅ)に存在するピクセルを含むブロックを左側第２のブロック(Ａ１ブロック)３１０と定義して使用する。また、(ｘＰ＋ｎＰＳＷ,ｙＰ−１)に位置するピクセルを含むブロックを上端第１のブロック(Ｂ０ブロック)３２０、(ｘＰ＋ｎＰＳＷ−ＭｉｎＰｕＳｉｚｅ,ｙＰ−１)に位置するピクセルを含むブロックを上端第２のブロック(Ｂ１ブロック)３３０、(ｘＰ−ＭｉｎＰｕＳｉｚｅ,ｙＰ−１)に位置するピクセルを含むブロックを上端第３のブロック(Ｂ２ブロック)３４０と定義して使用する。
【００４４】
空間的候補予測ブロックは、左側第１のブロック(Ａ０)３００、左側第２のブロック(Ａ１、３１０)、上端第１のブロック(Ｂ０)３２０、上端第２のブロック(Ｂ１)３３０、上端第３のブロック(Ｂ２)３４０を含むことができる。空間的候補予測グループは、二つのグループに分けられ、左側第１のブロック３００及び左側第２のブロック３１０を含むグループを第１の空間的候補予測グループと定義し、上端第１のブロック３２０、上端第２のブロック３３０、上端第３のブロック３４０を含むグループを第２の空間的候補予測グループと定義することができる。
【００４５】
時間的候補予測ブロック３５０は、現在予測対象ブロックを含むピクチャ内のピクセル位置(ｘＰ,ｙＰ)に基づいて現在予測ブロックのＣｏｌｏｃａｔｅｄピクチャ(Ｃｏｌｏｃａｔｅｄ Ｐｉｃｔｕｒｅ)で(ｘＰ＋ｎＰＳＷ,ｙＰ＋ｎＰＳＨ)位置のピクセルを含む予測ブロックであり、又は(ｘＰ＋ｎＰＳＷ,ｙＰ＋ｎＰＳＨ)位置のピクセルを含む予測ブロックが可用しない場合、(ｘＰ＋(ｎＰＳＷ>>１),ｙＰ＋(ｎＰＳＨ>>１))位置のピクセルを含む予測ブロックになることができる。Ｃｏｌｏｃａｔｅｄピクチャで(ｘＰ＋ｎＰＳＷ,ｙＰ＋ｎＰＳＨ)位置のピクセルを含む予測ブロックを第１のＣｏｌｏｃａｔｅｄブロック(Ｃｏｌｏｃａｔｅｄ Ｂｌｏｃｋ)といい、Ｃｏｌｏｃａｔｅｄピクチャで(ｘＰ＋(ｎＰＳＷ>>１),ｙＰ＋(ｎＰＳＨ>>１))位置のピクセルを含む予測ブロックを第２のＣｏｌｏｃａｔｅｄブロックということができる。
【００４６】
図３で開示した空間的候補予測ブロックの位置及び個数と時間的候補予測ブロックの位置及び個数は、任意であり、本発明の本質から外れない限り空間的候補予測ブロックの位置及び個数と時間的候補予測ブロックの位置及び個数は変わることができる。また、候補予測動きベクトルリストの構成時、優先的にスキャンされる予測ブロックの順序も変わることができる。即ち、以下、本発明の実施例で説明する候補予測動きベクトルリストの構成時に使われる候補予測ブロックの位置、個数、スキャン順序、候補予測グループなどは、一つの実施例に過ぎず、本発明の本質から外れない限り変わることができる。このとき、候補予測動きベクトルリスト(Ｃａｎｄｉｄａｔｅ Ｐｒｅｄｉｃｔｅｄ Ｍｏｔｉｏｎ Ｖｅｃｔｏｒ Ｌｉｓｔ)は、候補予測動きベクトルを利用して構成されたリストを意味する。
【００４７】
図４は、本発明の実施例に係る予測対象ブロックの動きベクトルと空間的候補予測ブロックの動きベクトルとの関係を介して空間的候補予測ブロックの動きベクトルを分類する方法を説明するための概念図である。
【００４８】
図４を参照すると、予測対象ブロックと同じ参照フレーム及び同じ参照ピクチャリストから算出された空間的候補予測ブロックの動きベクトルを第１の動きベクトル４００という。図４を参照すると、予測対象ブロック４５０の参照ピクチャがｊピクチャであり、ｊピクチャが含まれている参照ピクチャリストがＬ０リストと仮定する場合、空間的候補予測ブロック４７０のベクトル４００が示す参照ピクチャがｊピクチャであり、ｊピクチャが含まれている参照ピクチャリストがＬ０リストであるため、空間的候補予測ブロック４７０の動きベクトルと予測対象ブロックの動きベクトルは、同じ参照ピクチャ及び同じ参照ピクチャリストを有する。このように予測対象ブロックと同じ参照フレームと同じリストから算出された動きベクトルを第１の動きベクトル４００と定義する。
【００４９】
予測対象ブロック４５０と同じ参照フレームを有し、互いに異なる参照ピクチャリストから算出された空間的候補予測ブロック４７０の動きベクトルを第２の動きベクトル４１０という。予測対象ブロック４５０の参照ピクチャがｊピクチャであり、ｊピクチャが含まれている参照ピクチャリストがＬ０リストと仮定する場合、空間的候補予測ブロック４７０のベクトルが示す参照ピクチャがｊピクチャであり、ｊピクチャが含まれている参照ピクチャリストがＬ１リストであるため、空間的候補予測ブロックの動きベクトル４１０と予測対象ブロックの動きベクトルは、同じ参照ピクチャを有するが、互いに異なる参照ピクチャリストを有する。このように予測対象ブロックと同じ参照フレームであるが、互いに異なるリストから算出された動きベクトルを第２の動きベクトル４１０と定義する。
【００５０】
予測対象ブロックと互いに異なる参照フレームを有し、同じ参照ピクチャリストから算出された空間的候補予測ブロックの動きベクトルを第３の動きベクトル４２０という。予測対象ブロック４５０の参照ピクチャがｊピクチャであり、ｊピクチャが含まれている参照ピクチャリストがＬ０リストと仮定する場合、空間的候補予測ブロック４７０のベクトル４２０が示す参照ピクチャがｉピクチャであり、ｉピクチャが含まれている参照ピクチャリストがＬ０リストであるため、空間的候補予測ブロックの動きベクトルと予測対象ブロックの動きベクトルは、互いに異なる参照ピクチャを有するが、同じ参照ピクチャリストを有する。このように予測対象ブロック４５０と互いに異なる参照フレームであるが、同じリストから算出された動きベクトルを第３の動きベクトル４２０と定義する。第３の動きベクトル４２０の場合、予測対象ブロックと参照ピクチャが互いに異なるため、空間的候補予測ブロックの動きベクトルを使用時、予測対象ブロックの参照ピクチャを基準にスケーリング(Ｓｃａｌｉｎｇ)して候補予測動きベクトルリストに含まれることができる。
【００５１】
予測対象ブロック４５０と互いに異なる参照フレームを有して互いに異なる参照ピクチャリストから算出された空間的候補予測ブロック４７０の動きベクトルを第４の動きベクトル４３０という。予測対象ブロック４５０の参照ピクチャがｊピクチャであり、ｊピクチャが含まれている参照ピクチャリストがＬ０リストと仮定する場合、空間的候補予測ブロック４７０のベクトル４３０が示す参照ピクチャがｍピクチャであり、ｍピクチャが含まれている参照ピクチャリストがＬ１リストであるため、空間的候補予測ブロックの動きベクトルと予測対象ブロックの動きベクトルは、互いに異なる参照ピクチャ及び互いに異なる参照ピクチャリストを有する。このように予測対象ブロックと互いに異なる参照フレーム及び互いに異なる参照ピクチャリストから算出された動きベクトルを第４の動きベクトル４３０と定義する。第４の動きベクトル４３０も予測対象ブロック４５０と参照ピクチャが互いに異なるため、空間的候補予測ブロックの動きベクトルを使用時、予測対象ブロックの参照ピクチャを基準にスケーリングを実行して候補予測動きベクトルリストに含まれることができる。
【００５２】
空間的候補予測ブロックの動きベクトルは、予測対象ブロックの参照フレーム及び参照ピクチャリストによって、前述したように第１の動きベクトル乃至第４の動きベクトルに分類されることができる。第１の動きベクトル及び第２の動きベクトルの場合、スケーリングを実行せずに使用することができるベクトルであり、スケーリングを実行しない非スケーリング(Ｎｏｎ−Ｓｃａｌｉｎｇ)動きベクトルと定義し、第３の動きベクトル及び第４の動きベクトルの場合、スケーリングを実行せずに使用することができるベクトルであり、スケーリング(Ｓｃａｌｉｎｇ)動きベクトルと定義して使用することができる。
【００５３】
空間的候補予測ブロックの動きベクトルを第１の動きベクトル乃至第４の動きベクトルに分類する方法は、以下、本発明の実施例で説明する空間的候補予測ブロックの動きベクトルのうち、候補予測動きベクトルとして優先的に使われる動きベクトルに対して決定するときに使われることができる。
【００５４】
以下、本発明の実施例では第１の動きベクトル乃至第４の動きベクトルのような候補予測動きベクトルのうち最適の動きベクトルとして選択された動きベクトルを予測動きベクトルと定義することができる。
【００５５】
図５は、本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【００５６】
候補予測動きベクトルは、空間的候補予測動きベクトルと時間的候補予測動きベクトルのうち少なくとも一つ以上を含む意味である。
【００５７】
本発明の実施例に係る候補予測動きベクトル算出方法は、候補予測動きベクトルを誘導するにあたって、誘導過程が並列的に実行されることができる。例えば、候補予測動きベクトルを誘導するにあたって、２個の空間的候補予測グループ(第１の空間的候補予測グループ、第２の空間的候補予測グループ)から各々一つの候補予測動きベクトルが誘導され、時間的候補予測ブロックから一つの候補予測動きベクトルが誘導される場合、第１の空間的候補予測グループ、第２の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出する動作が並列的に実行されることができる。候補予測動きベクトル誘導過程が並列的に実行されるということは、候補予測動きベクトル誘導過程の複雑度を減少させることができることを意味する。
【００５８】
図５を参照すると、第１の空間的候補予測グループから第１の空間的候補予測動きベクトルを算出するステップ(ステップＳ５００)、第２の空間的候補予測グループから空間的候補予測動きベクトルを算出するステップ(ステップＳ５２０)、時間的候補予測ブロックから時間的候補予測動きベクトルを算出するステップ(ステップＳ５４０)が並列的に実行される。
【００５９】
図５で並列的に実行された候補予測動きベクトルを算出するためのステップは、任意であり、並列的に候補予測動きベクトルが誘導されるという本発明の本質から外れない限り他の方法を使用することができる。例えば、時間的候補予測ブロックから候補予測動きベクトルを算出するステップは除去され、第１の空間的候補予測グループから候補予測動きベクトルが算出されるステップ及び第２の空間的候補予測グループから候補予測動きベクトルが算出されるステップのみが並列的に実行されることができる。
【００６０】
本発明の実施例に係る候補予測動きベクトル誘導方法では、
【００６１】
Ａ)スケーリングを実行しない予測動きベクトルである非スケーリング動きベクトル(第１の動きベクトル又は第２の動きベクトル)のみを候補予測動きベクトルとして使用する方法。
【００６２】
Ｂ)非スケーリング動きベクトル(第１の動きベクトル又は第２の動きベクトル)が存在しない場合、スケーリングを実行しない第３の動きベクトル又は第４の動きベクトルを候補予測動きベクトルとして使用する方法
【００６３】
を介して候補予測動きベクトルを算出することができる。
【００６４】
図６は、本発明の他の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【００６５】
図６を参照すると、左側第１のブロックから左側第２のブロックの順に非スケーリング動きベクトル(第１の動きベクトル又は第２の動きベクトル)が存在するかどうかを順次に判断する(ステップＳ６００)。
【００６６】
前述したように、第１の動きベクトル及び第２の動きベクトルは、予測対象ブロックと同じ参照ピクチャインデックスを有しており、スケーリングを実行する必要がない非スケーリング候補予測動きベクトルを意味する。
【００６７】
ステップＳ６００では、例えば、下記のような順序に候補予測動きベクトルの存在可否を判断することができる。
【００６８】
(１)左側第１のブロックに非スケーリング候補予測動きベクトルが存在するかどうかを判断し、左側第１のブロックに非スケーリング候補予測動きベクトルが存在する場合、該当非スケーリング候補予測動きベクトルを候補予測動きベクトルに決定。
【００６９】
(２)左側第１のブロックに非スケーリング候補予測動きベクトルが存在しない場合、左側第２のブロックに非スケーリング候補予測動きベクトルが存在するかどうかを判断する。左側第２のブロックに非スケーリング候補予測動きベクトルが存在する場合、該当非スケーリング候補予測動きベクトルを候補予測動きベクトルに決定。
【００７０】
(３)左側第２のブロックに非スケーリング候補予測動きベクトルが存在しない場合、第１の空間的候補予測グループ(左側第１のブロック及び左側第２のブロック)から候補予測動きベクトルを算出しない。
【００７１】
ステップＳ６００では他の実施例として、下記のような順序に候補予測動きベクトルの存在可否を判断することができる。
【００７２】
(１)左側第１のブロックに第１の動きベクトルが存在するかどうかを判断し、左側第１のブロックに第１の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【００７３】
(２)左側第１のブロックに第１の動きベクトルが存在しない場合、左側第２のブロックに第１の動きベクトルが存在するかどうかを判断し、左側第２のブロックに第１の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【００７４】
(３)左側第２のブロックに第１の動きベクトルが存在しない場合、左側第１のブロックに第２の動きベクトルが存在するかどうかを判断し、左側第１のブロックに第２の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【００７５】
(４)左側第１のブロックに第２の動きベクトルが存在しない場合、左側第２のブロックに第２の動きベクトルが存在するかどうかを判断し、左側第２のブロックに第２の動きベクトルが存在する場合、該当ベクトルを候補予測動きベクトルに決定。
【００７６】
前記のような順序は、第１の空間的候補予測グループから非スケーリング候補予測動きベクトルを算出する方法の例示に過ぎず、他の順序を介して第１の空間的候補予測グループから非スケーリング候補予測動きベクトルを算出することも可能である。
【００７７】
前述したように、ステップＳ６００を介して判断した結果、非スケーリング候補予測動きベクトルが存在しない場合、第１の空間的候補予測グループ(左側第１のブロック及び左側第２のブロック)から候補予測動きベクトルを算出しない。
【００７８】
第１の空間的候補予測グループから非スケーリング候補予測動きベクトルを算出する方法を介して非スケーリング候補予測動きベクトルが存在する場合、第１の空間的候補予測グループ可用性情報(例えば、ａｖａｉｌａｂｌｅＦｌａｇＬＸＹ)を１に設定し、第１の空間的候補予測グループに候補予測動きベクトルが存在することを表示することができる。１は、候補予測動きベクトルの存在可否を表示するための任意の二進数であり、他の二進符号を介して同じ意味を含むこともできる。本発明の実施例で所定の情報の内容を表示する１及び０の二進数は、任意であり、他の二進符号化方法又は他の符号化方法を使用して算出された符号に基づいて該当情報を表現することができる。
【００７９】
他の実施例として、ステップＳ６００を介して算出された非スケーリング候補予測動きベクトルが存在しない場合、左側第１のブロック及び左側第２のブロックでスケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)が存在するかどうかを順次に判断する(ステップＳ６１０)。
【００８０】
例えば、ステップＳ６１０では下記のようなステップを介してスケーリング動きベクトルが存在するかどうかを判断することができる。
【００８１】
(１)左側第１のブロックで第３の動きベクトル又は第４の動きベクトルが存在するかどうかを順次に判断した後、左側第１のブロックで第３の動きベクトル又は第４の動きベクトルが存在する場合、該当第３の動きベクトル又は第４の動きベクトルをスケーリングせずに候補予測動きベクトルに決定する。
【００８２】
(２)左側第１のブロックで第３の動きベクトル又は第４の動きベクトルが存在しない場合、左側第２のブロックで第３の動きベクトル乃至第４の動きベクトルが存在するかどうかを順次に判断し、左側第２のブロックで第３の動きベクトル又は第４の動きベクトルが存在する場合、該当第３の動きベクトル又は第４の動きベクトルをスケーリングせずに候補予測動きベクトルに決定する。
【００８３】
即ち、第１の空間的候補予測グループに非スケーリング候補予測動きベクトルが存在しない場合、第１の空間的候補予測グループ(左側第１のブロック及び左側第２のブロック)からスケーリング候補予測動きベクトル(第３の動きベクトル又は第４の動きベクトル)を算出し、スケーリングを実行しない動きベクトルを候補予測動きベクトルとして算出することができる。
【００８４】
ステップＳ６１０である左側第１のブロック及び左側第２のブロックでスケーリング候補予測動きベクトル(第３の動きベクトル又は第４の動きベクトル)が存在するかどうかを順次に判断する方法として前述した左側第１のブロック及び左側第２のブロックからスケーリング動きベクトル(第１の動きベクトル又は第１の動きベクトル)を算出する方法のように多様な方法が使われることができ、このような多様な実施例も本発明の権利範囲に含まれる。
【００８５】
ステップＳ６００又はステップＳ６００乃至ステップＳ６１０を介して条件を満たす動きベクトルが存在する場合、第１の空間的候補予測グループ可用性情報を１に設定し、以後の動きベクトル存在可否判断手順は実行されない。
【００８６】
第２の空間的候補予測グループでも同様な方法により候補予測動きベクトルが算出されることができる。
【００８７】
上端第１のブロック、上端第２のブロック、上端第３のブロックの順に非スケーリング動きベクトルが存在するかどうかを順次に判断する(ステップＳ６２０)。
【００８８】
第２の空間的候補予測グループから候補予測動きベクトルを算出するステップＳ６２０は、前述したように、第１の空間的候補予測グループから候補予測動きベクトルを算出するステップＳ６００又はステップＳ６１０のうち少なくとも一つのステップと並列的に実行されることができる。
【００８９】
例えば、ステップＳ６００で詳述した方法と同様に、ステップＳ６２０では上端第１のブロックから上端第３のブロックの順に第１の動きベクトルが存在するかどうかを判断し、上端第１のブロックから上端第３のブロックに第１の動きベクトルが存在しない場合、上端第１のブロックから上端第３のブロックの順に第２の動きベクトルが存在するかどうかを判断し、又は上端第１のブロックで第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断し、次に、上端第２のブロックで第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断し、上端第３のブロックで第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断する方法を介して空間的候補予測動きベクトルを算出することができる。
【００９０】
ステップＳ６２０の判断手順は、ステップＳ６００と同様に、多様な方法により実行されることができ、このような多様な判断手順は、本発明の権利範囲に含まれる。
【００９１】
ステップＳ６２０の順次的な判断手順に基づいて上端第１のブロック乃至上端第３のブロックに条件に合う候補予測動きベクトルが存在する場合、その以後の判断手順は実行されない。算出された動きベクトルは、候補予測動きベクトルリストに含まれることができ、第２の空間的候補予測グループ可用性情報を１に設定し、第２の空間的候補予測グループに候補予測動きベクトルが存在することを表示することができる。
【００９２】
ステップＳ６００と同様に、ステップＳ６２０を介して上端第１のブロック乃至上端第３のブロックに非スケーリング候補予測動きベクトルである第１の動きベクトル又は第２の動きベクトルが存在しない場合、第２の空間的候補予測グループから候補予測動きベクトルを算出しない。
【００９３】
他の実施例として、ステップＳ６２０を介して上端第１のブロック、上端第２のブロック、上端第３のブロックに非スケーリング動きベクトルが存在するかどうかを判断した結果、非スケーリング動きベクトルが存在しない場合、上端第１のブロック、上端第２のブロック、上端第３のブロックにスケーリング動きベクトル(第３の動きベクトル及び第４の動きベクトル)が存在するかどうかを順次に判断する(ステップＳ６３０)。
【００９４】
ステップＳ６２０を介して上端第１のブロックから上端第３のブロックの順に第１の動きベクトル又は第２の動きベクトルが存在するかどうかを順次に判断した結果、条件に合うベクトルを発見することができない場合、ステップＳ６３０を介して候補予測動きベクトルを算出することができる。
【００９５】
もし、ステップＳ６３０を介して上端第１のブロック、上端第２のブロック及び上端第３のブロックのうち少なくとも一つのブロックに第３の動きベクトル又は第４の動きベクトルが存在すると判断される場合、該当ベクトルに対してスケーリングを実行せずにスケーリングを実行しない第３の動きベクトル及び第４の動きベクトルを候補予測動きベクトルリストに含ませることができる。
【００９６】
上端第１のブロック、上端第２のブロック及び上端第３のブロックのうち少なくとも一つのブロックに第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断する手順は、第１の空間的候補予測グループから動きベクトルを算出する方法のように、多様な判断方法を使用して実行されることができる。
【００９７】
ステップＳ６２０及びステップＳ６３０を介して条件を満たす動きベクトルが存在する場合、第２の空間的候補予測グループから一つの候補予測動きベクトルを算出することができる。
【００９８】
時間的候補予測ブロック(Ｃｏｌｏｃａｔｅｄブロック)で候補予測動きベクトルが存在するかどうかを判断する(ステップＳ６４０)。
【００９９】
時間的候補予測ブロックで候補予測動きベクトルが存在するかどうかを判断するステップＳ６４０は、第１の空間的候補予測グループから候補予測動きベクトルを算出するステップＳ６００又はＳ６１０及び第２の空間的候補予測グループから候補予測動きベクトルを算出するステップＳ６２０又はＳ６３０と並列的に実行されることができる。
【０１００】
時間的候補予測ブロックは、前述したように、第１のＣｏｌｏｃａｔｅｄブロックと第２のＣｏｌｏｃａｔｅｄブロックに分けられることができ、第１のＣｏｌｏｃａｔｅｄブロックの可用性可否を判断した後、第１のＣｏｌｏｃａｔｅｄブロックが可用しない場合、第２のＣｏｌｏｃａｔｅｄブロックがＣｏｌｏｃａｔｅｄブロックとして選択されることができる。
【０１０１】
時間的候補予測ブロックが含まれるＣｏｌｏｃａｔｅｄピクチャは、所定の情報によって現在ピクチャの参照ピクチャリスト内の参照ピクチャのうち一つのピクチャになることができる。それだけでなく、時間的候補予測ブロックが含まれるＣｏｌｏｃａｔｅｄピクチャを算出する方法は、多様な方法が使われることができる。二つの参照ピクチャリストを使用する時間的候補予測ブロックは、所定のフラグ情報によって優先的に一つのリストに存在する動きベクトルのみを候補予測動きベクトルとして使用することができる。現在ピクチャと現在ピクチャの参照ピクチャとの間の距離と、時間的候補予測ブロックが含まれているピクチャと時間的候補予測ブロックの参照ピクチャとの間の距離が異なる場合、時間的候補予測ブロックから算出された候補予測動きベクトルにスケーリングを実行することができる。
【０１０２】
本発明の実施例によると、時間的候補予測ブロック(Ｃｏｌｏｃａｔｅｄブロック)に対してもスケーリングを実行しない。例えば、計算複雑度を減少させる具現が必要な場合、スケーリングを実行しない、又はフラグ情報を介してＣｏｌｏｃａｔｅｄブロックの動きベクトルに対して適応的にスケーリングを実行しないように設定する方法を介して時間的候補予測ブロックに対するスケーリングを実行しない。
【０１０３】
時間的候補予測ブロックから算出された候補予測動きベクトルが算出されることができる場合、時間的候補予測ブロック可用性情報を１に設定することができる。
【０１０４】
即ち、本発明の実施例では、第１の空間的候補予測グループ、第２の空間的候補予測グループ、時間的候補予測ブロックで可用な候補予測動きベクトルが存在するかどうかを判断する手順を並列的に実行することで、候補予測動きベクトルを算出するにあたって、第１の空間的候補予測グループ、第２の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出する時に発生する従属性を除去することができる。
【０１０５】
また、並列的に第１の空間的候補予測グループ、第２の空間的候補予測グループ、時間的候補予測ブロックで可用な候補予測動きベクトルが存在するかどうかを判断するにあたって、第１の空間的候補予測グループ、第２の空間的候補予測グループで可用な候補予測動きベクトルが存在するかどうかに対してのみを並列的に判断し、時間的候補予測ブロックで可用な候補予測動きベクトルが存在するかどうかを判断する手順は、従属的に実行すると同様に、第１の空間的候補予測グループ、第２の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出するにあたって、少なくとも二つのグループでのみ並列的に候補予測動きベクトルを算出するプロセスが実行されるようにすることも可能である。
【０１０６】
前記の過程を介して第１の空間的候補予測グループ、第２の空間的候補予測グループ又は時間的候補予測ブロックから算出されることができる動きベクトルが存在する場合、可用性情報フラグ(ａｖａｉｌａｂｌｅＦｌａｇＬＸＹ又はａｖａｉｌａｂｌｅＦｌａｇＣｏｌ)を利用して可用な候補予測動きベクトルが存在することを表示することができる。
【０１０７】
前述したように、候補予測動きベクトルを算出するにあたって、前述したように、第１の空間的候補予測グループに含まれているブロックの個数及び位置、第２の空間的候補予測グループに含まれているブロックの個数及び位置、時間的候補予測ブロックの個数及び位置は、任意であり、第１の空間的候補予測グループ及び第２の空間的候補予測グループに含まれるブロックの個数及び位置は変わることができ、このような実施例も本発明の権利範囲に含まれる。
【０１０８】
図７は、本発明の他の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【０１０９】
本発明の実施例によると、第１の空間的候補予測グループと第２の空間的候補予測グループから候補予測動きベクトルを誘導する時、他の候補予測ブロックから算出された動きベクトルにスケーリングが実行されたかどうかと関係なしに個別的にスケーリングを実行するようにすることで、並列的に候補予測動きベクトルを誘導するようにすることができる。
【０１１０】
第１の空間的候補予測グループ(左側第１のブロック、左側第２のブロック)から候補予測動きベクトルを誘導する。
【０１１１】
第１の空間的候補予測グループから候補予測動きベクトルを誘導するために、第１の空間的候補予測グループに非スケーリング動きベクトル(第１の動きベクトル又は第２の動きベクトル)が存在するかどうかを判断することができる(ステップＳ７００)。
【０１１２】
第１の空間的候補予測グループに非スケーリング動きベクトル(第１の動きベクトル又は第２の動きベクトル)が存在するかどうかを判断するためにステップＳ６００で詳述した方法を使用することができる。
【０１１３】
第１の空間的候補予測グループから候補予測動きベクトルを誘導するために第１の空間的候補予測グループにスケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)が存在するかどうかを判断することができる(ステップＳ７１０)。
【０１１４】
ステップＳ７００を介した判断結果、非スケーリング動きベクトルが存在しない場合、スケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)が存在するかどうかを判断し、スケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)を候補予測動きベクトルとして選択することができる。
【０１１５】
ステップＳ７１０ではステップＳ６１０のように多様な方法により第１の空間的候補予測グループで第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断することができ、ステップＳ７１０ではステップＳ６１０と違ってスケーリングを実行した後に算出された第３の動きベクトル及び第４の動きベクトルを候補予測動きベクトルとして使用することができる。
【０１１６】
第２の空間的候補予測グループ(上端第１のブロック、上端第２のブロック、上端第３のブロック)から候補予測動きベクトルを誘導する。
【０１１７】
第２の空間的候補予測グループから候補予測動きベクトルを誘導するために第２の空間的候補予測グループに非スケーリング動きベクトル(第１の動きベクトル又は第２の動きベクトル)が存在するかどうかを判断することができる(ステップＳ７２０)。
【０１１８】
第２の空間的候補予測グループに非スケーリング動きベクトル(第１の動きベクトル又は第２の動きベクトル)が存在するかどうかを判断するためにステップＳ６２０で詳述した方法を使用することができる。
【０１１９】
第２の空間的候補予測グループから候補予測動きベクトルを誘導するために第２の空間的候補予測グループにスケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)が存在するかどうかを判断することができる(ステップＳ７３０)。
【０１２０】
ステップＳ７２０を介した判断結果、非スケーリング動きベクトルが存在しない場合、スケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)を候補予測動きベクトルとして選択することができる。
【０１２１】
ステップＳ７３０ではステップＳ６３０のように多様な方法により第２の空間的候補予測グループで第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断することができ、ステップＳ７３０ではステップＳ６３０と違ってスケーリングを実行した後に算出された第３の動きベクトル及び第４の動きベクトルを候補予測動きベクトルとして使用することができる。
【０１２２】
第２の空間的候補予測グループから算出された第３の動きベクトル及び第４の動きベクトルに対してスケーリングを実行するかどうかは、第１の空間的候補予測グループから候補予測動きベクトルを算出するためにスケーリングを実行したかどうかと関係なしに独立的にスケーリングを実行することができる。
【０１２３】
時間的候補予測ブロック(Ｃｏｌｏｃａｔｅｄブロック)で候補予測動きベクトルが存在するかどうかを判断する(ステップＳ７４０)。
【０１２４】
時間的候補予測ブロックで候補予測動きベクトルが存在するかどうかを判断するステップＳ７４０は、前述した第１の空間的候補予測グループから候補予測動きベクトルを算出するステップＳ７００又はＳ７１０と第２の空間的候補予測グループから候補予測動きベクトルを算出するステップＳ７２０又はＳ７３０と並列的に実行されることができる。
【０１２５】
時間的候補予測ブロックは、前述したように、第１のＣｏｌｏｃａｔｅｄブロックと第２のＣｏｌｏｃａｔｅｄブロックのように複数の候補予測ブロックに分けられることができ、もし、時間的候補予測ブロックから一つの時間的候補予測動きベクトルが算出される場合、第１のＣｏｌｏｃａｔｅｄブロックの可用性可否を判断した後、第１のＣｏｌｏｃａｔｅｄブロックが可用しない場合、第２のＣｏｌｏｃａｔｅｄブロックがＣｏｌｏｃａｔｅｄブロックとして選択されることができる。
【０１２６】
本発明の実施例によると、時間的候補予測ブロックから算出された候補予測動きベクトルに対しても第１の空間的候補予測グループから算出された候補予測動きベクトル及び第２の空間的候補予測グループから算出された候補予測動きベクトルのスケーリング可否を判断せずに独立的にスケーリングを実行することができる。また、他の方法により時間的候補予測ブロック(Ｃｏｌｏｃａｔｅｄブロック)に対してスケーリングを実行しない。例えば、計算複雑度を減少させる具現が必要な場合、スケーリングを実行しない、又はフラグ情報を介してＣｏｌｏｃａｔｅｄブロックの動きベクトルに対して適応的にスケーリングを実行しないように設定する方法を介して時間的候補予測ブロックに対するスケーリングを実行しない。前記の過程を介して第１の空間的候補予測グループ、第２の空間的候補予測グループ又は時間的候補予測ブロックから算出されることができる動きベクトルが存在する場合、可用性情報フラグ(ａｖａｉｌａｂｌｅＦｌａｇＬＸＹ又はａｖａｉｌａｂｌｅＦｌａｇＣｏｌ)を利用して可用な候補予測動きベクトルが存在することを表示することができる。
【０１２７】
図６と同様に、前述したように、候補予測動きベクトルを算出するにあたって、前述したように、第１の空間的候補予測グループに含まれているブロックの個数及び位置、第２の空間的候補予測グループに含まれているブロックの個数及び位置、時間的候補予測ブロックの個数及び位置は、任意であり、第１の空間的候補予測グループ及び第２の空間的候補予測グループに含まれるブロックの個数及び位置は、変わることができ、このような実施例も本発明の権利範囲に含まれる。
【０１２８】
図７のように第１の空間的候補予測グループ及び第２の空間的候補予測グループの両方ともに対してスケーリングを実行することも可能であるが、本発明の実施例によると、第１の空間的候補予測グループ又は第２の空間的候補予測グループのうち少なくとも一つのグループでのみスケーリングを実行することもできる。
【０１２９】
例えば、第１の空間的候補予測グループに対してのみスケーリングを実行することができる。第１の空間的候補予測グループに対してのみスケーリングを実行する場合、図７と類似するが、図７のステップＳ７３０において、第２の空間的候補予測グループから候補予測動きベクトルを誘導するために第２の空間的候補予測グループにスケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)が存在するかどうかを判断した後、スケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)に対してスケーリングを実行せずにスケーリングを実行しない第３の動きベクトル又は第４の動きベクトルを候補予測動きベクトルとして使用することができる。
【０１３０】
同様の方法として、第２の空間的候補予測グループに対してのみスケーリングを実行することもできる。このような場合ステップＳ７１０において、第１の空間的候補予測グループから候補予測動きベクトルを誘導するために第１の空間的候補予測グループにスケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)が存在するかどうかを判断した後、スケーリング動きベクトル(第３の動きベクトル又は第４の動きベクトル)に対してスケーリングを実行せずにスケーリングを実行しない第３の動きベクトル又は第４の動きベクトルを候補予測動きベクトルとして使用することができる。
【０１３１】
他の方法として、スケーリング可否を示す所定のフラグ情報を利用して候補予測動きベクトルに対して１回のスケーリングのみを使用するようにすることができる。例えば、第１の空間的候補予測グループで一回のスケーリングが実行された場合、第２の空間的候補予測グループではスケーリングが実行されないようにし、第１の空間的候補予測グループでスケーリングが実行されない場合、第２の空間的候補予測グループでスケーリングを使用するようにフラグ情報を利用してスケーリング可否を表示することができる。
【０１３２】
図８は、本発明の実施例に係る追加候補予測動きベクトルを算出する過程を示すフローチャートである。
【０１３３】
図８では候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数に基づいて現在候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が最大でない場合、追加の候補予測動きベクトルを候補予測動きベクトルリストに追加する方法に対して開示する。追加の候補予測動きベクトルを候補予測動きベクトルリストに追加する方法を利用して動きベクトル予測時、符号化効率を向上させることができる。
【０１３４】
図８を参照すると、空間的候補予測グループ又は時間的候補予測ブロックから誘導された候補予測動きベクトルの個数が候補予測動きベクトルリストの大きさより小さいかどうかを判断する(ステップＳ８００)。
【０１３５】
誘導された候補予測動きベクトルの数と候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が同じ場合、前記誘導された候補予測動きベクトルのみを候補予測動きベクトルリストに含ませて予測対象ブロックの候補予測動きベクトルとして使用することができる。以下、本発明の実施例では誘導された候補予測動きベクトルの数は、空間的候補予測グループ及び時間的候補予測ブロックから誘導された候補予測動きベクトルで重なる候補予測動きベクトルを除去し、残った候補予測動きベクトルの数を意味する。
【０１３６】
誘導された候補予測動きベクトルが候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数より小さい場合、追加の候補予測動きベクトルを算出する(ステップＳ８１０)。
【０１３７】
追加の候補予測動きベクトルを算出する方法として、スケーリングを実行する方法、オフセットを使用する方法、統計的結果を使用する方法など、多様な候補予測動きベクトル算出方法が使われることができる。以下、本発明の実施例で追加候補予測動きベクトルを算出する方法を詳細に開示する。
【０１３８】
算出された追加の候補予測動きベクトルが候補予測動きベクトルリストに含まれている動きベクトルと重なるかどうかを判断する(ステップＳ８２０)。
【０１３９】
算出された追加の候補予測動きベクトルが候補予測動きベクトルリストに含まれている動きベクトルと重なる場合、新たな追加候補予測動きベクトルを誘導する(ステップＳ８１０)。
【０１４０】
算出された追加の候補予測動きベクトルが候補予測動きベクトルリストに含まれている動きベクトルと重複しない場合、算出された追加候補予測動きベクトルを候補予測動きベクトルリストに含ませる(ステップＳ８３０)。
【０１４１】
図９は、本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法を示す順序図である。
【０１４２】
図９は、ステップＳ８１０で詳述した追加候補予測動きベクトルを誘導する方法のうちスケーリングを利用した方法を示す。
【０１４３】
図９を参照すると、空間的候補予測ブロック９００を、２個の動きベクトル(参照ピクチャリストＬ０に含まれているｎ−１ピクチャを参照する動きベクトル９２０及び参照ピクチャリストＬ１に含まれているｎ＋１ピクチャを参照する動きベクトル９４０)に基づいて画面間予測を実行する予測ブロックと仮定することができる。
【０１４４】
予測対象ブロックの候補予測動きベクトルを算出するにあたって、上端予測ブロックの動きベクトルのうち参照ピクチャリストＬ０のｎ−１ピクチャを参照する動きベクトル９２０は、重複性除去のために候補予測動きベクトルリストから除去され、残りの参照ピクチャリストＬ１のｎ＋１ピクチャを参照する動きベクトル９４０のみが候補予測動きベクトルとして使われると仮定する場合、まだ追加候補予測動きベクトルとして使用しない参照ピクチャリストＬ１を参照する動きベクトル９４０をスケーリングして誘導された動きベクトルを追加候補予測動きベクトルとして使用することができる。
【０１４５】
即ち、参照ピクチャリストＬ１方向のｎ＋１ピクチャを参照する動きベクトルを、現在予測ブロックのＬ０リストに含まれている参照ピクチャｎ−１と参照ピクチャリストＬ１方向のｎ＋１ピクチャとの間の距離を基準にスケーリングを実行して算出された動きベクトルを追加候補予測動きベクトルとして候補予測動きベクトルリストに含ませることができる。このような動きベクトルを反対方向スケーリング候補予測動きベクトルと定義することができる。
【０１４６】
即ち、本発明の実施例によると、ｒｅｆ_ｌｉｓｔ[Ｘ]、Ｘ＝０又は１を参照する予測ブロックから候補予測動きベクトルが誘導された場合、ｒｅｆ_ｌｉｓｔ[１−Ｘ]を参照する動きベクトルを、予測ブロックの参照ピクチャを基準にスケーリングして追加候補予測動きベクトルとして誘導して使用することができる。
【０１４７】
本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法としてオフセットに基づいた方法が使われることができる。
【０１４８】
例えば、候補予測動きベクトルリスト内の候補予測動きベクトルのうち一つの候補予測動きベクトルが{ｍｖｐ_ｘ,ｍｖｐ_ｙ}の場合、動きベクトルのＸ成分とＹ成分にそれぞれのオフセットα、βを加えて追加候補予測動きベクトル{ｍｖｐ_ｘ＋α,ｍｖｐ_ｙ＋β}を誘導することができる。
【０１４９】
このとき、オフセット値は、ピクチャ単位、スライス単位、ＬＣＵ(ｌａｒｇｅｓｔ ｃｏｄｉｎｇ ｕｎｉｔ)単位、ＣＵ単位、ＰＵ単位に送信されることができる。
【０１５０】
オフセット値は、符号化/復号化された動きベクトル差分(ＭＶＤ：ｍｏｔｉｏｎ ｖｅｃｔｏｒ ｄｉｆｆｅｒｅｎｃｅ)値に基づいて算出されることができる。特定の映像単位を基準に最も多く発生したＭＶＤ値に高い優先順位を割り当ててオフセット値として使用することができる。多発したＭＶＤ値の順に優先順位を有するリストを算出することができ、追加候補予測動きベクトルの個数が複数個の場合、リスト内で優先順位順序に候補予測動きベクトルリスト内の候補予測動きベクトルにオフセットを加えて新たな候補予測動きベクトルを誘導することができる。
【０１５１】
本発明の他の実施例に係る追加候補予測動きベクトルを算出する方法として統計的な方法を使用することができる。
【０１５２】
例えば、所定のスライスに含まれている予測ブロックの動きベクトルを発生頻度順序に整列し、整列された動きベクトル値のうち少なくとも一つのベクトル値を予測対象ブロックの候補予測動きベクトルとして使用することができる。このとき、複雑度を減少させるために所定の限界値を設定して発生可否及び頻度数をチェックする動きベクトル値を一定の数に制限することができる。
【０１５３】
追加候補予測動きベクトルを算出するにあたって、統計的な方法を使用する他の実施例として既に符号化及び復号化されたスライスで最も発生頻度数が多い候補予測動きベクトル値を追加候補予測動きベクトルとして使用することができる。
【０１５４】
このとき、符号化/復号化対象ピクチャ又はスライスで符号化/復号化されたピクチャ又はスライスの動きベクトルを参照することは、ビットストリームでエラーが発生する場合、正常に参照することができないため、発生頻度数が高い動きベクトルのうち少なくとも一つ以上をビットストリーム内の上位レベルシンタックス要素(ｐｉｃｔｕｒｅ ｐａｒａｍｅｔｅｒ ｓｅｔ、ａｄａｐｔｉｖｅ ｐａｒａｍｅｔｅｒ ｓｅｔ、ｓｌｉｃｅ ｈｅａｄｅｒ等)で符号化/復号化することができる。
【０１５５】
図１０は、本発明の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【０１５６】
以下、予測動きベクトルは、候補予測動きベクトルのうち最適の動きベクトルとして選択された動きベクトルを定義する用語で使用することができる。
【０１５７】
図１０を参照すると、予測対象ブロックの予測動きベクトルが零ベクトルかどうかを判断し、シンタックス要素情報を介して入力を受けることができる。シンタックス要素情報を介して予測動きベクトルが零ベクトルという情報が送信された場合、予測対象ブロックの予測動きベクトルとして使用する候補予測動きベクトルに対して判断するための候補予測動きベクトルリスト情報及びインデックス情報を追加的に符号化及び復号化しないことによって符号化及び復号化過程の複雑度を減少させることができる。このとき、零ベクトルは、ベクトルのｘ成分とｙ成分の値の両方ともが０で構成された(０,０)ベクトルを意味する。
【０１５８】
予測動きベクトルが零ベクトルかどうかを判断する(ステップＳ１０００)。
【０１５９】
所定のシンタックス要素情報を算出するために予測対象ブロックに使われる予測動きベクトルが零ベクトルかどうかを判断する。
【０１６０】
予測動きベクトルが零ベクトルの場合、シンタックス要素である零ベクトル決定フラグ(ｚｅｒｏ_ｍｖｐ_ｆｌａｇ)を１に設定し(ステップＳ１０１０)、予測動きベクトルが零ベクトルでない場合、シンタックス要素である零ベクトル決定フラグを０に設定する(ステップＳ１０２０)。
【０１６１】
シンタックス要素である零ベクトル決定フラグ(ｚｅｒｏ_ｍｖｐ_ｆｌａｇ)は、現在予測ブロックで使われる予測動きベクトルが零ベクトルということを表示するフラグの例示である。予測対象ブロックで使われる予測動きベクトルが零ベクトルという情報は、フラグ情報でない他の形態のシンタックス要素情報で表現されることができる。
【０１６２】
予測動きベクトルが零ベクトルでない場合、予測動きベクトルのインデックス情報を符号化する(ステップＳ１０３０)。
【０１６３】
予測動きベクトルが零ベクトルでない場合、図３乃至図８で詳述した方法のように候補予測動きベクトルを算出する方法を使用して算出した候補予測動きベクトルリストに基づいて候補予測動きベクトルのうち、予測動きベクトルとして使われたベクトルに対するインデックス情報を符号化することができる。
【０１６４】
図１１は、本発明の他の実施例に係る予測動きベクトルを算出する方法を示すフローチャートである。
【０１６５】
図１１では図１０で詳述した予測動きベクトルの符号化方法に基づいた復号化方法に対して開示する。
【０１６６】
図１１を参照すると、零ベクトル決定フラグ情報を復号化してフラグ値が１かどうかを判断する(ステップＳ１１００)。
【０１６７】
前述したように、予測対象ブロックで使われる予測動きベクトルが零ベクトルという情報は、フラグ情報でない他の情報と結合されたシンタックス要素情報又は他の形態のシンタックス要素情報で表現されることができる。また、フラグ値が１かどうかを判断することは、任意であり、フラグの定義によってフラグ値が０かどうかを判断することも可能である。
【０１６８】
零ベクトル決定フラグ情報が１の場合、予測対象ブロックの予測動きベクトルを零ベクトルに決定する(ステップＳ１１１０)。
【０１６９】
零ベクトル決定フラグ情報が０の場合、予測対象ブロックの予測動きベクトルを算出するためにインデックス情報を復号化する(ステップＳ１１２０)。
【０１７０】
零ベクトル決定フラグ値が０と１であることは、予測対象ブロックの予測動きベクトルを零ベクトルかどうかを示すために任意に設定された値である。
【０１７１】
零ベクトル決定フラグ情報が０の場合、予測対象ブロックの予測動きベクトルを算出するために予測動きベクトルのインデックス情報を復号化することができる。
【０１７２】
復号化されたインデックス情報に基づいて現在予測ブロックの予測動きベクトルを決定する。
【０１７３】
表１は、零ベクトル決定フラグが含まれているシンタックス構造を示す。
【０１７４】
【表１】
0006046142.tif 000002
【０１７５】
表１を参照すると、零ベクトル決定フラグが１かどうかによって候補予測動きベクトルのインデックス情報を復号化する過程を実行することで、復号化過程で不必要に候補予測動きベクトルと候補予測動きベクトルリストを算出する過程が選択的に実行されない。
【０１７６】
図１２は、本発明の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【０１７７】
図１２を参照すると、候補予測動きベクトルリストを算出する(ステップＳ１２００)。
【０１７８】
例えば、候補予測動きベクトルリストを算出するためには、前述した方法のように、第１の空間的候補予測グループ、第２の空間的候補予測グループ、時間的候補予測ブロックから候補予測動きベクトルを算出し、各々一つの候補予測動きベクトルが算出されると仮定すると、算出された候補予測動きベクトルは、候補予測動きベクトルリストに含まれて予測対象ブロックの予測動きベクトルを算出するために使われることができる。もし、候補予測動きベクトルリストに一定の個数の候補予測動きベクトルのみを含む場合、候補予測動きベクトルリストに一定の個数の候補予測動きベクトルが存在しないと、追加の候補予測動きベクトル(例えば、零ベクトル、スケーリングベクトル等)を候補予測動きベクトルリストに含ませることができる。第１の空間的候補予測グループ、第２の空間的候補予測グループ、時間的候補予測ブロックから算出された候補予測動きベクトルが候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数より大きい数が存在する場合、算出された候補予測動きベクトルのうち一部を除去して使用することもできる。
【０１７９】
予測ブロックの予測動きベクトルを候補予測動きベクトルリストから誘導する(ステップＳ１２１０)。
【０１８０】
本発明の実施例に係る予測動きベクトル算出方法では、候補予測動きベクトルに対するインデックス情報を使用せずに候補予測動きベクトルリスト自体で予測動きベクトルを決定することができる。符号化器で候補予測動きベクトルに対するインデックス情報を復号化器に送信する必要がないため、インデックス情報の符号化に必要なビットを節約することができて符号化効率が向上することができる。
【０１８１】
例えば、候補予測動きベクトルリスト自体で予測動きベクトルを決定するために候補予測動きベクトルリスト大きさによって各々異なる方法を使用することができる。候補予測動きベクトルリストの大きさは、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの最大個数を意味する。
【０１８２】
候補予測動きベクトルリスト大きさが０の場合、零ベクトルを予測ブロックの予測動きベクトルとして使用し、予測動きベクトルを決定するためのインデックス情報は、追加に復号化しない。
【０１８３】
候補予測動きベクトルリストの大きさが１の場合、候補予測動きベクトルリストに存在する候補予測動きベクトルが１個であるため、リストに存在する候補予測動きベクトルを予測ブロックの予測動きベクトルとして使用することができる。候補予測動きベクトルリスト大きさが０の場合と同様に、予測動きベクトルを決定するためのインデックス情報は、追加に復号化しない。
【０１８４】
候補予測動きベクトルリストの大きさが２の場合、候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち符号化/復号化対象スライス内で発生頻度数がより多い候補予測動きベクトルを、予測対象ブロックを復号化するための予測動きベクトルとして誘導することができる。複数の候補予測動きベクトルを誘導する場合、発生頻度順序に候補予測動きベクトルを整列した後、高い発生頻度の候補予測動きベクトルを予測ブロックの予測動きベクトルとして誘導することができる。このとき、候補予測動きベクトル発生頻度数計算の複雑度を減少するために、Ｎ個の候補予測動きベクトルに対してのみ発生頻度数を計算することができる(Ｎは、自然数)。
【０１８５】
候補予測動きベクトルリストの大きさが２の場合、予測動きベクトルを算出する他の実施例として以下の数式１と数式２を利用して各候補予測動きベクトルのｘ方向及びｙ方向の絶対値大きさの和を比較し、絶対値の和が小さい候補予測動きベクトルを予測ブロックの予測動きベクトルとして使用することができる。
【０１８６】
【数１】
0006046142.tif 000003
【０１８７】
【数２】
0006046142.tif 000004
【０１８８】
候補予測動きベクトルリストの大きさが２の場合、予測動きベクトルを算出する他の実施例として以下の数式３を使用することができる。
【０１８９】
【数３】
0006046142.tif 000005
【０１９０】
数式３を参照すると、予測動きベクトルの各成分を抽出するために、予測動きベクトルのｘ方向成分を二つの候補予測動きベクトルのｘ方向成分の平均値として使用し、予測動きベクトルのｙ方向成分を二つの候補予測動きベクトルのｙ方向成分の平均値として使用することができる。
【０１９１】
候補予測動きベクトルリストの大きさが２の場合、予測動きベクトルを算出する他の実施例として以下の数式４を使用することができる。
【０１９２】
【数４】
0006046142.tif 000006
【０１９３】
数式４を参照すると、予測動きベクトルの各成分を抽出するために、予測動きベクトルのｘ方向成分を二つの候補予測動きベクトルのｘ方向成分と零ベクトルの中間値(Ｍｅｄｉａｎ Ｖａｌｕｅ)として使用し、予測動きベクトルのｙ方向成分を二つの候補予測動きベクトルのｙ方向成分と零ベクトルの中間値として使用することができる。
【０１９４】
候補予測動きベクトルリストの大きさが２の場合、予測動きベクトルを算出する他の実施例として以下の数式５を使用することができる。
【０１９５】
【数５】
0006046142.tif 000007
【０１９６】
数式５を参照すると、動きベクトルの各成分を抽出するために、予測動きベクトルのｘ方向成分を二つの候補予測動きベクトルのｘ方向成分と零ベクトルの平均値として使用し、予測動きベクトルのｙ方向成分を二つの候補予測動きベクトルのｙ方向成分と零ベクトルの平均値として使用することができる。
【０１９７】
候補予測動きベクトルリストの大きさが２の場合、予測動きベクトルを算出する他の実施例では、前述した統計的方法で使用する発生頻度数を計算するにあたって、使われるＮ個の動きベクトルと頻度数計算の対象となる候補予測動きベクトルリスト内の２個の候補予測動きベクトルが異なる場合、インデックス情報に基づいて発生頻度が高いインデックス情報を予測ブロックの予測動きベクトルとして使用することができる。例えば、以前の候補予測動きベクトルリストでインデックス(Ｉｎｄｅｘ)０に存在する候補予測動きベクトルが予測動きベクトルとして使われた場合、インデックス０値に存在する候補予測動きベクトルを予測動きベクトルとして使用することができる。
【０１９８】
候補予測動きベクトルリストの大きさが３の場合、候補予測動きベクトルリストに存在する候補予測動きベクトルが３個であるため、このうち一つの候補予測動きベクトルを予測動きベクトルに決定することができる。
【０１９９】
以下の数式６は、予測動きベクトルを決定する方法を示す。
【０２００】
【数６】
0006046142.tif 000008
【０２０１】
数式６を参照すると、予測動きベクトルを算出するために、３個の候補予測動きベクトルのｘ方向成分のうち中間値に該当する候補予測動きベクトルと３個の候補予測動きベクトルのｙ方向成分のうち中間値に該当する候補予測動きベクトルに基づいて予測対象ブロックの予測動きベクトルを算出することができる。
【０２０２】
候補予測動きベクトルリストの大きさが３の場合、予測動きベクトルを算出する他の実施例として以下の数式７を使用することができる。
【０２０３】
【数７】
0006046142.tif 000009
【０２０４】
数式７を参照すると、予測動きベクトルを算出するために、３個の候補予測動きベクトルのｘ方向成分の平均値に該当する候補予測動きベクトルと３個の候補予測動きベクトルのｙ方向成分の平均値に該当する候補予測動きベクトルに基づいて予測対象ブロックの予測動きベクトルを算出することができる。
【０２０５】
候補予測動きベクトルリストに候補予測動きベクトルが３個存在する場合も、候補予測動きリストから一つの予測動きベクトルを算出するにあたって、インデックス情報を使用しない。
【０２０６】
図１３は、本発明の他の実施例に係る予測動きベクトル算出方法を示すフローチャートである。
【０２０７】
候補予測動きベクトルリストに含まれることができる最大候補予測動きベクトルの個数がＮ個であり、ます、空間的候補予測グループから空間的候補予測動きベクトルが誘導され、その後、時間的候補予測ブロックから時間的候補予測動きベクトルが誘導される場合を仮定することができる。本発明の実施例によると、空間的候補予測グループから誘導された候補予測動きベクトルの個数がＮ個であり、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの大きさと同じ場合、時間的候補予測グループから候補予測動きベクトルが誘導されるステップ及び追加的に候補予測動きベクトルを誘導するステップを実行しない。
【０２０８】
即ち、本発明の実施例によると、候補予測動きベクトルリストに必要な動きベクトルが既に算出された場合、不必要な候補予測動きベクトル誘導ステップを実行しないことで、符号化及び復号化ステップで複雑度を減少させることができる。
【０２０９】
図１３を参照すると、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数が算出された空間的候補予測動きベクトルの個数より大きいかどうかを確認する(ステップＳ１３００)。
【０２１０】
候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数は制限されることができる。例えば、Ｎ個の予測動きベクトルが候補予測動きベクトルリストに含まれることができると仮定すると、空間的候補予測グループから算出された空間的候補予測動きベクトルがＮ個より小さい場合、時間的候補予測ブロックから時間的予測動きベクトルを算出し、又は追加予測動きベクトルを算出することができる。一方、Ｎ個の予測動きベクトルが候補予測動きベクトルリストに含まれることができると仮定すると、空間的候補予測グループから算出された空間的候補予測動きベクトルがＮ個より大きい又は同じ場合、時間的候補予測ブロックから時間的予測動きベクトルを算出し、又は追加予測動きベクトルを算出しなくても候補予測動きベクトルリストを算出することができる(ステップＳ１３２０)。
【０２１１】
空間的候補予測グループから算出された空間的候補予測動きベクトルがＮ個より小さい場合、時間的候補予測動きベクトル又は追加予測動きベクトルを算出する(ステップＳ１３１０)。このとき、追加予測動きベクトルは、零ベクトルである。
【０２１２】
候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数が算出された空間的候補予測動きベクトルの個数より大きいかどうかを確認するステップを介して候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの個数が算出された空間的候補予測動きベクトルの個数より大きい場合、時間的予測動きベクトル又は追加予測動きベクトルを算出するステップＳ１３１０を介して算出された候補予測動きベクトルを候補予測動きベクトルリストに含ませることができる。
【０２１３】
算出された空間的候補予測動きベクトル、時間的候補予測動きベクトル又は追加予測動きベクトルを利用して候補予測動きベクトルリストを算出する(ステップＳ１３２０)。
【０２１４】
図１４は、本発明の実施例に係る候補予測動きベクトルを算出する方法を示すフローチャートである。
【０２１５】
図１４を参照すると、空間的候補予測動きベクトルを算出する(ステップＳ１４００)。
【０２１６】
予測対象ブロックの空間的な周辺に位置した符号化/復号化されたブロック(又は周辺予測ブロック)から複数個の空間的候補予測動きベクトル関連情報を誘導することができる。空間的候補予測動きベクトル関連情報は、空間的候補予測動きベクトル可用性情報(ａｖａｉｌａｂｌｅＦｌａｇＬＸＮ)及び空間的候補予測動きベクトル(ｍｖＬＸＮ)のうち少なくとも一つを含む情報を示すことができる。即ち、空間的候補予測動きベクトル可用性情報及び空間的候補予測動きベクトルの両方ともを含む情報の単位を空間的候補予測動きベクトル関連情報といい、又は空間的候補予測動きベクトル又は空間的候補予測動きベクトル可用性情報のうち一つを空間的候補予測動きベクトル関連情報ということができる。
【０２１７】
例えば、図３のように予測対象ブロックＸの上端に隣接したブロックであるＢ１、予測対象ブロックの左側に隣接したブロックであるＡ１、予測対象ブロックの右側上端コーナに位置したブロックであるＢ０、予測対象ブロックの左側上端コーナに位置したブロックであるＢ２、予測対象ブロックの左側下端コーナに位置したブロックであるＡ０に該当するブロックから空間的候補予測動きベクトルを誘導し、予測対象ブロックに対する空間的候補予測動きベクトルとして決定することができる。ブロックＡ０、Ａ１、Ｂ０、Ｂ１及びＢ２ブロック(以下、空間的候補予測ブロックという)で符号化/復号化対象ブロックに対する空間的候補予測動きベクトルは、最大２個が算出されることができる。以下、Ａ０、Ａ１、Ｂ０、Ｂ１及びＢ２ブロックを空間的候補予測ブロックといい、Ａ０、Ａ１ブロックを第１の空間的候補予測ブロックグループ、Ｂ０、Ｂ１及びＢ２ブロックを第２の空間的候補予測グループに分類することができる。
【０２１８】
このような空間的候補予測グループは、一つの例示に過ぎず、他の位置のブロックで空間的候補予測グループを生成することができ、このような実施例も本発明の権利範囲に含まれる。以下、本発明の実施例では、説明の便宜上、前述した位置に存在するブロックで構成された空間的候補予測ブロックグループを仮定して説明する。
【０２１９】
このとき、空間的候補予測ブロックから空間的候補予測動きベクトルが誘導された場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＹを１に設定し、そうでない場合、０に設定する。そして、ａｖａｉｌａｂｌｅＦｌａｇＬＸＹにおけるＬＸは、参照映像リストＬ０とＬ１のうち、予測対象ブロックが参照する参照映像リストに対して示し、ＬＸは、Ｌ０又はＬ１に代替されることができる。また、ａｖａｉｌａｂｌｅＦｌａｇＬＸＹにおけるＹは、空間的候補予測動きベクトルが誘導された位置を示し、図２のように、Ａ０又はＡ１位置のブロックから空間的候補予測動きベクトルが誘導された場合、ＹはＡとなり、Ｂ０、Ｂ１、又はＢ２位置のブロックから空間的候補予測動きベクトルが誘導された場合、ＹはＢとなることができる。このとき、参照映像リスト(Ｒｅｆｅｒｅｎｃｅ Ｐｉｃｔｕｒｅ Ｌｉｓｔ)は、画面間予測又は動き補償に使われる参照映像が含まれているリストを意味する。参照映像リストの種類は、ＬＣ(Ｌｉｓｔ Ｃｏｍｂｉｎｅｄ)、Ｌ０(Ｌｉｓｔ０)、Ｌ１(Ｌｉｓｔ１)などがある。そして、参照映像(Ｒｅｆｅｒｅｎｃｅ Ｐｉｃｔｕｒｅ)は、画面間予測又は動き補償のために特定ブロックが参照する映像を意味する。
【０２２０】
例えば、Ａ０又はＡ１位置のブロックから一つの空間的候補予測動きベクトルが誘導することができ、Ｂ０、Ｂ１、又はＢ２位置のブロックから一つの空間的候補予測動きベクトルが誘導することができる。このとき、予測対象ブロックが参照映像リストＬ０を参照し、Ａ０位置のブロックから一つの空間的候補予測動きベクトルが誘導され、Ｂ１位置のブロックから一つの空間的候補予測動きベクトルが誘導された場合、ａｖａｉｌａｂｌｅＦｌａｇＬ０Ａは１に設定し、ａｖａｉｌａｂｌｅＦｌａｇＬ０Ｂも１に設定する。即ち、ａｖａｉｌａｂｌｅＦｌａｇＬＸＹは、予測対象ブロックが参照映像リストＬＸを参照する場合、所定の位置のブロックから誘導された空間的候補予測動きベクトルが存在するかを示す。
【０２２１】
また、前述した図４を参照すると、誘導されることができる空間的候補予測動きベクトルは、下記のように４個の動きベクトルに分類することができる。
【０２２２】
(１)第１の動きベクトル：所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リスト及び参照映像と符号化/復号化対象ブロックの参照映像リスト及び参照映像とが同じ場合、該当ブロックから誘導される候補予測動きベクトル。
【０２２３】
(２)第２の動きベクトル：所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リストと符号化/復号化対象ブロックの参照映像リストが異なるが、該当ブロックと符号化/復号化対象ブロックが互いに同じ参照映像を参照する場合、該当ブロックから誘導される候補予測動きベクトル。
【０２２４】
(３)第３の動きベクトル：所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リストと符号化/復号化対象ブロックの参照映像リストが同じであるが、該当ブロックの参照映像と符号化/復号化対象ブロックの参照映像が異なる場合、該当ブロックの動きベクトルにスケーリングを実行して算出された候補予測動きベクトル。
【０２２５】
(４)第４の動きベクトル：所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照映像リスト及び参照映像と、符号化/復号化対象ブロックの参照映像リスト及び参照映像とが異なる場合、該当ブロックの動きベクトルにスケーリングを実行して算出された候補予測動きベクトル。
【０２２６】
前記のように分類された４個の空間的候補予測動きベクトルが空間的候補予測ブロックに存在するかどうかを下記の順序によって探索することができる。
【０２２７】
(１)第１の空間的候補予測ブロックグループ
【０２２８】
１)Ａ０ブロックに第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断。
【０２２９】
２)Ａ１ブロックに第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断。
【０２３０】
３)Ａ０ブロックに第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断。
【０２３１】
４)Ａ１ブロックに第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断。
【０２３２】
前記の１)〜４)を順次に実行して該当ブロックに条件を満たす空間的候補予測動きベクトルが存在するかどうかを判断することができ、条件を満たす空間的候補予測動きベクトルが存在する場合、該当存在する動きベクトルを誘導し、次の手順は実行されない。例えば、１)を満たす空間的候補予測動きベクトルが存在する場合、２)乃至４)手順は実行されない。
【０２３３】
３)及び４)を介して条件を満たす空間的候補予測動きベクトルが第３の動きベクトル又は第４の動きベクトルの場合、スケーリングを介して空間的候補予測動きベクトルを算出することができ、このような場合、スケーリング実行可否を表示するフラグ情報を使用してスケーリングが使われたことを示すことができる。または、ブロックＡ０が可用であり、ブロックＡ０が画面内予測モードを使用しない場合、又はブロックＡ１が可用であり、ブロックＡ１が画面内予測モードを使用しない場合は、スケーリング可否表示フラグを１に設定し、Ａ０ブロック及びＡ１ブロックが可用しない、又は画面内予測を使用する場合のように第１の空間的候補予測ブロックグループから空間的候補予測動きベクトルを算出することができない場合、スケーリング可否表示フラグを０に設定し、第２の空間的候補予測ブロックグループから２個の空間的候補予測動きベクトルを算出することも可能である。以下、本発明の実施例では、説明の便宜上、第１の空間的候補予測グループから第１の空間的候補予測動きベクトルが算出され、第２の空間的候補予測グループから第２の空間的候補予測動きベクトルが算出される場合を仮定して説明する。
【０２３４】
以下、第２の空間的候補予測ブロックグループから空間的候補予測動きベクトルを算出する順序を示す。
【０２３５】
(２)第２の空間的候補予測ブロックグループ
【０２３６】
１)Ｂ０ブロックに第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断。
【０２３７】
２)Ｂ１ブロックに第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断。
【０２３８】
３)Ｂ２ブロックに第１の動きベクトル又は第２の動きベクトルが存在するかどうかを判断。
【０２３９】
４)Ｂ０ブロックに第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断。
【０２４０】
５)Ｂ１ブロックに第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断。
【０２４１】
６)Ｂ２ブロックに第３の動きベクトル又は第４の動きベクトルが存在するかどうかを判断。
【０２４２】
第１の空間的候補予測動きベクトルを算出する時と同様に、前記の１)から６)を順次に実行して該当ブロックに条件を満たす空間的候補予測動きベクトルが存在するかどうかを判断することができ、条件を満たす空間的候補予測動きベクトルが存在する場合、該当存在する動きベクトルを誘導し、次の手順は実行されない。
【０２４３】
また、空間的候補予測動きベクトルは、最大Ｎ個まで誘導することができる。このとき、Ｎは正の定数であり、一例として、Ｎは２である。
【０２４４】
誘導された２個の空間的候補予測動きベクトルが互いに異なるかどうかを判断する(ステップＳ１４１０)。
【０２４５】
本発明の実施例によると、空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報(例えば、時間的候補予測動きベクトル可用性情報及び時間的候補予測動きベクトルのうち少なくとも一つ)を決定することができる。即ち、ステップＳ１４００において、誘導された空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトルを誘導すするかどうかを決定することができる。
【０２４６】
誘導された２個の空間的候補予測動きベクトルが互いに異なるかどうかを判断するために２個の空間的候補予測動きベクトルを誘導することができるかどうかを判断し、２個の空間的候補予測動きベクトルが誘導された場合、誘導された空間的候補予測動きベクトルが互いに異なるかどうかを判断するためにａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方ともが１であり、ｍｖＬＸＡとｍｖＬＸＢが異なるかどうかを判断する。ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは、第１の空間的候補予測グループから第１の空間的候補予測動きベクトルが算出可能かどうかを示すフラグであり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは、第２の空間的候補予測グループから第２の空間的候補予測動きベクトルが算出可能かどうかを示すフラグである。例えば、第１の空間的候補予測グループから第１の空間的候補予測動きベクトルが算出可能な場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは、１に設定されることができる。ｍｖＬＸＡは、第１の空間的候補予測動きベクトルとしてａｖａｉｌａｂｌｅＦｌａｇＬＸＡが可用な場合に算出されることができ、ｍｖＬＸＢは、第２の空間的候補予測動きベクトルとしてａｖａｉｌａｂｌｅＦｌａｇＬＸＢが可用な場合に算出されることができる。
【０２４７】
以下、本発明の実施例ではａｖａｉｌａｂｌｅＦｌａｇＬＸＡを第１の空間的候補予測動きベクトル可用性情報と定義し、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢを第２の空間的候補予測動きベクトル可用性情報と定義して使用することができる。また、ｍｖＬＸＡは第１の空間的候補予測動きベクトルと定義し、ｍｖＬＸＢは第２の空間的候補予測動きベクトルと定義することができる。
【０２４８】
ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方ともが１であり、ｍｖＬＸＡとｍｖＬＸＢが異なり、候補予測動きベクトルリストに含まれることができる最大の候補予測動きベクトルリストが２個と仮定すると、空間的候補予測動きベクトルで候補予測動きベクトルリストを構成することができるため、追加的な候補予測動きベクトルの誘導が必要でなくて、Ｃｏｌｏｃａｔｅｄブロック(時間的候補予測ブロック)から誘導される候補予測動きベクトルである時間的候補予測動きベクトルを誘導する必要がない。したがって、時間的候補予測動きベクトルが可用するかどうかを表示するフラグ情報であるａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを０に設定し、以下説明するステップＳ１４３０のように誘導された空間的候補予測動きベクトルのみで候補予測動きベクトルリストを算出する。即ち、前記時間的候補予測動きベクトルを誘導しないため、候補予測動きベクトル誘導過程の複雑度を減少させることができる。
【０２４９】
即ち、空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定することができる。
【０２５０】
ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方ともが１の場合、選択的にｍｖＬＸＡとｍｖＬＸＢが異なるどうかを判断することも可能である。例えば、二つの判断条件を使用して１)ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方ともが１かどうかを判断するステップと、２)ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方ともが１の場合、ｍｖＬＸＡとｍｖＬＸＢが異なるかどうかを判断するステップと、を実行することができる。
【０２５１】
空間的候補予測動きベクトルが２個誘導されない、又は誘導された２個の空間的候補予測動きベクトルが互いに同じ場合、Ｃｏｌｏｃａｔｅｄブロックから時間的候補予測動きベクトルを算出する(ステップＳ１４２０)。
【０２５２】
即ち、ステップＳ１４２０では空間的候補予測動きベクトル関連情報に基づいて時間的候補予測動きベクトル関連情報を決定することができる。
【０２５３】
ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方ともが１でない、又はｍｖＬＸＡとｍｖＬＸＢが同じ場合、Ｃｏｌｏｃａｔｅｄブロックから時間的候補予測動きベクトルを算出する。
【０２５４】
候補予測動きベクトルリストに２個の候補予測動きベクトルが含まれなければならないと仮定すると、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡとａｖａｉｌａｂｌｅＦｌａｇＬＸＢの両方ともが１でない、又はｍｖＬＸＡとｍｖＬＸＢが同じ場合、候補予測動きベクトルリストに２個の候補予測動きベクトルが含まれないため、Ｃｏｌｏｃａｔｅｄブロックから時間的候補予測動きベクトルを算出しなければならない。
【０２５５】
以下の表２及び表３は、空間的候補予測動きベクトルが誘導された結果によって時間的候補予測動きベクトルの誘導過程実行可否を示す。
【０２５６】
【表２】
0006046142.tif 000010
【０２５７】
【表３】
0006046142.tif 000011
【０２５８】
表２及び表３を参照すると、空間的候補予測動きベクトルを算出した場合、空間的候補予測動きベクトルが可用するかどうかを示すａｖａｉｌａｂｌｅＦｌａｇＬＸＹと誘導された空間的候補予測動きベクトルの同一性可否によって、時間的候補予測動きベクトル誘導過程は四つに分けられることができる。以下、空間的候補予測動きベクトルのａｖａｉｌａｂｌｅＦｌａｇＬＸＹによる四つに対して時間的候補予測動きベクトル誘導に対して説明する。
【０２５９】
(１)１個の空間的候補予測動きベクトルが誘導される場合であり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは１であり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは０の場合、又はａｖａｉｌａｂｌｅＦｌａｇＬＸＡは０でありａｖａｉｌａｂｌｅＦｌａｇＬＸＢは１の場合である。１の場合は一つの空間的候補予測動きベクトルのみ誘導されるため、空間的候補予測動きベクトルの同一性を判断することができない。候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が２個の場合、追加の候補予測動きベクトルを算出するために時間的候補予測動きベクトルを誘導するステップを実行する。そして、時間的候補予測動きベクトルが誘導されると、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを１に設定し、そうでない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを０に設定する。
【０２６０】
(２)２個の空間的候補予測動きベクトルが誘導される場合であり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡ及びａｖａｉｌａｂｌｅＦｌａｇＬＸＢが１の場合である。誘導された空間的候補予測動きベクトルが同じ値を有すると、同じ空間的候補予測動きベクトルのうち一つの候補予測動きベクトルは除去される。残った候補予測動きベクトルが一個であるため、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が２個である場合、追加の候補予測動きベクトルを算出するために時間的候補予測動きベクトルを誘導するステップを実行する。時間的候補予測動きベクトルが誘導される場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを１に設定し、時間的候補予測動きベクトルが誘導されない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを０に設定することができる。
【０２６１】
(３)２個の空間的候補予測動きベクトルが誘導される場合であり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡ及びａｖａｉｌａｂｌｅＦｌａｇＬＸＢが１の場合である。誘導された空間的候補予測動きベクトルの値が異なると、候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの数が２個である場合、追加の候補予測動きベクトルを算出するために時間的候補予測動きベクトルを誘導するステップを実行する必要がなく、時間的候補予測動きベクトルの可用性を示すａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを０に設定する。このとき、時間的候補予測動きベクトルの可用性情報であるａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌが所定の値である０の場合、時間的候補予測動きベクトルが誘導されない、又は時間的候補予測動きベクトルが可用しないということを意味する。
【０２６２】
(４)２個の空間的候補予測動きベクトルが誘導されない場合であり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡ及びａｖａｉｌａｂｌｅＦｌａｇＬＸＢが０の場合である。このような場合、時間的候補予測動きベクトル誘導過程を実行して時間的候補予測動きベクトルを算出することができる。
【０２６３】
即ち、候補予測動きベクトルリストに入ることができる候補予測動きベクトルの最大個数が２個であり、空間的候補予測動きベクトル可用性情報(ａｖａｉｌａｂｌｅＦｌａｇＬＸＡ、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢ)の両方ともが１であり、算出された２個の空間的候補予測動きベクトルが異なる場合、時間的候補予測動きベクトルを算出しない。
【０２６４】
前述した本発明の実施例では空間的候補予測動きベクトル関連情報として空間的候補予測動きベクトル可用性情報及び空間的候補予測動きベクトルの両方ともを使用して時間的候補予測動きベクトル関連情報を誘導する方法に対して開示したが、空間的候補予測動きベクトル可用性情報及び空間的候補予測動きベクトルのうち少なくとも一つの情報に基づいて空間的候補予測動き関連情報として時間的候補予測動きベクトル関連情報を誘導するために使用することもできる。
【０２６５】
例えば、空間的候補予測動きベクトルを誘導し、誘導された２個の空間的候補予測動きベクトルが互いに異なる値を有する場合、空間的候補予測動きベクトル可用性情報が有する値に対して判断せずに時間的候補予測動きベクトル関連情報を誘導することができる。
【０２６６】
以下、時間的候補予測動きベクトルを算出する方法に対して開示する。
【０２６７】
図１５は、本発明の実施例に係る時間的候補予測動きベクトルを算出する方法を示すための概念図である。
【０２６８】
図１５を参照すると、予測対象ブロック１５００のＣｏｌｏｃａｔｅｄピクチャに存在するＣｏｌｏｃａｔｅｄブロック１５２０から時間的候補予測動きベクトルを算出することができる。
【０２６９】
予測対象ブロックの左側上端に位置した点が(ｘＰ,ｙＰ)、予測対象ブロックの広さ値をｎＰＳＷ、予測対象ブロックの高さ値をｎＰＳＨとする場合、第１のＣｏｌｏｃａｔｅｄブロック１５４０はＣｏｌｏｃａｔｅｄピクチャに位置した点(ｘＰ＋ｎＰＳＷ,ｙＰ＋ｎＰＳＨ)を含むブロックになり、第２のＣｏｌｏｃａｔｅｄブロック１５６０はＣｏｌｏｃａｔｅｄピクチャに位置した点(ｘＰ＋(ｎＰＳＷ>>１),ｙＰ＋(ｎＰＳＨ>>１))を含むブロックになることができる。第１のＣｏｌｏｃａｔｅｄブロックから時間的候補予測動きベクトルが誘導されない場合(例えば、第１のＣｏｌｏｃａｔｅｄブロックが画面内予測符号化された場合)、第２のＣｏｌｏｃａｔｅｄブロックから時間的候補予測動きベクトルが誘導されることができる。算出される時間的候補予測動きベクトルの個数は制限されることができる。例えば、最大１個の時間的候補予測動きベクトルのみが算出されるようにする場合、第１のＣｏｌｏｃａｔｅｄブロックから時間的候補予測動きベクトルが算出されると、第２のＣｏｌｏｃａｔｅｄブロックでは時間的候補予測動きベクトルを算出しない。時間的候補予測動きベクトルの場合、予測対象ブロックが含まれているピクチャと予測対象ブロックの参照ピクチャとの間の距離と、Ｃｏｌｏｃａｔｅｄブロックが含まれているピクチャとＣｏｌｏｃａｔｅｄブロックの参照ピクチャとの間の距離と、の関係に基づいて時間的候補予測動きベクトル値をスケーリングして使用することができる。
【０２７０】
時間的候補予測動きベクトルが誘導されたかどうかによってａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌの値が決定される。ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌにおけるＬＸは、参照映像リストＬ０とＬ１のうち、符号化/復号化対象ブロックが参照する参照映像リストに対して示し、ＬＸは、Ｌ０又はＬ１に代替されることができる。時間的候補予測動きベクトルが誘導された場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを１に設定し、時間的候補予測動きベクトルが誘導されない場合、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌを０に設定することができる。
【０２７１】
例えば、符号化/復号化対象ブロックが参照映像リストＬ０を参照し、図１５のＨ位置ブロックから時間的候補予測動きベクトルが誘導された場合、ａｖａｉｌａｂｌｅＦｌａｇＬ０Ｃｏｌを１に設定し、時間的候補予測動きベクトルが誘導されない場合、ａｖａｉｌａｂｌｅＦｌａｇＬ０Ｃｏｌを０に設定する。
【０２７２】
誘導された候補予測動きベクトルを候補予測動きベクトルリストに追加する(ステップＳ１４３０)。
【０２７３】
誘導された空間的候補予測動きベクトル及び時間的候補予測動きベクトルを、誘導された順序通りに候補予測動きベクトルリストに追加する。例えば、候補予測動きベクトルリストは、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡ、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢ、そして、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌの値によって候補予測動きベクトルを候補予測動きベクトルリストに追加することができる。例えば、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは１であり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは０であり、そして、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは１の場合、一つの空間的候補予測動きベクトルｍｖＬＸＡと一つの時間的候補予測動きベクトルｍｖＬＸＣｏｌを候補予測動きベクトルリストに追加する。他の例として、ａｖａｉｌａｂｌｅＦｌａｇＬＸＡは１であり、ａｖａｉｌａｂｌｅＦｌａｇＬＸＢは１であり、そして、ａｖａｉｌａｂｌｅＦｌａｇＬＸＣｏｌは０の場合、２個の空間的候補予測動きベクトルｍｖＬＸＡとｍｖＬＸＢを候補予測動きベクトルリストに追加する。
【０２７４】
他の実施例として、空間的候補予測動きベクトル可用性情報又は時間的候補予測動きベクトル可用性情報に対して判断せずに空間的候補予測動きベクトル又は時間的候補予測動きベクトルが誘導される場合、直接候補予測動きベクトルリストに追加することも可能である。
【０２７５】
候補予測動きベクトルリストの大きさは、所定の大きさに制限されることができる。例えば、所定の大きさは３であり、候補予測動きベクトルリストに最初に追加された候補予測動きベクトルはインデックス値０を有し、最後に追加された候補予測動きベクトルはインデックス値２を有することができる。
【０２７６】
即ち、候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が候補予測動きベクトルリストに含まれることができる候補予測動きベクトルの最大個数である最大候補予測動きベクトル数より小さいかどうかを判断することができる。判断結果に基づいて前記候補予測動きベクトルリストに候補予測動きベクトルを追加又は除去することができる。
【０２７７】
例えば、候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より小さい場合、前記候補予測動きベクトルリストに零ベクトルを追加することができる。また、候補予測動きベクトルリストに含まれている前記候補予測動きベクトルの個数が前記最大候補予測動きベクトル数より大きい又は同じ場合、前記候補予測動きベクトルが前記最大候補予測動きベクトル数ほど前記候補予測動きベクトルリストに含まれるように前記候補予測動きベクトルのうち一部の候補予測動きベクトルを前記候補予測動きベクトルリストから除去することができる。
【０２７８】
図１６は、本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示す概念図である。
【０２７９】
図１６を参照すると、Ａ１ブロックからスケーリングされない空間的候補予測動きベクトル(１,０)が誘導され、Ｂ１ブロックからスケーリングされた空間的候補予測動きベクトル(−２,０)が誘導され、Ｈブロックからスケーリングされた時間的候補予測動きベクトル(４,１)が誘導された場合、誘導された候補予測動きベクトルは、誘導された順序通りに右側の表のように候補予測動きベクトルリストに追加される。このとき、Ａ１位置のブロックから誘導された候補予測動きベクトルインデックス値は０であり、Ｂ１の位置のブロックから誘導された候補予測動きベクトルインデックス値は１であり、Ｈの位置のブロックから誘導された候補予測動きベクトルインデックス値は２である。
【０２８０】
もし、表３の３番の場合のように、候補予測動きベクトルリストの大きさが２であり、誘導された空間的候補予測動きベクトルが２個であり、空間的候補予測動きベクトル２個が互いに異なる場合、候補予測動きベクトルリストの大きさが２であるため、時間的候補予測動きベクトルを別に誘導する必要無しに誘導された空間的候補予測動きベクトルに順次にインデックスを付与して候補予測動きベクトルリストを構成することができる。
【０２８１】
同じ候補予測動きベクトルを除去して候補予測動きベクトルリストを再構成する(ステップＳ１４４０)。
【０２８２】
候補予測動きベクトルリストに含まれている空間的候補予測動きベクトルと時間的候補予測動きベクトルのうち同じ候補予測動きベクトルが存在するかどうかを判断し、同じ候補予測動きベクトルが存在する場合、同じ候補予測動きベクトルのうち一つを除去することで、候補予測動きベクトルリストを再構成する。
【０２８３】
例えば、候補予測動きベクトルリストを構成する第１の空間的候補予測動きベクトルと第２の空間的候補予測動きベクトルが同じ場合、第２の空間的候補予測動きベクトルを候補予測動きベクトルリストから除去することができる。
【０２８４】
図１７は、本発明の実施例に係る候補予測動きベクトルリストから同じ候補予測動きベクトルを除去することを示す概念図である。
【０２８５】
図１７を参照すると、候補予測動きベクトルリストに含まれているインデックス０及びインデックス１の候補予測動きベクトルが同じベクトルの場合、このうち小さいインデックス値を有する候補予測動きベクトルのみを残し、残りの同じ値を有する候補予測動きベクトルを除去することができる。除去された候補予測動きベクトルのインデックス値より大きいインデックス値を有する候補予測動きベクトルのインデックス値を、除去された候補予測動きベクトルの個数ほど変化させる。
【０２８６】
候補予測動きベクトルを追加及び除去して候補予測動きベクトルリストの大きさを調整する(ステップＳ１４５０)。
【０２８７】
候補予測動きベクトルリストに候補予測動きベクトルを追加し、又は除去して候補予測動きベクトルリストの大きさを調整することができる。Ｐが候補予測動きベクトルリスト内の候補予測動きベクトルの個数であり、Ｑが最終候補予測動きベクトルリストの大きさである場合、Ｐの大きさとＱの大きさを同じにするために、ＰがＱより小さい場合、候補予測動きベクトルリストに候補予測動きベクトルを追加することができ、ＰがＱより大きい場合、候補予測動きベクトルリストから候補予測動きベクトルを除去することができる。
【０２８８】
図１８は、本発明の実施例に係る候補予測動きベクトルを追加及び除去して候補予測動きベクトルリストの大きさを調整する方法を示す概念図である。
【０２８９】
例えば、候補予測動きベクトルリストの大きさが２と仮定する場合、図１８の上段を参照すると、候補予測動きベクトルリストに含まれている候補予測動きベクトルが一個であるため、候補予測動きベクトルリストに零ベクトル(０,０)を追加して候補予測動きベクトルリストを構成することができる。
【０２９０】
図１８の下段を参照すると、候補予測動きベクトルリストに含まれている候補予測動きベクトルが３個であるため、候補予測動きベクトルリストのうちインデックス値が最も大きい一つの候補予測動きベクトルを除去して候補予測動きベクトルリストを構成することができる。
【０２９１】
候補予測動きベクトルリストから最終予測動きベクトルを決定する(ステップＳ１４６０)。
【０２９２】
前述したステップＳ１４００〜Ｓ１４６０を介して算出された候補予測動きベクトルリストと符号化器から送信された最終予測動きベクトルのインデックス情報に基づいて動き補償に使用する最終予測動きベクトルを決定する。
【０２９３】
図１９は、本発明の実施例に係る候補予測動きベクトルリストで最終予測動きベクトルを決定することを示す概念図である。
【０２９４】
図１９を参照すると、符号化器でインデックス１に該当する候補予測動きベクトルを最終予測動きベクトルとして使用したという情報を送信した場合、算出された候補予測動きベクトルリストでインデックス１に該当する候補予測動きベクトルである(−３,６)を最終予測動きベクトルとして決定することができる。
【０２９５】
図２０は、本発明の実施例に係る候補予測動きベクトルリストを算出する方法を示すフローチャートである。
【０２９６】
図２０では図１４乃至図１９で詳述したように、誘導された空間的候補予測動きベクトルが互いに異なる場合、時間的候補予測動きベクトルを誘導せずに空間的候補予測動きベクトルが互いに同じ場合、時間的候補予測動きベクトルを誘導して候補予測動きベクトルリストを算出する方法に対して整理する。
【０２９７】
１)第１の空間的候補予測ブロックグループ(Ａ０,Ａ１)で空間的候補予測動きベクトルが存在するかどうかを示す第１の空間的候補予測動きベクトル可用性情報と、第２の空間的候補予測ブロックグループ(Ｂ０,Ｂ１,Ｂ２)で空間的候補予測動きベクトルが存在するかどうかを示す第２の空間的候補予測動きベクトル可用性情報の両方ともが存在し、
【０２９８】
２)第１の空間的候補予測グループから誘導された第１の空間的候補予測動きベクトルと、第２の空間的候補予測グループから誘導された第２の空間的候補予測動きベクトルが互いに異なるかどうかを判断する(ステップＳ２０００)。
【０２９９】
ステップＳ２０００は、前述したステップＳ１４１０と同様に、可用性情報に基づいて空間的候補予測動きベクトルを誘導し、誘導された２個の空間的候補予測動きベクトルが互いに異なるかどうかを判断することができる。
【０３００】
第１の空間的候補予測動きベクトルの可用性情報は、下記のようなステップを介して算出されることができる。
【０３０１】
第１の動きベクトル乃至第４の動きベクトルは、前述した図４での定義と同じである。
【０３０２】
(１)第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)又は第２のブロック(Ａ１)に第１の動きベクトルが存在するかどうかを判断するステップ
【０３０３】
(２)第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)又は第２のブロック(Ａ１)に第１の動きベクトルが存在しない場合、第１の空間的候補予測ブロックグループの第１のブロック(Ａ０)と第２のブロック(Ａ１)に第２の動きベクトルが存在するかどうかを判断するステップ
【０３０４】
(３)第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)又は第２のブロック(Ａ１)に第１の動きベクトル又は第２の動きベクトルが存在しない場合、第１の空間的候補予測ブロックグループの第１のブロック(Ａ０)と第２のブロック(Ａ１)に第３の動きベクトルが存在するかどうかを判断するステップ
【０３０５】
(４)第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)又は第２のブロック(Ａ１)に第１の動きベクトル、第２の動きベクトル又は第３の動きベクトルが存在しない場合、第１の空間的候補予測ブロックグループの第１のブロック(Ａ０)と第２のブロック(Ａ１)に第４の動きベクトルが存在するかどうかを判断するステップ
【０３０６】
本発明の実施例によると、第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)と第２のブロック(Ａ１)が存在しない、又は第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)と第２のブロック(Ａ１)が画面内予測を実行したブロックの場合、所定のフラグ情報を利用してこのような情報を表示することができる。本発明の実施例によると、第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)と第２のブロック(Ａ１)が存在しない、又は第１の空間的候補予測ブロックグループに含まれている第１のブロック(Ａ０)と第２のブロック(Ａ１)が画面内予測を実行したブロックであり、第２の空間的候補予測ブロックグループで第３のブロック、第４のブロック又は第５のブロックに第１の動きベクトル又は第２の動きベクトルが存在する場合、第２の空間的候補予測ブロックグループから誘導された第１の動きベクトル又は第２の動きベクトルを第１の空間的候補予測ベクトルとして使用することができる。
【０３０７】
第２の空間的候補予測動きベクトルの可用性情報は、下記のようなステップを介して算出されることができる。
【０３０８】
(１)第２の空間的候補予測ブロックグループに含まれている第３のブロック(Ｂ０)、第４のブロック(Ｂ１)又は第５のブロック(Ｂ２)に第１の動きベクトルが存在するかどうかを判断するステップ
【０３０９】
(２)第２の空間的候補予測ブロックグループに含まれている第３のブロック(Ｂ０)、第４のブロック(Ｂ１)又は第５のブロック(Ｂ２)に第１の動きベクトルが存在しない場合、第２の空間的候補予測ブロックグループの第３のブロック(Ｂ０)、第４のブロック(Ｂ１)又は第５のブロック(Ｂ２)に第２の動きベクトルが存在するかどうかを判断するステップ
【０３１０】
(３)第２の空間的候補予測ブロックグループに含まれている第３のブロック(Ｂ０)、第４のブロック(Ｂ１)又は第５のブロック(Ｂ２)に第１の動きベクトル又は第２の動きベクトルが存在しない場合、第２の空間的候補予測ブロックグループの第３のブロック(Ｂ０)、第４のブロック(Ｂ１)又は第５のブロック(Ｂ２)に第３の動きベクトルが存在するかどうかを判断するステップ
【０３１１】
(４)第２の空間的候補予測ブロックグループに含まれている第３のブロック(Ｂ０)、第４のブロック(Ｂ１)又は第５のブロック(Ｂ２)に第１の動きベクトル、第２の動きベクトル又は第３の動きベクトルが存在しない場合、第２の空間的候補予測ブロックグループの第３のブロック(Ｂ０)、第４のブロック(Ｂ１)又は第５のブロック(Ｂ２)に第４の動きベクトルが存在するかどうかを判断するステップ
【０３１２】
ステップＳ２０００に開示された条件を満たさない場合、時間的候補予測動きベクトルを誘導する(ステップＳ２０１０)。
【０３１３】
前述したステップＳ２０００に開示された条件を満たす場合、互いに異なる二つの空間的候補予測動きベクトルが存在するが、前述したステップＳ２０００に開示された条件を満たさない場合、一つ以下の空間的候補予測動きベクトルが存在し、又は二つの同じ空間的候補予測動きベクトルが存在する。したがって、前述したステップＳ２０００に開示された条件を満たさない場合、時間的候補予測動きベクトルを誘導することができる。
【０３１４】
ステップＳ２０００に開示された条件を満たす場合、時間的候補予測動きベクトル可用性情報を０に設定する(ステップＳ２０２０)。
【０３１５】
ステップＳ２０００に開示された条件を満たす場合、時間的候補予測動きベクトルを算出するための動作を実行せずに時間的候補予測動きベクトルが可用するかどうかを示す情報である時間的候補予測動きベクトル可用性情報を０に設定する。
【０３１６】
候補予測動きベクトルリストを算出する(ステップＳ２０３０)。
【０３１７】
候補予測動きベクトルリストは、下記のような順序にインデキシングされて算出されることができる。
【０３１８】
１)第１の空間的候補予測動きベクトルが可用な場合、第１の空間的候補予測動きベクトル。
【０３１９】
２)第２の空間的候補予測動きベクトルが可用な場合、第２の空間的候補予測動きベクトル。
【０３２０】
３)時間的候補予測動きベクトルが可用な場合、時間的候補予測動きベクトル。
【０３２１】
同じ空間的候補予測動きベクトルを除去する(ステップＳ２０４０)。
【０３２２】
第１の空間的候補予測動きベクトルの値と第２の空間的候補予測動きベクトル値が同じ場合、第２の空間的候補予測動きベクトルの値を候補予測動きベクトルリストから除去することができる。
【０３２３】
候補予測動きベクトルリストを追加及び除去して候補予測動きベクトルリストの大きさを調整する(ステップＳ２０５０)。
【０３２４】
候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が２より小さい場合、零ベクトルのような追加のベクトルを候補予測動きベクトルリストに追加することができ、候補予測動きベクトルリストに含まれている候補予測動きベクトルの個数が２より大きい場合、候補予測動きベクトルリストのインデックス０及びインデックス１を除いた残りの候補予測動きベクトルを除去することができる。
【０３２５】
候補予測動きベクトルリストから最終予測動きベクトルを決定する(ステップＳ２０６０)。
【０３２６】
候補予測動きベクトルリストに含まれている候補予測動きベクトルのうち一つを予測対象ブロックの動きベクトルの予測値である最終予測動きベクトルとして使用することができる。
【０３２７】
以上で説明した映像符号化及び映像復号化方法は、図１及び図２で詳述した各映像符号化器及び映像復号化器装置の各構成部で具現されることができる。
【０３２８】
以上、実施例を参照して説明したが、該当技術分野において、熟練された当業者は、特許請求の範囲に記載された本発明の思想及び領域から外れない範囲内で本発明を多様に修正及び変更可能であることを理解することができる。
【図１】
0006046142.tif 000012
【図２】
0006046142.tif 000013
【図３】
0006046142.tif 000014
【図４】
0006046142.tif 000015
【図５】
0006046142.tif 000016
【図６】
0006046142.tif 000017
【図７】
0006046142.tif 000018
【図８】
0006046142.tif 000019
【図９】
0006046142.tif 000020
【図１０】
0006046142.tif 000021
【図１１】
0006046142.tif 000022
【図１２】
0006046142.tif 000023
【図１３】
0006046142.tif 000024
【図１４】
0006046142.tif 000025
【図１５】
0006046142.tif 000026
【図１６】
0006046142.tif 000027
【図１７】
0006046142.tif 000028
【図１８】
0006046142.tif 000029
【図１９】
0006046142.tif 000030
【図２０】
0006046142.tif 000031