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 PDF

Info

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
Application number
JP2001509017A
Other languages
Japanese (ja)
Other versions
JP2003504923A (en
Inventor
メッサー・キース・エル.
リバス・ジーザス・デイビッド
ロー・ジャイムズ バン
イエ・タオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2003504923A publication Critical patent/JP2003504923A/en
Application granted granted Critical
Publication of JP4849756B2 publication Critical patent/JP4849756B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation 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/4316Generation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/4402Processing 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/440263Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/4728End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay 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 antenna 102 and tuned by tuner module 104 to produce MPEG2 transport stream 106. The demultiplexer 108 then generates an encrypted MPEG stream 110 that includes a video stream 112, an audio stream 114, and a data stream 116. These three streams are then processed by the conditional access subsystem 118. For example, the conditional access subsystem 118 may use the key management information 120 as well as the decryption information 122 (eg, decryption algorithm). The conditional access subsystem 118 generates a decoded MPEG stream 123 that includes a video stream 124 and an audio stream 125 along with data 126. They are all decrypted. Next, the decoder 128 processes the decoded MPEG stream 123 and sends the decoded video data to the frame buffer 130 and the decoded audio data to the speaker 132. When the data 126 is processed, there is a possibility that a Java application composed of a large number of classes is included in the data. As one embodiment, a Java application can be an application used to create one or more picture-in-picture windows at a user-specified location on a video monitor.
[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-picture window 200 on the television screen 202. This is typically achieved by hardware that prevents the user from changing the position of the picture-in-picture window 200 within the television screen 202. Furthermore, television viewers typically have the option of generating only a single picture-in-picture window, and the window needs to display the entire video program. As will be described with reference to the following figures, the present invention provides a system for implementing such picture-in-picture functions in a digital television environment.
[0017]
FIG. 3 is a block diagram illustrating a system in which the present invention can be implemented. As shown, the system includes hardware 302 that includes video hardware 304 and graphics hardware 306 (eg, a frame buffer). In addition, native control software is provided that provides graphics signal processing functionality to specific hardware 302 to scale and demarcate the video.
[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. JMF 312 specifies an integrated architecture, messaging protocol, and programming interface for playback, ingestion, and conferencing of compressed streaming and storage timing-based media including audio and video across all available platforms of Java To do. For example, the JMF 312 enables functions such as start, stop, and playback.
[0020]
In addition, a Java extraction window toolkit (AWT) 314 is provided. AWT 314 is a large collection of classes that build graphical user interfaces within Java. For example, the AWT 314 provides functions (eg, keyboard, mouse, menu) for managing and controlling the display. More specifically, the AWT 314 manages the display of one or more components. However, each component is a collection of graphical elements that are treated as a whole. For example, the component may be an image or a window. For further details of JMF and AWT, see “Essential JMF Java (trademark) Java Media Framework”, Rob Gordon and Stephen Taleley, Prentice Hall 1999, JBN 013-080a 6b. Edition, Patrick Chan and Rosanna Lee, Prentice Hall 1997, ISBN 0201310031, each of which is incorporated herein by reference.
[0021]
In addition to the components described above, a video component 316 is disclosed. More particularly, the video component 316 is implemented by the installation of an object having the application programming interface disclosed herein. Video component 316 is described in further detail below with reference to FIG.
[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 video component 400 is a data structure (eg, an object) that allows picture-in-picture functionality to be implemented in a digital television environment. More particularly, this allows video windows (eg picture-in-picture windows) to be created as well as queried to determine the attributes of the created video window 2 This is accomplished by implementing an application programming interface that includes one method.
[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 video window method 402. The set video window method 402 scales the video image having the boundary specified by the height 406 and the width 408 measured from the source position 410 according to the specified magnification 412 and displays the video image at the destination position 404. Make it possible. Both source location 410 and destination location 404 may be specified using x and y coordinates. A source rectangle may be specified in the source coordinate system by specifying a height 406, a width 408, and a source position 410. The destination position 404 specifies a position in the destination coordinate system where the destination rectangle is arranged when the source rectangle is scaled by the magnification 412. Thus, a video window is created by using the set video window method 402.
[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 video window method 412 can determine video window characteristics such as position and magnification. This is accomplished, for example, by returning a video component object from a series of one or more video component objects. Therefore, by using the API, the picture-in-picture function can be implemented in a digital television environment that does not depend on the basic hardware.
[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 scale value method 414 may be used to determine those scale values supported by the underlying coordinate system. Further, a supported x coordinate value method 416 may be used to determine those x coordinate values supported by the underlying coordinate system. Similarly, a supported y coordinate value method 418 may be used to determine those y coordinate values supported by the underlying coordinate system. In addition, a valid width method 420 and a valid height are used to determine the effective width and height for the source rectangle selected as the video window selected to be transformed and scaled. A method (valid height method) 422 may be used.
[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 video component 400 allows the video window to be queried and set. FIG. 5 is a diagram illustrating a video window display for a video component according to an embodiment of the present invention. As shown, when the set video window method is invoked, a video window 502 is displayed on the underlying video image 504. The video window 502 has a video height 506 and a video width 508, both of which are scaled according to the magnification and displayed at the destination video location 510.
[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 hardware 302, graphics hardware 306, AWT 314, and video component 400. Application 602 can obtain video component object 400 to set or query the video window. More specifically, the video component object 400 can perform these functions not only by the AWT 314 but also by the video software 604. By instantiating one or more video windows within a video monitor One or more video component objects may be instantiated to provide one or more video windows. Thus, the application 602 may acquire multiple video components 400 simultaneously or sequentially and set multiple video windows within one monitor.
[0030]
As described above with reference to FIG. 4, the video component object 400 allows both the set video window method 402 and the query video window method 412 to be invoked by the application. FIG. 7 is a flowchart illustrating one method of creating a video window by calling the set video window method. The process begins at block 700 and at block 702 a video component object is obtained. For example, a video component object can be selected from one or more video component objects that have been previously instantiated. The user (eg, TV viewer) then selects or enters parameters and defines the source and destination areas (eg, rectangles) for the video window (eg, picture-in-picture window) to be displayed. Can do. The parameters are then set as shown in blocks 704-710. At block 704, the desired location for the destination area is set to the selected area in the monitor (eg, upper right quadrant). Next, at block 706, the magnification is set to the selected magnification. For example, the scale factor for the destination area may be specified as a quarter size and dimension of the source area. Next, at block 708, the position parameter of the set video window method is set to the desired position. Next, at block 710, a source region is specified. For example, the boundary of the source region may be set by specifying the position, height, and width of the source.
[0031]
Once the set video window method parameters are specified, at block 712, the set video window method is invoked. Because the application that calls the set video window method may be independent of the hardware that implements the picture-in-picture function, the parameters specified by the user will ultimately be in the scope of the hardware function. It does not have to be inside. For example, a universal remote control can allow picture-in-picture to be placed at any position on the screen and to allow any magnification. However, in a television using a universal remote control, a picture-in-picture window can be created only at a specific position (for example, the lower left corner of the screen). Similarly, the television can only support a specific magnification (eg, 1/2, 1/4). Therefore, according to one embodiment, the set video window method returns an object (eg, a video component object) having a value that is ultimately set by the set video window method. If at block 714 it is determined that the resulting window position is equal to the desired position, at block 716 the process ends. If the resulting position is not equal to the desired position, either the hardware cannot support the desired position or the desired position is currently occupied. Therefore, next, at block 718, it is determined whether the resulting position indicates that there is no further position to display a further video window. If there are no more positions, the process ends at block 720 and no video window is displayed. However, if there are additional locations where the video window can be displayed, at block 722, the desired location is set to another location. For example, the location may be arbitrarily selected from a set of possible locations, or a television viewer may select another desired location. The process then continues at block 706 to the newly selected desired location.
[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 video window 802 is displayed in the monitor 800. When a TV viewer wants to watch a music channel that provides karaoke options, it may need to determine where to place the video window 802 in order to properly display the lyrics 804 associated therewith. .
[0034]
FIG. 9 is a flowchart illustrating one method for determining parameters for the current video window. The process begins at block 900 and at block 902 a video component is obtained from a set of one or more video component objects. For example, a video component object may be associated with each picture-in-picture-video window, as well as all the underlying images. In addition, multiple picture-in-picture windows may be supported by some systems. Once the video component object is obtained, at block 904, the query video window method shown in FIG. 4 is invoked. According to one embodiment, the query video window method returns an object that specifies video window parameters for the video component object. Then, at block 906, the position where the video window is located is obtained from this returned object. Once the position of the existing video window is obtained, at block 908, a graphic function may be performed at or around the desired video position. As an example, the query video window method may use a picture-in-picture so that if the picture-in-picture window does not exist at a particular location, only that window is displayed at that location. It may be used to optimize functionality. As another example, the query video window method can be used to determine whether a picture-in-picture window exists at a location where a second picture-in-picture window is desired. Also good. Finally, as described above with reference to FIG. 8, the query video window method may be used to determine an area in the karaoke application where lyrics can be displayed.
[0035]
FIG. 10 is a flowchart illustrating an exemplary method for displaying karaoke lyrics in block 908 of FIG. The process begins at block 1000. At block 1002, it is determined whether the video window location is in the upper right quadrant of the screen. If the video window is displayed in the upper right quadrant of the screen, at block 1004 karaoke lyrics are displayed on the left side of the screen. However, if the location suggests that the video window is not located in the upper right quadrant of the screen, it is determined in block 1006 whether the video window is located in the lower right quadrant of the screen. The If the video window is not displayed in the lower right quadrant, it must be located on the left side of the screen. Accordingly, karaoke lyrics are drawn on the right side of the screen at block 1008. When the lyrics are displayed, at 1010, a bouncing ball is displayed along with the accompaniment. The above process is to check the right and left sides of the screen, but more complex methods are implemented to display karaoke lyrics or other graphical elements around one or more video windows. Also good.
[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 block 908 of FIG. The process begins at block 1100 and at block 1102 it is determined whether the position of the video window is located at the desired position. If the location is located at the desired location, the process ends at block 1104 because the video window need not be rendered. However, if the video window is not located at the desired location, at block 1106, the video window is drawn at the desired location. In this way, the picture-in-picture function may be optimized.
[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 block 908 of FIG. The process begins at block 1200 and at block 1202, it is determined whether the position of the existing video window suggests that the existing video window is located in the upper right quadrant of the screen. If the location suggests that an existing video window is not displayed in the upper right quadrant of the screen, at block 1204, a new video window may be drawn in the lower right quadrant. However, if the existing video window is not displayed in the upper right quadrant, it is determined at block 1206 whether the position of the existing video window is in the lower right quadrant of the screen. If the existing video window is not in the lower right quadrant, at block 1208, a new video window may be drawn in the lower right quadrant. Next, at block 1210, it is determined whether an existing video window is displayed in the upper left quadrant of the screen. If the existing video window is not located in the upper left quadrant, at block 1212 a new video window may be displayed in the upper left quadrant. Otherwise, if the existing video window is located in the upper left quadrant, at block 1214, a new video window is displayed in the lower left quadrant. In this way, one or more video windows (eg, picture-in-picture windows) can be displayed so as not to overlap each other. The above process presents a simple way to display multiple picture-in-picture windows, but the process is exemplary only and there are one or more other positions in the screen. The specified parameters (e.g., location) may be verified and compared with respect to the request for additional video windows.
[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 underlying video window 1300 or image, and the second video component object is a second video window (eg, picture-in-picture). Window) 1302 may be associated. For example, a television viewer may display a center court as a basic video window 1300 and a sub-court as a picture-in-picture window 1302 when watching a tennis match. In addition, statistics may be displayed in a further text window 1304. The system may also allow the user to replace the basic video window 1300 and the picture-in-picture window 1302. Accordingly, those video components may be associated with various windows and parameters depending on this replacement.
[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 first video component 1400 may be associated with a first picture-in-picture window and the second video component 1402 is associated with a second picture-in-picture window. Often, the third video component 1404 may be associated with a third picture-in-picture window. For example, as described above with reference to FIG. 13, a television viewer may wish to view multiple picture-in-picture windows while watching a tennis match or the like. Thus, as shown, the first video component 1400 can be used to display the center court, and the second video component 1402 can be used to display the audience camera, A third video component 1404 may be used to display the sub-coat. In addition, an additional text window 1406 may be used to display statistics such as scores. Furthermore, the basic image 1408 may display an overall image of a game in which areas to be displayed in a plurality of picture-in-picture windows are selected.
[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 purpose computer system 1502 suitable for implementing the present invention. The computer system may take any suitable form. For example, the computer system may be integrated with a digital television receiver or set-top box.
[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. Computer system 1502 includes any number of processors 1504 (central processing units) connected to memory devices including primary storage device 1506 (typically read-only memory or ROM) and primary storage device 1508 (typically random access memory or RAM). That is, it is also called a CPU. As is well known to those skilled in the art, the ROM has a function of transferring data and instructions to the CPU 1504 unidirectionally, and the RAM is usually used to transfer data and instructions bidirectionally. Both primary storage devices 1506 and 1508 may include any suitable computer-readable medium. CPU 1504 may generally include any number of processors.
[0043]
Secondary storage medium 1510 is typically a mass memory device and is bi-directionally connected to CPU 1504 to supplement the data storage capacity. Mass memory device 1510 is a computer-readable medium that can be used to store programs including computer code, data, and the like. Typically, mass memory device 1510 is a storage medium such as a hard disk that is generally slower than primary storage devices 1506 and 1508.
[0044]
The CPU 1504 may be further connected to one or more input / output devices 1512. Input / output device 1512 can be a video monitor, trackball, mouse, keyboard, microphone, touch-sensitive display, transducer card reader, magnetic or paper tape reader, tablet, stylus, voice or handwritten character recognizer, or other Including but not limited to devices such as well-known input devices such as computers. Finally, CPU 1504 may optionally be connected to a computer or telecommunications network (eg, an Internet network or an intranet network) using the network connection generally shown at 1514. If such a network connection is made, the CPU 1504 may be able to receive information from the network and output information to the network during execution of the method steps described above. Such information is often represented as a series of instructions executed using the CPU 1504 and can be received from the network and output to the network, for example, in the form of a computer data signal implemented on a carrier wave. It is.
[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 block 908 of FIG.
FIG. 11 is a flowchart illustrating one method for optimizing picture-in-picture functionality in block 908 of FIG.
12 is a flowchart illustrating one method of using a query function to display a plurality of picture-in-picture-video windows at block 908 of FIG.
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 .
請求項1に記載の方法であって、前記オブジェクトを取得する工程は、1つ以上のビデオウィンドウの要求に関連する1つ以上のオブジェクトから前記オブジェクトを取得する工程を含む、方法。  The method of claim 1, wherein obtaining the object comprises obtaining the object from one or more objects associated with a request for one or more video windows. 請求項1に記載の方法であって、前記第1のメソッドは、前記宛先位置がピクチャ・イン・ピクチャ・ウィンドウによって占有されていない場合に、前記ソース領域を拡大縮小し、前記宛先位置へ変換する、方法。  The method of claim 1, wherein the first method scales and converts the source region to the destination location when the destination location is not occupied by a picture-in-picture window. how to. 請求項1に記載の方法であって、前記第1のメソッドは、前記倍率が前記テレビによってサポートされている場合に、前記ソース領域を拡大縮小し、前記宛先位置へ変換する、方法。  The method of claim 1, wherein the first method scales and converts the source region to the destination location when the scaling factor is supported by the television. 請求項1に記載の方法であって、前記第1のメソッドは、前記宛先位置が前記テレビによってサポートされている場合に、前記ソース領域を拡大縮小し、前記宛先位置へ変換する、方法。  The method of claim 1, wherein the first method scales and converts the source region to the destination location when the destination location is supported by the television. 請求項1に記載の方法であって、前記ソース領域は、高さ、幅、ソース位置によって定義される、方法。  The method of claim 1, wherein the source region is defined by height, width, and source position. 請求項1に記載の方法であって、前記インターフェースは、さらに、パラメータの前記セットに関する値の取得を可能とする第2のメソッドを含む、方法。  The method of claim 1, wherein the interface further includes a second method that allows obtaining a value for the set of parameters. 請求項7に記載の方法であって、さらに、
ユーザの選択に応じて前記第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 .
請求項9に記載の方法であって、さらに、
前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程が失敗であった際に、前記ソース領域の寸法の前記セットに別の倍率を適用することを試みる工程を含む、方法。
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.
請求項9に記載の方法であって、さらに、
前記ソース領域の寸法の前記セットに前記倍率を適用することを試みる工程が失敗であった際に、第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.
請求項12に記載の方法であって、さらに、
前記ソース領域を前記第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.
請求項14に記載の方法であって、さらに、
前記宛先位置と前記第2のセットの寸法とを指定するオブジェクトを取得する工程を含む、方法。
15. The method of claim 14 , further comprising:
Obtaining an object specifying the destination location and the second set of dimensions.
請求項14に記載の方法であって、さらに、
前記宛先位置に配置され、前記第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.
請求項16に記載の方法であって、前記1つ以上のグラフィカルエレメントは、1つ以上の単語を形成する、方法。The method of claim 16 , wherein the one or more graphical elements form one or more words. 請求項14に記載の方法であって、さらに、
前記画像の第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.
請求項14に記載の方法であって、さらに、
前記領域が前記宛先位置に配置されていない場合に、前記領域を前記ソース位置から前記宛先位置へ変換する工程を含む、方法。
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 .
請求項20に記載の方法であって、パラメータの前記セットは、さらに、倍率を含み、
前記方法は、さらに、
前記ソース領域に前記倍率を適用する工程を含む、方法。
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 .
請求項22に記載の装置であって、前記メモリは、さらに、
前記画像の前記位置に配置された前記領域について許容可能な寸法のセットを決定するための命令を含む、装置。
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.
請求項22に記載の装置であって、前記メモリは、さらに、
前記テレビによってサポートされる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.
請求項22に記載の装置であって、前記メモリは、さらに、
前記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 .
JP2001509017A 1999-07-13 2000-07-13 Method and apparatus for generating a video window with parameters for determining position and scaling factor Expired - Lifetime JP4849756B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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