Method and apparatus for determining the configuration of connections associated with a satellite receiver/decoder

A system for determining which of several satellites to tune an integrated receiver/decoder (IRD) to for receiving electronic program guide data is described. The system scans a plurality of multi-switch ports attempting to acquire a digital marker associated with a predetermined network identifier and polarity. The acquired marker contains information representing a satellite network and a satellite transponder number. In this manner, the system automatically configures the IRD to present electronic program guide information associated with available satellites while excluding guide information associated with unavailable satellites.

TECHNICAL FIELD OF THE INVENTION

The present invention relates in general to a method and apparatus for determining the configuration of connections associated with a satellite receiver/decoder and in particular to determining which of several possible satellite resources are connected to each of several ports on a direct-to-home satellite television receiver/decoder.

BACKGROUND OF THE INVENTION

Television technology has come a long way. Television viewers have more choices today than ever before. Viewers have more services to choose from including, terrestrial, cable, and direct-to-home satellite services. Viewers have more channels to choose from, often exceeding a hundred channels from a single service. In addition, viewers have more equipment options to choose from, including TVs, set top boxes, and satellite dishes from multiple manufacturers.

With all this welcomed choice comes two significant problems. First, it is often difficult for the average consumer to connect the equipment together correctly. For example, connecting cables between more than one satellite dish and an integrated receiver decoder (IRD) can be very confusing. Instruction manuals, hardware keys, color coding, and other similar prior art solutions are inadequate. The equipment may not necessarily be from the same manufacturer, therefore standard connection configurations must be agreed upon by the various manufacturers a priori. Even when a single manufacturer is responsible for all the components, that manufacturer typically does not know which of several options the customer is pursuing (e.g., one satellite dish connected to this year's model of IRD, or two satellites dishes connected to last year's model of IRD and an adapter box, etc.). Consequently, authors of instruction manuals try to cover all the combinations. As a result, these instruction manuals are typically large and contain an excessive amount of irrelevant information.

The second problem the viewer faces is figuring out what programs are available for viewing. Many systems now provide the viewer with an on-screen program guide that can be navigated using a remote control. However, in a system where multiple signal sources are potentially available (e.g., more than one satellite dish connection), a large number of programs listed may not actually be available for viewing if all the potential connections are not actually made.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The system described herein is directed to a direct-to-home integrated receiver/decoder (IRD) and a method for automatically determining the configuration of connections associated with the IRD. Using this system, content from an electronic program guide that is unavailable under the current configuration of the system may be excluded. Although the following description focuses on satellite broadcasts, persons of ordinary skill in the art will readily appreciate that the techniques of the present invention are in no way limited to satellite broadcasts. To the contrary, any multimedia system which might benefit from an automatic determination of how the system is configured in order to exclude certain content from an electronic program guide may employ the techniques shown herein.

In one aspect, the system described herein employs a method for determining an installation configuration associated with a direct-to-home satellite television receiver system. The receiver system typically includes a receiver, two or more communication ports, and a memory device. The method retrieves configuration data (e.g., a table showing which ports are receiving signals from which networks and polarities) and one or more frequencies (digitally represented) from the memory device. A determination is made if the configuration data already contains an association for the first communication port. If not, the receiver is tuned to the first frequency retrieved from memory, and the signal is monitored on the first communication port for a predetermined marker. If the predetermined marker is found within a predetermined period of time, an association between the first communication port and the digital representation of the network/polarity is stored in the memory device. The method then repeats for all remaining communication ports, networks, polarities, and/or frequencies.

In one embodiment, data may be excluded from an electronic program guide that is associated with unavailable content (e.g., content normally received from a network/polarity that was not found on any of the ports). In some embodiments, a default configuration table may be stored in the memory device if the predetermined marker is not found on one or more communications ports within the predetermined period of time.

In general, television signal distribution systems rely on either a cable network or a free-space propagation system for delivering television signals to individual users or subscribers. Cable-based television systems transmit individual television signals or “channels” over a wire. Free-space propagation systems transmit a plurality of channels over-the-air, i.e., in a wireless manner. Most large-scale cable and wireless television signal distribution systems broadcast a broadband television signal having a plurality of individual television signals or channels modulated onto one or more carrier frequencies within a discernable frequency band.

Some wireless television signal distribution systems use one or more geosynchronous satellites to broadcast the broadband television signal to receiver units within a large geographic area. Other wireless systems are land-based and use one or more transmitters located within smaller geographic areas to broadcast to individual receiver units within those geographic areas.

Typically, such wireless systems include a receiver for receiving and processing transmitted waveforms. One type of receiver is part of a wireless digital television system utilized by the DIRECTV® broadcast service. The DIRECTV® system allows residential consumers to receive over 175 television channels from a geosynchronous satellite.

