(57)【要約】  除去領域検出手段は、全更新ブロックの外接矩形から、矩形の無更新領域を検出する。更新領域分割手段は、全更新ブロックの外接矩形を、上記検出された無更新領域を含まない２以上の矩形の更新領域に分割する。分割処理制御手段は、分割後の更新領域の数が閾値を超えていなければ、分割後の更新領域に対して上記除去領域検出手段による処理を再帰的に適用し、また検出された無更新領域に基づいて上記更新領域分割手段による処理を再帰的に適用する。分割処理制御手段は、除去領域検出手段で新たな無更新領域が検出されなくなるか、または、更新領域の数が閾値を超えることになるか、何れか早く成立した方を条件として、更新領域の分割処理の繰り返しを終了する。
2014017003.tif 000002
【特許請求の範囲】
【請求項１】
入力映像の現フレームと前フレームとにおける同じ位置の画素の画素値を比較し、フレームをブロック状に分割したブロックのうち、画素値が変化した画素を含むブロックを更新ブロックとして検出する更新ブロック検出手段と、
前記更新ブロック検出手段で検出された全ての更新ブロックの外接矩形領域を一つの更新領域として更新領域記憶手段に登録する初期更新領域登録手段と、
前記更新領域記憶手段に記憶されている１以上の前記更新領域の中から、画素値が変化した画素を含まないブロックが１以上連続して矩形を形成している無更新領域を検出する除去領域検出手段と、
前記除去領域検出手段で検出された前記無更新領域を有する前記更新領域を、前記無更新領域を含まない２以上の矩形である新たな前記更新領域に分割する更新領域分割手段と、
前記分割前の前記更新領域を前記更新領域記憶手段から削除し、分割後の前記更新領域を前記更新領域記憶手段に追加登録する更新領域リスト書換手段と、
前記除去領域検出手段と前記更新領域分割手段と前記更新領域リスト書換手段とによる前記更新領域の分割処理の繰り返しを制御し、前記除去領域検出手段で新たな前記無更新領域が検出されなくなるか、または、前記追加登録後の前記更新領域記憶手段に記憶されている前記更新領域の数が閾値を超えることになるか、何れか早く成立した方を条件として、前記分割処理の繰り返しを終了する分割処理制御手段と
を有する更新領域検出装置。
【請求項２】
前記分割処理の繰り返しの終了後、前記更新領域記憶手段に記憶されている全ての更新領域に対して、当該更新領域の上下左右の各境界ラインについて、前フレームと現フレームとの間で画素値を比較し、ライン内に差分が見つかるまで境界を１ラインずつ当該更新領域の内部方向に縮小する更新領域境界調整手段を更に備える
請求項１に記載の更新領域検出装置。
【請求項３】
前記更新領域分割手段は、分割対象となる前記更新領域の幅が高さよりも大きければ左右への分割を優先し、幅が高さよりも小さければ上下への分割を優先するよう、前記更新領域の分割を行う
請求項１または２に記載の更新領域検出装置。
【請求項４】
前記除去領域検出手段は、面積が最大の前記無更新領域を検出する
請求項１乃至３の何れかに記載の更新領域検出装置。
【請求項５】
前記除去領域検出手段は、面積が下限値を超える前記無更新領域を検出する
請求項１乃至４の何れかに記載の更新領域検出装置。
【請求項６】
前記除去領域検出手段は、面積が下限値を超える前記無更新領域を検出し、前記下限値は、前記分割処理の繰り返しの進行に応じて、より小さな値に変更する
請求項１乃至５の何れかに記載の更新領域検出装置。
【請求項７】
前記除去領域検出手段は、前記更新領域毎に、当該更新領域に含まれるＮ×Ｎブロック（Ｎは１以上の整数）の前記無更新領域のうちＮが最大となるものを検出し、最終的に、全更新領域でＮが最大となる前記無更新領域を検出する
請求項１乃至６の何れかに記載の更新領域検出装置。
【請求項８】
前記除去領域検出手段は、前記更新領域毎に、当該更新領域に含まれるＮ×Ｎブロック（Ｎは１以上の整数）の前記無更新領域のうちＮが最大となるものを検出し、該検出した前記無更新領域の上下左右を１ブロック幅ずつ拡大できるかどうかを試行してＭ×Ｌブロック（Ｍ≧Ｎ，Ｌ≧Ｎ）の前記無更新領域を検出し、最終的に、全更新領域でＭ×Ｌが最大となる前記無更新領域を検出する
請求項１乃至７の何れかに記載の更新領域検出装置。
【請求項９】
前記分割処理の繰り返しの終了後、前記更新領域記憶手段に記憶されている前記更新領域に関する情報を出力する更新領域情報出力手段を更に有する
請求項１に記載の更新領域検出装置。
【請求項１０】
前記更新領域境界調整手段による処理の終了後、前記更新領域記憶手段に記憶されている前記更新領域に関する情報を出力する更新領域情報出力手段を更に有する
請求項２に記載の更新領域検出装置。
【請求項１１】
前記分割処理の繰り返しの終了後、前記現フレームの画像のうち、前記更新領域記憶手段に記憶されている前記更新領域の画像を符号化して出力する符号化手段を更に有する
請求項１に記載の更新領域検出装置。
【請求項１２】
前記更新領域境界調整手段による処理の終了後、前記現フレームの画像のうち、前記更新領域記憶手段に記憶されている前記更新領域の画像を符号化して出力する符号化手段を更に有する
請求項２に記載の更新領域検出装置。
【請求項１３】
入力映像の現フレームと前フレームとにおける同じ位置の画素の画素値を比較し、フレームをブロック状に分割したブロックのうち、画素値が変化した画素を含むブロックを更新ブロックとして検出する更新ブロック検出工程と、
前記検出された全ての更新ブロックの外接矩形領域を一つの更新領域として更新領域記憶手段に登録する初期更新領域登録工程と、
前記更新領域記憶手段に記憶されている１以上の前記更新領域の中から、画素値が変化した画素を含まないブロックが１以上連続して矩形を形成している無更新領域を検出する除去領域検出工程と、
前記検出された前記無更新領域を有する前記更新領域を、前記無更新領域を含まない２以上の矩形である新たな前記更新領域に分割する更新領域分割工程と、
前記分割前の前記更新領域を前記更新領域記憶手段から削除し、分割後の前記更新領域を前記更新領域記憶手段に追加登録する更新領域リスト書換工程と、
前記除去領域検出工程と前記更新領域分割工程と前記更新領域リスト書換工程との繰り返しを制御し、前記除去領域検出工程で新たな前記無更新領域が検出されなくなるか、または、前記追加登録後の前記更新領域記憶手段に記憶されている前記更新領域の数が閾値を超えることになるか、何れか早く成立した方を条件として、前記分割処理の繰り返しを終了する分割処理制御工程と
を有する更新領域検出方法。
【請求項１４】
記憶装置を有するコンピュータを、
入力映像の現フレームと前フレームとにおける同じ位置の画素の画素値を比較し、フレームをブロック状に分割したブロックのうち、画素値が変化した画素を含むブロックを更新ブロックとして検出する更新ブロック検出手段と、
前記更新ブロック検出手段で検出された全ての更新ブロックの外接矩形領域を一つの更新領域として前記記憶装置に登録する初期更新領域登録手段と、
前記記憶装置に記憶されている１以上の前記更新領域の中から、画素値が変化した画素を含まないブロックが１以上連続して矩形を形成している無更新領域を検出する除去領域検出手段と、
前記除去領域検出手段で検出された前記無更新領域を有する前記更新領域を、前記無更新領域を含まない２以上の矩形である新たな前記更新領域に分割する更新領域分割手段と、
前記分割前の前記更新領域を前記記憶装置から削除し、分割後の前記更新領域を前記記憶装置に追加登録する更新領域リスト書換手段と、
前記除去領域検出手段と前記更新領域分割手段と前記更新領域リスト書換手段とによる前記更新領域の分割処理の繰り返しを制御し、前記除去領域検出手段で新たな前記無更新領域が検出されなくなるか、または、前記追加登録後の前記記憶装置に記憶されている前記更新領域の数が閾値を超えることになるか、何れか早く成立した方を条件として、前記分割処理の繰り返しを終了する分割処理制御手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は更新領域検出装置に関し、特にコンピュータ画面等の描画データの前後フレームから更新領域を検出する更新領域検出装置、更新領域検出方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータの端末装置からの情報の漏洩の防止と端末側でのアプリケーション管理の容易性を図るため等を目的として、端末装置にて入出力および表示される全てのアプリケーションをサーバ装置で実行させ、これに伴う全ての生成ファイルもサーバ装置で管理するようにしたシン・クライアント・システムが導入されるようになってきた。【０００３】
このようなシン・クライアント・システムでは、サーバ装置で実行されるアプリケーションプログラムの描画データが、ＬＡＮなどのネットワークを通じてクライアント側の端末装置へ転送され、端末装置の画面に表示される。このため、描画データの処理量が大きくなったり、サーバ装置に接続される端末装置の台数が多くなったりすると、描画データを端末装置に転送するためのサーバ装置の負荷が増大し、応答時間の低下や端末装置の接続台数の大幅な制限などの問題が生じる。【０００４】
そこで、ソフトウェアによる描画データの表示制御技術として、１画面内で描画更新された描画データ部分を含む矩形の描画領域のみを切り出し、さらにこれを必要に応じて圧縮して転送することで、コンピュータ画面の描画データの転送に伴うデータ量を削減してサーバ装置の負荷を軽減することが考えられている。【０００５】
更新領域の検出方法は様々提案されている。例えば特許文献１には、画面をブロック分割し、画素差分を含むブロックのみ画像を伝送する方式が記載されている。また、例えば特許文献２の「背景技術」の項には、前フレームとの差分値が検出された領域を全て含む最小の矩形領域に含まれる画像を伝送する方式が記載されている。【０００６】
さらに、例えば特許文献２の「発明を実施するための最良の形態」の項には、以下のような更新領域検出手法が記載されている。まず、画面をブロックに分割し、ブロック毎に、前フレームとの差分値が検出された領域を全て含む最小の矩形領域を検出する。次に、横または縦方向に隣接するブロックが共に上記矩形領域を有し、それらの矩形領域が横または縦方向で接している場合、その横または縦方向に隣接する上記ブロックの矩形領域がともに含まれるような最小の矩形領域を更新領域とする。【０００７】
他方、特許文献３には、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する手法が記載されている。また、特許文献４には、画像中に存在する複数の領域の中から、１つの領域内に留まる面積最大の矩形を検出する手法が記載されている。しかし、これらの特許文献３、４には、描画データの前後フレームから更新領域を検出する処理への適用の示唆はない。また、上述した特許文献１および２には、描画データの前後フレームから更新領域を検出する際に、領域を複数の矩形領域に分割すること、および１つの領域内に留まる面積最大の矩形を検出することを示唆する記載はない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−０１７４１４号公報
【特許文献２】特開２００５−０３３７６３号公報
【特許文献３】特開２０００−０２０５６６号公報
【特許文献４】特開２００７−１４０５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載されるように、画素値が変化した画素を含むブロックの集合を更新領域にすると、更新領域を特定するためには画素値が変化した画素を含む全てのブロックについてその座標値を記述しなければならない。このため、更新領域を特定するために伝送しなければならないデータ量が増大し、結果として、伝送データ量を削減するのが困難になる。【００１０】
また、特許文献２の「背景技術」の項に記載されるように、画素値が変化した全ての画素を含む矩形を更新領域にすると、画素値の変化した画素が遠く離れている場合に、画素値の変化していない大きな領域が更新領域内に組み込まれてしまう。このため、画像として符号化される面積が増大し、伝送データ量を削減するのが困難になる。【００１１】
さらに、特許文献２の「発明を実施するための最良の形態」の項に記載されるように、ブロック毎に、前フレームとの差分値が検出された領域を全て含む最小の矩形領域を検出し、横または縦方向に隣接するブロックが共に上記矩形領域を有し、それらの矩形領域が横または縦方向で接している場合に、その横または縦方向に隣接する上記ブロックの矩形領域がともに含まれるような最小の矩形領域を更新領域とする方法では、画素値の変化していない大きな領域が更新領域に組み込まれてしまうケースが発生する。具体的には、画面内で、四角い枠のような形状で画素差分が発生した場合、特許文献２の上記手法では枠の外接矩形が更新領域として検出される。この結果、枠の内部の、画素値の変化していない領域が更新領域に含まれてしまうことになる。【００１２】
本発明の目的は、上述した課題、すなわち、画素値が変化した画素を含むブロックの集合を更新領域とする場合には更新領域の座標を示すためのデータ量が増大し、画素値が変化した画素を含む全てのブロックの外接矩形を更新領域とする場合には更新領域のサイズが無駄に大きくなり、ブロック毎に更新領域を検出し、縦または横につながる更新領域はそれらの外接矩形に統合する場合には画素値の変化していない大きな領域が更新領域に組み込まれてしまうケースが発生する、という課題を解決する更新領域検出装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一形態にかかる更新領域検出装置は、
入力映像の現フレームと前フレームとにおける同じ位置の画素の画素値を比較し、フレームをブロック状に分割したブロックのうち、画素値が変化した画素を含むブロックを更新ブロックとして検出する更新ブロック検出手段と、
上記更新ブロック検出手段で検出された全ての更新ブロックの外接矩形領域を一つの更新領域として更新領域記憶手段に登録する初期更新領域登録手段と、
上記更新領域記憶手段に記憶されている１以上の上記更新領域の中から、画素値が変化した画素を含まないブロックが１以上連続して矩形を形成している無更新領域を検出する除去領域検出手段と、
上記除去領域検出手段で検出された上記無更新領域を有する上記更新領域を、上記無更新領域を含まない２以上の矩形である新たな上記更新領域に分割する更新領域分割手段と、
上記分割前の上記更新領域を上記更新領域記憶手段から削除し、分割後の上記更新領域を上記更新領域記憶手段に追加登録する更新領域リスト書換手段と、
上記除去領域検出手段と上記更新領域分割手段と上記更新領域リスト書換手段とによる上記更新領域の分割処理の繰り返しを制御し、上記除去領域検出手段で新たな上記無更新領域が検出されなくなるか、または、上記追加登録後の上記更新領域記憶手段に記憶されている上記更新領域の数が閾値を超えることになるか、何れか早く成立した方を条件として、上記分割処理の繰り返しを終了する分割処理制御手段と
を有する。【００１４】
また本発明の他の形態にかかる更新領域検出方法は、
入力映像の現フレームと前フレームとにおける同じ位置の画素の画素値を比較し、フレームをブロック状に分割したブロックのうち、画素値が変化した画素を含むブロックを更新ブロックとして検出する更新ブロック検出工程と、
上記検出された全ての更新ブロックの外接矩形領域を一つの更新領域として更新領域記憶手段に登録する初期更新領域登録工程と、
上記更新領域記憶手段に記憶されている１以上の上記更新領域の中から、画素値が変化した画素を含まないブロックが１以上連続して矩形を形成している無更新領域を検出する除去領域検出工程と、
上記検出された上記無更新領域を有する上記更新領域を、上記無更新領域を含まない２以上の矩形である新たな上記更新領域に分割する更新領域分割工程と、
上記分割前の上記更新領域を上記更新領域記憶手段から削除し、分割後の上記更新領域を上記更新領域記憶手段に追加登録する更新領域リスト書換工程と、
上記除去領域検出工程と上記更新領域分割工程と上記更新領域リスト書換工程との繰り返しを制御し、上記除去領域検出工程で新たな上記無更新領域が検出されなくなるか、または、上記追加登録後の上記更新領域記憶手段に記憶されている上記更新領域の数が閾値を超えることになるか、何れか早く成立した方を条件として、上記分割処理の繰り返しを終了する分割処理制御工程と
を有する。
【発明の効果】
【００１５】
本発明は上述した構成を有するため、以下のような効果が得られる。まず、画素値が変化した画素を含むブロックの集合を更新領域とする場合に比べて、更新領域の座標を示すためのデータ量を削減できる。また、画素値が変化した画素を含む全てのブロックの外接矩形を更新領域とする場合に比べて、更新領域のサイズを小さくすることができる。そして、さらに、ブロック毎に更新領域を検出し、縦または横につながる更新領域はそれらの外接矩形に統合する場合に比べて、画素値の変化していない大きな領域を更新領域に組み込んでしまうことがなくなる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第１の実施形態の処理の一例を示すフローチャートである。
【図３】本発明の第２の実施形態における前後フレームの差分領域、更新ブロック、および初期の更新領域の一例を示す図である。
【図４】本発明の第２の実施形態における１回目の更新領域分割処理の説明図である。
【図５】本発明の第２の実施形態における２回目の更新領域分割処理の説明図である。
【図６】本発明の第２の実施形態における更新領域境界調整処理の説明図である。
【図７】本発明の第３の実施形態における３回目の更新領域分割処理の説明図である。
【図８】本発明の第３の実施形態における４回目の更新領域分割処理の説明図である。
【図９】本発明の第３の実施形態における５回目の更新領域分割処理の説明図である。
【図１０】本発明の第３の実施形態における更新領域境界調整処理の説明図である。
【発明を実施するための形態】
【００１７】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の実施の形態は、信号入力装置１１と、データ記憶装置１２と、プログラム制御により動作するデータ処理装置１３と、領域情報出力装置１４とから構成されている。
【００１８】
［構成の説明］
信号入力装置１１は、映像信号を入力するための装置であり、例えば図示しないコンピュータのディスプレイ画面のカラー映像信号をアナログキャプチャあるいはディジタルキャプチャし、データ記憶装置１２に記憶する。キャプチャされた１画面分の映像信号は、フレームあるいは画面データと呼ぶ。
【００１９】
領域情報出力装置１４は、データ処理装置１３から出力された更新領域の座標情報を格納あるいは伝送する、磁気ディスク装置などの記憶装置や通信装置などで構成される。
【００２０】
データ記憶装置１２は、前フレームメモリ１２１と、現フレームメモリ１２２と、更新ブロックメモリ１２３と、更新領域リストメモリ１２４と、更新領域数メモリ１２５とを含む。
【００２１】
前フレームメモリ１２１は、過去に入力されたフレームを１枚以上保持する。過去に入力されたフレームを、以下、前フレームと呼ぶ。
【００２２】
現フレームメモリ１２２は、最も新しく入力されたフレームを１枚保持する。最も新しく入力されたフレームを、以下、現フレームと呼び。上記の前フレームは、例えば、現フレームの時間的に１つ前のフレームに相当する。
【００２３】
更新ブロックメモリ１２３は、フレームを一定画素サイズ（たとえばｍ×ｎ画素、ｍとｎは１以上の整数）ごとに分割し、分割された各ブロックについて、前フレームと現フレームとで差分があったか否かを示すデータを保持する。差分があるとは、原フレームの画素の画素値と、前フレームにおける当該画素と同じ位置の画素の画素値とが相違することを意味する。
【００２４】
更新領域リストメモリ１２４は、更新領域を示す座標列を保持する。更新領域は１つ以上の矩形から構成されるものとし、更新領域リストメモリ１２４には、各矩形を示す上端・下端・左端・右端の座標値が格納されるものとする。例えば、フレーム上にＸＹ座標系が定義されており、フレーム上の位置はＸＹ座標値で特定されるものとする。また、各矩形は、その左上端と右下端との２点のＸＹ座標値で特定されるものとする。
【００２５】
更新領域数メモリ１２５は、更新領域リストメモリ１２４に現時点で格納されている矩形の数を保持する。
【００２６】
データ処理装置１３は、更新ブロック検出手段１３１と、初期更新領域登録手段１３２と、除去領域検出手段１３３と、更新領域分割手段１３４と、更新領域リスト書換手段１３５と、分割処理制御手段１３６と、更新領域境界調整手段１３７と、更新領域情報出力手段１３８とを含む。
【００２７】
更新ブロック検出手段１３１は、前フレームメモリ１２１から前フレームのデータを、現フレームメモリ１２２から現フレームのデータを、それぞれ読み出し、各ブロックについて画素値を比較する。比較の結果、画素値が変化した画素を含むブロックについては更新あり、含まないブロックについては更新なしとして、更新ブロックメモリ１２３に更新の有無を表すデータを書き込む。
【００２８】
初期更新領域登録手段１３２は、更新ブロックメモリ１２３から更新ブロックの情報を読み出し、画面内に更新ブロックが一つ以上存在する場合に、全更新ブロックを含む最小の矩形を求め、この矩形を最初の更新領域として、その座標を更新領域リストメモリ１２４に書き込む。また、更新領域数メモリ１２５に、更新領域数の初期値として１を書き込む。
【００２９】
除去領域検出手段１３３は、更新領域リストメモリ１２４に登録されている全更新領域について、更新領域内に存在する無更新ブロックの塊である矩形を検出する。また、全ての更新領域から検出された無更新ブロックの塊である矩形のうち、最大の面積を持つ矩形を除去領域として選択する。無更新ブロックの塊である矩形がいずれかの更新領域から検出され、除去領域が選択された場合、除去領域、および除去領域を含む更新領域の座標情報を、更新領域分割手段１３４へ通知する。
【００３０】
更新領域分割手段１３４は、除去領域検出手段１３３から通知された、除去領域、および除去領域を含む更新領域の座標情報に基づいて、除去領域が含まれる更新領域の矩形を、除去領域を除く最大４つの矩形へと分割する。また、分割前の更新領域と分割後の更新領域の情報を、更新領域リスト書換手段１３５へ通知する。
【００３１】
更新領域リスト書換手段１３５は、分割前の更新領域を更新領域リストメモリ１２４から削除し、分割後の更新領域を更新領域リストメモリ１２４に追加する。また、更新領域の削除および追加に基づいて、更新領域数メモリ１２５に格納されている更新領域数を更新する。
【００３２】
分割処理制御手段１３６は、除去領域検出手段１３３、更新領域分割手段１３４、および更新領域リスト書換手段１３５による更新領域の分割処理の繰り返しを制御する。分割処理制御手段１３６は、更新領域数１２５に格納された更新領域数が所定の数に達するか、または、除去領域検出手段１３３が除去領域を検出しなくなるか、何れか早く成立した方を条件として、除去領域検出手段１３３と更新領域分割手段１３４と更新領域リスト書換手段１３５とによる更新領域の分割処理の繰り返しを終了させる。
【００３３】
更新領域境界調整手段１３７は、除去領域検出手段１３３と更新領域分割手段１３４と更新領域リスト書換手段１３５とによる更新領域の分割処理の終了後、更新領域リストメモリ１２４から更新領域の座標情報を一つずつ抽出して、各更新領域の上下左右端の座標の微調整を行う。具体的には、上下左右の各境界ラインについて、前フレームメモリ１２１および現フレームメモリ１２２から画素値を読み出して差分の有無を調べ、差分画素が見つかるまで境界を１ラインずつ縮小する。各更新領域についてこの処理を行い、更新領域リストメモリ１２４に格納されている座標値を更新する。
【００３４】
更新領域情報出力手段１３８は、更新領域リストメモリ１２４に格納されている更新領域の座標情報を、領域情報出力装置１４へ出力する。
【００３５】
［動作の説明］
次に、図２のフローチャートを参照して、本発明の実施の形態の全体の動作について詳細に説明する。
【００３６】
まず、更新ブロック検出手段１３１は、前フレームメモリ１２１から前フレームのデータ、現フレームメモリ１２２から現フレームのデータを、それぞれ読み出し、各ブロックについて画素値を比較する。比較の結果、画素値が変化した画素を含むブロックについては更新あり、含まないブロックについては更新なしとして、更新ブロックメモリ１２３に更新の有無を表すデータを書き込む（ステップＳ１０１）。
【００３７】
次に、初期更新領域登録手段１３２は、更新ブロックメモリ１２３から更新ブロックの情報を読み出し、更新ブロックが１つ以上存在するかを判定し（ステップＳ１０２）、存在しなければ（ステップＳ１０２のＮＯ）、図２に示す処理を終了する。存在すれば（ステップＳ１０２のＹＥＳ）、ステップＳ１０３以降の処理へ進む。
【００３８】
ステップＳ１０３では、初期更新領域登録手段１３２は、全更新ブロックを含む最小の矩形を求め、この矩形を最初の更新領域として、その座標を更新領域リストメモリ１２４に書き込む（ステップＳ１０３）。また同ステップＳ１０３において、更新領域数メモリ１２５に、更新領域数の初期値として１を書き込む。
【００３９】
次に、除去領域検出手段１３３は、更新領域リストメモリ１２４のスキャン位置を、リストの先頭に初期化する（ステップＳ１０４）。
【００４０】
次に、除去領域検出手段１３３は、スキャン位置の更新領域について、その更新領域内で最大面積を持つ無更新ブロックの塊からなる矩形を検出する（ステップＳ１０５）。また同ステップＳ１０５では、さらに、スキャン済の更新領域を含めて、過去に検出された無更新ブロックの塊からなる矩形のうち最大面積を持つ矩形を除去領域として記憶し、さらにその除去領域を含む更新領域を記憶する。
【００４１】
次に、除去領域検出手段１３３は、更新領域のスキャン位置を一つ移動し（ステップＳ１０６）、全ての更新領域について処理を完了したかを判定する（ステップＳ１０７）。全て終了していなければ（ステップＳ１０７のＮＯ）、ステップＳ１０５に戻って残りの更新領域を処理する。全て終了していれば（ステップＳ１０７のＹＥＳ）、ステップＳ１０８以降の処理へ進む。
【００４２】
ステップＳ１０８では、分割処理制御手段１３６は、除去領域検出手段１３３が除去領域を検出したかどうかを判定する。検出されていなければ（ステップＳ１０８のＮＯ）、ステップＳ１１６以降の処理へ進む。検出されていれば（ステップＳ１０８のＹＥＳ）、ステップＳ１０９以降の処理へ進む。
【００４３】
ステップＳ１０９へ進んだ場合、更新領域分割手段１３４は、除去領域検出手段１３３が検出・記憶した除去領域、および除去領域を含む更新領域の座標情報に基づいて、除去領域が含まれる更新領域の矩形を、以下のようにして、除去領域を除く最大４つの矩形へと分割する（ステップＳ１０９〜Ｓ１１２）。
【００４４】
まず更新領域分割手段１３４は、除去領域を含む更新領域の座標情報から、その領域の縦横比を算出する（ステップＳ１０９）。次に縦横比を判定し（ステップＳ１１０）、もし横長（幅＞高さ）であれば（ステップＳ１１０のＹＥＳ）、垂直線優先分割を行う（ステップＳ１１１）。もし横長でない（幅≦高さ）場合は（ステップＳ１１０のＮＯ）、水平線優先分割を行う（ステップＳ１１２）。ステップＳ１１１の垂直線優先分割では、除去領域を含む更新領域に対して、複数の分割線の取り方がある場合に、左右分割（垂直分割線）を優先する分割方法を使用して分割を行う。またステップＳ１１２の水平線優先分割では、除去領域を含む更新領域に対して、複数の分割線の取り方がある場合に、上下分割（水平分割線）を優先する分割方法を使用して分割を行う。
【００４５】
次に、更新領域リスト書換手段１３５は、分割前の更新領域を更新領域リストメモリ１２４から削除し（ステップＳ１１３）、分割後の更新領域を更新領域リストメモリ１２４に追加する（ステップＳ１１４）。また、削除および追加にあわせて、更新領域数メモリ１２５に格納されている更新領域数を更新する。
【００４６】
次に、分割処理制御手段１３６は、更新領域数メモリ１２５に格納された更新領域数（登録数）と、所定の閾値とを比較する（ステップＳ１１５）。登録数が閾値未満であれば（ステップＳ１１５のＮＯ）、ステップＳ１０４に戻って更に更新領域の分割を試みる。登録数が閾値以上であれば（ステップＳ１１５のＹＥＳ）、ステップＳ１１６へ進む。
【００４７】
ステップＳ１１６〜Ｓ１１９では、更新領域境界調整手段１３７が、以下のようにして、更新領域境界の調整処理を行う。まず更新領域境界調整手段１３７は、更新領域リストメモリ１２４のスキャン位置を、リストの先頭に初期化する（ステップＳ１１６）。
【００４８】
次に、更新領域境界調整手段１３７は、スキャン位置の更新領域について、更新領域リストメモリ１２４からその上下左右端の座標を読み出す。次に、上下左右端の座標で特定される各境界ラインについて、前フレームメモリ１２１および現フレームメモリ１２２から画素値を読み出して差分の有無を調べ、差分画素が見つかるまで境界を１ラインずつ縮小する（ステップＳ１１７）。具体的には、例えば、更新領域リストメモリ１２４に記憶されている上端の座標値で特定される上端ライン上の画素の画素値を前フレームメモリ１２１と現フレームメモリ１２２とから読み出して差分の有無を調べ、若し差分が無ければ、更新領域リストメモリ１２３に記憶されている上端の座標値を更新領域の内側方向に１ライン分縮小し、再びこの新たな上端の座標値で特定される上端ラインについて前回と同様の処理を繰り返す。差分があった場合、上端ラインは確定したので、次に、例えば下端ラインについて、上端ラインと同様の処理を行って差分画素が見つかるまで下端の境界を１ラインずつ更新領域の内側方向に縮小していく。下端ラインが確定すると、次に左端ラインを処理し、最後に右端ラインを処理する。上端、下端、左端、右端の順序は例示であり、この順序でなくてもよい。
【００４９】
次に、更新領域境界調整手段１３７は、更新領域のスキャン位置を一つ移動し（ステップＳ１１８）、全ての更新領域について処理を完了したかを判定する（ステップＳ１１９）。全て終了していなければ（ステップＳ１１９のＮＯ）、ステップＳ１１７に戻って残りの更新領域を処理する。全て終了していれば（ステップＳ１１９のＹＥＳ）、ステップＳ１２０の処理へ進む。
【００５０】
ステップＳ１２０へ進んだ場合、更新領域情報出力手段１３８は、更新領域リストメモリ１２４に格納されている更新領域の座標情報を、領域情報出力装置１４へ出力する。
【００５１】
このように本実施形態によれば、画素値が変化した画素を含むブロックの集合を更新領域とする場合に比べて、更新領域の座標を示すための付加データの量を削減することができる。その理由は、除去領域検出手段１３３で新たな無更新領域が検出されなくなるか、または、更新領域リスト書換手段１３５による追加登録後の更新領域数が閾値を超えることになるか、何れか早く成立した方を条件として、更新領域の分割処理を終了するため、更新領域の数の増加が抑えられるからである。
【００５２】
また本実施形態によれば、画素値が変化した画素を含む全てのブロックの外接矩形を更新領域とする場合に比べて、更新領域のサイズを小さくすることができる。その理由は、画素値が変化した画素を含まないブロックが１以上連続して矩形を形成している無更新領域を有する更新領域を分割対象として、無更新領域を含まない２以上の矩形である更新領域に分割するためである。
【００５３】
また本実施形態によれば、ブロック毎に更新領域を検出し、縦または横につながる更新領域はそれらの外接矩形に統合する場合に比べて、画素値の変化していない大きな領域を更新領域に組み込んでしまうことがなくなる。その理由は、本実施形態は、複数の更新領域を一つの矩形に統合するのではなく、逆に、一つの更新領域を、その更新領域中の無更新領域を含まない２以上の更新領域に分割するためである。
【００５４】
また本実施形態によれば、全更新領域に含まれる無更新領域のうち、最大の塊から順に除去されるため、大きな無更新領域が符号化されるリスクを抑制することができる。
【００５５】
なお、上記説明では、まずブロック単位での更新領域を求めてから、更新領域境界調整手段１３７によって、個々の更新領域の境界を調整する方法について説明した。ブロックのサイズについては、経験上、８×８から３２×３２に設定することで、処理速度と精度のバランスが良好となる。ただし、特にブロックのサイズが１×１画素の場合には、更新領域分割手段１３４によって得た更新ブロックの境界が、実質的に画素単位での更新領域の境界となるため、その後の更新領域境界調整処理は不要となる。この場合は更新領域境界調整処理を省略してもよい。
【００５６】
また上記説明では、除去領域検出手段１３３が検出する除去領域の条件として、検出された無更新ブロックの塊のうち面積が最大であることを採用したが、他の条件を用いてもよい。たとえば、閾値以上の面積を持つことを条件として採用し、更に、分割処理制御手段１３６が処理の繰り返しを行うごとに、この閾値を段階的に引き下げていってもよい。これによって、全更新領域を１度スキャンするだけで、除去領域を複数見つけることも可能となるため、分割処理制御手段１３６による繰り返し回数が低減でき、処理が高速になる。
【００５７】
また、除去領域検出手段１３３が検出する除去領域の条件として、検出された無更新ブロックの塊のうち面積が最大であり、かつ、所定の下限面積以上であることを条件としてもよい。これにより、領域分割によって得られる面積低減効果が小さい場合には分割を行わず、付加データ量の増大を抑制することが可能となる。
【００５８】
また上記説明では、更新領域分割手段１３４が、横長の更新領域は左右分割を優先し、そうでない更新矩形は上下分割を優先するよう動作させたが、常にいずれかの分割方法をとっても良いし、ランダムでいずれかの方法をとるようにしてもよい。なお上記説明の分割方法を取った場合には、分割結果の更新領域が過度に扁平しなくなるため、更新領域に対して２次元画像圧縮を適用した際の圧縮率が向上するという利点がある。
【００５９】
また上記説明では、分割対象となる更新領域が横長でも縦長でもない場合（幅＝高さの場合）には水平線優先分割が選択されるものとしたが、垂直線優先分割が選択されるようにしてもよい。
【００６０】
また上記説明では「無更新ブロックの塊」の検出方法について具体的には記載していないが、高速性や正確性などの条件に応じて設計者が自由に決めることができる。たとえば、２値の配列から「正方形（１×１、２×２、３×３、…）の０値要素の塊」のうち最大面積のものを高速にサーチするアルゴリズムは一般に知られている。これを利用して、正方形の無更新ブロックの塊を検出する、という制約を加えて動作させてもよい。また、これを長方形にまで拡張した方式を用いてもよい。たとえば、まず、前述の方法によって更新領域から「正方形の無更新ブロックの塊」のうち最大面積のものをサーチする。次に、サーチして得られた正方形について、上下左右の境界を１ブロック幅ずつ拡大できるかどうか試行し、最終的に「長方形の無更新ブロックの塊」を得る。いずれにせよ、「更新ブロックに占める最大の無更新ブロックの塊」としては近似的な解になるが、任意形状での最大の塊を検出する方法に比べて、大幅に高速な処理が可能となる。また特に、コンピュータ画面映像においては、矩形の領域が変化することが多いため、無更新ブロックの塊も矩形として処理すれば十分な精度が確保できる場合が多い。このため、上記いずれかの方法を取ることにより、処理速度・精度を良好なバランスで両立できる。
【００６１】
[第２の実施形態]
本実施形態では、第１の実施形態をより具体化して説明する。図３乃至図６に、本実施形態による更新領域検出装置の動作の具体例を示す。本実施形態では、更新領域数の閾値は５である。
【００６２】
図３のＺ１０１は、フレームのブロック分割の様子（横１１×縦７）、および、差分画素（黒色で図示）を示したものである。
【００６３】
Ｚ１０２は、フレームに対して、更新ブロック検出手段１３１が適用された後の、更新ブロックメモリ１２３の様子を示したものである。差分画素（Ｚ１０１の黒）を含むブロックが、更新ブロック（Ｚ１０２の黒）として検出されている。
【００６４】
Ｚ１０３は、初期更新領域登録手段１３２によって登録された、初期更新領域の範囲を示したものである。全更新ブロック（Ｚ１０２の黒）の外接矩形が、初期更新領域（Ｚ１０３の網掛け領域）として登録されている。
【００６５】
図４のＺ１０４は、除去領域検出手段１３３が検出した最初の除去領域を示している。破線で示した矩形が除去領域であり、太線で示した矩形が除去領域を含む更新領域である。除去領域検出手段１３３は、画面内に存在する更新領域すべて（この場合、初期更新領域の一つのみ）の中から、無更新ブロックの塊を検出し、その最大面積となるものを除去領域として検出する。Ｚ１０４の場合、初期領域の左下の４×３ブロックが、最大の面積を持つ無更新ブロックの塊として検出され、除去領域として選択される。なお、無更新ブロックの塊としては、枠状の更新ブロックの内側にある３×３ブロックの無更新ブロックなども検出されるが、最大面積ではないために棄却される。
【００６６】
Ｚ１０５は、更新領域分割手段１３４による１回目の更新領域の分割の様子を示している。網掛け領域が現時点で登録されている全更新領域であり、太線が、分割によって生じた新たな更新領域の境界線である。Ｚ１０４に示されているように、分割対象となる更新領域の大きさは横９ブロック×縦６ブロックであり、横長である。したがって、垂直分割線が優先して選択される分割方法がとられる。この結果、更新領域が除去領域を含まなくなるような形で左右に分割され、Ｚ１０５に示す２つの新たな更新領域が得られる。
【００６７】
図５のＺ１０６は、除去領域検出手段１３３が次に検出した除去領域を示している。破線で示した矩形が除去領域であり、その外側の太線で示した矩形が除去領域を含む更新領域である。除去領域検出手段１３３は、画面内に存在する更新領域すべて（この場合２つ）の中から、無更新ブロックの塊を検出し、その最大面積となるものを除去領域として検出する。この結果、枠状の更新ブロックの内側にある３×３ブロックの無更新ブロックが除去領域として検出される。
【００６８】
Ｚ１０７は、更新領域分割手段１３４による２回目の更新領域の分割の様子を示している。網掛け領域が現時点で登録されている全更新領域であり、太線が、分割によって生じた新たな更新領域の境界線である。Ｚ１０６に示されているように、分割対象となる更新領域の大きさは横５ブロック×縦６ブロックであり、横長ではない。したがって、水平分割線が優先して選択される分割方法がとられる。この結果、更新領域が除去領域を含まなくなるような形で上中下に分割され、Ｚ１０７に示す４つの新たな更新領域が得られる。
【００６９】
Ｚ１０７のように更新領域が分割された時点で、更新領域の数は５となり、閾値の５と等しくなる。この結果、分割処理の繰り返しを終了し、境界調整処理へ移るように動作する。
【００７０】
図６のＺ１１６の太枠は、更新領域分割手段１３４の繰り返しによって最終的に得られた、５つの更新領域を示している。黒色領域は差分画素を示している。
【００７１】
Ｚ１１７は、更新領域境界調整手段１３７によって、各更新領域の境界線の縮小が行われた後の様子を示している。Ｚ１１６の全ての更新領域（太枠）について、上下左右の各境界ラインが、差分画素が存在するところまで縮小され、Ｚ１１７の更新領域が得られる。
【００７２】
次に本実施形態の効果を説明する。
【００７３】
画素値が変化した画素を含むブロックの集合を更新領域とする方法では、Ｚ１０２において黒く塗りつぶした２３個のブロックのそれぞれが更新領域となる。これに対して本実施形態では、Ｚ１１６で太線で示す高々５個の更新領域になる。従って、更新領域の数の増加を抑えることができる。
【００７４】
また、画素値が変化した画素を含む全てのブロックの外接矩形を更新領域とする方法では、Ｚ１０３の網掛けを施した合計５４個のブロック分の領域が更新領域となる。これに対して、本実施形態では、Ｚ１１６において太線で囲んだ合計２５個のブロック分のサイズが更新領域となる。従って、更新領域のサイズを小さくすることができる。なお、Ｚ１１７のように更新領域境界調整処理を行うことにより、更新領域のサイズを更に小さくすることができる。
【００７５】
また、ブロック毎に更新領域を検出し、縦または横につながる更新領域はそれらの外接矩形に統合する方法では、Ｚ１０１における四角い枠のような形状で画素差分が発生した場合、枠の外接矩形が更新領域として検出され、枠の内部の画素値の変化していない領域が更新領域に含まれてしまう。これに対して、本実施形態では、Ｚ１１６に示されるように、枠の内部の画素値の変化していない領域は更新領域から除外される。
【００７６】
[第３の実施形態]
本実施形態では、第１の実施形態をより具体化して説明する。図３〜図５、および図７〜図１０に、本実施形態による更新領域検出装置の動作の具体例を示す。本実施形態では、更新領域数の閾値は７である。
【００７７】
図３〜図５に示すＺ１０１からＺ１０７までの動作は、第２の実施形態と同じである。
【００７８】
図７のＺ１０８は、除去領域検出手段１３３が３回目に検出した除去領域を示している。破線で示した矩形が除去領域である。除去領域検出手段１３３は、画面内に存在する更新領域すべて（この場合５つ）の中から、無更新ブロックの塊を検出し、その最大面積となるものを除去領域として検出する。この結果、枠上部の更新領域に含まれる５×１ブロックの無更新ブロックが除去領域として検出される。
【００７９】
Ｚ１０９は、更新領域分割手段１３４による３回目の更新領域の分割の様子を示している。網掛け領域が現時点で登録されている全更新領域であり、太線が、分割によって生じた新たな更新領域の境界線である。Ｚ１０８に示されているように、分割対象となる更新領域の大きさは横５ブロック×縦２ブロックであり、横長である。したがって、垂直分割線が優先して選択される分割方法がとられる。この場合、分割方法は上下２分割の一通りしかないため、上下に分割され、Ｚ１０９に示す１つの新たな更新領域が得られる。
【００８０】
図８のＺ１１０は、除去領域検出手段１３３が４回目に検出した除去領域を示している。破線で示した矩形が除去領域である。除去領域検出手段１３３は、画面内に存在する更新領域すべて（この場合５つ）の中から、無更新ブロックの塊を検出し、その最大面積となるものを除去領域として検出する。この結果、画面左の更新領域に含まれる１×３ブロックの無更新ブロックが除去領域として検出される。
【００８１】
Ｚ１１１は、更新領域分割手段１３４による４回目の更新領域の分割の様子を示している。網掛け領域が現時点で登録されている全更新領域であり、太線が、分割によって生じた新たな更新領域の境界線である。Ｚ１１０に示されているように、分割対象となる更新領域の大きさは横４ブロック×縦３ブロックであり、横長である。したがって、垂直分割線が優先して選択される分割方法がとられる。この場合、分割方法は左右２分割の一通りしかないため、左右に分割され、Ｚ１１１に示す１つの新たな更新領域が得られる。
【００８２】
図９のＺ１１２は、除去領域検出手段１３３が５回目に検出した除去領域を示している。破線で示した矩形が除去領域である。除去領域検出手段１３３は、画面内に存在する更新領域すべて（この場合５つ）の中から、無更新ブロックの塊を検出し、その最大面積となるものを除去領域として検出する。この結果、画面左の更新領域に含まれる１×２ブロックの無更新ブロックが除去領域として検出される。
【００８３】
Ｚ１１３は、更新領域分割手段１３４による５回目の更新領域の分割の様子を示している。網掛け領域が現時点で登録されている全更新領域であり、太線が、分割によって生じた新たな更新領域の境界線である。Ｚ１１２に示されているように、分割対象となる更新領域の大きさは横３ブロック×縦３ブロックであり、横長ではない。したがって、水平分割線が優先して選択される分割方法がとられる。この結果、更新領域が除去領域を含まなくなるような形で左右に分割され、Ｚ１１３に示す２つの新たな更新領域が得られる。
【００８４】
Ｚ１１３以降は除去領域が検出されないため、分割処理は行われず、境界調整処理へと移る。
【００８５】
図１０のＺ１１４の太枠は、更新領域分割手段１３４の繰り返しによって最終的に得られた、６つの更新領域を示している。網掛け領域は差分画素を示している。
【００８６】
Ｚ１１５は、更新領域境界調整手段１３７によって、各更新領域の境界線の縮小が行われた後の様子を示している。Ｚ１１４の全ての更新領域（太枠）について、上下左右の各境界ラインが、差分画素が存在するところまで縮小され、Ｚ１１５の更新領域が得られている。
【００８７】
本実施形態の上記動作から明らかなように、除去領域検出手段１３３で分割対象としての新たな更新領域が検出されなくなるまで更新領域の分割が繰り返されることにより、更新ブロックを過不足なく網羅し、かつ、過度に分割されていない更新領域を得ることができる。
【００８８】
[その他の実施形態]
上記の各実施形態では、ブロック単位で更新領域を求めてから、更新領域境界調整手段１３７によって、個々の更新領域の境界を調整したが、ブロックのサイズにかかわらず、更新領域強化調整手段１３７による処理を省略しても良い。
【００８９】
また、上記の各実施形態において、分割処理の繰り返しの終了後、或いは更新領域境界調整手段による処理の終了後、現フレームメモリ１２２に記憶された画像のうち、更新領域リストメモリに記憶されている各更新領域内の画像を符号化する符号化手段を更に有し、更新領域情報出力手段１３８は更新領域リストメモリ１２４の内容を出力する代わりに、上記符号化手段から出力される符号を領域情報出力装置１４に出力するようにしても良い。
【００９０】
なお、本発明は、日本国にて２０１２年７月２５日に特許出願された特願２０１２−１６４７３９の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。
【産業上の利用可能性】
【００９１】
本発明は、画面伝送型シン・クライアント・システムにおいて、伝送量を削減する用途などに用いることができる。また、画面の更新領域の座標を、適度な粒度で効率的に表現できるという特徴を利用して、他の用途へも応用可能である。たとえば、本発明によって得られる画面の更新座標をログとして蓄積することで、画面の素子の書換回数を計測し、劣化状態を推定するなどの用途に用いることができる。
【符号の説明】
【００９２】
１１…信号入力装置
１２…データ記憶装置
１３…データ処理装置
１４…領域情報出力装置
１２１…前フレームメモリ
１２２…現フレームメモリ
１２３…更新ブロックメモリ
１２４…更新領域リストメモリ
１２５…更新領域数メモリ
１３１…更新ブロック検出手段
１３２…初期更新領域登録手段
１３３…除去領域検出手段
１３４…更新領域分割手段
１３５…更新領域リスト書換手段
１３６…分割処理制御手段
１３７…更新領域境界調整手段
１３８…更新領域情報出力手段
【図１】
2014017003.tif 000003
【図２】
2014017003.tif 000004
【図３】
2014017003.tif 000005
【図４】
2014017003.tif 000006
【図５】
2014017003.tif 000007
【図６】
2014017003.tif 000008
【図７】
2014017003.tif 000009
【図８】
2014017003.tif 000010
【図９】
2014017003.tif 000011
【図１０】
2014017003.tif 000012
【国際調査報告】
2014017003.tif 000013
2014017003.tif 000014