(57)【要約】【課題】予測符号を用いて動画像データを符号化する際の符号化効率を向上させる。【解決手段】可変長復号部７１ａおよび７１ｂは、それぞれ互いに異なる方法で符号化データを復号する。第１の判定部６１は、複数の近傍ブロックの動きベクトルの乱雑さに基づいて、予測ベクトルの精度を推定する。第１の選択部６４は、第１の判定部６１による推定結果に従って、可変長復号部７１ａまたは７１ｂによる復号結果を選択する。【選択図】図１０
2006271001.tif 000002
【特許請求の範囲】
【請求項１】
動画像データの各フレームを分割することによって得られる各ブロックの動きベクトルを符号化することによって得られる符号化結果を復号する動きベクトル復号装置であって、
対象ブロックの近傍の複数のブロックの動きベクトルに基づいてその対象ブロックの動きベクトルを予測する予測手段と、
上記複数の動きベクトルの乱雑さに基づいて上記予測手段による予測の精度を判定する判定手段と、
その判定手段による判定結果に基づいて決まる復号方法で上記対象ブロックの動きベクトルを上記予測手段による予測結果を利用して復号する復号手段と、
を有する動きベクトル復号装置。
【請求項２】
動画像データの各フレームを分割することによって得られる各ブロックの動きベクトルを符号化するために、対象ブロックの近傍の複数のブロックの動きベクトルに基づいてその対象ブロックの動きベクトルを予測し、上記対象ブロックの近傍領域内で先に符号化されている複数の動きベクトルの乱雑さに基づいて上記予測の精度を判定し、その予測精度の判定結果に基づいて決まる符号化方法で上記対象ブロックの動きベクトルを上記予測結果を利用して符号化する動きベクトル符号化装置、の出力を復号する動きベクトル復号装置であって、
上記動きベクトル符号化装置において上記判定に使用した複数の動きベクトルに基づいてその対象ブロックの動きベクトルを予測する予測手段と、
上記複数の動きベクトルの乱雑さに基づいて上記予測手段による予測の精度を判定する判定手段と、
その判定手段による判定結果に基づいて決まる復号方法で上記対象ブロックの動きベクトルを上記予測手段による予測結果を利用して復号する復号手段と、
を有する動きベクトル復号装置。
【請求項３】
動画像データの各フレームを分割することによって得られる各ブロックの動きベクトルを符号化することによって得られる符号化結果を復号する動きベクトル復号方法であって、
対象ブロックの近傍の複数のブロックの動きベクトルに基づいてその対象ブロックの動きベクトルを予測するステップと、
上記複数の動きベクトルの乱雑さに基づいて上記予測の精度を判定するステップと、
その予測精度の判定結果に基づいて決まる復号方法で上記対象ブロックの動きベクトルを上記予測結果を利用して復号するステップと、
を有する動きベクトル復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の動きベクトルデータの符号化データを復号する装置および方法に係わる。
【背景技術】
【０００２】
動画像データは、一般に、データ量が大きいので、送信装置から受信装置へ伝送される際、あるいは記憶装置に格納される際などには、高能率符号化が行われる。ここで、「高能率符号化」とは、あるデータ列を他のデータ列に変換する符号化処理であって、そのデータ量を圧縮する処理をいう。
【０００３】
動画像データの高能率符号化方法としては、フレーム間予測符号化方法が知られている。この符号化方法では、動画像データが時間方向に相関性が高いことを利用する。すなわち、動画像データは、一般に、あるタイミングのフレームデータと次のタイミングのフレームデータとの類似度が高いことが多いので、フレーム間予測符号化方法では、その性質を使用する。例えば、フレーム間予測符号化方法を用いたデータ伝送システムでは、送信装置において、前フレームの画像から対象フレームの画像への「動き」を表す動きベクトルデータ、及びその前フレームの画像からその動きベクトルデータを用いて作成した対象フレームの予測画像と対象フレームの実際の画像との差分データを生成し、それら動きベクトルデータおよび差分データを受信装置に送出する。一方、受信装置は、受信した動きベクトルデータおよび差分データから対象フレームの画像を再生する。
【０００４】
上記符号化において、対象フレームとその前のフレームとの相関性が高いと、動きベクトルデータおよび差分データの情報量は小さくなる。
上述のフレーム間予測符号化方法は、ITU-T H.261 、ITU-T H.263 、ISO/IEC MPEG-1、ISO/IEC MPEG-2などの標準方式において採用されている。また、これらの標準方式では、動きベクトルデータを符号化する方法として、予測符号が用いられている。以下、一例としてITU-T H.263 を採り上げて、動きベクトルデータを符号化する方法を説明する。
【０００５】
予測符号化方法では、図１２に示すように、各フレームの画像が複数のブロック（Ｂ11、Ｂ12、Ｂ13、Ｂ14、．．．）に分割され、ブロック毎に画像データが符号化される。すなわち、ブロック毎に、その対象ブロック内の画像と類似している画像を前フレームの画像の中から抽出し、その抽出した画像と対象ブロック内の画像との差分を求める。このことにより、冗長性が取り除かれた差分画像データが得られる。また、このとき、対象ブロックの動きベクトルデータも求めておく。そして、ブロック毎にこれらの差分画像データおよび動きベクトルデータをそれぞれ符号化することにより、伝送すべきデータを圧縮する。
【０００６】
あるブロック（符号化対象ブロック）の動きベクトルデータを符号化する場合には、まず、その符号化対象ブロックの近傍のブロックの動きベクトルに基づいて、その符号化対象ブロックの動きベクトルの予測値（以下、予測ベクトル）を求める。ここで、この予測に利用される近傍ブロックは、先に符号化処理がされているものが選ばれる。一般に、符号化処理の順番は、図１２に示すように、左上隅のブロックから開始されて、各ラインごとに１ブロックずつ行われる。この場合、あるブロックを符号化する際には、そのブロックの上のラインに位置するブロック、およびそのブロックの左側に位置するブロックについては既に符号化処理が終了していることになる。したがって、例えば、ブロックＢ22の動きベクトルを符号化する際には、ブロックＢ11、Ｂ12、Ｂ13、Ｂ14、．．．およびブロックＢ21の動きベクトルを利用することができる。
【０００７】
ITU-T H.263 では、符号化対象ブロックの動きベクトルを予測する際には、その符号化対象ブロックの上のブロック、右上のブロック、および左のブロックが利用される。即ち、例えば、図１２に示すブロックＢ22の動きベクトルを符号化する際には、ブロックＢ12、Ｂ13、およびＢ21の動きベクトルが利用される。
【０００８】
符号化対象ブロックの予測ベクトルを得ると、次に、その符号化対象ブロックの実際の動きベクトルとその予測ベクトルとの差分ベクトル（あるいは、予測誤差ベクトル）を求める。そして、この差分ベクトルのＸ成分およびＹ成分をそれぞれ可変長符号を用いて符号化する。可変長符号は、たとえば、ハフマン符号である。
【０００９】
図１３を参照しながら具体例を説明する。図１３では、符号化対象ブロックの実際の動きベクトルを（ＭＶx ，ＭＶy ）、符号化対象ブロックの予測ベクトルを求めるために利用する近傍ブロックＢ1 〜Ｂ3 の各動きベクトルを、それぞれ（ＰＭＶ1x，ＰＭＶ1y）、（ＰＭＶ2x，ＰＭＶ2y）、（ＰＭＶ3x，ＰＭＶ3y）としている。ここで、符号化対象ブロックの予測ベクトルのＸ成分は、ＰＭＶ1x、ＰＭＶ2x、ＰＭＶ3xのメディアン値として得られ、また、そのＹ成分は、ＰＭＶ1y、ＰＭＶ2y、ＰＭＶ3yのメディアン値として得られる。そして、下式により各差分ベクトルデータ（差分ベクトルのＸ成分およびＹ成分）を求める。
【００１０】
差分ベクトルデータ(x) ＝ MVx - Median(PMV1x, PMV2x, PMV3x)
差分ベクトルデータ(y) ＝ MVy - Median(PMV1y, PMV2y, PMV3y)
各差分ベクトルデータは、図１４に示す可変長符号を用いて符号化される。図１４に示す符号は、ITU-T H.263 において使用されている符号である。
【００１１】
この符号では、発生頻度が高い差分ベクトルデータに対してデータ長の短いデータ列が割り当てられ、一方、発生頻度が低い差分ベクトルデータに対してデータ長の短いデータ列が割り当てられている。差分ベクトルデータの発生頻度は、予め統計的に求められている。したがって、このような符号を使用することにより、データ長が短い動きベクトルデータが伝送される確率が高くなるので、各ブロックの動きベクトルデータの平均情報量が小さくなる。
【００１２】
このように、ITU-T H.263 等の符号化方法を利用した伝送システムでは、動きベクトルに係わるデータが予測ベクトルを用いて圧縮され、伝送すべき情報量が小さくなるので、伝送効率が高い。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
既存の予測符号化方法で広く使用されている符号では、図１４に示すように、小さい差分ベクトルデータに対してデータ長の短いデータ列が割り当てられている。ここで、画像の変化が少ないシーン、或いは画像が均一に変化するようなシーンでは、予測ベクトルの予測精度が高くなり、差分ベクトルデータが小さい値になる。したがって、これらのシーンでは、符号化された動きベクトルデータの情報量は小さくなる。
【００１４】
図１５を参照しながら具体例を示す。図１５(a) は、画像の変化が少ないシーンの動きベクトルの例である。ここでは、符号化対象ブロックの実際の動きベクトルが（１，０）、符号化対象ブロックの近傍のブロックＢ1 〜Ｂ3 の動きベクトルがそれぞれ（０，０）、（０，０）、（１，０）であるものとしている。この場合、符号化対象ブロックの予測ベクトルのＸ成分およびＹ成分は、それぞれ下式により得られる。
【００１５】
予測ベクトル(x) ＝  Ｍｅｄｉａｎ（０，０，１）＝０
予測ベクトル(y) ＝  Ｍｅｄｉａｎ（０，０，０）＝０
したがって、「予測ベクトル＝（０，０）」が得られる。
【００１６】
また、符号化対象ブロックの差分ベクトルは下式により得られる。
差分ベクトル＝符号化対象ブロックの実際の動きベクトル−予測ベクトル
＝（１，０）−（０，０）
＝（１，０）
ここで、「差分ベクトルデータ（差分ベクトルの成分）＝１」のときは、図１４に示す符号を使用する場合、符号化動きベクトルデータとして「００１０」が得られる。また、「差分ベクトルデータ＝０」のときは、符号化動きベクトルデータとして「１」が得られる。したがって、このブロックについて伝送すべき符号化動きベクトルデータは、５ビットである。
【００１７】
このように、画像の変化が少ないシーンでは、差分ベクトルデータが小さくなり、伝送すべき符号化動きベクトルデータの情報量が小さくなる。
図１５(b) は、画像の変化がほぼ均一なシーンの動きベクトルの例である。ここでは、符号化対象ブロックの実際の動きベクトルが（１０，−９）であり、また、符号化対象ブロックの近傍のブロックＢ1 〜Ｂ3 の動きベクトルが（１０，−１０）、（９，−９）、（９，−９）であるものとしている。この場合、「差分ベクトル＝（１，０）」が得られる。したがって、画像の変化が均一なシーンにおいても、差分ベクトルデータが小さくなり、伝送すべき符号化動きベクトルデータの情報量が小さくなる。
【００１８】
ところが、画像の動きが乱雑なシーンでは、予測ベクトルの予測精度が低くなり、差分ベクトルデータが大きくなる。このため、このようなシーンでは、伝送すべき符号化動きベクトルデータの情報量が大きくなってしまう。図１６を参照しながら具体例を示す。
【００１９】
図１６では、符号化対象ブロックの実際の動きベクトルが（４，２）、符号化対象ブロックの近傍のブロックＢ1 〜Ｂ3 の動きベクトルがそれぞれ（−１０，４）、（−１０，−１０）、（４，−１０）であるものとしている。この場合、符号化対象ブロックの予測ベクトルは、近傍ブロックの動きベクトルを用いて以下のようにして得られる。
【００２０】
予測ベクトル(x) ＝  Ｍｅｄｉａｎ（−１０，−１０，４）＝−１０
予測ベクトル(y) ＝  Ｍｅｄｉａｎ（４，−１０，−１０）＝−１０
したがって、
予測ベクトル＝（−１０，−１０）
また、符号化対象ブロックの差分ベクトルは下式により得られる。
【００２１】
差分ベクトル＝符号化対象ブロックの実際の動きベクトル−予測ベクトル
＝（４，２）−（−１０，−１０）
＝（１４，１２）
ここで、「差分ベクトルデータ＝１２」のときは、図１４に示す符号を使用する場合、伝送すべき動きベクトルデータとして「０００００００１０００」が得られる。同様に、「差分ベクトルデータ＝１４」のときは、伝送すべき動きベクトルデータとして「００００００００１０００」が得られる。従って、このブロックについて伝送すべき符号化動きベクトルデータは、２３ビットである。このように、画像の動きが乱雑なシーンでは、差分ベクトルデータが大きくなってしまう、伝送すべき符号化動きベクトルデータの情報量も大きくなってしまう。
【００２２】
上述したように、動画像データは、伝送効率を高めるために予測符号により圧縮されるが、画像の性質によっては、その圧縮率が十分とは言えなかった。
本発明の課題は、予測符号を用いて動画像データを符号化する際の効率を向上させることである。
【課題を解決するための手段】
【００２３】
本発明の動きベクトル復号装置は、動画像データの各フレームを分割することによって得られる各ブロックの動きベクトルを符号化することによって得られる符号化結果を復号する構成であって、以下の手段を有する。予測手段は、対象ブロックの近傍の複数のブロックの動きベクトルに基づいてその対象ブロックの動きベクトルを予測する。判定手段は、上記複数の動きベクトルの乱雑さに基づいて上記予測手段による予測の精度を判定する。復号手段は、その判定手段による判定結果に基づいて決まる復号方法で上記対象ブロックの動きベクトルを上記予測手段による予測結果を利用して復号する。
【００２４】
上記構成において、動きベクトルの復号に際しては、その動きベクトルの予測値が利用される。対象ブロックの近傍のブロックの動きベクトルが乱雑なとき、すなわち一様でないときは、上記動きベクトルの予測精度が低くなると推定される。したがって、復号手段は、その予測精度に応じて適切な復号方法を選択する。
【００２５】
この構成により、画像の性質に対して最適な符号化方法で動きベクトルが符号化されるので、情報量が削減されて符号化効率が向上する。
【発明の効果】
【００２６】
本発明では、動きベクトルの符号化において、対象動きベクトルの周辺で既に符号化されている複数の動きベクトルに基づいて決定される最適な符号化方法で対象ベクトルを符号化するので、符号化結果の情報量が削減される。また、このようにして符号化されたデータを復号する際には、符号化方法を表す付加情報を必要とすることなく、その符号化方法に対応する復号方法を認識できる。
【発明を実施するための最良の形態】
【００２７】
本実施形態の動きベクトル符号化装置および動きベクトル復号装置は、たとえば、図１に示すような動画像データを伝送するシステムにおいて使用される。この伝送システムでは、動画像データの各フレームは、図１２に示したように、それぞれ複数のブロックに分割されてブロックごとに符号化／復号化される。
【００２８】
フレーム間予測符号化装置１０は、係数符号化ユニット１１および動きベクトル符号化ユニット１２を備え、原画像データを符号化して出力する。なお、フレーム間予測符号化装置１０は、必ずしも動画像データの全てのフレームに対してフレーム間予測符号化処理を行うのではなく、必要に応じてフレーム内符号化処理を行う機能を備えている。
【００２９】
係数符号化ユニット１１は、ブロック毎に係数情報を符号化することによって得られる符号化係数データを生成する。また、動きベクトル符号化ユニット１２は、ブロック毎に動きベクトルに係わる情報を符号化することによって得られる符号化動きベクトルデータを生成する。
【００３０】
フレーム間予測復号装置２０は、係数復号ユニット２１および動きベクトル復号ユニット２２を備え、フレーム間予測符号化装置１０によって符号化された符号化係数データおよび符号化動きベクトルデータに基づいて画像データを再生する。
【００３１】
本実施形態の動きベクトル符号化装置および動きベクトル復号装置は、図１に示すシステムにおいては、それぞれ動きベクトル符号化ユニット１２および動きベクトル復号ユニット２２に相当する。
【００３２】
図２は、フレーム間予測符号化装置のブロック図である。このフレーム間予測符号化装置の構成は、既知であり、たとえば、ITU-T H.263 等の符号化方法において使用されているものと基本的に同じである。本実施形態の動きベクトル符号化装置は、図２においてはベクトルエントロピー符号化回路４１に相当し、この回路の機能が既存のベクトルエントロピー符号化回路の機能と異なっている。ベクトルエントロピー符号化回路４１の構成および動作については後述詳しく説明する。以下、既存の回路部分の動作を簡単に説明する。
【００３３】
フレーム間予測符号化装置１０は、原画像データがフレームごとに入力されると、そのフレームを分割することによって得られる複数のブロックについて順番に符号化処理を実行していく。直交変換回路３１は、ブロック毎に画像データを周波数成分に分解する。量子化回路３２は、直交変換回路３１の出力を量子化する。量子化回路３２の出力は、しばしば「係数データ」と呼ばれている。
【００３４】
逆量子化回路３３、逆直交変換回路３４、および復号画像生成回路３５は、復号装置（図１においては、フレーム間予測復号装置２０）において再生されるであろう画像と同じ画像を生成するために設けられている。これらの回路により生成された画像は、復号画像記憶回路３６に格納される。
【００３５】
動きベクトル計算回路３７は、復号画像記憶回路３６に格納されている画像および新たに入力された画像に基づいて動きベクトルを計算する。ブロック毎に動きベクトルを求める方法は既知の技術である。予測画像生成回路３８は、復号画像記憶回路３６に格納されている画像および動きベクトル計算回路３７によって算出された動きベクトルに基づいて予測画像を生成する。すなわち、予測画像生成回路３８は、あるタイミングのフレームの画像から次のタイミングのフレームの画像を予測し、その予測画像を出力する。この予測画像は、復号装置においても同様に生成される画像である。
【００３６】
予測誤差信号生成回路３９は、実際に入力された画像と予測画像生成回路３８によって生成された予測画像との誤差を表す信号を生成する。この予測誤差信号が復号装置へ伝送される信号である。予測誤差信号は、符号化して伝送される。すなわち、まず、直交変換回路３１および量子化回路３２によって予測誤差信号の係数データが求められる。そして、係数エントロピー符号化回路４０がこの係数データを符号化して出力する。
【００３７】
なお、フレーム間予測符号化装置１０は、必用に応じてフレーム内符号を用いることもある。この場合、予測誤差信号生成回路３９には、予測画像生成回路３８によって生成された予測画像ではなく、「０」が与えられる。
【００３８】
ベクトルエントロピー符号化回路４１は、ブロック毎に動きベクトルデータを符号化する。そして、多重化回路４２は、係数エントロピー符号化回路４０によって符号化された符号化係数データ、およびベクトルエントロピー符号化回路４１によって符号化された符号化動きベクトルデータを多重化して出力する。
【００３９】
復号装置は、上述したように、フレーム間予測符号化装置１０で生成する予測画像と同じ予測画像を生成する。そして、その予測画像、および受信した予測誤差信号および動きベクトルを用いて原画像を再生する。
【００４０】
図３は、本実施形態の動きベクトル符号化装置の基本構成図である。この符号化装置は、図２においてはベクトルエントロピー符号化回路４１に対応する。
本実施形態の動きベクトル符号化装置５０は、既存の符号化装置と同様に、符号化対象ブロックの動きベクトルを符号化する際には、(1) 符号化対象ブロックの近傍のブロックの動きベクトルからその符号化対象ブロックの予測ベクトルを作成し、(2) 符号化対象ブロックの実際の動きベクトルと予測ベクトルとの差分ベクトルを求め、(3) 差分ベクトルの各成分を符号化することにより符号化動きベクトルデータを生成する。
【００４１】
動きベクトル符号化装置５０は、判定部５１、符号化部５２ａ〜５２ｎ、および選択部５３を備える。判定部５１には、符号化対象ブロックが属するフレーム内の一部または全部のブロックの動きベクトル（判定用動きベクトル）が与えられる。判定部５１は、与えられた動きベクトルの中から、先に符号化処理がされているブロックであって上記符号化対象ブロックの近傍のブロックの動きベクトルを複数選択する。そして、判定部５１は、選択した複数の動きベクトルに基づいて、予測ベクトルの予測精度を推定する。具体的には、判定部５１は、上記選択した複数の動きベクトルの「乱雑さ」或いは「均一さ」に基づいて、上記予測ベクトルの予測精度を推定する。
【００４２】
「複数の動きベクトルが均一」とは、複数の動きベクトルが互いに同じであることをいう。例えば、画像の変化が少ないシーンでは、各ブロックの動きベクトルは、図１５(a) に示したように、すべて「０ベクトル」またはベクトル長の短いベクトルとなる。すなわち、複数の動きベクトルは、ほぼ均一になる。また、画像の変化がほぼ均一なシーンでは、各ブロックの動きベクトルは、それぞれ一定の長さを持つが、図１５(b) に示したように、その長さおよび方向はほぼ均一である。すなわち、この場合も、複数の動きベクトルは、ほぼ均一になる。
【００４３】
一方、「複数の動きベクトルが乱雑」とは、互いに隣接する複数のブロックの動きベクトルが互いに異なっている（均一でない）ことをいう。たとえば、画像の動きが乱雑なシーンでは、各ブロックの動きベクトルは、図１６に示したように、非均一になる。
【００４４】
符号化部５２ａ〜５２ｎには、それぞれ、符号化対象ブロックの動きベクトルおよび符号化対象ブロックの近傍のブロックの動きベクトルが与えられる。ここで、近傍ブロックの動きベクトル（予測用動きベクトル）として、判定部５１が予測ベクトルの予測精度を推定する際に利用した動きベクトルと同じものを使用してもよいし、異なるものを使用してもよい。
【００４５】
符号化部５２ａ〜５２ｎにおいて、複数の予測用動きベクトルから予測ベクトルが生成され、更に、符号化対象ブロックの動きベクトルとその予測ベクトルとの差分ベクトルが求められる。この差分ベクトルは、予測誤差を表すベクトルである。そして、各符号化部５２ａ〜５２ｎは、互いに異なる符号を用いて上記差分ベクトルの各成分をそれぞれ符号化する。
【００４６】
選択部５３は、判定部５１によって推定された予測ベクトルの予測精度に基づいて、符号化部５２ａ〜５２ｎの中の１つを選択する。具体的には、選択部５３は、動きベクトル符号化装置５０による符号化結果の情報量が最小になるような符号化部を選択する。そして、選択部５３は、選択した符号化部による符号化結果を符号化動きベクトルデータとして出力する。
【００４７】
上記構成において、判定部５１は、符号化対象ブロックの動きベクトルを符号化する際には、先に符号化処理がされているブロックの動きベクトルを用いて予測ベクトルの予測精度を推定する。そして、選択部５３は、このようにして推定した予測精度に従って符号化部を選択する。すなわち、この符号化装置では、符号化対象ブロックの動きベクトルデータを符号化する際に、先に符号化処理がされている動きベクトルに基づいて符号化方法が決定される。
【００４８】
このような構成にすると、復号装置は、符号化方法に係わる情報を符号化装置から受け取ることなく、その符号化装置で選択された符号化方法を認識できる。すなわち、復号装置の構成を上記符号化装置と等価にすれば、復号装置において対象動きベクトルを復号する際には、その動きベクトルを符号化した符号化方法を決定するために利用された動きベクトルが既に復号されていることになる。したがって、復号装置は、その既に復号されている動きベクトルを利用して、符号化装置で選択された符号化方法を認識できる。そして、復号装置は、その認識した符号化方法に対応する復号方法で受信データを復号する。
【００４９】
上記構成において、画像の変化が少ないとき、或いは画像の変化が均一なときは、一般に、符号化対象ブロックの予測ベクトルの予測精度が高い。この予測精度が高いと、差分ベクトルが小さくなる可能性が高くなる。一方、画像の動きが乱雑になると、一般に、予測ベクトルの予測精度が低くなり、差分ベクトルが大きくなる可能性が高くなる。このことは、統計的に解析されている。従って、差分ベクトルの大きさの発生頻度の確率分布は、画像の性質に従って推定することができる。
【００５０】
本実施形態では、この性質を考慮してブロック毎に符号化方法を決定する。すなわち、動きベクトル符号化装置５０は、符号化対象ブロックの動きベクトルを符号化する際には、近傍ブロックの動きベクトルを用いて近傍領域の画像の性質を認識し、その認識結果に基づいて符号化方法を選択する。従って、画像の性質に対して最適な符号化方法を選択することができる。ここで、「最適」とは、符号化結果として得られる符号化動きベクトルデータの情報量が最小になることをいう。
【００５１】
図４は、本発明の動きベクトル符号化装置の一実施例のブロック図である。この動きベクトル符号化装置６０は、動きベクトルのＸ成分およびＹ成分を個別に符号化する。第１の判定部６１、予測誤差生成部６２、可変長符号化部６３ａおよび６３ｂ、第１の選択部６４は、動きベクトルのＸ成分を符号化するために動作し、第２の判定部６５、予測誤差生成部６６、可変長符号化部６７ａおよび６７ｂ、第２の選択部６８は、Ｙ成分を符号化するために動作する。
【００５２】
Ｘ成分を符号化するための構成およびＹ成分を符号化するための構成は、互いに同じ構成であってもよいが、実施例の符号化装置では、これらの構成が互いに異なっている。具体的には、第１の判定部６１の機能と第２の判定部６５の機能とが互いに異なる。
【００５３】
予測誤差生成部６２は、予測誤差データとして差分ベクトルのＸ成分を生成する。差分ベクトルの生成方法は、ITU-T H.263 等の符号化方法において使用されているものと基本的に同じである。以下、図５を参照しながら予測誤差生成部６２の動作を説明する。
【００５４】
予測誤差生成部６２には、符号化対象ブロックの動きベクトルのＸ成分、および複数の近傍ブロックの動きベクトルのＸ成分が与えられる。ここで利用される近傍ブロックは、図１３に示したように、符号化対象ブロックの上隣に位置するブロック、右上に位置するブロック、および左隣に位置するブロックである。これら３つのブロックの動きベクトルは、符号化対象動きベクトルの符号化処理の際には、既に符号化されている。
【００５５】
予測誤差生成部６２は、与えられた３つの動きベクトルのＸ成分のメディアン値（すなわち、中間値）を求める。このメディアン値は、予測ベクトルのＸ成分に相当する。そして、予測誤差生成部６２は、符号化対象ブロックの動きベクトルのＸ成分とそのメディアン値（予測ベクトルのＸ成分）との差分を出力する。この差分データは、Ｘ成分の予測誤差値であり、差分ベクトルのＸ成分に相当する。
【００５６】
なお、本実施形態では、可変長符号化部６３ａおよび６３ｂによって提供される各符号化方法に対して同一アルゴリズムで予測誤差を生成する。従って、予測誤差生成部６２は、可変長符号化部６３ａおよび６３ｂによって共用される。すなわち、予測誤差生成部６２により生成される予測誤差データが可変長符号化部６３ａおよび６３ｂに与えられる。
【００５７】
予測誤差生成部６６は、基本的に予測誤差生成部６２と同じ構成であり、Ｙ成分の予測誤差データを生成する。
可変長符号化部６３ａおよび６３ｂは、互いに異なる可変長符号を利用して予測誤差生成部６２によって生成された予測誤差データを符号化する。可変長符号化部６３ａは、図６に示す「可変長符号１」を用いる。「可変長符号１」は、ITU-T H.263 等において使用されている符号であり、小さい予測誤差（差分値）に対してデータ長の短いデータ列が割り当てられ、大きい予測誤差に対してデータ長の長いデータ列が割り当てられている。従って、複数の近傍ブロックの動きベクトルが一様であるときは、予測誤差が小さくなる可能性が高いので、この「可変長符号１」を用いれば、符号化結果のデータ長が短くなる。すなわち、画像の変化が少ないとき、或いは画像の変化が均一なときは、「可変長符号１」を用いれば、符号化結果の平均データ長が短くなり、符号化効率が向上する。
【００５８】
可変長符号化部６３ｂは、図６に示す「可変長符号２」を用いる。「可変長符号２」は、「可変長符号１」と比較した場合、予測誤差が小さいときには符号化結果のデータ長が長くなるが、予測誤差が大きくなると符号化結果のデータ長が短くなる。たとえば、予測誤差が「１５．５」のときは、「可変長符号１」による符号化結果のデータ長は１３ビットであるのに対し、「可変長符号２」による符号化結果のデータ長は８ビットになる。
【００５９】
したがって、複数の近傍ブロックの動きベクトルが乱雑であるときは、予測ベクトルの精度が低く、予測誤差が大きくなる可能性が高くなるので、「可変長符号２」を用いれば、符号化結果のデータ長が短くなることが期待される。すなわち、画像の変化が乱雑なとき等は、「可変長符号２」を用いれば、符号化結果の平均データ長が短くなり、符号化効率が向上する。
【００６０】
可変長符号化部６３ａおよび６３ｂは、図６に示す符号化パターンが登録されたテーブルを備える。これらのテーブルは、メモリ上に作成される。そして、可変長符号化部６３ａおよび６３ｂは、与えられた予測誤差データをキーとしてそのテーブルから対応するデータ列を取得し、その取得したデータ列を符号化結果として出力する。
【００６１】
なお、可変長符号化部６７ａおよび６７ｂは、それぞれ基本的に可変長符号化部６３ａおよび６３ｂと同じである。すなわち、可変長符号化部６７ａおよび６７ｂは、それぞれ「可変長符号１」および「可変長符号２」を用いて予測誤差生成部６６により生成された予測誤差データを符号化する。
【００６２】
第１の判定部６１は、符号化対象ブロックの予測ベクトルの精度を推定し、その推定結果に基づいて第１の選択部６４に与える選択指示を生成する。ここで、予測ベクトルの精度は、符号化対象ブロックの近傍のブロックの動きベクトルに基づいて推定されるので、その精度は、近傍領域の画像の性質に依存する。
【００６３】
第１の判定部６１によって生成される選択指示は、可変長符号化部６３ａまたは６３ｂのうちで符号化結果の情報量が小さくなることが期待される可変長符号化部を指定する信号である。以下、図７を参照しながら第１の判定部６１の動作を説明する。
【００６４】
第１の判定部６１は、上述した３つの近傍ブロックの動きベクトルに基づいて符号化対象ブロックの周辺の動きベクトルの一様性または乱雑さを判断する。具体的には、第１の判定部６１は、下記の条件１または条件２の少なくとも一方が満たされたときには「乱雑」であるとみなし、条件１および条件２が共に満たされなかったときには「一様」とみなす。
【００６５】
条件１：｜ＰＭＶ1x−ＰＭＶ2x｜＞閾値１  且つ
｜ＰＭＶ1x−ＰＭＶ3x｜＞閾値１  且つ
｜ＰＭＶ2x−ＰＭＶ3x｜＞閾値１
条件２：｜ＰＭＶ1y−ＰＭＶ2y｜＞閾値１  且つ
｜ＰＭＶ1y−ＰＭＶ3y｜＞閾値１  且つ
｜ＰＭＶ2y−ＰＭＶ3y｜＞閾値１
上記アルゴリズムによれば、近傍ブロックの動きベクトルのＸ成分またはＹ成分のいずれか一方が一様でなかったときに「乱雑」と判定される。なお、「閾値１」は、シミュレーションまたは実験などにより決定される。
【００６６】
第１の判定部６１は、近傍ブロックの動きベクトルが「一様」である判定したときには、符号化対象ブロックの周辺領域の画像の変化が一様であり、また、予測ベクトルの予測精度が高いものとみなし、第１の選択部６４に対して、可変長符号化部６３ａによる符号化結果を選択する旨を指示する。一方、近傍ブロックの動きベクトルが「乱雑」である判定したときには、第１の判定部６１は、符号化対象ブロックの周辺領域の画像の変化が乱雑であし、また、予測ベクトルの予測精度が低いものとみなし、第１の選択部６４に対して、可変長符号化部６３ｂによる符号化結果を選択する旨を指示する。
【００６７】
第１の選択部６４は、第１の判定部６１から指示を受け取ると、その指示に従って可変長符号化部６３ａまたは６３ｂによる符号化結果を選択して出力する。この第１の選択部６４の出力は、符号化動きベクトルデータのＸ成分である。
【００６８】
第２の判定部６５は、第１の判定部６１と同様に、符号化対象ブロックの予測ベクトルの精度を推定し、その推定結果に基づいて第２の選択部６８に与える選択指示を生成する。この指示は、可変長符号化部６７ａまたは６７ｂのうちで符号化結果の情報量が小さくなることが期待される可変長符号化部を指定する信号である。ただし、第２の判定部６５は、第１の判定部６１とは異なる基準に基づいて予測ベクトルの精度を推定する。以下、図８を参照しながら第２の判定部６５の動作を説明する。
【００６９】
第２の判定部６５には、上述した３つの近傍ブロックの動きベクトルに加え、符号化対象動きベクトルのＸ成分も合わせて与えられる。なお、動きベクトル符号化装置６０は、符号化対象動きベクトルのＸ成分（ＭＶx ）を符号化した後にそのＹ成分を符号化するものとする。
【００７０】
第２の判定部６５は、下記の条件１〜条件３の少なくとも１つが満たされたときは動きベクトルが「乱雑」であるとみなし、条件１〜条件３がすべて満たされなかったときには「一様」とみなす。
【００７１】
条件１：｜ＰＭＶ1x−ＰＭＶ2x｜＞閾値１  且つ
｜ＰＭＶ1x−ＰＭＶ3x｜＞閾値１  且つ
｜ＰＭＶ2x−ＰＭＶ3x｜＞閾値１
条件２：｜ＰＭＶ1y−ＰＭＶ2y｜＞閾値１  且つ
｜ＰＭＶ1y−ＰＭＶ3y｜＞閾値１  且つ
｜ＰＭＶ2y−ＰＭＶ3y｜＞閾値１
条件３：｜ＭＶx −Median（ＰＭＶ1x，ＰＭＶ2x，ＰＭＶ3x）｜＞閾値２
第３の条件において、「Median（ＰＭＶ1x，ＰＭＶ2x，ＰＭＶ3x）」は、予測ベクトルのＸ成分を求める演算である。すなわち、第３の条件は、符号化対象動きベクトルのＸ成分が予測値から大きく外れているか否かを判定するためのものである。ここで、予測値は、近傍ブロックの動きベクトルから算出される。したがって、第３の条件は、「近傍ブロックの動きベクトルが均一である状態において、符号化対象の動きベクトルだけがそれら近傍ブロックの動きベクトルから大きく異なっている」を検出するために使用される。
【００７２】
第２の判定部６５は、上記条件１〜条件３が１つも満たされていないときは、第２の選択部６８に対して、可変長符号化部６７ａによる符号化結果を選択する旨を指示する。一方、上記条件１〜条件３の少なくとも１つが満たされたときには、第２の選択部６８に対して、可変長符号化部６７ｂによる符号化結果を選択する旨を指示する。
【００７３】
第２の選択部６８は、第１の選択部６４と同様に、第２の判定部６５から指示を受け取ると、その指示に従って可変長符号化部６７ａまたは６７ｂによる符号化結果を選択して出力する。この第２の選択部６８の出力は、符号化動きベクトルデータのＹ成分である。
【００７４】
このように、第２の判定部６５は、第３の条件を導入することにより、予測誤差が大きくなる可能性を第１の判定部６１よりも高い精度で推定できる。したがって、第２の判定部６５では、最適な符号化方法を選択できる可能性が高くなるので、符号化効率が大幅に向上する。
【００７５】
図９は、動きベクトル符号化装置６０の動作を説明するためのフローチャートである。このフローチャートの処理は、１つの動きベクトルを符号化する毎に実行される。
ステップＳ１〜Ｓ５は、Ｘ成分についての符号化処理である。ステップＳ１では、先に符号化したベクトルに基づいて対象ベクトルのＸ成分の符号化方法を決定する。この処理は、第１の判定部６１により実行される。
【００７６】
ステップＳ２〜４では、それぞれ符号化方法１〜Ｎにより、対象ベクトルのＸ成分を符号化する。具体的には、予測誤差を算出し、符号化方法１〜Ｎによりその予測誤差をそれぞれ符号化する。この処理は、予測誤差生成部６２、および可変長符号化部６３ａおよび６３ｂにより実行される。
【００７７】
ステップＳ５では、ステップＳ２〜Ｓ４においてそれぞれ生成された符号化結果の中から、ステップＳ１で決定された符号化方法による符号化結果を選択して出力する。この処理は、第１の選択部６４により実行される。
【００７８】
ステップＳ６〜Ｓ１０は、Ｙ成分についての符号化処理である。ステップＳ６では、先に符号化したベクトルおよび対象ベクトルのＸ成分に基づいて、対象ベクトルのＹ成分の符号化方法を決定する。この処理は、第２の判定部６５により実行される。
【００７９】
ステップＳ７〜９では、基本的にステップＳ２〜Ｓ４と同じであり、それぞれ符号化方法１〜Ｎにより、対象ベクトルのＹ成分を符号化する。具体的には、予測誤差を算出し、符号化方法１〜Ｎによりその予測誤差をそれぞれ符号化する。この処理は、予測誤差生成部６６、および可変長符号化部６７ａおよび６７ｂにより実行される。
【００８０】
ステップＳ１０では、基本的にステップＳ５と同じであり、ステップＳ７〜Ｓ９においてそれぞれ生成された符号化結果の中から、ステップＳ６で決定された符号化方法による符号化結果を選択して出力する。この処理は、第２の選択部６８により実行される。
【００８１】
なお、図４に示す動きベクトル符号化装置６０の各ユニット６１〜６８は、ソフトウェアで実現してもよいし、ハードウェアで実現してもよい。ソフトウェアで実現する場合には、動きベクトル符号化装置６０は、少なくともＣＰＵおよびメモリを備え、図９に示したフローチャートの処理を記述したプログラムをそのＣＰＵに実行させることにより図４〜図８を参照しながら説明した機能を提供する。
【００８２】
次に、上記構成の動きベクトル符号化装置によって符号化された動きベクトルを復号する装置について説明する。
図１０は、動きベクトル復号装置の一実施例のブロック図である。動きベクトル復号装置７０は、第１の判定部６１、第１の選択部６４、第２の判定部６５、および第２の選択部６８を備える。これらの各ユニット６１、６４、６５、６８は、動きベクトル符号化装置６０に設けられているものと同じである。また、可変長復号部７１ａ、７１ｂ、７３ａ、７３ｂは、それぞれ動きベクトル符号化装置６０に設けられている可変長復号部６３ａ、６３ｂ、６７ａ、６７ｂに対応する復号処理を行う。すなわち、可変長復号部７１ａおよび７３ａは、「可変長符号１」を用いて符号化動きベクトルデータを復号し、可変長復号部７１ｂおよび７３ｂは、「可変長符号２」を用いて符号化動きベクトルデータを復号する。
【００８３】
動きベクトル復号装置７０は、動きベクトル符号化装置６０による符号化順序と同じ順序でブロック毎に符号化動きベクトルデータを復号する。すなわち、動きベクトル復号装置７０は、図１２に示した順番で、ブロックごとに符号化動きベクトルデータから動きベクトルを再生する。ここで、動きベクトル符号化装置６０は、対象ベクトルよりも先に符号化処理がされているベクトルを利用して対象ベクトルを符号化するので、動きベクトル復号装置７０において対象ベクトルを復号する際には、その対象ベクトルを符号化するために利用されたベクトルは既に復号されていることになる。たとえば、図１３に示す対象ブロックの動きベクトルを復号する際には、近傍ブロックＢ１〜Ｂ３の動きベクトルはすべて動きベクトル復号装置７０によって復号されている。したがって、この場合、動きベクトル復号装置７０は、この対象動きベクトルを復号する際、近傍ブロックＢ１〜Ｂ３の動きベクトルを利用することができる。
【００８４】
上記構成において、第１の判定部６１は、３つの近傍ブロックの動きベクトルに基づいて復号方法を決定する。このとき利用する３つの動きベクトルは、動きベクトル復号装置７０が受信した符号化動きベクトルデータから再生したものである。すなわち、第１の判定部６１は、動きベクトル符号化装置６０から符号化方法を表す付加情報を受け取ることなく、その符号化方法を認識できる。
【００８５】
可変長復号部７１ａおよび７１ｂは、それぞれ動きベクトル符号化装置６０から受信した符号化動きベクトルデータから予測誤差を再生する。そして、第１の選択部６４は、第１の判定部６１の指示に従って、可変長復号部７１ａまたは７１ｂによる復号結果を選択して出力する。この第１の選択部６４の出力は、Ｘ成分の予測誤差である。
【００８６】
ベクトル再生部７２は、図１１に示すように、近傍ブロックの動きベクトルの各Ｘ成分が与えられ、そのメディアン値を出力する。このメディアン値は、予測ベクトルのＸ成分である。そして、ベクトル再生部７２は、予測ベクトルのＸ成分に第１の選択部６４の出力である予測誤差を加算することにより、対象ブロックの動きベクトルのＸ成分を再生する。
【００８７】
対象ブロックの動きベクトルのＹ成分を再生する動作は、Ｘ成分を再生する動作と基本的に同じである。ただし、第２の判定部６５は、復号方法を決定するために、近傍ブロックの動きベクトルだけでなく、ベクトル再生部７２によって再生された対象ブロックの動きベクトルのＸ成分も利用する。このことは、図８を参照しながら説明した通りである。
【００８８】
このように、本実施形態では、対象ブロックの動きベクトルは、その対象ブロックの近傍のブロックの動きベクトルに基づいて決まる符号化方法で符号化される。また、対象ブロックの符号化動きベクトルデータは、その対象ブロックの近傍のブロックの動きベクトルに基づいて決まる復号方法で復号される。したがって、画像の局所的な性質に対応して最適な符号を使用することができ、符号化効率が高くなる。
【００８９】
なお、上記実施例では、３つの近傍ブロックの動きベクトルを利用して符号化方法を決定しているが、本発明は、この構成に限定されるものではなく、複数の近傍ブロックの動きベクトルを利用する構成に適用可能である。
【００９０】
また、上記実施例は、画像データを伝送するシステムを前提としているが、本発明は、この構成に限定されるものではなく、たとえば、画像データを格納する装置にも適用可能である。
【図面の簡単な説明】
【００９１】
【図１】本実施形態の動きベクトル符号化装置および動きベクトル復号装置が使用される伝送システムの例である。
【図２】フレーム間予測符号化装置のブロック図である。
【図３】本実施形態の動きベクトル符号化装置の基本構成図である。
【図４】本発明の動きベクトル符号化装置の一実施例のブロック図である。
【図５】予測誤差生成部の動作を説明する図である。
【図６】可変長符号の例である。
【図７】第１の判定部の動作を説明する図である。
【図８】第２の判定部の動作を説明する図である。
【図９】動きベクトル符号化装置の動作を説明するフローチャートである。
【図１０】動きベクトル復号装置の一実施例のブロック図である。
【図１１】ベクトル再生部の動作を説明する図である。
【図１２】フレームをブロックに分割する処理を説明する図である。
【図１３】動きベクトルの予測の一例を示す図である。
【図１４】可変長符号の一例を示す図である。
【図１５】動きベクトルを符号化する処理を方法を説明する図である。
【図１６】従来の符号化方法の問題点を説明する図である。
【符号の説明】
【００９２】
１０  フレーム間予測符号化装置
１１  係数符号化ユニット
１２  動きベクトル符号化ユニット
２０  フレーム間予測復号装置
２１  係数復号ユニット
２２  動きベクトル復号ユニット
３７  動きベクトル計算回路
４１  ベクトルエントロピー符号化回路
５１  判定部
５２ａ〜５２ｎ  符号化部
５３  選択部
６１  第１の判定部
６２、６６  予測誤差生成部
６３ａ、６３ｂ  可変長符号化部
６４  第１の選択部
６５  第２の判定部
６７ａ、６７ｂ  可変長符号化部
６８  第２の選択部
７１ａ、７１ｂ  可変長復号部
７２、７４  ベクトル再生部
７３ａ、７３ｂ  可変長復号部
【図１】
2006271001.tif 000003
【図２】
2006271001.tif 000004
【図３】
2006271001.tif 000005
【図４】
2006271001.tif 000006
【図５】
2006271001.tif 000007
【図６】
2006271001.tif 000008
【図７】
2006271001.tif 000009
【図８】
2006271001.tif 000010
【図９】
2006271001.tif 000011
【図１０】
2006271001.tif 000012
【図１１】
2006271001.tif 000013
【図１２】
2006271001.tif 000014
【図１３】
2006271001.tif 000015
【図１４】
2006271001.tif 000016
【図１５】
2006271001.tif 000017
【図１６】
2006271001.tif 000018
【手続補正書】
【提出日】平成18年6月30日(2006.6.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動画像データの各フレームを分割することによって得られる各ブロックの動きベクトルを符号化することによって得られる符号化結果を復号する動きベクトル復号装置であって、
対象ブロックの近傍の複数のブロックの動きベクトルに基づいてその対象ブロックの動きベクトルを予測する予測手段と、
対象ブロックの近傍の複数のブロックの動きベクトルの乱雑さに基づいて上記予測手段による予測の精度を判定する判定手段と、
その判定手段による判定結果に基づいて決まる復号方法で上記対象ブロックの動きベクトルを上記予測手段による予測結果を利用して復号する復号手段と、
を有する動きベクトル復号装置。
【請求項２】
動画像データの各フレームを分割することによって得られる各ブロックの動きベクトルを符号化するために、対象ブロックの近傍の複数のブロックの動きベクトルに基づいてその対象ブロックの動きベクトルを予測し、上記対象ブロックの近傍領域内で先に符号化されている複数の動きベクトルの乱雑さに基づいて上記予測の精度を判定し、その予測精度の判定結果に基づいて決まる符号化方法で上記対象ブロックの動きベクトルを上記予測結果を利用して符号化する動きベクトル符号化装置、の出力を復号する動きベクトル復号装置であって、
上記動きベクトル符号化装置において上記判定に使用した複数の動きベクトルに基づいてその対象ブロックの動きベクトルを予測する予測手段と、
対象ブロックの近傍の複数のブロックの動きベクトルの乱雑さに基づいて上記予測手段による予測の精度を判定する判定手段と、
その判定手段による判定結果に基づいて決まる復号方法で上記対象ブロックの動きベクトルを上記予測手段による予測結果を利用して復号する復号手段と、
を有する動きベクトル復号装置。
【請求項３】
動画像データの各フレームを分割することによって得られる各ブロックの動きベクトルを符号化することによって得られる符号化結果を復号する動きベクトル復号方法であって、
対象ブロックの近傍の複数のブロックの動きベクトルに基づいてその対象ブロックの動きベクトルを予測するステップと、
対象ブロックの近傍の複数のブロックの動きベクトルの乱雑さに基づいて上記予測の精度を判定するステップと、
その予測精度の判定結果に基づいて決まる復号方法で上記対象ブロックの動きベクトルを上記予測結果を利用して復号するステップと、
を有する動きベクトル復号方法。