# Patent

## Title
Determining device that performs processing of output pictures

## Abstract

A system and method for determining the characteristics of a device coupled to a client device are disclosed. A method, according to one embodiment, includes driving a display device with a first video output signal formatted according to a first video interface specification; responsive to driving the display device, soliciting user input based on information included in the first video output signal; determining a characteristic of the display device based on the user input; and driving the display device according to the determined characteristic.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application is a divisional of U.S. patent application having Ser. No. 10/761,777, filed on Jan. 21, 2004, which is incorporated by reference herein in its entirety.


TECHNICAL FIELD
This disclosure relates in general to the field of television systems, and more particularly, to the field of interactive television.
BACKGROUND OF THE DISCLOSURE
With recent advances in digital transmission technology, subscriber television systems are now capable of providing much more than the traditional analog broadcast video. In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the set-top box, has become an important computing device for accessing content services (and content within those services) and navigating a user through a maze of available services. In addition to supporting traditional analog broadcast video functionality, digital HCTs (or “DHCTs”) now also support an increasing number of two-way digital services such as video-on-demand and personal video recording.
Typically, a DHCT is connected to a cable or satellite, or generally, a subscriber television system, and includes hardware and software necessary to provide the functionality of the digital television system at the user's site. Some of the software executed by a DHCT can be downloaded and/or updated via the subscriber television system. Each DHCT also typically includes a processor, input/output capabilities, communication components, and memory, and is connected to a television set or other display device, such as a personal computer. While many conventional DHCTs are stand-alone devices that are externally connected to a television, a DHCT and/or its functionality may be integrated into a television or personal computer or even an audio device such as a programmable radio, as will be appreciated by those of ordinary skill in the art.
Technological advances now permit generation and transmission of a variety of higher resolution pictures and video formats. Coincident with the advancing technology of transmission equipment is the technological improvements of the DHCTs and the television set to receive and display a plurality of video formats. There are a wide range of television sets available today, including the conventional cathode ray tube (CRT) styles, overhead projection, rear projection, liquid crystal display based technology, and plasma television sets that can be mounted on a wall. These variations in television sets often lead to a wide variety of characteristics that affect processing of a television picture for display. A sourced television or video signal is typically processed for display by considering its characteristics, as well as the TV set's characteristics such as the size of the screen, the aspect ratio of the display, and whether the display implements an interlaced or progressive scan format, among other characteristics. Due to the increasing complexity and variation of DHCTs and television sets (and thus a multitude of characteristics to consider in processing a video signal), connecting a television set to, or otherwise communicating with, a DHCT and achieving a viewable picture and a desired display quality is often a challenge to even the most technologically adept. Thus a need exists in the industry to address the aforementioned and/or other deficiencies and/or inadequacies.



