Techniques for enabling the association of client devices to anonymized households during an authorization process is performed at a server including processor(s) and non-transitory memory. The server receives a request for a service or content from a client device that specifies a device identifier, a first hash value approximating a unit in which the client device is deployed, and a second hash value representing a connection to the unit. The server records and evaluates the request based on the device identifier, the first hash value, and the second hash value so that an access token is generated for the client device and bound to the first hash value. The server sends the access token to the client device for access to the service or content via the connection to the unit upon validating the request or reports an anomaly determined based on the recorded data.
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04L 9/00 - Arrangements for secret or secure communicationsNetwork security protocols
Techniques for providing multimedia content in a virtual set top system are described. In some embodiments, a stream switchover method for UI rendering is performed at a device (e.g., a server) with one or more processors and a non-transitory memory. The server distributes a first stream that includes a plurality of frames. The server receives a request for a user interface (UI) from a client. In response to receiving the request, the server generates a second stream by locating an encoder to encode the plurality of frames into the second stream based on the first stream, instructing the encoder to accelerate encoding of the plurality of frames and facilitating blending of the UI into the second stream with the plurality of frames. The server then switches the client from the first stream to the second stream.
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
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 21/414 - Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
H04N 21/431 - Generation of visual interfacesContent or additional data rendering
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
H04N 21/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
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 encoded video stream scene graphs
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
Techniques for synchronized interleaved watermarking are described. In various embodiments, a headend provisions control words (CWs), generates entitlement control messages (ECMs) for producing the CWs, where each of the ECMs is associated with a watermark identifier (WMID) symbol index assigned to a watermark cryptoperiod, moves portion(s) from a video stream to auxiliary streams, generates versions of the portion(s) to embed watermark symbols within the watermark cryptoperiod, where each version represents a respective watermark symbol, and encrypts the versions using the CWs at start of the watermark cryptoperiod. On the client side, a client device storing a WMID obtains the video and encrypted auxiliary streams and the ECMs referencing the WMID symbol index and selects and decrypts an auxiliary stream using a CW during the watermark cryptoperiod based on the respective watermark symbol, the WMID symbol index, and the WMID before re-multiplexing the video and auxiliary streams for rendering.
H04N 21/2389 - Multiplex stream processing, e.g. multiplex stream encrypting
H04N 21/242 - Synchronization processes, e.g. processing of PCR [Program Clock References]
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
Techniques for providing multimedia content by a cloud media player are described herein. In some embodiments, the cloud media player is hosted by one or more servers that include one or more processors and a non-transitory memory. The cloud media player receives a request to play a media content item at a client device. The cloud media player identifies, based at least in part on client conditions at time of the request, one or more units of the media content item for the client device to download according to a manifest obtained and parsed by the one or more servers. The cloud media player then signals to the client device the one or more units to download.
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/858 - Linking data to content, e.g. by linking an URL to a video object or by creating a hotspot
5.
Systems, Devices, and Methods for Selecting TV User Interface Transitions
Techniques for selecting TV user interface (UI) transition characteristics are described. In accordance with various embodiments, a transition characteristics selection method is performed at a device (e.g., a cloud UI engine on a server) with one or more processors and a non-transitory memory. The UI engine receives a request for transitioning from a first screen to a second screen on a client device while in a real-time content presentation mode. In response to receiving the request and while in the real-time content presentation mode, the UI engine obtains one or more presentation conditions of the client device and selects one or more transition characteristics for transitioning from the first screen to the second screen based on costs associated with the one or more transition characteristics and the one or more presentation conditions.
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 capabilities
Techniques for providing and selecting targeted content as well as measuring targeted content selection at weakly connected devices are described herein. In some embodiments, a server tags media content items with attribute(s) and content attribute (CA) scores before transmitting the tagged media content items to a weakly connected device, where the CA scores are used to locally determine user attribute (UA) scores representing levels of interest for the attribute(s) based on viewed content. Once receiving a set of targeted content items (e.g., advertisements) having attributes from the server, the weakly connected device selects an advertisement based at least in part on the attributes and the UA scores. In some embodiments, the server obtains UA scores from the weakly connected devices and in conjunction with panel data and data from fully connected devices, measures times an advertisement being viewed at the weakly connected devices by a segment of audience.
H04N 21/2668 - Creating a channel for a dedicated end-user group, e.g. by inserting targeted commercials into a video stream based on end-user profiles
Techniques for switching a client device to play low latency content are described. In accordance with various embodiments, the client device switching method is performed at a device (e.g., a client device) with a processor and a non-transitory memory. The client device detects a request for a user interface (UI) while playing a media content item from a buffer and sends to a server the request and status of playing the media content item from the buffer. The client device then receives from the server a switch point determined by the server based at least in part on the status and the requested UI. The client device further determines whether the buffer has sufficient UI frames rendered by the server at the switch point. Upon determining that the buffer has sufficient UI frames, the client device switches to playing the UI frames from the buffer at the switch point.
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 encoded video stream scene graphs
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
Common timeline processing techniques for generating unique manifests are described herein. In accordance with various embodiments a method is performed at one or more servers that include one or more processors, one or more non-transitory memory, and one or more network interfaces. The method includes receiving a request from a client for a unique manifest, wherein the request indicates a recording timeline and includes a recording identifier (ID). The method further includes constructing the unique manifest in response to the request according to the recording timeline, including obtaining at least a portion of the unique manifest from a cache in accordance with determining a corresponding portion of the recording timeline exists in the cache. The method additionally includes appending the recording ID of the request to a URL prefix in the unique manifest. The method also includes sending the unique manifest to the client.
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
G11B 27/10 - IndexingAddressingTiming or synchronisingMeasuring tape travel
H04N 21/231 - Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers or prioritizing data for deletion
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/274 - Storing end-user specific content or additional data in response to end-user request
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/858 - Linking data to content, e.g. by linking an URL to a video object or by creating a hotspot
9.
Video playback based on an HTML iframe and a headless browser
Various embodiments include facilitating video playback, based on an HTML iframe and a headless browser. To that end, in some embodiments, a method is performed at a first device, which may be referred to as a receiving device. The first device includes a processor, a non-transitory memory, and a communication interface. The communication interface enables commutation with a second device, which may be referred to as a sending device. The method includes receiving the HTML iframe from the second device. The HTML iframe may include a video tag, or the video tag may be nested in another HTML iframe. Moreover, the method includes playing a video stream that is identified by the video tag. Playing the video stream includes executing the HTML iframe via the headless browser to retrieve the video stream based on the video tag, and transmitting the video stream to a display device.
H04N 13/00 - Stereoscopic video systemsMulti-view video systemsDetails thereof
G06F 16/958 - Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
H04N 21/432 - Content retrieval operation from a local storage medium, e.g. hard-disk
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 encoded video stream scene graphs
Various implementations include distributing DRM processing between a DRM key protection system and multiple receiving devices. To that end, a method includes receiving a first encrypted content key associated with a first receiving device, and receiving a second encrypted content key associated with a second receiving device. The method includes processing the first encrypted content key to generate a first decrypted content key, and processing the second encrypted content key to generate a second decrypted content key. The method includes generating a first protected content key based on the first decrypted content key, and generating a second protected content key based on the second decrypted content key. The method includes providing the first protected content key to the first receiving device, and providing the second protected content key to the second receiving device.
Techniques for packet-accurate targeted content substitution by a stitcher are described herein. In some embodiments, the stitcher at a client device receives a live transport stream (TS) and a splice message indicating a start time and an end time of a splice period. The stitcher locates in the live TS a video packet with a video packet identifier (PID) and an audio packet with an audio PID crossing the start time. The stitcher injects to the live TS targeted content TS packets within the splice period, where the injection includes re-stamping PIDs and presentation timestamps of the targeted content TS packets to match the live TS packets, and re-stamping the live TS packets with a predefined PID starting from the video packet and the audio packet, and ceasing the re-stamping when a respective audio packet in the live TS packets crossing the end time.
Techniques for zero-trust cloud deployment are described herein. In accordance with various embodiments, a device including a processor and a non-transitory memory derives a key from deployment metadata of a virtual machine, where the deployment metadata change with each deployment of the virtual machine. The device then encrypts secrets using the key to bind the key to the virtual machine. The device further deploys the virtual machine in a cloud using the deployment metadata, including loading the encrypted secrets to the deployed virtual machine in the cloud.
Techniques for measuring cloud-based input latency are described herein. In accordance with various embodiments, a server including one or more processors and a non-transitory memory receives from a client an input event corresponding to a request for a TV user interface (UI). The server adds a tag to each of a set of screens corresponding to the TV UI and records event data corresponding to the input event prior to rendering the set of screens into a set of rendered frames. The server additionally decodes the tag in the set of rendered frames to generate metadata that associate the event data with the set of rendered frames prior to encoding the set of rendered frames into a set of encoded frames. The server also transmits to the client the set of encoded frames and the metadata.
Techniques for proof-of-viewing (POV) are described herein. In accordance with various embodiments, server(s) used by parties interested in tracking POV register media content items in a blockchain, receive a request to view a media content item of the media content items from a client, generate an intent object indicating the request to view the media content item by the client, and record the intent object in the blockchain. A server for reporting POV receives, from the client, a request for at least a portion of a media content item, where the intent object is embedded in the request, sends at least the portion of the media content item to the client and reports to the blockchain to cause the blockchain to record the intent object and an intent state in the blockchain based on sending at least the portion of the media content item to the client.
A method of selectively decrypting encrypted data may include selecting a plurality of encrypted data bits between and including a first encrypted data bit and a last encrypted data bit; for each encrypted data bit from the plurality of encrypted data bits: determining a corresponding encrypted block and a block number that contains the encrypted data bit, determining a corresponding counter for the determined block number, determining a bit position of the encrypted data bit within the determined encrypted block, selecting a counter bit at the bit position within the counter, encrypting the counter, and executing an XOR operation between the encrypted data bit and the corresponding encrypted counter bit.
H04N 21/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
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 or resolving scheduling conflicts
H04N 21/4335 - Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
H04N 21/437 - Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
16.
Methods, Devices, and Systems for Control Flow Integrity
Techniques for control flow integrity (CFI) performed at device(s) are described herein. In some embodiments, an extended compilation process is performed at memory unit(s) for storing instructions corresponding to compiled source codes and/or modified codes and an extended compiler unit. The extended compiler unit scans the instructions and modifies the compiled source codes such that in the modified codes, each instruction is modified together with a previous instruction and the modified codes are bound together as a linked chain to enforce the execution order. In some embodiments, when applying a function to the instructions, a reset instruction is injected to each multi-access address. During code execution, a device including a memory unit for storing the modified codes and a processor loads the modified codes, obtains extracted instructions from the modified codes by applying a reverse function, including forgoing applying the reverse function to the reset instruction before code execution.
G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
G06F 21/54 - Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity, buffer overflow or preventing unwanted data erasure by adding security routines or objects to programs
Techniques for video content searches are described herein. In accordance with various embodiments, a server includes a processor and a non-transitory memory, where the server hosts a natural language processing (NLP) search engine with a model pretrained to derive sentence embeddings. The NLP search engine obtains additional data related to media content. The NLP search engine further provides the additional data to the model to retrain the model, including modifying parameters of the model of the NLP search engine to correlate vectors representing the additional data with the sentence embeddings derived by the model prior to the retraining The NLP search engine also stores the vectors for searches of the media content.
Techniques for video scene change detection performed at a server including processor(s) and a non-transitory memory are described herein. In some embodiments, the server obtains a media content item including a plurality of frames. The server further partitions the media content item into shots at local maxima of color deltas between the plurality of frames. The server also groups the shots into a list of candidate scenes based on features derived from key frames representing each of the shots. The server additionally generates a list of scenes using the features based on a required number of scenes and a minimum scene duration.
Techniques for media content view reporting for reward granting are described herein. In accordance with various embodiments, server(s) prepare a media content item embedded with multiple parts of a key, where the key is associated with proof of viewing the media content item at a client device during a playback session. The server(s) cause the client device to decode the media content item to obtain the multiple parts during the playback session. The server(s) also receive an indication of the client device having accumulated a set of the multiple parts as proof of viewing. The client device receives the parts embedded media content item and decodes the media content item during the playback session. The client device also extracts and accumulates the multiple parts. The client device additionally sends an indication indicating having accumulated a set of the multiple parts as proof of viewing.
H04N 21/658 - Transmission by the client directed to the server
G06F 21/62 - Protecting access to data via a platform, e.g. using keys or access control rules
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
G06Q 30/0217 - Discounts or incentives, e.g. coupons or rebates involving input on products or services in exchange for incentives or rewards
Anti-collusion techniques that use multiple watermark images are described herein. In accordance with various embodiments, a client device includes a processor and a non-transitory memory. The client device obtains a watermark image representing a watermark identifier. The client device further generates multiple variants of the watermark image representing the watermark identifier, where the multiple variants differ in parameters. The client device also selects a first variant from the multiple variants to bind with a media content item at a first time. The client device additionally binds the first variant with the media content item for rendering.
Anti-piracy techniques described herein are performed on a server that includes one or more processors and a non-transitory memory. The server enters a state to accumulate a portion of a bitstream extracted from parts of a clip obtained from a pirate service. The server then identifies a set of suspected piracy devices for the piracy service based on a confidence score of suspected piracy calculated for each client using the accumulated portion of the bitstream exceeding a threshold set relative to the state. The server additionally determines whether or not the set of suspected piracy devices for the pirate service satisfies a stable collusion state criterion corresponding to the state. The server enters a next state to iteratively perform the accumulating and the identifying upon determining the set of suspected piracy devices for the pirate service not satisfying the stable collusion state criterion corresponding to the state.
Systems and methods for selection of advertisement segments are disclosed. A system may comprise at least one processor configured to receive a playback request from a playback unit; receive user information associated with a user; evaluate, using the user information, a user advertisement metric associated with a preference of the user for a particular type of advertisement; select an advertisement segment based on the user advertisement metric; and send the selected advertisement segment to the playback unit, where the user advertisement metric is based at least in part on whether the user skips advertisements associated with the particular type of advertisement in a forward or backward direction.
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
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/6587 - Control parameters, e.g. trick play commands or viewpoint selection
Techniques for securing client watermarks are described herein. In accordance with various embodiments, a server receives a request from a client device for authorizing rendering a media content item at the client device. A validation engine on the server obtains at least a portion of an image representing a screen capture of rendering the media content item including a client watermark and/or metadata associated with the rendering. The validation engine then validates the watermark based at least in part on at least the portion of the image and/or the metadata. Having invalidated the client watermark, the server causes disruption of rendering the media content item at the client device. On the client side, a watermark engine captures the image of rendering the media content item including the client watermark and requests the server to validate the client watermark and renew the authorization based on the validation.
Techniques for preventing rendering content from content delivery network (CDN) to unauthorized users are described herein. In accordance with various embodiments, a CDN includes one or more processors and a non-transitory memory. The CDN receives a request from a client device for a media content item, where the request indicates an identifier of a client. The CDN further provisions an encrypted media content item corresponding to the media content item for the client, where at least a portion of the encrypted media content item is encrypted using at least one personalized key assigned to the client. The CDN also facilitates obtaining a manifest corresponding to the encrypted media content item, where the manifest specifies encryption metadata for retrieving the at least one personalized key by the client. The CDN additionally sends the encrypted media content item and the manifest to the client device.
Various methods, systems, and electronic devices include delivery of sequential subtitle images to a client device. To that end, a method includes obtaining a plurality of sequential subtitle images including a first sequential subtitle image and a second sequential subtitle image. The method includes generating a diff image by comparing the first sequential subtitle image against the second sequential subtitle image. The diff image includes content that is absent from the first sequential subtitle image and present in the second sequential subtitle image. The method includes sending, to the client device, the diff image and display metadata associated with the diff image. The metadata may include a temporal indicator that indicates a display time or display duration of the diff image, and may include a position indicator that indicates a display position of the diff image.
Techniques for countering cheats in a multi-player gaming environment are described herein. In accordance with various embodiments, a server includes a cheating analyzer running on processor(s) and a non-transitory memory for storing cheat data and counter cheat data. The server identifies suspected cheating in a game and determines a probability of the suspected cheating based on the cheat data. The server also selects a counter cheat of the suspected cheating corresponding to the probability value based on the cheat data and the counter cheat data. The server then applies the counter cheat approximate the probability value in the game. In some embodiments, the server deploys local copies of the cheating analyzer to client devices, including sending at least a portion of the cheat data and/or counter cheat data. The local copies facilitate the cheat identification, the probability determination, the counter cheat selection, and/or the application of the counter cheat.
Techniques for packaging media content in a low latency encryption ready format for streaming are described herein. In accordance with various embodiments, one or more packagers that include create an intermediate unit including at least one data portion from media content. The packager(s) further determine a size for reformatting the intermediate unit, where the size can include a padding amount for the at least one data portion. The packager(s) also package the intermediate unit to a reformatted partial segment according to the size without encrypting the at least one data portion, including injecting into the partial segment at least one encryption specific box and injecting padding into the at least one data portion according to the padding amount. The packager(s) then package the reformatted partial segment for streaming while maintaining the size, including generating a manifest for streaming the media content specifying the size of the reformatted partial segment.
H04L 9/06 - Arrangements for secret or secure communicationsNetwork security protocols the encryption apparatus using shift registers or memories for blockwise coding, e.g. D.E.S. systems
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
28.
METHODS, SYSTEMS, AND DEVICES FOR SERVER CONTROL OF CLIENT AUTHORIZATION PROOF OF POSSESSION
Techniques for server control of client authorization proof of possession are described herein. In various embodiments, a first server provisions client authorization proof of possession for a client device a real-world time, a client public key, and a client private key. The first server generates provisioning response message(s) including the client public key, the client private key, the real -world time, and/or an assertion object, and sends the message(s) to the client device. In various embodiments, a client device obtains an authorization proof token generated based on a client public key, a client private key, and a real-world time provisioned by a first server. The client device generates a request and sends the request to a second server, the request includes the authorization proof token and an assertion object from the first server signed by a server private key and an expiration time and a reference to the client public key.
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
G06F 21/33 - User authentication using certificates
Techniques for server control of client authorization proof of possession are described herein. In various embodiments, a first server provisions client authorization proof of possession for a client device a real-world time, a client public key, and a client private key. The first server generates provisioning response message(s) including the client public key, the client private key, the real -world time, and/or an assertion object, and sends the message(s) to the client device. In various embodiments, a client device obtains an authorization proof token generated based on a client public key, a client private key, and a real-world time provisioned by a first server. The client device generates a request and sends the request to a second server, the request includes the authorization proof token and an assertion object from the first server signed by a server private key and an expiration time and a reference to the client public key.
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04N 21/65 - Transmission of management data between client and server
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
30.
Systems, devices, and methods for selecting TV user interface transitions
Techniques for selecting TV user interface (UI) transition characteristics are described. In accordance with various embodiments, a transition characteristics selection method is performed at a device (e.g., a cloud UI engine on a server) with one or more processors and a non-transitory memory. The UI engine receives a request for transitioning from a first screen to a second screen on a client device while in a real-time content presentation mode. In response to receiving the request and while in the real-time content presentation mode, the UI engine obtains one or more presentation conditions of the client device and selects one or more transition characteristics for transitioning from the first screen to the second screen based on costs associated with the one or more transition characteristics and the one or more presentation conditions.
G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computerOutput arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
G06F 12/00 - Accessing, addressing or allocating within memory systems or architectures
H04N 5/445 - Receiver circuitry for displaying additional information
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 capabilities
Techniques for a smartphone-based conditional access (CA) system are described. In some embodiments, a headend in the CA system obtains a security profile associated with a pair of receiving devices used by a user, e.g., a first device (e.g., a smartphone) and a second device (e.g., a set-top-box or a TV). The headend dynamically regulates user access to requested media content during each entitlement period by assigning and distributing separate keys to the first and second device based on the security profile. The headend also uses the distributed keys to protect the media content before broadcasting. On the receiving end, one receiving device receives the media content and determines whether it is decryptable by the device. If decryptable, the receiving device (e.g., the set-top-box/TV) decrypts the media content using the keys assigned by the headend. Otherwise, the receiving device forwards the media content to the pairing device for decryption.
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
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/4385 - Multiplex stream processing, e.g. multiplex stream decrypting
H04N 21/4623 - Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
32.
Methods, devices, and systems for publishing key pictures
Techniques for publishing key pictures at a server and using the key picture information for operations on a client device are described herein. In accordance with various embodiments, the server creates an intermediate unit including key picture(s) from media content. The server then generates map(s) specifying for each key picture, a type, properties, and an association to the intermediate unit. The server also packages the intermediate unit into key picture unit(s) according to the map(s). The client device obtains a manifest for the media content referencing the key picture(s) and the type of each key picture. Upon receiving a request to perform operation(s) on a respective key picture, the client device obtains a corresponding key picture unit and parses the manifest to determine a respective type. Based on the respective type matches a criterion, the client device performs the operation(s) on the key picture unit.
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
G06V 20/40 - ScenesScene-specific elements in video content
33.
Secure content distribution and trusted recording of content consumption
Techniques for a trusted system for secure content distribution and trusted recording of content consumption are described. In some embodiments, the trusted system transcodes and transcrypts a media content item using a key obtained from a content provider and one or more keys based on an entitlement from a service provider to generate an encrypted media content item. The trusted system further receives a request to provide the media content item to a client device. The trusted system also obtains a signed audit token recording the request upon an authorization by the service provider based on the entitlement and a confirmation by the content provider, where the signed audit token is signed by the content provider and the service provider. The trusted system additionally provides the one or more keys for decrypting the encrypted media content item and reports the signed audit token.
H04N 21/633 - Control signals issued by server directed to the network components or client
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
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/6334 - Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
34.
System for thin client devices in hybrid edge cloud systems
Techniques for enhancing security for thin client devices in hybrid edge cloud systems are described. In accordance with various embodiments, the hybrid system includes a cloud computing platform (e.g., the cloud) and an edge device (e.g., the edge). The cloud extracts key(s) for authentication and session establishment. The cloud also utilizes the key(s) to establish a session between the edge and a client device. The cloud additionally authorizes a content request from the client device for a media content item over the session and extracts a content key upon successful authorization. The edge caches the key(s), obtains the content key at the time of receiving the content request from the client device and transmits the content key and the key(s) with the media content item to the client device.
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
Systems, methods, and computer-readable media for managing presentation of stream portions are disclosed. The systems and methods may involve receiving a first list of stream portions; determining a first set of high-priority stream portions; retrieving at least one portion of the first set of high-priority stream portions; storing the retrieved portion of the first set of high-priority stream portions; receiving a second list of stream portions; determining a second set of high-priority stream portions; determining whether any stream portions in the stored portion of the first set of high-priority stream portions are not in the second set of high-priority stream portions; deleting from the memory any stream portions in the stored portion of the first set of high-priority stream portions that are not in the second set of high-priority stream portions; and determining whether any stream portions in the second set of high-priority stream portions are not stored in memory.
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
H04N 21/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
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 or resolving scheduling conflicts
H04N 21/4335 - Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
H04N 21/437 - Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
36.
SYSTEMS, DEVICES, AND METHODS FOR WATERMARK EMBEDDING
Techniques for embedding watermarks are described. In accordance with various embodiments, a server (e.g., a cloud in a core network) generates a profile for an encoded media content item and packages the profile as corresponding watermark metadata. The server then transmits the encoded media content item and the corresponding watermark metadata to at least one edge node in an edge cloud. A respective edge node in the edge cloud, upon receiving a request from a client device for the encoded media content item, where the request includes a client identifier associated with the client device, obtains a first portion of the encoded media content item and the corresponding watermark metadata. A watermark embedder of the edge node then embeds the client identifier in the embedded media content item according to the watermark metadata and transmits the watermark embedded media content item to the client device.
Techniques for embedding secure feature selection at content delivery network (CDN) edge are described. In accordance with various embodiments, server(s) in a cloud receive from a client device a request for a media URL associated with a media asset. The server(s) identify feature state(s) associated with the client device and the media asset on a CDN edge node hosting the media asset. The server(s) then selectively generate a unique token or a common token specifying the feature state(s) before sending the media URL including the unique token or the common token to the client device. Upon receiving the media URL, the CDN edge node in an edge node with features deployed, determines whether the media URL causes a cache miss. Upon determining that the media URL causes the cache miss, the CDN edge node changes a feature state of a feature, applies the feature, and provides the media asset.
Techniques for embedding watermarks are described. In accordance with various embodiments, a server (e.g., a cloud in a core network) generates a profile for an encoded media content item and packages the profile as corresponding watermark metadata. The server then transmits the encoded media content item and the corresponding watermark metadata to at least one edge node in an edge cloud. A respective edge node in the edge cloud, upon receiving a request from a client device for the encoded media content item, where the request includes a client identifier associated with the client device, obtains a first portion of the encoded media content item and the corresponding watermark metadata. A watermark embedder of the edge node then embeds the client identifier in the embedded media content item according to the watermark metadata and transmits the watermark embedded media content item to the client device.
Techniques for secure fast channel change in live content streaming are described. In some embodiments, during content preparation, a packager and/or an encoder encrypts media content items at both the service level (e.g., by encrypting a first portion of the plurality of segments with a service level access key unique to a service) and the channel level (e.g., by encrypting a second portion of the plurality of segments with a channel level access key unique to a channel associated with the service). On the receiving end, a client device (e.g., a media player) requests a service level access key prior to content acquisition. As such, a client can join any channel on a segment protected with the service level key without waiting for a license for that channel first, and the channel license can be acquired in parallel with the content acquisition during channel switching.
Techniques for delivering targeted content to a client device (e.g., a set-top-box (STB)) with a tuner, one or more controllers, and a non-transitory memory are described. In accordance with various embodiments, the client device obtains streaming media content in a stream and detects a plurality of transport packets under a packet identifier (PID) in the stream, where the plurality of transport packets is associated with a targeted content delivery service. The client device further identifies metadata corresponding to targeted content of the targeted content delivery service in the plurality transport packets under the PID. The client device then selects a list of targeted content identifiers for the client device based on the metadata and a profile of the client device and downloads the targeted content according to the list of targeted content identifiers.
H04L 29/06 - Communication control; Communication processing characterised by a protocol
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 streamRemultiplexing of multiplex streamsInsertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rateAssembling of a packetised elementary stream
H04N 21/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
Techniques for allocating bandwidth for low latency content and buffered content are described. In accordance with various embodiments, a bandwidth allocation method is performed at a device (e.g., a server) with one or more processors and a non-transitory memory. The server determines available bandwidth for delivering content to a client device in a stream, where the stream includes low latency content and buffered content. The server further identifies characteristics of the low latency content. The server then allocates a first portion of the available bandwidth to the low latency content and a second portion of the available bandwidth to the buffered content based on the characteristics of the low latency content.
G06F 13/00 - Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
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/238 - Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidthProcessing of multiplex streams
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
42.
Intrasegment adjustment of video transmission rate
A method includes determining a first transmission rate for transmitting an entirety of a segment of a video stream to a client device. The segment includes a set of frames. In some implementations, the method includes, after transmitting a first subset of the set of frames at the first transmission rate, detecting that a network connectivity of the client device has reduced below a connectivity threshold associated with the first transmission rate. In some implementations, the method includes transmitting an entirety of the segment at a second transmission rate that is less than the first transmission rate. In some implementations, the method includes triggering the client device to present a second subset of the set of frames that corresponds to a temporal position in the video stream after the first subset of the set of frames while foregoing re-presentation of the first subset of the set of frames.
H04N 21/647 - Control signaling between network components and server or clientsNetwork 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 between two different networks, e.g. between IP and wireless
H04N 7/12 - Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 17/00 - Diagnosis, testing or measuring for television systems or their details
Various implementations disclosed herein include devices, systems, and methods for reducing a decode delay at a client device. In some implementations, a device includes one or more processors and a non-transitory memory. In some implementations, a method includes determining that a client device is being switched from a real-time content presentation mode in which the client device presents real-time content to a buffered content presentation mode in which the client device presents buffered content. In some implementations, the method includes transmitting, to the client device, video frames corresponding to the buffered content at a first transmission rate. In some implementations, the method includes changing the first transmission rate to a second transmission rate based on an indication that a number of bits stored in a buffer of the client device satisfies a decode threshold.
Techniques for providing multimedia content in a virtual set top system are described. In some embodiments, a stream switchover method for UI rendering is performed at a device (e.g., a server) with one or more processors and a non-transitory memory. The server distributes a first stream that includes a plurality of frames. The server receives a request for a user interface (UI) from a client. In response to receiving the request, the server generates a second stream by locating an encoder to encode the plurality of frames into the second stream based on the first stream, instructing the encoder to accelerate encoding of the plurality of frames and facilitating blending of the UI into the second stream with the plurality of frames. The server then switches the client from the first stream to the second stream.
H04N 21/637 - Control signals issued by the client directed to the server or network components
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 21/414 - Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
H04N 21/431 - Generation of visual interfacesContent or additional data rendering
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
H04N 21/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
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 encoded video stream scene graphs
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-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/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
45.
Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
Techniques for server control of client authorization proof of possession are described herein. In various embodiments, a first server provisions client authorization proof of possession for a client device a real-world time, a client public key, and a client private key. The first server generates provisioning response message(s) including the client public key, the client private key, the real-world time, and/or an assertion object, and sends the message(s) to the client device. In various embodiments, a client device obtains an authorization proof token generated based on a client public key, a client private key, and a real-world time provisioned by a first server. The client device generates a request and sends the request to a second server, the request includes the authorization proof token and an assertion object from the first server signed by a server private key and an expiration time and a reference to the client public key.
Techniques for server control of client authorization proof of possession are described herein. In various embodiments, a first server provisions client authorization proof of possession for a client device a real-world time, a client public key, and a client private key. The first server generates provisioning response message(s) including the client public key, the client private key, the real-world time, and/or an assertion object, and sends the message(s) to the client device. In various embodiments, a client device obtains an authorization proof token generated based on a client public key, a client private key, and a real-world time provisioned by a first server. The client device generates a request and sends the request to a second server, the request includes the authorization proof token and an assertion object from the first server signed by a server private key and an expiration time and a reference to the client public key.
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
Techniques for a smartphone-based conditional access (CA) system are described. In some embodiments, a headend in the CA system obtains a security profile associated with a pair of receiving devices used by a user, e.g., a first device (e.g., a smartphone) and a second device (e.g., a set-top-box or a TV). The headend dynamically regulates user access to requested media content during each entitlement period by assigning and distributing separate keys to the first and second device based on the security profile. The headend also uses the distributed keys to protect the media content before broadcasting. On the receiving end, one receiving device receives the media content and determines whether it is decryptable by the device. If decryptable, the receiving device (e.g., the set-top-box/TV) decrypts the media content using the keys assigned by the headend. Otherwise, the receiving device forwards the media content to the pairing device for decryption.
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
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/4385 - Multiplex stream processing, e.g. multiplex stream decrypting
H04N 21/4623 - Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
48.
Methods, systems, and devices for detecting over-the-top piracy
Techniques for detection over-the-top piracy are described. In some embodiments, a piracy detection method is performed at a server by a piracy detector. The piracy detector obtains records associated with requests for access from a plurality of client devices. The piracy detector further distributes the records to a plurality of nodes according to distribution keys extracted from the records, where each of the plurality of nodes receives a respective set of records associated with a respective distribution key and generates a set of respective watch session records based on the respective set of records. The piracy detector also generates watch session records associated with the distribution keys by aggregating the respective watch session records from the plurality of nodes. The piracy detector additionally identifies one or more pirated client devices among the plurality of client devices based on clusters established from the watch session records.
In some implementations, a device includes one or more processors and a non-transitory memory. In some implementations, a method includes obtaining a request to perform a user interface operation at a client device while the client device is playing a media content item in a buffered content presentation mode. In some implementations, the method includes identifying a first image that represents a current playback position of the media content item at the client device. In some implementations, the method includes identifying a second image that represents a user interface element associated with the user interface operation. In some implementations, the method includes generating a first video frame that corresponds to the user interface operation by blending the first image with the second image. In some implementations, the method includes triggering the client device to present the first video frame in a real-time content presentation mode.
H04N 21/431 - Generation of visual interfacesContent or additional data rendering
H04N 21/00 - Selective content distribution, e.g. interactive television or video on demand [VOD]
G06F 3/048 - Interaction techniques based on graphical user interfaces [GUI]
G11B 27/10 - IndexingAddressingTiming or synchronisingMeasuring tape travel
G06F 3/0484 - Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
A method is performed at a network device including a plurality of network interfaces. The method includes obtaining a first source adaptive bitrate (ABR) asset and a second source ABR asset. The method includes encoding the first source ABR asset in order to generate a first plurality of video representations, and encoding the second source ABR asset in order to generate a second plurality of video representations. The method includes providing, to a first client device, a first one of the first plurality of video representations. The method includes, in response to detecting satisfaction of a source change condition with respect to the first client device, providing, to the first client device, a first one of the second plurality of video representations, and ceasing to provide the first one of the first plurality of video representations to the first client device.
A method includes transmitting a first preauthored video frame of a plurality of preauthored video frames to a client device. The first preauthored video frame is associated with a preauthored media object. The method includes providing a request for a composited video frame to an interactive source device. The request includes a temporal characteristic associated with the first preauthored video frame. The method includes, in response to providing the request, obtaining, from the interactive source device, the composited video frame including customizable video content and preauthored video content. The preauthored video content is associated with a portion of the preauthored media object based on the temporal characteristic. The method includes, in response to detecting that the first preauthored video frame and the composited video frame together satisfy a switching condition, transmitting the composited video frame to the client device after transmitting the first preauthored video frame to the client device.
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/2668 - Creating a channel for a dedicated end-user group, e.g. by inserting targeted commercials into a video stream based on end-user profiles
52.
Rendering video frames for a user interface operation performed at a client device
In some implementations, a device includes one or more processors and a non-transitory memory. In some implementations, a method includes obtaining a request for a sequence of video frames that corresponds to a user interface operation being performed at a client device. In some implementations, the sequence of video frames is to be presented at the client device at a first frame rate. In some implementations, the method includes determining an availability of computing resources associated with providing the sequence of video frames to the client device. In some implementations, the method includes generating, based on the availability of computing resources, the sequence of video frames at a second frame rate that is greater than the first frame rate. In some implementations, the method includes triggering the client device to present the sequence of video frames at the first frame rate.
H04N 19/146 - Data rate or code amount at the encoder output
H04N 5/783 - Adaptations for reproducing at a rate different from the recording rate
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/176 - 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 block, e.g. a macroblock
H04N 19/567 - Motion estimation based on rate distortion criteria
H04N 21/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/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
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-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/6587 - Control parameters, e.g. trick play commands or viewpoint selection
Techniques for cloud user interface (UI) rendering in a virtual set top system is performed by a UI engine on a server or a cloud platform. The method includes receiving a request for a UI, where the request includes a state associated with the UI and the request. The method further includes identifying, based at least in part on the first state, UI element(s) and/or interactions associated with the UI. The method also includes determining whether or not UI object(s) corresponding to the UI element(s) and/or the interactions exist in a cache. The method additionally includes generating the UI using the UI object(s) upon finding the UI object(s) in the cache. The method further includes rendering the UI upon not finding the UI object(s) in the cache, including rendering the UI element(s) and/or the interaction(s) as the UI object(s) and storing the UI object(s) in the cache.
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
G06F 3/04842 - Selection of displayed objects or displayed text elements
G06F 9/451 - Execution arrangements for user interfaces
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
54.
SWITCHING BETWEEN TRANSMITTING A PREAUTHORED VIDEO FRAME AND A COMPOSITED VIDEO FRAME
A method includes transmitting a first preauthored video frame of a plurality of preauthored video frames to a client device. The first preauthored video frame is associated with a preauthored media object. The method includes providing a request for a composited video frame to an interactive source device. The request includes a temporal characteristic associated with the first preauthored video frame. The method includes, in response to providing the request, obtaining, from the interactive source device, the composited video frame including customizable video content and preauthored video content. The preauthored video content is associated with a portion of the preauthored media object based on the temporal characteristic. The method includes, in response to detecting that the first preauthored video frame and the composited video frame together satisfy a switching condition, transmitting the composited video frame to the client device after transmitting the first preauthored video frame to the client device.
H04N 21/8547 - Content authoring involving timestamps for synchronizing content
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
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 encoded video stream scene graphs
H04N 21/482 - End-user interface for program selection
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-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/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 capabilities
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
H04N 21/2665 - Gathering content from different sources, e.g. Internet and satellite
H04N 21/222 - Secondary servers, e.g. proxy server or cable television Head-end
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
A method is performed at a network device including a plurality of network interfaces. The method includes receiving, from a client device, a playback request associated with a plurality of preauthored video frames. The method includes, in response to receiving the playback request, delivering, to the client device, customizable content that is based on the playback request. The method includes detecting that a first portion of the plurality of preauthored video frames and a portion of the customizable content together satisfy a switching condition. The method includes, in response to detecting that the first portion of the plurality of preauthored video frames and the portion of the customizable content together satisfy the switching condition, switching delivery of the customizable content to the client device with delivery of the first portion of a plurality of preauthored video frames to the client device.
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
In some implementations, a device includes one or more processors and a non-transitory memory. In some implementations, a method includes determining that a video frame to be presented at a client device includes a portion that corresponds to a particular playback position within a video content item. In some implementations, the method includes obtaining audio data that corresponds to the particular playback position within the video content item. In some implementations, the method includes transmitting the audio data to the client device separate from the video frame.
H04N 21/233 - Processing of audio elementary streams
H04N 21/6332 - Control signals issued by server directed to the network components or client directed to client
H04N 21/8547 - Content authoring involving timestamps for synchronizing content
H04N 21/43 - Processing of content or additional data, e.g. demultiplexing additional data from a digital video streamElementary client operations, e.g. monitoring of home network or synchronizing decoder's clockClient middleware
57.
Approximated personalization for weakly connected devices
Techniques for targeting media content items for weakly connected devices are described. In some embodiments, a model building method in preparation for approximated personalization is performed at a server. The server uses data from fully connected devices to build a full model, which classifies profiles into clusters and tags targeted content with content rankings. The server also builds device models that approximate the full model. The server then sends the device models to user devices for targeted content selection. In some embodiments, a content selection method for approximated personalization is performed at a user device. The user device receives parameters of a device model trained by a server. The user device then executes the device model using local user data to assign a profile to a cluster and selects targeted content for the profile based on the cluster assignment and the rankings of the targeted content.
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/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/2668 - Creating a channel for a dedicated end-user group, e.g. by inserting targeted commercials into a video stream based on end-user profiles
Context-aware authentication may be provided. First, a request may be received for content service. The request may comprise information associated with a context of a household from which the request came. Next, the request may be authenticated based on the information associated with the context of the household from which the request came. Then the content service may be provided in response to authenticating the request.
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
G16Y 20/10 - Information sensed or collected by the things relating to the environment, e.g. temperatureInformation sensed or collected by the things relating to location
59.
Pooling user interface (UI) engines for cloud UI rendering
Techniques for rendering user interface (UI) in a virtual set top system using a pooling of UI rendering engines is performed at a device (e.g., a server or a cloud computing platform). The pooling method includes receiving multiple requests for UIs from multiple client devices, where the multiple requests include states of the UIs. The method further includes dividing the multiple requests into a plurality of groups based at least in part on the states of the UIs, where a respective group of the plurality of groups corresponds to requests for a set of UIs from a respective set of client devices. The method additionally includes assigning a pool of UI engines in a virtual machine (VM) to render the set of UIs for the respective set of client devices based on one or more of characteristics of the set of UIs and characteristics of the respective group.
Techniques for providing multimedia content in a virtual set top system are described. In some embodiments, a stream switchover method for UI rendering is performed at a device (e.g., a server) with one or more processors and a non-transitory memory. The server distributes a first stream that includes a plurality of frames. The server receives a request for a user interface (UI) from a client. In response to receiving the request, the server generates a second stream by locating an encoder to encode the plurality of frames into the second stream based on the first stream, instructing the encoder to accelerate encoding of the plurality of frames and facilitating blending of the UI into the second stream with the plurality of frames. The server then switches the client from the first stream to the second stream.
H04N 21/637 - Control signals issued by the client directed to the server or network components
H04N 21/431 - Generation of visual interfacesContent 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 encoded video stream scene graphs
H04N 21/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
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 21/414 - Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-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/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
H04N 21/6379 - Control signals issued by the client directed to the server or network components directed to server directed to encoder
61.
Approximated personalization for weakly connected devices
Techniques for targeting media content items for weakly connected devices are described. In some embodiments, a model building method in preparation for approximated personalization is performed at a server. The server uses data from fully connected devices to build a full model, which classifies profiles into clusters and tags targeted content with content rankings. The server also builds device models that approximate the full model. The server then sends the device models to user devices for targeted content selection. In some embodiments, a content selection method for approximated personalization is performed at a user device. The user device receives parameters of a device model trained by a server. The user device then executes the device model using local user data to assign a profile to a cluster and selects targeted content for the profile based on the cluster assignment and the rankings of the targeted content.
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/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/2668 - Creating a channel for a dedicated end-user group, e.g. by inserting targeted commercials into a video stream based on end-user profiles
A multimedia content selection system includes at least one processor executing instructions for performing operations. The operations include receiving a playback request from a playback unit, including a content identifier, providing, to the playback unit, a manifest with at least a set of content segment identifiers based on the content identifier, each content segment identifier identifying a content segment associated with a content stream, receiving a content stream request comprising one of the content segment identifiers, and selecting a segment for playback from the content segment associated with the received content segment identifier, determined using a set of content selection rules.
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
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/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
A method includes transmitting, to a client device, a portion of a first ABR segment, characterized by a first representation, according to a first predefined protocol, and transmitting a first buffer management instruction that is associated with the portion of the first ABR segment. The method includes obtaining a performance status characteristic from the client device. The performance status characteristic characterizes the client device receiving the portion of the first ABR segment. The method includes, in response to determining that the performance status characteristic satisfies a representation change condition, transmitting, to the client device, a portion of a second ABR segment, characterized by a second representation, according to a second predefined protocol that is different from the first predefined protocol, and transmitting a second buffer management instruction that is associated with the portion of the second ABR segment.
H04N 7/173 - Analogue secrecy systemsAnalogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
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 encoded video stream scene graphs
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/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 capabilities
64.
Machine learning based coded size estimation in rate control of video encoding
Techniques for machine learning based coded size estimation in rate control of video encoding are described. An encoder in accordance with various embodiments uses one or more machine learning approaches to facilitate the rate control of video encoding. When training one or more neural network models, the relationship between the coded size and unit characteristics (e.g., picture pixels and/or picture features) is learned from past encoding. The encoder then uses the trained model(s) to estimate the coded size through model inference with improved accuracy. In some embodiments, the trained model(s) are integrated into the encoder for direct model inference. The direct model inference reduces the overhead of referencing application programming interfaces (APIs) provided by a separate machine learning platform, thus making the rate control methods and systems described herein useful in real time video encoding.
H04N 19/577 - Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
H04N 19/196 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
H04N 19/176 - 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 block, e.g. a macroblock
H04N 19/149 - Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
65.
Systems, methods, and devices for media content tamper protection and detection
Techniques for media content tamper protection and detection are described. In some embodiments, the protection method is performed at an encoder. The encoder obtains a first sequence of signatures within a group of pictures and a second sequence of signatures for audio frames corresponding to the group of pictures. The encoder then combines the first sequence of signatures and the second sequence of signatures to generate a combined signature, and the combined signature is then embedded in a transport stream for transmission to a client device. In some embodiments, the detection method is performed at a client device, where the client device, in response to detecting a first message in the transport stream, starts calculation of signatures for a group of pictures and corresponding audio frames. The client device then uses the calculated signatures to validate an expected signature for the group of pictures and the corresponding audio frames.
H04N 7/167 - Systems rendering the television signal unintelligible and subsequently intelligible
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
H04N 21/233 - Processing of audio elementary streams
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 streamRemultiplexing of multiplex streamsInsertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rateAssembling of a packetised elementary stream
H04N 21/439 - Processing of audio elementary streams
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video streamRemultiplexing of multiplex streamsExtraction or processing of SIDisassembling of packetised elementary 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 encoded video stream scene graphs
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
G08B 5/22 - Visible signalling systems, e.g. personal calling systems, remote indication of seats occupied using electric transmissionVisible signalling systems, e.g. personal calling systems, remote indication of seats occupied using electromagnetic transmission
H04N 21/2389 - Multiplex stream processing, e.g. multiplex stream encrypting
H04N 21/8358 - Generation of protective data, e.g. certificates involving watermark
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 encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
Techniques for broadcast in-home streaming are described. In some embodiments, the method is performed at a gateway device. The gateway device demultiplexes a broadcast stream to a plurality of streams, including a first stream and a second stream and anchors a first presentation time range of a first segment based on a random access point in the first stream and a first frame in the second stream. The gateway device also identifies one or more frames in the first stream based on presentation timestamps and decoding timestamps of a last frame in the first presentation time range and a first frame in a second presentation time range. The gateway device further captures frames from the second stream within the first presentation time range and generates the first segment having the first presentation time range, including the random access point, the one or more frames, the first frame, and the frames.
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/2389 - Multiplex stream processing, e.g. multiplex stream encrypting
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video streamRemultiplexing of multiplex streamsExtraction or processing of SIDisassembling of packetised elementary stream
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
A method is performed at a network device including a plurality of network interfaces. The method includes obtaining a first source adaptive bitrate (ABR) asset and a second source ABR asset. The method includes encoding the first source ABR asset in order to generate a first plurality of video representations, and encoding the second source ABR asset in order to generate a second plurality of video representations. The method includes providing, to a first client device, a first one of the first plurality of video representations. The method includes, in response to detecting satisfaction of a source change condition with respect to the first client device, providing, to the first client device, a first one of the second plurality of video representations, and ceasing to provide the first one of the first plurality of video representations to the first client device.
Techniques for adaptive validation and remediation are described. In some embodiments, the method includes determining, for a plurality of media service accounts, corresponding fraud suspicion values based on a model. The method also includes identifying a plurality of suspected accounts based on the corresponding fraud suspicion values. The method additionally includes identifying one or more suspected devices and predicting a likelihood of account takeover from each of the one or more suspected devices. The method further includes detecting a triggering event from a device of the one or more suspected devices associated with an account. The method additionally includes executing a validation and/or remediation procedure based on a trigger sensitivity value associated with the triggering event, a respective likelihood of account takeover from the device associated with the account, a respective device risk value associated with the device, and a respective fraud suspicion value associated with the account.
G06Q 30/02 - MarketingPrice estimation or determinationFundraising
G06Q 10/06 - Resources, workflows, human or project managementEnterprise or organisation planningEnterprise or organisation modelling
G06Q 20/12 - Payment architectures specially adapted for electronic shopping systems
G06Q 40/02 - Banking, e.g. interest calculation or account maintenance
G06Q 50/00 - Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
A method is performed at a network device including a plurality of network interfaces. The method includes receiving, from a client device, a playback request associated with a plurality of preauthored video frames. The method includes, in response to receiving the playback request, delivering, to the client device, customizable content that is based on the playback request. The method includes detecting that a first portion of the plurality of preauthored video frames and a portion of the customizable content together satisfy a switching condition. The method includes, in response to detecting that the first portion of the plurality of preauthored video frames and the portion of the customizable content together satisfy the switching condition, switching delivery of the customizable content to the client device with delivery of the first portion of a plurality of preauthored video frames to the client device.
H04N 21/431 - Generation of visual interfacesContent or additional data rendering
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
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
70.
Systems and methods for data processing, storage, and retrieval from a server
A method of selectively decrypting encrypted data may include selecting a plurality of encrypted data bits between and including a first encrypted data bit and a last encrypted data bit; for each encrypted data bit from the plurality of encrypted data bits: determining a corresponding encrypted block and a block number that contains the encrypted data bit, determining a corresponding counter for the determined block number, determining a bit position of the encrypted data bit within the determined encrypted block, selecting a counter bit at the bit position within the counter, encrypting the counter, and executing an XOR operation between the encrypted data bit and the corresponding encrypted counter bit.
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 encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04N 21/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
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 encoded video stream scene graphs involving video stream decryption
71.
Systems and methods for data processing, storage, and retrieval from a server
A method of authenticating data received from a user device by a service provider may include receiving user credentials from the user device via a secure communication channel; upon verifying the user credentials, providing to the user device via the secure channel a permission token, where the permission token includes at least a shared secret, where a data within the permission token is not observable to the user device and a shared secret data outside the data of the permission token, the shared secret data observable to the user device; and receiving a request from the user device via a non secure communication channel, where the request may include at least the permission token and a hash digest formed using at least a portion of the shared secret data.
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 encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04N 21/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
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 encoded video stream scene graphs involving video stream decryption
72.
Systems and methods for data processing, storage, and retrieval from a server
A method for identifying a data segment includes receiving a first data segment associated with a first recording time; receiving a second data segment associated with a second recording time, comparing: the first recording time with the second recording time, a first time reference value with a second time reference value, and a first length enumeration for first data packets with a second length enumeration for second data packets; determining, based on the comparing, a match between the first data segment and the second data segment; and identifying the first data segment as the same as the second data segment based on the determining.
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 encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04N 21/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
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 encoded video stream scene graphs involving video stream decryption
73.
Systems and methods for data processing, storage, and retrieval from a server
A method of splitting a data stream into a set of data segments may include receiving the data stream, wherein the data stream may include data packets; selecting a segment time period and a time domain; subdividing the time domain into a set of time blocks, each one of the set of time blocks having a duration of the segment time period; identifying a set of starting data packets corresponding to the set of time blocks; identifying a set of finishing data packets corresponding to the set of starting data packets; identifying a last one of the set of finishing data packets being a last data packet of a last one of the set of time blocks; and identifying the set of data segments based on the corresponding set of starting data packets and the corresponding set of finishing data packets.
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 encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04N 21/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
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 encoded video stream scene graphs involving video stream decryption
74.
Prioritized content encryption for rapid breach response
Techniques for rapid video on demand (VOD) media content breach response are described. In some embodiments, during content preparation, a server generates an encrypted media content item by generating a first encrypted portion using a first key derived from a first seed that is of a first type and generating a second encrypted portion using a second key derived from a second seed that is of a second type. In some embodiments, the server classifies the first portion in a first category (e.g., a prioritized category) and the second portion in a second category (e.g., a non-prioritized category). During a breach response, the server repairs the encrypted media content item by re-encrypting portions in the first category, e.g., re-encrypting the first encrypted portion using a replacement key derived from a replacement seed that is of the first type, and updating encryption metadata.
H04L 9/06 - Arrangements for secret or secure communicationsNetwork security protocols the encryption apparatus using shift registers or memories for blockwise coding, e.g. D.E.S. systems
H04L 9/14 - Arrangements for secret or secure communicationsNetwork security protocols using a plurality of keys or algorithms
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
H04L 9/00 - Arrangements for secret or secure communicationsNetwork security protocols
75.
Systems and methods for identifying a content receiving device
A method for identifying from among network-connected devices a particular device likely associated with a theft of distributed content includes obtaining content, the content having been distributed from a particular one of the network-connected devices, identifying in the obtained content anti-collusion codes, and determining the particular one of the network-connected devices is likely associated with the theft of distributed content when an aggregated probability calculated using the identified anti-collusion codes is equal to or exceeds a predetermined threshold.
Techniques for reducing piracy of media content are described. In some embodiments, a collusion resistant method is performed at a device, where the device receives a first request for a base copy of a media content item. In response, the device determines a first transformation based on a statistical performance criterion and a viewing performance criterion. The device further generates a first copy of the media content item by replicating and applying a first transformation to the base copy, where the first copy of the media content item satisfies the viewing performance criterion, and the first copy of the media content item is statistically different from the base copy or other copies in accordance with the statistical performance criterion. The device then causes transmission of the first copy of the media content item in combination with a first watermark for the base copy of the media content item.
H04N 21/231 - Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers or prioritizing data for deletion
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
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/435 - Processing of additional data, e.g. decrypting of additional data or reconstructing software from modules extracted from the transport stream
H04N 21/647 - Control signaling between network components and server or clientsNetwork 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 between two different networks, e.g. between IP and wireless
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 1/32 - Circuits or arrangements for control or supervision between transmitter and receiver
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
Techniques for reducing piracy of media content are described. In some embodiments, a collusion resistant method is performed at a device, where the device receives a first request for a base copy of a media content item. In response, the device determines a first transformation based on a statistical performance criterion and a viewing performance criterion. The device further generates a first copy of the media content item by replicating and applying a first transformation to the base copy, where the first copy of the media content item satisfies the viewing performance criterion, and the first copy of the media content item is statistically different from the base copy or other copies in accordance with the statistical performance criterion. The device then causes transmission of the first copy of the media content item in combination with a first watermark for the base copy of the media content item.
H04N 21/8358 - Generation of protective data, e.g. certificates involving watermark
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
The present disclosure provides systems and methods for video content security and for detecting and preventing unauthorized playback. According to an exemplary method, a device performing a video playback can acquire a set of video frames from a decoder during the video playback, and generate, based on the set of video frames, a first video identifier. The first video identifier can be sent to a server. In response to the server determining that the first video identifier matches a second video identifier stored in the server, the device can receive a list of authorized playback sources associated with the second video identifier. The device can determine whether a source of the video playback is included in the list of authorized playback sources, and control the video playback based on the determination.
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/8358 - Generation of protective data, e.g. certificates involving watermark
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 encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
H04N 21/472 - End-user interface for requesting content, additional data or servicesEnd-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/254 - Management at additional data server, e.g. shopping server or rights management server
79.
Systems and methods for managing content in a network
A method for managing content in a network having one or more user devices and one or more edge computing systems includes determining a likelihood that a user device will connect to an edge computing system during a time window, based on the determined likelihood, storing on the edge computing system information reflecting an activity pattern associated with the user device, receiving a request for content from the user device, generating metadata based on the stored information and the request, and transmitting the metadata to the user device.
Techniques for secure fast channel change in live content streaming are described. In some embodiments, during content preparation, a packager and/or an encoder encrypts media content items at both the service level (e.g., by encrypting a first portion of the plurality of segments with a service level access key unique to a service) and the channel level (e.g., by encrypting a second portion of the plurality of segments with a channel level access key unique to a channel associated with the service). On the receiving end, a client device (e.g., a media player) requests a service level access key prior to content acquisition. As such, a client can join any channel on a segment protected with the service level key without waiting for a license for that channel first, and the channel license can be acquired in parallel with the content acquisition during channel switching.
A method includes storing a first plurality of media objects correspondingly associated with a plurality of metadata objects, each media object including a respective plurality of sequential media segments. The method includes receiving a recording request that is associated with a first one of the first plurality of media objects, and, responsive thereto, updating a metadata object corresponding to the first one of the first plurality of media objects to indicate the recording request. The method includes identifying a portion of the first plurality of media objects, not including the first one of the plurality of metadata objects, that satisfies a deletion criterion. The method includes removing the portion of the first plurality of media objects while maintaining the first one of the first plurality of media objects. The method includes storing a second plurality of media objects and the first one of the first plurality of media objects.
Techniques for a smartphone-based conditional access (CA) system are described. In some embodiments, a headend in the CA system obtains a security profile associated with a pair of receiving devices used by a user, e.g., a first device (e.g., a smartphone) and a second device (e.g., a set-top-box or a TV). The headend dynamically regulates user access to requested media content during each entitlement period by assigning and distributing separate keys to the first and second device based on the security profile. The headend also uses the distributed keys to protect the media content before broadcasting. On the receiving end, one receiving device receives the media content and determines whether it is decryptable by the device. If decryptable, the receiving device (e.g., the set-top-box/TV) decrypts the media content using the keys assigned by the headend. Otherwise, the receiving device forwards the media content to the pairing device for decryption.
H04N 21/235 - Processing of additional data, e.g. scrambling of additional data or processing content descriptors
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/4385 - Multiplex stream processing, e.g. multiplex stream decrypting
H04N 21/4623 - Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
83.
Systems, methods, and devices for managing segmented media content
A method includes receiving a request to initiate recording of a media object. The media object includes a first plurality of sequential media segments. The first plurality of sequential media segments is associated with a corresponding plurality of metadata files, each of which providing a description of a respective one of the first plurality of sequential media segments. The method includes generating, in response to receiving the request to initiate recording of the media object, a first common metadata file that is associated with the media object as a function of the corresponding plurality of metadata files. The first common metadata file includes sequencing information associated with the first plurality of sequential media segments. The method includes storing the first plurality of sequential media segments based on the sequencing information included in the first common metadata file.
G06F 16/783 - Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
H04N 21/218 - Source of audio or video content, e.g. local disk arrays
H04N 21/433 - Content storage operation, e.g. storage operation in response to a pause request or caching operations
In one embodiment, a method includes receiving a stored copy request indicating data and including a request identifier, scheduling publication of the data to an object store, and sending a subscription request indicating the data and the request identifier to the object store. In another embodiment, a method includes receiving a publication request indicating data to be copied, wherein the publication request is a recording request indicating a channel and a timespan, receiving one or more subscription requests for the data, receiving the data, and generating a copy of the data for each subscription request.
H04N 21/21 - Server components or server architectures
H04N 21/218 - Source of audio or video content, e.g. local disk arrays
G06F 16/955 - Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
H04N 21/8355 - Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
H04N 21/231 - Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers or prioritizing data for deletion
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/2747 - Remote storage of video programs received via the downstream path, e.g. from the server
A multimedia content selection system includes at least one processor executing instructions for performing operations. The operations include receiving a playback request from a playback unit, including a content identifier, providing, to the playback unit, a manifest with at least a set of content segment identifiers based on the content identifier, each content segment identifier identifying a content segment associated with a content stream, receiving a content stream request comprising one of the content segment identifiers, and selecting a segment for playback from the content segment associated with the received content segment identifier, determined using a set of content selection rules.
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/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
A method includes storing a first plurality of media objects correspondingly associated with a plurality of metadata objects, each media object including a respective plurality of sequential media segments. The method includes receiving a recording request that is associated with a first one of the first plurality of media objects, and, responsive thereto, updating a metadata object corresponding to the first one of the first plurality of media objects to indicate the recording request. The method includes identifying a portion of the first plurality of media objects, not including the first one of the plurality of metadata objects, that satisfies a deletion criterion. The method includes removing the portion of the first plurality of media objects while maintaining the first one of the first plurality of media objects. The method includes storing a second plurality of media objects and the first one of the first plurality of media objects.
H04N 21/231 - Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers or prioritizing data for deletion
H04N 21/4335 - Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
A method for identifying a logo within at least one image includes identifying an area containing the logo within the at least one image, extracting logo features from the area by analyzing image gradient vectors associated with the at least one image, and using a machine learning model to identify the logo from the extracted logo features, wherein the machine learning model is trained to identify at least one target logo based on a received image data containing the logo features.
G06V 10/75 - Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video featuresCoarse-fine approaches, e.g. multi-scale approachesImage or video pattern matchingProximity measures in feature spaces using context analysisSelection of dictionaries
G06V 20/40 - ScenesScene-specific elements in video content
88.
Video content streaming bitrate selection using an edge computing system for improving user experience
A method for providing data to a device includes receiving a location of the device, determining a network cell associated with the location, determining network traffic at the network cell and at other network cells, receiving a request for a data stream from the device, and optimizing a net user satisfaction by selecting a bitrate for the data stream based on a plurality of bitrates associated with streaming to other devices located within the network cell and the network traffic at the other network cells, wherein the net user satisfaction is an average of user satisfactions.
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 41/147 - Network analysis or design for predicting network behaviour
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/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/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 or resolving scheduling conflicts
A system for multimedia content delivery includes one or more processors; and a storage medium storing instructions. When executed, the instructions may configure the one or more processors to perform operations including: delivering to a set of client devices a manifest including fake segment URLs; receiving, from a client device, a segment request including a client ID and a requested URL. The method may also include selecting content for the at least one of the client devices based on the client ID when determining the requested URL is unavailable; redirecting the segment request to a content address associated with the selected content; and providing the selected content to the at least one of the client devices.
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 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
A method for providing data to a device includes receiving a location of the device, determining a network cell associated with the location, determining network traffic at the network cell and at other network cells, receiving a request for a data stream from the device, and optimizing a net user satisfaction by selecting a bitrate for the data stream based on a plurality of bitrates associated with streaming to other devices located within the network cell and the network traffic at the other network cells, wherein the net user satisfaction is an average of user satisfactions.
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
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/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/238 - Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidthProcessing of multiplex streams
H04N 21/647 - Control signaling between network components and server or clientsNetwork 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 between two different networks, e.g. between IP and wireless
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
91.
CONTENT RECOGNITION SYSTEMS AND METHODS FOR ENCRYPTED DATA STRUCTURES
A system for maximizing storage of encrypted content in a storage system includes one or more processors; and a storage medium storing instructions. When executed, the instructions may configure the one or more processors to: receive, from a first client device, a first data structure encrypted commutatively with a first key and a common key, the receiving system lacking access to the common key; receive the first key and a first segment identifier; receive, from a second client device, a second data structure encrypted commutatively with a second key and the common key; receive a second segment identifier; using the first key, partially decrypt the first data structure; storing the partially decrypted first data structure; and selectively storing a copy of the second data structure based on whether content of the first data structure corresponds to content of the second data structure.
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/218 - Source of audio or video content, e.g. local disk arrays
H04N 21/222 - Secondary servers, e.g. proxy server or cable television Head-end
H04N 21/231 - Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers or prioritizing data for deletion
H04N 21/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/2389 - Multiplex stream processing, e.g. multiplex stream encrypting
H04N 21/254 - Management at additional data server, e.g. shopping server or rights management server
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/2743 - Video hosting of uploaded data from client
H04N 21/2747 - Remote storage of video programs received via the downstream path, e.g. from the server
H04N 21/278 - Content descriptor database or directory service for end-user access
H04N 21/41 - Structure of clientStructure of client peripherals
H04N 21/4367 - Establishing a secure communication between the client and a peripheral device or smart card
H04N 21/4385 - Multiplex stream processing, e.g. multiplex stream decrypting
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 encoded video stream scene graphs involving video stream decryption
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 encoded video stream 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
H04N 21/6377 - Control signals issued by the client directed to the server or network components directed to server
H04N 21/8352 - Generation of protective data, e.g. certificates involving content or source identification data, e.g. UMID [Unique Material Identifier]
92.
Content recognition systems and methods for encrypted data structures
A system for maximizing storage of encrypted content in a storage system includes one or more processors; and a storage medium storing instructions. When executed, the instructions may configure the one or more processors to: receive, from a first client device, a first data structure encrypted commutatively with a first key and a common key, the receiving system lacking access to the common key; receive the first key and a first segment identifier; receive, from a second client device, a second data structure encrypted commutatively with a second key and the common key; receive a second segment identifier; using the first key, partially decrypt the first data structure; storing the partially decrypted first data structure; and selectively storing a copy of the second data structure based on whether content of the first data structure corresponds to content of the second data structure.
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
A method for offloading a data segment includes receiving a probe request from a user device to offload the data segment, where the probe request includes a segment identification. The method further includes sending a probe response to the user device, where the probe response includes an approval or decline of an action to be executed by the user device, the action being one of an upload or a request to retry offloading the data segment at a later time. The method further includes sending a challenge to the user device.
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 encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
H04N 21/232 - Content retrieval operation within server, e.g. reading video streams from disk arrays
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 encoded video stream scene graphs involving video stream decryption
94.
Systems and methods for preventing a fraudulent registration
A method prompts a user to provide first credentials, receives the first credentials, and using an initial verification process including at least one of validity, a uniqueness, a suspicious contextual detection, or statistical recurrence verification, to verify the first credentials based on stored data. Based on a negative result of the initial verification process, the method prompts the user to provide second credentials, receives the second credentials, and validates the second credentials based on the stored data. The method registers the user for a service based on a positive result of the initial verification process or a positive result of the second strong validation process, refusing to register the user for the service based on a negative result of the initial verification process and the negative result of the second strong validation process, and blacklisting the verified second credentials upon registering the user.
H04L 9/32 - Arrangements for secret or secure communicationsNetwork security protocols including means for verifying the identity or authority of a user of the system
G06F 16/9535 - Search customisation based on user profiles and personalisation
G06F 16/9536 - Search customisation based on social or collaborative filtering
A processor of a broadcasting selects an encoding method for a first broadcast based on a first broadcast characteristic, wherein the encoding method is a default encoding method when the first broadcast characteristic is not recognized by the system, and transmits the first broadcast, encoded using the encoding method, to a playback device. The processor further uses a feedback control loop to dynamically adjust parameters of the encoding method to optimize a metric related to quality and a bitrate of the encoded first broadcast. The processor transmits a second broadcast encoded using the encoding method having the adjusted parameters to the playback device.
H04H 60/37 - Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
96.
SYSTEMS AND METHODS FOR PROVIDING WATERMARKED CONTENT
A content processing system obtains an identification associated with a device configured to receive content, generates a digital watermark reflecting the receiving devices identification, provides watermarked content by including the digital watermark in the content, and transmits the watermarked content from an edge computing device to the receiving device for the playback. The digital watermark is not visually observable during playback of the watermarked content, and it enables tracking of transmission of the watermarked content.
G06K 9/00 - Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video streamRemultiplexing of multiplex streamsExtraction or processing of SIDisassembling of packetised elementary stream
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/4385 - Multiplex stream processing, e.g. multiplex stream decrypting
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 encoded video stream scene graphs
97.
Systems and methods for providing watermarked content
A content processing system obtains an identification associated with a device configured to receive content, generates a digital watermark reflecting the receiving device's identification, provides watermarked content by including the digital watermark in the content, and transmits the watermarked content from an edge computing device to the receiving device for the playback. The digital watermark is not visually observable during playback of the watermarked content, and it enables tracking of transmission of the watermarked content.
H04N 21/8358 - Generation of protective data, e.g. certificates involving watermark
H04N 21/2347 - Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
H04N 1/32 - Circuits or arrangements for control or supervision between transmitter and receiver
A system for multimedia content delivery includes one or more processors; and a storage medium storing instructions. When executed, the instructions may configure the one or more processors to perform operations including: delivering to a set of client devices a manifest including fake segment URLs; receiving, from a client device, a segment request including a client ID and a requested URL. The method may also include selecting content for the at least one of the client devices based on the client ID when determining the requested URL is unavailable; redirecting the segment request to a content address associated with the selected content; and providing the selected content to the at least one of the client devices.
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 29/06 - Communication control; Communication processing characterised by a protocol
99.
Using data science to aid in detection of unauthorized distribution
In one embodiment, a method performed by a system that includes at least one processor, the method comprising: obtaining subscriber data of a plurality of subscribers, wherein said subscriber data comprises at least one of: consumption data relating to subscribed content consumption by said plurality of subscribers, or network data relating to data transmittal via one or more computer networks by the plurality of subscribers; detecting anomalous data by comparing subscriber data of different subscribers in the plurality of subscribers; identifying one or more suspected subscribers out of the plurality of subscribers as being suspected of unauthorized subscribed content distribution, the one of more suspected subscribers being associated with the anomalous data; and providing a respective identity for the one or more suspected subscribers.
Various implementations disclosed herein enable managing a resiliency factor of an object stored in an enterprise object storage system. For example, in various implementations, a method of adjusting a realized resiliency factor of an object based on a target resiliency factor for the object is performed by an ingest entity of a storage system that includes a cluster of storage entities. The ingest entity includes a non-transitory computer readable storage medium, and one or more processors. In various implementations, the method includes obtaining a target resiliency factor for an object. In various implementations, the method includes determining whether or not to adjust a realized resiliency factor of the object based on the target resiliency factor. In various implementations, the method includes adjusting the realized resiliency factor of the object to an adjusted resiliency factor in response to determining to adjust the realized resiliency factor.
H03M 13/00 - Coding, decoding or code conversion, for error detection or error correctionCoding theory basic assumptionsCoding boundsError probability evaluation methodsChannel modelsSimulation or testing of codes
G06F 3/06 - Digital input from, or digital output to, record carriers
G06F 11/10 - Adding special bits or symbols to the coded information, e.g. parity check, casting out nines or elevens