EP1192617A1 - Methods and apparatus for creating a video window with parameters defining position and scaling factor - Google Patents
Methods and apparatus for creating a video window with parameters defining position and scaling factorInfo
- Publication number
- EP1192617A1 EP1192617A1 EP00947367A EP00947367A EP1192617A1 EP 1192617 A1 EP1192617 A1 EP 1192617A1 EP 00947367 A EP00947367 A EP 00947367A EP 00947367 A EP00947367 A EP 00947367A EP 1192617 A1 EP1192617 A1 EP 1192617A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- source region
- recited
- picture
- destination position
- source
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Studio Circuits (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
Description
Claims
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14342899P | 1999-07-13 | 1999-07-13 | |
| US143428P | 1999-07-13 | ||
| US17453500P | 2000-01-05 | 2000-01-05 | |
| US174535P | 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 (1)
| Publication Number | Publication Date |
|---|---|
| EP1192617A1 true EP1192617A1 (en) | 2002-04-03 |
Family
ID=26841021
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP00947367A Withdrawn EP1192617A1 (en) | 1999-07-13 | 2000-07-13 | Methods and apparatus for creating a video window with parameters defining position and scaling factor |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1192617A1 (en) |
| JP (1) | JP4849756B2 (en) |
| KR (1) | KR20020030784A (en) |
| AU (1) | AU6099200A (en) |
| HK (1) | HK1045902A1 (en) |
| WO (1) | WO2001004868A1 (en) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030060599A (en) * | 2002-01-10 | 2003-07-16 | 엘지전자 주식회사 | Apparatus and method for controlling display of data stream |
| US7647610B2 (en) * | 2003-08-19 | 2010-01-12 | Lg Electronics Inc. | Interfacing system between digital TV and plurality of remote controllers, method thereof, remote controller thereof, and remote controller signal transmitting method thereof |
| CA2616257A1 (en) * | 2005-08-05 | 2007-02-15 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
| US20070035560A1 (en) | 2005-08-05 | 2007-02-15 | Samsung Electronics Co., Ltd. | Apparatus for providing multiple screens and method of dynamically configuring multiple screens |
| MX2008001419A (en) * | 2005-08-05 | 2008-04-16 | 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 device and control method of display device |
| WO2007114669A1 (en) * | 2006-04-06 | 2007-10-11 | Samsung Electronics Co., Ltd. | Apparatus and method for identifying an application in the multiple screens environment |
| 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 |
| 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 |
Family Cites Families (9)
| 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 |
| JPH0575944A (en) * | 1991-09-10 | 1993-03-26 | Sony Corp | Television receiver |
| CA2271555C (en) * | 1992-12-09 | 2003-11-11 | Discovery Communications, Inc. | Remote control for cable television delivery system |
| JPH06253232A (en) * | 1993-03-01 | 1994-09-09 | Sharp Corp | Television receiver |
| US5572232A (en) * | 1993-08-06 | 1996-11-05 | Intel Corporation | Method and apparatus for displaying an image using subsystem interrogation |
| JPH09163260A (en) * | 1995-12-13 | 1997-06-20 | Sony Corp | TV receiver |
| JPH09214847A (en) * | 1996-01-30 | 1997-08-15 | Sharp Corp | Video signal processing device |
| CA2191632A1 (en) * | 1996-02-13 | 1997-08-14 | James Lee Combs | Video processor for processing two analog composite video signals |
| JP4281120B2 (en) * | 1998-01-16 | 2009-06-17 | ソニー株式会社 | Editing apparatus and method, and recording medium |
-
2000
- 2000-07-13 EP EP00947367A patent/EP1192617A1/en not_active Withdrawn
- 2000-07-13 AU AU60992/00A patent/AU6099200A/en not_active Abandoned
- 2000-07-13 HK HK02107129.7A patent/HK1045902A1/en unknown
- 2000-07-13 JP JP2001509017A patent/JP4849756B2/en not_active Expired - Lifetime
- 2000-07-13 KR KR1020027000490A patent/KR20020030784A/en not_active Abandoned
- 2000-07-13 WO PCT/US2000/019232 patent/WO2001004868A1/en not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| See references of WO0104868A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003504923A (en) | 2003-02-04 |
| KR20020030784A (en) | 2002-04-25 |
| AU6099200A (en) | 2001-01-30 |
| HK1045902A1 (en) | 2002-12-13 |
| WO2001004868A1 (en) | 2001-01-18 |
| JP4849756B2 (en) | 2012-01-11 |
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 | |
| JP4435768B2 (en) | Channel bar user interface for entertainment system | |
| JP4223099B2 (en) | Method and system for providing enhanced content with broadcast video | |
| CN1264354C (en) | Method and apparatus for selecting multicast IP data transmitted in broadcast streams | |
| US8386954B2 (en) | Interactive media portal | |
| JP2001024996A (en) | Content receiving system and content receiving method | |
| JP2002506329A (en) | Multi-media terminal for multiple users | |
| EP1192617A1 (en) | Methods and apparatus for creating a video window with parameters defining position and scaling factor | |
| 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 | |
| CN1604630A (en) | Apparatus and method for displaying program information of video display | |
| US6806913B2 (en) | Apparatus and method for processing additional information in data broadcast system | |
| EP1491036A1 (en) | Method and apparatus for displaying graphics on an auxiliary display device using low level graphics drivers | |
| JP4549532B2 (en) | Receiver / decoder and video data processing method | |
| US8804041B2 (en) | Method of controlling resolution of digital data broadcasting receiver, apparatus therefor, and digital data broadcasting receiver using the same | |
| US7661122B2 (en) | Method and device for initializing cable card and channel list using reset menu on OSD screen | |
| KR20020035561A (en) | Apparatus for and method of testing applications | |
| JP2002351441A (en) | Electronic device having video output function, program and recording medium | |
| CN113473175B (en) | Content display method and display equipment | |
| Hinze-Hoare | From Digital Television to Internet? | |
| KR100715141B1 (en) | Apparatus and method for allocating web pages to channels on Internet television | |
| KR20090002223A (en) | Apparatus and method for allocating a web page to a channel using the number of digits in the internet television |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20020103 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
| AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: MESSER, KEITH, L. Inventor name: YE, TAO Inventor name: RIVAS, JESUS, DAVID Inventor name: VAN LOO, JAMES, C/O SUN MICROSYSTEMS INC. |
|
| RBV | Designated contracting states (corrected) |
Designated state(s): DE DK FR GB NL SE |
|
| 17Q | First examination report despatched |
Effective date: 20050512 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20080201 |
|
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1045902 Country of ref document: HK |