(57)【特許請求の範囲】
【請求項１】
動き補償予測を用いて動画像を符号化するビデオ符号化装置において、
符号化の対象となっている部分の動きベクトルの候補を選択する動きベクトル候補選択手段と、
該候補の動きベクトルの中から、最適の予測動きベクトルを決定する最適予測動きベクトル決定手段と、
既に求められた前フレームの画像の全てのマクロブロックの動きベクトルを基に、該動きベクトルのＸ方向、Ｙ方向のばらつき度合いを求めるばらつき度合い演算手段と、
該Ｘ方向、Ｙ方向のばらつき度合いの差が予め定められた閾値以下であれば動きベクトルの探索形状を正方形またはそれに近似した形状とし、前記差が前記閾値より大きければ該動きベクトルの探索形状をばらつき度合いの大きい方向に長辺を有する矩形またはそれに近似した形状とする、動きベクトルの探索形状を求める手段と、
前記最適予測動きベクトル決定手段で決定された予測動きベクトルを探索の起点として、前記探索形状内の動きベクトルを探索し、該探索した動きベクトルの中の最適のものを動きベクトルと決定する手段とを具備したことを特徴とするビデオ符号化装置。
【請求項２】
請求項１の各手段により最適の動きベクトルを決定する第１の手段と、他の最適の動きベクトルを決定する第２の手段とを具備し、該第１および第２の手段を併用するようにしたことを特徴とするビデオ符号化装置。
【請求項３】
請求項２に記載のビデオ符号化装置において、
前記第１の手段は、さらに、前記最適の動ベクトルを評価する動ベクトル評価手段を具備し、
該動ベクトル評価手段により一定の評価を得られない時には、前記第２の手段で最適の動ベクトルを求めるようにしたことを特徴とするビデオ符号化装置。
【請求項４】
請求項１ないし３のいずれかに記載のビデオ符号化装置において、
前記動きベクトル候補選択手段は、指示された許容演算量に基づいて、符号化の対象となっている部分の近隣部分の動きベクトルの中から、動きベクトルの候補を決定することを特徴とするビデオ符号化装置。
【請求項５】
請求項１ないし４のいずれかに記載のビデオ符号化装置において、
前記最適予測動きベクトル決定手段は、前記した各候補の動きベクトルを使用した時の予測誤差の最小となる動きベクトルを最適予測動きベクトルと決定するようにしたことを特徴とするビデオ符号化装置。
【請求項６】
請求項１ないし５のいずれかに記載のビデオ符号化装置において、
前記動きベクトルの探索形状の面積を、指示された許容演算量に基づいて決定するようにしたことを特徴とするビデオ符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はビデオ符号化装置に関し、特に動き補償予測を高能率化したビデオ符号化装置に関する。
【０００２】
【従来の技術】
従来から、動画像を符号化するビデオ符号化装置は広く知られている。図１１は、従来のビデオ符号化装置の一例を示すブロック図である。図示されているように、該ビデオ符号化装置は、原画像データから予測画像データを引き算して予測誤差信号を生成する減算器５１と、該減算器５１から出力された予測誤差信号を直交変換、例えばＤＣＴ変換する直交変換部５２と、直交変換されたデータを量子化する量子化部５３と、該量子化されたデータを可変長符号化する可変長符号化部５４を備えている。また、さらに、前記量子化部５３で量子化されたデータを逆量子化する逆量子化部５５と、逆直交変換部５６と、加算器５７と、再生画を一時的に記憶するフレームメモリ５８と、前記原画像データと前記フレームメモリ５８からの再生画データとで動き補償を行う動き補償予測部５９と、前記各部の動作を制御する制御部６０とを備えている。
【０００３】
このビデオ符号化装置では、前記動き補償予測部５９における最適動きベクトルの探索が、符号化効率に大きな影響を与える。従来は、この最適動きベクトルを探索する方法として、符号化対象のマクロブロックに対して、候補として上げられた動きベクトルの周辺を網羅的に探索する全探索方法が一般的に用いられている。この全探索方法は最適動きベクトルを取得する精度は高いが、多大な演算量を必要とし、これを実現するための回路規模が大きくなるという問題を有している。
【０００４】
そこで、他の方法として、前記符号化対象のマクロブロックの直前に符号化されたマクロブロックにて選ばれた動きベクトルを初期値として、それに近いベクトルのみを探索候補として探索する方法が提案されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、前記の従来方法では、符号化対象のマクロブロックとその直前に符号化されたマクロブロックとに空間的に断絶がある場合、例えば該二つのマクロブロックが別物体を表す画像部分である場合には、両マクロブロックの最適動きベクトルには相関性がないため、当該符号化対象のマクロブロックに対する最適動きベクトルの検出精度が大きく低下して、符号化効率に劣化が生じるという問題があった。また、この方法の探索範囲は、前記全探索方法に比べて大幅に狭められるが、探索領域形状は、該全探索方法と同様に一般的には正方形であり、最適動きベクトルの探索に無駄な演算が行われることになるという問題があった。
【０００６】
本発明の目的は、前記した従来技術の問題点を除去し、少ない演算量で、精度良く最適の動きベクトルを取得できるビデオ符号化装置を提供することにある。
【０００７】
【課題を解決するための手段】
前記目的を達成するために、本発明は、動き補償予測を用いて動画像を符号化するビデオ符号化装置において、
符号化の対象となっている部分の動きベクトルの候補を選択する動きベクトル候補選択手段と、
該候補の動きベクトルの中から、最適の予測動きベクトルを決定する最適予測動きベクトル決定手段と、
既に求められた前フレームの画像の全てのマクロブロックの動きベクトルを基に、該動きベクトルのＸ方向、Ｙ方向のばらつき度合いを求めるばらつき度合い演算手段と、
該Ｘ方向、Ｙ方向のばらつき度合いの差が予め定められた閾値以下であれば動きベクトルの探索形状を正方形またはそれに近似した形状とし、前記差が前記閾値より大きければ該動きベクトルの探索形状をばらつき度合いの大きい方向に長辺を有する矩形またはそれに近似した形状とする、動きベクトルの探索形状を求める手段と、
前記最適予測動きベクトル決定手段で決定された予測動きベクトルを探索の起点として、前記探索形状内の動きベクトルを探索し、該探索した動きベクトルの中の最適のものを動きベクトルと決定する手段とを具備した点に特徴がある。
【０００８】
この特徴によれば、符号化の対象となっている部分の動きベクトルの候補の中から最適の予測動きベクトルを決定し、さらに該予測動きベクトルを探索の起点として、既に求められた動きベクトルのばらつき度合いに応じて決められた探索形状内を探索することにより、最適動きベクトルを決定するようにしているので、符号化の対象となっている部分の左隣りの動きベクトルを最適動きベクトルとする従来方式に比べて、大した演算量を増すことなく、大幅に信頼性を高めることができる。
【０００９】
【発明の実施の形態】
以下に、図面を参照して、本発明を詳細に説明する。図２は、本発明の要部の概略を示すブロック図であり、図１１の動き補償予測部５９中の最適動きベクトル探索部と制御部６０に相当する構成を示している。最適動きベクトル探索部１は、本発明および従来の最適動きベクトル探索部２、３と、制御部５からの指令により該本発明および従来の最適動きベクトル探索部２、３の一方を選択する選択部４から構成されている。ここに、該従来の最適動きベクトル探索部３は、例えば前記全探索で最適動きベクトルを求める方式であるとする。前記選択部４は制御部５からの指令が１対１であれば、１個のマクロブロック毎に交互に切り替えられる。また、ｎ対１（ｎは正の整数）であれば、ｎ個のマクロブロックに対して本発明の最適動きベクトル探索部２が選択され、１個のマクロブロックに対して従来の最適動きベクトル探索部３が選択される。
【００１０】
図１は前記本発明の最適動きベクトル探索部２の一実施形態の構成を示すブロック図である。図において、２１は制御部５からのパラメータ値Ｐrmに基づいて動きベクトル候補を選択する動ベクトル候補選択部、２２は該動ベクトル候補選択部２１で選ばれた動ベクトル候補の中から最適予測動ベクトルを決定する予測動ベクトル決定部、２３は統計量測定部２４からの動きベクトルの分散値ＶarＸ，ＶarＹを基に探索形状を決定し、探索範囲決定部２５からの探索範囲を基に該探索形状の広さを決定し、該探索形状と広さを有する探索範囲内の全ての動きベクトルを、前記予測動ベクトル決定部２２から取得した最適予測動ベクトルを探索の起点として調査することにより、最適動きベクトルを求める予測動ベクトル周辺探索部である。
【００１１】
次に、前記動ベクトル候補選択部２１、予測動ベクトル決定部２２、統計量測定部２４、探索範囲決定部２５、および予測動ベクトル周辺探索部２３の動作を、図３〜図８を参照して、順次説明する。
【００１２】
まず、動ベクトル候補選択部２１の動作を、図３および図４を参照して説明する。図３はフローチャート、図４は符号化対象のマクロブロックＭＢ（以下、当該ＭＢと略す）とその周辺のマクロブロックの説明図である。
【００１３】
制御部５から許容演算量パラメ−タ値Ｐrmが動ベクトル候補選択部２１に出力される。ステップＳ１では、該許容演算量パラメ−タ値Ｐrm＝１であるか否かの判断がなされ、この判断が肯定の時にはステップＳ２に進んで、参照動きベクトルＭＶ（以下、参照ＭＶと略す）として、前記当該ＭＢの左隣りのマクロブロックＭＢの動きベクトルＭＶ（＝ＭＶA ）が１つだけ選択される。ステップＳ３で許容演算量パラメ−タ値Ｐrm＝２と判断された時には、ステップＳ４に進んで、参照ＭＶとして、当該ＭＢの左隣りと上にあるマクロブロックＭＢの動きベクトルＭＶA 、ＭＶc 、および（ＭＶA ＋ＭＶc ）／２が選択される。また、ステップＳ５で許容演算量パラメ−タ値Ｐrm＝３と判断された時には、ステップＳ６に進んで、参照ＭＶとして、当該ＭＢの左隣り、上、および右上（または左上）のマクロブロックＭＢの動きベクトルＭＶA 、ＭＶc 、ＭＶD （またはＭＶB ）および（ＭＶA ＋ＭＶc ＋ＭＶD またはＭＶB ）／３が選択される。また、ステップＳ７で許容演算量パラメ−タ値Ｐrm＝４と判断された時には、ステップＳ８に進んで、参照ＭＶとして、図４に示されているマクロブロックの動きベクトルＭＶA 、ＭＶc 、ＭＶF 、ＭＶH および（ＭＶA ＋ＭＶc ＋ＭＶF ＋ＭＶH ）／４が選択される。さらに、ステップＳ９で許容演算量パラメ−タ値Ｐrm＝５と判断された時には、ステップＳ１０に進んで、参照ＭＶとして、図４に示されているマクロブロックの動きベクトルＭＶA 、ＭＶB 、ＭＶc 、ＭＶD 、ＭＶF 、ＭＶG 、ＭＶH 、ＭＶI 、およびこれらの平均ベクトルが選択される。
【００１４】
次に、前記予測動ベクトル決定部２２の動作を図５のフローチャートを参照して説明する。ステップＳ１１では、ある置数ｉを０とし、予測誤差閾値Ｅrr-th を設定する。該予測誤差閾値Ｅrr-th としては、十分に大きな予測誤差値とするのが良い。ステップＳ１２では該置数ｉが１だけインクリメントされ、ステップＳ１３に進む。ステップＳ１３では、該置数ｉ≦ｉmax の条件が成立するか否かの判断がなされる。ここに、ｉmax は前記動ベクトル候補選択部２１で求めた参照ＭＶの数である。
【００１５】
ステップＳ１３の判断が肯定になると、ステップＳ１４に進んで、１個目の動きベクトルＭＶ（１）を使用した時の予測誤差Ｅrr（１）が計測される。次いでステップＳ１５に進み、該予測誤差Ｅrr（１）＜Ｅrr-th が成立するか否かの判断がなされる。一般的には、この判断は肯定になってステップＳ１６に進む。このステップＳ１６では、最適ＭＶ＝ＭＶ（１）と置かれ、また前記予測誤差閾値Ｅrr-th は前記予測誤差Ｅrr（１）に更新される。そして、前記ステップＳ１２に戻って、前記ｉは１インクリメントされて、ｉ＝２となる。そして、ステップＳ１３では、ｉが前記参照ＭＶの数以上になったか否かが判断される。この判断が否定の時にはステップＳ１４に進んで、前記と同じ動作が繰り返される。なお、ステップＳ１５の判断が否定になった時には、ステップＳ１２に戻る。
【００１６】
以上の動作が、ステップＳ１３の判断が否定になるまで繰り返され、該判断が肯定になると、ステップＳ１７に進んで、最適予測動きベクトルＭＶが決定される。ここに、該最適予測動きベクトルＭＶとしては、ステップＳ１６で求められたＭＶ(i) が使用されることになる。該最適予測動きベクトルＭＶは、前記予測動ベクトル周辺探索部２３に送られる。
【００１７】
次に、前記統計量測定部２４の動作を、図６のフローチャートを参照して説明する。ステップＳ２１では、画像フレームのマクロブロックの番号を表すｉを０と置き、Ｘ、Ｙ方向の動きベクトルＭＶX 、ＭＶY が０と置かれる。また、後述する値であるＭＶVXとＭＶVYが共に０と置かれる。次に、ステップＳ２２に進んで、ｉが１だけインクリメントされる。ステップＳ２３では、ｉ≦ｉmax が成立するか否かの判断がなされる。ここに、ｉmax は画像１フレーム中のマクロブロックＭＢの総数である。この判断が肯定の時にはステップＳ２４に進んで、第ｉ番目のマクロブロックのＸ、Ｙ方向の動きベクトルＭＶX 、ＭＶY が累算される。また、ＭＶVXとＭＶVYが、それぞれ、式ＭＶVX＋ＭＶx(i)２  と式ＭＶVY＋ＭＶY(i)２  により求められる。前記の処理が繰り返し行われ、ステップＳ２３の判断が否定になるとステップＳ２５に進んで、Ｘ方向の平均動きベクトルＡveＸ、Ｙ方向の平均動きベクトルＡveＹ、Ｘ方向の動きベクトルの分散ＶarＸ、およびＹ方向の動きベクトルの分散ＶarＹが図示の式により求められる。
【００１８】
これらのＸ、Ｙ方向の動きベクトルの分散ＶarＸ、ＶarＹは、前記予測動ベクトル周辺探索部２３に送られる。
【００１９】
次に、前記探索範囲決定部２５の動作を、図７のフローチャートを参照して説明する。該探索範囲決定部２５には、制御部５から許容演算量パラメ−タ値Ｐrmが出力される。そうすると、探索範囲決定部２５では、ステップＳ３１において、該許容演算量パラメ−タ値Ｐrm＝１であるか否かの判断がなされる。この判断が肯定の時にはステップＳ３２に進んで、探索範囲となる画素数ＰN ＝０とされる。ステップＳ３３で許容演算量パラメ−タ値Ｐrm＝２であると判断された時には、探索範囲となる画素数ＰN ＝１〜１０とされる。以下同様に、許容演算量パラメ−タ値Ｐrm＝３、４、５であれば、該探索範囲となる画素数ＰN ＝１１〜３０、３１〜７０、７１以上とされる。これらの探索範囲となる画素数ＰN は前記予測動ベクトル周辺探索部２３に送られる。
【００２０】
次に、該予測動ベクトル周辺探索部２３の動作を図８を参照して説明する。ステップＳ５１では、前記１フレームのＸ、Ｙ方向の動きベクトルの分散ＶarＸ、ＶarＹの差の絶対値がある定められた閾値Ｔh 以下であるか否かが判断される。この判断が肯定の時には、Ｘ、Ｙ方向の動きベクトルのばらつきがＸ、Ｙ方向にほぼ同じと判断されるので、ステップＳ５２に進んで、周辺探索形状は正方形と決定される。なお、正方形に限定されず菱形、多角形、円形等の形状であっても良い。
【００２１】
また、ステップＳ５１の判断が否定となると、ステップＳ５３に進む。該ステップＳ５３では、Ｘ方向の動きベクトルの分散ＶarＸとＹ方向の動きベクトルの分散ＶarＹとの差が閾値Ｔh より大きいか否かの判断がなされ、この判断が肯定であるとステップＳ５４に進んで周辺探索形状は横長の矩形と決定される。これは、動きベクトルの横方向のばらつきが大きいと考えられるからである。一方、前記ステップＳ５３の判断が否定となると、ステップＳ５５に進んで、周辺探索形状は縦長の矩形と決定される。これは、動きベクトルの縦方向のばらつきが大きいと考えられるからである。なお、矩形に限定されず、横長、あるいは縦長の楕円形であってもよい。
【００２２】
ステップＳ５６では、前記予測動ベクトル決定部２２から得られた最適予測ＭＶを起点として、前記探索範囲決定部２５からの画素数ＰN により、探索の広さを決定する。例えば、周辺探索形状が横長の矩形の場合に該画素数ＰN が大きいと該矩形の面積が大きくなる。他の周辺探索形状においても同様である。
【００２３】
ステップＳ５７では、該周辺探索形状内の全ての動きベクトルＭＶを調査する。そして、ステップＳ５８では、この全ての動きベクトルＭＶの中から、最適ＭＶを一つ求めて出力する。
【００２４】
以上のように、本実施形態によれば、符号化対象となっている当該マクロブロックの左隣りのマクロブロックの動きベクトルだけでなく、その周辺のマクロブロックの動きベクトル、および該動きベクトルの平均ベクトルを参照ＭＶとし、それらの中から予測誤差の最小のものを最適予測ＭＶとして選び、また動きベクトルの分散から探索形状を決定し、許容演算量パラメ−タ値の大きさに従って探索面積を決定するようにしているので、少ない演算量にもかかわらず、精度の良い動きベクトルを検出することができるようになる。
【００２５】
次に、本発明の第２実施形態について、図９のブロック図を参照して説明する。この実施形態は、前記の実施形態に比べて、図１に動ベクトル評価部２６を付加した点に特徴がある。該動ベクトル評価部２６は、前記予測動ベクトル周辺探索部２３で求められた最適ＭＶを用いて、フレームまたはフィールド間差分信号の２乗和を計算により求め、これが所定の基準値より大きいか小さいかの判断をする。そして、該フレームまたはフィールド間差分信号の２乗和が所定の基準値より大きい場合、すなわち前記最適ＭＶの精度が悪い場合には、制御部５は前記選択部４を従来装置側に切り替え、再度従来方式で最適ＭＶを求めるようにする。一方、該フレームまたはフィールド間差分信号の２乗和が所定の基準値以下の場合には、前記最適ＭＶをそのまま出力する。
【００２６】
したがって、本実施形態によれば、精度の悪い動きベクトルは排除されることになり、信頼性を向上することができる。
【００２７】
【発明の効果】
以上の説明から明らかなように、本発明によれば、符号化対象となる部分の候補動きベクトルの中から最適の予測動きベクトルを求め、次いで動きベクトルの探索範囲を既に求められた動きベクトルのばらつきを基に求め、該最適予測動きベクトルを起点として該探索範囲を探索して最適の動きベクトルを求めるようにしているから、少い演算量で、最適の動きベクトルを精度良く取得できるようになる。
【００２８】
ここに、本発明者が、図２の選択部４の切替え頻度を１対１にして最適の動きベクトルを求めた実験結果を、図１０(a) および(b) に示す。これらの図の横軸は探索した画素数を示し、縦軸は最適の動きベクトルの取得率（％）を示す。また、(a) 図は画像として、Mobile & Calendar を用い、(b) 図は、Flower Garden を用いた。また、これらの図中のＡ〜Ｅは、(c) 図の当該マクロブロックの近隣のマクロブロックの動きベクトルを示している。また、図中のRectangle Frame は探索形状を矩形とした場合、Square Frameは探索形状を正方形とした場合を示している。
【００２９】
図１０(a) 図からは、探索形状が矩形の時には、探索画素数が２５画素程度で９０％以上の確率で最適動きベクトルを取得でき、(b) 図からは５０画素程度で８５％以上の確率で最適動きベクトルを取得できることが分かる。
【図面の簡単な説明】
【図１】  本発明の一実施形態のブロック図である。
【図２】  本発明装置と従来装置とを切替えて使用する場合の装置のブロック図である。
【図３】  図１の動ベクトル候補選択部の動作を説明するフローチャートである。
【図４】  当該ＭＢと、図３中のＭＶのＭＢとの関係を示す図である。
【図５】  図１の予測動ベクトル決定部の動作を説明するフローチャートである。
【図６】  図１の統計量測定部の動作を説明するフローチャートである。
【図７】  図１の探索範囲決定部の動作を説明するフローチャートである。
【図８】  図１の予測動ベクトル周辺探索部の動作を説明するフローチャートである。
【図９】  本発明の第２実施形態のブロック図である。
【図１０】  本発明の実験結果を示すグラフである。
【図１１】  従来の符号化装置の構成を示すブロック図である。
【符号の説明】
１…最適動きベクトル探索部、２…本発明の最適動きベクトル探索部、３…従来の最適動きベクトル探索部、４…選択部、５…制御部、２１…動ベクトル候補選択部、２２…予測動ベクトル決定部、２３…予測動ベクトル周辺探索部、２４…統計量測定部、２５…探索範囲決定部、２６…動ベクトル評価部。
【図１】
0003646845.tif 000002
【図２】
0003646845.tif 000003
【図３】
0003646845.tif 000004
【図４】
0003646845.tif 000005
【図５】
0003646845.tif 000006
【図６】
0003646845.tif 000007
【図９】
0003646845.tif 000008
【図７】
0003646845.tif 000009
【図８】
0003646845.tif 000010
【図１０】
0003646845.tif 000011
【図１１】
0003646845.tif 000012