Video-based CAPTCHA
First Claim
1. A computer implemented method for generating video tests for distinguishing a human user from a computer software agent in an online application, the method comprising:
- selecting a video clip from a video clips database, each video clip having a plurality of video frames;
segmenting the video clip into a plurality of video segments, each video segment having a subset of video frames;
selecting one of the video segments;
associating the selected video segment with a plurality of queries, each query associated with at least one correct answer to the query, wherein associating a query with at least one correct answer to the query comprises;
presenting the video segment and a query as a probe to a plurality of users;
collecting answers to the query from the plurality of users; and
determining from the collected answers at least one correct answer to the query;
modifying the selected video segment such that the modified video segment is visually similar to the unmodified video segment and a hash value of the modified video segment is different from the hash value of the unmodified video segment to prevent identifying the selected video clip based on the hash value of the unmodified video segment, wherein modifying the selected video segment comprises;
selecting one or more video frames from a video of the video clips database; and
re-encoding the selected video segment with the selected video frames;
associating the modified video segment with a plurality of queries and correct answers associated with the queries; and
storing the modified video segment and the plurality of queries in a video tests database.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and a method automatically generate video-based tests to distinguish human users from computer software agents. The system comprises a CAPTCHA generation engine, a CAPTCHA serving engine, a video clips database, and a video tests database. The CAPTCHA generation engine selects a video clip from the video clips database, and segments the video clip into multiple video segments. For each video segment, the CAPTCHA generation engine associates a plurality of related queries with the video segment, generates a video test based on the association, and stores in the video tests database. A CAPTCHA serving engine selects a video test for a user, maintaining a user trial counter for each user taking the video test. Based on the user trial counter information and the response to the selected video test, the CAPTCHA serving engine determines whether the user is a human user.
61 Citations
34 Claims
-
1. A computer implemented method for generating video tests for distinguishing a human user from a computer software agent in an online application, the method comprising:
-
selecting a video clip from a video clips database, each video clip having a plurality of video frames; segmenting the video clip into a plurality of video segments, each video segment having a subset of video frames; selecting one of the video segments; associating the selected video segment with a plurality of queries, each query associated with at least one correct answer to the query, wherein associating a query with at least one correct answer to the query comprises; presenting the video segment and a query as a probe to a plurality of users; collecting answers to the query from the plurality of users; and determining from the collected answers at least one correct answer to the query; modifying the selected video segment such that the modified video segment is visually similar to the unmodified video segment and a hash value of the modified video segment is different from the hash value of the unmodified video segment to prevent identifying the selected video clip based on the hash value of the unmodified video segment, wherein modifying the selected video segment comprises; selecting one or more video frames from a video of the video clips database; and re-encoding the selected video segment with the selected video frames; associating the modified video segment with a plurality of queries and correct answers associated with the queries; and storing the modified video segment and the plurality of queries in a video tests database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 31)
-
-
9. A computer implemented method for distinguishing a human user from a computer software agent in an online application, the method comprising:
-
selecting a video test from a video tests database, wherein the video test includes a video segment and one of a plurality of queries associated with the video segment, each query having a set of correct answers, and wherein the video test is generated based on the association of the video segment, the plurality of queries and the set of correct answers; modifying the video segment of the video test such that the modified video segment is visually similar to the unmodified video segment and a hash value generated from the modified video segment is different from the hash value generated from the unmodified video segment to prevent identifying the selected video clip based on the hash value of the unmodified video segment, wherein modifying the video segment comprises; selecting one or more video frames from a video of the video clips database; and re-encoding the selected video segment with the selected video frames; displaying the modified video test; receiving a response to the displayed query from the user; and responsive to the received response matching one of the correct answers, determining the user to be human user. - View Dependent Claims (10, 11, 12, 13, 14, 15, 32)
-
-
16. A system for generating video tests for distinguishing a human user from a computer software agent in an online application, the system comprising:
-
a video test generation engine, configured to; select a video clip from a video clips database, each video clip having a plurality of video frames; segment the video clip into a plurality of video segments, each video segment having a subset of video frames, present at least one video segment and a query as a probe to a plurality of users and collect answers to the query from the plurality of users; determine from the collected answers at least one correct answer to the query; associate the video segment with the query and the at least one correct answer; and store each video segment, the plurality of queries and associated correct answers in a video tests database, and a video test serving engine coupled to the video test generation engine, configured to; select a video test from the video tests database, display the selected video test, wherein the video test including a video segment and one of a plurality of queries associated with the video segment; modify the video segment of the video test such that the modified video segment is visually similar to the unmodified video segment and a hash value generated from the modified video segment is different from the hash value generated from the unmodified video segment to prevent identifying the selected video clip based on the hash value of the unmodified video segment, wherein modifying the video segment comprises; selecting one or more video frames from a video of the video clips database; and re-encoding the selected video segment with the selected video frames; display the modified video test; receive a response to the displayed query from the user; and determine the user to be human user responsive to the received response matching one of the correct answers. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 33)
-
-
30. A non-transitory computer readable storage medium structured to store instructions, the instructions when executed by a processor cause the processor to:
-
select a video clip from a video clips database, each video clip having a plurality of video frames; segment the video clip into a plurality of video segments, each video segment having a subset of video frames; for each video segment, associate the video segment with a plurality of queries, each query having a set of correct answers and each query associated with at least one correct answer to the query, wherein associating a query with at least one correct answer to the query comprises; presenting the video segment and a query as a probe to a plurality of users; collecting answers to the query from the plurality of users; and determining from the collected answers at least one correct answer to the query; store each video segment, the plurality of queries and associated correct answers in a video tests database; modify the video segment of a video test such that the modified video segment is visually similar to the unmodified video segment and a hash value generated from the modified video segment is different from the hash value generate from the unmodified video segment to prevent identifying the selected video clip based on the hash value of the unmodified video segment, wherein modifying the video segment comprises; selecting one or more video frames from a video of the video clips database; and re-encoding the selected video segment with the selected video frames; display a video test, wherein the video test including a modified video segment and one of a plurality of queries associated with the video segment, each query having a set of correct answers; receive a response to the displayed query from the user; and responsive to the received response matching one of the correct answers, determine the user to be human user. - View Dependent Claims (34)
-
Specification