(57)【特許請求の範囲】
【請求項１】
予測ブロックを生成するための動き情報を算出するステップと、
補間フィルタが適用される整数画素サンプルを含む整数サンプル集合に基づいて部分画素サンプルを生成するステップと、
前記動き情報および前記部分画素サンプルに基づいて前記予測ブロックを生成するステップと、
前記予測ブロックに基づいて映像の復元サンプルを生成するステップと、を含み、
前記整数サンプル集合には現在ピクチャの復元された整数画素サンプルのうち、前記部分画素サンプルの生成に利用される少なくとも一つの現在整数サンプルが含まれ、
前記部分画素サンプルは、前記整数画素サンプルのうち、所定の基準画素サンプルから部分画素単位のオフセット位置に対応することを特徴とする、復号器によって行われる映像復号方法。
【請求項２】
前記補間は、輝度画素に対する補間であり、前記部分画素サンプルを生成するステップでは、前記基準画素サンプルの位置によって所定の現在整数サンプルが前記整数サンプル集合に含まれることを特徴とする、請求項１に記載の方法。
【請求項３】
前記基準画素サンプルが、前記補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から、１番目の整数画素サンプル列又は行に位置する場合には３個の現在整数サンプルが前記整数サンプル集合に含まれ、２番目の整数画素サンプル列又は行に位置する場合には２個の現在整数サンプルが前記整数サンプル集合に含まれ、３番目の整数画素サンプル列又は行に位置する場合には１個の現在整数サンプルが前記整数サンプル集合に含まれることを特徴とする、請求項２に記載の方法。
【請求項４】
前記方法は、前記部分画素サンプルを生成する前に、少なくとも一つ以上の参照画素サンプル及び現在ピクチャの復元された画素サンプルを利用するスムージングフィルタを、前記現在整数サンプルのうち、少なくとも一つの現在整数サンプルに適用するステップをさらに含むことを特徴とする、請求項３に記載の方法。
【請求項５】
前記方法は、前記部分画素サンプルを生成する前に、前記補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から最も近い位置にある現在整数サンプルに対して、少なくとも一つ以上の参照画素サンプル及び現在ピクチャの復元された画素サンプルを利用するスムージングフィルタを適用するステップをさらに含むことを特徴とする、請求項３に記載の方法。
【請求項６】
前記補間は、色差画素に対する補間であり、前記部分画素サンプルを生成するステップでは、前記基準画素サンプルの位置によって所定の現在整数サンプルが前記整数サンプル集合に含まれることを特徴とする、請求項１に記載の方法。
【請求項７】
前記基準画素サンプルが、前記補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から１番目の整数画素サンプル列又は行に位置する場合、一つの現在整数サンプルが前記整数サンプル集合に含まれることを特徴とする、請求項６に記載の方法。
【請求項８】
前記方法は、前記部分画素サンプルを生成する前に、少なくとも一つ以上の参照画素サンプル及び現在ピクチャの復元された画素サンプルを利用するスムージングフィルタを、前記現在整数サンプルのうち、少なくとも一つの現在整数サンプルに適用するステップをさらに含むことを特徴とする、請求項７に記載の方法。
【請求項９】
前記方法は、前記現在ピクチャの復元された整数画素サンプルを前記部分画素サンプルの生成に利用するという黙示的又は明示的な指示が符号化器から伝達されたかどうかを判断するステップをさらに含み、前記指示が伝達されたと判断した場合、前記現在ピクチャの復元された整数画素サンプルを前記部分画素サンプルの生成に利用することを特徴とする、請求項１に記載の方法。
【請求項１０】
前記明示的な指示は、画素位置情報及び参照画素サンプルの配列に対する情報と共に前記符号化器から前記復号器に伝達される１ビットのフラグ情報であることを特徴とする、請求項９に記載の方法。
【請求項１１】
現在予測単位に対する動きベクトルと前記現在予測単位の周囲のブロックに対する動きベクトルとの差が所定の閾値以下である場合には、前記現在ピクチャの復元された整数画素サンプルを前記部分画素サンプルの生成に利用するという黙示的な指示があると判断することを特徴とする、請求項９に記載の方法。
【請求項１２】
前記補間は、輝度画素に対する補間であり、基準整数サンプルが前記補間に利用される参照ピクチャの参照サンプル領域の上側又は左側境界から３番目の整数サンプル行/列以内に位置する場合には、現在ピクチャの復元された整数画素サンプルを前記補間に利用することを特徴とする、請求項１に記載の方法。
【請求項１３】
前記補間は、色差画素に対する補間であり、基準整数サンプルが前記補間に利用される参照ピクチャの参照サンプル領域の上側又は左側境界から１番目の整数サンプル行/列に位置する場合には、現在ピクチャの復元された整数画素サンプルを前記補間に利用することを特徴とする、請求項１に記載の方法。
【請求項１４】
映像に関するビットストリームを受信するステップと、
前記ビットストリームに基づいて予測ブロックを生成するための動きベクトルを算出するステップと、
前記動きベクトルがサブ画素位置を指示する場合、サブ画素単位の画素サンプルを生成する補間を実行するステップと、
前記動きベクトルと前記サブ画素単位の画素サンプルとに基づいて前記予測ブロックを生成するステップと、を含み、
前記補間は、所定のフィルタ係数、現在ピクチャの復元された画素サンプル及び参照ピクチャの画素サンプルを共に利用することを特徴とする、復号器によって行われる画面間予測方法。
【請求項１５】
前記復元された画素サンプルは、現在予測ユニットの上側(Ｕｐｐｅｒ)及び左側(ｌｅｆｔ)領域の少なくとも一つに位置し、前記参照ピクチャの前記画素サンプルは、参照ブロック、前記参照ブロックの下側及び右側領域の少なくとも一つに位置することを特徴とする、請求項１４に記載の方法。
【請求項１６】
前記補間を実行するステップの前に前記現在ピクチャの復元された画素サンプルに対して、前記現在ピクチャの復元された画素サンプルのうち少なくとも一つと前記参照ピクチャの画素サンプルのうち少なくとも一つとを利用したスムージングを実行することを特徴とする、請求項１４に記載の方法。
【請求項１７】
予測ブロックを生成するための動きベクトルを取得するステップと、
前記動きベクトルがサブ画素位置を指示する場合、サブ画素単位の画素サンプルを生成する補間を実行するステップと、
前記動きベクトルと前記サブ画素単位の画素サンプルとに基づいて前記予測ブロックを生成するステップと、
前記予測ブロックに基づいて映像の復元ブロックを生成するステップと、を含み、
前記補間は、所定のフィルタ係数、現在ピクチャの復元された画素サンプル及び参照ピクチャの画素サンプルを共に利用することを特徴とする、復号器によって行われる映像復号方法。
【請求項１８】
前記復元された画素サンプルは、現在予測ユニットの上側(Ｕｐｐｅｒ)及び左側(ｌｅｆｔ)領域の少なくとも一つに位置し、前記参照ピクチャの前記画素サンプルは、参照ブロック、前記参照ブロックの下側及び右側領域の少なくとも一つに位置することを特徴とする、請求項１７に記載の方法。
【請求項１９】
前記補間を実行するステップの前に前記現在ピクチャの復元された画素サンプルに対して、前記現在ピクチャの復元された画素サンプルのうち少なくとも一つと前記参照ピクチャの画素サンプルのうち少なくとも一つとを利用したスムージングを実行することを特徴とする、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像圧縮技術に関し、具体的には、画面間予測(ｉｎｔｅｒ ｐｉｃｔｕｒｅ ｐｒｅｄｉｃｔｉｏｎ)において補間(ｉｎｔｅｒｐｏｌａｔｉｏｎ)方法に関する。
【背景技術】
【０００２】
最近、高解像度、高品質の映像に対する要求が多様な応用分野で増加している。しかし、映像の高解像度、高品質になるほど該当映像に対する情報量も共に増加する。したがって、既存の有無線広帯域回線のような媒体を利用して映像情報を送信する場合、又は既存の記憶媒体を利用して映像情報を記憶する場合、情報の送信費用と記憶費用が増加するようになる。
【０００３】
高解像度、高品質映像の情報を効果的に送信し、又は記憶し、再生するために高効率の映像圧縮技術を利用することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一目的は、効果的な画面間予測を実行するための補間方法及び装置を提供することである。
【０００５】
本発明の一目的は、現在ピクチャの復元された画素サンプルと参照ピクチャの参照画素サンプルを共に利用する補間方法及び装置を提供することである。
【０００６】
本発明の一目的は、補間により生成される予測ブロックの境界で不連続性を減らすために現在ピクチャの復元された画素サンプルにスムージングフィルタを適用して補間を実行する方法及び装置を提供することである。
【０００７】
本発明の一目的は、現在ピクチャの復元された画素サンプルが補間に使われる場合、これに対する情報をデコーダーが認知するようにする方法及び装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一実施形態は、予測ブロックを生成するための動き情報を算出するステップ及び補間フィルタが適用される整数画素サンプルを含む整数サンプル集合に基づいて部分画素サンプルを生成するステップを含む補間方法であって、ここで、整数サンプル集合には現在ピクチャの復元された整数画素サンプルのうち、部分画素サンプルの生成に利用される少なくとも一つの現在整数サンプルが含まれ、部分画素サンプルは、整数画素サンプルのうち、所定の基準画素サンプルから部分画素単位のオフセット位置に対応する。
【０００９】
本実施形態において、補間は、輝度画素に対する補間であり、部分画素サンプルを生成するステップでは、基準画素サンプルの位置によって所定の現在整数サンプルが整数サンプル集合に含まれる。
【００１０】
例えば、基準画素サンプルが、補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から、１番目の整数画素サンプル列又は行に位置する場合には３個の現在整数サンプルが整数サンプル集合に含まれ、２番目の整数画素サンプル列又は行に位置する場合には２個の現在整数サンプルが整数サンプル集合に含まれ、３番目の整数画素サンプル列又は行に位置する場合には１個の現在整数サンプルが整数サンプル集合に含まれる。
【００１１】
本実施形態による補間方法は、部分画素サンプルを生成する前に、少なくとも一つ以上の参照画素サンプル及び現在ピクチャの復元された画素サンプルを利用するスムージングフィルタを、現在整数サンプルのうち、少なくとも一つの現在整数サンプルに適用するステップをさらに含む。
【００１２】
この場合、スムージングフィルタは、補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から最も近い位置にある現在整数サンプルに対して適用される。
【００１３】
本実施形態において、補間は、色差画素に対する補間であり、部分画素サンプルを生成するステップでは、基準画素サンプルの位置によって所定の現在整数サンプルが整数サンプル集合に含まれる。
【００１４】
例えば、基準画素サンプルが、補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から１番目の整数画素サンプル列又は行に位置する場合、一つの現在整数サンプルが整数サンプル集合に含まれる。
【００１５】
色差画素に対する補間の場合にも、本実施形態の補間方法は、部分画素サンプルを生成する前に、少なくとも一つ以上の参照画素サンプル及び現在ピクチャの復元された画素サンプルを利用するスムージングフィルタを、現在整数サンプルのうち、少なくとも一つの現在整数サンプルに適用するステップをさらに含む。
【００１６】
また、本実施形態による補間方法は、現在ピクチャの復元された整数画素サンプルを部分画素サンプルの生成に利用するという黙示的又は明示的な指示が符号化器から伝達されたかどうかを判断するステップをさらに含み、該当指示が伝達された場合、現在ピクチャの復元された整数画素サンプルを部分画素サンプルの生成に利用する。
【００１７】
このとき、明示的な指示は、画素位置情報及び参照画素サンプルの配列に対する情報と共に符号化器から復号器に伝達される１ビットのフラグ情報である。
【００１８】
また、現在予測単位に対する動きベクトルと現在予測単位周囲のブロックに対する動きベクトルとの差が所定の閾値以下である場合には、現在ピクチャの復元された整数画素サンプルを部分画素サンプルの生成に利用するという黙示的な指示があると判断する。
【００１９】
併せて、輝度画素に対する補間の場合、基準整数サンプルが補間に利用される参照ピクチャの参照サンプル領域の上側又は左側境界から３番目の整数サンプル行/列以内に位置すると、符号化器からの指示がない場合にも、現在ピクチャの復元された整数画素サンプルを補間に利用する。
【００２０】
色差画素に対する補間の場合にも、基準整数サンプルが補間に利用される参照ピクチャの参照サンプル領域の上側又は左側境界から１番目の整数サンプル行/列に位置すると、符号化器からの指示がない場合にも、現在ピクチャの復元された整数画素サンプルを補間に利用する。
【００２１】
本発明の他の実施形態は、現在符号化ユニットで予測ユニットを区分する予測ユニット判別部及び整数画素サンプルに基づいて部分画素サンプルを生成する補間部を含み、補間部は、画素サンプル位置情報及び参照画素サンプルの配列に対する情報に基づいて、所定の整数画素サンプルに補間フィルタを適用して部分画素サンプルを生成し、補間フィルタが適用される整数画素サンプルには現在ピクチャの復元された整数画素サンプルのうち、少なくとも一つの整数画素サンプルが含まれ、部分画素サンプルは、整数画素サンプルのうち、所定の基準画素サンプルから部分画素単位のオフセット位置に対応することを特徴とする補間装置である。
【００２２】
補間フィルタが適用される整数画素サンプルが輝度画素サンプルの場合、基準画素サンプルが参照ピクチャの参照サンプル領域内で、補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から、１番目の整数画素サンプル列又は行に位置する場合には現在ピクチャの復元された整数画素サンプルのうち３個の整数画素サンプルが、２番目の整数画素サンプル列又は行に位置する場合には現在ピクチャの復元された整数画素サンプルのうち２個の整数画素サンプルが、３番目の整数画素サンプル列又は行に位置する場合には現在ピクチャの復元された整数画素サンプルのうち１個の整数画素サンプルが、補間フィルタが適用される整数画素サンプルに含まれる。
【００２３】
また、補間フィルタが適用される整数画素サンプルが色差画素サンプルの場合、基準画素サンプルが参照ピクチャの参照サンプル領域内で、補間に使われる現在ピクチャの復元された画素サンプル領域と参照ピクチャの参照サンプル領域との間の境界から１番目の整数画素サンプル列又は行に位置する場合には、現在ピクチャの復元された整数画素サンプルのうち１個の整数画素サンプルが補間フィルタが適用される整数画素サンプルに含まれる。
【００２４】
本発明の他の実施形態は、予測ブロックを生成するための動きベクトルを算出するステップ、動きベクトルがサブ画素位置を指示する場合、サブ画素単位の画素サンプルを生成する補間を実行するステップ、及び動きベクトルとサブ画素単位の画素サンプルに基づいて予測ブロックを生成するステップを含む画面間予測方法であって、このとき、実行される補間は、現在ピクチャの復元された画素サンプルと参照ピクチャの画素サンプルを共に利用する。
【００２５】
本実施形態において、補間に利用される現在ピクチャの復元された画素サンプルは、現在予測ユニットの上側(Ｕｐｐｅｒ)又は左側(ｌｅｆｔ)領域に位置する。
【００２６】
また、補間ステップを実行する前に、現在ピクチャの復元された画素サンプルに対して、現在ピクチャの復元された画素サンプルのうち少なくとも一つと参照ピクチャの画素サンプルのうち少なくとも一つとを利用したスムージングを実行する。
【００２７】
本発明の他の実施形態は、予測ブロックを生成するための動きベクトルを算出するステップ及び動きベクトルがサブ画素位置を指示する場合、サブ画素単位の画素サンプルを生成する補間を実行するステップを含む補間方法であって、このとき、実行される補間は、現在ピクチャの復元された画素サンプルと参照ピクチャの画素サンプルを共に利用する。
【００２８】
本実施形態において、補間に利用される現在ピクチャの復元された画素サンプルは、現在予測ユニットの上側(Ｕｐｐｅｒ)又は左側(ｌｅｆｔ)領域に位置する。
【００２９】
また、補間ステップを実行する前に、現在ピクチャの復元された画素サンプルに対して、現在ピクチャの復元された画素サンプルのうち少なくとも一つと参照ピクチャの画素サンプルのうち少なくとも一つとを利用したスムージングを実行する。
【発明の効果】
【００３０】
本発明によると、現在ピクチャの復元された画素サンプルと参照ピクチャの参照画素サンプルを共に利用して補間を実行することによって画面間予測の効果を高めることができる。
【００３１】
本発明によると、現在ピクチャの復元された画素サンプルにスムージングフィルタを適用して補間を実行することによって補間により生成される予測ブロックの境界で不連続性を減らすことができる。
【００３２】
本発明によると、現在ピクチャの復元された画素サンプルが補間に使われたという情報をデコーダーが認知して補間を実行することによって映像符号化/復号の正確度を増加させることができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施例に係る映像符号化器を概略的に示すブロック図である。
【図２】本発明の一実施例によって、最大符号化ユニットが少なくとも一つの符号化ユニットに分割されることを概略的に示す概念図である。
【図３】本発明の一実施例に係る予測部を概略的に示す概念図である。
【図４】予測モードによる予測ブロックの形態を概略的に示す図である。
【図５】本発明の一実施例に係る映像復号器を概略的に示すブロック図である。
【図６】本発明の一実施例に係る映像復号器の予測部を概略的に示す概念図である。
【図７】画面間予測において、参照ピクチャの輝度画素の１/４単位サンプル補間に対する整数サンプルと分数サンプルの位置を概略的に示す図である。
【図８】色差画素の１/８単位サンプル補間に対する整数サンプルと分数サンプルの位置を概略的に示す図である。
【図９】本発明によって、参照ピクチャと現在ピクチャのサンプルを共に利用して補間を実行することを概略的に説明する図である。
【図１０】本発明によって、復元された現在ピクチャの画素サンプルと参照ピクチャの画素サンプルで構成された補間のためのサンプル配列を概略的に示す図である。
【図１１】予測ユニットに対応する参照ブロックで基準整数サンプルの位置による実施例を概略的に説明する図である。
【図１２】本発明による補間領域を輝度画素サンプルに対して概略的に示す図である。
【図１３】本発明による補間領域を色差画素サンプルに対して概略的に示す図である。
【図１４】予測ユニットに対応する参照ブロックで基準整数サンプルの位置による実施例を概略的に説明する図である。
【図１５】予測ユニットに対応する参照ブロックで基準整数サンプルの位置による実施例を概略的に説明する図である。
【図１６】予測ユニットに対応する参照ブロックで基準整数サンプルの位置による実施例を概略的に説明する図である。
【図１７】予測ユニットに対応する参照ブロックで基準整数サンプルの位置による実施例を概略的に説明する図である。
【図１８】予測ユニットに対応する参照ブロックで基準整数サンプルの位置による実施例を概略的に説明する図である。
【図１９】本発明による復号器で予測ブロックを生成する方法を概略的に説明するフローチャートである。
【発明を実施するための形態】
【００３４】
本発明は、多様な変更を加えることができ、様々な実施例を有することができ、特定実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施形態に対して限定するものではない。本明細書で使用する用語は、単に特定の実施例を説明するために使われたものであり、本発明の技術的思想を限定するために使われるものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本明細書において、“含む”又は“有する”などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定するものであり、一つ又はそれ以上の他の特徴、数字、ステップ、動作、構成要素、部品又はこれらを組合せたものの存在又は付加可能性を予め排除しないと理解しなければならない。
【００３５】
一方、本発明で説明される図面上の各構成は、映像符号化/復号器で互いに異なる特徴的な機能に対する説明の便宜のために独立的に図示したものであり、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味しない。例えば、各構成のうち、二つ以上の構成が統合されて一つの構成になることもでき、一つの構成が複数の構成に分けられることもできる。各構成が統合及び/又は分離された実施例も本発明の本質から外れない限り本発明の権利範囲に含まれる。
【００３６】
以下、添付図面を参照して、本発明の好ましい実施例をさらに詳細に説明する。以下、図面上、同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複した説明は省略する。
【００３７】
図１は、本発明の一実施例に係る映像符号化器を概略的に示すブロック図である。図１を参照すると、映像符号化器１００は、ピクチャ分割部１０５、予測部１１０、変換部１１５、量子化部１２０、再整列部１２５、エントロピー符号化部１３０、逆量子化部１３５、逆変換部１４０、フィルタ１４５、及びメモリ１５０を備える。
【００３８】
ピクチャ分割部１０５は、入力されたピクチャを少なくとも一つの処理単位に分割することができる。このとき、処理単位は、予測ユニット(Ｐｒｅｄｉｃｔｉｏｎ Ｕｎｉｔ)であってもよく、変換ユニット(Ｔｒａｎｓｆｏｒｍ Ｕｎｉｔ：ＴＵ)であってもよく、符号化ユニット(Ｃｏｄｉｎｇ Ｕｎｉｔ：ＣＵ)であってもよい。映像符号化器１００は、後述のように、予測ユニット単位に画面内予測又は画面間予測を実行し、変換ユニット単位に映像を変換し、符号化ユニット単位に映像を符号化する。
【００３９】
予測部１１０は、後述のように、画面間予測を実行する画面間予測部と画面内予測を実行する画面内予測部を含む。予測部１１０は、ピクチャ分割部１０５から提供された予測単位に対して予測モードによって画面間予測又は画面内予測を実行して予測ブロックを生成する。生成された予測ブロックと原本ブロックとの間の残差値は、変換部１１５に入力される。また、予測のために使用した予測モード情報、動きベクトル情報などは、残差値と共にエントロピー符号化部１３０で符号化されて復号器に伝達される。
【００４０】
変換部１１５は、現在符号化ユニットを少なくとも一つの変換ユニットに分割することができる。このとき、変換部１１５は、送信費用を算出する所定の費用関数を利用して最適の送信単位を選択することができる。変換部１１５では、原本ブロックと予測部１１０を介して生成された予測ブロックとの残差値(ｒｅｓｉｄｕａｌ)情報を含む残差ブロックをＤＣＴ(Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ)及び/又はＤＳＴ(Ｄｉｓｃｒｅｔｅ Ｓｉｎｅ Ｔｒａｎｓｆｏｒｍ)を利用して変換することができる。変換部１１５では、符号化ユニットに基づいて変換ユニットを決定することができる。
【００４１】
量子化部１２０は、変換部１１５で周波数領域に変換された残差値を量子化することで、量子化係数を生成することができる。量子化部１２０で算出された値は、逆量子化部１３５と再整列部１２５に提供される。
【００４２】
再整列部１２５は、量子化係数を再整列する。量子化係数を再整列することによってエントロピー符号化部１３０での符号化の効率を上げることができる。再整列部１２５は、係数スキャニング(Ｃｏｅｆｆｉｃｉｅｎｔ Ｓｃａｎｎｉｎｇ)方法を介して２次元ブロック形態の係数(残差値)を１次元のベクトル形態で再整列することができる。再整列部１２５では、量子化部で送信された係数の確率的な統計に基づいて係数スキャニングの順序を変更することによってエントロピー符号化部１３０でのエントロピー符号化効率を上げることができる。
【００４３】
エントロピー符号化部１３０は、再整列部１２５により再整列された量子化係数に対するエントロピー符号化を実行することができる。エントロピー符号化には、例えば、指数ゴロム(Ｅｘｐｏｎｅｎｔｉａｌ Ｇｏｌｏｍｂ)、ＣＡＶＬＣ(Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ Ｖａｒｉａｂｌｅ Ｌｅｎｇｔｈ Ｃｏｄｉｎｇ)、ＣＡＢＡＣ(Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ)のような符号化方法を使用することができる。エントロピー符号化部１３０は、再整列部１２５及び予測部１１０から伝達された符号化ユニットの量子化係数情報及びブロックタイプ情報、予測モード情報、分割単位情報、予測ユニット情報及び送信単位情報、動きベクトル情報、参照フレーム情報、ブロックの補間情報、フィルタリング情報など、多様な情報を符号化することができる。
【００４４】
例えば、エントロピー符号化部１３０で動きベクトル情報を符号化する場合には、マージスキップ(Ｍｅｒｇｅ Ｓｋｉｐ)方法、予測ユニットマージ(ＰＵ Ｍｅｒｇｅ)方法、ＡＭＶＰ(Ａｄｖａｎｃｅｄ Ｍｏｔｉｏｎ Ｖｅｃｔｏｒ Ｐｒｅｄｉｃｔｉｏｎ)方法などを使用することができる。
【００４５】
マージスキップ(Ｍｅｒｇｅ Ｓｋｉｐ)方法は、現在ブロックの周辺ブロック(マージ候補ブロック)の中から選択したブロック(マージブロック)の動き予測情報(動きベクトル、参照ピクチャインデックス等)を使用して予測ブロックを生成する方法である。マージスキップの場合は、残差信号が０であるが、同一に候補ブロックの動き予測関連情報を使用する予測ユニットマージ方法の場合には残差信号が０ではない。マージスキップ方法の場合にはスキップするという情報とマージブロックのインデックスなどが符号化されて送信され、予測ユニットマージ方法の場合にはマージブロックのインデックスと共に残差信号などが符号化されて送信される。
【００４６】
ＡＭＶＰ方法も、ＡＭＶＰ候補ブロックから動き予測関連情報の提供を受けることができる。ＡＭＶＰ方法の場合、候補ブロックは、同一ピクチャ内の周辺ブロックだけでなく、参照ピクチャの同一位置に対応する(ｃｏ−ｌｏｃａｔｅｄ)ブロックを含む。したがって、ＡＭＶＰ方法を使用する場合には参照ピクチャインデックスと共に動きベクトル予測子(Ｍｏｔｉｏｎ Ｖｅｃｔｏｒ Ｐｒｅｄｉｃｔｏｒ)と動きベクトルの残差値を符号化して符号化器に伝達する。動きベクトルの残差値は、選択されたＡＭＶＰ候補ブロックと現在予測ユニットとの間の動きベクトル差分値である。
【００４７】
逆量子化部１３５は、量子化部１２０で量子化された値を逆量子化し、逆変換部１４０は、変換部１１５で変換された値を逆変換する。逆量子化部１３５及び逆変換部１４０で生成された残差値(Ｒｅｓｉｄｕａｌ)は、予測部１１０で予測された予測ブロックと合わせられて復元ブロック(Ｒｅｃｏｎｓｔｒｕｃｔｅｄ Ｂｌｏｃｋ)を生成することができる。
【００４８】
フィルタ部１４５は、デブロッキングフィルタ及び/又はＡＬＦ(Ａｄａｐｔｉｖｅ Ｌｏｏｐ Ｆｉｌｔｅｒ)を復元されたピクチャに適用する。
【００４９】
デブロッキングフィルタは、復元されたピクチャでブロック間の境界に発生したブロック歪曲を除去することができる。
【００５０】
ＡＬＦ(Ａｄａｐｔｉｖｅ Ｌｏｏｐ Ｆｉｌｔｅｒ)は、デブロッキングフィルタを介してブロックをフィルタリングした後、復元された映像と元来の映像を比較した値に基づいてフィルタリングを実行することができる。輝度信号の場合、ＡＬＦを適用するかどうかに関連した情報を符号化ユニット(Ｃｏｄｉｎｇ Ｕｎｉｔ、ＣＵ)別に送信することができ、それぞれのブロックによって適用されるＡＬＦの大きさ及び係数は変わることができる。
【００５１】
一方、画面間予測に使われる復元ブロックに対し、フィルタ部１４５は、フィルタリングを適用しない。
【００５２】
メモリ１５０は、フィルタ部１４５を介して算出された復元ブロック又はピクチャを記憶することができる。メモリ１５０に記憶された復元ブロック又はピクチャは、画面間予測を実行する予測部１１０に提供することができる。
【００５３】
以下、符号化器の各構成で実行される映像情報の符号化に対する処理に対してさらに具体的に説明する。
【００５４】
まず、ピクチャの符号化ユニット、予測ユニット、及び変換ユニットに対して説明する。ピクチャの分割単位である符号化ユニットは、映像符号化器で符号化を実行する一つの単位であり、ＣＵ(Ｃｏｄｉｎｇ Ｕｎｉｔ)という用語で使われることもできる。符号化ユニットは、６４×６４、３２×３２、１６×１６、８×８などの大きさを有することができる。符号化ユニットは、クアッドツリー構造(Ｑｕａｄ Ｔｒｅｅ Ｓｔｒｕｃｔｕｒｅ)に基づいて深さ(Ｄｅｐｔｈ)を有して分割することができる。最大大きさの符号化ユニットに対して最大符号化ユニット(Ｌａｒｇｅｓｔ Ｃｏｄｉｎｇ Ｕｎｉｔ、ＬＣＵ)、最小大きさの符号化ユニットに対して最小符号化ユニット(Ｓｍａｌｌｅｓｔ Ｃｏｄｉｎｇ Ｕｎｉｔ、ＳＣＵ)という用語を使用することもできる。符号化器は、最大符号化ユニットと最小符号化ユニットに対する情報を復号器に送信することもでき、最大符号化ユニット又は最小符号化ユニットに対する情報のうちいずれか一つの情報と分割可能な回数に対する情報(深さ情報)とを復号器に送信することもできる。
【００５５】
符号化ユニットが前述したように、クアッドツリー構造に基づいて分割されたかどうかは分割フラグ(Ｓｐｌｉｔ Ｆｌａｇ)のようなフラグ情報で表現することができる。
【００５６】
図２は、本発明の一実施例によって、最大符号化ユニットが少なくとも一つの符号化ユニットに分割されることを概略的に示す概念図である。一つの符号化ユニットは、深さ情報と分割フラグ(Ｓｐｌｉｔ Ｆｌａｇ)を利用して符号化ユニットの分割可否を表現することができる。
【００５７】
一つの符号化ユニットは、ＬＣＵの大きさ情報及び深さ情報及び分割フラグ情報に基づいて複数個の小さい符号化ユニットに分割することができる。最大符号化ユニットの大きさ情報、分割深さ情報、及び現在符号化ユニットの分割可否情報は、ビットストリーム上のシーケンスパラメータセット(ＳＰＳ)に含まれて現在符号化ユニットの分割情報を映像復号器に送信することができる。
【００５８】
図２を参照すると、Ｓ２００は、最大符号化ユニット(ＬＣＵ)の大きさが６４×６４であり、クアッドツリー構造で深さが０の場合を示す。Ｓ２００において、左側のブロックは、分割可否を表示するフラグが０の場合であって、クアッドツリー構造で深さ０のブロック(最大符号化ユニット)が分割されないことを示す。Ｓ２００において、右側のブロックは、分割可否を表示するフラグが１の場合であって、深さ０のブロックが３２×３２大きさの正四角形の４個の符号化ユニットに分割されたことを示す。
【００５９】
Ｓ２１０は、最大符号化ユニットの大きさが６４×６４の場合、１回の分割が発生した深さ１のブロックを示す。深さ１の符号化ユニット大きさは、３２×３２となる。Ｓ２１０において、左側のブロックは、分割フラグが０の場合であって、３２×３２大きさの符号化ユニットは、分割されずに一つの単位に符号化される。Ｓ２１０において、右側のブロックは、分割フラグが１の場合であって、３２×３２大きさの符号化ユニットは、４個の同一大きさを有する１６×１６大きさの符号化ユニットに分割される。
【００６０】
同様の方式により、クアッドツリー構造で一つのブロックは、深さ情報によって最小大きさの符号化ユニットまで順次に分割することができる。例えば、Ｓ２２０は、最大符号化ユニットの大きさが６４×６４であり、最大深さが４(分割可能回数が４)の場合の最小大きさの符号化ユニットまで符号化されたことを示す。ここで、最小符号化ユニットは、これ以上小さいＣＵに分割することができないため、分割フラグが存在しない。
【００６１】
説明の便宜上、最大符号化ユニットとそれによる分割可能回数(最大深さ)が定義されると説明したが、前述したように、最小符号化ユニットと分割可能回数(最大深さ)を定義することも可能である。例えば、最小符号化ユニットが８×８であり、分割可能回数が４に設定された場合、最小符号化ユニット(８×８)から逆に最大符号化ユニット(６４×６４)を導出することができる。また、ここでは最大符号化ユニットと最小符号化ユニットを各々６４×６４及び８×８であると説明したが、これは説明の便宜のためのものに過ぎず、最大符号化ユニットと最小符号化ユニットは、前述した例より大きくなってもよく、小さくなってもよい。
【００６２】
図３は、本発明の一実施例に係る予測部を概略的に示す概念図である。
【００６３】
図３を参照すると、予測部３００は、画面間予測部３１０及び画面内予測部３２０を含むことができる。
【００６４】
画面間予測部３１０は、現在ピクチャの以前ピクチャ及び/又は以後ピクチャのうち、少なくとも一つのピクチャの情報に基づいて予測ユニットを予測することができる。また、画面内予測部３２０は、現在ピクチャ内の画素情報に基づいて予測ユニットを予測することができる。予測モードによって、すなわち、画面内予測を実行するか、画面間予測を実行するかによって、ピクチャ分割部１０５は、予測ユニットを分割し、画面内予測モードである場合、該当符号化ユニットは、２Ｎ×２Ｎ又はＮ×Ｎ(Ｎは、整数)大きさの予測ユニットであり、画面間予測モードである場合、該当符号化ユニットは、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎ大きさの予測ユニットである。
【００６５】
図４は、予測モードによる予測ブロックの形態を概略的に示し、符号化ユニット４００に対し、画面内予測モードである場合に可能な予測ユニット４１０と、画面間予測モードである場合に可能な予測ユニット４２０とを示している。
【００６６】
画面間予測部は、前述した予測ユニットに対して、参照ピクチャを選択し、予測ユニットと同一大きさの参照ブロックを整数画素サンプル単位に選択する。次に、画面間予測部は、１/２画素サンプル単位と１/４画素サンプル単位のように整数以下サンプル単位に、現在予測ユニットと最も類似して残差信号が最小化され、符号化される動きベクトル大きさも最小となることができる予測ブロックを生成する。
【００６７】
このとき、動きベクトルは、整数画素以下の単位に表現することができ、例えば、輝度画素に対しては１/４画素単位に表現され、色差画素に対しては１/８画素単位に表現することができる。
【００６８】
画面間予測部で選択した参照ピクチャのインデックスと動きベクトルに対する情報は、符号化されて復号器に伝達される。
【００６９】
図５は、本発明の一実施例に係る映像復号器を概略的に示すブロック図である。図５を参照すると、映像復号器５００は、エントロピー復号部５１０、再整列部５１５、逆量子化部５２０、逆変換部５２５、予測部５３０、フィルタ部５３５、メモリ５４０を含むことができる。
【００７０】
映像符号化器において、映像ビットストリームが入力された場合、入力されたビットストリームは、映像符号化器と反対の手順に復号することができる。
【００７１】
例えば、エントロピー復号部５１０でも、映像符号化器でエントロピー符号化を実行するために使われたＶＬＣテーブルを、エントロピー復号部でも同一のＶＬＣテーブルで具現してエントロピー復号を実行することができる。エントロピー復号部５１０でも、エントロピー符号化部と同様に、カウンター(Ｃｏｕｎｔｅｒ)又は直接変換(Ｄｉｒｅｃｔ Ｓｗａｐｐｉｎｇ)方法を利用してコードワード割当テーブルを変化させることができ、変化されたコードワード割当テーブルに基づいてエントロピー復号を実行することができる。
【００７２】
エントロピー復号部５１０で復号された情報のうち、予測ブロックを生成するための情報は、予測部５３０に提供され、エントロピー復号部でエントロピー復号を実行した残差値は、再整列部５１５に入力することができる。
【００７３】
再整列部５１５は、エントロピー復号部５１０でエントロピー復号されたビットストリームを、符号化部で再整列した方法に基づいて再整列を実行することができる。１次元ベクトル形態で表現された係数を再び２次元のブロック形態の係数に復元して再整列することができる。再整列部５１５では、符号化部で実行された係数スキャニングに関連した情報の提供を受け、該当符号化部で実行されたスキャニング順序に基づいて逆にスキャニングする方法を介して再整列を実行することができる。
【００７４】
逆量子化部５２０は、符号化器で提供された量子化パラメータと再整列されたブロックの係数値に基づいて逆量子化を実行することができる。
【００７５】
逆変換部５２５は、映像符号化器で実行した量子化結果に対して変換部で実行したＤＣＴ及びＤＳＴに対して逆ＤＣＴ及び/又は逆ＤＳＴを実行することができる。逆変換は、映像符号化器で決定された送信単位に基づいて実行することができる。映像符号化器の変換部では、ＤＣＴとＤＳＴは、予測方法、現在ブロックの大きさ、及び予測方向など、複数の情報によって選択的に実行することができ、映像復号器の逆変換部５２５では、映像符号化器の変換部で実行された変換情報に基づいて逆変換を実行することができる。
【００７６】
例えば、４×４ブロックの場合、逆変換部５２５では、該当ブロックのイントラ予測モードによって逆ＤＣＴ又は逆ＤＳＴを選択的に使用して逆変換を実行し、又はＤＣＴとＤＳＴを組合せて１Ｄ−ＤＣＴ＋１Ｄ−ＤＣＴ、１Ｄ−ＤＣＴ＋１Ｄ−ＤＳＴ、１Ｄ−ＤＳＴ＋１Ｄ−ＤＣＴ又は１Ｄ−ＤＳＴ＋１Ｄ−ＤＳＴを選択的に適用することもできる。該当ブロックのイントラ予測モード情報は、予測部から提供することができる。逆変換部５２５では、映像符号化器で提供された分割単位情報に基づいて分割単位に逆変換を実行することができる。
【００７７】
予測部５３０は、エントロピー復号部５１０で提供された予測ブロック生成関連情報とメモリ５４０で提供された以前に復号されたブロック又はピクチャ情報に基づいて予測ブロックを生成することができる。予測部５３０で生成された予測ブロックと逆変換部５２５で提供された残差ブロックを利用して復元ブロックを生成することができる。
【００７８】
復元されたブロック及び/又はピクチャは、フィルタ部５３５に提供することができる。フィルタ部５３５は、復元されたブロック及び/又はピクチャにデブロッキングフィルタリング及び/又は適応的ループフィルタリングなどを適用する。例えば、フィルタ部５３５は、デブロッキングフィルタ部及び/又はＡＬＦを含むことができる。
【００７９】
メモリ５４０は、復元されたピクチャ又はブロックを記憶して参照ピクチャ又は参照ブロックとして使用するようにすることができ、また、復元されたピクチャを出力部に提供することができる。
【００８０】
図６は、本発明の一実施例に係る映像復号器の予測部を概略的に示す概念図である。
【００８１】
図６を参照すると、予測部６００は、画面間予測部６１０及び画面内予測部６２０を含むことができる。
【００８２】
画面間予測部６１０は、該当予測ユニットに対する予測モードがインター予測モード(画面間予測モード)の場合、映像符号化器で提供された現在予測ユニットの画面間予測に必要な情報、例えば、動きベクトル、参照ピクチャインデックスなどに対する情報を利用して現在予測ユニットが含まれている現在ピクチャの以前ピクチャ又は以後ピクチャのうち、少なくとも一つのピクチャに含まれている情報に基づいて現在予測ユニットに対する画面間予測を実行することができる。
【００８３】
このとき、動き情報は、受信される符号化ユニットのスキップフラグ、マージフラグなどを確認し、これに対応して誘導することができる。例えば、エントロピー復号部でスキップフラグを介してスキップモードが適用されたと確認された場合には、予測ユニットのマージインデックス(Ｍｅｒｇｅ Ｉｎｄｅｘ)が指示するマージスキップ候補ブロックに含まれている動きベクトル、参照ピクチャインデックスなどのような動き予測関連情報が現在予測ユニットの動き関連情報として使われることができる。または、予測ユニットが予測ユニットマージブロックであると確認された場合には、予測ユニット周辺に位置した４個の空間的マージング候補ブロック及び参照ピクチャに位置した１個の時間的マージング候補ブロックを含む５個の予測ユニットマージ候補ブロックのうち、一つの予測ユニットマージ候補ブロックの動き関連情報が予測ユニットの動き関連情報として使われることができる。また、予測ユニットがＡＭＶＰブロックであると確認された場合には、映像符号化器から現在予測ユニット周辺の空間的ＡＭＶＰ候補ブロック２個及び他のピクチャに含まれている時間的ＡＭＶＰ候補ブロックのうちいずれのＡＭＶＰ候補ブロックを使用したかに関連した情報及び使われたＡＭＶＰ候補ブロックと現在ブロックとの動きベクトル差分値情報を利用して予測ユニットの動き情報を得ることができる。
【００８４】
画面間予測部６１０は、前述したように、取得した該当予測ユニットに対する動き関連情報のうち、動きベクトルが整数画素単位でない場合、例えば、輝度画素に対する動きベクトルが１/２又は１/４画素位置を示す場合、又は色差画素に対する動きベクトルが１/２、１/４又は１/８画素位置を示す場合、予測ブロックを生成するために整数単位以下の画素サンプルを生成する補間を実行することができる。補間の具体的な内容は後述する。
【００８５】
画面内予測部６２０は、該当予測ユニットに対する予測モードがイントラ予測モード(画面内予測モード)の場合、現在ピクチャ内の画素情報に基づいて予測ブロックを生成することができる。
【００８６】
図６では説明の便宜のために予測部６００が各機能別構成を含むと説明したが、本発明はこれに限定されるものではなく、予測部は前述した機能を遂行する単一構成で具現することもできる。
【００８７】
一方、画面間予測ではブロックベースの動き補償を利用して以前に処理された一つ又はそれ以上のピクチャ(参照ピクチャ)から予測ブロックを生成することができる。すなわち、現在ピクチャの予測ユニットは、参照ピクチャに基づいて画面間予測を介して予測することができる。例えば、現在予測ユニットに対する動き推定を介して参照ピクチャから予測ブロックを選択し、現在予測ユニットの基準位置と予測ブロックの基準位置との間の動きベクトルを算出する。
【００８８】
動きベクトル(現在ブロックと参照ブロックとの間の差分値)は、整数単位以下のサンプル解像度を有することができ、例えば、輝度成分に対して１/４サンプルの解像度を有し、色差成分に対して１/８の解像度を有することができる。したがって、補間を介して整数サンプル(ｆｕｌｌ−ｓａｍｐｌｅ)から１/２単位画素サンプル、１/４単位画素サンプル、１/８単位画素サンプルのような部分サンプルを生成し、部分サンプルを含む領域で予測ブロックを選択することによって、現在予測ユニットにさらに類似している予測ブロックを選択することができる。
【００８９】
整数単位以下の部分画素サンプル(ｆｒａｃｔｉｏｎａｌ ｓａｍｐｌｅ)は、フルサンプルに基づいて補間フィルタを介して生成することができる。前述したように、輝度画素の場合、動きベクトルの解像度は１/４画素サンプルであり、補間を介して１/４画素単位に整数以下単位の画素情報を生成することができる。輝度画素に対する補間を実行するために、フィルタ係数を異なるようにする８タブ補間フィルタ(ＤＣＴ−ｂａｓｅｄ Ｉｎｔｅｒｐｏｌａｔｉｏｎ Ｆｉｌｔｅｒ)を使用することができる。
【００９０】
また、色差画素の場合、動きベクトルの解像度は、１/８画素サンプルであり、補間を介して１/８画素単位に整数以下単位の画素情報を生成することができる。色差画素の補間を実行するために、フィルタ係数を異なるようにする４タブ補間フィルタを使用することができる。
【００９１】
図７は、画面間予測において参照ピクチャの輝度画素の１/４単位サンプル補間に対する整数サンプルと分数サンプルの位置を概略的に示す。図７に示す画素の位置７００のうち、陰影で表示(大文字で表示)された位置は整数サンプルに対応し、陰影無しに表示(小文字で表示)された位置は分数サンプルに対応する。
【００９２】
図７を参照すると、一つの整数画素サンプルを基準にする領域内に１/４画素単位の部分画素サンプルが補間により生成される。以下、説明の便宜のために、整数画素サンプルＡ0,0を基準にする領域７１０内に部分画素サンプルが補間により生成される場合を例示して説明する。
【００９３】
以下の表１は、輝度画素の整数画素単位以下の画素情報を生成するために適用するフィルタにおいて、画素位置による係数の一例を示す。
【００９４】
【表１】
0005782186.tif 000002
【００９５】
表１を参照すると、図７の１/４画素単位のサンプルａ0,0、ｂ0,0、ｃ0,0、ｄ0,0、ｈ0,0、及びｎ0,0は、近接した整数サンプルに８タブフィルタを適用し、フィルタリングされた値をクリップ(ｃｌｉｐ)演算することで、数式１のように算出することができる。
【００９６】
【数１】
0005782186.tif 000003
【００９７】
ここで、クリップ(Ｃｌｉｐ)演算は、数式２のように定義される。
【００９８】
【数２】
0005782186.tif 000004
【００９９】
また、“ｘ＜＜ｙ”は、ｘの２の補数(ｔｗｏ’ｓ ｃｏｍｐｌｅｍｅｎｔ ｉｎｔｅｇｅｒ)表現を二進数単位ｙほど算術的に左側移動することを示し、“ｘ＞＞ｙ”は、ｘの２の補数表現を二進数単位ｙほど算術的に右側移動することを示す。また、ｓｈｉｆｔ１は、ＢｉｔＤｅｐｔｈy−８に設定され、輝度画素配列のサンプルのビット深さ(ｂｉｔ ｄｅｐｔｈ)を特定する。Ｏｆｆｓｅｔ１は、ｓｈｉｆｔ１の値が０の場合、０に設定され、その他の場合には１＜＜(ｓｈｉｆｔ１−１)に設定される。
【０１００】
また、図７の１/４画素単位のサンプルｅ0,0、ｆ0,0、ｇ0,0、ｉ0,0、ｊ0,0、ｋ0,0、ｐ0,0、ｑ0,0、及びｒ0,0も８タブフィルタを適用して数式３のように算出することができる。
【０１０１】
【数３】
0005782186.tif 000005
【０１０２】
ここで、ｓｈｉｆｔ２は、ＢｉｔＤｅｐｔｈy−２に定義され、ｏｆｆｓｅｔ２は、１＜＜(ｓｈｉｆｔ２−１)に設定される。また、図７に示すような中間値ｄ１i,0、ｈ１i,0、及びｎ１i,0は、数式４のように算出することができる。
【０１０３】
【数４】
0005782186.tif 000006
【０１０４】
ここで、ｉは水平方向に−３,...,４の値を有し、Ａi,jは、図１５のような整数サンプルの配列においてｉ列及びｊ行に位置する整数サンプルを示す。
【０１０５】
数式１、数式３及び数式４では、１/４画素位置のサンプルに対して｛−１,４,−１０,５７,１９,−７,３,−１｝、２/４画素位置のサンプルに対して｛−１,４,−１１,４０,４０,−１１,４,−１｝、３/４画素位置のサンプルに対して｛−１,３,−７,１９,５７,−１０,４,−１｝の係数が表１の例によって適用された。
【０１０６】
前述した整数位置サンプルＡ0,0の近隣領域にある部分サンプルを算出する方法は、他の整数サンプルＡi,jの近隣領域にある１/４画素単位の部分サンプルを算出する場合にも同一に適用することができる。
【０１０７】
以下、画素サンプルの位置を算出する方法を説明する。輝度画素に対する参照ピクチャサンプル配列内で各輝度サンプルＡi,jに対応する位置(ｘＡi,j,ｙＡi,j)は、数式５の通りである。
【０１０８】
【数５】
0005782186.tif 000007
【０１０９】
ここで、ＰｉｃＷｉｄｔｈＩｎＳａｍｐｌｅｓLは、輝度画素に対する参照ピクチャサンプル配列の幅を特定し、ＰｉｃＨｅｉｇｈｔＩｎＳａｍｐｌｅｓLは、輝度画素に対する参照ピクチャサンプル配列の高さを特定する。また、(ｘＩｎｔL,ｙＩｎｔL)は、フルサンプル単位(ｆｕｌｌ−ｓａｍｐｌｅ ｕｎｉｔｓ)で表した輝度画素の位置である。これに対し、(ｘＦｒａｃL,ｙＦｒａｃL)は、部分サンプル単位で表した輝度画素の位置である。(ｘＩｎｔL,ｙＩｎｔL)と(ｘＦｒａｃL,ｙＦｒａｃL)は、以下のように算出することができる。
【０１１０】
【数６】
0005782186.tif 000008
【０１１１】
【数７】
0005782186.tif 000009
【０１１２】
ここで、ｘＰ＝ｘＣ＋ｘＢであり、ｙＰ＝ｙＣ＋ｙＢである。(ｘＣ,ｙＣ)は、現在ピクチャの左側最上端(ｔｏｐ ｌｅｆｔ)の輝度画素サンプルに対する現在コーディングユニットの左側最上端の輝度画素サンプルの位置を特定し、(ｘＢ,ｙＢ)は、現在コーディングユニットの左側最上端の輝度画素サンプルに対する現在予測ユニットの左側最上端の輝度画素サンプルの位置を特定する。(ｘＰ,ｙＰ)は、参照サンプル配列の左上側(ｕｐｐｅｒ ｌｅｆｔ)の輝度画素サンプル位置に対する現在予測ユニットの左上側の輝度画素サンプルの位置をフルサンプル単位で表したものである。
【０１１３】
また、(ｘL,ｙL)は、予測輝度サンプル配列内の輝度サンプルの位置を示し、ｍｖＬＸは、輝度画素に対する動きベクトルであり、“＆”は、ビット積(ｂｉｔｗｉｓｅ ＡＮＤ)演算子である。
【０１１４】
部分サンプル単位(ｆｒａｃｔｉｏｎａｌ ｓａｍｐｌｅ ｕｎｉｔｓ)の輝度画素位置オフセット(ｘＦｒａｃL,ｙＦｒａｃL)は、ある部分サンプル位置に生成された画素サンプルが補間による予測輝度サンプル値(ｐｒｅｄｉｃｔｅｄ ｌｕｍａ ｓａｍｐｌｅ ｖａｌｕｅ)に割り当てられるかを特定する。表２は、部分サンプル単位の輝度画素位置オフセットと輝度予測サンプル値の割当に対する一例を示す。
【０１１５】
【表２】
0005782186.tif 000010
【０１１６】
ここで、ｓｈｉｆｔ３は、１４−ＢｉｔＤｅｐｔｈyに設定される。したがって、前述した補間方法によると、与えられたフルサンプル単位の画素位置、部分サンプル単位の画素位置、及び参照サンプル配列に基づいて表２のように予測輝度サンプル値を得ることができる。
【０１１７】
輝度画素の場合と違って、色差画素の場合には動きベクトルの解像度が１/８サンプルであり、補間を介して１/８画素単位に整数画素以下の画素情報を生成することができる。色差画素に対する補間を実行するために、フィルタ係数を異なるようにするＤＣＴベースの４タブ補間フィルタ(ＤＣＴ−ｂａｓｅｄ Ｉｎｔｅｒｐｏｌａｔｉｏｎ Ｆｉｌｔｅｒ)が使われることができる。
【０１１８】
図８は、色差画素の１/８単位サンプル補間に対する整数サンプルと分数サンプルの位置を概略的に示す。図８に示す画素の位置８００のうち、陰影で表示(大文字で表示)された位置は整数サンプルに対応し、陰影無しに表示(小文字で表示)された位置は分数サンプルに対応する。
【０１１９】
図８を参照すると、図７の場合と同様に、一つの整数画素サンプルを基準にする領域内に部分画素サンプル、具体的には１/８画素単位の部分画素サンプルが補間により生成される。以下、説明の便宜のために、整数画素サンプルＢ0,0を基準にする領域８１０内に補間により部分画素サンプルが生成される場合を例示して説明する。
【０１２０】
表３は、色差画素の整数画素単位以下の画素情報を生成するための画素の位置によるフィルタ係数の一例を示す。
【０１２１】
【表３】
0005782186.tif 000011
【０１２２】
表３を参照すると、図８の１/８画素単位のサンプルａｂ0,0、ａｃ0,0、ａｄ0,0、ａｅ0,0、ａｆ0,0、ａｇ0,0、及びａｈ0,0は、近接した整数位置サンプルに４タブフィルタを適用し、フィルタリングされた値をクリップ(ｃｌｉｐ)演算することで、数式８のように算出することができる。
【０１２３】
【数８】
0005782186.tif 000012
【０１２４】
また、図８の１/８画素単位のサンプルｂａ0,0、ｃａ0,0、ｄａ0,0、ｅａ0,0、ｆａ0,0、ｇａ0,0、及びｈａ0,0も近接した整数位置サンプルに４タブフィルタを適用し、フィルタリングされた値をクリップ(ｃｌｉｐ)演算することで、数式９のように算出することができる。
【０１２５】
【数９】
0005782186.tif 000013
【０１２６】
図８の１/８画素単位のサンプルＸｂ0,0、Ｘｃ0,0、Ｘｄ0,0、Ｘｅ0,0、Ｘｆ0,0、Ｘｇ0,0、及びＸｈ0,0(Ｘは、各々、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ)は、中間値ｂａi,0、ｃａi,0、ｄａi,0、ｅａi,0、ｆａi,0、ｇａi,0、ｈａi,0(ｉは、水平方向に−１,...,２)を数式１０のように算出し、近接した整数位置サンプルに４タブフィルタを適用して得ることができる。
【０１２７】
【数１０】
0005782186.tif 000014
【０１２８】
そして、Ｘｂ0,0、Ｘｃ0,0、Ｘｄ0,0、Ｘｅ0,0、Ｘｆ0,0、Ｘｇ0,0、及びＸｈ0,0(Ｘは、各々、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ)は、４タブフィルタを中間値Ｘａi,o(ｉは、水平方向に−１,...,２)に適用し、数式１１のように算出することができる。
【０１２９】
【数１１】
0005782186.tif 000015
【０１３０】
数式８乃至数式１１では、１/８画素位置のサンプルに対して｛−３,６０,８,−１｝、２/８画素位置のサンプルに対して｛−４,５４,１６,−２｝、３/８画素位置のサンプルに対して｛−５,４６,２７,−４｝、４/８画素位置のサンプルに対して｛−４,３６,３６,−４｝、５/８画素位置のサンプルに対して｛−４,２７,４６,−５｝、６/８画素位置のサンプルに対して｛−２,１６,５４,−４｝、７/８画素位置のサンプルに対して｛−１,８,６０,−３｝の係数が表３の例によって適用された。
【０１３１】
動きベクトルを算出するために、色差画素の場合にも整数サンプル及び部分サンプルの位置を算出する必要がある。色差画素に対する参照ピクチャサンプル配列内で各色差サンプルＢi,jに対応する位置(ｘＢi,j,ｙＢi,j)は数式１２の通りである。
【０１３２】
【数１２】
0005782186.tif 000016
【０１３３】
ここで、ＰｉｃＷｉｄｔｈＩｎＳａｍｐｌｅｓCは、色差画素に対する参照ピクチャサンプル配列の幅を特定し、ＰｉｃＨｅｉｇｈｔＩｎＳａｍｐｌｅｓCは、色差画素に対する参照ピクチャサンプル配列の高さを特定する。(ｘＩｎｔC,ｙＩｎｔC)は、フルサンプル単位(ｆｕｌｌ−ｓａｍｐｌｅ ｕｎｉｔｓ)で表した色差画素サンプルの位置である。これに対し、(ｘＦｒａｃC,ｙＦｒａｃC)は、部分サンプル単位で表した色差画素サンプルの位置である。(ｘＩｎｔC,ｙＩｎｔC)と(ｘＦｒａｃC,ｙＦｒａｃC)は、以下のように算出することができる。
【０１３４】
【数１３】
0005782186.tif 000017
【０１３５】
【数１４】
0005782186.tif 000018
【０１３６】
ここで、(ｘC,ｙC)は、予測色差サンプル配列内の色差サンプルの位置を示し、ｍｖＣＬＸは、色差画素に対する動きベクトルである。
【０１３７】
部分サンプル単位(ｆｒａｃｔｉｏｎａｌ ｓａｍｐｌｅ ｕｎｉｔｓ)の色差画素位置を示すオフセット(ｘＦｒａｃC,ｙＦｒａｃC)は、あるフルサンプル及び部分サンプル位置に生成された色差サンプルが補間による予測色差サンプル値(ｐｒｅｄｉｃｔｅｄ ｃｈｒｏｍａ ｓａｍｐｌｅ ｖａｌｕｅ)に割り当てられるかを特定する。表４は、部分サンプル単位の色差画素位置オフセットと色差予測サンプル値の割当に対する一例を示す。
【０１３８】
【表４】
0005782186.tif 000019
【０１３９】
ここで、ｓｈｉｆｔ３は、１４−ＢｉｔＤｅｐｔｈyに設定される。ここで、(Ｘ,Ｙ)は、(１,ｂ)、(２,ｃ)、(３,ｄ)、(４,ｅ)、(５,ｆ)、(６,ｇ)、及び(７,ｈ)に各々代替することができる。
【０１４０】
前述した補間方法によると、与えられたフルサンプル単位の画素位置、部分サンプル単位の画素位置、及び参照サンプル配列に基づいて表４のように予測色差サンプル値を得ることができる。このように、補間により生成された予測サンプル値と対応する画素の位置を介して、予測ブロックを選択し、動きベクトルを算出することによって、予測性能を向上させることができる。
【０１４１】
一方、前述したように、補間を介して画面間予測のための予測ブロックと動きベクトルを生成する場合、参照ピクチャの画素サンプルのみを利用して補間を実行せずに、参照ピクチャの画素サンプルと現在ピクチャの画素サンプルを共に利用して補間(ｉｎｔｅｒｐｏｌａｔｉｏｎ)を実行することを考慮することができる。現在ピクチャの画素サンプルを利用して補間を実行することによって現在ブロックとさらに類似している予測ブロックを生成することができる。
【０１４２】
図９は、本発明によって、参照ピクチャと現在ピクチャのサンプルを共に利用して補間を実行することを概略的に説明する図面である。
【０１４３】
図９において、予測ユニット９３５と参照ブロック９２０との間の位置の差は、動きベクトル(ＭＶ)で表すことができる。図９を参照すると、現在ピクチャ９３０の予測ユニット９３５に対する予測ブロックを生成するために、予測ユニット９３５に対応する参照ピクチャ９１０の参照ブロック９２０と参照ブロック９２０周囲の画素領域９１５、及び現在ピクチャ９３０で予測ユニット９３５周囲の復元された画素領域９４０に基づいて画面間予測のための補間を実行することができる。補間を介して、整数単位の以下の部分サンプル(ｆｒａｃｔｉｏｎａｌ ｓａｍｐｌｅ)、例えば、１/２画素、１/４画素などを生成することができる。
【０１４４】
図１０は、本発明によって、復元された現在ピクチャの画素サンプルと参照ピクチャの画素サンプルで構成された補間のためのサンプル配列を概略的に示す。図１０では予測ユニットが８×８ブロックである場合を本発明の一例として説明している。
【０１４５】
図１０を参照すると、参照対象ブロック(Ｏ)、参照対象ブロックの右側ブロック(Ｒ)、左下側ブロック(ＢＬ)、下側ブロック(Ｂ)、右下側ブロック(ＢＲ)等の画素サンプル(陰影)は、参照ピクチャの整数サンプルであり、左側ブロック(Ｌ)、左上側ブロック(ＵＬ)、上側ブロック(Ｕ)、右上側ブロック(ＵＲ)の画素サンプル(非陰影)は、現在ピクチャの復元された整数サンプルである。
【０１４６】
以下、説明の便宜のために、補間により部分サンプルが生成される領域、例えば、図７の領域７１０、図８の領域８１０に対応する領域を補間領域という。また、補間領域内の整数画素サンプル、例えば、図７のＡ0,0、図８のＢ0,0に対応する整数画素サンプルを基準整数サンプルという。したがって、与えられた基準整数サンプルに対して対応する補間領域内の部分画素サンプルが補間により生成することができる。
【０１４７】
前述したように、本発明では現在ピクチャの復元された整数画素サンプルと参照ピクチャの整数画素サンプルを共に利用して補間を実行する。例えば、図１０が輝度画素サンプルの配列と仮定すると、８タブの補間フィルタを使用して部分画素サンプル(ｆｒａｃｔｉｏｎａｌ ｓａｍｐｌｅ)を生成することができる。数式１を参照すると、現在ピクチャの整数画素サンプルのうち最大３個の整数画素サンプルが、補間フィルタが適用される整数画素サンプル１０１０、１０２０に含まれることができる。
【０１４８】
したがって、輝度画素の場合、参照ブロック(Ｏ)のブロック境界から最も近い３個の整数画素サンプルのうちいずれか一つを基準整数サンプルとして利用して補間を実行する場合に現在ピクチャの復元された整数画素サンプルが利用することができる。すなわち、輝度画素の場合、参照ブロックの部分画素サンプルを生成する補間に利用することができる現在ピクチャの整数画素サンプル個数は最大３個である。
【０１４９】
色差画素の場合には、部分サンプルの生成に４タブの補間フィルタを使用することができるため、数式８を参考すると、参照ブロックの部分画素サンプルを生成する補間に利用することができる現在ピクチャの整数画素サンプル個数は一つである。すなわち、色差画素の場合には、参照ブロック(Ｏ)のブロック境界から最も近い整数画素サンプルを基準整数サンプルとして利用して補間を実行する場合に現在ピクチャの復元された整数画素サンプルが利用することができる。
【０１５０】
以下、本発明による補間方法を基準整数サンプルの位置及び現在ピクチャの整数画素サンプルを利用して生成される部分画素サンプルの位置と関連して具体的に説明する。下記の各場合において共通の内容に対しては、説明の便宜のために重複記載せずに省略する。
【０１５１】
１．部分画素サンプルａ、ｂ、ｃ又はａｂの生成及び基準整数サンプルが参照ブロックの第１の整数サンプル列に位置する場合
【０１５２】
図１１は、予測ユニット(ＰＵ)１１１０に対応する参照ブロックで整数単位以下の部分サンプルを生成するための基準整数サンプルが参照ブロックの左側境界から１番目の整数サンプル列(第１の整数サンプル列)１１２０に位置する場合の例を概略的に説明する図面である。図１１において、Ｐ０,...,Ｐ７は、整数画素(値)を示し、Ｐ０,...,Ｐ７は、輝度画素であってもよく、色差画素であってもよい。図１１では予測ユニットが８×８ブロックである場合を例示して説明している。
【０１５３】
以下、図１１に対する実施例をＰ０,...,Ｐ７が輝度画素である場合と色差画素である場合とに分けて説明した後、本発明による補間を実行する前に適用することができる前処理に対して説明する。
【０１５４】
(１)輝度サンプルに対する補間
【０１５５】
輝度画素サンプルの場合、補間領域１１３０には図７の領域７１０内のａ0,0〜ｒ0,0のように、補間により部分画素サンプルが１/４画素単位に生成される。
【０１５６】
輝度画素サンプルの場合、８タブ補間フィルタを使用することができる。説明の便宜のために、補間フィルタに使用する８個の整数画素をＰ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７という。基準整数サンプル(Ｐ３)の位置が参照ブロック内の１番目の整数画素サンプル列にあるため、復元された現在ピクチャの画素サンプルのうち、３個を補間に利用することができる。図１１を参照すると、整数画素サンプルＰ０、Ｐ１、Ｐ２が復元された現在ピクチャの画素として補間に利用される。
【０１５７】
図１２は、図１１の補間領域１１３０を輝度画素サンプルに対して示し、補間領域１１３０Ａ内の部分画素サンプルと整数画素サンプルとの位置関係を概略的に示している。本実施例で基準整数画素はＰ３であり、補間領域内に部分画素サンプルａ〜ｒが補間により生成される。
【０１５８】
補間に使われるフィルタの係数は、多様に決めることができる。例えば、数式１の導出に利用されたフィルタ係数を一例として利用すると、部分画素サンプルのうち、ａ、ｂ、ｃは、数式１５のように算出することができる。
【０１５９】
【数１５】
0005782186.tif 000020
【０１６０】
一方、参照ブロック１１１０の上側境界から３番目の行までの整数画素サンプルを基準整数サンプルにする場合には、現在ピクチャの復元された整数画素サンプルを利用して部分画素サンプルｄ、ｈ、ｎを生成することができる。この場合に対しては後述する。また、基準整数サンプルが参照ブロック１１１０の上側境界から４番目の行以後に位置する場合には、参照ピクチャの整数画素サンプルを利用して算出することができる。一例として、参照ピクチャの整数画素サンプルに数式１を適用して部分画素サンプルｄ、ｈ、ｎを算出することができる。
【０１６１】
部分画素サンプルｅ、ｆ、ｇ、ｉ,ｊ、ｋ、ｐ、ｑ、ｒは、ａ、ｂ、ｃ、ｄ、ｈ、ｎ値を利用して算出することができる。一例として、数式３及び数式４のようなフィルタが適用される場合には、このフィルタにａ、ｂ、ｃ、ｄ、ｈ、ｎを適用して残りの部分画素サンプルを算出することができる。算出された各部分画素サンプル値に対応する位置は、例えば、数式５と表２などを利用して算出することができる。
【０１６２】
(２)色差サンプルに対する補間
【０１６３】
色差画素サンプルの場合、補間領域１１３０には図８の領域８１０内のａｂ0,0〜ｈｈ0,0のように、補間により部分画素サンプルが１/８画素単位に生成される。
【０１６４】
色差画素サンプルの場合、４タブ補間フィルタを使用することができる。この場合、色差画素に対しては輝度画素の場合と違って、４個の整数画素Ｐ２、Ｐ３、Ｐ４、Ｐ５を使用して補間を実行する。基準整数サンプル(Ｐ３)が第１の整数サンプル列に位置するため、復元された現在ピクチャの画素サンプルのうち一つ(Ｐ２)が補間に利用される。
【０１６５】
図１３は、図１１の補間領域１１３０を色差画素サンプルに対して示し、補間領域１１３０Ｂ内の部分画素サンプルと整数画素サンプルとの位置関係を概略的に示す。図示されているように、基準整数画素はＰ３であり、補間領域内に部分画素サンプルａｂ〜ｈｈが補間により生成される。
【０１６６】
補間に使われるフィルタの係数は、多様に決めることができる。例えば、数式８の導出に利用されたフィルタ係数を一例として利用すると、部分画素サンプルのうち、ａｂ、ａｃ、ａｄ、ａｅ、ａｆ、ａｇ、ａｈは、数式１６のように算出することができる。
【０１６７】
【数１６】
0005782186.tif 000021
【０１６８】
一方、参照ブロック１１１０の上側境界から１番目の行までの整数画素サンプルを基準整数サンプルにする場合には、現在ピクチャの復元された整数画素サンプルを利用して部分画素サンプルｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａを生成することができる。この場合に対しては後述する。また、基準整数サンプルが参照ブロック１１１０の上側境界から２番目の行以後に位置する場合には、参照ピクチャの整数画素サンプルを利用し、例えば、数式９のように部分画素サンプルｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａを算出することができる。
【０１６９】
参照ブロック１１１０内部の他の部分画素サンプルは、ａｂ、ａｃ、ａｄ、ａｅ、ａｆ、ａｇ、ａｈ、ｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａを利用して算出することができる。例えば、数式１０及び数式１１のようなフィルタを利用する場合には、このフィルタに上記の値を適用して他の部分画素サンプルを算出することができる。算出された各部分画素サンプル値に対応する位置は、例えば、数式１４と表４などを利用して算出することができる。
【０１７０】
(３)前処理−現在ピクチャの復元された整数サンプルに対するスムージング
【０１７１】
ブロック境界などで発生する不連続(ｄｉｓｃｏｎｔｉｎｕｉｔｙ)を最小化するために、前述した補間を実行する前に、補間に使われる現在ピクチャの整数サンプルを対象に所定の前処理、例えば、スムージング(ｓｍｏｏｔｈｉｎｇ)を実行することができる。
【０１７２】
補間の前処理としてスムージングの対象は、前述した補間に利用される現在ピクチャの復元された整数画素サンプルである。補間に利用される現在ピクチャの復元された整数画素サンプルのすべて(図１１のＰ０、Ｐ１、Ｐ２)にスムージングを適用することができる。また、補間に利用される現在ピクチャの復元された整数画素サンプルのうち、ブロック境界からの距離によって所定個数の整数画素サンプルにのみスムージングが適用されることもできる。例えば、ブロック境界に最も近い整数画素サンプル(図１１のＰ２)にのみスムージングを適用するようにし、又はブロック境界から２番目の整数画素サンプル(図１１のＰ１、Ｐ２)までスムージングを適用するようにすることもできる。
【０１７３】
スムージングは、現在ピクチャと参照ピクチャの境界で発生できる不連続を考慮したことであり、現在ピクチャの整数画素サンプルと参照ブロックの整数画素サンプルを共に利用して実行することができる。
【０１７４】
スムージングを適用する整数画素サンプルの位置によって多様なスムージングフィルタを適用することができる。例えば、Ｐ２にのみスムージングを適用する場合には、３タブフィルタから８タブフィルタまで多様なフィルタが適用することができる。Ｐ１とＰ２にスムージングを適用する場合、Ｐ１には参照ブロックの整数画素サンプルを利用する３タブフィルタを適用しにくいため、Ｐ１とＰ２に同一の４タブ以上のフィルタを適用することもでき、Ｐ１とＰ２に適用するフィルタを各々選択し、Ｐ１には３タブフィルタの適用を排除することもできる。また、Ｐ０、Ｐ２、Ｐ２のすべてにスムージングを適用する場合には、Ｐ０、Ｐ１、Ｐ２のすべてに同一の５タブ以上のフィルタを適用し、又はＰ０、Ｐ１、Ｐ２に適用するフィルタを各々選択し、Ｐ０には５タブ以上、Ｐ１には４タブ以上のフィルタが適用されるようにすることもできる。このとき、適用されるフィルタと係数は、必要によって別途に決めることもでき、システム上で利用されるフィルタ及び/又は係数を活用することもできる。例えば、８タブフィルタを使用する場合には、輝度画素サンプルに適用する補間フィルタの係数を活用することができ、４タブフィルタを使用する場合には、色差画素サンプルに適用する補間フィルタの係数を活用することもできる。
【０１７５】
例えば、Ｐ２にのみスムージングを適用し、３タブフィルタを適用する場合を例示して説明すると、スムージングが適用されたＰ２’は、数式１７のように算出することができる。
【０１７６】
【数１７】
0005782186.tif 000022
【０１７７】
図１１を参照すると、数式１７において、Ｐ１とＰ２は、現在ピクチャの復元された整数画素サンプルであり、Ｐ３は、参照ブロックの整数画素サンプルである。スムージングが適用された整数画素サンプルを利用して前述した補間を実行することによって補間の効果をさらに高めることができる。一方、数式１７のフィルタと係数は、説明の便宜のために導入した一例に過ぎず、本発明では必要によって多様なフィルタと係数を適用することができる。
【０１７８】
２．部分画素サンプルａ、ｂ、ｃの生成及び基準整数サンプルが参照ブロックの第２の整数サンプル列に位置する場合
【０１７９】
図１４は、予測ユニット１４１０に対応する参照ブロックで基準整数サンプルが参照ブロックの左側境界から２番目の整数サンプル列(第２の整数サンプル列)１４２０に位置する場合の例を概略的に説明する図面である。図１４において、Ｐ０,...,Ｐ７は、整数画素(値)を示し、Ｐ０,...,Ｐ７は、輝度画素であってもよく、色差画素であってもよい。ただし、図１４の場合で色差画素の補間に４タブフィルタを適用すると、図１１の場合と違って、現在ピクチャの復元された色差整数画素サンプルを部分画素サンプルの生成のための補間に利用できなくなる。図１４も予測ユニットが８×８ブロックである場合を例示して説明している。
【０１８０】
(１)輝度サンプルに対する補間
【０１８１】
図１４を参照すると、整数画素サンプルＰ０、Ｐ１が復元された現在ピクチャの画素として補間に利用される。補間領域１４３０内には図１２の補間領域１１３０Ａと同一に基準整数サンプルＰ３を基準に部分画素サンプルａ〜ｒが補間により生成される。
【０１８２】
図１４の場合には、図１１の場合と違って、Ｐ０とＰ１は、現在ピクチャの復元された整数画素サンプルであり、Ｐ２〜Ｐ７は、参照ブロックの整数画素サンプルである。
【０１８３】
図１４の場合にも、部分画素サンプルは、現在ピクチャの復元された画素サンプル(Ｐ０、Ｐ１)と参照ピクチャの画素サンプル(Ｐ２〜Ｐ７)を利用した補間により算出することができる。補間に利用されるフィルタは、多様に係数が決定することができる。図１１で説明した数式１６もこの場合に適用することができる補間フィルタの一例である。
【０１８４】
(２)前処理−現在ピクチャの復元された整数サンプルに対するスムージング
【０１８５】
図１４の場合には、補間に利用される現在ピクチャの復元された整数画素サンプルのすべて(図１４のＰ０、Ｐ１)にスムージングを適用し、又はブロック境界から最も近い位置にある画素サンプル(図１４のＰ１)にのみスムージングが適用することもできる。
【０１８６】
このとき、Ｐ１にのみスムージングを適用する場合には、３タブフィルタから８タブフィルタまで多様なフィルタが適用することができる。Ｐ０とＰ１にスムージングを適用する場合、Ｐ０には参照ブロックの整数画素サンプルを利用する３タブフィルタを適用しにくいため、Ｐ０とＰ１に同一の４タブ以上のフィルタを適用することもでき、Ｐ０とＰ１に適用するフィルタを各々選択し、Ｐ０には３タブフィルタの適用を排除することもできる。
【０１８７】
適用されるフィルタと係数は、前述したように、多様に選択及び適用することができる。例えば、Ｐ１にのみスムージングを適用し、３タブフィルタを適用する場合を例示して説明すると、スムージングが適用されたＰ１’は、数式１８のように算出することができる。
【０１８８】
【数１８】
0005782186.tif 000023
【０１８９】
図１４を参照すると、数式１８において、Ｐ０とＰ１は、現在ピクチャの復元された整数画素サンプルであり、Ｐ２は、参照ブロックの整数画素サンプルである。一方、数式１８のフィルタと係数は、説明の便宜のために導入した一例に過ぎず、本発明では必要によって多様なフィルタと係数を適用することができる。
【０１９０】
３．部分画素サンプルａ、ｂ、ｃの生成及び基準整数サンプルが参照ブロックの第３の整数サンプル列に位置する場合
【０１９１】
図１５は、予測ユニット１５１０に対応する参照ブロックで基準整数サンプルが参照ブロックの左側境界から３番目の整数サンプル列(第３の整数サンプル列)１５２０に位置する場合の例を概略的に説明する図面である。図１５において、Ｐ０,...,Ｐ７は、整数画素(値)を示し、Ｐ０,...,Ｐ７は、輝度画素であってもよく、色差画素であってもよい。ただし、図１５の場合で色差画素の補間に４タブフィルタを適用すると、図１４の場合のように、現在ピクチャの復元された色差整数画素サンプルを部分画素サンプルの生成のための補間に利用できなくなる。図１５も予測ユニットが８×８ブロックである場合を例示して説明している。
【０１９２】
(１)輝度サンプルに対する補間
【０１９３】
図１５を参照すると、整数画素サンプルＰ０が復元された現在ピクチャの画素として補間に利用される。補間領域１５３０内には図１２の補間領域１１３０Ａと同一に基準整数サンプルＰ３を基準に部分画素サンプルａ〜ｒが補間により生成される。
【０１９４】
図１１及び図１４の場合と違って、図１５の場合、Ｐ０は、現在ピクチャの復元された整数画素サンプルであり、Ｐ１〜Ｐ７は、参照ブロックの整数画素サンプルである。
【０１９５】
図１５の場合にも、部分画素サンプルは、現在ピクチャの復元された画素サンプル(Ｐ０)と参照ピクチャの画素サンプル(Ｐ１〜Ｐ７)を利用した補間により算出することができる。補間に利用されるフィルタは、多様に係数が決定することができる。図１１で説明した数式１６もこの場合に適用することができる補間フィルタの一例である。
【０１９６】
(２)前処理−現在ピクチャの復元された整数サンプルに対するスムージング
【０１９７】
図１５の場合にも、補間に使われる現在ピクチャの整数サンプル(Ｐ０)を対象にスムージング(ｓｍｏｏｔｈｉｎｇ)を実行することができる。このとき、Ｐ０には、３タブフィルタから８タブフィルタまで多様なフィルタを適用してスムージングを実行することができる。適用されるフィルタと係数は、前述したように、多様に選択及び適用することができ、例えば、Ｐ０に３タブフィルタを適用する場合を例示して説明すると、スムージングが適用されたＰ０’は、数式１９のように算出することができる。
【０１９８】
【数１９】
0005782186.tif 000024
【０１９９】
図１５を参照すると、数式１９において、Ｐ０は、現在ピクチャの復元された整数画素サンプルであり、Ｐ１は、参照ブロックの整数画素サンプルである。また、図１５に示していないが、Ｐ０Bは、Ｐ０の左側に位置する整数画素サンプルであって、現在ピクチャの復元された画素サンプルである。一方、数式１９のフィルタと係数は、説明の便宜のために導入した一例に過ぎず、本発明では必要によって多様なフィルタと係数を適用することができる。
【０２００】
４．部分画素サンプルｄ、ｈ、ｎ又はｂａの生成及び基準整数サンプルが参照ブロックの第１の整数サンプル行に位置する場合
【０２０１】
図１６は、予測ユニット(ＰＵ)１６１０に対応する参照ブロックで整数単位以下の部分サンプルを生成するための基準整数サンプルが参照ブロックの上側境界から１番目の整数サンプル行(第１の整数サンプル行)１６２０に位置する場合の例を概略的に説明する図面である。図１６において、Ｐ０,...,Ｐ７は、整数画素(値)を示し、Ｐ０,...,Ｐ７は、輝度画素であってもよく、色差画素であってもよい。図１６は、予測ユニットが８×８ブロックである場合を例示して説明している。
【０２０２】
(１)輝度サンプルに対する補間
【０２０３】
輝度画素サンプルの場合、補間領域１６３０には図７の領域７１０内のａ0,0〜ｒ0,0のように、８タブフィルタを利用した補間により部分画素サンプルが１/４画素単位に生成される。
【０２０４】
図１６の場合には基準整数サンプル(Ｐ３)の位置が参照ブロック内の１番目の整数画素サンプル行にあるため、復元された現在ピクチャの画素サンプルのうち、３個を補間に利用することができる。図１６を参照すると、整数画素サンプルＰ０、Ｐ１、Ｐ２が復元された現在ピクチャの画素として補間に利用される。
【０２０５】
補間領域１６３０内には図１２の補間領域１１３０Ａと同一に基準整数サンプルＰ３を基準に部分画素サンプルａ〜ｒが補間により生成される。
【０２０６】
補間に使われるフィルタの係数は、多様に決めることができる。例えば、数式１の導出に利用されたフィルタ係数を一例として利用すると、部分画素サンプルのうち、ｄ、ｈ、ｎは、数式２０のように算出することができる。
【０２０７】
【数２０】
0005782186.tif 000025
【０２０８】
一方、参照ブロック１６１０の左側境界から３番目の列までの整数画素を基準整数画素にする場合、現在ピクチャの復元された整数画素サンプルを利用して部分画素サンプルａ、ｂ、ｃを生成する方法は、前述した通りである(前述した１〜３の方法参照)。基準整数画素が参照ブロック１６１０の左側境界から４番目の列以後に位置する場合には、参照ピクチャの整数画素サンプルを利用した補間フィルタ、例えば、数式１のような補間フィルタを介して部分画素サンプルａ、ｂ、ｃを算出することができる。
【０２０９】
部分画素サンプルｅ、ｆ、ｇ、ｉ,ｊ、ｋ、ｐ、ｑ、ｒは、ａ、ｂ、ｃ、ｄ、ｈ、ｎなどを利用して算出することができる。例えば、数式３及び数式４等にａ、ｂ、ｃ、ｄ、ｈ、ｎを適用して他の部分画素サンプルを算出することができる。算出された各部分画素サンプル値に対応する位置は、例えば、数式７と表２などを利用して算出することができる。
【０２１０】
(２)色差サンプルに対する補間
【０２１１】
色差画素サンプルの場合、補間領域１６３０には図８の領域８１０内のａｂ0,0〜ｈｈ0,0のように、４タブフィルタを利用した補間により部分画素サンプルが１/８画素単位に生成される。したがって、輝度画素の場合と違って、４個の整数画素をＰ２、Ｐ３、Ｐ４、Ｐ５を使用して補間を実行する。基準整数サンプル(Ｐ３)が第１の整数サンプル行に位置するため、４タブフィルタを利用した補間では復元された現在ピクチャの画素サンプルのうち一つ(Ｐ２)が補間に利用される。
【０２１２】
補間領域１６３０内には図１３の補間領域１１３０Ｂと同一に基準整数サンプルＰ３を基準に部分画素サンプルａ〜ｒが補間により生成される。
【０２１３】
補間に使われるフィルタの係数は、多様に決めることができる。例えば、数式９の導出に利用されたフィルタ係数を一例として利用すると、部分画素サンプルのうち、ｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａは、数式２１のように算出することができる。
【０２１４】
【数２１】
0005782186.tif 000026
【０２１５】
一方、参照ブロック１６１０の左側境界から１番目の列までの整数画素を基準整数画素にする場合、現在ピクチャの復元された整数画素サンプルを利用して部分画素サンプルｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａを生成する方法は、前述した通りである(前述した１の方法参照)。また、基準整数画素が参照ブロック１６１０の左側境界から２番目の列以後に位置する場合には、参照ピクチャの整数画素サンプルを利用し、例えば、数式９のように部分画素サンプルｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａを算出することができる。
【０２１６】
補間領域１６３０内部の他の部分画素サンプルは、ａｂ、ａｃ、ａｄ、ａｅ、ａｆ、ａｇ、ａｈ、ｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａなどを利用して算出することができる。例えば、数式１０及び数式１１にａｂ、ａｃ、ａｄ、ａｅ、ａｆ、ａｇ、ａｈ、ｂａ、ｃａ、ｄａ、ｅａ、ｆａ、ｇａ、ｈａを適用して他の部分画素サンプルを算出することができる。算出された各部分画素サンプル値に対応する位置は、例えば、数式１２と表５を利用して算出することができる。
【０２１７】
(３)前処理−現在ピクチャの復元された整数サンプルに対するスムージング
【０２１８】
図１６の場合に適用可能な前処理としてのスムージングは、図１１に対して説明したスムージングと同一に実行されることができる。ただし、図１１の場合と違って、図１６の補間に利用される現在ピクチャの復元された整数画素ブロックと参照ブロックの整数画素ブロックは、図１６に示すように同一の行１６２０に位置する。
【０２１９】
５．部分画素サンプルｄ、ｈ、ｎの生成及び基準整数サンプルが参照ブロックの第２の整数サンプル行に位置する場合
【０２２０】
図１７は、予測ユニット１７１０に対応する参照ブロックで基準整数サンプルが参照ブロックの上側境界から２番目の整数サンプル行(第２の整数サンプル行)１７２０に位置する場合の例を概略的に説明する図面である。図１７において、Ｐ０,...,Ｐ７は、整数画素(値)を示し、Ｐ０,...,Ｐ７は、輝度画素であってもよく、色差画素であってもよい。ただし、図１７の場合で色差画素の補間に４タブフィルタを適用すると、図１６の場合と違って、現在ピクチャの復元された色差整数画素サンプルを部分画素サンプルの生成のための補間に利用できなくなる。図１７は、予測ユニットが８×８ブロックである場合を例示して説明している。
【０２２１】
(１)輝度サンプルに対する補間
【０２２２】
図１７を参照すると、整数画素サンプルＰ０、Ｐ１が復元された現在ピクチャの画素として補間に利用される。補間領域１７３０内には図１２の補間領域１１３０Ａと同一に基準整数サンプルＰ３を基準に部分画素サンプルａ〜ｒが補間により生成される。
【０２２３】
図１６の場合と違って、図１７の場合、Ｐ０とＰ１は、現在ピクチャの復元された整数画素サンプルであり、Ｐ２〜Ｐ７は、参照ブロックの整数画素サンプルである。
【０２２４】
図１５の場合にも、部分画素サンプルは、現在ピクチャの復元された画素サンプル(Ｐ０、Ｐ１)と参照ピクチャの画素サンプル(Ｐ２〜Ｐ７)を利用した補間により算出することができる。補間に利用されるフィルタは、多様に係数が決定することができる。図１６で説明した数式２０もこの場合に適用することができる補間フィルタの一例である。
【０２２５】
(２)前処理−現在ピクチャの復元された整数サンプルに対するスムージング
【０２２６】
図１７の場合に適用可能な前処理としてのスムージングは、図１４に対して説明したスムージングと同一に実行することができる。ただし、図１４の場合と違って、図１７の補間に利用される現在ピクチャの復元された整数画素ブロックと参照ブロックの整数画素ブロックは、図１７に示すように同一の行１７２０に位置する。
【０２２７】
６．部分画素サンプルｄ、ｈ、ｎの生成及び基準整数サンプルが参照ブロックの第３の整数サンプル行に位置する場合
【０２２８】
図１８は、予測ユニット１８１０に対応する参照ブロックで基準整数サンプルが参照ブロックの左側境界から３番目の整数サンプル行(第３の整数サンプル行)１８２０に位置する場合の例を概略的に説明する図面である。図１８において、Ｐ０,...,Ｐ７は、整数画素(値)を示し、Ｐ０,...,Ｐ７は、輝度画素であってもよく、色差画素であってもよい。ただし、図１８の場合で色差画素の補間に４タブフィルタを適用すると、図１７の場合のように、現在ピクチャの復元された色差整数画素サンプルを部分画素サンプルの生成のための補間に利用できなくなる。図１８では予測ユニットが８×８ブロックである場合を例示して説明している。
【０２２９】
(１)輝度サンプルに対する補間
【０２３０】
図１８を参照すると、整数画素サンプルＰ０が復元された現在ピクチャの画素として補間に利用される。補間領域１８３０内には図１２の補間領域１１３０Ａと同一に基準整数サンプルＰ３を基準に部分画素サンプルａ〜ｒが補間により生成される。
【０２３１】
図１６及び図１７の場合と違って、図１８の場合、Ｐ０は、現在ピクチャの復元された整数画素サンプルであり、Ｐ１〜Ｐ７は、参照ブロックの整数画素サンプルである。
【０２３２】
図１８の場合にも、部分画素サンプルは、現在ピクチャの復元された画素サンプル(Ｐ０)と参照ピクチャの画素サンプル(Ｐ１〜Ｐ７)を利用した補間により算出することができる。補間に利用されるフィルタは、多様に係数が決定することができる。図１６で説明した数式２０もこの場合に適用することができる補間フィルタの一例である。
【０２３３】
(２)前処理−現在ピクチャの復元された整数サンプルに対するスムージング
【０２３４】
図１８の場合に適用可能な前処理としてのスムージングは、図１５に対して説明したスムージングと同一に実行することができる。ただし、図１５の場合と違って、図１８の補間に利用される現在ピクチャの復元された整数画素ブロックと参照ブロックの整数画素ブロックは、図１８に示すように同一の行１８２０に位置する。
【０２３５】
一方、前述したように、現在ピクチャの復元された画素サンプルと参照ピクチャの画素サンプルを共に使用して補間を実行した場合、符号化器(エンコーダー)では関連した情報を復号器(デコーダー)に伝達することができる。例えば、エンコーダーは、現在ピクチャ(現在対象ブロック、例えば、現在コーディングユニット、現在予測ユニット及び/又は現在変換ユニット等)に対するブロックタイプ、動き情報などのような情報内に予測ブロックを生成するための補間が現在ピクチャの復元された画素サンプルを利用して実行されたという情報を含んで送信することができる。現在ピクチャの復元された画素サンプルを利用して実行されたかに対する情報は、１ビットのフラグで指示することができる。
【０２３６】
このように現在ピクチャの復元された画素サンプルを利用して実行されたかに対する情報を明示的に伝達する方法外に、黙示的な方法により該当情報が復号器に伝達することもできる。例えば、該当ブロックと隣接ブロックの動きベクトルを比較し、二つの動きベクトルの差が所定の閾値(ｔｈｒｅｓｈｏｌｄ)を超えるかどうかを判断することによって、現在ピクチャの復元された画素サンプルが補間に利用されたかどうかを復号器が認知するようにすることもできる。
【０２３７】
一方、前述した１〜６の場合では、予測ユニットの一例として８×８ブロックの場合を説明したが、これは本発明の一実施例に過ぎず、本発明はこれに限定されるものではなく、予測ブロックが４×４、１６×１６、３２×３２、６４×６４ブロックなど、多様な場合に対して適用することができる。
【０２３８】
図１９は、本発明による復号器で予測ブロックを生成する方法を概略的に説明するフローチャートである。
【０２３９】
図１９を参照すると、復号器の予測部は、動き情報を生成する(Ｓ１９１０)。動き情報は、該当予測ユニットに対する動き情報、参照ピクチャインデックスなどを含む。
【０２４０】
次に、予測部は、動きベクトルが整数画素位置を指示するかどうかを判断する(Ｓ１９２０)。前述したように、動きベクトルは、輝度画素の場合に１/４画素単位に表現され、色差画素の場合に１/８画素単位に表現することができる。
【０２４１】
動きベクトルが整数画素位置を示さない場合、すなわち、整数画素単位以下のサブ画素(ｓｕｂ ｐｉｘｅｌ)位置を示す場合、予測部は、予測ブロックを生成するために部分サンプル単位の画素情報を生成する補間を実行する必要がある。
【０２４２】
補間を実行するための情報は、以前に生成した動き情報から導出される。これを介して、例えば、前述した補間領域、基準整数サンプルなどが特定することができる。
【０２４３】
動きベクトルがサブ画素位置を示す場合、予測部は、整数画素サンプルを利用して整数単位以下の部分画素サンプルを生成する補間を実行する(Ｓ１９３０)。
【０２４４】
このとき、予測部は、補間領域の基準整数サンプルが所定の範囲、すなわち、現在ピクチャの復元された画素サンプルを補間に利用することができる範囲内にあるかどうかを確認することができる。例えば、輝度画素に対する補間の場合、予測部は、基準整数サンプルが現在予測単位に対応する参照ブロックの上側境界から３番目の整数サンプル行以内又は左側境界から３番目の整数サンプル列以内に位置するかどうかを確認することができる。色差画素に対する補間の場合、予測部は、基準整数サンプルが現在予測単位に対応する参照ブロックの上側境界から１番目の整数サンプル行又は左側境界から１番目の整数サンプル列に位置するかどうかを確認することができる。
【０２４５】
復号器の予測部は、補間領域の基準整数サンプルが所定の範囲にあるということを確認すると、補間に必要な前処理を実行することができる。
【０２４６】
例えば、輝度画素に対する補間の場合、基準整数サンプルが現在予測単位に対応する参照ブロックの上側又は左側境界から３番目の整数サンプル行/列以内に位置し、色差画素に対する補間の場合、基準整数サンプルが現在予測単位に対応する参照ブロックの上側又は左側境界から１番目の整数サンプル行/列に位置すると、補間に利用する現在ピクチャの画素サンプルに補間の前処理としてスムージングを適用することができる。前処理として適用されるスムージング方法は、前述した通りである。
【０２４７】
予測部は、前述したように、輝度画素に対しては補間を介して１/４画素単位に部分画素サンプルを生成することができ、色差画素に対しては補間を介して１/８画素単位に部分画素サンプルを生成することができる。
【０２４８】
本発明において、予測部は、補間領域の基準整数サンプルが所定の範囲にある場合、現在ピクチャの復元された整数画素サンプルと参照ブロックの画素サンプルを共に使用して補間を実行することができる。補間の具体的な方法は、前述した通りである。
【０２４９】
予測部は、予測ブロックを生成する(Ｓ１９４０)。予測部は、動きベクトルが整数画素位置を示す場合には動きベクトルと参照ブロックに基づいて予測ブロックを生成し、動きベクトルがサブ画素位置を示す場合には動きベクトルと補間により算出された画素サンプルに基づいて予測ブロックを生成する。前述したように、予測ブロックの画素サンプル値は、基準整数サンプルからの部分サンプル単位オフセットで表現される画素位置に対応する画素サンプル値であり、例えば、輝度画素に対する補間の場合にオフセットは(ｘＦｒａｃL,ｙＦｒａｃL)として与えることができ、色差画素に対する補間の場合にオフセットは(ｘＦｒａｃC,ｙＦｒａｃC)として与えることができる。このとき、基準整数サンプルを基準にするオフセットにより特定される予測画素サンプルの値は、輝度画素の場合には、例えば、表３を介して、色差画素の場合には、例えば、表５を介して得られることができる。
【０２５０】
一方、前述した図１９と関連した補間方法で、現在ピクチャの復元された整数画素サンプルを利用するかどうかに対しては、前述したように、符号化器から明示的又は黙示的な指示を復号器に伝達することもでき、基準整数サンプルが現在予測単位に対応する参照ブロックの上側又は左側境界から３番目の整数サンプル行/列以内に位置する場合には現在ピクチャの復元された整数画素サンプルを補間に利用するように決めることもできる。
【０２５１】
したがって、現在ピクチャの復元された画素サンプルを利用するかどうかに対して符号化器から指示が伝達されるようにする場合には、復号器が指示の存否及び/又は指示内容を判断するステップが先行することができる。このとき、現在ピクチャの復元された画素サンプルを利用するという指示がない場合、現在ピクチャの復元された画素サンプルを補間に利用せずに、参照ピクチャの画素サンプルのみで利用して補間を実行することもできる。
【０２５２】
前述した例示的なシステムにおいて、方法は、一連のステップ又はブロックで順序図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序に又は同時に発生することができる。また、前述した実施例は、多様な態様の例示を含む。したがって、本発明は、特許請求の範囲内に属するすべての交替、修正、及び変更を含む。
【０２５３】
以上、本発明に対する説明において、一構成要素が他の構成要素に“連結されて”いる、又は“接続されて”いると言及された時には、一構成要素が他の構成要素に直接的に連結又は接続されていることもあるが、二つの構成要素間に他の構成要素が存在することもできると理解しなければならない。一方、一構成要素が他の構成要素に“直接連結されて”いる、又は“直接接続されて”いると言及された時には、二つの構成要素間に他の構成要素が存在しないと理解しなければならない。
【図１】
0005782186.tif 000027
【図２】
0005782186.tif 000028
【図３】
0005782186.tif 000029
【図４】
0005782186.tif 000030
【図５】
0005782186.tif 000031
【図６】
0005782186.tif 000032
【図７】
0005782186.tif 000033
【図８】
0005782186.tif 000034
【図９】
0005782186.tif 000035
【図１０】
0005782186.tif 000036
【図１１】
0005782186.tif 000037
【図１２】
0005782186.tif 000038
【図１３】
0005782186.tif 000039
【図１４】
0005782186.tif 000040
【図１５】
0005782186.tif 000041
【図１６】
0005782186.tif 000042
【図１７】
0005782186.tif 000043
【図１８】
0005782186.tif 000044
【図１９】
0005782186.tif 000045