(57)【要約】【課題】ブラウザ上の２次元の映像コンテンツを３次元映像として表示することができる情報処理装置を実現する。【解決手段】情報処理装置は、ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行する。情報処理装置は、キャプチャと、コンバータと、３次元表示制御手段とを含む。キャプチャは、前記映像コンテンツの再生によって得られる２次元ビデオデータを前記プレーヤソフトウェアからキャプチャする。コンバータは、前記キャプチャされた２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換する。３次元表示制御手段は、前記左眼ビデオデータと前記右眼ビデオデータに基づいて、３次元映像をディスプレイに表示する。【選択図】図３
2011244216.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行可能な情報処理装置であって、
前記映像コンテンツの再生によって得られる２次元ビデオデータを前記プレーヤソフトウェアからキャプチャするキャプチャと、
前記キャプチャされた２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換するコンバータと、
前記左眼ビデオデータと前記右眼ビデオデータに基づいて、３次元映像をディスプレイに表示する３次元表示制御手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記３次元表示制御手段は、前記左眼ビデオデータと前記右眼ビデオデータに基づいて３次元映像表示のためのビデオデータのシーケンスを生成し、前記生成したビデオデータのシーケンスを前記ディスプレイに出力することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記コンバータと前記３次元表示制御手段との間に位置され、前記３次元ビデオデータの解像度を第１の解像度から前記第１の解像度よりも高い第２の解像度に変換する高解像度化手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記プレーヤソフトウェアはインターネット上のサイトを閲覧するためのブラウザにプラグインされており、
前記３次元表示制御手段は、前記３次元映像を、前記ディスプレイの画面上の前記ブラウザのウィンドウとは異なるウィンドウ上に表示することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記３次元表示制御手段は、前記３次元映像を表示するためのウィンドウをフルスクリーンモードに設定することを特徴とする請求項１記載の情報処理装置。
【請求項６】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行可能な情報処理装置であって、
前記プレーヤソフトウェアからオペレーティングシステムに出力される、前記映像コンテンツを再生することによって得られる２次元ビデオデータをキャプチャするキャプチャと、
前記キャプチャされた２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換するコンバータと、
前記左眼ビデオデータと前記右眼ビデオデータに基づいて３次元映像表示のためのビデオデータのシーケンスを生成し、前記３次元ビデオデータに対応する３次元映像をディスプレイに表示するために、前記生成されたビデオデータのシーケンスを前記オペレーティングシステムに出力する３次元表示制御手段とを具備することを特徴とする情報処理装置。
【請求項７】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行するステップと、
前記映像コンテンツの再生によって得られる２次元ビデオデータを前記プレーヤソフトウェアからキャプチャするステップと、
前記キャプチャされた２次元ビデオデータの深度を推定し、前記深度に基づいて前記２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換するステップと、
前記左眼ビデオデータと前記右眼ビデオデータに基づいて、３次元映像をディスプレイに表示するステップとを具備することを特徴とする映像コンテンツ再生方法。
【請求項８】
前記３次元映像をディスプレイに表示するステップは、前記左眼ビデオデータと前記右眼ビデオデータに基づいて３次元映像表示のためのビデオデータのシーケンスを生成し、前記生成したビデオデータのシーケンスを前記ディスプレイに出力するステップを含むことを特徴とする請求項７記載の映像コンテンツ再生方法。
【請求項９】
前記３次元ビデオデータの解像度を第１の解像度から前記第１の解像度よりも高い第２の解像度に変換するステップをさらに具備することを特徴とする請求項７記載の映像コンテンツ再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、サーバから受信される映像コンテンツを再生する情報処理装置および同装置に適用される映像コンテンツ再生方法に関する。
【背景技術】
【０００２】
近年、インターネット上のＷｅｂサイトで公開される各種コンテンツをパーソナルコンピュータのブラウザを用いて閲覧することが広く行われている。ブラウザにプラグインされた動画再生プログラムを用いることにより、ブラウザ上にビデオクリップ、ホームムービーといった各種映像コンテンツを表示することもできる。
【０００３】
また最近では、サーバから受信した２次元の動画像を３次元グラフィクス上にレンダリングするシステムも開発され始めている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−５４４３９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、最近では、ブラウザを通して３次元映像（立体映像）を楽しみたいという要望が高まっている。しかし、一般に、インターネット上で公開されるコンテンツのほとんどは２次元コンテンツである。また、ブラウザのウィンドウに表示される情報には、例えばテキストのように３次元化に向かない情報も含まれている。
【０００６】
本発明は上述の事情を考慮してなされたものであり、ブラウザ上の２次元の映像コンテンツを３次元映像として表示することができる情報処理装置および映像コンテンツ再生方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態によれば、情報処理装置は、ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行する。情報処理装置は、キャプチャと、コンバータと、３次元表示制御手段とを具備する。キャプチャは、前記映像コンテンツの再生によって得られる２次元ビデオデータを前記プレーヤソフトウェアからキャプチャする。コンバータは、前記キャプチャされた２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換する。３次元表示制御手段は、前記左眼ビデオデータと前記右眼ビデオデータに基づいて、３次元映像をディスプレイに表示する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る情報処理装置の一利用形態を示す図。
【図２】同実施形態に係る情報処理装置のシステム構成を示すブロック図。
【図３】同実施形態に係る情報処理装置の３次元表示機能を実現するためのソフトウェア構成の例を示すブロック図。
【図４】同実施形態に係る情報処理装置によって実行されるＤＬＬ書き換え処理の一例を説明するための概念図。
【図５】同実施形態に係る情報処理装置のディスプレイに表示されるブラウザの画面イメージの例を示す図。
【図６】図５に示す画面イメージ上に表示されるＧＵＩの例を示す図。
【図７】同実施形態に係る情報処理装置のディスプレイに表示される３Ｄビデオの例を示す図。
【図８】同実施形態に係る情報処理装置によって実行される３次元表示動作を説明するための図。
【図９】同実施形態に係る情報処理装置によって実行される映像コンテンツデータ再生処理の手順の例を説明するためのフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、実施形態を説明する。  
まず、図１を参照して、一実施形態に係る情報処理装置の一利用形態を説明する。この情報処理装置は、例えば、ノートブックタイプのパーソナルコンピュータ（ＰＣ）１として実現される。パーソナルコンピュータ１は、インターネット３上のＷｅｂサイトそれぞれをアクセスすることが出来る。Ｗｅｂサイトには、ユーザが作成したホームビデオのような映像コンテンツデータを共有するための動画配信サイト２も含まれている。動画配信サイト２はユーザそれぞれによってアップロードされたビデオクリップ、ホームムービーのような様々な映像コンテンツデータを公開している。動画配信サイト２によって公開される映像コンテンツデータは２次元コンテンツである。パーソナルコンピュータ１のユーザは、動画配信サイト２が提供可能な映像コンテンツデータをインターネット３経由で受信しながら再生することができる。動画配信サイト２へのアクセスは、コンピュータ１によって実行されるソフトウェア、例えば、ブラウザ（ＷＷＷブラウザ）によって実行される。動画配信サイト２上の映像コンテンツデータには、様々な符号化方式で符号化された映像コンテンツが含まれている。動画配信サイト２からの映像コンテンツの受信および再生は、例えば、ブラウザにプラグインされた動画像再生プログラムによって実行される。この動画像再生プログラムは、動画配信サイト２のようなサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアである。この動画像再生プログラムは、例えば、映像コンテンツを例えばストリーミングによって受信しながら、その映像コンテンツを再生する。映像コンテンツを再生することによって得られる２次元ビデオデータは、オペレーティングシステムの制御の下、パーソナルコンピュータ１のディスプレイに表示される。
【００１０】
図２は、本コンピュータ１のシステム構成を示す図である。  
本コンピュータ１は、図２に示すように、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、表示コントローラ１４、ビデオメモリ（ＶＲＡＭ）１４Ａ、ＬＣＤ（Liquid Crystal Display）１５、サウスブリッジ１６、サウンドコントローラ１７、スピーカ１８、ＢＩＯＳ−ＲＯＭ１９、ＬＡＮコントローラ２０、ハードディスクドライブ（ＨＤＤ）２１、光ディスクドライブ（ＯＤＤ）２２、無線ＬＡＮコントローラ２３、ＵＳＢコントローラ２４、エンベデッドコントローラ／キーボードコントローラ（ＥＣ／ＫＢＣ）２５、キーボード（ＫＢ）２６、ポインティングデバイス２７等を備えている。
【００１１】
ＣＰＵ１１は、本コンピュータ１の動作を制御するプロセッサであり、ＨＤＤ２１から主メモリ１３にロードされる、オペレーティングシステム（ＯＳ）、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、上述のブラウザおよび動画再生プログラムが含まれている。さらに、アプリケーションプログラムには３次元（３Ｄ）エンジンが含まれている。この３Ｄエンジンは３次元（３Ｄ）表示機能を実現するためのソフトウェアである。この３Ｄエンジンは、動画像再生プログラムによって再生される２Ｄ映像を３Ｄ映像にリアルタイムに変換してＬＣＤ１５の画面上に表示する。
【００１２】
ＬＣＤ１５の画面上への３Ｄ映像の表示には、例えば、シャッター方式（時分割方式とも云う）を用いてもよい。シャッター方式の３Ｄ映像表示においては、左眼ビデオデータと右眼ビデオデータとを含むステレオペア映像が用いられる。ＬＣＤ１５は、例えば、通常のリフレッシュレート（例えば６０Ｈｚ）の２倍のリフレッシュレート（例えば１２０Ｈｚ）で駆動される。左眼ビデオデータ内の左眼フレームデータと右眼ビデオデータ内の右眼フレームデータは例えば１２０Ｈｚのリフレッシュレートで交互にＬＣＤ１５上に表示される。ユーザは、例えば、液晶シャッターメガネのような３Ｄグラス（図示せず）を用いることで、左眼フレームそれぞれの画像を左眼で、右眼フレームそれぞれの画像を右眼で見ることができる。３Ｄグラスは、左眼フレームデータおよび右眼フレームデータそれぞれの表示タイミングを示す同期信号をコンピュータ１から赤外線などを用いて受信するように構成してもよい。３Ｄグラス内の左眼用シャッターおよび右眼用シャッターは、ＬＣＤ１５への左眼および右眼フレームデータそれぞれの表示タイミングに同期して開閉される。
【００１３】
代わりに、３Ｄ映像の表示には、例えば、Ｘｐｏｌ（登録商標）方式等の偏光方式を用いてもよい。この場合、例えば、左眼用画像と右眼用画像とが例えばスキャンライン単位でインタリーブされたインターリーブフレーム群が生成され、これらインターリーブフレーム群がＬＣＤ１５に表示される。ＬＣＤ１５の画面を覆う偏向フィルタは、ＬＣＤ１５の画面上の例えば奇数番目のライン群に表示される左眼画像と偶数番のライン群に表示される右眼画像とを異なる方向に分ける。ユーザは、偏向眼鏡を用いることにより、左眼画像を左眼で、右眼画像を右眼で見ることができる。
【００１４】
また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１９に格納されたＢＩＯＳ（Basic Input/Output System）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００１５】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２には、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１２は、表示コントローラ１４との通信を実行する機能も有している。
【００１６】
表示コントローラ１４は、本コンピュータ１のディスプレイとして使用されるＬＣＤ１５を制御するデバイスである。ＬＣＤ１５は、例えば、ペン又は指によってタッチされた位置を検知可能なタッチスクリーンデバイスとして実現してもよい。この場合、ＬＣＤ１５上には、タブレットまたはタッチパネルなどと称される透明な座標検出部１５Ｂが配置される。
【００１７】
サウスブリッジ１６は、ＰＣＩ（Peripheral Component Interconnect）バス上およびＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、サウスブリッジ１６は、ＨＤＤ２１およびＯＤＤ２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラ、およびＢＩＯＳ−ＲＯＭ１９をアクセス制御するメモリコントローラが内蔵されている。さらに、サウスブリッジ１６は、サウンドコントローラ１７およびＬＡＮコントローラ２０との通信を実行する機能も有している。
【００１８】
サウンドコントローラ１７は音源デバイスであり、再生対象のオーディオデータをスピーカ１８に出力する。ＬＡＮコントローラ２０は、例えばEthernet（登録商標）規格の有線通信を実行する有線通信デバイスであり、無線ＬＡＮコントローラ２３は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。また、ＵＳＢコントローラ２４は、例えばUSB2.0規格のケーブルを介して外部機器との通信を実行する。
【００１９】
ＥＣ／ＫＢＣ２５は、電力管理を行うためのエンベデッドコントローラと、キーボード（ＫＢ）２６およびポインティングデバイス２７を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このＥＣ／ＫＢＣ２５は、ユーザの操作に応じて本コンピュータ１をパワーオン／パワーオフする機能を有している。
【００２０】
次に、図３を参照して、上述の３Ｄ表示機能を実行するために使用されるソフトウェア構成を説明する。
【００２１】
図３に示すように、本コンピュータ１には、ＯＳ１００、ブラウザ２１０、動画再生プログラム２２０、３Ｄエンジン２３０がインストールされている。動画再生プログラム２２０および３Ｄエンジン２３０の各々は、ブラウザ２１０にプラグインされている。
【００２２】
本コンピュータ１のリソース管理を司るＯＳ１００は、カーネル１０１とＤＬＬ１０２とを備えている。カーネル１０１は、図２に示した本コンピュータ１の各部（ハードウェア）を制御するモジュールであり、ＤＬＬ１０２は、このカーネル１０１とのインタフェースをアプリケーションプログラムに提供するモジュール（ＡＰＩ）である。
【００２３】
このＤＬＬ１０２に対して各種アプリケーションプログラムが各種要求を発行する段階までの階層をユーザモード、それ以降、即ち、これらの要求をＤＬＬ１０２がカーネル１０１に伝達する段階からの階層をカーネルモードなどと称する。
【００２４】
ブラウザ２１０が動画配信サイト２のＷｅｂページを閲覧した時、ブラウザ２１０は、このＷｅｂページ中のタグ情報にしたがって、同Ｗｅｂページが、ビデオのようなコンテンツを含むＷｅｂページであるか否かを判定する。同Ｗｅｂページがビデオのようなコンテンツを含むＷｅｂページであるならば、ブラウザ２１０は、ブラウザ２１０にプラグインされた動画再生プログラム２２０を起動する。そして、Ｗｅｂページの閲覧中にビデオのような映像コンテンツの再生開始を指示する操作がユーザによって行われると、動画再生プログラム２２０は、動画配信サイト２からその映像コンテンツを受信し始める。
【００２５】
動画再生プログラム２２０は、映像コンテンツデータをストリーミングによって受信しながら、当該映像コンテンツデータを再生する。動画再生プログラム２２０は、映像コンテンツデータを再生することによって、ディスプレイに表示すべき描画データである２次元ビデオデータａ１と、スピーカから出力すべきオーディオデータｂ１とを生成する。動画再生プログラム２２０は、ビデオデータａ１をブラウザの画面上に表示すべきビデオとしてＯＳ１００のＤＬＬ１０２に出力すると共に、オーディオデータｂ１をＯＳ１００のＤＬＬ１０２に出力する。
【００２６】
通常、ＤＬＬ１０２に渡されたビデオデータａ１およびオーディオデータｂ１は、このＤＬＬ１０２内において、例えば形式チェック等の処理が施された後に、カーネル１０１に供給される。カーネル１０１は、ＤＬＬ１０２から受信したビデオデータをＬＣＤ１５に表示する処理およびＤＬＬ１０２から受信したオーディオデータをスピーカ１８を通じて出力するための処理を実行する。
【００２７】
３Ｄエンジン２３０は、常駐型のプラグインソフトウェアとしてブラウザ２１０に組み込まれるプログラムであり、ブラウザ２１０の起動に伴って自動的に起動される。この３Ｄエンジン２３０は上述の３Ｄ表示機能を実行する為に、以下の機能を有している。
【００２８】
１．映像コンテンツデータの再生（デコード）によって得られる２Ｄビデオデータ（描画データ）を動画再生プログラム２２０からキャプチャする機能  
２．キャプチャした２Ｄビデオデータに深度（depths）を付加することによって、キャプチャした２Ｄビデオデータを、左眼ビデオデータと右眼ビデオデータとを含む３Ｄビデオデータにリアルタイムに変換する機能  
３．左眼ビデオデータと右眼ビデオデータに基づいて、３次元映像をディスプレイに表示する機能
これらの機能を実現するために、３Ｄエンジン２３０は、キャプチャ部２３１、タイムスタンプ部２３２、２Ｄ−３Ｄ変換部２３３、高解像度化部２３４、３Ｄ表示制御部２３５を含んでいる。
【００２９】
キャプチャ部２３１は、映像コンテンツデータの再生期間に動画再生プログラム２２０からＯＳ１００に出力される２Ｄビデオデータａ１およびオーディオデータｂ１をキャプチャする。動画再生プログラム２２０は２Ｄビデオデータａ１およびオーディオデータｂ１をＯＳ１００に出力するので、キャプチャ制御部２３１は、ＯＳ１００を介して、動画再生プログラム２２０から出力される２Ｄビデオデータａ１およびオーディオデータｂ１をキャプチャすることができる。例えば、２Ｄビデオデータａ１およびオーディオデータｂ１のキャプチャは、ＤＬＬ１０２内の一部のルーチンの書き換えを行うことによって実行してもよい。この場合、２Ｄビデオデータａ１およびオーディオデータｂ１を扱う、ＤＬＬ１０２内の一部のルーチンを、２Ｄビデオデータａ１およびオーディオデータｂ１を３Ｄエンジン２３０に引き渡すための新たなルーチンに書き替えるようにしてもよい。この新たなルーチンは、動画再生プログラム２２０から出力される２Ｄビデオデータａ１およびオーディオデータｂ１をカーネル１０１に出力する代わりに、３Ｄエンジン２３０に出力する。
【００３０】
このようにして、キャプチャ部２３１は、動画再生プログラム２２０から２Ｄビデオデータａ１およびオーディオデータｂ１をキャプチャすることができる。換言すれば、キャプチャ部２３１によって２Ｄビデオデータａ１およびオーディオデータｂ１がフックされ、ＯＳ１００のカーネル１０１には２Ｄビデオデータａ１およびオーディオデータｂ１は送られない。
【００３１】
タイムスタンプ部２３２は、キャプチャ部２３１によってキャプチャされた２Ｄビデオデータａ１およびオーディオデータｂ１を受け取ることができる。タイムスタンプ部２３２は、２Ｄビデオデータａ１およびオーディオデータｂ１を受け取ったタイミングを示す時間情報（タイムスタンプ）を、それら２Ｄビデオデータａ１およびオーディオデータｂ１にそれぞれ付与する。タイムスタンプ部２３２によってタイムスタンプが付与された２Ｄビデオデータａ１は、２Ｄ−３Ｄ変換部２３３に送られる。
【００３２】
２Ｄ−３Ｄ変換部２３３は、２Ｄビデオデータを３Ｄビデオデータにリアルタイムに変換するコンバータである。２Ｄ−３Ｄ変換部２３３は、２Ｄビデオデータａ１を解析し、その解析結果に基づいて２Ｄビデオデータａ１の深度（depths）を推定する。２Ｄ−３Ｄ変換部２３３は、例えば、各フレームの２次元画像情報と、前後のフレームの画像情報とに基づいて、被写体と背景との間の位置関係、オブジェクトの動き等を検出する。そして、２Ｄ−３Ｄ変換部２３３は、その検出結果に基づいて、画素単位またはブロック単位で深度を推定する。この場合、動きを伴うオブジェクトが前面側に位置するように深度を設定してもよい。そして、２Ｄ−３Ｄ変換部２３３は、推定された深度に基づいて、２Ｄビデオデータを、左眼ビデオデータと右眼ビデオデータとを含む３Ｄビデオデータに変換する。この場合、２Ｄ−３Ｄ変換部２３３は、例えば、推定された深度から各フレームの３次元モデルを生成し、そして、視差を考慮することによって、各フレームの３次元モデルから左眼フレームデータおよび右眼フレームデータを含むステレオペアを生成する。ステレオペアはフレーム毎に生成され、フレーム毎に左眼フレームデータと右眼フレームデータとの２つのフレームデータが生成される。
【００３３】
高解像度化部２３４は、３Ｄビデオデータの解像度を第１解像度（オリジナルの解像度）からそれよりも高い第２の解像度に変換する。この高解像度化処理においては、左眼ビデオデータ内のフレームデータそれぞれおよび右眼ビデオデータ内のフレームデータそれぞれの解像度が第２の解像度にアップされる。なお、高解像度化処理においては、３Ｄビデオデータを高画質化するための画質改善処理（例えば、尖鋭化処理等）も実行してもよい。
【００３４】
一般に、ある解像度のビデオデータに対する２Ｄ−３Ｄ変換処理に必要な演算処理量は、同じ解像度のビデオデータに対する高解像度化処理に必要な演算処理量よりも多い。換言すれば、高解像度化されたビデオデータを２Ｄ−３Ｄ変換するためには、非常に多くの処理量が必要となる。したがって、上述のように、最初に２Ｄ−３Ｄ変換処理を実行し、その後に高解像度化処理を行うという処理の順番は、これとは逆の処理順を用いる場合に比し、高解像度化された３Ｄビデオデータを生成するために必要な総演算処理量を下げることを可能にする。よって、本実施形態では、高解像度化部２３４は、２Ｄ−３Ｄ変換部２３３の後段、つまり２Ｄ−３Ｄ変換部２３３と３Ｄ表示制御部２３５との間に位置されている。なお、高解像度化処理は必ずしも常時実行しなくてもよく、必要に応じて実行するようにしてもよい。
【００３５】
３Ｄ表示制御部２３５は、高解像度化された３次元ビデオデータ内の左眼ビデオデータと右眼ビデオデータに基づいて、３次元映像をディスプレイ（ＬＣＤ１５）に表示する。この場合、３Ｄ表示制御部２３５は、左眼ビデオデータと右眼ビデオデータに基づいて３次元映像表示のためのビデオデータのシーケンスａ２を生成し、この生成したビデオデータのシーケンスａ２をディスプレイに出力する。換言すれば、３Ｄ表示制御部２３５は、キャプチャした（フックした）ビデオデータａ１の代わりに、３次元映像表示のためのビデオデータのシーケンスａ２をＯＳ１００に出力する。
【００３６】
３Ｄ表示制御部２３５は、ＯＳ１００と共同して、３次元映像を表示するためのウィンドウを制御することもできる。例えば、３Ｄ表示制御部２３５は、ＬＣＤ１５の画面上におけるブラウザ２１０のウィンドウとは異なるウィンドウ上に表示してもよい。これにより、３次元映像を、ブラウザ２１０のウィンドウ内の２次元の画面イメージから独立分離することができるので、３次元映像を任意のサイズでＬＣＤ１５の画面上に表示することができる。３Ｄ表示制御部２３５は、ＯＳ１００と共同して、３次元映像を表示するためのウィンドウをフルスクリーンモードに設定することもできる。
【００３７】
また、３Ｄ表示制御部２３５は、上述のタイムスタンプに基づき、高解像度化された３次元ビデオデータａ２と、ビデオデータｂ１とを同期させる処理も実行する。２Ｄ−３Ｄ変換処理および高解像度化処理にはある一定の時間を要するので、３Ｄ表示制御部２３５に入力されるビデオデータはオーディオデータよりも遅れる。上述の同期化処理により、２Ｄ−３Ｄ変換処理および高解像度化処理に伴う遅延時間差を吸収することができる。３Ｄ表示制御部２３５からＤＬＬ１０２に出力されたビデオデータａ２およびオーディオデータｂ１は、ＤＬＬ１０２を仲介してカーネル部１０１に渡される。
【００３８】
図４は、ＤＬＬ１０２内の一部のルーチンを書き換える処理の一例を説明するための概念図である。
【００３９】
動画受信再生プログラム２２０は、２次元コンテンツをデコードすることによって得られるビデオデータとオーディオデータとをＯＳ１００のＤＬＬ１０２に送信する。３Ｄエンジン２３０は、ＤＬＬ１０２内の一部のルーチン（図示の「本来の処理」部分）を、新しいルーチンに書き換える。この新しいルーチンの先頭部には、３Ｄエンジン２３０を呼び出す手続き（図示の「コール」）が配置されている。新しいルーチンから３Ｄエンジン２３０へのビデオデータとオーディオデータの引き渡しは、ビデオデータとオーディオデータが格納されている主メモリ１３上の領域を示すアドレス情報を新しいルーチンから３Ｄエンジン２３０に伝達することによって行ってもよい。
【００４０】
３Ｄエンジン２３０は、主メモリ１３上のビデオデータとオーディオデータに対して代替処理（タイムスタンプ付与、２Ｄ−３Ｄ変換、高解像度化、等）を実行した後、上記ＤＬＬ１０２内のルーチンの直後に制御権を強制的に戻す手続き（図示の「ジャンプ」）を実行してもよい。これによって、代替処理によって得られた３ＤビデオデータとオーディオデータとをＤＬＬ１０２に返却することができる。
【００４１】
図５は、ＬＣＤ１５に表示されるブラウザの画面イメージの例を示している。ＬＣＤ１５の画面上には、ブラウザのウィンドウ５００Ａが表示される。上述したように、動画配信サイト２から受信される映像コンテンツデータのデコードおよび再生は、ブラウザにプラグインされた動画像再生プログラム２２０によって実行される。映像コンテンツデータには、例えば、符号化された２Ｄビデオデータと符号化されたオーディオデータとが含まれている。動画像再生プログラム２２０は、これら２Ｄビデオデータおよびオーディオデータをそれぞれデコードし、デコードされた２Ｄビデオデータおよびデコードされたオーディオデータを出力する。デコードされた２Ｄビデオデータに対応する動画像は、ブラウザのウィンドウ５００Ａ内に配置されたビデオ表示エリア５００Ｂ上に表示される。ビデオ表示エリア５００Ｂには、２Ｄビデオデータの再生を制御するためのコントロールオブジェクト（タイムバー、再生ボタン、停止ボタン等）も表示される。
【００４２】
映像コンテンツの再生中に、例えば、マウスカーソルがビデオ表示エリア５００Ｂ上に移動された時、３Ｄエンジン２３０は、図６に示すように、ビデオ表示エリア５００Ｂ上に「３Ｄ」ボタン６００を表示する。「３Ｄ」ボタン６００は、ユーザが３Ｄ表示処理の実行を指示することを可能にするためのＧＵＩである。「３Ｄ」ボタン６００がマウス操作によってクリックされると、３Ｄエンジン２３０は、３Ｄ表示処理を開始する。そして、３Ｄエンジン２３０は、ビデオ表示エリア５００Ｂに表示されるべき動画像再生プログラム２２０の出力データ（２Ｄビデオデータおよびコントロールオブジェクト）のキャプチャを開始する。そして、３Ｄエンジン２３０は、キャプチャしたデータ（２Ｄビデオデータおよびコントロールオブジェクト）を３Ｄビデオデータに変換し、その３Ｄビデオデータに対応する動画像を、図７に示すように、ブラウザ２１０のウィンドウ５００Ａとは異なるＬＣＤ１５の画面上のウィンドウ７００上に表示する。例えば、３Ｄエンジン２３０が、ＯＳ１００によって３Ｄエンジン２３０に割り当てられた主メモリ１３上の描画領域に３Ｄビデオデータを描画することにより、３Ｄビデオデータに対応する動画像をウィンドウ７００上に表示することができる。
【００４３】
このように３Ｄビデオデータに対応する動画像をブラウザ２１０のウィンドウ５００Ａ内ではなく、ウィンドウ５００Ａとは異なる別のウィンドウ７００上に表示することにより、３次元映像を任意のサイズでＬＣＤ１５の画面上に表示することができる。なお、このウィンドウ７００はフルスクリーンモードで表示してもよい。
【００４４】
このように、３Ｄエンジン２３０は、ブラウザの画面イメージ全体をキャプチャするのではなく、ビデオ表示エリア５００Ｂ上に表示されるデータ（２Ｄビデオデータおよびコントロールオブジェクト）をキャプチャおよび２Ｄ−３Ｄ変換する。このため、ビデオデータ以外のブラウザの画面イメージ上の情報、例えば、テキストなどについては、２Ｄ−３Ｄ変換の対象から除外することができる。よって、ブラウザの画面イメージ全体ではなく、ブラウザの画面上に表示されるビデオのみを２Ｄ−３Ｄ変換することができる。
【００４５】
なお、３Ｄビデオデータに対応する動画像を、ブラウザのウィンドウ５００Ａ内に配置されたビデオ表示エリア５００Ｂ上に表示してもよい。
【００４６】
次に、図８を参照して、３Ｄエンジン２３０によって実行される処理の手順を説明する。
【００４７】
３Ｄエンジン２３０は、動画再生プログラム２２０の描画ステージにおいて出力される２Ｄビデオデータ（描画データ）をキャプチャしながら、その２Ｄビデオデータをリアルタイムに３Ｄビデオデータに変換する。そして、３Ｄエンジン２３０は、３Ｄビデオデータの解像度を高めるためのアップスケーリング（高解像度化）を実行する。そして、３Ｄエンジン２３０は、３Ｄビデオデータから、例えば、シャッター方式に対応する３Ｄビデオデータのシーケンス、または偏向方式に対応する３Ｄビデオデータのシーケンスを生成し、その３ＤビデオデータのシーケンスをＯＳ１００を介してディスプレイ（ＬＣＤ１５）に出力する。
【００４８】
次に、図９のフローチャートを参照して、本実施形態のコンピュータ１によって実行される３Ｄ表示処理の手順について説明する。
【００４９】
ユーザ操作によってブラウザ２１０が起動された時（ステップＡ１）、ブラウザ２１０は、まず、３Ｄエンジン２３０を起動する（ステップＡ２）。ステップＡ２では、３Ｄエンジン２３０がメモリ１３にロードされて実行される。ユーザがブラウザ２１０によって動画配信サイト２のＷｅｂページを閲覧すると（ステップＡ３）、ブラウザ２１０は、ブラウザ２１０にプラグインされた動画再生プログラム２２０を起動する（ステップＡ４）。そして、ユーザがそのＷｅｂページ上のある映像コンテンツデータの再生開始を指示する操作を行うと、動画再生プログラム２２０は、その映像コンテンツデータのダウンロードを開始する（ステップＡ５）。そして、動画再生プログラム２２０は、動画配信サイト２から映像コンテンツデータをストリーミングによって受信しながら、その映像コンテンツデータを再生する（ステップＡ６）。再生処理では、動画再生プログラム２２０は、映像コンテンツデータから符号化されたビデオデータと符号化されたオーディオデータとを取り出し、それら符号化されたビデオデータと符号化されたオーディオデータとをそれぞれデコードする。デコードされたビデオデータおよびデコードされたオーディオデータはＯＳ１００に送られる。そして、デコードされたビデオデータに対応する動画像は、ブラウザ２１０のウィンドウ５００Ａ内に配置されたビデオ表示領域５００Ｂ上に表示される。
【００５０】
ユーザ操作によってビデオ表示領域５００Ｂ上にマウスカーソルが移動されたとき、３Ｄエンジン２３０は、上述の「３Ｄ」ボタン６００をビデオ表示領域５００Ｂ上に表示する（ステップＡ７）。「３Ｄ」ボタン６００がマウス操作によってクリックされると、３Ｄエンジン２３０は、動画再生プログラム２２０からＯＳ１００に出力されるビデオデータおよびオーディオデータのキャプチャを開始する（ステップＡ８）。そして、３Ｄエンジン２３０は、キャブチャされたビデオデータおよびオーディオデータに対してタイムスタンプをそれぞれ付与する（ステップＡ９）。そして、３Ｄエンジン２３０は、キャブチャされたビデオデータを解析してそのビデオデータの深度を推定し、その深度に基づいて、そのビデオデータを３次元ビデオデータに変換する（ステップＡ１０）。３Ｄエンジン２３０は、３Ｄビデオデータの解像度を高めるためのスケーリング（高解像度化）を実行する（ステップＡ１１）。そして、３Ｄエンジン２３０は、高解像度化された３Ｄビデオデータから、例えば、シャッター方式に対応する３Ｄビデオデータのシーケンスを生成し、その３ＤビデオデータのシーケンスをＯＳ１００を介してディスプレイに出力する（ステップＡ１２）。
【００５１】
以上説明したように、本実施形態によれば、ブラウザ２１０の画面イメージ全体ではなく、ブラウザ２１０にプラグインされた動画像再生プログラム２２０から出力される２次元ビデオデータがキャプチャされる。そして、このキャプチャされた２次元ビデオデータが３次元ビデオデータに変換され、３次元ビデオデータに基づいて３次元映像がＬＣＤ１５の画面上に表示される。よって、ブラウザ２１０上の２次元の映像コンテンツを３次元映像として表示することができる。
【００５２】
なお、本実施形態の３Ｄ機能はコンピュータプログラムによって実現されているので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて、このコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に得ることが出来る。
【００５３】
また、３Ｄ表示制御部２３５によって生成された３Ｄビデオデータのシーケンスは、例えば、ＨＤＭＩのようなインタフェースを介して３ＤＴＶのような外部ディスプレイに出力してもよい。
【００５４】
また、本実施形態では、動画配信サイト２から受信される映像コンテンツデータが符号化されたビデオデータと符号化されたオーディデータとの双方を含む場合を例示した説明したが、動画配信サイト２から受信される映像コンテンツデータは符号化されたビデオデータのみを含むものであってもよい。
【００５５】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【００５６】
１００…ＯＳ、２１０…ブラウザ、２２０…動画再生プログラム、２３０…３Ｄエンジン、２３１…キャプチャ部と、２３２…タイムスタンプ部、２３３…２Ｄ−３Ｄ変換部、２３４…高解像度化部、２３５…３Ｄ表示制御部。
【図１】
2011244216.tif 000003
【図２】
2011244216.tif 000004
【図３】
2011244216.tif 000005
【図４】
2011244216.tif 000006
【図５】
2011244216.tif 000007
【図６】
2011244216.tif 000008
【図７】
2011244216.tif 000009
【図８】
2011244216.tif 000010
【図９】
2011244216.tif 000011
【手続補正書】
【提出日】平成23年8月1日(2011.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行可能な情報処理装置であって、
前記映像コンテンツの再生中に２次元ビデオデータを前記プレーヤソフトウェアからキャプチャするキャプチャ手段と、
前記キャプチャされた２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換するコンバータと、
前記左眼ビデオデータと前記右眼ビデオデータに基づく３次元映像をディスプレイに表示する３次元表示制御手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記３次元表示制御手段は、さらに、前記３次元映像表示のためのビデオデータのシーケンスを生成し、前記生成したビデオデータのシーケンスを前記ディスプレイに出力することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記３次元ビデオデータを第１の解像度から前記第１の解像度よりも高い第２の解像度に変換する高解像度化手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記ブラウザはインターネット上のサイトを閲覧するように構成されており、
前記３次元表示制御手段は、さらに、前記３次元映像を、前記ブラウザのウィンドウとは別のウィンドウに表示することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記３次元表示制御手段は、さらに、前記３次元映像を表示するために使用されるウィンドウをフルスクリーンモードに設定することを特徴とする請求項１記載の情報処理装置。
【請求項６】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行可能な情報処理装置であって、
前記映像コンテンツの再生中に前記プレーヤソフトウェアからオペレーティングシステムに出力される２次元ビデオデータをキャプチャするキャプチャ手段と、
前記キャプチャされた２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換するコンバータと、
前記左眼ビデオデータと前記右眼ビデオデータに基づく３次元映像を表示するためのビデオデータのシーケンスを生成し、前記ビデオデータのシーケンスを前記オペレーティングシステムに出力する３次元表示制御手段であって、前記オペレーティングシステムは前記ビデオデータを使用して前記３次元映像をディスプレイ上に表示する、３次元表示制御手段とを具備することを特徴とする情報処理装置。
【請求項７】
ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行するステップと、
前記映像コンテンツの再生中に２次元ビデオデータを前記プレーヤソフトウェアからキャプチャするステップと、
前記キャプチャされた２次元ビデオデータの深度を推定し、前記推定された深度の少なくとも一部に基づいて前記２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換するステップと、
前記左眼ビデオデータと前記右眼ビデオデータに基づく３次元映像をディスプレイに表示するステップとを具備することを特徴とする映像コンテンツ再生方法。
【請求項８】
前記３次元映像をディスプレイに表示するステップは、さらに、前記３次元映像を表示するためのビデオデータのシーケンスを生成するステップと、前記ビデオデータのシーケンスを前記ディスプレイに出力するステップとを含むことを特徴とする請求項７記載の映像コンテンツ再生方法。
【請求項９】
前記３次元ビデオデータを第１の解像度から前記第１の解像度よりも高い第２の解像度に変換するステップをさらに具備することを特徴とする請求項７記載の映像コンテンツ再生方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
実施形態によれば、情報処理装置は、ブラウザと、前記ブラウザにプラグインされサーバから受信された映像コンテンツを再生するためのプレーヤソフトウェアとを実行する。情報処理装置は、キャプチャ手段と、コンバータと、３次元表示制御手段とを具備する。キャプチャ手段は、前記映像コンテンツの再生中に２次元ビデオデータを前記プレーヤソフトウェアからキャプチャする。コンバータは、前記キャプチャされた２次元ビデオデータを左眼ビデオデータと右眼ビデオデータとを含む３次元ビデオデータに変換する。３次元表示制御手段は、前記左眼ビデオデータと前記右眼ビデオデータに基づく３次元映像をディスプレイに表示する。