# Patent

## Title
IPTV start speed enhancement

## Abstract

An Internet audio video device receives a command to power up from a standby mode. This causes the device to start a boot process, and while the boot process proceeds. The process determines a next content selection from a usage pattern database. The Internet audio video device is set to the retrieved settings. At completion of the boot process the audio video device is operational at the retrieved settings. This abstract is not to be considered limiting, since other embodiments may deviate from the features described in this abstract.

## Background
CROSS REFERENCE TO RELATED DOCUMENTS
This application is related to U.S. patent application Ser. No. 14/086,017 filed Nov. 21, 2013 which is a continuation of Ser. No. 13/941,857 filed Jul. 15, 2013, which is a divisional application of U.S. patent application Ser. No. 13/418,583, filed Mar. 13, 2012 (now U.S. Pat. No. 8,531,612 issued Sep. 10, 2013), each of which are hereby incorporated herein by reference.
COPYRIGHT AND TRADEMARK NOTICE
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. Trademarks are the property of their respective owners.
BACKGROUND
When a television receiver device is turned off via a remote controller, it is generally only placed in a lower power consumption standby mode in which the remote control receiver remains active and several other functions such as a real-time clock may remain active. However, users commonly refer to this state as “off” despite the power consumption not actually being zero.
Due to the increasing complexity of television (TV) sets, the startup time for a user to get from the off (standby) state to a desired channel and/or input (including boot time and time to navigate to the desired channel and input) has increased. Prior generations of television sets often utilized embedded assembler and other techniques to control the TV processor that operated very quickly resulting in a quick boot up time. However, the complexity of current and future generations of television sets makes use of such techniques unmanageable. As a result, TV sets are now being developed to utilize a Linux kernel and higher level programming in order to implement the many complex features of a television. This in turn makes advanced features easier to implement, but unfortunately results in the TV not being fully responsive for several minutes. The problem is compounded with digital TV which not only requires a tuner to tune to a particular frequency, but also requires filtering by packet identifier to obtain the proper data stream for a major and minor channel, and audio and video decoding of the channel's data stream to begin before a channel actually appears tuned to the user. Hence, a user could actuate the power switch and not be able to actually view a desired channel or input for several minutes.



BRIEF DESCRIPTION OF THE DRAWINGS
Certain illustrative embodiments illustrating organization and method of operation, together with objects and advantages may be best understood by reference detailed description that follows taken in conjunction with the accompanying drawings in which:
FIG. 1 is an example simplified block diagram of a television receiver device consistent with certain embodiments of the present invention.
FIG. 2 is an example process depicted in flow chart form for an implementation consistent with certain embodiments of the present invention.
FIG. 3 is an example process depicted in flow chart form for an implementation consistent with certain embodiments of the present invention.
FIG. 4 is an example process depicted in flow chart form of another implementation consistent with certain embodiments of the present invention.
FIG. 5 is an example process depicted in flow chart form of another implementation consistent with certain embodiments of the present invention.
FIG. 6 is an example of a block diagram of an Internet enabled television consistent with embodiments of the present invention.
FIG. 7 depicts a flow chart of an example process for entering a standby configuration in the example system 600 in a manner consistent with the present invention.
FIG. 8 is an example of a process for turn on of system 600 in a manner consistent with the present invention.



