EchoStar Invents Faster Way to Channel Surf

Relying on software that can predict which channel a pay TV subscriber will tune based on viewing habits, inventors at Dish Network corporate sibling EchoStar say they have discovered a faster way to channel surf.

Echostar details how pay TV distributors could take advantage of idle tuners in homes with multi-tuner DVRs such as the Dish’s Hopper. “Rather than remaining idle, these tuners and decoding resources may be used to tune to and, possibly, decode television channels that are predicted as possible to be selected for presentation by the user,” EchoStar states in the patent.

Former EchoStar CTO Dave Kummer is named as lead inventor on the patent, titled, “Using Idle Resources to Reduce Channel Change Times.” Kummer retired from EchoStar in June.

EchoStar may be able to pitch the invention to pay TV distributors that distribute cloud-based interactive program guides. Its faster channel changing approach may be able to reduce any latency that could occur with a cloud-based program guides.

Abstract: Arrangements for preparing a television channel for presentation are presented. A tuner of a television receiver may tune to a first television channel and the first television channel may be output for presentation. One or more idle tuners of the television receiver may be identified. One or more television channels other than the first television channel may be selected for preparation. The one or more television channels may be selected prior to receiving user input selecting a television channel of the one or more television channels for presentation. Each of the one or more television channels may be prepared for presentation by tuning, by each tuner of the one or more idle tuners, to the one or more television channels prior to receiving the user input selecting the television channel of the one or more television channels for presentation.

Patent

Claims:

  1. A television receiver, comprising: a plurality of tuners; one or more processors; and a memory communicatively coupled with and readable by the one or more processors and having stored therein processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to: cause a tuner of the plurality of tuners to tune to a first television channel in response to a channel up or a channel down command, wherein: the first television channel is output for presentation; and the first television channel is received as part of a first transponder stream that comprises the first television channel and a first plurality of indirectly tuned television channels; cause the first plurality of indirectly tuned television channels to be prepared for presentation; identify one or more idle tuners of the plurality of tuners, wherein being idle comprises a tuner not being used to receive any television channels for presentation or recording; select a second television channel other than the first television channel for preparation, wherein: the second television channel is not part of the first plurality of indirectly tuned televisions channels; the second television channel is received as part of a second transponder stream that comprises the second television channel and a second plurality of indirectly tuned television channels; cause the second plurality of indirectly tuned television channels to be prepared for presentation by causing a second tuner of the one or more idle tuners to tune to the second transponder stream prior to receiving user input selecting any television channel of the second transponder stream; cause the second plurality of indirectly tuned television channels to be buffered prior to receiving user input selecting any television channel of the second transponder stream, wherein buffering comprises processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to: cause a most recent received I-frame to be stored for each television channel of the second plurality of indirectly tuned television channels; and cause P- and B-frames received after the most recently received I-frame for each television channel of the second plurality of indirectly tuned television channels to be stored; after the second television channel and the second plurality of indirectly tuned television channels are buffered, process a channel change command that indicates a third television channel of the second plurality of indirectly tuned television channels; in response to receiving the channel change command that indicates the third television channel, decode the third television channel using the most recently received I-frame and P- and B-frames received after the most recently received I-frame for the third television channel; and cause the decoded third television channel to be output for presentation.
  1. A method for preparing a television channel for presentation, comprising: tuning, by a tuner of a television receiver, to a first television channel, wherein: the first television channel is output for presentation; and the first television channel is received as part of a first transponder stream that comprises the first television channel and a first plurality of indirectly tuned television channels; causing the first plurality of indirectly tuned television channels to be prepared for presentation; identifying, by the television receiver, one or more idle tuners of the television receiver, wherein a tuner being idle comprises the tuner not being used to receive any television channels for presentation or recording; selecting, by the television receiver, a second television channel for preparation, wherein: the second television channel is not part of the first plurality of indirectly tuned televisions channels; and the second television channel is received as part of a second transponder stream that comprises the second television channel and a second plurality of indirectly tuned television channels; preparing the second plurality of indirectly tuned television channels for presentation by tuning, by a second tuner of the one or more idle tuners, to the second transponder stream prior to receiving the user input selecting the second television channel for presentation or any of the second plurality of indirectly tuned television channels; and buffering the second television channel and the second plurality of indirectly tuned television channels prior to receiving user input selecting either the second television channel or any of the second plurality of indirectly tuned television channels to be output for presentation, wherein buffering comprises: storing a most recent received I-frame for each television channel of the second plurality of indirectly tuned television channels; and storing P- and B-frames received after the most recently received I-frame for each television channel of the second plurality of indirectly tuned television channels; after buffering the second television channel and the second plurality of indirectly tuned television channels, receiving, by the television receiver, a channel change command that indicates a third television channel of the second plurality of indirectly tuned television channels; in response to receiving the channel change command that indicates the third television channel, decoding the third television channel using the most recently received I-frame and P- and B-frames received after the most recently received I-frame for the third television channel; and outputting for presentation, by the television receiver, the decoded third television channel.
  1. The method for preparing the television channel for presentation of claim 2, further comprising: decoding, by one or more decoders of the television receiver, the second television channel prior to receiving user input selecting the second television channel for presentation; and prior to receiving user input selecting the second television channel, discarding output of the decoded second television channel.
  1. The method for preparing the television channel for presentation of claim 3, further comprising: outputting for presentation, by the television receiver, an electronic programming guide that indicates programming on the first and second plurality of indirectly tuned television channels; and for each of the first and second plurality of indirectly tuned television channels, outputting for presentation, as part of the electronic programming guide, an indication that each television channel of the first and second plurality of indirectly tuned television channels is being decoded.
  1. The method for preparing the television channel for presentation of claim 4, wherein for each television channel of the first and second plurality of indirectly tuned television channels, the indication for each television channel that is being decoded is an image of an I-frame of the television channel.
  1. A non-transitory processor-readable medium for preparing a television channel for presentation, comprising processor-readable instructions configured to cause one or more processors to: cause a tuner of a television receiver to tune to a first television channel in response to a channel up or channel down command, wherein: the first television channel is output for presentation; and the first television channel is received as part of a first transponder stream that comprises the first television channel and a first plurality of indirectly tuned television channels; cause the first plurality of indirectly tuned television channels to be prepared for presentation; identify one or more idle tuners of the television receiver, wherein a tuner being idle comprises the tuner not being used to receive any television channels for presentation or recording; select a second television channel other than the first television channel for preparation, wherein: the second television channel is a next greater or a next lesser television channel in relation to the first television channel that is determined to not be part of the first plurality of indirectly tuned televisions channels; the second television channel is selected for preparation prior to receiving user input selecting the second television channel for presentation; and the second television channel is received as part of a second transponder stream that comprises the second television channel and a second plurality of indirectly tuned television channels; cause the second plurality of indirectly tuned television channels to be prepared for presentation by causing a second tuner of the one or more idle tuners to tune to the second transponder stream and cause the second plurality of indirectly selected television channels to be buffered prior, wherein buffering comprises processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to: cause a most recent received I-frame to be stored for each television channel of the second plurality of indirectly tuned television channels; and cause P- and B-frames received after the most recently received I-frame for each television channel of the second plurality of indirectly tuned television channels to be stored; after the second television channel and the second plurality of indirectly tuned television channels are buffered, process a channel change command that indicates a third television channel of the second plurality of indirectly tuned television channels; in response to receiving the channel change command that indicates the third television channel, decode the third television channel using the most recently received I-frame and P- and B-frames received after the most recently received I-frame for the third television channel; and cause the decoded third television channel to be output for presentation.