情報処理装置およびユーザインタフェースの表示位置制御法
【課題】映像コンテンツを利用する複数のソフトウェアがそれぞれインタフェースを表示しても、インタフェースが重なって表示されることを防止する。
【解決手段】実施形態によれば、情報処理装置は判定手段と、表示手段とを具備する。判定手段は、第1の範囲に、映像が表示される第1サブウィンドウとユーザインタフェースが表示される第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定する。表示手段は、前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する。
【解決手段】実施形態によれば、情報処理装置は判定手段と、表示手段とを具備する。判定手段は、第1の範囲に、映像が表示される第1サブウィンドウとユーザインタフェースが表示される第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定する。表示手段は、前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、サーバから受信される映像コンテンツを再生する情報処理装置、および同装置に適用されるユーザインタフェースの表示位置制御法に関する。
【背景技術】
【0002】
近年、インターネット上のWebサイトで公開される各種コンテンツをパーソナルコンピュータのブラウザを用いて閲覧することが広く行われている。ブラウザにプラグインされた動画再生プログラムを用いることにより、ブラウザ上にビデオクリップ、ホームムービーといった各種映像コンテンツを表示することもできる。
【0003】
また最近では、取得した映像コンテンツの解像度を高い解像度に変換する解像度変換、高画質化処理等を行ってパーソナルコンピュータのディスプレイに全画面表示を行うことが可能な製品も出荷されている。また、映像コンテンツのデータをキャプチャしてパーソナルコンピュータ内の記憶媒体に格納するキャプチャ処理を実行するソフトウェアもある。
【0004】
ここで、上述した解像度変換、高画質化、及びキャプチャ処理等を実行するためのユーザインタフェースを、映像コンテンツが表示されている領域に近接して表示する技術がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2006/100904号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、このような映像コンテンツを利用する複数のソフトウェアがそれぞれインタフェースを表示する場合に、複数のインタフェースが重なって表示されると、ユーザによる視認や操作等が困難となる恐れがある。そのため、複数のインタフェースが表示されても、インタフェースが重なって表示されないようにすることが望まれている。
【0007】
本発明の目的は、映像コンテンツを利用する複数のソフトウェアがそれぞれインタフェースを表示しても、インタフェースが重なって表示されることを抑制することが可能な情報処理装置およびインタフェースの表示位置制御方法を提供することにある。
【課題を解決するための手段】
【0008】
実施形態によれば、ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウにユーザインタフェースを表示し、当該ユーザインタフェースに対する操作に応じた処理を行う第1ソフトウェアとを実行可能な情報処理装置であって、判定手段と、表示手段とを具備する。判定手段は、第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定する。表示手段は、前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する。
【図面の簡単な説明】
【0009】
【図1】実施形態に係る情報処理装置の一利用形態を示す図。
【図2】同実施形態に係る情報処理装置のシステム構成を示すブロック図。
【図3】同実施形態に係る情報処理装置のソフトウェア構成の例を示すブロック図。
【図4】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図5】同実施形態に係る情報処理装置のディスプレイに表示される動画像の画面イメージの例を示す図。
【図6】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図7】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図8】同実施形態に係る情報処理装置によって実行されるオペレーティングシステムが管理するウィンドウとレイヤの関係を示す図。
【図9】実施形態に係る「Resolution+」ボタンが外のボタン等のGUIと重ならないように表示する機能を実現するための構成を示すブロック図。
【図10】実施形態に係わるサブウィンドウと表示予定位置とを示す図。
【図11】実施形態に係わる重なり判定部によって行われる処理を説明するための図。
【図12】表示予定位置の下に動画を表示するサブウィンドウ以外のサブウィンドウが表示されているかを判定する処理の手順を示すフローチャート。
【図13】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図14】実施形態に係わる重なり判定部によって行われる処理を説明するための図。
【図15】実施形態に係わるサブウィンドウを表示した後の高画質化プログラムの処理を説明するためのフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態を説明する。
まず、図1を参照して、一実施形態に係る情報処理装置の一利用形態を説明する。この情報処理装置は、例えば、ノートブックタイプのパーソナルコンピュータ(PC)1として実現される。パーソナルコンピュータ1は、インターネット3上のWebサイトそれぞれをアクセスすることが出来る。Webサイトには、ユーザが作成したホームビデオのような映像コンテンツデータを共有するための動画配信サイト2も含まれている。動画配信サイト2はユーザそれぞれによってアップロードされたビデオクリップ、ホームムービーのような様々な映像コンテンツデータを公開している。動画配信サイト2によって公開される映像コンテンツデータは2次元コンテンツである。パーソナルコンピュータ1のユーザは、動画配信サイト2が提供可能な映像コンテンツデータをインターネット3経由で受信しながら再生することができる。動画配信サイト2へのアクセスは、コンピュータ1によって実行されるソフトウェア、例えば、ブラウザ(WWWブラウザ)によって実行される。動画配信サイト2上の映像コンテンツデータには、様々な符号化方式で符号化された映像コンテンツが含まれている。動画配信サイト2からの映像コンテンツの受信および再生は、例えば、ブラウザにプラグインされた動画再生プログラムによって実行される。この動画再生プログラムは、動画配信サイト2のようなサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアである。この動画再生プログラムは、例えば、映像コンテンツを例えばストリーミングによって受信しながら、その映像コンテンツを再生する。映像コンテンツを再生することによって得られる2次元ビデオデータは、オペレーティングシステムの制御の下、パーソナルコンピュータ1のディスプレイに表示される。
【0011】
図2は、本コンピュータ1のシステム構成を示す図である。
本コンピュータ1は、図2に示すように、CPU11、ノースブリッジ12、主メモリ13、表示コントローラ14、ビデオメモリ(VRAM)14A、LCD(Liquid Crystal Display)15、サウスブリッジ16、サウンドコントローラ17、スピーカ18、BIOS−ROM19、LANコントローラ20、ハードディスクドライブ(HDD)21、光ディスクドライブ(ODD)22、無線LANコントローラ23、USBコントローラ24、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)25、キーボード(KB)26、ポインティングデバイス27等を備えている。
【0012】
CPU11は、本コンピュータ1の動作を制御するプロセッサであり、HDD21から主メモリ13にロードされる、オペレーティングシステム(OS)、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、上述のブラウザおよび動画再生プログラムが含まれている。さらに、アプリケーションプログラムには高画質化プログラムが含まれている。この高画質化プログラムは、動画再生プログラムによって再生される映像に対して超解像処理を行い、処理された映像をLCD15にフル画面表示を行う。またさらに、アプリケーションプログラムには映像制御エンジンが含まれている。ここで高画質化プログラムと映像制御エンジンとは、別のメーカーから提供されていてもよい。
【0013】
また、CPU11は、BIOS−ROM19に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
【0014】
ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ16との間を接続するブリッジデバイスである。ノースブリッジ12には、主メモリ13をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ12は、表示コントローラ14との通信を実行する機能も有している。
【0015】
表示コントローラ14は、本コンピュータ1のディスプレイとして使用されるLCD15を制御するデバイスである。LCD15は、例えば、ペン又は指によってタッチされた位置を検知可能なタッチスクリーンデバイスとして実現してもよい。この場合、LCD15上には、タブレットまたはタッチパネルなどと称される透明な座標検出部15Bが配置される。
【0016】
サウスブリッジ16は、PCI(Peripheral Component Interconnect)バス上およびLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ16は、HDD21およびODD22を制御するためのIDE(Integrated Drive Electronics)コントローラ、およびBIOS−ROM19をアクセス制御するメモリコントローラが内蔵されている。さらに、サウスブリッジ16は、サウンドコントローラ17およびLANコントローラ20との通信を実行する機能も有している。
【0017】
サウンドコントローラ17は音源デバイスであり、再生対象のオーディオデータをスピーカ18に出力する。LANコントローラ20は、例えばEthernet(登録商標)規格の有線通信を実行する有線通信デバイスであり、無線LANコントローラ23は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。また、USBコントローラ24は、例えばUSB2.0規格のケーブルを介して外部機器との通信を実行する。
【0018】
EC/KBC25は、電力管理を行うためのエンベデッドコントローラと、キーボード(KB)26およびポインティングデバイス27を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC25は、ユーザの操作に応じて本コンピュータ1をパワーオン/パワーオフする機能を有している。
【0019】
次に、図3を参照して、上述の表示機能を実行するために使用されるソフトウェア構成を説明する。
【0020】
図3に示すように、本コンピュータ1には、OS100、ブラウザ210、動画再生プログラム220、高画質化プログラム230、およびキャプチャープログラム240がインストールされている。動画再生プログラム220、高画質化プログラム230、およびキャプチャープログラム240の各々は、ブラウザ210にプラグインされている。
【0021】
本コンピュータ1のリソース管理を司るOS100は、カーネル101とDLL102とを備えている。カーネル101は、図2に示した本コンピュータ1の各部(ハードウェア)を制御するモジュールであり、DLL102は、このカーネル101とのインタフェースをアプリケーションプログラムに提供するモジュール(API)である。
【0022】
このDLL102に対して各種アプリケーションプログラムが各種要求を発行する段階までの階層をユーザモード、それ以降、即ち、これらの要求をDLL102がカーネル101に伝達する段階からの階層をカーネルモードなどと称する。
【0023】
ブラウザ210が動画配信サイト2のWebページを閲覧した時、ブラウザ210は、このWebページ中のタグ情報にしたがって、同Webページが、ビデオのようなコンテンツを含むWebページであるか否かを判定する。同Webページがビデオのようなコンテンツを含むWebページであるならば、ブラウザ210は、ブラウザ210にプラグインされた動画再生プログラム220を起動する。そして、Webページの閲覧中にビデオのような映像コンテンツの再生開始を指示する操作がユーザによって行われると、動画再生プログラム220は、動画配信サイト2からその映像コンテンツを受信し始める。
【0024】
動画再生プログラム220は、映像コンテンツデータをストリーミングによって受信しながら、当該映像コンテンツデータを再生する。動画再生プログラム220は、映像コンテンツデータを再生することによって、ディスプレイに表示すべき描画データである2次元ビデオデータa1と、スピーカから出力すべきオーディオデータb1とを生成する。動画再生プログラム220は、ビデオデータa1をブラウザの画面上に表示すべきビデオとしてOS100のDLL102に出力すると共に、オーディオデータb1をOS100のDLL102に出力する。
【0025】
通常、DLL102に渡されたビデオデータa1およびオーディオデータb1は、このDLL102内において、例えば形式チェック等の処理が施された後に、カーネル101に供給される。カーネル101は、DLL102から受信したビデオデータをLCD15に表示する処理およびDLL102から受信したオーディオデータをスピーカ18を通じて出力するための処理を実行する。
【0026】
高画質化プログラム230は、常駐型のプラグインソフトウェアとしてブラウザ210に組み込まれるプログラムであり、ブラウザ210の起動に伴って自動的に起動される。この高画質化プログラム230は上述の高画質化表示機能を実行する為に、以下の機能を含んでいる。
【0027】
1.映像コンテンツデータの再生(デコード)によって得られるビデオデータ(描画データ)を動画再生プログラム220からキャプチャする機能
2.フレームレート揺らぎ対策処理により、フレームの繰り返しを除去する機能
3.ノイズ除去処理により、デジタルノイズを除去する機能
4.フレーム倍速処理で、フレーム間を補間する機能
5.超解像処理で画像を分析後、解像度を改善する機能(SD画像をHD画像に変換)
6.色彩等を調整し、メリハリのある画像に変換して表示する機能
7.画像をフル画面表示する機能
高画質化プログラム230は、映像コンテンツデータの再生期間に動画再生プログラム220からOS100に出力されるビデオデータa1およびオーディオデータb1をキャプチャする。動画再生プログラム220はビデオデータa1およびオーディオデータb1をOS100に出力するので、高画質化プログラム230は、OS100を介して、動画再生プログラム220から出力されるビデオデータa1およびオーディオデータb1をキャプチャすることができる。そして、高画質化プログラム230は、フレームの繰り返しの除去、デジタルノイズ除去、フレーム間の補間、解像度の改善、画質変換、フル画面表示を行う。
【0028】
図4は、LCD15に表示されるブラウザの画面イメージの例を示している。LCD15の画面上には、ブラウザの親ウィンドウ400が表示される。上述したように、動画配信サイト2から受信される映像コンテンツデータのデコードおよび再生は、ブラウザにプラグインされた動画再生プログラム220によって実行される。映像コンテンツデータには、例えば、符号化されたビデオデータと符号化されたオーディオデータとが含まれている。動画再生プログラム220は、これらビデオデータおよびオーディオデータをそれぞれデコードし、デコードされたビデオデータおよびデコードされたオーディオデータを出力する。デコードされたビデオデータに対応する動画像は、ブラウザの親ウィンドウ400内に配置されたビデオ表示エリア410上に表示される。ビデオ表示エリア410には、ビデオデータの再生を制御するためのコントロールオブジェクトも表示される。ここで表示されるコントロールオブジェクトは、例えば、ビデオデータの再生位置を示すタイムバー、ビデオデータを再生させるための再生ボタン、及びビデオデータの再生中を停止させるための停止ボタン等である。
【0029】
また、高画質化プログラム230は、図4に示すように、ビデオ表示エリア410上に「Resolution+」ボタン420を表示する。「Resolution+」ボタン420は、ユーザが表示処理の実行を指示することを可能にするためのGUI(Graphic User Interface)であり、当該「Resolution+」ボタン420のサイズ(解像度)は、例えば当該高画質化プログラム230を提供するメーカーによって任意に設定されうる。「Resolution+」ボタン420がマウス操作によってクリックされると、高画質化プログラム230は、表示処理を開始する。
【0030】
そして、高画質化プログラム230は、ビデオ表示エリア410に表示されるべき動画再生プログラム220の出力データのキャプチャを開始する。そして、高画質化プログラム230は、キャプチャしたデータを高画質化し、そのビデオデータに対応する動画像を、例えば図5に示すように、LCD15の画面の全面を占めるウィンドウ500上に表示する。
【0031】
キャプチャープログラム240は、常駐型のプラグインソフトウェアとしてブラウザ210に組み込まれるプログラムであり、ブラウザ210の起動に伴って自動的に起動される。
【0032】
キャプチャープログラム240は、映像コンテンツデータの再生期間に動画再生プログラム220からOS100に出力されるビデオデータa1およびオーディオデータb1をキャプチャする。動画再生プログラム220はビデオデータa1およびオーディオデータb1をOS100に出力するので、キャプチャープログラム240は、OS100を介して、動画再生プログラム220から出力されるビデオデータa1およびオーディオデータb1をキャプチャすることができる。そして、キャプチャープログラム240は、キャプチャしたビデオデータa1とオーディオデータb1とが重畳されたAVデータを作成する。キャプチャープログラム240は、生成されたAVデータc1をカーネル101に渡し、AVデータを主メモリ13に格納するように指示する。なおここでキャプチャプログラム240は、生成されたAVデータc1をHDD21に格納させてもよい。
【0033】
また、キャプチャープログラム240は、図6に示すように、ビデオ表示エリア5120上に「Capture」ボタン430を表示する。「Capture」ボタン430は、ユーザがキャプチャ処理の実行を指示することを可能にするためのGUI(Graphic User Interface)であり、当該「Capture」ボタン430のサイズ(解像度)は、例えば当該キャプチャープログラム240を提供するメーカーによって任意に設定されうる。「Capture」ボタン430がマウス操作によってクリックされると、キャプチャープログラム240は、処理を開始する。そして、キャプチャープログラム240は、ビデオ表示エリア410に表示されるべき動画再生プログラム220の出力データのキャプチャを開始する。そして、キャプチャープログラム240は、キャプチャしたデータをAVデータに変換し、変換されたAVデータを主メモリ13に記録するための処理を行う。
【0034】
なお図4に示す画面例においてパーソナルコンピュータ1は「Capture」ボタン430の表示を省略し、図6の画面例においてパーソナルコンピュータ1は「Resolution+」ボタン420の表示を省略していた。 ここで「Capture」ボタン430および「Resolution+」ボタン420の表示を省略しないと、図7に示すように、「Capture」ボタン430と「Resolution+」ボタン420とが重なって表示される恐れがある。
【0035】
ビデオ表示エリア410にボタンの上下は、プラグインが読み込まれる順番によって決まる。例えばキャプチャープログラム240が、高画質化プログラム230より速く読み込まれれば、図7に示すように、「Capture」ボタン430の上に「Resolution+」ボタン420が表示される。
【0036】
なお、オペレーティングシステムでは、図7に示すようなブラウザが表示するウィンドウの状態を図8に示すように管理する。オペレーティングシステムは、親ウィンドウ400A、サブ(子)ウィンドウ410A、サブ(子)ウィンドウ420A、サブ(子)ウィンドウ430Aを管理する。親ウィンドウ400Aは、ブラウザ400が表示されるウィンドウである。サブウィンドウ410Aは、ビデオ表示エリア410が表示されるウィンドウである。サブウィンドウ420Aは、「Resolution+」ボタン420が表示されるウィンドウである。サブウィンドウ430Aは、「Capture」ボタン430が表示されるウィンドウである。
【0037】
また、オペレーティングシステムは、親ウィンドウレイヤ900、サブ(子)ウィンドウレイヤ901、サブ(子)ウィンドウレイヤ902、サブ(子)ウィンドウレイヤ903を管理する。親ウィンドウレイヤ900は、親ウィンドウ400Aを有するレイヤである。サブウィンドウレイヤ901は、サブウィンドウ410Aを有するレイヤである。サブウィンドウレイヤ902は、サブウィンドウ430Aを有するレイヤである。サブウィンドウレイヤ903は、サブウィンドウ420Aを有するレイヤである。
【0038】
オペレーティングシステムは、サブウィンドウレイヤ901〜903によってビデオ表示エリア410、「Capture」ボタン430、および「Resolution+」ボタン420の表示の重なりを管理する。
【0039】
高画質化プログラム230は、前述した機能の外に、「Capture」ボタン430と重ならないように「Resolution+」ボタン420を表示する機能を更に有する。
【0040】
図9は、「Resolution+」ボタン420が外のボタン等のGUIと重ならないように表示する機能を実現するための構成を示すブロック図である。
【0041】
図9に示すように、高画質化プログラム230は、重なり判定部1001、および表示制御部1002等を有する。
【0042】
「Resolution+」ボタン420を有するサブウィンドウ420Aの表示位置としては、図10に示すように、例えば4つの表示予定位置421〜424が設定されている。ここで、これら4つの表示予定位置のサイズ(解像度)は、「Resolution+」ボタン420のGUIのサイズ(解像度)即ちサブウィンドウ420Aのサイズ(解像度)と対応するように設定される。また4つの表示予定位置421〜424には優先順位が設定されており、当該4つの予定位置のうち表示予定位置421の優先順位が最も高く、表示予定位置422、表示予定位置423、表示予定位置424の順に優先順位が低くなる。重なり判定部1001は、表示予定位置内においてサブウィンドウ410A上にサブウィンドウが表示されているかを判定し、サブウィンドウ420Aとサブウィンドウ410A以外のサブウィンドウとが重ならない位置を検出する。
【0043】
表示予定位置421を例にして、表示予定位置内においてサブウィンドウ410A上にサブウィンドウが表示されているかを判定する処理について説明する。
【0044】
重なり判定部1001は、図11に示す表示予定位置421内の複数の位置(黒点)のうち一つの位置を選択し、当該位置におけるサブウィンドウの情報をオペレーティングシステム1010から取得する。なお当該サブウィンドウの情報には、重なり判定部1001が選択した位置に、サブウィンドウ410Aや当該サブウィンドウ410A以外のサブウィンドウが存在するか否かを示す情報や、これらのサブウィンドウが含まれるレイヤの上下関係を示す情報等が含まれる。
【0045】
重なり判定部1001は、オペレーティングシステム1010から取得した当該サブウィンドウの情報に基づいて、表示予定位置421内の一つの位置においてサブウィンドウ410Aの上にサブウィンドウが表示されているか否かを判定する。
【0046】
重なり判定部1001は、表示予定位置421内から選択した一つの位置においてサブウィンドウ410Aより上のレイヤにサブウィンドウが表示されてないと判定した場合、順次別の位置(黒点)に対して、サブウィンドウ410Aの上にサブウィンドウが表示されているか否かを判定する。
【0047】
そして重なり判定部1001は、全ての位置(黒点)に対して表示予定位置421にサブウィンドウ410Aより上のレイヤにサブウィンドウが表示されてないと判定すれば、表示予定位置421にサブウィンドウ410A以外のサブウィンドウが表示されていないと判定する。
【0048】
また、重なり判定部1001は、表示予定位置421にサブウィンドウ410A以外のサブウィンドウが表示されていないと判定した場合に、表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置の情報に基づいて「Resolution+」ボタン420を有するサブウィンドウ420Aの表示を行うための処理を行う。
【0049】
また、重なり判定部1001は、表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されていると判定した場合に、当該判定した表示予定位置の次に優先度が低い表示予定位置に対して上述した処理を行って、表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されているかを判定し、サブウィンドウ410A以外のサブウィンドウが表示されていない表示予定位置に、サブウィンドウ420Aを表示する。
【0050】
図12に示すフローチャートを参照して、表示予定位置の下にサブウィンドウ410A以外のサブウィンドウが表示されているかを判定する処理の手順を説明する。
【0051】
先ず、重なり判定部1001は、優先順位が最も高い表示予定位置421を選択する(ステップS1301)。重なり判定部1001は、表示予定位置421内において、ビデオ表示エリア410を有するサブウィンドウ410Aより上のレイヤに上にサブウィンドウが表示されているかを判定する(ステップS1302)。サブウィンドウが表示されていると判定した場合(ステップS1302のYes)、重なり判定部1001は、次に優先順位が高い表示予定位置を選択する(ステップS1304)。そして、再度ステップS1302の処理を行う。
【0052】
ステップS1302においてサブウィンドウが表示されていると判定した場合(ステップS1302のNo)、重なり判定部1001は、選択された表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置にサブウィンドウ420Aを表示するための処理を行い、当該渡された表示予定位置にサブウィンドウ420Aを表示する(ステップS1303)。
【0053】
以上の処理で、「Resolution+」ボタン420の位置に別のユーザインタフェースが表示されることを防止することができる。例えば、図13に示すように、「Resolution+」ボタン420と「Capture」ボタン430とが重ならないように表示を行うことが可能になる。なお図13に示す画面において、「Resolution+」ボタン420に対する操作入力を受けた場合、パーソナルコンピュータ1は図5にて示した動画像の表示画面を表示し、「Capture」ボタン430に対する操作入力を受けた場合、パーソナルコンピュータ1は映像データのキャプチャ処理を開始する。
【0054】
なお、重なり判定部1001は、表示予定位置の情報を表示制御部1002に渡し、サブウィンドウ420Aが表示された後にも、サブウィンドウ420Aの上にサブウィンドウが表示されているかを定期的に判定する。当該判定に係る処理について図14及び15を参照して説明する。
【0055】
重なり判定部1001は、図14に示すサブウィンドウ420A内の複数の位置(黒点)から選ばれる一つの位置におけるサブウィンドウの情報をオペレーティングシステム1010から取得する。
【0056】
続いて重なり判定部1001は、取得した当該サブウィンドウの情報に基づいて、サブウィンドウ420A内の選ばれた一つの位置についてサブウィンドウ420Aの位置の上に当該サブウィンドウ420A以外のサブウィンドウが表示されているかを判定する。
【0057】
次に重なり判定部1001は、選ばれる一つの位置に対して表示予定位置421内の選ばれた一つの位置についてサブウィンドウ420Aの上にサブウィンドウが表示されてないと判定した場合、順次別の位置(黒点)に対して当該判定を行う。そして重なり判定部1001は、全ての位置についてサブウィンドウ420Aの上にサブウィンドウが表示されてないと判定すれば、サブウィンドウ420Aの位置の上に他のサブウィンドウが表示されていないと判定する。
【0058】
また、重なり判定部1001は、サブウィンドウ420Aの上に他のサブウィンドウが表示されていると判定した場合、表示予定位置421〜424のうち、現在サブウィンドウ420Aが表示されている位置に対応する表示予定位置の次に優先順位が低い別の表示予定位置について、先ほどと同様の処理を行って、当該別の表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されたかを判定する。
【0059】
そして重なり判定部1001は、当該別の表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されていないと判定した場合に、表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置の情報に基づいて「Resolution+」ボタン420を有するサブウィンドウ420Aの表示を行うための処理を行う。
【0060】
図15に示すフローチャートを参照して、サブウィンドウ420Aを表示した後の高画質化プログラム230の処理について説明する。
【0061】
先ず、重なり判定部1001は、高画質化プログラム230のUIが表示されたサブウィンドウ420Aの情報をオペレーティングシステム1010から取得する(ステップS1501)。なお当該サブウィンドウレイヤ420の情報には、当該サブウィンドウレイヤ420Aが表示された表示位置についての情報が含まれる。
【0062】
次に重なり判定部1001は、図14に示すサブウィンドウレイヤ420Aの表示位置内の複数の位置(黒点)のうち一つの位置を選択し、当該位置におけるサブウィンドウの情報をオペレーティングシステム1010から取得する。なお当該サブウィンドウの情報には、重なり判定部1001が選択した位置に、サブウィンドウ410Aや当該サブウィンドウ410A以外のサブウィンドウが存在するか否かを示す情報や、これらのサブウィンドウが含まれるレイヤの上下関係を示す情報等が含まれる。
【0063】
そして重なり判定部1001は、サブウィンドウ420Aの表示位置およびサブウィンドウレイヤの情報に基づいてサブウィンドウ420A上にサブウィンドウが表示されたかを判定する(ステップS1502)。サブウィンドウ420Aの上にサブウィンドウが表示されていないと判定した場合(ステップS1502のNo)、重なり判定部1001は、一定時間待機し(ステップ1503)、その後ステップS1502の処理を実行する。
【0064】
サブウィンドウ420A上にサブウィンドウが表示されていると判定した場合(ステップS1502のYes)、重なり判定部1001は、優先順位がサブウィンドウ420Aの表示位置に対応する表示予定位置の優先順位の次に高い表示予定位置を選択する(ステップS1504)。
【0065】
重なり判定部1001は、当該選択した表示予定位置内において、ビデオ表示エリア410を有するサブウィンドウ410Aより上のレイヤに上にサブウィンドウが表示されているかを判定する(ステップS1505)。サブウィンドウが表示されていると判定した場合(ステップS1505のYes)、重なり判定部1001は、次に優先順位が高い表示予定位置を選択する(ステップS1506)。そして、再度ステップS1505の処理を行う。
【0066】
ステップS1505においてサブウィンドウが表示されていると判定した場合(ステップS1505のNo)、重なり判定部1001は、選択された表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置にサブウィンドウ420Aを表示するための処理を行う(ステップS1507)。
【0067】
以上の処理で、サブウィンドウ420Aを表示した後に、サブウィンドウ420A上に別のサブウィンドウが表示されても、サブウィンドウ420Aと別のサブウィンドウとが重なることを防止することができる。
【0068】
なお、上記実施形態では、ある点のサブウィンドウの情報を取得してサブウィンドウ420Aが他のサブウィンドウが重なるかを判定していたが、全てのサブウィンドウの情報をオペレーティングシステムから取得し、取得したサブウィンドウの情報に基づいてサブウィンドウ420Aが他のサブウィンドウが重なるかを判定しても良い。
【0069】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0070】
1…パーソナルコンピュータ,220…動画再生プログラム,230…高画質化プログラム,230…キャプチャープログラム,400A…親ウィンドウ,410…ビデオ表示エリア,420…「Resolution+」ボタン,420A…サブウィンドウ,421〜424…表示予定位置,430…「Capture」ボタン,430A…サブウィンドウ,1001…判定部,1002…表示制御部,1010…オペレーティングシステム。
【技術分野】
【0001】
本発明の実施形態は、サーバから受信される映像コンテンツを再生する情報処理装置、および同装置に適用されるユーザインタフェースの表示位置制御法に関する。
【背景技術】
【0002】
近年、インターネット上のWebサイトで公開される各種コンテンツをパーソナルコンピュータのブラウザを用いて閲覧することが広く行われている。ブラウザにプラグインされた動画再生プログラムを用いることにより、ブラウザ上にビデオクリップ、ホームムービーといった各種映像コンテンツを表示することもできる。
【0003】
また最近では、取得した映像コンテンツの解像度を高い解像度に変換する解像度変換、高画質化処理等を行ってパーソナルコンピュータのディスプレイに全画面表示を行うことが可能な製品も出荷されている。また、映像コンテンツのデータをキャプチャしてパーソナルコンピュータ内の記憶媒体に格納するキャプチャ処理を実行するソフトウェアもある。
【0004】
ここで、上述した解像度変換、高画質化、及びキャプチャ処理等を実行するためのユーザインタフェースを、映像コンテンツが表示されている領域に近接して表示する技術がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2006/100904号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、このような映像コンテンツを利用する複数のソフトウェアがそれぞれインタフェースを表示する場合に、複数のインタフェースが重なって表示されると、ユーザによる視認や操作等が困難となる恐れがある。そのため、複数のインタフェースが表示されても、インタフェースが重なって表示されないようにすることが望まれている。
【0007】
本発明の目的は、映像コンテンツを利用する複数のソフトウェアがそれぞれインタフェースを表示しても、インタフェースが重なって表示されることを抑制することが可能な情報処理装置およびインタフェースの表示位置制御方法を提供することにある。
【課題を解決するための手段】
【0008】
実施形態によれば、ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウにユーザインタフェースを表示し、当該ユーザインタフェースに対する操作に応じた処理を行う第1ソフトウェアとを実行可能な情報処理装置であって、判定手段と、表示手段とを具備する。判定手段は、第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定する。表示手段は、前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する。
【図面の簡単な説明】
【0009】
【図1】実施形態に係る情報処理装置の一利用形態を示す図。
【図2】同実施形態に係る情報処理装置のシステム構成を示すブロック図。
【図3】同実施形態に係る情報処理装置のソフトウェア構成の例を示すブロック図。
【図4】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図5】同実施形態に係る情報処理装置のディスプレイに表示される動画像の画面イメージの例を示す図。
【図6】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図7】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図8】同実施形態に係る情報処理装置によって実行されるオペレーティングシステムが管理するウィンドウとレイヤの関係を示す図。
【図9】実施形態に係る「Resolution+」ボタンが外のボタン等のGUIと重ならないように表示する機能を実現するための構成を示すブロック図。
【図10】実施形態に係わるサブウィンドウと表示予定位置とを示す図。
【図11】実施形態に係わる重なり判定部によって行われる処理を説明するための図。
【図12】表示予定位置の下に動画を表示するサブウィンドウ以外のサブウィンドウが表示されているかを判定する処理の手順を示すフローチャート。
【図13】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図14】実施形態に係わる重なり判定部によって行われる処理を説明するための図。
【図15】実施形態に係わるサブウィンドウを表示した後の高画質化プログラムの処理を説明するためのフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態を説明する。
まず、図1を参照して、一実施形態に係る情報処理装置の一利用形態を説明する。この情報処理装置は、例えば、ノートブックタイプのパーソナルコンピュータ(PC)1として実現される。パーソナルコンピュータ1は、インターネット3上のWebサイトそれぞれをアクセスすることが出来る。Webサイトには、ユーザが作成したホームビデオのような映像コンテンツデータを共有するための動画配信サイト2も含まれている。動画配信サイト2はユーザそれぞれによってアップロードされたビデオクリップ、ホームムービーのような様々な映像コンテンツデータを公開している。動画配信サイト2によって公開される映像コンテンツデータは2次元コンテンツである。パーソナルコンピュータ1のユーザは、動画配信サイト2が提供可能な映像コンテンツデータをインターネット3経由で受信しながら再生することができる。動画配信サイト2へのアクセスは、コンピュータ1によって実行されるソフトウェア、例えば、ブラウザ(WWWブラウザ)によって実行される。動画配信サイト2上の映像コンテンツデータには、様々な符号化方式で符号化された映像コンテンツが含まれている。動画配信サイト2からの映像コンテンツの受信および再生は、例えば、ブラウザにプラグインされた動画再生プログラムによって実行される。この動画再生プログラムは、動画配信サイト2のようなサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアである。この動画再生プログラムは、例えば、映像コンテンツを例えばストリーミングによって受信しながら、その映像コンテンツを再生する。映像コンテンツを再生することによって得られる2次元ビデオデータは、オペレーティングシステムの制御の下、パーソナルコンピュータ1のディスプレイに表示される。
【0011】
図2は、本コンピュータ1のシステム構成を示す図である。
本コンピュータ1は、図2に示すように、CPU11、ノースブリッジ12、主メモリ13、表示コントローラ14、ビデオメモリ(VRAM)14A、LCD(Liquid Crystal Display)15、サウスブリッジ16、サウンドコントローラ17、スピーカ18、BIOS−ROM19、LANコントローラ20、ハードディスクドライブ(HDD)21、光ディスクドライブ(ODD)22、無線LANコントローラ23、USBコントローラ24、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)25、キーボード(KB)26、ポインティングデバイス27等を備えている。
【0012】
CPU11は、本コンピュータ1の動作を制御するプロセッサであり、HDD21から主メモリ13にロードされる、オペレーティングシステム(OS)、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、上述のブラウザおよび動画再生プログラムが含まれている。さらに、アプリケーションプログラムには高画質化プログラムが含まれている。この高画質化プログラムは、動画再生プログラムによって再生される映像に対して超解像処理を行い、処理された映像をLCD15にフル画面表示を行う。またさらに、アプリケーションプログラムには映像制御エンジンが含まれている。ここで高画質化プログラムと映像制御エンジンとは、別のメーカーから提供されていてもよい。
【0013】
また、CPU11は、BIOS−ROM19に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
【0014】
ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ16との間を接続するブリッジデバイスである。ノースブリッジ12には、主メモリ13をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ12は、表示コントローラ14との通信を実行する機能も有している。
【0015】
表示コントローラ14は、本コンピュータ1のディスプレイとして使用されるLCD15を制御するデバイスである。LCD15は、例えば、ペン又は指によってタッチされた位置を検知可能なタッチスクリーンデバイスとして実現してもよい。この場合、LCD15上には、タブレットまたはタッチパネルなどと称される透明な座標検出部15Bが配置される。
【0016】
サウスブリッジ16は、PCI(Peripheral Component Interconnect)バス上およびLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ16は、HDD21およびODD22を制御するためのIDE(Integrated Drive Electronics)コントローラ、およびBIOS−ROM19をアクセス制御するメモリコントローラが内蔵されている。さらに、サウスブリッジ16は、サウンドコントローラ17およびLANコントローラ20との通信を実行する機能も有している。
【0017】
サウンドコントローラ17は音源デバイスであり、再生対象のオーディオデータをスピーカ18に出力する。LANコントローラ20は、例えばEthernet(登録商標)規格の有線通信を実行する有線通信デバイスであり、無線LANコントローラ23は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。また、USBコントローラ24は、例えばUSB2.0規格のケーブルを介して外部機器との通信を実行する。
【0018】
EC/KBC25は、電力管理を行うためのエンベデッドコントローラと、キーボード(KB)26およびポインティングデバイス27を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC25は、ユーザの操作に応じて本コンピュータ1をパワーオン/パワーオフする機能を有している。
【0019】
次に、図3を参照して、上述の表示機能を実行するために使用されるソフトウェア構成を説明する。
【0020】
図3に示すように、本コンピュータ1には、OS100、ブラウザ210、動画再生プログラム220、高画質化プログラム230、およびキャプチャープログラム240がインストールされている。動画再生プログラム220、高画質化プログラム230、およびキャプチャープログラム240の各々は、ブラウザ210にプラグインされている。
【0021】
本コンピュータ1のリソース管理を司るOS100は、カーネル101とDLL102とを備えている。カーネル101は、図2に示した本コンピュータ1の各部(ハードウェア)を制御するモジュールであり、DLL102は、このカーネル101とのインタフェースをアプリケーションプログラムに提供するモジュール(API)である。
【0022】
このDLL102に対して各種アプリケーションプログラムが各種要求を発行する段階までの階層をユーザモード、それ以降、即ち、これらの要求をDLL102がカーネル101に伝達する段階からの階層をカーネルモードなどと称する。
【0023】
ブラウザ210が動画配信サイト2のWebページを閲覧した時、ブラウザ210は、このWebページ中のタグ情報にしたがって、同Webページが、ビデオのようなコンテンツを含むWebページであるか否かを判定する。同Webページがビデオのようなコンテンツを含むWebページであるならば、ブラウザ210は、ブラウザ210にプラグインされた動画再生プログラム220を起動する。そして、Webページの閲覧中にビデオのような映像コンテンツの再生開始を指示する操作がユーザによって行われると、動画再生プログラム220は、動画配信サイト2からその映像コンテンツを受信し始める。
【0024】
動画再生プログラム220は、映像コンテンツデータをストリーミングによって受信しながら、当該映像コンテンツデータを再生する。動画再生プログラム220は、映像コンテンツデータを再生することによって、ディスプレイに表示すべき描画データである2次元ビデオデータa1と、スピーカから出力すべきオーディオデータb1とを生成する。動画再生プログラム220は、ビデオデータa1をブラウザの画面上に表示すべきビデオとしてOS100のDLL102に出力すると共に、オーディオデータb1をOS100のDLL102に出力する。
【0025】
通常、DLL102に渡されたビデオデータa1およびオーディオデータb1は、このDLL102内において、例えば形式チェック等の処理が施された後に、カーネル101に供給される。カーネル101は、DLL102から受信したビデオデータをLCD15に表示する処理およびDLL102から受信したオーディオデータをスピーカ18を通じて出力するための処理を実行する。
【0026】
高画質化プログラム230は、常駐型のプラグインソフトウェアとしてブラウザ210に組み込まれるプログラムであり、ブラウザ210の起動に伴って自動的に起動される。この高画質化プログラム230は上述の高画質化表示機能を実行する為に、以下の機能を含んでいる。
【0027】
1.映像コンテンツデータの再生(デコード)によって得られるビデオデータ(描画データ)を動画再生プログラム220からキャプチャする機能
2.フレームレート揺らぎ対策処理により、フレームの繰り返しを除去する機能
3.ノイズ除去処理により、デジタルノイズを除去する機能
4.フレーム倍速処理で、フレーム間を補間する機能
5.超解像処理で画像を分析後、解像度を改善する機能(SD画像をHD画像に変換)
6.色彩等を調整し、メリハリのある画像に変換して表示する機能
7.画像をフル画面表示する機能
高画質化プログラム230は、映像コンテンツデータの再生期間に動画再生プログラム220からOS100に出力されるビデオデータa1およびオーディオデータb1をキャプチャする。動画再生プログラム220はビデオデータa1およびオーディオデータb1をOS100に出力するので、高画質化プログラム230は、OS100を介して、動画再生プログラム220から出力されるビデオデータa1およびオーディオデータb1をキャプチャすることができる。そして、高画質化プログラム230は、フレームの繰り返しの除去、デジタルノイズ除去、フレーム間の補間、解像度の改善、画質変換、フル画面表示を行う。
【0028】
図4は、LCD15に表示されるブラウザの画面イメージの例を示している。LCD15の画面上には、ブラウザの親ウィンドウ400が表示される。上述したように、動画配信サイト2から受信される映像コンテンツデータのデコードおよび再生は、ブラウザにプラグインされた動画再生プログラム220によって実行される。映像コンテンツデータには、例えば、符号化されたビデオデータと符号化されたオーディオデータとが含まれている。動画再生プログラム220は、これらビデオデータおよびオーディオデータをそれぞれデコードし、デコードされたビデオデータおよびデコードされたオーディオデータを出力する。デコードされたビデオデータに対応する動画像は、ブラウザの親ウィンドウ400内に配置されたビデオ表示エリア410上に表示される。ビデオ表示エリア410には、ビデオデータの再生を制御するためのコントロールオブジェクトも表示される。ここで表示されるコントロールオブジェクトは、例えば、ビデオデータの再生位置を示すタイムバー、ビデオデータを再生させるための再生ボタン、及びビデオデータの再生中を停止させるための停止ボタン等である。
【0029】
また、高画質化プログラム230は、図4に示すように、ビデオ表示エリア410上に「Resolution+」ボタン420を表示する。「Resolution+」ボタン420は、ユーザが表示処理の実行を指示することを可能にするためのGUI(Graphic User Interface)であり、当該「Resolution+」ボタン420のサイズ(解像度)は、例えば当該高画質化プログラム230を提供するメーカーによって任意に設定されうる。「Resolution+」ボタン420がマウス操作によってクリックされると、高画質化プログラム230は、表示処理を開始する。
【0030】
そして、高画質化プログラム230は、ビデオ表示エリア410に表示されるべき動画再生プログラム220の出力データのキャプチャを開始する。そして、高画質化プログラム230は、キャプチャしたデータを高画質化し、そのビデオデータに対応する動画像を、例えば図5に示すように、LCD15の画面の全面を占めるウィンドウ500上に表示する。
【0031】
キャプチャープログラム240は、常駐型のプラグインソフトウェアとしてブラウザ210に組み込まれるプログラムであり、ブラウザ210の起動に伴って自動的に起動される。
【0032】
キャプチャープログラム240は、映像コンテンツデータの再生期間に動画再生プログラム220からOS100に出力されるビデオデータa1およびオーディオデータb1をキャプチャする。動画再生プログラム220はビデオデータa1およびオーディオデータb1をOS100に出力するので、キャプチャープログラム240は、OS100を介して、動画再生プログラム220から出力されるビデオデータa1およびオーディオデータb1をキャプチャすることができる。そして、キャプチャープログラム240は、キャプチャしたビデオデータa1とオーディオデータb1とが重畳されたAVデータを作成する。キャプチャープログラム240は、生成されたAVデータc1をカーネル101に渡し、AVデータを主メモリ13に格納するように指示する。なおここでキャプチャプログラム240は、生成されたAVデータc1をHDD21に格納させてもよい。
【0033】
また、キャプチャープログラム240は、図6に示すように、ビデオ表示エリア5120上に「Capture」ボタン430を表示する。「Capture」ボタン430は、ユーザがキャプチャ処理の実行を指示することを可能にするためのGUI(Graphic User Interface)であり、当該「Capture」ボタン430のサイズ(解像度)は、例えば当該キャプチャープログラム240を提供するメーカーによって任意に設定されうる。「Capture」ボタン430がマウス操作によってクリックされると、キャプチャープログラム240は、処理を開始する。そして、キャプチャープログラム240は、ビデオ表示エリア410に表示されるべき動画再生プログラム220の出力データのキャプチャを開始する。そして、キャプチャープログラム240は、キャプチャしたデータをAVデータに変換し、変換されたAVデータを主メモリ13に記録するための処理を行う。
【0034】
なお図4に示す画面例においてパーソナルコンピュータ1は「Capture」ボタン430の表示を省略し、図6の画面例においてパーソナルコンピュータ1は「Resolution+」ボタン420の表示を省略していた。 ここで「Capture」ボタン430および「Resolution+」ボタン420の表示を省略しないと、図7に示すように、「Capture」ボタン430と「Resolution+」ボタン420とが重なって表示される恐れがある。
【0035】
ビデオ表示エリア410にボタンの上下は、プラグインが読み込まれる順番によって決まる。例えばキャプチャープログラム240が、高画質化プログラム230より速く読み込まれれば、図7に示すように、「Capture」ボタン430の上に「Resolution+」ボタン420が表示される。
【0036】
なお、オペレーティングシステムでは、図7に示すようなブラウザが表示するウィンドウの状態を図8に示すように管理する。オペレーティングシステムは、親ウィンドウ400A、サブ(子)ウィンドウ410A、サブ(子)ウィンドウ420A、サブ(子)ウィンドウ430Aを管理する。親ウィンドウ400Aは、ブラウザ400が表示されるウィンドウである。サブウィンドウ410Aは、ビデオ表示エリア410が表示されるウィンドウである。サブウィンドウ420Aは、「Resolution+」ボタン420が表示されるウィンドウである。サブウィンドウ430Aは、「Capture」ボタン430が表示されるウィンドウである。
【0037】
また、オペレーティングシステムは、親ウィンドウレイヤ900、サブ(子)ウィンドウレイヤ901、サブ(子)ウィンドウレイヤ902、サブ(子)ウィンドウレイヤ903を管理する。親ウィンドウレイヤ900は、親ウィンドウ400Aを有するレイヤである。サブウィンドウレイヤ901は、サブウィンドウ410Aを有するレイヤである。サブウィンドウレイヤ902は、サブウィンドウ430Aを有するレイヤである。サブウィンドウレイヤ903は、サブウィンドウ420Aを有するレイヤである。
【0038】
オペレーティングシステムは、サブウィンドウレイヤ901〜903によってビデオ表示エリア410、「Capture」ボタン430、および「Resolution+」ボタン420の表示の重なりを管理する。
【0039】
高画質化プログラム230は、前述した機能の外に、「Capture」ボタン430と重ならないように「Resolution+」ボタン420を表示する機能を更に有する。
【0040】
図9は、「Resolution+」ボタン420が外のボタン等のGUIと重ならないように表示する機能を実現するための構成を示すブロック図である。
【0041】
図9に示すように、高画質化プログラム230は、重なり判定部1001、および表示制御部1002等を有する。
【0042】
「Resolution+」ボタン420を有するサブウィンドウ420Aの表示位置としては、図10に示すように、例えば4つの表示予定位置421〜424が設定されている。ここで、これら4つの表示予定位置のサイズ(解像度)は、「Resolution+」ボタン420のGUIのサイズ(解像度)即ちサブウィンドウ420Aのサイズ(解像度)と対応するように設定される。また4つの表示予定位置421〜424には優先順位が設定されており、当該4つの予定位置のうち表示予定位置421の優先順位が最も高く、表示予定位置422、表示予定位置423、表示予定位置424の順に優先順位が低くなる。重なり判定部1001は、表示予定位置内においてサブウィンドウ410A上にサブウィンドウが表示されているかを判定し、サブウィンドウ420Aとサブウィンドウ410A以外のサブウィンドウとが重ならない位置を検出する。
【0043】
表示予定位置421を例にして、表示予定位置内においてサブウィンドウ410A上にサブウィンドウが表示されているかを判定する処理について説明する。
【0044】
重なり判定部1001は、図11に示す表示予定位置421内の複数の位置(黒点)のうち一つの位置を選択し、当該位置におけるサブウィンドウの情報をオペレーティングシステム1010から取得する。なお当該サブウィンドウの情報には、重なり判定部1001が選択した位置に、サブウィンドウ410Aや当該サブウィンドウ410A以外のサブウィンドウが存在するか否かを示す情報や、これらのサブウィンドウが含まれるレイヤの上下関係を示す情報等が含まれる。
【0045】
重なり判定部1001は、オペレーティングシステム1010から取得した当該サブウィンドウの情報に基づいて、表示予定位置421内の一つの位置においてサブウィンドウ410Aの上にサブウィンドウが表示されているか否かを判定する。
【0046】
重なり判定部1001は、表示予定位置421内から選択した一つの位置においてサブウィンドウ410Aより上のレイヤにサブウィンドウが表示されてないと判定した場合、順次別の位置(黒点)に対して、サブウィンドウ410Aの上にサブウィンドウが表示されているか否かを判定する。
【0047】
そして重なり判定部1001は、全ての位置(黒点)に対して表示予定位置421にサブウィンドウ410Aより上のレイヤにサブウィンドウが表示されてないと判定すれば、表示予定位置421にサブウィンドウ410A以外のサブウィンドウが表示されていないと判定する。
【0048】
また、重なり判定部1001は、表示予定位置421にサブウィンドウ410A以外のサブウィンドウが表示されていないと判定した場合に、表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置の情報に基づいて「Resolution+」ボタン420を有するサブウィンドウ420Aの表示を行うための処理を行う。
【0049】
また、重なり判定部1001は、表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されていると判定した場合に、当該判定した表示予定位置の次に優先度が低い表示予定位置に対して上述した処理を行って、表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されているかを判定し、サブウィンドウ410A以外のサブウィンドウが表示されていない表示予定位置に、サブウィンドウ420Aを表示する。
【0050】
図12に示すフローチャートを参照して、表示予定位置の下にサブウィンドウ410A以外のサブウィンドウが表示されているかを判定する処理の手順を説明する。
【0051】
先ず、重なり判定部1001は、優先順位が最も高い表示予定位置421を選択する(ステップS1301)。重なり判定部1001は、表示予定位置421内において、ビデオ表示エリア410を有するサブウィンドウ410Aより上のレイヤに上にサブウィンドウが表示されているかを判定する(ステップS1302)。サブウィンドウが表示されていると判定した場合(ステップS1302のYes)、重なり判定部1001は、次に優先順位が高い表示予定位置を選択する(ステップS1304)。そして、再度ステップS1302の処理を行う。
【0052】
ステップS1302においてサブウィンドウが表示されていると判定した場合(ステップS1302のNo)、重なり判定部1001は、選択された表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置にサブウィンドウ420Aを表示するための処理を行い、当該渡された表示予定位置にサブウィンドウ420Aを表示する(ステップS1303)。
【0053】
以上の処理で、「Resolution+」ボタン420の位置に別のユーザインタフェースが表示されることを防止することができる。例えば、図13に示すように、「Resolution+」ボタン420と「Capture」ボタン430とが重ならないように表示を行うことが可能になる。なお図13に示す画面において、「Resolution+」ボタン420に対する操作入力を受けた場合、パーソナルコンピュータ1は図5にて示した動画像の表示画面を表示し、「Capture」ボタン430に対する操作入力を受けた場合、パーソナルコンピュータ1は映像データのキャプチャ処理を開始する。
【0054】
なお、重なり判定部1001は、表示予定位置の情報を表示制御部1002に渡し、サブウィンドウ420Aが表示された後にも、サブウィンドウ420Aの上にサブウィンドウが表示されているかを定期的に判定する。当該判定に係る処理について図14及び15を参照して説明する。
【0055】
重なり判定部1001は、図14に示すサブウィンドウ420A内の複数の位置(黒点)から選ばれる一つの位置におけるサブウィンドウの情報をオペレーティングシステム1010から取得する。
【0056】
続いて重なり判定部1001は、取得した当該サブウィンドウの情報に基づいて、サブウィンドウ420A内の選ばれた一つの位置についてサブウィンドウ420Aの位置の上に当該サブウィンドウ420A以外のサブウィンドウが表示されているかを判定する。
【0057】
次に重なり判定部1001は、選ばれる一つの位置に対して表示予定位置421内の選ばれた一つの位置についてサブウィンドウ420Aの上にサブウィンドウが表示されてないと判定した場合、順次別の位置(黒点)に対して当該判定を行う。そして重なり判定部1001は、全ての位置についてサブウィンドウ420Aの上にサブウィンドウが表示されてないと判定すれば、サブウィンドウ420Aの位置の上に他のサブウィンドウが表示されていないと判定する。
【0058】
また、重なり判定部1001は、サブウィンドウ420Aの上に他のサブウィンドウが表示されていると判定した場合、表示予定位置421〜424のうち、現在サブウィンドウ420Aが表示されている位置に対応する表示予定位置の次に優先順位が低い別の表示予定位置について、先ほどと同様の処理を行って、当該別の表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されたかを判定する。
【0059】
そして重なり判定部1001は、当該別の表示予定位置にサブウィンドウ410A以外のサブウィンドウが表示されていないと判定した場合に、表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置の情報に基づいて「Resolution+」ボタン420を有するサブウィンドウ420Aの表示を行うための処理を行う。
【0060】
図15に示すフローチャートを参照して、サブウィンドウ420Aを表示した後の高画質化プログラム230の処理について説明する。
【0061】
先ず、重なり判定部1001は、高画質化プログラム230のUIが表示されたサブウィンドウ420Aの情報をオペレーティングシステム1010から取得する(ステップS1501)。なお当該サブウィンドウレイヤ420の情報には、当該サブウィンドウレイヤ420Aが表示された表示位置についての情報が含まれる。
【0062】
次に重なり判定部1001は、図14に示すサブウィンドウレイヤ420Aの表示位置内の複数の位置(黒点)のうち一つの位置を選択し、当該位置におけるサブウィンドウの情報をオペレーティングシステム1010から取得する。なお当該サブウィンドウの情報には、重なり判定部1001が選択した位置に、サブウィンドウ410Aや当該サブウィンドウ410A以外のサブウィンドウが存在するか否かを示す情報や、これらのサブウィンドウが含まれるレイヤの上下関係を示す情報等が含まれる。
【0063】
そして重なり判定部1001は、サブウィンドウ420Aの表示位置およびサブウィンドウレイヤの情報に基づいてサブウィンドウ420A上にサブウィンドウが表示されたかを判定する(ステップS1502)。サブウィンドウ420Aの上にサブウィンドウが表示されていないと判定した場合(ステップS1502のNo)、重なり判定部1001は、一定時間待機し(ステップ1503)、その後ステップS1502の処理を実行する。
【0064】
サブウィンドウ420A上にサブウィンドウが表示されていると判定した場合(ステップS1502のYes)、重なり判定部1001は、優先順位がサブウィンドウ420Aの表示位置に対応する表示予定位置の優先順位の次に高い表示予定位置を選択する(ステップS1504)。
【0065】
重なり判定部1001は、当該選択した表示予定位置内において、ビデオ表示エリア410を有するサブウィンドウ410Aより上のレイヤに上にサブウィンドウが表示されているかを判定する(ステップS1505)。サブウィンドウが表示されていると判定した場合(ステップS1505のYes)、重なり判定部1001は、次に優先順位が高い表示予定位置を選択する(ステップS1506)。そして、再度ステップS1505の処理を行う。
【0066】
ステップS1505においてサブウィンドウが表示されていると判定した場合(ステップS1505のNo)、重なり判定部1001は、選択された表示予定位置の情報を表示制御部1002に渡す。表示制御部1002は、渡された表示予定位置にサブウィンドウ420Aを表示するための処理を行う(ステップS1507)。
【0067】
以上の処理で、サブウィンドウ420Aを表示した後に、サブウィンドウ420A上に別のサブウィンドウが表示されても、サブウィンドウ420Aと別のサブウィンドウとが重なることを防止することができる。
【0068】
なお、上記実施形態では、ある点のサブウィンドウの情報を取得してサブウィンドウ420Aが他のサブウィンドウが重なるかを判定していたが、全てのサブウィンドウの情報をオペレーティングシステムから取得し、取得したサブウィンドウの情報に基づいてサブウィンドウ420Aが他のサブウィンドウが重なるかを判定しても良い。
【0069】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0070】
1…パーソナルコンピュータ,220…動画再生プログラム,230…高画質化プログラム,230…キャプチャープログラム,400A…親ウィンドウ,410…ビデオ表示エリア,420…「Resolution+」ボタン,420A…サブウィンドウ,421〜424…表示予定位置,430…「Capture」ボタン,430A…サブウィンドウ,1001…判定部,1002…表示制御部,1010…オペレーティングシステム。
【特許請求の範囲】
【請求項1】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウにユーザインタフェースを表示し、当該ユーザインタフェースに対する操作に応じた処理を行う第1ソフトウェアとを実行可能な情報処理装置であって、
第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定する判定手段と、
前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する表示手段と
を具備する情報処理装置。
【請求項2】
前記判定手段は、前記第1の範囲に前記第3サブウィンドウが表示されていると判定した場合に、第2の範囲に前記第1サブウィンドウとは異なる第4サブウィンドウが表示されているかを判定し、
前記表示手段は、前記第4サブウィンドウが表示されていないと判定された場合に前記第2の範囲に前記2サブウィンドウを表示する
請求項1に記載の情報処理装置。
【請求項3】
前記判定手段は、前記第1の範囲内の第1の位置に存在する前記ブラウザのサブウィンドウの情報をオペレーティングシステムから取得し、取得された情報に基づいて前記第1サブウィンドウ上に前記第3サブウィンドウが表示されているかを判定する
請求項1に記載の情報処理装置。
【請求項4】
前記判定手段は、前記第1の範囲に前記2サブウィンドウが表示された後、前記第2サブウィンドウの上に前記ブラウザの第5サブウィンドウが表示されたかを判定し、前記第5サブウィンドウが表示されていると判定した場合に、前記第2サブウィンドウが表示される第3の範囲に前記第1サブウィンドウ以外の第6サブウィンドウが表示されているかを判定し、
前記表示手段は、前記第6サブウィンドウが表示されていないと判定された場合に前記第3の範囲に前記2サブウィンドウを表示する
請求項1に記載の情報処理装置。
【請求項5】
前記判定手段は、前記第2サブウィンドウ内の第2の位置に存在する前記ブラウザのサブウィンドウの情報をオペレーティングシステムから取得し、取得された情報に基づいて前記第2サブウィンドウの上に前記第4サブウィンドウが表示されているかを判定する
請求項2に記載の情報処理装置。
【請求項6】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウ内にユーザインタフェースを表示し、当該ユーザインタフェースに対する操作に応じた処理を行う第1ソフトウェアとを実行可能な情報処理装置におけるユーザインタフェースの表示位置制御方法であって、
第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定し、
前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する、
ユーザインタフェースの表示位置制御法。
【請求項7】
前記2サブウィンドウが表示された後、前記第2サブウィンドウと重なる位置に前記ブラウザの第4サブウィンドウが表示されたかを判定し、
前記重なる位置に前記第4サブウィンドウが表示されたと判定された場合、前記第3及び第4サブウィンドウと重ならない位置に前記第2サブウィンドウを表示する
請求項6に記載のユーザインタフェースの表示位置制御法。
【請求項8】
コンピュータは、ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウ内にユーザインタフェースを表示し、当該ユーザインタフェースの操作に応じた処理を行うプログラムとを実行し、
前記コンピュータによって実行されるプログラムは、
第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定し、
前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する、
ものであるプログラム。
【請求項1】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウにユーザインタフェースを表示し、当該ユーザインタフェースに対する操作に応じた処理を行う第1ソフトウェアとを実行可能な情報処理装置であって、
第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定する判定手段と、
前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する表示手段と
を具備する情報処理装置。
【請求項2】
前記判定手段は、前記第1の範囲に前記第3サブウィンドウが表示されていると判定した場合に、第2の範囲に前記第1サブウィンドウとは異なる第4サブウィンドウが表示されているかを判定し、
前記表示手段は、前記第4サブウィンドウが表示されていないと判定された場合に前記第2の範囲に前記2サブウィンドウを表示する
請求項1に記載の情報処理装置。
【請求項3】
前記判定手段は、前記第1の範囲内の第1の位置に存在する前記ブラウザのサブウィンドウの情報をオペレーティングシステムから取得し、取得された情報に基づいて前記第1サブウィンドウ上に前記第3サブウィンドウが表示されているかを判定する
請求項1に記載の情報処理装置。
【請求項4】
前記判定手段は、前記第1の範囲に前記2サブウィンドウが表示された後、前記第2サブウィンドウの上に前記ブラウザの第5サブウィンドウが表示されたかを判定し、前記第5サブウィンドウが表示されていると判定した場合に、前記第2サブウィンドウが表示される第3の範囲に前記第1サブウィンドウ以外の第6サブウィンドウが表示されているかを判定し、
前記表示手段は、前記第6サブウィンドウが表示されていないと判定された場合に前記第3の範囲に前記2サブウィンドウを表示する
請求項1に記載の情報処理装置。
【請求項5】
前記判定手段は、前記第2サブウィンドウ内の第2の位置に存在する前記ブラウザのサブウィンドウの情報をオペレーティングシステムから取得し、取得された情報に基づいて前記第2サブウィンドウの上に前記第4サブウィンドウが表示されているかを判定する
請求項2に記載の情報処理装置。
【請求項6】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウ内にユーザインタフェースを表示し、当該ユーザインタフェースに対する操作に応じた処理を行う第1ソフトウェアとを実行可能な情報処理装置におけるユーザインタフェースの表示位置制御方法であって、
第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定し、
前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する、
ユーザインタフェースの表示位置制御法。
【請求項7】
前記2サブウィンドウが表示された後、前記第2サブウィンドウと重なる位置に前記ブラウザの第4サブウィンドウが表示されたかを判定し、
前記重なる位置に前記第4サブウィンドウが表示されたと判定された場合、前記第3及び第4サブウィンドウと重ならない位置に前記第2サブウィンドウを表示する
請求項6に記載のユーザインタフェースの表示位置制御法。
【請求項8】
コンピュータは、ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生し、映像データと音声データとを出力して前記ブラウザの第1サブウィンドウに前記映像データに基づいた映像を表示するためのプレーヤソフトウェアと、前記ブラウザにプラグインされ、前記第1サブウィンドウより上のレイヤの前記ブラウザの第2サブウィンドウ内にユーザインタフェースを表示し、当該ユーザインタフェースの操作に応じた処理を行うプログラムとを実行し、
前記コンピュータによって実行されるプログラムは、
第1の範囲に、前記第1及び第2サブウィンドウとは異なる第3サブウィンドウが表示されているかを判定し、
前記第1の範囲に前記第3サブウィンドウが表示されていないと判定された場合に前記第1の範囲に前記第2サブウィンドウを表示する、
ものであるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−18486(P2012−18486A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−154276(P2010−154276)
【出願日】平成22年7月6日(2010.7.6)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願日】平成22年7月6日(2010.7.6)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]