JP5932475B2 - 画像転送装置及びその制御方法 - Google Patents

画像転送装置及びその制御方法 Download PDF

Info

Publication number
JP5932475B2
JP5932475B2 JP2012109928A JP2012109928A JP5932475B2 JP 5932475 B2 JP5932475 B2 JP 5932475B2 JP 2012109928 A JP2012109928 A JP 2012109928A JP 2012109928 A JP2012109928 A JP 2012109928A JP 5932475 B2 JP5932475 B2 JP 5932475B2
Authority
JP
Japan
Prior art keywords
image
displayed
display
updated
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012109928A
Other languages
English (en)
Other versions
JP2013238668A (ja
Inventor
太刀雄 小野
太刀雄 小野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012109928A priority Critical patent/JP5932475B2/ja
Publication of JP2013238668A publication Critical patent/JP2013238668A/ja
Application granted granted Critical
Publication of JP5932475B2 publication Critical patent/JP5932475B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、コンピュータに表示されている画面をネットワークを介して外部の表示装置に転送して該表示装置で表示する技術に関する。
コンピュータの画像をキャプチャして、ネットワーク上のプロジェクタに該画像を転送して表示する技術が、例えば特許文献1に開示されている。具体的には、特許文献1には、コンピュータが保持する画像をネットワークに接続されたプロジェクタのパネル解像度に合わせてリサイズしてからプロジェクタに転送し、プロジェクタがこれを受信し、投影することが記載されている。
特開2006−106153号公報
しかし、特許文献1に開示された技術では、以下のような問題が発生する。例えば、ネットワークを介した投射システムの場合、VGA、DVIといった一般的なケーブルは使用できないため、映像出力をコントロールするためのアプリケーションプログラムが必要となる。例えば、コントロールアプリケーションを用いてコンピュータの画面をネットワーク経由で送信しプロジェクタに投影させる場合、所定のコントロールパネルが画面に重畳表示される。ユーザがそのコントロールパネルの操作することで送信制御が行われる。
一方、ネットワークに送信される画像は、コンピュータの画面をキャプチャしたものである。そうすると、送信される画像にコントロールパネルの画像も含まれ、プロジェクタの投射画面上にもコントロールパネルが表示されることになる。
しかし、コントロールパネルなどのGUIは本来、ユーザ以外の他の人に対して提示したい情報ではなく、投射を制御するために存在するにすぎない。したがって、コントロールパネルが投射画面上に表示されることはユーザが意図するところではないのが通常である。このように、ネットワークを介した表示システムでは、ユーザの意図しない表示がなされてしまう可能性があった。
そこで本発明は、外部の表示装置にユーザが意図しない情報が表示されることを防止する技術を提供する。
本発明の一側面によれば、第1の画像を表示するとともに、所定のグラフィカルユーザインタフェースを表す第2の画像を前記第1の画像に重畳表示する表示手段と、前記表示手段に表示された前記第1及び第2の画像のうち、前記第1の画像が更新されたことを検出する検出手段と、前記検出手段により前記第1の画像が更新されたことが検出された場合、前記第2の画像を非表示とし、該第2の画像を非表示としたときの前記表示手段に表示されている前記更新された第1の画像の画像データをバッファに格納し、再び前記第2の画像を表示させる制御手段と、前記バッファに格納された前記更新された第1の画像の画像データを、ネットワークを介して外部表示装置に転送する転送手段とを有することを特徴とする画像転送装置が提供される。
本発明によれば、外部の表示装置にユーザが意図しない情報が表示されることが防止される。
実施形態における画像表示システムの構成を示す図。 実施形態におけるコンピュータ100及びプロジェクタ200のハードウェア構成を示すブロック図。 実施形態におけるコントロールアプリケーションによって表示されるGUIの例を示す図。 実施形態1における表示制御手順1を示すフローチャート。 実施形態1における、コンピュータ100の表示画面、キャプチャバッファイメージ、プロジェクタ200による投影画面の例を示す図。 実施形態1における更新領域検出方法を説明する図。 実施形態2における表示制御手順2を示すフローチャート。 実施形態2における、コンピュータ100の表示画面、キャプチャバッファイメージ、プロジェクタ200による投影画面の例を示す図。 実施形態2における更新領域検出方法を説明する図。 実施形態4における、GUI300の非表示設定ボタン304が押されたときに表示されるGUIの例を示す図。 2つのフレームバッファレイヤを持つ場合の各レイヤのフレームバッファに配置された画面及びそれらの合成画面の例を示す図。 実施形態5における表示制御手順1を示すフローチャート。
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決のために必須のものであるとは限らない。
<実施形態1>
図1は、本発明の実施形態における画像表示システムの構成を示す図である。図1において、画像転送装置であるコンピュータ100と外部表示装置であるプロジェクタ200とが、通信ネットワーク150を介して接続されている。通信ネットワーク150は、例えば、IEEE802.3で規定されるイーサネット(登録商標)ケーブル、IEEE802.11系で規定されるワイヤレスネットワーク等を適用できるが、それ以外であってもよい。
図2は、コンピュータ100及びプロジェクタ200のハードウェア構成を示すブロック図である。コンピュータ100は、CPU108によって全体が制御されるように構成される。CPU108は、ROM104に記録されたブートプログラムに従って動作し、HDD105に記録されているOS(オペレーティングシステム)をRAM103に展開して起動する。その後、CPU108上で動作するOSは、グラフィックアクセラレータ107によって、表示部101に表示するための画像をVRAM106に展開する。なお、RAM103の速度が十分に速ければ、RAM103がVRAM106の機能を兼ねるようにしてもよい。VRAM106に展開された画像は表示制御部102によって表示部101、具体的にはモニタ画面に表示される。ユーザからの入力を受け付ける操作部109は、例えばキーボードやマウスで実現される。操作部109からの入力はCPU108上で動作するOSに通知され、OSは通知内容に従って処理を行う。例えば、HDD105にはOS以外に、プログラムが複数格納されており、そのプログラムを起動するなどである。起動されたプログラムは、OSが表示する画像とは別に個別のウィンドウ画像などを、OSを介して、VRAM106に展開し、そのようにしてVRAM106に展開された画像も同じように表示制御部102によって表示部101に表示される。通信部110は通信ネットワーク150を介して外部表示装置であるプロジェクタ200と通信可能である。本実施形態においては、通信部110によって、プロジェクタ200と通信し、表示部101に表示された画像をキャプチャして送信することが可能であるが、詳細は後述する。
一方、プロジェクタ200は、コンピュータ100と通信し、コンピュータ100から送信される画像データを受信するための通信部201を持ち、CPU207によって全体が制御されるように構成される。CPU207はROM203に記録されたプログラムに従って起動し、ROM203に記録されたプログラムがRAM202に展開される。操作部206はプロジェクタ200をユーザが制御するためのリモコンや筺体に付随するボタンを含み、この入力に従って、CPU207はプロジェクタを制御する。具体的には、CPU207は通信部201で受信しRAM202に格納された画像データをデコーダ204によってデコードした画像データをVRAM205に展開して、画像処理部208によって所定の画像処理を行う。その後、投影制御部209によってVRAM205上のデータを投影部210に転送し投影する。以上の仕組みによって、画像表示システムによるネットワークを利用した映像投射が実現される。
以下、図4のフローチャートを参照して、本実施形態のコンピュータ100による表示制御手順を説明する。図4のフローチャートの処理を実行するためのアプリケーションプログラムはHDD105に格納されており、RAM103に展開されCPU108によって実行される。アプリケーションプログラムの一部又は全部が、OSに含まれる構成であってもよい。このようなアプリケーションプログラムを、以降ではコントロールアプリケーションという。また、コントロールアプリケーションは、図3に示されるような、所定のグラフィカルユーザインタフェースを表す第2の画像としてのGUI300を、投影対象の第1の画像に重畳表示させることができる。これによりコントロールアプリケーションは、GUI300を介して、ネットワーク投射機能を制御させるためのユーザの指示を受け付けることが可能である。コントロールアプリケーションのGUI300は、ネットワークを介してプロジェクタ200へ画像転送を行い画像投射を開始させる投射開始ボタン301、画像投射を停止させる投射停止ボタン302を有する。また、詳細は後述するが、マニュアルキャプチャ送信ボタン303、非表示設定ボタン304も設けられている。本実施形態におけるコントロールアプリケーションは、説明簡単化のため上記の機能のみを実現しているが、無論、これらの機能に限定するものではない。なお、図4のフロー開始時には、コンピュータ100とプロジェクタ200は、すでに通信が確立しており、上記機能がすでに実現できる状態になっているものとする。ここから、コントロールアプリケーションを読み込んだCPU108によって実行される図4の表示制御手順1について説明する。
S401では、操作部109からの入力が投射開始ボタン301が押されたことを示すものであるかどうかを判別する。投射開始ボタン301が押されたことを示す入力が発生するまでは、S401で待機する。S401で投射開始ボタン301が押されたことを示す入力が発生したことを検出すると、送信開始が指示されたと判断し、S402に遷移する。
以降のフローについては、図5を併用して説明する。図5(a)は、コンピュータ100の表示部101に表示されている画像の状態を時系列で左から順番に表示している。図5(b)は、VRAM106からRAM103に転送された送信用画像データの状態を同じく時系列に示している。本明細書において、この送信用画像データをVRAM106からRAM103に転送することを、「キャプチャ」という。また、この場合、RAM103には、キャプチャした画像データを一時的に記憶するための領域が確保される。RAM103におけるこの領域のことを「キャプチャバッファ」という。図5(c)は、送信され、プロジェクタ200によって投影される画面を同じく時系列に示している。
ここで、図4のフローチャートの説明に戻る。S402では、GUI300を非表示とする。この非表示は、コントロールアプリケーションが前述のCPU108上で動作するOSに要求を出し、OSがこれに応答してVRAM106へのGUI画像展開を制御することで行われる。このときの、コンピュータ100の表示部101の状態は、図5(a)における501となる。
S403では、VRAM106に格納されている画像データをRAM103に転送するキャプチャ処理を行う。画像データの転送処理は、CPU108上で動作するコントロールアプリケーションがグラフィックアクセラレータ107に転送要求を出すことで実行される。このとき、画像データが転送された後のRAM103の状態は、図5(b)における502である。
S404では、S402で非表示としたGUI300を再び表示する。このときのコンピュータ100の表示部101の状態は、いったん非表示としたGUI300が表示され、図5(a)における504の状態となる。なおこの状態においてもRAM103の状態は、図5(b)における502である。
S405において、RAM103に保存された画像、すなわち、図5(b)の502のデータが通信部110によって通信ネットワーク150を介して、プロジェクタ200に送信される。これを受信したときのプロジェクタの投影状態が、図5(c)における503である。なお、コントロールアプリケーションのプログラムは、送信の際には画像データを圧縮する制御を行わせるようにしてもよい。
S406では、表示部101に表示されている画面の更新があったどうかを検出する。具体的には、一定周期毎に現在のVRAM106に展開されている画像、すなわち表示部101に表示されている画像と、S403においてRAM103に転送保持されている画像とを画素単位で比較する。ここで差がある場合には更新があったと検出する。例えば、具体的には、表示部101の画面が図5(a)における505のように新たに描画オブジェクト521、つまり投影の対象となるオブジェクトが表示されたとする。この時点においても、RAM103の保持された画像は、図5(b)における502のままである。
この状態における更新領域検出方法について図6を用いて説明する。S403においてRAM103に保持された画像502を比較元とし、現在、表示部101に表示されているVRAM106に展開されている画像505を比較対象とする。このとき画像502は、GUI300は非表示としているので、GUI300は含まれていない。そこで、RAM103に保持された画像502のうちコントロールアプリケーションのGUI300が表示されている位置と同じエリア601は比較の対象外とする。同様にVRAM106の画像505のうち、コントロールアプリケーションのGUI300が表示されている位置と同じエリア602は比較の対象外とする。それぞれの画像から結果として、描画オブジェクト521の差分が発生し画面が更新したことを検出する。この処理によってS406で画面更新を検出すると、S402に遷移し、GUIを非表示とする(図5(a)における506)。その後、S403に遷移し、画面をキャプチャし(図5(b)における507)、S404に遷移し、再度、GUIを表示する(図5には未記載)。次に、この時点までのプロジェクタ200の投影画面は503のまま、S405に遷移し、キャプチャ画像を送信し、プロジェクタ200が受信し表示する。こうして、図5(c)における508のようにプロジェクタ200で投影画像が更新される。
S407では、投射停止ボタン302が押されたかどうかを判別する。投射停止ボタン302が押された場合には、S401に遷移して、待機状態となる。投射停止ボタン302が押されていなければ、S406に戻る。
本実施形態により、コンピュータ100の表示部101に表示されているユーザが外部表示装置に表示されることを望まないコントロールアプリケーションのGUI300を非表示としてから画面をキャプチャし送信する。これにより、ネットワーク上のプロジェクタ200による投影画面上では、GUI300は非表示にすることができる。GUI300は、画面の切り替わりのタイミングで、画面をキャプチャをするわずかの間に非表示とされるだけであるので、表示部101を見ているユーザも瞬間的なGUI300の点滅は、ほとんど認識されず、表示において視認性を減じることは少ない。
<実施形態2>
以下説明する実施形態2のシステム構成は、実施形態1と同様であるが、CPU108によって実行される処理内容が実施形態1とは異なる。実施形態1においては、画面更新が検出されると全画面データの送信を行っていた。これには次のようなメリットがある。例えば、実施形態1において、画面更新の有無の判別は、フローチャート図4のS406において実施され、RAM103に保持されたひとつ前の画像と、VRAM106に保持され、現在、表示部101に表示されている画像とを比較することで行っていた。このとき、画素単位の比較を行うときに、画面の左上から走査し、差分検出を行うアルゴリズムになっていた場合に、画面の左上の方に差分があった場合には、ただちに画面更新があったと判別でき、画像転送の処理に入ることができる。これにより、コンピュータ100の表示部101とプロジェクタ200で投影される画面のレイテンシを軽減できるというメリットがある。
一方で、全画面を送信するとデータ量が増えるため、ネットワークの必要帯域が増え、ネットワークの他の機器に影響を与える場合がある。そこで、変化のあった領域(差分領域)のデータのみを送信するという実施形態も考えられる。このような方式を、差分領域転送という。以下、この差分領域転送を用いた表示制御手順2を、図7のフローチャートを用いて説明する。なお、図7のフローチャートに対応するプログラムは、実施形態1と同様、コントロールプログラムに含まれ、CPU108によって実行される。なお、この場合、RAM103には、実際に送信する差分領域のデータを一時的に記憶するための領域も確保されることになる。RAM103におけるこの領域のことを「送信バッファ」という。
まず、S701で、投射開始ボタン301が押されたことを示す入力が発生したことを検出すると、送信開始が指示されたと判断し、S702に遷移する。S702では、コントロールアプリケーションがOSに要求を出すことによって、VRAM106へのGUI画像展開を制御しGUI300を非表示とする。
S703において、VRAM106に格納されている画像データをRAM103に転送するキャプチャ処理を行う。画像データの転送は、コントロールアプリケーションに従い動作するCPU108がグラフィックアクセラレータ107に要求を出すことによって行う。S704において、コントロールアプリケーションからOSに要求を出すことによって、VRAM106へのGUI画像展開を制御しGUI300を表示する。
S705において、通信部110は、S703においてキャプチャされRAM103に保持された画像を、通信ネットワーク150を介して、プロジェクタ200に送信する。
ここから図8を併用して説明する。ここで、図8(a)はVRAM106の状態、図8(b)はRAM103のキャプチャバッファの状態、図8(c)はRAM103の送信バッファの状態、図8(d)はプロジェクタ200の投影状態を示している。
S704の処理が完了した後の状態について説明する。表示部101に表示されるVRAM106に格納されている画像は、図8(a)における801となる。S703においてRAM103に配置されるキャプチャバッファに転送された画像は、図8(b)における802となる。通信部110によってネットワークに送信するための送信バッファは、すでに送信済みなので未格納の状態であるので図8には未記載である。また、S705で送信された画像がプロジェクタに投影された状態が、図8(d)における803である。
次にS705において、CPU108は、表示部101に表示されている画面の更新があったどうかを検出する。例えば、図8(a)において、表示部101に表示されている画像が801から804のように描画オブジェクト821が表示されることで変わったとする。このときの画面更新発生の検出は、実施形態1と同様に実現できる。すなわち、RAM103に格納された画像802と、VRAM106にこの時点で表示されている画像804において、GUI300が表示されている領域以外を比較することにより行う。
S705では、実施形態1と同様に、一定周期毎に処理を実行し、更新が無い場合には、画像送信停止要求があるかどうかをS706にて確認し、なければS705で次のタイミングまで待機する。S705において、表示部101の画面更新が検出された場合には、S707に遷移し、更新領域の検出を行う。
本実施形態における更新領域検出方法について図9を用いて説明する。図9(a)は、RAM103に保持された画像802を格子状に分割した状態を示している。一方、図9(b)は、VRAM106に保持された画像804を格子状に分割した状態を示している。CPU108は、この2つの画像において、格子で分割された画像タイルをひとまとまりとして、それぞれの画像において同じ位置に存在する、画像タイル内の画素に差があるかどうかを判断する。なお、図8(a)の804に表示されるGUI300が表示されているエリア、901と902が含まれる画像タイルは比較の対象外とする。例えば、804において、新たな描画オブジェクト821が表示されると、コントロールアプリケーションは、この描画オブジェクト821が描画されている前記格子状に分割された画像タイル、すなわち図9(b)の831で示された領域を更新領域として認識する。
図7のフローチャートに戻る。S708では、S707で検出された更新領域831とGUI300の表示領域、すなわち、図9(b)の領域902の画面上における位置関係を比較する。具体的には、更新領域831と領域902がそれぞれ描画されている格子状に分割されたタイル画像が隣接しているかどうかをそれぞれの座標によって判断する。図9(b)においては、更新領域831と領域902は隣接していない。
S709において、S708の結果から、隣接していた場合には、更新領域とGUI300の領域とが重複していると判断し、そうでない場合には、重複していないと判断する。従って、図9(b)の場合には、更新領域831と領域902は重複していないと判定される。
S709において重複していないと判定されると、S714に進む。S714では、グラフィックアクセラレータ107によって、更新領域(図9(b)の例においては更新領域831)のデータのみがVRAM106からRAM103のキャプチャバッファに転送される。この時点でのキャプチャバッファの状態は、図8(b)における806である。
S715において、グラフィックアクセラレータ107によってRAM103のキャプチャバッファに転送された更新領域831のデータがRAM103の送信バッファに転送される。このときの送信バッファの状態は、図8(c)の807となる。
S716において、通信部110は、RAM103の送信バッファに格納された更新領域831のデータを、通信ネットワーク150を介して、プロジェクタ200に送信し、プロジェクタ200はそれを投影する。このときの投影状態が、図8(d)の808となる。
次に、S709において、更新領域がGUI300と重複している場合について説明する。表示部101に表示されている画像が、図8(a)の804から805に更新されたとする。このとき、描画オブジェクト822が新たに表示され、図9(c)に示すように、GUI300の表示領域903以外の差分として、画面更新が検出される。さらに、更新領域904がGUI300の表示領域903と隣接しているときは両者は重複していると判断され、S710に遷移する。
ここで、重複しているということは、GUI300の背面においても画像更新が発生していると推測できる。そこで、S710において、前述までと同じように、GUI300を非表示とする。これにより、GUI300の背面にて発生した画面更新を認識できるようになる。
S711において、RAM103のキャプチャバッファに格納された806とVRAM106の画像809から、図9(d)のように描画オブジェクト822の更新領域832を抽出し、RAM103のキャプチャバッファに転送する。このときキャプチャバッファの状態は、図8(b)の810のようになる。このようにして、GUI300の背面で発生した画面更新を検出して、バッファに送信することが実現される。
S712において、グラフィックアクセラレータ107によってRAM103のキャプチャバッファに転送された更新領域832がRAM103の送信バッファに転送される。このときの送信バッファの状態は、図8(c)の811となる。S713において、コントロールアプリケーションからOSに要求を出すことによって、VRAM106へのGUI画像展開を制御しGUI300を表示する。その後、S716に遷移し、通信部110によってRAM103の送信バッファに格納された更新領域832が通信ネットワーク150を介して、プロジェクタ200に送信され、投影される。このときの投影状態が、図8(d)の812となる。
実施形態1では、画面切り替わりのタイミングでGUI300を非表示としていた。これに対し本実施形態では、GUI300の背面で画面更新が発生したと検出した時にのみ非表示とするので、表示部101におけるGUIの視認性が低下することは少ない。
なお、実施形態1及び2において、表示部101に秒間30コマの標準的な動画を表示させる場合には、GUI300の点滅が頻繁に発生し、視認性が低下する可能性がある。
そこで、画面更新の頻度が、動画のように秒間30コマなど発生する場合には、上述の実施形態の処理は適用しないように制御することが望ましい。例えば、動画であることを検出した場合には、GUI300を非表示あるいは表示状態にしておき、動画が終了し、画面更新の頻度が低くなった場合に再度、実施形態1,2の処理を適用するようにしてもよい。
また、動画であることが検出されたとき、及び、外部表示装置への画像転送が開始されたときの少なくともいずれかの場合、GUI300の表示サイズを縮小してもよい。この場合においては更に、動画が停止された場合、及び、画像転送が終了したときの少なくともいずれかの場合、GUI300の表示サイズを元のサイズに戻すようにしてもよい。
<実施形態3>
実施形態2においては、図7のフローチャートのS708にて図9(c)におけるGUI300の領域である903と更新領域904とが隣接している場合は、S709にてGUI300の背面で画面更新が発生したことを判断している。その場合、GUI300を非表示にしてから画面をキャプチャすることで、GUI300の背面のキャプチャを実現している。これは、GUI300の周辺画素が更新された場合はGUI300の背面でも更新が発生しているとの推定に基づく。しかし、この方法では、GUI300の背面でのみ画面更新が発生した場合には対処できない。そこで以下では、実施形態3として、このような実施形態2で考えられる問題点の回避策を提示する。
本実施形態の構成は、実施形態1、2で開示した図2に示すものと同様である。図3に示すように、GUI300には、マニュアルキャプチャ送信ボタン303が具備されている。このマニュアルキャプチャ送信ボタン303が押下されたことに応答して、図7のフローチャートにおけるS710〜S713が実行され、その後、S716と同様の処理が実行される。
これにより、ユーザがマニュアルキャプチャ送信ボタン303を操作することで、強制的にGUI300の背面の画像を送信することができる。このような機能は、GUI300の背面で更新が発生していることをユーザが知っている場合に都合がよい。
<実施形態4>
上述の実施形態1〜3では、ネットワークを介した画面送信についての制御を行うためのコントロールアプリケーションのGUI300が外部のプロジェクタによる画面に表示されないようにする表示制御処理を開示した。しかし、ユーザとしては、コントロールアプリケーションのGUI300だけでなく、それ以外のアプリケーションであっても表示したくない状況があると考えられる。
本発明は、実施形態1〜3で記載したコントロールアプリケーション以外の、CPU108で実行されるプログラムによって生成されるGUI画面に対しても適用可能である。 図10は、図3に示されたGUI300の非表示設定ボタン304が押されたときに表示されるGUIの例を示す図である。コントロールアプリケーションは、CPU108上で動作するオペレーティングシステムに要求を出し、VRAM106上にGUIを表示している他のプログラムのリストを取得する。コントロールアプリケーションは、そのプログラムのリストをGUI1000に表示する(1001)。ユーザは、それぞれのアプリケーションに対して、実施形態1〜3のいずれかに記載した処理を適用するかどうかを、ボタン1001を押下することで選択する。選択されたアプリケーションに対して、実施形態1〜3のいずれかの処理が実行される。
<実施形態5>
上述した実施形態1〜4では、画像データを1つのフレームバッファレイヤに書き込むことによって表示を実現するシステムを想定している。なお、フレームバッファレイヤとは、バックバッファとフロントバッファとを切り替えることでフリッカを抑制するように構成されたバッファの構成である。このようなシステムは、メモリを効率的に利用することができ、バスの転送レートが十分に速ければ実用可能である。
一方で、メモリが潤沢にあるような環境では、複数のフレームバッファレイヤを持ち、それぞれに対して個別に書き込んで最終出力段で合成して出力をするようなシステムも考えられる。図11は、2つのフレームバッファレイヤを持つシステムの画像表示態様を示している。図11(a)は、レイヤ1のフレームバッファに配置された全体画面を示し、図11(b)は、レイヤ2のフレームバッファに配置された図3と同様のGUI300を示している。これらは、グラフィックアクセラレータによって合成されて、図11(c)のような状態で表示制御部102によって表示部101に表示される。
このようなシステムにおいては、GUI300を非表示にしてから画面をキャプチャするような制御は不要であり、VRAM106のレイヤ1のフレームバッファに配置されたの画面(図11(a))をキャプチャし送信すればよい。
本発明を適用したプログラムは様々なシステムに適用されうる。従って、状況に応じて制御を変える必要がある。このような状況に対応するための制御を、図12のフローチャートを用いて説明する。前述の実施形態と同様、図12のフローチャートの処理を実行するためのアプリケーションプログラムはHDD105に格納されており、RAM103に展開されCPU108によって実行される。
S1201では、GUI300の投射開始ボタン301が押下されたかどうかで送信開始の判断を行う。S1202において、コントロールアプリケーションはCPU108上で動作するオペレーティングシステムに、VRAM106が前述のような複数フレームバッファレイヤの構成であるかどうかを問い合わせ、レイヤ制御可能かどうかを判断する。すなわちここでは、VRAM106が第1の画像の画像データと第2の画像の画像データをそれぞれ異なるレイヤで保持可能な複数のフレームバッファレイヤを有するか否かを判断する。ここで、VRAM106が複数フレームバッファレイヤから構成されるシステムではないと判断された場合は、実施形態1又は2の表示制御処理が適用される。
一方、S1202においてレイヤ制御可能と判断された場合には、S1203に遷移する。S1203において、コントロールアプリケーションは、GUI300を表示しているのとは別のフレームバッファの情報を取得する。S1204において、コントロールアプリケーションは、S1203で取得したフレームバッファの情報が示すVRAM106の画像、具体的には、図11における(a)の画像データをRAM103のキャプチャバッファに転送する。S1205において、RAM103のキャプチャバッファに格納された画像を送信する。S1206において、画面更新を検出した場合には、S1203〜S1205の処理を繰り返し、そうでない場合には、S1207で送信停止かどうかを判断する。
以上によれば、本発明を適用したプログラムが、どのようなシステムにて実行された場合でも、好適な処理を行うことができる。
(他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (8)

  1. 第1の画像を表示するとともに、所定のグラフィカルユーザインタフェースを表す第2の画像を前記第1の画像に重畳表示する表示手段と、
    前記表示手段に表示された前記第1及び第2の画像のうち、前記第1の画像が更新されたことを検出する検出手段と、
    前記検出手段により前記第1の画像が更新されたことが検出された場合、前記第2の画像を非表示とし、該第2の画像を非表示としたときの前記表示手段に表示されている前記更新された第1の画像の画像データをバッファに格納し、再び前記第2の画像を表示させる制御手段と、
    前記バッファに格納された前記更新された第1の画像の画像データを、ネットワークを介して外部表示装置に転送する転送手段と、
    を有することを特徴とする画像転送装置。
  2. 前記検出手段により前記第1の画像が更新された場合、前記第1の画像のうち前記更新がされた更新領域を検出する更新領域検出手段を更に有し、
    前記制御手段は、
    前記更新領域が前記第2の画像と重複しない場合は、前記更新領域のみの画像データを前記バッファに格納し、
    前記更新領域が前記第2の画像と重複する場合は、前記第2の画像を非表示とし、該第2の画像を非表示としたときの前記表示手段に表示されている前記更新領域のみの画像データを前記バッファに格納し、再び前記第2の画像を表示させ、
    前記転送手段は、前記バッファに格納された前記更新領域のみの画像データを、前記ネットワークを介して前記外部表示装置に転送する
    ことを特徴とする請求項1に記載の画像転送装置。
  3. 前記制御手段は、前記更新領域が前記第2の画像と隣接しているときに前記更新領域が前記第2の画像と重複していると判定することを特徴とする請求項2に記載の画像転送装置。
  4. 前記制御手段は、前記第1の画像が動画であるときは、前記第2の画像を非表示とする処理を適用しないことを特徴とする請求項1乃至3のいずれか1項に記載の画像転送装置。
  5. 前記制御手段は、
    前記第1の画像が動画であるとき、及び、前記転送手段が前記外部表示装置への転送処理を開始したときの少なくともいずれかの場合には、前記第2の画像の表示サイズを縮小し、
    前記動画の表示が停止されたとき、及び、前記転送手段が前記転送処理を終了したときの少なくともいずれかの場合には、前記第2の画像の表示サイズを元に戻す
    ことを特徴とする請求項1乃至4のいずれか1項に記載の画像転送装置。
  6. 前記制御手段は、更に、前記所定のグラフィカルユーザインタフェースにおける所定のボタンが操作されたことに応答して、前記第2の画像を非表示とし、該第2の画像を非表示としたときの前記表示手段に表示されている前記更新された第1の画像の画像データをバッファに格納し、再び前記第2の画像を表示させることを特徴とする請求項1乃至5のいずれか1項に記載の画像転送装置。
  7. 表示手段が、第1の画像を表示部に表示するとともに、所定のグラフィカルユーザインタフェースを表す第2の画像を前記第1の画像に重畳表示する表示ステップと、
    検出手段が、前記表示部に表示された前記第1及び第2の画像のうち、前記第1の画像が更新されたことを検出する検出ステップと、
    制御手段が、前記検出ステップで前記第1の画像が更新されたことが検出された場合、前記第2の画像を非表示とし、該第2の画像を非表示としたときの前記表示部に表示されている前記更新された第1の画像の画像データをバッファに格納し、再び前記第2の画像を表示させる制御ステップと、
    転送手段が、前記バッファに格納された前記更新された第1の画像の画像データを、ネットワークを介して外部表示装置に転送する転送ステップと、
    を有することを特徴とする画像転送装置の制御方法。
  8. コンピュータを請求項1乃至6のいずれか1項に記載の画像転送装置が有する各手段として機能させるためのプログラム。
JP2012109928A 2012-05-11 2012-05-11 画像転送装置及びその制御方法 Expired - Fee Related JP5932475B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012109928A JP5932475B2 (ja) 2012-05-11 2012-05-11 画像転送装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012109928A JP5932475B2 (ja) 2012-05-11 2012-05-11 画像転送装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2013238668A JP2013238668A (ja) 2013-11-28
JP5932475B2 true JP5932475B2 (ja) 2016-06-08

Family

ID=49763751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012109928A Expired - Fee Related JP5932475B2 (ja) 2012-05-11 2012-05-11 画像転送装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP5932475B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035741B (zh) * 2014-06-25 2017-06-16 青岛海信宽带多媒体技术有限公司 一种图像显示方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289175A (ja) * 1997-04-15 1998-10-27 Canon Inc データ通信端末装置、データ通信方法、データ表示方法および記憶媒体
JP4541660B2 (ja) * 2003-04-30 2010-09-08 富士通テン株式会社 表示装置
JP2005062839A (ja) * 2003-07-31 2005-03-10 Matsushita Electric Ind Co Ltd 表示データ転送装置及び方法
JP2009175397A (ja) * 2008-01-24 2009-08-06 Seiko Epson Corp 画像表示システム、画像表示方法、及びプログラム
JP2009210625A (ja) * 2008-02-29 2009-09-17 Canon Inc 表示装置及び表示方法
JP2011041068A (ja) * 2009-08-12 2011-02-24 Toshiba Corp 表示制御装置及び表示制御方法
JP5671868B2 (ja) * 2010-08-06 2015-02-18 コニカミノルタ株式会社 画像処理装置

Also Published As

Publication number Publication date
JP2013238668A (ja) 2013-11-28

Similar Documents

Publication Publication Date Title
US11276144B2 (en) Information processing apparatus, display control method, and storage medium
US10209945B2 (en) Information processing apparatus capable of quickly updating a display in accordance with an operation for changing a display appearance and control method thereof
KR20150032066A (ko) 화면 미러링 방법 및 그에 따른 소스 기기
JP5344651B2 (ja) 情報処理装置、制御方法、プログラム、および情報処理システム
EP2894556A1 (en) Terminal device, and method and system for display in one screen
US10466835B2 (en) Display method and display control apparatus
EP2824936B1 (en) Projector, projector control method, and recording medium storing projector control program
US11024257B2 (en) Android platform based display device and image display method thereof
JP5695597B2 (ja) 画面表示装置及び画面表示システム
WO2015080589A1 (en) Method and device for processing content for display
CN114706549A (zh) 显示方法、智能终端及存储介质
JP6608196B2 (ja) 情報処理装置、情報処理方法
JP5932475B2 (ja) 画像転送装置及びその制御方法
JP5890688B2 (ja) 情報処理装置、制御方法及びプログラム
JP7077540B2 (ja) 端末装置、表示システム、及び端末装置の制御方法
EP3316109B1 (en) Computer-implemented method for controlling a remote device with a local device
JP5327439B2 (ja) 表示装置、表示システム、プログラムおよび情報記憶媒体
JP2014048921A (ja) 表示装置、映像出力装置、その制御方法
KR102317091B1 (ko) 영상 처리 장치 및 방법
JP2005257948A (ja) 画像伝送システムおよび画像伝送方法
US10788925B2 (en) Touch panel sharing support apparatus, touch panel sharing method, and computer program
JP6105841B2 (ja) 画像表示装置及びその制御方法、プログラム、並びに記憶媒体
JP6954045B2 (ja) 画像処理システム、ユーザインタフェースの提供方法、およびコンピュータプログラム
CN114328393A (zh) 基于增强现实的外接存储设备控制方法、终端及存储介质
WO2017149634A1 (ja) 表示制御装置、表示制御方法及び表示制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160428

R151 Written notification of patent or utility model registration

Ref document number: 5932475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees