Abstract:
Method and apparatus are described for compensating for a linear time scale change in a received signal, so as to correctly rescale the frame sequence of the received signal. Firstly, an initial estimate of the sequence of symbols is extracted from the received signal. Successive estimates of correctly time scaled sequences of the symbols are then generated by interpolating the values of the initial estimates.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to devices and methods of presenting information about programs in electronic program guides. Electronic program guides can be provided in such items as TVs, Set-Top boxes, VCRs and DVDs.  
       BACKGROUND OF THE INVENTION  
       [0002]     In the field of television, there are nowadays more and more channels, which a viewer can watch. It is therefore becoming more and more important to provide the television viewer with information about what programs are transmitted on what television channels and when, so that he can easily determine what he wants to watch. The same need also exists for other areas such as radio, web radio, set-top boxes and for combinations of other media.  
         [0003]     For this reason, there has been a development of electronic program guides, which show programs to be broadcast on different channels.  
         [0004]     EP-1028589 discloses an electronic program guide in which programs of different channels are presented in a table sorted in accordance with channel and time. In this guide, the airing time of each channel is presented in staggered fashion, i.e. the programs are not limited to a certain column, but are represented by their lengths. This means that a long program can take up much space in the horizontal direction.  
         [0005]     There is generally a problem with these types of program guides in that long programs take up a large amount of space. This means that the program guide can include less information than what could be wanted.  
       OBJECT AND SUMMARY OF THE INVENTION  
       [0006]     In order to improve this, there are program guides in which a current/next program scheme is used instead of the time. Here, the programs are presented in accordance with a current program and a number of following programs for each program source or program provider. The space taken up for each program can therefore be made smaller and rendered independent of the time the program takes up. In this scheme there is, however, a problem with desynchronization, which is due to the fact that the programs have different lengths. This means that programs starting at the same time from different program sources can be placed in columns which are spaced far apart from each other because of the different program lengths. This makes the electronic program guide hard to look up for a user. This problem is getting worse as the number of columns with programs grows.  
         [0007]     There is thus a need for solving the above-mentioned problem of desynchronization in electronic program guides.  
         [0008]     It is an object of the present invention to solve the problem of desynchronization due to the different program lengths in an electronic program guide of the now/next type.  
         [0009]     According to a first aspect of the invention, this is solved by a device for presenting data about programs from a number of program sources and a program presentation apparatus including such a device, the device for presenting data comprising: a table generator unit for generating an electronic program guide as a table comprising data about current program and following programs for each program source, a coding unit for selecting data about all programs starting within at least one first time interval and coding the selected data with an additional code, and a control unit for controlling the table generator unit and the coding unit, wherein the table generator unit is further arranged to present the selected data in accordance with the additional code.  
         [0010]     According to the first aspect of the invention, this is also solved by a method of presenting data about programs from a number of program sources, the method comprising the steps of: receiving at least one signal containing data relating to programs of the different program sources, generating an electronic program guide as a table comprising data about current program and following programs for each program source, selecting data about all programs starting within at least one first time interval, coding the selected data with the additional code, and presenting the selected data in accordance with the additional code.  
         [0011]     Still according to the first aspect of the invention, this is also solved by a computer program element and a computer-readable medium including such a computer program element where the computer program element comprises: computer program code means for causing the computer to execute the generation of an electronic program guide as a table comprising data about current program and following programs of a number of program sources, selection of data about all programs starting within at least one first time interval from a number of programs of different program sources, coding of the selected data with an additional code, and presentation of the selected data in accordance with the additional code.  
         [0012]     According to a second aspect of the invention, this problem is solved by a device for presenting data about programs from a number of program sources and a program presentation apparatus including such a device, the device for presenting data comprising: a table generator unit for generating an electronic program guide as a table comprising data about current program and following programs for each source and presenting the data about the programs, using source as a first parameter and order of programs as a second parameter, a scrolling step calculation unit for determining a scrolling step size based on a third parameter, and a control unit for controlling the table generator unit and the scrolling step calculation unit and arranged to scroll data about programs of the different program sources in the table with said scrolling step size.  
         [0013]     According to the second aspect of the invention, this is also solved by a method of presenting data about programs from a number of program sources, the method comprising the steps of: generating an electronic program guide as a table comprising data about current program and following programs for each program source, presenting the data about the programs, using program source as a first parameter and order of programs as a second parameter, and scrolling data about programs of the different program sources in the table with a scrolling step size determined by a third parameter.  
         [0014]     Still according to the second aspect of the invention, this is also solved by a computer program element and a computer-readable medium including such a computer program element where the computer program element comprises: computer program code means for causing the computer to execute the generation of an electronic program guide as a table comprising data about current program and following programs of a number of program sources, presentation of the data about the programs, using program source as a first parameter and order of programs as a second parameter, and scrolling of data about programs of the different program sources in the table with a scrolling step size determined by a third parameter.  
         [0015]     Use of the verb “comprise” and its conjugations is herein to be interpreted to mean the equivalent of the verb “include” and its conjugations.  
         [0016]     The basic idea of the invention is to provide a way to make the now/next type of electronic program guide easier to use for a user in the case of desynchronization.  
         [0017]     These and other aspects of the invention are apparent from and will be elucidated with reference to embodiments described hereinafter. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0018]      FIG. 1  shows a program presentation apparatus for receiving programs and data about programs.  
         [0019]      FIG. 2  shows a block schematic diagram of different parts of the program presentation apparatus of  FIG. 1 .  
         [0020]      FIG. 3  shows a block schematic diagram of an electronic program presenting apparatus according to the invention.  
         [0021]     FIGS.  4  to  7  show different views of data presented to a user of the electronic program presenting apparatus according to the invention.  
         [0022]      FIG. 8  shows a flow chart of a method of presenting data about programs according to a first aspect of the present invention.  
         [0023]      FIG. 9  shows a flow chart of a method of presenting data about programs according to a second aspect of the invention. 
     
    
     DESCRIPTION OF EMBODIMENTS  
       [0024]      FIG. 1  shows a program presenting apparatus in the form of a television set  10  having a screen  14 , an antenna  12  and a user input device in the form of a remote control  16 . The television set is only a non-limiting example of a program presenting apparatus. It may also be, for example, a set-top box, a VCR or a radio receiver. The program presenting apparatus receives programs and data about programs via the antenna  12  from a number of program sources. In the case of television, the sources are television channels, but other types of sources are also feasible such as radio channels, video-on demand suppliers, etc. Programs and data about programs do not have to be received via the antenna and radio waves, but many other ways are feasible such as, for instance, cable, internet or intranet. The program information and the actual programs need not be received via the same medium, but the program information or data can be received, for example, via internet and the actual programs via an antenna. The remote control  16  is used by a user of the apparatus to select programs and program sources as well as to view data about program sources for selection of programs to view. The input user device does not have to be a remote control, but may be any suitable input means such as, for instance, buttons on the television set.  
         [0025]      FIG. 2  shows a block schematic diagram of parts of the interior of a program presenting apparatus according to the invention. Here, a receiving unit  20  is connected to the antenna of  FIG. 1  via a signal input  17  for receiving signals from different program sources. The receiving unit  20  is connected to a program handling-unit  22  and to a device for presenting data about programs, also denoted electronic program guide presenter or electronic program presenting apparatus  24 . Both these units are connected to the screen  14 . The receiving unit  20  forwards the actual programs to the program-handling unit  22  for possible presentation in a known way to a user of the apparatus via the screen  14 . The receiving unit  20  also receives data about the programs of the program sources and forwards this data to the electronic program guide presenter  24 . The program guide presenter  24  is further connected to the user input device via a user input  18  for receiving control signals by a user, and to the screen  14  for displaying data about different programs to a user. Subseqeunt steps will be described below with reference to the other drawings.  
         [0026]      FIG. 3  shows a block schematic diagram of the electronic program presenting apparatus  24 . It includes a table generator unit  28 , connected to the receiving unit for receiving data about programs for the different program sources. This table generator unit  28  is connected to a control unit  30 . A coding unit  34  is connected to the control unit  30 . A scrolling step calculation unit  36  is connected to the control unit  30 . The control unit  30  is also connected to the user input means and the control unit  30  controls the table generator unit  28 , such that data about programs is presented on the screen of  FIGS. 1 and 2 .  
         [0027]      FIG. 4  shows a two-dimensional table. The table contains a number of rows  40 ,  42 ,  44 ,  46 ,  48 ,  50 ,  52  sorted in accordance with program sources, where a first row  40  is intended for displaying data about programs of a first program source A, a second row  42  for displaying data about programs of a second program source B, a third row  44  for displaying data about programs of a third program source C, a fourth row  46  for displaying data about programs of a fourth program source D, a fifth row  48  for displaying data about programs of a fifth program source E, a sixth row  50  for displaying data about programs of a sixth program source F and a seventh row  52  for displaying data about programs of a seventh program source G. The table also includes a number of columns, in which a first column  54  is intended for showing a current program, a second column  56  for showing a first following program, a third column  58  for showing a second following program, a fourth column  60  for showing a third following program and a fifth column  62  for showing a fourth following program for each program source. The cells of the table therefore include, for each program source, a current program and following programs. Each cell also includes the name of the program as well as the starting time. The names are indicated by Prog A 1  . . . Prog A 5  for the first program source, Prog B 1  . . . Prog B 5  for the second program source, etc. up to Prog G 1  . . . Prog G 5  for the seventh program source. Different visual identifications are further associated with different first time intervals of the programs. This is indicated in different ways in the Figure. Cells with data about programs having a starting time between 3 and 4 h are shown with a first pattern, cells with data about programs having a starting time between 4 and 5 h are shown with a second pattern, cells with data about programs having a starting time between 4 and 5 h are shown with a third pattern, cells with data about programs having a starting time between 6 and 7 h are shown with a fourth pattern and cells with data about programs having a starting time between 2 and 3 h are shown with no pattern at all. It should be noted that these patterns are here only a means of indicating a common visual indication. They are actually meant to represent different colors, which is the preferred way.  
         [0028]     A first aspect of the present invention will now be described. Data about programs of different program sources are received by table generator unit  28  under the control of the control unit  30 . The table generator unit  28  then forms a table of the now/next type, where a first parameter is the program source, which makes up the rows of the table, and a second parameter is the order of programs, which are presented as columns in the table, thus a table format where the rows are the different program sources and the columns are made up of the order of programs. Thereafter, the cells of the table are filled with data about each program, which data comprises program name and starting time of the programs. A cell may also contain the time the program is ended. The coding unit  34  selects a number of first time intervals under the control of control unit  30 , which are preferably of the hour size, This can be done in dependence upon the length of the programs present in the table generator unit  28 . The codes are transferred to the control unit  30 , which then sets these different codes to the programs of the table in the table generator unit  28 . There is one code for each starting time of the programs falling within a time interval. The control unit  30  then controls the table generator unit  28  to forward the table to the screen  14 , which table information includes the coding of the data concerning different programs. The screen then presents the table, with a special visual identification associated with each code. The presentation is preferable in the way of different colors for different intervals. The cells are also preferably of equal size. In this way, a now/next table, which resolves the problems of desynchronization, is provided. It is also easy for the user to see the time when different programs are broadcast in a table that may contain more information than the prior-art table.  
         [0029]     There are several possible modifications to this first aspect of the invention. The code does not have to represent color, but other representations are also feasible, like different shapes or sizes of the cells or different types of icons. The time intervals can also be varied. They may be, for instance, half an hour long, 15 minutes long or longer than an hour. What is important is that a user can easily see what programs start within the same time span without a too complex table. Here, the starting time was used to indicate which time interval the data of a program belonged to. It is, however, possible to use the ending time instead.  
         [0030]      FIGS. 5, 6  and  7  show the same type of table as  FIG. 4 , having the same rows and columns. Here there is no different coding shown, although also these cells have the color coding described above.  FIG. 5  shows exact by the same table as  FIG. 4 , but with a program C 1  being marked.  FIG. 6  shows the cell of  FIG. 5 , but here a cell with data about a program C 2  has been marked and the third and sixth rows have been scrolled one step to the left. This means that all the programs of the third and the sixth program source have been moved one step to the left in relation to the programs of the other program sources.  FIG. 7  is similar to  FIG. 6 , but here a program C 4  of the third program source has been marked or highlighted and the row of the third program source has been scrolled another step to the left. Apart from this, all FIGS.  5  to  7  are not different from  FIG. 4 .  
         [0031]     A second aspect of the invention will now be described. A user of the electronic program guide  24  can scroll the table in order to better see which programs are broadcast during the same time interval. When the user of the electronic program guide  24  therefore wants to scroll the table displayed on the screen, he actuates the remote control or some other suitable input device, which selects a certain program in the table under the control of the control unit  30 . As an example, he selects the program C 1  in row  44  and column  54  as shown in  FIG. 5 . This actuation is received by the control unit  30 , which sends a signal to table generating unit  28 , which in turn marks the cell as selected for display on the screen. The table generating unit sends data about the selected cell or program C 1  to the control unit  30  together with the starting time of the next program C 2  of the program in the same row. The control unit  30  forwards this information to scrolling step calculation unit  36 , which in turn sets a scrolling step size to a second time interval starting with the starting time of the selected program and ending with the starting time of the next program of the same program source. If the user then selects to scroll the programs of the program source of the selected program, i.e. row  44 , the control unit  30  checks the starting times of all other program sources and scrolls all the rows of program sources having programs with starting times within the second interval. This means that scrolling is performed while using a third parameter, time, and that scrolling is performed for programs having starting times within a second time interval. In  FIG. 6 , this is shown for the third row  42  and the sixth row  50 . This can thereafter be repeated for as many scrolls as are necessary. Yet another scroll just having been performed for the third row is shown in  FIG. 7 , but here no other rows have been scrolled at the same time, as there are no other starting times in the time interval between the previously selected program, program C 3 , as there are no other programs starting between this program and the next program of the same channel.  FIG. 7  shows where the next program has then been selected, program C 4 .  
         [0032]     The described scrolling principle can be varied in many ways. The scrolling steps can be set to steps of a short fixed duration instead, for instance, 15 minutes. These steps should be small in comparison with the length of the first time interval and preferably also in relation to the normal length of the programs. The scrolling step can also be determined to be the time interval between the selected program and the first program starting after this program of any program source. The control unit can furthermore be arranged to select a best scrolling mode based upon the time relationship between the starting times of the programs of the program sources, such that a reasonable number of programs of the program sources are scrolled at the same time. If many programs were scrolled at the same time because of a large scrolling step with the stepsize described in the previous paragraph, the control unit would control the scrolling step calculation unit to set a second time interval a with short fixed duration. Likewise, for a too small scrolling stepsize of fixed duration, the control unit would control the scrolling step calculation unit to set a second time interval determined by the next program of the selected program source. The control unit would then look at the starting times of all programs after a selected program and then select the scrolling mode on the basis of how many programs have starting times in between the selected program and the next program of the same source. Such a selection is not limited to selection between these two scrolling modes but between any scrolling modes where time is used for scrolling in a now/next program guide.  
         [0033]     Alternatively, columns can be scrolled while using the same principle as described above.  
         [0034]     The device according to the invention is preferably implemented by a microprocessor with associated memory comprising program code for performing the invention.  
         [0035]     In one embodiment of the invention, the program for performing the present invention is also provided on a computer-readable medium, such as a CD ROM disc or a diskette, for loading into a memory of a program guide presenter.  
         [0036]     A method according to the first aspect of the invention will now be described with reference to  FIG. 8 , which shows a flow chart of this method. First, data about programs of a number of program sources are received, step  70 . Thereafter, an electronic program guide is generated, step  72 . After this, data about programs starting within a first time interval are selected, step  74 . Thereafter, the selected data is coded with an additional code, step  76 . The selected information is then presented with a visual indication associated with the first time interval and preferably a color, step  78 . The steps  72  to  78  are then repeated for all of these first time intervals. This method can furthermore be varied in accordance with what has been described in relation to the device of the first aspect of the invention.  
         [0037]     A method according to the second aspect of the invention will now be described with reference to  FIG. 9 , which shows a flow chart of this method. This method is also started with the reception of program information, step  80 , and the generation of an electronic program guide, step  82 . Thereafter, information about the programs is presented to a user, step  84 . A program of one program source is then selected by a user, step  86 , whereupon the scrolling step size is set, step  88 . In one embodiment, this step size is selected as a second time interval between the starting time of the selected program and the starting time of the next program of the program source. Thereafter, data about all program sources having programs with starting times in the second interval are scrolled, step  90 . Here steps  84  to  90  are repeated for possibly following scrolling steps. Also this method can be varied in accordance with what has been described in relation to the device of the second aspect of the invention. Also this method can be combined with a scrolling mode selection as described above in relation to the device.  
         [0038]     Devices and methods for solving the problem of desynchronization of a now/next table are obtained with the present invention.  
         [0039]     Use of the verb “comprise” and its conjugations is not to be interpreted as limiting. It does not exclude other elements that are not mentioned. Furthermore, the use of a time interval does not exclude more than one interval and the use of a unit does not exclude the use of several units.  
         [0040]     The scope of the invention is not to be limited by the description, but only by the appendent claims.