US Pat. No. 10,311,215

SECURE RECORDING AND RENDERING OF ENCRYPTED MULTIMEDIA CONTENT

Adobe Inc., San Jose, CA...

1. A computer-implemented secure content playback method comprising:receiving, at a playback device, from a content repository, an encrypted content item that is identified by a content item identifier, wherein the encrypted content item includes a first validation hash;
sending, from the playback device to an authorization server, a playback authorization token request that includes a user identifier and the content item identifier;
receiving, at the playback device, from the authorization server, a playback authorization token;
sending, from the playback device to a key management server, a playback license request that includes the playback authorization token and a playback device identifier associated with the playback device;
receiving, at the playback device, from the key management server, a playback license that includes a content key;
decrypting the content item using the content key;
generating a second validation hash based on the decrypted content item;
verifying that the first and second validation hashes match;
causing the decrypted content item to be rendered on a display screen associated with the playback device;
making a determination that the content item is no longer being rendered on the display screen; and
in response to making the determination, sending a notification from the playback device to the authorization server, the notification indicating that the playback license is released.

US Pat. No. 10,306,285

SELECTING VIDEO ADVERTISEMENTS BASED ON ADVERTISEMENT QUALITY

ADOBE INC., San Jose, CA...

1. A method for selecting video advertisements, the method comprising:obtaining, using an advertisement quality manager, advertisement quality associated with a plurality of video advertisements, each advertisement quality associated with a particular video advertisement indicating a probability a viewer will continue viewing a portion of a video following presentation of the particular video advertisement presented in association with the video;
selecting, using an advertisement selection manager, at least one of the plurality of video advertisements for presentation along with the video based on the advertisement quality associated with the plurality of video advertisements, a slot-specific continuation probability indicating whether the viewer is likely to view a first video advertisement in an advertisement slot given that the viewer has viewed a second video advertisement in a previous advertisement slot, and advertisement costs indicating a cost for each of the plurality of video advertisements; and
providing the selected video advertisements for integration of the selected video advertisements with the video for presentation to the viewer.

US Pat. No. 10,235,897

PROVIDING DRAWING ASSISTANCE USING FEATURE DETECTION AND SEMANTIC LABELING

ADOBE INC., San Jose, CA...

1. A non-transitory computer readable medium storing instructions thereon for providing drawing assistance to users sketching designs that, when executed by at least one processor, cause a computer system to:generate a guidance map for a design;
provide the design on via a touch screen;
detect a stroke drawn by a user on the touch screen over the design;
identify a portion of the guidance map corresponding to the stroke;
generate a geometrically-corrected stroke by moving the stroke drawn by the user toward a position of the identified portion of the guidance map; and
render the geometrically-corrected stroke on the touch screen in place of the stroke drawn by the user.

US Pat. No. 10,311,913

SUMMARIZING VIDEO CONTENT BASED ON MEMORABILITY OF THE VIDEO CONTENT

Adobe Inc., San Jose, CA...

1. A method for summarizing video content based on memorability of the video content, the method performed by one or more processing devices and comprising:accessing segments of an input video;
computing memorability scores for the segments, respectively, wherein computing a memorability score for a segment comprises:
generating (i) a semantic feature computed from an auto-captioning operation applied to the segment and (ii) a visual feature computed from one or more of a saliency analysis operation applied to the segment, a color analysis operation applied to the segment, and a spatio-temporal analysis operation applied to the segment,
computing a first component score by applying a first predictor to the semantic feature, where the first predictor is trained to determine first component memorability scores by comparing user-generated memorability values with training semantic features generated by the auto-captioning operation,
computing a second component score by applying a second predictor to the semantic feature, where the second predictor is trained to determine second component memorability scores by comparing the user-generated memorability values with training visual features generated by the one or more of the saliency analysis operation, the color analysis operation, and the spatio-temporal analysis operation, and
computing the memorability score from an averaging operation applied to the first component score and the second component score;
selecting a subset of segments from the segments based on each computed memorability score in the subset having a threshold memorability score; and
generating visual summary content from the subset of the segments.

US Pat. No. 10,304,079

ORGANIZATION OF CAMPAIGN PERFORMANCE DATA SNAPSHOT CARDS IN CARD FEEDS AND CARD BOARDS

Adobe Inc., San Jose, CA...

1. A method of distributing data generated in an online marketing campaign, the method comprising:receiving, by a campaign manager platform, marketing data generated by a plurality of campaign applications that includes a digital analytics application and a social marketing application;
using the received marketing data to generate a plurality of data cards, each of which comprises a relatively smaller user interface that presents a portion of the marketing data in a graphical format;
transmitting, to each of a first plurality of client computers associated with a corresponding first plurality of users, a user-specific card feed that includes a corresponding user-specific subset of the data cards,
wherein the subset of data cards in a particular user's card feed presents marketing data generated by one or more of the campaign applications with which the particular user has interacted,
wherein the subset of data cards in the particular user's card feed includes an application launch card having a hyperlink that launches one of the plurality of campaign applications,
wherein each of the user-specific card feeds comprises a first relatively larger user interface that includes at least a portion of the corresponding user-specific subset of data cards arranged in a first array, and
wherein the first relatively larger user interface is larger than the relatively smaller user interface;
transmitting, to each of a second plurality of client computers associated with a corresponding second plurality of users that constitutes a subscribed user group, a shared card board that includes a subscribed subset of the data cards,
wherein one or more of the data cards in the subscribed subset was selected by at least one of the second plurality of users from a user-specific card feed that was transmitted to one of the second plurality of client computers,
wherein a particular one of the data cards is included in both (a) the particular user's card feed, and (b) the shared card board for a particular subscribed user group that includes the particular user, such that a modification to data reflected in the particular data card is viewable in both the particular user's card feed and the shared card board for the particular subscribed user group,
wherein each shared card board comprises a second relatively larger user interface that includes at least a portion of the subscribed subset of data cards arranged in a second array, and
wherein the second relatively larger user interface is larger than the relatively smaller user interface;
receiving an interaction history update indicative of an interaction between the particular user and a particular one of the campaign applications;
in response to receiving the interaction history update, modifying the particular user's card feed to include a data card presenting marketing data generated by the particular campaign application, wherein before such modification the particular user's card feed did not include any data cards presenting marketing data generated by the particular campaign application; and
receiving an invitation from the particular user, wherein the invitation represents permission to allow a second user to view the shared card board.

US Pat. No. 10,229,715

AUTOMATIC HIGH QUALITY RECORDINGS IN THE CLOUD

ADOBE INC., San Jose, CA...

1. A system comprising a session host device including:a memory;
at least one processor coupled to the memory; and
a cloud-based service executable by the at least one processor and configured to:
receive, within an interactive, real time communication session, a plurality of streams including lossy audio signals from a plurality of session client devices;
store lossy audio tracks associated with the lossy audio signals in a first multitrack file, thereby creating a low quality recording of a conversation between a plurality of participants associated with the plurality of session client devices;
receive a plurality of packets of including high quality audio signals from the plurality of session client devices, the high quality audio signals being either losslessly compressed or uncompressed;
store high quality audio tracks associated with the high quality audio signals in a second multitrack file; and
align temporal locations of the high quality audio tracks within the second multitrack file to match temporal locations of the lossy audio tracks within the first multitrack file, thereby creating a high quality recording of the conversation.

US Pat. No. 10,313,248

DATA FLOW NODE VALIDATION

Adobe Inc., San Jose, CA...

1. A method comprising:receiving a selection, generated via user interaction with a graphical user interface of at least one computing device, indicating an addition to or removal of a node to or from a data flow pipeline as then having a plurality of nodes as a result of the selection, the plurality of nodes of the pipeline configured to process, originate, or receive streaming data that flows from at least one input data source accessible via a network, the data flow pipeline representing an execution graph of algorithm actions performed by the plurality of nodes as implemented by a processing system and non-transitory computer-readable storage media;
obtaining, by the at least one computing device, live samples in real time from the plurality of nodes responsive to the receipt of the selection indicating the addition to or removal of the node to or from the data flow pipeline;
generating, by the at least one computing device, a real-time online estimation of expected data flow rates through the plurality of nodes of the data flow pipeline by processing the obtained live samples;
validating, automatically and without user intervention by the at least one computing device in real time, whether the expected data flow rates through the plurality of nodes of the data flow pipeline comply with predefined supported data flow rates based at least in part on the online estimation;
outputting, by the at least one computing device in response to the validating, a visual indication indicative of the data flow rates through the plurality of nodes of the data flow pipeline in real-time corresponding to the node addition to or node removal from the data flow pipeline; and
adjusting, by the at least one computing device automatically and without user intervention in real time responsive to the validating, the data flow pipeline by adding another node to or removing at least one of the plurality of nodes from the data flow pipeline.

US Pat. No. 10,311,467

SELECTING DIGITAL ADVERTISING RECOMMENDATION POLICIES IN LIGHT OF RISK AND EXPECTED RETURN

ADOBE INC., San Jose, CA...

1. In a digital medium environment for identifying and deploying digital advertising campaigns across a plurality of client devices, where campaigns can be altered, removed, or replaced on demand, a computer-implemented method of using risk-sensitive, lifetime value optimization based on a conditional value at risk measure to improve accuracy, efficiency, and stability in selecting and executing ad recommendation policies comprising:identifying, at a server, a risk-tolerance value indicating a measure of permissible variance for ad recommendation policies in a digital content campaign, the risk-tolerance value corresponding to a conditional value at risk;
identifying a set of user data indicating prior interactions by user client devices in relation to digital advertisements of one or more digital content campaigns;
determining, by the server, an optimized ad recommendation policy subject to the risk-tolerance value by converging a policy parameter and a risk parameter, the risk parameter indicating policy conditional value at risk, to identify the optimized ad recommendation policy such that the optimized ad recommendation policy satisfies the conditional value at risk by:
determining a gradient for the policy parameter by sampling the set of user data;
determining a gradient for the risk parameter by sampling the set of user data;
using the determined gradient for the risk parameter to select an updated risk parameter that indicates updated policy conditional value at risk; and
using the determined gradient for the policy parameter to identify an updated policy parameter; and
in response to determining the optimized ad recommendation policy, executing the digital content campaign subject to the risk-tolerance value corresponding to the conditional value at risk by providing digital advertisements to client devices in accordance with the optimized ad recommendation policy.

US Pat. No. 10,311,237

MECHANISM TO SYNCHRONIZE CLIENTS IN A DIGITAL RIGHTS MANAGEMENT ENVIRONMENT

Adobe Inc., San Jose, CA...

1. A method for implementing digital rights management for media content comprising:receiving, at a client device from a publisher device via a data network, media content for consumption on the client device, wherein an electronic license and a license executable are embedded within the media content, the electronic license providing access to the media content during a license period;
executing, by the client device, the license executable, wherein execution of the license executable causes the license executable to:
send, via the data network, a request for a current time to a heartbeat server, the heartbeat server being separate from the client device,
receive, via the data network, the current time from the heartbeat server, and
determine whether the license period has expired based at least in part on the current time received via the data network from the heartbeat server; and
terminating, by the client device, access to the media content in response to the license executable determining that the license period has expired.

US Pat. No. 10,268,698

SYNCHRONIZING DIFFERENT REPRESENTATIONS OF CONTENT

Adobe Inc., San Jose, CA...

1. A method comprising:storing, by a computing device, a single-file representation of content and a composite representation of the content that is different than the single-file representation, the single-file representation including a plurality of layers of the content, the composite representation including:
a plurality of components including, respectively, different layers of the plurality of layers; and
a manifest identifying the plurality of components;
receiving, by the computing device, a request via a network for the single-file representation from a different computing device;
sending, by the computing device, the single-file representation via the network to the different computing device responsive to receiving the request;
receiving, by the computing device, a modification via the network for the single-file representation from the different computing device;
determining, by the computing device, whether the composite representation has been modified since generation of the single-file representation;
generating, by the computing device, an updated version of the single-file representation based on the modification in response to determining the composite representation has not been modified;
receiving, by the computing device, a request via the network for a component of the plurality of components of the composite representation from another different computing device;
generating, by the computing device, an updated version of the composite representation based on the updated version of the single-file representation; and
returning, by the computing device, the requested component from the updated version of the composite representation via the network to the another different computing device.

US Pat. No. 10,229,094

DYNAMIC SIMULATION OF A RESPONSIVE WEB PAGE

Adobe Inc., San Jose, CA...

1. A computer-implemented method for simulating a structured document, the method comprising:determining a visual layout of a browser presentation of a structured document in accordance with a style property associated with and specific to a first type of media device, wherein the style property is encoded in a set of presentation semantics;
identifying a media-dependent style rule encoded in the set of presentation semantics and associated with the style property, wherein the media-dependent style rule is separate from the style property;
determining that the display requirement of the first type of media device satisfies the media-dependent style rule;
sending, based on the determination, the laid out structured document including the style property specific to the first type of media device but excluding the media-dependent style rule to a web browser executing on a second type of media device for rendering the style property on the second type of media device, the first type of media device having a different display requirement than the second type of media device; and
causing the web browser executing on the second type of media device to render the laid out structured document on a display device.

US Pat. No. 10,255,699

GENERATING A CURATED DIGITAL ANALYTICS WORKSPACE

ADOBE INC., San Jose, CA...

1. In a web-based, digital medium environment that gathers, manipulates, and presents digital data to a plurality of computing devices, a method of curating and presenting an analytic workspace within a graphical user interface comprising:providing, via a user interface of a first client device, a digital analytics workspace that provides access to and allows manipulation of a first set of data elements to create analytics visualizations;
generating, by at least one processor and based on user input received via the digital analytics workspace, one or more analytics visualizations using a plurality of data elements of the first set of data elements;
receiving, via the first client device, a request to share the one or more analytics visualizations;
in response to receiving the request to share the one or more analytics visualizations and based on the plurality of data elements of the first set of data elements utilized to generate the one or more analytics visualizations:
automatically selecting a curated set of data elements comprising some but not all of the first set of data elements and at least one additional data element not included in the plurality of data elements utilized to generate the one or more analytics visualizations; and
generating, by the at least one processor, a curated digital analytics workspace for utilization by a second client device, wherein the curated digital analytics workspace includes the one or more analytics visualizations, limits access of the second client device to only the curated set of data elements comprising some but not all of the first set of data elements and at least one additional data element not included in the plurality of data elements utilized to generate the one or more analytics visualizations, and allows manipulation of the one or more analytics visualizations using only the curated set of data elements.

US Pat. No. 10,176,818

SOUND PROCESSING USING A PRODUCT-OF-FILTERS MODEL

Adobe Inc., San Jose, CA...

1. A method comprising:forming, by at least one computing device, a model of sound data for a time frame of the sound data, the model including a product of filters having a first plurality of filters and a second plurality of filters, the first plurality of filters modeling excitation sources describing pitch parameters, the second plurality of filters modeling a vocal tract describing timbral quality parameters, the forming including interchanging some filters between the first plurality of filters and the second plurality of filters;
learning, by the at least one computing device, activations for the product of filters based on the sound data;
expanding, by the at least one computing device, a bandwidth of the sound data by combining the activations and full-bandwidth filters of the product of filters to form a full-bandwidth sound signal; and
outputting, by the at least one computing device, a result of the performing of the at least one sound processing technique including the full-bandwidth sound signal.

US Pat. No. 10,254,913

SELECTION EDITING USING A LOCALIZED LEVEL SET ALGORITHM

Adobe Inc., San Jose, CA...

1. A method for defining a selection region in a source image, the method comprising:displaying, on a display device, a selection cursor over the source image, the selection cursor having an interior region and a peripheral region; and
locating an initial position of a selection mask boundary in a portion of the source image that is overlaid by the peripheral region of the selection cursor,
wherein the initial position of the selection mask boundary is at least partially based on a boundary that is detected as a result of selectively applying a boundary detection algorithm to the portion of the source image that is overlaid by the peripheral region of the selection cursor, and
wherein the boundary detection algorithm is not applied in a portion of the source image that is overlaid by the interior region of the selection cursor.

US Pat. No. 10,289,656

EFFICIENTLY RELOCATING OBJECTS WITHIN A DIGITAL DOCUMENT TO AN EQUIDISTANT POSITION RELATIVE TO REFERENCE OBJECTS

ADOBE INC., San Jose, CA...

1. In a digital medium environment for creating and manipulating digital illustrations, a computer-implemented method of automatically and efficiently snapping art objects to an equidistant location between other art objects, the method comprising:identifying objects within a digital document, the objects comprising a subject object and a plurality of reference objects;
in response to detecting a movement of the subject object to a first position within the digital document:
generating a first set of overlapping objects from the reference objects by determining reference objects that overlap a first region projected from the subject object in a first direction;
generating a second set of overlapping objects from the reference objects by determining reference objects that overlap a second region projected from the subject object in a second direction, opposite the first direction;
traversing through the first set of overlapping objects and the second set of overlapping objects based on distance from the subject object to identify an equidistant position between a first overlapping object from the first set of overlapping objects and a second overlapping object from the second set of overlapping objects that satisfies a threshold tolerance corresponding to the first position; and
moving the subject object within the digital document from the first position to the equidistant position.

US Pat. No. 10,255,628

ITEM RECOMMENDATIONS VIA DEEP COLLABORATIVE FILTERING

Adobe Inc., San Jose, CA...

1. A computer-implemented method for providing item recommendations to a user device of a user, the method comprising:receiving a user-item rating matrix, user side information, and item side information;
generating, using a processor, learned user latent factors and learned item latent factors by jointly:
(1) decomposing the user-item rating matrix to extract latent factors from the user-item rating matrix, and
(2) extracting latent factors from hidden layers of deep learning models using the user side information and item side information as input layers to the deep learning models;
generating predicted item ratings for at least a portion of the missing ratings in the user-item rating matrix using the learned user latent factors and learned item latent factors;
selecting one or more item recommendations for the user based on at least a portion of the predicted item ratings; and
communicating, via one or more communication networks, the one or more item recommendations to the user device associated with the user.

US Pat. No. 10,178,149

ANALYSIS FOR FRAMEWORK ASSESSMENT

Adobe Inc., San Jose, CA...

1. A device comprising:one or more hardware processors; and
a computer-readable storage medium having stored thereon multiple instructions that, responsive to execution by the one or more processors, cause the one or more processors to implement a framework assessment module configured to perform operations comprising:
obtaining at least one file including an image from a storage device, the image including a layout of one or more visual components;
extracting a guide structure from the at least one file, the guide structure including a distance between guide lines relating to the layout of the one or more visual components;
ascertaining a framework from multiple frameworks as having a match status with the guide structure based on a comparison of the guide structure to each framework of the multiple frameworks using the distance between the guide lines, the framework comprising code to produce a coded functional version;
facilitating development of the at least one file into the coded functional version using the ascertained framework, the facilitating including automatically applying the ascertained framework as part of developing the coded functional version of the layout of the one or more visual components.

US Pat. No. 10,176,616

AUTOMATIC CAPTURE AND REFINEMENT OF A DIGITAL IMAGE OF A GROUP OF PEOPLE WITHOUT USER INTERVENTION

Adobe Inc., San Jose, CA...

1. In a digital medium environment to refine a group image automatically and without user intervention by a computing device, a method comprising:receiving, by the computing device, a plurality of frames as a stream captured during a camera session;
detecting, by the computing device, a plurality of faces and a plurality of facial features of each face of the plurality of faces from the received plurality of frames;
assigning, by the computing device, a score to each face of the plurality of faces for each frame of the plurality of frames, the score based on the detected plurality of facial features;
selecting, by the computing device, a candidate frame from the plurality of frames for each face of the plurality of faces, the selecting based on the assigned score for a respective said face;
calculating, by the computing device, an overall score for each frame of the plurality of frames based on a combination of assigned scores for the plurality of faces in the frame;
locating, by the computing device during the camera session, a reference frame from the plurality of frames based on the overall score for a respective said frame;
creating, by the computing device, a mask for a respective said face in a respective candidate frame of the plurality of candidate frames based on respective said facial features; and
generating, by the computing device, an output image for display by merging faces from the candidate frames onto the reference frame by copying pixels based on the respective said mask from the respective said face in the respective candidate frame to a corresponding said face in the reference frame.

US Pat. No. 10,307,969

3D PRINTING WITH SMALL GEOMETRIC OFFSETS TO AFFECT SURFACE CHARACTERISTICS

Adobe Inc., San Jose, CA...

1. A method comprising:determining, based on a desired surface characteristic of a 3D object, amplitudes of waves of filaments to be placed at outer bounds of alternating layers or alternating sets of layers of a 3D fused-deposition printing model for the 3D object, the outer bounds representing a modeled surface of the 3D object; and
providing the amplitudes of the waves of the filaments effective to enable a fused deposition printer to print the 3D object having the desired surface characteristic.

US Pat. No. 10,255,442

CONTROLLED PUBLICATION OF SENSITIVE CONTENT

Adobe Inc., San Jose, CA...

1. A method, performed by a computing device, for publishing sensitive content at a future time, the method comprising:prior to a future time at which sensitive content is to be published, receiving an encrypted version of the sensitive content;
applying an interactive zero knowledge proof to the encrypted version of the sensitive content, wherein applying the interactive zero knowledge proof comprises repeating more than once the steps of:
requesting a sample of the sensitive content corresponding to a random portion of the encrypted version of the sensitive content,
receiving a hash of the requested sample of the sensitive content that does not reveal the sensitive content, and
comparing the hash to a particular aspect expected in the requested sample of the sensitive content,
wherein the particular aspect expected in the sample of the sensitive content comprises grammar or format;
upon successful application of the interactive zero knowledge proof, preparing the encrypted version of the sensitive content for publication;
at the future time, receiving an encryption key for the encrypted version of the sensitive content;
decrypting the encrypted version of the sensitive content with the encryption key to produce the sensitive content at a publication location from which the sensitive content is accessible via a network; and
publishing the decrypted sensitive content.

US Pat. No. 10,289,951

VIDEO DEBLURRING USING NEURAL NETWORKS

Adobe Inc., San Jose, CA...

1. A method for deblurring images, the method comprising:training a neural network, the training comprising:
selecting a central training image from a sequence of blurred images based on a blur level of the central training image, the sequence of blurred images corresponding to a simulated blurred video;
selecting an earlier training image that precedes the central training image based on a proximity of the earlier training image to the central training image in the sequence;
selecting a later training image that follows the central training Image based on a proximity of the later training image to the central training image in the sequence;
generating, by the neural network, a training output image from the central training image, the earlier training image, and the later training image;
comparing the training output image to a reference image from a source video, wherein the source video is a higher frame rate version of the simulated blur video; and
adjusting the neural network based on the comparing; and
causing the trained neural network to generate a deblurred output image from a blurry input image.

