(57)【特許請求の範囲】
【請求項１】
テレビに関するディスプレイ上にビデオウィンドウを作成する方法であって、
ビデオウィンドウの作成を可能とする第１のメソッドを含むインターフェースを有するオブジェクトを取得する工程を含み、前記第１のメソッドは、画像のソース領域と、宛先位置と、前記ソース領域が前記宛先位置に変換される際の拡大縮小量を示す倍率とを示すパラメータのセットを有し、
さらに、パラメータの前記セットの指定に応じて前記第１のメソッドを呼び出す工程とを含み、
前記第１のメソッドは、前記画像のソース領域の高さと幅とを変更可能であり、
前記第１のメソッドは、指定されたパラメータの前記セットに応じて、前記テレビおよび前記ディスプレイの機能の範囲内のビデオウィンドウのパラメータを返し、
前記第１のメソッドの呼び出しは、返されたパラメータが指定されたパラメータに等しい場合に指定されたパラメータの前記セットでビデオウィンドウが生成される結果につながる、方法。
【請求項２】
請求項１に記載の方法であって、前記オブジェクトを取得する工程は、１つ以上のビデオウィンドウの要求に関連する１つ以上のオブジェクトから前記オブジェクトを取得する工程を含む、方法。
【請求項３】
請求項１に記載の方法であって、前記第１のメソッドは、前記宛先位置がピクチャ・イン・ピクチャ・ウィンドウによって占有されていない場合に、前記ソース領域を拡大縮小し、前記宛先位置へ変換する、方法。
【請求項４】
請求項１に記載の方法であって、前記第１のメソッドは、前記倍率が前記テレビによってサポートされている場合に、前記ソース領域を拡大縮小し、前記宛先位置へ変換する、方法。
【請求項５】
請求項１に記載の方法であって、前記第１のメソッドは、前記宛先位置が前記テレビによってサポートされている場合に、前記ソース領域を拡大縮小し、前記宛先位置へ変換する、方法。
【請求項６】
請求項１に記載の方法であって、前記ソース領域は、高さ、幅、ソース位置によって定義される、方法。
【請求項７】
請求項１に記載の方法であって、前記インターフェースは、さらに、パラメータの前記セットに関する値の取得を可能とする第２のメソッドを含む、方法。
【請求項８】
請求項７に記載の方法であって、さらに、
ユーザの選択に応じて前記第２のメソッドを呼び出す工程を含む、方法。
【請求項９】
テレビに関するディスプレイ上でビデオウィンドウを操作する方法であって、
画像のソース領域と、宛先位置と、前記宛先位置へ変換される際に前記ソース領域が拡大縮小される量を示す倍率とを示すパラメータのセットを受信する工程と、
前記ソース領域を前記宛先位置に変換し、前記ソース領域の寸法の前記セットが変更されるように、前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程とを含み、
前記試みる工程は、前記画像のソース領域の高さと幅とを変更する工程を含み、
前記試みる工程は、変換され拡大縮小されたソース領域を含むビデオウィンドウが、前記テレビおよび前記ディスプレイの機能の範囲内で前記宛先位置にかつ前記倍率に従って生成される結果につながる、方法。
【請求項１０】
請求項９に記載の方法であって、さらに、
前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程が失敗であった際に、前記ソース領域の寸法の前記セットに別の倍率を適用することを試みる工程を含む、方法。
【請求項１１】
請求項９に記載の方法であって、さらに、
前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程が失敗であった際に、第２の倍率を取得する工程と、
寸法の前記セットに前記第２の倍率を適用することを試みる工程とを含む、方法。
【請求項１２】
テレビに関するディスプレイ上にビデオウィンドウを作成する方法であって、
画像のソース領域と、前記ソース領域が変換される第１の宛先位置とを示すパラメータのセットを受信する工程を含み、前記ソース領域は、寸法のセットを有し、
さらに、前記ソース領域を前記第１の宛先位置に変換することを試みる工程を含み、
前記試みる工程は、前記画像のソース領域の高さと幅とを変更する工程を含む、方法。
【請求項１３】
請求項１２に記載の方法であって、さらに、
前記ソース領域を前記第１の宛先位置に変換することを試みる工程が失敗であった際に、第２の宛先位置を取得する工程と、
前記ソース領域を前記第２の宛先位置に変換することを試みる工程とを含む、方法。
【請求項１４】
テレビに関するディスプレイ上にビデオウィンドウを作成する方法であって、
画像の領域をソース位置から宛先位置へ変換する工程を含み、前記領域は、前記ソース位置にある際には第１のセットの寸法を有し、前記宛先位置にある際には第２のセットの寸法を有し、
さらに、前記宛先位置と前記第２のセットの寸法との少なくとも一方を確認するために照会を実行する工程を含み、
さらに、前記画像のソース位置における前記領域の高さと幅とを変更する工程を含み、
前記変換は、ユーザによって指定されるパラメータに応じて前記テレビおよび前記ディスプレイの機能の範囲内で設定されるパラメータに従って行われる、
方法。
【請求項１５】
請求項１４に記載の方法であって、さらに、
前記宛先位置と前記第２のセットの寸法とを指定するオブジェクトを取得する工程を含む、方法。
【請求項１６】
請求項１４に記載の方法であって、さらに、
前記宛先位置に配置され、前記第２のセットの寸法によって定義された前記領域の周りの１つ以上の位置に１つ以上のグラフィカルエレメントを表示する工程を含む、方法。
【請求項１７】
請求項１６に記載の方法であって、前記１つ以上のグラフィカルエレメントは、１つ以上の単語を形成する、方法。
【請求項１８】
請求項１４に記載の方法であって、さらに、
前記画像の第２の領域が、前記宛先位置に配置され前記第２のセットの寸法を有する前記領域に重ならない場合に、前記第２の領域を第２のソース位置から第２の宛先位置へ変換する工程を含む、方法。
【請求項１９】
請求項１４に記載の方法であって、さらに、
前記領域が前記宛先位置に配置されていない場合に、前記領域を前記ソース位置から前記宛先位置へ変換する工程を含む、方法。
【請求項２０】
テレビに関するディスプレイ上にビデオウィンドウを作成する方法であって、
ソース座標系内のソース領域と宛先位置を特定するパラメータのセットを取得する工程を含み、前記ソース座標系は、前記ソース座標系の或る位置にソース起点を有し、
さらに、宛先座標系の或る位置に宛先起点を設定する工程と、
前記ソース座標系内の前記宛先位置に対応する前記宛先座標系内の位置に前記ソース領域を変換する工程とを含み、
さらに、前記ソース領域の高さと幅とを変更する工程を含み、
前記変換は、ユーザによって指定されるパラメータに応じて前記テレビおよび前記ディスプレイの機能の範囲内で設定されるパラメータに従って行われる、方法。
【請求項２１】
請求項２０に記載の方法であって、パラメータの前記セットは、さらに、倍率を含み、
前記方法は、さらに、
前記ソース領域に前記倍率を適用する工程を含む、方法。
【請求項２２】
テレビに関するディスプレイ上にビデオウィンドウを作成するための装置であって、
プロセッサと、
命令を格納したメモリとを備え、
前記命令は、
前記テレビによってサポートされた１つ以上の倍率を決定するための命令を含み、前記１つ以上の倍率はそれぞれ、前記ディスプレイ上に提供された画像の位置に配置された領域の拡大縮小可能な量を特定するものであり、
前記命令は、前記ディスプレイ上における前記領域のソースであるソース画像領域の高さと幅とを変更する命令を含み、
前記作成は、ユーザによって指定されるパラメータに応じて前記テレビによってサポートされる前記１つ以上の倍率から選択される倍率に従って行われる、装置。
【請求項２３】
請求項２２に記載の装置であって、前記メモリは、さらに、
前記画像の前記位置に配置された前記領域について許容可能な寸法のセットを決定するための命令を含む、装置。
【請求項２４】
請求項２２に記載の装置であって、前記メモリは、さらに、
前記テレビによってサポートされるｘ座標の値とｙ座標の値とを決定するための命令を含む、装置。
【請求項２５】
請求項２２に記載の装置であって、前記メモリは、さらに、
前記１つ以上の倍率の内の１つを選択するための命令と、
前記１つ以上の倍率の内の前記選択された１つを前記画像の前記領域に適用するための命令とを含む、装置。
【請求項２６】
テレビに関するディスプレイ上にビデオウィンドウを作成するための装置であって、
プロセッサと、
メモリとを備え、
前記プロセッサと前記メモリの少なくとも一方は、ビデオウィンドウの作成を可能とする第１のメソッドを含むインターフェースを有するオブジェクトを取得するよう適合され、前記第１のメソッドは、画像のソース領域と、宛先位置と、前記ソース領域が前記宛先位置への変換に先立って拡大縮小される量を示す倍率とを示すパラメータのセットを有し、
前記第１のメソッドは、前記画像のソース領域の高さと幅とを変更可能であり、
前記第１のメソッドは、前記第１のメソッドが呼び出されるときに指定されたパラメータのセットに応じて、前記テレビおよび前記ディスプレイの機能の範囲内のビデオウィンドウのパラメータを返し、
前記第１のメソッドの呼び出しは、返されたパラメータが指定されたパラメータに等しい場合に指定されたパラメータの前記セットでビデオウィンドウが生成される結果につながる、装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、コンピュータソフトウェアに関する。より詳細には、本発明は、デジタルテレビにピクチャ・イン・ピクチャ機能を実装するための方法および装置に関する。
【０００２】
【従来の技術】
デジタルテレビの革命は、放送テレビの歴史において最も重要な事柄の一つである。デジタルテレビの出現により、衛星、ケーブル、地上テレビチャンネルを介して、高速のデータ伝送が可能となった。デジタルテレビは、映像と音声の質を著しく改善するばかりでなく、ユーザに、より多くのチャンネルを提供するだろう。最も重要なことは、デジタルテレビの登場が、真の対話型テレビ時代の幕開けとなることである。例えば、デジタル受信機は、単純な対話型のクイズ番組から、インターネット放送や、テレビおよびウェブ型コンテンツの混合にいたるまで様々な高度サービスを提供できるであろう。デジタルテレビ市場が成長するにつれ、コンテンツ開発業者は、電子プログラミングガイド、ビデオ・オン・デマンド、高度放送など次世代の対話型テレビサービスを確立するための基盤として、機能が豊富で、コスト効率がよく、信頼性の高いソフトウェアプラットフォームを捜し求めている。
【０００３】
ピクチャ・イン・ピクチャは、現在利用可能な多くのテレビに普及している機能である。しかしながら、ピクチャ・イン・ピクチャ機能は通例、ハードウェアに実装される。デジタルテレビ技術が成熟するにつれ、ピクチャ・イン・ピクチャ機能がソフトウェアに実装されることが望ましくなるだろう。
【０００４】
ピクチャ・イン・ピクチャ機能を実装する環境だけでなく、ピクチャ・イン・ピクチャ機能の機能性も制限されていた。例えば、ピクチャ・イン・ピクチャ・ウィンドウは通常、ビデオモニタの中で予め設定された位置に制限されている。さらに、テレビの視聴者が複数のチャンネルを同時に見たいと思っても、従来、複数のピクチャ・イン・ピクチャ・ウィンドウを作成する機能はなかった。
【０００５】
ピクチャ・イン・ピクチャ機能が、消費者にとって重要である一方、ピクチャ・イン・ピクチャ機能をサポートする電子デバイスの互換性も同じく重要である。今日の高度技術社会において、テレビは通例、他の企業によって製造されたＶＣＲやリモコンと互換性があるよう製造される。それゆえ、様々な企業によって製造されたＶＣＲやテレビが他のものと組み合わせて用いられることが一般的である。結果として、これらのＶＣＲやテレビに備えられたリモコンは、互換的に用いられることが多くなる。同様に、万能リモコンも一般に用いられる。これらのリモコンは、様々なテレビと互換性を持つよう意図されているが、リモコンによってサポートされた機能と様々なテレビ製造業者によって提供された機能との間に１対１の対応があることはまれである。さらに、今日の消費者は多種多様の選択が可能であるため、リモコンを用いることのできるテレビそれぞれのピクチャ・イン・ピクチャ機能を予測することは不可能である。
【０００６】
上述から、テレビの視聴者によって選択された位置にピクチャ・イン・ピクチャ・ウィンドウを作成することが可能であれば望ましいだろう。さらに、テレビの視聴者が複数のピクチャ・イン・ピクチャ・ウィンドウを作成することができれば有利であろう。最後に、ピクチャ・イン・ピクチャ機能を提供する任意のデジタルテレビと共に用いるために、これらのピクチャ・イン・ピクチャ機能を実装できれば望ましいだろう。
【０００７】
【発明の概要】
本発明は、デジタルテレビに関係するディスプレイ上にビデオウィンドウ（例えば、ピクチャ・イン・ピクチャ・ウィンドウ）を実装するための方法および装置を提供する。これは、部分的には、ビデオウィンドウの照会、作成を可能とするメソッドのセットを提供するアプリケーションプログラミングインターフェースによって実現される。このように、ビデオウィンドウを、ユーザの指定するパラメータに従って、拡大縮小したり、変換したりすることが可能である。
【０００８】
本発明の一態様によると、アプリケーションプログラミングインターフェースは、ビデオウィンドウの作成を可能とするセット・ビデオ・ウィンドウ・メソッド（ｓｅｔ  ｖｉｄｅｏ  ｗｉｎｄｏｗ  ｍｅｔｈｏｄ）を提供する。セット・ビデオ・ウィンドウ・メソッドは、画像のソース領域と、宛先位置と、宛先位置へ変換される際にソース領域が拡大縮小される量を示す倍率とを示すパラメータのセットを持つ。それゆえ、セット・ビデオ・ウィンドウ・メソッドは、パラメータのセットが指定された時に、ソース領域を変換し、拡大縮小するために呼び出されてもよい。
【０００９】
本発明の他の態様によると、アプリケーションプログラミングインターフェースは、ビデオウィンドウを作成するためにセット・ビデオ・ウィンドウ・メソッドが呼び出された後に、パラメータのセットに関する値を取得することを可能とする第２のメソッドを提供する。
【００１０】
本発明のさらに別の態様によると、アプリケーションプログラミングインターフェースを実装するビデオコンポーネントオブジェクトは、ディスプレイ内に存在するビデオウィンドウ各々に対して取得してもよい。一例として、ビデオコンポーネントオブジェクトは、基本となる画像に対して取得してもよい。別の例として、ビデオコンポーネントオブジェクトは、ピクチャ・イン・ピクチャ・ビデオウィンドウ各々に対して取得されてもよい。
【００１１】
本発明の別の態様によると、本発明は、様々なハードウェアの機能に従ってビデオ画像を変換および／または拡大縮小できるように、変換および拡大縮小の機能を実装する。このように、セット・ビデオ・ウィンドウ・メソッドは、販売に当たって様々なピクチャ・イン・ピクチャ機能を備えることができる。例えば、ピクチャ・イン・ピクチャ・ウィンドウに許可される位置だけでなく、１台のテレビに許容されるピクチャ・イン・ピクチャ・ウィンドウの数が変化してもよい。このように、将来のテレビだけでなく様々な現行のテレビと互換性を持つピクチャ・イン・ピクチャ機能を、リモコンが提供することができる。
【００１２】
本発明のさらに別の態様によると、本発明は、Ｊａｖａプラットフォーム上に実装される。Ｊａｖａプラットフォームは、新しい種類の対話式サービスのための理想的な開発および配置のプラットフォームを提供する。Ｊａｖａプログラミング言語を使用すると、コンテンツ開発者は、アプリケーションの「ルック・アンド・フィール」に関して高い制御性および柔軟性を得られるため、最も動的で強力な対話型テレビ番組を視聴者に配信することができる。さらに、Ｊａｖａプログラミング言語で記述された対話型テレビアプリケーションは、多様な配列のテレビ受信機全体に渡ってセキュリティ・拡張性・可搬性を提供するため、コンテンツ開発者は、自分の対話式アプリケーションを市場に送り出す時間と費用を削減することができる。
【００１３】
本発明は、ビデオウィンドウを、拡大縮小、変換可能とすることにより、様々なテレビに対応することを可能とする。これは特に、リモコンのようなデバイスで用いられる際に有利である。このように、視聴者は、リモコンが操作するテレビの機能の知識を必要とせずにリモコンを操作すればよい。
【００１４】
【発明の実施の形態】
以下の説明では、本発明を完全に理解できるように、数多くの具体的な詳細を示している。しかしながら、これらの具体的な詳細の一部もしくはすべてがなくとも本発明が実施可能であることは、当業者には明らかであろう。その他、本発明が不必要に不明瞭とならないように周知のプロセスのステップについては詳細に説明していない。
【００１５】
ここでは、システムのハードウェア構成に関係なくシステムにピクチャ・イン・ピクチャ機能を実装することを可能とする発明が説明されている。より詳細には、ここに説明される発明では、アプリケーションによってデジタルテレビ環境にピクチャ・イン・ピクチャ機能が実装される。例えば、本発明は、複数のビデオウィンドウの位置と拡大縮小を管理するために用いることもできる。図１は、代表的なデジタルテレビ受信機を示すブロック図である。図１に示されているように、信号は、アンテナ１０２を介して受信され、チューナモジュール１０４によって同調され、ＭＰＥＧ２転送ストリーム１０６を生成する。次いで、デマルチプレクサ１０８は、映像ストリーム１１２と、音声ストリーム１１４と、データストリーム１１６とを含む暗号化ＭＰＥＧストリーム１１０を生成する。次いで、これらの３つのストリームは、条件付きアクセスサブシステム１１８によって処理される。例えば、条件付きアクセスサブシステム１１８は、復号情報１２２（例えば、復号アルゴリズム）だけでなく、キー管理情報１２０を用いてもよい。条件付きアクセスサブシステム１１８は、データ１２６と共に映像ストリーム１２４と音声ストリーム１２５を含む復号化ＭＰＥＧストリーム１２３を生成する。それらはすべて復号化されている。次いで、デコーダ１２８が、復号化ＭＰＥＧストリーム１２３を処理し、デコードされた映像データをフレームバッファ１３０へ、デコードされた音声データをスピーカ１３２へ送る。データ１２６が処理される際には、多数のクラスからなるＪａｖａアプリケーションがそのデータに含まれる可能性がある。一実施形態として、Ｊａｖａアプリケーションは、ビデオモニタ上でユーザの指定する位置に１つ以上のピクチャ・イン・ピクチャ・ウィンドウを作成するために用いられるアプリケーションとできる。
【００１６】
先に説明した通り、従来のピクチャ・イン・ピクチャ機能には制限がある。図２は、テレビスクリーン２０２上での従来のピクチャ・イン・ピクチャ・ウィンドウ２００の生成を示すブロック図である。これは通例、ユーザがテレビスクリーン２０２内のピクチャ・イン・ピクチャ・ウィンドウ２００の位置を変更できないハードウェアによって実現される。さらに、テレビの視聴者には通例、単一のピクチャ・イン・ピクチャ・ウィンドウのみを生成するという選択肢しかなく、ウィンドウは、ビデオプログラム全体を表示していることが必要である。以下の図を参照して説明するように、本発明は、これらのようなピクチャ・イン・ピクチャ機能をデジタルテレビ環境に実装するためのシステムを提供する。
【００１７】
図３は、本発明を実装することができるシステムを示すブロック図である。図示する通り、本システムは、ビデオハードウェア３０４とグラフィックハードウェア３０６（例えば、フレームバッファ）とを含むハードウェア３０２を備える。さらに、ビデオを拡大縮小し境界をつけるために、特定のハードウェア３０２にグラフィック信号処理機能を提供するネイティブ制御ソフトウェアを備える。
【００１８】
Ｊａｖａ（登録商標）は、商用のオブジェクト指向言語の草分けであり、Ｊａｖａプラットフォームをサポートする任意の互換デバイス上で動作可能な高移植性言語として開発された。したがって、Ｊａｖａ（登録商標）は、次世代型のセットトップボックスおよびデジタルテレビのためのソフトウェアプラットフォームとして幅広い展望を提供する。
【００１９】
Ｊａｖａバーチャルマシン（ＪＶＭ）３１０は、本発明を実装するために用いることができるプラットフォームの１つである。図示されているように、ＪａｖａメディアフレームワークＡＰＩ（ＪＭＦ）３１２により、Ｊａｖａアプリケーションおよびアプレット内のマルチメディアデータの表示および取り込みが可能となる。ＪＭＦ３１２は、Ｊａｖａ（登録商標）の使用可能なプラットフォームすべてにわたってオーディオおよびビデオを含む圧縮ストリーミングおよび保管タイミングベースメディアの再生、取り込み、コンファレンシングを行うための統合アーキテクチャ、メッセージングプロトコル、およびプログラミングインターフェースを指定する。例えば、ＪＭＦ３１２は、開始、停止、再生などの機能を可能にする。
【００２０】
さらに、Ｊａｖａ抽出ウィンドウツールキット（ＡＷＴ）３１４が備えられている。ＡＷＴ３１４は、Ｊａｖａ（登録商標）内にグラフィカルユーザインターフェースを構築するクラスの大きなコレクションである。例えば、ＡＷＴ３１４は、表示を管理し制御するための機能（例えば、キーボード、マウス、メニュー）を提供する。より詳細には、ＡＷＴ３１４は、１つ以上のコンポーネントの表示を管理する。ただし、各コンポーネントは、全体として扱われるグラフィカルエレメントのコレクションである。例えば、コンポーネントは、画像やウィンドウであってよい。ＪＭＦおよびＡＷＴのさらなる詳細に関しては、「Ｅｓｓｅｎｔｉａｌ  ＪＭＦ  Ｊａｖａ(trademark)  Ｊａｖａ  Ｍｅｄｉａ  Ｆｒａｍｅｗｏｒｋ」、Ｒｏｂ  Ｇｏｒｄｏｎ  ａｎｄ  Ｓｔｅｐｈｅｎ  Ｔａｌｌｅｙ、Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ１９９９年、ＩＳＢＮ  ０−１３−０８０１０４−６および「Ｔｈｅ  Ｊａｖａ  Ｃｌａｓｓ  Ｌｉｂｒａｒｉｅｓ  Ｖｏｌｕｍｅ  ２」第２版、Ｐａｔｒｉｃｋ  Ｃｈａｎ  ａｎｄ  Ｒｏｓａｎｎａ  Ｌｅｅ、Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ１９９７年、ＩＳＢＮ  ０２０１３１００３１に記載されており、それぞれを引用として本明細書に組み込むものとする。
【００２１】
上述のコンポーネントに加えて、ビデオコンポーネント３１６が開示されている。より詳細には、ビデオコンポーネント３１６は、ここに開示されたアプリケーションプログラミングインターフェースを有するオブジェクトのインストールによって実装される。ビデオコンポーネント３１６は、図４を参照して以下においてさらに詳細に説明されている。
【００２２】
図４は、本発明の一実施形態に従って、アプリケーションプログラミングインターフェース（ＡＰＩ）を実装するビデオコンポーネントを示す図である。図示されているように、ビデオコンポーネント４００は、ピクチャ・イン・ピクチャ機能がデジタルテレビ環境に実装されることを可能とするデータ構造（例えば、オブジェクト）である。より詳細には、これは、作成されたビデオウィンドウの属性を決定するために、ビデオウィンドウ（例えば、ピクチャ・イン・ピクチャ・ウィンドウ）が照会されるだけでなく作成されることを可能とする２つのメソッドを含むアプリケーションプログラミングインターフェースを実装することにより実現される。
【００２３】
テレビの視聴者は、ピクチャ・イン・ピクチャ機能を選択する際に、マウスもしくはその他の入力機器によって画像内の「ソースレクタングル」を選択してもよい。例えば、テレビの視聴者は、キーボードもしくはリモコン上での数字入力によってソースレクタングルの高さ、幅、位置を選択してもよい。次いで、対応するビデオウィンドウがセット・ビデオ・ウィンドウ・メソッド４０２によって作成される。セット・ビデオ・ウィンドウ・メソッド４０２は、ソース位置４１０から計測された高さ４０６と幅４０８によって指定された境界を持つビデオ画像を、指定された倍率４１２に従って拡大縮小し、宛先位置４０４に表示することを可能とする。ソース位置４１０と宛先位置４０４は両方とも、ｘ座標とｙ座標を用いて指定してもよい。高さ４０６、幅４０８、およびソース位置４１０を指定することにより、ソース座標系内でソースレクタングルを指定してもよい。宛先位置４０４は、ソースレクタングルが倍率４１２によって拡大縮小されると宛先レクタングルが配置される宛先座標系内の位置を指定する。このように、セット・ビデオ・ウィンドウ・メソッド４０２を用いることにより、ビデオウィンドウが作成される。
【００２４】
ビデオウィンドウが作成されると、ビデオウィンドウの様々な属性を確認することが望ましい。例えば、位置（例えば、宛先位置）、高さ、幅、もしくは倍率を決定することが望ましい。これは、例えば、領域がビデオウィンドウによって占有されているか否か、もしくはさらなるビデオウィンドウをこの領域に配置できるか否かを決定する際に有利である。この目的のために、クエリ・ビデオ・ウィンドウ・メソッド（ｑｕｅｒｙ  ｖｉｄｅｏ  ｗｉｎｄｏｗ  ｍｅｔｈｏｄ）４１２は、位置や倍率のようなビデオウィンドウの特徴を決定することができる。これは、例えば、一連の１つ以上のビデオコンポーネントオブジェクトからビデオコンポーネントオブジェクトを戻すことによって実現される。したがって、ＡＰＩを使用することにより、基本となるハードウェアに依存しないデジタルテレビ環境にピクチャ・イン・ピクチャ機能を実装することが可能となる。
【００２５】
ビデオウィンドウの作成後にビデオウィンドウの属性を照会するよりも、ビデオウィンドウの設定前に可能性のある値を照会することが望ましい。この目的のために、ビデオレクタングルクエリを実装するためのメソッドのセットが提供されている。そのメソッドのセットは、ソースおよび宛先座標系両方に実装されてもよい。あるいは、別のメソッドのセットが、ソースおよび宛先座標系それぞれに実装されてもよい。図示されているように、基本となる座標系によってサポートされるそれらの拡大縮小値を決定するために、サポーティド・スケール・バリュー・メソッド（ｓｕｐｐｏｒｔｅｄ  ｓｃａｌｅ  ｖａｌｕｅ  ｍｅｔｈｏｄ）４１４を用いてもよい。さらに、基本となる座標系によってサポートされるそれらのｘ座標値を決定するために、サポーティド・Ｘ座標・メソッド（ｓｕｐｐｏｒｔｅｄ  ｘ  ｃｏｏｒｄｉｎａｔｅ  ｖａｌｕｅ  ｍｅｔｈｏｄ）４１６が用いられてもよい。同様に、基本となる座標系によってサポートされるそれらのｙ座標値を決定するために、サポーティド・ｙ座標・メソッド（ｓｕｐｐｏｒｔｅｄ  ｙ  ｃｏｏｒｄｉｎａｔｅ  ｖａｌｕｅ  ｍｅｔｈｏｄ）４１８が用いられてもよい。さらに、変換され拡大縮小されるよう選択されたビデオウィンドウとして選択されたソースレクタングルのための有効な幅と高さを決定するために、バリッド・ワイズ・メソッド（ｖａｌｉｄ  ｗｉｄｔｈ  ｍｅｔｈｏｄ）４２０とバリッド・ハイト・メソッド（ｖａｌｉｄ  ｈｅｉｇｈｔ  ｍｅｔｈｏｄ）４２２が用いられてもよい。
【００２６】
本発明の同等のアプリケーションにより、ビデオコンポーネントに関連した個別のオブジェクトにおいて、図４で説明したＡＰＩのメソッドが提供される。これは、インスタンス化のためにどのような機構が用いられていても、ビデオコンポーネントが、図４のメソッドを実装するオブジェクトを元のビデオコンポーネントに関係付けると共に、そのオブジェクトをインスタンス化できることを必要とする。１つの方法は、ＪＭＦプレイヤオブジェクトを用いる方法であろう。ＪＭＦプレイヤオブジェクトは、ビデオコンポーネントへのアクセスを提供するメソッド（ｇｅｔＶｉｓｕａｌＣｏｍｐｏｎｅｎｔ）と、ビデオデータの表示を制御するビデオコンポーネントに関連するオブジェクトを提供するメソッド（ｇｅｔＣｏｎｔｒｏｌｓ）とを備える。アプリケーションは、ｇｅｔＶｉｓｕａｌＣｏｍｐｏｎｅｎｔメソッドを用いてビデオコンポーネントをインスタンス化し、ｇｅｔＣｏｎｔｒｏｌｓメソッドから図４に説明されたＡＰＩを実装するオブジェクトを取得する。
【００２７】
上述のように、ビデオコンポーネント４００は、ビデオウィンドウの照会、設定を可能とする。図５は、本発明の一実施形態に従ったビデオコンポーネントに関するビデオウィンドウの表示を示す図である。図示されているように、セット・ビデオ・ウィンドウ・メソッドが呼び出されると、基本となるビデオ画像５０４上にビデオウィンドウ５０２が表示される。ビデオウィンドウ５０２は、ビデオ高さ５０６とビデオ幅５０８を持つが、それらは両方とも、倍率に従って拡大縮小され、宛先ビデオ位置５１０に表示されたものである。
【００２８】
同じメソッドを各ビデオウィンドウ（例えば、基本となるビデオ画像もしくはピクチャ・イン・ピクチャ・ウィンドウ）に用いるために、基準位置に起点が設定される。一実施形態によると、起点は、各座標系の左上の角に設定される。例えば、ソース座標系内の起点は、５１２のように設定されてもよい。選択されたソースレクタングルを変換し、拡大縮小するために、セット・ビデオ・ウィンドウ・メソッドが呼び出されると、宛先座標系が作成され、そこで、ソース座標系の起点と同じ位置に宛先座標系の起点が設定される。例えば、宛先座標系内の起点は、５１４のように左上の角に設定されてもよい。
【００２９】
インスタンス化されたビデオコンポーネントオブジェクトによって上述のメソッドを実装するアプリケーションは、リモコンなどの様々なデバイスに実装できる。それゆえ、ビデオコンポーネントがインスタンス化されると、アプリケーションは、ビデオコンポーネントオブジェクトによって、ビデオウィンドウのパラメータを照会すると共に、そのビデオウィンドウを変換し拡大縮小することができる。図６は、ビデオコンポーネントを実装可能である代表的なシステムを示すブロック図である。図示されているように、そのシステムは、ハードウェア３０２と、グラフィックハードウェア３０６と、ＡＷＴ３１４と、ビデオコンポーネント４００とを備える。アプリケーション６０２は、ビデオコンポーネントオブジェクト４００を取得して、ビデオウィンドウを設定したりビデオウィンドウに照会したりすることができる。より詳細には、ビデオコンポーネントオブジェクト４００は、ＡＷＴ３１４だけでなく、ビデオソフトウェア６０４によってこれらの機能を実行することもできる。１つのビデオモニタ内の１つ以上のビデオウィンドウをインスタンス化することによって、１つ以上のビデオコンポーネントオブジェクトが、１つ以上のビデオウィンドウを提供するためにインスタンス化されてもよい。したがって、アプリケーション６０２は、複数のビデオコンポーネント４００を同時にもしくは連続的に取得し、１つのモニタ内の複数のビデオウィンドウを設定してもよい。
【００３０】
図４を参照して上述したように、ビデオコンポーネントオブジェクト４００は、セット・ビデオ・ウィンドウ・メソッド４０２とクエリ・ビデオ・ウィンドウ・メソッド４１２両方が、アプリケーションによって呼び出されることを可能とする。図７は、セット・ビデオ・ウィンドウ・メソッドを呼び出すことによってビデオウィンドウを作成する１つの方法を示すフローチャートである。プロセスは、ブロック７００で始まり、ブロック７０２において、ビデオコンポーネントオブジェクトが取得される。例えば、ビデオコンポーネントオブジェクトは、事前にインスタンス化された１つ以上のビデオコンポーネントオブジェクトから選択することができる。次いで、ユーザ（例えば、テレビの視聴者）は、パラメータを選択もしくは入力し、表示されるビデオウィンドウ（例えば、ピクチャ・イン・ピクチャ・ウィンドウ）に関するソースおよび宛先領域（例えば、レクタングル）を定義することができる。次いで、パラメータは、ブロック７０４〜７１０に示されているように設定される。ブロック７０４において、宛先領域のための所望の位置が、モニタ内の選択された領域（例えば、右上の象限）に設定される。次いで、ブロック７０６において、倍率が、選択された倍率に設定される。例えば、宛先領域に関する倍率は、ソース領域の４分の１のサイズと寸法に指定されてもよい。次いで、ブロック７０８において、セット・ビデオ・ウィンドウ・メソッドの位置パラメータが、所望の位置に設定される。次いで、ブロック７１０において、ソース領域が指定される。例えば、ソース領域の境界は、ソースの位置、高さ、および幅を指定することにより設定されてもよい。
【００３１】
セット・ビデオ・ウィンドウ・メソッドのパラメータが指定されると、ブロック７１２において、セット・ビデオ・ウィンドウ・メソッドが呼び出される。セット・ビデオ・ウィンドウ・メソッドを呼び出すアプリケーションは、ピクチャ・イン・ピクチャ機能を実装するハードウェアから独立していてもよいため、ユーザによって指定されるパラメータは、最終的にはハードウェアの機能の範囲内でなくてもよい。例えば、万能リモコンは、ピクチャ・イン・ピクチャが、スクリーンの任意の位置に配置され、任意の倍率を許容することを可能にできる。しかしながら、万能リモコンが用いられているテレビにおいては、特定の位置（例えば、スクリーンの左下の角）にしかピクチャ・イン・ピクチャ・ウィンドウを作成することができない。同様に、そのテレビは、特定の倍率（例えば、２分の１、４分の１）しかサポートできない。それゆえ、一実施形態によると、セット・ビデオ・ウィンドウ・メソッドは、セット・ビデオ・ウィンドウ・メソッドによって最終的に設定された値を持つオブジェクト（例えば、ビデオコンポーネントオブジェクト）を戻す。ブロック７１４において、結果としてのウィンドウの位置が所望の位置と等しいと決定されると、ブロック７１６において、プロセスが終了する。結果としての位置が所望の位置に等しくない場合には、ハードウェアが所望の位置をサポートできないか、もしくは、所望の位置が現在占有されていることになる。それゆえ、次に、ブロック７１８において、結果としての位置が、さらなるビデオウィンドウを表示するためのさらなる位置がないことを示すか否かが決定される。さらなる位置がない場合には、ブロック７２０においてプロセスが終了し、ビデオウィンドウは表示されない。しかしながら、ビデオウィンドウを表示可能なさらなる位置が存在する場合には、ブロック７２２において、所望の位置が別の位置に設定される。例えば、その位置は、可能な位置のセットの中から任意に選択されてもよいし、テレビの視聴者が、別の所望の位置を選択してもよい。次いで、プロセスは、ブロック７０６において、新しく選択された所望の位置に対して継続する。
【００３２】
結果としての位置が所望の位置に等しいことを検証することに加えて、他のパラメータを同様に検証してもよい。例えば、ハードウェアは、特定の倍率しかサポートしていなくてもよい。それゆえ、結果としての倍率が選択された倍率に等しいか否か（例えば、ブロック７１４において）を検証してもよい。これらの例は、例示的なものにすぎず、他の選択が、戻されたビデオコンポーネントオブジェクト内の値によって同様に検証されてもよい。
【００３３】
ビデオウィンドウが作成、表示されると、様々な理由から、ビデオウィンドウのパラメータ値を照会することが望ましい。例えば、図８は、本発明のカラオケアプリケーションを示す図である。モニタ８００内にビデオウィンドウ８０２が表示されている。テレビの視聴者が、カラオケの選択肢を提供する音楽チャンネルを見ようと思った際に、それに関する歌詞８０４を適切に表示するために、ビデオウィンドウ８０２を配置する場所を決定する事を必要としてもよい。
【００３４】
図９は、現在のビデオウィンドウに関するパラメータを決定する１つの方法を示すフローチャートである。そのプロセスは、ブロック９００で始まり、ブロック９０２において、ビデオコンポーネントが、１つ以上のビデオコンポーネントオブジェクトのセットから取得される。例えば、ビデオコンポーネントオブジェクトを、基本となる全画像だけでなく、各ピクチャ・イン・ピクチャ・ビデオウィンドウに関連付けてもよい。さらに、複数のピクチャ・イン・ピクチャ・ウィンドウが、いくつかのシステムによってサポートされていてもよい。ビデオコンポーネントオブジェクトが取得されると、ブロック９０４において、図４に示されたクエリ・ビデオ・ウィンドウ・メソッドが呼び出される。一実施形態によると、クエリ・ビデオ・ウィンドウ・メソッドは、ビデオコンポーネントオブジェクトに関するビデオウィンドウのパラメータを指定するオブジェクトを戻す。次いで、ブロック９０６において、ビデオウィンドウが配置された位置が、この戻されたオブジェクトから取得される。既存のビデオウィンドウの位置が取得されると、ブロック９０８において、所望どおりのビデオ位置もしくはその周辺で、グラフィック機能が実行されてよい。一例として、クエリ・ビデオ・ウィンドウ・メソッドは、そのピクチャ・イン・ピクチャ・ウィンドウが或る特定の位置に存在しない場合に、そのウィンドウのみがその位置に表示されるように、ピクチャ・イン・ピクチャ機能を最適化するために用いられてもよい。別の例として、クエリ・ビデオ・ウィンドウ・メソッドは、第２のピクチャ・イン・ピクチャ・ウィンドウを配置したい位置に、ピクチャ・イン・ピクチャ・ウィンドウが存在するか否かを決定するために用いてもよい。最後に、図８を参照して上述したように、クエリ・ビデオ・ウィンドウ・メソッドは、歌詞を表示することができるカラオケアプリケーション内の領域を決定するために用いてもよい。
【００３５】
図１０は、図９のブロック９０８においてカラオケの歌詞を表示する代表的な方法を示すフローチャートである。プロセスは、ブロック１０００で始まる。ブロック１００２において、ビデオウィンドウの配置された位置が、スクリーンの右上の象限であるか否かが判断される。ビデオウィンドウが、スクリーンの右上の象限に表示されている場合、ブロック１００４において、カラオケの歌詞がスクリーンの左側に表示される。しかしながら、ビデオウィンドウがスクリーンの右上の象限に配置されていないことを、その位置が示唆する場合には、ブロック１００６において、ビデオウィンドウがスクリーンの右下の象限に配置されているか否かが判断される。ビデオウィンドウが、右下の象限に表示されていない場合、そのビデオウィンドウはスクリーンの左側に配置されているに相違ない。したがって、カラオケの歌詞は、ブロック１００８において、スクリーンの右側に描画される。歌詞が表示されると、１０１０において、伴奏にあわせてバウンシングボール（ｂｏｕｎｃｉｎｇ  ｂａｌｌ）が表示される。上述のプロセスは、スクリーンの右側および左側の確認を行うものであるが、１つ以上のビデオウィンドウの周りにカラオケの歌詞もしくは他のグラフィカルエレメントを表示するために、さらなる複雑なメソッドが実装されてもよい。
【００３６】
上述のように、クエリ・ビデオ・ウィンドウ・メソッドは、さらに、ピクチャ・イン・ピクチャ・ウィンドウの表示を最適化するために用いられてもよい。図１１は、図９のブロック９０８においてピクチャ・イン・ピクチャ機能を最適化する１つの方法を示すフローチャートである。プロセスはブロック１１００で始まり、ブロック１１０２において、ビデオウィンドウの位置が所望の位置に配置されているか否かが決定される。その位置が所望の位置に配置されている場合、ビデオウィンドウは描画される必要がないので、ブロック１１０４においてプロセスが終了する。しかしながら、ビデオウィンドウが所望の位置に配置されていない場合には、ブロック１１０６において、ビデオウィンドウが所望の位置に描画される。このように、ピクチャ・イン・ピクチャ機能が最適化されてもよい。
【００３７】
クエリ・ビデオ・メソッド（ｑｕｅｒｙ  ｖｉｄｅｏ  ｍｅｔｈｏｄ）は、さらに、複数のピクチャ・イン・ピクチャ・ビデオウィンドウをサポートするシステムにピクチャ・イン・ピクチャの表示を実装するために用いることができる。図１２は、図９のブロック９０８において複数のピクチャ・イン・ピクチャ・ビデオウィンドウを表示するために照会機能を用いる１つの方法を示すフローチャートである。プロセスはブロック１２００で始まり、ブロック１２０２において、既存のビデオウィンドウがスクリーンの右上の象限に配置されていることを、既存のビデオウィンドウの位置が示唆しているか否かが判断される。既存のビデオウィンドウがスクリーンの右上の象限に表示されていないことを、その位置が示唆する場合には、ブロック１２０４において、新しいビデオウィンドウが右下の象限に描画されてもよい。しかしながら、既存のビデオウィンドウが右上の象限に表示されていない場合には、ブロック１２０６において、既存のビデオウィンドウの位置がスクリーンの右下の象限にあるか否かが判断される。既存のビデオウィンドウが、右下の象限にない場合、ブロック１２０８において、新しいビデオウィンドウが右下の象限に描画されてもよい。次に、ブロック１２１０において、既存のビデオウィンドウがスクリーンの左上の象限に表示されているか否かが判断される。既存のビデオウィンドウが、左上の象限に配置されていない場合、ブロック１２１２において、新しいビデオウィンドウが左上の象限に表示されてもよい。そうではなく、既存のビデオウィンドウが、左上の象限に配置されている場合には、ブロック１２１４において、新しいビデオウィンドウが左下の象限に表示される。このように、１つ以上のビデオウィンドウ（例えば、ピクチャ・イン・ピクチャ・ウィンドウ）が、互いに重ならないように表示されることが可能である。上述のプロセスは、複数のピクチャ・イン・ピクチャ・ウィンドウを表示する簡単な方法を提示するものであるが、そのプロセスは例示的なものにすぎず、スクリーン内の他の位置が、１つ以上の追加のビデオウィンドウの要求に関して指定されたパラメータ（例えば、位置）について確認、比較されてもよい。
【００３８】
図４に示されたような複数のビデオコンポーネントオブジェクトが、単一のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での使用のためにインスタンス化されてもよい。図１３は、単一のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。図示されているように、第１のビデオコンポーネントは、基本となるビデオウィンドウ１３００もしくは画像に関連付けられてもよく、第２のビデオコンポーネントオブジェクトは、第２のビデオウィンドウ（例えば、ピクチャ・イン・ピクチャ・ウィンドウ）１３０２に関連付けられてもよい。例えば、テレビの視聴者は、テニスの試合を観る際に、センターコートを基本となるビデオウィンドウ１３００として表示し、サブコートをピクチャ・イン・ピクチャ・ウィンドウ１３０２として表示してもよい。さらに、さらなるテキストウィンドウ１３０４に統計を表示してもよい。そのシステムは、さらに、ユーザが、基本となるビデオウィンドウ１３００とピクチャ・イン・ピクチャ・ウィンドウ１３０２とを置き換えることを可能としてもよい。したがって、それらのビデオコンポーネントは、この置き換えに応じて、様々なウィンドウおよびパラメータに関連付けられてもよい。
【００３９】
同様に、複数のビデオコンポーネントオブジェクトが、複数のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での使用のためにインスタンス化されてもよい。図１４は、複数のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。このように、第１のビデオコンポーネント１４００は、第１のピクチャ・イン・ピクチャ・ウィンドウに関連付けられてよく、第２のビデオコンポーネント１４０２は、第２のピクチャ・イン・ピクチャ・ウィンドウに関連付けられてよく、第３のビデオコンポーネント１４０４は、第３のピクチャ・イン・ピクチャ・ウィンドウに関連付けられてよい。例えば、図１３を参照して上述したように、テレビの視聴者は、テニスの試合などを観ながら、複数のピクチャ・イン・ピクチャ・ウィンドウを見たいと思ってもよい。それゆえ、図示されているように、第１のビデオコンポーネント１４００は、センターコートを表示するために用いられてよく、第２のビデオコンポーネント１４０２は、観客カメラを表示するために用いられてよく、第３のビデオコンポーネント１４０４は、サブコートを表示するために用いられてよい。さらに、スコアなどの統計を表示するために、さらなるテキストウィンドウ１４０６が用いられてもよい。さらに、基本となる画像１４０８は、複数のピクチャ・イン・ピクチャ・ウィンドウに表示するための領域を選択した試合の全体像を表示してもよい。
【００４０】
本発明は、ピクチャ・イン・ピクチャ機能を提供するハードウェアの機能に関する知識を必要とせずに、ピクチャ・イン・ピクチャ機能を実装するための方法および装置を提供する。アプリケーションプログラミングインターフェースは、ビデオウィンドウが参照され、生成されることを可能とする。さらに、開示されているアプリケーションプログラミングインターフェースを有するビデオコンポーネントオブジェクトのインストールにより、１つ以上のビデオウィンドウの指定および表示が可能となる。さらに、ビデオウィンドウを参照する参照機能が開示されている。
【００４１】
本発明は、任意の適切なコンピュータシステムに実装することができる。図１５は、本発明の実装に適した代表的な汎用コンピュータシステム１５０２を示している。コンピュータシステムは、任意の適切な形態をとってよい。例えば、コンピュータシステムは、デジタルテレビ受信機もしくはセットトップボックスと統合されてもよい。
【００４２】
コンピュータシステム１５３０、より具体的にはＣＰＵ１５３２は、当業者の理解するように、バーチャルマシンをサポートするよう構成されてもよい。コンピュータシステム１５０２は、一次記憶デバイス１５０６（通例、読み出し専用メモリすなわちＲＯＭ）と一次記憶デバイス１５０８（通例、ランダムアクセスメモリすなわちＲＡＭ）を含むメモリデバイスに接続された任意の数のプロセッサ１５０４（中央処理装置すなわちＣＰＵとも呼ばれる）を備えている。当業者に周知のとおり、ＲＯＭは、データや命令を単方向的にＣＰＵ１５０４へ転送する機能を持ち、ＲＡＭは通例、データや命令を二方向的に転送するために用いられる。一次記憶装置１５０６および１５０８は両方とも、任意の適切なコンピュータ読み取り可能な媒体を含んでよい。ＣＰＵ１５０４は一般に、任意の数のプロセッサを含んでいてよい。
【００４３】
二次記憶媒体１５１０は、通例はマスメモリデバイスであり、二方向的にＣＰＵ１５０４に接続され、データ記憶容量を補っている。マスメモリデバイス１５１０は、コンピュータコード、データなどを含むプログラムを格納するために用いることのできるコンピュータ読み取り可能な媒体である。通例、マスメモリデバイス１５１０は、一次記憶装置１５０６および１５０８よりも一般に低速であるハードディスクのような記憶媒体である。
【００４４】
ＣＰＵ１５０４は、さらに、１つ以上の入出力装置１５１２に接続されてもよい。入出力装置１５１２は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロホン、タッチセンシティブ・ディスプレイ、トランスデューサ・カード読み取り装置、磁気もしくは紙テープ読取装置、タブレット、スタイラス、音声もしくは手書き文字認識装置、もしくは、他のコンピュータのような周知の入力装置などの装置を含むが、それらに限定されない。最後に、ＣＰＵ１５０４は随意的に、１５１４に一般的に示したネットワーク接続を用いて、コンピュータもしくは遠隔通信ネットワーク（例えばインターネットネットワークもしくはイントラネットネットワーク）に接続されてもよい。そのようなネットワーク接続を行った場合、ＣＰＵ１５０４は、上述した方法のステップの実行中に、ネットワークから情報を受信し、ネットワークに情報を出力することができると考えられる。そのような情報は、ＣＰＵ１５０４を用いて実行される一連の命令として表されることが多く、例えば搬送波で実現されるコンピュータデータ信号の形で、ネットワークから受信され、ネットワークに出力されることが可能である。
【００４５】
本発明の実施形態と応用を示して説明したが、本発明の概念、範囲、意図の範囲内で多くの変形と修正が可能であり、これらの変形は、本明細書を精読すれば当業者には明らかとなるだろう。例えば、本発明は、システムのハードウェア構成に関係なく任意のシステムにピクチャ・イン・ピクチャ機能を実装するものとして説明されている。ビデオコンポーネントオブジェクトは、２つのメソッドを含むものとして定義されたが、これらのメソッドは例示的なものにすぎないため、別の実施形態も可能である。また、本発明は、デジタルテレビ環境に実装されると説明されたが、他の用途も可能である。さらに、本明細書では、Ｊａｖａプラットフォーム上に実装するものとして本発明を説明しているが、オブジェクト指向言語が使用される様々なプラットフォームまたはコンテキストに本発明を実装してもよい。したがって、本実施形態は、例示的なものであって制限的ではないとみなされ、本発明は、本明細書の詳細に限定されず、添付の請求項の範囲および等価物の範囲内で修正することができる。
【図面の簡単な説明】
【図１】  代表的なデジタルテレビ受信機を示すブロック図である。
【図２】  テレビスクリーン上での従来のピクチャ・イン・ピクチャ・ウィンドウの作成を示すブロック図である。
【図３】  本発明を実装可能なシステムを示すブロック図である。
【図４】  本発明の一実施形態に従って、アプリケーションプログラミングインターフェース（ＡＰＩ）を実装するビデオコンポーネントを示す図である。
【図５】  本発明の一実施形態に従ったビデオコンポーネントに関するビデオウィンドウの表示を示す図である。
【図６】  ビデオコンポーネントを実装可能である代表的なシステムを示すブロック図である。
【図７】  セット・ビデオ・ウィンドウ・メソッドを呼び出すことによってビデオウィンドウを作成する１つの方法を示すフローチャートである。
【図８】  本発明のカラオケアプリケーションを示す図である。
【図９】  現在のビデオウィンドウに関するパラメータを決定する１つの方法を示すフローチャートである。
【図１０】  図９のブロック９０８においてカラオケの歌詞を表示する代表的な方法を示すフローチャートである。
【図１１】  図９のブロック９０８においてピクチャ・イン・ピクチャ機能を最適化する１つの方法を示すフローチャートである。
【図１２】  図９のブロック９０８において複数のピクチャ・イン・ピクチャ・ビデオウィンドウを表示するために照会機能を用いる１つの方法を示すフローチャートである。
【図１３】  単一のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。
【図１４】  複数のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。
【図１５】  本発明の実装に適した代表的な汎用コンピュータシステムを示している。
【符合の説明】
１０２  アンテナ
１０４  チューナモジュール
１０６  ＭＰＥＧ２転送ストリーム
１０８  デマルチプレクサ
１１０  暗号化ＭＰＥＧストリーム
１１２  映像ストリーム
１１４  音声ストリーム
１１６  データストリーム
１１８  条件付きアクセスサブシステム
１２０  キー管理情報
１２２  復号情報
１２３  復号化ＭＰＥＧストリーム
１２４  映像ストリーム
１２５  音声ストリーム
１２６  データ
１２８  デコーダ
１３０  フレームバッファ
１３２  スピーカ
２００  ピクチャ・イン・ピクチャ・ウィンドウ
２０２  テレビスクリーン
３０２  ハードウェア
３０４  ビデオハードウェア
３０６  グラフィックハードウェア
３０８  ネイティブ制御ソフトウェア
３１０  Ｊａｖａバーチャルマシン
３１２  ＪａｖａメディアフレームワークＡＰＩ（ＪＭＦ）
３１４  Ｊａｖａ抽出ウィンドウツールキット（ＡＷＴ）
３１６  ビデオコンポーネント
４００  ビデオコンポーネント
４０２  セット・ビデオ・ウィンドウ・メソッド（ｓｅｔ  ｖｉｄｅｏ  ｗｉｎｄｏｗ  ｍｅｔｈｏｄ）
４０４  宛先位置
４０６  高さ
４０８  幅
４１０  ソース位置
４１２  倍率
４１２  クエリ・ビデオ・ウィンドウ・メソッド（ｑｕｅｒｙ  ｖｉｄｅｏ  ｗｉｎｄｏｗ  ｍｅｔｈｏｄ）
４１４  サポーティド・スケール・バリュー・メソッド（ｓｕｐｐｏｒｔｅｄ  ｓｃａｌｅ  ｖａｌｕｅ  ｍｅｔｈｏｄ）
４１６  サポーティド・Ｘ座標・メソッド（ｓｕｐｐｏｒｔｅｄ  ｘ  ｃｏｏｒｄｉｎａｔｅ  ｖａｌｕｅ  ｍｅｔｈｏｄ）
４１８  サポーティド・ｙ座標・メソッド（ｓｕｐｐｏｒｔｅｄ  ｙ  ｃｏｏｒｄｉｎａｔｅ  ｖａｌｕｅ  ｍｅｔｈｏｄ）
４２０  バリッド・ワイズ・メソッド（ｖａｌｉｄ  ｗｉｄｔｈ  ｍｅｔｈｏｄ）
４２２  バリッド・ハイト・メソッド（ｖａｌｉｄ  ｈｅｉｇｈｔ  ｍｅｔｈｏｄ）
５０２  ビデオウィンドウ
５０４  ビデオ画像
５０６  ビデオ高さ
５０８  ビデオ幅
５１０  宛先ビデオ位置
６０２  アプリケーション
６０４  ビデオソフトウェア
８００  モニタ
８０２  ビデオウィンドウ
８０４  歌詞
１３００  基本となるビデオウィンドウ
１３０２  第２のビデオウィンドウ
１３０４  テキストウィンドウ
１４００  第１のビデオコンポーネント
１４０２  第２のビデオコンポーネント
１４０４  第３のビデオコンポーネント
１４０６  テキストウィンドウ
１４０８  基本となる画像
１５０２  汎用コンピュータシステム
１５０４  プロセッサ
１５０６  一次記憶デバイス、ＲＯＭ
１５０８  一次記憶デバイス、ＲＡＭ
１５１０  マスメモリデバイス
１５１２  入出力装置
１５１４  ネットワーク
１５３０  コンピュータシステム
１５３２  ＣＰＵ
【図１】
0004849756.tif 000002
【図２】
0004849756.tif 000003
【図３】
0004849756.tif 000004
【図４】
0004849756.tif 000005
【図５】
0004849756.tif 000006
【図６】
0004849756.tif 000007
【図７】
0004849756.tif 000008
【図８】
0004849756.tif 000009
【図９】
0004849756.tif 000010
【図１０】
0004849756.tif 000011
【図１１】
0004849756.tif 000012
【図１２】
0004849756.tif 000013
【図１３】
0004849756.tif 000014
【図１４】
0004849756.tif 000015
【図１５】
0004849756.tif 000016