A method includes receiving streaming media data having an original media frame and an original frame index referencing the original media frame; determining an optimal session bitrate, wherein the optimal session bitrate is based on the available network bandwidth between a server and a terminal; allocating a frame budget for an output media frame by estimating a frame size of the output media frame based on the original frame index and the optimal session bitrate; generating the output media frame by processing the original media frame based on first encoding parameters and, if the allocated frame budget is greater than a frame size of the processed media frame, padding the processed media frame; and providing the output media frame.
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04N 21/2343 - Traitement de flux vidéo élémentaires, p. ex. raccordement de flux vidéo ou transformation de graphes de scènes du flux vidéo codé 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
H04L 25/60 - Répéteurs régénérateurs avec commutateurs électromagnétiques
2.
ON-DEMAND ADAPTIVE BITRATE MANAGEMENT FOR STREAMING MEDIA OVER PACKET NETWORKS
A system and method for acquiring media data to be transmitted through a media network to a terminal and receiving a receiver report from the terminal, and estimating the condition of the network using information from the receiver report. Determining a data path based on whether the media network is congested, wherein the data path is a compression data path if the media network is congested, or the data path is a pass-through data path if the media network is not congested; and providing the media data through the determined data path.
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04N 21/2662 - Contrôle de la complexité du flux vidéo, p. ex. en mettant à l'échelle la résolution ou le débit binaire du flux vidéo en fonction des capacités du client
H04N 21/6379 - Signaux de commande émis par le client et dirigés vers les éléments du serveur ou du réseau vers le serveur vers le codeur
3.
MACROBLOCK-LEVEL ADAPTIVE QUANTIZATION IN QUALITY-AWARE VIDEO OPTIMIZATION
A method of optimizing an encoded video stream comprising one or more video frames, each video frame comprising a plurality of macroblocks, each macroblock comprising a plurality of pixels. The method includes receiving an encoded macroblock, decoding the encoded macroblock, and extracting a first quantization parameter. The first quantization parameter corresponds to quantization settings originally used for compressing the encoded macroblock. The method also includes computing a second quantization parameter based at least in part on the first quantization parameter, re-encoding the decoded macroblock based on the second quantization parameter, and providing the re-encoded macroblock.
Methods and systems for indexing content in a cache data structure within a content cache are disclosed. The methods and systems identify at least one characterization data associated with a received content request and input the at least one characterization data into a hash function to generate an index that is used for identifying an entry associated with the requested content in the cache data structure. The at least one characterization data may include a portion of content associated with the received content request, a portion of a Uniform Resource Locator (URL) associated with the received content request, an IP address associated with the received content request, the length of the content associated with the received content request, and one or more parameters parsed from the URL associated with the received content request.
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/2343 - Traitement de flux vidéo élémentaires, p. ex. raccordement de flux vidéo ou transformation de graphes de scènes du flux vidéo codé 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/8352 - Génération de données de protection, p. ex. certificats impliquant des données d’identification du contenu ou de la source, p. ex. "identificateur unique de matériel" [UMID]
H04N 21/472 - Interface pour utilisateurs finaux pour la requête de contenu, de données additionnelles ou de servicesInterface 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 7/173 - Systèmes à secret analogiquesSystèmes à abonnement analogiques à deux voies, p. ex. l'abonné envoyant un signal de sélection du programme
A method includes receiving streaming media data having a media frame and a frame index referencing the media frame; allocating a frame budget for an output media frame by estimating a frame size of the output media frame based on the frame index; generating the output media frame in real-time by processing the media frame based on first processing parameters and, if the allocated frame budget is greater than a frame size of the processed media frame, padding the processed media frame; and providing the output media frame.
A computer-implemented method includes receiving an encoded video frame, decompressing the received encoded video frame, extracting a first quantization parameter (QP) from the decompressed video frame, and acquiring a delta QP based on the first QP. The method also includes acquiring a second QP based on the delta QP and the first QP, compressing the decompressed video frame based on the second QP, and providing the compressed video frame. The first QP corresponds to quantization settings originally used for compressing the encoded video frame. And the second QP corresponds to quantization settings for compressing the decompressed video frame.
A method including providing pseudo-streaming media data to a terminal; receiving a transport control protocol (TCP) acknowledgement from the terminal; estimating one or more network conditions of a network based at least in part on the TCP acknowledgement; determining an optimal session bitrate based on the estimated one or more network conditions; and providing pseudo-streaming media data to the terminal based on the optimal session bitrate.
A computer-implemented method including receiving streaming media, wherein the streaming media is requested by a media player at a mobile device; retrieving timing information from the streaming media, wherein the timing information corresponds to real-time playback rate on the media player; framing the streaming media based on the real-time playback rate on the media player; scheduling transmission of the framed streaming media based on the framing; and transmitting the framed streaming media to the media player according to the schedule.
A computer-implemented method including providing, at a first device, a packet scheduler layer between a network layer and a transport layer; receiving, at the packet scheduler layer, one or more transmission control protocol (TCP) packets from a sending layer on the first device, wherein the sending layer is one of the network layer or the transport layer; smoothing delivery of at least one of the one or more TCP packets by delaying the delivery; and sending the one or more TCP packets to a receiving layer, wherein the receiving layer is one of the network layer or the transport layer that is not the sending layer.
A computer-implemented method including receiving request data originating at a mobile device; obtaining a unique and unchanging identifier of the mobile device based on the received request data; associating the unique and unchanging identifier of the mobile device with the request data; and storing the associated data at a data storage device.
A method including receiving a request for a web page; communicating with a content server by receiving content associated with the requested web page; determining whether the content includes particular content requiring plug-in support; initiating a native plug-in to handle the particular content; receiving a request for additional content from the native plug-in; retrieving the additional content for the native plug-in; monitoring the additional content to determine whether the additional content includes media content; and updating the content for the requested web page based on the monitoring.
A method including receiving a receiver report from a terminal; estimating one or more network conditions of a media network based at least in part on the receiver report; determining an optimal session bitrate based on the estimated one or more network conditions; and providing media data to the terminal based on the optimal session bitrate.
A system includes a mobile device and an optimization server. The mobile device is capable of transmitting request data that includes a requested webpage and identification data. The optimization server is configured to receive response data that corresponds to the request data from a content server, to adapt the response data based on the identification data, and to transmit the adapted response data to the mobile device.