The present invention relates generally to TV-centric home entertainments systems.
Leading edge digital televisions (DTVs) typically include one or more digital devices that are connected together to create the TV electronics. These various devices may include CPUs, tuners, demodulators, USB ports, storage devices, transcoders, scalers, deinterlacers, and so on. Each device usually includes its own software control program referred to as a device driver. The DTV's main CPU must communicate with the devices through their device drivers. The software control program that comprises the device driver is executed on the CPU of the DTV, and ordinarily is included in the main program store on the DTV.
As understood herein, as DTV technology advances, functions that previously only existed in chips external to the TV's main CPU chip are newly incorporated within next generation chips. This creates a challenge in maintaining a consistent software interface to the hardware that implements the desired function. In addition, while TVs have not generally been upgradeable devices, some new TV technology functions may be seen as too expensive or too speculative to include in all DTVs, and hence are added only as aftermarket modules. Such modules may include pre-recorded disk drives (such as DVD or Blu-ray), hard disk storage, TCP/IP networking, and tuning of new services (such as cable or satellite TV). Providing a consistent development interface to DTV engineers as well as a consistent user interface for the consumer on the DTV are challenges in this environment. This includes providing ways for the DTV to access functions that a new module provides, as well as providing a way for an added module to access functions that the DTV provides.
The present invention is directed at these problems.
A system has a TV including a TV processor and a display. The system also has a data storage device that is separate from the TV and that communicates with the TV processor. The data storage device includes an associated software driver stored in the TV. With this combination of structure a requesting component can use a storage service provided by the storage device by means of the software driver in the TV.
The data storage device may be a bare DVD player without an internal device driver, or a hard disk drive or flash memory card, or other component or device. For example, the data storage device may be a TV tuner and/or demodulator with storage capability, a video or still camera with storage capability, a network connection to storage, an audio player, a wireless telephone, a camcorder, a personal video recorder (PVR), or a video cassette recorder (VCR).
The data storage device can be abstracted in the system as a service, and a requesting component can communicate with the TV to request the service to transfer data with the data storage device. In some embodiments the requesting component can communicate with the data storage device only through the TV processor.
In another aspect, a method is disclosed for abstracting a TV hardware component to a service class to facilitate providing services through a TV. For at least one TV hardware component separate from a TV and configured to communicate therewith, a respective service class is defined. For the service class, a message interface and a hook for accessing a data structure in the component are defined. Then, the service class is provided to the TV such that the TV can provide services associated with the component to devices communicating with the TV and separate therefrom.
In yet another aspect, a method for providing services through a TV includes registering a first device associated with a service with the TV, registering a second device with the TV, and then allowing the second device to request from the TV the service, with the TV accessing the first device as required to provide the service and with the first and second devices being external to the TV.
The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which:
Referring initially to
The non-limiting embodiment shown in
In one embodiment, the TV processor 18 may communicate with a DVD player 26. The DVD player 26 may be a “bare” DVD player that has only an optical disk drive proper but not a high level software driver. Also, the processor 18 may communicate with a mass storage 28, which may be implemented by a PVR. Information including multimedia streams such as TV programs and movies can be exchanged between the TV processor 18 and the DVD player 26 and storage 28. Other non-limiting storage devices include a TV tuner and/or demodulator with storage capability, a video or still camera with storage capability, a network connection to storage, an audio player, a wireless telephone, a camcorder, a personal video recorder (PVR), or a video cassette recorder (VCR).
As set forth further below, the TV processor 18 may also communicate with one or more other components 30 for providing the other components 30 with services implemented using the DVD player 26 and/or mass storage 28 in accordance with logic below. In general, the components 26/28/30 may use each others' services by means of the TV.
Accordingly and now turning to
As part of this abstraction, at block 34 for each service class the logic may move to block 36 to define message interfaces with the particular service class. Moreover, at block 38 hooks to access data structures in the service class, e.g., file system hooks, may be defined. Also, at block 40 the data structures of the service class and their data types, e.g., file data, may be defined. Block 42 indicates that hooks may be defined for the particular service class to, e.g., open communications such as interaction with the service.
The TV processor 18 then determines whether necessary software (such as device drivers) to exploit the service represented by a newly registered module is available to the processor 18, preferably by being stored in electronic storage such as flash memory, RAM, ROM, disk storage, and so on within the TV housing 12. Alternatively, the necessary software may be provided by or located within the newly registered module itself. Alternatively, the TV processor 18 may elect to store necessary software using a storage service such as that provided by the mass storage 28. In any case, if the software necessary to exploit a service of a newly registered module is not available, the TV processor 18 can automatically download it from, e.g., the Internet at block 46, without user interaction if desired. The TV can also periodically check for software updates, so that upgrades can be made to the devices 26, 28, 30 simply by providing upgraded software to the TV without requiring hardware replacement.
Also, if desired, at block 48 the TV processor 18 may inform other modules with which it communicates of the added presence of a new service. For example, if the DVD player 26 is already registered when the mass storage device 28 is connected to the TV, the TV processor 18, after ensuring that the TV possesses the necessary software to exploit the mass storage service provided by the storage device 28, can inform the DVD player 26 of the newly available mass storage service provided by the mass storage device 28. Then, at block 50 the DVD player 26 can avail itself of the mass storage service provided by the mass storage device 28 by requesting the service from the TV. In essence, the TV processor 18 acts as broker between the player 26 and device 28, i.e., the TV processor 18 may be accessed by a first component as a proxy for the service provided by a second component. In the hypothetical wherein the DVD player 26 requests from the TV processor 18 the service provided by the mass storage device 28, the TV processor 18 accesses the mass storage device 28 as required to provide the requested service to the DVD player 26.
While the particular TV-CENTRIC SYSTEM is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims.