(57)【要約】  デバイス、コンピュータ・プログラム及び方法は、カメラで捕らえたシーンのビデオ画像を表現するビデオ信号をエンコードする。デバイスは、シーンに存在するユーザーの1つ以上の骨格的特徴に関連する骨格追跡情報を骨格追跡アルゴリズムから受信するコントローラを有し、コントローラは、シーンに現在関連するように骨格追跡情報に応じて、エンコードの1つ以上の運動関連特性の現在値を適合させるように構成される。
2018501677.tif 000002
【特許請求の範囲】
【請求項１】
デバイスであって：
カメラが捕らえたシーンのビデオ画像を表現するビデオ信号をエンコードするエンコーダ；及び
前記シーンに存在するユーザーの1つ以上の骨格特徴に関連する骨格追跡アルゴリズムから骨格追跡情報を受信するコントローラであって、前記シーンに現在関連するように前記骨格追跡情報に依存して符合化についての1つ以上の動き関連特性の現在値を適合化するように構成されるコントローラ；
を有するデバイス。
【請求項２】
前記エンコーダは、前記符合化の一部として前記ビデオ信号の量子化を実行する量子化器を有し、1つ以上の特性が量子化の粒度を含む、請求項1に記載のデバイス。
【請求項３】
1つ以上の特性が符合化のフレーム・レートを含む、請求項1又は2に記載のデバイス。
【請求項４】
前記1つ以上の特性は、量子化の粒度及びフレーム・レートの双方を含む、請求項2に従属する請求項3に記載のデバイス。
【請求項５】
符合化のビットレートが、現在のビットレート・バジェットに留まる又は少なくとも現在のビットレート・バジェットの範囲内に収まるように、1つ以上の特性の適合化を実行するように構成される、請求項1ないし4のうちの何れか一項に記載のデバイス。
【請求項６】
前記適合化は、骨格追跡情報に基づいて、前記シーンにユーザーが存在していることを現在検出しているか否かに依存して、1つ以上の特性を適合化することを含む、請求項1ないし5のうちの何れか一項に記載のデバイス。
【請求項７】
前記適合化は、前記骨格追跡情報に基づいて、前記シーンにユーザーが存在していることを現在検出していない場合には、細かい粒度の量子化及び/又は低いフレーム・レートを適用し、及び、前記骨格追跡情報に基づいて、前記シーンにユーザーが存在していることを現在検出している場合には、粗い粒度の量子化及び/又は高いフレーム・レートを適用することを含む、請求項2若しくは3又は請求項2若しくは3に従属する請求項4ないし6のうちの何れか一項に記載のデバイス。
【請求項８】
前記適合化は、前記骨格追跡情報に基づいて、現在検出されるように、前記シーンに対する前記ユーザーの動きに応じて1つ以上の特性を適合化することを含む、請求項1ないし7のうちの何れか一項に記載のデバイス。
【請求項９】
前記適合化は、前記骨格追跡情報に基づいて、前記シーンに対してユーザーが動いていることが検出されたか否かに応じて1つ以上の特性を適合化することを含む、請求項8に記載のデバイス。
【請求項１０】
前記適合化は、前記骨格追跡情報に基づいて、前記シーンの中でユーザーが動いていることを現在検出していない場合には、細かい粒度の量子化及び/又は低いフレーム・レートを適用し、及び、前記骨格追跡情報に基づいて、前記シーンの中でユーザーが動いていることを現在検出している場合には、粗い粒度の量子化及び/又は高いフレーム・レートを適用することを含む、請求項2若しくは3又は請求項2若しくは3に従属する請求項4ないし6のうちの何れか一項に記載のデバイス。
【請求項１１】
前記適合化は：
(i)前記骨格追跡情報に基づいて、前記シーンにユーザーが存在することが現在検出されない場合には、細かい粒度の量子化及び低いフレーム・レートを適用すること；
(ii)前記骨格追跡情報に基づいて、前記シーンにユーザーは存在するが動いてはいないことが検出される場合には、中間の粒度の量子化及びフレーム・レートを適用すること；及び
(iii)前記骨格追跡情報に基づいて、前記シーンにユーザーは存在して動いていることが検出される場合には、粗い粒度の量子化及び高いフレーム・レートを適用すること；
を含む、請求項4に記載のデバイス。
【請求項１２】
前記骨格追跡アルゴリズムは、前記デバイスに実装され、前記カメラ以外の1つ以上の別のセンサーに基づいて、前記骨格追跡情報を決定するように構成される、請求項1ないし11のうちの何れか一項に記載のデバイス。
【請求項１３】
前記デバイスは、専用のグラフィックス処理リソース及び汎用の処理リソースを有し、前記骨格追跡アルゴリズムは前記専用のグラフィックス処理リソースに実装され、前記エンコーダは前記汎用の処理リソースに実装される、請求項1ないし12のうちの何れか一項に記載のデバイス。
【請求項１４】
前記汎用の処理リソースは汎用プロセッサを含み、前記専用のグラフィックス処理リソースは別のグラフィックス・プロセッサを含み、前記エンコーダは、前記汎用プロセッサで動作するように構成されるコード形式で実現され、前記骨格追跡アルゴリズムは前記グラフィックス・プロセッサで動作するように構成されるコード形式で実現される、請求項13に記載のデバイス。
【請求項１５】
コンピュータ読み取り可能な媒体に組み込まれるコードを有するコンピュータ・プログラムであって、前記コードは、1つ以上のプロセッサに処理を実行させるように構成され、前記処理は：
カメラが捕らえたシーンのビデオ画像を表現するビデオ信号をエンコードするステップ；
骨格追跡アルゴリズムから骨格追跡情報を受信するステップであって、前記骨格追跡情報は、前記シーンに存在するユーザーの1つ以上の骨格特徴に関連する、ステップ；及び
前記シーンに現在関連するように前記骨格追跡情報に依存して符合化についての1つ以上の動き関連特性の現在値を適合化するステップ；
を有する、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ビデオ・コーディングにおいて、量子化は、高粒度の表現から低粒度の表現へビデオ信号サンプル(典型的には、変換された残差サンプル)を変換するプロセスである。例えば、入力信号における変換された残差YUV又はRGBサンプルが0ないし255のスケールの値(8ビット)によりそれぞれ表現される場合に、量子化器は、それらを0ないし15のスケールの値(4ビット)により表現されるものに変換する。出力スケールにおける可能な最小及び最大値0及び15は、入力スケールでの可能な最小及び最大値と同じ(又は近似的に同じ)最小及び最大振幅を依然として表現するが、その間に、より少ないグラデーション・レベルしか存在しない。すなわち、ステップ・サイズが減少している。したがって、幾らかの詳細がビデオの各フレームから失われるが、フレーム当たりのビット数は少ない点で信号は小さくなる。量子化は、しばしば量子化パラメータ(QP)により表現され、低いQPは細かい粒度を表現し、高いQPは粗い粒度を表現する。
【０００２】
注釈：量子化は、具体的には、細かい粒度スケールでの表現を粗い粒度スケールでの表現へ、所与の各サンプルを表現する値を変換するプロセスを指す。典型的には、これは、変換ドメインにおける残差信号の各係数についての1つ又は複数のカラー・チャネル、例えば、各々のRGB(レッド、グリーン、ブルー)係数又は複数の通常のYUV(ルミナンス及び2つのクロミナンス・チャネル)を量子化することを意味する。例えば、0ないし255のスケールでのY入力値が0ないし15のスケールに量子化され、U及びVについても同様に為され、或いは、別の色空間においても同様に為される(ただし、一般的には、それぞれのカラー・チャネルに適用される量子化方法が同じである必要はない)。単位エリア当たりのサンプル数は、解像度(resolution)として言及され、別の概念である。量子化という用語は、解像度の変化を指すためには使用されず、サンプル当たりの粒度(granularity)の変化を指すために使用される。
【０００３】
ビデオ・エンコーディングは、エンコードされる信号のサイズが考察事項となる多数のアプリケーションに使用され、例えば、インターネットのようなパケット方式のネットワークでライブ・ビデオ・コールのストリームのようなリアル・タイム・ビデオ・ストリームを送信するような場合である。細かい粒度の量子化を利用すると、(僅かな情報しか捨てないので)各フレームで小さな歪みしかもたらさないが、エンコードされた信号において高いビットレートを要することになる。逆に、粗い粒度の量子化を利用すると、低いビットレートを要することになるが、フレーム毎に多くの歪みを導入してしまう。ビットレートに影響する別の要因は、フレーム・レート、すなわち、エンコードされた信号の単位時間当たりのフレーム数である。より高いフレーム・レートは、(例えば、豊富な流れのように)より多くの時間的な詳細事項を保つが、より高いビットレートを要する一方、低いビットレートは少ないビットしか要しないが、時間的な詳細を犠牲にしてしまう(例えば、動きの不鮮明さ、或いは、ビデオで「ジャーキネス(jerkiness)」を感じてしまう結果をもたらす)。
【０００４】
ある種のコーデックは、エンコードされるビデオに依存して、量子化及びフレーム・レートのようなファクターを適合させようとする。これらは、圧縮の目的でエンコーダにより既に実行されている動き推定を分析することにより、機能している。動き推定(インター・フレーム予測とも言及される)に応じて、各フレームは複数のブロックに分割され、エンコードされる各ブロック(ターゲット・ブロック)は、動きベクトルにより、ターゲット・ブロックに対する先行フレーム・オフセットのブロックサイズ・リファレンス部分に対してエンコードされる。そして、信号は、各々のターゲット・ブロックの個々の動きベクトル、及び、ターゲット・ブロックと個々のリファレンス部分との間の差分(残差)の観点からエンコードされる。リファレンス部分は、典型的には、ターゲット・ブロックとの類似性に基づいて選択され、残差を可能な限り小さくする。この技術は、サンプル絶対値でエンコードされる場合より少ないビット数を利用して信号をエンコードするために、フレーム間の時間相関を利用する。
【発明の概要】
【０００５】
どの程度多くの動きがビデオに存在するかを判定することにより、エンコーダは、それに基づいて、量子化パラメータ又はフレーム・レート等のようなファクターを適合させてもよい。例えば、ビューア(viewer)は、動いている画像よりも静止している画像において量子化の粗さが多いことに気付き、それに応じてエンコーダは量子化を適合させてもよい。更に、より高いフレーム・レートは、より多くの動きを有するビデオに対して、より一層相応しいので、それに応じてエンコーダは適合させてもよい。ネットワークを介するリアルタイム伝送のような状況では、限られた帯域幅しか利用可能でなく、フレーム・レート及び量子化パラメータのようなファクターによりもたらされるビットレートをバランスさせる必要がある。多くの速い動きを含むビデオの場合、フレーム・レートは視聴者の感じ方に大きな影響をもたらす傾向があり、従って、高いフレーム・レートは細かい量子化(低いQP)よりも優先度が高く；少ない動きしか含まないビデオの場合、量子化が視聴者の感じ方に大きな影響を有し、従って、細かい量子化(低いQP)は高いフレーム・レートより優先度が高い。
【０００６】
しかしながら、エンコーダの動き推定(フレーム間予測)を分析する上記の技術は、内容を何ら理解することなく、信号についての平凡な統計的な見え方(a  bland,  statistical  view)に基づいて、一般的に、どの程度多くの動きがフレーム中に存在するかの尺度を与えるに過ぎず、すなわち、ビデオが実際に何を意味するか、明確に何が動いているか、或いは、ビデオ画像のどの部分が他の部分と強く関連しているか等に気付いていない。動きを評価する際に、ビデオの内容を考慮することが可能な代替的な技術を見出すことが望ましい。
【０００７】
近年、骨格追跡システム(skeletal  tracking  systems)が利用可能になっており、このシステムは、骨格追跡アルゴリズムと赤外線深度センサーのような1つ以上のセンサーとを利用して、ユーザーの1つ以上の骨格的特徴を追跡する。典型的には、これらは、例えばコンピューター・ゲームを制御する等のためのジェスチャー制御に使用される。しかしながら、本願では、そのようなシステムは、量子化及び/又はフレーム・レートのようなビデオ・エンコーディングの動き関連特性を適合させる用途を有していたことが認められ、そのような特性は、ビデオでの動きに応じて別様に視聴者の品質の感じ方に影響を及ぼす。
【０００８】
本願で開示される一側面によれば、カメラで捕らえたシーンのビデオ画像を表現するビデオ信号をエンコードするエンコーダを有するデバイスが提供され、例えば、ライブ・ビデオ・コールの進行するビデオ・ストリーム、或いは、他のそのようなビデオ信号が、インターネットのようなネットワークを介して伝送される。デバイスは、骨格追跡アルゴリズムから骨格追跡情報を受信するコントローラを更に有し、骨格追跡情報は、シーンに存在するユーザーの1つ以上の骨格的特徴に関連する。コントローラは、符合化の1つ以上の動き関連特性の現在値(例えば、現在の量子化の粒度及び/又は現在のフレーム・レート)を、シーンに現在関連するように骨格追跡情報に応じて適合させるように構成される。
【０００９】
一実施形態では、コントローラは、1つ以上の特性の適合化を実行するように構成され(例えば、量子化粒度とフレーム・レートとの間のトレード・オフを調和させる)、それにより、符合化のビットレートが、現在のビットレート・バジェットで一定になるように、又は、少なくとも現在のビットレート・バジェット内に留まるようにする。例えば、ビットレート・バジェットは、ネットワークを介する現在の利用可能な帯域幅により制限されてもよい。
【００１０】
適合化は、骨格追跡情報に基づいてユーザーが当該シーンに存在することが現在検出されているか否かに基づいて為されてもよいし、及び/又は、骨格追跡情報に基づいて現在検出されているような当該シーンに対するユーザーの動きに依存して為されてもよい。動きに依存する場合、適合化は、骨格追跡情報に基づいてユーザーが当該シーンに対して動いていることが現在検出されているか否かに基づいて為されてもよいし、及び/又は、骨格追跡情報に基づいて現在検出されているようなユーザーの動きの程度に依存して為されてもよい。
【００１１】
骨格追跡アルゴリズムは、カメラ以外の1つ以上の個別的なセンサー(例えば、赤外線深度センサーのような深度センサー)に基づいて、骨格追跡を実行してもよい。デバイスは、ゲーム・コンソール、スマートフォン、タブレット、ラップトップ又はデスクトップ・コンピュータ等のようなユーザー装置であってもよい。センサー及び/又はアルゴリズムは、別個の周辺装置で又はそのデバイス内で実現されてもよい。
【００１２】
例えば、適合化は以下の(i)，(ii)及び/又は(iii)を含んでよい：(i)骨格追跡情報に基づいて、そのシーンにユーザーは存在しないことが現在検出されている場合、第1粒度の量子化及び第1フレーム・レートを適用すること。(ii)ユーザーはシーンに存在しているが動いてはいないことが、骨格追跡情報に基づいて検出されている場合、第2粒度の量子化及び第2フレーム・レートを適用すること(第2粒度は第1粒度より粗く、第2フレーム・レートは第1フレーム・レートより高い)。(iii)  ユーザーはシーンに存在し且つ動いていることが、骨格追跡情報に基づいて検出されている場合、第3粒度の量子化及び第3フレーム・レートを適用すること(第3粒度は第2粒度より粗く、第3フレーム・レートは第2フレーム・レートより高い)。
【００１３】
この「発明の概要」の欄は、以下の詳細な説明で更に記述される概念のうち選択されたものを簡易な形式で消化するために提供されている。この「発明の概要」の欄は、請求項に係る退場事項のうち主要な特徴又は本質的な特徴を識別するようには意図されておらず、請求項に係る対象事項の範囲を限定するために使用されることも意図されていない。請求項に係る対象事項は、背景技術の欄で言及された何れかの又は全ての問題を解決する実現手段には限定されない。
【図面の簡単な説明】
【００１４】
本開示の理解を支援し、実施形態がどのように実現されるかを示すために、例示的に添付図面が参照される：
【図１】通信システムの概略ブロック図。
【図２】エンコーダの概略ブロック図。
【図３】デコーダの概略ブロック図。
【図４】異なる量子化パラメータ値についての概略図。
【図５】異なるフレーム・レートについての概略図。
【図６】ユーザー装置の概略ブロック図。
【図７】ユーザーがユーザー装置と相互作用する様子を概略的に示す図。
【図８ａ】放射パターンの概略図。
【図８ｂ】放射パターンが照射されるユーザーの正面を概略的に示す図。
【図９】検出されたユーザーの骨格ポイントを示す概略図。
【発明を実施するための形態】
【００１５】
図1は通信システム114を示し、通信システム114は、ネットワーク101と、第1ユーザー端末102の形態による第1デバイスと、第1ユーザー端末108の形態による第2デバイスとを有する。一実施形態では、第1及び第2ユーザー端末102、108は、それぞれ、スマートフォン、タブレット、ラップトップ若しくはデスクトップ・コンピュータ、又は、テレビジョン画面に接続されるゲーム・コンソール若しくはセットトップ・ボックス等のような形態をとってもよい。ネットワーク101は、例えば、インターネットのようなワイド・エリア・インターネットワーク、及び/又は、企業又は大学のような組織内のワイド・エリア・イントラネット、及び/又は、モバイル・セルラー・ネットワークのような他の任意のタイプのネットワークを含んでよい。ネットワーク101は、インターネット・プロトコル(IP)ネットワーク等のようなパケット方式のネットワークを含んでもよい。
【００１６】
第1ユーザー端末102は、シーン(又は場面)113のライブ・ビデオ画像を取得し、リアルタイムでビデオをエンコードし、ネットワーク101を越えて設定されるコネクションを介して、第2ユーザー端末108へ、エンコードされたビデオをリアルタイムで送信するように構成される。シーン113は、シーン113の中に少なくともしばしば存在する(人間の)ユーザー100を含む(一実施形態では、ユーザー100の少なくとも一部分がシーン113の中に見えていることを意味する)。例えば、シーン113は、ライブ・ビデオ・コールの一部分として、或いは、複数の送信先ユーザー端末が存在するテレビ会議の一部分として、エンコードされ且つ第2ユーザー端末108へ送信される「喋っている頭部」のショットを含んでもよい。ここで、「リアルタイム」で為されるとは、符合化及び送信が生じる一方、捕捉されるイベントが依然として進行中であることを意味し、そのため、連続的なストリームの中で、ビデオのうち早期の部分は送信される一方、遅い部分は未だ符合化されつつあり、符合化され送信される予定である更に遅い部分もシーン113の中で進行中である。従って、「リアルタイム」は僅かな遅延を排除しない。
【００１７】
第1(送信側の)ユーザー端末102は、カメラ103と、カメラ103に動作可能に結合されるエンコーダ104と、ネットワーク101に接続するためのネットワーク・インターフェース107とを有し、ネットワーク・インターフェース107は、エンコーダ104に動作可能に結合される送信機を少なくとも有する。エンコーダ104は、カメラ103から入力ビデオ信号を受信するように構成され、入力ビデオ信号は、カメラ103により取得されるシーン113のビデオ画像を表現するサンプルを含む。エンコーダ104は、送信用にその信号を圧縮するためにその信号をエンコードするように構成され、この点については詳細に言及される。送信機107は、エンコードされたビデオをエンコーダ104から受信し、ネットワーク101を越えて設定されるチャネルを介して、第2端末102へ、そのビデオを送信するように構成される。一実施形態では、この送信は、符合化されたビデオのリアルタイム・ストリーミング(すなわち、ライブ・ビデオ・コールのうち出て行く部分)を為す。
【００１８】
本開示の実施形態によれば、ユーザー端末102も、コントローラ104に動作可能に結合されるコントローラ112を有し、これにより、エンコーダにより実行される符合化の1つ以上の動き関連特性を適合させるように構成される。本願で言及されるような動き関連特性(A  motion-related  property)は、視聴者の知覚品質に及ぼすその特性の影響が、符合化されるビデオにおける動きに依存して変化する特性である。一実施形態では、適合化される特性は、量子化パラメータ(QP)及び/又はフレーム・レート(F_frame)を含む。
【００１９】
更に、ユーザー端末102は、1つ以上の専用の骨格追跡センサー105と、(1つ又は複数の)骨格追跡センサー105に動作可能に結合される骨格追跡アルゴリズム106とを有する。例えば、骨格追跡センサー105は、図7ないし9に関連して後述されるような赤外線(IR)深度センサーのような深度センサー、及び/又は、他の形態の専用の骨格追跡カメラ(符合化されるビデオを捕捉するために使用されるカメラとは別個のカメラ)を有してもよく、例えば、それは、IRのような非可視光又は可視光の補則に基づいて動作してもよいし、ステレオ・カメラ又は完全深度認識(レンジング)カメラ(a  full  depth-aware  (ranging)  camera)等のような2Dカメラ又は3Dカメラであってもよい。
【００２０】
エンコーダ104、コントローラ112及び骨格追跡アルゴリズム106は、ユーザー端末102の1つ以上の記憶媒体(例えば、EEPROM又は「フラッシュ」メモリのような電子媒体又はハード・ディスクのような磁気媒体)に組み込まれ且つユーザー端末102の1つ以上のプロセッサでの実行に備えて構成されるソフトウェア・コードの形式で実現されてもよい。或いは、これらのコンポーネント104、112、106のうちの1つ以上が、専用ハードウェアで又はソフトウェア及び専用ハードウェアの組み合わせで実現されてよいことも、排除されていない。  これらはユーザー端末102の一部分にあるように記述されているが、一実施形態では、カメラ103、骨格追跡センサー105及び/又は骨格追跡アルゴリズム106は、有線又は無線コネクションを介してユーザー端末103と通信する1つ以上の別個のペリフェラル・デバイスで実現されることも可能であることに留意を要する。
【００２１】
骨格追跡アルゴリズム106は、骨格追跡センサー105から受信した感覚的入力を利用して、ユーザー100の1つ以上の骨格の特徴を追跡する骨格追跡情報を生成するように構成される。例えば、骨格追跡情報は、ユーザーの肩、肘、手首、首、股関節、膝及び/又は踝のうちの1つ以上であるようなユーザー100の1つ以上の関節の位置を追跡し；及び/又は、ユーザーの前腕、上腕、首、腿又は脛のうちの1つ以上であるような身体の1つ以上の骨のベクトル又はラインを追跡してもよい。可能な実施形態において、骨格追跡アルゴリズム106は、エンコードされる画像を捕捉するために使用されるのと同じカメラ103からのエンコードされる同じビデオ画像に適用される画像認識に基づいて、その骨格追跡情報の判断を補足するように選択的に構成されてもよい。代替的に、骨格追跡は、骨格追跡センサー105からの入力に専ら基づいていてもよい。或いは、骨格追跡は、別個の骨格追跡センサー105に少なくとも部分的に基づいていてもよい。
【００２２】
骨格追跡アルゴリズムそれ自体は当該技術分野で利用可能である。例えば、エックスボックス(Xbox)ワン・ソフトウェア開発キット(SDK)は、キネクト(Kinect)ペリフェラルからの感覚的な入力に基づいて骨格追跡情報を受信するためにアプリケーション開発者がアクセスすることの可能な骨格追跡アルゴリズムを含む。一実施形態では、ユーザー端末102はエックスボックス・ワン・ゲーム・コンソールであり、骨格追跡センサー105は、キネクト・センサー・ペリフェラルで実現されるものであり、骨格追跡アルゴリズムはエックスボックス・ワンSDKによるものである。しかしながら、これはほんの一例に過ぎず、他の骨格追跡アルゴリズム及び/又はセンサーを利用することが可能である。
【００２３】
コントローラ112は、骨格追跡アルゴリズム106から骨格追跡情報を受信し、それに基づいて、例えばQP及び/又はフレーム・レート等のような上記の1つ以上のモーション関連パラメータを適合させるように構成される。この点については詳細に説明される。
【００２４】
受信側では、第2の(受信を行う)ユーザー端末108は、スクリーン111と、スクリーン111に動作可能に結合されるデコーダ110と、ネットワーク101に接続するネットワーク・インターフェース109とを有し、ネットワーク・インターフェース109は、デコーダ110に動作可能に結合される受信機を少なくとも有する。エンコードされたビデオ信号は、第1ユーザー端末102の送信機107と、第2ユーザー端末108の受信機109との間に設定されるチャネルにより、ネットワーク101を越えて伝達される。受信機109は、エンコードされた信号を受信し、それをデコーダ110へ供給する。デコーダ110は、エンコードだれたビデオ信号をデコードし、デコードされたビデオ信号が再生されるようにスクリーン111に供給する。一実施形態では、ビデオは、例えばライブ・ビデオ・コールの情報部分として、リアルタイム・ストリームとして受信及び再生される。
【００２５】
注釈：説明の便宜上、第1端末102は、送信側のコンポーネント103、104、105、106、107、112を含む送信端末として記述され、第2端末108は受信側のコンポーネント109、110、111を含む受信端末として記述されているが；一実施形態では、第2端末108も(骨格追跡を行う又は行わない)送信側のコンポーネントを有してもよく、第1端末102に対してビデオを符合化して送信してもよく、第1端末102も、第2端末109からビデオを受信、復号及び再生するために受信側コンポーネントを含んでもよい。説明の便宜上、本開示は所与の受信端末108へビデオを送信する観点から説明されているが；一実施形態では、第1端末102は、(例えば、テレビ会議の一部分として)1つ又は複数の第2の受信側のユーザー端末108へ、符合化されたビデオを送信してもよいことに、留意を要する。
【００２６】
図2はエンコーダ104の例示的な形態を示す。エンコーダ104は、カメラ103から、処理前(エンコードされていない)ビデオ信号のサンプルを受信するように構成される第1入力を有する減算ステージ201と、減算ステージ201の第2入力に結合される出力を有する予測符合化モジュール207と、減算ステージ201の出力に動作可能に結合される入力を有する変換ステージ202(例えば、DFT変換)と、変換ステージ202の出力に動作可能に結合される入力を有する量子化部203と、量子化器203の出力に結合される入力を有するロスレス圧縮モジュール204(例えば、エントロピー符合化器)と、量子化器203の出力に動作可能に結合される入力を有する逆量子化器205と、逆量子化器205の出力に動作可能に結合される入力に加えて、予測符合化モジュール207の入力に動作可能に結合される出力を有する逆変換ステージ206(例えば、逆DFT)とを有する。
【００２７】
動作の際に、カメラ103からの入力信号の各フレームは複数のブロックに分割される(ブロックはマクロブロック等であってもよく、「ブロック」は、所与の任意の規格のブロック又はマクロブロックを指すことが可能な一般的な用語として使用される)。減算ステージ201の入力は、入力信号からエンコードされるためのブロック(ターゲット・ブロック)を受信し、(a)それと、(b)予測符合化モジュール207からの入力により受信される同一フレーム(イントラ・フレーム符合化)又は異なるフレーム(インター・フレーム符合化)の何れかによる別のブロックサイズの部分(リファレンス部分)の変換され量子化され逆量子化され且つ逆変換されたバージョンとの間で減算を実行し、デコード側でデコードされる場合にこのリファレンス部分がどのように見えるかを表現する。リファレンス部分は、典型的には、イントラ・フレーム符合化の場合には他のブロック(しばしば隣のブロック)であるが、インター・フレーム符合化(動き予測)の場合には、リファレンス部分は、整数個のブロックだけオフセットされるように制約される必要はなく、一般に、動きベクトル(リファレンス部分及びターゲット部分の間の空間的な変位(又はオフセット)、例えば、x及びy座標)は、各方向における任意の個数のピクセルであるとすることが可能であり、或いは、少数個分のピクセルであるとすることさえ可能である。
【００２８】
リファレンス部分のターゲット・ブロックからの減算は、残差信号を生成し、すなわち、同一の又は相違するフレームのターゲット・ブロックとリファレンス部分との間の差分を生成し、ターゲット・ブロックはデコーダ110において当該フレームから予測される。原理は、ターゲット・ブロックが絶対的な観点からエンコードされるのではなく、ターゲット・ブロックと、同一又は相違するフレームの他の部分のピクセルとの間の差分の観点からエンコードされる、ということである。その差分は、ターゲット・ブロックの絶対的な表現より小さくなり、符合化信号に符合化するために僅かなビットしか費やさない傾向がある。
【００２９】
各ターゲット・ブロックの残差サンプルは、減算ステージ201の出力から変換ステージ202の入力へ出力され、対応する変換される残差サンプルを生成するために変換される。変換の役割は、典型的にはカーテシアンx及びy座標による空間ドメイン表現から、典型的には周波数ドメイン表現(しばしば、単に、周波数ドメインと言及される)による変換ドメイン表現へ変換することである。すなわち、空間ドメインでは、各カラー・チャネル(例えば、RGBの各々、或いは、YUVの各々)は、例えばx及びy座標のような空間座標の関数として表現され、各サンプルは様々な座標における代表ピクセルの振幅を表現し；周波数ドメインでは、各カラー・チャネルは、「1/距離」の大きさを有する空間周波数の関数として表現され、各サンプルは個々の空間周波数の項の係数を表現する。例えば、変換は離散コサイン変換(DCT)であってもよい。
【００３０】
変換された残差サンプルは、変換ステージ202の出力から量子化器203の入力へ出力され、量子化され変換された残差サンプルに量子化される。上述したように、量子化は、高い粒度スケールでの表現から低い粒度スケールでの表現へ変換するプロセス、すなわち、入力値の大集合から小集合へのマッピングのプロセスである。量子化は、圧縮により損失を伴うものであり、すなわち、詳細が「捨てられてしまう(thrown  away)」。しかしながらそれは各フレームを表現するために必要なビット数を減らす。
【００３１】
量子化された変換された残差サンプルは、量子化器203の出力からロスレス圧縮ステージ204の入力へ出力され、ロスレス圧縮ステージ204は、エントロピー符合化のような更なるロスレス符合化を信号に対して実行するように構成される。エントロピー符合化は、より多くの共通に生じるサンプル値を、少ないビット数から成るコードワードで符合化し、より希にしか生じないサンプルを、多くのビット数から成るコードワードで符合化することで機能する。そのようにすることで、一群の固定長のコードワード全ての可能なサンプル値について使用される場合よりも、平均的に少ないビット数でデータをエンコードすることが可能になる。変換202の目的は、変換ドメイン(例えば、周波数ドメイン)において、より多くのサンプルが、空間ドメインでの場合よりも少ない又は0の値に量子化する傾向があるようにすることである。より多くのゼロ又は多数の小さな数が量子化サンプルに生じる場合、これらは、ロスレス圧縮ステージ204により効率的に符合化されることが可能である。
【００３２】
ロスレス圧縮ステージ204は、符合化されたサンプルを送信機107へ、ネットワーク101を介して、(第2端末108の受信機109を介して)第2の(受信側の)端末108のデコーダ110へ送信するために出力するように構成される。
【００３３】
量子化器203の出力はまた逆量子化器205へフィードバックされ、逆量子化器205は量子化されたサンプルを逆量子化し、逆量子化器205の出力は逆変換ステージ206の入力へ共有され、逆変換ステージ206は、各ブロックについての逆量子化され逆変換されたバージョンを生成する。量子化が損失を伴うプロセスであるので、逆量子化され逆変換されたブロックの各々は、入力信号のうち対応する元々のブロックに対して幾らかの歪みを含む。それは、デコーダ110が「見る」ものを表現する。予測符合化モジュール207は、それを利用して、入力ビデオ信号における更なるターゲット・ブロックに対する残差を生成する(すなわち、予測符合化は、次のターゲット・ブロックと、予想される対応するリファレンス部分をデコーダ110がどのように「見る」かとの間の残差の観点からエンコードする)。
【００３４】
図3は、デコーダ110の例示的な形態を示す。デコーダ110は、符合化されたビデオ信号のサンプルを受信機109から受信するように構成される入力を有するロスレス非圧縮ステージ301と、ロスレス非圧縮ステージ301の出力に動作可能に結合される入力を有する逆量子化器302と、逆量子化器302の出力に動作可能に結合される入力を有する逆変換ステージ303(例えば、逆DCT)と、逆変換ステージ303の出力に動作可能に結合される入力を有する予測モジュール304とを有する。
【００３５】
動作の際に、逆量子化器302は、受信した(符合化された残差の)サンプルを逆量子化し、これらの逆量子化されたサンプルを逆変換ステージ303の入力へ供給する。逆変換ステージ303は、逆量子化されたサンプルに関して変換202の逆の処理(例えば、逆DCT)を実行し、各ブロックの逆量子化され逆変換されたバージョンを生成し、すなわち、各ブロックを空間ドメインへ逆変換する。このステージでは、これらのブロックは依然として残差信号のブロックである点に留意を要する。これらの残差空間ドメイン・ブロックは、逆変換ステージ303の出力から予測モジュール304の入力へ供される。予測モジュール304は、逆量子化され逆変換された残差ブロックを利用して、空間ドメインにおいて、(イントラ・フレーム予測の場合には)同一フレームからの又は(インター・フレーム予測の場合には)異なるフレームからの対応するリファレンス部分の既に復号されたバージョン、プラス、その残差から各ターゲット・ブロックを予測する。インター・フレーム符合化(動き予測)の場合、ターゲット・ブロックとリファレンス部分との間のオフセットは、エンコードされた信号に含まれる個々の動きベクトルによって指定される。リファレンス・ブロックとして使用するブロックが、典型的には、所定のパターンに従って決定されるイントラ・フレーム符合化の場合には、代替的に、エンコードされた信号でシグナリングされることが可能である。
【００３６】
上述したように、エンコード側のコントローラ112は、骨格追跡アルゴリズム106から骨格追跡情報を受信し、それに基づいて、エンコードされたビデオのQP及び/又はフレーム・レートのような1つ以上の動き関連特性を動的に適合させるように構成される。例えば、骨格追跡情報は、以下の事項のうちの1つ以上を指示する又はコントローラが決定できるようにする：
(a)ユーザー100がシーン113内に存在するか否か(ユーザーの全身がシーンの中に存在するか否か、或いは、ユーザーの1つ以上の特定のパーツのうち少なくとも1つ以上がシーンの中に存在するか否か、或いは、ユーザーの少なくとも何れかの部分がシーンの中に存在するか否かを示す)；
(b)シーン113に存在するユーザー100が動いているか否か(ユーザー全体が存在して動いているか否か、或いは、ユーザーの1つ以上の特定のパーツのうち少なくとも1つ以上が存在して動いているか否か、或いは、ユーザーの少なくとも何れかの部分が存在して動いているか否かを示す)；
(c)ユーザー100のうち何れの部分がシーン113の中で動いているか；及び/又は
(d)シーン113の中でのユーザーの動く程度(速度及び/又は方向のような特定の骨格的特徴の動く程度、或いは、シーン113に存在する所与のユーザーの骨格的特徴の全てについての平均的な又は正味の速度及び/又は方向のような全体的な尺度)。
【００３７】
コントローラ112は、上記のファクターのうちの任意の1つ以上に依存して、QP及び/又はフレーム・レート、又は、符合化についての他の何らかの動き関連特性を動的に適合させるように構成される。動的な適合化は、「オン・ザ・フライ(on  the  fly)」すなわち進行中の状態に応答することを意味し；ユーザー100がシーン113の中で又はシーン113の内外で動くのに合わせて、現在の符合化状態はそれに応じて適合させられる。従って、ビデオの符合化は、記録されるユーザーが何を行っているか、及び/又は、彼又は彼女がビデオの捕捉時点で何処に存在したかに応じて適合させられる。
【００３８】
一実施形態では、コントローラ112はエンコーダ104のビットレート・コントローラである(エンコーダ104及びコントローラ112の説明は単なる概略に過ぎず、一方、コントローラ112はエンコーダ104の一部分であると考えられてもよいことに留意を要する)。ビットレート・コントローラ112は、エンコードされたビデオ信号のビットレートに影響を及ぼす符合化の特性を制御し、所定のレベルに留まるように、或いは、或る限界の範囲内に(すなわち、所定の「ビットレート・バジェット」の範囲内に)留まるようにビットレートを制御する役割を有する。QP及びフレーム・レートは、そのような特性の具体例であり：より低いQP(細かい量子化)は、高いフレーム・レートがそうであるように、ビデオの単位時間当たりのビット数を多く要し；高いQP(粗い量子化)は、低いフレーム・レートがそうであるように、ビデオの単位時間当たりのビットは少なくて済む。典型的には、ビットレート・コントローラ112は、送信する端末102と受信する端末108との間のチャネルに関して利用可能な帯域幅の尺度を動的に決定するように構成され、ビットレート・バジェットは、利用可能な最大帯域幅に等しく設定されるもの、又は、その何らかの関数として決定されるものにより制限される。ビットレート・コントローラ112は、現在のビットレート・バジェットに依存してビットレートに影響する符合化の特性を適合させる。
【００３９】
本願で開示される実施形態では、コントローラ112は、QPとフレーム・レートとの間のトレード・オフを、符合化されたビデオ信号のビットレートが現在のビットレート・バジェットに又はその範囲内に維持されるようにバランスさせ(又は均衡を保ち)、そのバランスが、骨格追跡情報に基づいて両立されるように動的に適合される。
【００４０】
図4は量子化の概念を示すためのものである。量子化パラメータ(QP)は、量子化に使用されるステップ・サイズのインジケータ(又は指示するもの)である。低いQPは、量子化されるサンプルが、サンプルの取得が可能な値に関し、細かいグラデーションのスケールで(すなわち、より密に隔てられたステップで)表現されることを意味し(従って、入力信号に対して小さな量子化である)；高いQPは、量子化されるサンプルが、サンプルの取得が可能な値に関し、粗いグラデーションのスケールで(すなわち、幅広く隔てられたステップで)表現されることを意味する(従って、入力信号に対して大きな量子化である)。低いQP信号は、高いQP信号より多くのビットを必要とし、その理由は、各値を表現するために多数のビットが必要とされるからである。ステップ・サイズは全スケールにわたって通常的には規則的であるが(均等に隔てられているが)、可能性のある全ての実施形態でそのようにする必然性はない。ステップ・サイズが非一様に変化する場合、その増加/減少は、例えば、ステップ・サイズのアベレッジ(例えば、平均)における増加/減少、或いは、スケールのうちの所定の領域のみにおけるステップ・サイズの増加/減少を意味することが可能である。
【００４１】
図5はフレーム・レートの相違を示す。高いフレーム・レートでは、シーン113についての単位時間当たりに多くの個々の瞬時的な画像が存在し、従ってより高いビットレートとなり、低いフレーム・レートでは、シーン113についての単位時間当たりに少ない個々の瞬時的な画像しか存在せず、従って低いビットレートとなる。
【００４２】
所定のビットレートを維持するためのフレーム・レートに対する量子化のトレード・オフに関し、コントローラ112がQPを減らす場合、それに応じてフレーム・レートを減らし、コントローラ112がQPを増やす場合、それに応じてフレーム・レートを増やす。しかしながら、QP及びフレーム・レートはおそらくビットレートには影響せず；それらは知覚される品質に影響を及ぼす。更に、知覚される品質に関するQP及びフレーム・レートの双方への影響は、動きに応じて変動するが、その影響は様々に変わる。実施形態では、コントローラ112は、骨格追跡アルゴリズム106からの骨格追跡情報に依存して、QP及びフレーム・レートの間のトレード・オフを動的に適合させるように構成される。
【００４３】
テレビ会議において帯域幅が限られている場合、フレーム品質と円滑さ(fluidity)との間にトレード・オフが存在し、そのトレード・オフはユーザーの意向に応じて最適化されることが可能である。個々のフレームの品質を増やす場合にビットを費やすこと(例えば、フレーム・レートを減らす可能性とともに量子化パラメータを減らすこと)と、フレーム品質を減らす可能性とともにフレーム・レートを増やすこととの間に選択肢が存在する。本願で認められるように、ほとんどの適切なトレード・オフが状況に依存してなされ得る。例えば、円滑さは、カメラの前にじっと座っている誰かを表示するためよりも、何らかのスポーツの動きを表示するための方が、よりいっそう相応しい。また、現実世界での利用では、コンテンツ(又は内容)は或る状況から別の状況へ変化し、エンコーダはそれに速やかに適合できることが望ましい。
【００４４】
本開示によれば、ユーザーがカメラの前で何をしているか、或いは、ユーザーが存在するか否かさえも発見するために、骨格追跡が使用され、それに応じてエンコーダのチューニングを適合させることが可能である。例えば、3つの異なる状況が定められてもよい：
【００４５】
(i)ビデオの中に誰もいない，
(ii)ビデオの中に誰かいるが、じっと座っている又は立っている，及び
(iii)アクティブな動きとともに誰かがビデオの中にいる状況である。
背景は全く静的であることが仮定されてもよく、例えば、送信側のユーザー端末102が「セットトップの」(携帯式ではない)ゲーム・コンソールのような静的な端末であるような場合である。
【００４６】
一実施形態では、コントローラ112は、3つのそれぞれ異なるチューニング・パラメータの組み合わせを、上記の3つの状況それぞれについてエンコーダ104に適用するように構成される：(i)フレーム・レートを10ftpまで減らし、フレーム品質のみを最適化する；(ii)より高いフレーム・レートを許容するが、フレーム品質を優先させる；及び(iii)フレーム・レートを優先させ、15ftp未満にならないことを保証する。
【００４７】
一実施形態では、その方式は状況の遷移に関して最適化されてもよい。状況(i)から(ii)又は(iii)へ移る場合、フレームの複雑さに関し、急激な増加が生じ、符合化されるフレーム・サイズにおけるスパイク(spike)を招く。例えば、状況(i)では、QPは非常に低くなり、誰かが画面の中に来ると、同じQPでフレームを符合化することは、フレームを非常に大きくしてしまい、問題を生じさせる虞がある。例えば、大きなフレームが送信に長くかかることに起因して、遅延が導入され、及び/又は、大きなフレームに起因するトラフィックのスパイクは、ネットワークの輻輳を招き、パケットの欠落を招いてしまうかもしれない。この変化を識別し、それを防ぐために(例えば、それを見越してQPを増やすことにより)予防措置をとるために、骨格追跡が利用されることが可能である。すなわち、骨格追跡は、ブロックの動きに基づく従来の動き検出アルゴリズムと比較して、大きな動きを早期に明らかにすることが可能である。大きな動きが早期に検出されると、コントローラ112は、やがて訪れる複雑さに「準備するように」フレーム品質を減らすことが可能である。状況が変わったことを検出した場合、コントローラ112は、新たなキー・フレーム(すなわち、新たなイントラ符合化フレーム)を事前に生成することが可能であり、これは、将来的なパケット欠落の回復を促す。
【００４８】
更に、実施形態において骨格追跡を利用することは、残差及び動きベクトルに基づいてシーンにおける動きの量を推定するような他のアプローチと比較して、より効率的になり得る。シーンの中でユーザーが何を行っているかを分析しようとすることは、非常に多くの演算負担を要するかもしれない。しかしながら、ある種のデバイスは、骨格追跡のような所定のグラフィックス機能のために別途設定された処理リソース(例えば、専用ハードウェア又は予約されたプロセッサ・サイクル)を確保している。それらが、骨格追跡に基づいてユーザーの動きの分析に使用されるならば、それは、例えば、VoIPクライアント又はビデオ・コールを行うそのような他の通信クライアントの一部として、エンコーダを動作させるために使用される汎用処理リソースにかかる処理負担を軽減することが可能である。
【００４９】
例えば、図6に示されるように、送信側のユーザー端末102は、専用グラフィックス・プロセッサ(GPU)602と、汎用プロセッサ(例えば、CPU)601とを有し、グラフィックス・プロセッサ602は、骨格追跡を含む所定のグラフィックス処理オペレーションのために確保されている。一実施形態では、骨格追跡アルゴリズム106は、グラフィックス・プロセッサ602で動作するように構成されるが、(例えば、VoIPクライアント又は汎用プロセッサで動作するそのような他のビデオ呼クライアントの一部として)エンコーダ104は、汎用プロセッサ601で動作するように構成されてもよい。更に、一実施形態では、ユーザー端末102は「システム・スペース」と別個の「アプリケーション・スペース」とを有し、これらのスペースは、個々のGPU及びCPUコア並びに様々なメモリ・リソースにマッピングされる。そのような場合において、骨格追跡アルゴリズム106は、システム・スペースで動作するように構成される一方、エンコーダ104を有する通信アプリケーション(例えば、VoIPクライアント)は、アプリケーション・スペースで動作してもよい。そのようなユーザー端末の具体例は、エックスボックス・ワンであるが、他の可能なデバイスが同様な構成を利用してもよい。
【００５０】
図7は、骨格追跡センサー105が骨格追跡情報を検出するために使用される配置例を示す。この例では、例えばVoIPクライアント・アプリケーションの一部として、骨格追跡センサー105とエンコードされる進行するビデオを取得するカメラ103とが、何れも、ユーザー端末102に接続される同じ外部周辺デバイス703の中に組み込まれ、ユーザー端末102はエンコーダ104を有する。例えば、ユーザー端末102は、テレビジョン・セット702に接続されるゲーム・コンソールの携帯をとってもよく、そのテレビジョン・セット702により、ユーザー100はVoIPコールの到来するビデオを眺める。しかしながら、この具体例は限定ではないことが認められるであろう。
【００５１】
一実施形態では、骨格追跡センサー105はアクティブ・センサーであり、アクティブ・センサーは、非可視光(例えば、IR)の放射を送出するプロジェクタ704と、同じタイプの非可視光放射の反射を検出する対応するセンシング・エレメント706とを有する。プロジェクタ704は、センシング・エレメント706の非可視光放射を投影するように構成され、それにより、シーン113の中にある対象(又は客体)(例えば、ユーザー100)から反射された場合に、非可視光放射がセンシング・エレメント706により検出可能であるようになる。
【００５２】
センシング・エレメント706は、二次元にわたる非可視光放射を検出するために、構成要素のIDセンシング・エレメントによる2Dアレイを有する。更に、プロジェクタ704は、所定の放射パターンで非可視光放射を投影するように構成される。ユーザー100のような3Dオブジェクトから反射される場合に、そのパターンの歪みは、センサー・アレイの平面における2次元においてユーザー100を検出するためだけでなく、センシング・エレメント706に対するユーザーの身体の様々な地点の深度を検出するためにも、センシング・エレメント706が使用されることを許容する。
【００５３】
図8aはプロジェクタ706により放出される例示的な放射パターン800を示す。図8aに示されるように、放射パターンは、少なくとも2次元状に広がっており、組織的に不均一であり、強度が交互に異なる複数の組織的に配置された領域を有する。具体例として、図8aの放射パターンは、実質的に一様な放射ドットのアレイを含む。放射パターンは、この実施形態では赤外線(IR)放射パターンであり、センシング・エレメント706により検出可能である。図8aの放射パターンは例示であり、他の代替的な放射パターンを利用することも想定されていることに、留意を要する。
【００５４】
この放射パターン800は、プロジェクタ704によりセンサー706の前方に投影される。センサー706は、自身の視野の中に投影される非可視光パターンの画像を取得する。これらの画像は、骨格追跡アルゴリズム106により処理され、センサー706の視野の中にあるユーザーの身体の深度を算出し、ユーザー100の3次元表現を効果的に構築し、一実施形態ではそれにより、様々なユーザー及びそれらのユーザー各自の様々な骨格ポイントの認識を可能にする。
【００５５】
図8bは、カメラ103及び骨格追跡センサー105のセンシング・エレメント706により見えるようなユーザー100の正面を示す。図示されているように、ユーザー100は、彼又は彼女の左手を骨格追跡センサー105の方に伸ばして静止している。ユーザーの頭部は、彼又は彼女の胴体の上に突出しており、胴体は右腕の前方にある。放射パターン800は、プロジェクタ704によりユーザーに投影される。当然に、ユーザーは別のポーズをとってもよい。
【００５６】
図8bに示されるように、ユーザー100は或る姿勢でポーズをとっており、その姿勢は、骨格追跡センサー105のセンシング・エレメント706により検出される投影放射パターン800を歪ませるように作用し、プロジェクタ704から遠いユーザー100のパーツに投影される放射パターン800のパーツは、プロジェクタ704に近いユーザーのパーツに投影される放射パターンのパーツに対して、実際上、引き延ばされ(すなわち、この例の場合、放射パターンのドットは、より大きく隔てられ)(プロジェクタ704に近い場合には、放射パターンのドットは、より小さく隔てられ)、延びる量はプロジェクタ704からの隔たりに応じて変化し、ユーザーのかなり後方にあるオブジェクトに投影される放射パターン800のパーツは、センシング・エレメント706にとって、実際上、不可視になる。放射パターン800は組織的に不均一化されているので、ユーザーの形による放射パターンの歪は、その形状を識別し、骨格追跡アルゴリズム106によりユーザー100の骨格的特徴を識別するために使用されることが可能であり、骨格追跡アルゴリズム106は、骨格追跡センサー105のセンシング・エレメント706により取得された歪んだ放射パターンの画像を処理する。例えば、センシング・エレメント706によるユーザーの身体100の領域の分離は、ユーザーのその領域の中にある検出された放射パターン800のドットの隔たりを測定することにより、決定されることが可能である。
【００５７】
図8a及び8bにおいては、放射パターン800は可視的に示されているが、これは単に理解を促すために為されているに過ぎず、実際には、実施形態では、ユーザー100に投影されるような放射パターン800は人間の眼には見えないであろう。
【００５８】
図9に関し、骨格追跡センサー105のセンシング・エレメント706から検出されるセンサー・データは、ユーザー100の1つ以上の骨格的特徴を検出するために、骨格追跡アルゴリズム106により処理される。その結果は、ソフトウェア開発者が使用するためのアプリケーション・プログラミング・インターフェース(API)により、骨格追跡アルゴリズム106からエンコーダ104のコントローラへ利用可能にされる。
【００５９】
骨格追跡アルゴリズム106は、骨格追跡センサー105のセンシング・エレメント706からセンサー・データを受信してそれを処理し、骨格追跡センサー105の視野の中にいるユーザー数を判定し、従来技術で知られている骨格検出技術を利用して、各ユーザーの個々の骨格ポイント群を識別する。各々の骨格ポイントは、カメラ103が別途取得したビデオに対して、対応する人間の関節の近似的な場所を表現する。
【００６０】
一実施形態では、骨格追跡アルゴリズム106は、(ユーザーの身体のうちどの程度多くの部分が視野の中に見えるかに依存して)骨格追跡センサー105の視野の中にいる各ユーザーについて、それぞれ20個に及ぶ骨格ポイントを検出することが可能である。各々の骨格ポイントは、20個の認識される人間の関節のうちの何れかに対応し、各関節は、ユーザー(又はユーザー達)がセンサーの視野の中で動くにつれて時間的及び空間的に変化する。任意の瞬間におけるこれらの関節の位置は、骨格追跡センサー105により検出されるユーザーの3次元的な形態に基づいて計算される。これら20個の骨格ポイントが図9に示されており、それらは：左足首922b、右足首922a、左肘906b、右肘906a、左足元924b、右足元924a、左手902b、右手902a、頭部910、腰の間の中心916、左ヒップ918b、右ヒップ918a、左膝920b、右膝920a、両肩の中心912、左肩908b、右肩908a、中央脊柱914、左手首904b、右手首904aである。
【００６１】
一実施形態では、骨格ポイントは追跡状態を有してもよく：明確に見える関節については明確に追跡され、関節が明確には見えないが骨格追跡アルゴリズムがその位置を推定できる場合には推定し、及び/又は、追跡されない、とすることが可能である。別の実施形態では、検出される骨格ポイントは、対応する関節が適切に検出される尤度(又は見込み)を示す個々の信頼性とともに提供されてもよい。所定の閾値未満の信頼性値を有するポイントは、コントローラ112による何らかのROIを判定する更なる利用から排除されてもよい。
【００６２】
特定の時点で骨格追跡アルゴリズム106により報告された骨格ポイントの位置が、その時点におけるビデオのフレーム(画像)内で対応する人間の関節の位置に対応するように、骨格ポイントとカメラ103からのビデオとが関連付けられる。骨格追跡アルゴリズム106は、これらの検出された骨格ポイントを、骨格追跡情報として、それを使用するコントローラ112へ供給する。ビデオ・データの各フレームに関し、骨格追跡情報により供給される骨格ポイント・データは、そのフレーム内の骨格ポイントの位置を含み、その位置は例えばビデオ・フレーム・サイズに関して境界が規定される座標系のカーテシアン座標(x,y)として表現される。コントローラ112はユーザー100に関して検出された骨格ポイントを受信し、コントローラ112は、それにより、そのユーザーの複数の視覚的な身体的特徴(すなわち、特定の身体部分又は領域)を判別するように構成される。すなわち、身体的部分又は身体的領域は、骨格追跡情報に基づいてコントローラ112により検出され、身体的な部分又は領域の各々は、骨格追跡アルゴリズム106により提供される1つ以上の骨格ポイントからの推定(又は外挿)により検出され、カメラ103からのビデオの対応するビデオ・フレーム内の領域に対応する(すなわち、上記の座標系内の領域として規定される)。
【００６３】
これらの視覚的な身体的特徴は、実際に見ることが可能であり且つ捕捉されたビデオの中で識別されることが可能なユーザーの体の特徴を表現しているという意味において、それらは目に見える点に留意すべきである；しかしながら、一実施形態では、それらはカメラ103により捕捉されたビデオ・データの中で検出されず；むしろ、コントローラ112は、骨格追跡アルゴリズム106及びセンサー105により提供されるような骨格ポイントの配置に基づいて(及びそのフレームの画像処理等には基づくことなく)、カメラ103からのビデオ・フレーム内の各特徴の(近似的な)相対的な位置、形状及びサイズを推定する。例えば、コントローラ112は、身体部分に密接に関係がある検出された配置から算出される位置及びサイズ(及び選択的に方向)を有する四角形(又は同様なもの)として、各身体部分を近似することによって上記の推定を実行してもよい。
【００６４】
上記の実施形態は単なる例示により説明されていることが認められるであろう。
【００６５】
例えば、上記は、変換部202、量子化部203、予測符合化部207，201及びロスレス符合化部204を有する所定のエンコーダ実現手段の観点から説明されている；しかしながら、代替的な実施形態では、本願で開示される教示は、これら全てのステージを必ずしも含んではいない他のエンコーダに適用されてもよい。例えば、QP及びフレーム・レートを適合化する技術は、変換、予測及び/又はロスレス圧縮することなく、おそらくは量子化器を専ら含む形態のエンコーダに適用されてもよい。
【００６６】
更に、本開示の範囲は、単に量子化の粒度及びフレーム・レートを適合させることに限定されない。例えば、両者が一緒に又は同時に適合化されることは必須でない。また、(高いフレーム・レートが常に好まれるので)低いフレーム・レートは意向ではないかもしれないが、細かい粒度及び限られた帯域幅による結果であるかもしれない。より一般的には、他の符合化特性もビデオ内の動きに応じて様々に知覚され、従って、本開示の範囲は、骨格追跡情報に依存して、(量子化の粒度及びフレーム・レート以外の)エンコーダの他の動き関連特性を適合させることに拡張してもよい。量子化が適合化される実施形態において、QPが、量子化の粒度を表現する唯一の可能なパラメータではない点にも留意を要する。
【００６７】
粗い又は細かい量子化の粒度が適用される、と言及されているが、これは、必ずしも全てのフレーム領域にわたって適用されなければならないわけではない点にも留意を要する(ただし、一実施形態ではそのようであってもよい)。例えば、ユーザーが動きつつあることが検出されると、粗い量子化が適用される場合において、その粗い量子化は、1つ以上の選択たれた身体部分及び/又は他のオブジェクトに対応するフレームのうちの1つ以上の領域に適用されてもよい。例えば、それでも顔を高品質に維持することが望ましいかもしれないし、或いは、人がボールを蹴る場合に、足とボールが一層鮮明に維持されてもよい。そのような身体的部分又はオブジェクトは、骨格追跡アルゴリズムにより、或いは、カメラ103からのビデオに適用される別個の画像認識アルゴリズム又は顔認識アルゴリズムにより(そのビデオは符合化される)、或いは、そのような技術の組み合わせにより、検出されることが可能である。
【００６８】
更に、ビデオの捕捉及び適合化は動的であるが、ビデオが必然的にリアルタイムで符合化され、送信され及び/又は再生されなければならない、ということが、全ての可能な実施形態に必須ではない(ただし、そのようなアプリケーションが存在してもよい)。例えば、代替的に、ユーザー端末102がビデオを記録し、ビデオに同期して骨格追跡も記録し(例えば、ペリフェラル・メモリ・キー又はドングル等のようなメモリ・デバイスに保存し)、そして、後日にそれを利用して符合化を実行する、或いは、電子メールに添付することが可能である。
【００６９】
更に、シーン113に対してユーザー100の動きを検出するために骨格追跡が使用されることが説明されているが、これは、ユーザーの絶対的な動きを検出することに必ずしも限定されず、シーンは静的に留まっていてもよい。一実施形態では、骨格追跡アルゴリズム106は、カメラ103がシーン113に対して動くこと(例えば、パンすること)を検出することも可能である。
【００７０】
更に、上記の記述では、骨格追跡アルゴリズム106は、カメラ103とは別個の1つ以上の個別的な専用の骨格追跡センサー105からの知覚的な入力に基づいて、骨格追跡を実行している点に留意を要する(すなわち、カメラ103からのエンコーダ104によりエンコードされるビデオ・データではなく、骨格追跡センサーからのセンサー・データを利用している)。しかしながら、他の実施形態も可能である。例えば、骨格追跡アルゴリズム106は、実際には、エンコードされるビデオを捕捉するために使用されるのと同じカメラからのビデオ・データに基づいて動作するように構成されてもよいが、その場合、骨格追跡アルゴリズム106は、エンコーダ104が実装される汎用処理リソースではない少なくとも何らかの専用の又は確保されたグラフィックス処理リソースを利用して実現され、例えば、骨格追跡アルゴリズム106はグラフィックス・プロセッサ602で実現される一方、エンコーダ104は汎用プロセッサ601で実現され、或いは、骨格追跡アルゴリズム106がシステム・スペースで実現される一方、エンコーダ104がアプリケーション・スペースで実現される。上記の説明での記述よりも一般的に言えば、骨格追跡アルゴリズム106は、カメラ103及び/又はエンコーダ104以外の少なくとも何らかの別のハードウェアを利用して構成されてもよく、エンコードされるビデオを取得するために使用されるカメラ103以外の別の骨格追跡センサー、及び/又は、エンコーダ104以外の別の処理リソースを利用して構成されてもよい。
【００７１】
対象事項は構造的な特徴及び/又は方法的な動作に特化した言葉で説明されているが、添付の特許請求の範囲に規定される対象事項は、上記の具体的な特徴や動作に必ずしも限定されないことが理解されるべきである。むしろ、上記の具体的な特徴及び動作は、請求項に係る事項を実現する一形態として開示されている。
【図１】
2018501677.tif 000003
【図２】
2018501677.tif 000004
【図３】
2018501677.tif 000005
【図４】
2018501677.tif 000006
【図５】
2018501677.tif 000007
【図６】
2018501677.tif 000008
【図７】
2018501677.tif 000009
【図８ａ】
2018501677.tif 000010
【図８ｂ】
2018501677.tif 000011
【図９】
2018501677.tif 000012
【国際調査報告】
2018501677.tif 000013
2018501677.tif 000014
2018501677.tif 000015