BRIEF DESCRIPTION OF THE DRAWINGS
The disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
FIG. 1 is a block diagram depicting an example subscriber television system (STS), in accordance with one embodiment of the disclosure.
FIG. 2 is a block diagram depicting an example headend shown in the STS of FIG. 1, in accordance with one embodiment of the disclosure.
FIG. 3A is a block diagram depicting an example digital home communication terminal (DHCT) shown in the STS of FIG. 1, which is coupled to the example headend of FIG. 2 and a television, in accordance with one embodiment of the disclosure.
FIG. 3B is a schematic diagram of the example remote control device shown in FIG. 3A, in accordance with one embodiment of the disclosure.
FIG. 4 is a flow diagram depicting an example method for determining display device characteristics, in accordance with one embodiment of the disclosure.
FIGS. 5-7 are block diagrams of the example DHCT and the television set shown in FIG. 3A with a display screen that solicits user feedback based on a plurality of output formats from the DHCT to the TV set, in accordance with one embodiment of the disclosure.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The preferred embodiments of the disclosure now will be described more fully hereinafter with reference to the accompanying drawings. The preferred embodiments of the disclosure include systems and methods that provide an interactive session with a user to determine the characteristics of a television set or other display device coupled to a digital home communication terminal (DHCT).
Video formats can vary in picture size, frame rate, and on whether pictures are progressive or interlaced. A progressive picture constitutes all the lines of a frame whereas an interlaced picture has a top field and bottom field of alternating lines to constitute a complete frame. An interlaced picture is displayed during respective field intervals. Video formats can further vary in other attributes or characteristics such as color format, color primaries, picture width-to-height aspect ratio, and width-to-height aspect ratio of the individual picture elements, or pixels, that make-up the picture.
As a non-limiting example, the video formats of a compressed digital television signal processed in a DHCT for display include formats specified by ATSC (Advanced Television Systems Committee) Digital Television Standard A/54 and include the characteristics described above. An analog television signal such as a NTSC (National Television System Committee) television signal can be processed for display as well.
As there are multiple video formats for a sourced television signal, there are also multiple physical output interfaces or connectors (or similarly, ports) in the DHCT from which a DHCT-processed television signal can be output. The processed signal that is output through a physical output interface complies with the format specification of that interface. An interface specification, such as a video interface specification, can also include mechanisms for providing ancillary data. For example, the provision of close-caption text within a video signal may be part of the video interface specification.
In addition to possible differences in signaling and physical characteristics, video interface specifications can differ in one or more parameters that pertains to the characteristics of the video picture. For instance, parameters that can differ in value in distinct video interface specifications include picture size, frame rate, whether pictures are progressive or interlaced, color format, colorimetry, picture width-to-height aspect ratio, width-to-height aspect ratio of pixels, and if and how ancillary data is provided.
A video interface specification can allow for one or more picture parameters to take different values. For instance, the value of a colorimetry parameter may differ according to the video picture's colorimetry. Furthermore, a video interface specification can support multiple sets of a combination of parameter values that specify the characteristics of the picture. The parameters that can take different values in the multiple sets of a combination of parameters correspond to characteristics that may include picture size, frame rate, whether pictures are progressive or interlaced, color format, colorimetry, picture width-to-height aspect ratio, width-to-height aspect ratio of pixels, and if and where ancillary data is carried. For instance, the SMPTE (Society of Motion Picture and Television Engineers) 274 specification supports multiple input and output picture formats, such as 1920×1080 interlaced or progressive pictures, one of various frame rates, and RGB or YPbPr encoded pixels. SMPTE 296 specifies 1280×720 progressive pictures for input and output.
A physical output interface or connector can further serve to output video signals corresponding to one or more video format specifications. For instance, the physical connector trio used to output component analog video as YPbPr could be configured to output a television signal as an RGB component analog video signal. As another non-limiting example, a physical output interface can be used to output a television signal compliant to SMPTE 274 or SMPTE 296.
It would be understood by those having ordinary skill in the art that other specifications and/or standards can be used that will include the same, fewer, more, or different parameters and yet be considered within the scope of the preferred embodiments of the disclosure. Consequently, a DHCT configured in accordance with the preferred embodiments determines the video formats supported by the television set or other display device connected to the DHCT. Responsive to these determinations, the DHCT can then set its video output format, resolution of graphics overlays, and closed caption support accordingly and process sourced television signals accordingly.
The systems and methods of the preferred embodiments of the disclosure will be described in the context of a subscriber television system, and particularly, a DHCT that is connected to a TV set, although other systems that include communication with an interactive display are considered to be within the scope of the disclosure. Additionally, reference herein will be made to physical output ports with the understanding that physical output ports include ports, connectors, and physical interfaces, including wireless interfaces. Since the preferred embodiments of the disclosure can be understood in the context of a subscriber television system, one such example system is described below, with further description of the DHCT and headend components. Following the description of these components is an example method of the preferred embodiments of the disclosure, followed by some illustrations of some example interactive sessions of a discovery procedure that can be used to determine the display device characteristics to enable a quality picture to be displayed.
The disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those of ordinary skill in the art. Furthermore, all “examples” given herein are intended to be non-limiting and among others not shown but understood to be within the scope of the disclosure.
I. Subscriber Television System
FIG. 1 is a block diagram depicting an example subscriber television system (STS) 10, in accordance with one embodiment of the disclosure. In this example, the STS 10 includes a headend 11 and a digital home communication terminal (DHCT) 16 that are coupled via a communications network 18. It will be understood that the STS 10 shown in FIG. 1 is merely illustrative and should not be construed as implying any limitations upon the scope of the preferred embodiments of the disclosure. For example, although single components (e.g., a headend 11 and a DHCT 16) are illustrated in FIG. 1, the STS 10 can feature a plurality of any one of the illustrated components, or may be configured with alternative embodiments for any one of the individual components or with yet other additional components not enumerated above. Subscriber television systems also included within the scope of the preferred embodiments of the disclosure include systems not utilizing physical structured cabling for transmission, such as, but not limited to, satellite systems and terrestrial-broadcast systems.
The DHCT 16 is typically situated at the residence or place of business or recreation of a user and may be a stand-alone unit or integrated into a television set, a personal computer, or other display devices, or an audio device, among other media devices. The DHCT 16 receives content (video, audio and/or other data) from the headend 11 through the network 18 and in some embodiments, provides reverse information to the headend 11 through the network 18.
The headend 11 receives content from one or more content providers (not shown), including local providers. The content is processed and/or stored and then transmitted to client devices such as the DHCT 16 via the network 18. The headend 11 may include one or more server devices (not shown) for providing content to the DHCT 16. The headend 11 and the DHCT 16 cooperate to provide a user with television services via a television set (not shown). The television services may include, for example, broadcast television services, cable television services, premium television services, video-on-demand (VOD) services, and/or pay-per-view (PPV) services, among others.
II. Headend
FIG. 2 is an overview of one example headend 11, which provides the interface between the STS 10 (FIG. 1) and the service and content providers. The overview of FIG. 2 is equally applicable to a hub (not shown), and the same elements and principles may be implemented at a hub instead of the headend 11. It will be understood that the headend 11 shown in FIG. 2 is merely illustrative and should not be construed as implying any limitations upon the scope of the preferred embodiments of the disclosure. The headend 11 receives content from a variety of service and content providers, which can provide input in a variety of ways. The headend 11 combines the content from the various sources and distributes the content to subscribers via the distribution systems of the network 18.
In a typical system, the programming, services and other information from content providers can be distributed according to a variety of mechanisms. The input signals may be transmitted from sources to the headend 11 via a variety of transmission paths, including satellites (not shown) and terrestrial broadcast transmitters and antennas (not shown). The headend 11 can also receive content from a direct feed source 210 via a direct line 212. Other input sources from content providers include a video camera 214, an analog input source 208, and/or an application server 216. The application server 216 may include more than one line of communication. One or more components such as the analog input source 208, the direct feed source 210, the video camera 214, and the application server 216 can be located external to the headend 11, as shown, or internal to the headend 11 as would be appreciated by one having ordinary skill in the art. The signals provided by the content or programming input sources can include a single content instance (e.g., a program episode or show) or a multiplex that includes several content instances.
The headend 11 generally includes one or more receivers 218 that are each associated with a content source. MPEG (Motion Picture Experts Group) encoders, such as encoder 220, are included for digitally encoding local programming or a real-time feed from the video camera 214 or the like. The encoder 220 outputs the respective compressed video and audio streams corresponding to the analog audio/video signal received at its input. For example, the encoder 220 can output formatted MPEG-2 or MPEG-1 packetized elementary (PES) streams or transport streams compliant to the syntax and semantics of the ISO (International Organization for Standardization) MPEG-2 standard, respectively. The PES or transport streams may be multiplexed with input signals from a switch 230, receiver 218 and control system 232. The multiplexing logic 222 processes the input signals and multiplexes at least a portion of the input signals into a transport stream on connection 240. Analog input source 208 can provide an analog audio/video broadcast signal that can be input into a modulator 227. From the modulator 227, a modulated analog output signal can be combined at combiner 246 along with other modulated signals for transmission into transmission medium 250. Alternatively, analog audio/video broadcast signals from the analog input source 208 can be input into the modulator 228. Alternatively, an analog audio/video broadcast signal can be input directly from the modulator 227 to the transmission medium 250. The analog broadcast content instances are transmitted via respective RF channels, each assigned for transmission of an analog audio/video signal such as NTSC video.
A switch, or switches, such as asynchronous transfer mode (ATM) switch 230, provide an interface to an application server 216. There can be multiple application servers 216 providing a variety of services such as a pay-per-view service, including video on demand (VOD), a data service, an Internet service, a network system, or a telephone system. Service and content providers may download content to an application server located within the STS 10. The application server 216 may be located within the headend 11 or elsewhere within the STS 10, such as in a hub. The various inputs into the headend 11 are then combined with the other information from the control system 232, which is specific to the STS 10, such as local programming and control information, which can include, among other things, conditional access information. The headend 11 contains one or more modulators 228 to convert the received transport streams on connection 240 into modulated output signals suitable for transmission over the transmission medium 250 through the network 18. Each modulator 228 may be a multimodulator including a plurality of modulators, such as, but not limited to, QAM (quadrature amplitude modulation) modulators, that radio frequency modulate at least a portion of the transport streams on connection 240 to become output transport streams on connections 242. The output signals on connections 242 from the various modulators 228 or multimodulators are combined, using equipment such as the combiner 246, for input into the transmission medium 250, which is sent via the in-band delivery path 254 to subscriber locations, such as the DHCT 16.
In one embodiment, the server 216 also provides various types of data on connections 288a, 288b to the headend 11. The data, in part, is received by the media access control (MAC) functions 224 that output MPEG transport packets containing data on connections 266a, 266b instead of digital audio/video MPEG streams. The control system 232 enables the television system operator to control and monitor the functions and performance of the STS 10. The control system 232 interfaces with various components, via communication link 270, in order to monitor and/or control a variety of functions, including the frequency spectrum lineup of the programming for the STS 10, billing for each subscriber, and conditional access for the content distributed to subscribers. Information, such as conditional access information, is communicated from the control system 232 to the multiplexing logic 222 where it is multiplexed into a transport stream provided on connection 240.
Among other things, the control system 232 provides input to the modulator 228 for setting operating parameters, such as selecting certain content instances or portions of the transport streams for inclusion in one or more output transport stream on connections 242, system specific MPEG table packet organization, and/or conditional access information. Control information and other data can be communicated to hubs and DHCTs 16 via an in-band delivery path 254 or via an out-of-band delivery path 256.
The out-of-band data is transmitted via the out-of-band forward data signal (FDS) 76 of the transmission medium 250 by mechanisms such as, but not limited to, a QPSK (quadrature phase-shift keying) modem array 226. Two-way communication utilizes the reverse data signal (RDS) 80 of the out-of-band delivery path 256. Hubs and DHCTs 16 transmit out-of-band data through the transmission medium 250, and the out-of-band data is received in the headend 11 via the out-of-band RDS 80. The out-of-band data is routed through router 264 to the application server 216 or to the control system 232. The out-of-band control information includes such information as, among many others, a pay-per-view purchase instruction and a pause viewing command from the subscriber location to a video-on-demand type application server located internally or external to the headend 11, such as the application server 216, as well as any other data sent from the DHCT 16 or hubs, all of which will preferably be properly timed.
The control system 232 also monitors, controls, and coordinates all communications in the subscriber television system 10 (FIG. 1), including video, audio, and data. The control system 232 can be located at the headend 11 or remotely. The control system 232 also includes a broadcast file system (BFS) server 202 that provides content to the DHCT 16. A broadcast file system preferably carries data formatted in directories and files by the BFS server 202, which is used for producing and transmitting data streams throughout the STS 10, and which provides an efficient means for the delivery of application executables and application content (e.g., data) to the DHCT 16. In particular, the BFS server 202 and its counterpart, a BFS client module 343 in the DHCT 16, are part of the broadcast file system. The BFS server 202 repeatedly sends content to the DHCT 16 over a period of time in a cyclical manner so that the DHCT 16 may access the content as needed.
The transmission medium 250 distributes signals from the headend 11 to the other elements in the subscriber television system 10 (FIG. 1), such as a hub, a node (not shown), and subscriber locations. The transmission medium 250 can incorporate one or more of a variety of media, such as optical fiber, coaxial cable, and HFC, satellite, direct broadcast, or other transmission media.
III. DHCT and Remote Control Device
FIG. 3A is a block diagram illustration of an example DHCT 16 that is coupled to the headend 11 and a television set 341, in accordance with one embodiment of the disclosure. It will be understood that the DHCT 16 shown in FIG. 3A is merely illustrative and should not be construed as implying any limitations upon the scope of the preferred embodiments of the disclosure. For example, some of the functionality performed by applications executed in the DHCT 16 (such as the IPG application 397) may instead be performed completely or in part at the headend 11 and vice versa, or not at all in some embodiments. A DHCT 16 may be a stand-alone unit or integrated into another device such as, for example, a television set or a personal computer or other display devices or an audio device, among others. The DHCT 16 preferably includes a communications interface 342 for receiving signals (video, audio and/or other data) from the headend 11 through the network 18, and provides for reverse information to the headend 11 through the network 18.
The DHCT 16 preferably includes one or more processors, such as processor 344, which controls the functions of the DHCT 16 via a real-time, multi-threaded operating system (O.S.) 353 that enables task scheduling and switching capabilities. The DHCT 16 also includes a tuner system 345 comprising one or more tuners for tuning into a particular television channel or spacing in the radio-frequency spectrum to display content and for sending and receiving various types of content to and from the headend 11. The tuner system 345 can select from a plurality of transmission signals provided by the subscriber television system 10 (FIG. 1). The tuner system 345 enables the DHCT 16 to tune to downstream content transmissions, thereby allowing a user to receive digital and/or analog content delivered in the downstream transmission via the subscriber television system 10. The tuner system 345 includes, in one embodiment, an out-of-band tuner for bi-directional QPSK (or QAM in some embodiments) communication and one or more QAM tuners (in band) for receiving television signals. Additionally, a receiver 346 receives externally generated information, such as user inputs or commands from an input device, such as a remote control device 380.
FIG. 3B is a schematic diagram of the example remote control device 380 illustrated in FIG. 3A, in accordance with one embodiment of the disclosure. The example remote control device 380 includes a select button 386 for making selections on a display screen, navigation buttons 385 for navigating within a particular display screen, a menu button 388 for accessing other screens, such as a general settings screen, and a quick settings button 387 to access a quick settings display screen wherein various parameters can be changed. In one embodiment, the remote control device 380 further includes a TV capabilities query button 381 that, when selected, enables a user to invoke a discovery procedure that prompts a series of user interfaces for determining characteristics of the TV set 341. In addition, the remote control device 380 can include a cycle button 383 that, when selected, cycles the DHCT output of a processed television signal between two or more preset formats for driving the TV set 341 through one or more physical output connections. The preset formats are preferably set by the user during the discovery procedure. Many alternative methods of providing user input may be used including a remote control device with different buttons and/or button layouts, a keyboard device, a voice activated device, etc. The embodiments of the disclosure described herein are not limited by the type of device used to provide user input.
Referring again to FIG. 3A, the DHCT 16 processes analog and/or digital transmission signals for storage in a storage device 373 such as an optical or hard disk drive, and/or for display to the television set 341. The DHCT 16 preferably includes a signal processing system 314 and a media engine 330. One or more of the systems of the signal processing system 314 can be implemented with software, a combination of software and hardware, or preferably in hardware. The signal processing system 314 includes a demodulating system 316 and a demultiplexer/parser 318. The demodulating system 316 comprises functionality for demodulating an analog transmission signal or a differently modulated signal carrying digital transmission signals or information. For instance, the demodulating system 316 can demodulate a signal in the tuned frequency spacing that was modulated, among others, as a QAM-modulated signal that carries compressed digital television signals or information. The demultiplexer/parser 318 can include MPEG-2 transport demultiplexing. For example, when tuned to frequency spacings carrying a digital transmission signal, the demultiplexer/parser 318 enables the separation of packets of data corresponding to one or more desired video and audio streams of one or more television signals for further processing. Concurrently, the demultiplexer/parser 318 precludes further processing of packets in the multiplexed transport stream that are irrelevant or not desired, such as packets of data corresponding to other video streams. Thus, the components of the signal processing system 314 are capable of QAM demodulation, forward error correction, and demultiplexing of MPEG-2 transport streams, and parsing of elementary streams and packetized elementary streams. Additional components, not shown, include conditional access components, as well as, among others, an analog video decoder for processing an analog transmission signal and, in one implementation, a compression engine for converting a decoded analog transmission signal to compressed audio and video streams that are produced in accordance with the syntax and semantics of a designated audio and video coding method, such as specified by the MPEG-2 audio and MPEG-2 video ISO standard, among others.
The signal processing system 314 outputs packetized compressed streams and presents them as input for storage in the storage device 373, or in other implementations, as input to the media engine 330 for decompression by a video decoder (or video decompression engine) 333 and an audio decoder (or audio decompression engine) 332 for display on the TV set 341 via the output system 331 and output connections 340. One having ordinary skill in the art will appreciate that the signal processing system 314 will preferably include other components not shown, including memory, decryptors, samplers, digitizers (e.g., analog-to-digital converters), and multiplexers, among other components. Further, it will be understood that one or more of the components listed above will interface with the processor 344 and/or system memory 349 (and/or dedicated memory for a particular component) to facilitate data transfer and/or processing of the video and/or audio signal for display and/or storage.
The media engine 330 includes the digital video decoder 333, digital audio decoder 332, a memory controller 334, a blitter 337, and the output system 331. The media engine 330 is capable of graphics data generation and graphics data processing capabilities with functional modules such as the blitter 337, which is a functional 2-D (i.e., 2-dimensional) DMA (Direct-Memory-Access) module, often referred to as a blit engine. The functionality in the blitter 337 allows for graphical data or image data stored in a media memory 329 or system memory 349 to be read into the media engine 330, processed, and written back (i.e. output) to memory. The graphical data or image data is read in some predetermined 2-D order, such as raster scan order, and processed in systematic, pipelined-fashion through one or more functional elements in the blitter 337. Processing through the blitter 337 can cause one or more pixels of the input image to be changed to a new value. The output image to memory is representative of a pre-specified set of blitter operations.
During the course of program execution, the processor 344 writes operation settings and/or parameters to registers in the media engine 330 to effect one or more operations in one or more input images to be processed through the blitter 337. Typically, the processor 344 sets the registers prior to invoking the blit operation.
According to the mode set for the blit operation, the number of input pixels read from an input image in a blit operation may be less than, equal to, or more than the number of output pixels produced and written back to memory. According to the mode set in registers, a blit operation may comprise of reading multiple input images to produce an output image, such as an alpha-blending operation on two input images. A blit operation may be also set to produce more than one output image. A blit operation may further be set to process pixels of an input image conditionally (e.g., only if they have a certain value or meet certain conditions).
Blitter functionality further includes a scaling capability that can be employed to effect vertical and/or horizontal scaling of an input image. Thus, an input image can be upscaled or downscaled according to the operational mode and parameters written to the corresponding blitter registers. Such scaling operations can be used to modify the aspect ratio of an input image, for example, from a 4 by 3 aspect (i.e., 4:3) ratio (horizontal to vertical ratio) to a 16 by 9 (i.e., 16:9) aspect ratio. Furthermore, the blitter 337 can be set to perform color conversion or alter the color of an input image.
The scaling functionality in the blitter 337 can be performed with sample-rate converters or scaling filters of multiple taps and phases, as known to those practicing digital signal processing in the state-of-art.
As described previously, the blitter 337 is capable of scaling an input image with a 4:3 aspect-ratio to another aspect-ratio, such as a 16:9, although often at the expense of introducing distortion. The blitter 337 can further be set for the blit operation to crop the boundaries of the input image, prior to conducting the scaling operation, by simply omitting to read (or input) parts of the input image from memory. The blitter 337 can also crop the boundaries of the input image it is processing after conducting the scaling operation by simply omitting to write (or output) parts of the input image to memory. For instance, the blitter 337 is capable of processing an image and cropping it by omitting to write to media memory 329 a pre-specified top and bottom portion or rectangular sections. The left and right exterior portions, or pillars, of an input image can be similarly cropped.
As described previously, the blitter 337 possesses capability to perform color conversion on each pixel of the input graphical data from one color format to another color format. For example, color conversion may comprise converting an input image from an RGB color format to a YPbPr color format, or vice-versa.
Color conversion may also comprise conversion between color primaries specifications, such as from the color primaries specified in ITU-R (International Telecommunication Union-Radiocommunication) Recommendation BT.601 to the color primaries specified ITU-R Recommendation BT.709. In one embodiment, color conversion is employed to create an image that is displayed during an interactive discovery phase to determine the color “temperature” of a TV set or display attached to the DHCT 16.
The blitter 337 further possesses capability to perform a color transformation that represents a non-linear transfer-function from input to output to correct for the perceived intensity (i.e., lightness) of the type of TV set 341 or display driven by the DHCT 16. This color transformation could be for the purpose of what is often called by practitioners in the state of the art as gamma correction (i.e., correction of perceived intensity), or the color transformation can be for other purposes that assist in the TV discovery phase.
All aforementioned blitter operations as well as other blitter operations, as a whole or any combination thereof, may be employed to create images for use during the TV discovery phase.
The media engine 330 processes and feeds data for output via the output system 331 to a television set 341. The output system 331 is configured (e.g., by the processor 344) to convert processed video and graphical pictures that are composited by the media engine 330 to a video signal for output, such signal consistent with the format and signaling specification of a port in the set of physical output ports 340 in the DHCT 16. As an example, the output system 331 includes a digital video encoder (DENC) 336 that converts reconstructed video data (or pictures) fed (or otherwise received) at its input to an analog video signal that is output through a port in the set of physical output ports 340 to drive a TV display connected to the DHCT 16. In one embodiment, the same output video signal is output simultaneously through a plurality of ports in the set of physical output ports 340.
The set of physical output ports 340 may comprise of physical connectors for which one end of a corresponding physical cable is attached to, while the opposite end of the cable is attached to a corresponding physical connector in the TV set 341 (or display). A physical connector in the set of physical output ports 340 may also be a wireless transmitter or emitter device that emits the video signal to a corresponding wireless receiver in the TV set 341. An auxiliary device, such as a second TV display, may be also be connected between the DHCT 16 and the TV set 341 through a second set of corresponding connectors.
A physical connector in the set of physical output ports 340 may also serve as both input and output, as input, or as an asymmetrical output-input port wherein video and audio are output to the TV set 341 and the TV set's display status and/or capabilities, characteristics, or attributes are input to the DHCT 16.
Data is fed to one of the physical output ports 340 sourced from the media engine memory 329 or memory 349 in a manner to produce a raster scan of displayed pixels consistent with the interface or port of the physical output ports 340 in which the display type is connected to the DHCT 16. As is described below, the output system 331, under the direction of a display manager 335 and in cooperation with the processor 344 and operating system 353, provides a formatted signal to one or more ports of the physical output ports 340 that are coupled to corresponding inputs (not shown) at the TV set 341, or at other devices such as a VCR, among others. The physical output ports 340 include a RGB port, a S-Video port, a channel 3/4 port, a baseband port, component analog port, and/or a YPbPr port. TV signals are formatted by the DHCT 16 according to well-known video interface specifications. For example, TV signals routed to the baseband port are formatted by the DHCT 16 according to a baseband video format specification. Baseband video can be analog NTSC (or PAL or SECAM) baseband video. Similarly, TV signals routed to the Ch. 3/4 RF (radio frequency) output port are formatted as RF. The S-video port is for S-video, which is the same as baseband video except that the luminance and chroma are transferred on separate wires. YPrPb is an analog component interface that is popular in early HDTV displays. It couples luminance (Y) and two color difference signals (Pr and Pb) to the display device. The same components when digitized are referred to as Y, Cr and Cb. Other connections of the physical output ports 340 include a digital video interface (DVI) to drive a TV set or display that receives non-compressed digital TV signals at its input, and/or an IEEE-1394 interface (not shown) to drive a TV set or display with a possibly-compressed digital TV signal, among others. DVI is a digital interface often used to transmit HDTV signals to a display. In some embodiments, some interfaces, such as the DVI interface or interfaces or ports not shown, can be bi-directional.
A display buffer (not shown) in media memory 329 is designated for the displayable graphical data. The memory controller 334 in the media engine 330 grants access to transfer data from system memory 349 or other sections of media memory 329 to the display buffer in a timely way that safeguards from the generation of tear artifacts on the TV display. For instance, data transfer can be granted to locations in the display buffer corresponding to locations already passed by the raster-scan ordered data fed from the display buffer into the DENC 336. Thus, data written to the display buffer is always behind (in raster-scan order) the display buffer locations read and fed into the output system 331. Alternatively, data can be written to a secondary display buffer (not shown), also called an off-screen or composition buffer and the display buffer and the off-screen buffer can be logically swapped, for example, during the vertical blanking interval of the output TV signal.
Under the arbitration of the memory controller 334, the audio decoder 332 and the video decoder 333 decode the compressed audio and video signals stored in compressed buffers (not shown) in the media memory 329 to obtain the corresponding audio and video data in an uncompressed format. The reconstructed or uncompressed audio and video data are stored in uncompressed buffers (not shown) in the media memory 329. The process of decoding is coordinated by the memory controller 334 such that each of the decoders 332 and 333 are granted access or authorization every time the respective decoder imports data from or exports data to the media memory 329. Data stored in the decoded buffers may be fed to the output system 331 and the audio output system (not shown) under the arbitration of the memory controller 334. The audio output system may be part of the output system 331 and may include digital-to-analog converters (DACs).
The output system 331, for instance, includes a DENC 336 that provides a video output via physical output ports 340 while the audio DAC (not shown) provides an audio output via an audio connection (not shown). The video signal, which has been converted and possibly composited with graphics, is formatted appropriately for output via the output system 331 in cooperation with the display manager 335, operating system 353, and processor 344, in accordance with a video interface type and a video format of the display device that is receiving the video output (e.g., high definition television (HDTV), NTSC or phase alternate line (PAL)).
The output system 331 comprises capabilities to convert processed video and graphical pictures simultaneously for output. A video display pipeline (VPipe) 338 in the output system 331 receives (or is fed) video pictures from the media memory 329 and processes the pictures for output in a systematic fashion. In one embodiment, the video display pipeline 338 includes (not shown) one or more line buffers and vertical sample-rate converters to effect vertical resizing, horizontal sample-rate converters to effect horizontal resizing, and/or in-line color-conversion capabilities. Furthermore, the video display pipeline 338 may include memory and circuit logic (programmable in some embodiments) to effect picture de-interlacing of interlaced pictures for display as progressive or as larger interlaced pictures. The de-interlacing process may involve the access of the media memory 329 to read a plurality of lines from one or more fields corresponding to one or more consecutive video pictures from a TV signal to process them and generate each line of a converted video picture.
A graphics display pipeline (GPipe) 339 in the output system 331 receives (or is fed) graphical pictures or data from a display buffer in media memory 329 and processes the images for output in a systematic fashion. The graphics display pipeline 339 may include (not shown) one or more line buffers and/or vertical scalers (e.g., sample-rate converters) to effect vertical resizing. The graphics display pipeline 339 can also have horizontal scalers or sample-rate converters to effect horizontal resizing, and/or in-line color-conversion capabilities to effect color conversion.
The output system 331 further includes programmable digital logic and control circuitry (not shown), among other circuitry, to overlay or composite the converted graphical picture at the end of the graphics display pipeline over the converted video picture at the end of the video display pipeline 338 (or vice versa). The converted graphical picture and the converted video picture may be composited with a common center but do not have to be of the same picture resolution. For instance, the converted video picture may span a 1280×720 picture of 16:9 aspect ratio while the graphical picture may span a 960×720 picture of 12:9 (or equivalently 4:3) aspect ratio.
The output system 331 further comprises programmable digital logic and control circuitry (not shown) to enable and disable the video display pipeline 338, to enable and disable the graphics display pipeline 339, and/or to alpha blend the spatially corresponding pixels output by the two respective display pipelines 338,339 to appear as a mix (or translucent) picture that is output to the TV set 341. Some pixels in the graphical picture may have a transparent color value.
The output system 331 preferably generates a TV signal for output to the TV set 341 according to the specification of the video interface used for a particular output port 340. If the video display pipeline 338 is disabled, a graphical picture is displayed on the screen of TV set 341. If the graphical display pipeline 339 is disabled, the video picture (e.g., from a tuned TV channel, from the storage device 373, etc.) is displayed on the TV set 341. In one embodiment, the DHCT 16 performs an interactive discovery session to find the TV set display or TV set characteristics by outputting simultaneously a TV signal through a first output port of the physical output ports 340 and another TV signal through a second output port of the physical output ports 340. For example, a first video display pipeline (not shown) of the video display pipeline 338 in the output system 331 is employed to convert a video picture for output through the aforementioned first output port of the physical output ports 340 and a second video display pipeline (not shown) of the video display pipeline 338 in the output system 331 is employed to convert the same or different video picture for output through the aforementioned second output port of the physical output ports 340.
In another embodiment, a first video display pipeline (not shown) of the video display pipeline 338 and a first graphics display pipeline (not shown) of the graphics display pipeline 339 in the output system 331 are employed during the discovery phase to output a TV signal through an output port (e.g., a first output port) of the physical output ports 340 as either a video picture or as a composition of a video picture and a graphical picture. A second video display pipeline (not shown) of the video display pipeline 338 in the output system 331 is employed to output a TV signal through another (e.g., a second) output port of the physical output ports 340.
In another embodiment, a second graphics display pipeline (not shown) of the graphics display pipeline 339 is also employed (along with a second video display pipeline) during the discovery phase to output a TV signal through the second output port as either a video picture or as a composition of a video picture and a graphical picture.
The DHCT 16 can include one or more storage devices, such as storage device 373, preferably integrated into the DHCT 16 through an interface 375 (e.g., IDE (integrated drive electronics) or SCSI (small computer system interface), etc.), or externally coupled to the DHCT 16 via a communication port 374. The communication port 374 can be a wireless or wired interface, and is for receiving and/or transmitting data to other devices. For instance, the DHCT 16 may feature USB (Universal Serial Bus), Ethernet (for connection to a computer), IEEE-1394 (for connection to media content devices in an entertainment center), serial, and/or parallel ports. The storage device 373 can be optical (e.g. read/write compact disc), but is preferably a hard disk drive. The storage device 373 includes one or more media, such as a hard disk 301. A storage device controller 379 in the storage device 373 of DHCT 16, in cooperation with a device driver 311 and the operating system 353, grants access to write data to or read data from the local storage device 373. The processor 344 can transfer content (e.g., data) from memory 349 to the local storage device 373 or from the local storage device 373 to the memory 349 by communication and acknowledgement with the storage device controller 379.
In one embodiment, data stored, written, and retrieved from the storage device 373 includes one or more images to be processed during a discovery phase to determine the type of TV set or display attached to or otherwise in communication with the DHCT 16 and the characteristics of the TV set or display. Data stored in the storage device 373 can also include one or more sets of audio samples to be played back during the discovery phase. For example, the audio samples can be speech instructions or other types of audio. One or more picture sequences can also to be stored and retrieved in the storage device 373 for use during the discovery phase.
In one embodiment, data stored, written, and retrieved from storage device 373 includes one or more images to be displayed as a graphical picture during a discovery phase to determine the type of TV set or display attached to the DHCT 16 and the characteristics of the same. Data stored in the storage device 373 can also include one or more sets of audio samples to be played back during the discovery phase. One or more picture sequences can also to be stored and retrieved in the storage device 373 for use during the discovery phase. The storage device 373 can include graphical pictures and video picture sequences of different characteristics such as pictures of different picture aspect ratios, different colorimetry, different gammas, and/or different pixel aspect ratio, among other characteristics. Distorted pictures and pictures with, for example, side blank pillars, blank top and bottom rectangular regions, or a box with blanked rectangular regions may also be stored in the storage device 373 for employment during the discovery phase.
The DHCT 16 includes memory 349, which includes volatile and/or non-volatile memory, for storing various applications, modules and data for execution and use by the processor 344. Basic functionality of the DHCT 16 is provided by an operating system 353. Among other things, the operating system 353 includes a resource manager 367 that provides an interface to resources of the DHCT 16 such as, for example, computing resources, and a broadcast file system (BFS) client 343 that cooperates with the BFS server 202 (FIG. 2) to receive data and/or applications that are delivered from the BFS server 202 in a carousel fashion. The operating system 353 further includes one or more device drivers, such as device driver 311, that works in cooperation with the operating system 353 to provide operating instructions for communicating with peripheral devices.
Data to be used during the discovery phase can be transmitted to and received by the DHCT 16 as one or more files using the broadcast file system (via BFS server 202 (FIG. 2) and BFS module 343). Data can further be stored in the storage device 373 prior to exercising the discovery phase.
One or more programmed software applications, herein referred to as applications, are executed by utilizing the computing resources in the DHCT 16. Note that an application typically includes a client part and a server counterpart that cooperate to provide the complete functionality of the application. The applications may be resident in memory 349 or the storage device 373, or stored in a combination of memory 349 and storage device 373. Applications stored in memory 349 (or storage device 373) are executed by the processor 344 (e.g., a central processing unit or digital signal processor) under the auspices of the operating system 353. Data required as input by an application is stored in memory 349 or the storage device 373 (or a combination) and read by the processor 344 as needed during the course of the application's execution.
Input data may be stored in memory 349 by a secondary application or other source, either internal or external to the DHCT 16, or possibly anticipated by the application and thus created with the application at the time it was generated as a software application. Data generated by an application is stored in memory 349 by the processor 344 during the course of the application's execution, or if required, transferred to the storage device 373 from memory 349 by the processor 344 during the course of the application's execution. The availability of data, location of data, whether in memory 349 or in the local storage device 373, and the amount of data generated by a first application for consumption by a secondary application is communicated by messages. Messages are communicated through the services of the operating system 353, such as interrupt or polling mechanisms or data sharing mechanisms such as semaphores.
An application referred to as a navigator 355 is resident in memory 349. The navigator 355 provides a navigation framework for services provided by the DHCT 16. For instance, the navigator 355 includes core functionality such as volume and configuration settings. The navigator 355 preferably handles signals invoked from the channel navigation buttons on the remote control device 380.
The memory 349 also contains a platform library 356. The platform library 356 is a collection of utilities useful to applications, such as a timer manager, a compression manager, a configuration manager, an HTML parser, a database manager, a widget toolkit, a string manager, and other utilities (not shown). These utilities are accessed by applications via application programming interfaces (APIs) as necessary so that each application does not have to contain these utilities. Two components of the platform library 356 that are shown in FIG. 3A are a window manager 359 and a service application manager (SAM) client 357. Note that in some embodiments, one or more of the platform library components may be resident in the operating system 353. The window manager 359 provides a mechanism for implementing the sharing of the display device screen regions and user input. The window manager 359 in the DHCT 16 is responsible for, as directed by one or more applications, implementing the creation, display, and de-allocation of the limited DHCT screen resources. It allows multiple applications to share the screen by assigning ownership of screen regions, or windows.
The window manager 359 also maintains, among other things, a user input registry 350 in memory 349 so that when a user enters a key or a command via the remote control device 380 or another input device such as a keyboard or mouse, the user input registry 350 is accessed to determine which of various applications running on the DHCT 16 should receive data corresponding to the input key and in which order.
The SAM client 357 is a client component of a client-server pair of components, with the server component being located in the headend 11, typically in the control system 232 (FIG. 2), although not shown. A SAM database 360 (i.e. structured data such as a database or data structure) in memory 349 includes a data structure of services and a data structure of channels that are created and updated by the headend 11. Herein, database will refer to a database, structured data or other data structures as is well known to those of ordinary skill in the art. The SAM client 357 also interfaces with the resource manager 367 to control resources of the DHCT 16. Many services can be defined using the same application component, with different parameters. Examples of services include, without limitation and in accordance with one implementation, presenting television programs (available through a WatchTV application 362), pay-per-view events (available through a PPV application (not shown)), digital music (not shown), media-on-demand (available through an MOD application (not shown)), and an interactive program guide (IPG) (available through an IPG application 397).
In the example DHCT 16 depicted in FIG. 3A, memory 349 also includes a web browser application 366 for providing web browsing services and a personal video recording (PVR) application 377 for providing personal video recording services. It should be clear to one with ordinary skill in the art that these applications are not limiting and merely serve as examples for this present embodiment of the disclosure. These applications, and others provided by the cable system operator, are top level software entities on the network for providing services to the user.
An executable program or algorithm corresponding to an operating system (OS) component, or to a client platform component, or to an application, or to respective parts thereof, can reside in and execute out of memory 349 and/or the storage device 373. Likewise, data input into or output from any executable program can reside in memory 349 and/or the storage device 373.
IV. Example Method for Determining Display Device Characteristics
As described above, there are many possible video formats that are received by the DHCT 16 and converted to a television signal compliant with the appropriate video interface specification for the respective port of the physical output ports 340. For example, ATSC includes 18 different video formats, which include parameters for the amount of active lines, total lines, horizontal pixels (e.g., pixels per line), aspect ratio (e.g., 16:9 or 4:3), vertical rate, frame rate, scan type (progressive or interlaced), and type of TV set (e.g., SDTV or HDTV) that a particular format is best suited for. For a TV set capable of sourcing a TV signal through more than one video interface or with a video interface that supports more than one video format, the nature of the picture displayed on a TV screen (or other display screen) can vary depending on what format the DHCT 16 configures the output signal (e.g., output from the output ports 340 to the TV set 341) to be. Accurate assumptions about the characteristics of the TV set 341 or display can be made based on the nature of the picture displayed in response to the video format of the television signal fed to the TV set 341 from the DHCT 16. Although the DHCT 16 does not know what type of TV set it is connected to, nor the characteristics of that TV set, it can output some predefined video formats and query the user about what he or she sees. Based on the response of the user, not only can the DHCT 16 determine the characteristics of the TV set connected (e.g., aspect ratio, color temperature, gamma characteristics, etc.), but also provide for a fine tuning of the picture quality that improves what the user sees. Note that in some embodiments some of these characteristics may be input by the user in response to a query by the DHCT 16 (e.g., the DHCT 16 can prompt questions on the TV display, such as “what type of TV do you have? year made? model number? manufacturer?,” etc.).
Even if characteristics are input by a user, a discovery phase may still be employed where, for example, a TV set 341 has multiple interfaces to receive the output TV signal from the DHCT 16 and the user may have pre-configured the TV set 341 to a user-specific set of preferences. For instance, a user may opt to pre-configure a TV set 341 with a physical screen (e.g., the glass portion of the screen, screen portion of a projection TV, etc.) having a 4:3 aspect ratio using the TV set's settings to display a 16:9 TV signal received from the DHCT 16 in one of multiple configurable displayable ways. That is, the user can set a 16:9 TV signal to be displayed as, for example, a letterboxed picture (e.g., blank top and bottom portions envelope picture), as a distorted picture, or as a full-screen picture without distortion but with the left- and right-most portions cropped.
An interactive session(s) (or application(s)) that serves as a discovery phase according to an embodiment of the disclosure is executed upon power-up, or at other times such as when the user hooks up a different TV set to the DHCT 16, to determine the capabilities of the TV set 341 coupled to the DHCT 16. The discovery phase can be viewed as comprising two phases. Phase I includes determining how the TV set 341 can be driven. The TV set 341 can be a high definition television (HDTV) set, a national television systems committee (NTSC) set, or a PAL set. It is in phase I that the sourced TV signal received at the tuner system 345 of the DHCT 16 is mapped to a corresponding output of the DHCT 16 (and thus corresponding input of a TV set 341). For example, through one or more interactive sessions with the user, the DHCT 16 (or user) may decide that when the DHCT 16 is tuned to SD (standard definition) or NTSC channels, the signal is to be processed and fed through the baseband port or S-video port of the physical output ports 340. Similarly, if the DHCT 16 is tuned to an HD channel, the DHCT 16 (or user) may determine that the signal is to be processed and fed through the YPbPr port or the DVI port of the physical output ports 340. Phase II includes determining additional characteristics of the TV set 341, which serves as a calibration process. For example, it is in phase II that the color temperature, gamma characteristics, and/or de-interlacing characteristics or capabilities, among others, can be verified or determined.
FIG. 4 is a flow diagram of one example method for implementing phase I and phase II of the discovery phase, in accordance with one embodiment of the disclosure. The blocks in the flow diagram of FIG. 4 should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the preferred embodiments of the present disclosure in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, or with additional steps or steps omitted, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present disclosure.
Referring to FIG. 4, and with continued reference to FIG. 3A, step 402 includes receiving a request to commence discovery. The discovery phase can be invoked using a dedicated key or button in the remote control device 380 (FIG. 3B), such as the TV capabilities query button 381 (FIG. 3B). An interactive session can also be accomplished through a quick settings user interface screen (e.g., not shown, but evoked by the user selecting the quick settings button 387, FIG. 3B) or through a general settings screen (e.g., not shown, but evoked by the user navigating through menu items upon pressing the menu button 388, FIG. 3B).
Step 404 includes converting a video or picture sequence according to a defined video interface specification. Representative pictures or video sequences that include the different video formats in ATSC A/54 or SCTE 43, for example, which vary in parameters such as aspect ratio (e.g., 4:3 versus 16:9), TV type (e.g., SDTV versus HDTV), among others, are used during the discovery phase. The video formats are processed for output by appropriately exercising conversion capabilities in the TV output system 331 according to defined categories of parameters for a video output interface and to provide some efficiency in the driving of outputs. The pictures or video sequences (and/or audio) can be provided by the DHCT 16 as a result of real-time or time-shifted (e.g., buffered to the storage device 373) conversion of a TV signal received from the network 18 (FIG. 1). Preferably, picture or video sequence samples of various parameters are stored in the storage device 373 and provided by the DHCT 16 during the discovery phase. For example, these samples can be downloaded to the storage device 373 upon receipt via the BFS module 343 or downloaded by the DHCT manufacturer. Additionally, graphics, video, or a combination of graphics and video can be provided during the discovery phase according to the mechanisms described in association with FIG. 3A.
Step 406 includes driving one or more display devices through the physical output port with a video format corresponding to the video interface specification to which the conversion in step 404 was implemented. The DHCT cycles through each video format in response to the user selecting the cycle button 383, or in alternative embodiments, automatically for a defined interval of time, requesting input from the user for each format. The display manager 335, in cooperation with the media engine 330, the operating system 353, memory (e.g., memory 349 and/or media memory 329), and the processor 344, preferably is responsible for cycling the various video formats through the output connections 340 to the inputs of the TV set 341. The cycle is preferably set from the highest resolution to the lowest resolution. For example, the DHCT may output 1080i first, and then output 720p, then 480p, and then 480i. Once a user enters input, it is assumed that the TV set 341 is to be driven at the highest resolution format to minimize degradation of the highest resolution TV set that is sourced. Driving the TV set with a common video format simplifies graphics overlay management by the display manager 335 and operating system 353 as it shortens development cycle and reduces provisions required to support legacy applications. In some embodiments, the DHCT 16 can transmit audio instructions in addition to or in lieu of the video and/or graphics data.
Step 408 includes soliciting a user response based on what is displayed on the TV screen. In one embodiment, the display manager 335, in cooperation with the processor 344, can cause the generation and presentation of various GUI screens to solicit help from a user to determine the type of inputs that are supported by the TV set 341. One purpose for driving the inputs of the TV set 341 is to present a picture on the screen of the TV set 341 along with a GUI screen that enables the user to comment on whether he or she sees any picture on the display. Note that in other embodiments, audio instructions (e.g., such as speech instructions) can be used, alone or in combination with graphics and/or video, to solicit user feedback and/or provide instruction which would facilitate the determination of how the TV set 341 can be driven.
Step 410 includes determining whether user input was received within a defined period of time defined by a fixed or programmable threshold. The failure to receive an inputted response from the user may indicate that the user did not see a screen (e.g., there may not be a connection made by the user or the particular video format cycled through the output port is not supported). If a video format applied to the TV set input was not compatible with the TV set (e.g., a video format that is not compatible with the scan format or other characteristics of the TV set 341), or no connection has been made between the DHCT port and the corresponding TV set port, an out-of-synch picture is likely to be displayed. If the DHCT 16 determines that no user input is received within a predetermined or defined period of time of driving the TV set with a signal having a prescribed video format, the DHCT 16 automatically selects a new port, or another video format for the same output port (e.g., if more than one video format is supported by the selected output port) (step 422), and repeats the process starting at step 404. In some embodiments, selection of the next port is not automatically initiated until a user enters input, regardless of whether instructions or other messaging on the screen is viewable or not, thus omitting the determination step (step 410). For example, instructions in a written user's guide (or by phone) can require a user to enter one type of input (e.g., the cycle button 383, FIG. 3B) when the video is out-of-synch (e.g., instructions do not appear), and another type of input (e.g., the select button 387, FIG. 3B) when the displayed picture and/or instructions are coherent (e.g., observable and/or legible). In some embodiments without the automatic feature, the determination step may still be employed.
The programmable threshold that defines the period of time for cycling through the video formats and/or output ports may be programmed and stored in NVM 348 of the DHCT 16. Alternatively, the threshold value can be stored in the storage device 373 of the DHCT 16 or in NVM (not shown) in the remote control device 380. Programming of the threshold value can be performed at a manufacturing facility, by a cable operator from the headend 11 while the DHCT 16 is at a subscriber's or user's premise, or by the subscriber or user.
If a GUI is viewable, suggesting that the cycled video format is both established through a valid connection to the TV set 341 and that the TV set 341 can be driven using that applied video format, step 412 includes mapping the video interface specification and corresponding port with a parameter or parameters of the TV signal, video sequence or picture. In other words, the DHCT 16 stores in memory (e.g., media memory 329, memory 349, and/or the storage device 373, FIG. 3A) the parameter(s) or settings required to operate the video display pipeline 338 and/or graphics display pipeline 339, the functions in the output system 331, and the output ports 340 to effect the processing and output of a TV signal according to the parameters of each possible TV signal format that DHCT 16 is capable of receiving via its tuner system 345 (FIG. 3A) or an input or communication port. In addition to storing the parameters and settings required to process and output each respective TV signal format, the DHCT 16 stores a table (not shown) that associates each possible TV signal format to one or more designated output ports 340. For example, for TV signals that have parameters that indicate the signal originated in or is otherwise compliant to an HD transmission medium, the DHCT 16 determines the parameters of the received TV signal by, for example, processing information in the signal and comparing the information with information stored in the SAM database 360. The SAM database 360 may include stored information in an association table (not shown) that maps the TV signal to a designated output port. The DHCT 16 then converts the TV signal, and drives the converted TV signal through the designated port (e.g., YPbPr port) of the physical output ports 340.
For formats where a display is generated and viewable by the user, additional formats can be presented through this interactive session to fine-tune what the user is viewing. Step 414 includes applying test sequences for phase II discovery. For example, one category of driving the TV set inputs can be according to the scan format (e.g., interlaced versus progressive). Within an interlaced category, there are multiple video formats (e.g., with differences in resolution (e.g., 1080i, 480i, etc.), aspect ratio, among other parameters). If the TV set 341 has the capability to only receive an input with a progressive scan format, then driving it with an interlaced scan format may result in no displayable screen (e.g., a scrambled picture), thus negating the need to drive the TV set inputs with other video formats under the category of interlaced. The test sequences are received from memory in a manner as described above for step 402, and processed (e.g., altered) in the blitter 337 in cooperation with the display manager 335 and the processor 344 (FIG. 3A). In one embodiment, the samples are altered in a manner that causes images on the TV screen to be distorted and/or appear with a variety of features (e.g., cropped) and/or or omissions of features and/or accentuations in features or conditions (e.g., taking a circle and expanding in a vertical or horizontal orientation to create an ellipse). By altering the samples, a display screen comprising, in one embodiment, a GUI and an altered image sample, can be presented that enables the DHCT 16 to determine how the TV set 341 reacts to or presents these altered images based on the user response. Some of the samples stored in the storage device 373 can be altered samples, or in some embodiments, the alterations can be implemented in the media engine 330 or via a combination of stored altered samples and processing in the media engine 330.
Step 416 includes soliciting a user response based on what is displayed on the TV screen. Based on the video format selected and the alteration imposed in step 414, there is an expected effect on the picture presented on the TV screen, and this expected effect is used to generate the appropriate question to the user on the display screen to help determine the characteristic of the TV set 341 (FIG. 3A) the question was geared to find. Soliciting a user response can also include requesting user preferences. For example, the user may be presented with alternate pictures having different colors and asked to choose a preferred color.
Step 418 includes determining characteristics of the display device based on the solicited user response. Running through interactive screens shown in FIGS. 5-8 (and other screens not shown) and soliciting answers to the questions presented in these screens enables the DHCT to determine the capabilities of the TV and allows the user alternate display options of video and graphics throughout the course of viewing the picture in the display screen of the TV set 341. Hence, the user has a mechanism for selecting a video format for the video (and graphic) that the viewer can simply invoke for different sourced video signals. This allows the user the flexibility to display a sourced picture of a certain aspect ratio to the aspect ratio of the TV set or in a manner the user chooses. For example, the preferred embodiments of the disclosure allows the viewer to expand a sourced 4:3 content out to the edges of a 4:3 HDTV (i.e., full screen rather than a boxed in display).
Step 420 includes storing the TV set display characteristics. One or more non-volatile memory (NVM) bits (not shown) in memory 349 (or the characteristics can be stored in the storage device 373, FIG. 3A) (FIG. 3A) are assigned to denote a default value: “never set” or “set”. Once set, the capabilities of the connected TV set 341 are retained in NVM 348. If the user employs a different TV set in the future, the interactive sessions of the preferred embodiments of the disclosure can be re-entered via the TV capabilities query button 381, general settings, quick settings, front key input on the DHCT 16, or via other buttons on the remote control device 380 (FIG. 3B) using key sequences as explained in a user's manual.
Step 422 includes selecting another port or another format for the same port, and then the discovery process is repeated again beginning at step 404.
Therefore, during an interactive session that requests input from the user, the DHCT 16 cycles through each video format requesting input from the viewer rather than merely terminating when a first video format category suitable for driving the TV set 341 is determined Hence, the input from the user preferably does not cease after the user acknowledges being able to view a first viewable display screen, but rather after completion of cycling through all or substantially all video formats.
Note that in some embodiments, phase I can be implemented for all ports and completed before commencing phase II.
Also, in some embodiments, the user may decide on which output port of the physical output ports 340 (FIG. 3A) to output each possible picture format of the input, incoming or tuned TV signal. For instance, a user may express his or her preferences in interactive sessions during the TV capability discovery phase to output an incoming TV (video) signal through an output port capable of outputting the scan rate equivalent to the scan rate of the incoming TV signal. Furthermore, the user may decide through the interactive sessions to select an output port for each respective TV channel in the channel line-up, assuming that the user knows the picture format of each channel or that the interactive session displays information on the screen containing the picture format associated with each channel to the user. User preferences are stored in memory, for example memory 349 (FIG. 3A), and/or the storage device 373 (FIG. 3A).
The picture format associated with each channel may be known a priori. For example, the picture format may be obtained or inferred by the processor 344 (FIG. 3A) from the record of each program in an EPG or IPG database (not shown) residing in memory 349 (FIG. 3A), or from information associated with each service or TV channel in the SAM tables (e.g., SAM database 360, FIG. 3A) residing in memory 349. Alternatively, the DHCT 16 (FIG. 3A) may determine the picture rate for each TV channel, service or program by tuning to each channel in the channel line-up. Since the picture rate for a TV channel may change through the course of time, the user may further prefer to allow the DHCT 16 to dynamically switch output ports according to the incoming TV signal's picture format.
The discovery phase retains (e.g., by saving in memory 349, FIG. 3A) the output formats or modes that the DHCT 16 (FIG. 3A) is capable of outputting. A user may opt to eliminate one or more output capability from the plurality of output capabilities found during the discovery phase. During normal TV watching operation, the user has access to select any of the retained outputting modes (e.g., via quick settings or a remote key). The DHCT 16 may be configured to output in one picture format (e.g., 1080i) or to dynamically adjust to output according to the picture format of the incoming TV signal. Regardless of whether the DHCT 16 outputs in a fixed format indefinitely, the user has access to the list of retained output modes and select an alternate output mode from the list.
In one embodiment, wherein the output mode is fixed to a first picture format, once the user selects an alternate output format from the list of retained output modes, the DHCT 16 (FIG. 3A) continues to output the alternate output format indefinitely until the user once again selects another output mode (e.g., possibly the first picture format). In an alternate embodiment, when the user tunes to a different channel, the DHCT 16 discontinues outputting the alternate output format by reverting to output the first picture format.
V. Interactive Session Display Screens
FIG. 5 is a block diagram of one arrangement for the TV set 341 and the DHCT 16. The DHCT 16 includes a digital display 502 and navigation buttons 504 for performing navigational functions like channel changing, etc. For example, the user can select the navigation buttons 504 to select information in response to a DHCT prompted GUI screen 510 during phase I discovery. Presumably, a GUI screen 510 is presented because a connection between the DHCT port and corresponding connection at the TV set 341 has been made and a video format was input to the TV set input or inputs with which the TV set 341 is compatible. As shown, a text message in the display screen 510 queries the user, “Can you read this question?” The user will enter input if he or she is able to read the question. The display screen 510 suggests through the use of navigation arrow icons 512 that the user can select the navigation buttons 385 on the remote control device 380 (FIG. 3B) or the DHCT navigation buttons 504. One skilled in the art will understand that other buttons can be used to convey a user response, including the use of just the select button 387 (FIG. 3B).
As is shown in FIGS. 6-7, a set of display screens tailored for each combination of video format and display aspect ratio are generated for each respective video format during phase II discovery. Continuing with the example referenced in association with FIG. 4, within the generalized category of a respective scan mode (e.g., progressive versus interlaced), the picture is output in multiple ways to find out further capabilities of the TV set 341. This process includes outputting different aspect ratios such as 16:9, 4:3, or others, as well as embedding a graphical picture within the picture (e.g., letterbox or sidebars). The user may have set the TV set 341 to display letterbox, for example, or there may be a default setting. The user may also configure settings in the DHCT 16 for handling the aspect ratio in a predetermined manner. Thus, there may be cumulative operations performed by the DHCT 16 and the TV set 341 that cause distortions of objects to be amplified (e.g., a ball on the screen may be stretched by operations in the DHCT 16 and then further stretched due to operations in the TV set 341). Images stored in the storage device 373, for example, may be presented at the TV set 341 in a distorted and non-distorted manner to determine these settings. The phase II discovery process also includes outputting graphics with alternate lines displaced or shifted by varied amounts to determine if the TV set 341 has a de-interlacer and if so, what is its quality. Graphical objects in the graphical picture may represent certain geometrical shapes subjected to any of a plurality of 2-D or 3-D transformations that include rotation, scaling, shear and perspectives, among others, that when coupled to alternate line displacements of shift that emulate motion from an interlaced camera, help identify the performance of the de-interlacing capabilities of a de-interlacer. For example, the DHCT 16 may test the quality of the de-interlacer of the TV set 341 to determine if de-interlacing functionality in the DHCT 16 should be bypassed due to superior quality of the de-interlacer in the TV set 341. De-interlacer assessment may be further refined to determine which of two de-interlacers performs best for analog signals, for interlaced SD pictures received as compressed digital signals, and/or for interlaced HD pictures received as compressed digital signals. Note that a TV set may feature “multi-synch” support. For example, an HDTV set may support multiple video formats at its input. In such event, it may be desirable to drive the HDTV set with the native scan format of the sourced input signal to minimize picture degradation.
FIG. 6 illustrates a query that is aimed towards determining how the TV set 341 handles certain aspect ratios. For example, a signal received from the headend 11 (FIG. 2) may carry content at a 4:3 aspect ratio, although the connected TV set is an HDTV having a 16:9 aspect ratio. One way the HDTV set handles this source signal could be to provide black vertical stripe boxes on the side of the 4:3 screen. An interactive session can help the DHCT 16 determine what is connected by the way the TV set handles the displayed picture. As shown, the video format inferred here is handled by the TV set 341 by outlining the picture in the display screen with top and bottom block stripes. The display screen 610 includes a text message that asks the user, “Does the screen have top and bottom black boxes reducing the screen?” Depending on the response to this question, a series of screens can be presented that ask similar questions, such as whether the user sees side block stripes, or a boxed-in picture. In other embodiments, a single screen instruction can ask all of these questions, which are aimed at trying to ascertain the aspect ratio of the TV set 341.
FIG. 7 is a block diagram illustrating another interactive display screen 710 used to fine tune the color quality. As shown, input is requested on the color of a graphical object (although it could be colored-text as well) in the display to ascertain the color temperature of the TV set display. For example, the graphical object, generated internally to the DHCT 16, is a ball 712, and the question presented to the user is, “what is the color of the ball in the screen?” A scrollable color-choice list 714 can be presented, which gives the user a choice of colors to choose from to enable the user to adequately describe the color of the ball.
Other questions can be presented to determine other characteristics. For example, input can be requested from the user on whether visible flicker or certain artifacts are visible to determine if the TV set has an internal line-doubler (i.e., de-interlacer) or to assess the quality of the line doubler versus that of the line doubler of the DHCT 16. Additional questions can be presented to the user to provide user preferences on border color or shade (e.g., the letterbox may be available with different shades of gray to cause the picture brightness to vary and thus enhance the viewer experience).
Additional embodiments can be used for this interactive session between the user and the DHCT 16. In one embodiment, synthesized audio can be played while cycling through the video formats, instructing the user to enter input without any dependence on a displayed GUI. In another embodiment, synthesized audio can be played with a displayed GUI in each cycled video format, and in some embodiments, synthesized audio is repeated if the user's input is not received after an elapsed time greater than a predetermined threshold.
Some embodiments may employ buttons on the DHCT 16 (e.g., light-emitting diodes, or LEDs, such as digital display 502 (FIG. 5)) in lieu of or in addition to the display screens. For example, since some HDTVs and projectors have common inputs that may not accept 1080i signals, the LEDs may be used where on-screen graphics is not readable (e.g., if the scan is not correct). Possible scan values include 1080i, 720p, 480p, and 480i. When NVM values are cleared during staging (e.g., initial installation), the scan value from a staging configuration file may be set. If the staging configuration file does not contain the scan value parameter, 1080i will be set. Most HDTVs will accept the 1080i scan format, so that may be the default value. Other settings may be available using a front panel settings key (not shown). For example, by holding down a settings key for a predetermined period of time, a message light may blink and the LED digits may reveal the current setting. In some embodiments, a scan barker (not shown) may be displayed. Pressing the settings key again may cycle the settings.
The display manager 335 can be implemented in hardware, software, firmware, or a combination thereof. In the preferred embodiment(s), the display manager 335 is implemented in software or firmware that is stored in a memory and that is executed by a suitable instruction execution system. If implemented in hardware, as in an alternative embodiment, the display manager 335 may be implemented with any or a combination of the following technologies, which are all well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
The display manager 335, which comprises an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be emphasized that the above-described embodiments of the present disclosure, particularly, any “preferred embodiments” are merely possible examples of implementations, merely setting forth a clear understanding of the principles of the disclosures. Many variations and modifications may be made to the above-described embodiments of the disclosure without departing substantially from the spirit of the principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of the disclosure and present disclosure and protected by the following claims.

