まず、本発明の実施形態について詳細に説明する前に、イントラ予測と予測モードについて説明する。
前述したように、HEVCまでの動画像符号化規格では、CUの分割は4分木を実施するか否かの再帰処理で決定されている。また、イントラ予測を実施する単位であるPUに関しても、CUサイズをそのまま用いるかCUサイズを4分木するかのどちらかの処理で決定されている。このため、分割後のブロックは全て正方形となる。図1は、このような正方形ブロックに対するイントラ予測の説明図である。例えば8×8のブロックの白色の画素をPUとして、このPUの左と上に隣接する濃い色の隣接画素を用いて予約が行われる。図1の各矢印の方向で示されるように、隣接画素から計算する予測画像の重み判定方式が異なる。国際標準圧縮方式H.264/AVCでは最大10通り、次世代高能率映像符号化HEVCでは最大35通りの予測モードが存在する。
図2は、HEVCにおける予測モードを示す図である。HEVCでは、図2に示されるモード番号により、モード番号0番のPlanar予測、モード番号1番のDC予測、及びモード番号2番から34番のAngular予測の、合計で35通りの予測モードが選択可能である。モード番号0番のPlanar予測では、PUの左及び上の符号化済み隣接画素からの平面近似によりPU内の各予測画素が生成される。モード番号1番のDC予測では、PUの左及び上の符号化済み隣接画素の平均値としてPU内の各予測画素が生成される。モード番号2番から34番のAngular予測では、図2の2から34の番号が付された左下から右上までの各矢印が示す位置の隣接画素から中央に位置する予測画素が生成される。図2からわかるように、Angular予測では、33通りの予測モードが存在する。
図1又は図2の予測モードを用いた従来のイントラ予測では、処理ブロックPUが全て正方形であったために、左隣接画素からの予測と上隣接画素からの予測に、距離的な差は無かった。これに対して、前述したように、JVETでは、CUの分割を4分木のみでなく、2分割も可能とするQTBT方式が提案されており、PUのブロックとしては、正方形ブロックだけでなく、長方形ブロックも選択することが可能となって、符号化性能が向上する。しかしながら、QTBTで採用される長方形ブロックでは、上述の左隣接画素からの予測と上隣接画素からの予測に距離的な差が無いという関係が崩れる。図3は、長方形ブロックにおける隣接画素からの距離の関係性についての説明図である。図3(a)に示されるように、PUである長方形ブロック301が横長である(水平方向に長い)場合には、図3(a)の矢印で示されるように、左隣接画素302は長方形ブロック301内の各予測対象画素からの距離が遠くなる。一方、図3(b)に示されるように、長方形ブロック301が縦長である(垂直方向に長い)場合には、図3(b)の矢印で示されるように、上隣接画素303は長方形ブロック301内の各予測対象画素からの距離が遠くなる。イントラ予測において、図3に示されるように遠い隣接画素から予測画像が生成されると、予測効率が悪くなり、予測残差信号のエネルギーが大きくなる可能性が高くなって、符号化効率が低下する。
ここで、図3(a)に示されるように、左隣接画素302と長方形ブロック301の距離が遠くなる場合は、逆に上隣接画素303と長方形ブロック301の距離が近くなるという関係がある。一方、図3(b)に示されるように、上隣接画素303と長方形ブロック301の距離が遠くなる場合は、逆に左隣接画素302と長方形ブロック301の距離が近くなるという関係がある。
そこで、以下に説明する本実施形態では、PUが長方形ブロックになる場合には、予測モードを評価する毎に、次の処理が実行される。その予測モードに対応する予測方向(以下「元予測方向」と記載)からのイントラ予測に加えて、元予測方向に対して180度正反対の方向(以下「正反対予測方向」と記載)からのイントラ予測も評価される。そして、評価ポイントが高いほうの予測方向が採用されることにより、イントラ予測の予測効率を高める動作が実行される。
今、もしPU内に、そのPUを貫通する強いエッジ画素が存在すれば、左下方向からのイントラ予測も、正反対(180度反対)の右上方向からのイントラ予測も、同様に予測が当たる。イントラ予測においては、隣接画素と予測対象画素の距離は近い方が、予測効率が高いことが期待できる。一方、符号化効率の観点から、イントラ予測の方向(予測モード)は、むやみに増加させたくない。
そこで、以下に説明する本実施形態では、次のような制御が実施される。或る予測モードについて、元予測方向に加えて正反対予測方向からのイントラ予測も可能で、かつ正反対予測方向の方が隣接画素と予測対象画素の距離の方が近い場合には、予測方向が正反対予測方向に置き換えられて予測モード判定が実施される。これにより、本実施形態では、より効率の良いイントラ予測が実施される。
本実施形態のポイントは、以下の通りである。長方形ブロックのイントラ予測が実施される場合において、或る予測方向(例えば左下方向から右上方向への予測方向)が評価されるときに、その正反対の予測方向(例えば右上方向から左下方向への予測方向)も同時に評価される。
図4は、図2に示したHEVCにおける予測モードに本実施形態を適用した場合の説明図である。モード番号2番から34番のAngular予測モードのうち、左下方向から右上方向の予測方向を有する例えばモード番号3番から9番の予測モードについて、それらのモード番号の予測方向の正反対(180度反対)の予測方向が定義される。左下方向から右上方向の予測方向は例えば、予測対象画素を基準にして、右水平方向を0度として反時計回りに180度を超えて225度までの角度方向である。そして、この予測方向の正反対の予測方向は、モード番号18番から34番の上隣接画素を水平右方向に拡張して得られるモード番号3′番から9′番(図中では6′番までを表示)の予測方向である。
また、図示していないが、右上方向から左下方向の予測方向を有する例えばモード番号33番から27番の予測モードについて、それらのモード番号の予測方向の正反対(180度反対)の予測方向も定義される。右上方向から左下方向の予測方向は例えば、予測対象画素を基準にして、右水平方向を0度として反時計回りに45度を超えて90度未満までの角度方向である。そして、この予測方向の正反対の予測方向は、モード番号33番から27番の上隣接画素を垂直方向に拡張して得られるモード番号33′番から27′番(図示せず)の予測方向である。
本実施形態では、以上のようにして定義される2つの予測方向のうちどちらが良い予測画像を生成可能かが暗黙的に(=符号量の増加無しに)決定されることにより、より適切なイントラ予測が実現される。上記の判定が画像符号化装置と画像復号装置とで同じアルゴリズムに従って実行されることにより、元の予測方向に対応する予測モードが符号化されながら、条件によって符号化側と復号側とで予測モードに対応する元の予測方向とは正反対の予測方向がイントラ予測に適用されるようにすることが可能となる。
以下に説明する本実施形態の基本的な動作は、次の通りである。
ステップ1:隣接画素と処理ブロック内の予測対象画素との距離が定義される。
ステップ2:或る予測モードについて、その予測モードに対応する元予測方向の正反対予測方向からイントラ予測が可能な場合は、次の処理が実行される。元予測方向の隣接画素を用いて計算したステップ1の距離と、上記正反対予測方向の隣接画素を用いて計算したステップ1の距離とが比較され、距離の短いほうの方向が選択される。
ステップ3:ステップ2で選択された方向が、現在の予測モードに対応する予測方向と判定される。
上記ステップ1の距離計算としては、処理ブロック内の全ての予測対象画素の夫々と現在選択されている方向の隣接画素との距離の総和を計算するのが正確である。これに対して、演算量を下げるために、例えば、処理ブロックの左上予測対象画素と右下予測対象画素の2点の夫々と隣接画素との距離の和や、処理ブロックの最右下予測対象画素と隣接画素との距離のみ、で代用することも可能である。
上述の基本動作に基づく本実施形態について、図面を参照しながら詳細に説明する。
図5は、本実施形態で採用されるHEVCにおけるブロックの説明図である。HEVCにおいては、ピクチャは、符号化ブロック(Coding Tree Unit:CTU)単位に分割され、ラスタスキャン順に符号化処理が行われる。CTUサイズは、シーケンス単位で一定であるが、64×64画素から16×16画素までの画素サイズを選択することができる。CTUは更に第1のサブブロッCUに四分木構造で分割され、CTU内でラスタスキャン順に符号化処理が行われる。CUは可変サイズであり、CU分割モード8×8画素から64×64画素を選択することができる。CUは、符号化モードであるイントラ予測とインター予測を選択する単位となる。CUは、第2のサブブロックPUと第3のサブブロックTU(Transform Unit)単位に個別に処理される。PUは、それぞれの符号化モードの予測の単位となる。例えば、イントラ予測では、PUはイントラ予測モードを決定する単位となる。また、インター予測では、PUは動き補償を行う単位となる。PUのサイズは、例えばインター予測であれば、PU分割モード(PartMode)=2N×2N、N×N、2N×N、N×2N、2N×U、2N×nD、nR×2N、nL×2Nの何れかの画素サイズから選択可能である。一方、TUは、後述する図6の直交変換・量子化部610が実行する直交変換の単位であり、4×4から32×32の画素サイズを選択することができる。TUは、四分木構造で分割され、ラスタスキャン順に処理される。
図6は、動画像符号化装置の実施形態の構成例を示すブロック図である。図6に示される動画像符号化装置600は、隣接画素拡張部601、予測方向判定部602、イントラ予測モード判定部603、イントラ予測部604、動きベクトル検出部605、動き補償部606、モード判定部607、及び予測画像生成部608を含む。更に、動画像符号化装置は、残差演算部609、直交変換・量子化部610、可変長符号化部611、逆量子化・逆直交変換部612、参照画像演算部613、及びフレームメモリ614を含む。
図6において、特には図示しない入力部より入力された画像は、図5で説明したCU(以下「処理CU」と記載)及びそれを分割したPU(以下「処理PU」と記載)単位に、インター予測処理と、イントラ予測がそれぞれ実行される。
処理CU及びそれを分割した処理PUに対するインター予測処理は、動きベクトル検出部605及び動き補償部606によって実行される。まず、動きベクトル検出部605は、現在のフレームの画像(以下「原画像」と記載)を入力し、また、フレームメモリ614から動画像符号化装置600内で生成された符号化済の局所復号画像(後述する)である参照画像を入力する。動きベクトル検出部605は、原画像及び参照画像からそれぞれ、同一箇所の処理CUを切り出す。動きベクトル検出部605は更に、処理CUを分割して得られる処理PUに対応する同一箇所のPUを切り出す(以下、原画像から切り出したPUを「原画像PU」、参照画像から切り出したPUを「参照画像PU」と記載)。動きベクトル検出部605は、原画像PUと参照画像PUの対応する画素間で差分絶対値を算出する。動きベクトル検出部605は、算出した各画素の差分絶対値に関する差分絶対値和SAD_cost(Sum Absolute Difference:)を算出する。SAD_costは、例えばPUが16×16画素サイズの場合には、ラスタスキャンに沿った左上から右下までの計256画素について、上記算出された差分絶対値の累算値であり、下記(1)式の演算により算出される。
SAD_cost=Σ|*org−*ref| ・・・(1)
ここで、「*org」は原画像PUの各画素値、「*ref」は参照画像PUの各画素値である。
動きベクトル検出部605は、算出した差分絶対値和SAD_costに基づいて、動き探索を行い、その最小値などにより最適な動きベクトルを探索する。動き探索には、画素の差分絶対値和の大きさのみでなく、動きベクトルの評価値も付加することが一般的である。動きベクトルの符号化としては、動きベクトルの成分そのものでなく、周辺PUの動きベクトルとの差分ベクトルが符号化される。このため、動きベクトル検出部605は、動きベクトルについての周辺PUの動きベクトルとの差分ベクトルを算出し、その差分ベクトルの成分の大きさにより、動きベクトル符号長相当の評価値を出力する。ここで、動き探索の評価値をcost、動きベクトルの符号量相当の評価値をMV_cost(Motion Vector)とする。動きベクトル検出部605は、上記MV_costと(1)式で算出した差分絶対値和SAD_costを用いた下記(2)式で示されるcostを最小値にする、動きベクトル位置を探索する。ここで、λは、ラグランジュ乗数である。
cost=SAD_cost+λ×MV_cost ・・・(2)
実際には、PUは、64×64から4×4までの画像サイズを取り得るので、PUの画像サイズに応じて、costを評価する単位も変更される。
なお、上記SAD_costの代わりに、別途SATD(アダマール変換による差分コスト)などの別の評価値を用いることも可能である。
次に、動き補償部606が、現在の処理PUに関して、動きベクトル検出部605が検出した動きベクトルに基づいて動き補償を行う。動き補償部606は、動きベクトル検出部605がフレームメモリ614から読み出した参照画像PUに、動きベクトル検出部605が検出した動きベクトルを適用する。これにより、動き補償部606は、原画像PUに対応する予測画像のPU(以下「予測画像PU」と記載)を生成し、インター予測による予測画像PUとする。動き補償部606は、このインター予測による処理PU毎の予測画像PUを処理CU全体で合成することにより、処理CUに対するインター予測による予測画像CUを生成して出力する。
一方、処理CU及びそれを分割した処理PUに対するイントラ予測処理は、図6の隣接画素拡張部601、予測方向判定部602、イントラ予測モード判定部603、及びイントラ予測部604によって実行される。
まず、隣接画素拡張部601は、処理CUから分割される処理PUが長方形ブロックである場合に、次の処理を実行する。隣接画素拡張部601は、その長方形ブロックが水平方向に長い場合には、その長方形ブロックの上隣接画素を、その長方形ブロックの長い辺を水平右方向に拡張した延長線に隣接する上のブロックに含まれる画素にまで拡張する(図4の説明を参照)。また、隣接画素拡張部601は、その長方形ブロックが垂直方向に長い場合には、その長方形ブロックの左隣接画素を、その長方形ブロックの長い辺を垂直下方向に拡張した延長線に隣接する左のブロックに含まれる画素にまで拡張する。なお、隣接画素拡張部601は、隣接画素値としては、フレームメモリ614から読み出した参照画像の該当する位置の画素値を使用する。
次に、予測方向判定部602は、処理PUが長方形ブロックである場合に、隣接画素拡張部601が設定した隣接画素値を用いて、前述した図4で説明したステップ1、2、及び3の動作を実行することにより、予測モード毎に、その予測モードに対応する元予測方向と正反対予測方向のうちの何れかの方向を選択する。
続いて、イントラ予測モード判定部603は、予測方向判定部602での判定を踏まえながら、処理PUに対するイントラ予測モードを判定する。イントラ予測モード判定部603は、イントラ予測モードを順次(HEVCの場合図2に示される35通りで)変更しながら、現在のイントラ予測モードに対して、予測方向判定部602での判定を踏まえたイントラ予測方向の隣接画素を参照する。そして、イントラ予測モード判定部603は、参照した隣接画素から、処理PUの各画素の暫定的な予測値を決定する(以下、各画素の暫定的な予測値から構成されるPUを「暫定予測画像PU」と記載)。イントラ予測モード判定部603は、現在のイントラ予測モードに対して、原画像PUと暫定予測画像PUの対応する画素間で、前述した(1)式と同様にして差分絶対値和SAD_costを算出する。更に、イントラ予測モード判定部603は、その差分絶対値和SAD_costを用いて、前述した(2)式と同様にして、現在のイントラ予測モードに対応するcost値を算出する。イントラ予測モード判定部603は、この演算を全てのイントラ予測モードに対して実行し、この結果、cost値が最小となるイントラ予測モードを、処理PUに対するイントラ予測モードとして判定する。
図6のイントラ予測部604は、イントラ予測モード判定部603が判定したイントラ予測モードに対してイントラ予測モード判定部603が算出していた暫定予測画像PUを、イントラ予測による予測画像PUとする。イントラ予測部604は、このイントラ予測による処理PU毎の予測画像PUを処理CU全体で合成することにより、処理CUに対するイントラ予測による予測画像CUを生成して出力する。
図6のモード判定部607は、動き補償部606からのインター予測による予測画像CUと、イントラ予測部604からのイントラ予測による予測画像CUとを比較する。これにより、モード判定部607は、インター予測とイントラ予測のうち、現在の処理CUを符号化するのにどちらの予測が最適かを決定する。そして、モード判定部607は、インター予測を行うのが最適と判定した場合には、動き補償部606が生成した予測画像CUを、予測画像生成部608に出力する。一方、モード判定部607は、イントラ予測を行うのが最適と判定した場合には、イントラ予測部604が生成した予測画像CUを、予測画像生成部608に出力する。予測画像生成部608は、モード判定部607から入力された予測画像CUを、残差演算部609に出力する。
図6の残差演算部609は、現在の処理CUに対応する原画像(以下「原画像CU」と記載)と予測画像生成部608からの予測画像CUとで、対応する画素毎に差分を演算することにより、予測残差画像のCU(以下「予測残差画像CU」と記載)を生成する。
図6の直交変換・量子化部610は、予測残差画像CUからTUサイズ単位(図5の説明を参照)で、DCT変換、及び符号化モードによってはアダマール(Hdamard)変換の直交変換をかけ、空間周波数成分信号に変換する。これは画像の空間相関性により、空間周波数成分に変換することにより、低周波成分に信号が集まり情報量圧縮を行うことが可能となるからである。直交変換・量子化部610は、直交変換後の値に対して標本化を行い、係数値が0となる成分数を増やす。
図6の可変長符号化部611は、直交変換・量子化部610での量子化の結果として非0となった係数のみを、可変長符号化して出力する。可変長符号化部611は、CABACと呼ばれる出現確率に応じた最適な符号割当てを算出する符号化を実施する。これにより、どのような符号化ビット列に対しても、全体的に符号長を短くすることが可能となる。
図6の逆量子化・逆直交変換部612は、直交変換・量子化部610で量子化された後の係数を逆量子化し、更に逆量子化された周波数成分を逆直交変換により局所復号された予測残差画像に変換する。
図6の参照画像演算部613は、CU単位で、逆量子化・逆直交変換部612が出力する局所復号された予測残差画像の各画素値に予測画像生成部608が生成する予測画像CUの対応する各画素値を加算する。これにより、参照画像演算部613は、局所復号された参照画像のCUを生成し、フレームメモリ614に蓄積する。
このようにして、復号化側と同等の処理画像が符号化側でも生成される。符号化側で生成された画像を局所復号画像と呼び、符号化側で復号化側と同一の処理画像を生成することにより、次のフレーム画像以降で差分符号化を行うことが可能となる。
図7は、図6の動画像符号化装置600により実行されるイントラ予測に重点を置いた符号化処理の例を示すフローチャートである。以下、このフローチャートの説明において、随時図6の各部を参照する。
まず、隣接画素拡張部601は、現在設定されている処理CUを分割して1つの処理PUを決定し、その処理PUが、長方形分割か、否(正方形分割)かを、決定する(ステップS701)。HEVCまでの従来の符号化方式や、QTBTの分割であってもイントラ予測を実施する単位が全て正方形であれば、この判定がNOとなる。
ステップS701の判定において長方形分割の判定がYESである場合は、隣接画素拡張部601は、前述した隣接画素拡張の処理を実行する(ステップS702)。ステップS701の判定において長方形分割の判定がNOである場合は、隣接画素拡張部601はステップS702の処理はスキップする。
続いて、図示しない制御部により、処理PUについて、1つのイントラ予測モードが選択される(ステップS703)。イントラ予測モードは、HEVCの場合図2に示される35通りのうちの1つである。
次に、予測方向判定部602が、ステップS703で選択されたイントラ予測モードについて、そのイントラ予測モードに対応する元予測方向に対して正反対予測方向(図7では「正反対方向」と略記)が使用可能であるか否かを判定する(ステップS704)。この判定がYESになる場合は、次の全ての条件が満たされた場合である。まず、処理PUとして長方形ブロックが選択されている(ステップS701の判定がYESである)場合である。かつ、ステップS703で現在選択されているイントラ予測モードが、図4で説明したモード番号2番から9番、又は33番から27番の何れかである場合である。かつ、ステップS703で現在選択されているイントラ予測モードに対応する元予測方向に対する正反対予測方向の画素位置に、隣接画素拡張部601での拡張処理により隣接画素が設定できた場合(その画素位置が原画像からはみ出していない場合)である。
ステップS704の判定がYESの場合、予測方向判定部602は、前述した図4で説明したステップ1の動作を実行する。これにより、予測方向判定部602は、元予測方向の隣接画素と処理PU内の予測対象画素との距離、及び正反対予測方向の隣接画素と処理PU内の予測対象画素との距離を、それぞれ計算する(ステップS705、S706)。これらの距離としては、元予測方向の隣接画素と処理PU内の全ての予測対象画素との距離の総和、及び正反対予測方向の隣接画素と処理PU内の全ての予測対象画素との距離の総和が計算される。
図8は、予測方向判定部602での距離算出動作の説明図である。ここでは、簡単な具体例について1つ説明する。ここで説明する例以外のイントラ予測モードに関しても、規格に沿った形で隣接予測画素と処理PU内の全ての予測対象画素との距離の総和を算出可能である。
今、処理PUのサイズを[X,Y](X<Y)の長方形とする。また、隣接画素拡張部601(ステップS702)により拡張が行われた後の左隣接画素列及び上隣接画素列をそれぞれ、下記(3)式及び(4)式で定義する。
左隣接画素列:P[−1,−1],P[−1,0],P[−1,1],
・・・,P[−1,XX]・・・(3)
上隣接画素列:P[−1,−1],P[0,−1],P[1,−1],
・・・,P[YY、−1]・・・(4)
ここで、XXないしYYは、XとYの大きさの関係により決定する。従来通りの隣接画素の読み込みでは、XX=2X+1、YY=2Y+1となるが、本実施形態では、図4の説明で示した、予測方向拡張として、モード番号3′番から9′番や、モード番号33′番から27′番のイントラ予測を実施するのに必要な画素数だけ、上隣接画素、もしくは、左隣接画素の追加読込みを実施する。モード番号9′番やモード番号27′番の予測モード計算を実施する場合に、最も隣接画素の読出し数の増加(=隣接画素拡張)を必要とするが、ここは予測モードの角度より、正確に追加画素数を計算してもよいし、XXの画素拡張最大値は、4X+1まで、以降は、P[−1,4X+1]のリピートにより隣接画素を生成するような、隣接画素読出しの上限を定める定義にしてもよい。
更に、処理PU内の予測対象画素を、下記(5)式で定義する。
予測対象画素:O[0,0],O[0,1],
・・・,O[X−1,Y−1]・・・(5)
ここで、ステップS703で選択されたイントラ予測モードの元予測方向が例えば、角度225度の左下方向からの方向であるとする。また、上記元予測方向に対する正反対予測方向が例えば、角度45度の右上方向からの方向であるとする。
この例の場合、ステップS705で、元予測方向の左隣接画素と処理PU内の全ての予測対象画素との距離の総和Dleftは、下記(6)式の演算で算出される。ここで、「|P(−1,i+j+1),O(i,j)|」は、隣接画素P(−1,i+j+1)と予測対象画素O(i,j)の画素位置間距離を算出する演算を示す。
また上記例の場合、ステップS706で、正反対予測方向の上隣接画素と処理PU内の全ての予測対象画素との距離の総和Dupper は、下記(7)式の演算で算出される。ここで、「|P(i+j+1,−1),O(i,j)|」は、隣接画素P(i+j+1,−1)と予測対象画素O(i,j)の画素位置間距離を算出する演算を示す。
続いて、予測方向判定部602は、ステップS706で算出した正反対予測方向に対応する距離の総和が、ステップS705で算出した元予測方向に対応する距離の総和よりも小さいか否かを判定する(ステップS707)。ここでは、正反対予測方向の隣接画素のほうが、元予測方向の隣接画素よりも、全体として処理PUに近いか否かが判定されることになる。
ステップS707の判定がYESの場合、図6のイントラ予測モード判定部603は、ステップS703で選択されているイントラ予測モードの元予測方向に対する正反対予測方向の隣接画素を参照する。そして、イントラ予測モード判定部603は、参照した隣接画素から、処理PUの各予測対象画素の暫定的な予測値を決定することにより、前述した暫定予測画像PUを生成する(以上、ステップS708)。
一方、ステップS707の判定がNOの場合、又は現在のイントラ予測モードに対応する元予測方向に対して正反対予測方向が使用可能ではなく前述したステップS704の判定がNOとなった場合には、イントラ予測モード判定部603は次の処理を実行する。イントラ予測モード判定部603は、ステップS703で選択されているイントラ予測モードの元予測方向の隣接画素を参照する。そして、イントラ予測モード判定部603は、参照した隣接画素から、処理PUの各予測対象画素の暫定的な予測値を決定することにより、前述した暫定予測画像PUを生成する(以上、ステップS709)。
次に、イントラ予測モード判定部603は、原画像PUとステップS708又はS709で生成された暫定予測画像PUの対応する画素間で、前述した(1)式の演算により差分絶対値和SAD_costを算出する。更に、イントラ予測モード判定部603は、その差分絶対値和SAD_costを用いた前述した(2)式の演算により、ステップS703で選択されている現在のイントラ予測モードに対応するコスト値(cost値)を算出する。続いて、イントラ予測モード判定部603は、ここで算出したコスト値が、いままでステップS703で選択されてきたイントラ予測モードに対して算出してきたコスト値よりも小さいか否かを判定する。そして、この判定がYESならば、イントラ予測モード判定部603は、ステップS703で選択されている現在のイントラ予測モードを、現在の処理PUに対応するイントラ予測モードの暫定的な出力値とする。更に、図6のイントラ予測部604が、現在のイントラ予測モードに対してステップS708又はS709で生成されている暫定予測画像PUを、現在の処理PUに対応するイントラ予測による予測画像PUの暫定的な出力値とする(以上、ステップS710)。
次に、特には図示しない制御部は、以上のステップS703からS710までの一連の処理が、選択可能な全てのイントラ予測モード(例えばHEVCの場合は図2の35通り)に対して実行されたか否かを判定する(ステップS711)。
ステップS711の判定がNOならば、ステップS703の処理に戻って、次のイントラ予測モードに対するステップS703からS710までの一連の処理が実行される。
ステップS711の判定がYESになると、その時点でイントラ予測モード判定部603が出力しているイントラ予測モードの暫定的な出力値が、現在の処理PUに対して最終的に決定されたイントラ予測モードの出力値とされる。更に、その時点でイントラ予測部604が出力している予測画像PUの暫定的な出力値が、現在の処理PUに対して最終的に決定されたイントラ予測による予測画像PUの出力値とされる。
次に、特には図示しない制御部は、以上のステップS701からS711までの一連の処理が、処理CUから分割される全ての処理PU(図5参照)に対して実行されたか否かを判定する(ステップS712)。
ステップS712の判定がNOならば、ステップS701の処理に戻って、処理CU内の次の処理PUに対するステップS701からS711までの一連の処理が実行される。
ステップS712の判定がYESになると、処理CU内の全ての処理PUについて、イントラ予測モードの決定と、そのイントラ予測モードを用いたイントラ予測による予測画像PUの生成が完了し、現在の処理CUに対応する予測画像CUが決定する。
その後、処理CUに対するブロック符号化の処理が実行される(ステップS713)。このステップS713では、以下の一連の処理が実行される。
まず、図6のモード判定部607は、前述した動きベクトル検出部605と動き補償部606によるインター予測処理で別途生成されているインター予測による予測画像PUをCUにまとめた予測画像CUを、動き補償部606から入力する。また、モード判定部607は、上記ステップS712までの繰返し処理によりイントラ予測部604から出力されるイントラ予測による予測画像PUをCUにまとめた予測画素CUを入力する。そして、モード判定部607は、上記インター予測による予測画像CUとイントラ予測による予測画像CUとを比較する。これにより、モード判定部607は、インター予測とイントラ予測のうち、現在の処理CUを符号化するのにどちらの予測が最適かを決定する。そして、モード判定部607は、最適と判定した予測による予測画像CUを、予測画像生成部608から残差演算部609に送る。
図6の残差演算部609は、現在の処理CUに対応する原画像CUと予測画像生成部608からの予測画像CUとで、対応する画素毎に差分を演算することにより、予測残差画像CUを生成する。
この予測残差画像CU内の各TU(図5参照)に対して、前述した図6の直交変換・量子化部610及び可変長符号化部611による符号化の処理が実行されることにより、処理CUに対応する符号化された画像情報が出力される。
更に、前述した図6の逆量子化・逆直交変換部612及び参照画像演算部613による局所復号画像の生成及びフレームメモリ614への蓄積処理が実行される。
以上のステップS713での一連の処理が完了すると、図6の動画像符号化装置600による図7のフローチャートで示される符号化の処理が完了する。
次に、図7のステップS705及びS706での距離計算処理の他の実施形態について説明する。上記説明では、これらの距離として、元予測方向の隣接画素と処理PU内の全ての予測対象画素との距離の総和、及び正反対予測方向の隣接画素と処理PU内の全ての予測対象画素との距離の総和が計算された。これに対して、上記距離として、元予測方向の隣接画素と処理PU内の最左上と最右下の予測対象画素の夫々との距離の和、及び正反対予測方向の隣接画素と処理PU内の最左上と最右下の予測対象画素の夫々との距離の和が計算されてもよい。この場合、ステップS703の説明で示した例において、前述した(6)式及び(7)式はそれぞれ、下記(8)式及び(9)式で置き換えられる。
Dleft=|P(−1,+1),O(0,0)|
+|P(−1,X+Y−1),O(X−1,Y−1)| ・・・(8)
Dupper =|P(1,−1),O(0,0)|
+|P(X+Y−1,−1),O(X−1,Y−1)| ・・・(9)
上記(8)式及び(9)式で示されるように、距離計算において、処理PUの最左上と最右下の予測対象画素のみを使用することにより、距離計算の計算量を削減することが可能となる。
更に計算量を削減する場合には、上記距離として、元予測方向の隣接画素と処理PU内の最右下の予測対象画素との距離、及び正反対予測方向の隣接画素と処理PU内の最右下の予測対象画素との距離が計算されてもよい。
図9は、動画像復号装置の実施形態の構成例を示すブロック図である。図9に示される動画像復号装置900は、可変長復号部901、モード復号部902、隣接画素拡張部903、予測方向判定部904、イントラ予測部905、動き補償部906、及び予測画像生成部907を含む。また、動画像復号装置900は、予測残差復号部908、逆量子化・逆直交変換部909、復号画像演算部910、及びフレームメモリ911を含む。
図9において、まず可変長復号部901が、特には図示しない入力部より入力された符号化画像に対して可変長復号処理を実行する。この結果、可変長復号部901は、予測残差信号の符号情報を予測残差復号部908に、それ以外の情報をモード復号部902に出力する。
モード復号部902は、可変長復号部901から受け取った符号情報から、図5で説明した処理CU単位で、その処理CUにインター予測が適用されているかイントラ予測が適用されているかを判定する。モード復号部902は、現在の処理CUにインター予測が適用されていると判定した場合には、可変長復号部901から受け取った符号情報から動きベクトルの情報を復号して、復号した動きベクトルの情報を動き補償部906に入力させて、動き補償部906を動作させる。モード復号部902は、現在の処理CUにイントラ予測が適用されていると判定した場合には、可変長復号部901から受け取った符号情報からイントラ予測モードの情報を復号して、復号したイントラ予測モードの情報を隣接画素拡張部903に入力させて、隣接画素拡張部903、予測方向判定部904、及びイントラ予測部905を動作させる。
上述のように、モード復号部902が現在の処理CUにインター予測が適用されていると判定した場合には、動き補償部906が動作する。動き補償部906は、まず、処理CUを分割した処理PU単位で、受信された符号化画像から動きベクトルを復号し、その動きベクトルに基づいて動き補償を行う。動き補償部906は、フレームメモリ911から読み出した参照画像を読み出して、処理CU及びそれを分割した処理PUに対応する参照画像PUを切り出す。動き補償部906は、その参照画像PUに、復号した動きベクトルを適用する。これにより、動き補償部906は、現在の処理PUに対応する予測画像PUを生成し、インター予測による予測画像PUとする。動き補償部906は、このインター予測による処理PU毎の予測画像PUを処理CU全体で合成することにより、処理CUに対するインター予測による予測画像CUを生成して出力する。
一方、前述のように、モード復号部901が現在の処理CUにイントラ予測が適用されていると判定した場合には、隣接画素拡張部903、予測方向判定部904、及びイントラ予測部905が動作する。
まず、隣接画素拡張部903は、図6の隣接画素拡張部601と同様の動作を実行する。隣接画素拡張部903は、処理CUから分割される処理PUが長方形ブロックである場合に、次の処理を実行する。隣接画素拡張部903は、その長方形ブロックが水平方向に長い場合には、その長方形ブロックの上隣接画素を、その長方形ブロックの長い辺を水平右方向に拡張した延長線に隣接する上のブロックに含まれる画素にまで拡張する(図4の説明を参照)。また、隣接画素拡張部903は、その長方形ブロックが垂直方向に長い場合には、その長方形ブロックの左隣接画素を、その長方形ブロックの長い辺を垂直下方向に拡張した延長線に隣接する左のブロックに含まれる画素にまで拡張する。なお、隣接画素拡張部903は、隣接画素値としては、フレームメモリ911から読み出した復号済みの参照画像の該当する位置の画素値を使用する。
次に、予測方向判定部904は、モード復号部902から隣接画素拡張部903を介して、処理CUから分割される現在の処理PUに対応する復号されたイントラ予測モードの情報を入力する。予測方向判定部904は、処理PUが長方形ブロックである場合に、隣接画素拡張部903が設定した隣接画素値を用いて、前述した図4で説明したステップ1、2、及び3の動作を実行することにより、復号した予測モードに対応する元予測方向と正反対予測方向のうちの何れかの方向を選択する。
イントラ予測部905は、上記復号されたイントラ予測モードに対して、予測方向判定部904での判定を踏まえたイントラ予測方向の隣接画素を参照する。そして、イントラ予測部905は、参照した隣接画素から、処理PUの各予測対象画素の予測値を決定し、予測画像PUを生成する。イントラ予測部905は、イントラ予測による処理PU毎の予測画像PUを処理CU全体で合成することにより、処理CUに対するイントラ予測による予測画像CUを生成して出力する。
予測画像生成部907は、動き補償部906又はイントラ予測部905から入力した予測画像CUを、復号画像演算部910に出力する。
予測残差復号部908は、可変長復号部901から入力した符号化情報から予測残差信号を復号し、逆量子化・逆直交変換部909に出力する。
逆量子化・逆直交変換部909は、処理CUを分割したTU(図5参照)の単位で、予測残差復号部908から入力した空間周波数領域の予測残差信号を逆量子化し、更に逆量子化された周波数成分を逆直交変換により復号された予測残差画像に変換する。
復号画像演算部910は、上記復号されたTU単位毎の予測残差画像を処理CUの単位でまとめ(以下「予測残差画像CU」と記載)、その予測残差画像CUを予測画像生成部907から入力する予測画像CUに対応する画素単位で加算する。この結果、復号画像演算部910は、CU単位の復号画像(以下「復号画像CU」と記載)を復号し、更に1枚のフレーム画像に合成し、それをフレーム復号画像として出力すると共に、フレームメモリ911に復号済みの参照画像として蓄積する。
図10は、図9の動画像復号装置900により実行されるイントラ予測に重点を置いた復号処理の例を示すフローチャートである。以下、このフローチャートの説明において、随時図9の各部を参照する。
まず、隣接画素拡張部903は、モード復号部902が現在の処理CUにイントラ予測が適用されていると判定し、かつ、処理CUを分割した現在の処理PUが、長方形分割か、否(正方形分割)かを、決定する(ステップS1001)。HEVCまでの従来の符号化方式や、QTBTの分割であってもイントラ予測を実施する単位が全て正方形であれば、この判定がNOとなる。
ステップS1001の判定がYESである場合は、隣接画素拡張部903は、前述した隣接画素拡張の処理を実行する(ステップS1002)。
次に、予測方向判定部904が、モード復号部902から入力された復号されたイントラ予測モードについて、そのイントラ予測モードに対応する元予測方向に対して正反対予測方向(図10では「正反対方向」と略記)が使用可能であるか否かを判定する(ステップS1003)。この判定がYESになる場合は、次の全ての条件が満たされた場合である。まず、処理PUに対してイントラ予測モードが適用されており、処理PUとして長方形ブロックが選択されている(ステップS1001の判定がYESである)場合である。かつ、復号されたイントラ予測モードが、図4で説明したモード番号2番から9番、又は33番から27番の何れかである場合である。かつ、復号されたイントラ予測モードに対応する元予測方向に対する正反対予測方向の画素位置に、隣接画素拡張部903での拡張処理により隣接画素が設定できた場合(その画素位置が原画像からはみ出していない場合)である。
ステップS1003の判定がYESの場合、予測方向判定部904は、前述した図4で説明したステップ1の動作を実行する。これにより、予測方向判定部904は、元予測方向の隣接画素と処理PU内の予測対象画素との距離、及び正反対予測方向の隣接画素と処理PU内の予測対象画素との距離を、それぞれ計算する(ステップS1004、S1005)。これらの処理は、図6の動画像符号化装置600における図7のステップS705及びS706の場合と同じである。これらの距離としては、元予測方向の隣接画素と処理PU内の全ての予測対象画素との距離の総和、及び正反対予測方向の隣接画素と処理PU内の全ての予測対象画素との距離の総和が計算される(図8の説明を参照)。また前述したように、上記距離として、元予測方向の隣接画素と処理PU内の最左上と最右下の予測対象画素の夫々との距離の和、及び正反対予測方向の隣接画素と処理PU内の最左上と最右下の予測対象画素の夫々との距離の和が計算されてもよい。更に前述したように、上記距離として、元予測方向の隣接画素と処理PU内の最右下の予測対象画素との距離、及び正反対予測方向の隣接画素と処理PU内の最右下の予測対象画素との距離が計算されてもよい。ただし、距離の計算基準は、図6の動画像符号化装置600における図7のステップS705及びS706の場合と同一である必要がある。
続いて、予測方向判定部904は、ステップS1005で算出した正反対予測方向に対応する距離の総和が、ステップS1004で算出した元予測方向に対応する距離の総和よりも小さいか否かを判定する(ステップS1006)。この判定は、図7のステップS707の場合と同じである。
ステップS1006の判定がYESの場合、図9のイントラ予測部905は、復号されたイントラ予測モードの元予測方向に対する正反対予測方向の隣接画素を参照する。そして、イントラ予測部905は、参照した隣接画素から、処理PUの各予測対象画素の予測値を決定し、予測画像PUを生成する(以上、ステップS1007)。
一方、ステップS1006の判定がNOの場合、又は復号されたイントラ予測モードに対応する元予測方向に対し正反対予測方向が使用可能ではなく前述のステップS1003の判定がNOの場合には、イントラ予測部905はステップS1008を実行する。或いは、処理PUに対してイントラ予測モードが適用されていないか、処理PUが長方形ブロックでなく前述のステップS1001の判定がNOの場合にも、イントラ予測部905はステップS1008を実行する。ステップS1008において、イントラ予測部905は、復号されたイントラ予測モードの元予測方向の隣接画素を参照する。そして、イントラ予測部905は、参照した隣接画素から、処理PUの各予測対象画素の予測値を決定することにより、予測画像PUを生成する(以上、ステップS1008)。
次に、特には図示しない制御部は、以上のステップS1001からS1008までの一連の処理が、処理CUから分割される全ての処理PU(図5参照)に対して実行されたか否かを判定する(ステップS1009)。
ステップS1009の判定がNOならば、ステップS1001の処理に戻って、処理CU内の次の処理PUに対するステップS1001からS1008までの一連の処理が実行される。
ステップS1009の判定がYESになると、処理CU内の全ての処理PUについて、復号されたイントラ予測モードを用いたイントラ予測による予測画像PUの生成が完了し、現在のCUに対応する予測画像CUが決定する。
その後、その処理CUに対するブロック復号の処理が実行される(ステップS1010)。このステップS1010では、前述した予測残差復号部908、逆量子化・逆直交変換部909、及び復号画像演算部910による処理CU内を分割したTU単位でのブロック復号処理が実行される。この結果、復号画像演算部910は、処理CUに対応する復号画像CUを復号し、更に1枚のフレーム画像に合成し、それをフレーム復号画像として出力すると共に、フレームメモリ911に復号済みの参照画像として蓄積する。
以上のステップS1010での一連の処理が完了すると、図9の動画像復号装置900による図10のフローチャートで示される復号の処理が完了する。
図11は、図6の動画像符号化装置600又は図9の動画像復号装置900を実現可能なコンピュータのハードウェア構成の一例を示す図である。
図11に示されるコンピュータは、CPU(Central Processing Unit)1101、メモリ1102、入力装置1103、出力装置1104、補助情報記憶装置1105、可搬型記録媒体1109が挿入される媒体駆動装置1106、及びネットワーク接続装置1107を有する。これらの構成要素は、バス1108により相互に接続されている。同図に示される構成は上記動画像符号化装置600又は動画像復号装置900を実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
メモリ1102は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。
CPU(プロセッサ)1101は、例えば、メモリ1102を利用して、図6の動画像符号化装置600に用いられる例えば図7のフローチャートの処理又は図9の動画像復号装置900に用いられる例えば図10のフローチャートの処理に対応するプログラムを実行することにより、図6又は図9に示される各機能部として動作する。
入力装置1103は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置1104は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問合せ又は処理結果の出力に用いられる。
補助情報記憶装置1105は、例えば、ハードディスク記憶装置、磁気ディスク記憶装置、光ディスク装置、光磁気ディスク装置、テープ装置、又は半導体記憶装置である。図6の動画像符号化装置600又は図9の動画像復号装置900は、補助情報記憶装置1105に図6の動画像符号化装置600に用いられる例えば図7のフローチャートの処理又は図9の動画像復号装置900に用いられる例えば図10のフローチャートの処理を実行するプログラム及びデータを格納しておき、それらをメモリ1102にロードして使用することができる。
媒体駆動装置1106は、可搬型記録媒体1109を駆動し、その記録内容にアクセスする。可搬型記録媒体1109は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1109は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体1109に上述のプログラム及びデータを格納しておき、メモリ1102にロードして使用することができる。
このように、上述のプログラム及びデータを格納するコンピュータ読取り可能な記録媒体は、メモリ1102、補助情報記憶装置1105、又は可搬型記録媒体1109のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置1107は、例えばLocal Area Network(LAN)等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。図6の動画像符号化装置600又は図9の動画像復号装置900は、上述のプログラム又はデータを外部の装置からネットワーク接続装置1107を介して受信し、それらをメモリ1102にロードして使用することができる。
なお、図6の動画像符号化装置600又は図9の動画像復号装置900が図11の全ての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、オペレータ又はユーザからの指示又は情報を入力する必要がない場合は、入力装置1103が省略されてもよい。可搬型記録媒体1109又は通信ネットワークを利用しない場合は、媒体駆動装置1106又はネットワーク接続装置1107が省略されてもよい。
以上説明した実施形態では、非正方形の処理ブロックである場合に、元予測方向のイントラ予測と正反対予測方向のイントラ予測とで、どちらがより近い予測画像を用いてイントラ予測ができるかを判断し、予測モードを増やさないイントラ予測を実現できる。これにより、長方形ブロックのイントラ予測について、効率の良い符号化を実現することが可能となる。
上述の実施形態では、元予測方向に対する正反対予測方向が判定対象とされたが、必ずしも正反対方向に限られるものではない。これは、予測画素を生成する際に予測画素を求めるための方法(標準規格等で定められた方法)により、正確に180度ではなく180度付近を指す場合があるためである。
また、条件が許せば、正反対予測方向に対応するイントラ予測モードを増やして、そのイントラ予測モードの情報が符号化されるようにしてもよい。
以上説明した実施形態は、動画像に対する符号化及び復号に本発明を適用したものであるが、静止画像に対しても適用することが可能である。
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができる。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
画像内で前記画像を分割したブロックを単位としてイントラ予測をし符号化を行う画像符号化装置であって、
前記ブロックとして長方形ブロックを選択するブロック選択部と、
前記長方形ブロックが選択された際に、前記長方形ブロックの短い辺に隣接する画素を参照する予測方向のうち、予測方向を180度反転したときに前記長方形ブロックの長い辺に隣接する左又は上のブロックの隣接画素を参照する予測方向を、イントラ予測方向の選定対象に加える予測方向判定部と、
を備えることを特徴とする画像符号化装置。
(付記2)
前記隣接画素は、前記長方形ブロックが垂直方向に長い場合に、前記長方形ブロックの長い辺又は前記長い辺を垂直下方向に拡張した延長線に隣接する左のブロックに含まれ、前記長方形ブロックが水平方向に長い場合に、前記長方形ブロックの長い辺又は前記長い辺を水平右委方向に拡張した延長線に隣接する上のブロックに含まれる、ことを特徴とする付記1に記載の画像符号化装置。
(付記3)
前記予測方向判定部は、前記長方形ブロックについて、左下方向から右上方向への前記イントラ予測方向、又は右上方向から左下方向への前記イントラ予測方向を、前記選択の調整対象とする、ことを特徴とする付記1又は2に記載の画像符号化装置。
(付記4)
前記左下方向から右上方向へのイントラ予測方向は、前記長方形ブロック内の予測対象画素を基準にして、右水平方向を0度として反時計回りに180度から225度の角度方向であり、前記右上方向から左下方向へのイントラ予測方向は、前記予測対象画素を基準にして、反時計回りに45度から90度の角度方向である、ことを特徴とする付記3に記載の画像符号化装置。
(付記5)
前記予測方向判定部は、少なくとも前記選定対象として加えたイントラ予測方向と、加えたイントラ予測方向を180度反転した方向について、前記長方形ブロック内の全ての予測対象画素の夫々と前記隣接画素との距離の総和を、前記左下方向から右上方向へのイントラ予測方向と前記右上方向から左下方向へのイントラ予測方向の夫々について算出し、前記算出した各距離の総和のうち小さい方に対応するイントラ予測方向を前記選択の結果とする、ことを特徴とする付記2乃至4の何れかに記載の画像符号化装置。
(付記6)
前記予測方向判定部は、少なくとも前記選定対象として加えたイントラ予測方向と、加えたイントラ予測方向を180度反転した方向について、前記長方形ブロック内の最左上と最右下の予測対象画素の夫々と前記隣接画素との各距離の和を、前記左下方向から右上方向へのイントラ予測方向と前記右上方向から左下方向へのイントラ予測方向の夫々について算出し、前記算出した各距離の和のうち小さい方に対応するイントラ予測方向を前記選択の結果とする、ことを特徴とする付記2乃至4の何れかに記載の画像符号化装置。
(付記7)
前記予測方向判定部は、少なくとも前記選定対象として加えたイントラ予測方向と、加えたイントラ予測方向を180度反転した方向について、前記長方形ブロック内の最右下の予測対象画素と前記隣接画素との距離を、前記左下方向から右上方向へのイントラ予測方向と前記右上方向から左下方向へのイントラ予測方向のそれぞれについて算出し、前記算出した各距離のうち小さい方に対応するイントラ予測方向を前記選択の結果とする、ことを特徴とする付記2乃至4の何れかに記載の画像符号化装置。
(付記8)
前記予測方向判定部は、前記長方形ブロックが選択された際の予測方向を選定する際の処理として、長方形ブロックの短い辺に隣接する画素を参照する予測方向の内、予測方向を180度反転したときに前記長方形ブロックの長い辺に隣接する左又は上のブロックの隣接画素を参照するイントラ予測方向となる長方形ブロックの短い辺に隣接する左又は上のブロックの画素を参照する方向に対しては、前記選択の対象から除外する、ことを特徴とする付記1に記載の画像符号化装置。
(付記9)
画像内で前記画像を分割したブロックを単位としてイントラ予測し復号を行う画像符号化装置であって、
前記ブロックとして長方形ブロックが選択されたことを判定するブロック判定部と、
前記長方形ブロックが選択された際のイントラ予測方向を選定する際に、前記長方形ブロックの短い辺に隣接する画素を参照する予測方向のうち、予測方向を180度反転したときに前記長方形ブロックの長い辺に隣接する左又は上のブロックの隣接画素を参照する予測方向を、イントラ予測方向の選定対象に加える予測方向判定部と、
を備えることを特徴とする画像復号装置。
(付記10)
画像内で前記画像を分割したブロックを単位としてイントラ予測し符号化又は復号を行う画像処理方法であって、
前記ブロックとして長方形ブロックが選択されたことを判定し、
前記長方形ブロックが選択された際のイントラ予測方向を選定する際の処理として、前記長方形ブロックの長い辺に隣接する左又は上のブロックの隣接画素を参照するイントラ予測方向が選択されやすくなるように判定する、
ことを特徴とする画像処理方法。
(付記11)
動画像符号化において予測モードで対応づけられたイントラ予測を行う方式について、
イントラ予測を実施する処理単位が、長方形となるか否かを判定するイントラ予測処理サイズ決定部と、
イントラ予測処理サイズ決定部で、長方形のブロックに対してイントラ予測を実施すると決定した場合に、各イントラ予測モードに関して、イントラ予測方向に応じた予測画像を生成する予測モードが使用可能であり、かつ、正反対方向からの予測も演算可能である場合に、
各予測モードに関して、正方向の予測モードからの予測方向と正反対方向からの予測方向のいずれを用いた方が、より近い隣接画像からのイントラ予測が使用可能かを判定する予測方向判定部と、
該予測方向判定手段により選択された予測方向を用いてイントラ予測モードを判定する、イントラ予測モード判定部と、
を備え、イントラ予測を行うことを特徴とする動画像符号化方法。
(付記12)
動画像符号化において予測モードで対応づけられたイントラ予測を行う方式について、
イントラ予測を実施する処理単位が長方形を用いる予測モードであった場合に、
選択されたイントラ予測モードに関して、イントラ予測方向に応じた予測画像を生成する予測モードが使用可能であり、かつ、正反対方向からの予測も演算可能である場合に、
該選択された予測モードに関して、正方向の予測モードからの予測方向と正反対方向からの予測方向のいずれを用いた方が、より距離が近い隣接画像からのイントラ予測になるかを判定する予測方向判定部と、該予測方向判定手段により選択された予測方向を用いてイントラ予測を実施する
ことを特徴とする動画像復号方法。
(付記13)
画像内で前記画像を分割したブロックを単位としてイントラ予測し符号化又は復号を行うコンピュータに、
前記ブロックとして長方形ブロックが選択されたことを判定するステップと、
前記長方形ブロックが選択された際のイントラ予測方向を選定する際の処理として、前記長方形ブロックの長い辺に隣接する左又は上のブロックの隣接画素を参照するイントラ予測方向が選択されやすくなるように判定するステップと、
を実行させることを特徴とする画像処理プログラム。