(57)【要約】      （修正有）【課題】適応的フィルタを用いたイントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）実行方法及び装置を提供する。【解決手段】現在ブロック（ｃｕｒｒｅｎｔ  ｂｌｏｃｋ）の周辺ブロックの情報を基盤として参照画素値に対する第１のフィルタの適用可否を決定するＳ２０１。第１のフィルタを適用することと決定された場合、参照画素値に対して第１のフィルタを適用するＳ２０２。参照画素値を基盤として現在ブロックに対するイントラ予測を実行するＳ２０３。周辺ブロックの情報を基盤としてイントラ予測実行により予測された現在ブロックの各予測モード（ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）別の予測値に対する第２のフィルタの適用可否を決定するＳ２０４。第２のフィルタを適用することと決定された場合、現在ブロックの各予測モード別の予測値に対して第２のフィルタを適用するＳ２０５。【選択図】図６
2018137780.tif 000002
【特許請求の範囲】
【請求項１】
現在ブロック（ｃｕｒｒｅｎｔ  ｂｌｏｃｋ）の参照画素値に対する第１フィルタの適用可否を決定するステップと、
前記第１フィルタの適用可否によって誘導された前記参照画素値を用いてイントラ予測を行い、前記現在ブロックに対する予測値を導出するステップとを含み、
前記現在ブロックに対する予測値を導出するステップでは、
第２フィルタの適用条件を満足するか否かに基づき、第２フィルタを適用して前記現在ブロックに対する予測値を導出し、
前記第２フィルタが適用される時、前記参照画素値との境界に隣接した前記現在ブロックの予測画素に対して前記第２フィルタを適用して前記現在ブロックに対する予測値を導出するが、前記第２フィルタが適用される画素の位置によって３−ｔａｐフィルタおよび２−ｔａｐフィルタのいずれか１つが選択的に適用され、
前記参照画素値との境界に隣接した前記現在ブロックの予測画素は、前記現在ブロックの最上端の最左側画素、前記現在ブロックの最上端の最右側画素、および前記現在ブロックの最下端の最左側画素を含み、
前記現在ブロックの最上端の最左側画素には前記３−ｔａｐフィルタが適用され、前記現在ブロックの最下端の最左側画素および前記現在ブロックの最上端の最右側画素には前記２−ｔａｐフィルタが適用され、
前記現在ブロックの最下端の最左側画素に相応する前記２−ｔａｐフィルタの２つのフィルタ係数は、前記現在ブロックの最上端の最右側画素に相応する前記２−ｔａｐフィルタの２つのフィルタ係数と等しいことを特徴とする映像復号化方法。
【請求項２】
前記第２フィルタの適用条件を満足するか否かは、前記現在ブロックのイントラ予測モードを考慮して決定され、前記イントラ予測モードは、周辺ブロックのＭＰＭ（Ｍｏｓｔ  Ｐｒｏｂａｂｌｅ  Ｍｏｄｅ）情報に基づいて決定されることを特徴とする請求項１に記載の映像復号化方法。
【請求項３】
現在ブロック（ｃｕｒｒｅｎｔ  ｂｌｏｃｋ）の参照画素値に対する第１フィルタの適用可否を決定するステップと、
前記第１フィルタの適用可否によって誘導された前記参照画素値を用いて前記現在ブロックに対する予測値を導出するステップとを含み、
前記現在ブロックに対する予測値を導出するステップでは、
第２フィルタの適用条件を満足するか否かに基づき、第２フィルタを適用して前記現在ブロックに対する予測値を導出し、
前記第２フィルタが適用される時、前記参照画素値との境界に隣接した前記現在ブロックの予測画素に対して前記第２フィルタを適用して前記現在ブロックに対する予測値を導出するが、前記第２フィルタが適用される画素の位置によって３−ｔａｐフィルタおよび２−ｔａｐフィルタのいずれか１つが選択的に適用され、
前記参照画素値との境界に隣接した前記現在ブロックの予測画素は、前記現在ブロックの最上端の最左側画素、前記現在ブロックの最上端の最右側画素、および前記現在ブロックの最下端の最左側画素を含み、
前記現在ブロックの最上端の最左側画素には前記３−ｔａｐフィルタが適用され、前記現在ブロックの最下端の最左側画素および前記現在ブロックの最上端の最右側画素には前記２−ｔａｐフィルタが適用され、
前記現在ブロックの最下端の最左側画素に相応する前記２−ｔａｐフィルタの２つのフィルタ係数は、前記現在ブロックの最上端の最右側画素に相応する前記２−ｔａｐフィルタの２つのフィルタ係数と等しいことを特徴とする映像符号化方法。
【請求項４】
請求項３に記載の方法によって生成されたビット列を記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像コーディング（ｖｉｄｅｏ  ｃｏｄｉｎｇ）に関し、より詳細には、予測しようとするブロック（ｂｌｏｃｋ）の周辺画素値または現在ブロックの予測された画素値に適応的フィルタを適用してイントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）を実行する方法及び装置に関する。
【背景技術】
【０００２】
近年、デジタルＴＶ等の到来により、放送テレビジョン及びホームエンタテインメント（ｈｏｍｅ  ｅｎｔｅｒｔａｉｎｍｅｎｔ）分野の技術が急激に発振している。このような分野の技術は、ビデオ圧縮（ｖｉｄｅｏ  ｃｏｍｐｒｅｓｓｉｏｎ）技術の標準化（ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）によって商用化されている。ビデオ圧縮のために、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｕｎｉｏｎ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ）Ｈ．２６３標準が広範に使用されており、ＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）の次の標準であるＭＰＥＧ−４がインターネット基盤（ｉｎｔｅｒｎｅｔ−ｂａｓｅｄ）ビデオアプリケーションのために使用されている。
【０００３】
Ｈ．２６３標準の完成後、ＩＴＵ−Ｔ  ＶＣＥＧ（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）は、Ｈ．２６３標準に付加的な特徴を追加するための短期的目標と、低いビット率（ｂｉｔｒａｔｅ）の視覚通信（ｖｉｓｕａｌ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）のための新たな標準を開発するための長期的目標とを競走してきた。２００１年、ＭＰＥＧとＶＣＥＧの専門家達でなされたＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）が構成され、ＪＶＴによりビデオ映像のコーディングのための新たな標準であるＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４  ｐａｒｔ  １０の標準化作業が進まれてきた。Ｈ．２６４標準は、ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）として呼ばれることもできる。Ｈ．２６４／ＡＶＣの技術的目標は、コーディング効率（ｃｏｄｉｎｇ  ｅｆｆｉｃｉｅｎｃｙ）の顕著な向上、損失及びエラーに強固（ｒｏｂｕｓｔ）なコーディング技術、ネットワーク親和的（ｎｅｔｗｏｒｋ  ｆｒｉｅｎｄｌｉｎｅｓｓ）なコーディング技術、低い遅延容量（ｌａｔｅｎｃｙ  ｃａｐａｂｉｌｉｔｙ）、及び正確なマッチデコード（ｍａｔｃｈ  ｄｅｃｏｄｉｎｇ）などである。
【０００４】
映像内で周辺画素などは、ほとんど類似した値を有し、これは、Ｈ．２６４／ＡＶＣ標準の最小ブロック（ｂｌｏｃｋ）サイズである４×４ブロックまたは１６×１６ブロックに対しても同様である。このように、ブロック間の値などの類似性を用いて映像に対する予測を実行し、原本映像との差異をエンコードすることができる。これをイントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）といい、イントラ予測によって映像コーディングの効率を高めることができる。
【０００５】
また、イントラ予測を実行するにあたって、イントラ予測実行前にフィルタが適用され得る。通常、Ｈ．２６４／ＡＶＣ標準でイントラ予測を実行するとき、参照画素値などにフィルタを適用した後、フィルタが適用された値などをイントラ予測に使用する。しかし、場合によって、フィルタを適用した後、イントラ予測を実行することより、フィルタを適用せずに、イントラ予測を実行するときに映像コーディングの性能がより高いことができる。
【０００６】
これにより、イントラ予測の実行時、フィルタの適用可否を決定する方法が提案され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の技術的課題は、映像エンコードで予測しようとするブロック（ｂｌｏｃｋ）の周辺画素値または現在ブロックの予測された画素値に適応的フィルタを適用して、イントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）を実行する方法及び装置を提供することにある。より詳細には、イントラ予測を実行するための現在ブロックの参照画素値などに適応的なフィルタ（ｐｒｅ−ｆｉｌｔｅｒ）を適用した後、予測を実行し、かつ、予測された現在ブロックの画素値などにも適応的なフィルタ（ｐｏｓｔ−ｆｉｌｔｅｒ）を適用して残差信号（ｒｅｓｉｄｕａｌ  ｓｉｇｎａｌ）を計算する。
【課題を解決するための手段】
【０００８】
一態様において、イントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）実行方法が提供される。前記イントラ予測実行方法は、現在ブロック（ｃｕｒｒｅｎｔ  ｂｌｏｃｋ）の周辺ブロックの情報を基盤として参照画素値に対する第１のフィルタの適用可否を決定するステップと、前記第１のフィルタを適用することと決定された場合、前記参照画素値に対して前記第１のフィルタを適用するステップと、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行するステップと、前記周辺ブロックの情報を基盤として前記イントラ予測実行により予測された前記現在ブロックの各予測モード（ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）別の予測値に対する第２のフィルタの適用可否を決定するステップと、前記第２のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第２のフィルタを適用するステップとを含む。
【０００９】
前記第１のフィルタの適用可否は、前記周辺ブロックの情報を基盤として決定された前記現在ブロックの予測モードを基盤として決定されることができる。
【００１０】
前記第１のフィルタの適用可否は、前記現在ブロックのサイズを基盤として決定されることができる。
【００１１】
前記第１のフィルタの適用可否は、前記現在ブロックの予測モード及び前記現在ブロックのサイズを基盤として予め指定されることができる。
【００１２】
前記第１のフィルタの適用可否は、前記周辺ブロックが画面内（ｉｎｔｒａ−ｆｒａｍｅ）符号化されたか、または画面間（ｉｎｔｅｒ−ｆｒａｍｅ）符号化されたかの可否を基盤として決定されることができる。
【００１３】
前記第１のフィルタは、３−ｔａｐフィルタまたは２−ｔａｐフィルタのうち、少なくともいずれか１つを使用することができる。
【００１４】
前記第２のフィルタの適用可否は、前記周辺ブロックの情報を基盤として決定された前記現在ブロックの予測モードを基盤として決定されることができる。
【００１５】
前記第２のフィルタの適用可否は、前記周辺ブロックが画面内符号化されたか、または画面間符号化されたかの可否を基盤として決定されることができる。
【００１６】
前記第２のフィルタは、前記参照画素値の境界に隣接した画素の予測値に対して適用されることができる。
【００１７】
前記第２のフィルタは、３−ｔａｐフィルタまたは２−ｔａｐフィルタのうち、少なくともいずれか１つを使用することができる。
【００１８】
他の態様において、エンコーダ（ｅｎｃｏｄｅｒ）が提供される。前記エンコーダは、プロセッサ（ｐｒｏｃｅｓｓｏｒ）と、前記プロセッサと連結され、前記プロセッサを駆動するための情報を記憶するメモリ（ｍｅｍｏｒｙ）とを備え、前記プロセッサは、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第１のフィルタの適用可否を決定し、前記第１のフィルタを適用することと決定された場合、前記参照画素値に対して前記第１のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測実行により予測された前記現在ブロックの各予測モード別の予測値に対する第２のフィルタの適用可否を決定し、前記第２のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第２のフィルタを適用するように構成される。
【００１９】
さらに他の態様において、デコーダ（ｄｅｃｏｄｅｒ）が提供される。前記デコーダは、プロセッサと、前記プロセッサと連結され、前記プロセッサを駆動するための情報を記憶するメモリとを備え、前記プロセッサは、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第１のフィルタの適用可否を決定し、前記第１のフィルタを適用することと決定された場合、前記参照画素値に対して前記第１のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測により予測された前記現在ブロックの各予測モード別の予測値に対する第２のフィルタの適用可否を決定し、前記第２のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第２のフィルタを適用するように構成される。
【発明の効果】
【００２０】
符号化しようとする輝度または色差信号ブロックを効果的に予測して符号化性能を向上させる。
【図面の簡単な説明】
【００２１】
【図１】Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）標準のエンコーダのブロック図である。
【図２】Ｈ．２６４／ＡＶＣ標準のデコーダのブロック図である。
【図３】４×４ルマ予測モードで予測サンプル（ｐｒｅｄｉｃｔｉｏｎ  ｓａｍｐｌｅ）をラベリング（ｌａｂｅｌｉｎｇ）した例を示す図である。
【図４】４×４ルマ予測モード内の９つの予測モードを示す図である。
【図５】イントラ予測実行前にフィルタを適用する方法の一例を示す図である。
【図６】提案された適応的フィルタを用いたイントラ予測実行方法の一実施形態を示す図である。
【図７】提案された適応的フィルタを用いたイントラ予測実行方法に応じて予測値にフィルタが適用される場合を示す図である。
【図８】本発明の実施形態が実現されるエンコーダ及びデコーダのブロック図である。
【発明を実施するための形態】
【００２２】
下記では、添付した図面を参考して本発明の実施形態について本発明の属する技術分野における通常の知識を有した者が容易に実施できるように詳細に説明する。しかし、本発明は、種々の相違した形態で実現されることができ、ここで説明する実施形態に限定されない。そして、図面において、本発明を明確に説明するために、説明と関係ない部分を省略し、明細書の全体を通じて類似した部分に対しては、類似した図面符号を付した。また、詳細な説明を省略しても本技術分野の当業者が容易く理解できる部分の説明を省略した。
【００２３】
明細書及び請求の範囲の全体において、ある部分がある構成要素を「含む」というとき、これは、特に反対される記載がない限り、他の構成要素を除外することではなく、他の構成要素をさらに含むことができるということを意味する。
【００２４】
図１は、Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）標準のエンコーダのブロック図である。
【００２５】
図１に示すように、エンコーダは、２つの経路のデータフローを含む。１つは、前進経路（ｆｏｒｗａｒｄ  ｐａｔｈ）であり、残りの１つは、再構成経路（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｐａｔｈ）である。
【００２６】
まず、前進経路を説明する。入力フレームＦｎに対してマクロブロック（ｍａｃｒｏ  ｂｌｏｃｋ）単位でエンコード処理が実行される。マクロブロックは、原本イメージで１６×１６ピクセルのサイズを有する。各入力フレームに対してイントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）またはインター予測（ｉｎｔｅｒ−ｐｒｅｄｉｃｔｉｏｎ）が実行される。イントラ予測は、フレーム内でブロック間値などの類似性を用いて予測を実行し、原本映像との差異をエンコードし、インター予測は、フレーム間ブロック間値などの類似性を用いて予測を実行し、原本映像との差異をエンコードする。イントラ予測またはインター予測時に、予測マクロブロック（ｐｒｅｄｉｃｔｉｏｎ  ｍａｃｒｏ  ｂｌｏｃｋ）であるＰが再構成フレーム（ｒｅｃｏｎｓｔｒｕｃｔｅｄ  ｆｒａｍｅ）を基盤として形成される。イントラ予測時に、Ｐは、以前にエンコードされた現在フレーム、デコードされた現在フレーム、または再構成された現在フレームｕＦｎ’内のサンプルから形成されることができる。Ｐが再構成された現在フレームから形成されるとき、フィルタリングされていない（ｕｎｆｉｌｔｅｒｅｄ）サンプルが使用され得る。インター予測時に、Ｐは、１つ以上の参照フレーム（ｒｅｆｅｒｅｎｃｅ  ｆｒａｍｅ）から動き補償（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｉｏｎ）または動き予測（ｍｏｔｉｏｎ  ｐｒｅｄｉｃｔｉｏｎ）が実行されて形成されることができる。図１において参照フレームは、以前にエンコードされたフレームであるＦｎ−１’であることと仮定する。しかし、これに制限されず、各予測マクロブロックは、既にエンコードされたか、再構成された以前の１フレームまたは２フレーム或いは以後の１フレームまたは２フレームから形成されることができる。
【００２７】
Ｐは、残差（ｒｅｓｉｄｕａｌ）または差異（ｄｉｆｆｅｒｅｎｃｅ）マクロブロックＤｎを生成するために、現在マクロブロックから差し引かれる。Ｄｎは、ブロック変換（ｂｌｏｃｋ  ｔｒａｎｓｆｏｒｍ）を利用して変換（Ｔ、ｔｒａｎｓｆｏｒｍｅｄ）され、量子化（Ｑ、ｑｕａｎｔｉｚｅｄ）されてＸを生成する。Ｘは、エンコードされた係数（ｃｏｅｆｆｉｃｉｅｎｔ）等の集合である。エンコードされた係数等は再配列（ｒｅｏｒｄｅｒ）され、エントロピーコーディング（ｅｎｔｒｏｐｙ  ｃｏｄｉｎｇ）され、エントロピーコーディングされた係数等は、マクロブロックをデコードするために必要な情報とともに圧縮されたビット列（ｃｏｍｐｒｅｓｓｅｄ  ｂｉｔｓｔｒｅａｍ）を形成する。圧縮されたビット列は、伝送または格納のためにＮＡＬ（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ）に送られる。
【００２８】
これから、再構成経路について説明する。量子化されたマクロブロック係数であるＸは、他のマクロブロックなどのエンコードのために使用される再構成フレームを生成するためにデコードされる。Ｘは、逆量子化（Ｑ−１）され、逆変換（Ｔ−１、Ｉｎｖｅｒｓｅ
Ｔｒａｎｓｆｏｒｍｅｄ）されて、差異マクロブロックＤｎ’を生成する。再構成経路で生成された差異マクロブロックＤｎ’は、前進経路で生成された差異マクロブロックであるＤｎと同様でない。量子化によって損失が生じ、これにより、Ｄｎ’は、Ｄｎの歪まれた形態でありうる。予測マクロブロックＰがＤｎ’に加えられ、再構成マクロブロックｕＦｎ’が生成される。再構成マクロブロックｕＦｎ’も本来マクロブロックＦｎの歪まれた形態でありうる。ｕＦｎ’に対してブロッキング歪み（ｂｌｏｃｋｉｎｇ  ｄｉｓｔｏｒｔｉｏｎ）を減らすためにフィルタが適用されうるし、再構成フレームは、フィルタが適用された複数の再構成マクロブロックから形成され得る。
【００２９】
図２は、Ｈ．２６４／ＡＶＣ標準のデコーダのブロック図である。
【００３０】
図２に示すように、デコーダは、ＮＡＬから圧縮されたビット列を受信する。受信されたデータは、量子化された係数等の集合であるＸを生成するために、エントロピーデコード（ｅｎｔｒｏｐｙ  ｄｅｃｏｄｅｄ）され、再配列される。Ｘに逆量子化及び逆変換が実行されてＤｎ’が生成され、デコーダは、ビット列でデコードされたヘッダ情報（ｈｅａｄｅｒ  ｉｎｆｏｒｍａｔｉｏｎ）を利用してエンコーダで生成された予測マクロブロックと同じ予測マクロブロックＰを生成する。ＰにＤｎ’が加えられてｕＦｎ’が生成され、ｕＦｎ’がフィルタを経てデコードされたマクロブロックＦｎ’が生成され得る。
【００３１】
以下、イントラ予測について説明する。
【００３２】
ブロック（またはマクロブロック）に対してイントラ予測が実行されるとき、予測ブロック（またはマクロブロック）Ｐがエンコードされたブロック（またはマクロブロック）など、または再構成されたブロック（またはマクロブロック）などを基盤として形成され得る。Ｐは、原本映像から差し引かれ、Ｐが差し引かれた差異値がエンコードされて伝送される。イントラ予測は、ルマ予測モード（ｌｕｍａ  ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）またはクロマ予測モード（ｃｈｒｏｍａ  ｐｒｅｄｉｃｔｉｏｎ  ｍｏｄｅ）によって実行され得る。ルマ予測モードで４×４サイズのサブブロック（ｓｕｂ−ｂｌｏｃｋ）または１６×１６サイズのマクロブロック単位でイントロ予測が実行されうるし、４×４ルマ予測モードでは、合計９個の追加的な予測モードが、１６×１６ルマ予測モードでは、合計４個の追加的な予測モードが存在する。イントラ予測が実行される単位は、サブブロックまたはマクロブロックに制限されず、様々なサイズのユニットを単位として実行され得る。イントラ予測が実行される画素の単位をコーディングユニット（ＣＵ；Ｃｏｄｉｎｇ  Ｕｎｉｔ）または予測ユニット（ＰＵ；Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）などと呼ぶことができ、ＣＵまたはＰＵのサイズが前述したように、サブブロックまたはマクロブロックのサイズと同じでありうる。
【００３３】
図３は、４×４ルマ予測モードで予測サンプル（ｐｒｅｄｉｃｔｉｏｎ  ｓａｍｐｌｅ）をラベリング（ｌａｂｅｌｉｎｇ）した例を示す。図３に示すように、予測ブロックＰは、ＡないしＨ、またはＩないしＬにラベリングされたサンプルを基盤として計算される。
【００３４】
図４は、４×４ルマ予測モード内の９つの予測モードを示す。
【００３５】
エンコーダは、予測ブロックＰとエンコードされるブロックとの間の差異を最小化するために、各ブロックに対して９つの予測モードのうち、いずれか１つを選択することができる。９つの予測モードは、次のとおりである。
【００３６】
１）モード０（ｖｅｒｔｉｃａｌ）：予測ブロックの上位サンプルなどであるＡないしＤが垂直的に外挿（ｅｘｔｒａｐｏｌａｔｅ）される。
【００３７】
２）モード１（ｈｏｒｉｚｏｎｔａｌ）：予測ブロックの左側サンプルなどであるＩないしＬが水平的に外挿される。
【００３８】
３）モード２（ＤＣ）：Ｐ内の全てのサンプルがＡないしＤ及びＩないしＬの平均によって予測される。
【００３９】
４）モード３（Ｄｉａｇｏｎａｌ  Ｄｏｗｎ−Ｌｅｆｔ）：Ｐ内のサンプルなどは、下−左側と上−右側との間で、４５℃角度で補間（ｉｎｔｅｒｐｏｌａｔｅ）される。
【００４０】
５）モード４（Ｄｉａｇｏｎａｌ  Ｄｏｗｎ−Ｒｉｇｈｔ）：Ｐ内のサンプルなどは、右下向き４５℃角度で外挿される。
【００４１】
６）モード５（Ｖｅｒｔｉｃａｌ−Ｒｉｇｈｔ）：Ｐ内のサンプルなどは、垂直軸から右側に約２６．６℃の角度で外挿または補間される。
【００４２】
７）モード６（Ｈｏｒｉｚｏｎｔａｌ−Ｄｏｗｎ）：Ｐ内のサンプルなどは、水平軸から下方に約２６．６℃の角度で外挿される。
【００４３】
８）モード７（Ｖｅｒｔｉｃａｌ−Ｌｅｆｔ）：Ｐ内のサンプルなどは、垂直軸から左側に約２６．６℃の角度で外挿される。
【００４４】
９）モード８（Ｈｏｒｉｚｏｎｔａｌ−Ｕｐ）：Ｐ内のサンプルなどは、水平軸から上方に約２６．６℃の角度で補間される。
【００４５】
図４において矢印は、各モード内で予測が実行される方向を指示する。一方、モード３ないしモード８について、予測ブロック内のサンプルなどは、予測サンプルＡないしＨ、またはＩないしＬの加重平均（ｗｅｉｇｈｔｅｄ  ａｖｅｒａｇｅ）から形成される。例えば、モード４において、予測ブロックの右側上位に位置するサンプル（ｄ＝ｒｏｕｎｄ（Ｂ／４＋Ｃ／２＋Ｄ／４））で予測され得る。エンコーダは、各予測モードによって生成された予測ブロックに対して絶対エラーの和（ＳＡＥ；Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｅｒｒｏｒｓ）をそれぞれ計算し、ＳＡＥが一番小さい予測モードによってイントラ予測を実行する。
【００４６】
図５は、イントラ予測実行前にフィルタを適用する方法の一例を示す。
【００４７】
一般に、Ｈ．２６４／ＡＶＣ標準で使用されるサンプルなどにフィルタを適用した後、イントラ予測が実行される。サンプルは、参照（ｒｅｆｅｒｅｎｃｅ）画素値とも呼ばれることができる。図５の例では、フィルタが低帯域フィルタ（ｌｏｗ−ｐａｓｓ  ｆｉｌｔｅｒ）であり、８×８ブロックに限ってフィルタが適用されることを仮定する。
【００４８】
数式１は、参照画素値に適用される３−ｔａｐフィルタを表す数式の一例である。
【００４９】
＜数１＞
ｈ［Ｚ］＝（Ａ＋２×Ｚ＋Ｑ）／４
ｈ［Ａ］＝（Ｚ＋２×Ａ＋Ｂ）／４
．．．
ｈ［Ｐ］＝（Ｏ＋３×Ｐ）／４
ｈ［Ｑ］＝（Ｚ＋２×Ｑ＋Ｒ）／４
．．．
ｈ［Ｘ］＝（Ｗ＋３×Ｘ）／４
【００５０】
ｈ［Ｚ］は、Ｚにフィルタを適用して計算した値を表す。数式１に示すように、フィルタ係数（１，２，１）が適用されて参照画素値に対するフィルタリングが実行され、フィルタリングを経た参照画素値（ｈ［Ａ］〜ｈ［Ｚ］）を基盤として９個の予測モードによるイントラ予測が実行される。復号化過程でも符号化過程と同様にフィルタが適用され得る。
【００５１】
イントラ予測実行前にフィルタリングを実行するにあたって、フィルタリングを実行しないとき、エンコードの性能が向上する場合がありうる。これにより、適応的にフィルタを適用してイントラ予測を実行する方法が提案され得る。
【００５２】
図６は、提案された適応的フィルタを用いたイントラ予測実行方法の一実施形態を示す。
【００５３】
図６に示すように、ステップＳ２０１においてエンコーダは参照画素値に対するフィルタ適用可否を決定する。エンコーダは、フィルタ適用可否を決定するとき、周辺ブロックの情報を利用したり、レート−歪み最適化（ＲＤＯ；Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚａｔｉｏｎ）方法によってフィルタ適用可否を決定することができる。
【００５４】
周辺ブロックの情報を利用して参照画素値に対するフィルタ適用可否を決定するとき、周辺ブロックの予測モード情報（ＭＰＭ；Ｍｏｓｔ  Ｐｒｏｂａｂｌｅ  Ｍｏｄｅ）を基盤として現在ブロックの予測モードを決定し、決定された現在ブロックの予測モードによって参照画素値に対するフィルタ適用可否を決定することができる。例えば、現在ブロックが「Ｃ」であり、上位ブロックが「Ａ」、左側ブロックが「Ｂ」と仮定すれば、現在ブロックの予測モードが「Ａ」の予測モードと同じである場合、「Ａ」の予測モードを現在ブロックの予測モードとして決定し、現在ブロックの予測モードが「Ｂ」の予測モードと同じである場合、「Ｂ」の予測モードを現在ブロックの予測モードとして決定することができる。または、現在ブロックの予測モードが「Ａ」の予測モードまたは「Ｂ」の予測モードを除いた他の予測モードである場合、当該予測モードを符号化して伝送する。このように決定された現在ブロックの予測モードによって参照画素値に対するフィルタ適用可否が決定され得る。現在ブロックと上位ブロック、または左側ブロックのサイズが異なる場合にも、周辺ブロックの予測モードによって現在ブロックの予測モードを決定することができる。
【００５５】
または、周辺ブロックの情報を利用して参照画素値に対するフィルタ適用可否を決定するとき、周辺参照画素値の変化量を基盤としてフィルタ適用可否を決定することができる。例えば、フィルタを適用しようとする参照画素値をｐ［ｎ］とすれば、周辺参照画素値であるｐ［ｎ−１］及びｐ［ｎ＋１］の差異値を計算し、これを特定しきい値（ｔｈｒｅｓｈｏｌｄ）と比較してフィルタ適用可否を決定することができる。
【００５６】
または、現在ブロックの予測モード以外に、現在ブロックのサイズによって参照画素値に対するフィルタ適用可否を決定することができる。このとき、現在ブロックの予測モード及び現在ブロックのサイズによるフィルタ適用可否を予め指定し、当該予測モードまたは当該サイズによって適応的にフィルタ適用可否を決定する。
【００５７】
表１は、現在ブロックの予測モード及び現在ブロックのサイズによるフィルタ適用可否を指定した表である。
【表１】
2018137780.tif 000003
【００５８】
表１を参照すると、「０」は、フィルタが適用されていないことを意味し、「１」は、フィルタが適用されることを意味する。例えば、現在ブロックのサイズが４×４であるとき、現在ブロックの予測モードが１であればフィルタが適用されず、現在ブロックの予測モードが３であればフィルタが適用され得る。
【００５９】
また、周辺ブロックの画面内（ｉｎｔｒａ−ｆｒａｍｅ）符号化または画面間（ｉｎｔｅｒ−ｆｒａｍｅ）符号化の可否によって参照画素値に対するフィルタ適用可否が決定され得る。例えば、制限されたイントラ予測（ｃｏｎｓｔｒａｉｎｅｄ  ｉｎｔｒａ−ｐｒｅｄｉｃｔｉｏｎ）実行の場合、周辺ブロックが画面間符号化されたとき、画面内に符号化された周辺ブロックの値などを用いて前記画面間に符号化された値を満たすことになり、このときは、フィルタリングを適用しないことができる。
【００６０】
参照画素値に対してフィルタを適用することと決定された場合、ステップＳ２０２においてエンコーダは参照画素値に対してフィルタを適用する。適用されるフィルタは、一般的に使用されるフィルタでありうる。例えば、数式１の３−ｔａｐが使用され得るし、または２−ｔａｐフィルタが使用されることもできる。２−ｔａｐフィルタ使用されるとき、（１／８，７／８）、（２／８，６／８）、（３／８，５／８）などの様々なフィルタ係数が使用され得る。フィルタが適用された参照画素値が他の参照画素値にフィルタを適用するときに使用され得る。また、参照画素値にフィルタを適用する場合、全ての参照画素値に対してフィルタを適用することができ、一部参照画素値に対してのみフィルタを適用することもできる。
【００６１】
ステップＳ２０３においてエンコーダは、フィルタが適用された、またはフィルタが適用されていない参照画素値を基盤としてイントラ予測を実行する。
【００６２】
ステップＳ２０４においてエンコーダは、現在ブロックの符号化のために、前記イントラ予測実行によって予測された各予測モード別の予測値に対するフィルタ適用可否を決定する。ここで、各予測モードは、４×４ルマ予測モードの９個の予測モードでありうる。
各予測モード別の予測値に対してフィルタ適用可否を決定するときにも、周辺ブロックの情報を利用するか、ＲＤＯ方法によってフィルタ適用可否を決定することができる。
【００６３】
周辺ブロックの情報を利用して予測値に対するフィルタ適用可否を決定するとき、周辺ブロックの予測モード情報（ＭＰＭ）を基盤として現在ブロックの予測モードを決定し、決定された現在ブロックの予測モードによって予測値に対するフィルタ適用可否を決定することができる。例えば、現在ブロックが「Ｃ」であり、上位ブロックが「Ａ」、左側ブロックが「Ｂ」と仮定すれば、現在ブロックの予測モードが「Ａ」の予測モードと同じである場合、「Ａ」の予測モードを現在ブロックの予測モードとして決定し、現在ブロックの予測モードが「Ｂ」の予測モードと同じである場合、「Ｂ」の予測モードを現在ブロックの予測モードとして決定することができる。または、現在ブロックの予測モードが「Ａ」の予測モードまたは「Ｂ」の予測モードを除いた他の予測モードである場合、当該予測モードを符号化して伝送する。このとき、現在ブロックの予測モードが特定予測モード（ＤＣまたはｐｌａｎａｒ）である場合、参照画素値と予測値との間の差異が他の予測モードに比べて相対的に大きくなり得る。例えば、プラナー（ｐｌａｎａｒ）予測モードでの参照画素値と予測値との差異が、他の予測モードに比べて比較的大きい場合もある。プラナー（ｐｌａｎａｒ）予測モードでの予測値は、各行を水平的に線形補間（ｌｉｎｅａｒ
ｉｎｔｅｒｐｏｌａｔｉｏｎ）して得られた第１の予測値と各列を垂直的に線形補間して得られた第２の予測値との平均で計算されることができる。水平的に線形補間するとき、右側の値は、参照画素値のうち、右上向きに位置した値（すなわち、図３においてＨ）と同じであり、垂直的に線形補間するとき、下方の値は、参照画素値のうち、左下向きに位置した値（すなわち、図３においてＩ）と同じである。予測値が参照画素値から直ちに求められるものではないので、参照画素値と予測値との差異が比較的大きい場合もある。
このような場合、予測値に対してフィルタを適用し、イントラ予測の効率性を高めることができる。このように決定された現在ブロックの予測モードによって予測値に対するフィルタ適用可否が決定され得る。現在ブロックと上位ブロック、または左側ブロックのサイズが異なる場合にも、周辺ブロックの予測モードによって現在ブロックの予測モードを決定することができる。
【００６４】
または、現在ブロックの予測モード以外に、現在ブロックのサイズによって予測値に対するフィルタ適用可否を決定することができる。このとき、現在ブロックの予測モード及び現在ブロックのサイズによるフィルタ適用可否を予め指定し、当該予測モードまたは当該サイズによって適応的にフィルタ適用可否を決定する。または、周辺ブロックの画面内符号化または画面間符号化の可否によって予測値に対するフィルタ適用可否が決定され得る。
【００６５】
予測値に対してフィルタを適用することと決定された場合、ステップＳ２０５においてエンコーダは、予測値に対してフィルタを適用する。これにより、現在ブロックの予測が完了し、エンコーダは、残差信号を計算し、エントロピー符号化を実行する。
【００６６】
図７は、提案された適応的フィルタを用いたイントラ予測実行方法によって予測値にフィルタが適用される場合を示す。
【００６７】
図７に示すように、現在ブロックの予測モードが非方向性モードである場合、参照画素値と予測値との間の差異が、他の予測モードに比べて相対的に大きい場合があるので、周辺の復元された参照画素値との境界に隣接した画素の予測値に対してのみフィルタを適用することができる。例えば、図３において、境界に位置した１行の画素であるａ１〜ａ８及びｂ１、ｃ１、ｄ１、ｅ１、ｆ１、ｇ１、ｈ１に該当する予測値に対してフィルタリングを実行することができる。または、境界に位置した２行の画素であるａ１〜ａ８、ｂ１〜ｂ８及びｃ１〜ｃ２、ｄ１〜ｄ２、ｅ１〜ｅ２、ｆ１〜ｆ２、ｇ１〜ｇ２、ｈ１〜ｈ２に該当する予測値に対してフィルタを適用することができる。このときに適用されるフィルタは、一般的に使用されるフィルタでありうる。例えば、数式１の３−ｔａｐが使用され得るし、または、２−ｔａｐフィルタが使用され得る。２−ｔａｐフィルタが使用されるとき、（１／８，７／８）、（２／８，６／８）、（３／８，５／８）などの様々なフィルタ係数が使用され得る。または、画素の位置によって２−ｔａｐフィルタまたは３−ｔａｐフィルタのうち、いずれか１つを選択して使用することもできる。
【００６８】
同様な方法で、現在ブロックの予測モードがモード０、モード３、またはモード７のように、Ａ〜Ｐに該当する参照画素値を用いる予測モードである場合、参照画素値と予測値との間の差異が比較的大きいａ１〜ａ８に該当する予測値に対してフィルタを適用することができる。また、現在ブロックの予測モードがモード１またはモード８のように、Ｑ〜Ｘに該当する参照画素値を用いる予測モードである場合、参照画素値と予測値との間の差異が比較的大きいａ１、ｂ１、ｃ１、ｄ１、ｅ１、ｆ１、ｇ１、及びｈ１に該当する予測値に対してフィルタを適用することができる。
【００６９】
数式２は、画素の位置によって２−ｔａｐフィルタまたは３−ｔａｐフィルタを選択して使用する場合、予測値に適用されるフィルタを表す数式の一例である。
【００７０】
＜数２＞
ｆ［ａ１］＝（２×Ａ＋４×ａ１＋２×Ｑ）／８
ｆ［ｂ１］＝（２×Ｂ＋６×ｂ１）／８
ｆ［ｃ１］＝（２×Ｃ＋６×ｃ１）／８
．．．
ｆ［ａ２］＝（２×Ｒ＋６×ａ２）／８
ｆ［ａ３］＝（２×Ｓ＋６×ａ３）／８
．．．
【００７１】
数式２においてｆ［ａ１］は、予測値ａ１にフィルタを適用した値であり、ＡとＱは、参照画素値を表す。数式２を参照すると、ａ１に位置した画素の予測値に対して３−ｔａｐフィルタが適用され、残りの画素の予測値に対しては２−ｔａｐフィルタが適用されることが分かる。
【００７２】
数式３は、提案された適応的フィルタを用いたイントラ予測実行方法によって予測値にフィルタが適用される場合、予測値に適用されるフィルタを表す数式のさらに他の例である。
【００７３】
＜数３＞
１．Ｖｅｒｔｉｃａｌ  ｌｏｗ−ｐａｓｓ  ｆｉｌｔｅｒ
ｖ［ａ１］＝（Ａ＋２×ａ１＋ａ２）／４
ｖ［ａ２］＝（ｖ［ａ１］＋２×ａ２＋ａ３）／４
．．．
ｖ［ａ８］＝（ｖ［ａ７］＋３×ａ８）／４
ｖ［ｂ１］＝（Ｂ＋２×ｂ１＋ｂ２）／４
．．．
２．Ｈｏｒｉｚｏｎｔａｌ  ｌｏｗ−ｐａｓｓ  ｆｉｌｔｅｒ
ｈ［ａ１］＝（Ｑ＋２×ｖ［ａ１］＋ｖ［ｂ１］）／４
ｈ［ｂ１］＝（ｈ［ａ１］＋２×ｖ［ｂ１］＋ｖ［ｃ１］）／４
．．．
ｈ［ｈ１］＝（ｈ［ｇ１］＋３×ｖ［ｈ１］）／４
ｈ［ａ２］＝（Ｒ＋２×ｖ［ａ２］＋ｖ［ｂ２］）／４
．．．
【００７４】
数式３のフィルタは、各予測モードに対して周辺ブロックの情報を利用する方法またはＲＤＯ方法を基盤として適応的なフィルタを適用するときに使用されることができる。数式３を参照すると、フィルタ係数が（１，２，１）である低帯域フィルタが垂直と水平の２つの方向に対して順次実行される。まず、垂直方向にフィルタが適用され、フィルタが適用された値を基盤としてさらに水平方向にフィルタが適用される。フィルタが適用された予測値が他の予測値にフィルタを適用するときに使用されることができる。
【００７５】
一方、ＲＤＯ方法が適用される場合、図６において説明されたイントラ予測実行方法が繰り返されて実行されることができる。
【００７６】
図８は、本発明の実施形態が実現されるエンコーダ及びデコーダのブロック図である。
【００７７】
エンコーダ８００は、プロセッサ（８１０；ｐｒｏｃｅｓｓｏｒ）及びメモリ（８２０；ｍｅｍｏｒｙ）を備える。プロセッサ８１０は、提案された機能、過程、及び／又は方法を実現する。プロセッサ８１０は、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第１のフィルタの適用可否を決定し、前記第１のフィルタを適用することと決定された場合、前記参照画素値に対して前記第１のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測実行によって予測された前記現在ブロックの各予測モード別の予測値に対する第２のフィルタの適用可否を決定し、前記第２のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第２のフィルタを適用するように構成される。メモリ８２９は、プロセッサ８１０と連結されて、プロセッサ８１０を駆動するための様々な情報を記憶する。
【００７８】
デコーダ９００は、プロセッサ９１０及びメモリ９２０を備える。プロセッサ９１０は、提案された機能、過程、及び／又は方法を実現する。プロセッサ９１０は、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第１のフィルタの適用可否を決定し、前記第１のフィルタを適用することと決定された場合、前記参照画素値に対して前記第１のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測実行によって予測された前記現在ブロックの各予測モード別の予測値に対する第２のフィルタの適用可否を決定し、前記第２のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第２のフィルタを適用するように構成される。メモリ９２０は、プロセッサ９１０と連結されて、プロセッサ９１０を駆動するための様々な情報を記憶する。
【００７９】
プロセッサ８１０、９１０は、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ
ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、他のチップセット、論理回路、及び／又はデータ処理装置を備えることができる。メモリ８２０、９２０は、ＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、フラッシュメモリ、メモリカード、記憶媒体、及び／又は他の記憶媒体を備えることができる。実施形態がソフトウェアで実現されるとき、上述した技法は、上述した機能を果たすモジュール（過程、機能など）で実現されることができる。モジュールは、メモリ８２０、９２０に保存され、プロセッサ８１０、９１０によって実行され得る。メモリ８２０、９２０は、プロセッサ８１０、９１０の内部または外部にありうるし、よく知られた様々な手段によってプロセッサ８１０、９１０と連結されることができる。
【００８０】
上述した例示的なシステムにおいて、方法などは、一連のステップまたはブロックとして順序図に基づいて説明されているが、本発明は、ステップなどの順序に限定されるものではなく、あるステップは、上述したことと異なるステップと異なる順序とで、或いは同時に発生することができる。また、当業者であれば、順序図に示したステップなどが排他的でなく、他のステップが含まれるか、順序図の１つまたはそれ以上のステップが本発明の範囲に影響を及ぼさずに削除され得ることを理解できるであろう。
【００８１】
上述した実施形態などは、様々な態様の例示等を含む。様々な態様などを表すための全ての可能な組み合わせを記述することはできないが、当該技術分野の通常の知識を有した者は、他の組み合わせが可能であるということを認識できるであろう。したがって、本発明は、以下の特許請求の範囲内に属する全ての他の交替、修正、及び変形を含むといえよう。
【図１】
2018137780.tif 000004
【図２】
2018137780.tif 000005
【図３】
2018137780.tif 000006
【図４】
2018137780.tif 000007
【図５】
2018137780.tif 000008
【図６】
2018137780.tif 000009
【図７】
2018137780.tif 000010
【図８】
2018137780.tif 000011