US Pat. No. 10,311,374

CATEGORIZATION OF FORMS TO AID IN FORM SEARCH

Adobe Inc., San Jose, CA...

1. In a computer network environment, a method for facilitating searching for a form by associating forms with categories based on form features, the method comprising:receiving, by a processor of a computing device, a quantity of categories, each category indicating a form feature, wherein the form features include (i) non-text field characteristics indicating a relation between multiple field locations, and (ii) field-specific text characteristics indicating an association between a form field and a label of the form field;
determining a category feature vector for each of the categories, each respective category feature vector indicating form features associated with the respective category;
determining a form feature vector for a respective form from a set of forms, each respective form feature vector indicating form features associated with the respective form;
automatically associating, by the processor, the set of forms with respective categories of the quantity of categories, the association based on a similarity between the category feature vectors of the respective categories and the form feature vectors of the set of forms;
automatically determining, based on form features of a particular form of the set of forms, a combination of at least two categories to which the particular form belongs;
automatically adjusting the quantity of categories to include a combined category based on the combination of the at least two categories;
storing the forms and the respective categories associated with the forms at an electronic form search server; and
providing search results from the electronic form search server based on input identifying the combined category, a form identified as a search result based on the form being associated with the at least two categories.

US Pat. No. 10,290,134

COVERAGE BASED APPROACH TO IMAGE RENDERING USING OPACITY VALUES

Adobe Inc., San Jose, CA...

1. In a digital medium environment to render an image, a method implemented by at least one computing device, the method comprising:rendering, by the at least one computing device, a plurality of layers of the image in succession to a buffer, the rendering including:
selecting a layer of the plurality of layers based on a top down depth ordering;
determining an opacity value of an object in the selected layer at a pixel that is partially covered by the object at a shared edge of an intersection with another object in the image;
determining a color value of the object at the pixel at the shared edge; and
adding an amount of the opacity value and the color value of the object to the buffer using a blend factor, the blend factor is based on an opacity value of the pixel in the buffer for said another object at the shared edge and the opacity value of the object, the blend factor restricting said adding of the opacity value and the color value of the object to the buffer when the pixel is opaque; and
controlling, by the at least one computing device, display of the image using the buffer.

US Pat. No. 10,235,464

METHOD AND APPARATUS FOR RECOMMENDING HASHTAGS

ADOBE INC., San Jose, CA...

1. A computer-implemented method for recommending hashtags, the method comprising:determining one or more keywords from a post planned for publishing by a publisher, the post associated with an entity;
identifying an input criteria separate from the post planned for publishing, the input criteria comprising at least one of age group, geographical location, date range, or name of a business competitor;
composing a query comprising the one or more keywords and the input criteria;
sending the query to an API of a social networking application;
obtaining, from the social networking application, previous posts associated with the one or more keywords and satisfying the input criteria;
determining, using machine learning, previous posts having positive sentiment for the one or more keywords;
determining, using machine learning, previous posts having negative sentiment for the one or more keywords; and
determining, using machine learning, previous posts having negative sentiment for the one or more keywords when the one or more keywords are used for the entity but having positive sentiment when the one or more keywords are used for some other entity;
for each of the previous posts having positive sentiment for the one or more keywords, the previous posts having negative sentiment for the one or more keywords, and the previous posts having negative sentiment for the one or more keywords when the one or more keywords are used for the entity but having positive sentiment when the one or more keywords are used for the some other entity:
determining hashtags used in the previous posts;
ranking the hashtags based on predefined criteria; and
recommending the hashtags, based on ranking, to the publisher for use with the post planned for publishing.

US Pat. No. 10,192,582

AUTOMATIC GENERATION OF TIME-LAPSE VIDEOS

ADOBE INC., San Jose, WA...

1. One or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations to facilitate generation of time-lapse videos, the method comprising:analyzing frames of a photographic input to detect activity occurring across frame pairs, the photographic input being input for which a time-lapse video is to be generated, wherein a length of the time-lapse video is shorter than a length of the photographic input;
identifying a threshold of activity change based on a function associated with the length of the time-lapse video and a global extent of activity across the frames of the photographic input, wherein the threshold of activity change is inversely correlated to the length of the time-lapse video;
utilizing the threshold of activity change and activity detected across frame pairs to automatically select a plurality of the frames to use in generating the time-lapse video; and
generating the time-lapse video based on the plurality of frames.

US Pat. No. 10,185,987

IDENTIFYING THE END OF AN ON-LINE CART SESSION

Adobe Inc., San Jose, CA...

1. A method implemented to identify when a current on-line cart session associated with a user has ended and provide an indication of when to retarget the user, the method comprising:capturing user click inputs on one or more pages of a website, the user click inputs captured by an analytics application on a server device during the current on-line cart session, the user click inputs including adding an item for purchase to an on-line cart associated with the website;
predicting, by the analytics application using a predictive model with a trained classifier, whether a previous user click input is a last user click input associated with the current on-line cart session, the last user click input indicating an end of the current on-line cart session, the predicting based at least in part on a duration of inactivity during the current on-line cart session, the predictive model developed from a data set of past on-line cart sessions and user website interactions of multiple previous users and by determining a statistical distribution from the data set, wherein the statistical distribution is based on a time duration between successive user click inputs and a time duration after the last user click input until a defined end of a past on-line cart session, wherein the trained classifier is trained based at least in part on the statistical distribution; and
in response to the predicting that one of the user click inputs is the last user click input, providing a notification that the current on-line cart session has ended.

US Pat. No. 10,180,945

DATA REPLICATION FROM A CLOUD-BASED STORAGE RESOURCE

Adobe Inc., San Jose, CA...

1. A method for replicating data records, the method comprising:receiving, by a cloud storage gateway, from a client computing device, a read state counter index that is associated with a particular user, wherein the cloud storage gateway includes an administration module that is configured to manage interactions with a plurality of cloud storage devices that collectively contain data records associated with the particular user;
accessing a journal that is specific to the particular user, that the cloud storage gateway maintains, and that includes a plurality of journal records, each of which identifies one of the data records and a corresponding counter index;
identifying, by the administration module, a subset of the journal records that collectively identify a corresponding subset of consecutive counter indices that form a sequence starting with the read state counter index;
identifying, by the administration module, a counter index that is associated with an unavailable journal record, and that terminates, but is not included in, the sequence;
transmitting, from at least one of the cloud storage devices to the client computing device, data records identified in the subset of journal records; and
transmitting, from the administration module to the client computing device, the counter index that is associated with the unavailable journal record.

US Pat. No. 10,216,766

LARGE-SCALE IMAGE TAGGING USING IMAGE-TO-TOPIC EMBEDDING

ADOBE INC., San Jose, CA...

1. A computer system comprising:one or more processors; and
one or more computer storage media storing computer-useable instructions that, when used by the one or more processors, cause the one or more processors to:
receive a plurality of images, each image of the plurality of images being associated with a plurality of tags; and
for each subject image of the plurality of images:
generate a word vector representation for each of the associated plurality of tags;
calculate a weighted average of the generated word vector representations to generate a weighted word vector, the weighted average being calculated, at least in part, utilizing inverse document frequency;
normalize the weighted word vector in a common embedding space;
generate an image feature vector from one or more visual features associated with the subject image;
align the image feature vector and the weighted word vector in the common embedding space; and
using the aligned vectors, compute a relevancy score for each of the associated plurality of tags as it pertains to the subject image.

US Pat. No. 10,204,423

VISUAL ODOMETRY USING OBJECT PRIORS

Adobe Inc., San Jose, CA...

1. A visual odometry method comprising:receiving source imagery that comprises a plurality of two-dimensional images of a three-dimensional scene, wherein each of the two-dimensional images was captured from a corresponding camera pose; and
estimating a camera trajectory in the three-dimensional scene, the camera trajectory representing the plurality of camera poses from which the corresponding plurality of two-dimensional images were captured, wherein the camera trajectory is estimated based on both (a) feature point correspondences detected in a pair of the two-dimensional images, and (b) an object prior derived from a three-dimensional shape database and the source imagery;
wherein the object prior represents a three-dimensional shape of an object detected in at least some of the source imagery, and
wherein estimating the camera trajectory further comprises:
estimating first rotation and first translation components of camera motion between a pair of the camera poses based on the feature point correspondences;
estimating second rotation and second translation components of the camera motion between the pair of camera poses using the object prior; and
minimizing a sum of the first and second rotation components by calculating

wherein i and j represent ith and jth camera poses, respectively, used to acquire at least some of the source imagery;
wherein ? represents an ?th object detected in at least some of the source imagery;
wherein Ri and Rj represent rotation of the ith and jth camera poses, respectively, with respect to a three-dimensional world coordinate system w?3;
wherein Rij represents relative camera rotation between the ith and jth camera poses based on the feature point correspondences;
wherein R? represents rotation of the ?th object with respect to the world coordinate system w;
wherein R?i represents relative rotation of the ?th object with respect to the Ali camera pose;
wherein d1 is a distance metric SO3×SO3?; and
wherein ?R is a rotation energy term weight.

US Pat. No. 10,192,355

PROVIDING A TUTORIAL FOR DRAWING A SCAFFOLD TO GUIDE A DRAWING OF A THREE DIMENSIONAL OBJECT

ADOBE INC., San Jose, CA...

1. A method, performed by a computing device, for providing a tutorial for drawing a scaffold to guide a drawing of a three dimensional object, the method comprising:receiving an object and a viewpoint, wherein the object is a three dimensional object;
in response to receiving the object and the viewpoint, determining primitives for the object, the primitives comprising original primitives and modified primitives, the original primitives representing general shapes of parts of the object and the modified primitives representing the general shapes of the parts of the object with modifications;
determining accuracy values of the primitives, the accuracy values quantifying how accurately the primitives represent the general shapes of the parts of the object;
determining inter-primitive anchoring options for drawing the primitives based on guidelines drawn relative to previously-drawn primitives;
determining difficulty values of the inter-primitive anchoring options based on amounts of the guidelines required by the inter-primitive anchoring options;
selecting a set of primitives and inter-primitive anchoring options for a tutorial, wherein selecting the set is based on the accuracy values of the primitives and the difficulty values of the inter-primitive anchoring options; and
outputting the set of primitives in an ordered sequence of steps for drawing a scaffold by guiding a user to draw the set of primitives in the ordered sequence of steps based on the inter-primitive anchoring options of the set.

US Pat. No. 10,169,549

DIGITAL IMAGE PROCESSING INCLUDING REFINEMENT LAYER, SEARCH CONTEXT DATA, OR DRM

Adobe Inc., San Jose, CA...

1. In a digital medium environment to transform a target digital image using image processing, a method implemented by at least one computing device, the method comprising:searching, using search context data relating to the target digital image, through multiple different digital images stored in an image repository;
obtaining, by the at least one computing device, a candidate digital image from the multiple different digital images stored in the image repository based on determining that the candidate digital image corresponds to the search context data relating to the target digital image;
generating, by the at least one computing device, a visual transformation to be applied to a portion of the target digital image based on the candidate digital image;
generating, by the at least one computing device, a transformed target digital image by applying the visual transformation to the portion of the target image and a refinement layer defining how the candidate digital image is used to generate the visual transformation; and
visually outputting, by the at least one computing device, the transformed target digital image and the refinement layer.

US Pat. No. 10,296,924

DOCUMENT PERFORMANCE INDICATORS BASED ON REFERRAL CONTEXT

ADOBE INC., San Jose, CA...

1. A computer-implemented method for providing performance indicators of destination documents, the method comprising:determining a navigation occurred from a referral document to a destination document based on the referral document comprising a source of the navigation by at least one visitor to the destination document;
automatically determining that each element of a subportion of content of the referral document is within a designated distance of the source in the content;
extracting referral keywords from the subportion of content of the referral document, the referral keywords corresponding to a referral context of the referral document;
determining a degree of correlation between the referral document and the destination document using a similarity score determined from a comparison between the referral keywords and destination keywords extracted from content of the destination document, the destination keywords corresponding to destination context of the destination document, wherein the referral keywords are given higher weight in the degree of correlation than information from the content outside of the subportion based on the referral keywords being from the subportion;
based on the determining the navigation occurred, recording the navigation as a visit to the destination document;
selecting the degree of correlation from a plurality of degrees of correlation based on determining the degree of correlation corresponds to the source and the visit is from the source, wherein the plurality of degrees of correlation correspond to different potential sources of visits in the content the referral document;
determining one or more performance indicators of the destination document, the one or more performance indicators comprising a performance indicator value of the destination document that weights the visit to the destination document by the determined degree of correlation in response to the selecting, and wherein the one or more performance indicators correspond to a performance metric that quantifies interactions between visitors and the destination document, the visitors comprising the at least one visitor; and
providing, over one or more network communications, the performance indicator value to a user device in an analytics report as analytics data.

US Pat. No. 10,255,681

IMAGE MATTING USING DEEP LEARNING

Adobe Inc., San Jose, CA...

1. A computer-implemented method for training a neural network system to generate mattes for images, the method comprising:inputting, into a first neural network, a training image and trimap pair, the trimap indicating a blended region in which one or more pixels include an unknown combination of foreground and background colors;
determining, by the first neural network, a percentage of foreground color for each of the one or more pixels in the blended region, the first neural network using color, structure, and texture information to determine percentages of foreground color in association with the one or more pixels;
generating, by the first neural network, a training matte for the training image using the percentages of foreground color for each of the one or more pixels in the blended region;
identifying, by the first neural network, error associated with the training matte using a loss function; and
adjusting the first neural network based on the identified error associated with the training matte.

US Pat. No. 10,216,389

MIRROR SNAPPING DURING VECTOR DRAWING

ADOBE INC., San Jose, CA...

1. A computer-implemented method for symmetrical drawing, comprising:receiving input defining a path segment of an image;
generating a candidate snap location based on a symmetrical analysis of the path segment in relation to one or more previously created path segments, the candidate snap location identifying a potential path segment endpoint for subsequent path segments;
receiving additional input defining a subsequent path segment; and
selecting a candidate snap location as an endpoint for the subsequent path segment to cause the subsequent path segment to have symmetry with the path segment.

US Pat. No. 10,218,724

MONITORING SOCIAL MEDIA FOR BREACH OF ORGANIZATIONAL PRIVACY

Adobe Inc., San Jose, CA...

1. In a digital medium environment to control breaches of organization privacy by monitoring social media, a method implemented by at least one computing device, the method comprising:constructing, by the at least one computing device, a first semantic graph of private organization information and a second semantic graph of public organizational information;
identifying, by the at least one computing device, a relationship between terms in the first semantic graph indicative of private textual information;
weighting, by the at least one computing device, the relationship in both the first and second semantic graphs based on the identifying of the relationship from the first semantic graph;
receiving, by the at least one computing device, social media content;
querying, by the at least one computing device, the social media content using the first semantic graph having the weighted relationship to generate a first score indicating an amount of the private organizational data disclosed by the social media content;
querying, by the at least one computing device, the social media content using the second semantic graph having the weighted relationship to generate a second score indicating an amount of the public organizational data disclosed by the social media content; and
generating, by the at least one computing device based on a ratio of the first and second scores, a privacy score that indicates a degree to which the social media content breaches privacy of the organization.

US Pat. No. 10,311,366

PROCEDURALLY GENERATING SETS OF PROBABILISTICALLY DISTRIBUTED STYLING ATTRIBUTES FOR A DIGITAL DESIGN

ADOBE INC., San Jose, CA...

1. In a digital medium environment for generating and modifying digital media, a method for generating styling combinations for an input design comprising:identifying, in a current digital design, a current styling combination including a plurality of styling attributes each having a current styling value;
identifying a plurality of potential replacement styling values for each attribute of the plurality of styling attributes;
determining a compatibility score for each potential replacement styling value that indicates a compatibility of the potential replacement styling value with the current digital design and any previously selected replacement styling values;
generating, based on the determined compatibility score for each potential replacement styling value, one or more probabilistically distributed sets of potential replacement styling values for each styling attribute;
receiving user input indicating a selected position of a graphical user interface control for modifying the current digital design;
selecting replacement styling values from the one or more probabilistically distributed sets of potential replacement styling values for one or more of the current styling values based on the user input and the determined compatibility scores;
applying the selected replacement styling values to the digital design to generate an updated digital design by changing the current styling values to match the selected replacement styling values; and
generating updated digital designs each time the graphical user interface control is moved to a new position.

US Pat. No. 10,296,546

AUTOMATIC AGGREGATION OF ONLINE USER PROFILES

Adobe Inc., San Jose, CA...

1. A computer-implemented method, comprising:identifying a first network A that comprises a first collection of user profiles, each of which is characterized by a value that is associated with a characteristic feature;
identifying a target network B that comprises a second collection of user profiles, each of which is characterized by a value that is associated with the characteristic feature;
setting a distance measure threshold AB that depends on a distribution of values for the characteristic feature in both the first network A and the target network B;
defining a plurality of user profile clusters in the target network B based on the characteristic feature and the distance measure threshold AB, wherein each of the user profile clusters comprises at least one of the user profiles in the target network B, and wherein each of the user profile clusters has a cluster centroid that is representative of the user profiles comprising the cluster;
after defining the plurality of user profile clusters, receiving a target user query that identifies a query user profile on the first network A, the query user profile having a query value associated with the characteristic feature;
identifying a particular user profile cluster in the target network B having a minimum distance from its respective cluster centroid to the query user profile, wherein the particular user profile cluster associated with the minimum distance establishes a set of candidate user profiles on the target network B;
ranking, via a supervised classifier, the candidate user profiles included in the set, so as to identify a first match candidate user profile for the target user query; and
generating a unified user profile that includes (a) a first feature that is included in the query user profile on network A, and (b) a second feature that is included in the first match candidate user profile on network B.

US Pat. No. 10,255,712

ANIMATION USING KEYFRAMING AND PROJECTED DYNAMICS SIMULATION

Adobe Inc., San Jose, CA...

1. A method of animating an animation object having a set of multiple connected object regions within the animation object by combining keyframing with simulation that utilizes projected dynamics, the method comprising:displaying handles associated with the set of multiple connected object regions within the animation object, at least two of the multiple connected object regions comprising a handle selectable for setting one or more animation constraints on the respective object region, the at least two of the multiple connected object regions each independently selectable with the respective handle to set at least one of the animation constraints for the respective object region of the animation object;
receiving a first user input designating a particular handle with at least one of the animation constraints, the first user input received in a keyframe of an animation sequence that includes multiple frames of the animation object;
based on the first user input, setting the at least one animation constraint on the particular handle for the object region associated with the particular handle; and
projecting a simulation of the animation object utilizing a projected dynamics algorithm that applies physics to simulate the set of multiple connected object regions of the animation object in the animation sequence, the simulation including simulating the object region of the animation object associated with the particular handle based on the at least one animation constraint.

US Pat. No. 10,289,655

DETERMINISTIC RENDERING OF ACTIVE CONTENT

ADOBE INC., San Jose, CA...

1. A method for rendering active content comprising:acquiring the active content;
identifying a deterministic portion of the active content;
identifying a nondeterministic portion of the active content, wherein the nondeterministic portion of the active content is dependent on a target environment;
rendering a first visual appearance of the nondeterministic portion within a first target environment, wherein the first visual appearance is based on a stable form of the nondeterministic portion independent from the first target environment;
rendering a second visual appearance of the nondeterministic portion within a second target environment that is different from the first target environment, wherein the second visual appearance is based on the stable form of the nondeterministic portion independent from the second target environment, the second visual appearance visually identical to the first visual appearance;
rendering a single visual appearance of the deterministic portion of the active content within each of the first and the second target environments.

US Pat. No. 10,235,786

CONTEXT AWARE CLIPPING MASK

Adobe Inc., San Jose, CA...

1. A method for photo text creation, comprising:generating, by at least one computing device, an image saliency map by analyzing an input image, the image saliency map representing a prominence of objects within the input image;
generating, by the at least one computing device, an image gradient map by analyzing the input image, the image gradient map representing a directional change of intensity or color within the input image;
assigning, by the at least one computing device, a score to each of a plurality of portions of the input image by, for each respective portion:
determining a content preservation score based on the image saliency map;
determining a boundary simplicity score based on the image gradient map; and
determining the score based on the content preservation score and the boundary simplicity score;
selecting, by the at least one computing device, a portion from the plurality of portions of the input image based on the assigned scores;
generating, by the at least one computing device, the photo text by utilizing an input text and the selected portion of the input image; and
outputting, by the at least one computing device, the photo text for display on a display device.

US Pat. No. 10,178,431

HYBRID STREAM DELIVERY

Adobe Inc., San Jose, CA...

1. A method implemented by a computing device, the method comprising:receiving, by the computing device, a multicast stream of primary content;
displaying, by the computing device, the primary content of the multicast stream;
identifying, by the computing device during the outputting of the primary content, timing information in the multicast stream indicating when a break in the displaying of the primary content is to occur;
responsive to the identifying by the computing device and before reaching the break in the displaying of the primary content by the computing device, requesting supplemental content by the computing device that is available via a single dedicated stream, the requesting performed concurrently during the receiving and the displaying of the primary content via the multicast stream;
receiving, by the computing device, the single dedicated stream concurrently during the receiving and the displaying of the multicast stream of the primary content by the computing device;
caching, by the computing device, the supplemental content received via the single dedicated stream concurrently during the receiving and the displaying of the primary content by the computing device; and
upon completion of the displaying of the primary content up to the break:
reducing, by the computing device, network bandwidth consumption of the primary content; and
displaying, by the computing device, the cached supplemental content.

US Pat. No. 10,558,343

INTERACTION PLANE ROTATION FOR MANIPULATION OF THREE-DIMENSIONAL OBJECTS

Adobe Inc., San Jose, CA...

1. In a digital environment representing a three-dimensional space, a three-dimensional object on an interaction plane is represented by a two-dimensional point of view defined by an object view vector, a method implemented by at least one computing device of the digital environment, the method comprising:calculating an angle between the interaction plane and the object view vector, the interaction plane projecting relative movements of the three-dimensional object from the two-dimensional point of view defined by the object view vector in the three-dimensional space;
comparing the angle between the object view vector and the interaction plane to a threshold value;
determining the angle between the object view vector and the interaction plane is less than the threshold value; and
rotating the interaction plane relative to a constant vector based on the angle between the object view vector and the interaction plane being less than the threshold value.

US Pat. No. 10,291,409

STORING, MIGRATING, AND CONTROLLING ACCESS TO ELECTRONIC DOCUMENTS DURING ELECTRONIC DOCUMENT SIGNING PROCESSES

