(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】コンピュータプログラム、方法及びサーバ装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20221129BHJP
A63F 13/428 20140101ALI20221129BHJP
A63F 13/52 20140101ALI20221129BHJP
G06F 3/01 20060101ALI20221129BHJP
【FI】
G06T7/00 660B
A63F13/428
A63F13/52
G06F3/01 510
(21)【出願番号】P 2020036922
(22)【出願日】2020-03-04
【審査請求日】2021-09-29
(73)【特許権者】
【識別番号】504437801
【氏名又は名称】グリー株式会社
(74)【代理人】
【識別番号】100146318
【氏名又は名称】岩瀬 吉和
(74)【代理人】
【識別番号】230126125
【氏名又は名称】後藤 未来
(74)【代理人】
【識別番号】100143823
【氏名又は名称】市川 英彦
(74)【代理人】
【識別番号】100160255
【氏名又は名称】市川 祐輔
(74)【代理人】
【識別番号】100202267
【氏名又は名称】森山 正浩
(72)【発明者】
【氏名】白井 暁彦
【審査官】松浦 功
(56)【参考文献】
【文献】特開2015-195020(JP,A)
【文献】特開2013-223244(JP,A)
【文献】特開2002-077592(JP,A)
【文献】特開2019-200656(JP,A)
【文献】特開2013-065112(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
A63F 13/00 -13/88
G06F 3/01
G06V 10/00 -20/90
G06V 40/00 -40/70
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサにより実行されることにより、
少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を保持し、
演者の身体に関する測定データを用いて、単位時間当たりの該演者の身体における複数の部位の変化量に基づく参照値を取得し、
前記参照値が閾値を上回る事象を検出した場合に、
前記測定データを用いて前記演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、
前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する、
ように前記プロセッサを機能させる、ことを特徴とするコンピュータプログラム。
【請求項2】
前記情報が、前記少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位、及び、該変化量が大きい上位少なくとも1つの部位の前記変化量の大きさに基づく順序と、を対応付け、
前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位、及び、前記変化量の大きさに基づく順序が一致するいずれか1つの特定動作を、検出動作として決定する、
ように前記プロセッサを機能させる、請求項1に記載のコンピュータプログラム。
【請求項3】
前記測定データを用いて前記演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、
前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、第1の検出動作として決定した後、
前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、第2の検出動作として決定し、
前記第1の検出動作及び前記第2の検出動作に基づいて最終的な検出動作を決定する、
ように前記プロセッサを機能させる、請求項1又は請求項2に記載のコンピュータプログラム。
【請求項4】
前記複数の部位がN個の部位である場合、前記参照値が、
という数式を用いて算出され、
ここで、x
iは、前記演者の身体における複数の部位のうちの第i番目の部位の単位時間当たりの変化量である、請求項1から請求項3のいずれかに記載のコンピュータプログラム。
【請求項5】
前記少なくとも1つの特定動作の各々は、該特定動作に対応付けられた前記変化量が大きい上位少なくとも1つの部位を用いて表現される、請求項1から請求項4のいいずれかに記載のコンピュータプログラム。
【請求項6】
前記変化量が大きい上位少なくとも1つの部位の各々は、目、眉毛、鼻、口、耳、顎、頬、首、肩、手及び胸を含む群から選択される、請求項5に記載のコンピュータプログラム。
【請求項7】
決定された前記検出動作に基づいて画像を生成する、
ように前記プロセッサを機能させる、請求項1から請求項6のいずれかに記載のコンピュータプログラム。
【請求項8】
前記画像が、絵文字、アバターオブジェクト、及び/又は、ゲームオブジェクトを含む、請求項7に記載のコンピュータプログラム。
【請求項9】
少なくとも1つのプロセッサにより実行されることにより、
少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を記憶し、
演者の端末装置から受信した該演者の身体に関する測定データを用いて、単位時間当たりの該演者の身体における複数の部位の変化量に基づく参照値を取得し、
前記参照値が閾値を上回る事象を検出した場合に、
前記測定データを用いて前記演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、
前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する、
ように前記プロセッサを機能させる、ことを特徴とするコンピュータプログラム。
【請求項10】
前記測定データを前記演者の端末装置から通信回線を介して受信する、
ように前記プロセッサを機能させる、請求項9に記載のコンピュータプログラム。
【請求項11】
前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、請求項1から請求項10のいずれかに記載のコンピュータプログラム。
【請求項12】
前記少なくとも1つのプロセッサが、スマートフォン、タブレット、携帯電話又はパーソナルコンピュータに搭載される、請求項1から請求項11のいずれかに記載のコンピュータプログラム。
【請求項13】
コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、
該プロセッサが前記命令を実行することにより、
少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を記憶し、
演者の身体に関する測定データを用いて、単位時間当たりの該演者の身体における複数の部位の変化量に基づく参照値を取得し、
前記参照値が閾値を上回る事象を検出した場合に、
前記測定データを用いて前記演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、
前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する、ことを特徴とする方法。
【請求項14】
前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、請求項13に記載の方法。
【請求項15】
前記少なくとも1つのプロセッサが、スマートフォン、タブレット、携帯電話、パーソナルコンピュータ、又は、サーバ装置に搭載される、請求項13又は請求項14に記載の方法。
【請求項16】
少なくとも1つのプロセッサを具備し、
該プロセッサが、コンピュータにより読み取り可能な命令を実行することにより、
少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を記憶し、
演者の身体に関する測定データを用いて、単位時間当たりの該演者の身体における複数の部位の変化量に基づく参照値を取得し、
前記参照値が閾値を上回る事象を検出した場合に、
前記測定データを用いて前記演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、
前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する、ことを特徴とするサーバ装置。
【請求項17】
前記測定データを前記演者の端末装置から通信回線を介して受信する、請求項16に記載のサーバ装置。
【請求項18】
前記少なくとも1つのプロセッサが、中央処理装置(CPU)、マイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含む、請求項16又は請求項17に記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本件出願に開示された技術は、様々なアプリケーションにおいて演者(ユーザ)の動作に基づいた画像を表示する、コンピュータプログラム、方法及びサーバ装置に関する。
【背景技術】
【0002】
アプリケーションにおいて表示される仮想的なキャラクターの表情を演者の表情に基づいて制御する技術を利用したサービスとしては、まず「アニ文字」と称されるサービスが知られている(非特許文献1)。このサービスでは、ユーザは、顔の形状の変形を検知するカメラを搭載したスマートフォンを見ながら表情を変化させることにより、メッセンジャーアプリケーションにおいて表示されるアバターの表情を変化させることができる。
【0003】
さらに、別のサービスとしては、「カスタムキャスト」と称されるサービスが知られている(非特許文献2)。このサービスでは、ユーザは、スマートフォンの画面に対する複数のフリック方向の各々に対して、用意された多数の表情のうちのいずれかの表情を割り当てる。さらに、ユーザは、動画の配信の際には、所望する表情に対応する方向に沿って画面をフリックすることにより、その動画に表示されるアバターにその表情を表現させることができる。
【0004】
なお、上記非特許文献1及び2の各々は、引用によりその全体が本明細書に組み入れられる。
【先行技術文献】
【非特許文献】
【0005】
【文献】"iPhone X 以降でアニ文字を使う"、[online]、2018年10月24日、アップルジャパン株式会社、[2020年1月10日検索]、インターネット(URL: https://support.apple.com/ja-jp/HT208190)
【文献】"カスタムキャスト"、[online]、2018年10月3日、株式会社ドワンゴ、[2020年1月10日検索]、インターネット(URL: https://customcast.jp/)
【発明の概要】
【発明が解決しようとする課題】
【0006】
仮想的なキャラクター(アバター等)を表示させるアプリケーションにおいて、そのキャラクターに、印象的な表情を表現させることが望まれることがある。印象的な表情は、例えば、以下の3つの例を含む。第1の例は、顔の形状が漫画のように非現実的に変形した表情である。この表情は、例えば、両目が顔面から飛び出した表情等を含む。第2の例は、記号、図形及び/又は色が顔に付加された表情である。この表情は、例えば、涙がこぼれた表情、顔が真っ赤になった表情、目を三角形状にして怒った表情、等を含む。第3の例は、喜怒哀楽を含む感情を表現する表情である。印象的な表情は、これらの例に限定されない。
【0007】
しかしながら、まず、特許文献1に記載された技術は、ユーザ(演者)の顔の形状の変化に追従するように仮想的なキャラクターの表情を変化させる。したがって、特許文献1に記載された技術は、ユーザの顔が実際に表現することが困難な、上記のような印象的な表情を、仮想的なキャラクターの表情において表現することは困難である。
【0008】
次に、特許文献2に記載された技術にあっては、複数のフリック方向の各々に対して、仮想的なキャラクターに表現させるべき表情を予め割り当てておく必要がある。このため、ユーザ(演者)は用意されている表情をすべて認識している必要がある。さらには、複数のフリック方向に対して割り当てて一度に使用することが可能な表情の総数は、10に満たない程度に限定され、充分ではない。
【0009】
したがって、本件出願において開示された幾つかの実施形態は、演者の動作に基づいた画像を新たな手法により表示する、コンピュータプログラム、サーバ装置、端末装置及び表示方法を提供する。
【課題を解決するための手段】
【0010】
一態様に係るコンピュータプログラムは、「少なくとも1つのプロセッサにより実行されることにより、少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を保持し、演者の身体に関する測定データを用いて該演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する、ように前記プロセッサを機能させる」ことができる。
【0011】
別の態様に係るコンピュータプログラムは、「少なくとも1つのプロセッサにより実行されることにより、少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を記憶し、演者の端末装置により送信された該演者の身体に関する測定データを用いて該演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する、ように前記プロセッサを機能させる」ことができる。
【0012】
一態様に係る方法は、「コンピュータにより読み取り可能な命令を実行する少なくとも1つのプロセッサにより実行される方法であって、該プロセッサが前記命令を実行することにより、少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を記憶し、演者の身体に関する測定データを用いて該演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する」ことができる。
【0013】
一態様に係るサーバ装置は、「少なくとも1つのプロセッサを具備し、該プロセッサが、コンピュータにより読み取り可能な命令を実行することにより、少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた情報を記憶し、演者の身体に関する測定データを用いて該演者の身体における単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別し、前記情報を用いて、前記少なくとも1つの特定動作のうち、識別された前記単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、検出動作として決定する」ことができる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、一実施形態に係る通信システムの構成の一例を示すブロック図である。
【
図2】
図2は、
図1に示した端末装置20(サーバ装置30)のハードウェア構成の一例を模式的に示すブロック図である。
【
図3】
図3は、
図1に示した端末装置20(サーバ装置30)の機能の一例を模式的に示すブロック図である。
【
図4】
図4は、
図1に示した通信システム1全体において行われる動作の一例を示すフロー図である。
【
図5】
図5は、
図4に示した動作のうち動画の生成及び送信に関する動作の一例を示すフロー図である。
【
図6】
図6は、
図1に示した通信システムにおいて用いられる対応情報の一例を模式的に示す図である。
【
図7A】
図7Aは、
図1に示した通信システムにおいて用いられる端末装置20等により表示される動画の一例を示す図である。
【
図7B】
図7Aは、
図1に示した通信システムにおいて用いられる端末装置20等により表示される動画の別の例を示す図である。
【
図7C】
図7Cは、
図1に示した通信システムにおいて用いられる端末装置20等により表示される動画のさらに別の例を示す図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照して本発明の様々な実施形態を説明する。なお、図面において共通した構成要素には同一の参照符号が付されている。また、或る図面に表現された構成要素が、説明の便宜上、別の図面においては省略されていることがある点に留意されたい。さらにまた、添付した図面が必ずしも正確な縮尺で記載されている訳ではないということに注意されたい。
【0016】
1.通信システムの例
本件出願において開示される通信システムでは、簡潔にいえば、配信ユーザ(演者)に対向して設けられた端末装置等が、この配信ユーザの動作に基づいて生成した画像(動画像及び/又は静止画像)を、サーバ装置等を介して、各視聴ユーザの端末装置等に送信することができる。
【0017】
図1は、一実施形態に係る通信システムの構成の一例を示すブロック図である。
図1に示すように、通信システム1は、通信網10に接続される1又はそれ以上の端末装置20と、通信網10に接続される1又はそれ以上のサーバ装置30と、を含むことができる。なお、
図1には、端末装置20の例として、3つの端末装置20A~20Cが例示され、サーバ装置30の例として、3つのサーバ装置30A~30Cが例示されている。しかし、端末装置20として、これら以外の1又はそれ以上の端末装置20が通信網10に接続され得る。また、サーバ装置30として、これら以外の1又はそれ以上のサーバ装置30が通信網10に接続され得る。
【0018】
また、通信システム1は、通信網10に接続される1又はそれ以上のスタジオユニット40を含むことができる。なお、
図1には、スタジオユニット40の例として、2つのスタジオユニット40A及び40Bが例示されている。しかし、スタジオユニット40として、これら以外の1又はそれ以上のスタジオユニット40が通信網10に接続され得る。
【0019】
「第1の態様」では、
図1に示す通信システム1では、演者により操作され所定のアプリケーション(動画配信用のアプリケーション等)を実行する端末装置20(例えば端末装置20A)が、端末装置20Aに対向する演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データを取得することができる。さらに、この端末装置20Aは、この取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介してサーバ装置30(例えばサーバ装置30A)に送信することができる。さらに、サーバ装置30Aは、端末装置20Aから受信した仮想的なキャラクターの画像を、通信網10を介して他の1又はそれ以上の端末装置20であって所定のアプリケーション(動画視聴用のアプリケーション等)を実行して画像の配信を要求する旨を送信した端末装置20に配信することができる。
【0020】
なお、本明細書において、「所定のアプリケーション」又は「特定のアプリケーション」とは、1又はそれ以上のアプリケーションであってもよいし、1又はそれ以上のアプリケーションと1又はそれ以上のミドルウェアとの組み合わせであってもよい。
【0021】
「第2の態様」では、
図1に示す通信システム1では、例えばスタジオ等又は他の場所に設置されたサーバ装置30(例えばサーバ装置30B)が、上記スタジオ等又は他の場所に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データを取得することができる。さらに、このサーバ装置30Bは、この取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介して1又はそれ以上の端末装置20であって所定のアプリケーション(動画視聴用のアプリケーション等)を実行して画像の配信を要求する旨を送信した端末装置20に配信することができる。
【0022】
「第3の態様」では、
図1に示す通信システム1では、例えばスタジオ等又は他の場所に設置されたスタジオユニット40が、上記スタジオ等又は他の場所に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データを取得することができる。さらに、このスタジオユニット40は、このデータに従って生成した仮想的なキャラクターの画像を生成してサーバ装置30に送信することができる。さらに、サーバ装置30は、スタジオユニット40から取得(受信)した画像を、通信網10を介して1又はそれ以上の端末装置20であって所定のアプリケーション(動画視聴用のアプリケーション等)を実行して画像の配信を要求する旨を送信した端末装置20に配信することができる。
【0023】
通信網10は、携帯電話網、無線LAN、固定電話網、インターネット、イントラネット及び/又はイーサネット(登録商標)等をこれらに限定することなく含むことができる。
【0024】
端末装置20は、インストールされた特定のアプリケーションを実行することにより、その演者の身体に関するデータ及び/又はその演者により発せられた発話及び/又は歌唱に関する音声データを取得する、という動作等を実行することができる。さらに、この端末装置20は、この取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介してサーバ装置30に送信する、という動作等を実行することができる。或いはまた、端末装置20は、インストールされたウェブブラウザを実行することにより、サーバ装置30からウェブページを受信及び表示して、同様の動作を実行することができる。
【0025】
端末装置20は、このような動作を実行することができる任意の端末装置であって、スマートフォン、タブレット、携帯電話(フィーチャーフォン)及び/又はパーソナルコンピュータ等を、これらに限定することなく含むことができる。
【0026】
サーバ装置30は、「第1の態様」では、インストールされた特定のアプリケーションを実行してアプリケーションサーバとして機能することができる。これにより、サーバ装置30は、各端末装置20から仮想的なキャラクターの画像を、通信網10を介して受信し、受信した画像を、通信網10を介して各端末装置20に配信する、という動作等を実行することができる。或いはまた、サーバ装置30は、インストールされた特定のアプリケーションを実行してウェブサーバとして機能することにより、各端末装置20に送信するウェブページを介して、同様の動作を実行することができる。
【0027】
サーバ装置30は、「第2の態様」では、インストールされた特定のアプリケーションを実行してアプリケーションサーバとして機能することができる。これにより、サーバ装置30は、このサーバ装置30が設置されたスタジオ等又は他の場所に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データを取得する、という動作等を実行することができる。さらに、サーバ装置30は、この取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介して各端末装置20に配信する、という動作等を実行することができる。或いはまた、サーバ装置30は、インストールされた特定のアプリケーションを実行してウェブサーバとして機能することにより、各端末装置20に送信するウェブページを介して、同様の動作を実行することができる。さらにまた、サーバ装置30は、インストールされた特定のアプリケーションを実行してアプリケーションサーバとして機能することができる。これにより、サーバ装置30は、スタジオ等又は他の場所に設置されたスタジオユニット40からこのスタジオ等に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データに従って表情を変化させた仮想的なキャラクターの画像を取得(受信)する、という動作等を実行することができる。さらに、サーバ装置30は、この画像を、通信網10を介して各端末装置20に配信する、という動作等を実行することができる。
【0028】
スタジオユニット40は、インストールされた特定のアプリケーションを実行する情報処理装置として機能することができる。これにより、スタジオユニット40は、このスタジオユニット40が設置されたスタジオ等又は他の場所に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データを取得することができる。さらに、スタジオユニット40は、この取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介してサーバ装置30に送信することができる。
【0029】
2.各装置のハードウェア構成
次に、端末装置20、サーバ装置30及びスタジオユニット40の各々が有するハードウェア構成の一例について説明する。
2-1.端末装置20のハードウェア構成
各端末装置20のハードウェア構成例について
図2を参照して説明する。
図2は、
図1に示した端末装置20(サーバ装置30)のハードウェア構成の一例を模式的に示すブロック図である。なお、
図2において、括弧内の参照符号は、後述するように各サーバ装置30に関連して記載されている。
【0030】
図2に示すように、各端末装置20は、主に、中央処理装置21と、主記憶装置22と、入出力インタフェイス装置23と、入力装置24と、補助記憶装置25と、出力装置26と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
【0031】
中央処理装置21は、「CPU」と称されることがあり、主記憶装置22に記憶されている命令及びデータに対して演算を行い、その演算の結果を主記憶装置22に記憶させることができる。さらに、中央処理装置21は、入出力インタフェイス装置23を介して、入力装置24、補助記憶装置25及び出力装置26等を制御することができる。端末装置20は、1又はそれ以上のこのような中央処理装置21を含むことが可能である。
【0032】
主記憶装置22は、「メモリ」と称されることがあり、入力装置24、補助記憶装置25及び通信網10等(サーバ装置30等)から、入出力インタフェイス装置23を介して受信した命令及びデータ、並びに、中央処理装置21の演算結果を記憶することができる。主記憶装置22は、RAM(ランダムアクセスメモリ)、ROM(リードオンリーメモリ)及び/又はフラッシュメモリ等をこれらに限定することなく含むことができる。
【0033】
補助記憶装置25は、主記憶装置22よりも大きな容量を有する記憶装置である。補助記憶装置25は、上記特定のアプリケーションやウェブブラウザ等を構成する命令及びデータ(コンピュータプログラム)を記憶しておき、中央処理装置21により制御されることにより、これらの命令及びデータ(コンピュータプログラム)を、入出力インタフェイス装置23を介して主記憶装置22に送信することができる。補助記憶装置25は、磁気ディスク装置及び/又は光ディスク装置等をこれらに限定することなく含むことができる。
【0034】
入力装置24は、外部からデータを取り込む装置であり、タッチパネル、ボタン、キーボード、マウス及び/又はセンサ等をこれらに限定することなく含むことができる。センサは、後述するように、1又はそれ以上のカメラ等を含む第1のセンサ、及び/又は、1又はそれ以上のマイク等を含む第2のセンサをこれらに限定することなく含むことができる。
【0035】
出力装置26は、ディスプレイ装置、タッチパネル及び/又はプリンタ装置等をこれらに限定することなく含むことができる。
【0036】
このようなハードウェア構成にあっては、中央処理装置21が、補助記憶装置25に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置22にロードし、ロードした命令及びデータを演算することができる。これにより、中央処理装置21は、入出力インタフェイス装置23を介して出力装置26を制御し、或いはまた、入出力インタフェイス装置23及び通信網10を介して、他の装置(例えばサーバ装置30及び他の端末装置20等)との間で様々な情報の送受信を行うことができる。
【0037】
これにより、端末装置20は、インストールされた特定のアプリケーションを実行することにより、その演者の身体に関するデータ及び/又はその演者により発せられた発話及び/又は歌唱に関する音声データを取得し、取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介してサーバ装置30に送信する、という動作等(後に詳述する様々な動作を含む)を実行することができる。或いはまた、端末装置20は、インストールされたウェブブラウザを実行することにより、サーバ装置30からウェブページを受信及び表示して、同様の動作を実行することができる。
【0038】
なお、端末装置20は、中央処理装置21に代えて又は中央処理装置21とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むことができる。
【0039】
2-2.サーバ装置30のハードウェア構成
各サーバ装置30のハードウェア構成例について同じく
図2を参照して説明する。各サーバ装置30のハードウェア構成は、例えば、上述した各端末装置20のハードウェア構成と同一とすることができる。したがって、各サーバ装置30が有する構成要素に対する参照符号は、
図2において括弧内に示されている。
【0040】
図2に示すように、各サーバ装置30は、主に、中央処理装置31と、主記憶装置32と、入出力インタフェイス装置33と、入力装置34と、補助記憶装置35と、出力装置36と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
【0041】
中央処理装置31、主記憶装置32、入出力インタフェイス装置33、入力装置34、補助記憶装置35及び出力装置36は、それぞれ、上述した各端末装置20に含まれる、中央処理装置21、主記憶装置22、入出力インタフェイス装置23、入力装置24、補助記憶装置25及び出力装置26と略同一であり得る。
【0042】
このようなハードウェア構成にあっては、中央処理装置31が、補助記憶装置35に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置32にロードし、ロードした命令及びデータを演算することができる。これにより、中央処理装置31は、入出力インタフェイス装置33を介して出力装置36を制御し、或いはまた、入出力インタフェイス装置33及び通信網10を介して、他の装置(例えば各端末装置20等)との間で様々な情報の送受信を行うことができる。
【0043】
これにより、サーバ装置30は、「第1の態様」では、インストールされた特定のアプリケーションを実行してアプリケーションサーバとして機能することができる。これにより、サーバ装置30は、各端末装置20から仮想的なキャラクターの画像を、通信網10を介して受信し、受信した画像を、通信網10を介して各端末装置20に配信する、という動作等(後に詳述する様々な動作を含む)を実行することができる。或いはまた、サーバ装置30は、インストールされた特定のアプリケーションを実行してウェブサーバとして機能することができる。これにより、サーバ装置30は、各端末装置20に送信するウェブページを介して、同様の動作を実行することができる。
【0044】
また、サーバ装置30は、「第2の態様」では、インストールされた特定のアプリケーションを実行してアプリケーションサーバとして機能することができる。これにより、サーバ装置30は、このサーバ装置30が設置されたスタジオ等又は他の場所に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データを取得するという動作等を実行することができる。さらに、サーバ装置30は、この取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介して各端末装置20に配信する、という動作等(後に詳述する様々な動作を含む)を実行することができる。或いはまた、サーバ装置30は、インストールされた特定のアプリケーションを実行してウェブサーバとして機能することができる。これにより、サーバ装置30は、各端末装置20に送信するウェブページを介して、同様の動作を実行することができる。
【0045】
さらにまた、サーバ装置30は、「第3の態様」では、インストールされた特定のアプリケーションを実行してアプリケーションサーバとして機能することができる。これにより、サーバ装置30は、スタジオユニット40が設置されたスタジオ等又は他の場所に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データに従って生成した仮想的なキャラクターの画像を、通信網10を介してスタジオユニット40から取得(受信)するという動作等を実行することができる。さらに、サーバ装置30は、この画像を、通信網10を介して各端末装置20に配信する、という動作等(後に詳述する様々な動作を含む)を実行することもできる。
【0046】
なお、サーバ装置30は、中央処理装置31に代えて又は中央処理装置31とともに、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含むことができる。
【0047】
2-3.スタジオユニット40のハードウェア構成
スタジオユニット40は、パーソナルコンピュータ等の情報処理装置により実装可能である。スタジオユニット40は、図示はされていないが、上述した端末装置20及びサーバ装置30と同様に、主に、中央処理装置と、主記憶装置と、入出力インタフェイス装置と、入力装置と、補助記憶装置と、出力装置と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
【0048】
スタジオユニット40は、インストールされた特定のアプリケーションを実行して情報処理装置として機能することができる。これにより、スタジオユニット40は、このスタジオユニット40が設置されたスタジオ等又は他の場所に居る演者の身体に関するデータ及び/又は演者により発せられた発話及び/又は歌唱に関する音声データを取得することができる。さらに、スタジオユニット40は、この取得したデータに従って生成した仮想的なキャラクターの画像を、通信網10を介してサーバ装置30に送信することができる。
【0049】
3.各装置の機能
次に、端末装置20、サーバ装置30及びスタジオユニット40の各々が有する機能の一例について説明する。
3-1.端末装置20の機能
端末装置20の機能の一例について
図3を参照して説明する。
図3は、
図1に示した端末装置20(サーバ装置30)の機能の一例を模式的に示すブロック図である。
【0050】
図3に示すように、端末装置20は、記憶部100と、センサ部110と、変化量取得部120と、識別部140と、決定部150と、画像生成部160と、表示部170と、ユーザインタフェイス部180と、通信部190と、を含むことができる。端末装置20は、さらに、参照値取得部130を含むことができる。
【0051】
(1)記憶部100
記憶部100は、画像の配信及び/又は画像の受信に必要とされる様々な情報を記憶することができる。特に、記憶部100は、対応情報を記憶することができる。対応情報では、予め定められた少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位とが、対応付けられる。
【0052】
ここで、予め定められた少なくとも1つの特定動作には、例えば、以下に例示する複数の動作のうちの少なくとも1つが含まれ得る。
(A)演者が実際に表現することが困難な様々な表情(以下「特殊表情」ということがある)のうちの少なくとも1つ
(B)身体を使用した様々な動作(両手でハート型を作る動作、及び、両手を用いて手旗信号を表現する動作等)のうちの少なくとも1つ
【0053】
なお、上記(A)に示した特殊表情は、例えば、以下に示す(A1)から(A3)のうちの少なくとも1つの表情を含むことができる。
(A1)顔の形状が漫画のように非現実的に変形した表情
(A2)記号、図形及び/又は色が顔に付加された表情
(A3)喜怒哀楽を含む感情を表現する表情
【0054】
また、演者の身体における複数の部位は、右目、左目、右眉毛、左眉毛、鼻、口、右耳、左耳、顎、右頬、左頬、首、右肩、左肩、右手、左手、胸、及び/又は、これらの部位のうちの何れかの部位における一部分等を、これらに限定することなく含むことができる。ここで、いずれかの部位における一部分には、例えば、当該部位が右目である場合には、右目の右端部、右目の左端部、右目の中央部、右目の上縁部、及び/又は、右目の下縁部等が含まれ得る。
【0055】
さらに、対応情報では、予め定められた少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位、及び、このような変化量が大きい上位少なくとも1つの部位の上記変化量の大きさに基づく順序とが、対応付けられることも可能である。
なお、対応情報の具体例については後述する。
【0056】
(2)センサ部110
センサ部110は、様々なタイプのカメラ及び/又はマイクロフォン等のセンサと、このようなセンサにより取得された情報を処理する少なくとも1つのプロセッサと、を含むことができる。センサ部110は、このセンサ部110に対向する演者の身体に関するデータ(画像及び/又は音声等)を取得して、さらにこのデータに対する情報処理を実行することが可能である。
【0057】
具体的には、例えば、センサ部110は、まず、様々なタイプのカメラを用いて、単位時間ごとに演者の身体に関する画像データを取得することができる。ここで、単位時間は、ユーザ・演者等によりユーザインタフェイス部180を介して任意のタイミングにおいて任意の長さに設定・変更可能である。さらに、センサ部110は、このように取得した画像データを用いて、単位時間ごとに演者の身体における複数の部位の各々の位置を測定することができる。ここで、複数の部位とは、上記のとおり、右目、左目、右眉毛、左眉毛、鼻、口、右耳、左耳、顎、右頬、左頬、首、右肩、左肩、右手、左手、胸、及び/又は、これらの部位のうちの何れかの部位における一部分等を、これらに限定することなく含むことができる。なお、カメラにより取得された画像データを用いて単位時間ごとに演者の身体における複数の部分の位置を測定する手法としては、当業者にとって周知である様々な手法を用いることが可能である。
【0058】
例えば、1つの実施形態では、センサ部110は、センサとして、可視光線を撮像するRGBカメラと、近赤外線を撮像する近赤外線カメラと、を含むことができる。このようなカメラとしては、例えばiphone X(登録商標)のトゥルーデプス(True Depth)カメラが利用可能である。なお、トゥルーデプス(True Depth)カメラとしては、https://developer.apple.com/documentation/arkit/arfaceanchorに開示されたカメラを利用することができる。このウェブサイトに記載された事項は、引用によりその全体が本明細書に組み入れられる。
【0059】
RGBカメラに関して、センサ部110は、RGBカメラにより取得された画像をタイムコード(画像を取得した時間を示すコード)に対応付けて単位時間ごとに記録したデータを生成することができる。このデータは、例えばMPEGファイルであり得る。
【0060】
さらに、センサ部110は、近赤外線カメラにより取得された所定数(例えば51個)の深度を示す数値(例えば浮動小数点の数値)を上記タイムコードに対応付けて単位時間ごとに記録したデータを生成することができる。このデータは、例えばTSVファイルであり得る。ここで、TSVファイルとは、データ間をタブで区切って複数のデータを記録する形式のファイルである。
【0061】
近赤外線カメラに関して、具体的には、まず、ドットプロジェクタがドット(点)パターンを含む赤外線レーザーを演者の身体に放射することができる。さらに、近赤外線カメラが、演者の身体に投影され反射した赤外線ドットを捉え、このように捉えた赤外線ドットの画像を生成することができる。センサ部110は、予め登録されているドットプロジェクタにより放射されたドットパターンの画像と、近赤外線カメラにより捉えられた画像とを比較して、両画像における各ポイント(例えば51個のポイント・51個の部位の各々)における位置のずれを用いて各ポイント(各部位)の深度を算出することができる。ここで、各ポイント(各部位)の深度は、各ポイント(各部位)と近赤外線カメラとの間の距離であり得る。センサ部110は、このように算出された深度を示す数値を上記のようにタイムコードに対応付けて単位時間ごとに記録したデータを生成することができる。
【0062】
これにより、センサ部110は、タイムコードに対応付けて、単位時間ごとに、MPEGファイル等の動画と、各部位の位置(座標等)とを、演者の身体に関するデータ(測定データ)として取得することができる。
【0063】
別の実施形態では、センサ部110は、Argumented Facesという技術を利用することができる。Argumented Facesとしては、https://developers.google.com/ar/develop/java/augmented-faces/において開示された情報を利用することができる。このウェブサイトに開示された情報は、引用によりその全体が本明細書に組み入れられる。
【0064】
Argumented Facesを利用することにより、センサ部110は、カメラにより撮像された画像を用いて、次に示す情報を単位時間ごとに取得することができる。
(1)演者の頭蓋骨の物理的な中心位置、
(2)演者の顔を構成する何百もの頂点を含み、上記中心位置に対して定義される顔メッシュ、及び、
(3)上記(1)及び(2)に基づいて識別された、演者の顔における複数の部位(例えば、右頬、左頬、鼻の頂点)の各々の位置(座標)
【0065】
この技術を用いることにより、センサ部110は、単位時間ごとに、演者の上半身(顔等)における複数の部分の各々の位置(座標)を取得することができる。
【0066】
なお、センサ部110は、マイクロフォン等から出力された演者の発話及び/又は歌唱に関する音声データについては、このデータに対して周知の信号処理を行うことにより、音声信号を取得することができる。この音声信号は、例えばMPEGファイル等であってもよい。
【0067】
(3)変化量取得部120
変化量取得部120は、センサ部110により取得された演者の身体に関するデータ(測定データ)に基づいて、演者の身体における複数の部位の各々の単位時間当たりの変化量を取得することができる。具体的には、変化量取得部120は、例えば、右頬という部位について、第1の単位時間において取得された位置(座標)と、第1の単位時間の次に(直後に)生ずる第2の単位時間において取得された位置(座標)と、の差分をとることができる。これにより、変化量取得部120は、第1の単位時間と第2の単位時間との間において、右頬という部位の変化量を取得することができる。すなわち、変化量取得部120は、右頬という部位の単位時間当たりの変化量を取得することができる。変化量取得部120は、他の部位についても同様にその部位の単位時間当たりの変化量を取得することができる。
【0068】
各部位の単位時間当たりの変化量は、例えば、0~1.0の間における浮動小数点により表現され得る。
なお、単位時間は、固定、可変又はこれらの組み合わせであってもよい。また、単位時間は、1フレームに相当する時間であってもよい。
【0069】
(4)参照値取得部130
参照値取得部130は、センサ部110により取得された演者の身体に関するデータ(測定データ)に基づいて、演者の身体における複数の部位の単位時間当たりの変化量に基づく参照値を取得する。一実施形態では、参照値Rは、次の数式を用いて算出され得る。
ここで、x
iは、前記演者の身体における複数の部位のうちの第i番目の部位の単位時間当たりの変化量である。Nは、部位の総数(2以上)である。この数式により算出される値は、2乗平均平方根(Root Mean Square)と称される。
【0070】
上記参照値は、演者の身体における複数の部位の単位時間当たりの変化量がどの程度かを示す。上記参照値が大きい場合には、演者の身体が予め定められた少なくとも1つの特定動作のうちのいずれかを行ったことが推定され得る。一方、上記参照値が小さい場合には、演者の身体が予め定められた少なくとも1つの特定動作のうちのいずれも行っていないことが推定され得る。
【0071】
なお、上記参照値は、上記数式に示された2乗平均平方根それ自体であってもよいし、この2乗平均平方根に対して任意の係数を乗ずることにより得られた値であってもよい。
【0072】
また、参照値Rは、別の実施形態では、次の数式に示すようなx
iの平均値であってもよい。
なお、ここでも、x
iは、前記演者の身体における複数の部位のうちの第i番目の部位の単位時間当たりの変化量である。Nは、部位の総数(2以上)である。
【0073】
(4)識別部140
識別部140は、変化量取得部120により取得された、演者の身体における複数の部位の各々の単位時間当たりの変化量を用いて、複数の部位のうち、単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別することができる。
【0074】
一実施形態では、識別部140は、参照値取得部130により算出された参照値が閾値を上回る事象が検出された場合に、単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別することができる。変化量が大きい上位少なくとも1つの部位は、N個の部位を含み得る。
【0075】
(5)決定部150
決定部150は、記憶部100に記憶された上述した対応情報において、識別部140により識別された単位時間当たりの変化量が大きい上位少なくとも1つの部位に対応付けられたいずれか1つの特定動作を、演者が行った動作(検出動作)として決定することができる。
【0076】
さらに、記憶部100が予め定められた少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位、及び、このような変化量が大きい上位少なくとも1つの部位の上記変化量の大きさに基づく順序と、を対応付けた対応情報を記憶する場合には、決定部150は、次のような動作を行うことも可能である。具体的には、決定部150は、記憶部100に記憶された上記対応情報において、識別部140により識別された単位時間当たりの変化量が大きい上位少なくとも1つの部位に一致し、かつ、上記変化量の大きさに基づく順序が一致する、いずれか1つの特定動作を、演者が行った動作(検出動作)として決定することができる。
【0077】
なお、決定部150により行われる動作の具体例については後述する。
【0078】
(6)画像生成部160
画像生成部160は、センサ部110により取得された演者の身体に関するデータ(測定データ)を用いて、通常は、演者の身体の動作に追従した仮想的なキャラクターのアニメーションを含む動画を生成することができる。例えば、画像生成部160は、演者の身体の動作に追従して、仮想的なキャラクターが真顔を維持して単に瞬きをした動画、仮想的なキャラクターが真顔を維持して単に俯いた動画、及び、仮想的なキャラクターが演者の顔の動作に合わせて口や目を動かした動画等を生成することができる。このような動画の生成は、画像生成部160が、センサ部110により取得された演者の身体に関するデータ(測定データ)に基づいて、例えば、特定の部位(目等)の位置(座標)が変化したことを検出し、そのような変化に基づいて、この特定の部位を描画すること等により実現可能である。また、このような動画の生成は、当業者にとって周知である様々なレンダリング技術を用いることによって実現可能である。
【0079】
さらに、画像生成部160は、予め定められた少なくとも1つの特定動作のうち、決定部150により、いずれかの特定動作が実行されたことが決定されたとき(いずれかの特定動作が検出動作として決定されたとき)には、次のような動作を行うことができる。具体的には、画像生成部160は、決定された検出動作に基づいて動作する仮想的なキャラクターのアニメーションを含む動画を生成することができる。例えば、画像生成部160は、まず、上述した特定動作(A1)、(A2)、(A3)及び/又は(B)の各々に対応付けて仮想的なキャラクターをどのように変化及び/又は動作させるかに関する情報を予め保持することができる。次に、画像生成部160は、このように予め保持した情報のうち、決定された検出動作に対応する情報を用いて、仮想的なキャラクターを変化及び/又は動作させたアニメーションを含む動画を生成することができる。また、このような動画の生成もまた、当業者にとって周知である様々なレンダリング技術を用いることによって実現可能である。
【0080】
画像生成部160は、このように生成した動画を格納したファイル(例えばMPEGファイル等のファイル)を記憶部100に記憶させることができる。
なお、画像生成部160は、VR(Virtual Reality)に基づく実施形態では、上記のように動作する仮想的なキャラクターが、CG等により形成された仮想空間に配置された画像(動画)を生成することができる。画像生成部160は、AR(Augmented Reality)又はMR(Mixed Reality)に基づく実施形態では、上記のように動作する仮想的なキャラクターが、現実空間に配置された画像(動画)を生成することができる。
【0081】
(7)表示部170
表示部170は、例えば、タッチパネル及び/又はディスプレイパネル等を含むことができる。このような表示部170は、記憶部100に記憶された動画を格納したファイルを再生して表示することができる。
【0082】
(8)ユーザインタフェイス部180
ユーザインタフェイス部180は、タッチパネル、マウス及び/又はキーボード等を含むことができる。このようなユーザインタフェイス部180は、演者(ユーザ)により行われた操作の内容を示す情報を生成することができる。
【0083】
(9)通信部190
通信部190は、画像の配信及び/又は画像の受信に必要とされる様々な情報を、通信網10を介してサーバ装置30との間で通信することができる。特に、当該端末装置20が演者(配信ユーザ)の端末装置20として動作する場合には、通信部190は、記憶部100に記憶された動画を、サーバ装置30に送信することができる。当該端末装置20が視聴ユーザの端末装置20として動作する場合には、通信部190は、配信ユーザの端末装置20により配信された動画を、サーバ装置30を介して受信することができる。
【0084】
3-2.サーバ装置30の機能
サーバ装置30の機能の具体例について同じく
図3を参照して説明する。サーバ装置30の機能としては、例えば、上述した端末装置20の機能の一部を用いることが可能である。したがって、サーバ装置30が有する構成要素に対する参照符号は、
図3において括弧内に示されている。
【0085】
まず、上述した「第2の態様」では、サーバ装置30は、以下に述べる相違点を除き、記憶部200~通信部290は、それぞれ、端末装置20に関連して説明した記憶部100~通信部190と同一であり得る。
【0086】
センサ部210に含まれるセンサは、サーバ装置30が設置されるスタジオ等又は他の場所において、演者が演技を行う空間において演者に対向して配置され得る。同様に、表示部270に含まれるディスプレイやタッチパネル等もまた、演者が演技を行う空間において演者に対向して又は演者の近くに配置され得る。
【0087】
通信部290は、各演者に対応付けて記憶部200に記憶された動画を格納したファイルを、通信網10を介して複数の端末装置20に配信することができる。これら複数の端末装置20の各々は、インストールされた所定のアプリケーション(例えば動画視聴用のアプリケーション)を実行して、サーバ装置30に対して所望の動画の配信を要求する信号(リクエスト信号)を送信することができる。これにより、各端末装置20は、この信号に応答したサーバ装置30から所望の動画を当該所定のアプリケーションを介して受信することができる。
【0088】
なお、記憶部200に記憶される様々な情報(動画を格納したファイル等)は、当該サーバ装置30に通信網10を介して通信可能な1又はそれ以上の他のサーバ装置(ストレージ)30に記憶されるようにしてもよい。
【0089】
一方、上述した「第1の態様」では、上記「第2の態様」において用いられたセンサ部210~画像生成部260をオプションとして用いることができる。通信部290は、上記のように動作することに加えて、各端末装置20により送信され通信網10から受信した、動画を格納したファイルを、記憶部200に記憶させた上で、複数の端末装置20に対して配信することができる。
【0090】
他方、「第3の態様」では、上記「第2の態様」において用いられたセンサ部210~画像生成部260をオプションとして用いることができる。通信部290は、上記のように動作することに加えて、スタジオユニット40により送信され通信網10から受信した、動画を格納したファイルを、記憶部200に記憶させた上で、複数の端末装置20に対して配信することができる。
【0091】
3-3.スタジオユニット40の機能
スタジオユニットは、
図3に示した端末装置20又はサーバ装置30と同様の構成を有することにより、端末装置20又はサーバ装置30と同様の動作を行うことが可能である。但し、通信部190(290)は、画像生成部160(260)により生成され記憶部100(200)に記憶された動画を、通信網10を介してサーバ装置30に送信することができる。
【0092】
特に、センサ部110(210)に含まれるセンサは、スタジオユニット40が設置されるスタジオ等又は他の場所において、演者が演技を行う空間において演者に対向して配置され得る。同様に、表示部170(270)に含まれるディスプレイやタッチパネル等もまた、演者が演技を行う空間において演者に対向して又は演者の近くに配置され得る。
【0093】
4.通信システム1全体の動作
次に、上述した構成を有する通信システム1全体の動作の具体例について、
図4を参照して説明する。
図4は、
図1に示した通信システム1全体において行われる動作の一例を示すフロー図である。
【0094】
まず、ステップ(以下「ST」という。)402において、第1の態様の場合、端末装置20(の画像生成部160)が、演者の身体に関するデータ(測定データ)を用いて、仮想的なキャラクターのアニメーションを含む動画を生成することができる。第2の態様の場合には、サーバ装置30(の画像生成部260)が同様の動作を実行することができる。第3の態様の場合には、スタジオユニット40が同様の動作を実行することができる。
【0095】
ST404において、第1の態様の場合、端末装置20(の通信部190)は、生成した動画をサーバ装置30に送信することができる。第2の態様の場合、サーバ装置30(の通信部290)は、ST404を実行しないか、又は、生成した動画を別のサーバ装置30に送信することができる。第3の態様の場合、スタジオユニット40は、生成した動画をサーバ装置30に送信することができる。なお、ST402及びST404において実行される動作の具体例については、
図5等を参照して後述する。
【0096】
ST406において、第1の態様の場合、サーバ装置30(の通信部290)は、端末装置20から受信した動画を他の端末装置20に送信することができる。第2の態様の場合、サーバ装置30(又は別のサーバ装置30)(の通信部290)は、端末装置20から受信した動画を他の端末装置20に送信することができる。第3の態様の場合、サーバ装置30(の通信部290)は、スタジオユニット40から受信した動画を他の端末装置20に送信することができる。
【0097】
ST408において、第1の態様及び第3の態様の場合、他の端末装置20(の表示部170)は、サーバ装置30により送信された動画を受信してその端末装置20のディスプレイ等又はその端末装置20に接続されたディスプレイ等に表示することができる。第2の態様の場合、他の端末装置20(の表示部170)は、サーバ装置30又は別のサーバ装置30により送信された動画を受信してその端末装置20のディスプレイ等又はその端末装置20に接続されたディスプレイ等に表示することができる。
【0098】
ST410において、動作が継続されるかが判断される。動作が継続されると判断された場合には、処理は上述したST402に戻る。一方、動作が継続されないと判断された場合には、処理は終了する。
【0099】
なお、
図4は、説明の簡略化のために、ST402~ST408に示された動作が順次実行される様子を示している。しかし、実際には、ST402~ST408は、相互に並行して実行され得る。
【0100】
5.端末装置20等により行われる動画の生成及び送信に関する動作
次に、
図4を参照して説明した動作のうち、ST402及びST404において端末装置20により行われる動画の生成及び送信に関する動作の具体的な例について、
図5を参照して説明する。
図5は、
図4に示した動作のうち動画の生成及び送信に関する動作の一例を示すフロー図である。
【0101】
以下、説明を簡単にするために、動画を生成する主体が端末装置20である場合(すなわち、第1の態様の場合)に着目する。しかし、動画を生成する主体は、サーバ装置30であってもよい(第2の態様の場合)。また、動画を生成する主体は、スタジオユニット40であってもよい(第3の態様の場合)。
【0102】
まず、前提として、ST502において、端末装置20(の記憶部100)は、予め定められた少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けた対応情報を保持している。記憶部100に記憶される対応情報は、以下に例示する対応情報であってもよい。
・当該端末装置20により生成された対応情報
・専門家、技術者又は他のユーザにより生成されサーバ装置30等から有償若しくは無償で送信された対応情報
・他のユーザの端末装置20から直接的に又はサーバ装置30等を介して間接的に送信された対応情報
なお、後述するように、端末装置20は、保持している対応情報を更新することも可能である。
【0103】
図6は、
図1に示した通信システムにおいて用いられる対応情報の一例を模式的に示す図である。
図6に例示される対応情報は、各特定動作に対して、単位時間当たりの変化量が大きい上位例えば6つの部位を対応付けることができる。上位6つの部位は、例えば第1の部位~第6の部位を含むことができる。第1の部位~第6の部位は、単位時間当たりの変化量の大きい順序に従って並べられている。すなわち、第1の部位の単位時間当たりの変化量が最大であり、第6の部位の単位時間当たりの変化量が最小である。
【0104】
図6に示される対応情報は、一例として、「怒り顔」という特定動作に、単位時間当たりの変化量が大きい上位6つの部位を対応付けることができる。第1の部位~第6の部位は、それぞれ、「口の右端部」、「口の左端部」、「右目の中央部」、「左目の中央部」、「右眉毛の右端部」及び「左眉毛の左端部」であり得る。
【0105】
また、
図6に示す対応情報は、別の例として、「バツ目」という特定動作に、単位時間当たりの変化量が大きい上位6つの部位を対応付けることができる。第1の部位~第6の部位は、それぞれ、「右目の右端部」、「左目の左端部」、「右眉毛の右端部」、「左眉毛の左端部」、「右眉毛の左端部」及び「左眉毛の右端部」であり得る。
【0106】
なお、
図6には、対応情報が、各特定動作に対して、例えば6つの部位を対応付けている。しかし、対応情報は、複数の特定動作に対して、異なる数の部位を対応付けることも可能である。
【0107】
図5に戻り、ST504において、端末装置20(の画像生成部160)は、ST402に関連して説明したとおり、演者の身体に関するデータ(測定データ)を用いて、仮想的なキャラクターのアニメーションを含む動画を生成することができる。生成された動画の一例が
図7Aに示されている。動画700には、演者の仮想的なキャラクター(「アバター」といわれることもある)702が含まれ得る。動画700に含まれ得る仮想的なキャラクター702は、CGなどによって構成される仮想な空間に配置され得るし、現実空間に配置され得る。仮想的なキャラクター702は、ST504では、演者の身体の動作に追従して変化することができる。例えば、端末装置20に対向する演者が瞬きをすることに応答して、動画700に含まれる仮想的なキャラクター702もまた瞬きをするように動作する。さらに、端末装置20(の表示部170)は、このように生成された動画700を演者に提示すべく表示することができる。
【0108】
図5に戻り、同じくST504において、端末装置20(の通信部190)は、このような動画700をサーバ装置30に送信することができる。これにより、サーバ装置30に接続された他の視聴ユーザの端末装置20(の表示部170)もまた、この動画700を表示部に表示することができる。
【0109】
次に、ST506において、端末装置20(の変化量取得部120)は、単位時間ごとに、複数の部位の各々の変化量を取得することができる。次に、ST508において、端末装置20(の参照値取得部130)は、ST506において取得した各部位の単位時間当たりの変化量を用いて、複数の部位の単位時間当たりの変化量に基づく参照値Rを取得することができる。ここで、参照値Rの取得の対象とされる「複数の部位」は、一実施形態では、演者の身体における予め定められた複数の部位の全体であり得る。別の実施形態では、参照値Rの取得の対象とされる「複数の部位」は、演者の身体における予め定められた複数の部位のうちの一部(例えば代表的な2以上の部位等)であり得る。
【0110】
次に、ST510において、端末装置20(の例えば参照値取得部130)は、ST508において取得した参照値Rが閾値以下である場合には、演者が何らの特定動作を行わなかったと推定することができる。この結果、処理は上述したST504に戻る。
【0111】
一方、ST510において、端末装置20(の例えば参照値取得部130)は、ST508において取得した参照値Rが閾値を上回っている場合には、演者が何らの特定動作を行ったと推定することができる。この結果、処理はST512に移行する。
【0112】
ST512において、端末装置20(の識別部140)は、例えば上述したST506において取得された複数の部位の単位時間当たりの変化量を用いて、これら複数の部位のうち、変化量が大きい上位M個の部位を識別することができる。ここで、Mは、自然数であり、1以上かつN以下となる範囲で任意に設定可能である。Mを大きく(又は小さく)設定することにより、後述するST516において決定される検出動作の正確性が増加(又は減少)し得る。
【0113】
また、一実施形態では、端末装置20(の識別部140)は、変化量が大きい上位M個の部位を、予め決められたM個の部位の中から識別することができる。これにより、端末装置20(の識別部140)は、変化量が大きい上位M個の部位を識別する際に、上記予め決められたM個の部位の各々の変化量同士を比較すればよい。したがって、端末装置20(の識別部140)は、変化量が大きい上位M個の部位を、より高速に識別することができる。
【0114】
さらに、一実施形態では、端末装置20(の識別部140)は、このように識別されたM個の部位を、変化量の大きさに従った順序に並べ替える(ソートする)ことができる。
【0115】
次に、ST514において、端末装置20(の決定部150)は、記憶部100に記憶されている対応情報に含まれた少なくとも1つの特定動作の中に、ST512において「識別されたM個の部位に対応付けられた特定動作」が存在するかを、判定することができる。ここで、「識別されたM個の部位に対応付けられた特定動作」は、例えば以下に示す特定動作(1)~特定動作(4)のうち少なくとも1つを含むことができる。
(1)識別されたM個の部位と完全に同一なM個の部位が対応情報において対応付けられている特定動作。
(2)識別されたM個の部位のうち変化量が大きい上位L個の部位と完全に同一なL個の部位が対応情報において対応付けられている特定動作(但し、Lは、1以上かつM以下の自然数である)。
(3)上記(1)に示した特定動作であって、さらに、当該特定動作に対して対応付けられたM個の部位のうち上位少なくとも1個の部位の変化量の大きさに従った順序が、識別されたM個の部位のうち上位少なくとも1個の部位の変化量の大きさに従った順序と一致する特定動作。なお、この特定動作(3)に対応付けられた少なくとも1個の部位の順序は、識別されたM個の部位の順序に、完全に一致する又は部分的に(近似的に)一致する、ということができる。
(4)上記(2)に示した特定動作であって、さらに、当該特定動作に対して対応付けられたL個の部位のうち上位少なくとも1個の部位の変化量の大きさに従った順序が、識別されたM個の部位のうち上位少なくとも1個の部位の変化量の大きさに従った順序と一致する特定動作。なお、この特定動作(4)に対応付けられた少なくとも1個の部位の順序は、識別されたM個の部位の順序に、完全に一致する又は部分的に(近似的に)一致する、ということができる。
【0116】
特定動作(1)~特定動作(4)について具体例を挙げて説明する。
ST512において識別された上位M個の部位が、部位1、部位3、部位2である場合を考える(M=3)。ここで、各部位の変化量は、この順序で小さくなる。すなわち、部位1は、変化量が最大の部位であり、部位2は、変化量が最小の部位である。
【0117】
特定動作(1)に着目する。
記憶部100に記憶された対応情報に含まれた特定動作のうち、例えば、以下の部位が以下の順序で対応付けられた特定動作は、特定動作(1)に該当し得る。
・部位1、部位3、部位2
・部位1、部位2、部位3
・部位2、部位3、部位1
・部位2、部位1、部位3
・部位3、部位1、部位2
・部位3、部位2、部位1
・部位1、部位3、部位2、部位10
・部位1、部位3、部位2、部位21等
【0118】
特定動作(2)に着目する。
記憶部100に記憶された対応情報に含まれた特定動作のうち、例えば、以下の部位が以下の順序で対応付けられた特定動作は、特定動作(2)に該当し得る。
・部位1、部位3、部位2(L=3)
・部位1、部位3、部位2、部位12(L=3)
・部位3、部位2、部位1、部位18(L=3)
・部位3、部位16、部位1、部位2(L=3)
・部位2、部位1、部位3(L=3)
・部位2、部位34、部位1、部位18、部位3(L=3)
・部位89、部位3、部位2(L=3)
・部位1、部位3、部位8(L=2)
・部位1、部位3、部位8、部位12(L=2)
・部位1、部位55、部位24、部位3(L=2)
・部位22、部位1、部位9、部位3(L=2)
・部位1、部位9、部位12(L=1)
・部位1、部位8、部位14、部位22(L=1)
・部位15、部位25、部位1(L=1)等
【0119】
特定動作(3)に着目する。
記憶部100に記憶された対応情報に含まれた特定動作のうち、例えば、以下の部位が以下の順序で対応付けられた特定動作は、特定動作(3)に該当し得る。
・部位1、部位3、部位2
・部位1、部位3、部位2、部位6
・部位1、部位3、部位10、部位2
・部位1、部位2、部位3
・部位1、部位15、部位11、部位3、部位2等
【0120】
特定動作(4)に着目する。
記憶部100に記憶された対応情報に含まれた特定動作のうち、例えば、以下の部位が以下の順序で対応付けられた特定動作は、特定動作(4)に該当し得る。
・部位1、部位3、部位2(L=3)
・部位1、部位3、部位2、部位12(L=3)
・部位1、部位3、部位8(L=2)
・部位1、部位3、部位8、部位12(L=2)
・部位1、部位55、部位24、部位3(L=2)
・部位22、部位1、部位9、部位3(L=2)
・部位1、部位9、部位12(L=1)
・部位1、部位8、部位14、部位22(L=1)
・部位15、部位25、部位1(L=1)等
【0121】
ST514において、端末装置20(の決定部150)が、上述したような「識別されたM個の部位に対応付けられた特定動作」が存在しないと判定した場合には、処理は上述したST504に戻る。なお、この場合、別の実施形態では、端末装置20は、M個の部位を(M+α)個の部位に増加させて、再度ST512及びST514を順次実行することができる。ここで、αは1以上の自然数である。
【0122】
一方、ST514において、端末装置20(の決定部150)が、上述したような「識別されたM個の部位に対応付けられた特定動作」又は「識別された(M+α)個の部位に対応付けられた特定動作」が存在すると判定した場合には、処理はST516に移行する。ST516において、端末装置20(の決定部150)は、このような「識別されたM個の部位に対応付けられた特定動作」又は「識別された(M+α)個の部位に対応付けられた特定動作」を、演者が行った特定動作(検出動作)として決定することができる。なお、端末装置20(の決定部150)は、このような「識別されたM個の部位に対応付けられた特定動作」又は「識別された(M+α)個の部位に対応付けられた特定動作」が対応情報の中に複数含まれている場合には、これら複数の特定動作のうち最適な特定動作を検出動作として決定することができる。最適な特定動作とは、例えば、これら複数の特定動作のうち、ST512において識別されたM個の部位が最も近似した順序で対応付けられた特定動作であり得る。
【0123】
次に、ST518において、端末装置20(の画像生成部160)は、ST516において決定された検出動作に基づいて動作する仮想的なキャラクターのアニメーションを含む動画を生成することができる。ST516において決定された検出動作が、例えば、
図6に例示された「怒り顔」である場合には、端末装置20(の画像生成部160)は、
図7Bに示すように、仮想的なキャラクター702の表情を怒った表情に変化させた動画700を生成することができる。また、ST516において決定された検出動作が、例えば、
図6に例示された「バツ目」である場合には、端末装置20(の画像生成部160)は、
図7Cに示すように、仮想的なキャラクター702の表情を、バツ目といわれる表情(両目が記号により表現され口が矩形により表現される表情)に変化させた動画700を生成することができる。さらに、端末装置20(の表示部170)は、このように生成された動画700を演者に提示すべく表示することができる。
【0124】
同じくST518において、端末装置20(の通信部190)は、このように生成された動画700をサーバ装置30に送信することができる。これにより、サーバ装置30に接続された他の視聴ユーザの端末装置20(の表示部170)もまた、この動画700を表示部に表示することができる。
【0125】
この後、一実施形態では、処理は上述したST504に戻ることができる。
別の実施形態では、処理は、
図5で例示されるように上述したST502に戻ることもできる。ST502では、端末装置20は、記憶部100に記憶されている対応情報を更新することができる。
【0126】
例えば、ST516において決定された検出動作に基づいて生成された動画700が、ST518において端末装置20(の表示部170)により表示されたときに、この動画700をモニターする演者等はその検出動作(決定された特定動作)が適切ではないと感じることがあり得る。この場合、演者等は、端末装置20(のユーザインタフェイス部180)を介して、本来演者等が意図していた特定動作を指定することができる。
【0127】
このような指定が演者等により行われた場合には、端末装置20(の画像生成部160及び表示部170)は、検出動作に基づいて動画700を生成することを中止することができる。さらに、端末装置20は、上述したST504におけると同様に、演者の身体に関するデータ(測定データ)に基づいて動画700を生成して表示することができる。このように演者等の意図が反映された動画700がサーバ装置30等に送信され得る。
【0128】
さらにまた、このような指定が演者等により行われた場合には、かかる指定に関する情報に基づいて、端末装置20は、記憶部100に記憶されている対応情報を更新することができる。
例えば、検出動作が
図6に例示した「バツ目」であったにも関わらず、演者等が適切な特定動作として
図6に例示した「怒り顔」を指定した場合を考える。この場合には、端末装置20は、「怒り顔」という特定動作に対して、第1の部位~第6の部位に対して、それぞれ、「右目の右端部」、「左目の左端部」、「右眉毛の右端部」、「左眉毛の左端部」、「右眉毛の左端部」及び「左眉毛の右端部」を対応付けるように、
図6に例示した対応情報を更新することができる。或いはまた、端末装置20は、「怒り顔」という特定動作に対して、ST512において識別された上位M個の部位それ自体を、又は、ST512において識別された上位M個の部位のうちの少なくとも一部の部位を、対応付けるように、
図6に例示した対応情報を更新することもできる。
【0129】
なお、ST512~ST514に示した動作を常に又は頻繁に実行することは、端末装置20の消費電力の増加、端末装置20のバッテリーの消耗、及び/又は、端末装置20の処理速度の低下等に繋がる可能性がある。そこで、このような可能性を少なくとも部分的に抑えるために、
図5に示した例では、複数の部位の変化量に基づく参照値Rが閾値を上回った場合に、演者により何らかの特定動作が行われた可能性があるとの推定に基づいて、端末装置20は、ST512~ST514に示した動作を実行している。別言すれば、
図5に示した例では、複数の部位の変化量に基づく参照値Rが閾値以下である場合には、演者により何らの特定動作も行われていない可能性があるとの推定に基づいて、端末装置20は、ST512~ST514に示した動作を回避している。
【0130】
なお、別の実施形態では、端末装置20は、ST512~ST514に示した動作を常に又は頻繁に実行することも可能である。この場合には、ST508及びST510に示した動作が省略され得る。
【0131】
さらに、
図5に示した例では、ST512において用いられる複数の部位の単位時間当たりの変化量は、ST506において取得された複数の部位の単位時間当たりの変化量である場合について説明した。しかし、ST512において用いられる複数の部位の単位時間当たりの変化量は、以下に例示する変化量のうちの少なくとも1つの変化量の総和であってもよい。
・ST506において取得された複数の部位の単位時間当たりの変化量(以下便宜上この単位時間を「基準単位時間」という。)
・基準単位時間の後に生じた少なくとも1つの単位時間に得られた複数の部位の変化量
・基準単位時間の前に生じた少なくとも1つの単位時間に得られた複数の部位の変化量
【0132】
6.対応情報の更新方法
次に、端末装置20等により記憶される対応情報の更新方法の具体例について説明する。
端末装置20等により記憶される対応情報は、例えば、以下の3つのタイミングにおいて更新され得る。
(1)初期利用時
(2)毎日の初回利用時
(3)外れ値の発生時
【0133】
まず、上記(1)「初期利用時」について説明する。 演者Aは、通信システム1により提供されるサービスを利用する際には、通信システム1により予め用意された対応情報(例えば他の演者により更新された対応情報)を使用することも可能である。しかし、演者Aの端末装置20は、他の演者により更新された対応情報を利用した場合には、演者Aの意図しない動作(表情)を検出動作として決定する可能性がある。したがって、端末装置20は、演者(ユーザ)ごとに、対応情報をカスタマイズすることが重要である。このようにカスタマイズを行う理由は、同一の表情をしようとしても、演者によって、それぞれ、顔の撮影状態、顔における変化量の大きい部位、及び、これらの部位の変化量の大きさに基づく順位が異なるからである。
【0134】
例えば、演者Aが「右ウインク」の表情を作るとき、演者Aの変化量が大きい上位複数個(例えば3個)の部位は、変化量の大きい順に、例えば、(i)右眉、(ii)右目の上瞼、(iii)右目の下瞼、となり得る。ところが、演者Bが同一の「右ウインク」の表情を作るとき、演者Bの変化量が大きい上位複数個(例えば3個)の部位は、変化量の大きい順に、例えば、(i)右目の上瞼、(ii)右眉、(iii)右目の下瞼と、なり得る。この場合、演者Aの端末装置20は、演者Bの端末装置20により更新された対応情報をそのまま用いると、演者Aが右ウインクをしても、右ウインクを検出動作として決定できない可能性が高い。
【0135】
そこで、各演者は、通信システム1により提供されるサービスを初めて利用する際に、アバターオブジェクトに反映される特定動作(特殊表情等)ごとに、端末装置20を用いて、自身の表情を登録することができる(これがターゲットに対する教師情報になる)。具体的には、例えば、端末装置20は、例えば主要な特定動作(特殊表情等)ごとに、その特定動作に関する指示を表示し、演者は、その指示に従ってその特定動作を演ずることができる。これにより、端末装置20は、各特定動作と、その特定動作に対応する変化量の大きい上位少なくとも1個の部位と、を対応付けた対応情報を生成(更新)することができる。この対応情報は、
図5におけるST514において上述したように用いられ得る。さらには、端末装置20は、上記指示に従って演者が作った表情(質問情報)、及び、特定動作(解答情報)を、教師情報として利用して、その演者に対応する学習モデルを生成することができる。かかる学習モデルは、例えば、演者の表情を入力したときに、特定動作を出力するように動作することができる。
【0136】
次に、上記(2)「毎日の初回利用時」について説明する。
同一の演者が、同一の特定動作を行っているつもりであっても、端末装置20により検出される、身体(顔等)における変化量の大きい部位、及び、これらの部位の変化量の大きさに基づく順位は、日によって相違し得る可能性がある。これは、演者の髪型、疲労、撮影環境、及び、カメラと身体(顔等)との位置関係を含む様々な要因に起因し得る。
そこで、各演者は、毎日、最初に利用するとき(例えば毎朝)、アバターオブジェクトに反映される特定動作(特殊表情等)ごとに、端末装置20を用いて、自身の表情を登録することができる(これが上記(1)の場合と同様にターゲットに対する教師情報になる)。
【0137】
端末装置20は、一実施形態では、上記(1)で行われるものと同様の学習を行うことができる。また、端末装置20は、より好ましい実施形態では、単に、演者が作った表情と出力すべき特定動作(特殊表情等)とを対応付けて学習を行うだけでなく、以下の要素を教師情報(質問情報及び解答情報)として用いて学習を行うことができる。
(i)演者が作った表情(質問情報)
(ii)演者の髪型(質問情報)
(iii)演者の疲労度(質問情報)
なお、この疲労度は、例えば、顔のパーツの変化量から判定してもよい(注目すべき部位は変わらないが、最大最小のレンジが狭くなる。すなわち、疲労度が大きい程、注目すべき部位の変化量の最大値と最小値との間の差が小さくなり得る一方、疲労度が小さい程、注目すべき部位の変化量の最大値と最小値との間の差が大きくなり得る)
(iv)撮影環境、例えば、カメラと身体(顔等)との位置関係等(質問情報)
(v)シチュエーション及び/又は目的
シチュエーションや目的によって、演者が、「今回は、この顔は使わない」と判断して、当該特定動作を判定対象から外すことができる。これにより、キャラクタの設計上、演者が使用したくない表情も明らかになる。なお、シチュエーションや目的とは、例えば、どのような仮想空間(カラオケ、ステージ、ライブ会場等)であるかを意味し得る。
(vi)特定動作(解答情報)
【0138】
したがって、演者が当該サービスを使い続けているうちに、演者に対するターゲットへの判定は収束していく。すなわち、演者は、当該サービスを使い続けていくうちに、演者が意図した特定動作がアバターオブジェクトに反映され易くなっていく。
【0139】
なお、上記(2)の学習は、意図しない特定動作(特殊表情等)がアバターオブジェクトにより発動されたときに、演者による端末装置20に対する操作によって実行されてもよい。例えば、端末装置20が、演者が意図しない特殊表情Aをアバターオブジェクトに発動させたときに、演者は、本来発動させたかった特殊表情Bをアバターオブジェクトに発動させるよう、端末装置20に対する操作により優先順位を明確に設定してもよい。この場合、端末装置20は、特殊表情Aと特殊表情Bとが近い判定にあるが、優先して特殊表情Bを判定させるための学習情報を保管することができる(この更新に関する処理は、PCのキーボードの文字変換が、使われ続けていくうちにカスタマイズされるものと同様の処理である。よって、ここではその詳細な処理に関する説明は省略される)。なお、対応情報の生成(更新)は、毎日の初回利用時に実行されることに限定されず、例えば、端末20での動画配信用アプリケーションの利用時間の間隔が一定時間以上空いたと判定されたときに実行されてもよい。
【0140】
次に、上記(3)「外れ値の発生時」について説明する。
顔における変化量の大きい上位3個の部位が、変化量の大きい順に、(i)上唇、(ii)下唇、(iii)眉、であるときに、端末装置20は、表情「あ」を作るように設定されている(演者が、「あああ」と発音しても、「あーあ」と発音しても、同一の表情「あ」がアバターオブジェクトに反映される)とする。ここで、演者が「あれ~」と発音したときに、変化量が大きい上位3個の部位が、変化量の大きい順に、(i)上唇、(iii)眉、(ii)下唇、となり、割り当てるべき特殊表情がないと判定されたとする。
【0141】
この場合、端末装置20によるユーザインタフェイスを介した問いかけに対して、演者が、default(通常の表情)であると入力すれば、表情判定は終了する(端末装置20は、次回の閾値越えまで待機する)。一方、端末装置20によるユーザインタフェイスを介した問いかけに対して、演者が、新たな特殊表情を登録することができる。この場合、顔における変化量の大きい上位3個の部位が、変化量の大きい順に、(i)上唇、(iii)眉、(ii)下唇であるときに、端末装置20は、新たな特殊表情(あれ~)を発動可能となる。
【0142】
この判定は、「外れ値」としての判定として、入力値と各評価関数に対する距離関数(各要素の2乗和)で評価できる。例えば、表情Aの評価関数fA(xi)、及び、表情Bの評価関数fB(xi)があり(他にdefault表情fDefault(xi)などがある)、いずれの関数fA(),fB()からも十分遠く、かつ、fDefault()として判定除外にならなかった表情が、新規の表情として、端末装置20により演者に対して提案され得る。逆に、安定したターゲットへの判定を優先させる判断を、閾値として、演者が、例えば0~1等の範囲の数値を、ユーザインタフェイスに表示されるスライド等を操作して、設定可能である。
例えば、初期状態では、微笑fA、笑い(小)fB、及び、笑い(中)fCがターゲットとして登録されている局面を考える。端末装置20は、例えば動画の配信中に、いずれかの部位の変化量が大きく外れる現象を検出した場合に、ユーザインタフェイスを介して、新規に「新しい表情状態を登録」する旨を演者に提案することができる。これにより、演者は、「大笑い」を登録することができる。以後、端末装置20は、新しいターゲット及び評価関数fD()を判定ループに加えることができる。
【0143】
演者が上記(1)~上記(3)を実装した端末装置20を使い続けているうちに、この端末装置20による特定動作(特殊表情等)の発動は、個別のユーザにカスタマイズ化されて収束し得る。
【0144】
アルゴリズム(評価関数及びデータテーブル)の更新は、基本的には、演者の操作に基づいて端末装置20が再帰的に評価関数及びデータテーブル(対応情報)を保存していくことで収束する。新規の判定関数は、演者が当該サービスを利用することによって登録が可能である。これは、開発者側が新規にアルゴリズムを記述する必要がないため、「自律的に学習する」と呼ぶことができるが、演者から提供される教師情報に基づいている。この評価関数及びデータセットは、演者ごとの学習結果と呼ぶことができ、サイズも小さく、個人情報を含まないため、サービス運営者が収集してアルゴリズムの平均化や最適化に利用可能である。
【0145】
7.変形例
通信システム1において予め定められる少なくとも1つの特定動作には、演者により行われる第1の動作と、この第1の動作の後により長い時間をおいて演者により行われる第2の動作と、によって識別される特定動作が含まれ得る。例えば、拍手という特定動作は、両手の掌が相互に距離をおいて配置される第1の動作と、この第1の動作の後に両手の掌が相互に当接する第2の動作と、によって識別され得る。
【0146】
この場合には、端末装置20は、記憶部100に記憶される対応情報において、「拍手」という特定動作に対して、第1の動作について変化量が大きい上位少なくとも1つの部位と、第2の動作について変化量が大きい上位少なくとも1つの部位と、を対応付けることができる。さらに、端末装置20は、参照値Rが閾値を上回った場合に(ST510)、まず、1又はそれ以上の単位時間を含み得る第1の単位時間について、変化量が大きい上位X1個の部位を識別することができる(ST512を準用)。次に、端末装置20は、対応情報の中に、このように識別された上位X1個の部位に対応する第1の動作が存在するかを判定することができる(ST514を準用)。ここで、X1は任意の自然数である。さらに、端末装置20は、第1の単位時間の後に生し、1又はそれ以上の単位時間を含み得る第2の単位時間について、変化量が大きい上位X2個の部位を識別することができる(ST512を準用)。ここで、X2もまた任意の自然数である。次に、端末装置20は、対応情報の中に、このように識別された上位X2個の部位に対応する第2の動作が存在するかを判定することができる(ST514を準用)。対応情報の中に、上位X1個の部位に対応する第1の動作が存在し、かつ、上位X2個の部位に対応する第2の動作が存在する場合に、端末装置20は、第1の動作及び第2の動作を含む特定動作(拍手等)を検出動作として決定することができる(ST516を準用)。
【0147】
対応情報は、
図6で示されるようなデータテーブルである代わりに、例えば、判定すべき特定動作ごとに用意された評価関数を複数含むアルゴリズムであってもよい。このアルゴリズムは、特定動作の各々と、変位量が大きい上位少なくとも一つの部位とを対応付けた情報と扱われ得る。
【0148】
また、
図4及び
図5等を参照して説明した様々な実施形態では、本件出願に開示された技術が、一例として、動画の生成に適用されている。しかし、本件出願に開示された技術は、メール、メッセンジャー及びワードプロセッサ等を含む様々なアプリケーションに対して、並びに、ウェブサイト及びSNS等の様々なサービスに対して、適用可能である。この場合には、ST518では、端末装置20は、決定された検出動作に対応する絵文字及び/又は顔文字等を表示することができる。
さらに、本件出願に開示された技術は、ゲームアプリケーション及びゲームサービスにも適用可能である。この場合には、ST518では、端末装置20は、決定された検出動作に基づいてゲームオブジェクトの動作を制御することができる。
【0149】
さらに、
図4及び
図5等を参照して説明した様々な実施形態では、演者に対向する端末装置20(これに代えてサーバ装置30又はスタジオユニット40であってもよい。以降、これらを総称して「端末装置20等」という。)が、演者の身体に関するデータ(測定データ)の取得から動画の送信まで至る処理すべてを行う場合について説明した。しかし、演者に対向する端末装置20等は、演者の身体に関するデータの取得を行う必要はあるが、その後の動作は、端末装置20等以外の装置により実行され得る。
【0150】
一例では、端末装置20等が演者の身体に関するデータを取得した後、端末装置20等は、ST506、ST508、ST510、ST512、ST514及びST516のうち、少なくとも1つのステップを実行し、このステップ以外のステップは、端末装置20等に接続される1又はそれ以上の他の装置により実行され得る。例えば、演者の身体に関するデータの取得までが端末装置20等により実行され、ST506~ST518(動画の生成まで)のステップが、1又はそれ以上の他の装置により単独で又は分担して実行され得る。或いはまた、ST506までのステップが端末装置20等により実行され、ST508~ST518(動画の生成まで)のステップが、1又はそれ以上の他の装置により単独で又は分担して実行され得る。これにより、演者に対向する端末装置20等に必要とされる演算リソース及び消費電力等を抑えることができる。
いずれの場合にも、端末装置20等は、途中までのステップを実行することにより得られ、その後のステップの実行のために必要とされるデータ/情報を、1又はそれ以上の他の装置に送信する必要がある。
【0151】
なお、上記「1又はそれ以上の他の装置」は、第1の態様~第3の態様の各々において以下の装置を含むことができる。
・サーバ装置30及び/又は視聴ユーザの端末装置20等(第1の態様及び第3の態様の場合)
・他のサーバ装置30及び/又は視聴ユーザの端末装置20等(第2の態様の場合)
ここで、上記「1又はそれ以上の他の装置」が視聴ユーザの端末装置20を含み、当該視聴ユーザの端末装置20がST518(動画の生成まで)を実行する方式は、「クライアントレンダリング」方式と称されることがある。
【0152】
また、
図4及び
図5等を参照して説明した実施形態では、対応情報が、少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付けるだけでなく、少なくとも1つの特定動作の各々と、変化量が大きい上位少なくとも1つの部位の変化量の大きさに基づく順序と、を対応付ける場合について説明した。しかし、別の実施形態では、対応情報は、少なくとも1つの特定動作の各々と、演者の身体における複数の部位のうち変化量が大きい上位少なくとも1つの部位と、を対応付ける一方、少なくとも1つの特定動作の各々と、変化量が大きい上位少なくとも1つの部位の変化量の大きさに基づく順序と、を対応付けないことも可能である。
【0153】
この場合、端末装置20は、ST512を実行する必要はない。端末装置20は、ST514において、記憶部100に記憶されている対応情報に含まれた少なくとも1つの特定動作の中に、ST512において「識別されたM個の部位に対応付けられた特定動作」(又は「識別された(M+α)個の部位に対応付けられた特定動作」)が存在するかを、判定することができる。ここで、「識別されたM個の部位に対応付けられた特定動作」は、例えば上述した特定動作(1)及び特定動作(2)のうち少なくとも一方を含むことができる。
【0154】
また、上述した様々な実施形態は、矛盾の生じない限りにおいて、相互に組み合わせて用いられ得る。
【0155】
以上説明したように、様々な実施形態では、演者(ユーザ)の身体に関するデータに基づいて、単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別した後、この上位少なくとも1つの部位に対して予め対応付けられた特定動作を、演者により実行された特定動作として検出することができる。これにより、簡単にかつ高速に演者により実行された特定動作を検出することができるので、演算リソース及び消費電力等を抑えることができる。
【0156】
さらに、演者の複数の部位の単位時間当たりの変化量に基づく参照値が閾値を上回った場合に、単位時間当たりの変化量が大きい上位少なくとも1つの部位を識別すること、及び、この上位少なくとも1つの部位に対して予め対応付けられた特定動作を検出することを実行することができる。これにより、演算リソース及び消費電力等をさらに抑えることができる。
【0157】
したがって、様々な実施形態によれば、演者の動作に基づいた画像を新たな手法により表示することができる。
【符号の説明】
【0158】
20(20A~20C) 端末装置
30(30A~30C) サーバ装置
40(40A及び40B) スタジオユニット
100(200) 記憶部
110(210) センサ部
120(220) 変化量取得部
130(230) 参照値取得部
140(240) 識別部
150(250) 決定部
160(260) 画像生成部
170(270) 表示部
180(280) ユーザインタフェイス部
190(290) 通信部