(57)【要約】【課題】動的ノートマッチングのための電子装置およびその動作方法を提供する。【解決手段】本発明の多様な実施形態に係る動的ノートマッチングのための電子装置およびその動作方法は、入力される信号から抽出される第１シーケンスを、それぞれの値が連続して配列される少なくとも１つの第１区間に基づいて縮約して、第１区間シーケンスを取得し、予め記憶された第２シーケンスから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスを取得し、動的ノートマッチングにより、第１区間シーケンスと第２区間シーケンスの類似度を計算するように構成される。【選択図】図５
2020201478.tif 000002
【特許請求の範囲】
【請求項１】
電子装置の動作方法であって、
入力される信号から抽出される第１シーケンスを、それぞれの値が連続して配列される少なくとも１つの第１区間に基づいて縮約して、第１区間シーケンスを取得する動作、
予め記憶された第２シーケンスから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスを取得する動作、および
前記第１区間シーケンスと前記第２区間シーケンスの類似度を計算する動作を含む、
方法。
【請求項２】
前記第１区間シーケンスは、前記第１区間の値および長さに対するシーケンスを示し、
前記第２区間シーケンスは、前記第２区間の値および長さに対するシーケンスを示す、
請求項１に記載の方法。
【請求項３】
前記類似度を計算する動作は、
前記第１区間シーケンスと前記第２区間シーケンスとに基づき、少なくとも１つのベクトル領域を含むコストマトリックスを生成する動作、
前記ベクトル領域に対するコストを計算する動作、
前記コストに基づき、前記コストマトリックスでワーピング経路を検出する動作、および
前記ワーピング経路を利用して前記類似度を計算する動作を含む、
請求項１に記載の方法。
【請求項４】
前記コストマトリックスを生成する動作は、
前記第１区間を対応させて前記コストマトリックスの少なくとも１つの列を生成する動作、および
前記第２区間を対応させて前記コストマトリックスの少なくとも１つの行を生成する動作を含み、
前記ベクトル領域のそれぞれは、前記第１区間のうちのいずれか１つと前記第２区間のうちのいずれか１つとによって生成される、
請求項３に記載の方法。
【請求項５】
前記コストを計算する動作は、
前記第１区間の値および長さならびに前記第２区間の値および長さを利用し、前記コストマトリックスの一番下の列および一番左の行のベクトル領域に対するコストを計算する動作、
前記コストマトリックスが複数の列および複数の行からなる場合、ターゲットベクトル領域の下の列および左の行の基準ベクトル領域を選択する動作、および
前記基準ベクトル領域のコストに基づき、前記ターゲットベクトル領域のコストを計算する動作を含む、
請求項４に記載の方法。
【請求項６】
前記ターゲットベクトル領域のコストを計算する動作は、
前記基準ベクトル領域のそれぞれから、前記ターゲットベクトル領域の候補コストを計算する動作、および
前記候補コストのうちの最小値を前記ターゲットベクトル領域のコストとして選択する動作を含む、
請求項５に記載の方法。
【請求項７】
前記候補コストを計算する動作は、
前記基準ベクトル領域のうちのいずれか１つの上の辺のコストから、前記候補コストのうちのいずれか１つを計算する動作、および
前記基準ベクトル領域のうちのいずれか１つの右の辺のコストから、前記候補コストのうちの他の１つを計算する動作を含む、
請求項６に記載の方法。
【請求項８】
前記第１区間シーケンスを取得する動作は、
外部装置からオーディオ信号を受信する動作、
前記オーディオ信号から前記第１シーケンスを抽出する動作、および
前記第１シーケンスを縮約して前記第１区間シーケンスを取得する動作を含む、
請求項１に記載の方法。
【請求項９】
前記第２区間シーケンスを取得する動作および前記類似度を計算する動作は、
予め記憶された複数の第２シーケンスに対して個別に実行される、
請求項８に記載の方法。
【請求項１０】
前記類似度に基づき、前記第２シーケンスのうちの少なくともいずれか１つを選択する動作、および
前記外部装置に前記選択された第２シーケンスと関連するメタ情報をフィードバックする動作をさらに含む、
請求項９に記載の方法。
【請求項１１】
電子装置であって、
入力される信号から第１シーケンスを抽出するように構成されるプロセッサ、および
前記プロセッサに連結され、少なくとも１つの第２シーケンスを記憶している、メモリを含み、
前記プロセッサは、
前記第１シーケンスを、それぞれの値が連続して配列される第１区間に基づいて縮約して、第１区間シーケンスを取得し、
前記第２シーケンスから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスを取得し、
前記第１区間シーケンスと前記第２区間シーケンスの類似度を計算するように構成される、
電子装置。
【請求項１２】
前記第１区間シーケンスは、前記第１区間の値および長さのシーケンスを示し、
前記第２区間シーケンスは、前記第２区間の値および長さのシーケンスを示す、
請求項１１に記載の電子装置。
【請求項１３】
前記プロセッサは、
前記第１区間シーケンスと前記第２区間シーケンスとに基づき、少なくとも１つのベクトル領域を含むコストマトリックスを生成し、
前記ベクトル領域に対するコストを計算し、
前記コストに基づき、前記コストマトリックスでワーピング経路を検出し、
前記ワーピング経路を利用して前記類似度を計算するように構成される、
請求項１１に記載の電子装置。
【請求項１４】
前記プロセッサは、
前記第１区間を対応させて前記コストマトリックスの少なくとも１つの列を生成し、
前記第２区間を対応させて前記コストマトリックスの少なくとも１つの行を生成し、
これにより、前記ベクトル領域のそれぞれが、前記第１区間のうちのいずれか１つと前記第２区間のうちのいずれか１つとによって生成されるように構成される、
請求項１３に記載の電子装置。
【請求項１５】
前記プロセッサは、
前記第１区間の値および長さならびに前記第２区間の値および長さを利用し、前記コストマトリックスの一番下の列および一番左の行のベクトル領域に対するコストを計算し、
前記コストマトリックスが複数の列および複数の行からなる場合、ターゲットベクトル領域の下の列および左の行の基準ベクトル領域を選択し、
前記基準ベクトル領域のコストに基づき、前記ターゲットベクトル領域のコストを計算するように構成される、
請求項１４に記載の電子装置。
【請求項１６】
前記プロセッサは、
前記基準ベクトル領域のそれぞれから、前記ターゲットベクトル領域の候補コストを計算し、
前記候補コストのうちの最小値を前記ターゲットベクトル領域のコストとして選択するように構成される、
請求項１５に記載の電子装置。
【請求項１７】
前記プロセッサは、
前記基準ベクトル領域のうちのいずれか１つの上の辺のコストから、前記候補コストのうちのいずれか１つを計算し、
前記基準ベクトル領域のうちのいずれか１つの右の辺のコストから、前記候補コストのうちの他の１つを計算するように構成される、
請求項１６に記載の電子装置。
【請求項１８】
前記プロセッサは、
外部装置からオーディオ信号を受信し、
前記オーディオ信号から前記第１シーケンスを抽出し、
前記第１シーケンスを縮約して前記第１区間シーケンスを取得するように構成される、
請求項１１に記載の電子装置。
【請求項１９】
前記プロセッサは、
予め記憶された複数の第２シーケンスにそれぞれ対応する複数の類似度を計算し、
前記類似度に基づき、前記第２シーケンスのうちから少なくともいずれか１つを選択し、
前記外部装置に前記選択された第２シーケンスと関連するメタ情報をフィードバックするように構成される、
請求項１８に記載の電子装置。
【請求項２０】
非一時的なコンピュータ読み取り可能な記憶媒体であって、
入力される信号から抽出される第１シーケンスを、それぞれの値が連続して配列される少なくとも１つの第１区間に基づいて縮約して、第１区間シーケンスを取得する動作、
予め記憶された第２シーケンスから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスを取得する動作、および
前記第１区間シーケンスと前記第２区間シーケンスの類似度を計算する動作
を実行するための１つ以上のプログラムを記憶するように構成される、
非一時的コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の多様な実施形態は、動的ノートマッチング（ｄｙｎａｍｉｃ  ｎｏｔｅ  ｍａｔｃｈｉｎｇ：ＤＮＭ）のための電子装置およびその動作方法に関する。
【背景技術】
【０００２】
最近の通信環境においてＱｂＨ（ｑｕｅｒｙ  ｂｙ  ｈｕｍｍｉｎｇ）サービスが提供されている。このようなサービスの提供のために、サーバでは大量のオーディオファイルに関する情報を保存している。クライアントが検索したいメロディーを持つオーディオ信号をサーバに送信すると、サーバは、このオーディオ信号に最も類似するオーディオファイルの情報をクライアントにフィードバックする。このために、サーバでは、オーディオ信号と大量のオーディオファイルとの比較作業が行われる。これにより、サーバには高い演算量が求められ、これはサーバの演算速度を低下させるという問題にも繋がる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の多様な実施形態は、サービス提供のために求められる演算量を減少させることができる電子装置およびその動作方法を提供することを目的とする。
【０００４】
本発明の多様な実施形態は、オーディオ信号と大量のオーディオファイルとの比較に求められる演算量を減少させることができる電子装置およびその動作方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の多様な実施形態に係る電子装置の動作方法は、動的ノートマッチング（ＤＮＭ）のためのものであって、入力される信号から抽出される第１シーケンスを、それぞれの値が連続して配列される少なくとも１つの第１区間に基づいて縮約して、第１区間シーケンスを取得する動作、予め記憶された第２シーケンスから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスを取得する動作、および前記動的ノートマッチング（ＤＮＭ）により、前記第１区間シーケンスと前記第２区間シーケンスの類似度を計算する動作を含んでよい。
【０００６】
本発明の多様な実施形態に係る電子装置は、動的ノートマッチング（ＤＮＭ）のためのものであって、入力される信号から第１シーケンスを抽出するように構成されるプロセッサ、および前記プロセッサに接続され、少なくとも１つの第２シーケンスを記憶している、メモリを含んでよい。
【０００７】
本発明の多様な実施形態によると、前記プロセッサは、前記第１シーケンスを、それぞれの値が連続して配列される第１区間に基づいて縮約して、第１区間シーケンスを取得し、前記第２シーケンスから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスを取得し、前記動的ノートマッチング（ＤＮＭ）により、前記第１区間シーケンスと前記第２区間シーケンスの類似度を計算するように構成されてよい。
【０００８】
本発明の多様な実施形態に係る非一時的なコンピュータ読み取り可能な記憶媒体は、動的ノートマッチング（ＤＮＭ）のためのものであって、入力される信号から抽出される第１シーケンスを、それぞれの値が連続して配列される少なくとも１つの第１区間に基づいて縮約して、第１区間シーケンスを取得する動作、予め記憶された第２シーケンスから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスを取得する動作、および前記動的ノートマッチング（ＤＮＭ）により、前記第１区間シーケンスと前記第２区間シーケンスの類似度を計算する動作を実行するための１つ以上のプログラムを記憶してよい。
【発明の効果】
【０００９】
本発明の多様な実施形態によると、電子装置は、入力される信号と予め記憶されたデータとをそれぞれ縮約して比較することにより、電子装置に求められる演算量を減少させることができる。このとき、電子装置は、入力される信号から縮約された第１区間シーケンスと予め記憶されたデータから縮約された第２区間シーケンスとに基づいてコストマトリックスを生成し、動的ノートマッチング（ＤＮＭ）により、コストマトリックスでワーピング経路を検出することができる。これにより、電子装置は、入力される信号と予め記憶されたデータから縮約された情報とに基づいて動的プログラミングを使用することができる。これにより、電子装置は、少ない演算量で希望とする結果を取得することが可能となる。これは、電子装置の動作の効率性を向上させ、電子装置が提供するサービスの品質を向上させることに繋がる。
【図面の簡単な説明】
【００１０】
【図１】本発明の多様な実施形態における、システムおよびこの信号の流れを示した図である。
【図２】本発明の多様な実施形態における、電子装置を示した図である。
【図３】本発明の多様な実施形態における、電子装置の動作方法を示した図である。
【図４】本発明の多様な実施形態における、電子装置の動作方法を示した図である。
【図５】図４の類似度計算動作を示した図である。
【図６】図４の類似度計算動作を説明するための図である。
【図７】図４の類似度計算動作を説明するための図である。
【図８】図４の類似度計算動作を説明するための図である。
【図９】図４の類似度計算動作を説明するための図である。
【図１０】図４の類似度計算動作を説明するための図である。
【図１１】図４の類似度計算動作を説明するための図である。
【図１２】図４の類似度計算動作を説明するための図である。
【図１３】図４の類似度計算動作を説明するための図である。
【図１４】一実施形態における、電子装置の動作方法を示した図である。
【発明を実施するための形態】
【００１１】
以下、本発明の多様な実施形態について、添付の図面を参照しながら詳細に説明する。
【００１２】
図１は、本発明の多様な実施形態に係るシステム１００およびこの信号の流れを示した図である。
【００１３】
図１を参照すると、本発明の多様な実施形態に係るシステム１００は、多様な電子装置１１０、１３０を含んでよい。電子装置１１０、１３０は、ネットワーク（図示せず）を介して互いに通信してよい。電子装置１１０、１３０は、少なくとも１つのクライアント（ｃｌｉｅｎｔ）１１０と、少なくとも１つのサーバ（ｓｅｒｖｅｒ）１３０とを含んでよい。例えば、クライアント１１０は、携帯用通信装置、コンピュータ装置、携帯用マルチメディア装置、携帯用医療機器、カメラ、ウェアラブル装置、または家電装置のうちの少なくともいずれか１つを含んでよいが、これに限定されることはない。サーバ１３０は、クライアント１１０に多様なサービスを提供してよい。このために、サーバ１３０は、サービスの提供に利用されるデータベース（ｄａｔａ  ｂａｓｅ：ＤＢ）を備えてよい。本発明の多様な実施形態によると、サーバ１３０は、クライアント１１０にＱｂＨ（ｑｕｅｒｙ  ｂｙ  ｈｕｍｍｉｎｇ）サービスを提供してよい。このために、サーバ１３０は、複数のオーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか１つを記憶していてよい。
【００１４】
本発明の多様な実施形態によると、クライアント１１０は、動作１４１で、オーディオ信号を検出してよい。クライアント１１０は、ユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか１つを含んでよい。この後、クライアント１１０は、動作１４３で、サーバ１３０にオーディオ信号を送信してよい。
【００１５】
動作１４３で、クライアント１１０からオーディオ信号が受信されると、サーバ１３０は、動作１４５で、オーディオ信号から第１シーケンスｑを抽出してよい。第１シーケンスｑは、数字ベクトルで構成されてよい。このために、サーバ１３０は、オーディオ信号から数字ベクトルを抽出し、数字ベクトルから第１シーケンスｑを取得してよい。このとき、第１シーケンスｑは、特定の長さａを有し、それぞれの値（ｖａｌｕｅ）、すなわち、数字ベクトルが連続して配列される構造を有してよい。
【００１６】
サーバ１３０は、動作１４７で、第１シーケンスｑおよび予め記憶された第２シーケンスｓのそれぞれの類似度を計算してよい。このとき、サーバ１３０は、オーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか１つとともに、オーディオファイルの第２シーケンスｓを記憶していてよい。ここで、それぞれの第２シーケンスｓは、オーディオファイルのうちのいずれか１つの少なくとも一部領域から抽出されてよく、数字ベクトルで構成されてよい。このために、サーバ１３０は、オーディオファイルのうちのいずれか１つの少なくとも一部領域から数字ベクトルを抽出し、数字ベクトルから第２シーケンスｓのうちのいずれか１つを取得してよい。このとき、それぞれの第２シーケンスｓは、特定の長さｂを有し、それぞれの値（ｖａｌｕｅ）、すなわち、数字ベクトルが連続して配列される構造を有してよい。また、サーバ１３０は、動的ノートマッチング（ｄｙｎａｍｉｃ  ｎｏｔｅ  ｍａｔｃｈｉｎｇ：ＤＮＭ）により、第１シーケンスｑおよび第２シーケンスｓのそれぞれの類似度を計算してよい。サーバ１３０は、第１シーケンスｑと第２シーケンスｓとを縮約し、これに基づいて類似度を計算してよい。
【００１７】
サーバ１３０は、動作１４９で、第２シーケンスｓのうちの少なくともいずれか１つを含むフィードバック情報を生成してよい。サーバ１３０は、類似度に基づき、第２シーケンスｓのうちの少なくともいずれか１つを選択してよい。一実施形態によると、サーバ１３０は、類似度のうちから最大値を検出し、これに対応する第２シーケンスｓを選択してよい。他の実施形態によると、サーバ１３０は、類似度のうちから予め定められた閾値を超過する少なくともいずれか１つを検出し、これに対応する第２シーケンスｓを選択してよい。また、サーバ１３０は、第２シーケンスｓのうちの少なくともいずれか１つと関連するオーディオファイルのメタ情報を含むようにフィードバック情報を生成してよい。この後、サーバ１３０は、動作１５１で、クライアント１１０にフィードバック情報を送信してよい。
【００１８】
動作１５１で、サーバ１３０からフィードバック情報が受信されると、クライアント１１０は、動作１５３で、フィードバック情報を処理してよい。一実施形態によると、クライアント１１０は、フィードバック情報を出力してよい。他の実施形態によると、クライアント１１０は、フィードバック情報を他の電子装置（図示せず）に送信してよい。
【００１９】
図２は、本発明の多様な実施形態における、電子装置１１０、１３０を示した図である。
【００２０】
図２を参照すると、本発明の多様な実施形態に係るシステム１００は、多様な電子装置１１０、１３０を含んでよい。電子装置１１０、１３０は、ネットワーク２００を介して互いに通信してよい。例えば、ネットワーク２００は、遠距離無線通信ネットワークまたは近距離無線通信ネットワークのうちの少なくともいずれか１つを含んでよい。電子装置１１０、１３０は、少なくとも１つのクライアント１１０と、少なくとも１つのサーバ１３０を含んでよい。
【００２１】
本発明の多様な実施形態によると、クライアント１１０は、入力モジュール２１１、出力モジュール２１３、インタフェース２１５、通信モジュール２１７、メモリ２１９、またはプロセッサ２２１のうちの少なくともいずれか１つを含んでよい。一実施形態によると、クライアント１１０の構成要素のうちの少なくともいずれか１つが省略されてもよく、クライアント１１０に１つ以上の他の構成要素が追加されてもよい。
【００２２】
入力モジュール２１１は、クライアント１１０の外部から信号またはクライアント１１０の少なくとも１つの構成要素のための命令を入力してよい。このとき、信号は、オーディオ信号または映像信号のうちの少なくともいずれか１つを含んでよい。例えば、入力モジュール２１１は、マイクロフォン（ｍｉｃｒｏｐｈｏｎｅ）、カメラモジュール、マウス（ｍｏｕｓｅ）、キーボード（ｋｅｙｂｏａｒｄ）、または各種センサ（ｓｅｎｓｏｒ）のうちの少なくともいずれか１つを含んでよい。
【００２３】
出力モジュール２１３は、クライアント１１０の外部に情報を提供してよい。出力モジュール２１３は、視覚的に情報を提供する表示モジュールまたは聴覚的に情報を提供するオーディオモジュールのうちの少なくともいずれか１つを含んでよい。例えば、表示モジュールは、ディスプレイ、ホログラム装置、またはプロジェクタのうちの少なくともいずれか１つを含んでよい。一実施形態によると、表示モジュールは、タッチを感知するように設定された少なくとも１つのセンサと結合してよい。
【００２４】
インタフェース２１５は、クライアント１１０と他の電子装置（図示せず）とを直接に連結するか、無線で連結してよい。一例として、インタフェース２１５は、他の電子装置と物理的に連結することのできるコネクタを含んでよい。例えば、インタフェース２１５は、ＨＤＭＩ（ｈｉｇｈ  ｄｅｆｉｎｉｔｉｏｎ  ｍｕｌｔｉｍｅｄｉａ  ｉｎｔｅｒｆａｃｅ）、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）インタフェース、ＳＤ（ｓｅｃｕｒｅ  ｄｉｇｉｔａｌ）カードインタフェース、またはオーディオインタフェースのうちの少なくともいずれか１つを含んでよい。
【００２５】
通信モジュール２１７は、クライアント１１０で外部装置との通信を実行してよい。通信モジュール２１７は、クライアント１１０と外部装置との間に通信チャンネルを構築し、通信チャンネルを介して外部装置との通信を実行してよい。通信モジュール２１７は、有線通信モジュールまたは無線通信モジュールのうちの少なくともいずれか１つを含んでよい。例えば、無線通信モジュールは、ネットワーク２００を介して外部装置との通信を実行してよい。
【００２６】
メモリ２１９は、クライアント１１０の少なくとも１つの構成要素が使用する多様なデータを記憶してよい。例えば、メモリ２１９は、揮発性メモリまたは不揮発性メモリのうちの少なくともいずれか１つを含んでよい。データは、プログラム、またはこれと関連する入力データまたは出力データを含んでよい。
【００２７】
プロセッサ２２１は、メモリ２１９のプログラムを実行してクライアント１１０の少なくとも１つの構成要素を制御してよく、データ処理または演算を実行してよい。プロセッサ２２１は、入力モジュール２１１またはインタフェース２１５によってオーディオ信号を検出してよい。プロセッサ２２１は、入力モジュール２１１に入力されるユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか１つを含んでよい。プロセッサ２２１は、通信モジュール２１７からサーバ１３０にオーディオ信号を送信してよい。プロセッサ２２１は、通信モジュール２１７により、サーバ１３０からオーディオ信号に対応するフィードバック情報を受信し、フィードバック情報を処理してよい。一実施形態によると、プロセッサ２２１は、出力モジュール２１３によってフィードバック情報を出力してよい。他の実施形態によると、プロセッサ２１３は、インタフェース２１５によってフィードバック情報を他の電子装置（図示せず）に送信してよい。
【００２８】
本発明の多様な実施形態によると、サーバ１３０は、通信モジュール２３７、メモリ２３９、またはプロセッサ２４１のうちの少なくともいずれか１つを含んでよい。一実施形態によると、サーバ１３０の構成要素のうちの少なくともいずれか１つが省略されてもよいし、サーバ１３０に１つ以上の他の構成要素が追加されてもよい。
【００２９】
通信モジュール２３７は、サーバ１３０で外部装置との通信を実行してよい。通信モジュール２３７は、サーバ１３０と外部装置との間に通信チャンネルを構築し、通信チャンネルを介して外部装置との通信を実行してよい。通信モジュール２３７は、有線通信モジュールまたは無線通信モジュールのうちの少なくともいずれか１つを含んでよい。例えば、無線通信モジュールは、ネットワーク２００を介して外部装置との通信を実行してよい。
【００３０】
メモリ２３９は、サーバ１３０の少なくとも１つの構成要素が使用する多様なデータを記憶してよい。例えば、メモリ２３９は、揮発性メモリまたは不揮発性メモリのうちの少なくともいずれか１つを含んでよい。データは、プログラム、またはこれと関連する入力データまたは出力データを含んでよい。メモリ２３９は、クライアント１１０へのサービス提供のために利用されるデータベースを備えてよい。データベースは、複数のオーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか１つを記憶していてよい。
【００３１】
プロセッサ２４１は、メモリ２３９のプログラムを実行してサーバ１３０の少なくとも１つの構成要素を制御してよく、データ処理または演算を実行してよい。プロセッサ２４１は、通信モジュール２３７により、クライアント１１０からオーディオ信号を受信してよい。プロセッサ２４１は、オーディオ信号およびメモリ２３９に記憶されたオーディオファイルのそれぞれの類似度を計算してよい。このとき、プロセッサ２４１は、動的ノートマッチング（ＤＮＭ）により、オーディオ信号およびオーディオファイルのそれぞれの類似度を計算してよい。プロセッサ２４１は、通信モジュール２３７により、類似度に基づき、オーディオファイルのうちの少なくともいずれか１つのメタ情報をクライアント１１０にフィードバックしてよい。このとき、プロセッサ２４１は、メタ情報を含むフィードバック情報を生成し、フィードバック情報をクライアント１１０に送信してよい。
【００３２】
本発明の多様な実施形態によると、プロセッサ２４１は、オーディオ信号から第１シーケンスｑを抽出し、第１シーケンスｑを縮約して第１区間シーケンスを取得してよい。第１シーケンスｑは、数字ベクトルで構成されてよい。このために、サーバ２４１は、オーディオ信号から数字ベクトルを抽出し、数字ベクトルから第１シーケンスｑを取得してよい。このとき、第１シーケンスｑは、特定の長さａを有し、それぞれの値（ｖａｌｕｅ）、すなわち、数字ベクトルが連続して配列される少なくとも１つの第１区間で構成されてよい。これにより、プロセッサ２４１は、第１区間に基づき、第１シーケンスｑを第１区間シーケンスに縮約してよい。このとき、第１区間シーケンスは、第１区間の値（Ａ＿ｖａｌｕｅ）、すなわち、数字ベクトルと長さ（Ａ＿ｄｕｒａｔｉｏｎ）に対するシーケンスを示してよい。
【００３３】
本発明の多様な実施形態によると、プロセッサ２４１は、オーディオファイルの第２シーケンスｓから縮約された第２区間シーケンスを取得してよい。このとき、第２シーケンスｓまたは第２区間シーケンスのうちの少なくともいずれか１つがメモリ２３９に記憶されていてよい。ここで、それぞれの第２シーケンスｓは、オーディオファイルのうちのいずれか１つの少なくとも一部領域から抽出されてよく、数字ベクトルで構成されてよい。このとき、それぞれの第２シーケンスｓは、特定の長さｂを有し、それぞれの値（ｖａｌｕｅ）、すなわち、数字ベクトルが連続して配列される少なくとも１つの第２区間で構成されてよい。それぞれの第２区間シーケンスは、第２シーケンスｓのうちのいずれか１つから、第２区間に基づいて縮約されてよい。このとき、それぞれの第２区間シーケンスは、第２区間の値（Ｂ＿ｖａｌｕｅ）、すなわち、数字ベクトルと長さ（Ｂ＿ｄｕｒａｔｉｏｎ）に対するシーケンスを示してよい。
【００３４】
本発明の多様な実施形態によると、プロセッサ２４１は、動的ノートマッチング（ＤＮＭ）により、第１区間シーケンスとそれぞれの第２区間シーケンスの類似度を計算してよい。プロセッサ２４１は、第１区間シーケンスとそれぞれの第２区間シーケンスとに基づき、コストマトリックス（ｃｏｓｔ  ｍａｔｒｉｘ）を生成してよい。このとき、プロセッサ２４１は、第１区間を対応させてコストマトリックスの少なくとも１つの列（ｒｏｗ）を生成し、第２区間を対応させてコストマトリックスの少なくとも１つの行（ｃｏｌｕｍｎ）を生成してよい。プロセッサ２４１は、コストマトリックスでワーピング経路（ｗａｒｐｉｎｇ  ｐａｔｈ）を検出し、ワーピング経路を利用して第１区間シーケンスとそれぞれの第２区間シーケンスの類似度を計算してよい。
【００３５】
図３は、本発明の多様な実施形態における、電子装置１１０、すなわち、クライアント１１０の動作方法を示した図である。
【００３６】
図３を参照すると、クライアント１１０は、動作３１１で、オーディオ信号を検出してよい。プロセッサ２２１は、入力モジュール２１１に入力されるユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか１つを含んでよい。この後、クライアント１１０は、動作３１３で、サーバ１３０にオーディオ信号を送信してよい。プロセッサ２２１は、通信モジュール２１７により、サーバ１３０にオーディオ信号を送信してよい。
【００３７】
クライアント１１０は、動作３１５で、サーバ１３０からフィードバック情報を受信してよい。プロセッサ２２１は、通信モジュール２１７により、サーバ１３０からオーディオ信号に対応するフィードバック情報を受信してよい。フィードバック情報は、オーディオ信号に対応して検出された少なくともいずれか１つのオーディオファイルのメタ情報を含んでよい。これに対応し、クライアント１１０は、動作３１７で、フィードバック情報を処理してよい。一実施形態によると、プロセッサ２２１は、出力モジュール２１３からフィードバック情報を出力してよい。他の実施形態によると、プロセッサ２１３は、フィードバック情報をインタフェース２１５から他の電子装置（図示せず）に送信してよい。
【００３８】
図４は、本発明の多様な実施形態における、電子装置１３０、すなわち、サーバ１３０の動作方法を示した図である。
【００３９】
図４を参照すると、サーバ１３０は、動作４１１で、外部装置、すなわち、クライアント１１０からオーディオ信号を受信してよい。プロセッサ２４１は、通信モジュール２３７により、クライアント１１０からオーディオ信号を受信してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか１つを含んでよい。
【００４０】
サーバ１３０は、動作４１３で、オーディオ信号から第１シーケンスｑを抽出してよい。第１シーケンスｑは、数字ベクトルで構成されてよい。このために、サーバ２４１は、オーディオ信号から数字ベクトルを抽出し、数字ベクトルから第１シーケンスｑを取得してよい。このとき、第１シーケンスｑは、特定の長さａを有し、それぞれの値（ｖａｌｕｅ）、すなわち、数字ベクトルが連続して配列される少なくとも１つの第１区間で構成されてよい。例えば、第１シーケンスｑが、以下の数式（１）のような構造を有する場合、第１シーケンスｑの長さｎ（ｑ＿ｌｅｎｇｔｈ）は８となってよい。
【数１】
2020201478.tif 000003
サーバ１３０は、動作４１５で、第１シーケンスｑと予め記憶された第２シーケンスｓの類似度を計算してよい。このとき、第２シーケンスｓまたは第２区間シーケンスのうちの少なくともいずれか１つがメモリ２３９に記憶されていてよい。ここで、それぞれの第２シーケンスｓは、オーディオファイルのうちのいずれか１つの少なくとも一部領域から抽出されてよく、数字ベクトルで構成されてよい。このとき、それぞれの第２シーケンスｓは、特定の長さｂを有し、それぞれの値、すなわち、数字ベクトルが連続して配列される少なくとも１つの第２区間で構成されてよい。例えば、第２シーケンスｓのうちのいずれか１つが、以下の数式（２）のような構造を有する場合、第２シーケンスｓのうちのいずれか１つの長さｍ（ｓ＿ｌｅｎｇｔｈ）は１０となってよい。プロセッサ２４１は、動的ノートマッチング（ＤＮＭ）により、第１シーケンスｑと第２シーケンスｓの類似度を計算してよい。
【数２】
2020201478.tif 000004
図５は、図４の類似度計算動作を示した図である。図６〜１３は、図４の類似度計算動作を説明するための図である。
【００４１】
図５を参照すると、サーバ１３０は、動作５１１で、第１シーケンスｑの第１区間シーケンスＡを取得してよい。プロセッサ２４１は、第１シーケンスｑの第１区間に基づき、第１シーケンスｑを第１区間シーケンスＡに縮約してよい。このとき、第１区間シーケンスＡは、第１区間の値（Ａ＿ｖａｌｕｅ）、すなわち、数字ベクトルと長さ（Ａ＿ｄｕｒａｔｉｏｎ）、例えば（Ａ＿ｖａｌｕｅ、Ａ＿ｄｕｒａｔｉｏｎ）に対するシーケンスを示してよい。例えば、第１区間シーケンスＡが、上記の数式（１）のような構造の第１シーケンスｑから縮約され、以下の数式（３）のような構造を有する場合、第１区間シーケンスＡの長さ（Ａ＿ｌｅｎｇｔｈ）は２となってよい。
【数３】
2020201478.tif 000005
サーバ１３０は、動作５１３で、第２シーケンスｓの第２区間シーケンスＢを取得してよい。第２区間シーケンスＢは、第２シーケンスｓのうちのいずれか１つから、第２区間に基づいて縮約されてよい。ことき、第２区間シーケンスＢは、第２区間の値（Ｂ＿ｖａｌｕｅ）、すなわち、数字ベクトルと長さ（Ｂ＿ｄｕｒａｔｉｏｎ）、例えば（Ｂ＿ｖａｌｕｅ、Ｂ＿ｄｕｒａｔｉｏｎ）に対するシーケンスを示してよい。一実施形態によると、第２シーケンスｓのうちのいずれか１つに対応し、第２区間シーケンスＢがメモリ２３９に記憶されていてよい。他の実施形態によると、プロセッサ２４１が、第２シーケンスｓのうちのいずれか１つを縮約して第２区間シーケンスＢを取得してよい。例えば、第２区間シーケンスＢが、上記の数式（２）のような構造の第２シーケンスｓから縮約され、以下の数式（４）のような構造を有する場合、第２区間シーケンスＢの長さ（Ｂ＿ｌｅｎｇｔｈ）は２となってよい。
【数４】
2020201478.tif 000006
サーバ１３０は、動作５１５で、第１区間シーケンスＡと第２区間シーケンスＢとに基づき、コストマトリックス（ｃｏｓｔ  ｍａｔｒｉｘ）を生成してよい。プロセッサ２４１は、図６に示すように、動的ノートマッチング（ＤＮＭ）のためのコストマトリックス６００を生成してよい。プロセッサ２４１は、第１区間シーケンスＡの第１区間を対応させてコストマトリックス６００の少なくとも１つの列（ｒｏｗ）を生成し、第２区間シーケンスＢの第２区間を対応させてコストマトリックス６００の少なくとも１つの行（ｃｏｌｕｍｎ）を生成してよい。このとき、コストマトリックス６００は、少なくとも１つのベクトル領域６１０を含んでよい。それぞれのベクトル領域６１０は、第１区間のうちのいずれか１つと第２区間のうちのいずれか１つによって生成されてよい。ここで、それぞれのベクトル領域６１０は、２次元ベクトル領域であって、第１区間のうちのいずれか１つの値（Ａ＿ｖａｌｕｅ）および長さ（Ａ＿ｄｕｒａｔｉｏｎ）ならびに第２区間のうちのいずれか１つの値（Ｂ＿ｖａｌｕｅ）および長さ（Ｂ＿ｄｕｒａｔｉｏｎ）によって決定されてよい。本発明の多様な実施形態によると、動的ノートマッチング（ＤＮＭ）のためのコストマトリックス６００に対しては、予め定義されたワーピングルール（ｗａｒｐｉｎｇ  ｒｕｌｅ）が存在してよい。
【００４２】
１つ目のワーピングルールは、コストマトリックス６００のワーピング経路が、下側および左側から上側または右側のうちの少なくともいずれか１つの方向に沿って延長することであってよい。例えば、コストマトリックス６００が複数の列と複数の行による複数のベクトル領域６１０を含む場合、ワーピング経路は、ベクトル領域６１０のうちのいずれか１つから上側に延長する垂直方向、右側に延長する水平方向、または上側と右側の間に延長する対角線方向のうちのいずれか１つに沿って延長してよい。
【００４３】
２つ目のワーピングルールは、それぞれのベクトル領域６１０のワーピング経路が、上側と右側の間の対角線方向に延長することであってよい。実質的に、図７および図８に示すように、それぞれのベクトル領域６１０は、１つの第１区間の値（Ａ＿ｖａｌｕｅ）および長さ（Ａ＿ｄｕｒａｔｉｏｎ）ならびに１つの第２区間の値（Ｂ＿ｖａｌｕｅ）および長さ（Ｂ＿ｄｕｒａｔｉｏｎ）による元素の配列を示し、それぞれのベクトル領域６１０内のそれぞれの元素にコスト（ｃｏｓｔ）が付与されてよい。それぞれのベクトル領域６１０の元素において、ワーピング経路７１０、８１０の出発位置７１１、８１１と到着位置７１３、８１３が決定されてよい。このとき、ワーピング経路７１０、８１０の出発位置７１１、８１１により、ワーピング経路７１０、８１０の到着位置７１３、８１３が異なるように決定されてよい。ワーピング経路７１０、８１０は、ベクトル領域６１０の上の辺または右の辺のうちの少なくともいずれか１つに接触するように延長してよい。一例として、図７に示すように、ワーピング経路７１０の到着位置７１３は、ベクトル領域６１０の上の辺に接触してよい。このような場合、図９（ａ）に示すように、ベクトル領域６１０の到着位置７１３に対し、上の辺からの有効距離（Ａ＿ｄｕｒｍａｔ［ｎ、ｍ］）は０であり、右の辺からの有効距離（Ｂ＿ｄｕｒｍａｔ［ｎ、ｍ］）が存在してよい。他の例として、図８に示すように、ワーピング経路８１０の到着位置８１３は、ベクトル領域６１０の右の辺に接触してよい。このような場合、図９（ｂ）に示すように、ベクトル領域６１０の到着位置８１３に対し、右の辺からの有効距離（Ｂ＿ｄｕｒｍａｔ［ｎ、ｍ］）は０であり、上の辺からの有効距離（Ａ＿ｄｕｒｍａｔ［ｎ、ｍ］）が存在してよい。
【００４４】
サーバ１３０は、動作５１７で、コストマトリックス６００のそれぞれのベクトル領域６１０に対するコストを計算してよい。プロセッサ２４１は、以下の数式（５）のように、第１区間の値（Ａ＿ｖａｌｕｅ）および長さ（Ａ＿ｄｕｒａｔｉｏｎ）ならびに第２区間の値（Ｂ＿ｖａｌｕｅ）および長さ（Ｂ＿ｄｕｒａｔｉｏｎ）を利用してそれぞれのベクトル領域６１０に対するコストを計算してよい。上述した２番目のワーピングルールによると、数式（５）は、以下の数式（６）のような変形も可能である。
【数５】
2020201478.tif 000007
プロセッサ２４１は、コストマトリックス６００の一番下の列と一番左の行のベクトル領域６１０に対するコストを計算してよい。例えば、図１０に示すようなコストマトリックス６００に対し、プロセッサ２４１は、コストマトリックス６００の一番下の列と一番左の行のベクトル領域６１０（１０１１、１０１３、１０１５）に対するコストを計算してよい。ここで、プロセッサ２４１は、上述した２番目のワーピングルールに基づき、それぞれのベクトル領域６１０（１０１１、１０１３、１０１５）に対するコストを計算してよい。具体的に、プロセッサ２４１は、ワーピング経路がベクトル領域６１０（１０１１、１０１３、１０１５）の上の辺に到達する場合のコストと、ワーピング経路がベクトル領域６１０（１０１１、１０１３、１０１５）の右の辺に到達する場合のコストを計算してよい。
【００４５】
この後、コストマトリックス６００が複数の列と複数の行からなる場合、プロセッサ２４１は、複数のベクトル領域６１０からターゲット（ｔａｒｇｅｔ）となるベクトル領域６１０（１０１７）のコストを計算してよい。このとき、プロセッサ２４１は、上述した１番目のワーピングルールに基づき、ベクトル領域６１０から既にコストが計算された基準ベクトル領域１０１１、１０１３、１０１５を利用してターゲットベクトル領域１０１７のコストを計算してよい。例えば、プロセッサ２４１は、図１１〜１３に示すように、基準ベクトル領域１０１１、１０１３、１０１５それぞれからターゲットベクトル領域１０１７の候補コストを計算してよい。プロセッサ２４１は、候補コストのうちの最小値をターゲットベクトル領域１０１７のコストとして選択してよい。
【００４６】
このために、プロセッサ２４１は、ターゲットベクトル領域１０１７の下の列と左の行の基準ベクトル領域１０１１、１０１３、１０１５を選択してよい。ここで、基準ベクトル領域１０１１、１０１３、１０１５は、第１基準ベクトル領域１０１１、第２基準ベクトル領域１０１３、および第３基準ベクトル領域１０１５を含んでよい。第１基準ベクトル領域１０１１は、ターゲットベクトル領域１０１７の左下、言い換えれば、対角線方向に配置されるベクトル領域６１０であり、第２基準ベクトル領域１０１３は、ターゲットベクトル領域１０１７の下に配置されるベクトル領域６１０であり、第３基準ベクトル領域１０１５は、ターゲットベクトル領域１０１７の左に配置されるベクトル領域６１０であってよい。
【００４７】
プロセッサ２４１は、図１１に示すように、第１基準ベクトル領域１０１１からターゲットベクトル領域１０１７の候補コストを計算してよい。ここで、プロセッサ２４１は、以下の数式（７）のように、第１基準ベクトル領域１０１１のワーピング経路が上の辺に到達する場合の候補コストを計算してよい。また、プロセッサ２４１は、以下の数式（８）のように、第１基準ベクトル領域１０１１のワーピング経路が右の辺に到達する場合の候補コストを計算してよい。
【数６】
2020201478.tif 000008
プロセッサ２４１は、図１２に示すように、第２基準ベクトル領域１０１３からターゲットベクトル領域１０１７の候補コストを計算してよい。ここで、プロセッサ２４１は、以下の数式（９）のように、第２基準ベクトル領域１０１３のワーピング経路が上の辺に到達する場合の候補コストを計算してよい。また、プロセッサ２４１は、以下の数式（１０）のように、第２基準ベクトル領域１０１３のワーピング経路が右の辺に到達する場合の候補コストを計算してよい。
【数７】
2020201478.tif 000009
【００４８】
プロセッサ２４１は、図１３に示すように、第３基準ベクトル領域１０１５からターゲットベクトル領域１０１７の候補コストを計算してよい。ここで、プロセッサ２４１は、以下の数式（１１）のように、第３基準ベクトル領域１０１５のワーピング経路が上の辺に到達する場合の候補コストを計算してよい。また、プロセッサ２４１は、以下の数式（１２）のように、第３基準ベクトル領域１０１７のワーピング経路が右の辺に到達する場合の候補コストを計算してよい。
【数８】
2020201478.tif 000010
【００４９】
サーバ１３０は、動作５１９で、コストマトリックス６００でワーピング経路を検出してよい。プロセッサ２４１は、コストマトリックス６００のすべてのベクトル６１０のコストを考慮した上で、コストマトリックス６００から最適なワーピング経路を検出してよい。
【００５０】
サーバ１３０は、動作５２１で、ワーピング経路に基づき、第１区間シーケンスＡと第２区間シーケンスＢの類似度を計算してよい。プロセッサ２４１は、コストマトリックス６００のワーピング経路を分析し、第１区間シーケンスＡと第２区間シーケンスＢの類似度を計算してよい。この後、サーバ１３０は、図４にリターンしてよい。
【００５１】
再び図４を参照すると、サーバ１３０は、動作４１７で、第２シーケンスｓのうちの少なくともいずれか１つを含むフィードバック情報を生成してよい。プロセッサ２４１は、第１シーケンスｑと第２シーケンスｓの類似度に基づき、第２シーケンスｓのうちから少なくともいずれか１つを選択してよい。一実施形態によると、プロセッサ２４１は、類似度のうちから最大値を検出し、これに対応する第２シーケンスｓを選択してよい。他の実施形態によると、プロセッサ２４１は、類似度のうちから予め定められた閾値を超過する少なくともいずれか１つを検出し、これに対応する第２シーケンスｓを選択してよい。また、プロセッサ２４１は、第２シーケンスｓのうちの少なくともいずれか１つと関連するオーディオファイルのメタ情報を含むようにフィードバック情報を生成してよい。
【００５２】
サーバ１３０は、動作４１９で、外部装置、すなわち、クライアント１１０にフィードバック情報を送信してよい。プロセッサ２４１は、通信モジュール２３７により、クライアント１１０にフィードバック情報を送信してよい。
【００５３】
図１４は、一実施形態における、電子装置１１０、１３０の動作方法を示した図である。
【００５４】
図１４を参照すると、一実施形態に係る電子装置１１０、１３０は、動作１４１１で、オーディオ信号を検出してよい。プロセッサ２２１、２４１は、ユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか１つを含んでよい。この後、電子装置１１０、１３０は、動作１４１３で、オーディオ信号から第１シーケンスｑを抽出してよい。プロセッサ２２１、２４１が、オーディオ信号から第１シーケンスｑを抽出してよい。これにより、電子装置１１０、１３０は、動作１４１５で、第１シーケンスｑと予め記憶された第２シーケンスｓそれぞれの類似度を計算してよい。プロセッサ２２１、２４１は、動的ノートマッチング（ＤＮＭ）により、第１シーケンスｑと第２シーケンスｓの類似度を計算してよい。このとき、電子装置１１０、１３０のメモリ２１９、２３９は、オーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか１つとともに、オーディオファイルの第２シーケンスｓを記憶していてよい。
【００５５】
電子装置１１０、１３０は、動作１４１７で、第２シーケンスｓのうちの少なくともいずれか１つを含むフィードバック情報を生成してよい。プロセッサ２２１、２３１が、フィードバック情報を生成してよい。この後、電子装置１１０、１３０は、動作１４１９で、フィードバック情報を処理してよい。一実施形態によると、プロセッサ２２１、２３１が、フィードバック情報を出力してよい。他の実施形態によると、プロセッサ２２１、２３１が、フィードバック情報を他の電子装置（図示せず）に送信してよい。
【００５６】
本発明の多様な実施形態によると、電子装置１１０、１３０は、入力される信号と予め記憶されたデータとをそれぞれ縮約して比較することにより、電子装置１１０、１３０に求められる演算量を減少させることができる。このとき、電子装置１１０、１３０は、入力される信号から縮約された第１区間シーケンスＡと予め記憶されたデータから縮約された第２区間シーケンスＢとに基づいてコストマトリックス６１０を生成し、動的ノートマッチング（ＤＮＭ）により、コストマトリックス６１０でワーピング経路を検出することができる。これにより、電子装置１１０、１３０は、入力される信号と予め記憶されたデータから縮約された情報とに基づいて動的プログラミングを使用することができる。これにより、電子装置１１０、１３０は、少ない演算量でも希望とする結果を取得することが可能となる。これは、電子装置１１０、１３０の動作の効率性を向上させ、電子装置が提供するサービスの品質を向上させることに繋がる。
【００５７】
本発明の多様な実施形態に係る電子装置１１０、１３０の動作方法は、動的ノートマッチング（ＤＮＭ）のためのものであって、入力される信号から抽出される第１シーケンスｑを、それぞれの値が連続して配列される少なくとも１つの第１区間に基づいて縮約して、第１区間シーケンスＡを取得する動作、予め記憶された第２シーケンスｓから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスＢを取得する動作、および前記第１区間シーケンスＡと前記第２区間シーケンスＢの類似度を計算する動作を含んでよい。
【００５８】
本発明の多様な実施形態によると、前記第１区間シーケンスＡは、前記第１区間の値および長さに対するシーケンスを示し、前記第２区間シーケンスＢは、前記第２区間の値および長さに対するシーケンスを示してよい。
【００５９】
本発明の多様な実施形態によると、前記類似度計算動作は、前記第１区間シーケンスＡと前記第２区間シーケンスＢとに基づき、少なくとも１つのベクトル領域６１０を含むコストマトリックス６１０を生成する動作、前記ベクトル領域６１０に対するコストを計算する動作、前記コストに基づき、前記コストマトリックス６１０でワーピング経路を検出する動作、および前記ワーピング経路を利用して前記類似度を計算する動作を含んでよい。
【００６０】
本発明の多様な実施形態によると、前記コストマトリックス６１０生成動作は、前記第１区間を対応させて前記コストマトリックス６１０の少なくとも１つの列を生成する動作、および前記第２区間を対応させて前記コストマトリックス６１０の少なくとも１つの行を生成する動作を含んでよい。
【００６１】
本発明の多様な実施形態によると、前記ベクトル領域６１０のそれぞれは、前記第１区間のうちのいずれか１つと前記第２区間のうちのいずれか１つとによって生成されてよい。
【００６２】
本発明の多様な実施形態によると、前記コスト計算動作は、前記第１区間の値および長さならびに前記第２区間の値および長さを利用し、前記コストマトリックス６１０の一番下の列と一番左の行のベクトル領域６１０に対するコストを計算する動作、前記コストマトリックス６１０が複数の列と複数の行からなる場合、ターゲットベクトル領域１０１７の下の列と左の行の基準ベクトル領域１０１１、１０１３、１０１５を選択する動作、および前記基準ベクトル領域１０１１、１０１３、１０１５のコストに基づき、前記ターゲットベクトル領域１０１７のコストを計算する動作を含んでよい。
【００６３】
本発明の多様な実施形態によると、前記ターゲットベクトル領域１０１７のコスト計算動作は、前記基準ベクトル領域１０１１、１０１３、１０１５のそれぞれから、前記ターゲットベクトル領域１０１７の候補コストを計算する動作、および前記候補コストのうちの最小値を前記ターゲットベクトル領域１０１７のコストとして選択する動作を含んでよい。
【００６４】
本発明の多様な実施形態によると、前記候補コスト計算動作は、前記基準ベクトル領域１０１１、１０１３、１０１５のうちのいずれか１つの上の辺のコストから、前記候補コストのうちのいずれか１つを計算する動作、および前記基準ベクトル領域１０１１、１０１３、１０１５のうちのいずれか１つの右の辺のコストから、前記候補コストのうちの他の１つを計算する動作を含んでよい。
【００６５】
本発明の多様な実施形態によると、前記第１区間シーケンスＡ取得動作は、外部装置からオーディオ信号を受信する動作、前記オーディオ信号から前記第１シーケンスｑを抽出する動作、および前記第１シーケンスｑを縮約して前記第１区間シーケンスＡを取得する動作を含んでよい。
【００６６】
本発明の多様な実施形態によると、前記第２区間シーケンスＢ取得動作および前記類似度計算動作は、予め記憶された複数の第２シーケンスｓに対して個別に実行されてよい。
【００６７】
本発明の多様な実施形態によると、前記方法は、前記類似度に基づき、前記第２シーケンスｓのうちから少なくともいずれか１つを選択する動作、および前記外部装置に前記選択された第２シーケンスｓと関連するメタ情報をフィードバックする動作をさらに含んでよい。
【００６８】
本発明の多様な実施形態に係る電子装置１１０、１３０は、動的ノートマッチング（ＤＮＭ）のためのものであって、入力される信号から第１シーケンスｑを抽出するように構成されるプロセッサ２２１、２４１、および前記プロセッサ２２１、２４１に連結され、少なくとも１つの第２シーケンスを記憶しているメモリ２３９を含んでよい。
【００６９】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、前記第１シーケンスｑを、それぞれの値が連続して配列される第１区間に基づいて縮約して、第１区間シーケンスＡを取得し、前記第２シーケンスｓから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスＢを取得し、前記第１区間シーケンスＡと前記第２区間シーケンスＢの類似度を計算するように構成されてよい。
【００７０】
本発明の多様な実施形態によると、前記第１区間シーケンスＡは、前記第１区間の値および長さのシーケンスを示し、前記第２区間シーケンスＢは、前記第２区間の値および長さのシーケンスを示してよい。
【００７１】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、前記第１区間シーケンスＡと前記第２区間シーケンスＢとに基づき、少なくとも１つのベクトル領域６１０を含むコストマトリックス６１０を生成し、前記ベクトル領域６１０に対するコストを計算し、前記コストに基づき、前記コストマトリックス６１０でワーピング経路を検出し、前記ワーピング経路を利用して前記類似度を計算するように構成されてよい。
【００７２】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、前記第１区間を対応させて前記コストマトリックス６１０の少なくとも１つの列を生成し、前記第２区間を対応させて前記コストマトリックス６１０の少なくとも１つの行を生成し、これにより、前記ベクトル領域６１０それぞれが、前記第１区間のうちのいずれか１つと前記第２区間のうちのいずれか１つとによって生成されるように構成されてよい。
【００７３】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、前記第１区間の値および長さならびに前記第２区間の値および長さを利用し、前記コストマトリックス６１０の一番下の列と一番左の行のベクトル領域６１０に対するコストを計算し、前記コストマトリックス６１０が複数の列および複数の行からなる場合、ターゲットベクトル領域１０１７の下の列および左の行の基準ベクトル領域１０１１、１０１３、１０１５を選択し、前記基準ベクトル領域１０１１、１０１３、１０１５のコストに基づき、前記ターゲットベクトル領域１０１７のコストを計算するように構成されてよい。
【００７４】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、前記基準ベクトル領域１０１１、１０１３、１０１５のそれぞれから、前記ターゲットベクトル領域１０１７の候補コストを計算し、前記候補コストのうちの最小値を前記ターゲットベクトル領域１０１７のコストとして選択するように構成されてよい。
【００７５】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、前記基準ベクトル領域１０１１、１０１３、１０１５のうちのいずれか１つの上の辺のコストから、前記候補コストのうちのいずれか１つを計算し、前記基準ベクトル領域１０１１、１０１３、１０１５のうちのいずれか１つの右の辺のコストから、前記候補コストのうちの他の１つを計算するように構成されてよい。
【００７６】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、外部装置、例えば、クライアント１１０からオーディオ信号を受信し、前記オーディオ信号から前記第１シーケンスｑを抽出し、前記第１シーケンスｑを縮約して前記第１区間シーケンスＡを取得するように構成されてよい。
【００７７】
本発明の多様な実施形態によると、前記プロセッサ２２１、２４１は、予め記憶された複数の第２シーケンスｓにそれぞれ対応する複数の類似度を計算し、前記類似度に基づき、前記第２シーケンスｓのうちから少なくともいずれか１つを選択し、前記外部装置に前記選択された第２シーケンスｓと関連するメタ情報をフィードバックするように構成されてよい。
【００７８】
本明細書の多様な実施形態は、機器（ｍａｃｈｉｎｅ）（例：電子装置１１０、１３０）で読み取り可能な記憶媒体（ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）（例：メモリ２１９、２３９）に記憶された１つ以上の命令語を含むソフトウェアとして実現されてよい。例えば、機器のプロセッサ（例：プロセッサ２２１、２４１）は、記憶媒体から記憶された１つ以上の命令語のうちの少なくとも１つの命令を呼び出し、これを実行させてよい。これは、機器が呼び出された少なくとも１つの命令語によって少なくとも１つの機能を実行するように制御されることを可能にする。１つ以上の命令語は、コンパイラによって生成されたコードまたはインタプリタによって実行されることのできるコードを含んでよい。機器で読み取り可能な記憶媒体は、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な記憶媒体の形態で提供されてよい。ここで、「非一時的」とは、記憶媒体が実在（ｔａｎｇｉｂｌｅ）する装置であって、信号（ｓｉｇｎａｌ）（例：電磁波）を含まないということを意味するだけのものであり、この用語は、データが記憶媒体に半永久的に記憶される場合と一次的に記憶される場合とを区分しない。
【００７９】
本発明の多様な実施形態に係る非一時的なコンピュータ読み取り可能な記憶媒体は、入力される信号から抽出される第１シーケンスｑを、それぞれの値が連続して配列される少なくとも１つの第１区間に基づいて縮約して、第１区間シーケンスＡを取得する動作、予め記憶された第２シーケンスｓから、それぞれの値が連続して配列される少なくとも１つの第２区間に基づいて縮約された第２区間シーケンスＢを取得する動作、および前記第１区間シーケンスＡと前記第２区間シーケンスＢの類似度を計算する動作を実行するための１つ以上のプログラムを記憶してよい。
【００８０】
本明細書の多様な実施形態およびこれに使用された用語は、本明細書に記載された技術を特定の実施形態に対して限定しようとするものではなく、該当の実施例の多様な変更、均等物、および／または代替物を含むものと理解されなければならない。図面の説明に関し、類似の構成要素には類似の参照符号が付与されてよい。単数の表現は、文脈上で明らかに異なるように記載されていない限り、複数の表現を含んでよい。本明細書において、「ＡまたはＢ」、「Ａおよび／またはＢのうちの少なくとも１つ」「Ａ、Ｂ、またはＣ」、または「Ａ、Ｂ、および／またはＣのうちの少なくとも１つ」などの表現は、羅列されている項目のすべての可能な組み合わせを含んでよい。「第１」、「第２」または「１番目」、「２番目」などの表現は、該当の構成要素を順序または重要度とは関係なく修飾してよく、ある構成要素を他の構成要素と区分するために使用されるだけであって、該当の構成要素を限定するものではない。ある（例：第１）構成要素が他の（例：第２）構成要素に「（機能的にまたは通信的に）連結されて」いたり「接続されて」いると言及されるときには、前記ある構成要素が前記他の構成要素に直接的に連結されてもよいし、他の構成要素（例：第３構成要素）を介して連結されてもよい。
【００８１】
本明細書で使用される用語「モジュール」は、ハードウェア、ソフトウェア、またはファームウェアで構成されたユニットを含み、例えば、ロジック、論理ブロック、部品、または回路などの用語と互換的に使用されてよい。モジュールは、一体で構成された部品、または１つまたはそれ以上の機能を実行する最小単位またはその一部であってよい。例えば、モジュールは、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）で構成されてよい。
【００８２】
本発明の多様な実施形態によると、記載した構成要素のそれぞれの構成要素（例：モジュールまたはプログラム）は、単数または複数の個体を含んでよい。本発明の多様な実施形態によると、上述した該当の構成要素のうちの１つ以上の構成要素または動作が省略されてもよいし、１つ以上の他の構成要素または動作が追加されてもよい。代替的あるいは追加的に、複数の構成要素（例：モジュールまたはプログラム）は、１つの構成要素に統合されてよい。このような場合、統合された構成要素は、複数の構成要素それぞれの構成要素の１つ以上の機能を、統合以前の複数の構成要素のうちの該当の構成要素によって実行されるものと同一または類似に実行してよい。本発明の多様な実施形態によると、モジュール、プログラム、または他の構成要素によって実行される動作は、順次的、並列的、反復的、または体験的に実行されてもよく、動作のうちの１つ以上が他の順序で実行されたり、省略されたり、または１つ以上の他の動作が追加されたりしてもよい。
【図１】
2020201478.tif 000011
【図２】
2020201478.tif 000012
【図３】
2020201478.tif 000013
【図４】
2020201478.tif 000014
【図５】
2020201478.tif 000015
【図６】
2020201478.tif 000016
【図７】
2020201478.tif 000017
【図８】
2020201478.tif 000018
【図９】
2020201478.tif 000019
【図１０】
2020201478.tif 000020
【図１１】
2020201478.tif 000021
【図１２】
2020201478.tif 000022
【図１３】
2020201478.tif 000023
【図１４】
2020201478.tif 000024