(57)【要約】【課題】少ない計算量のもとで符号量を抑えながら高画質の画像が処理できるようにした動画像符号化装置及び動画像符号化方法を提供すること【解決手段】原画像３０１を入力し、予測した符号化対象画像と原画像との差分を符号化して符号化ストリーム３１１を得るようにした動画像符号化装置において、符号化対象画像と同一の画像を参照して符号化対象画像を予測する画面内予測部３０５と、符号化対象画像とは別の画像を参照して符号化対象画像を予測する画面間予測部３０６と、前記差分の符号化に際して画面内予測部３０５と画面間予測部３０６の何れによる予測結果を用いるのかを判定するモード選択部３０７とを設け、モード選択部３０７は、画面間予測時のパラメータ値に基づいて前記判定を行うようにしたもの。【選択図】図３
2012175548.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象画像を予測し、当該予測した符号化対象画像と原画像との差分を符号化する方式の動画像符号化装置において、
前記符号化対象画像の予測を、当該符号化対象画像とは別の画像を参照して行う画面間予測手段と、
前記符号化対象画像の予測を、当該符号化対象画像と同一の画像を参照して行う画面内予測手段と、
前記差分の符号化に際して前記画面間予測手段と前記画面内予測手段の何れによる予測結果を用いるのかを判定するモード選択手段とを設け、
前記モード選択手段は、画面間予測時のパラメータ値に設定した閾値に基づいて前記判定を行うことを特徴とする動画像符号化装置。
【請求項２】
請求項１に記載の動画像符号化装置において、
前記モード選択手段は、画面間予測の予測誤差が小さい領域では前記画面間予測手段を選択し、画面間予測の予測誤差が大きい領域では前記画面内予測手段を選択することを特徴とする動画像符号化装置。
【請求項３】
予測した符号化対象画像と原画像との差分を符号化する方式の動画像符号化方法において、
前記予測した符号化対象画像と原画像との差分を符号化する際、
前記符号化対象画像の予測を、当該符号化対象画像とは別の画像を参照して行う場合と、前記符号化対象画像の予測を、当該符号化対象画像と同一の画像を参照して行う場合とを、
画面間予測時のパラメータ値に設定した閾値に基づいて選択することを特徴とする動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を符号化する動画像符号化技術に係り、特に、イントラ予測とインター予測を切り替える方式の動画像符号化装置及び動画像符号化方法に関する。
【背景技術】
【０００２】
大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、従来からＭＰＥＧ(Moving Picture Experts Group)などの符号化方式が策定され、これらは、更にＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４／ＡＶＣ(Advanced Video Coding)などの国際標準化された規格の符号化方式となっている。
そして、これらの符号化方式は、デジタル衛星放送やＤＶＤ、ブルーレイ(Blu-ray)レコーダ、携帯電話、デジタルカメラ、地上デジタル放送などにおける映像コンテンツの符号化方式として採用され、現在、ますます利用の範囲が広がり、身近なものとなってきている。
【０００３】
ところで、これらの規格では、符号化処理が完了した画像情報(復号画像)を利用し、符号化対象画像を複数の画素からなるブロック単位で予測して、原画像との差分(予測差分)を符号化し、これにより動画像の持つ冗長性を排除し、符号量が減らせるようにしているが、このときの符号化対象画像のブロック単位での予測には、同じ画面内の周辺領域を参照して行う画面内予測(以下、イントラ予測という)と、対象画像とは異なる画像を参照して行う画面間予測(以下、インター予測という)の２種の方法があり、これらは画像の性質に応じて切り替えることができる。
【０００４】
そして、このときの予測手段の切り替えは、例えばＨ．２６４／ＡＶＣやＭＰＥＧ−４などでは１６×１６画素で構成されるマクロブロック単位で行うが、この場合の切り替え方法について、規格では特段の定めはない。しかし、多くの場合、原画像と予測画像の画素値差分和ＳＡＤ(Sum of Absolute Differences)に基づくコスト関数を用いて評価する方法が一般的である。
【０００５】
ところが、例えばマクロブロック単位で並列化処理を行うパイプライン構造を有するエンコーダの場合、対象マクロブロックの予測手段を決定する時点では、まだ、周辺でのマクロブロックの符号化が完了していないことが多く、この場合、周辺ブロックの復号画像を用いるイントラ予測の予測画像を生成することができず、従ってＳＡＤが計算できない。
【０００６】
そこで、予測手段の決定に際して、上記のように周辺ブロックの「復号画像」を用いるのではなく、周辺ブロックの「原画像」を用いてイントラ予測を行うという、いわゆる擬似イントラ予測により得られたＳＡＤ(擬似ＳＡＤという)を用いてコスト計算を行う方法が従来技術として知られている(例えば、特許文献１、２、３などを参照)。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２８８４７３号公報
【特許文献２】特開２００８−２５２３４６号公報
【特許文献３】特開２００９−８１８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記従来技術は、擬似ＳＡＤの値がＳＡＤの値からかけ離れてしまう場合がある点に配慮がされておらず、予測手段の選択を誤って符号化効率が大幅に低下してしまうという問題があった。
従来技術の場合、特に低ビットレート帯域では量子化誤差の影響でＳＡＤと擬似ＳＡＤの値がかけ離れたものとなってしまい、このため予測手段の選択に必要な判定、いわゆるイントラ／インター判定(イントラ・インター判定ともいう)に誤りが生じ、この結果、符号化効率が大幅に低下してしまうのである。
【０００９】
詳しく説明すると、符号化ストリームが所望のビットレートになるように量子化パラメータの制御を行うレート制御機能を用いる場合、イントラ／インター判定を行う時点では対象マクロブロックにおける量子化パラメータの値が決定していない場合が多い。
一方、最適な予測手段については、それがビットレートに応じて異なることが多いため、イントラ／インター判定に用いるコスト関数にも量子化パラメータの項目を入れるのが通例である。
【００１０】
しかし、この結果、コスト計算時には量子化パラメータに関して仮の値を設定せざるを得ないが、ここで、この仮の値が、もしも実際の値と大きく異なったとすれば、適正な判定結果が得られなくなって符号化効率が低下してしまうことになる。
しかし、ここで仮の値とは、名の通り“仮り”のものであるから、推測によるしかなく、正しい設定は僥倖頼みになってしまい、この結果、従来技術では、符号化効率の低下という問題が生じてしまうのである。
【００１１】
一方、上記した符号化方式に関する規格の中には、マクロブロックを更に細かなブロックに分割して予測を行うものがあるが、この場合、分割パターンは多岐にわたり、最適な予測手段と分割パターンの組み合わせ(符号化モード)の決定には、膨大な計算量を要してしまうので、問題の解決にはならない。
【００１２】
また、マクロブロック単位で並列化処理を行うビデオエンコーダの場合、隣接ブロックの符号化の完了が、対象ブロックの符号化モード選択時に得られないのでイントラ予測画像の生成ができず、従って、精度の高いイントラ／インター判定は望むべくも無い。
【００１３】
また、レート制御を用いて量子化パラメータを制御する従来技術の場合、仮の量子化パラメータを設定して判定を行うことになるが、このときイントラ／インター判定の良否は量子化パラメータに大きく依存する。
従って、この場合、設定した仮の量子化パラメータが実際の量子化パラメータと異なったとすれば判定結果に誤りが生じ、この結果、画質が低下するという問題があった。
【００１４】
このとき、Ｈ．２６４／ＡＶＣなどの新しい規格では、絵柄に応じてブロックサイズを変えることができる。
しかし、その反面、候補となる符号化モードの種類が多くなってしまうので、最適なモードを決定するためには、更に膨大な計算量が必要になってしまう。
本発明の目的は、少ない計算量のもとで符号量を抑えながら高画質の画像が処理できるようにした動画像符号化装置及び動画像符号化方法を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的は、予測した符号化対象画像と原画像との差分を符号化する方式の動画像符号化装置において、前記符号化対象画像の予測を、当該符号化対象画像とは別の画像を参照して行う画面間予測手段と、前記符号化対象画像の予測を、当該符号化対象画像と同一の画像を参照して行う画面内予測手段と、前記差分の符号化に際して前記画面間予測手段と前記画面内予測手段の何れによる予測結果を用いるのかを判定するモード選択手段とを設け、前記モード選択手段は、画面間予測時のパラメータ値に基づいて前記判定を行うようにして達成される。
同じく、上記目的は、予測した符号化対象画像と原画像との差分を符号化する方式の動画像符号化方法において、前記予測した符号化対象画像と原画像との差分を符号化する際、前記符号化対象画像の予測を、当該符号化対象画像とは別の画像を参照して行う場合と、前記符号化対象画像の予測を、当該符号化対象画像と同一の画像を参照して行う場合とを、画面間予測時のパラメータ値に設定した閾値に基づいて選択するようにしても達成される。
【発明の効果】
【００１６】
本発明が導入した閾値は、絵柄やビットレートへの依存性が極めて低く、定数として設定しても問題がないため、レート制御を用いる場合など量子化パラメータがまだ決まっていない状況下でも客観的にみて最適なイントラ／インター判定が行える。また、ブロックサイズを決定する前に上記イントラ／インター判定を行うことにより符号化モードの絞込みを行うことが可能となり、符号化モード選択処理に必要な処理量を低減することができる。
従って、本発明によれば、少ない計算量と少ない符号量で高画質の画像の提供が可能な動画像符号化技術を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明による画像符号化装置の実施形態１を示すブロック図である。
【図２】本発明の実施形態１におけるモード選択部のブロック図である。
【図３】本発明による画像符号化装置の実施形態２を示すブロック図である。
【図４】本発明の実施形態２におけるモード選択部のブロック図である。
【図５】動画像符号化処理の説明図である。
【図６】画面間予測処理の説明図である。
【図７】画面内予測処理の説明図である。
【図８】本発明における画面内予測と画面間予測におけるカテゴリ分類の説明図である。
【図９】画面内予測と画面間予測の性能に関する説明図である。
【図１０】画面内予測と画面間予測の性質を表す実データの一例を示す特性図である。
【図１１】画面内予測と画面間予測の性質を表す実データの他の一例を示す特性図である。
【図１２】本発明におけるイントラ／インター判定の説明図である。
【図１３】並列処理を行う際に発生する問題点の説明図である。
【図１４】微分フィルタの画素位置に関する説明図である。
【図１５】微分フィルタの一例を示す説明図である。
【図１６】微分フィルタの他の一例を示す説明図である。
【図１７】本発明の実施形態１によるモード選択処理の流れ図である。
【図１８】一般的手法と本実施例によるモード選択処理の説明図である。
【図１９】本発明の実施形態２によるモード選択処理の流れ図である。
【発明を実施するための形態】
【００１８】
以下、本発明に係る動画像符号化装置及び動画像符号化方法について、図示の実施形態により説明する。
このとき、本発明においては、例えば上記したＨ．２６４／ＡＶＣなどの動画像符号化方式において、動画像の持つ冗長性を抑え、符号量を削減するため、符号化処理が完了した画像情報を利用して符号化対象画像を予測し、原画像との差分(予測差分という)を符号化するようにしている。
【００１９】
そこで、このときの本発明における符号化処理の概要について説明する。
まず、ここでは、動画像の局所的性質を利用するため、画像を細かく分割したブロック単位で予測を行う場合について説明する。すなわち、図５に示すように、対象画像５０１に対して、ラスタースキャンの順序に従い、１６×１６画素で構成されるマクロブロック５０２単位で予測を行うのである。
【００２０】
この予測手段としては、図示のように、インター予測(画面間予測)５０３と、イントラ予測(画面内予測)５０４の２種類に大別される。
このとき、図示のように、このマクロブロックをさらに細かなブロックに分割して予測するようにしている。
そして、符号化時には、予測手段に加え、いずれの分割パターンを用いるかをマクロブロック単位で決定し、予測手段と分割パターンの組み合わせを「符号化モード」とし、その識別子をヘッダ情報として符号化する。
【００２１】
このインター予測は、更に５０５で示すように、１枚の参照画像から予測するインター予測Ｐ(Predictive)と、２枚の参照画像から予測可能なインター予測Ｂ(Bi-predictive)に分けられ、更に、このインター予測には、動きベクトルや予測差分を符号化しないスキップモード、それにダイレクトモードが含まれる。
そして、どのモードを利用する場合もイントラ／インター判定を行うことができ、従って、ここでは、これらを特に区別せず、纏めてインター予測と呼ぶ。
【００２２】
次に、図６は、Ｈ．２６４／ＡＶＣによる画面間予測処理の動作について概念的に示したもので、図示のように、画面間予測を行う際には、符号化対象画像６０３と同じ映像６０１に含まれる符号化済みの画像の復号画像を参照画像６０２とし、対象画像中の対象ブロック６０４と相関の高いブロック(予測画像)６０５を参照画像中から探索(動き探索という)する。
このとき、両ブロックの差分として計算される予測差分に加え、予測に必要なヘッダ情報として、両ブロックの座標値の差分として表される動きベクトル６０６も併せて符号化する。
【００２３】
次に、図７の(a)は、同じくＨ．２６４／ＡＶＣによる画面内予測(イントラ予測)処理について概念的に示したもので、この画面内予測では、符号化対象ブロックＡの左、左上、上、右上に隣接する符号化済みブロックＢ、Ｃ、Ｄ、Ｅの復号画像を用いて予測を行う。
すなわち、予測には、これらのブロックＢ〜Ｅに含まれ、符号化対象ブロックＡに接している１３個の復号画素７０１を利用する。このとき予測方向ベクトル７０２を傾きとする同一直線上の画素は全て同一の参照画素から予測される。
【００２４】
ここで、Ｈ．２６４／ＡＶＣの場合、縦、横、斜めなど、８種類の予測方向の中から最適なものをブロック単位で選択することができる。
このとき、上記のような方向性に基づく予測モードに加え、参照画素の平均値によって符号化対象ブロックに含まれる全ての画素を予測するＤＣ予測も、予測モード２として用意され、８種類の予測方向に付加されている。
そして、上記９種類の予測モード７０３の中から何れのモードを選択したのかを示す情報は、ヘッダ情報として、予測差分と共に符号化される。
【００２５】
ちなみに、擬似イントラ予測の場合は、図７の(b)に示すようになり、この場合、参照画像と対象画素が原画像に由来するものになっている。そして、この点が図７(a)のイントラ予測の場合とは異なっていることになる。
【００２６】
次に、図８は、イントラ予測とインター予測に関する重要な性質を概念的に表したグラフで、ここでは、高い符号化効率を実現できる理想的な符号化モード選択方式によりイントラ／インター判定を行った場合のＳＡＤの値に対して、逆の判定(誤った判定)を行った場合に増加するＳＡＤの値を表したもので、横軸にはインター予測時のＳＡＤを表わす InterＳＡＤ８０１が示され、縦軸には判定を誤った場合のＳＡＤの増加分の平均値８０２がＹとして示されている。
【００２７】
そして、まず、イントラ予測特性８０３は、イントラ予測が選ばれるべき場合に誤ってインター予測が選択された場合のＳＡＤ増加分を表わし、インター予測特性８０４は、インター予測が選ばれるべき場合にもかかわらず、誤ってイントラ予測が選択された場合のＳＡＤ増加分を表している。
従って、この図８のグラフから、各マクロブロックは、インター予測のパラメータとして与えられる InterＳＡＤの値によって３種類のカテゴリ(category：範疇)に分けられることが判る。
【００２８】
まず、InterＳＡＤ８０１が小さいカテゴリ１の領域８０５では、ＳＡＤ増加分８０２は、イントラ予測特性８０３の方が少ない。
従って、このカテゴリ１の領域８０５では、イントラ予測特性８０３を選択した方が、Inter予測の精度が高く有利な領域であることが判る。
次に、InterＳＡＤ８０１が或る程度増加したカテゴリ２の領域８０６では、一方のイントラ予測特性８０３は増加し、他方のインター予測特性８０４は減少し、半ばで交差しているので、どちらの特性が優れているとは一概には言えない領域である。
【００２９】
そして、InterＳＡＤ８０１がかなり大きくなったカテゴリ３の領域８０７では、ＳＡＤ増加分８０２は、インター予測特性８０４の方が少ない。
従って、このカテゴリ３の領域８０７では、インター予測特性８０４を選択した方が、Inter予測の精度が高いので有利な領域であることが判る。
そこで、イントラ予測特性８０３とインター予測特性８０４が交差している点Ｘの両側で、イントラ予測特性８０３とインター予測特性８０４に有意な差が表れている点を任意に選定し、夫々閾値Ｔ1 と閾値Ｔ2 に設定する。
【００３０】
そうすると、ここで、特に重要な点は、これら閾値Ｔ1 と閾値Ｔ2 は、対象動画像の絵柄やＱＰ(Quantization Parameter：量子化パラメータ)に対する依存性が極めて低く、どのような状況のもとで定数として扱っても何ら問題がないということである。
ここで、閾値Ｔ1 と閾値Ｔ2 が定数として扱える理由について、更に図９により概念的に説明する。
【００３１】
まず、図９(a)に示すように、カテゴリ１の領域に分類されるのは、一般的には、物体が静止していたり、平行移動をしていた場合など、インター予測がよく当たるマクロブロックである(９０１)。
この場合、InterＳＡＤの値の範囲には、ＱＰの値により、かなり大きな幅が生じるが(９０２)、どの帯域でも InterＳＡＤの値は、一般的に小さくなる。
【００３２】
次に、図９(b)に示すように、カテゴリ２(９０３)には、３次元移動や照明変化がある場合など、複雑な絵柄の画面間変化により、インター予測の性能が低下するマクロブロックが分類される。
この場合も、ＱＰによって InterＳＡＤの範囲に幅は生じるが(９０４)、InterＳＡＤの値は一般的に大き目の値となる。
【００３３】
一方、図９(c)に示すように、カテゴリ３(９０５)には、オクリュージョン(occlusion)やシーンチェンジなどが発生して参照画像中に対象物体が存在せず、インター予測がほとんど機能しないマクロブロックが分類される。
この場合、InterＳＡＤの値には多少の幅は生じるものの(９０６)、その値はもはやＱＰに依存するとは限らない。
【００３４】
以上のようにカテゴリ分類を行った結果から、予測精度の違いにより、一般的にカテゴリ内のＳＡＤの差よりもカテゴリ間のＳＡＤの差の方が大きくなり、カテゴリ１の InterＳＡＤの最大値はカテゴリ２の InterＳＡＤの最小値よりも小さくなり、このときカテゴリ２における InterＳＡＤの最大値は、カテゴリ３の最小値よりも小さくなることが判る(９０７)。
【００３５】
このとき、InterＳＡＤは、一般的に次の通りになる。
ＳＡＤ１(ＱＰ：大)＜ＳＡＤ２(ＱＰ：小)
且つ、ＳＡＤ２(ＱＰ：大)＜ＳＡＤ３(ＱＰ：最小値)
従って、図１０(a)、(b)、(c)の何れの場合もＱＰの値に関わらず互いに識別可能であり、この結果、どのような状況下でもカテゴリの境界は固定であるとして問題なく、従って、閾値Ｔ1 と閾値Ｔ2 が定数として扱えることが判る。
【００３６】
ここで、図１０は、実際にある映像(Seq1：1080i, 4:2:2, 10bit)を符号化したときのデータを示したもので、図１０(a)は、Seq１において、ＱＰ＝１２の場合、図１０(b)は、同じくＱＰ＝２７の場合、そして、図１０(c)は、同じくＱＰ＝４２の場合であり、従って、ＱＰを変化させても、グラフの分布はほとんど変化しないことが判る。
次に、図１１は、上記とは全く別の映像(Seq2：1080i, 4:2:2, 10bit)を符号化したときのデータを示したもので、図１１(a)は、Seq１においてＱＰ＝１２の場合、図１１(b)は、同じくＱＰ＝２７の場合、そして、図１１(c)は、同じくＱＰ＝４２の場合である。
【００３７】
図１１の場合、グラフの分布は図１０のときとは異なるものの、各カテゴリの性質は図１０の場合と同様であり、従って、カテゴリを分割するための閾値Ｔ1、Ｔ2 も、図１１の場合と同じ値で良いことが判る。
但し、レート制御機能を用いない場合など、イントラ／インター判定結果のＱＰへの依存性が問題にならない場合には、必ずしも閾値Ｔ1 と閾値Ｔ2 を固定する必要は無く、例えばＱＰに応じて閾値を変更させてやれば、符号化効率の多少の上昇が確認されている。
【００３８】
以上の結果、インター予測のＳＡＤに関して各マクロブロックを３種類のカテゴリに分割する際、定数である閾値Ｔ1 と閾値Ｔ2 を用いて分割しても、何らの不都合はなく、各々のカテゴリについて夫々有利になる予測手段が有意に選択できることが判る。
そこで、次に、これら閾値Ｔ1 と閾値Ｔ2 によりイントラ／インター判定を行う方法について、図１２により説明する。
【００３９】
まず、対象マクロブロックがカテゴリ１に属する場合、図示のようにインター予測が有利であるから、この場合、「ケース１」として、インター予測を選択する。
次に、カテゴリ２に属する場合には、何れの予測手段が有利なのか一概には言えないので、この場合、「ケース２」として、さらに詳細なイントラ／インター判定を行う。
そして、カテゴリ３に属する場合(ケース３)、イントラ予測が有利であるから、この場合、「ケース３」として、イントラ予測を選択するのである。
【００４０】
ところで、このイントラ予測を行うためには、周辺マクロブロックの符号化が完了し、参照画素として使用可能な復号画像が取得されている必要がある。
ここで、まず、イントラ予測を行う際に参照する周辺マクロブロックの位置関係について、図１３により説明する。
図１３の対象画像の中で、例えば対象ブロック(１３０１)においてイントラ予測を行うものとした場合、対象ブロックの左、左上、上、右上に位置する４個のマクロブロック(１３０２)を参照することになる。
【００４１】
このため、これら４個のマクロブロック(１３０２)について符号化が完了していなければイントラ予測を行うことができないことになる。
しかして、このときの符号化は、ラスタースキャンの順序に従って行われるので、例えば逐次的に符号化を行うとした場合、対象ブロックの符号化に際して、これらの周辺マクロブロックに対する符号化は確実に完了しているので、周辺マクロブロックの復号画像を用いてイントラ予測を実行することができる。
【００４２】
そして、符号化モード選択時にイントラ予測とインター予測の両方が可能な場合、一般的には候補となる全ての符号化モードにおいて一度予測処理を行い、次の数１式と数２式によりコスト値Ｃostを計算し、最も小さなコスト値を与える符号化モードを選択する。
【００４３】
(数１)
2012175548.tif 000003
【００４４】
(数２)
2012175548.tif 000004
【００４５】
ここで、Ｄist は予測誤差、Ｒate は予測に伴うヘッダの符号量、Ｂは対象ブロックの原画像、Ｂ’は対象ブロックの予測画像とする。
このとき、weightは予測誤差と符号量がコスト値に寄与する割合を調整するための係数値で、符号化モードの種類や量子化パラメータの値に応じて統計的に決定する。
一方、ＳＡＤは以下の(数３)式により定義される。
【００４６】
(数３)
2012175548.tif 000005
【００４７】
ただし、p[i,j]は対象ブロックＢにおける座標(i,j)の画素値を、q[i,j]は対象ブロックの予測画像Ｂ’における座標(i,j)の画素値を示している。
このときの画素値としては、輝度成分の値のみを利用しても良いし、輝度成分の値と色差成分に値を組み合わせても良い。
ここで、予測誤差関数として、(数２)式により与えられるものに代え、次の(数４)式から与えられるものを用いると、更に効果があるとされている。
【００４８】
(数４)
2012175548.tif 000006
【００４９】
ここでＳＡＴＤは、アダマール変換係数絶対値誤差和(Sum of Hadamard Absolute Transformed Differences)を表し、対象ブロックの原画像と予測画像の差分値に対して、周波数変換方式の１種であるアダマール変換を施した後、各係数値の絶対値和を計算したものとして、以下の(数５)式により定義される。
【００５０】
(数５)
2012175548.tif 000007
【００５１】
ただし、Ｔr はブロックにアダマール変換を施す関数を表し、Ｔr(Ｂ)[a,b]は対象ブロックＢに対してアダマール変換を施した後の変換係数成分(ａ，ｂ)を表す。
このときのコスト関数に関しては、上記以外にも二乗誤差和(ＳＳＤ：Sum of Squared Differences)など対象ブロックの原画像と予測画像の類似性を反映できるものならどのような指標を用いてもよい。
【００５２】
しかして、例えばマクロブロック単位で並列化処理を行うパイプライン構造等を有するエンコーダにおいては、対象マクロブロックのモード選択を行う時点では、またこれらの周辺マクロブロックの符号化が完了していないことが多い。
そして、この場合、周辺ブロックの復号画像を用いてイントラ予測を行うことができず、ＳＡＤなどの予測誤差を計算することができない。
【００５３】
そこで、この場合、符号化モード選択時には周辺ブロックの復号画像の代わりに、周辺ブロックの原画像を用いて擬似的にイントラ予測を行ってその際のＳＡＤ(擬似ＳＡＤ)に基づいてモードを決定し、周辺マクロブロックの符号化が完了した後で、改めて決定したモードで予測画像を生成し直して符号化する方法がよく利用される。
【００５４】
しかしながら、この場合、量子化誤差の影響により参照画素の原画像と復号画像に差が生じ、特に低ビットレートではＳＡＤと擬似ＳＡＤがかけ離れたものとなってしまい、符号化モードの選択を誤って画質が大幅に低下するという問題があった。
一方、インター予測の場合は、すでに符号化された別の画像を参照するため、マクロブロック単位で並列化処理を行う場合でも、対象画像中のどのブロックにおいても実行が可能であり、常に正確なＳＡＤを計算することができる。
【００５５】
そこで、このような状況下では、図１２で説明したように、常に正確なＳＡＤが計算できるようにしたインター予測の結果に基づいて判定を行うことができる本発明を利用することにより、正確なイントラ予測が行えなくても精度の高いイントラ／インター判定が可能となる。
この場合、対象マクロブロックがカテゴリ２に分類された場合の更なる判定方法については特に限定されないが、例えば以下のような方法を用いると効果的である。
【００５６】
すなわち、まず、インター予測モードの中で代表的なモード(例えばブロックサイズの最も小さなモードやＳＡＤの最も小さなモード)のＳＡＤ(Inter ＳＡＤという)と、イントラ予測モードの中で代表的なモード(例えばブロックサイズの最も小さなモードやＳＡＤの最も小さなモード)の擬似ＳＡＤ(Intra pseudＳＡＤという)の差分の絶対値が予め設定してある所望の幅の閾値Ｔ3 未満であれば、量子化誤差の影響により明確なイントラ／インター判定が困難であるとして、一般的にイントラ予測よりも効果の高いインター予測を選択する。
【００５７】
そして、上記以外の状況下では、イントラ予測とインター予測の性能的な優劣が十分判別可能であるとして、InterＳＡＤと Intra pseudＳＡＤを予測誤差として、上記した(数１)式などによるコスト計算を行い、コスト値の小さい方の予測手段を選択するのである。
このとき、上記の閾値Ｔ3 の値を、量子化パラメータの値に応じて変化させると特に高い効果を発揮できるが、レート制御などの要件を満たすために固定値を用いても十分な効果がある。
【００５８】
また、イントラ予測の予測誤差として擬似ＳＡＤを使わなくても、擬似イントラ予測画像を用いて計算したＳＡＴＤ(擬似ＳＡＴＤ)やＳＳＤ(擬似ＳＳＤ)を用いてコスト計算をしても良いし、特にコスト計算を行わずに予測誤差同士を比較して判定を行っても構わない。
また、このときのイントラ予測のコスト値としては、上記のような擬似イントラ予測誤差を使わなくても、例えば、対象ブロックの原画像を用いて計算した分散値や、対象ブロックの各画素(原画像)に対して微分フィルタを施した結果を用いても、これらを組み合わせた値を利用しても構わない。
【００５９】
ここで微分フィルタを利用する場合、例えば図１４に示すように、対象ブロックの周辺画素(原画像)も使用すると効果的である。
このときの微分フィルタとしては、例えば図１５に示すソーベルフィルタや図１６に示すプレウィットフィルタを用いると効果的であり、これらのフィルタを利用して、例えば角度を変化させて対象ブロック内のエッジの強度を計算し、最も大きな値に基づいてコスト値を計算すると良い。
【００６０】
次に、以上に説明したイントラ／インター判定方法を使用して符号化を行うようにした本発明の実施形態について、実施形態１として説明する。
図１は、実施形態１に係る動画像符号化装置１００を示したもので、これに原画像１０１が入力され、入力された原画像１０１の符号化ストリームが生成される。
【００６１】
このため、当該動画像符号化装置１００には、入力された原画像１０１を保持する入力画像メモリ１０２と、入力画像を小領域に分割するブロック分割部１０３、ブロック単位で擬似的な画面内予測を行う擬似画面内予測部１０５、動き探索部１０４により検出された動き量に基づきブロック単位で画面間予測を行う画面間予測部１０６、画像の性質に合った予測モード(予測手段およびブロックサイズ)を決定するモード選択部１０７、このモード選択部１０７の結果に応じて正確な画面内予測を行う画面内予測部１０８が備えられている。
【００６２】
そして、更に、予測差分を生成するための減算部１０９、予測差分に対して符号化を行う周波数変換部１１０及び量子化処理部１１１、符号の発生確率に応じた適応的符号化を行うための可変長符号化部１１２、一度符号化した予測差分を復号化するための逆量子化処理部１１３及び逆周波数変換部１１４、復号化された予測差分を用いて復号化画像を生成するための加算部１１５、復号化画像を保持して後の予測に活用するための参照画像メモリ１１６が備えられている。
【００６３】
次に、この動画像符号化装置１００の動作について説明する。
いま、ここで動画像符号化装置１００に原画像１０１が入力されたとする。
そうすると、まず、入力画像メモリ１０２は、原画像１０１の中から一枚の画像を符号化対象画像として保持し、これをブロック分割部１０３により細かなブロックに分割し、動き探索部１０４、擬似画面内予測部１０５、画面間予測部１０６、画面内予測部１０８、それに減算部１０９に渡す。
【００６４】
そこで、動き探索部１０４では、参照画像メモリ１１６に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルを画面間予測部１０６に渡す。
これにより擬似画面内予測部１０５と画面間予測部１０６は、それぞれ周辺ブロックの原画像を用いた擬似的な画面内予測処理と、符号化済みの別画像を参照した画面間予測処理とを複数のブロックサイズで実行し、モード選択部１０７において最適な予測モードを選択する。
【００６５】
そして、まず、モード選択結果がイントラモードである場合は、周辺マクロブロックの符号化が完了した時点で、画面内予測部１０８により、周辺ブロックの復号画像を用いた正確な画面内予測を該当モードに対して行い、予測画像を減算部１０９と加算部１１５に送る。
一方、モード選択結果がインターモードである場合は、画面間予測部１０６において既に作成済みの該当モードの予測画像を減算部１０９と加算部１１５に送る。
【００６６】
そこで、減算部１０９では、対象ブロックの原画像とモード選択部１０７で選択されたモードにより作成された予測画像との差分(予測差分)が取られ、生成された予測差分が周波数変換部１１０に渡され、この結果、周波数変換部１１０と量子化処理部１１１で、送られてきた予測差分に対して指定された大きさのブロック単位でそれぞれＤＣＴなどの周波数変換と量子化処理が施され、可変長符号化部１１２と逆量子化部１１３に渡される。
【００６７】
この結果、まず、可変長符号化処理部１１２では、量子化済み周波数変換係数とヘッダ情報に対して記号の発生確率に基づいた符号化を行い、入力された原画像１０１の符号化ストリームを生成させ、これにより動画像符号化装置１００としての本来の動作が果たせることになる。
【００６８】
他方、逆量子化処理部１１３では、逆周波数変換部１１４と共に量子化後の周波数変換係数に対して、それぞれ逆量子化処理と逆ＤＣＴなどの逆周波数変換処理を施し、予測差分を取得して加算部１１５に送る。
これにより加算部１１５では、予測画像と復号化済み予測差分が加算されて復号化画像を生成し、参照画像メモリ１１６に復号化画像が格納される。
【００６９】
次に、このときのモード選択部１０７の詳細について、図２により詳細に説明する。
このモード選択部１０７は、図示のように、イントラモードに対してコストを計算し最適な符号化モードを選択するイントラモード判定部２０１と、インターモードに対してコストを計算し最適な符号化モードを選択するインターモード判定部２０２、それに予測手段(イントラ予測若しくはインター予測)を決定するイントラ／インター判定部２０３とで構成されている。
【００７０】
そして、イントラモード判定部２０１では、ブロック分割部１０３から送られてきた原画像と擬似画面内予測部１０５で計算されたイントラ擬似予測画像の双方からイントラ擬似ＳＡＤを計算し、コスト値を計算する。
一方、インターモード判定部２０２では、ブロック分割部１０３から送られてきた原画像と画面間予測部１０６により計算されたインター予測画像の双方からインターＳＡＤを計算し、コスト値を計算する。
そして、イントラ／インター判定部２０３では、各予測手段を用いた代表モードのイントラ擬似ＳＡＤ及びインターＳＡＤを用いて、対象マクロブロックに対する予測手段を選択するのである。
【００７１】
次に、このときのモード選択処理について、図１７のフローチャートにより説明する。
モード選択処理を開始すると、まず、全てのインターモードの画面間予測を実行し、各モードに対してコスト計算を行い(１７０１)、次にインターモードの中で最も小さなＳＡＤを与えるものをインター代表モードとし、そのＳＡＤを計算して InterＳＡＤとする(１７０２)。
次いでイントラモードに対しても全てのモードにおいて擬似予測を行い、コスト計算を行い(１７０３)、更に、擬似ＳＡＤが最小となるモードをイントラ代表モードとし、その擬似ＳＡＤを IntraＳＡＤとする(１７０４)。
【００７２】
次に、いま計算した InterＳＡＤを閾値Ｔ1 と比較し、InterＳＡＤの値が閾値Ｔ1 未満であるか否かを判定する(１７０５)。
そして、まず、判定結果がＹＥＳ、つまり、
InterＳＡＤ＜Ｔ1
のときは、図１２の「ケース１」、つまりカテゴリ１に該当するので、予測手段としてインター予測を選択することとし、インターモードの中でコスト値が最小となるモードを最適な符号化モードとして選択する(１７０６)。
【００７３】
しかして判定結果がＮＯのときは処理(１７０７)に進み、今度は、InterＳＡＤを閾値Ｔ2 と比較し、InterＳＡＤの値が閾値Ｔ2 以上であるか否かを判定する。
そして、まず、判定結果がＹＥＳ、つまり、
InterＳＡＤ≧Ｔ2
のときは、図１２の「ケース３」、つまりカテゴリ３に該当するので、予測手段としてイントラ予測を選択することとし、イントラモードの中でコスト値が最小となるモードを最適な符号化モードとして選択する(１７０８)。
【００７４】
しかして、判定結果がＮＯの場合は図１２の「ケース２」、つまりカテゴリ２に該当し、従って、さらに詳細なイントラ／インター判定を行うこととし、このため判定処理(１７０９)に進み、ここで、InterＳＡＤと IntraＳＡＤの差分の絶対値が予め設定してある閾値Ｔ3 未満であるか否かを判定する。
ここで、この閾値Ｔ3 とは、図１２に示されているように、InterＳＡＤ(８０１)に対するイントラ予測特性８０３とインター予測特性８０４が交差して等しくなった点Ｘを中心として予め任意に設定した所望の範囲のことである。
【００７５】
そして、まず、判定結果がＹＥＳ、つまり、
｜InterＳＡＤ− IntraＳＡＤ｜＜Ｔ3
のときは、インターモードの中でコスト値が最小となるモードを選択する(１７１０)。これは、上記したように、一般的にインター予測の方がイントラ予測よりも効果が高いとされているからである。
一方、判定結果がＮＯの場合は、全ての符号化モードに対してイントラ擬似ＳＡＤとインターＳＡＤを用いたコスト値計算を行い、コスト値が最も小さくなるモードを最適な符号化モードとして選択するのである(１７１１)。
【００７６】
そして、以上のように、処理(１７０６)、処理(１７０８)、処理(１７１０)、それに処理(１７１１)のいずれかを終了すれば、ここでモード選択処理終了(１７１２)となり、モード選択部１０７による１マクロブロック分のモード選択処理が完了し、入力された原画像１０１の符号化ストリームの生成が、最適な予測モードの選択のもとで得られるようになり、動画像符号化装置１００としての動作が果されることになる。
【００７７】
ところで、以上に説明した実施形態１では、図１７に示すように、イントラ／インター判定(１７０５)の前に、全てのモードによる予測を実行している(１７０１)〜(１７０３)。
しかし、ここで、特にマクロブロック単位で並列処理を行うソフトウェアエンコーダなどを対象とした場合は、イントラ／インター判定の前にはインター代表モードの予測のみを行い、その後、処理(１７０５)〜(１７０７)などの判定結果に応じて、その他のモードにより予測画像を生成するようにすると、不必要な予測処理を省略することができ、より一層、計算量が削減できる。
【００７８】
この場合、インター予測モードを決定するため、処理(１７０６)と処理(１７１０)において代表モード以外のインターモードで予測を実行し、一方でイントラ予測モードを決定するために処理(１７０８)により全てのイントラモードで擬似予測を実行すればよい。
また、イントラ代表モードを用いた判定(１７０９)では、イントラ代表モードのみで擬似予測を行えばよい。
【００７９】
次に、本発明の実施形態２について説明する。
上記した実施形態１は、並列処理などにより周辺マクロブロックの符号化処理が未完了であるため、対象マクロブロックのモード選択時にイントラ予測が行えない状況下での適用を考慮したものであるが、以下に説明する実施形態２では、逐次的に符号化処理を行う場合など、モード選択時には既に周辺マクロブロックの符号化が完了していて、常にイントラ予測が正しく行える場合を対象としている。
従って、この実施形態２は、特にソフトウェアによりエンコーダを実現する場合に高い効果を発揮する。
【００８０】
ここで、まず、図１８(a)、(b)は、一般的なエンコーダ、例えば上記した従来技術などの一般的手法によるエンコーダと、本発明に係るエンコーダによるモード選択処理の流れについて、それぞれ概念的に示したものである。
そして、まず、一般的なエンコーダの場合、図１８(a)に示すように、各マクロブロックに対して、一旦、全ての符号化モードにより予測処理を実行し、上記した(数１)式などによりコスト計算を行ってコスト最小のモードを選択するようにしている。
しかしながら、この場合、上記したように、モード選択時の予測処理に極めて多くの計算量が必要になる。
【００８１】
一方、本発明の場合、既に図１２により説明したイントラ／インター判定を最初に行うことにより、モードの絞込みを行って予測画像の生成回数を低減し、処理量を削減することができる。
すなわち、本発明の実施例においては、図１８(b)に示すように、まず、インター代表モード(例えばブロックサイズ８×８のインターモード)において予測を行い(１８０２)、その際のＳＡＤ値によって候補を絞ることができる。
そして、まず、ＳＡＤ値が閾値Ｔ1 よりも小さい場合は、インターモードの中からモードを選択する(ケース１)。
【００８２】
従って、本発明においては、インターモードを用いた予測画像生成過程を省略することができる。
次に、ＳＡＤ値が閾値Ｔ2 以上であった場合、イントラモードの中からモードを選択する(ケース３)。
従って、この実施例においては、代表モードを除くインターモードを用いた予測画像生成過程を省略することができる。
なお、ＳＡＤ値が上記以外の場合は、例えば一般的手法と同様、全ての符号化モードにより予測処理を行い、コストが最小になるモードを選択すれば良い(ケース２)。
【００８３】
図３は、本発明の実施形態２に係る動画像符号化装置３００を示したもので、これに原画像３０１が入力されると、入力された原画像３０１の符号化ストリーム３１１が生成されるようになっている。
このため、当該動画像符号化装置３００には、入力された原画像３０１を保持する入力画像メモリ３０２と、入力画像を小領域に分割するブロック分割部３０３、ブロック単位で画面内予測を行う画面内予測部３０５、動き探索部３０４により検出された動き量に基づきブロック単位で画面間予測を行う画面間予測部３０６が備えられている。
【００８４】
そして、更に、画像の性質に合った予測モード(予測手段およびブロックサイズ)を決定するモード選択部３０７、予測差分を生成するための減算部３０８、予測差分に対して符号化を行う周波数変換部３０９及び量子化処理部３１０、符号の発生確率に応じた適応的符号化を行うための可変長符号化部３１１、一度符号化した予測差分を復号化するための逆量子化処理部３１２及び逆周波数変換部３１３、復号化された予測差分を用いて復号化画像を生成するための加算部３１４、それに復号化画像を保持して後の予測に活用するための参照画像メモリ３１５が備えられている。
【００８５】
次に、この動画像符号化装置３００の動作について説明する。
いま、ここで動画像符号化装置３００に原画像３０１が入力されたとする。
そうすると、まず、入力画像メモリ３０２は、原画像３０１の中から一枚の画像を符号化対象画像として保持し、これをブロック分割部３０３により細かなブロックに分割し、動き探索部３０４、画面内予測部３０５、及び画面間予測部３０６に渡す。
そこで、まず、動き探索部３０４では、参照画像メモリ３１５に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルを画面間予測部３０６に渡す。
【００８６】
このとき画面内予測部３０５と画面間予測部３０６では、夫々符号化済みの周辺ブロックを参照した画面内予測処理と符号化済みの別画像を参照した画面間予測処理とを複数のブロックサイズで実行する。
そして、モード選択部３０７により最適な予測モードを選択し、選択されたモードで作成した予測画像を減算部３０８と加算部３１４に送る。
そこで、減算部３０８では、対象ブロックの原画像と、モード選択部３０７により選択されたモードで作成された予測画像の差分(予測差分)を生成し、周波数変換部３０９に渡す。
【００８７】
これら周波数変換部３０９と量子化処理部３１０では、送られてきた予測差分に対して指定された大きさのブロック単位で夫々ＤＣＴなどの周波数変換及び量子化処理を行い、可変長符号化部３１１と逆量子化部３１２に渡す。
そこで、まず、可変長符号化処理部３１１では、量子化済み周波数変換係数とヘッダ情報を、記号の発生確率に基づいて符号化し、これにより符号化ストリーム３１１を生成する。
【００８８】
また、逆量子化処理部３１２と逆周波数変換部３１３では、量子化後の周波数変換係数に対して夫々逆量子化と逆ＤＣＴなどの逆周波数変換を施し、予測差分を取得して加算部３１４に送る。
そこで、加算部３１４では、予測画像と復号化済み予測差分を加算して復号化画像を生成し、参照画像メモリ３１５に格納するのである。
【００８９】
次に、この動画像符号化装置３００におけるモード選択部３０７の詳細について、図４により説明する。
このモード選択部３０７は、予測手段を決定するイントラ／インター判定部４０１と、イントラモードに対してコストを計算し最適な符号化モードを選択するイントラモード判定部４０２、インターモードに対してコストを計算し最適な符号化モードを選択するインターモード判定部４０３とで構成されている。
【００９０】
このとき、まず、イントラ／インター判定部４０１では、画面間予測部３０６により作成されたインター代表モードの予測画像と、ブロック分割部３０３から送られてきた原画像から代表モードのＳＡＤを計算し、続いて、このＳＡＤの値に応じて、画面内予測部３０５及び画面間予測部３０６において次の判定に必要な符号化モードの予測画像を生成する。
そして、この符号化モードの予測画像がイントラモード判定部４０２とインターモード判定部４０３に送られ、最終的なモードが決定されることになる。
【００９１】
次に、このときのモード選択部３０７によるモード選択処理の手順について図１９により説明する。
このモード選択処理が開始されたら、まず、インターモードの代表モードにおいて画面間予測を実行し(１９０１)、このモードでのＳＡＤを計算して InterＳＡＤとする(１９０２)。
次いで、このときの InterＳＡＤの値が閾値Ｔ1 よりも小さいか否かを調べる(１９０３)。
そして、結果がＹＥＳのときは、予測手段としてインター予測を選択することとし、まず、代表モード以外のインターモードにおいて画面間予測を実行した後(１９０４)、その中でコスト最小のモードを選択するのである(１９０５)。
【００９２】
しかして、判定処理(１９０３)での結果がＮＯ、つまり InterＳＡＤの値が閾値Ｔ1 以上のときは、次に、このときの InterＳＡＤの値が閾値Ｔ2 以上あるか否かを調べる(１９０６)。
そして、結果がＹＥＳのときは、予測手段としてイントラ予測を選択することとし、全てのイントラモードにおいて画面内予測を実行し(１９０７)、次いで、その中でコスト最小のモードを選択するのである(１９０８)。
しかして、判定処理(１９０６)の結果がＮＯ、つまり InterＳＡＤの値が閾値Ｔ1 以上且つ閾値Ｔ2 未満である場合は、代表モード以外のインターモードにおいて予測を実行し(１９０９)、次いで、全てのイントラモードにおいて予測を実行し(１９１０)、この後、全てのモードの中で最もコスト値が小さいモードを選択するのである(１９１１)。
【００９３】
そして、以上のように、処理(１９０５)、処理(１９０８)、それに処理(１９１１)のいずれかが終了すれば、ここでモード選択処理終了(１９１２)となり、モード選択部３０７による１マクロブロック分のモード選択処理が完了し、入力された原画像３０１の符号化ストリームの生成が、最適な予測モードの選択のもとで得られるようになり、動画像符号化装置３００に本来の性能を発揮させることができる。
【００９４】
ここで、本発明の場合、イントラ／インター判定部だけを対象としているため、イントラ予測モード内とインター予測モード内におけるモード判定の方法については特に問わない。
従って、上記実施形態のように、全てのモードで予測を実行してコスト計算を行っても良いし、例えば、エッジの方向性を考慮するなど別の方法で判定を行っても構わない。
このとき何らかの方法でモードの絞込みを実施して計算量を節約すると、更に効果的である。
【００９５】
また、上記実施形態では、ＳＡＤが最も小さくなるモードを代表モードとして設定しているが、ブロックサイズの最も小さなモードや逆にブロックサイズの最も大きなモード及び複数モードの組み合わせなど、その選び方は様々であり、代表モードの選択方法は問わない。
同じく、上記実施形態では、インター代表モードのＳＡＤによりマクロブロックを３種類あるパターンの中の１種に分類しているが、ＳＡＴＤやＳＳＤ、動きベクトル、ヘッダ符号量など、インター代表モードにて予測を行うことにより取得できる特徴量ならどのような値を用いて分類しても良いし、このとき分類するパターンの個数も問わない。
【００９６】
また、上記実施形態では、予測及び周波数変換をブロック単位で行っているが、これ以外にも、例えば画像の背景から分離したオブジェクト単位で算出しても良い。
同様に、周波数変換についても、一例としてＤＣＴを挙げているが、ＤＳＴ(Discrete Sine Transformation：離散サイン変換)、ＷＴ(Wavelet Transformation：ウェーブレット変換)、ＤＦＴ(Discrete Fourier Transformation：離散フーリエ変換)、ＫＬＴ(Karhunen-Loeve Transformation：カルーネン-レーブ変換)など、画素間相関除去に利用する直交変換ならどのようなものでも構わない。
【００９７】
このときイントラモードでは、特に画面内予測を行わなくても良く、ＭＰＥＧ−１やＭＰＥＧ−２のイントラ符号化のように、原画像に対して直接周波数変換を施しても構わないし、可変長符号化も特に行わなくて良い。
また、本発明はＨ．２６１、ＭＰＥＧ−１、Ｈ．２６２／ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６３、Ｈ．２６４／ＡＶＣだけでなく、今後、策定されるであろう次世代標準など、どのような動画像符号化方式にも適用可能である。
【符号の説明】
【００９８】
１００  動画像符号化装置(実施形態１に係る動画像符号化装置)
３００  動画像符号化装置(実施形態２に係る動画像符号化装置)
【図１】
2012175548.tif 000008
【図２】
2012175548.tif 000009
【図３】
2012175548.tif 000010
【図４】
2012175548.tif 000011
【図８】
2012175548.tif 000012
【図１２】
2012175548.tif 000013
【図１５】
2012175548.tif 000014
【図１６】
2012175548.tif 000015
【図１７】
2012175548.tif 000016
【図１８】
2012175548.tif 000017
【図１９】
2012175548.tif 000018
【図５】
2012175548.tif 000019
【図６】
2012175548.tif 000020
【図７】
2012175548.tif 000021
【図９】
2012175548.tif 000022
【図１０】
2012175548.tif 000023
【図１１】
2012175548.tif 000024
【図１３】
2012175548.tif 000025
【図１４】
2012175548.tif 000026