(57)【要約】【課題】表示領域上の特定の位置に重畳画像が表示される場合でも、表示領域よりも大きいサイズを持つ画像を重畳画像を除いてキャプチャする画像キャプチャ用コンピュータプログラムを提供する。【解決手段】画像キャプチャ用コンピュータプログラムは、キャプチャ対象となる画像をスクロールする度に重畳画像を表示する表示領域上の画像の部分をキャプチャして一連の第１の部分画像を生成し、第１の部分画像の何れとも表示領域に表示される部分が異なるようにスクロールする度にその部分をキャプチャして一連の第２の部分画像を生成し、一連の第１の部分画像を結合した第１の結合画像と一連の第２の部分画像を結合した第２の結合画像間で互いに異なる、第１の結合画像上の候補領域のうち、部分画像単位で第２の結合画像上の候補領域の何れかと一致する領域を、第２の結合画像の対応領域で置換して、重畳画像が除去されたキャプチャ画像を合成する命令を含む。【選択図】図７
2019070962.tif 000002
【特許請求の範囲】
【請求項１】
重畳画像を表示する表示領域よりも大きいサイズを持ち、かつ、キャプチャ対象となる画像をスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第１の部分画像を生成し、
前記画像を、前記一連の第１の部分画像の何れとも前記表示領域に表示される部分が異なるようにスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第２の部分画像を生成し、
前記一連の第１の部分画像を結合して第１の結合画像を生成し、
前記一連の第２の部分画像を結合して第２の結合画像を生成し、
前記第１の結合画像と前記第２の結合画像間で互いに異なる複数の候補領域を、前記第１の結合画像と前記第２の結合画像のそれぞれについて抽出し、
前記第１の結合画像上の前記複数の候補領域のうち、前記一連の第１の部分画像上での対応位置が前記第２の結合画像上の前記複数の候補領域の何れかの前記一連の第２の部分画像上の対応位置と一致する候補領域を、前記第１の結合画像上での前記重畳画像が表された不変領域として特定し、
前記第１の結合画像上の前記不変領域を、前記第２の結合画像の対応領域で置換することで、前記重畳画像が除去され、かつキャプチャされた前記画像を合成する、
ことをコンピュータに実行させるための画像キャプチャ用コンピュータプログラム。
【請求項２】
前記一連の第２の部分画像を生成することは、前記一連の第１の部分画像を生成するときの第１のスクロール開始位置と異なる第２のスクロール開始位置から前記画像をスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第２の部分画像を生成することを含む、請求項１に記載の画像キャプチャ用コンピュータプログラム。
【請求項３】
前記一連の第１の部分画像を生成することは、前記第１のスクロール開始位置から第１のスクロール量ずつスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで前記一連の第１の部分画像を生成することを含み、
前記一連の第２の部分画像を生成することは、前記第２のスクロール開始位置から前記第１のスクロール量と異なる第２のスクロール量ずつスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで前記一連の第２の部分画像を生成することを含む、請求項２に記載の画像キャプチャ用コンピュータプログラム。
【請求項４】
前記一連の第２の部分画像を生成することは、前記一連の第１の部分画像を生成するときのスクロール方向における前記表示領域の幅と前記一連の第２の部分画像を生成するときの前記スクロール方向における前記表示領域の幅を異ならせることを含む、請求項１に記載の画像キャプチャ用コンピュータプログラム。
【請求項５】
前記一連の第１の部分画像を生成することは、前記画像を、前記第１のスクロール開始位置から第１のスクロール方向に沿ってスクロールするか、前記第１のスクロール方向と異なる第２のスクロール方向に沿ってスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで前記一連の第１の部分画像を生成することを含み、
前記一連の第２の部分画像を生成することは、前記画像を、前記第２のスクロール開始位置から前記第１のスクロール方向に沿ってスクロールするか、前記第２のスクロール方向に沿ってスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで前記一連の第２の部分画像を生成することを含む、請求項２に記載の画像キャプチャ用コンピュータプログラム。
【請求項６】
前記第２の結合画像上の前記複数の候補領域のうち、前記一連の第２の部分画像上での対応位置が前記第１の結合画像上の前記複数の候補領域の何れかの前記一連の第１の部分画像上の対応位置と一致する候補領域を、前記第２の結合画像上での前記重畳画像が表された不変領域として特定し、
前記第１の結合画像上の前記不変領域と前記第２の結合画像上の前記不変領域とが少なくとも部分的に重なる場合、前記第１のスクロール開始位置と前記第２のスクロール開始位置との差が、前記第１の結合画像上の前記不変領域と前記第２の結合画像上の前記不変領域とが重なる部分のスクロール方向の幅に応じて大きくなるよう、前記第２のスクロール開始位置を変更して、変更後の前記第２のスクロール開始位置から前記画像をスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第２の部分画像を再生成することをさらに含み、
前記第２の結合画像を生成することは、再生成された前記一連の第２の部分画像を結合して第２の結合画像を再生成することを含み、
前記候補領域を抽出することは、前記第１の結合画像と再生成された前記第２の結合画像間で互いに異なる前記候補領域を、前記第１の結合画像と再生成された前記第２の結合画像のそれぞれについて抽出することを含み、
前記第１の結合画像上での前記不変領域を特定することは、前記第１の結合画像上の前記複数の候補領域のうち、前記一連の第１の部分画像上での対応位置が再生成された前記第２の結合画像上の前記複数の候補領域の何れかの前記一連の第２の部分画像上の対応位置と一致する候補領域を、前記第１の結合画像上での前記重畳画像が表された不変領域として特定することを含む、請求項２に記載の画像キャプチャ用コンピュータプログラム。
【請求項７】
重畳画像を表示する表示領域よりも大きいサイズを持ち、かつ、キャプチャ対象となる画像をスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第１の部分画像を生成し、かつ、前記画像を、前記一連の第１の部分画像の何れとも前記表示領域に表示される部分が異なるようにスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第２の部分画像を生成する部分画像生成部と、
前記一連の第１の部分画像を結合して第１の結合画像を生成し、かつ、前記一連の第２の部分画像を結合して第２の結合画像を生成する結合部と、
前記第１の結合画像と前記第２の結合画像間で互いに異なる候補領域を、前記第１の結合画像と前記第２の結合画像のそれぞれについて抽出する候補領域抽出部と、
前記第１の結合画像上の前記複数の候補領域のうち、前記一連の第１の部分画像上での対応位置が前記第２の結合画像上の前記複数の候補領域の何れかの前記一連の第２の部分画像上の対応位置と一致する候補領域を、前記第１の結合画像上での前記重畳画像が表された不変領域として特定する不変領域特定部と、
前記第１の結合画像上の前記不変領域を、前記第２の結合画像の対応領域で置換することで、前記重畳画像が除去され、かつキャプチャされた前記画像を合成する合成部と、
を有する画像キャプチャ装置。
【請求項８】
重畳画像を表示する表示領域よりも大きいサイズを持ち、かつ、キャプチャ対象となる画像をスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第１の部分画像を生成し、
前記画像を、前記一連の第１の部分画像の何れとも前記表示領域に表示される部分が異なるようにスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第２の部分画像を生成し、
前記一連の第１の部分画像を結合して第１の結合画像を生成し、
前記一連の第２の部分画像を結合して第２の結合画像を生成し、
前記第１の結合画像と前記第２の結合画像間で互いに異なる候補領域を、前記第１の結合画像と前記第２の結合画像のそれぞれについて抽出し、
前記第１の結合画像上の前記複数の候補領域のうち、前記一連の第１の部分画像上での対応位置が前記第２の結合画像上の前記複数の候補領域の何れかの前記一連の第２の部分画像上の対応位置と一致する候補領域を、前記第１の結合画像上での前記重畳画像が表された不変領域として特定し、
前記第１の結合画像上の前記不変領域を、前記第２の結合画像の対応領域で置換することで、前記重畳画像が除去され、かつキャプチャされた前記画像を合成する、
ことを含む画像キャプチャ方法。
【請求項９】
端末と、前記端末と通信ネットワークを介して接続されるサーバとを有する画像キャプチャシステムであって、
前記端末は、
表示装置と、
前記表示装置の重畳画像を表示する表示領域よりも大きいサイズを持ち、かつ、キャプチャ対象となる画像をスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第１の部分画像を生成し、かつ、前記画像を、前記一連の第１の部分画像の何れとも前記表示領域に表示される部分が異なるようにスクロールする度に前記表示領域に表示された前記画像の部分をキャプチャすることで当該画像の部分に前記重畳画像が重畳された一連の第２の部分画像を生成するプロセッサと、
前記一連の第１の部分画像及び前記一連の第２の部分画像を前記通信ネットワークを介して前記サーバへ送信する通信インターフェースと、
を有し、
前記サーバは、
前記一連の第１の部分画像を結合して第１の結合画像を生成し、かつ、前記一連の第２の部分画像を結合して第２の結合画像を生成し、
前記第１の結合画像と前記第２の結合画像間で互いに異なる候補領域を、前記第１の結合画像と前記第２の結合画像のそれぞれについて抽出し、
前記第１の結合画像上の前記複数の候補領域のうち、前記一連の第１の部分画像上での対応位置が前記第２の結合画像上の前記複数の候補領域の何れかの前記一連の第２の部分画像上の対応位置と一致する候補領域を、前記第１の結合画像上での前記重畳画像が表された不変領域として特定し、
前記第１の結合画像上の前記不変領域を、前記第２の結合画像の対応領域で置換することで、前記重畳画像が除去され、かつキャプチャされた前記画像を合成するプロセッサを有する、
画像キャプチャシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、表示装置に表示される画像をキャプチャする画像キャプチャ用コンピュータプログラム、画像キャプチャ装置及び画像キャプチャ方法に関する。
【背景技術】
【０００２】
Webブラウザといった、画像を表示するために使用されるアプリケーションにおける画像表示領域（以下、単に表示領域と呼ぶこともある）よりも大きなサイズを持つ画像がある。Webブラウザは、一度にこのような画像全体を表示することができないので、画像の一部がWebブラウザにより表示される。そして、Webブラウザに設けられたスクロールなどの表示対象となる領域の範囲を変える機能を用いて、画像中で表示される領域が変更される。そこで、画像全体を表すキャプチャ画像を生成するために、例えば、画像中のWebブラウザに表示される部分を変更しつつ、表示された部分のそれぞれをキャプチャすることで複数の部分画像を生成し、生成した各部分画像が結合される。
【０００３】
しかし、コンテンツによっては、表示領域に表示される画像の表示範囲が変更されても、表示領域中の同じ位置に、広告あるいはアイコン等の画像（以下、重畳画像と呼ぶ）が表示され続けることがある。このような場合、上記のような方法により画像全体を表すキャプチャ画像が生成される際に、キャプチャされる部分画像ごとに、同じ位置にその重畳画像が重畳されるため、キャプチャ画像においても、所々に重畳画像が重畳されることになる。そこで、表示領域に表示されているWebページ内の任意の領域と固定画像との相対位置関係に基づいて生成される、ウェブページと固定画像とを合成した合成画像に基づいて、Webページに固定画像が重ならない印刷対象画像を生成する技術が提案されている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の技術では、重畳画像は、表示領域の上端または下端といった特定の位置に表示されることが前提となっている。しかし、重畳画像の表示位置が事前に分からないこともある。このような場合、上記の技術では、重畳画像が重畳されないキャプチャ画像を生成できないことがある。
【０００６】
一つの側面では、本発明は、表示領域上の特定の位置に重畳される画像が表示される場合でも、表示領域よりも大きいサイズを持つ画像をその重畳される画像を除いてキャプチャする画像キャプチャ用コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、画像キャプチャ用コンピュータプログラムが提供される。この画像キャプチャ用コンピュータプログラムは、重畳画像を表示する表示領域よりも大きいサイズを持ち、かつ、キャプチャ対象となる画像をスクロールする度に表示領域に表示された画像の部分をキャプチャすることでその画像の部分に重畳画像が重畳された一連の第１の部分画像を生成し、キャプチャ対象となる画像を、一連の第１の部分画像の何れとも表示領域に表示される部分が異なるようにスクロールする度に表示領域に表示されたその画像の部分をキャプチャすることでその画像の部分に重畳画像が重畳された一連の第２の部分画像を生成し、一連の第１の部分画像を結合して第１の結合画像を生成し、一連の第２の部分画像を結合して第２の結合画像を生成し、第１の結合画像と第２の結合画像間で互いに異なる候補領域を、第１の結合画像と第２の結合画像のそれぞれについて抽出し、第１の結合画像上の複数の候補領域のうち、一連の第１の部分画像上での対応位置が第２の結合画像上の複数の候補領域の何れかの一連の第２の部分画像上の対応位置と一致する候補領域を、第１の結合画像上での重畳画像が表された不変領域として特定し、第１の結合画像上の不変領域を、第２の結合画像の対応領域で置換することで、重畳画像が除去され、かつキャプチャされた画像を合成する、ことをコンピュータに実行させるための命令を含む。
【発明の効果】
【０００８】
一つの側面によれば、表示領域上の特定の位置に重畳される画像が表示される場合でも、表示領域よりも大きいサイズを持つ画像をその重畳される画像を除いてキャプチャすることができる。
【図面の簡単な説明】
【０００９】
【図１】一つの実施形態による、画像キャプチャ装置のハードウェア構成図である。
【図２】画像キャプチャ処理に関するプロセッサの機能ブロック図である。
【図３】キャプチャ対象となる画像と、第１及び第２の部分画像と、第１及び第２の結合画像の関係の一例を示す図である。
【図４】第１及び第２の結合画像とマスク画像の一例を示す図である。
【図５】マスク画像、各部分マスク画像及び不変領域の関係の一例を示す図である。
【図６】第１及び第２の結合画像と合成されるキャプチャ画像の関係の一例を示す図である。
【図７】画像キャプチャ処理の動作フローチャートである。
【図８】変形例において生成される一連の第１の部分画像及び一連の第２の部分画像と、第１及び第２の結合画像の一例を示す図である。
【図９】上記の実施形態またはその変形例による画像キャプチャ装置が実装されたサーバクライアントシステムの概略構成図である。
【発明を実施するための形態】
【００１０】
以下、図を参照しつつ、画像キャプチャ装置、及び、その画像キャプチャ装置で利用される画像キャプチャ方法及び画像キャプチャ用コンピュータプログラムについて説明する。この画像キャプチャ装置は、表示領域中の所定の位置に重畳画像が表示される場合において、その重畳画像が除かれた、表示領域よりも大きいサイズを持つ画像全体を表すキャプチャ画像を生成する。その際、この画像キャプチャ装置は、キャプチャ対象となる画像をスクロールすることで、その画像の互いに異なる一部ずつを表示領域に表示し、表示されたそれぞれの一部をキャプチャすることで一連の第１の部分画像を生成する。そしてこの画像キャプチャ装置は、一連の第１の部分画像を結合して、各第１の部分画像の所定の位置に対応する領域に重畳画像が重畳された第１の結合画像を生成する。またこの画像キャプチャ装置は、スクロール方向におけるスクロール開始位置を変更して、再度キャプチャ対象となる画像の互いに異なる一部ずつを表示領域に表示し、表示されたそれぞれの一部をキャプチャすることで一連の第２の部分画像を生成する。そしてこの画像キャプチャ装置は、一連の第２の部分画像を結合して、各第２の部分画像の所定の位置に対応する領域に重畳画像が重畳された第２の結合画像を生成する。この画像キャプチャ装置は、第１の結合画像と第２の結合画像間の差分により、各結合画像上で重畳画像が表された不変領域の候補領域を表すマスク画像を生成する。さらに、この画像キャプチャ装置は、マスク画像を各第１の部分画像の結合位置にて分割することで複数の第１の部分マスク画像を生成するとともに、マスク画像を各第２の部分画像の結合位置にて分割することで複数の第２の部分マスク画像を生成する。そしてこの画像キャプチャ装置は、各第１の部分マスク画像と各第２の部分マスク画像において同じ位置となる候補領域を不変領域として特定する。そしてこの画像キャプチャ装置は、第１及び第２の結合画像のうちの一方の不変領域を他方の結合画像の対応領域で置換することで、重畳画像が重畳されないキャプチャ画像を生成する。
【００１１】
図１は、一つの実施形態による、画像キャプチャ装置のハードウェア構成図である。図１に示されるように、画像キャプチャ装置１は、通信インターフェース２と、ユーザインターフェース３と、メモリ４と、記憶媒体アクセス装置５と、プロセッサ６とを有する。
【００１２】
通信インターフェース２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有する。通信インターフェース２は、例えば、通信ネットワークを介して他の機器（図示せず）からキャプチャ対象となる画像を表すデータを受け取り、受け取ったデータをプロセッサ６にわたす。なお、キャプチャ対象となる画像を表すデータは、例えば、所定の形式で表される画像データそのもの、あるいは、そのような画像データを含む、Webブラウザで表示可能な形式（例えば、htmlに準拠した形式）で表されたコンテンツとすることができる。また通信インターフェース２は、プロセッサ６から受け取った、キャプチャ画像を、通信ネットワークを介して他の機器へ出力してもよい。
【００１３】
ユーザインターフェース３は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。あるいは、ユーザインターフェース３は、タッチパネルといった、入力装置と表示装置とが一体化された装置を有していてもよい。そしてユーザインターフェース３は、例えば、プロセッサ６から受け取った、キャプチャ対象となる画像の一部が表された、Webブラウザといった画像を表示可能なアプリケーションの表示領域を含むウインドウを表示する。
【００１４】
メモリ４は、記憶部の一例であり、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリである。そしてメモリ４は、例えば、キャプチャ対象となる画像を記憶する。さらに、メモリ４は、プロセッサ６で実行される画像キャプチャ用コンピュータプログラムで用いられる、あるいは、その画像キャプチャ用コンピュータプログラムにより生成される各種のデータなどを記憶する。
【００１５】
記憶媒体アクセス装置５は、記憶部の他の一例であり、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体７にアクセスする装置である。記憶媒体アクセス装置５は、例えば、記憶媒体７から、プロセッサ６上で実行される画像キャプチャ用コンピュータプログラム、画像を表示するためのアプリケーションの実行ファイル及び関連ファイルを読み込み、プロセッサ６に渡す。
【００１６】
プロセッサ６は、制御部の一例であり、例えば、Central Processing Unit(CPU)と、その周辺回路とを有する。さらに、プロセッサ６は、数値演算プロセッサを有していてもよい。そしてプロセッサ６は、画像キャプチャ装置１全体を制御する。また、プロセッサ６は、通信インターフェース２を介してキャプチャ対象となる画像を表すデータを受け取ると、そのデータをメモリ４に保存する。そしてプロセッサ６は、Webブラウザといった、画像を表示するアプリケーションを起動して、画像キャプチャ処理を実行する。
【００１７】
図２は、画像キャプチャ処理に関するプロセッサ６の機能ブロック図である。図２に示されるように、プロセッサ６は、部分画像生成部１１と、結合部１２と、候補領域抽出部１３と、不変領域特定部１４と、合成部１５とを有する。
【００１８】
プロセッサ６が有するこれらの各部は、例えば、プロセッサ６が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールである。あるいは、プロセッサ６が有するこれらの各部は、ファームウェアとして画像キャプチャ装置１に実装されてもよい。
【００１９】
プロセッサ６は、画像キャプチャ処理を開始する際、画像キャプチャ処理で利用される、Webブラウザ等の画像表示用アプリケーションを起動する。そしてプロセッサ６は、起動したアプリケーションに、キャプチャ対象となる画像（以下では、キャプチャ対象となる画像を単に画像と呼ぶことがある）を読み込ませて、そのアプリケーションが提供する表示領域に、その画像を表示させる。その際、キャプチャ対象となる画像のうちの一部がそのアプリケーションの表示領域に表示される。そして、画像がスクロールされることで、画像の異なる部分が表示領域に表示される。また、表示領域上には、キャプチャ対象となる画像のうちの表示領域に表示される部分がスクロールにより変更されても、同じ位置、かつ、同じサイズの重畳画像が表される。そのため、重畳画像は、表示領域に表示された画像の一部と重畳される。なお、重畳画像に表された内容自体は変化してもよい。また、本実施形態では、スクロール方向は垂直方向とする。
【００２０】
部分画像生成部１１は、キャプチャ対象となる画像の一部が表示されたアプリケーションの表示領域をキャプチャすることで、キャプチャ対象となる画像の部分画像を生成する。部分画像生成部１１は、キャプチャ対象となる画像をスクロールする度に、その画像を表示するアプリケーションの表示領域に表示された画像の部分をキャプチャすることでその画像の部分に重畳画像が重畳された一連の第１の部分画像を生成する。さらに、部分画像生成部１１は、キャプチャ対象となる画像を、一連の第１の部分画像の何れとも表示領域に表示される部分が異なるようにスクロールする。ここで、表示領域に表示される画像の部分が、第１の部分画像に表される画像の部分の少なくとも一部と異なっていればよい。そして部分画像生成部１１は、画像をスクロールする度に、表示領域に表示されたその画像の部分をキャプチャすることでその画像の部分に重畳画像が重畳された一連の第２の部分画像を生成する。なお、部分画像生成部１１は、表示領域をキャプチャする様々な手法の何れに従って表示領域をキャプチャしてもよい。
【００２１】
本実施形態では、部分画像生成部１１は、キャプチャ対象となる画像を表示するアプリケーションに、画像を表示領域の垂直方向の幅ずつスクロールさせることで、その画像の互いに異なる一部ずつを表示領域に表示させる。そして部分画像生成部１１は、表示領域に表示された各画像の一部をそれぞれキャプチャすることで一連の第１の部分画像を生成する。生成された各第１の画像上には、キャプチャ対象の画像の一部とともに、同じ位置、かつ、同じサイズの重畳画像が表される。
【００２２】
さらに、部分画像生成部１１は、キャプチャ対象となる画像について、スクロール方向におけるスクロール開始位置を所定のオフセット量だけ変更する。そして部分画像生成部１１は、再度その画像を表示領域の垂直方向の幅ずつスクロールさせることで、その画像の互いに異なる一部ずつを表示領域に表示させる。部分画像生成部１１は、各画像の一部をそれぞれキャプチャすることで一連の第２の部分画像を生成する。生成された各第２の画像上には、キャプチャ対象の画像の一部とともに、同じ位置、かつ、同じサイズの重畳画像が表される。
【００２３】
なお、部分画像生成部１１は、一連の第１の部分画像及び一連の第２の部分画像を生成する際、互いに隣接する表示された部分同士が所定の画素幅だけ重なるようにキャプチャ対象となる画像をスクロールさせてもよい。
【００２４】
部分画像生成部１１は、一連の第１の部分画像及び一連の第２の部分画像を結合部１２へ出力する。なお、互いに隣接する表示された部分同士が所定の幅だけ重なる場合には、部分画像生成部１１は、その重なる部分の幅に相当する画素数も結合部１２へ通知する。
【００２５】
結合部１２は、一連の第１の部分画像を、スクロール方向に沿って、スクロールが開始される側の第１の部分画像から順に結合することで、キャプチャ対象となる画像全体が表される第１の結合画像を生成する。その際、互いに隣接する表示された部分同士が所定の幅だけ重なる場合には、結合部１２は、その重なる部分の幅に相当する画素数だけ、互いに隣接する第１の部分画像の隣接部分同士を重ねて結合すればよい。
【００２６】
同様に、結合部１２は、一連の第２の部分画像を、スクロール方向に沿って、スクロールが開始される側の第２の部分画像から順に結合することで、キャプチャ対象となる画像全体が表される第２の結合画像を生成する。
【００２７】
図３は、キャプチャ対象となる画像と、第１及び第２の部分画像と、第１及び第２の結合画像の関係の一例を示す図である。キャプチャ対象となる画像３００が、画像３００の上端を第１のスクロール開始位置として表示領域の垂直方向の幅ずつスクロールされる度にその表示領域がキャプチャされることで一連の第１の部分画像３０１−１〜３０１−３が生成される。そして一連の第１の部分画像３０１−１〜３０１−３が結合されることで、第１の結合画像３１１が生成される。
【００２８】
一方、画像３００の上端よりも所定のオフセット量αだけ上側にずれた位置を第２のスクロール開始位置３０３として、画像３００が表示領域の垂直方向の幅ずつスクロールされる度にその表示領域がキャプチャされる。これにより、一連の第２の部分画像３０２−１〜３０２−３が生成される。そして一連の第２の部分画像３０２−１〜３０２−３が結合されることで、第２の結合画像３１２が生成される。
【００２９】
表示領域には、重畳画像３１０が表示され、画像３００と重畳されるので、一連の第１の部分画像３０１−１〜３０１−３、及び、一連の第２の部分画像３０２−１〜３０２−３の同じ位置に、重畳画像３１０が表される。そのため、第１の結合画像３１１においても、個々の第１の部分画像において重畳画像３１０が表されていた領域と対応する領域に、重畳画像３１０が表される。同様に、第２の結合画像３１２においても、個々の第２の部分画像において重畳画像３１０が表されていた領域と対応する領域に、重畳画像３１０が表される。
【００３０】
結合部１２は、第１の結合画像及び第２の結合画像を候補領域抽出部１３及び合成部１５へ出力する。
【００３１】
候補領域抽出部１３は、第１の結合画像及び第２の結合画像において重畳画像が重畳されている可能性がある複数の候補領域を、第１の結合画像及び第２の結合画像のそれぞれについて抽出する。
【００３２】
再度図３を参照すると、第１の結合画像３１１と第２の結合画像３１２とは、重畳画像３１０が重畳されている位置が異なる点を除けば同一である。したがって、第１の結合画像３１１と第２の結合画像３１２との間で差がある領域が、候補領域となる。
【００３３】
そこで、候補領域抽出部１３は、第１の結合画像と第２の結合画像との間で互いに異なる領域のそれぞれを候補領域として抽出する。そのために、候補領域抽出部１３は、例えば、対応画素間の差分演算を実行して画素ごとに差分絶対値を算出する。キャプチャ対象となる画像がカラー画像である場合には、候補領域抽出部１３は、例えば、各画素について、色成分ごとに、対応画素間の差分絶対値を算出し、色成分ごとの差分絶対値の和、あるいは、平均値をその画素の差分絶対値としてもよい。そして候補領域抽出部１３は、差分絶対値が所定の閾値よりも大きい画素の集合を候補領域とする。候補領域抽出部１３は、候補領域を表すために、例えば、各結合画像と同じサイズを持ち、候補領域内の各画素（以下、候補画素と呼ぶ）の値（例えば、'0'）と候補領域外の各画素の値（例えば、'1'）が互いに異なるマスク画像を生成する。
【００３４】
図４は、第１及び第２の結合画像とマスク画像の一例を示す図である。図３に関して説明したように、第１の結合画像４０１と第２の結合画像４０２とは、重畳画像４１０が重畳されている位置が異なる点を除けば同一である。そのため、マスク画像４０３において、第１の結合画像４０１上の重畳画像４１０に対応する領域と、第２の結合画像４０２上の重畳画像４１０に対応する領域とが候補領域４２０となる。
【００３５】
候補領域抽出部１３は、マスク画像を不変領域特定部１４へ出力する。
【００３６】
不変領域特定部１４は、第１の結合画像上の各候補領域のうち、一連の第１の部分画像上での対応位置が第２の結合画像上の各候補領域の何れかの一連の第２の部分画像上の対応位置と一致する候補領域を特定する。そして不変領域特定部１４は、特定された候補領域を、第１の結合画像上で重畳画像が表された不変領域とする。同様に、不変領域特定部１４は、第２の結合画像上の各候補領域のうち、一連の第２の部分画像上での対応位置が第１の結合画像上の各候補領域の何れかの一連の第１の部分画像上の対応位置と一致する候補領域を、第２の結合画像上の不変領域として特定する。
【００３７】
そのために、不変領域特定部１４は、マスク画像を各第１の部分画像の結合位置にて分割することで複数の第１の部分マスク画像を生成するとともに、マスク画像を各第２の部分画像の結合位置にて分割することで複数の第２の部分マスク画像を生成する。そして不変領域特定部１４は、各第１の部分マスク画像と各第２の部分マスク画像において同じ位置となる候補領域を不変領域として特定する。
【００３８】
図５は、マスク画像、各部分マスク画像及び不変領域の関係の一例を示す図である。マスク画像５００には、複数の候補領域５０１−１〜５０１−４が含まれる。マスク画像５００が、各第１の部分画像の結合位置５０２にて分割されることで生成される第１の部分マスク画像５１０−１〜５１０−３のそれぞれにおいて、複数の候補領域の何れかが、重畳画像に対応する。同様に、マスク画像５００が、各第２の部分画像の結合位置５０３にて分割されることで生成される第２の部分マスク画像５２０−１〜５２０−３のそれぞれにおいて、複数の候補領域の何れかが、重畳画像に対応する。また、各第１の部分マスク画像５１０−１〜５１０−３及び各第２の部分マスク画像５２０−１〜５２０−３は、それぞれ、元の画像のうちの表示領域に表示された部分に対応している。そのため、各第１の部分マスク画像５１０−１〜５１０−３及び各第２の部分マスク画像５２０−１〜５２０−３において、同じ位置に重畳画像は存在する。そのため、各第１の部分マスク画像５１０−１〜５１０−３上の各候補領域のうち、各第２の部分マスク画像５２０−１〜５２０−３の何れかの候補領域と一致する候補領域が、不変領域となる。この例では、第１の部分マスク画像５１０−１上の候補領域５０１−１と、第１の部分マスク画像５１０−２上の候補領域５０１−３とが、不変領域となる。同様に、各第２の部分マスク画像５２０−１〜５２０−３上の各候補領域のうち、各第１の部分マスク画像５１０−１〜５１０−３の何れかの候補領域と一致する候補領域が、不変領域となる。この例では、第２の部分マスク画像５２０−２上の候補領域５０１−２と、第２の部分マスク画像５２０−３上の候補領域５０１−４とが、不変領域となる。
【００３９】
なお、マスク画像において、候補領域内の候補画素の値と候補領域外の画素の値とが異なっている。そこで、不変領域特定部１４は、各第１の部分マスク画像について、候補領域内の候補画素のうち、その候補画素の値と第２の部分画像の対応画素の値が同じとなる候補画素の集合を不変領域とすることができる。同様に、不変領域特定部１４は、各第２の部分マスク画像について、候補領域内の候補画素のうち、その候補画素の値と第１の部分マスク画像の対応画素の値が同じとなる候補画素の集合を不変領域とすることができる。
【００４０】
不変領域特定部１４は、個々の第１の部分マスク画像について特定された不変領域に対応する、第１の結合画像上の領域を、第１の結合画像における不変領域とする。同様に、不変領域特定部１４は、個々の第２の部分マスク画像について特定された不変領域に対応する、第２の結合画像上の領域を、第２の結合画像における不変領域とする。そして不変領域特定部１４は、第１の結合画像についての不変領域及び第２の結合画像についての不変領域を合成部１５へ通知する。
【００４１】
合成部１５は、第１及び第２の結合画像のうちの一方の不変領域を他方の結合画像の対応領域で置換することで、重畳画像が除去されたキャプチャ画像を合成する。
【００４２】
図６は、第１及び第２の結合画像と合成されるキャプチャ画像の関係の一例を示す図である。第１の結合画像６０１において、不変領域特定部１４により特定された不変領域６１１が除かれる。そして不変領域６１１が、第２の結合画像６０２の対応領域６２１で置換されることで、キャプチャ画像６３０が合成される。なお、第２の結合画像６０２において、不変領域特定部１４により特定された不変領域６１２が除かれる。そして不変領域６１２が、第１の結合画像６０１の対応領域６２２で置換されることでも、キャプチャ画像６３０は合成される。
【００４３】
合成部１５は、合成されたキャプチャ画像をメモリ４または記憶媒体７に保存する。あるいは、合成部１５は、合成されたキャプチャ画像を、通信インターフェース２を介して他の機器へ出力してもよい。
【００４４】
図７は、プロセッサ６により実行される、画像キャプチャ処理の動作フローチャートである。
【００４５】
部分画像生成部１１は、キャプチャ対象となる画像を所定のスクロール開始位置から表示領域の垂直方向の幅ずつスクロールしつつ、その画像の互いに異なる一部ずつをキャプチャすることで一連の第１の部分画像を生成する（ステップＳ１０１）。さらに、部分画像生成部１１は、スクロール開始位置をオフセット量だけ変更する。そして部分画像生成部１１は、キャプチャ対象となる画像を表示領域の垂直方向の幅ずつスクロールさせつつ、その画像の互いに異なる一部ずつをキャプチャすることで一連の第２の部分画像を生成する（ステップＳ１０２）。
【００４６】
結合部１２は、一連の第１の部分画像を、スクロール方向に沿って、スクロールが開始される側の第１の部分画像から順に結合することで第１の結合画像を生成する（ステップＳ１０３）。同様に、結合部１２は、一連の第２の部分画像を、スクロール方向に沿って、スクロールが開始される側の第２の部分画像から順に結合することで第２の結合画像を生成する（ステップＳ１０４）。
【００４７】
候補領域抽出部１３は、第１の結合画像と第２の結合画像との間で対応画素間の差分演算を実行して画素ごとに差分絶対値を算出し、差分絶対値が所定の閾値よりも大きい画素の集合を候補領域として抽出する（ステップＳ１０５）。
【００４８】
不変領域特定部１４は、第１の結合画像と同サイズを持ち、かつ、候補領域を表すマスク画像を各第１の部分画像の結合位置にて分割することで複数の第１の部分マスク画像を生成する（ステップＳ１０６）。また不変領域特定部１４は、マスク画像を各第２の部分画像の結合位置にて分割することで複数の第２の部分マスク画像を生成する（ステップＳ１０７）。そして不変領域特定部１４は、各第１の部分マスク画像と各第２の部分マスク画像において同じ位置となる候補領域を不変領域として特定する（ステップＳ１０８）。
【００４９】
合成部１５は、第１及び第２の結合画像のうちの一方の不変領域を他方の結合画像の対応領域で置換することで、重畳画像が除去されたキャプチャ画像を合成する（ステップＳ１０９）。そしてプロセッサ６は、画像キャプチャ処理を終了する。
【００５０】
以上に説明してきたように、この画像キャプチャ装置は、表示領域よりも大きいサイズを持つキャプチャ対象となる画像を、互いに異なるスクロール開始位置ごとに、表示領域単位でスクロールしつつキャプチャすることで得た部分画像を結合する。これにより、この画像キャプチャ装置は、表示領域において位置が変化しない重畳画像が重畳された位置が互いに異なる二つの結合画像を得ることができる。そしてこの画像キャプチャ装置は、その二つの結合画像を比較することで重畳画像の候補領域を抽出し、さらに、その二つの結合画像を部分画像単位で分割したときの候補領域同士の位置を比較することで、重畳画像が含まれる不変領域を特定する。これにより、この画像キャプチャ装置は、二つの結合画像のそれぞれにおける不変領域を特定できる。そのため、この画像キャプチャ装置は、その二つの結合画像の一方の不変領域を他方の対応領域で置換することで、表示領域における重畳画像の位置が未知であっても、表示領域よりも大きいサイズを持つ画像を、重畳画像を除去しつつキャプチャできる。また、この画像キャプチャ装置は、スクロール方向と直交する方向において、重畳画像の幅が表示領域の幅よりも狭くても、重畳画像が除去されたキャプチャ画像を合成できる。
【００５１】
なお、変形例によれば、スクロール方向は垂直方向に限られない。キャプチャ対象となる画像の水平方向サイズが表示領域の水平サイズよりも大きい場合には、部分画像生成部１１は、キャプチャ対象となる画像を水平方向にスクロールしつつ、上記の実施形態と同様に表示領域単位でその画像をキャプチャすればよい。これにより、部分画像生成部１１は、一連の第１の部分画像及び一連の第２の部分画像を生成すればよい。
【００５２】
また、キャプチャ対象となる画像の垂直方向サイズ及び水平方向サイズの何れについても、表示領域のサイズよりも大きいこともある。このような場合には、部分画像生成部１１は、キャプチャ対象となる画像を垂直方向及び水平方向のそれぞれについてスクロールしつつ、上記の実施形態と同様に表示領域単位でその画像をキャプチャすればよい。この場合には、部分画像生成部１１は、垂直方向及び水平方向のうちの何れか一方について、スクロール開始位置を変更することで、一連の第１の部分画像と一連の第２の部分画像とを生成すればよい。そしてこの場合も、結合部１２は、一連の第１の部分画像を結合することで第１の結合画像を生成し、かつ、一連の第２の部分画像を結合することで第２の結合画像を生成すればよい。
【００５３】
図８は、この変形例において生成される一連の第１の部分画像及び一連の第２の部分画像と、第１及び第２の結合画像の一例を示す図である。
【００５４】
キャプチャ対象となる画像８００が、画像８００の上端を垂直方向についてのスクロール開始位置として表示領域の垂直方向の幅ずつスクロールされる。さらに、垂直方向について一旦スクロールされると、画像８００は、画像８００の左端を水平方向についてのスクロール開始位置として、画像８００の水平方向サイズと表示領域の水平方向サイズの差だけ水平方向にスクロールされる。そして画像８００は、垂直方向または水平方向の何れかについてスクロールされる度に、表示領域単位でキャプチャされる。同様の手順が繰り返されることで、一連の第１の部分画像８０１−１〜８０１−６が生成される。そして一連の第１の部分画像８０１−１〜８０１−６が結合されることで、第１の結合画像８１１が生成される。
【００５５】
一方、画像８００の上端よりも所定のオフセット量だけ上側にずれた位置をスクロール開始位置として、画像８００が表示領域の垂直方向の幅ずつスクロールされる。さらに、垂直方向について一旦スクロールされると、画像８００は、画像８００の左端を水平方向についてのスクロール開始位置として、画像８００の水平方向サイズと表示領域の水平方向サイズの差だけ水平方向にスクロールされる。そして画像８００は垂直方向または水平方向の何れかについてスクロールされる度に、表示領域単位でキャプチャされる。同様の手順が繰り返されることで、一連の第２の部分画像８０２−１〜８０２−６が生成される。そして一連の第２の部分画像８０２−１〜８０２−６が結合されることで、第２の結合画像８１２が生成される。
【００５６】
この例でも、第１の結合画像８１１において重畳画像８１０が重畳される位置と、第２の結合画像８１２において重畳画像８１０が重畳される位置とは互いに異なっている。そのため、この変形例についても、画像キャプチャ装置は、第１の結合画像８１１と第２の結合画像８１２に対して候補領域抽出部１３、不変領域特定部１４及び合成部１５の処理を行うことで、重畳画像を除いたキャプチャ画像を合成することができる。
【００５７】
また他の変形例によれば、重畳画像の位置がスクロール方向の表示領域の一端を基準として設定されていることがある。このような場合、部分画像生成部１１は、スクロール開始位置を変更する代わりに、一連の第１の部分画像を生成するときのスクロール方向に沿った表示領域の幅と、第２の結合画像を生成するときのスクロール方向に沿った表示領域の幅とを異ならせてもよい。例えば、重畳画像の位置が表示領域の下端を基準として設定されているとする。このような場合、一連の第１の部分画像生成時と、一連の第２の部分画像生成時とで、表示領域の垂直方向のサイズが異なれば、各第１の部分画像の上端から重畳画像までの距離と、各第２の部分画像の上端から重畳画像までの距離は互いに異なる。そのため、第１の結合画像上の重畳画像の位置と、第２の結合画像上の重畳画像の位置も異なることになるので、画像キャプチャ装置は、上記の実施形態と同様に、各結合画像上の不変領域を特定できる。なお、重畳画像の位置が表示領域の上端を基準として設定されている場合には、部分画像生成部１１は、キャプチャ対象となる画像の下端をスクロール開始位置とすればよい。そして部分画像生成部１１は、一連の第１の部分画像生成時と一連の第２の部分画像生成時とで、表示領域の垂直方向のサイズを互いに異ならせて、表示領域単位で画像をキャプチャすることで各部分画像を生成すればよい。
【００５８】
あるいは、部分画像生成部１１は、一連の第１の部分画像を生成するときと、一連の第２の部分画像を生成するときとで、キャプチャ対象となる画像のスクロール方向を互いに逆向きとしてもよい。例えば、部分画像生成部１１は、一連の第１の部分画像を生成する場合には、キャプチャ対象となる画像の上端をスクロール開始位置として、下側へ順にその画像をスクロールする。一方、部分画像生成部１１は、一連の第２の部分画像を生成する場合には、キャプチャ対象となる画像の下端をスクロール開始位置として、上側へ順にその画像をスクロールする。その際、部分画像生成部１１は、一連の第１の部分画像を生成する場合の一回キャプチャするごとのスクロール量と、一連の第２の部分画像を生成する場合の一回キャプチャするごとのスクロール量とを互いに異ならせてもよい。このように一連の第１の部分画像及び一連の第２の部分画像が生成される場合も、第１の結合画像上の重畳画像の位置と、第２の結合画像上の重畳画像の位置も異なることになる。そのため、画像キャプチャ装置は、上記の実施形態と同様に、各結合画像上の不変領域を特定できる。
【００５９】
また、画像を表示するアプリケーションによっては、第１の結合画像と第２の結合画像間の差分演算により、重畳画像が重畳されていない画素についても差分絶対値が所定の閾値より大きくなることがある。そこで候補領域抽出部１３は、モルフォロジーの収縮膨張演算といったノイズ除去処理を、マスク画像上の候補画素に対して行ってもよい。また、一般に、重畳画像はある程度のサイズを持つと想定される。そこで、候補領域抽出部１３は、マスク画像上の候補画素に対してラベリング処理を行って、各候補画素を、互いに連続する候補画素の集合ごとにグループ化する。そして候補領域抽出部１３は、候補画素のグループのうち、そのグループに含まれる候補画素の数が所定の面積閾値未満となるグループを候補領域から除外してもよい。また、重畳画像は、一般に、略矩形となる形状を持つことが想定される。そこで候補領域抽出部１３は、候補画素のグループごとに、そのグループの外接矩形に含まれる画素の数に対するそのグループに含まれる候補画素の数の比を算出し、その比が所定の面積比閾値未満となるグループを候補領域から除外してもよい。候補領域抽出部１３は、例えば、マスク画像における、候補領域から除外したグループに含まれる候補画素の値を、候補領域外の画素の値に書き換える。
【００６０】
この変形例によれば、画像キャプチャ装置は、各結合画像上の不変領域をより正確に特定することができる。
【００６１】
また、重畳画像のサイズと、第１の結合画像生成時のスクロール開始位置に対する第２の結合画像生成時のスクロール開始位置のオフセット量との関係によっては、第１の結合画像上の不変領域と第２の結合画像上の不変領域とが部分的に重なることがある。このような場合、第１及び第２の結合画像の一方における不変領域に対応する、第１及び第２の結合画像の他方の対応領域にも部分的に重畳画像が含まれるため、合成部１５は、重畳画像を除いたキャプチャ画像を合成することができない。
【００６２】
そこで、不変領域特定部１４は、第１の結合画像上の不変領域と、第２の結合画像上の不変領域とが互いに重なるか否か判定する。そして第１の結合画像上の不変領域と、第２の結合画像上の不変領域とが少なくとも部分的に重なる場合には、不変領域特定部１４は、そのスクロール方向における、不変領域同士が互いに重なる部分の幅を部分画像生成部１１へ通知する。そして部分画像生成部１１は、通知された、不変領域同士が互いに重なる部分の幅に数画素程度を加えた値だけスクロール開始位置のオフセット量を増やして、一連の第２の部分画像を再度生成する。そして画像キャプチャ装置は、再生成された一連の第２の部分画像に対して、結合部１２、候補領域抽出部１３及び不変領域特定部１４の処理を実行すればよい。これにより、第１の結合画像上の不変領域と第２の結合画像上の不変領域とが互いに重なることが防止されるので、合成部１５は、重畳画像が除去されたキャプチャ画像を合成することができる。したがって、この変形例によれば、画像キャプチャ装置は、重畳画像のサイズが未知の場合でも、重畳画像が除去されたキャプチャ画像を合成することができる。
【００６３】
さらに他の変形例によれば、部分画像生成部１１は、スクロール開始位置が互いに異なる３種類以上の一連の部分画像を生成してもよい。そして結合部１２は、３種類以上の一連の部分画像のそれぞれについて、結合画像を生成してもよい。この場合も、候補領域抽出部１３、不変領域特定部１４及び合成部１５の処理が、生成された３種類以上の結合画像のうちの何れか二つについて行われることで、画像キャプチャ装置は、重畳画像を除いたキャプチャ画像を合成することができる。
【００６４】
さらに他の変形例によれば、図５に示されるように、第１の結合画像上の不変領域に対応する、一連の第１の部分画像上の不変領域も求められる。同様に、第２の結合画像上の不変領域に対応する、一連の第２の部分画像上の不変領域も求められる。そこで、合成部１５は、一連の第１の部分画像のそれぞれについて、その第１の部分画像の不変領域を、第２の結合画像または一連の第２の部分画像の対応領域で置換してから、各第１の部分画像を結合することで、キャプチャ画像を合成してもよい。このようにキャプチャ画像を合成することも、第１の結合画像の不変領域が第２の結合画像の対応領域で置換されることと実質的に同じである。同様に、合成部１５は、一連の第２の部分画像のそれぞれについて、その第２の部分画像の不変領域を、第１の結合画像または一連の第１の部分画像の対応領域で置換してから、各第２の部分画像を結合することで、キャプチャ画像を合成してもよい。
【００６５】
さらに他の変形例によれば、候補領域抽出部１３は、候補領域を表すためにマスク画像を生成しなくてもよい。この場合には、候補領域抽出部１３は、例えば、各候補画素に対してラベリング処理を実行することで、各候補画素を、互いに連結された候補画素の集合ごとにグループ化する。候補領域抽出部１３は、各グループを、それぞれ、一つの候補領域として、第１または第２の結合画像の左上端を原点とする座標系にてそのグループの外接矩形の各コーナーの座標を算出する。そして候補領域抽出部１３は、各候補領域の外接矩形の各コーナーの座標を不変領域特定部１４へ出力すればよい。そして不変領域特定部１４は、第１の結合画像上の各候補領域の外接矩形の各コーナーの座標に対応する、一連の第１の部分画像上の座標を算出すればよい。同様に、不変領域特定部１４は、第２の結合画像上の各候補領域の外接矩形の各コーナーの座標に対応する、一連の第２の部分画像上の座標を算出すればよい。そして不変領域特定部１４は、一連の第１の部分画像及び一連の第２の部分画像上での各不変領域の外接矩形の各コーナーの座標を参照して、一連の第２の部分画像一連の第１の部分画像と一連の第２の部分画像との間で、一致する不変領域を特定すればよい。
【００６６】
上記の実施形態または変形例による画像キャプチャ装置は、ブラウザに表示されるコンテンツを検証するためのコンテンツ検証装置としても用いられてもよい。この場合、プロセッサ６は、互いに異なる２種類のWebブラウザのそれぞれについて、上記の実施形態または変形例による画像キャプチャ処理を行うことで、コンテンツに含まれる画像についての、重畳画像を除いたキャプチャ画像を合成すればよい。そしてプロセッサ６は、各Webブラウザについて得られたキャプチャ画像同士を比較して、キャプチャ画像同士が一致するか否かを判定すればよい。
【００６７】
上記の実施形態または変形例による画像キャプチャ装置は、サーバクライアント型のシステムに実装されてもよい。
図９は、上記の実施形態またはその変形例による画像キャプチャ装置が実装されたサーバクライアントシステムの概略構成図である。
サーバクライアントシステム１００は、画像キャプチャシステムの一例であり、端末１１０とサーバ１２０とを有し、端末１１０とサーバ１２０とは、通信ネットワーク１３０を介して互いに通信可能となっている。なお、サーバクライアントシステム１００が有する端末１１０は複数存在してもよい。同様に、サーバクライアントシステム１００が有するサーバ１２０は複数存在してもよい。
【００６８】
端末１１０は、ユーザインターフェース１１１と、メモリ１１２と、通信インターフェース１１３と、プロセッサ１１４とを有する。ユーザインターフェース１１１、メモリ１１２及び通信インターフェース１１３は、例えば、プロセッサ１１４とバスを介して接続されている。
【００６９】
ユーザインターフェース１１１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。あるいは、ユーザインターフェース１１１は、タッチパネルといった、入力装置と表示装置とが一体化された装置を有していてもよい。そしてユーザインターフェース１１１は、例えば、プロセッサ１１４から受け取った、キャプチャ対象となる画像の一部が表された、ブラウザといった画像を表示するアプリケーションの表示領域を含むウインドウを表示装置に表示する。
【００７０】
メモリ１１２は、例えば、不揮発性の半導体メモリ及び揮発性の半導体メモリを有する。そしてメモリ１１２は、端末１１０を制御するためのコンピュータプログラム、端末１１０の識別情報、画像キャプチャ処理で利用される各種のデータ及びコンピュータプログラムなどを記憶する。
【００７１】
通信インターフェース１１３は、端末１１０を通信ネットワーク１３０に接続するためのインターフェース回路を有する。そして通信インターフェース１１３は、プロセッサ１１４から受け取った画像データを、端末１１０の識別情報とともに通信ネットワーク１３０を介してサーバ１２０へ送信する。
【００７２】
プロセッサ１１４は、CPUとその周辺回路を有する。そしてプロセッサ１１４は、キャプチャ対象となる画像データを、端末１１０の識別情報とともに、通信インターフェース１１３及び通信ネットワーク１３０を介してサーバ１２０へ送信する。またプロセッサ１１４は、サーバ１２０から受け取った、キャプチャされた画像をユーザインターフェース１１１に表示するか、あるいは、キャプチャされた画像を、端末１１０と接続されたプリンタ（図示せず）などにより紙などの媒体に印刷させる。
【００７３】
サーバ１２０は、通信インターフェース１２１と、メモリ１２２と、プロセッサ１２３とを有する。通信インターフェース１２１及びメモリ１２２は、プロセッサ１２３とバスを介して接続されている。
【００７４】
通信インターフェース１２１は、サーバ１２０を通信ネットワーク１３０に接続するためのインターフェース回路を有する。そして通信インターフェース１２１は、キャプチャ対象となる画像データと端末１１０の識別情報とを端末１１０から通信ネットワーク１３０を介して受信してプロセッサ１２３に渡す。
【００７５】
メモリ１２２は、例えば、不揮発性の半導体メモリ及び揮発性の半導体メモリを有する。そしてメモリ１２２は、サーバ１２０を制御するためのコンピュータプログラムなどを記憶する。またメモリ１２２は、画像キャプチャ処理を実行するためのコンピュータプログラム及び各端末から受信した画像データを記憶してもよい。
【００７６】
プロセッサ１２３は、CPUとその周辺回路を有する。そしてプロセッサ１２３は、上記の実施形態または変形例による画像キャプチャ装置のプロセッサの各機能を実現する。そしてプロセッサ１２３は、受信した画像データに対する画像キャプチャ処理を行って、重畳画像を含まないキャプチャされた画像を合成し、そのキャプチャされた画像を通信インターフェース１２１及び通信ネットワーク１３０を介して端末１１０へ送信する。
【００７７】
なお、端末１１０のプロセッサ１１４が、上記の実施形態または変形例による画像キャプチャ装置のプロセッサの各機能のうち、部分画像生成部１１の処理を実行してもよい。この場合、端末１１０は、一連の第１の部分画像及び一連の第２の部分画像を、通信インターフェース１１３及び通信ネットワーク１３０を介してサーバ１２０へ送信すればよい。そしてサーバ１２０のプロセッサ１２３は、一連の第１の部分画像及び一連の第２の部分画像に基づいて、結合部１２、候補領域抽出部１３、不変領域特定部１４及び合成部１５の処理を実行すればよい。あるいは、端末１１０のプロセッサ１１４が、部分画像生成部１１及び結合部１２の処理を実行してもよい。この場合、端末１１０は、第１の結合画像及び第２の結合画像と、各結合画像における部分画像間の結合位置とをサーバ１２０へ送信すればよい。そしてサーバ１２０のプロセッサ１２３は、第１の結合画像及び第２の結合画像に基づいて、候補領域抽出部１３、不変領域特定部１４及び合成部１５の処理を実行すればよい。
【００７８】
あるいはまた、端末１１０のプロセッサ１１４が、上記の実施形態または変形例による画像キャプチャ装置のプロセッサの各機能のうち、部分画像生成部１１、結合部１２及び合成部１５の処理を実行してもよい。この場合には、サーバ１２０のプロセッサ１２３は、候補領域抽出部１３及び不変領域特定部１４の処理を実行して、第１及び第２の結合画像のそれぞれにおける不変領域を特定すればよい。そしてプロセッサ１２３は、各結合画像における不変領域を表す情報を、通信インターフェース１２１及び通信ネットワーク１３０を介して端末１１０へ通知すればよい。
【００７９】
さらに、上記の実施形態または変形例による画像キャプチャ装置のプロセッサが有する各部の機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読取り可能な記録媒体に記憶された形で提供されてもよい。なお、コンピュータによって読取り可能な記録媒体は、例えば、磁気記録媒体、光記録媒体、又は半導体メモリとすることができる。
【００８０】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００８１】
１    画像キャプチャ装置
２    通信インターフェース
３    ユーザインターフェース
４    メモリ
５    記憶媒体アクセス装置
６    プロセッサ
７    記憶媒体
１１    部分画像生成部
１２    結合部
１３    候補領域抽出部
１４    不変領域特定部
１５    合成部
１００    サーバクライアントシステム
１１０    端末
１２０    サーバ
１３０    通信ネットワーク
１１１    ユーザインターフェース
１１２    メモリ
１１３    通信インターフェース
１１４    プロセッサ
１２１    通信インターフェース
１２２    メモリ
１２３    プロセッサ
【図１】
2019070962.tif 000003
【図２】
2019070962.tif 000004
【図３】
2019070962.tif 000005
【図４】
2019070962.tif 000006
【図５】
2019070962.tif 000007
【図６】
2019070962.tif 000008
【図７】
2019070962.tif 000009
【図８】
2019070962.tif 000010
【図９】
2019070962.tif 000011