WO2003103293A1 - Client terminal for providing video on demand - Google Patents

Client terminal for providing video on demand Download PDF

Info

Publication number
WO2003103293A1
WO2003103293A1 PCT/US2002/017312 US0217312W WO03103293A1 WO 2003103293 A1 WO2003103293 A1 WO 2003103293A1 US 0217312 W US0217312 W US 0217312W WO 03103293 A1 WO03103293 A1 WO 03103293A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
program segment
initial
video
remaining
Prior art date
Application number
PCT/US2002/017312
Other languages
French (fr)
Inventor
Peter J. Schwartz
Jeffrey L. Kapnerr
Timothy J. Elliott
Original Assignee
Keen Personal Media, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keen Personal Media, Inc. filed Critical Keen Personal Media, Inc.
Priority to AU2002320048A priority Critical patent/AU2002320048A1/en
Priority to PCT/US2002/017312 priority patent/WO2003103293A1/en
Publication of WO2003103293A1 publication Critical patent/WO2003103293A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26275Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Definitions

  • the present invention relates to the field of communications. More particularly, the present invention relates to a client terminal, such as a set top box, for storing an initial program segment and appending a remaining program segment to provide a video program on demand to a client.
  • client terminal such as a set top box
  • Description of the Prior Art Advancements in communications technology and increased consumer sophistication have challenged the distributors of video programming to provide clients with entertainment services more convenient and accessible than those traditionally made available through cable, satellite, and broadcast television. For example, improving communications infrastructure has resulted in a proliferation of pay-per-view media services in many of the larger broadcast and cable markets.
  • NOD video on demand
  • NOD systems are extremely capital intensive to deploy at both the video programming distribution center and in the underlying network infrastructure. This represents a significant barrier to mass industry adoption.
  • typical NOD systems for providing NOD to a client usually include a two-way digital client terminal and a network infrastructure to provide direct connections between the video programming distribution center and the client terminal.
  • a forward digital channel is assigned to the client terminal for the transport of video programs and a back channel is usually needed for the purchase and control of the stream.
  • typical NOD systems require bi-directional communication throughout the session. Therefore, a dedicated channel must be created in real-time to each client's client terminal, whenever a client demands video programming. This requires sophistical switching at the network level and sophisticated video distribution system functionality.
  • video distribution systems are required to store the video programming and stream the video programming to a client terminal whenever requested, forward channel switching systems are needed to establish the dedicated channel to the client from the video distribution system, and bandwidth must be allocated from a dedicated range of digital channels.
  • Such infrastructure changes affect the video distribution system, the underlying network (e.g. distribution nodes), and the client terminal components.
  • a video programming provider must undergo major network infrastructure changes and major video distribution system upgrades to support NOD, which can represent a significant capital cost to the video programming provider.
  • the present invention may be regarded as a client terminal, computer program, and method to provide a video program on demand to a client.
  • the client terminal is connectable to a video distribution system and a display device.
  • the video distribution system broadcasts at least one video program to the client terminal.
  • the at least one video program includes an initial program segment and a remaining program segment.
  • the initial program segment is broadcast during a first broadcast time interval and the remaining program segment is repetetively broadcast during a second broadcast time interval.
  • the client terminal comprises a video input interface to receive the initial program segment and the remaining program segment, a user interface to receive user input, a display interface to display the at least one video program on the display device, a local memory to store a video control program, and a terminal controller responsive to the video control program.
  • the terminal controller responsive to the video control program records the initial program segment for the at least one video program in the local memory.
  • the terminal controller responsive to the video control program selects the at least one video program in response to user input and streams the recorded initial program segment associated with the selected video program from the local memory to the display interface for display on the display device. Further, the terminal controller responsive to the video control program receives the remaining program segment associated with.
  • FIG. 1 A shows a client terminal according to an embodiment of the present invention connected to a video distribution system and a display device to provide a video program on demand to a client.
  • FIG. 2 A is a diagram illustrating examples of how a video program can be divided into an initial program segment and remaining program segments and provided to the client terminal to enable video programs on demand to the client.
  • FIG. 2B illustrates the video distribution system time stamping an initial program segment and at least one remaining program segment of a video program with time stamps (TSs) and the client terminal utilizing the TSs to append the initial program segment with the at least one remaining program segment.
  • FIG. 3 is a flow diagram according to the embodiment of the invention shown in Figure 1A. DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG.
  • FIG. 1A shows a client terminal 100 connected to a video distribution system 102 and a display device 104 to provide a selected video program 122 to a client according to an embodiment of the present invention.
  • the video distribution system 102 broadcasts at least one video program 106 to the client terminal 100.
  • the at least one video program 106 includes an initial program segment 106a that is broadcast during a first broadcast time interval and a remaining program segment 106b that is broadcast during a second time interval.
  • the video distribution system 102 can broadcast a plurality of video programs.
  • the video distribution system 102 can be a cable head-end, a satellite head-end, a terrestrial broadcast head-end, or a computer server head-end capable of broadcasting the at least one video program 106.
  • the display device 104 is typically a television, computer monitor, or any other sort of display device.
  • the at least one video program 106 can be transmitted in a digital format (e.g. Moving Pictures Experts Group (MPEG)-2 format, Advanced Television System Committee (ATSC) format, Digital Video Broadcast (DNB) format, Open Cable format etc.) or analog format (e.g. National Television Standard Committee (NTSC)) across a link 105 from the video distribution system 102 to the client terminal 100.
  • the link 105 can be broadly defined as a communication network formed by one or more transport mediums.
  • the link 105 can include a variety of communication networks such cable networks, terrestrial broadcast networks, satellite networks, computer networks (e.g.
  • the at least one video program 106 typically includes audio and video (A/N) information (e.g. a movie, television program, etc.) but can also include other types of information such as data.
  • A/N audio and video
  • the data portion of a digitally broadcasted at least one video program 106 may include graphics, video, web pages, multimedia, text, and other types of data in a variety of differing data formats (e.g.
  • the at least one video program 106 includes an initial program segment (Segment 1) 106a and a remaining program segment 106b (Segment 2 + Segment 3).
  • the client terminal 100 of FIG. 1A includes a video input interface 108, a user interface 110, a display interface 116, a local memory 118, and a terminal controller 120.
  • the video input interface 108 receives the at least one video program 106 via the link 105.
  • the user interface 110 is used to receive user/client input 111.
  • the user input 111 is used to select a video program and to perform other functionality associated with a client terminal (e.g. changing channels).
  • the user input 111 can be from a remote control (e.g. infrared or optical), mouse, touch screen, voice activation, keyboard, or basically any sort of input device to transmit the selection of the user/client to the client terminal 100.
  • the display interface 116 displays the video program 106 on the display device 104.
  • the local memory 118 is used to store a video control program 119 and is also used to store the initial program segment 106a and the remaining segment 106b of the at least one video program 106, respectively.
  • the local memory 118 includes a rotating storage disk (e.g. magnetic, optical, etc.).
  • the local memory 118 can include any type of semiconductor memory.
  • the terminal controller 120 is responsive to the video control program 119 to perform many of the functions of the client terminal 100, as will be discussed.
  • the terminal controller 120 generally includes a suitable processor and associated memory.
  • client terminals with recording capabilities and other types of set top boxes are well known in the art.
  • the video control program 119 is generally implemented by the terminal controller 120 of the client terminal 100 as one or more instructions or code segments. The instructions/code segments which when read and executed by the terminal controller 120 cause the terminal controller 120 to perform the operations necessary to implement the various functions according to embodiments of the invention.
  • the instructions/code segments are tangibly embodied in and/or readable from a machine-readable medium, device, or carrier, such as memory, data storage devices, and/or a remote device contained within or coupled to the client terminal 100.
  • the instructions/code segments may be loaded from memory (e.g. local memory 118), data storage devices, and/or remote devices into the terminal controller 120 for use during operations.
  • the terminal controller 120 responsive to the video control program 119 records an initial program segment 106a for the at least one video program 106 in the local memory 118.
  • the terminal controller 120 selects one of a plurality of channels to receive and record the initial program segment 106a during the first broadcast time interval.
  • the terminal controller 120 responsive to the video control program 119 selects the at least one video program 106 in response to user/client input 111 and streams the recorded initial program segment 106a associated with the selected video program 122 to the display interface 116 for display on the display device 104.
  • the user/client can instantaneously, on demand, begin viewing the at least one video program 106.
  • the terminal controller 120 responsive to the video control program 119 receives the remaining program segment 106b associated with the selected video program 122 from the video distribution system 102 and records the received remaining program segment 106b in the local memory 118 as the initial program segment 106a is being displayed.
  • the terminal controller 120 After streaming the recorded initial program segment 106a to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program segment 106b from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remaining program segment 106b is appended to the initial program segment 106a. Accordingly, the client is able to watch the entire selected video program 122, instantaneously, on demand. In this way, by combining the real-time broadcast of a remaining program segment 106b and a stored initial program segment 106a, the at least one video program 106 can be provided on demand to a client.
  • FIG. IB shows a more specific embodiment of the video distribution system 102 of Figure 1 A.
  • the video distribution system 102 includes a storage device 150, a system controller 152, a billing system 154, and a client terminal interface 156.
  • the storage device 150 is used to store the at least one video program 106.
  • the system controller 152 splits the at least one video program 106 into an initial program segment 106a and a remaining program segment 106b.
  • the system controller 152 can split the remaining program segment 106b into any number of remaining program segments 106 b - z -
  • the system controller 152 controls the broadcast of the initial program segment 106a on a first channel 151 during a first broadcast time interval to the client terminal 100 via the link 105. Further, the system controller 152 controls a repetitive broadcast of the remaining program segment 106b on another channel 153 1 during a second broadcast time interval to the client terminal 100 via the link 105. Alternatively, the system controller 152 controls a repetitive broadcast of remaining program segments 106b- z on each of the channels 153I_ N , respectively, during the second broadcast time interval to the client terminal 100 via the link 105.
  • the first channel 151 can also be used for transmitting remaining program segments.
  • the first channel 151 is shown separately merely for illustrative purposes.
  • the initial program segment 106a can be broadcasted with the remaining program segments 106b- z -
  • the system controller 152 can also direct the billing system 154 to bill a client for the purchase of the at least one video program 106.
  • the client terminal 100 in response to the selection of the at least one video program 106, directs the video distribution system 102 to bill a client associated with the terminal by sending a purchase notice to the video distribution system 102.
  • the system controller 152 directs the billing system 154 to bill a client associated with the client terminal 100.
  • the purchase notice is sent from the client terminal 100 to the video distribution system 102 immediately after the client has selected the at least one video program 106 and the recorded initial program segment 106a is streamed to the display device 104.
  • the purchase notice can be stored in local memory 118 of the client terminal 100, and the client terminal 100 at a later time sends the purchase notice to the video distribution system 102.
  • the video distribution system 102 can poll the client terminal 100 for the purchase notice.
  • FIG. 2 A is a diagram illustrating examples of how the at least one video program 106 can be divided into an initial program segment 106a and remaining program segments and can be provided to the client terminal 100 to enable video programs on demand to the client.
  • the initial program segment 1 106a is stored in local memory 118 of the client terminal 100.
  • the initial program segment 106a can be broadcasted to the client terminal 100 for storage on a first channel 151 during a first broadcast time interval.
  • the first broadcast time interval can occur during off peak hours when most clients are not utilizing their client terminals (e.g. late at night).
  • the initial program segment 1 106a is resident in the local memory 118, but is not accessible to the client until the client selects the at least one video program 106 associated with the initial program segment 106a.
  • the system controller 152 of the video distribution system 102 directs the billing system 154 to bill the client associated with the client terminal 100.
  • the remaining program segment 2 106b is repetitively broadcast on channel 1 153 ⁇ to the client terminal 100. Each remaining program segment 2 106b occupies a segment slot 204 ⁇ _ n , respectively.
  • the terminal controller 120 responsive to the video control program 119 streams the recorded initial program segment 1 106a associated with the selected video program 122 from the local memory 118 to the display interface 116 for display on the display device 104. Further, the terminal controller 120 responsive to the video control program 119 begins simultaneously recording the remaining program segment 2 106b associated with the selected video program 122 in the local memory 118 as the initial program segment 106a is being displayed.
  • the terminal controller 120 After streaming the recorded initial program segment 106a to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program segment 2 106b from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remaining program segment 2 106b is appended to the initial program segment 106a. Accordingly, the client is able to watch the entire selected video program 122, instantaneously, on demand. Also, alternatively, the initial program segment 106a can be broadcasted with the remaining program segments 106b.
  • Example 200 Because the length of the remaining program segment 2 106b is the same as the length of the initial program segment 1 106a, it does not matter at what point in a segment slot 204 of remaining program segment 2 106b that the terminal controller 120 starts simultaneously recording the remaining program segment 2 106b (as it begins to display the initial program segment 1 106a). This is because by the time the initial program segment 1 106a is finished being displayed, the whole remaining program segment 2 106b will be recorded and will be ready for display.
  • the terminal controller 120 can wait until the beginning of the next adjacent segment slot 204 of the remaining program segment 2 106b to begin recording the remaining program segment 2 106b. This is because as long there is some amount time that the terminal controller 120 can begin recording the remaining program segment 2 106b before the end of the display of the initial program segment 1 106a, the terminal controller 120 can still begin streaming the recorded portion of the remaimng program segment 2 106b to the display device 104 as it continues to record the rest of the remaining program segment 2 106b. This way of handling video programming allows the video programming provider to implement a system with video on demand functionality with very low infrastructure cost.
  • the client terminal 100 it also enables the client terminal 100 to efficiently use local memory 118, such as a rotating storage disk.
  • local memory 118 such as a rotating storage disk.
  • the average 1 and V-. hour movie takes between 4.5-6 Gigabytes of storage space.
  • 5 whole video programs (e.g. movies) stored in local memory would occupy 30 Gigabytes, which is the current capacity of many of today's client terminals.
  • 5 whole video programs e.g. movies
  • 5 whole video programs can be delivered to a client on demand, while only approximately 15 Gigabytes of storage space in local memory 118 for storing the initial program segments of the associated video programs (e.g. movies) is used.
  • a plurality of remaining program segments and a plurality of channels can be utilized.
  • the initial program segment 1 106a is stored in local memory 118 of the client terminal 100.
  • the remaining program segment 106b can be further divided into a plurality of remaining program segments, e.g. remaining program segment 2 106c and remaining program segment 3 106d, that are staggered while being repetitively broadcast over a plurality channels, e.g. channel 1 and 2 (153 ⁇ and 153 2 ), respectively, during the second broadcast time interval.
  • the terminal controller 120 responsive to the video control program 119 selects at least one of the plurality of channels, e.g.
  • each remaining program segment 2 106c and remaining program segment 3 106d on channel 1 153 ⁇ occupies a segment slot 224 ⁇ - n , respectively, and each remaining program segment 2 106c and remaining program segment 3 106d on channel 2 153 2 occupies a segment slot 226 ⁇ - n , respectively.
  • the initial program segment 106a can be broadcasted with the remaining program segments 106 b - z .
  • the terminal controller 120 responsive to the video control program 119 streams the recorded initial program segment 1 106a associated with the selected video program 122 from the local memory 118 to the display interface 116 for display on the display device 104. Further, the terminal controller 120 responsive to the video control program 119 simultaneously selects one of the channels 1 or 2 (1531 or 153 2 ) and begins to record the remaining program segments 2 and 3 (106c and 106d) in the local memory 118, as the initial program segment 106a is being displayed. Typically, the terminal controller 120 will select the channel for recording that has the next remaining program segment (after the initial program segment) beginning in the next adjacent segment slot.
  • the terminal controller 120 would select channel 2 153 2 at time ti because the next remaining program segment 2 106c follows the initial program segment 1 106a in the next adjacent segment slot 226 2 .
  • the terminal controller 120 records the last portion of remaining program segment 3 106d (slot 226 ⁇ ) at time ti and continues recording the remaining program segment 2 106c (slot 226 ) and the first portion of remaining program segment 3 106d (slot 226 3 ).
  • the terminal controller 120 responsive to the video control program 119 can tune to a plurality of channels simultaneously, e.g. channels 1 and 2 (153 ⁇ and 153 2 ), and simultaneously record the plurality of remaining program segments, e.g.
  • the terminal controller 120 After streaming the recorded initial program segment 106a to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program segment 2 106c and the recorded remaining program segment 3 106d from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remaining program segments 2 and 3 (106c and 106d) are appended to the initial program segment 106a. Accordingly, the client is able to watch the entire selected video program 106, instantaneously, on demand.
  • the lengths of remaining program segments 2 and 3 are each the same length as the length of initial program segment 1 106a, it does not matter at what point that the terminal controller 120 starts simultaneously recording the remaining program segment 3 106d, because by the time the initial program segment 1 106a is finished being displayed, a portion of the remaining program segment 2 106c will be recorded and will be ready for display.
  • the client terminal 100 can display remaining program segment 2 106c while continuing to record the rest of remaining program segment 2 106c and remaining program segment 3 106d.
  • the terminal controller 120 still selects the channel for recording that has the next remaining program segment (after the initial program segment) beginning in the next adjacent segment slot.
  • the terminal controller 120 then waits until the next remaimng program segment that follows the initial program segment in the next adjacent segment slot begins, and then starts recording.
  • the terminal controller 120 again at time ti, the terminal controller 120 would select channel 2 153 2 and would wait until remaining program segment 2 106c begins in the next adjacent slot 226 2 and would then begin recording remaining program segment 2 106c and then continue to record remaining program segment 3 106d.
  • the client terminal 100 can display remaining program segment 2 106c while continuing to record the rest of remaining program segment 2 106c and remaining program segment 3 106d.
  • This embodiment further enables the client terminal 100 to efficiently use local memory 118, such as a rotating storage disk.
  • local memory 118 such as a rotating storage disk.
  • the average 1 and l A hour movie takes between 4.5-6 Gigabytes of storage space and 5 whole video programs (e.g. movies) stored in local memory would occupy 30 Gigabytes, which is the current capacity of many of today's client terminals.
  • 5 whole video programs e.g. movies
  • 5 whole video programs can be delivered to a client on demand, while only using approximately 10 Gigabytes of storage space in local memory 118 for storing the initial program segments of the associated video programs (e.g.
  • a continuous carousel of the remaining portions of each video program is broadcast on a plurality of channels.
  • multiple versions of each program are broadcast on different channels, with each version being delayed from the previous one by 15 minutes.
  • eight remainder of program 1 portions 252 ⁇ - 8 are broadcast in a continuous carousel fashion among remainder program channels 1-8 254, respectively, and remainder of program 2 portions 256 ⁇ - 8 are broadcast in a continuous carousel fashion among remainder program channels 9-16 258, respectively.
  • each remainder of the program 1 or 2 portions would include eight remaining program segments (e.g.
  • the terminal controller 120 responsive to the video control program 119 streams the associated recorded initial program segment from the local memory 118 to the display interface 116 for display on the display device 104. Further, the terminal controller 120 responsive to the video control program 119 simultaneously selects a given channel 1-16 having the next occurring remainder of the program portion 252 or 256 associated with the desired video program and records the remainder of the program portion 252 or 256 in the local memory 118.
  • the terminal controller 120 After streaming the recorded initial program segment to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program portion 252 or 256 from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remainder of the program portion 252 or 256 is appended to the initial program segment.
  • the terminal controller 120 responsive to the video control program 119 streams the associated recorded initial program segment from the local memory 118 to the display interface 116 for display on the display device 104.
  • the terminal controller 120 responsive to the video control program 119 simultaneously selects channel 4 having the next occurring remainder of the program 1 portion 252 4 at 1 :45 pm associated with the desired video program and at 1 :45 pm begins recording the remainder of the program 1 portion 252 4 in the local memory 118.
  • the terminal controller 120 responsive to the video control program 119 at 1 :53 pm streams the recorded remainder of program 1 portion 252 from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remainder of program 1 portion 252 4 is appended to the initial program segment.
  • the client terminal 100 can display the remainder of program 1 portion 252 recorded thus far while continuing to record the rest of the remainder of program 1 portion 252 4 . Accordingly, the client is able to watch the entire video program, instantaneously, on demand and it appears to the client as if the video program was immediately available without delay. Also, the storage requirement for the 15 minute initial program segment is only .5 Gigabytes per program.
  • this type video program on demand is achieved at the client terminal without using excessive amounts of network bandwidth, implementing major changes to the existing network infrastructure and video distribution system, or creating excessive costs in deployment. Furthermore, a dedicated direct and persistent connection is not required between the video distribution system 102 and the client terminal 100.
  • the terminal controller 120 of the client terminal 100 responsive to the video control program 119 can add previews of new video programs as they become available and remove video program content (e.g. initial program segments and remaining program segments) as it becomes outdated.
  • video program content e.g. initial program segments and remaining program segments
  • the client has the ability to perform full trick play capabilities (pause/rewind/fast-forward etc.) on the video program.
  • Security issues can be minimized in number of ways.
  • the video program content can be encrypted in local memory 118.
  • a key with a finite lifetime can be used to ensure that video program content can only be viewed during a finite time period. A technique for appending the initial program segment to at least one remaimng program segment will now be discussed. Turning to FIG.
  • FIG. 2B illustrates the video distribution system 102 time stamping segments of the at least one video program 106 with time stamps (TSs) and the client terminal 100 utilizing the TSs to append an initial program segment with at least one remaining program segment.
  • the system controller 152 of the video distribution system 102 divides the initial program segment 1 (IPSi) into a plurality of initial packets (IPi- n ) 260 and time stamps each initial packet such that each initial packet has a plurality of time stamps (TSs) 264.
  • IPSi includes a plurality of TSs ⁇ _ n .
  • a last packet 268 of the initial packets includes a last TS value (TS n ) 270.
  • each RPS has a plurality of TSs ⁇ - n .
  • a first packet (Pi) 276 of the plurality of packets 272 includes an initial TS value (TSi) 278 and a last packet 280 that includes a last TS value (TS n ) 282.
  • the client terminal 100 receives the initial program segment 1 (IPSi) and the remaining program segments (RPSs 2 .
  • the local memory 118 stores for a first video program IPS ⁇ a 285, RPS 2a 287, and RPS 3a 289 and for a second video program IPS i b 290 and RPS b 291. It should be appreciated that any number of IPSs and RPSs can be stored in local memory 118 depending upon memory capacity.
  • the terminal controller 120 responsive to the video control program 119 appends the recorded remaining program segment RPS 2a 287 to the initial program segment IPS ⁇ a 285 such that the at least one video program 106 is continuously streamed for display on the display device 104.
  • the terminal controller 120 responsive to the video control program 119, determines the initial TS value (TSi) 278 of RPS 2a and the last TS value (TS n ) 270 of IPS ⁇ a and streams RPS 2a at the initial TS value (TSi) 278 from local memory 118 to the display device 104 immediately following the last TS value (TS n ) 270 of IPS ⁇ a such that the at least one video program 106 is continuously streamed for display on the display device 104. In the case where there is only an initial program segment and one remaining program segment, this is all that would be needed to be done to continuously display the whole at least one video program 106. In the current example, where there are two remaining program segments.
  • RPS 3a also needs to be appended to RPS 2a .
  • the terminal controller 120 responsive to the video control program 119, determines the initial TS value (TSi) 278 of RPS 3a (occurring directly after the RPS 2a ) and the last TS value (TS n ) 282 of RPS 2a and streams RPS 3a at the initial TS value (TSi) 278 from local memory 118 to the display device 104 immediately following the last TS value (TS n ) 282 of RPS 2a such that the at least one video program 106 is continuously streamed for display on the display device.
  • this technique can extended to any number of remaining program segments stored in local memory 118.
  • FIG. 3 is a flow diagram according to the embodiment of the invention shown in Figure 1 A.
  • the flow diagram 300 illustrates a method of providing a video program on demand to a client terminal 100.
  • the terminal controller 120 responsive to the video control program 119 determines whether the first broadcast time interval is occurring or whether it is the second broadcast time interval. If the first broadcast time interval is occurring, at step 304, the terminal controller 120 responsive to the video control program 119 records the initial program segment 106a for the at least one video program 106 being broadcasted in local memory 118.
  • the terminal controller 120 responsive to the video control program 119 receives user input and selects the at least one video program 106, in response thereto.
  • the terminal controller 120 responsive to the video control program 119 streams the recorded initial program segment 106a associated with the selected video program 122 to the display interface 116 for display on the display device 104.
  • the terminal controller 120 responsive to the video control program 119 retrieves and records the remaining program segments 106 b - z associated with the selected video program 122 currently being broadcasted in local memory 118.
  • the terminal controller 120 ts 106 b - z to the display interface 116 for display on the display device 104.
  • the responsive to the video control program 119 streams recorded remaining program segmen terminal controller 120 responsive to the video control program 119 directs a billing system 154 at the video distribution system 102 to bill a client associated with the client terminal 100 for the selected video program 122.
  • the present invention can be implemented in hardware, software, firmware, middleware or a combination thereof and utilized in systems, subsystems, components, or sub-components thereof.
  • the elements of the present invention are the instructions/code segments to perform the necessary tasks.
  • the program or code segments can be stored in a machine readable medium, such as a processor readable medium or a computer program product, or transmitted by a computer data signal embodied in a carrier wave, or a signal modulated by a carrier, over a transmission medium or communication link.
  • the machine-readable medium or processor-readable medium may include any medium that can store or transfer information in a form readable and executable by a machine (e.g. a terminal controller, a processor, a computer, etc.).
  • Examples of the macliine/processor-readable medium include an electronic circuit, a semiconductor memory device, a ROM, a flash memory, an erasable programmable ROM (EPROM), a floppy diskette, CD-ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc.
  • the computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air, electromagnetic, RF links, etc.
  • the code segments may be downloaded via computer networks such as the Internet, Intranet, etc. While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications of the illustrative embodiments, as well as other embodiments of the invention, which are apparent to persons skilled in the art to which the invention pertains are deemed to lie within the spirit and scope of the invention.

Abstract

A client terminal (100) to provide a video programm on demand to a client is connected to a video distribution system (102) and display device (104). The video distribution system (102) broadcasts a video program (106) to the client terminal (100) including an initial program segment (106a) and a remaining program segment (106b). The initial program segment (106a) is broadcast during a first broadcast time interval (FBTI) and the remaining program segment is repetetively broadcast during a second broadcast time interval (SBTI). A terminal controller (120) of the client terminal (100) is responsive to a video control program (119). During the FBTI, the terminal controller (120) records the initial program segment in a local memory (118). During the STBI, the terminal controller (120) selects the video program (106) in response to a user input (111) and displays the recorded initial program segment. Further, the terminal controller (120) receives the remaining program segment from the video distribution system (102) and records it in the local memory (118). After displaying the recorded initial program segment, the terminal controller (120) displays the recorded remaining program segment.

Description

CLIENT TERMINAL FOR PROVIDING VIDEO ON DEMAND
BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to the field of communications. More particularly, the present invention relates to a client terminal, such as a set top box, for storing an initial program segment and appending a remaining program segment to provide a video program on demand to a client. Description of the Prior Art Advancements in communications technology and increased consumer sophistication have challenged the distributors of video programming to provide clients with entertainment services more convenient and accessible than those traditionally made available through cable, satellite, and broadcast television. For example, improving communications infrastructure has resulted in a proliferation of pay-per-view media services in many of the larger broadcast and cable markets. Unfortunately, most pay-per-view systems only permit the client to choose from a relatively small number of video program selections for home viewing, with the selected video programs generally being presented only at pre-scheduled viewing times. On the other hand, more recent video on demand (NOD) systems allow a client to order a desired video program for home viewing instantaneously. NOD systems are very popular with clients who enjoy being able to watch video programs, whenever they want, without the hassle of going to a video rental store or waiting for a pre-scheduled viewing time, as with pay-per-view systems. Moreover, NOD systems are highly desired by video programming providers (e.g. cable and satellite networks), as they have been shown to significantly increase revenue in the systems in which they are deployed. Unfortunately, NOD systems are extremely capital intensive to deploy at both the video programming distribution center and in the underlying network infrastructure. This represents a significant barrier to mass industry adoption. For example, typical NOD systems for providing NOD to a client usually include a two-way digital client terminal and a network infrastructure to provide direct connections between the video programming distribution center and the client terminal. In order to accomplish this direct connection, a forward digital channel is assigned to the client terminal for the transport of video programs and a back channel is usually needed for the purchase and control of the stream. Thus, typical NOD systems require bi-directional communication throughout the session. Therefore, a dedicated channel must be created in real-time to each client's client terminal, whenever a client demands video programming. This requires sophistical switching at the network level and sophisticated video distribution system functionality. Accordingly, for each collection of clients, there are several requirements: video distribution systems are required to store the video programming and stream the video programming to a client terminal whenever requested, forward channel switching systems are needed to establish the dedicated channel to the client from the video distribution system, and bandwidth must be allocated from a dedicated range of digital channels. Such infrastructure changes affect the video distribution system, the underlying network (e.g. distribution nodes), and the client terminal components. Thus, to implement a typical NOD system, a video programming provider must undergo major network infrastructure changes and major video distribution system upgrades to support NOD, which can represent a significant capital cost to the video programming provider. There is, therefore, a need to provide techniques for providing NOD functionality to clients, without requiring the major changes to the video distribution system and network infrastructure required to support today's typical NOD systems. SUMMARY OF THE INVENTION The present invention may be regarded as a client terminal, computer program, and method to provide a video program on demand to a client. The client terminal is connectable to a video distribution system and a display device. The video distribution system broadcasts at least one video program to the client terminal. The at least one video program includes an initial program segment and a remaining program segment. The initial program segment is broadcast during a first broadcast time interval and the remaining program segment is repetetively broadcast during a second broadcast time interval. The client terminal comprises a video input interface to receive the initial program segment and the remaining program segment, a user interface to receive user input, a display interface to display the at least one video program on the display device, a local memory to store a video control program, and a terminal controller responsive to the video control program. During the first broadcast time interval, the terminal controller responsive to the video control program records the initial program segment for the at least one video program in the local memory. During the second broadcast time interval, the terminal controller responsive to the video control program selects the at least one video program in response to user input and streams the recorded initial program segment associated with the selected video program from the local memory to the display interface for display on the display device. Further, the terminal controller responsive to the video control program receives the remaining program segment associated with. the selected video program from the video distribution system and records the received remaining program segment in the local memory. After streaming the recorded initial program segment to the display interface, the terminal controller responsive to the video control program streams the recorded remaining program segment from the local memory to the display interface for display on the display device such that the recorded remaining program segment is appended to the initial program segment. In some embodiments, in response to the selection of the at least one video program, the terminal controller responsive to the video control program directs a billing system at the video distribution system to bill a client associated with the client terminal. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 A shows a client terminal according to an embodiment of the present invention connected to a video distribution system and a display device to provide a video program on demand to a client. FIG. IB shows a more specific embodiment of the video distribution system of Figure 1A. FIG. 2 A is a diagram illustrating examples of how a video program can be divided into an initial program segment and remaining program segments and provided to the client terminal to enable video programs on demand to the client. FIG. 2B illustrates the video distribution system time stamping an initial program segment and at least one remaining program segment of a video program with time stamps (TSs) and the client terminal utilizing the TSs to append the initial program segment with the at least one remaining program segment. FIG. 3 is a flow diagram according to the embodiment of the invention shown in Figure 1A. DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1A shows a client terminal 100 connected to a video distribution system 102 and a display device 104 to provide a selected video program 122 to a client according to an embodiment of the present invention. The video distribution system 102 broadcasts at least one video program 106 to the client terminal 100. The at least one video program 106 includes an initial program segment 106a that is broadcast during a first broadcast time interval and a remaining program segment 106b that is broadcast during a second time interval. Alternatively, the video distribution system 102 can broadcast a plurality of video programs. The video distribution system 102 can be a cable head-end, a satellite head-end, a terrestrial broadcast head-end, or a computer server head-end capable of broadcasting the at least one video program 106. The display device 104 is typically a television, computer monitor, or any other sort of display device. The at least one video program 106 can be transmitted in a digital format (e.g. Moving Pictures Experts Group (MPEG)-2 format, Advanced Television System Committee (ATSC) format, Digital Video Broadcast (DNB) format, Open Cable format etc.) or analog format (e.g. National Television Standard Committee (NTSC)) across a link 105 from the video distribution system 102 to the client terminal 100. The link 105 can be broadly defined as a communication network formed by one or more transport mediums. The link 105 can include a variety of communication networks such cable networks, terrestrial broadcast networks, satellite networks, computer networks (e.g. wide area networks (WANs), the Internet, local area networks (LANs), etc), or generally any sort of public or private communications network, and combinations thereof. Examples of a transport medium include, but are not restricted to electrical wire, optical fiber, cable, or wireless channels using terrestrial, satellite, radio frequency, or any other wireless signaling methodology. The at least one video program 106 typically includes audio and video (A/N) information (e.g. a movie, television program, etc.) but can also include other types of information such as data. For example, the data portion of a digitally broadcasted at least one video program 106 may include graphics, video, web pages, multimedia, text, and other types of data in a variety of differing data formats (e.g. Internet Protocol (IP), Advanced Television Enhancement Forum (ATNEF) content, etc.). Further, the at least one video program 106 includes an initial program segment (Segment 1) 106a and a remaining program segment 106b (Segment 2 + Segment 3). The client terminal 100 of FIG. 1A includes a video input interface 108, a user interface 110, a display interface 116, a local memory 118, and a terminal controller 120. The video input interface 108 receives the at least one video program 106 via the link 105. The user interface 110 is used to receive user/client input 111. Typically, the user input 111 is used to select a video program and to perform other functionality associated with a client terminal (e.g. changing channels). The user input 111 can be from a remote control (e.g. infrared or optical), mouse, touch screen, voice activation, keyboard, or basically any sort of input device to transmit the selection of the user/client to the client terminal 100. The display interface 116 displays the video program 106 on the display device 104. The local memory 118 is used to store a video control program 119 and is also used to store the initial program segment 106a and the remaining segment 106b of the at least one video program 106, respectively. In one embodiment, the local memory 118 includes a rotating storage disk (e.g. magnetic, optical, etc.). Alternatively, the local memory 118 can include any type of semiconductor memory. The terminal controller 120 is responsive to the video control program 119 to perform many of the functions of the client terminal 100, as will be discussed. As should be appreciated by those skilled in the art, the terminal controller 120 generally includes a suitable processor and associated memory. Moreover, it should be appreciated that client terminals with recording capabilites and other types of set top boxes are well known in the art. In one embodiment, the video control program 119 is generally implemented by the terminal controller 120 of the client terminal 100 as one or more instructions or code segments. The instructions/code segments which when read and executed by the terminal controller 120 cause the terminal controller 120 to perform the operations necessary to implement the various functions according to embodiments of the invention. Generally, the instructions/code segments are tangibly embodied in and/or readable from a machine-readable medium, device, or carrier, such as memory, data storage devices, and/or a remote device contained within or coupled to the client terminal 100. The instructions/code segments may be loaded from memory (e.g. local memory 118), data storage devices, and/or remote devices into the terminal controller 120 for use during operations. During the first broadcast time interval, the terminal controller 120 responsive to the video control program 119 records an initial program segment 106a for the at least one video program 106 in the local memory 118. In one embodiment, the terminal controller 120 selects one of a plurality of channels to receive and record the initial program segment 106a during the first broadcast time interval. During the second broadcast time interval, the terminal controller 120 responsive to the video control program 119 selects the at least one video program 106 in response to user/client input 111 and streams the recorded initial program segment 106a associated with the selected video program 122 to the display interface 116 for display on the display device 104. Thus, the user/client can instantaneously, on demand, begin viewing the at least one video program 106. Further, the terminal controller 120 responsive to the video control program 119 receives the remaining program segment 106b associated with the selected video program 122 from the video distribution system 102 and records the received remaining program segment 106b in the local memory 118 as the initial program segment 106a is being displayed. After streaming the recorded initial program segment 106a to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program segment 106b from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remaining program segment 106b is appended to the initial program segment 106a. Accordingly, the client is able to watch the entire selected video program 122, instantaneously, on demand. In this way, by combining the real-time broadcast of a remaining program segment 106b and a stored initial program segment 106a, the at least one video program 106 can be provided on demand to a client. Furthermore, this is achieved at the client terminal 100 without using excessive amounts of network bandwidth, implementing major changes to the existing network infrastructure and video distribution system, or creating excessive costs in deployment. Moreover, a dedicated direct and persistent connection is not required between the video distribution system 102 and the client terminal 100. FIG. IB shows a more specific embodiment of the video distribution system 102 of Figure 1 A. As shown in FIG. IB, the video distribution system 102 includes a storage device 150, a system controller 152, a billing system 154, and a client terminal interface 156. The storage device 150 is used to store the at least one video program 106. The system controller 152 splits the at least one video program 106 into an initial program segment 106a and a remaining program segment 106b. Alternatively, the system controller 152 can split the remaining program segment 106b into any number of remaining program segments 106b-z- The system controller 152 controls the broadcast of the initial program segment 106a on a first channel 151 during a first broadcast time interval to the client terminal 100 via the link 105. Further, the system controller 152 controls a repetitive broadcast of the remaining program segment 106b on another channel 1531 during a second broadcast time interval to the client terminal 100 via the link 105. Alternatively, the system controller 152 controls a repetitive broadcast of remaining program segments 106b-z on each of the channels 153I_N, respectively, during the second broadcast time interval to the client terminal 100 via the link 105. It should be noted that the first channel 151 can also be used for transmitting remaining program segments. The first channel 151 is shown separately merely for illustrative purposes. Also, alternatively, the initial program segment 106a can be broadcasted with the remaining program segments 106b-z- The system controller 152 can also direct the billing system 154 to bill a client for the purchase of the at least one video program 106. The client terminal 100, in response to the selection of the at least one video program 106, directs the video distribution system 102 to bill a client associated with the terminal by sending a purchase notice to the video distribution system 102. When the video distribution system 102 receives the purchase notice through the client interface 156 that a client terminal 100 has purchased the at least one video program 106, in response, the system controller 152 directs the billing system 154 to bill a client associated with the client terminal 100. In one embodiment, the purchase notice is sent from the client terminal 100 to the video distribution system 102 immediately after the client has selected the at least one video program 106 and the recorded initial program segment 106a is streamed to the display device 104. In yet another embodiment, the purchase notice can be stored in local memory 118 of the client terminal 100, and the client terminal 100 at a later time sends the purchase notice to the video distribution system 102. Alternatively, the video distribution system 102 can poll the client terminal 100 for the purchase notice. FIG. 2 A is a diagram illustrating examples of how the at least one video program 106 can be divided into an initial program segment 106a and remaining program segments and can be provided to the client terminal 100 to enable video programs on demand to the client. Looking at example 200, the initial program segment 1 106a is stored in local memory 118 of the client terminal 100. As previously discussed, the initial program segment 106a can be broadcasted to the client terminal 100 for storage on a first channel 151 during a first broadcast time interval. For example, the first broadcast time interval can occur during off peak hours when most clients are not utilizing their client terminals (e.g. late at night). The initial program segment 1 106a is resident in the local memory 118, but is not accessible to the client until the client selects the at least one video program 106 associated with the initial program segment 106a. As previously discussed, once the user/client selects the at least one video program 106, the system controller 152 of the video distribution system 102 directs the billing system 154 to bill the client associated with the client terminal 100. During the second broadcast time interval, the remaining program segment 2 106b is repetitively broadcast on channel 1 153ι to the client terminal 100. Each remaining program segment 2 106b occupies a segment slot 204ι_n, respectively. Once the user selects the at least one video program 106, the terminal controller 120 responsive to the video control program 119 streams the recorded initial program segment 1 106a associated with the selected video program 122 from the local memory 118 to the display interface 116 for display on the display device 104. Further, the terminal controller 120 responsive to the video control program 119 begins simultaneously recording the remaining program segment 2 106b associated with the selected video program 122 in the local memory 118 as the initial program segment 106a is being displayed. After streaming the recorded initial program segment 106a to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program segment 2 106b from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remaining program segment 2 106b is appended to the initial program segment 106a. Accordingly, the client is able to watch the entire selected video program 122, instantaneously, on demand. Also, alternatively, the initial program segment 106a can be broadcasted with the remaining program segments 106b. It can be seen in Example 200 that because the length of the remaining program segment 2 106b is the same as the length of the initial program segment 1 106a, it does not matter at what point in a segment slot 204 of remaining program segment 2 106b that the terminal controller 120 starts simultaneously recording the remaining program segment 2 106b (as it begins to display the initial program segment 1 106a). This is because by the time the initial program segment 1 106a is finished being displayed, the whole remaining program segment 2 106b will be recorded and will be ready for display. Alternatively, in another embodiment, at whatever point in time the terminal controller 120 starts to display the initial program segment 1 106a, the terminal controller 120 can wait until the beginning of the next adjacent segment slot 204 of the remaining program segment 2 106b to begin recording the remaining program segment 2 106b. This is because as long there is some amount time that the terminal controller 120 can begin recording the remaining program segment 2 106b before the end of the display of the initial program segment 1 106a, the terminal controller 120 can still begin streaming the recorded portion of the remaimng program segment 2 106b to the display device 104 as it continues to record the rest of the remaining program segment 2 106b. This way of handling video programming allows the video programming provider to implement a system with video on demand functionality with very low infrastructure cost. It also enables the client terminal 100 to efficiently use local memory 118, such as a rotating storage disk. For example, the average 1 and V-. hour movie takes between 4.5-6 Gigabytes of storage space. Thus, 5 whole video programs (e.g. movies) stored in local memory would occupy 30 Gigabytes, which is the current capacity of many of today's client terminals. However, utilizing the client terminal 100 according to embodiments of the invention, 5 whole video programs (e.g. movies) can be delivered to a client on demand, while only approximately 15 Gigabytes of storage space in local memory 118 for storing the initial program segments of the associated video programs (e.g. movies) is used. In other embodiments of the invention, as shown in Example 220, a plurality of remaining program segments and a plurality of channels can be utilized. As previously discussed, the initial program segment 1 106a is stored in local memory 118 of the client terminal 100. The remaining program segment 106b can be further divided into a plurality of remaining program segments, e.g. remaining program segment 2 106c and remaining program segment 3 106d, that are staggered while being repetitively broadcast over a plurality channels, e.g. channel 1 and 2 (153ι and 1532), respectively, during the second broadcast time interval. The terminal controller 120 responsive to the video control program 119 selects at least one of the plurality of channels, e.g. chaimel 1 or 2 (1531 or 1532), to receive and record each of the remaining program segments, e.g. remaining program segments 2 and 3 (106c and 106d), so that the recorded remaining program segments are appended to the initial program segment 106a. Also, each remaining program segment 2 106c and remaining program segment 3 106d on channel 1 153ι occupies a segment slot 224ι-n, respectively, and each remaining program segment 2 106c and remaining program segment 3 106d on channel 2 1532 occupies a segment slot 226ι-n, respectively. Also, alternatively, the initial program segment 106a can be broadcasted with the remaining program segments 106b-z. Once the client selects the at least one video program 106, the terminal controller 120 responsive to the video control program 119 streams the recorded initial program segment 1 106a associated with the selected video program 122 from the local memory 118 to the display interface 116 for display on the display device 104. Further, the terminal controller 120 responsive to the video control program 119 simultaneously selects one of the channels 1 or 2 (1531 or 1532) and begins to record the remaining program segments 2 and 3 (106c and 106d) in the local memory 118, as the initial program segment 106a is being displayed. Typically, the terminal controller 120 will select the channel for recording that has the next remaining program segment (after the initial program segment) beginning in the next adjacent segment slot. In the Example 220, at time ti, the terminal controller 120 would select channel 2 1532 at time ti because the next remaining program segment 2 106c follows the initial program segment 1 106a in the next adjacent segment slot 2262. Thus, the terminal controller 120 records the last portion of remaining program segment 3 106d (slot 226ι) at time ti and continues recording the remaining program segment 2 106c (slot 226 ) and the first portion of remaining program segment 3 106d (slot 2263). Alternatively, the terminal controller 120 responsive to the video control program 119 can tune to a plurality of channels simultaneously, e.g. channels 1 and 2 (153ι and 1532), and simultaneously record the plurality of remaining program segments, e.g. remaining program segments 2 and 3 (106c and 106d), to achieve further efficiencies. After streaming the recorded initial program segment 106a to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program segment 2 106c and the recorded remaining program segment 3 106d from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remaining program segments 2 and 3 (106c and 106d) are appended to the initial program segment 106a. Accordingly, the client is able to watch the entire selected video program 106, instantaneously, on demand. It can be seen that because the lengths of remaining program segments 2 and 3 (106c and 106d) are each the same length as the length of initial program segment 1 106a, it does not matter at what point that the terminal controller 120 starts simultaneously recording the remaining program segment 3 106d, because by the time the initial program segment 1 106a is finished being displayed, a portion of the remaining program segment 2 106c will be recorded and will be ready for display. Thus, the client terminal 100 can display remaining program segment 2 106c while continuing to record the rest of remaining program segment 2 106c and remaining program segment 3 106d. Alternatively, in another embodiment, the terminal controller 120 still selects the channel for recording that has the next remaining program segment (after the initial program segment) beginning in the next adjacent segment slot. However, in this embodiment, the terminal controller 120 then waits until the next remaimng program segment that follows the initial program segment in the next adjacent segment slot begins, and then starts recording. In this Example 220, again at time ti, the terminal controller 120 would select channel 2 1532 and would wait until remaining program segment 2 106c begins in the next adjacent slot 2262 and would then begin recording remaining program segment 2 106c and then continue to record remaining program segment 3 106d. Again, by the time initial program segment 106a has finished being displayed, a portion of the remaining program segment 2 106c will be recorded and ready for display. Thus, the client terminal 100 can display remaining program segment 2 106c while continuing to record the rest of remaining program segment 2 106c and remaining program segment 3 106d. By using two channels and two remaining program segments, repetetively broadcast on each of the two channels further efficiencies are realized. This embodiment further enables the client terminal 100 to efficiently use local memory 118, such as a rotating storage disk. As discussed above, the average 1 and lA hour movie takes between 4.5-6 Gigabytes of storage space and 5 whole video programs (e.g. movies) stored in local memory would occupy 30 Gigabytes, which is the current capacity of many of today's client terminals. However, utilizing the client terminal 100 according to embodiments of the invention, 5 whole video programs (e.g. movies) can be delivered to a client on demand, while only using approximately 10 Gigabytes of storage space in local memory 118 for storing the initial program segments of the associated video programs (e.g. movies). As should be appreciated by those skilled in the art any number of remaining program segments and remaimng program segment channels can be used to implement embodiments of the invention. Greater efficiencies can be realized in terms of decreasing the amount of local memory storage space in the client terminal required to store initial program segments by using a greater number of remaining program segments and remaining program segment channels. Thus, trade offs can be made between the number of remaining program segments and remaining program segment channels utilized versus the amount of local memory storage space in the client terminal required to store initial program segments. In yet another example 250, it is assumed the first 15 minutes of two video programs (program 1 and program 2, respectively), are downloaded and stored in local memory 118 of the client terminal 100 as first and second initial program segments, respectively. Each video program is assumed to be 2 hours and 15 minutes. To provide the remainders of the video programs, a continuous carousel of the remaining portions of each video program is broadcast on a plurality of channels. Thus, multiple versions of each program are broadcast on different channels, with each version being delayed from the previous one by 15 minutes. Particularly, eight remainder of program 1 portions 252ι-8 are broadcast in a continuous carousel fashion among remainder program channels 1-8 254, respectively, and remainder of program 2 portions 256ι-8 are broadcast in a continuous carousel fashion among remainder program channels 9-16 258, respectively. In keeping with the previous example, each remainder of the program 1 or 2 portions would include eight remaining program segments (e.g. Segment 2, Segment 3, Segment 4, Segment 5, Segment 6, Segment 7, Segment 8, and Segment 9), each being 15 minutes long, that are broadcast in a staggered fashion (as discussed previously) among the eight channels. Once the client selects the desired video program, program 1 or program 2, the terminal controller 120 responsive to the video control program 119 streams the associated recorded initial program segment from the local memory 118 to the display interface 116 for display on the display device 104. Further, the terminal controller 120 responsive to the video control program 119 simultaneously selects a given channel 1-16 having the next occurring remainder of the program portion 252 or 256 associated with the desired video program and records the remainder of the program portion 252 or 256 in the local memory 118. After streaming the recorded initial program segment to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 streams the recorded remaining program portion 252 or 256 from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remainder of the program portion 252 or 256 is appended to the initial program segment. As a particular example, with reference to example 250, assume that the client at 1 :38 pm selects video program 1, the terminal controller 120 responsive to the video control program 119 streams the associated recorded initial program segment from the local memory 118 to the display interface 116 for display on the display device 104. Further, the terminal controller 120 responsive to the video control program 119 simultaneously selects channel 4 having the next occurring remainder of the program 1 portion 2524 at 1 :45 pm associated with the desired video program and at 1 :45 pm begins recording the remainder of the program 1 portion 2524 in the local memory 118. After streaming the recorded initial program segment to the display interface 116 for display to the client, the terminal controller 120 responsive to the video control program 119 at 1 :53 pm streams the recorded remainder of program 1 portion 252 from the local memory 118 to the display interface 116 for display on the display device 104 such that the recorded remainder of program 1 portion 2524 is appended to the initial program segment. Thus, the client terminal 100 can display the remainder of program 1 portion 252 recorded thus far while continuing to record the rest of the remainder of program 1 portion 2524. Accordingly, the client is able to watch the entire video program, instantaneously, on demand and it appears to the client as if the video program was immediately available without delay. Also, the storage requirement for the 15 minute initial program segment is only .5 Gigabytes per program. Advantageously, this type video program on demand is achieved at the client terminal without using excessive amounts of network bandwidth, implementing major changes to the existing network infrastructure and video distribution system, or creating excessive costs in deployment. Furthermore, a dedicated direct and persistent connection is not required between the video distribution system 102 and the client terminal 100. Also, the terminal controller 120 of the client terminal 100 responsive to the video control program 119 can add previews of new video programs as they become available and remove video program content (e.g. initial program segments and remaining program segments) as it becomes outdated. Additionally, to the extent the video program is stored in local memory 118, the client has the ability to perform full trick play capabilities (pause/rewind/fast-forward etc.) on the video program. Security issues can be minimized in number of ways. For example, the video program content can be encrypted in local memory 118. Also, a key with a finite lifetime can be used to ensure that video program content can only be viewed during a finite time period. A technique for appending the initial program segment to at least one remaimng program segment will now be discussed. Turning to FIG. 2B, FIG. 2B illustrates the video distribution system 102 time stamping segments of the at least one video program 106 with time stamps (TSs) and the client terminal 100 utilizing the TSs to append an initial program segment with at least one remaining program segment. More particularly, the system controller 152 of the video distribution system 102 divides the initial program segment 1 (IPSi) into a plurality of initial packets (IPi-n) 260 and time stamps each initial packet such that each initial packet has a plurality of time stamps (TSs) 264. Thus, IPSi includes a plurality of TSsι_n. A last packet 268 of the initial packets includes a last TS value (TSn) 270. Furthermore, the system controller 152 of the video distribution system 102 divides each remaining program segment 2 through n (RPSs2-n) into a plurality of packets (Pι-n) 272 and time stamps each packet such that each packet has a plurality of time stamps (TSs) 274. Thus, each RPS has a plurality of TSsι-n. For each RPS, a first packet (Pi) 276 of the plurality of packets 272 includes an initial TS value (TSi) 278 and a last packet 280 that includes a last TS value (TSn) 282. The client terminal 100 receives the initial program segment 1 (IPSi) and the remaining program segments (RPSs2.n) via link 105, as previously discussed, with the encoded TS values, and stores them in local memory 118. For example, as shown in FIG. 2B, the local memory 118 stores for a first video program IPSιa 285, RPS2a 287, and RPS3a 289 and for a second video program IPS ib 290 and RPS b 291. It should be appreciated that any number of IPSs and RPSs can be stored in local memory 118 depending upon memory capacity. As an example of the technique for appending the initial program segment to at least one remaining program segment, the terminal controller 120 responsive to the video control program 119 appends the recorded remaining program segment RPS2a 287 to the initial program segment IPSιa 285 such that the at least one video program 106 is continuously streamed for display on the display device 104. To do this, the terminal controller 120 responsive to the video control program 119, determines the initial TS value (TSi) 278 of RPS2a and the last TS value (TSn) 270 of IPSιa and streams RPS2a at the initial TS value (TSi) 278 from local memory 118 to the display device 104 immediately following the last TS value (TSn) 270 of IPSιa such that the at least one video program 106 is continuously streamed for display on the display device 104. In the case where there is only an initial program segment and one remaining program segment, this is all that would be needed to be done to continuously display the whole at least one video program 106. In the current example, where there are two remaining program segments. RPS3a also needs to be appended to RPS2a. In a similar fashion, the terminal controller 120 responsive to the video control program 119, determines the initial TS value (TSi) 278 of RPS3a (occurring directly after the RPS2a) and the last TS value (TSn) 282 of RPS2a and streams RPS3a at the initial TS value (TSi) 278 from local memory 118 to the display device 104 immediately following the last TS value (TSn) 282 of RPS2a such that the at least one video program 106 is continuously streamed for display on the display device. It should be appreciated by those skilled in the art that this technique can extended to any number of remaining program segments stored in local memory 118. Furthermore, although this technique has been described utilizing time stamp values, it should be appreciated that program clock reference (PCR) values from the video distribution system 102, utilized by most type of head ends, could also be used. FIG. 3 is a flow diagram according to the embodiment of the invention shown in Figure 1 A. The flow diagram 300 illustrates a method of providing a video program on demand to a client terminal 100. At step 302, the terminal controller 120 responsive to the video control program 119 determines whether the first broadcast time interval is occurring or whether it is the second broadcast time interval. If the first broadcast time interval is occurring, at step 304, the terminal controller 120 responsive to the video control program 119 records the initial program segment 106a for the at least one video program 106 being broadcasted in local memory 118. On the other hand, if it is the second broadcast time interval, then at step 306, the terminal controller 120 responsive to the video control program 119 receives user input and selects the at least one video program 106, in response thereto. Next, at step 308, the terminal controller 120 responsive to the video control program 119 streams the recorded initial program segment 106a associated with the selected video program 122 to the display interface 116 for display on the display device 104. At step 310, the terminal controller 120 responsive to the video control program 119 retrieves and records the remaining program segments 106b-z associated with the selected video program 122 currently being broadcasted in local memory 118. Continuing at step 312, the terminal controller 120 ts 106b-z to the display interface 116 for display on the display device 104. Lastly, at step 314, the responsive to the video control program 119 streams recorded remaining program segmen terminal controller 120 responsive to the video control program 119 directs a billing system 154 at the video distribution system 102 to bill a client associated with the client terminal 100 for the selected video program 122. While the present invention and its various functional components have been described in particular embodiments, it should be appreciated the present invention can be implemented in hardware, software, firmware, middleware or a combination thereof and utilized in systems, subsystems, components, or sub-components thereof. When implemented in software, the elements of the present invention are the instructions/code segments to perform the necessary tasks. The program or code segments can be stored in a machine readable medium, such as a processor readable medium or a computer program product, or transmitted by a computer data signal embodied in a carrier wave, or a signal modulated by a carrier, over a transmission medium or communication link. The machine-readable medium or processor-readable medium may include any medium that can store or transfer information in a form readable and executable by a machine (e.g. a terminal controller, a processor, a computer, etc.). Examples of the macliine/processor-readable medium include an electronic circuit, a semiconductor memory device, a ROM, a flash memory, an erasable programmable ROM (EPROM), a floppy diskette, CD-ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc. The computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air, electromagnetic, RF links, etc. The code segments may be downloaded via computer networks such as the Internet, Intranet, etc. While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications of the illustrative embodiments, as well as other embodiments of the invention, which are apparent to persons skilled in the art to which the invention pertains are deemed to lie within the spirit and scope of the invention.

Claims

WE CLAIM: 1. A client terminal connectable to a video distribution system and a display device, the video distribution system broadcasting at least one video program to the client terminal, the at least one video program including an initial program segment that is broadcast during a first broadcast time interval and a remaining program segment that is broadcast during a second broadcast time interval, the client terminal comprising: a video input interface to receive the initial program segment and the remaining program segment; a user interface to receive user input; a display interface to display the at least one video program on the display device; local memory to store a video control program; and a terminal controller responsive to the video control program for: (a) during the first broadcast time interval, recording the initial program segment for the at least one video program in the local memory; (b) during the second broadcast time interval, i. selecting the at least one video program in response to user input; ii. streaming the recorded initial program segment associated with the selected video program from the local memory to the display interface; iii. receiving the remaining program segment associated with the selected video program from the video distribution system and recording the received remaining program segment in the local memory; and iv. streaming the recorded remaining program segment from the local memory to' the display interface such that the recorded remaining program segment is appended to the initial program segment.
2. The client terminal of claim 1, wherein, the terminal controller is responsive to the video control program for selecting one of a plurality of channels to receive the initial program segment from the video distribution system during the first broadcast time interval.
3. The client terminal of claim 1, wherein, the remaining program segment is repetetively broadcast.
4. The client terminal of claim 1, wherein, (a) the remaining program segment includes a plurality of remaining program segments that are staggered while being repetetively broadcast over a plurality of channels; and (b) the terminal controller responsive to the video control program selects at least one of the plurality of channels to receive and record each of the remaining program segments so that the recorded remaining program segments are appended to the initial program segment.
5. The client terminal of claim 1, wherein, the initial program segment includes a plurality of initial packets, each initial packet having a plurality of time stamps (TSs), a last packet of the initial packets including a last TS value, and the remaining program segment also including a plurality of packets, each packet having a plurality of time stamps (TSs), a first packet of the plurality of packets including an initial TS value, such that appending the recorded remaining program segment to the initial program segment includes appending the recorded remaining program segment at the initial TS value to the last TS value of the initial program segment.
6. The client terminal of claim 1, wherein, the local memory includes a rotating storage disk for storing the initial program segment and the remaining program segment.
7. The client terminal of claim 1, wherein, the local memory includes semiconductor memory for storing the initial program segment and the remaining program segment.
8. The client terminal of claim 1, wherein, in response to the selection of the at least one video program, the terminal controller responsive to the video control program directs a billing system at the video distribution system to bill a client associated with the client terminal.
9. The client terminal of claim 8, wherein, directing the billing system to bill the client occurs simultaneously with streaming the recorded initial program segment to the display interface.
10. A computer program embodied in a computer readable storage medium for use in a client terminal connectable to a video distribution system and a display device, the video distribution system broadcasting at least one video program to the client terminal, the at least one video program including an initial program segment that is broadcast during a first broadcast interval and a remaining program segment that is broadcast during a second broadcast interval, the computer program comprising code segments for: (a) during the first broadcast time interval, i. recording the initial program segment for the at least one video program in a local memory; (b) during the second broadcast time interval, i. selecting the at least one video program in response to user input; ii. streaming the recorded initial program segment associated with the selected video program from the local memory to the display device; iii. receiving the remaimng program segment associated with the selected video program from the video distribution system and recording the received remaining program segment in the local memory; and iv. streaming the recorded remaining program segment from the local memory to the display device such that the recorded remaining program segment is appended to the initial program segment.
11. The computer program of claim 10, wherein, recording the initial program segment for the at least one video program includes selecting one of a plurality of channels to receive the initial program segment from the video distribution system during the first broadcast time interval.
12. The computer program of claim 10, wherein, the remaining program segment is repetetively broadcast.
13. The computer program of claim 10, wherein, (a) the remaining program segment includes a plurality of remaining program segments that are staggered while being repetetively broadcast over a plurality of channels; and (b) further comprising code segments for selecting at least one of the plurality of channels to receive and record each of the remaining program segments so that the recorded remaining program segments are appended to the initial program segment.
14. The computer program of claim 10, wherein, the initial program segment includes a plurality of initial packets, each initial packet having a plurality of time stamps (TSs), a last packet of the initial packets including a last TS value, and the remaining program segment also including a plurality of packets, each packet having a plurality of time stamps (TSs), a first packet of the plurality of packets including an initial TS value, such that appending the recorded remaining program segment to the initial program segment includes appending the recorded remaining program segment at the initial TS value to the last TS value of the initial program segment.
15. The computer program of claim 10, wherein, the local memory includes a rotating storage disk for storing the initial program segment and the remaining program segment.
16. The computer program of claim 10, wherein, the local memory includes semiconductor memory for storing the initial program segment and the remaining program segment.
17. The computer program of claim 10, further comprising code segments for: (a) in response to the selection of the at least one video program, directing a billing system at the video distribution system to bill a client associated with the client terminal.
18. The computer program of claim 17, wherein, directing the billing system to bill the client occurs simultaneously with streaming the recorded initial program segment to the display interface.
19. A method of providing video programs on demand to a client terminal, the client terminal connectable to a video distribution system and a display device, the video distribution system broadcasting at least one video program to the client terminal, the at least one video program including an initial program segment that is broadcast during a first broadcast time interval and a remaining program segment that is broadcast during a second broadcast time interval, the method comprising the steps of: (a) during the first broadcast time interval, i. recording the initial program segment for the at least one video program in a local memory; (b) during the second broadcast time interval, i. receiving a user input to select the at least one video program; ii. streaming the recorded initial program segment associated with the selected video program from the local memory to the display device; iii. receiving the remaining program segment associated with the selected video program from the video distribution system and recording the received remaining program segment in the local memory; and iv. streaming the recorded remaining program segment from the local memory to the display device such that the recorded remaining program segment is appended to the initial program segment.
20. The method of claim 19, wherein, the step of recording the initial program segment for the at least one video program includes selecting one of a plurality of chaimels to receive the initial program segment from the video distribution system during the first broadcast time interval.
21. The method of claim 19, wherein, the remaining program segment is repetetively broadcast.
22. The method of claim 19, wherein, (a) the remaining program segment includes a plurality of remaining program segments that are staggered while being repetetively broadcast over a plurality of channels; and (b) further comprising the step of selecting at least one of the plurality of channels to receive and record each of the remaimng program segments so that the recorded remaining program segments are appended to the initial program segment.
23. The method of claim 19, wherein, the initial program segment includes a plurality of initial packets, each initial packet having a plurality of time stamps (TSs), a last packet of the initial packets including a last TS value, and the remaining program segment also including a plurality of packets, each packet having a plurality of time stamps (TSs), a first packet of the plurality of packets including an initial TS value, such that the step of appending the recorded remaining program segment to the initial program segment includes appending the recorded remaining program segment at the initial TS value to the last TS value of the initial program segment.
24. The method of claim 19, wherein, the local memory includes a rotating storage disk for storing the initial program segment and the remaining program segment.
25. The method of claim 19, wherein, the local memory includes semiconductor memory for storing the initial program segment and the remaining program segment.
26. The method of claim 19, further comprising the step of: (a) in response to the selection of the at least one video program, directing a billing system at the video distribution system to bill a client associated with the client terminal.
27. The method of claim 26, wherein, the step of directing the billing system to bill the client occurs simultaneously with the step of streaming the recorded initial program segment to the display interface.
28. A video distribution system connectable to a client terminal, the video distribution system comprising: a storage device to store at least one video program; and a system controller to split the at least one video program into an initial program segment and at least one remaining program segment, the system controller to control a broadcast of the initial program segment over one of a plurality of channels during a first broadcast time interval to the client terminal and to control a repetitive broadcast of the remaining program segment over at least one of the plurality of channels during a second broadcast time interval to the client terminal.
29. The video distribution system of claim 28, wherein, the system controller divides the initial program segment into a plurality of initial packets and time stamps each initial packet such that each initial packet has a plurality of time stamps (TSs), a last packet of the initial packets including a last TS value, and divides the remaining program segment into a plurality of packets and time stamps each packet such that each packet has a plurality of time stamps (TSs), a first packet of the plurality of packets including an initial TS value.
30. The video distribution system of claim 28, further comprising a billing system and a client terminal interface, wherein, the central controller receives a purchase notice through the client terminal interface that the client terminal has purchased the at least one video program, in response, the system controller directs the billing system to bill a client associated with the client terminal.
31. The video distribution system of claim 30, wherein, directing the billing system to bill the client occurs simultaneously with the step of streaming the recorded initial program segment to the display interface.
PCT/US2002/017312 2002-06-01 2002-06-01 Client terminal for providing video on demand WO2003103293A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2002320048A AU2002320048A1 (en) 2002-06-01 2002-06-01 Client terminal for providing video on demand
PCT/US2002/017312 WO2003103293A1 (en) 2002-06-01 2002-06-01 Client terminal for providing video on demand

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2002/017312 WO2003103293A1 (en) 2002-06-01 2002-06-01 Client terminal for providing video on demand

Publications (1)

Publication Number Publication Date
WO2003103293A1 true WO2003103293A1 (en) 2003-12-11

Family

ID=29709124

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/017312 WO2003103293A1 (en) 2002-06-01 2002-06-01 Client terminal for providing video on demand

Country Status (2)

Country Link
AU (1) AU2002320048A1 (en)
WO (1) WO2003103293A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571847A2 (en) * 2004-03-01 2005-09-07 The Directv Group, Inc. Video on demand in a broadcast network
WO2009049005A1 (en) * 2007-10-11 2009-04-16 Scientific-Atlanta, Inc. Simultaneous access to media in a media delivery system
US20130239153A1 (en) * 2012-03-08 2013-09-12 International Business Machines Corporation Content retrieval for digital media recorder devices
US9178693B2 (en) 2006-08-04 2015-11-03 The Directv Group, Inc. Distributed media-protection systems and methods to operate the same
US9225761B2 (en) 2006-08-04 2015-12-29 The Directv Group, Inc. Distributed media-aggregation systems and methods to operate the same
US11823220B2 (en) * 2010-09-08 2023-11-21 Sony Group Corporation Access to media bites

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5930493A (en) * 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5930493A (en) * 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571847A2 (en) * 2004-03-01 2005-09-07 The Directv Group, Inc. Video on demand in a broadcast network
EP1571847A3 (en) * 2004-03-01 2008-03-26 The Directv Group, Inc. Video on demand in a broadcast network
US9178693B2 (en) 2006-08-04 2015-11-03 The Directv Group, Inc. Distributed media-protection systems and methods to operate the same
US9225761B2 (en) 2006-08-04 2015-12-29 The Directv Group, Inc. Distributed media-aggregation systems and methods to operate the same
WO2009049005A1 (en) * 2007-10-11 2009-04-16 Scientific-Atlanta, Inc. Simultaneous access to media in a media delivery system
US11823220B2 (en) * 2010-09-08 2023-11-21 Sony Group Corporation Access to media bites
US20130239153A1 (en) * 2012-03-08 2013-09-12 International Business Machines Corporation Content retrieval for digital media recorder devices
US8813140B2 (en) * 2012-03-08 2014-08-19 International Business Machines Corporation Content retrieval for digital media recorder devices

Also Published As

Publication number Publication date
AU2002320048A1 (en) 2003-12-19

Similar Documents

Publication Publication Date Title
US8769593B1 (en) Client terminal for storing an initial program segment and appending a remaining program segment to provide a video program on demand
US8799977B1 (en) Set-top box to request a head end to command one of a plurality of other set-top boxes to transmit an available video program
US8151294B2 (en) Technique for delivering entertainment programming content including commercial content therein over a communications network
US7908626B2 (en) Network based digital information and entertainment storage and delivery system
US8266659B2 (en) Technique for collecting data relating to activity of a user receiving entertainment programs through a communications network
US7237250B2 (en) Promotion server using video on demand channel
US5892535A (en) Flexible, configurable, hierarchical system for distributing programming
US20020124262A1 (en) Network based replay portal
EP2034730B1 (en) Load control for a television distribution system
US20010013123A1 (en) Customized program creation by splicing server based video, audio, or graphical segments
US20030076347A1 (en) Advertising using a combination of video and banner advertisements
US20030208768A1 (en) Technique for delivering entertainment programming content including interactive features in a communications network
KR101235814B1 (en) Reception of audio-visual content addressed to several devices
MXPA04002733A (en) Virtual channel preview guide.
US20030115294A1 (en) Selective access digital data broadcast system
CN110337004B (en) Television program transmission method and system
EP1869877A2 (en) Dvd recording of tuned source with ad insertion
JP4323792B2 (en) Electronic program guide generating apparatus and electronic program guide generating method
EP2341680B1 (en) Method and apparatus for adaptation of a multimedia content
WO2003103293A1 (en) Client terminal for providing video on demand
JP2009543488A (en) System and method for downloading multimedia content in a terminal
US20070250875A1 (en) Methods, apparatuses, and computer program products for delivering one or more television programs for viewing during a specified viewing interval
JP4132630B2 (en) Broadcast system and method
WO2002013521A1 (en) System and method to sequence broadcast programs for personal channels
WO2022177875A1 (en) Dynamic supplemental content for recorded content

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP