About Français Register Login
Export Options:
List summary/stats - summary.json
All IP - IP.json
Quantity by Year - quantity-by-year.xls
Excel Report - report.xls
Netflix, Inc.
Receive daily alerts for new
USPTO trademarks filed by this owner
1-100 of 142 for Netflix, Inc. Sort by
-- No sort --
Grant/Registration Date
TM Text
USPTO Patents
CIPO Patents
Document Number
CIPO Trademarks
IP Card View
IP Table View
World - WIPO
All Fields Patent Title Patent Abstract Trademark Text Trademark Goods&Service Current Owner
Aggregations Reset Report
New (last 4 weeks) 4
2021 January (MTD) 1
2021 (YTD) 1
Before 2016 48
IPC Class
H04N 21/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements 17
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs 13
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs 11
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments 10
G06F 17/30 - Information retrieval; Database structures therefor 9
H04N 19/154 - Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion 9
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs 9
H04L 29/06 - Communication control; Communication processing characterised by a protocol 8
H04N 19/147 - Data rate or code amount at the encoder output according to rate distortion criteria 7
H04N 17/00 - Diagnosis, testing or measuring for television systems or their details 6
H04L 9/32 - Arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system 5
H04N 19/179 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot 5
G06F 17/00 - Digital computing or data processing equipment or methods, specially adapted for specific functions 4
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure 4
H04N 19/192 - 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive 4
H04N 19/85 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression 4
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 4
H04N 21/466 - Learning process for intelligent management, e.g. learning user preferences for recommending movies 4
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content 4
G06F 9/44 - Arrangements for executing specific programs 3
G11B 27/00 - Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel 3
H04N 21/485 - End-user interface for client configuration 3
H04N 21/8541 - Content authoring involving branching, e.g. to different story endings 3
G06F 11/36 - Preventing errors by testing or debugging of software 2
G06F 17/28 - Processing or translating of natural language 2
G06F 21/00 - Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity 2
G06F 9/455 - Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines 2
G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU] 2
G06K 9/00 - Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints 2
G06K 9/62 - Methods or arrangements for recognition using electronic means 2
Found results for patents
ATTACK MITIGATION IN A PACKET-SWITCHED NETWORK
NETFLIX, INC. (USA)
Stewart, Randall
The disclosed computer-implemented method includes applying transport protocol heuristics to selective acknowledgement (SACK) messages received at a network adapter from a network node. The transport protocol heuristics identify threshold values for operational functions that are performed when processing the SACK messages. The method further includes determining, by applying the transport protocol heuristics to the SACK messages received from the network node, that the threshold values for the transport protocol heuristics have been reached. In response to determining that the threshold values have been reached, the method includes identifying the network node as a security threat and taking remedial actions to mitigate the security threat. Various other methods, systems, and computer-readable media are also disclosed.
IPC Classes ?
H04L 29/06 - Communication control; Communication processing characterised by a protocol
H04L 1/16 - Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
AUTOMATED VIDEO CROPPING USING RELATIVE IMPORTANCE OF IDENTIFIED OBJECTS
Kansara, Apurvakumar Dilipkumar
Holsapple, Sanford
Westadt, Arica
Bisla, Kunal
The disclosed computer-implemented method may include receiving, as an input, segmented video scenes, where each video scene includes a specified length of video content. The method may further include scanning the video scenes to identify objects within the video scene and also determining a relative importance value for the identified objects. The relative importance value may include an indication of which objects are to be included in a cropped version of the video scene. The method may also include generating a video crop that is to be applied to the video scene such that the resulting cropped version of the video scene includes those identified objects that are to be included based on the relative importance value. The method may also include applying the generated video crop to the video scene to produce the cropped version of the video scene. Various other methods, systems, and computer-readable media are also disclosed.
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/2343 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
H04N 5/45 - Picture in picture
G11B 27/02 - Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
H04N 1/387 - Composing, repositioning or otherwise modifying originals
G06K 9/00 - Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
H04N 21/234 - Processing of video elementary streams, e.g. splicing of video streams or manipulating MPEG-4 scene graphs
H04N 21/44 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs
H04N 21/4728 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content for selecting a ROI [Region Of Interest], e.g. for requesting a higher resolution version of a selected region
DISTRIBUTED GLOBAL OBJECT STORAGE
Kasi, Kishore
Papapanagiotou, Ioannis
Madappa, Shashi Shekar
Enugula, Sridhar
Jayaraman, Deva
Yelevich, Victor
Chen, Shunfei
Ginter, Christopher
Johansson, Olof
Birari, Shailesh
Various embodiments of the present application set forth a computer-implemented method for accessing data comprising receiving, by a first storage controller at a first spoke network and from an entity remote to the first spoke network, a message identifying a first content item, where the first content item is identified based on a task that is to be performed by accessing the first content item, determining, by the first storage controller, a first storage partition that stores the first content item, where the first storage partition is included in a tiered group of storage partitions accessible by the first spoke network, retrieving, by the first storage controller from the first storage partition, the first content item, and causing, by the first storage controller, the first content item to be transmitted to a second spoke network for storage in a second storage partition accessible by the second spoke network.
G06F 16/182 - Distributed file systems
MACHINE-ASSISTED TRANSLATION FOR SUBTITLE LOCALIZATION
Bihani, Ballav
Rickard, Matthew James
Semeniakin, Marianna
Shetty, Ranjith Kumar
Smith, Allison Filemyr
Pearson, Patrick Brendon
Shah, Sameer
One embodiment of the present disclosure sets forth a technique for generating translation suggestions. The technique includes receiving a sequence of source-language subtitle events associated with a content item, where each source-language subtitle event includes a different textual string representing a corresponding portion of the content item, generating a unit of translatable text based on a textual string included in at least one source-language subtitle event from the sequence, translating, via software executing on a machine, the unit of translatable text into target-language text, generating, based on the target-language text, at least one target-language subtitle event associated with a portion of the content item corresponding to the at least one source-language subtitle event, and generating, for display, a subtitle presentation template that includes the at least one target-language subtitle event.
G06F 40/47 - Machine-assisted translation, e.g. using translation memory
G06F 40/45 - Example-based machine translation; Alignment
TECHNIQUES FOR TEXT RENDERING USING FONT PATCHING
Navarro, Pedro
Various embodiments disclose a computer-implemented method that includes receiving, subsequent to a first font file being stored in read-only memory, a first font patch file for storage in read-write memory, where each of the first font file and the first font patch file is associated with a first font and includes a different set of glyphs used to render characters for display, and a first set of glyphs included in the first font file is static, determining that a first text string includes a first set of characters to be rendered, retrieving, from at least one of the first font file and the first font patch file depending on whether a first glyph is included in the first set of glyphs, the first glyph corresponding to a first character included in the first set of characters, and rendering a portion of the first text string using the first glyph.
G06F 40/109 - Font handling; Temporal or kinetic typography
G06F 7/00 - Methods or arrangements for processing data by operating upon the order or content of the data handled
G06F 40/126 - Character encoding
G06K 15/02 - Arrangements for producing a permanent visual presentation of the output data using printers
G06T 11/00 - 2D [Two Dimensional] image generation
H04N 5/00 - PICTORIAL COMMUNICATION, e.g. TELEVISION - Details of television systems
TECHNIQUES FOR FILE VERSIONING TO PROTECT AGAINST FILE CORRUPTION
Blair, John, David
Bakken, Anders, Grindal
Various embodiments disclose a method for maintaining file versions in volatile memory. The method includes storing, in volatile memory for at least a first portion of a first sync interval, a first version of a file that is not modifiable during the at least the first portion of the first sync interval. The method also includes storing, in volatile memory for at least a second portion of the first sync interval, a second version of the file that is modifiable during the at least the second portion of the first sync interval. The method also includes subsequent to the first sync interval, replacing in nonvolatile memory, a third version of the file with the first version of the file stored in volatile memory. Further, the method includes marking the second version of the file as not modifiable during at least a first portion of a second sync interval.
G06F 21/64 - Protecting data integrity, e.g. using checksums, certificates or signatures
G06F 16/18 - File system types
REDUCING CACHE INTERFERENCE BASED ON FORECASTED PROCESSOR USE
Rostykus, Benoit
Hartmann, Gabriel
In various embodiments, a predictive assignment application computes a forecasted amount of processor use for each workload included in a set of workloads using a trained machine-learning model. Based on the forecasted amounts of processor use, the predictive assignment application computes a performance cost estimate associated with an estimated level of cache interference arising from executing the set of workloads on a set of processors. Subsequently, the predictive assignment application determines processor assignment(s) based on the performance cost estimate. At least one processor included in the set of processors is subsequently configured to execute at least a portion of a first workload that is included in the set of workloads based on the processor assignment(s). Advantageously, because the predictive assignment application generates the processor assignment(s) based on the forecasted amounts of processor use, the isolation application can reduce interference in a non-uniform memory access (NUMA) microprocessor instance.
G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
FIRE-AND-FORGET OFFLOAD MECHANISM FOR NETWORK-BASED SERVICES
Girbal, Antoine Jean
In various embodiments, a proxy application processes requests associated with a network-based service. In operation, the proxy application determines that a first request received from a client application indicates that a response to the first request can be offloaded from a server machine. Prior to transmitting the first request to the server machine, the proxy application transmits a response to the first request to the client application. The response indicates that the server machine has successfully processed the first request. Advantageously, upon receiving the response, the client application is able to initiate a second request irrespective of the server machine.
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
TECHNIQUES FOR INCREASING THE ISOLATION OF WORKLOADS WITHIN A MULTIPROCESSOR INSTANCE
In various embodiments, an isolation application determines processor assignment(s) based on a performance cost estimate. The performance cost estimate is associated with an estimated level of cache interference arising from executing a set of workloads on a set of processors. Subsequently, the isolation application configures at least one processor included in the set of processors to execute at least a portion of a first workload that is included in the set of workloads based on the processor assignment(s). Advantageously, because the isolation application generates the processor assignment(s) based on the performance cost estimate, the isolation application can reduce interference in a non-uniform memory access (NUMA) microprocessor instance.
G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
G06F 12/084 - Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
ADAPTIVE RETRIEVAL OF OBJECTS FROM REMOTE STORAGE
Alon, Barak
Simic, Zoran
Denlinger, Darrell
Vasani, Ameya
Wong, Rick
Various embodiments of the present application set forth a computer-implemented method for accessing data comprising identifying a first set of read operations occurring during a first time period, where each read operation included in the set of read operations is associated with retrieving a different portion of at least one object from a storage system, determining a byte density associated with the set of read operations, where the byte density indicates a size of contiguous portions of the at least one object that were retrieved during the first time period, and determining, based on the byte density, a pre-buffering block size for a read operation during a second period, where the pre-buffering block size specifies a size of a portion of at least one object that is to be retrieved from the storage system.
G06F 3/06 - Digital input from, or digital output to, record carriers
TECHNIQUES FOR ADVANCING PLAYBACK OF INTERACTIVE MEDIA TITLES IN RESPONSE TO USER SELECTIONS
Watson, Mark
A playback application seamlessly advances playback of and interactive media title in response to user selections in a manner that minimizes latency and preserves user immersion in a narrative. The playback application buffers an interstitial segment included in the interactive media title and feeds portions of the interstitial segment to a media player only when those portions are needed for display. When the user selects an option displayed during the interstitial segment, the playback application begins buffering a subsequent media segment and stops feeding portions of the interstitial segment to the media player. The playback application starts feeding blocks of the subsequent media segment to the media player and then seamlessly advances playback to the subsequent media segment.
H04N 21/845 - Structuring of content, e.g. decomposing content into time segments
H04N 21/8541 - Content authoring involving branching, e.g. to different story endings
TECHNIQUES FOR EFFICIENTLY PERFORMING SUBSEQUENCE-BASED ENCODING FOR A MEDIA TITLE
Wallendael, Glenn Van
Aaron, Anne
Swanson, Kyle
De Cock, Jan
Guo, Liwei
Bhaskar, Sonia
In various embodiments, an interpolation-based encoding application encodes a first subsequence included in a media title at each encoding point included in a first set of encoding points to generate encoded subsequences. Subsequently, the interpolation-based encoding application performs interpolation operation(s) based on the encoded subsequences to estimate a first media metric value associated with a first encoding point that is not included in the first set of encoding points. The interpolation-based encoding application then generates an encoding recipe based on the encoded subsequences and the first media metric value. The encoding recipe specifies a different encoding point for each subsequence included in the media title. After determining that the encoding recipe specifies the first encoding point for the first subsequence, the interpolation-based encoding application encodes the first subsequence at the first encoding point to generate at least a portion of an encoded version of the media title.
H04N 19/179 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
H04N 19/147 - Data rate or code amount at the encoder output according to rate distortion criteria
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
H04N 19/115 - Selection of the code volume for a coding unit prior to coding
INTERACTIVE INTERFACE FOR IDENTIFYING DEFECTS IN VIDEO CONTENT
Soni, Abhishek
Prakash, Adithya
Ladda, Shraddha
Mack, Thomas E.
The disclosed computer-implemented method may include accessing defect identification data that identifies defects in frames of video content. The method may also include generating, as part of the interactive user interface, an interactive element that presents the frames of video content. The method may further include generating, as part of the interactive user interface, another interactive element that presents selectable metadata items associated with the identified defects in the frames of video content. At least one of the selectable metadata items may include an associated user interface action. Then, upon receiving an input selecting one of the selectable metadata items, the method may include performing the associated user interface action. Various other methods, systems, and computer-readable media are also disclosed.
H04N 17/00 - Diagnosis, testing or measuring for television systems or their details
H04N 21/84 - Generation or processing of descriptive data, e.g. content descriptors
H04N 21/854 - Content authoring
BRANCHING LOGIC IN A PLAYBACK ENVIRONMENT
Lee, Kevin Pei-Wen
Jones, Lawrence E. Jr.
Lea, Joseph, Peyton Iv
The disclosed computer-implemented method may include accessing a pre-rendered multimedia item. The pre-rendered multimedia item may have branching logic associated with it, where the branching logic includes branching points that direct non-sequential playback of the pre-rendered multimedia item. The method may also include initializing playback of the pre-rendered multimedia item and accessing, at the branching points, various trigger conditions that direct playback order of different segments of the pre-rendered multimedia item. The method may then include updating, based on the trigger conditions, at least some portion of custom state data. The method may further include playing back the segments of the pre-rendered multimedia item according to the updated state data. Various other methods, systems, and computer-readable media are also disclosed.
OPTIMIZING ENCODING OPERATIONS WHEN GENERATING A BUFFER-CONSTRAINED VERSION OF A MEDIA TITLE
Katsavounidis, Ioannis
In various embodiments, a buffer-based encoding application generates a first convex hull of subsequence encode points based on multiple encoding points and a first subsequence associated with a media title. The buffer-based encoding application then generates a first global convex hull of media encode points based on a transmission buffer constraint, the first convex hull, and a second global convex hull of media encode points. Notably, the second global convex hull is associated with a portion of the media title that occurs before the first subsequence in a playback order for the media title. Subsequently, the subsequence-based encoding application selects a first media encode point included in the first global convex hull based on a media metric and determines a first encoded media sequence based on the selected media encode point. The first encoded media sequence is subsequently streamed to an endpoint device during playback of the media title.
H04N 21/2662 - Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
H04N 19/15 - Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
H04N 19/152 - Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
H04N 19/146 - Data rate or code amount at the encoder output
CACHE WARMING: AGILITY FOR A STATEFUL SERVICE
Madappa, Shashi
The disclosed computer-implemented method includes receiving an indication that cache data is to be copied from an originating cluster having a specified number of replica nodes to a destination cluster having an arbitrary number of replica nodes. The method further includes copying the cache data to a cache dump and creating a log that identifies where the cache data is stored in the cache dump. The method further includes copying the cache data from the cache dump to the replica nodes of the destination cluster. The copying includes writing the copied data in a distributed manner, such that at least a portion of the copied data is distributed over each of the replica nodes in the destination cluster. Various other methods, systems, and computer-readable media are also disclosed.
TECHNIQUES FOR ENCODING A MEDIA TITLE WHILE CONSTRAINING BITRATE VARIATIONS
In various embodiments, a subsequence-based encoding application generates a first set of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. Notably, each subsequence encode point is associated with a different encoded subsequence. The subsequence-based encoding application then performs convex hull operation(s) across the first set of subsequence encode points to generate a first convex hull. The subsequence-based encoding application then generates an encode list that includes multiple subsequence encode points based on multiple convex hulls, including the first convex hull. Subsequently, the subsequence-based encoding application performs filtering operation(s) on the encode list based on a variability constraint associated with a media metric to generate an upgrade candidate list. Finally, the subsequence-based encoding application generates an encoded media sequence based on the upgrade candidate list and the first convex hull.
H04N 21/238 - Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
H04N 19/154 - Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
H04N 19/192 - 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
TECHNIQUES FOR ENCODING A MEDIA TITLE WHILE CONSTRAINING QUALITY VARIATIONS
In various embodiments, a subsequence-based encoding application generates a convex hull of subsequence encode points based on multiple encoding points and a first subsequence included in a set of subsequences that are associated with a media title. The subsequence-based encoding application then generates a first encode list that includes multiple subsequence encode points based on the first convex hull. Notably, each subsequence encode point included in the first encode list is associated with a different subsequence. The subsequence-based encoding application selects a first subsequence encode point included in the first encode list based on a first variability constraint that is associated with a media metric. The subsequence-based encoding application then replaces the first subsequence encode point included in the first encode list with a second subsequence encode point to generate a second encode list. Finally, the subsequence-based encoding application generates an encoded media sequence based on the second encode list.
TECHNIQUES FOR IDENTIFYING SYNCHRONIZATION ERRORS IN MEDIA TITLES
Puri, Rohit
Khosravan, Naji
Behrostaghi, Shervin Ardeshir
A neural network system that is trained to identify one or more portions of a media title where synchronization errors are likely to be present. The neural network system is trained based on a first set of media titles where synchronization errors are present and a second set of media titles where synchronization errors are absent. The second set of media titles can be generated by introducing synchronization errors into a set of media titles that otherwise lack synchronization errors. Via training, the neural network system learns to identify specific visual features included in one or more video frames and corresponding audio features that should be played back in synchrony with the associated visual features. Accordingly, when presented with a media title that includes synchronization errors, the neural network can indicate the specific frames where synchronization errors are likely to be present.
G05B 23/02 - Electric testing or monitoring
G06N 3/04 - Architecture, e.g. interconnection topology
SYSTEMS AND METHODS FOR ADAPTIVE STREAMING OF MULTIMEDIA CONTENT
Sharma, Sean
Du Pontavice, Guillaume
The disclosed computer-implemented method includes determining that audio quality is to be adjusted for a multimedia streaming connection over which audio data and video data are being streamed to a content player. The audio data is streamed at a specified audio quality level and the video data is streamed at a specified video quality level. The method also includes determining that a specified minimum video quality level is to be maintained while adjusting the audio quality level. Still further, the method includes dynamically adjusting the audio quality level of the multimedia streaming connection while maintaining the video quality level of the multimedia streaming connection at at least the specified minimum video quality level. Various other methods, systems, and computer-readable media are also disclosed.
H04N 21/2381 - Adapting the multiplex stream to a specific network, e.g. an IP [Internet Protocol] network
H04N 21/2385 - Channel allocation; Bandwidth allocation
H04N 21/239 - Interfacing the upstream path of the transmission network, e.g. prioritizing client requests
IDENTIFYING IMAGE AESTHETICS USING REGION COMPOSITION GRAPHS
Liu, Dong
Kamath, Nagendra
Bhattacharya, Subhabrata
The disclosed computer-implemented method may include generating a three-dimensional (3D) feature map for a digital image using a fully convolutional network (FCN). The 3D feature map may be configured to identify features of the digital image and identify an image region for each identified feature. The method may also include generating a region composition graph that includes the identified features and image regions. The region composition graph may be configured to model mutual dependencies between features of the 3D feature map. The method may further include performing a graph convolution on the region composition graph to determine a feature aesthetic value for each node according to the weightings in the node's weighted connecting segments, and calculating a weighted average for each node's feature aesthetic value to provide a combined level of aesthetic appeal for the digital image. Various other methods, systems, and computer-readable media are also disclosed.
G06T 7/00 - Image analysis
TECHNIQUES FOR RECOMMENDING ITEMS TO USERS
Steck, Harald
In various embodiments, a training application generates a preference prediction model based on an interaction matrix and a closed-form solution for minimizing a Lagrangian. The interaction matrix reflects interactions between users and items, and the Lagrangian is formed based on a constrained optimization problem associated with the interaction matrix. A service application generates a first application interface that is to be presented to the user. The service application computes predicted score(s) using the preference prediction model, where each predicted score predicts a preference of the user for a different item. The service application then determines a first item from the items to present to the user via an interface element included in the application interface. Subsequently, the service application causes a representation of the first item to be displayed via the interface element included in the application interface.
G06N 5/00 - Computer systems using knowledge-based models
G06N 3/08 - Learning methods
TECHNIQUES FOR ENCODING A MEDIA TITLE VIA MULTIPLE ENCODERS
In various embodiments, a subsequence-based encoding application generates subsequences based on a source sequence associated with a media title. The subsequence-based encoding application then encodes both a first subsequence and a second subsequence across each of multiple configured encoders and at least one rate control value to generate, respectively, a first set of encoded subsequences and a second set of encoded subsequences. Notably, each configured encoder is associated with a combination of an encoder and a configuration, and at least two configured encoders are different from one another. Subsequently, the subsequence-based encoding application generates encoded media sequences based on the first set of encoded subsequences and the second set of encoded subsequences. Finally, the application selects a first encoded media sequence from the encoded media sequences based on a first target value for a media metric to subsequently stream to a first endpoint device during playback of the media title.
H04N 21/23 - Processing of content or additional data; Elementary server operations; Server middleware
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
VIDEO PLAYBACK IN AN ONLINE STREAMING ENVIRONMENT
Ciuca, Bogdan Joseph
Casparro, Tony James
Grunewald, Corey James
Jaquish, Matthew Jeffrey
A computer-implemented method of displaying video content includes, based on an input to transition playback of a video content item from a first media player that is instantiated in a user interface to a second media player that is instantiated in the user interface, determining a current value of a first state descriptor associated with the first media player; setting a value of a second state descriptor associated with the second media player to match the current value of the first state descriptor; and after setting the value of the second state descriptor, causing the second media player to begin playback of the video content item, wherein the second media player begins playing the video content item based on the value of the second state descriptor.
H04N 21/485 - End-user interface for client configuration
H04N 21/472 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content
DYNAMICALLY ADJUSTING TEXT STRINGS BASED ON MACHINE TRANSLATION FEEDBACK
Brandall, Tim
Xu, Shawn
The disclosed computer-implemented method may include accessing a string of text that includes characters written in a first language. The method may next include translating the text string into different languages using machine translation. The method may next include identifying, among the translated text strings, a shortest string and a longest string. The method may also include calculating a customized string length adjustment ratio for adjusting the length of the accessed text string based on the shortest translated string length and the longest translated string length. Furthermore, the method may include dynamically applying the calculated customized string length adjustment ratio to the accessed text string, so that the length of the accessed text string may be dynamically adjusted according to the customized string length adjustment ratio. The method may also include presenting the adjusted text string in the user interface. Various other methods, systems, and computer-readable media are also disclosed.
G06F 17/21 - Text processing
G06F 17/28 - Processing or translating of natural language
G06F 9/451 - Execution arrangements for user interfaces
DYNAMIC TOPOLOGY GENERATION FOR BRANCHING NARRATIVES
Cheung, Maxine
Fisher, Carla Christine
Raimond, Yves
A playback application is configured to dynamically generate topology for an interactive media title. The playback application obtains an initial topology and also collects various data associated with a user interacting with the feature. The playback application then modifies the initial topology, based on the collected data, to generate a dynamic topology tailored to the user. The dynamic topology describes the set of choices available to the user during playback as well as which options can be selected by the user when making a given choice. In addition, the playback application also selectively buffers different portions of the interactive media title, based on the collected data, in anticipation of the user selecting particular options for available choices.
H04N 21/4725 - End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification or for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
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
Fisher, Carla, Christine
Lee, Kevin, Pei-Wen
H04N 21/8545 - Content authoring for generating interactive applications
TECHNIQUES FOR DETERMINING AN UPPER BOUND ON VISUAL QUALITY OVER A COMPLETED STREAMING SESSION
Li, Zhi
Huang, Te-Yuan
In various embodiments, a hindsight application computes a hindsight metric value for evaluation of a video rate selection algorithm. The hindsight application determines a first encoding option associated with a source chunk of a media title based on a network throughput trace and a buffer trellis. The hindsight application determines that the first encoding option is associated with a buffered duration range. The buffered duration range is also associated with a second encoding option that is stored in the buffer trellis. After determining that the first encoding option is associated with a higher visual quality than the second encoding option, the hindsight application stores the first encoding option instead of the second encoding option in the buffer trellis to generate a modified buffer trellis. Finally, the hindsight application computes a hindsight metric value associated with a sequence of encoded chunks of the media title based on the modified buffer trellis.
H04N 21/24 - Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth or upstream requests
SHOT-BASED VIEW FILES FOR TRICK PLAY MODE IN A NETWORK-BASED VIDEO DELIVERY SYSTEM
Mavlankar, Aditya
A computer-implemented method includes receiving a request from a client computing device for a first shot included in a media title being streamed to the client computing device for playback; in response to the request, sending the first shot to the client computing device for playback; and sending a representative image for at least one of the first shot and a second shot included in the media title, wherein the first shot comprises a first sequence of video frames that is included in the media title and captured continuously from a first point of capture, and the second shot comprises a second sequence of video frames that is included in the media title and captured continuously from a second point of capture.
G11B 27/10 - Indexing; Addressing; Timing or synchronising; Measuring tape travel
H04N 21/6587 - Control parameters, e.g. trick play commands or viewpoint selection
G11B 27/00 - Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
DIFFERENCING ENGINE FOR DIGITAL FORENSICS
Monsen, Forest
Glisson, Kevin
In various embodiments, a forensic scoping application analyzes host instances in order to detect anomalies. The forensic scoping application acquires a snapshot for each host instance included in an instance group. Each snapshot represents a current operational state of the associated host instance. Subsequently, the forensic scoping application performs clustering operation(s) based on the snapshots to generate a set of clusters. The forensic scoping application determines that a first cluster in the set of clusters is associated with fewer host instances than at least a second cluster in the set of clusters. Based on the first cluster, the forensic scoping application determines that a first host instance included in the instance group is operating in an anomalous fashion. Advantageously, efficiently determining host instances that are operating in an anomalous fashion during a security attack can reduce the amount of damage caused by the security attack.
G06F 21/56 - Computer malware detection or handling, e.g. anti-virus arrangements
G06N 20/00 - Machine learning
TECHNIQUES FOR EVALUATING A VIDEO RATE SELECTION ALGORITHM OVER A COMPLETED STREAMING SESSION
Ekanadham, Chaitanya
Berglund, Andrew J.
In various embodiments, a hindsight application computes a total download size for a sequence of encoded chunks associated with a media title for evaluation of at least one aspect of a video streaming service. The hindsight application computes a feasible download end time associated with a source chunk of the media title based on a network throughput trace and a subsequent feasible download end time associated with a subsequent source chunk of the media title. The hindsight application then selects an encoded chunk associated with the source chunk based on the network throughput trace, the feasible download end time, and a preceding download end time associated with a preceding source chunk of the media title. Subsequently, the hindsight application computes the total download size based on the number of encoded bits included in the first encoded chunk. The total download size correlates to an upper bound on visual quality.
H04N 19/184 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
SCALABLE AND REAL-TIME ANOMALY DETECTION
Gonigberg, Arthur
Cohen, Michael Lloyd
Joshi, Neeraj
Rioux, Cody Mitchell
Various embodiments of the disclosure disclosed herein provide techniques for detecting anomalies across one or more components within a distributed computing system, according to various embodiments of the present disclosure. An anomaly detection system retrieves event data associated with a real-time stream of events generated by one or more components within a distributed computing system. The anomaly detection system computes a failure metric based on the event data. The anomaly detection system determines that the failure metric exceeds a dynamically adjustable trigger condition. The anomaly detection system generates an alert associated with the failure metric.
G06F 9/4401 - Bootstrapping
G06F 11/36 - Preventing errors by testing or debugging of software
G06F 11/07 - Responding to the occurrence of a fault, e.g. fault tolerance
G06F 9/54 - Interprogram communication
DETECTING CREDENTIAL COMPROMISE IN A CLOUD RESOURCE
Bengtson, William
Behrens, Scott
Mcpeak, Travis
The disclosed computer-implemented method may include initializing a server instance using a specified network address and an associated set of credentials, logging the network address of the initialized server instance as well as the associated set of credentials in a data log, analyzing network service requests to determine that a different server instance with a different network address is requesting a network service using the same set of credentials, accessing the data log to determine whether the second server instance is using a network address that is known to be valid within the network and, upon determining that the second server instance is not using a known network address, preventing the second server instance from performing specified tasks within the network. Various other methods, systems, and computer-readable media are also disclosed.
TECHNIQUES FOR SCHEDULED ANTI-ENTROPY REPAIR DESIGN
Chella, Vinay
Lynch, Joseph
Upadhyay, Ajay
Various embodiments of the invention disclosed herein provide techniques for performing distributed anti-entropy repair procedures across a plurality of nodes in a distributed database network. A node included in a plurality of nodes within the distributed database network determines, before all other nodes included in the plurality of nodes, that a first anti-entropy repair procedure has ended. The node determines that a second anti-entropy repair procedure is ready to begin. The node generates a schedule for executing one or more operations associated with the second anti-entropy repair procedure. The node writes the schedule to a shared repair schedule data structure to initiate the second anti-entropy repair procedure across multiple nodes included in the plurality of nodes. Each of the nodes included in the plurality of nodes then performs a node repair based on the schedule.
G06F 16/27 - Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
QUANTIFYING PERCEPTUAL QUALITY MODEL UNCERTAINTY VIA BOOTSTRAPPING
Bampis, Christos
Sharan, Lavanya
Novak, Julie
Tingley, Martin
In various embodiments, a bootstrapping training subsystem performs sampling operation(s) on a training database that includes subjective scores to generate resampled dataset. For each resampled dataset, the bootstrapping training subsystem performs machine learning operation(s) to generate a different bootstrap perceptual quality model. The bootstrapping training subsystem then uses the bootstrap perceptual quality models to quantify the accuracy of a perceptual quality score generated by a baseline perceptual quality model for a portion of encoded video content. Advantageously, relative to prior art solutions in which the accuracy of a perceptual quality score is unknown, the bootstrap perceptual quality models enable developers and software applications to draw more valid conclusions and/or more reliably optimize encoding operations based on the perceptual quality score.
G06K 9/62 - Methods or arrangements for recognition using electronic means
G06N 20/20 - Ensemble learning
TECHNIQUES FOR PREDICTING PERCEPTUAL VIDEO QUALITY BASED ON COMPLEMENTARY PERCEPTUAL QUALITY MODELS
In various embodiments, an ensemble prediction application computes a quality score for re-constructed visual content that is derived from visual content. The ensemble prediction application computes a first quality score for the re-constructed video content based on a first set of values for a first set of features and a first model that associates the first set of values with the first quality score. The ensemble prediction application computes a second quality score for the re-constructed video content based on a second set of values for a second set of features and a second model that associates the second set of values with the second quality score. Subsequently, the ensemble prediction application determines an overall quality score for the re-constructed video content based on the first quality score and the second quality score. The overall quality score indicates a level of visual quality associated with streamed video content.
H04N 19/136 - Incoming video signal characteristics or properties
G06N 3/02 - Computer systems based on biological models using neural network models
TECHNIQUES FOR MODELING TEMPORAL DISTORTIONS WHEN PREDICTING PERCEPTUAL VIDEO QUALITY
H04N 17/02 - Diagnosis, testing or measuring for television systems or their details for colour television signals
H04N 17/04 - Diagnosis, testing or measuring for television systems or their details for receivers
TECHNIQUES FOR GENERATING SUBTITLES FOR TRAILERS
Parthasarathi, Murthy
Wang, Yadong
Sekh, Boney
In various embodiments, a subtitle application generates a subtitle list for a trailer. In operation, the subtitle application performs matching operation(s) between trailer audio associated with a trailer and source audio associated with an audiovisual program. The subtitle application then maps a subtitle associated with the source audio from a source timeline associated with the source audio to a trailer timeline associated with the trailer audio to generate a mapped subtitle. Subsequently, the subtitle application generates a trailer subtitle list based on the mapped subtitle and at least one additional mapped subtitle. Because the subtitle application generates the trailer subtitle list based on audio comparisons, the subtitle application ensures that the proper subtitles are included in the trailer subtitle list without requiring a subtitler to view the trailer.
H04N 21/8549 - Creating video summaries, e.g. movie trailer
H04N 21/233 - Processing of audio elementary streams
TECHNIQUES FOR OPTIMIZING ENCODING TASKS
Moorthy, Anush
Manohara, Megha
In various embodiments, a shot collation application causes multiple encoding instances to encode a source video sequence that includes at least two shot sequences. The shot collation application assigns a first shot sequence to a first chunk. Subsequently, the shot collation application determines that a second shot sequence does not meet a collation criterion with respect to the first chunk. Consequently, the shot collation application assigns the second shot sequence or a third shot sequence derived from the second shot sequence to a second chunk. The shot collation application causes a first encoding instance to independently encode each shot sequence assigned to the first chunk. Similarly, the shot collation application causes a second encoding instance to independently encode each shot sequence assigned to the second chunk. Finally, a chunk assembler combines the first encoded chunk and the second encoded chunk to generate an encoded video sequence.
H04N 19/436 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals - characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
H04N 19/85 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
TECHNIQUES FOR DETECTING SPATIAL ANOMALIES IN VIDEO CONTENT
In various embodiments, a defective pixel detection application automatically detects defective pixels in video content. In operation, the defective pixel detection application computes a first set of pixel intensity gradients based on a first frame of video content and a first neighborhood of pixels associated with a first pixel. The defective pixel detection application also computes a second set of pixel intensity gradients based on the first frame and a second neighborhood of pixels associated with the first pixel. Subsequently, the defective pixel detection application computes a statistical distance between the first set of pixel intensity gradients and the second set of pixel intensity gradients. The defective pixel detection application then determines that the first pixel is defective based on the statistical distance.
G06T 5/00 - Image enhancement or restoration
HIGH DYNAMIC RANGE COLOR CONVERSION CORRECTION
Norkin, Andrey
One embodiment of the present invention sets forth a technique for correcting color values. The technique includes downsampling first color space values to generate downsampled color space values, upsampling the downsampled color space values to generate second color space values, and determining a first new value for at least one component value included in the downsampled color space values based on a first component value included in the first color space values, a second component value included in the second color space values, and an approximation of a nonlinear transfer function. The technique further includes determining that a first color component value associated with the first new value is outside of a color space range, and determining a second new value for the at least one component value, where the first color component associated with the second new value is within the color space range.
H04N 9/64 - Circuits for processing colour signals
H04N 1/64 - Colour picture communication systems - Details therefor, e.g. coding or decoding means therefor
H04N 9/68 - Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits
H04N 9/77 - Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase
H04N 19/186 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
One embodiment of the present invention sets forth a technique for correcting color values. The technique includes downsampling first color space values to generate downsampled color space values and upsampling the downsampled color space values via a first upsampling filter type to generate second color space values. The technique further includes modifying at least one component value included in the downsampled color space values based on a first component value included in the first color space values, a second component value included in the second color space values, and an approximation of a nonlinear transfer function. The technique further includes at least one of (i) storing an indication of the first upsampling filter type in conjunction with a video bitstream associated with the at least one component value, and (ii) transmitting the indication of the first upsampling filter type to a receiving device in conjunction with the video bitstream.
SCALABLE TECHNIQUES FOR EXECUTING CUSTOM ALGORITHMS ON MEDIA ITEMS
San Miguel, Francisco J.
Mareddy, Naveen
In various embodiments, a workflow engine executes a custom algorithm on a media item. In operation, the workflow engine generates split specifications based on a split function included in a container image. Each split specification is associated with a different portion of the media item. Subsequently, the workflow engine generates map output files based on the split specifications and a map function included in the container image. The workflow engine then generates one or more final output file(s) based on the map output files and a collect function included in the container image. The final output file(s) are subsequently used to perform at least one of an evaluation operation on, a modification operation on, and a representation operation with respect to the media item.
G06F 9/448 - Execution paradigms, e.g. implementations of programming paradigms
G06F 9/455 - Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
TECHNIQUES FOR SYNTHESIZING FILM GRAIN
In various embodiments, a reconstruction application generates reconstructed video content that includes synthesized film grain. The reconstruction application performs scaling operation(s) on first unit noise based on a piecewise linear scaling function and the brightness component of the decoded video content to generate a brightness component of synthesized film grain. The reconstruction application then generates a brightness component of reconstructed video content based on the brightness component of the synthesized film grain and the brightness component of the decoded video content. Finally, the reconstructed application performs operation(s) related to saving the reconstructed video content to a file and/or further processing the reconstructed video content. Advantageously, the synthesized film grain reliably represents the film grain included in source video content from which the decoded video content was derived.
IDENTIFYING PREVIOUSLY STREAMED PORTIONS OF A MEDIA TITLE TO AVOID REPETITIVE PLAYBACK
A sequence analyzer compares different episodes of an episodic serial to identify portions of a current episode of the serial that have already been played back to a user. Those portions may include introductory material such as credits, or a recap section that includes content from previous episodes. The sequence analyzer parses previous episodes of the serial and selects a representative frame for each shot sequence. The sequence analyzer then generates a fingerprint for each shot sequence based on the associated representative frame. The sequence analyzer compares fingerprints associated with a current episode of the serial to fingerprints associated with one or more previous episodes of the serial to identify shot sequences that have already been played. The user may then skip those repeated sequences via a playback interface.
H04N 21/4545 - Input to filtering algorithms, e.g. filtering a region of the image
ENCODING TECHNIQUES FOR OPTIMIZING DISTORTION AND BITRATE
An encoding engine encodes a video sequence to provide optimal quality for a given bitrate. The encoding engine cuts the video sequence into a collection of shot sequences. Each shot sequence includes video frames captured from a particular capture point. The encoding engine resamples each shot sequence across a range of different resolutions, encodes each resampled sequence with a range of quality parameters, and then upsamples each encoded sequence to the original resolution of the video sequence. For each upsampled sequence, the encoding engine computes a quality metric and generates a data point that includes the quality metric and the resample resolution. The encoding engine collects all such data points and then computes the convex hull of the resultant data set. Based on all convex hulls across all shot sequences, the encoding engine determines an optimal collection of shot sequences for a range of bitrates.
H04N 19/124 - Quantisation
H04N 19/59 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
TECHNIQUES FOR DETECTING MEDIA PLAYBACK ERRORS
Turmel, Frederic
Newell, Nicholas
An endpoint device outputs frames of test media during a testing procedure. Each frame of test media includes a test pattern. A test module coupled to the endpoint device samples the test pattern and transmits sample data to a media test engine. The media test engine decodes a binary number from the test pattern and then converts the binary number to an integer value that is associated with the corresponding frame. The media test engine then analyzes sequences of these integer values to identify playback errors associated with the endpoint device.
ACCELERATION SYSTEM FOR FACILITATING PROCESSING OF API CALLS
Poitrey, Olivier Jean
One embodiment includes acceleration systems that operate as intermediaries between the API processing system and the clients to reduce API call roundtrip latencies. The acceleration systems are a network of interconnected systems that are distributed across the globe. A given acceleration system establishes a network connection with a given client and receives a request for processing an API call over the connection. The programming function associated with the API call is configured in the API processing system. The acceleration system facilitates the processing of the API call over an established connection with the API processing system.
STAGGERED KEY FRAME VIDEO ENCODING
One embodiment of the invention sets forth a mechanism for encoding video streams associated with the same digital content such that switch points staggered across two video streams occur at every offset temporal distance. The offset temporal distance is less than the distance between two consecutive key frames in a given video stream. This enables a content player to switch to a video stream having a playback quality up or down one level from a current video stream at the offset temporal distance from the most recently played key frame. In effect, the content player does not wait the entire key frame temporal distance before switching.
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/114 - Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor 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/438 - Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
TEMPORAL PLACEMENT OF A REBUFFERING EVENT
Hipple, Aaron
Wolcott, Will
A method includes receiving, with a computing system, data representing a video item into a buffer. The method further includes outputting the video item from the buffer to a display system. The method further includes determining that utilization of the buffer falls below a predetermined threshold. The method further includes, in response to determining that the utilization of the buffer falls below the predetermined threshold, determining that there is a specified rebuffering point within a predetermined time frame. The method further includes pausing with the computing system, the video item at the specified rebuffering point in response to determining that there is the specified rebuffering point within the predetermined time frame.
HASH DATA STRUCTURE BIASING
Davis, Jeffrey
Berglund, Andrew
Pfitzner, David
One embodiment of the present invention sets forth a technique for generating one or more hash data structures. The technique includes generating a hash data structure having entries that correspond to a plurality of content servers, and, for each file included in a first plurality of files, allocating the file to one or more content servers included in the plurality of content servers by comparing a hash value associated with the file to one or more entries included in the entries. The technique further includes comparing a network bandwidth utilization of a first content server to a network bandwidth utilization associated with one or more other content servers included in the plurality of content servers to generate a result, and modifying a first number of entries associated with the first content server and included in the entries based on the result to generate a biased hash data structure.
H04L 12/743 - Header address processing for routing, e.g. table lookup using hashing techniques
ITERATIVE TECHNIQUES FOR ENCODING VIDEO CONTENT
In various embodiments, an iterative encoding application encodes a source video sequence. The encoding optimization application generates a set of shot encode points based on a set of encoding points and a first shot sequence included in the source video sequence. Each shot encode point is associated with a different encoded shot sequence. The encoding optimization application performs convex hull operation(s) across the set of shot encode points to generate a first convex hull associated with the first shot sequence. Subsequently, the encoding optimization application generates encoded video sequences based on the first convex hull and a second convex hull associated with a second shot sequence included in the source video sequence. The encoding optimization application computes a new encoding point based on the encoded video sequences and a target value for a first video metric and then generates an optimized encoded video sequence based on the new encoding point.
TECHNIQUES FOR SELECTING RESOLUTIONS FOR ENCODING DIFFERENT SHOT SEQUENCES
In various embodiments, an encoding optimization application encodes a source video sequence. The encoding optimization application partitions a source video sequence associated with a media title into multiple subsequences that include a first subsequence and a second subsequence. The encoding optimization application then generates a first encoded subsequence based on the first subsequence and a first resolution. The encoding optimization application generates a second encoded subsequence based on the second subsequence and a second resolution. Notably, the second resolution is higher than the first resolution. The encoding optimization application then aggregates the first encoded subsequence and the second encoded subsequence to generate an encoded video sequence. At least a portion of the encoded video sequence is subsequently streamed to an endpoint device during a playback of the media title.
PACKET LOSS TOLERANT TRANSMISSION CONTROL PROTOCOL CONGESTION CONTROL
Xie, Qiaobing
During a Transmission Control Protocol ("TCP") session, a sending endpoint computer monitors amounts of data sent and patterns of data loss as data is sent to a receiving endpoint computer. The sending endpoint computer periodically determines whether data is being sent below, at or above path capacity, based on the monitored amounts of data sent and pattems of data loss observed. The sending endpoint computer periodically dynamically adjusts the rate at which data is sent to the receiving endpoint computer, in response to the determinations whether data is being sent below, at or above path capacity.
H04L 12/701 - Routing or path finding
SOURCE-CONSISTENT TECHNIQUES FOR PREDICTING ABSOLUTE PERCEPTUAL VIDEO QUALITY
In various embodiments, a perceptual quality application computes an absolute quality score for encoded video content. In operation, the perceptual quality application selects a model based on the spatial resolution of the video content from which the encoded video content is derived. The model associates a set of objective values for a set of objective quality metrics with an absolute quality score. The perceptual quality application determines a set of target objective values for the objective quality metrics based on the encoded video content. Subsequently, the perceptual quality application computes the absolute quality score for the encoded video content based on the selected model and the set of target objective values. Because the absolute quality score is independent of the quality of the video content, the absolute quality score accurately reflects the perceived quality of a wide range of encoded video content when decoded and viewed.
H04N 19/00 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
SYSTEMS AND METHODS OF PREDICTING CONSUMPTION OF ORIGINAL MEDIA ITEMS ACCESIBLE VIA AN INTERNET-BASED MEDIA SYSTEM
Van Zwol, Roelof
Steger, Christopher Baird
Kim, Jingu
A method for determining a subset of users to be shown pre-availability information associated with a new media item is provided. The method includes associating descriptors of a first media item, having a near-zero play-count, in a catalog of an Internet-based media system, identifying a second item having a non-zero play-count, the second item associated with a descriptor of the first item. The method includes collecting pre-availability data describing user interactions with pre-availability elements associated with the first item, the elements being accessible during an intermediate period of time prior to the first item becoming accessible, determining, based on the second item and the collected pre-availability data, a likelihood that a first user will consume the first item, and transmitting a message promoting the first item to a user device of the first user based on that likelihood. Additional systems and methods are disclosed.
H04N 21/466 - Learning process for intelligent management, e.g. learning user preferences for recommending movies
TECHNIQUES FOR IMPROVING THE QUALITY OF SUBJECTIVE DATA
In various embodiments, a subjective modeling engine mitigates inaccuracies in subjective content assessments. The subjective modeling engine generates a model that includes the subjective content assessments in addition to parameters for subjective scores and subjective factors. The subjective modeling engine initializes the parameters and then performs optimization operations that increase the likelihood that the optimized subjective scores compensate for the optimized subjective factors. Advantageously, because the subjective modeling engine jointly optimizes the subjective scores and the subjective factors, the optimized subjective scores provide unbiased and consistent digital content assessments.
H04N 21/475 - End-user interface for inputting end-user data, e.g. PIN [Personal Identification Number] or preference data
BLIND EN/DECRYPTION FOR MULTIPLE CLIENTS USING A SINGLE KEY PAIR
Mehta, Manish
Different clients encrypt secrets using a server's public RSA key, blind them using randomly generated onetime use blinding factors, and bind them to unique identifiers of corresponding client policies. Encrypted, blinded secrets bound to unique policy ids are transmitted to the server. The server processes different encrypted, blinded secrets received from different clients according to the bound policies. Processing an encrypted blinded secret can involve decrypting it using the corresponding policy id and the server' s private key, resulting in a decrypted but still blinded secret which is not readable by the server. The server can then transmit the decrypted blinded secret to one or more clients according to the policy. A client that receives the decrypted blinded secret can unblind and read the secret as plaintext, provided the client has the policy id and the unblinding factor.
H04L 9/32 - Arrangements for secret or secure communication including means for verifying the identity or authority of a user of the system
G06F 7/72 - Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations using residue arithmetic
H04L 9/30 - Public key, i.e. encryption algorithm being computationally infeasible to invert and users' encryption keys not requiring secrecy
G06F 21/10 - Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
H04N 21/4627 - Rights management
CONSTANT-SLOPE BITRATE ALLOCATION FOR DISTRIBUTED ENCODING
In one embodiment of the present invention, a bitrate allocation engine allocates bitrates for distributed encoding of source data. Upon receiving a chunk of source data, the bitrate allocation engine generates a curve based on multiple points that each specify a different visual quality level and corresponding encoding bitrate for encoding the chunk. Subsequently, the bitrate allocation engine computes an optimized encoding bitrate based on the generated curve and an optimization factor that is associated with different visual quality levels and corresponding encoding bitrates for multiple chunks of the source data. The bitrate allocation engine then causes the chunk to be encoded at the optimized encoding bitrate. Advantageously, the resulting encoded chunk is optimized with respect to the optimization factor for multiple chunks of the source data.
TECHNIQUES FOR GENERATING AND OPERATING ON IN-MEMORY DATASETS
Koszewnik, John Andrew
In various embodiments, a consumer generates and operates with an in-memory dataset. In operation, a read state application copies a snapshot associated with a source dataset from a file store to a random access memory (RAM) to generate an in-memory dataset. Notably, the source dataset has a first size, and the in-memory dataset has a second size that is smaller than the first size. The read state application then performs a read-only operation on the in-memory dataset to access one or more data values that are stored in the in-memory dataset and associated with the source dataset. When the one or more data values are accessed, the second data size of the in-memory dataset is maintained. Advantageously, some consumers that are unable to store the entire source dataset in are able to store the entire snapshot in RAM.
G06F 17/30 - Information retrieval; Database structures therefor
TECHNIQUES FOR INCORPORATING A TEXT-CONTAINING IMAGE INTO A DIGITAL IMAGE
One embodiment of the present invention sets forth a technique for incorporating a text-containing image into a digital. The technique includes analyzing a digital image to determine one or more text-allowed regions included in the digital image, and, for each of the one or more text-allowed regions, computing a numeric value based on a color contrast between pixels of a text-containing image and pixels of the text-allowed region, wherein the text-containing image is to be incorporated into one of the text-allowed regions included in the digital image. The technique further includes selecting a first text-allowed region based at least in part on the numeric value computed for each text-allowed region, and incorporating the text-containing image into the first text-allowed region included in the digital image.
G06T 11/60 - Editing figures and text; Combining figures or text
TECHNIQUES FOR GENERATING SNAPSHOTS OF DATASETS
In various embodiments, a write state application generates a snapshot that includes one or more data values associated with a source dataset. In operation, the write state application performs one or more compression operations on the source dataset to generate a first compressed record. The write state application then serializes the first compressed record and a second compressed record to generate a first compressed record list. Finally, the write state application generates the snapshot based on the first compressed record list. When the data values are accessed from the first snapshot, the size of the snapshot is maintained. Advantageously, because the size of the snapshot is smaller than the size of the source dataset, some consumers that are unable to store the entire source dataset in random access memory (RAM) are able to store the entire snapshot in RAM.
DETECTING SERVICE VULNERABILITIES IN A DISTRIBUTED COMPUTING SYSTEM
Basiri, Ali
Blohowiak, Aaron
Hochstein, Lorin
Rosenthal, Casey
One embodiment of the present invention sets forth a technique for testing microservices in distributed computing systems. The technique includes routing a first traffic sample associated with request traffic from one or more client devices to a first instance of a first service implemented in a distributed computing system, wherein the first instance generates a first plurality of request responses in response to a first plurality of data requests included in the first traffic sample and transmits the first plurality of request responses to a second service included in the sequence of services, and routing a second traffic sample associated with the request traffic to a second instance of the first service, wherein the second instance generates a second plurality of request responses in response to a second plurality of data requests included in the second traffic sample and transmits the second plurality of request responses to the second service.
G06F 11/30 - Monitoring
COMPRESSING FORWARDING TABLES
Bannister, David
One embodiment of the present invention sets forth a technique for compressing a forwarding table. The technique includes selecting, from a listing of network prefixes, a plurality of network prefixes that are within a range of a subnet. The technique further includes sorting the plurality of network prefixes to generate one or more subgroups of network prefixes and selecting a first subgroup of network prefixes included in the one or more subgroups of network prefixes. The technique further includes generating a synthetic supernet based on the first subgroup of network prefixes.
H04L 12/715 - Hierarchical routing, e.g. clustered networks or inter-domain routing
H04L 12/741 - Header address processing for routing, e.g. table lookup
H04L 12/753 - Routing tree discovery, e.g. converting from mesh topology to tree topology
CHANGE DETECTION IN A STRING REPOSITORY FOR TRANSLATED CONTENT
Mathada, Shashidhara
Moreno, Jose
Pherwani, Pragya
Sampath, Bharath
Sundaram, Vidyalakshmi Vilathur
Bhattacharyyaa, Prosenjit
A technique for translating text strings includes receiving a source language text string from an application, determining that a translated text string that includes a translation in a target language of the source language text string is not available for use by the application, transmitting the source language text string to a translation service for translation, receiving the translated text string from the translation service, and causing the translated text string to be available for use by the application.
G06F 9/44 - Arrangements for executing specific programs
LOCALIZATION PLATFORM THAT LEVERAGES PREVIOUSLY TRANSLATED CONTENT
Bhattacharyya, Prosenjit
One embodiment of the present invention sets forth a technique for translating textual content. The technique includes receiving a request to translate an element of source text from an origin language to a target language and searching a database for an element of matching text in the origin language that at least partially matches the element of source text. The technique further includes, if an element of matching text is found in the database, then reading from the database an element of previously translated text that is mapped to the element of matching text and includes at least one word that is translated into the target language, and transmitting the element of source text, the element of matching text, and the element of previously translated text to a location for translation, or if an element of matching text is not found in the database, then transmitting the element of source text to the location for translation.
DETECTING SHOT CHANGES IN A VIDEO
Tiwary, Shinjan
One embodiment of the present invention sets forth a technique for detecting a shot change in a video. The technique includes calculating a first plurality of difference values for pixel blocks included in a first video frame and a second video frame and calculating a first cumulative distribution function (CDF) based on the first plurality of difference values. The technique further includes calculating a second plurality of difference values for pixel blocks included in a first plurality of video frames that is contiguous with the first video frame and calculating a second CDF based on the second plurality of difference values. The technique further includes comparing the first CDF to the second CDF to detect a shot change.
H04N 5/14 - Picture signal circuitry for video frequency region
H04N 19/142 - Detection of scene cut or scene change
H04N 19/87 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
REGENERATING AN INTERACTIVE PAGE BASED ON CURRENT USER INTERACTION
Alvino, Christopher V.
Basilico, Justin
Wu, Chao-Yuan
Smola, Alexander J.
In various embodiments, an optimization engine regenerates items included in an interactive page while the user is interacting with the interactive page. In operation, an optimization engine displays a portion of the interactive page during a viewing session. Subsequently, the optimization engine computes a probability distribution for the viewing session over a set of interests based on model parameters and operations performed by the user during the viewing session. The optimization engine then regenerates items that are included in a second portion of the interactive page based on the probability distribution for the viewing session. The optimization engine displays a least a part of the resulting regenerated interactive page. Advantageously, by regenerating items included in the interactive page based on operations performed by the user during the viewing session, the optimization engine reduces the time required for the user to view an item that piques an interest.
H04N 21/482 - End-user interface for program selection
G06F 3/0482 - Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance interaction with lists of selectable items, e.g. menus
TECHNIQUES FOR ROBUSTLY PREDICTING PERCEPTUAL VIDEO QUALITY
Goodall, Todd
In various embodiments, a quality trainer trains a model that computes a value for a perceptual video quality metric for encoded video content. During a pre-training phase, the quality trainer partitions baseline values for metrics that describe baseline encoded video content into partitions based on genre. The quality trainer then performs cross-validation operations on the partitions to optimize hyperparameters associated with the model. Subsequently, during a training phase, the quality trainer performs training operations on the model that includes the optimized hyperparameters based on the baseline values for the metrics to generate a trained model. The trained model accurately tracks the video quality for the baseline encoded video content. Further, because the cross-validation operations minimize any potential overfitting, the trained model accurately and consistently predicts perceived video quality for non-baseline encoded video content across a wide range of genres.
ONLINE TECHNIQUES FOR ASSESSING USER INTERFACE DEPLOYMENTS IN A NETWORK-BASED MEDIA SYSTEM
Gomez-Uribe, Carlos A.
A system of assessing deployments in a network-based media system is provided herein. The system include a data storage system storing observation vectors, each observation vector being associated with an outcome indicator, and a processing device in communication with the data storage system to receive and store observation vectors and associated outcome indicators. The processing device performs operations including communicating with an endpoint device of a user to obtain information associated with the endpoint device; and transmitting an instance of a variable user interface to the endpoint device for presentation to the user via the endpoint device based on the stored observation vectors, the stored associated outcome indicators, and the obtained information associated with the endpoint device. Related systems and methods are also disclosed.
G06Q 30/02 - Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
PERSPECTIVE CORRECTION FOR CURVED DISPLAY SCREENS
One embodiment of the present invention sets forth a technique for performing perspective correction on one or more test images. The technique includes analyzing a first test image to detect a set of outer points and calculating a geometric plane equation based on the set of outer points. The technique further includes projecting a first set of points associated with a first curved screen model based on the geometric plane equation to generate a second set of points. The technique further includes comparing the second set of points to a set of inner points included in the first test image to determine at least one error value, and determining a screen curvature value based on the at least one error value.
G09G 3/00 - Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
DYNAMICALLY CROPPING DIGITAL CONTENT FOR DISPLAY IN ANY ASPECT RATIO
One embodiment of the present invention sets forth a technique for dynamically cropping image data transmitted to an endpoint device. The technique includes computing a first visual interest score for a first visual interest region within a digital image based on content included in the first visual interest region, computing a second visual interest score for a second visual interest region within the digital image based on content included in the second visual interest region, and determining that the first visual interest region is preferred over the second visual interest region based on the first visual interest score and the second visual interest score. The technique further includes setting a location within the first visual interest region as a point of visual interest and transmitting the digital image and the location of the point of visual interest to a computing device for displaying a portion of the digital image that includes the point of visual interest.
H04N 21/4402 - Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
H04N 5/262 - Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects
H04N 7/01 - Conversion of standards
TECHNIQUES FOR PERFORMING DATA RECONCILIATION IN DISTRIBUTED DATA STORE SYSTEMS
Cacciatore, Jason
Do, Minh
Kalantzis, Christos
In one embodiment, a data reconciliation engine works with data store nodes included in a distributed data store system to ensure consistency between the data store nodes. In operation, the data reconciliation receives a different data snapshot from each of the data store nodes. In response, the data reconciliation engine generates one or more recommendations designed to resolve inconsistencies between the data snapshots. The data reconciliation engine then transmits each recommendation to a different data store node. Because the data reconciliation engine performs many of the resource-intensive operations included in the data reconciliation process, the resources of the data store nodes may focus primarily on processing client requests instead of performing data reconciliation operations. Consequently, unlike conventional data store node based reconciliation applications, the data reconciliation engine may process large volumes of data without unacceptably increasing the time required for the distributed data store system to respond to client requests.
FORWARDING TABLE COMPRESSION
One embodiment of the present invention sets forth a technique for compressing a forwarding table. The technique includes storing a first network prefix and a first set of routing information associated with the first network prefix in a routing table, and writing the first network prefix from the routing table to a first entry included in a forwarding table. The technique further includes storing a second network prefix and a second set of routing information associated with the second network prefix in the routing table. The second network prefix is covered by the first network prefix. The technique further includes, based on comparing the first set of routing information to the second set of routing information, determining that the second network prefix should not be written from the routing table to the forwarding table, or removing the second network prefix from the forwarding table.
One embodiment of the present invention sets forth a technique for correcting color values. The technique includes downsampling first color space values to generate downsampled color space values and upsampling the downsampled color space values to generate second color space values. The technique further includes modifying at least one component value included in the downsampled color space values based on a first component value included in the first color space values, a second component value included in the second color space values, and an approximation of a nonlinear transfer function.
H04N 19/86 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
H04N 19/10 - Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
TECHNIQUES FOR DETERMINING CLIENT-SIDE EFFECTS OF SERVER-SIDE BEHAVIOR USING CANARY ANALYSIS
In one embodiment of the present invention, a sticky canary router routes each request associated with a service to either a canary cluster of servers that implement a modification to the service or a baseline cluster of servers that do not implement the modification. The sticky canary router implements a mapping algorithm that determines the routing of each request based on a current time, a time window for the routing, and a characteristic of the request. Notably, the mapping algorithm may be implemented such that, for time segments with duration equal to the time window, the sticky canary router routes all requests received from a particular device in a consistent fashion – either to the canary cluster or to a baseline cluster. Configured thusly, the sticky canary router enables the analysis of approximately full sections of client interactions with the canary servers, thereby facilitating identification of client-side effects of the changes.
SYSTEMS AND METHODS FOR SECURITY AND RISK ASSESSMENT AND TESTING OF APPLICATIONS
Hoernecke, Andy
Chan, Jason
Provided herein are systems and methods for monitoring and assessing the security and risk presented by applications deployed in a complex computing environment. An exemplary application security system includes a server having a processing device in communication with storage systems, computing devices executing application instances configured to receive and transmit information over a network, and a security testing system including a first test module that is associated with a first application, which is associated with one or more of the application instances. The processing device of the server retrieves information about the first application, including current dependency information of the first application, calculates a security risk score for the first application based on the information, determines a security priority level associated with first application, and associates the security priority level of the first application with the first application in a database of application security information.
G06Q 10/10 - Office automation, e.g. computer aided management of electronic mail or groupware; Time management, e.g. calendars, reminders, meetings or time accounting
G06Q 10/06 - Resources, workflows, human or project management, e.g. organising, planning, scheduling or allocating time, human or machine resources; Enterprise planning; Organisational models
SYSTEMS AND METHODS FOR FRAUDULENT ACCOUNT DETECTION AND MANAGEMENT
Peram, Rudra
Provided herein are systems and methods of monitoring account activity in a streaming media environment. An exemplary system includes a monitoring system, an account creation and management system, and an account payment system. The monitoring system is coupled to the account creation and management system and the account payment system via a network. The processing device of the monitoring system retrieves account information for a first user account. Account information includes user consumption information and user payment information associated with the first user account. The processing device determines a fraudulent account score for the first user account based on at least one of the user consumption information, the user payment information, and account identification information. When the fraudulent account score exceeds an upper threshold, the processing device automatically deletes the first user account from at least one of the account creation and management system and the accounts payment system.
MITIGATING DRIFT IN AUDIOVISUAL ASSETS
Chakrovorthy, Sreeram
Sutherland, Harold
One embodiment of the present invention sets forth a technique for mitigating drift in audiovisual assets. The technique includes determining that an edit associated with a presentation timeline is within boundaries of a video frame. The technique further includes calculating a temporal drift associated with the edit, where the temporal drift comprises a duration of time between the edit and a boundary of the video frame. The technique further includes determining whether to include the video frame in the presentation timeline based on the temporal drift and an accumulated temporal drift associated with the presentation timeline.
H04N 21/434 - Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams or extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
H04N 21/2368 - Multiplexing of audio and video streams
SERVER OUTLIER DETECTION
Rapoport, Roy
Sanden, Christopher
Rioux, Cody
Burrell, Gregory
One embodiment of the invention disclosed herein provides techniques for detecting and remediating an outlier server in a distributed computer system. A control server retrieves a group of time-series data sets associated with a first time period, where each time-series data set represents a performance metric for a different server in a group of servers. The control server generates a cluster that includes two or more of the time-series data sets, where the performance metric for each server that is associated with one of the time-series data sets in the cluster is within a threshold distance from the performance metric for the servers that are associated with the other time-series data sets in the cluster. The control server determines that a particular time-series data set corresponds to a server included in the group of servers and is not included in the cluster, and marks the server as an outlier server.
G06F 11/34 - Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation
DETERMINING NATIVE RESOLUTIONS OF VIDEO SEQUENCES
In one embodiment of the present invention, a native resolution analyzer generates a log-magnitude spectrum that elucidates sampling operations that have been performed on a scene. In operation, the native resolution analyzer performs a transform operation of a color component associated with a frame included in the scene to generate a frame spectrum. The native resolution analyzer then normalizes the magnitudes associated with the frame spectrum and logarithmically scales the normalized magnitudes to create a log-magnitude frame spectrum. This two dimensional log-magnitude frame spectrum serves as a frequency signature for the frame. More specifically, patterns in the log-magnitude spectrum reflect re-sampling operations, such as a down-sampling and subsequent up-sampling, that may have been performed on the frame. By analyzing the log-magnitude spectrum, discrepancies between the display resolution of the scene and the lowest resolution with which the scene has been processed may be detected in an automated fashion.
G11B 27/28 - Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
H04N 21/81 - Monomedia components thereof
MANAGING NETWORKS AND MACHINES THAT DELIVER DIGITAL CONTENT
Fedorov, Sergey
Praszalowicz, Stefan
In one embodiment of the present invention, a content delivery network (CDN) monitoring system manages a CDN. The CDN monitoring system includes finite state machines (FSMs), and the current states of the FSMs reflect characteristics and/or behaviors associated with the CDN. In operation, the CDN monitoring system computes actions based on current states and/or metrics associated with the CDN. The actions may cause one or more of the FSMs execute state transitions. As part of a state transition, the current state of the FSM changes and an event is generated. The event triggers an event handler that may perform any type of management operations, such as generating performance reports and rerouting client requests. Notably, because each current state may be an aggregation of other current states, the CDN monitoring system may be configured to compute current states that accurately represent complex interactions between components within the CDN.
H04L 12/24 - Arrangements for maintenance or administration
TECHNIQUES FOR PREDICTING PERCEPTUAL VIDEO QUALITY
Kim, Dae
Lin, Yu-Chieh
Ronca, David
Schuler, Andy
Tsao, Kuyen
Wu, Chi-Hao
In one embodiment of the present invention, a quality trainer and quality calculator collaborate to establish a consistent perceptual quality metric via machine learning. In a training phase, the quality trainer leverages machine intelligence techniques to create a perceptual quality model that combines objective metrics to optimally track a subjective metric assigned during viewings of training videos. Subsequently, the quality calculator applies the perceptual quality model to values for the objective metrics for a target video, thereby generating a perceptual quality score for the target video. In this fashion, the perceptual quality model judiciously fuses the objective metrics for the target video based on the visual feedback processed during the training phase. Since the contribution of each objective metric to the perceptual quality score is determined based on empirical data, the perceptual quality score is a more accurate assessment of observed video quality than conventional objective metrics.
G06T 9/00 - Image coding
SOFTWARE DEPENDENCY SHADING
Schneider, Jonathan
Thomas, Daniel
Spieldenner, Robert
Mcgarr, Michael
In one embodiment of the present invention, a shading engine enables multiple versions of dependencies to coexist in an executable software application. During the software build process, the shading engine dynamically renames transitive dependencies of the software application to disambiguated names. The shading engine performs this renaming at both the library and class level. Notably, the shading engine does not rename the first-order dependencies of the software application. Consequently, the code of the software application and interfaces between the software application and the first-order library dependencies of the software application are not modified. Notably, the shading engine efficiently and accurately shades the transitive dependencies without manual intervention. By contrast, primarily manually-based conventional approaches to dependency management are time consuming and susceptible to errors.
G06F 9/445 - Program loading or initiating
TIERED CACHE FILLING
Chen, Andrew
Brand, Christopher
Ellis, Daniel P.
Gutarin, Alex
One embodiment of the present invention sets forth a technique for replicating a file within a network of servers. The technique includes determining one or more regional master servers included in a regional cluster of servers and causing each regional master sever to retrieve a file from a fill source. The technique further includes, for at least one local cluster of servers included in the regional cluster of servers, determining one or more local master servers included in the at least one local cluster of servers, and causing each local master server to retrieve the file from one of the one or more regional master servers.
GLOBAL RECOMMENDATION SYSTEMS FOR OVERLAPPING MEDIA CATALOGS
Todd, Michael
Elahi, Ehtsham
Fenton, Aish
Uribe, Carlos Gomez
A computer-implemented method and a system for implementation the method are provided. The method includes receiving user activity data for a first set of users of a streaming media system, in which the first set of users having access to a first catalog. Additional user activity data for a second set of users is received. The second set of users has access to a second catalog, which includes media items also present in the first catalog. The second catalog further includes an exclusive media item that is not included in the first catalog. A probability that a user of the first set of users would play the exclusive media item if presented by the streaming media system with the exclusive media item is determined. Information is provided o a user of the second set of users as a recommendation to play the exclusive media item based on the probability.
TECHNIQUES FOR OPTIMIZING BITRATES AND RESOLUTIONS DURING ENCODING
In one embodiment of the present invention, an encoding bitrate ladder selector tailors bitrate ladders to the complexity of source data. Upon receiving source data, a complexity analyzer configures an encoder to repeatedly encode the source data-setting a constant quantization parameter to a different value for each encode. The complexity analyzer processes the encoding results to determine an equation that relates a visual quality metric to an encoding bitrate. The bucketing unit solves this equation to estimate a bucketing bitrate at a predetermined value of the visual quality metric. Based on the bucketing bitrate, the bucketing unit assigns the source data to a complexity bucket having an associated, predetermined bitrate ladder. Advantageously, sagaciously selecting the bitrate ladder enables encoding that optimally reflects tradeoffs between quality and resources (e.g., storage and bandwidth) across a variety of source data types instead of a single, "typical" source data type.
DETECTING SEGMENTS OF A VIDEO PROGRAM
Kansara, Apurvakumar
In an embodiment, a data store storing a first video and a second video that is associated with the first video; a computer processor coupled to the data store and programmed to: generate a first model fingerprint of the first video, based on pixels in a first model frame in a first model segment of the first video stored in the data store; generate a first test fingerprint of the second video based on pixels in a first test frame in the second video stored in the data store; determine a first closeness value between the first model fingerprint and the first test fingerprint; determine, based on the first closeness value, whether the first test frame is a first boundary of a first segment in the second video, wherein the first segment in the second video is similar to the first model segment in the first video.
H04N 21/00 - Selective content distribution, e.g. interactive television or video on demand [VOD]
TECHNIQUES FOR IDENTIFYING ERRORS INTRODUCED DURING ENCODING
Ma, Zhonghua
In one embodiment of the present invention, an encode validator identifies and classifies errors introduced during the parallel chunk-based translation of a source to a corresponding aggregate encode. In operation, upon receiving a source for encoding, a frame difference generator creates a frame difference file for the source. A parallel encoder then distributes per-chunk encoding operations across machines and creates an aggregate encode. The encode validator decodes the aggregate encode and creates a corresponding frame difference file. Subsequently, the encode validator performs phase correlation operations between the two frame difference files to detect errors generated by encoding process faults (i.e., dropping a frame, etc.) while suppressing discrepancies inherent in encoding, such as those attributable to low bit-rate encoding. Advantageously, since the encode validator leverages frame difference files, this indirect verification technique enables efficient debugging of parallel encoding processes in which the complete source is unavailable for post-encode analysis.
FAILURE RECOVERY MECHANISM TO RE-ESTABLISH SECURED COMMUNICATIONS
Zollinger, James Mitch
Miaw, Wesley
Embodiments of the present invention include techniques for reestablishing a secure communication channel between a client machine and a server machine. A client machine receives, from a server machine, a first message generated in connection with a first master token. The client machine detects an error condition associated with the first message. The client machine transmits, to the server machine, a second message generated in connection with a pre-provisioned key that includes a request for a new master token. The client machine receives, from the server machine, a third message that includes a second master token. The client machine transmits, to the server machine, a fourth message generated in connection with the second master token.
EFFICIENT START-UP FOR SECURED CONNECTIONS AND RELATED SERVICES
Zollinger, James, Mitch
One embodiment of the present invention includes an approach for efficient start-up for secured connections and related services. A client machine receives, via an application program, a request to send a secure message to a server machine. The client machine transmits a plurality of messages to the server machine that includes a first message comprising at least two of user authentication data, entity authentication data, key exchange data, and encrypted message data. The client machine receives, from the server machine, a second message that includes a first master token comprising a first set of session keys for encrypting and authenticating messages exchanged with the server machine.
SECURE COMMUNICATION CHANNEL WITH TOKEN RENEWAL MECHANISM
One embodiment of the present invention includes a server machine configured to establish a secure communication channel with a client machine via renewable tokens. The server machine receives a plurality of messages from a client machine over a secure communication channel, where the plurality of messages includes a first message that includes at least two of user authentication data, entity authentication data, first key exchange data, and encrypted message data. The server machine transmits, to the client machine, a second message that includes a master token comprising second key exchange data associated with the first key exchange data and at least one of a renewal time and an expiration time.
DISTRIBUTED TRAFFIC MANAGEMENT SYSTEM AND TECHNIQUES
Udupi, Poornaprajna
Approaches, techniques, and mechanisms are disclosed for implementing a distributed firewall. In an embodiment, many different computer assets police incoming messages based on local policy data. This local policy data is synchronized with global policy data. The global policy data is generated by one or more separate analyzers. Each analyzer has access to message logs, or information derived therefrom, for groups of computer assets, and is thus able to generate policies based on intelligence from an entire group as opposed to an isolated asset. Among other effects, some of the approaches, techniques, and mechanisms may be effective even in computing environments with limited supervision over the attack surface, and/or computing environments in which assets may need to make independent decisions with respect to how incoming messages should be handled, on account of latency and/or unreliability in connections to other system components.
AUTOMATIC DETECTION OF PREFERENCES FOR SUBTITLES AND DUBBING
Wilson, Haley
Wu, Eddy
Makharia, Ritesh
Rahman, Taskin
Fisher-Ogden, Philip
In an approach, a server computer receives a request from a client computer specifying content for a user, wherein the content is associated with an original language. In response to receiving the request, the server computer selects a preferred audio language and a preferred subtitle language for the content based on a record of a database. The server computer returns data that the client computer uses to obtain the content using the preferred audio language and the preferred subtitle language from a content delivery network (CDN). The server computer receives a message from the client computer that identifies a presented audio language and a presented subtitle language that were presented to the user. In response to a determination that the presented audio language differs from the preferred audio language or that the presented subtitle language differs from the preferred subtitle language, the server computer updates the particular record.
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
H04N 21/488 - Data services, e.g. news ticker
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/658 - Transmission by the client directed to the server
SELECTING AND ORDERING GROUPS OF TITLES
Alvino, Christopher
Gomez-Uribe, Carlos
Hammond, Che
Stipins Iii, Janis
Techniques for selecting and ordering groups of titles to present as recommendations. In one embodiment, for example, a method performed by one or more computing devices of an online services comprises selecting, for each of a plurality of row positions, a group of titles to fill the row position based at least in part on a relevance score computed for the group of titles. The relevance score is based at least in part on a personalized ranking for a particular user of titles in the groups in titles selected to fill the row positions. The groups of titles selected to fill to the row positions are presented as recommendations to the particular user as a sequence of rows in which each row in the sequence corresponds to one of the selected groups of titles.
G06Q 30/06 - Buying, selling or leasing transactions
DISPLAYING DATA ASSOCIATED WITH A PROGRAM BASED ON AUTOMATIC RECOGNITION
Garcia-Shelton, Tussanee
Huang, Shihchi
Wu, Christine Suejane
In one approach, a controller computer performs a pre-processing phase involves applying automatic facial recognition, audio recognition, and/or object recognition to frames or static images of a media item to identify actors, music, locations, vehicles, and props or other items that are depicted in the program. The recognized data is used as the basis of queries to one or more data sources to obtain descriptive metadata about people, items, and places that have been recognized in the program. The resulting metadata is stored in a database in association with time point values indicating when the recognized things appeared in the particular program. Thereafter, when an end user plays the same program using a first- screen device, the stored metadata is downloaded to a second-screen device of the end user. When playback reaches the same time point values on the first-screen device, one or more windows, panels or other displays are formed on the second- screen device to display the metadata associated with those time point values.
H04N 21/41 - Structure of client; Structure of client peripherals
H04N 21/43 - Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronizing decoder's clock; Client middleware
H04N 21/8547 - Content authoring involving timestamps for synchronizing content
G11B 27/034 - Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
USING CANARY INSTANCES FOR SOFTWARE ANALYSIS
Tuffs, Philip, Simon
Tseitlin, Ariel
Techniques for evaluating a second version of software. Embodiments selectively route incoming requests to software instances within a plurality of baseline instances and a plurality of canary instances, where the baseline instances run a first software version and the canary instances run the second software version. The software instances are monitored to collect performance data for a plurality of performance metrics. Embodiments calculate aggregate baseline performance metrics, where each of the aggregate baseline performance metrics is calculated based on the collected performance data for the plurality of baseline instances. For each of the performance metrics and canary instances, embodiments calculate a relative performance value that measures the collected performance data for the respective canary instance and for the respective performance metric, relative to the corresponding aggregate baseline performance metric. A final measure of performance is calculated for the second version of software, based on the relative performance values.
EVALUATION OF PATHS THROUGH GRAPH-BASED DATA REPRESENTATION
Husain, Jafar
Embodiments of the invention generally provide a method, a computing system, and a computer-readable medium configured to respond to requests for payload data and provide unique cache keys for caching the payload data. The computer-implemented method includes accepting a first request for translation that specifies a first path configured to identify first payload data associated with a graph object. The computer-implemented method further includes determining that the graph object includes a first translation node associated with a first portion of the first path. The computer-implemented method also includes obtaining, from the graph object, a second path that is associated with the first translation node. The computer-implemented method further includes replacing the first portion of the first path with the second path to generate a first translated path. The computer-implemented method also includes obtaining, from the graph object, the first payload data, based on the first translated path.
SITE-BASED SERVER SELECTION
Wei, Wei
In an embodiment, a method comprises receiving a first data streamed from a first server computer at a first site; collecting a first throughput data for the first site based, at least in part, on a first throughput of the first data streamed from the first server computer; receiving a second data streamed from a second server computer at a second site; collecting a second throughput data for the second site based, at least in part, on a second throughput of the second data streamed from the second server computer; switching from the second server computer at the second site, to a third server computer at the first site, based, at least in part, on a comparison between the first throughput data and the second throughput data; wherein the method is performed by one or more special-purpose computing devices.
PARTITIONING STREAMING MEDIA FILES ON MULTIPLE CONTENT DISTRIBUTION NETWORKS
Hunt, Neil D.
Funge, John
Park, Anthony N.
Techniques are disclosed for generating preference rankings in response to requests for streaming media content received from client devices. The preference rankings are used to indirectly partition streaming media content across different content distribution networks (CDNs). Such partitions may be referred to as a "soft" partition, as all of the streaming media content remains available from each CDN. That is, the partitioning of content across CDNs is not absolute, and any content item may be requested from any CDN. Doing so ensures that content remains available even where the preferred CDN for a given content item fails, while at the same time increasing the probability of a cache hit at the CDNs, without increasing the cost or the actual cache sizes of the content caches of different CDNs.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
ipowner home
onscope home
about ipowner
© 2021 Onscope Group Inc. All rights reserved.