Adobe Inc., San Jose, CA...

1. A method, performed by a computing device, for storing an electronic document during an electronic document signing process, the electronic document signing process comprising a sender sending the electronic document for signature by a signer and the signer signing the electronic document, the method comprising:receiving data sent from servers capable of storing the electronic document, the data comprising geographic location identifiers identifying geographic locations of the servers;
verifying the geographic locations of the servers based on geographic locations associated with Internet Protocol (IP) addresses of network locations from which the data was sent;
determining a sender geographic location of the sender and a signer geographic location of the signer in the electronic document signing process;
identifying geographic boundaries for storing the electronic document based on the sender geographic location, the signer geographic location, and data storage requirements applicable to storing the electronic document;
identifying a server within the geographic boundaries for storing the electronic document based on the geographic locations of the servers; and
storing the electronic document at the server during the electronic document signing process, wherein storing the electronic document comprises storing sender information and signer information at the server.

US Pat. No. 10,255,584

TRACKING NEW SUBMISSIONS FOR AN ONLINE FORMS SERVICE

Adobe Inc., San Jose, CA...

1. A computer-implemented method comprising:detecting, using at least one processor, a request to load a view that includes information identifying multiple submissions of a plurality of electronic forms, a submission of each electronic form of the plurality of electronic forms including an instance of the electronic form augmented with data provided by a user;
tracking a number of new submissions of each of the electronic forms of the plurality of electronic forms using a submission counter that is separate from other counters, a new submission being a submission of the electronic form received via a communications network that includes user-supplied data not previously presented by a computer system for viewing; and
in response to the request, providing the view for display, the view presenting both a first value indicative of only the number of new submissions of each of the electronic forms of the plurality of electronic forms and a second value indicative of a total number of submissions of each of the electronic forms of the plurality of electronic forms, where both the first value and the second value are individually provided for each of the electronic forms of the plurality of electronic forms.

US Pat. No. 10,268,928

COMBINED STRUCTURE AND STYLE NETWORK

Adobe Inc., San Jose, CA...

1. In a digital medium environment to identify images having a desired object and a desired styling, a method implemented by at least one computing device, the method comprising:generating a combined structure and style network by combining an image structure network with an image style network, wherein:
the image structure network is configured to identify an object in an image based on one or more visual characteristics of a sketched image of the object;
the image style network is configured to identify a styling in the image based on another one or more visual characteristics of an image having the styling; and
the image structure and style networks are combined using a unifying training technique that exposes the image structure and style networks to groups of training images for learning both object and styling visual characteristics, at least one of the groups including one or more anchor training images having an example of the object and the styling, a positive training image having a different example of the object and the styling, and a negative training image having at least one of a different object or different styling from the one or more anchor training images; and
identifying both the object and the styling in the image by searching a repository of images using the combined structure and style network; and
outputting a search result including an indication of the image with the identified object and styling.

US Pat. No. 10,261,658

AUTOMATING USER OPERATIONS USING SCREEN SHOTS AND FILE NAMES

ADOBE INC., San Jose, CA...

1. A non-transitory computer readable medium comprising instructions that, when executed by at least one processor, cause a computer system to:identify an image file comprising a name of the image file created in response to generating the image file, the name of the image file comprising an operation to be automated in one or more portions before a file extension of the image file, the operation to be automated comprising an interaction with a graphical user interface element within a graphical user interface, the image file comprising an image of the graphical user interface element on which to perform the operation within the graphical user interface;
compare pixels of the image file to pixels of a graphical user interface of a computing device to identify the graphical user interface element in the graphical user interface of the computing device;
identify a location of the graphical user interface element in the graphical user interface of the computing device corresponding to the pixels of the image file;
analyze the name of the image file to identify the operation to be automated from the name of the image file; and
perform the operation identified from the name of the image file at the location of the graphical user interface element identified from the pixels of the image file.

US Pat. No. 10,261,669

PUBLISHING ELECTRONIC DOCUMENTS UTILIZING NAVIGATION INFORMATION

ADOBE INC., San Jose, CA...

1. In a digital medium environment for publishing electronic documents, a method of efficiently processing and displaying digital article collections, comprising:identifying a collection of articles, collectively comprising a plurality of pages;
determining navigation routes corresponding to a current page selected for display from a first article of the collection of articles by a client device of a user;
identifying navigation information associated with browsing the collection of articles, the navigation information comprising a navigation direction and a navigation rate; and
determining, by at least one processor, a set of pages to prepare for display from the plurality of pages based on the current page selected for display, the navigation information, and the navigation routes, by:
determining a first set of display criteria for an active page of a second article in the collection of articles based on the navigation information;
determining a second set of display criteria for an additional page of the first article based on the navigation information;
calculating distances along the navigation routes from the current page; and
determining the set of pages to prepare for display based on the first set of display criteria and the second set of display criteria by comparing the first set of display criteria and the second set of display criteria with the distances along the navigation routes.

US Pat. No. 10,235,623

ACCURATE TAG RELEVANCE PREDICTION FOR IMAGE SEARCH

Adobe Inc., San Jose, CA...

1. A computer-implemented method for training classifiers to tag images, the method comprising:receiving, using a tagging engine of an image classifier, a set of input data including images and corresponding image tags;
partitioning, using the tagging engine, the set of input data into a first cluster of data, a second cluster of data, and a third cluster of data based on similarity of the images, wherein the first cluster of data includes a first set of images and corresponding image tags, the first set of images being similar to one another, the second cluster of data includes a second set of images and corresponding image tags, the second set of images being similar to one another, and the third cluster of data includes a third set of images and corresponding image tags, the third set of images being similar to one another;
determining that a size of the first cluster of data is less than a predefined threshold and that a size of the second cluster of data and a size of the third cluster of data exceed the predefined threshold;
based on the size of the second cluster of data and the size of the third cluster of data exceeding the predefined threshold, combining the second cluster of data and the third cluster of data and partitioning the combination of the second and third sets of images and corresponding image tags into clusters comprising at least a fourth cluster of data, having a size of data that is less than the predefined threshold;
training a classifier of the image classifier that predicts image tags for an untagged image wherein the first cluster of data and the fourth cluster of data are used to train the classifier, each of the first and fourth clusters of data have data sizes less than the predefined threshold; and
utilizing the classifier of the image classifier to label an untagged image with a tag, wherein the tag is selected from a cluster of data generated by the classifier, the cluster of data including a set of images similar to the untagged image.

US Pat. No. 10,175,780

BEHIND-DISPLAY USER INTERFACE

ADOBE INC., San Jose, CA...

1. A method of providing a user interface on a computing device, the method comprising:providing a display of a graphical object on a display component of the computing device;
employing a movement sensing device to sense movement of a physical pointer; and
modifying the display of the graphical object based on the sensed movement of the physical pointer, wherein modifying the display includes modifying a distance between a first edge and a second edge of the graphical object such that at least a portion of the graphical object is stretched.

US Pat. No. 10,318,814

FRAMEWORK FOR COMBINING CONTENT INTELLIGENCE MODULES

ADOBE INC., San Jose, CA...

1. A computer-implemented method, comprising:using a media processing device, accessing, from a data store, a plurality of portions of a digital media asset, wherein the plurality of portions are analyzed based on executing a media asset analysis plugin having a plurality of raw analyzer modules and a feature algorithm module, wherein the plurality of raw analyzer modules and the feature algorithm module are operable as a plug-in combination that supports shared common functionality in the plurality of raw analyzer modules and the feature algorithm module, wherein the plug-in combination comprises code for operating both the plurality of raw analyzer modules and the feature algorithm module in combination for content intelligence processes;
using a microprocessor of the media processing device, the microprocessor operating based on the plug-in combination, executing the plurality of raw analyzer modules to analyze the portions of the digital media asset to produce sets of raw analyzer results data, wherein the sets of raw analyzer results data are accessible by the feature algorithm module based in part on the code of the plug-in combination;
storing in a data cache the sets of raw analyzer result data in a media asset cache file associated with the digital media asset, wherein each of the sets of raw analyzer result data is linked to a particular one of the raw analyzer modules based on data tracks in the media asset cache file;
based on a call to the feature algorithm module, accessing the data cache storing the set of raw analyzer result data in the media asset cache file; and
upon accessing the data cache, executing, using the code of the plug-in combination, the feature algorithm module to generate an analysis result for the digital media asset, based on, at least one of the sets of raw analyzer result data in the data cache, wherein the at least one of the sets of raw analyzer result data is specific to the linked raw analyzer module that generated the raw analyzer result data.

US Pat. No. 10,303,950

AUTOMATED VIDEO CORRECTION

Adobe Inc., San Jose, CA...

1. A computer-implemented method for automated correction of a video comprising a plurality of video frames, the method comprising:identifying features in each video frame of the plurality of video frames;
identifying one or more major scenes in the video based on a matching of the features in each video frame;
for each identified major scene,
identifying a key reference frame in a major scene based on the features in each video frame in the major scene,
identifying one or more bad video frames based on a comparison of features in a video frame in the major scene with features in the key reference frame, and
identifying one or more sequences of bad video frames based on the identified one or more bad video frames; and
correcting the video by removing the identified one or more sequences of bad video frames from the video.

US Pat. No. 10,289,291

EDITING NESTED VIDEO SEQUENCES

Adobe Inc., San Jose, CA...

1. A computer-implemented method for video editing, the method comprising:based at least in part on a request to edit a parent video sequence, loading a timeline and monitor view of the parent video sequence within a graphical user interface (GUI), the parent video sequence including a lower layer that corresponds to a nested video sequence and one or more higher layers above the lower layer, the timeline of the GUI including representations of each of the lower layer and the one or more higher layers of the parent video sequence;
receiving a first input indicative of a selection, within the timeline of the GUI, of a first graphical element that corresponds to a representation of the lower layer of the parent video sequence;
based at least in part on the selection, rendering at least a graphical object from the nested video sequence in the monitor view of the GUI while disabling each of the one or more higher layers of the parent video sequence from being rendered in the monitor view of the GUI;
receiving, while each of the one or more higher layers are disabled from being rendered in the monitor view by the disabling, a second input indicative of a manipulation of a second graphical element that corresponds to the graphical object from the nested video sequence; and
applying, to the parent video sequence, the manipulation of the second graphical element to the graphical object from the nested video sequence.

US Pat. No. 10,290,085

IMAGE HOLE FILLING THAT ACCOUNTS FOR GLOBAL STRUCTURE AND LOCAL TEXTURE

Adobe Inc., San Jose, CA...

1. A method, performed by a computing device, for hole filling in images that accounts for global structure and local texture, the method comprising:receiving an input image, the input image having a hole, the hole comprising a portion of the input image having unknown, removed, or missing content;
selecting content to fill the hole, wherein the content to fill the hole is selected based on a content constraint and a texture constraint,
wherein selecting the content based on the content constraint comprises selecting content that is consistent with a global structure of the image using a content neural network, the content neural network identifying the global structure of the image, and
wherein selecting the content based on the texture constraint comprises selecting content with texture similar to the texture of the image outside the hole using a texture neural network, the texture neural network identifying image features that are used to assess texture similarity; and
providing a result image by filling in the hole of the input image based on the content selected to fill the hole.

US Pat. No. 10,290,128

INTERACTIVE SCENE GRAPH MANIPULATION FOR VISUALIZATION AUTHORING

Adobe Inc., San Jose, CA...

1. A method to enable interactive scene graph manipulation and visualization authoring, the method comprising:grouping, into each of a plurality of containers, a respective subset of a plurality of visual marks each of the plurality of containers associated with one or more layout settings that are independent of layout settings of others of the plurality of containers;
associating each of the plurality of containers with a categorical variable that identifies a category of data values of a set of data values; and
constructing data visualizations for the set of data values for display via a user interface of a display device, said constructing including:
applying one or more data values of one category of data values identified by one categorical variable of one container of the plurality of containers to one or more visual properties of one subset of the plurality of visual marks grouped into the one container, and
applying layout settings of the one container to the one subset of the plurality of visual marks.

US Pat. No. 10,289,624

TOPIC AND TERM SEARCH ANALYTICS

ADOBE INC., San Jose, CA...

1. A computer-implemented method for providing a ranked group of online articles based on a selection of one or more topics and one or more terms, the method comprising:receiving the selection of the one or more topics and the one or more terms;
generating an article score for each online article from a group of online articles, the article score for a first online article being generated by:
computing an article topic score for each topic from the one or more topics, each article topic score being computed as a function of a relevance score of a corresponding topic for the first online article and visitor metrics for the first online article,
computing a term score for each term from the one or more terms, each term score being computed as a function of a term frequency of a corresponding term in the first online article and the visitor metrics for the first online article, and
generating the article score for the first online article as a function of the article topic scores for the one or more topics and the term scores for the one or more terms;
ranking at least a portion of the online articles based on corresponding article scores to generate the ranked group of online articles; and
providing an indication of the ranked group of online articles for presentation to a user.

US Pat. No. 10,210,144

CREATION AND DISPLAY OF A WEBPAGE WITH ALTERNATIVE LAYOUTS FOR DIFFERENT WEBPAGE WIDTHS

Adobe Inc., San Jose, CA...

1. A method for a computing device to create a webpage having different element orders for different webpage widths, the method comprising:receiving, by a computing device, a first input specifying a first layout of elements for a first webpage width, the first input positioning the elements in a first order on a design canvas of a design interface;
receiving, by the computing device, a second input specifying a second layout of the elements for a second webpage width, the second input positioning the elements in a second order on the design canvas, the first webpage width different from the second webpage width and the first order different from the second order;
creating, by the computing device, markup code for the webpage that specifies a first subtree of nodes specifying the first order of the elements for the first layout and a second subtree of nodes specifying the second order of the elements for the second layout;
modifying, by the computing device, the markup code to replace duplicate nodes with placeholders in the second subtree of nodes;
implementing, by the computing device, a script code to modify a live DOM created from the markup code, to specify positioning the elements in the second order when the current webpage width is the second webpage width; and
modifying the live DOM by swapping content nodes of the first subtree with the placeholders of the second subtree, based on the current webpage width being the second webpage width.

US Pat. No. 10,306,286

REPLACING CONTENT OF A SURFACE IN VIDEO

Adobe Inc., San Jose, CA...

1. A method implemented by a server device of a web service to expose viewers of video content to secondary content without disrupting a viewing experience of the viewers, the method comprising:receiving, by the server device, an indication of a surface appearing in at least one scene of the video content, the indication indicating that the surface is to be replaced with replacement content, and the indication comprising one of:
a user selection input to select the surface for replacement from a frame of the video content; or
a pattern the server device uses to search for the surface in frames of the video content;
tracking, by the server device, the surface throughout the frames of the video content using motion tracking, including identifying frames that include the surface and locations of the surface in identified frames;
incorporating, by the server device, the replacement content into the identified frames at identified locations based on the tracking and by the server device replacing pixels of the identified frames at the identified locations with different pixels of an image depicting the replacement content;
generating, by the server device, replaced-surface video content in accordance with the incorporating, the replaced-surface video content configured to expose the replacement content in place of the surface when played back; and
communicating, by the server device, the replaced-surface video content for distribution to a viewer device, the communicated replaced-surface video content having the surface replaced in the at least one clip with the replacement content.

US Pat. No. 10,209,968

APPLICATION COMPILING

Adobe Inc., San Jose, CA...

1. A computer implemented method comprising:receiving a programming language input, having a client input portion and a server input portion, written in a single programming language that enables use of client symbols of the client input portion in the server input portion and use of server symbols of the server input portion in the client input portion;
parsing the programming language input to separate the client input portion from the server input portion;
identifying usage of one or more client symbols in the server input portion and usage of one or more server symbols in the client input portion;
translating the client input portion into an executable client application, and translating the server input portion into an executable server application; and
producing a communication module to enable communication of one or more client symbols and one or more server symbols between the executable client application and the executable server application, the communication module providing for synchronous or asynchronous communication based on metadata included in the programming language input.

US Pat. No. 10,175,867

USER INPUT-BASED OBJECT SELECTION USING MULTIPLE VISUAL CUES

Adobe Inc., San Jose, CA...

11. A system implemented in a digital medium environment to define a portion of an image as selected based on user selection input, the system comprising:at least one processor; and
memory having stored thereon computer-readable instructions that are executable by the at least one processor to perform operations comprising:
receiving a user selection input for selecting the portion of the image;
labeling pixels of the image by optimizing a function in which each individual pixel is assigned a label pair based, in part, on the user selection input,
the label pair including both:
a segmentation label configured to identify whether the individual pixel corresponds to a selected portion of the image or a remainder of the image that is not selected, and
a visual cue label configured to identify one of a plurality of visual cues selected for the individual pixel, the plurality of visual cues conveying different information about content depicted in the image, and
wherein the function is optimized, in part, by determining a cost of assigning label pairs to the individual pixel and the pixels adjacent to the individual pixel, the cost based on the visual cues indicated in the label pairs for the individual pixel and an adjacent pixel and on values indicating a confidence that the different information conveyed by the visual cues discriminates between the selected portion and the remainder;
generating selected portion data that defines the selected portion according to the labeling; and
displaying an indication of the selected portion in accordance with the selected portion data.

US Pat. No. 10,176,496

AUDIENCE SEGMENTATION BASED ON VIEWING ANGLE OF A USER VIEWING A VIDEO OF A MULTI-ANGLE VIEWING ENVIRONMENT

Adobe Inc., San Jose, CA...

1. A computer-implemented method of audience segmentation, the method comprising: playing back, by a computing device, a video of a multi-angle viewing environment to a first user; recording, by the computing device and during a first playback of the video to the first user, a first sequence of user-controlled viewing angles of the video over a fixed period of time; determining, by the computing device, a predominant sequence of viewing angles of the video based on the first sequence of user-controlled viewing angles of the video, the predominant sequence of viewing angles representing at least a subset of the first sequence of user-controller viewing angles of the video; assigning one or more audience segment tags to the predominant sequence of viewing angles, each of the one or more audience segment tags representing a group of users including the first user; and displaying, by the computing device, a marketing communication to a user in the group of users based at least in part on the one or more audience segment tags.

US Pat. No. 10,297,045

FAST INTRINSIC IMAGES

Adobe Inc., San Jose, CA...

1. A method comprising:receiving an image;
determining, for each pixel in the image, local constraints for both reflectance variations and shading variations between the pixel and neighboring pixels adjacent to the pixel, the local constraints determined based on a value indicating a difference between a reflectance of the pixel and a reflectance of the neighboring pixels;
determining, for each pixel in the image, non-local constraints for reflectance variations between the pixel and pixels in a set of pixels of the image, the set of pixels of the image being different than the neighboring pixels and the non-local constraints being different than the local constraints; and
generating a reflectance intrinsic image for the image and a shading intrinsic image for the image by applying the local constraints for reflectance variations and shading variations and the non-local constraints for reflectance variations to the image.

US Pat. No. 10,296,308

AUTOMATICALLY GENERATING NETWORK APPLICATIONS FROM DESIGN MOCK-UPS

ADOBE INC., San Jose, CA...

1. In a digital medium environment for designing digital web and mobile compositions, a method for automatically generating network applications from a design, the method comprising:receiving a design mock-up image comprising a plurality of elements;
identifying style information, asset information, and semantic information from the plurality of elements in the design mock-up image;
identifying a network application functionality for the plurality of elements in the design mock-up image based on the semantic information from the plurality of elements in the design mock-up image and a layout of the plurality of elements in the design mock-up image;
generating, by at least one processor and based on mapping the semantic information from the plurality of elements in the design mock-up image and the layout, structured data indicating the layout of the plurality of elements and the identified network application functionality for the plurality of elements; and
generating a network application, which has the identified network application functionality, using the structured data, the style information, and the asset information.

US Pat. No. 10,210,142

INSERTING LINKED TEXT FRAGMENTS IN A DOCUMENT

Adobe Inc., San Jose, CA...

1. In a digital medium environment to typeset documents, a method implemented by a computing device having a typography application, the method comprising:receiving, by the computing device, an indication of a position in a text frame in a layout of a document;
obtaining, by the computing device, text of an asset;
inserting, by the computing device, the text as a text fragment into the text frame at the position;
creating, by the computing device, a node for the text in a logical structure for the document;
generating, by the computing device, a link for the text fragment by binding information of the node to a location of the asset;
requesting, by the computing device, a status of the link; and
displaying, by the computing device, the link with a respective status indicator for one of missing, modified, or up-to-date statuses based on the requesting.

US Pat. No. 10,303,245

METHODS AND DEVICES FOR DETECTING AND RESPONDING TO CHANGES IN EYE CONDITIONS DURING PRESENTATION OF VIDEO ON ELECTRONIC DEVICES

Adobe Inc., San Jose, CA...

1. A method comprising:monitoring, via an electronic tracking device of a wearable electronic device, an eye of a person watching a video presented on a display component of the wearable electronic device to monitor a viewing direction of the eye;
determining, by an analysis engine configured to analyze information about a trigger condition of the eye of the person and to determine an appropriate response, the analysis engine including a device or component communicatively coupled to the electronic tracking device, that the person is watching the video based on the viewing direction of the eye;
detecting, by the electronic tracking device, an eye movement indicating a change in the viewing direction of the eye;
determining, by the analysis engine and responsive to detecting the eye movement, that the person is focused on something other than the video based on determining a change in a focal plane of the eye;
monitoring, by the analysis engine, the eye movement of the eye subsequent to determining that the person is focused on something other than the video;
determining, by the analysis engine:
that the eye movement is one of multiple learned trigger conditions, and
a learned response associated with the learned trigger condition,
wherein the multiple learned trigger conditions and the learned response are based on observations of:
(i) a prior eye movement of the person, and
(ii) a prior intentional action other than the prior eye movement and performed by the person to modify presentation of the video; and
performing the learned response to modify presentation of the video or audio associated with the video on the wearable electronic device based on the learned trigger condition having been performed.

US Pat. No. 10,284,892

DETERMINING VIDEO ADVERTISEMENT QUALITY

Adobe Inc., San Jose, CA...

1. A computer-implemented method for determining video advertisement quality, the method comprising:obtaining video advertisement data associated with a video advertisement, the video advertisement data indicating at least one variable including at least one of an advertisement characteristic, a video characteristic, a video session characteristic, and a viewer characteristic;
determining an advertisement quality indicating a probability a viewer will view a subsequent portion of a video that plays following complete viewing of the video advertisement presented in association with the video, the advertisement quality determined using the video advertisement data associated with the video advertisement and a quality model generated from historical data related to video advertisements that includes continuation indicators, each continuation indicator representing whether a viewer watched at least a threshold amount of video following presentation of a particular video advertisement, the quality model indicating weights associated with the at least one variable; and
selecting, based on the advertisement quality, the video advertisement to be presented to the viewer in association with the video.

