(57)【要約】【課題】本発明は、動画像の画質劣化を抑えつつビットレートを低減できる符号化装置を提供する。【解決手段】符号化装置１は、差分画像生成部１１と、直交変換部１２と、量子化部１３と、逆量子化部１４と、逆直交変換部１５と、動き予測部１６と、動き補償部１７と、動き予測部１６からの動きベクトル（動きベクトル信号）に基づいて動きベクトルの分散値を算出する動きベクトル分散値算出部１８と、予め設定された分散値と量子化パラメータ補正値との対応関係に基づいて、動きベクトル分散値算出部１８が算出した分散値から量子化パラメータ補正値を算出すると共に、予め設定された量子化パラメータを量子化パラメータ補正値で補正する量子化パラメータ補正部１９と、多重化部２０とを備える。【選択図】図１
2010263263.tif 000002
【特許請求の範囲】
【請求項１】
複数のフレーム画像で構成される動画像の動き補償を行って、当該動画像を圧縮符号化する符号化装置において、
前記動画像における現フレーム画像の参照フレーム画像から、前記動画像を分割したブロック毎に動きベクトルを予測する動き予測部と、
前記参照フレーム画像と前記動きベクトルとに基づいて動き補償を行って、前記現フレーム画像を予測した予測フレーム画像を生成する動き補償部と、
前記現フレーム画像と前記予測フレーム画像との差分となる差分画像を生成する差分画像生成部と、
前記動き予測部が予測した動きベクトルに基づいて、全ての前記ブロックの前記動きベクトルを平均した平均ベクトルを算出し、前記動きベクトルと前記平均ベクトルとの差を２乗した値を算出すると共に、当該値を合計して前記分散値を算出する動きベクトル分散値算出部と、
予め設定された前記分散値と量子化パラメータ補正値との対応関係に基づいて、前記分散値から前記量子化パラメータ補正値を算出すると共に、予め設定された量子化パラメータを前記量子化パラメータ補正値で補正する量子化パラメータ補正部と、
前記量子化パラメータ補正部が補正した量子化パラメータに基づいて、前記差分画像の直交変換係数を量子化する量子化部と、
を備えることを特徴とする符号化装置。
【請求項２】
前記動きベクトル分散値算出部は、前記動きベクトルの大きさを、前記現フレーム画像と前記参照フレーム画像とのフレーム間隔数で除算し、除算した当該動きベクトルに基づいて、前記分散値を算出することを特徴とする請求項１に記載の符号化装置。
【請求項３】
複数のフレーム画像で構成される動画像の動き補償を行って、当該動画像を圧縮符号化するために、コンピュータを、
前記動画像における現フレーム画像の参照フレーム画像から、前記動画像を分割したブロック毎に動きベクトルを予測する動き予測部、
前記参照フレーム画像と前記動きベクトルとに基づいて動き補償を行って、前記現フレーム画像を予測した予測フレーム画像を生成する動き補償部、
前記現フレーム画像と前記予測フレーム画像との差分となる差分画像を生成する差分画像生成部、
前記動き予測部が予測した動きベクトルに基づいて、全ての前記ブロックの前記動きベクトルを平均した平均ベクトルを算出し、前記動きベクトルと前記平均ベクトルとの差を２乗した値を算出すると共に、当該値を合計して前記分散値を算出する動きベクトル分散値算出部、
予め設定された前記分散値と量子化パラメータ補正値との対応関係に基づいて、前記分散値から前記量子化パラメータ補正値を算出すると共に、予め設定された量子化パラメータを前記量子化パラメータ補正値で補正する量子化パラメータ補正部、
前記量子化パラメータ補正部が補正した量子化パラメータに基づいて、前記差分画像の直交変換係数を量子化する量子化部、
として機能させることを特徴とする符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフレーム画像で構成される動画像の動き補償を行って、動画像を圧縮符号化する符号化装置及びそのプログラムに関する。
【背景技術】
【０００２】
従来から、ＡＶＣ（Advanced Video Coding）／Ｈ．２６４、ＭＰＥＧ(Moving Picture Experts Group)−２等の圧縮符号化方式が広く用いられている（例えば、特許文献１参照）。従来の圧縮符号化方式では、既に符号化した参照フレーム画像から現フレーム画像への動きを予測して動き補償を行い、現フレーム画像の予測フレーム画像を生成するという、動き補償・予測を行っている。そして、従来の圧縮符号化方式では、この現フレーム画像と予測フレーム画像との差分画像に対して、ＤＣＴ変換を行い、ＤＣＴ変換係数を量子化パラメータにて量子化する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２４４５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ＡＶＣ／Ｈ．２６４の圧縮符号化方式において、量子化パラメータを固定した圧縮符号化を行なう場合、各マクロブロックの視覚的な劣化の目立ちやすさを考慮していない。具体的には、ＡＶＣ／Ｈ．２６４の圧縮符号化方式では、動きの単純な絵柄のマクロブロック及び動きの複雑な絵柄のマクロブロックに対しても、同じ量子化パラメータを用いている。このため、ＡＶＣ／Ｈ．２６４の圧縮符号化方式では、動きの激しいマクロブロックに対して、動きの滑らかなマクロブロックで画像の劣化が目立ってしまい、動画像の画質劣化を抑えつつビットレートを低減したいという強い要望がされている。
【０００５】
そこで、本発明は、動画像の画質劣化を抑えつつビットレートを低減できる符号化装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本願第１発明に係る符号化装置は、複数のフレーム画像で構成される動画像の動き補償を行って、動画像を圧縮符号化する符号化装置において、動き予測部と、動き補償部と、差分画像生成部と、動きベクトル分散値算出部と、量子化パラメータ補正部と、量子化部と、を備えることを特徴とする。
【０００７】
かかる構成によれば、符号化装置は、動き予測部によって、動画像における現フレーム画像の参照フレーム画像から、動画像を分割したブロック毎に動きベクトルを予測する。このブロックは、例えば、所定の大きさのマクロブロック、及び、このマクロブロックより小さいサブマクロブロックで構成される。また、符号化装置は、動き補償部によって、参照フレーム画像と動きベクトルとに基づいて動き補償を行って、現フレーム画像を予測した予測フレーム画像を生成する。そして、符号化装置は、差分画像生成部によって、現フレーム画像と予測フレーム画像との差分となる差分画像を生成する。
【０００８】
また、符号化装置は、動きベクトル分散値算出部によって、動き予測部が予測した動きベクトルに基づいて、全てのブロックの動きベクトルを平均した平均ベクトルを算出し、動きベクトルと平均ベクトルとの差を２乗した値を算出すると共に、値を合計して分散値を算出する。この分散値は、動きの複雑さを示すことになる。つまり、符号化装置は、動きベクトル分散値算出部によって、各マクロブロックの動きの複雑さを算出している。そして、符号化装置は、量子化パラメータ補正部によって、予め設定された分散値と量子化パラメータ補正値との対応関係に基づいて、分散値から量子化パラメータ補正値を算出すると共に、予め設定された量子化パラメータを量子化パラメータ補正値で補正する。つまり、符号化装置は、量子化パラメータ補正部によって、量子化パラメータに動きの複雑さを反映させている。さらに、符号化装置は、量子化部によって、量子化パラメータ補正部が補正した量子化パラメータに基づいて、差分画像の直交変換係数を量子化する。これによって、符号化装置は、視覚的な劣化が目立ちにくい動きが複雑な部分（人間の目の感度が低くなる部分）では粗い量子化を行い、視覚的な劣化が目立ち易い動きが滑らかな部分（人間の目の感度が高くなる部分）では細かい量子化を行う。
【０００９】
本願第２発明に係る符号化装置は、動きベクトル分散値算出部が、動きベクトルの大きさを、現フレーム画像と参照フレーム画像とのフレーム間隔数で除算し、除算した動きベクトルに基づいて、分散値を算出することを特徴とする。
【００１０】
ここで、例えば、ＡＶＣ／Ｈ．２６４等の圧縮符号化方式では、現フレーム画像に隣接するフレーム画像だけでなく、前後に２フレーム画像以上離れたフレーム画像を参照フレーム画像とすることができる（双予測）。この場合、現フレーム画像から参照フレーム画像が離れるほど動きベクトルの動き量が大きくなるため、この動きベクトルをそのまま用いると、算出した分散値が、動きの複雑さを正確に示さないことになる。従って、符号化装置は、現フレーム画像と参照フレーム画像とのフレーム間隔数に応じて動きベクトルの動き量を補正することで、分散値を正確に算出する。
【００１１】
なお、本願第１，２発明において、量子化パラメータ補正部が、−２以上２以下の範囲内で量子化パラメータ補正値を算出すると共に、算出した量子化パラメータ補正値を量子化パラメータに加算又は減算しても良い。この場合、符号化装置は、量子化パラメータの過補正を防止できる。
【００１２】
前記した課題を解決するため、本願第３発明に係る符号化プログラムは、複数のフレーム画像で構成される動画像の動き補償を行って、動画像を圧縮符号化するために、コンピュータを、動き予測部、動き補償部、差分画像生成部、動きベクトル分散値算出部、量子化パラメータ補正部、量子化部、として機能させることを特徴とする。
【００１３】
かかる構成によれば、符号化プログラムは、動き予測部によって、動画像における現フレーム画像の参照フレーム画像から、動画像を分割したブロック毎に動きベクトルを予測する。また、符号化プログラムは、動き補償部によって、参照フレーム画像と動きベクトルとに基づいて動き補償を行って、現フレーム画像を予測した予測フレーム画像を生成する。そして、符号化プログラムは、差分画像生成部によって、現フレーム画像と予測フレーム画像との差分となる差分画像を生成する。
【００１４】
また、符号化プログラムは、動きベクトル分散値算出部によって、動き予測部が予測した動きベクトルに基づいて、全てのブロックの動きベクトルを平均した平均ベクトルを算出し、動きベクトルと平均ベクトルとの差を２乗した値を算出すると共に、値を合計して分散値を算出する。つまり、符号化プログラムは、動きベクトル分散値算出部によって、各マクロブロックの動きの複雑さを算出している。そして、符号化プログラムは、量子化パラメータ補正部によって、予め設定された分散値と量子化パラメータ補正値との対応関係に基づいて、分散値から量子化パラメータ補正値を算出すると共に、予め設定された量子化パラメータを量子化パラメータ補正値で加減算して補正する。つまり、符号化プログラムは、量子化パラメータ補正部によって、量子化パラメータに動きの複雑さを反映させている。さらに、符号化プログラムは、量子化部によって、量子化パラメータ補正部が補正した量子化パラメータに基づいて、差分画像の直交変換係数を量子化する。これによって、符号化プログラムは、視覚的な劣化が目立ちにくい動きが複雑な部分（人間の目の感度が悪くなる部分）では粗い量子化を行い、視覚的な劣化が目立ち易い動きが滑らかな部分（人間の目の感度が良くなる部分）では細かい量子化を行う。
【発明の効果】
【００１５】
本発明によれば、以下のような優れた効果を奏する。
本願第１，３発明によれば、視覚的な劣化が目立ちにくい動きが複雑な部分では粗い量子化を行うと共に、視覚的な劣化が目立ち易い動きが滑らかな部分では細かい量子化を行うため、動画像の画質劣化を抑えつつビットレートを低減できる。
【００１６】
本願第２発明によれば、現フレーム画像と参照フレーム画像とのフレーム間隔数に応じて動きベクトルの動き量を補正して分散値を正確に算出するため、動画像の画質劣化を最小限に抑えることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る符号化装置の構成を示すブロック図である。
【図２】本発明の実施形態におけるブロックタイプを説明する図であり、（ａ）はマクロブロックタイプを示し、（ｂ）はサブマクロブロックタイプを示す。
【図３】図１の動きベクトル分散値算出部による動きベクトルの補正を説明する図であり、（ａ）は隣接するフレーム画像を参照フレーム画像とした図であり、（ｂ）はｍ枚離れたフレーム画像を参照フレーム画像とした図である。
【図４】図１の動きベクトル分散値算出部によるベクトルの割り当てを説明する図であり、（ａ）はベクトルを割り当てる前の図であり、（ｂ）はベクトルを割り当てた後の図である。
【図５】図１の符号化装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
［符号化装置の構成］
図１を参照して、本発明の実施形態に係る符号化装置の構成について説明する。符号化装置１は、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に従って、複数のフレーム画像で構成される動画像の動き補償を行って、動画像を圧縮符号化するものである。図１に示すように、符号化装置１は、差分画像生成部１１と、直交変換部１２と、量子化部１３と、逆量子化部１４と、逆直交変換部１５と、動き予測部１６と、動き補償部１７と、動きベクトル分散値算出部１８と、量子化パラメータ補正部１９と、多重化部２０とを備える。
【００１９】
差分画像生成部１１は、動画像を構成するフレーム画像において、符号化の対象となる現フレーム画像と、後記する動き補償部１７が生成した予測フレーム画像との差分となる差分画像を生成するものである。つまり、差分画像生成部１１は、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠して、現フレーム画像の動き補償予測誤差画像を出力する。このとき、差分画像生成部１１は、Ｙ（輝度信号）Ｃｂ（色差信号）Ｃｒ（色差信号）を「４：２：２」の割合とした映像信号として、フレーム画像が入力される。なお、差分画像生成部１１は、イントラ符号化（画面内符号化）を行う場合、現フレーム画像をそのまま直交変換部１２に出力しても良い。
【００２０】
直交変換部１２は、差分画像生成部１１からの差分画像に対して直交変換を行い、その結果である直交変換係数（ＤＣＴ変換係数）を出力するものである。ここで、直交変換部１２は、差分画像の輝度信号については、各マクロブロックを４×４画素のサブマクロブロックに分割し、整数精度ＤＣＴ変換（整数精度離散コサイン変換）を行う。なお、直交変換部１２は、イントラ符号化を行う場合、差分画像の輝度については、各マクロブロックを４×４画素のサブマクロブロックに分割し、整数精度ＤＣＴ変換を行う。その後、直交変換部１２は、整数精度ＤＣＴ変換された１６個のブマクロブロックの直流成分をまとめて、４×４の直流成分ブロックを生成する。そして、直交変換部１２は、この直流成分ブロックに対して離散アダマール変換を行う。
【００２１】
また、直交変換部１２は、差分画像の色差信号については、各マクロブロックを４×４画素のサブマクロブロックに分割し、整数精度ＤＣＴ変換を行う。その後、直交変換部１２は、整数精度ＤＣＴ変換された４個のブマクロブロックの直流成分をまとめて、２×２の直流成分ブロックを生成する。そして、直交変換部１２は、この直流成分ブロックに対して離散アダマール変換を行う。
【００２２】
なお、符号化装置１を、ＭＰＥＧ２，ＭＰＥＧ４等の他の圧縮符号化方式に適用する場合、直交変換部１２は、ＤＣＴ変換（離散コサイン変換）等の直交変換を行っても良い。
【００２３】
量子化部１３は、後記する量子化パラメータ補正部１９が補正した量子化パラメータに基づいて、直交変換部１２からの直交変換係数を量子化するものである。ここで、量子化部１３は、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠して、量子化パラメータが「６」増加すると量子化ステップが２倍となるように直交変換係数を量子化する。そして、量子化部１３は、直交変換係数を量子化した量子化データを、逆量子化部１４と多重化部２０とに出力する。
【００２４】
逆量子化部１４は、量子化部１３からの量子化データを逆量子化するものである。ここで、逆量子化部１４は、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠して、量子化データを逆量子化して直交変換係数に戻す。そして、逆量子化部１４は、逆量子化した直交変換係数を逆直交変換部１５に出力する。
【００２５】
逆直交変換部１５は、逆量子化部１４からの直交変換係数を逆直交変換するものである。ここで、逆直交変換部１５は、直交変換部１２と逆の手順にて、直交変換係数を逆直交変換して映像信号（参照フレーム画像）に戻す。そして、逆直交変換部１５は、この参照フレーム画像をフレームメモリ（不図示）に一時的に蓄積すると共に、フレームメモリに蓄積した参照フレーム画像を動き予測部１６と動き補償部１７とに出力する。
【００２６】
動き予測部１６は、逆直交変換部１５が出力した参照フレーム画像から、ブロック毎に動きベクトルを予測するものである。ここで、動き予測部１６は、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠して、現フレーム画像と、この現フレーム画像に前後するフレーム画像である参照フレーム画像とを用いて、動きベクトルを予測する。具体的には、動き予測部１６は、図２に示すような７種類のブロックタイプの何れかを選択し、現フレーム画像を選択したブロックタイプにそれぞれ分割する。そして、動き予測部１６は、分割したマクロブロック及びサブマクロブロック毎に、１又は２以上の参照フレーム画像を参照して動きベクトルを予測する。このとき、動き予測部１６は、符号化対象のマクロブロック及びサブマクロブロックに隣接する左ブロック、上ブロック及び右上ブロックの動きベクトルの中央値（メディアン値）を、垂直成分及び水平成分毎に選択し、符号化対象ブロックの動きベクトルを予測する。
【００２７】
また、動き予測部１６は、符号化対象のマクロブロックが８×１６画素又は１６×８画素の場合、前記した中央値ではなく、左ブロック、上ブロック及び右上ブロックの動きベクトルのうち、この符号化対象のマクロブロックを指し示しているものを用いて、動きベクトルを予測する。そして、動き予測部１６は、予測した動きベクトル、参照フレーム画像の番号等を含む動きベクトル信号を生成し、動き補償部１７と動きベクトル分散値算出部１８と多重化部２０とに出力する。
【００２８】
動き補償部１７は、逆直交変換部１５からの参照フレーム画像と動き予測部１６からの動きベクトル（動きベクトル信号）とに基づいて動き補償を行って、現フレーム画像を予測した予測フレーム画像を生成するものである。ここで、動き補償部１７は、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠して、動き補償を行う。具体的には、動き補償部１７は、輝度信号について、各係数が「１，−５，２０，２０，−５，１／３２」である６タップＦＩＲ（Finite Impulse Response）フィルタを用いて、１／２画素精度の予測信号を生成する。そして、動き補償部１７は、この予測信号に、２タップ平均値フィルタを適用して１／４画素精度の予測信号を生成する。
【００２９】
また、動き補償部１７は、色差信号については、４個の画素（色差信号）を１／８画素精度で線形補間して予測信号を生成する。具体的には、動き補償部１７は、４個の画素（色差信号）のそれぞれに、各画素から補間する画素までの距離に応じた係数を乗算し、１／８画素精度の予測信号を生成する。そして、動き補償部１７は、これらの予測信号を予測フレーム画像として差分画像生成部１１に出力する。
【００３０】
動きベクトル分散値算出部１８は、動き予測部１６からの動きベクトル（動きベクトル信号）に基づいて、全てのブロックの動きベクトルを平均した平均ベクトルを算出し、動きベクトルと平均ベクトルとの差を２乗した値を算出すると共に、値を合計して前記分散値を算出するものである。具体的には、動きベクトル分散値算出部１８は、下記式（１）で表すように、全てのブロックの動きベクトルを平均した平均ベクトルを算出する。なお、式（１）では、ＭＶが動きベクトルを示し、ＭＶａｖｅが平均ベクトルを示し、Ｎがブロックの合計数を示す。
【００３１】
【数１】
2010263263.tif 000003
【００３２】
また、動きベクトル分散値算出部１８は、下記式（２）で表すように、ブロック毎に動きベクトルと平均ベクトルとの差を２乗した値を算出すると共に、この値を合計して分散値を算出する。その後、動きベクトル分散値算出部１８は、算出した分散値を量子化パラメータ補正部１９に出力する。なお、式（２）では、ＭＶが動きベクトルを示し、ＭＶａｖｅが平均ベクトルを示し、Ｎがブロックの合計数を示し、Ｘが分散値を示す。
【００３３】
【数２】
2010263263.tif 000004
【００３４】
＜動きベクトル分散値算出部による動きベクトルの補正＞
以下、図３を参照して、動きベクトル分散値算出部１８による動きベクトルの補正について、説明する（適宜図１参照）。なお、図３（ａ）及び図３（ｂ）では、動きベクトルを矢印で図示した。
【００３５】
例えば、ＡＶＣ／Ｈ．２６４の圧縮符号化方式では、図３（ａ）に示すように、現フレーム画像に隣接するフレーム画像を参照フレーム画像とするだけでなく、図３（ｂ）に示すように、ｍ枚離れたフレーム画像を参照フレーム画像とすることができる。このとき、図３（ａ）及び図３（ｂ）では、現フレーム画像の動きベクトルの動き量が同じである。しかし、図３（ｂ）では、参照フレーム画像と現フレーム画像とがｍ枚離れているため、図３（ａ）よりも単位時間あたりの動きが小さいことは言うまでもない。言い換えると、現フレーム画像から参照フレーム画像が離れるほど動きが大きくなる。従って、動きベクトルの動き量をそのまま用いると、隣接するフレームを参照したときに比べて、算出した分散値が、動きの複雑さを正確に示さないことになる。
【００３６】
このため、動きベクトル分散値算出部１８は、式（３）で表すように、動き予測部１６からの動きベクトルの大きさ（動き量）を、現フレーム画像と参照フレーム画像とのフレーム間隔数で除算することが好ましい。その後、動きベクトル分散値算出部１８は、補正後の動きベクトルに基づいて、前記した式（１）及び式（２）を用いて分散値を算出する。このように、動きベクトル分散値算出部１８は、現フレーム画像と参照フレーム画像とのフレーム間隔数に応じて動きベクトルの動き量を補正して分散値を正確に算出するため、動画像の画質劣化を最小限に抑えることができる。なお、式（３）では、ＭＶが動きベクトルを示し、ｍが現フレーム画像と参照フレーム画像とのフレーム間隔数を示し、ＭＶ´が補正後の動きベクトルを示す。
【００３７】
【数３】
2010263263.tif 000005
【００３８】
＜動きベクトル分散値算出部によるベクトルの割り当て＞
以下、図４を参照して、動きベクトル分散値算出部１８によるベクトルの割り当てについて、説明する（適宜図１参照）。なお、図４（ａ）及び図４（ｂ）では、動き予測部１６が分割したブロックを実線で図示し、動きベクトルを実線矢印で図示した。また、図４（ｂ）では、動きベクトル分散値算出部１８が分割したブロックを破線で図示し、割り当てたベクトルを破線矢印で図示した。
【００３９】
例えば、ＡＶＣ／Ｈ．２６４の圧縮符号化方式では、図４（ａ）に示すように、マクロブロックより小さいサブマクロブロック単位で動きベクトルを生成して動き予測・補償を行うことができる。この場合、あるブロックでは、サブマクロブロック領域の方が、これ以外の領域よりも動きベクトルが多くなる。例えば、図４（ａ）では、１６×１６画素のマクロブロックを４個のサブマクロブロックに分割している。ここで、左上のサブマクロブロックでは４×４画素毎に４個の動きベクトルが生成され、左下のサブマクロブロックでは１個の動きベクトルが生成される。また、右上のサブマクロブロックでは８×４画素毎に２個の動きベクトルが生成され、右下のサブマクロブロックでは４×８画素毎に２個の動きベクトルが生成される。つまり、図４（ａ）に示すように、マクロブロックのうち最小となる、左上のサブマクロブロックに動きベクトルが偏っている。この場合、算出した分散値が、ブロック全体の動きの複雑さを正確に示さないことになる。
【００４０】
このため、動きベクトル分散値算出部１８は、ブロック内で動きベクトルが均一となるように、動きベクトルと同一のベクトルを、縦４画素横４画素毎に割り当てることが好ましい。具体的には、動きベクトル分散値算出部１８は、図４（ｂ）に示すように、８×４画素の右上のサブマクロブロックを、４×４画素単位となるように横方向に２分割する。そして、動きベクトル分散値算出部１８は、この右上のサブマクロブロックについて、４×４画素毎に動きベクトルが配置されるように、縦方向の動きベクトルを参照し、これと同一のベクトルを２個割り当てる。
【００４１】
また、動きベクトル分散値算出部１８は、４×８画素の右下のサブマクロブロックを、４×４画素単位となるように縦方向に２分割する。そして、動きベクトル分散値算出部１８は、この右下のサブマクロブロックについて、４×４画素毎に動きベクトルが配置されるように、横方向の動きベクトルを参照し、これと同一のベクトルを２個割り当てる。
【００４２】
また、動きベクトル分散値算出部１８は、８×８画素の左下のサブマクロブロックを、４×４画素単位となるように４分割する。そして、動きベクトル分散値算出部１８は、この左下のサブマクロブロックについて、４×４画素毎に動きベクトルが配置されるように、動きベクトルと同一のベクトルを４個割り当てる。その後、動きベクトル分散値算出部１８は、動きベクトルと割り当てたベクトルとを全て用いて、前記した式（１）、式（２）及び式（３）を用いて分散値を算出する。
【００４３】
このように、動きベクトル分散値算出部１８は、マクロブロック内で動きベクトルが均等となるようにベクトルを割り当てることで、各サブマクロブロック間における動きベクトルの偏りを解消して分散値を正確に算出できるため、動画像の画質劣化を最小限に抑えることができる。なお、動きベクトル分散値算出部１８は、４×４画素に分割されたサブマクロブロック（図４の左上のサブマクロブロック）については、ベクトルを割り当てなくとも良い。
【００４４】
以下、図１に戻り、符号化装置１の構成について、説明を続ける。
量子化パラメータ補正部１９は、予め設定された分散値と量子化パラメータ補正値との対応関係に基づいて、動きベクトル分散値算出部１８が算出した分散値から量子化パラメータ補正値を算出するものである。そして、量子化パラメータ補正部１９は、予め設定された量子化パラメータを量子化パラメータ補正値で補正し、この量子化パラメータ（図１ではＱＰと図示）を量子化部１３に出力する。
【００４５】
なお、量子化パラメータは、例えば、ＡＶＣ／Ｈ．２６４の圧縮符号化方式では、「０」から「５１」までの値となる。固定された量子化パラメータを用いるため、符号化装置１では、量子化パラメータは、例えば、シーケンス毎に量子化パラメータが「０」から「５１」までの固定値として、オペレータ等によって手動で設定される。
【００４６】
＜分散値の算出方法：第１例＞
以下、量子化パラメータ補正部１９による分散値の算出方法の具体例を説明する。
量子化パラメータ補正部１９は、下記式（４）で表される対応関係を用いて、量子化パラメータ補正値を算出する。なお、式（４）では、Ｔ１〜Ｔ４は閾値を示し、Ｘは分散値を示し、ΔＡ〜ΔＥは量子化パラメータ補正値を示す。
【００４７】
【数４】
2010263263.tif 000006
【００４８】
ここで、量子化パラメータ補正部１９は、−２以上２以下の範囲内で量子化パラメータ補正値を算出することが好ましい。例えば、前記した式（４）で表される対応関係において、ΔＡが「２」、ΔＢが「１」、ΔＣが「０」、ΔＤが「−１」、及び、ΔＥが「−２」と予め設定される。このとき、式（４）において、例えば、Ｔ１が「４０００」、Ｔ２が「３０００」、Ｔ３が「２０００」、及び、Ｔ４が「１０００」と予め設定される。このような対応関係を用いることで、量子化パラメータ補正部１９は、−２以上２以下の範囲内で量子化パラメータを算出できる。これによって、量子化パラメータ補正部１９は、量子化パラメータの過補正を防止できるため、量子化パラメータを適切な値に保つことができ、ビットレートの増加といった悪影響を抑えることができる。
【００４９】
＜分散値の算出方法：第２例＞
量子化パラメータ補正部１９は、分散値が予め設定した閾値（例えば、２５００）以上の場合には量子化パラメータ補正値を「＋２」とし、分散値が閾値未満の場合には量子化パラメータ補正値を「０」とする対応関係を用いて、量子化パラメータ補正値を算出する。
【００５０】
多重化部２０は、量子化部１３からの量子化データと、動き予測部１６からの動きベクトル（動きベクトル情報）とに基づいて、多重化を行う。ここで、多重化部２０は、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠して、エントロピー符号化（可変長符号化）を行う。具体的には、多重化部２０は、ＣＡＶＬＣ（コンテキスト適用型可変長符号化方式）を用いて、量子化データを多重化した多重化データ（符号化データ）を生成する。また、多重化部２０は、ＣＡＢＡＣ（コンテキスト適用型２値算術符号化方式）を用いて、量子化データや動きベクトル情報を多重化しても良い。そして、多重化部２０は、この多重化データを、図示を省略した復号化装置に出力する。
【００５１】
なお、符号化装置１は、動画像をアナログ−デジタル変換するＡ／Ｄ変換部や、フレーム画像の並べ替えを行うフレーム画像並替部を、差分画像生成部１１の前に備えても良い。また、符号化装置１は、ブロック歪を軽減するデブロッキング・フィルタを、逆直交変換部１５と動き予測部１６との間に備えても良い。
【００５２】
［符号化装置の動作］
以下、図５を参照して、図１の符号化装置の動作について説明する（適宜図１参照）。まず、符号化装置１は、逆直交変換部１５によって、直交変換係数を逆直交変換して、参照フレーム画像を生成する（ステップＳ１１）。
【００５３】
ステップＳ１１の処理に続いて、符号化装置１は、動き予測部１６によって、７種類のブロックタイプの何れかを選択し、現フレーム画像を選択したブロックタイプでそれぞれ分割する（ステップＳ１２）。また、符号化装置１は、動き予測部１６によって、分割したブロック毎に動きベクトルを予測する（ステップＳ１３）。
【００５４】
ステップＳ１３の処理に続いて、符号化装置１は、動き補償部１７によって、逆直交変換部１５からの参照フレーム画像とステップＳ１３で予測した動きベクトル（動きベクトル信号）とに基づいて動き補償を行って、現フレーム画像を予測した予測フレーム画像を生成する（ステップＳ１４）。
【００５５】
ステップＳ１４の処理に続いて、符号化装置１は、差分画像生成部１１によって、符号化の対象となる現フレーム画像と、ステップＳ１４で生成した予測フレーム画像との差分となる差分画像を生成する（ステップＳ１５）。
【００５６】
ステップＳ１５の処理に続いて、符号化装置１は、直交変換部１２によって、ステップＳ１５で生成した差分画像に対して整数精度ＤＣＴ変換、離散アダマール変換等の直交変換を行い、その結果である直交変換係数（ＤＣＴ変換係数）を出力する（ステップＳ１６）。
【００５７】
また、ステップＳ１３の処理に続いて、符号化装置１は、動きベクトル分散値算出部１８によって、動き予測部１６からの動きベクトル（動きベクトル信号）に基づいて、全てのブロックの動きベクトルを平均した平均ベクトルを算出し、動きベクトルと平均ベクトルとの差を２乗した値を算出すると共に、値を合計して分散値を算出する（ステップＳ１７）。ここで、符号化装置１は、動きベクトル分散値算出部１８によって、前記した動きベクトルの補正及びベクトルの割り当てを行うことが好ましい。
【００５８】
ステップＳ１７の処理に続いて、符号化装置１は、量子化パラメータ補正部１９によって、予め設定された対応関係を用いて、ステップＳ１７で算出した分散値に応じた量子化パラメータ補正値を算出する（ステップＳ１８）。ここで、量子化パラメータ補正部１９によって、前記した分散値の算出方法の第１例又は第２例で量子化パラメータ補正値を算出する。
【００５９】
ステップＳ１８の処理に続いて、符号化装置１は、量子化パラメータ補正部１９によって、予め設定された量子化パラメータを、ステップＳ１８で算出した量子化パラメータ補正値で補正する（ステップＳ１９）。ここで、符号化装置１は、量子化パラメータ補正部１９によって、−２以上２以下の範囲内で量子化パラメータ補正値を算出すると共に、算出した量子化パラメータ補正値を量子化パラメータに加算又は減算するこが好ましい。
【００６０】
つまり、符号化装置１は、ステップＳ１４〜ステップＳ１６の処理と、ステップＳ１７〜ステップＳ１９の処理とを、並行して実行することになる。
【００６１】
ステップＳ１９の処理に続いて、符号化装置１は、量子化部１３によって、ステップＳ１９で補正した量子化パラメータに基づいて、ステップＳ１６で直交変換した直交変換係数を量子化する（ステップＳ２０）。
【００６２】
ステップＳ２０の処理に続いて、符号化装置１は、ステップＳ２０で量子化した量子化データと、ステップＳ１３で予測した動きベクトル（動きベクトル情報）とに基づいて、エントロピー符号化等の多重化を行う（ステップＳ２１）。
【００６３】
以上のように、本発明の本実施形態に係る符号化装置１は、視覚的な劣化が目立ちにくい動きが複雑な部分では粗い量子化を行うと共に、視覚的な劣化が目立ち易い動きが複雑な部分では細かい量子化を行うため、動画像の画質劣化を抑えつつビットレートを低減できる。また、本発明の本実施形態に係る符号化装置１は、動きベクトル分散値算出部１８及び量子化パラメータ補正部１９以外の各部が、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠しているので、実装が容易でコストに優れる。さらに、本発明の本実施形態に係る符号化装置１は、生成した多重化データを、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠した復号化装置でそのまま復号させることができるので、専用の復号化装置を必要とせず、導入も容易である。
【００６４】
なお、本実施形態では、符号化装置１をＡＶＣ／Ｈ．２６４の圧縮符号化方式に適用する例で説明したが、動き補償を行う符号化方式であれば他の符号化方式にも適用できることは言うまでもない。この場合、符号化装置１は、動きベクトル分散値算出部１８及び量子化パラメータ補正部１９以外の各部が、適用する符号化方式に準拠しているので、実装が容易でコストに優れる。なお、符号化装置１は、動き予測部１６及び動き補償部１７として、特開２００５−１２５２７号公報に記載された発明を用いることもできる。
【００６５】
なお、フレーム画像を「４：２：２」のフォーマットとして説明したが、本発明は、これに限定されない。例えば、本発明は、「４：２：０」フォーマットのフレーム画像やモノクロフォーマットのフレーム画像も扱うことができる。
【００６６】
なお、本実施形態では、符号化装置１を独立した装置として説明したが、本発明では、一般的なコンピュータの記憶手段、演算装置等のハードウェア資源を、前記した各部として協調動作させるプログラムによって実現することもできる。このプログラムは、通信回線を介して配布しても良く、ＣＤ−ＲＯＭやフラッシュメモリ等の記録媒体に書き込んで配布しても良い。
【実施例１】
【００６７】
以下、本発明の実施例について、簡単に説明する（適宜図１参照）。本実施例に係る符号化装置１は、分散値の算出方法として、前記した第２例を採用した。具体的には、量子化パラメータ補正部１９において、閾値が「２５００」以上の場合には量子化パラメータ補正値を「＋１」と、対応関係を設定した。また、量子化パラメータ値は、シーケンス毎の固定値として「４６」に設定した。
【００６８】
この設定を行った符号化装置１と、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠した従来の符号化装置とに、ＩＴＥ標準動画像のＮｏ．４６(ｓｐｒｉｎｋｌｉｎｇ)を入力した。このとき、両符号化装置から出力された符号化データのビットレートを測定した。また、ＡＶＣ／Ｈ．２６４の圧縮符号化方式に準拠した復号化装置で、両符号化装置から出力された符号化データを復号化し、これら動画像を目視によって比較した。
【００６９】
この結果、本実施例に係る符号化装置１は、従来の符号化装置に比べ、符号化データのビットレートを３．５％程低減できることがわかった。また、両符号化装置の符号化データを復号化した動画像では、その画質の差を認識できなかった。つまり、本実施例に係る符号化装置１は、動画像の画質劣化を、従来の符号化装置と同程度に抑えられることがわかった。
【符号の説明】
【００７０】
１    符号化装置
１１  差分画像生成部
１２  直交変換部
１３  量子化部
１４  逆量子化部
１５  逆直交変換部
１６  動き予測部
１７  動き補償部
１８  動きベクトル分散値算出部
１９  量子化パラメータ補正部
２０  多重化部
【図１】
2010263263.tif 000007
【図２】
2010263263.tif 000008
【図３】
2010263263.tif 000009
【図４】
2010263263.tif 000010
【図５】
2010263263.tif 000011