Methods, systems, and computer readable media for controlling delivery of content are provided. In some embodiments, a system for controlling delivery of content is provided. The system includes processing circuitry configured to: transmit, to a server, a plurality of requests for blocks of the content; while at least some of the plurality of requests are still outstanding: detect a change of a service characteristic of a connection between the system and the server; determine a preferred number of outstanding requests; and cancel at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
H04L 65/00 - Network arrangements, protocols or services for supporting real-time applications in data packet communication
H04L 67/60 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/637 - Control signals issued by the client directed to the server or network components
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
Playback and distribution systems and methods for multimedia files are provided. The multimedia files are encoded with flags associated with the content data of the multimedia files. Through the use of the flags, playback of the content is enhanced without significantly increasing the file size of the multimedia file.
G11B 27/30 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
09 - Scientific and electric apparatus and instruments
Goods & Services
Downloadable and recorded computer software for encoding, decoding, playing, viewing, streaming, uploading, downloading, transcoding, transferring and sharing audio, video, photos and other multimedia files and electronic broadcasts among networked devices and devices that share a common communication protocol; Downloadable and recorded computer software and computer hardware for downloading, transferring and sharing audio, video and other multimedia content to and among wireless devices.
4.
Systems and Methods for Seeking Within Multimedia Content During Streaming Playback
A receiver driven approach for playback of remote content is described. One embodiment includes obtaining information concerning the content of the media file from the remote server, identifying a starting location within the media sequence, identifying byte ranges of the media file corresponding to media required to play the media sequence from the starting location, requesting the byte ranges required to play the media sequence from the starting location, buffering received bytes of information pending commencement of playback, playing back the buffered bytes of information, receiving a user instruction, identifying byte ranges of the media file corresponding to media required to play the media sequence in accordance with the user instruction, flushing previous byte range requests, and requesting the byte ranges required to play the media in accordance with the user instruction.
H04N 5/783 - Adaptations for reproducing at a rate different from the recording rate
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
5.
Systems and Methods for Distributing Content Using a Common Set of Encryption Keys
Systems and methods for performing adaptive bitrate streaming using alternative streams of protected content in accordance with embodiments of the invention are described. One embodiment of the invention includes a processor, and memory containing a client application. In addition, the client application configures the processor to: request a top level index file identifying a plurality of alternative streams of protected content, where each of the alternative streams of protected content are encrypted using common cryptographic information; obtain the common cryptographic information; request portions of content from at least the plurality of alternative streams of protected content; access the protected content using the common cryptographic information; and playback the content.
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
H04N 21/647 - Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging bet
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/4408 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04L 9/14 - Arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Systems and methods for encoding a plurality of alternative streams of video content using multiple encoders in accordance with embodiments of the invention are disclosed. An encoding system includes multiple encoders. Each of the encoders receives a source stream of video content that is divided into portions. Each of the encoders generates portions of the plurality of alternative streams from the portions of the source stream. The portions of the alternative streams generated by a particular encoder are stored in a container for the particular encoder. Each encoder also generates index information for the portion of the alternative stream generated by the encoder that is stored in a manifest for the encoder.
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
Systems and methods for automatically generating top level index files for use in adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment of the method of the invention includes receiving a request from a playback device at a playback server, where the request identifies a piece of content, retrieving a list of assets associated with the identified piece of content using the playback server, filtering the list of assets using at least one predetermined criterion using the playback server, generating a top level index file describing each asset in the filtered list of assets using the playback server, and sending the top level index file to the playback device using the playback server.
H04N 21/472 - End-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 or for manipulating displayed content
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04L 67/06 - Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04L 65/61 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
H04N 21/658 - Transmission by the client directed to the server
H04N 21/262 - Content 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 or generating play-lists
H04N 21/8352 - Generation of protective data, e.g. certificates involving content or source identification data, e.g. UMID [Unique Material Identifier]
09 - Scientific and electric apparatus and instruments
Goods & Services
Downloadable and recorded computer software for encoding, decoding, playing, viewing, streaming, uploading, downloading, transcoding, transferring and sharing audio, video, photos and other multimedia files and electronic broadcasts among networked devices and devices that share a common communication protocol; Downloadable and recorded computer software and computer hardware for downloading, transferring and sharing audio, video and other multimedia content to and among wireless devices
9.
Systems and Methods for Quick Start-Up of Playback
Systems and methods for quick start-up of playback in accordance with embodiments of the invention are disclosed. Media content may be encoded in a plurality of alternative streams and a quick start-up stream. The quick start-up stream may include media content that is encoded at a lower quality that the alternative streams and may be encrypted with a different, less secure encryption process than that of the alternative streams. During a start-up of playback, the playback device streams the media content from a quick start-up stream until a metric, such as a decryption key for the alternative streams is met. The device then streams the media content from the alternative streams in response to the metric being met.
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabi
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/4402 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
10.
Systems and Methods for Performing Adaptive Bitrate Streaming
Systems and methods for performing trick play functionality using trick play streams during adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment includes requesting a video container index from a video container file containing a video stream from a plurality of alternative streams of video; requesting at least one portion of the video stream using at least one entry from the video container index; decoding the at least one portion of the video stream; receiving at least one user instruction to perform a visual search of the media; requesting a trick play container index from a trick play container file containing a trick play stream; requesting at least one frame of video from the at least one trick play stream; and decoding and displaying the at least one frame of video from the trick play stream.
H04N 19/593 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
G11B 27/11 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
G11B 27/32 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/8543 - Content authoring using a description language, e.g. MHEG [Multimedia and Hypermedia information coding Expert Group] or XML [eXtensible Markup Language]
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 19/172 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
11.
Systems and Methods for Encoding and Streaming Video Encoded Using a Plurality of Maximum Bitrate Levels
Systems and methods for streaming and playing back video having a variety of resolutions, frame rates, and/or sample aspect ratios, where the video streams are encoded at one of a number of maximum bit rate levels, in accordance with embodiments of the invention are disclosed. One embodiment includes a processor, and storage containing data relating combinations of resolution and frame rates to maximum bitrates, where a plurality of resolution and frame rates that are related to the same maximum bitrate form a maximum bitrate level. In addition, an encoding application configures the processor to encode a video stream as a plurality of video streams having different resolutions and frame rates, where the target maximum bitrate used during the encoding is selected based upon the maximum bitrate levels of the resolution and frame rate combinations indicated within the data relating combinations of resolution and frame rates to maximum bitrates.
H04N 19/184 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
H04N 19/59 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
12.
Systems and Methods for Encoding Alternative Streams of Video for Use in Adaptive Bitrate Streaming
Systems and methods for encoding alternative streams for use in adaptive bitrate streaming based upon the delay of each stream in accordance with embodiments of the invention are described. One embodiment of the invention includes memory, and a processor configured by a source encoding application to: receive multimedia content, where the multimedia content includes source video data having a primary resolution and a primary sample aspect ratio; and encode the source video data as a set of alternative video streams, where: the alternative video streams have different maximum bitrates; and the alternative video streams are encoded to have an upper bound seek delay that is equal to or less than the upper bound seek delay of streams in the set of alternative video streams that are encoded at a higher maximum bitrate.
H04N 19/115 - Selection of the code volume for a coding unit prior to coding
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 19/30 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
H04N 19/156 - Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
H04N 19/187 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
13.
Network Video Streaming with Trick Play Based on Separate Trick Play Files
Network services encode multimedia content, such as video, into multiple adaptive bitrate streams of encoded video and a separate trick play stream of encoded video to support trick play features. The trick play stream is encoded at a lower encoding bitrate and frame rate than each of the adaptive bitrate streams. The adaptive bitrate streams and the trick play stream are stored in the network services. During normal content streaming and playback, a client device downloads a selected one of the adaptive bitrate streams from network serviced for playback at the client device. To implement a trick play feature, the client device downloads the trick play stream from the network services for trick play playback.
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/262 - Content 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 or generating play-lists
Systems and methods for encoding a plurality of alternative streams of video content using multiple encoders in accordance with embodiments of the invention are disclosed. An encoding system includes multiple encoders. Each of the encoders receives a source stream of video content that is divided into portions. Each of the encoders generates portions of the plurality of alternative streams from the portions of the source stream. The portions of the alternative streams generated by a particular encoder are stored in a container for the particular encoder. Each encoder also generates index information for the portion of the alternative stream generated by the encoder that is stored in a manifest for the encoder.
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
Playback and distribution systems and methods for multimedia files are provided. The multimedia files are encoded with flags associated with the content data of the multimedia files. Through the use of the flags, playback of the content is enhanced without significantly increasing the file size of the multimedia file.
G11B 27/30 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
H04N 19/00 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
16.
Systems and Methods for Enabling Playback of Digital Content Using Status Associable Electronic Tickets and Ticket Tokens Representing Grant of Access Rights
Systems and methods for accessing digital content using electronic tickets and ticket tokens in accordance with embodiments of the invention are disclosed. In one embodiment, a user device includes a processor, a network interface, and memory configured to store an electronic ticket, and a ticket token, and the processor is configured by an application to send a request for digital content, receive a ticket token from a merchant server, wherein the ticket token is generated by a DRM server and associated with an electronic ticket that enables playback of the requested digital content, send the ticket token to a DRM server, receive an electronic ticket that enables playback of requested digital content, request the digital content associated with the electronic ticket, and play back the requested digital content using the electronic ticket.
Methods, systems, and computer readable media for controlling delivery of content are provided. In some embodiments, a system for controlling delivery of content is provided. The system includes processing circuitry configured to: transmit, to a server, a plurality of requests for blocks of the content; while at least some of the plurality of requests are still outstanding: detect a change of a service characteristic of a connection between the system and the server; determine a preferred number of outstanding requests; and cancel at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/637 - Control signals issued by the client directed to the server or network components
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04L 67/60 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
H04L 65/00 - Network arrangements, protocols or services for supporting real-time applications in data packet communication
18.
Systems and Methods for Protecting Elementary Bitstreams Incorporating Independently Encoded Tiles
Systems and methods for partial frame encryption in accordance with embodiments of the invention are disclosed. In one embodiment, the method receives a video bitstream that includes several frames, each frame including several independently encoded compression units within the frame, encrypts a portion of each of several compression units in several frames, and generates an output bitstream that includes the several independently encoded compression units including the encrypted portions of the compression units.
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/4405 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream decryption
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
Systems and methods for sharing content between devices are disclosed. To request a shared piece of media content, a playback device generates and sends a request to content server. The playback device includes information in the request that indicates the playback capabilities of the device. The content server receives the request and determines the playback capabilities of the playback device from the information in the request. The content server then determines the assets that may be used by the playback device to obtain the media content and generates a top level index file for the playback device that includes information about the determined assets. The top level index file is then sent to the playback device that may then use the top level index file to obtain the media content using the indicated assets.
H04L 69/24 - Negotiation of communication capabilities
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/2743 - Video hosting of uploaded data from client
Systems and methods for application identification in accordance with embodiments of the invention are disclosed. In one embodiment, a user device includes a processor and memory configured to store an application, a session manager, an application identifier, and at least one shared library, and the processor is configured by the session manager to communicate the application identifier and the application identifier data to an authentication server and permit the execution of the application in response to authentication of the application by the authentication server.
H04L 67/60 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
Systems and methods for synchronizing the playback of OTT or other time sensitive content on multiple playback devices is disclosed. The systems and methods include receiving time information based on a network time source in the playback devices. The playback clock in each playback device is set based upon the time information. Stream initiation information derived using the time information from the network time source is received by each of the playback device from the media provider. The playback devices use the stream initiation information to adjust the presentation time stamps of the frames of the media content in the stream.
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04L 7/00 - Arrangements for synchronising receiver with transmitter
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
Systems and methods for automatically generating top level index files for use in adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment of the method of the invention includes receiving a request from a playback device at a playback server, where the request identifies a piece of content, retrieving a list of assets associated with the identified piece of content using the playback server, filtering the list of assets using at least one predetermined criterion using the playback server, generating a top level index file describing each asset in the filtered list of assets using the playback server, and sending the top level index file to the playback device using the playback server.
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/658 - Transmission by the client directed to the server
H04N 21/8352 - Generation of protective data, e.g. certificates involving content or source identification data, e.g. UMID [Unique Material Identifier]
H04L 65/61 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
H04N 21/262 - Content 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 or generating play-lists
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
Embodiments of the invention provide for live encoding systems that can replicate a current encoded frame instead of re-encoding said current frame, and then adjust the replicated frame to different bitrates, resolutions, and/or contexts as necessary for the several different adaptive bitrate streams. In addition, various embodiments of the invention can extend a duration of a current frame being repackaged and/or re-encoded. Utilizing these and other techniques, live encoding systems in accordance with embodiments of the invention can more efficiently handle gaps in received data, slower feeding of data, and/or heavy loads on server hardware.
Systems and methods for providing playback of audio content during a trick-play mode in accordance with embodiments of the invention are disclosed. Media content can include audio content and video content. The audio content is divided into segments and the video content includes frames. Synchronization information associates a presentation time of each of the segments of the audio content with a presentation time of one or more frames associated with the images of the video content. When a trick-play mode is requested, the next frame from the video content to present is determined. The synchronization information is used to determine the segments of the audio content associated with the next frame. The determined segments audio content are presented as the frames are displayed in trick-play mode.
H04N 21/40 - Client devices specifically adapted for the reception of, or interaction with, content, e.g. STB [set-top-box]; Operations thereof
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
H04N 21/61 - Network physical structure; Signal processing
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
Systems and methods for encoding a plurality of alternative streams of video content using multiple encoders in accordance with embodiments of the invention are disclosed. An encoding system includes multiple encoders. Each of the encoders receives a source stream of video content that is divided into portions. Each of the encoders generates portions of the plurality of alternative streams from the portions of the source stream. The portions of the alternative streams generated by a particular encoder are stored in a container for the particular encoder. Each encoder also generates index information for the portion of the alternative stream generated by the encoder that is stored in a manifest for the encoder.
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04N 21/262 - Content 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 or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
System and methods for selecting one of the alternative streams of encoded media from a group of alternative streams of encoded media for use during start-up of playback of the encoded media in accordance with embodiments of this invention are disclosed. The systems and methods begin by determining an estimated stability period for a current bandwidth of a communicative connection between the playback device and a remote system providing the alternative streams of encoded. A test process is then performed on the streams of encoded media to select one of streams of encoded media that provides portions of said encoded media such that an underflow condition does not occur during the estimated stability period. The streaming of encoded media is then commenced by requesting the portions of encoded media be transmitted from the remote server using the selected stream.
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04N 21/658 - Transmission by the client directed to the server
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
27.
Systems and methods for playing back multimedia files incorporating reduced index structures
Playback and distribution systems and methods for multimedia files are provided. The multimedia files are encoded with indexes associated with the content data of the multimedia files. Through the use of the indexes, playback of the content is enhanced without significantly increasing the file size of the multimedia file.
G06F 16/40 - Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
G06F 16/41 - Indexing; Data structures therefor; Storage structures
G06F 16/71 - Indexing; Data structures therefor; Storage structures
Systems and methods for providing multimedia content from one process or component to another process or component over an unsecured connection are provided. One embodiment includes obtaining the cryptographic information, extracting the at least partially encrypted video data from the container file to create an elementary bitstream, enciphering the cryptographic information, inserting the cryptographic information in the elementary bitstream, providing the elementary bitstream to a video decoder, extracting the cryptographic information from the elementary bitstream at the video decoder, deciphering the cryptographic information, decrypting the elementary bitstream with the cryptographic information and decoding the elementary bitstream for rendering on a display device using the video decoder.
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/236 - Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator ] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
H04N 21/4405 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream decryption
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 7/167 - Systems rendering the television signal unintelligible and subsequently intelligible
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
29.
Use of objective quality measures of streamed content to reduce streaming bandwidth
A method includes encoding video at a first bitrate to produce first encoded sections, and at a second bitrate that is less than the first bitrate to produce second encoded sections. The method further includes measuring levels of objective quality, indicative of perceptual quality, of the first and second encoded sections. The method includes determining, based on the measured objective quality levels, replaceable sections among the first encoded sections, and replacement sections among the second encoded sections, each of the replacement sections to replace a corresponding one of the replaceable sections. the method includes streaming the first encoded sections except for the replaceable sections, and the replacement sections instead of their corresponding replaceable sections.
H04N 19/102 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
H04N 19/164 - Feedback from the receiver or from the transmission channel
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/46 - Embedding additional information in the video signal during the compression process
H04N 19/154 - Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
30.
Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
Systems and methods for determining available bandwidth and performing initial stream selection when commencing adaptive bitrate streaming using Hypertext Transfer Protocol (HTTP) in accordance with embodiments of the invention are disclosed. One embodiment of the invention includes measuring network bandwidth using a playback device, determining an initial network bandwidth estimate using the network bandwidth measurements, selecting an initial stream from said plurality of streams of encoded media that are encoded at different maximum bitrates rates using the playback device based upon the maximum bitrates of the plurality of streams and the initial bandwidth estimate; and commencing streaming of encoded media by requesting portions of the encoded media from the initial streams using the playback device.
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04L 1/00 - Arrangements for detecting or preventing errors in the information received
31.
Systems and methods for seeking within multimedia content during streaming playback
A receiver driven approach for playback of remote content is described. One embodiment includes obtaining information concerning the content of the media file from the remote server, identifying a starting location within the media sequence, identifying byte ranges of the media file corresponding to media required to play the media sequence from the starting location, requesting the byte ranges required to play the media sequence from the starting location, buffering received bytes of information pending commencement of playback, playing back the buffered bytes of information, receiving a user instruction, identifying byte ranges of the media file corresponding to media required to play the media sequence in accordance with the user instruction, flushing previous byte range requests, and requesting the byte ranges required to play the media in accordance with the user instruction.
H04N 5/783 - Adaptations for reproducing at a rate different from the recording rate
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
32.
Federated digital rights management scheme including trusted systems
Federated systems for issuing playback certifications granting access to technically protected content are described. One embodiment of the system includes a registration server connected to a network, a content server connected to the network and to a trusted system, a first device including a non-volatile memory that is connected to the network and a second device including a non-volatile memory that is connected to the network. In addition, the registration server is configured to provide the first device with a first set of activation information in a first format, the first device is configured to store the first set of activation information in non-volatile memory, the registration server is configured to provide the second device with a second set of activation information in a second format, and the second device is configured to store the second set of activation information in non-volatile memory.
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04N 21/222 - Secondary servers, e.g. proxy server or cable television Head-end
H04N 21/266 - Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system or merging a VOD unicast channel into a multicast channel
H04N 21/8355 - Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
Systems and methods for performing trick play functionality using trick play streams during adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment includes requesting a video container index from a video container file containing a video stream from a plurality of alternative streams of video; requesting at least one portion of the video stream using at least one entry from the video container index; decoding the at least one portion of the video stream; receiving at least one user instruction to perform a visual search of the media; requesting a trick play container index from a trick play container file containing a trick play stream; requesting at least one frame of video from the at least one trick play stream; and decoding and displaying the at least one frame of video from the trick play stream.
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 19/593 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
G11B 27/11 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
G11B 27/32 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/8543 - Content authoring using a description language, e.g. MHEG [Multimedia and Hypermedia information coding Expert Group] or XML [eXtensible Markup Language]
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 19/172 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
Systems and methods for streaming and playing back video having a variety of resolutions, frame rates, and/or sample aspect ratios, where the video streams are encoded at one of a number of maximum bit rate levels, in accordance with embodiments of the invention are disclosed. One embodiment includes a processor, and storage containing data relating combinations of resolution and frame rates to maximum bitrates, where a plurality of resolution and frame rates that are related to the same maximum bitrate form a maximum bitrate level. In addition, an encoding application configures the processor to encode a video stream as a plurality of video streams having different resolutions and frame rates, where the target maximum bitrate used during the encoding is selected based upon the maximum bitrate levels of the resolution and frame rate combinations indicated within the data relating combinations of resolution and frame rates to maximum bitrates.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 19/115 - Selection of the code volume for a coding unit prior to coding
H04N 19/146 - Data rate or code amount at the encoder output
H04N 19/157 - Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
35.
Systems and methods for providing variable speeds in a trick-play mode
Systems and methods for providing variable trick-play mode playback of media content in accordance with embodiments of the invention are disclosed. A playback device stores images of the media content associated with presentation times and marker information for the media content that indicates the presentation time of moments of interest. When a trick-play mode is invoked, the playback device determines a presentation time of a next marker in the playback. The playback device determines whether the current presentation time of the playback is within a specified range of the presentation time of the next marker and adjusts the speed of the trick-play playback based on the determination. The next frame to present is determined based on the adjusted speed of the trick-play playback and displayed.
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
H04N 21/61 - Network physical structure; Signal processing
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
36.
Systems and methods for encoding and playing back video at different frame rates using enhancement layers
Systems and methods in accordance with embodiments of this invention provide for encoding and playing back video at different frame rates using enhancement layers. In a number of embodiments, video is encoded using temporal scalability involving the creation of a base layer at a first frame rate and an enhancement layer including additional frames enabling playback at a second higher frame rate. The second higher frame rate can also be referred to as an enhanced frame rate. In a number of embodiments, the base and enhancement layers are stored in one or more container files that contain metadata describing the enhancement layer. Based on the capabilities of a playback device, it can select the particular frame rate at which to playback encoded video.
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
Methods, systems, and computer readable media for controlling delivery of content are provided. In some embodiments, a system for controlling delivery of content is provided. The system includes processing circuitry configured to: transmit, to a server, a plurality of requests for blocks of the content; while at least some of the plurality of requests are still outstanding: detect a change of a service characteristic of a connection between the system and the server; determine a preferred number of outstanding requests; and cancel at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
H04L 67/60 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/637 - Control signals issued by the client directed to the server or network components
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
Systems and methods for performing adaptive bitrate streaming using alternative streams of protected content in accordance with embodiments of the invention are described. One embodiment of the invention includes a processor, and memory containing a client application. In addition, the client application configures the processor to: request a top level index file identifying a plurality of alternative streams of protected content, where each of the alternative streams of protected content are encrypted using common cryptographic information; obtain the common cryptographic information; request portions of content from at least the plurality of alternative streams of protected content; access the protected content using the common cryptographic information; and playback the content.
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
H04N 21/647 - Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging bet
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/4408 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04L 9/14 - Arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
39.
Selection of resolutions for seamless resolution switching of multimedia content
Systems and methods for the selection of resolutions for seamless resolution switching of multimedia content in accordance with embodiments of the invention are disclosed. In one embodiment of the invention, a source encoder includes a processor configured by a source encoder application to receive multimedia content, where the multimedia content comprises video data having a primary resolution and a primary sample aspect ratio and encode the video data as a set of alternative streams, where a plurality of the streams in the set of alternative streams have different maximum bitrates and resolutions, the resolution of each of the plurality of streams comprises a width and height that are both an integer number of pixels, and both the width and height of each of the plurality of streams is a common fraction of the width and height of the corresponding primary resolution.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04L 65/61 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
H04N 19/33 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
40.
Chunk header incorporating binary flags and correlated variable-length fields
Playback and distribution systems and methods for multimedia files are provided. The multimedia files are encoded with flags associated with the content data of the multimedia files. Through the use of the flags, playback of the content is enhanced without significantly increasing the file size of the multimedia file.
G11B 27/30 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
Systems and methods for quick start-up of playback in accordance with embodiments of the invention are disclosed. Media content may be encoded in a plurality of alternative streams and a quick start-up stream. The quick start-up stream may include media content that is encoded at a lower quality that the alternative streams and may be encrypted with a different, less secure encryption process than that of the alternative streams. During a start-up of playback, the playback device streams the media content from a quick start-up stream until a metric, such as a decryption key for the alternative streams is met. The device then streams the media content from the alternative streams in response to the metric being met.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04N 21/4402 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabi
H04L 65/612 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
H04L 65/613 - Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
42.
Systems, methods, and media for distributed transcoding video data
Methods, systems, and computer readable media for transcoding video data based on metadata are provided. In some embodiments, methods for transcoding video data using metadata are provided, the methods comprising: receiving a first plurality of encoded images from a storage device; decoding the first plurality of encoded images based on a first coding scheme to generate a plurality of decoded images; receiving a plurality of encoding parameters from the storage device; and encoding the plurality of decoded images into a second plurality of encoded images based on a second coding scheme and the plurality of encoding parameters.
H04N 11/02 - Colour television systems with bandwidth reduction
H04N 19/12 - Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
H04N 19/139 - Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
H04N 19/157 - Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 19/14 - Coding unit complexity, e.g. amount of activity or edge presence estimation
43.
Systems and methods for saving encoded media streamed using adaptive bitrate streaming
Systems and methods for saving encoded media streamed using adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. In one embodiment of the invention, a playback device configured to perform adaptive bitrate streaming of media includes a video decoder application and a processor, where the video decoder application configures the processor to select a download stream from a set of alternative streams of video data, measure streaming conditions and request a stream of video data from the alternative streams of video data, receive portions of video data from the requested stream of video data, decode the received video data, save the received video data to memory, when the received video data is from the download stream and separately download and save the corresponding portion of video data from the download stream to memory, when the received video data is not from the download stream.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/236 - Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator ] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabi
H04N 21/6373 - Control signals issued by the client directed to the server or network components for rate control
H04N 19/44 - Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
44.
Systems and methods for providing audio content during trick-play playback
Systems and methods for providing playback of audio content during a trick-play mode in accordance with embodiments of the invention are disclosed. Media content can include audio content and video content. The audio content is divided into segments and the video content includes frames. Synchronization information associates a presentation time of each of the segments of the audio content with a presentation time of one or more frames associated with the images of the video content. When a trick-play mode is requested, the next frame from the video content to present is determined. The synchronization information is used to determine the segments of the audio content associated with the next frame. The determined segments audio content are presented as the frames are displayed in trick-play mode.
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/61 - Network physical structure; Signal processing
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
45.
Systems and methods for frame duplication and frame extension in live video encoding and streaming
Embodiments of the invention provide for live encoding systems that can replicate a current encoded frame instead of re-encoding said current frame, and then adjust the replicated frame to different bitrates, resolutions, and/or contexts as necessary for the several different adaptive bitrate streams. In addition, various embodiments of the invention can extend a duration of a current frame being repackaged and/or re-encoded. Utilizing these and other techniques, live encoding systems in accordance with embodiments of the invention can more efficiently handle gaps in received data, slower feeding of data, and/or heavy loads on server hardware.
Systems and methods for multimedia swarm processes in accordance with embodiments of the invention are illustrated. One embodiment includes a method for creating a multimedia project at a swarm interface device. The method includes steps for providing a first set of multimedia content to a swarm includes several swarm members, where the several swarm members includes several swarm sources. The method further includes steps for receiving a second set of multimedia content from the several swarm sources and editing multimedia content to create a multimedia project includes at least one piece of multimedia content from the first set of multimedia content and at least one piece of multimedia content from the second set of multimedia content.
Systems and methods for multimedia swarm processes in accordance with embodiments of the invention are illustrated. One embodiment includes a method for creating a multimedia project at a swarm interface device. The method includes steps for providing a first set of multimedia content to a swarm includes several swarm members, where the several swarm members includes several swarm sources. The method further includes steps for receiving a second set of multimedia content from the several swarm sources and editing multimedia content to create a multimedia project includes at least one piece of multimedia content from the first set of multimedia content and at least one piece of multimedia content from the second set of multimedia content.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
G06T 11/60 - Editing figures and text; Combining figures or text
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 21/4402 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
Systems and methods for multimedia swarm processes in accordance with embodiments of the invention are illustrated. One embodiment includes a method for creating a multimedia project at a swarm interface device. The method includes steps for providing a first set of multimedia content to a swarm includes several swarm members, where the several swarm members includes several swarm sources. The method further includes steps for receiving a second set of multimedia content from the several swarm sources and editing multimedia content to create a multimedia project includes at least one piece of multimedia content from the first set of multimedia content and at least one piece of multimedia content from the second set of multimedia content.
Systems and methods for sharing content between devices are disclosed. To request a shared piece of media content, a playback device generates and sends a request to content server. The playback device includes information in the request that indicates the playback capabilities of the device. The content server receives the request and determines the playback capabilities of the playback device from the information in the request. The content server then determines the assets that may be used by the playback device to obtain the media content and generates a top level index file for the playback device that includes information about the determined assets. The top level index file is then sent to the playback device that may then use the top level index file to obtain the media content using the indicated assets.
H04L 69/24 - Negotiation of communication capabilities
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/2743 - Video hosting of uploaded data from client
Systems and methods for identifying consumer electronic products using a playback device with a product identifier in accordance with embodiments of the invention are disclosed. In one embodiment, a playback device includes a processor and memory configured to store a product identifier, where the product identifier is associated with a specific product and is associated with cryptographic information, wherein the processor is configured by a client application to request content from a server, communicate the product identifier to a server, and receive encrypted content accessible using cryptographic information including the cryptographic information associated with the product identifier.
G06F 21/73 - Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
Systems and methods for encoding a plurality of alternative streams of video content using multiple encoders in accordance with embodiments of the invention are disclosed. An encoding system includes multiple encoders. Each of the encoders receives a source stream of video content that is divided into portions. Each of the encoders generates portions of the plurality of alternative streams from the portions of the source stream. The portions of the alternative streams generated by a particular encoder are stored in a container for the particular encoder. Each encoder also generates index information for the portion of the alternative stream generated by the encoder that is stored in a manifest for the encoder.
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/61 - Network physical structure; Signal processing
52.
Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
Systems and methods for streaming and playing back video having a variety of resolutions, frame rates, and/or sample aspect ratios, where the video streams are encoded at one of a number of maximum bit rate levels, in accordance with embodiments of the invention are disclosed. One embodiment includes a processor, and storage containing data relating combinations of resolution and frame rates to maximum bitrates, where a plurality of resolution and frame rates that are related to the same maximum bitrate form a maximum bitrate level. In addition, an encoding application configures the processor to encode a video stream as a plurality of video streams having different resolutions and frame rates, where the target maximum bitrate used during the encoding is selected based upon the maximum bitrate levels of the resolution and frame rate combinations indicated within the data relating combinations of resolution and frame rates to maximum bitrates.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 19/115 - Selection of the code volume for a coding unit prior to coding
H04N 19/146 - Data rate or code amount at the encoder output
H04N 19/157 - Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
53.
Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
Systems and methods for partial frame encryption in accordance with embodiments of the invention are disclosed. In one embodiment, the method receives a video bitstream that includes several frames, each frame including several independently encoded compression units within the frame, encrypts a portion of each of several compression units in several frames, and generates an output bitstream that includes the several independently encoded compression units including the encrypted portions of the compression units.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/4405 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream decryption
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04L 9/06 - Arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for blockwise coding, e.g. D.E.S. systems
54.
Synchronizing multiple over the top streaming clients
Systems and methods for synchronizing the playback of OTT or other time sensitive content on multiple playback devices is disclosed. The systems and methods include receiving time information based on a network time source in the playback devices. The playback clock in each playback device is set based upon the time information. Stream initiation information derived using the time information from the network time source is received by each of the playback device from the media provider. The playback devices use the stream initiation information to adjust the presentation time stamps of the frames of the media content in the stream.
H04L 7/00 - Arrangements for synchronising receiver with transmitter
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
Systems and methods for providing multimedia content from one process or component to another process or component over an unsecured connection are provided. One embodiment includes obtaining the cryptographic information, extracting the at least partially encrypted video data from the container file to create an elementary bitstream, enciphering the cryptographic information, inserting the cryptographic information in the elementary bitstream, providing the elementary bitstream to a video decoder, extracting the cryptographic information from the elementary bitstream at the video decoder, deciphering the cryptographic information, decrypting the elementary bitstream with the cryptographic information and decoding the elementary bitstream for rendering on a display device using the video decoder.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/236 - Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator ] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
H04N 21/4405 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream decryption
H04N 7/167 - Systems rendering the television signal unintelligible and subsequently intelligible
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
09 - Scientific and electric apparatus and instruments
Goods & Services
(1) Downloadable computer software in the nature of a mobile application for video recording, producing, editing and sharing of video clips and photos; Downloadable software tools for image editing and video editing; Downloadable software for social networking including chat, user location, and groups; Downloadable software that enables users to create, produce, edit and share videos using digital images, photos, text, graphics, audio, video clips, and multimedia content; Downloadable software for creating, viewing, sorting, storing, transferring, uploading, downloading and sharing videos with others via computer networks, mobile devices, and other communication devices; Downloadable computer software in the nature of a mobile application for geo-location based video creation and sharing
09 - Scientific and electric apparatus and instruments
Goods & Services
Downloadable computer software in the nature of a mobile application for video recording, producing, editing and sharing of video clips and photos; Downloadable software tools for image editing and video editing; Downloadable software for social networking including chat, user location, and groups; Downloadable software that enables users to create, produce, edit and share videos using digital images, photos, text, graphics, audio, video clips, and multimedia content; Downloadable software for creating, viewing, sorting, storing, transferring, uploading, downloading and sharing videos with others via computer networks, mobile devices, and other communication devices; Downloadable computer software in the nature of a mobile application for geo-location based video creation and sharing.
58.
Systems, methods, and media for playing back protected video content by using top level index file
Systems and methods for automatically generating top level index files for use in adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment of the method of the invention includes receiving a request from a playback device at a playback server, where the request identifies a piece of content, retrieving a list of assets associated with the identified piece of content using the playback server, filtering the list of assets using at least one predetermined criterion using the playback server, generating a top level index file describing each asset in the filtered list of assets using the playback server, and sending the top level index file to the playback device using the playback server.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/658 - Transmission by the client directed to the server
H04N 21/8352 - Generation of protective data, e.g. certificates involving content or source identification data, e.g. UMID [Unique Material Identifier]
H04N 21/262 - Content 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 or generating play-lists
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming. In one embodiment, an adaptive content delivery network switching device includes a processor, a network interface, and a memory connected to the processor, where the memory contains a content delivery network switching application and, the content delivery network switching application directs the processor to receive content from a first content delivery network, determine a minimum performance threshold based on playback variables from the received content, receive new content from a second content delivery network if the minimum performance threshold is not satisfied.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 67/02 - Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
H04L 67/1097 - Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
60.
Chunk header incorporating binary flags and correlated variable-length fields
Playback and distribution systems and methods for multimedia files are provided. The multimedia files are encoded with flags associated with the content data of the multimedia files. Through the use of the flags, playback of the content is enhanced without significantly increasing the file size of the multimedia file.
G11B 27/30 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
Systems, methods, and computer readable media for delivery of content are provided. In some embodiments, systems for controlling delivery of content are provided, the systems comprising processing circuitry configured to: receive a request to stream the content, the request being received from a user equipment device; determine a first location of the user equipment device; determine a count of user equipment devices that are located at the first location and are currently streaming the content; determine whether the count meets a threshold; and responsive to determining that the count meets the threshold, add a first content delivery network to a pool of one or more content delivery networks that are used to stream the content.
Network services encode multimedia content, such as video, into multiple adaptive bitrate streams of encoded video and a separate trick play stream of encoded video to support trick play features. The trick play stream is encoded at a lower encoding bitrate and frame rate than each of the adaptive bitrate streams. The adaptive bitrate streams and the trick play stream are stored in the network services. During normal content streaming and playback, a client device downloads a selected one of the adaptive bitrate streams from network serviced for playback at the client device. To implement a trick play feature, the client device downloads the trick play stream from the network services for trick play playback.
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/262 - Content 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 or generating play-lists
Methods, systems, and media for certifying a playback device are provided. In some embodiments, methods for certifying a playback device are provided, the methods comprising: identifying a plurality of playback capabilities associated with the playback device; identifying at least one certification test based on the plurality of playback capabilities; receiving a plurality of media streams corresponding to the certification test from a server; causing a first media stream to be presented by the playback device; changing a streaming condition experienced by the playback device; causing a second media stream to be presented by the playback device based on the streaming condition; capturing, using a camera, a video signal representing video content presented by the playback device; and determining, using a hardware processor, whether the playback device has passed the certification test based at least in part on the video signal.
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
64.
Systems and methods for seeking within multimedia content during streaming playback
A receiver driven approach for playback of remote content is described. One embodiment includes obtaining information concerning the content of the media file from the remote server, identifying a starting location within the media sequence, identifying byte ranges of the media file corresponding to media required to play the media sequence from the starting location, requesting the byte ranges required to play the media sequence from the starting location, buffering received bytes of information pending commencement of playback, playing back the buffered bytes of information, receiving a user instruction, identifying byte ranges of the media file corresponding to media required to play the media sequence in accordance with the user instruction, flushing previous byte range requests, and requesting the byte ranges required to play the media in accordance with the user instruction.
H04N 5/783 - Adaptations for reproducing at a rate different from the recording rate
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
65.
Systems and methods for performing adaptive bitrate streaming
Systems and methods for performing trick play functionality using trick play streams during adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment includes requesting a video container index from a video container file containing a video stream from a plurality of alternative streams of video; requesting at least one portion of the video stream using at least one entry from the video container index; decoding the at least one portion of the video stream; receiving at least one user instruction to perform a visual search of the media; requesting a trick play container index from a trick play container file containing a trick play stream; requesting at least one frame of video from the at least one trick play stream; and decoding and displaying the at least one frame of video from the trick play stream.
H04N 19/593 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
G11B 27/11 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
G11B 27/32 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/8543 - Content authoring using a description language, e.g. MHEG [Multimedia and Hypermedia information coding Expert Group] or XML [eXtensible Markup Language]
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 19/172 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
Systems and methods for performing adaptive bitrate streaming using alternative streams of protected content in accordance with embodiments of the invention are described. One embodiment of the invention includes a processor, and memory containing a client application. In addition, the client application configures the processor to: request a top level index file identifying a plurality of alternative streams of protected content, where each of the alternative streams of protected content are encrypted using common cryptographic information; obtain the common cryptographic information; request portions of content from at least the plurality of alternative streams of protected content; access the protected content using the common cryptographic information; and playback the content.
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
H04N 21/647 - Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging bet
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/4408 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04L 9/14 - Arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
67.
Systems and methods for enabling playback of digital content using status associable electronic tickets and ticket tokens representing grant of access rights
Systems and methods for accessing digital content using electronic tickets and ticket tokens are disclosed. A system can include a user device includes a processor, a network interface, and memory configured to store an electronic ticket, and a ticket token. A processor can be configured by an application to send a request for digital content and receive a ticket token from a merchant server. A ticket token can be generated by a DRM server and associated with an electronic ticket that enables playback of the requested digital content. A ticket token can be sent to a DRM server. An electronic ticket that enables playback of requested digital content can be received. Digital content associated with the electronic ticket can be requested. Requested digital content can be played back in association with an electronic ticket.
09 - Scientific and electric apparatus and instruments
Goods & Services
Downloadable computer software in the nature of a mobile application for video recording, producing, editing and sharing of video clips and photos; Downloadable software tools for image editing and video editing; Downloadable software for social networking including chat, user location, and groups; Downloadable software that enables users to create, produce, edit and share videos using digital images, photos, text, graphics, audio, video clips, and multimedia content; Downloadable software for creating, viewing, sorting, storing, transferring, uploading, downloading and sharing videos with others via computer networks, mobile devices, and other communication devices; Downloadable computer software in the nature of a mobile application for geo-location based video creation and sharing
69.
Systems and methods for application identification
Systems and methods for application identification in accordance with embodiments of the invention are disclosed. In one embodiment, a user device includes a processor and memory configured to store an application, a session manager, an application identifier, and at least one shared library, and the processor is configured by the session manager to communicate the application identifier and the application identifier data to an authentication server and permit the execution of the application in response to authentication of the application by the authentication server.
Systems and methods for encoding alternative streams for use in adaptive bitrate streaming based upon the delay of each stream in accordance with embodiments of the invention are described. One embodiment of the invention includes memory, and a processor configured by a source encoding application to: receive multimedia content, where the multimedia content includes source video data having a primary resolution and a primary sample aspect ratio; and encode the source video data as a set of alternative video streams, where: the alternative video streams have different maximum bitrates; and the alternative video streams are encoded to have an upper bound seek delay that is equal to or less than the upper bound seek delay of streams in the set of alternative video streams that are encoded at a higher maximum bitrate.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 19/187 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
H04N 19/115 - Selection of the code volume for a coding unit prior to coding
H04N 21/262 - Content 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 or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 19/30 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
H04N 19/156 - Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04N 19/70 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
71.
Systems and methods for encoding and playing back video at different frame rates using enhancement layers
Systems and methods in accordance with embodiments of this invention provide for encoding and playing back video at different frame rates using enhancement layers. In a number of embodiments, video is encoded using temporal scalability involving the creation of a base layer at a first frame rate and an enhancement layer including additional frames enabling playback at a second higher frame rate. The second higher frame rate can also be referred to as an enhanced frame rate. In a number of embodiments, the base and enhancement layers are stored in one or more container files that contain metadata describing the enhancement layer. Based on the capabilities of a playback device, it can select the particular frame rate at which to playback encoded video.
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
Systems and methods for sharing content between devices are disclosed. To request a shared piece of media content, a playback device generates and sends a request to content server. The playback device includes information in the request that indicates the playback capabilities of the device. The content server receives the request and determines the playback capabilities of the playback device from the information in the request. The content server then determines the assets that may be used by the playback device to obtain the media content and generates a top level index file for the playback device that includes information about the determined assets. The top level index file is then sent to the playback device that may then use the top level index file to obtain the media content using the indicated assets.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/2743 - Video hosting of uploaded data from client
73.
Systems, methods, and media for transcoding video data
Methods, systems, and computer readable media for transcoding video data based on metadata are provided. In some embodiments, methods for transcoding video data using metadata are provided, the methods comprising: receiving a first plurality of encoded images from a storage device; decoding the first plurality of encoded images based on a first coding scheme to generate a plurality of decoded images; receiving a plurality of encoding parameters from the storage device; and encoding the plurality of decoded images into a second plurality of encoded images based on a second coding scheme and the plurality of encoding parameters.
H04N 11/02 - Colour television systems with bandwidth reduction
H04N 19/12 - Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
H04N 19/139 - Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
H04N 19/157 - Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
H04N 19/14 - Coding unit complexity, e.g. amount of activity or edge presence estimation
74.
Systems and methods for playing adaptive bitrate streaming content by multicast
Systems and methods for playing adaptive bitrate streaming content by multicast in accordance with embodiments of the invention are disclosed. In one embodiment, a method of receiving and playing back adaptive bitrate streaming content using a playback device includes receiving an adaptive streaming session description including information about a piece of adaptive streaming content and information for accessing a multicast session of the piece of adaptive streaming content using a playback device, receiving portions of a first alternative stream of the piece of adaptive streaming content sent to a first multicast group that includes the playback device using the playback device, computing a bandwidth measurement using the playback device, and switching to a second alternative stream of the piece of adaptive streaming content based upon the computed bandwidth measurement using the playback device.
Systems and methods for synchronizing the playback of streamed content on multiple playback devices is disclosed. The systems and methods include receiving time information based on a network time source in the playback devices connected to a defined network. The playback clock in each playback device is set based upon the time information. A first playback device then generates presentation time information including a start time for playback and broadcast the presentation time information to the other playback device over the defined network. The playback devices use the presentation time information to adjust the presentation time stamps of the frames of the media content in the stream.
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
H04N 21/8547 - Content authoring involving timestamps for synchronizing content
H04N 21/262 - Content 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 or generating play-lists
H04N 21/6332 - Control signals issued by server directed to the network components or client directed to client
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
76.
Systems and methods for providing audio content during trick-play playback
Systems and methods for providing playback of audio content during a trick-play mode in accordance with embodiments of the invention are disclosed. Media content can include audio content and video content. The audio content is divided into segments and the video content includes frames. Synchronization information associates a presentation time of each of the segments of the audio content with a presentation time of one or more frames associated with the images of the video content. When a trick-play mode is requested, the next frame from the video content to present is determined. The synchronization information is used to determine the segments of the audio content associated with the next frame. The determined segments audio content are presented as the frames are displayed in trick-play mode.
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/61 - Network physical structure; Signal processing
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
Systems and methods for encoding a plurality of alternative streams of video content using multiple encoders in accordance with embodiments of the invention are disclosed. An encoding system includes multiple encoders. Each of the encoders receives a source stream of video content that is divided into portions. Each of the encoders generates portions of the plurality of alternative streams from the portions of the source stream. The portions of the alternative streams generated by a particular encoder are stored in a container for the particular encoder. Each encoder also generates index information for the portion of the alternative stream generated by the encoder that is stored in a manifest for the encoder.
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/61 - Network physical structure; Signal processing
78.
Systems and methods for automatically generating top level index files
Systems and methods for automatically generating top level index files for use in adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment of the method of the invention includes receiving a request from a playback device at a playback server, where the request identifies a piece of content, retrieving a list of assets associated with the identified piece of content using the playback server, filtering the list of assets using at least one predetermined criterion using the playback server, generating a top level index file describing each asset in the filtered list of assets using the playback server, and sending the top level index file to the playback device using the playback server.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/658 - Transmission by the client directed to the server
H04N 21/8352 - Generation of protective data, e.g. certificates involving content or source identification data, e.g. UMID [Unique Material Identifier]
H04N 21/262 - Content 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 or generating play-lists
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
Methods, systems, and computer readable media for controlling delivery of content are provided. In some embodiments, a system for controlling delivery of content is provided. The system includes processing circuitry configured to: transmit, to a server, a plurality of requests for blocks of the content; while at least some of the plurality of requests are still outstanding: detect a change of a service characteristic of a connection between the system and the server; determine a preferred number of outstanding requests; and cancel at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/637 - Control signals issued by the client directed to the server or network components
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
Playback and distribution systems and methods for multimedia files are provided. The multimedia files are encoded with indexes associated with the content data of the multimedia files. Through the use of the indexes, playback of the content is enhanced without significantly increasing the file size of the multimedia file.
G06F 16/40 - Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
G06F 16/41 - Indexing; Data structures therefor; Storage structures
G06F 16/71 - Indexing; Data structures therefor; Storage structures
Systems and methods for providing variable trick-play mode playback of media content in accordance with embodiments of the invention are disclosed. A playback device stores images of the media content associated with presentation times and marker information for the media content that indicates the presentation time of moments of interest. When a trick-play mode is invoked, the playback device determines a presentation time of a next marker in the playback. The playback device determines whether the current presentation time of the playback is within a specified range of the presentation time of the next marker and adjusts the speed of the trick-play playback based on the determination. The next frame to present is determined based on the adjusted speed of the trick-play playback and displayed.
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
H04N 21/61 - Network physical structure; Signal processing
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
H04N 21/431 - Generation of visual interfaces; Content or additional data rendering
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
82.
Systems and methods for quick start-up of playback
Systems and methods for quick start-up of playback in accordance with embodiments of the invention are disclosed. Media content may be encoded in a plurality of alternative streams and a quick start-up stream. The quick start-up stream may include media content that is encoded at a lower quality that the alternative streams and may be encrypted with a different, less secure encryption process than that of the alternative streams. During a start-up of playback, the playback device streams the media content from a quick start-up stream until a metric, such as a decryption key for the alternative streams is met. The device then streams the media content from the alternative streams in response to the metric being met.
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04N 21/4402 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04N 21/462 - Content or additional data management e.g. creating a master electronic program guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabi
83.
Systems and methods for distributing content using a common set of encryption keys
Systems and methods for performing adaptive bitrate streaming using alternative streams of protected content in accordance with embodiments of the invention are described. One embodiment of the invention includes a processor, and memory containing a client application. In addition, the client application configures the processor to: request a top level index file identifying a plurality of alternative streams of protected content, where each of the alternative streams of protected content are encrypted using common cryptographic information; obtain the common cryptographic information; request portions of content from at least the plurality of alternative streams of protected content; access the protected content using the common cryptographic information; and playback the content.
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
H04N 21/647 - Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging bet
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/4408 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04L 9/14 - Arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
84.
Systems and methods of encoding trick play streams for use in adaptive streaming
Systems and methods for creating trick play streams for use in adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment includes a set of encoding servers that encode source content as a set of streams that are each stored in a separate container file, where the set of streams includes: alternative video streams; an audio stream; and at least one trick play stream. In addition, the trick play stream is encoded at a lower frame rate than the frame rates of the alternative video streams, and each frame of the trick play stream is a picture encoded without reference to another picture in the trick play stream. In addition, the trick play stream is stored in a container file including a trick play index having entries that include a timecode and a location of a frame in the track play stream.
H04N 19/593 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
H04N 21/8543 - Content authoring using a description language, e.g. MHEG [Multimedia and Hypermedia information coding Expert Group] or XML [eXtensible Markup Language]
G11B 27/11 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
G11B 27/32 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 19/172 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
Systems and methods for performing trick play functionality using trick play streams during adaptive bitrate streaming in accordance with embodiments of the invention are disclosed. One embodiment includes requesting a video container index from a video container file containing a video stream from a plurality of alternative streams of video; requesting at least one portion of the video stream using at least one entry from the video container index; decoding the at least one portion of the video stream; receiving at least one user instruction to perform a visual search of the media; requesting a trick play container index from a trick play container file containing a trick play stream; requesting at least one frame of video from the at least one trick play stream; and decoding and displaying the at least one frame of video from the trick play stream.
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04N 19/593 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
G11B 27/11 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
G11B 27/32 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/262 - Content 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 or generating play-lists
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/8543 - Content authoring using a description language, e.g. MHEG [Multimedia and Hypermedia information coding Expert Group] or XML [eXtensible Markup Language]
H04N 21/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 19/172 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
A receiver driven approach for playback of remote content is described. One embodiment includes obtaining information concerning the content of the media file from the remote server, identifying a starting location within the media sequence, identifying byte ranges of the media file corresponding to media required to play the media sequence from the starting location, requesting the byte ranges required to play the media sequence from the starting location, buffering received bytes of information pending commencement of playback, playing back the buffered bytes of information, receiving a user instruction, identifying byte ranges of the media file corresponding to media required to play the media sequence in accordance with the user instruction, flushing previous byte range requests, and requesting the byte ranges required to play the media in accordance with the user instruction.
H04N 5/783 - Adaptations for reproducing at a rate different from the recording rate
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
87.
Systems and methods for secure playback of encrypted elementary bitstreams
Systems and methods for providing multimedia content from one process or component to another process or component over an unsecured connection are provided. One embodiment includes obtaining the cryptographic information, extracting the at least partially encrypted video data from the container file to create an elementary bitstream, enciphering the cryptographic information, inserting the cryptographic information in the elementary bitstream, providing the elementary bitstream to a video decoder, extracting the cryptographic information from the elementary bitstream at the video decoder, deciphering the cryptographic information, decrypting the elementary bitstream with the cryptographic information and decoding the elementary bitstream for rendering on a display device using the video decoder.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/236 - Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator ] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
H04N 21/4405 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream decryption
H04N 7/167 - Systems rendering the television signal unintelligible and subsequently intelligible
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
88.
Playback devices and methods for playing back alternative streams of content protected using a common set of cryptographic keys
Systems and methods for performing adaptive bitrate streaming using alternative streams of protected content in accordance with embodiments of the invention are described. One embodiment of the invention includes a processor, and memory containing a client application. In addition, the client application configures the processor to: request a top level index file identifying a plurality of alternative streams of protected content, where each of the alternative streams of protected content are encrypted using common cryptographic information; obtain the common cryptographic information; request portions of content from at least the plurality of alternative streams of protected content; access the protected content using the common cryptographic information; and playback the content.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving video stream encryption
H04L 9/14 - Arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
H04N 21/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
H04N 21/4408 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/647 - Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load or bridging bet
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
89.
Synchronizing multiple over the top streaming clients
Systems and methods for synchronizing the playback of OTT or other time sensitive content on multiple playback devices is disclosed. The systems and methods include receiving time information based on a network time source in the playback devices. The playback clock in each playback device is set based upon the time information. Stream initiation information derived using the time information from the network time source is received by each of the playback device from the media provider. The playback devices use the stream initiation information to adjust the presentation time stamps of the frames of the media content in the stream.
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 7/00 - Arrangements for synchronising receiver with transmitter
H04N 21/43 - Processing 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 synchronizing decoder's clock; Client middleware
90.
System and method for decreasing an initial buffering period of an adaptive streaming system
System and methods for selecting one of the alternative streams of encoded media from a group of alternative streams of encoded media for use during start-up of playback of the encoded media in accordance with embodiments of this invention are disclosed. The systems and methods begin by determining an estimated stability period for a current bandwidth of a communicative connection between the playback device and a remote system providing the alternative streams of encoded. A test process is then performed on the streams of encoded media to select one of streams of encoded media that provides portions of said encoded media such that an underflow condition does not occur during the estimated stability period. The streaming of encoded media is then commenced by requesting the portions of encoded media be transmitted from the remote server using the selected stream.
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/442 - Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed or the storage space available from the internal hard disk
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/658 - Transmission by the client directed to the server
91.
Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
Systems and methods for streaming and playing back video having a variety of resolutions, frame rates, and/or sample aspect ratios, where the video streams are encoded at one of a number of maximum bit rate levels, in accordance with embodiments of the invention are disclosed. One embodiment includes a processor, and storage containing data relating combinations of resolution and frame rates to maximum bitrates, where a plurality of resolution and frame rates that are related to the same maximum bitrate form a maximum bitrate level. In addition, an encoding application configures the processor to encode a video stream as a plurality of video streams having different resolutions and frame rates, where the target maximum bitrate used during the encoding is selected based upon the maximum bitrate levels of the resolution and frame rate combinations indicated within the data relating combinations of resolution and frame rates to maximum bitrates.
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 19/115 - Selection of the code volume for a coding unit prior to coding
H04N 19/146 - Data rate or code amount at the encoder output
H04N 19/157 - Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
92.
Systems, methods, and media for transcoding video data
Methods, systems, and computer readable media for transcoding video data based on metadata are provided. In some embodiments, methods for transcoding video data using metadata are provided, the methods comprising: receiving a first plurality of encoded images from a storage device; decoding the first plurality of encoded images based on a first coding scheme to generate a plurality of decoded images; receiving a plurality of encoding parameters from the storage device; and encoding the plurality of decoded images into a second plurality of encoded images based on a second coding scheme and the plurality of encoding parameters.
H04N 11/02 - Colour television systems with bandwidth reduction
H04N 19/12 - Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
H04N 19/139 - Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
H04N 19/14 - Coding unit complexity, e.g. amount of activity or edge presence estimation
H04N 19/157 - Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
H04N 19/177 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
H04N 19/40 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
93.
Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming. In one embodiment, an adaptive content delivery network switching device includes a processor, a network interface, and a memory connected to the processor, where the memory contains a content delivery network switching application and, the content delivery network switching application directs the processor to receive content from a first content delivery network, determine a minimum performance threshold based on playback variables from the received content, receive new content from a second content delivery network if the minimum performance threshold is not satisfied.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/06 - Communication control; Communication processing characterised by a protocol
Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming. In one embodiment, an adaptive content delivery network switching device includes a processor, a network interface, and a memory connected to the processor, where the memory contains a content delivery network switching application and, the content delivery network switching application directs the processor to receive content from a first content delivery network, determine a minimum performance threshold based on playback variables from the received content, receive new content from a second content delivery network if the minimum performance threshold is not satisfied.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 12/24 - Arrangements for maintenance or administration
H04N 21/25 - Management 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 or learning user preferences for recommending movies
H04N 21/262 - Content 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 or generating play-lists
H04N 21/45 - Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies
95.
Chunk header incorporating binary flags and correlated variable-length fields
Playback and distribution systems and methods for multimedia files are provided. The multimedia files are encoded with flags associated with the content data of the multimedia files. Through the use of the flags, playback of the content is enhanced without significantly increasing the file size of the multimedia file.
G11B 27/30 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
Systems and methods in accordance with embodiments of this invention provide for encoding and playing back video at different frame rates using enhancement layers. In a number of embodiments, video is encoded using temporal scalability involving the creation of a base layer at a first frame rate and an enhancement layer including additional frames enabling playback at a second higher frame rate. The second higher frame rate can also be referred to as an enhanced frame rate. In a number of embodiments, the base and enhancement layers are stored in one or more container files that contain metadata describing the enhancement layer. Based on the capabilities of a playback device, it can select the particular frame rate at which to playback encoded video.
H04N 7/173 - Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/258 - Client or end-user data management, e.g. managing client capabilities, user preferences or demographics or processing of multiple end-users preferences to derive collaborative data
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
Systems and methods for adaptive buffering in accordance with embodiments of the invention enable a reduced minimum buffer time. One embodiment includes a playback device comprising a memory; a network interface; and a processor that reads instructions stored in the memory that directs the processor to: download digital video content in a buffer of a playback device; receive a minimum buffer time from the digital video content; play the digital video content at a slow motion speed using the playback device; reduce the minimum buffer time by a slow motion playback speed factor; continue playing the digital video content at the slow motion speed until the reduced minimum buffer time is reached using the playback device; and play the digital video content at a speed faster than the slow motion speed once the minimum buffer time is reached using the playback device.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
Federated systems for issuing playback certifications granting access to technically protected content are described. One embodiment of the system includes a registration server connected to a network, a content server connected to the network and to a trusted system, a first device including a non-volatile memory that is connected to the network and a second device including a non-volatile memory that is connected to the network. In addition, the registration server is configured to provide the first device with a first set of activation information in a first format, the first device is configured to store the first set of activation information in non-volatile memory, the registration server is configured to provide the second device with a second set of activation information in a second format, and the second device is configured to store the second set of activation information in non-volatile memory.
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04N 21/222 - Secondary servers, e.g. proxy server or cable television Head-end
H04N 21/266 - Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system or merging a VOD unicast channel into a multicast channel
H04N 21/8355 - Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
H04L 9/32 - Arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system
H04L 29/06 - Communication control; Communication processing characterised by a protocol
99.
Systems and methods for binding content playback to the pairing of a playback device and removable memory storage device
Systems and methods for binding content to pairing of a playback device and removable memory storage device are disclosed. In one embodiment, a method for requesting authorization to play content using a playback device and a removable memory storage device includes retrieving a coupon identifier from a removable memory storage device while it is attached to the playback device, generating a coupon code using the coupon identifier, sending a request for storefront token that includes a device match data token and an application identifier, receiving a storefront token associated with a storefront identifier where the storefront identifier identifies a storefront application, sending a request for ticket token that includes the coupon code, the storefront identifier, and a content identifier that identifies the content, sending a request for license file that includes the ticket token, and receiving a license file that grants playback rights to the piece of content.
Network services encode multimedia content, such as video, into multiple adaptive bitrate streams of encoded video and a separate trick play stream of encoded video to support trick play features. The trick play stream is encoded at a lower encoding bitrate and frame rate than each of the adaptive bitrate streams. The adaptive bitrate streams and the trick play stream are stored in the network services. During normal content streaming and playback, a client device downloads a selected one of the adaptive bitrate streams from network serviced for playback at the client device. To implement a trick play feature, the client device downloads the trick play stream from the network services for trick play playback.
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/472 - End-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 or for manipulating displayed content
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/2387 - Stream processing in response to a playback request from an end-user, e.g. for trick-play
H04N 21/262 - Content 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 or generating play-lists