US Pat. No. 10,282,747

USING USER SEGMENTS FOR TARGETED CONTENT

Adobe Inc., San Jose, CA...

1. In a computing platform having an analytics tool configured to analyze interactions of users with published content and a separate content tool configured to provide targeted content to the users, a computer-implemented method comprising:receiving, by the computing platform from a marketer computing device, input that identifies a user segment and a parameter for an action associated with the user segment;
generating, by the computing platform based on the input, metadata that comprises (i) an identifier of the user segment, (ii) an identifier of the action, and (iii) an identifier of the parameter, wherein the metadata standardizes an interface between the analytics tool and the content tool by specifying how an identifier of a user associated with the user segment should be generated according to a standard format common to the analytics tool and the content tool, wherein the metadata is provided to the analytics tool and the content tool based on respective application programming interfaces of the analytics tool and the content tool;
providing, by the computing platform, at least portions of the metadata to the analytics tool and the content tool;
receiving, by the analytics tool, first information identifying one or more user interactions of the user using a computing device to interact with the published content;
automatically triggering, based on receiving the first information identifying the one or more user interactions, the analytics tool to associate the user with the user segment based on analyzing the first information identifying the one or more user interactions, wherein the associating of the user with the user segment comprises associating the identifier of the user with the identifier of the user segment based on the metadata; and
automatically triggering, based on the associating of the user with the user segment, the analytics tool to provide second information identifying that the user is associated with the user segment to the content tool, the second information comprising the identifier of the user and the identifier of the user segment in the standard format,
wherein the second information is published from the analytics tool to the content tool over an internal communication bus,
wherein the respective application programming interfaces are separate from the internal communication bus, and
wherein the content tool is configured to provide targeted content to the computing device of the user based on the second information identifying that the user is associated with the user segment and based on the identifier of the action and on the identifier of the parameter from the metadata.

US Pat. No. 10,210,453

BEHAVIORAL PREDICTION FOR TARGETED END USERS

Adobe Inc., San Jose, CA...

1. A device implemented at least partially in hardware to predict targeted end user behavior to facilitate opportunity tailoring, the device comprising:a behavioral prediction engine implemented in the device at least partially in the hardware, the behavioral prediction engine including modules that operate to generate a prediction model from an input of selectstream data, the modules of the behavioral prediction engine comprising:
a selectstream data obtainment module configured to obtain from a storage device the selectstream data corresponding to multiple end users, the selectstream data indicative of data object interaction by a respective end user of the multiple end users in website environments;
a directed graph construction module configured to construct multiple directed graphs, each respective directed graph constructed based on the selectstream data corresponding to the respective end user of the multiple end users, each directed graph associated with one or more invariant features that translate to marketing analytics reflective of the data object interaction by the respective end user in the website environments;
a graph feature vector computation module configured to compute multiple graph feature vectors, each respective graph feature vector computed based on the one or more invariant features associated with a respective directed graph of the multiple directed graphs, at least two of the multiple directed graphs being isomorphic having a same set of the one or more invariant features;
a prediction model generation module configured to generate the prediction model based on the multiple graph feature vectors using a machine learning system, the prediction model configured to produce a behavioral prediction responsive to targeted selectstream data that corresponds to a targeted end user associated with a first isomorphic directed graph, the behavioral predication based in part on a second isomorphic directed graph associated with an end user of the multiple end users; and
a prediction model application module configured to apply the prediction model to a targeted graph feature vector that is derived from the targeted selectstream data to produce a behavioral prediction for the targeted end user, and issue a tailored opportunity to the targeted end user based on the behavioral prediction.

US Pat. No. 10,268,883

FORM STRUCTURE EXTRACTION NETWORK

Adobe Inc., San Jose, CA...

1. A method for extracting structure from an image of a document, the method comprising:receiving a high-resolution image of said document, said high-resolution image comprising a plurality of pixels;
generating a plurality of tiles from said image, each of said tiles comprising a subset of pixels from said high-resolution image;
processing each tile separately by a neural network,
wherein processing each tile includes classifying a pixel as being associated with a document element of said document, said element comprising a fillable form field and textual content associated with said fillable form field, and
wherein processing each tile separately by the neural network comprises, for each tile, processing said tile by a convolutional network to generate a first feature map, and processing said first feature map by a 2-D recurrent neural network (“RNN”) to generate a second feature map, and processing said second feature map to generate class predictions for each pixel in said tile;
aggregating each of said respective predictions for each pixel of said high-resolution image to generate a global feature map for said document; and
generating an editable digital version of said document using the classified pixel, said editable digital version including the fillable form field and textual content.

US Pat. No. 10,204,318

PROJECT ASSET AND PREFERENCE SHARING

Adobe Inc., San Jose, CA...

1. In a digital environment in which members of teams collaborate on digital content projects, a method of sharing project assets and preferences with members of a team by at least one computing device, the method comprising:receiving, by the at least one computing device, a request to assign a project asset and a project preference to a selected member of the team, the request including an identifier of a project associated with assignment of the project asset and the project preference, the project asset comprising a created content item or tool for content creation that is usable by the selected member to modify the project, and the project preference comprising a setting to configure an application used to modify the project;
ascertaining, by the at least one computing device, a list of teams to which the selected member belongs;
checking, by the at least one computing device, assets and preferences associated with the teams on the list to identify, using the identifier, the project assets and preferences of the project that are assigned to the selected member;
generating, by the at least one computing device, a response for communication to a device associated with the selected member that includes indications of the identified project assets and preferences, the indications enabling the device associated with the selected member to download access data the application uses to surface the identified project assets and preferences in connection with modifying the project, including surfacing the project asset and the project preference assigned to the selected member according to the received request; and
communicating the response to the device associated with the selected member, the response causing the device associated with the selected member to generate a user interface, the user interface having options that are selectable by the selected member to surface the identified project assets and preferences via the application for use in modifying the project.

US Pat. No. 10,192,321

MULTI-STYLE TEXTURE SYNTHESIS

Adobe Inc., San Jose, CA...

1. A method, performed by a computing device, for synthesizing a texture image with similar texture to a selected style image, the method comprising:training a generator network to synthesize texture images depending on a selection unit input, wherein training the generator network comprises configuring the generator network to synthesize the texture images that are similar to individual style images of multiple style images based on which of the multiple style images is selected by the selection unit input;
receiving user input selecting a selected style image of the multiple style images;
determining the selection unit input corresponding to the selected style image, wherein determining the selection unit input identifies input to the generator network;
synthesizing a texture image using the generator network, wherein synthesizing the texture image comprises using the selection unit input and noise input to synthesize the texture image with texture similar to the selected style image; and
outputting the synthesized texture image, wherein the synthesized texture image comprises a newly created image that is different from the texture image.

US Pat. No. 10,311,574

OBJECT SEGMENTATION, INCLUDING SKY SEGMENTATION

Adobe Inc., San Jose, CA...

1. In a digital medium environment including an image processing application that performs object segmentation on an input image, an improved object segmentation method implemented by the image processing application, the method comprising:receiving an input image that includes an object region to be segmented;
processing the input image to provide a first segmentation that defines the object region, said processing comprising:
parsing the input image to provide a probability mask which classifies individual pixels in the input image;
determining, from a database, multiple images which have layouts at least similar to a layout of the input image, wherein the multiple images include respective masks;
processing the respective masks to provide a weighted average mask; and
combining the probability mask and the weighted average mask to provide the first segmentation.

US Pat. No. 10,298,654

AUTOMATIC UNIFORM RESOURCE LOCATOR CONSTRUCTION

Adobe Inc., San Jose, CA...

1. A computer-implemented method comprising: receiving an original uniform resource locator (URL); retrieving web content referenced by the original URL, the web content including a Hypertext Markup Language (HTML) header field having at least one keyword encoded therein; parsing the web content for the at least one keyword; automatically constructing an alternate URL, the alternate URL including a short domain name and a path portion, wherein the path portion includes the at least one keyword appended to a host domain name, the host domain name being a domain name of a host providing the web content and distinct from the short domain name; and providing the alternate URL.

US Pat. No. 10,553,250

AUTOMATIC HIGH QUALITY RECORDINGS IN THE CLOUD

Adobe Inc., San Jose, CA...

1. A system comprising a session host device including:a memory;
at least one processor coupled to the memory; and
a cloud-based service executable by the at least one processor and configured to:
receive, within an interactive, real time communication session, a plurality of streams including lossy audio signals from a plurality of session client devices;
store lossy audio tracks associated with the lossy audio signals in a first multitrack file, thereby creating a low quality recording of a conversation between a plurality of participants associated with the plurality of session client devices, the first multitrack file comprising a marker at a first temporal location within the first multitrack file;
receive a plurality of packets of including high quality audio signals from the plurality of session client devices, the high quality audio signals being either losslessly compressed or uncompressed;
store high quality audio tracks associated with the high quality audio signals in a second multitrack file;
align the second multitrack file to the first multitrack file, thereby creating a high quality recording of the conversation; and
insert another marker in the second multitrack file at a temporal location within the second multitrack file that corresponds to the first temporal location.

US Pat. No. 10,282,172

AUTHORING AND DEPLOYING TELEVISION APPS AND PAGES IN A CONTENT MANAGEMENT SYSTEM

Adobe Inc., San Jose, CA...

1. A method for using a content management system (CMS) to graphically author and deploy a page for access and display by end user devices using a television app, the method comprising the CMS:displaying a canvas in a graphical user interface (GUI) for graphically authoring a single instance of an appearance of a page;
receiving input graphically specifying the single instance of the appearance of the page using a component on the canvas, wherein:
the component is graphically authored and rendered on the canvas using a webpage format language, and
the component is compatible for rendering on end user devices in the webpage format language and in a television app page format language;
generating a page data structure defining the single instance of the appearance of the page, wherein the component is specified using alternative format languages, the alternative format languages comprising the television app page format language and the webpage format language;
deploying the page for access and display by the end user devices;
in response to requests to render the page from web browsers, rendering the page including the component using the webpage format language; and
in response to requests to render the page from television apps, rendering the page including the component using the television app page format language.

US Pat. No. 10,298,631

SOCIAL LISTENING AND FILTER RULE MODIFICATION

ADOBE INC., San Jose, CA...

1. A non-transitory computer storage medium storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:utilizing an initial listening rule to capture an initial set of social mentions from one or more social networks;
from the initial set of social mentions, receiving a subset of moderated social mentions for which moderation actions have been taken by a moderator responsible for reviewing social mentions for a company and deciding whether to take moderation actions;
analyzing text and metadata of the subset of moderated social mentions to identify common text and/or common metadata from the subset of moderated social mentions;
generating one or more new listening rules by modifying the initial listening rule with criteria corresponding to the common text and/or common metadata identified by analyzing the text and metadata of the subset of moderated social mentions; and
applying the one or more new listening rules to capture new social mentions from the one or more social networks.

US Pat. No. 10,497,104

EMPIRICAL EXPOSURE NORMALIZATION

Adobe Inc., San Jose, CA...

1. A method comprising:receiving, by a processing device, at least two digital images, one of the at least two digital images having an exposure value that is greater than another of the at least two digital images, the at least two digital images including at least some identical photographic content;
producing a reduced-resolution pair of images from the at least two digital images;
calculating, by the processing device, a light-tone representative scale factor and a dark-tone representative scale factor from the reduced-resolution pair of images;
producing, by the processing device, a light-tone empirical scale factor by selectively interpolating between the light-tone representative scale factor and a normal scale factor; and
generating, by the processing device, an empirically normalized digital image by applying, pixelwise, a function including at least the light-tone empirical scale factor to at least one of the at least two digital images.

US Pat. No. 10,331,319

OBJECTS ALIGNMENT AND DISTRIBUTION LAYOUT

Adobe Inc., San Jose, CA...

1. A method of objects alignment and distribution layout in an object layout interface as implemented in a digital environment performed by a layout module implemented at least partially in hardware of a computing device, the method comprising:displaying the object layout interface that includes objects displayed for selection and manipulation;
receiving a reposition input that repositions a selected object in the object layout interface;
determining a distribution layout of the objects based on the reposition input of the selected object;
positioning, based on the determined distribution layout of the objects, the selected object equidistant between at least two of the objects or at a distance from a closest one of the objects, the distance being an equivalent distance of a space between the at least two objects; and
displaying the space between the selected object and the at least two objects as positive space that visually indicates the equidistance between the selected object and the at least two objects.

US Pat. No. 10,331,333

TOUCH DIGITAL RULER

Adobe Inc., San Jose, CA...

1. One or more non-transitory computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:positioning a first electronic template presented on a background in accordance with one or more user interactions with a touchscreen, wherein positioning the first electronic template is based at least on a first user contact with one or more first touch points presented on a user interface via the touchscreen, wherein the one or more first touch points correspond to the presented electronic template;
upon a second user contact with one of the one or more first touch points, replacing the positioned first electronic template with a second electronic template that is of a different shape from the first electronic template;
detecting a touch path that traverses at least a portion of the touchscreen; and
drawing a stroke on the user interface:
alongside an edge of the second electronic template based on a determination that the touch path falls within a predetermined distance on the touchscreen from the edge, and
over the detected touch path based on a determination that the detected touch path exceeds the predetermined distance from the edge.

US Pat. No. 10,282,810

RENDERING ILLUSTRATIONS USING A TWO-DIMENSIONAL RENDERING ENGINE

Adobe Inc., San Jose, CA...

1. A system for rendering a two-dimensional image, the system comprising:a processor;
computer-readable storage media including instructions stored thereon that, responsive to execution by the processor, cause the system to perform operations comprising:
identifying first and second objects that define an image for rendering;
assigning a light value to the first object based on a qualification of the first object relative to a light source;
identifying a behavior that describes a relationship between the first and second objects to each other within the image, the relationship indicating a length, location, or orientation of the second object with respect to the first object within the image;
calculating a light variable is based at least in part upon the identified behavior;
assigning a light value to the second object based, at least in part, on the calculated light variable; and
rendering the image using the assigned light values of the first and second objects.

US Pat. No. 10,269,080

METHOD AND APPARATUS FOR PROVIDING A RESPONSE TO AN INPUT POST ON A SOCIAL PAGE OF A BRAND

ADOBE INC., San Jose, CA...

1. A method comprising:detecting an input post, by an apparatus comprising at least one processor, upon posting of the input post on a social page of a brand, the social page being present on a social channel;
identifying, by the apparatus, an inquiry regarding the brand from the input post;
extracting, by the apparatus, one or more keywords from the inquiry;
determining, by the apparatus, semantically equivalent terms for the extracted one or more keywords;
generating, by the apparatus, a feature vector for the input post by using the one or more keywords and the semantically equivalent terms;
determining, by the apparatus, at least one social post from already posted posts on one or more social channels, the at least one social post associated with the brand;
accessing a database storing a mapping between the feature vector for the input post and one or more posts previously determined to be relevant to the feature vector for the input post;
comparing a post time associated with the at least one social post and a latest mapping time associated with the mapping stored in the database; and
based on determining that the post time associated with the at least one social post is earlier than the latest mapping time associated with the mapping:
creating, by the apparatus, based on a similarity measure between a feature vector for the at least one social post and the feature vector for the input post, a response post using the at least one social post; and
causing to post the response post, by the apparatus, on the social page of the social channel as a reply to the input post.

US Pat. No. 10,198,791

AUTOMATIC CORRECTION OF FACIAL SENTIMENT OF PORTRAIT IMAGES

Adobe Inc., San Jose, CA...

1. A computer-implemented method for automatically correcting facial sentiment of a digital image, the method comprising:receiving a request to correct facial sentiment in a given target image;
analyzing facial data of the target image to obtain facial-based sentiment;
determining a winning sentiment based on the facial-based sentiment; and
applying the winning sentiment to at least one face included in the target image, wherein applying the winning sentiment comprises
identifying faces in the target image that do not match the winning sentiment; and
modifying one or more landmark features of each face that does not match the winning sentiment, thereby producing an edited version of the target image.

US Pat. No. 10,346,951

IMAGE CROPPING SUGGESTION USING MULTIPLE SALIENCY MAPS

Adobe Inc., San Jose, CA...

1. A method implemented by a computing device, the method comprising:obtaining input to initiate cropping of a scene;
computing multiple different saliency maps from an image of the scene; and
generating one or more suggested image croppings of the scene based on rankings assigned to multiple candidate croppings of the scene, wherein the rankings reflect an assessment of:
composition quality of the multiple candidate croppings, the assessment of the composition quality performed using a first combination of the multiple different saliency maps;
degrees of preservation of content appearing in the scene for the multiple candidate croppings, the assessment of the degrees of preservation of content performed using a second combination of the multiple different saliency maps; and
boundary simplicity of the multiple candidate croppings, the assessment of the boundary simplicity performed using a third combination of the multiple different saliency maps.

US Pat. No. 10,332,015

PARTICLE THOMPSON SAMPLING FOR ONLINE MATRIX FACTORIZATION RECOMMENDATION

Adobe Inc., San Jose, CA...

1. A recommendation system comprising:one or more server computing devices comprising one or more modules implemented at least partially in hardware and configured to perform operations comprising:
generating a recommendation of an item of a plurality of items for a user by applying a bandit algorithm to a matrix factorization model to select the item from the plurality of items;
communicating the recommendation of the item to a client device of the user over a network;
receiving, over the network, a rating of the item from the client device of the user;
updating, in real-time, both a user latent feature of the user and an item latent feature of the item of the matrix factorization model based on the rating of the item;
generating an additional recommendation of an additional item of the plurality of items for the user by applying the bandit algorithm to the updated matrix factorization model to select the additional item from the plurality of items; and
communicating the additional recommendation of the additional item to the client device of the user over the network.

US Pat. No. 10,298,721

METHOD AND SYSTEM TO DETERMINE A WORK DISTRIBUTION MODEL FOR AN APPLICATION DEPLOYED ON A CLOUD

ADOBE INC., San Jose, CA...

1. A computer-implemented method comprising:receiving a request to execute an application, wherein the application is configured to utilize computing resources from each of a client device and at least one server device;
sending the request to execute the application to the at least one server device, wherein the at least one server device is configured to execute at least a first portion of the application and to provision an application container in a virtual instance;
receiving, from the at least one server device, an indication to execute on the client device one of:
an application interface viewer to provide for display an application interface of the application on the at least one server device, or
a second portion of the application, wherein the second portion is a remaining portion of the application that is synchronized with the first portion of the application on the at least one server device; and
when the application interface viewer is executing on the client device:
detecting an operation for the application interface viewer,
in the virtual instance, translating the operation for the application, wherein translation enables the application to understand the operation, and
providing the operation, as translated, to the at least one server device.

US Pat. No. 10,296,635

AUDITING AND AUGMENTING USER-GENERATED TAGS FOR DIGITAL CONTENT

Adobe Inc., San Jose, CA...

1. In a digital medium environment to audit and augment user-generated tags for digital content by hierarchical graph modeling using tag relationships based on corpus co-occurrences between the user-generated tags to control how the digital content is retrieved when subject to a search, a method implemented by at least one computing device, the method comprising:generating, by the at least one computing device, corpuses associated with the user-generated tags, each of the corpuses configured to model a respective tag of the user-generated tags based on a collection of other user-generated tags representing different aspects of a definition of the respective tag;
creating, by the at least one computing device, a hierarchy of semantic relationships between the user-generated tags of the digital content based on the corpus co-occurrences between the user-generated tags, each corpus co-occurrence including an occurrence of one user-generated tag of a first corpus in a second corpus and a corresponding occurrence of another user-generated tag of the second corpus in the first corpus;
verifying, by the at least one computing device, which of the user-generated tags correspond to the digital content, the verifying including:
verifying a first user-generated tag of at least two user-generated tags based on a correspondence of the first user-generated tag to the digital content; and
verifying a second user-generated tag of said at least two user-generated tags by propagating the correspondence of the first user-generated tag via the hierarchy to the second user-generated tag based on a corresponding semantic relationship within the hierarchy between the first user-generated tag and the second user-generated tag; and
controlling retrieval of the digital content in response to the search by assigning, by the at least one computing device, the first user-generated tag and the second user-generated tag to the digital content based on verification of the first user-generated tag and the second user-generated tag to the digital content.

US Pat. No. 10,269,142

PROVIDING PREDICTABLE AND CUSTOMIZABLE ELECTRONIC COLOR MIXING

ADOBE INC., San Jose, CA...

1. In a digital medium environment for manipulating digital images, a computer-implemented method of mixing digital colors, comprising:receiving a selection of a first reference RGB color and a second reference RGB color for mixing;
accessing at least one predefined mixing table;
a step for identifying, without converting the first reference RGB color or the second reference RGB color to another color model and without combining RGB values of the first reference RGB color and the second reference RGB color, from the at least one predefined mixing table, a mixed output RGB color correlating to a mixture of physical pigments corresponding to the first reference RGB color and the second reference RGB color; and
providing the mixed output RGB color.

US Pat. No. 10,332,290

FAST, COVERAGE-OPTIMIZED, RESOLUTION-INDEPENDENT AND ANTI-ALIASED GRAPHICS PROCESSING

Adobe Inc., San Jose, CA...

1. A computer-implemented method for stroking a curve comprising:receiving, at a graphics processing unit, a plurality of vertices representing a control polygon of the curve, wherein the graphics processing unit maintains resolution independence from a central processing unit by:
expanding the control polygon of the curve in at least one location proximate at least one endpoint of the curve;
tessellating the control polygon into a plurality of tiles;
selecting a subset of tiles from the plurality of tiles based on each of the tiles of the subset satisfying a selection criterion;
rasterizing the curve into fragments using only the selected subset of tiles that satisfy the selection criterion, wherein the selection criteria requires a tile in the plurality of tiles to have a vertex within a threshold distance from the curve; and
rendering the curve based on the fragments.

US Pat. No. 10,319,129

SNAPPING LINE GENERATION

Adobe Inc., San Jose, CA...

1. In a digital medium environment to generate snapping lines around glyphs, a method implemented by at least one computing device, the method comprising:locating, by the at least one computing device, a plurality of bounding box lines from a plurality of glyph bounding boxes, each said glyph bounding box corresponding to a glyph for output in a user interface;
identifying, by the at least one computing device, a bounding box line of the plurality of bounding box lines as being collinear with another bounding box line of the plurality of bounding box lines;
generating, by the at least one computing device, a snapping line based at least in part on the bounding box line that is collinear with the another bounding box line; and
outputting, by the at least one computing device, the snapping line in the user interface, the snapping line operable to cause an edge of a digital object to move to the snapping line in response to input moving the edge into proximity of the snapping line in the user interface.

