(57)【特許請求の範囲】
【請求項１】
符号化対象画像がｎ分木分割されている符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出手段と、上記動きベクトル検出手段により検出された動きベクトルを用いて、上記符号化ブロックに対する動き補償予測を実施して予測画像を生成し、上記予測画像と上記符号化ブロックの差分である予測誤差を符号化する画像符号化手段とを備えた動画像符号化装置において、
上記動きベクトル検出手段は、ｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出部と、当該符号化ブロックの予測ベクトルと上記局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部と、上記平坦度算出部により算出された平坦度と上記予測誤差算出部により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出部と、上記適合度算出部により算出された適合度を参照して、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部と、上記符号化ブロック選択部により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部とを備えていることを特徴とする動画像符号化装置。
【請求項２】
符号化ブロックのサイズと量子化パラメータを用いて、適合度算出部により算出された符号化ブロックの適合度を補正し、補正後の適合度を符号化ブロック選択部に出力する適合度補正部を備えていることを特徴とする請求項１記載の動画像符号化装置。
【請求項３】
符号化ブロック選択部は、未選択の符号化ブロックの中で、最も適合度が高い符号化ブロックを動きベクトルの探索に用いる符号化ブロックとして選択するとともに、上記符号化ブロックが属する階層より下位の階層に属する符号化ブロックを削除する処理を、全てのリーフが選択されるまで繰り返し実施することを特徴とする請求項１または請求項２記載の動画像符号化装置。
【請求項４】
適合度算出部により符号化ブロックの適合度が算出される毎に、当該符号化ブロックの適合度と基準の適合度を比較し、当該符号化ブロックの適合度が基準の適合度より高ければ、当該符号化ブロックを動きベクトル検出部に出力するとともに、当該符号化ブロックが属する階層より下位の階層に属する符号化ブロックに対する上記平坦度算出部、上記予測誤差算出部及び上記適合度算出部の算出処理を打ち切らせる閾値判定部を設けたことを特徴とする請求項１または請求項２記載の動画像符号化装置。
【請求項５】
動きベクトル検出手段により検出された１以上の動きベクトルの中で、１つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出し、上記相違度が所定値より小さい場合、兄弟ノードの符号化ブロックの代わりに、１つ上位の階層に属する符号化ブロックの動きベクトルの検出を上記動きベクトル検出手段に指示する符号化ブロック変更手段を設けたことを特徴とする請求項１から請求項４のうちのいずれか１項記載の動画像符号化装置。
【請求項６】
画像符号化手段により生成された予測画像と符号化ブロックの差分である予測誤差が所定値より大きい場合、当該符号化ブロックの代わりに、当該符号化ブロックが属する階層より１つ上位の階層に属する符号化ブロック又は１つ下位の階層に属する符号化ブロックの動きベクトルの検出を上記動きベクトル検出手段に指示する符号化ブロック変更手段を設けたことを特徴とする請求項１から請求項４のうちのいずれか１項記載の動画像符号化装置。
【請求項７】
動きベクトル検出手段は、符号化ブロック変更手段から１つ上位の階層に属する符号化ブロック又は１つ下位の階層に属する符号化ブロックの動きベクトルを検出する指示が出力された場合、１つ上位又は１つ下位の階層に属する符号化ブロックの予測ベクトルとして、上記指示が出力される前に符号化ブロック選択部により選択された符号化ブロックの検出済みの動きベクトルを利用して、画像間の動きを探索することを特徴とする請求項５または請求項６記載の動画像符号化装置。
【請求項８】
平坦度算出部は、符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出することを特徴とする請求項１から請求項７のうちのいずれか１項記載の動画像符号化装置。
【請求項９】
適合度算出部は、符号化ブロックのサイズと量子化パラメータから重み係数を算出し、上記重み係数を用いて、平坦度算出部により算出された平坦度と予測誤差算出部により算出された動き補償予測誤差の重み付き和を算出し、その重み付き和を当該符号化ブロックの適合度として出力することを特徴とする請求項１から請求項８のうちのいずれか１項記載の動画像符号化装置。
【請求項１０】
動きベクトル検出手段が、符号化対象画像がｎ分木分割されている符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理ステップと、画像符号化手段が、上記動きベクトル検出処理ステップで検出された動きベクトルを用いて、上記符号化ブロックに対する動き補償予測を実施して予測画像を生成し、上記予測画像と上記符号化ブロックの差分である予測誤差を符号化する画像符号化処理ステップとを備えた動画像符号化方法において、
上記動きベクトル検出処理ステップが、ｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出処理ステップと、当該符号化ブロックの予測ベクトルと上記局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出処理ステップと、上記平坦度算出処理ステップで算出された平坦度と上記予測誤差算出処理ステップで算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出処理ステップと、上記適合度算出処理ステップで算出された適合度を参照して、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択処理ステップと、上記符号化ブロック選択処理ステップで選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理ステップとから構成されていることを特徴とする動画像符号化方法。
【請求項１１】
符号化対象画像がｎ分木分割されている符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理手順と、上記動きベクトル検出処理手順により検出された動きベクトルを用いて、上記符号化ブロックに対する動き補償予測を実施して予測画像を生成し、上記予測画像と上記符号化ブロックの差分である予測誤差を符号化する画像符号化処理手順とをコンピュータに実行させるための動画像符号化プログラムにおいて、
上記動きベクトル検出処理手順が、ｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出処理手順と、当該符号化ブロックの予測ベクトルと上記局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出処理手順と、上記平坦度算出処理手順により算出された平坦度と上記予測誤差算出処理手順により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出処理手順と、上記適合度算出処理手順により算出された適合度を参照して、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択処理手順と、上記符号化ブロック選択処理手順により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理手順とから構成されていることを特徴とする動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル動画像の画像データを符号化する動画像符号化装置、動画像符号化方法及び動画像符号化プログラムに関するものである。
【背景技術】
【０００２】
デジタル動画像の情報圧縮を目的とする動画像符号化は、膨大なデジタル動画像データを狭帯域の通信回線で伝送する必要性から発展をはじめ、現在では、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）など、種々の動画像符号化方式が提案されている。
動画像の符号化では、予測・変換処理を実施した後、量子化レベルの縮退などを行うことで動画像信号に含まれている時間的・空間的な冗長度を除去し、符号化データのデータ長を出来るだけ短くするためにエントロピー符号化を実施して圧縮している。
【０００３】
動画像の符号化では、予測処理を実施するが、一般に、動画像信号は空間方向及び時間方向において、近傍画素間で高い相関があるため、画素間で予測を行うことにより符号化すべき情報量を削減することができる。
予測処理には、符号化済の画像を用いて、時間方向の予測を行う画面間予測と、同一画像上の近傍画素を用いて、予測を行う画面内予測がある。
【０００４】
動画像符号化方式の国際標準であるＡＶＣ／Ｈ．２６４（ＩＳＯ／ＩＥＣ  １４４９６−１０  ｜  ＩＴＵ−Ｔ  Ｈ．２６４） における画面間予測（動き補償予測）では、符号化対象画像を小さなブロック（符号化ブロック）に区切り、符号化ブロック毎に、参照画像との間で動き探索を実施して、画像間の動き量を表す動きベクトルを検出するようにしている。
この動き補償予測では、動きベクトルを検出すると、その動きベクトルを用いて、符号化ブロックに対する動き補償予測を実施して予測画像を生成し、その予測画像と局部復号画像の差分である予測誤差を符号化するようにしている。
また、各符号化ブロックの予測ベクトルが、空間的・時間的に近傍にある符号化済みのブロックの動きベクトルから算出されて、その予測ベクトルが動画像符号化装置に与えられるので、動き補償予測では、その予測ベクトルと当該符号化ブロックの実際の動きベクトルとの差分を符号化するようにしている（例えば、非特許文献１を参照）。
【０００５】
ＡＶＣ／Ｈ．２６４では、符号化ブロックのサイズとして、輝度信号上で、１６画素×１６ラインのブロックサイズが採用されているが、このサイズを拡張して、動き探索などを実施する際のサイズを適応化させることで、符号化性能が大きく改善することが報告されている（例えば、非特許文献２，３を参照）。
このため、ブロック内をｎ個に分割し、さらに各ブロックを再帰的にｎ個に分割するといったｎ分木分割が検討されている。
【０００６】
ここで、図１５は符号化ブロックのｎ分木分割の中で最も一般的な分割である四分木分割（３階層の四分木分割）の一例を示す説明図である。
図１６は四分木分割された符号化ブロックの階層構造を表す四分木を示す説明図である。
図１６の各ノード内の番号が図１５の符号化ブロックの番号と対応している。
高い符号化性能を達成するためには、図１６の四分木の各ノードに対応する符号化ブロックのそれぞれで動き探索を実施して、動き補償予測を行った上で、その予測誤差などから最適なノードの組み合わせを決定する必要がある。
【０００７】
なお、以下の特許文献１には、既に符号化が終了している周辺ブロックが持つノードの組み合わせから、符号化対象のブロックのノードの組み合わせを選択し、選択されたノードに対応するブロックについてだけ、動き探索を実施する方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−７４５２０号公報
【非特許文献】
【０００９】
【非特許文献１】大久保榮（監修）、角野眞也、菊池義浩、鈴木輝彦（共著）「改訂版 Ｈ．２６４／ＡＶＣ教科書」インプレスＲ＆Ｄ、２００５年１２月２２日発行、ｐ．３５〜ｐ．６０、ｐ．８２
【非特許文献２】S. Ma and C.-C. J. Kuo, “High-definition Video Coding with Super-macroblocks,” Visual Communications and Image Processing 2007, September 2007, ２００７年１月２９日発行
【非特許文献３】P. Chen, Y. Ye, and M. Karczewicz, “Video Coding Using Extended Block Sizes,” VCEG-VJ23, ２００９年１月２７日発行
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来の動画像符号化装置は以上のように構成されているので、符号化対象画像がｎ分木分割されている場合、ｎ分木の符号化ブロック（ノード）の中で、どの符号化ブロックが、動き補償予測に最適なブロックであるかを決定するには、全ての符号化ブロックについて動き探索を実施して動きベクトルを検出するとともに、その動きベクトルを用いて予測誤差を算出して、その予測誤差を比較する必要がある。そのため、動き探索の処理等の実施に伴う演算量が膨大になり、符号化処理の高速化を図ることが困難である課題があった。
なお、特許文献１に開示されている方法を用いれば、動き探索に要する演算量を削減することができるが、符号化対象のブロックの特徴に関係なく、周辺ブロックを符号化する際に選択されたノードに基づいてノードの選択が行われるものであるため、全ての符号化ブロックについて動き探索等を実施することで、動き補償予測に最適なブロックを選択する場合と比べて、大きく選択結果が異なることがあり、この場合には、符号化性能が低下してしまう課題があった。
【００１１】
この発明は上記のような課題を解決するためになされたもので、演算量を削減して符号化処理の高速化を図ることができるとともに、高い符号化性能を得ることができる動画像符号化装置、動画像符号化方法及び動画像符号化プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１２】
この発明に係る動画像符号化装置は、画像間の動き量を表す動きベクトルを検出する動きベクトル検出手段が、ｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出部と、当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部と、平坦度算出部により算出された平坦度と予測誤差算出部により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出部と、適合度算出部により算出された適合度を参照して、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部と、符号化ブロック選択部により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部とを備えるようにしたものである。
【発明の効果】
【００１３】
この発明によれば、画像間の動き量を表す動きベクトルを検出する動きベクトル検出手段が、ｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出部と、当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部と、平坦度算出部により算出された平坦度と予測誤差算出部により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出部と、適合度算出部により算出された適合度を参照して、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部と、符号化ブロック選択部により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部とを備えるように構成したので、演算量を削減して符号化処理の高速化を図ることができるとともに、高い符号化性能を得ることができる効果がある。
【図面の簡単な説明】
【００１４】
【図１】この発明の実施の形態１による動画像符号化装置を示す構成図である。
【図２】この発明の実施の形態１による動画像符号化装置の処理内容（動画像符号化方法）の要部を示すフローチャートである。
【図３】この発明の実施の形態１による動画像符号化装置の評価値算出部２を示す構成図である。
【図４】動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。
【図５】動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。
【図６】重みαｉと重みβｉの関係を示す説明図である。
【図７】関数γｉの一例を示す説明図である。
【図８】符号化対象画像が四分木分割（３階層の四分木分割）されている例を示す説明図である。
【図９】符号化ブロック選択部３により選択される符号化ブロック（ノード）を示す説明図である。
【図１０】この発明の実施の形態２による動画像符号化装置を示す構成図である。
【図１１】この発明の実施の形態２による動画像符号化装置の符号化ブロック選択部１６を示す構成図である。
【図１２】この発明の実施の形態３による動画像符号化装置を示す構成図である。
【図１３】この発明の実施の形態３による動画像符号化装置のノード・探索範囲変更部１７を示す構成図である。
【図１４】兄弟ノードの符号化ブロックの動きベクトルが似通っている例を示す説明図である。
【図１５】符号化ブロックのｎ分木分割の中で最も一般的な分割である四分木分割（３階層の四分木分割）の一例を示す説明図である。
【図１６】四分木分割された符号化ブロックの階層構造を表す四分木を示す説明図である。
【発明を実施するための形態】
【００１５】
実施の形態１．
図１はこの発明の実施の形態１による動画像符号化装置を示す構成図である。
図１の動画像符号化装置には、符号化対象画像がｎ分木分割されている符号化ブロック（例えば、図１５に示す画像が符号化対象画像である場合、階層１の符号化ブロック（１）、階層２の符号化ブロック（２），（７），（１２），（１７）、階層３の符号化ブロック（３）〜（６），（８）〜（１１），（１３）〜（１６），（１８）〜（２１））が入力される。
また、図１の動画像符号化装置には、ｎ分木分割されている各符号化ブロックの予測ベクトルが入力される。即ち、図１の動画像符号化装置の外部装置によって、空間的・時間的に近傍にある符号化済みのブロックの動きベクトルから予測ベクトルが算出されて、その予測ベクトルが図１の動画像符号化装置に与えられる。
【００１６】
図１において、符号化制御部１はｎ分木分割されている符号化ブロック毎に、利用可能な１以上の符号化モード（１以上のイントラ符号化モード、１以上のインター符号化モード）の中から、当該符号化ブロックに適する符号化モードを選択し、その符号化モードに対応する予測パラメータ（イントラ予測パラメータ、インター予測パラメータ）や、目標符号量及び量子化ステップ幅を示す量子化パラメータなどの符号化パラメータを出力する処理を実施する。
【００１７】
評価値算出部２はｎ分木分割されている符号化ブロック毎に、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する処理を実施する。
符号化ブロック選択部３は評価値算出部２により算出された評価値を参照して、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する処理を実施する。
【００１８】
動きベクトル検出部４は符号化ブロック選択部３により選択された符号化ブロックとフレームメモリ１４に格納されている局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する処理を実施する。
なお、評価値算出部２、符号化ブロック選択部３及び動きベクトル検出部４から動きベクトル検出手段が構成されている。
【００１９】
動き補償部５は符号化制御部１により選択された符号化モードがインター符号化モードである場合、動きベクトル検出部４により検出された動きベクトル及び符号化制御部１から出力されたインター予測パラメータを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成する処理を実施する。
画面内予測部６は符号化制御部１により選択された符号化モードがイントラ符号化モードである場合、符号化制御部１から出力されたイントラ予測パラメータを用いて、その符号化ブロックに対するイントラ予測処理を実施して予測画像を生成する処理を実施する。
【００２０】
切替スイッチ７は符号化制御部１により選択された符号化モードがイントラ符号化モードであれば、画面内予測部６により生成された予測画像を選択し、符号化制御部１により選択された符号化モードがインター符号化モードであれば、動き補償部５により生成された予測画像を選択する処理を実施する。
減算部８は符号化ブロックと切替スイッチ７により選択された予測画像の差分である予測誤差を算出する処理を実施する。
【００２１】
直交変換・量子化部９は予測誤差に残存する空間方向の冗長度を除くために、減算部８により算出された予測誤差の変換処理（例えば、ＤＣＴ（離散コサイン変換）や、予め特定の学習系列に対して基底設計がなされているＫＬ変換等の直交変換処理）を実施し、また、符号化制御部１から出力された量子化パラメータを用いて、その予測誤差の変換係数を量子化することで、量子化後の変換係数を圧縮データとして出力する処理を実施する。
エントロピー符号化部１０は直交変換・量子化部９から出力された圧縮データと、符号化制御部１から出力された符号化モード及び符号化パラメータとをエントロピー符号化して、その圧縮データ、符号化モード及び符号化パラメータの符号化データが多重化されているビットストリームを生成する処理を実施する。
なお、動き補償部５、減算部８、直交変換・量子化部９及びエントロピー符号化部１０から画像符号化手段が構成されている。
【００２２】
逆量子化・逆直交変換部１１は符号化制御部１から出力された量子化パラメータを用いて、直交変換・量子化部９から出力された圧縮データを逆量子化し、逆量子化の圧縮データの逆変換処理（例えば、逆ＤＣＴ（逆離散コサイン変換）や、逆ＫＬ変換等の逆変換処理）を実施することで、逆変換処理後の圧縮データを局所復号予測誤差信号として出力する処理を実施する。
加算部１２は逆量子化・逆直交変換部１１から出力された局所復号予測誤差信号と切替スイッチ７により選択された予測画像を示す予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成する処理を実施する。
【００２３】
ループフィルタ部１３は加算部１２により生成された局所復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局所復号画像信号が示す局所復号画像をフレームメモリ１４に出力する処理を実施する。
フレームメモリ１４は動き補償部５により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部１３によるフィルタリング処理後の局所復号画像を格納するＲＡＭなどの記録媒体である。
イントラ予測用メモリ１５は画面内予測部６により次回のイントラ予測処理で用いられる画像として、加算部１２により生成された局所復号画像信号が示す局所復号画像を格納するＲＡＭなどの記録媒体である。
【００２４】
図１では、動画像符号化装置の構成要素である符号化制御部１、評価値算出部２、符号化ブロック選択部３、動きベクトル検出部４、動き補償部５、画面内予測部６、切替スイッチ７、減算部８、直交変換・量子化部９、エントロピー符号化部１０、逆量子化・逆直交変換部１１、加算部１２及びループフィルタ部１３のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、符号化制御部１、評価値算出部２、符号化ブロック選択部３、動きベクトル検出部４、動き補償部５、画面内予測部６、切替スイッチ７、減算部８、直交変換・量子化部９、エントロピー符号化部１０、逆量子化・逆直交変換部１１、加算部１２及びループフィルタ部１３の処理内容を記述している動画像符号化プログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されている動画像符号化プログラムを実行するようにしてもよい。
図２はこの発明の実施の形態１による動画像符号化装置の処理内容（動画像符号化方法）の要部を示すフローチャートである。
【００２５】
図３はこの発明の実施の形態１による動画像符号化装置の評価値算出部２を示す構成図である。
図３において、分散算出部２１はｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する処理を実施する。なお、分散算出部２１は平坦度算出部を構成している。
予測誤差算出部２２は当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する処理を実施する。
【００２６】
分散・予測誤差合成部２３は分散算出部２１により算出された分散と予測誤差算出部２２により算出された動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する処理を実施する。なお、分散・予測誤差合成部２３は適合度算出部を構成している。
評価値補正部２４は符号化ブロックのサイズと量子化パラメータを用いて、分散・予測誤差合成部２３により算出された評価値を補正し、補正後の評価値を符号化ブロック選択部３に出力する処理を実施する。なお、評価値補正部２４は適合度補正部を構成している。
【００２７】
次に動作について説明する。
ただし、評価値算出部２及び符号化ブロック選択部３以外の処理部は、例えば、非特許文献１などに開示されている動画像符号化装置と同様の構成要素であるため詳細な説明を省略し、ここでは、主に評価値算出部２及び符号化ブロック選択部３の処理内容を説明する。
【００２８】
評価値算出部２は、ｎ分木分割されている符号化ブロック、当該符号化ブロックの予測ベクトル及び符号化制御部１から出力された符号化パラメータを入力する。
評価値算出部２は、ｎ分木分割されている符号化ブロックを入力すると、符号化ブロック毎に、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する。
以下、評価値算出部２の処理内容を具体的に説明する。
【００２９】
図４は動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。
図４において、符号化対象画像から符号化ブロックとして分割されたブロック（１）の内部には、１つの物体（人物）しか含まれておらず、ブロック全体の動きを１つの動きベクトルで表現することができるため、ブロック（１）は動きベクトルの探索に適するブロックである。
一方、符号化対象画像から符号化ブロックとして分割されたブロック（２）の内部には、複数の物体（人物、自動車、道路）が含まれており、それぞれの物体が異なる動きを持っているため、ブロック（２）は動きベクトルの探索に適さないブロックである。
しかし、ブロック（２）を更に４つのブロック（２１）〜（２４）に分割すると、４つのブロック（２１）〜（２４）の内部には、１つの物体しか含まれておらず、動きベクトルの探索に適するブロックとなる。
【００３０】
このように、ブロックの内部に複数の物体が含まれているか否かを調べることは、そのブロックが動きベクトルの探索に適しているか否かを評価するために効果的である。
動き探索に適しているブロック（１）、（２１）〜（２４）は、平坦なテクスチャを持っているのに対して、動き探索に適していないブロック（２）は非常に複雑なテクスチャを持っている。
このため、その評価を行うための指標として、ブロックが持つテクスチャの平坦度が有効な指標となる。
なお、平均値からのばらつきを表す統計量である分散は、テクスチャの平坦度として利用することができる。動き探索に適しているブロック（１）、（２１）〜（２４）の画素値から算出される分散は小さな値になり、動き探索に適していないブロック（２）の画素値から算出される分散は大きな値になる。つまり、分散が小さな値を示すブロックほど、動き探索に適するブロックであると判断することができる。
【００３１】
評価値算出部２の分散算出部２１は、ｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する（図２のステップＳＴ１）。
ここでは、分散算出部２１が、テクスチャの平坦度として、画素値の分散を算出する例を示しているが、テクスチャの平坦度を示す指標であれば画素値の分散に限るものではなく、例えば、画素平面に対して平面当て嵌めを行うことで得られる当て嵌め誤差を算出するようにしてもよいし、当該符号化ブロック内の最大画素値と最小画素値の差分を算出するようにしてもよい。
【００３２】
図５は動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。
図５において、符号化対象画像から分割されたブロック（３）は、図４のブロック（１）と同様の理由で、動きベクトルの探索に適するブロックである。
また、符号化対象画像から分割されたブロック（４）は、図４のブロック（２）と同様の理由で、動きベクトルの探索に適さないブロックである。
しかし、ブロック（３）の内部には、１つの物体しか含まれていないが、ブロック（１）と異なり、テクスチャの平坦度が低く、画素値の分散が大きな値になる。
このように、物体が複雑なテクスチャを持つ場合、ブロックが静止領域に属する場合、あるいは、カメラのパンによって画面全体が一様に動いている場合などでは、テクスチャの平坦度と、動きベクトルの探索に対するブロックの適合度との間に関連性がない。
したがって、画素値の分散だけでなく、ブロックが持つ動きについても、考慮した方が望ましい。
【００３３】
そこで、評価値算出部２の予測誤差算出部２２は、当該符号化ブロックの予測ベクトル
と局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する（ステップＳＴ２）。
即ち、予測誤差算出部２２は、フレームメモリ１４に格納されている局部復号画像の中から、当該符号化ブロックの予測ベクトルが指し示す位置から当該符号化ブロックと同サイズのブロックを抽出する。
そして、予測誤差算出部２２は、局部復号画像から抽出したブロックと当該符号化ブロックとの間で、画素毎の差分を計算することにより、動き補償予測誤差を算出する。
【００３４】
ここでは、画素毎の差分を計算することで、動き補償予測誤差を算出する例を示しているが、画素毎の差分の総和を動き補償予測誤差として算出するようにしてもよいし、ブロックサイズの変化を正規化するために、画素毎の差分の総和を総画素数で割った平均値を動き補償予測誤差として算出するようにしてもよい。
この動き補償予測誤差が小さければ、当該符号化ブロックの実際の動きも１つの動きベクトルで表現することができる可能性が高く、当該符号化ブロックは動きベクトルの探索に適していると判断することができる。
【００３５】
評価値算出部２の分散・予測誤差合成部２３は、ｎ分木分割されている符号化ブロック毎に、分散算出部２１が当該符号化ブロック内の画素値の分散を算出し、予測誤差算出部２２が当該符号化ブロックの動き補償予測誤差を算出すると、下記の式（１）に示すように、その分散と動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する（ステップＳＴ３）。
【００３６】
0005622613.tif 000002
ここで、ｖｉは符号化ブロックｉ（ノードｉ）の評価値、σi2は分散算出部２１により算出された符号化ブロックｉ（ノードｉ）の分散、ｅｉは予測誤差算出部２２により算出された符号化ブロックｉ（ノードｉ）の動き補償予測誤差、αｉは分散σi2に対する重み、βｉは動き補償予測誤差ｅｉに対する重みである。
【００３７】
なお、動き補償予測誤差ｅｉが小さい場合、分散σi2の大小によらず、動き補償予測誤差ｅｉを重視した評価値ｖｉとする必要がある。一方、動き補償予測誤差ｅｉが大きい場合、分散σi2を重視する必要がある。
そのため、重みαｉ，βｉは、例えば、下記の式（２）を用いて、決定することができる。
【００３８】
0005622613.tif 000003
【００３９】
このようにして、分散・予測誤差合成部２３により算出される評価値ｖｉは、値が小さい程、当該符号化ブロックｉが動きベクトルの探索に適するブロックであることを表していると言える。
ここでは、分散・予測誤差合成部２３が分散と動き補償予測誤差の重み付け和を計算することで評価値を算出する例を示しているが、評価値は分散と動き補償予測誤差の重み付け和に限るものではなく、例えば、分散と動き補償予測誤差の乗算や除算によって評価値を算出するようにしてもよい。
なお、評価値としては、分散と動き補償予測誤差の他に、空間的・時間的に当該符号化ブロックの近傍にある符号化済ブロックが属する階層の深さを用いることも考えられる。
【００４０】
分散・予測誤差合成部２３により算出される評価値ｖｉは、一般に、当該符号化ブロックｉ（ノードｉ）が属する階層が深いほど（ブロックサイズが小さいほど）、値が小さくなる傾向があるため、下層にある符号化ブロックｉ（ノードｉ）ほど、動きベクトルの探索に適していると判断され易くなる。
しかし、符号化性能の観点から考えると、ブロックサイズが小さくなると、その分だけ、多くの分割情報や動きベクトルを符号化しなければならず、符号量の増加につながる。
【００４１】
そこで、評価値算出部２の評価値補正部２４は、符号化ブロックが属している階層の深さに応じて、分散・予測誤差合成部２３により算出された評価値ｖｉの重み付けを行うことで、階層が深くなる程、評価値が大きくなるように補正を行う。
これにより、ブロックサイズが必要以上に小さい符号化ブロックが選択されることを防ぐことができる。
【００４２】
ただし、評価値補正部２４が分散・予測誤差合成部２３により算出された評価値ｖｉを補正する際、量子化パラメータと符号化ブロックのサイズとの間にある関係性を考慮することが望ましい。
量子化パラメータが小さい（ビットレートが高い）場合、ビットレートと符号化歪のうち、符号化歪を抑えることを優先し、符号化ブロックのサイズを小さくして、動き補償予測誤差を小さくする方がよい。
一方、量子化パラメータが大きい（ビットレートが低い）場合、ビットレートを抑えることを優先し、符号化ブロックのサイズを大きくして、符号量を減らす方がよい。
つまり、評価値に対して重み付けを行う際、重み付けの強度を量子化パラメータに応じて、適応的に変化させることで、符号化性能の向上が可能になる。
【００４３】
そこで、評価値補正部２４は、分散・予測誤差合成部２３により算出された評価値ｖｉを補正する際、符号化ブロックのサイズと量子化パラメータから重みγｉを求め、その重みγｉを評価値ｖｉに乗算することで、その評価値ｖｉを補正するようにする（ステップＳＴ４）。
評価値に対する重み付け関数としては、例えば、下記の式（３）に示すような関数を用いることができる。
【００４４】
0005622613.tif 000004
図７は関数γｉの一例を示す説明図である。
ここでは、評価値補正部２４が、重みγｉを評価値ｖｉに乗算することで、その評価値ｖｉを補正するようにしているが、その重みγｉは、式（３）に示すような指数関数を用いて求めるものに限るものではなく、例えば、多項式関数や対数関数などの関数を用いて求めるようにしてもよい。
【００４５】
符号化ブロック選択部３は、評価値算出部２がｎ分木分割されている全ての符号化ブロックｉの評価値ｖｉを算出すると、各符号化ブロックｉの評価値ｖｉを参照して、ｎ分木分割されている全ての符号化ブロックの中から、動きベクトルの探索に適している符号化ブロックを選択する（ステップＳＴ５）。
即ち、符号化ブロック選択部３は、未選択の符号化ブロックの中で、最も適合度が高い符号化ブロックを選択して、その符号化ブロックが属する階層より下位の階層に属する符号化ブロックを削除する処理を全てのリーフ（子ノードを持たないノード）が選択されるまで繰り返し実施する。
【００４６】
以下、符号化ブロック選択部３の処理内容を具体的に説明する。
ここでは、符号化対象画像が、図８に示すように、四分木分割（３階層の四分木分割）されているものとして説明する。
図８において、符号化ブロック（ノード）に対応付けられている数値は、評価値算出部２の評価値補正部２４から出力された補正後の評価値である。
図９は符号化ブロック選択部３により選択される符号化ブロック（ノード）を示す説明図である。
【００４７】
図８の例では、最初に、符号化ブロック選択部３は、図９（ａ）に示すように、最も評価値が小さい符号化ブロック（２）を選択し、符号化ブロック（２）が属する階層より下位の階層に属する符号化ブロック（３）〜（６）を削除する。
次に、符号化ブロック選択部３は、図９（ｂ）に示すように、未選択の符号化ブロックの中で、最も評価値が小さい符号化ブロック（８）を選択する。符号化ブロック（８）は子ノードを持っていないので、子ノードの削除は行われない。
以降、全てのリーフ（子ノードを持たないノード）が選択されるまで、同様の処理が繰り返される（図９（ｃ）〜（ｈ））。
【００４８】
なお、符号化ブロック（１２）の評価値は“１１０”であり、下位の階層に属する符号化ブロック（１３）〜（１６）の評価値より高いため（適合度が低いため）、符号化ブロック（１２）は選択されず、下位の階層に属する符号化ブロック（１３）〜（１６）が選択されている。
一方、符号化ブロック（７）の評価値は“８８”であり、下位の階層に属する符号化ブロック（８）の評価値“６８”より高いが、同じく下位の階層に属する符号化ブロック（９）〜（１１）の評価値より低いため（適合度が高いため）、符号化ブロック（８）〜（１１）は選択されず、符号化ブロック（７）が選択されている。
これにより、符号化ブロック選択部３に選択された符号化ブロックは、符号化ブロック（２）、（７）、（１３）〜（１７）となる。
【００４９】
動きベクトル検出部４は、符号化ブロック選択部３が１個以上の符号化ブロックを選択すると、符号化ブロック選択部３により選択された符号化ブロック毎に、フレームメモリ１４に格納されている局部復号画像の中から、当該符号化ブロックの予測ベクトルが指し示す位置のブロック（当該符号化ブロックと同一サイズのブロック）を読み出し、その符号化ブロックと読み出しブロックの間で動きを探索して、画像間の動き量を表す動きベクトルを検出する（ステップＳＴ６）。
図９に示すように、７個の符号化ブロック（符号化ブロック（２）、（７）、（１３）〜（１７））が選択されている場合、動きベクトル検出部４により７個の符号化ブロックについて動きベクトルの探索処理が行われて、７個の動きベクトルが動き補償部５に出力される。
【００５０】
以上で明らかなように、この実施の形態１によれば、ｎ分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する分散算出部２１と、当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部２２と、分散算出部２１により算出された分散と予測誤差算出部２２により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する分散・予測誤差合成部２３と、符号化ブロックのサイズと量子化パラメータを用いて、分散・予測誤差合成部２３により算出された評価値を補正する評価値補正部２４と、評価値補正部２４による補正後の評価値を参照して、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部３と、符号化ブロック選択部３により選択された符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部４とを備えるように構成したので、演算量を削減して符号化処理の高速化を図ることができるとともに、高い符号化性能を得ることができる効果を奏する。
【００５１】
即ち、この実施の形態１によれば、ｎ分木分割されている全ての符号化ブロックを対象にして、動きベクトルの探索処理を実施するのではなく、動きベクトルの探索に適している符号化ブロックだけを対象にして、動きベクトルの探索処理を実施するようにしているため、動きベクトルの探索処理に関する演算量を大幅に削減することができる。
また、分散、動き補償予測誤差、量子化パラメータ、ノードが属する階層の深さなどの複数のパラメータを複合的に利用して評価値を算出するようにしているため、従来技術（例えば、特許文献１）よりも信頼性が高いノード選択を行うことができる。
さらに、ｎ分木分割されている全ての符号化ブロックの評価値を算出した上で、動きベクトルの探索に適している符号化ブロックを選択しているため、全ての符号化ブロックを動きベクトルの探索候補ブロックとして考慮することができる。
【００５２】
実施の形態２．
上記実施の形態１では、ｎ分木分割されている全ての符号化ブロックの評価値を算出し、それらの評価値を比較することで、動きベクトルの探索に適している符号化ブロックを選択するものを示したが、全ての符号化ブロックの評価値を算出する前に、ある符号化ブロックの評価値が所定の閾値より小さければ、その符号化ブロックを動きベクトルの探索に用いる符号化ブロックとして選択するとともに、その符号化ブロックが属する階層より下位の階層に属する符号化ブロックの評価値の算出処理を打ち切るようにしてもよい。
【００５３】
図１０はこの発明の実施の形態２による動画像符号化装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
符号化ブロック選択部１６は符号化ブロックの予測ベクトルや量子化パラメータ等を用いて、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する処理を実施する。
なお、符号化ブロック選択部１６及び動きベクトル検出部４から動きベクトル検出手段が構成されている。
【００５４】
図１０では、動画像符号化装置の構成要素である符号化制御部１、符号化ブロック選択部１６、動きベクトル検出部４、動き補償部５、画面内予測部６、切替スイッチ７、減算部８、直交変換・量子化部９、エントロピー符号化部１０、逆量子化・逆直交変換部１１、加算部１２及びループフィルタ部１３のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、符号化制御部１、符号化ブロック選択部１６、動きベクトル検出部４、動き補償部５、画面内予測部６、切替スイッチ７、減算部８、直交変換・量子化部９、エントロピー符号化部１０、逆量子化・逆直交変換部１１、加算部１２及びループフィルタ部１３の処理内容を記述している動画像符号化プログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されている動画像符号化プログラムを実行するようにしてもよい。
【００５５】
図１１はこの発明の実施の形態２による動画像符号化装置の符号化ブロック選択部１６を示す構成図である。
図１１において、ノード指示部３１は分散算出部３２及び予測誤差算出部３３における算出処理対象の符号化ブロック（ノード）を指示する処理を実施する。
分散算出部３２はｎ分木分割されている符号化ブロックの中で、ノード指示部３１により指示された符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する処理を実施する。なお、分散算出部３２は平坦度算出部を構成している。
予測誤差算出部３３はノード指示部３１により指示された符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する処理を実施する。
【００５６】
分散・予測誤差合成部３４は分散算出部３２により算出された分散と予測誤差算出部３３により算出された動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する処理を実施する。なお、分散・予測誤差合成部３４は適合度算出部を構成している。
評価値補正部３５は符号化ブロックのサイズと量子化パラメータを用いて、分散・予測誤差合成部３４により算出された評価値を補正する処理を実施する。なお、評価値補正部３５は適合度補正部を構成している。
【００５７】
閾値判定部３６は評価値補正部３５による補正後の評価値と閾値を比較し、補正後の評価値が閾値より低い場合（符号化ブロックの適合度が基準の適合度より高い場合）、当該符号化ブロックを選択する処理を実施する。
また、閾値判定部３６は補正後の評価値が閾値より低い場合、その選択した符号化ブロックが属する階層より下位の階層に属する符号化ブロックに対する分散算出部３２、予測誤差算出部３３、分散・予測誤差合成部３４及び評価値補正部３５の算出処理を打ち切らせる旨をノード指示部３１に指示する処理を実施する。
【００５８】
次に動作について説明する。
図１の評価値算出部２及び符号化ブロック選択部３の代わりに、符号化ブロック選択部１６が設けられている点以外は、上記実施の形態１と同様であるため、ここでは、符号化ブロック選択部１６の処理内容を説明する。
符号化ブロック選択部１６は、符号化ブロックの予測ベクトルや量子化パラメータ等を入力すると、その予測ベクトルや量子化パラメータ等を用いて、ｎ分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択して、その符号化ブロックを動きベクトル検出部４に出力する。
具体的には、以下の通りである。
【００５９】
まず、符号化ブロック選択部１６のノード指示部３１は、条件フラグを“０”に初期化して、対象ノードをルート（図８の例では、符号化ブロック（１））に設定する。
ここでは、条件フラグが“０”である場合、符号化ブロックの階層構造を表すｎ分木において、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定するものとする。ただし、対象ノードがルートの場合は、ルートをそのまま出力する。
条件フラグが“１”である場合、ｎ分木において、対象ノードの子ノード以下を全て削除した上で、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定するものとする。
したがって、最初は、評価値を算出する処理対象の符号化ブロックをルートの符号化ブロック（図８の例では、符号化ブロック（１））に設定する。
【００６０】
分散算出部３２は、ノード指示部３１が算出処理対象の符号化ブロックを設定すると、その符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する。
分散算出部３２による分散の算出処理は、図３の分散算出部２１と同様であるため詳細な説明を省略する。
【００６１】
予測誤差算出部３３は、ノード指示部３１が算出処理対象の符号化ブロックを設定すると、その符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する。
予測誤差算出部３３による動き補償予測誤差の算出処理は、図３の予測誤差算出部２２と同様であるため詳細な説明を省略する。
【００６２】
分散・予測誤差合成部３４は、分散算出部３２が分散を算出し、予測誤差算出部３３が動き補償予測誤差を算出すると、図３の分散・予測誤差合成部２３と同様に、その分散と動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する。
評価値補正部３５は、分散・予測誤差合成部３４が評価値を算出すると、図３の評価値補正部２４と同様に、符号化ブロックのサイズと量子化パラメータを用いて、その評価値を補正する。
【００６３】
閾値判定部３６は、評価値補正部３５が評価値を補正すると、補正後の評価値と所定の閾値を比較する。
閾値判定部３６は、補正後の評価値が閾値より小さい場合、ノード指示部３１により指定された符号化ブロックは動きベクトルの探索に適しているブロックであると判断し、その符号化ブロックを動きベクトル検出部４に出力する。
このように、ノード指示部３１により指定された符号化ブロックを選択して、その符号化ブロックを動きベクトル検出部４に出力する場合、既に動きベクトルの探索に適している符号化ブロックが見つかっており、もはや、その符号化ブロックが属する階層より下位の階層に属する符号化ブロックの評価値を算出する必要がないため、条件フラグを“１”に設定して、“１”の条件フラグをノード指示部３１に出力する。
一方、補正後の評価値が閾値以上である場合、動きベクトルの探索に適している符号化ブロックを引き続き探索する必要があるため、“０”の条件フラグをノード指示部３１に出力する。
【００６４】
ノード指示部３１は、閾値判定部３６から“０”の条件フラグを受けると、ｎ分木において、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定する。
図８の例では、例えば、前回設定している符号化ブロックが符号化ブロック（１）であれば、符号化ブロック（２）を評価値の算出処理対象に設定し、前回設定している符号化ブロックが符号化ブロック（２）であれば、符号化ブロック（３）を評価値の算出処理対象に設定し、前回設定している符号化ブロックが符号化ブロック（３）であれば、符号化ブロック（４）を評価値の算出処理対象に設定する。
【００６５】
ノード指示部３１は、閾値判定部３６から“１”の条件フラグを受けると、前回設定している符号化ブロックが属する階層より下位の階層に属する符号化ブロックの評価値を算出する必要がないため、下位の階層に属する符号化ブロックを削除する。
図８の例では、例えば、符号化ブロック（１）が選択された場合、符号化ブロック（２）〜（２１）を削除し、符号化ブロック（７）が選択された場合、符号化ブロック（８）〜（１１）を削除する。ただし、符号化ブロック（８）や符号化ブロック（１５）などが選択された場合、下位の階層に属する符号化ブロックがないため、削除する符号化ブロックはない。
【００６６】
また、ノード指示部３１は、未選択の符号化ブロックにおいて、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定する。
図８の例では、例えば、前回設定している符号化ブロックが符号化ブロック（２）であり、その符号化ブロック（２）が選択された場合、符号化ブロック（３）〜（６）を削除しているので、符号化ブロック（７）を評価値の算出処理対象に設定する。
また、前回設定している符号化ブロックが符号化ブロック（３）であり、その符号化ブロック（３）が選択された場合、符号化ブロック（４）を評価値の算出処理対象に設定し、前回設定している符号化ブロックが符号化ブロック（６）であり、その符号化ブロック（６）が選択された場合、符号化ブロック（７）を評価値の算出処理対象に設定する。
【００６７】
以上で明らかなように、この実施の形態２によれば、ノード指示部３１により指定された符号化ブロックの評価値を算出し、その評価値が所定の閾値より小さければ、当該符号化ブロックを動きベクトルの探索に用いる符号化ブロックとして選択するとともに、当該符号化ブロックが属する階層より下位の階層に属する符号化ブロックに対する分散算出部３２、予測誤差算出部３３、分散・予測誤差合成部３４及び評価値補正部３５の算出処理を打ち切るように構成しているので、評価値の算出処理に要する演算量を大幅に削減して、符号化処理の高速化を図ることができる効果を奏する。
【００６８】
実施の形態３．
上記実施の形態１，２では、符号化ブロック選択部３，１６により選択された符号化ブロックの動きベクトルを探索して動き補償予測を行うものを示したが、動きベクトルの探索結果や動き補償予測結果に基づいて、符号化ブロック選択部３，１６により選択された符号化ブロックを変更して、再度、動きベクトルの探索や動き補償予測を行うようにしてもよい。
【００６９】
図１２はこの発明の実施の形態３による動画像符号化装置を示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
ノード・探索範囲変更部１７は動きベクトル検出部１８により検出された１以上の動きベクトルの中で、１つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出し、その相違度が所定値より大きい場合、兄弟ノードの符号化ブロックの代わりに、１つ上位の階層に属する符号化ブロック又は１つ下位の階層に属する符号化ブロックの動きベクトルの検出を動きベクトル検出部１８に指示する処理を実施する。
また、ノード・探索範囲変更部１７は減算部８により算出された予測誤差が所定値より大きい場合、その予測誤差の算出に用いられた符号化ブロックの代わりに、１つ上位の階層に属する符号化ブロック又は１つ下位の階層に属する符号化ブロックの動きベクトルの検出を動きベクトル検出部１８に指示する処理を実施する。なお、ノード・探索範囲変更部１７は符号化ブロック変更手段を構成している。
【００７０】
動きベクトル検出部１８は図１の動きベクトル検出部４と同様に、符号化ブロック選択部３により選択された符号化ブロックとフレームメモリ１４に格納されている局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する処理を実施するが、ノード・探索範囲変更部１７から１つ上位の階層に属する符号化ブロック又は１つ下位の階層に属する符号化ブロックの動きベクトルを検出する指示が出力された場合、１つ上位又は１つ下位の階層に属する符号化ブロックの予測ベクトルとして、その指示が出力される前に符号化ブロック選択部３により選択された符号化ブロックの検出済みの動きベクトルを利用して、画像間の動きを探索する処理を実施する。
なお、評価値算出部２、符号化ブロック選択部３及び動きベクトル検出部１８から動きベクトル検出手段が構成されている。
【００７１】
図１２では、動画像符号化装置の構成要素である符号化制御部１、評価値算出部２、符号化ブロック選択部３、動きベクトル検出部１８、動き補償部５、画面内予測部６、切替スイッチ７、減算部８、直交変換・量子化部９、エントロピー符号化部１０、逆量子化・逆直交変換部１１、加算部１２、ループフィルタ部１３及びノード・探索範囲変更部１７のそれぞれが専用のハードウェア（例えば、ＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなど）で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、符号化制御部１、評価値算出部２、符号化ブロック選択部３、動きベクトル検出部１８、動き補償部５、画面内予測部６、切替スイッチ７、減算部８、直交変換・量子化部９、エントロピー符号化部１０、逆量子化・逆直交変換部１１、加算部１２、ループフィルタ部１３及びノード・探索範囲変更部１７の処理内容を記述している動画像符号化プログラムを当該コンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されている動画像符号化プログラムを実行するようにしてもよい。
【００７２】
図１３はこの発明の実施の形態３による動画像符号化装置のノード・探索範囲変更部１７を示す構成図である。
図１３において、兄弟ノード動きベクトル相違度算出部４１は動きベクトル検出部１８により検出された１以上の動きベクトルの中で、１つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出する処理を実施する。
ノード・探索範囲変更判定部４２は兄弟ノード動きベクトル相違度算出部４１により算出された相違度が所定値より小さい場合、あるいは、減算部８により算出された予測誤差が所定値より大きい場合、ノード・探索範囲変更部１７から指示が出力される前に符号化ブロック選択部３により選択された符号化ブロックの代わりに、１つ上位の階層に属する符号化ブロック又は１つ下位の階層に属する符号化ブロックの動きベクトルの検出を動きベクトル検出部１８に指示する処理を実施する。
【００７３】
次に動作について説明する。
上記実施の形態１，２と比べて、ノード・探索範囲変更部１７が実装されている点で相違している。
ノード・探索範囲変更部１７の兄弟ノード動きベクトル相違度算出部４１は、符号化ブロック選択部３により選択されたＮ個の符号化ブロックの中に、１つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックが含まれているか否かを確認する。
図８の場合、例えば、符号化ブロック（２）と符号化ブロック（７）は、符号化ブロック（１）が共通の親ノードであるため兄弟ノードである。
同様に、符号化ブロック（３）と符号化ブロック（５）は、符号化ブロック（２）が共通の親ノードであるため兄弟ノードである。
【００７４】
ここで、図１４は兄弟ノードの符号化ブロックの動きベクトルが似通っている例を示す説明図である。
図１４の例では、階層３に属する４つの符号化ブロックの動きベクトルが似通っている。
符号量を削減する観点からすると、兄弟ノードの符号化ブロック毎に、動きベクトルを用いて、動き補償予測を実施するよりも、親ノードの符号化ブロックの１つの動きベクトルを用いて、動き補償予測を実施する方が有利である。
【００７５】
そこで、兄弟ノード動きベクトル相違度算出部４１は、符号化ブロック選択部３により選択されたＮ個の符号化ブロックの中に、兄弟ノードの符号化ブロックが含まれている場合、動きベクトル検出部１８により検出された兄弟ノードの符号化ブロックの動きベクトルの相違度を算出する。
動きベクトルの相違度としては、例えば、動きベクトルの先端間の距離などを用いることができる。
【００７６】
ノード・探索範囲変更判定部４２は、兄弟ノード動きベクトル相違度算出部４１が兄弟ノードの符号化ブロックの動きベクトルの相違度を算出すると、その相違度と所定値を比較し、その相違度が所定値より大きい場合、兄弟ノードの符号化ブロックの代わりに、１つ上位の階層に属する符号化ブロックの検出を動きベクトル検出部１８に指示する。
あるいは、１つ下位の階層に属する符号化ブロックの検出を動きベクトル検出部１８に指示する。
あるいは、１つ上位の階層に属する符号化ブロックと１つ下位の階層に属する符号化ブロックの双方の検出を動きベクトル検出部１８に指示する。
【００７７】
また、ノード・探索範囲変更判定部４２は、減算部８により算出された予測誤差が所定値より大きい場合、その予測誤差の算出に用いられた符号化ブロックの選択の信頼性が低いと考えられるため、その符号化ブロックの代わりに、１つ上位の階層に属する符号化ブロックの検出を動きベクトル検出部１８に指示する。
あるいは、１つ下位の階層に属する符号化ブロックの検出を動きベクトル検出部１８に指示する。
あるいは、１つ上位の階層に属する符号化ブロックと１つ下位の階層に属する符号化ブロックの双方の検出を動きベクトル検出部１８に指示する。
【００７８】
動きベクトル検出部１８は、ノード・探索範囲変更部１７から１つ上位又は１つ下位の階層に属する符号化ブロックの動きベクトルを検出する指示が出力された場合、１つ上位又は１つ下位の階層に属する符号化ブロックの予測ベクトルとして、その指示が出力される前に符号化ブロック選択部３により選択された符号化ブロックの検出済みの動きベクトルを利用して、画像間の動きを探索する。
即ち、動きベクトル検出部１８は、兄弟ノードの符号化ブロックの代わりに、親ノード又は子ノードの符号化ブロックの動きベクトルを検出する指示が出力された場合、フレームメモリ１４に格納されている局部復号画像の中から、兄弟ノードの符号化ブロックの検出済みの動きベクトルが指し示す位置のブロックを読み出し、親ノード又は子ノードの符号化ブロックと読み出しブロックの間で動きを探索して、画像間の動き量を表す動きベクトルを検出する。
例えば、兄弟ノードの個数が４個である場合、４個の動きベクトルから求めた代表ベクトル（例えば、平均ベクトルなど）が指し示す位置のブロックを親ノードの符号化ブロックに対応する読み出しブロックとして用いてもよいし、４個のブロックをすべて含んだブロックを用いてもよい。
【００７９】
動き補償部５は、動きベクトル検出部１８が、１つ上位又は１つ下位の階層に属する符号化ブロックの動きベクトルを検出すると、その動きベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成するが、その動き補償予測処理を実施した結果、符号化ブロックを変更する前の方が、符号化効率が高い場合、その予測画像を破棄して、符号化ブロックを変更する前の予測画像を最終的な予測画像に決定する。
一方、符号化ブロックを変更した後の方が、符号化効率が高い場合、符号化ブロックを変更する前の予測画像を破棄して、符号化ブロックを変更した後の予測画像を最終的な予測画像に決定する。
【００８０】
以上で明らかなように、この実施の形態３によれば、動きベクトル検出部１８により検出された１以上の動きベクトルの中で、１つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出し、その相違度が所定値より小さい場合、あるいは、減算部８により算出された予測誤差が所定値より大きい場合、兄弟ノードの符号化ブロック等の代わりに、１つ上位の階層に属する符号化ブロック又は１つ下位の階層に属する符号化ブロックの検出を動きベクトル検出部１８に指示するように構成したので、符号量を削減効果や、符号化ブロック選択の信頼性などを高めることができる効果を奏する。
【００８１】
即ち、符号化ブロック選択部３により選択された符号化ブロックの信頼性が低いと考えられる場合には、別の符号化ブロックを新たに選択して動き探索を実施することが可能になるため、符号化性能の向上を図ることができる。
また、新たに動きベクトルの探索処理を実施する際に、検出済みの動きベクトルを予測ベクトルとして利用して、探索範囲を削減することで、動きベクトルの探索精度を落とすことなく、探索回数が増えることによる演算量の増加を最小限に抑えることができる。
【００８２】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００８３】
１  符号化制御部、２  評価値算出部（動きベクトル検出手段）、３，１６  符号化ブロック選択部（動きベクトル検出手段）、４，１８  動きベクトル検出部（動きベクトル検出手段）、５  動き補償部（画像符号化手段）、６  画面内予測部、７  切替スイッチ、８  減算部（画像符号化手段）、９  直交変換・量子化部（画像符号化手段）、１０  エントロピー符号化部（画像符号化手段）、１１  逆量子化・逆直交変換部、１２  加算部、１３  ループフィルタ部、１４  フレームメモリ、１５  イントラ予測用メモリ、１７  ノード・探索範囲変更部（符号化ブロック変更手段）、２１，３２  分散算出部（平坦度算出部）、２２，３３  予測誤差算出部、２３，３４  分散・予測誤差合成部（適合度算出部）、２４，３５  評価値補正部（適合度補正部）、３１  ノード指示部、３６  閾値判定部、４１  兄弟ノード動きベクトル相違度算出部、４２  ノード・探索範囲変更判定部。
【図１】
0005622613.tif 000005
【図２】
0005622613.tif 000006
【図３】
0005622613.tif 000007
【図４】
0005622613.tif 000008
【図５】
0005622613.tif 000009
【図６】
0005622613.tif 000010
【図７】
0005622613.tif 000011
【図８】
0005622613.tif 000012
【図９】
0005622613.tif 000013
【図１０】
0005622613.tif 000014
【図１１】
0005622613.tif 000015
【図１２】
0005622613.tif 000016
【図１３】
0005622613.tif 000017
【図１４】
0005622613.tif 000018
【図１５】
0005622613.tif 000019
【図１６】
0005622613.tif 000020