## Claims

1. A system, comprising:
processing logic of a client device configured to effect the presentation of objects on a display screen of a display device coupled to the client device that are altered by one or more pipelines, the processing logic of the client device configured to solicit a response by a user, the processing logic of the client device further configured to, responsive to the response from the user, determine de-interlacing capabilities of the display device coupled to the client device, the processing logic of the client device further configured to determine de-interlacing capabilities of the client device and then determine if the de-interlacing capabilities of the client device should be bypassed in favor of the de-interlacing capabilities of the display device.

2. The client device of claim 1, wherein the display device includes a television set.

3. The system of claim 1, wherein the one or more pipelines further comprises:
a media memory configured to store one or more consecutive interlaced pictures; and circuit logic configured to:
access an interlaced picture from the memory;
process a plurality of lines from a field corresponding to the interlaced picture; and
generate each line of a resulting progressive picture.

4. The client device of claim 3, wherein the processing logic is further configured to affect a display of the progressive picture on the display screen and solicit further user response based on a perceived quality of the display of the progressive picture.

5. The client device of claim 4, wherein the processing logic is further configured to determine whether the de-interlacing capabilities of the client device or of the display device should be used based on the further user response, wherein the processing logic is further configured to responsively implement the de-interlacing capabilities of the client device or of the display device.

