(57)【要約】  自動コンテンツ認識のためのフレーム確実性メトリック（３４０）の方法は、放送メディアストリーム（Ｓ）の放送フレーム（Ｆ1-n）に対して、メディアデバイスストリーム（Ｓ）のメディアデバイスフレーム（ＦD1-n）間のフレームの一致（３１０）を判定することと、第１のメディアデバイスフィンガープリント（２２２ｂ）と標的放送フィンガープリント（２２２TB）とに基づいて第１のフレーム確実性メトリックを決定することと、第１のメディアデバイスフィンガープリントの隣に続く第２のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて第２のフレーム確実性メトリックを決定することと、第１のメディアデバイスフィンガープリントの隣に続く第３のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて第３のフレーム確実性メトリックを決定することと、最大フレーム確実性メトリックとを決定することによって、フレームの一致をシフトさせるか否かを判定することとを含む。方法は、標的放送フィンガープリントに一致する標的メディアデバイスフィンガープリント（２２２TM）として、最大フレーム確実性メトリックを識別することをさらに含む。【選択図】図１Ａ
2020511880.tif 000002
【特許請求の範囲】
【請求項１】
データ処理ハードウェア（６１０）で、放送メディアストリーム（Ｓ）の放送フレーム（Ｆ1-n）を示す放送フィンガープリント（２２２ａ）を受信することと、
前記データ処理ハードウェア（６１０）で、対応するメディアデバイス（３０）のメディアデバイスストリーム（Ｓ）のメディアデバイスフレーム（ＦD1-n）を示すメディアデバイスフィンガープリント（２２２ｂ）を受信することと、
前記データ処理ハードウェア（６１０）が、前記放送メディアストリーム（Ｓ）の前記放送フレーム（Ｆ1-n）に対して、前記メディアデバイスストリーム（Ｓ）の前記メディアデバイスフレーム（ＦD1-n）間のフレームの一致（３１０）を判定することと、
前記データ処理ハードウェア（６１０）が、
第１のメディアデバイスフィンガープリント（２２２ｂ1）と標的放送フィンガープリント（２２２TB）とに基づいて、第１のフレーム確実性メトリック（３４０1）を決定することと、
前記第１のメディアデバイスフィンガープリント（２２２ｂ1）の隣に続く第２のメディアデバイスフィンガープリント（２２２ｂ2）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第２のフレーム確実性メトリック（３４０2）を決定することと、
前記第２のメディアデバイスフィンガープリント（２２２ｂ2）の反対側で前記第１のメディアデバイスフィンガープリント（２２２ｂ1）の隣に続く第３のメディアデバイスフィンガープリント（２２２ｂ3）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第３のフレーム確実性メトリック（３４０3）を決定することであって、各フレーム確実性メトリック（３４０）は、前記対応するフィンガープリント（２２２）間の一致の品質を示す、前記第３のフレーム確実性メトリック（３４０3）を決定することと、
前記第１のフレーム確実性メトリック（３４０1）、前記第２のフレーム確実性メトリック（３４０2）、及び、前記第３のフレーム確実性メトリック（３４０3）のうちの最大フレーム確実性メトリックを決定することと、
によって、前記フレームの一致（３１０）をシフトさせるか否かを判定することと、
前記データ処理ハードウェア（６１０）が、前記最大フレーム確実性メトリックに対応する前記メディアデバイスフィンガープリント（２２２ｂ）を、前記標的放送フィンガープリント（２２２TB）に一致する標的メディアデバイスフィンガープリント（２２２TM）として識別することと、
を含む、方法。
【請求項２】
前記データ処理ハードウェア（６１０）によって、前記メディアデバイスフィンガープリント（２２２ｂ）が前記標的メディアデバイスフィンガープリント（２２２TM）に対応するか否かを判定することと、
前記メディアデバイスフィンガープリント（２２２ｂ）が、前記標的メディアデバイスフィンガープリント（２２２TM）に対応する時、
前記標的メディアデバイスフィンガープリント（２２２TM）の前記フレーム確実性メトリック（３４０）を前記標的フレーム確実性メトリック（３４０T）として識別することと、
前記標的メディアデバイスフィンガープリント（２２２TM）の隣に続く第４のメディアデバイスフィンガープリント（２２２ｂ4）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第４のフレーム確実性メトリック（３４０4）を決定することと、
前記第４のメディアデバイスフィンガープリント（２２２ｂ4）の反対側で前記標的メディアデバイスフィンガープリント（２２２TM）の隣に続く第５のメディアデバイスフィンガープリント（２２２ｂ5）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第５のフレーム確実性メトリック（３４０5）を決定することと、
前記標的フレーム確実性メトリック（３４０T）、前記第４のフレーム確実性メトリック（３４０4）、及び、前記第５のフレーム確実性メトリック（３４０5）のうちの前記最大フレーム確実性メトリックを決定することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記フレーム確実性メトリック（３４０）は、複数の確実性レベルを有する、請求項１または２のいずれかに記載の方法。
【請求項４】
前記第１のフレーム確実性メトリック（３４０1）、前記第２のフレーム確実性メトリック（３４０2）、及び、前記第３のフレーム確実性メトリック（３４０3）のうちの前記最大フレーム確実性メトリックが、第１の確実性レベルを識別する、請求項２に記載の方法。
【請求項５】
前記標的フレーム確実性メトリック（３４０T）、前記第４のフレーム確実性メトリック（３４０4）、及び、前記第５のフレーム確実性メトリック（３４０5）のうちの前記最大フレーム確実性メトリックが、第２の確実性レベルを識別する、請求項４に記載の方法。
【請求項６】
前記データ処理ハードウェア（６１０）によって、前記最大フレーム確実性メトリックがフレーム確実性メトリック閾値（３４０TH）を満たすか否かを判定することをさらに含む、請求項１から５のいずれかに記載の方法。
【請求項７】
前記最大フレーム確実性メトリックが前記フレーム確実性メトリック閾値（３４０TH）を満たす時、前記データ処理ハードウェア（６１０）によって、前記標的放送フィンガープリント（２２２TB）に対応するフレーム位置を、前記標的メディアデバイスフィンガープリント（２２２TM）に対応するメディアデバイスフレーム（ＦD1-n）に関連付けることをさらに含む、請求項６に記載の方法。
【請求項８】
前記データ処理ハードウェア（６１０）が、前記標的メディアデバイスフィンガープリント（２２２TM）に対応する前記メディアデバイスフレーム（ＦD1-n）の前記フレーム位置に基づいて、広告差し替えを命令することをさらに含む、請求項７に記載の方法。
【請求項９】
前記フレームの一致（３１０）を判定することは、前記放送デバイスフィンガープリント（２２２ａ）に対して、前記メディアデバイスフィンガープリント（２２２ｂ）間の前記フレームの一致（３１０）を判定することをさらに含む、請求項１から８のいずれかに記載の方法。
【請求項１０】
前記メディアデバイス（３０）は、メディアデバイススフレームレート（ＲMD）を有し、前記放送メディアストリーム（Ｓ）は、放送フレームレート（ＲB）を有し、前記メディアデバイススフレームレート（ＲMD）は、前記放送フレームレート（ＲB）未満である、請求項１から９のいずれかに記載の方法。
【請求項１１】
データ処理ハードウェア（６１０）と、
前記データ処理ハードウェア（６１０）と通信するメモリハードウェア（６２０）と、
を含むシステムであって、前記メモリハードウェア（６２０）は、前記データ処理ハードウェア（６１０）で実行されると、前記データ処理ハードウェア（６１０）に動作を実行させる命令を記憶し、前記動作は、
対応するメディアデバイス（３０）のメディアデバイスストリーム（Ｓ）のメディアデバイスフレーム（ＦD1-n）を示すメディアデバイスフィンガープリント（２２２ｂ）を受信することと、
前記放送メディアストリーム（Ｓ）の前記放送フレーム（Ｆ1-n）に対して、前記メディアデバイスストリーム（Ｓ）の前記メディアデバイスフレーム（ＦD1-n）間のフレームの一致（３１０）を判定することと、
第１のメディアデバイスフィンガープリント（２２２ｂ1）と標的放送フィンガープリント（２２２TB）とに基づいて、第１のフレーム確実性メトリック（３４０1）を決定することと、
前記第１のメディアデバイスフィンガープリント（２２２ｂ1）の隣に続く第２のメディアデバイスフィンガープリント（２２２ｂ2）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第２のフレーム確実性メトリック（３４０2）を決定することと、
前記第２のメディアデバイスフィンガープリント（２２２ｂ2）の反対側で前記第１のメディアデバイスフィンガープリント（２２２ｂ1）の隣に続く第３のメディアデバイスフィンガープリント（２２２ｂ3）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第３のフレーム確実性メトリック（３４０3）を決定することであって、各フレーム確実性メトリック（３４０）は、前記対応するフィンガープリント（２２２）間の一致の品質を示す、第３のフレーム確実性メトリック（３４０3）を決定することと、
前記第１のフレーム確実性メトリック（３４０1）、前記第２のフレーム確実性メトリック（３４０2）、及び、前記第３のフレーム確実性メトリック（３４０3）のうちの最大フレーム確実性メトリックを決定することと、
によって、前記フレームの一致（３１０）をシフトさせるか否かを判定することと、
前記最大フレーム確実性メトリックに対応する前記メディアデバイスフィンガープリント（２２２ｂ）を、前記標的放送フィンガープリント（２２２TB）に一致する標的メディアデバイスフィンガープリント（２２２TM）として識別することと、
を含む、前記システム。
【請求項１２】
前記動作は、
前記メディアデバイスフィンガープリント（２２２ｂ）が前記標的メディアデバイスフィンガープリント（２２２TM）に対応するか否かを判定することと、
前記メディアデバイスフィンガープリント（２２２ｂ）が前記標的メディアデバイスフィンガープリント（２２２TM）に対応する時、
前記標的メディアデバイスフィンガープリント（２２２TM）の前記フレーム確実性メトリック（３４０）を前記標的フレーム確実性メトリック（３４０T）として識別することと、
前記標的メディアデバイスフィンガープリント（２２２TM）の隣に続く第４のメディアデバイスフィンガープリント（２２２ｂ4）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第４のフレーム確実性メトリック（３４０4）を決定することと、
前記第４のメディアデバイスフィンガープリント（２２２ｂ4）の反対側で前記標的メディアデバイスフィンガープリント（２２２TM）の隣に続く第５のメディアデバイスフィンガープリント（２２２ｂ5）と前記標的放送フィンガープリント（２２２TB）とに基づいて、第５のフレーム確実性メトリック（３４０5）を決定することと、
前記標的フレーム確実性メトリック（３４０T）、前記第４のフレーム確実性メトリック（３４０4）、及び、第５のフレーム確実性メトリック（３４０5）のうちの前記最大フレーム確実性メトリックを決定することと、
をさらに含む、請求項１１に記載のシステム。
【請求項１３】
前記フレーム確実性メトリック（３４０）は、複数の確実性レベルを有する、請求項１１または１２のいずれかに記載のシステム。
【請求項１４】
前記第１のフレーム確実性メトリック（３４０1）、前記第２のフレーム確実性メトリック（３４０2）、及び、前記第３のフレーム確実性メトリック（３４０3）のうちの前記最大フレーム確実性メトリックが、第１の確実性レベルを識別する、請求項１３に記載のシステム。
【請求項１５】
前記標的フレーム確実性メトリック（３４０T）、前記第４のフレーム確実性メトリック（３４０4）、及び、前記第５のフレーム確実性メトリック（３４０5）のうちの前記最大フレーム確実性メトリックが、第２の確実性レベルを識別する、請求項１４に記載のシステム。
【請求項１６】
前記動作は、
前記最大フレーム確実性メトリックがフレーム確実性メトリック閾値（３４０TH）を満たすか否かを判定することをさらに含む、請求項１１から１５のいずれかに記載のシステム。
【請求項１７】
前記動作は、
前記最大フレーム確実性メトリックが前記フレーム確実性メトリック閾値（３４０TH）を満たす時、前記データ処理ハードウェア（６１０）によって、前記標的放送フィンガープリント（２２２TB）に対応するフレーム位置を、前記標的メディアデバイスフィンガープリント（２２２TM）に対応するメディアデバイスフレーム（ＦD1-n）に関連付けることをさらに含む、請求項１６に記載のシステム。
【請求項１８】
前記動作は、
前記標的メディアデバイスフィンガープリント（２２２TM）に対応する前記メディアデバイスフレーム（ＦD1-n）の前記フレーム位置に基づいて、広告差し替えを命令することをさらに含む、請求項１７に記載のシステム。
【請求項１９】
前記フレームの一致（３１０）を判定することは、前記放送デバイスフィンガープリント（２２２ａ）に対して、前記メディアデバイスフィンガープリント（２２２ｂ）間の前記フレームの一致（３１０）を判定することをさら含む、請求項１１から１８のいずれかに記載のシステム。
【請求項２０】
前記メディアデバイス（３０）は、メディアデバイスフレームレート（ＲMD）を有し、前記放送メディアストリーム（Ｓ）は、放送フレームレート（ＲB）を有し、前記メディアデバイスフレームレート（ＲMD）は、前記放送フレームレート（ＲB）未満である、請求項１１から１９のいずれかに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、自動コンテンツ認識のためのフレーム確実性メトリックの決定に関する。
【背景技術】
【０００２】
メディアデバイスは、今日、ますます普及し、テレビ等、家庭内の固定装置からメディア消費者と共に移動するモバイルデバイスに亘っている。テレビ、セットトップボックス、携帯電話、ラップトップ、及び、タブレット等、メディアデバイスは、様々なソースからメディアコンテンツにアクセスしてよく、メディアコンテンツを読み出してよい。例えば、メディアデバイスは、衛星、無線放送、または、有線もしくは無線接続からのストリーミングシステムを介して、メディアコンテンツを受信してよい。メディアデバイスの使用が増加し続けるにつれて、メディアコンテンツへのメディアデバイスの接続も増加した。この増加に伴って、新しいメディアコンテンツ市場が現れ、古いメディアコンテンツ市場は、文脈的に関連するメディアコンテンツを理解し、メディア消費者に提供するように適合してきた。
【発明の概要】
【０００３】
開示の一態様は、自動コンテンツ認識のためのフレーム確実性メトリックを決定する方法を提供する。方法は、データ処理ハードウェアで、放送メディアストリームの放送フレームを示す放送フィンガープリントを受信することを含む。方法は、データ処理ハードウェアで、対応するメディアデバイスのメディアデバイスストリームのメディアデバイスフレームを示すメディアデバイスフィンガープリントを受信することも含む。方法は、データ処理ハードウェアが、放送メディアストリームの放送フレームに対して、メディアデバイスストリームのメディアデバイスフレーム間のフレームの一致を判定することをさらに含む。方法は、データ処理ハードウェアが、第１のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて第１のフレーム確実性メトリックを決定することと、第１のメディアデバイスフィンガープリントの隣に続く第２のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて第２のフレーム確実性メトリックを決定することと、第２のメディアデバイスフィンガープリントの反対側で第１のメディアデバイスフィンガープリントの隣に続く第３のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて第３のフレーム確実性メトリックを決定することであって、各フレーム確実性メトリックは、対応するフィンガープリント間の一致の品質を示す、第３のフレーム確実性メトリックを決定することと、第１のフレーム確実性メトリック、第２のフレーム確実性メトリック、及び、第３のフレーム確実性メトリックのうちの最大フレーム確実性メトリックを決定することによって、フレームの一致をシフトさせるか否かを判定することを含む。方法は、データ処理ハードウェアが、最大フレーム確実性メトリックに対応するメディアデバイスフィンガープリントを標的放送フィンガープリントに一致する標的メディアデバイスフィンガープリントとして識別することをさらに含む。
【０００４】
開示の実施態様は、以下の任意選択の特徴の１つまたは複数を含んでよい。ある実施態様においては、方法は、データ処理ハードウェアによって、メディアデバイスフィンガープリントが標的メディアデバイスフィンガープリントに対応するか否かを判定することを含む。メディアデバイスフィンガープリントが標的メディアデバイスフィンガープリントに対応する時、方法は、標的メディアデバイスフィンガープリントのフレーム確実性メトリックを標的フレーム確実性メトリックとして識別することと、標的メディアデバイスフィンガープリントの隣に続く第４のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて、第４のフレーム確実性メトリックを決定することと、第４のメディアデバイスフィンガープリントの反対側で標的メディアデバイスフィンガープリントの隣に続く第５のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて、第５のフレーム確実性メトリックを決定することと、標的フレーム確実性メトリック、第４のフレーム確実性メトリック、及び、第５のフレーム確実性メトリックのうちの最大フレーム確実性メトリックを決定することとを含む。方法の様々な実施態様において、フレーム確実性メトリックは、複数の確実性レベルを有する。ある例においては、フレーム確実性メトリックが複数の確実性レベルを有する時、第１の確実性レベルは、第１のフレーム確実性メトリック、第２のフレーム確実性メトリック、及び、第３のフレーム確実性メトリックのうちの最大フレーム確実性メトリックに対応する。他の例においては、第２の確実性レベルは、標的フレーム確実性メトリック、第４のフレーム確実性メトリック、及び、第５のフレーム確実性メトリックのうちの最大フレーム確実性メトリックを識別する。
【０００５】
ある実施態様においては、方法は、データ処理ハードウェアによって、最大フレーム確実性メトリックがフレーム確実性メトリック閾値を満たすか否かを判定することをさらに含む。ある例においては、最大フレーム確実性メトリックがフレーム確実性メトリック閾値を満たす時、方法は、データ処理ハードウェアによって、標的放送フィンガープリントに対応するフレーム位置を標的メディアデバイスフィンガープリントに対応するメディアデバイスフレームに関連付けることを含む。任意選択で、方法は、データ処理ハードウェアが、標的メディアデバイスフィンガープリントに対応するメディアデバイスフレームのフレーム位置に基づいて、広告差し替えを命令することをさらに含む。
【０００６】
ある例においては、フレームの一致を決定する時、方法は、放送デバイスフィンガープリントに対して、メディアデバイスフィンガープリント間のフレームの一致を決定することをさらに含む。任意選択で、メディアデバイスがメディアデバイスフレームレートを有し、放送事業者が放送フレームレートを有する時、メディアデバイスフレームレートは、放送フレームレート未満である。
【０００７】
開示の別の態様は、自動コンテンツ認識のためのフレーム確実性メトリックを決定するシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェアで実行されると、データ処理ハードウェアに動作を行わせる命令を記憶する。動作は、放送メディアストリームの放送フレームを示す放送フィンガープリントを受信することと、対応するメディアデバイスのメディアデバイスストリームのメディアデバイスフレームを示すメディアデバイスフィンガープリントを受信することと、放送メディアストリームの放送フレームに対して、メディアデバイスストリームのメディアデバイスフレーム間のフレームの一致を判定することを含む。システムは、第１のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて、第１のフレーム確実性メトリックを決定することと、第１のメディアデバイスフィンガープリントの隣に続く第２のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて、第２のフレーム確実性メトリックを決定することと、第２のメディアデバイスフィンガープリントの反対側で第１のメディアデバイスフィンガープリントの隣に続く第３のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて、第３のフレーム確実性メトリックを決定することであって、各フレーム確実性メトリックは、対応するフィンガープリント間の一致の品質を示す、第３のフレーム確実性メトリックを決定することと、第１のフレーム確実性メトリック、第２のフレーム確実性メトリック、及び、第３のフレーム確実性メトリックのうちの最大フレーム確実性メトリックを決定することとによって、フレームの一致をシフトさせるか否かを判定することを含む。システムは、最大フレーム確実性メトリックに対応するメディアデバイスフィンガープリントを、標的放送フィンガープリントに対応する標的メディアデバイスフィンガープリントとして識別する動作をさらに含む。
【０００８】
システムの様々な実施態様において、動作は、メディアデバイスフィンガープリントが標的メディアデバイスフィンガープリントに対応するか否かを判定することをさらに含む。メディアデバイスフィンガープリントが標的メディアデバイスフィンガープリントに対応する時、システムは、標的メディアデバイスフィンガープリントのフレーム確実性メトリックを標的フレーム確実性メトリックとして識別する動作と、標的メディアデバイスフィンガープリントの隣に続く第４のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて、第４のフレーム確実性メトリックを決定する動作と、第４のメディアデバイスフィンガープリントの反対側で標的メディアデバイスフィンガープリントの隣に続く第５のメディアデバイスフィンガープリントと標的放送フィンガープリントとに基づいて、第５のフレーム確実性メトリックを決定する動作と、標的フレーム確実性メトリック、第４のフレーム確実性メトリック、及び、第５のフレーム確実性メトリックのうちの最大フレーム確実性メトリックを決定する動作とをさらに含む。方法の様々な実施態様において、フレーム確実性メトリックは、複数の確実性レベルを有する。ある例においては、フレーム確実性メトリックが複数の確実性レベルを有する時、第１の確実性レベルは、第１のフレーム確実性メトリック、第２のフレーム確実性メトリック、及び、第３のフレーム確実性メトリックのうちの最大フレーム確実性メトリックに対応する。他の例においては、第２の確実性レベルは、標的フレーム確実性メトリック、第４のフレーム確実性メトリック、及び、第５のフレーム確実性メトリックのうちの最大フレーム確実性メトリックを識別する。
【０００９】
ある例においては、システムは、最大フレーム確実性メトリックがフレーム確実性メトリック閾値を満たすか否かを判定する動作をさらに含む。ある実施態様においては、最大フレーム確実性メトリックがフレーム確実性メトリック閾値を満たす時、動作は、標的放送フィンガープリントに対応するフレーム位置を、標的メディアデバイスフィンガープリントに対応するメディアデバイスフレームに関連付けることをさらに含んでよい。任意選択で、動作は、標的メディアデバイスフィンガープリントに対応するメディアデバイスフレームのフレーム位置に基づいて、広告差し替えを命令することをさらに含む。
【００１０】
システムの動作において、フレームの一致を判定することは、放送デバイスフィンガープリントに対して、メディアデバイスフィンガープリント間のフレームの一致を判定することをさらに含む。ある例においては、メディアデバイスがメディアデバイスフレームレートを有し、放送事業者が放送フレームレートを有する時、メディアデバイスフレームレートは、放送フレームレート未満である。
【００１１】
開示の１つまたは複数の実施態様の詳細は、添付図面と以下の説明に記載する。他の態様、特徴、及び、利点は、説明、図面、及び、特許請求の範囲より明らかとなろう。
【図面の簡単な説明】
【００１２】
【図１Ａ】自動コンテンツ認識環境の例の概略図である。
【図１Ｂ】自動コンテンツ認識環境の例の概略図である。
【図２】自動コンテンツ認識環境のサーバの例の概略図である。
【図３Ａ】メディアデバイスに対応する自動コンテンツ認識モジュールの例の概略図である。
【図３Ｂ】メディアデバイスに対応する自動コンテンツ認識モジュールの例の概略図である。
【図３Ｃ】メディアデバイスに対応する自動コンテンツ認識モジュールの例の概略図である。
【図３Ｄ】メディアデバイスに対応する自動コンテンツ認識モジュールのシンクロナイザの例の概略図である。
【図３Ｅ】メディアデバイスに対応する自動コンテンツ認識モジュールのシンクロナイザの例の概略図である。
【図３Ｆ】メディアデバイスに対応する自動コンテンツ認識モジュールのシンクロナイザの例の概略図である。
【図３Ｇ】メディアデバイスに対応する自動コンテンツ認識モジュールのシンクロナイザの例の概略図である。
【図４】動的広告差し替えのシナリオの例の概略図である。
【図５】自動コンテンツ認識環境の例のフロー図である。
【図６】本明細書に記載のシステム及び方法の実施に使用されてよいコンピューティングデバイスの例の概略図である。
【発明を実施するための形態】
【００１３】
様々な図面の類似の参照記号は、類似の要素を示す。
【００１４】
一般的に、自動コンテンツ認識（ＡＣＲ）は、メディアデバイス上、または、メディアファイル内のメディアコンテンツを識別するプロセスである。ＡＣＲは、毎日、社会が消費する大量のメディアコンテンツを識別するためにますます有用になった。商業的観点からは、ＡＣＲは、企業及び他のエンティティが、メディアコンテンツ消費を理解するのを可能にし得る、また、メディアコンテンツの消費者（すなわち、メディアデバイスユーザ）に、おそらく、より有効にマーケティング、または、対象にするのを可能にし得る。例えば、広告または売買申し込みは、広告がメディアデバイスのユーザに合わせてカスタマイズされると、より有効であろう。従って、放送事業者、コマーシャル提供者、広告主、及び、他のエンティティは、どの番組が視聴されているか、または、より詳細には、ユーザが視聴中、番組のどこを見ているかを知りたい。この種の情報を用いると、メディアデバイスユーザは、より正確に要求にかなったメディアコンテンツを受信し得る。
【００１５】
図１Ａは、自動コンテンツ認識環境１０の例である。自動コンテンツ認識環境１０は、メディアデバイス３０のユーザ２０（すなわち、視聴者）にメディアコンテンツを配信するための幾つかの層を含んでよい。図１Ａは、メディアコンテンツ配信プロセスを単純化して、放送層１００、追加コンテンツ層１１０、ネットワーク層１２０、及び、デバイス層１３０の４つの層にする試みを行っている。各層１００、１１０、１２０、１３０は、メディアストリームＳに影響を与えるエンティティを有してよい。放送層１００は、放送メディアストリームＳBの作成に関与し得る放送エンティティを表す。これらの放送エンティティは、放送事業者１０２及び放送配信業者１０４を含んでよい。放送事業者１０２は、ローカル放送局、マルチチャンネルネットワーク、または、他のメディアコンテンツ所有者等、１つまたは複数のメディアコンテンツプロバイダであってよい。放送配信業者１０４は、インフラストラクチャまたはリソース（例えば、信号線、通信塔、通信アンテナ、サーバ等）を提供して、メディアコンテンツを配信する放送エンティティである。放送事業者１０２及び放送配信業者１０４は、提供されるメディアコンテンツの種類、または、メディアコンテンツを受信するメディアデバイスの種類等、ブロードキャスト変数に応じて、同じ放送エンティティであってもよく、または、異なる放送エンティティであってもよい。
【００１６】
ある実施態様においては、放送メディアストリームＳBは、追加コンテンツ層１１０として表されるコンテンツエンティティからの追加メディアコンテンツＳCを含む。これらのコンテンツエンティティは、コマーシャル提供者１１２、広告主１１４、または、追加メディアコンテンツＳCを放送メディアストリームＳBに提供する他のエンティティを含む。一般的に、コマーシャル提供者１１２は、追加メディアコンテンツＳCを調達及び／またはホストするコンテンツエンティティであり、広告主１１４は、品物及び／またはサービスの広告、売買申し込み、取引、割引、利益、または、他の販売促進等、コンテンツに伴う追加メディアコンテンツＳCを生成するコンテンツエンティティである。さらに、または、代わりに、コマーシャル提供者１１２及び広告主１１４は、同じコンテンツエンティティであってよい。追加コンテンツ層１１０は、放送層１００、ネットワーク層１２０、デバイス層１３０、または、それらの任意の組み合わせに追加メディアコンテンツＳCを通信してよい。任意選択で、追加コンテンツ層１１０は、追加メディアコンテンツＳCを放送メディアストリームＳBと対にして、追加メディアコンテンツＳCを含む統合された放送メディアストリームＳB、ＳCを形成してよい。
【００１７】
図１Ａをさらに参照すると、ネットワーク層１２０は、放送メディアストリームＳBと追加メディアコンテンツＳCを放送層１００及び／または追加コンテンツ層１１０から受信するように構成される。例えば、ネットワーク層１２０が、メディアストリームＳを放送層１００から受信する場合、ネットワーク層１２０は、追加メディアコンテンツＳCと共に、または、追加メディアコンテンツＳCとは別に、放送メディアストリームＳBを受信してよい。同様に、ネットワーク層１２０が、メディアストリームＳを追加コンテンツ層１１０から受信する場合、ネットワーク層１２０は、追加メディアコンテンツＳCと共に、または、追加メディアコンテンツＳCとは別に、放送メディアストリームＳBを受信してよい。ある実施態様においては、ネットワーク層１２０は、放送層１００からの放送メディアストリームＳBを追加コンテンツ層１１０からの追加メディアコンテンツＳCと対にして、追加メディアコンテンツＳCを含んだ放送メディアストリームＳBを表すネットワークメディアストリームＳNを生成してよい。
【００１８】
ネットワーク層１２０は、フィンガープリンタ２００を含む。フィンガープリンタ２００は、データ処理ハードウェア２１２とメモリハードウェア２１４とを有するサーバ２１０上で動作するように構成される。フィンガープリンタ２００は、放送フィンガープリント生成器２２０を含む。ネットワーク層１２０は、フィンガープリント２２２と、フィンガープリント２２２に関連するメタデータ２２４とを、フィンガープリントデータベース２３０及び／またはメタデータベース２４０に記憶するように構成されてよい。一般的に、フィンガープリント２２２は、メディアストリームＳの少なくとも１つのフレームＦnに対応する少なくとも１つの一意の識別子である。例えば、少なくとも１つの一意の識別子は、値（例えば、画素値）、英数字表現、または、音声視覚画像の圧縮版であってよい。さらに、または、代わりに、ネットワーク層１２０は、放送メディアストリームＳB、追加メディアコンテンツＳC、または、両方を記憶するように構成される。
【００１９】
図１Ａは、任意の層（すなわち、放送層１００、追加コンテンツ層１１０、または、ネットワーク層１２０）が、デバイス層１３０と通信してよいことも示す。デバイス層１３０において、テレビ、ＰＣ、ラップトップ、タブレット、または、携帯電話等のメディアデバイス３０は、メディアデバイスストリームＳD（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC、または、ネットワークメディアストリームＳNの任意の組み合わせ）を受信し、対応するメディアデバイスストリームＳD（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC、または、ネットワークメディアストリームＳNの任意の組み合わせ）の全てまたは一部をユーザ２０に伝えてよい。デバイスは、何らかの形態のメディアコンテンツを受信または通信するように構成されたメディアデバイス３０に関連付けられた任意のハードウェアまたは任意のソフトウェアを意味してよい。ある実施態様においては、メディアデバイス３０は、対応するメディアストリーム（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC、または、ネットワークメディアストリームＳNの任意の組み合わせ）を解釈するように、または、対応するメディアストリームと対話するように構成されてよい。例えば、メディアデバイス３０は、放送メディアストリーム１０１aからの追加メディアコンテンツＳCを識別する。メディアデバイス３０は、放送メディアストリーム１０１aの追加メディアコンテンツＳCを差し替えメディアコンテンツで差し替えてよい、または、重ね合わせてよい。メディアデバイス３０は、所定のコンテンツを求めて放送メディアストリームＳB、ＳCをフィルタリングしてよい。さらに、または、その代わりに、メディアデバイス３０は、メディアストリーム（例えば、放送メディアストリームＳB、追加コンテンツストリームＳC、または、ネットワークメディアストリームＳNの任意の組み合わせ）に関する情報またはデータを放送層１００、追加コンテンツ層１１０、ネットワーク層１２０、または、デバイス層１３０の他のメディアデバイス３０と通信するように構成されてよい。
【００２０】
図１Ｂは、自動コンテンツ認識環境１０の例である。自動コンテンツ認識環境１０は、放送事業者１０２、フィンガープリンタ２００、及び、自動コンテンツ認識モジュール（ＡＣＲモジュール）３００を含む。放送事業者１０２は、放送メディアストリームＳB、ＳCをチャンネルＣｈ1-nによってフィンガープリンタ２００に放送フレームレートＲBで放送する。放送フレームレートＲBは、各放送フレームＦ1-nが、放送メディアストリームＳB内の画素によって表される音声視覚画像に対応するように、放送メディアストリームＳB、ＳCを放送フレームＦ1-nに分ける（１０１ａ）。フィンガープリンタ２００は、各放送フレームＦ1-nを放送フィンガープリント生成器２２０で受信するように構成される。放送フィンガープリント生成器２２０は、各放送フレームＦ1-nを受信し、各放送フレームＦ1-nを示す放送フィンガープリント２２２、２２２ａを生成するように構成される。一般的に、放送フィンガープリント２２２、２２２ａは、少なくとも１つの放送フレームＦ1-nに対応する少なくとも１つの一意の識別子である。フィンガープリンタ２００は、各放送フィンガープリント２２２、２２２ａをフィンガープリントデータベース２３０等のデータベースに記憶してよい。ある例においては、フィンガープリンタ２００は、フレーム位置（例えば、フレームタイムコード）、フレームタイプ（例えば、生放送番組または広告）、または、フィンガープリント識別子タグ等、放送フレームＦ1-nに対応するメタデータ２２４に従って、または、メタデータ２２４と共に、各放送フィンガープリント２２２、２２２ａを記憶する。他の例においては、フィンガープリンタ２００は、各放送フィンガープリント２２２である２２２ａのメタデータ２２４に対応する個別のデータベース（単数または複数）を有する。メタデータ２２４の個別のデータベースは、フィンガープリンタ２００がより多くの放送フィンガープリント２２２、２２２ａを記憶するのを可能にし得る。
【００２１】
図１Ｂをさらに参照すると、放送事業者１０２は、放送メディアストリームＳB、ＳCをメディアデバイス３０にも放送する。メディアデバイス３０は放送事業者１０２からの、放送メディアストリームＳB、ＳCをメディアデバイスストリームＳDとして受信する（１０１ｂ）。メディアデバイス３０は、メディアデバイスストリームＳBからメディアフレームＦD1-nをキャプチャするように構成され（１０１ｂ）、キャプチャしたディアフレームＦD1-nをＡＣＲモジュール３００に通信するように構成される。図１Ｂに示す例においては、メディアデバイス３０は、メディアデバイスストリームＳDを受信するテレビ（ＴＶ）３０、３０ａである。例えば、テレビ３０、３０ａは、テレビチャンネルＣｈ1-nをメディアデバイスストリームＳDとして受信する。
【００２２】
ある実施態様においては、放送事業者１０２は、放送メディアストリームＳB、ＳCを放送フレームレートＲBで提供する。メディアデバイス３０（例えば、ＴＶ３０である３０ａとして表される）は、放送メディアストリームＳB、ＳCをメディアデバイスストリームＳDとして、対応する放送フレームレートＲBで受信してよい。放送フレームレートＲBは、放送フォーマットの様々な業界規格（例えば、１０８０  ６０ｉ、７２０  ６０Ｐ等）に対応する場合が多い。例えば、ある一般的な放送フレームレートＲBは、３０Ｐ（２９．９７フレーム毎秒）、２４Ｐ（２３．９８フレーム毎秒）、及び、６０Ｐ（５９．９４フレーム毎秒）を含む。メディアデバイス３０は、メディアデバイスストリームＳDのフレームＦD1-nをメディアデバイスフレームレートＲMDでキャプチャするように構成されてよい。メディアデバイスフレームレートＲMDは、対応するメディアデバイス３０がキャプチャされたフレームＦD1-nをＡＣＲモジュール３００に提供するフレームレートである。ある実施態様においては、メディアデバイス３０は、メディアデバイスストリームＳDを放送フレームレートＲBで受信するように構成されてよいが、メディアデバイスストリームＳDのフレームＦD1-nをＡＣＲモジュール３００のメディアデバイスフレームレートＲMDでキャプチャするように構成されてよい。例えば、放送フレームレートＲBは、メディアデバイスフレームレートＲMDとは異なる。この差の例は、放送フレームレートＲBがメディアデバイスフレームレートＲMDより大きい事である（例えば、放送フレームレート３０Ｐ、メディアデバイスフレームレートＲMD４フレーム毎秒）。フレームレートのこの差は、メディアデバイス３０でフレームをキャプチャするハードウェアまたはソフトウェアに関するリソースの制限（ＣＰＵ、メモリ等）であり得る。
【００２３】
ある例においては、ＡＣＲモジュール３００は、放送フィンガープリント２２２、２２２ａをフィンガープリンタ２００から受信し、メディアデバイスフレームＦD1-nをメディアデバイスストリームＳDから受信する。ＡＣＲモジュール３００は、メディアデバイスフレームＦD1-nと放送フレームＦ1-nを比較して、フレームＦn、ＦDnの一致を識別してよい。ＡＣＲモジュール３００は、テレビ３０、３０ａ（例えば、テレビ３０、３０ａのハードウェアまたはソフトウェア）の内部デバイスであってもよく、テレビ３０、３０ａと通信する外部デバイス（例えば、ヘッドエンドシステムまたはセットトップボックス）であってもよい。
【００２４】
図２は、フィンガープリンタ２００の放送フィンガープリント生成器２２０の例である。放送フィンガープリント生成器２２０は、放送メディアストリームＳB、ＳCのチャンネルＣｈ1-nに対応する放送フレームＦ1-nを受信する。放送フィンガープリント生成器２２０は、受信した各放送フレームＦ1-nの放送フィンガープリント２２２、２２２ａを生成してよく、その放送フィンガープリント２２２、２２２ａをフィンガープリントデータベース２３０に記憶してよい。ある例においては、各放送フィンガープリント２２２、２２２ａは、対応する放送メディアストリームＳBの放送フレームＦ1-nの少なくとも１つの画素値ＶPを表す（１０１ａ）。少なくとも１つの画素値ＶPは、放送フレームＦ1-nの色空間値の平均画素値または合計であってよい。例えば、少なくとも１つの画素値ＶPは、放送フィンガープリント生成器２２０がグレイ−ＵＶ（ＹＵＶ）色空間に従って放送フィンガープリント２２２、２２２ａを生成する時、対応する放送フレームＦ1-nのグレースケール値の合計及び／または平均を表してよい。言い換えると、対応する放送フレームＦ1-nの各画素は、放送フィンガープリント２２２、２２２ａが画素領域のグレースケール値の合計及び／または平均を表すように、グレースケール値によって表される。ある実施態様においては、フィンガープリント２２２（例えば、放送フィンガープリント２２２、２２２ａ）は、対応する放送フレームＦ1-nのサブフレームＦsubに基づいた一意の識別子である。サブフレームＦsub毎の画素に応じて、各サブフレームＦsubは、対応する画素値ＶP、または、対応する平均画素値を有してよい。
【００２５】
図２は、サブフレームＦsubに分割された放送フレームＦ1-nに対応する放送フィンガープリント２２２ａの例も示す。ある例においては、放送フィンガープリント生成器２２０は、各放送フレームＦ1-nをサブフレームＦsubに分割して、放送フレームＦ1-n間をより正確に比較、または、区別してよい。サブフレームＦsubを用いると、各フィンガープリント２２２は、対応するフレームＦ1-nの複数の平均画素値ＶPを表し得る。各放送フレームＦ1-nをサブフレームＦsubに分けることによって、放送フィンガープリント生成中、放送フレームＦ1-n全体の画素値ＶP（または、平均画素値）に基づいた放送フィンガープリント２２２、２２２ａより詳細（例えば、各サブフレームＦsubの画素）が考慮される。従って、放送フィンガープリント生成器２２０が各放送フレームＦ1-nを分割するサブフレームＦsubの数は、所望の精度レベルによって決まる。例えば、図２に示すように、放送フィンガープリント生成器２２０は、各放送フレームＦ1-nを４ｘ４の配列を画定する１６のサブフレームＦsubに分ける。１６のサブフレームＦsubの各サブフレームＦsubは、各放送フィンガープリント２２２ａが各サブフレームＦsubに関連付けられた整数値を有する１６の値の整数ベクトルによって各対応する放送フレームＦ1-nを表すように、平均画素値Ｖｐ11-44を有する。図は、各放送フレームＦ1-n、または、各メディアデバイスフレームＦD1-nを４ｘ４の配列として示しているが、任意のサブフレーム分割が可能である。
【００２６】
図３Ａ〜図３Ｇは、ＡＣＲモジュール３００の例である。ＡＣＲモジュール３００は、放送メディアストリームＳB、ＳCの放送フレームＦ1-nに対して、メディアデバイスストリームＳDのメディアデバイスフレームＦD1-n間のフレームの一致３１０を判定するように構成される。ある例においては、ＡＣＲモジュール３００は、フィンガープリント生成器３２０及びシンクロナイザ３３０を含む。フィンガープリント生成器３２０は、放送フィンガープリント生成器２２０と同じように機能するが、ＡＣＲモジュール３００のフィンガープリント生成器３２０は、メディアデバイス３０（例えば、ＴＶ３０、３０ａ）でキャプチャされたメディアデバイスフレームＦD1-nに対応するフィンガープリント２２２（すなわち、メディアデバイスフィンガープリント２２２、２２２ｂ）を生成する。フィンガープリント生成器３２０は、メディアデバイスフィンガープリント２２２、２２２ｂをシンクロナイザ３３０に通信するように構成される。
【００２７】
ある実施態様においては、シンクロナイザ３３０は、メディアデバイスフィンガープリント２２２、２２２ａ及び放送フィンガープリント２２２、２２２ｂをフィンガープリンタ２００から受信する。メディアデバイスフィンガープリント２２２、２２２ｂ及び放送フィンガープリント２２２、２２２ａを用いて、シンクロナイザ３３０は、フレームの一致３１０を識別する。フレームの一致３１０は、所与のメディアデバイスフレームＦD1-nと一致する放送フレームＦ1-nである。さらに、または、その代わりに、フレームの一致３１０に対応する放送フレームＦ1-nは、一致放送フレームＦMBとも呼ばれ、フレームの一致３１０に対応するメディアデバイスフレームＦD1-nは、一致メディアデバイスフレームＦMDと呼ばれる。ＡＣＲモジュール３００は、一致放送フレームＦMBに基づいて、メディアデバイスストリームＳDでメディアコンテンツのパラメータを識別してよい。例えば、フレームの一致３１０を用いて、ＡＣＲモジュール３００は、一致放送フレームＦMBからメタデータ２２４を識別してよい。メタデータ２２４は、フレーム位置（例えば、フレームタイムコード）、フレームタイプ（例えば、生放送番組または広告）、一致放送フレームＦMBに対応するチャンネル、識別子タグ、または、一致放送フレームＦMBに関する任意の記述子を含んでよい。ＡＣＲモジュール３００は、一致放送フレームＦMBからのメタデータ２２４をフレームの一致３１０の一致メディアデバイスフレームＦMDと関連付けてよい。ある例においては、ＡＣＲモジュール３００は、メディアデバイスフレームＦD1-nに対応するチャンネルＣｈ、及び／または、チャンネルＣｈ内のフレーム位置（例えば、フレームタイムコード）に関するメタデータ２２４を関連付ける。
【００２８】
メディアデバイス３０のチャンネルＣｈと、メディアデバイスストリームＳDの位置とが分かると、放送事業者１０２と追加コンテンツプロバイダは、ユーザ２０がどの番組を見ているかと、現在、ユーザ２０が番組のシーケンスのどこにいるかを知り得る。放送事業者１０２及び追加コンテンツプロバイダは、そうすると、このような情報を使用して、広告及び売買申し込みに関して正確にユーザ２０を対象とし得る、または、コマーシャル以外の情報（例えば、ニュースアラート、告知、教育情報等）をユーザ２０に提供してよい。従って、ＡＣＲモジュール３００は、エンティティが、メディアデバイス３０の使用中、ユーザ２０に提供されるメディアコンテンツを調整するのを可能にし得る。ＡＣＲモジュール３００でのフレーム一致プロセスで起こり得る問題は、連続したメディアデバイスフレームＦD1-nが非常に似通っていて、その結果、シーンの変化が連続したメディアデバイスフレームＦD1-nを劇的に変化させなければ、連続したメディアデバイスフレームＦD1-nは経時的にわずかしか変化しないことである。連続したメディアデバイスフレームＦD1-n間に典型的な変化がわずかなことが原因で、ＡＣＲモジュール３００は、フレームの一致３１０を誤って識別するリスクがある。言い換えると、ＡＣＲモジュール３００が、ユーザ２０が１つのメディアデバイスフレームＦD1-n（一致メディアデバイスフレームＦD1-n）でメディアデバイスストリームＳDを見ていると判定する時、ユーザ２０は、実際には、メディアデバイスストリームＳDからのメディアコンテンツを、一致メディアデバイスフレームＦMDの前または後ろの数個のメディアデバイスフレームＦD1-nを見ている。
【００２９】
ある状況においては、ＡＣＲモジュール３００によるフレームの一致は、放送（すなわち、放送フレームレートＲB）とメディアデバイス（すなわち、メディアデバイスフレームレートＲMD）間にフレームレートの差がある時、一致の間違い（すなわち、フレームの一致３１０を誤って識別するリスク）がより大きくなり得る。例えば、メディアデバイスフレームレートＲMDが、放送フレームレートＲBよりずっと遅い場合、一致メディアデバイスフレームＦMDは、ユーザ２０が現在視聴しているメディアデバイスフレームＦD1-nから時間的に離れている場合があり、タイミングの不一致を起こし得る。ある例においては、タイミングの不一致は、ＡＣＲモジュール３００に基づいて動的広告差し替え（ＤＡＲ）を行っている追加コンテンツプロバイダが広告の代わりに生放送番組を差し替えるほど十分に大きい。
【００３０】
起こり得る一致の間違いに対処するために、ＡＣＲモジュール３００は、フレームの一致３１０が、一致放送フレームＦMBと最も一致するメディアデバイスフレームＦD1-nに対応するか否かの指標として、フレーム確実性メトリック３４０を決定するように構成される。言い換えると、ＡＣＲモジュール３００は、フレーム確実性メトリック３４０によって、フレームの一致３１０が元の一致メディアデバイスフレームＦMDとは異なるメディアデバイスフレームＦD1-nにシフトすべきであると判定してよい。ＡＣＲモジュール３００は、一致メディアデバイスフレームＦMDの隣に続くメディアデバイスフレームＦD1-nがより大きいフレーム確実性メトリック３４０を有する時、フレームの一致３１０をシフトするようにプログラムされてよい。
【００３１】
図３Ａ〜図３Ｇに示すように、ＡＣＲモジュール３００のシンクロナイザ３３０は、メトリック生成器３３２と調整器３３４とを含む。メトリック生成器３３２は、フレームＦ間の比較に基づいて、フレーム確実性メトリック３４０である３４０i-nを生成する。フレーム確実性メトリック３４０は、フレームＦ間、及び／または、フレームＦに対応するフィンガープリント２２２間の一致の強さを示す類似度の測定値である。一致の強さを示す類似度の測定は、２つの変数間の関連を測定する統計的相関等の定量的相関（例えば、ピアソン相関、ケンドール相関、または、スピアマン相関）であってよい。ある実施態様においては、フレーム確実性メトリック３４０は、複数の確実性レベルを有し、各確実性レベルは、フレームＦ間、及び／または、フレームＦに対応するフィンガープリント２２２間の異なる強さの一致を示す。基本的例として、フレーム確実性メトリック３４０は、個別の定量的測定範囲（例えば、低＝０〜０．３３、中＝０．３４〜０．６６、高＝０．０６７〜１．０）に対応する２つまたは３つの確実性レベル（例えば、低及び高、または、低、中、及び、高）を有してよい。ある例においては、メトリック生成器３３２は、メディアデバイスフィンガープリント２２２、２２２ｂと放送フィンガープリント２２２、２２２ａとに従って、フレーム確実性メトリック３４０を決定する。これらの例において、放送フィンガープリント２２２、２２２ａは、一致放送フレームＦMBに対応するプリント２２２、２２２TBである。図３Ａ〜図３Ｃに示すように、フィンガープリンタ２００は、標的放送フィンガープリント２２２、２２２TBを含む放送フィンガープリント２２２、２２２ａをＡＣＲモジュール３００に提供してよい。他の例においては、ＡＣＲモジュール３００は、フィンガープリンタ２００にクエリ、または、フィンガープリンタ２００と通信して、標的放送フィンガープリント２２２である２２２TBを獲得してよい。
【００３２】
ある実施態様においては、メトリック生成器３３２は、フレーム確実性メトリック３４０の反復である３４０i-nを生成して、ＡＣＲモジュール３００の最大フレーム確実性メトリック３４２を決定する。各反復は、調整器３３４によって提供された一致メディアデバイスフレームＦMDの隣に続くメディアデバイスフレームＦD1-nに対応してよい。さらに、または、その代わりに、各反復は、一致メディアデバイスフレームＦMDと、一致メディアデバイスフレームＦMDの隣に続く各フレームＦadjとに対応する３つの異なるフレーム確実性メトリック３４０である３４０(1-3)に対応してよい。調整器３３４は、フレームＦ（例えば、メディアデバイスフレームＦD1-n、または、メディアデバイスフレームＦD1-n）、及び／または、フレームＦに対応するフィンガープリント２２２を受信するように構成され、受信したフレームＦの隣に続くフレームＦadj、及び／または、隣に続くフレームＦadjに対応する隣に続くフィンガープリント２２２であるＦadjを戻すように構成される。
【００３３】
図３Ａ〜図３Ｃは、メトリック生成器３３２の第１の反復の例である。これらの例において、メトリック生成器３３２は、フレームの一致３１０に関連するフィンガープリント２２２に基づいて、第１のフレーム確実性メトリック３４０である３４０1を決定する。言い換えると、メトリック生成器３３２は、第１のメディアデバイスフィンガープリント２２２、ＦMD（例えば、一致メディアデバイスフレームＦMDに対応するメディアデバイスフィンガープリント２２２、２２２ｂ）、及び、標的放送フィンガープリント２２２、２２２TBに基づいて、第１のフレーム確実性メトリック３４０、３４０1を決定する。調整器３３４は、第１のメディアデバイスフィンガープリント２２２、ＦMD、及び／または、標的放送フィンガープリント２２２、２２２TBを受信し、第１のメディアデバイスフィンガープリント２２２、ＦMDの隣に続く第２のメディアデバイスフィンガープリント２２２、Ｆadjを、標的放送フィンガープリント２２２、２２２TBと共にメトリック生成器３３２に戻す。さらに、または、その代わりに、メトリック生成器３３２は、調整器３３４が第１のメディアデバイスフィンガープリント２２２、ＦMDの隣に続く第２のメディアデバイスフィンガープリント２２２、Ｆadjのみを戻すように、標的放送フィンガープリント２２２、２２２TBを記憶するように構成されてよい。例えば、メトリック生成器３３２が、フレームの一致３１０に基づいて、標的放送フィンガープリント２２２、２２２TBを記憶する場合、メトリック生成器３３２は、標的放送フィンガープリント２２２、２２２TBを調整器３３４に通信しなくてもよい。
【００３４】
ＡＣＲモジュール３００は、メトリック生成器３３２と調整器３３４の間でフレーム確実性メトリックプロセスの複数の反復を繰り返してよい。ＡＣＲモジュール３００は、複数の反復を行って、各反復の各フレーム確実性メトリック３４０、３４０iのうちの最大フレーム確実性メトリック３４２を決定してよい。最大フレーム確実性メトリック３４２を用いて、ＡＣＲモジュール３００は、最大フレーム確実性メトリック３４２に対応するメディアデバイスフィンガープリント２２２、２２２ｂを、標的放送フィンガープリント２２２、２２２TBに一致する標的メディアデバイスフィンガープリント２２２、２２２TDとして識別する。
【００３５】
ある例においては、ＡＣＲモジュール３００は、フレーム確実性メトリック３４０に基づいて動作を行ってよい。図３Ｂは、図３ＡのＡＣＲモジュール３００に類似したＡＣＲモジュール３００の例であるが、図３ＢのＡＣＲモジュール３００は、動的広告差し替え（ＤＡＲ）モジュール４００とさらに通信する。一般的に、ＤＡＲモジュール４００は、メディアデバイスストリームＳD内の広告を表すメディアデバイスフレームＦD1-nを識別し得る、また、広告を差し替え広告で差し替え（または、重ね合わせ）得るシステムである。ＤＡＲモジュール４００は、ＡＣＲモジュール３００から通信された情報を使用して、標的メディアデバイスフィンガープリント２２２、２２２TDに対応するメディアデバイスフレームＦD1-nのフレーム位置に対する、メディアデバイスストリームＳD内の広告のフレーム位置を識別してよい。例えば、ＡＣＲモジュール３００が、標的放送フィンガープリント２２２、２２２TBに一致する標的メディアデバイスフィンガープリント２２２、２２２TDを識別すると、ＡＣＲモジュール３００は、標的メディアデバイスフィンガープリント２２２、２２２TD、または、標的メディアデバイスフィンガープリント２２２、２２２TDに対応するメディアデバイスフレームＦD1-nをＤＡＲモジュール４００に通信する。ある例においては、ＡＣＲモジュール３００は、ＤＡＲモジュール４００が差し替えフレームＦRP(1-n)のセットを差し替えられるメディアデバイスフレームＦD1-nと整列させるように、標的メディアデバイスフィンガープリント２２２、２２２TDに対応するメディアデバイスフレームＦD1-nに関連付けられたメタデータ２２４（例えば、フレーム位置）を通信する。
【００３６】
図３Ｃも、図３ＢのＡＣＲモジュールと類似のＡＣＲモジュール３００の例であるが、図３Ｃでは、ＡＣＲモジュール３００は、閾値比較器３３６を含む。閾値比較器３３６は、ＡＣＲモジュール３００によって行われるフレーム確実性メトリック３４０の反復を最小化するように構成されてよい。反復を最小化することによって、ＡＣＲモジュール３００は、より速く処理を行ってよく、処理能力への依存が少なくなり得る。閾値比較器３３６はフレーム確実性メトリック閾値３４０Thを有するように構成されてよく、フレーム確実性メトリック閾値３４０Thは、各反復後、フレーム確実性メトリック３４０と比較される。フレーム確実性メトリック閾値３４０Thを用いると、ＡＣＲモジュール３００は、ＡＣＲモジュール３００が最適なフレーム確実性メトリック３４２を決定するまでフレーム確実性メトリック３４０の決定を続ける必要が無い。例えば、フレーム確実性メトリック３４０がフレーム確実性メトリック閾値３４０Thを超えると、シンクロナイザ３３０は、フレーム確実性メトリック生成を中断し、フレーム確実性メトリック閾値３４０Thを超えるフレーム確実性メトリック３４０に対応するメディアデバイスフィンガープリント２２２、２２２ｂを、標的放送フィンガープリント２２２、２２２TBに一致する標的メディアデバイスフィンガープリント２２２、２２２TDとして識別する。図３Ｃの例に示すように、メトリック生成器３３２は、フレーム確実性メトリック３４０の第１の反復である３４０1を調整器３３４に対して生成し、閾値比較器３３６は、フレーム確実性メトリック３４０の第１の反復である３４０1がフレーム確実性メトリック閾値３４０Thを満たすか否かを決定する。任意選択で、フレーム確実性メトリック３４０である３４０1がフレーム確実性メトリック閾値３４０Thを満たす場合、ＡＣＲモジュール３００は、ＤＡＲモジュール４００と通信してよい。これについては、図３Ｂを用いてさらに詳細に論じる。
【００３７】
図３Ｄ〜図３Ｇは、ＡＣＲモジュール３００がフレームの一致３１０をシフトするか否かを決定する時のシンクロナイザ３３０の別の図である。メトリック生成器３３２は、メディアデバイスフレームＦD1-nに対応する各メディアデバイスフィンガープリント２２２、２２２ｂと、標的放送フィンガープリント２２２、２２２TBとの間のフレーム確実性メトリック３４０を生成する。図３Ｄ〜図３Ｇは、（例えば、メディアデバイスフィンガープリント２２２、２２２ｂを介して）メディアデバイスフレームＦD1-nに対応する各フレーム確実性メトリック３４０、３４０(1-n)を曲線上の点として表す。ある例においては、図３Ｄ〜図３Ｇに示すように、メトリック生成器３３２の一回の反復によって、以下の３つのフレーム確実性メトリック３４０、３４０1-3を調整器３３４に通信する。すなわち、第１のメディアデバイスフィンガープリント２２２、２２２ｂ1と標的放送フィンガープリント２２２、２２２TBとに基づいた第１のフレーム確実性メトリック３４０、３４０1、第２のメディアデバイスフィンガープリント２２２、２２２ｂ2が第１のメディアデバイスフィンガープリント２２２、２２２ｂ1の隣に続く（例えば、第１のメディアデバイスフィンガープリントの時間的な前後）ように、第２のメディアデバイスフィンガープリント２２２、２２２ｂ2と標的放送フィンガープリント２２２、２２２TBに基づいた第２のフレーム確実性メトリック３４０、３４０2、及び、第３のメディアデバイスフィンガープリント２２２、２２２ｂ3が第２のメディアデバイスフィンガープリント２２２、２２２ｂ2の反対側で第１のメディアデバイスフィンガープリント２２２、２２２ｂ1の隣に続くように、第３のメディアデバイスフィンガープリント２２２、２２２ｂ3と標的放送フィンガープリント２２２、２２２TBとに基づいた第３のフレーム確実性メトリック３４０、３４０3、である。調整器３３４は、これら３つのフレーム確実性メトリック３４０、３４０1-3から最大フレーム確実性メトリック３４２を選択してよく、次の反復のために第１のメディアデバイスフィンガープリント２２２、２２２ｂ1（または、標的メディアデバイスフィンガープリント）として、メディアデバイスフィンガープリント２２２、２２２ｂを最大フレーム確実性メトリック３４２に対応付けてよい。例えば、図３Ｄは、３つのメディアデバイスフィンガープリント２２２、２２２ｂ1-3を実線の選択ボックスで表し、第１のメディアデバイスフィンガープリント２２２、２２２ｂlを３つのうちの中心に破線の選択ボックスを用いて指定する。３つの選択されたメディアデバイスフィンガープリント２２２、２２２ｂ1-3は、対応するフレーム確実性メトリック３４０、３４０1-3と対になり、調整器３３４が、最大フレーム確実性メトリック３４２を有する第３のメディアデバイスフィンガープリント２２２、２２２ｂ3を選択する。この選択に基づいて、ＡＣＲモジュール３００は、フレームの一致３１０を前方にシフトすることを判定する。図３Ｅは、フレームの一致３１０の反対方向へのシフトを示す。より詳細には、最大フレーム確実性メトリック３４２を有するメディアデバイスフィンガープリント２２２、２２２ｂは、第１のメディアデバイスフィン���ープリントより時間的に前のフレームに対応するので、後方へのシフトに対応する第２のメディアデバイスフィンガープリント２２２、２２２ｂ2である。図３Ｆは、フレームの一致３１０の一致メディアデバイスフレームに対応するメディアデバイスフィンガープリント２２２、２２２ｂが最大フレーム確実性メトリック３４２を有する第３の可能なシナリオを示す。この例においては、ＡＣＲモジュール３００は、フレームの一致３１０をシフトさせる必要はないが、メディアデバイスフィンガープリント２２２、２２２ｂ1を、標的放送フィンガープリント２２２、２２２TBに一致する標的メディアデバイスフィンガープリント２２２、２２２TDとして識別する。
【００３８】
ＡＣＲモジュール３００をさらに参照すると、図３Ｇは、図３Ｄまたは図３Ｅのいずれかの第１の反復からの進展として、メトリック生成器３３２と調整器３３４との間の第２の反復の例を提供する。第２の反復において、メトリック生成器３３２は、調整器３３４と通信して、フレームの一致３１０の他のシフトが必要か否かを判定する。第２の反復中、ＡＣＲモジュール３００は、第１の反復の標的メディアデバイスフィンガープリント２２２、２２２TDのフレーム確実性メトリック３４２を標的フレーム確実性メトリック３４０、３４０Tとして識別する。メトリック生成器３３２は、標的フレーム確実性メトリック３４０、３４０Tをさらに２つのフレーム確実性メトリック３４０、３４０4-5と共に調整器３３４に通信する。第４のフレーム確実性メトリック３４０、３４０4は、第４のメディアデバイスフィンガープリント２２２、２２２ｂ4が標的メディアデバイスフィンガープリント２２２、２２２TDの隣に続くように第４のメディアデバイスフィンガープリント２２２、２２２ｂ4と標的放送フィンガープリント２２２、２２２TBに基づき、第５のフレーム確実性メトリック３４０、３４０5は、第５のメディアデバイスフィンガープリント２２２、２２２ｂ5が第４のメディアデバイスフィンガープリント２２２、２２２ｂ4の反対側で標的メディアデバイスフィンガープリント２２２、２２２TDの隣に続くように第５のメディアデバイスフィンガープリント２２２、２２２ｂ5と標的放送フィンガープリント２２２、２２２TBに基づく。調整器３３４は、これら３つのフレーム確実性メトリック３４０、３４０4、5、TDから最大フレーム確実性メトリック３４２を選択してよく、標的メディアデバイスフィンガープリント２２２、２２２TDとして、メディアデバイスフィンガープリント２２２、２２２ｂを最大フレーム確実性メトリック３４２に対応付けてよい。図３Ｇの例において、第１の反復の標的メディアデバイスフィンガープリント２２２、２２２TDが、再び、最大フレーム確実性メトリック３４２を有する。よって、ＡＣＲモジュール３００は、第１の反復の標的メディアデバイスフィンガープリント２２２、２２２TDを再び、標的放送フィンガープリント２２２、２２２TBに一致する標的メディアデバイスフィンガープリント２２２、２２２TDとして識別する。２回の反復のみを記載したが、キャプチャされたメディアデバイスストリームは、数回反復して、ＡＣＲモジュール３００とメディアデバイスストリームＳDとを適切に同期する標的メディアデバイスフィンガープリント２２２、２２２TDを識別してよい。
【００３９】
図４は、動的広告差し替え（ＤＡＲ）モジュール４００に関して、タイミングの不一致（「スロップ（ｓｌｏｐ）」とも言う）を示す４つのシナリオの例である。タイミングの不一致またはスロップは、一般的に、差し替え中に、間違って差し替えられたメディアデバイスフレームＦD1-nの数を指す。各シナリオに関して、図４は、（８つのフレームとして示された）差し替えフレームのセットＦRP(1-n)と、元のフレームのセットＦO(1-n)と、結果として生じるフレームのセットＦR(1-n)とを示す。元のフレームのセットＦO(1-n)は、ＤＡＲモジュール４００が動的広告差し替えの標的にしたフレームに対応する。標的フレームは、追加コンテンツプロバイダが差し替えたいメディアデバイスストリームの既存の広告を表してよい。シナリオ１は、理想的または完全な動的広告差し替えを示す。このシナリオにおいては、結果として生じるフレームのセットＦR(1-n)が差し替えフレームのセットＦRP(1-n)からのフレームのみを含み、元のフレームのセットＦO(1-n)からのフレームを含まないように、差し替えフレームのセットＦRP(1-n)は、元のフレームのセットＦO(1-n)と整列する。完全な動的広告差し替えにおいては、差し替えは、ユーザ２０にとってほぼ途切れなく見えるはずである。差し替えフレームのセットＦRP(1-n)の、メディアデバイスストリームＳDへの割り込みが早すぎる（例えば、生放送番組を中断する可能性）ことがなく、遅すぎる（例えば、２つの異なる広告を見る可能性）ことがない。ＤＡＲモジュール４００が差し替えフレームのセットＦRP(1-n)と元のフレームのセットＦO(1-n)を正しく整列させないと、不整列によって、ＤＡＲが早すぎたり、遅すぎたりする場合がある。シナリオ２は、ＤＡＲが早すぎることを表す。ＤＡＲが速すぎると、差し替えフレームのセットＦRP(1-n)が標的フレームの前にメディアデバイスストリームＳD内に早くスプライシングして生放送番組を中断し得るので、メディアコンテンツの視聴品質を低下させる場合がある。例えば、ユーザ２０が生放送番組を見ており、突然、中断されて広告となり、その広告が終わると、次に、別の広告の最後の部分（すなわち、標的フレームの部分）に移る。シナリオ２は、結果として生じるフレームのセットＦR(1-n)が元のフレームのセットＦO(1-n)からの２つの元のフレームを含むことを示すことによって、ＤＡＲが早すぎることを表す。ＤＡＲモジュール４００による標的フレームの差し替えが遅すぎる場合、逆の影響が生じ得る。例えば、ユーザ２０は、生放送番組を一部見た後、広告を見始めると、メディアデバイスストリームＳDが中断されて差し替え広告となり、次に、生放送番組が開始されてしまった後に、生放送番組に戻る。シナリオ３は、結果として生じるフレームのセットＦR(1-n)が差し替えフレームのセットＦRP(1-n)からの２つのフレームを含むことを示すことによってＤＡＲが遅すぎることを表す。シナリオ４は、ＤＡＲモジュール４００によるオーバーラン防止を表す。ある例においては、ＤＡＲモジュール４００は、ＤＡＲ不整列のこれらの影響の一部をオーバーラン防止によって緩和するように構成される。例えば、図４に示すように、オーバーラン防止は、差し替えフレームセットＦRP(1-n)の不整列のセットを切り取る。一般的に、許容可能なスロップレベルはフレーム３つだけなので、適切に整列したＤＡＲは、フレームレートが異なる状況においては特に重要である。
【００４０】
ＡＣＲモジュール３００の例は、デバイス層１３０の、または、デバイス層１３０と対話するＡＣＲモジュール３００を表すことが多いが、ＡＣＲモジュール３００の様々な機能または機能の一部は、自動コンテンツ認識環境１０内の層のいずれか（例えば、放送層１００、ネットワーク層１２０、または、デバイス層１３０）で行われてよい。例えば、シンクロナイザ３３０は、デバイス層１３０と通信しているネットワーク層１２０（例えば、フィンガープリンタ２００）上に存在してもよい。他の例においては、メトリック生成器３３２または調整器３３４等、シンクロナイザ３３０の一部は、ネットワーク層１２０で生じる。それでも、ＤＡＲモジュール４００による機能は、放送事業者１０２、放送配信業者１０４、コマーシャル提供者１１２、または、広告主１１４が求める制御のレベルに応じて、放送層１００または追加コンテンツ層１１０で行われてよい。
【００４１】
図５は、自動コンテンツ認識のためのフレーム確実性メトリックの方法５００を示す。ブロック５０２において、方法５００は、放送メディアストリームＳB、ＳCの放送フレームＦ1-nを示す放送フィンガープリント２２２、２２２ａを受信することを含む。ブロック５０４において、方法５００は、対応するメディアデバイス３０のメディアデバイスストリームＳDのメディアデバイスフレームＦD1-nを示すメディアデバイスフィンガープリント２２２、２２２ｂを受信することを含む。ブロック５０６において、方法５００は、放送メディアストリームＳB、ＳCの放送フレームＦ1-nに対して、メディアデバイスストリームＳDのメディアデバイスフレームＦD1-n間のフレームの一致３１０を決定することを含む。ブロック５０８において、方法５００は、（ａ）第１のメディアデバイスフィンガープリント２２２、２２２ｂ1と標的放送フィンガープリント２２２、２２２TBとに基づいて、第１のフレーム確実性メトリック３４０、３４０1を決定することと、（ｂ）第２のメディアデバイスフィンガープリント２２２、２２２ｂ2と標的放送フィンガープリント２２２、２２２TBとに基づいて、第２のフレーム確実性メトリック３４０、３４０2を決定することと、（ｃ）第３のメディアデバイスフィンガープリント２２２、２２２ｂ3と標的放送フィンガープリント２２２、２２２TBとに基づいて、第３のフレーム確実性メトリック３４０、３４０3を決定することと、（ｄ）第１のフレーム確実性メトリック３４０、３４０1、第２のフレーム確実性メトリック３４０、３４０2、及び、第３のフレーム確実性メトリック３４０、３４０3のうちの最大フレーム確実性メトリック３４２を決定することとによって、フレームの一致３１０をシフトするか否かを判定することを含む。ブロック５１０において、方法５００は、最大フレーム確実性メトリック３４０に対応するメディアデバイスフィンガープリント２２２、２２２ｂ(1-3)を、標的放送フィンガープリント２２２、２２２TBに一致する標的メディアデバイスフィンガープリント２２２、２２２TDとして識別することを含む。
【００４２】
ソフトウェアアプリケーション（すなわち、ソフトウェアリソース）は、コンピューティングデバイスにタスクを行わせるコンピュータソフトウェアを指してよい。ある例においては、ソフトウェアアプリケーションは、「アプリケーション」「アプリ」または「プログラム」と呼ばれてよい。アプリケーションの例は、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワークアプリケーション、及び、ゲームアプリケーションを含むが、これらに限らない。
【００４３】
図６は、例えば、フィンガープリンタ２００、フィンガープリンタ生成器２２０、３２０、ＡＣＲモジュール３００、シンクロナイザ３３０、ＤＡＲモジュール４００等、この文書に記載するシステム及び方法の実施に使用されてよいコンピューティングデバイス６００の例の概略図である。コンピューティングデバイス６００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、及び、他の適切なコンピュータ等、様々な形態のデジタルコンピュータを表す。ここに示す構成要素、それらの接続及び関係、並びに、それらの機能は、例示に過ぎず、この文書に記載及び／または特許を請求する発明の実施態様を制限することを意図していない。
【００４４】
コンピューティングデバイス６００は、プロセッサ６１０（例えば、データ処理ハードウェア）、メモリ６２０（例えば、メモリハードウェア）、記憶装置６３０、メモリ６２０及び高速拡張ポート６５０に接続する高速インタフェース／コントローラ６４０、並びに、低速バス６７０及び記憶装置６３０に接続する低速インタフェース／コントローラ６６０を含む。構成要素６１０、６２０、６３０、６４０、６５０、及び、６６０は、それぞれ、様々なバスを用いて相互に接続されており、共通のマザーボード上に搭載されてもよく、または、必要に応じて他の様態で搭載されてよい。プロセッサ６１０は、メモリ６２０または記憶装置６３０に記憶された命令を含む、コンピューティングデバイス６００で実行するための命令を処理して、高速インタフェース６４０に結合されたディスプレイ６８０等、外部入力／出力装置のグラフィカルユーザインタフェース（ＧＵＩ）のグラフィカル情報を表示できる。他の実施態様においては、複数のプロセッサ及び／または複数のバスが、複数のメモリ及びメモリの種類と共に、必要に応じて、使用されてよい。また、複数のコンピューティングデバイス６００が、接続されてよく、各デバイスは、（例えば、サーババンク、ブレードサーバグループ、または、マルチプロセッサシステムとして、）必要な動作の一部を提供する。
【００４５】
メモリ６２０は、コンピューティングデバイス６００内に持続的に情報を記憶する。メモリ６２０は、コンピュータ可読媒体、揮発性メモリユニット（複数可）、または、不揮発性メモリユニット（複数可）であってよい。持続的メモリ６２０は、コンピューティングデバイス６００で使用するために、一時的にまたは永続的にプログラム（例えば、命令シーケンス）、または、データ（例えば、プログラム状態情報）を記憶するために使用される物理的装置であってよい。不揮発性メモリの例は、フラッシュメモリ及びリードオンリメモリ（ＲＯＭ）／プログラム可能リードオンリメモリ（ＰＲＯＭ）／消去可能プログラム可能リードオンリメモリ（ＥＰＲＯＭ）／電気的消去可能プログラム可能リードオンリメモリ（ＥＥＰＲＯＭ）（例えば、起動プログラム等、ファームウェアに典型的に使用される）を含むが、これらに限らない。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）、並びに、ディスクまたはテープを含むが、これらに限らない。
【００４６】
記憶装置６３０は、コンピューティングデバイス６００に大容量記憶装置を提供できる。ある実施態様においては、記憶装置６３０は、コンピュータ可読媒体である。様々な異なる実施態様において、記憶装置６３０は、フロッピーディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、もしくは、テープデバイス、フラッシュメモリもしくは他の類似の固体メモリデバイス、または、記憶領域ネットワークもしくは他の構成のデバイスを含むデバイスアレイであってよい。追加の実施態様においては、コンピュータプログラム製品は、情報担体の形で有形に実現される。コンピュータプログラム製品は、実行されると、上記に記載の方法等、１つまたは複数の方法を行う命令を含む。情報担体は、メモリ６２０、記憶装置６３０、または、プロセッサ６１０上のメモリ等、コンピュータまたは機械可読媒体である。
【００４７】
高速コントローラ６４０は、コンピューティングデバイス６００の帯域幅集約的動作を管理し、低速コントローラ６６０は、より低い帯域幅集約的動作を管理する。業務のこのような割り当ては、例示に過ぎない。ある実施態様においては、高速コントローラ６４０は、メモリ６２０に、（例えば、グラフィックスプロセッサまたはアクセラレータを介して）ディスプレイ６８０に、及び、様々な拡張カード（図示せず）を受け入れ得る高速拡張ポート６５０に結合される。ある実施態様においては、低速コントローラ６６０は、記憶装置６３０及び低速拡張ポート６９０に結合される。様々な通信ポート（例えば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット（登録商標））を含み得る低速拡張ポート６９０は、例えば、キーボード、ポインティングデバイス、スキャナ等の１つまたは複数の入力／出力装置、または、ネットワークアダプタを通して、スイッチもしくはルータ等のネットワークデバイスに結合されてよい。
【００４８】
コンピューティングデバイス６００は、図に示すように、多くの異なる形態で実施されてよい。例えば、コンピューティングデバイス６００は、標準的なサーバ６００ａとして、もしくは、このようなサーバ６００ａのグループで複数回、ラップトップコンピュータ６００ｂとして、または、ラックサーバシステム６００ｃの一部として、実施されてよい。
【００４９】
本明細書に記載のシステム及び技術の様々な実施態様は、デジタル電子及び／または光学回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、及び／または、これらの組み合わせで実現できる。これらの様々な実施態様は、少なくとも１つのプログラム可能なプロセッサを含むプログラム可能なシステムで実行可能及び／または解釈可能な１つまたは複数のコンピュータプログラムの形での実施を含んでよく、少なくとも１つのプログラム可能なプロセッサは、専用または汎用であってよく、記憶システム、少なくとも１つの入力装置、及び、少なくとも１つの出力装置に結合されて、データ及び命令を受信、それらに、データ及び命令を送信してよい。
【００５０】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる）は、プログラム可能なプロセッサの機械命令を含み、高レベル手順の及び／またはオブジェクト指向のプログラミング言語で、及び／または、アセンブリ／機械言語で実施できる。本明細書で使用される場合、「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令及び／またはデータをプログラム可能なプロセッサに提供するのに使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、及び／または、デバイス（例えば、磁気ディスク、光学ディスク、メモリ、プログラム可能論理回路（ＰＬＤ））を指す。「機械可読信号」という用語は、機械命令及び／またはデータをプログラム可能なプロセッサに提供するのに使用される任意の信号を指す。
【００５１】
本明細書に記載のプロセス及び論理フローは、１つまたは複数のコンピュータプログラムを実行して、入力データに作用し、出力を生成することによって機能を行う、１つまたは複数のプログラム可能なプロセッサによって行うことができる。プロセス及び論理フローは、特定用途論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によって行うこともできる。コンピュータプログラムの実行に適したプロセッサは、例を挙げると、汎用及び専用のマイクロプロセッサ、任意の種類のデジタルコンピュータの任意の１つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリメモリ、もしくは、ランダムアクセスメモリ、または、その両方から命令及びデータを受信する。コンピュータの必須の要素は、命令を行うためのプロセッサと、命令及びデータを記憶するための１つまたは複数のメモリ装置とである。一般的に、コンピュータは、データを記憶するための１つまたは複数の大容量記憶装置、例えば、磁気、光磁気ディスク、または、光学ディスクを含む、または、それらに動作可能に結合されて、そこからデータを受信、そこにデータを送信、または、その両方を行う。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令及びデータの記憶に適したコンピュータ可読媒体は、例を挙げると、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及び、フラッシュメモリデバイス等の半導体メモリデバイス、内部ハードディスクもしくは取り外し可能ディスク等の磁気ディスク、磁気光学ディスク、並びに、ＣＤ  ＲＯＭディスク、及び、ＤＶＤ−ＲＯＭディスクを含む、不揮発性メモリ、媒体、メモリデバイスの全ての形態を含む。プロセッサ及びメモリは、専用論理回路によって補われてよい、または、専用論理回路の形で組み込まれてよい。
【００５２】
ユーザとの対話を提供するために、開示の１つまたは複数の態様は、情報をユーザに表示するためのディスプレイ装置、例えば、ＣＲＴ（ブラウン管）、ＬＣＤ（液晶ディスプレイ）モニタ、または、タッチスクリーンと、任意選択で、ユーザがコンピュータに入力を行うことができるキーボード及びポインティングデバイス、例えば、マウスもしくはトラックボールを有するコンピュータで実施できる。他の種類のデバイスを使用してもユーザと対話できる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または、触覚フィードバックであってよく、ユーザからの入力は、音響、音声、または、触覚入力を含む、任意の形態で受信できる。さらに、コンピュータは、ユーザが使用するデバイスに文書を送信することによって、また、デバイスから文書を受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによって、ユーザと対話できる。
【００５３】
多くの実施態様を記載したが、開示の趣旨及び範囲を逸脱せずに様々な変更を行ってよいことは理解されよう。従って、他の実施態様も次の特許請求の範囲内にある。
【図１Ａ】
2020511880.tif 000003
【図１Ｂ】
2020511880.tif 000004
【図２】
2020511880.tif 000005
【図３Ａ】
2020511880.tif 000006
【図３Ｂ】
2020511880.tif 000007
【図３Ｃ】
2020511880.tif 000008
【図３Ｄ】
2020511880.tif 000009
【図３Ｅ】
2020511880.tif 000010
【図３Ｆ】
2020511880.tif 000011
【図３Ｇ】
2020511880.tif 000012
【図４】
2020511880.tif 000013
【図５】
2020511880.tif 000014
【図６】
2020511880.tif 000015
【国際調査報告】
2020511880.tif 000016
2020511880.tif 000017
2020511880.tif 000018