Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6901798B2 - オーディオエネルギー特性に基づくオーディオフィンガープリンティング - Google Patents
[go: Go Back, main page]

JP6901798B2 - オーディオエネルギー特性に基づくオーディオフィンガープリンティング - Google Patents

オーディオエネルギー特性に基づくオーディオフィンガープリンティング Download PDF

Info

Publication number
JP6901798B2
JP6901798B2 JP2019503808A JP2019503808A JP6901798B2 JP 6901798 B2 JP6901798 B2 JP 6901798B2 JP 2019503808 A JP2019503808 A JP 2019503808A JP 2019503808 A JP2019503808 A JP 2019503808A JP 6901798 B2 JP6901798 B2 JP 6901798B2
Authority
JP
Japan
Prior art keywords
energy
time
audio
time window
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019503808A
Other languages
English (en)
Other versions
JP2019519869A (ja
Inventor
パトリック グリーン
パトリック グリーン
Original Assignee
ソース ディジタル インコーポレイテッド
ソース ディジタル インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソース ディジタル インコーポレイテッド, ソース ディジタル インコーポレイテッド filed Critical ソース ディジタル インコーポレイテッド
Publication of JP2019519869A publication Critical patent/JP2019519869A/ja
Application granted granted Critical
Publication of JP6901798B2 publication Critical patent/JP6901798B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronisation processes, e.g. processing of PCR [Programme Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43079Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on multiple devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G7/00Volume compression or expansion in amplifiers
    • H03G7/002Volume compression or expansion in amplifiers in untuned or low-frequency amplifiers, e.g. audio amplifiers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G7/00Volume compression or expansion in amplifiers
    • H03G7/007Volume compression or expansion in amplifiers of digital or coded signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV programme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Computer And Data Communications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Auxiliary Devices For Music (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、大まかには、オーディオコンテンツ認識(ACR)に関し、より具体的には、オーディオエネルギー特性に基づいてオーディオフィンガープリントを生成することに関する。
オーディオコンテンツのリアルタイム認識は、さまざまなアプリケーションでますます用いられるようになってきている。例えば、未知の曲の名前、アーチスト、及び/又はアルバムが特定され得て、ある特定の映画がそのサウンドトラックから特定され得る。ACRのアルゴリズムは、音響フィンガープリンティングを含み、これは、オーディオ(音楽、映画等)のセグメントを分析し、オーディオの特徴からフィンガープリントとして知られるものを生成することによって機能する。1つのオーディオコンテンツを認識するためには、その1つのオーディオから生成されたオーディオフィンガープリントが、レファレンスオーディオフィンガープリントのデータベースと比較される。
今日、広く用いられている音響フィンガープリンティングアルゴリズムがいくつか存在する。よく知られている例は、音響フィンガープリンティングを利用することによってユーザが聴いている曲を特定するShazaamのアプリである。他の例としては、Gracenote及びMusicBrainzがある。
しかし従来は、オーディオコンテンツ認識は、従来の手法は、コンテンツのタイミング、すなわちコンテンツの全体の時間に対する現在時刻の位置を検出又はアラインする能力を提供してこなかったという点で制限があった。従来のオーディオコンテンツ認識の他の限界には、フィンガープリントの相対的に大きなサイズ、コンテンツ認識プロセスの相対的複雑さ、及びコンテンツ認識において結果として生じる遅延がある。
本開示は、これらの問題に対応するための方法、装置、及びシステムを提供する。本開示は、オーディオコンテンツ認識アルゴリズム、特に、コンテンツの全体の時間に対して、オーディオコンテンツにおいて位置を検出することを可能にするフィンガープリント生成アルゴリズムを記載する。例えば、ここで開示された本発明は、1つのコンテンツのアイデンティティ(すなわち視聴されている映画がGoodfellasであること)だけでなく、映画が現在、3:30のマークの所にあることも特定し得る。さらに開示された本発明は、比較的小さいサイズのフィンガープリント及び比較的簡単なコンテンツ認識プロセスを提供することによって、従来技術と比較したときにコンテンツ認識の遅延が少なくなるようにして、従来のオーディオコンテンツ認識の限界にも対処する。
添付の図面は、明細書に組み込まれて、その一部を構成するが、本発明の局面のさまざまな例示的実施形態を示す、さまざまな例示的システム、方法等を示す。図面中の図示された要素の境界(例えば四角形、四角形のグループ、又は他の形状)は、境界の1つの例を表すことが理解されよう。当業者は、1つの要素が複数の要素として設計されたり、複数の要素が1つの要素として設計されたりし得ることを理解するだろう。他の要素の内部要素として示される要素が、外部要素として実現されてもよく、その逆も可能である。さらに要素は、正しい縮尺では図示されていない。
図1は、オーディオフィンガープリンティングのための例示的システムのブロック図を示す。 図2は、図1のオーディオフィンガープリンティングのためのシステムの詳細なブロック図を示す。 図2Aは、例示的サンプリング処理を示す。 図2Bは、映画の一部についての例示的エネルギー領域の図式的表現を示す。 図2Cは、例示的エネルギーハッシャーの図式的表現を示す。 図2Dは、例示的ハッシュ、シャードMinHash、及びフィンガープリントハッシュの図式的表現を示す。 図3は、オーディオコンテンツ認識のコンテキストにおける図1のオーディオフィンガープリンティングのためのシステムを示す。 図4は、オーディオフィンガープリンティングのための例示的方法のフロー図である。 図5は、オーディオフィンガープリンティングのための例示的機器又は装置のブロック図である。
図1は、オーディオコンテンツ認識のための例示的システム1のブロック図を示す。大まかには、システム1は、オーディオのセグメントを分析し、そのオーディオの音響特性からフィンガープリントを生成することによって動作する。システム1は、例えば、ユーザが見ているかもしれないTV番組、映画、YouTubeビデオのようなコンテンツを特定し、さらには、そのコンテンツの全体の時間に対する位置を検出するのに有用である。よって例えば、システム1は、1つのコンテンツの識別情報(identity)(すなわち見られている映画がグッドフェローズであること)だけでなく、その映画が現在は3:30の標識にあることを特定し得る。
システム1は、テレビ、コンピュータ、タブレット等のような標準デバイス15で再生されているかもしれないオーディオ10を受け取るマイク5を含み得る。システム1は、マイク5を用いてオーディオ10を「聴いて」、オーディオ10’というバージョンをプロセッサ20に提供し、プロセッサ20は、オーディオ10’を処理してフィンガープリントを作り、このフィンガープリントを、記憶媒体又はデータベース25に以前に記憶されたフィンガープリントと比較する。もしプロセッサ20がコンテンツマッチを検出する(すなわち新たに受け取られたオーディオ10’が、以前に記憶されたフィンガープリントと一致する)なら、プロセッサ20は、マッチ(match)30を出力し、これはコンテンツID(例えば曲又は映画)及び上記グッドフェローズの例のようなコンテンツ内での時刻を含み得る。このようにしてシステム1は、オーディオ10’を処理し、マッチ30を出力し、このマッチ30は、コンテンツID及びそのコンテンツの開始に対するタイムオフセット(time offset)を含み得る。
音響フィンガープリンティングアルゴリズムには2つの主要な要素があり、エンコーディングプロセス及び認識プロセスである。
エンコーディングプロセスは、典型的には、マスターフィンガープリント(master fingerprints、MFP)を生成するために、ソース又はマスターコンテンツを用いて事前に行われる。MFPは、記憶媒体又はデータベース25に記憶されるフィンガープリントであり、後で、例えば、リアルタイムオーディオと比較されることによって、認識プロセスの間にマッチを得るよう試みられる。
認識プロセスは、典型的には、リアルタイムで、又はリアルタイムに近いやり方でなされる。システム1は、マイク5を用いて、システム1の環境からオーディオ10を受け取る。プロセッサ20は、受け取られたオーディオ10’を処理して、受け取られたフィンガープリント(received fingerprints、RFP)を生成し、プロセッサ25は、それからこれをMFPと比較し、マッチが存在するかを見る。認識プロセスは、さらに2つの主要な要素に分解され得る。すなわち(1)RFP生成(これにはMFPを生成する時に用いられるのと同じアルゴリズムが関与する)、及び(2)データベースルックアップである。オーディオ中には大量のデータが存在するために、生成されたフィンガープリント(fingerprints)は、データベースルックアップの間の高速な検索をサポートできるよう十分にコンパクトでなければならない。
フィンガープリント生成は、オーディオ10’(マイク5から、又はMP4ファイルのような形式で記録された状態で受け取られる)の入力ストリームを取り込み、それを処理してそのフィンガープリントを取得するプロセスである。MFP又はRFPのいずれであっても、フィンガープリント生成のためには同じアルゴリズムが用いられる。
図2は、図1のシステム1の詳細なブロック図を示す。上述のようにシステム1は、環境からオーディオ10を受け取り、オーディオ信号10’を出力するためにマイク5を含み得る。代替として、システム1は、録音されたオーディオからのような他の方法を通じてオーディオ信号10’を受け取り得る。
システム1は、オーディオ信号10’をサンプリングするサンプラ30も含み得る。図2Aは、サンプラ30の例示的サンプリングプロセスを示す。図2Aの実施形態では、サンプラ30は、4096個のサンプルのウィンドウサイズ及び31/32のウィンドウオーバーラップを用いて、オーディオ信号10’を8kHzのサンプルレートでサンプリングする。他の実施形態では、サンプラ30は、8kHzのサンプルレート、4096個のサンプルのウィンドウサイズ、及び31/32のウィンドウオーバーラップとは異なる、サンプルレート、ウィンドウサイズ、及びウィンドウオーバーラップでオーディオ信号10’をサンプリングする。サンプラ30の出力35は、オーディオサンプルの一連のチャンク(すなわち図2Aのチャンク1、チャンク2等)であり、それぞれのチャンクは、ウィンドウサイズである。
図2のシステム1は、サンプラ30の出力35を受け取るFFT40も含み得る。オーディオサンプルのそれぞれのチャンクは、FFT40を用いて処理がなされ、オーディオサンプルの周波数/ビン表現(frequency/bin representation)を生成する。これはスペクトログラムと呼ばれることもある。FFT40の出力45は、これらのスペクトログラム、及びそれぞれのスペクトログラムに対応するタイムオフセット(すなわちそれぞれが起きた時刻)を含む。
システム1は、スペクトログラムの周波数ビンつまり帯域におけるエネルギー領域を特定するエネルギーストリーマー50も含み得る。例えば、オーディオ信号10は、200Hzの正弦波であると仮定しよう。この正弦波が再生されており、我々はプレーヤーのボリュームを上げていくとする。200HzでのFFTビンの大きさは、時間とともに増す。エネルギーストリーマー50は、FFT出力45のある範囲の周波数をモニタすることで、増加するエネルギーの期間及び減少するエネルギーの期間を特定する。増加する又は減少するエネルギーのこれらの期間は、エネルギー領域と呼ばれる。上の200Hzの例では、エネルギー領域(すなわち増加するエネルギー領域)は、200Hzについて特定されるが、これは、ボリュームが増していく時にそのエネルギーが増加していったからである。もし我々がボリュームを下げるなら、エネルギー領域、つまり減少するエネルギー領域がやはり生成されることになろう。
しかしもし上の例で、オーディオ信号10のボリュームが高音量及び低音量の間で連続的に振動したなら、エネルギー領域は、おそらくは生成されないだろうが、これは、エネルギーストリーマー50が、増加するエネルギーの期間と、減少するエネルギーの期間とを探すからである。そのような振動するエネルギー期間は、開始から終了までで平均すれば増加も減少しないので、ゼロに近い正味のエネルギー変化を有し得る。そのような振動するエネルギー期間は、エネルギー領域を生成せず、無視される。
ある実施形態では、エネルギーストリーマー50がモニタする周波数範囲は、200Hz及び3,300Hzの間である。サンプラ30がオーディオ10’を8,000Hzでサンプリングする上の実施形態では、FFT40の出力45でのFFTチャンクは、0Hz及び4,000Hzの間の周波数ビンを含むが、これは、サンプリングは、いつも少なくとも半分の正確さの損失を招くからである。たとえオーディオ10が8,000Hzでサンプリングされても、我々はそのサンプリングレートの半分の周波数(つまり4,000Hz)しか正確には得られない。これはナイキスト・シャノンのサンプリング定理と呼ばれる。他の実施形態では、エネルギーストリーマー50がモニタする周波数範囲は、200Hz及び3,300Hzの間、以外である。
FFT40の出力45における周波数表現つまりスペクトログラムは、周波数帯域に分割され得る。例えば、帯域1は、200Hz及び350Hzの間の周波数を表現し得て、帯域2は、350Hz−450Hzを表現し得る、等のようになる。留意すべきは、人間の耳は直線的には聞こえず、対数的に聞こえるということである。このため、ある実施形態では、それぞれの帯域の大きさつまり帯域幅は、対数的に減少し得て、低い周波数の帯域(我々の例では200Hzから始まる)がいちばん大きな帯域であり、高い周波数の帯域(我々の例では3,300Hzまで)が最も小さい帯域である。
ある実施形態では、エネルギーストリーマー50は、200Hz−3,300Hzの範囲で44個のエネルギー帯域を利用し、これらは対数的に大きさが減少する。エネルギーストリーマー50が特定するそれぞれのエネルギー領域は、帯域番号を有し、例えば、第1の帯域(すなわち帯域1)は200Hzから始まり、最後の帯域(すなわち帯域44)は3,300Hzで終わる。他の実施形態では、エネルギーストリーマー50は、44個より多いか、又は少ないエネルギー帯域を利用し、エネルギー帯域は、200Hz−3,300Hz以外の範囲にあり得る。
図2Bは、映画の一部についての例示的エネルギー領域55の視覚的表現を示す。それぞれのエネルギー領域は、その周波数帯域、オーディオシーケンスの全体に対するその領域の開始/終了時刻、及びエネルギーが増加していたか又は減少していたかを記録する(tracks)。図2Bの例では、それぞれの領域は、その領域が増加しているエネルギー領域であることを示す上向き矢印、又はその領域が減少しているエネルギー領域であることを示す下向き矢印のいずれかを含む。例えば、左に現れる第1領域は、周波数帯域20にあり、時刻0.02秒において始まり、時刻0.46秒において終わり、そしてそれは増加しているエネルギー領域である。
要約すれば、エネルギーストリーマー50は、FFT40の出力45におけるFFTチャンクを処理することによって、それぞれの周波数帯域内で増加しているエネルギーの期間、及び減少しているエネルギーの期間を特定する。特定された増加している及び減少しているエネルギー領域55は、より大きいオーディオストリーム内での周波数帯域番号及び開始/終了時刻(すなわちタイムオフセット)有する。
図2に戻り、システム1は、エネルギーハッシャー60も含み得るが、これはオーディオサンプルの特徴のハッシュを、エネルギーストリーマー50によって特定されたエネルギー領域55に基づいて生成する。エネルギーハッシャー60は、エネルギー領域のストリーム55に対して、サンプラ30がオーディオ信号10’に対して動作するのとほぼ同じやり方で動作する。エネルギーハッシャー60は、ウィンドウサイズプロパティ及びウィンドウオーバーラッププロパティも有するが、それはここでは、オーディオ信号10’のエンコードされた形であるエネルギー領域を処理している。ある実施形態では、エネルギーハッシャー60は、1000ミリ秒のウィンドウサイズ及び950ミリ秒のウィンドウオーバーラップを有し、これは、エネルギーハッシャーのウィンドウが、パスごとに時間にして50ミリ秒ずつ前に移動することを意味する。他の実施形態では、エネルギーハッシャー60は、1000ミリ秒とは異なるウィンドウサイズ、又は950ミリ秒とは異なるウィンドウオーバーラップを有する。
エネルギーハッシャー60は、タイムウィンドウ内に現れる特定されたエネルギー領域の部分を分析することによって、1点(piece)のオーディオの特徴のハッシュ(数値データ)を生成する。ハッシュ(すなわちハッシャー60の出力64)は、将来の識別(identification)のためにデータベースに記憶されてもよく(MFP)、又は既にデータベースにあるハッシュと比較されてもよい(RFP)。
図2Cは、例示的エネルギーハッシャー60の視覚的表現を示す。エネルギーハッシャー60は、スライディングウィンドウ62を用いる。エネルギーハッシャー60は、ウィンドウ62を移動させ(例えば62aから62bへ)、ウィンドウ内に入るエネルギー領域の部分を分析する。エネルギーハッシャー60は、現在のウィンドウ内に入るエネルギー領域に基づいて特徴(features)(互いに異なる数値)を作る。
それぞれのエネルギー領域について作られ得る特徴には8つの種類がある。生成されたそれぞれの特徴は、a)各時間ウィンドウ内に現れるエネルギー領域の周波数帯域、b)各時間ウィンドウ内に現れるエネルギー領域が増加しているエネルギー領域であるか、又は各時間ウィンドウ内に現れるエネルギー領域が減少しているエネルギー領域であるか、及びc)各時間ウィンドウに対するエネルギー領域の配置を表す情報をエンコードする数値である。
各時間ウィンドウ62内に現れるエネルギー領域の配置は、以下のうちの1つに対応する。
・ウィンドウの前に開始し、ウィンドウの後に終了する――これは、ウィンドウ62に関して、このエネルギー領域は、ウィンドウの開始の前に開始し、ウィンドウの終了の後に終了することを意味する。つまり換言すれば、このエネルギー領域は、現在のウィンドウ62を完全に包含する。
・ウィンドウの前に開始し、ウィンドウの中で終了する――これは、現在のウィンドウ62に関して、このエネルギー領域は、ウィンドウの開始の前に開始するが、ウィンドウの終了の前に終了することを意味する。
・ウィンドウの中で開始し、ウィンドウの後に終了する――これは、このエネルギー領域が、ウィンドウタイムフレームの中で開始するが、ウィンドウの終了の後で終了することを意味する。
・ウィンドウの中で開始し、ウィンドウの中で終了する――これは、このエネルギー領域が、ウィンドウタイムフレームの中に完全に含まれることを意味する。
それぞれのウィンドウ62は、典型的には多くの特徴を有することになる。それぞれの特徴は、帯域番号、エネルギー方向(すなわち増加しているか又は減少しているか)、及び現在のウィンドウ62に対するエネルギー領域の配置の表現である数である。
それぞれのウィンドウ62は、ハッシュ64(ウィンドウ62a及び62bにそれぞれ対応する64a及び64bとして示される)を生み、ハッシュ64は、ウィンドウ内のエネルギー領域からの一連の特徴数及びタイミング情報(0:05s及び1:35s)である。共通のテーマは、サンプリングレベルからハッシングレベルに至るまで、タイミング情報を首尾一貫して受け渡しをすること(consistent passing along)である。
ハッシュ64は、将来の識別のためにデータベースに記憶されてもよく(MFP)、既にデータベースに存在するハッシュに対して比較されてもよい(RFP)。
しかし図2の実施形態では、エネルギー特徴のこれらのハッシュ64は、最終的なデータベース表現ではない。システム1は、MinHash70も含み得る。MinHashは、サーチエンジンが大量のテキストデータを小さい量のスペースで表現できるようにするために、もともと開発された(Broder, Andrei Z. (1997), "On the resemblance and containment of documents", Compression and Complexity of Sequences: Proceedings, Positano, Amalfitan Coast, Salerno, Italy, June 11-13, 1997 (PDF), IEEE, pp. 21-29, doi:10.1109/SEQUEN.1997.666900, and Broder, Andrei Z.; Charikar, Moses; Frieze, Alan M.; Mitzenmacher, Michael (1998), "Min-wise independent permutations", Proc. 30th ACM Symposium on Theory of Computing (STOC '98), New York, NY, USA: Association for Computing Machinery, pp. 327-336を参照。これらの各々は、その全体がここで参照によって援用される。)。本願発明者は、オーディオ特徴の膨大な量も、MinHashを用いて低減され得ることを実験を通じて発見した。
MinHash70は、ハッシュ64中の大量の特徴を小さいセットの数に圧縮する。MinHash70をハッシュ64に適用することで、他の一連の数、つまりMinHash値72が得られる。例えばハッシュ64は、250個の特徴を含み得るが、これは、その対応するウィンドウ62内に現れていた特徴の個数である。しかしMinHash70をハッシュ64に適用した後には、常に一定の数(例えば100個)のMinHash値72が存在する。
MinHash値72は、将来の識別のためにデータベースに記憶されてもよく(MFP)、既にデータベースに存在するMinHash値に対して比較されてもよい(RFP)。
しかし図2の実施形態では、MinHash値72は、最終的なデータベース表現ではない。システム1は、シャーダ(sharder)75も含み得る。シャーディング(sharding)は、MinHash値72をロウ及びカラムにグループ分けすることである。図2Dの例に示されるように、シャーダ75は、例えば、シャードサイズ5を用いてMinHash値72をシャードし得て、このとき、それぞれが5個の値を有する20個のグループを有するシャードハッシュ77が生じる。シャードハッシュ77の第1グループは、MinHash値1−5を有し、第2グループは、MinHash値6−10を有し、以下同様に続く。
シャードハッシュ77は、将来の識別のためにデータベースに記憶されてもよく(MFP)、既にデータベースに存在するシャードハッシュに対して比較されてもよい(RFP)。
しかし図2の実施形態では、シャードハッシュ77は、最終的なデータベース表現ではない。システム1は、シャードハッシュ77の任意の与えられたグループについて、5個のシャード値を結合して単一の64ビットの数、シングル(shingle)を得る、コンバイナ80も含み得る。図2Dの例に示されるように、シャードハッシュ77中の第1シャードグループは、値100,101,102,105,106を有する。コンバイナ80は、これら数を結合して単一の64ビットの整数100102105106をデータのロスなしに作り得る。この結果は、タイムウィンドウ内のエネルギー領域からの64ビットのシングル20個及びタイミング情報を含むフィンガープリントハッシュ85である。
よってフィンガープリントハッシュ85は、コンテンツID(オリジナルのコンテンツに割り当てられた値)、20個の数(シングル)、及びタイムオフセット(コンテンツのどこにサンプリングされた部分又はハッシュがもともと位置していたかを特定する)を含む。フィンガープリントハッシュ85は、将来の識別(MFP)のためにデータベース25中に記憶され得る。たいていのデータベースシステムは、数値に基づいて検索するために高度に最適化されており、我々は、比較の個数を大幅に低減することによって、比較的小さいサイズのフィンガープリントを提供し、それにより、従来の手法と比較したときにコンテンツ認識における遅延を低減させた。
図2の実施形態は、MFP生成の状況におけるシステム1を示す。図3は、比較又は一致判定のためのRFP生成の状況におけるシステム1を示す。この状況において、システム1は、携帯電話、タブレット、コンピュータ等のような装置に組み込まれ得る。図3は、図2と同じ要素を示し、加えて比較器100を含む。
比較又は一致判定のためにRFP生成の状況下で動作中において、システム1は、装置のマイク5を開き、上述の設定(8,000 kHz等)を用いてオーディオを解読し始める。システム1は、MFPを作るときにフィンガープリント85を生成したのと全く同じやり方で、このオーディオからフィンガープリント95を生成する。唯一の差異は、フィンガープリント95の時刻が、マイクを開いた開始からの相対タイムオフセットであることである。この状況では、システム1は、MFPの場合になされるように、例えば曲又は映画の開始に対する現在のタイミングを知るすべはない。よって生成された第1フィンガープリント95は、0:00の時刻オフセットを有することになり、1分後には、仮にオーディオが現在、番組開始から13分経ったところであったとしても、オフセットは1:00になる。システム1は、ある番組がいつ始まったかの概念を持たず、いつ録音が始まったかを知るだけであるので、常にオフセット時刻は、生成されたフィンガープリント95についてはいつRFPが作られたかに対して相対的である。
オーディオは、装置のマイク5から連続的に記録されていて、フィンガープリント95が生成されている。これら受け取られたフィンガープリント(RFP)95は、識別が起こる場合には較器100に送られる。識別の最初のステップは、データベースルックアップであり得る。例えば、SQLクエリは、以下のように表されえる。
select * from Hashes where ShardValue1 = <UploadedShardValue1> OR ShardValue2 = <UploadedShardValue2> … OR ShardValue20 = <UploadedShardValue20>
比較器100は、データベース中で、シャードロウint64値(shard row int64 values)のうちの1つが一致する、任意のハッシュを探す。シャードの実際のロウ番号は、重要であるかもしれないことに注意されたい。例えば、比較器100は、ソースハッシュのシャードロウ1を、記録されたハッシュのシャードロウ1の値と比較し得る。しかしこれは、十分ではないかもしれないが、それは、これが大きなデータベース中の500個のマッチを生むかもしれないからである。代わりに、比較器100は、それぞれのアップロードされたフィンガープリント95から生じるマッチを追跡し得る。
よって例えば、データベースが以下のように表されているとしよう(非常に簡略された例である)。
Figure 0006901798
そして2つのフィンガープリント95がアップロードされていると仮定しよう。すなわち第1フィンガープリントが時刻0:00においてアップロードされ、第2フィンガープリントが時刻0:01においてアップロードされるとする。第1フィンガープリントは、0:10においてGoodfellasと一致し、0:48においてMad Menと一致する。比較器100は、これを追跡する。ここで、第2フィンガープリントが、0:11においてGoodfellasと一致し、0:45においてMad Menと一致するとしよう。アップロードされたフィンガープリント95の間の時間差は、1秒(0:00及び0:01)である。Goodfellasについては、我々は2つのマッチを得て、それぞれのマッチの間の時間の差異は、1秒(0:10及び0:11)である。Mad Menについても2つのマッチが存在する(0:48及び0:45)が、時間差は、マイナス3秒である(第2マッチが第1マッチよりも時間について先に来た)。ここで我々は真のマッチを得ているが、これはGoodfellasについての2つのマッチの間の時間差と、アップロードされた2つのフィンガープリントとが、時間において揃うからである。比較器100は、このタイプの時間整合による一致判断を利用して、識別が正確であることを確実にする。アップロードされたフィンガープリントについてのデータベースマッチは、マッチが有効であると考えられるためには、時間においてアラインしなければならない。
比較器100は、マッチが生じたとここで報告し得る。マッチ30は、例えばGoodfellasのコンテンツID、及び時刻、例えば0:11(最新の正確な時刻マッチ)を含む。この点で、システム1を組み込む装置は、そのコンテンツIDを利用して、なんらかの種類のユーザエクスペリエンスを提供する。これの例としては、0:11におけるGoodfellasについてのメタデータでウェブサービスに対して問い合わせをし、それから例えば、スクリーンに映っているキャラクタ又は俳優の名前を表示することがある。
例示的方法は、図4のフロー図を参照すればよりよく理解されるだろう。説明の簡潔さのために、図示された方法は、一連のブロックとして示され、記述されているが、示され、記述されているものと比べて、あるブロックが異なる順序で実行され、又は、他のブロックと同時に実行されてもよいので、この方法は、ブロックの順序によって限定されないことを理解されたい。さらに、図示されたブロックの全てよりも少ないブロックしか、例示的方法を実施するには必要ないかもしれない。さらに、追加の方法、代替の方法、又はそれらの両方は、図示されていない追加のブロックを採用し得る。
フロー図において、ブロックは、論理で実現され得る「処理ブロック」を表す。処理ブロックは、方法ステップ又は方法ステップを実行する装置要素を表し得る。フロー図は、特定のプログラミング言語、方法、又はスタイル(例えば手続き的、オブジェクト指向)について何らの構文も示さない。むしろ、フロー図は、図示された処理を実行するロジックを開発するために当業者が採用し得る機能情報を図示する。ある例では、一時変数、ルーチンループ等のようなプログラム要素が示されていないことがわかるだろう。電子的及びソフトウェアアプリケーションは、ダイナミックかつ柔軟性がある処理を伴い得ることによって、図示されたブロックが図示されたものとは異なる、他の順序で実行されたり、ブロックが組み合わせられ、又は複数の要素に分解されたりし得ることがさらにわかるだろう。処理は、機械語、手続き的、オブジェクト指向又は人工知能の手法のような、さまざまなプログラミングアプローチを用いて実現され得ることが理解されよう。
図4は、オーディオフィンガープリンティングのための例示的方法400のためのフロー図を示す。
方法400は、410において、1片のオーディオのオーディオサンプル群を得ることを含み、ある実施形態では、1片のオーディオをサンプリングすることを含み得る。オーディオサンプルのそれぞれは、特定の時刻に対応する。420において、方法400は、オーディオサンプル群の周波数表現を生成することを含む。430において、方法400は、周波数表現の周波数帯域中のエネルギー領域を特定することを含む。エネルギー領域は、増加エネルギー領域又は減少エネルギー領域であり得るが、両方ではない。増加エネルギー領域は、時間領域の開始時刻から終了時刻までオーディオエネルギーが増加する時間領域として定義され、減少エネルギー領域は、時間領域の開始時刻から終了時刻までオーディオエネルギーが減少する時間領域として定義される。
方法400は、440において、タイムウィンドウ内に現れる、特定されたエネルギー領域の部分を分析することによって、当該1片のオーディオの特徴のハッシュを生成することを含む。特徴のうちのそれぞれのハッシュは、それぞれのタイムウィンドウに現れる特定されたエネルギー領域の部分に対応する。それぞれの特徴は、
それぞれの時間ウィンドウ中に現れるエネルギー領域の周波数帯域、
それぞれの時間ウィンドウ中に現れるエネルギー領域が増加エネルギー領域であるか、又はそれぞれの時間ウィンドウ中に現れるエネルギー領域が減少エネルギー領域であるか、及び
それぞれの時間ウィンドウ中に現れるエネルギー領域の配置
を表す情報をエンコードする数値として定義される。
それぞれの時間ウィンドウ中に現れるエネルギー領域の配置は、
・それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ後で終了するか、
・それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ中で終了するか、
・それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ後で終了するか、及び
・それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ中で終了するか
のうちの1つに対応する。
450において、方法400は、特徴のそれぞれのハッシュを、特徴のMinHash表現又はMinHash値に変換することを含み得る。460において、方法400は、MinHash値をシャーディングすることによって、MinHashシャード値を得ることを含み得る。470において、方法400は、シャードロウ又はグループ内のMinHashシャード値を、64ビット数に結合することによって、20個の64ビット数を有するフィンガープリントハッシュを得ることを含み得る。480において、方法400は、フィンガープリントハッシュを特定の時刻と共に記憶する。
図は、さまざまなアクションが順次、起こるものとして示すが、図示されたさまざまなアクションは、実質的に並列に起こり得ることを理解されたく、アクションは、並列に起こるように示され得るが、これらアクションは、実質的に順次、起こり得ることを理解されたい。図示された方法に関連していくつかの処理が記載されているが、より多くの又はより少ない数の処理が採用され得て、ライトウェイトプロセス、レギュラープロセス、スレッド、及び他のアプローチも採用され得ることを理解されたい。他の例示的方法は、場合によっては、実質的に並列に起こるアクションも含み得る。図示された例示的方法及び他の方法は、リアルタイムで、ソフトウェア又はハードウェア又はハイブリッドソフトウェア/ハードウェア実現例においてリアルタイムよりも速く、又はソフトウェア又はハードウェア又はハイブリッドソフトウェア/ハードウェア実現例においてリアルタイムよりも遅く動作し得る。
図5は、オーディオフィンガープリンティングのための例示的機械又は装置500のブロック図である。装置500は、バス508によって動作可能に接続されたプロセッサ20、メモリ504、及びI/Oポート510を含む。
ある例では、装置500は、オーディオ10又は10’、サンプリングされたオーディオ35、周波数表現45、エネルギー領域55、ハッシュ64、MinHash値72、シャードMinHash値77、フィンガープリントハッシュ85及び95等を含む入力信号を、例えばI/Oポート510又はI/Oインタフェース518を介して受け取り得る。装置500は、サンプラ30、FFT40、エネルギーストリーマー50、エネルギーハッシャー60、MinHash70、シャーダ(sharder)75、コンバイナ80、及びデータベース25も含み得る。よってサンプラ30、FFT40、エネルギーストリーマー50、エネルギーハッシャー60、MinHash70、シャーダ75、コンバイナ80、及びデータベース25は、装置500において、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせとして実現され得て、よって、装置500及びその要素は、サンプラ30、FFT40、エネルギーストリーマー50、エネルギーハッシャー60、MinHash70、シャーダ75、コンバイナ80、及びデータベース25によってそれぞれ実行されるとしてここで記載された機能を実行する手段を提供し得る。
プロセッサ20は、デュアルマイクロプロセッサ及び他のマルチプロセッサアーキテクチャを含む多様なさまざまなプロセッサであり得る。メモリ504は、揮発性メモリ又は不揮発性メモリを含み得る。不揮発性メモリは、これらには限定されないが、ROM、PROM、EPROM、EEPROM等を含み得る。揮発性メモリは、例えばRAM、シンクロナスRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、及びダイレクトRAMバスRAM(DRRAM)を含み得る。
ディスク506は、例えばI/Oインタフェース(例えばカード、デバイス)518及びI/Oポート510を介して装置500に動作可能に接続され得る。ディスク506は、これらに限定されないが、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピーディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、又はメモリスティックのようなデバイスを含み得る。さらにディスク506は、CD−ROM、CDレコーダブルドライブ(CD−Rドライブ)、CDリライタブルドライブ(CD−RWドライブ)、又はディジタルビデオROMドライブ(DVD ROMドライブ)のような光学ドライブを含み得る。メモリ504は、例えばプロセス514又はデータ516を記憶し得る。ディスク506又はメモリ504は、装置500のリソースを制御し、アロケートするオペレーティングシステムを記憶し得る。ディスク506又はメモリ504は、その中にデータベース25を記憶してしまっていてもよく、又はデータベース25は、いくつかのローカルな又はリモートな記憶装置の間で分散されてもよい。
バス508は、単一の内部バス相互接続アーキテクチャ又は他のバス又はメッシュアーキテクチャであり得る。単一のバスが図示されているが、装置500は、図示されていない他のバス(例えばPCIE、SATA、インフィニバンド、1394、USB、イーサネット(登録商標))を用いて、さまざまな装置、ロジック、及び周辺機器と通信し得る。バス508は、これらには限定されないが、メモリバス又はメモリコントローラ、周辺バス又は外部バス、クロスバースイッチ、又はローカルバスを含むさまざまなタイプであり得る。ローカルバスは、これらには限定されないが、産業標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、周辺要素相互接続(PCI)バス、ユニバーサルシリアルバス(USB)、及びスモールコンピュータシステムインタフェース(SCSI)バスを含む、さまざまなものであり得る。
装置500は、I/Oインタフェース518及びI/Oポート510を介して入力/出力機器と相互作用し得る。入力/出力機器は、これらに限定されないが、キーボード、マイク、ポインティング及び選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク506、ネットワークデバイス520等を含み得る。I/Oポート510は、これらには限定されないが、シリアルポート、パラレルポート、及びUSBポートを含み得る。
装置500は、ネットワーク環境において動作し得て、よってI/Oインタフェース518又はI/Oポート510を介してネットワーク機器520と接続され得る。ネットワーク機器520を通して、装置500は、ネットワークと相互作用をし得る。ネットワークを通して、装置500は、リモートコンピュータに論理的に接続され得る。装置500が相互作用するネットワークは、これらに限定されないが、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及び他のネットワークを含み得る。ネットワークデバイス520は、これらに限定されないが、光ファイバ分散データインタフェース(FDDI)、銅線配線分散データインタフェース(CDDI)、イーサネット(登録商標)(IEEE 802.3)、トークンリング(IEEE 802.5)、無線コンピュータ通信(IEEE 802.11)、ブルートゥース(IEEE 802.15.1)、ZigBee(IEEE 802.15.4)等を含むLAN技術に接続し得る。同様に、ネットワークデバイス520は、これらに限定されないが、ポイントツーポイントリンク、サービス総合デジタル網(ISDN)のような回路スイッチングネットワーク、パケットスイッチングネットワーク、及びデジタル加入者線(DSL)を含むWAN技術に接続し得る。個々のネットワークのタイプが記載されているが、ネットワークを経由する、ネットワーク上での、又はネットワークを通じた通信は、通信の組み合わせ及び混合を含み得る。
定義
以下は、ここで採用された語のうちから精選されたものについての定義を含む。定義には、語の範囲に入り、実現のために用いられ得る要素のさまざまな例及び形態を含む。これら例は、限定的であるとは意図されていない。語の単数形及び複数形の両方が定義の中に含まれ得る。
「PCM」は、ほとんどのディジタルオーディオが処理されるフォーマットである、パルス符号変調を意味する。PCMは、後でスピーカーで再生されるオーディオインパルスを符号化する方法であり、これらパルスの結果は、我々がコンテンツとして認識するサウンドである。PCMは、タイムベースの数の列である(典型的には複数のバイトとして、又は浮動小数点数として処理される)。
「サンプルレート」は、一秒当たりにキャプチャされたサンプルの個数をいう。我々が聴くオーディオは、連続的なストリームであり、離散的ではない。コンピュータは、離散間隔で動作するので、オーディオを記録するコンピュータは、サンプル(数)を特定のサンプルレートで取り込まなければならない。伝統的には、PCMのような高品質オーディオは、44100Hzのサンプルレートでキャプチャされる。しかしサンプルレートは、設計者が望む任意のものであり得る。よって例えばサンプルレートは、8,000 Hzであってもよい。これは、オーディオの8,000個のサンプル(数)が毎秒、キャプチャされることを意味する。
「ウィンドウサイズ」とは、ウィンドウ内で処理されるオーディオの離散的なチャンクのサイズをいう。例えば、もしウィンドウサイズが4,000なら、8,000Hzのオーディオ、1秒には、2つのウィンドウが存在する。
「ウィンドウオーバーラップ」とは、どのくらいのオーバーラップ(サンプル数で)があるオーディオウィンドウと、次のオーディオウィンドウとの間に存在するかをいう。ウィンドウサイズについての上の例では、0ウィンドウオーバーラップを想定している。しかしもしウィンドウオーバーラップが1000に設定され、ウィンドウサイズが4000に設定されるなら、8,000Hzのオーディオの1秒には8ウィンドウ存在することになる。第1ウィンドウは、0-4,000msになり、第2ウィンドウは、1000ms-5000msになり、第3ウィンドウは、2000ms-6000msになり、などとなる。これからわかるように、ウィンドウオーバーラップは、オーディオの同じサンプルが複数回、処理されることにつながる。サンプリングされたオーディオにおけるウィンドウオーバーラップの結果、オーディオのより正確な表現が得られる。
「時間領域」は、PCMフォーマットのオーディオを指すのに用いられる語である。PCMは、時間にわたって符号化されたオーディオインパルスである。よってそれぞれの新しいインパルスは、後の時刻を指す。8,000Hzで符号化されたオーディオの8,000番目のインパルスは、1秒後の標識にある。典型的にはオーディオは、時間領域で処理されず、周波数領域で処理される。
「周波数領域」とは、オーディオの与えられたセグメントの周波数成分を分析することをいう。オーディオを時間領域(PCM)から周波数領域へ変換するためには、フーリエ変換が典型的には用いられる。
「FFT」つまり「高速フーリエ変換」は、オーディオのセグメントを時間領域から周波数領域へ変換するアルゴリズムである。フーリエ変換は、積分を利用するが、離散的ではない理論的アルゴリズムである。FFT(離散フーリエ変換、又はDFTと呼ばれることもある)は、オーディオを時間領域から周波数領域へ変換する、DSPでよく使われるコンピュータアルゴリズムである。FFTの結果は、周波数の「ビン」で構成されるデータ構造である。それぞれの周波数ビンは、周波数範囲から大きさへのマッピングである。例えば、4,000Hzで鳴っている正弦波の1秒のFFTは、4,000Hzにおいて高い値を持つ単一のビンを有することになる。2,000Hz及び4,000Hzにおいて鳴っている2つの正弦波は、理論的には2つのビンを有し、一つは2,000 Hzにおいて、もう一つは4,000 Hzにおいてほぼ等しい大きさを有する。しかし実際のオーディオは、多くの周波数からできているので、任意の所与のオーディオサンプルのFFTについては、典型的には多くの周波数のビンが存在する。
「コンテンツ」は、静止画、オーディオメディア、ビデオメディア、又はオーディオ/ビジュアル(AV)メディアのセグメントに対応し、少なくとも1つの媒体と共に、具体化され、記憶され、伝送され、受け取られ、処理され、又はその他の方法で用いられる情報を含む。よくあるメディアコンテンツフォーマットには、FLVフォーマット(フラッシュビデオ)、ウィンドウズメディアビデオ、リアルメディア、クイックタイム、MPEG、MP3、DivX、JPEG、及びBitmapsが含まれる。ここで用いられるように、「メディアクリップ」、「メディアコンテンツ」、「情報コンテンツ」、及び「コンテンツ」という語は、交換可能に用いられ得る。
ここで使われる「データストア」又は「データベース」は、データを記憶し得る物理的又は論理的なエンティティをいう。データストアは、例えば、データベース、テーブル、ファイル、リスト、キュー、ヒープ、メモリ、レジスタ等であり得る。データストアは、1つの論理的又は物理的エンティティに常駐し得て、2以上の論理的又は物理的エンティティの間で分散され得る。
ここで用いられる「ロジック」は、これらに限定されないが、機能(群)又は動作(群)を実行するための、又は他のロジック、方法、又はシステムから機能又は動作を起動するためのハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせを含む。例えば、所望のアプリケーション又はニーズに基づいて、ロジックは、ソフトウェアで制御されるマイクロプロセッサ、特定用途向けIC(ASIC)のような個別ロジック、プログラムされたロジックデバイス、命令等を含むメモリデバイスを含み得る。ロジックは、1つ以上のゲート、ゲートの組み合わせ、又は他の回路要素を含み得る。ロジックは、ソフトウェアとして完全に実現されてもよい。複数の論理ロジックが記載されるとき、その複数の論理ロジックを単一の物理的ロジックに組み込むことが可能であり得る。同様に、単一の論理ロジックが記載されるとき、その単一の論理ロジックを複数の物理的ロジックに分散させることが可能であり得る。
「動作可能な接続」、つまりエンティティが「動作可能に接続される」接続とは、信号、物理的通信、又は論理的通信が送られ、又は受け取られ得る接続である。典型的には、動作可能な接続は、物理的インタフェース、電気的インタフェース、又はデータインタフェースを含むが、動作可能な接続は、動作可能な制御を可能にするのに十分な接続のこれらの、又は他のタイプの異なる組み合わせを含み得る。例えば、2つのエンティティは、互いに直接に、又はプロセッサ、オペレーティングシステム、ロジック、ソフトウェア、又は他のエンティティのような1つ以上の中間エンティティを通して、信号をやりとりすることができることによって、動作可能に接続され得る。論理的又は物理的通信チャネルは、動作可能な接続を作るために用いられ得る。
放送において、「プレイアウト」は、ラジオ又はTVチャンネルの送信が放送者から、視聴者へコンテンツを運ぶ放送ネットワークに入り送信することを指す語である。
ここで使われる「信号」は、これらには限定されないが、1つ以上の電気的又は光学的信号、アナログ又はデジタルの信号、データ、1つ以上のコンピュータ又はプロセッサ命令、メッセージ、ビット又はビットストリーム、又は受信、送信、又は検出され得る他の手段を含む。
ここで使われる「ソフトウェア」は、これらには限定されないが、読み取られ、解釈され、コンパイルされ、又は実行され得て、コンピュータ、プロセッサ、又は他の電子デバイスに所望のやり方で機能、行為を実行させ、又は動作させる、1つ以上のコンピュータ又はプロセッサ命令を含む。命令は、動的又は静的にリンクされたライブラリからの別個のアプリケーション又はコードを含む、ルーチン、アルゴリズム、モジュール、方法、スレッド、又はプログラムのようなさまざまな形態で実現され得る。またソフトウェアは、これらには限定されないが、スタンドアローンプログラム、ファンクションコール(ローカル又はリモート)、サーブレット、アプレット、メモリに記憶された命令、オペレーティングシステムの一部、又は他のタイプの実行可能な命令を含む、さまざまな実行可能な又はロード可能な形態で実現され得る。当業者には、ソフトウェアの形態は、例えば、所望のアプリケーションの要件、それが走る環境、又は設計者/プログラマー等の要求に依存し得ることが理解されよう。またコンピュータで読み取り可能な又は実行可能な命令は、1つのロジックに存在し得て、又は2つ以上の通信し、同時に動作する、又は並列処理するロジックの間に分散され得て、よってシリアルで、パラレルで、超並列で、及び他の方法でロードされ、又は実行され得ることが理解されよう。
ここで記載された例示的システム及び方法のさまざまな要素を実現する適切なソフトウェアは、Java、Pascal、C#、C++、C、CGI、Perl、SQL、API、SDK、アセンブリ、ファームウェア、マイクロコード、又は他の言語及びツールのようなプログラミング言語及びツールを用いて作成され得る。ソフトウェアは、システム全体であれシステムの一要素であれ、製造物として実現され得て、前に規定されたようにコンピュータで読み取り可能な媒体の一部として保持又は提供され得る。ソフトウェアの他の形態は、ソフトウェアのプログラムコードをネットワーク又は他の通信媒体を介して受け手に送信する信号を含み得る。よってある例では、コンピュータで読み取り可能な媒体は、ウェブサーバからユーザへとダウンロードされるソフトウェア/ファームウェアを表す信号の形態をとる。他の例では、コンピュータで読み取り可能な媒体は、ウェブサーバ上に保持されたソフトウェア/ファームウェアの形態を有する。他の形態も用いられ得る。
ここで用いられる「ユーザ」又は「消費者」は、これらには限定されないが、1人以上の人、ソフトウェア、コンピュータ又は他のデバイス、又はこれらの組み合わせを含む。
以下の詳細な説明のある部分は、アルゴリズム及びメモリ内のデータビットに対する操作の記号的表現によって提示されている。これらアルゴリズムの記載及び表現は、当業者の仕事の本質を他人に伝えるために用いられる彼らによって用いられる手段である。アルゴリズムは、ここで、また一般的に、結果を作る操作の一連の流れであると理解されている。操作は、物理量の物理的操作を含み得る。必ずしもそうではないが、通常は、物理量は、記憶され、転送され、組み合わされ、比較され、及びロジック等で他の方法で操作され得る、電気的又は磁気的信号の形態をとる。
主に通常の用法の理由から、これら信号をビット、値、要素、シンボル、キャラクタ、語、数等として呼ぶことが時には便利であるとわかっている。しかし、これらの及び同様の語は、適切な物理量と関連付けられ、これらの量に適用される便利なラベルに過ぎないことに注意されたい。そうではないと具体的に述べられていない限り、記載を通して、処理、コンピューティング、計算、決定、表示等は、物理的(電子的)量として表現されるデータを操作及び変形する、コンピュータシステム、ロジック、プロセッサ、又は同様の電子的装置の行為及び処理を指すことが理解されよう。
「含む」又は「含んでいる」という語が詳細な説明又は特許請求の範囲で採用されている限りにおいて、特許請求の範囲で遷移的語として採用されるときに解釈されるように、「備える」という語と同様に、包含的であると意図されている。さらに、「又は」という語が詳細な説明又は特許請求の範囲で採用されている(例えばA又はB)限りにおいて、「A又はB又はその両方」を意味するよう意図されている。出願人が「A又はBであるが、両方ではない」と表現したい場合には、「A又はBであるが、両方ではない」が用いられる。よって「又は」という語の使用は、包含的であり、排他的な用法ではない。Bryan A. Garner, A Dictionary of Modern Legal Usage 624 (2d. Ed. 1995)を参照のこと。
例示的システム、方法等が例を記載することによって説明され、これら例は、相当な詳細さで記載されてきたが、そのような詳細に範囲を限定すること、又はいかなるやり方においても制限することは、出願人の意図ではない。もちろん、ここで記載されるシステム、方法等を記載する目的のためには、構成要素又は方法論の、あらゆる想定可能な組み合わせを記載することは不可能である。さらなる優位性及び改変は、当業者には明らかであろう。したがって本発明は、図示され、説明された、具体的な詳細、代表的な装置、及び例示的な例には限定されない。よって本願は、添付の特許請求の範囲の範囲に入る変更、改変、及びバリエーションを包含するように意図される。さらに、上の記載は、本発明の範囲を限定するようには意図されない。むしろ本発明の範囲は、添付の特許請求の範囲及びそれらの等価物によって決定されるべきである。

Claims (20)

  1. サンプラ、変換器、エネルギーストリーマー、エネルギーハッシャー、及び非一時的記憶媒体を備えたシステムにオーディオフィンガープリントを採取させるコンピュータソフトウェアによる情報を処理する方法であって、
    前記サンプラによって、1片のオーディオのオーディオサンプルを得ることであって、前記オーディオサンプルのそれぞれは、特定の時刻に対応する、オーディオサンプルを得ること、
    前記変換器によって、前記オーディオサンプルの周波数表現を生成することであって、前記周波数表現は、周波数帯域に分割されている、周波数表現を生成すること、
    前記エネルギーストリーマーによって、前記周波数帯域においてエネルギー領域を特定することであって、前記エネルギー領域のそれぞれは、増加エネルギー領域及び減少エネルギー領域のうちの1つであり、増加エネルギー領域は、時間領域の開始時刻から終了時刻まででオーディオエネルギーが増加する時間領域として定義され、減少エネルギー領域は、時間領域の開始時刻から終了時刻まででオーディオエネルギーが減少する時間領域として定義される、エネルギー領域を特定すること、
    前記エネルギーハッシャーによって、時間ウィンドウ内に現れる、特定されたエネルギー領域の部分を分析することによって、前記1片のオーディオの特徴のハッシュを生成することであって、特徴のそれぞれのハッシュは、それぞれの時間ウィンドウに現れる特定されたエネルギー領域の部分に対応し、それぞれの特徴は、それぞれの時間ウィンドウ中に現れるエネルギー領域の周波数帯域、それぞれの時間ウィンドウ中に現れるエネルギー領域が増加エネルギー領域であるか、又はそれぞれの時間ウィンドウ中に現れるエネルギー領域が減少エネルギー領域であるか、及びそれぞれの時間ウィンドウ中に現れるエネルギー領域の配置を表す情報をエンコードする数値として定義され、それぞれの時間ウィンドウ中に現れるエネルギー領域の配置は、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ後で終了するか、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ中で終了するか、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ後で終了するか、及び
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ中で終了するか
    のうちの1つに対応する、特徴のハッシュを生成すること、及び
    前記非一時的記憶媒体によって、特徴のハッシュのそれぞれを特定の時刻と共に記憶すること
    を含む方法。
  2. 特徴のそれぞれのハッシュを、特徴のMinHash表現又はMinHash値に変換すること、及び
    前記MinHash値を特定の時刻と共に記憶すること
    を含む、請求項1に記載の方法。
  3. 特徴のそれぞれのハッシュを、100個のMinHash値を有する、特徴のMinHash表現に変換すること、
    前記100個のMinHash値をシャードサイズ5でシャードすることによって、5個のMinHashシャード値の20個のロウ又はグループを得ること、
    ロウ又はグループ内の前記5個のMinHashシャード値を64ビットの数に組み合わせることによって、20個の64ビットの数を有するフィンガープリントハッシュを得ること、及び
    前記フィンガープリントハッシュを特定の時刻と共に記憶すること
    を含む、請求項1に記載の方法。
  4. 前記1片のオーディオの前記オーディオサンプルを得ることは、
    前記1片のオーディオを、4096個のサンプルのサンプリングウィンドウサイズ及び31/32のウィンドウオーバーラップを用いて8kHzでサンプリングすることを含む
    請求項1に記載の方法。
  5. 前記周波数帯域は、200Hzから始まる第1周波数帯域から3300Hzで終わる第44周波数帯域までの範囲にわたる44個の周波数帯域を含む、請求項1に記載の方法。
  6. 前記周波数帯域は、200Hzから始まる第1周波数帯域から3300Hzで終わる第44周波数帯域まで、帯域幅が対数的に減少する、44個の周波数帯域を含む、請求項1に記載の方法。
  7. 前記時間ウィンドウのそれぞれは、1000ミリ秒のウィンドウサイズ及び950ミリ秒のウィンドウオーバーラップを有する、請求項1に記載の方法。
  8. オーディオフィンガープリントを採取するシステムであって、
    1片のオーディオのオーディオサンプルを得るよう構成されたサンプラであって、前記オーディオサンプルのそれぞれは、特定の時刻に対応する、サンプラ、
    前記オーディオサンプルを、前記オーディオサンプルの周波数表現に変換するよう構成された変換器であって、前記周波数表現は、周波数帯域に分割されている、変換器、
    前記周波数帯域においてエネルギー領域を特定するよう構成されたエネルギーストリーマーであって、前記エネルギー領域のそれぞれは、増加エネルギー領域及び減少エネルギー領域のうちの1つであり、増加エネルギー領域は、時間領域の開始時刻から終了時刻まででオーディオエネルギーが増加する時間領域として定義され、減少エネルギー領域は、時間領域の開始時刻から終了時刻まででオーディオエネルギーが減少する時間領域として定義される、エネルギーストリーマー、
    時間ウィンドウ内に現れる、特定されたエネルギー領域の部分を分析することによって、前記1片のオーディオの特徴のハッシュを生成するよう構成されたエネルギーハッシャーであって、特徴のそれぞれのハッシュは、それぞれの時間ウィンドウに現れる特定されたエネルギー領域の部分に対応し、それぞれの特徴は、それぞれの時間ウィンドウ中に現れるエネルギー領域の周波数帯域、それぞれの時間ウィンドウ中に現れるエネルギー領域が増加エネルギー領域であるか、又はそれぞれの時間ウィンドウ中に現れるエネルギー領域が減少エネルギー領域であるか、及びそれぞれの時間ウィンドウ中に現れるエネルギー領域の配置を表す情報をエンコードする数値として定義され、それぞれの時間ウィンドウ中に現れるエネルギー領域の配置は、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ後で終了するか、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ中で終了するか、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ後で終了するか、及び
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ中で終了するか
    のうちの1つに対応する、エネルギーハッシャー、及び
    特徴のハッシュのそれぞれを特定の時刻と共に記憶するよう構成された非一時的記憶媒体
    を備えるシステム。
  9. 特徴のそれぞれのハッシュを、特徴のMinHash表現又はMinHash値に変換するよう構成されたMinHashハッシャー
    を備え、
    前記非一時的記憶媒体は、前記MinHash値を特定の時刻と共に記憶するよう構成され
    求項8に記載のシステム。
  10. 特徴のそれぞれのハッシュを、100個のMinHash値を有する、特徴のMinHash表現に変換するよう構成されたMinHashハッシャー、
    前記100個のMinHash値をシャードサイズ5でシャードすることによって、5個のMinHashシャード値の20個のロウ又はグループを得るよう構成されたシャーダ、及び
    ロウ又はグループ内の前記5個のMinHashシャード値を64ビットの数に組み合わせることによって、20個の64ビットの数を有するフィンガープリントハッシュを得るよう構成されたコンバイナ
    を備え、
    前記非一時的記憶媒体は、前記フィンガープリントハッシュを特定の時刻と共に記憶する
    を備える、請求項8に記載のシステム。
  11. 前記1片のオーディオを、4096個のサンプルのサンプリングウィンドウサイズ及び31/32のウィンドウオーバーラップを用いて8kHzでサンプリングすることによって、前記1片のオーディオの前記オーディオサンプルを得るよう構成されたサンプラを備える請求項8に記載のシステム。
  12. 前記周波数帯域は、200Hzから始まる第1周波数帯域から3300Hzで終わる第44周波数帯域までの範囲にわたる44個の周波数帯域を含む、請求項8に記載のシステム。
  13. 前記周波数帯域は、200Hzから始まる第1周波数帯域から3300Hzで終わる第44周波数帯域まで、帯域幅が対数的に減少する、44個の周波数帯域を含む、請求項8に記載のシステム。
  14. 前記時間ウィンドウのそれぞれは、1000ミリ秒のウィンドウサイズ及び950ミリ秒のウィンドウオーバーラップを有する、請求項8に記載のシステム。
  15. オーディオフィンガープリントを採取する装置であって、
    プロセッサ、及び
    非一時的記憶媒体
    を備え、
    前記プロセッサは、1片のオーディオのオーディオサンプルを受け取り、前記オーディオサンプルを処理し、前記処理されたオーディオサンプルを、前記非一時的記憶媒体に記憶された、処理されたオーディオサンプルと比較することによって、前記1片のオーディオの特定又は同期のうちの少なくとも1つを行うよう構成され、前記オーディオサンプルのそれぞれは、特定の時刻に対応し、
    前記プロセッサは、
    前記オーディオサンプルを、前記オーディオサンプルの周波数表現に変換することであって、前記周波数表現は、周波数帯域に分割されている、周波数表現に変換すること、
    前記周波数帯域においてエネルギー領域を特定することであって、前記エネルギー領域のそれぞれは、増加エネルギー領域及び減少エネルギー領域のうちの1つであり、増加エネルギー領域は、時間領域の開始時刻から終了時刻まででオーディオエネルギーが増加する時間領域として定義され、減少エネルギー領域は、時間領域の開始時刻から終了時刻まででオーディオエネルギーが減少する時間領域として定義される、エネルギー領域を特定すること、
    時間ウィンドウ内に現れる、特定されたエネルギー領域の部分を分析することによって、前記1片のオーディオの特徴のハッシュを生成することであって、特徴のそれぞれのハッシュは、それぞれの時間ウィンドウに現れる特定されたエネルギー領域の部分に対応し、それぞれの特徴は、それぞれの時間ウィンドウ中に現れるエネルギー領域の周波数帯域、それぞれの時間ウィンドウ中に現れるエネルギー領域が増加エネルギー領域であるか、又はそれぞれの時間ウィンドウ中に現れるエネルギー領域が減少エネルギー領域であるか、及びそれぞれの時間ウィンドウ中に現れるエネルギー領域の配置を表す情報をエンコードする数値として定義され、それぞれの時間ウィンドウ中に現れるエネルギー領域の配置は、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ後で終了するか、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの前で開始し、かつ中で終了するか、
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ後で終了するか、及び
    それぞれの時間ウィンドウ中に現れるエネルギー領域は、それぞれの時間ウィンドウの中で開始し、かつ中で終了するか
    のうちの1つに対応する、特徴のハッシュを生成すること
    によって、前記オーディオサンプルを処理するよう構成される
    装置。
  16. 前記プロセッサは、特徴のそれぞれのハッシュを、特徴のMinHash表現又はMinHash値に変換するよう構成され、
    前記非一時的記憶媒体は、前記MinHash値及び特定の時刻を記憶するよう構成される
    請求項15に記載の装置。
  17. 前記プロセッサは、
    特徴のそれぞれのハッシュを、100個のMinHash値を有する、特徴のMinHash表現に変換し、
    前記100個のMinHash値をシャードサイズ5でシャードすることによって、5個のMinHashシャード値の20個のロウ又はグループを得て、
    ロウ又はグループ内の前記5個のMinHashシャード値を64ビットの数に組み合わせることによって、20個の64ビットの数を有するフィンガープリントハッシュを得るよう構成され、
    前記非一時的記憶媒体は、前記フィンガープリントハッシュ及び特定の時刻を記憶するよう構成される
    請求項15に記載の装置。
  18. 前記プロセッサは、
    前記1片のオーディオを、4096個のサンプルのサンプリングウィンドウサイズ及び31/32のウィンドウオーバーラップを用いて8kHzでサンプリングすることによって、前記1片のオーディオの前記オーディオサンプルを得るよう構成される
    請求項15に記載の装置。
  19. 前記周波数帯域は、200Hzから始まる第1周波数帯域から3300Hzで終わる第44周波数帯域までの範囲にわたる44個の周波数帯域を含む、請求項15に記載の装置。
  20. 前記周波数帯域は、200Hzから始まる第1周波数帯域から3300Hzで終わる第44周波数帯域まで、帯域幅が対数的に減少する、44個の周波数帯域を含む、請求項15に記載の装置。
JP2019503808A 2016-04-08 2017-04-07 オーディオエネルギー特性に基づくオーディオフィンガープリンティング Active JP6901798B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/094,538 2016-04-08
US15/094,538 US10397663B2 (en) 2016-04-08 2016-04-08 Synchronizing ancillary data to content including audio
PCT/IB2017/052031 WO2017175197A1 (en) 2016-04-08 2017-04-07 Audio fingerprinting based on audio energy characteristics

Publications (2)

Publication Number Publication Date
JP2019519869A JP2019519869A (ja) 2019-07-11
JP6901798B2 true JP6901798B2 (ja) 2021-07-14

Family

ID=58632628

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2019503809A Pending JP2019518248A (ja) 2016-04-08 2017-04-07 オーディオを含むコンテンツに対する補助データの同期化
JP2019503808A Active JP6901798B2 (ja) 2016-04-08 2017-04-07 オーディオエネルギー特性に基づくオーディオフィンガープリンティング
JP2019503645A Pending JP2019520011A (ja) 2016-04-08 2017-04-10 メディア環境駆動型コンテンツ配信プラットフォーム
JP2022069192A Active JP7442211B2 (ja) 2016-04-08 2022-04-20 オーディオを含むコンテンツに対する補助データの同期化
JP2022119360A Ceased JP2022160519A (ja) 2016-04-08 2022-07-27 メディア環境駆動型コンテンツ配信プラットフォーム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019503809A Pending JP2019518248A (ja) 2016-04-08 2017-04-07 オーディオを含むコンテンツに対する補助データの同期化

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2019503645A Pending JP2019520011A (ja) 2016-04-08 2017-04-10 メディア環境駆動型コンテンツ配信プラットフォーム
JP2022069192A Active JP7442211B2 (ja) 2016-04-08 2022-04-20 オーディオを含むコンテンツに対する補助データの同期化
JP2022119360A Ceased JP2022160519A (ja) 2016-04-08 2022-07-27 メディア環境駆動型コンテンツ配信プラットフォーム

Country Status (9)

Country Link
US (3) US10397663B2 (ja)
EP (5) EP4009647A1 (ja)
JP (5) JP2019518248A (ja)
KR (4) KR102390142B1 (ja)
CN (4) CN109644283B (ja)
AU (7) AU2017247045B2 (ja)
CA (3) CA3020065C (ja)
ES (1) ES2856123T3 (ja)
WO (3) WO2017175197A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032580B2 (en) 2017-12-18 2021-06-08 Dish Network L.L.C. Systems and methods for facilitating a personalized viewing experience
US20190208236A1 (en) * 2018-01-02 2019-07-04 Source Digital, Inc. Coordinates as ancillary data
JP7071508B2 (ja) 2018-01-07 2022-05-19 グレースノート インコーポレイテッド 音量調整のための方法、コンピュータ可読記憶媒体及び装置
US10365885B1 (en) * 2018-02-21 2019-07-30 Sling Media Pvt. Ltd. Systems and methods for composition of audio content from multi-object audio
FR3085785B1 (fr) 2018-09-07 2021-05-14 Gracenote Inc Procedes et appareil pour generer une empreinte numerique d'un signal audio par voie de normalisation
KR20200142787A (ko) * 2019-06-13 2020-12-23 네이버 주식회사 멀티미디어 신호 인식을 위한 전자 장치 및 그의 동작 방법
US12032628B2 (en) 2019-11-26 2024-07-09 Gracenote, Inc. Methods and apparatus to fingerprint an audio signal via exponential normalization
US11798577B2 (en) 2021-03-04 2023-10-24 Gracenote, Inc. Methods and apparatus to fingerprint an audio signal
CN120730095B (zh) * 2025-08-19 2025-12-05 杭州华数智屏信息技术有限公司 基于多模态感知与智能体决策的ott内容运营优化方法

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2837815B2 (ja) 1994-02-03 1998-12-16 インターナショナル・ビジネス・マシーンズ・コーポレイション 対話型ルール・ベース・コンピュータ・システム
US20020056136A1 (en) 1995-09-29 2002-05-09 Wistendahl Douglass A. System for converting existing TV content to interactive TV programs operated with a standard remote control and TV set-top box
JP2002504787A (ja) * 1998-02-20 2002-02-12 トムソン ライセンシング ソシエテ アノニム プログラムガイドを形成し、区分し、処理するためのシステム
US6433835B1 (en) 1998-04-17 2002-08-13 Encamera Sciences Corporation Expanded information capacity for existing communication transmission systems
US6573942B1 (en) 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
US7188353B1 (en) 1999-04-06 2007-03-06 Sharp Laboratories Of America, Inc. System for presenting synchronized HTML documents in digital television receivers
US20010003212A1 (en) * 1999-10-29 2001-06-07 Jerilyn L. Marler Identifying ancillary information associated with an audio/video program
WO2007130681A2 (en) 2006-05-05 2007-11-15 Sony Computer Entertainment America Inc. Advertisement rotation
CA2483104C (en) * 2002-04-25 2011-06-21 Shazam Entertainment, Ltd. Robust and invariant audio pattern matching
CN1820511A (zh) * 2003-07-11 2006-08-16 皇家飞利浦电子股份有限公司 用于生成并探测多媒体信号中起到触发标记作用的指纹的方法和设备
DE102004036154B3 (de) * 2004-07-26 2005-12-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur robusten Klassifizierung von Audiosignalen sowie Verfahren zu Einrichtung und Betrieb einer Audiosignal-Datenbank sowie Computer-Programm
US9635312B2 (en) * 2004-09-27 2017-04-25 Soundstreak, Llc Method and apparatus for remote voice-over or music production and management
EP1978480A3 (en) 2005-07-22 2011-09-07 Kangaroo Media, Inc. System and methods for enhancing the experience of spectators atttending a live sporting event
US7516074B2 (en) * 2005-09-01 2009-04-07 Auditude, Inc. Extraction and matching of characteristic fingerprints from audio signals
EP1941423A4 (en) * 2005-09-16 2010-06-30 Flixor Inc CUSTOMIZING A VIDEO
JP2008005265A (ja) * 2006-06-23 2008-01-10 Matsushita Electric Ind Co Ltd メタデータ生成装置
US9526995B2 (en) 2006-11-22 2016-12-27 Sony Interactive Entertainment America Llc Video game recording and playback with visual display of game controller manipulation
US10580459B2 (en) * 2007-08-23 2020-03-03 Sony Interactive Entertainment America Llc Dynamic media interaction using time-based metadata
US8295363B2 (en) * 2007-09-14 2012-10-23 Yahoo! Inc. Restoring program information for clips of broadcast programs shared online
WO2009128904A1 (en) * 2008-04-14 2009-10-22 Thomson Licensing Method and apparatus for associating metadata with content for live production
RU2621965C2 (ru) * 2008-07-11 2017-06-08 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Передатчик сигнала активации с деформацией по времени, кодер звукового сигнала, способ преобразования сигнала активации с деформацией по времени, способ кодирования звукового сигнала и компьютерные программы
US20100205628A1 (en) * 2009-02-12 2010-08-12 Davis Bruce L Media processing methods and arrangements
CA3008502C (en) * 2009-05-01 2020-11-10 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content
US8489774B2 (en) 2009-05-27 2013-07-16 Spot411 Technologies, Inc. Synchronized delivery of interactive content
CN101594527B (zh) * 2009-06-30 2011-01-05 成都艾索语音技术有限公司 从音频视频流中高精度检测模板的两阶段方法
US20110063503A1 (en) 2009-07-06 2011-03-17 Brand Steven M Synchronizing secondary content to a multimedia presentation
US20160182971A1 (en) * 2009-12-31 2016-06-23 Flickintel, Llc Method, system and computer program product for obtaining and displaying supplemental data about a displayed movie, show, event or video game
CN102137332B (zh) * 2010-01-26 2016-03-02 中兴通讯股份有限公司 一种广播下发辅助定位数据的方法及系统
US8713604B2 (en) 2010-06-23 2014-04-29 Echostar Technologies L.L.C. Systems and methods for processing supplemental information associated with media programming
US8424037B2 (en) * 2010-06-29 2013-04-16 Echostar Technologies L.L.C. Apparatus, systems and methods for accessing and synchronizing presentation of media content and supplemental media rich content in response to selection of a presented object
US9071885B2 (en) 2010-08-18 2015-06-30 Demand Media, Inc. Systems, methods, and machine-readable storage media for presenting animations overlying multimedia files
US8380334B2 (en) 2010-09-07 2013-02-19 Linear Acoustic, Inc. Carrying auxiliary data within audio signals
US9093120B2 (en) * 2011-02-10 2015-07-28 Yahoo! Inc. Audio fingerprint extraction by scaling in time and resampling
US9075806B2 (en) 2011-02-22 2015-07-07 Dolby Laboratories Licensing Corporation Alignment and re-association of metadata for media streams within a computing device
JP5544395B2 (ja) 2011-05-19 2014-07-09 日本放送協会 受信機
US20130151970A1 (en) 2011-06-03 2013-06-13 Maha Achour System and Methods for Distributed Multimedia Production
CN102214219B (zh) * 2011-06-07 2013-04-17 盛乐信息技术(上海)有限公司 音视频内容检索系统及其方法
US9762967B2 (en) * 2011-06-14 2017-09-12 Comcast Cable Communications, Llc System and method for presenting content with time based metadata
US8667539B2 (en) 2011-08-03 2014-03-04 Symbol Shifters, LLC System for scanable icon detection and management
WO2013029838A1 (en) 2011-08-29 2013-03-07 Telefonica, S.A. A method to generate audio fingerprints
US8949872B2 (en) 2011-12-20 2015-02-03 Yahoo! Inc. Audio fingerprint for content identification
US20130178966A1 (en) 2012-01-09 2013-07-11 Function(x), Inc. Method and System for Identifying a Media Program From an Audio Signal Associated With the Media Program
US9258380B2 (en) * 2012-03-02 2016-02-09 Realtek Semiconductor Corp. Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product
JP2013183327A (ja) 2012-03-02 2013-09-12 Yamaha Corp コンテンツ提供システム、コンテンツ提供方法、および、コンテンツ編集装置
CN104160682A (zh) * 2012-03-10 2014-11-19 海德沃特合作Ii有限公司 内容代理协助内容分发
US9583147B2 (en) 2012-03-26 2017-02-28 Max Abecassis Second screen shopping function
US8681950B2 (en) 2012-03-28 2014-03-25 Interactive Intelligence, Inc. System and method for fingerprinting datasets
US9374374B2 (en) 2012-06-19 2016-06-21 SecureMySocial, Inc. Systems and methods for securing social media for users and businesses and rewarding for enhancing security
EP2765787B1 (en) * 2013-02-07 2019-12-11 Sennheiser Communications A/S A method of reducing un-correlated noise in an audio processing device
US20150348538A1 (en) * 2013-03-14 2015-12-03 Aliphcom Speech summary and action item generation
US10212490B2 (en) * 2013-03-15 2019-02-19 DISH Technologies L.L.C. Pre-distribution identification of broadcast television content using audio fingerprints
FR3006525B1 (fr) 2013-06-04 2016-10-14 Visiware Synchronisation de contenus multimedia sur deuxieme ecran
CN104347068B (zh) 2013-08-08 2020-05-22 索尼公司 音频信号处理装置和方法以及监控系统
JP6327035B2 (ja) 2013-08-12 2018-05-23 大日本印刷株式会社 照明装置、投射装置、レンズアレイおよび光学モジュール
US9275427B1 (en) 2013-09-05 2016-03-01 Google Inc. Multi-channel audio video fingerprinting
US9286902B2 (en) * 2013-12-16 2016-03-15 Gracenote, Inc. Audio fingerprinting
US9456237B2 (en) * 2013-12-31 2016-09-27 Google Inc. Methods, systems, and media for presenting supplemental information corresponding to on-demand media content
KR20150116191A (ko) * 2014-04-07 2015-10-15 이현무 핑거프린트 데이터를 기반으로 자막데이터를 출력하는 방송용 자막 송출 장치
US10074374B2 (en) 2014-04-07 2018-09-11 Barco N.V. Ad hoc one-time pairing of remote devices using online audio fingerprinting
US20150319506A1 (en) * 2014-04-30 2015-11-05 Netflix, Inc. Displaying data associated with a program based on automatic recognition
US9548894B2 (en) 2014-06-06 2017-01-17 Yokogawa Electric Corporation Proximity based cross-screen experience App framework for use between an industrial automation console server and smart mobile devices
US9641892B2 (en) * 2014-07-15 2017-05-02 The Nielsen Company (Us), Llc Frequency band selection and processing techniques for media source detection
CA2923532C (en) 2014-07-18 2023-06-27 Sony Corporation Transmission device, transmission method, reception device, and reception method
US9948997B2 (en) 2015-02-25 2018-04-17 Excalibur Ip, Llc Providing interactivity options for television broadcast content
CN106558318B (zh) * 2015-09-24 2020-04-28 阿里巴巴集团控股有限公司 音频识别方法和系统

Also Published As

Publication number Publication date
CN114979722A (zh) 2022-08-30
US10715879B2 (en) 2020-07-14
AU2017247046B2 (en) 2022-03-03
KR20180133893A (ko) 2018-12-17
KR20180135464A (ko) 2018-12-20
CN109644291A (zh) 2019-04-16
EP4009647A1 (en) 2022-06-08
US10397663B2 (en) 2019-08-27
US20170295394A1 (en) 2017-10-12
JP2022160519A (ja) 2022-10-19
KR102390142B1 (ko) 2022-04-25
KR20180133894A (ko) 2018-12-17
CN109644283B (zh) 2021-07-30
CA3020176C (en) 2024-04-02
CN109644291B (zh) 2023-02-28
CN109644283A (zh) 2019-04-16
AU2017248397B2 (en) 2022-02-24
JP2019518248A (ja) 2019-06-27
EP3440564A1 (en) 2019-02-13
EP3440840A1 (en) 2019-02-13
CA3020065A1 (en) 2017-10-12
CN109565618A (zh) 2019-04-02
AU2017247045A1 (en) 2018-11-22
AU2022200820A1 (en) 2022-02-24
KR102313991B1 (ko) 2021-10-18
JP2019520011A (ja) 2019-07-11
WO2017175197A1 (en) 2017-10-12
KR20210128501A (ko) 2021-10-26
JP2019519869A (ja) 2019-07-11
ES2856123T3 (es) 2021-09-27
WO2017177232A1 (en) 2017-10-12
JP2022095945A (ja) 2022-06-28
AU2017247046A1 (en) 2018-11-22
AU2023278105A1 (en) 2024-01-04
CA3020176A1 (en) 2017-10-12
KR102308651B1 (ko) 2021-10-05
EP3440564B1 (en) 2021-01-13
CA3020064A1 (en) 2017-10-12
AU2017248397A1 (en) 2018-11-22
CN109565618B (zh) 2022-05-31
KR102304197B1 (ko) 2021-09-24
US12003830B2 (en) 2024-06-04
CA3020065C (en) 2024-06-04
JP7442211B2 (ja) 2024-03-04
US20230071225A1 (en) 2023-03-09
EP3440841A1 (en) 2019-02-13
AU2017247045B2 (en) 2021-10-07
US20170295412A1 (en) 2017-10-12
EP4016528A3 (en) 2022-10-12
AU2025252546A1 (en) 2025-11-06
AU2022200821A1 (en) 2022-02-24
EP4016528A2 (en) 2022-06-22
WO2017175198A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
JP6901798B2 (ja) オーディオエネルギー特性に基づくオーディオフィンガープリンティング
US10540993B2 (en) Audio fingerprinting based on audio energy characteristics
US10210884B2 (en) Systems and methods facilitating selective removal of content from a mixed audio recording
CN107534800B (zh) 用于连续介质片段识别的系统和方法
US8699862B1 (en) Synchronized content playback related to content recognition
US20190373311A1 (en) Media Content Identification on Mobile Devices
CN103403710B (zh) 对来自音频信号的特征指纹的提取和匹配
JP5907511B2 (ja) オーディオメディア認識のためのシステム及び方法
US20160179831A1 (en) Systems and methods for textual content creation from sources of audio that contain speech
US20140161263A1 (en) Facilitating recognition of real-time content
US9275427B1 (en) Multi-channel audio video fingerprinting
US11140439B2 (en) Media content identification on mobile devices
KR20120064582A (ko) 멀티미디어 컨텐츠 검색 방법 및 장치
US9570109B2 (en) Method and system for matching audio and video
US9224385B1 (en) Unified recognition of speech and music
WO2014117542A1 (en) Method and device for audio recognition
JP2006501498A (ja) 指紋抽出
KR102614021B1 (ko) 오디오 컨텐츠 인식 방법 및 장치
CN106098081B (zh) 声音文件的音质识别方法及装置
US10141010B1 (en) Automatic censoring of objectionable song lyrics in audio
CN108307250A (zh) 一种生成视频摘要的方法及装置
Wang et al. Audio fingerprint based on spectral flux for audio retrieval
Kim et al. Robust audio fingerprinting method using prominent peak pair based on modulated complex lapped transform
BR112017011522B1 (pt) Método implementado por computador
HK1248943B (zh) 用於连续介质片段识别的系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210611

R150 Certificate of patent or registration of utility model

Ref document number: 6901798

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250