(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024099848
(43)【公開日】2024-07-25
(54)【発明の名称】映像デコード方法、映像エンコード方法および記録媒体
(51)【国際特許分類】
H04N 19/117 20140101AFI20240718BHJP
H04N 19/136 20140101ALI20240718BHJP
H04N 19/157 20140101ALI20240718BHJP
H04N 19/176 20140101ALI20240718BHJP
H04N 19/46 20140101ALI20240718BHJP
【FI】
H04N19/117
H04N19/136
H04N19/157
H04N19/176
H04N19/46
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2024076616
(22)【出願日】2024-05-09
(62)【分割の表示】P 2023121877の分割
【原出願日】2011-04-11
(31)【優先権主張番号】10-2011-0032766
(32)【優先日】2011-04-08
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2011-0026079
(32)【優先日】2011-03-23
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2010-0032778
(32)【優先日】2010-04-09
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】596099882
【氏名又は名称】エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート
【氏名又は名称原語表記】ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【弁理士】
【氏名又は名称】吉田 昌司
(72)【発明者】
【氏名】リー、ジン、ホ
(72)【発明者】
【氏名】キム、フイ、ヨン
(72)【発明者】
【氏名】ジョン、セ、ユン
(72)【発明者】
【氏名】チョ、スク、ヒー
(72)【発明者】
【氏名】リー、ハ、ヒュン
(72)【発明者】
【氏名】キム、ジョン、ホ
(72)【発明者】
【氏名】リム、スン、チャン
(72)【発明者】
【氏名】チェ、ジン、スー
(72)【発明者】
【氏名】キム、ジン、ウン
(72)【発明者】
【氏名】アン、チー、トゥク
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159RC12
5C159TA33
5C159TA68
5C159TB08
5C159TC24
5C159TC26
5C159UA02
5C159UA05
5C159UA11
(57)【要約】 (修正有)
【課題】適応的フィルタを用いたイントラ予測(intra-prediction)実行方法及び装置を提供する。
【解決手段】イントラ予測実行方法は、現在ブロック(current block)の周辺ブロックの情報を基盤として参照画素値に対する第1のフィルタの適用可否を決定するステップと、第1のフィルタを適用することと決定した場合、参照画素値に対して第1のフィルタを適用するステップと、参照画素値を基盤として現在ブロックに対するイントラ予測を実行するステップと、周辺ブロックの情報を基盤としてイントラ予測実行により予測した現在ブロックの各予測モード(prediction mode)別の予測値に対する第2のフィルタの適用可否を決定するステップと、第2のフィルタを適用することと決定した場合、現在ブロックの各予測モード別の予測値に対して第2のフィルタを適用するステップと、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
現在ブロックのイントラ予測モードおよび前記現在ブロックのサイズのうち少なくともいずれか一つに基づいて、前記現在ブロックの参照画素値に対する第1のフィルタの適用可否を決定するステップと、
前記現在ブロックの前記参照画素値および前記イントラ予測モードを用いて前記現在ブロックのイントラ予測を実行し、それにより、前記現在ブロックの予測値を生成するステップと、
前記現在ブロックのイントラ予測モードおよび前記現在ブロックのサイズのうち少なくともいずれか一つに基づいて、前記現在ブロックの前記予測値に対する第2のフィルタの適用可否を決定し、それにより、フィルタリングされた予測値を生成するステップと、
を備え、
前記現在ブロックの前記イントラ予測モードが垂直モードの場合、前記参照画素値に隣接する前記現在ブロックの予測画素のうちの、前記現在ブロックの最も左の画素に前記第2のフィルタを適用することにより、前記フィルタリングされた予測値が生成される、映像デコード方法。
【請求項2】
前記現在ブロックの前記イントラ予測モードが前記垂直モードの場合、前記第2のフィルタは、上参照画素値、左参照画素値および上左コーナー参照画素値を用いて適用され、前記上参照画素値は前記現在ブロックの上側の最も左の画素の上側に対応し、前記左参照画素値は前記現在ブロックの前記最も左の画素の左側に対応する、請求項1に記載の映像デコード方法。
【請求項3】
現在ブロックの参照画素値に対する第1のフィルタの適用可否、および前記現在ブロックの予測値に対する第2のフィルタの適用可否に関する情報をエンコードするステップを備え、
前記情報は、前記現在ブロックのイントラ予測モードおよび前記現在ブロックのサイズのうち少なくともいずれか一つに関し、
前記予測値は、前記現在ブロックの前記参照画素値および前記イントラ予測モードを用いて前記現在ブロックのイントラ予測を行うことにより生成され、
前記現在ブロックの前記イントラ予測モードが垂直モードの場合、前記参照画素値に隣接する前記現在ブロックの予測画素のうちの、前記現在ブロックの最も左の画素に前記第2のフィルタを適用することにより、フィルタリングされた予測値が生成される、映像エンコード方法。
【請求項4】
映像エンコード方法によって生成されたビットストリームを送信する方法であって、
前記映像エンコード方法は、
現在ブロックの参照画素値に対する第1のフィルタの適用可否、および前記現在ブロックの予測値に対する第2のフィルタの適用可否に関する情報をエンコードするステップを備え、
前記情報は、前記現在ブロックのイントラ予測モードおよび前記現在ブロックのサイズのうち少なくともいずれか一つに関し、
前記予測値は、前記現在ブロックの前記参照画素値および前記イントラ予測モードを用いて前記現在ブロックのイントラ予測を行うことにより生成され、
前記現在ブロックの前記イントラ予測モードが垂直モードの場合、前記参照画素値に隣接する前記現在ブロックの予測画素のうちの、前記現在ブロックの最も左の画素に前記第2のフィルタを適用することにより、フィルタリングされた予測値が生成される、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像コーディング(video coding)に関し、より詳細には、予測しようとするブロック(block)の周辺画素値または現在ブロックの予測された画素値に適応的フィルタを適用してイントラ予測(intra-prediction)を実行する方法及び装置に関する。
【背景技術】
【0002】
近年、デジタルTV等の到来により、放送テレビジョン及びホームエンタテインメント(home entertainment)分野の技術が急激に発振している。このような分野の技術は、ビデオ圧縮(video compression)技術の標準化(standardization)によって商用化されている。ビデオ圧縮のために、ITU-T(International Telecommunications Union-Telecommunication)H.263標準が広範に使用されており、MPEG(Motion Picture Experts Group)の次の標準であるMPEG-4がインターネット基盤(internet-based)ビデオアプリケーションのために使用されている。
【0003】
H.263標準の完成後、ITU-T VCEG(Video Coding Experts Group)は、H.263標準に付加的な特徴を追加するための短期的目標と、低いビット率(bitrate)の視覚通信(visual communication)のための新たな標準を開発するための長期的目標とを競走してきた。2001年、MPEGとVCEGの専門家達でなされたJVT(Joint Video Team)が構成され、JVTによりビデオ映像のコーディングのための新たな標準であるITU-T H.264/MPEG-4 part 10の標準化作業が進まれてきた。H.264標準は、AVC(Advanced Video Coding)として呼ばれることもできる。H.264/AVCの技術的目標は、コーディング効率(coding efficiency)の顕著な向上、損失及びエラーに強固(robust)なコーディング技術、ネットワーク親和的(network friendliness)なコーディング技術、低い遅延容量(latency capability)、及び正確なマッチデコード(match decoding)などである。
【0004】
映像内で周辺画素などは、ほとんど類似した値を有し、これは、H.264/AVC標準の最小ブロック(block)サイズである4×4ブロックまたは16×16ブロックに対しても同様である。このように、ブロック間の値などの類似性を用いて映像に対する予測を実行し、原本映像との差異をエンコードすることができる。これをイントラ予測(intra-prediction)といい、イントラ予測によって映像コーディングの効率を高めることができる。
【0005】
また、イントラ予測を実行するにあたって、イントラ予測実行前にフィルタが適用され得る。通常、H.264/AVC標準でイントラ予測を実行するとき、参照画素値などにフィルタを適用した後、フィルタが適用された値などをイントラ予測に使用する。しかし、場合によって、フィルタを適用した後、イントラ予測を実行することより、フィルタを適用せずに、イントラ予測を実行するときに映像コーディングの性能がより高いことができる。
【0006】
これにより、イントラ予測の実行時、フィルタの適用可否を決定する方法が提案され得る。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の技術的課題は、映像エンコードで予測しようとするブロック(block)の周辺画素値または現在ブロックの予測された画素値に適応的フィルタを適用して、イントラ予測(intra-prediction)を実行する方法及び装置を提供することにある。より詳細には、イントラ予測を実行するための現在ブロックの参照画素値などに適応的なフィルタ(pre-filter)を適用した後、予測を実行し、かつ、予測された現在ブロックの画素値などにも適応的なフィルタ(post-filter)を適用して残差信号(residual signal)を計算する。
【課題を解決するための手段】
【0008】
一態様において、イントラ予測(intra-prediction)実行方法が提供される。前記イントラ予測実行方法は、現在ブロック(current block)の周辺ブロックの情報を基盤として参照画素値に対する第1のフィルタの適用可否を決定するステップと、前記第1のフィルタを適用することと決定された場合、前記参照画素値に対して前記第1のフィルタを適用するステップと、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行するステップと、前記周辺ブロックの情報を基盤として前記イントラ予測実行により予測された前記現在ブロックの各予測モード(prediction mode)別の予測値に対する第2のフィルタの適用可否を決定するステップと、前記第2のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第2のフィルタを適用するステップとを含む。
【0009】
前記第1のフィルタの適用可否は、前記周辺ブロックの情報を基盤として決定された前記現在ブロックの予測モードを基盤として決定されることができる。
【0010】
前記第1のフィルタの適用可否は、前記現在ブロックのサイズを基盤として決定されることができる。
【0011】
前記第1のフィルタの適用可否は、前記現在ブロックの予測モード及び前記現在ブロックのサイズを基盤として予め指定されることができる。
【0012】
前記第1のフィルタの適用可否は、前記周辺ブロックが画面内(intra-frame)符号化されたか、または画面間(inter-frame)符号化されたかの可否を基盤として決定されることができる。
【0013】
前記第1のフィルタは、3-tapフィルタまたは2-tapフィルタのうち、少なくともいずれか1つを使用することができる。
【0014】
前記第2のフィルタの適用可否は、前記周辺ブロックの情報を基盤として決定された前記現在ブロックの予測モードを基盤として決定されることができる。
【0015】
前記第2のフィルタの適用可否は、前記周辺ブロックが画面内符号化されたか、または画面間符号化されたかの可否を基盤として決定されることができる。
【0016】
前記第2のフィルタは、前記参照画素値の境界に隣接した画素の予測値に対して適用されることができる。
【0017】
前記第2のフィルタは、3-tapフィルタまたは2-tapフィルタのうち、少なくともいずれか1つを使用することができる。
【0018】
他の態様において、エンコーダ(encoder)が提供される。前記エンコーダは、プロセッサ(processor)と、前記プロセッサと連結され、前記プロセッサを駆動するための情報を記憶するメモリ(memory)とを備え、前記プロセッサは、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第1のフィルタの適用可否を決定し、前記第1のフィルタを適用することと決定された場合、前記参照画素値に対して前記第1のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測実行により予測された前記現在ブロックの各予測モード別の予測値に対する第2のフィルタの適用可否を決定し、前記第2のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第2のフィルタを適用するように構成される。
【0019】
さらに他の態様において、デコーダ(decoder)が提供される。前記デコーダは、プロセッサと、前記プロセッサと連結され、前記プロセッサを駆動するための情報を記憶するメモリとを備え、前記プロセッサは、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第1のフィルタの適用可否を決定し、前記第1のフィルタを適用することと決定された場合、前記参照画素値に対して前記第1のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測により予測された前記現在ブロックの各予測モード別の予測値に対する第2のフィルタの適用可否を決定し、前記第2のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第2のフィルタを適用するように構成される。
【発明の効果】
【0020】
符号化しようとする輝度または色差信号ブロックを効果的に予測して符号化性能を向上させる。
【図面の簡単な説明】
【0021】
【
図1】H.264/AVC(Advanced Video Coding)標準のエンコーダのブロック図である。
【
図2】H.264/AVC標準のデコーダのブロック図である。
【
図3】4×4ルマ予測モードで予測サンプル(prediction sample)をラベリング(labeling)した例を示す図である。
【
図4】4×4ルマ予測モード内の9つの予測モードを示す図である。
【
図5】イントラ予測実行前にフィルタを適用する方法の一例を示す図である。
【
図6】提案された適応的フィルタを用いたイントラ予測実行方法の一実施形態を示す図である。
【
図7】提案された適応的フィルタを用いたイントラ予測実行方法に応じて予測値にフィルタが適用される場合を示す図である。
【
図8】本発明の実施形態が実現されるエンコーダ及びデコーダのブロック図である。
【発明を実施するための形態】
【0022】
下記では、添付した図面を参考して本発明の実施形態について本発明の属する技術分野における通常の知識を有した者が容易に実施できるように詳細に説明する。しかし、本発明は、種々の相違した形態で実現されることができ、ここで説明する実施形態に限定されない。そして、図面において、本発明を明確に説明するために、説明と関係ない部分を省略し、明細書の全体を通じて類似した部分に対しては、類似した図面符号を付した。また、詳細な説明を省略しても本技術分野の当業者が容易く理解できる部分の説明を省略した。
【0023】
明細書及び請求の範囲の全体において、ある部分がある構成要素を「含む」というとき、これは、特に反対される記載がない限り、他の構成要素を除外することではなく、他の構成要素をさらに含むことができるということを意味する。
【0024】
図1は、H.264/AVC(Advanced Video Coding)標準のエンコーダのブロック図である。
【0025】
図1に示すように、エンコーダは、2つの経路のデータフローを含む。1つは、前進経路(forward path)であり、残りの1つは、再構成経路(reconstruction path)である。
【0026】
まず、前進経路を説明する。入力フレームF
nに対してマクロブロック(macro block)単位でエンコード処理が実行される。マクロブロックは、原本イメージで16×16ピクセルのサイズを有する。各入力フレームに対してイントラ予測(intra-prediction)またはインター予測(inter-prediction)が実行される。イントラ予測は、フレーム内でブロック間値などの類似性を用いて予測を実行し、原本映像との差異をエンコードし、インター予測は、フレーム間ブロック間値などの類似性を用いて予測を実行し、原本映像との差異をエンコードする。イントラ予測またはインター予測時に、予測マクロブロック(prediction macro block)であるPが再構成フレーム(reconstructed frame)を基盤として形成される。イントラ予測時に、Pは、以前にエンコードされた現在フレーム、デコードされた現在フレーム、または再構成された現在フレームuF
n’内のサンプルから形成されることができる。Pが再構成された現在フレームから形成されるとき、フィルタリングされていない(unfiltered)サンプルが使用され得る。インター予測時に、Pは、1つ以上の参照フレーム(reference frame)から動き補償(motion compensation)または動き予測(motion prediction)が実行されて形成されることができる。
図1において参照フレームは、以前にエンコードされたフレームであるF
n-1’であることと仮定する。しかし、これに制限されず、各予測マクロブロックは、既にエンコードされたか、再構成された以前の1フレームまたは2フレーム或いは以後の1フレームまたは2フレームから形成されることができる。
【0027】
Pは、残差(residual)または差異(difference)マクロブロックDnを生成するために、現在マクロブロックから差し引かれる。Dnは、ブロック変換(block transform)を利用して変換(T、transformed)され、量子化(Q、quantized)されてXを生成する。Xは、エンコードされた係数(coefficient)等の集合である。エンコードされた係数等は再配列(reorder)され、エントロピーコーディング(entropy coding)され、エントロピーコーディングされた係数等は、マクロブロックをデコードするために必要な情報とともに圧縮されたビット列(compressed bitstream)を形成する。圧縮されたビット列は、伝送または格納のためにNAL(Network Abstraction Layer)に送られる。
【0028】
これから、再構成経路について説明する。量子化されたマクロブロック係数であるXは、他のマクロブロックなどのエンコードのために使用される再構成フレームを生成するためにデコードされる。Xは、逆量子化(Q-1)され、逆変換(T-1、Inverse Transformed)されて、差異マクロブロックDn’を生成する。再構成経路で生成された差異マクロブロックDn’は、前進経路で生成された差異マクロブロックであるDnと同様でない。量子化によって損失が生じ、これにより、Dn’は、Dnの歪まれた形態でありうる。予測マクロブロックPがDn’に加えられ、再構成マクロブロックuFn’が生成される。再構成マクロブロックuFn’も本来マクロブロックFnの歪まれた形態でありうる。uFn’に対してブロッキング歪み(blocking distortion)を減らすためにフィルタが適用されうるし、再構成フレームは、フィルタが適用された複数の再構成マクロブロックから形成され得る。
【0029】
図2は、H.264/AVC標準のデコーダのブロック図である。
【0030】
図2に示すように、デコーダは、NALから圧縮されたビット列を受信する。受信されたデータは、量子化された係数等の集合であるXを生成するために、エントロピーデコード(entropy decoded)され、再配列される。Xに逆量子化及び逆変換が実行されてD
n’が生成され、デコーダは、ビット列でデコードされたヘッダ情報(header information)を利用してエンコーダで生成された予測マクロブロックと同じ予測マクロブロックPを生成する。PにD
n’が加えられてuF
n’が生成され、uF
n’がフィルタを経てデコードされたマクロブロックF
n’が生成され得る。
【0031】
以下、イントラ予測について説明する。
【0032】
ブロック(またはマクロブロック)に対してイントラ予測が実行されるとき、予測ブロック(またはマクロブロック)Pがエンコードされたブロック(またはマクロブロック)など、または再構成されたブロック(またはマクロブロック)などを基盤として形成され得る。Pは、原本映像から差し引かれ、Pが差し引かれた差異値がエンコードされて伝送される。イントラ予測は、ルマ予測モード(luma prediction mode)またはクロマ予測モード(chroma prediction mode)によって実行され得る。ルマ予測モードで4×4サイズのサブブロック(sub-block)または16×16サイズのマクロブロック単位でイントロ予測が実行されうるし、4×4ルマ予測モードでは、合計9個の追加的な予測モードが、16×16ルマ予測モードでは、合計4個の追加的な予測モードが存在する。イントラ予測が実行される単位は、サブブロックまたはマクロブロックに制限されず、様々なサイズのユニットを単位として実行され得る。イントラ予測が実行される画素の単位をコーディングユニット(CU;Coding Unit)または予測ユニット(PU;Prediction Unit)などと呼ぶことができ、CUまたはPUのサイズが前述したように、サブブロックまたはマクロブロックのサイズと同じでありうる。
【0033】
図3は、4×4ルマ予測モードで予測サンプル(prediction sample)をラベリング(labeling)した例を示す。
図3に示すように、予測ブロックPは、AないしH、またはIないしLにラベリングされたサンプルを基盤として計算される。
【0034】
図4は、4×4ルマ予測モード内の9つの予測モードを示す。
【0035】
エンコーダは、予測ブロックPとエンコードされるブロックとの間の差異を最小化するために、各ブロックに対して9つの予測モードのうち、いずれか1つを選択することができる。9つの予測モードは、次のとおりである。
【0036】
1)モード0(vertical):予測ブロックの上位サンプルなどであるAないしDが垂直的に外挿(extrapolate)される。
【0037】
2)モード1(horizontal):予測ブロックの左側サンプルなどであるIないしLが水平的に外挿される。
【0038】
3)モード2(DC):P内の全てのサンプルがAないしD及びIないしLの平均によって予測される。
【0039】
4)モード3(Diagonal Down-Left):P内のサンプルなどは、下-左側と上-右側との間で、45℃角度で補間(interpolate)される。
【0040】
5)モード4(Diagonal Down-Right):P内のサンプルなどは、右下向き45℃角度で外挿される。
【0041】
6)モード5(Vertical-Right):P内のサンプルなどは、垂直軸から右側に約26.6℃の角度で外挿または補間される。
【0042】
7)モード6(Horizontal-Down):P内のサンプルなどは、水平軸から下方に約26.6℃の角度で外挿される。
【0043】
8)モード7(Vertical-Left):P内のサンプルなどは、垂直軸から左側に約26.6℃の角度で外挿される。
【0044】
9)モード8(Horizontal-Up):P内のサンプルなどは、水平軸から上方に約26.6℃の角度で補間される。
【0045】
図4において矢印は、各モード内で予測が実行される方向を指示する。一方、モード3ないしモード8について、予測ブロック内のサンプルなどは、予測サンプルAないしH、またはIないしLの加重平均(weighted average)から形成される。例えば、モード4において、予測ブロックの右側上位に位置するサンプル(d=round(B/4+C/2+D/4))で予測され得る。エンコーダは、各予測モードによって生成された予測ブロックに対して絶対エラーの和(SAE;Sum of Absolute Errors)をそれぞれ計算し、SAEが一番小さい予測モードによってイントラ予測を実行する。
【0046】
図5は、イントラ予測実行前にフィルタを適用する方法の一例を示す。
【0047】
一般に、H.264/AVC標準で使用されるサンプルなどにフィルタを適用した後、イントラ予測が実行される。サンプルは、参照(reference)画素値とも呼ばれることができる。
図5の例では、フィルタが低帯域フィルタ(low-pass filter)であり、8×8ブロックに限ってフィルタが適用されることを仮定する。
【0048】
数式1は、参照画素値に適用される3-tapフィルタを表す数式の一例である。
【0049】
<数1>
h[Z]=(A+2×Z+Q)/4
h[A]=(Z+2×A+B)/4
...
h[P]=(O+3×P)/4
h[Q]=(Z+2×Q+R)/4
...
h[X]=(W+3×X)/4
【0050】
h[Z]は、Zにフィルタを適用して計算した値を表す。数式1に示すように、フィルタ係数(1,2,1)が適用されて参照画素値に対するフィルタリングが実行され、フィルタリングを経た参照画素値(h[A]~h[Z])を基盤として9個の予測モードによるイントラ予測が実行される。復号化過程でも符号化過程と同様にフィルタが適用され得る。
【0051】
イントラ予測実行前にフィルタリングを実行するにあたって、フィルタリングを実行しないとき、エンコードの性能が向上する場合がありうる。これにより、適応的にフィルタを適用してイントラ予測を実行する方法が提案され得る。
【0052】
図6は、提案された適応的フィルタを用いたイントラ予測実行方法の一実施形態を示す。
【0053】
図6に示すように、ステップS201においてエンコーダは参照画素値に対するフィルタ適用可否を決定する。エンコーダは、フィルタ適用可否を決定するとき、周辺ブロックの情報を利用したり、レート-歪み最適化(RDO;Rate-Distortion Optimization)方法によってフィルタ適用可否を決定することができる。
【0054】
周辺ブロックの情報を利用して参照画素値に対するフィルタ適用可否を決定するとき、周辺ブロックの予測モード情報(MPM;Most Probable Mode)を基盤として現在ブロックの予測モードを決定し、決定された現在ブロックの予測モードによって参照画素値に対するフィルタ適用可否を決定することができる。例えば、現在ブロックが「C」であり、上位ブロックが「A」、左側ブロックが「B」と仮定すれば、現在ブロックの予測モードが「A」の予測モードと同じである場合、「A」の予測モードを現在ブロックの予測モードとして決定し、現在ブロックの予測モードが「B」の予測モードと同じである場合、「B」の予測モードを現在ブロックの予測モードとして決定することができる。または、現在ブロックの予測モードが「A」の予測モードまたは「B」の予測モードを除いた他の予測モードである場合、当該予測モードを符号化して伝送する。このように決定された現在ブロックの予測モードによって参照画素値に対するフィルタ適用可否が決定され得る。現在ブロックと上位ブロック、または左側ブロックのサイズが異なる場合にも、周辺ブロックの予測モードによって現在ブロックの予測モードを決定することができる。
【0055】
または、周辺ブロックの情報を利用して参照画素値に対するフィルタ適用可否を決定するとき、周辺参照画素値の変化量を基盤としてフィルタ適用可否を決定することができる。例えば、フィルタを適用しようとする参照画素値をp[n]とすれば、周辺参照画素値であるp[n-1]及びp[n+1]の差異値を計算し、これを特定しきい値(threshold)と比較してフィルタ適用可否を決定することができる。
【0056】
または、現在ブロックの予測モード以外に、現在ブロックのサイズによって参照画素値に対するフィルタ適用可否を決定することができる。このとき、現在ブロックの予測モード及び現在ブロックのサイズによるフィルタ適用可否を予め指定し、当該予測モードまたは当該サイズによって適応的にフィルタ適用可否を決定する。
【0057】
表1は、現在ブロックの予測モード及び現在ブロックのサイズによるフィルタ適用可否を指定した表である。
【表1】
【0058】
表1を参照すると、「0」は、フィルタが適用されていないことを意味し、「1」は、フィルタが適用されることを意味する。例えば、現在ブロックのサイズが4×4であるとき、現在ブロックの予測モードが1であればフィルタが適用されず、現在ブロックの予測モードが3であればフィルタが適用され得る。
【0059】
また、周辺ブロックの画面内(intra-frame)符号化または画面間(inter-frame)符号化の可否によって参照画素値に対するフィルタ適用可否が決定され得る。例えば、制限されたイントラ予測(constrained intra-prediction)実行の場合、周辺ブロックが画面間符号化されたとき、画面内に符号化された周辺ブロックの値などを用いて前記画面間に符号化された値を満たすことになり、このときは、フィルタリングを適用しないことができる。
【0060】
参照画素値に対してフィルタを適用することと決定された場合、ステップS202においてエンコーダは参照画素値に対してフィルタを適用する。適用されるフィルタは、一般的に使用されるフィルタでありうる。例えば、数式1の3-tapが使用され得るし、または2-tapフィルタが使用されることもできる。2-tapフィルタ使用されるとき、(1/8,7/8)、(2/8,6/8)、(3/8,5/8)などの様々なフィルタ係数が使用され得る。フィルタが適用された参照画素値が他の参照画素値にフィルタを適用するときに使用され得る。また、参照画素値にフィルタを適用する場合、全ての参照画素値に対してフィルタを適用することができ、一部参照画素値に対してのみフィルタを適用することもできる。
【0061】
ステップS203においてエンコーダは、フィルタが適用された、またはフィルタが適用されていない参照画素値を基盤としてイントラ予測を実行する。
【0062】
ステップS204においてエンコーダは、現在ブロックの符号化のために、前記イントラ予測実行によって予測された各予測モード別の予測値に対するフィルタ適用可否を決定する。ここで、各予測モードは、4×4ルマ予測モードの9個の予測モードでありうる。
各予測モード別の予測値に対してフィルタ適用可否を決定するときにも、周辺ブロックの情報を利用するか、RDO方法によってフィルタ適用可否を決定することができる。
【0063】
周辺ブロックの情報を利用して予測値に対するフィルタ適用可否を決定するとき、周辺ブロックの予測モード情報(MPM)を基盤として現在ブロックの予測モードを決定し、決定された現在ブロックの予測モードによって予測値に対するフィルタ適用可否を決定することができる。例えば、現在ブロックが「C」であり、上位ブロックが「A」、左側ブロックが「B」と仮定すれば、現在ブロックの予測モードが「A」の予測モードと同じである場合、「A」の予測モードを現在ブロックの予測モードとして決定し、現在ブロックの予測モードが「B」の予測モードと同じである場合、「B」の予測モードを現在ブロックの予測モードとして決定することができる。または、現在ブロックの予測モードが「A」の予測モードまたは「B」の予測モードを除いた他の予測モードである場合、当該予測モードを符号化して伝送する。このとき、現在ブロックの予測モードが特定予測モード(DCまたはplanar)である場合、参照画素値と予測値との間の差異が他の予測モードに比べて相対的に大きくなり得る。例えば、プラナー(planar)予測モードでの参照画素値と予測値との差異が、他の予測モードに比べて比較的大きい場合もある。プラナー(planar)予測モードでの予測値は、各行を水平的に線形補間(linear interpolation)して得られた第1の予測値と各列を垂直的に線形補間して得られた第2の予測値との平均で計算されることができる。水平的に線形補間するとき、右側の値は、参照画素値のうち、右上向きに位置した値(すなわち、
図3においてH)と同じであり、垂直的に線形補間するとき、下方の値は、参照画素値のうち、左下向きに位置した値(すなわち、
図3においてI)と同じである。予測値が参照画素値から直ちに求められるものではないので、参照画素値と予測値との差異が比較的大きい場合もある。
このような場合、予測値に対してフィルタを適用し、イントラ予測の効率性を高めることができる。このように決定された現在ブロックの予測モードによって予測値に対するフィルタ適用可否が決定され得る。現在ブロックと上位ブロック、または左側ブロックのサイズが異なる場合にも、周辺ブロックの予測モードによって現在ブロックの予測モードを決定することができる。
【0064】
または、現在ブロックの予測モード以外に、現在ブロックのサイズによって予測値に対するフィルタ適用可否を決定することができる。このとき、現在ブロックの予測モード及び現在ブロックのサイズによるフィルタ適用可否を予め指定し、当該予測モードまたは当該サイズによって適応的にフィルタ適用可否を決定する。または、周辺ブロックの画面内符号化または画面間符号化の可否によって予測値に対するフィルタ適用可否が決定され得る。
【0065】
予測値に対してフィルタを適用することと決定された場合、ステップS205においてエンコーダは、予測値に対してフィルタを適用する。これにより、現在ブロックの予測が完了し、エンコーダは、残差信号を計算し、エントロピー符号化を実行する。
【0066】
図7は、提案された適応的フィルタを用いたイントラ予測実行方法によって予測値にフィルタが適用される場合を示す。
【0067】
図7に示すように、現在ブロックの予測モードが非方向性モードである場合、参照画素値と予測値との間の差異が、他の予測モードに比べて相対的に大きい場合があるので、周辺の復元された参照画素値との境界に隣接した画素の予測値に対してのみフィルタを適用することができる。例えば、
図3において、境界に位置した1行の画素であるa1~a8及びb1、c1、d1、e1、f1、g1、h1に該当する予測値に対してフィルタリングを実行することができる。または、境界に位置した2行の画素であるa1~a8、b1~b8及びc1~c2、d1~d2、e1~e2、f1~f2、g1~g2、h1~h2に該当する予測値に対してフィルタを適用することができる。このときに適用されるフィルタは、一般的に使用されるフィルタでありうる。例えば、数式1の3-tapが使用され得るし、または、2-tapフィルタが使用され得る。2-tapフィルタが使用されるとき、(1/8,7/8)、(2/8,6/8)、(3/8,5/8)などの様々なフィルタ係数が使用され得る。または、画素の位置によって2-tapフィルタまたは3-tapフィルタのうち、いずれか1つを選択して使用することもできる。
【0068】
同様な方法で、現在ブロックの予測モードがモード0、モード3、またはモード7のように、A~Pに該当する参照画素値を用いる予測モードである場合、参照画素値と予測値との間の差異が比較的大きいa1~a8に該当する予測値に対してフィルタを適用することができる。また、現在ブロックの予測モードがモード1またはモード8のように、Q~Xに該当する参照画素値を用いる予測モードである場合、参照画素値と予測値との間の差異が比較的大きいa1、b1、c1、d1、e1、f1、g1、及びh1に該当する予測値に対してフィルタを適用することができる。
【0069】
数式2は、画素の位置によって2-tapフィルタまたは3-tapフィルタを選択して使用する場合、予測値に適用されるフィルタを表す数式の一例である。
【0070】
<数2>
f[a1]=(2×A+4×a1+2×Q)/8
f[b1]=(2×B+6×b1)/8
f[c1]=(2×C+6×c1)/8
...
f[a2]=(2×R+6×a2)/8
f[a3]=(2×S+6×a3)/8
...
【0071】
数式2においてf[a1]は、予測値a1にフィルタを適用した値であり、AとQは、参照画素値を表す。数式2を参照すると、a1に位置した画素の予測値に対して3-tapフィルタが適用され、残りの画素の予測値に対しては2-tapフィルタが適用されることが分かる。
【0072】
数式3は、提案された適応的フィルタを用いたイントラ予測実行方法によって予測値にフィルタが適用される場合、予測値に適用されるフィルタを表す数式のさらに他の例である。
【0073】
<数3>
1.Vertical low-pass filter
v[a1]=(A+2×a1+a2)/4
v[a2]=(v[a1]+2×a2+a3)/4
...
v[a8]=(v[a7]+3×a8)/4
v[b1]=(B+2×b1+b2)/4
...
2.Horizontal low-pass filter
h[a1]=(Q+2×v[a1]+v[b1])/4
h[b1]=(h[a1]+2×v[b1]+v[c1])/4
...
h[h1]=(h[g1]+3×v[h1])/4
h[a2]=(R+2×v[a2]+v[b2])/4
...
【0074】
数式3のフィルタは、各予測モードに対して周辺ブロックの情報を利用する方法またはRDO方法を基盤として適応的なフィルタを適用するときに使用されることができる。数式3を参照すると、フィルタ係数が(1,2,1)である低帯域フィルタが垂直と水平の2つの方向に対して順次実行される。まず、垂直方向にフィルタが適用され、フィルタが適用された値を基盤としてさらに水平方向にフィルタが適用される。フィルタが適用された予測値が他の予測値にフィルタを適用するときに使用されることができる。
【0075】
一方、RDO方法が適用される場合、
図6において説明されたイントラ予測実行方法が繰り返されて実行されることができる。
【0076】
図8は、本発明の実施形態が実現されるエンコーダ及びデコーダのブロック図である。
【0077】
エンコーダ800は、プロセッサ(810;processor)及びメモリ(820;memory)を備える。プロセッサ810は、提案された機能、過程、及び/又は方法を実現する。プロセッサ810は、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第1のフィルタの適用可否を決定し、前記第1のフィルタを適用することと決定された場合、前記参照画素値に対して前記第1のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測実行によって予測された前記現在ブロックの各予測モード別の予測値に対する第2のフィルタの適用可否を決定し、前記第2のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第2のフィルタを適用するように構成される。メモリ829は、プロセッサ810と連結されて、プロセッサ810を駆動するための様々な情報を記憶する。
【0078】
デコーダ900は、プロセッサ910及びメモリ920を備える。プロセッサ910は、提案された機能、過程、及び/又は方法を実現する。プロセッサ910は、現在ブロックの周辺ブロックの情報を基盤として参照画素値に対する第1のフィルタの適用可否を決定し、前記第1のフィルタを適用することと決定された場合、前記参照画素値に対して前記第1のフィルタを適用し、前記参照画素値を基盤として前記現在ブロックに対するイントラ予測を実行し、前記周辺ブロックの情報を基盤として前記イントラ予測実行によって予測された前記現在ブロックの各予測モード別の予測値に対する第2のフィルタの適用可否を決定し、前記第2のフィルタを適用することと決定された場合、前記現在ブロックの各予測モード別の予測値に対して前記第2のフィルタを適用するように構成される。メモリ920は、プロセッサ910と連結されて、プロセッサ910を駆動するための様々な情報を記憶する。
【0079】
プロセッサ810、910は、ASIC(application-specific integrated circuit)、他のチップセット、論理回路、及び/又はデータ処理装置を備えることができる。メモリ820、920は、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、記憶媒体、及び/又は他の記憶媒体を備えることができる。実施形態がソフトウェアで実現されるとき、上述した技法は、上述した機能を果たすモジュール(過程、機能など)で実現されることができる。モジュールは、メモリ820、920に保存され、プロセッサ810、910によって実行され得る。メモリ820、920は、プロセッサ810、910の内部または外部にありうるし、よく知られた様々な手段によってプロセッサ810、910と連結されることができる。
【0080】
上述した例示的なシステムにおいて、方法などは、一連のステップまたはブロックとして順序図に基づいて説明されているが、本発明は、ステップなどの順序に限定されるものではなく、あるステップは、上述したことと異なるステップと異なる順序とで、或いは同時に発生することができる。また、当業者であれば、順序図に示したステップなどが排他的でなく、他のステップが含まれるか、順序図の1つまたはそれ以上のステップが本発明の範囲に影響を及ぼさずに削除され得ることを理解できるであろう。
【0081】
上述した実施形態などは、様々な態様の例示等を含む。様々な態様などを表すための全ての可能な組み合わせを記述することはできないが、当該技術分野の通常の知識を有した者は、他の組み合わせが可能であるということを認識できるであろう。したがって、本発明は、以下の特許請求の範囲内に属する全ての他の交替、修正、及び変形を含むといえよう。