JP4849756B2 - Method and apparatus for generating a video window with parameters for determining position and scaling factor - Google Patents
Method and apparatus for generating a video window with parameters for determining position and scaling factor Download PDFInfo
- Publication number
- JP4849756B2 JP4849756B2 JP2001509017A JP2001509017A JP4849756B2 JP 4849756 B2 JP4849756 B2 JP 4849756B2 JP 2001509017 A JP2001509017 A JP 2001509017A JP 2001509017 A JP2001509017 A JP 2001509017A JP 4849756 B2 JP4849756 B2 JP 4849756B2
- Authority
- JP
- Japan
- Prior art keywords
- source region
- destination location
- video
- picture
- video window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4728—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4858—End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/45—Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
- G09G2340/125—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
Description
【0001】
【発明の属する技術分野】
本発明は、一般に、コンピュータソフトウェアに関する。より詳細には、本発明は、デジタルテレビにピクチャ・イン・ピクチャ機能を実装するための方法および装置に関する。
【0002】
【従来の技術】
デジタルテレビの革命は、放送テレビの歴史において最も重要な事柄の一つである。デジタルテレビの出現により、衛星、ケーブル、地上テレビチャンネルを介して、高速のデータ伝送が可能となった。デジタルテレビは、映像と音声の質を著しく改善するばかりでなく、ユーザに、より多くのチャンネルを提供するだろう。最も重要なことは、デジタルテレビの登場が、真の対話型テレビ時代の幕開けとなることである。例えば、デジタル受信機は、単純な対話型のクイズ番組から、インターネット放送や、テレビおよびウェブ型コンテンツの混合にいたるまで様々な高度サービスを提供できるであろう。デジタルテレビ市場が成長するにつれ、コンテンツ開発業者は、電子プログラミングガイド、ビデオ・オン・デマンド、高度放送など次世代の対話型テレビサービスを確立するための基盤として、機能が豊富で、コスト効率がよく、信頼性の高いソフトウェアプラットフォームを捜し求めている。
【0003】
ピクチャ・イン・ピクチャは、現在利用可能な多くのテレビに普及している機能である。しかしながら、ピクチャ・イン・ピクチャ機能は通例、ハードウェアに実装される。デジタルテレビ技術が成熟するにつれ、ピクチャ・イン・ピクチャ機能がソフトウェアに実装されることが望ましくなるだろう。
【0004】
ピクチャ・イン・ピクチャ機能を実装する環境だけでなく、ピクチャ・イン・ピクチャ機能の機能性も制限されていた。例えば、ピクチャ・イン・ピクチャ・ウィンドウは通常、ビデオモニタの中で予め設定された位置に制限されている。さらに、テレビの視聴者が複数のチャンネルを同時に見たいと思っても、従来、複数のピクチャ・イン・ピクチャ・ウィンドウを作成する機能はなかった。
【0005】
ピクチャ・イン・ピクチャ機能が、消費者にとって重要である一方、ピクチャ・イン・ピクチャ機能をサポートする電子デバイスの互換性も同じく重要である。今日の高度技術社会において、テレビは通例、他の企業によって製造されたVCRやリモコンと互換性があるよう製造される。それゆえ、様々な企業によって製造されたVCRやテレビが他のものと組み合わせて用いられることが一般的である。結果として、これらのVCRやテレビに備えられたリモコンは、互換的に用いられることが多くなる。同様に、万能リモコンも一般に用いられる。これらのリモコンは、様々なテレビと互換性を持つよう意図されているが、リモコンによってサポートされた機能と様々なテレビ製造業者によって提供された機能との間に1対1の対応があることはまれである。さらに、今日の消費者は多種多様の選択が可能であるため、リモコンを用いることのできるテレビそれぞれのピクチャ・イン・ピクチャ機能を予測することは不可能である。
【0006】
上述から、テレビの視聴者によって選択された位置にピクチャ・イン・ピクチャ・ウィンドウを作成することが可能であれば望ましいだろう。さらに、テレビの視聴者が複数のピクチャ・イン・ピクチャ・ウィンドウを作成することができれば有利であろう。最後に、ピクチャ・イン・ピクチャ機能を提供する任意のデジタルテレビと共に用いるために、これらのピクチャ・イン・ピクチャ機能を実装できれば望ましいだろう。
【0007】
【発明の概要】
本発明は、デジタルテレビに関係するディスプレイ上にビデオウィンドウ(例えば、ピクチャ・イン・ピクチャ・ウィンドウ)を実装するための方法および装置を提供する。これは、部分的には、ビデオウィンドウの照会、作成を可能とするメソッドのセットを提供するアプリケーションプログラミングインターフェースによって実現される。このように、ビデオウィンドウを、ユーザの指定するパラメータに従って、拡大縮小したり、変換したりすることが可能である。
【0008】
本発明の一態様によると、アプリケーションプログラミングインターフェースは、ビデオウィンドウの作成を可能とするセット・ビデオ・ウィンドウ・メソッド(set video window method)を提供する。セット・ビデオ・ウィンドウ・メソッドは、画像のソース領域と、宛先位置と、宛先位置へ変換される際にソース領域が拡大縮小される量を示す倍率とを示すパラメータのセットを持つ。それゆえ、セット・ビデオ・ウィンドウ・メソッドは、パラメータのセットが指定された時に、ソース領域を変換し、拡大縮小するために呼び出されてもよい。
【0009】
本発明の他の態様によると、アプリケーションプログラミングインターフェースは、ビデオウィンドウを作成するためにセット・ビデオ・ウィンドウ・メソッドが呼び出された後に、パラメータのセットに関する値を取得することを可能とする第2のメソッドを提供する。
【0010】
本発明のさらに別の態様によると、アプリケーションプログラミングインターフェースを実装するビデオコンポーネントオブジェクトは、ディスプレイ内に存在するビデオウィンドウ各々に対して取得してもよい。一例として、ビデオコンポーネントオブジェクトは、基本となる画像に対して取得してもよい。別の例として、ビデオコンポーネントオブジェクトは、ピクチャ・イン・ピクチャ・ビデオウィンドウ各々に対して取得されてもよい。
【0011】
本発明の別の態様によると、本発明は、様々なハードウェアの機能に従ってビデオ画像を変換および/または拡大縮小できるように、変換および拡大縮小の機能を実装する。このように、セット・ビデオ・ウィンドウ・メソッドは、販売に当たって様々なピクチャ・イン・ピクチャ機能を備えることができる。例えば、ピクチャ・イン・ピクチャ・ウィンドウに許可される位置だけでなく、1台のテレビに許容されるピクチャ・イン・ピクチャ・ウィンドウの数が変化してもよい。このように、将来のテレビだけでなく様々な現行のテレビと互換性を持つピクチャ・イン・ピクチャ機能を、リモコンが提供することができる。
【0012】
本発明のさらに別の態様によると、本発明は、Javaプラットフォーム上に実装される。Javaプラットフォームは、新しい種類の対話式サービスのための理想的な開発および配置のプラットフォームを提供する。Javaプログラミング言語を使用すると、コンテンツ開発者は、アプリケーションの「ルック・アンド・フィール」に関して高い制御性および柔軟性を得られるため、最も動的で強力な対話型テレビ番組を視聴者に配信することができる。さらに、Javaプログラミング言語で記述された対話型テレビアプリケーションは、多様な配列のテレビ受信機全体に渡ってセキュリティ・拡張性・可搬性を提供するため、コンテンツ開発者は、自分の対話式アプリケーションを市場に送り出す時間と費用を削減することができる。
【0013】
本発明は、ビデオウィンドウを、拡大縮小、変換可能とすることにより、様々なテレビに対応することを可能とする。これは特に、リモコンのようなデバイスで用いられる際に有利である。このように、視聴者は、リモコンが操作するテレビの機能の知識を必要とせずにリモコンを操作すればよい。
【0014】
【発明の実施の形態】
以下の説明では、本発明を完全に理解できるように、数多くの具体的な詳細を示している。しかしながら、これらの具体的な詳細の一部もしくはすべてがなくとも本発明が実施可能であることは、当業者には明らかであろう。その他、本発明が不必要に不明瞭とならないように周知のプロセスのステップについては詳細に説明していない。
【0015】
ここでは、システムのハードウェア構成に関係なくシステムにピクチャ・イン・ピクチャ機能を実装することを可能とする発明が説明されている。より詳細には、ここに説明される発明では、アプリケーションによってデジタルテレビ環境にピクチャ・イン・ピクチャ機能が実装される。例えば、本発明は、複数のビデオウィンドウの位置と拡大縮小を管理するために用いることもできる。図1は、代表的なデジタルテレビ受信機を示すブロック図である。図1に示されているように、信号は、アンテナ102を介して受信され、チューナモジュール104によって同調され、MPEG2転送ストリーム106を生成する。次いで、デマルチプレクサ108は、映像ストリーム112と、音声ストリーム114と、データストリーム116とを含む暗号化MPEGストリーム110を生成する。次いで、これらの3つのストリームは、条件付きアクセスサブシステム118によって処理される。例えば、条件付きアクセスサブシステム118は、復号情報122(例えば、復号アルゴリズム)だけでなく、キー管理情報120を用いてもよい。条件付きアクセスサブシステム118は、データ126と共に映像ストリーム124と音声ストリーム125を含む復号化MPEGストリーム123を生成する。それらはすべて復号化されている。次いで、デコーダ128が、復号化MPEGストリーム123を処理し、デコードされた映像データをフレームバッファ130へ、デコードされた音声データをスピーカ132へ送る。データ126が処理される際には、多数のクラスからなるJavaアプリケーションがそのデータに含まれる可能性がある。一実施形態として、Javaアプリケーションは、ビデオモニタ上でユーザの指定する位置に1つ以上のピクチャ・イン・ピクチャ・ウィンドウを作成するために用いられるアプリケーションとできる。
【0016】
先に説明した通り、従来のピクチャ・イン・ピクチャ機能には制限がある。図2は、テレビスクリーン202上での従来のピクチャ・イン・ピクチャ・ウィンドウ200の生成を示すブロック図である。これは通例、ユーザがテレビスクリーン202内のピクチャ・イン・ピクチャ・ウィンドウ200の位置を変更できないハードウェアによって実現される。さらに、テレビの視聴者には通例、単一のピクチャ・イン・ピクチャ・ウィンドウのみを生成するという選択肢しかなく、ウィンドウは、ビデオプログラム全体を表示していることが必要である。以下の図を参照して説明するように、本発明は、これらのようなピクチャ・イン・ピクチャ機能をデジタルテレビ環境に実装するためのシステムを提供する。
【0017】
図3は、本発明を実装することができるシステムを示すブロック図である。図示する通り、本システムは、ビデオハードウェア304とグラフィックハードウェア306(例えば、フレームバッファ)とを含むハードウェア302を備える。さらに、ビデオを拡大縮小し境界をつけるために、特定のハードウェア302にグラフィック信号処理機能を提供するネイティブ制御ソフトウェアを備える。
【0018】
Java(登録商標)は、商用のオブジェクト指向言語の草分けであり、Javaプラットフォームをサポートする任意の互換デバイス上で動作可能な高移植性言語として開発された。したがって、Java(登録商標)は、次世代型のセットトップボックスおよびデジタルテレビのためのソフトウェアプラットフォームとして幅広い展望を提供する。
【0019】
Javaバーチャルマシン(JVM)310は、本発明を実装するために用いることができるプラットフォームの1つである。図示されているように、JavaメディアフレームワークAPI(JMF)312により、Javaアプリケーションおよびアプレット内のマルチメディアデータの表示および取り込みが可能となる。JMF312は、Java(登録商標)の使用可能なプラットフォームすべてにわたってオーディオおよびビデオを含む圧縮ストリーミングおよび保管タイミングベースメディアの再生、取り込み、コンファレンシングを行うための統合アーキテクチャ、メッセージングプロトコル、およびプログラミングインターフェースを指定する。例えば、JMF312は、開始、停止、再生などの機能を可能にする。
【0020】
さらに、Java抽出ウィンドウツールキット(AWT)314が備えられている。AWT314は、Java(登録商標)内にグラフィカルユーザインターフェースを構築するクラスの大きなコレクションである。例えば、AWT314は、表示を管理し制御するための機能(例えば、キーボード、マウス、メニュー)を提供する。より詳細には、AWT314は、1つ以上のコンポーネントの表示を管理する。ただし、各コンポーネントは、全体として扱われるグラフィカルエレメントのコレクションである。例えば、コンポーネントは、画像やウィンドウであってよい。JMFおよびAWTのさらなる詳細に関しては、「Essential JMF Java(trademark) Java Media Framework」、Rob Gordon and Stephen Talley、Prentice Hall1999年、ISBN 0−13−080104−6および「The Java Class Libraries Volume 2」第2版、Patrick Chan and Rosanna Lee、Prentice Hall1997年、ISBN 0201310031に記載されており、それぞれを引用として本明細書に組み込むものとする。
【0021】
上述のコンポーネントに加えて、ビデオコンポーネント316が開示されている。より詳細には、ビデオコンポーネント316は、ここに開示されたアプリケーションプログラミングインターフェースを有するオブジェクトのインストールによって実装される。ビデオコンポーネント316は、図4を参照して以下においてさらに詳細に説明されている。
【0022】
図4は、本発明の一実施形態に従って、アプリケーションプログラミングインターフェース(API)を実装するビデオコンポーネントを示す図である。図示されているように、ビデオコンポーネント400は、ピクチャ・イン・ピクチャ機能がデジタルテレビ環境に実装されることを可能とするデータ構造(例えば、オブジェクト)である。より詳細には、これは、作成されたビデオウィンドウの属性を決定するために、ビデオウィンドウ(例えば、ピクチャ・イン・ピクチャ・ウィンドウ)が照会されるだけでなく作成されることを可能とする2つのメソッドを含むアプリケーションプログラミングインターフェースを実装することにより実現される。
【0023】
テレビの視聴者は、ピクチャ・イン・ピクチャ機能を選択する際に、マウスもしくはその他の入力機器によって画像内の「ソースレクタングル」を選択してもよい。例えば、テレビの視聴者は、キーボードもしくはリモコン上での数字入力によってソースレクタングルの高さ、幅、位置を選択してもよい。次いで、対応するビデオウィンドウがセット・ビデオ・ウィンドウ・メソッド402によって作成される。セット・ビデオ・ウィンドウ・メソッド402は、ソース位置410から計測された高さ406と幅408によって指定された境界を持つビデオ画像を、指定された倍率412に従って拡大縮小し、宛先位置404に表示することを可能とする。ソース位置410と宛先位置404は両方とも、x座標とy座標を用いて指定してもよい。高さ406、幅408、およびソース位置410を指定することにより、ソース座標系内でソースレクタングルを指定してもよい。宛先位置404は、ソースレクタングルが倍率412によって拡大縮小されると宛先レクタングルが配置される宛先座標系内の位置を指定する。このように、セット・ビデオ・ウィンドウ・メソッド402を用いることにより、ビデオウィンドウが作成される。
【0024】
ビデオウィンドウが作成されると、ビデオウィンドウの様々な属性を確認することが望ましい。例えば、位置(例えば、宛先位置)、高さ、幅、もしくは倍率を決定することが望ましい。これは、例えば、領域がビデオウィンドウによって占有されているか否か、もしくはさらなるビデオウィンドウをこの領域に配置できるか否かを決定する際に有利である。この目的のために、クエリ・ビデオ・ウィンドウ・メソッド(query video window method)412は、位置や倍率のようなビデオウィンドウの特徴を決定することができる。これは、例えば、一連の1つ以上のビデオコンポーネントオブジェクトからビデオコンポーネントオブジェクトを戻すことによって実現される。したがって、APIを使用することにより、基本となるハードウェアに依存しないデジタルテレビ環境にピクチャ・イン・ピクチャ機能を実装することが可能となる。
【0025】
ビデオウィンドウの作成後にビデオウィンドウの属性を照会するよりも、ビデオウィンドウの設定前に可能性のある値を照会することが望ましい。この目的のために、ビデオレクタングルクエリを実装するためのメソッドのセットが提供されている。そのメソッドのセットは、ソースおよび宛先座標系両方に実装されてもよい。あるいは、別のメソッドのセットが、ソースおよび宛先座標系それぞれに実装されてもよい。図示されているように、基本となる座標系によってサポートされるそれらの拡大縮小値を決定するために、サポーティド・スケール・バリュー・メソッド(supported scale value method)414を用いてもよい。さらに、基本となる座標系によってサポートされるそれらのx座標値を決定するために、サポーティド・X座標・メソッド(supported x coordinate value method)416が用いられてもよい。同様に、基本となる座標系によってサポートされるそれらのy座標値を決定するために、サポーティド・y座標・メソッド(supported y coordinate value method)418が用いられてもよい。さらに、変換され拡大縮小されるよう選択されたビデオウィンドウとして選択されたソースレクタングルのための有効な幅と高さを決定するために、バリッド・ワイズ・メソッド(valid width method)420とバリッド・ハイト・メソッド(valid height method)422が用いられてもよい。
【0026】
本発明の同等のアプリケーションにより、ビデオコンポーネントに関連した個別のオブジェクトにおいて、図4で説明したAPIのメソッドが提供される。これは、インスタンス化のためにどのような機構が用いられていても、ビデオコンポーネントが、図4のメソッドを実装するオブジェクトを元のビデオコンポーネントに関係付けると共に、そのオブジェクトをインスタンス化できることを必要とする。1つの方法は、JMFプレイヤオブジェクトを用いる方法であろう。JMFプレイヤオブジェクトは、ビデオコンポーネントへのアクセスを提供するメソッド(getVisualComponent)と、ビデオデータの表示を制御するビデオコンポーネントに関連するオブジェクトを提供するメソッド(getControls)とを備える。アプリケーションは、getVisualComponentメソッドを用いてビデオコンポーネントをインスタンス化し、getControlsメソッドから図4に説明されたAPIを実装するオブジェクトを取得する。
【0027】
上述のように、ビデオコンポーネント400は、ビデオウィンドウの照会、設定を可能とする。図5は、本発明の一実施形態に従ったビデオコンポーネントに関するビデオウィンドウの表示を示す図である。図示されているように、セット・ビデオ・ウィンドウ・メソッドが呼び出されると、基本となるビデオ画像504上にビデオウィンドウ502が表示される。ビデオウィンドウ502は、ビデオ高さ506とビデオ幅508を持つが、それらは両方とも、倍率に従って拡大縮小され、宛先ビデオ位置510に表示されたものである。
【0028】
同じメソッドを各ビデオウィンドウ(例えば、基本となるビデオ画像もしくはピクチャ・イン・ピクチャ・ウィンドウ)に用いるために、基準位置に起点が設定される。一実施形態によると、起点は、各座標系の左上の角に設定される。例えば、ソース座標系内の起点は、512のように設定されてもよい。選択されたソースレクタングルを変換し、拡大縮小するために、セット・ビデオ・ウィンドウ・メソッドが呼び出されると、宛先座標系が作成され、そこで、ソース座標系の起点と同じ位置に宛先座標系の起点が設定される。例えば、宛先座標系内の起点は、514のように左上の角に設定されてもよい。
【0029】
インスタンス化されたビデオコンポーネントオブジェクトによって上述のメソッドを実装するアプリケーションは、リモコンなどの様々なデバイスに実装できる。それゆえ、ビデオコンポーネントがインスタンス化されると、アプリケーションは、ビデオコンポーネントオブジェクトによって、ビデオウィンドウのパラメータを照会すると共に、そのビデオウィンドウを変換し拡大縮小することができる。図6は、ビデオコンポーネントを実装可能である代表的なシステムを示すブロック図である。図示されているように、そのシステムは、ハードウェア302と、グラフィックハードウェア306と、AWT314と、ビデオコンポーネント400とを備える。アプリケーション602は、ビデオコンポーネントオブジェクト400を取得して、ビデオウィンドウを設定したりビデオウィンドウに照会したりすることができる。より詳細には、ビデオコンポーネントオブジェクト400は、AWT314だけでなく、ビデオソフトウェア604によってこれらの機能を実行することもできる。1つのビデオモニタ内の1つ以上のビデオウィンドウをインスタンス化することによって、1つ以上のビデオコンポーネントオブジェクトが、1つ以上のビデオウィンドウを提供するためにインスタンス化されてもよい。したがって、アプリケーション602は、複数のビデオコンポーネント400を同時にもしくは連続的に取得し、1つのモニタ内の複数のビデオウィンドウを設定してもよい。
【0030】
図4を参照して上述したように、ビデオコンポーネントオブジェクト400は、セット・ビデオ・ウィンドウ・メソッド402とクエリ・ビデオ・ウィンドウ・メソッド412両方が、アプリケーションによって呼び出されることを可能とする。図7は、セット・ビデオ・ウィンドウ・メソッドを呼び出すことによってビデオウィンドウを作成する1つの方法を示すフローチャートである。プロセスは、ブロック700で始まり、ブロック702において、ビデオコンポーネントオブジェクトが取得される。例えば、ビデオコンポーネントオブジェクトは、事前にインスタンス化された1つ以上のビデオコンポーネントオブジェクトから選択することができる。次いで、ユーザ(例えば、テレビの視聴者)は、パラメータを選択もしくは入力し、表示されるビデオウィンドウ(例えば、ピクチャ・イン・ピクチャ・ウィンドウ)に関するソースおよび宛先領域(例えば、レクタングル)を定義することができる。次いで、パラメータは、ブロック704〜710に示されているように設定される。ブロック704において、宛先領域のための所望の位置が、モニタ内の選択された領域(例えば、右上の象限)に設定される。次いで、ブロック706において、倍率が、選択された倍率に設定される。例えば、宛先領域に関する倍率は、ソース領域の4分の1のサイズと寸法に指定されてもよい。次いで、ブロック708において、セット・ビデオ・ウィンドウ・メソッドの位置パラメータが、所望の位置に設定される。次いで、ブロック710において、ソース領域が指定される。例えば、ソース領域の境界は、ソースの位置、高さ、および幅を指定することにより設定されてもよい。
【0031】
セット・ビデオ・ウィンドウ・メソッドのパラメータが指定されると、ブロック712において、セット・ビデオ・ウィンドウ・メソッドが呼び出される。セット・ビデオ・ウィンドウ・メソッドを呼び出すアプリケーションは、ピクチャ・イン・ピクチャ機能を実装するハードウェアから独立していてもよいため、ユーザによって指定されるパラメータは、最終的にはハードウェアの機能の範囲内でなくてもよい。例えば、万能リモコンは、ピクチャ・イン・ピクチャが、スクリーンの任意の位置に配置され、任意の倍率を許容することを可能にできる。しかしながら、万能リモコンが用いられているテレビにおいては、特定の位置(例えば、スクリーンの左下の角)にしかピクチャ・イン・ピクチャ・ウィンドウを作成することができない。同様に、そのテレビは、特定の倍率(例えば、2分の1、4分の1)しかサポートできない。それゆえ、一実施形態によると、セット・ビデオ・ウィンドウ・メソッドは、セット・ビデオ・ウィンドウ・メソッドによって最終的に設定された値を持つオブジェクト(例えば、ビデオコンポーネントオブジェクト)を戻す。ブロック714において、結果としてのウィンドウの位置が所望の位置と等しいと決定されると、ブロック716において、プロセスが終了する。結果としての位置が所望の位置に等しくない場合には、ハードウェアが所望の位置をサポートできないか、もしくは、所望の位置が現在占有されていることになる。それゆえ、次に、ブロック718において、結果としての位置が、さらなるビデオウィンドウを表示するためのさらなる位置がないことを示すか否かが決定される。さらなる位置がない場合には、ブロック720においてプロセスが終了し、ビデオウィンドウは表示されない。しかしながら、ビデオウィンドウを表示可能なさらなる位置が存在する場合には、ブロック722において、所望の位置が別の位置に設定される。例えば、その位置は、可能な位置のセットの中から任意に選択されてもよいし、テレビの視聴者が、別の所望の位置を選択してもよい。次いで、プロセスは、ブロック706において、新しく選択された所望の位置に対して継続する。
【0032】
結果としての位置が所望の位置に等しいことを検証することに加えて、他のパラメータを同様に検証してもよい。例えば、ハードウェアは、特定の倍率しかサポートしていなくてもよい。それゆえ、結果としての倍率が選択された倍率に等しいか否か(例えば、ブロック714において)を検証してもよい。これらの例は、例示的なものにすぎず、他の選択が、戻されたビデオコンポーネントオブジェクト内の値によって同様に検証されてもよい。
【0033】
ビデオウィンドウが作成、表示されると、様々な理由から、ビデオウィンドウのパラメータ値を照会することが望ましい。例えば、図8は、本発明のカラオケアプリケーションを示す図である。モニタ800内にビデオウィンドウ802が表示されている。テレビの視聴者が、カラオケの選択肢を提供する音楽チャンネルを見ようと思った際に、それに関する歌詞804を適切に表示するために、ビデオウィンドウ802を配置する場所を決定する事を必要としてもよい。
【0034】
図9は、現在のビデオウィンドウに関するパラメータを決定する1つの方法を示すフローチャートである。そのプロセスは、ブロック900で始まり、ブロック902において、ビデオコンポーネントが、1つ以上のビデオコンポーネントオブジェクトのセットから取得される。例えば、ビデオコンポーネントオブジェクトを、基本となる全画像だけでなく、各ピクチャ・イン・ピクチャ・ビデオウィンドウに関連付けてもよい。さらに、複数のピクチャ・イン・ピクチャ・ウィンドウが、いくつかのシステムによってサポートされていてもよい。ビデオコンポーネントオブジェクトが取得されると、ブロック904において、図4に示されたクエリ・ビデオ・ウィンドウ・メソッドが呼び出される。一実施形態によると、クエリ・ビデオ・ウィンドウ・メソッドは、ビデオコンポーネントオブジェクトに関するビデオウィンドウのパラメータを指定するオブジェクトを戻す。次いで、ブロック906において、ビデオウィンドウが配置された位置が、この戻されたオブジェクトから取得される。既存のビデオウィンドウの位置が取得されると、ブロック908において、所望どおりのビデオ位置もしくはその周辺で、グラフィック機能が実行されてよい。一例として、クエリ・ビデオ・ウィンドウ・メソッドは、そのピクチャ・イン・ピクチャ・ウィンドウが或る特定の位置に存在しない場合に、そのウィンドウのみがその位置に表示されるように、ピクチャ・イン・ピクチャ機能を最適化するために用いられてもよい。別の例として、クエリ・ビデオ・ウィンドウ・メソッドは、第2のピクチャ・イン・ピクチャ・ウィンドウを配置したい位置に、ピクチャ・イン・ピクチャ・ウィンドウが存在するか否かを決定するために用いてもよい。最後に、図8を参照して上述したように、クエリ・ビデオ・ウィンドウ・メソッドは、歌詞を表示することができるカラオケアプリケーション内の領域を決定するために用いてもよい。
【0035】
図10は、図9のブロック908においてカラオケの歌詞を表示する代表的な方法を示すフローチャートである。プロセスは、ブロック1000で始まる。ブロック1002において、ビデオウィンドウの配置された位置が、スクリーンの右上の象限であるか否かが判断される。ビデオウィンドウが、スクリーンの右上の象限に表示されている場合、ブロック1004において、カラオケの歌詞がスクリーンの左側に表示される。しかしながら、ビデオウィンドウがスクリーンの右上の象限に配置されていないことを、その位置が示唆する場合には、ブロック1006において、ビデオウィンドウがスクリーンの右下の象限に配置されているか否かが判断される。ビデオウィンドウが、右下の象限に表示されていない場合、そのビデオウィンドウはスクリーンの左側に配置されているに相違ない。したがって、カラオケの歌詞は、ブロック1008において、スクリーンの右側に描画される。歌詞が表示されると、1010において、伴奏にあわせてバウンシングボール(bouncing ball)が表示される。上述のプロセスは、スクリーンの右側および左側の確認を行うものであるが、1つ以上のビデオウィンドウの周りにカラオケの歌詞もしくは他のグラフィカルエレメントを表示するために、さらなる複雑なメソッドが実装されてもよい。
【0036】
上述のように、クエリ・ビデオ・ウィンドウ・メソッドは、さらに、ピクチャ・イン・ピクチャ・ウィンドウの表示を最適化するために用いられてもよい。図11は、図9のブロック908においてピクチャ・イン・ピクチャ機能を最適化する1つの方法を示すフローチャートである。プロセスはブロック1100で始まり、ブロック1102において、ビデオウィンドウの位置が所望の位置に配置されているか否かが決定される。その位置が所望の位置に配置されている場合、ビデオウィンドウは描画される必要がないので、ブロック1104においてプロセスが終了する。しかしながら、ビデオウィンドウが所望の位置に配置されていない場合には、ブロック1106において、ビデオウィンドウが所望の位置に描画される。このように、ピクチャ・イン・ピクチャ機能が最適化されてもよい。
【0037】
クエリ・ビデオ・メソッド(query video method)は、さらに、複数のピクチャ・イン・ピクチャ・ビデオウィンドウをサポートするシステムにピクチャ・イン・ピクチャの表示を実装するために用いることができる。図12は、図9のブロック908において複数のピクチャ・イン・ピクチャ・ビデオウィンドウを表示するために照会機能を用いる1つの方法を示すフローチャートである。プロセスはブロック1200で始まり、ブロック1202において、既存のビデオウィンドウがスクリーンの右上の象限に配置されていることを、既存のビデオウィンドウの位置が示唆しているか否かが判断される。既存のビデオウィンドウがスクリーンの右上の象限に表示されていないことを、その位置が示唆する場合には、ブロック1204において、新しいビデオウィンドウが右下の象限に描画されてもよい。しかしながら、既存のビデオウィンドウが右上の象限に表示されていない場合には、ブロック1206において、既存のビデオウィンドウの位置がスクリーンの右下の象限にあるか否かが判断される。既存のビデオウィンドウが、右下の象限にない場合、ブロック1208において、新しいビデオウィンドウが右下の象限に描画されてもよい。次に、ブロック1210において、既存のビデオウィンドウがスクリーンの左上の象限に表示されているか否かが判断される。既存のビデオウィンドウが、左上の象限に配置されていない場合、ブロック1212において、新しいビデオウィンドウが左上の象限に表示されてもよい。そうではなく、既存のビデオウィンドウが、左上の象限に配置されている場合には、ブロック1214において、新しいビデオウィンドウが左下の象限に表示される。このように、1つ以上のビデオウィンドウ(例えば、ピクチャ・イン・ピクチャ・ウィンドウ)が、互いに重ならないように表示されることが可能である。上述のプロセスは、複数のピクチャ・イン・ピクチャ・ウィンドウを表示する簡単な方法を提示するものであるが、そのプロセスは例示的なものにすぎず、スクリーン内の他の位置が、1つ以上の追加のビデオウィンドウの要求に関して指定されたパラメータ(例えば、位置)について確認、比較されてもよい。
【0038】
図4に示されたような複数のビデオコンポーネントオブジェクトが、単一のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での使用のためにインスタンス化されてもよい。図13は、単一のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。図示されているように、第1のビデオコンポーネントは、基本となるビデオウィンドウ1300もしくは画像に関連付けられてもよく、第2のビデオコンポーネントオブジェクトは、第2のビデオウィンドウ(例えば、ピクチャ・イン・ピクチャ・ウィンドウ)1302に関連付けられてもよい。例えば、テレビの視聴者は、テニスの試合を観る際に、センターコートを基本となるビデオウィンドウ1300として表示し、サブコートをピクチャ・イン・ピクチャ・ウィンドウ1302として表示してもよい。さらに、さらなるテキストウィンドウ1304に統計を表示してもよい。そのシステムは、さらに、ユーザが、基本となるビデオウィンドウ1300とピクチャ・イン・ピクチャ・ウィンドウ1302とを置き換えることを可能としてもよい。したがって、それらのビデオコンポーネントは、この置き換えに応じて、様々なウィンドウおよびパラメータに関連付けられてもよい。
【0039】
同様に、複数のビデオコンポーネントオブジェクトが、複数のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での使用のためにインスタンス化されてもよい。図14は、複数のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。このように、第1のビデオコンポーネント1400は、第1のピクチャ・イン・ピクチャ・ウィンドウに関連付けられてよく、第2のビデオコンポーネント1402は、第2のピクチャ・イン・ピクチャ・ウィンドウに関連付けられてよく、第3のビデオコンポーネント1404は、第3のピクチャ・イン・ピクチャ・ウィンドウに関連付けられてよい。例えば、図13を参照して上述したように、テレビの視聴者は、テニスの試合などを観ながら、複数のピクチャ・イン・ピクチャ・ウィンドウを見たいと思ってもよい。それゆえ、図示されているように、第1のビデオコンポーネント1400は、センターコートを表示するために用いられてよく、第2のビデオコンポーネント1402は、観客カメラを表示するために用いられてよく、第3のビデオコンポーネント1404は、サブコートを表示するために用いられてよい。さらに、スコアなどの統計を表示するために、さらなるテキストウィンドウ1406が用いられてもよい。さらに、基本となる画像1408は、複数のピクチャ・イン・ピクチャ・ウィンドウに表示するための領域を選択した試合の全体像を表示してもよい。
【0040】
本発明は、ピクチャ・イン・ピクチャ機能を提供するハードウェアの機能に関する知識を必要とせずに、ピクチャ・イン・ピクチャ機能を実装するための方法および装置を提供する。アプリケーションプログラミングインターフェースは、ビデオウィンドウが参照され、生成されることを可能とする。さらに、開示されているアプリケーションプログラミングインターフェースを有するビデオコンポーネントオブジェクトのインストールにより、1つ以上のビデオウィンドウの指定および表示が可能となる。さらに、ビデオウィンドウを参照する参照機能が開示されている。
【0041】
本発明は、任意の適切なコンピュータシステムに実装することができる。図15は、本発明の実装に適した代表的な汎用コンピュータシステム1502を示している。コンピュータシステムは、任意の適切な形態をとってよい。例えば、コンピュータシステムは、デジタルテレビ受信機もしくはセットトップボックスと統合されてもよい。
【0042】
コンピュータシステム1530、より具体的にはCPU1532は、当業者の理解するように、バーチャルマシンをサポートするよう構成されてもよい。コンピュータシステム1502は、一次記憶デバイス1506(通例、読み出し専用メモリすなわちROM)と一次記憶デバイス1508(通例、ランダムアクセスメモリすなわちRAM)を含むメモリデバイスに接続された任意の数のプロセッサ1504(中央処理装置すなわちCPUとも呼ばれる)を備えている。当業者に周知のとおり、ROMは、データや命令を単方向的にCPU1504へ転送する機能を持ち、RAMは通例、データや命令を二方向的に転送するために用いられる。一次記憶装置1506および1508は両方とも、任意の適切なコンピュータ読み取り可能な媒体を含んでよい。CPU1504は一般に、任意の数のプロセッサを含んでいてよい。
【0043】
二次記憶媒体1510は、通例はマスメモリデバイスであり、二方向的にCPU1504に接続され、データ記憶容量を補っている。マスメモリデバイス1510は、コンピュータコード、データなどを含むプログラムを格納するために用いることのできるコンピュータ読み取り可能な媒体である。通例、マスメモリデバイス1510は、一次記憶装置1506および1508よりも一般に低速であるハードディスクのような記憶媒体である。
【0044】
CPU1504は、さらに、1つ以上の入出力装置1512に接続されてもよい。入出力装置1512は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロホン、タッチセンシティブ・ディスプレイ、トランスデューサ・カード読み取り装置、磁気もしくは紙テープ読取装置、タブレット、スタイラス、音声もしくは手書き文字認識装置、もしくは、他のコンピュータのような周知の入力装置などの装置を含むが、それらに限定されない。最後に、CPU1504は随意的に、1514に一般的に示したネットワーク接続を用いて、コンピュータもしくは遠隔通信ネットワーク(例えばインターネットネットワークもしくはイントラネットネットワーク)に接続されてもよい。そのようなネットワーク接続を行った場合、CPU1504は、上述した方法のステップの実行中に、ネットワークから情報を受信し、ネットワークに情報を出力することができると考えられる。そのような情報は、CPU1504を用いて実行される一連の命令として表されることが多く、例えば搬送波で実現されるコンピュータデータ信号の形で、ネットワークから受信され、ネットワークに出力されることが可能である。
【0045】
本発明の実施形態と応用を示して説明したが、本発明の概念、範囲、意図の範囲内で多くの変形と修正が可能であり、これらの変形は、本明細書を精読すれば当業者には明らかとなるだろう。例えば、本発明は、システムのハードウェア構成に関係なく任意のシステムにピクチャ・イン・ピクチャ機能を実装するものとして説明されている。ビデオコンポーネントオブジェクトは、2つのメソッドを含むものとして定義されたが、これらのメソッドは例示的なものにすぎないため、別の実施形態も可能である。また、本発明は、デジタルテレビ環境に実装されると説明されたが、他の用途も可能である。さらに、本明細書では、Javaプラットフォーム上に実装するものとして本発明を説明しているが、オブジェクト指向言語が使用される様々なプラットフォームまたはコンテキストに本発明を実装してもよい。したがって、本実施形態は、例示的なものであって制限的ではないとみなされ、本発明は、本明細書の詳細に限定されず、添付の請求項の範囲および等価物の範囲内で修正することができる。
【図面の簡単な説明】
【図1】 代表的なデジタルテレビ受信機を示すブロック図である。
【図2】 テレビスクリーン上での従来のピクチャ・イン・ピクチャ・ウィンドウの作成を示すブロック図である。
【図3】 本発明を実装可能なシステムを示すブロック図である。
【図4】 本発明の一実施形態に従って、アプリケーションプログラミングインターフェース(API)を実装するビデオコンポーネントを示す図である。
【図5】 本発明の一実施形態に従ったビデオコンポーネントに関するビデオウィンドウの表示を示す図である。
【図6】 ビデオコンポーネントを実装可能である代表的なシステムを示すブロック図である。
【図7】 セット・ビデオ・ウィンドウ・メソッドを呼び出すことによってビデオウィンドウを作成する1つの方法を示すフローチャートである。
【図8】 本発明のカラオケアプリケーションを示す図である。
【図9】 現在のビデオウィンドウに関するパラメータを決定する1つの方法を示すフローチャートである。
【図10】 図9のブロック908においてカラオケの歌詞を表示する代表的な方法を示すフローチャートである。
【図11】 図9のブロック908においてピクチャ・イン・ピクチャ機能を最適化する1つの方法を示すフローチャートである。
【図12】 図9のブロック908において複数のピクチャ・イン・ピクチャ・ビデオウィンドウを表示するために照会機能を用いる1つの方法を示すフローチャートである。
【図13】 単一のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。
【図14】 複数のピクチャ・イン・ピクチャ・ウィンドウをサポートするシステム内での複数のビデオコンポーネントオブジェクトの使用を示す図である。
【図15】 本発明の実装に適した代表的な汎用コンピュータシステムを示している。
【符合の説明】
102 アンテナ
104 チューナモジュール
106 MPEG2転送ストリーム
108 デマルチプレクサ
110 暗号化MPEGストリーム
112 映像ストリーム
114 音声ストリーム
116 データストリーム
118 条件付きアクセスサブシステム
120 キー管理情報
122 復号情報
123 復号化MPEGストリーム
124 映像ストリーム
125 音声ストリーム
126 データ
128 デコーダ
130 フレームバッファ
132 スピーカ
200 ピクチャ・イン・ピクチャ・ウィンドウ
202 テレビスクリーン
302 ハードウェア
304 ビデオハードウェア
306 グラフィックハードウェア
308 ネイティブ制御ソフトウェア
310 Javaバーチャルマシン
312 JavaメディアフレームワークAPI(JMF)
314 Java抽出ウィンドウツールキット(AWT)
316 ビデオコンポーネント
400 ビデオコンポーネント
402 セット・ビデオ・ウィンドウ・メソッド(set video window method)
404 宛先位置
406 高さ
408 幅
410 ソース位置
412 倍率
412 クエリ・ビデオ・ウィンドウ・メソッド(query video window method)
414 サポーティド・スケール・バリュー・メソッド(supported scale value method)
416 サポーティド・X座標・メソッド(supported x coordinate value method)
418 サポーティド・y座標・メソッド(supported y coordinate value method)
420 バリッド・ワイズ・メソッド(valid width method)
422 バリッド・ハイト・メソッド(valid height method)
502 ビデオウィンドウ
504 ビデオ画像
506 ビデオ高さ
508 ビデオ幅
510 宛先ビデオ位置
602 アプリケーション
604 ビデオソフトウェア
800 モニタ
802 ビデオウィンドウ
804 歌詞
1300 基本となるビデオウィンドウ
1302 第2のビデオウィンドウ
1304 テキストウィンドウ
1400 第1のビデオコンポーネント
1402 第2のビデオコンポーネント
1404 第3のビデオコンポーネント
1406 テキストウィンドウ
1408 基本となる画像
1502 汎用コンピュータシステム
1504 プロセッサ
1506 一次記憶デバイス、ROM
1508 一次記憶デバイス、RAM
1510 マスメモリデバイス
1512 入出力装置
1514 ネットワーク
1530 コンピュータシステム
1532 CPU[0001]
BACKGROUND OF THE INVENTION
The present invention generally relates to computer software. More particularly, the present invention relates to a method and apparatus for implementing picture-in-picture functionality in digital television.
[0002]
[Prior art]
The digital television revolution is one of the most important things in the history of broadcast television. With the advent of digital television, high-speed data transmission has become possible via satellite, cable, and terrestrial television channels. Digital television will not only significantly improve video and audio quality, but will also provide users with more channels. Most importantly, the advent of digital television marks the beginning of the true interactive television era. For example, a digital receiver could provide a variety of advanced services, from simple interactive quiz programs to Internet broadcasts and a mix of television and web content. As the digital TV market grows, content developers are becoming richer and more cost-effective as the foundation for establishing next-generation interactive TV services such as electronic programming guides, video-on-demand, and advanced broadcasting. Looking for a reliable software platform.
[0003]
Picture-in-picture is a feature that is prevalent in many currently available televisions. However, picture-in-picture functionality is typically implemented in hardware. As digital television technology matures, it will be desirable to implement picture-in-picture functionality in software.
[0004]
Not only the environment for implementing the picture-in-picture function, but also the functionality of the picture-in-picture function has been limited. For example, the picture-in-picture window is usually limited to a preset position in the video monitor. Furthermore, even if a TV viewer wants to watch a plurality of channels simultaneously, there has been no function for creating a plurality of picture-in-picture windows.
[0005]
While picture-in-picture functionality is important to consumers, compatibility of electronic devices that support picture-in-picture functionality is equally important. In today's high technology society, televisions are typically manufactured to be compatible with VCRs and remote controls manufactured by other companies. Therefore, it is common for VCRs and televisions manufactured by various companies to be used in combination with others. As a result, the remote controllers provided in these VCRs and televisions are often used interchangeably. Similarly, universal remote controls are also commonly used. These remote controls are intended to be compatible with various televisions, but there is a one-to-one correspondence between the functions supported by the remote control and the functions provided by various television manufacturers. It is rare. Furthermore, because consumers today have a wide variety of choices, it is impossible to predict the picture-in-picture function of each television that can use a remote control.
[0006]
From the above, it would be desirable to be able to create a picture-in-picture window at a location selected by the television viewer. Furthermore, it would be advantageous if a television viewer could create multiple picture-in-picture windows. Finally, it would be desirable to be able to implement these picture-in-picture functions for use with any digital television that provides picture-in-picture functions.
[0007]
SUMMARY OF THE INVENTION
The present invention provides a method and apparatus for implementing a video window (eg, a picture-in-picture window) on a display associated with a digital television. This is accomplished in part by an application programming interface that provides a set of methods that allow querying and creating video windows. In this way, the video window can be scaled or converted according to the parameters specified by the user.
[0008]
According to one aspect of the invention, the application programming interface provides a set video window method that allows the creation of a video window. The set video window method has a set of parameters indicating the source region of the image, the destination location, and a scale factor that indicates how much the source region is scaled when converted to the destination location. Therefore, the set video window method may be invoked to transform and scale the source region when a set of parameters is specified.
[0009]
According to another aspect of the invention, the application programming interface allows a second value to be obtained for a set of parameters after the set video window method is called to create a video window. Provide a method.
[0010]
According to yet another aspect of the invention, a video component object that implements an application programming interface may be obtained for each video window present in the display. As an example, a video component object may be obtained for a base image. As another example, a video component object may be obtained for each picture-in-picture-video window.
[0011]
According to another aspect of the present invention, the present invention implements conversion and scaling functions so that video images can be converted and / or scaled according to various hardware functions. Thus, the set video window method can have various picture-in-picture functions for sale. For example, the number of picture-in-picture windows allowed for one television as well as the positions allowed for picture-in-picture windows may vary. In this way, the remote control can provide a picture-in-picture function compatible with not only future televisions but also various current televisions.
[0012]
According to yet another aspect of the invention, the invention is implemented on a Java platform. The Java platform provides an ideal development and deployment platform for new types of interactive services. The Java programming language allows content developers to deliver the most dynamic and powerful interactive TV programs to viewers because they gain greater control and flexibility with regard to the “look and feel” of the application. Can do. In addition, interactive television applications written in the Java programming language provide security, scalability, and portability across a wide array of television receivers, allowing content developers to market their interactive applications. The time and cost of sending out can be reduced.
[0013]
The present invention makes it possible to cope with various televisions by enabling the video window to be scaled and converted. This is particularly advantageous when used in a device such as a remote control. In this way, the viewer may operate the remote controller without requiring knowledge of the functions of the television operated by the remote controller.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order not to unnecessarily obscure the present invention.
[0015]
Here, there is described an invention that makes it possible to implement a picture-in-picture function in a system regardless of the hardware configuration of the system. More particularly, in the invention described herein, picture-in-picture functionality is implemented in a digital television environment by an application. For example, the present invention can be used to manage the position and scaling of multiple video windows. FIG. 1 is a block diagram illustrating a typical digital television receiver. As shown in FIG. 1, the signal is received via
[0016]
As described above, the conventional picture-in-picture function has limitations. FIG. 2 is a block diagram illustrating the generation of a conventional picture-in-
[0017]
FIG. 3 is a block diagram illustrating a system in which the present invention can be implemented. As shown, the system includes
[0018]
Java (registered trademark) is a pioneer of commercial object-oriented languages, and was developed as a highly portable language that can run on any compatible device that supports the Java platform. Accordingly, Java® provides a broad perspective as a software platform for next generation set-top boxes and digital television.
[0019]
The Java Virtual Machine (JVM) 310 is one platform that can be used to implement the present invention. As shown, the Java Media Framework API (JMF) 312 allows for the display and capture of multimedia data in Java applications and applets.
[0020]
In addition, a Java extraction window toolkit (AWT) 314 is provided.
[0021]
In addition to the components described above, a
[0022]
FIG. 4 is a diagram illustrating a video component that implements an application programming interface (API), according to one embodiment of the invention. As shown, the
[0023]
A television viewer may select a “source rectangle” in an image with a mouse or other input device when selecting a picture-in-picture function. For example, a television viewer may select the height, width, and position of the source rectangle by inputting numbers on a keyboard or remote control. A corresponding video window is then created by the set
[0024]
When a video window is created, it is desirable to check various attributes of the video window. For example, it is desirable to determine the position (eg, destination position), height, width, or magnification. This is advantageous, for example, in determining whether an area is occupied by a video window or whether further video windows can be placed in this area. For this purpose, a query
[0025]
It is desirable to query possible values before setting the video window, rather than querying video window attributes after the video window is created. For this purpose, a set of methods is provided for implementing video rectangle queries. The set of methods may be implemented in both source and destination coordinate systems. Alternatively, another set of methods may be implemented for each source and destination coordinate system. As shown, a supported
[0026]
The equivalent application of the present invention provides the API methods described in FIG. 4 on the individual objects associated with the video component. This requires that the video component be able to associate the object that implements the method of FIG. 4 with the original video component and instantiate that object, whatever mechanism is used for instantiation. To do. One method would be to use a JMF player object. The JMF player object includes a method (getVisualComponent) that provides access to the video component and a method (getControls) that provides an object related to the video component that controls display of video data. The application instantiates a video component using the getVisualComponent method, and obtains an object that implements the API described in FIG. 4 from the getControls method.
[0027]
As described above, the
[0028]
In order to use the same method for each video window (eg, a basic video image or picture-in-picture window), a starting point is set at the reference position. According to one embodiment, the starting point is set at the upper left corner of each coordinate system. For example, the starting point in the source coordinate system may be set as 512. When the set video window method is called to transform and scale the selected source rectangle, a destination coordinate system is created where the origin of the destination coordinate system is at the same location as the origin of the source coordinate system. Is set. For example, the starting point in the destination coordinate system may be set to the upper left corner as 514.
[0029]
An application that implements the above method with an instantiated video component object can be implemented on various devices such as a remote control. Therefore, when a video component is instantiated, the application can query the video window parameters and transform and scale the video window with the video component object. FIG. 6 is a block diagram illustrating an exemplary system in which video components can be implemented. As shown, the system includes
[0030]
As described above with reference to FIG. 4, the
[0031]
Once the set video window method parameters are specified, at
[0032]
In addition to verifying that the resulting position is equal to the desired position, other parameters may be verified as well. For example, the hardware may support only a specific magnification. Therefore, it may be verified whether the resulting magnification is equal to the selected magnification (eg, at block 714). These examples are merely illustrative, and other selections may be similarly verified by the values in the returned video component object.
[0033]
When a video window is created and displayed, it is desirable to query the video window parameter values for various reasons. For example, FIG. 8 is a diagram showing a karaoke application of the present invention. A
[0034]
FIG. 9 is a flowchart illustrating one method for determining parameters for the current video window. The process begins at
[0035]
FIG. 10 is a flowchart illustrating an exemplary method for displaying karaoke lyrics in
[0036]
As mentioned above, the query video window method may also be used to optimize the display of picture-in-picture windows. FIG. 11 is a flowchart illustrating one method for optimizing picture-in-picture functionality in
[0037]
Query video methods can also be used to implement picture-in-picture display in systems that support multiple picture-in-picture video windows. FIG. 12 is a flowchart illustrating one method of using a query function to display multiple picture-in-picture-video windows at
[0038]
Multiple video component objects as shown in FIG. 4 may be instantiated for use in a system that supports a single picture-in-picture window. FIG. 13 is a diagram illustrating the use of multiple video component objects in a system that supports a single picture-in-picture window. As shown, the first video component may be associated with the
[0039]
Similarly, multiple video component objects may be instantiated for use in systems that support multiple picture-in-picture windows. FIG. 14 is a diagram illustrating the use of multiple video component objects in a system that supports multiple picture-in-picture windows. As such, the
[0040]
The present invention provides a method and apparatus for implementing a picture-in-picture function without requiring knowledge of the function of the hardware that provides the picture-in-picture function. Application programming interface is video window Referenced Allows to be generated. In addition, installation of video component objects having the disclosed application programming interface allows specification and display of one or more video windows. further, Browse the video window A reference function is disclosed.
[0041]
The present invention can be implemented in any suitable computer system. FIG. 15 illustrates an exemplary general
[0042]
Computer system 1530, and more specifically CPU 1532, may be configured to support virtual machines, as will be appreciated by those skilled in the art.
[0043]
[0044]
The
[0045]
Although the embodiments and applications of the present invention have been shown and described, many variations and modifications are possible within the concept, scope, and intent of the present invention, and those variations will be understood by those skilled in the art after carefully reading this specification. It will be clear to you. For example, the present invention is described as implementing a picture-in-picture function in any system regardless of the hardware configuration of the system. Although the video component object has been defined as containing two methods, these methods are exemplary only, and other embodiments are possible. Also, although the invention has been described as implemented in a digital television environment, other uses are possible. Further, although the present invention is described herein as being implemented on a Java platform, the present invention may be implemented on various platforms or contexts in which object-oriented languages are used. Accordingly, the embodiments are to be regarded as illustrative and not restrictive, and the invention is not limited to the details herein, but is modified within the scope of the appended claims and the equivalents thereof. can do.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a typical digital television receiver.
FIG. 2 is a block diagram illustrating the creation of a conventional picture-in-picture window on a television screen.
FIG. 3 is a block diagram illustrating a system in which the present invention can be implemented.
FIG. 4 illustrates a video component that implements an application programming interface (API), in accordance with one embodiment of the present invention.
FIG. 5 shows a display of a video window for a video component according to one embodiment of the present invention.
FIG. 6 is a block diagram illustrating an exemplary system in which video components can be implemented.
FIG. 7 is a flow chart illustrating one method of creating a video window by calling the set video window method.
FIG. 8 is a diagram showing a karaoke application of the present invention.
FIG. 9 is a flowchart illustrating one method of determining parameters for the current video window.
FIG. 10 is a flowchart illustrating an exemplary method for displaying karaoke lyrics in
FIG. 11 is a flowchart illustrating one method for optimizing picture-in-picture functionality in
12 is a flowchart illustrating one method of using a query function to display a plurality of picture-in-picture-video windows at
FIG. 13 illustrates the use of multiple video component objects in a system that supports a single picture-in-picture window.
FIG. 14 illustrates the use of multiple video component objects in a system that supports multiple picture-in-picture windows.
FIG. 15 illustrates a typical general purpose computer system suitable for implementation of the present invention.
[Explanation of sign]
102 Antenna
104 Tuner module
106 MPEG2 transport stream
108 Demultiplexer
110 Encrypted MPEG Stream
112 video stream
114 audio stream
116 Data Stream
118 Conditional Access Subsystem
120 Key management information
122 Decryption information
123 Decoded MPEG stream
124 video stream
125 audio streams
126 data
128 decoder
130 frame buffer
132 Speaker
200 picture-in-picture window
202 TV screen
302 hardware
304 video hardware
306 graphics hardware
308 Native control software
310 Java Virtual Machine
312 Java Media Framework API (JMF)
314 Java Extraction Window Toolkit (AWT)
316 Video component
400 video components
402 set video window method (set video window method)
404 Destination position
406 height
408 width
410 Source position
412 magnification
412 query video window method (query video window method)
414 supported scale value method
416 supported x coordinate value method
418 supported y coordinate value method
420 Valid Width Method (valid width method)
422 Valid height method (valid height method)
502 Video window
504 video image
506 Video height
508 video width
510 Destination video position
602 application
604 video software
800 monitors
802 Video window
804 lyrics
1300 Basic video window
1302 Second video window
1304 Text window
1400 first video component
1402 Second video component
1404 Third video component
1406 Text window
1408 Basic image
1502 General-purpose computer system
1504 processor
1506 Primary storage device, ROM
1508 Primary storage device, RAM
1510 Mass memory device
1512 I / O device
1514 network
1530 computer system
1532 CPU
Claims (26)
ビデオウィンドウの作成を可能とする第1のメソッドを含むインターフェースを有するオブジェクトを取得する工程を含み、前記第1のメソッドは、画像のソース領域と、宛先位置と、前記ソース領域が前記宛先位置に変換される際の拡大縮小量を示す倍率とを示すパラメータのセットを有し、
さらに、パラメータの前記セットの指定に応じて前記第1のメソッドを呼び出す工程とを含み、
前記第1のメソッドは、前記画像のソース領域の高さと幅とを変更可能であり、
前記第1のメソッドは、指定されたパラメータの前記セットに応じて、前記テレビおよび前記ディスプレイの機能の範囲内のビデオウィンドウのパラメータを返し、
前記第1のメソッドの呼び出しは、返されたパラメータが指定されたパラメータに等しい場合に指定されたパラメータの前記セットでビデオウィンドウが生成される結果につながる、方法。A method of creating a video window on a television display,
Obtaining an object having an interface that includes a first method that enables creation of a video window, the first method comprising: a source region of an image; a destination location; and the source region at the destination location. A set of parameters indicating a scaling factor indicating the amount of scaling when converted,
Invoking the first method in response to designation of the set of parameters;
The first method, Ri height and changeable der the width of the source region of the image,
The first method returns parameters of the video window within the capabilities of the television and the display according to the set of specified parameters;
The method invocation of the first method results in a video window being generated with the set of specified parameters if the returned parameter is equal to the specified parameter .
ユーザの選択に応じて前記第2のメソッドを呼び出す工程を含む、方法。The method of claim 7, further comprising:
Invoking the second method in response to a user selection.
画像のソース領域と、宛先位置と、前記宛先位置へ変換される際に前記ソース領域が拡大縮小される量を示す倍率とを示すパラメータのセットを受信する工程と、
前記ソース領域を前記宛先位置に変換し、前記ソース領域の寸法の前記セットが変更されるように、前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程とを含み、
前記試みる工程は、前記画像のソース領域の高さと幅とを変更する工程を含み、
前記試みる工程は、変換され拡大縮小されたソース領域を含むビデオウィンドウが、前記テレビおよび前記ディスプレイの機能の範囲内で前記宛先位置にかつ前記倍率に従って生成される結果につながる、方法。A method of manipulating a video window on a television display,
Receiving a set of parameters indicating a source region of an image, a destination location, and a magnification indicating an amount by which the source region is scaled when converted to the destination location;
Converting the source region to the destination location and attempting to apply the scale factor to the set of source region dimensions such that the set of source region dimensions is changed;
The attempt step is seen containing a step of changing the height and width of the source region of the image,
The trying step results in a video window including a transformed scaled source region being generated at the destination location and according to the scale factor within the capabilities of the television and the display .
前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程が失敗であった際に、前記ソース領域の寸法の前記セットに別の倍率を適用することを試みる工程を含む、方法。The method of claim 9, further comprising:
Attempting to apply another scale factor to the set of source region dimensions when the step of attempting to apply the scale factor to the set of source region dimensions is unsuccessful.
前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程が失敗であった際に、第2の倍率を取得する工程と、
寸法の前記セットに前記第2の倍率を適用することを試みる工程とを含む、方法。The method of claim 9, further comprising:
Obtaining a second magnification when the step of attempting to apply the magnification to the set of dimensions of the source region has failed;
Attempting to apply the second magnification to the set of dimensions.
画像のソース領域と、前記ソース領域が変換される第1の宛先位置とを示すパラメータのセットを受信する工程を含み、前記ソース領域は、寸法のセットを有し、
さらに、前記ソース領域を前記第1の宛先位置に変換することを試みる工程を含み、
前記試みる工程は、前記画像のソース領域の高さと幅とを変更する工程を含む、方法。A method of creating a video window on a television display,
Receiving a set of parameters indicating a source region of an image and a first destination location to which the source region is transformed, the source region having a set of dimensions;
Further, attempting to convert the source region to the first destination location;
The trying step includes the step of changing a height and width of a source region of the image.
前記ソース領域を前記第1の宛先位置に変換することを試みる工程が失敗であった際に、第2の宛先位置を取得する工程と、
前記ソース領域を前記第2の宛先位置に変換することを試みる工程とを含む、方法。The method of claim 12 , further comprising:
Obtaining a second destination location when the step of attempting to convert the source region to the first destination location is unsuccessful;
Attempting to convert the source region to the second destination location.
画像の領域をソース位置から宛先位置へ変換する工程を含み、前記領域は、前記ソース位置にある際には第1のセットの寸法を有し、前記宛先位置にある際には第2のセットの寸法を有し、
さらに、前記宛先位置と前記第2のセットの寸法との少なくとも一方を確認するために照会を実行する工程を含み、
さらに、前記画像のソース位置における前記領域の高さと幅とを変更する工程を含み、
前記変換は、ユーザによって指定されるパラメータに応じて前記テレビおよび前記ディスプレイの機能の範囲内で設定されるパラメータに従って行われる、
方法。A method of creating a video window on a television display,
Converting a region of the image from a source location to a destination location, wherein the region has a first set of dimensions when at the source location and a second set when at the destination location. Have the dimensions
Further comprising performing a query to ascertain at least one of the destination location and the second set of dimensions;
Furthermore, it looks including the step of changing the height and width of the area in the source location of the image,
The conversion is performed according to parameters set within the functions of the television and the display according to parameters specified by the user .
Method.
前記宛先位置と前記第2のセットの寸法とを指定するオブジェクトを取得する工程を含む、方法。15. The method of claim 14 , further comprising:
Obtaining an object specifying the destination location and the second set of dimensions.
前記宛先位置に配置され、前記第2のセットの寸法によって定義された前記領域の周りの1つ以上の位置に1つ以上のグラフィカルエレメントを表示する工程を含む、方法。15. The method of claim 14 , further comprising:
Displaying one or more graphical elements at one or more locations around the region located at the destination location and defined by the second set of dimensions.
前記画像の第2の領域が、前記宛先位置に配置され前記第2のセットの寸法を有する前記領域に重ならない場合に、前記第2の領域を第2のソース位置から第2の宛先位置へ変換する工程を含む、方法。15. The method of claim 14 , further comprising:
When the second region of the image does not overlap the region located at the destination location and having the dimensions of the second set, the second region is moved from the second source location to the second destination location. A method comprising the step of converting.
前記領域が前記宛先位置に配置されていない場合に、前記領域を前記ソース位置から前記宛先位置へ変換する工程を含む、方法。15. The method of claim 14 , further comprising:
Transforming the region from the source location to the destination location when the region is not located at the destination location.
ソース座標系内のソース領域と宛先位置を特定するパラメータのセットを取得する工程を含み、前記ソース座標系は、前記ソース座標系の或る位置にソース起点を有し、
さらに、宛先座標系の或る位置に宛先起点を設定する工程と、
前記ソース座標系内の前記宛先位置に対応する前記宛先座標系内の位置に前記ソース領域を変換する工程とを含み、
さらに、前記ソース領域の高さと幅とを変更する工程を含み、
前記変換は、ユーザによって指定されるパラメータに応じて前記テレビおよび前記ディスプレイの機能の範囲内で設定されるパラメータに従って行われる、方法。A method of creating a video window on a television display,
Obtaining a set of parameters identifying a source region and destination location in a source coordinate system, the source coordinate system having a source origin at a position in the source coordinate system;
A step of setting a destination starting point at a certain position in the destination coordinate system;
Transforming the source region to a location in the destination coordinate system corresponding to the destination location in the source coordinate system;
Furthermore, it looks including the step of changing the height and width of the source region,
The method wherein the conversion is performed according to parameters set within the capabilities of the television and the display according to parameters specified by a user .
前記方法は、さらに、
前記ソース領域に前記倍率を適用する工程を含む、方法。21. The method of claim 20 , wherein the set of parameters further includes a scale factor;
The method further comprises:
Applying the magnification to the source region.
プロセッサと、
命令を格納したメモリとを備え、
前記命令は、
前記テレビによってサポートされた1つ以上の倍率を決定するための命令を含み、前記1つ以上の倍率はそれぞれ、前記ディスプレイ上に提供された画像の位置に配置された領域の拡大縮小可能な量を特定するものであり、
前記命令は、前記ディスプレイ上における前記領域のソースであるソース画像領域の高さと幅とを変更する命令を含み、
前記作成は、ユーザによって指定されるパラメータに応じて前記テレビによってサポートされる前記1つ以上の倍率から選択される倍率に従って行われる、装置。A device for creating a video window on a television display,
A processor;
And a memory storing instructions,
The instructions are
Instructions for determining one or more magnifications supported by the television, each of the one or more magnifications being a scalable amount of an area located at a position of an image provided on the display Which identifies
The instructions, see contains instructions for changing the height and width of the source image area that is the source of the area on the display,
The creation is performed according to a magnification selected from the one or more magnifications supported by the television according to parameters specified by a user .
前記画像の前記位置に配置された前記領域について許容可能な寸法のセットを決定するための命令を含む、装置。23. The apparatus of claim 22 , wherein the memory is further
An apparatus comprising instructions for determining a set of allowable dimensions for the region located at the location of the image.
前記テレビによってサポートされるx座標の値とy座標の値とを決定するための命令を含む、装置。23. The apparatus of claim 22 , wherein the memory is further
An apparatus comprising instructions for determining an x-coordinate value and a y-coordinate value supported by the television.
前記1つ以上の倍率の内の1つを選択するための命令と、
前記1つ以上の倍率の内の前記選択された1つを前記画像の前記領域に適用するための命令とを含む、装置。23. The apparatus of claim 22 , wherein the memory is further
An instruction to select one of the one or more magnifications;
And an instruction for applying the selected one of the one or more magnifications to the region of the image.
プロセッサと、
メモリとを備え、
前記プロセッサと前記メモリの少なくとも一方は、ビデオウィンドウの作成を可能とする第1のメソッドを含むインターフェースを有するオブジェクトを取得するよう適合され、前記第1のメソッドは、画像のソース領域と、宛先位置と、前記ソース領域が前記宛先位置への変換に先立って拡大縮小される量を示す倍率とを示すパラメータのセットを有し、
前記第1のメソッドは、前記画像のソース領域の高さと幅とを変更可能であり、
前記第1のメソッドは、前記第1のメソッドが呼び出されるときに指定されたパラメータのセットに応じて、前記テレビおよび前記ディスプレイの機能の範囲内のビデオウィンドウのパラメータを返し、
前記第1のメソッドの呼び出しは、返されたパラメータが指定されたパラメータに等しい場合に指定されたパラメータの前記セットでビデオウィンドウが生成される結果につながる、装置。A device for creating a video window on a television display,
A processor;
With memory,
At least one of the processor and the memory is adapted to obtain an object having an interface that includes a first method that enables creation of a video window, the first method comprising: an image source region; a destination location; And a set of parameters indicating the amount by which the source region is scaled prior to conversion to the destination location,
The first method, Ri height and changeable der the width of the source region of the image,
The first method returns video window parameters within the capabilities of the television and the display, depending on the set of parameters specified when the first method is invoked;
The apparatus, wherein the invocation of the first method results in a video window being generated with the set of specified parameters if the returned parameter is equal to the specified parameter .
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14342899P | 1999-07-13 | 1999-07-13 | |
US60/143,428 | 1999-07-13 | ||
US17453500P | 2000-01-05 | 2000-01-05 | |
US60/174,535 | 2000-01-05 | ||
PCT/US2000/019232 WO2001004868A1 (en) | 1999-07-13 | 2000-07-13 | Methods and apparatus for creating a video window with parameters defining position and scaling factor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003504923A JP2003504923A (en) | 2003-02-04 |
JP4849756B2 true JP4849756B2 (en) | 2012-01-11 |
Family
ID=26841021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001509017A Expired - Lifetime JP4849756B2 (en) | 1999-07-13 | 2000-07-13 | Method and apparatus for generating a video window with parameters for determining position and scaling factor |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1192617A1 (en) |
JP (1) | JP4849756B2 (en) |
KR (1) | KR20020030784A (en) |
AU (1) | AU6099200A (en) |
HK (1) | HK1045902A1 (en) |
WO (1) | WO2001004868A1 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030060599A (en) * | 2002-01-10 | 2003-07-16 | 엘지전자 주식회사 | Apparatus and method for controlling display of data stream |
US7647610B2 (en) * | 2003-08-19 | 2010-01-12 | Lg Electronics Inc. | Interfacing system between digital TV and plurality of remote controllers, method thereof, remote controller thereof, and remote controller signal transmitting method thereof |
EP1935174A4 (en) * | 2005-08-05 | 2009-11-11 | Samsung Electronics Co Ltd | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
US8046706B2 (en) | 2005-08-05 | 2011-10-25 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
CA2615764A1 (en) * | 2005-08-05 | 2007-02-15 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
KR20070043332A (en) * | 2005-10-21 | 2007-04-25 | 삼성전자주식회사 | Display apparatus and control method thereof |
WO2007114673A1 (en) * | 2006-04-06 | 2007-10-11 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method for dynamic configuration of the same |
WO2007114669A1 (en) * | 2006-04-06 | 2007-10-11 | Samsung Electronics Co., Ltd. | Apparatus and method for identifying an application in the multiple screens environment |
KR101181607B1 (en) * | 2006-09-11 | 2012-09-10 | 엘지전자 주식회사 | Method for processing the display of application for data broadcasting service |
JP2009237454A (en) * | 2008-03-28 | 2009-10-15 | Sony Corp | Image processing device, image processing method, and program |
KR101832761B1 (en) * | 2011-05-26 | 2018-02-27 | 엘지전자 주식회사 | Display device, method for remotely controlling display device |
CN104079869A (en) * | 2013-03-29 | 2014-10-01 | 杭州海康威视数字技术股份有限公司 | Method and client side for previewing multi-channel code streams |
US11295706B2 (en) * | 2016-06-30 | 2022-04-05 | Microsoft Technology Licensing, Llc | Customizable compact overlay window |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0575944A (en) * | 1991-09-10 | 1993-03-26 | Sony Corp | Television receiver |
JPH06253232A (en) * | 1993-03-01 | 1994-09-09 | Sharp Corp | Television receiver |
JPH09163260A (en) * | 1995-12-13 | 1997-06-20 | Sony Corp | Television receiver |
JPH09214847A (en) * | 1996-01-30 | 1997-08-15 | Sharp Corp | Video signal processor |
JPH11205670A (en) * | 1998-01-16 | 1999-07-30 | Sony Corp | Device and method for editing and provision medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283561A (en) * | 1989-02-24 | 1994-02-01 | International Business Machines Corporation | Color television window for a video display unit |
AU692428B2 (en) * | 1992-12-09 | 1998-06-11 | Sedna Patent Services, Llc | Set top terminal for cable television delivery systems |
US5572232A (en) * | 1993-08-06 | 1996-11-05 | Intel Corporation | Method and apparatus for displaying an image using subsystem interrogation |
CA2191632A1 (en) * | 1996-02-13 | 1997-08-14 | James Lee Combs | Video processor for processing two analog composite video signals |
-
2000
- 2000-07-13 EP EP00947367A patent/EP1192617A1/en not_active Withdrawn
- 2000-07-13 KR KR1020027000490A patent/KR20020030784A/en active IP Right Grant
- 2000-07-13 JP JP2001509017A patent/JP4849756B2/en not_active Expired - Lifetime
- 2000-07-13 WO PCT/US2000/019232 patent/WO2001004868A1/en active Application Filing
- 2000-07-13 AU AU60992/00A patent/AU6099200A/en not_active Abandoned
-
2002
- 2002-09-26 HK HK02107129.7A patent/HK1045902A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0575944A (en) * | 1991-09-10 | 1993-03-26 | Sony Corp | Television receiver |
JPH06253232A (en) * | 1993-03-01 | 1994-09-09 | Sharp Corp | Television receiver |
JPH09163260A (en) * | 1995-12-13 | 1997-06-20 | Sony Corp | Television receiver |
JPH09214847A (en) * | 1996-01-30 | 1997-08-15 | Sharp Corp | Video signal processor |
JPH11205670A (en) * | 1998-01-16 | 1999-07-30 | Sony Corp | Device and method for editing and provision medium |
Also Published As
Publication number | Publication date |
---|---|
WO2001004868A1 (en) | 2001-01-18 |
AU6099200A (en) | 2001-01-30 |
KR20020030784A (en) | 2002-04-25 |
JP2003504923A (en) | 2003-02-04 |
HK1045902A1 (en) | 2002-12-13 |
EP1192617A1 (en) | 2002-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6762798B1 (en) | Methods and apparatus for providing video control for television applications | |
AU2006292506B2 (en) | Self-contained mini-applications system and method for digital television | |
JP4955544B2 (en) | Client / server architecture and method for zoomable user interface | |
JP4814465B2 (en) | Method and apparatus for selecting multicast IP data transmitted in a broadcast stream | |
US20060168639A1 (en) | Interactive television system with partial character set generator | |
JP4849756B2 (en) | Method and apparatus for generating a video window with parameters for determining position and scaling factor | |
Peng | Digital television applications | |
US11960674B2 (en) | Display method and display apparatus for operation prompt information of input control | |
US20050149991A1 (en) | Method and apparatus for finding applications and relating icons loaded on a television | |
US7634779B2 (en) | Interpretation of DVD assembly language programs in Java TV-based interactive digital television environments | |
CN111601144B (en) | Streaming media file playing method and display equipment | |
CN111954059A (en) | Screen saver display method and display device | |
CN111277911B (en) | Image processing method of panoramic video, display device and server | |
CN112040309A (en) | Channel switching method and display device | |
EP1491036A1 (en) | Method and apparatus for displaying graphics on an auxiliary display device using low level graphics drivers | |
CN111314739B (en) | Image processing method, server and display device | |
CN111343498B (en) | Mute control method and device and smart television | |
CN113542829A (en) | Split screen display method, display terminal and readable storage medium | |
Thrift et al. | JTV: Java-enabled television | |
CN112153395A (en) | Streaming media data playing method and display equipment | |
CN112040317A (en) | Event response method and display device | |
Hinze-Hoare | From Digital Television to Internet? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100907 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100914 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110308 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110520 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110624 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110704 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111011 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111018 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4849756 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141028 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |