Patent application number | Description | Published |
20120173865 | System And Method For Generating Multiple Protected Content Formats Without Redundant Encryption Of Content - Embodiments may include generating a first protected version of content, which may include packetizing the content into multiple packets that each includes content information and non-content information and using initialization vectors to perform chained encryption on multiple blocks of the packetized content. At least some of the initialization vectors are generated dependent upon the non-content information. Embodiments may also include using the encrypted blocks to generate a second protected version of the content without re-encrypting the content. The second protected version of the content may include multiple encrypted content samples each including multiple encrypted blocks from the first protected version of the content. For a given encrypted content sample, different sets of encrypted blocks in that sample may form different encryption chains. The second protected version of the content may include decryption information for decrypting the encrypted content samples including initialization vectors used to create the first protected version. | 07-05-2012 |
20120173880 | System And Method For Decrypting Content Samples Including Distinct Encryption Chains - Embodiments may be configured to receive a protected version of content that includes multiple encrypted content samples. In various embodiments, each encrypted content sample includes multiple encrypted blocks. For a given encrypted content sample, different sets of encrypted blocks in that sample may form different encryption chains. The protected version of the content may further include decryption information for decrypting the encrypted content samples. The decryption information may include at least some initialization vectors generated dependent upon non-content information that is not included in the protected version of the content. The non-content information may be from a different protected version of the content. Embodiments may be configured to use the decryption information to decrypt one or more of the encrypted content samples. | 07-05-2012 |
20130128992 | Methods and Apparatus for Preparation of Casual Stereoscopic Video - A pair of video streams is prepared for stereoscopic display. A pair of frames is rectified. Each of the pair of frames is from a respective stream of the pair of video streams. A reduced video stream is generated by removing from one of the pair of video streams a set of correlative data that is present in or can be predicted from the other of the pair of video streams. The reduced video stream and the other of the pair of video streams are compressed for use in stereoscopic display of the reduced video stream and the other of the pair of video streams. | 05-23-2013 |
20130129079 | System And Method For Decryption Of Content Including Disconnected Encryption Chains - Embodiments may include receiving a protected version of content including different encryption chains including encrypted blocks of content. The protected version of content may include decryption information for decrypting the encrypted chains; the decryption information may include initialization vectors that are distinct from the content. Embodiments may also include performing chained decryption on a particular sequence of data blocks including multiple encryption chains from the protected version of the content and at least some of the initialization vectors. Some of the initialization vectors may be positioned between the encryption chains within the particular sequence such that during the chained decryption the initialization vectors are decrypted in sequence with the data blocks of the encryption chains. The chained decryption may result in a sequence of decrypted data blocks including decrypted initialization vectors. Embodiments may include generating a decrypted version of the content by excluding the decrypted initialization vectors from that sequence. | 05-23-2013 |
20130129085 | System And Method For Decryption Of Content Including Partial-Block Discard - Embodiments may include receiving a protected version of content that includes multiple encryption chains each including encrypted blocks of content. The protected version of content may include one or more initialization vectors for decrypting the encrypted blocks of content and discard information that specifies non-content portions of one or more data blocks to be discarded after decryption. Embodiments may also include performing chained decryption on the multiple encryption chains using the initialization vectors specified by the decryption information. The chained decryption may result in a sequence of decrypted data blocks. Embodiments may also include, based on the discard information, locating and removing the non-content portions of one or more data blocks in the sequence of decrypted data blocks. Embodiments may also include generating the protected version of content. Embodiments may also include performing any of the aforesaid techniques on one or more computers. | 05-23-2013 |
20130132507 | System and Method for Low-Latency Content Streaming - Embodiments of a system and method for low-latency content streaming are described. In various embodiments, multiple data fragments may be sequentially generated. Each data fragment may represent a distinct portion of media content generated from a live content source. Each data fragment may include multiple sub-portions. Furthermore, for each data fragment, generating that fragment may include sequentially generating each sub-portion of that fragment. Embodiments may include, responsive to receiving a request for a particular data fragment from a client during the generation of a particular sub-portion of that particular data fragment, providing the particular sub-portion to the client subsequent to that particular sub-portion being generated and prior to the generation of that particular data fragment being completed in order to reduce playback latency at the client relative to the live content source. | 05-23-2013 |
20130163758 | Methods and Apparatus for Key Delivery in HTTP Live Streaming - A key delivery mechanism that delivers keys to an OS platform (e.g., iOS platform) devices for decrypting encrypted HTTP live streaming data. An HTTPS URL for a stateless HTTPS service is included in the manifest for an encrypted HTTP live stream obtained by an application (e.g., a browser) on an OS platform device. The URL includes an encrypted key, for example as a query parameter value. The application passes the manifest to the OS. The OS contacts the HTTPS service to obtain the key using the URL indicated in the manifest. Since the encrypted key is a parameter of the URL, the encrypted key is provided to the HTTPS service along with information identifying the content. The HTTPS service decrypts the encrypted key and returns the decrypted key to the OS over HTTPS, thus eliminating the need for a database lookup at the HTTPS service. | 06-27-2013 |
20130166906 | Methods and Apparatus for Integrating Digital Rights Management (DRM) Systems with Native HTTP Live Streaming - Methods and apparatus for integrating digital rights management (DRM) systems with native HTTP live streaming. Several methods for integrating a DRM system with HTTP live streaming on an operating system (OS) platform are described. In each of these methods, a manifest is delivered to an application on a device; the application then accesses a remote DRM server to obtain a license and one or more keys for the content. The DRM server enforces the rights of the client in regard to the indicated content. The application may modify the manifest to indicate a method for obtaining the key. The application delivers the manifest to the OS, which uses the indicated method (e.g., a URL) to obtain the key. While similar, the methods primarily differ in the manner in which the OS is directed to obtain the key. | 06-27-2013 |
20130191489 | Media Content Streaming Using Stream Message Fragments - Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for media content streaming can include transacting access information associated with a media stream and transacting one or more fragments associated with the media stream to facilitate a delivery of media content associated with the media stream. Access information can include fragment sequencing information to facilitate individual retrieval of fragments associated with the media stream using a uniform resource identifier via a processing device configured to cache content. A fragment can include one or more stream messages. A stream message can include a message header and a corresponding media data sample. The message header can include a message stream identifier, a message type identifier, a timestamp, and a message length value. | 07-25-2013 |
20130262694 | Buffering in HTTP Streaming Client - A buffer model in an HTTP streaming client may include receiving a first content fragment of a first content stream in response to a first HTTP request. It may also include receiving a second content fragment of a second content stream in response to a second HTTP request. The buffer model may further include storing the first and second content fragments in first and second buffers of a plurality of configurable buffers. The first and second content fragments may be multiplexed into a third buffer of the plurality of buffers. The multiplexed first and second content fragments may be stored in a fourth buffer of the plurality of buffers for playback. The buffer model may be implemented by an application. The buffers may be designed based on one or more constraints. | 10-03-2013 |
20140040026 | SYSTEMS AND METHODS FOR INCLUDING ADVERTISEMENTS IN STREAMING CONTENT - Various embodiments in this disclosure describe a method and a system for including advertisements in streaming content. For example, a manifest file may be accessed by a client device from a server device via a network, the manifest file including one or more media segment URLs and one or more advertisement markers arranged in a predetermined sequence. The advertisement markers included in the manifest file may be replaced by the client device with advertisement URLs associated with user-customized advertisements. The media segment URLs and the advertisement URLs included in the manifest file may then be sequentially accessed in accordance with the predetermined sequence. | 02-06-2014 |
20140040612 | SYSTEM AND METHOD FOR LOCAL GENERATION OF STREAMING CONTENT WITH A HINT TRACK - Embodiments of a system and method for local generation of streaming content with a hint track are described. Embodiments may include receiving a first version of encrypted content comprising encrypted content samples that each include media content and non-content information. Embodiments may also include receiving a hint track including packet header information for a stream of media packets from which the media content was sourced, and offset information identifying locations of encrypted media content within the encrypted content samples. Embodiments may include generating a second version of the encrypted content for streaming, which may include, based on the information of the hint track, identifying the location of media content within the encrypted content samples. Embodiments may include generating media packets within the second version of the encrypted content, each of those media packets including header information from the hint track and the identified media content from the encrypted content samples. | 02-06-2014 |
20140040630 | SYSTEM AND METHOD FOR DETECTING A SECURITY COMPROMISE ON A DEVICE - Embodiments of a system and method for detecting a security compromise on a device are described. Embodiments may be implemented by a content consumption application configured to protect content decryption keys on a device, such as a computer system (e.g., a desktop or notebook computer) or a mobile device (e.g., a smartphone or tablet). For instance, the content consumption application may be configured to provide decryption keys for respective content to a media component (or another component of the operating system) if multiple conditions have been met. For instance, in various embodiments, the content consumption application may pass the key to the media component after ensuring that i) one or more security mechanisms of the device operating system have not been compromised and ii) one or more executable instructions of the content consumption application have not been tampered (e.g., instructions corresponding to a function that handles the decryption key(s)). | 02-06-2014 |
20140074859 | SYSTEM AND METHOD FOR RATING AUDIENCES OF NETWORK-BASED CONTENT OF MULTIPLE CONTENT PUBLISHERS - Embodiments of a system and method for rating audiences of network-based content of multiple content publishers are described. Embodiments may include, for each of multiple users, receiving usage information specifying one or more attributes of the user's content consumption activity with respect to network-based content. The usage information received for at least some of the users may be associated with network-based content from multiple different content publishers (e.g., different websites that host content portals). Embodiments may also include determining a subset of the multiple users that share one or more characteristics (e.g., demographic characteristics). Embodiments may also include generating a report based on a portion of the received usage information that is specific to the subset of the multiple users. The report may specify one or more aggregate attributes of the subset's content consumption activity. | 03-13-2014 |
20140143670 | Video Playback Analytics Collection - In embodiments of video playback analytics collection, an analytics script can be distributed to a client device along with video content that is requested by the client device. The analytics script is implemented to identify a type and/or version of a browser application that supports a video player session to playback the video content for viewing at the client device. The analytics script is also implemented to collect video playback data associated with the video content playback, detect an early end of the video player session before the playback of the video content is completed, and initiate communication of the video playback data to an analytics server. The analytics script can also initiate a timing delay to delay a browser navigation away from the video player session, where the timing delay is effective to allow communication of the video playback data to the analytics server. | 05-22-2014 |
20140245001 | Decryption of Content Including Partial-Block Discard - Embodiments may include receiving a protected version of content that includes multiple encryption chains each including encrypted blocks of content. The protected version of content may include one or more initialization vectors for decrypting the encrypted blocks of content and discard information that specifies non-content portions of one or more data blocks to be discarded after decryption. Embodiments may also include performing chained decryption on the multiple encryption chains using the initialization vectors specified by the decryption information. The chained decryption may result in a sequence of decrypted data blocks. Embodiments may also include, based on the discard information, locating and removing the non-content portions of one or more data blocks in the sequence of decrypted data blocks. Embodiments may also include generating the protected version of content. Embodiments may also include performing any of the aforesaid techniques on one or more computers. | 08-28-2014 |
20140280789 | Media Content Streaming Using Stream Message Fragments - Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for media content streaming can include transacting access information associated with a media stream and transacting one or more fragments associated with the media stream to facilitate a delivery of media content associated with the media stream. Access information can include fragment sequencing information to facilitate individual retrieval of fragments associated with the media stream using a uniform resource identifier via a processing device configured to cache content. A fragment can include one or more stream messages. A stream message can include a message header and a corresponding media data sample. The message header can include a message stream identifier, a message type identifier, a timestamp, and a message length value. | 09-18-2014 |
20140337620 | System and Method for Local Generation of Streaming Content with a Hint Track - Embodiments of a system and method for local generation of streaming content with a hint track are described. Embodiments may include receiving a first version of encrypted content comprising encrypted content samples that each include media content and non-content information. Embodiments may also include receiving a hint track including packet header information for a stream of media packets from which the media content was sourced, and offset information identifying locations of encrypted media content within the encrypted content samples. Embodiments may include generating a second version of the encrypted content for streaming, which may include, based on the information of the hint track, identifying the location of media content within the encrypted content samples. Embodiments may include generating media packets within the second version of the encrypted content, each of those media packets including header information from the hint track and the identified media content from the encrypted content samples. | 11-13-2014 |
20150033031 | System and Method for Detecting a Security Compromise on a Device - Embodiments of a system and method for detecting a security compromise on a device are described. Embodiments may be implemented by a content consumption application configured to protect content decryption keys on a device, such as a computer system (e.g., a desktop or notebook computer) or a mobile device (e.g., a smartphone or tablet). For instance, the content consumption application may be configured to provide decryption keys for respective content to a media component (or another component of the operating system) if multiple conditions have been met. For instance, in various embodiments, the content consumption application may pass the key to the media component after ensuring that i) one or more security mechanisms of the device operating system have not been compromised and ii) one or more executable instructions of the content consumption application have not been tampered (e.g., instructions corresponding to a function that handles the decryption key(s)). | 01-29-2015 |