【文献】
Jinho Lee, Sung-Chang Lim, Hui Yong Kim, Jin Soo Choi,Mode dependent filtering for intra predicted sample,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT,2011年 7月22日,[JCTVC-F358],pp.1-8
【文献】
Kazuo Sugimoto, Shun-ichi Sekiguchi, Akira Minezawa, Kazuhisa Iguchi, Yoshiaki Shishikui,CE6.f: verification report on LUT-based adaptive filtering on intra prediction samples,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH,2011年 3月10日,[JCTVC-E069],pp.1-6
【文献】
Kazuo Sugimoto, Shun-ichi Sekiguchi, Akira Minezawa, Kazuhisa Iguchi, Yoshiaki Shishikui,LUT-based adaptive filtering on intra prediction samples,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu, KR,2011年 1月14日,[JCTVC-D109],pp.1-4
【文献】
Keiichi Chono, Hirofumi Aoki, Yuzo Senda,CE6: Cross-verification report of LUT-based intraprediction filtering (JCTVC-E069),Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH,2011年 3月10日,[JCTVC-E184]
【文献】
G. Van der Auwera, M. Coban, M. Karczewicz,CE6.f: Cross-Verification of Mitsubishifs LUT-Based Intra Prediction Filtering Contribution by Qualcomm,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH,2011年 3月10日,[JCTVC-E369]
【文献】
A.Alshin, E.Alshina,Block-size and pixel position independent boundary smoothing for non-directional Intra prediction,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011,2011年 7月17日,JCTVC-F252,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F252-v6.zip
(58)【調査した分野】(Int.Cl.,DB名)
現在ブロックに対してDCモードのイントラ予測を実行して、予測ブロック内のフィルタリング対象ピクセルに対してフィルタリングを実行することにより前記予測ブロックを生成する予測ブロック生成部;及び、
前記予測ブロックと前記現在ブロックに対応する復元された差分ブロックとに基づいて、復元ブロックを生成する復元ブロック生成部;を含み、
前記フィルタリング対象ピクセルは、前記予測ブロックの最も左側に位置する1個の垂直ピクセル・ラインである左側垂直予測ピクセル・ラインと、前記予測ブロックの最も上側に位置する1個の水平ピクセル・ラインである上方水平予測ピクセル・ラインとを含み、
前記現在のブロックの大きさが4×4、8×8、および16×16の一つであるとき、前記フィルタリングにおいて、フィルタ形状、フィルタ・タップ及び複数のフィルタ係数は前記現在ブロックの大きさとは無関係に固定されたことを特徴とする映像符号化装置。
【発明を実施するための形態】
【0035】
以下、図面を参照して本発明の実施形態に対して具体的に説明する。本明細書の実施例を説明するにあたって、関連した公知構成又は機能に対する具体的な説明が本明細書の要旨を不明にすると判断される場合にはその詳細な説明は省略する。
【0036】
一構成要素が他の構成要素に“連結されている”又は“接続されている”と言及された場合、該当他の構成要素に直接的に連結されている、又は接続されていることもあるが、中間に他の構成要素が存在することもあると理解されなければならない。併せて、本発明において、特定構成を“含む”と記述する内容は、該当構成以外の構成を排除するものではなく、追加的な構成が本発明の実施又は本発明の技術的思想の範囲に含まれることができることを意味する。
【0037】
第1、第2などの用語は、多様な構成要素の説明に使われることができるが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲を外れない限り、第1の構成要素は第2の構成要素と命名することができ、同様に、第2の構成要素も第1の構成要素と命名することができる。
【0038】
また、本発明の実施例に示す構成部は、互いに異なる特徴的な機能を示すために独立的に図示されるものであり、各構成部が分離されたハードウェアや一つのソフトウェア構成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、それぞれの構成部として羅列して含むものであり、各構成部のうち少なくとも二つの構成部が統合されて一つの構成部からなり、又は一つの構成部が複数個の構成部に分けられて機能を遂行することができ、このような各構成部の統合された実施例及び分離された実施例も本発明の本質から外れない限り本発明の権利範囲に含まれる。
【0039】
また、一部の構成要素は、本発明で本質的な機能を遂行する必須な構成要素ではなく、単に性能を向上させるための選択的構成要素である。本発明は、単に性能向上のために使われる構成要素を除いた本発明の本質を具現するのに必須な構成部のみを含んで具現されることができ、単に性能向上のために使われる選択的構成要素を除いた必須構成要素のみを含む構造も本発明の権利範囲に含まれる。
【0040】
図1は、本発明が適用される映像符号化装置の一実施例に係る構成を示すブロック図である。
【0041】
図1を参照すると、前記映像符号化装置100は、動き予測部111、動き補償部112、イントラ予測部120、スイッチ115、減算器125、変換部130、量子化部140、エントロピー符号化部150、逆量子化部160、逆変換部170、加算器175、フィルタ部180、及び参照ピクチャバッファ190を含む。
【0042】
映像符号化装置100は、入力映像に対してイントラ(intra)モード又はインター(inter)モードに符号化を実行し、ビットストリームを出力することができる。イントラ予測は画面内予測を意味し、インター予測は画面間予測を意味する。イントラモードの場合、スイッチ115がイントラに転換され、インターモードの場合、スイッチ115がインターに転換されることができる。映像符号化装置100は、入力映像の入力ブロックに対する予測ブロックを生成した後、入力ブロックと予測ブロックとの差分(residual)を符号化することができる。
【0043】
イントラモードの場合、イントラ予測部120は、現在ブロック周辺の既に符号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを生成することができる。
【0044】
インターモードの場合、動き予測部111は、動き予測過程で参照ピクチャバッファ190に格納されている参照映像で入力ブロックと最もよくマッチされる領域を探して動きベクトルを求めることができる。動き補償部112は、動きベクトルを利用して動き補償を実行することによって予測ブロックを生成することができる。ここで、動きベクトルは、インター予測に使われる2次元ベクトルであり、現在符号化/復号化対象映像と参照映像との間のオフセットを示すことができる。
【0045】
減算器125は、入力ブロックと生成された予測ブロックとの差分により残差ブロック(residual block)を生成することができる。変換部130は、残差ブロックに対して変換(transform)を実行することで、変換係数(transform coefficient)を出力することができる。そして、量子化部140は、入力された変換係数を量子化パラメータによって量子化し、量子化された係数(quantized coefficient)を出力することができる。
【0046】
エントロピー符号化部150は、量子化部140で算出された値又は符号化過程で算出された符号化パラメータ値などに基づいてエントロピー符号化を実行することで、ビットストリーム(bit stream)を出力することができる。
【0047】
エントロピー符号化が適用される場合、高い発生確率を有するシンボル(symbol)に少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、符号化対象シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー符号化を介して映像符号化の圧縮性能が高まることができる。エントロピー符号化部150は、エントロピー符号化のために、指数ゴロム(exponential golomb)、CAVLC(Context−Adaptive Variable Length Coding)、CABAC(Context−Adaptive Binary Arithmetic Coding)のような符号化方法を使用することができる。
【0048】
図1の実施例に係る映像符号化装置は、インター予測符号化、即ち、画面間予測符号化を実行するため、現在符号化された映像は、参照映像として使われるために復号化されて格納される必要がある。したがって、量子化された係数は、逆量子化部160で逆量子化され、逆変換部170で逆変換される。逆量子化、逆変換された係数は、加算器175を介して予測ブロックと加えられて復元ブロックが生成される。
【0049】
復元ブロックは、フィルタ部180を経て、フィルタ部180は、デブロッキングフィルタ(deblocking filter)、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)のうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部180は、適応的インループ(in−loop)フィルタと呼ばれることもある。デブロッキングフィルタは、ブロック間の境界に発生したブロック歪曲を除去することができる。SAOは、コーディングエラーを補償するために、ピクセル値に適正オフセット(offset)値を加えることができる。ALFは、復元された映像と元来の映像を比較した値に基づいてフィルタリングを実行することができる。フィルタ部180を経た復元ブロックは、参照ピクチャバッファ190に格納されることができる。
【0050】
図2は、本発明が適用される映像復号化装置の一実施例に係る構成を示すブロック図である。
【0051】
図2を参照すると、前記映像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、加算器255、フィルタ部260、及び参照ピクチャバッファ270を含む。
【0052】
映像復号化装置200は、符号化器で出力されたビットストリームの入力を受けてイントラモード又はインターモードに復号化を実行することで、再構成された映像、即ち、復元映像を出力することができる。イントラモードの場合、スイッチがイントラに転換され、インターモードの場合、スイッチがインターに転換されることができる。映像復号化装置200は、入力を受けたビットストリームから残差ブロック(residual block)を得て予測ブロックを生成した後、残差ブロックと予測ブロックとを加えて再構成されたブロック、即ち、復元ブロックを生成することができる。
【0053】
エントロピー復号化部210は、入力されたビットストリームを確率分布によってエントロピー復号化し、量子化された係数(quantized coefficient)形態のシンボルを含むシンボルを生成することができる。エントロピー復号化方法は、前述したエントロピー符号化方法と類似する。
【0054】
エントロピー復号化方法が適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、各シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー復号化方法を介して映像復号化の圧縮性能が高まることができる。
【0055】
量子化された係数は、逆量子化部220で逆量子化され、逆変換部230で逆変換され、量子化された係数が逆量子化/逆変換された結果、残差ブロック(residual block)が生成されることができる。
【0056】
イントラモードの場合、イントラ予測部240は、現在ブロック周辺の既に符号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを生成することができる。インターモードの場合、動き補償部250は、動きベクトル及び参照ピクチャバッファ270に格納されている参照映像を利用して動き補償を実行することによって予測ブロックを生成することができる。
【0057】
残差ブロックと予測ブロックは、加算器255を介して加えられ、加えられたブロックは、フィルタ部260を経ることができる。フィルタ部260は、デブロッキングフィルタ、SAO、ALFのうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部260は、再構成された映像、即ち、復元映像を出力することができる。復元映像は、参照ピクチャバッファ270に格納されてインター予測に使われることができる。
【0058】
以下、ユニット(unit)は、映像符号化及び復号化の単位を意味する。映像符号化及び復号化時の符号化又は復号化単位は、映像を分割して符号化又は復号化する時のその分割された単位を意味するため、符号化ユニット(CU:Coding Unit)、予測ユニット(PU:Prediction Unit)、変換ユニット(TU:Transform Unit)などで呼ばれることもある。また、後述される実施例におけるユニットは、ブロックと呼ばれることもある。一つのユニットは、大きさが小さい下位ユニットに分割されることができる。
【0059】
図3は、一つのユニットが複数の下位ユニットに分割される実施例を概略的に示す概念図である。
【0060】
一つのユニットは、ツリー構造(tree structure)下で深さ情報(depth)を有して階層的に分割されることができる。それぞれの分割された下位ユニットは、深さ情報を有することができる。前記深さ情報は、ユニットが分割された回数及び/又は程度を示すため、前記下位ユニットの大きさに対する情報を含むこともできる。
【0061】
図3の310を参照すると、最も上位ノードはルートノード(root node)と呼ばれることもあり、最も小さい深さ値を有することができる。このとき、最も上位ノードは、レベル0の深さを有することができ、分割されない最初のユニットを示すことができる。
【0062】
レベル1の深さを有する下位ノードは、最初のユニットが一回分割されたユニットを示すことができ、レベル2の深さを有する下位ノードは、最初のユニットが二回分割されたユニットを示すことができる。例えば、
図3の320において、ノードaに対応するユニットaは、最初のユニットで一回分割されたユニットであり、レベル1の深さを有することができる。
【0063】
レベル3のリーフノード(leaf node)は、最初のユニットが三回分割されたユニットを示すことができる。例えば、
図3の320において、ノードdに対応するユニットdは、最初のユニットで三回分割されたユニットであり、レベル3の深さを有することができる。したがって、最も下位ノードであるレベル3のリーフノードは、最も深い深さを有することができる。
【0064】
以下、後述される実施例において、符号化/復号化対象ブロックは、場合によって、現在ブロックと呼ばれることもある。また、符号化/復号化対象ブロックに対してイントラ予測が実行される場合、前記符号化/復号化対象ブロックは、予測対象ブロックと呼ばれることもある。
【0065】
一方、映像信号は、一般的に光の3原色成分を示す三つの色信号を含むことができる。光の3原色成分を示す三つの色信号は、R(Red)、G(Green)、B(Blue)である。前記R、G、B信号は、映像処理のために使われる周波数帯域を減少させるために、一つのルマ(luma)信号及び二つのクロマ(chroma)信号に変換されることができる。このとき、一つの映像信号は、一つのルマ信号と二つのクロマ信号を含むことができる。ここで、ルマ信号は、画面の明るさを示す成分であり、Yに該当し、クロマ信号は、画面の色(color)を示す成分であり、U、V又はCb、Crに該当することができる。人間の目は、ルマ信号に対して敏感であり、クロマ信号に対して鈍感であるため、このような特性を利用してR、G、B信号がルマ信号及びクロマ信号に変換される場合、映像処理に使われる周波数帯域が減少されることができる。以下、後述される実施例において、ルマ成分を有するブロックはルマブロックといい、クロマ成分を有するブロックはクロマブロックという。
【0066】
図4a及び
図4bは、イントラ予測過程の実施例を説明するための図面である。
図4aの410、420は、イントラ予測モードの予測方向及び各予測方向に割り当てられたモード値の実施例を示す。また、
図4bの430は、符号化/復号化対象ブロックのイントラ予測に使われる参照ピクセルの位置を示す。ピクセルは、サンプルと同じ意味を有することができ、以下、後述される実施例において、ピクセルは、場合によって、サンプルと呼ばれることもある。
【0067】
図1及び
図2の実施例で詳述したように、符号化器及び復号化器は、現在ピクチャ内のピクセル情報に基づいてイントラ予測を実行することで、予測ブロックを生成することができる。即ち、イントラ予測実行時、符号化器及び復号化器は、少なくとも一つの復元された参照ピクセルに基づいて方向性予測及び/又は非方向性予測を実行することができる。ここで、予測ブロックは、イントラ予測実行結果生成されたブロックを意味する。前記予測ブロックは、符号化ユニット(CU)、予測ユニット(PU)、及び変換ユニット(TU)のうち少なくとも一つに該当することができる。また、前記予測ブロックは、2×2、4×4、8×8、16×16、32×32又は64×64などの大きさを有する正方形のブロックであってもよく、2×8、4×8、2×16、4×16、8×16などの大きさを有する長方形のブロックであってもよい。
【0068】
一方、イントラ予測は、現在ブロックのイントラ予測モードによって実行されることができる。現在ブロックが有することができるイントラ予測モードの個数は、所定の固定された値であってもよく、予測ブロックの大きさによって異なるように決定される値であってもよい。例えば、現在ブロックが有することができるイントラ予測モードの個数は、3、5、9、17、34、35又は36等である。
【0069】
図4aの410は、イントラ予測モードの予測方向及び各予測方向に割り当てられたモード値の一実施例を示す。
図4aの410において、それぞれのイントラ予測モードに割り当てられた番号はモード値を示すことができる。
【0070】
図4aの410を参照すると、例えば、モード値が0である垂直モードの場合、参照ピクセルのピクセル値に基づいて垂直方向に予測が実行されることができ、モード値が1である水平モードの場合、参照ピクセルのピクセル値に基づいて水平方向に予測が実行されることができる。詳述したモード以外の方向性モードの場合にも、符号化器及び復号化器は、該当角度によって参照ピクセルを利用してイントラ予測を実行することができる。
【0071】
図4aの410において、2のモード値を有するイントラ予測モードは、DCモードと呼ばれることもあり、34のモード値を有するイントラ予測モードは、プラナー(planar)モードと呼ばれることもある。前記DCモード及びプラナーモードは、非方向性モードに該当することができる。例えば、DCモードの場合、複数の参照ピクセルのピクセル値平均により予測ブロックが生成されることができる。プラナーモードで予測ブロック内のそれぞれの予測ピクセルを生成する方法の実施例は、
図5で後述する。
【0072】
イントラ予測モードの個数及び/又はそれぞれのイントラ予測モードに割り当てられるモード値は、前述した実施例に限定されるものではなく、具現及び/又は必要によって異なるように決められてもよい。例えば、イントラ予測モードの予測方向及び各予測モードに割り当てられるモード値は、
図4aの420のように、
図4aの410と異なるように決められることもできる。以下、後述される実施例では、説明の便宜上、別の言及がない場合には
図4aの410のようなイントラ予測モードに基づいてイントラ予測が実行されると仮定する。
【0073】
また、以下、垂直モードの右側に位置したイントラ予測モードは、垂直右側モード(vertical−right mode)といい、水平モードの下方に位置したイントラ予測モードは、水平下方モード(horizontal−below mode)という。例えば、
図4aの410において、モード値が5、6、12、13、22、23、24、25であるイントラ予測モードは、垂直右側モード413に該当することができ、モード値が8、9、16、17、30、31、32、33であるイントラ予測モードは、水平下方モード416に該当することができる。
【0074】
一方、
図4bの430を参照すると、現在ブロックのイントラ予測に使われる復元された参照ピクセルには、例えば、下方左側(below−left)参照ピクセル431、左側(left)参照ピクセル433、上方左側(above−left)コーナー参照ピクセル435、上方(above)参照ピクセル437、及び上方右側(above−right)参照ピクセル439などがある。ここで、左側参照ピクセル433は、現在ブロック外部左側に隣接した復元された参照ピクセルを意味し、上方参照ピクセル437は、現在ブロック外部上方に隣接した復元された参照ピクセルを意味し、上方左側コーナー参照ピクセル435は、現在ブロック外部の上方左側コーナーに位置した復元された参照ピクセルを意味する。また、下方左側参照ピクセル431は、左側参照ピクセル433で構成された左側ピクセルラインと同一線上に位置したピクセルのうち、前記左側ピクセルライン下方に位置した参照ピクセルを意味し、上方右側参照ピクセル439は、上方参照ピクセル437で構成された上方ピクセルラインと同一線上に位置したピクセルのうち、前記上方ピクセルライン右側に位置した参照ピクセルを意味する。本明細書で、詳述した参照ピクセルの名称は、後述される他の実施例にも同一に適用されることができる。
【0075】
現在ブロックのイントラ予測に使われる参照ピクセルは、現在ブロックのイントラ予測モードによって変わることができる。例えば、現在ブロックのイントラ予測モードが垂直(vertical)モード(
図4aの410において、モード値が0であるイントラ予測モード)の場合、上方参照ピクセル437がイントラ予測に使われることができ、現在ブロックのイントラ予測モードが水平(horizontal)モード(
図4aの410において、モード値が1であるイントラ予測モード)の場合、左側参照ピクセル433がイントラ予測に使われることができる。また、モード値が13であるイントラ予測モードが使われる場合には、上方右側参照ピクセル439がイントラ予測に使われることができ、モード値が7であるイントラ予測モードが使われる場合には、下方左側参照ピクセル431がイントラ予測に使われることができる。
【0076】
イントラ予測モードの予測方向及び予測対象ピクセルに基づいて決定される参照ピクセルの位置が整数位置である場合、符号化器及び復号化器は、該当位置の参照ピクセル値を前記予測対象ピクセルに対する予測ピクセル値として決定することができる。イントラ予測モードの予測方向及び予測対象ピクセルに基づいて決定される参照ピクセルの位置が整数位置でない場合、符号化器及び復号化器は、整数位置の参照ピクセルに基づいて補間された(interpolated)参照ピクセルを生成し、前記補間された参照ピクセルのピクセル値を予測ピクセル値として決定することができる。
【0077】
前述した実施例によると、符号化器及び復号化器は、復元されたり生成された参照ピクセルに基づいて符号化/復号化対象ブロックに対してイントラ予測を実行することができる。しかし、前述したように、イントラ予測に使われる参照ピクセルは、現在ブロックのイントラ予測モードによって変わることができ、生成された予測ブロックと周辺ブロックとの間には不連続性が発生することができる。例えば、方向性イントラ予測の場合、予測ブロック内の予測ピクセルのうち、参照ピクセルから距離が遠いピクセルであるほど、大きい予測誤差を有することができる。この場合、前記予測誤差により不連続性が発生することができ、符号化効率向上に限界がある。
【0078】
したがって、詳述した問題点を解決するために、イントラ予測により生成された予測ブロックに対してフィルタリングを実行する符号化/復号化方法が提供されることができる。例えば、参照ピクセルに基づいて生成された予測ブロック内で、大きい予測誤差を有する領域に対して適応的にフィルタを適用することができる。この場合、予測誤差が減少されてブロック間の不連続性が最小化され、符号化/復号化効率が向上することができる。
【0079】
図5は、プラナーモードでのイントラ予測方法の実施例を概略的に示す。
【0080】
図5の510は、プラナーモードでのイントラ予測方法の一実施例を示し、
図5の530は、プラナーモードでのイントラ予測方法の他の実施例を示す。
図5の515及び535は、符号化/復号化対象ブロック(以下、現在ブロックと同じ意味を有する)を示し、ブロック515及びブロック535の大きさは、各々、nS×nSという。
【0081】
図5において、現在ブロック内のピクセルの位置は、所定の座標により示される。便宜上、現在ブロック内の最も上方左側の座標は(0,0)とする。このとき、座標軸において、下方に行くほどy値が大きくなることができ、右に行くほどx値が大きくなることができる。以下、後述される実施例において、ピクセルの座標は、
図5で使われる座標軸と同じ座標軸により示される。
【0082】
一実施例として、
図5の510を参照すると、符号化器及び復号化器は、現在ブロック内の最も下方右側に位置したピクセル(nS−1,nS−1)に対する予測ピクセル、即ち、下方右側予測ピクセル520のピクセル値を導出することができる。符号化器及び復号化器は、上方参照ピクセルのうち、最も右側(nS−1,−1)に位置した参照ピクセル523及び前記下方右側予測ピクセル520に基づいて、現在ブロック内の最も右側に位置した垂直ライン上のピクセルに対する予測ピクセル、即ち、右側垂直ライン予測ピクセルのピクセル値を導出することができ、左側参照ピクセルのうち、最も下方(−1,nS−1)に位置した参照ピクセル526及び前記下方右側予測ピクセル520に基づいて、現在ブロック内の最も下方に位置した水平ライン上のピクセルに対する予測ピクセル、即ち、下方水平ライン予測ピクセルのピクセル値を導出することができる。
【0083】
このとき、現在ブロック内のピクセルのうち、前記右側垂直ライン上のピクセル及び前記下方水平ライン上のピクセルを除いた残りのピクセルに対する予測値は、上方参照ピクセル、左側参照ピクセル、右側垂直ライン予測ピクセル、及び下方水平ライン予測ピクセルに基づいて加重値を適用することによって求められることができる。
【0084】
他の実施例として、符号化器及び復号化器は、
図5の530のような方法により現在ブロック535内の予測対象ピクセル540に対する予測値を導出することもできる。
図5の530において、予測対象ピクセル540の座標は(x,y)とする。
図5の530を参照すると、符号化器及び復号化器は、下方左側参照ピクセルのうち、最も上方に位置した参照ピクセル(−1,nS)541、左側参照ピクセルのうち、予測対象ピクセル540、同一水平ライン上に位置した参照ピクセル(−1,y)543、及び上方参照ピクセルのうち、予測対象ピクセル540と同一垂直ライン上に位置した参照ピクセル(x,−1)545、及び上方右側参照ピクセルのうち、最も左側に位置した参照ピクセル(nS,−1)に基づいて平均及び/又は加重値平均を実行することによって予測対象ピクセル540の予測値を導出することができる。
【0085】
図6は、本発明による映像符号化方法の一実施例を概略的に示すフローチャートである。
【0086】
図6を参照すると、符号化器は、符号化対象ブロックに対してイントラ予測を実行することによって予測ブロックを生成することができる(S610)。予測ブロック生成方法の具体的な実施例は、
図4a及び
図4bで詳述したため、ここでは省略する。
【0087】
また、
図6を参照すると、符号化器は、符号化対象ブロック及び/又は符号化対象ブロックに隣接した周辺ブロックの符号化パラメータに基づいて、予測ブロックに対してフィルタリングを実行することができる(S620)。ここで、符号化パラメータは、シンタックス要素(syntax element)のように符号化器で符号化され、復号化器に送信される情報だけでなく、符号化又は復号化過程で類推されることができる情報を含むことができ、映像を符号化又は復号化する時、必要な情報を意味する。符号化パラメータは、例えば、イントラ/インター予測モード、動きベクトル、参照ピクチャインデックス、符号化ブロックパターン(CBP:Coded Block Pattern)、残差信号有無、量子化パラメータ、ブロック大きさ、及びブロックパーティション(partition)情報などを含むことができる。
【0088】
一例として、符号化器は、符号化対象ブロックのイントラ予測モード、符号化対象ブロックがルマブロックかクロマブロックか、符号化対象ブロックの大きさ(及び/又は深さ)、符号化対象ブロックに隣接した周辺ブロックの符号化パラメータ(例えば、周辺ブロックの符号化モード)及び/又は周辺ブロックの存在有無(及び/又は周辺ブロックが可用な(available)ブロックかどうか)などに対する情報に基づいて予測ブロックに対してフィルタリングを実行することができる。
【0089】
詳述したフィルタリング実行過程において、符号化器は、常にフィルタリングを実行すると叙述されているが、符号化器は、予測ブロックに対してフィルタリングを実行しなくてもよい。例えば、符号化器は、符号化対象ブロック及び/又は符号化対象ブロックに隣接した周辺ブロックの符号化パラメータに基づいてフィルタリング実行可否を決定することができ、フィルタリングが実行されないと決定する場合、予測ブロックに対してフィルタリングを実行しない。
【0090】
一方、詳述したフィルタリング過程は、予測ブロック生成過程とは独立的な別個の過程であるが、予測ブロック生成過程と結合されて一つの過程に実行されてもよい。即ち、符号化器は、予測ブロック生成過程で符号化対象ブロック及び/又は周辺ブロックの符号化パラメータに基づいてフィルタリング実行過程に対応されるプロセスを共に適用することによって予測ブロックを生成することもできる。フィルタリング実行方法の具体的な実施例は後述する。
【0091】
また、
図6を参照すると、符号化器は、符号化対象ブロックの位置に該当する原本ブロック及び予測ブロックに基づいて差分ブロックを生成することができる(S630)。ここで、前記予測ブロックは、フィルタリングが実行された予測ブロックであってもよく、フィルタリングが実行されない予測ブロックであってもよい。
【0092】
図7は、詳述した差分ブロック生成過程の実施例を概略的に示す。
図7の710は、原本ブロック及びフィルタリングが実行された予測ブロックに基づいて差分ブロックを生成する過程の実施例を示す。
図7の710において、ブロック713は原本ブロック、ブロック716はフィルタリングが実行された予測ブロック、ブロック719は差分ブロックを示す。
図7の710を参照すると、符号化器及び復号化器は、原本ブロックでフィルタリングが実行された予測ブロックを減算することで、差分ブロックを生成することができる。
図7の720は、原本ブロック及びフィルタリングが実行されない予測ブロックに基づいて差分ブロックを生成する過程の実施例を示す。
図7の720において、ブロック723は原本ブロック、ブロック726はフィルタリングが実行されない予測ブロック、ブロック729は差分ブロックを示す。
図7の720を参照すると、符号化器及び復号化器は、原本ブロックでフィルタリングが実行されない予測ブロックを減算することで、差分ブロックを生成することができる。
【0093】
生成された差分ブロックは、変換、量子化、エントロピー符号化などの過程を経て復号化器に送信されることができる。
【0094】
図8は、本発明による映像復号化方法の一実施例を概略的に示すフローチャートである。
【0095】
図8を参照すると、復号化器は、復号化対象ブロックに対してイントラ予測を実行することによって予測ブロックを生成することができる(S810)。予測ブロック生成方法の具体的な実施例は、
図4a及び
図4bで詳述したため、ここでは省略する。
【0096】
また、
図8を参照すると、復号化器は、復号化対象ブロック及び/又は復号化対象ブロックに隣接した周辺ブロックの符号化パラメータに基づいて、予測ブロックに対してフィルタリングを実行することができる(S820)。ここで、符号化パラメータは、シンタックス要素(syntax element)のように符号化器で符号化され、復号化器に送信される情報だけでなく、符号化又は復号化過程で類推されることができる情報を含むことができ、映像を符号化又は復号化する時、必要な情報を意味する。符号化パラメータは、例えば、イントラ/インター予測モード、動きベクトル、参照ピクチャインデックス、符号化ブロックパターン(CBP:Coded Block Pattern)、残差信号有無、量子化パラメータ、ブロック大きさ、及びブロックパーティション(partition)情報などを含むことができる。
【0097】
一例として、復号化器は、復号化対象ブロックのイントラ予測モード、復号化対象ブロックがルマブロックかクロマブロックか、復号化対象ブロックの大きさ(及び/又は深さ)、復号化対象ブロックに隣接した周辺ブロックの符号化パラメータ(例えば、周辺ブロックの符号化モード)及び/又は周辺ブロックの存在有無(及び/又は周辺ブロックが可用な(available)ブロックかどうか)などに対する情報に基づいて予測ブロックに対してフィルタリングを実行することができる。
【0098】
詳述したフィルタリング実行過程において、復号化器は、常にフィルタリングを実行すると叙述されているが、復号化器は、予測ブロックに対してフィルタリングを実行しなくてもよい。例えば、復号化器は、復号化対象ブロック及び/又は復号化対象ブロックに隣接した周辺ブロックの復号化パラメータに基づいてフィルタリング実行可否を決定することができ、フィルタリングが実行されないと決定する場合、予測ブロックに対してフィルタリングを実行しない。
【0099】
一方、詳述したフィルタリング過程は、予測ブロック生成過程とは独立的な別個の過程であるが、予測ブロック生成過程と結合されて一つの過程に実行されてもよい。即ち、復号化器は、予測ブロック生成過程で復号化対象ブロック及び/又は周辺ブロックの符号化パラメータに基づいてフィルタリング実行過程に対応されるプロセスを共に適用することによって予測ブロックを生成することもできる。この場合、復号化器は、予測ブロックに対して別個のフィルタリング過程を実行しない。
【0100】
復号化器でのフィルタリング実行方法は、符号化器と同様である。フィルタリング実行方法の具体的な実施例は後述する。
【0101】
また、
図8を参照すると、復号化器は、復号化対象ブロックの位置に該当する復元された差分ブロック及び予測ブロックに基づいて復元ブロックを生成することができる(S830)。ここで、前記予測ブロックは、フィルタリングが実行された予測ブロックであってもよく、フィルタリングが実行されない予測ブロックであってもよい。
【0102】
図9は、詳述した差分ブロック生成過程の実施例を概略的に示す。
図9の910は、復元された差分ブロック及びフィルタリングが実行された予測ブロックに基づいて復元ブロックを生成する過程の実施例を示す。
図9の910において、ブロック913は復元された差分ブロック、ブロック916はフィルタリングが実行された予測ブロック、ブロック919は復元ブロックを示す。
図9の910を参照すると、符号化器及び復号化器は、復元された差分ブロックとフィルタリングが実行された予測ブロックを加算することで、復元ブロックを生成することができる。
図9の920は、復元された差分ブロック及びフィルタリングが実行されない予測ブロックに基づいて復元ブロックを生成する過程の実施例を示す。
図9の920において、ブロック923は復元された差分ブロック、ブロック926はフィルタリングが実行されない予測ブロック、ブロック929は復元ブロックを示す。
図9の920を参照すると、符号化器及び復号化器は、復元された差分ブロックとフィルタリングが実行されない予測ブロックを加算することで、復元ブロックを生成することができる。
【0103】
図10は、本発明によるフィルタリング実行方法の一実施例を概略的に示すフローチャートである。
【0104】
図10を参照すると、符号化器及び復号化器は、予測ブロック(及び/又は予測ピクセル)に対するフィルタリング実行可否を決定することができる(S1010)。
【0105】
詳述したように、符号化器及び復号化器は、以前に復元された参照ピクセルに基づいて符号化/復号化対象ブロックに対してイントラ予測を実行することができる。このとき、イントラ予測に使われる参照ピクセル及び/又はイントラ予測により生成される予測ブロック内の予測ピクセル値は、現在ブロックのイントラ予測モードによって変わることができる。したがって、この場合、符号化器及び復号化器は、イントラ予測に使われた参照ピクセルとの連関性が少さい予測ピクセルに対してフィルタリングを実行することによって予測誤差を減少させることができる。反面、イントラ予測に使われた参照ピクセルとの連関性が大きい予測ピクセルに対してはフィルタリングを実行しないことがより効率的である。
【0106】
したがって、符号化器及び復号化器は、符号化/復号化対象ブロックのイントラ予測モード、符号化/復号化対象ブロックがルマブロックかクロマブロックか、符号化/復号化対象ブロックの大きさ(及び/又は深さ)、符号化/復号化対象ブロックに隣接した周辺ブロックの符号化パラメータ(例えば、周辺ブロックの大きさ及び/又は周辺ブロックの符号化モード等)、及び周辺ブロックの存在有無(及び/又は周辺ブロックが可用な(available)ブロックかどうか)に対する情報のうち少なくとも一つ以上に基づいて、予測ブロック(及び/又は予測ピクセル)に対するフィルタリング実行可否を決定することができる。フィルタリング実行可否は、符号化/復号化過程で決定されることもできるが、各条件によって予め決定されてもよい。以下、フィルタリング実行可否決定方法の具体的な実施例が叙述される。
【0107】
一実施例として、符号化器及び復号化器は、符号化/復号化対象ブロックのイントラ予測モードに基づいて予測ブロックに対するフィルタリング実行可否を決定することができる。詳述したように、イントラ予測に使われる参照ピクセル及び予測方向は、符号化/復号化対象ブロックのイントラ予測モードによって異なるように決定されることができる。したがって、符号化/復号化対象ブロックのイントラ予測モードに基づいてフィルタリング実行可否を決定することが効率的である。
【0108】
以下の表1は、イントラ予測モードによるフィルタリング実行可否決定方法の一実施例を示す。表1において、イントラ予測モードの予測方向及び各予測モードに割り当てられるモード値は、詳述した
図4aの410と同様に決められていると仮定する。
【0110】
ここで、イントラ予測モードに割り当てられた値のうち、0は、フィルタリングが実行されないことを示し、1は、フィルタリングが実行されることを示すことができる。
【0111】
一例として、現在ブロックの予測モードがDCモード(例えば、モード値が2である予測モード)の場合、複数の参照ピクセルのピクセル値平均により予測ブロックが生成されるため、予測ピクセルと参照ピクセルとの間に連関性が少さくなるようになる。したがって、この場合、符号化器及び復号化器は、予測ブロック内の予測ピクセルに対してフィルタリングを実行することができる。他の例として、現在ブロックの予測モードがプラナーモード(例えば、モード値が34である予測モード)の場合、符号化器及び復号化器は、
図5で詳述したように、右側垂直ライン予測ピクセル及び下方水平ライン予測ピクセルを導出した後、前記導出された予測ピクセルと参照ピクセルに基づいて加重値を適用することによって現在ブロック内の各ピクセルに対する予測値を導出することができる。したがって、この場合、予測ピクセルと参照ピクセルとの間に連関性が少さくなるため、符号化器及び復号化器は、予測ブロック内の予測ピクセルに対してフィルタリングを実行することができる。
【0112】
他の例として、現在ブロックのイントラ予測モードが垂直右側モード(例えば、モード値が5、6、12、13、22、23、24、25である予測モード)の場合、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の左側領域に位置した予測ピクセルと左側参照ピクセルとの間の連関性が少さくなることができる。したがって、このような場合には予測ブロック内の左側領域に位置したピクセルに対してフィルタリングが実行されることができる。他の例として、現在ブロックのイントラ予測モードが水平下方モード(例えば、モード値が8、9、16、17、30、31、32、33である予測モード)の場合、符号化器及び復号化器は、左側参照ピクセル及び/又は下方左側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さくなることができる。したがって、このような場合には予測ブロック内の上方領域に位置したピクセルに対してフィルタリングが実行されることができる。
【0113】
また、符号化器及び復号化器は、表1の実施例と違って、垂直モード(例えば、モード値が0である予測モード)及び水平モード(例えば、モード値が1である予測モード)に対しフィルタリングを実行することもできる。現在ブロックのイントラ予測モードが垂直モードの場合、符号化器及び復号化器は、上方参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の左側領域に位置した予測ピクセルと左側参照ピクセルとの間の連関性が少さくなることができる。したがって、このような場合には予測ブロック内の左側領域に位置したピクセルに対してフィルタリングが実行されることができる。他の例として、現在ブロックのイントラ予測モードが水平モード(例えば、モード値が1である予測モード)の場合、符号化器及び復号化器は、左側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さくなることができる。したがって、このような場合には予測ブロック内の上方領域に位置したピクセルに対してフィルタリングが実行されることができる。
【0114】
一方、現在ブロックのイントラ予測モードが詳述した予測モードを除いた残りの予測モード(例えば、モード値が3、4、7、10、11、14、15、18、19、20、21、26、27、28、29である予測モード)のうち一つに該当する場合、符号化器及び復号化器は、上方参照ピクセル及び上方右側参照ピクセルのうち、少なくとも一つの参照ピクセルをイントラ予測に使用することができ、左側参照ピクセル及び下方左側参照ピクセルのうち、少なくとも一つの参照ピクセルをイントラ予測に使用することができる。したがって、この場合、予測ブロック内の左側領域及び上方領域に位置した予測ピクセルの全てが参照ピクセルとの連関性を維持することができるため、符号化器及び復号化器は、予測ブロックに対してフィルタリングを実行しない。
【0115】
フィルタリングが実行されるそれぞれの場合に対して現在ブロック及び/又は予測ブロック内でフィルタリングが実行される領域及び/又は現在ブロック内でフィルタリングが実行されるピクセル位置の実施例は後述する。
【0116】
他の実施例として、符号化器及び復号化器は、現在ブロック(及び/又は予測対象ブロック)の大きさ及び/又は深さに基づいて予測ブロックに対するフィルタリング実行可否を決定することができる。このとき、前記現在ブロックは、CU、PU又はTUのうち少なくとも一つに該当することができる。
【0117】
以下の表2は、ブロック大きさによるフィルタリング実行可否決定方法の一実施例を示し、以下の表3は、現在ブロックの深さ値によるフィルタリング実行可否決定方法の一実施例を示す。表2及び表3の実施例において、現在ブロックは、TUに該当することができ、前記TUの大きさは、例えば、2×2、4×4、8×8、16×16、32×32、64×64などである。しかし、本発明は、これに限定されるものでなく、現在ブロックは、TUでないCU及び/又はPUなどに該当することもできる。
【0120】
ここで、イントラ予測モードに割り当てられた値のうち、0は、フィルタリングが実行されないことを示し、1は、フィルタリングが実行されることを示すことができる。
【0121】
符号化器及び復号化器は、現在ブロックのイントラ予測モード及び現在ブロックの大きさを共に考慮して現在ブロック及び/又は予測ブロックに対するフィルタリング実行可否を決定することもできる。即ち、符号化器及び復号化器は、イントラ予測モードの各々に対して現在ブロックの大きさに基づいてフィルタリング実行可否を決定することができる。この場合、イントラ予測モード毎に現在ブロックの大きさによってフィルタリング実行可否が異なるように決定されることができる。以下の表4は、現在ブロックのイントラ予測モード及び現在ブロックの大きさによるフィルタリング実行可否決定方法の一実施例を示す。
【0123】
ここで、それぞれのイントラ予測モードに割り当てられた値のうち、0は、フィルタリングが実行されないことを示し、1は、フィルタリングが実行されることを示すことができる。
【0124】
他の実施例として、符号化器及び復号化器は、現在ブロックがルマブロックに該当するかクロマブロックに該当するかを示す情報、即ち、現在ブロックの色成分情報に基づいて予測ブロックに対するフィルタリング実行可否を決定することができる。例えば、符号化器及び復号化器は、現在ブロックがルマブロックに該当する場合にのみ予測ブロックに対してフィルタリングを実行し、現在ブロックがクロマブロックに該当する場合にはフィルタリングを実行しない。
【0125】
他の実施例として、符号化器及び復号化器は、現在ブロックに隣接した周辺ブロックの符号化パラメータ、現在ブロックに対してCIP(Constrained Intra Prediction)が適用されるかどうか及び/又は周辺ブロックの存在有無(及び/又は周辺ブロックが可用な(available)ブロックかどうか)に対する情報などに基づいてフィルタリング実行可否を決定することもできる。各々に対するフィルタリング実行可否決定方法の具体的な実施例は後述する。
【0126】
また、
図10を参照すると、現在ブロック及び/又は予測ブロックに対してフィルタリングが実行されると決定された場合、符号化器及び復号化器は、現在ブロック及び/又は予測ブロック内でフィルタリングが実行される領域を決定することができる(S1020)。ここで、前記フィルタリングが実行される領域は、現在ブロック及び/又は予測ブロック内の一つ以上のサンプルに該当することができる。
【0127】
詳述したように、符号化器及び復号化器は、イントラ予測に使われた参照ピクセルとの連関性が少さい予測ピクセルに対してフィルタリングを実行することによって予測誤差を減少させることができる。即ち、符号化器及び復号化器は、現在ブロック及び/又は予測ブロック内で予測誤差が相対的に大きい領域をフィルタリング実行領域として決定することができる。このとき、符号化器及び復号化器は、現在ブロックのイントラ予測モード、現在ブロックの大きさ(及び/又は深さ)、及び現在ブロックに隣接した周辺ブロックの符号化モードのうち、少なくとも一つに基づいてフィルタリング実行領域を決定することができる。ここで、周辺ブロックの符号化モードは、周辺ブロックがインターモードに符号化/復号化されたか、イントラモードに符号化/復号化されたかを示すことができる。フィルタリング実行領域決定方法の具体的な実施例は後述する。
【0128】
また、符号化器及び復号化器は、フィルタリング実行領域内のそれぞれの予測ピクセルに対して適用されるフィルタタイプを決定することができる(S1030)。
【0129】
このとき、前記フィルタタイプは、フィルタ形状(filter shape)、フィルタタップ(filter tap)、及びフィルタ係数(filter coefficient)などに対する情報を含むことができる。複数のイントラ予測モードは、互いに異なる予測方向を有することができ、フィルタリング対象ピクセルの位置によって復元された参照ピクセルの利用方法が変わることができる。したがって、符号化器及び復号化器は、フィルタタイプを適応的に決定することによってフィルタリング効率を向上させることができる。例えば、符号化器及び復号化器は、現在ブロックのイントラ予測モード、現在ブロックの大きさ(及び/又は深さ)及び/又はフィルタリング対象ピクセルの位置に基づいて、それぞれのフィルタリング対象ピクセルに対して適用されるフィルタタイプを決定することができる。フィルタ形状には、水平形状、垂直形状、対角形状などがあり、フィルタタップには、2−タップ、3−タップ、4−タップなどがある。
【0130】
また、符号化器及び復号化器は、予測ブロックの大きさ及び/又はフィルタリング対象ピクセルの位置などに基づいてフィルタ係数を決定することができる。即ち、符号化器及び復号化器は、予測ブロックの大きさ及び/又はフィルタリング対象ピクセルの位置などによって、フィルタリング対象ピクセルに適用されるフィルタ係数を異なるようにすることができる。したがって、フィルタリング対象ピクセルに対するフィルタ強度が適応的に決定されることができる。一例として、2−タップフィルタが使われる場合、フィルタ係数は[1:3]、[1:7]、[3:5]などになることができる。他の例として、3−タップフィルタが使われる場合、フィルタ係数は[1:2:1]、[1:4:1]、[1:6:1]などになることができる。
【0131】
一方、フィルタタイプにより決定されるフィルタは、フィルタ形状、フィルタタップ、フィルタ係数などにより定義されるフィルタでなくてもよい。例えば、符号化器及び復号化器は、参照ピクセルのピクセル値に、所定の過程により決定されるオフセット(offset)値を加えることによってフィルタリング過程を実行することもできる。このとき、前記フィルタリング過程は、予測ブロック生成過程と結合されて一つの過程に実行されてもよい。即ち、現在ブロック内の各ピクセルのフィルタリングされた予測ピクセル値は、詳述したフィルタリング過程のみで導出されることができ、このとき、詳述したフィルタリング過程は、予測ピクセル生成過程及び生成された予測ピクセルに対するフィルタリング過程の両方ともを含む一つのプロセスに該当することができる。
【0132】
フィルタタイプ決定方法の具体的な実施例は後述する。
【0133】
フィルタ適用領域及びフィルタタイプが決定されると、符号化器及び復号化器は、前記決定されたフィルタ適用領域及びフィルタタイプに基づいて予測ブロック内のそれぞれの予測ピクセルに対するフィルタリングを実行することができる(S1040)。予測ブロックに対してフィルタリングが実行されないと決定された場合、符号化器及び復号化器は、予測ブロック(及び/又は予測ブロック内の各予測ピクセル)に対してフィルタリングを実行しない(S1050)。
【0134】
図11は、現在ブロックに隣接した周辺ブロックの符号化パラメータに基づいてフィルタリング実行可否を決定する方法の実施例を概略的に示す。
【0135】
図11において、周辺ブロックの符号化パラメータにはイントラ予測モード(intra prediction mode)、インター予測モード(inter prediction mode)、符号化モード(coding mode)などがある。ここで、周辺ブロックの符号化モードは、周辺ブロックがインターモードに符号化/復号化されたかイントラモードに符号化/復号化されたかを示すことができる。
【0136】
図11の1110は、現在ブロックに隣接した周辺ブロックのイントラ予測モードに基づいてフィルタリング実行可否を決定する方法の一実施例を示す。
図11の1113は現在ブロック(C)を示し、
図11の1116は現在ブロックの左側に隣接した左側周辺ブロック(A)を示す。
図11の1110において、現在ブロックのイントラ予測モードは、垂直右側モードに該当すると仮定する。このとき、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の左側領域1119に位置したピクセルに対してフィルタリングが実行されることができる。
【0137】
しかし、
図11の1110と同様に、フィルタリング対象領域1119に隣接した左側周辺ブロック(A)1116の予測方向及び現在ブロック(C)1113の予測方向が互いに異なる場合、フィルタリング対象領域1119に対してフィルタリングを実行しないことがより効率的である。したがって、符号化器及び復号化器は、フィルタリング対象領域1119に隣接した周辺ブロック1116の予測方向及び現在ブロック1113の予測方向が互いに異なる場合、フィルタリング対象領域1119に対してフィルタリングを実行しない。反対に、フィルタリング対象領域1119に隣接した周辺ブロック1116の予測方向及び現在ブロック1113の予測方向が互いに同じ、又は類似の場合(例えば、予測角度差値が所定の閾値以下の場合)、フィルタリング対象領域1119に対してフィルタリングを実行することによって予測誤差を減少させることができる。
【0138】
図11の1120は、現在ブロックに対してCIP(Constrained Intra Prediction)が適用される場合、現在ブロックに隣接した周辺ブロックの符号化モードに基づいてフィルタリング実行可否を決定する方法の一実施例を示す。
図11の1123は現在ブロック(C)を示し、
図11の1126は現在ブロックの左側に隣接した左側周辺ブロック(A)を示す。
図11の1120において、現在ブロックのイントラ予測モードは、垂直右側モードに該当すると仮定する。このとき、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の左側領域1129に位置したピクセルに対してフィルタリングが実行されることができる。
【0139】
しかし、現在ブロック(C)1123に対してCIPが適用される場合、符号化器及び復号化器は、フィルタリング対象領域1129に隣接した左側周辺ブロック(A)1126の符号化モードによってフィルタリング対象領域1129に対するフィルタリングを実行しない。
【0140】
現在ブロック1123に対してCIPが適用される場合、符号化器及び復号化器は、現在ブロック1123に対するイントラ予測を実行するにあたって、インターモードに符号化された周辺ブロック内のピクセルを参照ピクセルとして使用しない。例えば、
図11の1120において、左側周辺ブロック(A)1126がインターモードに符号化された場合、左側周辺ブロック1126内の参照ピクセル、即ち、左側参照ピクセルは、現在ブロック1123のインター予測に使われない。この場合、符号化器及び復号化器は、イントラモードに符号化されたブロック内の参照ピクセルのピクセル値を前記左側参照ピクセルの位置に入れた後、イントラ予測を実行することができる。即ち、符号化器及び復号化器は、インターモードが適用されるピクセルをイントラ予測に使用しないことで、エラー耐性を強化させることができる。
【0141】
したがって、
図11の1120と同様に、現在ブロック1123に対してCIPが適用され、フィルタリング対象領域1129に隣接した左側周辺ブロック1126の符号化モードがインターモードの場合、符号化器及び復号化器は、フィルタリング対象領域1129に対してフィルタリングを実行しない。
【0142】
図12は、現在ブロックに隣接した周辺ブロックの存在有無(及び/又は周辺ブロックが可用な(available)ブロックかどうか)に対する情報に基づいてフィルタリング実行可否を決定する方法の実施例を概略的に示す。
【0143】
図12の1210は現在ブロック(C)を示し、
図12の1220は現在ブロックの左側に隣接した周辺ブロック(A)を示す。
図12において、現在ブロック1210のイントラ予測モードは、垂直右側モードに該当すると仮定する。このとき、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の左側領域1230に位置したピクセルに対してフィルタリングが実行されることができる。
【0144】
しかし、フィルタリング対象領域に隣接した周辺ブロックが存在しない、又は可用しない場合、符号化器及び復号化器は、フィルタリング対象領域に対してフィルタリングを実行しない。ここで、フィルタリング対象領域に隣接した周辺ブロックが存在しない、又は可用しない場合には、現在ブロックが現在ピクチャの境界に存在する場合及び現在ブロックに隣接した周辺ブロックが現在ブロックが属するスライス境界の外部に存在する場合などがある。
【0145】
フィルタリング対象領域に隣接した周辺ブロックが存在しない、又は可用しない場合、符号化器及び復号化器は、可用な参照ピクセルを利用してフィルタリング対象領域に隣接した位置の参照ピクセル値を生成した後、イントラ予測を実行することができる。しかし、この場合、生成された複数の参照ピクセルは、互いに類似の値を有することができ、生成された参照ピクセルの値は、現在ブロック内のピクセル値と類似しないため、生成された参照ピクセルに基づいて現在ブロックに対してフィルタリングを実行することは、符号化効率を減少させることができる。したがって、符号化器及び復号化器は、フィルタリング対象領域に対してフィルタリングを実行しない。
【0146】
図12を参照すると、現在ブロック(C)1210の周辺には復元されたブロック(B)Dが存在する。また、現在ブロック1210内のフィルタリング対象領域1230に隣接した左側周辺ブロック(A)1220は、現在ブロック1210が属するスライスの境界1240の外部に存在する。このとき、フィルタリング対象領域1230に隣接した左側周辺ブロック(A)1220は、可用しないブロックに該当するため、符号化器及び復号化器は、フィルタリング対象領域1230に対してフィルタリングを実行しない。
【0147】
図13は、現在ブロックのイントラ予測モードに基づいてフィルタリング実行領域を決定する方法の実施例を概略的に示す。
【0148】
詳述したように、符号化器及び復号化器は、以前に復元された参照ピクセルに基づいて符号化/復号化対象ブロックに対してイントラ予測を実行することができる。このとき、イントラ予測に使われる参照ピクセル及び/又は予測方向は、現在ブロックのイントラ予測モードによって変わることができるため、現在ブロックのイントラ予測モードを考慮して予測誤差が相対的に大きい領域をフィルタリング実行領域として決定することが効率的である。より詳しくは、予測ブロック内でイントラ予測に使われない参照ピクセルと隣接した領域に位置した予測ピクセルは、前記参照ピクセルとの連関性が低く、大きい予測誤差を有することができる。したがって、符号化器及び復号化器は、予測ブロック内の予測ピクセルのうち、イントラ予測に使われない参照ピクセルに隣接した領域内の予測ピクセルに対してフィルタリングを実行することによって予測誤差を減少させて予測効率を向上させることができる。
【0149】
図13の1310は、現在ブロックの予測モードがDCモード及び/又はプラナーモードである場合のフィルタリング実行領域の実施例を示す。
図13の1310において、1313は予測ブロックを示し、1316はフィルタリング実行領域を示すことができる。
【0150】
詳述したように、現在ブロックの予測モードがDCモードの場合、複数の参照ピクセルのピクセル値平均により予測ブロック1313が生成されるため、予測ピクセルと参照ピクセルとの間に連関性が少さくなるようになる。したがって、この場合、符号化器及び復号化器は、予測ブロック1313内の最も上方に位置した一つ以上の水平ピクセルライン(以下、上方水平予測ピクセルラインという)及び予測ブロック1313内の最も左側に位置した一つ以上の垂直ピクセルライン(以下、左側垂直予測ピクセルラインという)をフィルタリング実行領域1316として決定することができる。このとき、上方水平予測ピクセルラインに含まれる水平ピクセルラインの個数及び左側垂直予測ピクセルラインに含まれる垂直ピクセルラインの個数は、所定の固定された個数であり、例えば、上方水平予測ピクセルライン及び左側垂直予測ピクセルラインは、各々、1個のピクセルラインを含むことができる。また、後述される
図14の実施例と同様に、上方水平予測ピクセルラインに含まれるピクセルラインの個数及び左側垂直予測ピクセルラインに含まれるピクセルラインの個数は、現在ブロック及び/又は予測ブロック1313の大きさに基づいて決定されることもできる。即ち、上方水平予測ピクセルラインに含まれるピクセルラインの個数及び左側垂直予測ピクセルラインに含まれるピクセルラインの個数は、現在ブロック及び/又は予測ブロック1313の大きさによって可変的な値を有することができる。例えば、上方水平予測ピクセルラインに含まれるピクセルラインの個数及び左側垂直予測ピクセルラインに含まれるピクセルラインの個数は、各々、1個、2個又は4個等である。
【0151】
一方、現在ブロックの予測モードがプラナーモード(例えば、モード値が34である予測モード)の場合にも、予測ピクセルと参照ピクセルとの間の連関性が少さい。したがって、この場合、符号化器及び復号化器は、DCモードと同様に、上方水平予測ピクセルライン及び左側垂直予測ピクセルラインをフィルタリング実行領域1316として決定することができる。
【0152】
図13の1320は、現在ブロックのイントラ予測モードが垂直右側モード(例えば、モード値が5、6、12、13、22、23、24、25である予測モード)である場合のフィルタリング実行領域の実施例を示す。
図13の1320において、1323は予測ブロックを示し、1326はフィルタリング実行領域を示すことができる。
【0153】
現在ブロックの予測モードが垂直右側モードの場合、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルに基づいて現在ブロックに対するイントラ予測を実行するため、予測ブロック1323内の左側領域に位置した予測ピクセルと左側参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合、符号化器及び復号化器は、予測ブロック1323内の最も左側に位置した一つ以上の垂直ピクセルライン、即ち、左側垂直予測ピクセルラインをフィルタリング実行領域1326として決定し、フィルタリングを実行することによって、予測効率を向上させることができる。このとき、左側垂直予測ピクセルラインに含まれる垂直ピクセルラインの個数は、所定の固定された個数であり、例えば、左側垂直予測ピクセルラインは、1個の垂直ピクセルラインを含むことができる。また、後述される
図14の実施例と同様に、左側垂直予測ピクセルラインに含まれる垂直ピクセルラインの個数は、現在ブロック及び/又は予測ブロック1323の大きさに基づいて決定されることもできる。即ち、左側垂直予測ピクセルラインに含まれる垂直ピクセルラインの個数は、現在ブロック及び/又は予測ブロック1323の大きさによって可変的な値を有することができ、例えば、1個、2個又は4個等である。
【0154】
一方、現在ブロックの予測モードが垂直モードの場合、符号化器及び復号化器は、上方参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の左側領域に位置した予測ピクセルと左側参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合にも符号化器及び復号化器は、左側垂直予測ピクセルラインをフィルタリング実行領域として決定し、フィルタリングを実行することができる。
【0155】
図13の1330は、現在ブロックのイントラ予測モードが水平下方モード(例えば、モード値が8、9、16、17、30、31、32、33である予測モード)である場合のフィルタリング実行領域の実施例を示す。
図13の1330において、1333は予測ブロックを示し、1336はフィルタリング実行領域を示すことができる。
【0156】
現在ブロックの予測モードが水平下方モードの場合、符号化器及び復号化器は、左側参照ピクセル及び/又は下方左側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック1333内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合、符号化器及び復号化器は、予測ブロック1333内の最も上方に位置した一つ以上の水平ピクセルライン、即ち、上方水平予測ピクセルラインをフィルタリング実行領域1336として決定し、フィルタリングを実行することによって、予測効率を向上させることができる。このとき、上方水平予測ピクセルラインに含まれる水平ピクセルラインの個数は、所定の固定された個数であり、例えば、上方水平予測ピクセルラインは、1個のピクセルラインを含むことができる。また、後述される
図14の実施例と同様に、上方水平予測ピクセルラインに含まれる水平ピクセルラインの個数は、現在ブロック及び/又は予測ブロック1333の大きさに基づいて決定されることもできる。即ち、上方水平予測ピクセルラインに含まれる水平ピクセルラインの個数は、現在ブロック及び/又は予測ブロック1333の大きさによって可変的な値を有することができ、例えば、1個、2個又は4個等である。
【0157】
一方、現在ブロックの予測モードが水平モードの場合、符号化器及び復号化器は、左側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合にも符号化器及び復号化器は、上方水平予測ピクセルラインをフィルタリング実行領域として決定し、フィルタリングを実行することができる。
【0158】
図14は、現在ブロックの大きさ及び/又は深さに基づいてフィルタリング実行領域を決定する方法の実施例を概略的に示す。
【0159】
現在ブロック(及び/又は予測対象ブロック)の大きさが大きい場合、現在ブロック内で大きい予測誤差を有する領域の大きさも大きく、現在ブロック(及び/又は予測対象ブロック)の大きさが小さい場合、現在ブロック内で大きい予測誤差を有する領域の大きさも小さい。したがって、符号化器及び復号化器は、現在ブロック(及び/又は予測対象ブロック)の大きさ(及び/又は深さ)に基づいてフィルタリング実行領域を決定することによって符号化効率を向上させることができる。このとき、符号化器及び復号化器は、相対的に大きい予測誤差を有する領域をフィルタリング実行領域として決定することができる。
【0160】
図14の1410は、現在ブロックの大きさが8×8である場合のフィルタリング実行領域の実施例を示す。
図14の1410において、1413は現在ブロックを示し、1416はフィルタリング対象領域を示す。
図14の1410において、現在ブロック1413のイントラ予測モードは、垂直右側モード(例えば、モード値が6である予測モード)に該当すると仮定する。このとき、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内で前記上方参照ピクセル及び前記上方右側参照ピクセルからの距離が遠い左側領域の予測誤差が大きい。したがって、この場合、符号化器及び復号化器は、予測ブロック内の最も左側に位置した一つ以上の垂直ピクセルライン、即ち、左側垂直予測ピクセルラインをフィルタリング実行領域1416として決定することができる。
【0161】
図14の1420は、現在ブロックの大きさが32×32である場合のフィルタリング実行領域の実施例を示す。
図14の1420において、1423は現在ブロックを示し、1426はフィルタリング対象領域を示す。
図14の1420において、現在ブロック1423のイントラ予測モードは垂直右側モード(例えば、モード値が6である予測モード)に該当すると仮定する。このとき、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内で前記上方参照ピクセル及び前記上方右側参照ピクセルからの距離が遠い左側領域の予測誤差が大きい。したがって、この場合、符号化器及び復号化器は、予測ブロック内の最も左側に位置した一つ以上の垂直ピクセルライン、即ち、左側垂直予測ピクセルラインをフィルタリング実行領域1426として決定することができる。
【0162】
詳述した
図14の1410、1420において、左側垂直予測ピクセルラインを構成する垂直ピクセルラインの個数は、現在ブロック1413、1423及び/又は予測ブロックの大きさに基づいて決定されることができる。
図14の1410において、現在ブロック1413の大きさは8×8であるため、相対的に小さい値を有する。したがって、この場合、予測誤差が大きい領域の大きさが相対的に小さいため、符号化器及び復号化器は、予測ブロック内で最も左側に位置した順序通りに2個の垂直ピクセルラインをフィルタリング実行領域として決定することができる。反面、
図14の1420において、現在ブロック1423の大きさは32×32であるため、相対的に大きい値を有する。したがって、この場合、予測誤差が大きい領域の大きさが相対的に大きいため、符号化器及び復号化器は、予測ブロック内で最も左側に位置した順序通りに4個の垂直ピクセルラインをフィルタリング実行領域として決定することができる。
【0163】
以下の表5は、ブロック大きさによるフィルタリング実行領域の実施例を示し、以下の表6は、現在ブロックの深さ値によるフィルタリング実行領域の実施例を示す。符号化器及び復号化器は、以下の表5及び表6のように、現在ブロックの大きさ及び/又は深さに基づいてフィルタリング実行領域を決定することができる。
【0166】
ここで、現在ブロックは、TUに該当することができ、前記TUの大きさは、例えば、2×2、4×4、8×8、16×16、32×32、64×64などである。しかし、本発明は、これに限定されるものでなく、現在ブロックは、TUでないCU及び/又はPUなどに該当することもできる。
【0167】
現在ブロックの大きさ及び/又は深さによって決定されるフィルタリング実行領域の大きさ及び/又は位置は、前述した実施例に限定されるものではなく、前述した実施例と異なる大きさ及び/又は位置に決定されることもできる。また、前述した実施例では垂直右側モードを中心にフィルタリング実行領域決定方法が叙述されているが、これは説明の便宜のためのものに過ぎず、前記方法は、現在ブロックの予測モードが垂直右側モード外のモードに該当する場合にも同じ又は類似の方法に適用されることができる。
【0168】
図15は、現在ブロックに隣接した周辺ブロックの符号化モードに基づいてフィルタリング実行領域を決定する方法の実施例を概略的に示す。
【0169】
図15において、現在ブロック(C)1510のイントラ予測モードは垂直右側モードに該当すると仮定する。このとき、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルを利用して現在ブロック1510に対するイントラ予測を実行するため、予測ブロック内の左側領域をフィルタリング対象領域として決定することができる。
【0170】
しかし、現在ブロックに隣接した周辺ブロックの符号化モードがインターモードの場合、その周辺ブロック内の復元されたピクセル値は、ネットワークで発生したエラーなどを理由で信頼することができない可能性が高く、符号化モードがインターモードである周辺ブロック内の復元ピクセル値に基づいてフィルタリングを実行することは、符号化効率を低下させることができる。したがって、符号化器及び復号化器は、符号化モードがインターモードである周辺ブロックに隣接した領域に対してはフィルタリングを実行しない。即ち、符号化器及び復号化器は、現在ブロックに隣接した周辺ブロックの符号化モードに基づいてフィルタリング実行領域を決定することができる。
【0171】
図15を参照すると、現在ブロック1510の左側に隣接した周辺ブロックには、復元された周辺ブロック(A)1520及び復元周辺ブロック(B)1530がある。ここで、周辺ブロック(A)1520の符号化モードはイントラモードであり、周辺ブロック(B)1530の符号化モードはインターモードであると仮定する。このとき、符号化器及び復号化器は、予測ブロック内の左側領域のうち、イントラモードに符号化された周辺ブロック(B)1530に隣接した領域1540のみをフィルタリング対象領域として決定することができる。
【0172】
図16a及び
図16bは、現在ブロックのイントラ予測モードによるフィルタタイプ決定方法の実施例を示す。
【0173】
図16aの1610は、現在ブロックの予測モードがDCモード及び/又はプラナーモードである場合のフィルタタイプ決定方法の実施例を示す。
図16aの1610において、1615は予測ブロックを示し、1620はフィルタリング対象ピクセルに適用されるフィルタタップを示す。
【0174】
詳述したように、現在ブロックの予測モードがDCモードの場合、複数の参照ピクセルのピクセル値平均により予測ブロック1615が生成されるため、予測ピクセルと参照ピクセルとの間に連関性が少さくなるようになる。したがって、この場合、符号化器及び復号化器は、上方水平予測ピクセルライン(例えば、予測ブロック1615内の最も上方に位置した一つの水平ピクセルライン)及び左側垂直予測ピクセルライン(例えば、予測ブロック1615内の最も左側に位置した一つの垂直ピクセルライン)に含まれている予測ピクセル(例えば、(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0)、(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)、(0,7))をフィルタリング実行領域として決定することができる。また、現在ブロックの予測モードがプラナーモードの場合にも、予測ピクセルと参照ピクセルとの間の連関性が少さい。したがって、この場合、符号化器及び復号化器は、DCモードと同様に、上方水平予測ピクセルライン及び左側垂直予測ピクセルラインに含まれている予測ピクセルをフィルタリング実行領域として決定することができる。
【0175】
現在ブロックの予測モードがDCモード及び/又はプラナーモードの場合、符号化器及び復号化器は、予測ブロック内の最も左側上方に位置した左側上方予測ピクセル(0,0)に対し、[1/4,2/4,1/4]の3−タップフィルタ1629を適用することができる。このとき、符号化器及び復号化器は、フィルタリング対象ピクセル(0,0)、フィルタリング対象ピクセルの上方に隣接した参照ピクセル(0,−1)、及びフィルタリング対象ピクセルの左側に隣接した参照ピクセル(−1,0)に基づいて前記フィルタリング対象ピクセルに対するフィルタリングを実行することができる。この場合、フィルタリング対象ピクセルに適用されるフィルタ係数は2/4であり、フィルタリング対象ピクセルの上方に隣接した参照ピクセル及びフィルタリング対象ピクセルの左側に隣接した参照ピクセルに適用されるフィルタ係数は1/4である。
【0176】
また、現在ブロックの予測モードがDCモード及び/又はプラナーモードの場合、符号化器及び復号化器は、左側垂直予測ピクセルラインに含まれている予測ピクセルのうち、左側上方予測ピクセルを除いたピクセル(例えば、(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)、(0,7))の各々に対し、[1/4,3/4]の水平2−タップフィルタ1623を適用することができる。このとき、フィルタリング対象ピクセルの位置が(0,y)と仮定すると、符号化器及び復号化器は、フィルタリング対象ピクセル(0,y)及びフィルタリング対象ピクセルの左側に隣接した参照ピクセル(−1,y)に基づいて前記フィルタリング対象ピクセルに対するフィルタリングを実行することができる。この場合、フィルタリング対象ピクセルに適用されるフィルタ係数は3/4であり、フィルタリング対象ピクセルの左側に隣接した参照ピクセルに適用されるフィルタ係数は1/4である。
【0177】
また、現在ブロックの予測モードがDCモード及び/又はプラナーモードの場合、符号化器及び復号化器は、上方水平予測ピクセルラインに含まれている予測ピクセルのうち、左側上方予測ピクセルを除いたピクセル(例えば、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0))の各々に対し、[1/4,3/4]の垂直2−タップフィルタ1625を適用することができる。このとき、フィルタリング対象ピクセルの位置が(x,0)と仮定すると、符号化器及び復号化器は、フィルタリング対象ピクセル(x,0)及びフィルタリング対象ピクセルの上方に隣接した参照ピクセル(x,−1)に基づいて前記フィルタリング対象ピクセルに対するフィルタリングを実行することができる。この場合、フィルタリング対象ピクセルに適用されるフィルタ係数は3/4であり、フィルタリング対象ピクセルの上方に隣接した参照ピクセルに適用されるフィルタ係数は1/4である。
【0178】
前述した実施例において、符号化器及び復号化器は、現在ブロックの大きさによって異なるフィルタタイプ(例えば、フィルタ形状、フィルタタップ及び/又はフィルタ係数等)を使用することができる。この場合、符号化器及び復号化器は、現在ブロックの大きさに基づいて適応的にフィルタタイプを決定することができる。しかし、符号化器及び復号化器は、前述した実施例と同様に、現在ブロック及び/又は予測ブロックの大きさに関係無しに常に所定の固定されたフィルタタイプ(例えば、フィルタ形状、フィルタタップ及び/又はフィルタ係数等)を使用することもできる。
【0179】
図16aの1630は、現在ブロックの予測モードが垂直右側モード(例えば、モード値が5、6、12、13、22、23、24、25である予測モード)である場合のフィルタタイプ決定方法の実施例を示す。
図16aの1630において、1635は予測ブロックを示し、1640はフィルタリング対象ピクセルに適用されるフィルタタップを示す。
【0180】
詳述したように、現在ブロックの予測モードが垂直右側モードの場合、符号化器及び復号化器は、上方参照ピクセル及び/又は上方右側参照ピクセルに基づいて現在ブロックに対するイントラ予測を実行するため、予測ブロック1635内の左側領域に位置した予測ピクセルと左側参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合、符号化器及び復号化器は、左側垂直予測ピクセルライン(例えば、予測ブロック1635内の最も左側に位置した一つの垂直ピクセルライン)に含まれている予測ピクセル(例えば、(0,0)、(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)、(0,7))をフィルタリング実行領域として決定することができる。
【0181】
一方、現在ブロックの予測モードが垂直モード(例えば、モード値が0である予測モード)の場合、符号化器及び復号化器は、上方参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック内の左側領域に位置した予測ピクセルと左側参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合にも符号化器及び復号化器は、左側垂直予測ピクセルラインに含まれている予測ピクセルをフィルタリング実行領域として決定することができる。しかし、垂直モードに適用されるフィルタタイプは、垂直右側モードに適用されるフィルタタイプと異なる。
【0182】
現在ブロックの予測モードが垂直右側モードの場合、符号化器及び復号化器は、左側垂直予測ピクセルラインに含まれている予測ピクセル(例えば、(0,0)、(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)、(0,7))の各々に対し、[1/4,3/4]の対角2−タップフィルタ1640を適用することができる。このとき、フィルタリング対象ピクセルの位置が(0,y)と仮定すると、符号化器及び復号化器は、フィルタリング対象ピクセル(0,y)及びフィルタリング対象ピクセルの左側に隣接した参照ピクセルの下方に隣接した参照ピクセル(−1,y+1)に基づいて前記フィルタリング対象ピクセルに対するフィルタリングを実行することができる。この場合、フィルタリング対象ピクセルに適用されるフィルタ係数は3/4であり、フィルタリング対象ピクセルの左側に隣接した参照ピクセルの下方に隣接した参照ピクセルに適用されるフィルタ係数は1/4である。
【0183】
図16bの1650は、現在ブロックの予測モードが水平下方モード(例えば、モード値が8、9、16、17、30、31、32、33である予測モード)である場合のフィルタタイプ決定方法の実施例を示す。
図16bの1650において、1655は予測ブロックを示し、1660はフィルタリング対象ピクセルに適用されるフィルタタップを示す。
【0184】
詳述したように、現在ブロックの予測モードが水平下方モードの場合、符号化器及び復号化器は、左側参照ピクセル及び/又は下方左側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック1655内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合、符号化器及び復号化器は、上方水平予測ピクセルライン(例えば、予測ブロック1655内の最も上方に位置した一つの垂直ピクセルライン)に含まれている予測ピクセル(例えば、(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0))をフィルタリング実行領域として決定することができる。
【0185】
一方、現在ブロックの予測モードが水平モード(例えば、モード値が1である予測モード)の場合、符号化器及び復号化器は、左側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行するため、予測ブロック1655内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合にも符号化器及び復号化器は、上方水平予測ピクセルラインに含まれている予測ピクセルをフィルタリング実行領域として決定することができる。しかし、水平モードに適用されるフィルタタイプは、水平下方モードに適用されるフィルタタイプと異なることもある。
【0186】
現在ブロックの予測モードが水平下方モードの場合、符号化器及び復号化器は、上方水平予測ピクセルラインに含まれている予測ピクセル(例えば、(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0))の各々に対し、[1/4,3/4]の対角2−タップフィルタ1660を適用することができる。このとき、フィルタリング対象ピクセルの位置が(x,0)と仮定すると、符号化器及び復号化器は、フィルタリング対象ピクセル(x,0)及びフィルタリング対象ピクセルの上方に隣接した参照ピクセルの右側に隣接した参照ピクセル(x+1,−1)に基づいて前記フィルタリング対象ピクセルに対するフィルタリングを実行することができる。この場合、フィルタリング対象ピクセルに適用されるフィルタ係数は3/4であり、フィルタリング対象ピクセルの上方に隣接した参照ピクセルの右側に隣接した参照ピクセルに適用されるフィルタ係数は1/4である。
【0187】
図16bの1670は、現在ブロックのイントラ予測モード(特に、方向性予測モード)によって適応的にフィルタタイプ(例えば、フィルタ形状、フィルタ係数、フィルタタップ等)を決定する方法の実施例を示す。
図16bの1670において、1675は予測ブロックを示し、1680はフィルタリング対象ピクセルに適用されるフィルタタップを示す。
【0188】
詳述した1630、1650の実施例と同様に、符号化器及び復号化器は、垂直右側モード及び/又は水平下方モードの各々に対して所定の固定されたフィルタタイプを適用することができる。しかし、符号化器及び復号化器は、詳述したフィルタタイプ外にイントラ予測モードによって多様なフィルタタイプを適用することもできる。このとき、符号化器及び復号化器は、現在ブロックのイントラ予測モードに基づいて適応的にフィルタタイプを決定することができる。
【0189】
一例として、符号化器及び復号化器は、フィルタリング対象ピクセル(x,y)、参照ピクセル(x+2,y−1)、及び参照ピクセル(x+3,y−1)に基づいてフィルタリングを実行する3−タップフィルタ1681を使用することができる。このとき、フィルタリング対象ピクセル(x,y)に適用されるフィルタ係数は12であり、参照ピクセル(x+2,y−1)に適用されるフィルタ係数は3であり、参照ピクセル(x+3,y−1)に適用されるフィルタ係数は1である。他の例として、符号化器及び復号化器は、フィルタリング対象ピクセル(x,y)、参照ピクセル(x+1,y−1)、及び参照ピクセル(x+2,y−1)に基づいてフィルタリングを実行する3−タップフィルタ1683、1685、1687を使用することができる。この場合、フィルタリング対象ピクセル(x,y)に適用されるフィルタ係数は12であり、参照ピクセル(x+1,y−1)に適用されるフィルタ係数は1であり、参照ピクセル(x+2,y−1)に適用されるフィルタ係数は3である(1683)。また、フィルタリング対象ピクセル(x,y)に適用されるフィルタ係数は12であり、参照ピクセル(x+1,y−1)に適用されるフィルタ係数は2であり、参照ピクセル(x+2,y−1)に適用されるフィルタ係数は2である(1685)。また、フィルタリング対象ピクセル(x,y)に適用されるフィルタ係数は8であり、参照ピクセル(x+1,y−1)に適用されるフィルタ係数は6であり、参照ピクセル(x+2,y−1)に適用されるフィルタ係数は2である(1687)。他の例として、符号化器及び復号化器は、フィルタリング対象ピクセル(x,y)、参照ピクセル(x+1,y−1)に基づいてフィルタリングを実行する2−タップフィルタ1689を使用することもできる。このとき、フィルタリング対象ピクセル(x,y)に適用されるフィルタ係数は8であり、参照ピクセル(x+1,y−1)に適用されるフィルタ係数は8である。
【0190】
一方、現在ブロックのイントラ予測モードが詳述した予測モードを除いた残りの予測モード(例えば、モード値が3、4、7、10、11、14、15、18、19、20、21、26、27、28、29である予測モード)のうち一つに該当する場合、符号化器及び復号化器は、上方参照ピクセル及び上方右側参照ピクセルのうち、少なくとも一つの参照ピクセルをイントラ予測に使用することができ、左側参照ピクセル及び下方左側参照ピクセルのうち、少なくとも一つの参照ピクセルをイントラ予測に使用することができる。したがって、この場合、予測ブロック内の左側領域及び上方領域に位置した予測ピクセルの全てが参照ピクセルとの連関性を維持することができるため、符号化器及び復号化器は、予測ブロックに対してフィルタリングを実行しない。
【0191】
また、
図10の実施例で詳述したように、符号化器及び復号化器は、現在ブロックの色成分情報に基づいて予測ブロックに対するフィルタリング実行可否を決定することができるため、符号化器及び復号化器は、現在ブロックがルマブロックに該当する場合にのみ
図16a及び
図16bで詳述したフィルタリング過程を実行することもできる。即ち、前述した実施例に係るフィルタリング過程は、現在ブロックがルマブロックに該当する場合にのみ適用され、現在ブロックがクロマブロックに該当する場合には適用されない。
【0192】
図17は、
図16a及び
図16bの実施例に係るフィルタタイプ決定方法を簡略に示す。
【0193】
図17の1710は、現在ブロックの予測モードがDCモード及び/又はプラナーモードである場合のフィルタタイプの実施例を示す。
図17の1710は、
図16aの1610に示したフィルタタイプと同じフィルタタイプを示す。
【0194】
図16aの1610で詳述したように、現在ブロックの予測モードがDCモード(例えば、モード値が2である予測モード)及び/又はプラナーモード(例えば、モード値が34である予測モード)の場合、符号化器及び復号化器は、予測ブロック内の最も左側上方に位置した左側上方予測ピクセル(例えば、
図17の1710において、cピクセル)に対し、3−タップフィルタを適用することができる。また、符号化器及び復号化器は、左側垂直予測ピクセルラインに含まれている予測ピクセルのうち、左側上方予測ピクセルを除いたピクセル(例えば、
図17の1710において、gピクセル)の各々に対し、水平2−タップフィルタを適用することができる。また、符号化器及び復号化器は、上方水平予測ピクセルラインに含まれている予測ピクセルのうち、左側上方予測ピクセルを除いたピクセル(例えば、
図17の1710において、eピクセル)の各々に対し、垂直2−タップフィルタを適用することができる。一実施例として、これは以下の数式1により示される。
【0195】
(数1)
F_g=(f+3*g+2)>>2
F_e=(d+3*e+2)>>2
F_c=(a+2*c+b+2)>>2
【0196】
ここで、F_xは、x位置の予測ピクセル値に対してフィルタリングを実行することによって生成された、フィルタリングされた予測ピクセル値を示す。
【0197】
図17の1730は、現在ブロックの予測モードが垂直右側モード(例えば、モード値が5、6、12、13、22、23、24、25である予測モード)である場合のフィルタタイプの実施例を示す。
図17の1730は、
図16aの1630に示すフィルタタイプと同じフィルタタイプを示す。
【0198】
図16aの1630で詳述したように、現在ブロックの予測モードが垂直右側モードの場合、符号化器及び復号化器は、左側垂直予測ピクセルラインに含まれている予測ピクセルの各々(例えば、
図17の1730において、iピクセル及びkピクセル)に対し、2−タップフィルタを適用することができる。垂直右側モードで予測方向は対角方向であるため、符号化器及び復号化器は、前記フィルタの形状を対角形状に決定することができる。一実施例として、これは以下の数式2により示される。
【0199】
(数2)
F_i=(h+3*i+2)>>2
F_k=(j+3*k+2)>>2
【0200】
ここで、F_xは、x位置の予測ピクセル値に対してフィルタリングを実行することによって生成された、フィルタリングされた予測ピクセル値を示す。
【0201】
図17の1750は、現在ブロックの予測モードが水平下方モード(例えば、モード値が8、9、16、17、30、31、32、33である予測モード)である場合のフィルタタイプの実施例を示す。
図17の1750は、
図16bの1650に示すフィルタタイプと同じフィルタタイプを示す。
【0202】
図16bの1650で詳述したように、現在ブロックの予測モードが水平下方モードの場合、符号化器及び復号化器は、上方水平予測ピクセルラインに含まれている予測ピクセルの各々(例えば、
図17の1750において、mピクセル及びoピクセル)に対し、2−タップフィルタを適用することができる。水平下方モードで予測方向は対角方向であるため、符号化器及び復号化器は、前記フィルタの対角形状に決定することができる。一実施例として、これは以下の数式3により示される。
【0203】
(数3)
F_m=(l+3*m+2)>>2
F_o=(n+3*o+2)>>2
【0204】
ここで、F_xは、x位置の予測ピクセル値に対してフィルタリングを実行することによって生成された、フィルタリングされた予測ピクセル値を示す。
【0205】
図18は、現在ブロックの予測モードが垂直モード及び/又は水平モードである場合に適用されるフィルタタイプの実施例を概略的に示す。
【0206】
後述される実施例において、第1の参照ピクセル、第2の参照ピクセル、及び第3の参照ピクセルなどの用語は、
図18の1810及び
図18の1820で各々独立的に使われる。例えば、
図18の1810で使われる第1の参照ピクセルは、
図18の1820で使われる第1の参照ピクセルと同じものではなく、第2の参照ピクセル及び第3の参照ピクセルも
図18の1810及び
図18の1820で各々独立的な意味を有することができる。
【0207】
詳述したように、フィルタタイプにより決定されるフィルタは、フィルタ形状、フィルタタップ、フィルタ係数などにより定義されるフィルタでなくてもよい。例えば、符号化器及び復号化器は、参照ピクセルのピクセル値に、所定の過程により決定されるオフセット値を加えることによってフィルタリング過程を実行することもできる。このとき、前記フィルタリング過程は、予測ブロック生成過程と結合されて一つの一つの過程に実行されてもよい。即ち、現在ブロック内の各ピクセルのフィルタリングされた予測ピクセル値は、詳述したフィルタリング過程のみで導出されることができ、このとき、詳述したフィルタリング過程は、予測ピクセル生成過程及び生成された予測ピクセルに対するフィルタリング過程の両方ともを含む一つのプロセスに該当することができる。このような場合のフィルタリング過程は、参照ピクセルを利用した最終予測ピクセル(及び/又はフィルタリングされた予測ピクセル)生成過程と見なすこともできる。したがって、
図18では予測ピクセル生成の観点で実施例を叙述する。
【0208】
図18の1810は、現在ブロックの予測モードが垂直モードである場合の予測ピクセル生成方法の実施例を示す。
【0209】
詳述したように、現在ブロックの予測モードが垂直モードの場合、符号化器及び復号化器は、上方参照ピクセルを利用して現在ブロックに対するイントラ予測を実行することによって予測ブロックを生成することができる。このとき、予測ブロック内の左側領域に位置した予測ピクセルと左側参照ピクセルとの間の連関性が少さいため、予測ブロック内の左側領域に位置した予測ピクセルは、大きい予測誤差を有することができる。したがって、符号化器及び復号化器は、現在ブロック1815内の最も左側に位置した一つの垂直ピクセルライン(以下、左側垂直ピクセルラインという)に含まれているピクセル((0,0)、(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)、(0,7))の各々に対し、下記のように予測ブロックを生成することができる。
【0210】
図18の1810を参照すると、左側垂直ピクセルライン上には(0,0)、(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)、(0,7)位置のピクセルが存在することができる。
図18の1810において、現在予測対象ピクセルは、前記左側垂直ピクセルライン上のピクセルのうち、ピクセル(0,4)と仮定する。
【0211】
現在ブロック1815の予測モードが垂直モードであるため、符号化器及び復号化器は、上方参照ピクセルのうち、予測対象ピクセルと同一垂直ライン上に位置した第1の参照ピクセル(0,−1)(例えば、上方参照ピクセルのうち、最も左側に位置した参照ピクセル)のピクセル値を予測対象ピクセルの位置に入れることができる。即ち、現在ブロック1815の予測モードが垂直モードの場合、前記第1の参照ピクセルのピクセル値が、予測対象ピクセルの予測ピクセル値として決定されることができる。
【0212】
しかし、この場合、生成された予測ピクセル値は、大きい予測誤差を有することができるため、符号化器及び復号化器は、前記第1の参照ピクセル値にオフセット値を加えることによって最終予測ピクセル値を導出することができる。ここで、オフセット値を加える過程は、フィルタリング過程に該当することもでき、予測ピクセル生成過程の一部分に該当することもできる。このとき、前記オフセット値は、予測対象ピクセルの左側に隣接した第2の参照ピクセル(−1,4)及び第1の参照ピクセルの左側に隣接した第3の参照ピクセル(−1,−1)に基づいて導出されることができる。例えば、前記オフセット値は、前記第2の参照ピクセルのピクセル値から前記第3の参照ピクセルのピクセル値を引いた値に該当することができる。即ち、符号化器及び復号化器は、前記第1の参照ピクセル値に、前記第2の参照ピクセル値と前記第3の参照ピクセル値との差値を加えることによって予測対象ピクセルの予測値を導出することができる。詳述した予測ピクセル生成過程は、左側垂直ピクセルライン上のピクセルのうち、ピクセル(0,4)でないピクセルにも同じ又は類似に適用されることができる。
【0213】
詳述した予測ピクセル生成過程は、一例として以下の数式4により示される。
【0214】
(数4)
p′[x,y]=p[x,−1]+((p[−1,y]−p[−1,−1])>>1)),{x=0、y=0,...,nS−1}
【0215】
ここで、p′[x,y]は、(x,y)位置の予測対象ピクセルに対する最終予測ピクセル値を示し、p[x,−1]は、上方参照ピクセルのうち、予測対象ピクセルと同一垂直ライン上に位置した第1の参照ピクセルを示す。また、p[−1,y]は、予測対象ピクセルの左側に隣接した第2の参照ピクセルを示し、p[−1,−1]は、第1の参照ピクセルの左側に隣接した第3の参照ピクセルを示す。また、nSは、現在ブロックの高さ(height)を示す。
【0216】
一方、現在ブロック1815の予測モードが垂直モードの場合、オフセット及び/又はフィルタリングが適用される領域は、前述した実施例に限定されるものではない。例えば、符号化器及び復号化器は、現在ブロック1815内の最も左側に位置した2個の垂直ピクセルラインに対し、詳述した予測ピクセル生成過程を適用することもできる。この場合、予測ピクセル生成過程は、一例として以下の数式5により示される。
【0217】
(数5)
p′[x,y]=p[x,y]+(p[−1,y]−p[−1,−1]+(1<<x))>>(x+1),{x=0,...,1、y=0,...,7}
【0218】
ここで、p′[x,y]は、(x,y)位置の予測対象ピクセルに対する最終予測ピクセル値を示し、p[x,y]は、一般的な垂直予測過程により生成される予測ピクセル値を示す。また、p[−1,y]は、左側参照ピクセルのうち、予測対象ピクセルと同一水平ライン上に位置した参照ピクセルを示し、p[−1,−1]は、上方左側コーナー参照ピクセルを示す。
【0219】
一方、詳述したオフセット値を加える過程は、現在ブロックがルマブロックである場合にのみ適用され、現在ブロックがクロマブロックである場合には適用されなくてもよい。例えば、現在ブロックがクロマブロックである場合、符号化器及び復号化器は、オフセット値の適用なく第1の参照ピクセルを予測対象ピクセルの予測ピクセル値として決定することもできる。
【0220】
図18の1820は、現在ブロックの予測モードが水平モードである場合の予測ピクセル生成方法の実施例を示す。
【0221】
詳述したように、現在ブロックの予測モードが水平モードの場合、符号化器及び復号化器は、左側参照ピクセルを利用して現在ブロックに対するイントラ予測を実行することによって予測ブロックを生成することができる。このとき、予測ブロック内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さいため、予測ブロック内の上方領域に位置した予測ピクセルは、大きい予測誤差を有することができる。
【0222】
したがって、符号化器及び復号化器は、現在ブロック1825内の最も上方に位置した一つの水平ピクセルライン(以下、上方水平ピクセルラインという)に含まれているピクセル((0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0))の各々に対し、下記のように予測ブロック及び/又は予測ピクセルを生成することができる。
【0223】
図18の1820を参照すると、上方水平ピクセルライン上には(0,0)、(1,0)、(2,0)、(3,0)、(4,0)、(5,0)、(6,0)、(7,0)位置のピクセルが存在することができる。
図18の1820において、現在予測対象ピクセルは、前記上方水平ピクセルライン上のピクセルのうち、ピクセル(4,0)と仮定する。
【0224】
現在ブロック1825の予測モードが水平モードであるため、符号化器及び復号化器は、左側参照ピクセルのうち、予測対象ピクセルと同一水平ライン上に位置した第1の参照ピクセル(−1,0)(例えば、左側参照ピクセルのうち、最も上方に位置した参照ピクセル)のピクセル値を予測対象ピクセルの位置に入れることができる。即ち、現在ブロック1825の予測モードが水平モードの場合、前記第1の参照ピクセルのピクセル値が、予測対象ピクセルの予測ピクセル値として決定されることができる。
【0225】
しかし、この場合、生成された予測ピクセル値は、大きい予測誤差を有することができるため、符号化器及び復号化器は、前記第1の参照ピクセル値にオフセット値を加えることによって最終予測ピクセル値を導出することができる。ここで、オフセット値を加える過程は、フィルタリング過程に該当することもでき、予測ピクセル生成過程の一部分に該当することもできる。このとき、前記オフセット値は、予測対象ピクセルの上方に隣接した第2の参照ピクセル(4,−1)及び第1の参照ピクセルの上方に隣接した第3の参照ピクセル(−1,−1)に基づいて導出されることができる。例えば、前記オフセット値は、前記第2の参照ピクセルのピクセル値から前記第3の参照ピクセルのピクセル値を引いた値に該当することができる。即ち、符号化器及び復号化器は、前記第1の参照ピクセル値に、前記第2の参照ピクセル値と前記第3の参照ピクセル値との差値を加えることによって予測対象ピクセルの予測値を導出することができる。詳述した予測ピクセル生成過程は、上方水平ピクセルライン上のピクセルのうち、ピクセル(4,0)でないピクセルにも同じ又は類似に適用されることができる。
【0226】
詳述した予測ピクセル生成過程は、一例として以下の数式6により示される。
【0227】
(数6)
p′[x,y]=p[−1,y]+((p[x,−1]−p[−1,−1])>>1)),{x=0,...,nS−1、y=0}
【0228】
ここで、p′[x,y]は、(x,y)位置の予測対象ピクセルに対する最終予測ピクセル値を示し、p[−1,y]は、左側参照ピクセルのうち、予測対象ピクセルと同一水平ライン上に位置した第1の参照ピクセルを示す。また、p[x,−1]は、予測対象ピクセルの上方に隣接した第2の参照ピクセルを示し、p[−1,−1]は、第1の参照ピクセルの上方に隣接した第3の参照ピクセルを示す。また、nSは、現在ブロックの幅(width)を示す。
【0229】
一方、現在ブロック1825の予測モードが水平モードの場合、オフセット及び/又はフィルタリングが適用される領域は、前述した実施例に限定されるものではない。例えば、符号化器及び復号化器は、現在ブロック1825内の最も上方に位置した2個の水平ピクセルラインに対し、詳述した予測ピクセル生成過程を適用することもできる。この場合、予測ピクセル生成過程は、一例として以下の数式7により示される。
【0230】
(数7)
p′[x,y]=p[x,y]+(p[x,−1]−p[−1,−1]+(1<<y))>>(y+1),{x=0〜7、y=0〜1}
【0231】
ここで、p′[x,y]は、(x、y)位置の予測対象ピクセルに対する最終予測ピクセル値を示し、p[x,y]は、一般的な水平予測過程により生成される予測ピクセル値を示す。また、p[x,−1]は、上方参照ピクセルのうち、予測対象ピクセルと同一垂直ライン上に位置した参照ピクセルを示し、p[−1,−1]は、上方左側コーナー参照ピクセルを示す。
【0232】
一方、
図18の1810と同様に、詳述したオフセット値を加える過程は、現在ブロックがルマブロックである場合にのみ適用され、現在ブロックがクロマブロックである場合には適用されなくてもよい。例えば、現在ブロックがクロマブロックである場合、符号化器及び復号化器は、オフセット値の適用なく第1の参照ピクセルを予測対象ピクセルの予測ピクセル値として決定することもできる。
【0233】
図19は、本発明によるフィルタタイプの他の実施例を概略的に示す。
【0234】
図19の実施例において、符号化器及び復号化器は、左側参照ピクセル及び/又は下方左側参照ピクセルに基づいて現在ブロックに対するイントラ予測を実行するため、予測ブロック1910内の上方領域に位置した予測ピクセルと上方参照ピクセルとの間の連関性が少さくなることができる。したがって、この場合、符号化器及び復号化器は、上方水平予測ピクセルライン(例えば、予測ブロック1910内の最も上方に位置した一つの水平ピクセルライン)に含まれている予測ピクセルに対してフィルタリングを実行することができる。後述される実施例では上方水平予測ピクセルライン上のピクセルに対してフィルタリングが実行される場合の実施例が叙述されるが、
図19によるフィルタリング方法は、左側垂直予測ピクセルライン(例えば、予測ブロック1910内の最も左側に位置した一つの垂直ピクセルライン)上のピクセルに対してフィルタリングが実行される場合にも類似の方法に適用されることができる。
【0235】
図19を参照すると、符号化器及び復号化器は、予測ブロック1910内の予測されたピクセル、即ち、予測ピクセル(B)1920に対するフィルタリングを実行することができる。前記フィルタリング実行過程は、予測ピクセル1920のピクセル値に適正オフセット値を加える過程に該当することができる。
【0236】
前記オフセット値は、参照ピクセルに基づいて導出されることができる。一例として、フィルタリング対象ピクセル1920が予測ブロック1910内の最も上方に位置したピクセルである場合、オフセット値の導出に使われる参照ピクセルは、フィルタリング対象ピクセル1920の上方に隣接した参照ピクセル(A)1930である。他の例として、フィルタリング対象ピクセルが予測ブロック1910内の最も左側に位置したピクセルである場合、オフセット値の導出に使われる参照ピクセルは、フィルタリング対象ピクセルの左側に隣接した参照ピクセルである。以下、参照ピクセル1930に基づいてオフセット値を求める過程の実施例が叙述される。
【0237】
符号化器及び復号化器は、参照ピクセル1930に対してイントラ予測を実行して参照ピクセルの予測値、即ち、予測参照ピクセル値を求めることができる。ここで、前記イントラ予測は、方向性予測である。このとき、符号化器及び復号化器は、現在ブロックの予測モード(及び/又は予測方向)1940と同じイントラ予測モード(及び/又は予測方向)1950に基づいて参照ピクセル1930に対する予測を実行することができる。イントラ予測モードの予測方向及び参照ピクセルに基づいて決定される予測参照ピクセルの位置が整数位置でない場合、符号化器及び復号化器は、整数位置の参照ピクセルに基づいて補間(interpolation)を実行して予測参照ピクセル値を求めることができる。
【0238】
符号化器及び復号化器は、参照ピクセルと予測参照ピクセルとの間のピクセル値差に基づいてオフセット値を導出することができる。例えば、前記オフセット値は、参照ピクセル値と予測参照ピクセル値との差値を4で割った値に該当することができる。オフセット値が導出されると、符号化器及び復号化器は、予測ピクセル1920のピクセル値に前記導出されたオフセット値を加えてフィルタリングされた予測ピクセルのピクセル値を導出することができる。
【0239】
詳述したフィルタリング過程は、一例として以下の数式8により示される。
【0240】
(数8)
Ref1=Aの予測値
Delta=(A−Ref1+2)>>2
B′=B+Delta
【0241】
ここで、Bは予測ピクセル1920のピクセル値を示し、Aは前記予測ピクセルに対する参照ピクセル1930のピクセル値を示し、Ref1はAに対する予測参照ピクセルのピクセル値を示す。また、B′はフィルタリングされた予測ピクセルのピクセル値を示す。
【0242】
前述した実施例ではフィルタリング実行可否決定過程、フィルタリング実行領域決定過程、及びフィルタタイプ決定過程などが各々独立的に叙述されているが、符号化器及び復号化器は、前記過程を結合して一つのプロセスで処理することもできる。このとき、符号化器及び復号化器は、前記フィルタリング実行可否決定過程、フィルタリング実行領域決定過程、及びフィルタタイプ決定過程のうち二つ以上を一つのテーブルに基づいて決定することができる。
【0243】
一実施例として、イントラ予測モードによるフィルタリング実行可否、フィルタリング実行領域、及びフィルタタイプは、一つのテーブルにより示される。このとき、符号化器及び復号化器には前記テーブルが同じに格納されており、符号化器及び復号化器は、イントラ予測モード及び格納されたテーブルに基づいてフィルタリング実行可否、フィルタリング実行領域、及びフィルタタイプを決定することができる。以下の表7は、イントラ予測モードによるフィルタリング実行可否、フィルタリング実行領域、及びフィルタタイプを示すテーブルの一実施例を示す。
【0245】
表7において、フィルタタイプに割り当てられた値が0の場合、前記フィルタタイプは、予測ブロックに対してフィルタリングが実行されないことを示すことができる。また、フィルタタイプに割り当てられた値が1、2又は3の場合、前記フィルタタイプは、予測ブロックに対してフィルタリングが実行されることを示すことができる。
【0246】
また、表7において、フィルタタイプに割り当てられた値が1の場合、前記フィルタタイプは、
図16aの1610で詳述した、DCモード及び/又はプラナーモードでのフィルタリング実行領域及びフィルタタイプが適用されることを示すことができる。そして、フィルタタイプに割り当てられた値が2の場合、前記フィルタタイプは、
図16aの1630で詳述した、垂直右側モードでのフィルタリング実行領域及びフィルタタイプが適用されることを示すことができる。また、フィルタタイプに割り当てられた値が3の場合、前記フィルタタイプは、
図16bの1650で詳述した、水平下方モードでのフィルタリング実行領域及びフィルタタイプが適用されることを示すことができる。
【0247】
他の実施例として、詳述した表7に示すテーブルは、ブロック大きさによるフィルタ適用可否に対する情報を追加に含むことができる。即ち、イントラ予測モードによるフィルタ適用可否、フィルタ適用領域、及びフィルタタイプに対する情報を含むテーブルは、ブロック大きさによるフィルタ適用可否に対する情報を共に含むことができる。このとき、符号化器及び復号化器には前記テーブルが同じに格納されており、符号化器及び復号化器は、イントラ予測モード、現在ブロック(及び/又は予測ブロック)の大きさ、及び格納されたテーブルに基づいてフィルタリング実行可否、フィルタリング実行領域、及びフィルタタイプを決定することができる。
【0248】
現在ブロック及び/又は予測ブロックの大きさがあまりにも小さい又は大きい場合、前記予測ブロックに対してはフィルタリングを実行しないことが好ましい。例えば、現在ブロック及び/又は予測ブロックが32×32大きさのブロックのように大きいブロックに該当する場合、前記現在ブロック周辺及び/又は前記現在ブロック内部のピクセル間の連関性が大きく、このような場合には予測ブロックに対してフィルタリングを実行することが特に意味がない。したがって、符号化器及び復号化器は、現在ブロック及び/又は予測ブロックの大きさによって適応的にフィルタリング実行可否を決定することによって、フィルタリング効率を向上させることができる。以下の表8は、詳述したように、イントラ予測モードだけでなく、ブロック大きさを共に考慮して構成されたテーブルの一実施例を示す。
【0250】
表8において、フィルタタイプに割り当てられた0、1、2及び3の値は、表7と同じ意味を有することができる。表8を参照すると、符号化器及び復号化器は、現在ブロック及び/又は予測ブロックの大きさに基づいてフィルタリング実行可否を決定することができ、イントラ予測モードに基づいてフィルタリング実行可否、フィルタリング実行領域、及びフィルタタイプなどを決定することができる。
【0251】
他の実施例として、イントラ予測モードによるフィルタリング実行可否、フィルタリング実行領域、及びフィルタタイプは、以下の表9のように示される。
【0253】
図20は、表9に適用されるイントラ予測モード及びフィルタタイプを説明するための図面である。
図20の2010は、イントラ予測モードの予測方向及び各予測方向に割り当てられたモード値の実施例を示す。前述した実施例は、主に
図4aの410に示すイントラ予測モード(予測方向、モード値)に基づいて叙述されたが、表9の実施例に限って
図20の2010に示すイントラ予測モード(予測方向、モード値)が使われると仮定する。しかし、表9の実施例は、
図20の2010に限定されて適用されるものではない。
【0254】
表9を参照すると、フィルタリング実行領域に割り当てられた値が0の場合及び/又はフィルタタイプに割り当てられた値が0の場合、符号化器及び復号化器は、予測ブロックに対してフィルタリングを実行しない。反面、フィルタリング実行領域に割り当てられた値が0でなく、且つフィルタタイプに割り当てられた値が0でない場合、符号化器及び復号化器は、予測ブロックに対してフィルタリングを実行することができる。
【0255】
一方、フィルタ適用領域に割り当てられたTxは、予測ブロック内の最も上方に位置したx個の水平ピクセルライン、即ち、上方水平予測ピクセルラインを示し、Lxは、予測ブロック内の最も左側に位置したx個の垂直ピクセルライン、即ち、左側垂直予測ピクセルラインを示すことができる。また、フィルタ適用領域に割り当てられたTxLxは、前記上方水平予測ピクセルライン及び前記左側垂直予測ピクセルラインの両方ともを含む領域を示すことができる。表9の実施例ではxの値が1、2又は4になることができる。しかし、他の実施例として、xは所定の固定された値であってもよく、一例として、xは常に1であってもよい。このとき、前記上方水平予測ピクセルラインは、1個の水平ピクセルラインのみを含み、前記左側垂直予測ピクセルラインも1個の垂直ピクセルラインのみを含むことができる。
【0256】
表9の0でないフィルタタイプにはa、b、c、d、eがある。表9において、フィルタタイプに割り当てられた値がaの場合、符号化器及び復号化器は、
図16aの1610で詳述したフィルタリング実行領域及びフィルタタイプに基づいてフィルタリングを実行することができる。このとき、符号化器及び復号化器は、上方水平予測ピクセルライン(1個のピクセルライン)及び左側垂直予測ピクセルライン(1個のピクセルライン)に含まれる予測ピクセルに対し、
図16aの1610で詳述したフィルタ係数に基づいてフィルタリングを実行することができる。表9において、フィルタタイプに割り当てられた値がbの場合、符号化器及び復号化器は、
図18で詳述したフィルタリング実行領域及びフィルタタイプに基づいてフィルタリングを実行することができる。現在ブロックの予測モードが垂直モード(例えば、モード値が1である予測モード)の場合、符号化器及び復号化器は、
図18の1810のように左側垂直予測ピクセルライン(例えば、2個のピクセルライン)に含まれる予測ピクセルに対してフィルタリングを実行することができる。また、現在ブロックの予測モードが水平モード(例えば、モード値が2である予測モード)の場合、符号化器及び復号化器は、
図18の1820のように上方水平予測ピクセルライン(例えば、2個のピクセルライン)に含まれる予測ピクセルに対してフィルタリングを実行することができる。
【0257】
一方、表9において、フィルタタイプに割り当てられた値がcであり、且つフィルタ適用領域にTxが割り当てられた場合、符号化器及び復号化器は、
図16bの1650で詳述したフィルタリング実行領域及びフィルタタイプに基づいてフィルタリングを実行することができる。このとき、符号化器及び復号化器は、上方水平予測ピクセルラインに含まれる予測ピクセルに対して[1,3]の対角フィルタを適用することができる。また、表9において、フィルタタイプに割り当てられた値がbであり、且つフィルタ適用領域にLxが割り当てられた場合、符号化器及び復号化器は、
図16aの1630で詳述したフィルタリング実行領域及びフィルタタイプに基づいてフィルタリングを実行することができる。このとき、符号化器及び復号化器は、左側垂直予測ピクセルラインに含まれる予測ピクセルに対して[1,3]の対角フィルタを適用することができる。
【0258】
表9において、現在ブロックのイントラ予測モードが7又は10の場合、フィルタタイプに割り当てられた値はdである。
図20の2020を参照すると、ブロック2023は予測ブロックを示し、現在ブロックのイントラ予測モードが10の場合の予測方向は2025のように示される。このとき、フィルタリングされた予測ピクセル値は、以下の数式9により示される。
【0259】
(数9)
p′[x,y]=((16−k)*p[x,y]+k*p[x,−1]+8)>>4、k=1<<(3−y)、{x=0,...,7、y=0,...,3}
【0260】
ここで、p′[x,y]は、フィルタリングされた予測ピクセル値を示し、p[x,y]は、(x,y)位置のフィルタリング前の予測ピクセル値を示すことができる。また、p[x,−1]は、上方参照ピクセルのうち、予測ピクセルと同一垂直線上に位置する参照ピクセルを示すことができる。数式9を参照すると、現在ブロックのイントラ予測モードが10の場合、符号化器及び復号化器は、予測ブロック2023内の最も上方に位置した4個の水平ピクセルラインに対してフィルタリングを実行することができる。現在ブロックのイントラ予測モードが7の場合にも、符号化器及び復号化器は、予測ブロック2023内の最も左側に位置した4個の垂直ピクセルラインに対し、数式9と類似の方法にフィルタリングを実行することができる。
【0261】
また、
図2の2020を参照すると、現在ブロックのイントラ予測モードが24の場合予測方向は2027のように示される。表9において、現在ブロックのイントラ予測モードが24の場合、フィルタタイプに割り当てられた値はeである。現在ブロックのイントラ予測モードが24の場合、フィルタリングされた予測ピクセル値は、以下の数式10により示される。
【0262】
(数10)
p′[x,y]=p[x,y]+(p[−1,y]−Rp[−1,y]+2)>>2、{x=0、y=0,...,7}
【0263】
ここで、p′[x,y]は、フィルタリングされた予測ピクセル値を示し、p[x,y]は、(x,y)位置のフィルタリング前の予測ピクセル値を示すことができる。また、p[−1,y]は、左側参照ピクセルのうち、予測ピクセルと同一水平線上に位置する参照ピクセルを示すことができる。Rp[−1,y]は、p[−1,y]の参照ピクセルに対する予測値、即ち、予測参照ピクセル値を示すことができる。符号化器及び復号化器は、前記予測参照ピクセル値を導出するために、p[−1,y]の参照ピクセルに対して現在ブロックの予測モードと同じイントラ予測モードに基づいて予測を実行することができる。
【0264】
表9において、現在ブロックのイントラ予測モードが13、17、23、31、32の場合にもフィルタタイプに割り当てられた値はeである。したがって、この場合にも符号化器及び復号化器は、数式10と類似の方法にフィルタリングを実行することができる。
【0265】
表9において、各フィルタタイプに割り当てられた値によって適用されるフィルタは、前述した実施例に限定されるものではない。即ち、各フィルタタイプに割り当てられた値によって適用されるフィルタは具現及び/又は必要によって変わることができ、フィルタ適用可否も前述した実施例と異なるように設定されることもできる。
【0266】
以下、本発明による予測ピクセルに対するフィルタリング実行過程の一実施例が具体的に叙述される。後述される実施例において、入力はIntraPredMode、nS、p[x,y](x,y=−1,...,nS)及びpredSamples[x,y](x,y=0,...,nS−1)であり、出力はpredSamplesF[x,y](x,y=0,...,nS−1)である。ここで、IntraPredModeは、現在ブロックのイントラ予測モードを示し、nSは、予測ブロックの横の大きさ及び縦の大きさを示し、p[x,y](x,y=−1,...,nS)は、現在ブロック周辺に位置した参照ピクセルのピクセル値を示す。また、predSamples[x,y](x,y=0,...,nS−1)は、予測ピクセル値を示し、predSamplesF[x,y](x,y=0,...,nS−1)は、フィルタリングされた予測ピクセル値を示す。
【0267】
このとき、イントラ予測モードによるフィルタリング実行可否、フィルタリング実行領域、及びフィルタタイプは、以下の表10により決定されることができる。
【0269】
表10において、intraPostFilterTypeは、予測ブロックに対して適用されるフィルタタイプ情報を示す。このとき、前記フィルタタイプ情報は、フィルタリング実行可否、フィルタリング実行領域及びフィルタタイプに対する情報の両方ともを含むこともできる。また、intraPostFilterTypeは、intraPostFilterType[IntraPredMode]に示されることもあり、これはintraPostFilterTypeに割り当てられた値がIntraPredModeにより決定されることを意味することができる。
【0270】
nSが32より小さい場合、符号化器及び復号化器は、intraPostFilterType[IntraPredMode]に割り当てられた値によって、下記の過程によりpredSamplesF[x,y](x,y=0,...,nS−1)を誘導することができる。
【0271】
もし、intraPostFilterType[IntraPredMode]に割り当てられた値が1の場合、符号化器及び復号化器は、以下の数式11によりpredSamplesF[x,y]値を導出することができる。
【0272】
(数11)
predSamplesF[0,0]=(p[−1,0]+2*predSamples[0,0]+p[0,−1]+2)>>2
predSamplesF[x,0]=(p[x,−1]+3*predSamples[x,0]+2)>>2(x=1,...,nS−1)
predSamplesF[0,y]=(p[−1,y]+3*predSamples[0,y]+2)>>2(y=1,...,nS−1)
predSamplesF[x,y]=predSamples[x,y](x,y=1,...,nS−1)
【0273】
intraPostFilterType[IntraPredMode]に割り当てられた値が2の場合、符号化器及び復号化器は、以下の数式12によりpredSamplesF[x、y]値を導出することができる。
【0274】
(数12)
predSamplesF[0,y]=(p[−1,y+1]+3*predSamples[0、y]+2)>>2(y=0,...,nS−1)
predSamplesF[x,y]=predSamples[x,y](x=1,...,nS−1、y=0,...,nS−1)
【0275】
intraPostFilterType[IntraPredMode]に割り当てられた値が3の場合、符号化器及び復号化器は、以下の数式13によりpredSamplesF[x,y]値を導出することができる。
【0276】
(数13)
predSamplesF[x,0]=(p[x+1,−1]+3*predSamples[x,0]+2)>>2(x=0,...,nS−1)
predSamplesF[x,y]=predSamples[x,y](x=0,...,nS−1、y=1,...,nS−1)
【0277】
intraPostFilterType[IntraPredMode]に割り当てられた値が0の場合、符号化器及び復号化器は、以下の数式14によりpredSamplesF[x,y]値を導出することができる。
【0278】
(数14)
predSamplesF[x,y]=predSamples[x,y](x,y=0,...,nS−1)
【0279】
一方、詳述した全ての方法(例えば、フィルタリング実行方法)に対し、符号化器及び復号化器は、現在ブロック(及び/又は予測ブロック)の大きさ及び/又は深さによって適用範囲を異なるように設定することができる。例えば、本発明の適用範囲は、PUの大きさ及び/又はTUの大きさによって異なるように設定されてもよく、CUの深さ値によって異なるように設定されてもよい。
【0280】
このとき、符号化器及び復号化器は、本発明の適用範囲を決定するために、ブロックの大きさ及び/又はブロックの深さ値を変数として利用することができる。ここで、前記ブロックは、CU、PU及び/又はTUに該当することができる。一例として、ブロックの大きさ値が変数として使われる場合、符号化器及び復号化器は、前記変数以上の大きさを有するブロックにのみ本発明を適用することもでき、他の例として、前記変数以下の大きさを有するブロックにのみ本発明は適用することもできる。また、符号化器及び復号化器は、前記変数値に該当する大きさを有するブロックにのみ本発明を適用することもできる。
【0281】
以下の表11は、本発明の適用範囲を決定するための変数として使われるブロックの大きさ値が16×16の場合、本発明の適用範囲の実施例を示す。表11において、Oは、該当ブロック大きさに対して本発明が適用されることを示し、Xは、該当ブロック大きさに対して本発明が適用されないことを示すことができる。
【0283】
表11を参照すると、方法Aの場合、符号化器及び復号化器は、変数として使われるブロック大きさ(16×16)以上の大きさを有するブロックにのみ本発明を適用することができる。方法Bの場合、符号化器及び復号化器は、変数として使われるブロック大きさ(16×16)以下の大きさを有するブロックにのみ本発明を適用することができる。また、方法Cの場合、符号化器及び復号化器は、変数として使われるブロック大きさ(16×16)と同じ大きさを有するブロックにのみ本発明を適用することができる。
【0284】
一方、一実施例として、本発明の適用範囲を決定するための変数値(ブロックの大きさ値及び/又はブロックの深さ値)は、所定の固定された値であってもよい。このとき、前記変数値は、符号化器及び復号化器に予め格納されており、符号化器及び復号化器は、格納された変数値に基づいて本発明の適用範囲を決定することができる。
【0285】
他の実施例として、本発明の適用範囲を決定するための変数値は、プロファイル(profile)又はレベル(level)によって変わることもできる。プロファイルに基づいて前記変数値が決定される場合、各プロファイルに該当する変数値は、所定の固定された値であってもよく、レベルに基づいて前記変数値が決定される場合、各レベルに該当する変数値は、所定の固定された値であってもよい。
【0286】
他の実施例として、本発明の適用範囲を決定するための変数値(ブロックの大きさ値及び/又はブロックの深さ値)は、符号化器により決定されることができる。このとき、符号化器は、前記変数値に対する情報を符号化してビットストリームを介して復号化器に送信することができる。ビットストリームを介して送信される変数値情報は、シーケンスパラメータセット(Sequence Parameter Set:SPS)、ピクチャパラメータセット(Picture Parameter Set:PSP)、及びスライスヘッダ(slice header)などに含まれることができる。復号化器は、受信したビットストリームから前記変数値を導出することができ、導出された変数値に基づいて本発明の適用範囲を決定することができる。
【0287】
このとき、変数値情報を示すために使われる指示子には多様な類型がある。一実施例として、表11で方法Aが使われて本発明の適用範囲を決定するための変数値がブロックの大きさ値に該当する場合、変数値情報を示すために使われる指示子は、log2_intra_prediction_filtering_enable_max_size_minus2である。例えば、前記変数値が32×32の場合、前記指示子に割り当てられる値は3であり、前記変数値が4×4の場合、前記指示子に割り当てられる値は0である。他の実施例として、表11で方法Aが使われて本発明の適用範囲を決定するための変数値がCUの深さ値に該当する場合、変数値情報を示すために使われる指示子は、intra_prediction_filtering_enable_max_cu_depthである。例えば、この場合、前記指示子に割り当てられた値が0の場合には64×64以上の大きさを有するブロックに本発明が適用されることができ、前記指示子に割り当てられた値が1の場合には32×32以上の大きさを有するブロックに本発明が適用されることができ、前記指示子に割り当てられた値が4の場合には4×4以上の大きさを有するブロックに本発明が適用されることができる。
【0288】
一方、符号化器は、全てのブロック大きさに対して本発明を適用しないと決定することもできる。このとき、符号化器は、決定された情報を復号化器に送信するために、所定の指示子を利用することができる。一実施例として、符号化器は、intra_prediction_filtering_enable_flagのような指示子をSPS、PPS及び/又はスライスヘッダなどに含ませて復号化器に送信することができる。ここで、intra_prediction_filtering_enable_flagは、シーケンス、ピクチャ及び/又はスライス内の全てのブロックに対して本発明が適用されるかどうかを指示する指示子に該当することができる。他の実施例として、符号化器は、詳述した変数値情報を示す指示子(例えば、intra_prediction_filtering_enable_max_cu_depth)を利用し、全てのブロック大きさに対して本発明を適用しないという情報を復号化器に送信することもできる。このとき、一例として、符号化器は、前記指示子に有効でない(及び/又は許容されない)ブロック大きさ(例えば、2×2大きさ)を示す値(例えば、5)を割り当てることによって、全てのブロック大きさに対して本発明が適用されないことを示すことができる。
【0289】
前述した実施例によると、本発明は、イントラ予測時に発生する予測誤差を減少させてブロック間の不連続性を最小化して予測効率及び符号化効率を向上させることができる。
【0290】
前述した実施例において、方法は、一連のステップ又はブロックで順序図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは前述と異なるステップと異なる順序に又は同時に発生することができる。また、当該技術分野において、通常の知識を有する者であれば、順序図に示すステップが排他的でなく、他のステップが含まれ、又は順序図の一つ又はそれ以上のステップが本発明の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0291】
前述した実施例は、多様な様態の例示を含む。多様な様態を示すための全ての可能な組合せを記述することができないが、該当技術分野の通常の知識を有する者は、他の組合せが可能であることを認識することができる。したがって、本発明は、特許請求の範囲内に属する全ての交替、修正及び変更を含む。