(57)【要約】【課題】本発明は、動画像をフレーム内予測によって符号化するときに、符号化効率の低下を抑えながらもフリッカ量を低減できるようにする新たな技術の提供を目的とする。【解決手段】最適な予測評価値を示す予測方法を選択することで、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定し、一方、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値を、予測方法決定用の予測評価値として設定する。そして、その設定した仮の予測方法の予測評価値と、その設定した予測方法決定用の予測評価値とがほぼ同等である場合には、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を、現フレームの符号化対象ブロックで利用する予測方法として決定する。【選択図】図１
2005348008.tif 000002
【特許請求の範囲】
【請求項１】
動画像をフレーム内予測によって符号化する動画像符号化方法であって、
現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定する仮予測方法設定ステップと、
仮予測方法設定ステップで設定された予測方法の予測評価値と、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値とに基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定する予測方法決定ステップとを有することを、
特徴とする動画像符号化方法。
【請求項２】
請求項１に記載の動画像符号化方法において、
仮予測方法設定ステップでは、予測方法の予測評価値に基づいて、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定することを、
特徴とする動画像符号化方法。
【請求項３】
動画像をフレーム内予測によって符号化する動画像符号化方法であって、
現フレームの符号化対象ブロックで利用可能な予測方法の各々に関する予測評価値を算出する予測評価値算出ステップと、
予測評価値算出ステップで算出された予測評価値に基づいて、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定する仮予測方法設定ステップと、
現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値を、予測方法決定用の予測評価値として設定する前フレーム予測方法評価値設定ステップと、
仮予測方法設定ステップで設定された予測方法の予測評価値と、前フレーム予測方法評価値設定ステップで設定された予測評価値とに基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定する予測方法決定ステップとを有することを、
特徴とする動画像符号化方法。
【請求項４】
請求項３に記載の動画像符号化方法において、
前フレーム予測方法評価値設定ステップでは、予測評価値算出ステップで、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値が算出されている場合には、それを予測方法決定用の予測評価値として設定することを、
特徴とする動画像符号化方法。
【請求項５】
請求項３に記載の動画像符号化方法において、
前フレーム予測方法評価値設定ステップでは、予測評価値算出ステップで、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値が算出されていない場合には、その予測評価値を算出して予測方法決定用の予測評価値として設定することを、
特徴とする動画像符号化方法。
【請求項６】
請求項２ないし５のいずれか１項に記載の動画像符号化方法において、
仮予測方法設定ステップでは、最適な予測評価値を示す予測方法を仮の予測方法として設定することを、
特徴とする動画像符号化方法。
【請求項７】
請求項１ないし６のいずれか１項に記載の動画像符号化方法において、
予測方法決定ステップでは、２つの予測方法の予測評価値の比に対する閾値処理に基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定することを、
特徴とする動画像符号化方法。
【請求項８】
動画像をフレーム内予測によって符号化する動画像符号化装置であって、
現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定する仮予測方法設定部と、
仮予測方法設定部で設定された予測方法の予測評価値と、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値とに基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定する予測方法決定部とを有することを、
特徴とする動画像符号化装置。
【請求項９】
請求項８に記載の動画像符号化装置において、
仮予測方法設定部は、予測方法の予測評価値に基づいて、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定することを、
特徴とする動画像符号化装置。
【請求項１０】
動画像をフレーム内予測によって符号化する動画像符号化装置であって、
現フレームの符号化対象ブロックで利用可能な予測方法の各々に関する予測評価値を算出する予測評価値算出部と、
予測評価値算出部で算出された予測評価値に基づいて、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定する仮予測方法設定部と、
現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値を、予測方法決定用の予測評価値として設定する前フレーム予測方法評価値設定部と、
仮予測方法設定部で設定された予測方法の予測評価値と、前フレーム予測方法評価値設定部で設定された予測評価値とに基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定する予測方法決定部とを有することを、
特徴とする動画像符号化装置。
【請求項１１】
請求項１０に記載の動画像符号化装置において、
前フレーム予測方法評価値設定部は、予測評価値算出部で、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値が算出されている場合には、それを予測方法決定用の予測評価値として設定することを、
特徴とする動画像符号化装置。
【請求項１２】
請求項１０に記載の動画像符号化装置において、
前フレーム予測方法評価値設定部は、予測評価値算出部で、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値が算出されていない場合には、その予測評価値を算出して予測方法決定用の予測評価値として設定することを、
特徴とする動画像符号化装置。
【請求項１３】
請求項９ないし１２のいずれか１項に記載の動画像符号化装置において、
仮予測方法設定部は、最適な予測評価値を示す予測方法を仮の予測方法として設定することを、
特徴とする動画像符号化装置。
【請求項１４】
請求項８ないし１３のいずれか１項に記載の動画像符号化装置において、
予測方法決定部は、２つの予測方法の予測評価値の比に対する閾値処理に基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定することを、
特徴とする動画像符号化装置。
【請求項１５】
請求項１ないし７のいずれか１項に記載の動画像符号化方法の実現に用いられる処理をコンピュータに実行させるための動画像符号化プログラム。
【請求項１６】
請求項１ないし７のいずれか１項に記載の動画像符号化方法の実現に用いられる処理をコンピュータに実行させるための動画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像をフレーム内予測によって符号化する動画像符号化方法及びその装置と、その動画像符号化方法の実現に用いられる動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
【背景技術】
【０００２】
一般に、動画像の各フレームにおける隣接画素の画素値の相関は大きいため、このフレーム内の相関を利用してフレーム内の情報量を削減することは、動画像の高効率な圧縮符号化において有効である。また、動画像においては、フレーム間においても画素値の相関が大きいので、このフレーム間の相関を利用して、さらに情報量を削減することが可能である。
【０００３】
しかし、フレーム間の相関を利用して符号化を行った場合、復号時に任意のフレームを、他のフレームを参照せずに復号化することができない。
【０００４】
これから、フレーム内の相関のみを利用した符号化方法（以下では、このような符号化方法をフレーム内限定符号化と呼ぶ）によって得られた符号化データは、編集等がより容易に行えるため、応用上重要とされている。
【０００５】
国際標準動画像符号化方式であるＨ.264（例えば、非特許文献１を参照）では、フレーム内の画素間の相関を利用して符号化するフレームであるＩフレームと、フレーム間の相関を利用して符号化するフレームであるＰフレーム及びＢフレームを規定しているため、フレーム内及びフレーム間の相関を利用して符号化することが可能である。
【０００６】
なお、Ｈ.264によってフレーム内限定符号化を実現する場合は、動画像の全フレームに関してＩフレームで符号化すればよい。
【０００７】
Ｈ.264では、フレーム内の画素値間の相関を利用して符号化効率を高めるため、フレーム内予測を採用している。フレーム内予測を利用した符号化では、符号化対象の画素値やブロック内の画素値列を隣接する画素値列から予測し、その予測残差を符号化する。フレーム内の画素間の相関が大きければ、予測残差の平均エネルギーは小さくなり、符号化効率が向上する。
【０００８】
Ｈ.264のフレーム内予測では、２つの予測モードが規定されている。以下ではこの２つのモードを４×４予測モード、１６×１６予測モードと呼ぶこととする。Ｈ.264では、各マクロブロックで、この２つの予測モードを適応的に利用できるように規定している。
【０００９】
４×４予測モードでは、マクロブロックを縦の画素数と横の画素数が４であるブロックに分割し（以下ではこのブロックを４×４ブロックと記述する）、この４×４ブロック単位で予測を行う。また、１６×１６予測モードではマクロブロック単位で予測を行う。具体的には、図６に示すように、現ブロックの周辺の復号された画素値列を利用して、現ブロックの中の画素値を予測する。そして、４×４及び１６×１６の予測モードのいずれにおいても、複数の予測方法を実行できる。
【００１０】
具体例として、垂直方向の予測（以下、垂直方向予測と呼ぶ）、水平方向の予測（以下、水平方向予測と呼ぶ）、及び平均値を利用した予測（以下、平均値予測と呼ぶ）について、１６×１６予測モードを用いた場合を例として説明する。
【００１１】
垂直方向予測では、現ブロックの上部の１６個の画素（これらはすでに符号化されている）を復号して、これらを予測に利用する。具体的には、１６×１６ブロックの各列の画素を全てその上にある復号された画素値を入れて予測画像を作成する。また、水平方向予測では、現ブロックの左の１６個の画素（これらはすでに符号化されている）を復号して、これらを予測に利用する。この場合、１６×１６ブロックの各行の画素を全てその左にある復号された画素値を入れて予測画像を作成する。また、平均値予測では、現ブロックの左及び上の３２個の画素（これらはすでに符号化されている）を復号して、これらの平均値を１６×１６ブロックの全画素に入れて予測画像を作成する。
【００１２】
Ｈ.264では、このような方法で得られた予測画像から得られる予測残差画像に対して、直交変換、量子化、エントロピー符号化を施すことによって符号化が行われる。
【００１３】
フレーム内予測によってフレーム内限定符号化を行った場合、特に低ビットレートの条件下では、フリッカというアーティファクトが出やすいという問題がある。ここで、フリッカとは、現フレームと前フレームにおいて同じ位置にある画素間についての、原画像における画素値の差と復号画像における画素値の差との間の差と定義する。
【００１４】
フリッカーが生ずるということは、例えば、原画像の連続するフレーム間で時間的に変化がないブロックにおいても、その復号画像では時間的な変化が生ずるということを意味している。
【００１５】
具体的には、下記に示す非特許文献２や非特許文献３では、フリッカは次式で与えられるような量Ｓで定量的に評価されるものとして定義されている。
【００１６】
【数１】
2005348008.tif 000003
ここで、Ｉi,j （ｋ）は動画像中のｉ番目のフレーム内のｊ番目のブロックにおけるｋ個目の画素（ブロック内の画素数はＭで表している）を表し、Ｒi,j （ｋ）は復号された動画像中のｉ番目のフレーム内のｊ番目のブロックにおけるｋ個目の画素を表す。
【００１７】
また、ＦＤＩＦ（ｉ，ｊ）は動画像中のｉ番目及びｉ＋１番目のフレームにおけるｊ番目のブロック間の各画素の二乗誤差和を表す。つまり、次式で与えられる。
【００１８】
【数２】
2005348008.tif 000004
また、ΣFDIF(i,j)<εは、ＦＤＩＦ（ｉ，ｊ）がεより小さいブロックに関して、各フレームについて和を取ることを表している。つまり、εは動画像中で時間的に一定の量より多く変化するブロックに関してはフリッカ量の評価から除外するための値である。このような除外を行うのは、動画像中で時間的に変化の小さい領域においてフリッカが主観的に目立つからである。以下では、動画像中で時間的に変化の小さい領域においてのフリッカを扱っていくこととする。
【００１９】
各フレームにおいて、フレーム内予測を行わずに、原画像に対して直交変換と量子化を行って符号化した場合、連続するフレーム間で時間的な変化がないブロックにおいては復号画像も変化しないので、フリッカは生じない。
【００２０】
一方、フレーム内予測を利用する符号化では、連続するフレーム間で時間的な変化がないブロックにおいても予測画像が大きく異なる場合がある。このような場合、残差画像も連続するフレーム間で時間的な変化が大きく、直交変換と量子化が行われた残差画像を復号時に予測画像に足すと、連続するフレーム間で時間的な変化がないブロックにおいても変化が生じる（フリッカが生じる）。
【００２１】
このような点に着目し、下記に示す非特許文献２では、予測画像に直交変換、量子化、逆量子化、逆直交変換を行った画像を原画像から引くことによって残差画像を求めて、この残差画像を符号化する手法が考案されている。
【００２２】
符号化に利用されている量子化が一様量子化であった場合（量子化ステップサイズが一様であるような量子化）、非特許文献２の手法で得られる復号画像は、原画像に対して直交変換、量子化、逆量子化、逆直交変換を行って得られる復号画像と等しくなるため、静止しているブロックに関するフリッカをなくすことができ、フリッカを低減できる。
【００２３】
また、下記に示す非特許文献３では、非特許文献２の手法を併用することを前提とし、さらにフリッカを削減する手法が提案されている。
【００２４】
この手法では、非特許文献２の手法に従うと、予測残差の変換係数の量子化値が、
Ｌ＝Ｑ（Ｉtrans ）−Ｑ（Ｐtrans ）
という式のように表せることを利用している。
【００２５】
ここで、Ｉtrans は原画像におけるブロックに直交変換を行って得た任意の変換係数を表し、Ｐtrans は同ブロックに対応した予測画像に直交変換を行って得た変換係数（Ｉtrans と同じ周波数成分）を表す。また、Ｑ（Ａ）は値Ａの量子化値を表す。
【００２６】
非特許文献３では、直前のフレームで同じ位置にあるブロックに対応した変換係数の量子化値と現フレームの量子化値との差が１で、なおかつ、Ｉtrans に最も近い２つの代表値の中点とＩtrans との差の絶対値がある閾値以内であった場合には、Ｌを次式のＬ’
Ｌ’＝Ｑ（Ｉ’trans ）−Ｑ（Ｐtrans ）
に置き換える。ただし、Ｑ（Ｉ’trans ）は直前のフレームの同じ位置にあるブロックの変換係数の量子化値である。
【００２７】
このようにすることにより、静止領域ではないが、微かな変化のみがあるブロックに関してもフリッカ量を低減できる。
【非特許文献１】ITU-T Rec.H.264/ISO/IEC 11496-10, "Advanced Video Coding", Final Committee Draft, Document JVT-E022, September 2002
【非特許文献２】Xiaopeng Fan, Wen Gao, Yan Lu, Debin Zhao, ITU-T Rec.H.264/ISO/IEC 11496-10, "Flicking Reduction in All Intra Frame Coding", Document JVT-E070, October 2002
【非特許文献３】井口和久，池田誠，坂井真一，苗村昌秀，「Ｈ.264符号化におけるイントラモードのフリッカ低減手法」, FIT2003, J-040
【発明の開示】
【発明が解決しようとする課題】
【００２８】
しかしながら、非特許文献２の手法では、符号化対象のブロックにおいて予測画像を作成するたびに、その予測画像に直交変換と量子化を行う必要があるために演算量が膨大であるという問題がある。しかも、その演算量は利用可能な予測方法の数とブロックサイズに伴って増加してしまうことになる。
【００２９】
この増加量について具体的に説明するならば、ブロックサイズが縦横いずれもＮ画素で構成されるとき、一般的な直交変換における積和演算回数はＮ4 であり、量子化の積和演算回数はＮ2 となる。これから、利用可能な予測方法の数がＱの場合、非特許文献２の手法を利用することによって増える演算の積和演算回数はブロック当たりでおよそＱ（Ｎ4 ＋Ｎ2 ）となる。
【００３０】
これから分かるように、非特許文献２の手法は、符号化を実時間で行うことを要求されるような応用には適さない。
【００３１】
また、非特許文献３の手法は非特許文献２の手法を併用することを前提としているため、上述と同様の問題がある。
【００３２】
本発明はかかる事情に鑑みてなされたものであって、動画像をフレーム内予測によって符号化するという構成を採るときにあって、フリッカを低減しながらも、それによる演算量の増加が小さく、なおかつ、演算量の増加が予測方法の数とブロックサイズとに依存しないような新たな動画像符号化技術を提供することを目的とする。
【課題を解決するための手段】
【００３３】
〔１〕本発明の基本的な構成
上記の目的を達成するために、本発明の動画像符号化装置は、動画像をフレーム内予測によって符号化する処理を行うために、（イ）現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定する仮予測方法設定部と、（ロ）仮予測方法設定部で設定された予測方法の予測評価値と、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値とに基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定する予測方法決定部とを備えるという構成を採る。
【００３４】
ここで、仮予測方法設定部は、何らかの方法に従って、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択することになるが、例えば、最適な予測評価値を示す予測方法を選択するというように、予測方法の予測評価値に基づいて選択するように処理することがある。
【００３５】
以上の各処理手段が動作することで実現される本発明の動画像符号化方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００３６】
〔２〕本発明の具体的な構成
上記の基本的な構成を実現するために、本発明の動画像符号化装置は、動画像をフレーム内予測によって符号化する処理を行うために、（イ）現フレームの符号化対象ブロックで利用可能な予測方法の各々に関する予測評価値を算出する予測評価値算出部と、（ロ）予測評価値算出部で算出された予測評価値に基づいて、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定する仮予測方法設定部と、（ハ）現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値を、予測方法決定用の予測評価値として設定する前フレーム予測方法評価値設定部と、（ニ）仮予測方法設定部で設定された予測方法の予測評価値と、前フレーム予測方法評価値設定部で設定された予測評価値とに基づいて、現フレームの符号化対象ブロックで利用する予測方法を決定する予測方法決定部とを備えるという構成を採る。
【００３７】
この構成を採るときにあって、予測評価値の算出対象となる予測方法を絞り込む機構が用意されていない場合には、本発明の動画像符号化装置は、用意されている全ての予測方法を現フレームの符号化対象ブロックで利用可能な予測方法として設定する
これを受けて、予測評価値算出部は、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値を算出することになるので、前フレーム予測方法評価値設定部は、その算出されている予測評価値を予測方法決定用の予測評価値として設定するように処理する。
【００３８】
一方、この構成を採るときにあって、予測評価値の算出対象となる予測方法を絞り込む機構が用意されている場合には、本発明の動画像符号化装置は、その絞り込まれた予測方法を現フレームの符号化対象ブロックで利用可能な予測方法として設定する
これを受けて、予測評価値算出部は、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値を算出したり、算出しない場合があるので、前フレーム予測方法評価値設定部は、その予測評価値が算出されている場合には、それを予測方法決定用の予測評価値として設定し、その予測評価値が算出されていない場合には、それを算出して予測方法決定用の予測評価値として設定するように処理する。
【００３９】
以上の各処理手段が動作することで実現される本発明の動画像符号化方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００４０】
〔３〕本発明の動作
このように構成される本発明の動画像符号化装置では、例えば、最適な予測評価値を示す予測方法を選択することで、現フレームの符号化対象ブロックで利用可能な予測方法のうち一つを選択して、それを仮の予測方法として設定し、一方、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を用いる場合の予測評価値を、予測方法決定用の予測評価値として設定する。
【００４１】
そして、その設定した仮の予測方法の予測評価値と、その設定した予測方法決定用の予測評価値とに基づき、例えば、２つの予測方法の予測評価値の比に対する閾値処理を施すことで、２つの予測方法の予測評価値がほぼ同等であるのか否かを判断して、ほぼ同等であるような場合には、現フレームの直前に符号化されたフレームにおいて符号化対象ブロックと同じ位置のブロックで利用された予測方法を、現フレームの符号化対象ブロックで利用する予測方法として決定する。
【００４２】
このように、本発明では、現ブロックにおいて何らかの方法で決定された仮の予測方法に関する予測評価値（予測効率を示す何らかの量）と、１つ前のフレームの同じ位置にあるブロックで利用された予測方法を現ブロックで用いるときの予測評価値とがほぼ同等である場合には、１つ前のフレームの同じ位置にあるブロックで利用された予測方法を現ブロックの符号化に利用するという構成を採る。
【００４３】
より具体的に説明するならば、１つ前のフレームの同じ位置にあるブロックで利用された予測方法の予測効率と現ブロックで予測効率が最大の予測方法の予測効率とがほぼ同等である場合には、１つ前のフレームの同じ位置にあるブロックで利用された予測方法を現ブロックの符号化に利用するという構成を採るのである。
【００４４】
上述したように、予測に利用する隣接画素を含めて、１つ前のフレームのブロックと現ブロックとがほぼ同じとなる領域においては、同じ予測方法を利用すればフリッカを低減できることになる。これから、フリッカを低減するという観点からは、常に一つの予測方法のみを利用する構成を採ればよいことになる。
【００４５】
しかしながら、この方法に従うと、フリッカの低減については実現できるものの符号化効率が大きく低下する可能性がある。
【００４６】
これに対して、本発明では、予測効率の低下が小さい場合にのみ、１つ前のフレームの予測方法を利用するという構成を採ることから、符号化効率の低下は抑えながら、フリッカの低減を実現できるようになる。
【発明の効果】
【００４７】
以上に説明したように、本発明によれば、１つ前のフレームの同じ位置にあるブロックで利用された予測方法の予測効率と現ブロックで予測効率が最大の予測方法の予測効率とがほぼ同等である場合には、１つ前のフレームの予測方法を現ブロックの符号化に利用するので、符号化効率の低下を抑えながらもフリッカ量を低減できるようになる。
【００４８】
また、本発明による演算量の増加はブロック当たり積和演算回数が１回であり、これは予測方法の数やブロックサイズに依存しない。従って、本発明は実時間符号化に好適である。
【発明を実施するための最良の形態】
【００４９】
以下、実施の形態に従って本発明を詳細に説明する。
【００５０】
ここでは、各マクロブロックで水平方向予測、垂直方向予測、平均値予測という３つの予測方法を行うことを前提とする。また、予測は画像の輝度成分に関してのみ記載するが、色差成分に関しても、以下と同様の構成で本発明は実現できるものである。
【００５１】
図１に、本発明の動画像符号化装置１の一実施形態例を図示する。
【００５２】
この図に示すように、本発明の動画像符号化装置１は、本発明を実現すべく構成されて、符号化対象となる現マクロブロックの予測方法の決定を行うフレーム内予測部１０を備えるものであり、このフレーム内予測部１０は、画像情報入力部１０１と、仮予測方法設定部１０２と、予測方法評価部１０３と、前フレーム予測方法評価値設定部１０４と、予測方法メモリ１０５と、予測方法決定部１０６とを備える。
【００５３】
この画像情報入力部１０１は、現マクロブロックの画像と予測に利用する復号画像とを入力する。
【００５４】
仮予測方法設定部１０２は、予測方法の予測評価値に基づいて、現マクロブロックにおける仮の予測方法を求める。
【００５５】
予測方法評価部１０３は、与えられた予測方法に関して、現マクロブロックにおける予測方法の予測評価値を算出する。
【００５６】
前フレーム予測方法評価値設定部１０４は、１つ前のフレームで利用された予測方法を現マクロブロックで利用する場合の予測評価値を、予測方法決定用の予測評価値として設定する。
【００５７】
予測方法メモリ１０５は、１つ前のフレームで利用された予測方法についての情報を記録する。
【００５８】
予測方法決定部１０６は、仮予測方法設定部１０２で設定された仮の予測方法の予測評価値と前フレーム予測方法評価値設定部１０４で設定された予測評価値とを比較して、その比較結果に基づいて、現マクロブロックで利用する予測方法を決定する。
【００５９】
図２に、このように構成されるフレーム内予測部１０の実行するフローチャートの一例を図示する。ここで、このフローチャートは、動画像におけるあるフレームのあるマクロブロックについての予測方法の決定処理を示している。
【００６０】
次に、このフローチャートに従って本発明の処理について詳細に説明する。なお、以下の説明では、説明の便宜上、垂直方向予測については０、水平方向予測については１、平均値予測については２という整数インデックスを対応付けておくことを想定している。
【００６１】
フレーム内予測部１０は、現マクロブロックにおける予測方法の決定要求があると、図２のフローチャートに示すように、先ず最初に、ステップ１０で、現マクロブロックの画像と予測に利用される復号画像とを入力して（画像情報入力部１０１の処理）、予測方法のインデックスを指す変数predに初期値を代入するとともに、後の処理で予測評価値が代入される変数 minＳＡＤに初期値を代入する（仮予測方法設定部１０２の処理）。
【００６２】
本実施形態例では、predの初期値として“０”を代入し、 minＳＡＤの初期値として予測評価値の上限値“131072”を代入することを想定している。なお、画素値は８ビットで表現され、マクロブロックは縦１６画素、横１６画素であることを想定している。
【００６３】
続いて、ステップ１１で、predに代入される値に対応した予測方法を用いて予測画像を生成する（仮予測方法設定部１０２の処理）。
【００６４】
続いて、ステップ１２で、生成した予測画像を用いて、predに代入される値に対応した予測方法に関する予測評価値を求める（予測方法評価部１０３の処理）。
【００６５】
本実施形態例では、次式で与えられるＳＡＤ（Sum of Absolute Differences)を予測評価値として利用する。なお、以下では、ＳＡＤは変数名としても使用している。
【００６６】
【数３】
2005348008.tif 000005
ここで、ａｂｓは絶対値をとることを表し、Ｉ[i][j]は現マクロブロックの画像を表し、ｐy [i][j]はステップ１１で生成した現マクロブロックの予測画像を表し、ｉとｊはそれぞれ垂直方向及び水平方向の画素の位置を表すものとする。
【００６７】
続いて、ステップ１３で、１つ前のフレームの同じ位置のマクロブロックで符号化に利用された予測方法のインデックスの値prevpredを予測方法メモリ１０５から読み出し、predの値がprevpredに等しいの否かを判断する（前フレーム予測方法評価値設定部１０４の処理）。
【００６８】
この判断処理により、predの値がprevpredに等しいことを判断するときには、ステップ１４に進んで、１つ前のフレームの予測方法を用いる場合の現マクロブロックにおけるＳＡＤの値を表す変数prevＳＡＤに、ステップ１２で算出したＳＡＤを代入してから、次に説明するステップ１５の処理に進む（前フレーム予測方法評価値設定部１０４の処理）。
【００６９】
一方、ステップ１３の判断処理で、predの値がprevpredに等しくないことを判断するときには、ステップ１４の処理を行うことなく、直ちにステップ１５に進んで、ステップ１２で算出したＳＡＤ（predの値に対応した予測方法に関するＳＡＤ）が minＳＡＤよりも小さいのか否かを判断する（仮予測方法設定部１０２の処理）。
【００７０】
この判断処理により、ＳＡＤの方が minＳＡＤよりも小さいことを判断するときには、ステップ１６に進んで、これまでで最もＳＡＤを小さくした予測方法のインデックスを表す変数bestpredにpredの値を代入するとともに、 minＳＡＤにＳＡＤの値を代入してから、次に説明するステップ１７の処理に進む（仮予測方法設定部１０２の処理）。
【００７１】
一方、ステップ１５の判断処理で、ステップ１２で算出したＳＡＤの方が minＳＡＤよりも大きいことを判断するときには、ステップ１６の処理を行うことなく、直ちにステップ１７に進んで、predの値が２に等しくなったのか否かを判断する（仮予測方法設定部１０２の処理）。
【００７２】
この判断処理により、predの値が２に等しくなっていないことを判断するときには、ステップ１８に進んで、predの値を１つインクリメントしてからステップ１１に戻ることで、次の予測方法について上述した処理を繰り返す（仮予測方法設定部１０２の処理）。
【００７３】
一方、ステップ１７の判断処理で、predの値が２に等しくなったことを判断するときには、ステップ１９に進んで、予め設定されたパラメータ scaleＣ,scaleＤを利用して、
scaleＣ× minＳＡＤ＞ scaleＤ×prevＳＡＤ
という関係式が成立するのか否かを判断する（予測方法決定部１０６の処理）。
【００７４】
すなわち、この関係式を使って、 minＳＡＤとprevＳＡＤとの比を評価することで、現マクロブロックで予測効率が最大の予測方法の予測効率と、１つ前のフレームの同じ位置のマクロブロックで符号化に利用された予測方法を用いる場合の予測効率とがほぼ同等であるのか否かを判断するのである。
【００７５】
この判断処理により、
scaleＣ× minＳＡＤ＞ scaleＤ×prevＳＡＤ
という関係式が成立することを判断するときには、現マクロブロックで予測効率が最大の予測方法の予測効率と、１つ前のフレームの同じ位置のマクロブロックで符号化に利用された予測方法を用いる場合の予測効率とがほぼ同等であることを判断して、ステップ２０に進んで、bestpredの値をprevpredの値に置き換えてから、bestpredの値を予測方法メモリ１０５に格納して、処理を終了する。
【００７６】
一方、この関係式が成立しないことを判断するときには、ステップ２０の処理を行わないことで、bestpredの値を変更することなく、そのままbestpredの値を予測方法メモリ１０５に格納して、処理を終了する。
【００７７】
このフレーム内予測部１０の処理を受けて、図示しないイントラ符号化部は、このようにして予測方法メモリ１０５に格納されたbestpredの値に対応した予測方法を用いて現マクロブロックの符号化を実行する。
【００７８】
このようにして、フレーム内予測部１０は、１つ前のフレームの同じ位置にあるマクロブロックで利用された予測方法の予測効率と現マクロブロックで予測効率が最大の予測方法の予測効率とがほぼ同等である場合には、１つ前のフレームの予測方法を現マクロブロックの符号化に利用するように処理するのである。
【００７９】
この構成に従って、本発明によれば、符号化効率の低下を抑えながらもフリッカ量を低減できるようになる。
【００８０】
ここで、図２のフローチャートでは、仮の予測方法の予測評価値と１つ前のフレームで利用された予測方法の予測評価値とを比較するのに、その比に関して閾値処理を行うようにしているが、その理由は次の通りである。
【００８１】
すなわち、予測評価値が例えば残差エネルギーのような量であるとき、その大きさは現画像のエネルギーに比例する傾向にある。これから、そのような予測評価値の差について閾値処理を行うことで符号化に利用する予測方法を決定するようにすると、予測評価値の差も現画像のエネルギーに比例するので、現画像のエネルギーが小さい領域で符号化効率の低下が大きくなる。これに対して、予測評価値の比に関して閾値処理するようにすれば、現画像のエネルギーに関して正規化された比較が可能となるので、そのような不都合が発生しない。
【００８２】
図３に、本発明の動画像符号化装置１の他の実施形態例を図示する。
【００８３】
この実施形態例に従う本発明の動画像符号化装置１は、図１に示したフレーム内予測部１０の他に、予測方法候補選択部２０を備えるという構成を採る。
【００８４】
この予測方法候補選択部２０は、現マクロブロックが与えられる場合に、何らかのアルゴリズムに従って、予測評価値の算出に用いる予測方法を絞り込む機能（選択する機能）を有している。例えば、１０種類の予測方法が利用可能なものとして用意されている場合に、その中から例えば５種類の予測方法を選択するという機能を有しているのである。
【００８５】
このような予測方法候補選択部２０が用意されると、予測評価値を算出する予測方法が少なくなることで、予測評価値の算出の演算量を大幅に削減できるようになる。
【００８６】
本発明にとって、予測方法候補選択部２０がどのようなアルゴリズムに従って予測方法を絞り込むのかということについては問題ではないが、予測方法候補選択部２０は、例えば、次の参考文献に記載されるようなアルゴリズムでもって予測方法を絞り込むことになる。
【００８７】
〔参考文献〕P.Feng et.al. "Fast mode decision for intra prediction", JVT-I049, Sept., 2003. 
この参考文献には、Ｓobelフィルタを用いて画像の持つエッジを検出して、その検出したエッジ方向に基づいて予測モード選択を行うという構成が記載されており、予測方法候補選択部２０は、このような構成を利用することで、予測方法を絞り込むことが可能である。
【００８８】
図４に、予測方法候補選択部２０が用意される場合に、フレーム内予測部１０の実行するフローチャートの一例を図示する。
【００８９】
次に、このフローチャートに従って、予測方法候補選択部２０が用意される場合における本発明の処理について詳細に説明する。
【００９０】
フレーム内予測部１０は、予測方法候補選択部２０が現マクロブロックについての予測方法の候補を選択すると、先ず最初に、ステップ１００で、その予測方法の候補を受け取る。
【００９１】
続いて、ステップ１０１で、上述したprevpredの指す予測方法を特定し、続くステップ１０２で、その特定した予測方法が予測方法候補選択部２０から与えられた予測方法の候補に含まれているのか否かを判断する。
【００９２】
この判断処理に従って、上述したprevpredの指す予測方法が予測方法候補選択部２０から与えられた予測方法の候補に含まれていることを判断するときには、ステップ１０３に進んで、予測方法候補選択部２０から与えられた予測方法の候補を現マクロブロックに利用可能な予測方法として設定して、上述した図２のフローチャートを実行することで、現マクロブロックについての予測方法を決定し、続くステップ１０４で、その実行結果により値の代入されたbestpredの指す予測方法を用いて現マクロブロックを符号化することを指示して、処理を終了する。
【００９３】
この指示を受けて、図示しないイントラ符号化部は、bestpredの指す予測方法を用いて現マクロブロックの符号化を実行する。
【００９４】
このようにして、フレーム内予測部１０は、上述したprevpredの指す予測方法が予測方法候補選択部２０から与えられた予測方法の候補に含まれていることを判断するときには、上述した図２のフローチャートを実行することで、現マクロブロックについての予測方法を決定するのである。
【００９５】
一方、ステップ１０２の判断処理に従って、上述したprevpredの指す予測方法が予測方法候補選択部２０から与えられた予測方法の候補に含まれていないことを判断するときには、図２のフローチャートのステップ１３，１４の処理を実行することができないので、ステップ１０５に進んで、予測方法候補選択部２０から与えられた予測方法の候補を現マクロブロックに利用可能な予測方法として設定して、これから説明する図５のフローチャートを実行することで、現マクロブロックについての予測方法を決定し、続くステップ１０６で、その実行結果により値の代入されたbestpredの指す予測方法を用いて現マクロブロックを符号化することを指示して、処理を終了する。
【００９６】
この指示を受けて、図示しないイントラ符号化部は、bestpredの指す予測方法を用いて現マクロブロックの符号化を実行する。
【００９７】
次に、図５のフローチャートについて説明する。
【００９８】
すなわち、フレーム内予測部１０は、図４のフローチャートのステップ１０５の処理に進むと、図５のフローチャートに示すように、先ず最初に、ステップ３０で、現マクロブロックの画像と予測に利用される復号画像とを入力して、予測方法のインデックスを指す変数predに初期値の“０”を代入するとともに、後の処理で予測評価値が代入される変数 minＳＡＤに初期値の“131072”を代入する。
【００９９】
続いて、ステップ３１で、predに代入される値に対応した予測方法を用いて予測画像を生成し、続くステップ３２で、生成した予測画像を用いて、predに代入される値に対応した予測方法に関する予測評価値ＳＡＤを求める。
【０１００】
続いて、ステップ３３で、算出したpredの値に対応した予測方法に関するＳＡＤが minＳＡＤよりも小さいのか否かを判断して、ＳＡＤの方が minＳＡＤよりも小さいことを判断するときには、ステップ３４に進んで、これまでで最もＳＡＤを小さくした予測方法のインデックスを表す変数bestpredにpredの値を代入するとともに、 minＳＡＤにＳＡＤの値を代入してから、次に説明するステップ３５の処理に進む。
【０１０１】
一方、ステップ３３の判断処理で、ＳＡＤの方が minＳＡＤよりも大きいことを判断するときには、ステップ３４の処理を行うことなく、直ちにステップ３５に進んで、predの値が予測方法を表すインデックスの最大値ｍａｘに等しくなったのか否かを判断する。
【０１０２】
この判断処理により、predの値がｍａｘに等しくなっていないことを判断するときには、ステップ３６に進んで、predの値を１つインクリメントしてからステップ３１に戻ることで、次の予測方法について上述した処理を繰り返す。
【０１０３】
一方、ステップ３５の判断処理で、predの値がｍａｘに等しくなったことを判断するときには、ステップ３７に進んで、１つ前のフレームの同じ位置のマクロブロックで符号化に利用された予測方法のインデックスの値prevpredを予測方法メモリ１０５から読み出し、そのprevpredの値に対応した予測方法を用いて予測画像を生成し、続くステップ３８で、その生成した予測画像を用いて、そのprevpredの値に対応した予測方法に関する予測評価値ＳＡＤを求める。
【０１０４】
続いて、ステップ３９で、１つ前のフレームの予測方法を用いる場合の現マクロブロックにおけるＳＡＤの値を表す変数prevＳＡＤに、ステップ３８で算出したＳＡＤを代入する。
【０１０５】
続いて、ステップ４０で、予め設定されたパラメータ scaleＣ,scaleＤを利用して、
scaleＣ× minＳＡＤ＞ scaleＤ×prevＳＡＤ
という関係式が成立するのか否かを判断する。
【０１０６】
この判断処理により、
scaleＣ× minＳＡＤ＞ scaleＤ×prevＳＡＤ
という関係式が成立することを判断するときには、現マクロブロックで予測効率が最大の予測方法の予測効率と、１つ前のフレームの同じ位置のマクロブロックで符号化に利用された予測方法を用いる場合の予測効率とがほぼ同等であることを判断して、ステップ４１に進んで、bestpredの値をprevpredの値に置き換えてから、bestpredの値を予測方法メモリ１０５に格納して、図４のフローチャートのステップ１０５の処理を終了する。
【０１０７】
一方、この関係式が成立しないことを判断するときには、ステップ４０の処理を行わないことで、bestpredの値を変更することなく、そのままbestpredの値を予測方法メモリ１０５に格納して、図４のフローチャートのステップ１０５の処理を終了する。
【０１０８】
このようにして、フレーム内予測部１０は、図４のフローチャートのステップ１０２で、上述したprevpredの指す予測方法が予測方法候補選択部２０から与えられた予測方法の候補に含まれていないことを判断するときには、ステップ１０５に進んで、この図５のフローチャートを実行することで、現マクロブロックについての予測方法を決定するのである。
【０１０９】
そして、フレーム内予測部１０は、現マクロブロックについての予測方法を決定すると、上述したように、図４のフローチャートのステップ１０６で、その実行結果により値の代入されたbestpredの指す予測方法を用いて現マクロブロックを符号化することを指示し、これを受けて、図示しないイントラ符号化部は、bestpredの指す予測方法を用いて現マクロブロックの符号化を実行することになる。
【０１１０】
図示実施形態例に従って本発明を説明したが、本発明はこれに限定されるものではない。例えば、実施形態例では、予測方法が階層的な構造を持たないことで説明したが、本発明は予測方法が階層的な構造を持っている場合にも適用可能である。
【０１１１】
例えば、Ｈ.264のフレーム内予測は階層的である。具体的には、各マクロブロックでは４×４予測モードと１６×１６予測モードの２つの予測モードが利用可能であり（これは、マクロブロックの分割方法の意味で２つの予測方法があるととらえることができる）、各予測モードで垂直方向予測や水平方向予測などの予測方法が利用できる。このような場合にあって、例えば、前フレームでは１６×１６予測モードの平均値予測が利用され、現マクロブロックで予測効率が最大なのは４×４予測モードであった場合、本発明では４×４予測モードを利用したときの予測効率と１６×１６予測モードの平均値予測の予測効率とを比較して、現マクロブロックの予測方法を決定すれば良い。
【図面の簡単な説明】
【０１１２】
【図１】本発明の動画像符号化装置の一実施形態例である。
【図２】フレーム内予測部の実行するフローチャートの一例である。
【図３】本発明の動画像符号化装置の他の実施形態例である。
【図４】フレーム内予測部の実行するフローチャートの一例である。
【図５】フレーム内予測部の実行するフローチャートの一例である。
【図６】予測に利用する画素列の説明図である。
【符号の説明】
【０１１３】
１      動画像符号化装置
１０    フレーム内予測部
１０１  画像情報入力部
１０２  仮予測方法設定部
１０３  予測方法評価部
１０４  前フレーム予測方法評価値設定部
１０５  予測方法メモリ
１０６  予測方法決定部
【図１】
2005348008.tif 000006
【図２】
2005348008.tif 000007
【図３】
2005348008.tif 000008
【図４】
2005348008.tif 000009
【図５】
2005348008.tif 000010
【図６】
2005348008.tif 000011