# US 8,397,269 B2 · Fast digital channel changing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,397,269 B2
- Document ID: US8397269B2
- Status: Granted
- Kind: B2
- Application number: 10/218,674
- Filed: 2002-08-13
- Published: 2004-02-19
- Granted: 2013-03-12
- Earliest claimed: 2002-08-13
- Assignees: Microsoft Corporation
- Applicants: Peter T. Barrett; James A. Baldwin
- Inventors: Peter T. Barrett; James A. Baldwin
- Web page: https://patentgrep.com/patent/US8397269B2

## CPC

- H04N 5/50: Tuning indicators; Automatic tuning control
- G01S 1/026: {of associated receivers}
- G01S 5/021: {Calibration, monitoring or correction (G01S5/0252 takes precedence)}
- G01S 5/06: Position of source determined by co-ordinating a plurality of position lines defined by path-difference measurements (G01S5/12 takes precedence)
- G06F 1/1626: {with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]}
- G06F 1/1639: {the display being based on projection}
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 21/305: {by remotely controlling device operation}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 21/74: operating in dual or compartmented mode, i.e. at least one secure mode
- G06F 21/88: Detecting or preventing theft or loss
- G11B 20/10009: {Improvement or modification of read or write signals}
- G11B 20/10425: {by counting out-of-lock events of a PLL}
- H03L 7/091: the phase or frequency detector using a sampling device (H03L7/087 takes precedence)
- H04B 7/18582: {Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access}
- H04B 7/2628: {using code-division multiple access [CDMA] or spread spectrum multiple access [SSMA] (H04B7/2618 takes precedence)}
- H04B 7/2687: {Inter base stations synchronisation}
- H04B 10/25754: {Star network topology}
- H04J 3/0655: {using timestamps}
- H04J 13/0077: {Multicode, e.g. multiple codes assigned to one user}
- H04J 13/16: Code allocation
- H04L 1/0002: {by adapting the transmission rate}
- H04L 1/0015: {characterised by the adaptation strategy}
- H04L 1/0066: {Parallel concatenated codes}
- H04L 1/0068: {by puncturing}
- H04L 1/1685: {the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal}
- H04L 1/1841: {Resequencing}
- H04L 1/187: {Details of sliding window management}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/304: {based on error correction codes, e.g. McEliece}
- H04L 12/417: with deterministic access, e.g. token passing
- H04L 12/462: {LAN interconnection over a bridge based backbone}
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 25/03038: {with a non-recursive structure (H04L25/03031 takes precedence)}
- H04L 25/4902: {Pulse width modulation; Pulse position modulation}
- H04L 25/4904: {using self-synchronising codes, e.g. split-phase codes}
- H04L 25/497: by correlative coding, e.g. partial response coding or echo modulation coding {transmitters and receivers for partial response systems (transversal equalizers at the transmitter end H04L25/03343)}
- H04L 27/156: with demodulation using temporal properties of the received signal, e.g. detecting pulse width
- H04L 41/06: Management of faults, events, alarms or notifications
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 41/5087: {wherein the managed service relates to voice services (management of VoIP services H04M7/0081)}
- H04L 43/091: Measuring contribution of individual network components to actual service level
- H04L 43/50: Testing arrangements
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/22: {Alternate routing}
- H04L 45/24: Multipath
- H04L 47/11: Identifying congestion
- H04L 47/15: {in relation to multipoint traffic (arrangements for broadcast or multicast in data networks H04L12/18)}
- H04L 47/193: at the transport layer, e.g. TCP related
- H04L 47/2416: Real-time traffic
- H04L 47/27: Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04L 47/34: ensuring sequence integrity, e.g. using sequence numbers
- H04L 47/70: Admission control; Resource allocation
- H04L 47/72: using reservation actions during connection setup
- H04L 47/745: {Reaction in network}
- H04L 47/765: triggered by the end-points
- H04L 47/822: {Collecting or measuring resource availability data}
- H04L 47/824: {Applicable to portable or mobile terminals}
- H04L 49/90: Buffering arrangements
- H04L 49/9094: {Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element}
- H04L 51/48: Message addressing, e.g. address format or anonymous messages, aliases
- H04L 51/58: Message adaptation for wireless communication
- H04L 61/2553: Binding renewal aspects, e.g. using keep-alive messages
- H04L 65/1043: Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
- H04L 65/1104: Session initiation protocol [SIP]
- H04L 65/4061: Push-to services, e.g. push-to-talk or push-to-video
- H04L 65/613: for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637)
- H04L 65/70: Media network packetisation
- H04L 65/765: {intermediate}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1034: Reaction to server failures by a load balancer
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 69/161: {Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields}
- H04L 69/163: In-band adaptation of TCP data exchange; In-band control procedures
- H04L 69/166: IP fragmentation; TCP segmentation
- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04M 1/715: using two or more extensions per line (cordless telephones H04M1/725)
- H04M 1/72415: for remote control of appliances
- H04M 3/007: {Access interface units for simultaneous transmission of speech and data, e.g. digital subscriber line [DSL] access interface units (DSL access multiplexers H04Q11/0478, and H04L12/2856)}
- H04M 3/16: with lock-out or secrecy provision in party-line systems
- H04M 7/0057: {Services where the data services network provides a telephone service in addition or as an alternative, e.g. for backup purposes, to the telephone service provided by the telephone services network}
- H04M 7/1295: {Details of dual tone multiple frequency signalling}
- H04N 1/00957: {Compiling jobs, e.g. for batch processing (H04N1/3208 takes precedence; program code compilation G06F8/41)}
- H04N 1/031: the photodetectors having a one-to-one and optically positive correspondence with the scanned picture elements, e.g. linear contact sensors
- H04N 1/0318: {Integral pick-up heads, i.e. self-contained heads whose basic elements are a light-source, a lens array and a photodetector array which are supported by a single-piece frame}
- H04N 1/1934: {Combination of arrays}
- H04N 1/1935: {Optical means for mapping the whole or part of a scanned line onto the array}
- H04N 1/32106: {separate from the image data, e.g. in a different computer file}
- H04N 1/40: Picture signal circuits (H04N1/387 takes precedence)
- H04N 5/4448: {for frame-grabbing}
- H04N 5/46: for receiving on more than one standard at will (deflecting circuits of multi-standard receivers H04N3/27)
- H04N 5/64: Constructional details of receivers, e.g. cabinets or dust covers (furniture aspects {of television cabinets} A47B81/06)
- H04N 5/642: {Disposition of sound reproducers}
- H04N 5/76: Television signal recording
- H04N 7/0112: {one of the standards corresponding to a cinematograph film standard}
- H04N 7/163: {by receiver means only}
- H04N 7/165: {Centralised control of user terminal (subsequent to an upstream request signal H04N7/17345); Registering at central (by two-way working H04N7/17309)}
- H04N 7/1675: {Providing digital key or authorisation information for generation or regeneration of the scrambling sequence (pseudo-random number generators in general G06F7/58)}
- H04N 7/17327: {with deferred transmission or handling of upstream communications}
- H04N 7/17336: {Handling of requests in head-ends}
- H04N 9/3129: {scanning a light beam on the display screen (scanning a light beam on a screen in displays other than projection devices G09G3/02; scanning systems in general G02B26/10; projectors using laser light sources in general H04N9/3161)}
- H04N 9/3141: {Constructional details thereof (details not peculiar to the presence of an electronic spatial light modulator G03B21/14)}
- H04N 9/642: {Multi-standard receivers}
- H04N 9/7925: {for more than one standard}
- H04N 19/109: among a plurality of temporal predictive coding modes
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/51: Motion estimation or motion compensation
- H04N 19/517: by encoding
- H04N 19/527: Global motion vector estimation
- H04N 19/625: using discrete cosine transform [DCT]
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N 21/23418: {involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/2543: Billing {, e.g. for subscription services (payment schemes, architectures or protocols G06Q20/00; e-commerce G06Q30/00; arrangements for billing for the use of broadcast information or broadcast-related information H04H60/21)}
- H04N 21/2625: {for delaying content or additional data distribution, e.g. because of an extended sport event}
- H04N 21/4181: {for conditional access}
- H04N 21/426: Internal components of the client {; Characteristics thereof} (H04N5/44 takes precedence)
- H04N 21/433: Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N 21/4331: {Caching operations, e.g. of an advertisement for later insertion during playback}
- H04N 21/4383: {Accessing a communication channel}
- H04N 21/4384: {involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency}
- H04N 21/4623: Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message] {(arrangements for conditional access to broadcast information or to broadcast-related services H04H60/14)}
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04N 21/47211: {for requesting pay-per-view content (payment schemes payment architectures or payment protocols G06Q20/00, G07F)}
- H04N 21/6175: {involving transmission via Internet (broadcast-related systems characterised by the transmission system being the Internet H04H60/82)}
- H04N 21/6187: {involving transmission via a telephone network, e.g. POTS}
- H04N 21/6581: {Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application}
- H04N 21/6582: {Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number (arrangements where receivers interact with the broadcast H04H20/38)}
- H04N 23/57: Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
- H04N 23/68: for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N 23/6811: {based on the image signal}
- H04N 23/6812: {based on additional sensors, e.g. acceleration sensors}
- H04N 23/683: {performed by a processor, e.g. controlling the readout of an image memory}
- H04N 23/684: {performed by controlling the image sensor readout, e.g. by controlling the integration time}
- H04N 23/6845: {by combination of a plurality of images sequentially taken}
- H04Q 3/0025: {Provisions for signalling}
- H04Q 3/60: for connecting to satellites or concentrators which connect one or more exchange lines with a group of local lines
- H04W 4/14: Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
- H04W 8/04: Registration at HLR or HSS [Home Subscriber Server]
- H04W 8/265: {for initial activation of new user}
- H04W 28/00: Network traffic management; Network resource management
- H04W 36/02: Buffering or recovering information during reselection {; Modification of the traffic flow during hand-off}
- H04W 52/0225: {using monitoring of external events, e.g. the presence of a signal}
- H04W 52/30: using constraints in the total amount of available transmission power
- H04W 56/00: Synchronisation arrangements
- H04W 64/00: Locating users or terminals {or network equipment} for network management purposes, e.g. mobility management
- H04W 68/00: User notification, e.g. alerting and paging, for incoming communication, change of service or the like
- H04W 74/002: {Transmission of channel access control information}
- H04W 74/0816: with collision avoidance
- H04W 76/12: Setup of transport tunnels
- H04W 76/34: Selective release of ongoing connections
- H04W 84/08: Trunked mobile radio systems
- H04W 92/02: Inter-networking arrangements
- H10F 39/806: {Optical elements or arrangements associated with the image sensors}
- G06F 2221/2105: Dual mode as a secondary aspect
- G06F 2221/2115: Third party
- G11B 20/22: for reducing distortions
- H04B 1/707: using direct sequence modulation
- H04J 3/0658: {Clock or time synchronisation among packet nodes}
- H04L 43/0829: Packet loss
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 65/1016: IP multimedia subsystem [IMS]
- H04L 69/14: Multichannel or multilink protocols
- H04L 2012/40215: {Controller Area Network CAN}
- H04L 2012/40273: {the transportation system being a vehicle}
- H04M 1/724: User interfaces specially adapted for cordless or mobile telephones
- H04M 3/42221: {Conversation recording systems (at the subscriber's set H04M1/656)}
- H04M 11/06: Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
- H04N 5/38: Transmitter circuitry {for the transmission of television signals according to analogue transmission standards} (H04N5/14 takes precedence)
- H04N 5/445: for displaying additional information (H04N5/50 takes precedence)
- H04N 5/45: Picture in picture {, e.g. displaying simultaneously another television channel in a region of the screen}
- H04N 5/66: Transforming electric information into light information (scanning details H04N3/00)
- H04N 5/775: between a recording apparatus and a television receiver
- H04N 5/85: on discs or drums
- H04N 5/907: using static stores, e.g. storage tubes or semiconductor memories (H04N5/91 takes precedence)
- H04N 7/0122: {the input and the output signals having different aspect ratios}
- H04N 9/8042: {involving data reduction}
- H04N 2201/0094: Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
- H04N 2201/02493: Additional optical elements not otherwise provided for, e.g. filters, polarising plates, masks or apertures
- H04N 2201/03112: Light source
- H04N 2201/03133: Window, i.e. a transparent member mounted in the frame
- H04N 2201/03141: Photodetector lens
- H04N 2201/03145: Photodetector
- H04N 2201/03187: Additional optical element
- H04N 2201/3212: of data relating to a job, e.g. communication, capture or filing of an image
- H04N 2201/3222: of processing required or performed, e.g. forwarding, urgent or confidential handling
- H04N 2201/3274: Storage or retrieval of prestored additional information
- H04Q 2213/1302: Relay switches
- H04Q 2213/13039: Asymmetrical two-way transmission, e.g. ADSL, HDSL
- H04Q 2213/1304: Coordinate switches, crossbar, 4/2 with relays, coupling field
- H04Q 2213/13076: Distributing frame, MDF, cross-connect switch
- H04Q 2213/13095: PIN / Access code, authentication
- H04Q 2213/13109: Initializing, personal profile
- H04Q 2213/13298: Local loop systems, access network
- H04Q 2213/13349: Network management
- H04W 4/10: Push-to-Talk [PTT] or Push-On-Call services
- H04W 4/12: Messaging; Mailboxes; Announcements
- H04W 8/245: {from a network towards a terminal}
- H04W 8/26: Network addressing or numbering for mobility support
- H04W 24/00: Supervisory, monitoring or testing arrangements
- H04W 28/18: Negotiating wireless communication parameters
- H04W 28/26: Resource reservation
- H04W 40/00: Communication routing or communication path finding
- H04W 40/02: Communication route or path selection, e.g. power-based or shortest path routing
- H04W 48/08: Access restriction or access information delivery, e.g. discovery data delivery (signalling during connection H04W76/00)
- H04W 52/0248: {dependent on the time of the day, e.g. according to expected transmission activity}
- H04W 52/0274: {by switching on or off the equipment or parts thereof}
- H04W 72/1268: of uplink data flows
- H04W 72/23: in the downlink direction of a wireless link, i.e. towards a terminal
- H04W 72/52: based on load
- H04W 76/10: Connection setup
- H04W 76/18: Management of setup rejection or failure
- H04W 76/30: Connection release
- H04W 76/45: for Push-to-Talk [PTT] or Push-to-Talk over cellular [PoC] services
- H04W 80/00: Wireless network protocols or protocol adaptations to wireless operation
- H04W 84/042: {Public Land Mobile systems, e.g. cellular systems}
- H04W 84/12: WLAN [Wireless Local Area Networks]
- H04W 88/06: adapted for operation in multiple networks {or having at least two operational modes}, e.g. multi-mode terminals
- H04W 88/085: {Access point devices with remote components}
- H04W 88/16: Gateway arrangements
- H04W 92/12: between access points and access point controllers
- Y02D 30/70: in wireless communication networks
- Y10S 370/906: Fiber data distribution interface, FDDI
- Y10S 370/907: Synchronous optical network, SONET
- Y10S 707/99943: Generating database or data structure, e.g. via user interface
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H03L: AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES (generation of oscillations H03B)
- H04B: TRANSMISSION
- H04J: MULTIPLEX COMMUNICATION (transmission in general H04B; peculiar to transmission of digital information H04L5/00; systems for the simultaneous or sequential transmission of more than one television signal H04N7/08; in exchanges H04Q11/00; stereophonic systems H04S)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H10F: INORGANIC SEMICONDUCTOR DEVICES SENSITIVE TO INFRARED RADIATION, LIGHT, ELECTROMAGNETIC RADIATION OF SHORTER WAVELENGTH OR CORPUSCULAR RADIATION
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

Fast channel changing in digital-television-based entertainment networks can be implemented, for example, by electing to tune to channels at opportune tuning times. In an exemplary implementation, a method includes: receiving a channel change request that indicates a requested new channel from a client device; preparing a broadcast video data stream of the requested new channel that is offset in time behind a current broadcast time for broadcast video data of the requested new channel; and streaming the broadcast video data stream responsive to the channel change request. In another exemplary implementation, a system includes: a storage device that retains broadcast video data for multiple channels; a video data extractor that accesses the retained broadcast video data and retrieves an intra frame of broadcast video data that is in the past for a requested channel; and a video data distributor that transmits the retrieved intra frame of broadcast video data.

## Claims

### Claim 1

A system for tuning channels in a digital video broadcast network, the system comprising:
a receiver configured to receive at a server a request to tune to a new digital channel from a client device;
a broadcast video extractor configured to seek for and retrieve a previous complete frame of broadcast video for the new digital channel from a storage device responsive to the received request;
a broadcast video booster configured to access the storage device and retrieve a plurality of incomplete frames of broadcast video that follow the retrieved previous complete frame of broadcast video; and
a transmitter configured to:
reallocate transient excess bandwidth from one or more other client devices to the client device responsive to receiving the request to tune to the new digital channel, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth currently being utilized by the one or more other client devices; and
transmit the retrieved plurality of incomplete frames of broadcast video to the client device at a transmission rate that exceeds a real-time transmission rate of the broadcast video using the transient excess bandwidth to fill the video decoder buffer with the retrieved plurality of incomplete frames of broadcast video, the transmitted retrieved plurality of incomplete frames of broadcast video being offset in time behind a current broadcast time of the new digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the previous complete frame of broadcast video, the plurality of incomplete frames of broadcast video being retrievable and transmittable over a duration of time that is less than a period of time used to seek for, retrieve, and transmit the previous complete frame of broadcast video.

### Claim 2 (depends on 1)

The system as recited in claim 1, further comprising wherein:
the transmitter is to transmit the retrieved previous complete frame of broadcast video to the client device to thereby enable the client device to display an image of the new digital channel.

### Claim 3 (depends on 1)

The system as recited in claim 1, further comprising wherein:
the broadcast video booster is to access the storage device and retrieve a number of the a plurality of incomplete frames of broadcast video that is sufficient to fill a decoding buffer at the client device that follow the retrieved previous complete frame of broadcast video.

### Claim 4 (depends on 1)

The system as recited in claim 1, wherein the retrieved previous complete frame of broadcast video comprises a retrieved most-recently-received complete frame of broadcast video.

### Claim 5 (depends on 1)

The system as recited in claim 1, wherein the retrieved previous complete frame of broadcast video is complete such that the client device can decode and cause to be displayed an image thereof without reference to any other frame of broadcast video.

### Claim 6

A method for tuning channels in a digital video broadcast network, the method comprising:
receiving at a server a request to tune to a requested digital channel from a client device;
seeking for a previous complete frame of broadcast video for the requested digital channel;
retrieving the previous complete frame of broadcast video for the requested digital channel;
transmitting the previous complete frame of broadcast video for the requested digital channel to the client device to enable the client device to display an image of the requested digital channel;
retrieving a plurality of incomplete frames of broadcast video that follow the previous complete frame of broadcast video for the requested digital channel;
reallocating transient excess bandwidth from one or more other client devices to the client device responsive to receiving the request to tune to the requested digital channel, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth currently being utilized by the one or more other client devices; and
transmitting, to the client device, the plurality of incomplete frames of broadcast video at a transmission rate that exceeds a real-time transmission rate of the broadcast video using the transient excess bandwidth to fill the video decoder buffer with the plurality of incomplete frames of broadcast video, the transmitted plurality of incomplete frames of broadcast video being offset in time behind a current broadcast time of the requested digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the previous complete frame of broadcast video, the plurality of incomplete frames being retrieved and transmitted over a duration of time that is less than a period of time used for the seeking, retrieving, and transmitting of the previous complete frame.

### Claim 7

A system for accelerating channel changing in a video broadcast environment, the system comprising:
a storage device configured to retain broadcast video data for a plurality of digital channels;
a video data extractor configured to access the retained broadcast video data and retrieve an intra frame of broadcast video data that is in the past for a requested digital channel, requested by a client device, of the plurality of digital channels;
a video data booster configured to access the retained broadcast video data and retrieve a broadcast video data stream that follows the retrieved intra frame of broadcast video data; and
a video data distributor configured to:
receive the retrieved intra frame of broadcast video data;
transmit the retrieved intra frame of broadcast video data;
receive the retrieved broadcast video data stream;
reallocate transient excess bandwidth from one or more other client devices to the client device responsive to receiving a channel change request by the client device, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth currently being utilized by to the one or more other client devices; and
transmit the retrieved broadcast video data stream at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth to fill the video decoder buffer with the retrieved broadcast video data stream, the transmitted retrieved broadcast video data stream being offset in time behind a current broadcast time of the requested digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the retrieved intra frame of broadcast video data, the broadcast video data stream being retrievable and transmittable over a duration of time that is less than a period of time used to access, retrieve, and transmit the intra frame of broadcast video data.

### Claim 8 (depends on 7)

The system as recited in claim 7, wherein the retrieved broadcast video data stream is of a size that is sufficient to fill a decoding buffer at a client device.

### Claim 9 (depends on 7)

The system as recited in claim 7, wherein the video data extractor and the video data distributor comprise software elements of a data center.

### Claim 10 (depends on 7)

The system as recited in claim 7, wherein the storage device comprises a disk-based storage array.

### Claim 11 (depends on 7)

The system as recited in claim 7, wherein the video data extractor and the video data distributor comprise a combination of one or more of hardware, software, and firmware of a server system.

### Claim 12

A system for accelerating channel changing in a video broadcast environment, the system comprising:
a video data extractor configured to:
retrieve an intra frame of broadcast video data that is prior to a current broadcast time for a requested digital channel responsive to receiving a channel change request from a client device; and
retrieve a plurality of non-intra frames of broadcast video data following the retrieved intra frame; and a video data distributor configured to:
transmit the retrieved intra frame of broadcast video corresponding to the requested digital channel to the client device;
reallocate transient excess bandwidth from one or more other client devices to the client device responsive to receiving the channel change request from the client device, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth currently being utilized by the one or more other client devices; and
transmit the retrieved plurality of non-intra frames at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth, the plurality of non-intra frames being retrieved and transmitted over a duration of time that is less than a duration of time used to retrieve and transmit the intra frame of broadcast video data.

### Claim 13 (depends on 12)

The system as recited in claim 12, wherein the system comprises a headend of at least one of a cable network and or a satellite network.

### Claim 14

An arrangement for accelerating channel changing, the arrangement comprising:
distribution means for distributing an intra frame and a digital video stream of broadcast video data corresponding to a requested digital channel to a client device, the distribution means configured to:
reallocate transient excess bandwidth from one or more other client devices to the client device responsive to receiving a channel change request, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth utilized by the one or more other client devices; and
distribute the digital video stream of the broadcast video data to the client device at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth to fill the video decoder buffer with the digital video stream of the broadcast video data, the digital video stream of the broadcast video data being distributable over a duration of time that is less than a duration of time used to distribute the intra frame to the client device.

### Claim 15 (depends on 14)

The arrangement as recited in claim 14, further comprising handling means configured to:
handle the channel change request, the channel change request having a requested digital channel; and
receive the channel change request from the client device.

### Claim 16 (depends on 14)

The arrangement as recited in claim 14, wherein the channel change request comprises a digital packet transmitted from the client device.

### Claim 17 (depends on 14)

The arrangement as recited in claim 14, wherein the digital video stream of the broadcast video data comprises at least one predicted frame.

### Claim 18

A system for accelerating channel changing in a video broadcast environment, the system comprising:
one or more memories, the one or more memories including broadcast video data and electronically-executable instructions; and
one or more processors capable of executing the electronically-executable instructions to perform actions comprising:
receiving a request at a server for a new digital channel from a client device;
accessing the broadcast video data for the new digital channel;
seeking backward in time along the broadcast video data for the new digital channel until an intra frame is located, the seeking backward in time along the broadcast video data including selecting a most-recently-received intra frame when a condition is met, and selecting another intra frame received prior to the most-recently-received intra frame when the condition is not met, the condition being:
a plurality of non-intra frames of broadcast video following the most-recently-received intra frame and stored by the one or more memories are, together with the most-recently-received intra frame, sufficient to fill a video decoder buffer of the client device at least enough for a video decoder to commence decoding, the sufficiency of the plurality of non-intra frames and the most-recently-received intra frame being determined from buffer size data provided by the client device to the server;
retrieving the intra frame for the new digital channel from the broadcast video data;
retrieving a stream of broadcast video data that starts after the intra frame and extends along the broadcast video data for the new digital channel;
transmitting the intra frame for the new digital channel to the client device;
reallocating transient excess bandwidth from one or more other client devices to the client device responsive to receiving the request for the new digital channel, the transient excess bandwidth comprising a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth utilized by the one or more other client devices; and
transmitting the stream of broadcast video data for the new digital channel to the client device at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth to fill the video decoder buffer with the stream of broadcast video data, the transmitted steam of broadcast video data for the new digital channel being offset in time behind a current broadcast time of the new digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the intra frame of the broadcast video data, the stream of broadcast video data being retrieved and transmitted over a duration of time that is less than a duration of time used for the seeking, retrieving, and transmitting of the intra frame.

### Claim 19 (depends on 18)

The system as recited in claim 18, wherein the one or more memories comprise a first memory and a second memory, the first memory storing the broadcast video data and the second memory storing the electronically-executable instructions.

### Claim 20 (depends on 19)

The system as recited in claim 19, wherein the first memory comprises mass memory, and the second memory comprises random access memory (RAM).

### Claim 21 (depends on 18)

The system as recited in claim 18, wherein the one or more processors comprise at least part of a server computer.

### Claim 22 (depends on 18)

The system as recited in claim 18, wherein the system comprises a data center at a headend of a television-based entertainment network.

### Claim 23 (depends on 18)

The system as recited in claim 18, further comprising:
one or more network interfaces, the one or more network interfaces capable of interfacing with at least one network and capable of being controlled by the one or more processors.

### Claim 24 (depends on 18)

The system as recited in claim 18, wherein the one or more processors are configured to execute the electronically-executable instructions to perform a further action comprising:
establishing a point to point session with the client device across a two way unicast network.

### Claim 25 (depends on 18)

The system as recited in claim 18, wherein retrieving the stream of broadcast video data comprises:
retrieving the stream of broadcast video data that starts after the intra frame and extends along the broadcast video data for the new digital channel for a period of time that is sufficient to fill a decoding buffer of the client device.

### Claim 26 (depends on 18)

The system as recited in claim 18, wherein the one or more processors are configured to execute the electronically-executable instructions to perform further actions comprising:
receiving current broadcast video data from a broadcast center; and
storing the current broadcast video data at the one or more memories.

### Claim 27

One or more computer storage media having computer-executable instructions stored thereon that, when executed by a processor, direct a server to:
retrieve an intra frame of broadcast video data from stored broadcast video data responsive to receiving a channel change request for a requested digital channel from a client device, the intra frame of broadcast video data comprising a most-recently-received intra frame in a portion of the stored broadcast video data that corresponds to the requested channel;
retrieve a digital video stream of broadcast video data following the retrieved intra frame from the stored broadcast video data for the requested digital channel;
reallocate transient excess bandwidth from one or more client devices to a client device responsive to receiving the channel change request for the requested digital channel from the client device, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more client devices and an amount of bandwidth utilized by the one or more client devices; and
send the digital video stream associated with the requested digital channel to the client device at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth to fill the video decoder buffer with the digital video stream for the requested digital channel, the sent digital video stream for the requested digital channel being offset in time behind a current broadcast time of the requested digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the intra frame of the broadcast video data, the digital video stream being retrievable and sendable over a duration of time that is less than a duration of time used to retrieve and transmit the intra frame of the broadcast video data.

### Claim 28 (depends on 27)

The one or more computer storage media as recited in claim 27, further comprising computer-executable instructions that, when executed by the processor, direct the server to: receive a packet, which is related to the channel change request, that includes the requested digital channel from the client device.

### Claim 29 (depends on 27)

The one or more computer storage media as recited in claim 27, further comprising computer-executable instructions that, when executed by the processor, direct the server to:
retrieve the digital video stream for the requested digital channel such that the digital video stream is of a sufficient length so as to fill a decoding buffer of the client device.

### Claim 30

A method comprising:
receiving, at a client device, a channel change input from a user, the channel change input ordering a change to a requested digital channel;
receiving an intra frame of broadcast video data associated with the requested digital channel; and
receiving, at the client device, a broadcast video data stream that follows the intra frame of broadcast video data at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using transient excess bandwidth, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to one or more other client devices and an amount of bandwidth currently being utilized by the one or more other client devices, the received broadcast video data stream that follows the intra frame of broadcast video being offset in time behind a current broadcast time of the requested digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the intra frame of the broadcast video data, the broadcast video data stream that follows the intra frame of the broadcast video data being received over a duration of time that is less than a duration of time that elapses between the receiving of the channel change input from the user and the receiving of the intra frame of the broadcast video data.

### Claim 31 (depends on 30)

The method as recited in claim 30, further comprising:
causing, at the client device, the intra frame of broadcast video data and the broadcast video data stream that follows the intra frame of broadcast video data to be displayed on a screen associated with the client device.

### Claim 32 (depends on 30)

The method as recited in claim 30, wherein the client device comprises a set-top box.

### Claim 33 (depends on 30)

One or more computer storage media having computer-executable instructions stored thereon that, when executed by a processor, direct one or more electronic devices to perform the method as recited in claim 30.

### Claim 34

A method for accelerating channel changing in a video broadcast environment, the method comprising:
receiving at a server a channel change request from a client device, the channel change request indicating a requested new digital channel;
preparing a broadcast video data stream of the requested new digital channel that is offset in time behind a current broadcast time for broadcast video data of the requested new digital channel, the broadcast video data stream being prepared by at least determining whether a condition is met, and retrieving a most-recently-received complete frame when the condition is met or retrieving another complete frame received prior to the most-recently-received complete frame when the condition is not met, the condition including:
a plurality of incomplete frames of broadcast video following the most-recently-received complete frame are, together with the most-recently-received complete frame, sufficient to fill a video decoder buffer of the client device at least enough for a video decoder to commence decoding, the sufficiency of the plurality of incomplete frames and the most-recently-received complete frame being determined from buffer size data provided by the client device to the server;
reallocating transient excess bandwidth from one or more other client devices to the client device responsive to receiving the channel change request, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth utilized by the one or more other client devices; and
streaming the broadcast video data stream of the requested new digital channel that is offset in time to the client device, the broadcast video data stream being streamed at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth to fill the video decoder buffer with the broadcast video data stream, the broadcast video data stream of the requested new digital channel being offset in time behind the current broadcast time of the requested new digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the most-recently-received complete frame of the broadcast video data, the broadcast video data stream being streamed over a duration of time that is less than a duration of time used for the retrieving of the most-recently-received complete frame of the broadcast video data.

### Claim 35 (depends on 34)

The method as recited in claim 34, wherein the offset in time is due to a difference between the current broadcast time and a time of a most recent intra frame for the broadcast video data of the requested new digital channel.

### Claim 36 (depends on 34)

The method as recited in claim 34, wherein preparing the broadcast video data stream comprises:
accessing a storage device that includes stored broadcast video data of the requested new digital channel, the stored broadcast video data of the requested new digital channel including a plurality of intra frames received from a broadcast center.

### Claim 37 (depends on 34)

One or more computer storage media having computer-executable instructions stored thereon that, when executed by a processor, direct one or more electronic devices to perform the method as recited in claim 34.

### Claim 38

A headend capable of accelerating channel changing in a video broadcast environment, the headend comprising:
one or more memories, including electronically-executable instructions and stored broadcast video data, the stored broadcast video data including current broadcast video data and non-current broadcast video data; and
one or more processors configured to execute the electronically-executable instructions to perform a method, the method comprising:
receiving at the headend a request for a new digital channel from a client device;
accessing the stored broadcast video data that corresponds to the new digital channel;
retrieving a portion of non-current broadcast video data that corresponds to the new digital channel from the stored broadcast video data, the portion being retrieved by at least determining whether a condition is met, and retrieving a most-recently-received complete frame when the condition is met, or retrieving another complete frame received prior to the most-recently-received complete frame when the condition is not met, the condition including:
a plurality of incomplete frames of broadcast video following the most-recently-received complete frame are, together with the most-recently-received complete frame, sufficient to fill a video decoder buffer of the client device at least enough for a video decoder to commence decoding, the sufficiency of the plurality of incomplete frames and the most-recently-received complete frame being determined from buffer size data provided by the client device to the headend;
reallocating transient excess bandwidth from one or more other client devices to the client device responsive to receiving the request for the new digital channel, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth utilized by the one or more other client devices; and
transmitting at least part of the portion of the non-current broadcast video data that corresponds to the new digital channel to the client device responsive to the request and at a transmission rate that exceeds a real-time transmission rate of the stored broadcast video using the transient excess bandwidth to fill the video decoder buffer with the at least part of the portion of the non-current broadcast video data that corresponds to the new digital channel, the at least part of the portion of the non-current broadcast video data that corresponds to the new digital channel being offset in time behind a current broadcast time of the requested new digital channel, the offset in time comprising a difference between a time that the request is received and the current broadcast time, the video decoder buffer being filled over a duration of time that is less than a duration of time used for the retrieving of the most-recently-received complete frame.

### Claim 39 (depends on 38)

The headend as recited in claim 38, wherein the at least part of the portion of the non-current broadcast video data comprises at least one intra frame and a plurality of non-intra frames; and
wherein the at least part of the portion of the non-current broadcast video data comprises the plurality of non-intra frames.

### Claim 40

A method for a headend of a television-based entertainment network, the method comprising:
continuously receiving a stream of broadcast video data for a particular digital channel;
storing the stream of broadcast video data for the particular digital channel in a storage device, the stream of broadcast video data including a plurality of intra frames of broadcast video data and a plurality of non-intra frames of broadcast video data, the plurality of intra frames of broadcast video data including a most-recently-received intra frame of broadcast video data, the plurality of non-intra frames of broadcast video data including a non-intra frame of broadcast video data that corresponds to a current broadcast time;
receiving at the headend a channel change request from a client device, the channel change request indicating a request to change channels to the particular digital channel;
retrieving an intra frame of broadcast video data and one or more non-intra frames of the plurality of non-intra frames of broadcast video data from the storage device, the one or more non-intra frames of broadcast video data being temporally located after the intra frame of broadcast video data and before the non-intra frame of broadcast video data that corresponds to the current broadcast time, the intra frame being retrieved by at least determining whether a condition is met, and retrieving the most-recently-received intra frame when the condition is met, or retrieving a second intra frame received prior to the most-recently-received intra frame when the condition is not met, the condition including:
a plurality of received non-intra frames of broadcast video following the most-recently-received complete frame are, together with the most-recently-received complete frame, sufficient to fill a video decoder buffer of the client device at least enough for a video decoder to commence decoding, the sufficiency of the plurality of non-intra frames and the most-recently-received intra frame being determined from buffer size data provided by the client device to the headend;
reallocating transient excess bandwidth from one or more other client devices to the client device responsive to receiving the channel change request, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth utilized by the one or more other client devices; and
sending the most-recently-received intra frame of broadcast video data and the one or more non-intra frames of broadcast video data to the client device responsive to receiving the channel change request, the one or more non-intra frames of broadcast video data being sent to the client device at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth to fill the video decoder buffer with the one or more non-intra frames of broadcast video data, the sent one or more non-intra frames of broadcast video data being offset in time behind a current broadcast time of the particular digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the most-recently-received intra frame of the broadcast video data, the one or more non-intra frames of broadcast video data being retrieved and sent over a duration of time that is less than a period of time used for the retrieving and sending of the intra frame of broadcast video data.

### Claim 41 (depends on 40)

The method for a headend as recited in claim 40, the method comprising:
sending the non-intra frame of broadcast video data that corresponds to the current broadcast time and any additional non-intra frames of broadcast video data that are between a last non-intra frame of broadcast video data of the one or more non-intra frames of broadcast video data and the non-intra frame of broadcast video data that corresponds to the current broadcast time.

### Claim 42 (depends on 40)

One or more computer-storage media having computer-executable instructions stored thereon that, when executed by a processor, direct a headend to perform the method as recited in claim 40.

### Claim 43

A headend that is capable of accelerating channel changing in a video broadcast environment, the headend configured to perform actions comprising:
receiving a channel change request that corresponds to a first time and is directed to a requested digital channel;
accessing broadcast video data for the requested digital channel;
retrieving an intra frame of broadcast video data that corresponds to a second time from the broadcast video data for the requested digital channel, the second time being earlier than the first time;
retrieving broadcast video data frames that follow the intra frame of broadcast video data from the broadcast video data for the requested digital channel, the intra frame being retrieved by at least determining whether a condition is met, and retrieving a most-recently-received intra frame when the condition is met, or retrieving a second intra frame received prior to the most-recently-received intra frame when the condition is not met, the condition including:
a plurality of non-intra frames of broadcast video following the most-recently-received intra frame are, together with the most-recently-received intra frame, sufficient to fill a video decoder buffer of a client device at least enough for a video decoder to commence decoding, the sufficiency of the plurality of non-intra frames and the most-recently-received intra frame being determined from buffer size data provided by the client device to the headend;
sending the intra frame of broadcast video data from the headend;
reallocating transient excess bandwidth from one or more other client devices to the client device responsive to receiving the channel change request, the transient excess bandwidth comprising at least a portion of a difference between an amount of bandwidth allocated to the one or more other client devices and an amount of bandwidth utilized by the one or more other client devices; and
sending the broadcast video data frames that follow the intra frame of broadcast video data from the headend at a transmission rate that exceeds a real-time transmission rate of the broadcast video data using the transient excess bandwidth to fill the video decoder buffer with the broadcast video data frames that follow the intra frame of broadcast video data, the sent broadcast video data frames that follow the intra frame of broadcast video data being offset in time behind a current broadcast time of the requested digital channel, the offset in time comprising a difference between a time that the request is received and a broadcast time of the intra frame of the broadcast video data, the broadcast video frames that follow the intra frame of broadcast video data being retrieved and sent over a duration of time that is less than a duration of time used for the retrieving and sending of the intra frame of broadcast video data.

### Claim 44 (depends on 43)

The headend as recited in claim 43, wherein the first time is associated with at least one of a transmission time of the channel change request and or a reception time of the channel change request.

### Claim 45 (depends on 43)

The headend as recited in claim 43, wherein the intra frame of broadcast video data comprises an intra frame of broadcast video data in accordance with a Moving Pictures Expert Group (MPEG)-compliant scheme.
