1. Field of the Invention
The present invention relates to Digital TV and was developed in the context of the Digital TV Application Software Environment (DASE), also known as ATSC/S17. It presents a new method and apparatus for decoupling the TV display presentation from real-time broadcasted audio, video, and data, both streaming (i.e., live) and non-streaming (i.e., recorded) signals.
2. Background
Displaying a Digital TV broadcast requires assembly and fusion of data from numerous sources. In particular, using prior art techniques, each combination of streaming and non-streaming video, audio, and data requires creating and adapting scenario specific code. For example, to synchronize the display of streaming (i.e. live) video with streaming data, such as is commonly found in financial news broadcasts as analysts' interviews are presented simultaneously with stock ticker symbols, software code must be developed that anticipates such a combination.
Synchronization of the above combination is significantly different than with other combinations, such as synchronizing the display of non-streaming (i.e. recorded) video with streaming data. In this instance, an entirely separate data structure must be created containing software code that enables the simultaneous viewing of such information. An example of where non-streaming video is simultaneously broadcast with streaming data might arise where a live auction channel presents a popular annual auction event, in which multiple articles are presented for sale. The broadcast contains a streaming data portion that presents the up-to-date prices of numerous articles being auctioned, with a delay of at most three seconds. In addition, the broadcast provides numerous non-streaming video portions that might provide views of an article from different angles, that might show the article in action, or that might provide close-up views of the article to enable the viewer to see special identifiable markers or features that enhance the value of the article. In addition, the broadcast could provide a live streaming video portion, broadcasted from the auction site, featuring expert interpretations and opinions.
In the above scenario, technical difficulties arise when the viewer wishes to, or possibly out of necessity, pause the broadcast and later replay one of the portions, such as a streaming or non-streaming video portion, while at the same time maintaining up-to-date display of the streaming pricing data. In prior art devices, to pause a broadcast, or streaming video portion, for later viewing requires storage of the streaming video. This has been accomplished using, for example, a cyclical buffer, wherein a user may subsequently retrieve the stored streaming or non-streaming data for purposes of replay. While the user is retrieving the stored data, at the same time, the live data stream must be continuously displayed without passing through a temporary storage cyclical buffer in order to maintain the display of the up-to-date streaming data information. Upon switching to a different article, both video and data stream displays must be switched and updated, while maintaining synchronization.
Another issue arises in the technical difficulty involved in providing the full script processing functionality required to support interactive Digital TV. As is common in web-browsers, a client-side script can be embedded within a web-page. This script has access to, and may sometime modify, the content of the viewable web-page to allow for such things as the change of the layout, or to draw boxes around focused links, etc. This significantly enriches the functionality of a page, as it renders the page interactive. By doing so, graphic menus, tooltips, automatic form filling, form input verification, etc., are enabled.
ECMAScript is the Digital TV parallel of web-page scripts. The problem is, however, the difficulty in synchronizing the access by the ECMA Script to, and subsequent display of, complex streaming and non-streaming broadcast information, such as illustrated in the above live-auction example.
Moreover, known prior art devices and systems address video storage issues, which enable providing pause-and-reply functionality. For example, U.S. Pat. No. 6,118,931 discloses a video storage method that allows for the physical locations of the disks within the array to be changed while maintaining correct alignment of the stripes making up each image frame.
U.S. Pat. No. Re 36,801 discloses a broadcast recording and playback device employing a “circular buffer” which constantly records one or more incoming audio or video program signals and a microprocessor for accessing the memory to read a playback signal from the circular buffer to display programming material delayed from its receipt by a selectable delay interval. The audio/video buffer system operates under the control of a microprocessor, which accepts commands from a remote command device or a connected host computer.
Typical prior art use of a proxy system addresses the encapsulation of data routing services. For example, U.S. Pat. No. 6,101,549 discloses a typical prior art use of proxy as a method of communicating messages across a network. A router receives an RSVP (Resource Reservation Protocol) PATH message from a sending host that is directed to a receiving host. Upon identifying the protocol of the incoming PATH message as RSVP, the router accesses a proxy look-up table to identify a proxy host acting on behalf of the receiving host. The proxy host receives the PATH message and, in response, sends a resource reservation request (RESV) message onto the network with a proxy header and directed to the predetermined port.
Known prior art that addresses quality-of-service issues focuses on workload balancing. For example, U.S. Pat. No. 6,119,174 discloses a workload distribution method that determines whether a data storage system satisfies a quality-of-service guarantee desired by a client. The quality-of-service guarantee may be a predetermined percentage of a workload being serviced by a device within a predetermined response time.
While the prior art technology does provide many advantages, it is not without several inherent disadvantages. This is particularly true in the context of providing synchronized display of streaming and non-streaming broadcast information in an efficient and streamlined manner such that the display of such broadcast information is fully utilized. Accordingly, what is needed is a system and method for assembling all of the available content information within a network environment such that any content information may be simultaneously displayed with any other content information. Specifically, what is needed is a system and method whereby fusion of data is achieved such that, upon fusion, all information components and particularly the information contained therein, may be encapsulated and stored in a common database for subsequent retrieval. Without the existence of such a database, the assembly of information cannot be streamlined and encapsulated.
The present invention extends the prior art decoupling performed by web-browsers and enables such decoupling within Digital TV browsers, such as a digital broadcast rendering device or set-top-box.
The present invention describes and claims a new system and technique or method for decoupling the interpretation of broadcast content information from the display of this information. The information may exist in any of the available types, such as audio, video, or data. In addition, the information may be received in any form, such as streaming or non-streaming, combinations of the two, or even parts thereof. The technique of decoupling alone, and without regard to whether the decoupled components (e.g., storage) constitute prior-art or not, provides the following benefits:
1. It provides an up-to-date reference database common to all subsystems that need access to the broadcast, such as Electronic Program Guides, broadcast browsers, etc;
2. It encapsulates resource allocation and utilization know-how, which is required to retrieve the broadcasted information from the database;
3. It encapsulates the know-how required to achieve synchronization between various components, such as video and data components, etc.;
4. It encapsulates the know-how of simultaneously accessing streaming and non-streaming broadcast information, and presents a single unified access interface; and
5. It eliminates the need to develop separate distinct combination-specific methods, algorithms, and code for the processing and display of different combinations of streaming and non-streaming video, audio, and data, encoded in various file formats.
The present invention does not advance the prior art by the introduction of a new storage technology, nor does the present invention advance the prior art by the introduction of a new data (e.g., message) routing technology. Moreover, the content-proxy of the present invention, may or may not use the technology described in U.S. Pat. Nos. 6,118,931, Re 36,801, 6,101,549, 6,119,174 as components.
The present invention advances the prior art and achieves the decoupling of broadcast content information by the introduction of a content proxy as a single reference data structure. The content proxy employs a hierarchical Document Object Model (DOM) that contains Program and System Information Protocol (“PSIP”) data, that has been converted to an eXtendible Markup Language format using a conversion algorithm, broadcast content data, as well as content data or information about all of the hardware, software, and appliances connected within the networked environment.
The present invention's content proxy provides significant advantages over prior art devices in several ways. By way of example, and not intending to be limiting in any way, the advantages of the present invention will be realized in:
1. Scenarios that require temporary or permanent storage of content (e.g. pause and play options), smoothing broadcast interruptions, recording of selected programs, etc.
2. Scenarios that require synchronization of streaming or non-streaming data in the form of an information-service with streaming or non-streaming video, e.g., financial news broadcast, or the above live-auction scenario that requires real-time tracking of bids, or the real-time display of the results of an Olympic competition in progress combined with video replay of critical competition turning points.
3. Scenarios of content-mass-customization that requires filtering the content through user-defined preference filters, e.g., to select one advertisement out of numerous candidate advertisements.
4. Scenarios that require display of information gathered from multiple channels an multiple components connected within the network (e.g., assembly of an OmniMenu or using multiple tuners, which may or may not be part of the set-top-box, or other network component.
Therefore, it is an object of the preferred embodiment of the present invention to provide a content proxy wherein all content information within the network environment is contained.
Another object of the preferred embodiment of the present invention is to provide a single reference data structure.
A further object of the preferred embodiment of the present invention is to provide a system wherein all content information is decoupled and encapsulated into a single reference data structure.
Still a further object of the preferred embodiment of the present invention is to provide synchronization of the display of streaming and non-streaming broadcasted audio, video, and data content information.
Still another object of the preferred embodiment of the present invention is to provide a system wherein all broadcast content information and content information from networked appliances introduced within the networked environment is accessed through the content proxy.
To achieve the foregoing objects, and in accordance with the invention as embodied and broadly described herein, the present invention features a content proxy assembly for decoupling and encapsulating data, wherein the data may be stored in a single reference data structure. The single reference data structure is capable of receiving and storing communicated content information that is processed by the central processing unit such that the content proxy assembly decouples and encapsulates the content information within the single reference data structure. The storage and encapsulation procedures are described in greater detail below. To access and retrieve the information, an application program interface provides a single unified access interface to the stored and encapsulated information by which all stored information may be retrieved and routed within the network system. In a preferred embodiment, the content proxy is implemented within a Digital TV Application Software Environment framework.
The present invention further features a system for decoupling the interpretation of real-time broadcast information from the presentation of said broadcast information within a Digital TV Application Software Environment framework. This system begins with the receipt of a transport stream comprising a plurality of Digital TV Application Software Environment broadcast streams. These streams each contain software components and content information in the form of Digital Storage Media Command and Control data. This data is received into a Digital TV Application Software Environment rendering device, wherein the software components are executed and wherein the Digital Storage Media Command and Control data is collected. Upon collection of this data, it is stored in a Program and System Information Protocol data structure. Other sources of content information are also received into the system. For example, several information components may be coupled to the Digital TV Application Software Environment rendering device, each of which contain respective content information. Upon the receipt of available content information, the information is parsed using a parsing module.
Upon its parsing, the content information received is stored in a content proxy assembly embedded within the Digital TV Application Software Environment rendering device. In a preferred embodiment, the content proxy is assembled in the form of a DOM Level 2 data structure. The content proxy is capable of providing synchronized loading, decoding, and presentation of the content information, wherein the content proxy controls all content communication. The content proxy also controls the parsing module. The purpose of the content proxy of the present invention is to provide a single reference data structure created from and based upon the parsed content information and to store such information within a memory module. Using a microprocessor, this information is then decoupled and encapsulated by the content proxy. The resulting content information may be retrieved and manipulated as needed or desired based upon the uniformity within the content proxy. To extract the information, an Application Program Interface is called upon, which provides access to the single reference data structure. As such, a user may display various types of information and/or events in a synchronized manner within the Digital TV Application Software Environment network due to the direct link, through mapping, that a graphical user interface component and the Digital TV Application Software Environment rendering device have to the content proxy and the single reference data structure containing all available content information.
In order that the manner in which the above-recited and other advantages and objects of the present invention are obtained, a more particular description of the present invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the accompanying drawings. As such, the present invention will become more fully apparent from the following detailed description of the preferred embodiments, the appended claims, and the accompanying drawings. Understanding that these drawings depict only typical embodiments of the invention and are, therefore, not to be considered limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Reference will now be made in detail to the embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications, and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, and components have not been described in detail as not to unnecessarily obscure aspects of the present invention. As such, the following more detailed description of the embodiments of the system and method of the present invention, and represented in
The presently preferred embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout.
The present invention describes a method and system for decoupling the TV display presentation from real-time broadcasted audio, video, and data signals, both streaming and non-streaming. Specifically, the present invention features a content proxy assembly for decoupling and encapsulating data within a DASE framework. The content proxy comprises: a) a central processing unit; b) a memory module contained within the content proxy assembly and electrically coupled to the central processing unit; c) a single reference data structure contained and stored on the memory module, wherein the single reference data structure is capable of receiving and storing communicated content information, the content information processed by the central processing unit such that the content proxy assembly decouples and encapsulates the content information within the single reference data structure; d) an application program interface for providing a single unified access interface to the encapsulated information, wherein all of the content information is accessed through the application program interface; and e) a routing module for subsequent synchronized routing of the encapsulated content information. The content proxy exists as part of a Hardware Abstraction Layer. In a preferred embodiment, the content proxy is implemented within a Digital TV Application Software Environment framework.
The present invention further features a system for decoupling the interpretation of real-time broadcast information from the presentation of the broadcast information within a Digital TV Application Software Environment framework. The system comprises: (a) a transmitter for transmitting a transport stream comprising a plurality of Digital TV Application Software Environment broadcast streams containing Digital TV Application Software Environment software components and content information in the form of Digital Storage Media Command and Control data; (b) a Digital TV Application Software Environment rendering device capable of receiving the Digital TV Application Software Environment broadcast streams and executing said Digital TV Application Software Environment software components, the Digital TV Application Software Environment rendering device also capable of collecting the Digital Storage Media Command and Control data; (c) a Program and System Information Protocol data structure wherein the content information in the form of Digital Storage Media Command and Control data collected by the Digital TV Application Software Environment rendering device is stored; (d) a microprocessor electrically coupled to the Digital TV Application Software Environment rendering device for processing the content information; (e) a memory module contained within the Digital TV Application Software Environment rendering device and electrically coupled to the microprocessor; (f) a plurality of information components coupled to the Digital TV Application Software Environment rendering device, each of the information components containing respective content information; (g) a parsing module capable of parsing the content information stored in the Program and System Information Protocol data structure; (h) a content proxy assembly existing within a Hardware Abstraction Layer and embedded within the Digital TV Application Software Environment rendering device capable of providing synchronized loading, decoding, and presentation of the content information, wherein the content proxy controls all content communication as well as the parsing module, the content proxy itself comprising: (a) a single reference data structure, stored on the memory module, created from and based upon the parsed content information, wherein the content information is processed by the microprocessor such that the content proxy assembly decouples and encapsulates the content information within the single reference data structure; and (b) a content proxy application program interface capable of providing access to the single reference data structure. The system further comprises: (i) a data manipulating device for generating user input to the Digital TV Application Software Environment framework; and (j) a visual display unit display, wherein the content information, accessed via the content proxy, may be displayed in a synchronized manner. The Digital TV Application Software Environment rendering device processes the content information contained within the single reference data structure to produce at least one layout and graphical user interface component used to make up the visible television display. The Digital TV Application Software Environment rendering device and the graphical user interface components directly link to the single reference data structure, wherein the graphical user interface component is mapped to the content information contained within the single reference data structure.
The proxy concept is applicable to the design and implementation of a Digital TV broadcast rendering device, such as a Set Top Box (“STB”). In the preferred embodiment, the Digital TV rendering device is a DASE STB. The present invention causes the STB to encapsulate the assembly of information from various sources in support of the synchronized loading and decoding of numerous combinations of streaming and non-streaming audio, video, and data, presented in various formats and in numerous combinations. Such loading and decoding often requires specific technological know-how that is not easily accessible. Often, this know-how is obtainable only through various licensing agreements, which provide the proper technology needed. These agreements may be numerous as they represent multiple devices and content information resources. Consequently, there is a need to encapsulate the required technical and business complexity in a single plug-and-play component that is easily integrated and requires a single simple licensing agreement.
The present invention utilizes a content proxy containing a Document Object Model (“DOM”) data structure. A DOM data structure is an application program interface for valid HTML and well-formed XML documents. It defines the logical structures of documents and the way a document is accessed and manipulated. With a DOM data structure, documents and content can be added, modified, or deleted as needed. In addition, documents, and their structure, become easily navigable. The attractiveness of a DOM data structure comes in its ability to provide a standard programming interface that can be used in a wide variety of environments and applications. In essence, the DOM data structure is designed to be used with any programming language.
The DOM is a programming application program interface that is based upon a object structure that closely resembles the structure of the information it models. In a DOM data structure, the information has a logical structure which is very much like a tree, or several trees.
Turning now to
Content proxy 30 contains content information that originates in PSIP tables (see
Turning to
According to the present invention, the following constraints are applicable: 1) all DASE implementation classes that access content must do so solely through the content proxy API, or the level two DOM API; 2) no module in the DASE implementation layer should access content directly or indirectly through any module other than the content proxy; 3) no module in the DASE implementation layer should provide reference to content that was obtained by means other than a function call to the content proxy. In this way, the content proxy serves to encapsulate all available content information of all appliances and broadcast streams that are to be introduced and/or networked within the Digital TV environment.
Prior art does not allow Declarative Applications (i.e. XDML web pages) to have access to DASE services. The present invention overcomes this difficulty by providing a DOM infrastructure, as well as an API, that enables ECMA Script access to these services. This enables access to Digital TV broadcast content by means of a standard API in a fashion fully compatible with prior art technology. Since the content proxy encapsulates the synchronization, the content retrieved is fully synchronized. As a result, the ECMA Script to complex streaming and non-streaming broadcast information is enabled. In addition, the subsequent display of the complex streaming and non-streaming broadcast information is also enabled, such as illustrated in the above live auction example.
Alternatively, the present invention can be used to provide pause and replay capabilities for streaming video portions by means of a DOM implementation of a cyclical buffer. The display of the replay video is performed after extracting it from the content proxy by means of an API, such as a level two DOM API, as described above. Upon switching to a different channel, different video and data service are extracted from the content proxy without regard to their type.
The present invention can also be used to serve home appliances, such as a Digital TV web proxy server, for purposes of catching web content, including video streaming, which is typically very slow if not drawn from a cache. It can also be embodied within non-TV appliances, such as car navigational systems, refrigerators, audio systems, home security systems, HVAC systems, toys, etc.
Other embodiments include various video conferencing systems, as well as security systems, both closed and open loop systems where the content proxy is used to encapsulate a cyclical digital storage of video for purposes of ad-hoc replay of selected content from selected cameras. Other possibilities include embedding a content proxy and content proxy interface within devices that provide video-over-IP capabilities.
Finally, note that it is possible to implement the content proxy data structure and the content proxy interface my means different from level two DOM and level two DOM API respectively.
The present invention also features a method for providing synchronized presentation of streaming and non-streaming data, wherein the method comprises the steps of: (a) obtaining content information from a broadcast stream having a broadcast life cycle, with the content information comprising streaming and non-streaming data; (b) implementing a content proxy within the broadcast life cycle, the content proxy comprising a single reference data structure capable of storing, encapsulating and synchronizing the presentation of the streaming and non-streaming data; (c) accessing the content information stored withing the content proxy through a content proxy application interface; and (d) presenting the content information to a graphical user interface.
The present invention further features a computer readable medium containing a single reference data structure for decoupling the interpretation of real-time broadcast information from the presentation of the broadcast information, the real-time broadcast information comprising streaming and non-streaming data, wherein the broadcast information is converted and stored on a content proxy containing the single reference data structure, the single reference data structure encapsulating and allowing synchronized presentation of the broadcast information to a graphical user interface.
The present invention still further features a method in a computer system for displaying synchronized real-time broadcast information. The method comprising the steps of: (a) storing content information received from a broadcast stream in a content proxy, the content proxy comprising a single reference data structure, and the content information comprising streaming and non-streaming data and being decoupled from the broadcast stream and encapsulated within the content proxy; (b) accessing the content proxy through an application interface; (c) creating a graphical user interface based on the content information; (d) displaying the streaming data on the graphical user interface, the streaming data being processed by the content proxy and accessed through the application program interface; and (e) displaying the non-streaming data with the streaming data in a synchronized manner, the non-streaming data being processed by the content proxy and accessed through the application interface via the application program interface.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims, rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Number | Name | Date | Kind |
---|---|---|---|
6065058 | Hailpern et al. | May 2000 | A |
RE36801 | Logan et al. | Aug 2000 | E |
6101549 | Baugher et al. | Aug 2000 | A |
6118931 | Bopardikar | Sep 2000 | A |
6119167 | Boyle et al. | Sep 2000 | A |
6119174 | Borowsky et al. | Sep 2000 | A |
20010014210 | Kang | Aug 2001 | A1 |
Number | Date | Country | |
---|---|---|---|
20020120790 A1 | Aug 2002 | US |