特開2020-201478(P2020-201478A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネイバー コーポレーションの特許一覧

特開2020-201478動的ノートマッチングのための電子装置およびその動作方法
<>
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000011
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000012
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000013
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000014
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000015
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000016
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000017
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000018
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000019
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000020
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000021
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000022
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000023
  • 特開2020201478-動的ノートマッチングのための電子装置およびその動作方法 図000024
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-201478(P2020-201478A)
(43)【公開日】2020年12月17日
(54)【発明の名称】動的ノートマッチングのための電子装置およびその動作方法
(51)【国際特許分類】
   G10L 25/51 20130101AFI20201120BHJP
   H03M 7/30 20060101ALN20201120BHJP
【FI】
   G10L25/51
   H03M7/30 Z
【審査請求】有
【請求項の数】20
【出願形態】OL
【全頁数】26
(21)【出願番号】特願2020-84952(P2020-84952)
(22)【出願日】2020年5月14日
(31)【優先権主張番号】10-2019-0068842
(32)【優先日】2019年6月11日
(33)【優先権主張国】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】丘 仁龍
(72)【発明者】
【氏名】朴 宰均
(72)【発明者】
【氏名】チョン ジス
(72)【発明者】
【氏名】パク ジョンウン
【テーマコード(参考)】
5J064
【Fターム(参考)】
5J064AA02
5J064BC01
5J064BC14
5J064BD03
(57)【要約】
【課題】動的ノートマッチングのための電子装置およびその動作方法を提供する。
【解決手段】本発明の多様な実施形態に係る動的ノートマッチングのための電子装置およびその動作方法は、入力される信号から抽出される第1シーケンスを、それぞれの値が連続して配列される少なくとも1つの第1区間に基づいて縮約して、第1区間シーケンスを取得し、予め記憶された第2シーケンスから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスを取得し、動的ノートマッチングにより、第1区間シーケンスと第2区間シーケンスの類似度を計算するように構成される。
【選択図】図5
【特許請求の範囲】
【請求項1】
電子装置の動作方法であって、
入力される信号から抽出される第1シーケンスを、それぞれの値が連続して配列される少なくとも1つの第1区間に基づいて縮約して、第1区間シーケンスを取得する動作、
予め記憶された第2シーケンスから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスを取得する動作、および
前記第1区間シーケンスと前記第2区間シーケンスの類似度を計算する動作を含む、
方法。
【請求項2】
前記第1区間シーケンスは、前記第1区間の値および長さに対するシーケンスを示し、
前記第2区間シーケンスは、前記第2区間の値および長さに対するシーケンスを示す、
請求項1に記載の方法。
【請求項3】
前記類似度を計算する動作は、
前記第1区間シーケンスと前記第2区間シーケンスとに基づき、少なくとも1つのベクトル領域を含むコストマトリックスを生成する動作、
前記ベクトル領域に対するコストを計算する動作、
前記コストに基づき、前記コストマトリックスでワーピング経路を検出する動作、および
前記ワーピング経路を利用して前記類似度を計算する動作を含む、
請求項1に記載の方法。
【請求項4】
前記コストマトリックスを生成する動作は、
前記第1区間を対応させて前記コストマトリックスの少なくとも1つの列を生成する動作、および
前記第2区間を対応させて前記コストマトリックスの少なくとも1つの行を生成する動作を含み、
前記ベクトル領域のそれぞれは、前記第1区間のうちのいずれか1つと前記第2区間のうちのいずれか1つとによって生成される、
請求項3に記載の方法。
【請求項5】
前記コストを計算する動作は、
前記第1区間の値および長さならびに前記第2区間の値および長さを利用し、前記コストマトリックスの一番下の列および一番左の行のベクトル領域に対するコストを計算する動作、
前記コストマトリックスが複数の列および複数の行からなる場合、ターゲットベクトル領域の下の列および左の行の基準ベクトル領域を選択する動作、および
前記基準ベクトル領域のコストに基づき、前記ターゲットベクトル領域のコストを計算する動作を含む、
請求項4に記載の方法。
【請求項6】
前記ターゲットベクトル領域のコストを計算する動作は、
前記基準ベクトル領域のそれぞれから、前記ターゲットベクトル領域の候補コストを計算する動作、および
前記候補コストのうちの最小値を前記ターゲットベクトル領域のコストとして選択する動作を含む、
請求項5に記載の方法。
【請求項7】
前記候補コストを計算する動作は、
前記基準ベクトル領域のうちのいずれか1つの上の辺のコストから、前記候補コストのうちのいずれか1つを計算する動作、および
前記基準ベクトル領域のうちのいずれか1つの右の辺のコストから、前記候補コストのうちの他の1つを計算する動作を含む、
請求項6に記載の方法。
【請求項8】
前記第1区間シーケンスを取得する動作は、
外部装置からオーディオ信号を受信する動作、
前記オーディオ信号から前記第1シーケンスを抽出する動作、および
前記第1シーケンスを縮約して前記第1区間シーケンスを取得する動作を含む、
請求項1に記載の方法。
【請求項9】
前記第2区間シーケンスを取得する動作および前記類似度を計算する動作は、
予め記憶された複数の第2シーケンスに対して個別に実行される、
請求項8に記載の方法。
【請求項10】
前記類似度に基づき、前記第2シーケンスのうちの少なくともいずれか1つを選択する動作、および
前記外部装置に前記選択された第2シーケンスと関連するメタ情報をフィードバックする動作をさらに含む、
請求項9に記載の方法。
【請求項11】
電子装置であって、
入力される信号から第1シーケンスを抽出するように構成されるプロセッサ、および
前記プロセッサに連結され、少なくとも1つの第2シーケンスを記憶している、メモリを含み、
前記プロセッサは、
前記第1シーケンスを、それぞれの値が連続して配列される第1区間に基づいて縮約して、第1区間シーケンスを取得し、
前記第2シーケンスから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスを取得し、
前記第1区間シーケンスと前記第2区間シーケンスの類似度を計算するように構成される、
電子装置。
【請求項12】
前記第1区間シーケンスは、前記第1区間の値および長さのシーケンスを示し、
前記第2区間シーケンスは、前記第2区間の値および長さのシーケンスを示す、
請求項11に記載の電子装置。
【請求項13】
前記プロセッサは、
前記第1区間シーケンスと前記第2区間シーケンスとに基づき、少なくとも1つのベクトル領域を含むコストマトリックスを生成し、
前記ベクトル領域に対するコストを計算し、
前記コストに基づき、前記コストマトリックスでワーピング経路を検出し、
前記ワーピング経路を利用して前記類似度を計算するように構成される、
請求項11に記載の電子装置。
【請求項14】
前記プロセッサは、
前記第1区間を対応させて前記コストマトリックスの少なくとも1つの列を生成し、
前記第2区間を対応させて前記コストマトリックスの少なくとも1つの行を生成し、
これにより、前記ベクトル領域のそれぞれが、前記第1区間のうちのいずれか1つと前記第2区間のうちのいずれか1つとによって生成されるように構成される、
請求項13に記載の電子装置。
【請求項15】
前記プロセッサは、
前記第1区間の値および長さならびに前記第2区間の値および長さを利用し、前記コストマトリックスの一番下の列および一番左の行のベクトル領域に対するコストを計算し、
前記コストマトリックスが複数の列および複数の行からなる場合、ターゲットベクトル領域の下の列および左の行の基準ベクトル領域を選択し、
前記基準ベクトル領域のコストに基づき、前記ターゲットベクトル領域のコストを計算するように構成される、
請求項14に記載の電子装置。
【請求項16】
前記プロセッサは、
前記基準ベクトル領域のそれぞれから、前記ターゲットベクトル領域の候補コストを計算し、
前記候補コストのうちの最小値を前記ターゲットベクトル領域のコストとして選択するように構成される、
請求項15に記載の電子装置。
【請求項17】
前記プロセッサは、
前記基準ベクトル領域のうちのいずれか1つの上の辺のコストから、前記候補コストのうちのいずれか1つを計算し、
前記基準ベクトル領域のうちのいずれか1つの右の辺のコストから、前記候補コストのうちの他の1つを計算するように構成される、
請求項16に記載の電子装置。
【請求項18】
前記プロセッサは、
外部装置からオーディオ信号を受信し、
前記オーディオ信号から前記第1シーケンスを抽出し、
前記第1シーケンスを縮約して前記第1区間シーケンスを取得するように構成される、
請求項11に記載の電子装置。
【請求項19】
前記プロセッサは、
予め記憶された複数の第2シーケンスにそれぞれ対応する複数の類似度を計算し、
前記類似度に基づき、前記第2シーケンスのうちから少なくともいずれか1つを選択し、
前記外部装置に前記選択された第2シーケンスと関連するメタ情報をフィードバックするように構成される、
請求項18に記載の電子装置。
【請求項20】
非一時的なコンピュータ読み取り可能な記憶媒体であって、
入力される信号から抽出される第1シーケンスを、それぞれの値が連続して配列される少なくとも1つの第1区間に基づいて縮約して、第1区間シーケンスを取得する動作、
予め記憶された第2シーケンスから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスを取得する動作、および
前記第1区間シーケンスと前記第2区間シーケンスの類似度を計算する動作
を実行するための1つ以上のプログラムを記憶するように構成される、
非一時的コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の多様な実施形態は、動的ノートマッチング(dynamic note matching:DNM)のための電子装置およびその動作方法に関する。
【背景技術】
【0002】
最近の通信環境においてQbH(query by humming)サービスが提供されている。このようなサービスの提供のために、サーバでは大量のオーディオファイルに関する情報を保存している。クライアントが検索したいメロディーを持つオーディオ信号をサーバに送信すると、サーバは、このオーディオ信号に最も類似するオーディオファイルの情報をクライアントにフィードバックする。このために、サーバでは、オーディオ信号と大量のオーディオファイルとの比較作業が行われる。これにより、サーバには高い演算量が求められ、これはサーバの演算速度を低下させるという問題にも繋がる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の多様な実施形態は、サービス提供のために求められる演算量を減少させることができる電子装置およびその動作方法を提供することを目的とする。
【0004】
本発明の多様な実施形態は、オーディオ信号と大量のオーディオファイルとの比較に求められる演算量を減少させることができる電子装置およびその動作方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の多様な実施形態に係る電子装置の動作方法は、動的ノートマッチング(DNM)のためのものであって、入力される信号から抽出される第1シーケンスを、それぞれの値が連続して配列される少なくとも1つの第1区間に基づいて縮約して、第1区間シーケンスを取得する動作、予め記憶された第2シーケンスから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスを取得する動作、および前記動的ノートマッチング(DNM)により、前記第1区間シーケンスと前記第2区間シーケンスの類似度を計算する動作を含んでよい。
【0006】
本発明の多様な実施形態に係る電子装置は、動的ノートマッチング(DNM)のためのものであって、入力される信号から第1シーケンスを抽出するように構成されるプロセッサ、および前記プロセッサに接続され、少なくとも1つの第2シーケンスを記憶している、メモリを含んでよい。
【0007】
本発明の多様な実施形態によると、前記プロセッサは、前記第1シーケンスを、それぞれの値が連続して配列される第1区間に基づいて縮約して、第1区間シーケンスを取得し、前記第2シーケンスから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスを取得し、前記動的ノートマッチング(DNM)により、前記第1区間シーケンスと前記第2区間シーケンスの類似度を計算するように構成されてよい。
【0008】
本発明の多様な実施形態に係る非一時的なコンピュータ読み取り可能な記憶媒体は、動的ノートマッチング(DNM)のためのものであって、入力される信号から抽出される第1シーケンスを、それぞれの値が連続して配列される少なくとも1つの第1区間に基づいて縮約して、第1区間シーケンスを取得する動作、予め記憶された第2シーケンスから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスを取得する動作、および前記動的ノートマッチング(DNM)により、前記第1区間シーケンスと前記第2区間シーケンスの類似度を計算する動作を実行するための1つ以上のプログラムを記憶してよい。
【発明の効果】
【0009】
本発明の多様な実施形態によると、電子装置は、入力される信号と予め記憶されたデータとをそれぞれ縮約して比較することにより、電子装置に求められる演算量を減少させることができる。このとき、電子装置は、入力される信号から縮約された第1区間シーケンスと予め記憶されたデータから縮約された第2区間シーケンスとに基づいてコストマトリックスを生成し、動的ノートマッチング(DNM)により、コストマトリックスでワーピング経路を検出することができる。これにより、電子装置は、入力される信号と予め記憶されたデータから縮約された情報とに基づいて動的プログラミングを使用することができる。これにより、電子装置は、少ない演算量で希望とする結果を取得することが可能となる。これは、電子装置の動作の効率性を向上させ、電子装置が提供するサービスの品質を向上させることに繋がる。
【図面の簡単な説明】
【0010】
図1】本発明の多様な実施形態における、システムおよびこの信号の流れを示した図である。
図2】本発明の多様な実施形態における、電子装置を示した図である。
図3】本発明の多様な実施形態における、電子装置の動作方法を示した図である。
図4】本発明の多様な実施形態における、電子装置の動作方法を示した図である。
図5図4の類似度計算動作を示した図である。
図6図4の類似度計算動作を説明するための図である。
図7図4の類似度計算動作を説明するための図である。
図8図4の類似度計算動作を説明するための図である。
図9図4の類似度計算動作を説明するための図である。
図10図4の類似度計算動作を説明するための図である。
図11図4の類似度計算動作を説明するための図である。
図12図4の類似度計算動作を説明するための図である。
図13図4の類似度計算動作を説明するための図である。
図14】一実施形態における、電子装置の動作方法を示した図である。
【発明を実施するための形態】
【0011】
以下、本発明の多様な実施形態について、添付の図面を参照しながら詳細に説明する。
【0012】
図1は、本発明の多様な実施形態に係るシステム100およびこの信号の流れを示した図である。
【0013】
図1を参照すると、本発明の多様な実施形態に係るシステム100は、多様な電子装置110、130を含んでよい。電子装置110、130は、ネットワーク(図示せず)を介して互いに通信してよい。電子装置110、130は、少なくとも1つのクライアント(client)110と、少なくとも1つのサーバ(server)130とを含んでよい。例えば、クライアント110は、携帯用通信装置、コンピュータ装置、携帯用マルチメディア装置、携帯用医療機器、カメラ、ウェアラブル装置、または家電装置のうちの少なくともいずれか1つを含んでよいが、これに限定されることはない。サーバ130は、クライアント110に多様なサービスを提供してよい。このために、サーバ130は、サービスの提供に利用されるデータベース(data base:DB)を備えてよい。本発明の多様な実施形態によると、サーバ130は、クライアント110にQbH(query by humming)サービスを提供してよい。このために、サーバ130は、複数のオーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか1つを記憶していてよい。
【0014】
本発明の多様な実施形態によると、クライアント110は、動作141で、オーディオ信号を検出してよい。クライアント110は、ユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか1つを含んでよい。この後、クライアント110は、動作143で、サーバ130にオーディオ信号を送信してよい。
【0015】
動作143で、クライアント110からオーディオ信号が受信されると、サーバ130は、動作145で、オーディオ信号から第1シーケンスqを抽出してよい。第1シーケンスqは、数字ベクトルで構成されてよい。このために、サーバ130は、オーディオ信号から数字ベクトルを抽出し、数字ベクトルから第1シーケンスqを取得してよい。このとき、第1シーケンスqは、特定の長さaを有し、それぞれの値(value)、すなわち、数字ベクトルが連続して配列される構造を有してよい。
【0016】
サーバ130は、動作147で、第1シーケンスqおよび予め記憶された第2シーケンスsのそれぞれの類似度を計算してよい。このとき、サーバ130は、オーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか1つとともに、オーディオファイルの第2シーケンスsを記憶していてよい。ここで、それぞれの第2シーケンスsは、オーディオファイルのうちのいずれか1つの少なくとも一部領域から抽出されてよく、数字ベクトルで構成されてよい。このために、サーバ130は、オーディオファイルのうちのいずれか1つの少なくとも一部領域から数字ベクトルを抽出し、数字ベクトルから第2シーケンスsのうちのいずれか1つを取得してよい。このとき、それぞれの第2シーケンスsは、特定の長さbを有し、それぞれの値(value)、すなわち、数字ベクトルが連続して配列される構造を有してよい。また、サーバ130は、動的ノートマッチング(dynamic note matching:DNM)により、第1シーケンスqおよび第2シーケンスsのそれぞれの類似度を計算してよい。サーバ130は、第1シーケンスqと第2シーケンスsとを縮約し、これに基づいて類似度を計算してよい。
【0017】
サーバ130は、動作149で、第2シーケンスsのうちの少なくともいずれか1つを含むフィードバック情報を生成してよい。サーバ130は、類似度に基づき、第2シーケンスsのうちの少なくともいずれか1つを選択してよい。一実施形態によると、サーバ130は、類似度のうちから最大値を検出し、これに対応する第2シーケンスsを選択してよい。他の実施形態によると、サーバ130は、類似度のうちから予め定められた閾値を超過する少なくともいずれか1つを検出し、これに対応する第2シーケンスsを選択してよい。また、サーバ130は、第2シーケンスsのうちの少なくともいずれか1つと関連するオーディオファイルのメタ情報を含むようにフィードバック情報を生成してよい。この後、サーバ130は、動作151で、クライアント110にフィードバック情報を送信してよい。
【0018】
動作151で、サーバ130からフィードバック情報が受信されると、クライアント110は、動作153で、フィードバック情報を処理してよい。一実施形態によると、クライアント110は、フィードバック情報を出力してよい。他の実施形態によると、クライアント110は、フィードバック情報を他の電子装置(図示せず)に送信してよい。
【0019】
図2は、本発明の多様な実施形態における、電子装置110、130を示した図である。
【0020】
図2を参照すると、本発明の多様な実施形態に係るシステム100は、多様な電子装置110、130を含んでよい。電子装置110、130は、ネットワーク200を介して互いに通信してよい。例えば、ネットワーク200は、遠距離無線通信ネットワークまたは近距離無線通信ネットワークのうちの少なくともいずれか1つを含んでよい。電子装置110、130は、少なくとも1つのクライアント110と、少なくとも1つのサーバ130を含んでよい。
【0021】
本発明の多様な実施形態によると、クライアント110は、入力モジュール211、出力モジュール213、インタフェース215、通信モジュール217、メモリ219、またはプロセッサ221のうちの少なくともいずれか1つを含んでよい。一実施形態によると、クライアント110の構成要素のうちの少なくともいずれか1つが省略されてもよく、クライアント110に1つ以上の他の構成要素が追加されてもよい。
【0022】
入力モジュール211は、クライアント110の外部から信号またはクライアント110の少なくとも1つの構成要素のための命令を入力してよい。このとき、信号は、オーディオ信号または映像信号のうちの少なくともいずれか1つを含んでよい。例えば、入力モジュール211は、マイクロフォン(microphone)、カメラモジュール、マウス(mouse)、キーボード(keyboard)、または各種センサ(sensor)のうちの少なくともいずれか1つを含んでよい。
【0023】
出力モジュール213は、クライアント110の外部に情報を提供してよい。出力モジュール213は、視覚的に情報を提供する表示モジュールまたは聴覚的に情報を提供するオーディオモジュールのうちの少なくともいずれか1つを含んでよい。例えば、表示モジュールは、ディスプレイ、ホログラム装置、またはプロジェクタのうちの少なくともいずれか1つを含んでよい。一実施形態によると、表示モジュールは、タッチを感知するように設定された少なくとも1つのセンサと結合してよい。
【0024】
インタフェース215は、クライアント110と他の電子装置(図示せず)とを直接に連結するか、無線で連結してよい。一例として、インタフェース215は、他の電子装置と物理的に連結することのできるコネクタを含んでよい。例えば、インタフェース215は、HDMI(high definition multimedia interface)、USB(universal serial bus)インタフェース、SD(secure digital)カードインタフェース、またはオーディオインタフェースのうちの少なくともいずれか1つを含んでよい。
【0025】
通信モジュール217は、クライアント110で外部装置との通信を実行してよい。通信モジュール217は、クライアント110と外部装置との間に通信チャンネルを構築し、通信チャンネルを介して外部装置との通信を実行してよい。通信モジュール217は、有線通信モジュールまたは無線通信モジュールのうちの少なくともいずれか1つを含んでよい。例えば、無線通信モジュールは、ネットワーク200を介して外部装置との通信を実行してよい。
【0026】
メモリ219は、クライアント110の少なくとも1つの構成要素が使用する多様なデータを記憶してよい。例えば、メモリ219は、揮発性メモリまたは不揮発性メモリのうちの少なくともいずれか1つを含んでよい。データは、プログラム、またはこれと関連する入力データまたは出力データを含んでよい。
【0027】
プロセッサ221は、メモリ219のプログラムを実行してクライアント110の少なくとも1つの構成要素を制御してよく、データ処理または演算を実行してよい。プロセッサ221は、入力モジュール211またはインタフェース215によってオーディオ信号を検出してよい。プロセッサ221は、入力モジュール211に入力されるユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか1つを含んでよい。プロセッサ221は、通信モジュール217からサーバ130にオーディオ信号を送信してよい。プロセッサ221は、通信モジュール217により、サーバ130からオーディオ信号に対応するフィードバック情報を受信し、フィードバック情報を処理してよい。一実施形態によると、プロセッサ221は、出力モジュール213によってフィードバック情報を出力してよい。他の実施形態によると、プロセッサ213は、インタフェース215によってフィードバック情報を他の電子装置(図示せず)に送信してよい。
【0028】
本発明の多様な実施形態によると、サーバ130は、通信モジュール237、メモリ239、またはプロセッサ241のうちの少なくともいずれか1つを含んでよい。一実施形態によると、サーバ130の構成要素のうちの少なくともいずれか1つが省略されてもよいし、サーバ130に1つ以上の他の構成要素が追加されてもよい。
【0029】
通信モジュール237は、サーバ130で外部装置との通信を実行してよい。通信モジュール237は、サーバ130と外部装置との間に通信チャンネルを構築し、通信チャンネルを介して外部装置との通信を実行してよい。通信モジュール237は、有線通信モジュールまたは無線通信モジュールのうちの少なくともいずれか1つを含んでよい。例えば、無線通信モジュールは、ネットワーク200を介して外部装置との通信を実行してよい。
【0030】
メモリ239は、サーバ130の少なくとも1つの構成要素が使用する多様なデータを記憶してよい。例えば、メモリ239は、揮発性メモリまたは不揮発性メモリのうちの少なくともいずれか1つを含んでよい。データは、プログラム、またはこれと関連する入力データまたは出力データを含んでよい。メモリ239は、クライアント110へのサービス提供のために利用されるデータベースを備えてよい。データベースは、複数のオーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか1つを記憶していてよい。
【0031】
プロセッサ241は、メモリ239のプログラムを実行してサーバ130の少なくとも1つの構成要素を制御してよく、データ処理または演算を実行してよい。プロセッサ241は、通信モジュール237により、クライアント110からオーディオ信号を受信してよい。プロセッサ241は、オーディオ信号およびメモリ239に記憶されたオーディオファイルのそれぞれの類似度を計算してよい。このとき、プロセッサ241は、動的ノートマッチング(DNM)により、オーディオ信号およびオーディオファイルのそれぞれの類似度を計算してよい。プロセッサ241は、通信モジュール237により、類似度に基づき、オーディオファイルのうちの少なくともいずれか1つのメタ情報をクライアント110にフィードバックしてよい。このとき、プロセッサ241は、メタ情報を含むフィードバック情報を生成し、フィードバック情報をクライアント110に送信してよい。
【0032】
本発明の多様な実施形態によると、プロセッサ241は、オーディオ信号から第1シーケンスqを抽出し、第1シーケンスqを縮約して第1区間シーケンスを取得してよい。第1シーケンスqは、数字ベクトルで構成されてよい。このために、サーバ241は、オーディオ信号から数字ベクトルを抽出し、数字ベクトルから第1シーケンスqを取得してよい。このとき、第1シーケンスqは、特定の長さaを有し、それぞれの値(value)、すなわち、数字ベクトルが連続して配列される少なくとも1つの第1区間で構成されてよい。これにより、プロセッサ241は、第1区間に基づき、第1シーケンスqを第1区間シーケンスに縮約してよい。このとき、第1区間シーケンスは、第1区間の値(A_value)、すなわち、数字ベクトルと長さ(A_duration)に対するシーケンスを示してよい。
【0033】
本発明の多様な実施形態によると、プロセッサ241は、オーディオファイルの第2シーケンスsから縮約された第2区間シーケンスを取得してよい。このとき、第2シーケンスsまたは第2区間シーケンスのうちの少なくともいずれか1つがメモリ239に記憶されていてよい。ここで、それぞれの第2シーケンスsは、オーディオファイルのうちのいずれか1つの少なくとも一部領域から抽出されてよく、数字ベクトルで構成されてよい。このとき、それぞれの第2シーケンスsは、特定の長さbを有し、それぞれの値(value)、すなわち、数字ベクトルが連続して配列される少なくとも1つの第2区間で構成されてよい。それぞれの第2区間シーケンスは、第2シーケンスsのうちのいずれか1つから、第2区間に基づいて縮約されてよい。このとき、それぞれの第2区間シーケンスは、第2区間の値(B_value)、すなわち、数字ベクトルと長さ(B_duration)に対するシーケンスを示してよい。
【0034】
本発明の多様な実施形態によると、プロセッサ241は、動的ノートマッチング(DNM)により、第1区間シーケンスとそれぞれの第2区間シーケンスの類似度を計算してよい。プロセッサ241は、第1区間シーケンスとそれぞれの第2区間シーケンスとに基づき、コストマトリックス(cost matrix)を生成してよい。このとき、プロセッサ241は、第1区間を対応させてコストマトリックスの少なくとも1つの列(row)を生成し、第2区間を対応させてコストマトリックスの少なくとも1つの行(column)を生成してよい。プロセッサ241は、コストマトリックスでワーピング経路(warping path)を検出し、ワーピング経路を利用して第1区間シーケンスとそれぞれの第2区間シーケンスの類似度を計算してよい。
【0035】
図3は、本発明の多様な実施形態における、電子装置110、すなわち、クライアント110の動作方法を示した図である。
【0036】
図3を参照すると、クライアント110は、動作311で、オーディオ信号を検出してよい。プロセッサ221は、入力モジュール211に入力されるユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか1つを含んでよい。この後、クライアント110は、動作313で、サーバ130にオーディオ信号を送信してよい。プロセッサ221は、通信モジュール217により、サーバ130にオーディオ信号を送信してよい。
【0037】
クライアント110は、動作315で、サーバ130からフィードバック情報を受信してよい。プロセッサ221は、通信モジュール217により、サーバ130からオーディオ信号に対応するフィードバック情報を受信してよい。フィードバック情報は、オーディオ信号に対応して検出された少なくともいずれか1つのオーディオファイルのメタ情報を含んでよい。これに対応し、クライアント110は、動作317で、フィードバック情報を処理してよい。一実施形態によると、プロセッサ221は、出力モジュール213からフィードバック情報を出力してよい。他の実施形態によると、プロセッサ213は、フィードバック情報をインタフェース215から他の電子装置(図示せず)に送信してよい。
【0038】
図4は、本発明の多様な実施形態における、電子装置130、すなわち、サーバ130の動作方法を示した図である。
【0039】
図4を参照すると、サーバ130は、動作411で、外部装置、すなわち、クライアント110からオーディオ信号を受信してよい。プロセッサ241は、通信モジュール237により、クライアント110からオーディオ信号を受信してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか1つを含んでよい。
【0040】
サーバ130は、動作413で、オーディオ信号から第1シーケンスqを抽出してよい。第1シーケンスqは、数字ベクトルで構成されてよい。このために、サーバ241は、オーディオ信号から数字ベクトルを抽出し、数字ベクトルから第1シーケンスqを取得してよい。このとき、第1シーケンスqは、特定の長さaを有し、それぞれの値(value)、すなわち、数字ベクトルが連続して配列される少なくとも1つの第1区間で構成されてよい。例えば、第1シーケンスqが、以下の数式(1)のような構造を有する場合、第1シーケンスqの長さn(q_length)は8となってよい。
【数1】
サーバ130は、動作415で、第1シーケンスqと予め記憶された第2シーケンスsの類似度を計算してよい。このとき、第2シーケンスsまたは第2区間シーケンスのうちの少なくともいずれか1つがメモリ239に記憶されていてよい。ここで、それぞれの第2シーケンスsは、オーディオファイルのうちのいずれか1つの少なくとも一部領域から抽出されてよく、数字ベクトルで構成されてよい。このとき、それぞれの第2シーケンスsは、特定の長さbを有し、それぞれの値、すなわち、数字ベクトルが連続して配列される少なくとも1つの第2区間で構成されてよい。例えば、第2シーケンスsのうちのいずれか1つが、以下の数式(2)のような構造を有する場合、第2シーケンスsのうちのいずれか1つの長さm(s_length)は10となってよい。プロセッサ241は、動的ノートマッチング(DNM)により、第1シーケンスqと第2シーケンスsの類似度を計算してよい。
【数2】
図5は、図4の類似度計算動作を示した図である。図6〜13は、図4の類似度計算動作を説明するための図である。
【0041】
図5を参照すると、サーバ130は、動作511で、第1シーケンスqの第1区間シーケンスAを取得してよい。プロセッサ241は、第1シーケンスqの第1区間に基づき、第1シーケンスqを第1区間シーケンスAに縮約してよい。このとき、第1区間シーケンスAは、第1区間の値(A_value)、すなわち、数字ベクトルと長さ(A_duration)、例えば(A_value、A_duration)に対するシーケンスを示してよい。例えば、第1区間シーケンスAが、上記の数式(1)のような構造の第1シーケンスqから縮約され、以下の数式(3)のような構造を有する場合、第1区間シーケンスAの長さ(A_length)は2となってよい。
【数3】
サーバ130は、動作513で、第2シーケンスsの第2区間シーケンスBを取得してよい。第2区間シーケンスBは、第2シーケンスsのうちのいずれか1つから、第2区間に基づいて縮約されてよい。ことき、第2区間シーケンスBは、第2区間の値(B_value)、すなわち、数字ベクトルと長さ(B_duration)、例えば(B_value、B_duration)に対するシーケンスを示してよい。一実施形態によると、第2シーケンスsのうちのいずれか1つに対応し、第2区間シーケンスBがメモリ239に記憶されていてよい。他の実施形態によると、プロセッサ241が、第2シーケンスsのうちのいずれか1つを縮約して第2区間シーケンスBを取得してよい。例えば、第2区間シーケンスBが、上記の数式(2)のような構造の第2シーケンスsから縮約され、以下の数式(4)のような構造を有する場合、第2区間シーケンスBの長さ(B_length)は2となってよい。
【数4】
サーバ130は、動作515で、第1区間シーケンスAと第2区間シーケンスBとに基づき、コストマトリックス(cost matrix)を生成してよい。プロセッサ241は、図6に示すように、動的ノートマッチング(DNM)のためのコストマトリックス600を生成してよい。プロセッサ241は、第1区間シーケンスAの第1区間を対応させてコストマトリックス600の少なくとも1つの列(row)を生成し、第2区間シーケンスBの第2区間を対応させてコストマトリックス600の少なくとも1つの行(column)を生成してよい。このとき、コストマトリックス600は、少なくとも1つのベクトル領域610を含んでよい。それぞれのベクトル領域610は、第1区間のうちのいずれか1つと第2区間のうちのいずれか1つによって生成されてよい。ここで、それぞれのベクトル領域610は、2次元ベクトル領域であって、第1区間のうちのいずれか1つの値(A_value)および長さ(A_duration)ならびに第2区間のうちのいずれか1つの値(B_value)および長さ(B_duration)によって決定されてよい。本発明の多様な実施形態によると、動的ノートマッチング(DNM)のためのコストマトリックス600に対しては、予め定義されたワーピングルール(warping rule)が存在してよい。
【0042】
1つ目のワーピングルールは、コストマトリックス600のワーピング経路が、下側および左側から上側または右側のうちの少なくともいずれか1つの方向に沿って延長することであってよい。例えば、コストマトリックス600が複数の列と複数の行による複数のベクトル領域610を含む場合、ワーピング経路は、ベクトル領域610のうちのいずれか1つから上側に延長する垂直方向、右側に延長する水平方向、または上側と右側の間に延長する対角線方向のうちのいずれか1つに沿って延長してよい。
【0043】
2つ目のワーピングルールは、それぞれのベクトル領域610のワーピング経路が、上側と右側の間の対角線方向に延長することであってよい。実質的に、図7および図8に示すように、それぞれのベクトル領域610は、1つの第1区間の値(A_value)および長さ(A_duration)ならびに1つの第2区間の値(B_value)および長さ(B_duration)による元素の配列を示し、それぞれのベクトル領域610内のそれぞれの元素にコスト(cost)が付与されてよい。それぞれのベクトル領域610の元素において、ワーピング経路710、810の出発位置711、811と到着位置713、813が決定されてよい。このとき、ワーピング経路710、810の出発位置711、811により、ワーピング経路710、810の到着位置713、813が異なるように決定されてよい。ワーピング経路710、810は、ベクトル領域610の上の辺または右の辺のうちの少なくともいずれか1つに接触するように延長してよい。一例として、図7に示すように、ワーピング経路710の到着位置713は、ベクトル領域610の上の辺に接触してよい。このような場合、図9(a)に示すように、ベクトル領域610の到着位置713に対し、上の辺からの有効距離(A_durmat[n、m])は0であり、右の辺からの有効距離(B_durmat[n、m])が存在してよい。他の例として、図8に示すように、ワーピング経路810の到着位置813は、ベクトル領域610の右の辺に接触してよい。このような場合、図9(b)に示すように、ベクトル領域610の到着位置813に対し、右の辺からの有効距離(B_durmat[n、m])は0であり、上の辺からの有効距離(A_durmat[n、m])が存在してよい。
【0044】
サーバ130は、動作517で、コストマトリックス600のそれぞれのベクトル領域610に対するコストを計算してよい。プロセッサ241は、以下の数式(5)のように、第1区間の値(A_value)および長さ(A_duration)ならびに第2区間の値(B_value)および長さ(B_duration)を利用してそれぞれのベクトル領域610に対するコストを計算してよい。上述した2番目のワーピングルールによると、数式(5)は、以下の数式(6)のような変形も可能である。
【数5】
プロセッサ241は、コストマトリックス600の一番下の列と一番左の行のベクトル領域610に対するコストを計算してよい。例えば、図10に示すようなコストマトリックス600に対し、プロセッサ241は、コストマトリックス600の一番下の列と一番左の行のベクトル領域610(1011、1013、1015)に対するコストを計算してよい。ここで、プロセッサ241は、上述した2番目のワーピングルールに基づき、それぞれのベクトル領域610(1011、1013、1015)に対するコストを計算してよい。具体的に、プロセッサ241は、ワーピング経路がベクトル領域610(1011、1013、1015)の上の辺に到達する場合のコストと、ワーピング経路がベクトル領域610(1011、1013、1015)の右の辺に到達する場合のコストを計算してよい。
【0045】
この後、コストマトリックス600が複数の列と複数の行からなる場合、プロセッサ241は、複数のベクトル領域610からターゲット(target)となるベクトル領域610(1017)のコストを計算してよい。このとき、プロセッサ241は、上述した1番目のワーピングルールに基づき、ベクトル領域610から既にコストが計算された基準ベクトル領域1011、1013、1015を利用してターゲットベクトル領域1017のコストを計算してよい。例えば、プロセッサ241は、図11〜13に示すように、基準ベクトル領域1011、1013、1015それぞれからターゲットベクトル領域1017の候補コストを計算してよい。プロセッサ241は、候補コストのうちの最小値をターゲットベクトル領域1017のコストとして選択してよい。
【0046】
このために、プロセッサ241は、ターゲットベクトル領域1017の下の列と左の行の基準ベクトル領域1011、1013、1015を選択してよい。ここで、基準ベクトル領域1011、1013、1015は、第1基準ベクトル領域1011、第2基準ベクトル領域1013、および第3基準ベクトル領域1015を含んでよい。第1基準ベクトル領域1011は、ターゲットベクトル領域1017の左下、言い換えれば、対角線方向に配置されるベクトル領域610であり、第2基準ベクトル領域1013は、ターゲットベクトル領域1017の下に配置されるベクトル領域610であり、第3基準ベクトル領域1015は、ターゲットベクトル領域1017の左に配置されるベクトル領域610であってよい。
【0047】
プロセッサ241は、図11に示すように、第1基準ベクトル領域1011からターゲットベクトル領域1017の候補コストを計算してよい。ここで、プロセッサ241は、以下の数式(7)のように、第1基準ベクトル領域1011のワーピング経路が上の辺に到達する場合の候補コストを計算してよい。また、プロセッサ241は、以下の数式(8)のように、第1基準ベクトル領域1011のワーピング経路が右の辺に到達する場合の候補コストを計算してよい。
【数6】
プロセッサ241は、図12に示すように、第2基準ベクトル領域1013からターゲットベクトル領域1017の候補コストを計算してよい。ここで、プロセッサ241は、以下の数式(9)のように、第2基準ベクトル領域1013のワーピング経路が上の辺に到達する場合の候補コストを計算してよい。また、プロセッサ241は、以下の数式(10)のように、第2基準ベクトル領域1013のワーピング経路が右の辺に到達する場合の候補コストを計算してよい。
【数7】
【0048】
プロセッサ241は、図13に示すように、第3基準ベクトル領域1015からターゲットベクトル領域1017の候補コストを計算してよい。ここで、プロセッサ241は、以下の数式(11)のように、第3基準ベクトル領域1015のワーピング経路が上の辺に到達する場合の候補コストを計算してよい。また、プロセッサ241は、以下の数式(12)のように、第3基準ベクトル領域1017のワーピング経路が右の辺に到達する場合の候補コストを計算してよい。
【数8】
【0049】
サーバ130は、動作519で、コストマトリックス600でワーピング経路を検出してよい。プロセッサ241は、コストマトリックス600のすべてのベクトル610のコストを考慮した上で、コストマトリックス600から最適なワーピング経路を検出してよい。
【0050】
サーバ130は、動作521で、ワーピング経路に基づき、第1区間シーケンスAと第2区間シーケンスBの類似度を計算してよい。プロセッサ241は、コストマトリックス600のワーピング経路を分析し、第1区間シーケンスAと第2区間シーケンスBの類似度を計算してよい。この後、サーバ130は、図4にリターンしてよい。
【0051】
再び図4を参照すると、サーバ130は、動作417で、第2シーケンスsのうちの少なくともいずれか1つを含むフィードバック情報を生成してよい。プロセッサ241は、第1シーケンスqと第2シーケンスsの類似度に基づき、第2シーケンスsのうちから少なくともいずれか1つを選択してよい。一実施形態によると、プロセッサ241は、類似度のうちから最大値を検出し、これに対応する第2シーケンスsを選択してよい。他の実施形態によると、プロセッサ241は、類似度のうちから予め定められた閾値を超過する少なくともいずれか1つを検出し、これに対応する第2シーケンスsを選択してよい。また、プロセッサ241は、第2シーケンスsのうちの少なくともいずれか1つと関連するオーディオファイルのメタ情報を含むようにフィードバック情報を生成してよい。
【0052】
サーバ130は、動作419で、外部装置、すなわち、クライアント110にフィードバック情報を送信してよい。プロセッサ241は、通信モジュール237により、クライアント110にフィードバック情報を送信してよい。
【0053】
図14は、一実施形態における、電子装置110、130の動作方法を示した図である。
【0054】
図14を参照すると、一実施形態に係る電子装置110、130は、動作1411で、オーディオ信号を検出してよい。プロセッサ221、241は、ユーザの要求に基づき、特定の時間間隔内にオーディオ信号を収集してよい。オーディオ信号は、ユーザが検索したいメロディーと関連するものであってよい。例えば、オーディオ信号は、ユーザの音声または外部環境で再生されている音楽のうちの少なくともいずれか1つを含んでよい。この後、電子装置110、130は、動作1413で、オーディオ信号から第1シーケンスqを抽出してよい。プロセッサ221、241が、オーディオ信号から第1シーケンスqを抽出してよい。これにより、電子装置110、130は、動作1415で、第1シーケンスqと予め記憶された第2シーケンスsそれぞれの類似度を計算してよい。プロセッサ221、241は、動的ノートマッチング(DNM)により、第1シーケンスqと第2シーケンスsの類似度を計算してよい。このとき、電子装置110、130のメモリ219、239は、オーディオファイルまたはオーディオファイルのメタ情報のうちの少なくともいずれか1つとともに、オーディオファイルの第2シーケンスsを記憶していてよい。
【0055】
電子装置110、130は、動作1417で、第2シーケンスsのうちの少なくともいずれか1つを含むフィードバック情報を生成してよい。プロセッサ221、231が、フィードバック情報を生成してよい。この後、電子装置110、130は、動作1419で、フィードバック情報を処理してよい。一実施形態によると、プロセッサ221、231が、フィードバック情報を出力してよい。他の実施形態によると、プロセッサ221、231が、フィードバック情報を他の電子装置(図示せず)に送信してよい。
【0056】
本発明の多様な実施形態によると、電子装置110、130は、入力される信号と予め記憶されたデータとをそれぞれ縮約して比較することにより、電子装置110、130に求められる演算量を減少させることができる。このとき、電子装置110、130は、入力される信号から縮約された第1区間シーケンスAと予め記憶されたデータから縮約された第2区間シーケンスBとに基づいてコストマトリックス610を生成し、動的ノートマッチング(DNM)により、コストマトリックス610でワーピング経路を検出することができる。これにより、電子装置110、130は、入力される信号と予め記憶されたデータから縮約された情報とに基づいて動的プログラミングを使用することができる。これにより、電子装置110、130は、少ない演算量でも希望とする結果を取得することが可能となる。これは、電子装置110、130の動作の効率性を向上させ、電子装置が提供するサービスの品質を向上させることに繋がる。
【0057】
本発明の多様な実施形態に係る電子装置110、130の動作方法は、動的ノートマッチング(DNM)のためのものであって、入力される信号から抽出される第1シーケンスqを、それぞれの値が連続して配列される少なくとも1つの第1区間に基づいて縮約して、第1区間シーケンスAを取得する動作、予め記憶された第2シーケンスsから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスBを取得する動作、および前記第1区間シーケンスAと前記第2区間シーケンスBの類似度を計算する動作を含んでよい。
【0058】
本発明の多様な実施形態によると、前記第1区間シーケンスAは、前記第1区間の値および長さに対するシーケンスを示し、前記第2区間シーケンスBは、前記第2区間の値および長さに対するシーケンスを示してよい。
【0059】
本発明の多様な実施形態によると、前記類似度計算動作は、前記第1区間シーケンスAと前記第2区間シーケンスBとに基づき、少なくとも1つのベクトル領域610を含むコストマトリックス610を生成する動作、前記ベクトル領域610に対するコストを計算する動作、前記コストに基づき、前記コストマトリックス610でワーピング経路を検出する動作、および前記ワーピング経路を利用して前記類似度を計算する動作を含んでよい。
【0060】
本発明の多様な実施形態によると、前記コストマトリックス610生成動作は、前記第1区間を対応させて前記コストマトリックス610の少なくとも1つの列を生成する動作、および前記第2区間を対応させて前記コストマトリックス610の少なくとも1つの行を生成する動作を含んでよい。
【0061】
本発明の多様な実施形態によると、前記ベクトル領域610のそれぞれは、前記第1区間のうちのいずれか1つと前記第2区間のうちのいずれか1つとによって生成されてよい。
【0062】
本発明の多様な実施形態によると、前記コスト計算動作は、前記第1区間の値および長さならびに前記第2区間の値および長さを利用し、前記コストマトリックス610の一番下の列と一番左の行のベクトル領域610に対するコストを計算する動作、前記コストマトリックス610が複数の列と複数の行からなる場合、ターゲットベクトル領域1017の下の列と左の行の基準ベクトル領域1011、1013、1015を選択する動作、および前記基準ベクトル領域1011、1013、1015のコストに基づき、前記ターゲットベクトル領域1017のコストを計算する動作を含んでよい。
【0063】
本発明の多様な実施形態によると、前記ターゲットベクトル領域1017のコスト計算動作は、前記基準ベクトル領域1011、1013、1015のそれぞれから、前記ターゲットベクトル領域1017の候補コストを計算する動作、および前記候補コストのうちの最小値を前記ターゲットベクトル領域1017のコストとして選択する動作を含んでよい。
【0064】
本発明の多様な実施形態によると、前記候補コスト計算動作は、前記基準ベクトル領域1011、1013、1015のうちのいずれか1つの上の辺のコストから、前記候補コストのうちのいずれか1つを計算する動作、および前記基準ベクトル領域1011、1013、1015のうちのいずれか1つの右の辺のコストから、前記候補コストのうちの他の1つを計算する動作を含んでよい。
【0065】
本発明の多様な実施形態によると、前記第1区間シーケンスA取得動作は、外部装置からオーディオ信号を受信する動作、前記オーディオ信号から前記第1シーケンスqを抽出する動作、および前記第1シーケンスqを縮約して前記第1区間シーケンスAを取得する動作を含んでよい。
【0066】
本発明の多様な実施形態によると、前記第2区間シーケンスB取得動作および前記類似度計算動作は、予め記憶された複数の第2シーケンスsに対して個別に実行されてよい。
【0067】
本発明の多様な実施形態によると、前記方法は、前記類似度に基づき、前記第2シーケンスsのうちから少なくともいずれか1つを選択する動作、および前記外部装置に前記選択された第2シーケンスsと関連するメタ情報をフィードバックする動作をさらに含んでよい。
【0068】
本発明の多様な実施形態に係る電子装置110、130は、動的ノートマッチング(DNM)のためのものであって、入力される信号から第1シーケンスqを抽出するように構成されるプロセッサ221、241、および前記プロセッサ221、241に連結され、少なくとも1つの第2シーケンスを記憶しているメモリ239を含んでよい。
【0069】
本発明の多様な実施形態によると、前記プロセッサ221、241は、前記第1シーケンスqを、それぞれの値が連続して配列される第1区間に基づいて縮約して、第1区間シーケンスAを取得し、前記第2シーケンスsから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスBを取得し、前記第1区間シーケンスAと前記第2区間シーケンスBの類似度を計算するように構成されてよい。
【0070】
本発明の多様な実施形態によると、前記第1区間シーケンスAは、前記第1区間の値および長さのシーケンスを示し、前記第2区間シーケンスBは、前記第2区間の値および長さのシーケンスを示してよい。
【0071】
本発明の多様な実施形態によると、前記プロセッサ221、241は、前記第1区間シーケンスAと前記第2区間シーケンスBとに基づき、少なくとも1つのベクトル領域610を含むコストマトリックス610を生成し、前記ベクトル領域610に対するコストを計算し、前記コストに基づき、前記コストマトリックス610でワーピング経路を検出し、前記ワーピング経路を利用して前記類似度を計算するように構成されてよい。
【0072】
本発明の多様な実施形態によると、前記プロセッサ221、241は、前記第1区間を対応させて前記コストマトリックス610の少なくとも1つの列を生成し、前記第2区間を対応させて前記コストマトリックス610の少なくとも1つの行を生成し、これにより、前記ベクトル領域610それぞれが、前記第1区間のうちのいずれか1つと前記第2区間のうちのいずれか1つとによって生成されるように構成されてよい。
【0073】
本発明の多様な実施形態によると、前記プロセッサ221、241は、前記第1区間の値および長さならびに前記第2区間の値および長さを利用し、前記コストマトリックス610の一番下の列と一番左の行のベクトル領域610に対するコストを計算し、前記コストマトリックス610が複数の列および複数の行からなる場合、ターゲットベクトル領域1017の下の列および左の行の基準ベクトル領域1011、1013、1015を選択し、前記基準ベクトル領域1011、1013、1015のコストに基づき、前記ターゲットベクトル領域1017のコストを計算するように構成されてよい。
【0074】
本発明の多様な実施形態によると、前記プロセッサ221、241は、前記基準ベクトル領域1011、1013、1015のそれぞれから、前記ターゲットベクトル領域1017の候補コストを計算し、前記候補コストのうちの最小値を前記ターゲットベクトル領域1017のコストとして選択するように構成されてよい。
【0075】
本発明の多様な実施形態によると、前記プロセッサ221、241は、前記基準ベクトル領域1011、1013、1015のうちのいずれか1つの上の辺のコストから、前記候補コストのうちのいずれか1つを計算し、前記基準ベクトル領域1011、1013、1015のうちのいずれか1つの右の辺のコストから、前記候補コストのうちの他の1つを計算するように構成されてよい。
【0076】
本発明の多様な実施形態によると、前記プロセッサ221、241は、外部装置、例えば、クライアント110からオーディオ信号を受信し、前記オーディオ信号から前記第1シーケンスqを抽出し、前記第1シーケンスqを縮約して前記第1区間シーケンスAを取得するように構成されてよい。
【0077】
本発明の多様な実施形態によると、前記プロセッサ221、241は、予め記憶された複数の第2シーケンスsにそれぞれ対応する複数の類似度を計算し、前記類似度に基づき、前記第2シーケンスsのうちから少なくともいずれか1つを選択し、前記外部装置に前記選択された第2シーケンスsと関連するメタ情報をフィードバックするように構成されてよい。
【0078】
本明細書の多様な実施形態は、機器(machine)(例:電子装置110、130)で読み取り可能な記憶媒体(storage medium)(例:メモリ219、239)に記憶された1つ以上の命令語を含むソフトウェアとして実現されてよい。例えば、機器のプロセッサ(例:プロセッサ221、241)は、記憶媒体から記憶された1つ以上の命令語のうちの少なくとも1つの命令を呼び出し、これを実行させてよい。これは、機器が呼び出された少なくとも1つの命令語によって少なくとも1つの機能を実行するように制御されることを可能にする。1つ以上の命令語は、コンパイラによって生成されたコードまたはインタプリタによって実行されることのできるコードを含んでよい。機器で読み取り可能な記憶媒体は、非一時的(non−transitory)な記憶媒体の形態で提供されてよい。ここで、「非一時的」とは、記憶媒体が実在(tangible)する装置であって、信号(signal)(例:電磁波)を含まないということを意味するだけのものであり、この用語は、データが記憶媒体に半永久的に記憶される場合と一次的に記憶される場合とを区分しない。
【0079】
本発明の多様な実施形態に係る非一時的なコンピュータ読み取り可能な記憶媒体は、入力される信号から抽出される第1シーケンスqを、それぞれの値が連続して配列される少なくとも1つの第1区間に基づいて縮約して、第1区間シーケンスAを取得する動作、予め記憶された第2シーケンスsから、それぞれの値が連続して配列される少なくとも1つの第2区間に基づいて縮約された第2区間シーケンスBを取得する動作、および前記第1区間シーケンスAと前記第2区間シーケンスBの類似度を計算する動作を実行するための1つ以上のプログラムを記憶してよい。
【0080】
本明細書の多様な実施形態およびこれに使用された用語は、本明細書に記載された技術を特定の実施形態に対して限定しようとするものではなく、該当の実施例の多様な変更、均等物、および/または代替物を含むものと理解されなければならない。図面の説明に関し、類似の構成要素には類似の参照符号が付与されてよい。単数の表現は、文脈上で明らかに異なるように記載されていない限り、複数の表現を含んでよい。本明細書において、「AまたはB」、「Aおよび/またはBのうちの少なくとも1つ」「A、B、またはC」、または「A、B、および/またはCのうちの少なくとも1つ」などの表現は、羅列されている項目のすべての可能な組み合わせを含んでよい。「第1」、「第2」または「1番目」、「2番目」などの表現は、該当の構成要素を順序または重要度とは関係なく修飾してよく、ある構成要素を他の構成要素と区分するために使用されるだけであって、該当の構成要素を限定するものではない。ある(例:第1)構成要素が他の(例:第2)構成要素に「(機能的にまたは通信的に)連結されて」いたり「接続されて」いると言及されるときには、前記ある構成要素が前記他の構成要素に直接的に連結されてもよいし、他の構成要素(例:第3構成要素)を介して連結されてもよい。
【0081】
本明細書で使用される用語「モジュール」は、ハードウェア、ソフトウェア、またはファームウェアで構成されたユニットを含み、例えば、ロジック、論理ブロック、部品、または回路などの用語と互換的に使用されてよい。モジュールは、一体で構成された部品、または1つまたはそれ以上の機能を実行する最小単位またはその一部であってよい。例えば、モジュールは、ASIC(application−specific integrated circuit)で構成されてよい。
【0082】
本発明の多様な実施形態によると、記載した構成要素のそれぞれの構成要素(例:モジュールまたはプログラム)は、単数または複数の個体を含んでよい。本発明の多様な実施形態によると、上述した該当の構成要素のうちの1つ以上の構成要素または動作が省略されてもよいし、1つ以上の他の構成要素または動作が追加されてもよい。代替的あるいは追加的に、複数の構成要素(例:モジュールまたはプログラム)は、1つの構成要素に統合されてよい。このような場合、統合された構成要素は、複数の構成要素それぞれの構成要素の1つ以上の機能を、統合以前の複数の構成要素のうちの該当の構成要素によって実行されるものと同一または類似に実行してよい。本発明の多様な実施形態によると、モジュール、プログラム、または他の構成要素によって実行される動作は、順次的、並列的、反復的、または体験的に実行されてもよく、動作のうちの1つ以上が他の順序で実行されたり、省略されたり、または1つ以上の他の動作が追加されたりしてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14