(57)【要約】本開示は、ビデオコンテンツ内の関心領域の適応的決定と品質向上とに関する。領域検査コンポーネントは画像の領域を検査する。検出コンポーネントは、領域に包含される彩度値を決定する。比較コンポーネントは、この彩度値と一組の所定の彩度値とを比較して、比較結果に基づいてフレーム内の一組の関心領域を決定する。エンコーダは、画像内の関心領域を、画像の残り部分より高い品質又はより良い品質で符号化する。【選択図】図１
2015507443.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能コンポーネントが格納されるメモリと、
前記メモリに格納される前記コンピュータ実行可能コンポーネントを実行するプロセッサと、を備え、
前記コンピュータ実行可能コンポーネントは、
フレームの領域を検査する領域検査コンポーネントと、
前記領域に包含される彩度値を決定する検出コンポーネントと、
前記彩度値と一組の所定の彩度値とを比較して、比較結果に基づいて前記フレーム内の一組の関心領域を決定する比較コンポーネントと、
を備えることを特徴とするシステム。
【請求項２】
前記比較コンポーネントは、前記一組の関心領域に関する一組のデータをエンコーダに供給することを特徴とする請求項１に記載のシステム。
【請求項３】
前記エンコーダは、前記一組の関心領域に関する前記一組のデータに少なくとも部分的に基づいて前記フレームを符号化することを特徴とする請求項２に記載のシステム。
【請求項４】
一組のフィルタ基準に基づいて前記一組の関心領域に含まれる領域の部分集合を除去するフィルタコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項５】
前記一組のフィルタ基準は、所定の分散閾値を満たす少なくとも１つの分散を有すること、又は相関する隣接領域の量が所定の中央値閾値を満たすことを含むことを特徴とする請求項４に記載のシステム。
【請求項６】
前記領域に関連する動きベクトルを用いて動きマップを生成する動きコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項７】
前記一組の関心領域に含まれているか否かと、前記動きマップにて前記領域に関連付けられた動き値と、に応じて前記フレームの前記領域を採点する採点コンポーネントをさらに備えることを特徴とする請求項６に記載のシステム。
【請求項８】
前記採点コンポーネントは、採点結果を用いて関心領域マップを生成することを特徴とする請求項７に記載のシステム。
【請求項９】
前記関心領域マップと前回の関心領域マップとの間の差分を決定し、前記差分が差分閾値を満たす場合に前記関心領域マップをエンコーダに供給する更新コンポーネントをさらに備えることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記一組の所定の彩度値は、人間の肌色に関連する彩度値を含むことを特徴とする請求項１に記載のシステム。
【請求項１１】
メモリに格納されたコンピュータ実行可能コンポーネントを、プロセッサを用いて実行することにより、
一組のフレームに含まれる第１フレームを検査することと、
前記第１フレームに関連するマクロブロックの彩度値を決定することと、
彩度値と一組の所定の彩度値とを比較することと、
その比較結果に基づいて、前記一組の所定の彩度値内の少なくとも１つの彩度値に一致する少なくとも１つの彩度値を有する一組のマクロブロックを決定し、前記一組のマクロブロックを一組の潜在的関心領域に含めることと、
一組のフィルタ基準に少なくとも部分的に基づいて、前記一組の潜在的関心領域をフィルタリングすることと、
フィルタリングされた前記一組の潜在的関心領域に含まれる前記マクロブロックを用いて肌マップを生成すること、
を特徴とする方法。
【請求項１２】
さらに、前記肌マップに含まれるマクロブロックを第１品質で符号化し、前記第１フレームの残り部分を第２品質で符号化することを特徴とする請求項１１に記載の方法。
【請求項１３】
さらに、前記第１フレームに関連する前記マクロブロックに関連する動きベクトルを用いて動きマップを更新することを特徴とする請求項１１に記載の方法。
【請求項１４】
さらに、前記肌マップ及び前記動きマップに応じて前記第１フレームに関連するマクロブロックを採点することを特徴とする請求項１３に記載の方法。
【請求項１５】
さらに、所定閾値を満たす採点結果を有する前記第１フレーム内のマクロブロックを、前記第１フレームについての関心領域マップに含めることを特徴とする請求項１４に記載の方法。
【請求項１６】
さらに、前記第１フレームについての前記関心領域マップと前記一組のフレーム内の他のフレームについての関心領域マップとの間の差分が所定の差分閾値を満たすことを判断し、前記他のフレームについての前記関心領域マップをそれに応じて前記第１フレームについての前記関心領域マップで置き換えることを特徴とする請求項１５に記載の方法。
【請求項１７】
さらに、最新の関心領域マップに基づいて前記一組のフレーム内のフレームを符号化することを特徴とする請求項１６に記載の方法。
【請求項１８】
メモリに格納されたコンピュータ実行可能コンポーネントを、プロセッサを用いて実行することにより、
ビデオ内の第１フレームについて決定した関心領域に関する第１データ組と前記ビデオ内の第２フレームについて決定した関心領域に関する第２データ組とを比較することと、
比較結果に応じて、前記第１データ組及び前記第２データ組の差分が所定の差分閾値を満たすことを判断することと、
前記第１データ組及び前記第２データ組の差分が前記所定の差分閾値を満たすことに応じて、前記第１データ組を前記第２データ組で置き換えることと、
前記決定した関心領域に関する前記第２データ組に少なくとも部分的に基づいて前記ビデオ内の前記第２フレームを符号化すること、
ことを特徴とする方法。
【請求項１９】
さらに、
前記比較結果に応じて、前記第１データ組及び前記第２データ組の差分が前記所定の差分閾値を満たさないことを判断することと、
前記第１データ組及び前記第２データ組の差分が前記所定の差分閾値を満たさないことに応じて、前記第１データ組を保持することと、
前記決定した関心領域に関する前記第１データ組に少なくとも部分的に基づいて前記ビデオ内の前記第２フレームを符号化すること、
を特徴とする請求項１８に記載の方法。
【請求項２０】
前記第２データ組に少なくとも部分的に基づいて前記ビデオ内の前記第２フレームを前記符号化することは、前記決定した関心領域を第１品質で符号化し、前記第２フレームの残り部分を第２品質で符号化することを含むことを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についてのクロス・リファレンス）
本出願は、２０１２年２月１０日に出願され"ADAPTIVE REGION OF INTEREST"という名称の米国特許出願第１３／３７０，５３０号の利益を主張する。その全体は参照によって、本明細書に組み込まれる。
【０００２】
本開示は、一般に、ビデオコンテンツにおける関心領域の適応的決定と品質の改善を容易にするシステム及び方法に関する。
【背景技術】
【０００３】
ビデオ会議によって、２つ以上の場所の人々がビデオ及び音声送信を介して同時に交流できる。過去において、ビデオ会議は、主に企業での使用に限られていた。しかしながら、帯域幅コストの低下と相まって、インターネット及びワイヤレス通信ネットワークの成長により、ビデオ会議は以前にもましてより身近なものになった。インターネット又はワイヤレス通信ネットワークを使用して低い帯域幅のビデオ会議を消費者に提供する多くのサービスが存在する。これに加え、スマートフォン及びタブレットコンピュータのようなカメラを備えた移動通信デバイスの急成長によって、消費者には、実質上いつでも世界のどこかからでもビデオ会議が可能になった。
【０００４】
一般的に、ビデオ会議は、大量のビデオ及び音声情報の送受信を必要とし帯域幅を消費する処理である。低い帯域幅のビデオ会議は、高い圧縮をビデオ伝送に適用することによって、部分的に帯域幅の必要条件を緩和する。しかしながら、ビデオを大幅に圧縮すると観察されるビデオの全体の品質が低下する。この品質の減少は、人間の顔を見るとすぐにわかることが多い。低い帯域幅ビデオ会議で使用される高い圧縮率のため、人々を認識できなくなることがある。
【０００５】
高帯域又は高解像度ビデオ会議では、観察されるビデオを高品質にできる。しかしながら、これらの技術は、容易に利用できないか入手可能でない特別な通信基盤を必要とすることができる。加えて、一般的な顔の検出及び／又は強調技術は、計算コストが高価になることがあり、またビデオ会議に向かないこともある。
【発明の概要】
【０００６】
本明細書のいくつかの態様の基本的な理解を与えるために、本明細書の簡単なサマリーを以下に示す。本サマリーは、本明細書の広範囲な全体像ではない。本サマリーは、本明細書の要点や重要な要素を特定するものではなく、本明細書の具体的な実施態様のいかなる範囲又は請求の範囲のいかなる範囲を詳細に説明するものでもない。本サマリーの唯一の目的は、後述するより詳細な説明の前置きとして、本明細書のいくつかの概念を簡単な形で示すことである。
【０００７】
主題となる革新の一態様によれば、ビデオコンテンツにおける関心領域の適応的決定と品質の改善のためのシステムと方法が開示される。画像のそれぞれの領域に包含される彩度値を決定する。この彩度値と、人間の肌色に対応する一組の彩度値とを比較する。そして、人間の肌色に対応する彩度値を有する画像領域を、１組の関心領域に含める。エンコーダは、画像に含まれる関心領域を、画像の残り部分より高い品質又はより良い品質で符号化する。
【０００８】
一つの実施形態において、領域検査コンポーネント（component）はフレームの領域を検査する。検出コンポーネントはフレームの領域に包含される彩度値を決定する。比較コンポーネントは、この彩度値と一組の所定の彩度値とを比較して、比較結果に基づいてフレーム内の一組の関心領域を決定する。
【０００９】
以下の説明及び添付図面は、明細書の特定の例示の態様を記載する。しかしながら、これらの態様は、明細書記載の原理を使用できる様々な方法をいくつか示す。明細書の他の利点及び新しい特徴は、図面に関連して考慮される明細書の以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【００１０】
【図１】本開示に記載される様々な態様による、画像内の関心領域を決定する例示のシステムを示す。
【００１１】
【図２】本開示に記載される様々な態様による、画像内の関心領域を決定する例示のシステムを示す。
【００１２】
【図３】本開示に記載される様々な態様による、画像内の関心領域を決定する例示のシステムを示す。
【００１３】
【図４】本開示に記載される様々な態様による、画像内の関心領域を決定する例示のシステムを例示する。
【００１４】
【図５】本開示に記載される様々な態様による、肌色マップの非限定的な実施例を提供するシステムを示す。
【００１５】
【図６】本開示に記載される様々な態様による、画像内の関心領域を決定するそれぞれの方法の実施例のフローチャートである。
【図７】本開示に記載される様々な態様による、画像内の関心領域を決定するそれぞれの方法の実施例のフローチャートである。
【図８】本開示に記載される様々な態様による、画像内の関心領域を決定するそれぞれの方法の実施例のフローチャートである。
【図９】本開示に記載される様々な態様による、画像内の関心領域を決定するそれぞれの方法の実施例のフローチャートである。
【００１６】
【図１０】様々な実施形態が実現可能な非限定的な例示のネットワーク化環境を示すブロック図である。
【００１７】
【図１１】様々な実施形態が実現可能な非限定的な例示のコンピュータシステム又は操作環境を示すブロック図である。
【発明を実施するための形態】
【００１８】
＜概要＞
以下、図面を参照して本革新を説明する。全体に亘って同様の構成要素には同様の参照番号が使用される。以下の説明において、説明の便宜上、本革新の完全な理解を提供するために多数の特定の細部が記載される。しかしながら、これらの特定の細部がなくても本革新を実践できることは明白であろう。その他、本革新の説明を容易にするために、周知の構造及び装置はブロック図形式で示す。
【００１９】
背景技術の節で述べたように、顔の検出及び／又は強調技術のための従来の技術は、計算コストが高価になることがあり、またビデオ会議に向いていないことがある。本革新の１つの非限定的な実施は、ビデオ会議のための効果的かつ正確な顔の検出及び／又は強調を提供する。本実施は、肌色に対応する画像の領域を適応的に決定して、この領域に関するデータをエンコーダに供給する。エンコーダは、この領域を、画像の残り部分より高い品質又はより良い品質で符号化する。
【００２０】
より詳しくは、ある実施形態によれば、領域検査コンポーネントはフレームの領域を調べる。そして、検出コンポーネントはフレームの領域に包含される彩度値を決定する。比較コンポーネントは、この彩度値を一組の所定の彩度値と比較して、比較結果に基づいて、フレーム内の一組の関心領域を決定する。
【００２１】
＜画像内の関心領域の適応的決定の非限定的な実施例＞
図１を参照する。図１は、本開示に記載される様々な態様による、画像内の関心領域を適応的に決定するための例示のシステム１００を示す。一般に、システム１００は、コンピュータ実行可能コンポーネントが格納されるメモリと、メモリに格納されるコンピュータ実行可能コンポーネントを実行するプロセッサと含んでよい。その実施例は、図１１を参照することにより見つけることができる。システム１００は、適応関心領域コンポーネント１０２（ＲＯＩコンポーネント１０２）を含む。ＲＯＩコンポーネント１０２は、一組のフレーム（例えばビデオ）に含まれるフレーム（例えば画像データ、写真データ、その他）を取得、獲得又は、さもなければ受信する。例えば、ある実施では、ＲＯＩコンポーネント１０２は、第１時刻にビデオ１０４（又はビデオ会議送信）に含まれる第１フレーム１０４Ａを受信して、第１時刻の後の所定の時間間隔（例えば所定のフレームレート）で、ビデオ１０４の他のフレームを受信する。例えば、ＲＯＩコンポーネント１０２は、第１時刻の後の第２時刻に第２フレーム１０４Ｂを受信し、第２時間の後の第３時刻に第３フレーム１０４Ｃを受信してよい。ＲＯＩコンポーネント１０２は、ビデオ１０４に含まれるそれぞれのフレーム内の関心領域（ＲＯＩ）を決定して、この関心領域に関するデータ（例えば位置、同一性、その他）をエンコーダ１０６に供給する。本革新の態様は、ビデオ１０４に含まれるフレーム数に限定されないものと認識されるべきである。例えば、ビデオ１０４はＸ個のフレームを含むことができる。ここで、Ｘは整数である。
【００２２】
ＲＯＩコンポーネント１０２は、検出コンポーネント１０８及びフィルタコンポーネント１１０を含む。検出コンポーネント１０８は、フレームの領域（例えばマクロブロック、その他）を点検、検査又は、さもなければ分析して、フレームに含まれる、一組のＲＯＩ基準１１４を満たす一組の領域（潜在的関心領域又は潜在的ＲＯＩ）を決定する。一組のＲＯＩ基準１１４は、検出すべき対象に関連する所定の彩度値の包含、存在又は発生を含んでもよいが、これらに限定されるものではない。例えば、ある実施では、検出コンポーネント１０８は、ＲＯＩ基準１１４のセットの充足に基づいて、フレームの領域のマップを作成する。
【００２３】
フィルタコンポーネント１１０は、一組のフィルタ基準に基づいて一組の潜在的ＲＯＩに含まれる領域を除去する。フィルタコンポーネント１１０は、フィルタ処理された一組の潜在的ＲＯＩに基づいて、一組のＲＯＩデータ１１２を生成する。一組のフィルタ基準は、所定の閾値を満たす変動（variance）を有することを含んでもよいが、これに限定されるものではない。例えば、１つの実施では、フィルタコンポーネント１１０は、一組の潜在的ＲＯＩに含まれる、所定の閾値未満の分散を持つ領域を除去する。ＲＯＩデータ１１２は、フレームに含まれるＲＯＩ及び／又は非関心領域（ＲＯＮＩ）を示す。例えば、ある実施では、フィルタコンポーネント１１０は、フレームのそれぞれの領域がＲＯＩ及び／又はＲＯＮＩを含むか否かを示す画像マップ（例えばＲＯＩデータ１１２そのもの又はＲＯＩデータ１１２を使用するもの）を生成する。ＲＯＩ基準１１４は、例えばデータ格納部１１６内に保持されてもよいが、このような実施に制限されないと認識されるべきである。例えば、ＲＯＩ基準１１４はＲＯＩコンポーネント１０２内に保持されてもよく、例えばネットワーク接続を介して、異なる場所にあるＲＯＩコンポーネント１０２がＲＯＩ基準１１４にアクセスしてもよい。
【００２４】
エンコーダ１０６は、ビデオ１０４に含まれる少なくとも一つのフレームに関連するＲＯＩデータ１１２に少なくとも部分的に基づいて、ビデオ１０４に含まれるフレームを変換、変更、又はさもなければ符号化する。例えば、ある実施では、エンコーダ１０６は、フレーム内のＲＯＩを、フレーム内のＲＯＮＩより高い品質、より良い品質、又はさもなければより優れた品質で符号化する。エンコーダ１０６は、例えばＲＯＩコンポーネント１０２とは別のものであってもよいが、このような実施に制限されないと認識されるべきである。例えば、ＲＯＩコンポーネント１０２は、エンコーダ１０６に含まれていても関連していてもよく、又はエンコーダ１０６に加えて実行されてもよい。
【００２５】
図２は、本開示に記載される様々な態様による、画像内の関心領域を適応的に決定するための例示のシステム２００を示す。システム２００は、適応関心領域コンポーネント１０２（ＲＯＩコンポーネント１０２）を含む。上記のように、ＲＯＩコンポーネント１０２はフレーム（例えば、ビデオ１０４に含まれるフレーム１０４Ａ）を受信して、フレーム内の関心領域（ＲＯＩ）に関するデータをエンコーダ１０６に供給する。図２のＲＯＩコンポーネント１０２は、検出コンポーネント１０８及びフィルタコンポーネント１１０を含む。上述のように、検出コンポーネント１０８はフレームの領域（例えばマクロブロック、その他）を分析して、一組のＲＯＩ基準１１４を満たす一組の領域を決定する。図２の検出コンポーネント１０８は、領域検査コンポーネント２０２、彩度検出コンポーネント２０４及び比較コンポーネント２０６を含む。
【００２６】
領域検査コンポーネント２０２は、フレームのそれぞれの領域を点検、検査又は、さもなければ分析する。例えば、ある実施では、フレームの領域はそれぞれのマクロブロックに分けられる。領域検査コンポーネント２０２はフレームに関連するそれぞれのマクロブロックを分析する。彩度検出コンポーネント２０４は、それぞれの領域（例えばマクロブロック）の彩度値／それぞれの領域に含まれる彩度値を、特定するか、検出するか又は、さもなければ決定する。比較コンポーネント２０６は、一組のＲＯＩ基準１１４を満たす彩度値を有する領域を特定するか、検出するか又は、さもなければ決定して、決定された領域を一組の潜在的ＲＯＩに含める。例えば、ある態様では、一組のＲＯＩ基準１１４は、一組の所定の彩度値に含まれる少なくとも一つの彩度値に一致しているを含むが、これに限定されるものではない。例えば、比較コンポーネント２０６は、一組の所定の彩度値に含まれる一つ以上の彩度値に各々一致する彩度値を有する領域を決定して、少なくとも一つの一致する彩度値を有する領域を、一組の潜在的ＲＯＩに含めてもよい。
【００２７】
フィルタコンポーネント１１０は、一組のフィルタ基準に基づいて一組の潜在的ＲＯＩに含まれる領域を除去して、フィルタ処理された一組の潜在的ＲＯＩに基づいて、フレームのためのＲＯＩデータ１１２を生成する。例えば、ある実施では、フィルタコンポーネント１１０は、所定の閾値未満の分散を有する領域を除去して、フィルタ処理された一組の潜在的ＲＯＩ内の残った領域を使用して、ＲＯＩデータ１１２を生成する。上述のように、エンコーダ１０６は、ビデオに含まれる少なくとも一つのフレームに関連するＲＯＩデータ１１２に少なくとも部分的に基づいて、ビデオ１０４に含まれるフレームを符号化する。
【００２８】
図３を参照する。図３は、本開示に記載される様々な態様による、画像内の関心領域を適応的に決定するための例示のシステム３００を示す。システム３００は、適応関心領域コンポーネント１０２（ＲＯＩコンポーネント１０２）を含む。上述のように、ＲＯＩコンポーネント１０２はビデオに含まれるフレームを受信して、フレーム内の関心領域（ＲＯＩ）に関するデータをエンコーダ１０６に供給する。例えば、ある実施では、ＲＯＩは、人間の顔（例えばユーザの顔）に対応するフレームの領域である。図３のＲＯＩコンポーネント１０２は、検出コンポーネント１０８、フィルタコンポーネント１１０及び更新コンポーネント３０２を含む。
【００２９】
図３の検出コンポーネント１０８は、領域検査コンポーネント２０２、彩度検出コンポーネント２０４及び比較コンポーネント２０６を含む。上述のように、領域検査コンポーネント２０２はフレームのそれぞれの領域を分析する。例えば、ある実施では、フレームの領域はそれぞれマクロブロックに対応する。そして、領域検査コンポーネント２０２はフレームのそれぞれのマクロブロックを検査する。彩度検出コンポーネント２０４は、それぞれのマクロブロックの彩度値／それぞれのマクロブロックに含まれる彩度値を決定する。比較コンポーネント２０６は、一組のＲＯＩ基準１１４を満たす彩度値を有するマクロブロックを決定して、決定されたマクロブロックを一組の潜在的ＲＯＩに含める。例えば、図３の一組のＲＯＩ基準１１４は、肌色マップ３０４に含まれる一つ以上の彩度値に一致している彩度値を有することを含んでもよいが、これに限定されるものではない。例えば、ある実施では、肌色マップ３０４は、人間の肌色に対応する彩度値をマッピングする図（例えばプロット図（plot）、グラフ、その他）である（図５を参照してより詳細に述べる）。比較コンポーネント２０６は、肌色マップ３０４内の一つ以上の彩度値に一致する彩度値を有するマクロブロックを決定して、一致する彩度値を有するマクロブロックを一組の潜在的ＲＯＩに含める。
【００３０】
上述のように、フィルタコンポーネント１１０は一組のフィルタ基準に基づいて一組の潜在的ＲＯＩ内の領域（例えばマクロブロック）を除去して、フィルタ処理された一組の潜在的ＲＯＩに基づいてフレームのためのＲＯＩデータ１１２を生成する。図３のフィルタコンポーネント１１０は、低分散フィルタ（low variance filter）コンポーネント３０６及びメディアンフィルタ・コンポーネント３０８を含む。低分散フィルタコンポーネント３０６（ＬＶフィルタコンポーネント３０６）は、所定の分散閾値（例えば低い分散）を満たさない分散を有する一組の潜在的ＲＯＩ内の領域（例えばマクロブロック）を除去して、及び／又は中央値絶対偏差（median absolute deviation）（ＭＡＤ値）内の値を有する領域を除去する。顔に関連する画像データを包含するマクロブロックは、一般に、マクロブロック内に分散を与える顔の細部を包含する。特定の分散（例えば低分散又はＭＡＤ値）を満たさないマクロブロックを除去することにより、顔に関連する可能性が低いマクロブロックを取り除くことができる。
【００３１】
メディアンフィルタ・コンポーネント３０８は、メディアンフィルタを一組の潜在的ＲＯＩに適用する。メディアンフィルタは、相関する隣接マクロブロックの量が所定の中央値閾値を満たさないマクロブロックを除去する。例えば、一つの実施では、メディアンフィルタ・コンポーネント３０８は、相関する隣接マクロブロックの量が所定の中央値閾値より小さいマクロブロックを除去する。メディアンフィルタ・コンポーネント３０８は、多くの相関する隣接領域を有するフレームの範囲（例えばマクロブロック）を保持し、利用可能な情報が限られている小さい範囲によって生じる誤差を取り除くことができる。フィルタコンポーネント１１０は、フィルタ処理された一組の潜在的ＲＯＩに残っているマクロブロックを一組の関心領域（ＲＯＩ）に含める。例えば、ある実施では、フィルタコンポーネント１１０は、フレームに含まれるそれぞれのマクロブロックが一組のＲＯＩに含まれるか否かを示す肌マップ（例えばＲＯＩデータ１１２そのもの又はＲＯＩデータ１１２を使用するもの）を生成する。
【００３２】
更新コンポーネント３０２は、一組の更新基準に基づいて、前に生成されたＲＯＩデータ１１２を、現在のＲＯＩデータ１１２に更新、修正、又はさもなければ置換する。更新基準は、所定の差分閾値を含んでよいが、これに限定されるものではない。例えば、ある実施では、ＲＯＩデータ１１２はビデオ１０４に含まれる第１フレーム１０４Ａについて生成され、そして、ＲＯＩデータ１１２はエンコーダ１０６に供給される。更新コンポーネント３０２は第１フレーム１０４Ａについて生成されたＲＯＩデータ１１２と、第２フレーム１０４Ｂについて生成されたＲＯＩデータ１１２とを比較する。そして、第１フレーム１０４Ａ及び第２フレーム１０４Ｂについて生成されたＲＯＩデータ１１２間の差分が所定の差分閾値を満たさない場合、更新コンポーネント３０２は、第２フレーム１０４Ｂについて生成されたＲＯＩデータ１１２をエンコーダ１０６に供給しない。ＲＯＩデータ１１２の更新及び／又は信号送信によって、計算コストが生じる。そして、ＲＯＩが差分閾値の範囲内である場合（例えば、第１フレーム１０４Ａ及び第２フレーム１０４Ｂにおいて、実質的に同じ）、更新コンポーネント３０２は更新されたＲＯＩデータ１１２をエンコーダ１０６に供給しない。エンコーダ１０６は、最新のＲＯＩデータ１１２に少なくとも部分的に基づいてビデオ１０４内のフレームを符号化する。例えば、更新コンポーネント３０２が第２フレーム１０４Ｂについて生成されたＲＯＩデータ１１２を供給しない場合、エンコーダ１０６は最新のＲＯＩデータ１１２（例えば第１フレーム１０４Ａについて生成されたＲＯＩデータ１１２）に少なくとも部分的に基づいて、第２フレーム１０４Ｂを符号化する。
【００３３】
図４は、本開示に記載される様々な態様による、画像内の関心領域を適応的に決定するための例示のシステム４００を示す。システム４００は、適応関心領域コンポーネント１０２（ＲＯＩコンポーネント１０２）を含む。ＲＯＩコンポーネント１０２は、ビデオ１０４に含まれるフレームを受信する。ＲＯＩコンポーネント１０２は、フレーム内の関心領域（ＲＯＩ）を決定する。例えば、ある実施では、ＲＯＩは、人間の顔（例えばユーザの顔）の一部分に対応するフレームの領域である。図４のＲＯＩコンポーネントは、検出コンポーネント１０８、フィルタコンポーネント１１０、動きコンポーネント４０２及び更新コンポーネント３０２を含む。
【００３４】
上述のように、検出コンポーネント１０８はフレーム内の潜在的ＲＯＩを決定する。図４の検出コンポーネント１０８は、領域検査コンポーネント２０２、彩度検出コンポーネント２０４及び比較コンポーネント２０６を含む。領域検査コンポーネント２０２は、フレームのそれぞれの領域を分析する。例えば、ある実施では、フレームの領域はそれぞれマクロブロックに対応する。そして、領域検査コンポーネント２０２はフレームに含まれるそれぞれのマクロブロックを検査する。彩度検出コンポーネント２０４は、それぞれのマクロブロックの彩度値／それぞれのマクロブロックに含まれる彩度値を決定する。比較コンポーネント２０６は、一組のＲＯＩ基準１１４を満たす彩度値を有するマクロブロックを決定して、決定された領域を一組の潜在的ＲＯＩに含める。例えば、図４の一組のＲＯＩ基準１１４は、例えば、肌色マップ３０４（図５を参照してより詳細に述べる）において肌色として定義される彩度値の範囲内の彩度値を有することを含んでもよいが、これに限定されるものではない。例えば、ある実施では、比較コンポーネント２０６は、肌色マップ３０４において肌色と関連付けられた／肌色として定義された彩度値を有するマクロブロックを一組の潜在的ＲＯＩに含める。ビデオ会議の間、ユーザは一般に、カメラの焦点をユーザの顔に合わせる。そして、肌色として定義される彩度値を包含するマクロブロックは、ユーザの顔に関連するデータを含む確率が高い。
【００３５】
フィルタコンポーネント１１０は、彩度検出コンポーネント２０４により生成された一組の潜在的ＲＯＩをフィルタリングして、フィルタ処理された一組の潜在的ＲＯＩに基づいて、肌マップを生成する。図４のフィルタコンポーネント１１０は、低分散フィルタコンポーネント３０６及びメディアンフィルタ・コンポーネント３０８を含む。低分散フィルタコンポーネント３０６（ＬＶフィルタコンポーネント３０６）は、所定の分散閾値を満たさない分散を有するマクロブロックを除去し、及び／又は中央値絶対偏差（ＭＡＤ値）内の値を有するマクロブロックを除去する。上述のように、人間の顔に関連するマクロブロックは、一般に、分散を与える人間の顔の細部を包含する。分散が低いマクロブロックを除去することにより、顔の詳細を包含する可能性が低いマクロブロックを取り除くことができる。メディアンフィルタ・コンポーネント３０８は、相関する隣接マクロブロックの量が所定の中央値閾値を満たさないマクロブロックを除去するメディアンフィルタを適用する。例えば、一つの実施では、メディアンフィルタ・コンポーネント３０８は、相関する隣接マクロブロックの量が所定の中央値閾値より小さいマクロブロックを除去する。上述のように、メディアンフィルタ・コンポーネント３０８は、多くの相関する隣接領域を有するフレームの範囲（例えばマクロブロック）を保持し、利用可能な情報が限られている小さい範囲によって生じる潜在的誤差を低減できる。フィルタコンポーネント１１０は、フィルタ処理された一組の潜在的ＲＯＩに含まれる（又は残っている）マクロブロックをマッピングして、肌マップを生成する。肌マップは、顔（例えば関心領域）と関連するデータを包含する可能性が高いフレーム内のマクロブロックを示す。
【００３６】
動きコンポーネント４０２は、フレームに含まれるマクロブロックに関連する動きベクトルを分析する。動きコンポーネント４０２は、マッピングコンポーネント４０４及び採点コンポーネント４０６を含む。マッピングコンポーネント４０４は、フレームに含まれるそれぞれのマクロブロックについて分析された動きベクトルに基づいて、動きマップを生成する。例えば、ある実施では、マクロブロックが非零の動きベクトルとともに符号化される場合に、マッピングコンポーネント４０４は、動きマップにおいてマクロブロックに対応する値をインクリメントするか、増加させる、又はさもなければ増大させる。動きマップは、ビデオ１０４内の複数のフレーム（例えば１０４Ａ〜１０４Ｃ）からの動き情報を集合し、動きの発生が多いビデオ１０４の範囲を示す。
【００３７】
採点コンポーネント４０６は、肌マップ及び動きマップに応じてフレーム内のマクロブロックを採点して、採点結果を使用するＲＯＩマップ（又はＲＯＩデータ１１２）を生成する。例えば、ある実施では、採点コンポーネント４０６は、肌マップに含まれるか否かと、動きマップにてマクロブロックに関連付けられた動き値とに基づいてマクロブロックを採点する。例えば、マクロブロックが肌マップに含まれ、且つ動きマップにてマクロブロックに関連付けられた動き値が所定の動き閾値を上回る場合、ＲＯＩマップにおいて、このマクロブロックを「１」（例えば真（True）等）と採点してよい。また、マクロブロックが肌マップに含まれず、及び／又は動きマップにてマクロブロックに関連付けられた動き値が所定の動き閾値を上回らない場合、ＲＯＩマップにおいて、このマクロブロックを「０」（例えば偽（False）等）と採点してよい。追加の実施例又は代替実施例として、一つの実施では、採点コンポーネント４０６は、肌マップに含まれるか否か及び／又は動きマップにおける動き値の重要度を、一組の重み付け係数に基づいて調整、修正又は、さもなければ重み付けしてよい。この重み付け係数は、肌マップが正確であるという信頼性（例えば可能性等）及び／又はフレーム内の動きが顔に関連付けられているという信頼性（例えば可能性等）を含んでもよいが、これらに限られない。例えば、ビデオ会議の間、使用されるカメラの移動量が、所定のカメラ動き閾値を超えることがある。この場合、フレーム内の動きが顔に関連付けられている信頼性は低くなる。ＲＯＩマップを生成するときに、採点コンポーネント４０６は、動きマップにてマクロブロックに与える動き値よりも大きな重要性（例えば重み）を、肌マップに含まれているマクロブロックに適用してもよい。
【００３８】
更新コンポーネント３０２は、一組の更新基準に基づいて、第１フレームに関連するＲＯＩマップを、第２フレームに関連するＲＯＩマップによって、更新、修正、又はさもなければ、置換する。更新基準は、所定の差分閾値を含んでよいが、これに限定されるものではない。例えば、ある実施では、ビデオ１０４に含まれる第１フレーム１０４Ａについて生成されたＲＯＩマップは、エンコーダ１０６に与えられる。更新コンポーネント３０２は、このＲＯＩマップと、第２フレーム１０４Ｂについて生成されたＲＯＩマップとを比較する。そして、第１フレームについて生成されたＲＯＩマップ及び第２フレーム１０４Ｂについて生成されたＲＯＩマップ間の差分が所定の差分閾値を上回らない場合、更新コンポーネント３０２は、第２フレーム１０４Ｂについて生成されたＲＯＩマップをエンコーダ１０６へ伝達しない。
【００３９】
エンコーダ１０６は、最新のＲＯＩマップに少なくとも部分的に基づいてビデオ１０４内のフレームを符号化する。例えば、最新のＲＯＩマップは、フレーム１０４Ａに関連していてもよい。エンコーダ１０６は、最新のＲＯＩマップに部分的に基づいてフレーム１０４Ｃを符号化してよい。例えば、エンコーダ１０６は、人間の顔に対応するとＲＯＩマップで採点された（例えば「１」）マクロブロックを、人間の顔に対応しないとＲＯＩマップで採点された（例えば「０」）マクロブロックよりも高い品質、より良い品質、又はさもなければより優れた品質で符号化してよい。
【００４０】
図５は、本開示に記載される様々な態様による、肌色マップ５０２の非限定的な実施例を提供するシステム５００を示す。肌色マップ５０２は、人間の肌色に対応する一組の彩度値５０４のプロット図である。例えば、ある実施では、一組の彩度値５０４は、一組の訓練データ（training data）から決定される。一組の訓練データは、人々の一組の画像を含むが、これに限定されるものではない。一つの実施では、肌色マップ５０２のＸ軸は青の色差（例えばＣｂ成分）を表す、そして、肌色マップ５０２のＹ軸は赤の色差（例えばＣｒ成分）を表す。領域５０６は、肌色として定義される彩度値の領域を表す。例えば、領域５０６は、最も一般的に人間の肌色に関連する彩度値５０４を含んでよく、誤差を起こしうる異常値の彩度値を含まなくてよい。
【００４１】
上述のように、一つの実施では、彩度検出コンポーネント２０４は、マクロブロックに含まれる彩度値と肌色マップ（例えば５０２）とを比較して、マクロブロックが彩度値（例えば５０４）のうちの少なくとも１つに一致する一つ以上の彩度値を含むかどうかを決定してもよく、及び／又はマクロブロックが人間の肌色に対応する肌色マップ（例えば５０６）の領域内の一つ以上の彩度値を含むかどうかを決定してもよい。ビデオ会議の間、ユーザは一般に、カメラの焦点を顔に合わせる。そして、肌色に関連する彩度値を包含するマクロブロックは、ユーザの顔を含む可能性が高い。彩度検出コンポーネント２０４は、彩度値５０４の及び／又は領域５０６内の彩度値の少なくとも１つに一致する彩度値を有するマクロブロックを潜在的関心領域（ＲＯＩ）として分類してよい。肌色マップ５０２は、肌色マップの一つの実施例にすぎず、このような実施に制限されないと認識されるべきである。追加の又は代替の肌色マップを、異なる量又は異なる形式の訓練データに基づいて生成してもよい。
【００４２】
＜画像内の関心領域の適応的決定のための方法の非限定的な実施例＞
図６〜図９は、開示される主題による様々な方法論を例示する。説明の簡単のため、方法論は、ある一連の動作として図示及び記載されるが、開示される主題は、この動作の順序に限定されない。いくつかの動作は異なる順序で起こってもよく、及び／又は本明細書で図示及び記載される他の動作と並列して起こってもよい。例えば当業者は、方法論を、相互に関連のある一連の状態又はイベントとして、例えば状態図に代替的に表現できることが理解及び認識できるであろう。さらに、説明されるすべての動作が、開示される主題による方法論の実施に必要ではなくともよい。また、本開示で開示される方法論は、このような方法論をコンピュータ又は他のコンピュータ装置へ運搬及び伝達するのを容易にする物品に格納できると認識されるべきである。
【００４３】
図６を参照する。図６は、本開示に記載される様々な態様による、画像内の関心領域検出のための例示の方法論６００を示す。参照番号６０２において、画像のそれぞれの領域が分析される（例えば、検出コンポーネント１０８が使用される）。例えば、ある実施において、画像は、一組の画像（例えばビデオ又はビデオ会議送信）内の最初の画像であり、画像の領域は、それぞれマクロブロックに関連する（例えば、マクロブロックに分割され、又はマクロブロックとして符号化される）。そして、マクロブロックを分析する。
【００４４】
参照番号６０４において、一組の関心領域（ＲＯＩ）基準に基づいて画像内の関心領域を決定する（例えば、検出コンポーネント１０８が使用される）。例えば、ある実施では、一組のＲＯＩ基準は、検出する対象に対応する一つ以上の彩度値に一致することを含んでもよい。少なくとも一つの一致する彩度値を包含する画像の領域は、関心領域として決定される（例えば、比較コンポーネント２０６が使用される）。
【００４５】
参照番号６０６において、画像内の決定された関心領域に関するデータを、エンコーダに供給する（例えば、ＲＯＩコンポーネント１０２が使用される）。このデータは、画像内の決定された関心領域の識別子（例えばマクロブロック識別子）、位置、及び／又は座標を含んでもよいが、これに限定されるものではない。例えば、一つの実施形態では、エンコーダは、決定された関心領域に関するデータに少なくとも部分的に基づいて画像を変換又は符号化する（例えば、エンコーダ１０６が使用される）。例えば、エンコーダは、画像内の決定された関心領域を、画像の残り部分より高い品質又はより良好な品質で符号化してもよい。
【００４６】
図７は、本開示に記載される様々な態様による、画像内の関心領域検出のための例示の方法論７００を示す。参照番号７０２において、一組の画像に含まれる画像を受信する（例えば、ＲＯＩコンポーネント１０２が使用される）。例えば、画像は、ビデオ又はビデオ会議送信に含まれるフレームであってよい。参照番号７０４において、画像のそれぞれの領域を分析する（例えば、領域検査コンポーネント２０２が使用される）。例えば、ある実施では、画像の領域はそれぞれマクロブロックに関連し（例えば、マクロブロックに分割され、又はマクロブロックとして符号化される）、マクロブロックを分析する。
【００４７】
参照番号７０６において、一組の関心領域基準に基づいて画像内の一組の潜在的関心領域を決定する（例えば、検出コンポーネント１０８が使用される）。例えば、ある実施では、一組の関心領域基準は、検出する対象（例えば顔）に対応する一つ以上の彩度値に一致することを含んでもよい。少なくとも一つの一致する彩度値を包含する画像の領域を、一組の潜在的関心領域に含める（例えば、比較コンポーネント２０６が使用される）。
【００４８】
参照番号７０８において、一組のフィルタ基準に基づいて、一組の潜在的関心領域に含まれる領域の部分集合を除去する（例えば、フィルタコンポーネント１１０が使用される）。例えば、ある実施では、一組のフィルタ基準は、所定の分散閾値を満たす分散を有すること、及び／又は相関する隣接領域の量が中央値閾値を満たすことを含むが、これに限定されるものではない。例えば、所定の閾値未満の分散を有する領域を除去してもよく（例えば、ＬＶフィルタコンポーネント３０６が使用される）、及び／又は、相関する隣接ブロックの量が所定の閾値未満である領域を除去してもよい（例えば、メディアンフィルタ・コンポーネント３０８が使用される）。
【００４９】
参照番号７１０において、フィルタ処理された一組の潜在的関心領域に基づいて、一組の関心領域（ＲＯＩ）データを生成する（例えば、フィルタコンポーネント１１０が使用される）。データは、画像内の決定された関心領域の識別子（例えばマクロブロック識別子）、位置、及び／又は座標を含んでもよいが、これに限定されるものではない。参照番号７１２において、一組のＲＯＩデータをエンコーダに供給する（例えば、ＲＯＩコンポーネント１０２が使用される）。例えば、一つの実施形態では、エンコーダは、ＲＯＩデータに少なくとも部分的に基づいて画像を変換又は符号化する（例えば、エンコーダ１０６が使用される）。例えば、エンコーダは、画像内の決定された関心領域を、画像の残り部分より高い品質又はより良好な品質で符号化してもよい。
【００５０】
図８は、本開示に記載される様々な態様による、画像内の関心領域検出のための例示の方法論８００を示す。参照番号８０２において、一組の画像に含まれる画像を受信する（例えば、ＲＯＩコンポーネント１０２が使用される）。例えば、ある実施では、画像は、ビデオ又はビデオ会議送信に含まれるフレームである。参照番号８０４において、画像に含まれるマクロブロックを分析する（例えば、領域検査コンポーネント２０２が使用される）。そして、それぞれのマクロブロックに含まれる彩度値を決定する（例えば、彩度検出コンポーネント２０４が使用される）。参照番号８０６において、それぞれのマクロブロックに含まれる彩度値と肌色マップとを比較し、画像内の潜在的関心領域（ＲＯＩ）を決定する（例えば、比較コンポーネント２０６が使用される）。例えば、ある実施では、肌色として定義される肌色マップの領域内の彩度値を有するマクロブロックを、一組の潜在的ＲＯＩに含める。ビデオ会議の間、例えば、ユーザは一般に、カメラの焦点を一つ以上の顔に合わせる。このため、肌色に関連する彩度値を包含するマクロブロックはユーザの顔を含む可能性が高い。
【００５１】
参照番号８０８において、一組のフィルタ基準に基づいて一組の潜在的ＲＯＩに含まれる一組のマクロブロックを除去する（例えば、フィルタコンポーネント１１０が使用される）。例えば、ある実施では、一組のフィルタ基準は、所定の分散閾値を満たす分散を有すること、及び／又は相関する隣接領域の量が中央値閾値を満たすことを含むが、これに限定されるものではない。例えば、所定の分散閾値未満の分散を有する、一組の潜在的ＲＯＩ内のマクロブロックを除去してもよく（例えば、ＬＶフィルタコンポーネント３０６が使用される）、及び／又は、相関する隣接ブロックの量が所定の中間値閾値未満である、一組の潜在的ＲＯＩ内のマクロブロックを除去してもよい（例えば、メディアンフィルタ・コンポーネント３０８が使用される）。上述のように、相関する隣接マクロブロックをほとんど持たない小さな画像の範囲を除去することにより、利用可能な情報が限られている小さい範囲によって生じる誤差を低減できる。参照番号８１０において、フィルタ処理された一組の潜在的ＲＯＩに基づいて、肌マップを生成する（例えば、フィルタコンポーネント１１０が使用される）。例えば、ある実施において、フィルタ処理された一組の潜在的ＲＯＩに含まれる（又は残った）マクロブロックをマッピングして、肌マップを生成する。肌マップは、顔（例えば関心領域）に関連するデータを包含する可能性が高いフレームに含まれるマクロブロックを示す。
【００５２】
参照番号８１２において、画像に含まれるマクロブロックに関連する動きベクトルに基づいて動きマップを更新する（例えば、マッピングコンポーネント４０４が使用される）。例えば、ある実施では、マクロブロックが非零の動きベクトルとともに符号化される場合に、動きマップにおいてマクロブロックに対応する値を増加させる（例えばインクリメントする）。動きマップは、一組の画像内の複数の画像からの動き情報を合計し、動きの発生が最も多い、一組の画像に含まれる範囲を示す。上述のように、ビデオ会議の間、ユーザは一般に、カメラの焦点を一つ以上の顔に合わせる。このため、動きの発生が最も多い範囲は、ユーザの顔の一部と関連する可能性が高い。
【００５３】
参照番号８１４において、肌マップ及び動きマップに応じて関心領域（ＲＯＩ）マップを生成する（例えば、採点コンポーネント４０６が使用される）。例えば、ある実施では、肌マップに含まれるか否かと、動きマップにてマクロブロックに関連付けられた動き値とに基づいてマクロブロックを採点する。例えば、マクロブロックが肌マップに含まれ、且つ動きマップにてマクロブロックに関連付けられた動き値が所定の動き閾値を上回る場合、ＲＯＩマップにおいて、このマクロブロックを「１」（例えば真など）と採点してよい。これに加えて、又はこれに代えて、マクロブロックが肌マップに含まれず、及び／又は動きマップにてマクロブロックに関連付けられた動き値が所定の動き閾値を上回らない場合、ＲＯＩマップにおいて、このマクロブロックを「０」（例えば偽など）と採点してよい。
【００５４】
追加の実施例又は代替実施例として、一つの実施では、肌マップに含まれるか否か及び／又は動きマップにおける動き値の重要度を、一組の重み付け係数に基づいて重み付けする（例えば、採点コンポーネント４０６が使用される）。この重み付け係数は、肌マップが正確であるという信頼性（例えば可能性等）及び／又はフレーム内の動きが顔に関連付けられているという信頼性（例えば可能性等）を含んでいてもよいが、これらに限られない。例えば、ビデオ会議の間、使用されるカメラの移動量が、所定のカメラ動き閾値を超えることがある。この場合、フレーム内の動きが顔に関連付けられている信頼性は低くなる。ＲＯＩマップを生成するときに、動きマップ内の動き値よりも大きな重要性（例えば重み）を、肌マップに含まれるか否かに適用してもよい。
【００５５】
図９は、本開示に記載される様々な態様による、画像内の関心領域検出のための例示の方法論９００を示す。参照番号９０２において、画像（例えば参照番号８０２で受信した画像）が一組の画像内の最初の画像であるか否かを判断する。画像が、一組の画像内の最初の画像であると判断される場合（参照番号９０２において、Ｙ）、参照番号９０４において、ＲＯＩデータをエンコーダに供給する（例えば、更新コンポーネント３０２が使用される）。そして、方法論は参照番号９０８へ進む。
【００５６】
参照符号９０２を再び参照する。画像が、一組の画像内の最初の画像でないと判断される場合（参照番号９０２において、Ｎ）、参照番号９０６において、ＲＯＩマップが一組の更新基準を満たすか否かを判断する（例えば、更新コンポーネント３０２が使用される）。更新基準は、差分閾値を含んでもよいが、これに限定されるものではない。例えば、ある実施では、ビデオに含まれる最初の画像についてＲＯＩマップを生成し、エンコーダに供給する。２番目の画像について生成された他のＲＯＩマップを、最初の画像について生成したＲＯＩマップと比較する。そして、最初の画像及び２番目の画像について生成されたＲＯＩマップ間の差分が差分閾値を満たさない場合、２番目の画像について生成されたＲＯＩマップはエンコーダに供給しない。ＲＯＩマップの更新及び／又は信号送信によって、計算コストが生じうる。このため、最初の画像及び２番目の画像において、ＲＯＩが実質的に同じ場合には、後者のＲＯＩマップはエンコーダに供給しない。ＲＯＩマップが更新基準を満たさないと判断される場合（参照番号９０６において、Ｎ）、ＲＯＩマップをエンコーダに供給しない（例えば、更新コンポーネント３０２が使用される）。そして、方法論は参照番号９０８へ進む。ＲＯＩマップが更新基準を満たすと判断される場合（参照番号９０６において、Ｙ）、参照番号９０４において、後者のＲＯＩマップをエンコーダに供給する（例えば、更新コンポーネント３０２が使用される）。そして、方法論は参照番号９０８へ進む。
【００５７】
参照番号９０８において、画像が、一組の画像内の最後の画像であるか否かが判断される。画像が、一組の画像内の最後の画像であると判断した場合（参照番号９０８において、Ｙ）、方法論が終了する。画像が、一組の画像内の最後の画像でないと判断した場合（参照番号９０８において、Ｎ）、他の画像を処理する（例えば、参照番号８０２から開始する）。
【００５８】
＜例示的なネットワーク化環境及び分散環境＞
当業者は、本願明細書に記載される各種実施形態が、任意のコンピュータ、他のクライアント装置又はサーバ装置に関連して実施できると認識できるであろう。これらは、コンピュータ・ネットワークの一部として、又は、分散コンピューティング環境に配置してよく、媒体を含むどのようなデータ格納装置にも接続できる。この点に関し、本願明細書において記載される各種実施形態は、任意の数のメモリ又は記憶装置を有し、任意の数のアプリケーション及びプロセスが任意の数の記憶装置にわたって行われる、任意のコンピュータシステム又は環境において実施できる。これは、ネットワーク環境に配置されるサーバ・コンピュータ及びクライアント・コンピュータを有する環境、又はリモート又はローカル記憶装置を有する分散コンピューティング環境を含むが、これに限定されるものではない。
【００５９】
分散コンピューティングは、コンピュータ及びシステムの中の通信の交換によって、コンピュータリソース及びサービスを共有できるようにする。これらのリソース及びサービスは、情報の交換、キャッシュ記憶、及びファイルのようなオブジェクトのためのディスク記憶を含む。これらのリソース及びサービスは、負荷分散、リソースの拡大、処理の特殊化等のために複数の処理ユニットに亘って処理能力を共有することを含む。分散コンピューティングはネットワーク接続性を利用し、クライアントがそれらの総合力（collective power）を利用して企業全体に役立つことを可能にする。この点に関し、本開示の各種実施形態に関与しうるアプリケーション、オブジェクト又はリソースを様々な装置が備えていてもよい。
【００６０】
図１０は、例示的なネットワーク化環境又は分散コンピューティング環境のブロック図を示す。分散コンピューティング環境は、コンピューティングオブジェクト１０１０及び１０１２等、及びコンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等を備える。これらは、アプリケーション１０３０、１０３２、１０３４、１０３６、１０３８で表されるような、プログラム、方法、データ格納装置、プログラマブルロジック等を含んでもよい。コンピューティングオブジェクト１０１０、１０１２等、及びコンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、携帯情報端末（ＰＤＡ）、オーディオ／ビデオデバイス、移動電話、ＭＰ３プレーヤ、パーソナルコンピューター、タブレット、ラップトップ等の種々のデバイスを含むと認識できる。
【００６１】
各コンピューティングオブジェクト１０１０、１０１２等、及びコンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、通信ネットワーク１０４０を介して、直接的又は間接的に、１つ以上の他のコンピューティングオブジェクト１０１０、１０１２等、及びコンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等と通信できる。図１０において、単一の要素として例示されていても、通信ネットワーク１０４０は、図１０のシステムにサービスを提供する他のコンピューティングオブジェクト及びコンピューティングデバイスを含んでもよく、及び／又は図示されない相互接続された複数のネットワークを表してもよい。各コンピューティングオブジェクト１０１０、１０１２等又はコンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、アプリケーション１０３０、１０３２、１０３４、１０３６、１０３８のようなアプリケーションを包含してもよい。これらは、本開示の種々の実施形態との通信又は実施に適する、ＡＰＩ、又は他のオブジェクト、ソフトウェア、ファームウェア及び／又はハードウェアを使用してもよい。
【００６２】
分散コンピューティング環境をサポートする種々のシステム、構成要素及びネットワーク構成がある。例えば、コンピューティングシステムは、有線又は無線システムによって、ローカルネットワークによって、又は広域分散ネットワークによって、互いに接続してよい。現在、数多くのネットワークがインターネットに結合されており、インターネットは、広域分散コンピューティング（widely distributed computing）のためのインフラストラクチャーを提供し、数多くの異なるネットワークを包含するが、種々の実施形態において記載されるシステムに付随して行われる例示的な通信のために、任意のネットワークインフラストラクチャーを用いてもよい。
【００６３】
したがって、クライアント／サーバ、ピアツーピア又はハイブリッドアーキテクチャーのような多数のネットワークトポロジー及びネットワークインフラストラクチャーを利用できる。「クライアント」は、関連しない別のクラス又はグループのサービスを使用するクラス又はグループのメンバーである。クライアントは、別のプログラム又はプロセスにより提供されるサービスを要求するプロセス、例えば、概ね一組の命令又はタスクであってもよい。クライアントは、要求されたサービスを利用するプロセスであるかこのようなプロセスを使用するものであってよく、他のプログラム又はサービス自体についてどのような作業の細部も「知る」必要はない。
【００６４】
クライアント／サーバアーキテクチャー、特にネットワーク化されたシステムでは、クライアントは通常、別のコンピュータ、例えば、サーバにより提供される共有ネットワークリソースにアクセスするコンピュータである。図１０の例示では、非限定的な実施例として、コンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等はクライアントと考えることができ、コンピューティングオブジェクト１０１０、１０１２等はサーバと考えることができ、コンピューティングオブジェクト１０１０、１０１２等は、コンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等からデータを受信すること、データを記憶すること、データを処理すること、コンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等へデータを送信すること等のデータサービスを提供してもよい。状況に応じて、任意のコンピュータをクライアント、サーバ又はその両方と見なしてもよい。
【００６５】
サーバは、一般に、インターネット又は無線ネットワークアーキテクチャーのような、リモート又はローカルネットワークを介してアクセス可能なリモートコンピューターシステムである。クライアントプロセスは、第１のコンピュータシステムにおいてアクティブであってもよく、サーバプロセスは第２のコンピュータシステムにおいてアクティブであってもよく、通信媒体を介して互いに通信し、それにより、分散機能を提供し、かつ複数のクライアントがサーバの情報収集能力を利用できるようにする。
【００６６】
例えば、通信ネットワーク／バス１０４０がインターネットであるネットワーク環境では、コンピューティングオブジェクト１０１０、１０１２等はウェブサーバであってもよく、クライアントコンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）のような幾つかの既知のプロトコルのいずれかを介してコンピューティングオブジェクト１０１０、１０１２等と通信してよい。コンピューティングオブジェクト１０１０、１０１２等は、分散コンピューティング環境において特徴的なように、クライアントコンピューティングオブジェクト又はデバイス１０２０、１０２２、１０２４、１０２６、１０２８等としての役割を果たしてもよい。
【００６７】
＜例示的なコンピュータ装置＞
上述のように、都合の良いことに、本願明細書において記載される技術は、本願明細書において記載される各種実施形態を実施することに適している任意のデバイスにも適用できる。それゆえ、種々の実施形態に関連して使用するために（例えばデバイスがトランザクションをデータ格納装置から読み出し又はデータ格納装置へ書き込もうとする任意の場所で使用するために）、全ての種類のハンドヘルド、ポータブル並びに他のコンピューティングデバイス及びコンピューティングオブジェクトが考えられる。したがって、図１１において後に説明される汎用リモートコンピューターは、コンピューティングデバイスの一例にすぎない。
【００６８】
必要ではないが、実施形態は、デバイス又はオブジェクトのためのサービスの開発者が使用するために、オペレーティングシステムを介して部分的に実施することができ、及び／又は本明細書において記載される種々の実施形態の１つ又は複数の機能的態様を実行するように動作するアプリケーションソフトウェア内に含まれてもよい。ソフトウェアは、クライアントワークステーション、サーバ及び他のデバイスのような１つ又は複数のコンピュータにより実行される、プログラムモジュールのような一般的な状況のコンピュータ実行可能命令により記述されてもよい。当業者は、コンピュータシステムが、データを通信するために用いることができる種々の構成及びプロトコルを有すること、それゆえ、特定の構成又はプロトコルに限定されるものと見なされないことを認識できるであろう。
【００６９】
図１１は、本明細書において記載される実施形態の１つ又は複数の態様を実施できる適切なコンピューティングシステム環境１１００の一例を示すが、上記から明らかなように、コンピューティングシステム環境１１００は適切なコンピューティング環境の一例にすぎず、使用又は機能の範囲に関して如何なる制限も示唆することは意図していない。さらに、コンピューティングシステム環境１１００は、例示的なオペレーティングシステム環境１１００において示される構成要素のいずれか１つ又は組み合わせに関連する依存性や要件を有すると解釈されることは意図してない。
【００７０】
図１１を参照すると、１つ又は複数の実施形態を実施するための例示的なリモートデバイスが、コンピュータ１１１０の形の汎用コンピューティングデバイスを含む。コンピュータ１１１０の構成要素は、処理ユニット１１２０、システムメモリ１１３０及びシステムバス１１２２を含んでもよいが、これに限定されるものではない。システムバスは、システムメモリを含む種々のシステム構成要素を処理ユニット１１２０に結合する。
【００７１】
コンピュータ１１１０は、種々のコンピュータ可読媒体を含み、コンピュータ１１１０によって、アクセスすることができる任意の利用可能な媒体とすることができる。システムメモリ１１３０は、リードオンリーメモリ（ＲＯＭ）及び／又はランダムアクセスメモリ（ＲＡＭ）のような揮発性及び／又は不揮発性メモリの形のコンピュータ記憶媒体を含むことができる。一例として、限定はしないが、システムメモリ１１３０は、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール及びプログラムデータも含むことができる。
【００７２】
ユーザは、入力装置１１４０を通してコンピュータ１１１０に命令及び情報を入力してよい。出力インターフェース１１５０のようなインターフェースを介して、システムバス１１２２にモニター又は他のタイプのディスプレイデバイスも接続される。モニターに加えて、出力インターフェース１１５０を通して接続されることがあるスピーカ及びプリンターのような他の周辺出力デバイスを、コンピュータが含んでもよい。エンコーダ１１４５は、システムバス１１２２にも接続している。エンコーダ１１４５は、デジタルビデオのようなデジタルデータの圧縮及び／又は解凍を可能にする。エンコーダ１１４５は、実質的にいかなるデジタル形式のビデオデータにも対応し、実質的にいかなるデジタル形式のビデオデータにも変換する。デジタル形式は、ＭＰＥＧ―１及び２（ＭＰＧ）、ＱＵＩＣＫＴＩＭＥ（商標）（ＭＯＶ）、ＲＥＡＬＭＥＤＩＡ（商標）、ＷＩＮＤＯＷＳ  ＭＥＤＩＡ（商標）（ＷＭＶ）、Ｈ．２６４（ＭＰ４）、ＤＩＶＸ（商標）、及びＸｖｉｄ（ＡＶＩ）、ＦＬＡＳＨ  ＶＩＤＥＯ（商標）（ＦＬＶ）、Ｍａｔｒｏｓｋａ  Ｍｕｌｔｉｍｅｄｉａ  Ｃｏｎｔａｉｎｅｒ（ＭＫＶ）、Ｔｈｅｏｒａ（ＯＧＧ）、３ＧＰ、Ｖｉｄｅｏ  Ｏｂｊｅｃｔ（ＶＯＢ）及び／又はＷｅｂＭ（商標）（ＦＬＶ）を含むが、これに限定されるものではない。
【００７３】
コンピュータ１１１０は、リモートコンピューター１１７０のような１つ又は複数の他のリモートコンピューターへの論理接続を用いて、ネットワーク化環境又は分散環境において動作できる。リモートコンピューター１１７０は、パーソナルコンピューター、サーバ、ルーター、ネットワークＰＣ、ピアデバイス若しくは他の共通ネットワークノード、又は任意の他のリモート媒体消費若しくは伝送デバイスであってもよく、コンピュータ１１１０に対して先に説明されたありとあらゆる要素を含んでもよい。図１１に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）のようなネットワーク１１７２を含むが、他のネットワーク／バスを含んでもよい。このようなネットワーキング環境は、家、事務所、企業規模のコンピュータ・ネットワーク、イントラネット及びインターネットにおいて、一般的である。
【００７４】
上記のように、種々のコンピューティングデバイス及びネットワークアーキテクチャーに関連して例示的な実施形態が説明されてきたが、根底を成す概念は、メディアを発行又は消費することが望ましい任意のネットワークシステム及び任意のコンピューティングデバイス又はシステムに柔軟に適用できる。
【００７５】
本明細書において、用語「例示的な」は、例、事例又は実例としての役割を果たすことを意味する。誤解を避けるために言うと、本明細書において、開示される主題は、そのような例により制限されない。さらに、本明細書において、「例示的な」として記述される任意の態様及び設計は必ずしも他の態様又は設計よりも好ましい又は好都合であると解釈されるべきではなく、当業者に既知である同等の例示的な構造及び技法を排除することも意図していない。さらに、用語「含む（includes）」、「有する（has）」、「包含する（contains）」及び他の類似の用語が詳細な説明又は請求項のいずれかで使用される限りにおいて、誤解を避けるために言うと、そのような用語は、任意の更なる、又は他の要素を排除しない開かれた移行語としての用語「備える（comprising）」と同じように包含的であることを意図している。さらにまた、本開示の全体にわたって行われる「１つの実施（one implementation）」又は「ある実施（an implementation）」又は「一つの実施形態（one embodiment）」又は「ある実施形態（an embodiment）」の言及は、実施又は実施形態と関連して記載される特定の特徴、構造又は特長が少なくとも一つの実施又は実施形態に含まれることを意味する。したがって、本明細書の全体にわたって様々な箇所に現れる表現「一つの実施では」、「ある実施では」、「一つの実施形態では」、「ある実施形態では」は、必ずしも全て同一の実施又は実施形態に言及するものではない。
【００７６】
コンピュータは一般に、種々の媒体を含んでよく、コンピュータ可読記憶媒体を含んでよい。コンピュータ可読記憶媒体は、コンピュータによってアクセスされることができて、一般的に非一時的（non-transitory）であり、揮発性及び不揮発性媒体、着脱可能な及び取り外し不可能な媒体を含む任意の記憶媒体であってよい。例示として、コンピュータ可読記憶媒体は、コンピュータ可読指示、プログラムモジュール、構造データ又は構造化されていないデータのような情報を記憶するための任意の方法又は技術に関連して実現されてよいが、これに限定されるものではない。コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために用いることができる他の有形及び／又は非一時的媒体を含んでもよいが、これに限定されるものではない。媒体に格納される情報に関する様々な動作のために、コンピュータ可読記憶媒体は、例えば、アクセス要求、照会又は他のデータ検索プロトコルを介して、一つ以上のローカル又はリモートなコンピュータによってアクセスされてもよい。
【００７７】
上記のように、本明細書において記述される種々の技法は、ハードウェア若しくはソフトウェアに、又は適切な場合にはその両方の組み合わせに関連して実施できる。本明細書において用いられるときに、用語「コンポーネント（component）」、「システム」等は同様に、コンピュータ関連エンティティー、すなわち、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、実行中のソフトウェアのいずれかを指すことを意図している。例えば、コンポーネントは、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム及び／又はコンピュータであってよいが、これに限定されるものではない。例示として、コンピュータ上で実行中のアプリケーション及びコンピュータはいずれもコンポーネントとすることができる。１つ又は複数のコンポーネントは、プロセス及び／又は実行のスレッド内に存在する場合があり、あるコンポーネントは、１つのコンピュータ上にローカルに配置される場合があり、及び／又は２つ以上のコンピュータ間に分散する場合がある。更に、コンポーネントは、特別に設計されたハードウェア、汎用ハードウェア（汎用ハードウェア上でソフトウェアが実行することによって、特殊化されて特定の機能（例えば符号化及び／又は復号化）を実行するもの）、計算機可読媒体に格納されるソフトウェア、又はそれらの組み合わせの形で実現してもよい。
【００７８】
上記のシステムは、幾つかの構成要素間のやりとりに関して説明されてきた。そのようなシステム及び構成要素は、それらの構成要素又は特定の下位構成要素、特定の構成要素若しくは下位構成要素のうちの幾つか、及び／又は更なる構成要素、及び上記の様々な順列及び組み合わせを含むことができると認識できる。下位構成要素は、親構成要素内に（階層的）含まれるのではなく、他の構成要素に通信可能に結合される構成要素として実現することもできる。さらに、１つ又は複数の構成要素は組み合わせれて、集約した機能を提供する単一の構成要素にすることができるか、又は幾つかの別々の下位構成要素に分割できること、及び統合された機能を提供するために、そのような下位構成要素に通信可能に結合するように調整層のような任意の１つ又は複数の中間層を設けることができることに留意されたい。本明細書において記載される任意の構成要素は、本明細書において、具体的には示されないが、当業者によって、一般的に知られている１つ又は複数の他の構成要素ともやりとりすることができる。
【００７９】
上記の例示的なシステムに関して、記載された主題によって実施できる方法論は、種々の図のフローチャートを参照しながら認識することもできる。説明を簡単にするために、それらの方法論は一連のブロックとして図示及び説明されるが、幾つかのブロックは本明細書において、図示及び説明されるのとは異なる順序において、及び／又は他のブロックと同時に行われる場合があるので、クレームに記載される主題はそれらのブロックの順序により制限されない。不連続のフロー、又は分岐したフローがフローチャートにより示される場合、同じ、又は類似の結果を達成する、それらのブロックの種々の他の分岐、流れの経路及び順序を実施してよいと認識できる。さらに、以下に記載される方法論を実施する際に、図示される全てのブロックが必要でなくてもよい。
【００８０】
本明細書において記述される種々の実施形態に加えて、それらの実施形態から逸脱することなく、対応する１つ又は複数の実施形態の同じ、又は同等の機能を実行するために、他の類似の実施形態を用いることができるか、又は記載された１つ又は複数の実施形態に対して変更を加えるか、若しくは追加できることは理解されたい。さらに、複数の処理チップ又は複数の処理デバイスが、本明細書において記載される１つ又は複数の機能の実行を分担することができ、同様に、記憶は複数のデバイスに渡って実施できる。したがって、本発明は、任意のただ１つの実施形態には限定されず、添付の特許請求の範囲による広さ、精神及び範囲において、解釈されるべきである。
【図１】
2015507443.tif 000003
【図２】
2015507443.tif 000004
【図３】
2015507443.tif 000005
【図４】
2015507443.tif 000006
【図５】
2015507443.tif 000007
【図６】
2015507443.tif 000008
【図７】
2015507443.tif 000009
【図８】
2015507443.tif 000010
【図９】
2015507443.tif 000011
【図１０】
2015507443.tif 000012
【図１１】
2015507443.tif 000013
【国際調査報告】
2015507443.tif 000014
2015507443.tif 000015