(57)【特許請求の範囲】
【請求項１】
現フレームと当該現フレーム以前のフレームである前フレームとの画素ごとの差分絶対値を算出し、前記差分絶対値が第１の閾値以上の画素から定まる形状、かつ、前記差分絶対値が該第１の閾値よりも大きな値の第２の閾値以上の画素を内包する領域を、前記前フレームから前記現フレームにおいて変化する領域である更新領域として検出する更新領域検出部を備えることを特徴とする更新領域検出装置。
【請求項２】
前記更新領域検出部は、
前記現フレームと前記前フレームとにおける同じ位置の画素の値の差分絶対値を前記第１の閾値および前記第２の閾値と比較する画素比較手段と、
前記第１の閾値より大きな差分が検出された画素の塊を更新領域の候補として抽出する更新領域候補抽出手段と、
前記更新領域候補抽出手段によって抽出された更新領域の候補のうち、前記第２の閾値より大きな差分が検出された画素を含むものを更新領域として抽出する更新領域抽出手段とを備えることを特徴とする請求項１に記載の更新領域検出装置。
【請求項３】
前記更新領域抽出手段は、前記画素の塊に外接する矩形を更新領域とすることを特徴とする請求項２に記載の更新領域検出装置。
【請求項４】
前記更新領域検出部は、
前記現フレームと前記前フレームとにおける同じ位置の画素の値の差分絶対値を前記第１の閾値および前記第２の閾値と比較する画素比較手段と、
前記第１の閾値以上の画素から定まる形状を有し、かつ、前記第２の閾値以上の画素を内包する領域を更新領域として抽出する更新領域抽出手段を備え、
前記画素比較手段は、前記前フレームと前記現フレームの画素を１行ずつ順に比較して、各列毎に、前記第１の閾値より大きな差分が検出された上端の行座標と下端の行座標を記録すると共に当該上端と当該下端の間で前記第２の閾値より大きな差分が検出された画素が存在したか否かを記録し、
前記更新領域抽出手段は、前記第１の閾値より大きな差分が検出されなかった行が所定行数連続した時点で、前記画素比較手段による記録を参照して、前記第１の閾値より大きな差分が検出された列のまとまりであって前記第２の閾値より大きな差分が検出された画素を含む更新列を抽出し、該抽出した更新列毎に、前記第１の閾値より大きな差分が検出された最上端の行座標と最下端の行座標、および当該更新列の左端の列座標と右端の列座標とから規定される矩形を更新領域として確定する処理を行うことを特徴とする請求項１に記載の更新領域検出装置。
【請求項５】
前記第１の閾値より大きな差分が検出された列のまとまりとは、前記第１の閾値より大きな差分が検出された列が隣接しているか、直接隣接していなくても、前記第１の閾値より大きな差分が検出されなかった所定数以下の列を間にして隣接している列のまとまりであることを特徴とする請求項４に記載の更新領域検出装置。
【請求項６】
前記第１の閾値より大きな差分が検出された上端の行座標を各列毎に保持するための上端バッファと、前記第１の閾値より大きな差分が検出された下端の行座標を各列毎に保持するための下端バッファと、各列毎に、前記上端の行座標から前記下端の行座標までの間に第２の閾値より大きな差分が検出されたか否かを示すフラグを保持するフラグバッファとを備え、
前記画素比較手段は、前フレームと現フレームの画素をラスタスキャン順に比較して、差分が前記第１の閾値より大きい画素が見つかったら前記上端バッファおよび前記下端バッファにおける該当列の行座標を書き換えると共に、前記差分が第２の閾値より大きければ前記フラグバッファの該当列のフラグをセットし、
前記更新領域抽出手段は、前記第１の閾値より大きな差分が検出されなかった行が所定行連続した時点で、前記上端バッファ、前記下端バッファおよび前記フラグバッファを参照して更新領域を確定する前記処理を行うことを特徴とする請求項５に記載の更新領域検出装置。
【請求項７】
現フレームと当該現フレーム以前のフレームである前フレームとの画素ごとの差分絶対値を算出するステップと、
前記差分絶対値が第１の閾値以上の画素から定まる形状、かつ、前記差分絶対値が該第１の閾値よりも大きな値の第２の閾値以上の画素を内包する領域を、前記前フレームから前記現フレームにおいて変化する領域である更新領域として検出するステップを含むことを特徴とする更新領域検出方法。
【請求項８】
前記現フレームと前記前フレームとにおける同じ位置の画素の値の差分絶対値を前記第１の閾値および前記第２の閾値と比較する画素比較ステップと、
前記第１の閾値より大きな差分が検出された画素の塊を更新領域の候補として抽出する更新領域候補抽出ステップと、
前記更新領域候補抽出ステップによって抽出された更新領域の候補のうち、前記第２の閾値より大きな差分が検出された画素を含むものを更新領域として抽出する更新領域抽出ステップとを含むことを特徴とする請求項７に記載の更新領域検出方法。
【請求項９】
前記更新領域抽出ステップは、前記画素の塊に外接する矩形を更新領域とすることを特徴とする請求項８に記載の更新領域検出方法。
【請求項１０】
前記現フレームと前記前フレームとにおける同じ位置の画素の値の差分絶対値を前記第１の閾値および前記第２の閾値と比較する画素比較ステップと、
前記第１の閾値以上の画素から定まる形状を有し、かつ、前記第２の閾値以上の画素を内包する領域を更新領域として抽出する更新領域抽出ステップを含み、
前記画素比較ステップは、前記前フレームと前記現フレームの画素を１行ずつ順に比較して、各列毎に、前記第１の閾値より大きな差分が検出された上端の行座標と下端の行座標を記録すると共に当該上端と当該下端の間で前記第２の閾値より大きな差分が検出された画素が存在したか否かを記録し、
前記更新領域抽出ステップは、前記第１の閾値より大きな差分が検出されなかった行が所定行数連続した時点で、前記画素比較ステップによる記録を参照して、前記第１の閾値より大きな差分が検出された列のまとまりであって前記第２の閾値より大きな差分が検出された画素を含む更新列を抽出し、該抽出した更新列毎に、前記第１の閾値より大きな差分が検出された最上端の行座標と最下端の行座標、および当該更新列の左端の列座標と右端の列座標とから規定される矩形を更新領域として確定する処理を行うことを特徴とする請求項７に記載の更新領域検出方法。
【請求項１１】
前記第１の閾値より大きな差分が検出された列のまとまりとは、前記第１の閾値より大きな差分が検出された列が隣接しているか、直接隣接していなくても、前記第１の閾値より大きな差分が検出されなかった所定数以下の列を間にして隣接している列のまとまりであることを特徴とする請求項１０に記載の更新領域検出方法。
【請求項１２】
前記第１の閾値より大きな差分が検出された上端の行座標を各列毎に上端バッファに保持するステップと、前記第１の閾値より大きな差分が検出された下端の行座標を各列毎に下端バッファに保持するステップと、各列毎に、前記上端の行座標から前記下端の行座標までの間に第２の閾値より大きな差分が検出されたか否かを示すフラグをフラグバッファに保持するステップとを含み、
前記画素比較ステップは、前フレームと現フレームの画素をラスタスキャン順に比較して、差分が前記第１の閾値より大きい画素が見つかったら前記上端バッファおよび前記下端バッファにおける該当列の行座標を書き換えると共に、前記差分が第２の閾値より大きければ前記フラグバッファの該当列のフラグをセットし、
前記更新領域抽出ステップは、前記第１の閾値より大きな差分が検出されなかった行が所定行連続した時点で、前記上端バッファ、前記下端バッファおよび前記フラグバッファを参照して更新領域を確定する前記処理を行うことを特徴とする請求項１１に記載の更新領域検出方法。
【請求項１３】
コンピュータに、
現フレームと当該現フレーム以前のフレームである前フレームとの画素ごとの差分絶対値を算出し、前記差分絶対値が第１の閾値以上の画素から定まる形状、かつ、前記差分絶対値が該第１の閾値よりも大きな値の第２の閾値以上の画素を内包する領域を前記前フレームから前記現フレームにおいて変化する領域である更新領域として検出する処理を実行させる更新領域検出プログラム。
【請求項１４】
前記更新領域検出プログラムは、前記コンピュータに、
前記現フレームと前記前フレームとにおける同じ位置の画素の値の差分絶対値を前記第１の閾値および前記第２の閾値と比較する画素比較処理と、
前記第１の閾値より大きな差分が検出された画素の塊を更新領域の候補として抽出する更新領域候補抽出処理と、
前記更新領域候補抽出処理によって抽出された更新領域の候補のうち、前記第２の閾値より大きな差分が検出された画素を含むものを更新領域として抽出する更新領域抽出処理を実行させることを特徴とする請求項１３に記載の更新領域検出プログラム。
【請求項１５】
前記更新領域抽出処理は、前記画素の塊に外接する矩形を更新領域とすることを特徴とする請求項１４に記載の更新領域検出プログラム。
【請求項１６】
前記更新領域検出プログラムは、前記コンピュータに、
前記現フレームと前記前フレームとおける同じ位置の画素の値の差分絶対値を前記第１の閾値および前記第２の閾値と比較する画素比較処理と、
前記第１の閾値以上の画素から定まる形状を有し、かつ、前記第２の閾値以上の画素を内包する領域を更新領域として抽出する更新領域抽出処理を実行させ、
前記画素比較処理は、前記前フレームと前記現フレームの画素を１行ずつ順に比較して、各列毎に、前記第１の閾値より大きな差分が検出された上端の行座標と下端の行座標を記録すると共に当該上端と当該下端の間で前記第２の閾値より大きな差分が検出された画素が存在したか否かを記録し、
前記更新領域抽出処理は、前記第１の閾値より大きな差分が検出されなかった行が所定行数連続した時点で、前記画素比較処理による記録を参照して、前記第１の閾値より大きな差分が検出された列のまとまりであって前記第２の閾値より大きな差分が検出された画素を含む更新列を抽出し、該抽出した更新列毎に、前記第１の閾値より大きな差分が検出された最上端の行座標と最下端の行座標、および当該更新列の左端の列座標と右端の列座標とから規定される矩形を更新領域として確定することを特徴とする請求項１３に記載の更新領域検出プログラム。
【請求項１７】
前記第１の閾値より大きな差分が検出された列のまとまりとは、前記第１の閾値より大きな差分が検出された列が隣接しているか、直接隣接していなくても、前記第１の閾値より大きな差分が検出されなかった所定数以下の列を間にして隣接している列のまとまりであることを特徴とする請求項１６に記載の更新領域検出プログラム。
【請求項１８】
前記コンピュータに、
前記第１の閾値より大きな差分が検出された上端の行座標を各列毎に上端バッファに保持する処理と、前記第１の閾値より大きな差分が検出された下端の行座標を各列毎に下端バッファに保持する処理と、各列毎に、前記上端の行座標から前記下端の行座標までの間に第２の閾値より大きな差分が検出されたか否かを示すフラグをフラグバッファに保持する処理とを実行させ、
前記画素比較処理は、前フレームと現フレームの画素をラスタスキャン順に比較して、差分が前記第１の閾値より大きい画素が見つかったら前記上端バッファおよび前記下端バッファにおける該当列の行座標を書き換えると共に、前記差分が第２の閾値より大きければ前記フラグバッファの該当列のフラグをセットし、
前記更新領域抽出処理は、前記第１の閾値より大きな差分が検出されなかった行が所定行連続した時点で、前記上端バッファ、前記下端バッファおよび前記フラグバッファを参照して更新領域を確定する前記処理を行うことを特徴とする請求項１７に記載の更新領域検出プログラム。
【請求項１９】
現フレームと当該現フレーム以前のフレームである前フレームとを比較して移動ベクトルを検出する移動ベクトル検出手段と、
前記前フレームと前記現フレームとの何れにも存在する同一または類似の画像領域であって、画面上での位置が前記移動ベクトル検出手段で検出された移動ベクトルだけ変化している画像領域を移動領域として検出する移動領域検出手段と、
前記移動領域検出手段で検出された移動領域を前記前フレーム上の移動ベクトルが示す移動先に複写する動き補償手段と、
動き補償後の前記前フレームと前記現フレームとが相違する領域を更新領域として検出する更新領域検出手段と、
前記更新領域検出手段で検出された更新領域を画像として符号化する領域符号化手段とを備えた映像信号符号化装置であって、
前記更新領域検出手段として、請求項１又は３に記載の更新領域検出装置を使用した映像信号符号化装置。
【請求項２０】
前記更新領域検出手段が更新領域を検出する更新領域検出域を、フレーム上に設定する更新領域検出域設定手段を備えることを特徴とする請求項１９記載の映像信号符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は更新領域検出装置に関し、特にコンピュータ画面の描画データの前後フレームから更新領域を検出する更新領域検出装置に関する。
【背景技術】
【０００２】
近年、コンピュータの端末装置からの情報の漏洩の防止と端末側でのアプリケーション管理の容易性を図るため等を目的として、端末装置にて入出力および表示される全てのアプリケーションをサーバ装置で実行させ、これに伴う全ての生成ファイルもサーバ装置で管理するようにしたシン・クライアント・システムが導入されるようになってきた。【０００３】
このようなシン・クライアント・システムでは、サーバ装置で実行されるアプリケーションプログラムの描画データが、ＬＡＮ（Local Area Network）などのネットワークを通じてクライアント側の端末装置へ転送され、端末装置の画面に表示される。このため、描画データの処理量が大きくなる、又は、サーバ装置に接続される端末装置の台数が多くなると、描画データを端末装置に転送するためのサーバ装置の負荷が増大し、応答時間の低下や端末装置の接続台数の大幅な制限などの問題が生じる。【０００４】
そこで、ソフトウェアによる描画データの表示制御技術として、１画面内で描画更新された描画データ部分を含む矩形の描画領域のみを切り出し、さらにこれを必要に応じて圧縮して転送することで、コンピュータ画面の描画データの転送に伴うデータ量を削減してサーバ装置の負荷を軽減することが考えられている（例えば特許文献１参照）。しかし、描画データの高精細化やモニタ解像度の飛躍的な向上によって、コンピュータ画面の描画処理量は益々増大しているため、描画品質を低下させることなしにさらなる処理負荷の軽減が求められている。【０００５】
【特許文献１】特表２００４−５０３８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
１画面内で描画更新された描画データ部分を抽出する際、前フレームと現フレームとの間で画素値を比較する。このとき、フレームの映像信号をアナログキャプチャした場合など画素値にノイズが含まれる状況の下では、一般に画素値の差分を閾値と比較し、閾値を超える差分があるかどうかによって更新領域か否かを判定する。【０００７】
しかし、閾値を小さめに設定した場合には、ノイズの影響を受け易くなり、実際の更新領域よりも大きなサイズを更新領域として検出してしまう課題がある。また、閾値を大きめに設定した場合、反対に、更新領域の検出不足が生じ易くなり、実際の更新領域よりもサイズの小さな領域を更新領域として検出してしまう課題がある。更新領域の検出が過大になると、画面更新が僅かな場合にも符号量が増大してしまう。また、検出不足が複数フレームにわたって発生すると、検出に成功した領域と検出漏れした領域との間で、輝度不連続な境界が知覚されるようになる。【０００８】
本発明の目的は、コンピュータ画面の描画データから高精度に更新領域を検出することのできる更新領域検出装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の更新領域検出装置は、現フレームと当該現フレーム以前のフレームである前フレームとの画素ごとの差分絶対値を算出し、前記差分絶対値が第１の閾値以上の画素から定まる形状、かつ、前記差分絶対値が該第１の閾値よりも大きな値の第２の閾値以上の画素を内包する領域を、前記前フレームから前記現フレームにおいて変化する領域である更新領域として検出する。
【発明の効果】
【００１０】
本発明によれば、コンピュータ画面の描画データから高精度に更新領域を検出することのできる更新領域検出装置が得られる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る映像信号符号化装置のブロック図である。
【図２】本発明の実施の形態に係る映像信号符号化装置の処理の流れを示すフローチャートである。
【図３】本発明の実施の形態に係る映像信号符号化装置による映像信号の符号化処理の説明図である。
【図４】移動ベクトル検出部の第１の実施例のブロック図である。
【図５】第１の実施例に係る移動ベクトル検出部の処理の流れを示すフローチャートである。
【図６】第１の実施例に係る移動ベクトル検出部におけるエッジ抽出処理の説明図である。
【図７】第１の実施例に係る移動ベクトル検出部で使用する現フレームのハッシュテーブルの一例を示す図である。
【図８】第１の実施例に係る移動ベクトル検出部で使用する前フレームのハッシュテーブルの一例を示す図である。
【図９】第１の実施例に係る移動ベクトル検出部の検出結果の一例を示す図である。
【図１０】第１の実施例に係る移動ベクトル検出部で検出された最頻出の移動ベクトル候補のリストに含まれる特徴点のペアを前フレームおよび現フレームにプロットしたイメージと、推定された移動ベクトルとの関係を示す図である。
【図１１】移動領域検出部の第１の実施例のブロック図である。
【図１２】第１の実施例に係る移動領域検出部の処理の流れを示すフローチャートである。
【図１３】第１の実施例に係る移動領域検出部において特徴点群に外接する矩形を移動領域とする例を示す図である。
【図１４Ａ】第１の実施例に係る移動領域検出部における移動領域決定部の第１の処理例を示すフローチャートである。
【図１４Ｂ】第１の実施例に係る移動領域検出部における移動領域決定部の第１の処理例を示すフローチャートである。
【図１５】第１の実施例に係る移動領域検出部において移動領域の右への拡大幅を決定する方法の説明図である。
【図１６Ａ】第１の実施例に係る移動領域検出部における移動領域決定部の第２の処理例を示すフローチャートである。
【図１６Ｂ】第１の実施例に係る移動領域検出部における移動領域決定部の第２の処理例を示すフローチャートである。
【図１７】第１の実施例に係る移動領域検出部において移動領域の右からの縮小幅を決定する方法の説明図である。
【図１８】第１の実施例に係る移動領域検出部における移動領域決定部の第３の処理例を示すフローチャートである。
【図１９Ａ】第１の実施例に係る移動領域検出部における移動領域決定部の第４の処理例を示すフローチャートである。
【図１９Ｂ】第１の実施例に係る移動領域検出部における移動領域決定部の第４の処理例を示すフローチャートである。
【図２０】更新領域検出域設定部の第１の実施例のブロック図である。
【図２１】第１の実施例に係る更新領域検出域設定部の第１の処理例を示すフローチャートである。
【図２２】第１の実施例に係る更新領域検出域設定部の第１の処理例による効果の説明図である。
【図２３】第１の実施例に係る更新領域検出域設定部の第２の処理例を示すフローチャートである。
【図２４】第１の実施例に係る更新領域検出域設定部の第２の処理例による効果の説明図である。
【図２５】第１の実施例に係る更新領域検出域設定部の第２の処理例による効果の説明図である。
【図２６】第１の実施例に係る更新領域検出域設定部の第３の処理例を示すフローチャートである。
【図２７】第１の実施例に係る更新領域検出域設定部の第３の処理例による効果の説明図である。
【図２８】第１の実施例に係る更新領域検出域設定部の第３の処理例による効果の説明図である。
【図２９】第１の実施例に係る更新領域検出域設定部の第３の処理例による効果の説明図である。
【図３０】更新領域検出域設定部の第２の実施例のブロック図である。
【図３１】第２の実施例に係る更新領域検出域設定部の処理例を示すフローチャートである。
【図３２】更新領域検出域設定部の第３の実施例のブロック図である。
【図３３】第３の実施例に係る更新領域検出域設定部の第１の処理例を示すフローチャートである。
【図３４】第３の実施例に係る更新領域検出域設定部の第１の処理例による効果の説明図である。
【図３５】第３の実施例に係る更新領域検出域設定部の第１の処理例による効果の説明図である。
【図３６】第３の実施例に係る更新領域検出域設定部の第２の処理例を示すフローチャートである。
【図３７】第３の実施例に係る更新領域検出域設定部の第２の処理例による効果の説明図である。
【図３８】第３の実施例に係る更新領域検出域設定部の第２の処理例による効果の説明図である。
【図３９】第３の実施例に係る更新領域検出域設定部の第２の処理例による効果の説明図である。
【図４０】更新領域検出域設定部の第４の実施例のブロック図である。
【図４１】第４の実施例に係る更新領域検出域設定部の処理例を示すフローチャートである。
【図４２】更新領域検出部の第１の実施例のブロック図である。
【図４３】第１の実施例に係る更新領域検出部の処理の流れを示すフローチャートである。
【図４４Ａ】第１の実施例に係る更新領域検出部における画素比較部による処理例を示すフローチャートである。
【図４４Ｂ】第１の実施例に係る更新領域検出部における画素比較部による処理例を示すフローチャートである。
【図４５】第１の実施例に係る更新領域検出部で使用する上端バッファ、下端バッファおよびフラグバッファが、動き補償後の参照フレームと現フレームとの差分状況に応じて更新される例を示す図である。
【図４６】第１の実施例に係る更新領域検出部における更新領域抽出部による処理例を示すフローチャートである。
【図４７】単一の閾値による更新領域検出の実験例を示す図である。
【図４８】第１の実施例に係る更新領域検出部による更新領域検出の実験例を示す図である。
【符号の説明】
【００１２】
１００  映像信号符号化装置
１０１  画像入力装置
１０２  データ記憶装置
１０３  データ処理装置
１０４  符号出力装置
１１１  符号化対象フレーム記憶部
１１２  参照フレーム記憶部
１１３  作業域
１２１  移動ベクトル検出部
１２２  移動領域検出部
１２３  動き補償部
１２４  更新領域検出域設定部
１２５  更新領域検出部
１２６  領域符号化部
１３１  現フレーム
１３２  参照フレーム
１３４  移動ベクトル
１３５  領域
１３６  領域
１３７  参照フレーム
１３８  更新領域
１３９  更新領域
２０１  エッジ抽出部
２０２  特徴点抽出部
２０３  特徴点ペア抽出部
２０４  移動ベクトル算出部
２０５  移動ベクトル候補生成部
２０６  移動ベクトル選択部
３０１  初期候補決定部
３０２  移動領域決定部
４０１  移動領域有無判定部
４０２  移動方向判定部
４０３  分割部
４１１  移動領域有無判定部
４１２  移動領域重複判定部
４１３  移動方向判定部
４１４  分割部
５０１  移動領域有無判定部
５０２  分割部
５１１  移動領域有無判定部
５１２  移動領域重複判定部
５１３  分割部
６０１  画素比較部
６０２  更新領域抽出部
Ｒ１、Ｒ２、Ｒ３、Ｒ４  画面
Ｒ１１、Ｒ１２、Ｒ１３、Ｒ１４、Ｒ２０、Ｒ２０ａ、Ｒ２０ｂ、Ｒ２０ｃ、Ｒ２１、Ｒ３０、Ｒ３０ａ、Ｒ３０ｂ、Ｒ３０ｃ、Ｒ３０ｄ  移動領域
Ｒ２２、Ｒ２３、Ｒ２４、Ｒ２５、Ｒ２６、Ｒ３１、Ｒ３２、Ｒ３３１、Ｒ３３２、Ｒ３３３、Ｒ３３４、Ｒ３４１、Ｒ３４２、Ｒ３４３、Ｒ３４４、Ｒ３４５、Ｒ３４６、Ｒ３５１、Ｒ３５２、Ｒ３６１、Ｒ３６２、Ｒ３６３、Ｒ３６４、Ｒ３６５、Ｒ３６６、Ｒ３６７、Ｒ４０、Ｒ４１、Ｒ４２、Ｒ４３  更新領域
Ｌ２２１、Ｌ２４１、Ｌ２４２、Ｌ２５１、Ｌ２５２、Ｌ２５３、Ｌ２８１、Ｌ２８２、Ｌ２８３、Ｌ２９１、Ｌ２９２、Ｌ２９３、Ｌ２９４、Ｌ２９５、Ｌ２９６、Ｌ３４１、Ｌ３４２、Ｌ３５１、Ｌ３５２、Ｌ３７１、Ｌ３７２、Ｌ３７３、Ｌ３７４、Ｌ３８１、Ｌ３８２、Ｌ３８３、Ｌ３８４、Ｌ３９１、Ｌ３９２、Ｌ３９３、Ｌ３９４、Ｌ３９５、Ｌ３９６  分割線
【発明を実施するための最良の形態】
【００１３】
図１を参照すると、本発明の実施の形態に係る映像信号符号化装置１００の一例は、画像入力装置１０１と、データ記憶装置１０２と、データ処理装置１０３と、符号出力装置１０４とから構成されている。【００１４】
画像入力装置１０１は、符号化の対象となる映像信号を入力する装置であり、例えば図示しないコンピュータのディスプレイ画面のカラー映像信号をアナログキャプチャあるいはディジタルキャプチャし、データ記憶装置１０２に記憶する。キャプチャされた１画面分の映像信号は、フレームあるいは画面データと呼ぶ。【００１５】
データ記憶装置１０２は、画像入力装置１０１から入力されたフレームを記憶する符号化対象フレーム記憶部１１１、符号化対象フレーム記憶部１１１に記憶したフレームの符号化に使用する参照フレームを記憶する参照フレーム記憶部１１２、フレームの符号化の過程で適宜参照更新される各種データを保持する作業域１１３を有する。【００１６】
データ処理装置１０３は、データ記憶装置１０２に記憶された符号化対象フレームの符号化を行う装置であり、移動ベクトル検出部１２１、移動領域検出部１２２、動き補償部１２３、更新領域検出域設定部１２４、更新領域検出部１２５および領域符号化部１２６を備えている。各部は、概略以下のような機能を有する。【００１７】
移動ベクトル検出部１２１は、符号化対象フレームとその直前のフレームとを比較して、主要な１つの移動ベクトルを検出する機能を有する。主要な移動ベクトルとは、換言すれば、１以上の移動ベクトルの内の支配的なものを意味する。例えば、コンピュータの画面で地図スクロールとマウスカーソル移動が同時に発生した場合、移動領域の大部分は地図スクロールによるものが占めるため、地図スクロールによる移動ベクトルが主要な移動ベクトルとなる。【００１８】
移動領域検出部１２２は、符号化対象フレームとその直前のフレームとの何れにも存在する同一または類似の画像領域であって、画面上での位置が移動ベクトル検出部１２１で検出された移動ベクトルだけ変化している画像領域を移動領域として検出する機能を有する。【００１９】
動き補償部１２３は、移動領域検出部１２２で検出された移動領域について、符号化対象フレームの符号化に使用する参照フレーム内で移動ベクトルが示す移動先へ複写を行い、動き補償後の参照フレームを生成する機能を有する。【００２０】
更新領域検出域設定部１２４は、フレーム上に１以上の更新領域検出域を設定する機能を有する。【００２１】
更新領域検出部１２５は、更新領域検出域設定部１２４により設定された更新領域検出域毎に、動き補償後の参照フレームと符号化対象フレームとが相違する領域を更新領域として検出する機能を有する。【００２２】
領域符号化部１２６は、更新領域検出部１２５で検出された更新領域を画像として任意の符号化方式によって符号化した符号を生成する。【００２３】
符号出力装置１０４は、データ記憶装置１０２の作業域１１３から符号化対象フレームについて生成された符号を読み出して出力する装置であり、例えば図示しないクライアント端末と通信する通信装置などで構成される。１つの符号化対象フレームについて生成された符号には、領域符号化部１２６で生成された更新領域の符号、移動ベクトル検出部１２１と移動領域検出部１２２で検出された移動領域情報（移動元の領域の座標と移動ベクトル）とが含まれる。【００２４】
上記の移動ベクトル検出部１２１、移動領域検出部１２２、動き補償部１２３、更新領域検出域設定部１２４、更新領域検出部１２５および領域符号化部１２６は、データ処理装置１０３を構成するコンピュータとその上で動作するプログラムとで実現することができる。プログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、コンピュータの動作を制御することにより、コンピュータ上に上記の各部を実現する。【００２５】
次に本実施の形態に係る映像信号符号化装置１００の全体的な動作を説明する。【００２６】
映像信号符号化装置１００の画像入力装置１０１は、符号化対象となるフレームをキャプチャし、データ記憶装置１０２の符号化対象フレーム記憶部１１１に現フレームとして記憶する（図２のステップＳ１０１）。【００２７】
次に、移動ベクトル検出部１２１は、現フレームと、参照フレーム記憶部１１２に記憶された既に符号化を終えた直前のフレーム（参照フレーム）とを比較し、主要な１つの移動ベクトルを検出する（ステップＳ１０２）。例えば、図３の現フレーム１３１と参照フレーム１３２との比較から図示した移動ベクトル１３４が支配的であれば、移動ベクトル１３４が主要な移動ベクトルとして検出される。検出された移動ベクトル１３４の情報は作業域１１３に一時的に保存される。【００２８】
次に移動領域検出部１２２は、現フレームから移動ベクトルが検出された場合（ステップＳ１０３でＹＥＳ）、現フレームと参照フレームとの何れにも存在する同一または類似の画像領域であって、画面上での位置が移動ベクトル検出部１２１で検出された移動ベクトルだけ変化している画像領域を移動領域として検出する（ステップＳ１０４）。例えば、図３の現フレーム１３１と参照フレーム１３２とにおいて、領域１３５と領域１３６とが同一または類似の画像領域であった場合、領域１３５、１３６が移動領域として検出される。検出された移動領域１３５、１３６の座標情報は作業域１１３に一時的に保存される。【００２９】
次に動き補償部１２３は、移動領域が検出された場合（ステップＳ１０５でＹＥＳ）、参照フレーム上で移動前の移動領域の画像を移動ベクトルが示す移動後の位置へ複写する動き補償を行うことにより、参照フレーム記憶部１１２を更新する（ステップＳ１０６）。例えば図３の場合、参照フレーム１３２上で、領域１３６を現フレーム１３１における領域１３５に相当する位置にコピーする。これにより、図３の動き補償後の参照フレーム１３７が生成される。【００３０】
ただし、移動ベクトルが検出されなかった場合（ステップＳ１０３でＮＯ）、移動領域の検出と動き補償は実行されない。また、移動ベクトルが検出されても移動領域の検出に失敗した場合（ステップＳ１０５でＮＯ）、動き補償は実行されない。【００３１】
次に更新領域検出域設定部１２４は、更新領域を検出する１以上の更新領域検出域をフレーム上に設定する（ステップＳ１０７）。次に、更新領域検出部１２５は、更新領域検出域設定部１２４により設定された更新領域検出域毎に、参照フレームと現フレームとが相違する領域を更新領域として検出する（ステップＳ１０８）。これにより、例えば図３の場合、更新領域１３８及び１３９が検出される。検出された更新領域１３８及び１３９の座標情報は作業域１１３に一時的に保存される。【００３２】
次に領域符号化部１２６は、更新領域検出部１２５で検出された更新領域を画像として符号化した符号を生成する（ステップＳ１０９）。生成された符号は、作業域１１３に記憶された更新領域の座標情報に対応付けて一時的に保存される。【００３３】
符号出力装置１０４は、データ記憶装置１０２の作業域１１３から現フレームについて生成された情報、すなわち各更新領域の座標情報とその符号および移動領域情報（移動元の領域の座標情報と移動ベクトル）を読み出し、出力する（ステップＳ１１０）。例えば、図３の場合、更新領域１３８の座標情報とその符号、更新領域１３９の座標情報とその符号、移動領域１３６の座標情報と移動ベクトル１３４が、現フレームに関する符号情報として出力される。【００３４】
符号情報からフレームを復号する場合、符号化と逆の手順で行う。例えば図３の現フレーム１３１を参照フレーム１３２と符号情報とから復号する場合、まず、参照フレーム１３２の移動領域１３６を移動ベクトル１３４が示す場所へ複写して動き補償後の参照フレーム１３７を生成する。その後、この参照フレームに対して、符号情報から復号した更新領域１３８および更新領域１３９を反映することにより、現フレーム１３１を生成する。【００３５】
次にデータ処理装置１０３が備える各部について説明する。ここで、動き補償部１２３はコピー手段で実現でき、また領域符号化部１２６は、予測符号化、変換符号化、ベクトル量子化、エントロピー符号化など周知の画像符号化技術で実現できるため、以下では、移動ベクトル検出部１２１、移動領域検出部１２２、更新領域検出域設定部１２４および更新領域検出部１２５について詳細に説明する。【００３６】
（１）移動ベクトル検出部１２１
図４を参照すると、移動ベクトル検出部１２１の第１の実施例は、エッジ抽出部２０１、特徴点抽出部２０２、特徴点ペア抽出部２０３および移動ベクトル算出部２０４から構成される。各々は、概ね以下のような機能を有する。【００３７】
エッジ抽出部２０１は、現フレームおよび参照フレーム内で画素値の変化が大きい点をエッジ点として抽出する機能を有する。エッジ点とは、予め定められた直交する２方向（上と左、左と下、下と右、右と上、斜め左上と斜め左下、斜め左下と斜め右下、斜め右下と斜め右上、斜め右上と斜め左上）の隣接画素との画素値の差分が共に予め設定された閾値以上相違している画素である。画素値の差分は例えばＲ、Ｇ、Ｂの各成分毎に求め、その何れかの成分の差分が閾値以上であれば、２つの画素の画素値の差分が閾値以上相違していると判断する。【００３８】
特徴点抽出部２０２は、現フレームおよび参照フレーム中から抽出されたエッジ点のうち、他の１以上のエッジ点との位置関係が当該フレームにおいて一意（ユニークとも言う）なエッジ点（すなわち、他の１以上のエッジ点との位置関係が当該フレームにおいて唯一度しか現れないエッジ点）を特徴点として抽出する機能を有する。本実施例では、他の１以上のエッジ点として、フレームのラスタスキャン順で直前に現れた１つのエッジ点を用いる。しかし、他の実施例として、直前１つ目のエッジ点と直前２つ目のエッジ点のように複数のエッジ点を用いても良い。一般に、直前１つのエッジ点だけを用いるよりも直前複数のエッジ点を用いた方が、当該フレームにおいて他のエッジ点との位置関係がユニークになるエッジ点の個数を少なくできるため、後述するようにハッシュ値を使う場合のハッシュ値のビット数を少なくできる利点がある。【００３９】
エッジ点と他のエッジ点との位置関係を規定するデータとしては、エッジ点同士の距離を画素数で表現した値を使用することができる。また、距離そのものでなく、距離を表すビット列の下位何ビットかをハッシュ値とし、このハッシュ値がユニークなエッジ点を特徴点として抽出するようにしても良い。本実施例では、距離を表すビット列のたとえば下位１１ビットをハッシュ値として使用する。【００４０】
特徴点ペア抽出部２０３は、他のエッジ点との位置関係が同一の特徴点のペアを現フレームおよび参照フレームから抽出する機能を有する。好ましくは、特徴点ペア抽出部２０３は、他のエッジ点との位置関係が同一かつ画素値の差が閾値以下の特徴点のペアを抽出する。【００４１】
移動ベクトル算出部２０４は、現フレームおよび参照フレームから抽出された特徴点のペアの座標値の差分を移動ベクトルとして算出する機能を有する。好ましくは、移動ベクトル算出部２０４は、移動ベクトル候補生成部２０５と移動ベクトル選択部２０６とで構成される。【００４２】
移動ベクトル候補生成部２０５は、現フレームと参照フレームから抽出された特徴点のペアが複数存在する場合、各特徴点のペア毎に座標値の差分を移動ベクトル候補として生成する機能を有する。【００４３】
移動ベクトル選択部２０６は、移動ベクトル候補のうち最も頻出する移動ベクトル候補を移動ベクトルとして選定する機能を有する。【００４４】
次に本実施例の移動ベクトル検出部１２１の動作を説明する。【００４５】
移動ベクトル検出部１２１のエッジ抽出部２０１は、符号化対象フレーム記憶部１１１に記憶された現フレームの先頭の画素に注目し（図５のステップＳ２０１）、注目中の画素がエッジ点かどうかを判定する（ステップＳ２０２）。エッジ点でなければ、ラスタスキャン方向の順で次の画素に注目を移し（ステップＳ２０６）、注目中の画素がエッジ点かどうかを判定する（ステップＳ２０２）。【００４６】
注目中の画素がエッジ点であれば（ステップＳ２０２でＹＥＳ）、注目中の画素の座標値と画素値の組をエッジ点情報として作業域１１３に一時的に保存する（ステップＳ２０３）。次に、作業域１１３に保存されている直前のエッジ点との距離を求め、その距離の下位１１ビットをハッシュ値として算出し（ステップＳ２０４）、作業域１１３に記憶されている現フレームに対応するハッシュテーブルを更新する（ステップＳ２０５）。例えば図６に示すように、ラスタスキャン順に処理を進めて、画素Ｐ（１，１）に続き画素Ｐ（５，１）がエッジ点として検出された場合、画素Ｐ（５，１）と画素Ｐ（１，１）の距離は画素数にして４なので、値４のハッシュ値が算出され、当該エッジ点の情報がハッシュテーブルに登録される。【００４７】
図７を参照すると、現フレームに対応するハッシュテーブルの一例は、０〜２０４７の各ハッシュ値に１対１に対応するエントリを有し、各エントリに、出現頻度、最終出現座標、画素値が登録される。出現頻度の初期値は０、最終出現座標および画素値の初期値はＮＵＬＬである。エッジ抽出部２０１は、ステップＳ２０５のハッシュテーブルの更新処理において、算出したハッシュ値を持つエントリの出現頻度を１だけインクリメントし、検出したエッジ点の座標値と画素値を最終出現座標および画素値の欄に記録する。例えば前述した画素Ｐ（５，１）の場合、図７のハッシュ値４のエントリにおける出現頻度が１だけインクリメントされ、また画素Ｐ（５，１）の座標値と画素値とが同エントリに記録される。【００４８】
エッジ抽出部２０１は、以上のような処理を現フレームの最後の画素まで繰り返し実行する。【００４９】
エッジ抽出部２０１の処理が完了すると（ステップＳ２０７でＹＥＳ）、特徴点抽出部２０２は、現フレームに対応するハッシュテーブルを参照して、出現頻度が１になっているエントリに座標値と画素値とが記録されているエッジ点を特徴点としてすべて抽出する（ステップＳ２０８）。例えば、エッジ抽出部２０１の処理完了時点の現フレームに対応するハッシュテーブルが図７に示したものであった場合、画素Ｐ（５，１）が１つの特徴点として抽出される。【００５０】
次に特徴点ペア抽出部２０３は、現フレームに対応するハッシュテーブルおよび前フレームに対応するハッシュテーブルを参照して、ハッシュ値が同一の特徴点のペアをすべて抽出する（ステップＳ２０９）。ここで、前フレームに対応するハッシュテーブルは、前フレームが現フレームとして処理された際にエッジ抽出部２０１により作成され、作業域１１３に記憶されている。例えば前フレームに対応するハッシュテーブルが図８に示すような内容になっている場合、図７に示した現フレームから特徴点として抽出された画素Ｐ（５，１）とハッシュ値が同じ４の画素Ｐ（５，８）が前フレームに存在するため、前フレームにおける画素Ｐ（５，８）と現フレームにおける画素Ｐ（５，１）のペアが、１つの特徴点のペアとして抽出される。【００５１】
次に特徴点ペア抽出部２０３は、ステップＳ２０９で抽出した特徴点のペアのうち、Ｒ、Ｇ、Ｂの各色成分の差分が何れも予め設定された閾値以下となるペアは対応可能性が高いので残し、それ以外の特徴点のペアは除外する（ステップＳ２１０）。特徴点ペア抽出部２０３は、残した特徴点のペアの情報を作業域１１３に記録する。【００５２】
次に移動ベクトル算出部２０４の移動ベクトル候補生成部２０５は、作業域１１３から特徴点のペアの情報を読み出し、各ペア毎に座標値の差分を移動ベクトル候補として生成する（ステップＳ２１１）。例えば前述したＰ（５，８）とＰ（５，１）の特徴点のペアの場合、（０，−７）が移動ベクトル候補として生成される。なお、静止ベクトルは無視するため、差分が（０，０）となる場合は候補から外す。移動ベクトル候補生成部２０５は、移動ベクトル候補の情報を作業域１１３に記録する。【００５３】
次に、移動ベクトル選択部２０６は、作業域１１３から移動ベクトル候補の情報を読み出し、同じ移動ベクトル候補の総数をカウントすることにより各移動ベクトル候補の出現頻度を求め、最も頻出する移動ベクトル候補を主要な移動ベクトルの推定値として選択する（ステップＳ２１２）。そして、移動ベクトル選択部２０６は、移動ベクトルの検出結果を作業域１１３に記録する（ステップＳ２１３）。【００５４】
移動ベクトル選択部２０６が作業域１１３に記録した検出結果の一例を図９に示す。この例では、推定した移動ベクトル以外に最頻出の移動ベクトル候補の算出元となった特徴点のペアのリストが検出結果に含まれている。図１０は、検出結果に含まれる特徴点のペアを前フレームおよび現フレームにプロットしたイメージと、推定された移動ベクトルとの関係を示す。このように、最頻出の移動ベクトル候補から推定される移動ベクトルは、現フレームに存在する１以上の移動ベクトルのうちの主要な移動ベクトルとなる。【００５５】
このように本実施例の移動ベクトル検出部１２１によれば、コンピュータ画面の映像信号から高速かつ高精度に主要な移動ベクトルを検出することができる。その理由は、第１に、各画素ブロックで様々なベクトルを探索する必要がなく、エッジ点や特徴点の抽出と比較により移動ベクトルを求めていること、第２に、フレーム内ではラスタスキャン順の処理となるためにメモリアクセスの局所性が高いこと、第３に、ブロック単位ではなく画面全体で比較するため、ウィンドウ等、比較的大きなオブジェクト単位での移動ベクトルが主要な移動ベクトルとして検出できること、第４に、エッジ点を元にベクトルを検出しているため移動元と移動先で画素値が正確に一致する必要はなく、アナログキャプチャしたノイズの多い映像信号にも対応可能であることによる。【００５６】
反面、本実施例の移動ベクトル検出部１２１は、（１）同時に複数のベクトルは検出しない、（２）サブピクセル単位や変形を伴うオブジェクトの移動ベクトルは検出しない、（３）エッジの少ないオブジェクトの移動ベクトルは検出しないという制約がある。しかし、（１）と（２）はコンピュータ画面で生じる可能性は低く、（３）のような領域はそのまま画像として符号化しても符号量が小さくなるため大きな問題とはならない。【００５７】
（２）移動領域検出部１２２
図１１を参照すると、移動領域検出部１２２の第１の実施例は、初期候補決定部３０１と移動領域決定部３０２とから構成される。各々は、概ね以下のような機能を有する。【００５８】
初期候補決定部３０１は、移動領域の初期候補を決定する機能を有する。【００５９】
移動領域決定部３０２は、初期候補決定部３０１で決定された移動領域の初期候補および初期候補の移動領域のサイズを変更した１以上の他の移動領域の候補のうちから動き補償部１２３の動き補償に使用する移動領域を決定する機能を有する。【００６０】
次に本実施例の移動領域検出部１２２の動作を説明する。【００６１】
移動領域検出部１２２の初期候補決定部３０１は、初期候補の移動領域を決定する（図１２のステップＳ３０１）。初期候補を決定する方法の一例として、移動ベクトル検出部１２１が移動ベクトルの推定に使用した移動ベクトル候補の算出元となった特徴点群に外接する矩形を移動領域の初期候補とする方法がある。例えば、移動ベクトル検出部１２１の移動ベクトル選択部２０６が図９に示したような検出結果を生成した場合、移動領域検出部１２２は、作業域１１３から上記の検出結果に記述された特徴点を前フレームおよび現フレーム毎に読み出す。例えば、移動領域検出部１２２は、図１３の前フレームに示すように特徴点群に外接する矩形を移動前の移動領域とする。そして、移動領域検出部１２２は、図１３の現フレームに示すように特徴点群に外接する矩形を移動後の移動領域として検出する。検出した初期候補の移動領域の情報は作業域１１３に一時的に記録される。【００６２】
初期候補を決定する方法の他の例としては、移動ベクトル検出部１２１が移動ベクトルの推定に使用した移動ベクトル候補に含まれる特徴点群中の何れか３つ以上の特徴点に外接する矩形を移動領域の初期候補とする方法、フレーム全体を移動領域の初期候補とする方法などがある。【００６３】
次に移動領域検出部１２２の移動領域決定部３０２は、初期候補および他の候補のうちから動き補償に使用する移動領域を決定する（ステップＳ３０２）。以下、移動領域決定部３０２の構成例について詳細に説明する。【００６４】
（Ａ）移動領域決定部３０２の例１
この例１の移動領域決定部３０２の処理例を図１４Ａ及び図１４Ｂに示す。まず移動領域決定部３０２は、決定された初期候補の移動領域および移動ベクトルに基づいて実際に動き補償を行って各画素値を比較し、正しく平行移動したものであるかどうかを確認する。具体的には、動き補償によって低減される符号量と、動き補償によって増加する符号量のどちらが大きくなるかを、移動領域が動き補償に使用する移動領域として適している程度および適していない程度をそれぞれ示すメリット値およびデメリット値を評価尺度として使用して、以下のような手法で推定する（ステップＳ３１１、Ｓ３１２）。ここで、メリット値は、移動領域が動き補償に使用する移動領域として適している程度を示す評価尺度、デメリット値は、移動領域が動き補償に使用する移動領域として適していない程度を示す評価尺度であり、何れも初期値は０である。【００６５】
（ア）「動き補償後の画素値」と「真の画素値」とが異なる場合（例えばＲ、Ｇ、Ｂの各成分毎の差分の何れかが予め設定された閾値以上異なる場合）、動き補償によって符号量が増える可能性があると見做し、デメリット値を１増やす。
（イ）「動き補償後の画素値」と「真の画素値」とが異ならない場合（例えばＲ、Ｇ、Ｂの各成分毎の差分の何れもが予め設定された閾値以上異ならない場合）で、かつ、その座標の画素とその隣接する画素との間に閾値以上の輝度勾配がある場合（例えば、上画素および左画素との差分の合計値が閾値以上になる場合や、上画素または左画素との差分が閾値以上になる場合など）、動き補償によって符号量が低減できる可能性があると見做し、メリット値を１増やす。ここで、隣接する画素との間に閾値以上の輝度勾配があることを条件に加えている理由は、輝度勾配がある点が含まれる箇所は差分による符号化では一般に符号量が増えるためである。
（ウ）初期候補の移動領域全体に対して、上記のア、イの処理を行い、メリット値がデメリット値より大きければ、移動領域として採用し、そうでなければ棄却する。【００６６】
なお、メリット値およびデメリット値を画素値の比較結果に応じて加算し、最終的なメリット値とデメリット値とを比較する処理は、メリット値およびデメリット値の何れか一方だけを使用して加算と減算を使い分ける方法と等価である。具体的には、まず、動き補償後の画素値と真の画素値との差分が所定の閾値以上となる画素が検出される毎にメリット値を所定値だけ減算（またはデメリット値を所定値だけ加算）する。次に、動き補償後の画素値と真の画素値との差分が所定の閾値より小さな画素であって且つ隣接する画素との間に閾値以上の輝度勾配がある画素が検出される毎にメリット値を所定値だけ加算（またはデメリット値を所定値だけ減算）する処理を行う。これにより、最終的なメリット値（またはデメリット値）の値の正、負を判定するようにしても良い。【００６７】
移動領域の初期候補が棄却された場合（ステップＳ３１２でＮＯ）、本例ではもはや移動領域の検出は一切行われず、移動領域の検出が失敗した旨の検出結果を作業域１１３に記録して（ステップＳ３２３）、図１４Ａ及び図１４Ｂの処理を終了する。【００６８】
他方、移動領域の初期候補が採用された場合（ステップＳ３１２でＹＥＳ）、以下の手順により、領域を更に上下左右へ拡張可能かどうかを調べる。【００６９】
（Ｉ）移動領域の各ラインについて、領域を右に広げた際に「動き補償後の画素値」と「真の画素値」とが一致する（差分が閾値以下になる）連続画素数を調べ、連続画素数の最小値を右への最大拡大幅として、右端を確定する（ステップＳ３１３）。例えば図１５に示すように、初期候補の右端を右に広げた際、１ライン目と３ライン目は３画素連続して、残りの全ラインは２画素連続して、それぞれ「動き補償後の画素値」と「真の画素値」とが一致したとすると、右への最大拡大幅は連続画素数の最小値である２画素とする。【００７０】
（ＩＩ）右への拡大方法と同様の方法で、移動領域の左への最大拡大幅を算出し、左端を確定する（ステップＳ３１４）。【００７１】
（ＩＩＩ）上記の（Ｉ）および（ＩＩ）の処理を行った後の移動領域に対して、更に、領域を１ラインずつ上に拡大していく（ステップＳ３１５〜Ｓ３１８）。具体的には、前述の（ア）、（イ）と同様の方式で、１ライン拡大した場合のメリット値、デメリット値を計算し（ステップＳ３１５、Ｓ３１６）、メリット値がデメリット値より大きければ（ステップＳ３１７でＹＥＳ）、ステップＳ３１５に戻って、更に次のラインについても同様の処理を行う。また、メリット値がデメリット値よりも大きくなければ、１ライン拡大前の上端を移動領域の上端に確定する（ステップＳ３１８）。【００７２】
（ＩＶ）上への拡大と同様の方法で、移動領域を下に拡大していって、下端を確定する（図１４ＢのステップＳ３１９〜Ｓ３２２）。【００７３】
最後に移動領域決定部３０２は、拡大後の移動領域の座標情報を含む検出結果を作業域１１３に記録し（ステップＳ３２３）、図１４Ａ及び図１４Ｂの処理を終える。【００７４】
ここで、移動領域の左右への拡大と上下への拡大とで異なる手法を採用している理由は、同じライン上の複数の画素へのメモリアクセスは高速に行えるが、異なるライン上の画素へのメモリアクセスには時間がかかるためである。つまり、左右への拡大を上下と同様に１列ずつ順に拡大していくと、１列拡大するだけでも移動領域の全ラインにわたるメモリアクセスが必要になるためである。しかし、このようなメモリアクセス時間が問題とならない状況の下では、移動領域の左右への拡大を上下への拡大と同じ手法で行っても良い。逆に、移動領域の上下への拡大を、左右への拡大に使用した簡易な手法で行うようにしても良い。【００７５】
この例１の移動領域決定部３０２によれば、初期候補決定部３０１で決定された初期候補の妥当性を定量的に判定することができるため、不適切な移動領域を使った動き補償を防止することができる。また、初期候補が妥当な場合、符号量の削減効果が大きい、よりサイズの大きな移動領域を探索することができる。【００７６】
（Ｂ）移動領域決定部３０２の例２
この例２の移動領域決定部３０２の処理例を図１６Ａ及び図１６Ｂに示す。例２が例１と相違するところは、次の通りである。例１では初期候補よりサイズの大きな移動領域だけを探索した。これに対して、例２では、移動領域が真の移動領域よりも大きな領域として過剰に検出されている可能性を考慮して、まず各辺毎に領域の縮小の可能性を判定し、過剰検出されていない辺については例１と同様に拡大していくようにした。【００７７】
まず移動領域決定部３０２は、例１と同様の方法により初期候補の移動領域の妥当性を判定する（ステップＳ３３１、Ｓ３３２）。移動領域の初期候補が棄却された場合（ステップＳ３３２でＮＯ）、本例でも例１と同様にもはや移動領域の検出は一切行われず、移動領域の検出が失敗した旨の検出結果を作業域１１３に記録して（ステップＳ３５７）、図１６Ａ及び図１６Ｂの処理を終了する。【００７８】
他方、移動領域の初期候補が採用された場合（ステップＳ３３２でＹＥＳ）、以下の手順により、領域を更に上下左右から縮小可能かどうか、上下左右へ拡張可能かどうかを調べる。【００７９】
まず移動領域決定部３０２は、初期候補の移動領域の右からの最大縮小幅を算出する（ステップＳ３３３）。具体的には、移動領域の各ラインについて、領域を右から狭めた際に「動き補償後の画素値」と「真の画素値」とが一致しない（差分が閾値以上になる）連続画素数を調べ、連続画素数の最小値を右からの最大縮小幅として、右端を確定する。例えば図１７に示すように、初期候補の右端を右から狭めた際、１ライン目と４ライン目と５ライン目は３画素連続して、残りの全ラインは２画素連続して、それぞれ「動き補償後の画素値」と「真の画素値」とが一致しなかったとすると、右からの最大縮小幅は連続画素数の最小値である２画素とする。【００８０】
次に移動領域決定部３０２は、最大縮小幅が０か否かを判定し（ステップＳ３３４）、最大縮小幅が０でなければ、例えば図１７に示すように、初期候補の右端から最大縮小幅だけ狭めた箇所を移動領域の右端として確定する（ステップＳ３３５）。また、最大縮小幅が０であれば、例１と同様の方法で移動領域の右への最大拡大幅を算出し、右端を確定する（ステップＳ３３６）。【００８１】
次に移動領域決定部３０２は、初期領域の左端からも右端と同様に最大縮小幅を算出し（ステップＳ３３７）、最大縮小幅が０でなければ、最大縮小幅から左端を確定する（ステップＳ３３８、３３９）。また、最大縮小幅が０であれば、例１と同様の方法で左端からの最大拡張幅を算出して、左端を確定する（ステップＳ３４０）。【００８２】
次に移動領域決定部３０２は、移動領域を上から１ライン縮小し、前述の（ア）、（イ）と同様の方式で、１ライン縮小した場合のメリット値、デメリット値を計算する（ステップＳ３４１、Ｓ３４２）。メリット値がデメリット値より小さければ（ステップＳ３４３でＹＥＳ）、更に次のラインについても同様の縮小処理を繰り返す（ステップＳ３４４〜Ｓ３４６）。そして、メリット値がデメリット値よりも小さくないことが検出された場合、１ライン縮小前の上端を移動領域の上端に確定する（ステップＳ３４７）。他方、ステップＳ３４３でメリット値がデメリット値より小さくないと判定した場合、例１と同様の方法で移動領域の上への最大拡張幅を算出し、上端を確定する（ステップＳ３４８）。【００８３】
次に移動領域決定部３０２は、移動領域の下からも上からと同様の処理を行う（ステップＳ３４９〜Ｓ３５６）。【００８４】
最後に移動領域決定部３０２は、上下左右の端部が確定した移動領域の座標情報を含む検出結果を作業域１１３に記録し（ステップＳ３５７）、図１６Ａ及び図１６Ｂの処理を終える。【００８５】
ここで、移動領域の左右からの縮小と上下からの縮小とで異なる手法を採用している理由は、同じライン上の複数の画素へのメモリアクセスは高速に行えるが、異なるライン上の画素へのメモリアクセスには時間がかかるためである。つまり、左右への縮小を上下と同様に１列ずつ順に行っていくと、１列縮小するだけでも移動領域の全ラインにわたるメモリアクセスが必要になるためである。しかし、このようなメモリアクセス時間が問題とならない状況の下では、移動領域の左右からの縮小を上下からの縮小と同じ手法で行っても良い。逆に、移動領域の上下からの縮小を、左右からの縮小に使用した簡易な手法で行うようにしても良い。【００８６】
この例２の移動領域決定部３０２によれば、初期候補決定部３０１で決定された初期候補の妥当性を定量的に判定することができるため、不適切な移動領域を使った動き補償を防止することができる。また、初期候補が妥当な場合、まず上下左右からの縮減を試みるため、初期候補の移動領域が真の移動領域よりも大きな領域として過剰に検出されていた場合に、過剰検出分を削減することが可能になる。更に、過剰検出の可能性がない辺については、符号量の削減効果が大きい、よりサイズの大きな移動領域へと拡大していくことが可能となる。【００８７】
（Ｃ）移動領域決定部３０２の例３
この例３の移動領域決定部３０２の処理例を図１８に示す。例３が例２と相違するところは、例２では初期候補について計算したメリット値がデメリット値を下回っていた場合にもはや移動領域の検出を断念していたのに対して、例３では、移動領域が真の移動領域よりも極めて過大に検出されている可能性を考慮して、各辺毎に領域の縮小の可能性を判定していくようにした点にある。【００８８】
まず移動領域決定部３０２は、例２と同様の方法により初期候補の移動領域の妥当性を判定する（ステップＳ３６１、Ｓ３６２）。移動領域の初期候補が棄却されなかった場合（ステップＳ３６２でＹＥＳ）の処理ステップＳ３６３は、例２のステップＳ３３３〜Ｓ３５６と同じである。【００８９】
他方、移動領域の初期候補が棄却された場合（ステップＳ３６２でＮＯ）、以下の手順により、領域を更に上下左右から縮小可能かどうかを調べる。【００９０】
まず移動領域決定部３０２は、例２と同様の方法で、初期候補の移動領域の右からの最大縮小幅を算出する（ステップＳ３６４）。次に移動領域決定部３０２は、最大縮小幅が移動領域の横幅に等しいか否かを判定し（ステップＳ３６５）、最大縮小幅が移動領域の横幅に等しければ、移動領域の検出に失敗したとして、その旨の検出結果を生成し（ステップＳ３６５でＹＥＳ、ステップＳ３７２）、図１８の処理を終了する。最大縮小幅が移動領域の横幅に等しくなければ、初期候補の右端から最大縮小幅だけ狭めた箇所を移動領域の右端として確定する（ステップＳ３６６）。【００９１】
次に移動領域決定部３０２は、初期領域の左端からも右端と同様に最大縮小幅を算出し、左端を確定する（ステップＳ３６７）。【００９２】
次に移動領域決定部３０２は、移動領域の上からの最大縮小幅を例２と同様の方法で算出する（ステップＳ３６８）。もし、最大縮小幅が移動領域の縦幅に等しければ、移動領域の検出に失敗したとして、その旨の検出結果を生成し（ステップＳ３６９でＹＥＳ、ステップＳ３７２）、図１８の処理を終了する。最大縮小幅が移動領域の縦幅に等しくなければ、最大縮小幅から移動領域の上端を確定する（ステップＳ３７０）。【００９３】
次に移動領域決定部３０２は、移動領域の下からも上からと同様に最大縮小幅を算出し、下端を確定する（ステップＳ３７１）。【００９４】
最後に移動領域決定部３０２は、上下左右の端部が確定した移動領域の座標情報を含む検出結果を作業域１１３に記録し（ステップＳ３７２）、図１８の処理を終える。【００９５】
この例３の移動領域決定部３０２によれば、初期候補決定部３０１で決定された初期候補の妥当性を定量的に判定することができるため、不適切な移動領域を使った動き補償を防止することができる。また、初期候補が棄却された場合であっても、縮小の可能性を探索するため、初期候補の移動領域が真の移動領域よりも極めて過大に検出されていた場合でも移動領域を可能な限り検出することが可能になる。さらに、例２と同様に、初期候補が妥当な場合、まず上下左右からの縮小を試みるため、初期候補の移動領域が真の移動領域よりも大きな領域として過剰に検出されていた場合に、過剰検出分を削減することが可能になる。同様に、過剰検出の可能性がない辺については、符号量の削減効果が大きい、よりサイズの大きな移動領域へと拡大していくことが可能となる。【００９６】
（Ｄ）移動領域決定部３０２の例４
この例４の移動領域決定部３０２の処理例を図１９Ａ及び図１９Ｂに示す。例４が例２と相違するところは、例２では初期候補について妥当性の判定を行い、妥当と判定した場合に移動領域の縮小、拡大を試行するのに対して、例４では、初期候補の妥当性の判定を省略し、初期候補の縮小、拡大を試行する点にある。【００９７】
まず移動領域決定部３０２は、例２と同様の方法で、初期候補の移動領域の右からの最大縮小幅を算出する（ステップＳ３８１）。次に移動領域決定部３０２は、最大縮小幅が移動領域の横幅に等しいか否かを判定し（ステップＳ３８２）、最大縮小幅が移動領域の横幅に等しければ（ステップＳ３８２でＹＥＳ）、移動領域の検出に失敗したとして、その旨の検出結果を生成し（ステップＳ３９９）、図１９Ａ及び図１９Ｂの処理を終了する。
【００９８】
最大縮小幅が移動領域の横幅に等しくなければ（ステップＳ３８２でＮＯ）、移動領域決定部３０２は、最大縮小幅が０かどうかを判定し（ステップＳ３８３）、０でなければ、初期候補の右端から最大縮小幅だけ狭めた箇所を移動領域の右端として確定する（ステップＳ３８４）。また、最大縮小幅が０であれば、移動領域決定部３０２は、例２と同様の方法で右への最大拡大幅を算出し、右端を確定する（ステップＳ３８５）。
【００９９】
次に移動領域決定部３０２は、例２と同様の方法で初期候補の移動領域の左からの最大縮小幅を算出し（ステップＳ３８６）、最大縮小幅が０でなければ（ステップＳ３８７でＮＯ）、初期候補の左端から最大縮小幅だけ狭めた箇所を移動領域の左端として確定する（ステップＳ３８８）。また、最大縮小幅が０であれば、移動領域決定部３０２は、例２と同様の方法で左への最大拡大幅を算出し、左端を確定する（ステップＳ３８９）。【０１００】
次に移動領域決定部３０２は、移動領域の上からの最大縮小幅を例２と同様の方法で算出する（ステップＳ３９０）。もし、最大縮小幅が移動領域の縦幅に等しければ、移動領域の検出に失敗したとして、その旨の検出結果を生成し（ステップＳ３９１でＹＥＳ、Ｓ３９９）、図１９Ａ及び図１９Ｂの処理を終了する。最大縮小幅が移動領域の縦幅に等しくなければ、最大縮小幅が０かどうかを判定し（ステップＳ３９１でＮＯ、ステップＳ３９２）、０でなければ、初期候補の上端から最大縮小幅だけ狭めた箇所を移動領域の上端として確定する（ステップＳ３９３）。また、最大縮小幅が０であれば、移動領域決定部３０２は、例２と同様の方法で上への最大拡大幅を算出し、上端を確定する（ステップＳ３９４）。【０１０１】
次に移動領域決定部３０２は、移動領域の下からの最大縮小幅を例２と同様の方法で算出し（ステップＳ３９５）、０でなければ、初期候補の下端から最大縮小幅だけ狭めた箇所を移動領域の下端として確定する（ステップＳ３９６でＮＯ、Ｓ３９７）。また、最大縮小幅が０であれば、移動領域決定部３０２は、例２と同様の方法で下への最大拡大幅を算出し、下端を確定する（ステップＳ３９８）。【０１０２】
最後に移動領域決定部３０２は、上下左右の端部が確定した移動領域の座標情報を含む検出結果を作業域１１３に記録し（ステップＳ３９９）、図１９Ａ及び図１９Ｂの処理を終える。【０１０３】
この例４の移動領域決定部３０２によれば、初期候補決定部３０１で決定された初期候補の妥当性を定量的に判定していないので、処理量を削減することができる。また、まず上下左右からの縮小を試みるため、初期候補の移動領域が真の移動領域よりも大きな領域として過剰に検出されていた場合に、過剰検出分を削減することが可能になる。同様に、過剰検出の可能性がない辺については、符号量の削減効果が大きい、よりサイズの大きな移動領域へと拡大していくことが可能となる。ただし、初期候補の移動領域の妥当性を判定していないため、例えばドーナツ型の穴の部分が移動前後で全く相違するような領域を移動領域として検出する可能性がある。【０１０４】
（３）更新領域検出域設定部１２４
図２０を参照すると、更新領域検出域設定部１２４の第１の実施例は、移動領域有無判定部４０１と、移動方向判定部４０２と、分割部４０３とから構成される。各々は、概ね以下のような機能を有する。【０１０５】
移動領域有無判定部４０１は、移動領域検出部１２２で移動領域が検出されたか否かを判定する機能を有する。【０１０６】
移動方向判定部４０２は、移動領域検出部１２２で検出された移動領域の移動方向を判定する機能を有する。【０１０７】
分割部４０３は、移動領域有無判定部４０１および移動方向判定部４０２の判定結果に従って画面分割の必要性の判定および画面分割による更新領域検出域の設定を行う機能を有する。【０１０８】
次に本実施例の更新領域検出域設定部１２４の第１の処理例を説明する。【０１０９】
更新領域検出域設定部１２４の移動領域有無判定部４０１は、移動領域検出部１２２の検出結果を作業域１１３から読み出して解析することにより、移動領域が検出されたかどうかを判定し、判定結果を移動方向判定部４０２および分割部４０３へ通知する（図２１のステップＳ５０１）。【０１１０】
移動方向判定部４０２は、移動方向を判定する（ステップＳ５０２）。具体的には、移動方向判定部４０２は、まず、移動領域が検出された旨の通知を移動領域有無判定部４０１から受け取る。次に、移動方向判定部４０２は、作業域１１３から読み出された移動領域検出部１２２の検出結果に含まれる移動前の移動領域の座標と移動後の移動領域の座標とを比較する移動方向が、画面の上から下へ向かう成分を含む方向（以下、下方向と言う）、画面の下から上へ向かう成分を含む方向（以下、上方向と言う）の何れであるかを判定する。そして、移動方向判定部４０２は、判定結果を分割部４０３に通知する。判定結果には、移動方向以外に、下方向の場合には移動後の移動領域の上端の座標、上方向の場合には移動後の移動領域の下端の座標が含まれる。なお、下方向でもなく、上方向でもない左右方向の場合の扱い方としては、例えば、下方向あるいは上方向の何れかに含めることが考えられる。【０１１１】
分割部４０３は、移動領域有無判定部４０１から移動領域が検出されなかった旨の通知を受けた場合、画面全体を１つの更新領域検出域に設定する（ステップＳ５０３）。また、移動領域有無判定部４０１から移動領域が検出された旨の通知を受けた場合、移動方向判定部４０２からの通知に従って画面を分割する（ステップＳ５０４〜Ｓ５０６）。具体的には、移動方向が下方向であれば、移動後の移動領域の上端で画面を２分割し、各分割領域をそれぞれ１つの更新領域検出域に設定する。また、移動方向が上方向であれば、移動後の移動領域の下端で画面を２分割し、各分割領域をそれぞれ１つの更新領域検出域に設定する。その後、更新領域検出域毎に更新領域検出部１２５による更新領域の検出が行われる。【０１１２】
第１の処理例の更新領域検出域設定部１２４による効果を説明する。以下では、移動方向が下方向の場合について説明しているが、上方向の場合も同様の効果が得られる。また、以降の効果を説明する図において、斜線部は差分画素を示す。また、以降の効果を説明する図において、同一の要素については同一の符号を付し、重複した説明は省略する。【０１１３】
図２２の左上は、画面Ｒ１において移動領域Ｒ１１から移動領域Ｒ１２へ移動したこと、つまり、移動領域が下方向に移動したことを示す。図２２の右上は、画面Ｒ２全体を更新領域検出域に設定した場合を示す。このとき、移動前の移動領域Ｒ２１に相当する領域全体が更新領域として検出される。また、移動後の移動領域Ｒ２０は、検出されない。これに対して本例にかかる図２２の右下は、移動後の移動領域Ｒ３０の上端で画面Ｒ３が分割線Ｌ２２１により２分割され、各々の更新領域検出域で更新領域Ｒ３１及びＲ３２の検出が行われるため、更新領域の合計面積を最小限に抑えることができ、符号量の削減が可能になる。【０１１４】
次に本実施例の更新領域検出域設定部１２４の第２の処理例を説明する。【０１１５】
更新領域検出域設定部１２４の移動領域有無判定部４０１は、第１の処理例と同様に移動領域が検出されたかどうかを判定し、判定結果を移動方向判定部４０２および分割部４０３へ通知する（図２３のステップＳ５１１）。【０１１６】
移動方向判定部４０２は、第１の処理例と同様に、移動領域が検出された旨の通知を移動領域有無判定部４０１から受け取ると、移動方向が下方向、上方向の何れであるかを判定し、判定結果を分割部４０３に通知する（ステップＳ５１２）。判定結果には、移動方向以外に、移動方向が下方向の場合も上方向の場合も共に、移動後の移動領域の上下端の座標が含まれる。【０１１７】
分割部４０３は、移動領域有無判定部４０１から移動領域が検出されなかった旨の通知を受けた場合、第１の処理例と同様に画面全体を１つの更新領域検出域に設定する（ステップＳ５１３）。また、移動領域有無判定部４０１から移動領域が検出された旨の通知を受けた場合、移動方向判定部４０２からの通知に従って画面を分割する（ステップＳ５１４〜Ｓ５１６）。具体的には、移動方向が下方向および上方向とも、移動後の移動領域の上下端で画面を３分割し、各分割領域をそれぞれ１つの更新領域検出域に設定する。その後、更新領域検出域毎に更新領域検出部１２５による更新領域の検出が行われる。【０１１８】
次に、本処理例の更新領域検出域設定部１２４による効果を説明する。以下では、移動方向が下方向の場合について説明しているが、上方向の場合も同様の効果が得られる。【０１１９】
図２４の左上及び右上は、図２２の左上及び右上と同様である。これに対して本例にかかる図２４の右下は、移動後の移動領域Ｒ３０の上下端で画面Ｒ３が分割線Ｌ２４１及びＬ２４２により３分割され、各々の更新領域検出域で更新領域Ｒ３１及びＲ３２の検出が行われるため、更新領域の合計面積を最小限に抑えることができ、符号量の削減が可能になる。【０１２０】
また、図２５の左上は、画面Ｒ１において検出された移動領域Ｒ１３が実際の移動領域Ｒ１２よりも小さかった場合を示す。図２５の右上は、図２１の第１の処理例を適用し、移動後の上端のみで画面Ｒ２を分割線Ｌ２５１により２分割した場合を示す。この場合、図２５の右上に示すように検出された移動領域Ｒ２０ａを含み、無駄に大きな更新領域Ｒ２２及びＲ２３が検出されてしまう。これに対して本例にかかる図２５の右下は、移動後の移動領域Ｒ３０ａの上下端で画面Ｒ３が分割線Ｌ２５２及びＬ２５３により３分割され、各々の更新領域検出域で更新領域Ｒ３３１、Ｒ３３２、Ｒ３３３及びＲ３３４の検出が行われるため、更新領域の合計面積を小さくでき、その分、符号量の削減が可能になる。【０１２１】
次に本実施例の更新領域検出域設定部１２４の第３の処理例を説明する。【０１２２】
更新領域検出域設定部１２４の移動領域有無判定部４０１は、第２の処理例と同様に移動領域が検出されたかどうかを判定し、判定結果を移動方向判定部４０２および分割部４０３へ通知する（図２６のステップＳ５２１）。【０１２３】
移動方向判定部４０２は、第２の処理例と同様に、移動領域が検出された旨の通知を移動領域有無判定部４０１から受け取ると、移動方向が下方向、上方向の何れであるかを判定し、判定結果を分割部４０３に通知する（ステップＳ５２２）。判定結果には、移動方向以外に、移動方向が下方向の場合には移動後の移動領域の上下端および移動前の移動領域の下端の座標が含まれ、移動方向が上方向の場合には移動後の移動領域の上下端および移動前の移動領域の上端の座標が含まれる。【０１２４】
分割部４０３は、移動領域有無判定部４０１から移動領域が検出されなかった旨の通知を受けた場合、第２の処理例と同様に画面全体を１つの更新領域検出域に設定する（ステップＳ５２３）。また、移動領域有無判定部４０１から移動領域が検出された旨の通知を受けた場合、移動方向判定部４０２からの通知に従って画面を分割する（ステップＳ５２４〜Ｓ５２６）。具体的には、移動方向が下方向の場合、移動後の移動領域の上下端と移動前の移動領域の下端で画面を４分割し、各分割領域をそれぞれ１つの更新領域検出域に設定する。また、移動方向が上方向の場合、移動後の移動領域の上下端と移動前の移動領域の上端で画面を４分割し、各分割領域をそれぞれ１つの更新領域検出域に設定する。その後、更新領域検出域毎に更新領域検出部１２５による更新領域の検出が行われる。【０１２５】
次に、本処理例の更新領域検出域設定部１２４による効果を説明する。以下では、移動方向が下方向の場合について説明しているが、上方向の場合も同様の効果が得られる。【０１２６】
図２７の左上及び右上は、図２２の左上及び右上と同様である。これに対して本例にかかる図２７の右下は、移動後の移動領域Ｒ３０の上下端および移動前の移動領域の下端で画面Ｒ３が分割線Ｌ２７１、Ｌ２７２及びＬ２７３により４分割され、各々の更新領域検出域で更新領域Ｒ３１及びＲ３２の検出が行われるため、更新領域の合計面積を最小限に抑えることができ、符号量の削減が可能になる。【０１２７】
また、図２８の左上は、図２５の左上と同様である。図２８の右上は、図２１の第１の処理例を適用し、移動後の上端のみで画面Ｒ２を分割線Ｌ２８１により２分割した場合を示す。この場合、図２８の右上に示すように検出された移動領域Ｒ２０ａを含み、無駄に大きな更新領域Ｒ２２及びＲ２３が検出されてしまう。これに対して本例にかかる図２８の右下は、移動後の移動領域Ｒ３０ｂの上下端および移動前の移動領域の下端で画面Ｒ３が分割線Ｌ２８１、Ｌ２８２及びＬ２８３により４分割され、各々の更新領域検出域で更新領域の検出が行われるため、更新領域の合計面積を小さくでき、その分、符号量の削減が可能になる。【０１２８】
さらに、図２９の左上は、画面Ｒ１において検出された移動領域Ｒ１４が実際の移動領域Ｒ１２よりも大きかった場合を示す。図２９の右上は、図２１の第１の処理例を適用し、移動後の上端のみで画面Ｒ２を分割線Ｌ２９１により２分割した場合を示す。この場合、図２９の右上に示すように検出された移動領域Ｒ２０ｂを含み、無駄に大きな更新領域Ｒ２４及びＲ２５が検出されてしまう。また、図２９の右下は、図２３の第２の処理例を適用し、移動後の移動領域Ｒ３０ｃの上下端のみで画面Ｒ３を分割線Ｌ２９２及びＬ２９３により３分割した場合を示す。この場合、図２９の右下に示すように検出された移動領域Ｒ３０ｃを含み、更新領域Ｒ３５１及びＲ３５２がやや冗長になる。これに対して本例にかかる図２９の左下は、移動後の移動領域Ｒ４０の上下端および移動前の移動領域の下端で画面Ｒ４が分割線Ｌ２９４、Ｌ２９５及びＬ２９６により４分割され、各々の更新領域検出域で更新領域Ｒ４１、Ｒ４２及びＲ４３の検出が行われるため、第２の処理例に比べて更新領域の合計面積を小さくでき、その分、符号量の削減が可能になる。ただし、過剰検出される領域の面積がそれほど大きくないならば、第２の処理例の方が更新領域の個数が少なくなる利点がある。【０１２９】
図３０を参照すると、更新領域検出域設定部１２４の第２の実施例は、移動領域有無判定部４１１と、移動領域重複判定部４１２と、移動方向判定部４１３と、分割部４１４とから構成される。各々は、概ね以下のような機能を有する。【０１３０】
移動領域有無判定部４１１および移動方向判定部４１３は、更新領域検出域設定部１２４の第１の実施例における移動領域有無判定部４０１および移動方向判定部４０２と同じ機能を有する。【０１３１】
移動領域重複判定部４１２は、移動領域検出部１２２で検出された移動前後の移動領域の重なりの可能性の有無を判定する機能を有する。【０１３２】
分割部４１４は、移動領域有無判定部４１１、移動領域重複判定部４１２および移動方向判定部４１３の判定結果に従って画面分割の必要性の判定および画面分割による更新領域検出域の設定を行う機能を有する。【０１３３】
次に本実施例の更新領域検出域設定部１２４の処理例を説明する。【０１３４】
更新領域検出域設定部１２４の移動領域有無判定部４１１は、第１の実施例の移動領域有無判定部４０１と同様に移動領域が検出されたかどうかを判定し、判定結果を移動領域重複判定部４１２および分割部４１４へ通知する（図３１のステップＳ５３１）。【０１３５】
移動領域重複判定部４１２は、移動前後の移動領域が重なっていないかを判定する（ステップＳ５３２）。具体的には、移動領域重複判定部４１２は、まず、移動領域が検出された旨の通知を移動領域有無判定部４０１から受け取る。次に、移動領域重複判定部４１２は、作業域１１３から移動領域検出部１２２の検出結果に含まれる移動前の移動領域の座標と移動後の移動領域の座標とを読み出す。そして、移動領域重複判定部４１２は、移動前の移動領域を上下左右に所定幅Δだけ拡大した領域と、移動後の移動領域を上下左右に所定幅Δだけ拡大した領域とが少なくとも一部で重なるかどうかを調べる。その後、移動領域重複判定部４１２は、重なる場合には移動領域の重複ありの判定結果を、重ならない場合には移動領域の重複なしの判定結果を移動方向判定部４１３および分割部４１４に通知する。ここで、所定幅Δは、移動領域の検出不足の生じる程度に応じて事前に設定される。【０１３６】
移動方向判定部４１３は、移動方向を判定する（ステップＳ５３３）。具体的には、移動方向判定部４１３は、まず、移動領域の重複なしの通知を移動領域重複判定部４１２から受け取る。次に、移動方向判定部４１３は、作業域１１３から読み出された移動領域検出部１２２の検出結果に含まれる移動前の移動領域の座標と移動後の移動領域の座標とを比較することにより、移動方向が下方向、上方向の何れであるかを判定する。そして、移動方向判定部４１３は、判定結果を分割部４１４に通知する（ステップＳ５３３）。判定結果には、第１の実施例における移動方向判定部４０２と同様に移動方向以外に、画面を分割する座標が含まれる。【０１３７】
分割部４１４は、移動領域有無判定部４１１から移動領域が検出されなかった旨の通知を受けた場合、および移動領域重複判定部４１２から移動領域の重複なしの通知を受けた場合、画面全体を１つの更新領域検出域に設定する（ステップＳ５３４）。他方、移動領域有無判定部４１１から移動領域が検出された旨の通知を受けると共に、移動領域重複判定部４１２から移動領域の重複ありの通知を受けた場合、移動方向判定部４１３からの通知に従って第１の実施例の分割部４０３の第１の処理例、第２の処理例および第３の処理例の何れかと同じように画面を分割して更新領域検出域を設定する（ステップＳ５３５〜Ｓ５３７）。その後、更新領域検出域毎に更新領域検出部１２５による更新領域の検出が行われる。【０１３８】
この第２の実施例の更新領域検出域設定部１２４によれば、移動前後の移動領域が重なっている可能性がない場合には画面を分割しないので、更新領域の分割数の増加を抑えることができる。【０１３９】
図３２を参照すると、更新領域検出域設定部１２４の第３の実施例は、移動領域有無判定部５０１と、分割部５０２とから構成される。各々は、概ね以下のような機能を有する。【０１４０】
移動領域有無判定部５０１は、移動領域検出部１２２で移動領域が検出されたか否かを判定する機能を有する。【０１４１】
分割部５０２は、移動領域有無判定部５０１の判定結果に従って画面分割の必要性の判定および画面分割による更新領域検出域の設定を行う機能を有する。【０１４２】
次に本実施例の更新領域検出域設定部１２４の第１の処理例を説明する。【０１４３】
更新領域検出域設定部１２４の移動領域有無判定部５０１は、移動領域検出部１２２の検出結果を作業域１１３から読み出して解析することにより、移動領域が検出されたかどうかを判定し、判定結果を分割部５０２へ通知する（図３３のステップＳ６０１）。【０１４４】
分割部５０２は、移動領域有無判定部５０１から移動領域が検出されなかった旨の通知を受けた場合、画面全体を１つの更新領域検出域に設定する（ステップＳ６０２）。また、移動領域有無判定部４０１から移動領域が検出された旨の通知を受けた場合、作業域１１３から移動領域検出部１２２の検出結果に含まれる移動後の移動領域の座標を読み出し、移動後の移動領域の上下端で画面を３分割し（ステップＳ６０３）、各分割領域をそれぞれ１つの更新領域検出域に設定する（ステップＳ６０４）。その後、更新領域検出域毎に更新領域検出部１２５による更新領域の検出が行われる。【０１４５】
第３の実施例の更新領域検出域設定部１２４の第１の処理例による効果を説明する。以下では、移動方向が下方向の場合について説明しているが、上方向の場合も同様の効果が得られる。【０１４６】
図３４の左上及び右上は、図２２の左上及び右上と同様である。これに対して本例にかかる図３４の右下は、移動後の移動領域Ｒ３０の上下端で画面Ｒ３が分割線Ｌ３４１及びＬ３４２により３分割され、各々の更新領域検出域で更新領域Ｒ３１及びＲ３２の検出が行われるため、更新領域の合計面積を最小限に抑えることができ、符号量の削減が可能になる。【０１４７】
また、図３５の左上は、図２５の左上と同様である。図３５の右上は、画面Ｒ２全体を更新領域検出域に設定した場合を示す。この場合、図３５の右上に示すように検出された移動領域Ｒ２０ｃを含み、移動前後の移動領域を包含するような移動領域Ｒ２６が検出されてしまう。これに対して本例にかかる図３５の右下は、移動後の移動領域Ｒ３０ａの上下端で画面Ｒ３が分割線Ｌ３５１及びＬ３５２により３分割され、各々の更新領域検出域で更新領域Ｒ３３１、Ｒ３３２、Ｒ３３３及びＲ３３４の検出が行われるため、更新領域の合計面積を小さくでき、その分、符号量の削減が可能になる。【０１４８】
次に本実施例の更新領域検出域設定部１２４の第２の処理例を説明する。【０１４９】
更新領域検出域設定部１２４の移動領域有無判定部５０１は、第１の処理例と同様に移動領域が検出されたかどうかを判定し、判定結果を分割部５０２へ通知する（図３６のステップＳ６１１）。【０１５０】
分割部５０２は、移動領域有無判定部５０１から移動領域が検出されなかった旨の通知を受けた場合、第１の処理例と同様に画面全体を１つの更新領域検出域に設定する（ステップＳ６１２）。また、移動領域有無判定部５０１から移動領域が検出された旨の通知を受けた場合、作業域１１３から移動領域検出部１２２の検出結果に含まれる移動前後の移動領域の座標を読み出し、移動前の移動領域の上下端と移動後の移動領域の上下端とで画面を５分割し（ステップＳ６１３）、各分割領域をそれぞれ１つの更新領域検出域に設定する（ステップＳ６１４）。その後、更新領域検出域毎に更新領域検出部１２５による更新領域の検出が行われる。【０１５１】
第３の実施例の更新領域検出域設定部１２４の第２の処理例による効果を説明する。以下では、移動方向が下方向の場合について説明しているが、上方向の場合も同様の効果が得られる。【０１５２】
図３７の左上及び右上は、図２２の左上及び右上と同様である。これに対して本例にかかる図３７の右下は、移動前後の移動領域Ｒ３０の上下端で画面Ｒ３が分割線Ｌ３７１、Ｌ３７２、Ｌ３７３及びＬ３７４により５分割され、各々の更新領域検出域で更新領域Ｒ３１及びＲ３２の検出が行われるため、更新領域の合計面積を最小限に抑えることができ、符号量の削減が可能になる。【０１５３】
また、図３８の左上及び右上は、図３５の左上及び右上と同様である。これに対して本例にかかる図３８の右下は、移動前後の移動領域Ｒ３０ｄの上下端で画面Ｒ３が分割線Ｌ３８１、Ｌ３８２、Ｌ３８３及びＬ３８４により５分割され、各々の更新領域検出域で更新領域Ｒ３６１、Ｒ３６２、Ｒ３６３、Ｒ３６４、Ｒ３６５、Ｒ３６６及びＲ３６７の検出が行われるため、更新領域の合計面積を小さくでき、その分、符号量の削減が可能になる。【０１５４】
さらに、図３９の左上は、図２９の左上と同様である。図３９の右上は、図３５の右上と同様である。また、図３９の右下は、第１の処理例を適用し、移動後の移動領域Ｒ３０ｃの上下端で画面Ｒ３を分割線Ｌ３９１及びＬ３９２により３分割した場合を示す。この場合、図３９の右下に示すように検出された移動領域Ｒ３０ｃを含み、冗長な更新領域Ｒ３５１及びＲ３５２が検出される。これに対して本例にかかる図３９の左下は、移動前後の移動領域Ｒ４０の上下端で画面Ｒ４が分割線Ｌ３９３、Ｌ３９４、Ｌ３９５及びＬ３９６により５分割され、各々の更新領域検出域で更新領域Ｒ４１、Ｒ４２及びＲ４３の検出が行われるため、更新領域の合計面積を小さくでき、その分、符号量の削減が可能になる。【０１５５】
図４０を参照すると、更新領域検出域設定部１２４の第４の実施例は、移動領域有無判定部５１１と、移動領域重複判定部５１２と、分割部５１３とから構成される。各々は、概ね以下のような機能を有する。【０１５６】
移動領域有無判定部５１１は、更新領域検出域設定部１２４の第３の実施例における移動領域有無判定部５０１と同じ機能を有する。【０１５７】
移動領域重複判定部５１２は、移動領域検出部１２２で検出された移動前後の移動領域の重なりの可能性の有無を判定する機能を有する。【０１５８】
分割部５１３は、移動領域有無判定部５１１および移動領域重複判定部５１２の判定結果に従って画面分割の必要性の判定および画面分割による更新領域検出域の設定を行う機能を有する。【０１５９】
次に本実施例の更新領域検出域設定部１２４の処理例を説明する。【０１６０】
更新領域検出域設定部１２４の移動領域有無判定部５１１は、第３の実施例の移動領域有無判定部５０１と同様に移動領域が検出されたかどうかを判定し、判定結果を移動領域重複判定部５１２および分割部５１３へ通知する（図４１のステップＳ６２１）。【０１６１】
移動領域重複判定部５１２は、移動前後の移動領域が重なっていないかを判定する（ステップＳ６２２）。具体的には、移動領域重複判定部５１２は、まず、移動領域が検出された旨の通知を移動領域有無判定部５１１から受け取る。次に、移動領域重複判定部５１２は、作業域１１３から移動領域検出部１２２の検出結果に含まれる移動前後の移動領域の座標を読み出す。そして、移動領域重複判定部５１２は、移動前の移動領域を上下左右に所定幅Δだけ拡大した領域と、移動後の移動領域を上下左右に所定幅Δだけ拡大した領域とが少なくとも一部で重なるかどうかを調べる。その後、移動領域重複判定部５１２は、重なる場合には移動領域の重複ありの判定結果を、重ならない場合には移動領域の重複なしの判定結果を分割部５１３に通知する。ここで、所定幅Δは、移動領域の検出不足の生じる程度に応じて事前に設定される。【０１６２】
分割部５１３は、移動領域有無判定部５１２から移動領域が検出されなかった旨の通知を受けた場合、および移動領域重複判定部５１２から移動領域の重複なしの通知を受けた場合、画面全体を１つの更新領域検出域に設定する（ステップＳ６２３）。他方、移動領域有無判定部５１２から移動領域が検出された旨の通知を受けると共に、移動領域重複判定部５１２から移動領域の重複ありの通知を受けた場合、第３の実施例の分割部５０２の第１の処理例および第２の処理例の何れかと同じように画面を３分割または５分割して更新領域検出域を設定する（ステップＳ６２４、Ｓ６２５）。その後、更新領域検出域毎に更新領域検出部１２５による更新領域の検出が行われる。【０１６３】
この第４の実施例の更新領域検出域設定部１２４によれば、移動前後の移動領域が重なっている可能性がない場合には画面を分割しないので、更新領域の分割数の増加を抑えることができる。【０１６４】
（４）更新領域検出部１２５
図４２を参照すると、更新領域検出部１２５の第１の実施例は、画素比較部６０１および更新領域抽出部６０２から構成され、更新領域検出域設定部１２４により設定された各々の更新領域検出域毎に、動き補償後の参照フレームと現フレームとの差分領域である更新領域を検出する。画素比較部６０１および更新領域抽出部６０２は、概ね以下のような機能を有する。【０１６５】
画素比較部６０１は、処理対象とする更新領域検出域毎に、動き補償後の参照フレームと現フレームとにおける同じ位置の画素の値の差分を、第１の閾値および第１の閾値よりも大きな値の第２の閾値と比較する機能を有する。【０１６６】
更新領域抽出部６０２は、処理対象とする更新領域検出域毎に、第１の閾値より大きな差分が検出された画素の塊のうち、第２の閾値より大きな差分が検出された画素を含む塊を更新領域として抽出する機能を有する。【０１６７】
次に本実施例の更新領域検出部１２５の動作を説明する。【０１６８】
更新領域検出部１２５は、更新領域検出域設定部１２４が設定した更新領域検出域の情報を作業域１１３から読み出し、そのうちの１つの更新領域検出域に注目する（図４３のステップＳ７０１）。次に、注目中の更新領域検出域から更新領域の抽出を行い、抽出結果を作業域１１３に保存する（ステップＳ７０２）。更新領域検出部１２５は、１つの更新領域検出域からの更新領域の抽出処理を終えると、次の１つの更新領域検出域に注目を移し（ステップＳ７０３）、上述した処理と同様の処理を繰り返す。全ての更新領域検出域からの更新領域の抽出処理を終えると（ステップＳ７０４でＹＥＳ）、図４３の処理を終える。【０１６９】
次にステップＳ７０２で実行される処理について、図４４Ａ及び図４４Ｂのフローチャートを参照して詳細に説明する。【０１７０】
まず更新領域検出部１２５は、更新領域の抽出処理に使用する上端バッファ、下端バッファおよびフラグバッファの初期化を行う（ステップＳ７１１）。各バッファはフレームの各列に１対１に対応するエントリを有する。このうち、上端バッファは、第１の閾値より大きな差分が検出された最上位行の行番号を各列毎に保持するために使用し、下端バッファは、第１の閾値より大きな差分が検出された最下位行の行番号を各列毎に保持するために使用する。また、フラグバッファは、第２の閾値より大きな差分が検出されたか否かを示すフラグを各列毎に保持する。【０１７１】
以降、更新領域検出部１２５の画素比較部６０１によって以下のような処理が実行される。【０１７２】
まず画素比較部６０１は、動き補償後の参照フレームと現フレームとの更新領域検出域に含まれる複数の画素のペアのうち、先頭の画素のペアに注目する（Ｓ７１２）。例えば、図４５に示すように、注目中の更新領域検出域がフレームの１行目から始まる場合、動き補償後の参照フレームの画素Ｐ（０，０）と現フレームの画素Ｐ（０，０）のペアに注目する。【０１７３】
次に画素比較部６０１は、注目中の画素のペアの画素値の差分を計算する（ステップＳ７１３）。次に、差分を第１の閾値と比較し（ステップＳ７１４）、差分が第１の閾値より大きければ、上端バッファおよび下端バッファを更新する（ステップＳ７１５）。具体的には、上端バッファについては、注目中の画素が位置する列に対応する上端バッファのエントリがＮＵＬＬであれば当該エントリに注目中の画素が位置する行の番号を記録し、ＮＵＬＬでなく既に行番号が記録されていればそのままにする。他方、下端バッファについては、注目中の画素が位置する列に対応する下端バッファのエントリに無条件に注目中の画素が位置する行の番号を記録する。【０１７４】
次に画素比較部６０１は、差分を第２の閾値と比較し（ステップＳ７１６）、差分が第２の閾値より大きければ、フラグバッファを更新する（ステップＳ７１７）。具体的には、注目中の画素が位置する列に対応するフラグバッファのエントリに無条件に１を記録する。【０１７５】
次に画素比較部６０１は、双方のフレームにおける同じ行の次の列の画素のペアに注目を移し（ステップＳ７１８）、ステップＳ７１３に戻る。差分が第１の閾値より大きくない場合、上端バッファおよび下端バッファの更新は行わない。また、差分が第１の閾値より大きくても第２の閾値より大きくなければ、フラグバッファの更新は行わない。【０１７６】
ここで、画素値の差分の計算は、例えばＲ、Ｇ、Ｂの各成分毎に行う。また、第１および第２の閾値との比較は、各成分の差分毎に行い、少なくとも１つの成分の差分が閾値より大きければ、画素値の差分が閾値より大きいと判定する。【０１７７】
その後、画素比較部６０１は、注目中の更新領域検出域の１行分の画素のペアについての処理を終える（ステップＳ７１９でＹＥＳ）。そして、画素比較部６０１は、処理の開始時点または更新領域抽出部６０２を過去に呼び出していれば前回の呼び出し時点から第１の閾値より大きな差分が全く検出されなかった行の連続数、つまり非更新行の連続数をカウントする（ステップＳ７２０）。続いて、画素比較部６０１は、予め設定された閾値Ｌと非更新行の連続数とを比較する（ステップＳ７２１）。ここで、閾値Ｌは更新領域の過分割を避けるために１以上の値（例えば８）に設定される。もし、非更新行の連続数が閾値Ｌを超えていれば、更新領域抽出範囲の先頭行と最終行とを指定して、更新領域抽出部６０２を呼び出し、列分割による更新領域の検出処理を行わせる（ステップＳ７２２）。更新領域の抽出範囲の先頭行は、更新領域抽出部６０２を過去に呼び出していなければフレームの先頭行であり、呼び出していれば、前回の呼び出し時に指定した最終行の次の行である。また、更新領域の抽出範囲の最終行は、現時点において最後の列の画素の処理を終えた行である。【０１７８】
画素比較部６０１は、更新領域抽出部６０２の処理が完了すると、フレームの次の行の先頭の画素のペアに注目を移し（ステップＳ７２３）、ステップＳ７１３に戻る。【０１７９】
なお、画素比較部６０１は、非更新行の連続数が閾値Ｌを超えていなければ、更新領域抽出部６０２は呼び出さずに、フレームの次の行の先頭の画素のペアに注目を移し（ステップＳ７２３）、ステップＳ７１３に戻る。【０１８０】
さらに、画素比較部６０１は、注目中の更新領域検出域の最後の行の最後の画素のペアまで処理を終える（ステップＳ７２４でＹＥＳ）。そして、画素比較部６０１は、処理の開始時点または更新領域抽出部６０２を過去に呼び出していれば前回の呼び出し時点から後に第１の閾値より大きな差分が検出された行が存在したかどうかを判定する（ステップＳ７２５）。ここで、存在しなかった場合には図４４Ａ及び図４４Ｂの処理を終了する。また、存在した場合には、更新領域抽出範囲の先頭行と最終行とを指定して、更新領域抽出部６０２を呼び出し（ステップＳ７２６）、列分割による更新領域の検出処理の完了後に図４４Ａ及び図４４Ｂの処理を終了する。更新領域の抽出範囲の先頭行は、更新領域抽出部６０２を過去に呼び出していなければフレームの先頭行であり、呼び出していれば、前回の呼び出し時に指定した最終行の次の行である。また更新領域の抽出範囲の最終行はフレームの最終行である。【０１８１】
図４５の上側に描いたマトリクスは、動き補償後の参照フレームと現フレームとの差分状況の一例を示しており、１つの枡目が１つの画素のペアの差分状況を示す。また、空白の枡目は差分が第１の閾値よりも小さいことを、ハッチングを施した枡目は差分が第１の閾値より大きく第２の閾値より小さいことを、黒く塗りつぶした枡目は差分が第２の閾値より大きいことをそれぞれ示す。このような状況の下に、フレームの９行目までの範囲について画素比較部６０１で上述したような動作が行われると、上端バッファ、下端バッファおよびフラグバッファには、図４５の下側に示すような内容が記録される。ここで、上端バッファおよび下端バッファ中の数値は行の番号を示し、記号「−」はＮＵＬＬを示す。また、フラグバッファ中の０、１はフラグの値を示し、第２の閾値を超えたことは値１で示される。そして、上記閾値Ｌを例えば３行とすると、９行目までの処理を終えた時点で非更新行の連続数が４となり、閾値Ｌを超えるので、更新領域抽出部６０２が呼び出されることになる。【０１８２】
次に、更新領域抽出部６０２が実行する列分割による更新領域の検出処理について、図４６のフローチャートを参照して説明する。【０１８３】
更新領域抽出部６０２は、上端バッファまたは下端バッファを参照して、今回の呼び出しで指定された更新領域抽出範囲から更新列（差分画素が存在した列のまとまり）と非更新列（差分画素が存在しなかった列のまとまり）を抽出する（ステップＳ７３１）。例えば図４５の場合、上端バッファのエントリを列０から順に参照すると、ＮＵＬＬが１つ連続しているので、０列を非更新列（０−０）として抽出し、次に数値が記録されたエントリが５つ連続しているので、１列から５列までを更新列（１−５）として抽出する。以下同様に、非更新列（６−７）、更新列（８−９）、非更新列（１０−１４）、更新列（１５−１６）等を抽出する。【０１８４】
次に更新領域抽出部６０２は、更新領域の過分割を避けるために、所定列数Ｗ以下の非更新列を間にして互いに隣接する更新列を１つの更新列に結合する（ステップＳ７３２）。例えば、Ｗを３とすると、図４５の場合、更新列（１−５）と更新列（８−９）は更新列（１−９）として結合される。【０１８５】
次に更新領域抽出部６０２は、フラグバッファを参照して、フラグの値が全て０の更新列を非更新列に変更する（ステップＳ７３３）。例えば図４５の場合、結合後の更新列（１−９）についてフラグバッファ中の列１〜列９に対応するフラグを参照すると、値１が含まれているので、更新列（１−９）はそのままとする。他方、更新列（１５−１６）についてフラグバッファ中の列１５−１６に対応するフラグを参照すると、すべて値０なので、更新列（１５−１６）はノイズによって生じた可能性が高いと判断して非更新列に変更される。【０１８６】
次に更新領域抽出部６０２は、各更新列毎に、差分画素が発生する最上端と最下端の行を調べ、その更新列の左端と右端と合わせて、更新領域を定める更新矩形を確定する（ステップＳ７３４）。この処理により、更新列（１−９）については、上端バッファを参照すると最上端は２、下端バッファを参照すると最下端は５、その更新列の左端は１、右端は９なので、更新矩形を左上および右下の端点で規定する場合、左上端点（２，１）、右下端点（５，９）として求められる。こうして求められた更新領域の情報（更新矩形の座標）は、更新領域検出結果の一部として作業域１１３に記録される。【０１８７】
次に更新領域抽出部６０２は、上端バッファ、下端バッファおよびフラグバッファの初期化を行い（ステップＳ７３５）、図４６の処理を終了する。なお、図４６の処理では、所定列数Ｗ以下の非更新列を間にして互いに隣接する更新列を１つの更新列に結合した後、第２の閾値を超える画素が存在しない更新列を非更新列に変更した。しかし、それとは逆に、第２の閾値を超える画素が存在しない更新列を非更新列に変更した後、所定列数Ｗ以下の非更新列を間にして互いに隣接する更新列を１つの更新列に結合する処理を行うようにしても良い。【０１８８】
次に本実施例の更新領域検出部１２５の効果を説明する。【０１８９】
本実施例の更新領域検出部１２５によれば、アナログキャプチャされたコンピュータ画面の更新領域を精度良く検出することができる。その理由は、第１の閾値とそれより大きな第２の閾値との２種類の閾値を使用し、第１の閾値より大きな差分が検出された画素の塊のうち、第２の閾値より大きな差分が検出された画素を含む塊を更新領域として抽出するためである。これにより、第１の閾値だけを使用して更新領域を検出した場合に起こり易い更新領域の過度検出が防止でき、かつ、第２の閾値だけを使用して更新領域を検出した場合に起こり易い更新領域の検出不足が防止できる。【０１９０】
具体的には、例えば動画などのグラデーション部に画素変化があった場合、単一の画素値の変化量だけを参照しても、画素が描画更新されたのか、アナログキャプチャに伴うノイズによる画素値変動なのかを識別することは難しい。こうした理由から単一の閾値では、動画において更新領域の検出に失敗する場合があった。例えば、画面中央の動画ウィンドウのみが前後フレーム１、２で更新されている図４７に示す実験例では、更新領域として中央の動画ウィンドウ全体が検出されることが望ましい。しかし、小さな値の閾値だけを使用すると、図４７の左下に示すように検出領域が過大となり、逆に大きな値の閾値だけを使用すると、図４７の右下に示すように検出領域が不足した。検出が過大になると、画面更新が僅かな場合にも符号量が増大してしまう。また、検出漏れが複数フレームにわたって発生すると、検出に成功した領域と検出漏れした領域との間で、輝度不連続な境界が知覚されるようになる。【０１９１】
これに対して、差分判定用の閾値を２種類（大と小）設定した本実施例の更新領域検出部１２５によれば、図４８の実験例に示すように、中央の動画ウィンドウ全体を過不足なく更新領域として検出することができた。【０１９２】
また本実施例の更新領域検出部１２５によれば、更新領域検出域内に存在する全ての更新領域に外接する１つの矩形で更新領域を検出する手法に較べて、更新領域を無駄に大きく検出することを防止できる。【０１９３】
また本実施例の更新領域検出部１２５によれば、コンピュータ画面の更新領域を高速に検出することができる。その理由は、フレームの各列について差分画素の上端および下端の座標を保持する上端および下端バッファと、参照フレームと現フレームの画素をラスタスキャン順に比較して、差分が第１の閾値以上となる画素が見つかったら上端および下端バッファの該当列の上端および下端の座標を書き換える画素比較部６０１と、非更新行が所定行連続したら上端および下端バッファを参照して更新領域を確定する更新領域抽出部６０２とを備えており、いわゆる１パス処理で更新領域の検出が行えるためである。【０１９４】
以上、本発明の更新領域検出装置を映像信号符号化装置に適用した実施の形態及び実施例について説明したが、本発明は、上述した実施の形態及び実施例に限定されるものではない。本発明の構成や詳細には、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。【０１９５】
尚、本発明の他の実施の形態には、以下のものも含まれる。
（付記１）
前フレームと現フレームとにおける同じ位置の画素の値の差分を第１の閾値および該第１の閾値よりも大きな値の第２の閾値と比較する画素比較手段と、
前記第１の閾値より大きな差分が検出された画素の塊のうち、第２の閾値より大きな差分が検出された画素を含む塊を更新領域として抽出する更新領域抽出手段とを備えることを特徴とする更新領域検出装置。
（付記２）
前記更新領域抽出手段は、前記画素の塊に外接する矩形を更新領域とすることを特徴とする付記１に記載の更新領域検出装置。
（付記３）
前記画素比較手段は、前フレームと現フレームの画素を１行ずつ順に比較して、各列毎に、第１の閾値より大きな差分が検出された上端の行座標と下端の行座標を記録すると共に当該上端と当該下端の間で第２の閾値より大きな差分が検出された画素が存在したか否かを記録し、
前記更新領域抽出手段は、第１の閾値より大きな差分が検出されなかった行が所定行数連続した時点で、前記画素比較手段による記録を参照して、第１の閾値より大きな差分が検出された列のまとまりであって第２の閾値より大きな差分が検出された画素を含む更新列を抽出し、該抽出した更新列毎に、第１の閾値より大きな差分が検出された最上端の行座標と最下端の行座標、および当該更新列の左端の列座標と右端の列座標とから規定される矩形を更新領域として確定する処理を行うことを特徴とする付記１に記載の更新領域検出装置。
（付記４）
第１の閾値より大きな差分が検出された列のまとまりとは、第１の閾値より大きな差分が検出された列が隣接しているか、直接隣接していなくても、第１の閾値より大きな差分が検出されなかった所定数以下の列を間にして隣接している列のまとまりであることを特徴とする付記３に記載の更新領域検出装置。
（付記５）
第１の閾値より大きな差分が検出された行座標を各列毎に保持するための上端バッファと、第１の閾値より大きな差分が検出された行座標を各列毎に保持するための下端バッファと、第２の閾値より大きな差分が検出されたか否かを示すフラグを各列毎に保持するフラグバッファとを備え、
前記画素比較手段は、前フレームと現フレームの画素をスキャン順に比較して、差分が第１の閾値より大きい画素が見つかったら前記上端バッファおよび前記下端バッファにおける該当列の行座標を書き換えると共に、前記差分が第２の閾値より大きければ前記フラグバッファの該当列のフラグをセットし、
前記更新領域抽出手段は、第１の閾値より大きな差分が検出されなかった行が所定行連続した時点で、前記上端バッファ、前記下端バッファおよび前記フラグバッファを参照して更新領域を確定する前記処理を行うことを特徴とする付記４に記載の更新領域検出装置。
（付記６）
ａ）画素比較手段が、前フレームと現フレームとにおける同じ位置の画素の値の差分を第１の閾値および該第１の閾値よりも大きな値の第２の閾値と比較するステップと、
ｂ）更新領域抽出手段が、前記第１の閾値より大きな差分が検出された画素の塊のうち、第２の閾値より大きな差分が検出された画素を含む塊を更新領域として抽出するステップとを含むことを特徴とする更新領域検出方法。
（付記７）
前記更新領域抽出手段は、前記画素の塊に外接する矩形を更新領域とすることを特徴とする付記６に記載の更新領域検出方法。
（付記８）
前記画素比較手段は、前フレームと現フレームの画素を１行ずつ順に比較して、各列毎に、第１の閾値より大きな差分が検出された上端の行座標と下端の行座標を記録すると共に当該上端と当該下端の間で第２の閾値より大きな差分が検出された画素が存在したか否かを記録し、
前記更新領域抽出手段は、第１の閾値より大きな差分が検出されなかった行が所定行数連続した時点で、前記画素比較手段による記録を参照して、第１の閾値より大きな差分が検出された列のまとまりであって第２の閾値より大きな差分が検出された画素を含む更新列を抽出し、該抽出した更新列毎に、第１の閾値より大きな差分が検出された最上端の行座標と最下端の行座標、および当該更新列の左端の列座標と右端の列座標とから規定される矩形を更新領域として確定する処理を行うことを特徴とする付記６に記載の更新領域検出方法。
（付記９）
第１の閾値より大きな差分が検出された列のまとまりとは、第１の閾値より大きな差分が検出された列が隣接しているか、直接隣接していなくても、第１の閾値より大きな差分が検出されなかった所定数以下の列を間にして隣接している列のまとまりであることを特徴とする付記８に記載の更新領域検出方法。
（付記１０）
第１の閾値より大きな差分が検出された行座標を各列毎に保持するための上端バッファと、第１の閾値より大きな差分が検出された行座標を各列毎に保持するための下端バッファと、第２の閾値より大きな差分が検出されたか否かを示すフラグを各列毎に保持するフラグバッファとを備え、
前記画素比較手段は、前フレームと現フレームの画素をスキャン順に比較して、差分が第１の閾値より大きい画素が見つかったら前記上端バッファおよび前記下端バッファにおける該当列の行座標を書き換えると共に、前記差分が第２の閾値より大きければ前記フラグバッファの該当列のフラグをセットし、
前記更新領域抽出手段は、第１の閾値より大きな差分が検出されなかった行が所定行連続した時点で、前記上端バッファ、前記下端バッファおよび前記フラグバッファを参照して更新領域を確定する前記処理を行うことを特徴とする付記９に記載の更新領域検出方法。
（付記１１）
コンピュータを、
前フレームと現フレームとにおける同じ位置の画素の値の差分を第１の閾値および該第１の閾値よりも大きな値の第２の閾値と比較する画素比較手段と、
前記第１の閾値より大きな差分が検出された画素の塊のうち、第２の閾値より大きな差分が検出された画素を含む塊を更新領域として抽出する更新領域抽出手段として機能させるための更新領域検出プログラムを前記コンピュータに読取可能に記録するプログラム記録媒体。
（付記１２）
前記更新領域抽出手段は、前記画素の塊に外接する矩形を更新領域とすることを特徴とする付記１１に記載の更新領域検出プログラムを記録するプログラム記録媒体。
（付記１３）
前記画素比較手段は、前フレームと現フレームの画素を１行ずつ順に比較して、各列毎に、第１の閾値より大きな差分が検出された上端の行座標と下端の行座標を記録すると共に当該上端と当該下端の間で第２の閾値より大きな差分が検出された画素が存在したか否かを記録し、
前記更新領域抽出手段は、第１の閾値より大きな差分が検出されなかった行が所定行数連続した時点で、前記画素比較手段による記録を参照して、第１の閾値より大きな差分が検出された列のまとまりであって第２の閾値より大きな差分が検出された画素を含む更新列を抽出し、該抽出した更新列毎に、第１の閾値より大きな差分が検出された最上端の行座標と最下端の行座標、および当該更新列の左端の列座標と右端の列座標とから規定される矩形を更新領域として確定する処理を行うことを特徴とする付記１１に記載の更新領域検出プログラムを記録するプログラム記録媒体。
（付記１４）
第１の閾値より大きな差分が検出された列のまとまりとは、第１の閾値より大きな差分が検出された列が隣接しているか、直接隣接していなくても、第１の閾値より大きな差分が検出されなかった所定数以下の列を間にして隣接している列のまとまりであることを特徴とする付記１３に記載の更新領域検出プログラムを記録するプログラム記録媒体。
（付記１５）
前記コンピュータは、第１の閾値より大きな差分が検出された行座標を各列毎に保持するための上端バッファと、第１の閾値より大きな差分が検出された行座標を各列毎に保持するための下端バッファと、第２の閾値より大きな差分が検出されたか否かを示すフラグを各列毎に保持するフラグバッファとを備え、
前記画素比較手段は、前フレームと現フレームの画素をスキャン順に比較して、差分が第１の閾値より大きい画素が見つかったら前記上端バッファおよび前記下端バッファにおける該当列の行座標を書き換えると共に、前記差分が第２の閾値より大きければ前記フラグバッファの該当列のフラグをセットし、
前記更新領域抽出手段は、第１の閾値より大きな差分が検出されなかった行が所定行連続した時点で、前記上端バッファ、前記下端バッファおよび前記フラグバッファを参照して更新領域を確定する前記処理を行うことを特徴とする付記１４に記載の更新領域検出プログラムを記録するプログラム記録媒体。
（付記１６）
前フレームと現フレームを比較して移動ベクトルを検出する移動ベクトル検出手段と、
前フレームと現フレームとの何れにも存在する同一または類似の画像領域であって、画面上での位置が前記移動ベクトル検出手段で検出された移動ベクトルだけ変化している画像領域を移動領域として検出する移動領域検出手段と、
前記移動領域検出手段で検出された移動領域を前フレーム上の移動ベクトルが示す移動先に複写する動き補償手段と、
動き補償後の前フレームと現フレームとが相違する領域を更新領域として検出する更新領域検出手段と、
前記更新領域検出手段で検出された更新領域を画像として符号化する領域符号化手段とを備えた映像信号符号化装置であって、
前記更新領域検出手段として、付記１に記載の更新領域検出装置を使用した映像信号符号化装置。
（付記１７）
前記更新領域検出手段が更新領域を検出する更新領域検出域を、フレーム上に設定する更新領域検出域設定手段を備えることを特徴とする付記１６に記載の映像信号符号化装置。【０１９６】
この出願は、２００８年２月１４日に出願された日本出願特願２００８−０３３０４３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１９７】
本発明は、シン・クライアント・システムにおけるサーバ装置として広く適用することができる。また、本発明の更新領域検出装置は符号化以外にも移動物体の検出など各種の分野に利用することが可能である。
【図１】
0005446878.tif 000002
【図２】
0005446878.tif 000003
【図３】
0005446878.tif 000004
【図４】
0005446878.tif 000005
【図５】
0005446878.tif 000006
【図６】
0005446878.tif 000007
【図７】
0005446878.tif 000008
【図８】
0005446878.tif 000009
【図９】
0005446878.tif 000010
【図１０】
0005446878.tif 000011
【図１１】
0005446878.tif 000012
【図１２】
0005446878.tif 000013
【図１３】
0005446878.tif 000014
【図１４Ａ】
0005446878.tif 000015
【図１４Ｂ】
0005446878.tif 000016
【図１５】
0005446878.tif 000017
【図１６Ａ】
0005446878.tif 000018
【図１６Ｂ】
0005446878.tif 000019
【図１７】
0005446878.tif 000020
【図１８】
0005446878.tif 000021
【図１９Ａ】
0005446878.tif 000022
【図１９Ｂ】
0005446878.tif 000023
【図２０】
0005446878.tif 000024
【図２１】
0005446878.tif 000025
【図２２】
0005446878.tif 000026
【図２３】
0005446878.tif 000027
【図２４】
0005446878.tif 000028
【図２５】
0005446878.tif 000029
【図２６】
0005446878.tif 000030
【図２７】
0005446878.tif 000031
【図２８】
0005446878.tif 000032
【図２９】
0005446878.tif 000033
【図３０】
0005446878.tif 000034
【図３１】
0005446878.tif 000035
【図３２】
0005446878.tif 000036
【図３３】
0005446878.tif 000037
【図３４】
0005446878.tif 000038
【図３５】
0005446878.tif 000039
【図３６】
0005446878.tif 000040
【図３７】
0005446878.tif 000041
【図３８】
0005446878.tif 000042
【図３９】
0005446878.tif 000043
【図４０】
0005446878.tif 000044
【図４１】
0005446878.tif 000045
【図４２】
0005446878.tif 000046
【図４３】
0005446878.tif 000047
【図４４Ａ】
0005446878.tif 000048
【図４４Ｂ】
0005446878.tif 000049
【図４５】
0005446878.tif 000050
【図４６】
0005446878.tif 000051
【図４７】
0005446878.tif 000052
【図４８】
0005446878.tif 000053