DETAILED DESCRIPTION
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure of such embodiments is to be considered as an example of the principles and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
The terms “a” or “an”, as used herein, are defined as one or more than one. The term “plurality”, as used herein, is defined as two or more than two. The term “another”, as used herein, is defined as at least a second or more. The terms “including” and/or “having”, as used herein, are defined as comprising (i.e., open language). The term “coupled”, as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The term “program” or “computer program” or similar terms, as used herein, is defined as a sequence of instructions designed for execution on a computer system. A “program”, or “computer program”, may include a subroutine, a function, a procedure, an object method, an object implementation, in an executable application, an app, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system. The term “processor”, “controller”, “CPU”, “Computer” and the like as used herein encompasses both hard programmed, special purpose, general purpose and programmable devices and may encompass a plurality of such devices or a single device in either a distributed or centralized configuration without limitation.
The term “program”, as used herein, may also be used in a second context (the above definition being for the first context). In the second context, the term is used in the sense of a “television program” or “show”. In this context, the term is used to mean any coherent sequence of audio video content such as those which would be interpreted as and reported in an electronic program guide (EPG) as a single television program, without regard for whether the content is a movie, sporting event, segment of a multi-part series, news broadcast, etc. The term may also be interpreted to encompass commercial spots and other program-like content which may not be reported as a program in an electronic program guide.
Reference throughout this document to “one embodiment”, “certain embodiments”, “an embodiment”, “an example”, “an implementation” or similar terms means that a particular feature, structure, or characteristic described in connection with the embodiment, example or implementation is included in at least one embodiment, example or implementation of the present invention. Thus, the appearances of such phrases or in various places throughout this specification are not necessarily all referring to the same embodiment, example or implementation. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments, examples or implementations without limitation.
The term “or” as used herein is to be interpreted as an inclusive or meaning any one or any combination. Therefore, “A, B or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.
As previously noted, when a television receiver device is turned off via a remote controller, it is generally only placed in a lower power consumption standby mode in which the remote control receiver remains active and several other functions such as a real-time clock may remain active. However, users commonly refer to this state as “off” despite the power consumption not actually being zero. For purposes of this document, the terms “off” and “standby” may be used somewhat synonymously unless the context makes it clear that one actual state or the other is intended.
Due to the increasing complexity of television (TV) sets, the startup time for a user to get from the off (standby) state to a desired channel and/or input (including boot time and time to navigate to the desired channel and input) has increased. Prior generations of television sets often utilized embedded assembler and other techniques to control the TV processor that operated very quickly resulting in a quick boot up time. However, the complexity of current and future generations of television sets makes use of such techniques unmanageable. As a result, TV sets are now being developed to utilize a Linux kernel and higher level programming in order to implement the many complex features of a television. This in turn makes advanced features easier to implement, but unfortunately results in the TV not being fully responsive for several minutes. The problem is compounded with digital TV which not only requires a tuner to tune to a particular frequency, but also requires filtering by packet identifier to obtain the proper data stream for a major and minor channel, and audio and video decoding of the channel's data stream to begin before a channel actually appears tuned to the user. For purposes of this document, all actions needed to place the TV in a state capable of tuning and filtering and decoding a selected channel is considered “tuning”. Hence, a user could actuate the power switch and not be able to actually view a desired channel or input for several minutes.
This problem can be ameliorated by recognizing that a TV user's usage pattern is often quite simple. For example, in the evening the user may often watch a movie or a late news cast. In the morning the user will often watch the same news program every morning on the same channel. In accord with certain implementations, this usage pattern can be utilized to shorten the time to get the user to a useful mode of the television set. The TV can remember the typical morning usage state and when the TV is turned off in the evening, it knows that it will likely be tuned to the same state that was used that morning (or a corresponding morning of the week). Hence when the TV is turned on in the morning, before it has fully booted and is responsive to the user commands, the TV could already be tuned to the desired input source, either by pre-tuning or by tuning as soon as the tuner is powered up. The user would not have to wait for the set to finish booting nor wait for the user's input commands since the TV will power up in the state most often desired by the user.
Thus, in accord with certain implementations, a television receives a command to power up from a standby mode. This causes the TV to start a boot process, and while the boot process proceeds. At a that a point in the boot process when the tuner input switch are operative the process simultaneously determines a current time from a real time clock and retrieves a channel and a switch setting from a usage pattern database corresponding to the current time. The tuner is tuned to the channel and the input switch is set. At completion of the boot process the tuner is already tuned to the channel and the input switch is set to the switch setting corresponding the current time so that time to viewing a desired channel is often minimized. The state used to set the input switch and the tuner can be based on the time of day or both time of day and the day of the week.
In the present discussion, a television set is used as an example, however, embodiments consistent with the present invention may be implemented using other television receiver devices such as set top boxes, Internet appliances and other devices that do not directly incorporate a display without departing from implementations consistent with the present invention.
Referring now to FIG. 1, a simplified block diagram of a television receiver device, such as a television set, is depicted as 100. This depiction is simplified in that all communication is shown as being carried out through a single bus 104, whereas in a typical television receiver device multiple buses or direct interconnections of various components may be more advantageous. The operation of the system is controlled by a central processor or multiple central processors 108 that interface via the bus to memory and storage 112, which can be any combination of suitable storage devices, such as random access memory (RAM), read only memory (ROM), flash memory, and disc storage, for example. In this example embodiment, the memory 112 includes operating system and boot control routines 116, as well as program and system information protocol (PSIP) tables 120, a user profile database and a usage pattern database 124, the functions of which will be discussed later. A television receiver and tuner circuitry 128 provides for receipt of radiofrequency or Internet Protocol TV (IPTV) programming depending up on the configuration of input switches 132, which control the source of content being received by television 100. For digital programming, packet identifier (PID) filters and decoders 136 are utilized to tune to an incoming transport stream carried on a particular frequency and to extract the relevant segments of that transport stream corresponding to a particular television channel to be tuned.
Once the digital television signal is decoded, the decoded video is sent to a display interface 140 for display on a display panel 144, while the audio is decoded and sent to an audio system 148 for conversion to audible sounds. A real time clock 152 is provided for keeping track of current time, as well as day of the week and date, etc. A remote control interface and radio interfaces 156 receive signals from a remote controller 160 in order to implement user commands at the television 100. Interfaces 156 can also include an interface for receiving Blutooth signals or WiFi signals. Such commands can include commands to power the television on to a normal operational state or to power the television down to what is commonly considered “off”, but in reality is a low power standby mode in which the remote control interface 156 remains active so as to be able to receive power on signals from the remote controller 160, and real time clock 152 is also maintained in an active state so as to continue to keep accurate time. Other components of the system may be placed in a standby, off, or low power state as dictated by the needs to keep various systems active or by the lack of such need.
In certain implementations, the digital television receiver can also include a camera and facial recognition programming in order to recognize viewers and access the user profile database 122 based on a recognized viewer. Similarly, a viewer can be recognized by presence of a Bluetooth or WiFi identifier emitted to/from a cellular telephone associated with a particular user. This information can also be used to link with a user profile in database 122. Similarly, input of a user identifier code on the remote controller 160 or receipt of another type biometric data identifying a particular user for association with the user profile database can be implemented, e.g., using a fingerprint reader on the remote control. Other variations will occur to those skilled in the art upon consideration of the present teachings.
The usage pattern database can directly store frequency and sets of packet identifiers (PIDs) corresponding to a particular channel to be tuned so that the tuning process does not depend directly upon the program and system information (PSIP) tables (e.g., the program map table PMT and program association table PAT). In this case, the time or time and day of the week is mapped directly to the data needed to tune the tuner and set the input switch. Alternatively, the usage pattern database can point to data in the PSIP tables that store the particulars of frequency and PID sets used to find and decode the channel for a given time or time and day of the week. Further, the usage pattern may be individualized for any particular user or group of users identified by a profile in database 122.
In accordance with one implementation consistent with embodiments of the present invention, a process 200 as shown in FIG. 2 can be utilized wherein the television is in the standby mode 204 awaiting a power on command at 208. So long as a power on command is not received, the television remains in the standby mode at 212 and 204, and the process awaits receipt of a power on command. Upon receipt of such power on command, the television's boot process begins at 216. The boot process spans the functions shown in the bracketed area 220 including all functions which are normally required to get the TV into a fully operational state and get the TV 100 and processor 108 “booted”. In accord with this embodiment, at some point in the boot process, the tuner and input switch are placed in an active state at 224. Once the tuner and input switch are in this active state at 224, the process need not await full booting of the system. A parallel process is carried out where in the current time and day of the week are retrieved at 228 from real time clock 152. Once the time and day are known at 228, a usage pattern can be retrieved at 232 from the usage pattern database 124. In certain implementations, this usage pattern may be individualized for a particular detected user as profiled in database 122. This usage pattern may include input switch setting and tuner settings as well as other attributes such as volume at a particular time and day as will be discussed later. Once this information is known at 232, the process proceeds to 236 where a determination is made as to whether or not the input needs to be switched. If not, control passes to 240, but if a switch operation needs to be carried out on the input switch, then the input switch is switched at 244. Control then passes from 244 to 240 where a determination is made as to whether a new channel is to be selected. This channel is then selected at 240, and the tuner is tuned to this channel at 248.
In the above process, the usage pattern database 124 is used to determine what channel and what input switch setting a particular user would normally utilize at a particular time of day or a particular time of a particular day of the week. Usage patterns are generally rather simple as discussed above, so prediction of a channel that a user will desire at a particular time and day of the week is relatively reliable in most instances. However, in the event the TV is turned on at a time of day that does not correspond to any known usage pattern, the processor can refer to the Electronic Programming Guide's (EPG's) recording schedule and if a program has been scheduled for recording, the TV can switch channels and inputs to the channel being recorded automatically. Multiple viewing patterns for multiple identified users may be reconciled by group profiles or by a priority for each user. If there is no other resort, the last channel tuned can be used. Other variations will occur to those skilled in the art upon consideration of these teachings.
Once this information is known, the process from 228 to 248 can be carried out in parallel with the booting process 220 so that the user does not have to await sequential tuning and boot operations only to have to subsequently retune the tuner. The tuner in effect will be tuned to a likely channel for the particular time of day and day of the week, as determined by 228. If no tuning is necessary at 240 or if the tuner is tuned at 248, full control turns back to the boot process at whatever stage it is in leaving the tuner and input switches set to a likely setting for the particular user's usage pattern. Meanwhile, process 220 proceeds through carrying out other boot operations until the end of the boot process is reached at 256. Once the end of the boot process is reached, normal operation of the television can proceed at 260 and the television will begin operation in the mode of being tuned to the most common tuned channel via the most common input for a particular time of day and day of week. It is noted that in certain implementations normal TV operation at 260 may include viewer detection using biometrics as described earlier.
In order to carry out the operation just described, a usage pattern database 124 is maintained, as described in the process 300 of FIG. 3. In certain implementations, the usage pattern database 124 can be based only on time and day, while other implementations can also utilize any suitable mechanism for detecting an actual viewer and the usage pattern database 124 can be individualized for particular users or groups of users. During normal television operation at 260, whenever an input is switched at 302, the date (day of week) and time is retrieved from the real time clock 152 at 306. If a switch setting is to be changed, such change is implemented at 310, then the switch change is logged to usage pattern database 124 at 314 (possibly along with the identity of a known user stored in the user profile database). In a similar manner, when the tuner is changed to change channels at 318, the date and time are retrieved at 322 from real time clock 152, and the tuner is tuned at 326. This change in tuner setting is logged to the database at 330 and control returns to normal TV operation at 260 with the tuner and/or switch having been set to a new setting. If the input switch is not switched at 302 and the tuner is not adjusted at 318, control also returns to 260 to await such changes and possibly monitor viewer identities. It is also noted that the usage pattern database 124 in certain implementations may be modified manually via manual input during any time of operation to the television set at 336.
When utilizing any of the techniques disclosed herein, it is also possible to record a volume setting in the usage pattern database for use when pre-tuning to a particular input or channel. This permits the TV to not only adjust the channel and input setting of the TV to a channel or input that is consistent with the TV's usage pattern, but also to adjust the audio volume accordingly. In this manner, it is possible to automatically compensate for variations in audio from channel to channel, input to input, and listener preference. This change in volume setting can be implemented upon changing the switch setting at 310 and/or tuning the tuner at 326 in process 300 or in a decision loop process similar to that disclosed in connection with the input switch adjustment or tuner adjustment as depicted in process 300.
Referring now to FIG. 4, an alternative implementation 400 is depicted wherein rather than parallel processing the tuner and input switch setting during the boot process, the tuner and input switch are preloaded with appropriate channel and switch settings upon power down of the television set to a standby mode. In accordance with this implementation, during normal TV operation at 260 if an off command is received (bearing in mind that off command generally takes the television to a standby mode) at 470, the processor or processors retrieve tuner and switch state information from the usage pattern database 124 after retrieving the current time from the real time clock 152 at 474. The information retrieved, however, is for the anticipated next turn-on time (and possibly for a predicted viewer with the prediction based on a particular user's viewing patterns) for the television set. This can be deduced from the current time, and the usage pattern database, which should accurately predict for the most part based on the viewers' usage patterns and monitoring the usage patterns of particular identified viewers as identified in the user profile database 122, what time, channel, and input will be used when the television is next turned on. Based on this information, the tuner is pre-tuned at 478, and the input switch is pre-switched at 482 before power is completely taken to the standby state at 486. This can also be implemented by preloading the information on channel and switch setting and the actual tuning and switch changes can take place in parallel with the boot process when the TV is turned on.
It is also possible to automatically compensate for variations in audio from channel to channel, input to input, viewer to viewer, and listener preference in the present implementation. This change in volume setting can be implemented upon pre-tuning the tuner at 478 and/or changing the switch setting at 482 in process 400 or in a separate sequential function (not shown) similar to that disclosed in connection with the input switch adjustment or tuner adjustment as depicted in process 400.
Referring now to FIG. 5, process 500 begins with the television in the standby mode 204. When a power on command is received at 506, the boot process starts at 510. If no power on command is received at 506, the television remains in the standby state at 516 awaiting receipt of the power on command. Once the boot process begins at 510, the process extends through the actions depicted as 520. During this boot process at 524, the tuner and input switch are activated using the pre-tuned and pre-switched states discussed in connection with process 400 and possibly including audio volume settings or other TV attributes. When the boot process completes at 530, normal TV operation begins at 260 on the channel and input determined by the pre-tuning at 478 and pre-switching at 482 as well as possibly pre-setting the audio volume or other television attributes. At 260, if the actual viewer is not the same as the predicted viewer, the tuner and input switches can be changed automatically based on detection of an actual viewer or group of viewers or the viewer can manually change the signal. In this manner, the TV begins operation in a state that is predicted with relatively high confidence to be the state that the user is likely to desire based on day of week and time of day. The tuning of the tuner involves both selection of a frequency and selection of packet identifiers (PIDs) used to tune to the correct frequency and to filter the correct PIDs used to extract a particular program from the transport stream.
While the above discussion focuses on digital television content such as that supplied by broadcasters and cable or satellite operators, Internet Protocol television can benefit from the present teachings also. As noted above, IPTV can be one form of programming accessed by selection of specified input switches 132. In addition, a network interface internal or external to a television set can be utilized to obtain content for programming that is routinely retrieved by a user under specified circumstances such as time, date or other conditions that can be characterized in the usage database.
FIG. 6 depicts an IPTV television receiver device such as a TV set 600 that is similar to that depicted in 100. However, it is noted that all of the functionality depicted in 600 is not needed for an IPTV receiver and in embodiments consistent with the present teachings, a tuner, TV receiver, etc. and even the display 144 and display interface 140 may be omitted for Internet appliances consistent with the present teachings. In this particular implementation example, a network interface 604 is provided which interfaces with the Internet 608 in order to retrieve content such as streaming content from an A/V streaming source 612 via the Internet. In this case, a browser and/or media player computer program stored in memory 112 can be utilized to address the particular content to be streamed with the usage pattern indicates that such streamed programming is to be played.
FIG. 7 depicts a flow chart of an example process for entering a standby configuration in this example of system 600. In this illustrative example, during normal IPTV or other TV operation at 760 if an off command is received (bearing in mind that off command generally takes the television or other Internet appliance to a standby mode) at 470, then the processor or processors retrieve a URL or URI or other form of Internet addressing and potentially a switch state information from the usage pattern database 124 for the next anticipated event. Such an anticipated event may be based upon a time and a time reference from the real time clock 152 as well as possibly a predicted user from user profile database 122 at 774 representing a user's usage patterns. In other examples, an event may be that the user is watching a series of content (e.g., a television or educational series that is streamed from a service provider) and can presume that the user will wish to watch the next program in the series. The information retrieved, however, is for the anticipated next turn-on of the IPTV device. This can be deduced, for example, from the current time, and the usage pattern database, which should accurately predict for the most part, based on the viewers' usage patterns, what time, IP address, etc. will be associated with the next IPTV event (i.e., the next turn-on). User identification can be carried out as previously described using various biometrics to correlate a viewer to his or her user profile.
Based on this information, the Internet address is pre-fetched at 778 and pre-loaded into the Browser/player 620, and the input switch is pre-switched at 482 if needed before power is completely taken to the standby state at 486. This can also be implemented by preloading the information on IP address and switch setting and the actual retrieval of the IP address can take place at the earliest point in the boot process in which the browser/player can be made operational and hence can take place in parallel with a portion of the boot process when the IPTV device is turned on.
It is also possible to automatically compensate for variations in audio from channel to channel, input to input, and listener preference in the present implementation. This change in volume setting can be implemented upon pre-loading the browser/player at 778 and/or changing the switch setting at 482 in process 700 or in a separate sequential function (not shown) similar to that disclosed in connection with the input switch adjustment or tuner adjustment as depicted in process 700.
FIG. 8 is an example of a process 800 for turn on of system 600 in a manner consistent with the present invention. Process 800 begins with the television in the standby mode 204. When a power on command is received at 506, the boot process starts at 510. If no power on command is received at 506, the television remains in the standby state at 516 awaiting receipt of the power on command. Once the boot process begins at 510, the process extends through the actions depicted as 820.
During this boot process at 824, the Browser/player and input switch are activated using the pre-loaded Internet address pre-switched states discussed in connection with process 700 and possibly including audio volume settings or other IPTV device attributes and further possibly customized for a predicted viewer. When the boot process completes at 530, normal IPTV operation (possibly including viewer identification biometrics processing) begins at 760 at the IP address that has been preloaded into the browser/player as well as optionally pre-setting the audio volume or other IP television attributes. In this manner, the IPTV begins operation in a state that is predicted with relatively high confidence to be the state that the user is likely to desire based on a particular event such as day of week and time of day.
Hence, digital television content such as that supplied by broadcasters, cable or satellite operators, as well as Internet Protocol television can benefit from the present teachings also. As noted above, IPTV can be one form of programming accessed by selection of specified input switches 132. In addition, a network interface internal or external to a television set or forming the heart of an IPTV or set top box or other interface or Internet appliance can be utilized to obtain content for programming that is routinely retrieved by a user under specified circumstances such as time, date or other conditions that can be characterized in the usage database.
Thus, in accord with certain implementations, a method of starting a television involves receiving a command to power up the television from a standby mode; starting a television boot process, and while the boot process proceeds: determining that a point in the boot process when a television tuner is operative and an input switch is operative has been reached; determining a current time from a real time clock; retrieving a channel and a switch setting from a usage pattern database corresponding to the current time; tuning the tuner to the channel and selecting the switch setting at an input switch; and completing the boot process so that at the end of the boot process the tuner is already tuned to the channel and the input switch is set to the switch setting corresponding the current time.
A tangible non-transitory computer readable electronic storage medium storing instructions which, when executed on one or more programmed processors, carry out a method involving starting a television boot process, and while the boot process proceeds: determining that a point in the boot process when a television tuner is operative and an input switch is operative has been reached; determining a current time from a real time clock; retrieving a channel and a switch setting from a usage pattern database corresponding to the current time; tuning the tuner to the channel and selecting the switch setting at an input switch; and completing the boot process so that at the end of the boot process the tuner is already tuned to the channel and the input switch is set to the switch setting corresponding the current time.
A television receiver device has a remote command receiver configured to receive a command to power up the television receiver device from a standby mode. A memory stores a usage pattern database. A real time clock, a television tuner device and an input switch are provided. A programmed processor is programmed to: start a television boot process, and while the boot process proceeds: determine that a point in the boot process when the television tuner device is operative and the input switch is operative has been reached; determine a current time from the real time clock; retrieve a channel and a switch setting from the usage pattern database corresponding to the current time; tune the tuner to the channel and selecting the switch setting at an input switch; and complete the boot process so that at the end of the boot process the tuner is already tuned to the channel and the input switch is set to the switch setting corresponding the current time.
In certain implementations, determining the current time further involves determining a current day of the week. In certain implementations, retrieving the channel and the switch setting from the usage pattern database further comprises retrieving the channel and switch setting corresponding to the current time on the current day of the week. In certain implementations, the tuning comprises tuning the tuner to a specified frequency and setting packet filters to select packets having a specified set of packet identifiers from a transport stream corresponding to the channel. In certain implementations, the specified frequency and set of packet identifiers is stored in the usage pattern database. In certain implementations, the specified frequency and set of packet identifiers is stored in program and system information protocol (PSIP) tables that are indexed in the usage pattern database. In certain implementations, an audio volume setting is retrieved from the usage pattern database and the audio volume is set to a level determined by the usage pattern database so that at the end of the boot process the audio volume is set to a value corresponding the current time. In certain implementations, the channel and switch setting correspond to a channel and switch setting for a recording that corresponds to the current time. In certain implementations, the next content selection is further based upon a predicted user identified in a user profile database.
Another method of starting a television involves receiving a command to power down the television to a standby mode; prior to fully entering the standby mode: determining a next time of operation of the television from a usage pattern database with reference to a real time clock; retrieving a channel and a switch setting from a usage pattern database corresponding to the next time of operation of the television; pre-tuning the tuner to the channel and selecting the switch setting at an input switch; and completing entry of the television to the standby mode.
In certain implementations, the a television boot process is started and upon completing the boot process, at the end of the boot process the tuner is already tuned to the channel and the input switch is set to the switch setting corresponding the next time of operation. In certain implementations, the process further involves retrieving an audio volume setting from the usage pattern database and pre-setting the audio volume to a level determined by the usage pattern database. In certain implementations, the channel and switch setting correspond to a channel and switch setting for a recording that corresponds to the current time. In certain implementations, the next content selection is further based upon a predicted user identified in a user profile database.
A tangible non-transitory computer readable electronic storage medium storing instructions which, when executed on one or more programmed processors, carry out a method that involves starting a power down process to power the television to a standby mode; prior to fully entering the standby mode: determining a next time of operation of the television from a usage pattern database; retrieving a channel and a switch setting from a usage pattern database corresponding to the next time of operation of the television; pre-tuning the tuner to the channel and selecting the switch setting at an input switch; and completing entry of the television to the standby mode.
A television receiver device has a remote command receiver configured to receive a command to power up the television receiver device from a standby mode. A memory stores a usage pattern database. A real time clock, a television tuner device, and an input switch are provided. A programmed processor is programmed to: receive a command to power down the television to a standby mode; prior to fully entering the standby mode: determine a next time of operation of the television from a usage pattern database; retrieve a channel and a switch setting from a usage pattern database corresponding to the next time of operation of the television; pre-tune the tuner to the channel and selecting the switch setting at an input switch; and complete entry of the television to the standby mode.
In certain implementations, a television boot process is started and upon completing the boot process the tuner is already tuned to the channel and the input switch is set to the switch setting corresponding the next time of operation. In certain implementations, determining the next time further comprises determining a day of the week. In certain implementations, retrieving the channel and the switch setting from the usage pattern database further comprises retrieving the channel and switch setting corresponding to the next time of operation including the day of the week. In certain implementations, the pre-tuning comprises tuning the tuner to a specified frequency and setting packet filters to select packets having a specified set of packet identifiers from a transport stream corresponding to the channel. In certain implementations, the specified frequency and set of packet identifiers is stored in the usage pattern database. In certain implementations, the specified frequency and set of packet identifiers is stored in program and system information protocol (PSIP) tables that are indexed in the usage pattern database. In certain implementations, the processor retrieves an audio volume setting from the usage pattern database and sets the audio volume to a level determined by the usage pattern database so that at the end of the boot process the audio volume is set to a value corresponding the current time. In certain implementations, the channel and switch setting correspond to a channel and switch setting for a recording that corresponds to the current time. In certain implementations, the next content selection is further based upon a predicted user identified in a user profile database.
A method of operating an Internet Protocol (IP) audio video device involves receiving a command to power down the IP audio video device to a standby mode; prior to fully entering the standby mode: determining a next content selection for operation of the Internet audio video device from a usage pattern database; retrieving an Internet address for the Internet audio video device from the usage pattern database corresponding to the next content selection for operation of the Internet audio video device; setting the Internet audio video device for the retrieved settings; and completing entry of the Internet audio video device into the standby mode.
In certain implementations, the method further involves starting an Internet audio video device boot process; and completing the boot process so that at the end of the boot process the Internet audio video device is set for the retrieved settings corresponding to the next content selection. In certain implementations, determining a next content selection involves determining a next time of operation. In certain implementations, retrieving the settings from the usage pattern database involves retrieving a switch setting corresponding to the next content selection. In certain implementations, the process further involves retrieving an audio volume setting from the usage pattern database and pre-setting the audio volume to a level determined by the usage pattern database. In certain implementations, the next content selection comprises a next program in a series of programs. In certain implementations, setting the audio video device for the retrieved settings involves setting the audio video device to receive streaming audio and video from a streaming source. In certain implementations, setting the Internet audio video device for the retrieved settings comprises pre-loading a browser with the Internet address. In certain implementations, the next content selection is further based upon a predicted user identified in a user profile database.
A tangible non-transitory computer readable electronic storage medium storing instructions which, when executed on one or more programmed processors, carry out a method involving starting a power down process to power an audio video device to a standby mode; prior to fully entering the standby mode: determining a next content selection for operation of the Internet audio video device from a usage pattern database; retrieving an Internet address for the Internet audio video device from the usage pattern database corresponding to the next content selection for operation of the Internet audio video device; setting the Internet audio video device for the retrieved settings; and completing entry of the Internet audio video device into the standby mode.
In certain implementations, the instructions further include starting an Internet audio video device boot process; and completing the boot process so that at the end of the boot process the Internet audio video device is set for the retrieved settings corresponding to the next content selection. In certain implementations, determining a next content selection comprises determining a next time of operation. In certain implementations, retrieving the settings from the usage pattern database further includes retrieving a switch setting corresponding to the next content selection. In certain implementations, setting the Internet audio video device for the retrieved settings includes setting the Internet audio video device to receive streaming data identified in the usage pattern database. In certain implementations, the instructions further include retrieving an audio volume setting from the usage pattern database and pre-setting the audio volume to a level determined by the usage pattern database. In certain implementations, the next content selection comprises a next program in a series of programs. In certain implementations, the next content selection is further based upon a predicted user identified in a user profile database.
An Internet audio video device has a remote command receiver configured to receive a command to power up the Internet audio video device from a standby mode. A memory stores a usage pattern database and an input switch is provided. A programmed processor is programmed to receive a command to power down the Internet audio video device to a standby mode; prior to fully entering the standby mode: determine a next content selection for operation of the Internet audio video device from a usage pattern database; retrieve an Internet address for the Internet audio video device from the usage pattern database corresponding to the next content selection for operation of the Internet audio video device; set the Internet audio video device for the retrieved settings; and complete entry of the Internet audio video device into the standby mode.
In certain implementations, the programmed processor is further programmed to: start an Internet audio video device boot process; and complete the boot process so that at the end of the boot process the Internet audio video device is set for the retrieved settings corresponding to the next content selection. In certain implementations, a clock is provided and a next content selection is determined by a next time of operation. In certain implementations, retrieving the settings from the usage pattern database further involves retrieving a switch setting corresponding to the next content selection. In certain implementations, the processor is configured to retrieve an audio volume setting from the usage pattern database and set the audio volume to a level determined by the usage pattern database so that at the end of the boot process the audio volume is set to a value corresponding the next content selection. In certain implementations, setting the Internet audio video device for the retrieved settings involves setting the audio video device to receive streaming audio and video from a streaming source. In certain implementations, setting the Internet audio video device for the retrieved settings involves pre-loading a browser with the Internet address. In certain implementations, the next content selection can be a next program in a series of programs. In certain implementations, the next content selection is further based upon a predicted user identified in a user profile database.
An Internet audio video device receives a command to power up from a standby mode. This causes the device to start a boot process, and while the boot process proceeds. The process determines a next content selection from a usage pattern database. The Internet audio video device is set to the retrieved settings. At completion of the boot process the audio video device is operational at the retrieved settings. In certain implementations, the next content selection is further based upon a predicted user identified in a user profile database.
Those skilled in the art will recognize, upon consideration of the above teachings, that certain of the above exemplary embodiments are based upon use of a programmed processor. However, the invention is not limited to such exemplary embodiments, since other embodiments could be implemented using hardware component equivalents such as special purpose hardware and/or dedicated processors. Similarly, general purpose computers, microprocessor based computers, micro-controllers, optical computers, analog computers, dedicated processors, application specific circuits and/or dedicated hard wired logic may be used to construct alternative equivalent embodiments.
Certain embodiments described herein, are or may be implemented using a programmed processor executing programming instructions that are broadly described above in flow chart form that can be stored on any suitable electronic or computer readable storage medium including non-transitory storage media, where the term non-transitory is intended only to preclude propagating waves and not storage that can be rewritten or storage that loses its stored information when power is removed. However, those skilled in the art will appreciate, upon consideration of the present teaching, that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from embodiments of the present invention. For example, the order of certain operations carried out can often be varied, additional operations can be added or operations can be deleted without departing from certain embodiments of the invention. Error trapping can be added and/or enhanced and variations can be made in user interface and information presentation without departing from certain embodiments of the present invention. Such variations are contemplated and considered equivalent.
While certain illustrative embodiments have been described, it is evident that many alternatives, modifications, permutations and variations will become apparent to those skilled in the art in light of the foregoing description.

## Claims

1. A method of operating an internet protocol (IP) audio video device, comprising:
receiving a command to power down the IP audio video device to a standby mode;
responsive to receiving the power down command and prior to fully entering the standby mode:
determining a next anticipated time of power on operation of the internet audio video device from a usage pattern database and a next content selection corresponding to the next anticipated time of power on operation of the internet audio video device from the usage pattern database;
retrieving settings for the IP audio video device from the usage pattern database corresponding to the next content selection and the next anticipated time of power on operation of the IP audio video device, wherein the retrieved settings include an indication of a source of the next content selection, wherein the indication of the source comprises an internet address for the next content selection;
setting the IP audio video device for the retrieved settings; and

fully entering the IP audio video device into standby mode applying the retrieved settings.

2. The method according to claim 1, where retrieving the settings from the usage pattern database further comprises retrieving a switch setting corresponding to the next content selection.

3. The method according to claim 1, further comprising retrieving an audio volume setting from the usage pattern database and pre-setting the audio volume to a level determined by the usage pattern database.

4. The method according to claim 1, where the next content selection comprises a next program in a series of programs.

5. The method according to claim 1, where setting the audio video device for the retrieved settings comprises setting the audio video device to receive streaming audio and video from a streaming source.

6. The method according to claim 1, where setting the Internet audio video device for the retrieved settings comprises pre-loading a browser with the Internet address.

7. The method according to claim 1, where the next content selection is further based upon a predicted user identified in a user profile database.

8. A computer medium that is not a transitory signal and storing instructions which, when executed on one or more programmed processors, carry out a method comprising:
starting a power down process to power an Internet audio video device to a standby mode;
responsive to starting the power down process and prior to fully entering the standby mode:
determining a next anticipated time of power on operation of the Internet audio video device from a usage pattern database and a next content selection corresponding to the next anticipated time of power on operation of the internet audio video device from the usage pattern database;
retrieving settings for the Internet audio video device from the usage pattern database corresponding to the next content selection and the next anticipated time of power on operation of the Internet audio video device, wherein the retrieved settings include an indication of a source of the next content selection, wherein the indication of the source comprises an internet address for the next content selection;
setting the internet audio video device for the retrieved settings; and

fully entering the internet audio video device into standby mode applying the retrieved settings.

9. The medium according to claim 8, where retrieving the settings from the usage pattern database further comprises retrieving a switch setting corresponding to the next content selection.

10. The medium according to claim 8, where setting the Internet audio video device for the retrieved settings comprises setting the Internet audio video device to receive streaming data identified in the usage pattern database.

11. The medium according to claim 8, further comprising retrieving an audio volume setting from the usage pattern database and pre-setting the audio volume to a level determined by the usage pattern database.

12. The medium according to claim 8, where the next content selection comprises a next program in a series of programs.

13. The medium according to claim 8, where the next content selection is further based upon a predicted user identified in a user profile database.

14. An Internet audio video device comprising:
a remote command receiver configured to receive a command to power up the Internet audio video device from a standby mode;
a memory storing a usage pattern database;
an input switch;
a programmed processor programmed to:
receive a command to power down the internet audio video device to a standby mode;
responsive to the receiving the power down command and prior to fully entering the standby mode:
determine a next anticipated time of power on operation of the Internet audio video device from the usage pattern database and a next content selection corresponding to the next anticipated time of power on operation of the internet audio video device from the usage pattern database;
retrieve settings for the Internet audio video device from the usage pattern database corresponding to the next content selection and the next anticipated time of power on operation of the internet audio video device, wherein the retrieved settings include an indication of a source of the next content selection, wherein the indication of the source comprises an internet address for the next content selection;
set the internet audio video device for the retrieved settings; and


fully entering the internet audio video device into standby mode applying the retrieved settings.

15. The device according to claim 14, further comprising a clock.

16. The device according to claim 14, where retrieving the settings from the usage pattern database further comprises retrieving a switch setting corresponding to the next content selection.

17. The device according to claim 14, where the processor is configured to retrieve an audio volume setting from the usage pattern database and set the audio volume to a level determined by the usage pattern database so that at the end of the boot process the audio volume is set to a value corresponding the next content selection.

18. The device according to claim 14, where setting the Internet audio video device for the retrieved settings comprises setting the audio video device to receive streaming audio and video from a streaming source.

19. The device according to claim 14, where setting the Internet audio video device for the retrieved settings comprises pre-loading a browser with the Internet address.

20. The device according to claim 14, where the next content selection comprises a next program in a series of programs.

21. The method according to claim 14, where the next content selection is further based upon a predicted user identified in a user profile database.