US Pat. No. 10,306,022

FACILITATING THE OPERATION OF A CLIENT/SERVER APPLICATION WHILE A CLIENT IS OFFLINE OR ONLINE

Adobe Inc., San Jose, CA...

1. A method, comprising:receiving, by a computing device, a request from an application running on the computing device to synchronize data on the computing device with a server while the computing device is offline;
while the computing device is offline and in response to the request:
placing, by the computing device, the data in a resource implemented in hardware of the computing device, the resource including information describing a last-synchronization time of the resource indicating a time of an update to the resource;
sending, by the computing device, an acknowledgement to the application that enables the application to continue processing before performing the requested synchronization operation with the server; and
queuing, by the computing device, the resource in a queue on the computing device for synchronization with the server, the resource being ordered in the queue based on the last-synchronization time of the resource; and
synchronizing, by the computing device, the resource in the queue with the server in response to the computing device establishing a connection with the server.

US Pat. No. 10,284,639

SYNCHRONIZED VIEW ARCHITECTURE FOR EMBEDDED ENVIRONMENT

Adobe Inc., San Jose, CA...

1. A computer-implemented method comprising:establishing (i) a first connection between a master web server executing on a master computing device and a web management system across a first data network, (ii) a second connection between the master web server and a first web server executing on a first peer computing device across a second data network, and (iii) a third connection between the master web server and a second web server executing on a second peer computing device across the second data network, wherein the first peer computing device and the second peer computing device are not connected to the first data network;
receiving, over the first data network, at the master web server, and from a web management system, a plurality of versions of electronic content;
selecting, at the master web server, from the plurality of versions of electronic content and based on network conditions of the first data network or the second data network, a version of electronic content;
transmitting, over the second data network, from the master web server to the first web server and the second web server, the version of electronic content, wherein, when the version of electronic content is received by the first web server, the version of electronic content is simultaneously displayed by: (i) a master application executing on the master computing device, wherein the master application queries the master web server, (ii) a first application executing on the first peer computing device, wherein the first application queries the first web server, and (iii) a second application executing on the second peer computing device, wherein the second application queries the second web server; and
responsive to determining, at the master web server, that a user operating the first application has created a modified version of electronic content stored on the first web server:
receiving, over the second data network, at the master web server, the modified version of electronic content from the first web server,
transmitting, over the second data network, from the master web server to the second web server, the modified version of electronic content, and
transmitting, over the first data network, from the master web server, to the web management system, the modified version of electronic content.

US Pat. No. 10,270,881

REAL-WORLD USER PROFILES VIA THE INTERNET OF THINGS

ADOBE INC., San Jose, CA...

1. A system comprising a profile storage device including:a memory;
a first network interface; and
at least one processor coupled to the memory and the first network interface and configured to:
receive, via the first network interface, first sensor data including a first sensor identifier and at least one first value of a first physical parameter measuring a first use of a first physical Internet of Things (IoT) product;
receive, via the first network interface, second sensor data including a second sensor identifier and at least one second value of a second physical parameter measuring a second use of a second physical Internet of Things (IoT) product;
receive, via the first network interface from at least one remote programmable device distinct from the first physical IoT product and the second physical IoT product, association information defining a first association between an identifier of a user and an identifier of the first physical IoT product;
receive, via the first network interface from the at least one remote programmable device, association information defining a second association between the identifier of the user and an identifier of the second physical IoT product;
classify the first sensor data to generate first usage data descriptive of the first use;
classify the second sensor data to generate second usage data descriptive of the second use;
and
associate, within an enhanced user profile describing on-line and off-line device usage, the first usage data and the second usage data with the user of the first physical IoT product and the second physical IoT product at least in part by identifying the first association, the second association, a third association between the first sensor identifier and an identifier of the first physical IoT product, and a fourth association between the second sensor identifier and an identifier of the second physical IoT product.

US Pat. No. 10,264,229

LIGHTING AND MATERIAL EDITING USING FLASH PHOTOGRAPHY

Adobe Inc., San Jose, CA...

1. At least one non-transitory computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations to generate specular free images, the operations comprising:obtaining a first image and a second image of a scene, wherein the first image was captured with ambient lighting and the second image was captured with flash lighting, wherein at least a first pixel of the first image corresponds to at least a second pixel of the second image;
determining, for at least the first pixel and at least the corresponding second pixel, an intensity value of at least a first color channel;
estimating a white balance kernel for at least the second pixel based at least in part on the intensity value of at least the first color channel determined for at least the second pixel; and
generating a specular free image of the scene based at least in part on the white balance kernel estimated for at least the second pixel and the intensity value of at least the first color channel determined for at least the first pixel.

US Pat. No. 10,264,262

CODEBOOK GENERATION FOR CLOUD-BASED VIDEO APPLICATIONS

Adobe Inc., San Jose, CA...

1. A method for generating codebooks for vector quantization of digital video content, the method comprising:performing entropy decoding on a pre-compressed training video stream to provide a decoded video stream, wherein the pre-compressed training video stream includes entropy coding;
partitioning the decoded video stream into segments, the segments including a plurality of image data segments, a plurality of motion data segments, and a plurality of control data segments;
grouping the plurality of image data segments to form a first image data vector, wherein the first image data vector is longer than each of the plurality of image data segments;
grouping the plurality of motion data segments to form a second motion data vector, wherein the second motion data vector is longer than each of the plurality of motion data segments;
grouping the plurality of control data segments to form a third control data vector, wherein the third control data vector is longer than each of the plurality of control data segments;
generating one or more entries in at least one of the codebooks, one entry at least partially based on the first image data vector, one entry at least partially based on the second motion data vector, and one entry at least partially based on the third control data vector; and
associating an index value with each of the one or more entries, wherein the index value is shorter than, and provides a compressed representation of, the entry with which it is associated.

US Pat. No. 10,262,062

NATURAL LANGUAGE SYSTEM QUESTION CLASSIFIER, SEMANTIC REPRESENTATIONS, AND LOGICAL FORM TEMPLATES

Adobe Inc., San Jose, CA...

1. In a digital medium environment to answer a question included in a natural language input, a system implemented by at least one computing device, the system comprising:a question classifier module implemented at least partially in hardware to classify the natural language input as corresponding to respective ones of a plurality of classes of questions using at least one question classification label;
a semantic extractor module implemented at least partially in hardware to extract a semantic intent of the natural language input as a semantic entity and a semantic representation of the natural language input;
a logical form selector module implemented at least partially in hardware to:
select a plurality of logical form templates, the selection based at least in part on the at least one question classification label;
rank the plurality of logical form templates based on an amount of completion of logical form slot-filling and alignment of named entity types in the natural language input to expected entity types in the logical form templates;
select one of the logical form templates based at least in part on the rank; and
at least partially fill in the selected one of the logical form templates using the semantic entity and the semantic representation;
a query mapper module implemented at least partially in hardware to produce a database query by mapping the at least partially filled in logical form to the database query, the at least partially filled in logical form including:
a pre-condition slot containing a first attribute that controls grouping of results of the database query;
a post-condition slot containing a second attribute that constrains an order of the results of the database query; and
a slot populated with an indicator of a statistical function selected based on the natural language input from a plurality of available statistical functions; and
a database query module implemented at least partially in hardware that generates an answer to the question included in the natural language input by executing the database query against a database structured in accordance with a structure of the database query, the answer providing user assistance by responding to the question.

US Pat. No. 10,248,802

DIGITAL RIGHTS MANAGEMENT USING GEOGRAPHIC AND TEMPORAL TRAITS

Adobe Inc., San Jose, CA...

1. In a digital medium environment to control access to at least one item of content by digital rights management functionality embedded as part of the content, a method implemented by a computing device, the method comprising:collecting geographic data describing geographical traits of a location associated with a request received from the user, by the computing device, to access the content;
collecting social network data from at least one social network service associated with the user that originated the request, the social network data describing a location associated with a social network post as part of the at least one social network service;
determining from the data using a digital rights management module embedded as part of the content whether the geographical traits meet specified traits of a geographical behavior of a digital rights management policy enforced by the digital rights management module for the at least one item of the content, the determining including calculating a likelihood that access to the at least one item of content will be compromised at the location associated with the user and verifying the collected geographic data describing the geographical traits of the location using the collected social network data from the at least one social network service describing the location associated with the social network post; and
responsive to a determination that the specified traits are met, permitting access to the least one item of the content, by the embedded digital rights management module, at the geographic location.

US Pat. No. 10,249,061

INTEGRATION OF CONTENT CREATION AND SHARING

Adobe Inc., San Jose, CA...

1. In a digital medium environment for locating one or more images for inclusion as part of content based at least in part on image creation functionality used to create the content, a method comprising:displaying, by one or more computing devices, a user interface including content and a plurality of image creation tools including a cropping tool, slicing tool, clone stamping tool, gradient tool, dodge tool, or path selection tool;
receiving, by the one more computing devices, a selection of one of the plurality of image creation tools via the user interface;
creating, by the one or more computing devices, the content as modified using the selected image creation tool;
responsive to the receiving of the selection, generating image creation functionality data by the one or more computing devices that identifies the selected image creation tool;
receiving, by the one or more computing devices, an input specifying a search request for the one or more images that are to be included as part of the created content;
associating the image creation functionality data with the search request automatically by the one or more computing devices; and
receiving a search result by the one or more computing devices that includes the one or more images based on the search performed using the search request and the associated image creation functionality data.

US Pat. No. 10,250,951

SYSTEMS AND METHODS FOR PLANNING, EXECUTING, AND REPORTING A STRATEGIC ADVERTISING CAMPAIGN FOR TELEVISION

ADOBE INC., San Jose, CA...

1. A computerized method for generating a user interface facility for efficiently planning advertising campaigns for TV the method comprising:receiving a set of television viewership data;
providing, for display via a client device, a campaign user interface comprising targeting characteristic selectable elements;
based on user interaction with the targeting characteristic selectable elements, receiving, from the client device, targeting characteristics for an advertising campaign;
generating a list of targeted TV ad slots by analyzing the television viewership data and the targeting characteristics; and
providing for display, via the campaign user interface of the client device with the targeting characteristic selectable elements, projected campaign results corresponding to the generated list of targeted TV ad slots, the projected campaign results comprising impressions with respect to categories of:
i) demographic viewer characteristics;
ii) strategic viewer characteristics; and
iii) a combination of demographic and strategic viewer characteristics, and
wherein the projected campaign results with respect to each of the categories is displayed separately.

US Pat. No. 10,235,681

TEXT EXTRACTION MODULE FOR CONTEXTUAL ANALYSIS ENGINE

Adobe Inc., San Jose, CA...

1. A method for extracting text from digital content, the method comprising:receiving a webpage that includes at least one content item and an executable item that, when executed, generates dynamic content;
receiving a plurality of modular extraction rules, execution of which leverages functionality provided by a programming library;
injecting the programming library into a security sandbox;
invoking a headless browser in the security sandbox;
using the headless browser to process the webpage and execute the modular extraction rules in the security sandbox, thereby causing the dynamic content to be generated without displaying the webpage;
filtering the executable item from the webpage and the generated dynamic content to produce a filtered corpus of plain text that does not include the executable item, but that does include the at least one content item and the generated dynamic content; and
generating a hierarchical output schema that includes a first analyzer/enhancer sub-node that includes an identification of the modular extraction rules that were executed in the security sandbox, and a second analyzer/enhancer sub-node that includes the filtered corpus of plain text.

US Pat. No. 10,366,440

MONITORING CONSUMER-PRODUCT VIEW INTERACTION TO IMPROVE UPSELL RECOMMENDATIONS

Adobe Inc., San Jose, CA...

7. A computer-implemented method for improving upsell recommendations, the method comprising:providing a user interface, via an administration portal, wherein the user interface is configured to receive user inputs that define at least one region associated with a visual representation of the product;
receiving a set of user-defined boundaries that correspond to a stored visual representation of a product, wherein the set of user-defined boundaries define at least one region of the stored visual representation;
receiving, by a server device, a set of defined feature tags that each corresponds to one of a set of defined categories associated with a selected product; assigning, by the server device, each defined feature tag to the at least one user-defined region in a set of regions defined for the stored visual representation of the product;
associating at least one of the plurality of feature tags with the one or more user-defined regions associated with a visual representation of the product;
receiving, by the server device, at least one detected interaction time that each corresponds to one of the at least one user-defined feature-tagged region of the stored visual representation; and
generating, by the server device, a set of product recommendations based on the received at least one detected interaction time, each product recommendation in the set being generated based on one of the received at least one detected interaction time and the at least one defined feature tag associated with the corresponding user-defined feature-tagged region.

US Pat. No. 10,346,996

IMAGE DEPTH INFERENCE FROM SEMANTIC LABELS

Adobe Inc., San Jose, CA...

1. In a digital medium environment including one or more computing devices to control a determination of depth within an image, a method comprising:decomposing one of a plurality of semantically labeled regions of an image by the one or more computing devices into a plurality of segments formed as planes of the one semantically labeled region, the plurality of segments of the one semantically labeled region being generally perpendicular to a ground plane of the image;
inferring depth of at least one of the plurality of segments by the one or more computing devices based on a depth of a location of the ground plane that is contacted by the at least one of the plurality of segments; and
forming a depth map by the one or more computing devices that describes depth for the one semantically labeled region based at least in part on the inferred depths for the at least one of the plurality of segments.

US Pat. No. 10,346,020

RELATIVELY CHANGING A PARAMETRIC VALUE USING A PRESSURE SENSITIVE USER INTERFACE ELEMENT

Adobe Inc., San Jose, CA...

1. A computer-implemented method for using a pressure sensitive user interface (UI) element of a display screen, the method comprising:activating the UI element in response to pressure signals received at a touch point on the display screen, wherein the activated UI element includes a first indicator of a pressure value, and a second indicator of a current value of a parameter;
in response to continued receipt of the pressure signals after the UI element is activated, modifying the pressure value and manipulating the corresponding first indicator;
unlocking the activated UI element when the pressure value falls within a first window of the current value for a first time period, wherein the first and second indicators overlap to form a combined indicator after the activated UI element is unlocked;
in response to continued receipt of the pressure signals after the UI element is unlocked, modifying the current value and manipulating the corresponding second indicator; and
deactivating and locking the UI element in response to a lack of pressure signals received at the touch point of the UI element,
wherein after the UI element is activated but before the UI element is unlocked, the first indicator is movable in response to the pressure signals, and second indicator remains stationary.

US Pat. No. 10,347,052

COLOR-BASED GEOMETRIC FEATURE ENHANCEMENT FOR 3D MODELS

ADOBE INC., San Jose, CA...

1. A computer-implemented method, comprising:projecting a part of a 3D model into a 2D space to form an image;
detecting a plurality of pixels associated with an edge in the image based on vertex color information of the part of the 3D model; and
enhancing geometric contrast of vertices on the part of the 3D model associated with the plurality of pixels in the image by displacing a plurality of vertices on the part of the 3D model, the plurality of vertices being associated with the plurality of pixels in the image.

US Pat. No. 10,346,861

ADAPTIVE SAMPLING SCHEME FOR IMBALANCED LARGE SCALE DATA

ADOBE INC., San Jose, CA...

1. One or more computer storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for providing adaptive sampling scheme for imbalanced large scale data set, the method comprising:receiving, over a wired or wireless computer network, a stream of sample data points from the imbalanced large scale data set, the imbalanced large scale data set corresponding to network traffic data associated with one or more server computing devices;
adding positive samples from the stream of sample data points to a positive list until the positive list contains a desired number of positive samples, the desired number of positive samples being equal to a target number of observations in a sample times the number of parameters to be estimated in the imbalanced large scale data set times a multiplier;
adding negative samples from the stream of sample data points to a negative list until the negative list contains a desired number of negative samples;
combining the positive list with the negative list to generate a combined sample list, the combined sample list comprising a random sample of the imbalanced large scale data set;
shuffling the positive samples and the negative samples in the combined sample list;
feeding the combined sample list into a prediction model enabling the prediction model to provide predictive capabilities with negligible variance for the imbalanced large scale data set; and
providing, over the wired or wireless computer network and to the one or more server computing devices, an estimate associated with the predictive capabilities.

US Pat. No. 10,334,222

FOCUS-BASED VIDEO LOOP SWITCHING

Adobe Inc., San Jose, CA...

1. A method performed by one or more processing device for performing focus-based video loop switching when displaying video content to a user, the method comprising:determining that a start frame and an end frame of a video portion have a threshold similarity, wherein the video portion is a portion of the video content and is within a current region of interest presented to a user on a presentation device, wherein determining that the start frame and the end frame of a video portion have the threshold similarity comprises:
computing a distance between a start-frame feature vector generated for the start frame and an end-frame feature vector generated for the end frame, and
determining that the distance is within a threshold distance;
selecting, based on the threshold similarity, the video portion as a loop to be displayed to the user in an updated region of interest in the video content; and
causing the presentation device to display the video portion as the loop.

US Pat. No. 10,318,128

IMAGE MANIPULATION BASED ON TOUCH GESTURES

Adobe Inc., San Jose, CA...

1. One or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:determining a center point for an image region of a displayed image based on a first touch input by a user received through a physical touch interface, the image region being a portion of an image being edited;
using the center point and a radius to determine the image region to be manipulated within the displayed image;
detecting a second touch input by the user received through the physical touch interface to manipulate the image region, wherein the second touch input is used to determine a manipulation to apply to the image region and
editing the image by manipulating the image region, wherein when the second touch input comprises a stroke input, the image is edited using a scaling manipulation, the scaling manipulation having a first magnitude at the center point of the image region and a second magnitude approaching an edge of the image region, wherein the first magnitude is greater than the second magnitude.

US Pat. No. 10,319,412

ROBUST TRACKING OF OBJECTS IN VIDEOS

ADOBE INC., San Jose, CA...

1. In a digital environment for tracking objects in videos, a method of identifying objects in videos comprising:receiving a video;
extracting a plurality of video frames from the video;
generating an image search index from the plurality of video frames;
receiving an indication of a query object within one or more key frames of the plurality of video frames; and
for each of the plurality of video frames in the image search index:
determining a similarity score between a key frame and the video frame based on a search area in the key frame, wherein a size of the search area is determined based on a distance between the key frame and the video frame, and
generating a voting map that utilizes the determined similarity score to localize the query object in the video frame.

US Pat. No. 10,297,088

GENERATING ACCURATE AUGMENTED REALITY OBJECTS IN RELATION TO A REAL-WORLD SURFACE VIA A DIGITAL WRITING DEVICE

ADOBE INC., San Jose, CA...

1. In a digital medium environment for generating augmented reality objects, a computer-implemented method of creating and arranging a digital object on an augmented reality representation of a real-world drawing space comprising:detecting, by way of a pressure sensor of a writing device, an initial contact of the writing device with a real-world surface;
determining, in response to the detected initial contact and by way of a locator element associated with the writing device, an initial location of the writing device;
detecting real-world movement of a tip of the writing device relative to the initial location by:
tracking motion of a reflective motion detector element located on the writing device and that is operable to reflect light within a range of light wavelengths; and
determining, during the real-world movement, a position of the tip of the writing device relative to the reflective motion detector element; and
rendering, by way of an augmented reality device and based on the detected real-world movement of the tip of the writing device, an augmented reality object such that the augmented reality object appears to be drawn on the real-world surface.

US Pat. No. 10,290,112

PLANAR REGION GUIDED 3D GEOMETRY ESTIMATION FROM A SINGLE IMAGE

Adobe Inc., San Jose, CA...

1. A system for enhancing an image, the system comprising:at least one memory including instructions; and
at least one processor that is operably coupled to the at least one memory and that is arranged and configured to execute instructions that, when executed, cause the at least one processor to implement an application, the application comprising:
one or more convolutional neural networks (CNNs) configured to:
receive an image depicting one or more objects in the image, wherein the image is a single two dimensional (2D) image, and
process the image to determine normals, depths, planarity and edge strength of pixels of the image; and
a regularizer configured to output a three dimensional (3D) geometry of the objects in the image using the normals, the depths, the planarity and the edge strength of the pixels of the image.

US Pat. No. 10,290,146

DISPLAYING DEPTH EFFECTS IN DIGITAL ARTWORK BASED ON MOVEMENT OF A DISPLAY

Adobe Inc., San Jose, CA...

1. A method, performed by a computing device, for displaying depth effects in digital artwork based on movement of a display, the method comprising:displaying a first rendering of the digital artwork on the display, the digital artwork including a reference plane and a displacement map, the displacement map indicating, for each pixel in the digital artwork, a depth from the reference plane, the displacement map defining a surface of the artwork above the reference plane;
determining a movement of the display based on motion information from a motion sensor associated with the display;
based on the movement of the display, determining a relative position of the digital artwork to a fixed gaze direction and a fixed light direction in a 3 dimensional (3D) model, the relative position defining a relative gaze direction;
determining, for each pixel, a respective parallax offset based on a difference between intersection of the relative gaze direction with the displacement map and intersection of the relative gaze direction with the pixel on the reference plane of the digital artwork by:
determining a position of the pixel on a virtual plane relative to the reference plane-for a straight-on gaze direction, the virtual plane being parallel to the reference plane, and
determining a corresponding offset pixel for the pixel, the corresponding offset pixel being at an intersection of the relative gaze direction and the displacement map; and
displaying a second rendering of the digital artwork on the display, wherein displaying the second rendering comprises displaying a depth effect based on the respective parallax offset of each pixel by displaying, for each pixel, a color value of the corresponding offset pixel at the position of the pixel on the virtual plane.

US Pat. No. 10,275,145

DRAWING SUPPORT TOOL

Adobe Inc., San Jose, CA...

1. A computer-implemented method comprising:displaying a shape and a buffer region that is adjacent to an edge of the shape on a graphical user interface;
detecting an input to the shape on the graphical user interface;
responsive to detecting the input to the shape, moving the shape, a child shape, and the buffer region according to a hierarchy of connected shapes, the child shape being connected to the shape and moving in accordance with constraints imposed by the shape until the child shape has been moved outside a snapping range;
receiving a set of drawing data located within the buffer region and outside the buffer region; and
displaying, on the graphical user interface, a subset of the set of drawing data that is located within the buffer region at a predetermined distance from the edge of the shape.

US Pat. No. 10,275,791

SYSTEMS AND TECHNIQUES FOR CONFIGURING AN ELECTRONIC COMMUNICATION BASED ON IDENTIFIED PREFERRED CHANNELS OF SHARING

