`
`For
`
`METHODAND DEVICE FOR RECEIVING AND PROVIDING PROGRAMS
`
`Inventors:
`
`Swaminatha Vasudevan
`
`Pritesh Mukeshbhai Dave
`
`Kumaraguru Dhandapani
`
`Ran Oz
`
`and
`
`Nery Strasman
`
`Prepared by:
`
`BLAKELY, SOKOLOFF,» LAYLOR & ZAFMAN LLP
`12400 Wilshire Boulevard
`Los Angeles, CA 90025-1026
`(408) 947-8200
`
`Attorney's Docket No.: 5079P036
`
`“Express Mail” mailing label number:__EV633422966US
`Date of Deposit:_August 9, 2005,
`I hereby certify that I am causing this paper or fee to be deposited with the United States
`Postal Service “Express Mail Post Office to Addressee” service on the date indicated above
`andthat this paper or fee has been addressed to the Commissioner for Patents,
`P.O. Box 1450, Alexandria, VA 22313-1450.
`Jennifer L. Stewart
`
`
`
`SONY - Ex.-1004
`Sony Corporation - Petitioner
`
`SONY - Ex.-1004
`Sony Corporation - Petitioner
`
`1
`
`
`
`METHOD AND DEVICE FOR RECEIVING AND PROVIDING PROGRAMS
`
`RELATED CASES
`
`[0001]
`
`This patent claimspriority from U.S. provisional patent application serial number
`
`60/600473 filed at August 10 2004 and from U.S. provisional patent application serial number
`
`60/662844 filed at March 18 2005titled “switched broadcast implementation”.
`
`FIELD OF THE INVENTION
`
`[0002]
`
`The present invention relates to communication systems and especially to methods
`
`and systems for providing programsand for receiving programs.
`
`BACKGROUND OFTHE INVENTION
`
`[0003]
`
`The numberoftelevision channels (programs) has dramatically increased during the
`
`last decade. In addition, various technologies such as high definition television require larger
`
`amounts of bandwidth.
`
`[0004]
`
`In order to provide many programs to multiple user devices various techniques such
`
`as statistical multiplexing and various compression schemes(suchas but not limited to the MPEG
`
`compression standards) were developed. These techniques can improve the bandwidth utilization
`
`of existing infrastructure. Nevertheless, even when these techniques are implemented the number
`
`of programsthat can be providedto usersis relatively limited.
`
`[0005]
`
`The following patents and patent applications,all being incorporated herein by
`
`reference, illustrate some prior art methods and devices for providing multiple programsto users:
`
`U.S. patent 6597670 of Tweedyetal., titled “Method and system for distributing subscriber
`
`services using wireless bidirectional broadband loops”; U.S. patent application publication serial
`
`number 2005/0033342 of Rosetti et al., titled “Technique for providing a virtual digital video
`
`recorder service through a communication network”; U.S. patent application serial number
`
`2005/0120377 of Carlucci etal., titled “Technique for effectively providing various entertainment
`
`services thorough a communication network”; PCT patent application WO2005/008419 of
`
`Comptonelal., titled “Distributed and scalable architecture for on demand session and resource
`
`2
`F:\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`2
`
`
`
`management”; PCT patent application publication number WO2005/022796 of Krauseetal.,
`
`titled “Advanced, adaptive video multiplexing system”; PCT patent application publication
`
`number WO2005/022892 of Krause etal., titled “Video multiplexer system providing low-
`
`latency VCR-like effects and program changes” and U.S. patent 6718552 of Goode “network
`
`bandwidth optimization by dynamic channel allocation”.
`
`[0006]
`
`There is a need to provide efficient methods and devices for providing programsto
`
`multiple users and for receiving programsbyusers.
`
`3
`FACLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`3
`
`
`
`SUMMARYOF THE PRESENT INVENTION
`
`[0007]
`
`A user device that includes a transceiver unit that is connected to a controller,
`
`wherein the device is adaptedto: (i) receive a program multiplex, (11) receive an indication that at
`
`least one program is to be removed from the multiplex; and(iii) selectively transmit a program
`
`removal response.
`
`[0008]
`
`A device that is adapted to provide a program multiplex, the device includes: (i) a
`
`media processor adapted to generate a program multiplex; and (ii) a managementunit, connected
`
`to the media processor, adapted to (a) consider a removalof at least one program from the
`
`multiplex in response to program viewing parameters, and (b) determine the removal in response
`
`to at least one received user program removal response.
`
`[0009]
`
`A method for receiving programsthat includes: (i) receiving a program multiplex;
`
`—
`
`.
`
`receiving a program removalindication; and(11) selectively transmitting a program removal..
`
`response.
`
`[00010]
`
`A method for providing programs, the methodincludes: (i) providing a program
`
`multiplex to multiple user devices; (ii) considering a removalofat least one program from the.
`
`multiplex in response to program viewing parameters;(iii) allowing at least one user to respond
`
`to a possible removal of the at least one program; and (iv) determining whether to removethe at
`
`least one program in response to received user removal responses.
`
`4
`F:\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`4
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[00011]
`
`The present invention will be understood and appreciated morefully from the
`
`following detailed description taken in conjunction with the drawings in which:
`
`[00012]
`
`Figure 1 illustrates a headend and a hub according to an embodimentofthe
`
`invention;
`
`[00013]
`
`Figure 2 illustrates a headend and a hub according to another embodimentof the
`
`invention;
`
`[00014]
`
`Figure 3 illustrates a user device according to an embodimentofthe invention;
`
`[00015]
`
`Figure 4 illustrates a cable network according to an embodimentofthe invention;
`
`[00016]
`
`Figure 5 illustrates a cable network according to another embodimentof the
`
`invention;
`
`
`
`[00017] Figure6illustrates various programsand signals exchanged overa cable network
`
`according to an embodimentofthe invention;
`
`[00018]
`
`Figure 7 illustrates a content information table according to an embodimentof the
`
`invention;
`
`
`
`[00019] Figure8illustrates differential content information message according to an
`
`embodimentof the invention;
`
`[00020]
`
`Figure 9 illustrates a program viewing table according to an embodimentofthe
`
`invention;
`
`{00021]
`
`Figure 10 illustrates a delay unit and a timing diagram according to an embodiment
`
`of the invention;
`
`[00022]
`
`Figure 11 illustrates various group ofpictures, according to an embodimentofthe
`
`invention;
`
`[00023]
`
`Figure 12 illustrates a method for providing programs, according to an embodiment
`
`of the invention; and
`
`[00024]
`
`Figure 13 illustrates a method for receiving programs, according to an embodiment
`
`of the invention.
`
`5
`F:\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`5
`
`
`
`DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
`
`[00025]
`
`The disclosed techniqueis directed to a broadband network, which can be either
`
`wired or wireless, such as an HFC network, a DSL network, satellite communication andthe like.
`
`[00026]
`
`It is further noted that the description relates to MPEG (and especially MPEG2)
`
`compliant programs and components, but the invention is applicable to other types of media unit
`decoding and/or compression schemesas well.It is further notedthat the media streamsare also
`referred to as programs,althoughthis is not necessarily so and the invention can be applied to
`
`media streams that are not programs.
`
`[00027]
`
`According to an embodimentofthe invention a device is provided. The device is
`
`adapted to provide a program multiplex. The device includes a media processor and a
`
`management unit. The media processoris adapted to generate a program multiplex. The
`
`management unit is adapted to consider a removalofat least one program from the multiplex (for
`
`example in response to program viewing parameters) and determine whether to removethe
`
`program in responseto at least one user program removalresponseor in response to an absence
`
`of such response. This device can be included within a headend, within a hub, within a node,
`
`partially within either one of the hub, headend and node,andthelike.
`
`[00028]
`
`The program removalresponsecan include a removalapproval, an objection to the
`
`removal, a parameter that can reflect the amount of acceptance/ rejection to the removal, a request
`
`to delay the removal, and the like. The requested delay period can be included within the
`
`response.
`
`[00029]
`
`According to an embodimentof the inventiona user device is provided. It includes a
`
`transceiver unit that is connected to a controller. This device is adapted to receive a program
`
`multiplex, receive an indication that at least one program is to be removed from the multiplex;
`
`and selectively transmit a program removal response.
`
`[00030]
`
`Figure 1 illustrates a headend 20 and a hub 40according to an embodiment ofthe
`
`invention.
`
`[00031]
`
`The headend 20 and hub 40 are connectedto each other via a headend to hub network
`
`30. It is noted that other configurations can be provided, including a unified hub and headend
`
`configuration.
`
`[00032]
`
`The hub 40is connected to multiple user devices via hub to user device network 31.
`
`This network 31 is usually a hybrid fiber coax (HFC) network, but this is not necessarily so.
`
`6
`FACLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`6
`
`
`
`[00033]
`
`Headend 20 can receive media content from varioussources such as video on
`
`demandserver 92,andsatellite dishes 93, 93’ and 93”. The headend 20 includes a media
`
`processor 21 that can process programsin various manners,including rate-shaping, performing
`
`PID re-mapping, generating delayed versions of a program, duplicating programs, performing
`
`statistical multiplexing, compressing, encrypting andthelike.
`
`[00034]
`
`Anexemplary broadband mediarouter that has such media processing capabilities is
`
`described in U.S. patent 6434141 of Oz et al., which is incorporated herein by reference. An
`
`exemplary method and device for generating delayed version of programsis described in U.S.
`
`patent 6813270 of Oz et al., which is also incorporated herein by reference.
`
`[00035]
`
`The headendtransmits a headend multiplex (such as MOoffigure 4) to the hubs.
`
`Each hubtransmits a hub multiplex (such as multiplexes M1-M3offigure 4) to multiple user
`
`devices. Typically, user devices that receive the same multiplex are referred to as a user devices
`
`group.
`
`[00036]
`
`The media processor 21 is controlled by a headend managementunit 26 that may
`
`determine which media processing operations to apply and also determine which programs:should
`
`be included within the headend and hub multiplexes.
`
`[00037]
`
`Usually, headend 20 is connected to multiple hubs (for example hubs 40, 40’ and 40”
`
`of figure 4, nodes 41 and 43 offigure 5), and is capable of providing to each huba different
`
`program multiplex. It is noted that the amountof hubs can differ from three.
`
`[00038]
`
`Alternatively, each hub can receive a headend multiplex of programsandselect the
`
`programs to be included within the hub multiplex of programs. Typically, the bandwidth ofthe
`
`headendto hub network 30 is muchlarger than the bandwidth ofthe hub to user network 31, thus
`
`the headend multiplex can include much more programsthan the hub multiplex.
`
`[00039]
`
`The headend managementunit 26 can perform additional tasks such asbilling related
`
`tasks, and thelike.
`
`[00040]
`
`Headend 20 also includes a transport system 24 that is adapted to receive one or more
`
`program multiplexes from media processor 21 andto processit such as to comply to format
`
`conveyed over headend to hub network 30. This processing mayinclude fragmentation,
`
`aggregation, packet encapsulation, and thelike.
`
`[00041]
`
`The headend managementunit 26is usually adapted to perform resourceallocation.
`
`The resource allocation determines the resources (including component, frequency, bandwidth,
`
`7
`FACLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`7
`
`
`
`port and the like) that are allocated for a certain task (such as a transmission of a program). The
`
`headend managementunit 26 can determine which programsto include within each multiplex,
`
`when to send program removalinformation and how to response to received program removal
`
`responsesthat are transmitted by user devices.
`
`[00042]
`
`According to another embodimentof the invention the resource managementis
`
`performed,at least partially, by management units located within the hubs and/or nodes.
`
`[00043]
`
`According to an embodiment ofthe invention headend 20 can determine which
`
`programsto include within each program multiplex based upon various parameters, including
`
`user viewing patterns, viewingstatistics and thelike.
`
`[00044]
`
`The programscan beclassified to various groupsthat differ from each other by the
`
`probability removal from the multiplex. As a rule of thumb programsthat are viewed by a very
`
`large number of the viewers can be removed only in rare occasions, while programsthat rarely
`
`viewed can be provided to users only upon request.It is noted that the programscan beclassified
`
`to two types - “static” and “switched”, but this is not necessarily so and more than two groups can
`
`be defined.
`
`[00045]
`
`It is further noted that the content of a certain multiplex can be responsive to current
`
`viewingstatistics, to previous viewing patterns, to expected viewing patterns, and/orto
`
`predefined criteria. Such a criteria can be responsive to a transmission priority of a program.
`
`[00046]
`
`Figure 2 illustrates headend 20’ and hub 40’ according to another embodimentof the
`
`invention.
`
`[00047]
`
`Headend 20’ is connected, via headend to hub network 30 to hub 40’. Hub 40’ is
`
`connected to multiple user devices via hub to user device network 31. Typically, multiple hubs
`
`and/or nodes are connected to a single headend, but for simplicity of explanation a single hub and
`
`a single headendareillustrated.
`
`[00048]
`
`Hub 40’ may exchangedata, programs and control signals with multiple user devices.
`
`The main path for providing downstream signals from the hubto the user devicesis also termed
`
`in-band, while the auxiliary path for providing upstream and downstream informationis also
`
`referred to out-of-bandpath.
`
`[00049]
`
`Conveniently, programs, data and control signals (including for example, content
`
`information) are transmitted via the in-band path while data and control signals (including for
`
`8
`FACLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8_9_05.doc
`
`8
`
`
`
`example, active messages and program removalresponse) are transmitted via the out-of-band
`
`path.
`
`[00050]
`
`Hub 40’ includes a hub managementunit 54, in-band transmit/receive module
`
`(denoted “In-band RX/TX module”) 44 and out-of-band transmit/receive module (denoted “Out-
`
`of-band RX/TX module”) 46. The hub managementunit 54 controls modules 44 and 46 and
`
`determines, either alone or by cooperating with the headend 20’ which programsshould be
`
`included with a program multiplex. The hub managementunit 54 can also define modulation
`
`characteristics, control the provision of local content, calculate user viewing patterns and
`
`Statistics, and thelike.
`
`[00051]
`
`Figure 3 illustrates a user device 60, according to an embodimentofthe invention.
`
`[00052]
`
`Device 60 can be a set top box or another computerized entity. It is connected to a
`
`display, such as television 69 and can receive instructions from a remote control, via interface 68.
`
`Thus, instructions such as change programinstructions,alter picture or soundrelated instructions,
`
`as well as signals exchanged duringinteractive sessions are received by interface 65 and sent to
`
`controller 63.
`
`[00053]
`
`The analysis of these signals can indicate if a user views the received programs. The
`
`analysis can be responsive to the length of viewed programs, and/or to viewing patterns of the
`
`viewers. The interface 65 can also receive signals sent to the television, thus provide additional
`
`indication about the viewingrelated activities of the user.
`
`[00054]
`
`User device 60 also includes a transceiver unit (denoted RX/TX unit) 61 that is
`
`adapted to receive and transmit signals, such as radio frequency signals, over a hub to user device
`
`network 31. Unit 61 usually includes a tuner, a modulator, a de-modulator and a transmitter. It is
`
`controlled by controller 63 that can set various reception and/or transmission parameters such as
`
`tuner frequency, modulation and demodulation schemesandthelike.
`
`[00055]
`
`Thetransceiver unit 61 is connected to parser 62 that can selectively provide data and
`
`control signals to controller 63 while sending programs to decoder 64. Decoder 64 is connected to
`
`television 69.
`
`
`
`[00056] Figure4illustrates a cable network 90 according to an embodimentof the invention.
`
`[00057]
`
`Network 90 includes headend 20that is connected to multiple content providers such
`
`as Video On Demand (VOD)servers 94 and 96 andsatellite dish 92. It is noted that the amountof
`
`content providers as well as their type can differ from thoseillustrated in figure 4.
`
`9
`F:\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`9
`
`
`
`[00058]
`
`Headend 20 is connected, via headend to hubs network 31 to three hubs 40, 40’ and
`
`40”. It is noted that it can be connected to different hubs via different networks, that more than
`
`three hubs can be connected to headend 20 andthat network 90 can include additional
`
`intermediate devices, such as nodes.
`
`[00059]
`
`Each hub (40, 40’ and 40”) is connected to multiple user devices via a hubto user
`
`devices network such as HFC networks 70,70’ and 70”.
`
`[00060]
`
`Each hub can be connected to a large numberof user devices. Many HFC networks
`
`are connected to hundreds of user devices and even to more than one thousanduser devices. For
`
`simplicity of explanation only nine user devices are illustrated as being connected to each hub.
`
`For example, user devices STB 80(1) - STB 80(9) are connected to hub 40, user devices STB
`
`80(1)’ - STB 80(9)’ are connected to hub 40’, and user devices STB 80(1)” - STB 80(9)”are
`
`connected to hub 40”.
`
`[00061]
`
`Each network out of HFC networks 70, 70’ and 70” can supply to the user devices a
`
`different program multiplex. Hub 40 provides hub multiplex M1, Hub 40’ provides hub multiplex
`
`M2and hub 40”provides hub multiplex M3. Headend 20 sends headend multiplex MO to the
`
`three hubs.
`
`[00062]
`
`Conveniently, MO caninclude all the content of M1, M2 and M3, although each hub
`
`can insert local content to the hub multiplex. Conveniently, MO includesall the programsthat are
`
`included within M1-M3.
`
`[00063]
`
`Conveniently, headend 20 determines which program to remove from the multiplex
`
`MO,which program to add, when to send program removalindications, how to respond to
`
`program removal responses, to the reception or lack of receptions of active messages, and the
`
`like. It is noted that this is not necessarily so and other components (such as hubs) can perform
`
`some or all of these decisions, or participate (along with the headend or another component) in
`
`such a decision.
`
`[00064]
`
`Figure 5 illustrates a cable network 91 according to another embodimentofthe
`
`invention.
`
`[00065]
`
`Cable network 91 includesa first headend 20 and a second headend 21. Thefirst
`
`headend 20 receives programsfrom satellite dishes 92, 92’, and 92”. The second headend 21
`
`receives programsfrom satellite dishes 93, 93’ and 93”, as well as from VODserver 92.
`
`10
`F:\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_89_05.doc
`
`10
`
`10
`
`
`
`[00066]
`
`First headend 20 is connected to first node 41 via backboneinfrastructure 84. The
`
`backboneinfrastructure 84 includes multiple backbone routers 82. Second headend 21 is
`
`connected to second node 43 via backboneinfrastructure 84. First node 41 is connected to
`
`multiple user devices 80(1)” — 80(9)” via HFC network 70”. Second node 43 is connected to
`
`multiple user devices 80(1) — 80(9) via HFC network 70.
`
`[00067]
`
`Thefirst headend 20 can determine which programs to remove(or add to) from the
`
`hub multiplex that is sent over HFC network 70” while the second headend 21 can determine
`
`which programsto add to (or remove from) the hub multiplex that is sent over HFC network 70.
`
`[00068]
`
`Redundancycan be provided by supplying the same programs from multiple
`
`backbonerouters 82. In such a casefirst headend 20 can send stream removalindications and
`
`receive program removal responses from user devices that are connected to HFC network 70 as
`
`well as those that are connected to HFC network 70”. According to another embodimentofthe
`
`invention the first headend 20 can send program removalindications and/or receive program
`
`removal responses and/or respond to program removal responsesfrom user devices 80(1)” —
`
`80(9)”,
`
`[00069]
`
`Figure 6 illustrates various programs and signals exchanged overa cable network
`
`according to an embodimentofthe invention.
`
`[00070]
`
`It is assumedthattheillustrated programs belong to M1. Between TO and T3 M1
`
`includes K programs 101-109. K is a positive integer that is usually greater thenfifty.
`
`[00071]
`
`Before T1 or at T1 headend20 considers the removal of second program 102 and to
`
`replace it by program R 110. The decision can be responsive to various parameters, including
`
`lack of interest in the second program 102, a request to view program R 110, an expectation that
`
`program R 110 will be requested, bandwidth constraints, and the like.
`
`[00072]
`
`At T1 headend 20 sendsto user devices 80(1)- 80(9) a program removalindication
`
`(illustrated as flag 121) that indicates that headend 20 considers to remove second program 102.
`
`Headend 20 waits to receive a stream removal response during a predefined waiting period.
`
`[00073]
`
`At T2, in response to received responses(or to an absence of such responses)
`
`headend 20 decides to replace the second program 102 by program R 110.
`
`[00074]
`
`According to an embodimentofthe invention the program removal indication can
`
`also include the time of the removal.
`
`11
`F:\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`11
`
`11
`
`
`
`[00075]
`
`Headend 20 sendsat T3 a differential content information message 131 that indicates
`
`that the second program 102 wasreplaced by program R 110.
`
`[00076]
`
`At T3 the second program 102is replaced by program R 110 and M1 includes the
`
`first program 101, program R,andthird to K’th programs 103-109. M1 remainsthe sameuntil
`
`T6.
`
`[00077]
`
`Before T4 or at T4 headend 20 considers the removal ofthe fourth andfifth
`
`programs 104 and 105 andthe inclusion of one or more programs, such as program Q 111 within
`
`M1. The decision can be responsive to various parameters, including lack ofinterest in the fourth
`
`and fifth programs 104 and 105, a request to view various programsincluding program Q 111, an
`
`expectation that program Q 111 will be requested, bandwidth constraints, and the like.
`
`[00078]
`
`At T4 headend 20 sendsto user devices 80(1)- 80(9) a program removalindication
`
`(illustrated as flag 122) that indicates that headend 20 considers to remove fourth andfifth
`
`programs 104 and 105.
`
`[00079]
`
`Headend 20 waits to receive a stream removalresponse. At TS, in responseto
`
`received responses(or to an absence of such responses) headend 20 decides to replacethe fifth
`
`program 105 by program Q 111 but to continue to transmit the fourth program 104.
`
`[00080]
`
`Headend 20 sends at T6 differential content information message 132 that indicates
`
`that the fifth program 105 is being replaced by program Q 111.
`
`{00081]
`
`At T6 the fifth program 105 is replaced by program Q 111 and M1 includesthefirst
`
`program 101, program R,third and fourth programs, program T, and the sixth to the K’th
`
`programs 101, 110, 103, 104, 111, 106-109.
`
`[00082]
`
`Headend 20 transmits content information messages ordifferential content
`
`information messagesthatcan assist the user devices to seamlessly switch between programs. A
`
`user device will send a request to receive a certain program if that program is not included within
`
`the hub multiplex that is provided to the user device. The content information can include various
`
`information suchas carrier frequency and modulation that can assist the user device to switch
`
`between programs. Conveniently, the user device sends an indication when is switches to another
`
`program, evenif that program, belongsto the received multiplex. This enables the headend to
`
`track the viewing patters of the users. According to another embodimentof the invention the
`
`indication is not sentif the program is definedasa static program.
`
`12
`F:\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`12
`
`12
`
`
`
`[00083]
`
`In order to reduce bandwidth the content information can besent in a differential
`
`manner. Differential content information messages can indicate differences between a previously
`
`transmitted program multiplex and a currently transmitted program multiplex.
`
`[00084]
`
`According to another embodimentofthe invention the headend 20 can determine
`
`whether to send content information messagesor differential content information messages. The
`
`determination can be responsive to the amount of changes between the pervious and current
`
`program multiplexes. For example, if more than half of the programsare replaced simultaneously
`
`then the content information messages can be smaller than the differential content information
`
`messages.
`
`[00085] Figure7illustrates a content information table 200 according to an embodiment of
`
`the invention. Content information table 200 includesa list ofprogramsthat are included within
`the program multiplex as well as multiple associated parameters. These parameters can include,
`
`for example, the program name,tuning frequency, modulation type, program identification field
`
`(such as an MPEG compliant PID), and program type (switched, static, and thelike).
`
`[00086]
`
`Figure8 illustrates a differential content information message 131 according to an
`
`embodimentofthe invention. Differential content information message 131 is transmitted at T3
`
`and indicates that the second program 102 is removed (program type is ‘REMOVED’) andthat
`
`program R 110 is provided. The parameters of program R 110 are included within the differential
`
`content information message 131.
`
`[00087]
`
`The content information can also determine the type of program - for example
`
`whether the program is static or switched. In the formercase the user devices knowsthat the
`
`program will not be replaced, and thus can ignore program removal information ifit is tuned to
`
`than program.
`
`[00088]
`
`According to an embodiment ofthe invention headend 20 can receive user viewing
`
`indications about users viewing related operations (gathered by the user device) and try to
`
`estimate the viewing patterns of the user and/or generate viewingstatistics. The statistics and/or
`
`viewing patterns can be used by headend 20 to decide which programs to remove from a program
`
`multiplex and which program to add to the program multiplex.
`
`[00089]
`
`Figure 9 illustrates a program viewing table 230 according to an embodimentofthe
`
`invention. Table 230 includes four columns 232-238. The first column 232 includes the names of
`
`the programs, the second column includes the amountofusers that are viewing the program (orat
`
`least an estimate of their number), the identity of user devices that are tuned to receive each
`
`13
`FACLIENTS_A_M\BigBand Networks\P036\5079P036_asfiled8905.doc
`
`13
`
`13
`
`
`
`programsand user viewing informationthat reflects the operations that are received by interface
`
`‘65. Table 230 illustrates that if the number of viewers exceedsa certain threshold then the user
`
`viewing information is irrelevant.
`
`[00090]
`
`According to an embodiment ofthe invention the switching between programscan be
`
`speeded up by generating multiple time-shifted versions of a program andprovidinga single
`
`version that includes an independently decodable frame(or picture) that follows the switching
`
`point by the shortest period, in relation to corresponding independently decodable frames of other
`
`versions of the program.
`
`[00091]
`
`Figure 10 illustrates delay unit 250 and a timing diagram 113 according to an
`
`embodimentof the invention.
`
`[00092]
`
`The delay unit 250 is conveniently included within media processor 210. It receives a
`
`program and generated multiple time-shifted versions of that program. The program can be
`
`provided to the delay unit 250 near an expected addition of that program to the multiplex. A
`
`program should be addedat a frame that can be independently decodable, such as an I-frame.
`
`Typically, various frame types (including P-frames and B-frames) are transmitted at group of
`
`pictures that are also referred to as GOPs. A GOPstarts with an I-frame.
`
`[00093]
`
`Oncethe headend decides to add a program (usually as a result from a request to
`
`view that program), the switching (or adding) period can be shortened by providing a program
`
`that includesa I-frame that follows the decision momentandis relatively close to that decision
`
`moment. This can be facilitated by generating multiple time-shifted versions of a certain program,
`
`and selecting one version in responseto time difference between the decision momentand the
`
`occurrence of an I-frame.
`
`[00094]
`
`For example, delay unit 250 receives program R 110 and outputs program R 110, and
`
`three time-shifted versions referred to as D1 delayed program R’ 110’, D2 delayed program R”
`
`110” and D3 delayed program R’” 110’”. Timing diagram illustrates a single GOP (GOP 113,
`
`GOP 113’, GOP 113” and GOP 113””) from each of these programs.
`
`[00095]
`
`Oneofthe delayed programs(or even the original program) should be added to the
`
`multiplex shortly after T3. GOP 113” (and accordingly time-shifted program 111”) is selected it
`
`includes the I framethat is closets (and follows) to T3.
`
`[00096]
`
`According to an embodimentofthe invention the headend(or hub) speeds the
`
`switching process by changing the type of one or more frame (B frameor P frame) to an
`
`14
`FACLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`14
`
`14
`
`
`
`independently decoded frame. For example, a B-frame can replaced by a P frame. GOP 111”is
`
`modified (to provide a modified GOP 111*), prior to the switching point (at T3) by replacing a P
`
`frame that follows T3 by an I frame. Modified GOP 111* is followed by GOP 112”.
`
`[00097]
`
`Figure 12 illustrates method 300 for providing programs, according to an
`
`embodiment of the invention.
`
`[00098] Method 300starts by stages 310 and 320. Stage 310 includes providing a program
`
`multiplex to multiple users device.
`
`[00099]
`
`Stage 320 includes generating content information representative of the programs
`
`that are included within the multiplex. This information is sent to the users. Conveniently, the
`
`content information includes program frequency, program identification information, program
`
`modulation information, and the like.
`
`[000100] According to an embodimentof the invention instead of sending content information
`
`representative of the whole content of the multiplex, only differential content information
`
`messagesare transmitted. Differential content information represents changes between a previous
`
`content of the multiplex and a current content of the multiplex.
`
`[000101] According to yet another embodimentofthe invention each user out of a group of
`multiple users is associated with unique program parameters. Thus, each device that is connected
`
`to a certain HFC network has a dedicated combination ofcarrier frequency and PID and the
`
`headend switches between programsprovided to this user device by changing the parameters
`
`(PID,carrier frequency) of the program.In this case the headend (or hub) should be capable of
`
`performing program duplication (in case that multiple users request to receive the same program),
`
`and PID-remapping. In such a case only the programsthat are currently viewed bythe users are
`
`included within the multiplex.
`
`[000102] Conveniently, the headend 20 sendsto the hubs a multiplex (such as MO)that is then
`
`split to different multiplexes (M1-M3)that are provides by different hubs to different HTC
`
`networks. In such a case the characteristics (for example PID and carrier frequency) of a program
`
`within MOcan differ from the parameters of that program within either one of M1, M2 or M3. In
`
`such a case the hubs can perform PID re-mapping and/ or frequencyalterations.
`
`[000103] Stage 330 can follow stage 310 orat least partially overlap stage 310. Stage 330
`
`includes considering a removalofat least one program from the multiplex in response to program
`
`viewing parameters. The program viewing parameters can reflect the amountof users that view
`
`15
`F:A\CLIENTS_A_M\BigBand Networks\P036\5079P036_as_filed_8905.doc
`
`15
`
`15
`
`
`
`each program, a removalpriority of the program, the program type, an expectation to view a new
`
`program andthelike.
`
`[000104] The amount