IP Library Granted Patent US 11,995,412
Granted Patent B1
US 11,995,412 · App. 18/482,828 · Granted May 28, 2024

Video based question and answer

Inventor: Pragyana K. Mishra (Seattle, WA)
Assignee: Armada Systems, Inc.
G06F40/40G06F16/7343G06F16/735G06V10/77G06V20/46G06V20/49G06V20/70
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,995,412
App. No.
18/482,828
Granted
May 28, 2024
Kind
B1
Abstract

Disclosed are systems and methods that convert digital video data, such as two-dimensional digital video data, into a natural language text description describing the subject matter represented in the video. For example, the disclosed implementations may process video data in real-time, near real-time, or after the video data is created and generate a text-based video narrative describing the subject matter of the video. In addition, the disclosed implementations may also support a question and answer session in which a user may submit queries about the subject matter of one or more videos and the disclosed implementations will present natural language responses based on the subject matter of the video and any corresponding context.

Claims (62)

1. A computing system, comprising:

one or more processors; and

a memory storing program instructions that, when executed by the one or more processors, cause the one or more processors to at least:

receive a query about a subject matter of a video;

generate, based at least in part on the query, a query embedding;

determine, based at least in part on a distance in a vector space between the query embedding and feature embeddings generated for each of a plurality of segments, the plurality of segments of the video that represent subject matter that is responsive to the query;

generate, based at least in part on the feature embeddings generated for each of the plurality of segments, a natural language response that describes the subject matter represented in the plurality of segments and that is responsive to the query; and

present the natural language response as a response to the query.

2. The computing system of claim 1 :

wherein the program instructions that, when executed by the one or more processors, further cause the one or more processors to at least determine an activity of a plurality of activities that is occurring in the subject matter of the video; and

wherein the program instructions that cause the one or more processors to generate the natural language response further include program instructions that, when executed by the one or more processors, further cause the one or more processors to at least, generate the natural language response based at least in part on the activity and the feature embeddings.

3. The computing system of claim 1 :

wherein the program instructions that, when executed by the one or more processors, further cause the one or more processors to at least determine, based at least in part on the query embedding, a second plurality of segments of a second video that represent subject matter that is responsive to the query; and

wherein the program instructions that cause the one or more processors to generate the natural language response, further include program instructions that, when executed by the one or more processors, further cause the one or more processors to at least determine based at least in part on the feature embeddings generated for each of the plurality of segments of the video and feature embeddings generated for each of the second plurality of segments, the natural language response.

4. The computing system of claim 1 , wherein the program instructions that cause the one or more processors to present the natural language response, further include program instructions that, when executed by the one or more processors, further cause the one or more processors to at least:

present the natural language response at least one of audibly, visually, or haptically.

5. The computing system of claim 1 , wherein the program instructions that cause the one or more processors to generate the natural language response, further include program instructions that, when executed by the one or more processors, further cause the one or more processors to at least:

generate, based at least in part on the feature embeddings generated for each of the plurality of segments and a context determined for the query, the natural language response.

6. The computing system of claim 5 , wherein the context is determined based at least in part on one or more of the query, a query and answer session in which the query is presented, the video, or a user.

7. The computing system of claim 1 :

wherein the program instructions that, when executed by the one or more processors, further cause the one or more processors to at least, determine a plurality of keywords for the query; and

wherein the program instructions that determine the plurality of segments further include program instructions that, when executed by the one or more processors, further cause the one or more processors to at least determine, based at least in part on the query embedding and the plurality of keywords, the plurality of segments.

8. The computing system of claim 1 , wherein the program instructions that, when executed by the one or more processors, further cause the one or more processors to at least:

process each segment of the plurality of segments of the video to generate, for each of the plurality of segments, the feature embedding that corresponds to a subject matter of the embedding.

9. The computing system of claim 8 , wherein the program instructions that cause the one or more processors to process each segment of the plurality of segments, further include program instructions that, when executed by the one or more processors, further cause the one or more processors to at least:

process each segment of the plurality of segments with a temporal semantic attention transformer to generate a plurality of temporal embeddings, wherein the plurality of temporal embeddings are included in the feature embedding for the segment; and

process each segment with an activity semantic attention transformer to generate a plurality of activity embeddings, wherein the plurality of activity embeddings are included in the feature embedding for the segment.