The receiver includes a small (e.g., 18-inch) satellite antenna (e.g., reflective dish and low noise block) connected by a cable to an integrated receiver/decoder unit (IRD). The satellite antenna is aimed toward the satellites, and the IRD is connected to the user's television in a fashion similar to a conventional cable-TV decoder.

On the transmission side, video, audio, and related information data signals are digitally encoded into a packetized data stream using a number of algorithms, including convolutional error correction. The encoded data stream is then compressed to reduce bandwidth requirements, modulated to Ku-band frequency, transmitted to the satellite, and relayed from the satellite to the satellite antenna. The low noise block (LNB) of the satellite antenna shifts the Ku-band signal down to an L-band signal which is transmitted through the cable to the IRD.

In the IRD, front-end circuitry receives the L-band signal and converts it to the original digital data stream of video, audio, and related information signals. The digital data stream is fed to video/audio decoder circuits which perform the main video/audio processing functions such as demultiplexing and decompression. A microcontroller controls the overall operation of the IRD, including the selection of parameters, the set-up and control of components, channel selection, viewer access to different programming packages, blocking certain channels, and many other functions. The compression and decompression of packetized video and audio signals may be accomplished according to the Motion Picture Expert Group (MPEG) standards for performing digital video/audio compression. Thus, the IRD unit typically includes an MPEG-1 and/or MPEG-2 video/audio decoder in order to decompress the received compressed video/audio.

FIG. 1is a block diagram of one such transmission and reception system10. The illustrated system10includes a transmission station14, a relay16, and a plurality of receiver stations, one of which is shown at reference numeral20. A wireless link provides the communications medium between the transmission station14, the relay16, and the receiver station20. The transmission station14includes a programming/data source24, a video/audio/data encoding system26, an uplink frequency converter28, and an uplink satellite antenna30. The relay16is preferably at least one geosynchronous satellite. The receiver station20includes a satellite reception antenna34which may comprise a low-noise-block (LNB)50, a receiver unit (or IRD)36connected to the LNB50, and a television monitor38(or other output device) connected to the receiver unit36.

In operation, the transmission station14can receive video and audio programming from a number of sources, including satellites, terrestrial fiber optics, cable, and/or audio/video tape. Preferably, the received programming signals, along with data signals such as electronic scheduling data and conditional access data, are sent to the video/audio/data encoding system26where they are digitally encoded and multiplexed into a packetized data stream using a number of conventional algorithms, including convolutional error correction and compression. In a conventional manner, the encoded data stream is modulated and sent through the uplink frequency converter28which converts the modulated encoded data stream to a frequency band suitable for reception by the satellite16. Preferably, the satellite frequency is Ku-band. The modulated, encoded data stream is then routed from the uplink frequency converter28to an uplink satellite antenna30where it is broadcast toward the satellite16over the airlink. The satellite16receives the modulated, encoded Ku-band data stream and re-broadcasts it downward toward an area on earth that includes the various receiver stations20. The LNB50of the satellite antenna34of the receiver station20shifts the Ku-band signal down to an L-band signal which is transmitted to the receiver unit36.

A block diagram illustrating an exemplary configuration of LNBs50connected to the receiver unit36using a multi-switch device200is illustrated inFIG. 2. Although this example uses a multi-switch200to connect the receiver unit36to one or more LNBs50, persons of ordinary skill in the art will readily appreciate that the receiver unit36may be connected to LNBs50or other satellite resources with or without the use of a multi-switch200. Further, the LNBs50may be stacked or non-stacked as is well known. Still further, the LNBs50may use a polarity switching scheme or both polarities simultaneously in a well known manner.

In this example, the receiver unit36selects one of eight input ports associates with one of four LNBs50via the multi-switch200by outputting a control signal to the multi-switch200. The multi-switch200in turn provides a control signal to the LNB50. The right hand or the left hand outputs may be selected at each LNB50. In the preferred embodiment, the control signals consist of (i) +13V, (ii) +18V, (iii) +13V and 22 kHz, and (iv) +18V and 22 kHz. Of course, a person of ordinary skill in the art will readily appreciate that any number and any type of control signals may be used. For example, DiSEqC addressing commands may be sent to the multi-switch200to select a particular LNB50. Using the method described below, the LNBs50may be connected to the multi-switch200indiscriminately, thereby easing the installation process.

FIG. 3is a more detailed block diagram of a portion of the receiver unit36shown inFIG. 1. In general, front-end circuitry inside the receiver unit36receives the L-band RF signals from the LNB50and converts them back into the original digital data stream. Decoding circuitry, receives the original data stream and performs video/audio processing operations such as demultiplexing and decompression. A microcontroller58controls the overall operation of the receiver unit36, including the selection of parameters, the set-up and control of components, channel selection, and many other functions.

