以下、本発明の実施の形態について、図1から図7と図13〜図17を用いて説明する。
図1は本発明の実施形態に係る動画像予測符号化装置100を示すブロック図である。図1に示すように、動画像予測符号化装置100は、入力端子101、ブロック分割器102、予測信号生成器103、フレームメモリ104、減算器105、変換器106、量子化器107、逆量子化器108、逆変換器109、加算器110、エントロピー符号化器111、出力端子112、ブロックメモリ113、およびループフィルタ器114を備える。減算器105、変換器106と量子化器107は、特許請求の範囲に記載された「符号化手段」に対応する。また、逆量子化器108、逆変換器109と加算器110は、特許請求の範囲に記載された「復号手段」に対応する。フレームメモリ104は「画像格納手段」、ブロックメモリ113は「ブロック格納手段」に対応する。
以上のように構成された動画像予測符号化装置100について、以下その動作を述べる。複数枚の画像からなる動画像の信号は入力端子101に入力される。符号化の対象となる画像はブロック分割器102にて、複数の領域に分割される。本発明に係る実施形態では、図7に例を示したようにブロックサイズは限定されない。複数のブロックサイズや形が1画面に混在してよい。ブロックの符号化順については、例えば非特許文献1に記載されている。次に符号化処理の対象となる領域(以下対象ブロックとよぶ)に対して、予測信号を生成する。本発明に係る実施形態では、画面間予測と画面内予測の2種類の予測方法を用いる。予測信号生成器103における予測信号生成処理については、図13を用いて後述する。
減算器105にて対象ブロックの信号(ラインL102経由)から予測信号(ラインL103経由)を引き算し、残差信号を生成する。この残差信号は変換器106にて離散コサイン変換され、各変換係数は量子化器107にて量子化される。エントロピー符号化器111は量子化された変換係数を符号化して、予測信号の生成に必要となる予測情報とともに出力端子112より送出する。
後続の対象ブロックに対する画面内予測もしくは画面間予測を行うために、圧縮された対象ブロックの信号は逆処理し復元される。すなわち、量子化された変換係数は逆量子化器108にて逆量子化されたのちに逆変換器109にて逆離散コサイン変換され、残差信号を復元する。加算器110にて復元された残差信号とラインL103から送られた予測信号とを加算し、対象ブロックの信号を再生する。再生されたブロックの信号は、画面内予測のためブロックメモリ113に格納される。再生された信号により構成される再生画像は、ループフィルタ器114にて再生画像内に発生するブロックノイズが除去されたのち、フレームメモリ104に格納される。
図13にて、予測信号生成器103における予測信号処理フローを説明する。まずステップS302にて、画面間予測に必要な予測情報を生成する。具体的には、過去に符号化されたのちに復元された再生画像を参照画像として、この参照画像から対象ブロックに対する誤差の最も小さい予測信号を与える動きベクトルと参照画面を探索する。この際、対象ブロックはラインL102経由で、参照画像はL104経由で入力される。参照画像としては、過去に符号化され復元された複数枚の画像を参照画像として用いる。詳細は従来の技術であるH.264あるいは非特許文献1に示した方法と同じである。
ステップS303では、画面内予測に必要な予測情報を生成する。図7に示すように対象ブロックに空間的に隣接する既再生の画素値を用いて、複数の画面内予測の方向について、予測信号を生成する。そして、対象ブロックに対する誤差の最も小さい予測信号を与える予測方向(イントラ予測モード)を決定する。この際、予測信号生成器103では、ブロックメモリ113からラインL113経由で同じ画面内にある既再生の画素信号を参照サンプルとして取得し、これらの信号を外挿することによって画面内予測信号を生成する。
次にステップS304では、対象ブロックに適用する予測方法を画面間予測と画面内予測から選択する.例えば,対象ブロックに対する誤差の小さい予測値を与える予測方法を選択する。あるいは、実際に2つの予測方法について符号化処理まで行い,発生した符号量と符号化誤差画像の絶対値和の関係から算出される評価値が小さい方を選択するようにしてもよい.選択した予測方法の選択情報は、予測信号の生成に必要な情報としてラインL112経由でエントロピー符号化器111に送られ符号化した上で出力端子112から送出される(ステップS305)。
ステップS306にて選択した予測方法が画面間予測の場合には、動き情報(動きベクトルと参照画面情報)に基づいてステップS307にて予測信号が生成され、生成された画面間予測信号はラインL103経由で減算器105に出力される。ステップS308にて、動き情報は、予測信号の生成に必要な情報としてラインL112経由でエントロピー符号化器111に送られ符号化した上で出力端子112から送出される。
ステップS306にて選択した予測方法が画面内予測の場合には、イントラ予測モードに基づいてステップS309にて予測信号が生成され、生成された画面内予測信号はラインL103経由で減算器105に出力される。ステップS310にて、イントラ予測モードは、予測信号の生成に必要な情報としてラインL112経由でエントロピー符号化器111に送られ符号化した上で出力端子112から送出される。
エントロピー符号化器111に用いる符号化方法は、算術符号化でも良いし、可変長符号化でも良い。
図2は本発明の実施形態に係る動画像予測復号装置200のブロック図である。図2に示すように、動画像予測復号装置200は、入力端子201、データ解析器202、逆量子化器203、逆変換器204、加算器205、予測信号生成器208、フレームメモリ207、出力端子206、ループフィルタ器209、およびブロックメモリ215を備える。逆量子化器203と逆変換器204は、特許請求の範囲に記載された「復号手段」に対応する。復号手段としては上記以外のものを用いてもよい。また逆変換器204がなくてもよい。フレームメモリ207は「画像格納手段」、ブロックメモリ215は「ブロック格納手段」に対応する。
以上のように構成された動画像予測復号装置200について、以下その動作を述べる。上述した方法で圧縮符号化された圧縮データは入力端子201から入力される。この圧縮データには、画像を複数のブロックに分割された対象ブロックを予測し符号化された残差信号や予測信号の生成に必要な情報が含まれている。図7に例を示したようにブロックサイズは限定されない。複数のブロックサイズや形が1画面に混在してよい。ブロックの復号順については、例えば非特許文献1に記載されている。予測信号の生成に必要な情報には、予測方法選択情報と動き情報(画面間予測の場合)あるいはイントラ予測モード(画面内予測の場合)が含まれている。
データ解析器202は、圧縮データから対象ブロックの残差信号、予測信号の生成に必要な情報、量子化パラメータを復号する。復号された対象ブロックの残差信号は逆量子化器203にて量子化パラメータ(ラインL202経由)をもとに逆量子化される。さらに、逆量子化された残差信号は、逆変換器204にて逆離散コサイン変換され、その結果として、残差信号が復元される。次に、ラインL206経由で予測信号の生成に必要な情報が予測信号生成器208に送られる。予測信号生成器208では、予測信号の生成に必要な情報に基づいて対象ブロックの予測信号を生成する。予測信号生成器208における予測信号の生成処理については、図14を用いて後述する。生成された予測信号はラインL208経由で加算器205に送られ、復元された残差信号に加算され、対象ブロック信号を再生し、ラインL205経由でループフィルタ器209に出力すると同時に、後続のブロックの画面内予測に用いるためブロックメモリ215に格納される。ループフィルタ器209は、ラインL205経由で入力された再生信号からブロックノイズを除去し、ブロックノイズを除去した再生画像は、後続の画像の復号・再生に用いられる再生画像としてフレームメモリ207に格納される。
図14にて、予測信号生成器208における予測信号処理フローを説明する。まずステップS402にて、データ解析器202で復号した予測方法を取得する。
復号した予測方法が画面間予測の場合(ステップS403)には、データ解析器202で復号した動き情報(動きベクトルと参照画面情報)を取得し(ステップS404)、動き情報に基づいてフレームメモリ207にアクセスし、複数の参照画像の中から参照信号を取得し予測信号を生成する(ステップS405)。
復号した予測方法が画面内予測の場合(ステップS403)には、データ解析器202で復号したイントラ予測モードを取得し(ステップS406)、ブロックメモリ215にアクセスし、対象ブロックに隣接する既再生の画素信号を参照サンプルとして取得し、イントラ予測モードに基づいて予測信号を生成する(ステップS407)。生成した予測信号はL208経由で加算器205に出力される。
データ解析器202に用いる復号方法は、算術復号でも良いし、可変長復号でも良い。
次に、図3と図7を用いて、本発明の実施形態における画面内予測方法について説明する。つまり、図13のステップS309と図14のステップS407の詳細であり、図1のブロックメモリ113あるいは図2のブロックメモリ215から取得した参照サンプルを用いて、対象ブロックのイントラ予測サンプルをイントラ予測モードに基づく外挿法により推定する方法について説明する。
本発明では、発明が解決しようとする課題にて示した擬似輪郭のようなノイズの発生を抑制するため、擬似輪郭の要因となるブロックについて、画面内予測に用いる参照サンプル群に双一次内挿処理を適用する。参照サンプル群の信号の変化を緩やかにすることにより、参照サンプル群のブロック境界に発生するステップ状のノイズの出現を抑制する。
図7にて、参照サンプル群に適用する双一次内挿処理について説明する。対象ブロック210のブロックサイズがN×Nサンプルのとき、ここでは,その周囲の5つの既再生ブロック220、230、240、250、260に属する既再生の信号にて4N+1個の参照サンプル群270(ref[x] (x=0〜4N))が構成される。本実施形態では,参照サンプル群270の端にある下左の参照サンプルBL=ref[0]と上右の参照サンプルAR=ref[4N],ならびに参照サンプル群270の中央にあり,対象ブロックの上左に位置する上左の参照サンプルAL=ref[2N]の3つを双一次内挿のキー参照サンプルとして定義する。このとき4N+1個の参照サンプルは下記のように内挿処理される。
ref’[0]=ref[0] (1)
ref’[i]=BL+(i*(AL-BL)+N)/2N (i=1〜2N-1) (2)
ref’[2N]=ref[2N] (3)
ref’[2N+i]=AL+(i*(AR-AL)+N)/2N (i=1〜2N-1) (4)
ref’[4N]=ref[4N] (5)
ここでref’[x](x=0〜4N)は内挿処理後の参照サンプル(interpolated reference samples)の値を示している。なお、式(2)と(4)は、それぞれ式(2)’と(4)’のように変形してもよい。
ref’[i]=((2N-i)*BL+i*AL+N)/2N (i=1〜2N-1) (2)’
ref’[2N+i]=((2N-i)*AL+i*AR+N)/2N (i=1〜2N-1) (4)’
このように、BL〜ALの間の参照サンプルをキー参照サンプルBLとALで双一次内挿にて生成し、AL〜ARの間の参照サンプルをキー参照サンプルALとARで双一次内挿にて生成することで、対象ブロックに隣接する内挿処理後の参照サンプル値のレベルは緩やかに変化する。その結果、予測信号へのブロックノイズの伝播を抑制することができる。
次に図7にて、双一次内挿を適用する参照サンプルの判定基準について説明する。本実施形態では、3つのキー参照サンプルとブロック境界の2つの参照サンプル、ならびに2つの閾値を用いて判定を行う。ここで、THRESHOLD_ABOVEとTHRESHOLD_LEFTを、それぞれ対象ブロックの上端の参照サンプルref[x] (x=2N+1〜4N-1)と左端の参照サンプルref[x] (x=1〜2N-1)に双一次内挿を適用するか否かを決定するための判定に用いる閾値とする。判定基準を満たす参照サンプルに、双一次内挿を適用する。
本実施形態では、下記の判定基準を用いる。下記の2つの式におけるInterpolate_AboveとInterpolate_Leftはブール値であり、右辺の式を満たす場合はture(1)となり双一次内挿を適用し、満たさない場合はfalse(0)となり従来の121フィルタによるintra smoothingを適用する。
Interpolate_Left=abs(BL+AL−2*ref[N])<THRESHOLD_LEFT (6)
Interpolate_Above=abs(AL+AR−2*ref[3N])<THRESHOLD_ABOVE (7)
BL、ALとref[3N]の値が直線上に並ぶ場合、BL+AL−2*ref[N]の値は0となる。同様にAL、ARとref[3N]の値が直線上に並ぶ場合、AL+AR−2*ref[3N]の値も0となる。つまり、上記の2式は、BLからALをつなぐ直線に対するref[N]の偏差(deviation)の大きさ、ALとARをつなぐ直線に対するref[3N]の偏差(deviation)の大きさとをそれぞれの閾値と比較している。算出した2つの偏差が対応する閾値THRESHOLD_ABOVEまたはTHRESHOLD_LEFTより小さければブール値(Interpolate_AboveまたはInterpolate_Left)はtrueとなり、参照サンプルに双一次内挿を適用する。式(6)と(7)でabs(x)はxの絶対値を算出する。
このとき、2つの閾値の値(THRESHOLD_ABOVEとTHRESHOLD_LEFT)は、予め設定した固定値でもよいし、フレーム単位や複数のブロックをまとめたスライス単位で符号化し、復号器で復元するようにしてもよい。また、ブロック単位で符号化し、復号器で復元するようにしてもよい。図2では、データ解析器202にて2つの閾値を復号し、予測信号生成器208に出力し,下記の図3と図4に詳しく説明する画面内予測信号の生成に用いる。
図3にイントラ予測サンプルを外挿法(画面内予測の方向)により推定する処理の流れ図を示す。まず、予測信号生成器(103または208、以下番号は省略)は、ステップ510にて、ブロックメモリ(113または215、以下番号は省略)から図7の画素群270に示すような参照サンプルref[x] (x=0〜4N)を取得する。この際、符号化順番等の理由で隣接ブロックがまだ再生されておらず、4N+1個の参照サンプルを全て取得することができない場合には、存在しないサンプルをパディング処理(近くの存在するサンプル値をコピー)にて生成し、4N+1個の参照サンプルを準備する。パディング処理の詳細については、非特許文献1に記載されている。次に、ステップ560にて、式(6)と(7)に基づいて、2つのブール値Interpolate_AboveとInterpolate_Leftを算出する。
次に、予測信号生成器は、ステップ520にて、対象ブロックが,双一次内挿適用の判定基準を満たすかを判定する.具体的には,対象ブロックのサイズが予め定めたMより大きいかを判定すると共に、算出したInterpolate_AboveとInterpolate_Leftが共にtrueであるかを判断する。ブロックサイズを判定基準とするのは、通常、課題とする擬似輪郭は大きなブロックサイズで発生しやすいためである。Mの値を大きく設定することにより、参照サンプルの不要な変更を抑制する効果がある。
これらの2つの判定基準を満たす場合(ブロックサイズ>=MかつInterpolate_Above==trueかつInterpolate_Left==true)には、ステップ530に進み、満たさない場合はステップ540に進む。ステップ530では、式(1)から(5)に示す双一次内挿処理を参照サンプルref[x](x=0〜4N)に適用し、内挿処理後の参照サンプル(interpolated reference samples)ref’[x] (x=0〜4N)を生成する。ステップ540では、式(8)と(9)に従って、参照サンプルref[x] (x=0〜4N)に121フィルタによるintra smoothingを適用する。
ref’[i]=ref[i] (i=0 and 4N) (8)
ref’[i]=(ref[i-1]+2*ref[i]+ref[i+1]+2)/4 (i=1〜4N-1) (9)
ここでref’[x](x=0〜4N)は平滑化後の参照サンプル(smoothed reference samples)の値を示している。
最後に、ステップ550では、既に定まっているイントラ予測モードと内挿後あるいは平滑化後の参照サンプルref’[x](x=0〜4N)を用いて、対象ブロックのイントラ予測サンプルを外挿法(画面内予測の方向)により推定する。
図4は、図3をより詳細に説明するものであり、双一次内挿と121フィルタの切り替えを、左参照サンプル(ref[x],x=0〜2N)と上参照サンプル(ref[x],x=2N〜4N)に分けて独立に実施する場合におけるイントラ予測サンプルを外挿法(画面内予測の方向)により推定する処理の流れ図を示している。まず、予測信号生成器(103または208、以下番号は省略)は、ステップ610にて、ブロックメモリ(113または215、以下番号は省略)から図7の画素群270に示すような参照サンプルref[x] (x=0〜4N)を取得する。この際、符号化順番等の理由で隣接ブロックがまだ再生されておらず、4N+1個の参照サンプルを全て取得することができない場合には、存在しないサンプルをパディング処理(近くの存在するサンプル値をコピー)にて生成し、4N+1個の参照サンプルを準備する。パディング処理の詳細については、非特許文献1に記載されている。
次に、ステップ680にて、式(6)と(7)に基づいて、2つのブール値Interpolate_AboveとInterpolate_Leftを算出する。
次に、予測信号生成器は、ステップ620にて、対象ブロックが,双一次内挿適用の判定基準を満たすかを判断する.具体的には,対象ブロックのサイズが予め定めたMより大きいかを判定すると共に、算出したInterpolate_AboveとInterpolate_Leftの少なくとも一方がtrueであるかを判定する。この2つの判定基準を満たす場合(ブロックサイズ>=Mかつ、Interpolate_Above==trueまたはInterpolate_Left==true)には、ステップ625に進み、満たさない場合はステップ660に進む。ステップ660では、式(8)と(9)に従い、参照サンプル群に121フィルタによるintra smoothingを適用する。
ステップ625では、式(6)に示した左参照サンプルの双一次内挿適用の判定基準を満たすかを判定する。つまり、Interpolate_Leftがtrue(1)の場合はステップ630に進み、式(1)と(2)に示す双一次内挿処理を参照サンプルref[x](x=0〜2N)に適用し、内挿処理後の参照サンプル(interpolated reference samples)ref’[x] (x=0〜2N)を生成する。式(6)の判定基準を満たさない場合には、ステップ635に進み、式(10)と(11)に従って、左参照サンプルref[x] (x=0〜2N)に121フィルタによるintra smoothingを適用する。
ref’[0]=ref[0] (10)
ref’[i]=(ref[i-1]+2*ref[i]+ref[i+1]+2)/4 (i=1〜2N-1) (11)
ここでref’[x] (x=0〜2N)は平滑化後の参照サンプル(smoothed reference samples)の値を示している。
次に、ステップ640では、式(7)に示した上参照サンプルの双一次内挿適用の判定基準を満たすかを判定する。つまり、Interpolate_Aboveがtrue(1)の場合はステップ650に進み、式(3)と(4)と(5)に基づいて上参照サンプルref[i] (i=2N+1〜4N)に双一次内挿処理を適用する。式(7)の判定基準を満たさない場合には、ステップ655に進み、上参照サンプルref[x] (x=2N+1〜4N)に式(12)と(13)と(14)に基づいて121フィルタによるintra smoothingを適用する。
ref’[2N]=ref[2N] (12)
ref’[i]=(ref[i-1]+2*ref[i]+ref[i+1]+2)/4 (i=2N+1〜4N-1) (13)
ref’[4N]=ref[4N] (14)
ここでref’[x](x=2N+1〜4N)は平滑化後の参照サンプル(smoothed reference samples)の値を示している。
最後に、ステップ670では、既に定まっているイントラ予測モードと内挿処理後あるいは平滑化後の参照サンプルref’[x](x=0〜4N)を用いて、対象ブロックのイントラ予測サンプルを外挿法(画面内予測の方向)により推定する。外挿には、外挿される対象ブロック内のサンプルの位置から、内挿処理後あるいは平滑化後の参照サンプル(interpolated or smoothed reference samples)に向けて、イントラ予測の方向にラインを投影したとき、投影したラインに近い位置にある内挿処理後あるいは平滑化後の参照サンプル(interpolated or smoothed reference samples)が利用される。
コンピュータを上記の動画像予測符号化装置100として機能させるための動画像予測符号化プログラムは、記録媒体に格納されて提供可能とされている。同様に、コンピュータを上記の動画像予測復号装置200として機能させるための動画像予測復号プログラムは、記録媒体に格納されて提供可能とされている。記録媒体としては、USBメモリ、フレキシブルディスク、CD−ROM、DVD、あるいはROM等の記録媒体、又は半導体メモリ等が例示される。
例えば、図16に示すように、動画像予測符号化プログラムP100は、ブロック分割モジュールP101、予測信号生成モジュールP102、残差信号生成モジュールP103、残差信号圧縮モジュールP104、残差信号復元モジュールP105、符号化モジュールP106、及びブロック格納モジュールP107を備えている。
また、例えば、図17に示すように、動画像予測復号プログラムP200は、復号モジュールP201、予測信号生成モジュールP202、残差信号復元モジュールP203、及びブロック格納モジュールP204を備えている。
このように構成された動画像予測符号化プログラムP100または動画像予測復号プログラムP200は、後述の図5及び図6に示す記録媒体10に記憶され、後述するコンピュータにより実行される。
図5は、記録媒体に記録されたプログラムを実行するためのコンピュータ30のハードウェア構成を示す図であり、図6は、記録媒体に記憶されたプログラムを実行するためのコンピュータ30の概観図である。ここでのコンピュータ30は、CPUを具備しソフトウエアによる情報処理や制御を行うDVDプレーヤ、セットトップボックス、携帯電話などを広く含む。
図6に示すように、コンピュータ30は、フレキシブルディスクドライブ装置、CD−ROMドライブ装置、DVDドライブ装置等の読み取り装置12と、オペレーティングシステムを常駐させた作業用メモリ(RAM)14と、記録媒体10に記憶されたプログラムを記憶するメモリ16と、ディスプレイといった表示装置18と、入力装置であるマウス20及びキーボード22と、データ等の送受を行うための通信装置24と、プログラムの実行を制御するCPU26とを備えている。記録媒体10が読み取り装置12に挿入されると、コンピュータ30は、読み取り装置12から記録媒体10に格納された動画像予測符号化プログラムにアクセス可能になり、当該動画像予測符号化プログラムによって上記の動画像予測符号化装置100として動作することが可能になる。同様に、記録媒体10が読み取り装置12に挿入されると、コンピュータ30は、読み取り装置12から記録媒体10に格納された動画像予測復号プログラムにアクセス可能になり、当該動画像予測復号プログラムによって上記の動画像予測復号装置200として動作することが可能になる。
本発明では、さらに下記の変形が可能である。
(A)双一次内挿適用の判定基準
双一次内挿適用の判定基準は、上記実施形態で説明した方法に限定されない。例えば、内挿適用の判定結果を常にtrueとし、ステップ520、620、625、640を省略してもよい。この場合、121フィルタによる平滑化処理(smoothing process)の代わりに内挿処理(interpolation process)が常に適用される。
判定基準に、イントラ予測モードを加えても良い。例えば、ブロック境界に発生する擬似輪郭はブロックノイズ除去処理で軽減されるため、外挿処理の予測方向が垂直や水平のときは、内挿処理適用の判定結果を常にfalseとしてもよい。
判断基準からブロックサイズを取り除いてもよい。また、対象ブロックブロックサイズの代わりに、対象ブロックと隣接ブロックのブロックサイズの相対関係を判断基準に用いてもよい。図7の例では、対象ブロック210の左に隣接するブロック260のブロックサイズは、対象ブロック210よりも大きい。この場合、ref[N]の周辺でブロックノイズは発生しない。このように、隣接ブロックのブロックサイズが対象ブロックより大きい場合には、式(6)または(7)の結果にかかわらず、内挿適用の判定基準をfalseとしてもよい。一方、対象ブロック210の上に隣接するブロック230,240、250は、対象ブロック210よりも小さい。この場合、ref[3N]やref[2N+N/2]の周辺でブロックノイズが発生する可能性があるため、式(6)または(7)の結果で内挿適用を判定する。なお、この対象ブロックと隣接ブロックのブロックサイズの相対関係は、対象ブロックのブロックサイズと共に判定基準として用いてもよい。
式(6)と(7)の閾値(THRESHOLD_ABOVEとTHRESHOLD_LEFT)は異なるブロックサイズ、ブロック形状(ブロックの縦と横のサイズの違い)や異なるイントラ予測モードに対して個別に定めて符号化し、復号器で復元するようにしてもよい。また、THRESHOLD_ABOVEとTHRESHOLD_LEFTの値を同じ値にし、1方のみを符号化し、復号器で復元するようにしてもよい。復号器では、図2のデータ解析器202にて復元された閾値が予測信号生成器208に入力される。予測信号生成器208では、入力された閾値に基づいて、Interpolate_AboveとInterpolate_Leftの値を算出する(図3のステップ560または図4のステップ680)。
また、ステップ520、620、625と640に判定基準を設ける代わりに判定結果をビットストリームに含めて符号化し、復号器で復元するようにしてもよい。この場合、図1の予測信号生成器103にて、Interpolate_AboveとInterpolate_Leftの値(0か1)を、対象ブロックのサイズと式(6)や(7)の結果に基づいて、2つの値を求め、予測に必要な予測情報として、ブロック毎や複数のブロックをまとめたブロック群単位で符号化する。つまり、ラインL112経由でエントロピー符号化器111に送られ符号化した上で出力端子112から送出される。なお、Interpolate_AboveとInterpolate_Leftの値(0か1)の求める際に、上記で述べた対象ブロックと隣接ブロックのブロックサイズの相対関係や対象ブロックのサイズならびにイントラ予測モードを用いてもよい。
図2のデータ解析器202では、Interpolate_AboveとInterpolate_Leftの値をブロック毎あるいは複数のブロックをまとめたブロック群単位で復号し、予測信号生成器208に入力される。なお、2つの値は、個別に符号化し、復号しても良いし、2つの値の組として符号化し、復号するようにしてもよい。
図15にて図2の予測信号生成器208内の画面内予測方法の処理を説明する。この場合、図15が図4に置き換えられる。図14では、ステップS406にて、イントラ予測モードと共に復号されたInterpolate_AboveとInterpolate_Leftの値を取得する。まず、予測信号生成器(103または208、以下番号は省略)は、ステップ710にて、ブロックメモリ(113または215、以下番号は省略)から図7の画素群270に示すような参照サンプルref[x] (x=0〜4N)を取得する。この際、符号化順番等の理由で隣接ブロックがまだ再生されておらず、4N+1個の参照サンプルを全て取得することができない場合には、存在しないサンプルをパディング処理(近くの存在するサンプル値をコピー)にて生成し、4N+1個の参照サンプルを準備する。パディング処理の詳細については、非特許文献1に記載されている。
次に、ステップ790にて、Interpolate_AboveとInterpolate_Leftの値を取得する。予測信号生成器は、ステップ720にて、Interpolate_AboveとInterpolate_Leftの値のいずれかが1であるかを判定する。いずれかの値が1の場合には、ステップ725に進み、満たさない場合はステップ760に進む。ステップ760では、式(8)と(9)に従い、参照サンプル群に121フィルタによるintra smoothingを適用する。
ステップ725では、Interpolate_Leftの値が1の場合はステップ730に進み、式(1)と(2)に示す双一次内挿処理を参照サンプルref[x](x=0〜2N)に適用し、内挿処理後の参照サンプル(interpolated reference samples)ref’[x] (x=0〜2N)を生成する。Interpolate_Leftの値が0の場合はステップ735に進み、式(10)と(11)に従って、左参照サンプルref[x] (x=0〜2N)に121フィルタによるintra smoothingを適用する。
次に、ステップ740では、Interpolate_Above値が1の場合はステップ750に進み、式(3)と(4)と(5)に基づいて上参照サンプルref[i] (i=2N+1〜4N)に双一次内挿処理を適用する。Interpolate_Above値が0の場合はステップ755に進み、左参照サンプルref[x] (x=2N+1〜4N)に式(12)と(13)と(14)に基づいて121フィルタによるintra smoothingを適用する。
最後に、ステップ770では、復号されたイントラ予測モードと内挿処理後あるいは平滑化後の参照サンプルref’[x](x=0〜4N)を用いて、対象ブロックのイントラ予測サンプルを外挿法(画面内予測の方向)により推定する。
(B)内挿処理
上記では、内挿処理に双一次内挿を用いているが、ブロック境界のノイズが除去できればよいので、別の内挿処理でもよい。例えば、キー参照サンプルの平均値で全ての参照サンプルを置き換えてもよい。ブロックサイズや画面内予測タイプで内挿処理方法を切り替えても良いし、適用する内挿処理方法をビットストリームに含めて符号化し、復号するようにしてもよい。
(C)参照サンプルの画面内予測の処理フロー
イントラ予測サンプルを外挿法(画面内予測の方向)により推定する処理のフローは図4の手順に限定されない。例えば、ステップ625、630と635はステップ640、650と655と順序を入れ替えてもよい。また、式(3)と式(12)は、ステップ650、655ではなく、ステップ630、635で実施してもよい。また、式(1)(3)(5)と式(10)(12)(14)の処理結果は同じであるため、ステップ625の直前(ステップ620と625の間)かステップ650と655の直後(ステップ650か655とステップ670の間)にまとめて実施してもよい。
また、ステップ620の判定基準をブロックサイズのみとしてもよい。このとき、式(12)を式(15)と(16)に置き換えれば、処理結果は図4と同じになるので、そのようにしてもよい。
ref’[2N]=ref[2N]
if Interpolate_Above==true || Interpolate_Left==true (15)
ref’[2N]=(ref[2N-1]+2*ref[2N]+ref[2N+1]+2)/4 others (16)
ここでref’[2N]は平滑化後の参照サンプル(smoothed reference samples)の値を示している。
(D)ブロックサイズ
上記では、対象ブロックを正方ブロックとしているが、非正方ブロックにも本発明の参照サンプルへの内挿処理は同様に適用できる。対象ブロック290ブロックサイズがN×2Nの例を図12に示している。この場合、ref[x]の数は3N+1個となる。
(E)キー参照サンプル
上記では、キー参照サンプルを参照サンプル群の端と中央の3つとしているが、その数と位置は限定されない。例えば、参照ブロックのサイズや参照ブロックと隣接ブロックとの相対関係に応じて数や位置を変えても良いし、キー参照サンプルの数と位置をビットストリームに含めて符号化し、復号するようにしてもよい。また、キー参照サンプルを参照サンプル群の端と中央の3つをデフォルトとし、デフォルトを用いるか、別のキー参照サンプルを用いるかを指示情報として符号化し、復号してもよい。図2のデータ解析器202にて、キー参照サンプルを更新する。更新するキー参照サンプルとしては、図7でref[N+N/2]やref[2N+N/2]を加えても良いし、それらをref[2N]の代わりに用いても良い。また、ref[0]とref[4N]の代わりにref[N/2]とref[3N+N/2]を用い、ref[1]〜ref[N/2-1]とref[3N+N/2]〜ref[4N-1]には121フィルタを適用するようにしてもよい。
(F)判定基準の式
ステップ520、620、625、640で用いる判定式は、式(6)と(7)に限定されない。例えば、図7のref[N]やref[3N]の代わりにref[N+1]やref[3N+1]を用いても良い。
本発明の一側面に係る動画像予測符号化装置は、入力画像を複数のブロックに分割するブロック分割手段と、前記ブロック分割手段により分割されたブロックのうち、符号化対象である対象ブロックとの相関が高いブロックの画面内予測信号を、前記対象ブロックに隣接する既再生の参照サンプルを用いて生成する予測信号生成手段と、前記対象ブロックの予測信号と前記対象ブロックの画素信号との残差信号を生成する残差信号生成手段と、前記残差信号生成手段により生成された残差信号を圧縮する残差信号圧縮手段と、前記残差信号の圧縮データを復元した再生残差信号を生成する残差信号復元手段と、前記残差信号の圧縮データを符号化する符号化手段と、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納手段と、を具備し、前記予測信号生成手段は、前記ブロック格納手段に保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、イントラ予測モードを決定し、決定したイントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測を生成し、前記符号化手段は、前記イントラ予測モードを圧縮データに含めて符号化することを特徴とする。
上記の動画像予測符号化装置では、予測信号生成手段は、前記キー参照サンプルと予め定めた閾値との比較に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施してもよい。
また、上記の動画像予測符号化装置では、前記キー参照サンプルを参照サンプル群の端と中央に位置する3つの参照サンプルとし、前記内挿処理が前記キー参照サンプル間の参照サンプルに対する双一次内挿処理であってもよい。
本発明の一側面に係る動画像予測復号装置は、複数のブロックに分割して符号化された圧縮データの中から、復号対象となる対象ブロックの画面内予測方法を示すイントラ予測モードと残差信号の圧縮データとを復号する復号手段と、前記イントラ予測モードと前記対象ブロックに隣接する既再生の参照サンプルとを用いて画面内予測信号を生成する予測信号生成手段と、前記残差信号の圧縮データから前記対象ブロックの再生残差信号を復元する残差信号復元手段と、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納手段と、を具備し、前記予測信号生成手段は、前記ブロック格納手段に保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、前記イントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成することを特徴とする。
上記の動画像予測復号装置では、予測信号生成手段は、前記キー参照サンプルと予め定めた閾値との比較に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施してもよい。
また、上記の動画像予測復号装置では、前記キー参照サンプルを参照サンプル群の端と中央に位置する3つの参照サンプルとし、前記内挿処理が前記キー参照サンプル間の参照サンプルに対する双一次内挿処理であってもよい。
本発明は、動画像予測符号化方法に係る発明、動画像予測復号方法に係る発明、動画像予測符号化プログラムに係る発明、動画像予測復号プログラムに係る発明として捉えることもでき、以下のように記述することができる。
本発明の一側面に係る動画像予測符号化方法は、動画像予測符号化装置により実行される動画像予測符号化方法であって、入力画像を複数のブロックに分割するブロック分割ステップと、前記ブロック分割ステップにより分割されたブロックのうち、符号化対象である対象ブロックとの相関が高いブロックの画面内予測信号を、前記対象ブロックに隣接する既再生の参照サンプルを用いて生成する予測信号生成ステップと、前記対象ブロックの予測信号と前記対象ブロックの画素信号との残差信号を生成する残差信号生成ステップと、前記残差信号生成ステップにより生成された残差信号を圧縮する残差信号圧縮ステップと、前記残差信号の圧縮データを復元した再生残差信号を生成する残差信号復元ステップと、前記残差信号の圧縮データを符号化する符号化ステップと、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納ステップと、を具備し、前記予測信号生成ステップでは、保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、イントラ予測モードを決定し、決定したイントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記符号化ステップでは、前記イントラ予測モードを圧縮データに含めて符号化することを特徴とする。
本発明の一側面に係る動画像予測復号方法は、動画像予測復号装置により実行される動画像予測復号方法であって、複数のブロックに分割して符号化された圧縮データの中から、復号対象となる対象ブロックの画面内予測方法を示すイントラ予測モードと残差信号の圧縮データとを復号する復号ステップと、前記イントラ予測モードと前記対象ブロックに隣接する既再生の参照サンプルとを用いて画面内予測信号を生成する予測信号生成ステップと、前記残差信号の圧縮データから前記対象ブロックの再生残差信号を復元する残差信号復元ステップと、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納ステップと、を具備し、前記予測信号生成ステップでは、保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、前記イントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成することを特徴とする。
本発明の一側面に係る動画像予測符号化プログラムは、コンピュータを、入力画像を複数のブロックに分割するブロック分割手段と、前記ブロック分割手段により分割されたブロックのうち、符号化対象である対象ブロックとの相関が高いブロックの画面内予測信号を、前記対象ブロックに隣接する既再生の参照サンプルを用いて生成する予測信号生成手段と、前記対象ブロックの予測信号と前記対象ブロックの画素信号との残差信号を生成する残差信号生成手段と、前記残差信号生成手段により生成された残差信号を圧縮する残差信号圧縮手段と、前記残差信号の圧縮データを復元した再生残差信号を生成する残差信号復元手段と、前記残差信号の圧縮データを符号化する符号化手段と、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納手段、として機能させるための動画像予測符号化プログラムであり、前記予測信号生成手段は、前記ブロック格納手段に保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、イントラ予測モードを決定し、決定したイントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記符号化手段は、前記イントラ予測モードを圧縮データに含めて符号化することを特徴とする。
本発明の一側面に係る動画像予測復号プログラムは、コンピュータを、複数のブロックに分割して符号化された圧縮データの中から、復号対象となる対象ブロックの画面内予測方法を示すイントラ予測モードと残差信号の圧縮データとを復号する復号手段と、前記イントラ予測モードと前記対象ブロックに隣接する既再生の参照サンプルとを用いて画面内予測信号を生成する予測信号生成手段と、前記残差信号の圧縮データから前記対象ブロックの再生残差信号を復元する残差信号復元手段と、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納手段、として機能させるための動画像予測復号プログラムであり、前記予測信号生成手段は、前記ブロック格納手段に保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、前記イントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成することを特徴とする。
本発明の一側面に係る動画像予測符号化装置は、入力画像を複数のブロックに分割するブロック分割手段と、前記ブロック分割手段により分割されたブロックのうち、符号化対象である対象ブロックとの相関が高いブロックの画面内予測信号を、前記対象ブロックに隣接する既再生の参照サンプルを用いて生成する予測信号生成手段と、前記対象ブロックの予測信号と前記対象ブロックの画素信号との残差信号を生成する残差信号生成手段と、前記残差信号生成手段により生成された残差信号を圧縮する残差信号圧縮手段と、前記残差信号の圧縮データを復元した再生残差信号を生成する残差信号復元手段と、前記残差信号の圧縮データを符号化する符号化手段と、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納手段と、を具備し、前記予測信号生成手段は、前記ブロック格納手段に保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、イントラ予測モードを決定し、決定したイントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記符号化手段は、前記イントラ予測モードを圧縮データに含めて符号化し、前記予測信号生成手段は、前記キー参照サンプルに基づく値と予め定めた閾値との比較に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施することを特徴とする。
本発明の一側面に係る動画像予測復号装置は、複数のブロックに分割して符号化された圧縮データの中から、復号対象となる対象ブロックの画面内予測方法を示すイントラ予測モードと残差信号の圧縮データとを復号する復号手段と、前記イントラ予測モードと前記対象ブロックに隣接する既再生の参照サンプルとを用いて画面内予測信号を生成する予測信号生成手段と、前記残差信号の圧縮データから前記対象ブロックの再生残差信号を復元する残差信号復元手段と、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納手段と、を具備し、前記予測信号生成手段は、前記ブロック格納手段に保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、前記イントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記予測信号生成手段は、前記キー参照サンプルに基づく値と予め定めた閾値との比較に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施することを特徴とする。
本発明の一側面に係る動画像予測符号化方法は、動画像予測符号化装置により実行される動画像予測符号化方法であって、入力画像を複数のブロックに分割するブロック分割ステップと、前記ブロック分割ステップにより分割されたブロックのうち、符号化対象である対象ブロックとの相関が高いブロックの画面内予測信号を、前記対象ブロックに隣接する既再生の参照サンプルを用いて生成する予測信号生成ステップと、前記対象ブロックの予測信号と前記対象ブロックの画素信号との残差信号を生成する残差信号生成ステップと、前記残差信号生成ステップにより生成された残差信号を圧縮する残差信号圧縮ステップと、前記残差信号の圧縮データを復元した再生残差信号を生成する残差信号復元ステップと、前記残差信号の圧縮データを符号化する符号化ステップと、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納ステップと、を具備し、前記予測信号生成ステップでは、保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、イントラ予測モードを決定し、決定したイントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記符号化ステップでは、前記イントラ予測モードを圧縮データに含めて符号化し、前記予測信号生成ステップでは、前記キー参照サンプルに基づく値と予め定めた閾値との比較に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施することを特徴とする。
本発明の一側面に係る動画像予測復号方法は、動画像予測復号装置により実行される動画像予測復号方法であって、複数のブロックに分割して符号化された圧縮データの中から、復号対象となる対象ブロックの画面内予測方法を示すイントラ予測モードと残差信号の圧縮データとを復号する復号ステップと、前記イントラ予測モードと前記対象ブロックに隣接する既再生の参照サンプルとを用いて画面内予測信号を生成する予測信号生成ステップと、前記残差信号の圧縮データから前記対象ブロックの再生残差信号を復元する残差信号復元ステップと、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納ステップと、を具備し、前記予測信号生成ステップでは、保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、前記イントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記予測信号生成ステップでは、前記キー参照サンプルに基づく値と予め定めた閾値との比較に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施することを特徴とする。
本発明の一側面に係る動画像予測復号装置は、複数のブロックに分割して符号化された圧縮データの中から、復号対象となる対象ブロックの画面内予測方法を示すイントラ予測モードと残差信号の圧縮データとを復号する復号手段と、前記イントラ予測モードと前記対象ブロックに隣接する既再生の参照サンプルとを用いて画面内予測信号を生成する予測信号生成手段と、前記残差信号の圧縮データから前記対象ブロックの再生残差信号を復元する残差信号復元手段と、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納手段と、を具備し、前記予測信号生成手段は、前記ブロック格納手段に保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、前記イントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記キー参照サンプルを参照サンプル群の端と中央に位置する3つの参照サンプルとし、前記予測信号生成手段は、前記参照サンプル群の一方の端と中央に位置する2つのキー参照サンプルの加算値と該2つのキー参照サンプルの中央に位置する参照サンプルの2倍の値との差分の絶対値と、予め定めた閾値とを比較した結果と、前記参照サンプル群の他方の端と中央に位置する2つのキー参照サンプルの加算値と該2つのキー参照サンプルの中央に位置する参照サンプルの2倍の値との差分の絶対値と、前記閾値とを比較した結果と、前記対象ブロックのサイズと、に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施することを特徴とする。
本発明の一側面に係る動画像予測復号方法は、動画像予測復号装置により実行される動画像予測復号方法であって、複数のブロックに分割して符号化された圧縮データの中から、復号対象となる対象ブロックの画面内予測方法を示すイントラ予測モードと残差信号の圧縮データとを復号する復号ステップと、前記イントラ予測モードと前記対象ブロックに隣接する既再生の参照サンプルとを用いて画面内予測信号を生成する予測信号生成ステップと、前記残差信号の圧縮データから前記対象ブロックの再生残差信号を復元する残差信号復元ステップと、前記予測信号と前記再生残差信号とを加算することによって前記対象ブロックの画素信号を復元し、復元された前記対象ブロックの画素信号を前記参照サンプルとして利用するために保存するブロック格納ステップと、を具備し、前記予測信号生成ステップでは、保存されている前記対象ブロックの周囲の既再生ブロックから参照サンプルを取得し、内挿参照サンプルを生成するために前記参照サンプルのうち予め定めた位置の2つ以上のキー参照サンプル間を内挿処理し、前記イントラ予測モードに基づいて前記内挿参照サンプルを外挿して前記画面内予測信号を生成し、前記キー参照サンプルを参照サンプル群の端と中央に位置する3つの参照サンプルとし、前記予測信号生成ステップでは、前記参照サンプル群の一方の端と中央に位置する2つのキー参照サンプルの加算値と該2つのキー参照サンプルの中央に位置する参照サンプルの2倍の値との差分の絶対値と、予め定めた閾値とを比較した結果と、前記参照サンプル群の他方の端と中央に位置する2つのキー参照サンプルの加算値と該2つのキー参照サンプルの中央に位置する参照サンプルの2倍の値との差分の絶対値と、前記閾値とを比較した結果と、前記対象ブロックのサイズと、に基づいて、前記参照サンプルの内挿処理と参照サンプルの平滑化処理とを適用的に切り替えて実施することを特徴とする。