(57)【要約】【課題】実際の画素間に補間画素を挿入して動き補償の精度を向上させながら、動きベクトルの符号量の増加を最低限に抑制することが可能な動画像符号化復号化装置を提供する。【解決手段】整数で表せる整数画素精度の動きベクトルと分数で表さなければならない分数精度の動きベクトルに分ける。整数精度の動きベクトルの場合は所定値を乗算した値に変換し符号化する。分数精度の動きベクトルの場合は整数部分を所定値で乗算して更に所定奇数値を加えた値に変換して符号化し、かつ分数部分を動きベクトル精度情報として別の情報として符号化する。復号する場合は、整数精度の場合は前記所定値で除算して動きベクトルを求め、分数精度の場合は、前記所定奇数値で減算して前記所定値で除算した値と、前記動きベクトル精度情報とを加算して動きベクトルを求める。【選択図】  図１
2006157531.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象画像を複数の画素の２次元配列からなる符号化対象画像ブロックに分割し、前記符号化対象画像ブロック単位で順次、動き補償予測符号化、直交変換符号化、量子化、エントロピー符号化を行い、かつ前記動き補償予測符号化を行う際に参照する画像として、既に符号化が完了した画像を再度復号化した画像の画素間に補間画素を挿入した参照補間画像を用いる動画像符号化装置において、
前記符号化対象画像ブロックにそれぞれ隣接する既に符号化が完了している複数の画像ブロックの動きベクトルから前記符号化対象画像ブロックの予測ベクトルを算出し、算出した前記予測ベクトルと実際に符号化を行って得られた前記符号化対象画像ブロックの動きベクトルとの差分である差分ベクトルを算出する、差分ベクトル算出手段と、
前記差分ベクトル算出手段にて算出した差分ベクトルが、前記参照補間画像の実際の画素の位置を指し示す整数画素精度の差分ベクトルの場合は、前記整数の値に応じた偶数または奇数のうちいずれか一方の種類の第一の変換差分ベクトルを生成し、生成した前記第一の変換差分ベクトルに応じて第一の符号データを生成し、前記差分ベクトル算出手段にて算出した差分ベクトルが、前記参照補間画像の補間画素の位置を指し示す分数画素精度の差分ベクトルの場合は、前記分数画素精度の差分ベクトルの分子を分母で除算して得られる整数の値に応じた前記第一の変換差分ベクトルで採用した奇数または偶数と異なる他方の種類の第二の変換差分ベクトルを生成し、生成した前記第二の変換差分ベクトルに応じて第二の符号データを生成し、前記分数画素精度の差分ベクトルの分子を分母で除算して得られる剰余値をベクトル精度情報とし、前記ベクトル精度情報に応じた第三の符号データを生成する動きベクトル符号量抑制手段と、
前記動きベクトル符号量抑制手段にて生成した前記第一の符号データ及び前記第二の符号データ及び前記第三の符号データと、符号化対象画像を符号化した符号化データを用いて前記エントロピー符号化を行い符号列データを生成すると共に、前記符号列データを外部へ出力するエントロピー符号化手段と、
を有することを特徴とする動画像符号化装置。
【請求項２】
前記動画像符号化装置にて生成された符号列データを入力として、エントロピー復号化、逆量子化、逆直交変換復号化、動き補償予測復号化を行い、前記符号化対象画像を復号する動画像復号化装置において、
前記符号列データを入力として前記エントロピー復号化を行い、前記符号化対象画像の符号化データと、前記第一の符号データと、前記第二の符号データと、前記第三の符号データと、を生成する、エントロピー復号化手段と、
前記エントロピー復号化手段により生成した前記第一の符号データに応じた前記第一の変換差分ベクトルを生成し、生成した前記第一の変換差分ベクトルに応じて整数画素精度の差分ベクトルを算出し、前記エントロピー復号化手段により生成した前記第二の符号データに応じた前記第二の変換差分ベクトルを生成し、生成した前記第二の変換差分ベクトルに応じた分数画素精度の差分ベクトルの整数値を算出し、前記エントロピー復号化手段により生成した前記第三の符号データに応じた前記ベクトル精度情報を生成し、算出した前記分数画素精度の差分ベクトルの整数値と前記ベクトル精度情報とを加算して分数画素精度の差分ベクトルを算出する、差分ベクトル算出手段と、
今回の復号化の対象となる画像ブロックにそれぞれ隣接する既に復号化が完了している複数の画像ブロックの動きベクトルから前記復号化対象画像ブロックの予測ベクトルを算出し、算出した前記予測ベクトルと前記差分ベクトル算出手段にて算出した、前記整数画素精度の差分ベクトルまたは前記分数画素精度の差分ベクトルとを加算して、前記復号化対象画像ブロックの復号化に実際に使用する動きベクトルを生成する、動きベクトル算出手段と、
を有することを特徴とする動画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の符号化復号化装置に関するものである。
【背景技術】
【０００２】
ＭＰＥＧに代表される動画像の圧縮符号化では、連続する画像間の相関を用いて符号量を圧縮する動き補償予測符号化（以下簡単に動き補償と呼ぶ）が多く用いられる。動き補償は、画像を例えば１６×１６画素のブロックに分割して前記各ブロックを順次、符号化対象画像ブロックとして設定することで行われる。
【０００３】
動き補償では、符号化対象画像ブロックに対して、その符号化を行うために使用される参照画像における対応するブロック領域がどの程度ずれた位置に存在するのかを表す動きベクトルが用いられる。参照画像において、符号化対象画像ブロックとの誤差評価値が最小になる動きベクトルを検出し、動き補償に使用すると、符号化効率が最も良好になる。誤差評価値とは、対応するブロック間の相違の度合いを表現したもので、ブロックマッチングにより求められる。
【０００４】
ブロックマッチングは、符号化対象画像ブロックを参照画像中の検出範囲内の画像と、画素単位で全ての位置毎にマッチングをとり、マッチング評価関数を計算し、誤差評価値を求める手法である。マッチング評価関数としては、例えばブロック内の全画素について、画素毎の画素値の差分の絶対値の和をとったもの（絶対値差分和）等が用いられる。
【０００５】
このような動き補償では、参照画像の実際の画素の間に補間画素を挿入して、分数精度の動きを捉えることができるようにすることで、動き補償の精度を向上させる手法が従来より用いられている。
【０００６】
図５は実際の画素の間に１個の補間画素を挿入した１／２画素精度の補間を施した様子を示した図である。１／２画素精度の補間画素値の算出には、隣接する実際の画素値の平均をとる方法などがある。
【０００７】
図６は実際の画素の間に３個の補間画素を挿入した１／４画素精度の補間を施した様子を示した図である、１／４画素精度の動き補償は、１／２画素精度の動き補償よりも、動き補償の精度がさらに向上する。１／４画素精度の補間画素値の算出には前記１／２画素精度の補間画素を算出後に、更に隣接する実際の画素または１／２画素精度の補間画素との平均をとる方法などがある。
【０００８】
しかし、このように動き補償の精度を向上させるために実際の画素間に補間画素を増やしていけばいくほど、動きベクトルの符号量は増加する。
例えば、補間画素を用いずに実際の画素のみで動き補償を行う場合は、１画素の動きを表すための動きベクトルの分解能は１で表わせるが、１／２画素精度の補間画素を用いた動き補償の場合は、実際の画素の間に補間画素が1個入るので、実際の画素の１画素分の動きを表すためには動きベクトルの分解能として２が必要となる。同様に、１／４画素精度の補間画素を用いた動き補償では、実際の画素の間に補間画素が３個入るので、実際の画素の１画素分の動きを表すためには動きベクトルの分解能として４が必要となる。従って、実際の画素の１画素の動きを表す動きベクトルの大きさは、補間画素を増やせば増やすほど大きくなることになる。
【０００９】
通常、動きベクトルの表現方法としては実際の画素までの位置を示す動きベクトルを整数として表し、補間画素までの位置を示す動きベクトルを、整数と分数、または整数と少数で表す。例えば、１／２画素精度の補間画素を用いた動き補償の場合を例にとると、実際の画素で２画素分離れた位置を示す動きベクトルは２となり、更にその１つ先の補間画素への位置を示す動きベクトルは５／２、または２と１／２、または２．５と表す。
【００１０】
以下本説明では、上記のとおり、整数のみで表せる実際の画素までの位置を示す動きベクトルを整数画素精度の動きベクトルと呼び、整数と分数、または整数と少数で表さなければならない補間画素までの位置を示す動きベクトルを分数画素精度の動きベクトルと呼んで区別して説明することとする。
【００１１】
補間画素を用いて動き補償の精度を向上させながら、動きベクトルの符号量の増加を抑制するために、従来からさまざまな提案がなされている。例えば特許文献１では、符号化対象画像ブロックの動きベクトルを、周辺の各ブロックの動きベクトルから予測する予測ベクトルを適応的に選択して動きベクトルの符号量の増加を抑制する動画像符号化復号化装置が提案されている。
［従来の符号化装置］
以下、この従来の動画像符号化装置の構成について図３を用いて説明する。従来の動画像符号化装置は、画像メモリ３０１と、画像補間手段３０２と、動きベクトル検出手段３０３と、動き補償手段３０４と、直交変換手段３０５と、量子化手段３０６と、逆量子化手段３０７と、逆直交変換手段３０８と、動きベクトルメモリ３０９と、差分ベクトル算出手段３１０と、エントロピー符号化手段３１１とから構成されている。
【００１２】
画像メモリ３０１は、符号化対象画像の各ブロックを符号化し再度復号化した復号画像を、次の符号化対象画像の各ブロックの符号化に用いる為の参照画像として記憶する。
画像補間手段３０２は、前記参照画像の実際の画素間を補間画素で補間した参照補間画像を生成する。
【００１３】
動きベクトル検出手段３０３は、画像補間手段３０２で生成した参照補間画像を用いて符号化対象画像ブロックの動きベクトル検出を行う。そして検出した動きベクトルを動き補償手段３０４と差分ベクトル算出手段３１０に供給し、動きベクトルメモリ３０９に記憶する。
【００１４】
動き補償手段３０４は、動きベクトル検出手段３０３で検出した動きベクトルと画像補間手段３０２で生成した参照補間画像とを用いて動き補償を行い、予測画像ブロックを生成する。
【００１５】
直交変換手段３０５は、符号化対象画像ブロックと予測画像ブロックの差分信号を直交変換し、変換した差分信号を量子化手段３０６に供給する。
量子化手段３０６は、直交変換手段３０５で変換した差分信号を量子化し、量子化した差分信号を逆量子化手段３０７とエントロピー符号化手段３１１に供給する。
【００１６】
逆量子化手段３０７は、量子化手段３０６で量子化した差分信号を逆量子化し、逆量子化した差分信号を逆直交変換手段３０８に供給する。
逆直交変換手段３０８は、逆量子化手段３０７で逆量子化した差分信号を逆直交変換する。
【００１７】
動きベクトルメモリ３０９は、動きベクトル検出手段３０３で検出した動きベクトルを記憶する。
差分ベクトル算出手段３１０は、動きベクトル検出手段３０３で検出した動きベクトルと、動きベクトルメモリ３０９に記憶してある符号化対象画像ブロックの周辺ブロックの動きベクトルとの差分（以下差分ベクトルと呼ぶ）を算出する。そして、最も差分が小さくなる差分ベクトルと周辺ブロック選択情報とをエントロピー符号化手段３１１に供給する。
【００１８】
ここで、差分ベクトル算出手段３１０の動作について図７のフローチャートと図８を用いて説明する。
まず、図８のように、符号化対象画像ブロックの左側のブロックの動きベクトル（ＭＶ１）と、符号化対象画像ブロックの動きベクトルとの差分ベクトルを算出する（Ｓ２１）。算出した差分ベクトルが、値の最も小さい差分ベクトル（以下最小差分ベクトルと呼ぶ）かどうか判定し（Ｓ２２）、最小差分ベクトルの場合は、最小差分ベクトルをこの判定した差分ベクトルにおきかえることで更新する（Ｓ２３）。ここで、最初に判定するＭＶ１に対する差分ベクトルについては必ず最小差分ベクトルと判定する。また最小差分ベクトルの判定は、差分ベクトルのｘ成分ｙ成分の和で判定する。
【００１９】
これまでの処理を、符号化対象画像ブロックの上側のブロックの動きベクトル（ＭＶ２）、符号化対象画像ブロックの右上側のブロックの動きベクトル（ＭＶ３）について繰り返し（Ｓ２４）す。そして、決定した最小差分ベクトルと、最小差分ベクトルに対応するブロックの位置情報とを出力する（Ｓ２５）。
【００２０】
再び図３に戻って説明する。エントロピー符号化手段３１１は、量子化手段３０６で量子化した差分信号と、差分ベクトル算出手段３１０で選択した差分ベクトルと周辺ブロック選択情報とをそれぞれエントロピー符号化し、符号化データを外部に出力する。
【００２１】
以上の処理で符号化が行われる。
［従来の復号化装置」
次に、従来の動画像復号化装置の動作について図４を用いて説明する。
【００２２】
この従来の動画像復号化装置は図４に示すとおり、エントロピー復号化手段４０１と、画像メモリ４０２と、画像補間手段４０３と、動きベクトル算出手段４０４と、動きベクトルメモリ４０５と、動き補償手段４０６と、逆量子化手段４０７と、逆直交変換手段４０８と、から構成されている。
【００２３】
エントロピー復号化手段４０１は、入力した符号データをエントロピー復号化する。そして、復号化した差分ベクトルと周辺ブロック選択情報とを動きベクトル算出手段４０４に供給すると共に、復号化した差分信号を逆量子化手段４０７に供給する。
【００２４】
画像メモリ４０２は、既に全ブロックの復号が終了している復号画像を、次の復号対象画像の各ブロックの復号化に用いる為の参照画像として記憶する。
画像補間手段４０３は、参照画像の画素を補間した参照補間画像を生成する。
【００２５】
動きベクトル算出手段４０４は、エントロピー復号化手段４０１で復号化した周辺ブロック選択情報に応じて、動きベクトルメモリ４０５に記憶している復号化対象画像ブロックの周辺ブロックの動きベクトルの中から予測ベクトルを選択する。そして選択した周辺ブロックの予測ベクトルと、復号化した復号化対象画像ブロックの差分ベクトルとを加算することで復号化対象画像ブロックの完全な動きベクトルを算出する。算出した復号化対象画像ブロックの動きベクトルを、動きベクトルメモリ４０５と動き補償手段４０６に供給する。
【００２６】
動きベクトルメモリ４０５は、動きベクトル算出手段４０４で算出した動きベクトルを記憶する。
動き補償手段４０６は、動きベクトル算出手段４０４で算出した復号化対象画像ブロックの動きベクトルと、画像補間手段４０３で生成した参照補間画像とを用いて動き補償を行い、予測画像を生成する。
【００２７】
逆量子化手段４０７は、エントロピー復号化手段４０１で復号化した差分信号を逆量子化し、逆量子化した差分信号を逆直交変換手段４０８に供給する。
逆直交変換手段４０８は、逆量子化手段４０７で逆量子化した差分信号を逆直交変換する。
【００２８】
以上の処理で復号化が行われる。
【特許文献１】特開平１１−１１２９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２９】
前述の特許文献１の動画像符号化装置によれば、符号化対象画像ブロックの動きベクトルと周辺ブロックの動きベクトルとの差分が最も小さい最小差分ベクトルを予測ベクトルとすることによって、動きベクトルの符号量を削減できるとしている。
【００３０】
しかしながら、符号化対象画像ブロックに対して周辺のどの位置のブロックの動きベクトルを予測ベクトルとして選択したかという周辺ブロック選択情報を符号化する必要がある。従って、周辺ブロックの動きベクトルのメジアン（中央値）を予測ベクトルとする一般的な方式と比較して、動きベクトルの符号量増加の抑制効果はそれほど大きくなく、動きベクトル情報送信に必要な発生符号量増加の抑制効果も大きいとは言い難い。
【００３１】
また、従来の動画像符号化復号化装置では、動き補償の精度を向上させるために、実際の画素間の補間画素を増やして、画素の精度を細かくしていけばいくほど、動きベクトルの符号量が増加する。従って、一旦動き補償の精度を所定レベルに設定すると、その設定した精度よりも低い精度で動き補償を行えばよい場合においても動きベクトルは設定した動き補償精度を基に生成される。よって、本来精度を低くしたので動きベクトルの符号量も低く抑えたいのだが、はじめから動き補償精度を低く設定した場合に比較してあまり符号量が少なくならない。
【００３２】
本発明は上記課題を鑑みてなされたものである。
本発明は、符号化対象画像の実際の画素間に補間画素を挿入して動き補償の精度を向上させながらも、発生する動きベクトルの符号量の増加を最小限に抑制することが可能な動画像符号化復号化装置を実現することを目的とする。
【００３３】
また本発明は、動き補償の精度を高く設定しておいたまま低い精度の動き補償を行った場合に、動きベクトルの符号量を、はじめから動き補償精度を低く設定した場合と同等の低い量に押さえることが可能な動画像符号化復号化装置を実現することも目的とする。
【課題を解決するための手段】
【００３４】
そこで上記課題を解決するために本発明は、下記の装置を提供するものである。
（１）符号化対象画像を複数の画素の２次元配列からなる符号化対象画像ブロックに分割し、前記符号化対象画像ブロック単位で順次、動き補償予測符号化、直交変換符号化、量子化、エントロピー符号化を行い、かつ前記動き補償予測符号化を行う際に参照する画像として、既に符号化が完了した画像を再度復号化した画像の画素間に補間画素を挿入した参照補間画像を用いる動画像符号化装置において、
前記符号化対象画像ブロックにそれぞれ隣接する既に符号化が完了している複数の画像ブロックの動きベクトルから前記符号化対象画像ブロックの予測ベクトルを算出し、算出した前記予測ベクトルと実際に符号化を行って得られた前記符号化対象画像ブロックの動きベクトルとの差分である差分ベクトルを算出する、差分ベクトル算出手段（１１０）と、
前記差分ベクトル算出手段にて算出した差分ベクトルが、前記参照補間画像の実際の画素の位置を指し示す整数画素精度の差分ベクトルの場合は、前記整数の値に応じた偶数または奇数のうちいずれか一方の種類の第一の変換差分ベクトルを生成し、生成した前記第一の変換差分ベクトルに応じて第一の符号データを生成し、前記差分ベクトル算出手段にて算出した差分ベクトルが、前記参照補間画像の補間画素の位置を指し示す分数画素精度の差分ベクトルの場合は、前記分数画素精度の差分ベクトルの分子を分母で除算して得られる整数の値に応じた前記第一の変換差分ベクトルで採用した奇数または偶数と異なる他方の種類の第二の変換差分ベクトルを生成し、生成した前記第二の変換差分ベクトルに応じて第二の符号データを生成し、前記分数画素精度の差分ベクトルの分子を分母で除算して得られる剰余値をベクトル精度情報とし、前記ベクトル精度情報に応じた第三の符号データを生成する動きベクトル符号量抑制手段（１１１）と、
前記動きベクトル符号量抑制手段にて生成した前記第一の符号データ及び前記第二の符号データ及び前記第三の符号データと、符号化対象画像を符号化した符号化データを用いて前記エントロピー符号化を行い符号列データを生成すると共に、前記符号列データを外部へ出力するエントロピー符号化手段（１１２）と、
を有することを特徴とする動画像符号化装置。
（２）前記動画像符号化装置にて生成された符号列データを入力として、エントロピー復号化、逆量子化、逆直交変換復号化、動き補償予測復号化を行い、前記符号化対象画像を復号する動画像復号化装置において、
前記符号列データを入力として前記エントロピー復号化を行い、前記符号化対象画像の符号化データと、前記第一の符号データと、前記第二の符号データと、前記第三の符号データと、を生成する、エントロピー復号化手段（２０１）と、
前記エントロピー復号化手段により生成した前記第一の符号データに応じた前記第一の変換差分ベクトルを生成し、生成した前記第一の変換差分ベクトルに応じて整数画素精度の差分ベクトルを算出し、前記エントロピー復号化手段により生成した前記第二の符号データに応じた前記第二の変換差分ベクトルを生成し、生成した前記第二の変換差分ベクトルに応じた分数画素精度の差分ベクトルの整数値を算出し、前記エントロピー復号化手段により生成した前記第三の符号データに応じた前記ベクトル精度情報を生成し、算出した前記分数画素精度の差分ベクトルの整数値と前記ベクトル精度情報とを加算して分数画素精度の差分ベクトルを算出する、差分ベクトル算出手段（２０４）と、
今回の復号化の対象となる画像ブロックにそれぞれ隣接する既に復号化が完了している複数の画像ブロックの動きベクトルから前記復号化対象画像ブロックの予測ベクトルを算出し、算出した前記予測ベクトルと前記差分ベクトル算出手段にて算出した、前記整数画素精度の差分ベクトルまたは前記分数画素精度の差分ベクトルとを加算して、前記復号化対象画像ブロックの復号化に実際に使用する動きベクトルを生成する、動きベクトル算出手段（２０５）と、
を有することを特徴とする動画像復号化装置。
【発明の効果】
【００３５】
本発明によれば、符号化対象画像の実際の画素間に補間画素を挿入して動き補償の精度を向上させながらも、発生する動きベクトルの符号量の増加を最小限に抑制することが可能となる。
【００３６】
またベクトル精度情報の偏りを考慮して、出現確率の高いベクトル精度情報に短いビット長の符号を割り当てることにより、動きベクトルの符号量の増加を更に抑制することが可能となる。
【００３７】
更に本発明によれば、動き補償の精度を高く設定しておいたまま低い精度の動き補償を行った場合に、動きベクトルの符号量を、はじめから動き補償精度を低く設定した場合と同等の低い量に押さえることが可能となる。
【発明を実施するための最良の形態】
【００３８】
本発明の一実施例の動画像符号化復号化装置で用いる、補間画素を用いても動きベクトルの符号量の増加を抑えることが可能な、動きベクトル符号量抑制手段の内容を以下に説明する。本説明では動きベクトルを従来例で説明した差分ベクトルに置き換えて説明する。実際の符号化においては符号量を抑制するため、動きベクトルをそのまま使用するのではなく差分ベクトルを用いることが多いためである。
【００３９】
補間画素を用いて動き補償を行う場合の差分ベクトルの表現方法は前述の背景技術の項で説明したとおり、実際の画素までの位置を示す差分ベクトルは、整数として表すのが一般的であり、また補間画素までの位置を示す差分ベクトルは、整数と分数、または整数と少数で表すのが一般的である。本説明ではそれぞれを、整数画素精度の差分ベクトル、分数画素精度の差分ベクトルと定義しているのは前述したとおりである。
【００４０】
本実施例の動画像符号化復号化装置で用いる動きベクトル符号量抑制手段では上記整数画素精度の差分ベクトル、及び分数画素精度の差分ベクトルをそれぞれ以下のように変換する。
【００４１】
整数画素精度の差分ベクトルは、差分ベクトルの値に所定の偶数値（本説明では２）を乗算して偶数値に変換したものを、新たな整数画素精度の差分ベクトルとする。
また、分数画素精度の差分ベクトルは、差分ベクトルを整数部分と分数部分に分けて変換する。差分ベクトルの整数部分は、値に所定の偶数値（本説明では２）を乗算し、乗算結果に所定奇数値（本説明では１）を加算して奇数値に変換したものを分数画素精度の整数部分の差分ベクトルの値とする。差分ベクトルの分数部分は、別途規定する変換割当に従って変換し、変換した値をベクトル精度情報とする。そして、前記分数画素精度の整数部分の差分ベクトルの値と前記ベクトル精度情報との組み合わせで、新たな分数画素精度の差分ベクトルを構成する。
【００４２】
上記のような変換を施した各差分ベクトルを本説明では変換差分ベクトルと呼ぶ。
このように、差分ベクトルを符号データとする際に、整数画素精度の差分ベクトルを偶数値で表し、分数画素精度の差分ベクトルを奇数値とベクトル精度情報とで表すと、分数画素精度の差分ベクトルの場合にのみ、ベクトル精度情報を符号データとして付加すれば良くなる。従って、整数画素精度の差分ベクトルを符号データにする場合には、ベクトル精度情報を付加する必要が無いので、符号量は分数精度の差分ベクトルの約半分になり、全体的な差分ベクトルの符号量の増加を抑制できる。
【００４３】
また、分数画素精度の差分ベクトルを符号データにする場合は、ベクトル精度情報が独立した符号データとなる。従って、予めベクトル精度情報の出現確率に偏りが予想される場合には、出現確率の高いベクトル精度情報に短いビット長の符号を割り当てることにより、動きベクトルの符号量の増加を更に抑制できる。
【００４４】
本説明では、整数画素精度の差分ベクトルを偶数値に、分数画素精度の差分ベクトルの整数部分を奇数値に変換したが、もちろん整数画素精度の差分ベクトルを奇数値に、分数画素精度の差分ベクトルの整数部分を偶数値に変換しても良い。
【００４５】
以下、従来の場合と本実施例とで実際に符号割り当てを行った場合の符号量の比較を行った例を説明する。
図１０は、１／４画素精度の場合の従来の差分ベクトルと、その差分ベクトルへ割り当てる割当符号データの関係を示す表である。図１１はその差分ベクトルを求めた周辺ブロックの位置情報へ割り当てる割当符号データの関係を示す表である。
【００４６】
また図１２は、１／４画素精度の場合の従来の差分ベクトルと、その差分ベクトルに対応する本実施例の変換差分ベクトルと、その変換差分ベクトルへ割り当てる割当符号データとの関係を示す表である。図１３は、１／４画素精度の場合の従来の差分ベクトルと、その差分ベクトルに対応する本実施例のベクトル精度情報と、そのベクトル精度情報へ割り当てる割当符号データとを示す表である。
【００４７】
図１４は、上記のようにそれぞれ割り当てた各割当符号データに対して実際の動き補償時の動きベクトルの出現確率を付与した第一の例である。これは、１／４画素精度、２／４画素精度、３／４画素精度の動きベクトルの出現確率が同等な場合の例である。この例で実際の動き補償時の動きベクトルの符号量を、従来例と本実施例とで算出し比較してみる。
【００４８】
２０本の動きベクトルが出現確率通りに出現した場合を仮定する。従って出現確率５％につき動きベクトルは１回出現することになる。
このとき、従来の方法で動きベクトルを符号データとする場合は、差分ベクトルの符号量は、
（１bit×６回）    ［差分ベクトル０時］
＋（３bit×３回）    ［差分ベクトル１／４時］
＋（３bit×３回）    ［差分ベクトル２／４時］
＋（５bit×３回）    ［差分ベクトル３／４時］
＋（５bit×５回）    ［差分ベクトル１時］
＝６４bit
また上記差分ベクトルを求めた周辺ブロックの位置情報の符号量は、
（１bit×６回）    ［差分ベクトル０時］
＋（３bit×３回）    ［差分ベクトル１／４時］
＋（３bit×３回）    ［差分ベクトル２／４時］
＋（１bit×３回）    ［差分ベクトル３／４時］
＋（３bit×５回）    ［差分ベクトル１時］
＝４２bit
合計１０６ビットが差分ベクトルの符号量となる。
【００４９】
一方、本発明で動きベクトルを符号データとする場合は、変換差分ベクトルの符号量は、
（１bit×６回）    ［差分ベクトル０時］
＋（３bit×３回）    ［差分ベクトル１／４時］
＋（３bit×３回）    ［差分ベクトル２／４時］
＋（３bit×３回）    ［差分ベクトル３／４時］
＋（３bit×５回）    ［差分ベクトル１時］
＝４８bit
また、ベクトル精度情報の符号量は、
（１bit×３回）    ［差分ベクトル１／４時］
＋（２bit×３回）    ［差分ベクトル２／４時］
＋（２bit×３回）    ［差分ベクトル３／４時］
＝１２ビット
合計６０ビットが動きベクトルの符号量となる。
【００５０】
従って本実施例の方が従来例より４６ビット少ない符号量で同等の精度の動き補償が可能となる。
次に、図１５は、上記図１４の説明と同様に、それぞれ割り当てた各割当符号データに対して実際の動き補償時の動きベクトルの出現確率を付与した第二の例である。これは、１／４画素精度の動きベクトルの出現確率が他の分数画素精度の動きベクトルより高い場合の例である。このとき１／４画素精度の動きベクトルに割り当てている割当符号データのビット長が他の分数精度の動きベクトルの割当符号データのビット長より短くなっていることに着目する。
【００５１】
この例で実際の動き補償時の動きベクトルの符号量を、従来例と本実施例とで算出し比較してみる。
２０本の動きベクトルが出現確率通りに出現した場合を仮定する。従って出現確率５％につき動きベクトルは１回出現することになる。
【００５２】
このとき、従来の方法で動きベクトルを符号データとする場合は、差分ベクトルの符号量は、
（１bit×８回）    ［差分ベクトル０時］
＋（３bit×２回）    ［差分ベクトル１／４時］
＋（３bit×１回）    ［差分ベクトル２／４時］
＋（５bit×１回）    ［差分ベクトル３／４時］
＋（５bit×８回）    ［差分ベクトル１時］
＝６２bit
また上記差分ベクトルを求めた周辺ブロックの位置情報の符号量は、
（１bit×８回）    ［差分ベクトル０時］
＋（３bit×２回）    ［差分ベクトル１／４時］
＋（３bit×１回）    ［差分ベクトル２／４時］
＋（１bit×１回）    ［差分ベクトル３／４時］
＋（３bit×５回）    ［差分ベクトル１時］
＝３３bit
合計９５ビットが動きベクトルの符号量となる。
一方、本発明で動きベクトルを符号データとする場合は、変換差分ベクトルの符号量は、
（１bit×８回）    ［差分ベクトル０時］
＋（３bit×２回）    ［差分ベクトル１／４時］
＋（３bit×１回）    ［差分ベクトル２／４時］
＋（３bit×１回）    ［差分ベクトル３／４時］
＋（３bit×８回）    ［差分ベクトル１時］
＝４４bit
また、ベクトル精度情報の符号量は、
（１bit×２回）    ［差分ベクトル１／４時］
＋（２bit×１回）    ［差分ベクトル２／４時］
＋（２bit×１回）    ［差分ベクトル３／４時］
＝６ビット
合計５０ビットが動きベクトルの符号量となる
従って本実施例の方が従来例より４５ビット少ない符号量で同等の精度の動き補償が可能となる。
【００５３】
このように、本実施例によれば従来と比較して大幅に動きベクトルの符号量の増加を抑制できることがわかる。
またベクトル精度情報の偏りを考慮して、出現確率の高いベクトル精度情報に短いビット長の符号を割り当てることにより、動きベクトルの符号量の増加を更に抑制できることがわかる。
【００５４】
次に、前記１／４画素精度の動き補償を１／８画素精度など更に精度の良い動き補償に拡張しておき、実際には１／４画素精度の運用を行う場合の例を説明する。
図１６は１／８画素精度に拡張した時の、従来の差分ベクトルと、その差分ベクトルへ割り当てる割当符号データの関係を示す表である。
【００５５】
また図１７は１／８画素精度に拡張した時の、従来の差分ベクトルと、その差分ベクトルに対応する本実施例の変換差分ベクトルと、その変換差分ベクトルへ割り当てる割当符号データの関係を示す表である。図１８は１／８画素精度に拡張した時の、従来の差分ベクトルと、その差分ベクトルに対応する本実施例のベクトル精度情報と、そのベクトル精度情報へ割り当てる割当符号データを示す表である。
【００５６】
図１９は、上記のようにそれぞれ１／８画素精度に拡張して割り当てた割当符号データに対して実際の動き補償時の動きベクトルの出現確率を付与した例である。この例は１／４画素精度に動き補償精度を下げて運用する例なので、１／８、３／８、５／８、７／８の動きベクトルは実際には運用しないために出現確率は０％になっている。
【００５７】
このような条件で実際の動き補償時の動きベクトルの符号量を、従来例と本実施例とで算出し比較してみる。
２０本の動きベクトルが出現確率通りに出現した場合を仮定する。従って出現確率５％につき動きベクトルは１回出現することになる。
【００５８】
このとき、従来の方法で動きベクトルを符号データとする場合は、差分ベクトルの符号量は、
（１bit×８回）    ［差分ベクトル０時］
＋（３bit×０回）    ［差分ベクトル１／８時］
＋（３bit×２回）    ［差分ベクトル２／８時］
＋（５bit×０回）    ［差分ベクトル３／８時］
＋（５bit×１回）    ［差分ベクトル４／８時］
＋（５bit×０回）    ［差分ベクトル５／８時］
＋（５bit×１回）    ［差分ベクトル６／８時］
＋（７bit×０回）    ［差分ベクトル７／８時］
＋（７bit×８回）    ［差分ベクトル１時］
＝８０bit
また上記差分ベクトルを求めた周辺ブロックの位置情報の符号量は、
（１bit×８回）    ［差分ベクトル０時］
＋（３bit×２回）    ［差分ベクトル２／８時］
＋（３bit×１回）    ［差分ベクトル４／８時］
＋（１bit×１回）    ［差分ベクトル６／８時］
＋（３bit×５回）    ［差分ベクトル１時］
＝３３bit
合計１１３ビットが動きベクトルの符号量となる。
【００５９】
一方、本発明で動きベクトルを符号データとする場合は、変換差分ベクトルの符号量は、
（１bit×８回）    ［差分ベクトル０時］
＋（３bit×０回）    ［差分ベクトル１／８時］
＋（３bit×２回）    ［差分ベクトル２／８時］
＋（３bit×０回）    ［差分ベクトル３／８時］
＋（３bit×１回）    ［差分ベクトル４／８時］
＋（３bit×０回）    ［差分ベクトル５／８時］
＋（３bit×１回）    ［差分ベクトル６／８時］
＋（３bit×０回）    ［差分ベクトル７／８時］
＋（３bit×８回）    ［差分ベクトル１時］
＝４４bit
また、ベクトル精度情報の符号量は、
（５bit×０回）    ［差分ベクトル１／８時］
＋（１bit×２回）    ［差分ベクトル２／８時］
＋（５bit×０回）    ［差分ベクトル３／８時］
＋（３bit×１回）    ［差分ベクトル４／８時］
＋（５bit×０回）    ［差分ベクトル５／８時］
＋（３bit×１回）    ［差分ベクトル６／４時］
＋（５bit×０回）    ［差分ベクトル７／８時］
＝８ビット
合計５２ビットが動きベクトルの符号量となる
従って本実施例の方が従来例より６１ビット少ない符号量で同等の精度の動き補償が可能となる。
【００６０】
また、図１５の例で求めた符号量と比較すると、従来の場合は、はじめから１／４画素精度で動き補償を行った場合の符号量が９５ビットであるのに対して、今回の場合は１１３ビットとなり、かなり動きベクトルの符号量が増加してしまう。
【００６１】
一方本実施例によれば、はじめから１／４画素精度で動き補償を行った場合の符号量が５０ビットであるのに対して、今回の場合は５２ビットであり、ほとんど符号量が増加しないで済んでいることがわかる。
【実施例】
【００６２】
以下、上記で述べた動きベクトル符号量抑制手段を用いた、本発明の一実施例となる動画像符号化復号化装置の全体の動作を図面を参照しながら説明する。
本実施例の動画像符号化装置の動作について図２を用いて説明する。
［符号化装置］
本実施例の動画像符号化装置は、図１に示すとおり、画像メモリ１０１と、画像補間手段１０２と、動きベクトル検出手段１０３と、動き補償手段１０４と、直交変換手段１０５と、量子化手段１０６と、逆量子化手段１０７と、逆直交変換手段１０８と、動きベクトルメモリ１０９と、差分ベクトル算出手段１１０と、動きベクトル符号量抑制手段１１１と、エントロピー符号化手段１１２と、から構成されている。
【００６３】
画像メモリ１０１は、符号化対象画像の各ブロックを符号化し再度復号化した復号画像ブロックを、次の符号化対象画像の各ブロックの符号化に用いる為に所定数分（例えば１画面分）記憶する。
【００６４】
画像補間手段１０２は、前記複数の復号画像ブロックを結合して参照画像を生成し、更に前記参照画像の実際の画素間を所定数（本説明では３個）の補間画素で補間した参照補間画像を生成する。
【００６５】
動きベクトル検出手段１０３は、画像補間手段１０２で生成した参照補間画像を用いて符号化対象画像ブロックの動きベクトル検出を行う。そして検出した動きベクトルを動き補償手段１０４と差分ベクトル算出手段１１０に供給し、動きベクトルメモリ１０９に記憶する。
【００６６】
動き補償手段１０４は、動きベクトル検出手段１０３で検出した動きベクトルと画像補間手段１０２で生成した参照補間画像とを用いて動き補償を行い、予測画像ブロックを生成する。
【００６７】
直交変換手段１０５は、符号化対象画像ブロックと予測画像ブロックの差分信号を直交変換し、変換した直交変換信号を量子化手段１０６に供給する。
量子化手段１０６は、直交変換手段１０５で変換した差分信号を量子化し、量子化した量子化信号を逆量子化手段１０７とエントロピー符号化手段１１２に供給する。
【００６８】
逆量子化手段１０７は、量子化手段１０６で量子化した量子化信号を逆量子化し、逆量子化した逆量子化信号を逆直交変換手段１０８に供給する。
逆直交変換手段１０８は、逆量子化手段１０７で逆量子化した逆量子化信号を逆直交変換し、逆直交変換信号を生成する。
【００６９】
動きベクトルメモリ１０９は、動きベクトル検出手段１０３で検出した動きベクトルを所定数分（例えば４本）記憶する。
差分ベクトル算出手段１１０は、動きベクトルメモリ１０９に記憶してある符号化対象画像ブロックの周辺ブロックの動きベクトルから予測ベクトルを算出する。次に、この算出した予測ベクトルと動きベクトル検出手段１０３で検出した動きベクトルとの差分（以下差分ベクトルと呼ぶ）を算出する。そして、算出した差分ベクトルを動きベクトル符号量抑制手段１１１に供給する。
【００７０】
前記予測ベクトルの算出方法としては、例えば図８のＭＶ１〜ＭＶ３の各動きベクトルの中央値（メジアン）をとる方法がある。メジアンは、例えばＭＶ１が（−３,１）、ＭＶ２が（−２,５）、ＭＶ３が（２,４）の場合（−２,４）となる。予測ベクトルの算出方法は上記方法に限らず、周辺の各ブロックの動きベクトルの代表値を算出する方法であればどのような方法でもよい。
【００７１】
動きベクトル符号量抑制手段１１１の動作は、発明を実施するための最良の形態項で説明したとおりであるが再度簡単説明する。
差分ベクトル算出手段１１０で算出した差分ベクトルの値が整数画素精度の場合は、その差分ベクトル値を所定偶数（本説明では２）で乗算して偶数値に変換する。そして更に変換した偶数値（整数精度の変換差分ベクトル）を図１２の割当表に従って所定の割当符号データに変換し、エンロピー符号化手段１１２に供給する。
【００７２】
また差分ベクトルの値が分数画素精度の場合は、その差分ベクトル値の整数部分を所定偶数（本説明では２）で乗算し更に所定奇数値（本説明では１）を加えた奇数値に変換すると共に、小数点以下の分数部分の値を、差分ベクトルとは別にベクトル精度情報として生成する。そして、変換した奇数値（分数精度の変換差分ベクトル）を図１２の割当表に従って所定の割当符号データに変換し、エンロピー符号化手段１１２に供給する。またベクトル精度情報は図１３の割当表に従って所定の割当符号データに変換し、エンロピー符号化手段１１２に供給する。
【００７３】
本説明では、整数画素精度の差分ベクトルを偶数値に、分数画素精度の差分ベクトルの整数部分を奇数値に変換したが、もちろん整数画素精度の差分ベクトルを奇数値に、分数画素精度の差分ベクトルの整数部分を偶数値に変換しても良い。
【００７４】
エントロピー符号化手段１１２は、量子化手段１０６で量子化した量子化信号と、動きベクトル符号量抑制手段１１１で生成した各割当符号データとを多重化してエントロピー符号化し、生成した符号列データを外部に出力する。
【００７５】
ここで、動きベクトル符号量抑制手段１１１の動作について再度図９のフローチャートを用いて説明する。図９は、動きベクトル符号量抑制手段１１１のフローチャートである。まず、差分ベクトル算出手段１１０で算出された差分ベクトルの画素精度が、分数精度かどうか判定し（Ｓ１１）、分数精度ではなく整数精度の場合は、差分ベクトルを偶数値に変換して送信する（Ｓ１２）。分数精度の場合は、差分ベクトルを奇数値に変換して送信する（Ｓ１３）。また、分数精度の場合は、差分ベクトルとは別にベクトル精度情報を送信する（Ｓ１４）。
【００７６】
以上の処理で符号化が行われる。
［復号化装置］
次に、本実施例の動画像復号化装置の動作について図２を用いて説明する。
【００７７】
本実施例の動画像復号化装置は、図２に示すとおり、エントロピー復号化手段２０１と、画像メモリ２０２と、画像補間手段２０３と、差分ベクトル算出手段２０４と、動きベクトル算出手段２０５と、動きベクトルメモリ２０６と、動き補償手段２０７と、逆量子化手段２０８と、逆直交変換手段２０９と、から構成されている。
【００７８】
エントロピー復号化手段２０１は、入力した符号列データをエントロピー復号化する。そして、復号化して得られた各割当符号データを差分ベクトル算出手段２０４に供給すると共に、復号化した量子化信号を逆量子化手段２０８に供給する。
【００７９】
逆量子化手段２０８は、エントロピー復号化手段２０１で復号化した量子化信号を逆量子化して直交変換信号を生成し、逆直交変換手段２０９に供給する。
逆直交変換手段２０９は、逆量子化手段２０８で逆量子化した直交変換信号を逆直交変換し、逆直交変換信号を生成する。
【００８０】
差分ベクトル算出手段２０４は、エントロピー復号化手段２０１で復号化した
各割当符号データを、図１２及び図１３の割当表に従って変換差分ベクトルとベクトル精度情報とを生成する。
【００８１】
生成した変換差分ベクトルが偶数値（整数画素精度の変換差分ベクトル）の場合は、所定整数値（本説明では２）で除算して差分ベクトルを算出する。
生成した変換差分ベクトルが奇数値（分数画素精度の変換差分ベクトル）の場合は、１を減算した後に所定整数値（本説明では２）で除算して差分ベクトルの整数部分を算出し、更に動きベクトル精度情報を加算して、差分ベクトルを算出する。
【００８２】
例えば、変換差分ベクトルが３でベクトル精度情報が１／４の場合、差分ベクトルは１と１／４（または５／４）となる。また、変換差分ベクトルが６の場合、差分ベクトルは３となる
本説明では、整数画素精度の差分ベクトルを偶数値に、分数画素精度の差分ベクトルの整数部分を奇数値に変換している例であるが、もちろん整数画素精度の差分ベクトルを奇数値に、分数画素精度の差分ベクトルの整数部分を偶数値に変換していても同様の処理で実現できる。
【００８３】
動きベクトル算出手段２０５は、動きベクトルメモリ２０６に記憶している復号化対象画像ブロックの周辺ブロックの動きベクトルの中央値（メジアン）を算出する。この中央値が復号化対象画像ブロックの予測ベクトルとなる。そして、差分ベクトル算出手段２０４で算出した差分ベクトルを、予測ベクトルに加算することで動きベクトルを算出する。算出した動きベクトルを、動きベクトルメモリ２０６と動き補償手段２０７に供給する。
【００８４】
動きベクトルメモリ２０６は、動きベクトル算出手段２０５で算出した動きベクトルを所定ブロック数分記憶する。
動き補償手段２０７は、動きベクトル算出手段２０５で算出した復号化対象画像ブロックの動きベクトルと、画像補間手段２０３で生成した参照補間画像とを用いて動き補償を行い、予測画像ブロックを生成する。
【００８５】
画像メモリ２０２は、既に復号が終了した所定数の復号画像ブロックを、次の復号対象画像の各ブロックの復号化に用いる為に記憶する。
画像補間手段２０３は、前記複数の復号画像ブロックを結合して参照画像を生成し、更に前記参照画像の実際の画素間を所定数（本説明では３個）の補間画素で補間した参照補間画像を生成する。
【００８６】
逆直交変換手段２０９で生成した逆直交変換信号と動き補償手段２０７で生成した予測画像ブロックとを加算して復号画像ブロックを生成し、前記画像メモリ２０２に供給すると共に、復号画像ブロックを画像信号として外部に出力する。
【００８７】
以上の処理で復号化が行われる。
このように本実施例の動画像符号化復号化装置によれば、従来と比較して大幅に動きベクトルの符号量の増加を抑制することが可能となる。
【００８８】
またベクトル精度情報の偏りを考慮して、出現確率の高いベクトル精度情報に短いビット長の符号を割り当てることにより、動きベクトルの符号量の増加を更に抑制することが可能となる。
【００８９】
更に、動き補償の精度を高く設定しておいたまま低い精度の動き補償を行った場合に、動きベクトルの符号量を、はじめから動き補償精度を低く設定した場合と同等の低い量に押さえることが可能となる。
【００９０】
さらにまた、本発明は上記した動画像符号化装置の機能をコンピュータに実現させるためのプログラムも含むものである。これらのプログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【図面の簡単な説明】
【００９１】
【図１】本発明の動画像符号化装置の一実施の形態のブロック図である。
【図２】本発明の動画像復号化装置の一実施の形態のブロック図である。
【図３】従来の動画像符号化装置のブロック図である。
【図４】従来の動画像復号化装置のブロック図である。
【図５】１／２画素精度補間画素の様子を示した図である。
【図６】１／４画素精度補間画素の様子を示した図である。
【図７】従来の差分ベクトル算出手段３１０のフローチャートである。
【図８】従来の予測ベクトル選択の様子を示した図である。
【図９】動きベクトル符号量抑制手段１１１のフローチャートである。
【図１０】従来の１／４画素精度の場合の差分ベクトルへの割り当て符号を示した表である。
【図１１】従来の周辺ブロック位置情報への割り当て符号を示した表である。
【図１２】本実施例の１／４画素精度の場合の変換差分ベクトルへの割り当て符号の例を示す表である。
【図１３】本実施例の１／４画素精度の場合のベクトル精度情報への割り当て符号の例を示す表である。
【図１４】１／４画素精度の場合の従来と本実施例とで、動きベクトルの出現確率と出現回数の第一の具体例を示した表である。
【図１５】１／４画素精度の場合の従来と本実施例とで、動きベクトルの出現確率と出現回数の第二の具体例を示した表である。
【図１６】従来の１／８画素精度の場合の差分ベクトルへの割り当て符号を示した表である。
【図１７】本実施例の１／８画素精度の場合の変換差分ベクトルへの割り当て符号の例を示す表である。
【図１８】本実施例の１／８画素精度の場合のベクトル精度情報への割り当て符号の例を示す表である。
【図１９】１／８画素精度の場合の従来と本実施例とで、動きベクトルの出現確率と出現回数の具体例を示した表である。
【符号の説明】
【００９２】
１０１  画像メモリ
１０２  画像補間手段
１０３  動きベクトル検出手段
１０４  動き補償手段
１０５  直交変換手段
１０６  量子化手段
１０７  逆量子化手段
１０８  逆直交変換手段
１０９  動きベクトルメモリ
１１０  差分ベクトル算出手段
１１１  動きベクトル符号量抑制手段
１１２  エントロピー符号化手段
２０１  エントロピー復号化手段
２０２  画像メモリ
２０３  画像補間手段
２０４  動きベクトルメモリ
２０５  動きベクトル算出手段
２０６  動き補償手段
２０７  逆量子化手段
２０８  逆直交変換手段
【図１】
2006157531.tif 000003
【図２】
2006157531.tif 000004
【図３】
2006157531.tif 000005
【図４】
2006157531.tif 000006
【図５】
2006157531.tif 000007
【図６】
2006157531.tif 000008
【図７】
2006157531.tif 000009
【図８】
2006157531.tif 000010
【図９】
2006157531.tif 000011
【図１０】
2006157531.tif 000012
【図１１】
2006157531.tif 000013
【図１２】
2006157531.tif 000014
【図１３】
2006157531.tif 000015
【図１４】
2006157531.tif 000016
【図１５】
2006157531.tif 000017
【図１６】
2006157531.tif 000018
【図１７】
2006157531.tif 000019
【図１８】
2006157531.tif 000020
【図１９】
2006157531.tif 000021