(57)【要約】本発明によるエンコーディング装置により実行される映像エンコーディング方法は、ＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）可用（ｅｎａｂｌｅ）フラグを生成するステップと、現在ブロックに対するＭＶＤ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）を導出するステップと、複数のＭＶＤ範囲のうち前記ＭＶＤの値が含まれるＭＶＤ範囲に対するＭＶＤ代表値を導出するステップと、前記ＭＶＤ代表値に対応するコーディングされたＭＶＤを生成するステップと、前記ＡＭＶＲ可用フラグ及び前記コーディングされたＭＶＤをビットストリームを介して出力するステップを含むことを特徴とする。本発明によると、ＭＶＤに割り当てられるビット量が減少して全般的なコーディング効率が増加されることができる。【選択図】図５
2018533298.tif 000002
【特許請求の範囲】
【請求項１】
エンコーディング装置により実行される映像エンコーディング方法において、
ＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）可用（ｅｎａｂｌｅ）フラグを生成するステップと、
現在ブロックに対するＭＶＤ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）を導出するステップと、
複数のＭＶＤ範囲のうち前記ＭＶＤの値が含まれるＭＶＤ範囲に対するＭＶＤ代表値を導出するステップと、
前記ＭＶＤ代表値に対応するコーディングされたＭＶＤを生成するステップと、
前記ＡＭＶＲ可用フラグ及び前記コーディングされたＭＶＤをビットストリームを介して出力するステップとを含むことを特徴とする、エンコーディング方法。
【請求項２】
前記複数のＭＶＤ範囲は、均等な範囲を有する線形（ｌｉｎｅａｒ）ＭＶＤ範囲であり、
前記ＭＶＤ代表値は、前記ＭＶＤの値＋２を４の倍数に切り捨てた値であり、
前記コーディングされたＭＶＤ値は、前記ＭＶＤ代表値を４にスケールダウンした値であることを特徴とする、請求項１に記載のエンコーディング方法。
【請求項３】
前記複数のＭＶＤ範囲は、非均等な範囲を有する非線形（ｎｏｎ−ｌｉｎｅａｒ）ＭＶＤ範囲であり、
前記非線形ＭＶＤ範囲のうち前記コーディングされたＭＶＤ値−１、０、１に対応するＭＶＤ範囲が残りのＭＶＤ範囲より相対的に広い範囲を有することを特徴とする、請求項１に記載のエンコーディング方法。
【請求項４】
前記複数のＭＶＤ範囲は、非均等な範囲を有する非線形（ｎｏｎ−ｌｉｎｅａｒ）ＭＶＤ範囲であり、
前記コーディングされたＭＶＤ値が−１、０、１のうち一つである場合、
前記ＭＶＤ代表値は、前記ＭＶＤの値＋４を８の倍数に切り捨てた値であり、
前記コーディングされたＭＶＤ値は、前記ＭＶＤ代表値を８にスケールダウンした値であることを特徴とする、請求項１に記載のエンコーディング方法。
【請求項５】
前記複数のＭＶＤ範囲が非均等な範囲を有するかどうかを示す非線形ＡＭＶＲ範囲フラグを生成するステップと、
前記非線形ＡＭＶＲ範囲フラグを前記ビットストリームを介して出力するステップとをさらに含むことを特徴とする、請求項１に記載のエンコーディング方法。
【請求項６】
前記非線形ＡＭＶＲ範囲フラグの値が１である場合、非線形ＡＭＶＲ範囲関連パラメータを前記ビットストリームを介して出力するステップをさらに含み、
前記非線形ＡＭＶＲ範囲関連パラメータは、前記ＭＶＤ範囲のうち中央３個のＭＶＤ範囲の大きさ及び該当範囲の代表値に対する情報を含むことを特徴とする、請求項５に記載のエンコーディング方法。
【請求項７】
前記非線形ＡＭＶＲ範囲関連パラメータは、非線形範囲テーブル候補の個数に対する情報を含み、
前記非線形ＡＭＶＲ範囲関連パラメータは、前記非線形範囲テーブル候補の各々に対応する中央３個のＭＶＤ範囲の大きさ及び該当範囲の代表値に対する情報を含むことを特徴とする、請求項６に記載のエンコーディング方法。
【請求項８】
前記非線形範囲テーブル候補のうち一つの候補を示す範囲テーブルインデックスを生成するステップと、
前記範囲テーブルインデックスを前記ビットストリームを介して出力するステップとをさらに含むことを特徴とする、請求項７に記載のエンコーディング方法。
【請求項９】
前記ＭＶＤが整数ペル精密度（ｐｒｅｃｉｓｉｏｎ）を有するか、またはハーフペル精密度を有するかを示すＭＶＤ精密度情報を生成するステップと
前記ＭＶＤ精密度情報を前記ビットストリームを介して出力するステップとをさらに含むことを特徴とする、請求項１に記載のエンコーディング方法。
【請求項１０】
デコーディング装置により実行されるインター予測方法において、
ＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）可用（ｅｎａｂｌｅ）フラグをビットストリームから取得するステップと、
コーディングされたＭＶＤ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）を前記ビットストリームから取得するステップと、
前記ＡＭＶＲ可用フラグの値が１である場合、前記コーディングされたＭＶＤの値に対応する代表ＭＶＤの値を導出するステップと、
現在ブロックの隣接ブロックに基づいて前記現在ブロックに対する動きベクトル予測子（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ、ＭＶＰ）を導出するステップと、
前記ＭＶＰ及び前記代表ＭＶＤに基づいて前記現在ブロックに対する動きベクトル（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ、ＭＶ）を導出するステップと、
前記ＭＶに基づいて前記現在ブロックに対する予測サンプルを生成するステップとを含むことを特徴とする、インター予測方法。
【請求項１１】
前記ＭＶＤ代表値は、複数のＭＶＤ範囲のうち原本（ｏｒｉｇｉｎａｌ）ＭＶＤの値が含まれるＭＶＤ範囲に対する代表値であることを特徴とする、請求項１０に記載のインター予測方法。
【請求項１２】
前記複数のＭＶＤ範囲は、均等な範囲を有する線形（ｌｉｎｅａｒ）ＭＶＤ範囲であり、
前記コーディングされたＭＶＤ値は、前記ＭＶＤ代表値を４にスケールアップした値であることを特徴とする、請求項１１に記載のインター予測方法。
【請求項１３】
前記複数のＭＶＤ範囲は、非均等な範囲を有する非線形（ｎｏｎ−ｌｉｎｅａｒ）ＭＶＤ範囲であり、
前記非線形ＭＶＤ範囲のうち前記コーディングされたＭＶＤ値−１、０、１に対応するＭＶＤ範囲が残りのＭＶＤ範囲より相対的に広い範囲を有することを特徴とする、請求項１１に記載のインター予測方法。
【請求項１４】
前記複数のＭＶＤ範囲が非均等な範囲を有するかどうかを示す非線形ＡＭＶＲ範囲フラグを前記ビットストリームから取得するステップと、
前記非線形ＡＭＶＲ範囲フラグの値が１である場合、非線形ＡＭＶＲ範囲関連パラメータを前記ビットストリームから取得するステップとをさらに含み、
前記代表ＭＶＤ値は、前記非線形ＡＭＶＲ範囲関連パラメータ及び前記コーディングされたＭＶＤ値に基づいて導出されることを特徴とする、請求項１１に記載のインター予測方法。
【請求項１５】
範囲テーブルインデックスを前記ビットストリームを介して取得するステップをさらに含み、
前記非線形ＡＭＶＲ範囲関連パラメータは、非線形範囲テーブル候補の個数に対する情報を含み、
前記非線形ＡＭＶＲ範囲関連パラメータは、前記非線形範囲テーブル候補の各々に対応する中央３個のＭＶＤ範囲の大きさ及び該当範囲の代表値に対する情報を含み、
前記範囲テーブルインデックスは、前記非線形範囲テーブル候補のうち一つの候補を示すことを特徴とする、請求項１４に記載のインター予測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像コーディング技術に関し、より詳しくは、映像コーディングシステムにおけるＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）に基づく映像コーディング方法及び装置に関する。
【背景技術】
【０００２】
最近、ＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）映像及びＵＨＤ（Ｕｌｔｒａ  Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）映像のような高解像度、高品質の映像に対する需要が多様な分野で増加している。映像データが高解像度及び高品質になるほど、既存の映像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して映像データを送信し、または既存の格納媒体を利用して映像データを格納する場合、送信費用と格納費用が増加される。
【０００３】
それによって、高解像度及び高品質映像の情報を効果的に送信または格納し、再生するために高効率の映像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の技術的課題は、映像コーディング効率を上げる方法及び装置を提供することにある。
【０００５】
本発明の他の技術的課題は、インター予測（ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎ）の効率を向上させるための方法及び装置を提供することにある。
【０００６】
本発明の他の技術的課題は、ＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）に基づくＭＶＤに割り当てられるビットを減らすことにある。
【０００７】
本発明の他の技術的課題は、線形（ｌｉｎｅａｒ）／非線形（ｎｏｎ−ｌｉｎｅａｒ）ＭＶＤ範囲（ｒａｎｇｅ）に基づく効率的なＭＶＤ送受信方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施例によると、エンコーディング装置により実行される映像エンコーディング方法が提供される。前記方法は、ＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）可用（ｅｎａｂｌｅ）フラグを生成するステップと、現在ブロックに対するＭＶＤ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）を導出するステップと、複数のＭＶＤ範囲のうち前記ＭＶＤの値が含まれるＭＶＤ範囲に対するＭＶＤ代表値を導出するステップと、前記ＭＶＤ代表値に対応するコーディングされたＭＶＤを生成するステップと、前記ＡＭＶＲ可用フラグ及び前記コーディングされたＭＶＤをビットストリームを介して出力するステップとを含むことを特徴とする。
【０００９】
本発明の他の一実施例によると、デコーディング装置により実行されるインター予測方法が提供される。前記方法は、ＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）可用（ｅｎａｂｌｅ）フラグをビットストリームから取得するステップ、コーディングされたＭＶＤ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）を前記ビットストリームから取得するステップと、前記ＡＭＶＲ可用フラグの値が１である場合、前記コーディングされたＭＶＤの値に対応する代表ＭＶＤの値を導出するステップと、現在ブロックの隣接ブロックに基づいて前記現在ブロックに対する動きベクトル予測子（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ、ＭＶＰ）を導出するステップと、前記ＭＶＰ及び前記代表ＭＶＤに基づいて前記現在ブロックに対する動きベクトル（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ、ＭＶ）を導出するステップと、前記ＭＶに基づいて前記現在ブロックに対する予測サンプルを生成するステップとを含むことを特徴とする。
【００１０】
本発明の他の一実施例によると、インター予測を実行するデコーディング装置が提供される。前記デコーディング装置は、ＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）可用（ｅｎａｂｌｅ）フラグをビットストリームから取得し、コーディングされたＭＶＤ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）を前記ビットストリームから取得するデコーディング部と、前記ＡＭＶＲ可用フラグの値が１である場合、前記コーディングされたＭＶＤの値に対応する代表ＭＶＤの値を導出し、現在ブロックの隣接ブロックに基づいて前記現在ブロックに対する動きベクトル予測子（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ、ＭＶＰ）を導出し、前記ＭＶＰ及び前記代表ＭＶＤに基づいて前記現在ブロックに対する動きベクトル（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ、ＭＶ）を導出し、前記ＭＶに基づいて前記現在ブロックに対する予測サンプルを生成する予測部を含むことを特徴とする。
【発明の効果】
【００１１】
本発明によると、少ない付加情報を使用しながら現在ブロックに対するインター予測を効率的に実行することができる。また、本発明によると、ＭＶＤ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ）に割り当てられるビット量が減少して全般的なコーディング効率が増加されることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例によるビデオエンコーディング装置を概略的に示すブロック図である。
【図２】本発明の一実施例によるビデオデコーディング装置を概略的に示すブロック図である。
【図３】現在ブロックに対してインター予測が実行される場合に利用されることができる候補ブロックの一実施例を概略的に説明する図面である。
【図４】インター予測において、１／４分数単位サンプル補間に対する整数サンプルと分数サンプルの位置を概略的に示す。
【図５】ＡＭＶＲに基づいてＭＶを誘導する方法の一例を示す。
【図６】線形範囲（ｌｉｎｅａｒ  ｒａｎｇｅ）を有するＡＶＭＲ方法を示す。
【図７】バランスが保たれている線形範囲（ｂａｌａｎｃｅｄ  ｌｉｎｅａｒ  ｒａｎｇｅ）を有するＡＶＭＲ方法を示す。
【図８】非線形範囲を有するＡＶＭＲ方法の一例を示す。
【図９】本発明による非線形ＡＶＭＲ範囲パラメータシンタックスをパーシングして非線形ＡＭＶＲを構成した例を示す。
【図１０】適応的なＭＶＤ精密度（ｐｒｅｃｉｓｉｏｎ）を有する非線形ＡＭＶＲ方法の一例を示す。
【図１１】本発明による適応的なＭＶＤ精密度によるＭＶＤ導出のための方法を例示的に示す。
【図１２】本発明による整数ペル精密度、ハーフペル精密度、またはクォーターペル精密度でのＭＶＤ値デコーディング方法を例示的に示す。
【図１３】本発明による整数ペル精密度、ハーフペル精密度、またはクォーターペル精密度でのＭＶＤ値デコーディング方法を例示的に示す。
【図１４】本発明による整数ペル精密度、ハーフペル精密度、またはクォーターペル精密度でのＭＶＤ値デコーディング方法を例示的に示す。
【図１５】本発明による映像コーディング方法の一例を概略的に示す。
【図１６】本発明によるインター予測方法の一例を概略的に示す。
【発明を実施するための形態】
【００１３】
本発明は多様な変更を加えることができ、さまざまな実施形態を有することができるところ、特定の実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは本発明を特定の実施形態に対して限定しようとするものではない。本明細書で使用する用語は単に特定の実施形態を説明するために使われたものであって、本発明の技術的思想を限定しようとする意図として使われるものではない。単数の表現は文脈上、明白に異なる意味として使用されない限り、複数の表現を含む。本明細書で、“含む”または“有する”などの用語は明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、１つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものの存在または付加可能性を予め排除しないことと理解されるべきである。
【００１４】
一方、本発明で説明される図面上の各構成は、ビデオエンコーディング装置／デコーディング装置で互いに異なる特徴的な機能に対する説明の便宜のために独立的に示すものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味するものではない。例えば、各構成のうち二つ以上の構成が結合されて一つの構成からなることもあり、一つの構成が複数の構成に分けられることもある。各構成が統合及び／または分離された実施例も本発明の本質から外れない限り本発明に含まれる。
【００１５】
以下、添付図面を参照して、本発明の実施例をさらに詳細に説明する。
【００１６】
図１は、本発明の一実施例によるビデオエンコーディング装置を概略的に示すブロック図である。
【００１７】
図１を参照すると、エンコーディング装置１００は、ピクチャ分割部１０５、予測部１１０、変換部１１５、量子化部１２０、再整列部１２５、エントロピーエンコーディング部１３０、逆量子化部１３５、逆変換部１４０、フィルタ部１４５及びメモリ１５０を備える。
【００１８】
ピクチャ分割部１０５は、入力されたピクチャを少なくとも一つの処理単位ブロックに分割できる。このとき、処理単位としてのブロックは、予測ユニット（Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ、ＰＵ）、または変換ユニット（Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ、ＴＵ）、またはコーディングユニット（Ｃｏｄｉｎｇ  Ｕｎｉｔ、ＣＵ）である。ピクチャは、複数のコーディングツリーユニット（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ、ＣＴＵ）で構成されることができ、各々のＣＴＵは、クアッドツリー（ｑｕａｄ−ｔｒｅｅ）構造でＣＵに分割（ｓｐｌｉｔ）されることができる。ＣＵは、より下位（ｄｅｅｐｅｒ）デプスのＣＵにクアッドツリー構造で分割されることもできる。ＰＵ及びＴＵは、ＣＵから取得されることができる。例えば、ＰＵは、ＣＵから対称または非対称方形構造でパーティショニング（ｐａｒｔｉｔｉｏｎｉｎｇ）されることができる。また、ＴＵは、ＣＵからクアッドツリー構造で分割されることもできる。
【００１９】
予測部１１０は、後述のように、インター予測を実行するインター予測部とイントラ予測を実行するイントラ予測部を含む。予測部１１０は、ピクチャ分割部１０５でピクチャの処理単位に対して予測を実行することで、予測サンプル（または、予測サンプルアレイ）を含む予測ブロックを生成する。予測部１１０において、ピクチャの処理単位は、ＣＵ、またはＴＵ、またはＰＵである。また、予測部１１０は、該当処理単位に対して実施される予測がインター予測か、またはイントラ予測かを決定し、各予測方法の具体的な内容（例えば、予測モード等）を定めることができる。このとき、予測が実行される処理単位と予測方法及び予測方法の具体的な内容が決められる処理単位は、異なる。例えば、予測の方法と予測モードなどは、ＰＵ単位で決定され、予測の実行は、ＴＵ単位で実行される。
【００２０】
インター予測を介しては現在ピクチャの以前ピクチャ及び／または以後ピクチャのうち少なくとも一つのピクチャの情報に基づいて予測を実行することで、予測ブロックを生成することができる。また、イントラ予測を介しては現在ピクチャ内のピクセル情報に基づいて予測を実行することで、予測ブロックを生成することができる。
【００２１】
インター予測の方法として、スキップ（ｓｋｉｐ）モード、マージ（ｍｅｒｇｅ）モード、ＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）などを利用することができる。インター予測では、ＰＵに対して、参照ピクチャを選択し、ＰＵに対応する参照ブロックを選択することができる。参照ブロックは、整数ピクセル（または、サンプル）または分数ピクセル（または、サンプル）単位で選択されることができる。また、ＰＵとのレジデュアル（ｒｅｓｉｄｕａｌ）信号が最小化されて動きベクトル大きさも最小になる予測ブロックが生成される。本明細書において、ピクセル（ｐｉｘｅｌ）、ペル（ｐｅｌ）及びサンプル（ｓａｍｐｌｅ）は、互いに混用されることができる。
【００２２】
予測ブロックは、整数ピクセル単位に生成されることもでき、１／２ピクセル単位または１／４ピクセル単位のように、整数以下ピクセル単位に生成されることもできる。このとき、動きベクトルも整数ピクセル以下の単位で表現されることができる。
【００２３】
インター予測を介して選択された参照ピクチャのインデックス、動きベクトル差分（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｄｉｆｆｅｒｅｎｃｅ、ＭＶＤ）、動きベクトル予測子（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｐｒｅｄｉｃｔｏｒ、ＭＶＰ）、レジデュアル信号などの情報は、エントロピーエンコーディングされてデコーディング装置に伝達されることができる。スキップモードが適用される場合には、予測ブロックを復元ブロックとしてすることができるため、レジデュアルを生成、変換、量子化、送信しない。
【００２４】
イントラ予測を実行する場合には、ＰＵ単位で予測モードが決められてＰＵ単位で予測が実行されることができる。また、ＰＵ単位で予測モードが決められてＴＵ単位でイントラ予測が実行されることもできる。
【００２５】
イントラ予測において、予測モードは、例えば、３３個の方向性予測モードと少なくとも２個以上の非方向性モードを有することができる。非方向性モードは、ＤＣ予測モード及びプラナーモード（Ｐｌａｎａｒ  ｍｏｄｅ）を含むことができる。
【００２６】
イントラ予測では、参照サンプルにフィルタを適用した後、予測ブロックを生成することができる。このとき、参照サンプルにフィルタを適用するかは、現在ブロックのイントラ予測モード及び／またはサイズによって決定されることができる。
【００２７】
生成された予測ブロックと原本ブロックとの間のレジデュアル値（レジデュアルブロックまたはレジデュアル信号）は、変換部１１５に入力される。また、予測のために使用した予測モード情報、動きベクトル情報などは、レジデュアル値と共にエントロピーエンコーディング部１３０でエンコーディングされてデコーディング装置に伝達される。
【００２８】
変換部１１５は、変換ブロック単位でレジデュアルブロックに対する変換を実行することで、変換係数を生成する。
【００２９】
変換ブロックは、サンプルの長方形ブロックであって、同じ変換が適用されるブロックである。変換ブロックは、変換ユニット（ＴＵ）であり、クアッドツリー（ｑｕａｄ  ｔｒｅｅ）構造を有することができる。
【００３０】
変換部１１５は、レジデュアルブロックに適用された予測モードとブロックの大きさによって変換を実行することができる。
【００３１】
例えば、レジデュアルブロックにイントラ予測が適用されてブロックが４×４のレジデュアル配列（ａｒｒａｙ）の場合は、レジデュアルブロックをＤＳＴ（Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を利用して変換し、その他の場合は、レジデュアルブロックをＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を利用して変換できる。
【００３２】
変換部１１５は、変換により変換係数の変換ブロックを生成することができる。
【００３３】
量子化部１２０は、変換部１１５で変換されたレジデュアル値、即ち、変換係数を量子化し、量子化された変換係数を生成することができる。量子化部１２０で算出された値は、逆量子化部１３５と再整列部１２５に提供される。
【００３４】
再整列部１２５は、量子化部１２０から提供された量子化された変換係数を再整列する。量子化された変換係数を再整列することによってエントロピーエンコーディング部１３０でのエンコーディング効率を上げることができる。
【００３５】
再整列部１２５は、係数スキャニング（Ｃｏｅｆｆｉｃｉｅｎｔ  Ｓｃａｎｎｉｎｇ）方法を介して２次元ブロック形態の量子化された変換係数を１次元のベクトル形態に再整列できる。
【００３６】
エントロピーエンコーディング部１３０は、再整列部１２５により再整列された量子化された変換値またはコーディング過程で算出されたエンコーディングパラメータ値などに基づいてシンボル（ｓｙｍｂｏｌ）を確率分布によってエントロピーコーディングしてビットストリーム（ｂｉｔｓｔｒｅａｍ）を出力することができる。エントロピーエンコーディング方法は、多様な値を有するシンボルの入力を受けて、統計的重複性を除去しながら、デコーディング可能な二進数の列で表現する方法である。
【００３７】
ここで、シンボルとは、エンコーディング／デコーディング対象シンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）及びコーディングパラメータ（ｃｏｄｉｎｇ  ｐａｒａｍｅｔｅｒ）、レジデュアル信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）の値などを意味する。エンコーディングパラメータは、エンコーディング及びデコーディングに必要な媒介変数として、シンタックス要素のようにエンコーディング装置でエンコーディングされてデコーディング装置に伝達される情報だけでなく、エンコーディングまたはデコーディング過程で類推される情報を含むことができ、映像をエンコーディングしたりデコーディングしたりする時、必要な情報を意味する。エンコーディングパラメータは、例えば、イントラ／インター予測モード、移動／動きベクトル、参照映像索引、コーディングブロックパターン、残余信号有無、変換係数、量子化された変換係数、量子化パラメータ、ブロック大きさ、ブロック分割情報などの値または統計を含むことができる。また、残余信号は、原信号と予測信号の差を意味し、また、原信号と予測信号の差は、変換（ｔｒａｎｓｆｏｒｍ）された形態の信号または原信号と予測信号の差が変換されて量子化された形態の信号を意味する。残余信号は、ブロック単位では残余ブロックということができ、サンプル単位では残余サンプルということができる。
【００３８】
エントロピーエンコーディングが適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多くの数のビットが割り当てられてシンボルが表現されることによって、エンコーディング対象シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピーエンコーディングを介して映像エンコーディングの圧縮性能が高まることができる。
【００３９】
エントロピーエンコーディングのために指数ゴロム（ｅｘｐｏｎｅｎｔｉａｌ  ｇｏｌｏｍｂ）、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）、ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）のようなエンコーディング方法が使われることができる。例えば、エントロピーエンコーディング部１３０には可変長さコーディング（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ／Ｃｏｄｅ）テーブルのようなエントロピーエンコーディングを実行するためのテーブルが格納されることができ、エントロピーエンコーディング部１３０は、格納された可変長さコーディング（ＶＬＣ）テーブルを使用してエントロピーエンコーディングを実行することができる。また、エントロピーエンコーディング部１３０は、対象シンボルの二進化（ｂｉｎａｒｉｚａｔｉｏｎ）方法及び対象シンボル／ビン（ｂｉｎ）の確率モデル（ｐｒｏｂａｂｉｌｉｔｙ  ｍｏｄｅｌ）を導出（ｄｅｒｉｖｅ）した後、導出された二進化方法または確率モデルを使用してエントロピーエンコーディングを実行することもできる。
【００４０】
また、エントロピーエンコーディング部１３０は、必要な場合、送信するパラメータセット（ｐａｒａｍｅｔｅｒ  ｓｅｔ）またはシンタックスに一定の変更を加えることもできる。
【００４１】
逆量子化部１３５は、量子化部１２０で量子化された値（量子化された変換係数）を逆量子化し、逆変換部１４０は、逆量子化部１３５で逆量子化された値を逆変換する。
【００４２】
逆量子化部１３５及び逆変換部１４０で生成されたレジデュアル値（または、レジデュアルサンプルまたはレジデュアルサンプルアレイ）と、予測部１１０で予測された予測ブロックと、が加算されて復元サンプル（または、復元サンプルアレイ）を含む復元ブロック（Ｒｅｃｏｎｓｔｒｕｃｔｅｄ  Ｂｌｏｃｋ）が生成されることができる。
【００４３】
図１では加算器を介して、レジデュアルブロックと予測ブロックが加算されて復元ブロックが生成されると説明している。このとき、加算器は、復元ブロックを生成する別途のユニット（復元ブロック生成部）とみなされる。
【００４４】
フィルタ部１４５は、デブロッキングフィルタ、ＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）、ＳＡＯ（Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ）を復元されたピクチャに適用できる。
【００４５】
デブロッキングフィルタは、復元されたピクチャでブロック間の境界に発生した歪曲を除去することができる。ＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）は、デブロッキングフィルタを介してブロックがフィルタリングされた後、復元された映像と元来の映像を比較した値に基づいてフィルタリングを実行することができる。ＡＬＦは、高効率を適用する場合にのみ実行されることもできる。ＳＡＯは、デブロッキングフィルタが適用されたレジデュアルブロックに対して、ピクセル単位に原本映像とのオフセット差を復元し、バンドオフセット（Ｂａｎｄ  Ｏｆｆｓｅｔ）、エッジオフセット（Ｅｄｇｅ  Ｏｆｆｓｅｔ）などの形態で適用される。
【００４６】
一方、インター予測に使われる復元ブロックに対して、フィルタ部１４５は、フィルタリングを適用しないこともある。
【００４７】
メモリ１５０は、フィルタ部１４５を介して算出された復元ブロックまたはピクチャを格納することができる。メモリ１５０に格納された復元ブロックまたはピクチャは、インター予測を実行する予測部１１０に提供されることができる。
【００４８】
図２は、本発明の一実施例によるビデオデコーディング装置を概略的に示すブロック図である。図２を参照すると、ビデオデコーディング装置２００は、エントロピーデコーディング部２１０、再整列部２１５、逆量子化部２２０、逆変換部２２５、予測部２３０、フィルタ部２３５、メモリ２４０を含むことができる。
【００４９】
ビデオエンコーディング装置で映像ビットストリームが入力された場合、入力されたビットストリームは、ビデオエンコーディング装置で映像情報が処理された手順によってデコーディングされることができる。
【００５０】
エントロピーデコーディング部２１０は、入力されたビットストリームを確率分布によってエントロピーデコーディングし、量子化された係数（ｑｕａｎｔｉｚｅｄ  ｃｏｅｆｆｉｃｉｅｎｔ）形態のシンボルを含むシンボルを生成することができる。エントロピーデコーディング方法は、二進数の列の入力を受けて各シンボルを生成する方法である。エントロピーデコーディング方法は、前述したエントロピーエンコーディング方法と同様である。
【００５１】
例えば、ビデオエンコーディング装置でエントロピーエンコーディングを実行するためにＣＡＶＬＣなどの可変長さコーディング（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ：ＶＬＣ、以下‘ＶＬＣ’という）が使われた場合、エントロピーデコーディング部２１０もエンコーディング装置で使用したＶＬＣテーブルと同じＶＬＣテーブルで具現し、エントロピーデコーディングを実行することができる。また、ビデオエンコーディング装置でエントロピーエンコーディングを実行するためにＣＡＢＡＣを利用した場合、エントロピーデコーディング部２１０は、これに対応してＣＡＢＡＣを利用したエントロピーデコーディングを実行することができる。
【００５２】
より詳細に、ＣＡＢＡＣエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に該当するビンを受信し、デコーディング対象シンタックス要素情報と隣接及びデコーディング対象ブロックのデコーディング情報または以前ステップでデコーディングされたシンボル／ビンの情報を利用して文脈（ｃｏｎｔｅｘｔ）モデルを決定し、決定された文脈モデルによってビン（ｂｉｎ）の発生確率を予測してビンの算術デコーディング（ａｒｉｔｈｍｅｔｉｃ  ｄｅｃｏｄｉｎｇ）を実行することで、各シンタックス要素の値に該当するシンボルを生成することができる。このとき、ＣＡＢＡＣエントロピーデコーディング方法は、文脈モデル決定後、次のシンボル／ビンの文脈モデルのためにデコーディングされたシンボル／ビンの情報を利用して文脈モデルをアップデートすることができる。
【００５３】
エントロピーデコーディング部２１０でデコーディングされた情報のうち予測ブロックを生成するための情報は、予測部２３０に提供され、エントロピーデコーディング部２１０でエントロピーデコーディングが実行されたレジデュアル値、即ち、量子化された変換係数は、再整列部２１５に入力されることができる。
【００５４】
再整列部２１５は、エントロピーデコーディング部２１０でエントロピーデコーディングされたビットストリームの情報、即ち、量子化された変換係数をエンコーディング装置で再整列した方法に基づいて再整列できる。
【００５５】
再整列部２１５は、１次元ベクトル形態で表現された係数を再び２次元のブロック形態の係数に復元して再整列できる。再整列部２１５は、現在ブロック（変換ブロック）に適用された予測モードと変換ブロックの大きさに基づいて係数に対するスキャニングを実行することで、２次元ブロック形態の係数（量子化された変換係数）アレイ（ａｒｒａｙ）を生成することができる。
【００５６】
逆量子化部２２０は、エンコーディング装置で提供された量子化パラメータと再整列されたブロックの係数値に基づいて逆量子化を実行することができる。
【００５７】
逆変換部２２５は、ビデオエンコーディング装置で実行された量子化結果に対して、エンコーディング装置の変換部が実行したＤＣＴ及びＤＳＴに対して逆ＤＣＴ及び／または逆ＤＳＴを実行することができる。
【００５８】
逆変換は、エンコーディング装置で決定された送信単位または映像の分割単位に基づいて実行されることができる。エンコーディング装置の変換部でＤＣＴ及び／またはＤＳＴは、予測方法、現在ブロックの大きさ及び予測方向など、複数の情報によって選択的に実行されることができ、デコーディング装置の逆変換部２２５は、エンコーディング装置の変換部で実行された変換情報に基づいて逆変換を実行することができる。
【００５９】
予測部２３０は、エントロピーデコーディング部２１０で提供された予測ブロック生成関連情報とメモリ２４０で提供された以前にデコーディングされたブロック及び／またはピクチャ情報に基づいて予測サンプル（または、予測サンプルアレイ）を含む予測ブロックを生成することができる。
【００６０】
現在ＰＵに対する予測モードがイントラ予測（ｉｎｔｒａ  ｐｒｅｄｉｃｔｉｏｎ）モードである場合、現在ピクチャ内のピクセル情報に基づいて予測ブロックを生成するイントラ予測を実行することができる。
【００６１】
現在ＰＵに対する予測モードがインター予測（ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎ）モードである場合、現在ピクチャの以前ピクチャまたは以後ピクチャのうち少なくとも一つのピクチャに含まれている情報に基づいて現在ＰＵに対するインター予測を実行することができる。このとき、ビデオエンコーディング装置で提供された現在ＰＵのインター予測に必要な動き情報、例えば、動きベクトル、参照ピクチャインデックスなどに対する情報は、エンコーディング装置から受信したスキップフラグ、マージフラグなどを確認し、これに対応して誘導されることができる。
【００６２】
現在ピクチャに対するインター予測時、現在ブロックとのレジデュアル（ｒｅｓｉｄｕａｌ）信号が最小化され、動きベクトル大きさも最小になるように予測ブロックを生成することができる。
【００６３】
一方、動き情報導出方式は、現在ブロックの予測モードによって変わることができる。インター予測のために適用される予測モードには、ＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）モード、マージ（ｍｅｒｇｅ）モードなどがある。
【００６４】
一例として、マージモードが適用される場合、エンコーディング装置及びデコーディング装置は、復元された空間的隣接ブロックの動きベクトル及び／または時間的隣接ブロックであるＣｏｌブロックに対応する動きベクトルを利用し、マージ候補リストを生成することができる。マージモードではマージ候補リストから選択された候補ブロックの動きベクトルが現在ブロックの動きベクトルとして使われる。エンコーディング装置は、前記マージ候補リストに含まれている候補ブロックの中から選択された最適の動きベクトルを有する候補ブロックを指示するマージインデックスをデコーディング装置に送信できる。このとき、デコーディング装置は、前記マージインデックスを利用し、現在ブロックの動きベクトルを導出することができる。
【００６５】
他の例として、ＡＭＶＰ（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ）モードが適用される場合、エンコーディング装置及びデコーディング装置は、復元された空間的隣接ブロックの動きベクトル及び／または時間的隣接ブロックであるＣｏｌブロックに対応する動きベクトルを利用し、動きベクトル予測子候補リストを生成することができる。即ち、復元された空間的隣接ブロックの動きベクトル及び／または時間的隣接ブロックであるＣｏｌブロックに対応する動きベクトルは、動きベクトル候補として使われることができる。エンコーディング装置は、前記リストに含まれている動きベクトル候補の中から選択された最適の動きベクトルを指示する予測動きベクトルインデックスをデコーディング装置に送信できる。このとき、デコーディング装置は、前記動きベクトルインデックスを利用し、動きベクトル候補リストに含まれている動きベクトル候補の中から、現在ブロックの予測動きベクトルを選択することができる。
【００６６】
エンコーディング装置は、現在ブロックの動きベクトル（ＭＶ）と動きベクトル予測子（ＭＶＰ）との間の動きベクトル差分（ＭＶＤ）を求めることができ、これをエンコーディングしてデコーディング装置に送信できる。即ち、ＭＶＤは、現在ブロックのＭＶからＭＶＰを引いた値として求められる。このとき、デコーディング装置は、受信された動きベクトル差分をデコーディングすることができ、デコーディングされた動きベクトル差分と動きベクトル予測子の加算を介して現在ブロックの動きベクトルを導出することができる。
【００６７】
また、エンコーディング装置は、参照ピクチャを指示する参照ピクチャインデックスなどをデコーディング装置に送信できる。
【００６８】
デコーディング装置は、隣接ブロックの動き情報を利用して現在ブロックの動きベクトルを予測し、エンコーディング装置から受信したレジデュアルを利用して現在ブロックに対する動きベクトルを誘導することができる。デコーディング装置は、誘導した動きベクトルとエンコーディング装置から受信した参照ピクチャインデックス情報に基づいて現在ブロックに対する予測ブロックを生成することができる。
【００６９】
他の例として、マージ（ｍｅｒｇｅ）モードが適用される場合、エンコーディング装置及びデコーディング装置は、復元された隣接ブロックの動き情報及び／またはＣｏｌブロックの動き情報を利用し、マージ候補リストを生成することができる。即ち、エンコーディング装置及びデコーディング装置は、復元された隣接ブロック及び／またはＣｏｌブロックの動き情報が存在する場合、これを現在ブロックに対するマージ候補として使用することができる。
【００７０】
エンコーディング装置は、マージ候補リストに含まれているマージ候補の中から、最適のエンコーディング効率を提供することができるマージ候補を現在ブロックに対する動き情報として選択できる。このとき、前記選択されたマージ候補を指示するマージインデックスがビットストリームに含まれてデコーディング装置に送信されることができる。デコーディング装置は、前記送信されたマージインデックスを利用し、マージ候補リストに含まれているマージ候補の中から一つを選択することができ、前記選択されたマージ候補を現在ブロックの動き情報として決定できる。したがって、マージモードが適用される場合、復元された隣接ブロック及び／またはＣｏｌブロックに対応する動き情報が現在ブロックの動き情報としてそのまま使われることができる。デコーディング装置は、予測ブロックとエンコーディング装置から送信されるレジデュアルを加えて現在ブロックを復元することができる。
【００７１】
前述したＡＭＶＰ及びマージモードでは、現在ブロックの動き情報を導出するために、復元された隣接ブロックの動き情報及び／またはＣｏｌブロックの動き情報が使われることができる。
【００７２】
画面間予測に利用される他のモードのうち一つであるスキップモードの場合、隣接ブロックの情報をそのまま現在ブロックに利用できる。したがって、スキップモードの場合、エンコーディング装置は、現在ブロックの動き情報としてどのブロックの動き情報を利用するかを指示する情報外にレジデュアルなどのようなシンタックス情報をデコーディング装置に送信しない。
【００７３】
エンコーディング装置及びデコーディング装置は、前記導出された動き情報に基づいて現在ブロックに対する動き補償を実行することによって、現在ブロックの予測ブロックを生成することができる。ここで、予測ブロックは、現在ブロックに対する動き補償実行結果生成された、動き補償されたブロックを意味する。また、複数の動き補償されたブロックは、一つの動き補償された映像を構成することができる。
【００７４】
復元ブロックは、予測部２３０で生成された予測ブロックと逆変換部２２５で提供されたレジデュアルブロックとを利用して生成されることができる。図２では、加算器で予測ブロックとレジデュアルブロックが加算されて復元ブロックが生成されると説明している。このとき、加算器は、復元ブロックを生成する別途のユニット（復元ブロック生成部）とみなされる。ここで、前記復元ブロックは、前述の通り、復元サンプル（または、復元サンプルアレイ）を含み、前記予測ブロックは、予測サンプル（または、予測サンプルアレイ）を含み、前記レジデュアルブロックは、レジデュアルサンプル（または、レジデュアルサンプルアレイ）を含むことができる。したがって、復元サンプル（または、復元サンプルアレイ）は、対応する予測サンプル（または、予測サンプルアレイ）とレジデュアルサンプル（レジデュアルサンプルアレイ）が加算されて生成されると表現されることもできる。
【００７５】
スキップモードが適用されるブロックに対してはレジデュアルが送信されず、予測ブロックを復元ブロックとしてすることができる。
【００７６】
復元されたブロック及び／またはピクチャは、フィルタ部２３５に提供されることができる。フィルタ部２３５は、復元されたブロック及び／またはピクチャにデブロッキングフィルタリング、ＳＡＯ（Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ）及び／またはＡＬＦなどを適用することができる。
【００７７】
メモリ２４０は、復元されたピクチャまたはブロックを格納して参照ピクチャまたは参照ブロックとして使用するようにすることができ、また、復元されたピクチャを出力部に提供できる。
【００７８】
デコーディング装置２００に含まれているエントロピーデコーディング部２１０、再整列部２１５、逆量子化部２２０、逆変換部２２５、予測部２３０、フィルタ部２３５及びメモリ２４０のうち、映像のデコーディングに直接的に関連付けられた構成要素、例えば、エントロピーデコーディング部２１０、再整列部２１５、逆量子化部２２０、逆変換部２２５、予測部２３０、フィルタ部２３５などを他の構成要素と区分してデコーダまたはデコーディング部で表現できる。
【００７９】
また、デコーディング装置２００は、ビットストリームに含まれているエンコーディングされた映像に関連付けられた情報をパーシング（ｐａｒｓｉｎｇ）する図示されないパーシング部をさらに含むことができる。パーシング部は、エントロピーデコーディング部２１０を含むこともでき、エントロピーデコーディング部２１０に含まれることもできる。また、このようなパーシング部は、デコーディング部の一つの構成要素で具現されることもできる。
【００８０】
図３は、現在ブロックに対してインター予測が実行される場合に利用されることができる候補ブロックの一実施例を概略的に説明する図面である。ここで、現在ブロックは、予測ブロックである。
【００８１】
エンコーディング装置及びデコーディング装置の予測部は、現在ブロック３００の隣接所定位置の復元された隣接ブロックを候補ブロックとして利用できる。例えば、図３の例では、現在ブロックの左側に位置する二つのブロックＡ０  ３１０とＡ１  ３２０、及び現在ブロックの上側のセットブロックＢ０  ３３０、Ｂ１  ３４０、Ｂ２  ３５０が空間的な（ｓｐａｔｉａｌ）候補ブロックとして選択されることができる。ここで、Ａ０  ３１０は、左下側の隣接ブロック（ｌｏｗｅｒ  ｌｅｆｔ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）とも呼ばれ、Ａ１  ３２０は、左側の隣接ブロック（ｌｅｆｔ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）とも呼ばれる。また、Ｂ０  ３３０は右上側の隣接ブロック（ｕｐｐｅｒ  ｒｉｇｈｔ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）とも呼ばれ、Ｂ１  ３４０は上側の隣接ブロック（ｕｐｐｅｒ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）とも呼ばれ、Ｂ２  ３５０は左上側の隣接ブロック（ｕｐｐｅｒ  ｌｅｆｔ  ｎｅｉｇｈｂｏｒｉｎｇ  ｂｌｏｃｋ）とも呼ばれる。
【００８２】
また、空間的に隣接するブロック外に時間的な（ｔｅｍｐｏｒａｌ）候補ブロックとして、前述したＣｏｌブロック３６０が候補ブロックとして利用されることができる。Ｃｏｌブロック３６０は、ＣｏｌＰｂ（Ｃｏｌ  ｐｒｅｄｉｃｔｉｏｎ  ｂｌｏｃｋ）とも呼ばれ、復元された参照ピクチャのうち一つであるＣｏｌピクチャ（ｃｏｌｌｏｃａｔｅｄ  ｐｉｃｔｕｒｅ）内で現在ブロックに対応するブロックであって、所定の相対的な位置（例えば、Ｃｏｌピクチャ内で前記現在ブロックと同じ位置に存在するブロックの右下側の隣接サンプル位置またはセンタ右下側のサンプル位置（ｓａｍｐｌｅ  ｐｏｓｉｔｉｏｎ）から一定基準によって算術シフト（ａｒｉｔｈｍｅｔｉｃ  ｓｈｉｆｔ）した位置に存在するブロックである。
【００８３】
具体的に、ＡＭＶＰモードでは、候補ブロックから導出された動きベクトル予測子（ＭＶＰ）候補（ｃａｎｄｉｄａｔｅｓ）を含むＭＶＰ候補リスト（ＭＶＰ  ｃａｎｄｉｄａｔｅ  ｌｉｓｔ）から現在ブロックのための最適のＭＶＰが選択される。この場合、エンコーディング装置では、動き推定を実行して導出された現在ブロックのＭＶに基づいてＭＶＰ候補リストから最適のＭＶＰを導出（ｄｅｒｉｖｅ）し、前記ＭＶからＭＶＰを引いたＭＶＤを計算する。エンコーディング装置は、前記ＭＶＰ候補リストに含まれるＭＶＰ候補のうちどのＭＶＰ候補が現在ブロックに対するＭＶＰかを示すＭＶＰインデックス情報、及び前記求めたＭＶＤのｘ軸値及びｙ軸値を示すＭＶＤ情報をエンコーディングしてビットストリームを介してデコーディング装置に送信する。
【００８４】
デコーディング装置は、エンコーディング装置から送信されたＭＶＰインデックス情報及びＭＶＤ情報に基づいてＭＶＰ候補リストから現在ブロックに対するＭＶＰを導出することができ、導出されたＭＶＰにＭＶＤを加えて現在ブロックのＭＶを導出することができる。また、現在ブロックのＭＶに基づいて参照ピクチャ上の参照ブロックを導出し、前記参照ブロックを現在ブロックに対する予測ブロックとして利用できる。即ち、前記参照ブロック内のサンプルを現在ブロックに対する予測サンプルとして利用できる。デコーディング装置は、エンコーディング装置からレジデュアルサンプルに対する情報を受信してレジデュアルサンプルを生成することができる。前記レジデュアルサンプルに対する情報は、変換係数に対する情報を含むことができる。具体的に、例えば、デコーディング装置は、エンコーディング装置からビットストリームを介して変換係数を受信し、前記変換係数を逆変換してレジデュアルブロック（または、レジデュアルサンプル）を生成することができる。ここで、レジデュアルサンプルは、原本サンプルと予測サンプルとの間の差を示すことができ、レジデュアルブロックは、原本サンプルを含む原本ブロックと予測サンプルを含む予測ブロックとの間の差を示すことができる。
【００８５】
動きベクトルは、整数単位以下のサンプル解像度（ｒｅｓｏｌｕｔｉｏｎ）を有することができる。例えば、ルマ成分に対して１／４サンプル解像度を有することができる。したがって、参照ピクチャ上で補間（ｉｎｔｅｒｐｏｌａｔｉｏｎ）を介して整数サンプル（ｉｎｔｅｇｅｒ  ｓａｍｐｌｅ  ｏｒ  ｆｕｌｌｓ  ａｍｐｌｅ）から１／４単位分数サンプル（ｆｒａｃｔｉｏｎａｌ  ｓａｍｐｌｅ）を生成し、分数サンプルを含む領域から参照ブロックを選択することによって、現在ブロックに類似する参照ブロックを示すことができる。
【００８６】
整数単位以下の分数サンプルは、整数サンプルに基づいて補間フィルタを介して生成されることができる。前述の通り、ルマ成分サンプル（以下、ルマサンプル）の場合、動きベクトルの解像度は、１／４分数サンプルであり、エンコーディング装置及びデコーディング装置は、補間を介して１／４サンプル単位に整数以下単位のサンプル情報を生成することができる。例えば、ルマサンプルに対する補間を実行するために、フィルタ係数が異なる８タブ補間フィルタが使われることができる。
【００８７】
図４は、インター予測において、１／４分数単位サンプル補間に対する整数サンプルと分数サンプルの位置を概略的に示す。図４に示すサンプルの位置のうち、陰影で表示（または、大文字で表示）された位置は、整数サンプルに対応し、陰影無しで表示（または、小文字で表示）された位置は、分数サンプルに対応する。
【００８８】
以下の表１は、サンプル位置によるフィルタ係数（ｆｉｌｔｅｒ  ｃｏｅｆｆｉｃｉｅｎｔｓ）の例を示す。例えば、前記フィルタ係数は、ルマ成分のサンプルに適用されることができる。
【００８９】
【表１】
2018533298.tif 000003
【００９０】
例えば、図４の分数サンプルは、前記フィルタ係数に基づいて８タブフィルタを適用して導出されることができる。
【００９１】
このように分数サンプル単位で参照ブロックを検出し、分数サンプル単位のＭＶを導出し、より精密にインター予測を実行することができ、この場合、レジデュアル信号に割り当てられるデータ量を減らすことができる。ただし、この場合、ＭＶＤも分数サンプル単位で指示されなければならず、ＭＶＤに割り当てられるデータ量が相対的に増加するようになる。
【００９２】
一方、適応的に動きベクトルの範囲（ｒａｎｇｅ）または解像度（ｒｅｓｏｌｕｔｉｏｎ）を調節することによってコーディング効率を上げることもできる。これはＡＭＶＲ（ａｄａｐｔｉｖｅ  ｍｏｔｉｏｎ  ｖｅｃｔｏｒ  ｒａｎｇｅ）とも呼ばれ、付加情報（ｓｉｄｅ  ｉｎｆｏｒｍａｔｉｏｎ）を減らすために１／２分数サンプル（または、ハーフサンプル）単位や整数サンプル単位などでＭＶが決定されることもできる。この場合、全体範囲で均一な分数サンプル単位または整数サンプル単位などを使用することもでき、または、領域によって適応的にサンプル単位の範囲（ｒａｎｇｅ）を異なるように設定することもできる。前者は、線形（ｌｉｎｅａｒ）ＡＭＶＲとも呼ばれ、後者は、非線形（ｎｏｎ−ｌｉｎｅａｒ）ＡＭＶＲとも呼ばれる。
【００９３】
ＡＭＶＲに基づいてＭＶを誘導する方法は、例えば、下記の通りである。
【００９４】
図５は、ＡＭＶＲに基づいてＭＶを誘導する方法の一例を示す。図５に開示した方法は、デコーディング装置により実行されることができる。
【００９５】
図５を参照すると、デコーディング装置は、現在ブロックの空間的隣接ブロック及び時間的対応ブロックに基づいて構成されたＭＶＰ候補リストの中から一つのＭＶＰを誘導する。ここで、ＭＶＰは、前記空間的隣接ブロック及び時間的対応ブロックのうち一つのブロックのＭＶであり、したがって、元来１／４分数ペル単位である。デコーディング装置は、四捨五入手順を介して整数ペル単位のＭＶＰを誘導する。
【００９６】
ＭＶＤは、整数ペル（ｐｅｌ）単位で受信されることができ、この場合、デコーディング装置は、前記受信されたＭＶＤをスケールアップする。デコーディング装置は、１／４分数ペル単位と区分するためにＭＶＤの値をスケールアップして整数ペル単位のＭＶＤを導出する。即ち、１／４ペル単位のＭＶＤの値１は１／４分数ペルを示し、値４は１整数ペルを示すことができ、デコーディング装置は、スケールアップを介して整数ペル単位のＭＶＤの値１が１整数ペルを示し、値４は４整数ペルを示すようにすることができる。
【００９７】
デコーディング装置は、前記整数ペル単位のＭＶＰと前記整数ペル単位のＭＶＤに基づいて整数ペル単位のＭＶを導出する。この場合、デコーディング装置は、前記整数ペル単位のＭＶＰと前記整数ペル単位のＭＶＤを加算して前記整数ペル単位のＭＶを導出することができる。前述の通り、本明細書において、ピクセル（ｐｉｘｅｌ）、ペル（ｐｅｌ）及びサンプル（ｓａｍｐｌｅ）は、互いに混用されることができる。
【００９８】
一方、エンコーディング装置は、動き推定（ｍｏｔｉｏｎ  ｅｓｔｉｍａｔｉｏｎ）を介して最適のＲＤコスト（ｒａｔｅ−ｄｉｓｔｏｒｔｉｏｎ  ｃｏｓｔ）を有するサンプルポジションを探して第１（臨時）のＭＶを決定する。この場合、前記第１のＭＶは、分数ペル単位のＭＶである。また、エンコーディング装置は、デコーディング装置と同じ方法でＡＭＶＰ候補リストを生成して第１のＭＶＰを誘導する。この場合、前記第１のＭＶＰは、分数ペル単位である。エンコーディング装置は、前記第１のＭＶＰを四捨五入変換して整数ペル単位の第２のＭＶＰを誘導する。
【００９９】
エンコーディング装置は、前記第１のＭＶと前記第１のＭＶＰとの差分値に基づいて第１のＭＶＤを生成した後、前記第１のＭＶＤを四捨五入変換して整数ペル単位の第２のＭＶＤを誘導する。
【０１００】
エンコーディング装置は、前記第２のＭＶＰと前記第２のＭＶＤの加算に基づいて整数ペル単位の第２のＭＶを誘導する。
【０１０１】
エンコーディング装置は、前記第１のＭＶに基づくＲＤコストと前記第２のＭＶに基づくＲＤコストを比較し、より良いＲＤコストを有する（即ち、ＲＤコストがより低い）モードを選択する。この場合、前記第１のＭＶに基づいて予測を実行するモードは、一般（ｎｏｒｍａｌ）モードとも呼ばれ、前記第２のＭＶに基づいて予測を実行するモードは、ＡＭＶＲモードとも呼ばれる。
【０１０２】
即ち、ＡＭＶＲは、ＭＶを整数ペル単位で表現し、コーディングされるＭＶＤの絶対的な大きさ（即ち、ビット量）を減らす方法である。前記ＭＶＤは、例えば、以下の表２のようなシンタックス（ｓｙｎｔａｘ）を介して送信されることができる。前記シンタックスは、ビットストリームに含まれて送信されることができる。
【０１０３】
【表２】
2018533298.tif 000004
【０１０４】
表２を参照すると、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ［０／１］は、動きベクトル差分のｘ成分／ｙ成分の絶対値が０より大きいかどうかを示す。
【０１０５】
ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇ［０／１］は、動きベクトル差分のｘ成分／ｙ成分の絶対値が１より大きいかどうかを示す。ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇ［０／１］は、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ［０／１］がトルー（ｔｒｕｅ）である場合（即ち、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ［０／１］の値が１である場合）に送受信及びパーシングされることができる。
【０１０６】
ａｂｓ＿ｍｖｄ＿ｍｉｎｕｓ２［０／１］に２を加えた値は、動きベクトル差分のｘ成分／ｙ成分の絶対値を示す。ａｂｓ＿ｍｖｄ＿ｍｉｎｕｓ２［０／１］は、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇ［０／１］がトルーである場合（即ち、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇ［０／１］の値が１である場合）に送受信及びパーシングされることができる。
【０１０７】
ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［０／１］は、動きベクトル差分のｘ成分／ｙ成分の符号（ｓｉｇｎ）を示す。ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［０／１］の値が０である場合、該当動きベクトル差分のｘ成分／ｙ成分が正の値（ｐｏｓｉｔｉｖｅ  ｖａｌｕｅ）を有する。ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［０／１］の値が１である場合、該当動きベクトル差分のｘ成分／ｙ成分が負の値（ｎｅｇａｔｉｖｅ  ｖａｌｕｅ）を有する。ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［０／１］は、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇ［０／１］は、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ［０／１］がトルー（ｔｒｕｅ）である場合（即ち、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ［０／１］の値が１である場合）に送受信及びパーシングされることができる。
【０１０８】
ＡＭＶＲが適用される場合、前記のようなシンタックス要素（ｓｙｎｔａｘ  ｅｌｅｍｅｎｔｓ）を利用してＭＶＤを示すとき、整数ペル単位で示すことができるため、ＭＶＤの絶対値が小さくなる効果があって、送信されるビットを節減することができる。
【０１０９】
また、本発明によると、このようなビット節減効果を高めるために、非線形のＭＶ範囲を適用することができる。本発明によると、予測値の相関関係（ｃｏｒｒｅｌａｔｉｏｎ）が高い範囲には整数ペル単位またはそれ以上の単位を使用してエネルギー圧縮（ｅｎｅｒｇｙ  ｃｏｍｐａｃｔｉｏｎ）を高め、相対的に予測値の相関関係が弱い範囲には整数ペルだけでなく、範囲によってハーフペル、クォーターペル位置までを適応的に示すようにして予測の正確度を維持しながらビット節減効果を得ることができる。
【０１１０】
実施例１
【０１１１】
本発明の実施例１では、線形ＭＶＤ範囲を維持しながらＭＶＤのエネルギー圧縮を効率的にすることで、より効率的なビット送信を実行することができる方法が提供される。
【０１１２】
図６は、線形範囲（ｌｉｎｅａｒ  ｒａｎｇｅ）を有するＡＶＭＲ方法を示す。
【０１１３】
図６を参照すると、線形ＭＶＤ範囲は、クォーターペル単位のＭＶＤ値を４の倍数に切り捨てた後、４にスケールダウンする方法に基づいている。即ち、この場合、例えば、−４乃至−１の値を有するクォーターペル単位のＭＶＤは、−１値を有する整数ペル単位のＭＶＤになり、０乃至３の値を有するクォーターペル単位のＭＶＤは、０値を有する整数ペル単位のＭＶＤになり、４乃至７の値を有するクォーターペル単位のＭＶＤは、１値を有する整数ペル単位のＭＶＤになる。
【０１１４】
一方、前記表２で説明の通り、ＭＶＤ関連シンタックスでは、ＭＶＤの絶対値の大きさが０より大きいかどうかを確認した後、０より大きくない場合、０値を有するａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ１ビットを送信する。それに対し、ＭＶＤの絶対値の大きさが０より大きい場合は、追加で１より大きいかどうかを確認し、１より大きくない場合、０値を有するａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇ１ビットを追加送信する。それに対し、前記二つの場合を両方とも満たさない場合（即ち、ＭＶＤが２より大きく、または同じ場合）にはＭＶＤの絶対値から２を引いた値を１次指数ゴロムに基づいてコーディングして送信する。このような理由で、図６のように範囲が正数側にかたよる場合、ＭＶＤの値が正数かまたは負数かによってコーディング効率が変わる不均衡が存在するようになる。例えば、クォーターペル単位のＭＶＤの値が３である場合、その値は、０に代表されて４単位にスケールダウンされた０値が指示されなければならないため、エンコーディング装置は、０値を有するａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ１ビットを送信する。しかし、もし、クォーターペル単位のＭＶＤの値が−３である場合、その値は、−４に代表されて４単位にスケールダウンされた−３値が指示されなければならない。この場合、エンコーディング装置は、１値を有するａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇ１ビット及び０値を有するａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇ１ビットの総２ビットが送信されなければならない。このような不均衡を解決するために、下記の図７のようにバランスが保たれている（ｂａｌａｎｃｅｄ）線形範囲を使用することができる。
【０１１５】
図７は、バランスが保たれている線形範囲（ｂａｌａｎｃｅｄ  ｌｉｎｅａｒ  ｒａｎｇｅ）を有するＡＶＭＲ方法を示す。
【０１１６】
図７を参照すると、バランスが保たれている線形ＭＶＤ範囲は、クォーターペル単位のＭＶＤ値＋２を４の倍数に切り捨てた後、４にスケールダウンする方法に基づいている。即ち、この場合、例えば、−６乃至−３の値を有するクォーターペル単位のＭＶＤは、代表値−４に代表されて−１値を有する整数ペル単位のＭＶＤになり、−２乃至１の値を有するクォーターペル単位のＭＶＤは、代表値０に代表されて０値を有する整数ペル単位のＭＶＤになり、２乃至５の値を有するクォーターペル単位のＭＶＤは、代表値４に代表されて１値を有する整数ペル単位のＭＶＤになる。一方、これは例示に過ぎず、バランスが保たれている線形ＭＶＤ範囲は、クォーターペル単位のＭＶＤ値＋１を４の倍数に切り捨てた後、４にスケールダウンする方法に基づくことも可能である。
【０１１７】
前記の通り、ＡＭＶＲ方法で使われる線形範囲を調整することによって、ＭＶＤの値が正数かまたは負数かによってコーディング効率が変わる不均衡を改善することができる。
【０１１８】
実施例２
【０１１９】
また、本発明の実施例２では、線形ＭＶＤ範囲の代わりに非線形ＭＶＤ範囲を適用し、ａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ０＿ｆｌａｇまたはａｂｓ＿ｍｖｄ＿ｇｒａｔｅｒ１＿ｆｌａｇが使われる比率を高めることによって、送信されるべきビット量を節減する方法が提供される。
【０１２０】
図８は、非線形範囲を有するＡＶＭＲ方法の一例を示す。
【０１２１】
図８を参照すると、非線形ＭＶＤ範囲は、クォーターペル単位のＭＶＤ値を−１、０、１にスケールダウン可能な範囲は８単位に基づいており、残りの範囲は４単位に基づいている。即ち、中央領域に対してはクォーターペル単位のＭＶＤ値＋４を８の倍数に切り捨てた後、８にスケールダウンする方法に基づいている。例えば、−１２乃至−５の値を有するクォーターペル単位のＭＶＤは、代表値−８に代表されてスケールダウンされて−１値を有する整数ペル単位のＭＶＤになり、−４乃至３の値を有するクォーターペル単位のＭＶＤは、代表値０に代表されてスケールダウンされて０値を有する整数ペル単位のＭＶＤになり、４乃至１１の値を有するクォーターペル単位のＭＶＤは、代表値８に代表されてスケールダウンされて１値を有する整数ペル単位のＭＶＤになる。
【０１２２】
前記の通り、非線形ＭＶＤ範囲を構成する場合、非線形範囲に属するＭＶＤは、該当範囲の代表値で表現されて範囲による適応的スケールダウンを実行した後の値がコーディングされてビットストリームを介して送信される。この場合、コーディングされて送信されるＭＶＤ値の０または１で表現される比率を高めてエネルギー圧縮を向上させることができる。
【０１２３】
一方、前記のような非線形ＡＭＶＲは、以下の表のようにｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇシンタックス要素を介して指示されることができる。
【０１２４】
【表３】
2018533298.tif 000005
【０１２５】
表３を参照すると、ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇは、ＡＭＶＲモードが可用であるかどうかを示す。ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇは、非線形ＡＭＶＲ範囲が適用されるかどうかを示す。前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇは、前記ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇの値が１である場合に送受信及びパーシングされることができる。前記表３に開示されたシンタックスは、例えば、ＳＰＳ（ｓｅｑｕｅｎｃｅ  ｐａｒａｍｅｔｅｒ  ｓｅｔ）シンタックスに含まれることができる。
【０１２６】
前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇの値が０である場合、非線形ＡＭＶＲ範囲が適用されない。即ち、この場合、ＭＶＤを表現するにあたって、線形ＡＭＶＲ範囲が適用される。それに対し、前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇの値が１である場合、非線形ＡＭＶＲ範囲が適用されることができる。即ち、デコーディング装置は、前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇに基づいて非線形ＡＭＶＲ範囲が適用されるかどうかを決定することができる。
【０１２７】
基本的に、デコーディング装置は、非線形範囲に対する情報と範囲代表値情報を知っており、前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇの値が１である場合、他の追加的な情報がない場合、あらかじめ決定されたデフォルト非線形範囲を使用することができる。
【０１２８】
実施例３
【０１２９】
また、本発明の実施例３では、前述した本発明の実施例２に加えて、具体的な非線形ＡＭＶＲ範囲を指示することができる方法を提供する。
【０１３０】
前述の通り、ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇの値が１である場合、ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇを介して線形ＡＭＶＲ範囲が使われるか、または非線形ＡＭＶＲ範囲が使われるかを指示することができる。
【０１３１】
前述した実施例２では、デコーディング装置に非線形範囲のデフォルト値があらかじめ設定されており、デコーディング装置は、ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇの値が１である場合、前記デフォルト非線形範囲を使用することができたが、本実施例では、以下の表のように非線形ＡＭＶＲ範囲関連パラメータを送信することで、デコーディング装置に非線形ＡＭＶＲ範囲を適応的に知らせることができる。
【０１３２】
【表４】
2018533298.tif 000006
【０１３３】
ここで、ｓｐｓ＿ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇは、ＡＭＶＲモードが可用であるかどうかを示す。前記ｓｐｓ＿ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇは、ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇと混用されることもできる。ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇは、非線形ＡＭＶＲ範囲が適用されるかどうかを示す。前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇは、前記ｓｐｓ＿ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇの値が１である場合に送受信及びパーシングされることができる。
【０１３４】
一方、前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇの値が１である場合（即ち、前記ｓｐｓ＿ａｍｖｒ＿ｅｎａｂｌｅ＿ｆｌａｇの値が１であり、前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇの値が１である場合）、ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｐａｒａｍｔｅｒシンタックスがさらに送受信及びパーシング／呼び出されることもできる。前記ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｐａｒａｍｅｔｅｒシンタックスは、前記非線形ＡＭＶＲ範囲関連パラメータを示す。前記非線形ＡＭＶＲ範囲関連パラメータは、例えば、３個の範囲に分けられ、各位置による範囲値とその範囲の代表値を指示することができる。前記非線形ＡＭＶＲ範囲関連パラメータは、例えば、下記のようなシンタックス要素を含むことができる。
【０１３５】
【表５】
2018533298.tif 000007
【０１３６】
ここで、ｎｕｍ＿ｎｏｎ＿ｌｉｎｅａｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｃａｎｄｉｄａｔｅは、非線形範囲テーブル候補の個数を示す。前記非線形範囲テーブル候補毎にｆｉｒｓｔ＿ｒａｎｇｅ＿ｖａｌｕｅ、ｆｉｒｓｔ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅ、ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｖａｌｕｅ、ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅ、ｔｈｉｒｄ＿ｒａｎｇｅ＿ｖａｌｕｅ及びｔｈｉｒｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅを含むことができる。エンコーディング装置は、範囲テーブルインデックスを介して前記非線形範囲テーブル候補のうち一つを指示することができる。一方、もし、一つの非線形範囲テーブルが一つまたは固定された個数が使われる場合、前記ｎｕｍ＿ｎｏｎ＿ｌｉｎｅａｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｃａｎｄｉｄａｔｅは省略されることができる。
【０１３７】
前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｖａｌｕｅ、前記ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｖａｌｕｅ及び前記ｔｈｉｒｄ＿ｒａｎｇｅ＿ｖａｌｕｅは、０を中心とする第１の範囲値、第２の範囲値及び第３の範囲値を各々示す。ここで、前記第１の範囲は、０を含む範囲である。前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｖａｌｕｅ、ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｖａｌｕｅ及びｔｈｉｒｄ＿ｒａｎｇｅ＿ｖａｌｕｅは、各々、０以上の値を示すことができる。
【０１３８】
また、ｆｉｒｓｔ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅ、ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅ及びｔｈｉｒｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅは、各々、関連範囲の代表値を示す。
【０１３９】
例えば、前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｖａｌｕｅの値がａであり、前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値が０である場合、−ａ≦ＭＶＤ＜ａである範囲（０を含む）が前記第１の範囲になり、前記第１の範囲の代表値は０になる。また、前記前記ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｖａｌｕｅの値がｂであり、前記ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値がｍである場合、−ｂ≦ＭＶＤ＜−ａ及びａ≦ＭＶＤ＜ｂが前記第２の範囲になり、前記第２の範囲の代表値は各々−ｍ及びｍになる。また、前記ｔｈｉｒｄ＿ｒａｎｇｅ＿ｖａｌｕｅの値がｃであり、前記ｔｈｉｒｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値がｎである場合、−ｃ≦ＭＶＤ＜−ｂ及びｂ≦ＭＶＤ＜ｃが前記第３の範囲になり、前記第３の範囲の代表値は各々−ｎ及びｎになる。
【０１４０】
図９は、本発明による非線形ＡＶＭＲ範囲パラメータシンタックスをパーシングして非線形ＡＭＶＲを構成した例を示す。図９では、説明の重複を避けるために正数ドメインを中心にして図示及び説明する。
【０１４１】
図９の（ａ）を参照すると、前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｖａｌｕｅの値は６であり、前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値は０であり、前記ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｖａｌｕｅの値は１０であり、前記ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値は８であり、前記ｔｈｉｒｄ＿ｒａｎｇｅ＿ｖａｌｕｅの値は１４であり、前記ｔｈｉｒｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値は１２である。この場合、第１の範囲は−６≦ＭＶＤ＜６であり、前記第１の範囲に対する代表値は０である。正数ドメインの第２の範囲は６≦ＭＶＤ＜１０であり、前記第２の範囲に対する代表値は８である。正数ドメインの第３の範囲は１０≦ＭＶＤ＜１４であり、前記第３の範囲に対する代表値は１２である。前記第１の範囲乃至第３の範囲に対する代表値は、各々、スケールダウンされ、０、１及び２に対応されることができる。この場合、（ａ）に示すように非線形ＡＭＶＲ範囲が導出されることができる。一方、ここで、ｅｔｃで表記された部分（例えば、範囲１３乃至１７）は、前記第１乃至第３の範囲外の残りの範囲を示し、前記残りの範囲は、あらかじめ定義された基準によって設定されることができる。
【０１４２】
一方、図９の（ｂ）を参照すると、前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｖａｌｕｅの値は４であり、前記ｆｉｒｓｔ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値は０であり、前記ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｖａｌｕｅの値は１２であり、前記ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値は８であり、前記ｔｈｉｒｄ＿ｒａｎｇｅ＿ｖａｌｕｅの値は１６であり、前記ｔｈｉｒｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅの値は１４である。この場合、第１の範囲は−４≦ＭＶＤ＜４であり、前記第１の範囲に対する代表値は０である。正数ドメインの第２の範囲は４≦ＭＶＤ＜１２であり、前記第２の範囲に対する代表値は８である。正数ドメインの第３の範囲は１２≦ＭＶＤ＜１６であり、前記第３の範囲に対する代表値は１４である。前記第１の範囲乃至第３の範囲に対する代表値は、各々、スケールダウンされ、０、１及び２に対応されることができる。この場合、（ａ）に示すように非線形ＡＭＶＲ範囲が導出されることができる。
【０１４３】
一方、前述の通り、複数個の非線形範囲テーブル候補が存在する場合、エンコーディング装置は、範囲テーブルインデックスに基づいて前記候補のうち一つを指示することができ、デコーディング装置は、前記範囲テーブルインデックスを受信及びパーシングして前記候補のうち一つを選択することができる。前記範囲テーブルインデックスは、例えば、下記のようなシンタックスを介して送信されることができる。
【０１４４】
【表６】
2018533298.tif 000008
【０１４５】
ここで、ｓｌｉｃｅ＿ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｂｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｉｄｘは、前述した範囲テーブルインデックスを示すことができる。前記ｓｌｉｃｅ＿ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｂｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｉｄｘは、前記表４で詳述したｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｒａｎｇｅ＿ｆｌａｇ（または、ｓｐｓ＿ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｖｒ＿ｆｌａｇ）の値が１である場合に送受信及びパーシングされることができる。
【０１４６】
前記ｓｌｉｃｅ＿ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｂｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｉｄｘは、スライスヘッダ段で送信されることができる。即ち、前記ｓｌｉｃｅ＿ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｂｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｉｄｘシンタックス要素は、現在ブロックを含むスライスに対するスライスセグメントヘッダシンタックスを介して送信されることができる。ここで、現在ブロックは、ＰＵまたはＰＢである。
【０１４７】
デコーディング装置は、前記ｓｌｉｃｅ＿ｎｏｎ＿ｌｉｎｅａｒ＿ａｍｂｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｉｄｘが示すインデックスに対応する非線形範囲テーブル候補に対する範囲値に基づいてＭＶＤを導出することができる。
【０１４８】
実施例４
【０１４９】
また、本発明の実施例４では、前述した実施例３の拡張であって、ＭＶＤの表現単位を範囲によって適応的に変更できる。この場合、ＭＶＤの表現単位は、整数ペル単位、ハーフペル単位、クォーターペル単位などで適応的に変更されることができる。
【０１５０】
図１０は、適応的なＭＶＤ精密度（ｐｒｅｃｉｓｉｏｎ）を有する非線形ＡＭＶＲ方法の一例を示す。
【０１５１】
図１０を参照すると、−８≦ＭＶＤ＜８範囲は整数ペル精密度を有し、−１８≦ＭＶＤ＜−８範囲及び８≦ＭＶＤ＜１８範囲はハーフペル精密度を有し、−２４≦ＭＶＤ＜−１８範囲及び１８≦ＭＶＤ＜２４範囲はクォーターペル精密度を有するように設定された。即ち、この場合、エンコーディング装置は、−８≦ＭＶＤ＜８範囲では整数ペル精密度でＭＶＤを導出し、−１８≦ＭＶＤ＜−８範囲及び８≦ＭＶＤ＜１８範囲ではハーフペル精密度でＭＶＤを導出し、−２４≦ＭＶＤ＜−１８範囲及び１８≦ＭＶＤ＜２４範囲ではクォーターペル精密度でＭＶＤを導出することができる。それによって、エンコーディング装置は、ＲＤ最適化過程で歪曲（ｄｉｓｔｏｒｔｉｏｎ）と率（ｒａｔｅ）関係によって予測されたＭＶが、相関関係が高い範囲に属している場合、整数ペル単位で推定及び表現してＭＶＤのビット量を減らし、それに対し、相関関係が低い範囲に属している場合より低い単位（例えば、ハーフペルまたはクォーターペル単位）で推定及び表現して歪曲をさらに減らすことができる。
【０１５２】
図１１は、本発明による適応的なＭＶＤ精密度によるＭＶＤ導出のための方法を例示的に示す。図１１の方法は、デコーディング装置により実行されることができる。
【０１５３】
図１１を参照すると、デコーディング装置は、ＭＶＤをパーシングする（Ｓ１１００）。ここで、ＭＶＤをパーシングするとは、ＭＶＤ関連シンタックスを受信及びパーシングすることを含む。
【０１５４】
デコーディング装置は、前記ＭＶＤのコーディングされた値が属する範囲に基づいて前記ＭＶＤが整数ペル精密度を有するかどうかを確認する（Ｓ１１１０）。
【０１５５】
もし、Ｓ１１１０において、前記ＭＶＤが整数ペル精密度を有する場合、デコーディング装置は、整数ペル精密度を考慮して前記ＭＶＤのコーディングされた値に対する代表値を導出する（Ｓ１１２０）。
【０１５６】
もし、Ｓ１１１０において、前記ＭＶＤが整数ペル精密度を有さない場合、デコーディング装置は、前記ＭＶＤのコーディングされた値が属する範囲に基づいて前記ＭＶＤがハーフペル精密度を有するかどうかを確認する（Ｓ１１３０）。
【０１５７】
もし、Ｓ１１３０において、前記ＭＶＤがハーフペル精密度を有する場合、デコーディング装置は、前記ハーフペル精密度を考慮して前記ＭＶＤのコーディングされた値に対する代表値を導出する（Ｓ１１４０）。
【０１５８】
もし、Ｓ１１３０において、前記ＭＶＤがハーフペル精密度を有さない場合、これは前記ＭＶＤがクォーターペル精密度を有する場合に該当し、デコーディング装置は、前記クォーターペル精密度を考慮して前記ＭＶＤのコーディングされた値に対する代表値を導出する（Ｓ１１５０）。
【０１５９】
前述したデコーディング方法は、例えば、下記の図面のように示すことができる。
【０１６０】
図１２乃至図１４は、本発明による整数ペル精密度、ハーフペル精密度、またはクォーターペル精密度でのＭＶＤ値デコーディング方法を例示的に示す。
【０１６１】
図１２乃至図１４において、−８≦ＭＶＤ＜８範囲は整数ペル精密度を有し、８≦ＭＶＤ＜１８範囲はハーフペル精密度を有し、１８≦ＭＶＤ＜２４範囲はクォーターペル精密度を有するように設定された。また、図１２乃至図１４では、非線形ＡＭＶＲが適用された場合を仮定する。
【０１６２】
図１２を参照すると、ＭＶＤの元の値が５である場合、前記５は、代表値０で表現されて０値にエンコーディングされ、デコーディング装置は、前記エンコーディングされた０値をデコーディングして０値を取得する。デコーディング装置は、前記０のＭＶＤをＭＶＰと加算して現在ブロックに対するＭＶを導出することができる。
【０１６３】
また、図１３を参照すると、ＭＶＤの元の値が１１である場合、前記１１は代表値１０で表現され、前記１０はスケールダウンされて１値にエンコーディングされ、デコーディング装置は、前記エンコーディングされた１値をデコーディングし、スケールアップして前記ＭＶＤ値として１０を取得する。
【０１６４】
また、図１４を参照すると、ＭＶＤの値が２１である場合、前記２１の代表値は２１であり、もし、１９から範囲が１である場合、前記２１は６の値にエンコーディングされる。これは０を基準点にして、７までは０値にエンコーディングされ、８乃至１３は１値にエンコーディングされ、１４乃至１７は２値にエンコーディングされることができ、１９からは範囲が１に設定されているため、順次に、１８は３値にエンコーディングされ、１９は４値にエンコーディングされ、２０は５値にエンコーディングされ、２１は６値にエンコーディングされることができる。この場合、デコーディング装置は、前記エンコーディングされた６値をデコーディングし、前記コーディングされた値６に対応するＭＶＤ値として２１の値を取得することができる。
【０１６５】
または、前記１９以後からデフォルトとして範囲が４に設定されている場合、前記２１の代表値は、例えば、２０になることができ、前記２０は３値にエンコーディングされることができる。デコーディング装置は、この場合、前記３値をデコーディングし、前記３に対応するＭＶＤ値として２０の値を取得することができる。
【０１６６】
前記のような適応的ＭＶＤ精密度のための範囲情報は、前記実施例３で詳述したようなＳＰＳシンタックスとスライスヘッダシンタックスに基づいて指示されることができる。この場合、例えば、ＳＰＳシンタックスは、ＭＶＤ精密度範囲テーブル候補の個数に対するシンタックス要素を含むことができ、各ＭＶＤ精密度範囲テーブル候補別に整数ペル精密度範囲、ハーフペル精密度範囲のうち少なくとも一つに対する情報を含むことができる。また、前記ＭＶＤ精密度範囲テーブル候補のうち一つの候補を示す精密度範囲テーブルインデックスが前記スライスヘッダシンタックスを介して指示されることができる。
【０１６７】
または、以下の表のように非線形ＡＭＶＲ範囲パラメータに対するシンタックスが整数ペル精密度範囲、ハーフペル精密度範囲に対する情報を含むこともできる。
【０１６８】
【表７】
2018533298.tif 000009
【０１６９】
表７を参照すると、ｎｕｍ＿ｎｏｎ＿ｌｉｎｅａｒ＿ｒａｎｇｅ＿ｔａｂｌｅ＿ｃａｎｄｉｄａｔｅは、非線形範囲テーブル候補の個数を示す。前記非線形範囲テーブル候補毎にｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅ及びｈａｌｆ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅシンタックス要素を含むことができる。
【０１７０】
ここで、ｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅは、整数ペル精密度範囲を示し、ｈａｌｆ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅは、ハーフペル精密度範囲を示す。前記整数ペル精密度範囲及び前記ハーフペル精密度範囲は、前記表７のｆｉｒｓｔ＿ｒａｎｇｅ＿ｖａｌｕｅ、ｆｉｒｓｔ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅ、ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｖａｌｕｅ、ｓｅｃｏｎｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅ、ｔｈｉｒｄ＿ｒａｎｇｅ＿ｖａｌｕｅ及びｔｈｉｒｄ＿ｒａｎｇｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｖｅ＿ｖａｌｕｅに基づく第１の範囲乃至第３の範囲と組み合わせて使われることができる。
【０１７１】
例えば、各精密度範囲を示す値は、スケールダウンされて送信されることができる。この場合、ｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅが示す値は、４にスケールダウンされて送信されることができ、ｈａｌｆ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅが示す値は、ｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅが示す値との差分値を２にスケールダウンした後に送信されることができる。例えば、図１０の場合、ｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅが示す値である８は、４にスケールダウンされて２の値に送信され、ｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅが示す値である１８から８を差分した１０を２にスケールダウンした５が送信される。デコーディング装置は、前記手順と反対の手順を介して各精密度範囲をデコーディングすることができる。
【０１７２】
図１５は、本発明による映像コーディング方法の一例を概略的に示す。図１５で開示された方法は、エンコーディング装置により実行されることができる。
【０１７３】
図１５を参照すると、エンコーディング装置は、ＡＭＶＲ可用フラグを生成する（Ｓ１５００）。エンコーディング装置は、現在ブロックに対するインター予測のためにＡＭＶＲを実行するかどうかを判断する。エンコーディング装置は、ＲＤ最適化のために前記ＡＭＶＲを実行することが良いと判断される場合、ＡＭＶＲを実行すると決定し、前記ＡＭＶＲ可用フラグの値を１に設定できる。
【０１７４】
エンコーディング装置は、前記現在ブロックに対するＭＶＤを導出する（Ｓ１５１０）。前記ＭＶＤは、クォーターペル単位のＭＶＤである。または、適応的ＭＶＤ精密度が適用される場合、前記ＭＶＤは、ＭＶＤ精密度範囲によって整数ペルまたはハーフペル単位である。
【０１７５】
エンコーディング装置は、動き推定（ｍｏｔｉｏｎ  ｅｓｔｉｍａｔｉｏｎ）を介して前記現在ブロックに対するＭＶを導出することができる。エンコーディング装置は、前記現在ブロックの空間的隣接ブロック及び時間的隣接ブロック（または、時間的対応ブロック）に基づいて前記現在ブロックに対するＭＶＰを導出することができる。エンコーディング装置は、前記ＭＶ及び前記ＭＶＰに基づいて前記現在ブロックに対する前記ＭＶＰを導出することができる。ここで、前記ＭＶＰは、クォーターペル単位のＭＶＰである。または、前記ＭＶＰは、クォーターペル単位の臨時ＭＶＰを整数ペル単位で丸めた、整数ペル単位のＭＶＰである。
【０１７６】
エンコーディング装置は、複数のＭＶＤ範囲のうち前記ＭＶＤの値が含まれるＭＶＤ範囲に対するＭＶＤ代表値を導出し（Ｓ１５２０）、前記ＭＶＤ代表値に対応するコーディングされた（ｃｏｄｅｄ）ＭＶＤを生成する（Ｓ１５３０）。
【０１７７】
一例として、前記複数のＭＶＤ範囲は、均等な範囲を有する線形ＭＶＤ範囲である。この場合、前記ＭＶＤ代表値は、前記ＭＶＤの値＋２を４の倍数に切り捨てた値である。また、この場合、前記コーディングされたＭＶＤは、前記ＭＶＤ代表値を４にスケールダウンした値である。
【０１７８】
他の例として、前記複数のＭＶＤ範囲は、非均等な範囲を有する非線形ＭＶＤ範囲である。この場合、前記非線形ＭＶＤ範囲のうち、中央領域に位置するＭＶＤ範囲は、相対的に広い範囲を有することができる。この場合、前記非線形ＭＶＤ範囲のうち、前記コーディングされたＭＶＤ値−１、０、１に対応されるＭＶＤ範囲が残りのＭＶＤ範囲より相対的に広い範囲を有することができる。前記コーディングされたＭＶＤ値が−１、０、１のうち一つである場合、前記ＭＶＤ代表値は、前記ＭＶＤの値＋４を８の倍数に切り捨てた値である。この場合、前記コーディングされたＭＶＤ値は、前記ＭＶＤ代表値を８にスケールダウンした値である。
【０１７９】
エンコーディング装置は、前記ＡＭＶＲ可用フラグ及び前記コーディングされたＭＶＤをビットストリームを介して出力する（Ｓ１５４０）。例えば、前記ＡＭＶＲ可用フラグは、ＳＰＳレベルで前記ビットストリームを介して出力されることができる。また、例えば、前記コーディングされたＭＶＤは、ＰＵレベルで前記ビットストリームを介して出力されることができる。
【０１８０】
前記出力されたビットストリームは、ネットワークまたは格納媒体を介してデコーディング装置に送信されることができる。
【０１８１】
一方、図示されていないが、エンコーディング装置は、前記複数のＭＶＤ範囲が非均等な範囲を有するかどうかを示す非線形ＡＭＶＲ範囲フラグを生成することができる。前記非線形ＡＭＶＲ範囲フラグの値０は、前記複数のＭＶＤ範囲が均等な範囲を有することを示し、前記非線形ＡＭＶＲ範囲フラグの値１は、前記複数のＭＶＤ範囲が非均等な範囲を有することを示すことができる。エンコーディング装置は、前記生成された非線形ＡＭＶＲフラグを前記ビットストリームを介して出力できる。
【０１８２】
もし、前記非線形ＡＭＶＲ範囲フラグの値が１である場合、エンコーディング装置は、非線形ＡＭＶＲ関連パラメータを生成し、前記ビットストリームを介して出力できる。前記非線形ＡＭＶＲ関連パラメータは、前述した表５及び表７で詳述した情報を含むことができる。例えば、前記非線形ＡＭＶＲ範囲関連パラメータは、前記ＭＶＤ範囲のうち、中央３個のＭＶＤ範囲の大きさ及び該当範囲の代表値に対する情報を含むことができる。また、前記非線形ＡＭＶＲ範囲関連パラメータは、非線形範囲テーブル候補の個数に対する情報を含むことができる。この場合、前記非線形ＡＭＶＲ範囲関連パラメータは、前記非線形範囲テーブル候補の各々に対応する中央３個のＭＶＤ範囲の大きさ及び該当範囲の代表値に対する情報を含むことができる。この場合、エンコーディング装置は、前記非線形範囲テーブル候補のうち一つの候補を示す範囲テーブルインデックスを生成し、前記範囲テーブルインデックスを前記ビットストリームを介して出力できる。この場合、例えば、前記範囲テーブルインデックスは、スライスヘッダレベルで前記ビットストリームを介して出力されることができる。
【０１８３】
一方、適応的なＭＶＤ精密度（ｐｒｅｃｉｓｉｏｎ）範囲を使用し、前記ＭＶＤの表現単位を範囲によって適応的に変更できる。この場合、エンコーディング装置は、前記ＭＶＤが整数ペル精密度を有するか、またはハーフペル精密度を有するかを示すＭＶＤ精密度情報を生成し、前記ＭＶＤ精密度情報を前記ビットストリームを介して出力できる。前記ＭＶＤ精密度情報は、例えば、前述したｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅシンタックス要素及びｈａｌｆ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅシンタックス要素のうち少なくとも一つを含むことができる。
【０１８４】
図１６は、本発明によるインター予測方法の一例を概略的に示す。図１６で開示された方法は、デコーディング装置により実行されることができる。
【０１８５】
図１６を参照すると、デコーディング装置は、エンコーディング装置から受信されたビットストリームからＡＭＶＲ可用フラグをパーシング及び取得する（Ｓ１６００）。デコーディング装置は、ネットワークまたは格納媒体を介して前記ビットストリームを受信することができる。前記ＡＭＶＲ可用フラグは、例えば、ＳＰＳレベルでパーシング及び取得されることができる。
【０１８６】
デコーディング装置は、前記ビットストリームからコーディングされたＭＶＤをパーシング及び取得する（Ｓ１６１０）。例えば、前記コーディングされたＭＶＤは、ＰＵレベルでパーシング及び取得されることができる。
【０１８７】
デコーディング装置は、前記ＡＭＶＲ可用フラグの値が１である場合、前記コーディングされたＭＶＤの値に対応する代表ＭＶＤの値を導出する（Ｓ１６２０）。前記ＭＶＤ代表値は、複数のＭＶＤ範囲のうち原本（ｏｒｉｇｉｎａｌ）ＭＶＤの値が含まれるＭＶＤ範囲に対する代表値である。
【０１８８】
一例として、前記複数のＭＶＤ範囲は、均等な範囲を有する線形（ｌｉｎｅａｒ）ＭＶＤ範囲であり、前記コーディングされたＭＶＤ値は、前記ＭＶＤ代表値を４にスケールアップした値である。
【０１８９】
他の例として、前記複数のＭＶＤ範囲は、非均等な範囲を有する非線形ＭＶＤ範囲である。この場合、前記非線形ＭＶＤ範囲のうち、中央領域に位置するＭＶＤ範囲は、相対的に広い範囲を有することができる。この場合、前記非線形ＭＶＤ範囲のうち、前記コーディングされたＭＶＤ値−１、０、１に対応されるＭＶＤ範囲が残りのＭＶＤ範囲より相対的に広い範囲を有することができる。前記コーディングされたＭＶＤ値が−１、０、１のうち一つである場合、前記ＭＶＤ代表値は、前記ＭＶＤの値＋４を８の倍数に切り捨てた値である。この場合、前記ＭＶＤ代表値は、前記コーディングされたＭＶＤ値を８にスケールアップした値である。
【０１９０】
前記原本ＭＶＤは、クォーターペル単位のＭＶＤである。または、適応的ＭＶＤ精密度が適用される場合、前記原本ＭＶＤは、ＭＶＤ精密度範囲によって整数ペルまたはハーフペル単位である。
【０１９１】
デコーディング装置は、現在ブロックの空間的隣接ブロック及び時間的隣接ブロック（または、時間的対応ブロック）に基づいて前記現在ブロックに対するＭＶＰを導出する（Ｓ１６３０）。ここで、前記ＭＶＰは、クォーターペル単位のＭＶＰである。または、前記ＭＶＰは、クォーターペル単位の臨時ＭＶＰを整数ペル単位で丸めた、整数ペル単位のＭＶＰである。
【０１９２】
デコーディング装置は、前記ＭＶＰ及び前記代表ＭＶＤに基づいて前記現在ブロックに対するＭＶを導出する（Ｓ１６４０）。デコーディング装置は、前記ＭＶＰ及び前記代表ＭＶＤを加算して前記現在ブロックに対するＭＶを導出することができる。
【０１９３】
デコーディング装置は、前記ＭＶに基づいてインター予測を実行することで、前記現在ブロックに対する予測サンプル（または、予測サンプルアレイ）を生成する（Ｓ１６５０）。デコーディング装置は、参照ピクチャ上で前記ＭＶが示す相対的な位置にある参照ブロック内の復元サンプル（または、復元サンプルアレイ）に基づいて前記現在ブロックに対する予測サンプル（または、予測サンプルアレイ）を生成することができる。デコーディング装置は、前記ビットストリームからレジデュアル信号に対する変換係数を取得することができる。デコーディング装置は、前記変換係数を逆変換し、前記変換係数から前記現在ブロックに対するレジデュアルサンプル（または、レジデュアルサンプルアレイ）を取得することができる。デコーディング装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて復元サンプル及び復元ピクチャを生成することができる。
【０１９４】
一方、図示されていないが、デコーディング装置は、前記複数のＭＶＤ範囲が非均等な範囲を有するかどうかを示す非線形ＡＭＶＲ範囲フラグを前記ビットストリームを介して受信することができる。前記非線形ＡＭＶＲ範囲フラグの値０は、前記複数のＭＶＤ範囲が均等な範囲を有することを示し、前記非線形ＡＭＶＲ範囲フラグの値１は、前記複数のＭＶＤ範囲が非均等な範囲を有することを示すことができる。前記非線形ＡＭＶＲ関連パラメータは、前述した表５及び表７で詳述した情報を含むことができる。例えば、前記非線形ＡＭＶＲ範囲関連パラメータは、前記ＭＶＤ範囲のうち、中央３個のＭＶＤ範囲の大きさ及び該当範囲の代表値に対する情報を含むことができる。また、前記非線形ＡＭＶＲ範囲関連パラメータは、非線形範囲テーブル候補の個数に対する情報を含むことができる。この場合、前記非線形ＡＭＶＲ範囲関連パラメータは、前記非線形範囲テーブル候補の各々に対応する中央３個のＭＶＤ範囲の大きさ及び該当範囲の代表値に対する情報を含むことができる。デコーディング装置は、前記非線形ＡＭＶＲ範囲関連パラメータ及び前記コーディングされたＭＶＤ値に基づいて前記代表ＭＶＤ値を導出することができる。この場合、デコーディング装置は、範囲テーブルインデックスを前記ビットストリームから取得し、前記範囲テーブルインデックスに基づいて前記非線形範囲テーブル候補のうち一つの候補を選択することができる。デコーディング装置は、前記選択された候補に基づいてＭＶＤ範囲の大きさ及び代表値を知ることができ、これに基づいて前記コーディングされたＭＶＤ値に対応する代表ＭＶＤ値を導出することができる。
【０１９５】
一方、適応的なＭＶＤ精密度（ｐｒｅｃｉｓｉｏｎ）範囲を使用し、前記原本ＭＶＤの表現単位が精密度範囲によって適応的に変更されることができる。この場合、デコーディング装置は、前記原本ＭＶＤが整数ペル精密度を有するか、またはハーフペル精密度を有するかを示すＭＶＤ精密度情報を前記ビットストリームを介して取得し、前記ＭＶＤ精密度情報に基づいて前記コーディングされたＭＶＤ値に対応する前記ＭＶＤ範囲及び前記代表ＭＶＤ値を導出することができる。前記ＭＶＤ精密度情報は、例えば、前述したｉｎｔｅｇｅｒ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅシンタックス要素及びｈａｌｆ＿ｐｅｌ＿ｐｒｅｃｉｓｉｏｎ＿ｒａｎｇｅシンタックス要素のうち少なくとも一つを含むことができる。
【０１９６】
前述した本発明によると、少ない付加情報を使用しながら現在ブロックに対するインター予測を効率的に実行することができる。また、本発明によると、ＭＶＤに割り当てられるビット量が減少して全般的なコーディング効率が増加されることができる。
【０１９７】
以上の説明は、本発明の技術思想を例示的に説明したものに過ぎず、本発明が属する技術分野において、通常の知識を有する者であれば、本発明の本質的な特性から外れない範囲で多様な修正及び変形が可能である。したがって、本発明に開示された実施例は、本発明の技術思想を限定するためのものではなく、説明するためのものであり、このような実施例により本発明の技術思想の範囲が限定されるものではない。本発明の保護範囲は、特許請求の範囲により解釈されなければならない。
【０１９８】
本発明において、実施例がソフトウェアで具現される時、前述した方法は、前述した機能を遂行するモジュール（過程、機能など）で具現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、他のチップセット、論理回路及び／またはデータ処理装置を含むことができる。メモリは、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、フラッシュメモリ、メモリカード、格納媒体及び／または他の格納装置を含むことができる。
【図１】
2018533298.tif 000010
【図２】
2018533298.tif 000011
【図３】
2018533298.tif 000012
【図４】
2018533298.tif 000013
【図５】
2018533298.tif 000014
【図６】
2018533298.tif 000015
【図７】
2018533298.tif 000016
【図８】
2018533298.tif 000017
【図９（ａ）】
2018533298.tif 000018
【図９（ｂ）】
2018533298.tif 000019
【図１０】
2018533298.tif 000020
【図１１】
2018533298.tif 000021
【図１２】
2018533298.tif 000022
【図１３】
2018533298.tif 000023
【図１４】
2018533298.tif 000024
【図１５】
2018533298.tif 000025
【図１６】
2018533298.tif 000026
【国際調査報告】
2018533298.tif 000027
2018533298.tif 000028
2018533298.tif 000029
2018533298.tif 000030