Adobe Inc., San Jose, CA...

1. A method for sending marketing communications with sharing options configured based on category-specific sharing preferences of target recipients, the method comprising:receiving, at a computing device, a marketing communication of a marketing campaign and identifying a category of the marketing campaign;
retrieving, by the computing device from a database, a customer profile of a target recipient of the marketing communication, the customer profile indicating a number of shares by the target recipient of marketing communications associated with the category over a data network using each of a plurality of channels of sharing;
determining, from the customer profile, by the computing device, a first preferred channel of sharing and a second preferred channel of sharing of the plurality of channels of sharing, the first preferred channel of sharing having the greatest of the number of shares and the second preferred channel of sharing having the second greatest of the number of shares;
adding to the marketing communication, by the computing device, at least a first sharing option corresponding to the first preferred channel of sharing and a second sharing option corresponding to the second preferred channel of sharing, the first sharing option comprising a first selectable user interface element for initiating further sharing by the target recipient of a marketing message included in the marketing communication over the first preferred channel, and the second sharing option comprising a second selectable user interface element for initiating further sharing by the target recipient of the marketing message over the second preferred channel, wherein the first sharing option is displayed more prominently than the second sharing option;
wherein the first selectable user interface element comprises a first embedded link directed to a tracking server device and is configured to cause the tracking server device to redirect the marketing message to a first server device associated with the first preferred channel, and wherein the second user selectable interface element comprises a second embedded link directed to the tracking server device and configured to cause the tracking server device to redirect the marketing message to a second server device associated with the second preferred channel;
sending, by the computing device, over the data network, the marketing communication to a second computing device accessed by the target recipient, wherein a selection of one of the first sharing option or the second sharing option causes an activation applicable to one of the first embedded link or the second embedded link, which configures the second computing device to send the marketing message to the tracking server device over the data network for redirection to the applicable one of the first server device or the second server device;
receiving, by the computing device, from the tracking server device over the data network, an indication of the selected one of the first sharing option or the second sharing option; and
accessing, by the computing device, the database, and updating the customer profile of the target recipient to increase the number of shares for the applicable one of the first preferred channel or the second preferred channel.

US Pat. No. 10,270,870

PASSIVELY MONITORING ONLINE VIDEO VIEWING AND VIEWER BEHAVIOR

ADOBE INC., San Jose, CA...

1. A computer-implemented method of performing analytics of viewing of video clips comprising:monitoring, by a video analytics server, videos viewed by client devices;
identifying IP addresses of the client devices having viewed the videos;
maintaining a history file of video identifiers that identify videos that have been viewed during a predefined period of time from each IP address of the IP addresses;
detecting that a video corresponding to one of the video identifiers has been viewed a number of times from a given IP address that is above a threshold value within the predefined period of time;
determining that attempts are being performed by browser refreshes or scripting that artificially inflate a view count based on the video having been viewed the number of times from the given IP address that is above the threshold value within the predefined period of time; and
discarding subsequent views of the video at the given IP address that has been viewed the number of times from the given IP address that is above the threshold value within the predefined period of time.

US Pat. No. 10,269,151

EFFICIENTLY RENDERING CUBIC BEZIER CURVES TO PRODUCE ACCURATE ANTI-ALIASED CONTENT

ADOBE INC., San Jose, CA...

1. In a digital medium environment for rendering vector-based graphics, a computer-implemented method of rendering convex geometry bounded by cubic Bezier splines, the method comprising:identifying a monotonic segment portion of a cubic Bezier spline;
generating a data representation of the segment portion, the data representation of the segment portion defining a control triangle that encompasses the monotonic segment portion;
generating, at a graphics processing unit (GPU) of a computing device and based on attributes of the control triangle, anti-aliasing triangles that are offset from the monotonic segment portion; and
rendering, at the GPU of the computing device, the monotonic segment portion of the cubic Bezier spline based at least in part on pixel positions with respect to the control triangle and the anti-aliasing triangles.

US Pat. No. 10,249,067

CONTROL OF SHAPE INTERACTION IN A USER INTERFACE

Adobe Inc., San Jose, CA...

1. A method of controlling user interface shape interaction by a computing device, the method comprising:displaying, by the computing device, a shape in a graphical user interface, the shape described using a plurality of points, each of the points having an associated radius;
detecting, by the computing device, an input involving modification of the associated radius of one point of the plurality of points;
determining, by the computing device, whether the modification of the associated radius of the one point causes an intersection of the associated radius of at least one other point of the plurality of points neighboring the one point;
responsive to the determining that the modification causes the intersection, modifying, by the computing device, the associated radius of the at least one other point of the plurality of points neighboring the one point such that the associated radius of the one point is maintained and intersection does not occur; and
displaying, by the computing device, the shape as having the modified associated radius of the one point.

US Pat. No. 10,242,101

AUTOMATIC IDENTIFICATION OF SOURCES OF WEB METRIC CHANGES

Adobe Inc., San Jose, CA...

1. A method implemented by at least one computing device to report sources contributing to changes in web metrics via web analytics tools, the method comprising:determining one or more changes in a web metric that indicates a measurable attribute associated with a website;
identifying sources that contributed to the one or more changes in the web metric by at least:
querying data to obtain actual values for dimension elements along a plurality of dimensions of the web metric during a time duration when the one or more changes occurred;
estimating expected values for the dimension elements along the plurality of dimensions of the web metric during the time duration when the one or more changes occurred, the expected values being estimated based on patterns established in historical data;
calculating deviations between the actual values and the expected values;
determining relative amounts respective dimension elements of different dimensions of the plurality of dimensions contribute to the one or more changes in the web metric, a relative amount a respective dimension element contributes to the one or more changes in the web metric being comparable to the relative amounts other respective dimension elements contribute to the one or more changes in the web metric, and the relative amounts determined by computing comparable statistics for the respective dimension elements as a function of one or more standard normal distributions of the deviations; and
analyzing the relative amounts the respective dimension elements of the different dimensions contribute to the one or more changes in the web metric to identify corresponding dimension elements as the sources that contributed to the one or more changes in the web metric; and causing display of the identified sources via a user interface of a web analytics tool.

US Pat. No. 10,241,661

PROBABILISTIC DETERMINATION OF SELECTED IMAGE PORTIONS

Adobe Inc., San Jose, CA...

1. A method implemented by a computing device to define a selected portion of an image, the method comprising:receiving a negation input indicating not to include a portion of an image as part of a selected portion of the image, the image displayed via a display device associated with the computing device, and the negation input received using at least one of touch functionality of the display device or an input device communicably coupled to the computing device;
determining, from pixels of the image that correspond to the negation input, at least one center pixel of the negation input;
determining probabilities that the pixels corresponding to the negation input are intended to be included as part of the selected portion of the image based on a difference in a visual characteristic with the at least one center pixel of the negation input;
applying a segmentation technique to the image to segment the selected portion from a remainder of the image, the segmentation technique identifying the pixels of the image as part of the selected portion or as part of the remainder of the image based, in part, on the probabilities; and
generating selected portion data that defines the selected portion according to the segmentation of the selected portion from the remainder of the image.

US Pat. No. 10,241,989

DISPLAYING DOCUMENT MODIFICATIONS USING A TIMELINE

ADOBE INC., San Jose, CA...

1. A method of presenting document changes, comprising:identifying changes made to content within a document;
providing, within a graphical user interface, a timeline interface comprising an interactive timeline representing a chronological order of a plurality of states of the document corresponding to the changes made to the content within the document, the interactive timeline comprising a control and one or more markers indicating a change to the document;
detecting, via positioning of the control, a selection of a marker of the one or more markers;
determining, by at least one processor, a state of the document of the plurality of states of the document and one or more changes of the changes made to the content within the document for a time corresponding to a position of the control at the marker;
providing, within the timeline interface, a view of the state of the document at the time corresponding to the position of the control by overlaying the one or more changes for the time corresponding to the position of the control on an original version of the document;
receiving, within the timeline interface, a user input requesting to add a new change to the content within the document at the time corresponding to the position of the control in the interactive timeline;
modifying, in response to the received user input within the timeline interface, the document to include the new change to the content within the timeline interface;
adding a new state of the document to the interactive timeline, the new state comprising a version of the document including the new change to the content according to the user input; and
repositioning, in response to the adding the new state of the document to the interactive timeline based on the received user input within the timeline interface, the position of the control to a location corresponding to the new state within the interactive timeline.

US Pat. No. 10,242,033

EXTRAPOLATIVE SEARCH TECHNIQUES

Adobe Inc., San Jose, CA...

1. A computing device comprising:a processing system;
one or more computer readable media storing instructions executable via the processing system to cause the computing device to perform operations to derive theme phrases corresponding to selected text of a document for use in a search including:
identifying, by the computing device, text of the document to utilize for theme derivation in connection with insertion of a stock image at a position within the document that corresponds to the text;
forming, by the computing device, a phrase array for the text by separating the text into constituent phrases;
generating, by the computing device, a hashmap of words contained in the text that maps different words to relevance values derived for the different words;
recognizing, by the computing device, a set of documents that are similar to the document based on comparison of the phrase array and hashmap for the document to phrase arrays and hashmaps computed for documents included in an established source collection;
producing, by the computing device, an array of dominant words that are similar across the document and the set of documents by:
sorting, by the computing device, elements of the hashmap for the document and the hashmaps computed for the documents included in the established source collection according to the relevance values; and
populating, by the computing device, the array of dominant words with top-ranked elements of the hashmap and the hashmaps according to the sorting until a defined threshold number of words have been added to the array of dominant words;
establishing, by the computing device, dominant phrases having words included in the array of dominant words as theme phrase candidates for the text; and
utilizing, by the computing device, one or more of the dominant phrases as theme phrases for a search to obtain suggested images for insertion at the position within the document.

US Pat. No. 10,217,253

METHODS AND APPARATUS FOR SIMULATION OF A STATEFUL BRUSH TIP IN A NATURAL MEDIA DRAWING AND/OR PAINTING SIMULATION

Adobe Inc., San Jose, CA...

1. A method, comprising:modeling a tip of a brush tool using a data structure, the tip representing an erodible media that includes a hardness parameter;
receiving from an input device, a user input representing a stroke made by the brush tool on a virtual canvas, the user input defining six degrees of freedom (6DOF) data including position and orientation of the input device, wherein the stroke is initiated with the tip in a first state;
determining a closest point of the tip to the virtual canvas, and mapping a height at which the closest point is in contact with the canvas to zero pressure;
determining an amount of an erodible tip geometry that is below a pre-determined deposition threshold above the canvas, and creating a stamp image dependent on the determined amount of erodible tip geometry;
determining an intensity of each pixel of the stamp dependent on a depth at which each pixel is below the pre-determined deposition threshold;
rendering a mark for display on the virtual canvas dependent on the stamp and the determined intensity of each pixel of the stamp;
determining a second state of the tip dependent on the first state of the tip, the user input, and the mark rendered on the virtual canvas, wherein the second state represents a worn version of the first state; and
storing the second state of the tip using the data structure.

US Pat. No. 10,204,656

VIDEO PROCESSING ARCHITECTURES WHICH PROVIDE LOOPING VIDEO

ADOBE INC., San Jose, CA...

8. A system for providing looping video, comprising:a means for converting a high-resolution video clip to a lower-resolution video clip;
a means for creating a plurality of edgemaps of the lower-resolution video clip;
a means for forming, using the lower-resolution video clip and the plurality of edgemaps, a confusion matrix that identifies pixels that are parts of edges;
a means for filtering the confusion matrix;
a means for determining a candidate transition point by identifying a minimum value in the filtered confusion matrix; and
a means for rendering a candidate looping video including the candidate transition point.

US Pat. No. 10,199,070

DIGITAL AUDIO DATA USER INTERFACE CUSTOMIZATION BASED ON USER EXPERTISE, CONTENT TYPE, OR TESTING

Adobe Inc., San Jose, CA...

1. In a digital medium environment to configure a user interface to edit audio data, a method implemented by at least one computing device, the method comprising:receiving, by the at least one computing device, an indication of a mix type assigned to the audio data, the mix type defining content of the audio data according to a source of the content;
determining, by the at least one computing device, an effects control that corresponds to the mix type, the effects control controlling an audio effect applicable to the audio data;
generating, by the at least one computing device, a user interface as including the effects control;
displaying, by the at least one computing device, the user interface including displaying the effects control with a single adjuster that adjusts at least one adjustable parameter of an effects processor corresponding to the audio effect, the effects processor modifying the audio data when the audio effect is applied to the audio data; and
receiving a mapping describing how adjustment of the single adjuster is mapped to adjustment of multiple adjustable parameters comprising the at least one adjustable parameter by interpolating the multiple adjustable parameters between keyframe values.

US Pat. No. 10,769,495

COLLECTING MULTIMODAL IMAGE EDITING REQUESTS

Adobe Inc., San Jose, CA...

1. In a digital medium environment to create multimodal image editing requests, a method implemented by a computing device, the method comprising:displaying a pair of images including a first image and a second image that includes an edit of the first image;
presenting an option to skip the pair of images, the option including that the first image and the second image are too similar;
recording a multimodal image editing request that includes a user gesture and a voice command that describe the edit of the first image;
receiving a user transcription of the voice command;
generating a data object in a searchable format, the data object including the voice command, the user gesture, and the user transcription; and
training a neural network to recognize the multimodal image editing requests using the data object and the first image as inputs of the neural network and the second image as an output of the neural network.

US Pat. No. 10,346,727

UTILIZING A DIGITAL CANVAS TO CONDUCT A SPATIAL-SEMANTIC SEARCH FOR DIGITAL VISUAL MEDIA

ADOBE INC., San Jose, CA...

1. In a digital medium environment, a computer-implemented method of searching for and identifying digital images based on semantic and spatial information, the method comprising:receiving a query for a target image, wherein the query comprises a first user input of a query area and a second user input of a query term via a digital canvas, wherein the query term indicates targeted visual content for the target image and the query area comprises a shape defining a targeted region within the target image in which the targeted visual content is displayed;
a step for generating a query feature set from the query area and the query term using a query neural network; and
identifying, from a plurality of digital images, a digital image portraying the targeted visual content within the targeted region by comparing the query feature set to feature sets learned from the plurality of digital images using a digital image neural network.

US Pat. No. 10,341,199

STATE SYNCHRONIZATION IN A SERVICE ENVIRONMENT

Adobe Inc., San Jose, CA...

1. A system comprising:one or more processors; and
one or more computer-readable storage media storing computer-executable instructions that, responsive to execution by the one or more processors, cause the system to implement functionalities including:
a configuration manager configured to maintain resource models that each correspond to a different respective role in a service environment and that represent state descriptions for nodes in the service environment that correspond to different respective roles such that a different respective resource model exists for each different respective role, the resource models not including code for synchronizing individual nodes to their respective state description;
a deployment orchestrator configured to ascertain that nodes associated with different roles in the service environment are to synchronize their state in an order specified based on their respective roles, and notify the nodes in the specified order based on their respective roles;
a resource repository that is implemented independently of the configuration manager and the deployment orchestrator and that is configured to:
store configuration packages for updating states of the nodes in the service environment, the configuration packages including code for implementing the resource models; and
respond to a query from a respective agent that resides on a respective node with a configuration package that includes code for synchronizing the respective node with the respective resource model; and
an agent associated with a particular role and that resides on a particular node in the service environment, the agent configured to:
query the configuration manager to determine a particular resource model associated with the particular role; and
query the resource repository for a particular configuration package for synchronizing the particular node with the particular resource model.

US Pat. No. 10,332,262

REMOVAL OF BACKGROUND INFORMATION FROM DIGITAL IMAGES

Adobe Inc., San Jose, CA...

11. A computing system comprising:means for dividing a greyscale encoded image into a first set of subsections and a second set of subsections;
means for independently converting each subsection of the first set of subsections and the second set of subsections to binary color encoding;
means for forming a revised first set of subsections by independently removing any background portions from each subsection of the first set of subsections;
means for combining the revised first set of subsections to generate a first modified version of a digital image;
means for forming a revised second set of subsections by identifying a subset of the second set of subsections that contain foreground information and removing any background portions from each subsection in the subset of the second set of subsections;
means for combining the revised second set of subsections to generate a second modified version of the digital image;
means for creating a revised image by merging the first modified version of the digital image and the second modified version of the digital image; and
means for causing storage of the revised image to digital storage.

US Pat. No. 10,290,322

AUDIO AND VIDEO SYNCHRONIZING PERCEPTUAL MODEL

Adobe Inc., San Jose, CA...

1. A computer-readable storage medium of a computing device having stored thereon a synchronized production, the synchronized production comprising:audio data having perceptual characteristics indicative of an emotional impact on a listener; and
video data having changes between different portions of the video, the synchronized production having the changes of the video data synchronized with transitions in the audio data based on:
detection of the perceptual characteristics in the audio data;
assignment of values to the detected perceptual characteristics in the audio data;
normalization of the assigned values producing normalized values for the detected perceptual characteristics;
application of a threshold to the normalized values;
determination of the transitions in the audio data at which to synchronize the changes in the video based on the application of the threshold; and
generation of the synchronized production having the changes in the video synchronized with the transitions in the audio data.

US Pat. No. 10,282,815

ENVIRONMENTAL MAP GENERATION FROM A DIGITAL IMAGE

Adobe Inc., San Jose, CA...

12. In a digital medium environment to generate an environmental map of a digital image, an environmental mapping system comprising:a content aware scaling module implemented at least partially in hardware of a computing device to scale the digital image to achieve a target aspect ratio using a content aware scaling technique;
a canvas generation module implemented at least partially in hardware of a computing device to generate a canvas that is dimensionally larger than the scaled digital image and insert the scaled digital image within the canvas thereby resulting in an unfilled portion of the canvas; and
an environmental mapping module implemented at least partially in hardware of a computing device to generate the environmental map of the digital image based on the canvas, the environmental map encoding light information of the digital image.

US Pat. No. 10,277,611

ABATING PADDING ORACLE ATTACKS

ADOBE INC., San Jose, CA...

1. In a digital medium environment in which network requests are received at one or more servers, a method for abating padding oracle attacks comprising:receiving an electronic message comprising one or more unpadded blocks and at least one padding block that fills the electronic message out to a uniform length;
generating a digest of the electronic message by processing the one or more unpadded blocks of the electronic message and excluding the at least one padding block of the electronic message;
determining whether an entry indicative of the digest of the electronic message exists in a database;
if an entry associated with the digest does not exist in the database, adding an entry associated with the digest to the database that comprises a counter associated with the entry; and
if an entry associated with the digest exists in the database, incrementing the counter associated with the entry;
determining, based on the counter associated with the entry, whether the electronic message is part of a padding oracle attack; and
if, based on the determination, the received electronic message is not part of a padding oracle attack, forwarding the received one or more unpadded blocks and the received at least one padding block of the electronic message to an oracle server device; and
if, based on the determination, the received electronic message is part of a padding oracle attack, blocking the received one or more unpadded blocks and the received at least one padding block of the electronic message from reaching the oracle server device.

US Pat. No. 10,269,033

EXPANDED OVERLAY STATE FOR CAMPAIGN PERFORMANCE DATA SNAPSHOT CARDS

Adobe Inc., San Jose, CA...

1. A method of displaying data generated in an online marketing campaign, the method comprising:causing a first computer display to display a data card in a card board interface that is shared amongst a plurality of campaign members, the plurality of campaign members having different roles, each of the campaign members being presented with the same data card in the same card board interface, wherein the data card that is shared amongst the plurality of campaign members includes a first dataset received from a particular campaign application, and wherein some but not all of the campaign members have access to the particular campaign application;
in response to receiving a selection indication from a first campaign member with respect to the data card via the card board interface that is displayed on the first computer display, causing the first computer display to display a first expanded overlay state of the data card to the first campaign member, wherein the first campaign member is associated with a first role in the online marketing campaign;
providing, in the first expanded overlay state that is displayed on the first computer display, an expanded dataset that is received from the particular campaign application and a first hyperlink that depends on the first role, wherein the expanded dataset includes information provided in the first dataset as well as supplemental information received from the particular campaign application, and wherein the expanded dataset is provided in the first expanded overlay state to allow the first campaign member to access the supplemental information received from the particular campaign application;
in response to receiving a selection indication from a second campaign member with respect to the data card that is displayed on a second computer display, causing the second computer display to display a second expanded overlay state of the data card to the second campaign member, wherein the second campaign member is associated with a second role in the online marketing campaign; and
providing, in the second expanded overlay state that is displayed on the second computer display, the same expanded dataset that was provided in the first expanded overlay state, and a second hyperlink that depends on the second role, wherein the expanded dataset is provided in the second expanded overlay state to allow the second campaign member to access the supplemental information received from the particular campaign application;
wherein the first hyperlink is not provided in the second expanded overlay state and the second hyperlink is not provided in the first expanded overlay state; and
wherein displaying the data card in the card board interface comprises causing display of the card board interface to the first and second campaign members on the respective first and second displays.

US Pat. No. 10,269,047

PROVIDING ADVERTISEMENTS IN RESPONSE TO IDLE TIME DURING NAVIGATION ON AN ELECTRONIC DEVICE

Adobe Inc., San Jose, CA...

1. A computer implemented method comprising:providing a navigation area for an electronic device, the navigation area comprising a plurality of items, wherein a focus indicator distinguishes a focused item from other items of the plurality of items within the navigation area, wherein input on the electronic device changes the focus indicator to change which of the plurality of items is the focused item;
providing a preview area for the electronic device, the preview area displayed simultaneously with and separate from the navigation area, the preview area displaying preview content associated with the focused item;
monitoring an amount of idle time since a last input on the electronic device, wherein an advertisement is triggered when the amount of idle time since the last input on the electronic device exceeds a threshold value, wherein the advertisement is selected from a plurality of received advertisements based on the focused item; and
when the advertisement is triggered, providing the advertisement on the preview area on the electronic device.

US Pat. No. 10,262,680

VARIABLE SOUND DECOMPOSITION MASKS

Adobe Inc., San Jose, CA...

1. A method implemented by at least one computing device, the method comprising:generating, by the at least one computing device, a first spectrogram by processing sound data to learn spectral components and weights for a first portion of the sound data describing sound from a first source;
generating, by the at least one computing device, a second spectrogram by processing the sound data to learn spectral components and weights for a second portion of the sound data describing sound from a second source;
receiving a user input to define a threshold that is variable based on the user input and configured for use in performing a sound decomposition process, the threshold defining a relationship between the first and second sources;
generating, by the at least one computing device, a mask usable to assign particular time/frequency bins of a plurality of time/frequency bins of the sound data to respective sources, each particular time/frequency bin corresponding to a respective time/frequency combination within the sound data, a content of the mask determined for each particular time/frequency bin based on the defined relationship as applied to the respective spectral components and weights of the first and second spectrograms at the respective time/frequency bin; and
performing, by the at least one computing device, the sound decomposition process on the first spectrogram by using the mask to assign each of the time/frequency bins of the first spectrogram to a respective one of the first source or the second source.