Specifically, the receiver unit36includes a tuner52, demodulator54, FEC decoder56, the microcontroller58, a transport circuit60, a channel demultiplexer62, decryption circuit64, an access card interface66, an access card reader68, a memory device70, an audio/video decoder circuit72having a random-access-memory (RAM)74, audio decoder76, video decoder78, an audio digital-to-analog circuit80, an NTSC (or other) encoder82, output drivers84, a modem connection86, a front panel user interface88, and a power supply90, coupled together as illustrated. A 27 MHZ clock signal generator92is also provided. The clock generator92generates a clock signal (CK) which is coupled to the audio/video decoder circuit72and which is frequency-calibrated by a signal received from the transport circuit60, as shown.

The transport60receives the transport stream of digitized data packets containing video, audio, data, scheduling information, and other data. The digital packet information contains identifying headers as part of its overhead data. Under control of the micro-controller58, the channel demultiplexer62filters out packets that are not currently of interest, and routes the data packets that are of interest through the decryption circuit64and, in the case of some packets, also through the access control circuits66,68to their proper downstream destination. The decryption circuit64provides decryption for the data packets that have been encrypted. The access control circuits66,68provide access control by any conventional means. For example, access control may be achieved by requiring a data packet to have a proper authorization code in order to be passed to the decryptor64and/or video decoder78. The access card reader68can interface with an access card (not shown) that receives the packet authorization code, determines its validity, and generates a code that confirms to the transport60that the subject data packet is authorized.

The authorized data of interest, which now consists of the payload portions of the received data packets, are forwarded to decoder DRAM74for buffering and may optionally be intermediately stored in the memory device70. The audio/video decoder72decodes the payloads stored in DRAM74, as needed. The requested data is routed from the memory device70through the transport60to the audio/video decoder72. At that time, the data is routed to the video decoder78(which includes display generating circuitry) and the NTSC (or other) encoder64. Preferably, the video decoder78reads in the compressed video data from the DRAM74, parses it, creates quantized frequency domain coefficients, then performs an inverse quantization, inverse discrete cosine transform (DCT) and motion compensation. At this point, an image is reconstructed in the spatial domain. This image is then stored in a frame buffer in the DRAM74. At a later time, the image is read out of the frame buffer in DRAM74and passed through the display circuitry to the encoder82. The display circuitry (located in the video decoder78) generates graphics for on-screen displays such as an electronic program guide. The encoder78converts the digital video signals to an analog signal according to the NTSC standard or to another desired output protocol (e.g., ATSC), thereby allowing video to be received by a conventional television38or other video output device.

In order to aide the user in navigating the content available on such a system, an on-screen television program guide may be generated. Preferably, content records are transmitted to describe the available content and allow the local receiver unit (IRD)36to build the program guide. In the preferred embodiment, the program guide excludes content that is unavailable under the current configuration of the system. For example, if certain networks are unavailable or certain connections are not made to the multi-switch200, channels associated with the unavailable signals are preferably excluded from the program guide to reduce frustration to the user. Accordingly, the system must determine what network signals are available.

A flowchart of a program400that can be implemented by the IRD36is illustrated inFIG. 4. The program400may be used to determine which networks and polarities are available to the IRD36and on which port of the multi-switch200each network/polarity is available. Preferably, these steps are performed by the controller58. In general, the program400scans each possible multi-switch port looking for a predefined marker pattern on a well known SCID (e.g., 0x810) on a particular satellite frequency and polarity associated with a particular network identifier. Marker patterns preferably include information associated with network identification (e.g., 0–255), frequency identification (e.g., 0–31), and polarity type (e.g., left-hand, right-hand, vertical, or horizontal). If the marker pattern is found, the program400associates the current multi-switch port with the particular network identifier and polarity and stores the association in the memory device70. Multi-switch ports associated with identified polarities may be eliminated from the scanning loop in some cases as described in detail below.

The program400begins by receiving and/or retrieving a plurality of network identifiers, each of which is associated with one or more direct-to-home satellite transmission frequencies and one or more polarities such as a left-hand polarity and/or a right-hand polarity (step402). Some or all of the information obtained at step402may be received from a wireless transmission such as a satellite transmission, and/or from a wire-line transmission such as a telephone line transmission. In addition, some or all of the information obtained at step402may be retrieved from a memory device such as internal RAM, internal ROM, and/or a removable memory card. Subsequently, one of the network identifiers from the plurality of network identifiers is selected (step404). Preferably, a mandatory network identifier and/or the network identifier with the lowest number (e.g., 0) is selected first. Mandatory network identifiers are network identifiers associated with signals that must be acquired for the receiver system36to operate properly. If a mandatory network cannot be located, the entire program400is preferably aborted as described in detail below.

