(57)【要約】【課題】本発明は、映像を領域分割し、フレーム間予測符号化に従って分割領域の動きベクトルを探索して符号化を行うときに、少ない演算量でもって、符号化効率がより高い動きベクトルを探索することを実現する新たな映像符号化技術の提供を目的とする。【解決手段】１フレームの全マクロブロックの符号化処理を予め定めた回数だけ反復させて、初回の符号化処理では、符号化対象マクロブロックと依存関係がある後段のマクロブロックの予測残差ベクトル符号量を加味しないコスト関数を用いて動きベクトルを探索し、二回目以降の反復処理では、その予測残差ベクトル符号量を加味したコスト関数を用いて動きベクトルを探索する。これにより、１フレーム全体のコスト関数の総和を考慮した最適な動きベクトルを求めることができる。しかも、各ブロックの動きベクトルの全ての組み合わせを試さなくても済むことから、少ない演算量でそれを求めることができる。【選択図】図２
2008104124.tif 000002
【特許請求の範囲】
【請求項１】
映像を領域分割し、フレーム間予測符号化に従って分割領域の動きベクトルを探索して符号化を行う映像符号化方法であって、
１フレームの全分割領域を符号化する符号化処理を予め定めた回数だけ反復させる過程と、
初回の符号化処理において、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルの符号量を加味しないコスト関数を用いて、符号化対象分割領域の動きベクトルを探索する過程と、
二回目以降の符号化処理において、前回の符号化処理で求めた動きベクトル情報を用いて、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルを算出して、その予測残差ベクトルの符号量を加味するコスト関数を用いて、符号化対象分割領域の動きベクトルを探索する過程とを備えることを、
特徴とする映像符号化方法。
【請求項２】
請求項１に記載の映像符号化方法において、
前記初回の符号化処理を行う過程では、コスト関数として、符号化対象分割領域の予測残差電力を用いるか、あるいは、符号化対象分割領域の予測残差電力と符号化対象分割領域の予測残差ベクトルの符号量との線形結合で表されるものを用いることを、
特徴とする映像符号化方法。
【請求項３】
請求項１に記載の映像符号化方法において、
前記二回目以降の符号化処理を行う過程では、コスト関数として、符号化対象分割領域の予測残差電力と、符号化対象分割領域の予測残差ベクトルの符号量と、符号化対象分割領域と依存関係がある全分割領域の予測残差ベクトルの符号量との線形結合で表されるものを用いることを、
特徴とする映像符号化方法。
【請求項４】
請求項１に記載の映像符号化方法において、
前記二回目以降の符号化処理を行う過程では、コスト関数として、符号化対象分割領域の予測残差電力と、符号化対象分割領域のオーバーヘッド符号量と、符号化対象分割領域と依存関係がある全分割領域のオーバーヘッド符号化量との線形結合で表されるものを用いることを、
特徴とする映像符号化方法。
【請求項５】
映像を領域分割し、フレーム間予測符号化に従って分割領域の動きベクトルを探索して符号化を行う映像符号化装置であって、
１フレームの全分割領域を符号化する符号化処理を予め定めた回数だけ反復させる制御を行う制御手段と、
前回の符号化処理で求めた動きベクトル情報を保持する保持手段と、
前記保持手段の保持する動きベクトル情報を用いて、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルを算出する予測残差ベクトル算出手段と、
初回の符号化処理では、前記予測残差ベクトル算出手段の算出する予測残差ベクトルの符号量を加味しないコスト関数を用いて、動きベクトルの探索に用いるコストを算出し、二回目以降の符号化処理では、その予測残差ベクトルの符号量を加味するコスト関数を用いて、動きベクトルの探索に用いるコストを算出するコスト算出手段と、
前記コスト算出手段の算出したコストを用いて、符号化対象分割領域の動きベクトルを探索する探索手段とを備えることを、
特徴とする映像符号化装置。
【請求項６】
請求項５に記載の映像符号化装置において、
前記コスト算出手段は、初回の符号化処理で用いるコスト関数として、符号化対象分割領域の予測残差電力を用いるか、あるいは、符号化対象分割領域の予測残差電力と符号化対象分割領域の予測残差ベクトルの符号量との線形結合で表されるものを用いることを、
特徴とする映像符号化装置。
【請求項７】
請求項５に記載の映像符号化装置において、
前記コスト算出手段は、二回目以降の符号化処理で用いるコスト関数として、符号化対象分割領域の予測残差電力と、符号化対象分割領域の予測残差ベクトルの符号量と、符号化対象分割領域と依存関係がある全分割領域の予測残差ベクトルの符号量との線形結合で表されるものを用いることを、
特徴とする映像符号化装置。
【請求項８】
請求項５に記載の映像符号化装置において、
前記コスト算出手段は、二回目以降の符号化処理で用いるコスト関数として、符号化対象分割領域の予測残差電力と、符号化対象分割領域のオーバーヘッド符号量と、符号化対象分割領域と依存関係がある全分割領域のオーバーヘッド符号化量との線形結合で表されるものを用いることを、
特徴とする映像符号化装置。
【請求項９】
請求項５ないし８のいずれか１項に記載の映像符号化装置の実現に用いられる処理をコンピュータに実行させるための映像符号化プログラム。
【請求項１０】
請求項５ないし８のいずれか１項に記載の映像符号化装置の実現に用いられる処理をコンピュータに実行させるための映像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を領域分割し、フレーム間予測符号化に従って分割領域の動きベクトルを探索して符号化を行う映像符号化方法およびその装置と、その映像符号化装置の実現に用いられる映像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関し、特に、少ない演算量でもって、符号化効率がより高い動きベクトルを探索することを実現する映像符号化方法およびその装置と、その映像符号化装置の実現に用いられる映像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
【背景技術】
【０００２】
近年の映像符号化方式の多くは、フレームを小さいブロックの単位に分け、符号化済みフレームの予測残差の小さい領域との差分を符号化する「動き補償」という技術を使用して符号量を削減する。
【０００３】
その際、予測残差の小さい領域の位置を示す動きベクトルも符号化する必要があるが、隣接するブロック間でこの動きベクトルの相関が高いため、周囲のベクトル情報を元に予測ベクトルを生成し、それとの差分を取った予測残差ベクトルを符号化するのが一般的となっている。
【０００４】
映像符号化規格Ｈ.264／ＭＰＧ-4  ＡＶＣ（以下、Ｈ.264と称する）では、あるマクロブロック（以下、ＭＢと略記することがある）の動きベクトルを符号化する際に、図８に示すように、上・右上・左に隣接するＭＢ（図８のＡ，Ｂ，Ｃに示すＭＢ）の動きベクトルのメディアンを予測ベクトルとし、それとの差分のみを予測残差ベクトルとして符号化する（例えば、非特許文献１参照）。
【０００５】
動き補償を用いる場合、予測残差の小さい領域を探す動き探索を行わなければならない。その際には、予測残差情報の他に、この予測残差ベクトルの符号量も加味する必要がある。そのため、Ｈ.264で動きベクトルを求める場合、各探索点で予測残差情報と予測残差ベクトルとからコスト関数を計算し、それが最も小さくなる点を求める方法が一般的となっている。
【０００６】
このコスト関数としては、予測残差信号の電力Ｄ、予測残差ベクトルの符号量Ｒ、係数λを用いた
cost＝Ｄ＋λ・Ｒ
という式が広く使われている。
【０００７】
実際の符号化では、左上のＭＢから順に、このcostが最小となる点を求めていく（例えば、非特許文献２参照）。
【０００８】
図９に、動き補償を用いてＭＢを逐次的に符号化処理する場合のフローチャートの概略を示す。
【０００９】
動き補償を用いてＭＢを逐次的に符号化処理する場合には、このフローチャートに示すように、まず、左上のＭＢを処理対象のＭＢとし（Ｓ３０１）、そのＭＢについて動きベクトル導出処理を行う（Ｓ３０２）。続いて、予測残差にＤＣＴと量子化を施し（Ｓ３０３）、動きベクトル情報とともにエントロピー符号化処理を行う（Ｓ３０４）。
【００１０】
一方、予測残差信号の量子化値に逆量子化とＩＤＣＴを施し、予測画像との和を取って復号画像を生成する（Ｓ３０５）。この処理が終わったら全ＭＢの処理が終了したかを判定し（Ｓ３０６）、まだ終わっていなければ次のＭＢに進み（Ｓ３０７）、上記の処理を繰り返す（Ｓ３０２〜Ｓ３０７）。そして、全ＭＢの処理が終了したところで１フレーム分の符号化処理が終了となる。
【００１１】
図１０に、各ＭＢの動きベクトル導出処理（図９のＳ３０２の処理）の具体的なフローチャートを示す。
【００１２】
各ＭＢの動きベクトル導出処理では、このフローチャートに示すように、まず、予測ベクトルＶ＿ｐを求める（Ｓ４０１）。また、cost＿min に十分大きな値を代入し（Ｓ４０２）、最初の探索ベクトルＶ（ｘ，ｙ）を設定する（Ｓ４０３）。そして、探索ベクトルＶに対応する予測画像と符号化対象ＭＢとの予測残差Ｄif[j][i]を求め（Ｓ４０４）、その予測残差電力Ｐを算出する（Ｓ４０５）。
【００１３】
一方、予測ベクトルＶ＿ｐと探索ベクトルＶとの差分である予測残差ベクトルΔＶのコストＲ（ΔＶ）をテーブル参照により算出する（Ｓ４０６）。その後、予測残差電力ＰとコストＲ（ΔＶ）とから探索ベクトルＶに関するcostを“cost＝Ｐ＋λ・Ｒ（ΔＶ）”として求め（Ｓ４０７）、cost＿min と比較する（Ｓ４０８）。求めたcostがcost＿min より小さければcost＿min の値をcostで更新し、予測残差Ｄif[j][i]をＤif＿min[j][i] に保存し、予測残差ベクトルΔＶをΔＶ＿min に保存する（Ｓ４０９）。
【００１４】
以上の処理が終わったら、全探索点の処理が終了したかを判定し（Ｓ４１０）、終わっていなければ次の探索ベクトルへと探索点を移し（Ｓ４１１）、上記の処理を繰り返す。全探索点が終わった時点で、ΔＶ＿min に格納されたベクトルが求める予測残差ベクトル、Ｄif＿min[j][i] に格納された値が予測残差、cost＿min に格納された値がコストとなる。
【００１５】
図１１に、図９および図１０の処理を実現するための装置構成を示す。
【００１６】
図９および図１０の処理を実現するための装置では、この図に示すように、入力画像保存バッファ３０１、制御部３０２、動き補償予測部３０３、コスト計算部３０４、ベクトル情報保存バッファ３０５、予測ベクトル算出部３０６、スイッチＡ３０７、スイッチＢ３０８、参照画像バッファ３０９、ＤＣＴ／量子化部３１０、逆量子化／ＩＤＣＴ部３１１、加算器３１２、復号画像保存バッファ３１３、エントロピー符号化器３１４、出力バッファ３１５、２つの減算器３１６，３１７から構成される。
【００１７】
入力画像保存バッファ３０１は、入力された映像情報を保持し、制御部３０２からＭＢ番号を受け取ると、そのＭＢ番号のＭＢ画像を出力する。出力された画像の一方は、参照画像バッファ３０９から送られる予測画像との差分を取った予測残差画像となり、スイッチＡ３０７とコスト計算部３０４に送られる。そして、出力された画像のもう一方は、逆量子化／ＩＤＣＴ部３１１から送られた残差の復号画像と加算され、復号画像となって復号画像保存バッファ３１３に格納される。
【００１８】
制御部３０２は、処理開始信号を受け取ると、最初の符号化ＭＢ番号を入力画像保存バッファ３０１と動き補償予測部３０３と参照画像バッファ３０９とに送る。以降は動き補償予測部３０３から制御信号が送られる度に、次の符号化対象ＭＢ番号を入力画像保存バッファ３０１と動き補償予測部３０３と参照画像バッファ３０９とに送る。
【００１９】
動き補償予測部３０３は、制御部３０２から最初のＭＢ番号を受け取ると、保持している最小コストcost＿min を十分大きな値で初期化する。また、スイッチＡ３０７とスイッチＢ３０８とに制御信号を送り、この２つのスイッチをＯＦＦにする。ＭＢ番号を受信すると、そのＭＢ番号のＭＢの探索ベクトルを順番に生成し、コスト計算部３０４からのコストを受信するたびに、その順番に従って探索ベクトルを減算器３１７と参照画像バッファ３０９とベクトル情報保存バッファ３０５とに出力する。その一方で、受信したコストが保持しているcost＿min よりも小さい場合には、cost＿min を受信したコストの値で更新し、その時点での動きベクトルをＶ＿min に代入して保持する。全ての探索ベクトルの生成が終了すると、その時点で保持していたＶ＿min を動きベクトルとして、減算器３１７と参照画像バッファ３０９とベクトル情報保存バッファ３０５とに送信する。その後、制御信号をスイッチＡ３０７とスイッチＢ３０８とに送り、この２つのスイッチをＯＮに切り換える。これらの処理が終了すると、終了信号を制御部３０２に送る。
【００２０】
コスト計算部３０４は、減算器３１６から送られる予測残差画像の電力Ｐを計算すると同時に、減算器３１７から送られる予測残差ベクトルΔＶの符号量Ｒ（ΔＶ）をテーブル参照により求め、
cost＝Ｐ＋λ・Ｒ
によってコストを算出し、動き補償予測部３０３に送る。
【００２１】
ベクトル情報保存バッファ３０５は、動きベクトルが送られる度にバッファに保存するとともに、符号化対象ＭＢの予測ベクトル算出に必要な隣接ＭＢの動きベクトルを予測ベクトル算出部３０６に送る。
【００２２】
予測ベクトル算出部３０６は、ベクトル情報保存バッファ３０５から送られる隣接ブロックのベクトル情報を元に予測ベクトルを算出し、減算器３１７に送る。
【００２３】
スイッチＡ３０７とスイッチＢ３０８は、動き補償予測部３０３から送られる制御信号に従ってスイッチのＯＮ／ＯＦＦを行う。
【００２４】
参照画像バッファ３０９は、参照画像を保持するとともに、動き補償予測部３０３から送られる動きベクトルと制御部３０２から送られる制御信号とを元に、対応する位置の画像を予測画像として減算器３１６に送信する。また、１フレーム分の符号化が終わると復号画像保存バッファ３１３から送られる復号画像を受信し、参照画像を更新する。
【００２５】
ＤＣＴ／量子化部３１０は、スイッチＡ３０７から送られる予測残差画像にＤＣＴと量子化を施し、エントロピー符号化器３１４と逆量子化／ＩＤＣＴ部３１１とに送る。
【００２６】
逆量子化／ＩＤＣＴ部３１１は、受け取った量子化係数に逆量子化とＩＤＣＴを施して残差の復号画像を求め、加算器３１２に送る。
【００２７】
復号画像保存バッファ３１３は、加算器３１２から送られる復号画像を保持し、１フレーム分の復号が終了したら参照画像バッファ３０９へ送信する。
【００２８】
エントロピー符号化器３１４は、ＤＣＴ／量子化部３１０から送られる量子化係数とスイッチＢ３０８から送られるコスト最小となる予測残差ベクトルとを受け取ってエントロピー符号化を施し、出力バッファ３１５に送る。
【００２９】
出力バッファ３１５は、符号化情報を保持し、適時ストリームとして送出する。
【００３０】
このような図１１に示す装置構成を用いることで、図９および図１０に示す処理を実現することができる。
【非特許文献１】Ｈ.264の予測ベクトル：大久保榮，角野眞也，菊池義浩，鈴木輝彦，「Ｈ.264／ＡＶＣ教科書」，インプレス，pp.120（2004）
【非特許文献２】Ｈ.264参照ソフトウェア：http://iphome.hhi.de/suehring/tml/download/
【発明の開示】
【発明が解決しようとする課題】
【００３１】
前述した従来技術の方法によれば、各ＭＢでは隣接ブロックから求められる予測ベクトルをもとに、コスト関数が最も小さくなる動きベクトルを順次求めることになる。
【００３２】
しかしながら、このようにして求めた動きベクトルは、右、下、左下のＭＢの動きベクトルに予測ベクトルとして影響を与えるため、１フレーム全体のコスト関数の総和を考えた場合、必ずしも最適な動きベクトルにはならないという問題がある。
【００３３】
一方、最適なベクトルの組み合わせを求めるため、１フレーム全てのＭＢの全ての探索点の組み合わせを試そうとするとＫL 通り（Ｋ：探索点数  Ｌ：フレーム内の全ＭＢ数）もあるため、総当たりで求めるのは演算量の観点から現実的ではない。
【００３４】
本発明はかかる事情に鑑みてなされたものであって、映像を領域分割し、フレーム間予測符号化に従って分割領域の動きベクトルを探索して符号化を行うときに、少ない演算量でもって、符号化効率がより高い動きベクトルを探索することを実現する新たな映像符号化技術の提供を目的とする。
【課題を解決するための手段】
【００３５】
この目的を達成するために、本発明の映像符号化装置は、映像を領域分割し、フレーム間予測符号化に従って分割領域の動きベクトルを探索して符号化を行うときに、（１）１フレームの全分割領域を符号化する符号化処理を予め定めた回数だけ反復させる制御を行う制御手段と、（２）前回の符号化処理で求めた動きベクトル情報を保持する保持手段と、（３）保持手段の保持する動きベクトル情報を用いて、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルを算出する予測残差ベクトル算出手段と、（４）初回の符号化処理では、予測残差ベクトル算出手段の算出する予測残差ベクトルの符号量を加味しないコスト関数を用いて、動きベクトルの探索に用いるコストを算出し、二回目以降の符号化処理では、その予測残差ベクトルの符号量を加味するコスト関数を用いて、動きベクトルの探索に用いるコストを算出するコスト算出手段と、（５）コスト算出手段の算出したコストを用いて、符号化対象分割領域の動きベクトルを探索する探索手段とを備えるように構成する。
【００３６】
この構成を採るときにあって、コスト算出手段は、初回の符号化処理で用いるコスト関数として、符号化対象分割領域の予測残差電力を用いるか、あるいは、符号化対象分割領域の予測残差電力と符号化対象分割領域の予測残差ベクトルの符号量との線形結合で表されるものを用いることがある。
【００３７】
また、コスト算出手段は、二回目以降の符号化処理で用いるコスト関数として、符号化対象分割領域の予測残差電力と、符号化対象分割領域の予測残差ベクトルの符号量と、符号化対象分割領域と依存関係がある全分割領域の予測残差ベクトルの符号量との線形結合で表されるものを用いることがある。
【００３８】
また、コスト算出手段は、二回目以降の符号化処理で用いるコスト関数として、符号化対象分割領域の予測残差電力と、符号化対象分割領域のオーバーヘッド符号量と、符号化対象分割領域と依存関係がある全分割領域のオーバーヘッド符号化量との線形結合で表されるものを用いることがある。
【００３９】
ここで、以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００４０】
このように構成される本発明の映像符号化装置では、１フレームの全分割領域を符号化する符号化処理を予め定めた回数だけ反復させるようにして、初回の符号化処理では、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルの符号量を加味しないコスト関数を用いて、符号化対象分割領域の動きベクトルを探索し、二回目以降の符号化処理では、前回の符号化処理で求めた動きベクトル情報を用いて、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルを算出して、その予測残差ベクトルの符号量を加味するコスト関数を用いて、符号化対象分割領域の動きベクトルを探索するように処理する。
【００４１】
このように、本発明では、１フレームの全分割領域を符号化する符号化処理を予め定めた回数だけ反復させるようにして、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルの符号量を加味するコスト関数を用いて、符号化対象分割領域の動きベクトルを探索するという構成を採る。この理由は、以下の通りである。
【００４２】
すなわち、符号化対象分割領域と依存関係がある分割領域で予測ベクトルを生成する場合、符号化対象分割領域の動きベクトルが利用される。しかしながら、従来のコスト関数は、符号化対象分割領域と依存関係がある分割領域の影響を加味していない。
【００４３】
これから、符号化対象分割領域にとってコスト関数が最小となる動きベクトルであっても、次の分割領域の予測ベクトルまで考慮に入れると、必ずしも最適な動きベクトルとは限らない。
【００４４】
そこで、本発明では、符号化対象分割領域と依存関係がある分割領域の予測残差ベクトルの符号量を加味するコスト関数を用いて、符号化対象分割領域の動きベクトルを探索することで、フレーム全体のコストの総和がより小さくなる方向に動きベクトルを修正することで、符号化効率がより高い動きベクトルを求めることを実現するのである。
【００４５】
このことを実現する一つの方法として、全ての分割領域の全ての動きベクトルの組み合わせを試すという方法を用いることが考えられる。
【００４６】
しかしながら、そのような方法を用いると、天文学的な演算量が必要となり、現実的でない。
【００４７】
例えば、３つの分割領域の演算コストで比較するならば、１つの分割領域について、１６×１６＝２５６点を探索すると仮定する場合、そのような方法を用いると、“２５６点×２５６点×２５６点＝１６７７７２１６点”を探索することになるというように、天文学的な演算量が必要となり、現実的でない。
【００４８】
これに対して、本発明では、符号化処理を例えば５回繰り返すという構成を用いることから、“（２５６点＋２５６点＋２５６点）×５回＝３８４０点”を探索することになるというように、大幅に少ない演算量でもって、周囲の分割領域の影響を考慮した最適な動きベクトルを求めることができるようになる。
【００４９】
ちなみに、従来手法では、この場合、“２５６点×３＝７６８点”を探索することになる。
【発明の効果】
【００５０】
本発明によれば、映像を領域分割し、フレーム間予測符号化に従って分割領域の動きベクトルを探索して符号化を行うときに、符号化順で後方にあたる分割領域のコストも加味したコストで動きベクトルの探索を行うため、フレーム全体のコストの総和がより小さくなる方向に動きベクトルを修正することを実現できる。
【００５１】
更に、符号化処理を反復することによって全画面の分割領域が逐次修正され、符号化効率がより高い動きベクトルを求めることが可能となる。
【発明を実施するための最良の形態】
【００５２】
以下、実施の形態に従って本発明を詳細に説明する。
【００５３】
本発明では、１フレームの全ＭＢの符号化処理を予め定めた回数だけ反復させるようにして、初回の符号化処理では、符号化対象ＭＢと依存関係がある後段のＭＢ（以下、後段ＭＢと称する）の予測残差ベクトル符号量を加味しないコスト関数を用いて動きベクトルを探索し、二回目以降の反復処理では、後段ＭＢの予測残差ベクトル符号量を加味したコスト関数を用いて動きベクトルを探索するようにすることで、１フレーム全体のコスト関数の総和を考慮した最適な動きベクトルを求めるようにする構成を採っている。
【００５４】
Ｈ.264では、図１に示す３つのＭＢ（Ｄ，Ｅ，Ｆ）が符号化対象ＭＢと依存関係がある後段ＭＢである。
【００５５】
従来のコスト関数をmode０、後段ＭＢの予測残差ベクトルを加味したコスト関数をmode１とすると、mode１のコストcost＿mode１は、図１に示す３つの後段ＭＢ（Ｄ，Ｅ，Ｆ）の予測残差ベクトル（ΔＶD ，ΔＶE ，ΔＶF ）のコストをmode０のコストcost＿mode０に加えた
cost＿mode１＝cost＿mode０＋λ・｛Ｒ（ΔＶD ) ＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
という式で表せる。
【００５６】
ここで、後段ＭＢの動きベクトルには、１フレームの全ＭＢの符号化処理を任意の回数だけ反復処理する際に、１つ前の反復処理で求めた結果を用いることとする。
【００５７】
また、cost＿mode０が符号化対象ＭＢの予測ベクトルコストＲ（ΔＶ）を使用していない場合には、上式に更にＲ（ΔＶ）を加えた
cost＿mode１＝cost＿mode０
＋λ・｛Ｒ（ΔＶ）＋Ｒ（ΔＶD ）＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
という式を用いることもできる。
【００５８】
図２に、本発明の実行するフローチャートの一例を示す。
【００５９】
本発明では、１フレーム分の符号化処理に入ると、まず、使用するコスト関数をmode０に設定し、変数ｎを０で初期化する（Ｓ１０１）。そして、以下に示す処理をＮ＿max 回繰り返す。この回数は２回以上の任意のものでよい。
【００６０】
最初の処理対象ＭＢから順に（Ｓ１０２）、全ＭＢについて以下の処理を行う。まず、符号化対象ＭＢの動きベクトルを求める（Ｓ１０３）。この処理は図１０と同じものを用い、その際のコスト関数も従来と同様のものでよい。そして、反復の最後の回でないならば（Ｓ１０４）、この動きベクトルの導出処理をフレーム内の全ＭＢについて行う（Ｓ１０３，Ｓ１０８〜Ｓ１０９）。終わったら、ｎの値に１加算する（Ｓ１１０）。ｎがＮ＿max を超えたら終了し、Ｎ＿max 以下の場合には処理を続ける（Ｓ１１１）。ｎが１のときは（Ｓ１１２）、コスト関数を後段ＭＢのベクトルコストを加算したmode１に切り換える（Ｓ１１３）。そして、再び最初のＭＢから（Ｓ１０２）、動きベクトルを求める処理（Ｓ１０３）を繰り返し、その都度ｎの値を１増やす。
【００６１】
上記の処理（Ｓ１０２〜Ｓ１１３）をＮ＿max 回繰り返した後、再度最初のＭＢから処理を行う（Ｓ１０２）。その際には、コスト関数がmode１である点を除き、図９に示した従来手法と同様の処理を行う。まず、動きベクトルを導出した後（Ｓ１０３）、反復の最後の回であることを判断することで（Ｓ１０４）、ＤＣＴ／量子化（Ｓ１０５）、エントロピー符号化処理（Ｓ１０６）、復号画像生成処理（Ｓ１０７）の処理を全ＭＢについて行い（Ｓ１０３〜Ｓ１０９）、処理を終了する。
【００６２】
図３に、本発明の実行するフローチャートの他の一例を示す。
【００６３】
このフローチャートでは、図２のフローチャートのＳ１０８の処理に相当するＳ２０８の処理で、全ＭＢについて動きベクトルを求めたことを判断すると、ｎが０であるのか否かを判断して（Ｓ２１０）、ｎが０であるときには、コスト関数を後段ＭＢのベクトルコストを加算したmode１に切り換え（Ｓ２１１）、ｎが０でないときには、この切り換えを行わないようにする。そして、ｎの値に１加算し（Ｓ２１２）、Ｎ＿max 以下の場合には処理を続ける（Ｓ２１３）、という処理を行うようにしているが、基本的な処理内容は図２のフローチャートと変わることはない。
【００６４】
図４に、図２の処理を実現する本発明を具備する映像符号化装置の一実施形態例を示す。ここで、図中の太い黒枠で示した部分が本発明の適用部分である。
【００６５】
本発明を具備する映像符号化装置は、この図に示すように、入力画像保存バッファ１０１、反復処理制御部１０２、動き補償制御部１０３、動き補償予測部１０４、広域コスト計算部１０５、符号化情報保存バッファ１０６、予測ベクトル算出部１０７、スイッチＡ１０８、スイッチＢ１０９、参照画像バッファ１１０、ＤＣＴ／量子化部１１１、逆量子化／ＩＤＣＴ部１１２、加算器１１３、復号画像保存バッファ１１４、スイッチ付きエントロピー符号化器１１５、出力バッファ１１６、２つの減算器１１７，１１８、後段ＭＢ予測残差ベクトル算出部１１９から構成される。
【００６６】
ここで、図４の動き補償予測部１０４と図１１の動き補償予測部３０３のように、図４中に示す図１１と同名のものは同等の機能を有するものである。
【００６７】
反復処理制御部１０２は、処理開始信号を受けると、スイッチ付きエントロピー符号化器１１５に処理停止信号を送るとともに、広域コスト計算部１０５に制御信号を送り、コスト関数をmode０に切り替える。その後、動き補償制御部１０３に処理開始信号を送り、符号化を開始する。また、動き補償制御部１０３から終了信号を受け取ると、まず広域コスト計算部１０５に制御信号を送り、今度はコスト関数をmode１に切り替える。その後、再度、動き補償制御部１０３に処理開始信号を送ることで１フレームにつきＮ＿max 回符号化処理を反復させる。Ｎ＿max 回の処理終了後にスイッチ付きエントロピー符号化器１１５に符号化開始を合図する制御信号を送り、処理を停止する。
【００６８】
動き補償制御部１０３は、反復処理制御部１０２から処理開始信号を受け取ると、最初の符号化ＭＢ番号を入力画像保存バッファ１０１と動き補償予測部１０４と参照画像バッファ１１０とに送る。以降は動き補償予測部１０４から制御信号が送られる度に、次の符号化対象ＭＢ番号を入力画像保存バッファ１０１と動き補償予測部１０４と参照画像バッファ１１０に送る。１フレーム分の処理が終わると、反復処理制御部１０２に終了を合図する制御信号を送る。
【００６９】
符号化情報保存バッファ１０６は、動きベクトルが送られる度に、その情報を配列に格納する。また、符号化対象ＭＢの予測ベクトル算出に必要な隣接ＭＢの動きベクトルの情報を隣接ベクトル情報として予測ベクトル算出部１０７に送る。また、符号化対象ＭＢを予測ベクトル生成に用いる後段ＭＢについて、その予測ベクトルの算出に必要な近隣ＭＢの動きベクトルの情報を周囲のベクトル情報として後段ＭＢ予測残差ベクトル算出部１１９に送信する。
【００７０】
後段ＭＢ予測残差ベクトル算出部１１９は、符号化情報保存バッファ１０６から送信される周囲のベクトル情報を元に、後段ＭＢ（図１に示すＤ〜ＦのＭＢ）の予測残差ベクトルを求め、広域コスト計算部１０５に送る。
【００７１】
広域コスト計算部１０５は、入力された予測残差画像と予測残差ベクトルを元に、コストを計算して動き補償予測部１０４に送る。コストについては、反復処理制御部１０２から送られる制御信号によってmode０とmode１の２つの関数を切り替える。
【００７２】
スイッチ付きエントロピー符号化器１１５は、反復処理制御部１０２から符号化開始信号を受信すると、ＤＣＴ／量子化部１１１から送られる量子化係数と、スイッチＢ１０９から送られるコスト最小となる予測残差ベクトルとを受け取ってエントロピー符号化を施し、出力バッファ１１６に送る。
【００７３】
このような装置構成に従って、本発明を具備する映像符号化装置は、図２に示す処理を実現することになる。
【実施例】
【００７４】
次に、本発明の実施例について説明する。
【００７５】
本実施例では、コスト関数のmode０については、予測残差画像のＳＡＤ（絶対値誤差和）で計算し、コスト関数のmode１については、予測残差画像のＳＡＤに符号化対象ＭＢおよび後段ＭＢのベクトルコストを加味した
cost＿mode１＝ＳＡＤ
＋λ・｛Ｒ（ΔＶ）＋Ｒ（ΔＶD ）＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
で計算する例を示す。
【００７６】
本実施例のフローチャートは図２に示す通りであり、この図２のフローチャートのＳ１０３で実行する動きベクトル導出処理については、図１０のフローチャートに示す通りである。
【００７７】
但し、図１０のフローチャートのＳ４０７で実行するコスト算出の処理において、初回の符号化処理では、
cost＿mode０＝ＳＡＤ
でコストを算出して動き探索を行い、二回目以降の符号化処理では、
cost＿mode１＝ＳＡＤ
＋λ・｛Ｒ（ΔＶ）＋Ｒ（ΔＶD ）＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
でコストを算出して動き探索を行うことになる。
【００７８】
図５に、この処理を実現する本発明を具備する映像符号化装置の一実施例を示す。
【００７９】
この処理を実現するための装置では、この図に示すように、入力画像保存バッファ２０１、復号画像保存バッファ２０２、ＤＣＴ／量子化部２０３、逆量子化／ＩＤＣＴ部２０４、スイッチ付きエントロピー符号化器２０５、出力バッファ２０６、参照画像バッファ２０７、動き補償予測部２０８、動き補償制御部２０９、反復処理制御部２１０、ＳＡＤ計算部２１１、ベクトルコスト計算部２１２、予測ベクトル算出部２１３、符号化情報保存バッファ２１４、後段ＭＢ予測残差ベクトル算出部２１５、スイッチＡ２１６、スイッチＢ２１７、スイッチＣ２１８、２つの加算器２１９，２２０、２つの減算器２２１、２２２から構成される。
【００８０】
ここで、図４の動き補償予測部１０４と図５の動き補償予測部２０８のように、図５中に示す図４と同名のものは同等の機能を有するものである。
【００８１】
ＳＡＤ計算部２１１は、予測残差のＳＡＤを計算して加算器２２０に出力する。
【００８２】
ベクトルコスト計算部２１２は、符号化対象ＭＢの予測残差ベクトルのコストと、符号化対象ＭＢの動きベクトルを予測ベクトルに利用する後段ＭＢの予測残差ベクトルのコストとの総和
λ・｛Ｒ（ΔＶ）＋Ｒ（ΔＶD ）＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
を計算し、スイッチＣ２１８に出力する。
【００８３】
スイッチＣ２１８は、反復処理制御部２１０から送られる制御信号に従ってＯＮ／ＯＦＦする。制御信号がmode０を示す場合はＯＦＦに、mode１を示す場合はＯＮとする。
【００８４】
加算器２２０は、ＳＡＤ計算部２１１から送られるＳＡＤとスイッチＣ２１８から送られるベクトルコストの総和とを加算し、コストとして動き補償予測部２０８へと送る。
【００８５】
この装置構成に従い、動き補償予測部２０８は、初回の符号化処理では、スイッチＣ２１８がＯＦＦすることで、
cost＿mode０＝ＳＡＤ
で算出されるコストを用いて動き探索を行い、二回目以降の符号化処理では、スイッチＣ２１８がＯＮすることで、
cost＿mode１＝ＳＡＤ
＋λ・｛Ｒ（ΔＶ）＋Ｒ（ΔＶD ）＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
で算出されるコストを用いて動き探索を行うように動作する。
【００８６】
このようにして、このような装置構成を用いることで、図２および図１０に示す処理を実現することができる。
【００８７】
最後に、本発明の有効性を検証するために行った実験結果について説明する。
【００８８】
この実験は、ＩＴＵの標準動画像（“Ｃalligraphy  Ｐractice ”）を用いて行った。画像サイズは７２０×４８０で、フレーム数は４５０で、探索はフルサーチ（探索範囲は±１６×１６）で行い、動き補償ブロックサイズは１６×１６のみとし、量子化パラメータは２４，３０，３６で固定とし、最初のフレームのみイントラ符号化し、反復回数は初回を含めて合計３回で行った。
【００８９】
図６に、従来手法と対比させた形で１フレーム当たりのコスト関数の合計値の実験結果を示し、図７に、従来手法と対比させた形でＰＳＮＲの実験結果を示す。
【００９０】
ここで、図６に示す１回目、２回目、３回目は反復回数を示すものであり、１回目は、符号化対象ブロックと依存関係があるブロックの予測残差ベクトルの符号量を加味しないコスト関数
cost＿mode０＝ＳＡＤ
を用いて動きベクトルを探索したときの実験データを示し、２回目、３回目は、その予測残差ベクトルの符号量を加味したコスト関数
cost＿mode１＝ＳＡＤ
＋λ・｛Ｒ（ΔＶ）＋Ｒ（ΔＶD ）＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
を用いて動きベクトルを探索したときの実験データを示す。
【００９１】
なお、本発明では、
cost＿mode０＝ＳＡＤ
や、
cost＿mode１＝ＳＡＤ
＋λ・｛Ｒ（ΔＶ）＋Ｒ（ΔＶD ）＋Ｒ（ΔＶE ）＋Ｒ（ΔＶF ）｝
という符号化効率を示す指標とは関係のない指標を用いて動きベクトルを探索しているが、その探索結果に基づいて求められた動きベクトルを用いる場合の符号化効率は、
ＳＡＤ＋λ・Ｒ（ΔＶ）
という計算式で求められるので、図６に示す実験データでは、この計算式に従って符号化効率を求めて従来手法と比較している。
【００９２】
また、図７中に示す本発明の実験データは、合計３回反復させたときに得られた実験データである。
【００９３】
これらの実験結果から、本発明の有効性を確認することができた。
【００９４】
なお、この実験データでは示していないが、初回の符号化処理で、符号化対象ブロックの予測残差ベクトルを考慮しないコスト関数を用いて動きベクトルを探索した方がより符号量を削減できることを確認できた。
【００９５】
すなわち、初回の符号化処理で、
cost＿mode０＝ＳＡＤ＋λ・Ｒ（ΔＶ）
というコスト関数を用いるよりも、
cost＿mode０＝ＳＡＤ
というコスト関数を用いて動きベクトルを探索した方がより符号量を削減できることを確認できた。
【図面の簡単な説明】
【００９６】
【図１】符号化対象マクロブロックと依存関係がある後段マクロブロックの説明図である。
【図２】本発明の実行するフローチャートの一例である。
【図３】本発明の実行するフローチャートの他の一例である。
【図４】本発明の映像符号化装置の一実施形態例である。
【図５】本発明の映像符号化装置の一実施例である。
【図６】本発明の有効性を検証するために行った実験結果の説明図である。
【図７】本発明の有効性を検証するために行った実験結果の説明図である。
【図８】予測ベクトルの生成に用いられるマクロブロックの説明図である。
【図９】従来の符号化処理の実行するフローチャートである。
【図１０】従来の動きベクトル導出処理のフローチャートである。
【図１１】従来の映像符号化装置の装置構成図である。
【符号の説明】
【００９７】
１０１  入力画像保存バッファ
１０２  反復処理制御部
１０３  動き補償制御部
１０４  動き補償予測部
１０５  広域コスト計算部
１０６  符号化情報保存バッファ
１０７  予測ベクトル算出部
１０８  スイッチＡ
１０９  スイッチＢ
１１０  参照画像バッファ
１１１  ＤＣＴ／量子化部
１１２  逆量子化／ＩＤＣＴ部
１１３  加算器
１１４  復号画像保存バッファ
１１５  スイッチ付きエントロピー符号化器
１１６  出力バッファ
１１７  減算器
１１８  減算器
１１９  後段ＭＢ予測残差ベクトル算出部
【図１】
2008104124.tif 000003
【図２】
2008104124.tif 000004
【図３】
2008104124.tif 000005
【図４】
2008104124.tif 000006
【図５】
2008104124.tif 000007
【図６】
2008104124.tif 000008
【図７】
2008104124.tif 000009
【図８】
2008104124.tif 000010
【図９】
2008104124.tif 000011
【図１０】
2008104124.tif 000012
【図１１】
2008104124.tif 000013