(57)【要約】【課題】  本発明は、ダイレクトモードの性能を考慮し、動きの複雑度と相関のある閾値の設定を可能とする動画像符号化装置を提供する。【解決手段】    評価値計算部２０２は、符号化対象画像のブロックのダイレクトモードによる動き予測残差の絶対値和を算出する。既に符号処理がなされた参照フレームとの予測残差の絶対値和をダイレクトモードの評価値として計算する。閾値設定部２０４は、参照フレームのブロックの予測符号量の平均値から、符号化対象画像の動き予測方式を決定する閾値を計算する。比較部２０５は、評価値計算部２０２が算出した評価値と、閾値設定部２０４が算出した閾値の比較を行う。決定部２０６は、比較部２０５の結果から符号化対象画像の動き予測方式としてダイレクトモードを選択するか否かを決定する。評価値が閾値より小さい場合は、ダイレクトモード選択を設定する。 【選択図】    図２
2009194474.tif 000002
【特許請求の範囲】
【請求項１】
複数の動き補償方式から符号化対象フレームの符号化対象ブロック毎に動き補償モードを選択して画像情報の符号化を行う画像情報の画像符号化装置において、
前記符号化対象フレームの参照フレームのブロック毎の動きベクトルの符号量の符号量平均値を算出する第１の算出部と、
前記第１の算出部が算出した前記符号量平均値に基づく閾値を前記参照フレームごとに算出する第２の算出部と、
前記符号化対象ブロックに隣接する複数の符号化済みブロックの動きベクトルを用いる第１の動き予測方式に基づき符号化対象ブロックの動きベクトルを求める動きベクトル計算部と、
前記符号化対象ブロックの前記動きベクトル計算部で求められた動きベクトルの動き予測残差に基づく評価値を算出する第３の算出部と、
前記閾値と前記評価値とを比較する比較部と、
前記評価値が前記閾値より小さい場合に、前記符号化対象ブロックの動きベクトルを前記第１の動き予測方式の動きベクトルと決定する決定部と、
前記評価値が前記閾値以上である場合に前記第１の動き予測方式とは異なる第２の動き予測方式に基づき前記符号化対象ブロックの動き予測を行う動き予測計算部と、
求められた動き予測方式から動き予測方式を選択する方式選択部と、
選択された動き予測方式に基づき符号化対象ブロックを符号化する符号化部とを具備することを特徴とする動画像符号化装置。
【請求項２】
前記第２の算出部は、前記符号量平均値が大きくなるほど、前記閾値も大きくなるように前記閾値を算出することを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
符号化処理がなされた符号化済みフレームの前記評価値の平均値である評価値平均値と、前記符号化済みフレームの参照フレームの前記符号量平均値とから算出される値に基づく、前記符号化対象フレームの参照フレームの前記符号量平均値に関する一次関数を計算式として設定する計算式設定部をさらに備え、
前記第２の算出部は前記計算式に基づき前記閾値を算出することを特徴とする請求項２記載の動画像符号化装置。
【請求項４】
前記計算式設定部が設定する計算式は、前記符号量平均値の対数に関する一次関数であることを特徴とする請求項３記載の動画像符号化装置。
【請求項５】
前記計算式設定部は前記１次関数の設定がなされた回数が多くなるほどに、前記１次関数の傾き及び切片の変更を少なくすることを特徴とする請求項４記載の動画像符号化装置。
【請求項６】
入力される符号化対象フレーム群からシーン変化を検出するシーン検出手段をさらに具備し、
前記計算式設定部は、前記シーン検出手段がシーン変化を検出した際に前記係数の設定がなされた回数を初期化することを特徴とする請求項５記載の動画像符号化装置。
【請求項７】
前記第３の算出部は、前記動き予測方式の動きベクトルが指す前記参照フレームのブロックと前記符号化対象ブロックとの差分絶対値和を前記評価値として算出することを特徴とする請求項１記載の動画像符号化装置。
【請求項８】
前記第２の算出部は、前記閾値が所定の下限値より小さい場合に、当該下限値を閾値とする請求項1記載の動画像符号化装置。
【請求項９】
前記動きベクトル計算部は、符号化対象ブロックの隣接する複数の符号化済みブロックの動きベクトルからのメディアン予測によって算出されることを特徴とする請求項1記載の動画像符号化装置。
【請求項１０】
前記動きベクトル計算部は、符号化対象ブロックの隣接する複数の符号化済みブロックの動きベクトルの平均から算出することを特徴とする請求項1記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置に関する。
【背景技術】
【０００２】
符号化対象のフレームが双予測ピクチャである場合、複数の参照画像から動き予測が行われ、符号化される。動き予測モードは複数あり、それらのモードの中から最適な方式を選択する。しかし、全ての方式で発生する符号量を算出し、その結果から１つの方式を決定すると、採用された方式以外の動き予測方式についての計算は無駄となってしまう。
【０００３】
符号化対象ブロックの量子化パラメータの関数と、空間ダイレクトモードの動き予測残差に基づく評価値との比較により動き予測モードを早期判定する技術が提案されている（例えば非特許文献１）。
【非特許文献１】Xiaoan Lu, “Fast Mode Decision and Motion Estimation for H.264 with a focus on Mpeg-2/H.264 transcoding,” ISCAS, 2005
【非特許文献２】ITU-T Recommendation H.264, “Advanced Video Coding for generic audiovisual services.”(ISO/IEC 14496-10 | ITU-T Rec. H.264)
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の方法では、符号化対象画像の動きの複雑度を反映しない閾値によって早期判定を行っているため、適切な動き予測方式を判定できないという問題がある。空間ダイレクトモードは、周辺の動きベクトルから動きを予測するため、符号化対象画像の動きが隣接ブロック間で共通していれば、精度の高い動きベクトルを算出することが出来る。しかし、動きの方向及び大きさがブロック毎に異なる場合は、空間ダイレクトモードで算出される動きベクトルの精度は低い。つまり、符号化対象画像の動きの複雑度によりダイレクトモードの動き予測残差に基づく評価値が異なる。そのため、動きの複雑度を反映しない閾値では、ダイレクトモードの早期判定率が大きく変動してしまうという問題があった。
【０００５】
本発明は、上記課題を解決するためになされたものであって、動きの複雑度を反映した閾値に基づきダイレクトモードの早期判定をする動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、複数の動き補償方式から符号化対象フレームの符号化対象ブロック毎に動き補償モードを選択して画像情報の符号化を行う画像情報の画像符号化装置において、前記符号化対象フレームの参照フレームのブロックごとの動きベクトルの符号量の符号量平均値を算出する第１の算出部と、前記第１の算出部が算出した前記符号量平均値に基づく閾値を前記参照フレームごとに算出する第２の算出部と、前記符号化対象ブロックに隣接する複数の符号化済みブロックの動きベクトルを用いる第１の動き予測方式に基づき符号化対象ブロックの動きベクトルを求める動きベクトル計算部と、前記符号化対象ブロックの前記動きベクトル計算部で求められた動きベクトルの動き予測残差に基づく評価値を算出する第３の算出部と、前記閾値と前記評価値とを比較する比較部と、前記評価値が前記閾値より小さい場合に、前記符号化対象ブロックの動きベクトルを前記動き予測方式の動きベクトルと決定する決定部と、前記評価値が前記閾値以上である場合に前記第１の動き予測方式とは異なる第２の動き予測方式に基づき前記符号化対象ブロックの動き予測を行う動き予測計算部と、求められた動き予測方式に基づき符号化対象ブロックを符号化する符号化部とを具備することを特徴とする動画像符号化装置を提供する。
【発明の効果】
【０００７】
本発明によれば、符号化対象フレームの動き予測方式の早期判定の効率を向上することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態について説明する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態の動画像符号化装置を示すブロック図である。H.264/MPEG-4 AVCに準拠した動画像の符号化処理を行う。本実施形態の動画像符号化装置は、主な構成として差分値算出部１０１、直交変換部１０２、量子化部１０３、動き予測部１０４Ａ、逆量子化部１０５、逆直交変換部１０６、フレームメモリ１０７、加算部１０８、エントロピー符号化部１０９を備える。
【００１０】
フレームメモリ１０７は、符号化済みのフレームの復号画像をフレーム単位で蓄積する。動き予測部１０４Ａは、フレームメモリ１０７に蓄積されたすでに符号化された参照画像フレームから、符号化対象画像フレームの、各ブロックの動きを検出し動きベクトルと動き予測信号を得る。差分値算出部１０１は、符号化対象の動画像の信号に対して、動き予測部１０４Ａが算出した動き予測信号分を引き、得た差分信号である動き補償予測誤差信号を出力する。
【００１１】
直交変換部１０２は、差分値算出部１０１の出力する差分値（動き補償予測誤差信号）を離散コサイン変換する。量子化部１０３は、離散コサイン変換により得られた変換係数を量子化して出力する。離散コサイン変換は画像を空間周波数成分に分解する直交変換の１つの種類であり、直交変換方式は他にも種々のものが知られている。他の方式に適用する場合など、必要に応じて他の直交変換手段を用いて良い。エントロピー符号化部１０９は、量子化部１０３によって量子化して出力された変換係数を可変長符号化する。
【００１２】
逆量子化部１０５は、量子化部１０３によって量子化して出力された変換係数を逆量子化して、離散コサイン変換係数に変換する。逆直交変換部１０６は、逆量子化部１０５が出力した離散コサイン変換係数を逆離散コサイン変換して、動き予測残差の復号画像を生成する。加算部１０８は、予測値に予測残差の値を加えて符号化の結果である画素値を再現した予測残差の復号画像を得てフレームメモリ１０７に保持させる。
【００１３】
図２は、動き予測部１０４Ａを抜き出して示したブロック図である。
【００１４】
動き予測部１０４Ａは、動きベクトル計算部２０１、評価値計算部２０２、符号量計算部２０３、閾値設定部２０４、比較部２０５、決定部２０６、動き予測計算部２０７、方式選択部２０８を有する。
【００１５】
動きベクトル計算部２０１は符号化対象画像フレームの過去に符号化した周囲のブロックの動きベクトルの中央値より求めるメディアン予測によって、動きベクトルを算出する。
【００１６】
評価値計算部２０２は、符号化対象画像のブロックのダイレクトモードによる動き予測残差の絶対値和を算出する。符号化対象のフレームメモリ１０７に保持された既に符号処理がなされた参照フレームの復号画像内の動きベクトルが指すブロック部分と、符号化対象の動画像信号との画素ごとの差分絶対値和をダイレクトモードの評価値として計算する。
【００１７】
符号量計算部２０３は、参照フレームの符号化の際に方式選択部２０８により選択された動き予測方式に基づいて求められた動きベクトルの予測符号量を算出する。
【００１８】
閾値設定部２０４は、符号化対象ブロックの動き予測方式をダイレクトモードと早期判定するための閾値を算出する。まず、参照フレームのブロックごとに動きベクトルの符号量を算出し、算出された動きベクトルの符号量から平均値を算出する。算出された平均値に基づき、符号化対象画像の動き予測方式を決定する閾値を算出する。算出方法については後述する。
【００１９】
比較部２０５は、評価値計算部２０２が算出した評価値と、閾値設定部２０４が算出した閾値の比較を行う。その比較の結果を決定部２０６に出力する。
【００２０】
決定部２０６は、比較部２０５の結果から符号化対象画像の動き予測方式としてダイレクトモードを選択するか否かを決定する。評価値が閾値より小さい場合は、方式選択部２０８にダイレクトモード選択を設定する。また、評価値が閾値より大きい場合は、他の動き予測方式を選択させるように予測計算部２０７に求める。
【００２１】
動き予測計算部２０７は、ダイレクトモードが選択されなかった際にダイレクトモード以外の動き予測方式の評価及び決定を行う。16x16、8x16、16x8サイズの動き予測方式のそれぞれの評価値を方式選択部２０８へ出力する。なお、ここで計算されるダイレクトモード以外の動き予測方式の種類は、規格に準じた非特許文献２に記載されている方式の任意のものであって構わない。
【００２２】
方式選択部２０８は、決定部２０６よりダイレクトモードが選択された場合は、符号化対象フレームの動き予測方式をダイレクトモードと定める。また、それ以外の場合には、評価値計算部２０２と動き予測計算部２０７が求める評価値が最小となる動き予測方式を採用し、該当方式の動きベクトル及び差分画像信号を出力する。  
次に、本実施形態の動画像符号化装置の動作について説明する。
【００２３】
図３は、動き予測部１０４Ａの閾値設定の処理内容を示すフローチャートである。早期判定を実行する符号化対象フレームが参照するフレームの内、図７の下段で示されるような符号化順で直前のフレームの符号化終了後に実行される。
【００２４】
（ステップＳ１０１）
ステップＳ１０１では、符号化対象フレームの参照フレームのうちいずれかひとつのフレームの動きベクトルの予測符号量を算出する。参照フレームのマクロブロックごとの動きベクトルの予測符号量costを求める。動きベクトルの予測符号量costは（１）式によって算出される。
【数１】
2009194474.tif 000003
【００２５】
ここでλは量子化パラメータに依存する所定の係数であり、mvx、mvyはそれぞれ動きベクトルのx方向、y方向の成分、mvpredx、mvpredyはいずれかの予測方式で算出された動き予測ベクトルのx方向、y方向の成分である。
【００２６】
参照フレームのすべてのブロックのcostの和を取り、その和を１フレーム内のマクロブロック数で除算することによって平均値cost_aveを算出する。
【００２７】
（ステップＳ１０２）
次に、閾値計算部２０４で、参照フレームの動きベクトルの予測符号量の平均値cost_aveに基づき、（２）式に基づきthres_medを算出する。
【数２】
2009194474.tif 000004
【００２８】
（ステップＳ２０３）
次に、閾値計算部２０４がダイレクトモードを判定するための閾値thresの設定を行う。閾値thresは、（３）式に基づき設定される。
【数３】
2009194474.tif 000005
【００２９】
ここで、THRES_MINは所定の定数であり、
ＭＡＸ(x,y)はx,yのうち大きな値の方を選択する関数である。したがって、ステップＳ１０２で算出されたthres_medと、あらかじめ閾値thresの下限値として設定されたTHRES_MINのうちいずれか大きい方が選択され、閾値thresとして設定される。
【００３０】
（２）式に示すように、thres_medは、符号化対象画像の動きの複雑度を示す評価値であるcost_aveに基づき算出されている。
【００３１】
したがって、動きが複雑なほど、動き予測の性能が落ち、評価値であるcost_aveの値が大きくなる。それに伴いcost_aveの値が大きくなるにしたがって、thres_medの値も大きくなる。逆に動きの複雑度が低い場合、評価値であるcost_aveの値が小さくなり、それに伴い閾値thres_medの値も小さくなる。その場合、ダイレクトモードによって予測された動きベクトルの信頼性が高いと見なせる。cost_aveとダイレクトモードの残差に基づく評価値とは対数の関係があることがわかっているため、（２）式では閾値を設定するための計算式として対数を用いている。
【００３２】
画像劣化とダイレクトモードを早期決定する閾値thres_medとの関係を調べると、フレームによらず、ある程度の値を閾値にしたとしても画像劣化があまり生じないことがわかっている。そのため（３）式では、所定の値THRES_MINよりthres_medが小さい場合は、強制的に動き予測方式をダイレクトモードに早期決定を行うために閾値をTHRES_MINと設定する。それによって、ダイレクトモードによる予測方式の信頼性が高い場合に閾値thresが小さくなることでその他の最終的に採用されない予測方式の評価計算がなされないようにすることが出来る。
【００３３】
図４は、動き予測部１０４Ａのダイレクトモード早期決定を行う方法を示すフローチャートである。
【００３４】
（ステップＳ２０１）
まず、動きベクトル計算部２０１はダイレクトモードでの符号化対象画像の動きベクトルを予測する。評価値計算部２０２は、符号化対象画像のブロックのダイレクトモードで算出された動きベクトルに対応する参照フレームの復号画像のブロックとの差分絶対値和BD_SADを計算する。BD_SADは（４）式に基づいて算出される。
【数４】
2009194474.tif 000006
【００３５】
ここで、（x,y）はフレームの画素の位置に対応し、Cur（x,y）は符号化対象画像の（x,y）での画素値である。mvx、mvyはそれぞれダイレクトモードの動きベクトルのx方向、y方向成分を示すものである。Ref（x+mvx,y+mvy）は参照画像の復号画像の（x+mvx,y+mvy）の位置の画素値である。符号化対象フレームのマクロブロック毎に実行される。算出された差分絶対値和BD_SADを符号化対象フレームのブロックのダイレクトモードの評価値とする。
【００３６】
なお、ここでは予測残差の絶対値和を評価値として利用したが、予測残差にさらにアダマール変換を施し、その絶対値和を算出したもの（SATD）や、２乗誤差和（SSD）を用いてもよい。
【００３７】
（ステップＳ２０２）
次に、比較部２０５で、ステップS２０２で算出された閾値thresと評価値BD_SADとを比較する。評価値BD_SADが閾値thresよりも小さい場合は、ステップS２０３に進む。また、BD_SADが閾値thresよりも大きい場合はステップＳ２０４に進む。
【００３８】
（ステップＳ２０３）
評価値BD_SADが閾値thresよりも小さい場合は、早期判定部２０６はそのブロックの動き予測方式をダイレクトモードに定める。動き予測方式をダイレクトモードに定めた旨を方式選択部２０８に通知する。
【００３９】
（ステップＳ２０４）
一方、動き予測計算部２０７は、ダイレクトモード以外の動き予測方式の計算を続けて行い、各方式より算出される評価値を方式選択部２０８に出力する。方式選択部２０８はそれらの評価値に基づき、評価値が最小となる動き予測方式を採用する。そして該当方式の動きベクトル及び差分画像信号を出力する。
【００４０】
図７は、H.264の予測構造の例を示す図である。上図は、再生時の表示順番を時系列に沿って示したものである。下図はフレームを符号化する際の順番を示した図である。
【００４１】
フレームB１の符号化の前に参照フレームであるフレームP3の符号化処理がなされている。フレームB1の動き予測方式を決定する際に、ステップＳ１０１でフレームP3の動きベクトルの予測符号量を算出する。また、ステップS２０１でフレームP3とフレームB1との予測残差の絶対値和を求める。
【００４２】
本実施形態の動画像符号化装置では、符号化対象画像の動きの複雑度と相関のある、参照フレームの動きベクトルの予測符号量の平均値とから閾値計算を行っている。参照フレームの動きベクトルの符号量の平均値を用いることで、画面のマクロレベルでの動きの複雑度を評価する。それによって、動き予測の性能を反映した閾値を符号化対象画像に対して設定することが可能となる。
【００４３】
また、ダイレクトモードの評価値と閾値との大小比較により動き予測方式の１つであるダイレクトモードを早期決定することで、その他の動き予測の計算を高効率で省略することが可能となる。
【００４４】
（第２の実施形態）
第２の実施形態の、動画像符号化装置について詳細に説明する。ここで、図２と同じ部分についての重複説明は省略する。
【００４５】
図５は、第２の実施形態の動画像符号化装置のうち動き予測部１０４Ａを抜き出して示したブロック図である。
【００４６】
本実施形態図２の動き予測部１０４Ａは、閾値計算式設定部３０９をさらに有する。
【００４７】
閾値計算式設定部３０９は符号化対象フレームの符号化が終了する毎に、閾値計算部３０４の（２）式に示される計算式のパラメータ（a,b）を再計算する。具体的には、評価値計算部３０２で計算された評価値BD_SADをフレーム内全てのブロックに対して和を取り、マクロブロック数で割った値を入力として、閾値計算部３０４の計算式の係数を再設定する。また、閾値計算式設定部３０９はシーンチェンジを検出する機能も有する。
【００４８】
このとき、閾値thres_medの係数a,bは、（５）式で設定される。
【数５】
2009194474.tif 000007
【００４９】
BD_SAD_AVGは、符号化処理のなされたフレームの評価値BD_SADの平均である。BD_SAD_AVGは、ブロック毎の評価値BD_SADを１フレーム分の和をとり、フレーム内のブロック数で除算することで算出される。また、countはシーケンスに対して（５）式に基づく閾値計算式の再設定が行われた回数である。再設定が行われた回数countが増える毎に、（２）式に示される閾値を計算する計算式のa,bの変更幅を徐々に狭くしている。
【００５０】
動きベクトル符号量とダイレクトモードの性能の関係は同一シーン内での変動は少ないため、同一シーンに対して変更幅を徐々に狭くすることで閾値の安定化を図っている。シーンチェンジにより、ダイレクトモードの性質が大きく関係が変わることがあるため、シーンチェンジ点ではcountを０に初期化する方が好ましい。
【００５１】
図６は、動き予測部１０４Ａの閾値の計算式の再設定の処理内容を示すフローチャートであり、符号化対象フレームの符号化後に実行される。
【００５２】
（ステップＳ３０１）
まず、符号化時に評価値計算部２０２で算出されたブロックごとのダイレクトモードの評価値BD_SADの和をマクロブロック数で割ることで平均値BD_SAD_AVGを算出する。
【００５３】
（ステップＳ３０２）
次に、閾値計算式設定部３１０で、BD_SAD_AVGと（２）式に記載のthres_medと（１）式に記載のcostの平均値であるcost_aveを元に、閾値計算式である（２）式の再設定を行う。このとき、閾値計算式の再設定は、（５）式で設定される。
【００５４】
本実施形態の動画像符号化装置では、閾値計算式（２）式を、実際に動き予測で計算されたダイレクトモードの評価値の平均値を用いて再設定している。動きベクトルの予測符号量の平均値とダイレクトモードの性能の関係はシーケンス内でも変動が大きい。シーンが変化する毎に参照するフレームの動きベクトルの予測符号量の平均値と符号化対象フレームのダイレクトモードとの性能の関係を動的に閾値に反映することで、より高効率で動き予測方式の早期決定が可能となる。
【００５５】
それぞれの実施形態について、上記の例に限定されるものでなく、種々変形して実施可能である。例えば、符号量計算部２０３で計算される値は、エントロピー符号化部１０９より出力される動きベクトル情報の符号化データの量で代用しても構わない。また、評価値計算部２０２及び他の動き予測方式計算部で計算される評価値はアダマール変換により周波数変換して得られる周波数成分画像の絶対値の和であるSATDとしても構わない。
【００５６】
また、動きベクトル計算部２０１で算出される動きベクトルは、周囲のブロックの動きベクトルの中央値である非特許文献２で記載されているダイレクトモードの動きベクトルでなく、周囲のブロックの動きベクトルの平均値であっても構わない。
【００５７】
また、（１）式で示される動きベクトルの予測符号量costの平均値を算出する参照フレームは、図７の下段で示される符号化順で直前の参照フレームでなく、図７の上段で示される表示順で一番近いフレームであっても構わない。
【図面の簡単な説明】
【００５８】
【図１】第１の実施形態の動画像符号化装置を示す機能ブロック図。
【図２】第１の実施形態の動画像符号化装置の動き予測部１０４Ａを示す機能ブロック図。
【図３】第１の実施形態の閾値計算の動作を示すフローチャート。
【図４】第１の実施形態のモードの早期決定の動作を示すフローチャート。
【図５】第２の実施形態の動画像符号化装置の動き予測部１０４Ａを示すブロック図。
【図６】第２の実施形態の閾値計算式の再設定の動作を示すフローチャート。
【図７】H.264/AVCの予測構造の例を示す図。
【符号の説明】
【００５９】
１０１…差分値算出部
１０２…直行変換部
１０３…量子化部
１０４…動き予測部
１０５…逆量子化部
１０６…逆直行変換部
１０７…フレームメモリ
１０８…加算部
１０９…エントロピー符号化部
２０１、３０１…動きベクトル計算部
２０２、３０２…評価値計算部
２０３、３０３…符号量計算部
２０４、３０４…閾値設定部
２０５、３０５…比較部
２０６、３０６…決定部
２０７、３０７…動き予測計算部
２０８、３０８…方式選択部
３０９…閾値計算式設定部
【図１】
2009194474.tif 000008
【図２】
2009194474.tif 000009
【図３】
2009194474.tif 000010
【図４】
2009194474.tif 000011
【図５】
2009194474.tif 000012
【図６】
2009194474.tif 000013
【図７】
2009194474.tif 000014