US Pat. No. 10,262,694

MULTIMEDIA CONTENT DURATION MANIPULATION

Adobe Inc., San Jose, CA...

1. A method for manipulating a duration of a content item, the method comprising:receiving a content item that comprises a plurality of video frames;
calculating a plurality of inter frame distance (IFD) values associated with the content item, wherein each of the IFD values represents a difference between baseline pixel luminosities associated with two adjacent video frames that comprise the content item;
selecting an initial set of frame positions at least partially based on the plurality of IFD values and a minimum time gap G separating the frame positions;
adjusting the frame positions using a numerical optimization technique; and
modifying a duration of the content item by manipulating one or more video frames at the adjusted frame positions;
wherein each of the IFD values is calculated by:
(a) determining a first luminosity of a first pixel comprising a first video frame;
(b) determining a second luminosity of a second pixel comprising a second video frame that is adjacent to the first video frame, wherein the first and second pixels correspond to a common position in the first and second video frames;
(c) determining a difference between the first and second luminosities;
(d) repeating (a), (b), and (c) for a plurality of pixels comprising the first and second video frames, thereby producing a plurality of luminosity differences; and
(e) averaging the plurality of luminosity differences.

US Pat. No. 10,262,442

ENHANCED PRECISION BACKGROUND SHADING FOR DIGITALLY PUBLISHED TEXT

Adobe Inc., San Jose, CA...

11. A computer-implemented method for applying background shading to textual content, the method comprising:receiving user input that defines a textual content segment that is to be located within a region of background shading, wherein the textual content segment comprises a first plurality of glyphs arranged in one or more lines;
identifying a font associated with the first plurality of glyphs, wherein the identified font comprises a second plurality of glyphs;
determining a maximum dimension associated with the second plurality of glyphs;
positioning a boundary of the region of background shading at a distance from a baseline of a particular one of the lines, wherein the distance is based on the determined maximum dimension; and
displaying background shading in the region of background shading.

US Pat. No. 10,249,321

SOUND RATE MODIFICATION

Adobe Inc., San Jose, CA...

1. A method implemented by at least one computing device, the method comprising:receiving, as a user input, by the at least one computing device, an indication of an amount of time in which sound data is to be output, the sound data including a waveform representation and a plurality of portions, the indicated amount of time being different from an unmodified amount of time for playback of the sound data;
identifying, by the at least one computing device, at least one active portion and at least one inactive portion of the plurality of portions of the sound data based on spectral characteristics of the sound data, the at least one active portion containing multiple different units of speech, the at least one inactive portion corresponding to pauses in speech;
modifying, by the at least one computing device, the sound data to be output in the indicated amount of time using a set of sound rate rules generated to capture sound rate characteristics of units of speech in a natural language model by:
calculating different relative rates at which the multiple different units of speech are to be output, respectively, based on the set of sound rate rules and the indicated amount of time,
applying a first calculated rate to a first unit of speech in the active portion to cause the first unit of speech to be output at the first calculated rate, and
applying a second different calculated rate to a second unit of speech in the active portion to cause the second unit of speech to be output at the second different calculated rate; and
outputting, by the at least one computing device, the sound data as modified by the first calculated rate and the second different calculated rate in the indicated amount of time.

US Pat. No. 10,229,525

ENHANCED TEXTURE PACKING

Adobe Inc., San Jose, CA...

1. A computer-implemented method for generating a texture atlas, comprising:selecting a texture chart that is to be placed into a texture atlas using predefined criteria, the texture chart representing a three-dimensional mesh segment flattened into a two-dimensional shape;
determining a location to place the selected texture chart with respect to incorporated texture charts in the texture atlas based on a distance between the selected texture chart and a center of mass of the incorporated texture charts in the texture atlas;
placing the selected texture chart at the location within the texture atlas; and
storing, in a data structure, the location where the selected texture chart is placed.

US Pat. No. 10,198,846

DIGITAL IMAGE ANIMATION

Adobe Inc., San Jose, CA...

1. In a digital medium environment, a system comprising:an animation selection module implemented at least partially in at least one computing device including one or more processors and one or more computer readable storage media storing instructions that, when executed by the one or more processors, perform operations including:
obtaining, by the at least one computing device, a digital image;
classifying, by the at least one computing device, the digital image into at least one semantic class using a neural network as part of machine learning, the neural network trained to recognize the at least one semantic class;
generating, by the at least one computing device, a recommendation of a first animation and a second animation from a plurality of animations based on the at least one semantic class;
selecting, by the at least one computing device, the first animation and the second animation from the plurality of animations to be applied to the digital image based on classifying the digital image into the at least one semantic class; and
a digital content transformation module implemented at least partially in hardware of the computing device to perform operations including transforming an appearance of the digital image based on the selection, the transforming including coordinating:
a timing of output of the first animation and the second animation to each other within an iteration; and
a timing of the output of the first and second animations to each other to give a different appearance between multiple said iterations of the first and second animations.

US Pat. No. 10,659,546

CONTROLLING USAGES OF CHANNELS OF A USER EXPERIENCE ECOSYSTEM

Adobe Inc., San Jose, CA...

1. A computer-implemented method for controlling usages of channels of a user experience ecosystem, the channels comprising a web channel and a social media channel, the computer-implemented method comprising:providing, by a computer system, a user interface configured for setting-up channels of a user experience ecosystem to a computing device associated with a user responsible for designing the user experience ecosystem to be presented to a plurality of end users;
generating and storing, by the computer system, data entries in a data store based on operations of the user in the user interface at the computing device, wherein the data entries (i) identify the channels that form the user experience ecosystem and (ii) specify dependencies between the usages of the channels;
causing, by the computer system, content for each channel of the user experience ecosystem to be generated by a content system based on the data entries in the data store;
adding, by the computer system to the data store, identifiers of storage locations of the content;
providing, by the computer system, channel systems with access to the data entries and the identifiers of the storage locations to publish the content in respective channels of the user experience ecosystem and present the user experience ecosystem to the plurality of end users through the channels, wherein a usage of the channel by a channel system is coordinated with a usage of a different channel by a different channel system based on the dependencies specified in the data entries; and
updating, by the computer system, metrics about the usages of the channels in the user experience ecosystem, wherein the metrics track interactions of the plurality of end users with the content published per channel.

US Pat. No. 10,380,721

ADJUSTING BLURRY VECTOR-BASED LINES DURING MOVEMENT

ADOBE INC., San Jose, CA...

1. In a digital medium environment for generating and modifying digital illustrations, a computer-implemented method of sharpening blurry digital illustrations without distorting corresponding digital-illustration shapes or dimensions comprising:receiving a command to move a digital illustration, the digital illustration comprising an axial-line segment;
determining that the axial-line segment appears blurry before moving the digital illustration according to the command to move and that translating the axial-line segment relative to a pixel grid would sharpen an appearance of the axial-line segment; and
in response to receiving the command to move the digital illustration and determining that the axial-line segment appears blurry before moving the digital illustration, performing a step for moving the digital illustration to a position that sharpens the appearance of the axial-line segment.

US Pat. No. 10,366,400

REDUCING UN-SUBSCRIPTION RATES FOR ELECTRONIC MARKETING COMMUNICATIONS

Adobe Inc., San Jose, CA...

1. A method of preventing an electronic marketing communication from being transmitted to a user device, the method comprising:receiving, by a processing device, an electronic marketing communication to be transmitted to a plurality of user devices that include the user device; and
preventing, by the processing device, an electronic message server from transmitting the electronic marketing communication to the user device by performing operations comprising:
applying a natural language processing engine to a web page and thereby identifying one or more features of a product described in the web page that are to be referenced in the electronic marketing communication,
accessing, from a memory device, user content included in or generated by one or more of (i) an electronic interaction by one or more user devices, which are associated with a user, with a web page associated with the product and (ii) a user communication transmitted by the one or more user devices,
applying the natural language processing engine to the user content and thereby identifying, in the user content, feature content referring to the one or more features,
computing a degree of sentiment by applying a sentiment engine to the feature content,
calculating an un-subscription score for the user associated with the one or more user devices based at least in part on the degree of sentiment,
comparing the calculated un-subscription score with a threshold un-subscription score,
in response to determining, based on the comparing, that the calculated un-subscription score is above the threshold un-subscription score, updating a set of permissions such that the one or more user devices are blocked from receiving the electronic marketing communication,
removing, based on the updated set of permissions, a network address associated with the one or more user devices from a list of addresses used for a transmission of the electronic marketing communication, and
performing the transmission while excluding the user device when sending the electronic marketing communication to users on a subscription list.

US Pat. No. 10,366,152

ONLINE CONTENT MANAGEMENT SYSTEM WITH UNDO AND REDO OPERATIONS

Adobe Inc., San Jose, CA...

1. A content modification tracking method comprising:detecting a plurality of modifications to an electronic document, wherein the modifications are received via a document editing user interface provided at a client computer;
in response to detecting a modification of binary data in the electronic document, generating a first snapshot representing an original state of the binary data and sending the first snapshot to a server computer; and
generating, at the client computer, a modification history comprising (a) a first update action that indexes the modification of the binary data and that includes an address indicating a location where the first snapshot is stored, and (b) a second update action that indexes a modification of non-binary data in the electronic document and that includes a representation of an original state of the non-binary data in the electronic document.

US Pat. No. 10,366,518

EXTENSION OF TEXT ON A PATH

Adobe Inc., San Jose, CA...

1. A method comprising:receiving, by the at least one computing device, an input corresponding to a freeform input path for inclusion in a user interface;
receiving, by the at least one computing device, text input corresponding to text for inclusion along the freeform input path in the user interface;
detecting, by the at least one computing device, an instance in which a portion of the text input overflows the input path;
determining, by the at least one computing device, a boundary of the freeform input path;
determining, by the at least one computing device, a transformation to be applied between the freeform input path and a new path based on a direction from the freeform input path to a translated location;
automatically generating in response to the instance of the detecting, by the at least one computing device, the new path for inclusion of the text defined by the portion of the text input, the new path generated based on the freeform input path, the boundary of the freeform input path, and the direction from the freeform input path to mimic a shape of the freeform input path at the translated location within the user interface; and
linking, by the at least one computing device, the new path to the freeform input path to cause the text defined by the portion of the text input that overflows the freeform input path to be included on the new path at the translated location within the user interface.

US Pat. No. 10,347,012

INTERACTIVE COLOR PALETTE INTERFACE FOR DIGITAL PAINTING

Adobe Inc., San Jose, CA...

1. A computer-implemented method of providing an interactive palette interface (GUI) in a digital painting application, the method comprising:assigning a first set of attributes to a first pixel group, the first set of attributes including a first reference coordinate point, a first color value, and a first size value, the first reference coordinate point defining a location of the first pixel group within the GUI, the first color value defining a color of the first pixel group, and the first size value defining a number of pixels included in the first pixel group;
assigning a second set of attributes to a second pixel group, the second set of attributes including a second reference coordinate point, a second color value, and a second size value, the second reference coordinate point defining a location of the second pixel group within the GUI, the second color value defining a color of the second pixel group, and the second size value defining a number of pixels included in the second pixel group;
calculating a third color value defining a color of an isosurface pixel at a third reference coordinate point, the isosurface pixel being contiguous with at least one of the pixels in the first and second pixel groups, the isosurface pixel being different from the pixels in the first and second pixel groups, the third color value being a parametric function of each of the first and second reference coordinate points, the first and second color values, and the first and second size values; and
rendering, in the GUI, the isosurface pixel at the third reference coordinate point using the third color value.

US Pat. No. 10,346,594

DIGITAL RIGHTS MANAGEMENT LEVERAGING MOTION OR ENVIRONMENTAL TRAITS

Adobe Inc., San Jose, CA...

1. In a digital medium environment to control access to at least one item of content by digital rights management functionality embedded as part of the content, a method implemented by a client computing device, the method comprising:downloading, by the client computing device, the at least one item of content that contains a digital rights management module embedded as part of the content;
after the downloading, collecting data, by the client computing device, that describes motion traits involving physical motion associated with a user of the client computing device;
determining from the data using the digital rights management module embedded as part of the content whether the motion traits meet specified traits of a motion behavior of a digital rights management policy enforced by the digital rights management module for the at least one item of the content, the specified traits indicate an amount of motion that is allowed to permit access to the at least one item of the content including a series of successively greater amounts of motion and corresponding greater restrictions on access to the at least one item of the content, the determining from the data including determining whether the at least one item of the content is configured for editing by the user;
determining, by the embedded digital rights management module through execution by the client computing device, whether access to the at least one item of the content is permitted based on the specified traits and the digital rights management policy; and
responsive to a determination by the client computing device that access to the at least one item of the content is permitted, displaying the at least one item of content in a user interface by a display device of the client computing device.

US Pat. No. 10,332,291

CONTENT AWARE IMAGE EDITING

Adobe Inc., San Jose, CA...

1. A computer-implemented method for modifying an image, the method comprising:receiving, by a computing device, a first input comprising a selection of a region of content from a first location in the image, the region of content containing a visual feature;
receiving, by the computing device, a second input comprising a movement of the selection corresponding to the visual feature away from the first location;
updating, by the computing device and during the movement of the selection, the region in the first location of the image based on content from where the selection is currently located;
receiving, by the computing device, a third input that specifies an end of the movement of the selection at a second location in the image;
identifying, by the computing device, additional content for the first location based at least in part upon the second location and an area around the first location; and
updating, by the computing device, the image to have the additional content at least in the first location.

US Pat. No. 10,324,621

FACILITATING ANALYSIS OF USE INTERFACE GESTURE PATTERNS

Adobe Inc., San Jose, CA...

1. In a digital medium gesture pattern recognition environment, at least one computing device comprising a processing system and at least one computer-readable storage medium, the at least one computing device including:an acquisition module to acquire a pixel-based representation of a gesture pattern from a user interaction with a visual display of the computing device, the gesture pattern traversing over multiple pixels of the visual display;
a superimposition module to superimpose a repetitive arrangement of polygons over the multiple pixels of the visual display;
a transformation module to transform the pixel-based representation into a polygon-based representation of the gesture pattern based on multiple transitions between polygons of the repetitive arrangement of polygons;
a conversion module to convert the polygon-based representation into a text-based representation of the gesture pattern based on a directionality of each transition of the multiple transitions between polygons, the directionality relative to a given polygon position along the gesture pattern; and
a forwarding module to output the text-based representation generated based on the gesture pattern.

US Pat. No. 10,325,175

GENERATION OF SALIENT CONTOURS USING LIVE VIDEO

Adobe Inc., San Jose, CA...

1. A non-transitory computer storage medium storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations for capturing salient contours, the operations comprising:detecting, in a frame of a live digital video, an edge and adjacent gradients;
providing for display, in real-time, the detected edge and corresponding adjacent gradients overlaid on the frame of the live digital video;
in response to a received user input, capturing the detected edge and the corresponding adjacent gradients; and
converting the captured detected edge and corresponding adjacent gradients into a smooth vector graphic.

US Pat. No. 10,318,490

SYNCHRONIZING LINKED ASSETS FROM UNSYNCHRONIZED FILE FOLDERS

Adobe Inc., San Jose, CA...

1. A method of synchronizing linked assets from unsynchronized file folders, the method comprising:maintaining files and linked assets organized in folders of a file system, the folders including a synchronized folder in which the files are synchronized and an unsynchronized folder containing the linked assets;
determining that a file contained in the synchronized folder references to one or more of the linked assets contained in the unsynchronized folder; and
synchronizing a linked asset from the unsynchronized folder automatically based on file access criteria associated with the file contained in the synchronized folder, the file access criteria associated with a likelihood of using the linked asset, and the linked asset being synchronized by overriding a designated setting that indicates assets in the unsynchronized folder are not synchronized.

US Pat. No. 10,318,598

ONE-CLICK SEGMENTATION DEFINITION

Adobe Inc., San Jose, CA...

1. A computer-implemented method that includes one or more processing devices performing operations comprising:retrieving website visitation data from a data source;
displaying a report of website visitation data in a graphical interface, the graphical interface comprising areas or lines with corresponding data items, wherein the areas or lines respectively comprise filter interface elements other than the corresponding data items, wherein the graphical interface concurrently displays a first report section with different values of a first parameter and a second report section with an aggregated value of a second parameter;
receiving, in the first report section within the graphical interface, user input selecting a particular filter interface element of a particular area or line in the graphical interface; and
updating the graphical interface in response to receiving the user input on the displayed report selecting the particular filter interface element, wherein updating the graphical interface comprises:
automatically identifying a particular data item displayed at the particular area or line, the particular data item including a particular value of the first parameter,
generating a query to the data source having the particular data item as a filter criterion,
retrieving filtered website visitation data by applying the query to the data source, the filtered website visitation data having a different aggregated value of the second parameter corresponding to the particular data item,
creating a filtered version of the report having corresponding filtered data items of the filtered website visitation data, and
displaying the filtered version of the report in the graphical interface, wherein the filtered version of the report in the graphical interface includes (i) the first report section excluding values of the first parameter other than the particular value used in the filter criterion and (ii) the second report section displaying the different aggregated value of the second parameter.

US Pat. No. 10,282,862

DIGITAL IMAGE GENERATION AND CAPTURE HINT DATA

Adobe Inc., San Jose, CA...

1. A method implemented by an image capture device, the method comprising:forming a request by the image capture device for capture hint data, the request describing a characteristic of an image scene that is to be a subject of a digital image, the characteristic including a geographic location, a time, or a composition of one or more objects to capture the digital image;
receiving a communication via a network by the image capture device in response to the request, the communication including capture hint data that is based at least in part of the characteristic;
displaying, by the image capture device, a hint generated from the capture hint data, the hint indicating how the digital image is to be captured using the image capture device based at least in part on the characteristic; and
capturing the digital image by the image capture device of the image scene subsequent to the displaying of the capture hint data.

US Pat. No. 10,276,213

AUTOMATIC AND INTELLIGENT VIDEO SORTING

Adobe Inc., San Jose, CA...

1. A method, performed by a computing device, for sorting videos of a video collection for selection to be included in a composition, the method comprising:providing, for display, a user interface comprising a media bin and a timeline, the media bin comprising icons representing videos of the video collection that are available to be included in the composition and the timeline identifying videos included in the composition at respective times within the composition, the icons being displayed in a first order;
identifying a currently-selected video included in the composition;
assigning weights to the videos in the composition based on distances on the timeline of the videos in the composition to the currently-selected video;
identifying content tags corresponding to the videos in the composition;
identifying a set of the content tags based on the weights assigned to the videos in the composition;
scoring the videos in the video collection based on the set of the content tags;
sorting the icons of the videos in the video collection based on the scoring of the videos in the video collection; and
displaying the icons in the media bin in a second order, based on the sorting.

US Pat. No. 10,270,750

MANAGING ACCESS TO SOFTWARE BASED ON A STATE OF AN ACCOUNT

ADOBE INC., San Jose, CA...

1. A computer-implemented method of managing states of user accounts in connection with providing access to software over a network, the method comprising:receiving a user identifier in connection with a request to purchase a software as a service product;
determining whether the user identifier is associated with a preexisting account related to the software as a service product by querying an identification system;
upon determining that the user identifier is not associated with a preexisting account, creating a provisional account related to the software as a service product;
enabling a purchase of the software as a service product through the provisional account without requiring creation of a full user account;
receiving a request associated with the user identifier, to access the software as a service product;
determining that the user identifier is associated with the provisional account by querying the identification system;
in response to determining that the user identifier is associated with the provisional account:
preventing use of the software as a service product through the provisional account, despite the purchase of the software, by blocking one or more of a download of the software as a service product or operation of the software as a service product through the provisional account; and
requesting a user credential to enable access to the purchased software as a service product;
receiving the user credential;
in response to receiving the user credential, converting the provisional account into a permanent account associated with the user identifier, the user credential, and the purchase of the software as a service product; and
enabling use of the software as a service product through the permanent account by permitting one or more of the download of the software as a service product or operation of the software as a service product through the permanent account.

US Pat. No. 10,264,230

KINETIC OBJECT REMOVAL FROM CAMERA PREVIEW IMAGE

Adobe Inc., San Jose, CA...

1. A non-transitory computer readable medium having instructions encoded thereon that, when executed by one or more processors, cause a digital imaging process to be carried out, the process comprising:generating a live camera feed that comprises a plurality of frames and that is representative of an observed scene that includes a kinetic object, wherein a particular one of the plurality of frames corresponds to a particular time in the live camera feed, and wherein the particular frame includes a subset of pixels in a specific region of the frame that is occupied by the kinetic object;
generating a modified frame that also corresponds to the particular time in the live camera feed, wherein the modified frame includes a modified subset of pixels in the specific region that have color values that are derived from colors in the same specific region in a subset of the frames that comprise the live camera feed, and wherein the kinetic object is not visible in the modified frame; and
causing display of an output feed that includes the modified frame.

US Pat. No. 10,250,393

AUTOMATIC E-SIGNATURES IN RESPONSE TO CONDITIONS AND/OR EVENTS

Adobe Inc., San Jose, CA...

1. An electronic signature method implemented at an electronic signature application server device, the method comprising:receiving, by the electronic signature application server device, from a document sender device that is associated with a document sender, a document containing a variable document term that can be modified by a document recipient, wherein the document is received from the document sender device via a network;
receiving, by the electronic signature application server device, a condition on the variable document term;
defining, by the electronic signature application server device, a recipient's signature block at a first location in the document that is configured to receive a signature of the document recipient;
defining, by the electronic signature application server device, an automatic signature block at a second location in the document that is configured to receive an automatically generated electronic signature authorized by the document sender;
sending the document from the electronic signature application server device, via the network, to a document recipient device that is associated with the document recipient;
receiving, by the electronic signature application server device, from the document recipient device, the document including the variable document term, wherein the document received from the document recipient device includes the signature of the document recipient positioned in the recipient's signature block, and wherein the document is received from the document recipient device via the network;
making a determination, by the electronic signature application server device, that the variable document term received from the document recipient device satisfies the condition; and
in response to making the determination, applying, by the electronic signature application server device, the automatically generated electronic signature to the automatic signature block without user intervention.

