(57)【特許請求の範囲】
【請求項１】
動画像データを構成するフレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴って上記フレーム画像データ間の相関値を算出する動きベクトル検出手段と、
上記動画像データを順次上記フレーム画像データ単位で上記動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成する圧縮符号化手段と、
上記符号化データを一旦蓄積して出力するバッファと、
上記フレーム画像データ間の上記相関値に基づいて上記符号化データの符号化データ量を予測し、当該予測した符号化データ量と、上記バッファのデータ蓄積量とに応じて上記動画像データのフレームレートを変更するフレームレート変更手段と
を具え、
上記動きベクトル検出手段は、
所定階層よりも下層の１又は複数の下階層で上記フレーム画像データ間の簡易動きベクトルを検出する下層動きベクトル検出手段と、
上記所定階層以上の１又は複数の上階層で上記簡易動きベクトルを用いて上記動きベクトルを検出する上層動きベクトル検出手段とを有し、
上記下層動きベクトル検出手段は、
上記フレームレートの変更前の上記動画像データに対して上記動きベクトルの検出対象となる全ての上記フレーム画像データ間で上記簡易動きベクトルを検出し、
上記上層動きベクトル検出手段は、
上記フレームレートの変更に伴い符号化対象として残された上記フレーム画像データ間でのみ上記簡易動きベクトルを用いて上記動きベクトルを検出する
動画像符号化装置。
【請求項２】
上記下層動きベクトル検出手段は、
上記簡易動きベクトルの検出に伴って上記相関値を算出する
請求項１に記載の動画像符号化装置。
【請求項３】
上記動画像データの各上記フレーム画像データから順次任意形状の抽出画像データを抽出するためのマスク画像データを生成するマスク画像データ生成手段
を具え、
上記圧縮符号化手段は、
上記マスク画像データに基づいて上記フレーム画像データから上記抽出画像データを抽出し、当該抽出した上記抽出画像データを上記動きベクトルを用いた動き補償予測符号化により圧縮符号化して上記符号化データを生成する
請求項２に記載の動画像符号化装置。
【請求項４】
動画像データを構成するフレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴って上記フレーム画像データ間の相関値を算出する動きベクトル検出ステップと、
上記動画像データを順次上記フレーム画像データ単位で上記動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成する圧縮符号化ステップと、
上記符号化データをバッファに一旦蓄積して出力する出力ステップと、
上記フレーム画像データ間の上記相関値に基づいて上記符号化データの符号化データ量を予測し、当該予測した符号化データ量と、上記バッファのデータ蓄積量とに応じて上記動画像データのフレームレートを変更するフレームレート変更ステップと
を具え、
上記動きベクトル検出ステップは、
所定階層よりも下層の１又は複数の下階層で上記フレーム画像データ間の簡易動きベクトルを検出する下層動きベクトル検出ステップと、
上記所定階層以上の１又は複数の上階層で上記簡易動きベクトルを用いて上記動きベクトルを検出する上層動きベクトル検出ステップとを有し、
上記下層動きベクトル検出ステップは、
上記フレームレートの変更前の上記動画像データに対して上記動きベクトルの検出対象となる全ての上記フレーム画像データ間で上記簡易動きベクトルを検出し、
上記上層動きベクトル検出ステップは、
上記フレームレートの変更に伴い符号化対象として残された上記フレーム画像データ間でのみ上記簡易動きベクトルを用いて上記動きベクトルを検出する
動画像符号化方法。
【請求項５】
動画像データを構成するフレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴って上記フレーム画像データ間の相関値を算出する動きベクトル検出ステップと、
上記動画像データを順次上記フレーム画像データ単位で上記動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成する圧縮符号化ステップと、
上記符号化データをバッファに一旦蓄積して出力する出力ステップと、
上記フレーム画像データ間の上記相関値に基づいて上記符号化データの符号化データ量を予測し、当該予測した符号化データ量と、上記バッファのデータ蓄積量とに応じて上記動画像データのフレームレートを変更するフレームレート変更ステップと
を具え、
上記動きベクトル検出ステップは、
所定階層よりも下層の１又は複数の下階層で上記フレーム画像データ間の簡易動きベクトルを検出する下層動きベクトル検出ステップと、
上記所定階層以上の１又は複数の上階層で上記簡易動きベクトルを用いて上記動きベクトルを検出する上層動きベクトル検出ステップと
を具え、
上記下層動きベクトル検出ステップは、
上記フレームレートの変更前の上記動画像データに対して上記動きベクトルの検出対象となる全ての上記フレーム画像データ間で上記簡易動きベクトルを検出し、
上記上層動きベクトル検出ステップは、
上記フレームレートの変更に伴い符号化対象として残された上記フレーム画像データ間でのみ上記簡易動きベクトルを用いて上記動きベクトルを検出する
ための動画像符号化プログラムが格納されたコンピュータ読取可能な動画像符号化プログラム格納媒体。
【請求項６】
動画像符号化装置に対して、
動画像データを構成するフレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴って上記フレーム画像データ間の相関値を算出する動きベクトル検出ステップと、
上記動画像データを順次上記フレーム画像データ単位で上記動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成する圧縮符号化ステップと、
上記符号化データをバッファに一旦蓄積して出力する出力ステップと、
上記フレーム画像データ間の上記相関値に基づいて上記符号化データの符号化データ量を予測し、当該予測した符号化データ量と、上記バッファのデータ蓄積量とに応じて上記動画像データのフレームレートを変更するフレームレート変更ステップと
を実行させ、
上記動きベクトル検出ステップは、
所定階層よりも下層の１又は複数の下階層で上記フレーム画像データ間の簡易動きベクトルを検出する下層動きベクトル検出ステップと、
上記所定階層以上の１又は複数の上階層で上記簡易動きベクトルを用いて上記動きベクトルを検出する上層動きベクトル検出ステップと
を実行させ、
上記下層動きベクトル検出ステップは、
上記フレームレートの変更前の上記動画像データに対して上記動きベクトルの検出対象となる全ての上記フレーム画像データ間で上記簡易動きベクトルを検出させ、
上記上層動きベクトル検出ステップは、
上記フレームレートの変更に伴い符号化対象として残された上記フレーム画像データ間でのみ上記簡易動きベクトルを用いて上記動きベクトルを検出させる
ための動画像符号化プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分の】
本発明は動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラムに関し、例えばインターネットを利用して動画像データを配信する際に当該動画像データを圧縮符号化する動画像符号化装置に適用して好適なものである。
【０００２】
【従来の技術】
近年、インターネットを利用した動画像データの配信方法として、ビデオカメラ等で被写体を撮像しながら得られる動画像データをインターネットを介してユーザのパーソナルコンピュータ等に送信することにより当該動画像データに基づく動画像をリアルタイムで見せるようにした、いわゆるストリーミングと呼ばれる配信方法が普及し始めている。
【０００３】
このようなストリーミングによる配信方法においては、インターネットのデータ転送速度が比較的低いために、送信側に例えばＭＰＥＧ２（Moving Picture Experts Group phase 2）と呼ばれる圧縮符号化方式を適用した動画像符号化装置が設けられている。
【０００４】
ここで、ＭＰＥＧ２方式は、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２／ＷＧ１１（International Organization for Standardization/International Electrotechnical Commission Joint Technical Committee/Sub Committee 2/Working Group 11）等の機関によって標準化され、動き補償予測符号化と離散コサイン変換（DCT:Discrete Cosine Transform ）とを組み合わせたハイブリット符号化方式を採用して規格化されている。
【０００５】
そして、このＭＰＥＧ２方式では、Ｉ（Intra ）ピクチャと呼ばれるフレーム内符号化画像（イントラ符号化画像）と、Ｐ（Predictive）ピクチャと呼ばれるフレーム間順方向予測符号化画像と、Ｂ（Bidirectionally predictive）ピクチャと呼ばれる双方向予測符号化画像との３種類のピクチャタイプが規定されており、これらＩピクチャ、Ｐピクチャ及びＢピクチャのうちいずれかを動画像データを構成するフレーム画像データに順次所定の順番で割り当てて圧縮符号化するように規定されている。
【０００６】
実際にこのＭＰＥＧ２方式では、フレーム内符号化、順方向予測符号化、逆方向予測符号化及び双方向予測符号化の４種類の予測モードが規定されており、Ｉピクチャを割り当てたフレーム画像については16画素×16ラインのマクロブロックと呼ばれる単位でフレーム内符号化により圧縮符号化し、Ｐピクチャを割り当てたフレーム画像についてはマクロブロック単位でフレーム内符号化又は順方向予測符号化のいずれかにより圧縮符号化し、さらにＢピクチャを割り当てたフレーム画像についてはマクロブロック単位でフレーム内符号化、順方向予測符号化、逆方向予測符号化及び双方向予測符号化のいずれかにより圧縮符号化するように規定されている。
【０００７】
【発明が解決しようとする課題】
ところで、図２６に示すように、ＭＰＥＧ２方式が適用された動画像符号化装置１においては、外部から供給される動画像データをフレーム画像データ単位で複数フレーム分の記録容量を有する入力用フレームメモリ２に取り込み、当該入力用フレームメモリ２に取り込んだフレーム画像データにＩピクチャ、Ｐピクチャ及びＢピクチャのうちいずれかを所定の順番で割り当てると共に、その割り当てたＩピクチャ、Ｐピクチャ及びＢピクチャを表すピクチャタイプ情報をフレーム画像データに対応付けて記録する。
【０００８】
ここで、演算器３は、入力用フレームメモリ２内でＩピクチャが割り当てられたフレーム画像データ（以下、これを第１のフレーム画像データと呼ぶ）については、順次マクロブロック単位のデータ（以下、これを第１のマクロブロックデータと呼ぶ）として読み出す。
【０００９】
このとき、動きベクトル検出器４は、演算器３により入力用フレームメモリ２から第１のマクロブロックデータが読み出される毎に当該第１のマクロブロックデータに対応するピクチャタイプ情報（すなわち、Ｉピクチャを表す）を読み出しており、そのピクチャタイプ情報に基づいて第１のマクロブロックデータをフレーム内符号化により圧縮符号化することを表す予測モードデータを生成してこれを動き補償器５及び可変長符号化器６に送出する。
【００１０】
これにより動き補償器５は、動きベクトル検出器４から与えられた予測モードデータ（フレーム内符号化を表す）に基づいて、対応する第１のマクロブロックデータに対する動き補償処理を停止する。
【００１１】
従って、演算器３は、入力用フレームメモリ２から第１のマクロブロックデータを読み出すと、このとき動き補償器５からは何らデータが与えられないことにより当該第１マクロブロックデータをそのまま離散コサイン変換器７に送出する。
【００１２】
離散コサイン変換器７は、演算器３から与えられた第１のマクロブロックデータを離散コサイン変換し、得られた離散コサイン変換係数を量子化器８に送出する。
【００１３】
量子化器８は、出力段に設けられたバッファ９における符号化データの蓄積量（以下、これをデータ蓄積量と呼ぶ）を所定周期で検出し、当該検出したデータ蓄積量に応じて量子化ステップを選定する。
【００１４】
これにより量子化器８は、離散コサイン変換器７から与えられた離散コサイン変換係数を対応する量子化ステップに基づいて量子化し、得られた量子化係数をその量子化ステップと共に可変長符号化器６及び逆量子化器１０に送出する。
【００１５】
可変長符号化器６は、量子化器８から与えられた量子化係数をハフマン符号等により可変長符号化（VLC:Variable Length Code）すると共に、当該量子化器８から与えられた量子化ステップ及び動きベクトル検出器４から与えられた予測モードデータも可変長符号化し、得られた符号化データをバッファ９を介して外部に出力する。
【００１６】
このようにして画像符号化装置１においては、入力用フレームメモリ２内の第１のフレーム画像データを順次第１のマクロブロックデータ単位でフレーム内符号化により圧縮符号化し、得られた符号化データを外部に出力する。
【００１７】
また、逆量子化器１０は、量子化器８から与えられた量子化係数を同様に量子化器８から与えられた量子化ステップに基づいて逆量子化し、得られた離散コサイン変換係数を逆離散コサイン変換器１１に送出する。
【００１８】
逆離散コサイン変換器１１は、逆量子化器１０から与えられた離散コサイン変換係数を逆離散コサイン変換（IDCT:Inverse Discrete Cosine Transform）し、得られた第１のマクロブロックデータを加算器１２に送出する。
【００１９】
加算器１２は、逆離散コサイン変換器１１から第１のマクロブロックデータが与えられると、このとき動き補償器５からは何らデータが与えられないことにより当該第１のマクロブロックデータをそのまま複数フレーム分の記録容量を有する参照用フレームメモリ１３に送出して格納し、かくして参照用フレームメモリ１３内に第１のフレーム画像データを再構築する。
【００２０】
一方、演算器３は、入力用フレームメモリ２内でＰピクチャが割り当てられたフレーム画像データ（以下、これを第２のフレーム画像データと呼ぶ）については、順次マクロブロック単位のデータ（以下、これを第２のマクロブロックデータと呼ぶ）として読み出す。
【００２１】
この場合、動きベクトル検出器４は、演算器３により入力用フレームメモリ２から第２のマクロブロックデータが読み出される毎に、当該入力用フレームメモリ２から同じ第２のマクロブロックデータとこれに対応するピクチャタイプ情報（すなわち、Ｐピクチャを表す）とを読み出すと共に、そのピクチャタイプ情報に基づいて第２のマクロブロックデータよりも順方向側（時間的に過去）の第１又は第２のフレーム画像データを順方向予測の参照用として読み出す。
【００２２】
そして、動きベクトル検出器４は、ブロックマッチング法により参照用の第１又は第２のフレーム画像データ内で第２のマクロブロックデータを複数の比較用ブロックデータと順次対応付けながら当該第２のマクロブロックデータ内の各画素の画素値と比較用ブロックデータのそれぞれ対応する画素の画素値との差分の絶対値の総和（以下、これを予測誤差と呼ぶ）を算出する。
【００２３】
これにより動きベクトル検出器４は、第２のマクロブロックデータと各比較用ブロックデータとの間で順次算出した予測誤差のうち最も値の小さい予測誤差（以下、これを特に最小予測誤差）を選定すると共に、その最小予測誤差を算出したときに用いた比較用ブロックデータ（以下、これを順方向近似ブロックデータと呼ぶ）を第２のマクロブロックデータと最も一致するものとして検出し、当該検出した順方向近似ブロックデータと第２のマクロブロックデータとの動き量により当該第２のマクロブロックデータの順方向の動きベクトルを検出する。
【００２４】
これに加えて、動きベクトル検出器４は、第２のマクロブロックデータ内の各画素の画素値の平均値を算出した後にその算出した平均値と各画素値との差分の絶対値の総和（以下、これを分散値と呼ぶ）を算出し、当該算出した分散値を最小予測誤差と比較する。
【００２５】
この結果、動きベクトル検出器４は、分散値が最小予測誤差よりも小さければ、第２のマクロブロックデータに対して各画素の分散（画素値のばらつき）が小さいために当該第２のマクロブロックデータをそのまま圧縮符号化しても符号化データのデータ量（以下、これを符号化データ量と呼ぶ）を比較的少なくし得ると判断し、その第２のマクロブロックデータをフレーム内符号化により圧縮符号化することを表す予測モードデータを生成してこれを動き補償器５及び可変長符号化器６に送出する。
【００２６】
これに対して、動きベクトル検出器４は、分散値が最小予測誤差よりも大きければ、第２のマクロブロックデータに対して各画素の分散（画素値のばらつき）が大きいために当該第２のマクロブロックデータを順方向予測符号化により圧縮符号化しなければ符号化データ量を少なくし難いと判断し、その第２のマクロブロックデータを順方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第２のマクロブロックデータの動きベクトルと共に動き補償器５及び可変長符号化器６に送出する。
【００２７】
これにより動き補償器５は、動きベクトル検出器４から第２のマクロブロックデータに対してフレーム内符号化を表す予測モードデータが与えられると、当該第２のマクロブロックデータに対する動き補償処理を停止する。
【００２８】
また、動き補償器５は、動きベクトル検出器４から第２のマクロブロックデータに対する動きベクトルと、順方向予測符号化を表す予測モードデータとが与えられると、動き補償処理を実行して参照用フレームメモリ１３から第２のマクロブロックデータよりも順方向側（時間的に過去）の第１又は第２のフレーム画像データを参照用として読み出す。
【００２９】
そして、動き補償器５は、その第１又は第２のフレーム画像データ内から動きベクトルに基づいて第２のマクロブロックデータと最も一致する演算用ブロックデータを抽出してこれを演算器３及び加算器１２に送出する。
【００３０】
演算器３は、入力用フレームメモリ２から読み出した第２のマクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、動き補償器５から演算用ブロックデータが与えられないことにより当該第２のマクロブロックデータをそのまま離散コサイン変換器７に送出する。
【００３１】
これにより動画像符号化装置１においては、第２のマクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、離散コサイン変換器７、量子化器８、可変長符号化器６、バッファ９、逆量子化器１０、逆離散コサイン変換器１１、加算器１２及び参照用フレームメモリ１３をそれぞれ上述した第１のマクロブロックデータを圧縮符号化するときと同様に動作させ、かくして第２のマクロブロックデータを量子化ステップ及び予測モードデータと共に可変長符号化し、得られた符号化データを外部に出力すると共に、圧縮した第２のマクロブロックデータを復号化して参照用フレームメモリ１３に格納するようになされている。
【００３２】
また演算器３は、入力用フレームメモリ２から読み出した第２のマクロブロックデータに対する予測モードとして順方向予測符号化が選択されたときには、動き補償器５から与えられた演算用ブロックデータを当該第２のマクロブロックデータから減算し、得られた差分データを離散コサイン変換器７に送出する。
【００３３】
この場合、離散コサイン変換器７は、演算器３から与えられた差分データを離散コサイン変換し、得られた離散コサイン変換係数を量子化器８に送出する。
【００３４】
また、量子化器８は、その離散コサイン変換係数を上述した第１のマクロブロックデータを処理したときと同様に選定した対応する量子化ステップに基づいて量子化し、得られた量子化係数をその量子化ステップと共に可変長符号化器６及び逆量子化器１０に送出する。
【００３５】
そして、可変長符号化器６は、その量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モード（順方向予測符号化を表す）並びに動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ９を介して外部に出力する。
【００３６】
このとき、逆量子化器１０は、量子化器８から与えられた量子化係数を同様に量子化器８から与えられた量子化ステップに基づいて逆量子化し、得られた離散コサイン変換係数を逆離散コサイン変換器１１に送出する。
【００３７】
また、逆離散コサイン変換器１１は、逆量子化器１０から与えられた離散コサイン変換係数を逆離散コサイン変換し、得られた差分データを加算器１２に送出する。
【００３８】
加算器１２は、逆離散コサイン変換器１１から与えられた差分データをこのとき動き補償器５から与えられた演算用ブロックデータと加算し、得られた第２のマクロブロックデータを参照用フレームメモリ１３に送出して格納する。
【００３９】
このようにして動画像符号化装置１においては、第２のフレーム画像データを順次第２のマクロブロックデータ単位で圧縮符号化したときにも参照用フレームメモリ１３内に第２のフレーム画像データを再構築する。
【００４０】
これに加えて、演算器３は、入力用フレームメモリ２内でＢピクチャが割り当てられたフレーム画像データ（以下、これを第３のフレーム画像データと呼ぶ）については、順次マクロブロック単位のデータ（以下、これを第３のマクロブロックデータと呼ぶ）として読み出す。
【００４１】
この場合、動きベクトル検出器４は、演算器３により入力用フレームメモリ２から第３のマクロブロックデータが読み出される毎に、当該入力用フレームメモリ２から同じ第３のマクロブロックデータとこれに対応するピクチャタイプ情報（すなわち、Ｂピクチャを表す）とを読み出すと共に、そのピクチャタイプ情報に基づいて第３のマクロブロックデータよりも順方向側（時間的に過去）の第１又は第２のフレーム画像データ及び逆方向側（時間的に未来）の第１又は第２のフレーム画像データを順方向予測、逆方向予測及び双方向予測の参照用として読み出す。
【００４２】
そして、動きベクトル検出器４は、上述した第２のマクロブロックデータのときと同様にブロックマッチング法により順方向側の第１又は第２のフレーム画像データ内で最小予測誤差（以下、これを特に順方向最小予測誤差と呼ぶ）となる順方向近似ブロックデータを検出するようにして第３のマクロブロックデータに対する順方向の動きベクトルを検出する。
【００４３】
同様に動きベクトル検出器４は、ブロックマッチング法により逆方向側の第１又は第２のフレーム画像データ内で最小予測誤差（以下、これを特に逆方向最小予測誤差と呼ぶ）となる比較用ブロックデータ（以下、これを逆方向近似ブロックデータと呼ぶ）を検出するようにして第３のマクロブロックデータに対する逆方向の動きベクトルを検出する。
【００４４】
さらに、動きベクトル検出器４は、このように検出した順方向近似ブロックデータ及び逆方向近似ブロックデータを平均化して平均近似ブロックデータを生成し、当該生成した平均近似ブロックデータと第３のマクロブロックデータとの予測誤差（以下、これを双方向予測誤差と呼ぶ）を算出する。
【００４５】
これにより動きベクトル検出器４は、順方向最小予測誤差、逆方向最小予測誤差及び双方向予測誤差のうち最も値の小さい１つの順方向最小予測誤差、逆方向最小予測誤差又は双方向予測誤差を選定すると共に、第３のマクロブロックデータに対しても上述した第２のマクロブロックデータのときと同様にして分散値を算出し、当該算出した分散値をその選定した１つの順方向最小予測誤差、逆方向最小予測誤差又は双方向予測誤差（以下、これを特に選定予測誤差と呼ぶ）と比較する。
【００４６】
この結果、動きベクトル検出器４は、分散値が選定予測誤差よりも小さければ、第３のマクロブロックデータに対して各画素の分散（ばらつき）が小さいために当該第３のマクロブロックデータをそのまま圧縮符号化しても符号化データ量を比較的少なくし得ると判断し、その第３のマクロブロックデータをフレーム内符号化により圧縮符号化することを表す予測モードデータを生成してこれを動き補償器５及び可変長符号化器６に送出する。
【００４７】
これに対して、動きベクトル検出器４は、分散値が選定予測誤差よりも大きければ、第３のマクロブロックデータに対して各画素の分散（ばらつき）が大きいために当該第３のマクロブロックデータをフレーム内符号化以外の予測モードで圧縮符号化しなければ符号化データ量を少なくし難いと判断する。
【００４８】
このとき、動きベクトル検出器４は、選定予測誤差が順方向最小予測誤差であれば、第３のマクロブロックデータを順方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第３のマクロブロックデータの順方向の動きベクトルと共に動き補償器５及び可変長符号化器６に送出する。
【００４９】
また、動きベクトル検出器４は、その選定予測誤差が逆方向最小予測誤差であれば、第３のマクロブロックデータを逆方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第３のマクロブロックデータの逆方向の動きベクトルと共に動き補償器５及び可変長符号化器６に送出する。
【００５０】
さらに、動きベクトル検出器４は、その選定予測誤差が双方向予測誤差であれば、第３のマクロブロックデータを双方向予測符号化により圧縮符号化することを表す予測モードデータを生成してこれを当該第３のマクロブロックデータの順方向及び逆方向の双方の動きベクトルと共に動き補償器５及び可変長符号化器６に送出する。
【００５１】
動き補償器５は、動きベクトル検出器４から第３のマクロブロックデータに対してフレーム内符号化を表す予測モードデータが与えられると、当該第３のマクロブロックデータに対する動き補償処理を停止する。
【００５２】
また、動き補償器５は、動きベクトル検出器４から第３のマクロブロックデータに対する順方向の動きベクトルと順方向予測符号化を表す予測モードデータとが与えられると、動き補償処理を実行して参照用フレームメモリ１３から第３のマクロブロックデータよりも順方向側（時間的に過去）の第１又は第２のフレーム画像データを参照用として読み出し、当該読み出した第１又は第２のフレーム画像データ内からその順方向の動きベクトルに基づいて第３のマクロブロックデータと最も一致する演算用ブロックデータを抽出してこれを演算器３及び加算器１２に送出する。
【００５３】
さらに、動き補償器５は、動きベクトル検出器４から第３のマクロブロックデータに対する逆方向の動きベクトルと逆方向予測符号化を表す予測モードデータとが与えられると、このときにも動き補償処理を実行して参照用フレームメモリ１３から第３のマクロブロックデータよりも逆方向側（時間的に未来）の第１又は第２のフレーム画像データを参照用として読み出し、当該読み出した第１又は第２のフレーム画像データ内からその逆方向の動きベクトルに基づいて第３のマクロブロックデータと最も一致する演算用ブロックデータを抽出してこれを演算器３及び加算器１２に送出する。
【００５４】
これに加えて、動き補償器５は、動きベクトル検出器４から第３のマクロブロックデータに対する順方向及び逆方向の双方の動きベクトルと双方向予測符号化を表す予測モードデータとが与えられたときにも動き補償処理を実行して参照用フレームメモリ１３から第３のマクロブロックデータよりも順方向側（時間的に過去）の第１又は第２のフレーム画像データと逆方向側（時間的に未来）の第１又は第２のフレーム画像データを参照用として読み出す。
【００５５】
そして、動き補償器５は、順方向側の第１又は第２のフレーム画像データ内から順方向の動きベクトルに基づいて第３のマクロブロックデータと最も一致する演算用ブロックデータを抽出すると共に、逆方向側の第１又は第２のフレーム画像データ内から逆方向の動きベクトルに基づいて第３のマクロブロックデータと最も一致する演算用ブロックデータを抽出し、これら抽出した２つの演算用ブロックデータを平均化して平均演算用ブロックデータを生成してこれを演算器３及び加算器１２に送出する。
【００５６】
演算器３は、入力用フレームメモリ２から読み出した第３のマクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、動き補償器５からは何らデータが与えられないことにより当該第３のマクロブロックデータをそのまま離散コサイン変換器７に送出する。
【００５７】
これにより動画像符号化装置１においては、第３のマクロブロックデータに対する予測モードとしてフレーム内符号化が選択されたときには、離散コサイン変換器７、量子化器８、可変長符号化器６、バッファ９、逆量子化器１０、逆離散コサイン変換器１１、加算器１２及び参照用フレームメモリ１３をそれぞれ上述した第１のマクロブロックデータを圧縮符号化するときと同様に動作させ、かくして第３のマクロブロックデータを量子化ステップ及び予測モードデータと共に可変長符号化し、得られた符号化データを外部に出力すると共に、圧縮した第３のマクロブロックデータを復号化して参照用フレームメモリ１３に格納する。
【００５８】
また、演算器３は、入力用フレームメモリ２から読み出した第３のマクロブロックデータに対する予測モードとして順方向予測符号化、逆方向予測符号化及び双方向予測符号化が選択されたときには、動き補償器５から与えられた演算用ブロックデータ又は平均演算用ブロックデータを当該第３のマクロブロックデータから減算し、得られた差分データを離散コサイン変換器７に送出する。
【００５９】
この場合、離散コサイン変換器７は、演算器３から与えられる差分データを離散コサイン変換し、得られた離散コサイン変換係数を量子化器８に送出する。
【００６０】
量子化器８は、その離散コサイン変換係数を上述した第１のマクロブロックデータを処理したときと同様に選定した対応する量子化ステップに基づいて量子化し、得られた量子化係数をその量子化ステップと共に可変長符号化器６及び逆量子化器１０に送出する。
【００６１】
そして、可変長符号化器６は、量子化係数の元になる第３のマクロブロックデータに対する予測モードとして順方向予測符号化が選定されたときには、当該量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モードデータ（順方向予測符号化を表す）並びに順方向の動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ９を介して外部に出力する。
【００６２】
また、可変長符号化器６は、量子化係数の元になる第３のマクロブロックデータに対する予測モードとして逆方向予測符号化が選定されたときには、当該量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モードデータ（逆方向予測符号化を表す）並びに逆方向の動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ９を介して外部に出力する。
【００６３】
さらに、可変長符号化器６は、量子化係数の元になる第３のマクロブロックデータに対する予測モードとして双方向予測符号化が選定されたときには、当該量子化係数をハフマン符号等により可変長符号化すると共に、対応する量子化ステップ及び予測モードデータ（双方向予測符号化を表す）並びに順方向及び逆方向の双方の動きベクトルも可変長符号化し、このようにして得られた符号化データをバッファ９を介して外部に出力する。
【００６４】
このとき、逆量子化器１０は、量子化器８から与えられた量子化係数を同様に量子化器８から与えられた量子化ステップに基づいて逆量子化し、得られた離散コサイン変換係数を逆離散コサイン変換器１１に送出する。
【００６５】
また、逆離散コサイン変換器１１は、逆量子化器１０から与えられた離散コサイン変換係数を逆離散コサイン変換し、得られた差分データを加算器１２に送出する。
【００６６】
そして、加算器１２は、逆離散コサイン変換器１１から与えられた差分データをこのとき動き補償器５から与えられた演算用ブロックデータ又は平均演算用ブロックデータと加算し、得られた第３のマクロブロックデータを参照用フレームメモリ１３に送出して格納する。
【００６７】
このようにして動画像符号化装置１においては、第３のフレーム画像データを順次第３のマクロブロックデータ単位で圧縮符号化したときにも、参照用フレームメモリ１３内に第３のフレーム画像データを再構築する。
【００６８】
かくしてこの動画像符号化装置１においては、動画像データを順次フレーム画像データ単位でＩピクチャ、Ｐピクチャ、当該Ｉピクチャ及びＰピクチャ間、又は２つのＰピクチャ間に位置するＢピクチャの順番を繰り返すようにして圧縮符号化し、得られた符号化データを外部に出力し得るようになされている。
【００６９】
ところでこのような動画像符号化装置１を用いた動画像データの配信においては、インターネットのデータ転送速度に合わせて動画像符号化装置１により動画像データを比較的高い圧縮率で圧縮符号化する分、ユーザに提供する動画像の画質（ノイズ等の有無を表す度合い）が劣化しており、配信する動画像に対して高画質化の要望が高まり始めている。
【００７０】
このため、かかる動画像データの配信においては、動画像符号化装置１に供給する動画像データから予めフレーム画像データを所定間隔で間引いてフレームレート（すなわち、動画像における単位時間当りのフレーム画像数）を変更した後に圧縮符号化する方法が提案されている。
【００７１】
かかる方法によれば、動画像データのフレームレートを下げて単位時間当りに圧縮符号化すべきフレーム画像データの数を少なくする分、残りのフレーム画像データを順次比較的低い圧縮率で圧縮符号化することによりユーザに提供する動画像を高画質化し得ると考えられている。
【００７２】
ところがこの方法によれば、動画像の絵柄の変化に係わらずに動画像データから単に所定間隔でフレーム画像データを間引いていることにより、その間引きによって残ったフレーム画像データ間において動画像の絵柄が著しく変化したときにはこれに応じて圧縮率が変化し、この結果、ユーザに提供する動画像の画質が変動する問題があった。
【００７３】
本発明は以上の点を考慮してなされたもので、所望の画質の動画像を適確に提供し得る動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラムを提案しようとするものである。
【００７４】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、動画像データを構成するフレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴ってフレーム画像データ間の相関値を算出する動きベクトル検出手段と、動画像データを順次フレーム画像データ単位で動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成する圧縮符号化手段と、符号化データを一旦蓄積して出力するバッファと、フレーム画像データ間の相関値に基づいて符号化データの符号化データ量を予測し、当該予測した符号化データ量と、バッファのデータ蓄積量とに応じて動画像データのフレームレートを変更するフレームレート変更手段とを設けるようにして、さらに動きベクトル検出手段に所定階層よりも下層の１又は複数の下階層でフレーム画像データ間の簡易動きベクトルを検出する下層動きベクトル検出手段と、所定階層以上の１又は複数の上階層で簡易動きベクトルを用いて動きベクトルを検出する上層動きベクトル検出手段とを設け、下層動きベクトル検出手段がフレームレートの変更前の動画像データに対して動きベクトルの検出対象となる全てのフレーム画像データ間で簡易動きベクトルを検出し、上層動きベクトル検出手段がフレームレートの変更に伴い符号化対象として残されたフレーム画像データ間でのみ簡易動きベクトルを用いて動きベクトルを検出するようにした。
【００７５】
従って本発明では、動きベクトル検出時の処理負荷を低減させて動画像データを順次フレーム画像データ単位で動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成しながら、当該動画像データに基づく動画像の絵柄の変化に応じて単位時間当りに圧縮符号化すべきフレーム画像データの数を適確に変更して圧縮率を安定させることができ、この結果、動画像の画質を安定させることができる。
【００７６】
【発明の実施の形態】
以下、図面について、本発明の一実施の形態を詳述する。
【００７７】
（１）動画像データ配信システムにおける動画像データの配信形態
図１に示すように、動画像データ配信システム２０においては、送信側にＩＳＯ／ＩＥＣ（International Organization for Standardization/International Electrotechnical Commission）等の機関によって規格化されたＭＰＥＧ４（Moving Picture Experts Group phase 4）と呼ばれる圧縮符号化方式を適用した動画像符号化装置２１が設けられている。
【００７８】
このＭＰＥＧ４方式では、ＭＰＥＧ２方式とほぼ同様に動画像データを順次フレーム画像データ単位で圧縮符号化するように規定されると共に、これに加えて動画像データのフレームレート（すなわち、動画像における単位時間当りのフレーム画像数）を変更し得るように規定されている。
【００７９】
また、このＭＰＥＧ４方式では、動画像の連続するフレーム画像から任意形状の画像を追跡しながら抽出し、当該抽出した画像（以下、これを抽出画像と呼ぶ）のデータ（以下、これを抽出画像データと呼ぶ）を順次圧縮符号化し得るように規定されている。
【００８０】
従って、この動画像データ配信システム２０においては、送信側でビデオカメラ２２を用いて被写体を撮像することにより得られた動画像データを動画像符号化装置２１に取り込み、当該動画像符号化装置２１においてその動画像データをフレームレートを適宜変更しながら圧縮符号化し、又は当該フレームレートを適宜変更しながら動画像データから抽出画像データを抽出して圧縮符号化し、得られた符号化ビットストリームをネットワーク送信装置２３からインターネット２４を介して受信側のパーソナルコンピュータ２５に送信する。
【００８１】
パーソナルコンピュータ２５は、ネットワーク送信装置２３からインターネット２４を介して送信された符号化ビットストリームを受信すると、当該受信した符号化ビットストリームを復号化して表示部に送出することにより当該表示部にフレームレートを変更した動画像又は当該フレームレートを変更した動画像内の抽出画像を表示する。
【００８２】
かくしてこの動画像データ配信システム２０においては、フレームレートを適宜変更しながら動画像データを配信し、又は当該フレームレートを適宜変更した動画像データから抽出画像データを抽出して配信することによりパーソナルコンピュータ２５を介してユーザに高画質化した動画像又は同様に高画質化した抽出画像を見せることができるようになされている。
【００８３】
（２）第１の実施の形態
図２において、３０は全体として第１の実施の形態による動画像符号化装置を示し、被写体（図示せず）を撮像している外部のビデオカメラ（図示せず）から供給される動画像データＤ１を順次フレーム画像データ単位で、フレームレート変更処理部３１に設けられた複数フレーム分の記録容量を有する入力用フレームメモリ３２に取り込む。
【００８４】
この場合、フレームレート変更処理部３１のフレーム構造変換器３３は、図３に示すように、入力用フレームメモリ３２にフレーム画像データを取り込む毎に当該取り込んだフレーム画像データに例えばＩピクチャ及びＰピクチャのピクチャタイプを１つのＩピクチャと所定数のＰピクチャとが順次交互に連続するような順番で割り当てると共に、そのＩピクチャ及びＰピクチャを表すピクチャタイプとこれらを割り当てたフレーム画像データ固有のフレーム識別情報とをピクチャ情報として入力用フレームメモリ３２に記録する。
【００８５】
動きベクトル検出処理部３４の動きベクトル検出器３５は、入力用フレームメモリ３２内でフレーム画像データにＩピクチャが割り当てられたときには、当該Ｉピクチャの割り当てられたフレーム画像データ（以下、これを第１のフレーム画像データと呼ぶ）のピクチャ情報を読み出す。
【００８６】
そして、動きベクトル検出器３５は、そのピクチャ情報に基づいて第１のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表し、かつ当該第１のフレーム画像データを順次マクロブロック単位のデータ（以下、これを第１のマクロブロックデータと呼ぶ）Ｄ２としてフレーム内符号化により圧縮符号化することを表す予測モードデータＤ３を生成し、当該生成した予測モードデータＤ３を動きベクトルバッファ３６に送出して蓄積する。
【００８７】
また、動きベクトル検出器３５は、入力用フレームメモリ３２内でフレーム画像データにＰピクチャが割り当てられたときには、当該Ｐピクチャの割り当てられたフレーム画像データ（以下、これを第２のフレーム画像データと呼ぶ）のピクチャ情報を読み出す。
【００８８】
そして、動きベクトル検出器３５は、そのピクチャ情報に基づいて対応する第２のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表し、かつ当該第２のフレーム画像データを順次マクロブロック単位のデータ（以下、これを第２のマクロブロックデータと呼ぶ）Ｄ４として順方向予測符号化により圧縮符号化することを表す予測モードデータＤ５を生成する。
【００８９】
これに加えて動きベクトル検出器３５は、このとき入力用フレームメモリ３２から第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に、当該第２のフレーム画像データと順方向側（時間的に過去）で隣接する第１又は第２のフレーム画像データＤ６を参照用として読み出す。
【００９０】
そして、動きベクトル検出器３５は、ブロックマッチング法により第２のマクロブロックデータＤ４を参照用の第１又は第２のフレーム画像データＤ６の所定のサーチ範囲内で複数の比較用ブロックデータと順次対応付けながら、当該第２のマクロブロックデータＤ４内の各画素の画素値と比較用ブロックデータのそれぞれ対応する画素の画素値との差分の絶対値の総和（以下、これを予測誤差と呼ぶ）を算出する。
【００９１】
これにより動きベクトル検出器３５は、第２のマクロブロックデータＤ４と各比較用ブロックデータとの間で順次算出した予測誤差のうち最も値の小さい予測誤差（以下、これを特に最小予測誤差）を選定する。
【００９２】
動きベクトル検出器３５は、その最小予測誤差を算出したときに用いた比較用ブロックデータ（以下、これを近似ブロックデータと呼ぶ）を第２のマクロブロックデータＤ４と最も一致するものとして検出し、当該検出した近似ブロックデータと第２のマクロブロックデータＤ４との動き量によりその第２のマクロブロックデータＤ４の動きベクトルＤ７を検出する。
【００９３】
かくして動きベクトル検出器３５は、入力用フレームメモリ３２内の第２のフレーム画像データに対して予測モードデータＤ５を生成すると共に、当該第２のフレーム画像データ内における各第２のマクロブロックデータＤ４の動きベクトルＤ７を検出すると、これら予測モードデータＤ５及び各動きベクトルＤ７を対応付けて動きベクトルバッファ３６に送出して蓄積する。
【００９４】
このようにして動きベクトル検出器３５は、入力用フレームメモリ３２にフレーム画像データが順次取り込まれてＩピクチャ及びＰピクチャが割り当てられると、その都度同様にして予測モードデータＤ３、Ｄ５を生成し、又は各第２のマクロブロックデータＤ４の動きベクトルＤ７を検出してこれらを動きベクトルバッファ３６に送出して蓄積する。
【００９５】
圧縮符号化部３７は、動きベクトル検出器３５により入力用フレームメモリ３２内の先頭の第１のフレーム画像データから順番に所定フレーム数分のフレーム画像データに対する予測モードデータＤ３、Ｄ５が生成され、又は各第２のマクロブロックデータＤ４の動きベクトルＤ７が検出されると第１及び第２のフレーム画像データに対する圧縮符号化を開始する。
【００９６】
実際上、圧縮符号化部３７において第１及び第２のフレーム画像データの圧縮符号化を開始すると、演算器３８は入力用フレームメモリ３２から先頭の第１のフレーム画像データを順次第１のマクロブロックデータＤ２単位で読み出す。
【００９７】
動き補償器３９は、第１及び第２のフレーム画像データに対する圧縮符号化を開始すると、動きベクトルバッファ３６から予測モードデータＤ３と、予測モードデータＤ５及び動きベクトルＤ７とを当該第１及び第２のフレーム画像データに対する圧縮符号化の順番に従って読み出し始め、演算器３８により入力用フレームメモリ３２から第１のマクロブロックデータＤ２が読み出されたときには、動きベクトルバッファ３６から読み出した対応する予測モードデータＤ３（フレーム内符号化を表す）に基づいて当該第１のマクロブロックデータＤ２に対する動き補償処理を停止する。
【００９８】
従って、演算器３８は、入力用フレームメモリ３２から第１のマクロブロックデータＤ２を読み出すと、このとき動き補償器３９からは何らデータが与えられないことにより当該第１のマクロブロックデータＤ２をそのまま離散コサイン変換器４０に送出する。
【００９９】
離散コサイン変換器４０は、演算器３８から与えられた第１のマクロブロックデータＤ２を離散コサイン変換し、得られた離散コサイン変換係数Ｋ１を量子化器４１に送出する。
【０１００】
量子化器４１は、出力段に設けられたバッファ４２における符号化データの蓄積量（以下、これをデータ蓄積量と呼ぶ）ＤＲを所定周期で検出し、当該検出したデータ蓄積量ＤＲに応じて量子化ステップＳＴを選定する。
【０１０１】
これにより量子化器４１は、離散コサイン変換器４０から与えられた離散コサイン変換係数Ｋ１を対応する量子化ステップＳＴに基づいて量子化し、得られた量子化係数Ｋ２をその量子化に用いた量子化ステップＳＴと共に可変長符号化器４３及び逆量子化器４４に送出する。
【０１０２】
可変長符号化器４３は、第１及び第２のフレーム画像データに対する圧縮符号化を開始すると、動きベクトルバッファ３６から予測モードデータＤ３と、予測モードデータＤ５及び動きベクトルＤ７とを当該第１及び第２のフレーム画像データに対する圧縮符号化の順番に従って読み出し始めており、量子化器４１から与えられた量子化係数Ｋ２をハフマン符号等により可変長符号化すると共に、当該量子化器４１から与えられた量子化ステップＳＴ及び動きベクトルバッファ３６から読み出した対応する予測モードデータＤ３を可変長符号化し、得られた符号化データＤ１０をバッファ４２に一旦蓄積することにより符号化データ量を平滑化した符号化ビットストリームＢＳ１として外部に出力する。
【０１０３】
このようにして画像符号化装置３０においては、入力用フレームメモリ３２内の第１のフレーム画像データを順次第１のマクロブロックデータＤ２単位でフレーム内符号化により圧縮符号化し得るようになされている。
【０１０４】
また、逆量子化器４４は、量子化器４１から与えられた量子化係数Ｋ２を同様に量子化器４１から与えられた量子化ステップＳＴに基づいて逆量子化し、得られた離散コサイン変換係数Ｋ３を逆離散コサイン変換器４５に送出する。
【０１０５】
逆離散コサイン変換器４５は、逆量子化器４４から与えられた離散コサイン変換係数Ｋ３を逆離散コサイン変換し、得られた第１のマクロブロックデータＤ１１を加算器４６に送出する。
【０１０６】
加算器４６は、逆離散コサイン変換器４５から第１のマクロブロックデータＤ１１が与えられると、このとき動き補償器３９からは何らデータが与えられていないことにより当該第１のマクロブロックデータＤ１１をそのまま複数フレーム分の記録容量を有する参照用フレームメモリ４７に送出して格納する。
【０１０７】
このようにして加算器４６は、第１のフレーム画像データの圧縮符号化により逆離散コサイン変換器４５から第１のマクロブロックデータＤ１１が順次与えられる毎に当該第１のマクロブロックデータＤ１１をそのまま参照用フレームメモリ４７に送出して格納することにより、参照用フレームメモリ４７内にこれら第１のマクロブロックデータＤ１１によって動き補償処理の参照用となる第１のフレーム画像データを再構築する。
【０１０８】
また、演算器３８は、入力用フレームメモリ３２から第１のフレーム画像データ内の全ての第１のマクロブロックデータＤ２を読み出すと、当該入力用フレームメモリ３２内の第２のフレーム画像データを符号化対象として順次第２のマクロブロックデータＤ４単位で読み出す。
【０１０９】
このとき動き補償器３９は、動きベクトルバッファ３６から読み出した対応する予測モードデータＤ５（順方向予測符号化を表す）に基づいて動き補償処理を実行して参照用フレームメモリ４７からこの時点に符号化対象となっている第２のフレーム画像データと順方向側（時間的に過去）で隣接する第１又は第２のフレーム画像データを参照用として読み出す。
【０１１０】
そして、動き補償器３９は、動きベクトルバッファ３６から与えられた対応する第２のマクロブロックデータＤ４の動きベクトルＤ７に基づいて参照用の第１又は第２のフレーム画像データ内から当該第２のマクロブロックデータＤ４と最も一致する演算用ブロックデータＤ１２を抽出してこれを演算器３８及び加算器４６に送出する。
【０１１１】
従って、演算器３８は、入力用フレームメモリ３２から第２のマクロブロックデータＤ４を読み出すと、このとき動き補償器３９から与えられた演算用マクロブロックデータＤ１２を当該第２のマクロブロックデータＤ４から減算し、得られた差分データＤ１３を離散コサイン変換器４０に送出する。
【０１１２】
この場合、離散コサイン変換器４０は、演算器３８から与えられた差分データＤ１３を離散コサイン変換し、得られた離散コサイン変換係数Ｋ４を量子化器４１に送出する。
【０１１３】
また、量子化器４１は、離散コサイン変換器４０から与えられた離散コサイン変換係数Ｋ４を上述した第１のマクロブロックデータを処理したときと同様に選定した対応する量子化ステップＳＴに基づいて量子化し、得られた量子化係数Ｋ５をその量子化ステップＳＴと共に可変長符号化器４３及び逆量子化器４４に送出する。
【０１１４】
これにより可変長符号化器４３は、量子化器４１から与えられた量子化係数Ｋ５をハフマン符号等により可変長符号化すると共に、当該量子化器４１から与えられた量子化ステップＳＴと動きベクトルバッファ３６から読み出した対応する予測モードデータＤ５及び動きベクトルＤ７も可変長符号化し、得られた符号化データＤ１４をバッファ４２に一旦蓄積することにより符号化データ量を平滑化した符号化ビットストリームＢＳ１として外部に出力する。
【０１１５】
このようにして画像符号化装置３０においては、入力用フレームメモリ３２内の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で順方向予測符号化により圧縮符号化し得るようになされている。
【０１１６】
このとき、逆量子化器４４は、量子化器４１から与えられた量子化係数Ｋ５を同様に量子化器４１から与えられた量子化ステップＳＴに基づいて逆量子化し、得られた離散コサイン変換係数Ｋ６を逆離散コサイン変換器４５に送出する。
【０１１７】
また、逆離散コサイン変換器４５は、逆量子化器４４から与えられた離散コサイン変換係数Ｋ６を逆離散コサイン変換し、得られた差分データＤ１５を加算器４６に送出する。
【０１１８】
加算器４６は、逆離散コサイン変換器４５から差分データＤ１５が与えられると、このとき動き補償器３９から演算用ブロックデータＤ１３が与えられていることにより当該差分データＤ１５と演算用ブロックデータＤ１３とを加算し、得られた第２のマクロブロックデータＤ１６を参照用フレームメモリ４７に送出して格納する。
【０１１９】
このようにして加算器４６は、第２のフレーム画像データの圧縮符号化により逆離散コサイン変換器４５から差分データＤ１５が与えられる毎に当該差分データＤ１５と、これに対応する演算用ブロックデータＤ１３とを加算して第２のマクロブロックデータＤ１６を生成し、当該生成した第２のマクロブロックデータＤ１６を参照用フレームメモリ４７に送出して格納することによりその参照用フレームメモリ４７内にこれら第２のマクロブロックデータＤ１６によって動き補償処理の参照用となる第２のフレーム画像データを再構築する。
【０１２０】
かくしてこの動画像符号化装置３０においては、図４に示すように、動画像データＤ１を順次フレーム画像データ単位でＩピクチャについてはフレーム内予測符号化により圧縮符号化すると共に、Ｐピクチャについては時間的に１フレーム分過去のＩピクチャ又はＰピクチャを用いた順方向予測符号化により圧縮符号化し、得られた符号化ビットストリームＢＳ１を外部に出力し得るようになされている。
【０１２１】
かかる構成に加えて、この動画像符号化装置３０（図２）の場合、動きベクトル検出器３５は、１フレーム分の各第２のマクロブロックデータＤ４に対する動きベクトルＤ７を検出する毎に、これら各第２のマクロブロックデータＤ４と参照用の第１又は第２のフレーム画像データＤ６との間で算出した予測誤差を利用して、符号化対象の第２のフレーム画像データの各画素の画素値と参照用の第１又は第２のフレーム画像データＤ６の対応する画素の画素値との差分の絶対値の総和（以下、これをフレーム間相関値と呼ぶ）ＳＨ１を算出し、当該算出したフレーム間相関値ＳＨ１をフレーム構造変換器３３に送出する。
【０１２２】
これによりフレーム構造変換器３３は、動きベクトル検出器３５から与えられたフレーム間相関値ＳＨ１に基づいて、符号化対象の第１及び第２のフレーム画像データを、それぞれ配信先で動画像が所望の画質となるように選定された圧縮率（以下、これを選定圧縮率と呼ぶ）で圧縮符号化することにより得られる符号化データＤ１０及びＤ１４のデータ量（以下、これを符号化予測データ量と呼ぶ）を予測する。
【０１２３】
そして、フレーム構造変換器３３は、符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化を開始すると、バッファ４２におけるデータ蓄積量ＤＲを例えば１フレーム分の第１及び第２のフレーム画像データを圧縮符号化する毎の所定周期で検出すると共に、当該検出したデータ蓄積量ＤＲを順次予め設定された所定の第１の閾値及び当該第１の閾値よりも小さい第２の閾値と比較する。
【０１２４】
この結果、フレーム構造変換器３３は、データ蓄積量ＤＲが第１の閾値から第２の閾値までの範囲内の値であれば、当該データ蓄積量ＤＲを検出した時点で圧縮符号化している第１又は第２のフレーム画像データに続いて符号化対象となる第１又は第２のフレーム画像データをほぼ選定圧縮率で圧縮符号化し得ると判断し、動画像データＤ１のフレームレートをそのまま変更しないようにする。
【０１２５】
これに対してフレーム構造変換器３３は、データ蓄積量ＤＲが第１の閾値よりも大きいときには、当該データ蓄積量ＤＲを検出した時点で圧縮符号化している第１又は第２のフレーム画像データに続いて符号化対象となる第１又は第２のフレーム画像データを選定圧縮率よりも高い圧縮率で圧縮符号化して符号化データ量を低減させることにより配信先で動画像の画質が低下すると判断する。
【０１２６】
このとき、フレーム構造変換器３３は、この時点で圧縮符号化している第１又は第２のフレーム画像データに続いて符号化対象となる所定フレーム数分の第１及び第２のフレーム画像データに対する符号化予測データ量と、バッファ４２から出力される符号化ビットストリームＢＳ１のビットレートとに基づいて当該所定フレーム数分の第１及び第２のフレーム画像データを選定圧縮率で圧縮符号化するときのデータ蓄積量ＤＲを推定する。
【０１２７】
そして、フレーム構造変換器３３は、その推定したデータ蓄積量ＤＲと、第１及び第２の閾値とに基づいて所定フレーム数分の第１及び第２のフレーム画像データから１又は複数の第２のフレーム画像データを選定し、当該選定した第２のフレーム画像データを入力フレームメモリ３２内から読出不可能な状態にして間引くことにより動画像データＤ１のフレームレートを下げて変更する。
【０１２８】
従って、フレーム構造変換器３２は、動画像データＤ１に基づく動画像の絵柄が急激に変化する等して第１又は第２のフレーム画像データから得られる符号化データ量と共にデータ蓄積量ＤＲが増加したときでも、当該増加したデータ蓄積量ＤＲに基づいて動画像データＤ１のフレームレートを下げることにより単位時間当りに圧縮符号化すべき第１及び第２のフレーム画像データの数を減らしてデータ蓄積量ＤＲが急激に増加することを防止し、この結果、圧縮率が急激に高くなることを未然に防止して動画像の画質が急激に劣化することを防止し得るようになされている。
【０１２９】
これに加えて、フレーム構造変換器３３は、このように動画像データＤ１のフレームレートを下げるときに所定フレーム数分の第１及び第２のフレーム画像データの符号化予測データ量を用いることにより、当該動画像データＤ１に基づく動画像において絵柄が複数フレームに渡って比較的激しく動くようなとき（すなわち、連続する第１及び第２のフレーム画像データ間のフレーム間相関値ＳＨ１が比較的低いとき）でも、予め単位時間当りに圧縮符号化すべき第１及び第２のフレーム画像データの数を低減させる分、圧縮率が複数フレームに渡って比較的高くなることを未然に防止して動画像の画質が複数フレームに渡って劣化することを防止し得るようになされている。
【０１３０】
またフレーム構造変換器３３は、このように動画像データＤ１のフレームレートを低下させても、バッファ４２のデータ蓄積量ＤＲを検出しており、当該検出したデータ蓄積量ＤＲが第２の閾値よりも小さいときには、符号化対象の第１及び第２のフレーム画像データを増やして圧縮符号化しても配信先で動画像に対する所望の画質を維持し得ると判断する。
【０１３１】
このとき、フレーム構造変換器３３は、現時点で圧縮符号化している第１又は第２のフレーム画像データに続いて符号化対象となる所定フレーム数分の第１及び第２のフレーム画像データ（間引きによって残っている第１及び第２のフレーム画像データ）及び当該所定フレーム数分の第１及び第２のフレーム画像データ間からすでに間引いている１又は複数の第２のフレーム画像データの符号化予測データ量と、バッファ４２から出力される符号化ビットストリームＢＳ１のビットレートとに基づいてこれら所定フレーム数分の第１及び第２のフレーム画像データ及びすでに間引いている第２のフレーム画像データを選定圧縮率で圧縮符号化するときのデータ蓄積量ＤＲを推定する。
【０１３２】
そして、フレーム構造変換器３３は、その推定したデータ蓄積量ＤＲと、第１及び第２の閾値とに基づいて、所定フレーム数分の第１及び第２のフレーム画像データ間からですでに間引いている第２のフレーム画像データのうち間引きを取り消す１又は複数の第２のフレーム画像データを選定し、当該選定した第２のフレーム画像データを入力フレームメモリ３２内から読出可能な状態にして間引きを取り消すことにより動画像データＤ１の低下させていたフレームレートを予め規定されているフレームレートを上回らないように上げて変更する。
【０１３３】
従って、フレーム構造変換器３３は、動画像データＤ１に基づく動画像の絵柄の変化が急激に減少する等して第１又は第２のフレーム画像データから得られる符号化データ量と共にデータ蓄積量ＤＲが低下したときでも、当該低下したデータ蓄積量ＤＲに基づいて動画像データＤ１のフレームレートを上げて単位時間当りに圧縮符号化すべき第１及び第２のフレーム画像データの数を増加させることによりデータ蓄積量ＤＲを第１及び第２の閾値の範囲内で増加させることができ、かくして動画像データＤ１のフレーム画像データを必要以上に間引いて動画像の画質が所望の画質よりも高くなって変動することを防止し得るようになされている。
【０１３４】
これに加えて、フレーム構造変換器３３は、このように動画像データＤ１のフレームレートを上げるときに所定フレーム数分の第１及び第２のフレーム画像データ及び当該所定フレーム数分の第１及び第２のフレーム画像データ間からすでに間引いている第２のフレーム画像データの符号化予測データ量を用いることにより、当該動画像データＤ１に基づく動画像において絵柄の変化が複数フレームに渡って比較的安定しているようなとき（すなわち、連続するフレーム画像データ間のフレーム間相関値ＳＨ１が比較的高いとき）でも、予め単位時間当りに圧縮符号化すべき第１及び第２のフレーム画像データの数を増やして動画像データＤ１を複数フレーム画像データに渡って必要以上に間引くことを防止し得るようになされている。
【０１３５】
実際上、フレーム構造変換器３３は、図５（Ａ）乃至（Ｃ）に示すように、動画像データＤ１のフレームレートを下げるときには、第１のフレーム画像データを残すことにより符号化ビットストリームＢＳ１の復号化時に動画像データＤ１を適確に復号化させ得るようになされている。
【０１３６】
また、フレーム構造変換器３３は、フレームレートの変更に伴い動画像データＤ１から複数のフレーム画像データを間引くときには、例えば第２のフレーム画像データを１フレームおきに間引くことにより動画像データＤ１に基づく動画像の連続性が著しく損なわれることを防止し得るようになされている。
【０１３７】
ところで、動画像データＤ１から第２のフレーム画像データを間引くと、当該間引いた第２のフレーム画像データと逆方向側（時間的に未来）で隣接していた残りの第２のフレーム画像データについては、その間引いた第２のフレーム画像データを参照用として用いて各マクロブロックデータＤ４の動きベクトルを検出していることにより動きベクトルの再検出が必要となる。
【０１３８】
このため、フレーム構造変換器３３は、動画像データＤ１の連続する第１及び第２のフレーム画像データから１フレームおきに１又は複数の第２のフレーム画像データを間引くと、当該間引いた第２のフレーム画像データ（以下、これを特に間引きフレーム画像データと呼ぶ）のフレーム識別情報（以下、これを特に間引きフレーム識別情報と呼ぶ）と、この間引きにより各マクロブロックデータＤ４の動きベクトルの再検出が必要となる第２のフレーム画像データ（以下、これを特に再検出フレーム画像データと呼ぶ）のフレーム識別情報（以下、これを特に再検出フレーム識別情報と呼ぶ）とを表すと共に、間引きによる動きベクトルの再検出が必要となることを表す動きベクトル再検出フラグＦＧ１を生成してこれを動きベクトル再検出器４８に送出する。
【０１３９】
これにより動きベクトル再検出器４８は、図５（Ｃ）に示すように、フレーム構造変換器３３から動きベクトル再検出フラグＦＧ１が与えられると、入力用フレームメモリ３２から当該動きベクトル再検出フラグＦＧ１によって指定された再検出フレーム識別情報の示す再検出フレーム画像データのピクチャ情報を読み出すことにより、当該読み出したピクチャ情報に基づいて再検出フレーム画像データのフレーム識別情報を表し、かつ当該再検出フレーム画像データを順次第２のマクロブロックデータＤ４単位で順方向予測符号化により圧縮符号化することを表す予測モードデータＤ５を生成する。
【０１４０】
また、動きベクトル再検出器４８は、このとき入力用フレームメモリ３２から動きベクトル再検出フラグＦＧ１によって指定された再検出フレーム識別情報の示す再検出フレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に、当該再検出フレーム画像データと間引きにより順方向側で新たに隣接する第１又は第２のフレーム画像データＤ６を参照用として読み出す。
【０１４１】
そして、動きベクトル再検出器４８は、上述した動きベクトル検出器３５と同様にブロックマッチング法により第２のマクロブロックデータＤ４を参照用の第１又は第２のフレーム画像データＤ６の所定のサーチ範囲内で複数の比較用ブロックデータと順次対応付けながら最小予測誤差となる近似ブロックデータを検出し、当該検出した近似ブロックデータと第２のマクロブロックデータＤ４との動き量によりその第２のマクロブロックデータＤ４の動きベクトルＤ１７を検出する。
【０１４２】
このようにして動きベクトル再検出器４８は、再検出フレーム画像データに対して予測モードデータＤ５を生成すると共に、当該再検出フレーム画像データ内における各第２のマクロブロックデータＤ４の動きベクトルＤ１７を検出すると、これら予測モードデータＤ５及び各動きベクトルＤ１７を対応付けて動きベクトルバッファ３６に送出して蓄積することにより、この後動きベクトルバッファ３６からこれら予測モードデータＤ５及び各動きベクトルＤ１７を動き補償器３９及び可変長符号化器４３によって読出可能な状態にする。
【０１４３】
これに加えて、動きベクトル再検出器４８は、動きベクトルバッファ３６に予測モードデータＤ５及び各動きベクトルＤ１７を蓄積すると、動きベクトル再検出フラグＦＧによって指定された再検出フレーム識別情報及び間引きフレーム識別情報に基づいて、動きベクトルバッファ３６内から再検出フレーム画像データに対する再検出前の予測モードデータＤ５及び動きベクトルＤ７と、間引きフレーム画像データの予測モードデータＤ５及び動きベクトルＤ７とを読出不可能な状態にする。
【０１４４】
また、フレーム構造変換器３３は、動画像データＤ１のフレームレートを上げることにより、間引きフレーム画像データの間引きを取り消すときには、当該間引きフレーム画像データの間引きによって動きベクトルを再検出した再検出フレーム画像データの再検出フレーム識別情報と、その間引きを取り消す間引きフレーム画像データの間引きフレーム識別情報とを表すと共に、間引きの取り消しを表す動きベクトル再検出フラグＦＧ２を生成してこれを動きベクトル再検出器４８に送出する。
【０１４５】
これにより動きベクトル再検出器４８は、フレーム構造変換器３３から動きベクトル再検出フラグＦＧ２が与えられると、当該動きベクトル再検出フラグＦＧ２によって指定された再検出フレーム識別情報及び間引き取消フレーム識別情報に基づいて、動きベクトルバッファ３６内から再検出フレーム画像データに対して再検出した予測モードデータＤ５及び動きベクトルＤ１７を読出不可能な状態とし、かつ再検出フレーム画像データに対する再検出前の予測モードデータＤ５及び動きベクトルＤ７と間引きフレーム画像データの予測モードデータＤ５及び動きベクトルＤ７とを読出可能な状態にする。
【０１４６】
このようにして動きベクトル再検出器４８は、動画像データＤ１のフレームレートを変更したときでも各第１及び第２のフレーム画像データを動きベクトルＤ７、Ｄ１７を用いて適確に圧縮符号化させ得るようになされている。
【０１４７】
ここで、この動画像符号化装置３０のフレームレート変更処理部３１と動きベクトル検出処理部３４と符号化部３７とによる動画像データＤ１の圧縮符号化処理手順についてまとめてみると、図６（Ａ）及び図７（Ａ）に示すように、まず動きベクトル検出処理部３４においては、ルーチンＲＴ１の開始ステップから入ってステップＳＰ１に移る。
【０１４８】
ステップＳＰ１において動きベクトル検出処理部３４は、動きベクトル検出回路３５により入力用フレームメモリ３２から第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に、当該第２のフレーム画像データに対する参照用の第１又は第２のフレーム画像データＤ６を読み出し、ブロックマッチング法により参照用の第１又は第２のフレーム画像データを用いてこれら各第２のマクロブロックデータＤ４の動きベクトルＤ７を検出し、当該検出した動きベクトルＤ７を動きベクトルバッファ３６に蓄積するようにして１フレーム分の各第２のマクロブロックデータＤ４の動きベクトルＤ７を検出すると、ステップＳＰ２に移る。
【０１４９】
ステップＳＰ２において動きベクトル検出処理部３４は、動きベクトル検出器３５により、各第２のマクロブロックデータＤ４の動きベクトルＤ７を検出する際に算出した予測誤差を用いてこれら各第２のマクロブロックデータＤ４を切り出した第２のフレーム画像データと参照用の第１又は第２のフレーム画像データＤ６との間のフレーム間相関値ＳＨ１を算出し、当該算出したフレーム間相関値ＳＨ１をフレーム構造変換器３３に送出してステップＳＰ３に移る。
【０１５０】
ステップＳＰ３において動きベクトル検出処理部３４は、動きベクトル再検出器４８により動画像データＤ１のフレームレートが変更されたか否かを判断する。
【０１５１】
このステップＳＰ３において否定結果を得ることは、未だ動画像データＤ１の第１及び第２のフレーム画像データに対する圧縮符号化が開始されていない、又は当該第１及び第２のフレーム画像データを順次選定圧縮率で圧縮符号化していることを意味し、このとき動きベクトル検出処理部３４は、動きベクトル再検出器４８による動きベクトルの再検出処理を実行せずにステップＳＰ１に戻り、この後動画像データＤ１のフレームレートが変更されるまでの間はステップＳＰ１−ＳＰ２−ＳＰ３の処理ループを繰り返すことにより順次第２のフレーム画像データにおける各第２のマクロブロックデータＤ４の動きベクトルＤ７を検出すると共に、その第２のフレーム画像データと参照用の第１又は第２のフレーム画像データＤ６との間におけるフレーム間相関値ＳＨ１を算出する。
【０１５２】
このとき、図６（Ｂ）に示すように、圧縮符号化部３７は、ルーチンＲＴ２の開始ステップから入ってステップＳＰ１１に移り、例えば演算器３８により動きベクトル検出処理部３４（実際には動きベクトル検出器３５）において所定フレーム数分の第２のフレーム画像データに対する各第２マクロブロックデータＤ４の動きベクトルＤ７が検出されることを待ち受けており、当該所定フレーム数分の第２のフレーム画像データに対する各マクロブロックデータＤ４の動きベクトルＤ７が検出されると、ステップＳＰ１２に移る。
【０１５３】
ステップＳＰ１２において圧縮符号化部４０は、入力用フレームメモリ３２内の第１及び第２のフレーム画像データに対する圧縮符号化を開始し、演算器３８、離散コサイン変換器４０、量子化器４１及び可変長符号化器４３により第１のフレーム画像データをフレーム内符号化により圧縮符号化して得られた符号化データＤ１０をバッファ４２に一旦蓄積し、又は第２のフレーム画像データを動きベクトルバッファ３６から読み出した動きベクトルＤ７を用いて順方向予測符号化により圧縮符号化して得られた符号化データＤ１４をバッファ４２に一旦蓄積すると共に、圧縮符号化した第１又は第２のフレーム画像データを逆量子化器４４、逆離散コサイン変換器４５、加算器４６及び動き補償器３９により参照用フレームメモリ４７内に動き補償処理の参照用として再構築してステップＳＰ１３に移る。
【０１５４】
ステップＳＰ１３において圧縮符号化部３７は、バッファ４２に一旦蓄積した符号化データＤ１０及びＤ１４の符号化データ量を平滑化することによりこれら符号化データＤ１０及びＤ１４を符号化ビットストリームＢＳ１として外部に出力してステップＳＰ１４に移る。
【０１５５】
ステップＳＰ１４において圧縮符号化部３７は、演算器３８による入力用フレームメモリ３２からの第１及び第２のフレーム画像データの読み出し状況に応じて符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化したか否かを判断し、未だ符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化していなければ、ステップＳＰ１２に戻ってこの後符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化するまでの間はステップＳＰ１２−ＳＰ１３−ＳＰ１４の処理ループを繰り返すことにより当該符号化対象の第１のフレーム画像データをフレーム内符号化により圧縮符号化すると共に、符号化対象の第２のフレーム画像データを動きベクトルバッファ３６から読み出した動きベクトルＤ７を用いて順方向予測符号化により圧縮符号化し、得られた符号化データＤ１０及びＤ１４を符号化ビットストリームＢＳ１として出力する。
【０１５６】
一方、図６（Ｃ）及び図７（Ｃ）に示すように、フレームレート変更処理部３１は、ルーチンＲＴ３の開始ステップから入ってステップＳＰ２１に移り、フレーム構造変換器３３により動きベクトル検出器３５から与えられるフレーム間相関値ＳＨ１に基づいて第１又は第２のフレーム画像データの符号化予測データ量を予測してステップＳＰ２２に移る。
【０１５７】
ステップＳＰ２２においてフレームレート変更処理部３１は、フレーム構造変換器３３により第１及び第２のフレーム画像データに対する圧縮符号化が開始されたか否かを判断し、当該第１及び第２のフレーム画像データの圧縮符号化が開始されるまでの間はステップＳＰ２１−ＳＰ２２の処理ループを繰り返すことにより順次第１及び第２のフレーム画像データの符号化予測データ量を予測する。
【０１５８】
そして、フレームレート変更処理部３１は、演算器３８により入力用フレームメモリ３２から第１及び第２のフレーム画像データが順次第１及び第２のマクロブロックデータＤ２及びＤ４単位で読み出されることにより圧縮符号化部３７において第１及び第２のフレーム画像データに対する圧縮符号化が開始されると、ステップＳＰ２３に移る。
【０１５９】
ステップＳＰ２３においてフレームレート変更処理部３１は、フレーム構造変換器３３によりバッファ４２のデータ蓄積量ＤＲを検出し、当該検出したデータ蓄積量ＤＲを第１の閾値及び第２の閾値と比較することによりそのデータ蓄積量ＤＲが第１の閾値から第２の閾値までの範囲内の値であるか否かを判断する。
【０１６０】
このステップＳＰ２３において肯定結果を得ることは、この時点で圧縮符号化している第１又は第２のフレーム画像データに続く第１又は第２のフレーム画像データをほぼ選定圧縮率で圧縮符号化し得ることを意味し、このときフレームレート変更処理部３１は、フレーム構造変換器３３により動画像データＤ１のフレームレートをそのまま変更せずにステップＳＰ２１に戻り、この後動画像データＤ１のフレームレートの変更が必要となるまでの間はステップＳＰ２１−ＳＰ２２−ＳＰ２３の処理ループを繰り返す。
【０１６１】
またステップＳＰ２３において否定結果を得ることは、データ蓄積量ＤＲが第１の閾値から第２の閾値までの範囲外の値となって動画像データＤ１のフレームレートを変更する必要があることを意味し、このときフレームレート変更処理部３１はステップＳＰ２４に移る。
【０１６２】
ステップＳＰ２４においてフレームレート変更処理部３１は、フレーム構造変換器３３によりデータ蓄積量ＤＲが第１の閾値よりも大きい値であるか否かを判断する。
【０１６３】
このステップＳＰ２４において肯定結果を得ることは、データ蓄積量ＤＲが第１の閾値よりも大きい値であるためにこの時点で圧縮符号化している第１又は第２のフレーム画像データに続く第１又は第２のフレーム画像データを選定圧縮率よりも高圧縮率で圧縮符号化することにより動画像の画質が低下する可能性があることを意味し、このときフレームレート変更処理部３１はステップＳＰ２５に移る。
【０１６４】
ステップＳＰ２５においてフレームレート変更処理部３１は、フレーム構造変換器３３により、この時点で圧縮符号化しているフレーム画像データに続く所定フレーム数分のフレーム画像データの符号化予測データ量と符号化ビットストリームＢＳ１のビットレートとに基づいてデータ蓄積量ＤＲの変化を推定し、当該推定したデータ蓄積量ＤＲと第１及び第２の閾値とに基づいてフレーム画像データを間引いて動画像データＤ１のフレームレートを下げると共に、動きベクトル再検出フラグＦＧ１を動きベクトル再検出器４８に送出してステップＳＰ２６に移る。
【０１６５】
これに対してステップＳＰ２４において否定結果を得ることは、動画像データＤ１から第２のフレーム画像データを間引いてフレームレートを下げるものの、データ蓄積量ＤＲが第２の閾値よりも小さい値であるために第２のフレーム画像データを増やしても動画像に対する所望の画質を維持し得ることを意味し、このときフレームレート変更処理部３１はステップＳＰ２７に移る。
【０１６６】
ステップＳＰ２７においてフレームレート変更処理部３１は、フレーム構造変換器３３により、この時点で圧縮符号化しているフレーム画像データに続く所定フレーム数分のフレーム画像データ及び当該所定フレーム数分のフレーム画像データ間からすでに間引いているフレーム画像データの符号化予測データ量と符号化ビットストリームＢＳ１のビットレートとに基づいてこれら間引いているフレーム画像データの間引きを取り消したときのデータ蓄積量ＤＲの変化を推定し、当該推定したデータ蓄積量ＤＲと第１及び第２の閾値とに基づいてすでに間引いているフレーム画像データの間引きを取り消すことにより動画像データＤ１の低下させていたフレームレートを規定のフレームレートを上回らないように上げると共に、動きベクトル再検出フラグＦＧ２を動きベクトル再検出器４８に送出してステップＳＰ２６に移る。
【０１６７】
ステップＳＰ２６においてフレームレート変更処理部３１は、フレーム構造変換器３３により、演算器３８による入力用フレームメモリ３２からの第１及び第２のフレーム画像データの読み出し状況に応じて符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたか否かを判断し、未だ符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されていなければ、ステップＳＰ２１に戻ってこの後符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されるまでの間はステップＳＰ２１−ＳＰ２２−２３−ＳＰ２４−ＳＰ２５−ＳＰ２６の処理ループを繰り返すことにより順次第１及び第２のフレーム画像データの符号化予測データ量を予測しながら動画像データＤ１のフレームレートを適宜変更する。
【０１６８】
このときステップＳＰ３において動きベクトル検出処理部３４は、動きベクトル再検出器４８によりフレーム構造変換器３３から与えられる動きベクトル再検出フラグＦＧ１及びＦＧ２に基づいて動画像データＤ１のフレームレートが変更されたと判断してステップＳＰ４に移る。
【０１６９】
ステップＳＰ４において動きベクトル検出処理部３４は、動きベクトル再検出器４８により動画像データＤ１のフレームレートの変更に伴い動きベクトルＤ１７の再検出が必要であるか否かを判断する。
【０１７０】
このステップＳＰ４において肯定結果を得ることは、動画像データＤ１のフレームレートが下げられたことによりフレーム構造変換器３から与えられた動きベクトル再検出フラグＦＧ１に基づいて、間引かれた第２のフレーム画像データと隣接する再検出フレーム画像データの各第２のマクロブロックデータＤ４の動きベクトルＤ１７を再検出することを意味し、このとき動きベクトル検出処理部３４はステップＳＰ５に移り、動きベクトル再検出器４８により再検出フレーム画像データに対する各第２のマクロブロックデータＤ４の動きベクトルＤ１７を検出してステップＳＰ６に移る。
【０１７１】
そしてステップＳＰ６において動きベクトル検出処理部３４は、動きベクトル再検出器４８により動きベクトル再検出フラグＦＧ１に基づいて動きベクトルバッファ３６を制御することにより再検出した動きベクトルＤ１７を一旦蓄積すると共に、再検出フレーム画像データに対する再検出前の動きベクトルＤ７と間引きフレーム画像データの動きベクトルＤ７とを読出不可能な状態にしてステップＳＰ７に移る。
【０１７２】
これに対してステップＳＰ４において否定結果を得ることは、動画像データＤ１のフレームレートが上げられたことにより動きベクトルＤ１７の再検出が必要ないことを意味し、このとき動きベクトル検出処理部３４はステップＳＰ６に移る。
【０１７３】
そしてステップＳＰ６において動きベクトル検出処理部３４は、動きベクトル再検出器４８によりフレーム構造変換器３から与えられた動きベクトル再検出フラグＦＧ２に基づいて動きベクトルバッファ３６を制御することにより再検出フレーム画像データに対して再検出していた動きベクトルＤ１７を読出不可能な状態とし、かつ再検出フレーム画像データに対する再検出前の動きベクトルＤ７と間引きを取り消した間引きフレーム画像データの動きベクトルＤ７とを読出可能な状態にしてステップＳＰ７に移る。
【０１７４】
ステップＳＰ７において動きベクトル検出処理部３４は、動きベクトル検出器３５により入力用フレームメモリ３２内の全ての第１及び第２のフレーム画像データにおける各第１及び第２のマクロブロックデータＤ２及びＤ４の動きベクトルを検出したか否を判断し、当該入力用フレームメモリ３２内に第１及び第２のマクロブロックデータＤ２及びＤ４の動きベクトルを検出すべき第１及び第２のフレーム画像データが取り込まれている間はステップＳＰ１に戻り当該ステップＳＰ１―ＳＰ２−ＳＰ３−ＳＰ４−ＳＰ５−ＳＰ６−ＳＰ７の処理ループを繰り返すことにより入力用フレームメモリ３２内の第１及び第２のフレーム画像データにおける各第１及び第２のマクロブロックデータＤ２及びＤ４の動きベクトルＤ７を順次検出すると共に、再検出フレーム画像データにおける各第２のマクロブロックデータＤ４の動きベクトルＤ１７を適宜再検出する。
【０１７５】
そして、ステップＳＰ７において動きベクトル検出処理部３４は、入力用フレームメモリ３２内の全ての第１及び第２のフレーム画像データにおける各第１及び第２のマクロブロックデータＤ２及びＤ４の動きベクトルＤ７を検出すると、ステップＳＰ８に移る。
【０１７６】
ステップＳＰ８において動きベクトル検出処理部３４は、動き補償器３９による動きベクトルバッファ３６からの動きベクトルＤ７及びＤ１７の読み出し状況に応じて符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたか否かを判断し、未だ第１及び第２のフレーム画像データの圧縮符号化が終了していなければ、ステップＳＰ３に戻ってこの後符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されるまでの間はステップＳＰ３−ＳＰ４−ＳＰ５−ＳＰ６−ＳＰ７−ＳＰ８の処理ループを繰り返すことにより再検出フレーム画像データにおける各第２のマクロブロックデータＤ４の動きベクトルＤ１７を適宜再検出する。
【０１７７】
かくしてステップＳＰ１４において圧縮符号化部３７は、符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化するまでの間はステップＳＰ１２−ＳＰ１３−ＳＰ１４の処理ループを繰り返すものの、動画像データＤ１のフレームレートが下げられることにより再検出フレーム画像データに対して動きベクトルＤ１７が再検出されると、符号化対象の第２のフレーム画像データを動きベクトルバッファ３６から読み出したその動きベクトルＤ１７を用いて順方向予測符号化により圧縮符号化する。
【０１７８】
そして、圧縮符号化部３７は、このステップＳＰ１４において符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化したと判断すると、ステップＳＰ１５に移って当該圧縮符号化部３７における処理手順を終了する。
【０１７９】
また、圧縮符号化部３７がこのように処理手順を終了すると、フレームレート変更処理部３１はステップＳＰ２６において符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたと判断してステップＳＰ２８に移ることにより当該フレームレート変更処理部３１の処理手順を終了すると共に、動きベクトル検出処理部３４もステップＳＰ８において符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたと判断してステップＳＰ９に移ることにより当該動きベクトル検出処理部３４の処理手順を終了し、かくして動画像符号化装置３０における動画像データＤ１の圧縮符号化処理手順を全て終了する。
【０１８０】
以上の構成において、この動画像符号化装置３０では、外部から供給される動画像データＤ１を順次フレーム画像データ単位で入力用フレームメモリ３２に取り込み、当該入力用フレームメモリ３２に取り込んだフレーム画像データにＩピクチャ及びＰピクチャを所定の順番で割り当てる。
【０１８１】
そして、この動画像符号化装置３０では、動きベクトル検出器３５により入力用フレームメモリ３２内の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出して当該読み出した各第２のマクロブロックデータＤ４の動きベクトルＤ７を検出する。
【０１８２】
この状態で動画像符号化装置３０では、圧縮符号化部３７により入力用フレームメモリ３２から第１のフレーム画像データを順次第１のマクロブロックデータＤ２単位で読み出してフレーム内符号化により圧縮符号化し、得られた符号化データＤ１０をバッファ４２に一旦蓄積すると共に、当該入力用フレームメモリ３２から第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出して対応する動きベクトルを用いた順方向予測符号化により圧縮符号化し、得られた符号化データＤ１４をバッファ４２に一旦蓄積し、当該バッファ４２から符号化データＤ１０及びＤ１４を符号化ビットストリームＢＳ１として外部に出力する。
【０１８３】
このようにして動画像符号化装置３０では、動画像データＤ１を構成する第１及び第２のフレーム画像データの圧縮符号化を開始すると、フレーム構造変換器３３によりバッファ４２のデータ蓄積量ＤＲを定期的に検出して第１及び第２の閾値と比較し、当該データ蓄積量ＤＲが第１の閾値よりも大きい値のときには動画像データＤ１のフレームレートを下げ、このようにフレームレートを下げた状態でバッファ４２のデータ蓄積量ＤＲが第２の閾値よりも小さい値になったときには動画像データＤ１のフレームレートを上げるようにして当該動画像データＤ１のフレームレートをデータ蓄積量ＤＲに応じて変更するようにした。
【０１８４】
従って、この動画像符号化装置３０では、配信対象の動画像データＤ１に基づく動画像の絵柄が急激に変化する等して第１及び第２のフレーム画像データから得られる符号化データ量が増加しても、これに適確に対応して動画像データＤ１のフレームレートを下げて単位時間当りに圧縮符号化すべき第２のフレーム画像データの数を減らすため、データ蓄積量ＤＲが増加したままとなり圧縮率が急激に高くなることを未然に防止することができ、かくして動画像の画質の急激な劣化を防止することができる。
【０１８５】
また、この動画像符号化装置３０では、配信対象の動画像データＤ１のフレームレートを下げた状態で当該動画像データＤ１に基づく動画像の絵柄の変化が急激に減少する等して第１及び第２のフレーム画像データから得られる符号化データ量が低下しても、動画像データＤ１のフレームレートを上げて単位時間当りに圧縮符号化すべき第２のフレーム画像データの数を増加させるため、動画像データＤ１の第２のフレーム画像データを必要以上に間引いてデータ蓄積量ＤＲが低下したままとなって圧縮率が比較的低くなることを防止することができ、かくして動画像の画質が一時的に所望の画質以上になって変動することを適確に防止することができる。
【０１８６】
このように動画像符号化装置３０では、動画像データＤ１を圧縮符号化しながら各符号化データＤ１０及びＤ１４の符号化データ量を表すバッファ４２のデータ蓄積量ＤＲに応じて適宜フレームレートを変更するため、ユーザに提供する動画像の画質を安定させることができる。
【０１８７】
これに加えて、この動画像符号化装置３０では、データ蓄積量ＤＲが第１の閾値よりも高い値のときにはこの時点から符号化対象となる所定フレーム数分の第１及び又は第２のフレーム画像データの符号化予測データ量を用いて当該所定フレーム数分の第１及び又は第２のフレーム画像データから１又は複数の第２のフレーム画像データを間引いて動画像データＤ１のフレームレートを下げるため、当該動画像データＤ１に基づく動画像の絵柄が複数フレームに渡って比較的激しく動くようなときでも、複数フレームに渡って圧縮率が比較的高くなることを未然に防止することができ、かくして動画像の画質が複数フレームに渡って劣化することを未然に防止することができる。
【０１８８】
また、この動画像符号化装置３０では、データ蓄積量ＤＲが第２の閾値よりも小さい値のときにもこの時点から符号化対象となる所定フレーム数分の第１及び又は第２のフレーム画像データと当該所定フレーム数分の第１及び又は第２のフレーム画像データ間からすでに間引いている１又は複数の第２のフレーム画像データとの符号化予測データ量を用いて動画像データＤ１のフレームレートを上げるため、動画像データＤ１に基づく動画像の絵柄の変化が複数フレームに渡って比較的安定しているようなときでも、複数フレームに渡って圧縮率が比較的低くなることを未然に防止することができ、かくして動画像の画質が複数フレームに渡って所望の画質以上になって急激に変動することを未然に防止することができる。
【０１８９】
そして、この動画像符号化装置３０では、このように動画像データＤ１のフレームレートの変更に所定フレーム数分の第１及び第２のフレーム画像データの符号化データ量を用いて複数フレームに渡る動画像の画質の変化を未然に防止するものの、このようにフレームレートを変更した状態で第１及び第２のフレーム画像データを圧縮符号化している間も順次データ蓄積量ＤＲを検出して圧縮符号化の状況を監視しているため、例えば符号化予測データ量の予測精度が比較的低いために当該符号化予測データ量と実際に圧縮符号化したときの符号化データ量とが異なるようなときでも、一度変更したフレームレートを動画像に対する所望の画質に合わせて容易かつ適確に補正することができる。
【０１９０】
以上の構成によれば、外部から供給される動画像データＤ１を順次第１及び第２のフレーム画像データ単位で圧縮符号化し、得られた符号化データＤ１０及びＤ１４をバッファ４２に一旦蓄積して符号化データ量を平滑化した符号化ビットストリームＢＳ１として外部に出力しながら、当該バッファ４２のデータ蓄積量ＤＲを定期的に検出し、そのデータ蓄積量ＤＲの変化に応じて動画像データＤ１のフレームレートを変更するようにしたことにより、配信対象の動画像データＤ１に基づく動画像の絵柄の変化に応じて単位時間当りに圧縮符号化すべき第１及び第２のフレーム画像データの数を適確に変更して圧縮率を安定させ、当該動画像の画質を安定させることができ、かくして所望の画質の動画像を適確に提供し得る動画像符号化装置を実現することができる。
【０１９１】
なお、上述した第１の実施の形態においては、図３について上述したように外部から供給された動画像データＤ１を順次フレーム画像データ単位で入力用フレームメモリ３２に取り込み、当該入力用フレームメモリ３２に取り込んだフレーム画像データにＩピクチャ及びＰピクチャを所定の順番で割り当てるようにした場合について述べたが、本発明はこれに限らず、図８（Ａ）及び（Ｂ）に示すように、入力用フレームメモリ３２に順次取り込んだフレーム画像データにＩピクチャ、Ｐピクチャ及びＢピクチャを割り当てるようにしても良い。
【０１９２】
因みに、ピクチャタイプとしてＩピクチャ、Ｐピクチャ及びＢピクチャを用いるときに、例えば先頭のフレーム画像データから順次Ｂピクチャ、Ｉピクチャ、Ｂピクチャ、Ｐピクチャ、Ｂピクチャ、Ｐピクチャ、Ｂピクチャ、Ｐピクチャ、……、を割り当てると、先頭のＢピクチャを割り当てたフレーム画像データ（以下、これを第３のフレーム画像データと呼ぶ）については２フレーム目の第１のフレーム画像データを参照用に用いて逆方向予測符号化により圧縮符号化し、当該２フレーム目以降の第３のフレーム画像データについては順方向側で隣接する第１又は第２のフレーム画像データを参照用として用いると共に逆方向側で隣接する第１又は第２のフレーム画像データを参照用として用いる両方向予測符号化により圧縮符号化することができる。
【０１９３】
また、第２のフレーム画像データについては、順方向側で最も近い第１又は第２のフレーム画像データを参照用として用いる順方向予測符号化により圧縮符号化することができる。
【０１９４】
そして、図９（Ａ）乃至（Ｃ）に示すように、このように入力用フレームメモリ３２内のフレーム画像データにＩピクチャ、Ｐピクチャ及びＢピクチャを割り当てた状態で例えば３フレーム目の第３のフレーム画像データ及び５フレーム目の第２のフレーム画像データを間引いて動画像データＤ１のフレームレートを変更すると、その間引きに応じて当該３フレーム目の第３のフレーム画像データについては順方向側及び逆方向側の第１及び第２のフレーム画像データの参照用としては用いられていないことによりこれら順方向側及び逆方向側の第１及び第２のフレーム画像データの各第１及び第２のマクロブロックデータの動きベクトルを再検出する必要はない。
【０１９５】
これに対して５フレーム目の第２のフレーム画像データについては、順方向側第３のフレーム画像データ（４フレーム目）と、逆方向側の第３及び第２のフレーム画像データ（６フレーム目及び７フレーム目）との参照用として用いられている。
【０１９６】
従って、間引きに応じて４フレーム目の第３のフレーム画像データについては、逆方向側７フレーム目の第２のフレーム画像データを参照用として用いて各マクロブロックデータの逆方向側の動きベクトルを再検出し、６フレーム目の第３のフレーム画像データについては、順方向側３フレーム目の第２のフレーム画像データを参照用として用いて各マクロブロックデータの順方向側の動きベクトルを検出し、さらに７フレーム目の第２のフレーム画像データについては順方向側３フレーム目の第２のフレーム画像データを用いて各第２のマクロブロックデータの順方向側の動きベクトルを検出すれば良い。
【０１９７】
また、上述した第１の実施の形態においては、動画像データＤ１のフレームレートを下げるために第２のフレーム画像データを間引いたときに動きベクトル再検出器４８により再検出フレーム画像データの各第２のマクロブロックデータＤ４の動きベクトルをブロックマッチング法によって検出するようにした場合について述べたが、本発明はこれに限らず、再検出フレーム画像データに対する各第２のマクロブロックデータＤ４の予め検出している動きベクトルＤ７を当該再検出フレーム画像データに隣接していた間引きフレーム画像データの各第２のマクロブロックデータＤ４の動きベクトルと合成することによりその再検出フレーム画像データに対する各第２のマクロブロックデータＤ４の動きベクトルを再検出し、又はテレスコピックサーチ法等の簡易動きベクトル検出法を用いて動きベクトルを再検出すれば、動きベクトル再検出器における動きベクトルの再検出処理の演算量を大幅に低減させて当該再検出処理を高速化することができる。
【０１９８】
さらに、上述した第１の実施の形態においては、第２のフレーム画像データの各マクロブロックデータＤ４を順方向予測符号化により圧縮符号化するようにした場合について述べたが、各第２のマクロブロックデータＤ４の分散値を用いてフレーム内符号化及び順方向予測符号化のいずれで圧縮符号化するようにしても良い。
【０１９９】
さらに、上述した第１の実施の形態においては、動きベクトル再検出器４８により入力用フレームメモリ３２から読み出した参照用の第１及び第２のフレーム画像データＤ６を用いて各第２のマクロブロックデータＤ４の動きベクトルＤ１７を再検出するようにした場合について述べたが、本発明はこれに限らず、動きベクトル再検出器により参照用フレームメモリ４７から参照用の第１及び第２のフレーム画像データを読み出して各第２のマクロブロックデータＤ４の動きベクトルＤ１７を再検出するようにしても良い。このようにすれば動きベクトルＤ１７の再検出に一旦圧縮符号化した後に復号化して再構築することにより圧縮符号化によって発生したブロックノイズ等を持つ第１及び第２のフレーム画像データを用いることができ、当該動きベクトルＤ１７の検出精度を向上させることができる。
【０２００】
さらに、上述した第１の実施の形態においては、バッファ４２のデータ蓄積量ＤＲ及び符号化予測データ量に応じて動画像データＤ１のフレームレートを変更するようにした場合について述べたが、本発明はこれに限らず、バッファ４２のデータ蓄積量ＤＲに応じて動画像データＤ１のフレームレートを変更するようにしても良い。このようにしてフレームレートを変更してもデータ蓄積量ＤＲの急激な増減に適確に対処して動画像の画質を安定化させることができる。
【０２０１】
（３）第２の実施の形態
図２との対応部分に同一符号を付して示す図１０は第２の実施の形態による動画像符号化装置６０を示し、フレームレート変更処理部６１のフレーム構造変換器６２及び動きベクトル検出処理部６３の構成を除いて第１の実施の形態による動画像符号化装置３０と同様に構成されている。
【０２０２】
フレームレート変更処理部６１のフレーム構造変換器６２は、図３について上述した場合と同様に入力用フレームメモリ３２にフレーム画像データを取り込む毎に当該取り込んだフレーム画像データにＩピクチャ及びＰピクチャのピクチャタイプを割り当てると共に、そのＩピクチャ及びＰピクチャを表すピクチャタイプとこれらを割り当てたフレーム画像データ固有のフレーム識別情報とをピクチャ情報として入力用フレームメモリ３２に記録する。
【０２０３】
そして、動きベクトル検出処理部６３において簡易動きベクトル検出器６４は、入力用フレームメモリ３２内でフレーム画像データにＩピクチャが割り当てられたときには、当該Ｉピクチャの割り当てられた第１のフレーム画像データのピクチャ情報を読み出し、当該読み出したピクチャ情報に基づいて予測モードデータＤ３を生成し、当該生成した予測モードデータＤ３を簡易動きベクトルバッファ６５に送出して蓄積する。
【０２０４】
また、簡易動きベクトル検出器６４は、入力用フレームメモリ３２内でフレーム画像データにＰピクチャが割り当てられたときには、当該Ｐピクチャの割り当てられた第２のフレーム画像データのピクチャ情報を読み出すと共に、当該第２のフレーム画像データと順方向側で隣接する参照用の第１又は第２のフレーム画像データＤ６のピクチャ情報を読み出す。
【０２０５】
簡易動きベクトル検出器６４は、これらピクチャ情報に基づいて対応する符号化対象の第２のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表すと共に参照用の第１又は第２のフレーム画像データＤ６のフレーム識別情報を参照用フレーム識別情報として表し、さらに符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で順方向予測符号化により圧縮符号化することを表す予測モードデータＤ２０を生成する。
【０２０６】
これに加えて簡易動きベクトル検出器６４は、このとき入力用フレームメモリ３２からピクチャ情報に基づいて符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に、参照用の第１又は第２のフレーム画像データＤ６を読み出す。
【０２０７】
簡易動きベクトル検出器６４は、図１１（Ａ）及び（Ｂ）に示すように、階層サーチ動きベクトル検出方式による原画像レベルの第１階層よりも下層の第２階層において、第２のマクロブロックデータＤ４を例えば１／４程度に縮小して解像度を下げることにより階層的な第２のマクロブロックデータ（以下、これを階層マクロブロックデータと呼ぶ）Ｄ２１を生成すると共に、同様に参照用の第１又は第２のフレーム画像データＤ６を例えば１／４程度に縮小して解像度を下げることにより階層的な参照用の第１又は第２のフレーム画像データ（以下、これを階層フレーム画像データと呼ぶ）Ｄ２２を生成する。
【０２０８】
また、簡易動きベクトル検出器６４は、図１２に示すように、ブロックマッチング法により階層マクロブロックデータＤ２１を階層フレーム画像データＤ２２の比較的広いサーチ範囲内で複数の比較用ブロックデータと順次対応付けながら予測誤差を算出するようにして当該算出した予測誤差のうち最小予測誤差を算出したときに用いた比較用ブロックデータと階層マクロブロックデータＤ２１との動き量によりその階層マクロブロックデータＤ２１の動きベクトル（以下、これを低解像度動きベクトルと呼ぶ）Ｄ２３を検出し、当該低解像度動きベクトルＤ２３を第２のマクロブロックデータＤ４の解像度（すなわち、原画像の解像度）に合わせて例えば４倍にすることによりその第２のマクロブロックデータＤ４に対する第２階層の簡易動きベクトルＤ２４を検出する。
【０２０９】
そして、簡易動きベクトル検出器６４は、入力用フレームメモリ３２内の符号化対象の第２のフレーム画像データに対する予測モードデータＤ２０及び各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を対応付けて簡易動きベクトルバッファ６５に送出して蓄積する。
【０２１０】
このようにして簡易動きベクトル検出器６４は、入力用フレームメモリ３２にフレーム画像データが順次取り込まれてＩピクチャ及びＰピクチャが割り当てられると、その都度同様にして予測モードデータＤ３、Ｄ２０を生成すると共に各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出し、これらを簡易動きベクトルバッファ６５に蓄積する。
【０２１１】
また、簡易動きベクトル検出器６４は、このように１フレーム分の各第２のマクロブロックデータＤ４に対する簡易動きベクトルＤ２４を検出する毎に、階層マクロブロックデータＤ２１と階層フレーム画像データＤ２２との間で算出した予測誤差を利用して階層的な符号化対象の第２のフレーム画像データと参照用の階層フレーム画像データとのフレーム間相関値ＳＨ２を算出し、当該算出したフレーム間相関値ＳＨ２をフレーム構造変換器６２に送出する。
【０２１２】
これによりフレーム構造変換器６２は、簡易動きベクトル検出器６４から与えられたフレーム間相関値ＳＨ２に基づいて、符号化対象の第１及び第２のフレーム画像データをそれぞれ選定圧縮率で圧縮符号化することにより得られる符号化データＤ１０及びＤ１４の符号化予測データ量を予測する。
【０２１３】
かくして簡易動きベクトル検出器６４は、原画像に比べて画素数を減らした階層マクロブロックデータＤ２１及び階層フレーム画像データ提供サーバデータＤ２２間の予測誤差を利用してフレーム間相関値ＳＨ２を算出することにより当該フレーム間相関値ＳＨ２に対する演算量を格段的に低減させ得るようになされている。
【０２１４】
また、フレーム構造変換器６２も原画像レベルのフレーム間相関値ＳＨ１（図２）に比べて情報量の少ないフレーム間相関値ＳＨ２に基づいて符号化予測データ量を算出するため、当該符号化予測データ量を算出する際の演算量を格段的に低減させ得るようになされている。
【０２１５】
そして、フレーム構造変換器６２は、符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化が開始されると、図２について上述した場合と同様にバッファ４２のデータ蓄積量ＤＲを所定周期で検出し、当該検出したデータ蓄積量ＤＲに応じて動画像データＤ１のフレームレートを変更する。
【０２１６】
また、フレーム構造変換器６２は、このように符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化が開始されると、演算器３８により入力用フレームメモリ３２から符号化対象の第１のフレーム画像データが第１のマクロブロックデータＤ２単位で読み出されるときに、当該入力用フレームメモリ３２内の対応するピクチャ情報に基づいてその第１のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表すコントロールフラグＣＦ１を生成してこれを動きベクトル検出器６６に送出する。
【０２１７】
さらに、フレーム構造変換器６２は、演算器３８により入力用フレームメモリ３２から符号化対象の第２のフレーム画像データが第２のマクロブロックデータＤ４単位で読み出されるときには、入力用フレームメモリ３２内の対応するピクチャ情報及びその第２のフレーム画像データに対して参照用となる第１又は第２のフレーム画像データＤ６のピクチャ情報に基づいて当該符号化対象の第２のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表し、かつ参照用の第１又は第２のフレーム画像データＤ６のフレーム識別情報を参照用フレーム識別情報として表すコントロールフラグＣＦ２を生成してこれを動きベクトル検出器６６に送出する。
【０２１８】
ここで、フレーム構造変換器６２は、符号化対象の第２のフレーム画像データに対して簡易動きベクトルＤ２４の検出時に用いた参照用の第１又は第２のフレーム画像データをフレームレートの変更用に間引いていなければ（間引きの取り消しも含む）、当該符号化対象の第２のフレーム画像データとその参照用の第１又は第２のフレーム画像データＤ６をそのまま対応付けてコントロールフラグＣＦ２を生成する。
【０２１９】
また、フレーム構造変換器６２は、符号化対象の第２のフレーム画像データに対して簡易動きベクトルＤ２４の検出時に用いた参照用の第１又は第２のフレーム画像データＤ６をフレームレートの変更用に間引いたときには、当該符号化対象の第２のフレーム画像データに対してその間引いた第１又は第２のフレーム画像データに代えて新たな第１又は第２のフレーム画像データＤ６を参照用として対応付けてコントロールフラグＣＦ２を生成する。
【０２２０】
さらに、フレーム構造変換器６２は、動画像データＤ１のフレームレートの変更に伴って符号化対象の第２のフレーム画像データを間引くことにより演算器３８が入力用フレームメモリ３２からの読み出しを見送るときには、当該第２のフレーム画像データのフレーム識別情報を間引きフレーム識別情報として表し、その第２のフレーム画像データを間引いたことを表すコントロールフラグＣＦ３を生成してこれを動きベクトル検出器６６に送出する。
【０２２１】
このようにしてフレーム構造変換器６２は、符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化の順番に従って順次コントロールフラグＣＦ１及びＣＦ２並びにＣＦ３を生成して動きベクトル検出器６６に送出する。
【０２２２】
動きベクトル検出器６６は、符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化が開始されると、符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化の順番に従って簡易動きベクトルバッファ６５から予測モードデータＤ３及びＤ２０を順次読み出す。
【０２２３】
そして、動きベクトル検出器６６は、簡易動きベクトルバッファ６５から予測モードデータＤ３及びＤ２０を読み出す毎に、当該予測モードデータＤ３及びＤ２０に基づいて得られる符号化対象フレーム識別情報及び参照用フレーム識別情報を、このときフレーム構造変換器６２から与えられた対応するコントロールフラグＣＦ１及びＣＦ２並びにＣＦ３に基づいて得られた符号化対象フレーム識別情報及び参照用フレーム識別情報並びに間引きフレーム識別情報と比較する。
【０２２４】
この場合、動きベクトル検出器６６は、簡易動きベクトルバッファ６５から第１のフレーム画像データに対する予測モードデータＤ３を読み出したときには、図５（Ａ）乃至（Ｃ）について上述したように第１のフレーム画像データが間引きの対象から除外されており、予測モードデータＤ３及びコントロールフラグＣＦ１に基づいて得られる符号化対象フレーム識別情報同士が一致することにより当該第１のフレーム画像データが間引かれていないと判断して予測モードデータＤ３を動き補償器３９及び可変長符号化器４３に送出する。
【０２２５】
また、動きベクトル検出器６６は、簡易動きベクトルバッファ６５から第２のフレーム画像データに対する予測モードデータＤ２０を読み出したとき、その予測モードデータＤ２０及び対応するコントロールフラグＣＦ２に基づいて得られる符号化対象フレーム識別情報同士及び参照用フレーム識別情報同士が一致すれば、当該第２のフレーム画像データとこれに簡易動きベクトルＤ２４の検出時に対応付けた参照用の第１又は第２のフレーム画像データＤ６とが間引かれていないと判断して簡易動きベクトルバッファ６５から予測モードデータＤ２０に対応付けられている簡易動きベクトルＤ２４を読み出す。
【０２２６】
このとき動きベクトル検出器６６は、コントロールフラグＣＦ２に基づいて入力用フレームメモリ３２から符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に参照用の第１又は第２のフレーム画像データＤ６も読み出す。
【０２２７】
そして、動きベクトル検出器６６は、図１２に示すように、階層サーチ動きベクトル検出方式による第１階層において、ブロックマッチング法により参照用の第１又は第２のフレーム画像データＤ６に対して簡易動きベクトルＤ２４の終点周辺に格段的に狭いサーチ範囲を設定し、当該サーチ範囲内で複数の比較用ブロックデータと第２のマクロブロックデータＤ４とを順次対応付けながら予測誤差を算出する。
【０２２８】
この結果、動きベクトル検出器６６は、算出した予測誤差のうち最小予測誤差を算出したときに用いた比較用ブロックデータと第２のマクロブロックデータＤ４との動き量により原画像レベルで簡易動きベクトルＤ２４を補正する動きベクトル（以下、これを補正用動きベクトルと呼ぶ）Ｄ２５を検出し、当該検出した補正用動きベクトルＤ２５を簡易動きベクトルＤ２４と加算することにより第２のマクロブロックデータＤ４に対する最終的な第１階層の動きベクトルＤ２６を生成し、これを予測モードデータＤ２０と共に動き補償器３９及び可変長符号化器４３に送出する。
【０２２９】
また、動きベクトル検出器６６は、簡易動きベクトルバッファ６５から第２のフレーム画像データに対する予測モードデータＤ２０を読み出したとき、その予測モードデータＤ２０及びコントロールフラグＣＦ２に基づいて得られる符号化対象フレーム識別情報同士は一致するものの、参照用フレーム識別情報同士が一致しなければ、当該第２のフレーム画像データに対して簡易動きベクトルＤ２４の検出時に対応付けた参照用の第１又は第２のフレーム画像データのみが間引かれていると判断して簡易動きベクトルバッファ６５から当該予測モードデータＤ２０に対応付けられている簡易動きベクトルＤ２４を読み出さずに符号化対象の第２のフレーム画像データに対する動きベクトルＤ２６の再検出処理を開始する。
【０２３０】
実際上、動きベクトル検出器６６は、コントロールフラグＣＦ２に基づいて入力用フレームメモリ３２から符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に、フレーム構造変換器６２において新たに対応付けた参照用の第１又は第２のフレーム画像データＤ６を読み出す。
【０２３１】
そして、動きベクトル検出器６６は、図１２について上述した場合と同様に階層サーチ動きベクトル検出方式による第２階層において第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出した後に第１階層において第２のマクロブロックデータＤ４に対する最終的な動きベクトルＤ２６を生成する。
【０２３２】
また、動きベクトル検出器６６は、予測モードデータＤ２０に、予め格納されている参照用フレーム識別情報に代えてコントロールフラグＣＦ２に基づいて得られた新たな参照用フレーム識別情報を格納することにより動きベクトルＤ２６の再検出に合わせて内容を修正した予測モードデータＤ２７を生成し、当該生成した予測モードデータＤ２７を動きベクトルＤ２６と共に動き補償器３９及び可変長符号化器４３に送出する。
【０２３３】
これに加えて動きベクトル検出器６６は、簡易動きベクトルバッファ６５から第２のフレーム画像データに対する予測モードデータＤ２０を読み出したとき、その第２のフレーム画像データが間引かれていれば、予測モードデータＤ２０及びコントロールフラグＣＦ３に基づいて得られる符号化対象フレーム識別情報及び間引きフレーム識別情報同士は一致するものの、当該コントロールフラグＣＦ３に基づいて第２のフレーム画像データが間引かれたことを検出することにより簡易動きベクトルバッファ６５から予測モードデータＤ２０に対応付けられている簡易動きベクトルＤ２４を読み出さずにその第２のフレーム画像データに対する動きベクトルの検出処理を見送るようにする。
【０２３４】
このようにして動きベクトル検出器６６は、フレーム構造変換器６２による動画像データＤ１のフレームレートの変更に応じて符号化対象の第２のフレーム画像データに対する動きベクトルＤ２６を適確に検出（再検出を含む）し得るようになされている。
【０２３５】
ここで、動画像符号化装置６０のフレームレート変更処理部６１と動きベクトル検出処理部６３と圧縮符号化部３７とによる動画像データＤ１の圧縮符号化処理手順についてまとめてみると、図６（Ａ）及び図７（Ａ）との対応部分に同一符号を付した図１３（Ａ）及び図１４（Ａ）に示すように、まず動きベクトル検出処理部６３は、ルーチンＲＴ４の開始ステップから入ってステップＳＰ３１に移る。
【０２３６】
ステップＳＰ３１において動きベクトル検出処理部６３は、簡易動きベクトル検出回路６４により入力用フレームメモリ３２から第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に、当該第２のフレーム画像データに対する参照用の第１又は第２のフレーム画像データＤ６を読み出し、階層サーチ動きベクトル検出方式による第２階層において１フレーム分の各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出してステップＳＰ３２に移る。
【０２３７】
ステップＳＰ３２において動きベクトル検出処理部６３は、簡易動きベクトル検出器６４により各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出する際に算出した予測誤差を用いて階層的な符号化対象の第２のフレーム画像データと参照用の階層フレーム画像データとのフレーム間相関値ＳＨ２を算出し、当該算出したフレーム間相関値ＳＨ２をフレーム構造変換器６２に送出してステップＳＰ３３に移る。
【０２３８】
このとき図６（Ｃ）及び図７（Ｃ）との対応部分に同一符号を付した図１３（Ｃ）及び図１４（Ｃ）に示すように、フレームレート変更処理部６１は、ルーチンＲＴ５の開始ステップから入ってステップＳＰ２１に移り、当該ステップＳＰ２１の処理に続いてステップＳＰ２２の処理を実行した後にステップＳＰ４１に移る。
【０２３９】
ステップＳＰ４１においてフレームレート変更処理部６１は、フレーム構造変換器６２により符号化対象の第１及び第２のフレーム画像データに対するコントロールフラグＣＦ１及びＣＦ２並びにＣＦ３を生成し、当該生成したコントロールフラグＣＦ１及びＣＦ２並びにＣＦ３を動きベクトル検出器６６に送出してステップＳＰ２３に移る。
【０２４０】
このようにしてフレームレート変更処理部６１は、第１及び第２のフレーム画像データが圧縮符号化されている間は、ステップＳＰ２１−ＳＰ２２−ＳＰ２３−ＳＰ２４−ＳＰ２５−ＳＰ２６−ＳＰ２７の処理ループを繰り返すことにより動きベクトル検出器６６にコントロールフラグＣＦ１及びＣＦ２並びにＣＦ３を順次送出しながら動画像データＤ１のフレームレートを適宜変更し、この後ステップＳＰ２６において符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたと判断すると、ステップＳＰ４２に移って当該フレームレート変更処理部６１の処理手順を終了する。
【０２４１】
これに対してステップＳＰ３３において動きベクトル検出処理部６３は、例えば動きベクトル検出器６６により入力用フレームメモリ３２に対する演算器３８のアクセスの有無を監視することにより第１及び第２のフレーム画像データの圧縮符号化が開始されたか否かを判断し、当該第１及び第２のフレーム画像データの圧縮符号化が開始されるまでの間はステップＳＰ３１−ＳＰ３２−ＳＰ３３の処理ループを繰り返すことにより順次第２のフレーム画像データにおける各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出すると共に、フレーム間相関値ＳＨ２を算出する。
【０２４２】
そして、動きベクトル検出処理部６３は、ステップＳＰ３３において動きベクトル検出器６６により第１及び第２のフレーム画像データに対する圧縮符号化が開始されたことを検出すると、ステップＳＰ３４に移る。
【０２４３】
ステップＳＰ３４において動きベクトル検出処理部６３は、動きベクトル検出器６６によりフレーム構造変換器６２から与えられたコントロールフラグＣＦ１及びＣＦ２並びにＣＦ３に基づいて符号化対象の第２のフレーム画像データがフレームレートの変更により間引かれたか否かを判断する。
【０２４４】
このステップＳＰ３４において否定結果を得ることは、符号化対象の第２のフレーム画像データが間引かれていないことを意味し、このとき動きベクトル検出処理部６３は、ステップＳＰ３５に移って符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の動きベクトルの再検出が必要であるか否かを判断する。
【０２４５】
このステップＳＰ３５において肯定結果を得ることは、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに簡易動きベクトルＤ２４の検出時とは異なる参照用の第１又は第２のフレーム画像データＤ６が割り当てられたことを意味し、このとき動きベクトル検出処理部６３はステップＳＰ３６に移って動きベクトル検出器６６により符号化対象の第２のフレーム画像データと新たな参照用の第１又は第２のフレーム画像データＤ６とを用いて階層サーチ動きベクトル検出方式による第２階層において各マクロブロックデータＤ４の簡易動きベクトルＤ２４を再検出してステップＳＰ３７に移る。
【０２４６】
ステップＳＰ３７において動きベクトル検出処理部６３は、動きベクトル検出器６６により階層サーチ動きベクトル検出方式による第１階層において符号化対象の第２のフレーム画像データ及び参照用の第１又は第２のフレーム画像データ並びに簡易動きベクトルＤ２４を用いて原画像レベルで各第２のマクロブロックデータＤ４の動きベクトルＤ２６を検出してステップＳＰ３８に移る。
【０２４７】
因みに、ステップＳＰ３４において肯定結果を得ることは、符号化対象の第２のフレーム画像データがフレームレートの変換により間引かれたことを意味し、このとき動きベクトル検出処理部６３は、ステップＳＰ３８に移る。
【０２４８】
また、ステップＳＰ３５において否定結果を得ることは、符号化対象の第２のフレーム画像データに簡易動きベクトルＤ２４の検出時と同じ参照用の第１又は第２のフレーム画像データＤ６が割り当てられていることを意味し、このとき動きベクトル検出処理部６３はステップＳＰ３７に移って動きベクトル検出器６６により階層サーチ動きベクトル検出方式による第１階層において当該符号化対象の第２のフレーム画像データ及び参照用の第１又は第２のフレーム画像データＤ６並びに簡易動きベクトルバッファ６５から読み出した対応する簡易動きベクトルＤ２４を用いた原画像レベルで各第２のマクロブロックデータＤ４の動きベクトルＤ２６を検出してステップＳＰ３８に移る。
【０２４９】
ステップＳＰ３８において動きベクトル検出処理部６３は、動きベクトル検出器６６により入力用フレームメモリ３２内の全ての第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出したか否を判断し、当該入力用フレームメモリ３２内に第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出すべき第２のフレーム画像データが取り込まれている間はステップＳＰ３１に戻り当該ステップＳＰ３１―ＳＰ３２−ＳＰ３３−ＳＰ３４−ＳＰ３５−ＳＰ３６−ＳＰ３７−ＳＰ３８の処理ループを繰り返すことにより入力用フレームメモリ３２内の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を順次検出し、かつフレーム間相関値ＳＨ２を順次算出しながら当該第２のマクロブロックデータＤ４の動きベクトルＤ２６を順次検出する。
【０２５０】
そして、ステップＳＰ３８において動きベクトル検出処理部６３は、入力用フレームメモリ３２内の全ての第２のフレーム画像データにおける各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出すると、ステップＳＰ８に移る。
【０２５１】
ステップＳＰ８において動きベクトル検出処理部６３は、動きベクトル検出器６６により入力用フレームメモリ３２に対する演算器３８のアクセスの有無を監視することにより符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたか否かを判断し、未だ第１及び第２のフレーム画像データの圧縮符号化が終了していなければ、ステップＳＰ３４に戻ってこの後符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されるまでの間はステップＳＰ３４−ＳＰ３５−ＳＰ３６−ＳＰ３７−ＳＰ３８−ＳＰ８の処理ループを繰り返すことにより符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の動きベクトルＤ２６を順次検出する。
【０２５２】
このようにして動きベクトル検出処理部６３は、ステップＳＰ８において符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたと判断すると、ステップＳＰ３９に移って当該動きベクトル検出処理部６３の処理手順を終了し、かくして動画像符号化装置３０における動画像データＤ１の圧縮符号化処理手順を全て終了する。
【０２５３】
以上の構成において、この動画像符号化装置６０では、配信対象の動画像データＤ１を構成する第１及び第２のフレーム画像データを圧縮符号化する場合、簡易動きベクトル検出器６４により予め階層サーチ動きベクトル検出方式による第２階層において参照用の第１又は第２のフレーム画像データＤ６の画素を減らして解像度を下げた階層フレーム画像データＤ２２の比較的狭いサーチ範囲内を同様に各第２のマクロブロックデータＤ４の画素を減らして解像度を下げた階層マクロブロックデータＤ２１によってサーチして当該階層マクロブロックデータＤ２１の低解像度動きベクトルＤ２３を検出し、その低解像度動きベクトルＤ２３を原画像の解像度に合わせるように拡大して第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出する。
【０２５４】
そして、この動画像符号化装置６０では、第２のフレーム画像データを各第２のマクロブロックデータＤ４単位で実際に圧縮符号化するときに動きベクトル検出器６６により階層サーチ動きベクトル検出方式による第１階層において参照用の第１又は第２のフレーム画像データＤ６に対して簡易動きベクトルＤ２４の終点周辺に設定した格段的に狭いサーチ範囲を第２のマクロブロックデータＤ４によってサーチして簡易動きベクトルＤ２４の終点部分を補正する補正用動きベクトルＤ２５を検出し、当該検出した補正用動きベクトルＤ２５を簡易動きベクトルＤ２４と加算して第２のマクロブロックデータＤ４に対する第１階層の動きベクトルＤ２６を検出するようにした。
【０２５５】
従って、この動画像符号化装置６０では、階層サーチ動きベクトル検出方式による第２階層において解像度を下げた（すなわちデータ量を減少させた）階層フレーム画像データＤ２２及び階層ブロックデータＤ２１を用いて簡易動きベクトルＤ２４を検出すると共に、当該階層サーチ動きベクトル検出方式による第１階層において原画像レベルの参照用の第１又は第２のフレーム画像データＤ６及び第２のマクロブロックデータＤ４を用いるものの、簡易動きベクトルＤ２４の終点部分のみを補正する補正用動きベクトルＤ２５を検出するようにして第２のマクロブロックデータＤ４に対する第１階層の動きベクトルＤ２６を検出するため、上述した第１の実施の形態による動画像符号化装置３０（図２）に比べて第２のマクロブロックデータＤ４の動きベクトル検出時の演算量を格段的に低減させることができる。
【０２５６】
また、動画像符号化装置６０では、入力用フレームメモリ３２内の全ての第２のフレーム画像データに対しては各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出するものの、当該第２のフレーム画像データを動画像データＤ１のフレームレートの変更に伴って間引いたときにはこれら各第２のマクロブロックデータＤ４の原画像レベルの動きベクトルＤ２６を検出しないため、動きベクトル検出処理部６３における処理負荷を低減させることができる。
【０２５７】
以上の構成によれば、配信対象の動画像データＤ１を構成する第１及び第２のフレーム画像データを圧縮符号化する場合、階層サーチ動きベクトル検出方式により符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の動きベクトルＤ２６を階層的に検出するようにしたことにより、上述した第１の実施の形態によって得られる効果に加えて、これら各第２のマクロブロックデータＤ４に対する動きベクトル検出時の演算量を格段的に低減させることができ、かくして動きベクトル検出処理を高速化し得る動画像符号化装置を実現することができる。
【０２５８】
なお、上述した第２の実施の形態においては、図３について上述したように外部から供給された動画像データＤ１を順次フレーム画像データ単位で入力用フレームメモリ３２に取り込み、当該入力用フレームメモリ３２に取り込んだフレーム画像データにＩピクチャ及びＰピクチャを所定の順番で割り当てるようにした場合について述べたが、本発明はこれに限らず、図８（Ａ）及び（Ｂ）並びに図９（Ａ）乃至（Ｃ）について上述したように、入力用フレームメモリ３２に取り込んだフレーム画像データにＩピクチャ、Ｐピクチャ及びＢピクチャを割り当てるようにしても良い。
【０２５９】
また、上述した第２の実施の形態においては、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに新たな参照用の第１又は第２のフレーム画像データＤ６を割り当てたときに動きベクトル検出器６６により階層サーチ動きベクトル検出方式による第１階層及び第２階層おいて、各マクロブロックデータのＤ４の簡易動きベクトルＤ２４及び原画像レベルの動きベクトルＤ２６を順次検出するようにした場合について述べたが、本発明はこれに限らず、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに新たな参照用の第１又は第２のフレーム画像データＤ６を割り当てたときに、簡易動きベクトル検出器６４により階層サーチ動きベクトル検出方式による第２階層において符号化対象の第２のフレーム画像データ及び新たな参照用の第１又は第２のフレーム画像データＤ６を用いて各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出すると共に、動きベクトル検出器６６により階層サーチ動きベクトル検出方式による第１階層において当該第２のマクロブロックデータＤ４の原画像レベルの動きベクトルＤ２６を検出するようにしても良い。このようにすれば、フレームレートの変更に伴う動きベクトルの再検出時に動きベクトル検出器６６の処理負荷を大幅に低減させることができる。
【０２６０】
これに加えて、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに新たな参照用の第１又は第２のフレーム画像データＤ６を割り当てたときには、当該符号化対象の第２のフレーム画像データに対して簡易動きベクトルＤ２４の検出時に参照用として第２のフレーム画像データＤ６（すなわち、符号化対象の第２のフレーム画像データに順方向側で隣接する第２フレーム画像データ）が割り当てられていれば、動きベクトル検出器６６によりその符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の予め検出している簡易動きベクトルＤ２４を当該簡易動きベクトルＤ２４の検出時に参照用となっていた第２のフレーム画像データＤ６に対する各マクロブロックデータＤ４の簡易動きベクトルＤ２４と合成し、得られた合成簡易動きベクトルを用いて階層サーチ動きベクトル検出方式による第１階層において例えばテレスコピックサーチ法を用いて当該符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の原画像レベルの動きベクトルＤ２６を検出するようにしても良い。このようにしてもフレームレートの変更に伴う動きベクトルの再検出時に動きベクトル検出器６６の処理負荷を大幅に低減させることができる。
【０２６１】
因みに、このような簡易動きベクトルＤ２４の合成を簡易動きベクトル検出器６４によって実行すれば、動きベクトル検出器６６の処理負荷を低減させることもできる。
【０２６２】
さらに、上述した第２の実施の形態においては、第２のフレーム画像データの各マクロブロックデータＤ４を順方向予測符号化により圧縮符号化するようにした場合について述べたが、各第２のマクロブロックデータＤ４の分散値を用いてフレーム内符号化及び順方向予測符号化のいずれで圧縮符号化するようにしても良い。
【０２６３】
さらに、上述した第２の実施の形態においては、動きベクトル検出器６６により入力用フレームメモリ３２から読み出した参照用の第１及び第２のフレーム画像データＤ６を用いて各第２のマクロブロックデータＤ４の動きベクトルＤ２６を検出するようにした場合について述べたが、本発明はこれに限らず、動きベクトル検出器６６により参照用フレームメモリ４７から参照用の第１及び第２のフレーム画像データを読み出して各第２のマクロブロックデータＤ４の動きベクトルＤ２６を検出するようにしても良い。このようにすれば動きベクトルＤ２６の検出に一旦圧縮符号化した後に復号化して再構築することにより圧縮符号化によって発生したブロックノイズ等を持つ第１及び第２のフレーム画像データを用いることができ、当該動きベクトルＤ２６の検出精度を向上させることができる。
【０２６４】
さらに、上述した第２の実施の形態においては、第２のマクロブロックデータＤ４の動きベクトルＤ２６の検出に第１階層及び第２階層の２階層からなる階層サーチ動きベクトル検出方式を用いるようにした場合について述べたが、本発明はこれに限らず、第２のマクロブロックデータＤ４の動きベクトルの検出に３階層以上の階層サーチ動きベクトル検出方式を用いるようにしても良い。
【０２６５】
さらに、上述した第２の実施の形態においては、バッファ４２のデータ蓄積量ＤＲ及び符号化予測データ量に応じて動画像データＤ１のフレームレートを変更するようにした場合について述べたが、本発明はこれに限らず、バッファ４２のデータ蓄積量ＤＲに応じて動画像データＤ１のフレームレートを変更するようにしても良い。このようにしてフレームレートを変更してもデータ蓄積量ＤＲの急激な増減に適確に対処して動画像の画質を安定化させることができる。
【０２６６】
（４）第３の実施の形態
図１０との対応部分に同一符号を付して示す図１５は第３の実施の形態による動画像符号化装置７０を示し、動きベクトル検出処理部７１及び圧縮符号化部７２並びにマスク画像処理部７３の構成を除いて第２の実施の形態による動画像符号化装置６０と同様に構成されている。
【０２６７】
動きベクトル検出処理部７１において簡易動きベクトル検出器７４は、入力用フレームメモリ３２内で動画像データＤ１を構成する先頭のフレーム画像データにＩピクチャが割り当てられたとき、当該Ｉピクチャの割り当てられた第１のフレーム画像データのピクチャ情報を読み出すことによりそのピクチャ情報に基づいて予測モードデータＤ３を生成し、当該生成した予測モードデータＤ３を簡易動きベクトルバッファ７５に送出して蓄積する。
【０２６８】
また、簡易動きベクトル検出器７４は、入力用フレームメモリ３２内でフレーム画像データにＰピクチャが割り当てられたとき、図１０について上述した動画像符号化装置６０の簡易動きベクトル検出器６４と同様に当該Ｐピクチャの割り当てられた第２のフレーム画像データ及び参照用の第１又は第２のフレーム画像データのピクチャ情報に基づいて予測モードデータＤ２０を生成する。
【０２６９】
そして、簡易動きベクトル検出器７４は、図１１（Ａ）及び（Ｂ）並びに図１２について上述した場合と同様に階層サーチ動きベクトル検出方式による第２階層において、Ｐピクチャの割り当てられた第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出し、当該検出した各簡易動きベクトルＤ２４を予測モードデータＤ２０に対応付けて簡易動きベクトルバッファ７５に送出して蓄積する。
【０２７０】
これに加えて簡易動きベクトル検出器７４は、入力用フレームメモリ３２内で動画像データＤ１を構成する各フレーム画像データのうち先頭以外のフレーム画像データにＩピクチャが割り当てられたときには、当該Ｉピクチャの割り当てられた第１のフレーム画像データのピクチャ情報を読み出すと共に、その第１のフレーム画像データと順方向側で隣接する参照用の第２のフレーム画像データＤ６のピクチャ情報を読み出す。
【０２７１】
簡易動きベクトル検出器７４は、これらピクチャ情報に基づいて符号化対象の第１のフレーム画像データのフレーム識別情報を符号化対象フレーム識別情報として表すと共に参照用の第２のフレーム画像データＤ６のフレーム識別情報を参照用フレーム識別情報として表し、さらに符号化対象の第１のフレーム画像データを順次第１のマクロブロックデータＤ２単位でフレーム内符号化により圧縮符号化することを表す予測モードデータＤ３０を生成する。
【０２７２】
また、簡易動きベクトル検出器７４は、このとき入力用フレームメモリ３２からその符号化対象の第１のフレーム画像データを順次第１のマクロブロックデータＤ２単位で読み出すと共に参照用の第２のフレーム画像データＤ６を読み出し、図１１（Ａ）及び（Ｂ）並びに図１２について上述した場合と同様に階層サーチ動きベクトル検出方式による第２階層において当該第１のフレーム画像データに対する各第１のマクロブロックデータＤ２の簡易動きベクトルＤ３１を検出する。
【０２７３】
そして、簡易動きベクトル検出器７４は、第１のフレーム画像データに対する予測モードデータＤ３０及び各第１のマクロブロックデータＤ２の簡易動きベクトルＤ３１を対応付けて簡易動きベクトルバッファ７５に送出して蓄積する。
【０２７４】
このようにして簡易動きベクトル検出器７４は、入力用フレームメモリ３２にフレーム画像データが順次取り込まれてＩピクチャ及びＰピクチャが割り当てられると、その都度同様にして予測モードデータＤ３、Ｄ２０、Ｄ３０を生成すると共に簡易動きベクトルＤ２４、Ｄ３１を検出し、これらを簡易動きベクトルバッファ７５に蓄積する。
【０２７５】
ここで、動画像符号化装置７０においては、外部から供給される動画像データＤ１を順次フレーム画像データ単位で入力用フレームメモリ３２と共にマスク画像処理部７３のマスク画像生成器７７にも取り込んでいる。
【０２７６】
そして、マスク画像生成器７７には、図１６に示すように、外部からフレーム画像データに基づくフレーム画像８０から抽出する人物等の抽出画像の初期位置を指定すると共に枠８１により当該抽出画像の任意形状を指定する形状指定データＤ３５が与えられている。
【０２７７】
この場合、マスク画像生成器７７は、動画像データＤ１を構成する各フレーム画像データのうち先頭のフレーム画像データを取り込むと、当該取り込んだフレーム画像データをマクロブロックデータに分割し、形状指定データＤ３５に基づいて図１７に示すようにその先頭のフレーム画像データに基づくフレーム画像８３内で抽出画像の枠８１を囲む矩形状の追跡領域８４Ａを設定することにより当該設定した追跡領域８４Ａ内のマクロブロックデータを検出する。
【０２７８】
また、マスク画像生成器７７は、２フレーム目のフレーム画像データを取り込むと、当該２フレーム目のフレーム画像データをマクロブロックデータに分割し、簡易動きベクトルバッファ７５から２フレーム目のフレーム画像データ（すなわち、第２のフレーム画像データ）に対する各マクロブロックデータ（すなわち、第２のマクロブロックデータＤ４）の簡易動きベクトルＤ２４を読み出す。
【０２７９】
そして、マスク画像生成器７７は、各簡易動きベクトルＤ２４を用いて先頭のフレーム画像データに基づくフレーム画像８３の追跡領域８４Ａ内の各マクロブロックデータが２フレーム目のフレーム画像データに基づくフレーム画像８５内で移動した位置をおおまかに検出した後、当該フレーム画像８３及び８５間で追跡領域８４Ａ及び８４Ｂ同士を例えばラインマッチング法によって比較することによりその追跡領域８４Ａ内の各マクロブロックデータの移動した位置を高精度に検出する。
【０２８０】
これによりマスク画像生成器７７は、２フレーム目のフレーム画像データに基づくフレーム画像８５内で各マクロブロックデータを含む追跡領域８４Ｂを特定すると、当該特定した追跡領域８４Ｂ内で抽出画像の枠８１を特定する。
【０２８１】
このようにしてマスク画像生成器７７は、外部から順次フレーム画像データを取り込む毎に、簡易動きベクトルバッファ７５から読み出した対応する簡易動きベクトルＤ２４及びＤ３１を用いると共にラインマッチング法を用いて順次隣接するフレーム画像データ間で追跡領域８４Ａ内の各マクロブロックデータの移動した位置を検出して追跡領域８４Ｂと共に抽出画像の枠８１を特定することにより複数のフレーム画像データに渡って順次抽出画像を追跡する。
【０２８２】
これに加えて、マスク画像生成器７７は、このように順次隣接するフレーム画像データ間で抽出画像を追跡すると、図１８に示すように、まず先頭のフレーム画像データについては形状指定データＤ３５に基づいて各マクロブロックデータの各画素の画素値を変更することによりフレーム画像８３（図１７）において抽出画像の枠８１よりも内側を例えば白色とし、かつ当該枠８１よりも外側を黒色として抽出画像の初期位置及び任意形状を表すマスク画像８６を生成し、当該生成したマスク画像８６のデータ（以下、これをマスク画像データと呼ぶ）Ｄ３６を複数フレーム分の記憶容量を有するマスク用フレームメモリ９０に送出して蓄積する。
【０２８３】
また、マスク画像生成器７７は、２フレーム目以降のフレーム画像データについては、追跡した抽出画像の枠８１に基づいて各マクロブロックデータの画素の画素値を変更することにより先頭のフレーム画像データの場合と同様に処理して抽出画像の移動位置及び任意形状を表すマスク画像データＤ３６を生成し、当該生成したマスク画像データＤ３６をマスク用フレームメモリ９０に送出して蓄積する。
【０２８４】
このようにしてマスク画像生成器７７は、フレーム画像データを取り込む毎に抽出画像を追跡しながら当該フレーム画像データから抽出画像の移動位置及び任意形状を表すマスク画像データＤ３６を生成してマスク用フレームメモリ９０に蓄積する。
【０２８５】
ところで、動きベクトル検出器９１は、簡易動きベクトル検出器７４により所定フレーム数分の簡易動きベクトルＤ２４及びＤ３１が簡易動きベクトルバッファ７５に蓄積されると共に、マスク画像生成器７７により所定フレーム数分のマスク画像データＤ３６がマスク用フレームメモリ９０に蓄積されることにより圧縮符号化部７２が符号化対象の第１及び第２のフレーム画像データに対して圧縮符号化を開始すると、当該符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化の順番に従って簡易動きベクトルバッファ７５から順次対応する予測モードデータＤ３及びＤ２０並びにＤ３０を読み出す。
【０２８６】
動きベクトル検出器９１は、簡易動きベクトルバッファ７５から予測モードデータＤ３及びＤ２０並びにＤ３０を読み出す毎に、当該予測モードデータＤ３及びＤ２０並びにＤ３０に基づいて得られる符号化対象フレーム識別情報及び参照用フレーム識別情報を、このときフレーム構造変換器６２から与えられた対応するコントロールフラグＣＦ１及びＣＦ２並びにＣＦ３に基づいて得られた符号化対象フレーム識別情報及び参照用フレーム識別情報並びに間引きフレーム識別情報と比較する。
【０２８７】
この場合、動きベクトル検出器９１は、簡易動きベクトルバッファ７５から第１のフレーム画像データに対する予測モードデータＤ３、Ｄ３０を読み出したときには、図５（Ａ）乃至（Ｃ）について上述したように第１のフレーム画像データが間引きの対象から除外されており、予測モードデータＤ３、Ｄ３０及び対応するコントロールフラグＣＦ１に基づいて得られる符号化対象フレーム識別情報同士が一致することにより当該第１のフレーム画像データが間引かれていないと判断して予測モードデータＤ３、Ｄ３０を動き補償器９２及び可変長符号化器９３に送出する。
【０２８８】
また、動きベクトル検出器９１は、簡易動きベクトルバッファ７５から第２のフレーム画像データに対する予測モードデータＤ２０を読み出したとき、その予測モードデータＤ２０及び対応するコントロールフラグＣＦ２に基づいて当該第２のフレーム画像データと、これに簡易動きベクトルＤ２４の検出時に対応付けた参照用の第１又は第２のフレーム画像データＤ６とが間引かれていないことを検出すると、簡易動きベクトルバッファ７５からその予測モードデータＤ２０に対応付けられている簡易動きベクトルＤ２４を読み出す。
【０２８９】
このとき動きベクトル検出器９１は、コントロールフラグＣＦ２に基づいて入力用フレームメモリ３２から符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に簡易動きベクトルＤ２４の検出時に対応付けた参照用の第１又は第２のフレーム画像データＤ６を読み出し、さらにマスク用フレームメモリ９０から当該符号化対象の第２のフレーム画像データに対応するマスク画像データＤ３６も読み出す。
【０２９０】
そして、動きベクトル検出器９１は、図１９に示すように、マスク画像データＤ３６を用いて各第２のマクロブロックデータＤ４うち任意形状の抽出画像のエッジ部分８１Ａよりも外側及び内側に位置するものと当該エッジ部分８１Ａにかかるものとを判別する。
【０２９１】
この結果、動きベクトル検出器９１は、各第２のマクロブロックデータＤ４のうち抽出画像のエッジ部分８１Ａよりも外側に位置する第２のマクロブロックデータＤ４に対しては、原画像レベルの動きベクトルの検出を実行せずに予測モードデータＤ２０のみを動き補償器９２及び可変長符号化器９３に送出する。
【０２９２】
また、動きベクトル検出器９１は、各第２のマクロブロックデータＤ４のうち抽出画像のエッジ部分８１Ａよりも内側に位置する第２のマクロブロックデータＤ４に対しては、簡易動きベクトルバッファ７５から対応する簡易動きベクトルＤ２４を読み出し、図１２について上述した場合と同様に階層サーチ動きベクトル検出方式による第１階層において原画像レベルの動きベクトルＤ２６を検出し、当該検出した動きベクトルＤ２６を予測モードデータＤ２０と共に動き補償器９２及び可変長符号化器９３に送出する。
【０２９３】
さらに、動きベクトル検出器９１は、図２０に示すように、各第２のマクロブロックデータＤ４のうち抽出画像のエッジ部分８１Ａにかかる第２のマクロブロックデータＤ４に対しては、特にマスク画像データＤ３６を用いて当該第２のマクロブロックデータＤ４内の全ての画素のうちエッジ部分８１Ａの内側に位置する画素を判別する。
【０２９４】
そして、動きベクトル検出器９１は、図１２について上述した場合と同様な階層サーチ動きベクトル検出方式による第１階層においてブロックマッチング法により第２のマクロブロックデータＤ４の各画素のうちエッジ部分８１Ａの内側に位置する画素のみを選択的に用いて予測誤差を算出することにより原画像レベルの動きベクトルＤ３７を検出し、当該検出した動きベクトルＤ３７を予測モードデータＤ２０と共に動き補償器９２及び可変長符号化器９３に送出する。
【０２９５】
また、動きベクトル検出器９１は、簡易動きベクトルバッファ７５から第２のフレーム画像データに対する予測モードデータＤ２０を読み出したとき、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに対して新たな第１又は第２のフレーム画像データＤ６が参照用として対応付けられていれば、コントロールフラグＣＦ２に基づいて入力用フレームメモリ３２からその符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に新たに対応付けられた参照用の第１又は第２のフレーム画像データＤ６を読み出し、さらにマスク用フレームメモリ９０から当該符号化対象の第２のフレーム画像データに対応するマスク画像データＤ３６を読み出す。
【０２９６】
このとき動きベクトル検出器９１は、予測モードデータＤ２０に、予め格納されている参照用フレーム識別情報に代えてコントロールフラグＣＦ２に基づいて得られた新たな参照用フレーム識別情報を格納することにより第２のマクロブロックデータＤ４に対して内容を修正した予測モードデータＤ２７を生成する。
【０２９７】
また、動きベクトル検出器９１は、符号化対象の第２のフレーム画像データの各第２のマクロブロックデータＤ４及び新たに対応付けられた参照用の第１又は第２のフレーム画像データＤ６を用いて図１２について上述した場合と同様に階層サーチ動きベクトル検出方式による第２階層においてこれら各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出する。
【０２９８】
そして、動きベクトル検出器９１は、検出した各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を用いて図１９及び図２０について上述した場合と同様に第１階層においてマスク画像データＤ３６によって指定された抽出画像のエッジ部分８１Ａよりも内側及び当該エッジ部分８１Ａにかかる第２のマクロブロックデータＤ４に対してのみ原画像レベルの動きベクトルＤ２６及びＤ３７を生成する。
【０２９９】
これにより動きベクトル検出器９１は、抽出画像のエッジ部分８１Ａよりも外側に位置する第２のマクロブロックデータＤ４に対しては予測モードデータＤ２７のみを動き補償器９２及び可変長符号化器９３に送出し、当該エッジ部分８１Ａよりも内側及びそのエッジ部分８１Ａにかかる第２のマクロブロックデータＤ４に対しては原画像レベルの動きベクトルＤ２６及びＤ３７を予測モードデータＤ２７と共に動き補償器９２及び可変長符号化器９３に送出する。
【０３００】
さらに、動きベクトル検出器９１は、簡易動きベクトルバッファ７５から符号化対象の第２のフレーム画像データに対する予測モードデータＤ２０を読み出したときにフレーム構造変換器６２から与えられたコントロールフラグＣＦ３に基づいて当該第２のフレーム画像データが間引かれていることを検出すると、その第２のフレーム画像データに対する原画像レベルでの動きベクトルの検出を見送ると共に、このときマスク用フレームメモリ９０に対して当該符号化対象の第２のフレーム画像データに対応するマスク画像データＤ３６を読出不可能な状態にする。
【０３０１】
このようにして動きベクトル検出器９１は、フレーム構造変換器６２による動画像データＤ１のフレームレートの変更に適確に応じながら符号化対象の第２のフレーム画像データに対して抽出画像に対応する第２のマクロブロックデータＤ４の動きベクトルＤ２６及びＤ３７を順次適確に検出（再検出を含む）し得るようになされている。
【０３０２】
一方、マスク画像処理部７３においてマスク画像符号化器９４は、圧縮符号化部７２により符号化対象の第１又は第２のフレーム画像データに対する圧縮符号化が開始されると、当該第１及び第２のフレーム画像データに対する圧縮符号化の順番に従ってマスク用フレームメモリ９０から順次対応するマスク画像データＤ３６を読み出すと共に、当該読み出したマスク画像データＤ３６をＭＰＥＧ４方式によって規定されているマスク画像データ符号化方法により圧縮符号化し、得られた符号化データＤ４０を局所復号器９５及びバッファ９６に送出する。
【０３０３】
因みに、マスク画像符号化器９４は、動きベクトル検出器９１によりマスク用フレームメモリ９０内において読出不可能な状態にされたマーク画像データＤ３６については読み出しを見送るようにする。
【０３０４】
局所復号器９５は、マスク画像符号化器９４から与えられた符号化データＤ４０をＭＰＥＧ４方式の規定に従って復号化し、得られたマスク画像データＤ４１を複数フレーム分の記録容量を有する参照用フレームメモリ９７に送出して蓄積する。
【０３０５】
また、圧縮符号化部７２において演算器３８は、符号化対象の第１及び第２のフレーム画像データに対して圧縮符号化を開始すると、入力用フレームメモリ３２から第１のフレーム画像データについては順次第１のマクロブロックデータＤ２単位で読み出す。
【０３０６】
動き補償器９２は、このとき動きベクトル検出器９１から与えられた対応する予測モードデータＤ３及びＤ３０に基づいて第１のマクロブロックデータＤ２に対する動き補償処理を停止する。
【０３０７】
これにより演算器３８は、入力用フレームメモリ３２から第１のフレーム画像データの第１のマクロブロックデータＤ２を読み出すと、このとき動き補償器９２からは何らデータが与えられないことにより当該第１のマクロブロックデータＤ２をそのまま離散コサイン変換器９８に送出する。
【０３０８】
離散コサイン変換器９８は、符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化が開始されると、当該符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化の順番に従って参照用フレームメモリ９７から順次対応するマスク画像データＤ４１を読み出しており、演算器３８から第１のマクロブロックデータＤ２が与えられると、対応するマスク画像データＤ４１に基づいて当該第１のマクロブロックデータＤ２が抽出画像のエッジ部分８１Ａよりも外側及び内側並びに当該エッジ部分８１Ａのどこに位置するかを判別する。
【０３０９】
そして、離散コサイン変換器９８は、第１のマクロブロックデータＤ２がエッジ部分８１Ａよりも外側に位置するときにはＭＰＥＧ４方式の規定に従い当該第１のマクロブロックデータＤ２の各画素の画素値を圧縮符号化の際にデータ量を大幅に低減させる例えば黒色を表す画素値に変更する。
【０３１０】
また、離散コサイン変換器９８は、第１のマクロブロックデータＤ２がエッジ部分８１Ａよりも内側に位置するときにはＭＰＥＧ４方式の規定に従い当該第１のマクロブロックデータＤ２をそのまま変更しないようにする。
【０３１１】
さらに、離散コサイン変換器９８は、第１のマクロブロックデータＤ２がエッジ部分８１ＡにかかるときにはＭＰＥＧ４方式の規定に従い当該第１のマクロブロックデータＤ２の各画素のうちエッジ部分８１Ａよりも外側の画素の画素値を黒色を表す画素値に変更し、かつ当該エッジ部分８１Ａよりも内側の画素の画素値はそのまま変更しないようにする。
【０３１２】
かくして離散コサイン変換器９８は、マスク画像データＤ４１に基づいて各第１のマクロブロックデータＤ２に画素値の変更処理を施すことにより第１のフレーム画像データに基づくフレーム画像において任意形状の抽出画像を見かけ上抽出した状態としてこれら各第１のマクロブロックデータＤ２を離散コサイン変換し、得られた離散コサイン変換係数Ｋ１０を量子化器４１に送出する。
【０３１３】
量子化器４１は、離散コサイン変換器９８から与えられた離散コサイン変換係数Ｋ１０を対応する量子化ステップＳＴに基づいて量子化し、得られた量子化係数Ｋ１１をその量子化に用いた量子化ステップＳＴと共に可変長符号化器９３及び逆量子化器４４に送出する。
【０３１４】
可変長符号化器９３は、量子化器４１から与えられた量子化係数Ｋ１１をハフマン符号等により可変長符号化すると共に、当該量子化器４１から与えられた量子化ステップＳＴ及び動きベクトル検出器９１から与えられた対応する予測モードデータＤ３を可変長符号化し、得られた符号化データＤ４５をバッファ９６に送出して一旦蓄積する。
【０３１５】
これによりバッファ９６は、可変長符号化器９３から与えられた符号化データＤ４５及びマスク画像符号化器９４から与えられた符号化データＤ４０を符号化データ量を平滑化した符号化ビットストリームＢＳ２として外部に出力する。
【０３１６】
このようにして画像符号化装置７０においては、入力用フレームメモリ３２内の第１のフレーム画像データについては見かけ上抽出画像データを抽出した状態にして順次第１のマクロブロックデータＤ２単位でフレーム内符号化により圧縮符号化し得るようになされている。
【０３１７】
また、逆量子化器４４は、量子化器４１から与えられた量子化係数Ｋ１１を同様に量子化器４１から与えられた量子化ステップＳＴに基づいて逆量子化し、得られた離散コサイン変換係数Ｋ１２を逆離散コサイン変換器４５に送出する。
【０３１８】
逆離散コサイン変換器４５は、逆量子化器４４から与えられた離散コサイン変換係数Ｋ１２を逆離散コサイン変換し、得られた第１のマクロブロックデータＤ４６を加算器４６に送出する。
【０３１９】
加算器４６は、逆離散コサイン変換器４５から第１のマクロブロックデータＤ４６が与えられると、このとき動き補償器９２からは何らデータが与えられていないことにより当該第１のマクロブロックデータＤ４６をそのまま参照用フレームメモリ９７に送出して格納する。
【０３２０】
このようにして加算器４６は、第１のフレーム画像データに対する圧縮符号化により逆離散コサイン変換器４５から第１のマクロブロックデータＤ４６が順次与えられる毎に当該第１のマクロブロックデータＤ４６をそのまま参照用フレームメモリ９７に送出して格納することにより、参照用フレームメモリ９７内にこれら第１のマクロブロックデータＤ４６によって見かけ上抽出画像データを抽出した第１のフレーム画像データを動き補償処理の参照用として再構築する。
【０３２１】
また、演算器３８は、入力用フレームメモリ３２から第１のフレーム画像データを読み出すと、これに続いて符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出す。
【０３２２】
このとき動き補償器９２は、動きベクトル検出器９１から与えられた対応する予測モードデータＤ２０及びＤ２７に基づいて動き補償処理を実行することにより参照用フレームメモリ９７から符号化対象の第２のフレーム画像データに参照用として対応付けられ、かつ見かけ上抽出画像データが抽出された第１又は第２のフレーム画像データを読み出すと共に当該符号化対象の第２のフレーム画像データに対応するマスク画像データＤ４１を読み出す。
【０３２３】
そして、動き補償器９２は、ＭＰＥＧ４方式の規定に従い動きベクトル検出器９１から与えられた第２のマクロブロックデータＤ４の動きベクトルＤ２６、Ｄ３７及びマスク画像データＤ４１に基づいて参照用の第１又は第２のフレーム画像データ内から当該第２のマクロブロックデータＤ４と最も一致する演算用ブロックデータＤ４７を抽出し、当該抽出した演算用ブロックデータＤ４７を演算器３８及び加算器４６に送出する。
【０３２４】
従って、演算器３８は、入力用フレームメモリ３２から第２のマクロブロックデータＤ４を読み出すと、このとき動き補償器９２から与えられた演算用マクロブロックデータＤ４７を当該第２のマクロブロックデータＤ４から減算し、得られた差分データＤ４８を離散コサイン変換器９８に送出する。
【０３２５】
離散コサイン変換器９８は、演算器３８から差分データＤ４８が与えられると、ＭＰＥＧ４方式の規定に従い対応するマスク画像データＤ４１に基づいて当該差分データＤ４８に見かけ上抽出画像データを抽出するための画素値の変更処理を施した後に離散コサイン変換し、得られた離散コサイン変換係数Ｋ１３を量子化器４１に送出する。
【０３２６】
量子化器４１は、離散コサイン変換器９８から与えられた離散コサイン変換係数Ｋ１３を対応する量子化ステップＳＴに基づいて量子化し、得られた量子化係数Ｋ１４をその量子化ステップＳＴと共に可変長符号化器９３及び逆量子化器４４に送出する。
【０３２７】
可変長符号化器９３は、量子化器４１から与えられた量子化係数Ｋ１４をハフマン符号等により可変長符号化すると共に、当該量子化器４１から与えられた量子化ステップＳＴと動きベクトル検出器９１から与えられた対応する予測モードデータＤ２０、Ｄ２７及び動きベクトルＤ２６、Ｄ３７も可変長符号化し、得られた符号化データＤ４８をバッファ９６に送出して一旦蓄積する。
【０３２８】
これによりバッファ９６は、可変長符号化器９３から与えられた符号化データＤ４８及びマスク画像符号化器９４から与えられた符号化データＤ４０を符号化データ量を平滑化した符号化ビットストリームＢＳ２として外部に出力する。
【０３２９】
このようにして画像符号化装置７０においては、入力用フレームメモリ３２内の第２のフレーム画像データについても見かけ上抽出画像データを抽出した状態にして順次第２のマクロブロックデータＤ４単位で順方向予測符号化により圧縮符号化し得るようになされている。
【０３３０】
このとき、逆量子化器４４は、量子化器４１から与えられた量子化係数Ｋ１４を同様に量子化器４１から与えられた量子化ステップＳＴに基づいて逆量子化し、得られた離散コサイン変換係数Ｋ１５を逆離散コサイン変換器４５に送出する。
【０３３１】
また、逆離散コサイン変換器４５は、逆量子化器４４から与えられた離散コサイン変換係数Ｋ１５を逆離散コサイン変換し、得られた差分データＤ５０を加算器４６に送出する。
【０３３２】
加算器４６は、逆離散コサイン変換器４５から差分データＤ５０が与えられると、このとき動き補償器９２から演算用ブロックデータＤ４７が与えられることにより当該差分データＤ５０と演算用ブロックデータＤ４７とを加算し、得られた第２のマクロブロックデータＤ５１を参照用フレームメモリ９７に送出して格納する。
【０３３３】
このようにして加算器４６は、第２のフレーム画像データに対する圧縮符号化により逆離散コサイン変換器４５から差分データＤ５０が与えられる毎に当該差分データＤ５０と対応する演算用ブロックデータＤ４７とを加算して第２のマクロブロックデータＤ５１を生成し、当該生成した第２のマクロブロックデータＤ５１を参照用フレームメモリ９７に送出して格納することによりその参照用フレームメモリ９７内にこれら第２のマクロブロックデータＤ５１によって見かけ上抽出画像データを抽出した第２のフレーム画像データを動き補償処理の参照用として再構築する。
【０３３４】
因みに、可変長符号化器９３は、第１及び第２のフレーム画像データから得られた量子化係数Ｋ１１及びＫ１４に対して抽出画像データの部分を選択的に可変長符号化するようになされており、これにより可変長符号化の処理負荷を低減させると共に符号化ビットストリームＢＳ２の符号化データ量を低減し得るようになされている。
【０３３５】
かくしてこの動画像符号化装置７０においては、動画像データＤ１に対するフレームレートを適宜変更しながら第１及び第２のフレーム画像データから見かけ上抽出画像データを抽出して圧縮符号化し、得られた符号化ビットストリームＢＳ２を外部に出力し得るようになされている。
【０３３６】
ここで、この動画像符号化装置７０のフレームレート変更処理部６１と動きベクトル検出処理部７１と圧縮符号化部７２とマスク画像処理部７３とによる動画像データＤ１の圧縮符号化処理手順についてまとめてみると、図１３（Ａ）及び図１４（Ａ）との対応部分に同一符号を付した図２１（Ａ）及び図２２（Ａ）に示すように、まず動きベクトル検出処理部７１は、ルーチンＲＴ６の開始ステップから入ってステップＳＰ５１に移る。
【０３３７】
ステップＳＰ５１において動きベクトル検出処理部７１は、簡易動きベクトル検出回路７４により入力用フレームメモリ３２から先頭の第１のフレーム画像データ以外の第１及び第２のフレーム画像データを順次第１及び第２のマクロブロックデータＤ２及びＤ４単位で読み出すと共に、当該第１及び第２のフレーム画像データに対する参照用の第１又は第２のフレーム画像データＤ６を読み出し、階層サーチ動きベクトル検出方式による第２階層において１フレーム分の各第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１を検出して簡易動きベクトルバッファ７５に蓄積してステップＳＰ３２に移る。
【０３３８】
ステップＳＰ３２において動きベクトル検出処理部７１は、簡易動きベクトル検出器７４によりフレーム間相関値ＳＨ２を算出してフレーム構造変換器６２に送出した後にステップＳＰ３３に移る。
【０３３９】
ステップＳＰ３３において動きベクトル検出処理部７１は、動きベクトル検出器９１により入力用フレームメモリ３２に対する演算器３８のアクセスの有無を監視して第１及び第２のフレーム画像データの圧縮符号化が開始されたか否かを判断し、当該第１及び第２のフレーム画像データの圧縮符号化が開始されるまでの間はステップＳＰ５１−ＳＰ３２−ＳＰ３３の処理ループを繰り返すことにより順次第１及び第２のフレーム画像データにおける各第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１を検出すると共に、フレーム間相関値ＳＨ２を算出する。
【０３４０】
このとき図２１（Ｂ）及び図２２（Ｂ）に示すように、マスク画像処理部７３は、ルーチンＲＴ７の開始ステップから入ってステップＳＰ６１に移り、外部から供給される動画像データＤ１を順次フレーム画像データ単位で取り込み、形状指定データＤ３５に基づいて先頭のフレーム画像データに対して抽出画像の初期位置及び任意形状を特定したマスク画像データＤ３６を生成してマスク用フレームメモリ９０に蓄積してステップＳＰ６２に移る。
【０３４１】
ステップＳＰ６２においてマスク画像処理部７３は、例えばマスク用フレームメモリ９０に対する動きベクトル検出器９１のアクセスの有無を監視して第１及び第２のフレーム画像データの圧縮符号化が開始されたか否かを判断し、当該第１及び第２のフレーム画像データの圧縮符号化が開始されるまでの間はステップＳＰ６１−ＳＰ６２の処理ループを繰り返すことにより２フレーム目以降のフレーム画像データに対して簡易動きベクトルバッファ７５から読み出した第１及び第２のマクロブロックデータの簡易動きベクトルＤ２４及びＤ３１を用いて順次抽出画像を追跡しながらこれら各フレーム画像データに対して抽出画像の移動位置及び任意形状を表すマスク画像データＤ３６を生成してマスク用フレームメモリ９０に蓄積する。
【０３４２】
この後圧縮符号化部７２により符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化が開始されると、動きベクトル検出処理部７１はステップＳＰ３３からステップＳＰ３４に移り、図１３（Ａ）及び図１４（Ａ）について上述した場合と同様にステップＳＰ３４−ＳＰ３５−ＳＰ３６の処理を順次実行してステップＳＰ５２に移る。
【０３４３】
ステップＳＰ５２において動きベクトル検出処理部７１は、動きベクトル検出器９１により入力用フレームメモリ３２から符号化対象の第２のフレーム画像データを順次第２のマクロブロックデータＤ４単位で読み出すと共に参照用の第１又は第２のフレーム画像データＤ６を読み出し、さらにマスク用フレームメモリ９０から対応するマスク画像データＤ３６を読み出すことにより当該読み出したマスク画像データＤ３６に基づいて各第２のマクロブロックデータＤ４うち任意形状の抽出画像のエッジ部分８１Ａよりも外側及び内側並びに当該エッジ部分８１Ａにかかるものをそれぞれ判別した後に階層サーチ動きベクトル検出方式による第１階層においてその判別結果に応じて各第２のマクロブロックデータＤ４の原画像レベルの動きベクトルＤ２６及びＤ３７を検出してステップＳＰ３８に移る。
【０３４４】
ステップＳＰ３８において動きベクトル検出処理部７１は、簡易動きベクトル検出器７４により２フレーム以降の全ての第１及び第２のフレーム画像データに対する各第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１を検出したか否を判断し、入力用フレームメモリ３２に簡易動きベクトルＤ２４及びＤ３１を検出すべき第１及び第２のフレーム画像データが取り込まれている間はステップＳＰ５１に戻り当該ステップＳＰ５１―ＳＰ３２−ＳＰ３３−ＳＰ３４−ＳＰ３５−ＳＰ３６−ＳＰ５２−ＳＰ３８の処理ループを繰り返すことにより入力用フレームメモリ３２に取り込まれている２フレーム目以降の第１及び第２のフレーム画像データに対して順次第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１を検出し、かつフレーム間相関値ＳＨ２を順次算出しながら、当該第２のマクロブロックデータＤ４の動きベクトルＤ２６、Ｄ３７を検出する。
【０３４５】
一方、圧縮符号化部７２により符号化対象の第１及び第２のフレーム画像データに対する圧縮符号化が開始されると、マスク画像処理部７３は、ステップＳＰ６２からステップＳＰ６３に移り、マスク画像符号化器９４によりマスク用フレームメモリ９０からマスク画像データＤ３６を読み出して圧縮符号化し、得られた符号化データＤ４０を局所復号器９５及びバッファ９６に送出してステップＳＰ６４に移る。
【０３４６】
ステップＳＰ６４においてマスク画像処理部７３は、局所復号器９５により符号化データＤ４０を復号化し、得られたマスク画像データＤ４１を参照用フレームメモリ９７に蓄積してステップＳＰ６５に移る。
【０３４７】
ステップＳＰ６５においてマスク画像処理部７３は、マスク画像生成器７７により外部から供給された全てのフレーム画像データから抽出画像を追跡しながらマスク画像データＤ３６を生成したか否かを判断し、全てのフレーム画像データから抽出画像の移動位置及び任意形状を表すマスク画像データＤ３６を生成するまでの間はステップＳＰ６１−ＳＰ６２−ＳＰ６３−ＳＰ６４−ＳＰ６５の処理ループを繰り返すことによりフレーム画像データから順次追跡した抽出画像に基づいてマスク画像データＤ３６を生成してマスク用フレームメモリ９０に蓄積しながら、当該蓄積したマスク画像データＤ３６を順次圧縮符号化する。
【０３４８】
また、図１３（Ｂ）との対応部分に同一符号を付した図２３（Ｃ）に示すように、圧縮符号化部７２は、ルーチンＲＴ８の開始ステップから入ってステップＳＰ１１に移り、符号化対象の第１及び第２のフレーム画像データに対して圧縮符号化を開始することによりステップＳＰ７１に移る。
【０３４９】
ステップＳＰ７１において圧縮符号化部７２は、演算器３８により入力用フレームメモリ３２から第１及び第２のフレーム画像データを順次第１及び第２のマクロブロックデータＤ２及びＤ４単位で読み出し、当該読み出した第１及び第２のマクロブロックデータＤ２及びＤ４に対して離散コサイン変換器９８によりマスク画像データＤ４１に基づいて画素値の変更処理を施することにより見かけ上抽出画像データを抽出した後にフレーム内符号化又は動きベクトルＤ２６及びＤ３７を用いた順方向予測符号化により圧縮符号化し、得られた符号化データＤ４５及びＤ４８をバッファ９６に蓄積してステップＳＰ７２に移る。
【０３５０】
ステップＳＰ７２において圧縮符号化部７２は、バッファ９６により第１及び第２のフレーム画像データの圧縮符号化して得られた符号化データＤ４５及びＤ４８をマスク画像処理部７３からマスク画像データＤ３６を圧縮符号化して与えられた符号化データＤ４０と共に符号化ビットストリームＢＳ２として外部に出力してステップＳＰ１４に移る。
【０３５１】
ステップＳＰ１４において圧縮符号化部７２は、演算器３８による入力用フレームメモリ３２からの第１及び第２のフレーム画像データの読み出し状況に応じて符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化したか否かを判断し、符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化するまでの間はステップＳＰ７１−ＳＰ７２−ＳＰ１４の処理ループを繰り返すことにより当該符号化対象の第１のフレーム画像データを見かけ上抽出画像データを抽出してフレーム内符号化により圧縮符号化すると共に、符号化対象の第２のフレーム画像データを見かけ上抽出画像データを抽出して動きベクトルＤ２６及びＤ３７を用いた順方向予測符号化により圧縮符号化し、得られた符号化データＤ４５及びＤ４８をマスク画像データＤ３６の符号化データＤ４０と共に符号化ビットストリームＢＳ２として出力する。
【０３５２】
そして、ステップＳＰ３８において動きベクトル検出処理部７１は、簡易動きベクトル検出器７４により２フレーム以降の全ての第１及び第２のフレーム画像データに対する各第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１が検出されると、ステップＳＰ８に移る。
【０３５３】
ステップＳＰ８において動きベクトル検出処理部７１は、動きベクトル検出器９１により入力用フレームメモリ３２に対する演算器３８のアクセスの有無を監視することにより符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたか否かを判断し、符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されるまでの間はステップＳＰ３４−ＳＰ３５−ＳＰ３６−ＳＰ５２−ＳＰ３８−ＳＰ８の処理ループを繰り返すことにより符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の動きベクトルＤ２６及びＤ３７を順次検出する。
【０３５４】
このようにして動きベクトル検出処理部７１は、ステップＳＰ８において符号化対象の第１及び第２のフレーム画像データが全て圧縮符号化されたと判断すると、ステップＳＰ５３に移って当該動きベクトル検出処理部７１の処理手順を終了する。
【０３５５】
また、ステップＳＰ６５においてマスク画像処理部７３は、マスク画像生成器７７により全てのフレーム画像データから順次抽出画像を追跡しながらマスク画像データＤ３６を生成すると、ステップＳＰ６６に移る。
【０３５６】
ステップＳＰ６６においてマスク画像処理部７３は、マスク画像符号化部９４によりマスク用フレームメモリ９０内の全てのマスク画像データＤ３６を圧縮符号化したか否かを判断し、当該マスク用フレームメモリ９０内の全てのマスク画像データＤ３６を圧縮符号化するまでの間はステップＳＰ６２−ＳＰ６３−ＳＰ６４−ＳＰ６５−ＳＰ６６の処理ループを繰り返すことによりマスク用フレームメモリ９０内のマスク画像データＤ３６を順次圧縮符号化し、得られた符号化データＤ４０を局所復号器９５及びバッファ９６に送出する。
【０３５７】
そして、ステップＳＰ６６においてマスク画像処理部７３は、マスク用フレームメモリ９０内の全てのマスク画像データＤ３６を圧縮符号化したと判断すると、ステップＳＰ６７に移り当該マスク画像処理部７３の処理手順を終了する。
【０３５８】
さらに、ステップＳＰ１４において圧縮符号化部７２は、符号化対象の第１及び第２のフレーム画像データを全て圧縮符号化したと判断すると、ステップＳＰ７３に移って当該圧縮符号化部７２の処理手順を終了し、かくして動画像符号化装置７０における動画像データＤ１の圧縮符号化処理手順を全て終了する。
【０３５９】
以上の構成において、この動画像符号化装置７０では、外部から供給される動画像データＤ１を順次フレーム画像データ単位で入力用フレームメモリ３２に取り込み、簡易動きベクトル検出器７４により階層サーチ動きベクトル検出方式による第２階層において第１及び第２のフレーム画像データに対する各第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１を検出する。
【０３６０】
また、この動画像符号化装置７０では、外部から供給される動画像データＤ１を順次フレーム画像データ単位でマスク画像生成器７７にも取り込み、当該マスク画像生成器７７により先頭のフレーム画像データに対して初期位置及び任意形状が指定された抽出画像データを各第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１を用いて２フレーム目以降のフレーム画像データについて順次追跡しながら当該フレーム画像データ毎に抽出画像データの移動位置及び任意形状を表すマスク画像データＤ３６を生成する。
【０３６１】
そして、この動画像符号化装置７０では、圧縮符号化部７２により符号化対象の第１及び第２のフレーム画像データを圧縮符号化する際に動きベクトル検出器９１により階層サーチ動きベクトル検出方式による第１階層において簡易動きベクトルＤ２４及びマスク画像データＤ３６に基づいて抽出画像データの内部及びエッジ部分８１Ａにかかる第２のマクロブロックデータＤ４のみの原画像レベルの動きベクトルＤ２６及びＤ３７を検出する。
【０３６２】
このようにして動画像符号化装置７０では、フレームレート変更処理部６１により動画像データＤ１のフレームレート適宜変更しながら圧縮符号化部７２によりマスク画像データＤ４１に基づいて第１のフレーム画像データを見かけ上抽出画像データを抽出してフレーム内符号化により圧縮符号化すると共に、原画像レベルの動きベクトルＤ２６及びＤ３７並びにマスク画像データＤ４１に基づいて第２のフレーム画像データも見かけ上抽出画像データを抽出して順方向予測符号化により圧縮符号化し、さらにマスク画像符号化器９４によりマスク画像データＤ３６を順次圧縮符号化し、得られた符号化データＤ４５及びＤ４８並びにＤ４０をバッファ９６に一旦蓄積して符号化ビットストリームＢＳ２として外部に出力するようにした。
【０３６３】
従って、この動画像符号化装置７０では、動画像データＤ１のフレームレートの変更に加えて、当該動画像データＤ１をフレーム画像データから順次抽出画像データを抽出して圧縮符号化するため、上述した第１及び第２の実施の形態によって得られる効果に加えて、上述した第１及び第２の実施の形態による動画像符号化装置３０及び６０（図２及び図１０）に比べて単位時間当りに圧縮符号化すべき符号化対象のデータ量を大幅に減らすことができ、かくして抽出画像データに対する圧縮率を格段的に低減させてユーザに提供する抽出画像を高画質化することができる。
【０３６４】
これに加えて、この動画像符号化装置７０では、簡易動きベクトル検出器７４及び動きベクトル検出器９１により第１及び第２のマクロブロックデータＤ２及びＤ４の動きベクトルを階層的に検出し、下層側の第２階層において検出した簡易動きベクトルＤ２４及びＤ３１を第１及び第２のフレーム画像データに対する抽出画像データの追跡と、当該抽出画像データの圧縮符号化に用いる上層側の第１階層（原画像レベル）における第２のマクロブロックデータＤ４の動きベクトルＤ２６及びＤ３７の検出に共有化して用いるため、抽出画像データの追跡及び圧縮符号化に対してそれぞれ個別に動きベクトルを１階層で直接検出する場合に比べて動きベクトル検出時の演算量を格段的に低減させることができる。
【０３６５】
因みに、この動画像符号化装置７０では、動きベクトルの検出に階層サーチ動きベクトル検出方式を用いるため、上述した第２の実施の形態からも明らかなように、動きベクトルを１階層で直接検出する場合に比べても動きベクトル検出時の演算量を格段的に低減させることができる。
【０３６６】
また、この動画像符号化装置７０では、動きベクトル検出器９１によりマスク画像データＤ３６に基づいて第２のフレーム画像データの各第２のマクロブロックデータＤ４のうち抽出画像データのエッジ部分８１Ａ及びこれよりも内側に位置する第２のマクロブロックデータＤ４についてのみ動きベクトルＤ２６及びＤ３７を検出するため、動きベクトル検出時の演算量をさらに低減させることができる。
【０３６７】
そして、この動画像符号化装置７０では、動きベクトル検出器９１により抽出画像データのエッジ部分８１Ａにかかる第２のマクロブロックデータＤ４については特に当該エッジ部分８１Ａよりも内側の画素のみを用いて動きベクトルＤ３７を検出するため、抽出画像データの圧縮符号化に用いる当該動きベクトルＤ３７の検出精度を格段的に向上させることができる。
【０３６８】
さらに、この動画像符号化装置７０では、第１及び第２のフレーム画像データに対する抽出画像データの追跡に簡易動きベクトルＤ２４及びＤ３１を用いるものの、この際ラインマッチング法も合わせて用いるため追跡画像データの追跡精度を向上させることができる。
【０３６９】
以上の構成によれば、簡易動きベクトル検出器７４により第１及び第２のマクロブロックデータＤ２及びＤ４に対する下層の簡易動きベクトルをＤ２４及びＤ３１を検出し、当該検出した簡易動きベクトルＤ２４及びＤ３１を共有化してマスク画像生成器７７により第１及び第２のフレーム画像データに対して抽出画像データを追跡してマスク画像データＤ３６を生成すると共に、動きベクトル検出器９１により抽出画像データの圧縮符号化用に第２のマクロブロックデータＤ４の上層の動きベクトルＤ２６及びＤ３７を検出するようにしたことにより、動きベクトル検出時の演算量を格段的に低減させることができ、かくして任意形状の抽出画像データに対する圧縮符号化処理を高速化し得る動画像符号化装置を実現することができる。
【０３７０】
なお、上述した第３の実施の形態においては、図１５について上述したように外部から供給された動画像データＤ１を順次フレーム画像データ単位で入力用フレームメモリ３２に取り込み、当該入力用フレームメモリ３２に取り込んだフレーム画像データにＩピクチャ及びＰピクチャを所定の順番で割り当てるようにした場合について述べたが、本発明はこれに限らず、図８（Ａ）及び（Ｂ）並びに図９（Ａ）乃至（Ｃ）について上述したように、入力用フレームメモリ３２に取り込んだフレーム画像データにＩピクチャ、Ｐピクチャ及びＢピクチャを割り当てるようにしても良い。
【０３７１】
また、上述した第３の実施の形態においては、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに新たな参照用の第１又は第２のフレーム画像データＤ６を割り当てたときに動きベクトル検出器９１により階層サーチ動きベクトル検出方式による第１階層及び第２階層おいて、各マクロブロックデータのＤ４の簡易動きベクトルＤ２４及び原画像レベルの動きベクトルＤ２６及びＤ３７を順次検出するようにした場合について述べたが、本発明はこれに限らず、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに新たな参照用の第１又は第２のフレーム画像データＤ６を割り当てたときに、簡易動きベクトル検出器７５により階層サーチ動きベクトル検出方式による第２階層において符号化対象の第２のフレーム画像データ及び新たな参照用の第１又は第２のフレーム画像データＤ６を用いて各第２のマクロブロックデータＤ４の簡易動きベクトルＤ２４を検出すると共に、動きベクトル検出器９１により階層サーチ動きベクトル検出方式による第１階層において当該第２のマクロブロックデータＤ４の原画像レベルの動きベクトルＤ２６及びＤ３７を検出するようにしても良い。このようにすれば、フレームレートの変更に伴う動きベクトルの再検出時に動きベクトル検出器９１の処理負荷を大幅に低減させることができる。
【０３７２】
これに加えて、動画像データＤ１のフレームレートの変更に伴い符号化対象の第２のフレーム画像データに新たな参照用の第１又は第２のフレーム画像データＤ６を割り当てたときには、当該符号化対象の第２のフレーム画像データに対して簡易動きベクトルＤ２４の検出時に参照用として第２のフレーム画像データＤ６（すなわち、符号化対象の第２のフレーム画像データに順方向側で隣接する第２フレーム画像データ）が割り当てられていれば、動きベクトル検出器９１によりその符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の予め検出している簡易動きベクトルＤ２４を当該簡易動きベクトルＤ２４の検出時に参照用となっていた第２のフレーム画像データＤ６に対する各マクロブロックデータＤ４の簡易動きベクトルＤ２４と合成し、得られた合成簡易動きベクトルを用いて階層サーチ動きベクトル検出方式による第１階層において例えばテレスコピックサーチ法を用いて当該符号化対象の第２のフレーム画像データに対する各第２のマクロブロックデータＤ４の原画像レベルの動きベクトルＤ２６及びＤ３７を検出するようにしても良い。このようにしてもフレームレートの変更に伴う動きベクトルの再検出時に動きベクトル検出器９１の処理負荷を大幅に低減させることができる。
【０３７３】
因みに、このような簡易動きベクトルＤ２４の合成を簡易動きベクトル検出器７４によって実行すれば、動きベクトル検出器９１の処理負荷を低減させることもできる。
【０３７４】
さらに、上述した第３の実施の形態においては、第２のフレーム画像データの各マクロブロックデータＤ４を順方向予測符号化により圧縮符号化するようにした場合について述べたが、各第２のマクロブロックデータＤ４の分散値を用いてフレーム内符号化及び順方向予測符号化のいずれで圧縮符号化するようにしても良い。
【０３７５】
さらに、上述した第３の実施の形態においては、動きベクトル検出器９１により入力用フレームメモリ３２から読み出した参照用の第１及び第２のフレーム画像データＤ６を用いて各第２のマクロブロックデータＤ４の動きベクトルＤ２６及びＤ３７を検出するようにした場合について述べたが、本発明はこれに限らず、動きベクトル検出器９１により参照用フレームメモリ９７から参照用の第１及び第２のフレーム画像データを読み出して各第２のマクロブロックデータＤ４の動きベクトルＤ２６及びＤ３７を検出するようにしても良い。このようにすれば動きベクトルＤ２６及びＤ３７の検出に一旦圧縮符号化した後に復号化して再構築することにより圧縮符号化によって発生したブロックノイズ等を持つ第１及び第２のフレーム画像データを用いることができ、当該動きベクトルＤ２６及びＤ３７の検出精度を向上させることができる。
【０３７６】
さらに、上述した第３の実施の形態においては、第２のマクロブロックデータＤ４の動きベクトルＤ２６及びＤ３７の検出に第１階層及び第２階層の２階層からなる階層サーチ動きベクトル検出方式を用いるようにした場合について述べたが、本発明はこれに限らず、第２のマクロブロックデータＤ４の動きベクトルの検出に３階層以上の階層サーチ動きベクトル検出方式を用いるようにしても良い。
【０３７７】
さらに、上述した第３の実施の形態においては、簡易動きベクトル検出器７４により簡易動きベクトルバッファ７５に簡易動きベクトルＤ２４及びＤ３１と、予測モードデータＤ３、Ｄ２０及びＤ３０とを蓄積するようにした場合について述べたが、本発明はこれに限らず、簡易動きベクトル検出器７４により簡易動きベクトルバッファ７５に簡易動きベクトルＤ２４及びＤ３１と、予測モードデータＤ３、Ｄ２０及びＤ３０とに加えて、簡易動きベクトルＤ２４及びＤ３１の検出時に算出した予測誤差も蓄積するようにしても良い。このようにすれば、簡易動きベクトル検出器７４により第１及び第２のマクロブロックデータＤ２及びＤ４の簡易動きベクトルＤ２４及びＤ３１の再検出を実行する際にその予測誤差を用いてサーチ範囲を適確に選定し、又はマスク画像生成器７７により隣接するフレーム画像データ間で追跡領域８４Ａ及び８４Ｂ同士をラインマッチング法によって比較する際のサーチ範囲も適確に選定することができ、かくして簡易動きベクトルＤ２４及びＤ３１の再検出及び抽出画像の追跡の精度を向上させることができる。
【０３７８】
さらに、上述した第３の実施の形態においては、マスク画像生成器７７に対して形状指定データＤ３５により抽出画像の初期位置及び任意形状を指定するようにした場合について述べたが、本発明はこれに限らず、図２５に示すように、マスク画像生成器７７に対してフレーム画像１００内で人物等の抽出画像１０１の任意の点を指定することにより当該抽出画像１０１のエッジ１０２を自動で検出して任意形状を特定し、又はマスク画像生成器７７によりフレーム画像内で自動で種々の絵柄のエッジを検出して抽出画像及びその任意形状を特定するようにしても良い。
【０３７９】
さらに、上述した第３の実施の形態においては、上述した図１６からも明らかなように抽出画像の任意形状として三日月型の形状を指定するようにした場合について述べたが、本発明はこれに限らず、絵柄のエッジでなる任意形状や、楕円形、星形及び丸形等のように、この他種々の形状を抽出画像の任意形状として指定するようにしも良い。
【０３８０】
さらに、上述した第３の実施の形態においては、バッファ９６のデータ蓄積量ＤＲ及び符号化予測データ量に応じて動画像データＤ１のフレームレートを変更するようにした場合について述べたが、本発明はこれに限らず、バッファ９６のデータ蓄積量ＤＲに応じて動画像データＤ１のフレームレートを変更するようにしても良い。このようにしてフレームレートを変更してもデータ蓄積量ＤＲの急激な増減に適確に対処して動画像の画質を安定化させることができる。
【０３８１】
（５）他の実施の形態
なお、上述した第１乃至第３の実施の形態においては、本発明による動画像符号化装置として、図２乃至図２５について上述した動画像符号化装置３０、６０及び７０を適用するようにした場合について述べたが、本発明はこれに限らず、ＭＰＥＧ２方式等の圧縮符号化方式が適用された動画像符号化装置やビデオカメラから供給される動画像データＤ１に代えて外部又は内部に予め記憶している動画像データを圧縮符号化処理する動画像符号化装置、さらには動画像データを圧縮符号化処理し得るものであれば、パーソナルコンピュータや携帯電話機、ＰＤＡ（Personal Digital Assistance ）等の電子機器のように、この他種々の動画像符号化装置に広く適用することができる。
【０３８２】
因みに、本発明による動画像符号化装置をパーソナルコンピュータや携帯電話機、ＰＤＡ等の電子機器に適用する場合には、当該電子機器に図２及び図１０について上述した各回路ブロックをハードウェアとして設けるようにしても良いし、その電子機器にハードウェアに代えて図６（Ａ）乃至（Ｃ）、図７（Ａ）及び（Ｃ）と、図１３（Ａ）乃至（Ｃ）、図１４（Ａ）及び（Ｃ）と、図２１（Ａ）及び（Ｂ）、図２２（Ａ）及び（Ｂ）、図２３（Ｃ）及び（Ｄ）、図２４（Ｄ）について上述した動画像データＤ１の圧縮符号化処理手順を実行するためのプログラムをインストールし、当該プログラムに従ってソフトウェア処理として動画像データＤ１の圧縮符号化処理手順を実行しても本発明を実現することができる。
【０３８３】
そして、このように電子機器に図６（Ａ）乃至（Ｃ）、図７（Ａ）及び（Ｃ）と、図１３（Ａ）乃至（Ｃ）、図１４（Ａ）及び（Ｃ）と、図２１（Ａ）及び（Ｂ）、図２２（Ａ）及び（Ｂ）、図２３（Ｃ）及び（Ｄ）、図２４（Ｄ）について上述した動画像データＤ１の圧縮符号化処理手順を実行するためのプログラムをインストールするには、当該プログラムが格納されたプログラム格納媒体を用いても良いし、ローカルエリアネットワークやインターネット、ディジタル衛星放送等の有線及び無線通信媒体を利用しても良く、さらにはルータやモデム等の各種通信インターフェイスを介してインストールするようにしても良い。
【０３８４】
因みに、電子機器にプログラムをインストールして実行可能な状態にするためのプログラム格納媒体としては、例えばフロッピーディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）等のパッケージメディアのみならず、配信処理プログラムが一時的もしくは永続的に格納される半導体メモリや磁気ディスク等で実現しても良い。また、これらプログラム格納媒体に配信処理プログラムを格納する手段としては、ローカルエリアネットワークやインターネット、ディジタル衛星放送等の有線及び無線通信媒体を利用してもよく、ルータやモデム等の各種通信インターフェイスを介して格納するようにしても良い。
【０３８５】
さらに、上述した第１乃至第３の実施の形態においては、動画像データを順次フレーム画像データ単位で圧縮符号化して符号化データを生成する圧縮符号化手段として、図２及び図１０並びに図１５について上述した圧縮符号化部３７及び７２を適用するようにした場合について述べたが、本発明はこれに限らず、動画像データを順次フレーム画像データ単位で圧縮符号化して符号化データを生成することができれば、この他種々の構成の圧縮符号化手段を広く適用することができる。
【０３８６】
さらに、上述した第１乃至第３の実施の形態においては、バッファのデータ蓄積量に応じて動画像データのフレームレートを変更するフレームレート変更手段として、図２及び図１０並びに図１５について上述したフレーム構造変換器３３及び６２を適用するようにした場合について述べたが、本発明はこれに限らず、バッファのデータ蓄積量に応じて動画像データのフレームレートを変更することができれば、この他種々のフレームレート変更手段を広く適用することができる。
【０３８７】
さらに、上述した第１乃至第３の実施の形態においては、フレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴ってフレーム画像データ間の相関値を算出する動きベクトル検出手段として、図２について上述したブロックマッチング法により動きベクトルＤ２４を検出する動きベクトル検出器３５を適用するようにした場合について述べたが、本発明はこれに限らず、フレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴ってフレーム画像データ間の相関値を算出することができれば、オプティカルフローにより動きベクトルを検出する動きベクトル検出手段等のように、この他種々の動きベクトル検出手段を広く適用することができる。
【０３８８】
さらに、上述した第１乃至第３の実施の形態においては、所定階層よりも下層の１又は複数の下階層でフレーム画像データ間の簡易動きベクトルを検出する下層動きベクトル検出手段として、図１０及び図１５について上述した階層サーチ動きベクトル検出方式による第２階層において簡易動きベクトルＤ２４及びＤ３１を検出する簡易動きベクトル検出器６４及び７４を適用するようにした場合について述べたが、本発明はこれに限らず、所定階層よりも下層の１又は複数の下階層でフレーム画像データ間の簡易動きベクトルを検出することができれば、所定階層よりも下層の複数階層で順次動きベクトルを検出して最終的に簡易動きベクトルを検出する下層動きベクトル検出手段等のように、この他種々の下層動きベクトル検出手段を広く適用することができる。
【０３８９】
さらに、上述した第１乃至第３の実施の形態においては、所定階層以上の１又は複数の上階層で簡易動きベクトルを用いて動きベクトルを検出する上層動きベクトル検出手段として、図１０及び図１５について上述した階層サーチ動きベクトル検出方式による第１階層において原画像レベルの動きベクトルＤ２６及びＤ３７を検出する動きベクトル検出器６６及び９１を適用するようにした場合について述べたが、本発明はこれに限らず、所定階層以上の１又は複数の上階層で簡易動きベクトルを用いて動きベクトルを検出することができれば、簡易動きベクトルを用いて複数階層の動きベクトルを順次検出して最終的に原画像レベルの動きベクトルを検出する上層動きベクトル検出手段のように、この他種々の上層動きベクトル検出手段を広く適用することができる。
【０３９０】
さらに、上述した第１乃至第３の実施の形態においては、動画像データの各フレーム画像データから順次任意形状の抽出画像データを抽出するためのマスク画像データを生成するマスク画像データ生成手段として、図１５について上述した第１及び第２のフレーム画像データに対して抽出画像データを追跡しながらマスク画像データＤ３６を生成するマスク画像生成器７７を適用するようにした場合について述べたが、本発明はこれに限らず、動画像データの各フレーム画像データから順次任意形状の抽出画像データを抽出するためのマスク画像データを生成することができれば、抽出画像データの追跡処理を行わずに他の回路ブロックで実行された抽出画像データの追跡結果、又は外部から与えられる抽出画像データの指定に基づいてマスク画像データを生成するマスク画像データ生成手段等のように、この他種々のマスク画像データ生成手段を広く適用することができる。
【０３９１】
【発明の効果】
上述のように本発明によれば、動画像データを構成するフレーム画像データ間の動きベクトルを検出すると共に、当該動きベクトルの検出に伴ってフレーム画像データ間の相関値を算出する動きベクトル検出手段と、動画像データを順次フレーム画像データ単位で動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成する圧縮符号化手段と、符号化データを一旦蓄積して出力するバッファと、フレーム画像データ間の相関値に基づいて符号化データの符号化データ量を予測し、当該予測した符号化データ量と、バッファのデータ蓄積量とに応じて動画像データのフレームレートを変更するフレームレート変更手段とを設けるようにして、さらに動きベクトル検出手段に所定階層よりも下層の１又は複数の下階層でフレーム画像データ間の簡易動きベクトルを検出する下層動きベクトル検出手段と、所定階層以上の１又は複数の上階層で簡易動きベクトルを用いて動きベクトルを検出する上層動きベクトル検出手段とを設け、下層動きベクトル検出手段がフレームレートの変更前の動画像データに対して動きベクトルの検出対象となる全てのフレーム画像データ間で簡易動きベクトルを検出し、上層動きベクトル検出手段がフレームレートの変更に伴い符号化対象として残されたフレーム画像データ間でのみ簡易動きベクトルを用いて動きベクトルを検出するようにしたことにより、動きベクトル検出時の処理負荷を低減させて動画像データを順次フレーム画像データ単位で動きベクトルを用いた動き補償予測符号化により圧縮符号化して符号化データを生成しながら、当該動画像データに基づく動画像の絵柄の変化に応じて単位時間当りに圧縮符号化すべきフレーム画像データの数を適確に変更して圧縮率を安定させることができ、この結果、動画像の画質を安定させることができ、かくして所望の画質の動画像を適確に提供することができる。
【図面の簡単な説明】
【図１】動画像データ配信システムにおける動画像データの配信形態を示す概念図である。
【図２】本発明による動画像符号化装置の回路構成の第１の実施の形態を示すブロック図である。
【図３】動画像データのフレーム画像データに割り当てたピクチャタイプの説明に供する略線図である。
【図４】動画像データの圧縮符号化の説明に供する略線図である。
【図５】動画像データのフレームレートの変更の説明に供する略線図である。
【図６】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図７】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図８】動画像データのフレーム画像データに割り当てたＩピクチャ、Ｐピクチャ及びＢピクチャを示す略線図である。
【図９】動画像データのフレームレートを変更したときの動きベクトルの再検出の説明に供する略線図である。
【図１０】第２の実施の形態による動画像符号化装置の回路構成を示すブロック図である。
【図１１】階層マクロブロックデータ及び階層フレーム画像データの生成の説明に供する略線図である。
【図１２】階層サーチ動きベクトル検出方式の説明に供する略線図である。
【図１３】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図１４】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図１５】第３の実施の形態による動画像符号化装置の回路構成を示すブロック図である。
【図１６】フレーム画像に対する抽出画像の初期位置及び任意形状の指定の説明に供する略線図である。
【図１７】フレーム画像間における抽出画像の追跡の説明に供する略線図である。
【図１８】マスク画像の構成を示す略線図である。
【図１９】マスク画像データを用いた第２のマクロブロックデータの判別の説明に供する略線図である。
【図２０】エッジ部分にかかる第２のマクロブロックデータの動きベクトルの検出の説明に供する略線図である。
【図２１】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図２２】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図２３】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図２４】動画像データの圧縮符号化処理手順を示すフローチャートである。
【図２５】フレーム画像に対する抽出画像の任意形状の特定方法の説明に供する略線図である。
【図２６】従来の動画像符号化装置の回路構成を示すブロック図である。
【符号の説明】
３０、６０，７０……動画像符号化装置、３１、６１……フレームレート変更処理部、３２……入力用フレームメモリ、３３、６２……フレーム構造変換器、３４、６３、７１……動きベクトル検出処理部、３５……動きベクトル検出器、４２、９６……バッファ、４８……動きベクトル再検出器、６４……簡易動きベクトル検出器、Ｄ１……動画像データ、Ｄ２……第１のマクロブロックデータ、Ｄ４……第２のマクロブロックデータ、Ｄ７、Ｄ１７、Ｄ２６、Ｄ３７……動きベクトル、Ｄ１０、Ｄ１４……符号化データ、Ｄ２４……簡易動きベクトル、ＤＲ……データ蓄積量、ＳＨ１、ＳＨ２……フレーム間相関値、ＦＧ１、ＦＧ２……動きベクトル再検出フラグ、ＣＦ１、ＣＦ２、ＣＦ３……コントロールフラグ。
【図１】
0004765194.tif 000002
【図２】
0004765194.tif 000003
【図３】
0004765194.tif 000004
【図４】
0004765194.tif 000005
【図５】
0004765194.tif 000006
【図６】
0004765194.tif 000007
【図７】
0004765194.tif 000008
【図８】
0004765194.tif 000009
【図９】
0004765194.tif 000010
【図１０】
0004765194.tif 000011
【図１１】
0004765194.tif 000012
【図１２】
0004765194.tif 000013
【図１３】
0004765194.tif 000014
【図１４】
0004765194.tif 000015
【図１５】
0004765194.tif 000016
【図１６】
0004765194.tif 000017
【図１７】
0004765194.tif 000018
【図１８】
0004765194.tif 000019
【図１９】
0004765194.tif 000020
【図２０】
0004765194.tif 000021
【図２１】
0004765194.tif 000022
【図２２】
0004765194.tif 000023
【図２３】
0004765194.tif 000024
【図２４】
0004765194.tif 000025
【図２５】
0004765194.tif 000026
【図２６】
0004765194.tif 000027