The present invention relates to the rendering of navigable data sets and, more particularly, relates to providing a navigable data set, such as an interactive program guide for a subscription television service, in which fields can be variably sized.
There are a variety of ways in which data sets can be electronically compiled, stored, viewed and manipulated. For the purposes herein, a data set is a defined area comprising a plurality of defined subportions or fields, which may or may not contain data. For example, a computer software program, such as Microsoft Excel™ can provide a table of defined fields in which a user can navigate about the table and enter and manipulate data in selected fields. A user may elect to enter data in some fields of the table while leaving other fields empty. Typically a data set can be defined by a set of axes; for example, a horizontal and a vertical axis may define a two-dimensional data set in which fields have dimensions in the directions of the axes, and have offset positions relative to the origin of the axes. For example, in a two-dimensional data set defined by horizontal and vertical axes, a field has length and width dimensions, and can be identified or located by its horizontal and vertical offsets from the intersection of the axes.
As a further example, a data set can be in the form of a television program guide containing fields that provide programming information, such as program title or subject matter, for programs provided by a particular television service and/or at a particular time of day. Subscription television systems typically include an electronic program guide (EPG). With the development of interactive digital set-top boxes (STBs), a new type of advanced multimedia EPGs was developed which may be referred to as an interactive program guides (IPG). Today, the acronyms EPG and IPG may be used interchangeably. Fields of an IPG can be displayed to the user on the television screen via a program guide menu, and a user may navigate about the fields by using a remote control device. Typically, the fields contain program information such as the title of a program or the content of a program. By navigating among the fields of an IPG a user can highlight a field corresponding to a particular program and select the highlighted field to view the program. Due to the constraints imposed by the size and resolution of the television screen, and the display size of the fields, a subset of the IPG fields, described as a screen of the IPG, is typically displayed to a viewer rather than the entire set of the IPG fields.
By way of example and not limitation, an IPG can display a program guide menu that includes program schedule information for each of the provided television channels over a time period of several days. An IPG menu may be arranged in various ways. For example, the program guide menu can function as a user interface which a user can navigate by using arrow keys on a remote control device.
Once the desired field is highlighted as a selectable item, the user may select the highlighted field using the select button on the remote. In
Generally, a field of a data set is highlighted in response to a navigation command by a user, which, as mentioned previously, is typically implemented by using arrow keys on a remote control device. For example, referring back to
The present invention will be described more fully hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which exemplary embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein; rather, the embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. The present invention is described more fully herein below in the context of an Interactive Program Guide (IPG) provided by a subscription television service. However, the invention can be practiced in the context of a variety of data sets that comprise a plurality of fields, including, but not limited to, any data set electronically displayed on a television, computer, cellular phone, personal digital assistant (PDA) or other electronic apparatus in which a user can navigate the fields to highlight and select a desired field.
A data set of the present invention can be defined by a number of axes which can be used to define field dimensions in the directions of those axes. In a first example embodiment of the invention, a data set comprises an area defined by two axes, a horizontal axis (x-axis) and a vertical axis (y-axis), and contains a plurality of subportions or fields that have vertical and horizontal dimensions. The fields of the data set can be uniform or can be non-uniform and vary in horizontal dimensions and/or vertical dimensions. The fields of a data set may or may not contain informational data; in other words, it is possible for a field of a data set to be empty. In a second exemplary embodiment, the invention utilizes a 3-dimensional data set where the area defined by a horizontal axis, a vertical axis and a z-axis contains a plurality of subportions or fields that can vary in horizontal, vertical, and z-dimension. For teaching purposes, in disclosing exemplary embodiments of the present invention herein, a particular field of a data set may be identified by the information or data it contains that is displayed to a viewer. For example, if a particular field contains the title of a television program, that title may be used to identify that particular field. Furthermore, it is noted that in an exemplary embodiment of the invention, the data set is defined to contain fields navigable and selectable by a user. In the context of an IPG or a menu to an IPG, display fields that provide information but are not navigable or selectable by a user may be displayed in addition to the data set fields that are navigable. These non-selectable display fields are not considered part of the data set, rather the data set is defined to contain fields navigable or selectable by a user.
To address that problem, the present invention calculates a set of bias lines that can be used to provide an algorithm for highlighting a field in response to a user's navigation. The number of bias lines that are calculated corresponds to the number of axes that define the data set of the invention, so that for each axis a single bias line is calculated that extends in the direction of that particular axis. When a user navigates the data set in a direction defined by one of the axes, the user navigates along the particular bias line that extends in the direction of the axial navigation to move from the first highlighted field to a second highlighted field that intersects the particular bias line along which movement is performed. When a second field is highlighted, the bias lines, with the exception of the bias line that extends in the direction of the most recent user navigation, along which the user navigation is performed, are recalculated to extend through the second highlighted field.
For example, the program guide 300 is defined by a horizontal axis and a vertical axis, therefore a horizontal bias line 350 and a vertical bias line 360 are calculated, as shown in
Since the user navigation was performed along the horizontal bias line 350 and not the vertical bias line 360, the vertical bias line 360 is then recalculated to extend through the currently highlighted field. In an exemplary embodiment, the vertical bias line 360 is recalculated each time the user scrolls in a horizontal direction, so that a currently highlighted field includes the intersection of the vertical bias line 360 and the horizontal bias line 350. Therefore, once the movie program 320 is highlighted, the position of the vertical bias line 360 is recalculated and moved. If the user then scrolls back to the left, the first field that intersects the horizontal bias line 350 is the field corresponding to the news program 310 and the position of the vertical bias line 360 is again recalculated. It is noted that an important advantage of the present invention is that a reversal of a user's scrolling or navigation commands returns the user to the field at which he started, rather than at some unexpected or undesired field, as often occurred in the prior art when IPGs contained non-uniform fields. Since the user is scrolling horizontally, the horizontal bias line 350 is not recalculated.
Bias lines are calculated to determine which field to select when navigating in a data set that can contain fields of varying sizes, for example when navigating an IPG having programs with non-uniform start times and run times. It is also possible that two or more channels may provide the same program during the same time interval, in which case a single field could be used to provide program content information for multiple channels. Thus, in the navigable data set of the present invention, exemplified herein as an IPG, the fields may vary in any of the dimensions defined by the set of axes associated with the data set. However, as noted previously, the present invention can also be practiced in data sets with uniformly-sized fields.
As discussed previously herein, the present invention can be practiced with data set defined by more than two axes. For example, in the exemplary embodiment in which a data set is defined by three axes, vertical, horizontal and z-axis bias lines are calculated to determine which fields to select when navigating in a data set that can contain fields of varying 3-dimensional sizes. The user may move inward or outward on the z-axis. When navigating in the z-axis direction along the z-axis bias line, the horizontal and vertical bias lines are recalculated. When moving along the horizontal bias line, the vertical and z-axis bias lines are recalculated. When moving along the vertical axis along the vertical bias line, the horizontal and z-axis bias lines are recalculated.
The foregoing has broadly outlined some of the more pertinent aspects and features of the present invention. These should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Other beneficial results can be obtained by applying the disclosed information in a different manner or by modifying the disclosed embodiments. Accordingly, other aspects and a more comprehensive understanding of the invention may be obtained by referring to the detailed description of the exemplary embodiments taken in conjunction with the accompanying drawings, in addition to the scope of the invention defined by the claims.