以下、図面を参照しながら、実施形態を詳細に説明する。
H.264では、符号化対象画像(符号化対象ピクチャ)が、例えば、16×16画素の固定ブロック(マクロブロック)に分割される。イントラ予測符号化は、マクロブロック単位で設定でき、イントラ予測符号化モードの選択とイントラ予測符号化画像の生成とは、共通のサブブロック単位で行うことができる。
図3は、H.264におけるイントラ予測モードの例を示している。この例では、4×4画素のサブブロックがイントラ予測符号化され、予測モード0〜予測モード8の9個のイントラ予測モードが示されている。
白丸は、イントラ予測符号化されるサブブロックの画素を表し、グレーの丸は、サブブロックの周囲の画素を表し、矢印は、イントラ予測符号化において参照される画素の位置に対応する予測方向を表している。
例えば、予測モード0の場合、サブブロック301をイントラ予測符号化するために、サブブロック301の各画素の垂直方向上方に位置する周囲の画素の情報が参照される。予測モード2の場合、周囲の画素の情報の平均値を用いてイントラ予測符号化画像が生成される。
ここで、4×4画素のサブブロックが図2のイントラライン102内にあり、リフレッシュ境界201に接する場合、予測モード3及び予測モード7において、未だリフレッシュされていない領域A2内の画素が参照されることになる。したがって、イントラリフレッシュでは、予測モード0〜予測モード2、予測モード4〜予測モード6、及び予測モード8が使用され、予測モード3及び予測モード7は使用しない。
次に、図4は、HEVCのブロック構造の例を示している。HEVCでは、符号化対象ピクチャ401がCoding Tree Unit(CTU)単位のブロックに分割され、各CTUは、さらに四分木構造でCoding Unit(CU)単位のブロックに分割される。CTUは、シーケンスで固定のサイズであり、例えば、16×16画素、32×32画素、又は64×64画素の中から選択可能である。CUは、可変サイズであり、例えば、8×8画素〜CTUサイズの中から選択可能である。CUは、イントラ予測符号化モードを選択する単位となる。
CUは、Prediction Unit(PU)単位のブロックに分割されるともに、Transform Unit(TU)単位のブロックにも分割される。PUは、イントラ予測モードを選択する単位となり、TUは、イントラ予測符号化画像を生成する単位となる。TUは、例えば、4×4画素、8×8画素、16×16画素、又は32×32画素の中から選択可能である。
ブロックに含まれる画素の画素値としては、例えば、輝度又は色差が用いられる。輝度を用いたブロックは、輝度ブロックと呼ばれることがあり、色差を用いたブロックは、色差ブロックと呼ばれることがある。
矢印411は、符号化対象ピクチャ401内における複数のCTUの符号化順序(ラスタスキャン)を示しており、矢印412は、各CTU内における複数のCUの符号化順序(Zスキャン)を示している。矢印413は、各CU内における複数のPUの符号化順序(Zスキャン)を示しており、矢印414は、各CU内における複数のTUの符号化順序(Zスキャン)を示している。
HEVCにおけるブロック間には、次のような拘束条件が存在する。
(1)CTUサイズ≧CUサイズ
(2)CUサイズ≧PUサイズ
(3)PUサイズ≧TUサイズ
そして、PU単位でイントラ予測モードが決定され、PUに対応する1つ以上のTUのブロックが同じイントラ予測モードによりイントラ予測符号化される。
図5は、HEVCにおいてイントラ予測符号化されるブロック(TU)の例を示している。この例では、8×8画素のブロックがイントラ予測符号化される。白丸は、イントラ予測符号化されるブロックの画素を表し、グレーの丸は、ブロックの周囲の画素を表す。ブロックをイントラ予測符号化するためにブロックの右上及び左下の画素も参照されるため、ブロックの上方の参照範囲の幅は17画素となり、ブロックの左の参照範囲の高さも17画素となっている。
図6は、図5のブロックをイントラ予測符号化するためのイントラ予測モードの例を示している。この例では、予測モード0〜予測モード34の35個のイントラ予測モードが示されている。
予測モード0は、Intra_Planarに対応し、ブロックの周囲の画素の情報を用いて内挿予測によりイントラ予測符号化画像を生成するイントラ予測モードである。予測モード1は、Intra_DCに対応し、ブロックの周囲の画素の情報の平均値を用いてイントラ予測符号化画像を生成するイントラ予測モードである。
予測モード2〜予測モード34の矢印は、イントラ予測符号化において参照される画素の位置に対応する予測方向を表している。例えば、予測モード26の場合、ブロックの各画素の垂直方向上方に位置する周囲の画素の情報が参照される。
ここで、イントラ予測符号化されるブロックが図2のイントラライン102内にあり、リフレッシュ境界201に接する場合、予測モード0及び予測モード27〜予測モード34において、未だリフレッシュされていない領域A2内の画素が参照されることになる。したがって、イントラリフレッシュでは、予測モード1〜予測モード26が使用され、予測モード0及び予測モード27〜予測モード34は使用されない。
図7は、垂直方向のイントラ予測符号化領域を用いた場合のリフレッシュ境界付近において、イントラ予測モードが制限されるブロック(PU)の例を示している。この例では、CTUサイズは64×64画素であり、TUサイズはPUサイズと同じである。以下では、イントラ予測モードが制限されることを参照制限と記載することがある。
図7では、ピクチャ701に含まれる2個のCTUと、ピクチャ701の次の時刻におけるピクチャ702に含まれる2個のCTUとが示されている。しかし、ピクチャ701及びピクチャ702は、より多くのCTUを含んでいる。
網掛け721のブロックは、図4に示した符号化順序に基づいて右上のブロック(参照範囲)が符号化済みであるが、その参照範囲の一部又は全部がリフレッシュ境界711の右の領域A2内に存在するため、右上に対する参照制限を受ける。一方、網掛け722のブロックは、右上の参照範囲が未だ符号化されていないため、規格上その参照範囲が参照されることはなく、右上に対する参照制限を受けない。
例えば、ピクチャ701では、リフレッシュ境界711の左の領域A1内のブロックのうち、リフレッシュ境界711に接する8×8画素の2個のブロックと16×16画素の2個のブロックとが、右上に対する参照制限を受ける。
一方、ピクチャ702では、リフレッシュ境界711からリフレッシュ幅731だけ右にシフトしたリフレッシュ境界712が用いられる。リフレッシュ境界712の左の領域A1内のブロックのうち、リフレッシュ境界712に接する8×8画素の8個のブロックが、右上に対する参照制限を受ける。さらに、リフレッシュ境界712に近い16×16画素の3個のブロックと32×32画素の1個のブロックとが、右上に対する参照制限を受ける。
このように、ピクチャの左から右へ向かってイントラリフレッシュを行う場合、リフレッシュ境界の左の領域A1において使用可能なイントラ予測モードを制限することで、イントラライン内に伝送エラーの影響を与えないようにすることができる。
図8は、参照制限を受けるブロック(PU)の変化の例を示している。この例では、CTUサイズは64×64画素であり、TUサイズはPUサイズと同じであり、イントララインの幅(リフレッシュ幅)は16画素である。網掛け821のブロックは、右上に対する参照制限を受けるブロックであり、網掛け822のブロックは、右上に対する参照制限を受けないブロックである。
ピクチャP1では、CTU境界801とCTU境界802との間のリフレッシュ境界811に接する、イントラライン831内の8個のブロックが、右上に対する参照制限を受ける。
ピクチャP2では、リフレッシュ境界812に接する、イントラライン832内の8個のブロックのうち、4個のブロックが右上に対する参照制限を受け、残りの4個のブロックが参照制限を受けない。ピクチャP1とピクチャP2との間で参照制限を受けるブロックの個数が変化するのは、符号化処理順で右上の参照範囲が符号化済みの領域か、未だ符号化されていない領域かが変化するためである。
ピクチャP3では、リフレッシュ境界813に接する、イントラライン833内の8個のブロックが右上に対する参照制限を受ける。ピクチャP2とピクチャP3との間で参照制限を受けるブロックの個数が変化するのは、符号化処理順で右上の参照範囲が符号化済みの領域か、未だ符号化されていない領域かが変化するためである。
ピクチャP4では、リフレッシュ境界814に接する、イントラライン834内の8個のブロックのうち、2個のブロックが右上に対する参照制限を受け、残りの6個のブロックが参照制限を受けない。ピクチャP3とピクチャP4との間で参照制限を受けるブロックの個数が変化するのは、符号化処理順で右上の参照範囲が符号化済みの領域か、未だ符号化されていない領域かが変化するためである。
この場合、ピクチャP1〜ピクチャP4の4つのピクチャにおいて、イントラライン内のブロックに対する参照制限を受けるブロックの割合は、次式により計算される。
(8+4+8+2)/(8*4)=11/16 (1)
イントラ予測モードが制限されるブロックでは、必ずしも最適なイントラ予測モードを使用できるとは限らないため、符号化効率が低下すると考えられる。リフレッシュ境界が垂直方向の直線である場合、式(1)が示すように、リフレッシュ境界においてイントラ予測モードが制限されるブロックの割合が多いため、動画像全体の符号化効率が低下する。
図9は、実施形態の動画像符号化装置の構成例を示している。図9の動画像符号化装置901は、決定部911及び符号化部912を含み、動画像に含まれる複数の画像の間で、イントラ予測符号化が適用されるイントラ予測符号化領域をシフトさせながら、それらの画像を符号化する。
図10は、図9の動画像符号化装置901が行う動画像符号化処理の例を示すフローチャートである。まず、決定部911は、複数の画像のうち符号化対象画像内において、イントラ予測符号化領域と未だイントラ予測符号化が適用されていない未リフレッシュ領域の境界を階段形状とする(ステップ1001)。
また、決定部911は、参照範囲が互いに異なる複数のイントラ予測モードのうち、参照範囲が未リフレッシュ領域の画素を使用するイントラ予測モードを、有効なイントラ予測モードから除外する。ここで、参照範囲は、イントラ予測符号化領域内の複数のブロックのイントラ予測画像を生成する際に参照する符号化済みの画素の参照範囲である。
そして、決定部911は、複数のブロックのうち、第2のブロックの符号化済み画像を参照するイントラ予測モードを、第1のブロックのための有効なイントラ予測モードに含めて、第1のブロックのためのイントラ予測モードを決定する。第1のブロックは、階段形状の第1の段に接するブロックであり、第2のブロックは、第1のブロックよりも前にイントラ予測符号化され、階段形状の第2の段に接するブロックである。
次に、符号化部912は、決定部911が決定したイントラ予測モードに基づく第1のブロックのイントラ予測結果に基づいて動画像符号化処理を実施する(ステップ1002)。
図9の動画像符号化装置901によれば、イントラ予測符号化が適用されるイントラ予測符号化領域をシフトさせながら動画像を符号化する場合に、イントラ予測モードに対する制限を緩和することができる。
動画像符号化装置901は、様々な用途に利用される。例えば、動画像符号化装置901を、ビデオカメラ、映像送信装置、テレビ電話システム、コンピュータ、又は携帯電話機に組み込むことも可能である。
図11は、図9の動画像符号化装置901の具体例を示している。図11の動画像符号化装置901は、符号化部912、リフレッシュ幅決定部1101、領域決定部1102、ブロック決定部1103、及び予測モード制限部1104を含む。さらに、動画像符号化装置901は、イントラ予測モード決定部1105、インター予測モード決定部1106、及び予測モード選択部1107を含む。イントラ予測モード決定部1105は、図9の決定部911に対応する。
符号化部912は、誤差画像生成部1111、直交変換部1112、量子化部1113、エントロピー符号化部1114、逆量子化部1115、逆直交変換部1116、復号画像生成部1117を含む。さらに、符号化部912は、記憶部1118、イントラ予測画像生成部1119、インター予測画像生成部1120、予測画像選択部1121、ループフィルタ1122、及び記憶部1123を含む。
動画像符号化装置901は、例えば、ハードウェア回路として実装することができる。この場合、各構成要素を個別の回路として実装してもよく、複数の構成要素を1つの集積回路として実装してもよい。
動画像符号化装置901に入力される符号化対象動画像に含まれる複数の画像の各々は、符号化対象画像に対応し、カラー画像であってもよく、モノクロ画像であってもよい。カラー画像の場合、画素値はRGB形式であってもよく、YUV形式であってもよい。
符号化部912内の誤差画像生成部1111は、符号化対象画像に含まれる符号化対象ブロックの原画像と、予測画像選択部1121から出力される予測画像との差分を表す誤差画像を生成する。直交変換部1112は、誤差画像生成部1111が生成する誤差画像を直交変換し、量子化部1113は、直交変換の結果を量子化して、符号化対象ブロックの予測符号化結果を表す係数情報を生成する。
逆量子化部1115は、量子化部1113が生成する係数情報を逆量子化し、逆直交変換部1116は、逆量子化の結果を逆直交変換して、誤差画像を生成する。復号画像生成部1117は、逆直交変換部1116が生成する誤差画像を、予測画像選択部1121から出力される予測画像に加算して、復号画像を生成する。記憶部1118は、復号画像生成部1117が生成する復号画像を記憶する。
イントラ予測画像生成部1119は、記憶部1118が記憶する復号画像を用いてイントラ予測を行い、符号化対象ブロックのイントラ予測画像を生成する。このとき、イントラ予測画像生成部1119は、符号化対象ブロックの周囲の符号化済みブロックの復号画像に含まれる画素値を、参照範囲の画素(参照画素)の情報として用いて、イントラ予測画像を生成する。
ループフィルタ1122は、復号画像生成部1117が生成する復号画像に対して、ブロック境界の近傍画素を用いてフィルタ処理を行うことで、符号化ノイズを低減する。記憶部1123は、ループフィルタ1122から出力される復号画像を記憶する。
インター予測画像生成部1120は、記憶部1123が記憶する復号画像を、符号化対象画像よりも後に符号化される画像に対する参照画像として用いることができる。インター予測画像生成部1120は、符号化対象画像よりも前に符号化された画像の復号画像を用いてインター予測を行い、符号化対象ブロックのインター予測画像を生成する。
予測画像選択部1121は、イントラ予測画像生成部1119が生成するイントラ予測画像、又はインター予測画像生成部1120が生成するインター予測画像のうち、いずれか一方の予測画像を選択して、誤差画像生成部1111へ出力する。
リフレッシュ幅決定部1101は、符号化対象画像内で強制的にイントラ予測符号化が適用されるイントラ予測符号化領域のサイズを表すリフレッシュ幅を決定する。領域決定部1102は、符号化対象画像の直前に符号化された画像におけるイントラ予測符号化領域の境界(リフレッシュ境界)と、リフレッシュ幅とに基づいて、符号化対象画像におけるイントラ予測符号化領域を決定する。
ブロック決定部1103は、イントラ予測符号化領域の情報と、符号化対象画像内の各ブロックの位置とサイズとに基づいて、イントラ予測モードが制限されるブロックを決定する。予測モード制限部1104は、イントラ予測モードが制限されるブロック毎に、使用しないイントラ予測モードを決定する。
イントラ予測モード決定部1105は、符号化対象ブロックに対して使用可能な複数のイントラ予測モードをイントラ予測画像生成部1119へ出力し、符号化対象ブロックのイントラ予測画像の生成を指示する。そして、イントラ予測モード決定部1105は、生成された複数のイントラ予測画像の符号化効率を示す評価値に基づいて、複数のイントラ予測モードのうちの1つを選択し、選択したイントラ予測モードを符号化対象ブロックのイントラ予測モードに決定する。
イントラ予測画像生成部1119は、イントラ予測モード決定部1105が決定したイントラ予測モードにより生成したイントラ予測画像を、予測画像選択部1121へ出力する。イントラ予測モード決定部1105は、決定したイントラ予測モードに対応するイントラ予測画像の評価値を予測モード選択部1107へ出力する。
インター予測モード決定部1106は、符号化対象画像よりも前に符号化された画像の復号画像を用いて動きベクトルを探索し、符号化対象ブロックのインター予測モードを決定する。インター予測モードは、参照画像、インター予測のブロックサイズ、及び動きベクトル等の情報を含む。そして、インター予測モード決定部1106は、決定したインター予測モードをインター予測画像生成部1120へ出力する。
インター予測画像生成部1120は、インター予測モード決定部1106が決定したインター予測モードによりインター予測画像を生成し、予測画像選択部1121へ出力する。インター予測モード決定部1106は、決定したインター予測モードに対応するインター予測画像の符号化効率を示す評価値を、予測モード選択部1107へ出力する。
予測モード選択部1107は、イントラ予測符号化領域の情報と、イントラ予測モード決定部1105が出力する評価値と、インター予測モード決定部1106が出力する評価値とに基づいて、イントラ予測モード又はインター予測モードのいずれかを選択する。符号化対象ブロックがイントラ予測符号化領域内のブロックである場合、イントラ予測モードが選択され、符号化対象ブロックがイントラ予測符号化領域外のブロックである場合、評価値が良い方の予測モードが選択される。
予測モード選択部1107は、選択した予測モードを予測画像選択部1121へ出力し、予測画像選択部1121は、その予測モードに対応する予測画像を選択する。
エントロピー符号化部1114は、符号化対象画像内の複数のブロックの予測符号化結果を表す係数情報と、使用された予測モードを表す予測情報とをエントロピー符号化し、符号化対象動画像の符号化結果である符号化動画像(符号化ストリーム)を生成する。そして、エントロピー符号化部1114は、生成した符号化ストリームを動画像復号装置(不図示)へ出力する。
図12は、図9の動画像符号化装置901が行う動画像符号化処理の具体例を示すフローチャートである。動画像符号化装置901は、符号化対象動画像に含まれる複数の画像の各々に対して、図12の動画像符号化処理を行う。
まず、リフレッシュ幅決定部1101は、符号化対象画像におけるリフレッシュ幅を決定し、領域決定部1102は、符号化対象画像におけるイントラ予測符号化領域を決定する(ステップ1201)。
次に、予測モード選択部1107は、符号化対象ブロックがイントラ予測符号化領域内のブロックであるか否かをチェックする(ステップ1202)。符号化対象ブロックがイントラ予測符号化領域内のブロックである場合(ステップ1202,YES)、ブロック決定部1103は、符号化対象画像内でイントラ予測モードが制限されるブロック(制限対象ブロック)を決定する(ステップ1203)。
次に、予測モード選択部1107は、符号化対象ブロックが制限対象ブロックであるか否かをチェックする(ステップ1204)。符号化対象ブロックが制限対象ブロックである場合(ステップ1204,YES)、予測モード制限部1104は、符号化対象ブロックに対して使用しないイントラ予測モードを決定する(ステップ1205)。
次に、イントラ予測モード決定部1105は、使用しないイントラ予測モードを除いた残りのイントラ予測モードの中から、符号化対象ブロックのイントラ予測モードを選択する(ステップ1206)。そして、イントラ予測画像生成部1119は、選択されたイントラ予測モードによりイントラ予測画像を生成する。誤差画像生成部1111、直交変換部1112、及び量子化部1113は、生成されたイントラ予測画像を用いて符号化対象ブロックのイントラ予測符号化結果を生成する。
次に、予測モード選択部1107は、符号化対象画像内のすべてのブロックが符号化されたか否かをチェックする(ステップ1207)。未だ符号化されていないブロックが残っている場合(ステップ1207,NO)、予測モード選択部1107は、符号化順序に従って入力される次の符号化対象ブロックに対して、ステップ1202以降の処理を行う。
一方、符号化対象ブロックが制限対象ブロックではない場合(ステップ1204,NO)、イントラ予測モード決定部1105は、すべてのイントラ予測モードの中から、符号化対象ブロックのイントラ予測モードを選択する(ステップ1208)。そして、イントラ予測画像生成部1119は、選択されたイントラ予測モードによりイントラ予測画像を生成する。誤差画像生成部1111、直交変換部1112、及び量子化部1113は、生成されたイントラ予測画像を用いて符号化対象ブロックのイントラ予測符号化結果を生成し、予測モード選択部1107は、ステップ1207以降の処理を行う。
符号化対象ブロックがイントラ予測符号化領域外のブロックである場合(ステップ1202,NO)、予測モード選択部1107は、イントラ予測モード又はインター予測モードを、符号化対象ブロックの予測モードとして選択する(ステップ1209)。そして、誤差画像生成部1111、直交変換部1112、及び量子化部1113は、選択された予測モードにより生成された予測画像を用いて、符号化対象ブロックの予測符号化結果を生成し、予測モード選択部1107は、ステップ1207以降の処理を行う。
そして、符号化対象画像内のすべてのブロックが符号化された場合(ステップ1207,YES)、動画像符号化装置901は、符号化対象画像の符号化処理を終了する。
図13〜図15は、イントラ予測符号化領域と未だイントラ予測符号化が適用されていない領域との間の階段形状のリフレッシュ境界の例を示している。これらの例では、CTUサイズは64×64画素であり、各ブロックはPUを表し、TUサイズはPUサイズと同じであり、リフレッシュ幅は16画素である。
網掛け1321のブロックは、符号化順序に基づいて右上のブロック(参照範囲)が符号化済みであるが、その参照範囲の一部又は全部が未だリフレッシュされていない領域内に存在するため、右上に対する参照制限を受ける。したがって、網掛け1321のブロックでは、右上方向の画素を参照するイントラ予測モードが制限される。
一方、網掛け1322のブロックは、右上の参照範囲が未だ符号化されておらず、規格上その参照範囲が参照されないか、又は右上の参照範囲がリフレッシュ済みであるため、右上に対する参照制限を受けない。
図13のリフレッシュ境界1311は、画像内で水平1:垂直4の急な傾きを持つ右上がり階段形状であり、垂直方向の4個のCTUに対応する4段を周期Lとして含む。周期Lに対応するCTU内において、リフレッシュ境界1311に接する、イントラ予測符号化領域1312内の16個のブロックのうち、7個のブロックが右上に対する参照制限を受け、残りの9個のブロックが参照制限を受けない。
例えば、イントラ予測符号化領域1312内のブロック1341は、リフレッシュ境界1311の段1331に接しており、ブロック1341の右上に位置するブロック1342は、リフレッシュ境界1311の段1332に接している。ブロック1342は、ブロック1341よりも前にリフレッシュ済みであるため、ブロック1341のイントラ予測符号化において参照可能である。
また、イントラ予測符号化領域1312内のブロック1343は、段1331に接しており、ブロック1343の右上の参照範囲は、ブロック1344に含まれている。ブロック1344は、ブロック1343よりも後に符号化されるため、規格上、ブロック1343のイントラ予測符号化において参照されない。
この場合、イントラ予測符号化領域1312内のブロックに対する参照制限を受けるブロックの割合は7/16である。図8の場合と比較すると、参照制限を受けるブロックの割合が11/16から7/16に減少していることが分かる。
このように、右上がり階段状のリフレッシュ境界1311を用いることで、イントラ予測符号化領域1312内で右上方向の画素を参照可能なブロックの個数が増加し、イントラ予測符号化領域の符号化効率が向上する。
図14のリフレッシュ境界1411は、画像内で水平1:垂直2の傾きを持つ右上がり階段形状であり、垂直方向の2個のCTUに対応する4段を周期Lとして含む。周期Lに対応するCTU内において、リフレッシュ境界1411に接する、イントラ予測符号化領域1412内の8個のブロックのうち、2個のブロックが右上に対する参照制限を受け、残りの6個のブロックが参照制限を受けない。
この場合、イントラ予測符号化領域1412内のブロックに対する参照制限を受けるブロックの割合は1/4(=2/8)であり、図13の場合よりも改善されている。
図15のリフレッシュ境界1511は、画像内で水平1:垂直1のなだらかな傾きを持つ右上がり階段形状であり、1個のCTUに対応する4段を周期Lとして含む。周期Lに対応するCTU内において、リフレッシュ境界1511に接する、イントラ予測符号化領域1512内の4個のブロックのうち、いずれのブロックも右上に対する参照制限を受けない。
この場合、イントラ予測符号化領域1512内のブロックに対する参照制限を受けるブロックの割合は0であり、図14の場合よりもさらに改善されている。
このように、右上がり階段形状の傾きがなだらかであるほど、リフレッシュ境界に接するブロックの右上のブロックがリフレッシュ済みである可能性が高くなり、参照制限を受けるブロックの割合が小さくなると考えられる。
次に、HEVCにおけるイントラ予測モードの制限の具体例について説明する。図16は、符号化対象ブロック(TU)の例を示している。この例では、TbS×TbS画素の符号化対象ブロックがイントラ予測符号化される。白丸は、符号化対象ブロックの画素を表し、グレーの丸は、符号化対象ブロックの周囲の画素を表す。符号化対象ブロックの上方の参照範囲の幅は2*TbS+1画素であり、符号化対象ブロックの左の参照範囲の高さも2*TbS+1画素である。
この場合、符号化対象ブロックの上方の参照範囲の画素数は2*TbS+1個であり、その参照範囲の各画素は、ref[x](x=0,1,...,2*TbS)と表すことができる。
HEVCでは、参照範囲の画素を参照する際に、ブロックサイズとイントラ予測モードとに応じて画素の情報が平滑化される。例えば、平滑化フィルタとして3TAPフィルタを用いる場合、ブロックサイズとイントラ予測モードとが以下のような組み合わせのときに、ref[x]の隣接画素を用いてref[x]に対するフィルタ処理が行われる。
(11)ブロックサイズが8×8の場合
予測モード:18,34
(12)ブロックサイズが16×16の場合
予測モード:18,19,20,21,22,23,24,28,29,30,31,32,33,34
(13)ブロックサイズが32×32の場合
予測モード:18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34
このようなフィルタ処理が行われる場合、参照画素だけでなく、フィルタ処理に用いられる画素もリフレッシュ済みであることが望ましい。したがって、画像を左から右へ向かってイントラリフレッシュする場合、図6に示した予測モード0〜予測モード34のうち使用可能なイントラ予測モードは、以下のようになる。
(21)右上画素のすべてが参照禁止の場合、すべてのブロックサイズにおいて予測モード1〜予測モード26を使用できる。
(22)右上の8画素(ref[TbS+1]〜ref[TbS+8])を参照可能な場合、16×16画素の輝度ブロックにおいて予測モード0〜予測モード30を使用でき、32×32画素の輝度ブロックにおいて予測モード0〜予測モード28を使用できる。この場合、4×4画素及び8×8画素の輝度ブロックにおいて予測モード0〜予測モード34を使用できる。
(23)右上の16画素(ref[TbS+1]〜ref[TbS+16])を参照可能な場合、32×32画素の輝度ブロックにおいて予測モード0〜予測モード30を使用できる。この場合、4×4画素、8×8画素、及び16×16画素の輝度ブロックにおいて予測モード0〜予測モード34を使用できる。
(24)右上の24画素(ref[TbS+1]〜ref[TbS+24])を参照可能な場合、32×32画素の輝度ブロックにおいて予測モード0〜予測モード32を使用できる。この場合、4×4画素、8×8画素、及び16×16画素の輝度ブロックにおいて予測モード0〜予測モード34を使用できる。
符号化対象ブロックの位置及びブロックサイズに応じたイントラ予測モードの制限は、以下のようになる。
(31)符号化対象ブロックの右上のブロックが未だ符号化されていない場合、符号化対象ブロックは右上に対する参照制限を受けない。
図17は、64×64画素のCTU内の複数のブロック(PU)に対するZスキャンの例を示している。この例では、CTUサイズは64×64画素であり、TUサイズはPUサイズと同じである。
CTUが8×8画素のブロックに分割されている場合、矢印1701が示す順序で各ブロックが符号化される。CTUが16×16画素のブロックに分割されている場合、矢印1702が示す順序で各ブロックが符号化される。CTUが32×32画素のブロックに分割されている場合、矢印1703が示す順序で各ブロックが符号化される。
各CTU内のグレーのブロックは、右上のブロックが未だ符号化されていないため、右上に対する参照制限を受けない。この場合、図18に示すように、符号化対象ブロックの上方の符号化済み画素のうち最右端の画素1801の情報をコピーすることで、右上の参照範囲に対応する画素1811〜画素1818の情報が生成される。そして、符号化対象ブロックのイントラ予測符号化において、画素1811〜画素1818の情報が参照される。
(32)符号化対象ブロックの右上のブロックがリフレッシュ境界の左にあるリフレッシュ済みブロックであり、右上の参照画素のうちリフレッシュ済み画素の数が、符号化対象ブロックの高さ以上である場合、符号化対象ブロックは右上に対する参照制限を受けない。符号化対象ブロックの高さは、符号化対象ブロックの垂直方向のサイズに対応する。
(33)符号化対象ブロックの右上のブロックがリフレッシュ境界の左にあるリフレッシュ済みブロックであり、右上の参照画素のうちリフレッシュ済み画素の数が、符号化対象ブロックの高さ未満である場合、符号化対象ブロックは右上に対する参照制限を受ける。
この場合、右上のリフレッシュ済み画素の数と符号化対象ブロックの高さとの関係に応じて、使用されないイントラ予測モードが決定される。未だリフレッシュされていない画素を参照しないイントラ予測モードだけが使用できる。
(34)符号化対象ブロックの右上のブロックが符号化済みであるが、未だリフレッシュされていない場合、符号化対象ブロックは右上に対する参照制限を受ける。
この場合、右上画素のすべてが参照禁止であるため、使用可能なイントラ予測モードは予測モード1〜予測モード26である。
図19〜図21は、イントラ予測モードが制限されるブロック(PU)の例を示している。これらの例では、CTUサイズは64×64画素であり、TUサイズはPUサイズと同じであり、リフレッシュ幅は16画素である。
図19のブロック分割は、図13に示したブロック分割と同じであり、イントラ予測符号化領域1312内の16×64画素の部分が階段形状の1段に対応する。イントラ予測符号化領域1312内の符号化対象ブロックのブロックサイズは、16×16画素である。網掛け1321のブロックは、右上に対する参照制限を受け、網掛け1322のブロックは、右上に対する参照制限を受けない。
この場合、周期Lに対応するCTU内において、リフレッシュ境界1311に接する、イントラ予測符号化領域1312内のブロック0〜ブロック15に対するイントラ予測モードの制限は、以下のようになる。
(41)ブロック5、ブロック6、ブロック7、ブロック13、及びブロック15
これらのブロックは、上記(31)の場合に該当し、右上に対する参照制限を受けない。
(42)ブロック0、ブロック4、ブロック8、及びブロック12
これらのブロックは、上記(32)の場合に該当し、右上に対する参照制限を受けない。
(43)ブロック1、ブロック2、ブロック3、ブロック9、ブロック10、ブロック11、及びブロック14
これらのブロックは、上記(34)の場合に該当し、使用可能なイントラ予測モードは予測モード1〜予測モード26である。
図20のブロック分割では、イントラ予測符号化領域2012内の16×64画素又は32×64画素の部分が階段形状の1段に対応する。イントラ予測符号化領域2012内の符号化対象ブロックのブロックサイズは、16×16画素又は32×32画素である。網掛け2021のブロックは、右上に対する参照制限を受け、網掛け2022のブロックは、右上に対する参照制限を受けない。
この場合、周期Lに対応するCTU内において、リフレッシュ境界2011に接する、イントラ予測符号化領域2012内のブロック0〜ブロック11に対するイントラ予測モードの制限は、以下のようになる。
(51)ブロック5
これらのブロックは、上記(31)の場合に該当し、右上に対する参照制限を受けない。
(52)ブロック0及びブロック6
これらのブロックは、上記(32)の場合に該当し、右上に対する参照制限を受けない。
(53)ブロック4及びブロック10
これらのブロックは、上記(33)の場合に該当し、使用可能なイントラ予測モードは予測モード0〜予測モード30である。
(54)ブロック1、ブロック2、ブロック3、ブロック7、ブロック8、ブロック9、及びブロック11
これらのブロックは、上記(34)の場合に該当し、使用可能なイントラ予測モードは予測モード1〜予測モード26である。
図21のブロック分割では、イントラ予測符号化領域2112内の16×64画素の部分が階段形状の1段に対応する。イントラ予測符号化領域2112内の符号化対象ブロックのブロックサイズは、8×8画素又は16×16画素である。イントラ予測符号化領域2112内の8×8画素のブロックの一部は、リフレッシュ境界2111に接していない。網掛け2121のブロックは、右上に対する参照制限を受け、網掛け2122のブロックは、右上に対する参照制限を受けない。
この場合、周期Lに対応するCTU内において、イントラ予測符号化領域2112に含まれるブロック0〜ブロック39に対するイントラ予測モードの制限は、以下のようになる。
(61)ブロック4、ブロック8、ブロック12、ブロック15、ブロック17、ブロック18、ブロック19、ブロック24、ブロック28、ブロック32、ブロック34、ブロック38、及びブロック39
これらのブロックは、上記(31)の場合に該当し、右上に対する参照制限を受けない。
(62)ブロック0、ブロック1、ブロック3、ブロック5、ブロック7、ブロック9、ブロック11、ブロック13、ブロック14、ブロック16、ブロック20、ブロック21、ブロック23、ブロック25、ブロック27、ブロック29、ブロック31、ブロック33、ブロック35、及びブロック37
これらのブロックは、上記(32)の場合に該当し、右上に対する参照制限を受けない。
(63)ブロック2、ブロック6、ブロック10、ブロック22、ブロック26、ブロック30、及びブロック36
これらのブロックは、上記(34)の場合に該当し、使用可能なイントラ予測モードは予測モード1〜予測モード26である。
なお、TUサイズがPUサイズよりも小さく、1つのPUに複数のTUが対応する場合、参照制限が最も厳しいTUにおいて使用可能なイントラ予測モードを、そのPUにおいて使用可能なイントラ予測モードとして選択してもよい。
次に、階段形状のリフレッシュ境界がインター予測符号化に対して与える影響について説明する。図22は、階段形状のリフレッシュ境界におけるインター予測符号化の例を示している。この例では、TUサイズはPUサイズと同じである。
ある時刻の画像P11において、領域2211は、それより前の時刻までにリフレッシュ済みの領域であり、イントラ予測符号化領域2212内の各ブロックは、イントラ予測符号化された時点でリフレッシュ済みとなる。領域2213は、未だリフレッシュされていない領域である。
インター予測符号化では、過去の参照画像のリフレッシュ済み領域のブロックを参照してインター予測画像が生成される。したがって、画像P11において、リフレッシュ境界2221の左の領域2211及びイントラ予測符号化領域2212が、次の時刻の画像P12における参照可能範囲となる。
画像P12において、領域2231は、それより前の時刻までにリフレッシュ済みの領域であり、イントラ予測符号化領域2232内の各ブロックは、イントラ予測符号化された時点でリフレッシュ済みとなる。領域2233は、未だリフレッシュされていない領域である。
この場合、イントラ予測符号化領域2232の左のブロック(PU)2251に対する動きベクトルの探索範囲2261は、参照先の画像P11におけるリフレッシュ済み領域に対応し、ブロック2251の下方の領域も含んでいる。このため、ブロック2251に対する動きベクトルとして、下向きの動きベクトルを探索することが可能である。
ところが、ブロック(PU)2252の下方の領域は、参照先の画像P11において未だリフレッシュされていない領域に対応するため、ブロック2252に対する動きベクトルの探索範囲2262から除外される。このため、ブロック2252に対する動きベクトルとして、下向きの動きベクトルを探索することが困難になる。下向きの動きベクトルは、画像内の物体が上向きに動く場合等に発生する。
このように、階段形状のリフレッシュ境界を用いた場合、イントラ予測符号化領域の左のブロックにおいて動きベクトルの探索範囲が制限されることがある。この場合、動きベクトルの方向が制限されるため、インター予測符号化の符号化効率が低下すると考えられる。特に、リフレッシュ境界の傾きがなだらかであり、画面全体に下向きの動きベクトルが多い場合、リフレッシュ境界付近のブロックで正確な動きを捉えることが困難になる。
そこで、リフレッシュ境界の傾きをシーンの動き情報に応じて変更することが考えられる。この場合、下向きの動きベクトルが多いシーンでは、図13に示したような急な傾きを持つ右上がり階段形状のリフレッシュ境界を用いる。一方、下向きの動きベクトルが少ないシーンでは、図15に示したようななだらかな傾きを持つ右上がり階段形状のリフレッシュ境界を用いる。
図23は、リフレッシュ境界の傾きを変更する動画像符号化処理の例を示すフローチャートである。この例では、イントラ予測符号化領域が画像全体を巡回する1周期に含まれるN個の画像の動き情報に基づいて、次の周期におけるリフレッシュ境界の傾きが決定される。
まず、領域決定部1102は、リフレッシュ境界の傾きの初期値を設定し(ステップ2301)、符号化対象画像を示す変数iを1に設定する(ステップ2302)。次に、領域決定部1102は、符号化対象画像の動き情報を代表するグローバルベクトルGiを計算する(ステップ2303)。グローバルベクトルとしては、例えば、符号化対象画像内の動きベクトルの平均値、最頻値等に対応するベクトルを用いることができる。
次に、動画像符号化装置901は、図12の動画像符号化処理を行って符号化対象画像を符号化する(ステップ2304)。このとき、領域決定部1102は、リフレッシュ境界の傾きの初期値に応じてイントラ予測符号化領域を決定する。
次に、領域決定部1102は、動画像符号化処理を継続するか否かを決定する(ステップ2305)。領域決定部1102は、ステップ2304で符号化した画像が符号化対象動画像に含まれる最後の画像ではない場合、動画像符号化処理を継続すると決定し、符号化した画像が最後の画像である場合、動画像符号化処理を継続しないと決定する。
動画像符号化処理を継続する場合(ステップ2305,YES)、領域決定部1102は、iを1だけインクリメントし(ステップ2306)、iがNを超えたか否かをチェックする(ステップ2307)。
iがN以下である場合(ステップ2307,NO)、領域決定部1102は、ステップ2303以降の処理を繰り返す。そして、iがNを超えた場合(ステップ2307,YES)、領域決定部1102は、グローバルベクトルG1〜グローバルベクトルGNに基づいて、1周期に含まれるN個の画像の動きベクトルの傾向を判定する(ステップ2308)。
領域決定部1102は、例えば、直前のN−j個(j=1〜N−1)のグローバルベクトル(Gj+1〜GN)が連続して下向きである場合、動きベクトルの傾向が下向きを示していると判定することができる。動きベクトルの傾向が下向きを示していない場合(ステップ2308,NO)、領域決定部1102は、リフレッシュ境界の傾きを変更することなく、ステップ2302以降の処理を繰り返す。
一方、動きベクトルの傾向が下向きを示している場合(ステップ2308,YES)、領域決定部1102は、符号化対象画像内の動きベクトルに基づいて、リフレッシュ境界の傾きを決定し(ステップ2309)、ステップ2302以降の処理を繰り返す。この場合、ステップ2304において、領域決定部1102は、決定したリフレッシュ境界の傾きに応じてイントラ予測符号化領域を決定する。
そして、動画像符号化処理を継続しない場合(ステップ2305,NO)、領域決定部1102は、動画像符号化処理を終了する。
ステップ2309において、領域決定部1102は、例えば、次のような選択論理に基づいてリフレッシュ境界の傾きを決定することができる。
(71)下向きの動きベクトルの大きさ<TH1である場合、なだらかな傾きが選択される。(例えば、水平1:垂直1)
(72)TH1≦下向きの動きベクトルの大きさ<TH2である場合、標準的な傾きが選択される。(例えば、水平1:垂直2)
(73)TH2≦下向きの動きベクトルの大きさである場合、急な傾きが選択される。(例えば、水平1:垂直4)
上記(71)〜(73)の下向きの動きベクトルとしては、例えば、符号化対象画像内における複数の下向きの動きベクトルの平均値、最頻値等を用いてもよい。また、グローバルベクトルGj+1〜グローバルベクトルGNに対応するN−j個の画像内における複数の下向きの動きベクトルの平均値、最頻値等を、下向きの動きベクトルとして用いてもよい。閾値TH2としては、閾値TH1よりも大きな値が用いられる。
図24は、変化するリフレッシュ境界の傾きの例を示している。ある時刻における画像P21において、領域2401は、それより前の時刻までにリフレッシュ済みの領域であり、領域2403は、未だリフレッシュされていない領域である。イントラ予測符号化領域2402と領域2403との間のリフレッシュ境界は、水平1:垂直2の傾きを持つ階段形状の境界である。
画像P21よりも所定時間後の画像P22において、イントラ予測符号化領域2411のリフレッシュ境界は、イントラ予測符号化領域2402のリフレッシュ境界と同じ傾きを持つ。
その後、イントラ予測符号化領域2411が画像の右端まで達したとき、動きベクトルの傾向が下向きを示し、下向きの動きベクトルの大きさがTH2以上であると仮定する。この場合、画像P23のように、イントラ予測符号化領域2421のリフレッシュ境界の傾きが水平1:垂直4に変更される。
このように、階段形状のリフレッシュ境界の傾きをシーンの動き情報に応じて変更することで、リフレッシュ境界付近のブロックで動きベクトルの方向に対する制限が緩和される。このため、ブロックの正確な動きを捉えやすくなり、インター予測符号化の符号化効率が向上する。
図25は、ループフィルタによるインター予測符号化の制限の例を示している。画像P11のイントラ予測符号化領域2212において、境界2501とリフレッシュ境界2221との間の数画素幅の領域は、ループフィルタ1122のフィルタ処理により領域2213内のエラーの影響を受ける可能性がある。例えば、HEVCのデブロッキングフィルタを用いた場合、境界2501とリフレッシュ境界2221との間の領域の幅は、3画素又は4画素となる。
この場合、画像P12において、動きベクトルの探索範囲が、エラーの影響を受ける可能性のある領域を含まないことが望ましい。そこで、ブロック2251に対する動きベクトルの探索範囲2511は、画像P11におけるリフレッシュ境界2221から数画素だけ左にシフトされる。同様に、ブロック2252に対する動きベクトルの探索範囲2512も、リフレッシュ境界2221から数画素だけ左にシフトされる。
予測モード選択部1107は、イントラ予測符号化領域の上方のブロックで動きベクトルの下向き傾向が大きい場合、そのブロックに対して強制的にイントラ予測符号化を適用することも可能である。図26は、動きベクトルの下向き傾向が大きい場合にイントラ予測符号化が適用されるブロック(PU)の例を示している。この例では、CTUサイズは64×64画素であり、TUサイズはPUサイズと同じであり、リフレッシュ幅は16画素である。
網掛け2621のブロックは、右上に対する参照制限を受け、網掛け2622のブロックは、右上に対する参照制限を受けない。網掛け2623のブロックは、イントラ予測符号化領域に接しており、動きベクトルの下向き傾向が大きい場合にイントラ予測符号化が適用されるブロックである。
リフレッシュ境界2602は、ある時刻の画像P31におけるリフレッシュ境界であり、水平1:垂直4の傾きを持つ。また、リフレッシュ境界2601は、前の時刻の画像におけるリフレッシュ境界である。画像P31の周期Lに対応するCTU内で、リフレッシュ境界2601の左の8個のブロックにおいて、動きベクトルの下向き傾向が大きい場合にイントラ予測符号化が適用される。
リフレッシュ境界2603は、次の時刻の画像P32におけるリフレッシュ境界であり、リフレッシュ境界2602と同じ傾きを持つ。画像P32の周期Lに対応するCTU内で、リフレッシュ境界2602の左の8個のブロックにおいて、動きベクトルの下向き傾向が大きい場合にイントラ予測符号化が適用される。
このように、イントラ予測符号化領域に接するブロックの一部に対して強制的にイントラ予測符号化を適用することで、インター予測符号化における下方に対する参照制限を回避して、ブロックの正確な動きを捉えやすくなる。
次に、直線状のリフレッシュ境界を有するイントラ予測符号化領域のサイズと、階段形状のリフレッシュ境界を有するイントラ予測符号化領域のサイズとの違いについて説明する。
図27は、直線状のリフレッシュ境界を有するイントラ予測符号化領域の例を示している。この例では、CTUサイズは64×64画素であり、各ブロックはPUを表し、TUサイズはPUサイズと同じである。
画像P41におけるリフレッシュ境界2701は直線状であり、イントラ予測符号化領域2711のリフレッシュ幅は16画素である。イントラ予測符号化領域2711内の8個の16×16画素のブロックは、右上に対する参照制限を受ける。イントラ予測符号化領域2711のサイズは、1CTU当たり4個の16×16画素のブロックに相当する。
画像P42におけるリフレッシュ境界2702も直線状であり、イントラ予測符号化領域2712のリフレッシュ幅は32画素である。イントラ予測符号化領域2712内の4個の32×32画素のブロックは、右上に対する参照制限を受ける。イントラ予測符号化領域2712のサイズは、1CTU当たり8個の16×16画素のブロックに相当する。
このように、直線状のリフレッシュ境界を用いた場合、イントラ予測符号化領域は帯状になり、リフレッシュ幅を変更することでイントラ予測符号化領域のサイズが変更される。
図28は、階段形状のリフレッシュ境界を有するイントラ予測符号化領域の例を示している。この例では、CTUサイズは64×64画素であり、各ブロックはPUを表し、TUサイズはPUサイズと同じであり、リフレッシュ幅は16画素である。網掛け2821のブロックは、右上に対する参照制限を受け、網掛け2822のブロックは、右上に対する参照制限を受けない。
ある時刻の画像P51におけるリフレッシュ境界2801は、水平1:垂直4の傾きを持つ右上がり階段形状であり、イントラ予測符号化領域2811のサイズは、1CTU当たり5個の16×16画素のブロックに相当する。
次の時刻の画像P52におけるリフレッシュ境界2802は、リフレッシュ境界2801と同じ傾きを持つ右上がり階段形状であり、イントラ予測符号化領域2812のサイズは、イントラ予測符号化領域2811のサイズと同じである。
次の時刻の画像P53におけるリフレッシュ境界2803は、リフレッシュ境界2801と同じ傾きを持つ右上がり階段形状であり、イントラ予測符号化領域2813のサイズは、イントラ予測符号化領域2811のサイズと同じである。
次の時刻の画像P54におけるリフレッシュ境界2804は、リフレッシュ境界2801と同じ傾きを持つ右上がり階段形状であり、イントラ予測符号化領域2814のサイズは、イントラ予測符号化領域2811のサイズと同じである。
一方、図13のリフレッシュ境界1311もリフレッシュ境界2801と同じ傾きを持つが、イントラ予測符号化領域1312のサイズは、1CTU当たり4個の16×16画素のブロックに相当する。
このように、階段形状のリフレッシュ境界を用いた場合、イントラ予測符号化領域は階段形状になる。このため、リフレッシュ幅を変更しなくても、イントラ予測符号化領域の形状を変更することで、イントラ予測符号化領域のサイズを細かい精度で変更することができる。
リフレッシュ境界の傾きがなだらかな場合、イントラ予測符号化領域の形状によっては、符号化対象ブロックの左下のブロックがリフレッシュされていないため、左下に対する参照制限を受ける場合がある。
図29〜図31は、なだらかな傾きを持つ階段形状のリフレッシュ境界の例を示している。これらの例では、CTUサイズは64×64画素であり、各ブロックはPUを表し、TUサイズはPUサイズと同じである。
網掛け2921のブロックは、符号化順序に基づいて左下のブロック(参照範囲)が符号化済みであるが、その参照範囲の一部又は全部が未だリフレッシュされていない領域内に存在するため、左下に対する参照制限を受ける。したがって、網掛け2921のブロックでは、左下方向の画素を参照するイントラ予測モードが制限される。
一方、網掛け2922のブロックは、左下の参照範囲が未だ符号化されておらず、規格上その参照範囲が参照されないか、又は左下の参照範囲がリフレッシュ済みであるため、左下に対する参照制限を受けない。
図29のリフレッシュ境界2901は、画像内で水平3:垂直1の傾きを持つ右上がり階段形状であり、イントラ予測符号化領域2911のリフレッシュ幅は48画素である。イントラ予測符号化領域2911内において、左側のCTU境界に接するブロック2931〜ブロック2933の左下のブロックがリフレッシュされていないため、ブロック2931〜ブロック2933は、左下に対する参照制限を受ける。
図30のリフレッシュ境界3001は、画像内で水平2:垂直1の傾きを持つ右上がり階段形状であり、イントラ予測符号化領域3011のリフレッシュ幅は32画素である。イントラ予測符号化領域3011内において、32×32画素のブロック3021の左下のブロック3022がリフレッシュされていないため、ブロック3021は、左下に対する参照制限を受ける。
図31のリフレッシュ境界3101は、リフレッシュ境界3001と同じ傾きを持つ右上がり階段形状であり、イントラ予測符号化領域3111のリフレッシュ幅は32画素である。この場合、階段形状の1段の高さが16画素であり、イントラ予測符号化領域3111内のすべてのブロックが16×16画素であるため、階段形状の角の部分で、左下の参照範囲がリフレッシュされていない領域に含まれることがない。したがって、イントラ予測符号化領域3111内のすべてのブロックが、左下に対する参照制限を受けない。
これに対して、水平方向のイントラスライスをイントラ予測符号化領域として用いた場合、左下のブロックがリフレッシュされていない可能性が高くなり、参照制限を受けるブロックの割合が大きくなる。このように、右上がり階段形状のリフレッシュ境界を用いることで、水平方向のリフレッシュ境界を用いる場合よりも、左下方向の画素を参照可能なブロックの個数が増加し、イントラ予測符号化領域の符号化効率が向上する。
図9及び図11の動画像符号化装置901の構成は一例に過ぎず、動画像符号化装置901の用途や条件に応じて一部の構成要素を省略又は変更してもよい。
例えば、図11のリフレッシュ幅決定部1101が動画像符号化装置901の外部に設けられている場合、リフレッシュ幅決定部1101を省略することができる。
誤差画像生成部1111が生成する誤差画像の直交変換及び量子化の代わりに、別の変換アルゴリズムを使用する場合、直交変換部1112、量子化部1113、逆量子化部1115、及び逆直交変換部1116を別の構成要素に変更することができる。また、係数情報及び予測情報のエントロピー符号化の代わりに、別の符号化アルゴリズムを使用する場合、エントロピー符号化部1114を別の符号化部に変更することができる。
復号画像生成部1117が生成する復号画像においてノイズがあまり発生しない場合、ループフィルタ1122を省略することができる。
図10、図12、及び図23に示したフローチャートは一例に過ぎず、動画像符号化装置901の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、図12の動画像符号化処理において、ステップ1205の処理をステップ1204の処理の前へ移動してもよい。図23の動画像符号化処理において、ステップ2303の処理とステップ2304の処理とを入れ替えてもよい。
図3及び図6のイントラ予測モードは一例に過ぎず、H.264及びHEVC以外の符号化アルゴリズムに基づく別のイントラ予測モードを用いることもできる。
図13〜図15、図19〜図22、図24〜図26、及び図28〜図31に示した階段形状のリフレッシュ境界は一例に過ぎず、別の階段形状のリフレッシュ境界を用いることもできる。例えば、様々な高さの段が混在する階段形状のリフレッシュ境界を用いてもよい。
また、符号化対象画像内における複数のCTUの符号化順序がラスタスキャンとは異なり、各CTU内における複数のブロックの符号化順序がZスキャンとは異なる場合、イントラ予測符号化領域が右から左へ向かってシフトされることも考えられる。この場合、右上がり階段形状のリフレッシュ境界の代わりに、左上がり階段形状のリフレッシュ境界を用いてもよい。
図9及び図11の動画像符号化装置901は、ハードウェア回路として実装することもでき、図32に示すような情報処理装置(コンピュータ)を用いて実現することもできる。
図32の情報処理装置は、Central Processing Unit(CPU)3201、メモリ3202、入力装置3203、出力装置3204、補助記憶装置3205、媒体駆動装置3206、ネットワーク接続装置3207、及び動画像入力装置3208を含む。これらの構成要素はバス3209により互いに接続されている。
メモリ3202は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリである。メモリ3202は、動画像符号化処理に用いられる動画像符号化プログラム及びデータを格納する。メモリ3202は、図11の記憶部1118及び記憶部1123として用いることもできる。
CPU3201(プロセッサ)は、例えば、メモリ3202を利用して動画像符号化プログラムを実行することにより、図1及び図11の決定部911及び符号化部912として動作する。CPU3201は、図11のリフレッシュ幅決定部1101、領域決定部1102、ブロック決定部1103、予測モード制限部1104、イントラ予測モード決定部1105、インター予測モード決定部1106、及び予測モード選択部1107としても動作する。
CPU3201は、図11の誤差画像生成部1111、直交変換部1112、量子化部1113、エントロピー符号化部1114、逆量子化部1115、逆直交変換部1116、及び復号画像生成部1117としても動作する。CPU3201は、イントラ予測画像生成部1119、インター予測画像生成部1120、予測画像選択部1121、及びループフィルタ1122としても動作する。
入力装置3203は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置3204は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。
補助記憶装置3205は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置3205は、ハードディスクドライブであってもよい。情報処理装置は、補助記憶装置3205に動画像符号化プログラム及びデータを格納しておき、それらをメモリ3202にロードして使用することができる。
媒体駆動装置3206は、可搬型記録媒体3210を駆動し、その記録内容にアクセスする。可搬型記録媒体3210は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体3210は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、又はUniversal Serial Bus(USB)メモリであってもよい。ユーザ又はオペレータは、この可搬型記録媒体3210に動画像符号化プログラム及びデータを格納しておき、それらをメモリ3202にロードして使用することができる。
このように、動画像符号化プログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ3202、補助記憶装置3205、又は可搬型記録媒体3210のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置3207は、Local Area Network(LAN)、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。ネットワーク接続装置3207は、動画像復号装置に対して符号化ストリームを出力する出力インタフェースとして用いることもできる。情報処理装置は、動画像符号化プログラム及びデータを外部の装置からネットワーク接続装置3207を介して受信し、それらをメモリ3202にロードして使用することもできる。
動画像入力装置3208は、入力される符号化対象動画像をメモリ3202へ転送する。
なお、情報処理装置が図32のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要の場合は、入力装置3203及び出力装置3204を省略してもよい。また、情報処理装置が可搬型記録媒体3210にアクセスしない場合は、媒体駆動装置3206を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図3乃至図32を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
動画像に含まれる複数の画像の間で、イントラ予測符号化が適用されるイントラ予測符号化領域をシフトさせながら、前記複数の画像を符号化する動画像符号化装置であって、
前記複数の画像のうち符号化対象画像内において、前記イントラ予測符号化領域と未だイントラ予測符号化が適用されていない未リフレッシュ領域の境界を階段形状とし、前記イントラ予測符号化領域内の複数のブロックのイントラ予測画像を生成する際に参照する符号化済みの画素の参照範囲が互いに異なる複数のイントラ予測モードのうち、前記参照範囲が前記未リフレッシュ領域の画素を使用するイントラ予測モードを有効なイントラ予測モードから除外し、前記複数のブロックのうち、前記階段形状の第1の段に接する第1のブロックよりも前にイントラ予測符号化され、前記階段形状の第2の段に接する第2のブロックの符号化済み画像を参照するイントラ予測モードを、前記第1のブロックのための有効なイントラ予測モードに含めて、前記第1のブロックのためのイントラ予測モードを決定する決定部と、
前記決定部が決定した前記イントラ予測モードに基づく前記第1のブロックのイントラ予測符号化結果を含む符号化動画像を出力する符号化部と、
を備えることを特徴とする動画像符号化装置。
(付記2)
前記符号化対象画像の動きベクトルの情報に基づいて、前記符号化対象画像よりも後に符号化される画像内の前記イントラ予測符号化領域に対する前記階段形状の境界の傾きを変更する領域決定部をさらに備えることを特徴とする付記1記載の動画像符号化装置。
(付記3)
前記符号化対象画像内の第3のブロックのインター予測符号化において、前記符号化対象画像よりも前に符号化される画像内の未だイントラ予測符号化が適用されていない領域が動きベクトルの探索範囲から除外される場合、前記第3のブロックに対してイントラ予測符号化を適用する予測モード選択部をさらに備えることを特徴とする付記1又は2記載の動画像符号化装置。
(付記4)
動画像に含まれる複数の画像の間で、イントラ予測符号化が適用されるイントラ予測符号化領域をシフトさせながら、前記複数の画像を符号化する動画像符号化装置が、
前記複数の画像のうち符号化対象画像内において、前記イントラ予測符号化領域と未だイントラ予測符号化が適用されていない未リフレッシュ領域の境界を階段形状とし、前記イントラ予測符号化領域内の複数のブロックのイントラ予測画像を生成する際に参照する符号化済みの画素の参照範囲が互いに異なる複数のイントラ予測モードのうち、前記参照範囲が前記未リフレッシュ領域の画素を使用するイントラ予測モードを有効なイントラ予測モードから除外し、前記複数のブロックのうち、前記階段形状の第1の段に接する第1のブロックよりも前にイントラ予測符号化され、前記階段形状の第2の段に接する第2のブロックの符号化済み画像を参照するイントラ予測モードを、前記第1のブロックのための有効なイントラ予測モードに含めて、前記第1のブロックのためのイントラ予測モードを決定し、
決定した前記イントラ予測モードに基づく前記第1のブロックのイントラ予測符号化結果を含む符号化動画像を生成する、
ことを特徴とする動画像符号化方法。
(付記5)
前記動画像符号化装置は、前記符号化対象画像の動きベクトルの情報に基づいて、前記符号化対象画像よりも後に符号化される画像内の前記イントラ予測符号化領域に対する前記階段形状の境界の傾きを変更することを特徴とする付記4記載の動画像符号化方法。
(付記6)
前記動画像符号化装置は、前記符号化対象画像内の第3のブロックのインター予測符号化において、前記符号化対象画像よりも前に符号化される画像内の未だイントラ予測符号化が適用されていない領域が動きベクトルの探索範囲から除外される場合、前記第3のブロックに対してイントラ予測符号化を適用することを特徴とする付記4又は5記載の動画像符号化方法。
(付記7)
動画像に含まれる複数の画像の間で、イントラ予測符号化が適用されるイントラ予測符号化領域をシフトさせながら、前記複数の画像を符号化するコンピュータに、
前記複数の画像のうち符号化対象画像内において、前記イントラ予測符号化領域と未だイントラ予測符号化が適用されていない未リフレッシュ領域の境界を階段形状とし、前記イントラ予測符号化領域内の複数のブロックのイントラ予測画像を生成する際に参照する符号化済みの画素の参照範囲が互いに異なる複数のイントラ予測モードのうち、前記参照範囲が前記未リフレッシュ領域の画素を使用するイントラ予測モードを有効なイントラ予測モードから除外し、前記複数のブロックのうち、前記階段形状の第1の段に接する第1のブロックよりも前にイントラ予測符号化され、前記階段形状の第2の段に接する第2のブロックの符号化済み画像を参照するイントラ予測モードを、前記第1のブロックのための有効なイントラ予測モードに含めて、前記第1のブロックのためのイントラ予測モードを決定し、
決定した前記イントラ予測モードに基づく前記第1のブロックのイントラ予測符号化結果を含む符号化動画像を生成する、
処理を実行させる動画像符号化プログラム。
(付記8)
前記コンピュータは、前記符号化対象画像の動きベクトルの情報に基づいて、前記符号化対象画像よりも後に符号化される画像内の前記イントラ予測符号化領域に対する前記階段形状の境界の傾きを変更することを特徴とする付記7記載の動画像符号化プログラム。
(付記9)
前記コンピュータは、前記符号化対象画像内の第3のブロックのインター予測符号化において、前記符号化対象画像よりも前に符号化される画像内の未だイントラ予測符号化が適用されていない領域が動きベクトルの探索範囲から除外される場合、前記第3のブロックに対してイントラ予測符号化を適用することを特徴とする付記7又は8記載の動画像符号化プログラム。