(57)【要約】【課題】従来は、周波数的及び時間的に相関が少ないような一部の映像データに対しては適切な符号化を行うことができず、視覚上不適切な歪みを有する映像を発生させてしまうことがある。【解決手段】動きベクトル検出回路１３は、現在のピクチャのブロックＡ（ｘ，ｙ）に対して、参照すべきピクチャのブロックのうち、一番絶対値の誤差が小さいブロックＢ（ｉ，ｊ）を選び、ピクチャ内の全てのブロックに対して求めた差分の絶対値の最小値の総和をＭＥスコアとして求める。比較（誤差）回路１４は、フレームバッファ／前処理回路１１から取り出された映像データと、局部復号された映像データとの誤差を算出し、リファレンスバッファ１９の所定の基準値を制御する。動きベクトル検出回路１３は、ＭＥスコアの値がある回数時間的に継続して上記基準値を超えた場合、Ｉ又はＰピクチャの間隔Ｍの値を変更する。【選択図】            図１
2005012372.tif 000002
【特許請求の範囲】
【請求項１】
映像データの画像単位であるフレーム又はフィールドを所定数のブロックに分割して、前記ブロック単位に符号化を行う映像符号化装置であり、
映像データからフレーム内又はフィールド内圧縮符号化方法により生成したＩピクチャと、現在のフレーム又はフィールドの前記映像データと時間的に過去のフレーム又はフィールドの局部復号映像データから求めた動きベクトルに基づき符号化する前方向予測フレーム間又はフィールド間圧縮符号化方法により生成したＰピクチャと、現在のフレーム又はフィールドの前記映像データと時間的に過去及び未来の両方のフレーム又はフィールドの局部復号映像データから求めた動きベクトルに基づき符号化する双方向予測フレーム間又はフィールド間圧縮符号化方法により生成したＢピクチャのうち、少なくとも前記Ｉピクチャ及びＰピクチャを前記Ｉピクチャから次のＩピクチャの直前のピクチャまでの一定のピクチャ数Ｎを構成単位とするシンタックス構造の符号化データとして出力する映像符号化装置において、
前記前方向予測フレーム間又はフィールド間圧縮符号化方法又は前記双方向予測フレーム間又はフィールド間圧縮符号化方法での動き補償のための動きベクトルを求める処理の際に用いられる、前記映像データの現在のフレーム又はフィールドの前記ブロックである第１のブロックそれぞれに対して参照すべき局部復号映像データのフレーム又はフィールドのブロックのうち最も誤差が小さい第２のブロックを求め、フレーム又はフィールド内のすべての該第１のブロックのデータと該第２のブロックのデータとの差分の絶対値の最小値の総和を算出する算出手段と、
前記算出手段により算出された総和に応じて、前記ピクチャ数Ｎの構成単位におけるＩ又はＰピクチャの間隔Ｍを変更制御すると共に、前記ピクチャ数Ｎを変更後の前記Ｍの値のＫ倍（Ｋは自然数）に設定する制御手段と
を有することを特徴とする映像符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は映像符号化装置に係り、特に映像データの圧縮を目的とし、フレーム間の動き補償情報を用いて映像データを符号化する映像符号化装置に関する。
【０００２】
【従来の技術】
映像符号化方式として今日汎用的な方法としてはＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）によって規定された方法があり、中でもＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２  ）として規定された映像符号化方式はＤＶＤ（Ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）や、２０００年１２月から開始されたＢＳディジタル放送に採用され、２００３年に開始が予定されている地上波ディジタル放送にも採用が予定されている。これは、映像データの圧縮は圧縮率が高く、かつ、高画質な圧縮方法が望まれるが、ＭＰＥＧ２は映像の時間的な相関性と空間的な相関性及び人間の視覚的な特性を基にした高能率圧縮符号化を行う方式であり、上記の要求に応える符号化方式であるからである。このＭＰＥＧ２では、符号化装置の性能で符号化信号のデータ量と画質が決定される。
【０００３】
ここで、上記のＭＰＥＧ２では、映像データをフレーム内圧縮符号化して得られたＩピクチャと、前方向予測フレーム間圧縮符号化により生成したＰピクチャと、前方向と後方向の双方向の予測フレーム間符号化により生成したＢピクチャの３種類が規定されており、また、早送りなどのために、ＭＰＥＧではＩピクチャから次のＩピクチャが現れる直前までの複数ピクチャからなるＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）と称する構成単位を設けている。
【０００４】
そして、任意のフレームをＩピクチャとすることにより、そのフレームでの頭出しを可能とし、また、シーンチェンジの直後のフレームをＩピクチャとするようにした符号化を行う映像符号化装置が従来より知られている（例えば、特許文献１参照）。
【０００５】
すなわち、この特許文献１記載の従来の映像符号化装置では、１ＧＯＰ当りのフレーム数（Ｉピクチャが現れる周期のピクチャ数）をＮ、Ｉピクチャから一定のフレーム間隔で現れるＰピクチャの周期のピクチャ数（Ｉ又はＰピクチャの間隔フレーム数）をＭとしたとき、通常の映像データ符号化の際には、Ｉピクチャから次のＩピクチャまでのＧＯＰのＧＯＰ構造は、Ｎ＝Ｎ１、Ｍ＝Ｍ１とする第１のＧＯＰ構造で圧縮符号化を行い、シーンチェンジ直後のフレームのように強制的にＩピクチャにしたいフレームＩ１が、第１のＧＯＰ構造を続けたときのＩピクチャと一致しない場合は、Ｉ１から１又は２個前のＧＯＰにおいて、ＧＯＰ構造は第１のＧＯＰ構造と異なる第２又は第３のＧＯＰ構造で圧縮符号化を行う装置である。
【０００６】
【特許文献１】
特開平１０−３１３４６２号公報（特許請求の範囲）
【０００７】
【発明が解決しようとする課題】
しかるに、上記の従来の映像符号化装置では、ＭＰＥＧで規定される各種フレームの構造（シンタックス）を、シーンチェンジ直後のフレームがＩピクチャであるか否かに応じて変更するようにしているが、符号化される映像データは様々なものが想定されるにも拘らず、通常はある一定な範囲で想定した設定状態をもとにして符号化しているため、周波数的及び時間的に相関が少ないような一部の映像データに対しては適切な符号化を行うことができず、視覚上不適切な歪みを有する映像を発生させてしまうことがある。
【０００８】
本発明は以上の点に鑑みてなされたもので、ＭＰＥＧで規定される各種フレームの構造（シンタックス）を、符号化の際の動きベクトルの評価を行う過程で算出される値を基にして、シンタックス構造を変更することにより、効率的で視覚上不具合のない映像符号化を行うことが可能な映像符号化装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するため、本発明は、映像データの画像単位であるフレーム又はフィールドを所定数のブロックに分割して、ブロック単位に符号化を行う映像符号化装置であり、映像データからフレーム内又はフィールド内圧縮符号化方法により生成したＩピクチャと、現在のフレーム又はフィールドの映像データと時間的に過去のフレーム又はフィールドの局部復号映像データから求めた動きベクトルに基づき符号化する前方向予測フレーム間又はフィールド間圧縮符号化方法により生成したＰピクチャと、現在のフレーム又はフィールドの映像データと時間的に過去及び未来の両方のフレーム又はフィールドの局部復号映像データから求めた動きベクトルに基づき符号化する双方向予測フレーム間又はフィールド間圧縮符号化方法により生成したＢピクチャのうち、少なくともＩピクチャ及びＰピクチャをＩピクチャから次のＩピクチャの直前のピクチャまでの一定のピクチャ数Ｎを構成単位とするシンタックス構造の符号化データとして出力する映像符号化装置において、前方向予測フレーム間又はフィールド間圧縮符号化方法又は双方向予測フレーム間又はフィールド間圧縮符号化方法での動き補償のための動きベクトルを求める処理の際に用いられる、映像データの現在のフレーム又はフィールドの上記ブロックである第１のブロックそれぞれに対して参照すべき局部復号映像データのフレーム又はフィールドのブロックのうち最も誤差が小さい第２のブロックを求め、フレーム又はフィールド内のすべての該第１のブロックのデータと第２のブロックのデータとの差分の絶対値の最小値の総和を算出する算出手段と、算出手段により算出された総和に応じて、ピクチャ数Ｎの構成単位におけるＩ又はＰピクチャの間隔Ｍを変更制御すると共に、ピクチャ数Ｎを変更後のＭの値のＫ倍（Ｋは自然数）に設定する制御手段とを有することを特徴とする。
【００１０】
この発明では、動き補償のための動きベクトルを求めるための処理において算出される上記の総和を基にして、ピクチャ数Ｎの構成単位（ＧＯＰ）におけるＩ又はＰピクチャの間隔Ｍを変更制御すると共に、ピクチャ数Ｎを変更後のＭの値のＫ倍（Ｋは自然数）に設定するようにしたため、符号化されるべき映像データの符号化の際の予測効率が良いシーンと悪いシーンに応じてシンタックス構造を変更することができる。
【００１１】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に説明する。図１は本発明になる映像符号化装置の一実施の形態のブロック図を示す。本実施の形態は、入力された映像データをＭＰＥＧ２の規定に従った圧縮符号化を行う映像符号化装置である。ここで、ＭＰＥＧ２で実際に規定されているのは復号化の際のフォーマットのみであり、映像符号化装置は入力された映像データをＭＰＥＧ２の規定に則った形で符号化さえすればよく、従って符号化の際のデータ量と画質は映像符号化装置そのものの性能で決定されることになり、映像符号化装置内の符号化方法（映像符号化アルゴリズム）には非常に高い自由度がある。
【００１２】
図１において、入力された符号化されるべき映像データは、フレームバッファ／前処理回路１１に供給され、フレームバッファによりフレーム単位で一旦蓄積され、更に必要に応じて前処理回路部でフィルタ処理や、ダウンサンプリングなどの処理が行われた後、減算器１２、動きベクトル検出回路１３及び後述する比較（誤差）回路１４にそれぞれ供給される。
【００１３】
前記Ｉピクチャとなるフレーム（基準フレーム）の映像データは、減算器１２を経由してＤＣＴ／量子化回路１５に供給され、ここでフレーム内の冗長性を取り除くために、時間領域の映像データがＤＣＴ（離散コサイン変換）によって周波数領域のＤＣＴ係数に変換され、更に一般の放送などで扱う映像信号の特性と人間の視覚特性を考慮した形で量子化を行われて情報量が削減される。
【００１４】
ＤＣＴ／量子化回路１５によりＤＣＴ及び量子化された信号は、ＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）回路１６に供給されて可変長符号化される一方、逆量子化／ＩＤＣＴ回路１７に供給されて逆量子化及び逆ＤＣＴ変換され、局部復号された映像データとされた後、加算器１８を経由してリファレンスバッファ１９に供給されて格納される。ＶＬＣ回路１６から出力された可変長符号化データは、多重化装置２２を経由して出力される。
【００１５】
次に、映像データの前記Ｐピクチャ又はＢピクチャとなる例えばｎ番目のフレームにおいては、動きベクトル検出回路１３において、フレームバッファ／前処理回路１１から取り出されたｎ番目のフレームの映像データと、リファレンスバッファ１９から読み出された、局部復号されたｎ−ｉ番目とｎ＋ｊ番目（ｉ，ｊ≠０）の映像データ（参照画像データ）との間で、マクロブロック間の誤差が算出されて、画像間の動きベクトルとして動き補償予測回路２０に供給される。
【００１６】
また、動きベクトル検出回路１３の出力信号は、加算器１８に供給されて逆量子化／ＩＤＣＴ回路１７から出力される局部復号された映像データと加算されると共に、減算器１２に供給されてフレームバッファ／前処理回路１１から取り出されたｎ番目のフレームの映像データと減算され時間的な冗長性が除去される。すなわち、映像符号化で対象とする映像データは、一般的に連続する画像フレームの同位置での画素値が近い値であるという時間的な冗長性を持つ。そこで、ＭＰＥＧ２ではこの冗長性を取り除くために、あるフレームを符号化する際には、前後のフレーム間での動きを含んだ予測処理を行い、減算器１２で差分を算出する。減算器１２からの差分信号はＤＣＴ／量子化回路１５に出力される。
【００１７】
また、動き補償予測回路２０から取り出された動きベクトルの情報を示す信号は、ＶＬＣ回路２１で可変長符号化された後、多重化装置２２に供給され、ここでＶＬＣ回路１６から出力された可変長符号化されたデータと多重された後符号化データとして出力される。
【００１８】
また、レート制御回路２３は、予め設定されている符号化データの単位時間当たりのデータ量が適切な範囲で収まるように、量子化の際に必要な係数の設定を行い、ＤＣＴ／量子化回路１５の量子化の細かさなどを可変制御する。更に、本実施の形態では、後述するように、フレームバッファ／前処理回路１１から取り出された映像データと、加算器１８から出力された局部復号された映像データとの誤差を比較（誤差）回路１４で算出し、算出したその誤差により、リファレンスバッファ１９の所定の基準値を制御する。
【００１９】
ここで、多重化装置２２から出力されるＭＰＥＧ２の規定による符号化データは、前述したように、フレーム内符号化フレームであるＩピクチャと、フレーム間予測符号化フレームであるＰピクチャと、フレーム内挿符号化フレームであるＢピクチャのいずれかであり、これらはＩピクチャから次のＩピクチャの直前のピクチャまでの複数のピクチャからなるＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）と称する構成単位で出力される。
【００２０】
いま、１ＧＯＰ当りのピクチャ数（フレーム数）をＮ、Ｉピクチャから次のＰピクチャの直前のピクチャまでのピクチャ数及びＰピクチャから次のＰピクチャの直前のピクチャまでのピクチャ数（以下、本明細書ではこれを「Ｉ又はＰピクチャの間隔」という）をＭ（≦Ｎ）で表現すると、Ｍ＝３、Ｍ＝２、Ｍ＝１の場合のピクチャ（フレーム）構造（シンタックス）は、図２（Ａ）、（Ｂ）、（Ｃ）に示される。Ｍ＝３の場合は、図２（Ａ）に示すように、Ｉピクチャから次のＰピクチャまでの間、又はＰピクチャから次のＰピクチャまでの間に存在するＢピクチャの個数が２つの場合である。
【００２１】
また、Ｍ＝２の場合は、図２（Ｂ）に示すように、Ｉピクチャから次のＰピクチャまでの間、又はＰピクチャから次のＰピクチャまでの間に存在するＢピクチャの個数が１つの場合であり、Ｍ＝１の場合は、図２（Ｃ）に示すように、Ｉピクチャから次のＰピクチャまでの間、又はＰピクチャから次のＰピクチャまでの間にはＢピクチャが存在しない。なお、図２中、矢印は予測の方向を示す。
【００２２】
一般的に動きの激しい映像の場合は、Ｍの値が大きいと予測がうまく当たらず、その場合はＭ＝１にして、予測距離を小さくしたほうが、符号化の効率が良い。逆に動きがゆっくりしている映像の場合には、Ｍ＝３にして、時間的な予測距離を大きくした方が符号化の効率が良くなる。
【００２３】
通常、Ｍの値は固定値で使用されることが多く、符号化の符号化レートに余裕がある場合は問題ないが、低い符号化レートで高画質を実現しようとした場合、シーンに応じてＭの値を変更した方が符号化効率は良くなる。
【００２４】
そこで、本実施の形態では、動きベクトル検出回路１３において算出されたＭＥスコア（後述で定義）を使用して、Ｉ又はＰピクチャの間隔Ｍの値を自動的に変更することで符号化効率を向上させる。
【００２５】
図３は本実施の形態によりＭ＝１、２、３の範囲でＭを自動的に変更するときの状態遷移図を示す。同図中、Ｒｘｙは、Ｍ＝ｘ（ｘ＝１〜３）の状態からＭ＝ｙ（ｙ＝１〜３）の状態へ遷移するときの確率を示す。また、Ｍ＝ｘの状態からＭ＝１、２、３のいずれかに遷移するときの確率の和は１である。すなわち、
Ｒｘ１＋Ｒｘ２＋Ｒｘ３＝１
である。本実施の形態では、ＭＥスコアの値に応じて、Ｉ又はＰピクチャの間隔Ｍの値を自動的に変更するが、その際のＭが変化する確率を示すのが上記のＲｘｙである。
【００２６】
次に、本発明の実施の形態におけるＭＥスコアの算出方法について説明する。ＭＥスコアは、参照画像（局部復号映像データ）を必要とするＰピクチャ又はＢピクチャを処理する際に求める値であり、Ｐピクチャの処理の際には時間的に前方向のピクチャの局部復号映像データのみ参照し、Ｂピクチャの処理の際には時間的に前後両方向のピクチャの局部復号映像データを参照して求める。
【００２７】
すなわち、図４（Ａ）に示す現在のピクチャ（フレーム）のブロックＡ（ｘ，ｙ）に対して、同図（Ｂ）に示す参照すべきピクチャ（フレーム）のブロックＢ（ｉ，ｊ）のうち、一番絶対値の誤差が小さいブロックＢ（ｉ，ｊ）を選び、ピクチャ内の全てのブロックＡ（ｘ，ｙ）に対して求めた差分（Ａ（ｘ，ｙ）−Ｂ（ｉ，ｊ））の絶対値の最小値の総和をＭＥスコア（ＭｅＳｃｏｒｅ）として定義する。なお、ＭＥスコアはフレーム単位で求められる。
【００２８】
この時、映像が余り大きく変化しないシーンの場合は、パターンマッチングにより変化が少ないブロックが選ばれ、その時の誤差は小さくなる。一方、映像が大きく変化した場合は、パターンマッチングによって一番誤差が小さなブロックを選んでも、一般に誤差が大きくなる。従って、この誤差を評価値として、フレーム間の予測が当たる／当たらないを判断できることになる。
【００２９】
一方、Ｍの値がｘからｙに変化する確率Ｒｘｙの値は、入力される映像データによって変化するが、各種の原画の映像データを予め多数使用し、各原画の映像データ毎に局部復号した同一フレームとの誤差を使用し、動きベクトル検出回路１３で誤差が最小となるようなＲｘｙを予め求めて保存しておく。これにより、映像を最適な画質で符号化することが可能なＲｘｙ値が決定されることになり、この確率Ｒｘｙにより各種映像フォーマットや符号化レートに応じたＭＥスコアでの遷移の際の基準値が決定される。
【００３０】
すなわち、図１の比較（誤差）回路１４は、フレームバッファ／前処理回路１１から取り出された映像データと、加算器１８から出力された局部復号された同一フレームの映像データとの誤差を算出し、算出したその誤差をリファレンスバッファ１９に供給する。これにより、リファレンスバッファ１９は実際に前記のＭ、Ｎを制御する際に動きベクトル検出回路１３で誤差が最小となるような予め求めておいたＲｘｙを、入力された誤差に基づき決定し、更にそのＲｘｙによって定義される確率から基準値を設定する。
【００３１】
一方、動きベクトル検出回路１３は、前述した方法で算出したＭＥスコアの値がある回数、例えば、Ｍ＝３であるときに時間的に８フレーム分継続して上記基準値を超えた場合、Ｍ＝１又はＭ＝２に変更する。このＭの値の変更は、Ｍの値に応じて参照すべきリファレンスバッファ１９の位置を決定する事で行われる。
【００３２】
また、Ｉ又はＰピクチャの間隔Ｍと、１ＧＯＰのピクチャ数Ｎとは整数比の関係である必要があるので、Ｍ＝３のときは１ＧＯＰのピクチャ数Ｎは、３の倍数（すなわち、Ｎ＝１２、１５など）であるが、上記のようにＭ＝２に変更されるとＮの値は偶数（すなわち、Ｎ＝１２、１４など）になるように変更され、Ｍ＝１に変更されるとＮの値は任意の値に変更される（変更しなくてもよい場合は、変更しなくてもよい）。Ｎの値は、Ｍの値に応じてそのＭの値の予め設定された自然数倍の値に決定され、ＭとＮの値が決定すると１ＧＯＰ当りのＢピクチャの数が自動的に決まる。
【００３３】
このように、本実施の形態によれば、ＭＰＥＧで規定される各種フレームの構造（シンタックス）を、符号化の際の動きベクトルの評価を行う過程で算出されるＭＥスコアを基にして、シンタックス構造を変更するようにしたため、予測効率が良いシーンと悪いシーンに応じてシンタックスを適宜切替えることが可能となり、効率的で視覚上不具合のない映像符号化を行うことができる。
【００３４】
なお、本発明は上記の実施の形態に限定されるものではなく、例えば、動きベクトル検出回路１３によりＭの値を変更する場合に、ある一定フレーム数でのＭＥスコア平均値が、Ｒｘｙによって定義される確率から設定された基準値を超えた場合、例えばＭ＝３からＭ＝２又はＭ＝１に変更するようにしてもよい。また、一つのフレームで上記基準値を超えたら即座にＭの値を変更することも可能である。
【００３５】
また、Ｒｘｙによって定義される確率から設定される基準値を、符号化される映像データから自動的に変更することも可能である（すなわち、自動学習モードを存在させる。）。更に、以上の実施の形態では、フレーム間予測を行う場合について説明したが、Ｉピクチャをフィールド内圧縮符号化方法により生成し、Ｐピクチャを前方向予測フィールド間圧縮符号化方法により生成し、Ｂピクチャを前後の双方向予測フィールド間圧縮符号化方法により生成する符号化装置にも適用可能である。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、動き補償のための動きベクトルを求めるための処理において算出される上記の総和を基にして、ピクチャ数Ｎの構成単位（ＧＯＰ）におけるＩ又はＰピクチャの間隔Ｍを変更制御すると共に、ピクチャ数Ｎを変更後のＭの値のＫ倍（Ｋは自然数）に設定することにより、符号化されるべき映像データの符号化の際の予測効率が良いシーンと悪いシーンに応じてシンタックス構造を変更するようにしたため、効率的で視覚上不具合のない映像符号化を行うことができる。また、本発明によれば、限られたデータ量の中でも、より最適な映像信号の符号化が期待できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のブロック図である。
【図２】ＧＯＰの各例を示す図である。
【図３】Ｍの状態遷移図である。
【図４】図１の装置において用いるＭＥスコアの算出方法の説明図である。
【符号の説明】
１１  フレームバッファ／前処理回路
１２  減算器
１３  動きベクトル検出回路
１４  比較（誤差）回路
１５  ＤＣＴ／量子化回路
１６、２１  ＶＬＣ回路
１７  逆量子化／ＩＤＣＴ回路
１８  加算器
１９  リファレンスバッファ
２０  動き補償予測回路
２２  多重化装置
２３  レート制御回路
【図１】
2005012372.tif 000003
【図２】
2005012372.tif 000004
【図３】
2005012372.tif 000005
【図４】
2005012372.tif 000006