6. The client device of claim 3, wherein the processing logic is further configured to determine the de-interlacing capabilities based on an input corresponding to analog signals, interlaced standard definition (SD) pictures received as compressed digital signals, interlaced high definition (HD) pictures received as compressed digital signals, or a combination of two or more.

7. The client device of claim 3, wherein the circuit logic is programmable.

8. The client device of claim 1, wherein the one or more pipelines further comprises:
a media memory configured to store one or more consecutive interlaced pictures; and circuit logic configured to:
access plural interlaced pictures from the media memory;
process a plurality of lines from plural field corresponding to the plural interlaced pictures; and
generate each line of resulting plural progressive pictures.

9. The client device of claim 8, wherein the processing logic is further configured to affect a display of the plural progressive pictures on the display screen and solicit further user response based on a perceived quality of the display of the plural progressive pictures.

10. The client device of claim 9, wherein the processing logic is further configured to determine whether the de-interlacing capabilities of the client device or of the display device should be used based on the further user response.

11. The client device of claim 8, wherein the processing logic is further configured to determine the de-interlacing capabilities of the client device or of the display device based on an input corresponding to analog signals, interlaced standard definition (SD) pictures received as compressed digital signals, interlaced high definition (HD) pictures received as compressed digital signals, or a combination of two or more.

