(58)【調査した分野】(Int.Cl.,DB名)
前記画像取得部は、前記第1画像を複数時点で取得しており、前記画像出力部は、前記出力する指示を受け付けた差分領域に対応する前記第1画像の部分を時系列順に第2画像に反映して、更新された第2画像を順次前記第2ディスプレイへ出力する、請求項1に記載の情報処理装置。
前記指示受付部は、前記出力するかの指示に応じて差分領域に対し公開属性または非公開属性を付加し、前記差分領域抽出部は、互いに重なる複数の差分領域を併合して、非公開属性を優先して引き継がせた1つの差分領域を生成する、請求項1または2に記載の情報処理装置。
前記画像取得部は、前記第1画像を複数時点で取得しており、前記指示受付部は、前記出力するかの指示に応じて差分領域に対し公開属性または非公開属性を付加しており、前記差分領域抽出部は、互いに重なる複数の差分領域を併合して、非公開属性を優先して引き継がせた1つの差分領域を生成しており、前記画像出力部は、前記出力する指示を受け付けた差分領域に対応する前記第1画像の部分(非公開属性値が付されたものを除く。)を時系列順に第2画像に反映して、更新された第2画像を順次前記第2ディスプレイへ出力する、請求項1に記載の情報処理装置。
予め出力するかの指示が指定される差分領域を特定するパターンを用いて、該パターンに適合する既定の差分領域を検出する既定差分領域検出部をさらに含む、請求項1に記載の情報処理装置。
前記差分領域各々を視覚的に示し、前記出力するかの指示を受け付けるための画像部品が前記差分領域各々に関連付けて前記第1画像上に設けられた指示受付画面を前記第1ディスプレイに表示させる表示部をさらに含む、請求項1に記載の情報処理装置。
ネットワークを介して、前記指示受付画面を1以上の外部の情報処理装置に配信する画面配信部を含み、前記指示受付部は、前記外部の情報処理装置からの前記指示受付画面を介した前記出力するかの指示を受信する、請求項6に記載の情報処理装置。
前記指示受付画面は、複数の差分領域に対する前記出力するかの指示を一括して受け付けるための画像部品および操作イベント処理を含む、請求項6に記載の情報処理装置。
前記指示受付画面は、結合条件に合致する複数の差分領域をまとめて視覚的に示し、前記結合条件に合致する複数の差分領域に対する前記出力するかの指示を一括して受け付ける画像部品を含む、請求項6に記載の情報処理装置。
前記差分領域は、前記第1画像と前記第2画像との画像が異なる部分を包含する最小の図形で表され、出力しない指示を受け付けた差分領域に対応する第2画像の部分は、マスク画像または更新前の画像とされる、請求項1に記載の情報処理装置。
前記第1画像を取得するステップおよび前記差分領域を抽出するステップは、所定間隔で繰り返されており、前記第2ディスプレイへ出力するステップは、時系列順に、前記出力する指示を受け付けた差分領域に対応する各時点の第1画像の部分を第2画像に反映して、更新された各時点の第2画像を前記第2ディスプレイへ出力するステップを含む、請求項12に記載の画面出力制御方法。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、複数のディスプレイ出力を有する情報処理装置を含む画面出力システムとして、メインディスプレイを搭載し、さらにサブディスプレイとして外部映像出力装置に接続されたコンピュータ装置を含む、映像投影システムを一例に説明する。
【0016】
図1は、本実施形態による映像投影システムの概略構成を示す図である。
図1に示す映像投影システム100は、コンピュータ装置110を含む。
図1に示すコンピュータ装置110は、メインディスプレイ140を搭載しており、さらに、VGA(Video Graphics Array)、DVI(Digital Visual Interface)、HDMI(High-Definition Multimedia Interface)などの外部映像出力インタフェースを介して、外部の映像出力装置150に接続されており、複数のディスプレイ出力を有する構成とされる。
【0017】
上記コンピュータ装置110は、
図1では、ディスプレイを備えるノート型パーソナル・コンピュータを例示するが、特に限定されるものではなく、ディスプレイを搭載し、または外部ディスプレイに接続される、タワー型、マイクロタワー型、デスクトップ型、モバイル型またはタブレット型のパーソナル・コンピュータ、サーバ、ワークステーションなどの汎用コンピュータとして構成することができる。あるいは、上記コンピュータ装置110は、携帯電話、スマートフォン、タブレット端末、PDA(Personal Digital Assistance)端末などの携帯情報端末として構成することもできる。上記メインディスプレイ140および映像出力装置150は、特に限定されるものではないが、それぞれ液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ、プラズマ・ディスプレイ、液晶,DLP(登録商標),LCOS(Liquid Crystal On Silicon)などのビデオ・プロジェクタ、リアプロジェクション・ディスプレイ、CRT(Cathode Ray Tube)モニタなどを用いることができる。
【0018】
本実施形態によるコンピュータ装置110は、当該装置のメインディスプレイ140に出力している画面(以下、ローカル画面)を上記映像出力装置150に出力するための画面出力制御ソフトウェア(詳細は後述する。)を備えている。
【0019】
上記映像出力装置150からローカル画面を投影する場合、ローカル画面上に存在する「公開されては好ましくない情報」が、映像出力装置150を通じて公開されてしまう可能性がある。
図2および
図3は、「公開されては好ましくない情報」がローカル画面上に表示されてしまうシナリオを説明する図である。
図2および
図3は、ブラウザを用いて所定のURLで指定されるサイトにアクセスする際における、ブラウザ画面のスナップショット200,220,240,260,280を例示する。
【0020】
まず、
図2(A)のスナップショット200で示すように、ブラウザのアドレスバー202に文字列204が入力されると、
図2(B)スナップショット220で示すように、入力アシスト機能により、履歴情報やブックマーク情報に基づき、入力された文字列204にマッチするサイトの候補を列挙するドロップダウン・メニュー222が表示されることがある。このとき、
図2(C)のスナップショット240で示すように、ドロップダウン・メニュー222から目的のサイトに対応する候補アイテム242が選択されると、
図3(A)に示す過渡的な読み込み画面を経て、
図3(B)に示す目的のサイトのトップページ284がブラウザ上に表示される。
【0021】
上記シナリオにおいて、アドレスバーへの文字入力の詳細(
図2(A)の入力途中の文字列204)、候補サイトのリストアップ(
図2(B)のドロップダウン・メニュー222)、サイト決定の詳細(
図2(C)の候補アイテム242のハイライト)、読み込み画面におけるアドレスバー、タブやステータスバーの変化(
図3(A)のタブ表示264、URL表示266およびプログレス表示268)などは、必ずしも映像出力装置150から投影することを要しない。特に入力アシスト機能によるドロップダウン・メニュー222の内容は、私的な情報を含む可能性があるため、むしろ投影されない方が好ましい。その一方で、
図3(B)のスナップショット280で示す最終的に切り替わった後の画面は、目的のサイトのトップページ284が含まれるため、上記シナリオでは投影させたい画面となる。
【0022】
そこで、本実施形態の画面出力制御プログラムは、ローカル画面の各遷移における更新部分(
図2および
図3に示す領域210,230,250,270,272,274,276,290,292,294,296を含む。)を検出し、ローカル画面の各部分についてオペレータに指示を求め、オペレータから公開を許可されなかった部分はマスク等をし、公開を許可された部分が反映された公開画面を上記映像出力装置150に出力する機能を備える。このとき、上記映像出力装置150から出力される公開画面は、全ての部分の公開が許可されればローカル画面と同一の画面となり、少なくとも一部の公開が許可されなければ、ローカル画面と異なる画面となる。
【0023】
図1を再び参照すると、上記コンピュータ装置110は、さらに、ネットワーク102を介して、外部のコンピュータ装置(以下、リモート端末という。)160a,160bに接続することができる。上記ネットワーク102は、特に限定されるものではないが、インターネットやLAN(Local Area Network)などの有線または無線のネットワークを含むことができる。本実施形態のコンピュータ装置110は、上述したローカル画面の公開を許可する部分の指示を、当該コンピュータ装置110のオペレータから受け付けるとともに、ネットワーク102を介してリモート端末160(以下、リモート端末160a,160bを代表してリモート端末160と参照する。)から受け付けることができるよう構成される。
【0024】
なお、説明する実施形態では、内蔵ディスプレイ−外部ディスプレイ(外部の映像出力装置)の構成を例に説明するが、他の実施形態では、複数の内蔵ディスプレイを備える構成としてもよく、複数の外部ディスプレイを備える構成としてもよい。また、コンピュータ装置110と映像出力装置150との接続は、説明する実施形態では、外部映像出力インタフェースを介して行われるものとして説明するが、有線USB(Universal Serial Bus)接続、無線USB接続、有線LAN(Local Area Network)接続または無線LAN接続によってなされてもよい。
【0025】
以下、
図4〜
図10を参照しながら、本実施形態によるコンピュータ装置上で動作する画面出力制御ソフトウェアの詳細について説明する。
図4は、本実施形態によるコンピュータ装置上に実現される画面出力制御ソフトウェアの機能ブロックを示す図である。
図4に示すコンピュータ装置110上の機能ブロックは、ローカル画面の画像を取得するローカル画像取得部112と、差分領域抽出部114と、UI表示部116と、指示入力部118と、ローカル画面の公開を許可された部分が反映された公開画面を映像出力装置150に出力する公開画面出力部120とを含む。
【0026】
ローカル画像取得部112は、例えば所定インターバル毎に、メインディスプレイ140に出力されるローカル画面をキャプチャし、キャプチャされた画像を取得画像Lとして、RAM(Random Access Memory)などの主記憶装置等に保存する。ローカル画面の全部または一部が投影対象に設定されており、ローカル画面の投影対象範囲の画像が映像出力装置150からスクリーンに投影される。ローカル画像取得部112は、上記ローカル画面の投影対象範囲の画像を取得する機能を有し、本実施形態の画像取得部を構成する。以下、ローカル画面の投影対象範囲の画像をローカル画像Lといい、ローカル画像Lに対応して映像出力装置150に出力される公開画面の画像を公開画像Pという。
【0027】
取得されたローカル画像(取得画像)Lは、適宜、画像リストS中に蓄積される。画像リストS内の画像(以下、蓄積画像という。)s−1〜s−nは、詳細を後述するダイジェスト表示のために保存されるものであり、ローカル画面の状態を公開画面に反映させる同期処理が行われるまでの期間保存される。画像リストSは、RAMなどの主記憶装置またはSSD(Solid State Drive)やHDD(Hard Disk Drive)などの補助記憶装置に保存される。
【0028】
差分領域抽出部114は、例えば所定インターバル毎に、ローカル画像取得部112が取得した取得画像Lと、直近に映像出力装置150に出力された画像(以下、同期処理により更新され、差分抽出の際に比較される画像を同期画像と参照する)P’とを比較し、その画像間の変更部分である差分領域を抽出する。
【0029】
差分領域は、特に限定されるものではないが、処理高速化の観点から好適には、更新部分の画素領域を包含する最小の矩形領域として、2点の座標情報で表すことができる。
図14(A)は、吹き出し表示オブジェクトが更新部分の画素領域490として検出された場合の、矩形領域として表される差分領域492Aを例示する図である。なお、
図14(B)に示すように、差分領域は、更新部分の画素領域490を包含する最小の図形領域(線分や曲線で囲まれた領域)492Bとして、複数点の座標情報およびパラメータで表すこともでき、厳密に更新部分の画素領域に対応した形状としてもよい。新たに抽出された差分領域を要素とする集合(差分領域集合)rは、差分領域リストRに登録される。差分領域リストRも同様に適切な記憶装置に保存される。
【0030】
差分領域抽出部114は、また、差分領域リストR内で互いに重なり合う複数の差分領域を見つけた場合は、これら複数の差分領域を併合(merge)して1つの差分領域の要素とする。併合された差分領域は、好適には、併合前の複数の差分領域を包含する最小の矩形領域とされる。
図14(C)は、複数の差分領域494,496を包含する最小の矩形領域として表される併合後の差分領域498Aを例示する図である。なお、
図14(D)に示すように、併合された差分領域は、複数の差分領域494,496を包含する最小の図形領域498Bとして、複数点の座標情報およびパラメータで表すこともでき、併合される複数の差分領域494,496に厳密に対応した形状としてもよい。
【0031】
比較にかかる取得画像Lおよび同期画像P’間の差分領域の抽出は、例えば、動画コーデックにおける前後フレーム間の差分を抽出する技術や、監視カメラ装置で変化を検出する際に用いられる画像間の差分を抽出する技術を適用して実現することができる。差分領域の抽出に適用できるこのような技術としては、特許文献8(特開2010−237936号公報)、特許文献9(特開2001−197479号公報)、特許文献10(特開2010−244561号公報)、特許文献11(特開2009−98281号公報)に開示される技術を挙げることができる。また、取得画像Lおよび同期画像P’の縮小画像を準備し、縮小画像を比較することにより、フルサイズの場合に比べて処理の高速化を図っても良い。
【0032】
UI表示部116は、差分領域リストRから各差分領域の要素を取得し、コンピュータ装置110のメインディスプレイ140上に、各差分領域について公開を許可する(出力する)かまたは公開を許可しない(出力しない)かの指示をオペレータに求めるGUI(Graphical User Interface)部品を表示する。UI表示部116は、好適には、上記差分領域各々を視覚的に示すビジュアル・キュー(VC:Visual Cue)と、差分領域各々に関連付けて上記ローカル画像上に設けられた上記GUI部品とを含む指示受付画面を、メインディスプレイ140上に提供する。なお、このようなビジュアル・キューやGUI部品も、ローカル画面に表示されることになるが、上記ローカル画像取得部112が取得するローカル画像Lは、このようなビジュアル・キューやGUI部品が除かれたものとなる。
【0033】
指示入力部118は、コンピュータ装置110が備えるマウス、キーボード、タッチパッドなどの入力装置を介した入力操作を通じて、各差分領域について公開を許可するか否かの指示を受け付ける。指示入力部118は、公開を許可する旨の指示が行われた各差分領域に対して公開属性値を付加し、一方で公開を許可しない旨の指示が行われた各差分領域に対して非公開属性値を付加する。したがって、差分領域リストRの要素は、差分領域を画定する座標情報とともに、差分領域に付加された上記属性値を保持する。
【0034】
指示入力部118は、さらに、上記入力装置を介した入力操作を通じて、公開が許可された部分につきローカル画面の状態を公開画面に反映させる同期処理の実行を求める、オペレータからの明示的な指示を受け付けることができる。上記明示的な指示としては、指示受付画面におけるGUI部品に対するマウスやタッチパッドによる入力操作のほか、明示的な同期を指令するコマンドが割り当てられたショートカットキーとしてもよい。同期を行う旨の明示的な指示が行われると、同期フラグFが立てられる。
【0035】
画面出力制御ソフトウェアの機能ブロックは、さらに、上記同期処理を定期的に実行するタイミングを規定する同期タイマ124を含むことができる。同期タイマ124は、セットされたインターバルが経過すると、同期処理の実行を求める暗黙的な指示として、同期フラグFを立てる。
【0036】
上記公開画面出力部120は、上記明示的に同期処理を指示する入力操作イベントが発生し、または上記同期タイマ124にセットされたインターバルが経過したことに対応し同期フラグFが立てられたことに応答して、同期処理を実行する。同期処理では、公開画面出力部120は、上記公開属性値が付加された差分領域に対応する上記ローカル画像Lの部分を、直近の公開画像P’に上書きして、更新された公開画像Pを映像出力装置150へ出力する。更新された公開画像Pまたは同期時のローカル画像Lは、差分領域抽出部114で次回比較を行うために、同期画像P’として保存される。
【0037】
公開画面出力部120は、さらに、上述したダイジェスト表示を行うため、遷移画像生成部122を備えることができる。上述したように、ローカル画像取得部112は、複数時点でローカル画像Lを取得し、画像リストS内に蓄積している。遷移画像生成部122は、画像リストS内の各時点の蓄積画像s−1〜s−nから、上記公開属性値が付加された差分領域に対応する部分の画像を取得し、各遷移画像を生成する。公開画面出力部120は、各遷移画像を時系列順に公開画像P’に合成して、更新された画像を順次、映像出力装置150に出力する。この順次出力される画像は、前回の同期処理で公開画像が出力されてから、今回の同期で最新状態が反映された公開画像を出力するまでの期間におけるローカル画面の変化を要約するものであり、静止画像のコマ送りとして、または動画として出力される。
【0038】
上述したように各差分領域に対しては、オペレータからの指示により、公開属性値または非公開属性値が付加されることになる。画面出力制御ソフトウェアは、このようなオペレータからの明示的な指示に基づくほか、オペレータからの指示を求めずに、定型として予め定義された既定差分領域を検出して属性値を付加する既定領域検出部130を備えることができる。既定領域検出部130には、既定差分領域を特定するためのパターンが定義されている。既定領域検出部130は、差分領域リストR内の差分領域が定義パターンにマッチする場合には、その差分領域を既定差分領域として検出し、そのマッチした定義パターンに対応付けられた既定属性値(公開属性値または非公開属性値)を付加する。
【0039】
画面出力制御ソフトウェアの機能ブロックは、さらに、指示画面配信部132と、指示受信部134とを備えることができる。指示画面配信部132は、予めリモート接続を確立しているリモート端末160に、上述した指示受付画面を配信する。指示受信部134は、リモート端末160からの上記指示受付画面を介した公開を許可するか否かの指示を受信する。
【0040】
上記のように、ローカル画面の公開を許可する部分の指示をリモート端末160からも受け付けることにより、発表等の場面において、ローカル画面の変更部分の公開または非公開の選択や同期指示をチームの共同作業として行うことができる。これにより、複数人による監視の下、漏れのない緻密な公開および非公開の制御を行うことが可能となる。指示入力部118および指示受信部134またはこれらのいずれか一方は、本実施形態における指示受付部136を構成する。
【0041】
以下、
図5および
図6を参照しながら、本実施形態における同期処理について、より詳細に説明する。
図5は、本実施形態におけるローカル画面と公開画面との同期処理の流れを説明する図である。
図5には、複数時点T0〜T4において取得されるローカル画像Lと、対応してビジュアル・キューVCおよびGUI部品が表示されたローカル画面L+と、同期時に出力される公開画像Pとが模式的に示されている。時点T0は、前回の同期処理に対応するものであり、時点T0においては、ローカル画像Lの全体が公開を許可され、ローカル画像Lと同一の公開画像Pが映像出力装置150から投影されている。
【0042】
時点T1および時点T2では、コンピュータ装置110に対するオペレータの入力操作に応答して、ウィンドウ画面やプルダウンメニューなどのオブジェクトObj1,Obj2がローカル画像L上に生成され、これらオブジェクトObj1,Obj2に対応する領域が、ローカル画像L(T1,T2)と公開画像P’との差分領域として抽出される。ローカル画面L+上では、差分領域が抽出されたことに対応して、それぞれオブジェクトObj1,Obj2を囲むフレームなどのビジュアル・キューVCと、公開または非公開を指示するボタンなどのGUI部品とが表示される。
【0043】
図5に示すオブジェクトObj1,Obj2は、画面リサイズなどの操作により発展しており、例えばオブジェクトObj1については、時点T1の後も複数の時点T2,T3、T4でそれぞれローカル画像Lと公開画像P’との差分領域として新たに抽出される。このとき、時点T2,T3、T4で抽出されるオブジェクトObj1の差分領域は、互いに重なり合うため、併合されて1つの要素として扱われる。なお、
図5では、同一オブジェクトに対しては、時系列を通して同一のハッチングがかけられている点に留意されたい。
【0044】
時点T3では、各オブジェクトObj1,Obj2の差分領域に対して、公開するか非公開とするかのGUI部品(
図5中、「○」または「×」で表されている。)に対する入力操作が行われる。ここでは、時間T4に示すように、オブジェクトObj1については「非公開」が指示され、オブジェクトObj2については「公開」が指示されるものとして説明を続ける。
【0045】
上記明示的に同期処理を指示する入力操作イベントが発生し、または同期タイマ124にセットされたインターバルが経過したことに対応し、時点T4では同期フラグFが立てられたことを検出して、同期処理が実行される。上記例の指示が行われた場合は、非公開の指示が行われたオブジェクトObj1に対応する部分302がマスク画像(グレイアウト、白ベタ、黒ベタなど)で置換されるか、または更新前の画像のままとされ、一方で公開が指示されたオブジェクトObj2に対応する部分304がローカル画像Lの最新状態に更新された、公開画像P(T4)が映像出力装置150から投影される。非公開のオブジェクトObj1に対応する部分302の公開は、次回の同期処理時まで保留されることになる。
【0046】
ダイジェスト表示が行われる場合には、画像リストS内の各時点のローカル画像L(T1,T2,T3)に対応する各蓄積画像から、上記公開属性値が付加されたオブジェクトObj2の差分領域に対応する部分の各遷移画像が生成され、時点T0の公開画像Pに遷移画像304a〜304cを合成したダイジェスト画像D1〜D3が、時点T4の公開画像Pに先立って時系列順に出力される。このようにダイジェスト表示を行うことによって、公開画像において操作中の画面の遷移を好適に再現することが可能となる。
【0047】
図6は、複数の同期ピリオドにわたる処理の流れを説明する図である。ここで、同期ピリオドは、同期処理が行われたタイミング間の期間をいう。
図6には、同期ピリオド毎に、各時点におけるローカル画面L+と、同期画像P’と、公開画像Pとが模式的に示されている。
図6の開始時点においては、
図5と同様に、ローカル画像Lの全体が公開を許可されており、ローカル画像Lと同一の公開画像が投影され、同期画像P’として蓄積されている。
【0048】
時点T0から1回目の同期処理が行われる時点T5までを含む第1ピリオドでは、入力操作により時点T0でオブジェクトObj1が生成され、新たな差分領域(以下、Obj1を付して参照する場合がある。)として抽出される。時点T5では、差分領域Obj1についてGUIを介して非公開の指示が行われ、差分領域Obj1に対し非公開属性値が付加される。この場合は、時点T5のローカル画像Lにおいて差分領域Obj1に対応する部分310が非公開(マスク画像または更新前の画像)とされた公開画像Pが公開される。そして、時点T5のローカル画像Lまたは公開画像Pが、次のピリオドのための同期画像P’として保存される。同期画像P’における領域312は、非公開属性値が付加された差分領域Obj1に対応する。
【0049】
時点T6から2回目の同期処理が行われる時点T11までを含む第2ピリオドでは、第1ピリオドで非公開とされた差分領域Obj1が、引き続いてそのまま差分領域として取り扱われる。第1ピリオドで差分領域Obj1に付加された非公開属性値は、第2ピリオドにおいても引き継がれる。また、第2ピリオドでは、入力操作により時点T7でオブジェクトObj2が生成され、新規な差分領域Obj2として抽出される。
【0050】
時点T11では、差分領域Obj2についてGUIを介して公開の指示が行われ、この差分領域Obj2に対し公開属性値が付加される。一方で、差分領域Obj1については、重ねて非公開の指示が行われたか、または公開の明示の指示が行われず、非公開属性が引き継がれている。この場合は、差分領域Obj1に対応する部分314が非公開とされ、公開が指示されたオブジェクトObj2に対応する部分316にローカル画像Lの最新状態が更新された公開画像Pが公開される。時点T11のローカル画像Lまたは公開画像Pは、同様に、次のピリオドのための同期画像P’として保存される。同期画像P’における領域318は、引き続き非公開とされた差分領域Obj1に対応する。
【0051】
ダイジェスト表示が行われる場合には、差分領域Obj2については、画像リストS内の各時点のローカル画像L(T6〜T10)に対応する蓄積画像から、対応する部分の遷移画像が生成され、ダイジェスト画像が時系列順に出力される。一方、差分領域Obj1については、第1ピリオドで一度明示的な非公開の指示が行われているので、遷移画像が公開されては好ましくないことから、遷移画像は取得されず、ダイジェスト画像においても非公開とされる。
【0052】
時点T12から3回目の同期処理が行われる時点T17までを含む第3ピリオドでは、第2ピリオドまで非公開属性値が引き継がれた差分領域Obj1は、そのまま差分領域として取り扱われる。第3ピリオドでは、入力操作により時点T13でオブジェクトObj3が生成され、新規な差分領域Obj3として抽出される。オブジェクトObj3は、拡大する方向に発展しており、時点T14で、矢印320で示すようにオブジェクトObj1と重なっている。この場合、差分領域Obj3と差分領域Obj1とは互いに重なり合うため、併合されて1つの差分領域として取り扱われ、差分領域Obj1の非公開属性値が優先して引き継がれる。このオブジェクトObj1とオブジェクトObj3を結合した差分領域をObj4で参照する。
【0053】
時点T17では、差分領域Obj4についてGUIを介して公開の指示が行われ、この場合は、差分領域Obj4に対応する部分322にローカル画像Lの最新状態が更新された公開画像Pが公開され、同様に、時点T17のローカル画像Lまたは公開画像Pが次のピリオドのための同期画像P’として保存される。次のピリオドでは、非公開属性が付された差分領域が最早存在しないので、差分領域の引き継ぎは行われない。
【0054】
時点T17でダイジェスト表示が行われる場合には、第1ピリオドで差分領域Obj1に一度明示的な非公開の指示が行われているので、その非公開属性を引き継いでいる差分領域Obj4については、明示の公開の指示が行われた以前の遷移画像は取得されず、ダイジェスト画像においても非公開とされる。また、典型的には、ピリオドで一度でも非公開属性が付された差分領域は、ダイジェスト表示の対象外とされる。
【0055】
以下、
図7〜
図10を参照しながら、本実施形態におけるコンピュータ装置が実行する画面出力の制御方法について詳細に説明する。
図7および
図8は、本実施形態におけるコンピュータ装置が実行する画面出力制御方法における、同期ピリオド毎の処理を示すフローチャートである。
図7および
図8は、図中のポイントAおよびポイントBにおいて互いに連結されていることに留意されたい。また、
図9は、
図8におけるステップS119で呼び出される同期処理を示すフローチャートである。
【0056】
図7および
図8に示す処理は、ステップS100から開始される。ステップS101では、コンピュータ装置110は、記憶装置から同期画像P’を読み込み、ステップS102では、記憶装置から差分領域リストRを読み込む。なお、初回の同期ピリオドでは、同期画像P’は、空白の画像であり、差分領域リストRには、ローカル画像L全体に対応した非公開属性が付された差分領域の要素が含まれる。ステップS103では、コンピュータ装置110は、画像リストSを空の状態で初期化し、ステップS104で、同期フラグFを値”偽”で初期化する。
【0057】
ステップS105では、コンピュータ装置110は、比較イベントが発生したか否かを判定する。比較イベントは、上述したように所定インターバル毎に上記ローカル画像Lを取得し、同期画像P’と比較して差分領域を抽出する場合は、所定インターバルが経過したことに対応するタイマイベントになる。オペレータからの同期処理の実行を求める明示的な指示を受け付ける場合は、この入力操作イベントも比較イベントに含まれる。
【0058】
ステップS105で、比較イベントが発生していないと判定された場合(NO)は、ステップS106へ処理が分岐され、コンピュータ装置110は、一定時間待機した後、ステップS105へループさせて、比較イベントが発生するのを待ち受ける。一方、ステップS105で、比較イベントが発生したと判定された場合(YES)は、ステップS107へ処理が進められる。
【0059】
ステップS107では、コンピュータ装置110は、明示的または暗黙的な同期指示があった否かを判定する。指示入力部118が、同期の明示的な指示に対応する入力操作を受け付けた場合や、同期タイマ124のタイマイベントが発生した場合は、同期指示があったと判定される。ステップS107で、同期指示があったと判定された場合(YES)は、ステップS108へ処理が進められ、コンピュータ装置110は、同期フラグFに値”真”をセットし、ステップS109へ処理を進める。一方、ステップS107で、同期指示がなかったと判定された場合(NO)は、ステップS109へ直接処理が進められる。
【0060】
ステップS109では、コンピュータ装置110は、上記ローカル画像取得部112により、ローカル画像Lを取得し、記憶装置に保存する。ステップS110では、コンピュータ装置110は、差分領域抽出部114により、取得画像Lと同期画像P’とを比較して、差分領域の集合rを抽出する。ステップS111では、コンピュータ装置110は、差分領域抽出部114により、新たに抽出された差分領域集合rを差分領域リストRに組み入れる。
【0061】
上記ステップS111では、差分領域リストRにある既存の差分領域と重なり合う差分領域が新たに抽出された場合は、これらが1つの差分領域として併合(merge)される。併合された差分領域は、好適には、併合前の複数の差分領域を包含する最小の矩形領域とされる。ここでは、
図5を参照して説明したような同一オブジェクトに対応する差分領域や、
図6を参照して説明したような重なり合う複数のオブジェクトに対応する差分領域が併合されることになる。
【0062】
ステップS111の後は、ポイントAを介して、
図8に示すステップS112に進められる。ステップS112では、コンピュータ装置110は、差分領域リストR内の全要素(差分領域)を取得し、ステップS113では、UI表示部116により、取得された各要素について公開または非公開の選択を行うための指示受付画面をメインディスプレイ140上に表示させる。
【0063】
図10は、本実施形態においてメインディスプレイ140に表示される指示受付画面400を例示する図である。
図10に示す指示受付画面400は、ローカル画像L上にビジュアル・キューVCおよびGUI部品が重ねて表示される投影対象エリア410を含む。投影対象エリア410の大きさは、映像出力装置150の解像度に対応する。投影対象エリア410には、差分領域を囲むフレーム420が設けられ、フレーム420に隣接して、囲まれた差分領域を公開するか否かの指示を受け付けるGUI部品群422が設けられる。
図10に例示するGUI部品群422の機能については、詳細を後述する。
【0064】
再び
図8を参照すると、ステップS114では、コンピュータ装置110は、指示入力部118により、上記GUI部品に対して行われた入力操作を検知して、要素(差分領域)に対し公開属性値または非公開属性値を追加する。ステップS115では、コンピュータ装置110は、同期フラグFの値が”真”であるか否かを判定する。ステップS115で、同期フラグの値が”真”ではないと判定された場合(NO)は、ステップS116へ処理が分岐される。ステップS116では、コンピュータ装置110は、取得画像Lを画像リストSに追加し、ポイントBを介してステップS105へ再び処理がループされる。
【0065】
ステップS105〜ステップS116のフローは、明示的な指示または暗黙的な指示により同期フラグが立てられるまで繰り返される。これにより、複数時点においてローカル画像Lと同期画像P’との差分領域が抽出され、適宜併合が行われ、現時点までの差分を含む差分領域が抽出される。
図10においてフレーム420で囲まれた差分領域は、前回の公開画像P’と比較した現時点までの差分をすべて含むものであり、一方、
図10中の領域412は、現時点のローカル画像Lと前回の同期画像P’との差分領域を示している。同時に、各時点のローカル画像Lが、ダイジェスト表示のため画像リストSに順次追加される。上記ステップS105〜ステップS116のフローは、また、所定のインターバル毎に繰り返されることになるが、上記ステップS114では、いくつかの差分領域について公開または非公開の選択が検出されない可能性もある。その場合は、属性が付加されないまま、処理が継続される。
【0066】
再び
図10を参照すると、
図10に示す指示受付画面400は、さらに、差分領域に対応する、各時点で取得されたローカル画像の部分のサムネイル画像432a,432b・・・を並べて表示する遷移画像表示エリア430を含む。
【0067】
サムネイル画像432は、ダイジェスト表示の各差分領域の遷移画像に対応するものであり、これにも公開または非公開の指示を受け付けるGUI部品群434が設けられ、さらに、既に設定された属性を表示する属性表示436が設けられている。上記GUI部品群434をクリックすることにより、各遷移画像を指定して個別に公開(「○」ボタン)または非公開(「×」ボタン)の選択を行うことができる。このように、各差分領域には、画像リストSの蓄積画像から取得される各遷移画像に対応して、属性値が時系列として保管される。属性値の時系列は、例えば「−−10(ただし、−は属性なし、1は公開属性値、0は非公開属性値を表す。)」のような属性値のセットを保持する。
【0068】
上述した遷移画像表示エリア430を指示受付画面に設けることにより、偶然蓄積された、公開すべきではない画像が画像リストSに含まれていないか確認し、そのような画像が含まれる場合に非公開を指示することができる。
図10の例示では、サムネイル画像432bにログイン・パネルが表されており、同期ピリオド中にタイムアウトのためログイン・パネルが表示されたことを表している。ログイン・パネルには、ユーザ名など公開すべきではない情報が表示されるおそれがあるため、このサムネイル画像432bに対応する遷移画像を非公開に設定することにより、情報漏洩を好適に防止することができる。
【0069】
なお、
図10の例では、遷移画像表示エリア430が画面下部に表示されるものとしているが、その表示位置は特に限定されるものではない。他の実施形態では、投影対象エリア410の右側または左側に表示されてもよいし、コンピュータ装置110がさらに他のディスプレイを備える場合には、そのディスプレイに表示することもできる。
【0070】
ここで、投影対象エリア410において差分領域に関連付けて設けられるGUI部品群422の機能について説明すると、
図10の例示において、「◎」ボタンは、遷移画像を含めて全てを公開に指定する機能を有し、「○」ボタンは、遷移画像は公開せずに現時点の画像についてのみ公開を指定する機能を有し、「×」ボタンは、遷移画像を含めて現時点の画像についても非公開を指定する機能を有する。なお、
図10に示す例示では、ログイン・パネルが表示される遷移画像(サムネイル画像432bに対応する。)が非公開「×」に明示的に設定されていることから、上記GUI部品群422において全遷移画像の公開を指定する「◎」ボタンを不活性化してもよい。また、各差分領域に対する公開または非公開を指示する入力操作は、GUI部品に対する操作に限定されるものではなく、例えば、同期ピリオド全体にわたり全差分領域の非公開または公開をワンアクションで決定するコマンドをショートカットキーとして割り当ててもよい。
【0071】
ここで、再び
図8を参照すると、ステップS115で、同期フラグの値が”真”であると判定された場合(YES)は、ステップS117へ処理が分岐される。ステップS117では、コンピュータ装置110は、差分領域リストR内の全要素が公開属性値または非公開属性値のいずれかを有しているか否かを判定する。ステップS117で、明示的な指示がまだ行われておらず、属性を有していない要素があると判定された場合(NO)は、ステップS118へ処理が分岐される。ステップS118では、コンピュータ装置110は、属性を有していない要素を取得し、ステップS113へ処理をループさせて、取得された要素(差分領域)について、非公開または公開の選択を行うためのGUI部品を再度表示させる。
【0072】
なお、説明する実施形態では、属性を有していない要素があると判定された場合(NO)は、ステップS118でGUI部品を再度表示させるものとして説明するが、他の実施形態では、同期時フラグが立っている時に属性を有していない要素については、暗黙的に非公開が指示されたものとして扱い、ステップS119へ処理を進めることもできる。
【0073】
一方、ステップS117で、差分領域リストR内の全要素が公開または非公開のいずれかの属性値を有すると判定された場合(YES)には、ステップS119へ処理が進められる。ステップS119では、コンピュータ装置110は、
図9(A)または(B)を参照して後述する同期処理を実行し、ステップS120で、非公開属性の要素のみを維持して差分領域リストRを記憶装置に書き込む。このとき、差分領域にセットされた属性値をリセットする。
【0074】
ステップS121では、コンピュータ装置110は、現時点の取得画像Lを同期画像P’として書き込み、ステップS122で本同期ピリオドの処理を終了させる。なお、非公開属性の差分領域については、そのまま差分領域として次の同期ピリオドに引き継がれるため、ステップS121では、取得画像Lに代えて、同期処理後の公開画像Pを同期画像P’として書き込んでもよい。
図7および
図8に示した処理は、同期ピリオド毎に行われ、したがって、本処理がステップS122で終了した後は、再びステップS100から次の同期ピリオドについての処理が繰り返されることになる。
【0075】
以下、
図9(A)および(B)を参照して同期処理について説明する。
図9(A)は、ダイジェスト表示が行われる場合の同期処理を示すフローチャートである。
図9(A)に示す処理は、
図8に示したステップS119で呼び出されて、ステップS200から開始される。ステップS201では、コンピュータ装置110は、遷移画像生成部122により、画像リストSおよび差分領域リストRを用いて、画像リストSの蓄積画像から差分領域リストR内の上記公開属性値が付加された各要素に対応する部分の画像を取得して、遷移画像を生成する。このとき、最終的に公開指示が行われたことにより、公開属性が付加された差分領域であっても、過程において非公開が選択されたり、
図10に示した遷移画像表示エリア430等で非公開が設定されたりして、時系列に非公開属性がある場合は、対応する遷移画像は生成されない。
【0076】
ステップS202〜ステップS206のループでは、画像リストS内の要素(蓄積画像)毎に、時系列順に、ステップS203〜ステップS205の処理を実行する。ステップS203では、コンピュータ装置110は、現在の公開画像Pにおける公開属性を有する要素に対応する各部分に各遷移画像を合成する。ステップS204では、コンピュータ装置110は、公開画面出力部120により、上記更新された画像を出力し、ステップS205で、コマ送りのインターバルを待つ。
【0077】
ステップS202〜ステップS206のループにより、遷移画像を含む静止画のコマ送りとして、ダイジェスト表示が行われる。ステップS202〜ステップS206のループを抜けると、ステップS207では、コンピュータ装置110は、公開画面出力部120により、現在の公開画像Pにおいて、公開属性を有する要素に対応する各部分に、現在の取得画像Lの各対応する部分の画像を上書きして、最終的に非公開指定がなされた要素に対応する各部分をマスクまたは非更新とする。ステップS208では、コンピュータ装置110は、公開画面出力部120により、更新された公開画像Pを出力し、ステップS209で、本処理を終了し、
図8に示す処理へ制御を戻す。
【0078】
図9(B)は、ダイジェスト表示が行われない場合の同期処理を示すフローチャートである。
図9(B)に示す処理は、同様に
図8に示したステップS119で呼び出されて、ステップS300から開始する。ステップS301では、コンピュータ装置110は、公開画面出力部120により、現在の公開画像Pにおいて、公開属性を有する要素に対応する各部分に、現在の取得画像Lの各対応する部分の画像を上書きして、最終的に非公開指定がされた要素に対応する各部分をマスクし、または非更新とする。ステップS302では、コンピュータ装置110は、公開画面出力部120により、更新された公開画像Pを出力し、ステップS303で、本処理を終了し、
図8に示す処理へ制御を戻す。なお、上記ダイジェスト表示を行うか否かについては、例えば、画面出力制御ソフトウェアのユーザ設定として指定してもよい。
【0079】
以下、
図11および
図12を参照して、指示受付画面について、より詳細に説明する。
図11および
図12は、本実施形態においてメインディスプレイ140に表示される指示受付画面の投影対象エリア450,470を例示する図である。
図10を参照して説明したように、本実施形態の指示受付画面400は、抽出された各差分領域について、公開するか非公開とするかの指示を受け付けるGUI部品群422を含む。一方で、
図11に例示するように、多数の個別の差分領域群452a〜452fが抽出された場合には、差分領域ごとに指示を行わなければならないとすると、オペレータの作業負担が増加してしまう。
【0080】
そこで、本実施形態では、
図11に示すように、指示受付画面400には、一定数以上の差分領域が抽出された場合等のために、複数の差分領域に対する公開または非公開の指示を一括して受け付けるためのGUI部品と操作イベント処理とを設けてもよい。
図11に示す投影対象エリア450上には、差分領域群452a〜452fにおける各差分領域についてフレームおよび属性表示が配置されているが、さらに、選択開始ボタン454と、選択終了ボタン456とが設けられている。
【0081】
図11に示す選択開始ボタン454がクリックされると、一括した差分領域の選択操作の受け付けが開始される。オペレータは、マウスを用いて所望の差分領域を囲むように範囲選択を行うことにより、まとめて非公開または公開を指定する範囲458を指定することができる。
図11の例示では、差分領域群452dが囲まれて、選択範囲458として指定されている。選択範囲458が指定されると、GUI部品群460が表示され、差分領域群452d内の各差分領域について一括して公開または非公開を指定することが可能となる。上述した操作が繰り返された後、選択終了ボタン456がクリックされると、差分領域の公開または非公開の指定が終了する。
【0082】
本実施形態では、さらに、
図12に示すように、指示受付画面400には、一定数以上の差分領域が抽出された場合や、または一定の大きさ以下の差分が抽出された場合等のために、所定の結合条件に合致する複数の差分領域をまとめて視覚的に示し、これら複数の差分領域に対する公開または非公開の指示を一括して受け付けるGUI部品群を設けてもよい。上記結合条件は、例えば、距離が既定値以内など一定以上近接した差分領域を検出する条件とすることができる。あるいは、縦または横方向に隣接した差分領域を検出する条件としてもよい。
図12に示す例では、
図11に示した差分領域群452a,452b,452c,452dが、それぞれまとめられて、フレーム472a,472b,472c,472dと、公開または非公開の指示を受け付けるためのGUI部品群474a,474b,474c,474dとが表示されている。
【0083】
また、抽出される差分領域には、ブラウザ上のURL指定部分のように、定型的に表示箇所が推定できるものがあり、このような差分領域については、上述した既定領域検出部130により、オペレータからの指示を求めずに、非公開属性値または公開属性値を設定することができる。
図13(A)は、ブラウザ画面480を例示する図であり、
図13(B)は、このようなブラウザに対して適用できるURL指定部分482を特定する定義パターン486を例示する図である。
【0084】
図13(B)に示す定義パターン486は、親ウィンドウのウェブ・ブラウザの位置が変更されても、URL指定部分482を特定できるように、スクリーンではなくブラウザのウィンドウオブジェクト(もしくはハンドル)484に関連付けて、ウィンドウオブジェクト484の位置を原点とした相対位置で表すことができる。定義パターン486は、例えば、ウィンドウオブジェクトを取得するためターゲットとなるその領域固有のウィンドウ名やウィンドウID等、left位置の最小値および最大値、top位置の最小値および最大値、widthの最小値および最大値、並びにheightの最小値および最大値を含むことができる。
【0085】
既定領域検出部130は、差分領域リストR内の要素に対して、
図13(B)に示すような定義パターン486を適用し、要素が定義パターンにマッチする場合には、その要素を既定差分領域として検出し、そのマッチした定義パターンに対応付けられた既定属性値(公開属性値または非公開属性値)を付加することができる。なお、既定属性値の設定は、差分領域が検出された後にパターンマッチングにより行うこともできるが、差分領域が実際に抽出される前に、予めユーザ設定として、URL指定部分が表示されると予測される領域の座標情報と、既定属性値とを設定しておく態様としてもよい。
【0086】
以下、本実施形態によるクライアントのハードウェア構成について説明する。
図15は、コンピュータ装置110のハードウェア構成の実施形態を示す。
図15に示すコンピュータ装置110は、概ねパーソナル・コンピュータまたはワークステーションなどの汎用コンピュータ装置として構成されている。
図15に示すコンピュータ装置110は、中央処理装置(CPU)12と、CPU12が使用するデータの高速アクセスを可能とするL1およびL2などのレベルを有するキャッシュ・メモリ14と、CPU12の処理を可能とするRAM、DRAMなどの固体メモリ素子から形成されるシステム・メモリ16とを備えている。
【0087】
CPU12、キャッシュ・メモリ14、およびシステム・メモリ16は、システム・バス18を介して、ドライバ、グラフィックス・ボード20およびネットワーク・アダプタ22へと接続されている。グラフィックス・ボード20は、バスを介してメインディスプレイ140に接続されて、CPU12による処理結果をディスプレイ画面上に表示させている。また、グラフィックス・ボード20は、外部映像出力I/F34に接続されており、外部映像出力I/F34を介してコンピュータ装置110に接続される外部の映像出力装置(プロジェクタ)150に、CPU12による処理結果を表示させている。また、ネットワーク・アダプタ22は、物理層レベルおよびリンク層レベルでコンピュータ装置110を、TCP/IPなどの適切な通信プロトコルを使用するネットワーク102を介してリモート端末160と接続可能としている。
【0088】
システム・バス18には、さらにI/Oバス・ブリッジ26が接続されている。I/Oバス・ブリッジ26の下流側には、PCIなどのI/Oバス28を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、ハードディスク記憶装置30が接続されている。また、I/Oバス28には、USBなどのバスを介して、キーボードおよびマウスなどのポインティング・デバイスなどの入力装置32が接続されている。
【0089】
コンピュータ装置110のCPU12としては、いかなるシングルコア・プロセッサまたはマルチコア・プロセッサを用いることができ、WINDOWS(登録商標)XP、WINDOWS(登録商標)7、UNIX(登録商標)、LINUX(登録商標)などの適切なオペレーティング・システムにより制御される。なお、リモート端末160についても、
図15と同様なハードウェア構成により実現することができる。
【0090】
上述した実施形態によれば、ローカル画像(第1画像)と、公開画像(第2画像)とにおける変更部分が検出されて、変更部分について行われる公開または非公開の指示に応じて、映像出力装置150に出力される公開画像が更新される。更新された公開画像では、公開する指示を受け付けた差分領域に対応するローカル画像の部分だけが公開画像に反映されている。したがって、公開の指示を受け付けてからローカル画像の部分が公開画像に反映されるため、公開が望ましくない情報の出力を事前に止めることが可能となる。また、更新部分が差分領域として検出されるので、マスク対象としたい箇所を予め特定しておくことが困難な場合にも好適に適用することができる。
【0091】
以上説明したように、本発明の実施形態によれば、画面の変更部分を検出し、変更部分にかかる表示の公開または非公開の指定に応じて出力を行うことによって、情報の漏洩に配慮した画面出力が可能な情報処理装置、画面出力システム、画面出力制御方法およびプログラムを提供することができる。
【0092】
なお、本実施形態による上記機能は、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【0093】
これまで本発明を、特定の実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。