(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-18
(54)【発明の名称】マルチロケーションスタジオ環境における分散コマンド実行
(51)【国際特許分類】
H04N 21/21 20110101AFI20240910BHJP
H04N 21/242 20110101ALI20240910BHJP
【FI】
H04N21/21
H04N21/242
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024505552
(86)(22)【出願日】2022-07-27
(85)【翻訳文提出日】2024-01-29
(86)【国際出願番号】 US2022038485
(87)【国際公開番号】W WO2023014552
(87)【国際公開日】2023-02-09
(32)【優先日】2021-08-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】524038990
【氏名又は名称】ナントストゥディオス、リミテッド、ライアビリティー、カンパニー
【氏名又は名称原語表記】NantStudios, LLC
(71)【出願人】
【識別番号】513253467
【氏名又は名称】ナント ホールディングス アイピー,エルエルシー
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100124372
【氏名又は名称】山ノ井 傑
(72)【発明者】
【氏名】パトリック、スン-シオン
(72)【発明者】
【氏名】ゲーリー、マーシャル
(72)【発明者】
【氏名】キートン、ハインリヒ
(72)【発明者】
【氏名】ジョン、ウィアチェク
(72)【発明者】
【氏名】ニコラス、ジェームズ、ウィッチー
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164MC01S
5C164SA41P
5C164SB10P
5C164SB41S
5C164TB22S
5C164YA21
(57)【要約】
分散スタジオ環境内のコンテンツ制作管理システムは、コマンドインタフェースモジュールと、コマンドキュー管理モジュールとを含む。コマンドインタフェースモジュールは、分散スタジオ環境内のコンテンツ制作ボリュームセットと関連付けられたコンテンツ制作エンティティセットに対するユーザインタフェースをレンダリングするように構成される。コマンドキュー管理モジュールは、ソフトウェア命令が実行され次第、コマンドインタフェースモジュールから、ターゲットコンテンツ制作エンティティをターゲットとするコマンドを受信する動作と、コマンドに同期実行時間を割り当てる動作と、同期実行時間に従って、ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにコマンドをエンキューする動作と、同期実行時間に従ってコマンドキューからのコマンドをターゲットコンテンツ制作エンティティが実行できるようにする動作とを実行するように構成される。
【特許請求の範囲】
【請求項1】
分散スタジオ環境内のコンテンツ制作管理システムであって、
少なくとも1つのコンピュータ可読媒体と、
コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするように構成された少なくとも1つのコマンドインタフェースモジュールであって、前記コンテンツ制作エンティティセットからの各コンテンツ制作エンティティが、前記分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる、少なくとも1つのコマンドインタフェースモジュールと、
前記コマンドインタフェースモジュールと通信する少なくとも1つのコマンドキュー管理モジュールであって、ソフトウェア命令が実行され次第、
前記少なくとも1つのコマンドインタフェースモジュールからコマンドセットを受信する動作であって、前記コマンドセットの各コマンドが、前記コンテンツ制作エンティティセットからのターゲットコンテンツ制作エンティティをターゲットとする、動作と、
前記コマンドセットの各コマンドに同期実行時間を割り当てる動作と、
前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、前記ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューする動作であって、前記コマンドキューが、前記コンピュータ可読媒体に格納される、動作と、
前記ターゲットコンテンツ制作エンティティが、前記コマンドキューからの前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにする動作と
を実行するように構成された少なくとも1つのコマンドキュー管理モジュールと
を含む、システム。
【請求項2】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、ネットワーク上で、前記コマンドセットの少なくとも1つのコマンドを前記ターゲットコンテンツ制作エンティティに伝送する動作を実行するようにさらに構成される、請求項1に記載のシステム。
【請求項3】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、ネットワーク上で、前記ターゲット制作エンティティと関連付けられた前記コマンドキューを前記ターゲット制作エンティティに伝送する動作を実行するようにさらに構成される、請求項1に記載のシステム。
【請求項4】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、絶対時間に対して同期化される、請求項1~3のいずれか一項に記載のシステム。
【請求項5】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、前記コマンドのセットの別のコマンドの前記同期実行時間に対して同期化される、請求項1~3のいずれか一項に記載のシステム。
【請求項6】
前記コマンドキュー内の前記コマンドセットの前記同期実行時間が、グローバルに同期化される、請求項1~3のいずれか一項に記載のシステム。
【請求項7】
前記コマンドキュー内の前記コマンドセットの少なくとも2つのコマンドが、前記コンテンツ制作ボリュームセットからの少なくとも2つのコンテンツ制作ボリュームに対して同期化され、
前記少なくとも2つのコンテンツ制作ボリュームが、互いに離れている、請求項1~6のいずれか一項に記載のシステム。
【請求項8】
前記少なくとも2つのコンテンツ制作ボリュームが、地理的に分離される、請求項7に記載のシステム。
【請求項9】
前記少なくとも2つのコンテンツ制作ボリュームが、少なくとも5msのレイテンシで分離される、請求項7又は8に記載のシステム。
【請求項10】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから地理的に分離される、請求項1~9のいずれか一項に記載のシステム。
【請求項11】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから少なくとも5msのレイテンシで分離される、請求項1~10のいずれか一項に記載のシステム。
【請求項12】
前記ターゲットコンテンツ制作エンティティが、コンピューティングデバイス、LEDウォール、カメラ、センサ、ジンバル、ロボット、車両、ディスプレイモジュール、制御照明システム、制御可能音響システム、可動ウォール及び可動プラットフォームの少なくとも1つを含む、請求項1~11のいずれか一項に記載のシステム。
【請求項13】
前記コンテンツ制作ボリュームセットが、屋外のセッティング、ステージ、LEDウォール及び街路の少なくとも1つを含む、請求項1~12のいずれか一項に記載のシステム。
【請求項14】
前記コマンドセットが、ネットワークプロビジョンコマンド、仮想化コマンド、センサコマンド、デバイスコマンド、スクリプト、プログラム、人間への命令、コレオグラフィコマンド及びプリビズコマンドの少なくとも1つを含む、請求項1~13のいずれか一項に記載のシステム。
【請求項15】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記少なくとも1つのコンピュータ可読媒体内の前記コマンドキューをインスタンス化する動作を実行するようにさらに構成される、請求項1~14のいずれか一項に記載のシステム。
【請求項16】
前記コマンドキューが、カウントダウンタイマー、カウントアップタイマー、起動基準、許可、公証台帳へのリンク、関連付けられたコマンドキューへのリンク、以前に実行されたキューへのリンク及び将来のキューへのリンクの少なくとも1つを含む、請求項1~15のいずれか一項に記載のシステム。
【請求項17】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記ターゲットコンテンツ制作エンティティと関連付けられたレイテンシを決定する動作を実行するようにさらに構成される、請求項1~16のいずれか一項に記載のシステム。
【請求項18】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記決定されたレイテンシに基づいて、前記コマンドセットの各コマンドに前記同期実行時間を割り当てる動作を実行するように構成される、請求項17に記載のシステム。
【請求項19】
分散スタジオ環境内のコンテンツ制作管理システムにおいてコマンドセットを管理するためのコンピュータ化された方法であって、前記コンテンツ制作管理システムが、コマンドインタフェースモジュールと、前記コマンドインタフェースモジュールと通信するコマンドキュー管理モジュールとを含み、前記コマンドインタフェースモジュールが、コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするように構成され、前記コンテンツ制作エンティティセットからの各コンテンツ制作エンティティが、前記分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる、方法であり、
前記コマンドインタフェースモジュールからコマンドセットを受信することであって、前記コマンドセットの各コマンドが、前記コンテンツ制作エンティティセットのターゲットコンテンツ制作エンティティをターゲットとする、受信することと、
前記コマンドキュー管理モジュールを用いて、前記コマンドセットの各コマンドに同期実行時間を割り当てることと、
前記コマンドキュー管理モジュールを用いて、前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、前記ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューすることと、
前記ターゲットコンテンツ制作エンティティが、前記コマンドキューからの前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにすることと
を含む、方法。
【請求項20】
ネットワーク上で、前記コマンドセットの少なくとも1つのコマンドを前記ターゲットコンテンツ制作エンティティに伝送することをさらに含む、請求項19に記載の方法。
【請求項21】
ネットワーク上で、前記ターゲット制作エンティティと関連付けられた前記コマンドキューを前記ターゲット制作エンティティに伝送することをさらに含む、請求項19に記載の方法。
【請求項22】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、絶対時間に対して同期化されるか、又は、前記コマンドのセットの別のコマンドの前記同期実行時間に対して同期化される、請求項19~21のいずれか一項に記載の方法。
【請求項23】
前記コマンドキュー内の前記コマンドセットの少なくとも2つのコマンドが、前記コンテンツ制作ボリュームセットからの少なくとも2つのコンテンツ制作ボリュームに対して同期化され、
前記少なくとも2つのコンテンツ制作ボリュームが、互いに離れている、請求項19~22のいずれか一項に記載の方法。
【請求項24】
前記少なくとも2つのコンテンツ制作ボリュームが、地理的に分離される、請求項23に記載の方法。
【請求項25】
前記少なくとも2つのコンテンツ制作ボリュームが、少なくとも5msのレイテンシで分離される、請求項23又は24に記載の方法。
【請求項26】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから地理的に分離される、請求項19~25のいずれか一項に記載の方法。
【請求項27】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから少なくとも5msのレイテンシで分離される、請求項19~26のいずれか一項に記載の方法。
【請求項28】
少なくとも1つのコンピュータ可読媒体内の前記コマンドキューをインスタンス化することをさらに含む、請求項19~27のいずれか一項に記載の方法。
【請求項29】
前記ターゲットコンテンツ制作エンティティと関連付けられたレイテンシを決定することをさらに含む、請求項19~28のいずれか一項に記載の方法。
【請求項30】
前記コマンドセットの各コマンドに前記同期実行時間を割り当てることが、前記決定されたレイテンシに基づいて、前記同期実行時間を割り当てることを含む、請求項29に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、分散同期型コマンドキューを介してリモートコマンド及び制御を容易にすることに関する。
【0002】
関連出願の相互参照
この出願は、2021年8月5日に出願された米国仮特許出願第63/229674号の利益を主張する。上記の出願の開示全体は、参照により本明細書に組み込まれる。
【背景技術】
【0003】
フィルムスタジオは、典型的には、映画、テレビ、モーションキャプチャ又は他の目的でコンテンツを撮影するために、グリーンスクリーン技術、ブルースクリーン技術、又は、ここ最近では、LEDウォール技術を採用している。そのような技術により、特殊効果の強化及び独特の撮影背景が可能になる。スタジオがグリーン又はブルースクリーン技術に依拠する場合は、ディレクタは、ポストプロダクション作業が完了するまで、コンテンツの最終組成を見ることができない。この作業の完了には、数ヶ月とはいかないまでも、数週間を要し、これを受けて、制作において追加のコストが発生し、遅延が生まれる。従って、必要な再撮影が遅れる可能性がある。スタジオがLEDウォール技術に依拠する場合は、ディレクタは、ポストプロダクション作業が完了する前に、コンテンツの最終組成の一部分(例えば、動画背景など)を見ることができる可能性がある。
【0004】
本明細書で提供される背景の説明は、本開示の文脈を一般的に提示するためのものである。この背景項目で説明される範囲内において、現在指名されている発明人等の作業も、出願時に先行技術として認められない可能性のある説明の態様も、本開示に対する先行技術として明示的にも黙示的にも認められない。
【発明の概要】
【課題を解決するための手段】
【0005】
分散スタジオ環境又はエコシステム内のコンテンツ制作管理システムは、少なくとも1つのコンピュータ可読媒体と、少なくとも1つのコマンドインタフェースモジュールと、コマンドインタフェースモジュールと通信する少なくとも1つのコマンドキュー管理モジュールとを含む。少なくとも1つのコマンドインタフェースモジュールは、コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするか又は提示するように構成される。コンテンツ制作エンティティセットからの各コンテンツ制作エンティティは、分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる。少なくとも1つのコマンドキュー管理モジュールは、ソフトウェア命令が実行され次第、少なくとも1つのコマンドインタフェースモジュールからコマンドセットを受信する動作と、実行時間、場合によっては、コマンドセットの各コマンドに同期実行時間を割り当てる動作とを実行するように構成される。コマンドセットの各コマンドは、コンテンツ制作エンティティセットからのターゲットコンテンツ制作エンティティをターゲットとする。少なくとも1つのコマンドキュー管理モジュールは、ソフトウェア命令が実行され次第、コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューする動作と、ターゲットコンテンツ制作エンティティが、コマンドキューからのコマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにする動作とを実行するようにさらに構成される。コマンドキューは、コンピュータ可読媒体に格納される。
【0006】
また、分散スタジオ環境内のコンテンツ制作管理システムにおいてコマンドセットを管理するためのコンピュータ化された方法も開示される。コンテンツ制作管理システムは、コマンドインタフェースモジュールと、コマンドインタフェースモジュールと通信するコマンドキュー管理モジュールとを含む。コマンドインタフェースモジュールは、コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするか又は提示するように構成され、コンテンツ制作エンティティセットからの各コンテンツ制作エンティティは、分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる。方法は、コマンドインタフェースモジュールからコマンドセットを受信することと、コマンドキュー管理モジュールを用いて、コマンドセットの各コマンドに同期実行時間を割り当てることとを含む。コマンドセットの各コマンドは、コンテンツ制作エンティティセットのターゲットコンテンツ制作エンティティをターゲットとする。方法は、コマンドキュー管理モジュールを用いて、コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューすることと、ターゲットコンテンツ制作エンティティが、コマンドキューからのコマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにすることとをさらに含む。
【0007】
本開示の適用性のさらなる領域については、詳細な説明、特許請求の範囲及び図面から明らかになるであろう。詳細な説明及び特定の例は、単なる説明を目的とすることが意図され、本開示の範囲を制限することは意図されない。
【0008】
本開示は、詳細な説明及び添付の図面から、より完全に理解されるようになるであろう。
【図面の簡単な説明】
【0009】
【
図1】本開示の原理を実装することができる分散スタジオ環境の機能ブロック図である。
【
図2】本開示の原理による、
図1の分散スタジオ環境のコマンドキュー管理モジュールの機能ブロック図である。
【
図3】本開示の原理による、分散スタジオ環境においてコマンドをカテゴリ分類する動作の例のフローチャートである。
【
図4】本開示の原理による、分散スタジオ環境においてコマンドに対して実行時間を割り当てる動作の例のフローチャートである。
【
図5】本開示の原理による、分散スタジオ環境においてコマンドを実行する動作の例のフローチャートである。
【
図6】本開示の原理によるLEDウォールの正面図である。
【発明を実施するための形態】
【0010】
図面では、参照番号は、同様の及び/又は同一の要素を識別するために再利用され得る。
【0011】
序論
本開示は、分散コンテンツ制作環境において複数のコンテンツ制作ボリュームと関連付けられたエンティティへの指示又は調整を行うためのソリューションについて説明する。例えば、フィルムの撮影セッションは、多くの機材、エキストラ、ステージクルー、俳優、小道具、照明、光センサ、マイク、カメラ、ディスプレイ、デバイス、ロボットなどを含み得、それらは、1つのスタジオの単一の撮影ボリューム内において、1つのスタジオの複数のボリュームの間で、及び/又は、複数のリモートの、場合によっては、地理的に分散された(例えば、Los Angeles(米国)及びLondon(英国)の)スタジオの複数のボリュームの間で、活動を調整しなければならないものである。この活動の調整は、複数のリモートスタジオの間にレイテンシが存在する場合でさえ達成することができる。例えば、エンティティが複数のリモートスタジオにわたって、場合によっては、膨大な地理的距離(例えば、10km、100km、1000kmなど)にわたって位置し、それらの間に1つ又は複数のレイテンシが存在する際は、ソリューションにより、特にコンテンツの統合に関して、コンテンツ制作効率が維持されるか又は向上することを保証するために、リモートスタジオにわたって、エンティティへの同期指示又は調整を行うことができる。従って、各スタジオがLEDウォールを含むボリュームを有し、各ボリュームが移動要素(例えば、カメラ、ブーム、ロボット、俳優、小道具など)を有する場合は、各スタジオのLEDウォール及び移動要素は、互いに同期化して動作することができ、その結果、コンテンツのそれらの個々の部分を、所望のコンテンツの、最終とはいかないまでも、ほぼ最終のレンダリングに素早く組み入れることができる。言い換えれば、カメラの移動に伴い、あるスタジオのLEDウォールを特定の方法で移行した場合、別のスタジオのLEDウォール及びカメラも同様の又は調整された方法で移行及び移動させることができる。従って、複数のリモートスタジオから撮影されたコンテンツは、組み合わせるか又は統合して単一のシームレスな作品を作成し、撮影セッションの間にディレクタ又は他のステークホルダにレンダリングすることができる。例えば、リモートスタジオからのフィルムの場面の複数のフレームを組み合わせて単一のフレームにすることにより、ディレクタは、撮影及び再撮影の間に、リアルタイム調節(例えば、照明調節、音響調節、カメラ調節、俳優及び/又は小道具スペース調節など)を行うことができ、それにより、ポストプロダクション作業に要する時間(及びそのコスト)が削減される。従って、開示される発明の対象物は、様々なエンティティのリモートの地理的に分散されたスタジオにおけるそれらのエンティティの間の通信のレイテンシを考慮した場合でさえ、多くのターゲットデバイス又は他のターゲットエンティティの同期調整を提供することを理解すべきである。
【0012】
ソリューションは、世界中に分散されたコンテンツ制作エンティティへの指示又は調整を行うために実装することができる。例えば、ソリューションは、ローカライズされたデータセンタを通じてデータをルーティングする常時接続性を有する、動的に資源が供給されるグローバルなステージネットワークを採用することができる。例えば、英国のLondonのステージで俳優を起用し、米国のLos Angelesの別のステージのコンテンツ及びセットピースを用いて、並びに、豪州のSydneyにあるコンピュータデバイスから取り込まれたバーチャルアート部門の要素を用いて行われる撮影は、それらの場所のいずれかの撮影現場に物理的にいる者と、コンテンツ制作管理システム内の(場合によっては、仮想現実環境内の)リモート参加者の両方の協力者によって、それらのすべてのストリームをまとめて「バーチャルコントロールルーム/ブレインバー」又はNORADのようなコマンドセンタに取り込むことができる。そのような例では、物理的又は仮想GPUを採用して、ローカルステージに合わせて資源をスケーリングすることができる。それに加えて、ネットワーク上のリモート場所間の通信は、ファットパイプポイントツーポイント接続性を介して提供することができる。いくつかの例では、各ステージは、それ自体のサイロとして、ネットワークから独立して動作し、すべての場面をバーチャルコントロールルームに送信して単一の映像に組み合わせることができる。
【0013】
それに加えて、ソリューションは、現実及び仮想世界の完全なスペクトルにわたって採用可能であり得ることを理解すべきである。例えば、本明細書のセット、エンティティ、ボリュームなどは、物理的現実(PR)、複合現実(MR)、複合物理的現実(MPR)、拡張現実(AR)、仮想現実(VR)、投影現実(PrR)などにおいて実装することができる。
【0014】
いくつかの例では、ソリューションは、集中コマンド及び制御コンピュータモジュールを含むコンテンツ制作管理システムとして実装することができる。そのような例では、集中コマンド及び制御コンピュータモジュールは、場合によっては、複数のリモートスタジオにわたって位置する異なるエンティティ(例えば、俳優、小道具、及び/又は、カメラ、カメラ追跡システム、マイク、照明、光センサ(例えば、Pantone(登録商標)HUEY(商標)、Pantone(登録商標)CAPSURE(商標)、Parrot(登録商標)SEQUOIA(商標)など)、モーションセンサ、スピーカ、LEDウォール/シーリング/フロア、ディスプレイモジュールなどの機材)に相当する複数のユーザインタフェースを、1人又は複数のステークホルダ(例えば、ディレクタ、プロデューサ、脚本家、アーティスト、キャスト、ステージマネージャなど)に提供し、1つ又は複数のターゲットエンティティに対するコマンドセットを生成し、ターゲットエンティティ又は対応するターゲットデバイスによる実行のためにそのコマンドを提供するという点で、制作セッションの「NORAD」として機能し得る。これらのコマンドは、1つ又は複数の因子に従って順番付けることができる。例えば、これらのコマンドは、実行デバイスの物理的場所に関係なく、コマンドが互いに対して適切に実行されることを保証するために、様々なエンティティの間のレイテンシを考慮しながら、時間同期化して実行することができる。物理的場所(例えば、場所A、場所B、場所C及びステークホルダ(SH)の場所)における様々なエンティティ間のレイテンシの非限定的な例の1つは、以下の表1に示されている。
【0015】
【0016】
例えば、コンテンツ制作管理システムは、少なくとも1つのコマンドインタフェースモジュールと、少なくとも1つのコマンドキュー管理モジュールとを含み得る。コマンドインタフェースモジュールは、様々なビデオ/オーディオ会議ソフトウェアプラットフォーム(例えば、Google Hangouts(商標)、Teams(商標)、Skype(商標)、Zoom(商標)など)をサポートし得る。例えば、コマンドインタフェースモジュールのステークホルダは、ビデオ/オーディオ会議ソフトウェアプラットフォームを介した、リモートスタジオにおける、俳優、グリップ担当者、振付担当者、メイク担当者、セット担当者などとのリアルタイムインタラクションを有し得る。
【0017】
いくつかの例では、複数のコマンドインタフェースモジュールが採用され得る。そのような例では、各コマンドインタフェースモジュールには、ステークホルダ要件に基づいて決定された機能に対して、許可、アクセス制御リストなどが提供され得る。従って、ディレクタによって採用されるコマンドインタフェースモジュールは、プロデューサ、脚本家などによって採用されるコマンドインタフェースモジュールとは異なる許可、制御オプションなどを有し得る。
【0018】
コマンドインタフェースモジュールは、分散スタジオ環境内のコンテンツ制作ボリュームセットと関連付けられたコンテンツ制作エンティティセットに対する1つ又は複数のユーザインタフェースをレンダリングするか又は提示することができる。ユーザインタフェースは、1つ又は複数のスタジオ、コンテンツ制作ボリューム、コンテンツ制作エンティティなどからのデータフィードに基づいてレンダリングすることができる。例えば、各コマンドインタフェースモジュールは、単一のコンテンツ制作エンティティに対する1つの使用インタフェースをレンダリングすることができる。他の例では、単一のコマンドインタフェースモジュールは、複数のコンテンツ制作エンティティに対応する複数の使用インタフェースをレンダリングすることができる。
【0019】
本明細書のコンテンツ制作エンティティは、例えば、任意の適切な制御可能デバイスを含み得る。例えば、コンテンツ制作エンティティは、車両、ロボットなどの小道具や、カメラ、照明システム、音響システム、センサ、可動プラットフォーム、可動ウォール、LEDウォール(例えば、背景LEDウォール、前景LEDウォール、静的LEDウォール、可動LEDウォールなど)、LEDシーリング、フロア、ジンバル、ディスプレイモジュールなどの制作機材や、パーソナルコンピューティングデバイス(例えば、スマートフォン、スマートウォッチ、スマートグラス、VRヘッドセット、MRヘッドセット、タブレット、ラップトップなど)などのユーザデバイスを含み得る。いくつかの例では、俳優、グリップ担当者、振付担当者、メイク担当者、セット担当者などのユーザは、1人又は複数のステークホルダからコマンドを受信するために、コンテンツ制作エンティティ(例えば、パーソナルコンピューティングデバイス、ディスプレイモジュール、LEDウォール/シーリング/フロアなど)を利用することができる。例えば、ユーザは、オフスクリーン視覚インジケータ、デジタルフロアマーキング、インイヤ式オーディオ命令、スマートグラス、MRヘッドセット、カメラの視野外のLEDウォールの部分、スマートウォッチなどを通じて、コマンドによって制御することができる。
【0020】
いくつかの例では、LEDウォール、シーリング及び/又はフロアは、タッチパネル技術、追跡技術(例えば、Mo-Sys(商標)、StYpe(商標)、Vicon(商標)、OptiTrack(商標)、構造化光追跡、非構造化光追跡、シルエット追跡、ブロブ検出及び追跡、顔追跡、オーディオ追跡、運動学追跡など)、異なるコマンドに対するカウントダウン又はカウントアップタイマー(以下でさらに説明される)などを含み得る。例えば、LEDウォール、シーリング及び/又はフロアは、セットの特定の個人に対する特定のコマンドを、その個人の追跡場所に基づいて、表示することができる。それに加えて、カウントダウン又はカウントアップタイマーは、個人の移動に合わせて、LEDウォール及び/又はフロア上をあちこち移動させることができ、その結果、タイマーは、個人の近くに留まり、それにより、コマンドに対応する行動を取るべきタイミングを個人に合図することができる。タイマー、合図又は他の命令に加えて、対応するターゲットエンティティ(例えば、俳優、カメラ、デバイスなど)に見えるように、マーカーをLEDウォール上に置いたり動かしたりすることができる。エンティティは、そのようなマーカーを観察し、対応する行動を取ることができる。例えば、マーカーをLEDウォール上に置き、シーケンスの撮影中に俳優がどこを見るべきかを示すことができる。
【0021】
本明細書のコンテンツ制作ボリュームは、例えば、モーションキャプチャデータを取得することができる任意のエリア及び/又はスペースを含み得る。ボリュームは、大きな、小さな、セットに組み込まれた、目的に合わせて構築された、屋外、ステージ、スタジオ、部屋、車両内部などであり得る。ボリュームは、例えば、屋外(又は屋内)のセッティング、サウンドステージなどのステージ、LEDウォール(例えば、背景LEDウォール、前景LEDウォールなど)、LEDフロア、LEDシーリング、グリーンスクリーン、公共のスペース、街路、公園、海岸、建物、森林、沼地などを含み得る。
【0022】
いくつかの例では、コンテンツ制作ボリュームは、互いに離れていてもよい。例えば、2つ以上のコンテンツ制作ボリュームは、地理的に分離され得る(例えば、10km、100km、1000km又はそれ以上)。例えば、あるボリューム(あるスタジオと関連付けられたもの)は、米国のLos Angeles、豪州のSydneyなどに位置し、別のボリューム(別のスタジオと関連付けられたもの)は、英国のLondon、米国のNew York Cityなどに位置し得る。それに加えて及び/又はその代替として、2つ以上のコンテンツ制作ボリュームは、例えば、ネットワーク通信レイテンシなどのレイテンシで分離され得る。例えば、あるボリュームは、約5ms、約10ms、約50ms、約100ms、約1000msのレイテンシ又はそれ以上のレイテンシなどで、別のボリュームから分離され得る。
【0023】
それに加えて、コンテンツ制作ボリュームは、コマンドインタフェースモジュール及び/又はコマンドキュー管理モジュールから離れていてもよい。例えば、コンテンツ制作ボリュームは、コマンドインタフェースモジュールから地理的に分離され得る。例えば、ボリュームは、豪州のSydneyに位置し、コマンドインタフェースモジュールは、英国のLondonに位置し得る。それに加えて及び/又はその代替として、コンテンツ制作ボリュームとコマンドインタフェースモジュールは、レイテンシで分離され得る。例えば、ボリュームは、約5ms、約10ms、約50msのレイテンシ又はそれ以上のレイテンシなどで、コマンドインタフェースモジュールから分離され得る。
【0024】
次いで、コマンドインタフェースモジュールは、例えば、ユーザインタフェースに提供されるユーザ入力に基づいて、又は、1つ若しくは複数のAPIを介してエコシステムの他のデバイスによって提供されるように自動的に、コマンドセットを生成することができる。コマンドセットは、1つ又は複数のコマンドを含み得る。いくつかの例では、コマンドの少なくとも1つは、定義されたイベントに応答して自動的に生成することができる。コマンドセットの各コマンドは、コンテンツ制作エンティティセットからの特定の(例えば、ターゲットなど)コンテンツ制作エンティティ又は対応するターゲットデバイスをターゲットとし得る。
【0025】
本明細書のコマンドは、制作の間にエンティティへの制御、指示又は管理を行うための任意の適切なコマンドを含み得る。例えば、コマンドは、カメラ、カメラプロパティ(例えば、映像解像度、カメラの露出調節、フレームレート、ホワイトバランス、ISO、アパーチャ、シャッタースピード、ビットレート、フォーカスなど)、マイクプロパティ(例えば、マイク音量、マイクブースト、マイク入力レベル、ピックアップパターンなど)、機材、小道具、ロボット、ロボットコントローラ、アクチュエータ、サーボなどの位置決め及び/又は移動のための命令、音響レベルの設定及び/又は調節、照明のオン/オフ、照明の明度レベルの調節、LEDウォールに表示されるコンテンツを更新するための照明の色、明度及び色の調節のための命令、並びに/或いは、人間(例えば、俳優、グリップ担当者、振付担当者、メイク担当者、セット担当者など)への指示のための命令を含み得る。いくつかの例では、コマンドは、ネットワークプロビジョニングコマンド、仮想化コマンド、センサコマンド、デバイスコマンド、スクリプト関連コマンド、プログラム関連コマンド、人間への指示コマンド、コレオグラフィ関連コマンド、スクリプトコマンド、コントローラコマンド、プリビズ関連コマンドなどを含み得る。
【0026】
コマンドキュー管理モジュールは、コマンドインタフェースモジュールと通信する。いくつかの例では、コマンドキュー管理モジュールは、有線(又は無線)接続を介してコマンドインタフェースモジュールに結合され、それらの間でデータが伝送され得る。例えば、コマンドキュー管理モジュールは、コマンドインタフェースモジュールからコマンドセットを受信することができる。要望に応じて、これらのコマンドは、データベース、ローカルファイル、リモートファイル、クラウド及び/又はコンピュータ可読媒体内の別の適切なタイプのデータ構造に格納することができる。
【0027】
また、コマンドキュー管理モジュール又は他のデバイスは、受信されたコマンドセットの各コマンドに同期実行時間を割り当てることもできる。従って、正確な時間に、異なるターゲットエンティティに対するコマンドの発行、伝送、実行などを行うことができる。これにより、要望に応じて、コマンドを同期実行することができる。「キュー」という用語は、順番付けられたコマンドのリストを格納するための少なくとも1つのコンピュータ可読メモリに格納されたデータ構造を表すために婉曲的に使用される。コマンドキューは、FIFO、FILO、デック(すなわち、両端キュー)、或いは、順番付けられたコマンドのアクセス及び/又は管理を許可する他の形態のデータ構造であり得ることを理解すべきである。より好ましい実施形態では、コマンドキューは、実行時間に従う少なくとも順番である。しかし、いくつかの実施形態では、コマンドキュー内のコマンドは、他のトリガ基準又は依存性を有し得る。例えば、一連のイベントが互いに関連して行われるように演出されている場合、あるコマンドの有効化又は実行は、他のコマンドの実行又は完了に依存し得、その演出によって定義された所望の順番に従って適切な方法で実行エンティティが互いに関連してそれらの義務を実行することが保証される。従って、コマンドキュー内のコマンドは、同じキュー又は他のキュー内の他のコマンドにリンクすることができる。さらに、コマンドキュー内のコマンドは、他のコマンドの状態(例えば、保留中、完了、実行中、一時停止など)にリンクすることができ、それにより、他のコマンドのトリガ基準を構成することができる。
【0028】
コマンドの同期実行時間は、複数の因子(例えば、レイテンシ、時間関連の因子、コマンドのシーケンシング、他のコマンドの実行時間又は他のトリガ因子を含む)に基づいて決定することができる。レイテンシ因子は、例えば、通信レイテンシ、実行レイテンシ、ネットワークレイテンシ、ヒューマンエラー遅延、人間の反応時間、特定の人的要因などを含み得る。いくつかの例では、1つ又は複数のコマンドの同期実行時間は、絶対時間に対して同期化することができる。そのような例では、絶対時間に近い時間を得るためにネットワークタイムプロトコル(NTP)、全地球測位システム(GPS)などを採用して、コマンドが絶対時間に対して(例えば、マスタークロック、GPSクロックなどに対して)同期化されることを保証することができる。そうすることで、コマンドセットを絶対時間に基づいてタイムスタンプすることができる。他の例では、あるコマンドの同期実行時間は、別のコマンドの同期実行時間に対して同期化することができる。例えば、あるコマンドには、実行時間Xを割り当て、別のコマンドには、実行時間X+5msを割り当てることができる。さらなる別の例では、コマンドセットの同期実行時間は、グローバルに同期化すること、異なるコンテンツ制作ボリュームに対して同期化すること、コンテンツ制作エンティティに対して同期化すること、地理的場所に対して同期化することなどが可能である。
【0029】
また、コマンドキュー管理モジュールは、コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、コマンドキューにエンキューすること(例えば、挿入することなど)もできる。コマンドキューは、特定の(例えば、ターゲット、デバイス、エンティティなど)コンテンツ制作エンティティ又は対応するターゲットデバイスと関連付けることができる。従って、各ターゲットコンテンツ制作エンティティは、ソートするため、優先順位を付けるためなど又は順番付けられたコマンドを管理するための対応するコマンドキューを有し得る。
【0030】
コマンドキューは、コンピュータ可読媒体に格納することができる。いくつかの例では、コンピュータ可読媒体は、コマンドキュー管理モジュールにローカル設置されても、キュー管理モジュールから離れていてもよい。例えば、コンピュータ可読媒体は、ターゲットコンテンツ制作エンティティと関連付ける(例えば、ターゲットコンテンツ制作エンティティに位置する、ターゲットコンテンツ制作エンティティの一部であるなど)こと、特定のボリュームと関連付ける(例えば、特定のボリュームに位置する、特定のボリュームの一部であるなど)ことなどができる。いくつかの例では、コンピュータ可読媒体は、コマンドキュー管理モジュールから分離されたサーバ上に実装することができる。
【0031】
いくつかの例では、コマンドキュー管理モジュールは、コマンドキューをインスタンス化することができる。これは、コマンドキューが最初に格納されるコンピュータ可読媒体又は別のコンピュータ可読媒体で行われ得る。
【0032】
本明細書のコマンドキューは(個別に又は集合的に)、ワークフロー管理システム及び/又は状態機械と見なすことができる。例えば、コマンドキューは、同期化された、非同期の、等時性の、リアルタイムでの、演出されたなどのデータ伝送などの様々なデータ及び/又は時間管理技法を用いて実装することができる。これにより、例えば、あるコマンドが別のコマンドをトリガして、同期を保つことができる。
【0033】
例えば、複数の状態機械を採用することができ、各状態機械は、1つのリモートスタジオ、1つのリモートスタジオで撮影された1つのシーン、作品全体などと関連付けられる。各状態機械は、一連の状態を含み、各状態は、1つ又は複数のコマンドを有する。いくつかの例では、1つの状態のコマンドの各々は、状態機械の次の状態に移行する前に、実行するか又は任意選択的に迂回させなければならない。例えば、1つの状態が2つのコマンドを含む場合は、2つのコマンドは、状態機械が実行のための異なるコマンドセットを有する次の状態に移行する前に、実行するか又は迂回させなければならない。いくつかの実施形態では、次の状態への移行は、1つの状態のコマンドが実行されたか否かにかかわらず、トリガ条件に基づいて、次の状態への移行を遅らせたり、進めたりすることなどができる。例えば、トリガ条件は、本明細書で説明されるように、決定されたレイテンシ(例えば、異なるリモートスタジオの間のレイテンシ)に基づき得る。そのような例では、あるリモートスタジオと関連付けられた状態機械を次の状態に強制的に移行させるトリガ条件は、他のリモートスタジオ間の及び/又は作品全体と関連付けられた状態機械との同期を維持することができる。
【0034】
それに加えて、本明細書のコマンドキューは、データ及び/又は時間管理技法を実装するための様々な特徴を含み得る。例えば、コマンドキューは、カウントダウンタイマー、カウントアップタイマー、起動基準、許可、外部的なトリガ(例えば、人物、デバイスなどによって開始される)、公証台帳へのリンク、関連付けられたコマンドキューへのリンク、以前に実行されたキューへのリンク、将来のキューへのリンクなどを含み得る。すべてのキュー又は関連データは、公証台帳(例えば、分散型台帳、ブロックチェーン、ハッシュグラフ、スマートコントラクトシステムなど)に格納することができ、公証台帳は、すべてのキュー時間、それらの情報、情報が提示された時間、それらの情報が配信された時間、提示されたすべてのキュー及びそれらの提示時間、情報がシステムによって生成されたか又は個人若しくはデバイスによってシステムに入力された時間を含み得る。台帳は、後に、フィルムショットの何が問題で、なぜそうなったのかを分析するために使用することができる。例えば、台帳は、ハードウェア及びソフトウェアの問題を検出するため、悪意のある挙動を検出するため、レイテンシの発生に関するあらゆる問題の原因を突き止めるため、最大レイテンシが生じた場所を検出するため、制作の支払いをする人々のための監査サービスを提供するためなどに使用することができる。この意味で、コマンドキュー又は他のコマンドキュー関連情報を公証台帳(例えば、分散型台帳、ブロックチェーン、ハッシュグラフ、イーサリアム、ビットコインなど)に格納することにより、後の時間において、撮影作品の認証又は検証が提供される。いくつかの実施形態では、実際の作品を台帳外(例えば、IPFSなど)に格納する一方で、台帳自体は、台帳外の格納場所を指し示すブロック又は他のデータを有し得る。この台帳外格納手法は、台帳の肥大化を抑えるために公証台帳とは別に大量のデータを管理できるため、有利である。
【0035】
いくつかの例では、コマンドキュー管理モジュールは、ターゲットコンテンツ制作エンティティにコマンドを伝送することができる。例えば、コマンドキュー管理モジュールは、ネットワークを介して、コマンドセットの1つ又は複数のコマンド、すべてのコマンドなどを特定のコンテンツ制作エンティティに伝送することができる。従って、コマンドキュー管理モジュールは、実行するため及び/又はターゲットコンテンツ制作エンティティのローカルキュー(例えば、デバイスメモリ、カメラメモリ、LEDウォール上、ゲームエンジン内など)に配置するためのコマンドを個別に配信することができる。他の例では、コマンドキュー管理モジュールは、1つ又は複数のネットワーク上で、個々のコマンドというよりむしろ、コマンドキュー全体を伝送することができる。例えば、コマンドキュー管理モジュールは、特定のコンテンツ制作エンティティに(例えば、ネットワーク上で)その制作エンティティと関連付けられたコマンドキューを伝送することができる。
【0036】
それに加えて、コマンドキュー管理モジュールは、ターゲットコンテンツ制作エンティティがコマンドキューからのコマンドセットの各コマンドをそのそれぞれの同期実行時間に従って実行できるようにすることができる。例えば、コマンドキュー管理モジュールから離れた所(例えば、ターゲットコンテンツ制作エンティティ、関連付けられたコンテンツ制作ボリュームなど)に位置するコンピュータ可読媒体にコマンドキューが格納される場合は、コマンドキュー管理モジュールは、ターゲットコンテンツ制作エンティティに信号を伝送して、コマンドキューからコマンドを実行することができる。
【0037】
コンテンツ制作管理システムは、ターゲットコンテンツ制作エンティティにわたる三次元以上の制御を提供することができる。例えば、コンテンツ制作管理システムは、1つ又は複数のターゲットコンテンツ制作エンティティの三次元の動きのみを制御すること、1つ又は複数のターゲットコンテンツ制作エンティティの三次元の動きとタイミングを制御することなどが可能である。例えば、コマンドを通じて、ジンバル、可動プラットフォーム、LEDウォール/フロア/シーリング、カメラ、照明、マイク、ロボットなどのターゲットコンテンツ制作エンティティを要求通りに移動することができる。例えば、第1のスタジオは、山、空、風景などを表示するための背景LEDウォール(例えば、第1のターゲットコンテンツ制作エンティティなど)を含み得、第2のスタジオは、動いている手漕ぎボート(例えば、第2のターゲットコンテンツ制作エンティティなど)を含み得、第3のスタジオは、水と魚を表示するための前景LEDウォール(例えば、第3のターゲットコンテンツ制作エンティティ)を含み得る。これらの3つのコンポーネントの各々は、同期して(又は、例えば、100ミリ秒などの既知の同期遅延で)調整することができ、その結果、コマンドを介して3つのコンポーネントの三次元の動きを制御することができる。これらの様々なエンティティが同じ地理的場所に位置し得る一方で、エンティティ及びスタジオが地理的距離にわたって分散していることが特に考慮されることを理解すべきである。さらに、コンテンツが統合されるか又はステークホルダに提示されるコマンド及び制御センタは、スタジオから離れた場所にある可能性もある。従って、より興味深い実施形態では、スタジオにおける様々なエンティティの同期は、絶対時間に対してグローバルに同期化するというよりむしろ、コマンド及び制御センタの観察者に対して同期化することができる。別の言い方をすれば、様々な分散エンティティに対するコマンドキュー内のコマンドの実行は、様々なスタジオから結果として生じたデータがコマンド及び制御センタに送信された際に、同時に到着するか、同時に提示されるか又は好ましい時間にステークホルダに提供されるように、適切な実行時間遅延を含み得る。
【0038】
異なる(例えば、リモート)スタジオ/セットからのコンテンツは、1つのショットに組み合わされ(又は時間整合され、次いで、組み合わされ)、閲覧のために集中コマンド及び制御コンピュータモジュール(「NORAD」)並びに/或いはスタジオの各々に提供され得る。異なるスタジオ/セットから撮影されたコンテンツを組み合わせることにより、ポストプロダクション作業と関連付けられる時間を削減することができる。例えば、宇宙船の中で主役がクロムの鎧を身に着けてガラスの剣を使用するアクションシーンを撮影することがある。このタイプのシーンは、グリーンスクリーン又はブルースクリーンには適さないが、その理由は、鎧や剣の反射が青又は緑になり、映像に問題が生じるためである。しかし、シーンの背景がカメラの追跡位置に対してLEDウォール上にレンダリングされる場合は、膨大なポストプロダクション作業を必要とすることなく、背景画像は、正しい屈折及び反射を有することになる。これは、ゲームエンジンソフトウェア(例えば、UnReal(登録商標)ゲームエンジン、Unity(登録商標)ゲームエンジン、Godotゲームエンジン、Blender(商標)レンダラなど)を使用してリアルタイムで達成することができる。それに加えて、シーン内で主役の周りにエキストラ及び/又は小道具が含まれる場合は、これらの要素は、主役から離れたスタジオで撮影し、制作中に主役のコンテンツと組み合わせることができる。そのような構成は、異なる場所への移動を排除し、スケジュールの問題などを軽減することができる。
【0039】
いくつかの例では、コンテンツ制作エンティティの中には、他のコンテンツ制作エンティティのステータス又は状態を知る必要があるものもある。例えば、カメラは、LEDウォール上のコンテンツをキャプチャし得る。カメラが移動されるか又は設定が変更される(例えば、異なる角度、異なる緯度位置、異なる経度位置、異なる方位、異なる標高、異なるズーム位置、異なるISO設定、異なるシャッタースピード、異なるアパーチャ設定、異なるフレームレート、異なるホワイトバランス設定、異なるフォーカスなどに)場合は、LEDウォールを更新して、カメラが映すべき異なる視点を考慮することが望ましい場合がある。いくつかの例では、LEDウォールは、例えば、ビデオゲーム、建築設計、シミュレーション、3Dアニメーションなどのための3D現実的環境のレンダリングに使用される変換行列、投影行列などに基づくコマンドを通じて、更新することができる。例えば、LEDウォールは、LEDウォールのレンダリングに使用されるゲームエンジンの仮想カメラの動作に関連するコマンドを通じて、更新することができる。
【0040】
他の例では、例えば、カメラを移動した場合に、制作中に何が予想されるかを示すプリビズコンパイラを作成することができる。例えば、プリビズコンパイラにおいてカメラの動きに基づいてエラーが確認され、次いで、カメラを移動した際にLEDウォールが更新されるように是正措置が取られ得る(実際の制作において)。これらの能力は、コマンドキュー内のコマンドを介して明示され得ることを理解すべきである。例えば、プリビズコンパイラは、調整された状態機械を生成するように構成することができ、各状態機械は、本明細書で説明されるように、1つのリモートスタジオ、1つのリモートスタジオで撮影された1つのシーン、作品全体などと関連付けられる。1つのリモートスタジオと関連付けられる状態機械の状態は、スタジオでカメラを移動するというコマンドを含み得る。コマンドが実行された(例えば、カメラが移動された)場合は、この状態機械及び/又は別のリモートスタジオと関連付けられた別の状態機械は、新しい状態に移行し、その中のコマンドを実行して、例えば、LEDウォールを更新して、カメラの動きに基づいてデバイス又は俳優を移動させることなどができる。さらに、いくつかの実施形態では、そのような行動は、シミュレーションと組み合わせることができる。例えば、カメラを移動するというコマンドは、そのような動きから生じる挙動を示すためにシミュレーションすることができる。そのような例では、状態機械は、カメラの動きをシミュレーションするというコマンドを実行し、次いで、同じ状態機械及び/又は別のリモートスタジオと関連付けられた別の状態機械は、新しい状態に移行し、その中のコマンドを実行して、例えば、LEDウォールを更新して、カメラのシミュレーションされた動きに基づいてデバイス又は俳優を移動させることなどができる。
【0041】
それに加えて、組み合わされたコンテンツに歪みが生じないように、異なるスタジオからのコマンド又はコマンドキューを介してカメラを較正することが望ましい場合がある。コマンドを介したそのような較正は、カメラの角度、カメラの焦点、カメラのレンズなどに対して行うことができる。例えば、歪みは、レンズから生じ得る。あるスタジオの映像コンテンツが、別のスタジオのLEDウォール上の背景幕として配置されることにより(いくつかの事例では)、この歪みが倍増することがある。いくつかの例では、この問題は、LEDウォール上に各背景幕をレンダリングする前に歪みを計算し、提出されたコマンドに基づいて相応にレンズを較正することによって解決することができる。それに加えて、カメラの角度が合わない場合は、撮影中にスキュー歪みが生じ得る。いくつかの例では、この問題は、スキュー行列や、コンテンツをキャプチャしたオリジナルのカメラと、LEDウォール上にレンダリングされた背景幕に対してコンテンツをキャプチャしようとするカメラとの間の角度の差に依拠することによって解決することができる。
【0042】
また、フィルム内の実際のオブジェクトが正しく現れることを保証するために、異なるスタジオからの照明を較正することも望ましい場合がある。例えば、異なるスタジオからの照明は、組み合わされたコンテンツにおいて、エキストラ、オブジェクト、クリーチャ(例:エイリアン、ドラゴンなど)が主演俳優と異なる形で現れないようにするか又は場違いな存在にならないようにすることを保証するために、コマンドを介して較正することができる。
【0043】
さらに、コンテンツ制作管理システムからの制作要素は、非代替性トークン(NFT)として造り出すことができる。例えば、実際の制作イベント及び/又は特定の行動(例えば、モーメント、シーン、ブルーパー、台詞、VFXなど)は、1つ又は複数のNFTとして造り出すことができる。それに加えて、最終的な編集ファイルを造り出し、NFTを生成及び格納するために使用することができる。従って、発明の対象物の1つの態様は、制作中にNFTを造り出すか又は造り出させるコマンドを作成することを含むと考えられる。これは、分散型台帳、スマートコントラクト台帳又は他の公証台帳にNFTを提出することによって達成することができる。例えば、NFTは、ERC-721(イーサリアム改善プロトコルに関するURL eips.ethereum.org/EIPS/eip-721を参照)、ERC-1155(URL eips.ethereum.org/EIPS/eip-1155を参照)によるマルチトークン又はERC-998(URL eips.ethereum.org/EIPS/eip-998を参照)によるマルチトークンセットに従って造り出し、次いで、イーサリアムブロックチェーン上に記録することができる。イーサリアムを例に挙げているが、他の形態の公証台帳(例えば、Solana、XPR、Hyperledger、Cardanoなどを含む)も使用できることを理解すべきである。そのような手法により、フィルム又は映画の実際の制作を表すNFTの市場を創出するためのコンピュータベースの技法又は方法が提供される。さらに、この手法により、デジタルコンテンツの生産流通加工過程の管理を確立するため、デジタルコンテンツを検証するため、デジタルコンテンツを認証するため、デジタルコンテンツと関連付けられたトランザクションを行うため又はデジタルコンテンツを管理するためのコンピュータベースのシステムが提供される。そのようなNFTは、例えば、Witchey等の「Content Authentication and Validation via Multi-Factor Digital Tokens,Systems,and Methods」と題する、2021年6月28日に出願された米国特許第11210383号明細書において開示される技法を介して、特定の制作エンティティ又はコンテンツクリエータと結び付けることができる。この特許は、その全体が参照により本明細書に組み込まれる。
【0044】
ブロック図
図1では、本開示の原理による分散スタジオ環境100が示されている。分散スタジオ環境100(エコシステム100と呼ばれることもある)は、コンテンツ制作管理システム102と、少なくとも2つのスタジオ104A、104Bとを含み、少なくとも2つのスタジオ104A、104Bの各々は、コンピューティングシステム120A、120Bと、ボリューム106A、106Bと、カメラ132A、132Bと、1つ又は複数の制御可能デバイス134A、134Bとを有する。示されるように、各コンピューティングシステム120A、120Bは、通信インタフェースモジュール122A、122Bと、制御モジュール124A、124Bと、検知モジュール126A、126Bと、制御インタフェースモジュール130A、130Bと、コンテンツディスプレイインタフェースモジュール136A、136Bと、コンピュータ可読媒体(例えば、メモリ138A、138B)とを含む。
図1では、分散スタジオ環境100は1つの配置で提示されているが、他の実施形態は、例えば、接続されるスタジオの数、タイプ及び/又は構成に応じて、別の方法で配置された分散スタジオ環境を含み得る。例えば、示されるコンポーネントは、実用的な数だけ存在し得ることを理解すべきである。
【0045】
分散スタジオ環境100内の様々な要素の多くは、少なくとも1つのプロセッサと、ソフトウェア命令を格納する少なくとも1つの非一時的なコンピュータ可読メモリとを有するコンピューティングデバイスであることを一旦は理解すべきである。さらに、様々な要素は、1つ又は複数のネットワーク接続(例えば、有線、無線、光学、802.11、セルラネットワークなど)を介して通信可能に結合することができる。従って、様々な要素は、それらのそれぞれのソフトウェア命令の実行を通じて協働することができる。それに加えて、ソフトウェア命令の集合体は、要素間で分散された1つ又は複数のアプリケーション(例えば、ソフトウェアアプリケーション、プログラム、スクリプト、アプリ、アダプタ、APIなど)を含み得ることを理解すべきである。いくつかの実施形態では、ソフトウェア命令の集合体は、協働するように設計された個々のプログラムを有するソフトウェアスイートを含み得る。ハードウェアの観点から、様々な要素は、クライアントデバイス、サーバデバイス、ピアデバイス、アダプタデバイス、モジュールデバイス、コントローラデバイス又は発明の対象物が構築されるプラットフォームを形成する他のタイプのコンピューティングデバイスを含み得る。
【0046】
環境100のコンピュータベースの性質により、環境100の動作において技術的な制限が課される。より具体的には、環境100の分散性質により、ほんの一例を挙げると、同じスタジオ104A、104Bにおいて、異なるスタジオ104A、104B間で、スタジオ104A、104Bの一方又は両方とコンテンツ制作管理システム102との間でなど、様々なデバイスの調整の間のレイテンシ問題が課される。従って、レイテンシと関連付けられるそのような技術的な制限を解決するため、環境100は、本明細書で説明されるように、様々なデバイスが調整されることを保証するために、様々なデバイスの間の特定のレイテンシ値を決定し、必要に応じてコマンド実行のタイミングを変更できるようになっている。環境100に課され、克服すべき他のコンピュータ関連の技術的な制限は、例えば、大量のデータ(例えば、画像、高解像度ビデオなど)の転送における帯域幅制限、記憶装置(例えば、SSD、HDD、フラッシュ、RAMなど)へのデータの格納、環境100内のデータ若しくは記憶装置に格納されたデータのインデックス作成若しくはアクセス又は他の関連問題を含み得る。従って、環境100は、本明細書で説明されるように、特定の及び独特のインタラクション、デバイスなどを通じて、これらの及び他の技術的な制限を解決するように構成可能である。
【0047】
図1の例では、システム102とスタジオ104Aとスタジオ104Bは、互いに離れている。例えば、コンテンツ制作管理システム102は、米国のNew York Cityに位置し、スタジオ104Aは、英国のLondonに位置し、スタジオ104Bは、米国のLos Angelesに位置し得る。いくつかの実施形態では、スタジオ104Aとスタジオ104Bが、地理的に分離される(例えば、10km、100km、1000km又はそれ以上など)一方で、スタジオ104Aとスタジオ104Bが、互いに対する又はコンテンツ制作管理システム102に対するレイテンシで測定されるように時間的に分離される(例えば、5ms、10ms、100ms、1000ms又はそれ以上など)こともあり得る。例えば、スタジオ104Aは、スタジオ104Bから物理的に分離されるボリュームである一方で、依然として同じ制作施設(例えば、同じ制作ロットなど)でもあり得る。しかし、ネットワーク接続インフラストラクチャ、コンピュータシステムインフラストラクチャ又は他の因子により、2つのスタジオは、互いに物理的に近い(例えば、10km未満、1km未満、100m未満など)場合であっても、レイテンシの観点で分離されていることがある。従って、分散デバイスの間のレイテンシは、デバイス間において、及び、調整ポイントとしての(フィルム制作のディレクタの管理下のリモート施設における)シームレスな統合の提供において、深刻な調整問題を生じさせる可能性がある。
【0048】
図1の特定の例では、ボリューム106A、106Bは、背景LEDスクリーン又はウォールを含む。しかし、ボリューム106A、106Bの一方又は両方は、グリーンスクリーン、ブルースクリーン、湾曲(又は別の非平面)背景LEDスクリーン、LEDシーリング、LEDフロア、フラット又は湾曲(若しくは別の非平面)前景スクリーンなど、別の適切なタイプのスクリーンを含み得ることを理解すべきである。LEDスクリーンは、好ましくは、スクリーン上に表示されるコンテンツを制御する1つ又は複数のコンピュータを含む。より好ましい実施形態では、LEDディスプレイコンピュータは、1つ又はレンダリングエンジン(例えば、Unity(登録商標)、UnReal(登録商標)、Blenderなど)から受信された命令に従って動作する。特に好ましい実施形態では、レンダリングエンジンは、ゲームエンジン(例えば、UnReal(登録商標)ゲームエンジン)を含む。
【0049】
LEDベースの制作ボリュームの例は、巨大なLEDウォールを介した実世界仮想化制作におけるパイオニアであるNantStudios(URL www.nantstudios.comを参照)を含む。例えば、
図6は、NantStudiosによって実装される1つの例示的なLEDベースの制作ボリューム600を示す。示されるように、ボリューム600は、シーリングLEDウォール602、LEDステージエリア(例えば、フロア、前景など)604及び背景LEDウォール606を含む。
図6の示される実施形態では、背景LEDウォール602は、シーリングLEDウォール602とLEDステージエリア604との間の間に延在する湾曲ウォールである。いくつかの実施形態では、LEDステージエリアは、24,000平方フィートであり得、背景LEDウォール606は、長さ145フィート×高さ20フィートであり、270度の卵形の幅52フィート×長さ65フィートのボリュームを有し得る。或いは、LEDステージエリア604及び背景LEDウォール606は、他の任意の適切なサイズを有し得る。
図6のLEDベースの制作ボリューム600は、1つの配置で提示され、説明されているが、他の実施形態は、例えば、接続されるLEDウォール、ステージエリアなどの数、タイプ、サイズ、構成などに応じて、別の方法で配置されたLEDベースの制作ボリュームを含み得る。
【0050】
図1に示されるように、コンテンツ制作管理システム102は、通信インタフェースモジュール108、コマンドインタフェースモジュール110、コマンドキュー管理モジュール112、入力デバイス114、ディスプレイモジュール116及びコンピュータ可読媒体(例えば、メモリ118)を含む。コマンドインタフェースモジュール110及びコマンドキュー管理モジュール112は、本明細書で説明されるコマンドインタフェースモジュール及びコマンドキュー管理モジュールと同様に機能し得る。
【0051】
例えば、コマンドインタフェースモジュール110は、分散スタジオ環境100内のコンテンツ制作ボリューム106A、106Bと関連付けられたコンテンツ制作エンティティに対する1つ又は複数のユーザインタフェースをディスプレイモジュール116上にレンダリングするか又は提示することができる。例えば、コマンドインタフェースモジュール110は、ディスプレイモジュール116を閲覧している観察者(例えば、ディレクタ、プロデューサなど)が一連の所望の行動(例えば、1つ又は複数のコマンドの開始、撮影の停止、俳優、コンテンツ及び/又はデバイスの位置及び/又は動きの変更など)を決定するか又はそれらの行動で応答することができるように、コマンドのリスト、スタジオ104A、104Bの一方又は両方から提供された更新などをレンダリングすることができる。
【0052】
それに加えて、コマンドインタフェースモジュール110は、例えば、入力デバイス114で提供されるユーザ入力に基づいて又は1つ若しくは複数のルールシステムに従って自動的に、コマンドを生成することができる。例えば、コマンドインタフェースモジュール110によって生成されるコマンドは、1つ又は複数のコンテンツ制作エンティティ又はそれらのデバイスに特定のタスクを実行するように指示するか或いは実行させるための、1つ又は複数の非一時的なコンピュータ可読媒体でインスタンス化された及び指示、指令などとして機能する、データ構造体又はオブジェクトであり得る。いくつかの実施形態では、コマンドをコンパイルするために、1つ又は複数のコンパイラを採用することができる。例えば、最初に、コンピュータ言語(例えば、オブジェクト指向コンピュータ言語又は非オブジェクト指向コンピュータ言語)でコマンドを作成することができる。次いで、コンパイラの1つ又は複数がコマンドをコンパイルし、それにより、コマンドを機械可読言語に変換することができる。コマンドは、コマンドインタフェースモジュール110及び/又はコンピューティングシステム120A、120Bの一方若しくは両方においてコンパイルすることができる。従って、コマンドインタフェースモジュール110及びコンピューティングシステム120A、120Bのいずれか1つ(又はすべて)は、1つ又は複数の非一時的なコンピュータ可読媒体(例えば、メモリ118、メモリ138A、メモリ138Bなど)に格納されたコンパイラを含み得る。コマンド(コンパイルされる前又はコンパイルされた後)は、以下でさらに説明されるように、コマンドキュー管理モジュール112に伝送され、次いで、通信インタフェースモジュール108を介してスタジオ104A、104Bに伝送される。
【0053】
いくつかの実施形態では、コマンドは、分散スタジオ環境100内のコンテンツ制作ボリューム106A、106Bと関連付けられた特定の(例えば、ターゲット)コンテンツ制作エンティティ又はそれらのデバイスをターゲットとし得る。これらのエンティティは、例えば、スタジオ104A、104Bに位置するカメラ132A、132B、LEDスクリーン、制御可能デバイス134A、134B、コンピュータデバイス、ロボットなどを含み得る。いくつかのシナリオでは、エンティティは、人間を含み得、その場合、コマンドは、以下でさらに論じられるように、人間が理解できる方法(例えば、視覚的合図、オーディオ、テキスト、画像、シンボル、マークなど)で、対応するターゲットデバイスによってレンダリングすることができる。
【0054】
コマンドキュー管理モジュール112は、コマンドインタフェースモジュール110からコマンドを受信し、同期実行時間を受信するか又は各コマンドに割り当てることができる。割り当てられる同期実行時間は、本明細書で説明されるように、例えば、レイテンシ、撮影のペース、演技のペース、時間関連の因子、コマンドのシーケンシング、他のコマンドの実行時間などに基づき得る。例えば、環境100内の様々なデバイス、システム102及び/又はスタジオ104A、104Bの間のレイテンシは、GPSセンサ、NTP、ピング時間を介して時間を得ること、データパケットと関連付けられた往復時間(RTT)、最初の1バイトを受信するまでの時間(TTFB)を測定すること、観察された人間の挙動(例えば、ディスプレイモジュール116、プリビジュアライゼーション(若しくはプリビズ)199を閲覧している観察者に基づく又は他の技法を含む、様々な技法を使用して測定することができる。他の実施形態では、レイテンシは、人間によって課されるレイテンシを考慮するために、1つ又は複数のシミュレーション又はリハーサルを実行することに基づいて測定することもできる。コマンドの実行時間は、結果として生じた行動によって、他のコマンドが実行された物理的場所に関係なく、他のコマンドの実行から生成されるコンテンツと共に同時に、使用時に(例えば、コンテンツ制作管理システム102、コンテンツ制作管理システム102と関連付けられたプリビズ199において)統合又は観察することができるコンテンツが生成されることを保証するために、コマンドをいつ実行すべきかを表すことを理解すべきである。従って、各スタジオは、他のスタジオのローカルコマンドと同期していないローカルコマンドを実行できるが、使用時に受信されるコンテンツは、同期しているように見えるか、又は、コンテンツは、少なくとも観察者(例えば、ディレクタ、プロデューサなど)の要件に従って受信されることを理解すべきである。
【0055】
次に、コマンドキュー管理モジュール112は、ターゲットコンテンツ制作エンティティ(例えば、カメラ132A、132B、LEDスクリーン、制御可能デバイス134A、134Bなど)と関連付けられたコマンドキューにコマンドをエンキューすることができる。例えば、モジュール112は、メモリ118に格納されたコマンドキューにコマンドをエンキューすることができる。他の例では、モジュール112は、システム102から離れている別のコンピュータ可読媒体(例えば、メモリ138A、メモリ138Bなど)内のコマンドキューにコマンドをエンキューすることができる。いくつかの実施形態では、システム102及び/又はコンピューティングシステム120A、120Bは、コマンドが生成されるタイミングに相対的なコマンド(又はキュー)の適切なエンキューを可能にするために、コマンド又はコマンドキューを一時的に格納するための1つ又は複数のバッファを含み得る。例えば、複数の状態機械がコンパイルされる場合は、それらの相対的なコマンドが生成され、バッファリングされる。次いで、コマンドは、それらの適切な実行時間に従って、バッファからエンキューされ得る。
【0056】
次いで、コマンドキュー管理モジュール112は、通信インタフェースモジュール108を介して、スタジオ104A、104Bにコマンドを伝送することができる。例えば、モジュール112は、各制御モジュール124A、124Bにコマンドを(例えば、個別に及び/又は1つ若しくは複数のコマンドキューで集合的に)伝送することができる。いくつかの例では、伝送されたコマンドは、メモリ138A、138B内のローカルコマンドキューに格納するか又はバッファリングすることができる。コマンドは、1つ又は複数の技法に従って伝送できることを理解すべきである。いくつかの事例では、ローカルコマンドキューに組み入れるために、個々のコマンドがリモート場所に送信され、他の事例では、コマンドを有する対応するコマンドキューがリモート場所に伝送され、さらなる他の事例では、リモート場所がコマンドキュー管理モジュール112へのコマンドのクエリを行うなどが可能である。
【0057】
コマンドキュー管理モジュール112は、これらの特徴を実装するために、様々なコンポーネントを含み得る。例えば、
図2は、
図1のコマンドキュー管理モジュール112の実施形態の一例を示す。示されるように、コマンドキュー管理モジュール112は、コマンド同期モジュール202及びコマンド実行モジュール206を含む。
図2の例では、コマンド同期モジュール202は、コマンドインタフェースモジュール110からコマンドを受信し、同期実行時間をコマンドに割り当て、同期実行時間は、好ましくは、ローカル実行用にフォーマットされた時間(例えば、絶対ローカル時間、他のローカルイベントに関する時間など)を含む。これまでに論じられるように、実行時間は、例えば、GPS時間値、NTP又は他の適切な時間測定技法を含む観察された条件に基づいて生成することができる。次いで、コマンド同期モジュール202は、コマンド及びそれらの同期実行時間をメモリ118に渡し、メモリ118に格納されたコマンドキューにコマンドをエンキューする。コマンド実行モジュール206は、適時に、コマンド及び/又はコマンドキューをメモリ118から回収し、本明細書で説明されるように、通信インタフェースモジュール108を介してターゲットコンテンツ制作エンティティ又はそれらの対応するターゲットデバイスにコマンド(及び/又はコマンドキュー)を伝送する。コマンドキューの数は、状況、構成又は他の因子に応じて変化し得る。従って、1、2、20、100、1000又はそれ以上のコマンドキューが管理下にあり得る。さらに、各コマンドキューは、制作イベントの複雑さによって必要とされるように又は対応する状態機械によって必要とされるように、1、2、20、100、1000又はそれ以上のコマンドを含み得る。
【0058】
図1に戻ると、各コンピューティングシステム120A、120Bは、互いに及びコンテンツ制作管理システム102と通信する。例えば、コンピューティングシステム120Aの通信インタフェースモジュール122Aは、コンピューティングシステム120B及びコンテンツ制作管理システム102(通信インタフェースモジュール108を介して)との双方向性通信(例えば、データの受信、データの送信及びデータの伝送)を提供し、コンピューティングシステム120Bの通信インタフェースモジュール122Bは、コンピューティングシステム120A及びコンテンツ制作管理システム102(通信インタフェースモジュール108を介して)との双方向性通信(例えば、データの受信、データの送信及びデータの伝送)を提供する。通信インタフェースモジュール108は、エコシステム100内の他の通信インタフェースモジュールと同様に、有線又は無線接続性のためのインタフェース(イーサネット、USB、RS-232、802.11、Bluetooth、WiGIG、IrDA、セルラモデム、ラジオ又は他のタイプの通信接続性インタフェース)を含み得る。
【0059】
図1の例では、各検知モジュール126A、126Bは、そのそれぞれのスタジオ104A、104Bに位置する1つ又は複数のセンサ128A、128Bからデータを受信する。例えば、センサ128A、128Bは、スタジオ104A、104B内の照明特性、音響特性、小道具場所、カメラ位置などに関連するデータを提供することができる。センサ128A、128Bから受信されたデータは、制御モジュール124A、124B及び通信インタフェースモジュール122A、122Bを介して、コンテンツ制作管理システム102に渡すことができる。
【0060】
コマンドインタフェースモジュール110は、スタジオ104A、104B内の照明システム、音響システム、カメラ132A、132B、ボリューム106A、106Bのレンダリングされるコンテンツ、俳優、小道具場所などへの所望の調節(例えば、リアルタイム調節)を行うために、センサ128A、128Bから受信されたデータに基づいて、コマンドの少なくともいくつかを生成することができる。これらのコマンドは、より多くのステークホルダの1人からのユーザ入力などに応答して、自動的に(例えば、定義されたイベントに基づいてなど)生成することができる。コマンドは(例えば、個別に及び/又はコマンドキューで集合的に)、上記で説明されるように、コンピューティングシステム120A、120Bに伝送することができる。さらに、コマンドキュー内のコマンドは、例えば、観察されたセンサデータに基づく、トリガ条件も含み得る。従って、そのようなコマンドは、実行時間以外の追加の実行要件を含み得る。例えば、コマンドは、許容可能な実行時間の範囲に対して及び特定のセンサデータがいつ観察されたか(例えば、俳優が移動した、小道具が移動した、誰かが話したなど)に基づいて、キューに入れることができる。
【0061】
制御モジュール124A、124Bは、様々なターゲットコンテンツ制作エンティティ又はそれらの対応するターゲットデバイスに伝送コマンドを分配することができる。例えば、制御モジュール124A、124Bは、制御インタフェースモジュール130A、130Bを介して、スタジオ104A、104B内のカメラ132A、132B、ボリューム106A、106B内のLEDスクリーン、制御可能デバイス134A、134B及び/又は他のターゲットコンテンツ制作エンティティに伝送コマンドを分配することができる。次いで、それらのコマンドの同期実行時間、実行時間のスプレッド又は他のトリガ基準に従って、対応するエンティティ(例えば、デバイスなど)によって、コマンドを実行することができる。いくつかの例では、コマンドは、エンティティが実行できるようになった後にのみ(例えば、コマンドキュー管理モジュール112から受信されたイネーブル信号によって)、実行することができる。従って、いくつかの実施形態では、コマンドは、コマンドトリガ基準(例えば、時間、他のコマンド、オーディオトリガ、コンピュータビジョン認識、他のセンサデータ、プリビズ命令など)を定義する複数の因子の充足に基づいてトリガすることができる。
【0062】
制御可能デバイス134A、134Bは、任意の適切なターゲットコンテンツ制作エンティティを含み得る。例えば、制御可能デバイス134A、134Bは、車両、ロボットなどの小道具や、カメラ、照明システム、音響システム、センサ、可動プラットフォーム、可動ウォール、LEDウォール、LEDシーリング、LEDフロア、ジンバル、ディスプレイモジュールなどの制作機材や、パーソナルコンピューティングデバイス(例えば、スマートフォン、スマートウォッチ、スマートグラス、タブレット、ラップトップなど)などのユーザデバイスを含み得る。
【0063】
図1の例では、制御モジュール124A、124Bはそれぞれ、コンテンツディスプレイインタフェースモジュール136A、136Bを介してLEDスクリーン上にコンテンツをレンダリングする。レンダリング用のコンテンツは、上記で説明されるように、例えば、生成されたコマンドに基づいて、必要に応じて、調節、更新などを行うことができる。
【0064】
レンダリング用のコンテンツ(調節及び/又は更新が行われたコンテンツを含む)は、スタジオ104A、104Bに対して、同じものであっても、異なるものであってもよい。例えば、ボリューム106A、106BのLEDスクリーンは両方とも、同じコンテンツ(例えば、星142Aなどの小道具がある風景背景)を表示し得る。そのような例では、カメラ132Aは、ボリューム106Aにおいて俳優140Aが演技をしているレンダリング用のコンテンツを撮影し、カメラ132Bは、ボリューム106Bにおいて俳優144B、146Bが演技をしている同じレンダリング用のコンテンツを撮影し得る。いくつかの例では、俳優140A、140B、144B、146Bのいずれか1人は、物理的な俳優、レンダリング用のコンテンツの一部である仮想的な俳優などであり得る。
【0065】
他の例では、ボリューム106A、106B内のLEDスクリーンは、異なるコンテンツを表示し得る。例えば、ボリューム106A内のLEDスクリーンは、星142Aがある風景背景を表示し、ボリューム106B内のLEDスクリーンは、前景(星142Bなし)を表示し得る。異なるLEDスクリーン上に表示されるコンテンツは互いに異なり得るが、異なるコンテンツは依然として同じコンテンツ制作取り組みの一部であり得ることを理解すべきである。従って、異なるカメラによってキャプチャされた異なるコンテンツは、統合又は他の用途のために、コンテンツ製品管理システム102に戻され得る。
【0066】
いくつかの例では、スタジオ104Aからキャプチャされたフィルムは、制御目的のための可能な入力として、スタジオ104Bに渡され得る。例えば、カメラ132A、132Bの一方は、カメラ132A、132Bの他方からの入力に基づいて駆動させることができる。例えば、カメラ132A(例えば、スレーブカメラ)は、カメラ132B(例えば、メインカメラ)からの入力に基づいて、機械的に駆動させることができ、その結果、カメラ132Aは、シーンの間、カメラ132Bと協調して、相対的になど、移動する。そのような例では、カメラ132Aからキャプチャされたコンテンツ(俳優140A及び/又は星142Aを含む)は、コンテンツディスプレイインタフェースモジュール136B、カメラ132B、制御モジュール124Bなどに伝送し、最終的なレンダリングに追加したり、ボリューム106B内のLEDウォールにレンダリングしたりする(コンテンツディスプレイインタフェースモジュール136Bを介して)など可能である。いくつかの実施形態では、スタジオ104Aのカメラ132Aからキャプチャされたコンテンツは、スタジオ104Bのメモリ138Bに格納するか又はバッファリングすることができる。
【0067】
コンテンツディスプレイインタフェースモジュールが、カメラからキャプチャされるコンテンツを含むボリューム用の背景を生成する際、コンテンツディスプレイインタフェースモジュールは、対応するコマンドに従って必要な視覚情報がボリュームのLEDパネル上に適切に表示されることを保証するために、キャプチャされるコンテンツを調節することができる。そのような調節コマンドは、ローカルカメラの視野を考慮して、俳優又は小道具に相対的にスケールを合わせて、キャプチャされるコンテンツをスケーリングすること、ボリュームの水平線及びコンテンツをキャプチャするローカルカメラに合わせて、キャプチャされるコンテンツを回転及び傾斜させること、すべての俳優が地面に垂直に立っている状態であることを確認し、照明、色を調節し、キャプチャされるコンテンツが場違いなものにならないように、現在のボリュームに合わせて、キャプチャされるコンテンツの露出及びコントラストを調節すること、正しくキャプチャされるように、コンテンツが空間に浮いていないか、床に引っかかっていないか又は横に寄りすぎていないかを確認するために、コンテンツを移動すること、或いは、コンテンツの配置が、シーンに対して、プリビズ(プリビジュアライゼーション)、スクリプト又はストーリーボードと一致することを検証することを含み得る。
【0068】
例えば、
図1では、場所Bのボリューム106Bをレンダリングするため、コンテンツディスプレイインタフェースモジュール136Bは、インタフェースモジュール122A、122B及び制御モジュール1241、124Bを介して、場所Aのボリューム106Aからキャプチャされたコンテンツを受信する。コンテンツディスプレイインタフェースモジュール136Bは、シーンに対して定義されるように、キャプチャされた俳優140Aを計画されたプリビズ配置に移動する。これらの例示的な配置は、プリビズ199に示されており、ある俳優の場所は140Cで描写され、星の場所は142Cで描写され、別の俳優の場所は144Cで描写され、別の俳優の場所は146Cで描写される。
【0069】
シーンの俳優140Aの場所は、プリビズに合わせて調節されるが、そうでなければ、場所Aからキャプチャされた俳優140Aは、プリビズ199とは一致しないLEDパネル上の俳優146Bの背後に投影又はレンダリングされ得る。キャプチャされたコンテンツが撮影のその最終的な位置に配置された時点で、カメラ132Bの位置及びシーンをキャプチャした方位に基づいて、回転させて、場所Bのボリューム106Bに合わせることや、ボリュームB 106Bに合わせてその照明、色、コントラスト及び明度を調節することや、任意の追加の視覚効果を追加して、他のすべてのコンテンツと共にLEDパネル上にレンダリングし、ボリュームB 106Bにおいて撮影を開始できるようにすることができる。
【0070】
ボリューム106A、106BのLEDパネルにレンダリングするために、キャプチャされたコンテンツを取り入れ、アイテム(例えば、カメラ、照明、光センサ、他のセンサ、マイク、俳優、小道具など)を追跡するプロセスは、人物からの何らかの入力(例えば、プリビズ199、スクリプト、1つ若しくは複数の状態機械又は他のコレオグラフィ文書の取り込みから)によって半手動で行われ得る。コンテンツディスプレイインタフェースモジュールは、レンダリングエンジンの助けを借りて、場所Aのカメラ132Aに対する場所Aにおけるキャプチャされたコンテンツ(例えば、マイク、カメラ、俳優、小道具、照明、光センサ、他のセンサ、動き、LEDウォールディスプレイなど)の座標及び方位を使用して、並びに、場所Bのカメラ132Bに対する場所Bにおけるすべてのアイテムの座標及び方位を使用して、必要なステップを設けて実行し、キャプチャされたコンテンツを調節する。これは、3D数学(例えば、極座標、オイラー角、四元数など)、人工知能(例えば、ニューラルネットワーク、分類器など)、音声/オーディオ認識、コンピュータビジョン(例えば、ジェスチャ認識、エッジ検出、顔検出、表情認識、シルエット検出、動き検出、活動検出、物体認識、物体追跡、視線追跡、アイテム分類、3D再構築、ブロブ検出、パターン認識、セグメンテーションなど)を使用することによって、自動的に達成することができ、ボリューム内のすべてのアイテム(例えば、マイク、カメラ、俳優、小道具、照明、光センサ、エキストラ、スタッフなど)に対するデータ(例えば、オーディオデータ、画像データ、方位データ、座標データ、セッティングデータ、追跡データなど)をキャプチャする。
【0071】
コンピュータベースの認識技法の使用に関する例示的な技法については、Wnukによる「Feature Trackability Ranking,Systems and Methods」と題する2019年2月25日に出願された米国特許第10540772号明細書、Siddiquiによる「Metric-Based Recognition,Systems and Methods」と題する2018年10月5日に出願された米国特許第10346712号明細書、Wnuk等による「Invariant-Based Dimensional Reduction of Object Recognition Features,Systems and Methods」と題する2017年9月15日に出願された米国特許第10410088号明細書、Wnuk等による「Activity Recognition Systems and Methods」と題する2019年2月25日に出願された米国特許第10572724号明細書、Song等による「Robust Feature Identification for Image-Based Object Recognition」と題する2019年6月24日に出願された米国特許第10719731号明細書、並びに、Song等による「Image-Based Feature Detection Using Edge Vectors」と題する2017年12月15日に出願された米国特許第10229342号明細書において説明されている。上記の特許は、その全体が、参照により本明細書に組み込まれる。
【0072】
キャプチャされたデータを使用することで、システム(例えば、コンテンツ制作管理システム102、制御モジュール124A又は124Bなど)は、対応するターゲットデバイス上で実行されるコマンドを介して、各場所の、俳優、スタッフ、エキストラ、マイク、カメラ、照明、光センサ及びLEDパネルに指示することができる。それに加えて、システムは、スクリーン上における俳優への指示の表示、矢印の作成又は点灯、照明オン、照明オフ、俳優/エキストラ/カメラオペレータへのオーディオ命令の提供、触力覚フィードバックの提供、スタッフへの指示の表示、LEDパネル上におけるVFXの生成などの1つ又は複数をキャプチャするためのオーディオ合図及び/又は視覚合図を活用することができる。そのような合図に対応するコマンドは、情報送信のレイテンシ、ネットワークレイテンシ、LEDパネル上にコンテンツをレンダリングする際のレイテンシ、命令受信に対する人間の反応時間に起因するレイテンシ、カメラの移動に対するレイテンシ、カメラの加速に対するレイテンシ、他の又は二次ボリューム及びそれらの対応するLEDパネル上にキャプチャされたコンテンツを再配置する際のレイテンシ、スクリプト又はプリビズで定義されるような計画されたレイテンシ、或いは、他の原因によるレイテンシの1つ又は複数によって生じるレイテンシを考慮するようにタイミングを合わせることができる。システムは、撮影を管理するためのコマンドの実行の推定タイミング及び関与する人間に必要とされる様々なタイプの合図に対するコマンドのタイミングを生成し、様々なボリュームにおける撮影のためのイベント及びそれらのタイミングのリストを作成するために、必要な情報(例えば、俳優の台詞を含むスクリプト、その場所に存在することになる音、シーンのプリビズ画像、各場所の俳優及びその衣装、シーンにおいて予想される俳優の動き、小道具の場所又はそれ以上のもの)を受信するように構成することができる。システムは、適切なトリガが起動され次第(例えば、ディレクタがアクションと言ったらすぐになど)、プロセスを開始するか又は合図をレンダリングし、完全に自律的ではないにせよ、大部分はコマンドの実行によって、行動を継続することができる。システムは、各俳優、エキストラ、サポートスタッフ又は他の人間に合図を出す一方で、レンダリングシステム、照明、カメラ又は他のデバイスの管理も行う。さらに、システムは、推定レイテンシに基づいて撮影タイミングを調節したり、撮影に関与する他の場所にレイテンシ情報を渡すことによって実際に観察されたレイテンシに基づいて撮影の間にタイミングを調節したりすることができる。
【0073】
コンテンツ制作取り組みのペース又はレートは、その俳優が必要なシーンを演じている間にリアルタイムで追跡することができる。例えば、スクリプトは、1つ又は複数の予想される観察まで及びコマンドの実行に応答して実行されるはずの予想される行動までコンパイルすることができる。例えば、各スタジオ及び各シーンは、対応する1つ又は複数の状態機械を有し得、各状態は、実行するコマンドセットを有し、各移行は、新しい状態に移行する前に存在するはずの予想される行動又は観察を含む。次いで、コンパイルされたスクリプトは、場合によってはコマンドインタフェースモジュール110を介して、コマンドに翻訳することができ、次いで、そのコマンドは、対応するキューに配置される。コンテンツ制作管理システム102又は他の適切に使用可能にされたデバイスは、エコシステムのボリューム全体にわたって精密又は正確なタイミングを保証するために、俳優への合図、カメラの移動、イベントのトリガ、視覚効果のレンダリング、LEDパネルへのコンテンツのレンダリング、マイク入力の調節、車両の移動、照明の調節、様々な場所におけるエキストラ及びスタッフへの指示の提供を含む撮影のペース又は様々なコマンドに必要なタイミングを観察するために1つ又は複数のプロセッサ上で実行されるコンピュータ音声認識又はオーディオ認識アルゴリズムを使用することができる。また、システム内のコンテンツ制作システム102又は他のデバイスは、俳優、彼らのジェスチャ(上記で参照される米国特許第10572724号明細書を参照)、彼らが向いている方向、ボリューム内の彼らの場所、彼らの表情を認識して、この情報に基づいて必要に応じて、スクリプトのどの位置にいるかを決定するか又はタイミング若しくは合図のいくつか若しくはすべてを調節するために、コンピュータビジョンアルゴリズムを使用することもできる。さらに、エコシステム内のデバイスは、ディレクタ、スクリプト、プリビズ又は他の制作権限によって指定されるようにショットがキャプチャされることを保証するために、カメラを移動できるようにすることができる。例えば、キャプチャされているシーンが予想より遅いペース又は速いペースで進行していることが観察された場合、コマンドキュー内のコマンドは、必要に応じて撮影に関与する他のボリュームのペースを遅くするか又は撮影を加速させるために、その実行時間を変更することができる。
【0074】
いくつかの実施形態では、コマンドは、1つ又は複数の実行優先度値も含み得る。例えば、各コマンドは、複数の優先度値から選択された特定の優先度値を含み得る。優先度値は、他のコマンドに対するコマンドの重要性の順番を付けるための、例えば、数値の範囲、アルファベットの範囲又は別の適切な値の範囲を含み得る。例えば、あるコマンドAは、1の優先度値を含み、別のコマンドBは、コマンドBがコマンドAより重要でないことを示す5の優先度値を含み得る。従って、制作が遅くなった場合、制作が予想タイミングに戻ることを保証するために、実行優先度の低いコマンド(例えば、上記のコマンドB)は、実行から外される可能性がある。そのような実施形態は、場合によってはリハーサルの一部として又はディレクタの任意選択のアクションセットの一部として、「十分な」作品の作成を提供する。
【0075】
いくつかの実施形態では、合図は、制御又は管理されたシーンにおけるコンテンツの生成の非常に重要な部分であり得、コンテンツ管理システムは、そのような合図を提供するために多くの種類の合図又は技術を活用することができる。スクリプトの台詞の邪魔になることを理由にオーディオ合図が不可能である場合があるため、非オーディオ合図は、撮影されている俳優及びエキストラにとって重要であり得る。さらに、オーディオのためにイヤホンを使用することは、カメラに映る可能性があり、望ましくない。しかし、オーディオ合図は、エキストラ、カメラオペレータ又はスタッフに対して使用され得る。従って、俳優に対しては、視覚又は触力覚合図がより適している。例えば、視覚合図は、大規模な3D LEDパネルのボリューム(例えば、ボリューム106A及び/又はボリューム106B)内のLEDディスプレイ上の1つ又は複数のコマンドに従ってレンダリングするか又は提示することができる。従って、俳優は、ほとんどどの方向を見ても、表示されているか又はレンダリングされている合図を見ることができ、場合によっては、合図の一部として表示されているメッセージを読むことができる。そのようなメッセージは、俳優に特定の方向を向かせ、カメラが望ましいショットをキャプチャできるようにするために、対応するコマンドパラメータに従って戦略的に配置することができ、その場合、カメラは、LED上にレンダリングされた視覚キューが映らないような方向に向けられる。またさらに、合図は、ある方向に移動するように又は止まるように俳優に信号伝達することができる触力覚デバイス(場合によっては俳優の服に装着された小型デバイス)を介して生成することができる。そのような小型電子デバイス(例えば、Yost LABS 3-space Mini Bluetoothなど)又はスマート衣服(TactSuit、Woojer Vest、TeslaSuit:URL teslasuit.ioなどを参照)は、すべての俳優と通信してリテイクの回数を減らすために、コンテンツディスプレイインタフェースモジュール(例えば、ディスプレイインタフェースモジュール136A及び/又はディスプレイインタフェースモジュール136B)を提供する。
【0076】
デバイス(例えば、カメラ、ロボット、車両など)に対する他の合図は、対応するコマンドを形成する際に追加の考慮を必要とし得る。例えば、カメラコマンドは、撮影の前にカメラを準備するための動きを含み得る。従って、カメラ合図を生成するために使用されるコマンドは、対応するコマンドに対するレイテンシの一部としてカメラの加速度(又は移動距離の他の高次導関数)を考慮する一方で、撮影の前、撮影の間又は撮影の後にカメラの移動を開始するための追加の時間を考慮する必要があり得る。より具体的には、常に機材が瞬時に正しい位置にあるとは限らず、瞬時に所望の動きパラメータを有するとも限らないため、カメラ又は他の機材は、特定の速さ又は速度まで加速させる時間が必要であり得る。カメラ及び他の小道具(例えば、車両、ロボット、環境オブジェクト(ブランコ又は揺れる木など))の運動もまた、適切な運動に至るまでに時間を要し得、その要する時間により、対応するコマンドの予想されるレイテンシが増加する可能性がある。多くのシナリオでは、運動は、線形ではなく、それにより、コマンドがトリガされる方法が変化し得ることを理解すべきである。別の言い方をすれば、コマンドの実行時間は、加速度又は他の高次導関数(例えば、d3x/dt3、d4x/dt4など)などの非線形式を使用して計算することができる。特に興味深いのは、スタジオによっては、ボリュームの外側にカメラを追跡するスペースがなく、俳優や小道具の動きが強制される場合があるため、カメラの7つの基本的な動き(すなわち、ズーム、パン、ティルト、ドリー、トラック、ペデスタル、ラックフォーカス)に合わせて要求通りに、小道具、カメラ又は俳優を傾けたり、トラック、ペデスタルなどで動かしたりすることができることである。
【0077】
スタジオ104A、104Bの一方又は両方からキャプチャされたデジタルコンテンツ(例えば、フィルム、オーディオ、スチール写真など)は、コンテンツ制作管理システム102及び/又は別の場所に伝送することができる。次いで、スタジオ104A、104Bの両方からキャプチャされたフィルムは、本明細書で説明されるように、組み合わせること、統合すること又は別の方法で管理することができる。例えば、スタジオ104A、104Bの両方からキャプチャされたフィルムは、特徴追跡に基づいて、又は、識別された特徴に基づいてコンテンツをまとめてスティッチングすることに基づいて(スケール不変の特徴変換(SIFT:scale-invariant feature transform)アルゴリズム、ロバストな特徴量の高速化(SURF:speeded-up robust features)アルゴリズム、加速化断片試験による特徴抽出(FAST:Features from Accelerated Segment Test)、二値ロバスト独立基本特徴(BRIEF:Binary Independent Elementary Features)、ORBオブジェクトFAST及び回転BRIEF(ORB Object FAST and Rotated BRIEF)、キャニー演算子(Canny Operator)、キャニーエッジ検出器(Canny edge detector)など)、コンピュータビジョンアルゴリズムを使用して組み合わせることができる。そのようなビジョンアルゴリズム、パッケージ又はAPI(例えば、Microsoft Computer vision、AWS Rekognition、Google Cloud Vision、IBM Watson、Cloud Sight、ClarifaiV2、Kairos、EmoVu、ImageVision、Animetrics、NANTのiD platform API、OpenCVなど)は、背景を追跡し、先験的に識別された追跡特徴(上記で参照される米国特許第10540772号明細書を参照)に基づいて、背景から実際の俳優及び小道具を切り離すようにコンポーネントを構成することができる。そのような場合、背景は、要望に応じて、より高解像度にアップグレードすることができる。これは、例えば、カメラの座標に基づいて、リアルタイムで行うことができる。いくつかの例では、必要な環境を生成するために座標が使用される場合があるため、ステークホルダ(例えば、ディレクタなど)は、カメラがキャプチャしたものよりさらにズームアウトする場合がある。エコシステムの数あるデバイスの中で特に、コンテンツ制作管理システム102は、ソフトウェア命令を介して、異なるボリュームからフィルムを組み合わせるか又は統合する方法を修正するように構成することができる。そのような調節は、相対照明を調節するなどの小さなものから、ボリュームから得られたデジタルコンテンツからオブジェクトを除去する(例えば、重複する星142Aを除去し、星142B星のみを残す若しくはその逆も同様)又は俳優が2人の俳優144B、146Bのうちの1人と手を結んでいるかのように見えるように俳優140Bを左若しくは右へ移動させるなどのより大きな変更まであり得る。この手法を考慮すると、制作中にほぼリアルタイムで統合が行われるため、調整された分散されたコマンドキューを介して、ポストプロダクションを削減することができる。技術的な利点は明らかである。開示される手法は、分散コマンドキューを活用するコンピュータベースの技法、及び、場合によっては、分散ボリューム内のオブジェクトのタイミング、場所又は方位の追跡を低減するためのコンピュータビジョンシステムを提供する。その結果、コンテンツ制作管理システム102は、リモートディレクタ又は他のステークホルダが利用できる、制作におけるポストプロダクション作業が少なくて済む、より現実的な制作を達成する。発明の対象物で使用するように適応させることができる、ローカル使用時にコンテンツの全く異なるストリームをレンダリングするための技法の例は、その全体が参照により本明細書に組み込まれる、Soon-Shiongによる「Digital Representation of Multi-Sensor Data Stream」と題する2021年3月31日に出願された米国特許出願公開第2021/0304418号明細書において開示されるものを含む。例えば、同期コマンドの実行から生成されるコンテンツは、使用時の同期レンダリングに備えて、バッファキューに配置することができる。
【0078】
フローチャート
図3では、例示的なコマンドカテゴリ分類動作が示されている。コマンドカテゴリ分類動作は、数あるデバイスの中で特に、例えば、コンテンツ制作管理システムのコマンドキュー管理モジュール(例えば、
図1及び2のコマンドキュー管理モジュール112)において実施することができる。他の実施形態では、
図3のコマンドカテゴリ分類動作は、例えば、スタジオと関連付けられたコンピューティングシステム(例えば、
図1のスタジオ104A、104Bと関連付けられたコンピューティングシステム120A、120Bの一方又は両方)において実施することができる。さらなる他の実施形態では、コマンドカテゴリ分類動作の1つ又は複数のステップは、コマンドキュー管理モジュール(例えば、
図1及び2のコマンドキュー管理モジュール112)において実施することができ、コマンドカテゴリ分類動作の1つ又は複数の他のステップは、スタジオと関連付けられたコンピューティングシステム(例えば、
図1のスタジオ104A、104Bと関連付けられたコンピューティングシステム120A、120Bの一方又は両方)において実施することができる。
【0079】
コントロールは、304から始まり、304では、コントロールは、コマンドセットに対するクエリを行う。304におけるコマンドセットに対するクエリは、例えば、
図1のコマンドキュー管理モジュール112及び/又はコンピューティングシステム120A、120Bの一方又は両方を介して実施することができる。例えば、1つ又は複数のコマンドは、本明細書で説明されるように、コマンドインタフェースモジュールによって、ステークホルダ又は他のソースからの入力に基づいて生成することができる。生成されたコマンドは、本明細書で説明されるように、例えば、1つ又は複数の非一時的なコンピュータ可読媒体(例えば、
図1のコンテンツ制作管理システム102と関連付けられたメモリ118)のコマンドキューなどの1つ又は複数のデータ構造又はデータベースに格納するか又はバッファリングすることができる。他の実施形態では、生成されたコマンドは(個別に又は集合的に)、1つ又は複数のリモート場所に(例えば、
図1のコンピューティングシステム120A、120Bに)伝送し、次いで、本明細書で説明されるように、1つ又は複数の非一時的なコンピュータ可読媒体(例えば、
図1のコンピューティングシステム120A、120Bと関連付けられたメモリ138A、メモリ138Bなど)の1つ又は複数のデータ構造に格納するか又はバッファリングすることができる。次いで、コマンドセットは、コマンドが格納されるか又はバッファリングされる場所に応じて、例えば、
図1のコマンドキュー管理モジュール112、制御モジュール124A、制御モジュール124Bなどによって実施される要求又はクエリを通じて、1つ又はモルのデータ構造から回収することができる。いくつかの実施形態では、コマンドキュー又はデータベースへのクエリは、キーワード、SQLクエリ、属性又は他の技法を使用して行うことができる。
【0080】
次に、コントロールは、308に進み、308では、コントロールは、クエリがコマンドを返したかどうかを決定する。コマンドが返されなかった場合は、コントロールは、304に戻り、コマンドが返された場合は、コントロールは、312に進む。312では、コントロールは、コマンドセットのコマンド(例えば、第1のコマンド)を選択する。ステークホルダ(場合によっては、ディレクタ)がコマンドに関連する入力を提供し得るが、コマンドは、エコシステムのコンピューティングデバイスも発生源とし得ることを理解すべきである。例えば、いくつかの実施形態では、コマンドは、スクリプト(例えば、OCR、スクリプトコンパイラなど)、プリビズ(プリビジュアライゼーション)コンパイル、状態機械管理モジュール、レンダリングエンジン又は他のタイプの管理システムを理解することができるソフトウェア命令が使用可能なコンピュータを介して生成することができる。次いで、コンピュータは、様々なボリューム内の特定の場所の特定のターゲットデバイスをターゲットとする1つ又は複数のコマンドにそのような情報を変換することができる。コマンドは、制作を容易にするために、多くの特徴を含み得る。論じられるように、コマンドは、特定のエンティティをターゲットとし得る。さらに、コマンドは、複数の命令を含み得、それらの命令は、機械が理解できるフォーマット(例えば、スクリプト、コンパイルされたオブジェクトコード、XML又はJSON符号化命令など)で符号化することができ、それにより、ターゲットデバイス(又は適切なアダプタ)は、コマンド命令を実行することができる。また、コマンドは、属性(例えば、メタデータ、属性値対など)、優先度値、キーワードなども含み得、それらは、コマンドの性質を説明し、コマンド挙動を変更することも、クエリの基礎に使用することも可能なものである。例えば、コマンドは、コマンドの目的及び他のコマンドに対するそのコマンドの重要性を示す特定の属性及び優先度値を含み得る。それに加えて、コマンドは、すべてのコマンドが互いに対して適切な時間に実行されることを保証する上で役立つ実行時間(例えば、絶対時間、相対時間、ローカル時間、実行時間の許容誤差など)を含み得る。実行時間に加えて、コマンドは、コマンドが実行される前に満たすべき必要な条件又は任意選択の条件を含み得る1つ又は複数の追加のトリガ基準を含み得る。例えば、特定の時間に加えて、コマンドは、コマンドが実行される(VFXエクスプロージョンの作動、カメラの移動の開始、小道具の移動など)前に、俳優がボリューム内の特定の場所(例えば、特定のボクセルなど)にいることを要求し得る。
【0081】
次に、316では、コントロールは、選択されたコマンドに対するターゲットコンテンツ制作エンティティを決定する。例えば、コントロールは、ステークホルダからの入力、コマンドが誰に/何に何をするように指示しているのかなどに基づいて、ターゲットコンテンツ制作エンティティを決定することができる。スクリプトに関して、エンティティは、登場人物名又はセット方向によって識別することができる。さらに、いくつかの実施形態では、様々なエンティティは、特定の登場人物、所望のカメラ位置(例えば、座標、カメラ識別子など)、小道具又は制作と関連付けられる他のエンティティを示すデジタルストーリーボードを介して識別することができる。ターゲットコンテンツ制作エンティティが決定された後、コントロールは、320に進む。
【0082】
320では、コントロールは、決定されたターゲットコンテンツ制作エンティティに従って、選択されたコマンドをカテゴリ分類して格納する。例えば、コマンドに対するターゲットコンテンツ制作エンティティが可動プラットフォームであることをコントロールが決定した場合は、コントロールは、コマンドを相応にカテゴリ分類し(例えば、ラベルなど)、可動プラットフォームと関連付けられたコマンドキューにコマンドを格納することができる。いくつかの実施形態では、カテゴリ分類されたコマンドは、本明細書で説明されるように、コマンドがリモートスタジオ、リモートスタジオで撮影されたシーン、作品全体などと関連付けられた状態機械の状態の一部であるように、他の関連コマンドと共に格納することができる。次いで、コントロールは、324に進む。
【0083】
対応するコマンドキューは、例えば、コンテンツ制作管理システムにローカル設置しても、リモートスタジオ場所の1つにリモートで格納してもよく、使用に備えてバッファに格納してもよい。いくつかの実施形態では、コマンドキューは、コマンドのターゲットエンティティである特定のデバイスのメモリに格納することができる。コマンドキューは、コマンドが1つ又は複数のコマンド属性(例えば、実行時間、トリガ基準など)に従って順番付けられるデータ構造として実装することができる。許容可能なデータ構造の例は、ほんの数例を挙げると、リンクされたリスト、キュー、デキュー、ベクター、マップ、ツリー又は他のデータタイプを含み得る。最小のメモリを有し得る小型デバイスの場合、デバイスには、アダプタ、より大きなメモリを有するデバイスが装備され得、それは、小型デバイスと通信可能に結合され、コマンドキューを格納できるものである。次いで、アダプタは、実行のために小型デバイスにコマンドを提出することができる。そのようなアダプタは、小型デバイスの外部に露出したネットワークインタフェース及び小型デバイス用のインタフェース(例えば、RS-232、USBなど)を有するデバイスサーバと呼ばれることがある。例示的なデバイスサーバ製品は、Lantronix(登録商標)、Digi International(登録商標)又はMoxa(登録商標)によって提供されるものを含むか、又は、場合によっては、Raspberry PIなどの市販のハードウェアを使用して実装されるか若しくはプロプライエタリデバイスを使用して実装される。
【0084】
324では、コントロールは、クエリが追加のコマンドを返したかどうかを決定する。追加のコマンドが返されなかった場合は、コントロールは、304に戻り、追加のコマンドが返された場合は、コントロールは、328に進む。328では、コントロールは、クエリから次のコマンド(例えば、第2のコマンド)を選択する。次いで、コントロールは、316に戻り、316では、コントロールは、上記で説明されるように、選択されたコマンドに対するターゲットコンテンツ制作エンティティを決定する。
【0085】
図4では、コマンドの実行時間を割り当てる動作の例が示されている。
図4の動作の例は、数ある適切に使用可能にされたデバイスの中で特に、例えば、コンテンツ制作管理システムのコマンドキュー管理モジュール(例えば、
図1のコマンドキュー管理モジュール112)において実施することができる。
図4の制御要素は、特定の実装形態に合うように並べ替えることができる。例えば、コマンドは、ターゲットエンティティセットを得る前に生成することができる。
【0086】
コントロールは、404から始まり、404では、コントロールは、ターゲットコンテンツ制作エンティティセット(例えば、デバイス、カメラ、機材、俳優、ロボットなど)に対するクエリを行う。例えば、異なるスタジオ(リモートスタジオの場合もある)に位置するターゲットコンテンツ制作エンティティは、コンテンツ制作管理システムで分かっている場合も、識別できる場合もある。いくつかの実施形態では、1つ又は複数のデータベースは、場合によってはそれらの能力別に又は特徴属性別にインデックス付けして、潜在的なエンティティ及び/又はそれらの対応するターゲットデバイスのセットを格納することができる。エンティティデータベースは、スクリプト、プリビズ又は一連のエンティティの要件を概説する他のソースから推論されたエンティティ(例えば、JSONファイルで定義されたもの、テーブルにリストされたものなど)から入力することができる。さらに、各サイトは、それら自体のエンティティデータベースを有し得、それにより、未加入のスタジオが互いに協力し合うことが容易になり得る。エンティティデータベースへのクエリは、キーワード、SQLクエリ、属性又は他の技法を使用して行うことができる。データベース内のエンティティは、検索できるようにするために、関連属性でタグ付けすることも、インデックス付けすることもできる。例えば、エンティティは、場所、能力、関連スクリプト、シーン情報、使用コスト又は他のタイプの情報を含む属性でタグ付けすることができる。使用コスト情報は、制作スタジオが課金目的で第三者による使用を追跡するために提供される。本開示の一態様は、対応する実行コマンドから明らかなように、制作機材の割り当て又は使用に基づいて、監査又は請求サービスを提供することを含むと考えられる。
【0087】
次いで、コントロールは、408に進み、408では、コントロールは、クエリがターゲットコンテンツ制作エンティティを返したかどうかを決定する。ターゲットコンテンツ制作エンティティが返されなかった場合は、コントロールは、終了し、ターゲットコンテンツ制作エンティティが返された場合は、コントロールは、412に進む。412では、コントロールは、クエリからターゲットコンテンツ制作エンティティセットのターゲットコンテンツ制作エンティティ(例えば、第1のターゲットコンテンツ制作エンティティ)を選択する。
【0088】
次に、416では、コントロールは、コマンドが選択されたターゲットエンティティと関連付けられているかどうかを決定する。例えば、各コマンドは、上記で説明されるように、特定のターゲットエンティティと関連付けられたコマンドキューにカテゴリ分類して格納することができる。コマンドは、エンティティの能力に基づいて決定することができる。エンティティが露出したAPIでタグ付けされるか又は露出したAPIを含むシナリオを考慮する。APIは、コマンドが引き出されるか又は別の方法で識別される元となるマークアップ言語(例えば、XML、JSON、YAMLなど)を介して表現することができる。従って、コントロールは、選択されたターゲットエンティティと関連付けられた1つ又は複数のコマンドキューにアクセスし、コマンドがコマンドキューに格納されているかどうかを決定することができる。416においてコマンドが選択されたターゲットエンティティと関連付けられている場合は、コントロールは、420に進み、コマンドが選択されたターゲットエンティティと関連付けられていない場合は、コントロールは、448に進む。
【0089】
420では、コントロールは、選択されたターゲットエンティティと関連付けられたコマンドの送信先を決定する。例えば、コントロールは、選択されたターゲットエンティティと関連付けられたIPアドレス、特定のネットワークエンドポイント、場所ID、ボリュームID、ボクセルID、カメラキャプチャID、URL、UUID、GUID及び/又は別の識別マーカーを決定することができる。いくつかの実施形態では、コマンドの送信先は、階層構造に従ったアドレスを含み得る。例えば、アドレスは、<スタジオ>、<ボリューム>、<デバイス>、<キュー>と同様の方式で構造化することができ、「スタジオ」は、スタジオ識別子又は名前を表し、「ボリューム」は、スタジオ内の特定の撮影ボリュームを識別し、「デバイス」は、特定のデバイス識別子(例えば、MACアドレス、UUID、GUID、IPアドレスなど)を表し、「キュー」は、デバイス内の又はデバイスと関連付けられた特定のコマンドキューを表すために使用することができる。
【0090】
次いで、コントロールは、424に進む。424では、コントロールは、選択されたターゲットエンティティと関連付けられた格納されたコマンド(例えば、第1の格納されたコマンド)を選択する。次に、428では、コントロールは、選択されたコマンドに対して同期実行時間又は他のトリガ条件を割り当てる。例えば、コントロールは、本明細書で説明されるように、例えば、レイテンシ、時間関連の因子、コマンドのシーケンシング、他のコマンド実行時間などに基づいて、選択されたコマンドに対して同期実行時間を割り当てることができる。コマンドに対する同期実行時間は、絶対時間(例えば、グローバルに決定された時間、ローカル時間、など)、相対時間又は両方の組合せであり得る。例えば、選択されたターゲットエンティティに対するコマンドが1つ又は複数の他のエンティティに依存する場合は、相対実行時間は、それらのコマンドを完了する他のエンティティに関連する相対時間であり得、それらのエンティティがそれらのコマンドを完了した後に相対時間をトリガするように調節することができる。従って、これまでに論じられるように、コマンドの実行基準は、時間以外の追加の因子に依存し得る。それに加えて、システムが、指定された時間内に他のエンティティによるコマンドの完了を検出できなかった場合は、システムは、その場合にコマンドを実行するために使用することになるフォールバック絶対同期実行時間を有し得る。実行時間は、エコシステム内の様々なデバイス又はスタジオ間の通信又はネットワークレイテンシを考慮することができ、レイテンシは、GPSセンサ、NTP、ピング時間を介して時間を得ること、往復時間(RTT)、最初の1バイトを受信するまでの時間(TTFB)を測定すること又は他の技法を含む様々な技法を使用して測定することができる。個々のレイテンシは、実行時間に到達するように加えること(又は減じること)ができる。実行時間が決定される際、好ましくは、対応するキャプチャデジタルコンテンツがいつどこで提示されるべきか又は観察されるべきかが考慮される。従って、ステークホルダ(例えば、ディレクタ、プロデューサなど)が分散スタジオから離れており、ステークホルダにコンテンツが提示される予定である場合は、実行時間を計算するために使用されるレイテンシは、ステークホルダのコンピューティングデバイス及びリモートデバイスに対するものである可能性が高くなる。また、レイテンシは、人間によって課されるレイテンシを考慮するために、1つ又は複数のシミュレーション又はリハーサルを実行することに基づいて測定することもできる。
【0091】
次いで、コントロールは、432に進む。432では、コントロールは、任意選択的に、場合によってはネットワーク上で、選択されたターゲットエンティティに対する送信先にコマンド及びその実行時間を伝送する。そのような例では、コマンドは、選択されたターゲットエンティティ又はターゲットデバイスに個別に渡される。コマンドは、シリアル化されたオブジェクト(例えば、バイナリ、XML、JSON、YAMLなど)としてパッケージ化し、1つ又は複数のプロトコル(例えば、HTTP、SSL、TCP/IP、UDP/IPなど)を介して伝送することができる。
【0092】
次いで、コントロールは、436に進む。436では、コントロールは、追加のコマンドが選択されたターゲットエンティティと関連付けられているかどうかを決定する。追加のコマンドが選択されたターゲットエンティティと関連付けられている場合は、コントロールは、440に進み、追加のコマンドが選択されたターゲットエンティティと関連付けられていない場合は、コントロールは、444に進む。440では、コントロールは、選択されたターゲットエンティティと関連付けられた次の格納されたコマンド(例えば、第2の格納されたコマンド)を選択する。次いで、コントロールは、428に戻り、選択されたコマンドに対して同期実行時間を割り当てる。
【0093】
444では、コントロールは、任意選択的に、選択されたターゲットエンティティに対する送信先に、選択されたターゲットエンティティと関連付けられたコマンド及びそれらの実行時間をすべて伝送する。そのような例では、コマンドは、選択されたターゲットエンティティに集合的に渡すことができる。いくつかの例では、すべてのコマンドが格納されたコマンドキューを、選択されたターゲットエンティティに渡すことができる。コマンドと同様に、コマンドキューは、ネットワーク上で伝送するために、パッケージ化又はシリアル化することができる。次いで、コントロールは、448に進む。
【0094】
448では、コントロールは、クエリが追加のターゲットコンテンツ制作エンティティを返したかどうかを決定する。追加のターゲットコンテンツ制作エンティティが返されなかった場合は、コントロールは、終了し、追加のターゲットコンテンツ制作エンティティが返された場合は、コントロールは、452に進む。452では、コントロールは、クエリからターゲットコンテンツ制作エンティティセットの次のターゲットコンテンツ制作エンティティ(例えば、第2のターゲットコンテンツ制作エンティティ)を選択する。次いで、コントロールは、416に戻る。
【0095】
図5では、例示的なコマンド実行動作が示されている。
図5の例示的なコマンド実行動作は、例えば、リモートスタジオで実施することができる。例えば、コマンド実行動作は、リモートスタジオのターゲットコンテンツ制作エンティティと関連付けられたプロセッサハードウェアなどを有する、リモートスタジオに位置する制御モジュールを用いて実施することができる。ターゲットエンティティがデバイス(例えば、カメラ、デバイスアダプタなど)である場合は、デバイスは、コマンドを直接実行することができる。ターゲットエンティティが人間を含む場合は、対応するターゲットコンピューティングデバイスは、コマンド(例えば、合図、プロンプトなど)を人間に提示することができる。そのようなコマンドは、視覚コマンド(例えば、ディスプレイ上にレンダリングされるものなど)、オーディオコマンド、触力覚コマンド又は人間が観察できる他の様式を含み得る。そのようなコマンド又は合図は、例えば、人間の視野内(ただし、カメラの視野外)のLEDウォール上にレンダリングすることができる。
【0096】
コントロールは、504から始まり、504では、コントロールは、コマンドセットに対するクエリを行う。例えば、コンテンツ制作管理システムから受信されたコマンドは、制御モジュール、ターゲットコンテンツ制作エンティティなどと関連付けられたローカル及び/又はリモートメモリに格納することができる。例えば、コマンドは、対応するキューの正面からポップする(すなわち、デキューする)ものであり得る。次に、コントロールは、508に進み、508では、コントロールは、クエリがコマンドを返したかどうかを決定する。コマンドが返されなかった場合は、コントロールは、504に戻り、コマンドが返された場合は、コントロールは、512に進む。512では、コントロールは、クエリからコマンドセットのコマンド(例えば、第1のコマンド)を選択する。実行の結果は、例えば、場合によっては、公証台帳上にNFT又はデータとして、場合によっては、将来の使用(例えば、監査、請求、機械学習訓練データ、レビューなど)のために、アーカイブすることができる。
【0097】
次に、516では、コントロールは、選択されたコマンドに対する実行時間を識別する。例えば、選択されたコマンドに対する実行時間は、以前に割り当てられ、制御モジュール、ターゲットコンテンツ制作エンティティなどと関連付けられたローカル及び/又はリモートメモリに格納されているものであり得る。各実行デバイスは、現在の時間(場合によっては、グローバルに同期化させた時間)をモニタするためのクロック(例えば、GPS、内部クロック、NTPなど)へのアクセスを有し得る。コマンドの実行時間に到達すると、及び、他のトリガ基準が満たされると、デバイスは、コマンドを実行する。次いで、コントロールは、520に進み、520では、コントロールは、その実行時間に従って、選択されたコマンドを実行する。次いで、コントロールは、524に進む。
【0098】
524では、コントロールは、クエリが追加のコマンドを返したかどうかを決定する。追加のコマンドが返されなかった場合は、コントロールは、504に戻り、追加のコマンドが返された場合は、コントロールは、528に進む。528では、コントロールは、クエリからコマンドセットの次のコマンド(例えば、第2のコマンド)を選択する。次いで、コントロールは、516に戻り、選択されたコマンドに対する実行時間を識別する。
【0099】
追加の考慮
これまでの論考は、主に分散スタジオ環境の文脈において発明の対象物を提示したものである。上記に加えて、以下の論点は、対象物の実施形態を拡大するか又は発明の対象物に関する追加の詳細を提供する。
【0100】
地理的距離にわたって分散された複数の施設及びデバイスを含む開示されるエコシステムを考慮すると、コンテンツ制作管理システムは、場所に関係なく、すべてのデバイスが互いに効率的に通信できることを保証するネットワーク管理能力を提供することができる。ネットワーク管理の一態様は、相互接続されたデバイスの間のレイテンシを管理することを含む。これまでに論じられるように、レイテンシは、経験的な技法を使用して、少なくとも2つのデバイス間で測定することができる。レイテンシの測定に加えて、いくつかの実施形態は、所望のレイテンシ又は他のレベルのサービスを有するように、デバイス同士を接続するネットワークを構成するか又はプロビジョニングすることを提供する。ネットワークをプロビジョニングするように適応させることができる例示的な技法については、Wittenschlaegerによる「Software-Enabled Fabric Enablement」と題する2015年1月13日に出願された米国特許第9917728号明細書、及び、Charnock等による「Virtual Circuits in Cloud Networks」と題する2017年9月26日に出願された米国特許第10826796号明細書で説明されている。これらの特許は、その全体が参照により本明細書に組み込まれる。例えば、コンテンツ制作管理システムは、超えてはならないレイテンシ閾値(例えば、100msを超えない、500msを超えないなど)を有するように構成することができる。そのような構成パラメータに応答して、コンテンツ制作管理システムは、必要なレベルのレイテンシサービスを提供することができる、場合によっては、光ファイバ上の光の特定の波長までの、ネットワークチャネルを選択することができる。次いで、選択されたチャネルは、場合によっては、指定された時間又はリース時間の間は、制作取り組みに特化したものであり得る。従って、発明の対象物の一態様は、少なくとも2つのデバイス間のプロビジョニングされたネットワークレイテンシに基づいて、コマンドに対する実行時間を決定することである。
【0101】
レイテンシ管理以外にも、開示されるエコシステムにおいて深く考慮され得るネットワーク管理の他の態様が存在する。ネットワーク管理の追加の領域は、ネットワークの一部として動作するか又はネットワークに接続される利用可能な機材に対するインベントリ又はクエリを行うこと、ネットワークに関連して観察されたデバイス状態若しくは観察されたコマンド活動に基づいて警告を生成すること、ネットワーク上のターゲットエンティティの挙動をモニタすること、ネットワーク上の様々なデバイスを回復すること、ネットワーク上のデバイス通信の安全を保障すること、ネットワークを介して得られた情報を報告すること又は他の管理活動を含み得る。例えば、制作イベントの前、制作イベントの間又は制作イベントの後、様々なターゲットエンティティ(例えば、デバイス、俳優など)によって実行されたコマンドは、ステークホルダに表示するためにコンテンツ制作管理システムに報告することができる。そのような挙動は、SNMP又は管理情報ベース(MIB)を介して報告することができる。例えば、その全体が参照により本明細書に組み込まれる、Soon-Shiong等による「Fine Grained Network Management to Edge Device Features」と題する2020年3月12日に出願された米国特許第10958512号明細書は、MIBを介してそのようなデバイス挙動を報告するための方法について説明している。さらに、ネットワーク管理活動(特に、コマンド、コマンドの実行又はコマンドキューに関するデバイスとの通信を観察すること)は、OpenNMS(URL www.opennms.comを参照)などのソフトウェアを通じて、ダッシュボードを介してステークホルダに提示することができる。ディレクタが2つ以上のスタジオで制作するために使用するコマンドセットを作成するシナリオを考慮する。各デバイスによるそれらのコマンドの実行に伴い、観察された実行結果は、コンテンツ制作管理システムのディスプレイモジュール上のディレクタのダッシュボードに送り返すことができる(例えば、SNMP、XML、JSON、OpenNMSなどを介して)。ダッシュボードは、それらの実行時間に対する各コマンドキューの現在の状態及び関連コマンドを表示することができる。実行時間からの偏差をディレクタに知らせるため、そのような偏差をハイライトすることも、コマンドキューの視覚的な提示を変更することもできる。
【0102】
また、コマンドに関する追加の詳細により、発明の対象物の様々な実施形態に対する洞察が提供され得る。コマンドは、一般に、1つ又は複数の非一時的なコンピュータ可読メモリにおいてインスタンス化されるデータ構造体又はオブジェクトと考えられることができる。コマンドを作成するためにオブジェクト指向コンピュータ言語(例えば、C++、Java、Pythonなど)が使用される場合は、コマンドは、1つ又は複数のコマンドクラスからインスタンス化することができる。従って、個々のコマンドは、別個の管理可能なオブジェクトであると考えることができる。コマンドクラスは、コマンドを全体的に又はコマンドを個別に容易に管理するための追加のデータメンバー(例えば、変数、定数、メソッド、API、関数など)を含み得る。コマンドを作成するために非オブジェクト指向言語(例えば、C、アセンブリなど)が使用される他の事例では、コマンドは、メモリにおいて、言語のデータ構造構文を使用して作成することができる(例えば、Cでは、typedef、struct、typedef structなどを使用することができる)。
【0103】
コマンドを実行するターゲットエンティティとターゲットデバイスの違いを理解すべきである。いくつかの事例では、ターゲットエンティティとターゲットデバイスは、例えば、カメラなどの、同じ物理的なデバイスであり得る。しかし、ターゲットエンティティ(例えば、俳優)は、ターゲットデバイス又はデバイスとは言えない。そのような事例では、ターゲットデバイスは、1つ又は複数の関連コマンドに基づいて、合図をターゲットエンティティ(例えば、俳優など)に提示するように構成されるか又はプログラムされたデバイスである可能性が高くなる。従って、ターゲットデバイス(例えば、ディスプレイスクリーン、LEDウォール、スピーカなど)は、ターゲットエンティティ(例えば、俳優、スタッフ、クルーなど)に命令(例えば、合図など)を提示するか又はレンダリングするためのコマンドを実行することができる。次いで、ターゲットエンティティは、受信した命令に基づいて行動を取ることができる。従って、コマンドは、コマンドをターゲットデバイス及び/又はターゲットエンティティと関連付ける1つ又は複数の属性を含み得る。さらに、コマンドは、コマンドの実行の後又は合図に応じた行動の後に達成すべき所望の結果(すなわち、ターゲットエンティティが行う特定の動き又は行動)を定義する属性を有し得る。例えば、コマンドクラスは、ターゲットデバイスタイプ(例えば、デバイスクラス、メーカー、モデルなど)又はターゲットエンティティタイプを示す1つ又は複数のメンバーインスタンス属性を有し得、これを受けて、ターゲットエンティティと関連付けられたターゲットデバイスの能力に従って、利用可能なデバイスコマンドがインスタンス化され得る。そのような能力は、1つ又は複数の発見プロトコル又は発見するように適応させることができるプロトコル(例えば、SSDP、SDP、SNMP、ICMP、プロプライエタリ発見プロトコルなど)を介して発見することができる。デバイスコマンドが実行され次第、デバイスによる観察された実行結果は、コンテンツ制作管理システムに報告することができる。ターゲットデバイスとターゲットエンティティが異なり得ることを考慮すると、ターゲットデバイスによるデバイスコマンドの実行と対応する行動を取るターゲットエンティティの観察との間には遅延が存在し得る。実行と行動との間の遅延は、コマンドの実行時間を決定する際に考慮され得る。そのような手法は、エコシステム内の問題の識別若しくは診断において、又は、場合によってはリアルタイムでの、遭遇する行動遅延問題への適応において、有利である。
【0104】
コマンドと関連付けられる追加のコマンド属性(例えば、メンバーデータ変数、インスタンス変数など)は、実行時間以外にも多岐にわたる。コマンドを管理するために使用することができる追加のコマンド属性は、ほんの数例を挙げると、コマンドが実行される地理的場所、コマンドのターゲットボクセル(例えば、3Dボリューム内の位置など)、コマンド実行の予想される持続時間、実行が成功した又は失敗したと見なされるタイミングを示すコマンド実行の許容誤差又は基準、相互依存するコマンドのカスケード実行を可能にする他のコマンド又はコマンドキューへのポインタ又はリンクなどの1つ又は複数を含み得る。
【0105】
さらなる別のタイプのコマンド属性は、状態機械の実施形態の一部であり得る1つ又は複数のコマンド状態を含み得る。コマンド状態は、その実行前、実行中又は実行後のコマンドが存在する現在の状況を示す。例示的なコマンド状態は、NULLを含み得、NULLは、コマンドがインスタンス化されているが、完全には定義されていないというものである。PENDINGの状態は、コマンドが実行待ちであることを示し得る。EXECUTINGの状態は、コマンドが現在実行中であることを示し得る。そのような状態は、コマンドの完了に時間を要し得る(例えば、俳優が撮影ボリューム内を歩き回る)シナリオにおいて役立ち得る。EXECUTED又はCOMPLETEの状態は、コマンドが終了したことを示し得る。別のタイプのコマンド状態(おそらく一次状態又は二次状態)は、実行が成功したか否かを示し得る(場合によっては、SUCCESS又はFAILの状態を介して)。コマンドが有し得る様々な状態は、ターゲットエンティティ又はターゲットデバイスに依存し得る。いくつかの実施形態では、コマンドは、状態機械(場合によっては、コマンド実行又は観察された実行結果に基づいて特定の状態移行のみが可能であるエンティティ特有の又はデバイス特有の状態機械)に従い得る。他の実施形態では、コマンドは、ステークホルダ又は他のインタフェースによって定義された状態を有し得る。
【0106】
コマンドは、多くの方法で生成することができる。これまでに論じられるように、1人又は複数のステークホルダは、コンテンツ制作管理システム上のユーザインタフェースを介してコマンドを定義することができる。しかし、コマンドは、最終的には、少なくとも1つのコンピューティングデバイスに対して生成されることを理解すべきである。例えば、ステークホルダは、ターゲットデバイス上の実行のためのメニューから1つ又は複数のコマンドを選択することができる。次いで、選択されたコマンドは、上記で論じられるように、必要な属性又は特徴でインスタンス化することができる。またさらに、1つ又は複数のコマンドは、そのようなコンピューティングデバイスによって自動的に生成することができる。先ほどの例を続けると、選択されたコマンドは、追加のサポートコマンドを最初に実行することを要求し得、例えば、ボリューム内でカメラをあちこち移動させることを要求するなどが挙げられるが、それにより、シーンの撮影のために、他の機材と物理的に衝突する可能性が生じる。従って、システムは、撮影ボリュームの物理的制約による衝突を認識し、次いで、衝突する機材又は衝突するターゲットエンティティをターゲットとする追加のデバイスコマンド(例えば、小道具を動かすなど)を生成することができる。従って、発明の対象物の態様は、予想される衝突に対処するために、ボリューム内で衝突を引き起こし得るコマンドを識別し、対応する実行時間と共に、コマンドを自動的に生成することを含むと考えられる。衝突が見つかった際は、システムは、衝突を解決するために必要な予測コマンドの実行を決定するために、現在のコマンドの実行時間の観点からの後向き連鎖推論を採用することができる。
【0107】
前述したように、開示されるシステムは、先験的に定義された撮影情報をそれらの望ましい実行時間と共にデバイスコマンドに変換することができる1つ又は複数の撮影コンパイラを採用することができる。スクリプト又はスクリーンプレイを考慮する。そのような文書は、典型的には、場合によっては対応する状態機械に基づいて、デバイスコマンドに翻訳することができる、高度に構造化されたフォーマットに従う。例えば、スクリプトは、登場人物(例えば、俳優など)、セット方向又は他の情報を識別するために、光学式文字認識(OCR)を介して分析することができる。より具体的には、スクリプトにおいて重要な特徴が見つかった際は、コンパイラは、関連デバイスコマンドを自動生成することができる(おそらくは、ダイアログの1行から、俳優への合図を表すデバイスコマンドがインスタンス化される)。インスタンス化された時点で、ディレクタ又は他のステークホルダは、コンテンツ制作管理システムを使用して、ボリュームへの展開のためのコマンドを具体化することができる。スクリプトのコンパイル以外に、プリビズもまた、ターゲットボリュームへの展開に備えて、初期のデバイスコマンドセットを含み得る。コンパイルされたプリビズコマンドは、この場合もやはり、コンテンツ制作管理システムを介して具体化することができる。コンテンツ制作管理システムは、利用可能な機材(例えば、デバイス、カメラなど)に関連する属性及び特定のボリュームに関連する属性を含み得、それは、コマンドにより、現実のターゲットボリュームに正しく整合することが保証されるように、コンパイルされたプリビズコマンドへの入力に役立てるために使用できることを理解すべきである。従って、コンパイルされた文書、プリビズ又は他の構造化情報から生じたコマンドには、先験的な要件に基づいて初期の実行時間を入力することができ、それは、現実の撮影ボリュームに合わせて変更することができる。さらに、各制作エンティティ又は全体としてのエコシステムは、場合によってはコマンドが実行され次第、状態移行が起こる、1つ又は複数の状態機械に従って動作し得る。
【0108】
分散撮影環境内での特定の実行時間のコマンドの実行における興味深い態様は、予想に対する変動性を確認するために、観察された実行時間及び観察された実行結果をモニタできることである。実行結果のモニタリングは、ターゲットデバイスが実際の実行時間及び/又は観察された結果を報告することを通じて達成することができる。次いで、観察された結果は、コンテンツ制作管理システムに格納されている予想される結果と比較することができる。予想される結果は、ステークホルダによって、コンパイルされたコマンドセットによって又は他の技法によって定義することができる。エコシステム内の様々なデバイス(例えば、カメラ、マイク、センサなど)は、センサデータをキャプチャすること、及び、センサデータにおいて1つ又は複数のアルゴリズムの実装形態を実行すること(例えば、活動認識、画像認識、物体認識、自然言語処理、OCR、分類技法、予測技法など)を通じて、実行の結果を観察することができる。予想される結果からの偏差は、予想される結果の属性を実際の結果の属性と比較することによって定量化することができる。そのような差(場合によっては、属性ごとの)は、総計して1つの差を生み出すことができる。いくつかのシナリオでは、差は、必要に応じて様々な属性値を考慮又は正規化しながら、属性間のユークリッド距離、ハミング距離又は他のタイプの距離を生成することを通じて、結果属性空間から定量化することができる。
【0109】
コマンドに加えて、コマンドキューに関する詳細も有用であり得る。コマンドキューは、コンピュータサイエンスの意味で、オブジェクトとして実装することもできる。コマンドキューは、場合によっては、望ましい順番でコマンドを格納することができる基本的なデータ構造(例えば、キュー、デキュー、ベクター、マップ、ツリー、循環キュー、スタックなど)に基づいて、1つ又はコマンドキュークラスからインスタンス化することができる。さらに、インスタンス化されたコマンドキューは、1つ又は複数のデバイス特有の特徴(場合によっては、実行のためにキューに格納することができる利用可能なコマンド(すなわち、デバイス能力)を含む)を継承することができる。APIを介してクエリが行われる際、インスタンスコマンドキューは、キューに対して利用可能なコマンドの結果セットを報告することができる。この手法により、コンテンツ制作管理システムは、コマンドキュー内で機能するコマンドのみがコマンドキューに対して生成されることを保証することができる。コマンドは、対応するデータ構造のAPIに従って、キューに「プッシュする」(例えば、エンキューするなど)ことも、キューから「ポップする」(例えば、デキューするなど)ことも可能である。
【0110】
コマンドキューは、好ましくは、指定された順番で(より好ましい実施形態では、実行時間別に)コマンドを格納する。例えば、コマンドキューは、実行時間が最も早いコマンドをキューの先頭に置き、実行時間が最も遅いコマンドをキューの後尾に置く場合がある。キュー又はキューマネージャがコマンドの実行時間が来たと判断すると、コマンドがキューの先頭からポップし、そのコマンドを実行することができる。コマンドによっては、コマンドがその実行を完了するまでに、ある程度の持続時間又は時間を要する場合があることを理解すべきである。そのような事例では、実行が完了するまで、EXECUTINGコマンドを別個の実行キューに置くことができる。実行が完了次第、実行キューからコマンドを取り除き、登録ステークホルダに必要な報告を行うことができる。従って、デバイスは、コマンドの寿命を通じて又はコマンドの状態の変化に伴ってコマンドを管理するために、複数のタイプのコマンドキューを採用できることを理解すべきである。
【0111】
コマンドキューは、パッシブコマンドキュー又はアクティブコマンドキューであり得る。パッシブコマンドキューは、パッシブコマンドキューデータ構造の外部のキューのAPIへの呼び出しに基づいて動作する。別の言い方をすれば、パッシブコマンドキューは、それ自体のコマンドを直接実行させることはなく、キューの外部のマネージャに依拠してコマンドを実行させる。アクティブコマンドキューは、それ自体のコマンドを管理し、コマンドのトリガ基準が満たされ次第、コマンドが実行されることを保証するキューオブジェクトと考えることができる。そのようなキューは、それら自体のエージェンシにおいて動作する。例えば、アクティブコマンドキューは、現在の時間を含む環境センサデータの流入を観察する1つ又は複数のリスナーを含み得る。キューのリスナーが、コマンド(キューの先頭のコマンドである可能性が高い)のトリガ基準を満たすセンサデータ(例えば、内部状態データ、外部状態データなど)及び/又は現在の時間を観察すると、キューは、コマンドを実行させる。コマンド実行は、デバイスへの信号の伝送、デバイスに対するAPIの呼び出し、スクリプトの実行、1つ若しくは複数のソフトウェア命令の実行又は他の形態のデバイス実行の形態を取り得る。さらに、アクティブキューは、対象デバイス又は登録デバイス(例えば、コンテンツ制作管理システム)に実行の結果を報告することができる。それに加えて、アクティブコマンドキューは、他のコマンドキュー内の保留中のコマンドを実行のために解放できるように、実行が開始したこと又は完了したことを他のコマンドキューに通知することができる。
【0112】
ターゲットデバイスの性質に応じて、デバイスの対応する1つ又は複数のコマンドキューは、ローカルに常駐していても、デバイスから離れていても、仲介デバイスに位置してもよい。十分なコンピューティング資源(例えば、RAM、CPU、コアなど)を有するターゲットデバイスは、コマンドキューのローカルインスタンス化を許可するか又は可能にし、さらにコマンドのローカル実行を可能にする、プログラムで利用可能な実行環境(例えば、VM、コンテナ、スクリプトエンジンなど)を有し得る。そのような資源が不足している他のターゲットデバイスは、外部のソースから受信された信号への応答のみが可能であり得る。例えば、小型デバイスは、PIOピン上で受信された信号にのみ応答し得る。そのような事例では、コマンドキューは、コマンドの実行に応答してPIOピンにおいて信号を提供し、それにより、小型デバイスに行動を取らせる、外部のキュー管理デバイスに位置し得る。そのような外部のキュー管理デバイスは、ネットワーク上で、リモート設置されるか、又は、リモートコンピュータ上に実装することができる(例えば、コンテンツ制作管理システムなど)。またさらに、外部のキュー管理デバイスは、ターゲットデバイス及びコンテンツ管理システムに接続された仲介デバイスであり得る。そのようなシナリオでは、キュー管理デバイスは、コンテンツ制作管理サーバからコマンドキュー管理機能を受信し、次いで、ターゲットデバイスに信号を送信することを通じて対応するコマンドの実行を管理する、デバイスサーバ又はアダプタとして動作し得る。これまでに言及したように、そのようなデバイスサーバ又はアダプタは、様々なベンダから得ることができ、次いで、必要なコマンドキュー機能性を用いてプログラムするか又はプロビジョニングすることができる。そのようなアダプタとして動作し得る追加のデバイスは、Arduino(商標)又はRaspberry Pi(商標)デバイスを含み得る。
【0113】
考慮すべきさらなる別の領域は、様々な制作ボリュームの管理を含む。各制作ボリュームは、サイズ、形状、実際の撮影ボリューム(例えば、ステージ、LEDウォールなど)、利用可能な総制作ボリューム(例えば、カメラ若しくはスタッフのためのエリアなど)、利用可能な機材及びそれらのプロパティ、スケジュール、コスト、又は、ボリュームの性質を説明する他の属性セットを含む、それ自体の特定の特性を有する。そのようなボリューム特性は、コマンドがそれらの所望の実行時間に実行された際に、ボリュームの間の制作や、すべてのデバイスの間のコレオグラフィが適切に同期化することを保証するために、コマンドにそれらの特徴を入力する際、又は、コマンドキューをどこに置くべきかを決定する際に役立ち得る。
【0114】
ボリュームを管理するための技法は数多く存在する。特に興味深い技法は、ボリュームのボクセル管理に重点を置くものである。ボクセル管理は、ボリュームをボクセル(すなわち、体積セル)に分解することを含み、ほとんどの場合、対応するボリュームは、ボリュームのボクセルセットで満たされることになる。別の言い方をすれば、ボクセルは、2Dフロアタイルの3Dアナログと考えることができ、エリアは、一連のフロアタイルで覆われる。同様に、ボリュームは、一連のボクセルで満たされ得る。ボクセルは、コンピューティングデバイスのメモリ(例えば、コンテンツ制作管理システムのメモリ)内の仮想データオブジェクトと考えることができる。ボリュームのボクセルは、すべてが同じサイズでも、異なるサイズでも、同じ形状でも、異なる形状でも、要求通りにサイズや寸法を指定してもよい。形状は、いかなる3D形状でもよい(例えば、立方体、球体、直方体、不定形の3D形状、四面体、円柱、角柱、円錐、プラトン立体など)。いくつかの実施形態では、ボクセルは、重なり合わず、他の実施形態では、ボクセルは、互いにある程度重なり合うものであり得る。さらに、ボクセルは、完全にボリュームを満たすものであっても、部分的にボリュームを満たすものであってもよく、ボリュームの少なくとも一部分は、コマンド又はコマンドキュー管理に関してボリューム管理を必要とし得る。
【0115】
各ボリュームが異なる物理的形状を有し得ることを考慮すると、各ボリュームは、異なるボクセルセットを有し得る。例えば、フィデリティが高い前景のアクションに重点を置く第1のスタジオは、おそらくは特定の3D点までの、非常に細かいボクセルセットを有し得る(例えば、10cmの立方体でボリュームが満たされる)。一方で、背景の主に静的なコンテンツに重点を置く第2のスタジオは、より粗いボクセルセット(おそらくは100cmの立方体)を必要とし得る。コンテンツ制作管理システムの観点から、第1のボリュームのボクセルセットは、変換を介して、第2のボリュームのボクセルセットにマッピングすることができ(例えば、V2=T(V1)など)、変換Tは、コンピュータベースの関数(例えば、1対1のマッピング、連続マッピング、不連続マッピングなど)として実施することができる。そのような変換は、望ましいマッピングを可能にするために、セルの変換(例えば、スケーリング、回転、スキューイング、平行移動、せん断、反射、アフィンなど)を行わせるか又は含み得る。この例では2つのボリュームに焦点を当てているが、複数のスタジオのボリュームをさらなる別のボリューム(場合によっては、結果として生じるコンテンツをより完全なコンテンツセット又はより最終的な統合結果に組み入れるためにコンテンツ制作管理システムによって活用される仮想ボリューム)にマッピングすることもできることを理解すべきである。
【0116】
撮影ボリューム内のボクセルの管理は、コマンド及びコマンドキューに関する発明の対象物に関して、複数の興味深い能力を生み出す。ステークホルダが複数のボリュームからコンテンツを組み入れることを望み、ボリュームの各々がそれら自体のボクセルセットを有するというシナリオを考慮する。ボクセルセットは、適切な変換を介して、ステークホルダのコンテンツ制作管理システムにおいてバーチャルプロダクションボリュームにまとめて組み入れられる。また、ステークホルダは、コンテンツ又はその一部分の制作のために、対応するコマンドキューと共に、望ましいコマンドセットをコンパイルする(例えば、スクリプト、プリビズ、状態機械などから)。単にライブ制作においてすべてのコマンドを実行するというよりむしろ、コンテンツ制作管理システム又は他の適切に使用可能にされたコンピューティングデバイスは、仮想ボリューム内において様々なコマンドキュー内のコマンドのシミュレーション実行を介して、制作のシミュレーションを実行し得る。シミュレーションは、UnReal(登録商標)ゲームエンジン又はUnity(登録商標)ゲームエンジンなどのゲームエンジンを活用し得る。各コマンドの実行に伴い、個々のボクセル(好ましくは、バーチャルプロダクションボリューム内の)に対する影響がモニタされ得る。例えば、シミュレーションにおいてボクセルをモニタすることにより、俳優が1つ又は複数の予想されるボクセル(又は、その代替として、1つ又は複数の予想外のボクセル)中を移動しているかどうか又は占有しているかどうかが示され得る。この手法は、コマンドの実行が、それらの実行時間と共に、予想通りに又は要求通りに起こることを保証すると同時に、潜在的な衝突を特定する際に役立つ。いくつかの実施形態では、コマンドキュー内のコマンドを実行するシミュレーションの実行からの結果により、コマンドの実行がボクセルに与える影響の発生又は頻度を示すボクセルヒートマップが作成される。そのような手法は、プリビズに似ているが、プリビズでは通常欠けている、特に、ボリュームをどのように統合すべきかという点に関して、制作ボリュームの予想される挙動と物理的な現実とを即座に比較することができるため、有利であると考えられる。
【0117】
ボリューム管理におけるボクセルの使用は、コマンドシミュレーション管理又はコマンドコンフリクト管理以外の他の興味深い能力を生み出す。いくつかの実施形態では、ボクセルは、コンテンツ制作管理システムがコマンド又は他のメッセージをボクセル又はボクセルセットに送信できるようにする方法で、個別にアドレス指定可能なものであり得る。例えば、ボクセルのグループ(例えば、1つ又は複数のボクセル、ボクセルブロック、ボクセルセットなど)には、IPアドレス(又は他のアドレス指定可能な識別子、場合によっては、明確に定義された名前空間内の)を割り当て、仮想デバイスとして扱うことができる。また、ボクセルのグループは、1つ又は複数の対応するコマンドキューも有し得る。そのような手法は、機材、デバイス、俳優又は他のターゲットエンティティがより非決定論的な方法(例えば、スクリプトなし、アドリブでなど)で動く状況において有利である。ターゲットエンティティがボクセル中を移動する際は、コマンドは、ターゲットエンティティの対応するターゲットデバイスに伝送され得る。従って、この例では、システム(例えば、制御可能デバイス、カメラ、ゲームエンジンなど)がボクセル内においてエンティティの存在を検出するまで、コマンド及びそれらの実行時間が遅延し得る。検出した時点で、システムは、コマンドを実行するようにターゲットデバイスに指示する。
【0118】
結論
本明細書の教示の1つ又は複数の態様を採用することにより、コンテンツ制作と関連付けられる移動を低減することができる。例えば、俳優は、世界中を移動する代わりに、近くのスタジオで撮影できるようになり得る。それに加えて、教示の1つ又は複数の態様を採用することにより、撮影終了時の最終的な製品は、従来のシステムよりも、映画、テレビ番組などの最終的な作品にはるかに近くなり得る。これにより、例えば、ポストプロダクションの時間及びコストが削減され得る。例えば、グリーンスクリーン技術を使用した映画の作成では、およそ400日の作業が必要とされるが、LEDウォール技術を使用した同じ映画の作成では、およそ50日の作業が必要とされ得る。しかし、本明細書で開示される分散スタジオ環境の使用は、従来のシステムと比べて、ポストプロダクションの時間、建物の小道具、スタジオセットアップ構成などを大幅に削減することができる。
【0119】
本明細書で開示される教示は、様々な用途において採用できることを理解すべきである。例えば、本明細書の教示は、主にコンテンツ制作環境に関連して説明されているが、それらの教示は、リモートユーザ、システムなどを含む他の用途においても採用できることを理解すべきである。例えば、それらの教示は、身体トレーニングアプリケーション(例えば、リモートトレーナー及びトレーニーを伴う)、チームトレーニングアプリケーション、教育アプリケーション(例えば、リモート学習アプリケーション、シミュレーションなど)、軍事アプリケーション、ニュース、モーションキャプチャアプリケーション、eスポーツ(例えば、トーナメント、バーチャルカメラオペレータ、リプレイなど)などにおいても採用することができる。
【0120】
前述の説明は、本質的に単なる例示であり、決して本開示、その応用又は使用を制限することを意図するものではない。本開示の広範な教示は、様々な形態で実装することができる。従って、この開示は特定の例を含むが、図面、本明細書及び以下の特許請求の範囲を検討することにより他の変更形態が明らかになるため、本開示の真の範囲は、そのように制限されるべきではない。方法内の1つ又は複数のステップは、本開示の原理を変更しない範囲で、異なる順番で(又は並行して)実行できることを理解すべきである。さらに、実施形態の各々は、特定の特徴を有するものとして上記で説明されているが、本開示の実施形態に関して説明されるそれらの特徴のいずれか1つ又は複数は、他の実施形態のいずれかの特徴において実装すること及び/又はそれらの特徴と組み合わせることができ、それは、その組合せが明示的に説明されていなくとも可能である。言い換えれば、説明される実施形態は、相互に排他的ではなく、1つ又は複数の実施形態を互いに置き換えたものは、この開示の範囲内である。
【0121】
要素間(例えば、モジュール間)の空間的な及び機能的な関係は、「接続された」、「係合した」、「インタフェース接続された」及び「結合された」を含む、様々な用語を使用して説明されている。「直接的な」ものであると明示的に説明されていない限り、上記の開示において第1の要素と第2の要素との間の関係が説明されている場合、その関係は、第1の要素と第2の要素との間に他の要素が介在しない直接的な関係を包含し、また、第1の要素と第2の要素との間に1つ又は複数の要素が(空間的に又は機能的に)介在する間接的な関係も包含する。A、B、Cのうちの少なくとも1つという記載は、非排他的論理ORを使用する論理(A又はB又はC)を意味するものと解釈すべきであり、「Aの少なくとも1つ、Bの少なくとも1つ、及び、Cの少なくとも1つ」を意味するものと解釈すべきではない。
【0122】
図では、矢先によって示される矢印の方向は、一般に、この図解の対象の情報(データ又は命令など)の流れを示す。例えば、要素Aと要素Bが多様な情報を交換するが、図解に関連するのが要素Aから要素Bに伝送される情報である際、矢印は、要素Aから要素Bを指し得る。この一方向の矢印は、他の情報が要素Bから要素Aに伝送されないことを意味するものではない。さらに、要素Aから要素Bに伝送される情報に対し、要素Bは、その情報に対する要求又はその情報の受信確認応答を要素Aに送信することができる。サブセットという用語は、必ずしも適切なサブセットである必要はない。言い換えれば、第1のセットの第1のサブセットは、第1のセットと同一の広がりを有し得る(等しいものであり得る)。
【0123】
この出願では、以下の定義を含めて、「モジュール」という用語又は「コントローラ」という用語は、「回路」という用語に置き換えてもよい。「モジュール」という用語は、コード、ソフトウェア命令又は他の実行可能なデータを実行するプロセッサハードウェア(共有、専用又はグループ)、及び、プロセッサハードウェアによって実行されるコードを格納するメモリハードウェア(共有、専用又はグループ)を指すことも、その一部であることも、それを含むこともあり得る。
【0124】
モジュールは、1つ又は複数のインタフェース回路を含み得る。いくつかの例では、インタフェース回路は、ローカルエリアネットワーク(LAN)又は無線パーソナルエリアネットワーク(WPAN)に接続される有線又は無線インタフェースを実装し得る。LANの例は、電気電子技術者協会(IEEE)規格802.11-2016(WIFI無線ネットワーク規格としても知られている)及びIEEE規格802.3-2015(ETHERNET有線ネットワーク規格としても知られている)である。WPANの例は、IEEE規格802.15.4(ZigBee AllianceからのZIGBEE規格を含む)、及び、Bluetoothスペシャルインタレストグループ(SIG)からのBLUETOOTH無線ネットワーク規格(Bluetooth SIGからのコア仕様バージョン3.0、4.0、4.1、4.2、5.0及び5.1を含む)が挙げられる。
【0125】
モジュールは、インタフェース回路を使用して他のモジュールと通信することができる。本開示では、モジュールは、他のモジュールと論理的に直接通信するものとして描写されているが、様々な実装形態では、モジュールは、通信システムを介して実際に通信することができる。通信システムは、物理的及び/又は仮想ネットワーク機器(ハブ、スイッチ、ルータ及びゲートウェイなど)を含む。いくつかの実装形態では、通信システムは、インターネットなどのワイドエリアネットワーク(WAN)に接続されるか又は横断する。例えば、通信システムは、マルチプロトコルラベルスイッチング(MPLS)及びバーチャルプライベートネットワーク(VPN)などの技術を使用して、インターネット又はポイントツーポイント専用回線上で互いに接続された複数のLANを含み得る。
【0126】
様々な実装形態では、モジュールの機能性は、通信システムを介して接続された複数のモジュールの間で分散することができる。例えば、複数のモジュールは、負荷分散システムによって分散された同じ機能性を実装することができる。さらなる例では、モジュールの機能性は、サーバ(リモート又はクラウドとしても知られている)モジュールとクライアント(又はユーザ)モジュールとの間で分割することができる。例えば、クライアントモジュールは、クライアントデバイス上で実行され、サーバモジュールとネットワーク通信を行う、ネイティブアプリケーション又はウェブアプリケーションを含み得る。
【0127】
コードという用語は、上記で使用される場合、ソフトウェア、ファームウェア及び/又はマイクロコードを含み得、プログラム、ルーチン、関数、クラス、データ構造及び/又はオブジェクト(場合によっては、ソフトウェアスイートを形成し得る)を指し得る。共有プロセッサハードウェアは、複数のモジュールからのいくつかの又はすべてのコードを実行する単一のマイクロプロセッサを包含する。グループプロセッサハードウェアは、追加のマイクロプロセッサと組み合わせて、1つ又は複数のモジュールからのいくつかの又はすべてのコードを実行するマイクロプロセッサを包含する。複数のマイクロプロセッサへの言及は、離散したダイ上の複数のマイクロプロセッサ、単一のダイ上の複数のマイクロプロセッサ、単一のマイクロプロセッサの複数のコア、単一のマイクロプロセッサの複数のスレッド又は上記の組合せを包含する。
【0128】
共有メモリハードウェアは、複数のモジュールからのいくつかの又はすべてのコードを格納する単一のメモリデバイスを包含する。グループメモリハードウェアは、他のメモリデバイスと組み合わせて、1つ又は複数のモジュールからのいくつかの又はすべてのコードを格納するメモリデバイスを包含する。
【0129】
メモリハードウェアという用語は、コンピュータ可読媒体という用語のサブセットである。コンピュータ可読媒体という用語は、本明細書で使用される場合、媒体を通じて(搬送波上でなど)伝播される一時的な電気又は電磁信号を包含しない。従って、コンピュータ可読媒体という用語は、有形の非一時的なものと考えられる。非一時的なコンピュータ可読媒体の非限定的な例は、不揮発性メモリデバイス(フラッシュメモリデバイス、消去可能プログラマブル読み取り専用メモリデバイス又はマスク読み取り専用メモリデバイスなど)、揮発性メモリデバイス(スタティックランダムアクセスメモリデバイス又はダイナミックランダムアクセスメモリデバイスなど)、磁気記憶媒体(アナログ又はデジタル磁気テープ又はハードディスクドライブなど)及び光記憶媒体(CD、DVD又はブルーレイディスクなど)である。
【0130】
この出願で説明される装置及び方法は、コンピュータプログラムにおいて具体化される1つ又は複数の特定の機能を実行するように一般用途コンピュータを構成することによって生み出された特殊用途コンピュータによって、部分的に又は完全に実装することができる。上記で説明される機能ブロック及びフローチャート要素は、熟練した技術者又はプログラマの日常的な作業によってコンピュータプログラムに変換することができるソフトウェア仕様としての役割を果たす。
【0131】
コンピュータプログラムは、少なくとも1つの非一時的なコンピュータ可読媒体に格納されるプロセッサ実行可能命令を含む。また、コンピュータプログラムは、格納されたデータを含むことも、そのデータに依拠することも可能である。コンピュータプログラムは、特殊用途コンピュータのハードウェアと相互作用する基本入出力システム(BIOS)、特殊用途コンピュータの特定のデバイスと相互作用するデバイスドライバ、1つ又は複数のオペレーティングシステム、ユーザアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーションなどを包含し得る。
【0132】
コンピュータプログラムは、(i)HTML(ハイパーテキストマークアップ言語)、XML(拡張可能マークアップ言語)又はJSON(JavaScriptオブジェクト表記)などの解析予定の記述テキスト、(ii)アセンブリコード、(iii)コンパイラによってソースコードから生成されたオブジェクトコード、(iv)インタプリタによる実行のためのソースコード、(v)ジャストインタイムコンパイラによるコンパイル及び実行のためのソースコードなどを含み得る。単なる例として、ソースコードは、C、C++、C#、Objective-C、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Julia、Perl、Pascal、Curl、OCaml、JavaScript(登録商標)、HTML5(ハイパーテキストマークアップ言語第5版)、Ada、ASP(アクティブサーバページ)、PHP(PHP:ハイパーテキストプリプロセッサ)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、Visual Basic(登録商標)、Lua、MATLAB、SIMULINK又はPython(登録商標)を含む言語からの構文を使用して記載することができる。
【手続補正書】
【提出日】2022-11-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
分散スタジオ環境内のコンテンツ制作管理システムであって、
少なくとも1つのコンピュータ可読媒体と、
コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするように構成された少なくとも1つのコマンドインタフェースモジュールであって、前記コンテンツ制作エンティティセットからの各コンテンツ制作エンティティが、前記分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる、少なくとも1つのコマンドインタフェースモジュールと、
前記コマンドインタフェースモジュールと通信する少なくとも1つのコマンドキュー管理モジュールであって、ソフトウェア命令が実行され次第、
前記少なくとも1つのコマンドインタフェースモジュールからコマンドセットを受信する動作であって、前記コマンドセットの各コマンドが、前記コンテンツ制作エンティティセットからのターゲットコンテンツ制作エンティティをターゲットとする、動作と、
前記コマンドセットの各コマンドに同期実行時間を割り当てる動作と、
前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、前記ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューする動作であって、前記コマンドキューが、前記コンピュータ可読媒体に格納される、動作と、
ネットワーク上で、前記コマンドセット又は前記コマンドキューを前記ターゲットコンテンツ制作エンティティに伝送する動作と、
前記ターゲットコンテンツ制作エンティティが、前記コマンドキューからの前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにする動作と
を実行するように構成された少なくとも1つのコマンドキュー管理モジュールと
を含む、システム。
【請求項2】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、1つ又は複数のイネーブル信号を前記ターゲットコンテンツ制作エンティティに伝送することによって、前記ターゲットコンテンツ制作エンティティが前記コマンドセットの各コマンドを実行できるようにする動作を実行するようにさらに構成される、請求項1に記載のシステム。
【請求項3】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、絶対時間に対して同期化される、請求項1又は2に記載のシステム。
【請求項4】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、前記コマンドのセットの別のコマンドの前記同期実行時間に対して同期化される、請求項1又は2に記載のシステム。
【請求項5】
前記コマンドキュー内の前記コマンドセットの前記同期実行時間が、グローバルに同期化される、請求項1又は2に記載のシステム。
【請求項6】
前記コマンドキュー内の前記コマンドセットの少なくとも2つのコマンドが、前記コンテンツ制作ボリュームセットからの少なくとも2つのコンテンツ制作ボリュームに対して同期化され、
前記少なくとも2つのコンテンツ制作ボリュームが、互いに離れている、請求項1~5のいずれか一項に記載のシステム。
【請求項7】
前記少なくとも2つのコンテンツ制作ボリュームが、地理的に分離される、請求項6に記載のシステム。
【請求項8】
前記少なくとも2つのコンテンツ制作ボリュームが、少なくとも5msのレイテンシで分離される、請求項6又は7に記載のシステム。
【請求項9】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから地理的に分離される、請求項1~8のいずれか一項に記載のシステム。
【請求項10】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから少なくとも5msのレイテンシで分離される、請求項1~9のいずれか一項に記載のシステム。
【請求項11】
前記ターゲットコンテンツ制作エンティティが、コンピューティングデバイス、LEDウォール、カメラ、センサ、ジンバル、ロボット、車両、ディスプレイモジュール、制御照明システム、制御可能音響システム、可動ウォール及び可動プラットフォームの少なくとも1つを含む、請求項1~10のいずれか一項に記載のシステム。
【請求項12】
前記コンテンツ制作ボリュームセットが、屋外のセッティング、ステージ、LEDウォール及び街路の少なくとも1つを含む、請求項1~11のいずれか一項に記載のシステム。
【請求項13】
前記コマンドセットが、ネットワークプロビジョンコマンド、仮想化コマンド、センサコマンド、デバイスコマンド、スクリプト、プログラム、人間への命令、コレオグラフィコマンド及びプリビズコマンドの少なくとも1つを含む、請求項1~12のいずれか一項に記載のシステム。
【請求項14】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記少なくとも1つのコンピュータ可読媒体内の前記コマンドキューをインスタンス化する動作を実行するようにさらに構成される、請求項1~13のいずれか一項に記載のシステム。
【請求項15】
前記コマンドキューが、カウントダウンタイマー、カウントアップタイマー、起動基準、許可、公証台帳へのリンク、関連付けられたコマンドキューへのリンク、以前に実行されたキューへのリンク及び将来のキューへのリンクの少なくとも1つを含む、請求項1~14のいずれか一項に記載のシステム。
【請求項16】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記ターゲットコンテンツ制作エンティティと関連付けられたレイテンシを決定する動作を実行するようにさらに構成される、請求項1~15のいずれか一項に記載のシステム。
【請求項17】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記決定されたレイテンシに基づいて、前記コマンドセットの各コマンドに前記同期実行時間を割り当てる動作を実行するように構成される、請求項16に記載のシステム。
【請求項18】
分散スタジオ環境内のコンテンツ制作管理システムにおいてコマンドセットを管理するためのコンピュータ化された方法であって、前記コンテンツ制作管理システムが、コマンドインタフェースモジュールと、前記コマンドインタフェースモジュールと通信するコマンドキュー管理モジュールとを含み、前記コマンドインタフェースモジュールが、コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするように構成され、前記コンテンツ制作エンティティセットからの各コンテンツ制作エンティティが、前記分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる、方法であり、
前記コマンドインタフェースモジュールからコマンドセットを受信することであって、前記コマンドセットの各コマンドが、前記コンテンツ制作エンティティセットのターゲットコンテンツ制作エンティティをターゲットとする、受信することと、
前記コマンドキュー管理モジュールを用いて、前記コマンドセットの各コマンドに同期実行時間を割り当てることと、
前記コマンドキュー管理モジュールを用いて、前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、前記ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューすることと、
ネットワーク上で、前記コマンドキュー管理モジュールから、前記コマンドセット又は前記コマンドキューを前記ターゲットコンテンツ制作エンティティに伝送することと、
前記ターゲットコンテンツ制作エンティティが、前記コマンドキューからの前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにすることと
を含む、方法。
【請求項19】
前記ターゲットコンテンツ制作エンティティが前記コマンドセットの各コマンドを実行できるようにすることが、1つ又は複数のイネーブル信号を前記ターゲットコンテンツ制作エンティティに伝送することを含む、請求項18に記載の方法。
【請求項20】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、絶対時間に対して同期化されるか、又は、前記コマンドのセットの別のコマンドの前記同期実行時間に対して同期化される、請求項18又は19に記載の方法。
【請求項21】
前記コマンドキュー内の前記コマンドセットの少なくとも2つのコマンドが、前記コンテンツ制作ボリュームセットからの少なくとも2つのコンテンツ制作ボリュームに対して同期化され、
前記少なくとも2つのコンテンツ制作ボリュームが、互いに離れている、請求項18~20のいずれか一項に記載の方法。
【請求項22】
前記少なくとも2つのコンテンツ制作ボリュームが、地理的に分離される、請求項21に記載の方法。
【請求項23】
前記少なくとも2つのコンテンツ制作ボリュームが、少なくとも5msのレイテンシで分離される、請求項21又は22に記載の方法。
【請求項24】
前記コマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから地理的に分離される、請求項18~23のいずれか一項に記載の方法。
【請求項25】
前記コマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから少なくとも5msのレイテンシで分離される、請求項18~24のいずれか一項に記載の方法。
【請求項26】
少なくとも1つのコンピュータ可読媒体内の前記コマンドキューをインスタンス化することをさらに含む、請求項18~25のいずれか一項に記載の方法。
【請求項27】
前記ターゲットコンテンツ制作エンティティと関連付けられたレイテンシを決定することをさらに含む、請求項18~26のいずれか一項に記載の方法。
【請求項28】
前記コマンドセットの各コマンドに前記同期実行時間を割り当てることが、前記決定されたレイテンシに基づいて、前記同期実行時間を割り当てることを含む、請求項27に記載の方法。
【手続補正書】
【提出日】2024-01-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
分散スタジオ環境内のコンテンツ制作管理システムであって、
少なくとも1つのコンピュータ可読媒体と、
コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするように構成された少なくとも1つのコマンドインタフェースモジュールであって、前記コンテンツ制作エンティティセットからの各コンテンツ制作エンティティが、前記分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる、少なくとも1つのコマンドインタフェースモジュールと、
前記コマンドインタフェースモジュールと通信する少なくとも1つのコマンドキュー管理モジュールであって、ソフトウェア命令が実行され次第、
前記少なくとも1つのコマンドインタフェースモジュールからコマンドセットを受信する動作であって、前記コマンドセットの各コマンドが、前記コンテンツ制作エンティティセットからのターゲットコンテンツ制作エンティティをターゲットとする、動作と、
前記コマンドセットの各コマンドに同期実行時間を割り当てる動作と、
前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、前記ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューする動作であって、前記コマンドキューが、前記コンピュータ可読媒体に格納される、動作と、
ネットワーク上で、前記コマンドセット又は前記コマンドキューを前記ターゲットコンテンツ制作エンティティに伝送する動作と、
前記ターゲットコンテンツ制作エンティティが、前記コマンドキューからの前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにする動作と
を実行するように構成された少なくとも1つのコマンドキュー管理モジュールと
を含む、システム。
【請求項2】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、1つ又は複数のイネーブル信号を前記ターゲットコンテンツ制作エンティティに伝送することによって、前記ターゲットコンテンツ制作エンティティが前記コマンドセットの各コマンドを実行できるようにする動作を実行するようにさらに構成される、請求項1に記載のシステム。
【請求項3】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、絶対時間に対して同期化される、請求項1又は2に記載のシステム。
【請求項4】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、前記コマンドのセットの別のコマンドの前記同期実行時間に対して同期化される、請求項1又は2に記載のシステム。
【請求項5】
前記コマンドキュー内の前記コマンドセットの前記同期実行時間が、グローバルに同期化される、請求項1又は2に記載のシステム。
【請求項6】
前記コマンドキュー内の前記コマンドセットの少なくとも2つのコマンドが、前記コンテンツ制作ボリュームセットからの少なくとも2つのコンテンツ制作ボリュームに対して同期化され、
前記少なくとも2つのコンテンツ制作ボリュームが、互いに離れている、請求項
1に記載のシステム。
【請求項7】
前記少なくとも2つのコンテンツ制作ボリュームが、地理的に分離される、請求項6に記載のシステム。
【請求項8】
前記少なくとも2つのコンテンツ制作ボリュームが、少なくとも5msのレイテンシで分離される、請求項6又は7に記載のシステム。
【請求項9】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから地理的に分離される、請求項
1に記載のシステム。
【請求項10】
前記少なくとも1つのコマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから少なくとも5msのレイテンシで分離される、請求項
1に記載のシステム。
【請求項11】
前記ターゲットコンテンツ制作エンティティが、コンピューティングデバイス、LEDウォール、カメラ、センサ、ジンバル、ロボット、車両、ディスプレイモジュール、制御照明システム、制御可能音響システム、可動ウォール及び可動プラットフォームの少なくとも1つを含む、請求項
1に記載のシステム。
【請求項12】
前記コンテンツ制作ボリュームセットが、屋外のセッティング、ステージ、LEDウォール及び街路の少なくとも1つを含む、請求項
1に記載のシステム。
【請求項13】
前記コマンドセットが、ネットワークプロビジョンコマンド、仮想化コマンド、センサコマンド、デバイスコマンド、スクリプト、プログラム、人間への命令、コレオグラフィコマンド及びプリビズコマンドの少なくとも1つを含む、請求項
1に記載のシステム。
【請求項14】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記少なくとも1つのコンピュータ可読媒体内の前記コマンドキューをインスタンス化する動作を実行するようにさらに構成される、請求項
1に記載のシステム。
【請求項15】
前記コマンドキューが、カウントダウンタイマー、カウントアップタイマー、起動基準、許可、公証台帳へのリンク、関連付けられたコマンドキューへのリンク、以前に実行されたキューへのリンク及び将来のキューへのリンクの少なくとも1つを含む、請求項
1に記載のシステム。
【請求項16】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記ターゲットコンテンツ制作エンティティと関連付けられたレイテンシを決定する動作を実行するようにさらに構成される、請求項
1に記載のシステム。
【請求項17】
前記少なくとも1つのコマンドキュー管理モジュールが、ソフトウェア命令が実行され次第、前記決定されたレイテンシに基づいて、前記コマンドセットの各コマンドに前記同期実行時間を割り当てる動作を実行するように構成される、請求項16に記載のシステム。
【請求項18】
分散スタジオ環境内のコンテンツ制作管理システムにおいてコマンドセットを管理するためのコンピュータ化された方法であって、前記コンテンツ制作管理システムが、コマンドインタフェースモジュールと、前記コマンドインタフェースモジュールと通信するコマンドキュー管理モジュールとを含み、前記コマンドインタフェースモジュールが、コンテンツ制作エンティティセットに対する少なくとも1つのユーザインタフェースをレンダリングするように構成され、前記コンテンツ制作エンティティセットからの各コンテンツ制作エンティティが、前記分散スタジオ環境内のコンテンツ制作ボリュームセットからのコンテンツ制作ボリュームと関連付けられる、方法であり、
前記コマンドインタフェースモジュールからコマンドセットを受信することであって、前記コマンドセットの各コマンドが、前記コンテンツ制作エンティティセットのターゲットコンテンツ制作エンティティをターゲットとする、受信することと、
前記コマンドキュー管理モジュールを用いて、前記コマンドセットの各コマンドに同期実行時間を割り当てることと、
前記コマンドキュー管理モジュールを用いて、前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って、前記ターゲットコンテンツ制作エンティティと関連付けられたコマンドキューにエンキューすることと、
ネットワーク上で、前記コマンドキュー管理モジュールから、前記コマンドセット又は前記コマンドキューを前記ターゲットコンテンツ制作エンティティに伝送することと、
前記ターゲットコンテンツ制作エンティティが、前記コマンドキューからの前記コマンドセットの各コマンドを、そのそれぞれの同期実行時間に従って実行できるようにすることと
を含む、方法。
【請求項19】
前記ターゲットコンテンツ制作エンティティが前記コマンドセットの各コマンドを実行できるようにすることが、1つ又は複数のイネーブル信号を前記ターゲットコンテンツ制作エンティティに伝送することを含む、請求項18に記載の方法。
【請求項20】
前記コマンドセットの少なくとも1つのコマンドの前記同期実行時間が、絶対時間に対して同期化されるか、又は、前記コマンドのセットの別のコマンドの前記同期実行時間に対して同期化される、請求項18又は19に記載の方法。
【請求項21】
前記コマンドキュー内の前記コマンドセットの少なくとも2つのコマンドが、前記コンテンツ制作ボリュームセットからの少なくとも2つのコンテンツ制作ボリュームに対して同期化され、
前記少なくとも2つのコンテンツ制作ボリュームが、互いに離れている、請求項
18に記載の方法。
【請求項22】
前記少なくとも2つのコンテンツ制作ボリュームが、地理的に分離される、請求項21に記載の方法。
【請求項23】
前記少なくとも2つのコンテンツ制作ボリュームが、少なくとも5msのレイテンシで分離される、請求項21又は22に記載の方法。
【請求項24】
前記コマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから地理的に分離される、請求項
18に記載の方法。
【請求項25】
前記コマンドインタフェースモジュールが、前記コンテンツ制作ボリュームセットの少なくとも1つのコンテンツ制作ボリュームから少なくとも5msのレイテンシで分離される、請求項
18に記載の方法。
【請求項26】
少なくとも1つのコンピュータ可読媒体内の前記コマンドキューをインスタンス化することをさらに含む、請求項
18に記載の方法。
【請求項27】
前記ターゲットコンテンツ制作エンティティと関連付けられたレイテンシを決定することをさらに含む、請求項
18に記載の方法。
【請求項28】
前記コマンドセットの各コマンドに前記同期実行時間を割り当てることが、前記決定されたレイテンシに基づいて、前記同期実行時間を割り当てることを含む、請求項27に記載の方法。
【国際調査報告】