10. A method, comprising:

receiving a query about a subject matter of a video;

generating, based at least in part on the query, a query embedding;

determining, based at least in part on a distance in a vector space between the query embedding and feature embeddings generated for each of a plurality of segments, the plurality of segments of the video that represent subject matter that is responsive to the query;

generating, based at least in part on the feature embeddings generated for each of the plurality of segments, a natural language response that describes the subject matter represented in the plurality of segments and that is responsive to the query; and

presenting the natural language response as a response to the query.

11. The method of claim 10 , further comprising:

determining an activity of a plurality of activities that is occurring in the subject matter of the video; and

wherein generating the natural language response further includes:

generating the natural language response based at least in part on the activity and the feature embeddings.

12. The method of claim 10 , further comprising:

determining, based at least in part on the query embedding, a second plurality of segments of a second video that represent subject matter that is responsive to the query; and

wherein generating the natural language response, further includes:

determining based at least in part on the feature embeddings generated for each of the plurality of segments of the video and feature embeddings generated for each of the second plurality of segments, the natural language response.

13. The method of claim 10 , further comprising:

determining a plurality of keywords for the query; and

wherein determining the plurality of segments further includes determining, based at least in part on the query embedding and the plurality of keywords, the plurality of segments.

14. The method of claim 10 , further comprising:

processing each segment of the plurality of segments of the video to generate, for each of the plurality of segments, the feature embedding that corresponds to a subject matter of the embedding.

15. A non-transitory computer-readable storage medium storing instructions, the instructions, when executed by one or more processors, cause the one or more processors to at least:

receive a query about a subject matter of a video;

generate, based at least in part on the query, a query embedding;

determine, based at least in part on a distance in a vector space between the query embedding and feature embeddings generated for each of a plurality of segments, the plurality of segments of the video that represent subject matter that is responsive to the query;

generate, based at least in part on the feature embeddings generated for each of the plurality of segments, a natural language response that describes the subject matter represented in the plurality of segments and that is responsive to the query; and

present the natural language response as a response to the query.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instruction that cause the one or more processors to present the natural language response, further cause the one or more processors to at least:

present the natural language response at least one of audibly, visually, or haptically.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions that cause the one or more processors to generate the natural language response, further cause the one or more processors to at least:

generate, based at least in part on the feature embeddings generated for each of the plurality of segments and a context determined for the query, the natural language response.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the context is determined based at least in part on one or more of the query, a query and answer session in which the query is presented, the video, or a user.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to at least:

process each segment of the plurality of segments of the video to generate, for each of the plurality of segments, the feature embedding that corresponds to a subject matter of the embedding.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the instructions that cause the one or more processors to process each segment of the plurality of segments, further cause the one or more processors to at least:

process each segment of the plurality of segments with a temporal semantic attention transformer to generate a plurality of temporal embeddings, wherein the plurality of temporal embeddings are included in the feature embedding for the segment; and

process each segment with an activity semantic attention transformer to generate a plurality of activity embeddings, wherein the plurality of activity embeddings are included in the feature embedding for the segment.

Assignments (3)
SECURITY INTEREST Recorded Jul 30, 2026
From: ARMADA SYSTEMS, INC.
To: CRESCENT COVE OPPORTUNITY LENDING, LLC
Reel/Frame 075473/0200 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDITION OF SUITE NUMBER TO ADDRESS OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 65154 FRAME 116. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT.. Recorded Apr 12, 2024
From: MISHRA, PRAGYANA K.
To: ARMADA SYSTEMS, INC.
Reel/Frame 067096/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2023
From: MISHRA, PRAGYANA K.
To: ARMADA SYSTEMS, INC.
Reel/Frame 065154/0116 →
Cited By (30)
US 12,197,859 US 12,198,030 US 12,204,323 US 12,289,517 US 12,292,811 US 12,299,140 US 12,321,862 US 12,346,820 US 12,361,334 US 12,361,335 US 12,367,292 US 12,368,931 US 12,443,894 US 12,450,494 US 12,505,291 US 12,505,352 US 12,517,724 US 12,517,949 US 12,524,508 US 12,596,738 US 12,596,813 US 12,602,418 US 12,602,624 US 12,608,486 US 12,621,544 US 12,677,046 US 12,681,830 US 12,694,343 US 12,699,727 US 12,712,064