12. The client device of claim 8, wherein the circuit logic is programmable.

13. The client device of claim 1, wherein the processing logic is embodied in a network client device capable of outputting video and audio in at least one defined format through at least one port.

14. The client device of claim 1, wherein the processing logic is further configured to determine the de-interlacing capability of the display device by affecting an output to the display device of graphical objects with alternate lines displaced or shifted by varied amounts based on operations of the one or more pipelines.

15. The client device of claim 14, wherein the determination of de-interlacing capabilities of the display device includes a determination of whether the display device has de-interlacing capabilities, the quality of the de-interlacing capabilities, or a combination of both.

16. The client device of claim 14, wherein the one or more pipelines are further configured to generate the graphical objects based on one or more two-dimensional transformations, one or more three-dimensional transformations, or a combination of both.

17. A method, comprising:
altering one or more objects corresponding to one or more pictures;
de-interlacing by a client device one or more fields corresponding to the altered one or more objects;
outputting the altered objects and the de-interlaced altered objects on a display screen of a display device coupled to the client device;
soliciting user input to determine a quality of one or more rendered displays on the display screen, the one or more rendered displays based on the outputted altered objects that are de-interlaced at the display device and the de-interlaced altered objects provided by the client device;
determining via the client device de-interlacing capabilities of the display device coupled to the client device and de-interlacing capabilities of the client device; and
determining if the de-interlacing capabilities of the client device should be bypassed in favor of the de-interlacing capabilities of the display device.