Once a network identifier is selected from the plurality of network identifiers, the information obtained at step402is consulted to determine if the program400needs to find a left-hand polarity for the selected network identifier (step406). For example, a look-up table may be employed. If the program400determines that it does not need to find a left-hand polarity for the selected network identifier, the program400consults the information obtained at step402to determine if it needs to find a right-hand polarity for the selected network identifier (step408). Of course, a person of ordinary skill in the art will readily appreciate that other polarities may also be used within the scope and spirit of the present invention.

If the program400determines that it needs to find a particular polarity for the selected network identifier at step406or step408, the program400selects a satellite frequency associated with the current network identifier/polarity from the satellite frequencies obtained in step402(step414). In some instances, the program400may need to take into account that a stacking frequency may be used for a left-hand polarity.

Subsequently, the program400determines if the IRD36being used is a stacking IRD in a well known manner (step416). If the IRD36is a stacking IRD, the program400selects the next untried multi-switch port for the current network identifier/polarity (step418). For example, if the program400just started looking for the left-hand polarity of network zero, the program400may select the first multi-switch port. If the program400has already looked for the left-hand polarity of network zero on the first multi-switch port, the program400may select the second multi-switch port, and so on.

On the other hand, if the IRD36is a non-stacking IRD, the program400selects the next untried multi-switch port for the current network identifier/polarity and optionally skips multi-switch ports already associated with a polarity that is different than the current polarity, even if the skipped multi-switch port has not been tried with the current network identifier and polarity (step420). For example, if the program400just started looking for the left-hand polarity of network zero, the program400may select the first multi-switch port (same as the stacking case so far). However, if the program400has already looked for the left-hand polarity of network zero on the first multi-switch port, and the second multi-switch port is already associated with any right-hand polarity, but the third multi-switch port is not associated with a right-hand polarity, the program400may skip the second multi-switch port and select the third multi-switch port.

Once a multi-switch port is selected, the program400causes the IRD36to tune to the currently selected satellite frequency in a well known manner (step422). Subsequently, for a predetermined period of time, the program400decodes data received via the tuned signal looking of for a predetermined marker pattern (step424). If the marker pattern is received, the program may interpret the included data to determine the network identifier and polarity associated with the marker pattern (step426). The program400then records the fact that the currently selected multi-switch port is associated with the received network identifier and the received polarity which are included with the received marker pattern (step428).

However, the received network identifier and the received polarity may not be the network identifier and polarity program400is currently seeking. Therefore, the program400compares the recorded network identifier and polarity to the current network identifier and polarity (step430). If the recorded network identifier and polarity are the same as the current network identifier and polarity, the program400moves on by checking if there are more network identifiers to find (step410). If the recorded network identifier and polarity are not the same as the current network identifier and polarity, the program400keeps looking for the current network identifier and polarity. However, the recorded network identifier and polarity remain recorded so that they are skipped on subsequent iterations of the program400.

In some instances, trying one satellite frequency associated with a particular network identifier and polarity is sufficient to determine if that network identifier and polarity are present on the current multi-switch port. In other instances, more than one satellite frequency should be tuned when searching for a particular network identifier and polarity. Preferably, this distinction is included in the data received at step402. Accordingly, the program checks if additional frequencies associated with the current network identifier and polarity should be tuned (step432). If an additional frequency associated with the current network identifier and polarity should be tuned, the program400selects another satellite frequency associated with the current network identifier and polarity from the satellite frequencies obtained in step402(step434) and loops back to step422.

If additional frequencies associated with the current network identifier and polarity should not be tuned, the program400determines if there are more untried multi-switch ports for this network identifier and polarity (step436). This is preferably accomplished by scanning the multi-switch ports in a predetermined sequence and checking if the last one in the sequence has been checked. If there are more untried multi-switch ports for this network identifier and polarity, the program400preferably selects an untried multi-switch port, taking into account that the IRD36may be a stacking IRD as described in detail above. If there are no more untried multi-switch ports for this network identifier and polarity, the program400preferably records a message in memory indicative of a failure to find the current network identifier and polarity on any multi-switch port (step438).

In the event of such a failure, the program400checks the data received in step402to see if the current network identifier is designated as a mandatory network identifier. Mandatory network identifiers are network identifiers associated with signals that must be acquired for the satellite receiver36to operate properly (e.g., network zero). If the current network identifier is not designated as mandatory, the program400preferably moves on by checking if there are more network identifiers to find (step410). If there are no more network identifiers to find, or the current network identifier is designated as mandatory and could not be found, then the program400preferably exits.

In summary, persons of ordinary skill in the art will readily appreciate that a method and apparatus for determining network availability and configuration at a satellite receiver/decoder has been provided. Users of satellite systems implementing the teachings of the present invention will be less burdened with the need to consult user's manuals in an attempt to install the system in a particular configuration. Further, these users will benefit from an electronic program guide which eliminates data associated with programs which are unavailable thereby conserving memory and simplifying the program guide.