The described technology is generally directed towards developing an adaptive bitrate stack (ladder) on a per-title basis. Variable bitrate encodings are used to obtain complexity information for a title and per-frames scores for the encodings; another encoding provides scene data. The complexity information is analyzed and processed based on the scene data to determine scene-based (e.g., objective and/or subjective quality) scores, which are used to determine scores for the encodings. The results are used to derive a candidate stack, comprising various resolutions and bitrates that provide desirable results. The candidate stack is evaluated by encoding the title using the candidate stack. These encodings are evaluated to select one resolution from any duplicate resolutions for a bitrate (e.g., based on relative quality), resulting in a pruned, final ladder that is associated with the title as the adaptive bitrate stack to be used for streaming that title's content.
H04N 21/234 - Traitement de flux vidéo élémentaires, p.ex. raccordement de flux vidéo ou transformation de graphes de scènes MPEG-4
H04N 19/00 - Procédés ou dispositions pour le codage, le décodage, la compression ou la décompression de signaux vidéo numériques
H04N 21/2343 - Traitement de flux vidéo élémentaires, p.ex. raccordement de flux vidéo ou transformation de graphes de scènes MPEG-4 impliquant des opérations de reformatage de signaux vidéo pour la distribution ou la mise en conformité avec les requêtes des utilisateurs finaux ou les exigences des dispositifs des utilisateurs finaux
H04N 21/24 - Surveillance de procédés ou de ressources, p.ex. surveillance de la charge du serveur, de la bande passante disponible ou des requêtes effectuées sur la voie montante
2.
CREATING CLOUD-HOSTED, STREAMED AUGMENTED REALITY EXPERIENCES WITH LOW PERCEIVED LATENCY
A technology that streams graphical components and rendering instructions to a client device, for the client device to perform the final rendering and overlaying of that content onto the client's video stream based on the client's most recent tracking of the device's position and orientation. A client device sends a request for augmented reality drawing data to a network device. In response, the network device generates augmented reality drawing data, which can be augmented reality change data based on the augmented reality information and previous client render state information, and sends the augmented reality drawing data to the client device. The client device receives the augmented reality drawing data and renders a visible representation of an augmented reality scene comprising overlaying augmented reality graphics over a current video scene obtained from a camera of the client device.
A63F 13/655 - Création ou modification du contenu du jeu avant ou pendant l’exécution du programme de jeu, p.ex. au moyen d’outils spécialement adaptés au développement du jeu ou d’un éditeur de niveau intégré au jeu automatiquement par des dispositifs ou des serveurs de jeu, à partir de données provenant du monde réel, p.ex. les mesures en direct dans les compétitions de course réelles par importation de photos, p.ex. du joueur
A63F 13/213 - Dispositions d'entrée pour les dispositifs de jeu vidéo caractérisées par leurs capteurs, leurs finalités ou leurs types comprenant des moyens de photo-détection, p.ex. des caméras, des photodiodes ou des cellules infrarouges
A63F 13/5255 - Changement des paramètres des caméras virtuelles en fonction d’instructions dédiées d’un joueur, p.ex. utilisation d’une deuxième manette pour faire effectuer un mouvement de rotation à la caméra autour du personnage du joueur
A63F 13/355 - Réalisation d’opérations pour le compte de clients ayant des capacités de traitement restreintes, p.ex. serveurs transformant une scène de jeu qui évolue en flux MPEG à transmettre à un téléphone portable ou à un client léger
G06T 19/00 - Transformation de modèles ou d'images tridimensionnels [3D] pour infographie
The described technology is directed towards generating a new video image sequence (e.g., for playback at 30 frames per second) based on an existing video image sequence (e.g., originated for playback at 24 frames per second). The technology is based on processing frames, e.g., adjacent pairs of frames in a four-frame sequence, to obtain candidate frames for selecting a similar candidate frame to insert into the original sequence to create the new sequence (e.g., a five-frame sequence). Aspects include selecting a repeated frame to insert or creating a new frame from existing frames to insert, to generate the new sequence based on a difference / scoring comparison.
G06T 7/254 - Analyse du mouvement impliquant de la soustraction d’images
H04N 19/587 - Procédés ou dispositions pour le codage, le décodage, la compression ou la décompression de signaux vidéo numériques utilisant le codage prédictif mettant en œuvre un sous-échantillonnage ou une interpolation temporels, p.ex. décimation ou interpolation subséquente d’images dans une séquence vidéo
The described technology is generally directed towards pull locomotion, which allows users to move around a virtual reality environment (typically larger than their physical environment) by interacting with pull targets, which comprise interactive objects displayed in the reality environment. When (e.g., via a controller) the user reaches grabs a pull target and pulls the controller back towards the user, the user's perceived position moves toward the target, as if the environment is being pulled to the user. A push motion generally results in moving the user's perceived position away from the target. The perceived movement can be gradual in the environment, relative to the speed of the pull or push. The pulling and pushing facilitate an interactive narrative experience or enhance interactive game play.
A63F 13/5255 - Changement des paramètres des caméras virtuelles en fonction d’instructions dédiées d’un joueur, p.ex. utilisation d’une deuxième manette pour faire effectuer un mouvement de rotation à la caméra autour du personnage du joueur
A63F 13/211 - Dispositions d'entrée pour les dispositifs de jeu vidéo caractérisées par leurs capteurs, leurs finalités ou leurs types utilisant des capteurs d’inertie, p.ex. des accéléromètres ou des gyroscopes
A63F 13/428 - Traitement des signaux de commande d’entrée des dispositifs de jeu vidéo, p.ex. les signaux générés par le joueur ou dérivés de l’environnement par mappage des signaux d’entrée en commandes de jeu, p.ex. mappage du déplacement d’un stylet sur un écran tactile en angle de braquage d’un véhicule virtuel incluant des signaux d’entrée de mouvement ou de position, p.ex. des signaux représentant la rotation de la manette d’entrée ou les mouvements des bras du joueur détectés par des accéléromètres ou des gyroscopes
G06F 3/01 - Dispositions d'entrée ou dispositions d'entrée et de sortie combinées pour l'interaction entre l'utilisateur et le calculateur
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
5.
PRELOADED CONTENT SELECTION GRAPH FOR RAPID RETRIEVAL
The described technology is generally directed towards maintaining content selection graphs in an in-memory content selection graph data store in association with respective start times that indicates when the respective graphs become active. When a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain the requested content selection data. The response data can be prebuilt, e.g., in a set of active graphs for different client types, so that the response can be returned generally as is from the active graph in the set for that particular client type. A Redis cache can be used to maintain the various graph sets, including the active graph sets and graph sets that will become active at a future time.
The described technology is directed towards a production shot design system that facilitates previsualizing scene shots, including by members of a production crew (running client devices) in different locations in a collaborative and secure shot construction environment. Modifiable scene elements' properties and camera data can be manipulated to build a scene (shot) containing modifiable and non-modifiable scene elements. In an online, shared camera mode, changes to a scene can be communicated to other client devices, e.g., virtually immediately, so that each client device displays the change for other users to see at an interactive frame rate. Scene changes can also be made locally and/or in an offline mode before communicating to other users. In various aspects, animation and a video plane camera / video plane (e.g., greenscreen) are integrated into the production shot design system.
G06Q 50/00 - Systèmes ou procédés spécialement adaptés à un secteur particulier d’activité économique, p.ex. aux services d’utilité publique ou au tourisme
G06T 19/20 - Transformation de modèles ou d'images tridimensionnels [3D] pour infographie Édition d'images tridimensionnelles [3D], p.ex. modification de formes ou de couleurs, alignement d'objets ou positionnements de parties
The described technology is generally directed towards generating content selection graphs in an in-memory content selection graph data store in association with respective start times that indicate when the respective graphs become active. When a content selection graph is needed for a given timepoint, a node identifier is used to obtain response data that is cached for that node identifier and timepoint. Edge data associated with the node identifier is used to determine a next node for obtaining its response data for caching, and so on. The response data can be prebuilt, e.g., generated in a set of active graphs for different client types, so that a response can be returned generally as is from the active graph in the set for the node identifier and that particular client type. For efficiency, operations can be used to avoid processing a node identifier more than once when generating a graph.
H04N 21/231 - Opération de stockage de contenu, p.ex. mise en mémoire cache de films pour stockage à court terme, réplication de données sur plusieurs serveurs, ou établissement de priorité des données pour l'effacement
H04N 21/232 - Opération de récupération de contenu au sein d'un serveur, p.ex. lecture de flux vidéo du réseau de disques
H04N 21/235 - Traitement de données additionnelles, p.ex. brouillage de données additionnelles ou traitement de descripteurs de contenu
H04N 21/262 - Ordonnancement de la distribution de contenus ou de données additionnelles, p.ex. envoi de données additionnelles en dehors des périodes de pointe, mise à jour de modules de logiciel, calcul de la fréquence de transmission de carrousel, retardement d
H04N 21/239 - Interfaçage de la voie montante du réseau de transmission, p.ex. établissement de priorité des requêtes de clients
H04N 21/258 - Gestion de données liées aux clients ou aux utilisateurs finaux, p.ex. gestion des capacités des clients, préférences ou données démographiques des utilisateurs, traitement des multiples préférences des utilisateurs finaux pour générer des données co
G06F 16/90 - Recherche d’informations; Structures de bases de données à cet effet; Structures de systèmes de fichiers à cet effet - Détails des fonctions des bases de données indépendantes des types de données cherchés
The described technology is generally directed towards validating content selection graphs for use in an in-memory content selection graph data store. When a content selection graph data is generated, the graph nodes can correspond to prebuilt response data. The response data for any of the nodes can be verified against rules based on the type of a node, for example, as well as based on client- specific information for types of clients. The overall validation process can validate the content selection graph for subsequent use, can result in errors or warnings being logged (which may or may not render the graph unusable, e.g., depending on severity), or can fail the content selection graph. If validated, the content selection graph can be used to rapidly return response data when content from the graph is requested.
H04N 21/222 - Serveurs secondaires, p.ex. serveur proxy ou tête de réseau de télévision par câble
H04N 21/231 - Opération de stockage de contenu, p.ex. mise en mémoire cache de films pour stockage à court terme, réplication de données sur plusieurs serveurs, ou établissement de priorité des données pour l'effacement
H04N 21/232 - Opération de récupération de contenu au sein d'un serveur, p.ex. lecture de flux vidéo du réseau de disques
H04N 21/235 - Traitement de données additionnelles, p.ex. brouillage de données additionnelles ou traitement de descripteurs de contenu
H04N 21/262 - Ordonnancement de la distribution de contenus ou de données additionnelles, p.ex. envoi de données additionnelles en dehors des périodes de pointe, mise à jour de modules de logiciel, calcul de la fréquence de transmission de carrousel, retardement d
H04N 21/84 - Génération ou traitement de données de description, p.ex. descripteurs de contenu
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
9.
COORDINATOR FOR PRELOADING TIME-BASED CONTENT SELECTION GRAPHS
The described technology is generally directed towards coordinating the generation, validation and enabling of content selection graphs in an in-memory content selection graph data store. When a set of content selection graphs is requested, a coordinator starts the generation of the relevant graphs. Upon successful generation, the coordinator starts a validation of the generated graphs against rules for the nodes / response data in the graphs. If the generated graphs pass validation, the coordinator enables the graph set for use in an in-memory cache, whereby when a request to return content selection data is received, an active graph that corresponds to the request and the current time is accessed to obtain and return the response data as the requested content selection data.
H04N 21/222 - Serveurs secondaires, p.ex. serveur proxy ou tête de réseau de télévision par câble
H04N 21/231 - Opération de stockage de contenu, p.ex. mise en mémoire cache de films pour stockage à court terme, réplication de données sur plusieurs serveurs, ou établissement de priorité des données pour l'effacement
H04N 21/232 - Opération de récupération de contenu au sein d'un serveur, p.ex. lecture de flux vidéo du réseau de disques
H04N 21/235 - Traitement de données additionnelles, p.ex. brouillage de données additionnelles ou traitement de descripteurs de contenu
H04N 21/262 - Ordonnancement de la distribution de contenus ou de données additionnelles, p.ex. envoi de données additionnelles en dehors des périodes de pointe, mise à jour de modules de logiciel, calcul de la fréquence de transmission de carrousel, retardement d
H04N 21/84 - Génération ou traitement de données de description, p.ex. descripteurs de contenu
G06F 16/957 - Optimisation de la navigation, p.ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
10.
COLLECTION OF TIMEPOINTS AND MAPPING PRELOADED GRAPHS
The described technology is generally directed towards causing the generation of a content selection graph (or set of graphs) upon receipt of a notification that a new graph or replacement graph is needed with respect to a starting timepoint. For a new graph, a timepoint for that new graph indicates the need for the new graph at a given starting time. For a replacement graph, a notification (subscribed from a monitoring service) can indicate that an existing graph has changed; a replacement graph is generated with a graph identifier of the replacement graph, which then replaces the graph identifier of the existing graph in the mappings of valid graphs to start times. A Redis cache can be used to maintain the various graph sets, including the active graph sets and graph sets that will become active at a future time.
H04N 21/239 - Interfaçage de la voie montante du réseau de transmission, p.ex. établissement de priorité des requêtes de clients
H04N 21/258 - Gestion de données liées aux clients ou aux utilisateurs finaux, p.ex. gestion des capacités des clients, préférences ou données démographiques des utilisateurs, traitement des multiples préférences des utilisateurs finaux pour générer des données co
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
G06F 12/128 - Commande de remplacement utilisant des algorithmes de remplacement adaptée aux systèmes de mémoires cache multidimensionnelles, p.ex. associatives d’ensemble, à plusieurs mémoires cache, multi-ensembles ou multi-niveaux
11.
GARBAGE COLLECTION OF PRELOADED TIME-BASED GRAPH DATA
The described technology is generally directed towards garbage collecting content selection graphs and related data from in an in-memory content selection graph data store. When a set of content selection graphs expire, a more current content selection graph set becomes active, and the storage space (e.g., in a Redis cache) used by the expired content selection graphs is reclaimed via garbage collection. Some graphs can be replaced before use, referred to as orphaned graphs, and the storage space for any such orphaned graphs is also reclaimed during garbage collection. Also garbage collected is storage space including related data structures used to generate and validate graphs.
G06F 12/02 - Adressage ou affectation; Réadressage
G06F 12/0862 - Adressage d’un niveau de mémoire dans lequel l’accès aux données ou aux blocs de données désirés nécessite des moyens d’adressage associatif, p.ex. mémoires cache avec pré-lecture
G06F 12/126 - Commande de remplacement utilisant des algorithmes de remplacement avec maniement spécial des données, p.ex. priorité des données ou des instructions, erreurs de maniement ou repérage
G06F 12/128 - Commande de remplacement utilisant des algorithmes de remplacement adaptée aux systèmes de mémoires cache multidimensionnelles, p.ex. associatives d’ensemble, à plusieurs mémoires cache, multi-ensembles ou multi-niveaux
The technology described herein is generally directed towards relating inconsistent identifiers of the same entertainment data entity (such as a movie) to one another. A global identification service, given an entertainment data entity identifier, returns identifier information and related data according to other naming conventions. Canonicalization rules and standards provide a consistent identifier for variously named / identified entertainment entities. A canonicalized identifier (or another identifier) may be part of a URN-based naming convention that identifies the entertainment data entity, as well as the organization that owns the entity and an authority within the organization that is responsible for that entertainment data entity.
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p.ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/14 - Systèmes de fichiers; Serveurs de fichiers - Détails de la recherche de fichiers basée sur les métadonnées des fichiers
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
13.
GRAPH VIEWS TO IMPROVE USER INTERFACE RESPONSIVENESS
The described technology is directed towards evaluating client-specific information and possibly other information to determine whether to return less data than is available for a data item in response to a request for graph node data to a data service, and/or return expanded graph node data. When a request for graph data is received, client-specific information is used at least in part by a data service in determining whether to return a virtual graph node comprising a relatively lightweight set of information relative to the full set of information maintained in a main (graph) node. The client-specific information is also used in determining whether to return expanded data beyond that requested, e.g., for caching at the client in anticipation of it likely being needed by the client.
H04N 21/6334 - Signaux de commande issus du serveur dirigés vers des éléments du réseau ou du client vers le client pour l’autorisation, p.ex. en transmettant une clé
H04N 21/462 - Gestion de contenu ou de données additionnelles, p.ex. création d'un guide de programmes électronique maître à partir de données reçues par Internet et d'une tête de réseau ou contrôle de la complexité d'un flux vidéo en dimensionnant la résolution o
The described technology is generally directed towards a surf mode of operation for streaming content such as video content, in which different content is arranged as different channels though which a user can surf by changing the streaming channels. The starting times of the different content can be staggered. Aspects comprise streaming first content corresponding to a first interactively selectable streaming channel to an output device, receiving a change request to change to a second interactively selectable streaming channel, and in response to the receiving the change request, streaming second content corresponding to the second interactively selectable streaming channel to the output device.
H04N 21/472 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
The described technology is directed towards presenting a server overload condition that can result from a spike in client requests. Upon receiving an incoming client request for data at a server, a request buffer condition of a client request buffer (e.g., a counter) is evaluated to determine whether the client request corresponds to an anticipated overload state with respect to a request-handling capability of the server, e.g., whether the client request buffer is full. If so, an overload response (e.g., a retry response) is returned to the client indicating so that the client retries a corresponding client request after a time delay. If not in the anticipated overload state, the request is further processed, e.g., to provide a regular response containing the requested data, such as by adding a request information entry associated with the incoming client request to the client request buffer and updating the request buffer condition.
The described technology is generally directed towards integrated tools for editing and otherwise working with close-captioning captions (or subtitles), including an on-screen editing interface that allows a user to select and edit caption text directly on-screen. Caption editing can include changing positioning metadata associated with a caption, changing timing metadata associated with a caption, and/or changing text content / text style metadata of a caption. A counter is provided to assist the user with respect to how many additional characters can be added to the caption. Also provided is a search interface that locates captions within a large set of captions, such as the full set of captions for a video.
The described technology is generally directed towards providing a visible waveform representation of an audio signal, by processing the audio signal with a polynomial (e.g., cubic) mapping function. Coefficients of the polynomial mapping function are predetermined based on constraints (e.g., slope information and desired range of the resultant curve), and whether the plotted audio waveform corresponds to sound field quantities or power quantities. Once the visible representation of the reshaped audio waveform is displayed, audio and/or video editing operations can be performed, e.g., by time-aligning other audio or video with the reshaped audio waveform, and/or modifying the reshaped audio waveform to change the underlying audio data.
G10L 21/12 - Transformation en information visible en affichant l’information du domaine temporel
G10L 25/48 - Techniques d'analyses de la parole ou de la voix qui ne se limitent pas à un seul des groupes spécialement adaptées pour un usage particulier
G11B 27/031 - Montage électronique de signaux d'information analogiques numérisés, p.ex. de signaux audio, vidéo
The described technology is directed towards sending metadata related to a video to a client device, such as events that describe a portion of that video, such as in a hidden stream. In one or more implementations, the enhanced metadata comprises nodes used to build part of a relationship graph. This allows interested clients to switch between the feature playback and interacting with the metadata. Further, searches through the enhanced metadata may be performed to find matching video portions, and summaries or highlights of one or more videos may be assembled by accessing information in the enhanced metadata.
H04N 21/235 - Traitement de données additionnelles, p.ex. brouillage de données additionnelles ou traitement de descripteurs de contenu
H04N 21/236 - Assemblage d'un flux multiplexé, p.ex. flux de transport, en combinant un flux vidéo avec d'autres contenus ou données additionnelles, p.ex. insertion d'une adresse universelle [URL] dans un flux vidéo, multiplexage de données de logiciel dans un flu; Remultiplexage de flux multiplexés; Insertion de bits de remplissage dans le flux multiplexé, p.ex. pour obtenir un débit constant; Assemblage d'un flux élémentaire mis en paquets
H04N 21/4722 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de services; Interface pour utilisateurs finaux pour l'interaction avec le contenu, p.ex. pour la réservation de contenu ou la mise en place de rappels, pour la requête de notification d'événement ou pour la transformation de contenus affichés pour la requête de données additionnelles associées au contenu
H04N 21/482 - Interface pour utilisateurs finaux pour la sélection de programmes
H04N 21/84 - Génération ou traitement de données de description, p.ex. descripteurs de contenu
H04N 21/858 - Création de liens entre données et contenu, p.ex. en liant une URL à un objet vidéo en créant une zone active ("hotspot")
19.
DATA DELIVERY ARCHITECTURE FOR TRANSFORMING CLIENT RESPONSE DATA
The described technology is directed towards a data transformation pipeline architecture of a data service that processes generalized datasets into datasets (e.g., video data or graph nodes) customized for a particular client device. Described herein is maintaining a set of data transformation models at a data service, and upon receiving a client request for data, selecting a relevant subset of the transformation models and arranging the subset into a data transformation pipeline. In general, the pipeline of transformation models transforms the generalized data into the format and shape that each client device expects. The subset may be selected based upon device type, device class and/or software version information (and possibly state data) sent with each data request. The transformation models may be maintained in a hierarchical data store such as files in a file system to facilitate retrieval by searching the hierarchy for appropriate transformation models.
The described technology is directed towards returning less data than is available for a data item in response to a request to a data service. A virtual graph node is returned in response to client requests, in which the virtual node comprises a relatively lightweight set of information relative to the full set of information for the data item, e.g., maintained in a main (graph) node. A requesting client indicates that a virtual node is desired, and receives a response comprising the virtual node, generally processed from the main node's data into a reduced subset of the main node. The main node may be cached at the data service, and returned if and when requested.
The described technology is generally directed towards predicting a need for provisioned (e.g., cloud computing) resources so that the provisioned resources are proactively provisioned and operational before their actual need. Historical data is used to predict upcoming resource demand so that resources begin to be scaled up to meet demand in advance, at a prediction time, given that there is a "spin-up" delay between requesting resources and their actual availability. The predictive resource provisioning is adaptable to override customary historical data with expected exceptions, and is flexible to handle variable spin-up times, constraints, and optimizations.
The described technology is directed towards returning user interface graph nodes in a graph node format that client device platform software expects, regardless of how the underlying data is maintained, e.g., in various data sources and in various formats. When a client requests a data item (graph node) from a data service and the data service does not have a valid cached copy, the request is processed into one or more requests to backing data source(s) for the data item's dataset. The response or responses containing that data are assembled and transformed into a graph node that is returned to the client. Also described is caching data items at various requesting entity levels / request handling entity levels, batching data item requests between levels, multiplexing identical requests, and using ETags to avoid sending already existing, unchanged data between entities.
The described technology is generally directed towards an abstraction and file model used for subscriber service and publisher service communication. The abstraction and file model enables dynamically changing the underlying communication mechanisms and introducing optimizations such as caching (reducing latency) and batching (improving bandwidth utilization) transparently, without any change to the subscriber or publisher code. The abstraction also facilitates introducing intermediate lightweight message-oriented middleware and provides for transparently scaling communication.
The described technology is generally directed towards matching subscriber services to publisher services based on any number of arbitrary subscriber-specified attributes. In general, each publisher services register its capabilities as a set of attributes in a repository data store, e.g., a database. When a subscriber service wants a matching publisher service, the subscriber service specifies which attributes the subscriber service wants matched, and the repository's affiliated matching process uses the registered attributes of the publisher services to seek a match.
The described technology is directed towards maintaining a cache of data items, with cached data items having current value subsets and next value subsets. The cache is accessed for data item requests, to return a cache miss if a requested data item is not cached, to return data from the current value subset if not expired, to return data from the next value subset if the current value subset is expired and the next value subset is not expired, or to return a cache miss (or expired data) if both subsets are expired. Cached data items are refreshed, (e.g., periodically), when a data item's current value subset is expired by replacing the data item's current value subset with the next value subset and caching a new next value subset, or caching a new next value subset when the next value subset will expire within a threshold time.
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
G06F 12/123 - Commande de remplacement utilisant des algorithmes de remplacement avec listes d’âge, p.ex. file d’attente, liste du type le plus récemment utilisé [MRU] ou liste du type le moins récemment utilisé [LRU]
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
The described technology is directed towards repurposing expired cached data when no unexpired data is available. Cached, unexpired data is used in response to a request when such data exists. If such data does not exist, e.g., at a front-end data service, then an attempt to obtain the requested data from another (e.g., back-end) data service is made. If the attempt is unsuccessful, and expired cached data exists, the expired cached data is returned in response to the request, e.g., instead of returning an error. A back-end data service may similarly return expired cached data when unable to obtain unexpired requested data elsewhere. An emergency mode may be entered in which data, whether expired or not, is returned from a cache when such data exists, such as when an attempt to obtain the data elsewhere is known in advance to be futile.
The described technology is directed towards a cache framework that accesses a tier of ordered caches, in tier order, to satisfy requests for data. The cache framework may be implemented at a front-end service level server, and/or a back end service level server, or both. The cache framework handles read-through and write-through operations, including handling batch requests for multiple data items. The cache framework also facilitates dynamically changing the tier structure, e.g., for adding, removing, replacing and/or reordering caches in the tier, e.g., by re-declaring a data structure such as an array that identifies the tiered cache configuration.
The described technology is directed towards having multiple paths through streamed media content, such as a video. The content may be represented as a state machine of states, in which each state corresponds to one or more periods of one or more segments, and transitions to one or more other states. When a state is able to transition to different states, one or more criteria may be used to select one of the transition paths to a next state. Segments corresponding to unknown paths (where the transition decision is not yet available) may be selected and streamed for buffering via a multiple path buffering mechanism.
H04N 21/258 - Gestion de données liées aux clients ou aux utilisateurs finaux, p.ex. gestion des capacités des clients, préférences ou données démographiques des utilisateurs, traitement des multiples préférences des utilisateurs finaux pour générer des données co
H04N 21/262 - Ordonnancement de la distribution de contenus ou de données additionnelles, p.ex. envoi de données additionnelles en dehors des périodes de pointe, mise à jour de modules de logiciel, calcul de la fréquence de transmission de carrousel, retardement d
H04N 21/2668 - Création d'un canal pour un groupe dédié d'utilisateurs finaux, p.ex. en insérant des publicités ciblées dans un flux vidéo en fonction des profils des utilisateurs finaux
H04N 21/433 - Opération de stockage de contenu, p.ex. opération de stockage en réponse à une requête de pause ou opérations de cache
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
H04N 21/44 - Traitement de flux élémentaires vidéo, p.ex. raccordement d'un clip vidéo récupéré d'un stockage local avec un flux vidéo en entrée ou rendu de scènes selon des graphes de scène MPEG-4
The described technology is directed towards returning expanded data, beyond the data that was specifically requested, to a client, in order to reduce or eliminate likely subsequent requests for more data. Client requests for data items are processed by expansion rule logic to find an expansion rule set (e.g., file) corresponding to the identified data item. The rule set is used to expand requests for certain data items into expanded requests that return more data items than those requested. Client devices receive, cache and (often) use the cached expanded data items, which thereby reduces the overall number of requests to the data service. Expansion rules may be based upon observations (e.g., machine learned and/or manual) of request patterns, so as to reasonably predict which data item or items clients will likely next need, and return those as expanded data items in anticipation of their need.
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
H04N 21/43 - Traitement de contenu ou données additionnelles, p.ex. démultiplexage de données additionnelles d'un flux vidéo numérique; Opérations élémentaires de client, p.ex. surveillance du réseau domestique ou synchronisation de l'horloge du décodeur; Intergiciel de client
The technology described herein is directed towards content rights data that are associated with content (a data item) to make that content selectively available or unavailable in responses by a data service to client requests. A client includes client content rights data in association with each request, (e.g., via a token), and the data service uses that client content rights data as query parameters (constraint criteria) in making a request for a data item. Client content rights data also may be used for accessing cached data. Availability constraints may include client location, brand, channel, device class and time (commence and cease).
H04N 21/254 - Gestion au sein du serveur de données additionnelles, p.ex. serveur d'achat ou serveur de gestion de droits
H04N 21/266 - Gestion de canal ou de contenu, p.ex. génération et gestion de clés et de messages de titres d'accès dans un système d'accès conditionnel, fusion d'un canal de monodiffusion de VOD dans un canal multidiffusion
H04N 21/442 - Surveillance de procédés ou de ressources, p.ex. détection de la défaillance d'un dispositif d'enregistrement, surveillance de la bande passante sur la voie descendante, du nombre de visualisations d'un film, de l'espace de stockage disponible dans l
The described technology is directed towards determining the rendering of user interface (UI) elements, referred to as views, based upon styleable transitions between possible states of a view. Transitions may include animation, such as to smoothly enter a view into or exit a view out of a scene over a number of rendering frames. Transitions also may be applied to view state changes related to a UI element, such as to indicate hovered over, focused, listening (for speech), selected and/or pressed. View state changes also may be animated.
The described technology is directed towards a factory identification system, in which a factory object is provided with a factory identifier (ID) that specifies information regarding a desired object that is more specific than specifying an interface. Additional construction parameters such as an object ID may be provided to further describe the desired object. Also described are object caching and reuse, and tagging the object with information that may be preserved and later used to recreate an object.
The described technology is directed towards scrollable user interface containers, and allows mixing snap items and smooth items in the same container. Snap point ranges that correspond to container snap items are specified, such as by pixel values or per container item to be rendered. When because of a scroll operation a snap item of the container overlaps a boundary of a viewing port (e.g., if rendered), the scroll position is adjusted based upon a snap point range limit to snap the snap item for rendering based upon the viewing port boundary.
The described technology is directed towards having document files (e.g., a JSON object) associated with objects of a computer program. The document files may include validation information that is used during runtime to validate one or more parts of the object via validation code such as a validation function. For example, a function of an object may have one validation function that during runtime validates whether the input parameter(s) are valid (their types and/or values are correct), and another validation function that during runtime validates whether the return values from the function are valid. Also described is processing the document files into more easily readable documentation, e.g., without any source code.
The described technology is directed towards an object-oriented programming (OOP) system and library that maps conventional object-oriented concepts such as class hierarchies, interfaces, and static methods and properties onto a prototypal object system such as JavaScript®. Various functions of the OOP system are called to create a class-like structure that is instantiated into an object instance upon request. The OOP system allows for use of a wrapper pattern to wrap selected objects with added functionality such as validation and tracing, and to provide enhanced functionality with respect to properties, such as to call a function associated with a property when the property's value changes, and/or to lazily generate property values only when accessed.
The described technology is directed towards generating related templated files based on a set of data associated with to another class registered with a document system. These files may be edited into a source code file, a document file and a test file for any derived class. At runtime, which may include the runtime execution of the object based upon the test file, an object based upon the source code file is instantiated. Part of the object (e.g., a function) may be validated during the runtime based upon validation information in the document file.
The described technology is directed towards server-controlled testing and/or monitoring of a client device application program. The server loads plug- in components directed towards the testing and/or monitoring operations, and instructs the client device to couple counterpart plug-in components to the client device application program. The server's plug-in components communicate with the application program's plug-in components to run the testing and/or monitoring operations, which may be automated, send queries to the client to receive responses, and send commands to the client to take actions. The server includes dashboards for interacting with the client device. The client device includes virtual input devices that allow the server to inject input into the client application program.
The described technology is directed towards normalizing input received from various types of device types for providing the input to user interface (UI) elements in a unified way that reflects the invoke intent of the user. Input from different device types is classified as button input, pointer input or command input, and routed to a corresponding button provider, pointer provider or command provider. Each provider includes logic for communicating input data (e.g., events) to a UI element or elements. Based upon the input events, a UI element can execute a corresponding invoke handler to take an invoke action for that particular event.
The described technology is directed towards user interface technology that guides users in making content (e.g., video selection) and also navigating within selected content. A selection menu view uses style changes to indicate focus changes, e.g., including animating opacity values to indicate a focused item view versus those items not in focus. In another view, a subset of filmstrip views are displayed, each representing a chapter location in a video, along with a flipbook view that represents a selected scene within a selected chapter. Interaction with the filmstrip views changes the visible subset. Interaction with the flipbook view changes the selected scene; a play command plays the video based upon the selected scene.
The described technology is directed towards determining the rendering of user interface (UI) elements, referred to as views, based upon styles, in which styles comprise property values such as color value data, font data, border data, position data, and/or animation-related data applied to a view. A view object instance is returned upon request based upon an identifier that is used to select an unstyled view object and a style applied to that view object. The styles may be maintained as a fixed set of styles for a runtime session.
The described technology is directed towards data-driven navigation, in which a next navigation location depends on variable data associated with an interactive user interface element (rather than a fixed link). The data may be in a hierarchy of data models. A menu contains interactive navigation elements, each bound to a data model. A selected interactive navigation element results in locating a data model associated with the selected element. The data model is used to determine the next navigation location. Also described is hierarchical navigation to one item of a level as well as lateral and peer navigation.
The described technology is directed towards having UI elements structured in a hierarchical configuration, in which parent and child UI elements communicate via a virtualization interface. A change to any parent UI element view propagates to each impacted descendant, e.g., each child, any children of that child and so on, whereby each child can manage virtualization and rendering based upon the change. Focus changes among the UI elements are also handled by propagating information via the virtualization interface.
The disclosure is generally directed towards automatically generating a mock object from a description of a real object, such as for use in testing. Mock object generation logic parses the description to determine interface(s) of the real object, which are replicated in the mock object, and to determine method(s) of the real object, which are simulated in the mock object. The mock object generation logic may generate a description of the mock object that is then compiled into the mock object for execution. Data types may be validated so that the arguments and/or return values from the mock object meet the expectations of a calling object.
The described technology is directed towards conditional wrapper that wraps part(s) of a selected program object with added logic, such as to perform validation and/or tracing on part(s) the object; the wrapper may be multi-functional in this regard. The wrapper logic is selectively added to one or more selected object parts by the object creator at object creation time based upon conditional data. During runtime, the added logic may be run before the wrapped part of the object (e.g., a function) is executed and/or after execution of the object part. Validation and/or tracing operations may be run before the part of the object is executed as well as after the part of the object is executed. Objects that do not meet the conditional data criteria are created and returned without any added wrapping logic.
The described technology is directed towards virtual input devices that take application program-directed input from automation and/or remote devices, such as over a network, instead of via actual user input via a physical device, for example. This allows an automation framework to insert input into an application program, such as for automated testing without modifying any of the application's other components. The virtual input devices may be object instances or the like that receive their input from function calls based upon the type of input and output events, e.g., to simulate keyboard input/output (I/O), mouse or other pointer I/O, voice, gesture, and other command I/O, and so forth.
The described technology is directed towards sharing asynchronous (async) tasks between task chains, including in a way that prevents cancellation of lower-level chain entity from cancelling a shared async task. A shared async task is wrapped in multiplexer code that maintains lower-level entity identities as a set of listeners of the shared async task, and when a listener cancels, only removes that listener from the set of listeners so that the shared async task does not cancel as long as one listener remains in the set. Also described is optimization to share an async task, and wrapping tasks in cancel-checking code that prevents the task from running its work if the task is intended to be cancelled but is queued to run before the cancel request is queued to run.
The described technology is directed towards a graphics platform abstraction layer that couples an application program's user interface objects to any of a variety of underlying platforms, including browsers that host the application program or the operating system's UI objects. The graphics platform abstraction layer loads an appropriate implementation for calling objects of the underlying platform, and interfaces the application program to the implementation, whereby the application program may be independent of any underlying platform. The graphics platform abstraction layer also may load code that deals with quirks of a given browser / version and/or other vendor-specific details.
The described technology is directed towards a button repeat system that allows different repeat behaviors (e.g., interval times between repeats) to be customized for any view (user interface element) and for any button. A designer specifies an interval set comprising interval times to use in an associated view to repeat a button that is pressed and held. Using global information across views, a button that is pressed and held may continue to repeat as focus changes among views. The repeating may continue without needing to reset to the first interval time of the interval set of each view as focus changes, so that, for example, a rapidly repeating button does not appear to change its repetition rate as focus changes among views.
G06F 3/023 - Dispositions pour convertir sous une forme codée des éléments d'information discrets, p.ex. dispositions pour interpréter des codes générés par le clavier comme codes alphanumériques, comme codes d'opérande ou comme codes d'instruction
The described technology is directed towards a pre-child user interface element in a user interface tree that draws before the parent element draws, (and thus before any conventional child element of the parent draws). For example, based upon current state data such as whether the parent element has focus, the pre-child may draw a highlight or the like before (so as to be beneath) drawing the representation of the parent element, to indicate the focused state (or and/or other current state or states). The user interface tree maintains a property that it is composable because the parent user interface element code is independent of what any of its pre-child element or pre-children elements do when invoked.
The described technology is directed towards asynchronous models that retrieve view-specified data for a view. A view requests a view model to return view-specified data; in turn, the view model makes one or more requests to a data model to retrieve information corresponding to the view-specified data. The data model communicates with a data source such as a web service or a cache to return the requested information to the view model. The view model may assemble / reformat the information into a data format corresponding to the view specified data format for returning to the view. The requests may be asynchronous, with a promise returned in response until the data or information is returned to fulfill the promise.
The described technology is directed towards a platform-independent user interface (UI) system. Views and other objects at the platform-independent UI system level perform layout, scrolling, virtualization, styling, data binding via data models and/or readiness. Input handling and output to a display tree are also performed at this level. An abstraction layer processes the display tree into function calls to objects of the underlying platform to render visible output.
The described technology is directed towards a structured logging technology in which events corresponding to program execution are received in a structured format and logged based upon filtering of those events. A log handler is associated with a filtering mechanism that determines whether each event matches filtering criteria and is thus to be logged by the log handler. The log handler provides matching logged events to an event sink, such as an analytic tool that consumes the events for analysis.
The described technology is directed towards an asynchronous dispatcher (102) including control logic (110) that manages a queue set (112-115), including to dequeue and execute work items from the queue on behalf of application code (106) executing in a program (108). The dispatcher yields control to the program to allow the program and application code to be responsive with respect to user interface operations.
The described technology is directed towards handling errors in an application program that allows for a taxonomy and precedence order of errors. Exception wrapping includes preserving relevant information with an exception, and consolidates a series of errors into a single dominant exception instance that is handled appropriately depending on the exception type. Also described is a centralized exception manager that outputs an interactive dialog based upon the exception type, and takes a recovery action based upon user interaction with the dialog.
The subject disclosure is directed towards on-demand downloading of trickplay images during fast forwarding or rewinding of streaming video. A next trickplay image is selected and downloaded based upon the fast forward or rewind rate and the current location in the video. To ensure sufficient download time, the trickplay image may be chosen with a specified quality / resolution based upon historical timing data (e.g., a running average) to adaptively adjust to network bandwidth changes.
H04N 21/2387 - Traitement de flux en réponse à une requête de reproduction par un utilisateur final, p.ex. pour la lecture à vitesse variable ("trick play")
H04N 21/432 - Opération de récupération de contenu d'un support de stockage local, p.ex. disque dur
56.
COORDINATING USER INTERFACE ELEMENTS ACROSS SCREEN SPACES
The subject disclosure is directed towards transitioning from an existing screen (e.g., a page or the like) to a new screen, in which element(s) / control(s) of the existing screen are shared to the new screen. An existing screen acts as a source screen to provide element-related data (e.g., names) of its existing elements; the existing elements are intersected with those desired by the new / destination screen. The destination screen takes over ownership of any common elements. A navigation service may coordinate the exchange of information and the transition. The transition may include animations and/or other effects to provide a visually smooth transition or the like between screens.
Systems and methods are disclosed herein to a package essence analysis method comprising receiving, by a computer, first and second video files; indexing, by a computer, the first and second video files; decoding, by a computer, a selected frame of the first video file by referencing a first frame image using the index of the first video file; decoding, by a computer, a selected frame of the second video file by referencing a second frame image using the index of the second video file; and performing, by a computer, video quality analysis by comparing the decoded selected frame of the first video file to the decoded selected frame of the second video file.
H04N 7/12 - Systèmes dans lesquels le signal de télévision est transmis par un canal ou une pluralité de canaux parallèles, la bande passante de chaque canal étant inférieure à la largeur de bande du signal de télévision
H04N 7/18 - Systèmes de télévision en circuit fermé [CCTV], c. à d. systèmes dans lesquels le signal vidéo n'est pas diffusé
58.
SYSTEM AND METHOD FOR ASSISTIVE CAPTION, VIDEO DESCRIPTION, AND AUDIO DISTRIBUTION
Systems and methods are disclosed herein to a computer-implemented method for providing assistive technology, the method comprising receiving, by a computing device, a media file comprising an assistive media component configured to assist a user with viewing or hearing a particular content file being screened at a venue; receiving, by a computing device, an audio portion of the content file using an audio receiving device; determining, by a computing device, a time signature of the audio portion of the content file by performing sound processing on the received audio portion of the content file; synchronizing, by a computing device, the media file with the content file by matching a time synchrony track of the media file with the determined time signature of the content file; and outputting, by a computing device, the assistive media component included in the media file in synchronization with the content file.
Systems and methods are disclosed herein to a computer program product, comprising a tangible computer-readable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method for identifying a platform type of a device, the method including providing a system, wherein the system comprises distinct software modules, and wherein the distinct software modules comprise a secure beacon generator; receiving, by the secure beacon generator, an audio portion of media content from a content playback module; determining, by the secure beacon generator, a platform type of the device; and generating, by the secure beacon generator, a beacon for integrating with a sound wave of the audio portion of the media content, wherein the beacon includes the determined platform type of the device.
G06K 9/00 - Méthodes ou dispositions pour la lecture ou la reconnaissance de caractères imprimés ou écrits ou pour la reconnaissance de formes, p.ex. d'empreintes digitales
In one embodiment, an edge server in a content-distribution network (CDN) stores a video asset in the form of partially encoded transport-stream chunks, where the partial encoding does not include quantization processing. When the edge server receives a request from a user device for a particular segment of the asset at a particular quality corresponding to a target bitrate, the edge server retrieves at least one partially encoded chunk corresponding to the request and completes the encoding (including quantization processing) of the at least one partially encoded chunk to generate an output file at the requested target bitrate. The edge server then adds corresponding audio data and any auxiliary data to the output file to generate a transport- stream file. The edge server then transmits the transport- stream to the user device as one or more transport- stream packets.
H04N 21/222 - Serveurs secondaires, p.ex. serveur proxy ou tête de réseau de télévision par câble
H04N 21/2343 - Traitement de flux vidéo élémentaires, p.ex. raccordement de flux vidéo ou transformation de graphes de scènes MPEG-4 impliquant des opérations de reformatage de signaux vidéo pour la distribution ou la mise en conformité avec les requêtes des utilisateurs finaux ou les exigences des dispositifs des utilisateurs finaux
H04N 21/845 - Structuration du contenu, p.ex. décomposition du contenu en segments temporels
61.
DATA MANAGEMENT AND SELECTION/CONTROL SYSTEM PREFERABLY FOR A VIDEO MAGAZINE
A data management control and selection system for use with electronic display and preferably touch sensitive devices for video (and often accompanying audio) signal selections available from memory. In the preferred embodiment the system is a screen-spanning and integrated set of visual segments forming a toroid (although other geometric shapes can be used) having arc-shaped segments which extend in length or degrees around the toroid corresponding to the length in minutes and seconds of the video signal selections. The segments of the toroid are also color coded and collected/coordinated to the genre of the video signal selection to which it corresponds. By aligning (rotating or spinning of the toroid by one's finger on the touch sensitive screen or other cursor-like movement and selection mechanism) the selected segment, associated with the video signal selection will be displayed on the display screen. As the display screen then converts from prominent display of the toroid "menu wheel" to the display of the selected video signal selection, the balance of the display screen will display still videos of one or more of the other video signal selections which are available for viewing.
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 3/14 - Sortie numérique vers un dispositif de visualisation
62.
SYSTEM AND METHOD FOR WATERMARKING CONTENT FOR TRACKING MEDIA CONSUMPTION
In a system and method of watermarking content for tracking media consumption, the method may include creating, by a computer processor, at least one copy of a mezzanine asset for distribution to at least one user, the mezzanine asset being watermarked with a watermark identifier, and the at least one copy including a copy of the watermark identifier.
In one embodiment, a video-display and audience-monitoring (VD/ AM) system includes a display for displaying a first program to a first audience of one or more viewers, a camera subsystem for generating monitoring video of the first audience, and a control subsystem for controlling the display and for processing the monitoring video to characterize emotional reactions of the first audience to the first program. The control subsystem stores information recording the emotional reactions of the first audience to the first program. When a second audience views the first program, the second audience's emotional reactions to the first program are characterized and recorded. If the first audience has reactions to the first program sufficiently similar to the corresponding reactions of the second audience, then a reaction group having the first and second audiences as members is formed, wherein the reaction group is used for recommending other programs to group members.
In one embodiment, a 3D display has an image processor including an overlay detector connected to a display controller. The image processor receives a 3D- compatible image stream from a 2D legacy device that may superimpose overlays, e.g., a 2D captions, over 3D-compatible images. The overlay detector automatically determines whether a received image comprises a caption overlay and, if so, provides the location and dimensions of the overlay to the display controller. The display controller processes the overlaid 3D-compatible image to isolate the caption characters of the caption overlay and generates, for a viewer of the 3D display, different left-eye and right-eye images, each including overlaid caption characters that substantially match the characters of the caption overlay. The result is the appearance, to the viewer, of a substantially flat and coherent caption overlay over a 3D image.
In a system and method of producing time-synchronous textual descriptions of stage directions in live or pre-recorded productions to provide assistive program descriptions to visually-impaired consumers, a processor may parse stage directions from a production script and synchronize the parsed stage directions with closed captioning streams. The method may include viewing a live or pre-recorded production, creating textual descriptions of the stage directions using a stenography system, and outputting the textual descriptions to a separate output stream than that of dialogue descriptions. In addition, the method may include creating audio descriptions of the stage directions, and converting the audio descriptions to textual descriptions of the stage directions using a voice-recognition system. Further, the method may include distributing the synchronized stage directions, and receiving and decoding the synchronized stage directions using a text-based system.
G10L 21/06 - Transformation de la parole en une représentation non audible, p.ex. visualisation de la parole ou traitement de la parole pour les aides tactiles
66.
SYSTEM AND METHOD FOR GATHERING AND ANALYZING OBJECTIVE MOTION DATA
The systems and methods described herein attempt to provide data capture and analysis in a non-intrusive fashion. The captured data can be analyzed for qualitative conclusions regarding an object´s actions. For example, a system for analyzing activity of an athlete to permit qualitative assessments of that activity comprises a first processor to receive activity-related data from sensors on the athlete. A first database stores the activity-related data. A second database contains pre-identified motion rules. A second processor compares the received activity-related data to the pre-identified motion rules, wherein the second processor identifies a pre-identified motion from the pre-identified motion rules that corresponds to the received activity-related data. A memory stores the identified pre-selected motion.
In a system and method for managing user profiles and for managing, recording, and experiencing media content, a server may store a profile, content, and an association of the content with a profile, each of multiple devices may log into the profile by accessing the profile stored at the server, and, for the profile into which the device is logged, transmit to the server a content request, for example, periodically, and the server may, responsive to the content request, determine which content stored at the server is associated with the profile and transmit to the device a copy of the content that has been determined to be associated with the profile. The content may be stored at the server in association with the profile before the device is associated with the profile.
G06F 3/00 - Dispositions d'entrée pour le transfert de données destinées à être traitées sous une forme maniable par le calculateur; Dispositions de sortie pour le transfert de données de l'unité de traitement à l'unité de sortie, p.ex. dispositions d'interface
68.
METHOD AND SYSTEM FOR PROVIDING 'WHATS'S NEXT' DATA
A system and method for generating a list of content is disclosed. A processor may store in memory at least one content preference of a user, may store at least one non- user content preference of at least one entity other than the user, may associate the at least one non-user content preference with the user, and may generate the content list based on a combination of the at least one content preference of the user and the at least one non- user content preference for output to the user.
In one embodiment, a communication system transmits video content in a looped manner using wireless communications to a cell phone capable of playing the content in a streaming manner. The cell phone is capable, after the playing of the received video content has been interrupted during a current transmission of the content, of resuming play of the content during a subsequent transmission of the looped content, based on the timing of the interruption. The timing of the interruption is compared to a schedule of content transmissions to determine when to resume the playing of the content, e.g., to enable the playing to resume from the location of the interruption.
A method and apparatus updates supplement information (ST) in a time-shifted multimedia program that includes a primary multimedia-content feed and one or more SI overlays. In one embodiment, the invention identifies spatial, temporal, and/or logical occurrences of supplemental information (SI) in a recorded program and replaces this potentially outdated information with SI that is either less time-sensitive and/or updated to be relevant to the playback time of the program. In another embodiment, SI overlays are identified by tags that are embedded into a multimedia program feed and stored (time-shifted) along with the feed by an enhanced digital video recorder (EDVR) set-top. The set-top decodes the stored feed, reads the tags to determine sources for replacement SI, retrieves the replacement SI from the sources, and creates updated overlays from the replacement SI. The set-top then replaces the original overlays with updated SI overlays and outputs the result to a display.
A process and facility supports device-specific delivery of a multimedia object to an end user's device as a function of the device's capabilities, the transport interface to the device, and/or the viewing state and/or access privileges of the device's user with respect to the object or the user's relationship to an owner of the device and/or multimedia object.
H04N 7/173 - Systèmes à secret analogiques; Systèmes à abonnement analogiques à deux voies, p.ex. l'abonné envoyant un signal de sélection du programme
H04N 7/24 - Systèmes pour la transmission de signaux de télévision utilisant la modulation par impulsions codées
72.
METHOD AND SYSTEM FOR SECURE DISTRIBUTION OF CONTENT OVER A COMMUNICATIONS NETWORK
A method and system for the secure distribution of content over a communications network such as the Internet where a content owner distributes content broken down into blocks to one or more content sources, the content sources serving as distribution points to subscribers, with the content owner retaining control over the distribution transaction. A subscriber requesting a content item from a content owner receives a list of content sources with available blocks of the content item in addition to the subscriber determining blocks available from peers on available peer-to-peer networks, and uses this information to determine a more optimal distribution of blocks of the content.