US20240048791A1 - Apparatus and methods for recording a media stream - Google Patents

Apparatus and methods for recording a media stream Download PDF

Info

Publication number
US20240048791A1
US20240048791A1 US18/381,483 US202318381483A US2024048791A1 US 20240048791 A1 US20240048791 A1 US 20240048791A1 US 202318381483 A US202318381483 A US 202318381483A US 2024048791 A1 US2024048791 A1 US 2024048791A1
Authority
US
United States
Prior art keywords
content
network
digitally rendered
client device
stream
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
US18/381,483
Inventor
Tom Gonder
John Chen
Vipul Patel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Time Warner Cable Enterprises LLC
Original Assignee
Time Warner Cable Enterprises LLC
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 Time Warner Cable Enterprises LLC filed Critical Time Warner Cable Enterprises LLC
Priority to US18/381,483 priority Critical patent/US20240048791A1/en
Publication of US20240048791A1 publication Critical patent/US20240048791A1/en
Pending legal-status Critical Current

Links

Images

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/27Server based end-user applications
    • H04N21/278Content descriptor database or directory service for end-user access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/26258Content 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 generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • 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/4332Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
    • 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/4334Recording operations
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream

Definitions

  • the present disclosure relates generally to the field of delivery of digital media data (e.g., text, video, and/or audio) over networks, such as an Internet Protocol
  • digital media data e.g., text, video, and/or audio
  • networks such as an Internet Protocol
  • IPTV IP Television
  • IPTV Internet Protocol Television
  • DVR Digital Video Recorder
  • a consumer electronics device or application software to record video in a digital format for storage onto computer readable media such as e.g., a disk drive, Universal Serial Bus (USB) flash drive, local or networked mass storage device, etc.
  • computer readable media such as e.g., a disk drive, Universal Serial Bus (USB) flash drive, local or networked mass storage device, etc.
  • the recorded video content is stored in its entirety in a compressed and encoded format.
  • the recorded file is decompressed and decoded by the video player e.g., of the portable device, set-top box (STB), etc.
  • MPEG-4 Motion Picture Experts Group wrapped H.264 video.
  • live streaming videos also commonly referred to as “Live Internet Protocol (IP) video delivery”
  • CDN Content Delivery Network
  • live IP video delivery from a video server to a video client is based on a sequence of small Hyper Text Transport Protocol (HTTP) based file downloads; each download consists of a small “chunk” of an unbounded transport stream.
  • HTTP Hyper Text Transport Protocol
  • the CDN stores just enough chunks at the network to support live playback from the client. For example, a video client might “buffer” ten (10) 6-second chunks (a minute of playback) during normal operation.
  • the video client since the video client does not have the content in its entirety, the video client cannot compress the content for local storage (which is necessary for traditional DVR functionality). Moreover, storing the content in its uncompressed form can quickly deplete the memory resources of the video client (especially a small consumer device with limited memory, such as, an iPadTM, etc.)
  • Network DVR is one proposed solution for enabling live streaming content DVR functionality for customer devices.
  • the video service provider stores and manages (via e.g., Digital Rights Management (DRM), subscriber account based authorization, etc.) the content for each subscriber account, and streams the video back to the video client during playback requests.
  • DRM Digital Rights Management
  • Such NDVR solutions require that the video client is connected to the service provider network and has a consistent bandwidth connection that supports quality video playback. Since the video stream is generated and delivered by the service provider network, NDVR cannot support off-network playback or playback where network connectivity is spotty and/or sporadic.
  • the video storage provider is likely to have significantly more storage capacity, such a solution is inefficient and does not scale well for large subscriber populations and/or live streams.
  • recorded video content represents somewhat of a “lost” revenue opportunity for the service provider.
  • advertising revenue is typically determined based on the number of “views” of commercial advertisements or promotions.
  • the video client receives the entirety of the video content which has been formatted according to the video client's resolution (e.g., 640 ⁇ 480).
  • the video content is decrypted, compressed, and encoded into the appropriate file format (e.g., MPEG-4 wrapped H.264).
  • the file can be replayed at a different device, which creates a myriad of problems.
  • the other device has a different resolution (e.g., 1920 ⁇ 1080)
  • the playback will still be limited to the original resolution and will produce undesirable “pixelated” (blocky) low quality video.
  • the present disclosure addresses the foregoing needs by providing, inter alfa, methods and apparatus for recording streaming media content in a network.
  • the content is recorded using a data structure (e.g., a stream manifest file) so as to enable subsequent reconstruction of the media content from the stream manifest file.
  • a data structure e.g., a stream manifest file
  • a method for recording a live media stream comprises: (i) receiving a network data structure associated with the live media stream, the live media stream generated at a first time within substantial proximity to a second time of reception, (ii) downloading one or more content portions from a service provider based at least in part on the data structure, (iii) generating a local data structure, (iv) storing each of the one or more content portions in a corresponding location in a local memory, and (v) updating the local data structure with the corresponding location of each of the one or more content chunks.
  • a method for playing a media stream from a local stream manifest comprises: (i) retrieving a local stream manifest associated with the media stream, (ii) retrieving one or more content chunks from a local memory based at least in part on the local stream manifest, and (iii) reconstructing the media stream from the retrieved one or more content chunks based on the local stream manifest.
  • a consumer premises equipment comprises: (i) a network interface, configured to communicate with a service provider network, (ii) a user interface, (iii) a processor in data communication with the network interface and user interface, and (iv) a non-transitory computer readable medium comprising one or more instructions, which when executed by the processor, are configured to cause the CPE to: download one or more content chunks from the service provider network in accordance with a network stream manifest, the network stream manifest comprising a dynamically changing manifest configured to deliver live media content comprising the one or more content chunks; generate a local stream manifest based at least in part on the network stream manifest; and store each of the one or more content chunks in a local storage device.
  • the CPE comprises: a display; a processor; and a non-transitory computer readable medium comprising one or more instructions, which when executed by the processor, are configured to cause the CPE to: (i) retrieve a local stream manifest; (ii) retrieve one or more content chunks from a local memory in accordance with the local stream manifest; (iii) reconstruct a media content stream based at least in part on the retrieved one or more content chunks; and (iv) display the media content stream.
  • a non-transitory computer readable medium comprises one or more instructions, which when executed by the processor, are configured to cause a device to: (i) download one or more content chunks from the service provider network in accordance with a network stream manifest, the network stream manifest comprising a dynamically changing manifest configured to deliver live media content comprising the one or more content chunks; (ii) generate a local stream manifest based at least in part on the network stream manifest; and (iii) store each of the one or more content chunks in a local storage device.
  • the computer readable medium comprises one or more instructions, which when executed by the processor, are configured to cause a device to: (i) retrieve a local stream manifest; (ii) retrieve one or more content chunks from a local memory in accordance with the local stream manifest; (iii) reconstruct a media content stream based at least in part on the retrieved one or more content chunks; and (iv) display the media content stream.
  • FIG. 1 is a functional block diagram illustrating one exemplary packetized content delivery network architecture useful with the present disclosure.
  • FIG. 2 is a graphical representation of an exemplary packet-switched network useful in conjunction with various principles described herein.
  • FIG. 3 is a logical flow diagram representing one embodiment of a method for recording streaming media content.
  • FIG. 4 is a logical flow diagram representing one embodiment of a method for playing back streaming media content from a stream manifest.
  • FIG. 5 is a logical block diagram representation of one exemplary embodiment of the consumer premise equipment (CPE) configured in accordance with the present disclosure.
  • CPE consumer premise equipment
  • FIG. 6 is a logical flow diagram representing one exemplary method for recording streaming video content with a stream manifest file, and subsequent video content playback from the stream manifest file, in accordance with the principles described herein.
  • the term “application” refers generally and without limitation to a unit of executable software that implements a certain functionality or theme.
  • the themes of applications vary broadly across any number of disciplines and functions (such as on-demand content management, e-commerce transactions, brokerage transactions, home entertainment, calculator etc.), and one application may have more than one theme.
  • the unit of executable software generally runs in a predetermined environment; for example, the unit could include a downloadable Java XletTM that runs within the JavaTVTM environment.
  • client device includes, but is not limited to, set-top boxes (e.g., DSTBs), gateways, modems, personal computers (PCs), and minicomputers, whether desktop, laptop, or otherwise, and mobile devices such as handheld computers, PDAs, personal media devices (PMDs), tablets, “phablets”, and smartphones.
  • set-top boxes e.g., DSTBs
  • gateways e.g., modems
  • PCs personal computers
  • minicomputers whether desktop, laptop, or otherwise
  • mobile devices such as handheld computers, PDAs, personal media devices (PMDs), tablets, “phablets”, and smartphones.
  • codec refers to a video, audio, or other data coding and/or decoding algorithm, process or apparatus including, without limitation, those of the MPEG (e.g., MPEG-1, MPEG-2, MPEG-4/H.264, etc.), Real (RealVideo, etc.), AC-3 (audio), DiVX, XViD/ViDX, Windows Media Video (e.g., WMV 7, 8, 9, 10, or 11), ATI Video codec, or VC-1 (SMPTE standard 421M) families.
  • MPEG e.g., MPEG-1, MPEG-2, MPEG-4/H.264, etc.
  • Real Real
  • AC-3 audio
  • DiVX XViD/ViDX
  • Windows Media Video e.g., WMV 7, 8, 9, 10, or 11
  • ATI Video codec e.g., WMV 7, 8, 9, 10, or 11
  • VC-1 SMPTE standard 421M
  • CPE Customer Premises Equipment
  • digital processor is meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., FPGAs), PLDs, reconfigurable compute fabrics (RCFs), array processors, and application-specific integrated circuits (ASICs).
  • DSPs digital signal processors
  • RISC reduced instruction set computers
  • CISC general-purpose
  • microprocessors e.g., FPGAs
  • PLDs gate arrays
  • RCFs reconfigurable compute fabrics
  • ASICs application-specific integrated circuits
  • display means any type of device adapted to display information, including without limitation CRTs, LCDs, TFTs, plasma displays, LEDs (e.g., OLEDs), incandescent and fluorescent devices, or combinations/integrations thereof. Display devices may also include less dynamic devices such as, for example, printers, e-ink devices, and the like.
  • DOCSIS refers to any of the existing or planned variants of the Data Over Cable Services Interface Specification, including for example DOCSIS versions 1.0, 1.1, 2.0, 3.0 and 3.1.
  • headend refers generally to a networked system controlled by an operator (e.g., an MSO) that distributes programming to MSO clientele using client devices.
  • Such programming may include literally any information source/receiver including, inter alfa, free-to-air TV channels, pay TV channels, interactive TV, and the Internet.
  • Internet and “internet” are used interchangeably to refer to inter-networks including, without limitation, the Internet.
  • memory includes any type of integrated circuit or other storage device adapted for storing digital data including, without limitation, ROM. PROM, EEPROM, DRAM, SDRAM, DDR/ 2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), and PSRAM.
  • microprocessor and “digital processor” are meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., FPGAs), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, and application-specific integrated circuits (ASICs).
  • DSPs digital signal processors
  • RISC reduced instruction set computers
  • CISC general-purpose processors
  • microprocessors e.g., FPGAs), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, and application-specific integrated circuits (ASICs).
  • DSPs digital signal processors
  • RISC reduced instruction set computers
  • CISC general-purpose processors
  • microprocessors gate arrays (e.g., FPGAs), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocess
  • MSO multiple systems operator
  • multiple systems operator refer to a cable, satellite, or terrestrial network provider having infrastructure required to deliver services including programming and data over those mediums.
  • network and “bearer network” refer generally to any type of telecommunications or data network including, without limitation, hybrid fiber coax (HFC) networks, satellite networks, telco networks, and data networks (including MANs, WANs, LANs, WLANs, internets, and intranets).
  • HFC hybrid fiber coax
  • Such networks or portions thereof may utilize any one or more different topologies (e.g., ring, bus, star, loop, etc.), transmission media (e.g., wired/RF cable, RF wireless, millimeter wave, optical, etc.) and/or communications or networking protocols (e.g., SONET, DOC SIS, IEEE Std. 802.3, ATM, X.25, Frame Relay, 3GPP, 3GPP2, WAP, SIP, UDP, FTP, RTP/RTCP, H.323, etc.).
  • HFC hybrid fiber coax
  • satellite networks e.g., satellite networks, telco networks, and data networks (including MANs,
  • the term “network interface” refers to any signal or data interface with a component or network including, without limitation, those of the FireWire (e.g., FW400, FW800, etc.), USB (e.g., USB2), Ethernet (e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Coaxsys (e.g., TVnetTM), radio frequency tuner (e.g., in-band or OOB, cable modem, etc.), Wi-Fi (802.11), WiMAX (802.16), Zigbee®, Z-wave, PAN (e.g., 802.15), power line carrier (PLC), or IrDA families.
  • FireWire e.g., FW400, FW800, etc.
  • USB e.g., USB2
  • Ethernet e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.
  • MoCA Coaxsys
  • the term “QAM” refers to modulation schemes used for sending signals over cable networks. Such modulation scheme might use any constellation level (e.g. QPSK, 16-QAM, 64-QAM, 256-QAM, etc.) depending on details of a cable network.
  • a QAM may also refer to a physical channel modulated according to the schemes.
  • server refers to any computerized component, system or entity regardless of form which is adapted to provide data, files, applications, content, or other services to one or more other devices or entities on a computer network.
  • storage refers to without limitation computer hard drives, DVR device, memory, RAID devices or arrays, optical media (e.g., CD-ROMs, Laserdiscs, Blu-Ray, etc.), or any other devices or media capable of storing content or other information.
  • wireless means any wireless signal, data, communication, or other interface including without limitation Wi-Fi, Bluetooth, 3G (3GPP/3GPP2), HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, Zigbee®, Z-wave, narrowband/FDMA, OFDM, PCS/DCS, LTE/LTE-A, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, and infrared (i.e., IrDA).
  • a media client that records streaming media content from a Content Delivery Network (CDN) in portions or “chunks”, and generates and/or stores a stream manifest file, is disclosed.
  • portions (or chunks) of live media content streams are compressed and stored for later playback as discrete content elements, rather than requiring the complete content stream to be compressed and stored as a whole.
  • the media client can record unbound streams (e.g., live video content, etc.). Recording in a “chunked” manner is generally more robust than traditional content recording schemes; interruptions and/or corrupted chunks can be easily corrected, skipped, and/or replaced at a later point without interfering with the decoding of other chunks. Moreover, during replay, a corrupted or missing chunk will not adversely affect the replay of other chunks.
  • a media client that replays stored “chunked” media content based on a stream manifest file.
  • stored video content streams chunks are decompressed for playback based on information stored within an associated data structure (e.g., stream manifest file).
  • information stored within the manifest file may include e.g., encryption keys, supported resolutions, and digital rights information.
  • the video client may be further configured to retrieve additional data to augment the stored chunked video content.
  • a video client with a high resolution (e.g., 1920 ⁇ 1080) display may consult the stream manifest file for missing and/or replacement chunks, when attempting to replay a previously recorded lower resolution recording (e.g., 640 ⁇ 480). By downloading the appropriate chunks, the video client can support the desired high resolution.
  • a video client may dynamically insert and replace outdated or previously viewed advertisements during each subsequent playback; by tracking and updating advertisements, the service provider can realize commercial opportunities which were previously not possible.
  • enabling and/or disabling functions with respect to playback of the requested content e.g., entitlement based authentication and/or authorization schemes, etc.
  • providing content quality upgrades e.g., providing targeted or tailored advertisements and/or programming, etc.
  • content protection schemes may be advantageously deployed at e.g., the gateway, the client device, and/or one or more network entities, consistent with the various aspects disclosed herein.
  • HFC hybrid fiber coax
  • MSO multiple systems operator
  • IP delivery capability IP delivery capability
  • CPE IP delivery capability
  • client devices/CPE client devices/CPE
  • the general principles and advantages of the disclosure may be extended to other types of networks and architectures that are configured to deliver digital media data (e.g., text, video, and/or audio).
  • Such other networks or architectures may be broadband, narrowband, wired or wireless, or otherwise.
  • content is provided from one or more content sources via one or more distribution servers to customer premises equipment (CPE).
  • CPE customer premises equipment
  • the distribution server(s), VOD servers and CPE(s) are connected via a bearer (e.g., HFC or satellite) network.
  • a network headend (including various ones of the components listed above) may also be connected through a gateway or other such interface to unmanaged external internetworks such as the Internet.
  • the CPE as discussed herein includes any equipment in the “customers' premises” (or other locations, whether local or remote to the distribution server) that can be accessed by a network side entity such as a distribution server.
  • the CPE may include IP-enabled CPE, and a gateway or specially configured modem (e.g., DOCSIS cable or satellite modem).
  • a typical headend architecture may include a billing module, subscriber management system (SMS) and CPE configuration management module, cable-modem termination system (CMTS) and OOB system, as well as LAN(s) placing the various components in data communication with one another.
  • SMS subscriber management system
  • CPE configuration management module
  • CMTS cable-modem termination system
  • OOB OOB system
  • the exemplary headend architecture further includes a multiplexer-encrypter-modulator (MEM) coupled to the network and adapted to process or condition content for transmission over the network.
  • MEM multiplexer-encrypter-modulator
  • Distribution servers coupled to the LAN
  • Distribution servers may access the MEM and network via one or more file servers.
  • Information is carried across multiple channels, thus, the headend is adapted to acquire the information for the carried channels from various sources.
  • the channels being delivered from the headend to the CPE (“downstream”) are multiplexed together in the headend and sent to neighborhood hubs via a variety of interposed network components.
  • OCAP 1.0 (and subsequent) specification provides for exemplary networking protocols both downstream and upstream, although the disclosure is in no way limited to these exemplary approaches.
  • An optical transport ring is also commonly utilized to distribute the dense wave-division multiplexed (DWDM) optical signals to each hub within the network in an efficient fashion.
  • DWDM dense wave-division multiplexed
  • BSA broadcast switched architecture
  • SDV switched digital video
  • the headend contains switched broadcast control and media path functions which cooperate to control and feed, respectively, downstream or edge switching devices at the hub site which are used to selectively switch broadcast streams to various service groups.
  • a BSA or SDV server is also disposed at the hub site, and implements functions related to switching and bandwidth conservation (in conjunction with a management entity at the headend).
  • FIG. 1 an exemplary network architecture for providing optimized delivery of packetized content is shown.
  • the system of FIG. 1 also delivers Internet data services using the Internet protocol (IP), although other protocols and transport mechanisms of the type well known in the digital communication art may be substituted.
  • IP Internet protocol
  • the network 100 could for example include an optical fiber network of the type known in the art using dense wave-division multiplexing (DWDM), Synchronous Optical Network (SONET) transport technology or gigabit Ethernet transport.
  • DWDM dense wave-division multiplexing
  • SONET Synchronous Optical Network
  • gigabit Ethernet transport gigabit Ethernet transport.
  • MPEG-based video content is delivered, with the video transported to user PCs (or IP-based CPE) over the relevant transport (e.g., DOCSIS channels) comprising MPEG (or other video codec such as H.264 or AVC) over IP over MPEG.
  • transport e.g., DOCSIS channels
  • MPEG or other video codec such as H.264 or AVC
  • MPTS multiplexed multi-program transport stream
  • QAMs to the user's PC or other IP-enabled device via the user's cable modem. Delivery in such packetized modes may be unicast, multicast, or broadcast. Delivery of the IP-encapsulated data may also occur over the non-DOCSIS QAMs. Aggregation of television programs that include local and regional programming, or other types of content, occurs at the headend, where these programs are converted into a suitable transport format and a “channel line-up” is created for delivery to the downstream CPE.
  • the CPE of the exemplary embodiment are each configured to monitor the particular assigned RF channel (such as via a port or socket ID/address, or other such mechanism) for IP packets intended for the subscriber premises/address that they serve.
  • the “packet optimized” delivery network is used for carriage of the packet content (e.g., IPTV content) when the request issues from an MSO network.
  • IPMS IP Multimedia Subsystem
  • SDP common control plane and service delivery platform
  • Such a network provides significant enhancements in terms of common control of different services, implementation and management of content delivery sessions according to unicast or multicast models, quality-of-service (QoS) for IP-packetized content streams, service blending and “mashup”, etc.; however, it is appreciated that the various features of the present disclosure are in no way limited to any of the foregoing architectures.
  • QoS quality-of-service
  • the IP packets associated with Internet services are received by edge switch, and forwarded to the cable modem termination system (CMTS).
  • CMTS cable modem termination system
  • the CMTS examines the packets, and forwards packets intended for the local network to the edge switch. Other packets are discarded or routed to another component.
  • the edge switch forwards the packets receive from the CMTS to the QAM modulator, which transmits the packets on one or more physical (QAM-modulated RF) channels to the CPE.
  • the IP packets are typically transmitted on RF channels that are different than the RF channels used for the broadcast video and audio programming, although this is not a requirement.
  • the CPE are each configured to monitor the particular assigned RF channel (such as via a port or socket ID/address, or other such mechanism) for IP packets intended for the subscriber premises/address that they serve.
  • FIG. 2 an exemplary configuration of a packet-switched network useful with the present disclosure is illustrated. While described in the context of an Internet Protocol Television (IPTV) network, it will be recognized that the principles of the disclosure can be extended to other transport modalities and network paradigms.
  • IPTV Internet Protocol Television
  • the network 200 of FIG. 2 effectively operates logically “along side” the in-band content delivery system described with respect to FIG. 1 , and shares many common elements. It includes digital satellite receivers 202 , analog satellite receivers 204 and off-air receivers 206 deployed within the content (e.g., cable) network in order to receive content such as broadcast television programs. This content is then distributed over the cable network. With respect to the IPTV network, the digital satellite feed received via the receiver 202 is sent to a video multiplexer 210 that provides one or more digital programs to one or more video encoders 218 to transcode/transrate or otherwise process incoming digital video streams to a format suitable for loading onto the video streaming server.
  • content e.g., cable
  • the digital satellite feed received via the receiver 202 is sent to a video multiplexer 210 that provides one or more digital programs to one or more video encoders 218 to transcode/transrate or otherwise process incoming digital video streams to a format suitable for loading onto the video streaming server.
  • the encoders 218 may be further utilized to generate a plurality of content chunks from a live IP content stream.
  • the chunks may be of predetermined length.
  • metadata describing the chunks may be generated at the encoders 218 .
  • the file chunks form the basis for the generation of a network stream manifest file.
  • the network stream manifest is generated at the video streaming server 222 . It is appreciated, however, that the foregoing functionality may be accomplished at various other network entities, the foregoing being merely exemplary.
  • the video streaming server 222 is connected to the Content Distribution Network 216 (which in the context of a cable network, may include, inter alfa, the coaxial “drop” between the CPE and the previously referenced CMTS).
  • Content Distribution Network 216 which in the context of a cable network, may include, inter alfa, the coaxial “drop” between the CPE and the previously referenced CMTS.
  • Other architectural elements connected to the content distribution network 216 are shown as “other related servers” 224 in FIG. 2 .
  • Client devices 220 (such as PCs connected to cable modems, wireless user devices in communication with access points (APs) or gateways, etc.) are connected to the content distribution network and perform the functions of, inter alfa, decoding and displaying video signals.
  • APs access points
  • Various content sources provide content to a content server (which may include the video streaming server 222 or other related servers 224 ) for delivery via the network to the CPE 220 .
  • content may be received from a local, regional, or network content library as discussed in co-owned co-pending U.S. application Ser. No. 12/841,906 filed on Jul. 22, 2010 and entitled “APPARATUS AND METHODS FOR PACKETIZED CONTENT DELIVERY OVER A BANDWIDTH-EFFICIENT NETWORK”, which is incorporated herein by reference in its entirety.
  • content may be received from linear analog or digital feeds, as well as third party content sources.
  • Internet content sources (such as e.g., a web server) provide internet content to a packetized content server.
  • IP content may also be received at the packetized content server, such as voice over IP (VoIP) and/or IPTV content.
  • VoIP voice over IP
  • Content may also be received from subscriber and non-subscriber devices (e.g., a PC or smartphone-originated user made video).
  • subscriber and non-subscriber devices e.g., a PC or smartphone-originated user made video.
  • the functionality of both the content server and packetized content server may be integrated into a single headend server entity.
  • an architecture similar to that disclosed in the co-owned, co-pending U.S. patent application Ser. No. 13/213,817 filed on Aug. 19, 2011 and entitled “APPARATUS AND METHODS FOR REDUCED SWITCHING DELAYS IN A CONTENT DISTRIBUTION NETWORK”, which is incorporated herein by reference in its entirety, may be utilized.
  • a central media server located in the headend may be used as an installed backup to the hub media servers as (i) the primary source for lower demand services, and (ii) as the source of the real time, centrally encoded programs with PVR (personal video recorder) capabilities.
  • each user has access to several server ports located on at least two servers. Multiple paths and channels are available for content and data distribution to each user, assuring high system reliability and enhanced asset availability. Substantial cost benefits are derived from the reduced need for a large content distribution network, and the reduced storage capacity requirements for hub servers (by virtue of the hub servers having to store and distribute less content).
  • one server configuration or architecture may be used for servicing cable, satellite, HFCu, etc. subscriber CPE-based session requests, while a different configuration or architecture may be used for servicing mobile client requests.
  • the content servers can either be single-purpose/dedicated (e.g., where a given server is dedicated only to servicing certain types of requests), or alternatively multi-purpose (e.g., where a given server is capable of servicing requests from multiple different sources).
  • both IP data content and IP-packetized audio/video content are delivered to a user via one or more universal edge QAM devices.
  • all of the content is delivered on DOCSIS channels, which are received by a premises gateway (not shown) and distributed to one or more CPE 220 in communication therewith.
  • the CPE 220 may be configured to receive IP content directly without need of the gateway or other intermediary.
  • audio/video content may also be provided in downstream (in-band) channels as discussed above; i.e., via traditional “video” in-band QAMs.
  • a co-enabled digital set top box (DSTB) or other CPE could readily tune to the new (in-band) RF video QAM in the event that their IP session over the DOCSIS QAM is for some reason interrupted. This may even be accomplished via appropriate logic within the CPE (e.g., autonomously, or based on signaling received from the headend or other upstream entity, or even at direction of a user in the premises; e.g., by selecting an appropriate DSTB or other CPE function).
  • the video encoders 218 shown in FIG. 2 may be configured to produce one or more bit streams for the same content.
  • bit streams could have different bit rates as a function of suitability for transmission over the IP network (e.g., low, medium and high bitrate streams for various rate services, such as dial-up, DSL and cable modem IP services, respectively), and/or different encoding formats conforming to audio/video encoding standards such as Real or MPEG or Windows Media Player (WMP).
  • WMP Windows Media Player
  • elements in both the headend and CPE 220 are specially adapted to utilize transmission infrastructure to transmit and receive both multiplexed wideband content and legacy content as is described in co-owned, co-pending U.S. Patent Application Ser. No. 11/013,671 filed on Dec. 15, 2004 and entitled “METHODS AND APPARATUS FOR WIDEBAND DISTRIBUTION OF CONTENT”, which is incorporated by referenced herein in its entirety.
  • the CPE 220 or gateway may be configured to contain multiple tuners (or a single wide-band tuner) which allow the device to receive the signals from all of the relevant physical carriers simultaneously.
  • the carriers are demodulated, and channel-based decryption and basic demultiplexing (recombination) is performed. If multiplexed, the streams are then delivered to a transport demultiplexer which demultiplexes all of the streams resident within the statistical multiplex.
  • IP simulcast content and existing on-demand, voice, and broadcast content are all provided to a headend switch device (not shown).
  • the headend switch then provides the content to the optical ring for provision to one or more distribution hubs.
  • IP simulcast content is in one exemplary implementation retrieved from a plurality of content sources at an IPTV server.
  • the IP-packet content is transmitted to subscriber devices via the universal edge QAM and the edge network.
  • the IP video (“simulcast”) content is presented to client devices capable of receiving content over the DOCSIS QAMs.
  • the aforementioned gateway device (as well as an advanced CPE such as an IP-enabled device may receive the IP simulcast.
  • Legacy CPE i.e., non-IP enabled devices may receive content via the gateway device, or via an audio/video “back-up” MPEG transport stream.
  • WiMAX Worldwide Interoperability for Microwave Access
  • PMD Non-legacy CPE
  • WiMAX distribution hub of the type now ubiquitous in the wireless arts.
  • WiMAX is a wireless technology that provides high-throughput broadband connections over longer distances (as compared to short-range technologies such as WLAN, Bluetooth or PAN). WiMAX can be used for a number of applications, including “last mile” broadband connections, cellular backhaul, hotspot coverage, and high-speed enterprise connectivity, as well as broadband delivery to mobile devices.
  • WiMAX technology may be used in conjunction with a WiMAX-enabled gateway (not shown) or CPE, such that content is delivered wirelessly to the gateway or CPE from the distribution hub, irrespective of the indigenous wired or optical distribution network infrastructure.
  • the content is received at the CPE 220 in the form of the previously described content chunks.
  • the metadata relating to the chunks, and/or the network stream manifest are used to generate a local stream manifest at the CPE.
  • the gateway device serves as a gateway to the IP content for other client devices (such as other CPE and PMD).
  • the gateway device may communicate with one or more connected CPE, as well as utilize Wi-Fi capabilities (where so equipped) to communicate wirelessly to other devices.
  • Wi-Fi capabilities where so equipped
  • the present disclosure may be configured with one or more short-range wireless links such as Bluetooth for lower bandwidth applications (or UWB/PAN for greater bandwidth applications).
  • content received at a first user CPE 220 may be transmitted to CPE 220 of other premises in a peer-to-peer (P2P) fashion.
  • first content may be requested and received at a first CPE 220 .
  • second CPE 220 in the same region or division
  • the request may be examined by a headend entity (not shown), or the gateway acting as a peer proxy, to determine that the requesting second device CPE 220 is entitled to receive the content and that the content is available at the first CPE 220 .
  • the headend entity directs a peer-to-peer communication to be established between the authorized second CPE 220 and the CPE 220 having the requested content.
  • these P2P methods and apparatus also advantageously improve the “robustness” or capability of the network with respect to ensuring that subscribers or other users can receive and access desired content when they want, as well as seamlessly repairing or reconstituting damaged or missed portions of that content (including even an entire streamed program, broadcast or download).
  • the delivery of content may include delivery from an “off-net” distribution hub (not shown) to another network (not shown), not associated with the MSO.
  • a requesting device such as CPE or gateway
  • various embodiments of the present disclosure are directed to schemes for: (i) recording streaming media content in a network via one or more data structures (e.g., stream manifest file(s)), and (ii) subsequent media content reconstruction from the data structure(s).
  • data structures e.g., stream manifest file(s)
  • FIG. 3 one embodiment of a method 300 for recording streaming media content in a local device via a data structure such as stream manifest file is disclosed.
  • the media client device receives a network stream manifest (also referred to as a “playlist”) from the service provider.
  • the media client device is a portable device.
  • portable devices include, without limitation, tablets, phablets, smart phones, smart televisions (TVs), desktop and laptop personal computers (PC), and portable media players.
  • the media client device may comprise a file server; file servers are common in both commercial and residential use. For example, a subscriber may have a PC which can play media files, but which also serves his/her other consumer electronics (e.g., smart phone and tablet).
  • the network stream manifest includes metadata, and a listing of media chunk entries.
  • Metadata refers to information used by the media client device to interpret or otherwise manage the media chunks (metadata is also colloquially referred to as “data about data”).
  • metadata include e.g., version information, protocol, file formats, supported codecs, resolution, encryption, temporal information (transmission time, time of presentation, time stamps, etc.), geographic information (restricted locations, locations for presentation, etc.), content type indicia, synchronization information, control data, etc.
  • the metatdata describes the media chunks, and can be used as a reference file when assessing or otherwise making use of the media chunks.
  • the listing of media chunk entries in the manifest comprises a listing of network addresses where the corresponding chunks of media content may be accessed and/or downloaded.
  • each of the media chunk entries may be listed by a Uniform Resource Locator (URL).
  • the entries may be in computing resource “path” format. Computing paths may be either absolute (i.e., the path provides the fully elaborated and unique location of the chunk in a file structure) or relative (i.e., the path provides a relative location of the chunk in a file structure).
  • the entries may be in symbolic format, such that at least a portion of the entry must be further interpreted (i.e., is not human-readable). Common examples of this may include e.g., HyperText Markup Language (HTML) tags, proprietary tags, Java, Javascript, etc.
  • HTML HyperText Markup Language
  • some implementations may substitute or intermingle any of the foregoing techniques to flexibly accommodate various operational models.
  • the service provider or MSO is represented as a single logical entity (a single network domain) represented by a characteristic URL (e.g., www.timewarnercable.com).
  • the service provider may be a conglomeration of multiple logical entities. Multiple logical entities may be useful to further distribute services over various network resources or enable additional features provided by partnered corporations or providers. Common examples of network resources include e.g., broadcast, multicast, video-on-demand, advertisement services, local services, etc.
  • one exemplary stream manifest file may include entries from: www.timewarnercable.com, vod.timewarner.com (video on demand services), www.nhk.jp (3 rd party content), www.adserver.com (3 rd party advertisement services), etc.
  • the media chunk listing may include a listing of URL links which is further punctuated with HTML, tags or Javascript, which is configured to enable advertisement insertion and/or execution of complementary programming.
  • the video client may substitute tailored locally stored advertisements for commercial breaks, rather than e.g., the default broadcasted commercial.
  • the video client may run a Javascript Applet that allows the subscriber to execute a command or otherwise provide feedback (e.g., to order pizza, vote on a reality show, etc.).
  • each media chunk is an encoded (and optionally encrypted) subsection or segment of media content.
  • the media chunks (decrypted if necessary), when decoded and played in the appropriate order, render the original media content.
  • each media chunk represents a portion of video associated with a specific resolution, codec, and time stamp. The media chunks are assembled according to a time stamp sequence.
  • non-time-based segments may be used in the manifest.
  • playback may occur according to the context of the sequence and not because of any implied meaning of the filename, or time stamp value.
  • the true duration of a video segment is based on its contents and its presentation time stamp (PTS), which may not be represented in the manifest.
  • PTS presentation time stamp
  • the sequence of the next file in the manifest is simply what comes next.
  • any schema could be used for the TS files in the manifest, including 1.ts, 2.ts, 3.ts, etc . . . Or A.ts, B.ts, or C.ts.
  • the network stream manifest has a fixed number of content chunk entries which are sequentially ordered. For example, typical playlists consist of ten (10) six-second (6 s) chunks of video content, representing a minute of video. As each chunk is played, a replacement chunk is added (similar to a First-In-First-Out (FIFO) buffer).
  • FIFO First-In-First-Out
  • Other implementations may expand or contract or have non-sequential ordering according to e.g., various network considerations.
  • the network stream manifest may dynamically adjust length based on available servers, available bandwidth, etc.
  • the network stream manifest may have a first section (e.g., for program content), and a second lower priority section for background loading (e.g., for advertisements).
  • the stream manifest may be “striped” or split into portions, each stripe or portion associated with a particular technology or resolution, etc.
  • the device and/or a network entity may generate the manifest in real time; i.e., as the live content is displayed or rendered.
  • the media client device receives one or more content chunks from the service provider, in accordance with a network stream manifest generated and stored at the network.
  • the network stream manifest is used by the network to identify and deliver appropriate content chunks to a requesting device.
  • the one or more content chunks are streamed from a server at the MSO.
  • the streaming may comply with one or more Quality of Service (QoS) guarantees, or have a level of priority over other network traffic.
  • QoS Quality of Service
  • the one or more content chunks are downloaded in a background “best effort” process (i.e., the data is delivered without a guaranteed QoS level or priority).
  • the media client device may identify one or more content chunks which can be ignored. In some cases, the identification may be based on device limitations, subscriber preferences, business practice, etc. For example, the media client device may only support one video resolution, one codec, etc. Hence, content chunks for other resolutions or codecs are not displayed and/or not stored (as will be discussed below). In other examples, the media client device may identify content which was previously stored (e.g., a commercial, etc.) and would be duplicated if stored again. In this instance, the device ignores or fails to display and/or store those chunks. In yet another example, the multiple audio encoding that typically is carried with the same video stream, e.g., AC3 and/or Dolby audio streams is separated into separate files. The client player may then only download the appropriate audio codec needed.
  • the media client device may identify one or more content chunks which can be ignored. In some cases, the identification may be based on device limitations, subscriber preferences, business practice, etc. For example, the media client device
  • the network stream playlist is encrypted and/or has a limited distribution (i.e., is unicast to a specific subscriber or multicast to a group of subscribers, as opposed to broadcast).
  • Encryption can be of a symmetric or asymmetric key nature. Symmetric key architectures use the same key for encryption and decryption; asymmetric key architectures (e.g., private/public keys) are different for encryption and decryption.
  • access restrictions may be used for purposes other than surreptitious access.
  • access restrictions may ensure that certain types of content are not viewable on certain devices (so-called “viewer control chip (V-chip)” implementations).
  • V-chip viewer control chip
  • a viewer may be required to use a password and/or affirmatively elect to access certain types of content (e.g., the content may be required to provide a click-through-to-continue access restriction, etc.).
  • Still other embodiments may modify playback; for example, a home version of content may be stripped of advertisements whereas the versions for portable playback on the subscriber's devices still require ad insertion.
  • a parent may effectively limit the usage of a device by restricting playback length (e.g., to enable parents to enforce “TV time” limits), or by restricting the number of playbacks.
  • the playback limitations can be tracked with a central monitor software, thereby preventing e.g., a child from avoiding playback restrictions by switching between different devices.
  • DRM Digital Rights Management
  • CA conditional access
  • TD trusted domain
  • MSO managed content distribution network
  • MSO manages the rights and restrictions of the content outside of a premises, and in a data center or headend, by providing requested content to a gateway device within the premises.
  • the content is, in the exemplary embodiment, provided in a first encryption format and encoded using a first codec, both of which are compatible with the gateway device.
  • the gateway is configured to transcrypt the content into an encryption format, and transcode using a codec, that are each compatible with a device which requests the content therefrom.
  • the content is received at the gateway as MPEG-2 content encrypted using Powerkey conditional access (CA) technology.
  • CA Powerkey conditional access
  • the gateway uses its associated CableCard to decrypt the content, and a transcoder entity to transcode the content to e.g., MEPG-4 (or other appropriate format).
  • the content is then re-encrypted to DRM using a content key obtained from a DRM server and a transcrypter of the gateway.
  • This approach advantageously preserves content rights, and asserts restrictions on use or distribution of content, via the user's premises gateway.
  • the exemplary gateway apparatus then transmits the content to a requesting client device (e.g., CPE).
  • a requesting client device e.g., CPE
  • the CPE must in the exemplary configuration use the same content key to decrypt the content as was used by the gateway when the content was transcrypted. Therefore, the gateway and devices in communication with the gateway (and which would presumably request content therefrom) are established to use the same DRM client.
  • content is transferred from a DVR to other portable devices in communication therewith.
  • the DVR receives content in a first format and encryption scheme, and transcodes and/or transcrypts the content to a format and scheme with which requesting devices are compatible.
  • the requirement for transcryption is removed by using the same DRM algorithm to protect content on both the DVR and the requesting devices.
  • the DVR and the requesting devices each use the same DRM client to request a DRM license from a DRM server.
  • Using the same algorithm for both client applications advantageously enables the MSO to control and change usage rights and restrictions at any time up through content playback, and regardless of any transfer of the content between devices (i.e., between the gateway and/or DVR and the requesting devices in communication therewith).
  • a network architecture that provides for enhanced conditional access (CA), trusted domain (TD), and digital rights management (DRM) capabilities may be utilized.
  • This network architecture comprises apparatus useful at, inter alia, the head-end or distribution hub of a cable network, for implementing a download paradigm for legacy or newly developed CA, TD, and DRM software and cryptographic protection schemes. This allows the network operator, and even the third party content provider by proxy, to exert additional control on viewing, reproduction, and migration of content distributed over the network.
  • these enhanced capabilities comprise downloadable software modules (images), and an associated decryption key that facilitates decryption of the downloaded software images.
  • images downloadable software modules
  • decryption key that facilitates decryption of the downloaded software images.
  • the exemplary embodiments of the present disclosure allow for the download of secure software images, which may be used to, inter alia, ensure security of the downloaded images and also migrate protected content to other platforms in the user or client domain so as to extend the “trusted domain”.
  • this architecture provides for securing of the CA, TD, and DRM Client software as opposed to merely the delivered content.
  • the software of the present disclosure is never rendered in an unprotected form or otherwise made accessible. This is of particular significance from the standpoint that protection of the software is typically of much greater commercial interest and value to the network operator than the content itself. Stated differently, not only is the delivered content highly secure, but also the mechanisms used to control and access the content within the user domain.
  • the apparatus and methods discussed in co-owned and co-pending U.S. patent application Ser. No. 13/721,154, filed on Dec. 20, 2012 and entitled “SYSTEM AND METHOD FOR MANAGING ENTITLEMENTS TO DATA OVER A NETWORK”, which is incorporated by reference in its entirety, may be utilized to e.g., determine whether a subscriber is entitled to access content via an IP network. In one embodiment, the determination is based on the subscriber's entitlement to receive the same content, related content or other content from a multi-channel video programming distributor without disclosing proprietary subscriber information. As further discussed therein, a subscriber or user device operated by a subscriber generates a request for access to a requested content residing on a content access provider server.
  • the subscriber has an account with a multi-channel video program distributor (MVPD) and the account comprises subscription information indicative of the services provided by the MVPD to the subscriber.
  • MVPD multi-channel video program distributor
  • the content request is received by the content access provider and forwarded to an entitlements server.
  • the entitlements server determines whether the subscriber is entitled to receive the requested content based on the subscription information, and sends an access granted message to the content access provider server when the subscriber is entitled to receive the requested content.
  • restrictions include restrictions based on: subscriber account considerations, programming considerations, device limitations, and temporal and/or geographic limitations.
  • the video client verifies that a subscriber is allowed to record the content (based on their subscriber account permissions) before allowing access to the video content for local storage on the portable device.
  • the media client may prioritize content chunk download according to e.g., network traffic, bandwidth limitations, and/or content type. For example, where download speeds are particularly bad, the media client may focus on downloading content chunks (rather than advertising chunks or other content chunks). During playback, the ignored commercials can be replaced with previously stored commercials, thereby ensuring that customer experience remains high. In very extreme cases, the media client may even throttle down to lower resolution chunks (which are smaller, and thus require less time to download).
  • the media client device stores each content chunk in a local memory (step 306 of the method 300 ).
  • the storage in local memory is relatively short term, with chucks being removed and replaced with newer chunks as the content is displayed and permanent storage occurring at e.g., a network entity.
  • a network level personal content server such as that disclosed in co-owned, co-pending U.S. patent application Ser. No. 13/888,224 filed on May 6, 2013 and entitled “PERSONAL CONTENT SERVER APPARATUS AND METHODS”, which is incorporated herein by reference in its entirety, may be utilized.
  • a personal content server located, e.g., at the head-end of the bearer network; this server distributes content to the remote requesting location(s), thereby eliminating repetitious traffic to and from subscriber's premises to fulfill the requests for remote content delivery.
  • information relating to the requesting subscriber's prior activity for the requested content is used as a basis for authorizing delivery of the remote content.
  • a remote content manager may determine whether the requested program was previously stored on the subscriber's DVR attached to the local network; such as in the aforementioned temporary storage or in a permanent storage associated with the requesting client device. This information is gathered by either querying the DVR or by querying a process at the head-end for the program titles stored on the DVR.
  • the personal media management server when the subscriber wishing to access content (e.g., watch a program) from a location outside the bearer network does not have a DVR on his premises, the personal media management server communicates with either a “network DVR” or a “virtual DVR” maintained for the subscriber at the head-end or other location outside of the subscriber premises in order to determine remote access privileges.
  • a network DVR or a “virtual DVR” maintained for the subscriber at the head-end or other location outside of the subscriber premises in order to determine remote access privileges.
  • the media client device generates a local stream manifest, the local stream manifest identifies the location (in local memory or at a network server) of each content chunk.
  • the media client device renders the content from a network buffer or server.
  • the manifest identifies a location at the network where the content may be accessed.
  • the media client device stores the content to local memory and renders the content from the local memory (step 310 ).
  • the media client manages multiple different memory technologies and storage locations based on intended use.
  • Common memory technologies include e.g., hard disk drives (HDD) which offer long term storage, and volatile memory (random access memory (RAM), FLASH, etc.) for short term storage and fast access.
  • HDD hard disk drives
  • RAM random access memory
  • FLASH FLASH
  • a small portable media device may store the chunks entirely within RAM
  • a desktop server may store the chunks in a redundant array of inexpensive disks (RAID) array.
  • RAID redundant array of inexpensive disks
  • the local stream manifest includes metadata and a listing of media chunk entries.
  • the local stream manifest may incorporate URL, path, or symbolic entries, or any combination of the foregoing, as discussed above.
  • the local stream manifest may include access information (encryption keys, entitlement restrictions, etc.).
  • the local content manifest is sequentially ordered and organized according to content.
  • a typical playlist is associated with a subscriber generated content descriptor and/or a default content descriptor.
  • subscriber generated content descriptors include e.g., titles (e.g., “Super Bowl 2014”), tags (e.g., “football”, “2014”, “Seahawks”, “Broncos”, etc.), etc.
  • tags e.g., “football”, “2014”, “Seahawks”, “Broncos”, etc.
  • Common examples of default content descriptors include e.g., titles, tags, recording information (e.g., “Channel 12”, “8:30:00-9:00:00”, etc.), such as that supplied by a content source, and/or crowd sourced references (“#SuperBowl”), etc.
  • FIG. 4 illustrates one embodiment of a method 400 for reconstructing media content in a local device with a stream manifest file.
  • the media client device retrieves a local stream manifest from local storage.
  • the media client device provides a graphical user interface (GUI), enabling the subscriber to select media content based on a subscriber-generated content descriptor and/or a default content descriptor. For example, in one case the subscriber provides a previous title (e.g., “Super Bowl 2014”); the corresponding playlist is identified and retrieved.
  • GUI graphical user interface
  • the subscriber may perform a search (e.g., for “football”), a listing of playlists which correspond to the search term are displayed. The subscriber can select from the displayed list of playlists and the stream manifest for the selected playlist is retrieved.
  • a search e.g., for “football”
  • the media client device automatically selects content based on pre-defined selection criteria.
  • the media client device may record a number of programs according to a pre-arranged schedule (e.g., the subscriber's favorite shows), and when the subscriber is ready to view the content, the media client device cycles through the recorded programs without requiring further user input.
  • a pre-arranged schedule e.g., the subscriber's favorite shows
  • the methods and apparatus disclosed in co-owned, co-pending U.S. patent application Ser. No. 12/414,554 filed on Mar. 30, 2009 and entitled “PERSONAL MEDIA CHANNEL APPARATUS AND METHODS”, which is incorporated herein by reference in its entirety, may be utilized. According to this variant, “fused” targeted content delivery is provided.
  • a substantially user-friendly mechanism for viewing content compiled from various sources including, inter alfa, DVR, broadcast, VOD, Start Over, etc., and particularly that content selected to align with a user's preferences, is displayed as a substantially continuous stream as part of a “virtual” user-based channel.
  • a user profile is constructed and targeted content gathered without requiring any user intervention whatsoever; e.g., based on a user's past or contemporaneous interactions with respect to particular types of content, as discussed in co-owned, co-pending U.S. patent application Ser. No. 12/414,576 filed on Mar. 30, 2009 and entitled “RECOMMENDATION ENGINE APPARATUS AND METHODS”, which is also incorporated herein by reference in its entirety.
  • the “virtual channel” acts as a centralized interface for the user and their content selections and preferences, as if the content relevant to a given user were in fact streamed over one program channel.
  • the compiled content is presented to the user in the form of a “playlist” from which a user may select desired content for viewing.
  • a user is also presented with content having varying degrees or aspects of similarity to that presented in the “playlist” or elsewhere, which is selected using e.g., the previously referenced recommendation engine.
  • an improved electronic program guide (EPG) is provided.
  • the EPG gives a user the ability to view broadcast content across a broad timeline (i.e., content previously aired, as well as that which is currently airing and that which will air in the future).
  • the EPG may incorporate various functions including allowing a user to start over, record, watch, receive more information about, catch up with, and rate the content of interest.
  • the EPG also includes a function wherein a user may view an entire day's programming from one or more program channels.
  • the user may also pull up recommended content from the EPG and can, in one embodiment, view a customized EPG showing a schedule solely comprised of recommended content.
  • client applications e.g., those disposed on a subscriber's CPE and/or network servers
  • client applications are utilized to compile the playlist based on user-imputed as well as pre-programmed user profiles.
  • Various feedback mechanisms may also be utilized to enable the client application to “learn” from the user's activities in order to update the user profile and generate more finely-tuned and cogent recommendations.
  • Client applications may also be utilized to manage the seamless presentation of content on the virtual channel, and locate/flag various scenes inside selected content for user viewing or editing.
  • the device may fetch advertising from local memory while filling its buffer of currently playing network programming (which may or may not be recorded and stored at the device and/or network); in other words, the device or network may pre-store advertisements to “stall” for more time.
  • currently playing network programming which may or may not be recorded and stored at the device and/or network
  • the network server can also instantiate a trusted domain within a premises if one does not already exist in order to secure the transfer of content to devices within the premises as well as between these devices (as discussed elsewhere herein). For example, using a downloadable CA (DCAS) approach, the necessary software and firmware, if any, can be downloaded, thereby enabling designation of the requesting device as within a trusted domain for handling content.
  • DCAS downloadable CA
  • Exemplary trusted domain apparatus and methods are described in co-owned and co-pending U.S. patent application Ser. No. 13/674,866 filed on Nov. 12, 2012 and entitled “TECHNIQUE FOR SECURELY COMMUNICATING AND STORING PROGRAMMING MATERIAL IN A TRUSTED DOMAIN”, incorporated herein by reference in its entirety, although it will be recognized that other approaches may be used.
  • an authorized service domain (ASD) approach is utilized for protecting content delivered to the client devices.
  • the exemplary configuration of the ASD comprises a UPnP digital rights management technology that is used by the network operator to protect content using security credentials of a multi-stream cable card or secure microprocessor disposed on the requesting device.
  • An exemplary ASD service (ASDService) defines a service that runs on the content server and is invoked by the device. The ASDService process is defined for exchanging and authenticating security credentials to the requesting device and any connected devices within the ASD.
  • the exemplary ASDService in one embodiment, abides by the UPnP AV Architecture for browsing content, setting up connections, transporting content and finally controlling the flow of the content between devices, although this is by no means a requirement for practicing the present disclosure.
  • the ASDService is a precursor to the UPnP general playback process, and is executed before the requesting device can browse a content directory (e.g., maintained by the content server) or allow playback.
  • the client device verifies to the network that the subscriber is appropriately authenticated and/or authorized to view the selected content.
  • the client device verifies to the network that the subscriber is appropriately authenticated and/or authorized to view the selected content.
  • one exemplary mechanism for doing so is described within the co-owned and co-pending U.S. patent application Ser. No/721,154, filed on Dec. 20, 2012 and entitled “SYSTEM AND METHOD FOR MANAGING ENTITLEMENTS TO DATA OVER A NETWORK””, previously incorporated by reference in its entirety.
  • Common examples of restrictions include restrictions based on: subscriber account considerations (e.g., trial account, premium account, etc.), subscriber age permissions (e.g., R-rated, PG-rated, G-rated, etc.), programming considerations, device limitations, temporal and/or geographic limitations, etc.
  • the video client verifies that a subscriber is allowed to playback the content (based on their subscriber account permissions) before retrieving the media.
  • the media client device retrieves one or more content chunks from a local memory, in accordance with the local stream manifest.
  • the content may be stored separate from the client device, such as at a network entity or edge server.
  • the local stream manifests may be incomplete.
  • a home server may store multiple versions of video content which are optimized or limited for e.g., various device resolutions, codec capabilities, etc.
  • the media client device may select the appropriate one of various manifest entries for an appropriate version based on header information contained in the manifest entry. Where there is no suitable version of the requested content listed in the local manifest, the version is incomplete, or the version is not optimal, the media client device may identify the issue to the subscriber and/or automatically download the necessary content from the service provider.
  • the service provider may have pre-loaded or pre-configured manifest files (e.g., similar to Video-on-Demand (VOD) type services).
  • VOD Video-on-Demand
  • the service provider may provide the bulk file download (i.e., enable the client device to download the entire content), and thereafter the client device can partition the file into media chunks for playback and/or storage either at the device or at a network or edge entity.
  • the network or the client device of the legacy implementation may create the manifest file.
  • the media client device reconstructs a media content stream based at least in part on the retrieved one or more content chunks.
  • reconstruction may further include decrypting the media content stream with a key.
  • the key may be specific to e.g., the content, the device, the subscriber, etc.
  • a trusted domain is established within which content received from a communications network, e.g., a cable TV network, is protected from unauthorized copying.
  • the trusted domain includes a device associated with a user which receives content from the cable TV network.
  • the content may be encrypted using a content key in accordance, e.g., with a 3DES encryption algorithm before it is stored in the device.
  • a first encrypted content key version and a second encrypted content key version are generated by respectively encrypting the content key with a public key associated with the device and another public key associated with the user, in accordance with public key cryptography.
  • the first and second encrypted content key versions are stored in association with the encrypted content in the device storage.
  • the encrypted content can then be migrated from a first device to a second device also associated to the same subscriber.
  • the second device is then able to decrypt the content using the second encrypted content key version.
  • the media client device may identify one or more content chunks which can be ignored (i.e., which will not be displayed). The identification may be based on device limitations, subscriber preferences, business practice, etc. In one example, when a customer has purchased content, the media client device may be provided with an ability to skip commercial breaks, provide content at a higher quality or resolution, etc.
  • a CPE 220 in the context of the present disclosure generally includes a computerized device running an operating system.
  • the CPE 220 includes a processor subsystem 502 , memory subsystem 504 , user interface 506 , display 508 , and one or more network interfaces 510
  • the CPE 220 may comprise for instance any device capable of requesting, receiving, and/or decoding content, whether for display thereon, or for recording, display, or storage on a device in communication therewith. Exemplary devices include set top boxes, television sets, laptop and desktop computers, smart phones, personal media devices (PMD), tablets, netbooks, etc.
  • the CPE 220 may, in one embodiment, be registered to a single physical location (such as a subscriber premises), and make use of a digital rights management (DRM) content protection scheme to comply with limitations on certain content, or provide authorization credentials with respect to protected content.
  • DRM digital rights management
  • the memory system 504 includes one or more non-transitory computer readable media configured to store one or more computer readable instructions and media content.
  • memory systems include without limitation: hard disk drives (HDD), solid state drives (SSDs), random access memory (RAM), dynamic RAM (DRAM), synchronous RAM (SRAM), FLASH, electronically erasable programmable read only memory (EEPROM), etc.
  • the processor 502 of the exemplary CPE 220 is configured execute one or more computer programs stored within the memory system 504 . At least a portion of the one or more computer programs are configured to implement the above-disclosed functionalities as discussed above with respect to FIGS. 3 - 4 . It is further appreciated that the computer programs which enable the aforementioned functionality may be pre-installed on the apparatus, or may be downloaded from a network or the service provider.
  • the processor 502 executes one or more computer programs configured to cause the CPE 220 to receive a network stream manifest from a service provider, receive one or more content chunks from the service provider in accordance with the network stream manifest, and for each content chunk, store the content chunk in the memory system 504 . Additionally, the processor executes one or more computer programs configured to cause the CPE 220 to generate a local stream manifest that identifies the location (in the memory system 504 ) of each content chunk.
  • the processor 502 executes one or more computer programs configured to cause the CPE 220 to retrieve a local stream manifest, retrieve one or more content chunks from a local memory, in accordance with the local stream manifest, and reconstruct a media content stream based at least in part on the retrieved one or more content chunks.
  • the reconstructed media content stream is played back e.g., via the display device 508 of the CPE or other rendering apparatus.
  • the user interface 506 of the CPE 220 is configured to accept user input. Most user interfaces 506 are further coupled with a graphical user interface (GUI) program which provides visual feedback via the display 508 .
  • GUI graphical user interface
  • Common examples of user interface components include without limitation: mouse, keyboard, touchscreen, remote control, push buttons, etc.
  • Complex implementations may further incorporate e.g., gestures, voice control, etc.
  • the display 508 refers to any visual display technology as embodied within e.g., a screen, a monitor, projection/projector, or other audio/visual (A/V) panel.
  • display technologies include e.g., light emitting diode (LED), liquid crystal display (LCD), plasma, cathode ray tube (CRT), digital light processing (DLP), organic LED (OLED), field emission display (FED), laser phosphor display (LPD), etc.
  • display 508 may incorporate additional features including e.g., stereoscopic technologies, holographic technologies, etc.
  • the display apparatus may further comprise a mechanism for rendering audio portions of content as well.
  • the one or more network interfaces 510 are configured to enable network connectivity to other devices.
  • the network interface includes a coaxial cable input (e.g., for connection to a cable provider's CDN).
  • Other examples of network interfaces include wired and wireless technologies, such as e.g.,: RJ-LAN connector with Ethernet LAN card, USB ports, IEEE-1394 “Firewire” interface, wireless interface (such as 802.11 LAN card, WiMAX 802.16 interface, 802.15 PAN interface, Bluetooth interface), Zigbee, or Z-wave and so forth.
  • FIG. 6 depicts one embodiment of an exemplary method 600 for recording streaming video content with a stream manifest file, and subsequent video content playback using the stream manifest file.
  • a portable device downloads a network stream manifest.
  • the download occurs in a background process.
  • the network stream manifest may be refreshed periodically (such as once every 30 seconds) for the duration of a program.
  • the download of the network manifest may be triggered by an event (e.g., a subscriber changing programming selection, network “pushed” updates, a conditional event (such as a timer expiration), etc.
  • an event e.g., a subscriber changing programming selection, network “pushed” updates, a conditional event (such as a timer expiration), etc.
  • APPENDIX A hereto is one exemplary network stream manifest (also referred to as an “elementary playlist”) representing HTTP Live Streaming (HLS) content delivered from a CDN network.
  • the network stream manifest contains header information and a sequential listing of the full Internet Protocol (IP) path of the video chunks.
  • IP Internet Protocol
  • the header information includes e.g., version information, duration, starting sequence number, etc.
  • the header information may identify a myriad of useful information e.g., content descriptors, encryption keys, codec, resolution, entitlements, etc.
  • the identified encryption keys may comprise encryption key “references” and not the actual keys to decrypt the content.
  • the manifest signals when the content encryption changes, which then triggers the client player to request this key value from the network, e.g., the DRM.
  • the network stream manifest includes ten (10) path entries; each path entry identifies the appropriate IP path for a corresponding chunk with a six (6) second chunk of video content.
  • the chunk that is to be played at time stamp 99647 can be found at: http://www.timewarnercable.com/video/channel1/20130320T200040-04-99647.ts.
  • the name of the file is merely a convention that may use a time stamp to keep that file from colliding with other file names. The value may have no meaning to the client playback in one embodiment.
  • the alignment of one bitrate manifest may for example be by the MEDIA-SEQUENCE identifier and the sequential relationship of like files in those manifests. In other words, the names do not necessarily have to align.
  • chunks may be ordered in a non-sequential manner so as to enable different resolutions (multiple chunks of different resolutions associated with the same time stamp), background downloads (e.g., chunks for advertisement or other optional content may be interspersed, etc.).
  • chunks may be oddly sized (e.g., six (6) second, twelve (12) second, eighteen (18) second, etc.), or the manifest itself may vary in length (greater or fewer than ten (10) entries), etc.
  • APPENDIX B is the same exemplary network stream manifest thirty (30) seconds later. As shown, the first five (5) entries (time stamps 99647-99651) have been played, and five (5) new entries (time stamps 99657-99662) have been added.
  • the network stream manifest operates similarly to a First-In-First-Out (FIFO) buffer of length ten (10).
  • the portable device downloads one or more incremental chunks of a live video stream according to the network stream manifest (step 604 ), and stores them locally in the device storage (step 606 ).
  • the portable device generates and/or updates an internal stream manifest (step 608 ) which identifies the local storage path associated with each of the incremental chunks.
  • APPENDIX C is one exemplary local stream manifest for time stamps 99647-99656.
  • the chunk that is to be played at time stamp 99647 can be found at: videorecording1/channel1/20130320T200040-04-99647.ts.
  • APPENDIX D is the same exemplary local stream manifest thirty (30) seconds later.
  • the internal stream manifest for the program must track the entirety of the recorded content, and thus accumulates path entries over the duration of recording.
  • applicable entitlements and playback rights are encoded for later use according to a client-based Digital Rights Management (DRM) process executed on the portable device.
  • DRM Digital Rights Management
  • the internal stream manifest is encrypted and encoded with entitlement and digital rights management information, including but not limited to: time before deletion, number of entitled playbacks, valid geographical locations for playback, etc.
  • the subscriber may be further prompted to add subscriber generated content descriptor for the internal stream manifest e.g.,“Super Bowl”, “Channel 1, recorded Aug. 8, 2010, 8:00 PM”, etc.
  • the appropriate internal stream manifest is retrieved (step 612 ).
  • any applicable entitlement restrictions associated with the selected internal stream manifest are evaluated to determine whether playback is allowed. Entitlement restrictions are described in detail within co-owned and co-pending U.S. patent application Ser. No. /721,154, filed on Dec. 20, 2012 and entitled “SYSTEM AND METHOD FOR MANAGING ENTITLEMENTS TO DATA OVER A NETWORK””, previously incorporated by reference in its entirety.
  • the portable device verifies that a subscriber is allowed to view the content (based on their subscriber account permissions) before allowing the media player access to the video content for playback locally on the portable device. Additional safeguards such as maximum life of local storage and periodic network access requirements (e.g., to “refresh” content permissions) may be imposed to verify device entitlement of the video content.
  • the portable device decompresses, decodes, and displays the content associated with each chunk of the content, as specified by the internal stream manifest. Otherwise, where playback is not allowed, the portable device denies the request, possibly with an error message (e.g., “the requested content is restricted”, “the requested content must be purchased”, etc.).
  • an error message e.g., “the requested content is restricted”, “the requested content must be purchased”, etc.
  • the entries of the local stream manifest support a range of different video resolutions.
  • Such an embodiment may be particularly useful for a home server which may support playback over a number of different consumer devices (e.g., a subscriber's tablet, smart phone and High Definition Television (HD TV)).
  • APPENDIX E illustrates one such exemplary “multi-resolution playlist”.
  • the internal stream manifest includes a header which, in the illustrated embodiment, identifies three (3) distinct supported resolutions: 640 ⁇ 480, 720 ⁇ 480, and 1920 ⁇ 1080.
  • Other peripheral information is included (e.g., necessary bandwidth, supported codecs, etc.).
  • Each entry consists of three (3) elementary streams corresponding to the appropriate resolution size to be played at a time stamp as referenced by their elementary stream manifest.
  • the entity functioning as a local content server identifies the appropriate chunk associated with the desired playback resolution as referenced by its elementary stream manifest and provides the chunk to the requesting video client.
  • the entries of the internal or local stream manifest are further optimized or abbreviated for offline access by a specified device having a specified resolution. Since the portable device will not access the video content from the home server or service provider (in real-time), the video client can detect the portable device type and rewrite the variant playlist to restrict the elementary stream for just the profiles that matches the desired quality and viewer experience that is supported by the portable device. Optimization prevents pixilated low quality videos or sluggish decode and down-sampling of an over-coded video.
  • APPENDIX F illustrates one such internal stream manifest which has been optimized for an HD TV. The pruned entries are noted with strike outs. DRM rules for what can be played on-net versus off-net is another example of how these rules may be utilized.
  • the “main” manifest references multiple “elementary” manifest by URL.
  • APPENDIX E the shaded section, represents a “main” manifest of a video stream. It references multiple “elementary” manifest “files” as “01.m3u8”, “02.m3u8” and “03.m3u8”, all by relative path to where the main manifest is located (.i.e: in the same directory of the “main” manifest URL).
  • the video client detects advertisement insertion points within a live video feed and modifies them on the fly when they are stored locally. In some cases, this can be done by inserting tags or identifiable links in the playlist file for advertisement placement during encoding of the live stream.
  • methods and apparatus for identifying, creating and distributing audience or viewer qualities to an advertisement management system and/or an advertisement decision maker such as those discussed in co-owned, co-pending U.S. patent application Ser. No. 12/503,749 filed on Jul. 15, 2009 and entitled “METHODS AND APPARATUS FOR EVALUATING AN AUDIENCE IN A CONTENT-BASED NETWORK”, which is incorporated herein by reference in its entirety, may be utilized.
  • viewership data is provided in real-time (or near-real time), and audience activities regarding, inter alfa, broadcast, VOD, and DVR content are monitored.
  • a content provider may create more targeted advertising campaigns through use of an algorithm that combines advertising placement opportunities with audience qualifiers (i.e., psychographic, geographic, demographic, characteristic, etc. classifications) to create an advertising “inventory” that can be more readily monetized.
  • audience qualifiers i.e., psychographic, geographic, demographic, characteristic, etc. classifications
  • the inventory can be based on historical and/or “real time” data, such that adverting placements can be conducted dynamically based on prevailing audience characteristics or constituency at that time.
  • Identification and insertion of content targeted to a particular audience within a content-based network may be accomplished via the apparatus and methods disclosed in co-owned, co-pending U.S. patent application Ser. No. 12/503,710 on Jul. 15, 2009 and entitled “METHODS AND APPARATUS FOR TARGETED SECONDARY CONTENT INSERTION”, which is incorporated herein by reference in its entirety.
  • content is identified by analyzing audience or viewer qualities (i.e., psychographic, geographic, or demographic, characteristic or classifications) at a particular insertion opportunity using an advertisement management system (and associated advertisement decision maker process).
  • the advertisement management system uses the gathered audience information to correlate particular advertisements or other content thereto.
  • an algorithm is used to analyze audience qualifiers (i.e., attributes of an audience or its behavior), and determine the “proximity” of a given audience (e.g., that currently viewing a program where an impending placement opportunity will occur) to a set of audience qualifiers of a target audience of an advertisement.
  • the placement opportunity can then be optimized for one or more variables (e.g., proximity, revenue, impressions, etc.) by selecting the best fitting advertisement for that opportunity.
  • APPENDIX G one abbreviated exemplary network stream manifest describing content delivered from a CDN network is shown. As shown, at time stamp 99649, a commercial advertisement for snacks has been inserted, and is serviced from www.adserver.com. While the presented example is implemented with a manifest entry, it is readily appreciated that other indicia may be interchanged (e.g., via metadata, etc.) the foregoing example being merely illustrative.
  • the video client identifies the commercial advertisement and (if the advertisement should be stored) stores the advertisement in a separate location e.g., a memory location dedicated for commercials. In some cases, the video client may simply ignore the advertisement and substitute other advertisements. For example, as shown in APPENDIX H, the local manifest has replaced the commercial advertisement for snacks with a commercial advertisement for beverages. Time stamps for inserted commercials may be out of sequence, and do not affect the time stamps of the video content.
  • APPENDIX G and H illustrate exemplary advertisement insertion implementations. Although APPENDIX H illustrates a longer advertisement to be inserted as two “chunks” of 6 seconds each, it is appreciated that actual advertisements may be of various lengths (the foregoing being merely exemplary).
  • advertisement “localization” is one business application of which remains ripe for exploitation. Localization refers to controlling advertisement viewership such that (i) the advertisement is viewed by the appropriate subset of subscribers to whom the advertisement is targeted, and that (ii) uninterested subscribers are shown replacement advertisements which are more likely to entice their interest.
  • the subscriber accounts associated with video clients are known at the network-side servers. These subscriber accounts may be further associated with various demographics of interest (e.g., geography, commercial interests, age groups, etc.).
  • the video client may additionally include an advertisement decision module which: (i) dynamically selects advertisements from locally stored video advertisement clips tailored for the viewer, (ii) tracks advertisement viewing, and possibly (iii) reports advertisement viewing metrics to the service provider. For devices which can possibly track advertisement success (e.g., a subscriber “clicks through” a displayed advertisement), success metrics may also be reported. Advertisement metrics for the population of subscriber devices can have significant impact on contract negotiations (the service provider can easily justify price premiums for known viewership). Moreover, as previously noted, traditional recorded advertisement viewing cannot not be tracked or changed with prior art solutions. The present disclosure advantageously provides a clear means to account for individual views of each advertisement (i.e., the video client can tally each time an advertisement chunk is played).
  • audience data is collected from various data sources, such as inter alia, a device/user data source, an switched digital video (SDV) data source, a subscriber data source, a video on-demand (VOD) data source, an application server (AS) data source, an advertisement data source, and an electronic program guide (EPG) data source.
  • SDV switched digital video
  • VOD video on-demand
  • AS application server
  • EPG electronic program guide
  • Information may also be collected from the use of interactive applications (e.g., “iTV” or similar interactive applications). Collected data is then transmitted to a data collection system, where the records are collected, processed and used to generate files for delivery to a subscriber data analysis (SDA) system, the delivered data is then used for detailed analysis of user preferences, activity, and/or behavior. Reports relating to particular viewership for specific programs as well as for genre, time of day, day of week, etc. may be generated and used for deriving revenue by the MSO.
  • SDA subscriber data analysis
  • audience information is obtained directly from customer's premises equipment (i.e., set top boxes, cable modems, PCs, PMDs, IP devices, etc.), for each individual device, or even on a per-user basis where possible, thereby allowing a content provider or other analytical entity to gather specific information in large quantities across a broad geographical area, or demographic/psychographic slice.
  • customer's premises equipment i.e., set top boxes, cable modems, PCs, PMDs, IP devices, etc.
  • multiple sources of content to which viewership behavior relates can be simultaneously monitored, and subscriber anonymity or privacy maintained (i.e., no use is made of personally identifiable information).
  • statistical methods are used to arrive at an expected value for one or more of the various fields and records of the collected data. Accordingly, it may be detected when received data contains errors. Specifically, collected data is compared to the derived (e.g., average) or expected value, and if the data meets one or more prescribed criteria (e.g., is a given number of standard deviations away from the expected value or more) indicating that the data quality may be unacceptable, an error message is generated and the data optionally excluded.
  • prescribed criteria e.g., is a given number of standard deviations away from the expected value or more
  • the foregoing mechanisms may be further utilized for data collection, validation, and analysis across multiple platforms. That is, data regarding a users interaction with content may be collected and utilized regardless of the device on which the content is received or requested, the source of the content, the type of content (e.g., linear, VOD, DVR, highspeed data, etc.), etc.
  • data regarding a users interaction with content may be collected and utilized regardless of the device on which the content is received or requested, the source of the content, the type of content (e.g., linear, VOD, DVR, highspeed data, etc.), etc.
  • non-two way capable devices can leverage various backhauls (e.g., broadband, DSL/dial-up or “over the top” backhaul) from the target premises to transmit tuning or other useful information to a third party (e.g., third party website).
  • the third party collects the data and sends the data back to the satellite MSO (or caches the data first, and sends it up to the MSO at a later time). Pre-processing or “enrichment” of the data may also be conducted by the third party if desired.
  • latency associated with the data collection may be accounted for via the methods and apparatus disclosed in co-owned, co-pending U.S. patent application Ser. No. 12/944,648 filed on Nov. 11, 2010 and entitled “APPARATUS AND METHODS FOR IDENTIFYING AND CHARACTERIZING LATENCY IN A CONTENT DELIVERY NETWORK”, which is incorporated herein by reference in its entirety.
  • the advertisement decision module may additionally receive/download different advertisements, updated business rules, etc. from the service provider. These targeted advertisements may be selected according to the appropriate subscriber account based on e.g., geography, social network (e.g., friends and family), employment, interest, and/or other demographics. In some cases, these downloads can be performed as a background process so as not to interfere with customer service and experience.
  • a customer could watch network streamed content and purchase the content outright. Once purchased, the local manifest is stripped of advertisement breaks in whole or part (or during playback, the advertisement breaks may be automatically skipped).

Abstract

Apparatus and methods for recording a media stream for use by a rendering device. In one embodiment, a client device records live, unbound streaming media content from a Content Delivery Network (CDN) in “chunks” according to a data structure such as a manifest file. The live media content stream chunks are compressed and stored for later playback. The client device uses information regarding the chunks to generate a local manifest file, which it then uses to reconstruct the media stream. A video client may also dynamically insert and account for updated secondary content (such as advertisements) during each playback instance, thus enabling the service provider to realize commercial opportunities which were previously not possible. Various operational/business rules are also disclosed for e.g., enabling and disabling functions with respect to playback of the content.

Description

    COPYRIGHT
  • A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
  • BACKGROUND 1. Technological Field
  • The present disclosure relates generally to the field of delivery of digital media data (e.g., text, video, and/or audio) over networks, such as an Internet Protocol
  • Television (IPTV) network, or the Internet; and specifically in one aspect to recording streaming media content in a network so as to enable subsequent reconstruction of the media content.
  • 2. Description of Related Technology
  • Existing Digital Video Recorder (DVR) solutions enable a consumer electronics device or application software to record video in a digital format for storage onto computer readable media such as e.g., a disk drive, Universal Serial Bus (USB) flash drive, local or networked mass storage device, etc. Traditionally, the recorded video content is stored in its entirety in a compressed and encoded format. During playback, the recorded file is decompressed and decoded by the video player e.g., of the portable device, set-top box (STB), etc. One common example of a recording file format includes without limitation, MPEG-4 (Motion Picture Experts Group) wrapped H.264 video.
  • Unfortunately, existing recording file formats cannot support certain types of applications. For instance, existing DVR devices cannot record live streaming content. As a brief aside, live streaming videos (also commonly referred to as “Live Internet Protocol (IP) video delivery”) are typically not stored in their entirety on the Content Delivery Network (CDN) due to storage costs and/or the nature of “live” content (the content is generated at time of delivery and may be “unbounded”; i.e., the endpoint is unknown or imprecisely known). Instead, Live IP video delivery from a video server to a video client is based on a sequence of small Hyper Text Transport Protocol (HTTP) based file downloads; each download consists of a small “chunk” of an unbounded transport stream. These chunks are then assembled sequentially by the video client and decoded for playback. Since live video streams are unbounded, the CDN stores just enough chunks at the network to support live playback from the client. For example, a video client might “buffer” ten (10) 6-second chunks (a minute of playback) during normal operation.
  • It is also worth noting that since the video client does not have the content in its entirety, the video client cannot compress the content for local storage (which is necessary for traditional DVR functionality). Moreover, storing the content in its uncompressed form can quickly deplete the memory resources of the video client (especially a small consumer device with limited memory, such as, an iPad™, etc.)
  • Network DVR (NDVR) is one proposed solution for enabling live streaming content DVR functionality for customer devices. In proposed NDVR solutions, the video service provider stores and manages (via e.g., Digital Rights Management (DRM), subscriber account based authorization, etc.) the content for each subscriber account, and streams the video back to the video client during playback requests. Such NDVR solutions require that the video client is connected to the service provider network and has a consistent bandwidth connection that supports quality video playback. Since the video stream is generated and delivered by the service provider network, NDVR cannot support off-network playback or playback where network connectivity is spotty and/or sporadic. Moreover, even though the video storage provider is likely to have significantly more storage capacity, such a solution is inefficient and does not scale well for large subscriber populations and/or live streams.
  • Additionally, recorded video content represents somewhat of a “lost” revenue opportunity for the service provider. Specifically, advertising revenue is typically determined based on the number of “views” of commercial advertisements or promotions.
  • During peak programming (e.g., the Super Bowl, etc.), merchants purchase advertisement space at a premium because it is likely to have significant viewership. However, once video content has been recorded, subsequent viewings of the video content does not result in additional revenue for the service provider. For example, an advertisement for light beer during the Super Bowl is replayed each time the recorded Super Bowl content is replayed, but there is no mechanism to identify such replays, or in any way extract benefit from them (other than perhaps the indirect benefit of the viewer being enticed to buy the product). Ideally, the service provider would be compensated each time the advertisement is replayed, and/or be able to dynamically insert different advertisements (e.g., corn chips, etc.) in subsequent replays. Finally, existing DVR recorded content is static and transferrable once generated.
  • For example, consider typical video client based DVR operation: the video client receives the entirety of the video content which has been formatted according to the video client's resolution (e.g., 640×480). The video content is decrypted, compressed, and encoded into the appropriate file format (e.g., MPEG-4 wrapped H.264). Thereafter, the file can be replayed at a different device, which creates a myriad of problems. First, if the other device has a different resolution (e.g., 1920×1080), the playback will still be limited to the original resolution and will produce undesirable “pixelated” (blocky) low quality video. Second, many DRM protections (authentication, authorization, etc.) are managed by the video client; in some cases, the video client software can be easily circumvented, or is otherwise inadequate to prevent playback in an illicit manner. Piracy is an industry-wide concern, and accounts for billions of dollars of revenue that is lost each year.
  • Based on the foregoing, it is clear that while prior art solutions have generally recognized the benefits of DVR functionality, technical limitations are present which limit the use of DVR and/or adversely affect commercial profitability. Accordingly, a mechanism for recording streaming video content in a manner that enables a video client to reconstruct the content dynamically (rather than merely providing for static playback) is needed. Such mechanisms should preferably be able to accommodate playback on devices other than the device which recorded the content, intelligently account for secondary content (e.g., advertising or promotion) playback, and/or implement appropriate playback restrictions. Lastly, these methods and apparatus would in certain implementations require only minimal changes to existing systems, thereby leveraging the installed infrastructure and electronics bases as much as possible.
  • SUMMARY
  • The present disclosure addresses the foregoing needs by providing, inter alfa, methods and apparatus for recording streaming media content in a network. In one embodiment, the content is recorded using a data structure (e.g., a stream manifest file) so as to enable subsequent reconstruction of the media content from the stream manifest file.
  • In one aspect, a method for recording a live media stream is disclosed. In one embodiment, the method comprises: (i) receiving a network data structure associated with the live media stream, the live media stream generated at a first time within substantial proximity to a second time of reception, (ii) downloading one or more content portions from a service provider based at least in part on the data structure, (iii) generating a local data structure, (iv) storing each of the one or more content portions in a corresponding location in a local memory, and (v) updating the local data structure with the corresponding location of each of the one or more content chunks.
  • In a second aspect, a method for playing a media stream from a local stream manifest is disclosed. In one embodiment, the method comprises: (i) retrieving a local stream manifest associated with the media stream, (ii) retrieving one or more content chunks from a local memory based at least in part on the local stream manifest, and (iii) reconstructing the media stream from the retrieved one or more content chunks based on the local stream manifest.
  • In a third aspect, a consumer premises equipment (CPE) is disclosed. In one embodiment, the CPE comprises: (i) a network interface, configured to communicate with a service provider network, (ii) a user interface, (iii) a processor in data communication with the network interface and user interface, and (iv) a non-transitory computer readable medium comprising one or more instructions, which when executed by the processor, are configured to cause the CPE to: download one or more content chunks from the service provider network in accordance with a network stream manifest, the network stream manifest comprising a dynamically changing manifest configured to deliver live media content comprising the one or more content chunks; generate a local stream manifest based at least in part on the network stream manifest; and store each of the one or more content chunks in a local storage device.
  • In another embodiment, the CPE comprises: a display; a processor; and a non-transitory computer readable medium comprising one or more instructions, which when executed by the processor, are configured to cause the CPE to: (i) retrieve a local stream manifest; (ii) retrieve one or more content chunks from a local memory in accordance with the local stream manifest; (iii) reconstruct a media content stream based at least in part on the retrieved one or more content chunks; and (iv) display the media content stream.
  • In a fifth aspect, a non-transitory computer readable medium is disclosed. In one embodiment, the computer readable medium comprises one or more instructions, which when executed by the processor, are configured to cause a device to: (i) download one or more content chunks from the service provider network in accordance with a network stream manifest, the network stream manifest comprising a dynamically changing manifest configured to deliver live media content comprising the one or more content chunks; (ii) generate a local stream manifest based at least in part on the network stream manifest; and (iii) store each of the one or more content chunks in a local storage device.
  • In another embodiment, the computer readable medium comprises one or more instructions, which when executed by the processor, are configured to cause a device to: (i) retrieve a local stream manifest; (ii) retrieve one or more content chunks from a local memory in accordance with the local stream manifest; (iii) reconstruct a media content stream based at least in part on the retrieved one or more content chunks; and (iv) display the media content stream.
  • These and other aspects shall become apparent when considered in light of the disclosure provided herein.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a functional block diagram illustrating one exemplary packetized content delivery network architecture useful with the present disclosure.
  • FIG. 2 is a graphical representation of an exemplary packet-switched network useful in conjunction with various principles described herein.
  • FIG. 3 is a logical flow diagram representing one embodiment of a method for recording streaming media content.
  • FIG. 4 is a logical flow diagram representing one embodiment of a method for playing back streaming media content from a stream manifest.
  • FIG. 5 is a logical block diagram representation of one exemplary embodiment of the consumer premise equipment (CPE) configured in accordance with the present disclosure.
  • FIG. 6 is a logical flow diagram representing one exemplary method for recording streaming video content with a stream manifest file, and subsequent video content playback from the stream manifest file, in accordance with the principles described herein.
  • All figures © Copyright 2014 Time Warner Enterprises LLC All rights reserved.
  • DETAILED DESCRIPTION
  • Reference is now made to the drawings wherein like numerals refer to like parts throughout.
  • As used herein, the term “application” refers generally and without limitation to a unit of executable software that implements a certain functionality or theme. The themes of applications vary broadly across any number of disciplines and functions (such as on-demand content management, e-commerce transactions, brokerage transactions, home entertainment, calculator etc.), and one application may have more than one theme. The unit of executable software generally runs in a predetermined environment; for example, the unit could include a downloadable Java Xlet™ that runs within the JavaTV™ environment.
  • As used herein, the term “client device” includes, but is not limited to, set-top boxes (e.g., DSTBs), gateways, modems, personal computers (PCs), and minicomputers, whether desktop, laptop, or otherwise, and mobile devices such as handheld computers, PDAs, personal media devices (PMDs), tablets, “phablets”, and smartphones.
  • As used herein, the term “codec” refers to a video, audio, or other data coding and/or decoding algorithm, process or apparatus including, without limitation, those of the MPEG (e.g., MPEG-1, MPEG-2, MPEG-4/H.264, etc.), Real (RealVideo, etc.), AC-3 (audio), DiVX, XViD/ViDX, Windows Media Video (e.g., WMV 7, 8, 9, 10, or 11), ATI Video codec, or VC-1 (SMPTE standard 421M) families.
  • As used herein, the term “computer program” or “software” is meant to include any sequence or human or machine cognizable steps which perform a function. Such program may be rendered in virtually any programming language or environment including, for example, C/C++, Fortran, COBOL, PASCAL, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), and the like, as well as object-oriented environments such as the Common Object Request Broker Architecture (CORBA), Java™ (including J2ME, Java Beans, etc.) and the like. The term “Customer Premises Equipment (CPE)” refers without limitation to any type of electronic equipment located within a customer's or subscriber's premises and connected to or in communication with a network.
  • As used herein, the term “digital processor” is meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., FPGAs), PLDs, reconfigurable compute fabrics (RCFs), array processors, and application-specific integrated circuits (ASICs). Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.
  • As used herein, the term “display” means any type of device adapted to display information, including without limitation CRTs, LCDs, TFTs, plasma displays, LEDs (e.g., OLEDs), incandescent and fluorescent devices, or combinations/integrations thereof. Display devices may also include less dynamic devices such as, for example, printers, e-ink devices, and the like.
  • As used herein, the term “DOCSIS” refers to any of the existing or planned variants of the Data Over Cable Services Interface Specification, including for example DOCSIS versions 1.0, 1.1, 2.0, 3.0 and 3.1.
  • As used herein, the term “headend” refers generally to a networked system controlled by an operator (e.g., an MSO) that distributes programming to MSO clientele using client devices. Such programming may include literally any information source/receiver including, inter alfa, free-to-air TV channels, pay TV channels, interactive TV, and the Internet.
  • As used herein, the terms “Internet” and “internet” are used interchangeably to refer to inter-networks including, without limitation, the Internet.
  • As used herein, the term “memory” includes any type of integrated circuit or other storage device adapted for storing digital data including, without limitation, ROM. PROM, EEPROM, DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), and PSRAM.
  • As used herein, the terms “microprocessor” and “digital processor” are meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., FPGAs), PLDs, reconfigurable computer fabrics (RCFs), array processors, secure microprocessors, and application-specific integrated circuits (ASICs). Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.
  • As used herein, the terms “MSO” or “multiple systems operator” refer to a cable, satellite, or terrestrial network provider having infrastructure required to deliver services including programming and data over those mediums.
  • As used herein, the terms “network” and “bearer network” refer generally to any type of telecommunications or data network including, without limitation, hybrid fiber coax (HFC) networks, satellite networks, telco networks, and data networks (including MANs, WANs, LANs, WLANs, internets, and intranets). Such networks or portions thereof may utilize any one or more different topologies (e.g., ring, bus, star, loop, etc.), transmission media (e.g., wired/RF cable, RF wireless, millimeter wave, optical, etc.) and/or communications or networking protocols (e.g., SONET, DOC SIS, IEEE Std. 802.3, ATM, X.25, Frame Relay, 3GPP, 3GPP2, WAP, SIP, UDP, FTP, RTP/RTCP, H.323, etc.).
  • As used herein, the term “network interface” refers to any signal or data interface with a component or network including, without limitation, those of the FireWire (e.g., FW400, FW800, etc.), USB (e.g., USB2), Ethernet (e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Coaxsys (e.g., TVnet™), radio frequency tuner (e.g., in-band or OOB, cable modem, etc.), Wi-Fi (802.11), WiMAX (802.16), Zigbee®, Z-wave, PAN (e.g., 802.15), power line carrier (PLC), or IrDA families.
  • As used herein, the term “QAM” refers to modulation schemes used for sending signals over cable networks. Such modulation scheme might use any constellation level (e.g. QPSK, 16-QAM, 64-QAM, 256-QAM, etc.) depending on details of a cable network. A QAM may also refer to a physical channel modulated according to the schemes.
  • As used herein, the term “server” refers to any computerized component, system or entity regardless of form which is adapted to provide data, files, applications, content, or other services to one or more other devices or entities on a computer network. As used herein, the term “storage” refers to without limitation computer hard drives, DVR device, memory, RAID devices or arrays, optical media (e.g., CD-ROMs, Laserdiscs, Blu-Ray, etc.), or any other devices or media capable of storing content or other information.
  • As used herein, the term “wireless” means any wireless signal, data, communication, or other interface including without limitation Wi-Fi, Bluetooth, 3G (3GPP/3GPP2), HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, Zigbee®, Z-wave, narrowband/FDMA, OFDM, PCS/DCS, LTE/LTE-A, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, and infrared (i.e., IrDA).
  • Overview
  • In one aspect, a media client that records streaming media content from a Content Delivery Network (CDN) in portions or “chunks”, and generates and/or stores a stream manifest file, is disclosed. In one exemplary embodiment, portions (or chunks) of live media content streams are compressed and stored for later playback as discrete content elements, rather than requiring the complete content stream to be compressed and stored as a whole. In this manner, the media client can record unbound streams (e.g., live video content, etc.). Recording in a “chunked” manner is generally more robust than traditional content recording schemes; interruptions and/or corrupted chunks can be easily corrected, skipped, and/or replaced at a later point without interfering with the decoding of other chunks. Moreover, during replay, a corrupted or missing chunk will not adversely affect the replay of other chunks.
  • In another aspect, a media client that replays stored “chunked” media content based on a stream manifest file is disclosed. In one exemplary embodiment, stored video content streams chunks are decompressed for playback based on information stored within an associated data structure (e.g., stream manifest file). Examples of information stored within the manifest file may include e.g., encryption keys, supported resolutions, and digital rights information.
  • In some embodiments, the video client may be further configured to retrieve additional data to augment the stored chunked video content. For instance, a video client with a high resolution (e.g., 1920×1080) display may consult the stream manifest file for missing and/or replacement chunks, when attempting to replay a previously recorded lower resolution recording (e.g., 640×480). By downloading the appropriate chunks, the video client can support the desired high resolution. In another example, a video client may dynamically insert and replace outdated or previously viewed advertisements during each subsequent playback; by tracking and updating advertisements, the service provider can realize commercial opportunities which were previously not possible.
  • Various other operational and/or business-related rules are disclosed for e.g., enabling and/or disabling functions with respect to playback of the requested content (e.g., entitlement based authentication and/or authorization schemes, etc.), providing content quality upgrades, providing targeted or tailored advertisements and/or programming, etc.
  • In addition, content protection schemes may be advantageously deployed at e.g., the gateway, the client device, and/or one or more network entities, consistent with the various aspects disclosed herein.
  • Detailed Description of Exemplary Embodiments
  • Exemplary embodiments of the apparatus and methods of the present disclosure are now described in detail. While these exemplary embodiments are described in the context of the previously mentioned hybrid fiber coax (HFC) cable architecture having a multiple systems operator (MSO), digital networking capability, IP delivery capability, and a plurality of client devices/CPE, the general principles and advantages of the disclosure may be extended to other types of networks and architectures that are configured to deliver digital media data (e.g., text, video, and/or audio). Such other networks or architectures may be broadband, narrowband, wired or wireless, or otherwise.
  • It will also be appreciated that while described generally in the context of a network providing service to a customer or consumer (i.e., residential) end user domain, the present disclosure may be readily adapted to other types of environments including, e.g., commercial/enterprise, and government/military applications. Myriad other applications are possible.
  • It is further noted that while exemplary embodiments are described primarily in the context of a cable system with 6 MHz RF channels, the present disclosure is applicable to literally any network topology or paradigm, and any frequency/bandwidth or transport modality. Also, while certain aspects are described primarily in the context of the well-known Internet Protocol (described in, inter alfa, RFC 791 and 2460), it will be appreciated that the present disclosure may utilize other types of protocols (and in fact bearer networks to include other internets and intranets) to implement the described functionality.
  • Other features and advantages of the present disclosure will immediately be recognized by persons of ordinary skill in the art with reference to the attached drawings and detailed description of exemplary embodiments as given below.
  • Network Architecture
  • In one typical content delivery network configuration, content is provided from one or more content sources via one or more distribution servers to customer premises equipment (CPE). In one implementation, the distribution server(s), VOD servers and CPE(s) are connected via a bearer (e.g., HFC or satellite) network. A network headend (including various ones of the components listed above) may also be connected through a gateway or other such interface to unmanaged external internetworks such as the Internet.
  • The CPE as discussed herein includes any equipment in the “customers' premises” (or other locations, whether local or remote to the distribution server) that can be accessed by a network side entity such as a distribution server. As will be discussed in greater detail below, in one embodiment, the CPE may include IP-enabled CPE, and a gateway or specially configured modem (e.g., DOCSIS cable or satellite modem).
  • A typical headend architecture may include a billing module, subscriber management system (SMS) and CPE configuration management module, cable-modem termination system (CMTS) and OOB system, as well as LAN(s) placing the various components in data communication with one another.
  • The exemplary headend architecture further includes a multiplexer-encrypter-modulator (MEM) coupled to the network and adapted to process or condition content for transmission over the network. Distribution servers (coupled to the LAN) may access the MEM and network via one or more file servers. Information is carried across multiple channels, thus, the headend is adapted to acquire the information for the carried channels from various sources. Typically, the channels being delivered from the headend to the CPE (“downstream”) are multiplexed together in the headend and sent to neighborhood hubs via a variety of interposed network components.
  • Content (e.g., audio, video, data, files, etc.) is provided in each downstream (in-band) channel associated with the relevant service group. To communicate with the headend or intermediary node (e.g., hub server), the CPE may use the out-of-band (OOB) or DOCSIS channels and associated protocols. The OCAP 1.0 (and subsequent) specification provides for exemplary networking protocols both downstream and upstream, although the disclosure is in no way limited to these exemplary approaches.
  • An optical transport ring is also commonly utilized to distribute the dense wave-division multiplexed (DWDM) optical signals to each hub within the network in an efficient fashion.
  • In another implementation, a so-called “broadcast switched architecture” (BSA), also known as “switched digital video” or “SDV”, may be utilized. Switching architectures allow improved efficiency of bandwidth use for ordinary digital broadcast programs. Ideally, the subscriber is unaware of any difference between programs delivered using a switched network and ordinary streaming broadcast delivery.
  • Typically, in the BSA model, the headend contains switched broadcast control and media path functions which cooperate to control and feed, respectively, downstream or edge switching devices at the hub site which are used to selectively switch broadcast streams to various service groups. A BSA or SDV server is also disposed at the hub site, and implements functions related to switching and bandwidth conservation (in conjunction with a management entity at the headend).
  • Referring now to FIG. 1 , an exemplary network architecture for providing optimized delivery of packetized content is shown. In addition to on-demand and broadcast content (e.g., video programming), the system of FIG. 1 also delivers Internet data services using the Internet protocol (IP), although other protocols and transport mechanisms of the type well known in the digital communication art may be substituted. Alternatively, or in addition, the network 100 could for example include an optical fiber network of the type known in the art using dense wave-division multiplexing (DWDM), Synchronous Optical Network (SONET) transport technology or gigabit Ethernet transport.
  • In one exemplary delivery paradigm MPEG-based video content is delivered, with the video transported to user PCs (or IP-based CPE) over the relevant transport (e.g., DOCSIS channels) comprising MPEG (or other video codec such as H.264 or AVC) over IP over MPEG. That is, the higher layer MPEG- or other encoded content is encapsulated using an IP protocol, which then utilizes an MPEG packetization of the type well known in the art for delivery over the RF channels or other transport, such as via a multiplexed multi-program transport stream (MPTS). In this fashion, a parallel delivery mode to the normal broadcast delivery exists; e.g., in the cable paradigm, delivery of video content both over traditional downstream QAMs to the tuner of the user's STB or other receiver device for viewing on the television, and also as packetized IP data over the DOCSIS
  • QAMs to the user's PC or other IP-enabled device via the user's cable modem. Delivery in such packetized modes may be unicast, multicast, or broadcast. Delivery of the IP-encapsulated data may also occur over the non-DOCSIS QAMs. Aggregation of television programs that include local and regional programming, or other types of content, occurs at the headend, where these programs are converted into a suitable transport format and a “channel line-up” is created for delivery to the downstream CPE.
  • The CPE of the exemplary embodiment are each configured to monitor the particular assigned RF channel (such as via a port or socket ID/address, or other such mechanism) for IP packets intended for the subscriber premises/address that they serve.
  • The “packet optimized” delivery network is used for carriage of the packet content (e.g., IPTV content) when the request issues from an MSO network. As illustrated in FIG. 1 , an IMS (IP Multimedia Subsystem) network with common control plane and service delivery platform (SDP), as described in co-owned, co-pending U.S. patent application Ser. No. 12/764,746 filed on Apr. 21, 2010 and entitled “METHODS AND APPARATUS FOR PACKETIZED CONTENT DELIVERY OVER A CONTENT DELIVERY NETWORK”, incorporated herein by reference in its entirety may be utilized. Such a network provides significant enhancements in terms of common control of different services, implementation and management of content delivery sessions according to unicast or multicast models, quality-of-service (QoS) for IP-packetized content streams, service blending and “mashup”, etc.; however, it is appreciated that the various features of the present disclosure are in no way limited to any of the foregoing architectures.
  • In the switched digital variant, the IP packets associated with Internet services are received by edge switch, and forwarded to the cable modem termination system (CMTS). The CMTS examines the packets, and forwards packets intended for the local network to the edge switch. Other packets are discarded or routed to another component.
  • The edge switch forwards the packets receive from the CMTS to the QAM modulator, which transmits the packets on one or more physical (QAM-modulated RF) channels to the CPE. The IP packets are typically transmitted on RF channels that are different than the RF channels used for the broadcast video and audio programming, although this is not a requirement. As noted above, the CPE are each configured to monitor the particular assigned RF channel (such as via a port or socket ID/address, or other such mechanism) for IP packets intended for the subscriber premises/address that they serve.
  • Packetized Content Delivery Network Architecture for Recording Media
  • Referring now to FIG. 2 , an exemplary configuration of a packet-switched network useful with the present disclosure is illustrated. While described in the context of an Internet Protocol Television (IPTV) network, it will be recognized that the principles of the disclosure can be extended to other transport modalities and network paradigms.
  • The network 200 of FIG. 2 effectively operates logically “along side” the in-band content delivery system described with respect to FIG. 1 , and shares many common elements. It includes digital satellite receivers 202, analog satellite receivers 204 and off-air receivers 206 deployed within the content (e.g., cable) network in order to receive content such as broadcast television programs. This content is then distributed over the cable network. With respect to the IPTV network, the digital satellite feed received via the receiver 202 is sent to a video multiplexer 210 that provides one or more digital programs to one or more video encoders 218 to transcode/transrate or otherwise process incoming digital video streams to a format suitable for loading onto the video streaming server.
  • In addition, according to the present disclosure, the encoders 218 may be further utilized to generate a plurality of content chunks from a live IP content stream. The chunks may be of predetermined length. In addition, metadata describing the chunks may be generated at the encoders 218. As discussed herein, the file chunks form the basis for the generation of a network stream manifest file. In one variant, the network stream manifest is generated at the video streaming server 222. It is appreciated, however, that the foregoing functionality may be accomplished at various other network entities, the foregoing being merely exemplary.
  • The video streaming server 222 is connected to the Content Distribution Network 216 (which in the context of a cable network, may include, inter alfa, the coaxial “drop” between the CPE and the previously referenced CMTS). Other architectural elements connected to the content distribution network 216 are shown as “other related servers” 224 in FIG. 2 . Client devices 220 (such as PCs connected to cable modems, wireless user devices in communication with access points (APs) or gateways, etc.) are connected to the content distribution network and perform the functions of, inter alfa, decoding and displaying video signals.
  • Various content sources provide content to a content server (which may include the video streaming server 222 or other related servers 224) for delivery via the network to the CPE 220. For example, content may be received from a local, regional, or network content library as discussed in co-owned co-pending U.S. application Ser. No. 12/841,906 filed on Jul. 22, 2010 and entitled “APPARATUS AND METHODS FOR PACKETIZED CONTENT DELIVERY OVER A BANDWIDTH-EFFICIENT NETWORK”, which is incorporated herein by reference in its entirety. Alternatively, content may be received from linear analog or digital feeds, as well as third party content sources. Internet content sources (such as e.g., a web server) provide internet content to a packetized content server. Other IP content may also be received at the packetized content server, such as voice over IP (VoIP) and/or IPTV content. Content may also be received from subscriber and non-subscriber devices (e.g., a PC or smartphone-originated user made video). In one embodiment, the functionality of both the content server and packetized content server may be integrated into a single headend server entity.
  • In another embodiment, an architecture similar to that disclosed in the co-owned, co-pending U.S. patent application Ser. No. 13/213,817 filed on Aug. 19, 2011 and entitled “APPARATUS AND METHODS FOR REDUCED SWITCHING DELAYS IN A CONTENT DISTRIBUTION NETWORK”, which is incorporated herein by reference in its entirety, may be utilized. As discussed therein, a central media server located in the headend may be used as an installed backup to the hub media servers as (i) the primary source for lower demand services, and (ii) as the source of the real time, centrally encoded programs with PVR (personal video recorder) capabilities. By distributing the servers to the hub stations, the size of the fiber transport network associated with delivering VOD services from the central headend media server is advantageously reduced. Hence, each user has access to several server ports located on at least two servers. Multiple paths and channels are available for content and data distribution to each user, assuring high system reliability and enhanced asset availability. Substantial cost benefits are derived from the reduced need for a large content distribution network, and the reduced storage capacity requirements for hub servers (by virtue of the hub servers having to store and distribute less content).
  • It will also be recognized that a heterogeneous or mixed server approach can be utilized consistent with the disclosure. For example, one server configuration or architecture may be used for servicing cable, satellite, HFCu, etc. subscriber CPE-based session requests, while a different configuration or architecture may be used for servicing mobile client requests. Similarly, the content servers can either be single-purpose/dedicated (e.g., where a given server is dedicated only to servicing certain types of requests), or alternatively multi-purpose (e.g., where a given server is capable of servicing requests from multiple different sources).
  • In another embodiment, both IP data content and IP-packetized audio/video content are delivered to a user via one or more universal edge QAM devices. According to this embodiment, all of the content is delivered on DOCSIS channels, which are received by a premises gateway (not shown) and distributed to one or more CPE 220 in communication therewith. Alternatively, the CPE 220 may be configured to receive IP content directly without need of the gateway or other intermediary. As a complementary or back-up mechanism, audio/video content may also be provided in downstream (in-band) channels as discussed above; i.e., via traditional “video” in-band QAMs. In this fashion, a co-enabled digital set top box (DSTB) or other CPE could readily tune to the new (in-band) RF video QAM in the event that their IP session over the DOCSIS QAM is for some reason interrupted. This may even be accomplished via appropriate logic within the CPE (e.g., autonomously, or based on signaling received from the headend or other upstream entity, or even at direction of a user in the premises; e.g., by selecting an appropriate DSTB or other CPE function).
  • It will be appreciated that several different configurations of the above-described IPTV network are possible consistent with the present disclosure. For example, the video encoders 218 shown in FIG. 2 may be configured to produce one or more bit streams for the same content. Such bit streams could have different bit rates as a function of suitability for transmission over the IP network (e.g., low, medium and high bitrate streams for various rate services, such as dial-up, DSL and cable modem IP services, respectively), and/or different encoding formats conforming to audio/video encoding standards such as Real or MPEG or Windows Media Player (WMP).
  • In another variant, elements in both the headend and CPE 220 are specially adapted to utilize transmission infrastructure to transmit and receive both multiplexed wideband content and legacy content as is described in co-owned, co-pending U.S. Patent Application Ser. No. 11/013,671 filed on Dec. 15, 2004 and entitled “METHODS AND APPARATUS FOR WIDEBAND DISTRIBUTION OF CONTENT”, which is incorporated by referenced herein in its entirety. As discussed therein, the CPE 220 or gateway may be configured to contain multiple tuners (or a single wide-band tuner) which allow the device to receive the signals from all of the relevant physical carriers simultaneously. The carriers are demodulated, and channel-based decryption and basic demultiplexing (recombination) is performed. If multiplexed, the streams are then delivered to a transport demultiplexer which demultiplexes all of the streams resident within the statistical multiplex.
  • In another variant, IP simulcast content and existing on-demand, voice, and broadcast content are all provided to a headend switch device (not shown). The headend switch then provides the content to the optical ring for provision to one or more distribution hubs. IP simulcast content is in one exemplary implementation retrieved from a plurality of content sources at an IPTV server.
  • The IP-packet content is transmitted to subscriber devices via the universal edge QAM and the edge network. The IP video (“simulcast”) content is presented to client devices capable of receiving content over the DOCSIS QAMs. For example, the aforementioned gateway device (as well as an advanced CPE such as an IP-enabled device may receive the IP simulcast. Legacy CPE (i.e., non-IP enabled devices) may receive content via the gateway device, or via an audio/video “back-up” MPEG transport stream.
  • It is further appreciated that content may be delivered to various Worldwide Interoperability for Microwave Access (WiMAX)-enabled mobile devices (e.g., PMD or non-legacy CPE) via a WiMAX distribution hub of the type now ubiquitous in the wireless arts. WiMAX is a wireless technology that provides high-throughput broadband connections over longer distances (as compared to short-range technologies such as WLAN, Bluetooth or PAN). WiMAX can be used for a number of applications, including “last mile” broadband connections, cellular backhaul, hotspot coverage, and high-speed enterprise connectivity, as well as broadband delivery to mobile devices.
  • Moreover, the aforementioned WiMAX technology may be used in conjunction with a WiMAX-enabled gateway (not shown) or CPE, such that content is delivered wirelessly to the gateway or CPE from the distribution hub, irrespective of the indigenous wired or optical distribution network infrastructure.
  • The content is received at the CPE 220 in the form of the previously described content chunks. As will be discussed in greater detail below, the metadata relating to the chunks, and/or the network stream manifest are used to generate a local stream manifest at the CPE.
  • In one embodiment, the gateway device serves as a gateway to the IP content for other client devices (such as other CPE and PMD). The gateway device may communicate with one or more connected CPE, as well as utilize Wi-Fi capabilities (where so equipped) to communicate wirelessly to other devices. It will also be recognized that the present disclosure may be configured with one or more short-range wireless links such as Bluetooth for lower bandwidth applications (or UWB/PAN for greater bandwidth applications).
  • In another embodiment, content received at a first user CPE 220 may be transmitted to CPE 220 of other premises in a peer-to-peer (P2P) fashion. For example, first content may be requested and received at a first CPE 220. Then, when a second CPE 220 (in the same region or division) requests the same content, the request may be examined by a headend entity (not shown), or the gateway acting as a peer proxy, to determine that the requesting second device CPE 220 is entitled to receive the content and that the content is available at the first CPE 220. The headend entity directs a peer-to-peer communication to be established between the authorized second CPE 220 and the CPE 220 having the requested content. It is appreciated that while described herein in the context of a single CPE 220 providing content to a second CPE 220, several CPE 220 having the content thereon may be contacted for simultaneous delivery of the content to one or more second CPE 220. In one such implementation, the peer-to-peer communication methods and apparatus disclosed in co-owned, co-pending U.S. patent application Ser. No. 11/726,095 entitled “METHOD AND APPARATUS FOR CONTENT DELIVERY AND REPLACEMENT IN A NETWORK” filed on Mar. 20, 2007, which is incorporated herein by reference in its entirety, may be utilized in conjunction with the present disclosure. As discussed therein, these P2P methods and apparatus also advantageously improve the “robustness” or capability of the network with respect to ensuring that subscribers or other users can receive and access desired content when they want, as well as seamlessly repairing or reconstituting damaged or missed portions of that content (including even an entire streamed program, broadcast or download).
  • It is still further appreciated that the delivery of content may include delivery from an “off-net” distribution hub (not shown) to another network (not shown), not associated with the MSO. In this embodiment, a requesting device (such as CPE or gateway) may request content from a local headend which is transferred over both MSO-maintained (“on-net”) and “off-net” networks advantageously.
  • Methods
  • As referenced above, various embodiments of the present disclosure are directed to schemes for: (i) recording streaming media content in a network via one or more data structures (e.g., stream manifest file(s)), and (ii) subsequent media content reconstruction from the data structure(s).
  • Referring now to FIG. 3 , one embodiment of a method 300 for recording streaming media content in a local device via a data structure such as stream manifest file is disclosed.
  • At step 302 of the method 300, the media client device receives a network stream manifest (also referred to as a “playlist”) from the service provider. In one embodiment, the media client device is a portable device. Common examples of portable devices include, without limitation, tablets, phablets, smart phones, smart televisions (TVs), desktop and laptop personal computers (PC), and portable media players. In other embodiments, the media client device may comprise a file server; file servers are common in both commercial and residential use. For example, a subscriber may have a PC which can play media files, but which also serves his/her other consumer electronics (e.g., smart phone and tablet).
  • In one embodiment, the network stream manifest includes metadata, and a listing of media chunk entries. Metadata refers to information used by the media client device to interpret or otherwise manage the media chunks (metadata is also colloquially referred to as “data about data”). Common examples of metadata include e.g., version information, protocol, file formats, supported codecs, resolution, encryption, temporal information (transmission time, time of presentation, time stamps, etc.), geographic information (restricted locations, locations for presentation, etc.), content type indicia, synchronization information, control data, etc. Stated differently, the metatdata describes the media chunks, and can be used as a reference file when assessing or otherwise making use of the media chunks.
  • In one implementation, the listing of media chunk entries in the manifest comprises a listing of network addresses where the corresponding chunks of media content may be accessed and/or downloaded. For instance, each of the media chunk entries may be listed by a Uniform Resource Locator (URL). In some embodiments, the entries may be in computing resource “path” format. Computing paths may be either absolute (i.e., the path provides the fully elaborated and unique location of the chunk in a file structure) or relative (i.e., the path provides a relative location of the chunk in a file structure). Additionally, in some embodiments, the entries may be in symbolic format, such that at least a portion of the entry must be further interpreted (i.e., is not human-readable). Common examples of this may include e.g., HyperText Markup Language (HTML) tags, proprietary tags, Java, Javascript, etc. Moreover, some implementations may substitute or intermingle any of the foregoing techniques to flexibly accommodate various operational models.
  • For example, in some cases the service provider or MSO is represented as a single logical entity (a single network domain) represented by a characteristic URL (e.g., www.timewarnercable.com). In other embodiments, the service provider may be a conglomeration of multiple logical entities. Multiple logical entities may be useful to further distribute services over various network resources or enable additional features provided by partnered corporations or providers. Common examples of network resources include e.g., broadcast, multicast, video-on-demand, advertisement services, local services, etc. For example, one exemplary stream manifest file may include entries from: www.timewarnercable.com, vod.timewarner.com (video on demand services), www.nhk.jp (3rd party content), www.adserver.com (3rd party advertisement services), etc.
  • In another example, the media chunk listing may include a listing of URL links which is further punctuated with HTML, tags or Javascript, which is configured to enable advertisement insertion and/or execution of complementary programming. For instance, the video client may substitute tailored locally stored advertisements for commercial breaks, rather than e.g., the default broadcasted commercial. In other embodiments, the video client may run a Javascript Applet that allows the subscriber to execute a command or otherwise provide feedback (e.g., to order pizza, vote on a reality show, etc.).
  • In the exemplary embodiment, each media chunk is an encoded (and optionally encrypted) subsection or segment of media content. The media chunks (decrypted if necessary), when decoded and played in the appropriate order, render the original media content. In one implementation, each media chunk represents a portion of video associated with a specific resolution, codec, and time stamp. The media chunks are assembled according to a time stamp sequence.
  • In another embodiment, however, non-time-based segments may be used in the manifest. For example, playback may occur according to the context of the sequence and not because of any implied meaning of the filename, or time stamp value. The true duration of a video segment is based on its contents and its presentation time stamp (PTS), which may not be represented in the manifest. The sequence of the next file in the manifest is simply what comes next. Specifically, any schema could be used for the TS files in the manifest, including 1.ts, 2.ts, 3.ts, etc . . . Or A.ts, B.ts, or C.ts.
  • It is appreciated that while the present disclosure has focused on media chunks that are video content, the various aspects described herein find wide ranging application to other types of content. Common examples include e.g., audio content, data and text content, Internet traffic, gaming traffic, etc.
  • In one implementation, the network stream manifest has a fixed number of content chunk entries which are sequentially ordered. For example, typical playlists consist of ten (10) six-second (6 s) chunks of video content, representing a minute of video. As each chunk is played, a replacement chunk is added (similar to a First-In-First-Out (FIFO) buffer). Other implementations may expand or contract or have non-sequential ordering according to e.g., various network considerations. For example, the network stream manifest may dynamically adjust length based on available servers, available bandwidth, etc. In other cases, the network stream manifest may have a first section (e.g., for program content), and a second lower priority section for background loading (e.g., for advertisements). For streams which support multiple different technologies and/or resolutions, the stream manifest may be “striped” or split into portions, each stripe or portion associated with a particular technology or resolution, etc.
  • In yet another embodiment, the device and/or a network entity may generate the manifest in real time; i.e., as the live content is displayed or rendered.
  • Referring back to FIG. 3 , at step 304 of the method 300, the media client device receives one or more content chunks from the service provider, in accordance with a network stream manifest generated and stored at the network. The network stream manifest is used by the network to identify and deliver appropriate content chunks to a requesting device. In one embodiment, the one or more content chunks are streamed from a server at the MSO. In some variants, the streaming may comply with one or more Quality of Service (QoS) guarantees, or have a level of priority over other network traffic. In other embodiments, the one or more content chunks are downloaded in a background “best effort” process (i.e., the data is delivered without a guaranteed QoS level or priority).
  • In other so-called “optimized” embodiments, the media client device may identify one or more content chunks which can be ignored. In some cases, the identification may be based on device limitations, subscriber preferences, business practice, etc. For example, the media client device may only support one video resolution, one codec, etc. Hence, content chunks for other resolutions or codecs are not displayed and/or not stored (as will be discussed below). In other examples, the media client device may identify content which was previously stored (e.g., a commercial, etc.) and would be duplicated if stored again. In this instance, the device ignores or fails to display and/or store those chunks. In yet another example, the multiple audio encoding that typically is carried with the same video stream, e.g., AC3 and/or Dolby audio streams is separated into separate files. The client player may then only download the appropriate audio codec needed.
  • Certain business models/operational requirements may require that the service provider or MSO implement access restrictions to content. Accordingly, in some implementations, the network stream playlist is encrypted and/or has a limited distribution (i.e., is unicast to a specific subscriber or multicast to a group of subscribers, as opposed to broadcast). Encryption can be of a symmetric or asymmetric key nature. Symmetric key architectures use the same key for encryption and decryption; asymmetric key architectures (e.g., private/public keys) are different for encryption and decryption.
  • Those of ordinary skill in the related arts, given the contents of the present disclosure, will readily appreciate that access restrictions may be used for purposes other than surreptitious access. For example, in some cases, access restrictions may ensure that certain types of content are not viewable on certain devices (so-called “viewer control chip (V-chip)” implementations). In other cases, a viewer may be required to use a password and/or affirmatively elect to access certain types of content (e.g., the content may be required to provide a click-through-to-continue access restriction, etc.).
  • Still other embodiments may modify playback; for example, a home version of content may be stripped of advertisements whereas the versions for portable playback on the subscriber's devices still require ad insertion. In another such example, a parent may effectively limit the usage of a device by restricting playback length (e.g., to enable parents to enforce “TV time” limits), or by restricting the number of playbacks. In some variants, the playback limitations can be tracked with a central monitor software, thereby preventing e.g., a child from avoiding playback restrictions by switching between different devices.
  • Other forms of access control include Digital Rights Management (DRM), conditional access (CA), trusted domain (TD), etc. One example of utilization of the foregoing technologies is described within co-owned, co-pending U.S. Patent Application Ser. No. 13/710,308 filed on Dec. 10, 2012 and entitled “APPARATUS AND METHODS FOR CONTENT TRANSFER PROTECTION”, which is incorporated herein by reference in its entirety. As discussed therein content is delivered via a managed content distribution network (such as a cable or satellite or HFCu network having an MSO), and the MSO manages the rights and restrictions of the content outside of a premises, and in a data center or headend, by providing requested content to a gateway device within the premises.
  • The content is, in the exemplary embodiment, provided in a first encryption format and encoded using a first codec, both of which are compatible with the gateway device. In order to provide for a transfer of the content within and outside of the premises network, the gateway is configured to transcrypt the content into an encryption format, and transcode using a codec, that are each compatible with a device which requests the content therefrom. In one implementation, the content is received at the gateway as MPEG-2 content encrypted using Powerkey conditional access (CA) technology. The gateway uses its associated CableCard to decrypt the content, and a transcoder entity to transcode the content to e.g., MEPG-4 (or other appropriate format). The content is then re-encrypted to DRM using a content key obtained from a DRM server and a transcrypter of the gateway. This approach advantageously preserves content rights, and asserts restrictions on use or distribution of content, via the user's premises gateway.
  • The exemplary gateway apparatus then transmits the content to a requesting client device (e.g., CPE). The CPE must in the exemplary configuration use the same content key to decrypt the content as was used by the gateway when the content was transcrypted. Therefore, the gateway and devices in communication with the gateway (and which would presumably request content therefrom) are established to use the same DRM client.
  • In another embodiment, content is transferred from a DVR to other portable devices in communication therewith. The DVR receives content in a first format and encryption scheme, and transcodes and/or transcrypts the content to a format and scheme with which requesting devices are compatible. In one exemplary implementation, the requirement for transcryption is removed by using the same DRM algorithm to protect content on both the DVR and the requesting devices. In one variant, the DVR and the requesting devices each use the same DRM client to request a DRM license from a DRM server. Using the same algorithm for both client applications advantageously enables the MSO to control and change usage rights and restrictions at any time up through content playback, and regardless of any transfer of the content between devices (i.e., between the gateway and/or DVR and the requesting devices in communication therewith).
  • Co-owned, co-pending U.S. patent application Ser. No. 11/584,208 filed on Oct. 20, 2006 and entitled “DOWNLOADABLE SECURITY AND PROTECTION METHODS AND APPARATUS”, now published as U.S. Patent Application Publication No. 2008/0098212, and commonly owned U.S. patent application Ser. No. 11/657,828 filed on Jan. 24, 2007 and entitled “APPARATUS AND METHODS FOR PROVISIONING IN A DOWNLOAD-ENABLED SYSTEM”, now published as U.S. Patent Application Publication No. 2008/0177998, are also incorporated herein by reference in their entirety, and describe further content protection apparatus and methods usable with the present disclosure.
  • Specifically, as discussed in the previously referenced U.S. patent application Ser. No. 11/584,208, a network architecture that provides for enhanced conditional access (CA), trusted domain (TD), and digital rights management (DRM) capabilities may be utilized. This network architecture comprises apparatus useful at, inter alia, the head-end or distribution hub of a cable network, for implementing a download paradigm for legacy or newly developed CA, TD, and DRM software and cryptographic protection schemes. This allows the network operator, and even the third party content provider by proxy, to exert additional control on viewing, reproduction, and migration of content distributed over the network.
  • In one embodiment, these enhanced capabilities comprise downloadable software modules (images), and an associated decryption key that facilitates decryption of the downloaded software images. In contrast to prior art approaches of merely encrypting the content itself (such as via a DES or AES algorithm via a symmetric or asymmetric key approach), the exemplary embodiments of the present disclosure allow for the download of secure software images, which may be used to, inter alia, ensure security of the downloaded images and also migrate protected content to other platforms in the user or client domain so as to extend the “trusted domain”.
  • Advantageously, this architecture provides for securing of the CA, TD, and DRM Client software as opposed to merely the delivered content. Specifically, outside of the conditional access system (CAS), the software of the present disclosure is never rendered in an unprotected form or otherwise made accessible. This is of particular significance from the standpoint that protection of the software is typically of much greater commercial interest and value to the network operator than the content itself. Stated differently, not only is the delivered content highly secure, but also the mechanisms used to control and access the content within the user domain.
  • Still further, the apparatus and methods discussed in co-owned and co-pending U.S. patent application Ser. No. 13/721,154, filed on Dec. 20, 2012 and entitled “SYSTEM AND METHOD FOR MANAGING ENTITLEMENTS TO DATA OVER A NETWORK”, which is incorporated by reference in its entirety, may be utilized to e.g., determine whether a subscriber is entitled to access content via an IP network. In one embodiment, the determination is based on the subscriber's entitlement to receive the same content, related content or other content from a multi-channel video programming distributor without disclosing proprietary subscriber information. As further discussed therein, a subscriber or user device operated by a subscriber generates a request for access to a requested content residing on a content access provider server. The subscriber has an account with a multi-channel video program distributor (MVPD) and the account comprises subscription information indicative of the services provided by the MVPD to the subscriber. The content request is received by the content access provider and forwarded to an entitlements server. The entitlements server determines whether the subscriber is entitled to receive the requested content based on the subscription information, and sends an access granted message to the content access provider server when the subscriber is entitled to receive the requested content.
  • Common examples of restrictions include restrictions based on: subscriber account considerations, programming considerations, device limitations, and temporal and/or geographic limitations. For example, in one such implementation, the video client verifies that a subscriber is allowed to record the content (based on their subscriber account permissions) before allowing access to the video content for local storage on the portable device.
  • In some cases, the media client may prioritize content chunk download according to e.g., network traffic, bandwidth limitations, and/or content type. For example, where download speeds are particularly bad, the media client may focus on downloading content chunks (rather than advertising chunks or other content chunks). During playback, the ignored commercials can be replaced with previously stored commercials, thereby ensuring that customer experience remains high. In very extreme cases, the media client may even throttle down to lower resolution chunks (which are smaller, and thus require less time to download).
  • The media client device stores each content chunk in a local memory (step 306 of the method 300). In one embodiment, the storage in local memory is relatively short term, with chucks being removed and replaced with newer chunks as the content is displayed and permanent storage occurring at e.g., a network entity. For example, a network level personal content server such as that disclosed in co-owned, co-pending U.S. patent application Ser. No. 13/888,224 filed on May 6, 2013 and entitled “PERSONAL CONTENT SERVER APPARATUS AND METHODS”, which is incorporated herein by reference in its entirety, may be utilized. As discussed therein, a personal content server located, e.g., at the head-end of the bearer network is disclosed; this server distributes content to the remote requesting location(s), thereby eliminating repetitious traffic to and from subscriber's premises to fulfill the requests for remote content delivery. In one variant, information relating to the requesting subscriber's prior activity for the requested content is used as a basis for authorizing delivery of the remote content. For example, a remote content manager may determine whether the requested program was previously stored on the subscriber's DVR attached to the local network; such as in the aforementioned temporary storage or in a permanent storage associated with the requesting client device. This information is gathered by either querying the DVR or by querying a process at the head-end for the program titles stored on the DVR.
  • In another variant, when the subscriber wishing to access content (e.g., watch a program) from a location outside the bearer network does not have a DVR on his premises, the personal media management server communicates with either a “network DVR” or a “virtual DVR” maintained for the subscriber at the head-end or other location outside of the subscriber premises in order to determine remote access privileges.
  • At step 308 of the method 300, the media client device generates a local stream manifest, the local stream manifest identifies the location (in local memory or at a network server) of each content chunk. Those of ordinary skill, given the contents of the present disclosure, will readily appreciate that a variety of memory architectures are possible, given the desired device functionality. For example, in some embodiments, the media client device renders the content from a network buffer or server. Accordingly, the manifest identifies a location at the network where the content may be accessed. In other embodiments the media client device stores the content to local memory and renders the content from the local memory (step 310).
  • In another embodiment, the media client manages multiple different memory technologies and storage locations based on intended use. Common memory technologies include e.g., hard disk drives (HDD) which offer long term storage, and volatile memory (random access memory (RAM), FLASH, etc.) for short term storage and fast access. For example, a small portable media device may store the chunks entirely within RAM, whereas a desktop server may store the chunks in a redundant array of inexpensive disks (RAID) array.
  • Similar to the network stream manifest, the local stream manifest includes metadata and a listing of media chunk entries. The local stream manifest may incorporate URL, path, or symbolic entries, or any combination of the foregoing, as discussed above. For embodiments which retain the chunks in a protected format (e.g., the chunks remain encrypted or otherwise obfuscated for storage), the local stream manifest may include access information (encryption keys, entitlement restrictions, etc.).
  • The local content manifest is sequentially ordered and organized according to content. For example, a typical playlist is associated with a subscriber generated content descriptor and/or a default content descriptor. Common examples of subscriber generated content descriptors include e.g., titles (e.g., “Super Bowl 2014”), tags (e.g., “football”, “2014”, “Seahawks”, “Broncos”, etc.), etc. Common examples of default content descriptors include e.g., titles, tags, recording information (e.g., “Channel 12”, “8:30:00-9:00:00”, etc.), such as that supplied by a content source, and/or crowd sourced references (“#SuperBowl”), etc.
  • Once the local content manifest has been generated (as discussed above), it may be utilized to reconstruct the media content. FIG. 4 illustrates one embodiment of a method 400 for reconstructing media content in a local device with a stream manifest file.
  • At step 402 of the method 400, the media client device retrieves a local stream manifest from local storage. In one embodiment, the media client device provides a graphical user interface (GUI), enabling the subscriber to select media content based on a subscriber-generated content descriptor and/or a default content descriptor. For example, in one case the subscriber provides a previous title (e.g., “Super Bowl 2014”); the corresponding playlist is identified and retrieved.
  • In another example, the subscriber may perform a search (e.g., for “football”), a listing of playlists which correspond to the search term are displayed. The subscriber can select from the displayed list of playlists and the stream manifest for the selected playlist is retrieved.
  • In another embodiment, the media client device automatically selects content based on pre-defined selection criteria. For example, the media client device may record a number of programs according to a pre-arranged schedule (e.g., the subscriber's favorite shows), and when the subscriber is ready to view the content, the media client device cycles through the recorded programs without requiring further user input. For example, the methods and apparatus disclosed in co-owned, co-pending U.S. patent application Ser. No. 12/414,554 filed on Mar. 30, 2009 and entitled “PERSONAL MEDIA CHANNEL APPARATUS AND METHODS”, which is incorporated herein by reference in its entirety, may be utilized. According to this variant, “fused” targeted content delivery is provided. Specifically, a substantially user-friendly mechanism for viewing content compiled from various sources, including, inter alfa, DVR, broadcast, VOD, Start Over, etc., and particularly that content selected to align with a user's preferences, is displayed as a substantially continuous stream as part of a “virtual” user-based channel.
  • In one embodiment, a user profile is constructed and targeted content gathered without requiring any user intervention whatsoever; e.g., based on a user's past or contemporaneous interactions with respect to particular types of content, as discussed in co-owned, co-pending U.S. patent application Ser. No. 12/414,576 filed on Mar. 30, 2009 and entitled “RECOMMENDATION ENGINE APPARATUS AND METHODS”, which is also incorporated herein by reference in its entirety.
  • The “virtual channel” acts as a centralized interface for the user and their content selections and preferences, as if the content relevant to a given user were in fact streamed over one program channel. In another aspect, the compiled content is presented to the user in the form of a “playlist” from which a user may select desired content for viewing.
  • In one variant, a user is also presented with content having varying degrees or aspects of similarity to that presented in the “playlist” or elsewhere, which is selected using e.g., the previously referenced recommendation engine.
  • In yet another aspect of the disclosure, an improved electronic program guide (EPG) is provided. The EPG gives a user the ability to view broadcast content across a broad timeline (i.e., content previously aired, as well as that which is currently airing and that which will air in the future). The EPG may incorporate various functions including allowing a user to start over, record, watch, receive more information about, catch up with, and rate the content of interest. The EPG also includes a function wherein a user may view an entire day's programming from one or more program channels. The user may also pull up recommended content from the EPG and can, in one embodiment, view a customized EPG showing a schedule solely comprised of recommended content.
  • In another aspect, client applications (e.g., those disposed on a subscriber's CPE and/or network servers) are utilized to compile the playlist based on user-imputed as well as pre-programmed user profiles. Various feedback mechanisms may also be utilized to enable the client application to “learn” from the user's activities in order to update the user profile and generate more finely-tuned and cogent recommendations. Client applications may also be utilized to manage the seamless presentation of content on the virtual channel, and locate/flag various scenes inside selected content for user viewing or editing.
  • In a further example, when the media client device has poor reception, the device may fetch advertising from local memory while filling its buffer of currently playing network programming (which may or may not be recorded and stored at the device and/or network); in other words, the device or network may pre-store advertisements to “stall” for more time.
  • The network server can also instantiate a trusted domain within a premises if one does not already exist in order to secure the transfer of content to devices within the premises as well as between these devices (as discussed elsewhere herein). For example, using a downloadable CA (DCAS) approach, the necessary software and firmware, if any, can be downloaded, thereby enabling designation of the requesting device as within a trusted domain for handling content. Exemplary trusted domain apparatus and methods are described in co-owned and co-pending U.S. patent application Ser. No. 13/674,866 filed on Nov. 12, 2012 and entitled “TECHNIQUE FOR SECURELY COMMUNICATING AND STORING PROGRAMMING MATERIAL IN A TRUSTED DOMAIN”, incorporated herein by reference in its entirety, although it will be recognized that other approaches may be used.
  • In one embodiment, an authorized service domain (ASD) approach is utilized for protecting content delivered to the client devices. The exemplary configuration of the ASD comprises a UPnP digital rights management technology that is used by the network operator to protect content using security credentials of a multi-stream cable card or secure microprocessor disposed on the requesting device. An exemplary ASD service (ASDService) defines a service that runs on the content server and is invoked by the device. The ASDService process is defined for exchanging and authenticating security credentials to the requesting device and any connected devices within the ASD.
  • The exemplary ASDService, in one embodiment, abides by the UPnP AV Architecture for browsing content, setting up connections, transporting content and finally controlling the flow of the content between devices, although this is by no means a requirement for practicing the present disclosure. The ASDService is a precursor to the UPnP general playback process, and is executed before the requesting device can browse a content directory (e.g., maintained by the content server) or allow playback.
  • In some embodiments, the client device verifies to the network that the subscriber is appropriately authenticated and/or authorized to view the selected content. As previously noted, one exemplary mechanism for doing so is described within the co-owned and co-pending U.S. patent application Ser. No/721,154, filed on Dec. 20, 2012 and entitled “SYSTEM AND METHOD FOR MANAGING ENTITLEMENTS TO DATA OVER A NETWORK””, previously incorporated by reference in its entirety. Common examples of restrictions include restrictions based on: subscriber account considerations (e.g., trial account, premium account, etc.), subscriber age permissions (e.g., R-rated, PG-rated, G-rated, etc.), programming considerations, device limitations, temporal and/or geographic limitations, etc. For example, in one such implementation, the video client verifies that a subscriber is allowed to playback the content (based on their subscriber account permissions) before retrieving the media.
  • At step 404 of the method 400, the media client device retrieves one or more content chunks from a local memory, in accordance with the local stream manifest. Alternatively, the content may be stored separate from the client device, such as at a network entity or edge server.
  • In some cases, the local stream manifests may be incomplete. For example, a home server may store multiple versions of video content which are optimized or limited for e.g., various device resolutions, codec capabilities, etc. Under certain implementations, the media client device may select the appropriate one of various manifest entries for an appropriate version based on header information contained in the manifest entry. Where there is no suitable version of the requested content listed in the local manifest, the version is incomplete, or the version is not optimal, the media client device may identify the issue to the subscriber and/or automatically download the necessary content from the service provider. In some cases, the service provider may have pre-loaded or pre-configured manifest files (e.g., similar to Video-on-Demand (VOD) type services).
  • In some implementations (such as e.g., for certain legacy paradigms), the service provider may provide the bulk file download (i.e., enable the client device to download the entire content), and thereafter the client device can partition the file into media chunks for playback and/or storage either at the device or at a network or edge entity. In addition, the network or the client device of the legacy implementation may create the manifest file.
  • At step 406 of the method 400, the media client device reconstructs a media content stream based at least in part on the retrieved one or more content chunks. In some cases, reconstruction may further include decrypting the media content stream with a key. The key may be specific to e.g., the content, the device, the subscriber, etc. An exemplary method for providing a secure content key exchange between the network and one or more client devices is given in co-owned, co-pending U.S. patent application Ser. No. 13/608,969 filed on Sep. 10, 2012 and entitled “TECHNIQUE FOR SECURELY COMMUNICATING AND STORING PROGRAMMING MATERIAL IN A TRUSTED DOMAIN”, which is incorporated herein by reference in its entirety. As discussed therein, a trusted domain is established within which content received from a communications network, e.g., a cable TV network, is protected from unauthorized copying. In one embodiment, the trusted domain includes a device associated with a user which receives content from the cable TV network. The content may be encrypted using a content key in accordance, e.g., with a 3DES encryption algorithm before it is stored in the device. In addition, a first encrypted content key version and a second encrypted content key version are generated by respectively encrypting the content key with a public key associated with the device and another public key associated with the user, in accordance with public key cryptography. The first and second encrypted content key versions are stored in association with the encrypted content in the device storage. The encrypted content can then be migrated from a first device to a second device also associated to the same subscriber. The second device is then able to decrypt the content using the second encrypted content key version.
  • In some cases, the media client device may identify one or more content chunks which can be ignored (i.e., which will not be displayed). The identification may be based on device limitations, subscriber preferences, business practice, etc. In one example, when a customer has purchased content, the media client device may be provided with an ability to skip commercial breaks, provide content at a higher quality or resolution, etc.
  • Consumer Premise Equipment
  • Referring now to FIG. 5 , one exemplary embodiment of the consumer premise equipment 220 (CPE) configured in accordance with the present disclosure is described in detail. A CPE 220 in the context of the present disclosure generally includes a computerized device running an operating system. The CPE 220 includes a processor subsystem 502, memory subsystem 504, user interface 506, display 508, and one or more network interfaces 510
  • The CPE 220 may comprise for instance any device capable of requesting, receiving, and/or decoding content, whether for display thereon, or for recording, display, or storage on a device in communication therewith. Exemplary devices include set top boxes, television sets, laptop and desktop computers, smart phones, personal media devices (PMD), tablets, netbooks, etc. The CPE 220 may, in one embodiment, be registered to a single physical location (such as a subscriber premises), and make use of a digital rights management (DRM) content protection scheme to comply with limitations on certain content, or provide authorization credentials with respect to protected content.
  • The memory system 504 includes one or more non-transitory computer readable media configured to store one or more computer readable instructions and media content. Common examples of memory systems include without limitation: hard disk drives (HDD), solid state drives (SSDs), random access memory (RAM), dynamic RAM (DRAM), synchronous RAM (SRAM), FLASH, electronically erasable programmable read only memory (EEPROM), etc.
  • The processor 502 of the exemplary CPE 220 is configured execute one or more computer programs stored within the memory system 504. At least a portion of the one or more computer programs are configured to implement the above-disclosed functionalities as discussed above with respect to FIGS. 3-4 . It is further appreciated that the computer programs which enable the aforementioned functionality may be pre-installed on the apparatus, or may be downloaded from a network or the service provider.
  • In one exemplary embodiment, during recording operation, the processor 502 executes one or more computer programs configured to cause the CPE 220 to receive a network stream manifest from a service provider, receive one or more content chunks from the service provider in accordance with the network stream manifest, and for each content chunk, store the content chunk in the memory system 504. Additionally, the processor executes one or more computer programs configured to cause the CPE 220 to generate a local stream manifest that identifies the location (in the memory system 504) of each content chunk.
  • During playback operation, the processor 502 executes one or more computer programs configured to cause the CPE 220 to retrieve a local stream manifest, retrieve one or more content chunks from a local memory, in accordance with the local stream manifest, and reconstruct a media content stream based at least in part on the retrieved one or more content chunks. The reconstructed media content stream is played back e.g., via the display device 508 of the CPE or other rendering apparatus.
  • The user interface 506 of the CPE 220 is configured to accept user input. Most user interfaces 506 are further coupled with a graphical user interface (GUI) program which provides visual feedback via the display 508. Common examples of user interface components include without limitation: mouse, keyboard, touchscreen, remote control, push buttons, etc. Complex implementations may further incorporate e.g., gestures, voice control, etc.
  • The display 508 refers to any visual display technology as embodied within e.g., a screen, a monitor, projection/projector, or other audio/visual (A/V) panel. Common examples of display technologies include e.g., light emitting diode (LED), liquid crystal display (LCD), plasma, cathode ray tube (CRT), digital light processing (DLP), organic LED (OLED), field emission display (FED), laser phosphor display (LPD), etc. Moreover, display 508 may incorporate additional features including e.g., stereoscopic technologies, holographic technologies, etc. Although not specifically illustrated, the display apparatus may further comprise a mechanism for rendering audio portions of content as well.
  • The one or more network interfaces 510 are configured to enable network connectivity to other devices. In one exemplary embodiment, the network interface includes a coaxial cable input (e.g., for connection to a cable provider's CDN). Other examples of network interfaces include wired and wireless technologies, such as e.g.,: RJ-LAN connector with Ethernet LAN card, USB ports, IEEE-1394 “Firewire” interface, wireless interface (such as 802.11 LAN card, WiMAX 802.16 interface, 802.15 PAN interface, Bluetooth interface), Zigbee, or Z-wave and so forth.
  • Example Operation
  • FIG. 6 depicts one embodiment of an exemplary method 600 for recording streaming video content with a stream manifest file, and subsequent video content playback using the stream manifest file. At step 602 of the method 600, a portable device downloads a network stream manifest. In the exemplary portable device, the download occurs in a background process. During viewing, the network stream manifest may be refreshed periodically (such as once every 30 seconds) for the duration of a program. In some cases, the download of the network manifest may be triggered by an event (e.g., a subscriber changing programming selection, network “pushed” updates, a conditional event (such as a timer expiration), etc.
  • APPENDIX A hereto is one exemplary network stream manifest (also referred to as an “elementary playlist”) representing HTTP Live Streaming (HLS) content delivered from a CDN network. As shown, the network stream manifest contains header information and a sequential listing of the full Internet Protocol (IP) path of the video chunks. The header information includes e.g., version information, duration, starting sequence number, etc. Those of ordinary skill in the related art, given the contents of the present disclosure, will readily appreciate that the header information may identify a myriad of useful information e.g., content descriptors, encryption keys, codec, resolution, entitlements, etc. In one exemplary embodiment, the identified encryption keys may comprise encryption key “references” and not the actual keys to decrypt the content. In other words, the manifest signals when the content encryption changes, which then triggers the client player to request this key value from the network, e.g., the DRM.
  • As shown, the network stream manifest includes ten (10) path entries; each path entry identifies the appropriate IP path for a corresponding chunk with a six (6) second chunk of video content. For example, the chunk that is to be played at time stamp 99647 can be found at: http://www.timewarnercable.com/video/channel1/20130320T200040-04-99647.ts. However, as noted previously, the name of the file is merely a convention that may use a time stamp to keep that file from colliding with other file names. The value may have no meaning to the client playback in one embodiment. The alignment of one bitrate manifest may for example be by the MEDIA-SEQUENCE identifier and the sequential relationship of like files in those manifests. In other words, the names do not necessarily have to align.
  • It will be appreciated that other implementations may vary in e.g., length of the manifest, run time of the chunks, ordering of the chunks, etc. For instance, chunks may be ordered in a non-sequential manner so as to enable different resolutions (multiple chunks of different resolutions associated with the same time stamp), background downloads (e.g., chunks for advertisement or other optional content may be interspersed, etc.). In other implementations, chunks may be oddly sized (e.g., six (6) second, twelve (12) second, eighteen (18) second, etc.), or the manifest itself may vary in length (greater or fewer than ten (10) entries), etc.
  • APPENDIX B is the same exemplary network stream manifest thirty (30) seconds later. As shown, the first five (5) entries (time stamps 99647-99651) have been played, and five (5) new entries (time stamps 99657-99662) have been added. In this implementation, the network stream manifest operates similarly to a First-In-First-Out (FIFO) buffer of length ten (10).
  • Responsive to an instruction to record, the portable device downloads one or more incremental chunks of a live video stream according to the network stream manifest (step 604), and stores them locally in the device storage (step 606).
  • The portable device generates and/or updates an internal stream manifest (step 608) which identifies the local storage path associated with each of the incremental chunks. APPENDIX C is one exemplary local stream manifest for time stamps 99647-99656. For example, the chunk that is to be played at time stamp 99647 can be found at: videorecording1/channel1/20130320T200040-04-99647.ts. APPENDIX D is the same exemplary local stream manifest thirty (30) seconds later. As shown, the internal stream manifest for the program must track the entirety of the recorded content, and thus accumulates path entries over the duration of recording.
  • At step 610 of the method 600, applicable entitlements and playback rights are encoded for later use according to a client-based Digital Rights Management (DRM) process executed on the portable device. In one such implementation, the internal stream manifest is encrypted and encoded with entitlement and digital rights management information, including but not limited to: time before deletion, number of entitled playbacks, valid geographical locations for playback, etc. In some instances, the subscriber may be further prompted to add subscriber generated content descriptor for the internal stream manifest e.g.,“Super Bowl”, “Channel 1, recorded Aug. 8, 2010, 8:00 PM”, etc.
  • Subsequently thereafter, when the subscriber requests playback of the video content (e.g., via graphical user interface (GUI) selection), the appropriate internal stream manifest is retrieved (step 612).
  • At step 614 of the method 600, any applicable entitlement restrictions associated with the selected internal stream manifest are evaluated to determine whether playback is allowed. Entitlement restrictions are described in detail within co-owned and co-pending U.S. patent application Ser. No. /721,154, filed on Dec. 20, 2012 and entitled “SYSTEM AND METHOD FOR MANAGING ENTITLEMENTS TO DATA OVER A NETWORK””, previously incorporated by reference in its entirety. In one such implementation, the portable device verifies that a subscriber is allowed to view the content (based on their subscriber account permissions) before allowing the media player access to the video content for playback locally on the portable device. Additional safeguards such as maximum life of local storage and periodic network access requirements (e.g., to “refresh” content permissions) may be imposed to verify device entitlement of the video content.
  • At step 616 of the method 600, if playback is allowed, then the portable device decompresses, decodes, and displays the content associated with each chunk of the content, as specified by the internal stream manifest. Otherwise, where playback is not allowed, the portable device denies the request, possibly with an error message (e.g., “the requested content is restricted”, “the requested content must be purchased”, etc.). The following discussions present several salient variants which further enhance, optimize, or modify the disclosed methods and apparatus, according to a variety of operational or business models. Still other variants will be readily appreciated by artisans of ordinary skill in the related arts, given the contents of the present disclosure.
  • Video Resolution Enhancement and Optimization
  • In some variants, the entries of the local stream manifest (and associated chunks) support a range of different video resolutions. Such an embodiment may be particularly useful for a home server which may support playback over a number of different consumer devices (e.g., a subscriber's tablet, smart phone and High Definition Television (HD TV)). APPENDIX E illustrates one such exemplary “multi-resolution playlist”. As shown, the internal stream manifest includes a header which, in the illustrated embodiment, identifies three (3) distinct supported resolutions: 640×480, 720×480, and 1920×1080. Other peripheral information is included (e.g., necessary bandwidth, supported codecs, etc.). Each entry consists of three (3) elementary streams corresponding to the appropriate resolution size to be played at a time stamp as referenced by their elementary stream manifest. During replay, the entity functioning as a local content server identifies the appropriate chunk associated with the desired playback resolution as referenced by its elementary stream manifest and provides the chunk to the requesting video client.
  • In another variant, the entries of the internal or local stream manifest (and associated chunks) are further optimized or abbreviated for offline access by a specified device having a specified resolution. Since the portable device will not access the video content from the home server or service provider (in real-time), the video client can detect the portable device type and rewrite the variant playlist to restrict the elementary stream for just the profiles that matches the desired quality and viewer experience that is supported by the portable device. Optimization prevents pixilated low quality videos or sluggish decode and down-sampling of an over-coded video. APPENDIX F illustrates one such internal stream manifest which has been optimized for an HD TV. The pruned entries are noted with strike outs. DRM rules for what can be played on-net versus off-net is another example of how these rules may be utilized.
  • As shown, for HLS, the “main” manifest references multiple “elementary” manifest by URL. In APPENDIX E, the shaded section, represents a “main” manifest of a video stream. It references multiple “elementary” manifest “files” as “01.m3u8”, “02.m3u8” and “03.m3u8”, all by relative path to where the main manifest is located (.i.e: in the same directory of the “main” manifest URL). One may compare the manifest of APPENDIX E with that of APPENDIX A, which is an example of an “elementary” manifest and only contains contents (reference video chunks) that are valid for the resolution, bandwidth, encoding, etc. that is referenced for it in the “main” manifest. Elimination of a reference to the elementary stream in APPENDIX F, eliminates the elementary stream “chunks” from being downloaded to the device.
  • Dynamic Advertisement Insertion and Tracking during Playback
  • As previously alluded to, one significant stream of revenue for service providers is that of advertisement views. More directly, commercial advertisers are willing to pay a price premium if a service provider can guarantee and/or verify a pre-determined number for views their advertisement will receive. Thus, in some business models, there may be commercial incentives for dynamic advertisement insertion and/or advertisement tracking.
  • In one exemplary embodiment, the video client detects advertisement insertion points within a live video feed and modifies them on the fly when they are stored locally. In some cases, this can be done by inserting tags or identifiable links in the playlist file for advertisement placement during encoding of the live stream.
  • In one embodiment, methods and apparatus for identifying, creating and distributing audience or viewer qualities to an advertisement management system and/or an advertisement decision maker such as those discussed in co-owned, co-pending U.S. patent application Ser. No. 12/503,749 filed on Jul. 15, 2009 and entitled “METHODS AND APPARATUS FOR EVALUATING AN AUDIENCE IN A CONTENT-BASED NETWORK”, which is incorporated herein by reference in its entirety, may be utilized. As discussed therein, viewership data is provided in real-time (or near-real time), and audience activities regarding, inter alfa, broadcast, VOD, and DVR content are monitored. In one variant, a content provider may create more targeted advertising campaigns through use of an algorithm that combines advertising placement opportunities with audience qualifiers (i.e., psychographic, geographic, demographic, characteristic, etc. classifications) to create an advertising “inventory” that can be more readily monetized. In different variants, the inventory can be based on historical and/or “real time” data, such that adverting placements can be conducted dynamically based on prevailing audience characteristics or constituency at that time.
  • Identification and insertion of content targeted to a particular audience within a content-based network, such as a cable television or satellite network, may be accomplished via the apparatus and methods disclosed in co-owned, co-pending U.S. patent application Ser. No. 12/503,710 on Jul. 15, 2009 and entitled “METHODS AND APPARATUS FOR TARGETED SECONDARY CONTENT INSERTION”, which is incorporated herein by reference in its entirety. As discussed therein, content is identified by analyzing audience or viewer qualities (i.e., psychographic, geographic, or demographic, characteristic or classifications) at a particular insertion opportunity using an advertisement management system (and associated advertisement decision maker process). The advertisement management system then, in one embodiment, uses the gathered audience information to correlate particular advertisements or other content thereto. In one variant, an algorithm is used to analyze audience qualifiers (i.e., attributes of an audience or its behavior), and determine the “proximity” of a given audience (e.g., that currently viewing a program where an impending placement opportunity will occur) to a set of audience qualifiers of a target audience of an advertisement. The placement opportunity can then be optimized for one or more variables (e.g., proximity, revenue, impressions, etc.) by selecting the best fitting advertisement for that opportunity.
  • Referring now to APPENDIX G, one abbreviated exemplary network stream manifest describing content delivered from a CDN network is shown. As shown, at time stamp 99649, a commercial advertisement for snacks has been inserted, and is serviced from www.adserver.com. While the presented example is implemented with a manifest entry, it is readily appreciated that other indicia may be interchanged (e.g., via metadata, etc.) the foregoing example being merely illustrative.
  • During recording, the video client identifies the commercial advertisement and (if the advertisement should be stored) stores the advertisement in a separate location e.g., a memory location dedicated for commercials. In some cases, the video client may simply ignore the advertisement and substitute other advertisements. For example, as shown in APPENDIX H, the local manifest has replaced the commercial advertisement for snacks with a commercial advertisement for beverages. Time stamps for inserted commercials may be out of sequence, and do not affect the time stamps of the video content.
  • APPENDIX G and H illustrate exemplary advertisement insertion implementations. Although APPENDIX H illustrates a longer advertisement to be inserted as two “chunks” of 6 seconds each, it is appreciated that actual advertisements may be of various lengths (the foregoing being merely exemplary).
  • As a brief aside, advertisement “localization” is one business application of which remains ripe for exploitation. Localization refers to controlling advertisement viewership such that (i) the advertisement is viewed by the appropriate subset of subscribers to whom the advertisement is targeted, and that (ii) uninterested subscribers are shown replacement advertisements which are more likely to entice their interest. In most IPTV deployments such as one implemented over a cable data network, the subscriber accounts associated with video clients are known at the network-side servers. These subscriber accounts may be further associated with various demographics of interest (e.g., geography, commercial interests, age groups, etc.).
  • Accordingly, in some embodiments, the video client may additionally include an advertisement decision module which: (i) dynamically selects advertisements from locally stored video advertisement clips tailored for the viewer, (ii) tracks advertisement viewing, and possibly (iii) reports advertisement viewing metrics to the service provider. For devices which can possibly track advertisement success (e.g., a subscriber “clicks through” a displayed advertisement), success metrics may also be reported. Advertisement metrics for the population of subscriber devices can have significant impact on contract negotiations (the service provider can easily justify price premiums for known viewership). Moreover, as previously noted, traditional recorded advertisement viewing cannot not be tracked or changed with prior art solutions. The present disclosure advantageously provides a clear means to account for individual views of each advertisement (i.e., the video client can tally each time an advertisement chunk is played).
  • For example, the apparatus and methods of co-owned, co-pending U.S. patent application Ser. No. 12/877,062 filed on Sep. 7, 2010 and entitled “METHODS AND APPARATUS FOR AUDIENCE DATA COLLECTION AND ANALYSIS IN A CONTENT DELIVERY NETWORK”, which is incorporated herein by reference in its entirety, may be utilized to collect audience data. As discussed therein, audience data is collected from various data sources, such as inter alia, a device/user data source, an switched digital video (SDV) data source, a subscriber data source, a video on-demand (VOD) data source, an application server (AS) data source, an advertisement data source, and an electronic program guide (EPG) data source. Information may also be collected from the use of interactive applications (e.g., “iTV” or similar interactive applications). Collected data is then transmitted to a data collection system, where the records are collected, processed and used to generate files for delivery to a subscriber data analysis (SDA) system, the delivered data is then used for detailed analysis of user preferences, activity, and/or behavior. Reports relating to particular viewership for specific programs as well as for genre, time of day, day of week, etc. may be generated and used for deriving revenue by the MSO.
  • In another variant, the methods and apparatus of co-owned, co-pending U.S. patent application Ser. No. 12/829,104 filed on Jul. 5, 2013 “APPARATUS AND METHODS FOR DATA COLLECTION AND VALIDATION”, which is incorporated herein by reference in its entirety, may also be utilized. As discussed therein, audience information is obtained directly from customer's premises equipment (i.e., set top boxes, cable modems, PCs, PMDs, IP devices, etc.), for each individual device, or even on a per-user basis where possible, thereby allowing a content provider or other analytical entity to gather specific information in large quantities across a broad geographical area, or demographic/psychographic slice. Advantageously, multiple sources of content to which viewership behavior relates can be simultaneously monitored, and subscriber anonymity or privacy maintained (i.e., no use is made of personally identifiable information).
  • In one embodiment, statistical methods (e.g., linear regression, log linear regression) are used to arrive at an expected value for one or more of the various fields and records of the collected data. Accordingly, it may be detected when received data contains errors. Specifically, collected data is compared to the derived (e.g., average) or expected value, and if the data meets one or more prescribed criteria (e.g., is a given number of standard deviations away from the expected value or more) indicating that the data quality may be unacceptable, an error message is generated and the data optionally excluded. Hence, the foregoing features enable monitoring of an entire system proactively using a statistical or other method to alert the network operator only in the instance erroneous data meeting the test(s) of significance is received. In addition, a large volume of data (in a comparatively contracted period of time) may be assessed without requiring manual monitoring and/or error correction.
  • The foregoing mechanisms may be further utilized for data collection, validation, and analysis across multiple platforms. That is, data regarding a users interaction with content may be collected and utilized regardless of the device on which the content is received or requested, the source of the content, the type of content (e.g., linear, VOD, DVR, highspeed data, etc.), etc. While the exemplary systems and methods operate utilizing two-way capable user devices such as those used in cable or fiber optic (FTTC, FTTH, etc.) networks, non-two way capable devices (such as for example are used in some satellite-based implementations) can leverage various backhauls (e.g., broadband, DSL/dial-up or “over the top” backhaul) from the target premises to transmit tuning or other useful information to a third party (e.g., third party website). The third party collects the data and sends the data back to the satellite MSO (or caches the data first, and sends it up to the MSO at a later time). Pre-processing or “enrichment” of the data may also be conducted by the third party if desired.
  • Additionally, latency associated with the data collection may be accounted for via the methods and apparatus disclosed in co-owned, co-pending U.S. patent application Ser. No. 12/944,648 filed on Nov. 11, 2010 and entitled “APPARATUS AND METHODS FOR IDENTIFYING AND CHARACTERIZING LATENCY IN A CONTENT DELIVERY NETWORK”, which is incorporated herein by reference in its entirety.
  • In some variants, the advertisement decision module may additionally receive/download different advertisements, updated business rules, etc. from the service provider. These targeted advertisements may be selected according to the appropriate subscriber account based on e.g., geography, social network (e.g., friends and family), employment, interest, and/or other demographics. In some cases, these downloads can be performed as a background process so as not to interfere with customer service and experience.
  • It is further appreciated that under certain revenue models, a customer could watch network streamed content and purchase the content outright. Once purchased, the local manifest is stripped of advertisement breaks in whole or part (or during playback, the advertisement breaks may be automatically skipped).
  • It will be recognized that while certain aspects of the disclosure are described in terms of a specific sequence of steps of a method, these descriptions are only illustrative of the broader methods of the disclosure, and may be modified as required by the particular application. Certain steps may be rendered unnecessary or optional under certain circumstances. Additionally, certain steps or functionality may be added to the disclosed embodiments, or the order of performance of two or more steps permuted. All such variations are considered to be encompassed within the disclosure disclosed and claimed herein.
  • While the above detailed description has shown, described, and pointed out novel features of the disclosure as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the disclosure. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the disclosure. The scope of the disclosure should be determined with reference to the claims.
  • Appendix A
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:99647 #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99648.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99649.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99650.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99651.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99652.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99653.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99654.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99655.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99656.ts
  • Appendix B
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:99652 #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99652.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99653.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99654.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99655.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99656.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99657.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99658.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99659.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99660.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99661.ts
  • Appendix C
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:99647 #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99648.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99649.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99650.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99651.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99652.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99653.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99654.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99655.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99656.ts
  • Appendix D
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:99647 #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99648.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99649.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99650.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99651.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99652.ts v#EXTINF:6.006,
    videorecording1/channel1/20130320T200040-04-99653.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99654.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99655.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99656.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99657.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99658.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99659.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99660.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99661.ts
  • Appendix E
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    Main Manifest #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=
  • ID=1, BANDWIDTH=929472,RESOLUTION=640×480,CODECS=“avc1.4d401e,mp4a.40.5” 01.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=
  • ID=1,BANDWIDTH=1648384,RESOLUTION=720×480,CODECS=“avc1.4d401e,mp4a.40.5” 02.m3u8
  • #EXT-X-STREAM-INF:PROGRAM-ID=
  • ID=1,BANDWIDTH=3188480,RESOLUTION=1920×1080,CODECS=“avc1.4d4028,mp4a.40.5” 03.m3u8
    01.m3u8 elementary stream manifest
  • #EXTINF:6.006,
  • videorecording1/channel1/640_480/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/640_480/20130320T200040-04-99648.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/640_480/20130320T200040-04-99649.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/640_480/20130320T200040-04-99650.ts
  • #EXTINF:6.006,
  • 02.m3u8 elementary stream manifest
  • #EXTINF:6.006,
  • videorecording1/channel1/720_480/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/720_480/20130320T200040-04-99648.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/720_480/20130320T200040-04-99649.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/720_480/20130320T200040-04-99650.ts
  • #EXTINF:6.006,
  • 03.m3u8 elementary stream manifest
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99648.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99649.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99650.ts
  • #EXTINF:6.006, Appendix F
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    Main Manifest #EXT-X-STREAM-INF:PROGRAM-ID=
  • ID=1,BANDWIDTH=3188480,RESOLUTION=1920×1080,CODECS=“avc1.4d4028,mp4a.40.5” 03.m3u8
    03.m3u8 elementary stream manifest
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99648.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99649.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/19201080/20130320T200040-04-99650.ts
  • #EXTINF:6.006, Appendix G
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:99647 #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99648.ts
  • #EXT-X-SIGNAL-EXIT:6.006 #EXTINF:6.006,
  • http://www.adserver.com/snacks/20130320T200040-04-99649.ts
  • #EXT-X-SIGNAL-RETURN:6.006 #EXT-X-DISCONTINUITY #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99650.ts
  • #EXTINF:6.006,
  • http://www.timewarnercable.com/video/channel1/20130320T200040-04-99651.ts
  • Appendix H
      • ® Copyright 2014 Time Warner Cable Enterprises LLC All rights reserved
    #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:7 #EXT-X-MEDIA-SEQUENCE:99647 #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99647.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99648.ts
  • #EXT-X-SIGNAL-EXIT:12.012 #EXTINF:6.006,
  • commercial/beverages/00000.ts
  • #EXTINF:6.006,
  • commercial/beverages/00001.ts
  • #EXT-X-SIGNAL-RETURN:12.012 #EXT-X-DISCONTINUITY #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99650.ts
  • #EXTINF:6.006,
  • videorecording1/channel1/20130320T200040-04-99651.ts

Claims (28)

1-20. (canceled)
21. A computerized method for recording a live digitally rendered media stream, the computerized method comprising:
receiving, at a computerized client device in data communication with a managed network, at least one network data structure associated with the live digitally rendered media stream, the at least one network data structure (i) comprising a plurality of uniform resource locators (URLs), the plurality of URLs indicative of a plurality of respective first network locations of the managed network where a plurality of respective digitally rendered media segments may be accessed, and (ii) establishing a device-based security boundary around at least the computerized client device, the device-based security boundary enabling an operator of the managed network to maintain one or more content protection mechanisms over the plurality of respective digitally rendered media segments outside of the managed network;
based at least on the at least one network data structure, accessing at least two of the plurality of digitally rendered media segments from respective ones of the plurality of first network locations;
storing the accessed at least two of the plurality of digitally rendered media segments in one or more second locations accessible to the computerized client device;
producing a local data structure with data relating to the one or more second locations, the local data structure comprising a version of the at least one network data structure modified based on one or more parameters associated with a non-managed internetwork, the version of the at least one network data structure configured to maintain the device-based security boundary; and
utilizing the local data structure to access, without data communication to the managed network and according to the one or more parameters, the at least two of the plurality of digitally rendered media segments stored in the one or more second locations.
22. The computerized method of claim 21, wherein the accessing of at least two of the plurality of digitally rendered media segments from the respective ones of the plurality of first locations comprises accessing at least the at least two of the plurality of digitally rendered media segments from one or more universal edge QAM (quadrature amplitude modulation) devices.
23. The computerized method of claim 21, wherein:
the accessing of at least two of the plurality of digitally rendered media segments comprises accessing the at least two of the plurality of digitally rendered media segments from a portion of a virtual storage apparatus, the portion specifically associated with the computerized client device, such that only the computerized client device can access the portion of the virtual storage apparatus; and
the virtual storage apparatus comprises a plurality of discrete storage apparatus disposed at different physical locations but logically operative as a single storage apparatus.
24. The computerized method of claim 21, wherein the storing of the accessed at least two digitally rendered media segments comprises storing the accessed at least two digitally rendered media segments at a cloud-based entity, the cloud-based entity comprising a network storage location of the managed network, the network storage location specifically designated for use only by the computerized client device or a user associated therewith.
25. The computerized method of claim 24, wherein:
the storing of the accessed at least two digitally rendered media segments at the cloud-based entity comprises storing at least one advertisement associated with the live digitally rendered media stream in a storage location reserved for storage of advertisements only; and
the computerized method further comprises executing computerized logic configured to:
(i) ignore playback of the at least one advertisement based on the computerized client device being within a premises of a user of the computerized client device; and
(ii) cause playback of the at least one advertisement based on the computerized client device being outside of the premises.
26. The computerized method of claim 21, wherein the storing of the accessed at least two digitally rendered media segments in the one or more second locations comprises storage in a local memory apparatus of the computerized client device.
27. The computerized method of claim 21, wherein one or more of the plurality of URLs comprise one or more URLs punctuated with at least Hypertext Markup Language (HTML) tags or Javascript, such punctuation enabling at least one of: (i) advertisement insertion, and/or (ii) execution of complementary programming, the execution by the computerized client device.
28. The computerized method of claim 21, further comprising consulting the at least one network data structure for one or more other digitally rendered media segments comprising a first advertisement;
wherein:
the accessing of the at least two digitally rendered media segments comprises accessing the one or more other digitally rendered media segments; and
the producing the local data structure with the data relating to the one or more second locations comprises updating an existing local data structure, the updating comprising replacing, by the computerized client device, a second advertisement with the first advertisement.
29. The computerized method of claim 28, wherein the first advertisement: (i) bears a logical or deterministic relationship to at least one of an operational or business parameter, and (ii) is encoded so as to permit delivery over a designated network distribution path.
30. The computerized method of claim 21, further comprising identifying a portion of the at least one network data structure, the portion indicating at least two incompatible digitally rendered media segments that are incompatible with one or more capabilities of the computerized client device;
wherein the accessing of the at least two of the plurality of digitally rendered media segments is based at least in part on the identifying, and the at least two of the plurality of digitally rendered media segments are compatible with the one or more capabilities of the computerized client device and configured to replace the at least two incompatible digitally rendered media segments.
31. The computerized method of claim 21, further comprising:
identifying a portion of the at least one network data structure that is incomplete; and
causing completion of the portion of the at least one network data structure, the completion based on at least the accessing of the at least two of the plurality of digitally rendered media segments.
32. The computerized method of claim 21, wherein the producing of the local data structure comprises omitting at least one digitally rendered content segment that is incompatible with one or more capabilities of the computerized client device.
33. The computerized method of claim 21, wherein:
the accessing of the at least two of the plurality of digitally rendered media segments from the respective ones of the plurality of first network locations comprises accessing of the at least two of the plurality of digitally rendered media segments consistent with one or more network content delivery quality of service (QoS) guarantees configured by the operator of the managed network; and
the access of the at least two of the plurality of digitally rendered media segments according to the one or more parameters comprises accessing the at least two of the plurality of digitally rendered media segments to render the live digitally rendered media stream without the one or more network content delivery QoS guarantees.
34. The computerized method of claim 33, wherein the accessing of the at least two of the plurality of digitally rendered media segments consistent with the one or more network content delivery QoS guarantees comprises accessing the at least two of the plurality of digitally rendered media segments according to a prioritized hierarchy.
35. The computerized method of claim 33, wherein the accessing of the at least two of the plurality of digitally rendered media segments according to the prioritized hierarchy comprises accessing one or more digitally rendered content segments relating to programming content before retrieving one or more secondary digitally rendered content segments relating to advertising.
36. The computerized method of claim 21, wherein the access, without data communication to the managed network, of the at least two of the plurality of digitally rendered media segments comprises access of the at least two of the plurality of digitally rendered media segments while the one or more content protection mechanisms are maintained.
37. A computerized client device, the computerized client device comprising:
display apparatus;
processor apparatus; and
storage apparatus in data communication with the processor apparatus, the storage apparatus comprising at least one computer program configured to, when executed on the processor apparatus, cause the computerized client device to:
cause storage of a plurality of digitally rendered content elements at a plurality of network locations, the plurality of network locations enabling access to the plurality of respective digitally rendered content elements;
retrieve a local stream manifest, the local stream manifest indicative of the plurality of network locations and used by the computerized client device in rendering the plurality of digitally rendered content elements;
retrieve two or more of the plurality of digitally rendered content elements in accordance with the local stream manifest;
reconstruct a digitally rendered media content stream based at least in part on the retrieved two or more of the plurality of digitally rendered content elements; and
cause display, via the display apparatus, of the digitally rendered media content stream;
wherein the plurality of digitally rendered content elements comprise non-time-based media segments of irregular length.
38. The computerized client device of claim 37, further comprising a software-based graphical user interface (GUI), the GUI configured to enable a user of the computerized client device to select media content based on at least one of (i) a subscriber-generated content descriptor, or (ii) a default content descriptor;
wherein the at least one of the subscriber-generated content descriptor or the default content descriptor is descriptive of the local stream manifest.
39. The computerized client device of claim 37, wherein:
the at least one computer program is further configured to, when executed on the processor apparatus:
receive input relating to a search term;
utilize the input to cause performance of a search, the search based on the search term;
display of a listing of playlists, the listing of playlists resulting from the performed search; and
receive input relating to a selection of a particular playlist from the displayed listing of playlists; and
the retrieval of the local stream manifest comprises retrieval of a stream manifest for the selected particular playlist.
40. The computerized client device of claim 37, wherein:
the at least one computer program is further configured to, when executed on the processor apparatus:
record a plurality of digital media programs according to a pre-arranged schedule; and
automatically select one or more of the plurality of recorded digital media programs based on data relating to pre-defined selection criteria; and
the display, via the display apparatus, of the digitally rendered media content stream comprises display of the selected one or more of the plurality of recorded digital media programs.
41. The computerized client device of claim 37, wherein the display, via the display apparatus, of the digitally rendered media content stream comprises display of the digitally rendered media content stream as part a continuous stream on a virtual channel, the virtual channel: (i) comprising digitally rendered content compiled from a plurality of different content sources, and (ii) personalized based at least in part on data relating to one or more preferences, the one or more preferences associated with at least the computerized client device or a user thereof.
42. The computerized client device of claim 37, wherein:
the local stream manifest comprises a plurality of uniform resource locators (URLs), the plurality of URLs indicative of the plurality of network locations where the respective plurality of digitally rendered content elements may be accessed; and
at least a portion of the plurality of URLs comprise one or more URLs punctuated with at least one of (i) HTML (HyperText Markup Language) tags or (ii) Javascript, configured to enable dynamic advertisement insertion.
43. Computer readable apparatus comprising a non-transitory storage medium, the non-transitory storage medium comprising at least one computer program having a plurality of instructions, the plurality of instructions configured to, when executed on a processing apparatus, cause a computerized client device to:
obtain, at the computerized client device, first data, at least a portion of the first data relating to a network stream manifest, the network stream manifest indicative of a plurality of locations of a network server apparatus from which a plurality of respective digitally rendered content elements may be downloaded;
based at least in part on the network stream manifest, download individual ones of the plurality of digitally rendered content elements from respective ones of the plurality of locations,;
store the downloaded ones of the plurality of digitally rendered content elements in one or more second network locations of a network storage apparatus of a managed content delivery network; and
cause at least one of (i) a generation, or (ii) an update of an internal stream manifest to identify the one or more second network locations, the internal stream manifest disposed within the computerized client device;
wherein the at least one of (i) the generation, or (ii) the update of the internal stream manifest is effected in real-time during the rendering of at least the portion of the individual ones of the plurality of digitally rendered content elements.
44. The computer readable apparatus of claim 43, wherein:
the download of the individual ones of the plurality of digitally rendered content elements comprises download of the individual ones of the plurality of digitally rendered content elements in accordance with one or more quality of service (QoS) requirements, the one or more QoS requirements configured by a network operator of the managed content delivery network; and
the internal stream manifest is used by the computerized client device in rendering at least a portion of the individual ones of the plurality of digitally rendered content elements without the one or more QoS requirements.
45. The computer readable apparatus of claim 43, wherein:
the obtainment of the first data comprises retrieval of at least one indication of an advertisement insertion time stamp associated with a digital media stream; and
the plurality of instructions are further configured to, when executed on the processing apparatus, cause the computerized client device to:
select one or more advertisement content elements of the digital media stream for replacement according to one or more preferences, the one or more preferences associated with the computerized client device or a user thereof; and
during each playback instance of the one or more advertisement content elements, dynamically replace, via at least the computerized client device, the one or more advertisement content elements with one or more replacement advertisement content elements at the advertisement insertion time stamp.
46. The computer readable apparatus of claim 45, wherein the plurality of instructions are further configured to, when executed on the processing apparatus, cause the computerized client device to:
report, to a service provider and via transmission of a data message, when the one or more replacement advertisement content elements have been played such that the service provider can account for each view of one or more advertisements respectively associated with the one or more replacement advertisement content elements.
47. The computer readable apparatus of claim 43, wherein:
the plurality of instructions are further configured to, when executed on the processing apparatus, cause the computerized client device to:
based on receipt of second data, retrieve the generated or updated internal stream manifest, the second data representative of a request for playback of a digital media stream;
determine whether playback of the digital media stream is authorized; and
based on a determination that playback of the digital media stream is authorized, cause display, at the computerized client device, of the digital media stream; and
the playback comprises reconstruction of the digital media stream, the reconstruction comprising (i) utilization of at least the stored ones of the plurality of digitally rendered content elements, and (ii) omission of at least one digitally rendered content element that is incompatible with one or more capabilities of the computerized client device.
US18/381,483 2014-03-19 2023-10-18 Apparatus and methods for recording a media stream Pending US20240048791A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/381,483 US20240048791A1 (en) 2014-03-19 2023-10-18 Apparatus and methods for recording a media stream

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/220,021 US20150271541A1 (en) 2014-03-19 2014-03-19 Apparatus and methods for recording a media stream
US16/261,164 US11800171B2 (en) 2014-03-19 2019-01-29 Apparatus and methods for recording a media stream
US18/381,483 US20240048791A1 (en) 2014-03-19 2023-10-18 Apparatus and methods for recording a media stream

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US16/261,164 Division US11800171B2 (en) 2014-03-19 2019-01-29 Apparatus and methods for recording a media stream

Publications (1)

Publication Number Publication Date
US20240048791A1 true US20240048791A1 (en) 2024-02-08

Family

ID=54143339

Family Applications (3)

Application Number Title Priority Date Filing Date
US14/220,021 Abandoned US20150271541A1 (en) 2014-03-19 2014-03-19 Apparatus and methods for recording a media stream
US16/261,164 Active US11800171B2 (en) 2014-03-19 2019-01-29 Apparatus and methods for recording a media stream
US18/381,483 Pending US20240048791A1 (en) 2014-03-19 2023-10-18 Apparatus and methods for recording a media stream

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US14/220,021 Abandoned US20150271541A1 (en) 2014-03-19 2014-03-19 Apparatus and methods for recording a media stream
US16/261,164 Active US11800171B2 (en) 2014-03-19 2019-01-29 Apparatus and methods for recording a media stream

Country Status (5)

Country Link
US (3) US20150271541A1 (en)
EP (1) EP3120565A4 (en)
JP (2) JP6612768B2 (en)
CA (2) CA2941117C (en)
WO (1) WO2015142741A2 (en)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1932076B1 (en) * 2005-10-04 2020-07-08 Assia Spe, Llc Dsl system
US20080235746A1 (en) 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US9467369B2 (en) 2013-08-02 2016-10-11 Time Warner Cable Enterprises Llc Packetized content delivery apparatus and methods
US20150271541A1 (en) 2014-03-19 2015-09-24 Time Warner Cable Enterprises Llc Apparatus and methods for recording a media stream
US20150326892A1 (en) * 2014-05-09 2015-11-12 Sony Corporation System and method for identifying target areas in a real-time video stream
US20160094876A1 (en) * 2014-09-29 2016-03-31 The Nielsen Company (Us), Llc Methods and apparatus to selectively report media detections in real-time
US10084838B2 (en) 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US10142386B2 (en) 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US9509742B2 (en) * 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10070155B2 (en) 2014-11-10 2018-09-04 Time Warner Cable Enterprises Llc Packetized content delivery apparatus and methods
US9654807B2 (en) * 2015-03-27 2017-05-16 Thales, Inc. Aircraft communications system with adaptive streaming video and associated methods
US10375452B2 (en) 2015-04-14 2019-08-06 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
US10455265B2 (en) * 2015-04-27 2019-10-22 Ericsson Ab Program and device class entitlements in a media platform
US10070174B2 (en) * 2015-06-05 2018-09-04 Apple Inc. Movie package file format to persist HLS onto disk
US9743151B2 (en) 2015-06-24 2017-08-22 Time Warner Cable Enterprises Llc Multicast video program switching architecture
US9924392B2 (en) * 2015-09-21 2018-03-20 Cienna Corporation SDN orchestration and optimization of antennas and frequencies in radio access networks
US9917690B2 (en) * 2015-10-01 2018-03-13 Time Warner Cable Enterprises Llc Encryption management, content recording management, and playback management in a network environment
US10341379B2 (en) 2016-02-12 2019-07-02 Time Warner Cable Enterprises Llc Apparatus and methods for mitigation of network attacks via dynamic re-routing
US10586023B2 (en) * 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
EP3466013B1 (en) * 2016-05-23 2020-01-15 Telefonaktiebolaget LM Ericsson (PUBL) Obscured retrieval sequence for information centric networking (icn) encoded video streams
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10652594B2 (en) 2016-07-07 2020-05-12 Time Warner Cable Enterprises Llc Apparatus and methods for presentation of key frames in encrypted content
US10642917B2 (en) * 2016-11-14 2020-05-05 Triton Us Vp Acquisition Co. Method and device for sharing segmented video content across multiple manifests
US10123061B2 (en) * 2016-11-29 2018-11-06 The Directv Group, Inc. Creating a manifest file at a time of creating recorded content
CN108123927A (en) * 2016-11-30 2018-06-05 中兴通讯股份有限公司 A kind of CDN network communication means, apparatus and system
US10825022B1 (en) * 2017-03-03 2020-11-03 Wells Fargo Bank, N.A. Systems and methods for purchases locked by video
US10129593B2 (en) * 2017-03-14 2018-11-13 Charter Communications Operating, Llc Time-based dynamic secondary content placement calls in time-shifted content
EP3605956B1 (en) * 2017-04-01 2023-03-01 Huawei Technologies Co., Ltd. Iptv service quality detection method, device and system
US20180352287A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Persistent ID for Offline Access to Streamed Media
EP3425865B1 (en) * 2017-07-05 2019-12-18 Siemens Mobility GmbH Method and device for unidirectional transmission of data to a remote application server without feedback
US10958948B2 (en) 2017-08-29 2021-03-23 Charter Communications Operating, Llc Apparatus and methods for latency reduction in digital content switching operations
US10623787B1 (en) 2017-11-01 2020-04-14 Amazon Technologies, Inc. Optimizing adaptive bit rate streaming for content delivery
US10659512B1 (en) * 2017-12-05 2020-05-19 Amazon Technologies, Inc. Optimizing adaptive bit rate streaming at edge locations
CN110138716B (en) * 2018-02-09 2020-11-27 网宿科技股份有限公司 Key providing method, video playing method, server and client
EP3759887A4 (en) 2018-02-26 2022-03-09 Charter Communications Operating, LLC Apparatus and methods for packetized content routing and delivery
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
EP3818684A1 (en) * 2018-07-02 2021-05-12 Intelsat US LLC Base station architecture integrating satellite-based content delivery with 4g/lte mobile network
US20210136437A1 (en) * 2018-07-16 2021-05-06 Google Llc Custom zoning for addressable television advertisements
US10419786B1 (en) 2018-07-20 2019-09-17 Fubotv Inc. Systems and methods for securely generating live previews
AU2018436153B2 (en) * 2018-08-07 2022-11-17 Setos Family Trust System for temporary access to subscriber content over non-proprietary networks
CN111182314B (en) * 2018-11-12 2022-06-03 阿里巴巴集团控股有限公司 Live stream processing method and device and data processing method
US11234027B2 (en) * 2019-01-10 2022-01-25 Disney Enterprises, Inc. Automated content compilation
US11039221B2 (en) 2019-04-19 2021-06-15 At&T Intellectual Property I, L.P. Apparatus and method for facilitating trickplay playback
EP4022390A4 (en) * 2019-08-26 2023-08-23 Light Field Lab, Inc. Light field display system for sporting events
US11218525B2 (en) 2020-01-21 2022-01-04 Dish Network L.L.C. Systems and methods for adapting content delivery based on endpoint communications
US11050854B1 (en) 2020-06-30 2021-06-29 Intuit Inc. Embedded remote desktop in integrated module
CN112040258B (en) * 2020-08-25 2022-06-03 北京达佳互联信息技术有限公司 Live broadcast control method, device, equipment and storage medium
US11297368B1 (en) 2021-02-12 2022-04-05 Louis-Pierre Guidetti Methods, systems, and apparatuses and live audio capture
US11451872B1 (en) * 2021-05-27 2022-09-20 Sling TV L.L.C. System, device, and processes for intelligent start playback of program content
US20230142278A1 (en) * 2021-11-10 2023-05-11 Synamedia Limited Secure Content Distribution and Trusted Recording of Content Consumption
WO2023205025A2 (en) * 2022-04-18 2023-10-26 Dolby Laboratories Licensing Corporation Multisource methods and systems for coded media
CN115209164B (en) * 2022-07-13 2023-04-07 郑州大学 Block chain-based multi-view video transmitting method, server and storage medium

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4195351A (en) 1978-01-27 1980-03-25 International Business Machines Corporation Loop configured data transmission system
US6636238B1 (en) 1999-04-20 2003-10-21 International Business Machines Corporation System and method for linking an audio stream with accompanying text material
US6801294B2 (en) 1999-10-19 2004-10-05 Samsung Electronics Co., Ltd. Recording and/or reproducing apparatus and method using key frame
US20010042249A1 (en) * 2000-03-15 2001-11-15 Dan Knepper System and method of joining encoded video streams for continuous play
US20050210145A1 (en) 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
GB2366926A (en) 2000-09-06 2002-03-20 Sony Uk Ltd Combining material and data
US6964025B2 (en) 2001-03-20 2005-11-08 Microsoft Corporation Auto thumbnail gallery
US7076478B2 (en) * 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US8713623B2 (en) 2001-09-20 2014-04-29 Time Warner Cable Enterprises, LLC Technique for effectively providing program material in a cable television system
US7725557B2 (en) * 2002-06-24 2010-05-25 Microsoft Corporation Client-side caching of streaming media content
US7074002B2 (en) 2002-12-04 2006-07-11 Griswold Machine & Engineering Inc. Parts container with in and out conveyors driven in unison
US20050227773A1 (en) * 2003-09-24 2005-10-13 Lu Priscilla M Portable video storage and playback device
US20050183120A1 (en) * 2004-01-13 2005-08-18 Saurabh Jain Multi-user personalized digital multimedia distribution methods and systems
US20050262529A1 (en) 2004-05-20 2005-11-24 Raja Neogi Method, apparatus and system for remote real-time access of multimedia content
US8266429B2 (en) 2004-07-20 2012-09-11 Time Warner Cable, Inc. Technique for securely communicating and storing programming material in a trusted domain
US8312267B2 (en) 2004-07-20 2012-11-13 Time Warner Cable Inc. Technique for securely communicating programming content
US7685616B2 (en) 2004-07-29 2010-03-23 Microsoft Corporation Strategies for coalescing control processing
CN100514961C (en) 2004-08-02 2009-07-15 华为技术有限公司 Signaling interactive method for Internet protocol service mass
WO2006055838A2 (en) * 2004-11-18 2006-05-26 America Online, Inc. Runtime environment
US9723267B2 (en) 2004-12-15 2017-08-01 Time Warner Cable Enterprises Llc Method and apparatus for wideband distribution of content
US7602820B2 (en) 2005-02-01 2009-10-13 Time Warner Cable Inc. Apparatus and methods for multi-stage multiplexing in a network
US20080015999A1 (en) 2005-02-04 2008-01-17 Widevine Technologies, Inc. Securely ingesting encrypted content into content servers
US20060225118A1 (en) * 2005-03-29 2006-10-05 Cox Communications, Inc. Methods and systems for providing Internet protocol video over a multicast bonded group
GB2444677A (en) 2005-08-30 2008-06-11 Feeva Inc Apparatus, systems and methods for targeted content delivery
US20070058926A1 (en) 2005-09-09 2007-03-15 Microsoft Corporation Optimizing trick modes for streaming media content
WO2007040291A1 (en) 2005-10-06 2007-04-12 Egc & C Co., Ltd. System and method for controlling transmission of moving image data over network
US20070136742A1 (en) * 2005-12-13 2007-06-14 General Instrument Corporation Method, apparatus and system for replacing advertisements in recorded video content
GB0600217D0 (en) 2006-01-06 2006-02-15 Forbidden Technologies Plc A method of compressing video data and a media player for implementing the method
US20070237225A1 (en) 2006-03-30 2007-10-11 Eastman Kodak Company Method for enabling preview of video files
US7668369B2 (en) 2006-04-26 2010-02-23 Hewlett-Packard Development Company, L.P. Using camera metadata to classify images into scene type classes
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US20080016196A1 (en) * 2006-07-14 2008-01-17 Anthology Solutions, Inc. System and method for automatic storage and serving of digital content
US7877690B2 (en) 2006-09-20 2011-01-25 Adobe Systems Incorporated Media system with integrated clip views
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
JP2008113301A (en) 2006-10-31 2008-05-15 Hitachi Ltd Video transmitter and transmitting method
US20080181575A1 (en) * 2006-11-27 2008-07-31 Joe Girard Video player for use over communications network, such as streaming internet video player with unobtrusive advertising
ES2875428T3 (en) 2007-01-05 2021-11-10 Divx Llc Video distribution system including progressive playback
EP2104938B1 (en) 2007-01-12 2013-08-28 Nokia Siemens Networks GmbH & Co. KG Apparatus for processing audio and/or video data and method to be run on said apparatus
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
KR100848642B1 (en) 2007-02-22 2008-07-28 고려대학교 산학협력단 Method for encrypting and decrypting an image frame
US20080235746A1 (en) * 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US7975225B2 (en) 2007-05-02 2011-07-05 Microsoft Corporation Iteratively locating a position corresponding to a desired seek time
US7954131B2 (en) 2007-06-13 2011-05-31 Time Warner Cable Inc. Premises gateway apparatus and methods for use in a content-based network
US20090052870A1 (en) * 2007-08-22 2009-02-26 Time Warner Cable Inc. Apparatus And Method For Remote Control Of Digital Video Recorders And The Like
US20090079840A1 (en) 2007-09-25 2009-03-26 Motorola, Inc. Method for intelligently creating, consuming, and sharing video content on mobile devices
US8099757B2 (en) * 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US20090165067A1 (en) 2007-10-16 2009-06-25 Leon Bruckman Device Method and System for Providing a Media Stream
US20120284747A1 (en) * 2008-06-20 2012-11-08 Raymond Anthony Joao Digital television broadcasting apparatus and method for providing information in a digital television and internet convergent environment
US8473993B2 (en) * 2008-11-17 2013-06-25 Comcast Cable Communications, Llc Method and apparatus for creating and using video playlists within a network
US8341242B2 (en) 2008-11-24 2012-12-25 Time Warner Cable, Inc. System and method for managing entitlements to data over a network
US11076189B2 (en) 2009-03-30 2021-07-27 Time Warner Cable Enterprises Llc Personal media channel apparatus and methods
US9215423B2 (en) 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
JP5407499B2 (en) 2009-04-08 2014-02-05 ソニー株式会社 Information processing apparatus, information processing method, and program
US9170700B2 (en) 2009-05-13 2015-10-27 David H. Kaiser Playing and editing linked and annotated audiovisual works
US8813127B2 (en) * 2009-05-19 2014-08-19 Microsoft Corporation Media content retrieval system and personal virtual channel
US20100319044A1 (en) * 2009-06-16 2010-12-16 Seachange International, Inc. Efficient Distribution of Remote Storage Data
US8813124B2 (en) 2009-07-15 2014-08-19 Time Warner Cable Enterprises Llc Methods and apparatus for targeted secondary content insertion
US9178634B2 (en) 2009-07-15 2015-11-03 Time Warner Cable Enterprises Llc Methods and apparatus for evaluating an audience in a content-based network
US8289374B2 (en) 2009-08-25 2012-10-16 Disney Enterprises, Inc. Method and system for encoding and transmitting high definition 3-D multimedia content
US9706257B2 (en) * 2009-09-14 2017-07-11 At&T Intellectual Property I, L.P. Viewing control management across multiple access points
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US10264029B2 (en) 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US9635421B2 (en) 2009-11-11 2017-04-25 Time Warner Cable Enterprises Llc Methods and apparatus for audience data collection and analysis in a content delivery network
KR20110065159A (en) * 2009-12-09 2011-06-15 한국전자통신연구원 System for transmitting contents which comprise of multiple subsets unsing multiple servers and the method thereof
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
EP2545666B1 (en) 2010-03-09 2018-02-21 Samsung Electronics Co., Ltd Method and apparatus for providing broadcast content and system using the same
KR101705898B1 (en) 2010-04-02 2017-02-13 삼성전자주식회사 Method and system for providing timeshift service in digital broadcasting system
US8588590B1 (en) * 2010-04-06 2013-11-19 Dominic M. Kotab Systems and methods for operation of recording devices such as digital video recorders (DVRs)
US9204193B2 (en) * 2010-05-14 2015-12-01 Rovi Guides, Inc. Systems and methods for media detection and filtering using a parental control logging application
KR20110137093A (en) * 2010-06-16 2011-12-22 삼성전자주식회사 Method and apparatus for playing recorded contents in wireless communication system
US9197688B2 (en) 2013-09-30 2015-11-24 Brightcove, Inc. Dynamic chunk manipulation for streaming mixed live and on-demand media: application programming interface
US8484511B2 (en) 2010-07-01 2013-07-09 Time Warner Cable Enterprises Llc Apparatus and methods for data collection, analysis and validation including error correction in a content delivery network
US8997136B2 (en) 2010-07-22 2015-03-31 Time Warner Cable Enterprises Llc Apparatus and methods for packetized content delivery over a bandwidth-efficient network
US20120030723A1 (en) * 2010-07-27 2012-02-02 Motorola, Inc. Method and apparatus for streaming video
KR101712102B1 (en) 2010-07-29 2017-03-14 삼성전자 주식회사 Method and apparatus for transmitting/receiving streaming data based on RTSP session
US20120036537A1 (en) * 2010-08-06 2012-02-09 Rovi Technologies Corporation Systems and methods for updating information in real time for use in a media guidance application
US8677428B2 (en) * 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US8930979B2 (en) 2010-11-11 2015-01-06 Time Warner Cable Enterprises Llc Apparatus and methods for identifying and characterizing latency in a content delivery network
US8904431B2 (en) * 2010-12-20 2014-12-02 Microsoft Corporation Current device location advertisement distribution
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US9021119B2 (en) 2011-01-06 2015-04-28 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming based upon the delay of each stream and the channel rate
CN103299616A (en) * 2011-01-07 2013-09-11 夏普株式会社 Reproduction device, method for controlling reproduction device, generation device, method for controlling generation device, recording medium, data structure, control program, and recording medium containing said program
US20120185905A1 (en) 2011-01-13 2012-07-19 Christopher Lee Kelley Content Overlay System
US9066138B1 (en) * 2011-05-10 2015-06-23 Arris Solutions, Inc. Replacing ads in HTTP-based manifest driven video transport
US9066115B1 (en) 2011-07-29 2015-06-23 Arris Enterprises, Inc. Structuring dynamic advertisement breaks in video manifest files
US8924580B2 (en) 2011-08-12 2014-12-30 Cisco Technology, Inc. Constant-quality rate-adaptive streaming
US8442377B2 (en) * 2011-08-18 2013-05-14 International Business Machines Corporation Intelligent recording
US9264508B2 (en) 2011-08-19 2016-02-16 Time Warner Cable Enterprises Llc Apparatus and methods for reduced switching delays in a content distribution network
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8676952B2 (en) * 2011-09-13 2014-03-18 Ericsson Television Inc. User adaptive HTTP stream manager and method for using same
WO2013058684A1 (en) * 2011-10-17 2013-04-25 Telefonaktiebolaget L M Ericsson (Publ) Method for adaptive streaming, local storing and post-storing quality increase of a content file
US8805163B2 (en) * 2012-01-20 2014-08-12 Comcast Cable Communications, Llc Network storage device and method
US20140040026A1 (en) * 2012-05-04 2014-02-06 Adobe Systems Incorporated Systems and methods for including advertisements in streaming content
US20140108585A1 (en) * 2012-10-15 2014-04-17 InVisioneer, Inc. Multimedia content management system
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
US9781476B2 (en) * 2012-12-31 2017-10-03 Echostar Technologies L.L.C. Automatic learning channel customized to a particular viewer and method of creating same
EP2765781A1 (en) 2013-02-07 2014-08-13 Thomson Licensing Method for providing targetable content in images of a video sequence and corresponding device
EP2956865A4 (en) * 2013-02-12 2016-09-07 Ericsson Ab Personal over-the-top network video recorder
US9124911B2 (en) * 2013-02-15 2015-09-01 Cox Communications, Inc. Storage optimization in a cloud-enabled network-based digital video recorder
US9338521B2 (en) * 2013-02-22 2016-05-10 Microsoft Technology Licensing, Llc Overwriting existing media content with viewer-specific advertisements
US9710469B2 (en) * 2013-03-15 2017-07-18 Comcast Cable Communications, Llc Efficient data distribution to multiple devices
US8863164B1 (en) 2013-05-02 2014-10-14 This Technology, Inc. Server side adaptive bit rate reporting
US8799943B1 (en) 2013-05-02 2014-08-05 This Technology, Llc Method and system for efficient manifest manipulation
KR102161230B1 (en) 2013-05-28 2020-09-29 삼성전자주식회사 Method and apparatus for user interface for multimedia content search
US9241204B2 (en) 2013-05-31 2016-01-19 Broadcom Corporations Transmitting multiple adaptive bit rate (ABR) segment streams on a shared frequency
US9319443B2 (en) 2013-06-26 2016-04-19 Comcast Cable Communications, Llc Content segment detection and replacement
US9781077B2 (en) * 2013-07-23 2017-10-03 Ericsson Ab Media distribution system with manifest-based entitlement enforcement
US8826347B1 (en) 2013-08-22 2014-09-02 aioTV, Inc. Method and system for creating video channels for delivery of content from multiple platforms
US9979702B2 (en) * 2013-09-12 2018-05-22 Arris Enterprises Llc Persistent household keys for in-home media content distribution
US9167311B2 (en) 2013-09-25 2015-10-20 Verizon Patent And Licensing Inc. Variant playlist optimization
US9244916B2 (en) * 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects
US10841353B2 (en) * 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
FR3013933A1 (en) * 2013-11-22 2015-05-29 Orange ADAPTIVE DIFFUSION OF MULTIMEDIA CONTENT
WO2015102228A1 (en) 2014-01-02 2015-07-09 엘지전자 주식회사 Method and apparatus for transmitting uplink frame in wireless lan
US9648355B2 (en) 2014-03-07 2017-05-09 Eagle Eye Networks, Inc. Adaptive security camera image compression apparatus and method of operation
US10423481B2 (en) * 2014-03-14 2019-09-24 Cisco Technology, Inc. Reconciling redundant copies of media content
US9432431B2 (en) * 2014-03-18 2016-08-30 Accenture Global Servicse Limited Manifest re-assembler for a streaming video channel
US20150271541A1 (en) 2014-03-19 2015-09-24 Time Warner Cable Enterprises Llc Apparatus and methods for recording a media stream
KR101871093B1 (en) 2014-06-02 2018-06-25 엘지전자 주식회사 Method and device for receiving frame
US9918040B2 (en) 2014-12-05 2018-03-13 Comcast Cable Comunications Magagement, Llc Video preview during trick play
US10375452B2 (en) 2015-04-14 2019-08-06 Time Warner Cable Enterprises Llc Apparatus and methods for thumbnail generation
US20170171766A1 (en) 2015-12-13 2017-06-15 Yuval Amizur Fine timing measurement
US10652594B2 (en) 2016-07-07 2020-05-12 Time Warner Cable Enterprises Llc Apparatus and methods for presentation of key frames in encrypted content
US11089373B2 (en) 2016-12-29 2021-08-10 Sling Media Pvt Ltd Seek with thumbnail generation and display during placeshifting session
US10958948B2 (en) 2017-08-29 2021-03-23 Charter Communications Operating, Llc Apparatus and methods for latency reduction in digital content switching operations

Also Published As

Publication number Publication date
US20150271541A1 (en) 2015-09-24
US20190158906A1 (en) 2019-05-23
CA2941117A1 (en) 2015-09-24
JP7121693B2 (en) 2022-08-18
EP3687175A1 (en) 2020-07-29
US11800171B2 (en) 2023-10-24
WO2015142741A3 (en) 2015-11-19
CA2941117C (en) 2023-04-04
JP2017519382A (en) 2017-07-13
CA3189286A1 (en) 2015-09-24
EP3120565A4 (en) 2017-11-01
JP2019208210A (en) 2019-12-05
WO2015142741A2 (en) 2015-09-24
JP6612768B2 (en) 2019-11-27
EP3120565A2 (en) 2017-01-25

Similar Documents

Publication Publication Date Title
US20240048791A1 (en) Apparatus and methods for recording a media stream
US11616992B2 (en) Apparatus and methods for dynamic secondary content and data insertion and delivery
US20220248108A1 (en) Apparatus and methods for thumbnail generation
US10051305B2 (en) Apparatus and methods for enabling media options in a content delivery network
US20240048790A1 (en) Apparatus and methods for recording, accessing, and delivering packetized content
US20210160555A1 (en) Apparatus and methods for selective secondary content insertion in a digital network
US20210352370A1 (en) Methods and apparatus for providing and uploading content to personalized network storage
US20190312915A1 (en) Methods and apparatus for packetized content delivery over a content delivery network
US10129593B2 (en) Time-based dynamic secondary content placement calls in time-shifted content
US8701138B2 (en) Zone control methods and apparatus
US20110239242A1 (en) Method and apparatus for bandwidth consumption usage reporting of non-managed sources
EP3687175B1 (en) Apparatus and methods for recording a media stream

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION