WO2001004868A1 - Procedes et appareil permettant de creer une fenetre video au moyen de parametres definissant la position et l'echelle - Google Patents
Procedes et appareil permettant de creer une fenetre video au moyen de parametres definissant la position et l'echelle Download PDFInfo
- Publication number
- WO2001004868A1 WO2001004868A1 PCT/US2000/019232 US0019232W WO0104868A1 WO 2001004868 A1 WO2001004868 A1 WO 2001004868A1 US 0019232 W US0019232 W US 0019232W WO 0104868 A1 WO0104868 A1 WO 0104868A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- source region
- recited
- picture
- destination position
- source
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4728—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4858—End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/45—Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
- G09G2340/125—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
Definitions
- the present invention relates generally to computer software. More particularly, the present invention relates to methods and apparatus for implementing a picture-in-picture capability within a digital television.
- the digital television revolution is one of the most significant events in the history of broadcast television. With the advent of digital television, high speed data transfer is possible via satellite, cable and terrestrial television channels. Digital television will offer users more channels as well as significantly improved video and audio quality. Most importantly, digital television ushers in the age of true interactive television. For instance, digital receivers will be able to offer users a variety of enhanced services, from simple interactive quiz shows, to Internet over the air, and a mix of television and web-type content. As the market for digital television grows, content developers are looking for a feature-rich, cost-effective, and reliable software platform upon which to build the next generation of interactive television services such as Electronic Programming Guides, Video-On-Demand, and Enhanced Broadcasting.
- Picture-in-picture is a capability that is common to many televisions that are currently available. However, picture-in-picture functionality is typically implemented in hardware. As digital television technology matures, it would be desirable if picture-in-picture functionality were implemented in software. In addition to the environment in which picture-in-picture functionality is implemented, the functionality of picture-in-picture capabilities has been limited. For instance, the picture-in-picture window is typically constrained to a pre-determined location of the video monitor. Moreover, although a television viewer may wish to simultaneously view multiple channels, the capability of creating multiple picture-in- picture windows has not traditionally been available.
- the present invention provides methods and apparatus for implementing a video window (e.g., picture-in-picture window) on a display associated with a digital television. This is accomplished, in part, through an application programming interface providing a set of methods enabling a video window to be created as well as queried. In this manner, a video window may be translated as well as scaled according to user specified parameters.
- an application programming interface provides a set video window method enabling a video window to be created.
- the set video window method has a set of parameters indicating a source region of an image, a destination position, and a scale factor indicating an amount that the source region is to be scaled when translated to the destination position.
- the set video window method may then be called to translate and scale the source region when the set of parameters are specified.
- the application programming interface provides a second method enabling values associated with the set of parameters to be obtained after the set video window method has been called to create a video window.
- a video component object implementing the application programming interface may be obtained for each video window existing within a display.
- a video component object may be obtained for an underlying image.
- a video component object may be obtained for each picture-in-picture video window.
- the present invention implements translation and scaling functionality such that a video image may be translated and/or scaled in accordance with varying hardware capabilities.
- the set video window method may accommodate various picture-in-picture capabilities available on the market. For instance, the number of picture-in-picture windows allowed on a television as well as the permitted location of a picture-in-picture window may vary.
- a remote control may provide picture-in-picture functionality that is compatible with a variety of existing as well as contemplated televisions.
- the present invention is implemented on a Java platform.
- the Java platform provides an ideal development and deployment platform for this emerging class of interactive services.
- the Java programming language provides content developers with a high degree of control and flexibility of the "look and feel" of their applications, enabling them to deliver the most dynamic and compelling interactive television experiences to their audience.
- interactive television applications written in the Java programming language offer security, extensibility, and portability across a diverse array of television receivers, saving content developers time and money getting their interactive applications to market.
- the present invention enables a video window to be translated as well as scaled to accommodate a variety of televisions. This is particularly advantageous when used in a device such as a remote control. In this manner, a viewer may operate a remote control without requiring knowledge of the capabilities of the television which the remote control operates.
- FIG. 1 is a block diagram illustrating an exemplary 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 may be implemented.
- FIG. 4 is a diagram illustrating a video component implementing an application programming interface (API) according to one embodiment of the invention.
- API application programming interface
- FIG. 5 is a diagram illustrating a video window display associated with a video component according to one embodiment of the invention.
- FIG. 6 is a block diagram illustrating an exemplary system in which a video component may be implemented.
- FIG. 7 is a process flow diagram illustrating one method of creating a video window by calling the set video window method.
- FIG. 8 illustrates a karaoke application of the present invention.
- FIG. 9 is a process flow diagram illustrating one method of determining parameters associated with an existing video window.
- FIG. 10 is a process flow diagram illustrating an exemplary method of displaying karaoke lyrics at block 908 of FIG. 9.
- FIG. 11 is a process flow diagram illustrating one method of optimizing the picture-in-picture functionality at block 908 of FIG. 9.
- FIG. 12 is a process flow diagram illustrating one method of applying the querying function to display multiple picture-in-picture video windows at block 908 of FIG. 9.
- FIG. 13 is a diagram illustrating the use of multiple video component objects within a system supporting a single picture-in-picture window.
- FIG. 14 is a diagram illustrating the use of multiple video component objects within a system that supports multiple picture-in-picture windows.
- FIG. 15 illustrates a typical, general-purpose computer system suitable for implementing the present invention.
- FIG. 1 is a block diagram illustrating an exemplary digital television receiver.
- a signal is received via antenna 102 and tuned by tuner module 104, producing MPEG2 transport stream 106.
- De-multiplexer 108 then produces encrypted MPEG stream 110 including a video stream 112, an audio stream 114, and a data stream 116. These three streams are then processed by conditional access subsystem 118.
- conditional access subsystem 118 may utilize key management information 120 as well as decryption information 122 (e.g., decryption algorithms).
- the conditional access subsystem 118 produces decrypted MPEG streams 123 including a video stream 124 and audio stream 125 as well as data 126, all of which are decrypted.
- a decoder 128 then processes the decrypted MPEG stream 123, and forwards the decoded video data to frame buffer 130 and transmits the decoded audio data to speaker 132.
- the data 126 is processed, it could contain Java applications that are composed of many classes.
- a Java application may be an application that is used to create one or more picture-in-picture windows in user-specified locations on a video monitor. As described above, traditional picture-in-picture functionality is limited.
- FIG. 2 is a block diagram illustrating the creation of a conventional picture-in-picture window 200 on a television screen 202. This is typically performed by hardware which does not allow for a user to vary the position of the picture-in-picture window 200 within the television screen 202. Moreover, a television viewer typically has the option of creating only a single picture-in-picture window, and the window must consist of the entire video program. As will be described with reference to the following figures, the present invention provides a system for implementing picture- in-picture functions such as these within a digital television environment.
- FIG. 3 is a block diagram illustrating a system in which the present invention may be implemented. As shown, the system includes hardware 302, including video hardware 304 and graphics hardware 306 hardware (e.g., frame buffer).
- native control software 308 which provides graphics signal processing capabilities for the particular hardware 302 in order to scale and bound the video.
- Java is a leading commercial object-oriented language designed as a portable language that can run on any compatible device that supports the Java platform. As such, it offers great promise as the software platform for the next generation of set-top boxes and digital televisions.
- Java Virtual Machine (JVM) 310 is one platform that may be used to implement the present invention.
- Java Media Framework API (JMF) 312 enables the display and capture of multimedia data within Java applications and applets.
- the JMF 312 specifies a unified architecture, messaging protocol and programming interface for playback, capture and conferencing of compressed streaming and stored timed-based media including audio and video across all Java enabled platforms.
- the JMF 312 enables functions such as start, stop, and play functions.
- Java Abstract Window Toolkit (AWT) 314 is included.
- the AWT 314 is a large collection of classes for building graphical user interfaces in Java.
- the AWT 314 provides the functionality to manage and control the display (e.g., keyboard, mouse, and menus). More particularly, the AWT 314 manages the display of one or more components, where each component is a collection of graphical elements that are treated as a whole. For instance, a component may be an image or a window.
- a video component 316 is disclosed. More particularly, the video component 316 is implemented through the instantiation of an object having an application programming interface disclosed herein. The video component 316 is described in further detail below with reference to FIG. 4.
- FIG. 4 is a diagram illustrating a video component implementing an application programming interface (API) according to one embodiment of the invention.
- video component 400 is a data structure (e.g., object) that enables picture-in-picture functionality to be implemented in a digital television environment. More particularly, this is accomplished through implementing an application programming interface including two methods which enable a video window (e.g., picture-in-picture window) to be created as well as queried to determine the attributes of the created video window.
- an application programming interface including two methods which enable a video window (e.g., picture-in-picture window) to be created as well as queried to determine the attributes of the created video window.
- the television viewer may select a "source rectangle" within an image through a mouse or other inputs. For instance, the television viewer may select the height, width, and position of the source rectangle through numerical inputs on a keyboard or remote control.
- a corresponding video window may then be created through a set video window method 402.
- the set video window method 402 enables a video image having bounds specified by a height 406 and a width 408 measured from a source position 410 to be scaled according to a specified scale factor 412 and displayed at a destination position 404. Both the source position 410 and the destination position 404 may be specified through an x-coordinate and a y-coordinate.
- a source rectangle may be specified in a source coordinate system.
- the destination position 404 specifies a location in a destination coordinate system at which a destination rectangle is to be placed once the source rectangle is scaled by the scale factor 412.
- a video window is created.
- a query video window method 412 can determine features of a video window, such as its position or scale factor. This may be accomplished, for example, by returning a video component object from a set of one or more video component objects. Accordingly, the use of the API enables picture-in-picture functionality to be implemented in a digital television environment independent of the underlying hardware.
- a set of methods are provided for implementing video rectangle queries.
- the set of methods may be implemented for both source and destination coordinate systems. Alternatively, a separate set of methods may be implemented for each of the source and destination coordinate systems.
- a supported scale values method 414 may be used to determine those scale values that are supported by the underlying coordinate system.
- a supported x coordinate values method 416 may be used to determine those x coordinate values that are supported by the underlying coordinate system.
- a supported y coordinate values method 418 may be used to determine those y coordinate values that are supported by the underlying coordinate system.
- a valid width method 420 and valid height method 422 may be used to determine valid widths and heights for a selected source rectangle as the chosen video window to translate and scale.
- An equivalent application of the invention would provide the methods of the API described in FIG. 4 on an object separate but related to the video component. This would require that whatever mechanism is used to instantiate the video component would also be capable of instantiating the object that implements the methods in FIG. 4 as well as relating that object to the original video component.
- One way of doing this 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 objects related to the video component that control the presentation of video data.
- An application would instantiate the video component using the getVisualComponent method and obtain the object implementing the API described in FIG. 4 from the getControls method.
- FIG. 5 is a diagram illustrating a video window display associated with a video component according to one embodiment of the invention. As shown, once the set video window method is called, a video window 502 is displayed on an underlying video image 504. The video window 502 has a video height 506 and video width 508, both of which have been scaled according to a scale factor, and displayed at a destination video position 510.
- an origin is set at a standard location.
- the origin is set at an upper left-hand corner of each coordinate system.
- the origin in the source coordinate system may be set as shown at 512.
- a destination coordinate system is created in which the origin of the destination coordinate system is set at the same location as the origin of the source coordinate system.
- the origin in the destination coordinate system may be set in the upper left hand corner, as shown at 514.
- FIG. 6 is a block diagram illustrating an exemplary system in which a video component may be implemented. As shown, the system includes the hardware 302, the graphics hardware 306, the AWT 314, and the video component 400. An application 602 may obtain a video component object 400 to set a video window or query a video window. More particularly, the video component object 400 may perform these functions via video software 604 as well as the AWT 314.
- One or more video component objects may be instantiated to provide one or more video windows. Accordingly, the application 602 may obtain multiple video components 400, either simultaneously or sequentially to set up multiple video windows within a single monitor.
- FIG. 7 is a process flow diagram 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.
- the video component object may be selected from one or more video component objects that have previously been instantiated.
- a user e.g., television viewer
- the parameters are then set as shown at blocks 704-710.
- a desired position for the destination region is set to the selected region (e.g., upper right quadrant) of the monitor.
- a scale factor is then set to the selected scale factor at block 706.
- the scale factor associated with the destination region may be specified to be one-fourth of the size and dimensions of the source region.
- the position parameter of the set video window method is then set to the desired position at block 708.
- the source region is then specified at block 710. For instance the bounds of the source region may be set by specifying a source position, a height, and a width.
- the set video window method is then called at block 712. Since the application calling the set video window method may be separate from the hardware implementing the picture-in-picture functionality, the parameters as specified by the user may not ultimately be within the capabilities of the hardware. For instance, a universal remote control may enable a picture-in-picture to be located in any position of the screen and allow any scale factor. However, a television with which the universal remote control is used may only enable a picture-in-picture window to be created in specific locations (e.g., lower left-hand corner of the screen). Similarly, the television may only support specific scale factors (e.g., one-half, one-fourth).
- the set video window method returns an object (e.g., video component object) having the values as ultimately set by the set video window method.
- the process ends at block 716. If the resulting position is not equal to the desired position, the hardware cannot support the desired position or the desired position is currently occupied. Thus, it is next determined at block 718 whether the resulting position indicates that there are no further positions in which to display a further video window. If there are no further positions, the process ends at block 720 and the video window is not displayed. However, if there are further positions in which the video window may be displayed, the desired position is set to another position at block 722. For instance, the position may be arbitrarily selected among a set of possible positions or the television viewer may select another desired position. The process then continues at block 706 for the newly selected desired position.
- the hardware may support only specific scale factors. Therefore, it may be determined (e.g., at block 714) whether the resulting scale factor is equaled to the selected scale factor. These examples are merely illustrative, and other selections may similarly be verified by the values in the returned video component object.
- FIG. 8 illustrates a karaoke application of the present invention.
- a video window 802 is displayed. If a television viewer decides to watch a music channel in which a karaoke option is offered, it may be necessary to determine where the video window 802 is located in order to appropriately display the associated lyrics 804.
- FIG. 9 is a process flow diagram illustrating one method of determining parameters associated with an existing video window.
- the process begins at block 900 and at block 902, a video component object is obtained from a set of one or more video component objects.
- a video component object may be associated with each picture-in-picture window as well as any underlying image.
- multiple picture-in-picture windows may be supported by some systems.
- the query video window method shown above with reference to FIG. 4 is called at block 904.
- the query video window method returns an object specifying the parameters of the video window associated with the video component object.
- the position at which the video window is located is then obtained from this returned object at block 906.
- a graphics function may be performed at or around the video position as desired at block 908.
- the query video window method may be used to optimize the picture-in-picture functionality so that the picture-in-picture window is only displayed at a particular location if it does not already exist in that location.
- the query video window method may be used to determine whether a picture-in-picture window exists in a location in which a second picture-in-picture window is desired.
- the query video window method may be used to determine a region in a karaoke application in which lyrics may be displayed.
- FIG. 10 is a process flow diagram illustrating an exemplary method of displaying karaoke lyrics at block 908 of FIG. 9.
- the process begins at block 1000. It is determined at block 1002 whether the position at which the video window is located is the upper right quadrant of the screen. If the video window is displayed in the upper right quadrant of the screen, the karaoke lyrics are displayed on the left side of the screen at block 1004. However, if the position indicates that the video window is not located in the upper right quadrant of the screen, it is next determined whether the video window is located in the lower right quadrant of the screen at block 1006. If video window is not in the lower right quadrant, the video window must be located in the left side of the screen.
- FIG. 11 is a process flow diagram illustrating one method of optimizing the picture-in-picture functionality at block 908 of FIG. 9. 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.
- FIG. 12 is a process flow diagram illustrating one method of applying the querying function to display multiple picture-in-picture video windows at block 908 of FIG. 9. The process begins at block 1200 and at block 1202, it is determined whether the position of the existing video window indicates that the existing video window is located in the upper right quadrant of the screen.
- a new video window may be drawn in the upper right quadrant at block 1204.
- the new video window is displayed in the lower left quadrant at block 1214.
- one or more video windows e.g., picture-in- picture windows
- the above- described process presents a simplified method of displaying multiple picture-in- picture windows, the process is merely illustrative and other positions within a screen may be checked and compared with specified parameters (e.g., positions) associated with one or more additional video window requests.
- FIG. 13 is a diagram illustrating the use of multiple video component objects within a system supporting a single picture-in-picture window.
- a first video component may be associated with an underlying video window 1300 or image while a second video component object may be associated with a second video window (e.g., picture-in-picture window) 1302.
- a television viewer may wish to view a tennis game in which the center court is displayed as the underlying video window 1300 and the sub court is viewed as the picture-in-picture window 1302.
- statistics may be displayed in a further text window 1304.
- the system may further enable a user to substitute the underlying video window 1300 with the picture- in-picture window 1302. Therefore, the video components may be associated with different windows and parameters in response to this substitution.
- FIG. 14 is a diagram illustrating the use of multiple video component objects within a system that supports multiple picture-in-picture windows.
- a first video component 1400 may be associated with a first picture-in-picture window
- a television viewer may wish to view multiple picture-in-picture windows while watching a game such as a tennis match.
- the first video component 1400 may be used to display the center court
- the second video component 1402 may be used to display an audience cam
- the third video component 1404 may be used to display the sub court.
- a further text window 1406 may be used to display statistics such as the score.
- an underlying image 1408 may display the entire game from which the viewer has selected regions to display in the multiple picture-in-picture windows.
- the present invention provides methods and apparatus for implementing picture-in-picture functionality without requiring knowledge of the capabilities of the hardware providing the picture-in-picture functionality.
- An application programming interface enables a video window to be created as well as created.
- one or more video windows may be specified and displayed.
- a set of querying functions are disclosed to enable a
- FIG. 15 illustrates a typical, general-purpose computer system 1502 suitable for implementing the present invention.
- the computer system may take any suitable form.
- the computer system may be integrated with a digital television receiver or set top box.
- Computer system 1530 or, more specifically, CPUs 1532 may be arranged to support a virtual machine, as will be appreciated by those skilled in the art.
- the computer system 1502 includes any number of processors 1504 (also referred to as central processing units, or CPUs) that may be coupled to memory devices including primary storage device 1506 (typically a read only memory, or ROM) and primary storage device 1508 (typically a random access memory, or RAM).
- processors 1504 also referred to as central processing units, or CPUs
- ROM read only memory
- RAM random access memory
- Both the primary storage devices 1506, 1508 may include any suitable computer-readable media.
- the CPUs 1504 may generally include any number of processors.
- a secondary storage medium 1510 which is typically a mass memory device, may also be coupled bi-directionally to CPUs 1504 and provides additional data storage capacity.
- the mass memory device 1510 is a computer-readable medium that may be used to store programs including computer code, data, and the like.
- the mass memory device 1510 is a storage medium such as a hard disk which is generally slower than primary storage devices 1506, 1508.
- the CPUs 1504 may also be coupled to one or more input/output devices 1512 that may include, but are not limited to, devices such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computers.
- the CPUs 1504 optionally may be coupled to a computer or telecommunications network, e.g., an internet network or an intranet network, using a network connection as shown generally at 1514. With such a network connection, it is contemplated that the CPUs 1504 might receive information from the network, or might output information to the network in the course of performing the above- described method steps.
- Such information which is often represented as a sequence of instructions to be executed using the CPUs 1504, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.
- a computer data signal embodied in a carrier wave.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- User Interface Of Digital Computer (AREA)
- Studio Circuits (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020027000490A KR20020030784A (ko) | 1999-07-13 | 2000-07-13 | 위치와 배율인자를 규정하는 파라미터를 이용한 비디오윈도우의 생성 방법 및 장치 |
EP00947367A EP1192617A1 (fr) | 1999-07-13 | 2000-07-13 | Procedes et appareil permettant de creer une fenetre video au moyen de parametres definissant la position et l'echelle |
AU60992/00A AU6099200A (en) | 1999-07-13 | 2000-07-13 | Methods and apparatus for creating a video window with parameters defining position and scaling factor |
JP2001509017A JP4849756B2 (ja) | 1999-07-13 | 2000-07-13 | 位置とスケーリングファクタを決定するパラメータを伴うビデオウィンドウを生成する方法および装置 |
HK02107129.7A HK1045902A1 (zh) | 1999-07-13 | 2002-09-26 | 形成具有確定位置和換算系數的參數的視窗的方法和裝置 |
Applications Claiming Priority (4)
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 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2001004868A1 true WO2001004868A1 (fr) | 2001-01-18 |
Family
ID=26841021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/019232 WO2001004868A1 (fr) | 1999-07-13 | 2000-07-13 | Procedes et appareil permettant de creer une fenetre video au moyen de parametres definissant la position et l'echelle |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1192617A1 (fr) |
JP (1) | JP4849756B2 (fr) |
KR (1) | KR20020030784A (fr) |
AU (1) | AU6099200A (fr) |
HK (1) | HK1045902A1 (fr) |
WO (1) | WO2001004868A1 (fr) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030060599A (ko) * | 2002-01-10 | 2003-07-16 | 엘지전자 주식회사 | 데이터 스트림의 디스플레이 제어장치 및 방법 |
WO2007018383A1 (fr) * | 2005-08-05 | 2007-02-15 | Samsung Electronics Co., Ltd. | Dispositif pour la fourniture d'ecrans multiples et procede de configuration dynamique d'ecrans multiples |
WO2007018385A1 (fr) * | 2005-08-05 | 2007-02-15 | Samsung Electronics Co., Ltd. | Appareil produisant plusieurs ecrans et procede de configuration dynamique des multiples ecrans |
EP1777950A3 (fr) * | 2005-10-21 | 2007-06-13 | Samsung Electronics Co., Ltd. | Appareil d'affichage |
WO2007114669A1 (fr) * | 2006-04-06 | 2007-10-11 | Samsung Electronics Co., Ltd. | Appareil et procédé permettant d'identifier une application dans un environnement à écrans multiples |
WO2007114673A1 (fr) * | 2006-04-06 | 2007-10-11 | Samsung Electronics Co., Ltd. | Appareil permettant d'obtenir plusieurs écrans et procédé permettant de configurer de manière dynamique ces écrans |
US8095887B2 (en) | 2005-08-05 | 2012-01-10 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
CN104079869A (zh) * | 2013-03-29 | 2014-10-01 | 杭州海康威视数字技术股份有限公司 | 对多通道码流进行预览的方法及客户端 |
EP2712483A4 (fr) * | 2011-05-26 | 2015-08-12 | Lg Electronics Inc | Dispositif d'affichage et procédé permettant de commander à distance ce dispositif d'affichage |
WO2018005247A1 (fr) * | 2016-06-30 | 2018-01-04 | Microsoft Technology Licensing, Llc | Fenêtre de superposition compacte personnalisable |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
KR101181607B1 (ko) * | 2006-09-11 | 2012-09-10 | 엘지전자 주식회사 | 데이터 방송용 애플리케이션의 화면을 처리하는 방법 |
JP2009237454A (ja) * | 2008-03-28 | 2009-10-15 | Sony Corp | 画像処理装置、画像処理方法、およびプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283561A (en) * | 1989-02-24 | 1994-02-01 | International Business Machines Corporation | Color television window for a video display unit |
WO1994013107A1 (fr) * | 1992-12-09 | 1994-06-09 | Discovery Communications, Inc. | Terminal prive perfectionne pour systemes de diffusion de programmes de television par cable |
US5572232A (en) * | 1993-08-06 | 1996-11-05 | Intel Corporation | Method and apparatus for displaying an image using subsystem interrogation |
GB2310335A (en) * | 1996-02-13 | 1997-08-20 | Ibm | Video display system with picture-in-picture facility |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0575944A (ja) * | 1991-09-10 | 1993-03-26 | Sony Corp | テレビジヨン受像機 |
JPH06253232A (ja) * | 1993-03-01 | 1994-09-09 | Sharp Corp | テレビジョン受像機 |
JPH09163260A (ja) * | 1995-12-13 | 1997-06-20 | Sony Corp | テレビ受信機 |
JPH09214847A (ja) * | 1996-01-30 | 1997-08-15 | Sharp Corp | 映像信号処理装置 |
JP4281120B2 (ja) * | 1998-01-16 | 2009-06-17 | ソニー株式会社 | 編集装置および方法、並びに記録媒体 |
-
2000
- 2000-07-13 JP JP2001509017A patent/JP4849756B2/ja not_active Expired - Lifetime
- 2000-07-13 EP EP00947367A patent/EP1192617A1/fr not_active Withdrawn
- 2000-07-13 AU AU60992/00A patent/AU6099200A/en not_active Abandoned
- 2000-07-13 WO PCT/US2000/019232 patent/WO2001004868A1/fr active Application Filing
- 2000-07-13 KR KR1020027000490A patent/KR20020030784A/ko active IP Right Grant
-
2002
- 2002-09-26 HK HK02107129.7A patent/HK1045902A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283561A (en) * | 1989-02-24 | 1994-02-01 | International Business Machines Corporation | Color television window for a video display unit |
WO1994013107A1 (fr) * | 1992-12-09 | 1994-06-09 | Discovery Communications, Inc. | Terminal prive perfectionne pour systemes de diffusion de programmes de television par cable |
US5572232A (en) * | 1993-08-06 | 1996-11-05 | Intel Corporation | Method and apparatus for displaying an image using subsystem interrogation |
GB2310335A (en) * | 1996-02-13 | 1997-08-20 | Ibm | Video display system with picture-in-picture facility |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030060599A (ko) * | 2002-01-10 | 2003-07-16 | 엘지전자 주식회사 | 데이터 스트림의 디스플레이 제어장치 및 방법 |
WO2007018383A1 (fr) * | 2005-08-05 | 2007-02-15 | Samsung Electronics Co., Ltd. | Dispositif pour la fourniture d'ecrans multiples et procede de configuration dynamique d'ecrans multiples |
WO2007018385A1 (fr) * | 2005-08-05 | 2007-02-15 | Samsung Electronics Co., Ltd. | Appareil produisant plusieurs ecrans et procede de configuration dynamique des multiples ecrans |
US8095887B2 (en) | 2005-08-05 | 2012-01-10 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
US8174617B2 (en) | 2005-08-05 | 2012-05-08 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
EP1777950A3 (fr) * | 2005-10-21 | 2007-06-13 | Samsung Electronics Co., Ltd. | Appareil d'affichage |
WO2007114669A1 (fr) * | 2006-04-06 | 2007-10-11 | Samsung Electronics Co., Ltd. | Appareil et procédé permettant d'identifier une application dans un environnement à écrans multiples |
WO2007114673A1 (fr) * | 2006-04-06 | 2007-10-11 | Samsung Electronics Co., Ltd. | Appareil permettant d'obtenir plusieurs écrans et procédé permettant de configurer de manière dynamique ces écrans |
EP2712483A4 (fr) * | 2011-05-26 | 2015-08-12 | Lg Electronics Inc | Dispositif d'affichage et procédé permettant de commander à distance ce dispositif d'affichage |
CN104079869A (zh) * | 2013-03-29 | 2014-10-01 | 杭州海康威视数字技术股份有限公司 | 对多通道码流进行预览的方法及客户端 |
WO2018005247A1 (fr) * | 2016-06-30 | 2018-01-04 | Microsoft Technology Licensing, Llc | Fenêtre de superposition compacte personnalisable |
US11295706B2 (en) | 2016-06-30 | 2022-04-05 | Microsoft Technology Licensing, Llc | Customizable compact overlay window |
Also Published As
Publication number | Publication date |
---|---|
HK1045902A1 (zh) | 2002-12-13 |
JP2003504923A (ja) | 2003-02-04 |
EP1192617A1 (fr) | 2002-04-03 |
JP4849756B2 (ja) | 2012-01-11 |
AU6099200A (en) | 2001-01-30 |
KR20020030784A (ko) | 2002-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6762798B1 (en) | Methods and apparatus for providing video control for television applications | |
US6229524B1 (en) | User interface for interaction with video | |
JP4814465B2 (ja) | 放送ストリームで送信されるマルチキャストipデータを選択するための方法および装置 | |
JP4435768B2 (ja) | 娯楽システム用のチャンネルバー・ユーザインターフェース | |
JP3026512B2 (ja) | 高品質ディスプレイを備えるホームエンタテイメントシステム | |
JP4223099B2 (ja) | 放送ビデオと共に強化したコンテンツを提供する方法およびシステム | |
US8386954B2 (en) | Interactive media portal | |
JP2001024996A (ja) | コンテンツ受信システム及びコンテンツ受信方法 | |
JP2002506329A (ja) | 複数ユーザ用マルチメディア・ターミナル | |
EP1192617A1 (fr) | Procedes et appareil permettant de creer une fenetre video au moyen de parametres definissant la position et l'echelle | |
US20050076389A1 (en) | Apparatus for displaying program information for a video display appliance and method thereof | |
US7634779B2 (en) | Interpretation of DVD assembly language programs in Java TV-based interactive digital television environments | |
US20050149991A1 (en) | Method and apparatus for finding applications and relating icons loaded on a television | |
US6806913B2 (en) | Apparatus and method for processing additional information in data broadcast system | |
US6986155B1 (en) | Methods and apparatus for selecting multicast IP data transmitted in broadcast streams | |
US20060048181A1 (en) | Method and device for initializing cable card and channel list using reset menu on OSD screen | |
JP4549532B2 (ja) | レシーバ/デコーダおよびビデオデータの処理方法 | |
US8804041B2 (en) | Method of controlling resolution of digital data broadcasting receiver, apparatus therefor, and digital data broadcasting receiver using the same | |
WO2003085960A1 (fr) | Procede et appareil de presentation de graphiques sur un afficheur auxiliaire a l'aide de pilotes graphiques de bas niveau | |
CN113473175B (zh) | 一种内容显示方法及显示设备 | |
KR20170035309A (ko) | 전자 장치 및 이의 컨텐츠 제공 방법 | |
Hinze-Hoare | From Digital Television to Internet? | |
KR100715141B1 (ko) | 인터넷 텔레비젼에서 웹페이지를 채널로 할당하는 장치와그 방법 | |
JP2003304467A (ja) | ガイド機能付きデジタルテレビ受信装置 | |
KR20090002223A (ko) | 인터넷 텔레비전에서 채널의 자리수를 이용하여 웹페이지를채널로 할당하는 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2000947367 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020027000490 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2000947367 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020027000490 Country of ref document: KR |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |