System and method for providing a plurality of programming services in a television system
First Claim
1. In a cable television system having a headend and a settop, a method of activating a service provided by the headend to the settop, wherein the service is one service of a plurality of services provided by the headend to the settop, and wherein the method is implemented in the settop, the method comprising the steps of:
- receiving from the headend a plurality of tables, wherein a first table of the plurality of tables includes multiple sets of service attributes, wherein each set of service attributes is associated with a particular service, wherein a second table includes a plurality of blocks of data, each block of data associating a service identifier with a valid channel number, wherein each block of data includes an attribute specifying the valid channel number is reachable by incrementing or decrementing channel numbers;
storing the plurality of tables in a memory of the settop;
receiving at the settop a signal associated with a specific service of the plurality of services provided by the headend, wherein the specific service has a set of service attributes associated therewith;
retrieving the set of service attributes associated with the specific service, wherein the step of retrieving includes the act of reading the set of service attributes associated with the specific service from the first table; and
launching the specific service responsive to the set of service attributes associated with the specific service including a launch attribute permitting non-subscriber launch.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method of providing for displaying a full service cable television system. The cable television system is adapted to provide a plurality of different user services. Accordingly, the system and method are designed to allow a user to access services in an efficient memory conserving fashion. Using a plurality of data tables, a cable television system is able to access a plurality of different services including cable channels, interactive program guides, pay per view activation, video on demand and interactive online services such as world wide web browsing and E-mail via their home television set.
231 Citations
105 Claims
-
1. In a cable television system having a headend and a settop, a method of activating a service provided by the headend to the settop, wherein the service is one service of a plurality of services provided by the headend to the settop, and wherein the method is implemented in the settop, the method comprising the steps of:
-
receiving from the headend a plurality of tables, wherein a first table of the plurality of tables includes multiple sets of service attributes, wherein each set of service attributes is associated with a particular service, wherein a second table includes a plurality of blocks of data, each block of data associating a service identifier with a valid channel number, wherein each block of data includes an attribute specifying the valid channel number is reachable by incrementing or decrementing channel numbers;
storing the plurality of tables in a memory of the settop;
receiving at the settop a signal associated with a specific service of the plurality of services provided by the headend, wherein the specific service has a set of service attributes associated therewith;
retrieving the set of service attributes associated with the specific service, wherein the step of retrieving includes the act of reading the set of service attributes associated with the specific service from the first table; and
launching the specific service responsive to the set of service attributes associated with the specific service including a launch attribute permitting non-subscriber launch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
launching the specific service in accordance with a service activation time associated with a launch-by-time attribute.
-
-
8. The method of claim 7, wherein the specific service is launched after a prespecified time after receiving the signal.
-
9. The method of claim 7, wherein the service activation time is designated by subscriber input.
-
10. The method of claim 7, wherein the service activation time is designated by headend.
-
11. The method of claim 7, wherein the service activation time includes periodic pre-specified interval values.
-
12. The method of claim 11, wherein the periodic pre-specified interval values are specified by the subscriber.
-
13. The method of claim 11, wherein the periodic pre-specified interval values of the service activation time are specified by the headend, whereby the specific service is launched at the settop in accordance with the periodic pre-specified intervals.
-
14. The method of claim 7, wherein the specific service is a ticker tape that periodically displays information.
-
15. The method of claim 1, further including the step of:
establishing a communication link between a computing device coupled to the settop and the headend of the broadcast television system.
-
16. The method of claim 15, prior to the step of establishing the communication link, further including the step of:
launching the specific service in the background, wherein the specific service is not visible to a viewer, when the set of service attributes associated with the specific service includes a background attribute.
-
17. The method of claim 1, wherein the plurality of tables includes a second table that associates channel numbers with service identifiers and associates service identifiers with channel numbers, and wherein a third table associates service identifiers with applications and sets of parameters, wherein each service of the plurality of services provided by the headend is associated with a unique service identifier and defined by a particular application and a particular set of parameters.
-
18. The method of claim 17, wherein the second table includes a bitmap for indicating whether a channel number is valid.
-
19. The method of claim 18, wherein the bitmap represents a contiguous range of channel numbers, each bit of the bitmap representing a particular channel number, and each bit that represents a valid channel number is set to a predetermined value.
-
20. The method of claim 1, wherein each block of data has a service identifier field and a channel number field, and the blocks of data are arranged such that the service identifiers in the service identifier fields are increasing in magnitude and non-contiguous.
-
21. The method of claim 1, further including the steps of:
-
accessing a specific block of data of the plurality of data blocks, whereby the specific block of data contains the unique service identifier of the specific service; and
retrieving the channel number associated with the service identifier.
-
-
22. The method of claim 21, wherein the step of accessing a specific block of data further includes the step of:
searching on the plurality of data blocks to find the specific block of data that contains the unique service identifier of the specific service.
-
23. The method of claim 22, wherein the second table includes a sequence of offset values to access the data blocks.
-
24. The method of claim 22, wherein the blocks of data are arranged such that service identifier in each service identifier field is in increasing order.
-
25. The method of claim 24, wherein the service identifiers are non-contiguous.
-
26. The method of claim 22, wherein the channel numbers in the channel number fields in the blocks of data are non-contiguous.
-
27. The method of claim 1, wherein at least one table of the plurality of tables includes at least one field of variable length.
-
28. The method of claim 1, wherein a given table of the plurality of tables stored in the memory has a version number associated therewith, and further including the steps of:
-
receiving from the headend a particular table having a version number associated therewith, wherein the particular table corresponds to the given table and includes new information; and
comparing the version number of the particular table to the version number of the given table; and
responsive to the particular table being a newer version of the given table, storing the particular table in the memory.
-
-
29. The method of claim 28, wherein the given table is retained in the memory while the processor stores the particular table in the memory.
-
30. The method of claim 29, wherein the given table is continued to be effective and used while the processor stores the particular table in the memory.
-
31. The method of claim 29, further including the steps of:
-
reading the particular tables;
updating the given table with new information from the particular file, wherein while the given table is being updated the given table and particular table are locked.
-
-
32. The method of claim 31, further including the step of:
unlocking the given table after the given table has been updated with the new information included in the particular table.
-
33. The method of claim 1, wherein the set of service attributes includes a not-blockable-by-viewer attribute, wherein the specific service cannot be blocked by the viewer when the set of service attributes includes the not-blockable-by-viewer attribute.
-
34. The method of claim 1, wherein the set of service attributes includes an identity attribute.
-
35. The method of claim 34, wherein the identity attribute includes textual information.
-
36. The method of claim 34, wherein the identity attribute includes a logo.
-
37. The method of claim 34, wherein the identity attribute includes audio information.
-
38. The method of claim 34, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is suspended for a prespecified time.
-
39. The method of claim 34, wherein the identity attribute is effected for sensing by a viewer for a prespecified time.
-
40. The method of claim 34, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is launched.
-
41. The method of claim 34, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is terminated.
-
42. The method of claim 34, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is suspended.
-
43. The method of claim 34, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is launched for a prespecified time.
-
44. The method of claim 34, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is terminated for a prespecified time.
-
45. The method of claim 34, wherein the identity attribute includes a special effect.
-
46. The method of claim 45, wherein the special effect includes animated transitions, graphic transitions, morphing, implosions, and fading.
-
47. The method of claim 45, wherein the special effect includes a video widget.
-
48. The method of claim 1, further including the steps of:
-
receiving from the headend a plurality of tables, wherein a first table of the plurality of tables includes multiple application identifiers, wherein each one of the multiple application identifiers is associated with a particular application; and
storing the plurality of tables in a memory of the settop, wherein the memory of the settop has multiple applications stored therein;
accessing the first table and at least a second table of the plurality of tables to determine a specific application identifier and a specific set of parameters, wherein the specific application identifier identifies a specific application, and the specific application and the specific set of parameters define the specific service; and
using the specific application identifier to retrieve the specific application; and
wherein the act of launching the specific service includes the act of activating the specific application with the specific set of parameters.
-
-
49. The method of claim 48, further including the step of:
responsive to the memory of the settop not having the specific application stored therein, downloading the specific application from the headend.
-
50. A settop in a broadcast television system having a headend, the settop comprising:
-
a port for receiving a plurality of services broadcast from the headend and for receiving a plurality of tables, wherein each service of the plurality of services is associated with a unique service identifier, wherein a first table of the plurality of tables includes multiple sets of service attributes that are associated with the service identifiers of the plurality of services, and a second table of the plurality of tables includes multiple application identifiers and multiple sets of parameters, wherein each service of the plurality of services is defined by a particular application identified by one of the application identifiers and a particular set of parameters;
a processor in communication with a subscriber input device and with the headend, responsive to the processor receiving a signal associated with a specific service of the plurality of services, the specific service associated with a specific service identifier, the processor accessing the first table to retrieve the set of service attributes associated with the specific service identifier and accessing the second table of the plurality of tables to identify a specific application and a specific parameter set, wherein the specific application and the specific parameter set define the specific service, the processor using the set of service attributes associated with the specific service to activate the specific application with the specific set of parameters; and
a memory in communication with the port and the processor, the memory having the plurality of tables stored therein, wherein the plurality of tables includes a third table that associates channel numbers with service identifiers and associates service identifiers with channel numbers, and responsive to the processor receiving the signal from the subscriber input, the processor accesses the third table to determine the specific service identifier associated with the specific service, wherein the third table includes a bitmap for indicating whether a channel number is valid and a plurality of blocks of data, wherein each block of data has a service identifier field and a channel number field, and wherein each block of data further includes an attribute specifying that the channel associated with that block of data is reachable by incrementing or decrementing channel numbers with an input device. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98)
a second port in communication with a computing device, wherein the computing device is located at a premises remote from the headend.
-
-
65. The settop of claim 64, wherein the set of service attributes for the specific service includes a background attribute, and the specific service establishes a communication link between the computing device and the headend.
-
66. The settop of claim 50, wherein the memory includes a fourth table that associates a first logo with a first service identifier.
-
67. The settop of claim 66, wherein the particular set of service attributes includes a logo identification attribute, wherein responsive to a logo identification equal to zero, the processor disregards a logo with the identity attribute of the specific service.
-
68. The settop of claim 66, wherein the fourth table includes a first index of logo identifiers, the first index associating an offset with each logo, wherein a particular offset indicates the location of a particular block of data in the fourth table corresponding to the image of a particular logo.
-
69. The settop of claim 68, wherein the memory is non-volatile memory.
-
70. The settop of claim 69, wherein the logos are considered permanent.
-
71. The settop of claim 66, wherein the memory includes a fifth table that associate a second logo with a second service identifier.
-
72. The settop of claim 71, wherein the fifth table includes an index of logo identifiers, the first index associating an offset with each logo, wherein a particular offset indicates the location of a particular block of data in the fourth table corresponding to the image of a particular logo.
-
73. The settop of claim 50, wherein the bitmap represents a contiguous range of channel numbers, each bit of the bitmap representing a particular channel number, and each bit that represents a valid channel number is set to a predetermined value.
-
74. The settop of claim 50, wherein the third table includes a sequence of offset values to access the data blocks.
-
75. The settop of claim 50, wherein each service identifier field carries a service identifier, and the blocks of data are arranged such that the service identifiers are in increasing magnitude.
-
76. The settop of claim 75, wherein the service identifiers are non-contiguous.
-
77. The settop of claim 50, wherein at least one table of the plurality of tables includes at least one field of variable length.
-
78. The settop of claim 50, wherein a given table of the plurality of tables stored in the memory has a version number associated therewith, and upon receiving from the headend a particular table having a version number associated therewith, wherein the particular table corresponds to the given table, the processor compares the version number of the particular table to the version number of the given table, and responsive to the particular table being a newer version of the given table, the processor stores the particular table in the memory.
-
79. The settop of claim 78, wherein the given table is retained in the memory while the processor stores the particular table in the memory.
-
80. The settop of claim 79, wherein the given table is continued to be effective and used while the processor stores the particular table in the memory.
-
81. The settop of claim 79, wherein both the given table and particular table are not accessible after the processor completes storing the particular table in the memory.
-
82. The settop of claim 81, wherein thereafter the given table becomes obsolete, the particular table becomes effective, and the particular table becomes accessible.
-
83. The settop of claim 50, wherein the particular set of service attributes includes a not-blockable-by-viewer attribute, wherein responsive to the not-blockable-by-viewer attribute, the processor disregards subscriber input that would attempt to block the specific service.
-
84. The settop of claim 50, wherein the particular set of service attributes includes an identity attribute.
-
85. The settop of claim 84, wherein the identity attribute includes textual information.
-
86. The settop of claim 84, wherein the identity attribute includes a logo.
-
87. The settop of claim 84, wherein the identity attribute includes audio information.
-
88. The settop of claim 84, wherein the identity attribute is effected for sensing by a viewer for a prespecified time.
-
89. The settop of claim 84, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is launched.
-
90. The settop of claim 84, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is terminated.
-
91. The settop of claim 84, wherein the identity attribute is to be affected for sensing by a viewer at the time the service is suspended.
-
92. The settop of claim 84, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is launched for a prespecified time.
-
93. The settop of claim 84, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is terminated for a prespecified time.
-
94. The settop of claim 84, wherein the identity attribute is to be effected for sensing by a viewer at the time the service is suspended for a prespecified time.
-
95. The settop of claim 84, wherein the identity attribute includes a special effect.
-
96. The settop of claim 95, wherein the special effect includes animated transitions, graphic transitions, morphing, implosions, and fading.
-
97. The settop of claim 95, wherein the special effect includes a video widget.
-
98. The settop of claim 95, wherein the port is coupled to the headend via a communication link having at least an in-band communication path and an out-of-band communication path, wherein the in-band communication path carries multiple services and at least one table of the plurality of tables, and the out-of-band communication path carries at least one table of the plurality of tables.
-
99. In a cable television system having a headend and a settop, a method of activating a service provided by the headend to the settop, wherein the service is one service of a plurality of services provided by the headend to the settop, and wherein the method is implemented in the settop, the method comprising the steps of:
-
receiving at the settop a channel number, which is associated with a specific service of the plurality of services provided by the headend, from a subscriber input device, wherein each service of the plurality services is identified by a unique service identifier and defined by a specific application and a specific set of parameters, wherein the unique service identifiers form a non-contiguous set of values;
accessing a first table of a plurality of tables to determine a specific service identifier, wherein the first table maps non-contiguous channel numbers to the service identifiers, wherein the first table includes a bitmap for indicating whether a channel number is valid, and wherein the first table further includes a plurality of blocks of data, each block of data associating a service identifier with a valid channel number;
counting the number of bits representing valid channels between and inclusive of a first bit and a second bit of the bit map to determine an index value, wherein the second bit represents a specific channel number;
accessing a second table of the plurality of tables using the specific service identifier to determine a particular application and a particular set of parameters; and
launching the particular application with the particular set of parameters. - View Dependent Claims (100, 101, 102, 103, 104, 105)
accessing a specific block of data of the plurality of data blocks using the index value, wherein the specific block of data associates the specific channel number with a specific service identifier.
-
-
102. The method of claim 101, wherein a partial sum of the number of valid channels is retrieved from a table.
-
103. The method of claim 102, wherein the second table includes a sequence of offset values, wherein the step of accessing a specific block of data further includes the steps of:
retrieving an offset into the plurality of data blocks using the index value from the sequence of offsets, wherein the retrieved offset is a given number of offsets into the sequence of offsets, the given number equaling the index value.
-
104. The method of claim 103, wherein each block of data of the plurality of blocks of data further includes an attribute specifying that the channel associated with that block of data is reachable by incrementing or decrementing channel numbers with an input device.
-
105. The method of claim 99, wherein the second table includes fields of variable length.
Specification