(57)【要約】      （修正有）【課題】映像符号化/復号化の際、演算複雑度を減少させることができる映像符号化/復号化方法を提供する。【解決手段】映像の復号化方法は、エントロピー復号化された残差ブロックを逆量子化及び逆変換して残差ブロックを復元するステップ、動き補償を実行して予測ブロックを生成するステップ及び予測ブロックに復元された残差ブロックを加えて映像を復元するステップを含み、予測ブロックと関連した動きベクトル候補リストの最大動きベクトル候補個数値を基準にして特定動きベクトル候補を追加するか又は動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整し、予測ブロックを生成するステップでは調整された動きベクトル候補リストに基づいて予測ブロックの予測動きベクトルを決定する。【選択図】図４
2020120391.tif 000002
【特許請求の範囲】
【請求項１】
動きベクトル候補リストを構成するステップと、
前記動きベクトル候補リスト内の動きベクトル候補の個数に基づき、前記動きベクトル候補リストを修正するステップと、
前記修正された動きベクトル候補リストに基づき、予測動きベクトルを決定するステップと、を含み、
前記修正された動きベクトル候補リストは、空間的動きベクトル候補、時間的動きベクトル候補および（０，０）動きベクトル候補のうちいずれか１つまたは２つ以上からなる任意の組み合わせを含み、
前記動きベクトル候補リストを構成するステップは、
前記空間的動きベクトル候補を誘導し、
誘導された２つの空間的動きベクトル候補が互いに異なる場合を除いて、前記時間的動きベクトル候補を誘導し、
前記誘導された空間的動きベクトル候補および前記誘導された時間的動きベクトル候補の一方または両方を前記動きベクトル候補リストに追加することを含み、
前記動きベクトル候補リスト内の動きベクトル候補の個数が動きベクトル候補の最大個数よりも小さい場合、前記動きベクトル候補リストを修正するステップは、前記動きベクトル候補の最大個数および前記動きベクトル候補リスト内の動きベクトル候補の個数にのみ基づき、前記動きベクトル候補リスト内の動きベクトル候補の個数が前記動きベクトル候補の最大個数に達するまで繰り返し前記（０，０）動きベクトル候補を追加することを含み、
前記誘導された空間的動きベクトル候補および前記誘導された時間的動きベクトル候補の一方または両方を前記動きベクトル候補リストに追加することは、同一の動きベクトル候補を除去するための同一動きベクトル候補除去動作を前記空間的動きベクトル候補に対してのみ行うことを含む、映像復号化方法。
【請求項２】
前記動きベクトル候補リスト内の動きベクトル候補の個数が前記動きベクトル候補の最大個数よりも小さい場合、前記動きベクトル候補リストを修正するステップは、前記動きベクトル候補リスト内の動きベクトル候補の存在の有無、または前記動きベクトル候補リスト内の前記（０，０）動きベクトル候補の存在の有無にかかわらず、前記動きベクトル候補リスト内の動きベクトル候補の個数が前記動きベクトル候補の最大個数に達するまで繰り返し前記（０，０）動きベクトル候補を追加することを含むことを特徴とする請求項１に記載の映像復号化方法。
【請求項３】
前記動きベクトル候補の最大個数は２であることを特徴とする請求項１に記載の映像復号化方法。
【請求項４】
前記動きベクトル候補リスト内に動きベクトル候補が存在しない場合、前記動きベクトル候補リストに前記（０，０）動きベクトル候補を２つ追加することを特徴とする請求項３に記載の映像復号化方法。
【請求項５】
前記動きベクトル候補リスト内に前記（０，０）動きベクトル候補が１つ存在する場合、前記動きベクトル候補リストに前記（０，０）動きベクトル候補を１つさらに追加することを特徴とする請求項３に記載の映像復号化方法。
【請求項６】
現在ピクチャと現在ブロックの参照ピクチャとの距離が対応位置ピクチャ（ｃｏｌｌｏｃａｔｅｄピクチャ）と対応位置ブロック（ｃｏｌｌｏｃａｔｅｄブロック）の参照ピクチャとの距離と異なる場合、スケーリングを実行することにより前記時間的動きベクトル候補を生成することを特徴とする請求項１に記載の映像復号化方法。
【請求項７】
インター予測を行って予測ブロックを生成するステップと、
現在ブロックと前記インター予測により予測された予測ブロックとの間の差である残差ブロックのエントロピー符号化を実行するステップと、を含み、
前記予測ブロックに対応する予測動きベクトルが動きベクトル候補リストに含まれ、
前記動きベクトル候補リストは、空間的動きベクトル候補、時間的動きベクトル候補および（０，０）動きベクトル候補のうちいずれか１つまたは２つ以上からなる任意の組み合わせを含み、
前記動きベクトル候補リストは、
前記空間的動きベクトル候補を誘導し、
誘導された２つの空間的動きベクトル候補が互いに異なる場合を除いて、前記時間的動きベクトル候補を誘導し、
前記誘導された空間的動きベクトル候補および前記誘導された時間的動きベクトル候補の一方または両方を前記動きベクトル候補リストに追加することにより構成され、
前記動きベクトル候補リスト内の動きベクトル候補の個数が動きベクトル候補の最大個数よりも小さい場合、前記動きベクトル候補の最大個数および前記動きベクトル候補リスト内の動きベクトル候補の個数にのみ基づき、前記動きベクトル候補リスト内の動きベクトル候補の個数が前記動きベクトル候補の最大個数に達するまで繰り返し前記（０，０）動きベクトル候補を前記動きベクトル候補リストに追加し、
前記誘導された空間的動きベクトル候補および前記誘導された時間的動きベクトル候補の一方または両方を前記動きベクトル候補リストに追加することは、同一の動きベクトル候補を除去するための同一動きベクトル候補除去動作を前記空間的動きベクトル候補に対してのみ行うことを含む、映像符号化方法。
【請求項８】
前記動きベクトル候補リスト内の動きベクトル候補の個数が前記動きベクトル候補の最大個数よりも小さい場合、前記動きベクトル候補リスト内の動きベクトル候補の存在の有無、または前記動きベクトル候補リスト内の前記（０，０）動きベクトル候補の存在の有無にかかわらず、前記動きベクトル候補リスト内の動きベクトル候補の個数が前記動きベクトル候補の最大個数に達するまで前記（０，０）動きベクトル候補を繰り返し追加することにより前記動きベクトル候補リストを修正することを特徴とする請求項７に記載の映像符号化方法。
【請求項９】
現在ピクチャと現在ブロックの参照ピクチャとの距離が対応位置ピクチャ（ｃｏｌｌｏｃａｔｅｄピクチャ）と対応位置ブロック（ｃｏｌｌｏｃａｔｅｄブロック）の参照ピクチャとの距離と異なる場合、スケーリングを実行することにより前記時間的動きベクトル候補を生成することを特徴とする請求項７に記載の映像符号化方法。
【請求項１０】
ビットストリームを格納したコンピュータ読み取り可能な記録媒体であって、
前記ビットストリームは、動きベクトル候補リストに基づき予測動きベクトルを決定するための情報を含み、
前記動きベクトル候補リストは、空間的動きベクトル候補、時間的動きベクトル候補および（０，０）動きベクトル候補のうちいずれか１つまたは２つ以上からなる任意の組み合わせを含み、
前記動きベクトル候補リストは、
前記空間的動きベクトル候補を誘導し、
誘導された２つの空間的動きベクトル候補が互いに異なる場合を除いて、前記時間的動きベクトル候補を誘導し、
前記誘導された空間的動きベクトル候補および前記誘導された時間的動きベクトル候補の一方または両方を前記動きベクトル候補リストに追加することにより構成され、
前記動きベクトル候補リスト内の動きベクトル候補の個数が動きベクトル候補の最大個数よりも小さい場合、前記動きベクトル候補の最大個数および前記動きベクトル候補リスト内の動きベクトル候補の個数にのみ基づき、前記動きベクトル候補リスト内の動きベクトル候補の個数が前記動きベクトル候補の最大個数に達するまで繰り返し前記（０，０）動きベクトル候補を前記動きベクトル候補リストに追加し、
前記誘導された空間的動きベクトル候補および前記誘導された時間的動きベクトル候補の一方または両方を前記動きベクトル候補リストに追加することは、同一の動きベクトル候補を除去するための同一動きベクトル候補除去動作を前記空間的動きベクトル候補に対してのみ行うことを含む、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化/復号化方法及び装置に関し、より詳しくは、演算複雑度を低くすることができる動きベクトル予測技術に関する。
【背景技術】
【０００２】
最近、ＨＤ(Ｈｉｇｈ Ｄｅｆｉｎｉｔｉｏｎ)解像度を有する放送サービスが韓国内だけでなく、世界的に拡大されるにつれて、多くのユーザが高解像度、高画質の映像に慣れており、これによって、多くの機関が次世代映像機器に対する開発に拍車を掛けている。また、ＨＤＴＶと共にＨＤＴＶの４倍以上の解像度を有するＵＨＤ(Ｕｌｔｒａ Ｈｉｇｈ Ｄｅｆｉｎｉｔｉｏｎ)に対する関心が増大しながら、より高い解像度、高画質の映像に対する圧縮機術が要求されている。
【０００３】
映像圧縮のために、時間的に以前及び/又は以後の映像から現在映像に含まれているピクセル値を予測するインター(ｉｎｔｅｒ)予測技術、現在映像内のピクセル情報を利用して現在映像に含まれているピクセル値を予測するイントラ(ｉｎｔｒａ)予測技術、出現頻度が高いシンボル(ｓｙｍｂｏｌ)に短い符号を割り当て、出現頻度が低いシンボルに長い符号を割り当てるエントロピー符号化技術などが使われることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の技術的課題は、映像符号化効率を向上させるだけでなく、演算複雑度を減少させることができる映像符号化方法及び装置を提供することである。
【０００５】
本発明の他の技術的課題は、映像符号化効率を向上させるだけでなく、演算複雑度を減少させることができる映像復号化方法及び装置を提供することである。
【０００６】
本発明の他の技術的課題は、映像符号化効率を向上させるだけでなく、演算複雑度を減少させることができる予測ブロック生成方法及び装置を提供することである。
【０００７】
本発明の他の技術的課題は、映像符号化効率を向上させるだけでなく、演算複雑度を減少させることができるインター予測方法及び装置を提供することである。
【０００８】
本発明の他の技術的課題は、映像符号化効率を向上させるだけでなく、演算複雑度を減少させることができる動きベクトル予測方法及び装置を提供することである。
【課題を解決するための手段】
【０００９】
前記目的を達成するための本発明の映像の復号化方法は、エントロピー復号化された残差ブロックを逆量子化及び逆変換して残差ブロックを復元するステップ、動き補償を実行して予測ブロックを生成するステップ、及び前記予測ブロックに前記復元された残差ブロックを加えて映像を復元するステップを含み、前記予測ブロックと関連した動きベクトル候補リストの最大動きベクトル候補個数値を基準にして特定動きベクトル候補を追加し、又は動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整し、前記予測ブロックを生成するステップでは前記調整された動きベクトル候補リストに基づいて前記予測ブロックの予測動きベクトルを決定する。
【００１０】
前記予測ブロックを生成するステップは、前記予測ブロックと関連した動きベクトル候補を誘導して動きベクトル候補リストを構成するステップ、前記動きベクトル候補リストに含まれている空間的動きベクトル候補の中から同一な動きベクトル候補を一つ除去するステップ、前記動きベクトル候補リストに前記特定動きベクトル候補を追加し、又は一部を除去することによって動きベクトル候補リストを調整するステップ、及び前記調整された動きベクトル候補リストに含まれている動きベクトル候補の中から予測動きベクトルを決定するステップを含む。
【００１１】
前記動きベクトル候補リストを調整するステップは、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が最大動きベクトル候補個数値より小さい場合、前記動きベクトル候補リスト内に動きベクトル候補が存在するかどうか又は前記動きベクトル候補リストに前記特定動きベクトル候補が存在するかどうかと関係なしで前記特定動きベクトル候補を追加するステップを含む。
【００１２】
前記動きベクトル候補リストを調整するステップは、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が最大動きベクトル候補個数値より小さい場合、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が前記最大動きベクトル候補個数に到達する時まで前記特定動きベクトル候補を繰り返して追加するステップを含む。
【００１３】
前記特定動きベクトルは、(０,０)動きベクトルであり、前記最大動きベクトル候補個数値は、２である。
【００１４】
前記動きベクトル候補リストに動きベクトル候補が存在しない状態で、前記特定動きベクトルは、２個追加される。
【００１５】
前記動きベクトル候補リストに一つの前記特定動きベクトルが存在する状態で、前記特定動きベクトルは、さらに１個追加される。
【００１６】
前記動きベクトル候補リストを調整するステップは、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が前記最大動きベクトル候補個数値より大きい場合、前記最大動きベクトル候補個数値から１を引いた索引(ｉｎｄｅｘ)値より大きい索引値を有する動きベクトル候補を前記動きベクトル候補リストから除去するステップを含む。
【００１７】
前記目的を達成するための本発明の映像の復号化装置は、エントロピー復号化された残差ブロックを逆量子化及び逆変換して残差ブロックを復元する残差ブロック復元部、動き補償を実行して予測ブロックを生成する予測ブロック生成部、及び前記予測ブロックに前記復元された残差ブロックを加えて映像を復元する映像復元部を含み、前記予測ブロック生成部は、前記予測ブロックと関連した動きベクトル候補リストの最大動きベクトル候補個数値を基準にして特定動きベクトル候補を追加し、又は動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整し、前記調整された動きベクトル候補リストに基づいて前記予測ブロックの予測動きベクトルを決定する。
【００１８】
前記予測ブロック生成部は、前記予測ブロックと関連した動きベクトル候補を誘導して動きベクトル候補リストを構成する動きベクトル候補リスト構成部、前記動きベクトル候補リストに含まれている空間的動きベクトル候補の中から同一な動きベクトル候補を一つ除去する同一な動きベクトル候補除去部、前記動きベクトル候補リストに前記特定動きベクトル候補を追加し、又は一部を除去することによって動きベクトル候補リストを調整する動きベクトル候補リスト調整部、及び前記調整された動きベクトル候補リストから予測動きベクトルを決定する予測動きベクトル決定部を含む。
【００１９】
前記動きベクトル候補リスト調整部は、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が最大動きベクトル候補個数値より小さい場合、前記動きベクトル候補リスト内に動きベクトル候補が存在するかどうか又は前記動きベクトル候補リストに前記特定動きベクトル候補が存在するかどうかと関係なしで前記特定動きベクトル候補を追加する。
【００２０】
前記動きベクトル候補リスト調整部は、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が最大動きベクトル候補個数値より小さい場合、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が前記最大動きベクトル候補個数に到達する時まで前記特定動きベクトル候補を繰り返して追加する。
【００２１】
前記特定動きベクトルは、(０,０)動きベクトルであり、前記最大動きベクトル候補個数値は、２である。
【００２２】
前記動きベクトル候補リストに動きベクトル候補が存在しない状態で、前記特定動きベクトルは、２個追加される。
【００２３】
前記動きベクトル候補リストに一つの前記特定動きベクトルが存在する状態で、前記特定動きベクトルは、さらに１個追加される。
【００２４】
前記目的を達成するための本発明の映像の符号化方法は、入力映像に対して画面間予測又は動き補償を実行して予測ブロックを生成するステップ、及び現在入力ブロックと前記画面間予測により予測された予測ブロックとの間の差である残差ブロックを変換及び量子化してエントロピー符号化するステップを含み、前記予測ブロックと関連した動きベクトル候補リストの最大動きベクトル候補個数値を基準にして特定動きベクトル候補を追加し、又は動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整し、前記予測ブロックを生成するステップでは前記調整された動きベクトル候補リストに基づいて前記予測ブロックの予測動きベクトルを決定する。
【００２５】
前記予測ブロックを生成するステップは、前記予測ブロックと関連した動きベクトル候補を誘導して動きベクトル候補リストを構成するステップ、前記動きベクトル候補リストに含まれている空間的動きベクトル候補の中から同一な動きベクトル候補を一つ除去するステップ、前記動きベクトル候補リストに前記特定動きベクトル候補を追加し、又は一部を除去することによって動きベクトル候補リストを調整するステップ、及び前記調整された動きベクトル候補リストから予測動きベクトルを決定するステップを含む。
【００２６】
前記動きベクトル候補リストを調整するステップは、前記動きベクトル候補リスト内に含まれている動きベクトル候補の個数が最大動きベクトル候補個数値より小さい場合、前記動きベクトル候補リスト内に動きベクトル候補が存在するかどうか又は前記動きベクトル候補リストに前記特定動きベクトル候補が存在するかどうかと関係なしで前記特定動きベクトル候補を追加するステップを含む。
【００２７】
前記目的を達成するための本発明の映像の符号化装置は、入力映像に対して画面間予測又は動き補償を実行して予測ブロックを生成する予測ブロック生成部、及び現在入力ブロックと前記画面間予測により予測された予測ブロックとの間の差である残差ブロックを変換及び量子化してエントロピー符号化する符号化部を含み、前記予測ブロック生成部は、前記予測ブロックと関連した動きベクトル候補リストの最大動きベクトル候補個数値を基準にして特定動きベクトル候補を追加し、又は動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整し、前記調整された動きベクトル候補リストに基づいて前記予測ブロックの予測動きベクトルを決定する。
【発明の効果】
【００２８】
本発明による映像符号化方法によると、演算複雑度を減少させることができるだけでなく、映像符号化効率が向上することができる。
【００２９】
本発明による映像復号化方法によると、演算複雑度を減少させることができるだけでなく、映像符号化効率が向上することができる。
【００３０】
本発明による予測ブロック生成方法によると、演算複雑度を減少させることができるだけでなく、映像符号化効率が向上することができる。
【００３１】
本発明によるインター予測方法によると、演算複雑度を減少させることができるだけでなく、映像符号化効率が向上することができる。
【００３２】
本発明による動きベクトル予測方法によると、演算複雑度を減少させることができるだけでなく、映像符号化効率が向上することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明が適用される映像符号化装置の一実施例に係る構成を示すブロック図である。
【図２】本発明が適用される映像復号化装置の一実施例に係る構成を示すブロック図である。
【図３】インター予測方法の一実施例を概略的に示すフローチャートである。
【図４】本発明の一実施例に係る映像符号化/復号化装置が動きベクトル候補を誘導して予測動きベクトルを決定する過程を示すフローチャートである。
【図５】空間的動きベクトル候補誘導過程の一実施例を概略的に示す。
【図６】時間的動きベクトル候補誘導過程の一実施例を概略的に示す。
【図７】誘導された動きベクトル候補に基づいて動きベクトル候補リストを構成する実施例を概略的に示す。
【図８】動きベクトル候補リストから同一な動きベクトル候補を除去する実施例を概略的に示す。
【図９】本発明の一実施例に係る動きベクトル候補リスト調整過程を概略的に示すフローチャートである。
【図１０】動きベクトル候補リストに一つの動きベクトル候補が存在する場合、(０,０)動きベクトルの追加実施例を概略的に示す。
【図１１】動きベクトル候補リストに一つの(０,０)動きベクトル候補が存在する場合、(０,０)動きベクトルの追加実施例を概略的に示す。
【図１２】動きベクトル候補リストに動きベクトルが存在しない場合、(０,０)動きベクトルの追加実施例を概略的に示す。
【図１３】動きベクトル候補リストから動きベクトル候補の一部を除去する実施例を概略的に示す。
【図１４】動きベクトル候補リスト内の動きベクトル候補の中から予測動きベクトルを決定する過程を概略的に示す。
【発明を実施するための形態】
【００３４】
以下、図面を参照して本発明の実施形態に対して具体的に説明する。本明細書の実施例を説明するにあたって、関連した公知構成又は機能に対する具体的な説明が本明細書の要旨を不明にすると判断される場合にはその詳細な説明は省略する。
【００３５】
一構成要素が他の構成要素に“連結されている”又は“接続されている”と言及された場合、該当他の構成要素に直接的に連結されている、又は接続されていることもあるが、中間に他の構成要素が存在することもあると理解されなければならない。また、本発明において、特定構成を“含む”と記述する内容は、該当構成以外の構成を排除するものではなく、追加的な構成が本発明の実施又は本発明の技術的思想の範囲に含まれることができることを意味する。
【００３６】
第１、第２などの用語は、多様な構成要素の説明に使われることができるが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲を外れない限り、第１の構成要素は第２の構成要素と命名することができ、同様に、第２の構成要素も第１の構成要素と命名することができる。
【００３７】
また、本発明の実施例に開示する構成部は、互いに異なる特徴的な機能を示すために独立的に図示されるものであり、各構成部が分離されたハードウェアや一つのソフトウェア構成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、それぞれの構成部として羅列して含むものであり、各構成部のうち少なくとも２個の構成部が統合されて一つの構成部からなり、又は一つの構成部が複数個の構成部に分けられて機能を遂行することができ、このような各構成部の統合された実施例及び分離された実施例も本発明の本質から外れない限り本発明の権利範囲に含まれる。
【００３８】
また、一部の構成要素は、本発明で本質的な機能を遂行する必須的構成要素ではなく、単に性能を向上させるための選択的構成要素である。本発明は、単に性能向上のために使われる構成要素を除いた本発明の本質具現に必須的な構成部のみを含んで具現されることができ、単に性能向上のために使われる選択的な構成要素を除いた必須的な構成要素のみを含む構造も本発明の権利範囲に含まれる。
【００３９】
図１は、本発明が適用される映像符号化装置の一実施例に係る構成を示すブロック図である。
【００４０】
図１を参照すると、前記映像符号化装置１００は、動き予測部１１１、動き補償部１１２、イントラ予測部１２０、スイッチ１１５、減算器１２５、変換部１３０、量子化部１４０、エントロピー符号化部１５０、逆量子化部１６０、逆変換部１７０、加算器１７５、フィルタ部１８０、及び参照映像バッファ１９０を含む。
【００４１】
映像符号化装置１００は、入力映像に対してイントラ(ｉｎｔｒａ)モード又はインター(ｉｎｔｅｒ)モードに符号化を実行することによってビットストリームを出力することができる。イントラ予測は、画面内予測を意味し、インター予測は、画面間予測を意味する。イントラモードである場合、スイッチ１１５がイントラに切り替え、インターモードである場合、スイッチ１１５がインターに切り替えることができる。映像符号化装置１００は、入力映像の入力ブロックに対する予測ブロックを生成した後、入力ブロックと予測ブロックの差分を符号化することができる。
【００４２】
イントラモードである場合、イントラ予測部１２０は、現在ブロック周辺の既に符号化されたブロックのピクセル値を利用して空間的予測を実行することによって予測ブロックを生成することができる。
【００４３】
インターモードである場合、動き予測部１１１は、動き予測過程で参照映像バッファ１９０に格納されている参照映像で入力ブロックと最もよくマッチされる領域を探して動きベクトルを求めることができる。ここで、映像は、後述されるピクチャ(ｐｉｃｔｕｒｅ)と同一な意味として使われることができる。動き補償部１１２は、動きベクトルを利用して動き補償を実行することによって予測ブロックを生成することができる。ここで、動きベクトルは、インター予測に使われる２次元ベクトルであり、現在符号化/復号化対象映像内のブロックと参照映像内のブロック間のオフセットを示すことができる。
【００４４】
減算器１２５は、入力ブロックと生成された予測ブロックとの差分により残差ブロック(ｒｅｓｉｄｕａｌ ｂｌｏｃｋ)を生成することができる。変換部１３０は、残差ブロックに対して変換(ｔｒａｎｓｆｏｒｍ)を実行することで、変換係数(ｔｒａｎｓｆｏｒｍ ｃｏｅｆｆｉｃｉｅｎｔ)を出力することができる。そして、量子化部１４０は、入力された変換係数を量子化パラメータによって量子化することによって量子化された係数(ｑｕａｎｔｉｚｅｄ ｃｏｅｆｆｉｃｉｅｎｔ)を出力することができる。
【００４５】
エントロピー符号化部１５０は、量子化部１４０で算出された値又は符号化過程で算出された符号化パラメータである動きベクトル差分値(ｍｏｔｉｏｎ ｖｅｃｔｏｒ ｄｉｆｆｅｒｅｎｃｅ)、参照ピクチャ索引(ｒｅｆｅｒｅｎｃｅ ｐｉｃｔｕｒｅ ｉｎｄｅｘ)、動きベクトル候補索引(ｍｏｔｉｏｎ ｖｅｃｔｏｒ ｃａｎｄｉｄａｔｅ ｉｎｄｅｘ)、予測方向(ｐｒｅｄｉｃｔｉｏｎ ｄｉｒｅｃｔｉｏｎ)情報などに基づいてエントロピー符号化を実行することで、ビットストリーム(ｂｉｔ ｓｔｒｅａｍ)を出力することができる。
【００４６】
エントロピー符号化が適用される場合、高い発生確率を有するシンボル(ｓｙｍｂｏｌ)に少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、符号化対象シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー符号化を介して映像符号化の圧縮性能が高まることができる。エントロピー符号化部１５０は、エントロピー符号化のために、指数ゴロム(ｅｘｐｏｎｅｎｔｉａｌ ｇｏｌｏｍｂ)、ＣＡＶＬＣ(Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ Ｖａｒｉａｂｌｅ Ｌｅｎｇｔｈ Ｃｏｄｉｎｇ)、ＣＡＢＡＣ(Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ)のような符号化方法を使用することができる。
【００４７】
図１の実施例に係る映像符号化装置は、インター予測符号化、即ち、画面間予測符号化を実行するため、現在符号化された映像は、参照映像として使われるために復号化されて格納される必要がある。したがって、量子化された係数は、逆量子化部１６０で逆量子化され、逆変換部１７０で逆変換される。逆量子化、逆変換された係数は、加算器１７５を介して予測ブロックと加えられることで、復元ブロックが生成される。
【００４８】
復元ブロックは、フィルタ部１８０を経て、フィルタ部１８０は、デブロッキングフィルタ(ｄｅｂｌｏｃｋｉｎｇ ｆｉｌｔｅｒ)、ＳＡＯ(Ｓａｍｐｌｅ Ａｄａｐｔｉｖｅ Ｏｆｆｓｅｔ)、ＡＬＦ(Ａｄａｐｔｉｖｅ Ｌｏｏｐ Ｆｉｌｔｅｒ)のうち少なくとも一つ以上を復元ブロック又は復元映像に適用することができる。フィルタ部１８０は、適応的インループ(ｉｎ−ｌｏｏｐ)フィルタとも呼ばれる。デブロッキングフィルタは、ブロック間の境界に発生したブロック歪曲を除去することができる。ＳＡＯは、コーディングエラーを補償するために、ピクセル値に適正オフセット(ｏｆｆｓｅｔ)値を加えることができる。ＡＬＦは、復元された映像と元来の映像を比較した値に基づいてフィルタリングを実行することができる。フィルタ部１８０を経た復元ブロックは、参照映像バッファ１９０に格納されることができる。
【００４９】
図２は、本発明が適用される映像復号化装置の一実施例に係る構成を示すブロック図である。
【００５０】
図２を参照すると、前記映像復号化装置２００は、エントロピー復号化部２１０、逆量子化部２２０、逆変換部２３０、イントラ予測部２４０、動き補償部２５０、加算器２５５、フィルタ部２６０、及び参照映像バッファ２７０を含む。
【００５１】
映像復号化装置２００は、符号化器で出力されたビットストリームの入力を受けてイントラモード又はインターモードに復号化を実行し、再構成された映像、即ち、復元映像を出力することができる。イントラモードである場合、スイッチがイントラに切り替え、インターモードである場合、スイッチがインターに切り替えることができる。映像復号化装置２００は、入力されたビットストリームから復元された残差ブロック(ｒｅｃｏｎｓｔｒｕｃｔｅｄ ｒｅｓｉｄｕａｌ ｂｌｏｃｋ)を得て予測ブロックを生成した後、復元された残差ブロックと予測ブロックを加えて再構成されたブロック、即ち、復元ブロックを生成することができる。
【００５２】
エントロピー復号化部２１０は、入力されたビットストリームを確率分布によってエントロピー復号化することで、量子化された係数(ｑｕａｎｔｉｚｅｄ ｃｏｅｆｆｉｃｉｅｎｔ)形態のシンボルを含むシンボルを生成することができる。エントロピー復号化方法は、前述したエントロピー符号化方法と同様である。
【００５３】
エントロピー復号化方法が適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、各シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー復号化方法を介して映像復号化の圧縮性能が高まることができる。
【００５４】
量子化された係数は、逆量子化部２２０で逆量子化され、逆変換部２３０で逆変換され、量子化された係数が逆量子化/逆変換された結果、復元された残差ブロックが生成されることができる。
【００５５】
イントラモードである場合、イントラ予測部２４０は、現在ブロック周辺の既に符号化/復号化されたブロックのピクセル値を利用して空間的予測を実行することによって予測ブロックを生成することができる。インターモードである場合、動き補償部２５０は、動きベクトル及び参照映像バッファ２７０に格納されている参照映像を利用して動き補償を実行することによって予測ブロックを生成することができる。
【００５６】
復元された残差ブロックと予測ブロックは、加算器２５５を介して加えられ、加えられたブロックは、フィルタ部２６０を経ることができる。フィルタ部２６０は、デブロッキングフィルタ、ＳＡＯ、ＡＬＦのうち少なくとも一つ以上を復元ブロック又は復元映像に適用することができる。フィルタ部２６０は、再構成された映像、即ち、復元映像を出力することができる。復元映像は、参照映像バッファ２７０に格納されてインター予測に使われることができる。
【００５７】
以下、ブロックは、映像符号化及び復号化の単位を意味する。映像符号化及び復号化時の符号化単位又は復号化単位は、映像を分割して符号化又は復号化する時にその分割された単位を意味するため、ユニット(Ｕｎｉｔ)、符号化ユニット(ＣＵ：Ｃｏｄｉｎｇ Ｕｎｉｔ)、予測ユニット(ＰＵ：Ｐｒｅｄｉｃｔｉｏｎ Ｕｎｉｔ)、変換ユニット(ＴＵ：Ｔｒａｎｓｆｏｒｍ Ｕｎｉｔ)、変換ブロック(ｔｒａｎｓｆｏｒｍ ｂｌｏｃｋ)などとも呼ばれる。さらに、一つのブロックは、大きさが小さい下位ブロックに分割されることができる。予測ユニットは、インター予測又は動き補償実行時の基本ユニットであり、予測ブロック(ｐｒｅｄｉｃｔｉｏｎ ｂｌｏｃｋ)とも呼ばれる。予測ユニットは、分割されて複数のパーティション(Ｐａｒｔｉｔｉｏｎ)になることもでき、複数のパーティションも予測実行時の基本ユニットになり、予測ユニットが分割されたパーティションも予測ユニットということができる。また、本明細書において、“ピクチャ(ｐｉｃｔｕｒｅ)”は、文脈によって“映像”、“フレーム(ｆｒａｍｅ)”、“フィールド(ｆｉｅｌｄ)”及び/又は“スライス(ｓｌｉｃｅ)”に変えて使われることができ、このような区分は、該当技術分野において、通常の知識を有する者であれば、容易にすることができる。例えば、後述されるＰピクチャ、Ｂピクチャ、順方向Ｂピクチャは、ピクチャによって、各々、Ｐスライス、Ｂスライス、順方向Ｂスライスに変えて使われることができる。また、本明細書において、現在ブロックは、インター予測又は動き補償実行時のブロックを示すことができ、このような場合、現在ブロックは、予測ユニット又は予測ブロックを意味する。
【００５８】
図３は、インター予測方法の一実施例を概略的に示すフローチャートである。
【００５９】
図３を参照すると、符号化器及び復号化器は、現在ブロックに対する動き情報を誘導することができる(Ｓ３１０)。
【００６０】
インターモードにおいて、符号化器及び復号化器は、現在ブロックの動き情報を誘導した後、前記誘導された動き情報に基づいてインター予測及び/又は動き補償を実行することができる。このとき、符号化器及び復号化器は、復元された隣接ブロック(ｎｅｉｇｈｂｏｒｉｎｇ ｂｌｏｃｋ)及び/又は既に復元されたｃｏｌｌｏｃａｔｅｄピクチャ(ｃｏｌｌｏｃａｔｅｄ ｐｉｃｔｕｒｅ)内で現在ブロックに対応されるｃｏｌｌｏｃａｔｅｄブロック(ｃｏｌｌｏｃａｔｅｄ ｂｌｏｃｋ)の動き情報を利用することによって、符号化効率を向上させることができる。ここで、復元された隣接ブロックは、既に符号化及び/又は復号化されて復元された現在ピクチャ内のブロックであって、現在ブロックに隣接したブロック及び/又は現在ブロックの外部コーナーに位置したブロックを含むことができる。また、符号化器及び復号化器は、ｃｏｌｌｏｃａｔｅｄピクチャ内で現在ブロックと空間的に同一位置に存在するブロックを基準にして所定の相対的な位置を決定することができ、前記決定された所定の相対的な位置(前記現在ブロックと空間的に同一位置に存在するブロックの内部及び/又は外部の位置)に基づいて前記ｃｏｌｌｏｃａｔｅｄブロックを導出することができる。ここで、一例として、ｃｏｌｌｏｃａｔｅｄピクチャは、参照ピクチャリスト(ｒｅｆｅｒｅｎｃｅ ｐｉｃｔｕｒｅ ｌｉｓｔ)に含まれている参照ピクチャのうち、一つのピクチャに該当することができる。また、ここで、動き情報は、動きベクトル、参照ピクチャ索引、動きベクトル候補索引、動きベクトル差分、参照ピクチャリスト、予測動きベクトル(ｐｒｅｄｉｃｔｅｄ ｍｏｔｉｏｎ ｖｅｃｔｏｒ)、マージフラグ(ｍｅｒｇｅ ｆｌａｇ)、マージ索引(ｍｅｒｇｅ ｉｎｄｅｘ)、予測方向、可用性(ａｖａｉｌａｂｉｌｉｔｙ)情報のうち少なくとも一つを含むインター予測又は動き補償時に必要な情報を意味する。
【００６１】
一方、動き情報誘導方式は、現在ブロックの予測モードによって変わることができる。
インター予測のために適用される予測モードには、ＡＭＶＰ(Ａｄｖａｎｃｅｄ Ｍｏｔｉｏｎ Ｖｅｃｔｏｒ Ｐｒｅｄｉｃｔｉｏｎ)を含む動きベクトル予測、マージモード(ｍｅｒｇｅ ｍｏｄｅ)などがある。
【００６２】
一例として、動きベクトル予測が適用される場合、符号化器及び復号化器は、復元された隣接ブロックの動きベクトル及び/又はｃｏｌｌｏｃａｔｅｄブロックの動きベクトルを利用し、動きベクトル候補リスト(ｍｏｔｉｏｎ ｖｅｃｔｏｒ ｃａｎｄｉｄａｔｅ ｌｉｓｔ)を生成することができる。即ち、復元された隣接ブロックの動きベクトル及び/又はｃｏｌｌｏｃａｔｅｄブロックの動きベクトルは、動きベクトル候補(ｍｏｔｉｏｎ ｖｅｃｔｏｒ ｃａｎｄｉｄａｔｅ)として使われることができる。符号化器は、前記リストに含まれている動きベクトル候補の中から選択された最適の予測動きベクトルを指示する予測動きベクトル索引を復号化器に送信することができる。このとき、復号化器は、前記予測動きベクトル索引を利用し、動きベクトル候補リストに含まれている予測動きベクトル候補の中から、現在ブロックの予測動きベクトルを選択することができる。
【００６３】
符号化器は、現在ブロックの動きベクトルと予測動きベクトルとの間の動きベクトル差分(ＭＶＤ：Ｍｏｔｉｏｎ Ｖｅｃｔｏｒ Ｄｉｆｆｅｒｅｎｃｅ)を求めることができ、これを符号化して復号化器に送信することができる。このとき、復号化器は、受信された動きベクトル差分を復号化することができ、復号化された動きベクトル差分と予測動きベクトルとの和を介して現在ブロックの動きベクトルを誘導することができる。
【００６４】
他の例として、マージモードが適用される場合、符号化器及び復号化器は、復元された隣接ブロックの動き情報及び/又はｃｏｌｌｏｃａｔｅｄブロックの動き情報を利用し、マージ候補リストを生成することができる。即ち、符号化器及び復号化器は、復元された隣接ブロック及び/又はｃｏｌｌｏｃａｔｅｄブロックの動き情報が存在する場合、これを現在ブロックに対するマージ候補として使用することができる。
【００６５】
符号化器は、マージ候補リストに含まれているマージ候補のうち、最適の符号化効率を提供することができるマージ候補を現在ブロックに対する動き情報として選択することができる。このとき、前記選択されたマージ候補を指示するマージ索引がビットストリームに含まれて復号化器に送信されることができる。復号化器は、前記送信されたマージ索引を利用して、マージ候補リストに含まれているマージ候補の中から一つを選択することができ、前記選択されたマージ候補を現在ブロックの動き情報に決定することができる。したがって、マージモードが適用される場合、復元された隣接ブロック及び/又はｃｏｌｌｏｃａｔｅｄブロックの動き情報が現在ブロックの動き情報としてそのまま使われることができる。
【００６６】
前述したＡＭＶＰ及びマージモードでは、現在ブロックの動き情報を誘導するために、復元された隣接ブロックの動き情報及び/又はｃｏｌｌｏｃａｔｅｄブロックの動き情報が使われることができる。以下、後述される実施例において、復元された隣接ブロックから誘導される動き情報は、空間的動き情報といい、ｃｏｌｌｏｃａｔｅｄブロックに基づいて誘導される動き情報は、時間的動き情報という。例えば、復元された隣接ブロックから誘導される動きベクトルは、空間的動きベクトル(ｓｐａｔｉａｌ ｍｏｔｉｏｎ ｖｅｃｔｏｒ)といい、ｃｏｌｌｏｃａｔｅｄブロックに基づいて誘導される動きベクトルは、時間的動きベクトル(ｔｅｍｐｏｒａｌ ｍｏｔｉｏｎ ｖｅｃｔｏｒ)という。
【００６７】
また、図３を参照すると、符号化器及び復号化器は、前記誘導された動き情報に基づいて現在ブロックに対する動き補償を実行することによって、予測ブロックを生成することができる(Ｓ３２０)。ここで、予測ブロックは、現在ブロックに対する動き補償実行結果生成された、動き補償されたブロックを意味する。また、複数の動き補償されたブロックは、一つの動き補償された映像を構成することができる。したがって、後述される実施例において、予測ブロックは、文脈によって、‘動き補償されたブロック’及び/又は‘動き補償された映像’と表現され、このような区分は、該当技術分野において通常の知識を有する者であれば容易にすることができる。
【００６８】
一方、インター予測が実行されるピクチャにはＰピクチャ及びＢピクチャがある。Ｐピクチャは、一つの参照ピクチャを利用した単方向予測(ｕｎｉ−ｄｉｒｅｃｔｉｏｎａｌ ｐｒｅｄｉｃｔｉｏｎ)が実行されるピクチャを意味し、Ｂピクチャは、一つ以上、例えば、二つの参照ピクチャを利用した順方向(ｆｏｒｗａｒｄ−ｄｉｒｅｃｔｉｏｎａｌ)、逆方向(ｂａｃｋｗａｒｄ−ｄｉｒｅｃｔｉｏｎａｌ)又は双方向(ｂｉ−ｐｒｅｄｉｃｔｉｖｅ)予測が実行されることができるピクチャを意味する。例えば、Ｂピクチャでは、１個の順方向参照ピクチャ(過去ピクチャ)及び１個の逆方向参照ピクチャ(未来ピクチャ)を利用してインター予測が実行されることができる。また、Ｂピクチャでは、２個の順方向参照ピクチャを利用して予測が実行されることもでき、２個の逆方向参照ピクチャを利用して予測が実行されることもできる。
【００６９】
ここで、参照ピクチャは、参照ピクチャリストにより管理されることができる。Ｐピクチャで使用する前記参照ピクチャは、参照ピクチャリスト０(Ｌ０又はＬｉｓｔ０)に割り当てられることができる。Ｂピクチャで使用する前記２個の参照ピクチャは、各々、参照ピクチャリスト０及び参照ピクチャリスト１(Ｌ１又はＬｉｓｔ１)に割り当てられることができる。以下、Ｌ０参照ピクチャリストは、参照ピクチャリスト０と同一な意味を有することができ、Ｌ１参照ピクチャリストは、参照ピクチャリスト１と同一な意味を有することができる。
【００７０】
一般的に、順方向参照ピクチャは、参照ピクチャリスト０に割り当てられ、逆方向参照ピクチャは、参照ピクチャリスト１に割り当てられることができる。しかし、参照ピクチャの割当方法は、これに限定されるものではなく、順方向参照ピクチャが参照ピクチャリスト１に割り当てられてもよく、逆方向参照ピクチャが参照ピクチャリスト０に割り当てられてもよい。以下、参照ピクチャリスト０に割り当てられた参照ピクチャは、Ｌ０参照ピクチャといい、参照ピクチャリスト１に割り当てられた参照ピクチャは、Ｌ１参照ピクチャという。
【００７１】
参照ピクチャは、一般的に参照ピクチャ番号によって、降順に参照ピクチャリストに割り当てられることができる。ここで、参照ピクチャ番号は、各参照ピクチャにＰＯＣ(Ｐｉｃｔｕｒｅ Ｏｒｄｅｒ Ｃｏｕｎｔ)順序に割り当てられた番号を意味し、前記ＰＯＣ順序は、ピクチャの表示順序及び/又は時間順序を意味する。例えば、参照ピクチャ番号が同一な２個の参照ピクチャは、互いに同一な参照ピクチャに該当されることができる。
参照ピクチャリストに割り当てられた参照ピクチャは、参照ピクチャリスト修正(Ｒｅｆｅｒｅｎｃｅ Ｐｉｃｔｕｒｅ Ｌｉｓｔ Ｍｏｄｉｆｉｃａｔｉｏｎ)により再配列されることができる。
【００７２】
前述したように、Ｐピクチャでは１個のＬ０参照ピクチャを利用した単方向予測が実行されることができ、Ｂピクチャでは１個のＬ０参照ピクチャ及び１個のＬ１参照ピクチャ、即ち、２個の参照ピクチャを利用した順方向、逆方向又は双方向予測が実行されることができる。１個の参照ピクチャを利用した予測は、単予測(ｕｎｉ−ｐｒｅｄｉｃｔｉｏｎ)といい、Ｌ０参照ピクチャ及びＬ１参照ピクチャを含む２個の参照ピクチャを利用した予測は、双予測(ｂｉ−ｐｒｅｄｉｃｔｉｏｎ)という。
【００７３】
双予測は、順方向予測、逆方向予測、及び双方向予測の全てを含む概念として使われることができるが、後述される実施例では、便宜上、２個の参照ピクチャ(Ｌ０参照ピクチャ及びＬ１参照ピクチャ)を利用した予測は、双方向予測という。即ち、後述される実施例において、双方向予測は、双予測を意味し、２個の参照ピクチャ(Ｌ０参照ピクチャ及びＬ１参照ピクチャ)を利用した順方向、逆方向、双方向予測の全てを含む概念として理解されることができる。また、双予測が実行される場合にも順方向予測又は逆方向予測が実行されることができるが、後述される実施例では、便宜上、１個の参照ピクチャのみを利用した予測を単方向予測という。即ち、後述される実施例において、単方向予測は、単予測を意味し、１個の参照ピクチャを利用した予測のみを含む概念として理解しなければならない。また、以下、予測が実行されるブロックに対して単方向予測(単予測)が適用されるか、又は双方向予測(双予測)が適用されるかを指示する情報は、予測方向情報という。
【００７４】
図４は、本発明の一実施例に係る映像符号化/復号化装置が動きベクトル候補を誘導して予測動きベクトルを決定する過程を示すフローチャートである。
【００７５】
図４を参照すると、符号化器及び復号化器は、予測動きベクトルを決定するために、まず、空間的動きベクトル候補を誘導する(Ｓ４１０)。符号化器及び復号化器は、空間的動きベクトル候補として、前述したように、現在ブロックの空間的な周辺で既に復元されたブロック(参照ブロック)から動きベクトル候補を誘導することができる。このとき、空間的動きベクトル候補は、最大空間的動きベクトル候補個数(ｍａｘＮｕｍＳｐａｔｉａｌＭＶＰＣａｎｄ)ほど誘導することができる。参照ブロックの参照ピクチャと現在ブロックの参照ピクチャとが互いに異なる場合、スケーリングを実行して空間的動きベクトル候補を誘導することができる。
【００７６】
空間的動きベクトル候補誘導が完了すると、符号化器及び復号化器は、時間的動きベクトル候補を誘導する(Ｓ４２０)。符号化器及び復号化器は、現在ブロックの時間的な周辺であるｃｏｌｌｏｃａｔｅｄピクチャで復元されたｃｏｌｌｏｃａｔｅｄブロックから動きベクトル候補を誘導することができる。また、時間的動きベクトル候補は、最大時間的動きベクトル候補個数(ｍａｘＮｕｍＴｅｍｐｏｒａｌＭＶＰＣａｎｄ)まで誘導することができる。また、現在ピクチャと現在ブロックの参照ピクチャとの距離と、ｃｏｌｌｏｃａｔｅｄピクチャとｃｏｌｌｏｃａｔｅｄブロックの参照ピクチャとの距離と、が互いに異なる場合、スケーリングを実行して時間的動きベクトル候補を誘導することができる。
【００７７】
空間的動きベクトル候補の誘導又は時間的動きベクトル候補の誘導が完了すると、誘導された動きベクトル候補を動きベクトル候補リストに追加する(Ｓ４３０)。即ち、符号化器及び復号化器は、前記誘導された空間的動きベクトル候補及び時間的動きベクトル候補を順序通りに動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)に追加することができる。動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)は、参照ピクチャリストＬ０とＬ１のうちいずれか一つの参照ピクチャリストに該当する動きベクトル候補リストを意味し、例えば、参照ピクチャリストＬ０に該当する動きベクトル候補リストは、ｍｖｐＬｉｓｔＬ０で表現されることができる。
【００７８】
動きベクトル候補リストが構成された後、符号化器及び復号化器は、同一な動きベクトル候補を除去する(Ｓ４４０)。動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)内で同一な動きベクトル値を有する動きベクトル候補が存在するかどうかを検討する。例えば、同一な空間的動きベクトル候補が複数個ある場合、同一な空間的動きベクトル候補の中から動きベクトル候補索引が最も小さい空間的動きベクトル候補のみ残し、残りの空間的動きベクトル候補を動きベクトル候補リストから除去する。即ち、同一な動きベクトル値を有する候補が複数個ある場合、同一な動きベクトル値を有する候補を一つのみ動きベクトル候補リストに残すことができる。そして、除去される動きベクトル候補は、１個である。
【００７９】
そして、符号化器及び復号化器は、特定動きベクトルを追加し、又は一部を除去することによって動きベクトル候補リストを調整する(Ｓ４５０)。符号化器及び復号化器は、動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)に動きベクトルを追加し、又は動きベクトル候補リストに含まれている動きベクトル候補の中から一部を除去することによって動きベクトル候補リストの大きさを調整することができる。そして、除去される動きベクトル候補は、１個である。このとき、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)を基準にして動きベクトル候補リスト内に動きベクトル候補が存在するかどうかを検討せずに、特定動きベクトルを追加することができる。また、動きベクトル候補リスト内に特定動きベクトルが存在するかどうかを検討せずに、特定動きベクトルを追加することによって動きベクトル候補リスト内の動きベクトル候補数を調整することができる。このとき、追加される特定動きベクトルは、固定された整数値を有するベクトルであり、場合によって、(０,０)動きベクトルである。ここで、(０,０)動きベクトルとは、ベクトルのｘ成分とｙ成分の値が０である動きベクトルを意味し、０動きベクトル(ｚｅｒｏ ｍｏｔｉｏｎ ｖｅｃｔｏｒ)という。
【００８０】
最後に、符号化器及び復号化器は、調整された動きベクトル候補リストに基づいて予測動きベクトルを決定することができる(Ｓ４６０)。
【００８１】
図５は、空間的動きベクトル候補誘導過程の一実施例を概略的に示す。
【００８２】
図５を参照すると、符号化器及び復号化器は、現在ブロック５００の空間的動きベクトル候補を誘導するために、復元された隣接ブロック５１０、５１２、５１４、５１６、５１８の動き情報が存在するかどうかを判断する。復元された隣接ブロックの動き情報が存在しない場合、動きベクトル候補として使用可能でないと判断することができる。
【００８３】
本発明の一実施例によると、符号化器及び復号化器は、現在ブロック５００の左側下方コーナーに位置したＡＯブロック５１０、現在ブロック５００の左側最下端に隣接したＡ１ブロック５１２、現在ブロック５００の右側上方コーナーに位置したＢ０ブロック５１４、現在ブロック５００の上方最右側に隣接したＢ１ブロック５１６、及び現在ブロック５００の左側上方コーナーに位置したＢ２ブロック５１８から空間的動きベクトルを誘導して現在ブロック５００の空間的動きベクトル候補に決定することができる。
【００８４】
このとき、Ａ０、Ａ１、ＢＯ、Ｂ１、及びＢ２ブロック５１０、５１２、５１４、５１６、５１８の順序通りに各ブロックで動きベクトルが存在するかどうかを判断することができる。動きベクトルが存在する場合、該当ブロックの動きベクトルを動きベクトル候補に決定することができる。空間的動きベクトル候補は、最大空間的動きベクトル個数(ｍａｘＮｕｍＳｐａｔｉａｌＭＶＰＣａｎｄ)まで誘導することができ、このとき、最大空間的動きベクトル個数(ｍａｘＮｕｍＳｐａｔｉａｌＭＶＰＣａｎｄ)は、０を含む正の整数である。本発明の実施例によると、前記最大空間的動きベクトル個数(ｍａｘＮｕｍＳｐａｔｉａｌＭＶＰＣａｎｄ)は、２である。したがって、Ａ０ブロック５１０及びＡ１ブロック５１２から一つの動きベクトル候補を誘導し、ＢＯブロック５１４、Ｂ１ブロック５１６、及びＢ２ブロック５１８から一つの動きベクトル候補を誘導することによって、総２個の空間的動きベクトルを誘導し、同時にＡ０ブロック５１０及びＡ１ブロック５１２から誘導された動きベクトルと、ＢＯブロック５１４、Ｂ１ブロック５１６、及びＢ２ブロック５１８から誘導された動きベクトルと、が同じでない場合、時間的動きベクトル候補の誘導過程を実行しない。また、前記復元された隣接ブロックの参照ピクチャと現在ブロック５００の参照ピクチャとが異なる場合、現在ブロック５００の参照ピクチャと前記復元された隣接ブロックの参照ピクチャの距離を利用して前記隣接ブロックの動きベクトルをスケーリング(ｓｃａｌｉｎｇ)して使用することができる。
【００８５】
本発明の他の実施例によると、復元された隣接ブロックから空間的動きベクトルを誘導する具体的な方式として下記の方式に従うことができる。
【００８６】
１)所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照ピクチャリスト及び参照ピクチャと、現在ブロックの参照ピクチャリスト及び参照ピクチャと、が同じ場合、該当ブロックの動きベクトルを現在ブロックの動きベクトル候補として誘導することができる。
【００８７】
２)所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照ピクチャリストと現在ブロックの参照ピクチャリストが異なるが、該当ブロックと現在ブロックの参照ピクチャとが互いに同じ場合、該当ブロックの動きベクトルを現在ブロックの動きベクトル候補として誘導することができる。
【００８８】
３)所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照ピクチャリストと現在ブロックの参照ピクチャリストとが同じであるが、該当ブロックの参照ピクチャと現在ブロックの参照ピクチャとが異なる場合、該当ブロックの動きベクトルにスケーリングを実行して現在ブロックの動きベクトル候補として誘導することができる。
【００８９】
４)所定の位置にブロックが存在し、該当ブロックが画面内符号化されず、該当ブロックの参照ピクチャリスト及び参照ピクチャと、現在ブロックの参照ピクチャリスト及び参照ピクチャと、が異なる場合、該当ブロックの動きベクトルにスケーリングを実行して現在ブロックの動きベクトル候補として誘導することができる。
【００９０】
前記の１)〜４)過程に基づいて、符号化器及び復号化器は、ＡＯブロック５１０に対して１)と２)過程を実行し、Ａ１ブロック５１２に対して１)と２)過程を実行し、ＡＯブロック５１０に対して３)と４)過程を実行し、Ａ１ブロック５１２に対して３)と４)過程を実行し、Ｂ０ブロック５１４に対して１)と２)過程を実行し、Ｂ１ブロック５１６に対して１)と２)過程を実行し、Ｂ２ブロック５１８に対してブロックに１)と２)過程を実行し、Ｂ０ブロック５１４に対して３)と４)過程を実行し、Ｂ１ブロック５１６に対して３)と４)過程を実行し、Ｂ２ブロック５１８に対して３)と４)過程を実行するステップを順次に進行することができる。
【００９１】
図６は、時間的動きベクトル候補誘導過程の一実施例を概略的に示す。
【００９２】
図６を参照すると、符号化器及び復号化器は、前記現在ブロック５００の時間的周辺である対応位置ピクチャ(又は、ｃｏｌｌｏｃａｔｅｄピクチャ)で復元された対応位置ブロック(又は、ｃｏｌｌｏｃａｔｅｄブロック６００)から動きベクトル候補を誘導することができる。
【００９３】
本発明の一実施例によると、現在ピクチャのｃｏｌｌｏｃａｔｅｄピクチャで現在ブロック５００と空間的に同一位置に対応されるｃｏｌｌｏｃａｔｅｄブロック６００の外部に存在するＨ位置のブロック６１０とｃｏｌｌｏｃａｔｅｄブロック６００内部のＣ３位置に存在するブロック６１２の順序通りに、時間的動きベクトル候補を誘導することができる。このとき、Ｈブロック６１０から動きベクトルを誘導することができる場合、Ｈブロック６１０から時間的動きベクトルを誘導し、Ｈブロック６１０から動きベクトルを誘導することができない場合、Ｃ３ブロック６１２から時間的動きベクトル候補を誘導することができる。
【００９４】
ここで、Ｈブロック６１０は、ｃｏｌｌｏｃａｔｅｄブロック６００の右側下方コーナーのブロックであり、Ｃ３ブロック６１２は、ｃｏｌｌｏｃａｔｅｄブロック６００の中心を基準にする正四角形を四分割したブロックのうち右側下方のブロックである。時間的動きベクトルは、前記Ｈブロック６１０及びＣ３ブロック６１２の相対的な位置によって決定されることができる。もし、所定のＨブロック６１０及びＣ３ブロック６１２が画面内符号化された場合には、時間的動きベクトル候補を誘導することができない。
【００９５】
また、時間的動きベクトル候補は、最大時間的動きベクトル個数(ｍａｘＮｕｍＴｅｍｐｏｒａｌＭＶＰＣａｎｄ)まで誘導することができる。このとき、最大時間的動きベクトル個数(ｍａｘＮｕｍＴｅｍｐｏｒａｌＭＶＰＣａｎｄ)は、０を含む正の整数であり、一例として、前記最大時間的動きベクトル個数(ｍａｘＮｕｍＴｅｍｐｏｒａｌＭＶＰＣａｎｄ)は、１である。もし、現在ピクチャと現在ブロック５００の参照ピクチャとの距離と、ｃｏｌｌｏｃａｔｅｄピクチャとｃｏｌｌｏｃａｔｅｄブロック６００の参照ピクチャとの距離と、が互いに異なる場合、動きベクトルに対してスケーリングを実行することで、時間的動きベクトル候補を誘導することができる。
【００９６】
スケーリングは、下記のような過程を介して実行されることができる。
【００９７】
まず、ｃｏｌｌｏｃａｔｅｄピクチャと前記Ｈブロック６１０又はＣ３ブロック６１２の参照ピクチャとの間のＰＯＣ(Ｐｉｃｔｕｒｅ Ｏｒｄｅｒ Ｃｏｕｎｔ)差分値、及び現在ピクチャと現在ブロックの参照ピクチャとの間のＰＯＣ差分値を示すｔｄ値及びｔｂ値を求める。このとき、ｉ)空間的動きベクトル誘導過程の場合、ｔｄ値は、現在ピクチャのＰＯＣと空間的に隣接した参照ブロックが参照する参照ピクチャのＰＯＣとの間の差分値を示し、ｔｂ値は、現在ピクチャのＰＯＣと現在ブロックが参照する参照ピクチャのＰＯＣとの間の差分値を示す。このとき、現在ブロックの参照ピクチャと参照ブロックの参照ピクチャの予測方向が互いに異なる場合、ｔｄ及びｔｂ値の符号を相違に付与することができる。場合によって、ｔｄ値又はｔｂ値は、−１２８〜１２７の範囲に含まれるように調整されることができる。このとき、ｔｄ値又はｔｂ値が−１２８より小さい場合、ｔｄ値又はｔｂ値を−１２８に調整し、ｔｄ値又はｔｂ値が１２７より大きい場合、ｔｄ値又はｔｂ値を１２７に調整することができる。ｔｄ値又はｔｂ値が−１２８〜１２７の範囲に含まれると、ｔｄ値又はｔｂ値を調整しない。
【００９８】
ｔｄ値とｔｂ値を求めた後、ｔｄ値の反比例値であるｔｘ値を算出する。これは(１６３８４＋(Ａｂｓ(ｔｄ)＞＞１))/ｔｄの数式を利用して決定されることができる。このとき、Ａｂｓ()は、入力値の絶対値を示す。
【００９９】
そして、スケーリング因子であるＤｉｓｔＳｃａｌｅＦａｃｔｏｒを(ｔｂ＊ｔｘ＋３２)＞＞６の数式を利用して決定し、−１０２４〜１０２３の範囲に含まれるように調整する。
【０１００】
調整されたＤｉｓｔＳｃａｌｅＦａｃｔｏｒ値を有し、Ｓｉｇｎ(ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ)＊((Ａｂｓ(ＤｉｓｔＳｃａｌｅＦａｃｔｏｒ＊ｍｖＣｏｌ)＋１２７)＞＞８)の数式を利用してスケーリングされた時間的動きベクトルを算出することができる。このとき、Ｓｉｇｎ()は、入力値の符号情報を出力し、ｍｖＣｏｌは、スケーリングされる前、時間的動きベクトル値を示す。
【０１０１】
図７は、誘導された動きベクトルに基づいて動きベクトル候補リストを構成する実施例を概略的に示す。
【０１０２】
図７を参照すると、符号化器及び復号化器は、誘導された動きベクトル候補を動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)に追加する。符号化器及び復号化器は、誘導された空間的動きベクトル候補及び時間的動きベクトル候補を順序通りに動きベクトル候補リストに追加する。ｍｖｐＬｉｓｔＬＸは、参照ピクチャリストＬ０とＬ１のうちいずれか一つの参照ピクチャリストに該当する動きベクトル候補リストを意味する。例えば、参照ピクチャリストＬ０に該当する動きベクトル候補リストは、ｍｖｐＬｉｓｔＬ０で表すことができる。
【０１０３】
動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)の大きさは、所定の数字である最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)を基準に決定されることができる。このとき、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)は、２である。もし、最大動きベクトル候補個数が３であり、誘導された動きベクトル候補が３個である場合、動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)に最初に追加される動きベクトル候補は、動きベクトル候補索引値０を有し、最後に追加される動きベクトル候補は、動きベクトル候補索引値２を有することができる。
【０１０４】
図７の実施例によると、Ａ１ブロック５１２からスケーリングされない空間的動きベクトル候補(１,０)が誘導され、Ｂ１ブロック５１６からスケーリングされた空間的動きベクトル候補(４,−１)が誘導され、Ｈブロック６１０から時間的動きベクトル候補(２,３)が誘導された場合、動きベクトル候補は、順序通りに動きベクトル候補リスト７００に追加される。このとき、Ａ１ブロック５１２から誘導された動きベクトル候補索引値は０になり、Ｂ１ブロック５１６から誘導された動きベクトル候補索引値は１になり、Ｈブロック６１０から誘導された動きベクトル候補索引値は２になることができる。前記実施例において、最大動きベクトル候補個数が２の場合を仮定すると、Ａ１ブロック５１２とＢ１ブロック５１６から誘導された動きベクトル候補が互いに同じでないため、時間的動きベクトル候補を誘導せずに、Ａ１ブロック５１２とＢ１ブロック５１６から誘導された動きベクトル候補が動きベクトル候補リストに追加される。
【０１０５】
図８は、動きベクトル候補リストから同一な動きベクトルを除去する実施例を概略的に示す。
【０１０６】
図８を参照すると、符号化器及び復号化器は、動きベクトル候補リスト８００内に同一な動きベクトル候補があるかどうかを検査する。検査結果、同一な動きベクトル候補が複数個存在する場合、同一な動きベクトル候補の中から動きベクトル候補索引が最も小さい動きベクトル候補のみを動きベクトル候補リスト８００に残し、残りの動きベクトル候補は、動きベクトル候補リスト８００から除去する。このとき、空間的動きベクトル候補に対してのみ同一な動きベクトル候補除去動作を実行することができる。
【０１０７】
図８の実施例によると、動きベクトル候補リスト８００が(１,０)、(１,０)、及び(２,３)の３個の動きベクトル候補で構成されている場合、索引０と索引１に該当する候補が互いに同一な(１,０)である。同一な動きベクトルがある場合、符号化器及び復号化器は、再構成された動きベクトル候補リスト８１０と同様に、同一な動きベクトル候補の中から索引が最も小さい動きベクトル候補のみを動きベクトル候補リスト８１０に残し、残りの動きベクトル候補を除去する。
【０１０８】
図９は、本発明の一実施例に係る動きベクトル候補リスト調整過程を概略的に示すフローチャートである。
【０１０９】
図９を参照すると、符号化器及び復号化器は、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より小さいかどうかを判断する(Ｓ９１０)。前記含まれている動き候補の個数が最大動きベクトル候補個数より小さい場合、(０,０)動きベクトルを動きベクトル候補リストに追加する(Ｓ９２０)。(０,０)動きベクトルを動きベクトル候補リストに追加すると、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)を１ほど増加させることができる。(０,０)動きベクトル追加以後、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より小さいかどうかに対する判断及び(０,０)動きベクトル追加動作を、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)に到達する時まで繰り返す。即ち、前記過程を動きベクトル候補リスト内に含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補の個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)と同じになる時まで実行することによって、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)と最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が同じになることができる。
【０１１０】
ただし、本発明の他の実施例によると、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より小さい場合、(０,０)動きベクトルを一つのみ追加することができる。
【０１１１】
結論的に、前記動きベクトル候補リストに含まれている動きベクトル候補の個数は、最大動きベクトル候補個数により決定されることができる。
【０１１２】
本発明の一実施例によると、また、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より大きい場合、動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整することができる。このとき、除去される動きベクトル候補は、最大動きベクトル候補個数より一つ小さい数(ｍａｘＮｕｍＭＶＰＣａｎｄ−１)より大きい索引値を有する動きベクトル候補である。また、前記含まれている動き候補の個数と最大動きベクトル候補個数が同じ場合、最終動きベクトル候補を誘導する。このとき、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２の場合、最終的に最大２個の動きベクトル候補を誘導することができる。このとき、誘導された動きベクトル候補は、動きベクトル候補リスト内に含まれることができ、誘導された動きベクトル候補のうち一つは、予測ブロックの予測動きベクトルに決定されることができる。
【０１１３】
本発明の他の実施例によると、また、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より大きい又は同じ場合、動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整することができる。同様に、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)と同じ場合には、動きベクトル候補を除去する必要がないため、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より大きい場合にのみ、動きベクトル候補の中から一部を除去することによって動きベクトル候補リストを調整することができる。
【０１１４】
前記過程を介して、動きベクトル候補リスト内の動きベクトル候補個数と最大動きベクトル候補個数のみを比較して動きベクトル候補リストに動きベクトル候補を追加するため、追加する特定動きベクトル候補((０,０)動きベクトル)が動きベクトル候補リストに存在するかどうかに対する重複性検査(ｄｕｐｌｉｃａｔｅ ｃｈｅｃｋ)を実行しないことで、動きベクトル予測において、演算複雑度を減少させることができる。
【０１１５】
また、動きベクトル候補リスト内の動きベクトル候補個数と最大動きベクトル候補個数のみを比較し、動きベクトル候補リスト構成の中間ステップに実行される動きベクトル候補リスト内の動きベクトル有無検査(ｌｉｓｔ ｅｍｐｔｙ ｃｈｅｃｋ)を実行しなくてもよいし、これによって、動きベクトル予測の演算複雑度を追加的に減少させることができる。
【０１１６】
図１０は、動きベクトル候補リストに一つの動きベクトル候補が存在する場合、(０,０)動きベクトルの追加実施例を概略的に示す。
【０１１７】
符号化器及び復号化器は、動きベクトル候補リスト(ｍｖｐＬｉｓｔＬＸ)に動きベクトルを追加し、又は一部を除去することによって動きベクトル候補リストの大きさを調整することができる。ここで、ｎｕｍＭＶＰＣａｎｄＬＸは、参照ピクチャリストＬ０とＬ１のうちいずれか一つの参照ピクチャリストに該当する動きベクトル候補リスト内の動きベクトル候補数を意味し、最大動きベクトル候補リストの大きさは、所定の数字である最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)により決定されることができる。例えば、参照ピクチャリストＬ０に該当する動きベクトル候補リスト内の動きベクトル候補数は、ｎｕｍＭＶＰＣａｎｄＬ０で表現されることができる。このとき、ｎｕｍＭＶＰＣａｎｄＬＸとｍａｘＮｕｍＭＶＰＣａｎｄは、０を含む正の整数であり、一実施例としてｍａｘＮｕｍＭＶＰＣａｎｄは、２である。
【０１１８】
図１０を参照すると、本発明の一実施例において、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２の場合、動きベクトル候補リスト１０００に含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が１であって、前記動きベクトル候補リスト１０００に含まれている動きベクトル候補の個数が前記最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より小さいため、動きベクトル候補リスト１０００に特定動きベクトルを追加し、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)を１ほど増加させることができる。これによって、特定動きベクトルが追加されることによって、大きさが調整された動きベクトル候補リスト１０１０を生成することができる。このとき、追加される特定動きベクトルは、所定の固定された整数値を有するベクトルであり、(０,０)動きベクトルである。
【０１１９】
図１１は、動きベクトル候補リストに一つの(０,０)動きベクトル候補が存在する場合、(０,０)動きベクトルの追加実施例を概略的に示す。
【０１２０】
図１１を参照すると、本発明の他の実施例において、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２であり、動きベクトル候補リスト１１００に含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が前記最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より小さく、動きベクトル候補リスト１１００内に一つの特定動きベクトル((０,０)動きベクトル)が存在できる。この場合、符号化器及び復号化器は、動きベクトル候補リスト１１００内に特定動きベクトル((０,０)動きベクトル)が存在するかどうかと関係なしで特定動きベクトルを追加することができる。これによって、特定動きベクトルがさらに１個追加されることによって、大きさが調整された動きベクトル候補リスト１１１０を生成することができる。このとき、追加される特定動きベクトルは、所定の固定された整数値を有するベクトルであり、(０,０)動きベクトルである。
特定動きベクトルを追加することで、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)を増加させることができる。したがって、動きベクトル候補リスト１１１０には最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)ほどの(０,０)動きベクトルが含まれることができる。符号化器及び復号化器は、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)と動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)のみを比較して特定動きベクトルを追加するため、特定動きベクトルがリスト内に存在するかどうかを判断しないことで、演算複雑度を減少させることができる。
【０１２１】
図１２は、動きベクトル候補リストに動きベクトルが存在しない場合、(０,０)動きベクトルの追加実施例を概略的に示す。
【０１２２】
図１２を参照すると、本発明の他の実施例において、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２であり、動きベクトル候補リスト１２００に含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が前記最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より小さく、動きベクトル候補リスト１２００内に動きベクトルが存在しない。この場合、符号化器及び復号化器は、動きベクトル候補リスト１２００内に動きベクトル候補が存在するかどうかと関係なしで特定動きベクトルを繰り返して追加することができる。特定動きベクトルを追加することで、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)を増加させることができる。即ち、符号化器及び復号化器は、動きベクトル候補リスト内に含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)に到達する時まで特定動きベクトルを追加することができる。前記実施例のように、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２の場合、特定動きベクトルを２個追加することができる。このとき、追加される特定動きベクトルは、所定の固定された整数値を有するベクトルであり、(０,０)動きベクトルである。したがって、動きベクトル候補リスト１２１０には最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)ほどの(０,０)動きベクトルが含まれることができる。符号化器及び復号化器は、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)と動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)のみを比較して特定動きベクトルを追加するため、動きベクトル候補がリスト内に存在するかどうかを判断しないことで、演算複雑度を減少させることができる。
【０１２３】
図面に示されていないが、本発明の他の実施例によると、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２であり、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が前記最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より小さい場合、一つの特定動きベクトルを追加することができる。特定動きベクトルを追加することで、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)を増加させることができる。即ち、追加される特定動きベクトルを繰り返して追加せずに、一つの特定動きベクトルのみを追加することができる。例えば、動きベクトル候補リスト内に動きベクトルが存在しない場合、符号化器及び復号化器は、動きベクトル候補リスト内に動きベクトル候補が存在するかどうかと関係なしで一つの特定動きベクトルを追加することができる。特定動きベクトルを追加することで、動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)を増加させることができる。このとき、追加される特定動きベクトルは、所定の固定された整数値を有するベクトルであり、(０,０)動きベクトルである。このような場合にも、符号化器及び復号化器は、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)と動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)のみを比較して特定動きベクトルを追加するため、動きベクトル候補がリスト内に存在するかどうかを判断しないことで、演算複雑度を減少させることができる。
【０１２４】
図１３は、動きベクトル候補リストから動きベクトル候補の一部を除去する実施例を概略的に示す。
【０１２５】
図１３を参照すると、本発明の一実施例において、符号化器及び復号化器は、動きベクトル候補リスト１３００に含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より大きい場合、前記最大動きベクトル候補個数より１小さい値(ｍａｘＮｕｍＭＶＰＣａｎｄ−１)より大きい索引値を有する動きベクトル候補を動きベクトル候補リスト１３００から除去することができる。例えば、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２であり、動きベクトル候補リスト１３００に含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が３の場合、前記最大動きベクトル候補個数である２より１小さい値(ｍａｘＮｕｍＭＶＰＣａｎｄ−１)である１より大きい索引値である２を有する動きベクトル候補(４,−３)を動きベクトル候補リスト１３００から除去することで、大きさが調整された動きベクトル候補リスト１３１０を生成することができる。
【０１２６】
本発明の他の実施例によると、符号化器及び復号化器は、動きベクトル候補リストに含まれている動きベクトル候補の個数(ｎｕｍＭＶＰＣａｎｄＬＸ)が最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)より大きい又は同じ場合、前記最大動きベクトル候補個数より１小さい値(ｍａｘＮｕｍＭＶＰＣａｎｄ−１)より大きい索引値を有する動きベクトル候補を動きベクトル候補リストから除去することができる。
【０１２７】
図１４は、動きベクトル候補リスト内の動きベクトル候補の中から予測動きベクトルを決定する過程を概略的に示す。
【０１２８】
図１４を参照すると、符号化器及び復号化器は、前記過程を介して調整された動きベクトル候補リスト１４００に含まれている動きベクトル候補から予測動きベクトルを決定することができる。
【０１２９】
一実施例によると、符号化器及び復号化器は、特定動きベクトル候補索引に該当する動きベクトル候補リスト１４００内の動きベクトル候補を予測動きベクトルに決定することができる。例えば、最大動きベクトル候補個数(ｍａｘＮｕｍＭＶＰＣａｎｄ)が２であり、動きベクトル候補索引が１の場合、動きベクトル候補(２,３)が予測動きベクトルに決定されることができる。
【０１３０】
符号化器及び復号化器は、前記のように決定された予測動きベクトル値に基づいてインター予測又は動き補償を実行することで、予測ブロックを生成することができる。
【０１３１】
前述した実施例において、方法は、一連のステップ又はブロックで順序図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序に又は同時に発生することができる。また、当該技術分野において、通常の知識を有する者であれば、順序図に示すステップが排他的でなく、他のステップが含まれ、又は順序図の一つ又はそれ以上のステップが本発明の範囲に影響を及ぼさずに削除可能ことを理解することができる。
【０１３２】
前述した実施例は、多様な態様の例示を含む。多様な態様を示すための全ての可能な組合せを記述することはできないが、該当技術分野の通常の知識を有する者は、他の組合せが可能であることを認識することができる。したがって、本発明は、特許請求の範囲内に属する全ての交替、修正及び変更を含む。
【図１】
2020120391.tif 000003
【図２】
2020120391.tif 000004
【図３】
2020120391.tif 000005
【図４】
2020120391.tif 000006
【図５】
2020120391.tif 000007
【図６】
2020120391.tif 000008
【図７】
2020120391.tif 000009
【図８】
2020120391.tif 000010
【図９】
2020120391.tif 000011
【図１０】
2020120391.tif 000012
【図１１】
2020120391.tif 000013
【図１２】
2020120391.tif 000014
【図１３】
2020120391.tif 000015
【図１４】
2020120391.tif 000016