throbber
UNITED STATES PATENT APPLICATION
`
`For
`
`METHODAND DEVICE FOR RECEIVING AND PROVIDING PROGRAMS
`
`Inventors:
`
`Swaminatha Vasudevan
`
`Pritesh Mukeshbhai Dave
`
`Kumaraguru Dhandapani
`
`Ran Oz
`
`and
`
`Nery Strasman
`
`SONY - Ex.-1003
`Sony Corporation - Petitioner
`
`1
`
`SONY - Ex.-1003
`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
`
`

`

`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
`
`

`

`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
`
`

`

`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
`
`

`

`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
`
`

`

`[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
`
`

`

`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
`
`

`

`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
`
`

`

`[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
`
`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
`
`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
`
`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
`
`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
`
`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
`
`15
`
`15
`
`

`

`each program, a removalpriority of the program, the program type, an expectation to view a new
`
`program andthelike.
`
`[000104] The amountofusers that view a program canbeestimated by the tuning parameters
`
`(such as carrier frequency and/or PID) ofthe user devices, by active messagesthat indicate that
`
`the user devicesarestill active, by user viewing information (suchasreceivedinstructions)
`
`reflecting that the user view the program.In orderto evaluate the status (active, idle) of a user
`
`device and in order to estimate whether the user views a program method 300 includes optional
`
`stages such as stages 380 and 390.
`
`[000105] Stage 330 is followed by stage 340 of allowing at least one user to respond to the
`
`consideration. Conveniently, stage 340 includes sending program removalindicationto at least
`
`one user device and waiting to receive at least one user program removal response.
`
`[000106] The waiting stage can be limited to a waiting period. At the end of the waiting period
`
`any received program removal responsesare evaluated in order to determine whether to perform
`
`the program removalof not. The determination is usually also responsive to additional parameters
`
`such as available bandwidth, requests to add a program, an expectation that a certain program will
`
`be requested, programs removalpriority, and thelike.
`
`[000107] Stage 340 is followed by stage 350 of determining whether to removetheat least one
`
`program in response to received user removal responses.It is noted that the determination can be
`
`responsive to a scenario in which no program removal response wasreceived.
`
`[000108] Stage 35

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket