(57)【特許請求の範囲】
【請求項１】
モバイル装置によって実行される、他の装置のディスプレイのコンテンツをストリーミングするためのコンピュータ実装された方法であって、前記方法は、
前記モバイル装置のカメラを用いて映像フレームを取得し、
検出手段により、前記映像フレーム内の前記ディスプレイに対応する領域を、前記ディスプレイに対応する矩形領域の対角を特定する入力に基づいて検出し、
処理手段により、前記検出された領域内で前記映像フレームの部分を識別し、前記検出された領域内の前記識別された映像フレームの部分の画像を生成して、前記検出された領域に基づいて前記映像フレームを処理し、
伝送手段により、前記生成された画像を伝送し、
前記検出手段が、前記モバイル装置の姿勢変化を検知し、前記姿勢変化が検出されると前記ディスプレイに対応する前記映像フレーム内の領域を再検出する、
ことを含む、コンピュータ実装された方法。
【請求項２】
前記映像フレームを処理することは、前記領域内の前記映像フレームの部分のゆがみ補正を行うことを更に含む、請求項１に記載のコンピュータ実装された方法。
【請求項３】
前記ゆがみ補正は、前記ディスプレイの所定の想定アスペクト比に基づいて行われる、請求項２に記載のコンピュータ実装された方法。
【請求項４】
前記映像フレームを処理することは、前記領域内の前記映像フレームの部分の動き補正を行うことを更に含む、請求項１〜３のいずれかに記載のコンピュータ実装された方法。
【請求項５】
前記映像フレームを処理することは、前記映像フレームの前記検出された領域外の第２の部分をフィルタリングして除外することを更に含む、請求項１〜４のいずれかに記載のコンピュータ実装された方法。
【請求項６】
前記フィルタリングは、前記ディスプレイの所定のアスペクト比に基づいて行われる、請求項５に記載のコンピュータ実装された方法。
【請求項７】
前記伝送手段が、前記映像フレームの部分をリアルタイムでサーバに伝送する、請求項１〜６のいずれかに記載のコンピュータ実装された方法。
【請求項８】
表示手段が、前記カメラを用いて取得した映像フレームと共に、前記処理された映像フレームを、前記モバイル装置のディスプレイに表示することを更に含む、請求項１〜７のいずれかに記載のコンピュータ実装された方法。
【請求項９】
モバイル装置であって、
映像フレームを記録するカメラと、
前記カメラを介して記録した映像フレーム内の他の装置のスクリーンに対応する領域を、前記スクリーンに対応する矩形領域の対角を特定する入力に基づいて検出し、当該モバイル装置の姿勢変化を検知し、前記姿勢変化が検出されると前記スクリーンに対応する前記映像フレーム内の領域を再検出するスクリーン検出手段と、
前記検出されたスクリーンに対して前記映像フレームのゆがみ補正を行うゆがみ補正手段と、
前記映像フレーム内の前記検出されたスクリーンを識別して前記映像フレームの処理を行う処理手段と、
前記処理された映像フレームを遠隔のコンピュータ装置に伝送する伝送手段と、
を含む、モバイル装置。
【請求項１０】
前記カメラを用いて記録した映像フレームと共に、前記処理された映像フレームが表示されるディスプレイを更に含む、請求項９に記載のモバイル装置。
【請求項１１】
モバイル装置のコンピュータに、
前記モバイル装置のカメラを用いて映像フレームを取得し、
前記映像フレーム内の他の装置のディスプレイに対応する領域を、前記ディスプレイに対応する矩形領域の対角を特定する入力に基づいて検出し、
前記検出された領域内の前記映像フレームの部分を識別して、前記検出された領域に基づいて前記映像フレームを処理し、
前記処理された映像フレームを遠隔のコンピュータ装置に伝送し、
前記モバイル装置の姿勢変化を検知し、前記姿勢変化が検出されると前記ディスプレイに対応する前記映像フレーム内の領域を再検出する、
ことを含む処理を実行させるプログラム。
【請求項１２】
前記処理は、前記モバイル装置のカメラを用いて取得した映像フレームと共に、前記処理された映像フレームを、前記モバイル装置のディスプレイに表示することを更に含む、請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にモバイル装置用の方法及びモバイル装置に関する。具体的には、モバイル装置を利用した、映像内のディスプレイのコンテンツをストリーミングする方法、モバイル装置、及びプログラムに関する。
【背景技術】
【０００２】
モバイル装置は、処理能力の向上につれて益々計算機集約型タスクに利用されるようになってきている。最近、モバイル装置から映像のライブストリーミングを提供できるサービスが始まってきており（例、Ｑｉｋ、Ｊｕｓｔｉｎ．Ｔｖ）、これらは潜在的に、だれでも、いつでも、どこでも、なんでも、ストリーミングすることを可能にするものである。しかしデスクトップの世界で経験してきているように、フィルタのかかっていないストリーミングは、有用ではあるがすべてのタスクに対して適するわけではない。ストリーミングするコンテンツにフィルタをかけることにより、提供者は視聴者の関心事により的を絞ることができ、帯域幅の効率を上げ、プライバシへの懸念を低減できる。更に、モバイルコンテンツはデスクトップにはない別の課題に直面する。例えば、記録装置は手で支えられていることが多いために、狙っている記録コンテンツから記録装置がずれて、安定性の問題を生じることがある。モバイルアプリケーションには、映像ストリーミングをサポートするものがあり、またディスプレイ画面上に表示されたコンテンツのストリーミング（即ち、スクリーンコンテンツのストリーミング）をサポートするものもあるが、モバイル映像を介してスクリーンコンテンツのストリーミングをサポートするアプリケーションはまだない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７１１６３４２号明細書
【非特許文献】
【０００４】
【非特許文献１】ミ・ツァン（Ｍｉ  Ｚｈａｎｇ）等、「ＯＣＲＤｒｏｉｄ：スマートフォンを利用したテキストデジタル化フレームワーク」（ＯＣＲＤｒｏｉｄ：Ａ  Ｆｒａｍｅｗｏｒｋ  ｔｏ  Ｄｉｇｉｔｉｚｅ  Ｔｅｘｔ  ｏｎ  Ｓｍａｒｔ  Ｐｈｏｎｅｓ）、ＭｏｂｉＣａｓｅ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｏｂｉｌｅ  Ｃｏｍｐｕｔｉｎｇ，  Ａｐｐｌｉｃａｔｉｏｎ，  ａｎｄ  Ｓｅｒｖｉｃｅｓ）、２００９年
【非特許文献２】チョン・リウ（Ｑｉｏｎｇ  Ｌｉｕ）等、「ドキュメント・ファインダ」（Ｄｏｃｕｍｅｎｔ  Ｆｉｎｄｅｒ）、カナダ  ブリティッシュ・コロンビア  ヴァンクーバー、２００８年１０月２６〜３１日、１０１５〜１０１６ページ、
【発明の概要】
【発明が解決しようとする課題】
【０００５】
モバイル装置に組み込まれた映像カメラを介してスクリーンコンテンツを取得してストリーミングすることのできる方法、モバイル装置、及びプログラムが必要である。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、モバイル装置によって実行される、他の装置のディスプレイのコンテンツをストリーミングするためのコンピュータ実装された方法であって、前記方法は、前記モバイル装置のカメラを用いて映像フレームを取得し、検出手段により、前記映像フレーム内の前記ディスプレイに対応する領域を、前記ディスプレイに対応する矩形領域の対角を特定する入力に基づいて検出し、処理手段により、前記検出された領域内で前記映像フレームの部分を識別し、前記検出された領域内の前記識別された映像フレームの部分の画像を生成して、前記検出された領域に基づいて前記映像フレームを処理し、伝送手段により、前記生成された画像を伝送し、前記検出手段が、前記モバイル装置の姿勢変化を検知し、前記姿勢変化が検出されると前記ディスプレイに対応する前記映像フレーム内の領域を再検出する、ことを含む、コンピュータ実装された方法が提供される。
【０００８】
本発明の第２の態様によれば、上記第１の態様において、前記映像フレームを処理することは、前記領域内の前記映像フレームの部分のゆがみ補正を行うことを更に含んでもよい。
【０００９】
本発明の第３の態様によれば、上記第２の態様において、前記ゆがみ補正は、前記ディスプレイの所定の想定アスペクト比に基づいて行われてもよい。
【００１０】
本発明の第４の態様によれば、上記第１〜３のいずれかの態様において、前記映像フレームを処理することは、前記領域内の前記映像フレームの部分の動き補正を行うことを更に含んでもよい。
【００１１】
本発明の第５の態様によれば、上記第１〜４のいずれかの態様において、前記映像フレームを処理することは、前記映像フレームの前記検出された領域外の第２の部分をフィルタリングして除外することを更に含んでもよい。
【００１２】
本発明の第６の態様によれば、上記第５の態様において、前記フィルタリングは、前記ディスプレイの所定のアスペクト比に基づいて行われてもよい。
【００１３】
本発明の第７の態様によれば、上記第１〜６のいずれかの態様において、前記伝送手段が、前記映像フレームの部分をリアルタイムでサーバに伝送してもよい。
【００１５】
本発明の第８の態様によれば、上記第１〜７の態様において、表示手段が、前記カメラを用いて取得した映像フレームと共に、前記処理された映像フレームを、前記モバイル装置のディスプレイに表示することを更に含んでもよい。
【００１６】
本発明の第９の態様によれば、モバイル装置であって、映像フレームを記録するカメラと、前記カメラを介して記録した映像フレーム内の他の装置のスクリーンに対応する領域を、前記スクリーンに対応する矩形領域の対角を特定する入力に基づいて検出し、当該モバイル装置の姿勢変化を検知し、前記姿勢変化が検出されると前記スクリーンに対応する前記映像フレーム内の領域を再検出するスクリーン検出手段と、前記検出されたスクリーンに対して前記映像フレームのゆがみ補正を行うゆがみ補正手段と、前記映像フレーム内の前記検出されたスクリーンを識別して前記映像フレームの処理を行う処理手段と、前記処理された映像フレームを遠隔のコンピュータ装置に伝送する伝送手段と、を含む、モバイル装置が提供される。
本発明の第１０の態様によれば、上記第９の態様において、前記カメラを用いて記録した映像フレームと共に、前記処理された映像フレームが表示されるディスプレイを更に含んでもよい。
【００１７】
本発明の第１１の態様によれば、モバイル装置のコンピュータに、前記モバイル装置のカメラを用いて映像フレームを取得し、前記映像フレーム内の他の装置のディスプレイに対応する領域を、前記ディスプレイに対応する矩形領域の対角を特定する入力に基づいて検出し、前記検出された領域内の前記映像フレームの部分を識別して、前記検出された領域に基づいて前記映像フレームを処理し、前記処理された映像フレームを遠隔のコンピュータ装置に伝送し、前記モバイル装置の姿勢変化を検知し、前記姿勢変化が検出されると前記ディスプレイに対応する前記映像フレーム内の領域を再検出する、ことを含む処理を実行させるプログラムが提供される。
本発明の第１２の態様によれば、上記第１１の態様において、前記処理は、前記モバイル装置のカメラを用いて取得した映像フレームと共に、前記処理された映像フレームを、前記モバイル装置のディスプレイに表示することを更に含んでもよい。
【００１８】
本発明の実施形態に関連する更なる態様は、一部は以下の記述において説明され、また一部は記述から明らかであり、又は本発明を実施することで理解される。本発明の態様は、以下の詳細な説明及び添付の特許請求の範囲において特に指摘された要素、及び種々の要素と態様との組合せによって、実現及び達成をすることができる。
【発明の効果】
【００１９】
モバイル装置に組み込まれた映像カメラを介してスクリーンコンテンツを取得してストリーミングすることのできる方法、モバイル装置及びプログラムが提供される。
【図面の簡単な説明】
【００２０】
本明細書に組み込まれ、本明細書の一部をなす添付図面は、本発明の実施形態を例示し、説明と相俟って、本発明技術の原理説明及び例示に供する。
【図１】本発明の１つ例示的な実施形態を示し、ディスプレイスクリーン領域がユーザ入力を利用して手動で近似される。
【図２】本発明の１つ例示的な実施形態を示し、スクリーン領域が自動的に検出される。
【図３】本発明の１つ例示的な実施形態を示し、検出されたスクリーン境界が固定され、スクリーンのプレビューが示される。
【図４】３つの実行スレッドから成る本発明の一実施形態の例示的操作手順を示す。
【図５】本発明の実施形態の例示的機能図を示す。
【図６】本発明のシステムを実装するモバイル装置の例示的実施形態を示す。
【発明を実施するための形態】
【００２１】
上記及び以下の記述はいずれも、単に例示及び説明を目的とするものであり、特許請求の範囲に記載の発明もしくはその出願をいかなる形であれ限定することは全く意図していないことを理解されたい。
【００２２】
以下の詳細な記述においては添付図面を参照する。ここで、同一の機能的要素は同様の参照番号で示される。前述の添付図面は、本発明の原理に整合する特定の実施形態および実装を例示するものであり、それに限定するためのものではない。これらの実装形態は、当業者による本発明の実行を可能とすべく詳細に記述される。また、他の実装も利用可能であること、及び本発明の範囲及び精神から逸脱することなく様々な要素の構造上の変更及び／又は代替が行われてもよいことを理解されたい。従って、以下の詳細な記述は本発明を制限するものとして解釈されるべきではない。更に、説明される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェア、専用ハードウェア、あるいはソフトウェアとハードウェアの組合せ、のいずれの形態において実施されてもよい。
【００２３】
本発明の１つまたは複数の実施形態は、モバイル装置に組み込まれた映像カメラを介してユーザがスクリーンコンテンツを取得し、それをストリーミングすることを可能とするシステムに関する。モバイルアプリケーションでは、ユーザが選択可能な種々の手法を利用したスクリーン検出が可能であり、ユーザはモバイル装置のタッチスクリーンを利用して、検出されたコーナを手動でオーバライドすることができる。
【００２４】
本発明の１つまたは複数の実施形態において、モバイル装置で取得されストリーミングされる映像をシステムがフィルタリングし、修正する。本発明の実施形態に従うシステムは特に、コンピュータのディスプレイや映像のディスプレイなどのスクリーン上に表示されたコンテンツを検出しストリーミングすることに重点を置いており、外部ソフトウェアへの接続展開を必要とせずに（コンピュータにスクリーン記録用ソフトをインストールせずに）スクリーン上に表示されたコンテンツ（「スクリーンコンテンツ」）を誰でも直ちにストリーミングできるようにする。また、これらのアプローチのあるものは、違うタイプのコンテンツへの適用も潜在的に可能である。例えば、テレビ画面、家電品の液晶画面、その他のモバイル装置の画面、および多機能装置の画面等を識別することに適用される（例えば、遠隔地にいる技術者が、多機能ディスプレイ（ＭＦＤ）の液晶画面にエンドユーザの携帯電話のカメラを向けさせて、ＭＦＤの誤動作の修理を支援することが可能となる）。
【００２５】
利用するスクリーン検出器に拘わらず、スクリーンの境界は完全には検出できないことがある。これに適応するために本発明の１つまたは複数の実施形態では、ディスプレイのコーナなどの四辺形のコーナを、手動制御モードによってユーザが直接特定することが可能である。モバイル装置のスクリーン上の点にタッチすると、その点に最も近いコーナの位置が設定される。また、コーナを違う位置へドラッグすることもできる。ユーザはモバイル装置のディスプレイをダブルタップすることで、検出されたコーナを映像フレームのエッジへセットし直すこともできる。そして、ユーザが矩形１０２（図１）の対コーナ線に対応する２つのコーナを短時間に連続して特定すれば、システムは、検出領域を自動的に矩形１０２に設定する。これにより、ユーザがディスプレイを真直ぐに向けていて、ゆがみ補正の必要があまりない場合には、検出領域の迅速な設定が可能となる。図１は、ディスプレイの映像フレーム１０１を表示しているモバイル装置のスクリーン１０３の例示的実施形態１００を示す外観である。
【００２６】
図２に示す実施形態では、スクリーン境界２０２が自動的に検出されている。
【００２７】
本発明の１つまたは複数の実施形態においては、スクリーン１０１の座標が正しく検出されたか又は別の方法で特定されたことにユーザが満足すると、ユーザはボタンを押してその位置を「固定」できる（図３）。座標が固定されると、スクリーン検出は終了し、スクリーン境界３０３は変化しなくなり、モバイル装置のスクリーンの右下側コーナに歪のないスクリーンのプレビュー３０４が現れる。これによりユーザは、記録又はストリーミングされるゆがみ補正された実画像を見ることができる。更に、カメラ姿勢の変化を検出するために、アプリケーションの主スレッドはモバイル装置に搭載されたセンサからのイベントを受信する。変化が検出された場合、アプリケーションは自動的に固定モードを終了して、スクリーンの再検出を始める。またユーザは、いつでも固定モードを手動で終了させることができる。
【００２８】
別の実施形態では、本発明のシステムが、ＭｏｂｉＣａｓｅ  ２００９  におけるミ・ツァンによる「ＯＣＲＤｒｏｉｄ：スマートフォンを利用したテキストデジタル化フレームワーク」（非特許文献１）に記載の技術を組み込んでもよい。これは、携帯電話の傾斜センサを利用して、カメラ面が領収証の面と平行でない場合に領収証を撮映することを防ぐようになっている。このシステムは高速ライン評価器も実装しており、カメラが適切に回転せずに領収証のラインがカメラフレームの中でほぼ水平とならない場合には、写真を撮れないようになっている。例えば、スクリーンが検出され、スクリーン面がカメラ面に対して平行でない場合には、ユーザは写真を撮れないシステムとなっている。
【００２９】
本発明の１つまたは複数の実施形態では、明示的なスクリーンの検出と検出の間においてリアルタイムであるいは後処理ステップとして光学的な動き補正を行い、ゆがみ補正領域を維持することができるようになっている。別の実施形態では、その他の数多くのソフトベースの画像安定アプリケーションを利用して、取得した映像を安定化させることができる。スクリーン座標の固定ステップにより、後続フレーム変形に対する１つの基準固定点が与えられる。即ち、スクリーン領域がフレーム０で固定されるとすると、後続のフレーム１，・・・，Ｎは、周知の自動画像レジストレーション技術（例えば、シフト特徴量マッチングにより決定される、所定の一組の対応画像座標の変換計算による方法）を用いて、この参照フレーム０に整列させることができる。このように、カメラが動いてもスクリーン領域上の１固定点の位置を失うことなく利用することができる。スクリーン領域は指定済みであるので、特にスクリーン画像を安定化させるためにアライメントが実行される。つまり、指定されたスクリーン領域の境界内部（又はその付近）の特徴点のみを利用して、後続フレームを参照フレームにマッチングさせ、（背景のオブジェクトよりもむしろ）スクリーン面が確実にターゲットとなるように安定化する。
【００３０】
本発明の１つまたは複数の実施形態では、装置上に記録されたフレームは、それぞれのフレームの座標を記述したメタデータファイルと共に、サーバ上にアップロードすることができる。サーバはこれらのファイルを処理して、メタデータファイルから得られるそれぞれの座標を用いて、ゆがみ補正された映像を生成する。
【００３１】
本発明の１つまたは複数の実施形態では、画像をストリーミングする場合、画像はリモートサーバの固有ＵＲＬ上に現れる。ユーザは携帯アプリケーション上の設定を介して、いつでもストリーミング画像のアスペクト比を変更することができる。
【００３２】
１つまたは複数の実施形態では、検出された領域の寸法に最もよく対応する出力アスペクト比を、一般的なアスペクト比（例；４：３、５：４、１６：９）の固定リストから選択することにより、ストリーミング画像のアスペクト比が自動的に選択される。
【００３３】
本発明の１つまたは複数の実施形態では、システムがスクリーン境界上に固定されると、歪のないスクリーン画像が表示される。ストリーミングのリモート閲覧者は、スクリーン画像に「注釈」を追加することができる。変更されたスクリーン画像は、電話のディスプレイに戻して表示され、例えば、その後の処置を促すことができる（例えば、リモートヘルプデスクの場面などで、その後の処置を促す）。
【００３４】
本発明の１つまたは複数の実施形態では、図４に示すようにシステムが３つのプロセススレッドを動作させる。第１のスレッドにおいては、システムは先ずカメラを開いて、プレビューフレームの受信を要求する（４０１）。受信したフレームは待ち行列に格納され（４０２）、記録モードであれば（４０３）待ち画像をローカルファイルに保存して（４０４）、フレームをサーバに送信する（４０５）。そして、フレームイベントを他の２つのスレッドへ送る。
【００３５】
第２のスレッド、つまりストリーミングスレッドでは、スレッドはストリーミングモードであるかどうか（４０６）、また前のイベント又はフレームの処理が終わっているか（４０７）をチェックする。次に、フレームの圧縮カラー画像を生成し（４０８）、その画像及び検出されたディスプレイのエッジをリモートサーバに送信する（４０９）（４１０）。カメラがディスプレイからのフレームを受信し続けているので、これもリアルタイムで処理されてよい。
【００３６】
第３のスレッド、つまり検出スレッドでは、スレッドは同じように検出が有効化されているかどうか（４１１）、また、前のフレームを処理し終えたか（４１２）をチェックする。次に、フレームからグレースケール画像を生成し（４１３）、その後スクリーン検出アルゴリズムを実行して画像のエッジを検出する（４１５）（これは、携帯装置のインタフェースに構成可能である）。ユーザ特定の構成パラメータに依存して、スクリーンエッジ検出が、ローカル又はリモートで実行される（４１４）。スクリーン検出アルゴリズムは、画像中の四辺形を見つける標準的手法の任意の組合せを含んでもよい。本システムの一実施形態は、ローカル装置上で動作可能な単純な輝度ベースのスクリーン検出器と、リモートサーバ上で動作するエッジ検出ベースのスクリーン検出器との両方を含む（４１４）。候補となる四辺形が見つかると、主スレッドに設定されてディスプレイ上に表示される。（例えば、実際の映像プレビュー上のオーバレイとして表示される。）検出されたエッジは後続フレームに対して設定され（４１６）、ディスプレイ画像がサーバに送信される（４１７）。更に、クロッピング（切り取り）を利用して候補の四辺形の外側のすべての映像情報をフィルタリングして除去し、スクリーンの情報のみがサーバに送信されるようにする。こうして、システムはスクリーン周囲のバックグランドを除去することができる。
【００３７】
シナリオ例
本発明の１つまたは複数の実施形態では、リポータが新規開業の会社において新しいソフトウェアのデモを受け、自分の携帯電話のカメラを使ってスクリーンを記録することにする。本発明のシステムの実施形態によれば、リポータはきれいで帯域効率のよいアップストリームを生成し、それを部下がライブで又は非同期で見ることができる。
【００３８】
本発明の１つまたは複数の実施形態では、ビジネスユーザがカフェに居てソフトウェアアプリケーションのデモをしようとする。電話上で本発明のアプリケーションソフトの実施形態を開始し、リモート参加者へスクリーンのみをストリーミングできる。本発明のシステムの実施形態により、周りのカフェの様子やカプチーノの入ったカップやクロワッサン等のスクリーン以外の領域を切り取ってしまう。
【００３９】
本発明の１つまたは複数の実施形態では、デザイナが自分のモバイル装置上にウェブページがどのように描画されるかを記録しようとする。自分の別の携帯電話をモバイル装置のスクリーンに向けて、本発明のシステムの実施形態を利用して記録を開始する。本発明の実施形態が映像ストリーミング中のモバイル装置のスクリーン境界を抽出し、歪を直し、それをリモート閲覧者へストリーミングする。
【００４０】
本発明の１つまたは複数の実施形態では、アリスが多機能装置（ＭＦＤ）を利用して外国へファックスを送信しようとしているが、設定の仕方で混乱している。彼女は支援部署に電話して、電話をスピーカモードにしてＭＦＤの液晶スクリーンへ向ける。ソフトウェアは液晶スクリーンの境界を自動的に検出し、画像のゆがみを補正し、それを支援部署へ送信する。支援要員は液晶スクリーンの視野上に絵を描き、それがアリスの電話のスクリーン上に表示され、それで彼女は選択すべきオプションがわかる。
【００４１】
本発明の１つまたは複数の実施形態では、システムは加速度計を有するプログラム可能な携帯電話上で動作し、プログラミング言語ＪＡＶＡ（登録商標）を利用して実装される。加速度計の読出しが、電話の動きの検出及びロックモードの入／切に利用される。本発明の１つまたは複数の実施形態において、サーバ部品は所与のフレーム中の最大矩形を見つけるために、ハフ変換に基づく矩形検出器を利用する。本発明の１つまたは複数の実施形態において、ディスプレイの検出は検出対象のスクリーンの４つのコーナに配置されたＬＥＤに基づいて行われる。これはスクリーン境界の安定した自動検出を可能とする。この場合システムは、配置されたＬＥＤから放射される輝度を探索し、検出されたＬＥＤに基づいてスクリーン位置を内挿することができる。本発明の１つまたは複数の実施形態では、ディスプレイのコーナ及び／又はエッジから生じる輝度を検出することもまた利用される。本システムを更に支援するために、ディスプレイのコーナ及び／又はエッジが光るようになっていて、システムがディスプレイを容易に検出し、スクリーン位置を内挿できるようになっていてもよい。
【００４２】
図５は本発明の実施形態の機能図の例を示す。モバイル装置５００がカメラ５０１を介してスクリーン５０２にフォーカスする。スクリーン検出手段５０３がスクリーンを検出し、カメラからの映像フレームを取得し、情報をプロセッサ５０５に供給する。カメラは取得されるスクリーンと完全には整列してない可能性があり、処理時に映像フレームのゆがみ補正を行うゆがみ補正手段５０４が用いられてもよい。また、映像フレームの光学的な動き補正が行われてもよい。処理プロセスは、スクリーン検出手段によりスクリーンを識別することと、そのスクリーンに関係するフレーム情報を分離することとを含む。処理の後、映像フレームが伝送手段５０６を介してリモートサーバへ伝送される。
【００４３】
カメラ５０１は一般的にはモバイル装置５００に組み込まれている。同様に、スクリーン検出手段５０３、ゆがみ補正手段５０４、プロセッサ５０５、及び伝送手段５０６が、モバイル装置に組み込まれていてもよい。または、スクリーン検出手段５０３及び／又はゆがみ補正手段５０４は、モバイル装置５００からは遠隔位置にある例えば別のコンピュータ（図示せず）にあってもよい。この別の実施形態では、モバイル装置５００はカメラ５０１を用いてスクリーン５０２の写真を撮り、それによりスクリーン画像を生成する。そして、モバイル装置５００は、伝送手段５０６を利用してその画像をコンピュータに送信する。画像を受信するとサーバは、スクリーン検出手段５０３を利用してスクリーンを検出し、ゆがみ補正手段５０４を利用して画像のゆがみ補正を行い、ゆがみ補正された画像をモバイル装置に返す。その後、ゆがみ補正された画像が上記のように処理される。
【００４４】
例示的モバイルプラットフォーム
図６は、本発明のシステムが実装されているリモートサーバシステム６０３にネットワークを介して接続されたモバイル装置６０１の例示的実施形態６００を示す。
【００４５】
モバイル装置６０１は、このモバイル装置６０１の全体に亘って、あるいはその様々な部分間で、情報をやり取りするためのデータバス６０５または他の通信機構と、情報を処理し他の計算タスクおよび制御タスクを実行するためにバス６０４に接続されたプロセッサ６０５と、を含んでもよい。またモバイル装置６０１は、プロセッサ６０５で実行される命令のほか、様々な情報を格納するためにバス６０４に接続されたランダムアクセスメモリ（ＲＡＭ）や他の動的記憶装置などの揮発性記憶装置６０６も含む。また揮発性記憶装置６０６は、プロセッサ６０５による命令の実行中に、一時変数又は他の中間情報の格納にも利用可能である。モバイル装置６０１は、基本入出力システム（ＢＩＯＳ）などのプロセッサ６０５のための静的情報および命令、及び各種システム構成パラメータを格納するために、バス６０４に接続された読み取り専用メモリ（ＲＯＭあるいはＥＰＲＯＭ）６０７又は他の静的記憶装置を更に含んでよい。情報および命令を格納するために、磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイスなどの持続性記憶装置６０８が設けられ、バス６０４に接続されている。
【００４６】
モバイル装置６０１は、モバイル装置６０１のシステム管理者あるいはユーザに対して情報を表示するために、バス６０４を介して、陰極線管（ＣＲＴ）、プラズマディスプレイ、液晶ディスプレイ（ＬＣＤ）などのディスプレイ６０９に接続される。英数字キー及び他のキーを含む入力デバイス６１０が、情報およびコマンド選択をプロセッサ６０５に通信するためにバス６０４に接続されている。別のタイプのユーザ入力デバイスとして、トラックボールやカーソル方向キーなどのカーソル制御デバイス６１１があり、方向情報及びコマンド選択をプロセッサ６０５に通信し、またディスプレイ６０９上のカーソルの動きを制御する。この入力デバイスは一般的に、第１の軸（たとえばｘ軸）及び第２の軸（例えばｙ軸）の２つ軸における自由度２を有しており、これにより平面上の位置を特定することができる。前述したようにディスプレイスクリーンの映像を記録するために、カメラ６１２がバス６０４を介してモバイル装置６０１に接続されてもよい。
【００４７】
本発明は、本明細書に記載の技術を実装するためのモバイル装置６０１の使用に関する。ある実施形態では、本発明のシステムがモバイル装置６０１などのマシン上に存在してもよい。本発明の一実施形態によれば、本明細書に記載の技術は、揮発性メモリ６０６に含まれる１つ又は複数の命令の１つ又は複数のシーケンスを、プロセッサ６０５が実行するのに応答して、モバイル装置６０１で実行される。このような命令は、持続性記憶装置６０８などの別のコンピュータ可読媒体から揮発性メモリ６０６に読み込まれてもよい。揮発性メモリ６０６に含まれる命令のシーケンスを実行することにより、プロセッサ６０５は本明細書に記載のプロセスステップを実行する。他の実施形態では、本発明を実装するのに、ソフトウェアによる命令に替えて、あるいはソフトウェアによる命令と組み合わせて、配線回路が使用されてもよい。従って、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されるものではない。
【００４８】
本明細書で用いられる「コンピュータ可読媒体」という用語は、プロセッサ６０５に実行命令を与えることに関与する任意の媒体を指す。コンピュータ可読媒体は、マシン可読媒体の単なる一例であり、本明細書に記載の任意の方法及び／又は技術を実装するための命令を伝える。このような媒体は多くの形態を取ることができ、不揮発性媒体及び揮発性媒体が含まれるが、これに限定されない。例えば、不揮発性媒体は、記憶装置６０８などの光ディスク又は磁気ディスクを含む。揮発性媒体は、揮発性記憶装置６０６などのダイナミックメモリを含む。
【００４９】
コンピュータ可読媒体の一般的形態には、例えば、フロッピディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、又は他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光学媒体、パンチカード、紙テープ、その他の孔パターンを有する任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュドライブ、メモリカード、その他の任意のメモリチップ又はメモリカートリッジ、あるいはコンピュータが読み出し可能な他の任意の媒体が含まれる。
【００５０】
様々な形態のコンピュータ可読媒体が、プロセッサ６０５での実行のために、１つまたは複数の命令の１つまたは複数のシーケンスの搬送に関与し得る。例えば、最初は命令がリモートコンピュータから磁気ディスクで搬送されてもよい。または、リモートコンピュータが命令をダイナミックメモリに書込み、モデムを利用して電話線で命令を送信することもできる。コンピュータシステムのローカルモデムが電話線上でデータを受信し、赤外線送信機を使用してそのデータを赤外線信号に変換することができる。赤外線検出器が赤外線信号で搬送されるデータを受信し、適切な回路によってそのデータをデータバス６０４に乗せることができる。バス６０４がデータを揮発性記憶装置６０６に搬送し、そこからプロセッサ６０５が命令を取り出して、実行する。揮発性メモリ６０６によって受信された命令は、プロセッサ６０５での実行の前後のいずれかに所望により、持続性記憶装置６０８上に格納されてもよい。この命令は、当該技術分野で周知の各種ネットワークデータ通信プロトコルを利用して、インターネットを介してコンピュータプラットフォーム６０１にダウンロードされてもよい。
【００５１】
モバイル装置６０１は、データバス６０４に接続されたネットワークインタフェース６１３などの通信インタフェースも含んでいる。通信インタフェース６１３は、ローカルネットワーク６１５に接続されたネットワークリンク６１４に接続する双方向のデータ通信を提供する。例えば、通信インタフェース６１３は、携帯電話ネットワークを通して情報を送／受信する携帯電話インタフェースであってよい。他の実施形態では、通信インタフェース６１３は、対応する型式の電話線とのデータ通信接続を提供するサービス総合デジタル通信網（ＩＳＤＮ）カードあるいはモデムであってもよい。更に別の例としては、通信インタフェース６１３は、互換性のあるＬＡＮとのデータ通信接続を提供するローカルエリアネットワークインタフェースカード（ＬＡＮ  ＮＩＣ）であってもよい。よく知られている８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及びブルートゥース（Ｂｌｕｅｔｏｏｔｈ（登録商標））などの無線リンクもネットワーク実装に利用することができる。これらのいずれの実装においても、通信インタフェース６１３は、各種タイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、または光学信号を送受信する。
【００５２】
ネットワークリンク６１３が、一般的に１つ又は複数のネットワークを介して他のネットワークリソースへのデータ通信を提供する。例えば、ネットワークリンク６１５が、ローカルネットワーク６１５を介してホストコンピュータ６１６又はネットワークストレージ／サーバ６１７への接続を提供してもよい。これに加えて、もしくはこれに代わって、ネットワークリンク６１３はゲートウェイ／ファイアウォール６１７を介してインターネットなどの広域ネットワーク又はグローバルネットワーク６１８へ接続してもよい。このようにしてモバイル装置６０１が、リモートネットワークストレージ／サーバ６１９などの、インターネット６１８上の任意の場所にあるネットワークリソースへアクセスできる。その一方で、モバイル装置６０１も、ローカルエリアネットワーク６１５及び又はインターネット６１８上の任意の場所にいるクライアントからアクセスされうる。ネットワーククライアント６２０及び６２１自体が、プラットフォーム６０１と同様のコンピュータプラットフォームに基づいて実装されてもよい。
【００５３】
ローカルネットワーク６１５及びインターネット６１８はいずれも、デジタルデータストリームを搬送する電気信号、電磁信号または光学信号を利用する。モバイル装置６０１との間でデジタルデータを搬送する、各種ネットワークを介する信号、及びネットワークリンク６１５上の信号および通信インタフェース６１３を介する信号が、情報を転送する搬送波の例示的な形態である。
【００５４】
モバイル装置６０１が、携帯電話ネットワーク、インターネット６１８、ＬＡＮ６１５を含む各種ネットワーク、ネットワークリンク６１４及び通信インタフェース６１３を介して、メッセージを送信し、プログラムコードを含むデータを受信できる。インターネットの例では、システム６０１がネットワークサーバとして作用する場合に、システムは、クライアント６２０及び／又は６２１上で動作するアプリケーションプログラム用に要求されるコードあるいはデータを、インターネット６１８、ゲートウェイ／ファイアウォール６１７、ローカルエリアネットワーク６１５及び通信インタフェース６１３を介して送信する。同様に、システムは他のネットワークリソースからコードを受信することができる。
【００５５】
受信されたコードは受信と同時にプロセッサ６０５で実行されてもよいし、及び／又は、後での実行に備えて持続性記憶装置６０８あるいは揮発性記憶装置６０６またはその他の不揮発性記憶装置に格納されてもよい。
【００５６】
最後に、本明細書中に記載されたプロセス及び技術は特定の装置に生得的に関係するものではなく、構成要素の任意の適切な組み合わせによって実装可能であることを理解されたい。更に、種々のタイプの汎用デバイスを、本明細書に記載の教示にしたがって使用することが可能である。本明細書に記載された方法のステップを実行するための専用装置を構築することが有利であることも判明するであろう。本発明を特定の例に関連して記載したが、これらは全ての点において限定的ではなく説明的であることを意図している。ハードウェア、ソフトウェア、及びファームウェアの多くの異なる組合せが本発明の実行に好適であることが、当業者には理解されるであろう。例えば、前述のソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、ＪＡＶＡ（登録商標）、などの広範なプログラミング言語あるいはスクリプト記述言語によって実装可能である。
【００５７】
更に、ここに開示した本発明の明細書を考察し、本発明を実施すれば、本発明の他の実装が当業者には明らかとなるであろう。記述された実施態様の各種態様及び／又は構成要素は、モバイル装置を利用した映像内のディスプレイコンテンツのストリーミングシステム及び方法に、単独もしくは任意の組み合わせで利用することが可能である。明細書及び実施例は例示としてのみ理解されるべきであり、本発明の真の範囲と精神は添付の特許請求の範囲によって示されるものとする。
【図１】
0005633246.tif 000002
【図２】
0005633246.tif 000003
【図３】
0005633246.tif 000004
【図４】
0005633246.tif 000005
【図５】
0005633246.tif 000006
【図６】
0005633246.tif 000007