以下、本発明について実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。
図1は、本発明の画像処理システムの一実施形態を示す図である。画像処理システム100は、ネットワーク114を介して接続された画像処理装置110aと、画像処理装置110bと、ユーザPC130dとを含む。ネットワーク114は、LANやインターネット等のネットワークを含んで構成される。
画像処理装置110a,110bは、ユーザPC130a,130b,130cが提供する画像を表示するとともに、ユーザが生成する描画画像を表示可能な装置である。また、画像処理装置110a,110bは、表示部112に対する接触によってイベントを発生させ、ユーザPC130a,130b,130cに送信する。
ユーザPC130a,130b,130cは、画像処理装置110a,110bに表示すべき画像を提供する情報処理装置である。ユーザPC130a,130b,130cは、画像信号を出力するインタフェースを備えており、画像信号を所定のレート(例えば、毎秒30フレーム等)で画像処理装置110a,110bに供給する。
本実施形態では、ユーザPC130a,130b,130cは、物理インタフェースであるVGA出力端子(図示せず)を備えており、VGAケーブル等のケーブル124を介してVGA信号を画像処理装置110a,110bに送信することができる。他の実施形態では、ユーザPC130a,130b,130cは、各種無線通信プロトコルに準拠した無線通信によって画像を送信してもよい。
ユーザPC130dは、画像処理装置110a,110bとの間で画像データやイベント等の種々のデータを通信可能な情報処理装置である。
図1に示す実施形態では、ユーザPC130a〜130dとしてノート型PCを採用するが、他の実施形態では、デスクトップ型PCやタブレット型PC、PDA、デジタルビデオカメラ、デジタルカメラ等の画像フレームを供給可能な情報処理装置を採用することができる。また、図1に示す画像処理システム100では、1または2台のユーザPCが画像処理装置110a,110bに接続されているが、他の実施形態では、3台以上のユーザPCを接続することもできる。
図2は、画像処理装置110aのハードウェア構成および機能構成を示す図である。以下、図2を参照して、画像処理装置110aのハードウェア構成および機能構成について説明する。なお、画像処理装置110bのハードウェア構成および機能構成は、画像処理装置110aと同一であるため、説明を省略する。
画像処理装置110aは、画像入力インタフェース232および画像出力インタフェース234を備えており、これらのインタフェースを介してユーザPC130a,130bおよび外部記憶装置242と接続される。
画像入力インタフェース232は、ユーザPC130a,130bが提供する画像を形成する画像信号を受信するインタフェースである。本実施形態では、画像入力インタフェース232としてDVI(Digital Visual Interface)端子によって構成されるDVIコネクタを採用することができる。画像入力インタフェース232は、ユーザPC130a,130bからVGAケーブル等のケーブル124を介してVGA信号を受信し、画像処理装置110aが備える画像取得部206にVGA信号を供給する。
他の実施形態では、VGA(Video Graphics Array)コネクタ、HDMI(High-Definition Multimedia Interface)コネクタ、Displayportコネクタ等を採用することができる。さらに他の実施形態では、画像入力インタフェース232は、Bluetooth(登録商標)やWiFi等の無線通信プロトコルに準拠した無線通信により、ユーザPC130a,130bから画像信号を受信してもよい。
画像出力インタフェース234は、画像処理装置110aの表示画像であるスナップショット画像を外部記憶装置242に出力する物理インタフェースである。本実施形態では、画像出力インタフェース234としてUSBソケットを採用することができる。
画像処理装置110aは、プロセッサ200と、ROM202と、RAM204と、画像取得部206と、座標検出部224と、接触検知装置226と、記憶装置230と、通信制御部250と、通信部252と、表示部112とを含んで構成される。
プロセッサ200は、CPUやMPU等の処理演算装置であり、WINDOWS(登録商標)シリーズ、UNIX(登録商標)、LINUX(登録商標)、TRON、ITRON、μITRONなどの種々のOSを動作させる。プロセッサ200は、OSの管理下でアセンブラ、C、C++、Java(登録商標)、JavaScript(登録商標)、PERL、RUBY、PYTHONなどのプログラム言語で記述された本発明のプログラムを実行する。ROM202は、BIOSやEFI等のブートプログラムなどが保存される不揮発性メモリである。
RAM204は、DRAMやSRAM等によって構成される主記憶装置であり、本発明のプログラムの実行空間を提供する。プロセッサ200は、ソフトウェアプログラムや種々のデータなどを持続的に保持するためのハードディスク装置(図示せず)から、本発明のプログラムを読み出し、RAM204に展開して実行する。本発明のプログラムには、プログラムモジュールであるイベント処理部210、アプリ画像生成部212、レイアウト管理部214、描画生成部216、合成部218、表示制御部220、スナップショット生成部222、リポジトリ管理部228、スナップショット保存部236およびスナップショット送信部238が含まれる。
画像取得部206は、ユーザPC130a,130bから画像入力インタフェース232を介して画像信号を取得する手段である。画像取得部206は、ユーザPC130a,130bから画像信号を受信すると、当該画像信号を解析して、当該画像信号によって形成される画像フレームの解像度や当該画像フレームの更新頻度などの画像情報を導出し、アプリ画像生成部212に送信する。
また、画像取得部206は、当該画像信号を使用して、表示部112に背景画像として表示される画像フレームを形成し、画像データを一時的に保存可能な記憶手段であるビデオRAM208にバッファリングする。
アプリ画像生成部212は、画像処理装置110aに種々の操作を指示するボタンやメニュー等のGUI(Graphical User Interface)やスナップショット画像のサムネイルを含む画像を生成する手段である。
レイアウト管理部214は、背景画像である画像フレームを合成部218に提供すると共に、表示部112に表示されている背景画像の切り替わりの有無を判断し、背景画像が切り替わる場合に、スナップショット生成部222にスナップショット画像を生成させる手段である。レイアウト管理部214の機能構成については、図3を参照して詳述する。
接触検知装置226は、描画装置240等の物体の接触を検知する手段である。本実施形態では、接触検知装置226として、特許文献2に示すような赤外線遮断方式による座標入力/検出装置を採用する。この座標入力/検出装置では、表示部112の下側両端部に設置された2の受発光装置が、表示部112に平行して複数の赤外線を放射し、表示部112の周囲に設けられた反射部材によって同一光路上に反射する光を受光する。接触検知装置226は、物体によって遮断された2の受発光装置が放射した赤外線の識別情報を座標検出部224に通知し、座標検出部224が、物体の接触位置である座標位置を特定する。
他の実施形態では、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2の抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を採用してもよい。
座標検出部224は、物体が表示部112に接触した位置である座標位置を算出すると共に、種々のイベントを発行する手段である。本実施形態では、座標検出部224は、接触検知装置226が通知する遮断された赤外線の識別情報を利用して、物体の接触位置の座標位置を算出する。座標検出部224は、接触位置の座標位置と共に、種々のイベントをイベント処理部210に送信する。
座標検出部224が発行するイベントには、物体の接触または接近したことを通知するイベント(TOUCH)、物体が表示部112に接触または接近した状態で接触点または接近点が移動したことを通知するイベント(MOVE)、物体が表示部112から離れたことを通知するイベント(RELEASE)が含まれる。これらのイベントには、接触位置座標および接近位置座標である座標位置情報が含まれる。
描画装置240は、画像処理装置110aの接触検知装置226に接触させて描画する装置である。描画装置240は、先端部に物体の接触を検知する接触検知装置を備えたペン形状をしており、当該接触検知装置が物体に接触すると、接触したことを示す接触信号を当該描画装置の識別情報と共に座標検出部224に送信する。
本実施形態では、Bluetooth(登録商標)等の近距離無線通信によって各種信号を送信する。他の実施形態では、超音波や赤外線を利用した無線通信によって各種信号を送信することができる。
イベント処理部210は、座標検出部224が発行するイベントを処理する手段である。イベント処理部210は、座標検出部224からイベントを受信すると、イベントの種類および接触位置の座標位置を使用してイベントを発行する。イベント処理部210が発行するイベントには、描画指示イベント、消去指示イベントおよび選択通知イベントがある。
描画指示イベントとは、画像処理装置110aに対して描画を指示するイベントである。消去指示イベントとは、画像処理装置110aに対して描画画像の消去を指示するイベントである。描画指示イベントおよび消去指示イベントは、描画装置240が表示部112に接触することに起因して発行される。
選択通知イベントとは、表示部112に表示されたボタンやメニューバー等の種々のGUIが選択されたことを示すイベントである。イベント処理部210は、座標検出部224が提供する座標位置がGUIの領域内であるときに選択通知イベントを発行する。
描画指示イベント、消去指示イベントおよび選択通知イベントには、それぞれ識別情報が割り当てられている。これらのイベントをトリガとして動作する画像処理装置110aの機能手段は、当該識別情報を参照して各処理を実行する。また、選択通知イベントには、選択されたGUIの識別情報が付加されており、選択通知イベントをトリガとして動作する画像処理装置110aの機能手段は、当該GUIの識別情報を参照して各処理を実行する。
描画生成部216は、ユーザが描画装置240を用いて指示した描画画像を生成する手段である。描画生成部216は、座標位置情報が示す画素の色を特定の色に変更して描画画像を生成する。描画生成部216は、描画画像の識別情報、描画画像の種類、描画画像の座標情報、描画画像の色情報および描画画像の付加情報等を含む描画情報をRAM204の所定の記憶領域に保存する。
合成部218は、アプリ画像生成部212が生成する画像と、レイアウト管理部214が提供する背景画像と、描画生成部216が生成する描画画像とを所定のタイミングで定期的に合成する手段である。合成部218は、レイアウト管理部214に背景画像の提供要求を送信し、レイアウト管理部214からDMAによって画像フレームを取得する。合成部218は、合成画像を生成すると表示制御部220に提供する。
表示制御部220は、表示部112を制御する手段である。表示制御部220は、合成部218から合成画像を受信すると、表示部112に合成画像を表示する。
スナップショット生成部222は、背景画像と描画画像との合成画像であるスナップショット画像を生成する手段である。スナップショット生成部222は、レイアウト管理部214が提供する背景画像と、描画生成部216が生成した描画画像とを合成してスナップショット画像を生成する。本実施形態では、背景画像および描画画像の合成画像をスナップショット画像として生成するが、他の実施形態では、アプリ画像生成部212が生成する画像、背景画像および描画画像の合成画像をスナップショット画像として生成してもよい。
スナップショット生成部222は、表示部112に表示された画像の取得を指示する選択通知イベントを受信すると、スナップショット画像を生成する。また、スナップショット生成部222は、レイアウト管理部214の指示により、スナップショット画像を生成する。スナップショット生成部222は、スナップショット画像を生成すると、リポジトリ管理部228に対し、スナップショット画像を記憶装置230に保存させる。
スナップショット保存部236は、記憶装置230に保存されたスナップショット画像を外部記憶装置242に保存する手段である。スナップショット保存部236は、スナップショット画像の保存を指示する選択通知イベントを受信すると、記憶装置230からリポジトリ管理部228を介してスナップショット画像を取得し、画像出力インタフェース234に接続された外部記憶装置242にスナップショット画像を出力する。
スナップショット送信部238は、記憶装置230に保存されたスナップショット画像を画像処理装置110bおよびユーザPC130dに送信する手段である。スナップショット送信部238は、スナップショット画像の送信を指示する選択通知イベントを受信すると、記憶装置230からリポジトリ管理部228を介してスナップショット画像を取得し、通信制御部250にスナップショット画像を出力する。
リポジトリ管理部228は、スナップショット画像を格納すべき記憶装置230を制御する手段である。リポジトリ管理部228は、上述したように、スナップショット生成部222の指示により、スナップショット画像を記憶装置230に保存する。また、リポジトリ管理部228は、スナップショット保存部236またはスナップショット送信部238の指示により、記憶装置230からスナップショット画像を取得し、画像出力インタフェース234または通信制御部250に送信する。
通信制御部250は、ネットワーク114を介した他の画像処理装置110bやユーザPC130dとの通信を制御する手段である。通信制御部250は、ネットワークインタフェースである通信部252を介して、表示部112に表示された画像フレームやスナップショット画像等の画像データ、描画情報および種々のイベントなどの情報を通信する。
図3は、レイアウト管理部214の機能構成を示す図である。以下、図3を参照して、レイアウト管理部214の機能構成について説明する。
レイアウト管理部214は、制御部300と、フレームバッファ302と、画像フレーム提供部304と、特徴領域決定部306とを含む。
制御部300は、レイアウト管理部214の全体制御を行う手段である。制御部300は、合成部218から背景画像の提供要求を受信すると、画像取得部206から背景画像である画像フレームを取得し、フレームバッファ302を介して合成部218に提供する。
また、制御部300は、表示部112に表示されている背景画像の切り替わりの有無を判断する。具体的には、制御部300は、特徴領域決定部306が提供する特徴領域の座標情報を使用して、表示部112に表示されている背景画像の特徴領域と、表示部112に表示すべき背景画像の特徴領域とを比較し、背景画像の切り替わりの有無を判断する。
背景画像が切り替わった場合、制御部300は、表示部112に表示されているコンテンツが動画であるか否か、すなわち、表示部112に表示されている画像が一定時間継続して表示されている静止画であるか判断する。表示部112に表示されているコンテンツが静止画である場合には、制御部300は、画像フレーム提供部304を介して、スナップショット生成部222にスナップショット画像を生成させる。これにより、有意な背景画像のスナップショット画像を生成することができる。
フレームバッファ302は、画像取得部206にバッファリングされている背景画像である画像フレームを記憶する記憶手段である。フレームバッファ302には、画像フレームを構成する各画素の画素値と、画像フレームの属性情報とが保存される。フレームバッファ302には、複数の画像フレームを保存することができる。
画像フレーム提供部304は、背景画像である画像フレームをスナップショット生成部222に提供する手段である。画像フレーム提供部304は、制御部300の指示により、フレームバッファ302から画像フレームを取得し、スナップショット生成部222に提供し、スナップショット画像の生成を指示する。
特徴領域決定部306は、表示部112に表示される画像の特徴領域を決定し、特徴領域の座標情報を生成する手段である。特徴領域決定部306は、描画生成部216の特徴領域の更新指示により、描画生成部216が生成する描画情報を使用して画像の特徴領域を決定し、特徴領域の座標情報を生成する。特徴領域決定部306は、制御部300からの要求に応じて特徴領域の座標情報を提供する。
図4は、特徴領域の決定方法の一実施形態を示す図である。画像フレーム400〜1410は、画像処理装置110aの表示部112に表示される画像である。以下、図4を参照して、特徴領域決定部306が採用する特徴領域の決定方法について説明する。
まず、画像フレーム400を参照して、描画画像である一本の線401が描画された場合の特徴領域の決定方法について説明する。この場合、線401の始点402、中点403、終点404、始点402および中点403の間の点405、中点403および終点404の間の点406を含む5つの矩形領域407〜411を特徴領域とすることができる。
次に、画像フレーム420を参照して、複数の線421,422,423が描画された場合の特徴領域の決定方法について説明する。本実施形態では、5つの特徴領域を決定する。まず、線421,422,423の中点424,425,426を含む矩形領域429,430,431を抽出する。この時点では、矩形領域の数が3つであるため、線421の始点427を含む矩形領域432をさらに抽出する。この時点では、矩形領域の数が4つであるため、線422の始点428を含む矩形領域433をさらに抽出する。5つの矩形領域を抽出すると、これらの矩形領域を特徴領域として決定する。
次に、画像フレーム440を参照して、描画画像である1つのオブジェクト441が描画された場合の特徴領域の決定方法について説明する。本発明では、線以外の描画図形をオブジェクトとする。この場合、オブジェクト441に外接する矩形442の中心点443および頂点444〜447を含む5つの矩形領域448〜452を特徴領域とすることができる。
次に、画像フレーム460を参照して、複数のオブジェクト461,462,463が描画された場合の特徴領域の決定方法について説明する。この場合、総てのオブジェクト461,462,463を包含する外接矩形464の中心点465および頂点466〜469を含む5つの矩形領域471〜474を特徴領域とすることができる。
次に、画像フレーム480を参照して、オブジェクトおよび線が描画された場合の特徴領域の決定方法について説明する。まず、総てのオブジェクト481,482,483を包含する外接矩形484の中心点485を含む矩形領域488と、対向する2つの頂点486,487を含む矩形領域489,490を特徴領域として抽出する。次に、線491の中点493を含む矩形領域495と、線492の中点494を含む矩形領域496を特徴領域として抽出する。図4に示す実施形態では、描画画像として複数の線が描かれているため、2本の線の中点を含む矩形領域を特徴領域として抽出するが、描画画像である線が1本のみ描かれている場合には、当該1本の線の中点を含む矩形領域および始点を含む矩形領域を特徴領域とすることができる。
次に、画像フレーム1400を参照して、小さなオブジェクト1401が描画された場合の特徴領域の決定方法について説明する。この場合、オブジェクト1401に外接する矩形1402の中心点1403を含む矩形領域1404と、当該矩形領域の各頂点に接する矩形領域1405〜1408を特徴領域として抽出することができる。小さなオブジェクトとは、描画画像であるオブジェクトの外接矩形の中心点を含む矩形領域と、当該外接矩形の頂点を含む矩形領域とが重なる程度の大きさのオブジェクトをいう。
次に、画像フレーム1410を参照して、短い線1411が描画された場合の特徴領域の決定方法について説明する。この場合、線1411の中点1412を含む矩形領域1413と、当該矩形領域に隣接する矩形領域であって線1411を包含する矩形領域1414,1415と、矩形領域1414,1415に隣接する矩形領域であって線1411を包含する矩形領域1416,1417とを特徴領域として抽出することができる。短い線とは、描画画像である線の中点を含む矩形領域と、当該中点と当該線の始点との中点を含む矩形領域とが重なる程度の大きさの線をいう。
図5は、本発明の画像処理装置が実行する処理を示すフローチャートである。以下、図5を参照して、画像処理装置110aのレイアウト管理部214が実行する処理について説明する。
図5の処理は、ステップS500でレイアウト管理部214の制御部300が、合成部218から背景画像の提供要求を受信することにより開始する。ステップS501では、制御部300は、画像フレームの転送先を指定して、画像取得部206に画像フレームの転送を指示する。画像取得部206は、レイアウト管理部214から画像フレームの転送指示を受信すると、ビデオRAM208に保存されている画像フレームを、指定された転送先であるフレームバッファ302内のアドレスに転送し、転送完了通知を制御部300に送信する。
本実施形態では、制御部300は、画像フレームの転送先を指定する場合、フレームプールから画像フレームの転送先のアドレスを取得する。フレームプールには、画像フレームを格納可能なフレームバッファ302のアドレスが複数保存されている。画像フレームがフレームバッファ302に保存されると、フレームプールから画像フレームの転送先のアドレスが削除され、当該アドレスへの画像フレームの転送が禁止される。画像フレームがフレームバッファ302から削除されると、画像フレームの転送先のアドレスがフレームプールに追加され、当該アドレスへの画像フレームの転送が可能となる。
ステップS502では、制御部300は、画像取得部206から転送完了通知を受信したか否か判断する。転送完了通知を受信していない場合は(no)、ステップS502を反復する。一方、転送完了通知を受信した場合には(yes)、処理がステップS503に分岐する。ステップS503では、制御部300は、画像取得部206から転送された画像フレームを計数するカウンタの値をインクリメントする。ステップS504では、制御部300は、カウンタの値を当該画像フレームの属性情報としてフレームバッファ302に保存する。
ステップS505では、制御部300は、画像取得部206から転送された画像フレームが保存されているフレームバッファ302のアドレスを合成部218に通知する。合成部218は、制御部300が通知するフレームバッファ302のアドレスに保存されている画像フレームをDMAにより取得し、当該画像フレームを用いて合成画像を生成し、表示制御部220を介して表示部112に合成画像を表示する。
ステップS506では、制御部300は、先行する処理でサンプリングした画像フレームのアドレスをフレームバッファ302から取得する。ステップS507では、制御部300は、ステップS501の要求の応答として画像取得部206から取得した画像フレームが、サンプリングすべき画像フレームであるか否か判断する。
より詳細には、制御部300は、フレームバッファ302に保存されている画像フレームの属性情報であるカウンタ値が、所定の閾値以上であるか否か判断することにより、サンプリングすべき画像フレームであるか否か判断する。カウンタ値が所定の閾値以上である場合、制御部300は、この画像フレームをサンプリングすべき画像フレームであると判断する。本実施形態では、例えば、フレームレートが60fpsである場合、5枚〜10枚毎に1枚のサンプリング画像を取得するため、フレームレート「60」の1/10〜1/5の値を閾値とする。
サンプリングすべき画像フレームでないと判断した場合には(no)、処理がステップS508に分岐する。ステップS508では、制御部300は、サンプリングすべきでないと判断した画像フレームをフレームバッファ302から削除し、処理がステップS501に戻る。一方、ステップS507の判定でサンプリングすべき画像フレームであると判断した場合には(yes)、処理がステップS509に分岐する。
ステップS509では、制御部300は、サンプリングすべきと判断した画像フレームと、ステップS506で取得したアドレスに保存されている画像フレーム、すなわち、先行する処理でサンプリングした画像フレームとを比較し、変化の有無を判断する。
ステップS510では、ステップS509の処理で画像フレームに変化が有ると判断した場合には(yes)、処理がステップS511に分岐する。一方、画像フレームに変化が無いと判断した場合には(no)、処理がステップS508に分岐する。ステップS508では、制御部300は、ステップS507でサンプリングすべきと判断した画像フレームをフレームバッファ302から削除する。
ステップS511では、制御部300は、表示部112に表示されているコンテンツが動画であるか否か判断する。ステップS512では、表示部112に表示されているコンテンツが動画であると判断した場合には(yes)、処理がステップS514に分岐する。一方、表示部112に表示されているコンテンツが動画でないと判断した場合には(no)、処理がステップS513に分岐する。
ステップS513では、制御部300が、画像フレーム提供部304に対し、サンプリングすべきと判断した画像フレームをフレームバッファ302から取得させ、当該画像フレームをスナップショット生成部222に提供してスナップショット画像を生成させる。
ステップS514では、制御部300は、前回サンプリングした画像フレームをフレームバッファ302から削除する。ステップS515では、制御部300は、カウンタをリセットしてカウンタ値をクリアする。
図6は、図5に示すS509の処理の詳細を示すフローチャートである。以下、図6を参照して、制御部300が実行する画像フレームの変化の有無を判断する処理について説明する。
図6に示す処理は、ステップS600から開始し、ステップS601で制御部300が、特徴領域決定部306から特徴領域の座標情報を取得する。ステップS602では、制御部300は、比較対象の2の画像フレームについて、当該座標情報が示す特徴領域を構成する各画素の画素値を量子化する。ステップS603では、制御部300は、比較対象の2の画像フレームについて、対応する特徴領域の量子化された各画素の画素値の差異を算出する。
ステップS604では、制御部300は、特徴領域の画素値の差異が所定の閾値以上であるか否か判断する。本実施形態では、肉眼で観察した場合に特徴領域の画素が変化したと判断できる差異を、所定の閾値としてすることができる。また、本実施形態では、特徴領域を構成する画素のうち少なくとも1つの画素について差異が閾値以上であれば、特徴領域の画素値の差異が閾値以上であると判断するが、他の実施形態では、特徴領域の総ての画素について画素値の差異の平均値を算出し、当該平均値が閾値以上であれば、特徴領域の画素値の差異が閾値以上であると判断してもよい。さらに、特徴領域が複数ある場合には、いずれか一つの特徴領域について、特徴領域の画素値の差異が閾値以上であると判断した場合には、処理がステップS605に分岐する。
特徴領域の画素値の差異が所定の閾値以上である場合には(yes)、処理がステップS605に分岐する。ステップS605では、制御部300は、画像フレームに変化が有ると判断し、ステップS607で処理が終了する。一方、特徴領域の画素値の差異が所定の閾値より小さい場合には(no)、処理がステップS606に分岐する。ステップS606では、制御部300は、画像フレームに変化が無いと判断し、ステップS607で処理が終了する。
図7は、図5に示すS511の処理の詳細を示すフローチャートである。以下、図7を参照して、制御部300が、背景画像が切り替わるか否か判断する処理について説明する。
図7に示す処理は、ステップS700から開始し、ステップS701で制御部300が、ステップS510で変化が有ると判断した比較対象の2つの画像フレームのカウンタ値の差異を算出する。ステップS702では、制御部300は、カウンタ値の差異が所定の閾値以上であるか否か判断する。例えば、フレームレートが60fpsで同一の背景画像が2秒以上表示されている場合にスナップショット画像を生成するためには、当該閾値を120(=60fps×2秒)とする。ユーザは、任意の値を閾値として採用することができる。
カウンタ値の差異が所定の閾値以上である場合には(yes)、処理がステップS703に分岐する。ステップS703では、制御部300は、表示部112に表示されているコンテンツは動画ではないと判断し、ステップS705で処理が終了する。一方、カウンタ値の差異が所定の閾値より小さいと判断した場合には(no)、処理がステップS704に分岐する。ステップS704では、制御部300は、表示部112に表示されているコンテンツは動画であると判断し、ステップS705で処理が終了する。
図8は、特徴領域の更新処理を示すフローチャートである。以下、図8を参照して、新たな描画画像が生成された場合に、特徴領域を更新する処理について説明する。
図8(a)に示す処理は、描画生成部216が描画画像を生成または削除することにより、ステップS800から開始する。ステップS801では、描画生成部216は、残存する総ての描画画像の種類を判断する。
本実施形態では、描画画像の隣接する画素の座標が経時間的に増加または減少する場合には、描画画像の種類が「線」であると判断し、それ以外の場合には「オブジェクト」と判断する。例えば、描画画像を構成する2つの隣接画素のx座標およびy座標が(112,234)および(123,78)である場合、x座標は値が増加し、y座標は値が減少しているため、描画生成部216は、描画画像の種類が「線」であると判断する。また、描画画像を構成する3つの隣接画素のx座標およびy座標が(112,234)、(123,78)および(146,113)である場合には、y座標は値が減少および増加しているため、描画生成部216は、描画画像の種類が「オブジェクト」であると判断する。
ステップS802では、描画生成部216は、描画画像の識別情報、描画画像の種類、描画画像の座標情報、描画画像の色情報および描画画像の付加情報等を含む描画情報をRAM204の所定の記憶領域に保存する。
図9は、描画情報の一実施形態を示す図である。図9に示すデータ構造体900には、描画画像の種類が「線」である場合の描画情報が格納される。データ構造体910には、描画画像の種類が「オブジェクト」である場合の描画情報が格納される。描画画像の種類が「線」であるデータ構造体900には、描画情報の付加情報920が格納されるメモリアドレスが保存される。描画情報の付加情報920は、描画画像の起点、中心および終点の座標情報で構成される。
ステップS803では、描画生成部216は、レイアウト管理部214の特徴領域決定部306に対して特徴領域の更新を指示し、ステップS804で処理が終了する。
図8(b)に示す処理は、特徴領域決定部306が、描画生成部216から特徴領域の更新指示を受信することにより、ステップS805から開始する。ステップS806では、特徴領域決定部306は、描画生成部216に描画情報を要求し、描画情報を取得する。ステップS807では、特徴領域決定部306は、描画情報を用いて特徴領域を決定し、当該特徴領域の座標情報を生成する。ステップS808では、特徴領域決定部306は、特徴領域の座標情報をRAM204の所定の記憶領域に保存し、ステップS809で処理が終了する。
図10は、本発明の画像処理装置が表示するGUI画面の一実施形態を示す図である。画面1000には、スナップショット画像のサムネイル1010と、描画画像の色選択やスナップショット画像の指示等を行うためのGUI1020とが含まれる。スナップショット画像のサムネイル1010には、画像処理装置110a,110bが生成したスナップショット画像が生成順に表示される。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、本実施形態の構成要素を変更若しくは削除し、または本実施形態の構成要素を他の構成要素を追加するなど、当業者が想到することができる範囲内で変更することができる。上述した実施形態では、ネットワーク114を介して複数の画像処理装置が通信可能に接続されるが、他の実施形態では、画像処理装置110aをネットワーク114に接続せず、スタンドアローンで使用してもよい。いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。