Detailed Action
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . See 35 U.S.C. § 100 (note).
Art Rejections
Anticipation
The following is a quotation of the appropriate paragraphs of 35 U.S.C. § 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1–3, 5–10, 12–16, 29–35, 38, 41–47 and 50 are rejected under 35 U.S.C. § 102(a)(1) as being anticipated by US Patent Application Publication 2007/0282860 (published 06 December 2007) (“Athineos”).
Claim 1 is drawn to “a system.” The following table illustrates the correspondence between the claimed system and the Athineos reference.
Claim 1
The Athineos Reference
“1. A system, comprising:
Similarity the Athineos reference describes a method and system for music information retrieval. Athineos at Abs., ¶ 2.
“one or more processors;
“one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising:
Athineos’s system is computer-based and includes computers, or processors, and computer-readable media implemented at a client and server with instructions executed by the computers. Id. at ¶¶ 15, 23, 71, 82.
“generating one or more block feature vectors for each song of a plurality of songs, including by:
“extracting time and spectral domain descriptors,
Athineos’s server extracts a set of features (steps 605, 610, 615) from a set of input songs in order to build a database. Id. at ¶ 47, FIG.6. The features include both temporal and spectral features. Id. The features are block features because they correspond to features extracted by a sliding window. Id.
“wherein the descriptors include one or more of: a zero crossing rate, a first order autocorrelation, an energy level, a linear regression, a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry,
“one or more statistical moments of the extracted time and spectral domain descriptors, and
The features include temporal and spectral features, such as a Mel-table representing spectral domain descriptors and mean and covariances (statistical moments) of the Mel values. Id. at ¶ 45, FIG.5B. The temporal features are subjected to autoregressive modeling and pseudo-autocorrelation. Id. at ¶ 46, FIG.5C. Other features are contemplated by Athineos. Id. at ¶ 51.
Athineos further calculates statistical moments, such as means and standard deviations. Id. at ¶ 47, FIG.6.
“maintaining a list of block feature vectors for each song in the plurality of songs;
The server maintains the extracted features by storing them (step 620) in a relational database. Id.
“normalizing the block feature vectors;
The server also normalizes the features (steps 630, 635) by calculating a mean and subtracted a variance for each feature coordinate. Id.
“receiving a request comprising a search key; and
Athineos’s server receives a request for music retrieval from a client. Id. at ¶ 44, FIG.5A. The request is a query seed formed by a clip of a song. Id.
“determining one or more results based on a proximity of the search key to the plurality of songs.”
The server then computes a hash from the query, performs a pre-search, a refinement and renders the results to a client computer. Id. at ¶ 40, FIG.2. The results are selected based on the distance between the query seed and the songs in the database. Id.
Table 1
For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 2 depends on claim 1, and further requires the following:
“wherein extracting the time and spectral domain descriptors comprises extracting the time and spectral domain descriptors via a sliding signal window.”
Likewise, Athineos describes the use of a sliding signal window to extract temporal and spectral features. Athineos at ¶ 47, FIG.6. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 3 depends on claim 1, and further requires the following:
“further comprising: generating textual song metadata from the time and spectral domain descriptors.”
Similarly, Athineos describes the use of extracted features to recognize similar songs and present a client with textual representations of matching music files. Athineos at ¶ 40, FIG.2. Athineos also describes the use of speech recognition to produce textual lyrics from utterances included in audio. Id. at ¶ 80. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 5 depends on claim 1, and further requires the following:
“wherein the search key is music.”
Athineos describes a query seed as including music clipped from an audio recording. Athineos at ¶ 44. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 6 depends on claim 1, and further requires the following:
“wherein receiving a request comprising a plurality of search keys in which the search keys are interpolated to form a single search key.”
Likewise, Athineos describes structuring a more complex query by combining (i.e., interpolating) features from multiple seed clips. Athineos at ¶¶ 6, 15. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 7 depends on claim 1, and further requires the following:
“further comprising: selecting an embedded artwork for a song based on a heuristic score.”
Athineos selects artwork to present as a search result based on the closeness of match (i.e., a heuristic score) between a seed query and a song in the database. Athineos at ¶ 40. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 15 depends on claim 1, and further requires the following:
“wherein one or more of each song’s block feature vectors are weighted and combined into a single vector embedding.”
Similarly, Athineos weights the features of the songs stored in the database to create a hash value for each song. Athineos at ¶ 48, FIG.7. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 8 is drawn to “a system.” The following table illustrates the correspondence between the claimed system and the Athineos reference.
Claim 8
The Athineos Reference
“8. A method, comprising:
Similarity the Athineos reference describes a method and system for music information retrieval. Athineos at Abs., ¶ 2.
“generating one or more block feature vectors for each song of a plurality of songs,
Athineos’s server extracts a set of features (steps 605, 610, 615) from a set of input songs in order to build a database. Id. at ¶ 47, FIG.6. The features include both temporal and spectral features. Id. The features are block features because they correspond to features extracted by a sliding window. Id.
“[the block feature vectors] including from: extracting time and spectral domain descriptors, wherein the descriptors include one or more of: a zero crossing rate, a first order autocorrelation, an energy level, a linear regression, a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry,
“one or more statistical moments for extracted time and spectral domain descriptors, and
The features include temporal and spectral features, such as a Mel-table representing spectral domain descriptors and mean and covariances (statistical moments) of the Mel values. Id. at ¶ 45, FIG.5B. The temporal features are subjected to autoregressive modeling and pseudo-autocorrelation. Id. at ¶ 46, FIG.5C. Other features are contemplated by Athineos. Id. at ¶ 51.
Athineos further calculates statistical moments, such as means and standard deviations. Id. at ¶ 47, FIG.6.
“maintaining a list of block feature vectors for each song in the plurality of songs;
The server maintains the extracted features by storing them (step 620) in a relational database. Id.
“normalizing the block feature vectors;
The server also normalizes the features (steps 630, 635) by calculating a mean and subtracted a variance for each feature coordinate. Id.
“receiving a request comprising a search key; and
Athineos’s server receives a request for music retrieval from a client. Id. at ¶ 44, FIG.5A. The request is a query seed formed by a clip of a song. Id.
“determining one or more results based on a proximity of the search key to the plurality of songs.”
The server then computes a hash from the query, performs a pre-search, a refinement and renders the results to a client computer. Id. at ¶ 40, FIG.2. The results are selected based on the distance between the query seed and the songs in the database. Id.
Table 2
For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 9 depends on claim 8, and further requires the following:
“wherein extracting the time and spectral domain descriptors comprises extracting the time and spectral domain descriptor via a sliding signal window.”
Likewise, Athineos describes the use of a sliding signal window to extract temporal and spectral features. Athineos at ¶ 47, FIG.6. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 10 depends on claim 8, and further requires the following:
“further comprising: generating textual song metadata from the time and spectral domain descriptors.”
Similarly, Athineos describes the use of extracted features to recognize similar songs and present a client with textual representations of matching music files. Athineos at ¶ 40, FIG.2. Athineos also describes the use of speech recognition to produce textual lyrics from utterances included in audio. Id. at ¶ 80. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 12 depends on claim 8, and further requires the following:
“wherein the search key is music.”
Athineos describes a query seed as including music clipped from an audio recording. Athineos at ¶ 44. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 13 depends on claim 8, and further requires the following:
“wherein receiving a request comprising a plurality of search keys in which the search keys are interpolated to form a single search key.”
Likewise, Athineos describes structuring a more complex query by combining (i.e., interpolating) features from multiple seed clips. Athineos at ¶¶ 6, 15. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 14 depends on claim 8, and further requires the following:
“further comprising: selecting an embedded artwork for a song based on a heuristic score.”
Athineos selects artwork to present as a search result based on the closeness of match (i.e., a heuristic score) between a seed query and a song in the database. Athineos at ¶ 40. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 16 depends on claim 8, and further requires the following:
“wherein one or more of each song’s block feature vectors are weighted and combined into a single vector embedding.”
Similarly, Athineos weights the features of the songs stored in the database to create a hash value for each song. Athineos at ¶ 48, FIG.7. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 29 is drawn to “a method.” The following table illustrates the correspondence between the claimed method and the Athineos reference.
Claim 29
The Athineos Reference
“29. A method for selecting a song from a plurality of songs, the method comprising:
Similarity the Athineos reference describes a method and system for music information retrieval. Athineos at Abs., ¶ 2.
“receiving the plurality of songs;
Athineos’s server receives a set of tracks for processing (step 605). Id. at ¶ 47, FIG.6.
“generating one or more block feature vectors for each song in the plurality of songs;
Athineos’s server extracts a set of features (steps 610, 615) from a set of input songs in order to build a database. Id. at ¶ 47, FIG.6. The features include both temporal and spectral features. Id. The features are block features because they correspond to features extracted by a sliding window. Id.
“maintaining a list of block feature vectors for each song in the plurality of songs;
The server maintains the extracted features by storing them (step 620) in a relational database. Id.
“normalizing the block feature vectors;
The server also normalizes the features (steps 630, 635) by calculating a mean and subtracted a variance for each feature coordinate. Id.
“receiving a request comprising a search key song;
Athineos’s server receives a request for music retrieval from a client. Id. at ¶ 44, FIG.5A. The request is a query seed formed by a clip of a song. Id.
“generating one or more block feature vectors for the search key song; and
The server extracts features from the query seed. Id.
“selecting a song from the plurality of songs based on a similarity between the block feature vectors of the selected song and the block feature vectors of the search key song.”
The server then computes a hash from the query, performs a pre-search, a refinement and renders the results to a client computer. Id. at ¶ 40, FIG.2. The results are selected based on the distance between the query seed and the songs in the database. Id.
Table 3
For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 30 depends on claim 29, and further requires the following:
“wherein the similarity between the block feature vectors of the selected song and the block feature vectors of the search key song comprises a proximity between the block feature vectors of the selected song and the block feature vectors of the search key song.”
The Athineos reference describes that its server then computes a hash from the query, performs a pre-search, a refinement and renders the results to a client computer. Athineos. at ¶ 40, FIG.2. The results are selected based on the distance between the query seed and the songs in the database. Id. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 31 depends on claim 29, and further requires the following:
“wherein generating the block feature vectors comprises extracting one or both of time and spectral domain descriptors.”
Athineos’s server extracts a set of features (steps 605, 610, 615) from a set of input songs in order to build a database. Id. at ¶ 47, FIG.6. The features include both temporal and spectral features. Id. The features are block features because they correspond to features extracted by a sliding window. Id. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 32 depends on claim 31, and further requires the following:
“wherein the time and spectral domain descriptors include one or more of: a zero crossing rate, a first order autocorrelation, an energy level, a linear regression, a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry.”
Athineos describes extracting an autocorrelation, autoregression model and energy among other features. Athineos at ¶¶ 46, 51. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 33 depends on claim 31, and further requires the following:
“wherein generating the block feature vectors comprises generating one or more statistical moments of the extracted time and spectral domain descriptors.”
Athineos describes calculating a mean and variance. Athineos at ¶¶ 45, 50. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 34 depends on claim 33, and further requires the following:
“wherein the statistical moments comprise one or more of: a mean, a variance, a skewness, and a kurtosis.”
Athineos describes calculating a mean and variance. Athineos at ¶¶ 45, 50. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 35 depends on claim 29, and further requires the following:
“wherein generating the block feature vectors comprises generating the block feature vectors via a sliding signal window.”
Likewise, Athineos describes the use of a sliding signal window to extract temporal and spectral features. Athineos at ¶ 47, FIG.6. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 38 depends on claim 29, and further requires the following:
“further comprising adding an additional song to the plurality of songs and updating the list of block feature vectors by:
“generating one or more block feature vectors for the additional song; and
“adding the block feature vectors for the additional song to the list of block feature vectors.”
Athineos describes generating mean and standard deviations of each feature for normalizing incoming features from other songs, indicating that the server will add additional songs in the future. See Athineos at ¶ 47. In that case, steps 605–635 will be performed again for new songs, including the calculation of features (step 615) and the storage of those feature vectors (step 620) with other stored blocks of feature vectors. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 41 is drawn to “a system.” The following table illustrates the correspondence between the claimed system and the Athineos reference.
Claim 41
The Athineos Reference
“41. A system for selecting a song from a plurality of songs, the system comprising:
Similarity the Athineos reference describes a method and system for music information retrieval. Athineos at Abs., ¶ 2.
“one or more processors;
“one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising:
Athineos’s system is computer-based and includes computers, or processors, and computer-readable media implemented at a client and server with instructions executed by the computers. Id. at ¶¶ 15, 23, 71, 82.
“receiving the plurality of songs;
Athineos’s server receives a set of tracks for processing (step 605). Id. at ¶ 47, FIG.6.
“generating one or more block feature vectors for each song in the plurality of songs;
Athineos’s server extracts a set of features (steps 610, 615) from a set of input songs in order to build a database. Id. at ¶ 47, FIG.6. The features include both temporal and spectral features. Id. The features are block features because they correspond to features extracted by a sliding window. Id.
“maintaining a list of block feature vectors for each song in the plurality of songs;
The server maintains the extracted features by storing them (step 620) in a relational database. Id.
“normalizing the block feature vectors;
The server also normalizes the features (steps 630, 635) by calculating a mean and subtracted a variance for each feature coordinate. Id.
“receiving a request comprising a search key song;
Athineos’s server receives a request for music retrieval from a client. Id. at ¶ 44, FIG.5A. The request is a query seed formed by a clip of a song. Id.
“generating one or more block feature vectors for the search key song; and
The server extracts features from the query seed. Id.
“selecting a song from the plurality of songs based on a similarity between the block feature vectors of the selected song and the block feature vectors of the search key song.”
The server then computes a hash from the query, performs a pre-search, a refinement and renders the results to a client computer. Id. at ¶ 40, FIG.2. The results are selected based on the distance between the query seed and the songs in the database. Id.
Table 4
For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 42 depends on claim 41, and further requires the following:
“wherein the similarity between the block feature vectors of the selected song and the block feature vectors of the search key song comprises a proximity between the block feature vectors of the selected song and the block feature vectors of the search key song.”
The Athineos reference describes that its server then computes a hash from the query, performs a pre-search, a refinement and renders the results to a client computer. Athineos. at ¶ 40, FIG.2. The results are selected based on the distance between the query seed and the songs in the database. Id. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 43 depends on claim 41, and further requires the following:
“wherein generating the block feature vectors comprises extracting one or both of time and spectral domain descriptors.”
Athineos’s server extracts a set of features (steps 605, 610, 615) from a set of input songs in order to build a database. Id. at ¶ 47, FIG.6. The features include both temporal and spectral features. Id. The features are block features because they correspond to features extracted by a sliding window. Id. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 44 depends on claim 43, and further requires the following:
“wherein the time and spectral domain descriptors include one or more of: a zero crossing rate, a first order autocorrelation, an energy level, a linear regression, a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry.”
Athineos describes extracting an autocorrelation, autoregression model and energy among other features. Athineos at ¶¶ 46, 51. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 45 depends on claim 43, and further requires the following:
“wherein generating the block feature vectors comprises generating one or more statistical moments of the extracted time and spectral domain descriptors.”
Athineos describes calculating a mean and variance. Athineos at ¶¶ 45, 50. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 46 depends on claim 45, and further requires the following:
“wherein the statistical moments comprise one or more of: a mean, a variance, a skewness, and a kurtosis.”
Athineos describes calculating a mean and variance. Athineos at ¶¶ 45, 50. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 47 depends on claim 41, and further requires the following:
“wherein generating the block feature vectors comprises generating the block feature vectors via a sliding signal window.”
Likewise, Athineos describes the use of a sliding signal window to extract temporal and spectral features. Athineos at ¶ 47, FIG.6. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Claim 50 depends on claim 41, and further requires the following:
“further comprising adding an additional song to the plurality of songs and updating the list of block feature vectors by:
“generating one or more block feature vectors for the additional song; and
“adding the block feature vectors for the additional song to the list of block feature vectors.”
Athineos describes generating mean and standard deviations of each feature for normalizing incoming features from other songs, indicating that the server will add additional songs in the future. See Athineos at ¶ 47. In that case, steps 605–635 will be performed again for new songs, including the calculation of features (step 615) and the storage of those feature vectors (step 620) with other stored blocks of feature vectors. For the foregoing reasons, the Athineos reference anticipates all limitations of the claim.
Obviousness
The following is a quotation of 35 U.S.C. § 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 4, 11, 39 and 51 are rejected under 35 U.S.C. § 103 as being unpatentable over the Athineos.
Claims 17–22, 27, 28, 37, 49 are rejected under 35 U.S.C. § 103 as being unpatentable over the combination of Athineos and Yu. A. Malkov and D.A. Yashunin, Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs, https://arxiv.org/abs/1603.09320 (last accessed 28 November 2023) (last revised 14 August 2018) (“Malkov”)1.
Claims 23–26 are rejected under 35 U.S.C. § 103 as being unpatentable over the combination of Athineos and Joseph Cleveland et al., Content-Based Music Similarity with Triplet Networks, 37th Int’l Conf. on Machine Learning (2020) (https://arxiv.org/pdf/2008.04938) (archived 07 December 2022) (last accessed 02 April 2026) (“Cleveland”)2.
Claims 36, 40, 48 and 52 are rejected under 35 U.S.C. § 103 as being unpatentable over the combination of Athineos and US Patent Application Publication 2020/0356589 (filed 04 September 2019) (“Rekik”).
Claim 4 depends on claim 1, and further requires the following:
“wherein the search key is the identity of a song.”
Claim 11 depends on claim 8, and further requires the following:
“wherein the search key is the identity of a song.”
Claims 4 and 11 are treated together. Athineos provides a text-based search feature, so that a user may enter text pertaining to lyrics of a song that identify that song. Athineos at ¶¶ 70, 71. This reasonably suggests looking up songs based on other textual data, such as the identity, or name of the song, as done in other prior art systems. See id. at ¶¶ 3, 69 (describing the prior art use of name-based searching and the use of user-provided labels to further refine searching). For the foregoing reasons, the Athineos reference makes obvious all limitations of the claims.
Claim 39 depends on claim 38, and further requires the following:
“further comprising:
“determining the list of block feature vectors requires renormalization; and
“renormalization the list of block feature vectors.”
Claim 51 depends on claim 50, and further requires the following:
“further comprising: determining the list of block feature vectors requires renormalization; and renormalization the list of block feature vectors.”
Claims 39 and 51 are treated together. Athineos describes normalizing all features for the entire library. Athineos at ¶ 47, FIG.6. Athineos also describes adding additional songs (i.e., processing incoming query features). See id. Together, these concepts reasonably suggest determining that renormalizing is required due to the addition of a new song and then normalizing all the feature vectors in the database as new songs are added. For the foregoing reasons, the Athineos reference makes obvious all limitations of the claims.
Claim 17 depends on claim 15, and further requires the following:
“wherein proximity of the search key to the plurality of songs is determined in, on average, logarithmic time with respect to the total number of songs known to the system.”
Claim 18 depends on claim 16, and further requires the following:
“wherein proximity of the search key to the plurality of songs is determined in, on average, logarithmic time with respect to the total number of songs known to the method.”
Claims 17 and 18 are treated together. Athineos describes the use of a nearest neighbor search to identify songs in a database that are similar to a seed song. Athineos at ¶ 7, 40, 50. The Malkov reference recognizes that this basic nearest neighbor search is slow for large databases, and provides in-depth details on prior art techniques for performing an efficient approximate neareset neighbor search using hierarchical navigable small world graphs. Malkov at Abs., § 1. Malkov also shows that such a technique can operate with O(log(N)) complexity. Id. at § 4.2.1. Accordingly, it would have been obvious for one of ordinary skill in the art at the time of the invention to modify Alcalde's system and method to find the nearest song to a user's taste vector by using Malkov's search method. One of ordinary skill would have reasonably expected that doing so would improve the speed of the search especially for large music databases. For the foregoing reasons, the combination of the Athineos and the Malkov references makes obvious all limitations of the claims.
Claim 19 depends on claim 15, and further requires the following:
“wherein proximity of the search key to the plurality of songs is determined via the cosine similarity between the search key’s vector embedding and those of the plurality of songs.”
Claim 20 depends on claim 16, and further requires the following:
“wherein proximity of the search key to the plurality of songs is determined via the cosine similarity between the search key’s vector embedding and those of the plurality of songs.”
Claims 19 and 20 are treated together. Malkov further identifies the use of cosine similarity instead of Euclidean distance (as described in Athineos) for performing a nearest neighbor search. Malkov at § 5.2; Athineos at ¶¶ 40, 50. This would have reasonably suggested modifying Athineos to also use cosine similarity as an alternative distance measurement instead of Euclidean norm distance. See Athineos at ¶¶ 40, 67. For the foregoing reasons, the combination of the Athineos and the Malkov references makes obvious all limitations of the claims.
Claim 21 depends on claim 17, and further requires the following:
“wherein a song’s vector embedding is indexed within a hierarchical navigable small world graph.”
Claim 22 depends on claim 18, and further requires the following:
“wherein a song’s vector embedding is indexed within a hierarchical navigable small world graph.”
Claim 37 depends on claim 29, and further requires the following:
“wherein maintaining the list of block feature vectors comprises, for each of the plurality of songs, indexing a combination of one or more of the block feature vectors for the song in a hierarchical navigable small world graph data structure.”
Claim 49 depends on claim 41, and further requires the following:
“wherein maintaining the list of block feature vectors comprises, for each of the plurality of songs, indexing a combination of one or more of the block feature vectors for the song in a hierarchical navigable small world graph data structure.”
Claims 21, 22, 37 and 49 are treated together. Malkov teaches and suggests the use of navigable small-world graphs to improve query speed when executing a nearest neighbor search, similar to the type of query search performed by Athineos. Malkov at Abstract, § 1; Athineos at ¶¶ 7, 67. This would have reasonably suggested modifying Athineos to similarly make use of a hierarchical navigable small world graph to index feature vectors of the songs in Athineos’s database as claimed. For the foregoing reasons, the combination of the Athineos and the Malkov references makes obvious all limitations of the claims.
Claim 27 depends on claim 17, and further requires the following:
“wherein execution is performed in an on-premise environment.”
Claim 28 depends on claim 18, and further requires the following:
“wherein execution is performed in an on-premise environment.”
Claims 27 and 28 are treated together. Athineos contemplates execution of search in a server premises. Athineos at ¶ 15. For the foregoing reasons, the combination of the Athineos and the Malkov references makes obvious all limitations of the claims.
Claim 23 depends on claim 15, and further requires the following:
“wherein weights used to compute a song’s vector embedding are obtained from the minimization of a triplet loss cost function in which every input learning example triplet consists of an anchor, positive, and negative song identifiers in which the anchor is more proximate to the positive than to the negative.”
Claim 24 depends on claim 16, and further requires the following:
“wherein weights used to compute a song’s vector embedding are obtained from the minimization of a triplet loss cost function in which every input learning example triplet consists of an anchor, positive, and negative song identifiers in which the anchor is more proximate to the positive than to the negative.”
Claims 23 and 24 are treated together. Cleveland teaches and suggests the use of a triplet neural networks to embed songs for music similarity searching. Cleveland at Abs. Cleveland constructs its embedding model to minimize a triplet loss cost function. Cleveland’s model is trained with an anchor, positive and negative song as claimed. Id. at § 2. The result is a set of weights that minimize the triplet loss function, such that the distance between an anchor and a positive example is less than the distance between the anchor and a negative example. Id. Read in light of Athineos, Cleveland suggests modifying Athineos to substitute Athineos’s hash function with a triplet neural network that embeds feature vectors using weights derived by a triplet neural network that minimizes a triplet loss function based on an anchor, positive examples and negative examples. For the foregoing reasons, the combination of the Athineos and the Cleveland references makes obvious all limitations of the claims.
Claim 25 depends on claim 23, and further requires the following:
“wherein the system can algorithmically generate a set of learning example triplets from: a search key; a ranked list of similar songs generated by the system with respect to the search key; a user generated ranked list of similar songs whose songs are drawn from a subset of the system ranked list.”
Claim 26 depends on claim 24, and further requires the following:
“wherein the system can algorithmically generate a set of learning example triplets from: a search key; a ranked list of similar songs generated by the system with respect to the search key; a user generated ranked list of similar songs whose songs are drawn from a subset of the system ranked list.”
Claims 25 and 26 are treated together. Cleveland describes training its triplet network with a list of songs that includes anchor songs and positive songs from the same artist and negative songs from different artists/genres. Cleveland at § 3. Further, the Athineos reference describes a system for providing a ordered/sorted/ranked list of similar songs. Athineos at ¶¶ 20, 53, 55, 56. Thus, the references, read together, plainly suggest using Athineos’s system to generate a ranked list of songs from a seed song and to use that list to train Cleveland’s network. For the foregoing reasons, the combination of the Athineos and the Cleveland references makes obvious all limitations of the claims.
Claim 36 depends on claim 29, and further requires the following:
“further comprising range scaling the block feature vectors.”
Claim 48 depends on claim 41, and further requires the following:
“further comprising range scaling the block feature vectors.”
Claims 36 and 48 are treated together. The Athineos reference describes normalizing its feature vectors using a standardization technique (i.e., subtracting a mean and dividing by standard deviation). Athineos at ¶ 47, FIG.6. In the field of data science and machine learning, it is known to normalize feature vectors using a variety of different techniques. For example, the Rekik reference describes the use of a standardization process as described by Athineos as well as min-max range scaling as claimed. Rekik at ¶¶ 40–41. Read together with Athineos, Rekik reasonably suggests normalizing Athineos’s feature vectors using a min-max range scaling technique as an alternative to Athineos’s described use of standardization. For the foregoing reasons, the combination of the Athineos and the Rekik references makes obvious all limitations of the claims.
Claim 40 depends on claim 39, and further requires the following:
“wherein determining the list of block feature vectors requires renormalization comprises:
“determining a feature range from the list of block feature vectors; and
“determining one or more of the block feature vectors for the additional song are outside of the feature range.”
Claim 52 depends on claim 51, and further requires the following:
“wherein determining the list of block feature vectors requires renormalization comprises:
“determining a feature range from the list of block feature vectors; and
“determining one or more of the block feature vectors for the additional song are outside of the feature range.”
Claims 40 and 52 are treated together. As shown in the obviousness rejection of claims 36 and 48, incorporated herein, the teachings of Rekik would have reasonably suggested normalizing Athineos feature vectors using an alternative normalization technique, such as min-max range scaling. Because that technique requires normalizing features based on a mean, minimum value and a maximum value, it would have been necessary to renormalize any time one of Athineos’s incoming vectors exceeds the established range (i.e.,
r
a
n
g
e
=
m
a
x
-
m
i
n
). See Rekik at ¶ 41. Thus, it would have been obvious to detect that condition (e.g., determining that a new vector value exceeds the existing
m
a
x
of the existing feature range) and to renormalize based on an updated range (i.e., determine a new range as
r
a
n
g
e
n
e
w
=
m
a
x
n
e
w
–
m
i
n
). For the foregoing reasons, the combination of the Athineos and the Rekik references makes obvious all limitations of the claims.
Summary
Claims 1–52 are rejected under at least one of 35 U.S.C. §§ 102 and 103 as being unpatentable over the cited prior art. In the event the determination of the status of the application as subject to AIA 35 U.S.C. §§ 102 and 103 (or as subject to pre-AIA 35 U.S.C. §§ 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Double Patenting
Legal Basis
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
Obviousness-Type Double Patenting
Claims 1, 8, 29 and 41 are rejected on the ground of nonstatutory double patenting as being unpatentable over the claims of US Patent 12,067,051 (the ‘051 Patent). Although the claims at issue are not identical, they are not patentably distinct from each other.
Claims 1, 8, 29 and 41 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over the claims of US Patent Application 18/800,745 (the ‘745 Application). Although the claims at issue are not identical, they are not patentably distinct from each other.
The following table illustrates the correspondence between claim 1 of this Application and claim 1 of the ‘051 Patent.
Claim 1
The ‘051 Patent
“1. A system, comprising:
1. A system, comprising:
“one or more processors;
“one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising:
one or more processors; one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising:
“generating one or more block feature vectors for each song of a plurality of songs, including by:
“extracting time and spectral domain descriptors,
generating a song block feature for each song in a plurality of songs, including;
extracting time and spectral domain features via a sliding signal windows,
“wherein the descriptors include one or more of: a zero crossing rate, a first order autocorrelation, an energy level, a linear regression, a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry,
“including a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry,
“one or more statistical moments of the extracted time and spectral domain descriptors, and
“generating a plurality of window features from the extracted time and spectral domain features, each window feature including a mean, variance, skewness, and kurtosis,
N/A
“generating a plurality of block features from the plurality of window features, and
“maintaining a list of block feature vectors for each song in the plurality of songs;
“maintaining a list of block features for each song in the plurality of songs;
“normalizing the block feature vectors;
“normalizing the song block feature;
“receiving a request comprising a search key; and
“receiving a request comprising a search key; and
“determining one or more results based on a proximity of the search key to the plurality of songs.”
“determining one or more results based on a proximity of the search key to the plurality of songs”
Table 5
As seen in the table, the claims are not drawn to the same invention because the claims of this Application are broader in scope than claim 1 of the ‘051 Patent. Therefore, ‘051 would anticipate claim 1 of this Application if it were available as prior art. Similar comparisons may be made with claims 8, 29 and 41 of this Application and claims 1 and 10 of the ‘051 Patent. Applicant is further advised that further correspondence exists among this Application’s numerous dependent claims and the dependent claims of the ‘051 Patent.
The following table illustrates the correspondence between claim 1 of this Application and claim 1 of the ‘745 Application.
Claim 1
The ‘745 Application
“1. A system, comprising:
“1. A system, comprising:
“one or more processors;
“one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising:
“one or more processors; one or more computer-readable media storing computer-executable instructions that, when executed on the one or more processors, cause the one or more processors to perform acts comprising:
“generating one or more block feature vectors for each song of a plurality of songs, including by:
“extracting time and spectral domain descriptors,
“generating a song block feature for each song in a plurality of songs, including:
“extracting time and spectral domain features via a signal window,
“wherein the descriptors include one or more of: a zero crossing rate, a first order autocorrelation, an energy level, a linear regression, a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry,
“[the features] including at least one of a spectral centroid, a spectral smoothness, a spectral spread, and a spectral dissymmetry,
“one or more statistical moments of the extracted time and spectral domain descriptors, and
“generating at least one window feature from the extracted time and spectral domain features, each window feature including at least one of a mean, variance, skewness, and kurtosis,
N/A
“generating at least one block feature from the at least one window feature, and
“maintaining a list of block feature vectors for each song in the plurality of songs;
“maintaining a list of the at least one block feature for each song in the plurality of songs;
“normalizing the block feature vectors;
“normalizing the song block feature;
“receiving a request comprising a search key; and
“receiving a request comprising a search key; and
“determining one or more results based on a proximity of the search key to the plurality of songs.”
“determining one or more results based on a proximity of the search key to the plurality of songs.
Table 6
As seen in the table, the claims are not drawn to the same invention because the claims of this Application are broader in scope than claim 1 of the ‘745 Application. Therefore, ‘745 would anticipate claim 1 of this Application if it were available as prior art. Similar comparisons may be made with claims 8, 29 and 41 of this Application and claims 1 and 10 of the ‘745 Application. Applicant is further advised that further correspondence exists among this Application’s numerous dependent claims and the dependent claims of the ‘745 Application.
Summary
A timely filed terminal disclaimer in compliance with 37 C.F.R. § 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 C.F.R. § 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 C.F.R. § 1.111(a). For a reply to final Office action, see 37 C.F.R. § 1.113(c). A request for reconsideration while not provided for in 37 C.F.R. § 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Objections
The drawings are objected to under 37 C.F.R. § 1.83(a). The drawings must show every feature of the invention specified in the claims. Therefore, the processors, media and steps/functions performed by the processors must be shown or the feature(s) canceled from the claim(s). No new matter should be entered.
Corrected drawing sheets in compliance with 37 C.F.R. § 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 C.F.R. § 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WALTER F BRINEY III whose telephone number is (571)272-7513. The examiner can normally be reached M-F 8 am-4:30 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Carolyn Edwards can be reached at 571-270-7136. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Walter F Briney III/
/CAROLYN R EDWARDS/Supervisory Patent Examiner, Art Unit 2692
Walter F Briney IIIPrimary ExaminerArt Unit 2692
4/10/202626
1 Cited by Applicant in the IDS filed 12 August 2024.
2 Cleveland is available as prior art under 35 U.S.C. 102(a)(1) because it was published prior to the effective filing date of these claims. In particular, these claims relate to subject matter that is not supported under 35 U.S.C. § 112(a) by the continuation-in-part parent application US 17/207,458 (patented as US 12,067,051).