A method of identifying one or more audio and/or video unknown data points for automated audio and/or video content recognition, comprising: obtaining a plurality of audio and/or video reference data points; determining a length of a first vector from an origin point to a reference data point of the plurality of reference data points; obtaining an audio and/or video unknown data point; determining a length of a second vector from the origin point to the unknown data point; projecting a plurality of vectors from the origin point into a plane in which the first vector and the second vector lie, the plurality of vectors being randomly or pseudo-randomly generated; determining whether each vector of the plurality of vectors is to an algebraic right or to an algebraic left of the first vector of the reference data point; discarding the reference data point; determining whether each vector of the plurality of vectors is to the algebraic right or to the algebraic left of the second vector of the unknown data point; and determining the number of the plurality of vectors between the reference data point and the unknown data point, wherein the number of the plurality of vectors includes vectors to the algebraic left of the first vector and to the algebraic right of the second vector or vectors to the algebraic right of the first vector and to the algebraic left of the second vector; estimating an angle between the first vector and the second vector, wherein the angle is estimated using the number of the plurality of vectors; determining a distance between the reference data point and the unknown data point, wherein the distance is determined using the estimated angle and the determined lengths of the first vector and the second vector; and identifying one or more candidate data points from the plurality of reference data points, wherein a candidate data point is a candidate for matching the unknown data point, and wherein the one or more candidate data points are determined based on determined distances between one or more reference data points and the unknown data point. obtaining a plurality of audio and/or video reference data points; determining a length of a first vector from an origin point to a reference data point of the plurality of reference data points; obtaining an audio and/or video unknown data point; determining a length of a second vector from the origin point to the unknown data point; projecting a plurality of vectors from the origin point into a plane in which the first vector and the second vector lie, the plurality of vectors being randomly or pseudo-randomly generated; determining whether each vector of the plurality of vectors is to an algebraic right or to an algebraic left of the first vector of the reference data point; discarding the reference data point; determining whether each vector of the plurality of vectors is to the algebraic right or to the algebraic left of the second vector of the unknown data point; and determining the number of the plurality of vectors between the reference data point and the unknown data point, wherein the number of the plurality of vectors includes vectors to the algebraic left of the first vector and to the algebraic right of the second vector or vectors to the algebraic right of the first vector and to the algebraic left of the second vector; estimating an angle between the first vector and the second vector, wherein the angle is estimated using the number of the plurality of vectors; determining a distance between the reference data point and the unknown data point, wherein the distance is determined using the estimated angle and the determined lengths of the first vector and the second vector; and identifying one or more candidate data points from the plurality of reference data points, wherein a candidate data point is a candidate for matching the unknown data point, and wherein the one or more candidate data points are determined based on determined distances between one or more reference data points and the unknown data point.