US Pat. No. 10,242,360

DATA PROTECTION SYSTEM FOR ONLINE DATA

Adobe Inc., San Jose, CA...

1. A data protection system communicatively located between a client application and an eCommerce server for removing sensitive information associated with an online purchase, the data protection system configured to:intercept online purchase data from the client application;
remove the sensitive information of the online purchase data to sanitize the online purchase data;
maintain the sensitive information in a volatile memory of the data protection system to reincorporate the sensitive information with the online purchase data in a communication to a payment service provider;
communicate the sanitized online purchase data to the eCommerce server that then initiates the communication intended for the payment service provider to obtain payment authorization of the online purchase, the sanitized online purchase data relieving security compliance requirements at the eCommerce server; and
remove the sensitive information from the volatile memory of the data protection system after the payment authorization is received from the payment service provider.

US Pat. No. 10,242,379

TRACKING VISUAL GAZE INFORMATION FOR CONTROLLING CONTENT DISPLAY

ADOBE INC., San Jose, CA...

1. A method of tracking visual gaze information for visual content, the method comprising:tracking, by an image capture device in communication with at least one processor, a visual gaze of a user with respect to a display device of a computing device by calculating a vector from one or more eyes of the user to the display device of the computing device based on images of the one or more eyes of the user taken by the image capture device, the display device including a first content item in a primary display area of the display device and a second content item in a secondary display area of the display device;
determining, by the at least one processor, that the visual gaze of the user is on the first content item in the primary display area;
detecting, by the at least one processor, a transition of the visual gaze of the user from the first content item in the primary display area to the second content item in the secondary display area;
determining, by the at least one processor, that the visual gaze of the user with respect to the second content item meets a first predetermined threshold;
in response to the visual gaze of the user with respect to the second content item meeting the first predetermined threshold, increasing, at the computing device by the at least one processor, one or more of a display size of the second content item in the secondary display area to a first increased size or a volume associated with the second content item to a first increased volume;
determining that the visual gaze of the user remains on the second content item after meeting the first predetermined threshold until meeting a second predetermined threshold; and switching, by the at least one processor and in response to the visual gaze of the user with respect to the second content item meeting the second predetermined threshold, a position of the first content item with a position of the second content item on the display device while the visual gaze of the user remains on the second content item by moving the first content item from the primary display area of the display device to the secondary display area of the display device and moving the second content item from the secondary display area of the display device to the primary display area of the display device.

US Pat. No. 10,198,436

HIGHLIGHTING KEY PORTIONS OF TEXT WITHIN A DOCUMENT

Adobe Inc., San Jose, CA...

1. In a digital medium environment to determine key portions of text within documents, a method implemented by a computing device, the method comprising:obtaining, by the computing device, digital content comprising a document having text;
determining at least one key portion of the text of the document using summarization techniques;
generating key portion data indicative of the determined at least one key portion;
generating a highlighted document using the key portion data and the document having text, the highlighted document including the text of the document and additional digital content comprising highlight overlays displayed over or proximate to the determined at least one key portion of the text;
obtaining reader feedback data, the reader feedback data generated at one or more client devices based on reader interactions with the highlighted document;
generating modified key portion data using the summarization techniques and the reader feedback data; and
generating a modified highlighted document using the modified key portion data.

US Pat. No. 10,200,560

AUTOMATED SHARING OF DIGITAL IMAGES

Adobe Inc., San Jose, CA...

1. In a digital medium environment in which digital images are to be electronically shared with subjects of the digital images using an automated mechanism, a method implemented by at least one computing device, the method comprising:obtaining, by the at least one computing device, a digital image including at least one person having a visual appearance;
identifying, by the at least one computing device, the at least one person included in the digital image based on the visual appearance;
ascertaining, by the at least one computing device, contact information associated with the at least one person based on the identifying;
determining, by the at least one computing device, whether an automated sharing feature for electronically sharing the digital images is active; and
responsive to determining that the automated sharing feature is active, automatically transmitting, by the at least one computing device, a copy of the digital image to the at least one person using the contact information without a contemporaneous authorization by a user.

US Pat. No. 10,334,202

AMBIENT AUDIO GENERATION BASED ON VISUAL INFORMATION

Adobe Inc., San Jose, CA...

1. A computer-implemented method to generate audio based on visual information, the method comprising:generating, by a video encoder module that includes a convolutional neural network (CNN), a latent representation of visual contents inferred by the CNN from a video, the video comprising a sequence of video frames; and
generating, by a sound generation module that includes a hierarchical recurrent neural network (RNN), a raw waveform sample based on the latent representation of the video, the raw waveform sample representing audio that corresponds to the visual contents as represented by the latent representation, wherein recurrent structure of each tier in the hierarchical RNN allows for the generating to be conditioned on a previously generated audio sample.

US Pat. No. 10,331,654

USING AN ACTION REGISTRY TO EDIT DATA ACROSS USERS AND DEVICES

Adobe Inc., San Jose, CA...

1. A method implemented by a first device to match applications for editing content that is received from a second device for cross-device editing, the method comprising:receiving content from the second device based on a selection made at the second device to edit the content using the first device;
presenting, by the first device, one or more applications that are capable of editing a content type of the received content, the one or more applications ascertained from a query answer received from an action registry that maintains information indicating types of content different applications are capable of editing;
responsive to selection of a presented application, automatically launching the selected application to enable the content received from the second device to be edited at the first device, including presenting the content via an editing interface of the selected application; and
responsive to receiving user input to save one or more edits made to the received content using the selected application, communicating the edited content to the second device.

US Pat. No. 10,318,102

3D MODEL GENERATION FROM 2D IMAGES

Adobe Inc., San Jose, CA...

1. In a digital medium environment to generate a three-dimensional model of an object from a plurality of images having different two-dimensional views of the object, a method implemented by a computing device, the method comprising:receiving a plurality of inputs by the computing device, the plurality of inputs formed based on user interaction with a user interface, each of the plurality of inputs defining a respective user-specified point on the object in a respective image of the plurality of images;
generating, by the computing device, a plurality of estimated points on the object, each of the plurality of estimated points corresponding to a respective said user-specified point and defined in real time for multiple different images of the plurality of images than the respective image defining the respective user-specified point;
displaying, by the computing device, the plurality of estimated points in the user interface;
mapping, by the computing device, the user-specified points to the estimated points, respectively, in the plurality of images; and
generating, by the computing device, a mesh of the three-dimensional model of the object based on the mapping.

US Pat. No. 10,248,307

VIRTUAL REALITY HEADSET DEVICE WITH FRONT TOUCH SCREEN

ADOBE INC., San Jose, CA...

1. A virtual reality headset device, comprising:a housing frame;
a display screen secured to the housing frame, the housing frame being opaque;
a pair of lenses secured to the housing frame on a first side of the display screen;
a touchpad interface secured to a front, outer surface of the housing frame on a second side of the display screen, wherein the second side is opposite the first side, and the front, outer surface of the housing frame obstructs a view through the housing frame, wherein the touchpad interface comprises a curved touchpad surface that extends to a periphery of vision corresponding to predetermined eye positions, wherein a curvature of the touchpad interface is different than a curvature of the display screen;
at least one processor; and
at least one non-transitory computer-readable storage medium storing instructions thereon that, when executed by the at least one processor, cause the virtual reality headset device to:
display a plurality of selectable elements at a plurality of positions on the display screen;
calibrate, based the predetermined eye positions, a touch mapping between an area of the touchpad interface and an area of the display screen;
detect a user interaction at the touchpad interface, the user interaction being a touch gesture on the touchpad interface;
determine, based on the calibrated touch mapping, a coordinate position of the user interaction on a surface of the touchpad interface and a corresponding coordinate position on the display screen to determine a position of the user interaction relative to the display screen;
identify a selectable element on the display screen by determining that the position of the user interaction relative to the display screen corresponds to a position of the selectable element on the display screen; and
based on identifying the selectable element, generate a response on the display screen in accordance with the selectable element on the display screen.

US Pat. No. 10,229,276

METHOD AND APPARATUS FOR DOCUMENT AUTHOR CONTROL OF DIGITAL RIGHTS MANAGEMENT

ADOBE INC., San Jose, CA...

1. A computer-implemented method comprising:opening, by a reader application, a unit of digital content, the reader application in communication with a digital rights management system;
accessing, by the reader application, a trusted code information comprised in the unit of digital content,
in response to determining, by the reader application, that, a trusted code is not trusted by the digital rights management system to access the unit of digital content, determining, by the reader application, based on the trusted code information, whether the trusted code is trusted to access the unit of digital content; and
in response to determining, by the reader application, that the trusted code information indicates that the trusted code is trusted to access the unit of digital content, enabling, by the reader application, the trusted code to access the unit of digital content.

US Pat. No. 10,546,409

ANIMATION PRODUCTION SYSTEM

Adobe Inc., San Jose, CA...

1. A computerized method for generating an animation, the method comprising:accessing a script comprising an indication of animation events;
parsing the script to identify the animation events;
encoding the animation events into nodes of a story model;
generating an animated movie during a performance of the script by:
advancing through the story model a playhead that identifies active nodes of the story model, and identifying an associated portion of the performance;
triggering, based on the identified portion of the performance, generation of the animation events associated with the active nodes;
binding the generated animation events to corresponding ones of the active nodes; and
assembling the generated animation events into an animated movie.

US Pat. No. 10,366,146

METHOD FOR ADJUSTING CONTENT OF A WEBPAGE IN REAL TIME BASED ON USERS ONLINE BEHAVIOR AND PROFILE

ADOBE INC., San Jose, CA...

1. A method comprising:monitoring traffic from a plurality of users to a website;
tracking a user from the plurality of users visiting the web site to identify a plurality of parameters relating to the user, including a first parameter associated with an identity of the user and a second parameter associated with navigation behavior for the user within the website;
based on selecting a statistical algorithm for each of the plurality of parameters corresponding to a type of parameter, applying a first statistical algorithm to analyze the first parameter associated with the identity of the user and a second statistical algorithm to analyze the second parameter associated with the navigation behavior for the user within the website;
based on applying the first statistical algorithm and the second statistical algorithm, identifying an organization to which the user belongs;
selecting content for the website to be presented to the user based on an analysis of each of the plurality of parameters according to the selected statistical algorithm, the organization to which the user belongs, and a marketing stage in a sale process for the user, wherein the content is selected from a plurality of content items stored in a content database; and
presenting the selected content in a webpage of the website to the user.

US Pat. No. 10,366,433

METHODS AND SYSTEMS FOR USAGE BASED CONTENT SEARCH RESULTS

Adobe Inc., San Jose, CA...

1. In a digital medium environment for controlling image searches and availability, a method implemented by one or more computing devices of a content sharing service comprising:performing, by a search module executed by the one or more computing devices, a search to locate a plurality of images made available for licensing or purchase by the content sharing service and generate search result data based on the search, the search performed responsive to one or more inputs received from a user to a graphical user interface of the content sharing service;
monitoring, by the search module executed by the one or more computing devices, interactions with the plurality of images via the content sharing service, and generating usage data based on the interactions;
receiving, by a configuration module executed by the one or more computing devices, the search result data and the usage data communicated from the search module;
configuring, by the configuration module executed by the one or more computing devices, a search result based on the search result data and the usage data, the search result being configured to include at least some of the plurality of images based at least in part on an amount of usage of respective said images by:
generating, based on the usage data, data describing an amount of usage of respective said images by other users of the content sharing service;
removing one or more of the plurality of images from the search result that have the amount of usage that is above a threshold amount of usage; and
keeping at least one image of the plurality of images in the search result that has the amount of usage that is above the threshold amount of usage;
configuring, by the one or more computing devices, the graphical user interface to display the images included in the search result based on the amount of usage, the search result configured to support user navigation, via the graphical user interface, through the images available for licensing or purchase from the content sharing service; and
causing, by the one or more computing devices, a price for licensing use of at least one of the images included in the search result to be populated to the graphical user interface based on a request initiated via the graphical user interface.

US Pat. No. 10,347,238

TEXT-BASED INSERTION AND REPLACEMENT IN AUDIO NARRATION

Adobe Inc., San Jose, CA...

1. A method for performing text-based insertion in a target voice waveform, the method comprising:receiving a query text that indicates an insertion in a voice transcript associated with said target voice waveform; and
for each phoneme associated with said query text, generating an audio frame range that comprises a portion of said target voice waveform, wherein generating the audio frame range comprises
generating a query waveform from said query text,
processing the query waveform to generate a query exemplar,
performing a range selection process to generate the audio frame range, wherein the range selection process uses the query exemplar and a first segment that corresponds to a phoneme in said target voice waveform, and wherein the audio frame range comprises a range of consecutive frames that encompasses at least a portion of the first segment, and
generating an edited waveform by modifying said target voice waveform using said audio frame range.

US Pat. No. 10,320,862

PROVIDING CONTENT ANALYTICS ON DELIVERY RATE AND CONSUMPTION RATES DIFFERENTIALS IN LIVE ONLINE CONFERENCING

Adobe Inc., San Jose, CA...

1. In an environment in which a live online conference is distributed through a computer network to participant user interfaces, a method for providing feedback to a presenter user interface based on participants revisiting prior section content of the live online conference during the live online conference, the method including a computing system performing operations comprising:providing the participant user interfaces to the participants, wherein the participant user interface receives instructions causing the participant user interface to revisit prior section content of the live online conference during the live online conference;
monitoring the instructions causing participant user interfaces to revisit prior section content during the live online conference;
based on the monitoring of the instructions, determining a revisiting statistic regarding the participant user interfaces revisiting the prior section content; and
providing feedback based on the revisiting statistic to the presenter user interface, wherein providing the feedback comprises providing a graphical representation of a timeline of the live online conference comprising:
a current live position marker that provides a current live position on the timeline of the live online conference; and
markers positioned on the timeline indicating revisited prior sections of the live online conference, wherein size, shape, shade, or color characteristics of the markers graphically depict amounts or frequencies of participants revisiting respective prior sections of the live online conference, wherein the graphical representation of the timeline changes during the live online conference based on changes to the live position marker and changes to the markers positioned on the timeline.

US Pat. No. 10,282,877

GENERATING CONTENT AWARE IMAGE FILL WITH GEOMETRICAL CONSTRAINTS

ADOBE INC., San Jose, CA...

1. A method for modifying a digital image by removing and filling portions of the digital image, comprising:identifying, within an input image, an object to be removed from the input image, the object defined by an object boundary;
detecting a background plane having a first perspective surrounding at least a portion of the object;
determining, by at least one processor, that the background plane comprises a first plurality of lines that intersect the object boundary of the object to be removed from the input image;
identifying, by the at least one processor, a source portion on a source plane having a second perspective comprising a second plurality of lines that correspond to the first plurality of lines of the background plane, wherein the second perspective is different than the first perspective;
modifying the source portion by transforming the second perspective associated with the source portion to correspond to the first perspective of the background plane; and
generating, by the at least one processor, an output image by removing the object from the input image and replacing the removed object with the modified source portion by aligning the second plurality of lines of the modified source portion with the first plurality of lines of the background plane.

US Pat. No. 10,275,505

IN-APPLICATION CONVERSION OF FILE VERSIONS USING CLOUD SERVICES

Adobe Inc., San Jose, CA...

1. A method for in-application file conversion at a client computer, the method comprising:determining, by an application executing on the client computer, from metadata included in a file that the file includes features inserted by a subsequent version of the application that are not compatible with the application;
responsive to the determining, displaying, in a user interface of the application, a control that is selectable to send the file to a conversion service;
responsive to receipt of an input to select the user interface control, sending a request to convert the file to the conversion service that is effective to cause the conversion service to convert the file to a first format compatible with the application, the request including parameters specifying options for the conversion, wherein the parameter options include whether to convert the file to a second format independent of the application; and
responsive to the sending of the request, receiving the file that is converted from the subsequent version to the first format that is compatible with the application.

US Pat. No. 10,269,388

CLIP-SPECIFIC ASSET CONFIGURATION

Adobe Inc., San Jose, CA...

9. A system comprising:a processor; and
a memory communicatively coupled to the processor, wherein the processor is configured to execute instructions included in the memory to perform operations comprising:
receiving an input for applying a video effect to a video clip, wherein the video effect and the video clip are stored in a storage system accessible by a server system remote from the system;
based on the input, creating, at the system, a parent-child relationship between the video clip and the video effect, wherein the parent-child relationship associates the video clip and the video effect so that video customization operations on the video clip by the system are also processed on the video effect by the system and that video customization operations on the video effect by the system are processed on the video effect independent of the video clip;
in response to receiving, at the system, an additional input to play the video clip, receiving, at the system from the server system, the video clip and the video effect as separate media files, wherein the server system does not apply the video effect to the video clip;
and
playing, at the system, the video clip by overlaying the video effect on the video clip for an entire duration of the video clip according to the parent-child relationship in real-time without compiling or rendering the video clip and the video effect into a single media file.

US Pat. No. 10,198,590

CONTENT SHARING COLLECTIONS AND NAVIGATION

Adobe Inc., San Jose, CA...

1. In a digital environment for image creation and sharing, a method implemented by one or more computing devices comprising:displaying an image within a user interface by the one or more computing devices along with a plurality of image creation functionalities that are each usable to transform an appearance of the image;
receiving a request to apply an image creation functionality of the plurality of image creation functionalities to transform the image;
responsive to receiving the request, accessing the image creation functionality;
responsive to accessing the image creation functionality, obtaining from a content sharing service a plurality of other images from a collection that includes the image by the one or more computing devices, the images in the collection having a threshold amount of similarity one to another based on one or more similarity metrics; and
transforming the appearance of the image according to the image creation functionality by using the image and the plurality of other images from the collection.

US Pat. No. 10,440,276

GENERATING IMAGE PREVIEWS BASED ON CAPTURE INFORMATION

Adobe Inc., San Jose, CA...

1. In a digital medium environment for modifying digital images, a system for generating intelligent personalized preview digital images comprising:at least one processor; and
a non-transitory computer memory comprising a machine-learning model trained based on a plurality of digital training images and training saliency maps; and
instructions that, when executed by the at least one processor, cause the system to:
generate a saliency map for a digital image utilizing the machine-learning model, the saliency map indicating one or more objects portrayed within the digital image;
identify a focus region based on focus information from metadata of the digital image, the focus information captured and stored as the metadata of the digital image by a camera device at a time that the digital image was captured; and
crop the digital image to generate a focused preview image by:
determining that the saliency map and the focus region identified based on the focus information at least partially overlap to create an overlapping portion; and
centering the focused preview image based on the overlapping portion of the saliency map and the focus region.

US Pat. No. 10,380,722

EDITING A GRAPHIC OBJECT IN A VECTOR REPRESENTATION TO IMPROVE CRISP PROPERTY IN RASTER REPRESENTATION

Adobe Inc., San Jose, CA...

1. A computer-implemented method, comprising:generating, by a graphic editing application hosted on a computing device, a graphic object, wherein the graphic editing application defines a vector format and a raster format for the graphic object;
detecting, by the graphic editing application, that an internal line of the graphic object has a blurriness when rendered in the raster format, wherein the raster format identifies a first location of the internal line on a pixel grid, and wherein the blurriness is associated with a first pixel distribution of the internal line at the first location on the pixel grid;
reducing, by the graphic editing application, the blurriness of the internal line by at least:
computing a first offset between the first location and a second location on the pixel grid, wherein the second location corresponds to a second pixel distribution of the internal line on the pixel grid, and
translating the graphic object on the pixel grid by the first offset;
computing, by the graphic editing application, a second offset between an external line of the graphic object at a translated location and a third location on the pixel grid, wherein the second offset is computed based on a blurriness of the external line; and
scaling, by the graphic editing application, the graphic object by the second offset based on the vector format.

US Pat. No. 10,341,319

UTILIZING A CUSTOMIZED DIGITAL FONT TO IDENTIFY A COMPUTING DEVICE

ADOBE INC., San Jose, CA...

1. In a digital medium environment for managing digital assets, a method of utilizing electronic fonts to securely identify and authenticate computing devices seeking to access digital assets, comprising:generating, by at least one server device storing client information corresponding to a computing device, a customized digital font unique to the computing device for authenticating the computing device by changing a first character order of a base digital font to a second character order specific to the computing device;
sending the customized digital font from the at least one server device to the computing device;
upon receiving, by the at least one server device, a request for the client information from the computing device, authenticating the computing device based on the computing device utilizing the customized digital font by:
sending a second request to the computing device to render a textual element utilizing the customized digital font;
identifying the textual element by capturing an image of the textual element rendered by the computing device via a web browser; and
determining that the textual element rendered by the computing device via the web browser uses the customized digital font by applying an optical character recognition algorithm to the image of the textual element rendered by the computing device and comparing the textual element with a reference text generated utilizing the customized digital font; and
in response to authenticating the computing device based on the customized digital font, providing the client information corresponding to the computing device from the server device to the computing device.

US Pat. No. 10,318,971

NORMALIZING USER RESPONSES TO AN EVENT BY REMOVING BEHAVIORAL BIAS

Adobe Inc., San Jose, CA...

1. A method implemented by one or more computing devices, the method comprising:receiving, by the one or more computing devices, user responses to a campaign posted on a social network from users of a population;
generating, by the one or more computing devices, a response score for each user of the population based on the user responses and associating each response score with an identifier of a respective user;
generating, by the one or more computing devices, a response normalization model for the population by:
generating clustered data for the user identifiers based on the response scores, the clustered data including at least a first behavioral classification group that includes user identifiers with response scores that are lower relative to the users of the population of users, and a second behavioral classification group that includes user identifiers with response scores that are higher relative to the users of the population;
assigning a first jump value to the first behavioral classification group and assigning a second jump value to the second behavioral classification group, the first jump value and the second jump value configured to remove behavioral bias from user responses;
receiving, by the one or more computing devise, additional user responses to an additional campaign posted on the social network from at least a portion of the users of the population;
removing, by the one or more computing devise, behavioral bias from the additional user responses by applying the response normalization model to the additional user responses, the applying the response normalization model adjusting additional response scores associated with the additional user responses by increasing the additional response scores of user identifiers associated with the first behavioral classification group and decreasing additional response scores of user identifiers associated with the second behavioral classification group;
outputting, by the one or more computing devices, a true response score for the additional campaign based on the adjusted additional response scores associated with the additional user responses, the true response score indicating an effectiveness of the additional campaign; and
controlling, by the one or more computing devices, distribution of the additional campaign to users of the population via the social network based on the true response score, the controlling comprising one of adjusting distribution of the additional campaign to at least a subset of users of the population or ending distribution of the additional campaign based on the true response score.