JP7343588B2 - System and method for customizing and compositing video feeds on client devices - Google Patents
System and method for customizing and compositing video feeds on client devices Download PDFInfo
- Publication number
- JP7343588B2 JP7343588B2 JP2021536784A JP2021536784A JP7343588B2 JP 7343588 B2 JP7343588 B2 JP 7343588B2 JP 2021536784 A JP2021536784 A JP 2021536784A JP 2021536784 A JP2021536784 A JP 2021536784A JP 7343588 B2 JP7343588 B2 JP 7343588B2
- Authority
- JP
- Japan
- Prior art keywords
- video feed
- user
- data
- data elements
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/61—Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
- H04H60/64—Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 for providing detail information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8126—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
- H04N21/8133—Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video programme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H2201/00—Aspects of broadcast communication
- H04H2201/30—Aspects of broadcast communication characterised by the use of a return channel, e.g. for collecting users' opinions, for returning broadcast space/time information or for requesting data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/35—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
- H04H60/46—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for recognising users' preferences
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
関連出願への相互参照
本願は、2019年3月15日出願の米国仮特許出願第62/819,428号「SYSTEMS AND METHODS FOR COMPOSITING A VIDEO FEED AT A CLIENT DEVICE」に基づく優先権を主張する。
CROSS REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 62/819,428, “SYSTEMS AND METHODS FOR COMPOSITING A VIDEO FEED AT A CLIENT DEVICE,” filed March 15, 2019.
本願は、2020年1月20日出願の米国特許出願第16/747,440号「SYSTEMS AND METHODS FOR PARTITIONING A VIDEO FEED TO SEGMENT LIVE PLAYER ACTIVITY」の一部継続出願であり、その特許出願は、2019年1月22日出願の米国仮特許出願第62/795,020号「SYSTEMS AND METHODS FOR PARTITIONING A VIDEO FEED TO SEGMENT LIVE PLAYER ACTIVITY」に基づく優先権を主張し、2019年2月6日出願の米国仮特許出願第62/802,186号「SYSTEMS AND METHODS FOR PARTITIONING A VIDEO FEED TO SEGMENT LIVE PLAYER ACTIVITY」に基づく優先権を主張する。上述の出願は、すべての目的のために参照によって本明細書に組み込まれる。 This application is a continuation in part of U.S. patent application Ser. Patent application filed in 2019 Claiming priority based on U.S. Provisional Patent Application No. 62/795,020 “SYSTEMS AND METHODS FOR PARTITIONING A VIDEO FEED TO SEGMENT LIVE PLAYER ACTIVITY” filed on January 22, 2019, February 2019 US filing on the 6th Claims priority under Provisional Patent Application No. 62/802,186 ``SYSTEMS AND METHODS FOR PARTITIONING A VIDEO FEED TO SEGMENT LIVE PLAYER ACTIVITY.'' The above-mentioned applications are herein incorporated by reference for all purposes.
ニュース放送ならびにスポーツイベント(アメフトおよびサッカーなど)のビデオが、エンターテインメントで最も人気のある形態のいくつかである。ユーザデバイス上でビデオフィードをストリーミングする方法が人気である。従来のビデオストリームは、リモートでコンパイルされて世界中に通信される複数のデータ層を利用する。例えば、放送室が、ビデオフィード、オーディオフィード、および、グラフィクスを受信してコンパイルすることでコンパイル済みビデオフィードを作成し、それは、後に、リモートデバイスへ通信される。コンパイル済みビデオフィードは、オーディオおよびグラフィクをフィードのビデオ部分から分離できないので、大量のデータを消費する。さらに、エンドユーザは、ビデオフィードの一部を任意選択的に受信する代わりに、コンパイル済みビデオフィードを受信するか、または、ビデオフィードを全く受信しないことを選ぶか、いずれかを実行できるので、ビデオフィードをパーソナライズできない。 News broadcasts and videos of sporting events (such as American football and soccer) are some of the most popular forms of entertainment. Streaming video feeds on user devices is a popular method. Traditional video streams utilize multiple layers of data that are compiled remotely and communicated around the world. For example, a broadcast room receives and compiles a video feed, an audio feed, and graphics to create a compiled video feed, which is then communicated to a remote device. Compiled video feeds consume large amounts of data because the audio and graphics cannot be separated from the video portion of the feed. Additionally, instead of optionally receiving a portion of the video feed, the end user may choose to either receive the compiled video feed or not receive the video feed at all; Unable to personalize video feed.
カスタマイズされた合成ビデオフィードを提供するための技術(システム、プロセッサ、および、コンピュータプログラム製品など)が開示されている。様々な実施形態において、ビデオフィードをカスタマイズおよび合成するための処理は、リモートサーバからバックグラウンドビデオフィードを受信し、1または複数のユーザ固有の特徴に関連付けられているコンテンツを受信し、受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定すること、を備える。処理は、1または複数のデータ要素の少なくとも対応する部分をバックグラウンドビデオフィードの対応する部分に整合させることによることを含み、1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成し、クライアントデバイスのディスプレイデバイス上に合成ビデオフィードを表示すること、を備える。 Techniques (such as systems, processors, and computer program products) are disclosed for providing customized synthetic video feeds. In various embodiments, a process for customizing and synthesizing a video feed includes: receiving a background video feed from a remote server; receiving content associated with one or more user-specific characteristics; determining one or more data elements based at least in part on the content. The processing includes by matching at least corresponding portions of the one or more data elements to corresponding portions of the background video feed to create a composite video feed customized to the one or more user-specific characteristics. generating and displaying a composite video feed on a display device of a client device.
様々な実施形態において、ビデオフィードをカスタマイズおよび合成するための処理は、バックグラウンドビデオフィードをリモートサーバから受信し、バックグラウンドビデオフィードの第1フレームに関連付けられているタイムスタンプ付きメタデータから第1フレームの第1タイムスタンプを決定し、1または複数のユーザ固有の特徴に関連付けられているコンテンツを受信すること、を備える。コンテンツは、バックグラウンドビデオフレームに関連付けられたタイムスタンプ付きメタデータと、第1タイムスタンプによって決定された時間範囲内にあるタイムスタンプを有するデータと、を含む。処理は、受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定することを備える。処理は、それぞれのデータ要素のタイムスタンプとそれぞれのバックグラウンドビデオフレームのタイムスタンプとの一致に少なくとも部分的に基づいて、1または複数のデータ要素の少なくとも対応する部分をバックグラウンドビデオフィードの対応する部分に整合させることによることを含み、1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成することを備える。処理は、クライアントデバイスのディスプレイデバイス上に合成ビデオフィードを表示することを備える。生成された合成ビデオフィードは、それぞれのバックグラウンドビデオフレームと時間の一致するデータ要素と各時間整合済みフレームがオーバレイされている時間整合済みフレームを含む。本明細書で開示されている技術を用いてカスタマイズおよびコンパイルされたビデオは、エンドユーザに合わせてパーソナライズされている。 In various embodiments, a process for customizing and compositing a video feed receives a background video feed from a remote server and extracts a first frame from timestamped metadata associated with a first frame of the background video feed. determining a first timestamp of a frame and receiving content associated with one or more user-specific characteristics. The content includes time-stamped metadata associated with the background video frame and data having a timestamp within a time range determined by the first timestamp. The processing comprises determining one or more data elements based at least in part on the received content. Processing includes determining at least a corresponding portion of the one or more data elements from a corresponding background video feed based at least in part on a match between a timestamp of the respective data element and a timestamp of the respective background video frame. The method includes generating a composite video feed customized to one or more user-specific characteristics, including by matching the portions. The processing comprises displaying the composite video feed on a display device of the client device. The generated composite video feed includes time-aligned frames in which each time-aligned frame is overlaid with a data element that is time-coincident with a respective background video frame. Videos customized and compiled using the techniques disclosed herein are personalized to the end user.
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。 Various embodiments of the invention are disclosed in the following detailed description and accompanying drawings.
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な記憶媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。 The present invention relates to a process, an apparatus, a system, a composition of matter, a computer program product embodied on a computer readable storage medium, and/or a processor (stored in and/or by a memory coupled to a processor). It may be implemented in a variety of forms, including a processor configured to execute the provided instructions. These implementations, or any other forms that the invention may take, are referred to herein as techniques. In general, the order of steps in the disclosed processes may be varied within the scope of the invention. Unless otherwise noted, a component such as a processor or memory described as being configured to perform a task may be referred to as a general component temporarily configured to perform a task at a given time; It may be implemented as a specific component manufactured to perform a task. As used herein, the term "processor" shall refer to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。 A detailed description of one or more embodiments of the invention is provided below with reference to drawings that illustrate the principles of the invention. Although the invention has been described in connection with such embodiments, it is not limited to any one embodiment. The scope of the invention is limited only by the claims, and the invention includes many alternatives, modifications, and equivalents. In the following description, many specific details are set forth in order to provide a thorough understanding of the invention. These details are for purposes of illustration, and the invention may be practiced according to the claims without some or all of these specific details. For the sake of brevity, technical matters well known in the art related to the present invention have not been described in detail so as not to unnecessarily obscure the present invention.
図1は、カスタマイズされた合成ビデオフィードを提供するためのシステムの一実施形態を示すブロック図である。このシステム例は、1または複数のクライアントデバイス150と、サーバ100と、1または複数のコンテンツクリエータ140と、を備える。各クライアントデバイスおよびコンタクトクリエータは、通信インターフェース(図示せず)を介してサーバ100と通信するよう構成されている。
FIG. 1 is a block diagram illustrating one embodiment of a system for providing customized composite video feeds. The example system includes one or
1または複数のユーザデバイス150は、本開示の様々なシステムとのエンドユーザ相互作用を円滑にする。ユーザデバイスは、スマートフォン、タブレット、OTTボックス、デスクトップコンピュータ、または、スマートTVを含むがそれらに限定されない任意のタイプのコンピュータデバイスであってよい。ユーザデバイスの一例を図16に示す。エンドユーザは、ニュース放送、ライブスポーツイベント、または、テレビ番組などのビデオコンテンツを見るために、サーバ100へ要求を送信することによって、他のシステム構成要素と相互作用する。サーバは、要求されたコンテンツで応答し、ビデオフィードの一部が、後に詳述する技術を用いて特定のユーザの好みに合わせてカスタマイズされうる。様々な実施形態において、サーバ100は、ユーザプロフィール102を格納しており、ユーザプロフィール102は、(例えば、登録時の)ユーザ指定の興味、閲覧履歴などのユーザの習慣、および、周知の機械学習技術などの様々な技術を用いて経時的に学習されうるその他のユーザの特徴、に基づきうるユーザの好みを記録する。また、サーバ100は、定期的にクライアントデバイスへプッシュされるかまたはデータのクエリに応答してクライアントデバイスへ送信されうるコンテンツを格納している。バックグラウンドコンテンツ104は、後に詳述するように、コンテンツクリエータ140によって作成またはキャプチャされたコンテンツ(バックグラウンドビデオフィードなど)を含む。さらなるコンテンツ109は、バックグラウンドビデオフィードを増強するために利用できるデータ要素(インタラクティブデータ要素など)を含む。データ要素は、バックグラウンドビデオフィードから抽出されてよく(例えば、アメフトチームの特定のプレイヤーの場面を分離または強調する)、生成されてよく(例えば、試合/プレイヤーの統計値)、もしくは、それらの組み合わせで作成されてよい。
One or
一例として、ニュース放送を視聴するユーザAが、X社のライブの株価に関心を持っているとする。ユーザAのデバイス内に、ニュース放送が提示され、A社の株価を表示するようカスタマイズされる。ユーザBは、X社には関心がない代わりにY社に関心があると仮定する。ユーザBのデバイス内に、ニュース放送が提示され、Y社の株価を表示するようカスタマイズされる。別の例として、ユーザAが、ライブのアメフトの試合を視聴し、プレイヤーUに関心を持っているとする。ユーザAのデバイス内に、アメフトの試合が提示され、例えば、フィールド上のプレイヤーUの動きに焦点を当てて試合の場面を表示することによって、プレイヤーUを強調するようカスタマイズされる。ユーザBは、プレイヤーUに関心がない代わりにプレイヤーVに関心を持っている。ユーザBのデバイス内に、アメフトの試合が提示され、プレイヤーVを強調するようカスタマイズされる。 As an example, assume that user A who watches a news broadcast is interested in the live stock price of company X. A newscast is presented within User A's device and customized to display Company A's stock price. Assume that user B is not interested in company X but is interested in company Y. In User B's device, a newscast is presented and customized to display Company Y's stock price. As another example, suppose user A is watching a live American football game and is interested in player U. An American football game is presented within User A's device and customized to emphasize Player U, for example, by displaying footage of the game focusing on Player U's movements on the field. User B is not interested in player U, but is interested in player V. In User B's device, an American football game is presented and customized to highlight Player V.
1または複数のコンタクトクリエータ140は、クライアントデバイス150に分配されるコンテンツ(ビデオ、オーディオ、テキスト、画像、など)を作成する。非限定的な例として、コンテンツクリエータは、金融ニュースなどのニュース放送、リアリティテレビなど様々な分野のテレビ番組、および、スポーツの生中継などのスポーツイベントを作り出す。例えば、1または複数のカメラ140-1~140-Sが、本開示のシステムによって後に利用されるイベント(ライブイベントであってよい)の画像および/またはビデオをキャプチャする。いくつかの実施形態において、カメラ140は、1または複数の高解像度カメラを含む。非限定的な例として、1または複数の高解像度カメラは、1080p解像度~8K解像度のカメラを含む。
One or
上述の構成要素は、任意選択的に通信ネットワークを通して、相互接続されている。破線のボックス内の要素は、任意選択的に単一のシステムまたはデバイスとして組み合わせられる。もちろん、コンピュータシステムの他のトポロジも可能である。例えば、いくつかの実施例において、図示したデバイスおよびシステムの内のいずれかが、ネットワーク内でリンクされているいくつかのコンピュータシステムを実際に構成してもよく、もしくは、クラウドコンピューティング環境内の仮想マシンまたはコンテナであってもよい。さらに、いくつかの実施形態において、物理通信ネットワークに依存するのではなく、図のデバイスおよびシステムは、互いの間で情報を無線で伝送する。したがって、図1に示したトポロジ例は、単に、当業者にとって容易に理解されるように本開示の一実施形態の特徴を記載するためのものである。 The components described above are interconnected, optionally through a communications network. Elements within dashed boxes are optionally combined into a single system or device. Of course, other topologies of computer systems are also possible. For example, in some embodiments, any of the illustrated devices and systems may actually constitute several computer systems that are linked in a network or in a cloud computing environment. It may be a virtual machine or a container. Further, in some embodiments, rather than relying on a physical communication network, the illustrated devices and systems wirelessly transmit information between each other. Accordingly, the example topology shown in FIG. 1 is merely to describe the features of one embodiment of the present disclosure as will be readily understood by those skilled in the art.
システムの一般的なトポロジについて説明したので、以下では、クライアントデバイスでビデオフィード(例えば、ビデオプレゼンテーション)を合成およびカスタマイズするための方法について説明する。 Having described the general topology of the system, methods for compositing and customizing video feeds (eg, video presentations) at client devices are described below.
図2は、ビデオフィードをカスタマイズおよび合成するための処理の一実施形態を示すフローチャートである。処理は、図1に示したユーザデバイス1(150-1)またはユーザデバイスR(150-R)などのクライアントデバイスによって実行されうる。 FIG. 2 is a flowchart illustrating one embodiment of a process for customizing and compositing video feeds. The processing may be performed by a client device such as user device 1 (150-1) or user device R (150-R) shown in FIG.
処理は、バックグラウンドビデオフィードを受信する工程で始まる(工程202)。バックグラウンドビデオフィードは、ライブイベント、ニュース放送、または、広告を含むがそれらに制限されない任意のタイプのコンテンツであってよい。ライブイベントのビデオフィードは、ライブイベントが行われている間に受信され、または、そのイベントのビデオフィードは、ライブイベントの記録など、ライブイベントが行われた後に受信される(例えば、そのビデオフィードは、ビデオオンデマンド(VOD)である)。ニュース放送の例については、図4Aおよび図4Bに関してさらに説明する。ライブスポーツイベントの例については、図5A~図5Cに関してさらに説明する。 Processing begins with receiving a background video feed (step 202). The background video feed may be any type of content including, but not limited to, live events, news broadcasts, or advertisements. A video feed of a live event may be received while the live event is occurring, or a video feed of that event may be received after the live event has occurred, such as a recording of the live event (e.g., the video feed of the live event is is video on demand (VOD)). The news broadcast example is further described with respect to FIGS. 4A and 4B. The example of a live sporting event is further described with respect to FIGS. 5A-5C.
いくつかの実施形態において、ビデオフィードは、オーディオ部分(例えば、それぞれの放送デバイス140によってキャプチャされたオーディオ)を含む。したがって、いくつかの実施形態において、それぞれのクライアントデバイスによって受信されるビデオフィードは、フレームおよびオーディオの合成物を含む(例えば、クライアントデバイスによって受信されるビデオフィードは、オーディオ部分および画像部分を含む)。しかしながら、本開示は、それに限定されない。例えば、いくつかの実施形態において、それぞれのクライアントデバイスは、ビデオフィード(例えば、複数のフレーム)およびオーディオフィード(例えば、複数のオーディオセグメントまたは部分)を別個のフィードとして受信する。それぞれのユーザデバイスでフィードを受信する前にビデオフィードのオーディオ部分を分けることは、ユーザデバイスのエンドユーザが、そのユーザのユーザプリファレンス設定に応じて、合成ビデオフィードのオーディオ部分および/またはクローズドキャプション部分をカスタマイズ、有効化、または、無効化することを可能にする。例えば、音声トラック(様々な言語、バックグラウンドミュージック、ナレーションなど)が、ユーザの特徴に合わせて調整されうる。バックグラウンドビデオフィードは、工程204で受信されるコンテンツと一緒に受信されてもよいし、工程204で受信されるコンテンツとは別個に(関連せずに)受信されてもよい。 In some embodiments, the video feed includes an audio portion (eg, audio captured by the respective broadcast device 140). Thus, in some embodiments, the video feed received by each client device includes a composite of frames and audio (e.g., the video feed received by the client device includes an audio portion and an image portion). . However, the present disclosure is not limited thereto. For example, in some embodiments, each client device receives a video feed (eg, frames) and an audio feed (eg, audio segments or portions) as separate feeds. Separating the audio portion of a video feed before receiving the feed on each user device allows the end user at the user device to separate the audio portion of the composite video feed and/or closed captioning, depending on that user's user preference settings. Allows you to customize, enable or disable parts. For example, audio tracks (different languages, background music, narration, etc.) can be tailored to user characteristics. The background video feed may be received together with the content received at step 204, or may be received separately from (unrelated to) the content received at step 204.
処理は、1または複数のユーザ固有の特徴に関連付けられているコンテンツを受信する(工程204)。クライアントデバイスは、リモートサーバからコンテンツを受信する。カスタマイズは、サーバおよび/またはクライアントデバイスによって実行されうる。いくつかの実施形態において、クライアントデバイスは、ユーザ固有の特徴に基づいて、どのコンテンツを要求するのかを決定する。例えば、クライアントデバイスは、ローカルでユーザの好みに関連付けられているコンテンツをルックアップし、興味のあるコンテンツの要求をサーバへ送信する。いくつかの実施形態において、ユーザ固有の特徴に基づいてどのコンテンツを送信するのかを決定するのは、サーバである。例えば、クライアントは、ユーザ識別子(ユーザ名または人口層など)をサーバに送信し、サーバは、ユーザの特徴をその特定のユーザにとって興味のあるコンテンツに対応付けるルックアップテーブルまたはその他のデータベースを利用することで、ユーザ識別子を用いて、ユーザにとって興味のあるコンテンツをルックアップする。 The process receives content associated with one or more user-specific characteristics (step 204). A client device receives content from a remote server. Customization may be performed by the server and/or client device. In some embodiments, the client device determines what content to request based on user-specific characteristics. For example, a client device looks up content that is locally associated with a user's preferences and sends a request for interesting content to a server. In some embodiments, it is the server that decides what content to send based on user-specific characteristics. For example, a client may send a user identifier (such as a username or demographic) to a server, and the server may utilize a lookup table or other database that maps user characteristics to content of interest to that particular user. The user identifier is then used to look up content that is of interest to the user.
様々な実施形態において、コンテンツは、サーバおよび/またはユーザ/クライアントデバイスの設定によって決定された間隔で、サーバによってクライアントデバイスへプッシュされる。様々な実施形態において、コンテンツは、コンテンツ要求を用いてクライアントデバイスによってサーバからプルされる。例えば、クライアントデバイスは、通信インターフェースを用いて、リモートサーバにコンテンツを要求する。様々な実施形態において、要求は、ユーザがユーザデバイス(またはユーザデバイス上のクライアントアプリケーション)を使い始めた時に、ユーザの代わりに自動でなされる。例えば、ユーザが、ファンタジースポーツアプリ、テレビ番組視聴アプリ、などにログインした時に、コンテンツの要求がサーバへ中継される。様々な実施形態において、要求は、クライアントデバイス上のユーザインターフェースを介してユーザによって開始される。例えば、クライアントデバイスを用いてテレビ番組を観ている間に、ユーザが、興味のある対象(スポーツイベントにおけるプレイヤーまたはチーム、会社株式のティッカーシンボル、リアリティーTVショーの登場人物など)を選択して、興味のある対象に関するコンテンツ(追加情報)の要求を生成する。 In various embodiments, content is pushed by the server to the client device at intervals determined by the server and/or user/client device settings. In various embodiments, content is pulled from a server by a client device using a content request. For example, a client device uses a communication interface to request content from a remote server. In various embodiments, the request is made automatically on behalf of the user when the user begins using the user device (or a client application on the user device). For example, when a user logs into a fantasy sports app, TV program viewing app, etc., a request for content is relayed to a server. In various embodiments, the request is initiated by a user via a user interface on a client device. For example, while watching a television program using a client device, a user may select an object of interest (such as a player or team at a sporting event, the ticker symbol of a company's stock, or a character on a reality TV show). Generate requests for content (additional information) about your subject of interest.
いくつかの実施形態において、コンピュータシステムから受信される複数のデータ要素は、クエリによって要求された複数のデータ要素を含む。しかしながら、本開示は、それに限定されない。例えば、いくつかの実施形態において、第1複数のデータ要素が、クエリによって要求され、それに従って、第2複数のデータの要素が、コンピュータシステムから受信される(例えば、第1複数のデータ要素の内の一部のデータ要素のみが利用可能である)。それでも、後に詳述するように、いくつかの実施形態において、クエリに応答して受信される各データ要素は、特定の時間範囲内にある(例えば、含まれる)関連タイムスタンプ付きメタデータを含む(例えば、時間範囲は、特定の日の1:04PMから1:06PMまでであり、それに従って、クエリの結果として受信されるデータ要素は、その特定の日の1:04PMから1:06PMまでの間の時間に関連付けられたメタデータを含む)。いくつかの実施形態において、複数のデータ要素は、図1、図6、または、図10に示すシステムの1または複数のデータストア(例えば、履歴トレーニングデータストア214、状況ストア228など)から受信される。いくつかの実施形態において、複数のデータ要素は、ユーザデバイス上にローカルに格納されている。いくつかの実施形態において、複数のデータ要素は、ユーザデバイス上にローカルに格納されている1または複数のデータ要素と、図1、図6、または、図10に示すコンピュータシステム上(例えば、履歴データストア214、状況ストア228など)に格納されている1または複数のデータ要素と、を含む。
In some embodiments, the plurality of data elements received from the computer system include the plurality of data elements requested by the query. However, the present disclosure is not limited thereto. For example, in some embodiments, a first plurality of data elements is requested by a query, and accordingly, a second plurality of data elements are received from the computer system (e.g., only some data elements are available). Nevertheless, as detailed below, in some embodiments each data element received in response to a query includes associated timestamped metadata that is within (e.g., includes) a particular time range. (For example, a time range is from 1:04 PM to 1:06 PM on a particular day, and accordingly, the data elements received as a result of a query are from 1:04 PM to 1:06 PM on that particular day.) (including metadata associated with the time in between). In some embodiments, the plurality of data elements are received from one or more data stores (e.g., historical
処理は、受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定する(工程206)。データ要素は、クライアントデバイスのプリファレンス設定(例えば、ユーザプリファレンス設定)に基づいて決定されうる。例えば、ユーザプリファレンス設定が、ユーザが気象に関心を持っていることを示すと、気象データ要素が、合成ビデオフィード内に含められる。データ要素は、インタラクティブであってよく、ユーザが、データ要素を選択することで、ユーザの好みに合わせてカスタマイズされた追加コンテンツを閲覧することを可能にする。したがって、クエリは、ビデオフィードのフレームとオーバレイされる気象データ要素の要求を含む。ユーザプリファレンス設定は、ユーザデバイス内またはリモートサーバに格納されうる。 Processing determines one or more data elements based at least in part on the received content (step 206). The data element may be determined based on client device preference settings (eg, user preference settings). For example, if user preference settings indicate that the user is interested in the weather, weather data elements are included in the composite video feed. The data elements may be interactive, allowing the user to view additional content customized to the user's preferences by selecting the data element. Thus, the query includes a request for weather data elements to be overlaid with frames of the video feed. User preference settings may be stored within the user device or on a remote server.
ユーザプリファレンス設定は、様々な方法で決定されうる。例えば、機械学習処理が、或る期間にわたってユーザの活動を分析することによって特定の設定の傾向を決定する。別の例として、ビデオフィード上にオーバレイされたグラフィックデータ要素のアフォーダンス領域とのユーザ相互作用が、ユーザの好みを示唆する。ユーザは、グラフィックデータ要素(例えば、埋め込みグラフィック)と相互作用して(ビデオフィード上のスクローリングティッカー(テロップ)をタッチするなどして)、そのティッカーに関してさらなる情報を得るか、または、グラフィックデータ要素の状態を可視状態からOFF状態へと変更する。ユーザプリファレンス設定に従ったクエリ要求データ要素を有することで、合成ビデオフィードをそれぞれのユーザに対してパーソナライズすることが可能になる。また、ユーザが除外すること(すなわち要求しないこと)を示唆するデータ要素はユーザデバイスによって受信されないので、このクエリは、それぞれのユーザデバイスによって受信されるデータの量を最適化する。さらに、エンドユーザが合成ビデオフィードと相互作用して、どのデータ要素がフィード上にオーバレイされるのかを変更するのを可能にすることで、エンドユーザが、視聴経験をさらにパーソナライズすることを可能にする。 User preference settings may be determined in a variety of ways. For example, a machine learning process determines trends in particular settings by analyzing user activity over a period of time. As another example, user interaction with affordance areas of graphical data elements overlaid on a video feed suggests user preferences. A user can interact with a graphic data element (e.g., an embedded graphic) (such as by touching a scrolling ticker on a video feed) to obtain further information about the ticker or change the state from visible state to OFF state. Having query request data elements according to user preference settings allows the composite video feed to be personalized for each user. This query also optimizes the amount of data received by each user device, since data elements that the user suggests that they exclude (ie, do not request) are not received by the user devices. Additionally, it allows end users to further personalize their viewing experience by allowing them to interact with the synthetic video feed and change which data elements are overlaid on the feed. do.
処理は、1または複数のデータ要素の少なくとも対応する部分をバックグラウンドビデオフィードの対応する部分に整合させることなどによって、ユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成する(工程208)。データ要素は、後に詳述するように、非同期的にまたは時間同期的に、バックグラウンドビデオフィードの対応する部分に整合されうる。 Processing generates a composite video feed customized to user-specific characteristics, such as by matching at least corresponding portions of the one or more data elements to corresponding portions of the background video feed (step 208). . Data elements may be aligned to corresponding portions of the background video feed, either asynchronously or time-synchronously, as detailed below.
処理は、クライアントデバイスのディスプレイデバイス上に合成ビデオフィードを表示する(工程209)。合成ビデオフィードは、一般聴衆に放送されるバックグラウンドビデオフィードと併せて(例えば、オーバレイされて)特定のユーザの興味に合わせて調整された情報を表示するために、クライアントデバイスのユーザインターフェース上に出力されうる。 The process displays the composite video feed on the display device of the client device (step 209). The composite video feed is displayed on a client device's user interface in conjunction (e.g., overlaid) with a background video feed that is broadcast to a general audience to display information tailored to the interests of a particular user. can be output.
いくつかの実施形態において、通信(受信工程202および206ならびに要求工程204)は、第1交換プロトコルを用いて実行され、そのプロトコルは、バックグラウンドビデオフィードの一部を受信し、データ要素および/またはビデオフィードの一部を組み立てて、合成ビデオフィード(例えば、ビデオプレゼンテーション)を形成するための通信システムを提供する。いくつかの実施形態において、第1交換プロトコルは、ハイパーテキストトランスファープロトコル(HTTP)ライブストリーミングプロトコル(例えば、HLSプロトコル)である。いくつかの実施形態において、第1交換プロトコルは、リアルタイムメッセージングプロトコル(RTMP)である。いくつかの実施形態において、第1交換プロトコルは、動的な期間(例えば、10秒から60秒までの期間)だけビデオフィードの受信を遅延させる(例えば、受信に待ち時間を生じさせる)。
In some embodiments, the communication (receiving
いくつかの実施形態において、バックグラウンドビデオフィードは、連続的に受信される(例えば、それぞれのクライアントデバイスが、ビデオフィードを受信するために、図1に示したコンピュータシステムと連続的に通信する)。いくつかの実施形態において、ビデオフィードは、パケットまたはブロックでそれぞれのユーザデバイスによって受信される(例えば、それぞれのユーザデバイスが、10秒のブロックでビデオフィードを受信する)。様々な実施形態において、時間同期された整合が、図15に関して詳述するように実行される。 In some embodiments, the background video feed is received continuously (e.g., each client device continuously communicates with the computer system shown in FIG. 1 to receive the video feed). . In some embodiments, the video feed is received by each user device in packets or blocks (eg, each user device receives the video feed in 10 second blocks). In various embodiments, time-synchronized alignment is performed as detailed with respect to FIG.
いくつかの実施形態において、ビデオフィードの受信、コンテンツ要求の送信、または、それらの組みあわせは、クライアントデバイスの帯域幅の決定に従って実行される。例えば、いくつかの実施形態において、クライアントデバイスの帯域幅は、動的であり、複数の要因(例えば、ネットワークの帯域幅、放送システムの帯域幅、など)に応じて変化する。 In some embodiments, receiving a video feed, sending a content request, or a combination thereof is performed according to a client device's bandwidth determination. For example, in some embodiments, the client device's bandwidth is dynamic and changes depending on multiple factors (eg, network bandwidth, broadcast system bandwidth, etc.).
いくつかの実施形態において、方法は、さらに、クライアントデバイス(例えば、ユーザデバイス150)の帯域幅を用いて、視覚化バッファ(例えば、視覚化バッファモジュール)のサイズを決める工程を備える。いくつかの実施形態において、クライアントデバイスの帯域幅を用いて視覚化バッファのサイズを決める工程は、帯域幅の低下の判定に応答して視覚化バッファのサイズを大きくする。さらに、クライアントデバイスの帯域幅を用いて視覚化バッファのサイズを決定する工程は、帯域幅の改善の判定に応答して視覚化バッファのサイズを小さくする。この視覚化バッファのサイズ決定は、或る数の時間整合済みフレームが視覚化バッファへ動的にポストされることを可能にする。例えば、いくつかの実施形態において、視覚化バッファにポストされる時間整合済みフレームの数を減らすと、クライアントデバイスへの負荷が減る。 In some embodiments, the method further comprises sizing the visualization buffer (eg, visualization buffer module) using the bandwidth of the client device (eg, user device 150). In some embodiments, sizing the visualization buffer using the client device's bandwidth increases the size of the visualization buffer in response to the determination of reduced bandwidth. Furthermore, determining the size of the visualization buffer using the client device's bandwidth reduces the size of the visualization buffer in response to determining the bandwidth improvement. This visualization buffer sizing allows a certain number of time-aligned frames to be dynamically posted to the visualization buffer. For example, in some embodiments, reducing the number of time-aligned frames posted to the visualization buffer reduces load on the client device.
いくつかの実施形態において、ビデオフィードの受信、クエリの送信、または、それらの組みあわせは、クライアントデバイスの帯域幅の決定に従って実行される。例えば、いくつかの実施形態において、クライアントデバイスの帯域幅は、動的であり、複数の要因(例えば、ネットワーク106の帯域幅、放送システム150の帯域幅、など)に応じて変化する。
In some embodiments, receiving a video feed, sending a query, or a combination thereof is performed according to a client device's bandwidth determination. For example, in some embodiments, the client device's bandwidth is dynamic and changes depending on multiple factors (eg,
図3は、ビデオフィードをカスタマイズおよび合成するための処理の一実施形態を示すフローチャートである。処理は、サーバ(図1に示したサーバ100など)によって実行されうる。
FIG. 3 is a flowchart illustrating one embodiment of a process for customizing and compositing video feeds. Processing may be performed by a server (such as
処理は、1または複数のユーザ固有の特徴に関連付けられているコンテンツの要求を受信する工程で始まる(工程352)。サーバは、通信インターフェースを用いて、リモートクライアントデバイスへデータを送受信する。 Processing begins with receiving a request for content associated with one or more user-specific characteristics (step 352). The server uses the communication interface to send and receive data to remote client devices.
処理は、要求に関連付けられたコンテンツをルックアップすることなどによって、要求に基づいてコンテンツを決定する(工程354)。コンテンツは、データおよび/またはメタデータを含んでよく、ここで、データは、合成ビデオフィード内での出力に向けて、クライアントによって直接出力または後処理されうる。非限定的な例として、データは、グラフィック、テキスト、または、オーディオを含む。メタデータは、視覚効果(アルファグローなど)、速度、方向、リフレッシュレート、終了条件、および、相互作用ルールなど、データが合成ビデオフィード内でどのように出力されるのかを規定する。 The process determines content based on the request, such as by looking up content associated with the request (step 354). Content may include data and/or metadata, where the data may be directly output or post-processed by the client for output in a composite video feed. As non-limiting examples, data includes graphics, text, or audio. Metadata defines how data is output within the composite video feed, such as visual effects (such as alpha glow), speed, direction, refresh rate, termination conditions, and interaction rules.
処理は、プロフィールを用いることによって要求またはユーザプリファレンスを記録することができる。例えば、要求にユーザ固有の特徴が付随している場合、特徴は、特定のユーザの興味および/または挙動を記録するユーザプロフィールに保存される。上述のように、いくつかの実施形態において、サーバは、ユーザの特徴を特定のユーザにとって興味のあるコンテンツに対応付けるルックアップテーブルまたはその他のデータベースを利用することによって、クライアントデバイスによって送信されたユーザ識別子を用いて、ユーザにとって興味のあるコンテンツをルックアップする。 Processes can record requests or user preferences by using profiles. For example, if a request is accompanied by user-specific characteristics, the characteristics are stored in a user profile that records the particular user's interests and/or behavior. As discussed above, in some embodiments, the server uses the user identifier sent by the client device to identify the user by utilizing a lookup table or other database that maps user characteristics to content of interest to a particular user. to look up content that is of interest to the user.
処理は、コンテンツ要求に応答して、決定されたコンテンツをリモートクライアントデバイスに送信する(工程356)。コンテンツは、任意のタイプの通信インターフェースまたはネットワークを介して送信されうる。 The process transmits the determined content to the remote client device in response to the content request (step 356). Content may be transmitted via any type of communication interface or network.
ビデオフィードをカスタマイズおよび合成するための処理は、様々な設定において応用される。以下の図は、ニュース放送の例を示す。 Processes for customizing and compositing video feeds are applied in a variety of settings. The figure below shows an example of a news broadcast.
図4Aは、クライアントデバイスでカスタマイズおよび合成されたニュース放送の例を示す。この例において、カスタマイズされたデータ要素は、ニュース放送に表示されているテキストのスクロールである。バックグラウンドビデオ403は、ニュースアナウンサーが世界の公衆衛生の進展に関するニュース速報を読んでいるビデオである。ニュース放送は、予め記録されていてもライブであってもよく、カスタマイズのための技術は、いずれの状況でも適用可能である。図に示すように、バックグラウンドビデオは、追加のビデオ(様々な人々にインタビューする現場のレポータからのコンテンツなど)を表示できるはめ込みフレーム(「ニュース速報(Breaking News)」)など、様々な部分を有する。
FIG. 4A shows an example of a news broadcast customized and synthesized on a client device. In this example, the customized data element is scrolling text being displayed in a news broadcast.
下部テキストスクロール407が、現在の株価を表示している。ニュース速報は、様々な企業の株価に影響を持ち、船旅会社(CRUS)および航空会社(WINGS)の株価を下げる一方で、テレワーク会社(TLWK)およびクリーニング用品会社(SANI)の株価を上げる。ニュース放送を視聴するユーザは、例えば、TLWK(データ要素405によって示されている)に投資している場合、それらの企業の一部に特に興味を持ちうる。
A
テキストスクロール407は、バックグラウンドビデオフィードの一部に整合された1または複数のデータ要素の例であるデータ要素例である。共に、バックグラウンドビデオ403およびテキストスクロール407は、合成ビデオを形成する。ユーザは、このビデオと相互作用することで、興味のあるさらなる情報を取得できる。例えば、ユーザは、データ要素405を選択して、次の図に示すようにTLWKに関する追加のビデオまたは情報を表示することができる。
ビデオタイムスタンプが、テキストスクロールをインスタンス化する(クローリング)。クローリングのためのデータが、定期的に、個人ユーザプロフィールおよびビデオタイムスタンプに基づいてサーバへ要求され、クライアントにダウンロードされ、次いで、ローカルにレンダリングされる。クローリングのためのフォーマッティングが、マークアップとして含まれうる。クローリングの挙動(速度、方向、相互作用ルール、リフレッシュ期間、終了条件(何がクローリングを終了させるか)が、様々なコードコマンドとしてダウンロードに含まれうる。 Video timestamp instantiates text scrolling (crawling). Data for crawling is periodically requested from the server based on personal user profiles and video timestamps, downloaded to the client, and then rendered locally. Formatting for crawling may be included as markup. The crawling behavior (speed, direction, interaction rules, refresh period, termination conditions (what causes the crawl to end) can be included in the download as various code commands.
図4Bは、クライアントデバイスでカスタマイズおよび合成されたニュース放送の例を示す。この例において、カスタマイズされたデータ要素は、ユーザにとって興味のある対象に関して詳細レポートを表示する分岐したビデオである。バックグラウンドビデオフィードまたは合成ビデオフィードが、合成ビデオフィードの1または複数のデータ要素(例えば、特定の株式ティッカー)とのユーザ相互作用に応答して、更新されうる。図4Bは、ユーザがデータ要素(モジュール)405を選択した後のユーザインターフェースの状態を示している。モジュール(フレーム要素など)は、ローカルにレンダリングされたデータである。モジュールのためのフォーマッティングは、埋め込みマークアップでありうる。ユーザがモジュールの1つ(データ要素405)にタッチまたはクリックすると、新しいビデオストリーム(例えば、データ要素409)のオープンをトリガする。昨年と同じ期間で比較した今年の企業の売上げのグラフが表示される。グラフは、TLWK株価が上がっている時期を説明するナレーションなど、その他のマルチメディアを伴ってよい。カスタマイズされたデータ要素が表示される方法は、単に例示であり、限定の意図はない。例えば、データ要素409は、ユーザインターフェースの他の部分(「ニュース速報(Breaking News)」インサートなど)に表示されてよく、スクリーン全体を埋めてもよく、または、ユーザインターフェース内のより大きい/小さいスペースを占めるようスナップされてもよい。他のカスタマイズされたデータ要素も表示可能である。例えば、ユーザは、TLWKに関するデータ要素およびSANIに関する別のデータ要素を同時に見ることができる。これは、ユーザが、興味のある多くの物/対象物をフォローしつつも、同時にバックグラウンドビデオを見ることを可能にする。例えば、ユーザは、バックグラウンドビデオが再生する間に、TWLKの詳細レポートを研究することができ、別のニュース速報がSANIの株価に影響した場合に、ユーザは、TWLKの詳細レポートを容易に終了して、SANIへと関心を向けることができる。 FIG. 4B shows an example of a customized and synthesized news broadcast on a client device. In this example, the customized data element is a branched video that displays detailed reports on subjects of interest to the user. A background video feed or a synthetic video feed may be updated in response to user interaction with one or more data elements (eg, a particular stock ticker) of the synthetic video feed. FIG. 4B shows the state of the user interface after the user selects the data element (module) 405. Modules (such as frame elements) are locally rendered data. Formatting for modules can be embedded markup. A user touching or clicking on one of the modules (data element 405) triggers the opening of a new video stream (eg, data element 409). A graph of the company's sales this year compared to last year over the same period is displayed. The graph may be accompanied by other multimedia, such as a narration explaining when TLWK stock price is rising. The manner in which customized data elements are displayed is illustrative only and not intended to be limiting. For example, the data element 409 may be displayed in other parts of the user interface (such as a "Breaking News" insert), may fill the entire screen, or may be displayed in a larger/smaller space within the user interface. may be snapped to occupy. Other customized data elements can also be displayed. For example, a user can view a data element for TLWK and another data element for SANI at the same time. This allows the user to follow many objects/objects of interest while watching background video at the same time. For example, a user can study a detailed report on TWLK while a background video plays, and if another breaking news affects SANI's stock price, the user can easily exit the detailed report on TWLK. Then, they can turn their attention to SANI.
データ要素は、特定のユーザに合わせてカスタマイズされた言語および/または音楽でのオーディオトラックなど、他のタイプのマルチメディアであってもよい。別の例として、バックグラウンドビデオフィードは、広告であってもよく、価格などのデータ要素(例えば、テキスト文字列)が、ユーザに合わせて、例えば、ユーザの地理的位置に基づいて(税が、地域ごとに異なる場合がある)、もしくは、特定のユーザの生活費または知覚価値に基づいて、カスタマイズ/ターゲティングされうる。 The data elements may also be other types of multimedia, such as audio tracks in language and/or music customized for a particular user. As another example, a background video feed may be an advertisement in which data elements such as prices (e.g. text strings) are tailored to the user, e.g. based on the user's geographic location (tax , which may vary by region), or customized/targeted based on the cost of living or perceived value of a particular user.
ビデオフィードをカスタマイズおよび合成するための処理は、様々な設定において応用される。以下の図は、ライブスポーツイベントの例を示す。 Processes for customizing and compositing video feeds are applied in a variety of settings. The diagram below shows an example of a live sporting event.
図5A~図5Cは、クライアントデバイスでカスタマイズおよび合成されたスポーツイベントの例を示す。いくつかの実施形態において、ライブイベントは、スポーツイベント(例えば、第1チームと第2チームとの間のスポーツイベント)である。例えば、いくつかの実施形態において、ライブイベントは、第1チームと第2チームとの間のアメフトの試合、サッカーの試合、テニスの試合、水球の試合、などである。ビデオフィードは、複数のフレーム(例えば、それぞれのカメラ140によってキャプチャされたフレーム)を含む。ビデオフィードは、固定数のフレーム(例えば、毎秒16、24、28、または、60フレーム)または動的数のフレームを含みうる。ビデオの毎秒の動的フレーム数は、ネットワークおよび/またはクライアントデバイスの帯域幅に従いうる。 5A-5C illustrate examples of sports events customized and synthesized on a client device. In some embodiments, the live event is a sporting event (eg, a sporting event between a first team and a second team). For example, in some embodiments, the live event is an American football game, a soccer game, a tennis game, a water polo game, etc. between a first team and a second team. The video feed includes multiple frames (eg, frames captured by respective cameras 140). The video feed may include a fixed number of frames (eg, 16, 24, 28, or 60 frames per second) or a dynamic number of frames. The dynamic number of frames per second of the video may depend on the network and/or client device bandwidth.
ユーザプリファレンス設定は、ビデオフィード(503)上にオーバレイされる1または複数のグラフィックデータ要素(例えば、509または511)、ならびに/もしくは、ビデオフィードの向きまたは好ましいカメラ、に対する選好を示す。例えば、いくつかの実施形態において、ユーザプリファレンス設定は、ユーザが、第2カメラ(例えば、部分的なランドスケープカメラビュー)ではなく、第1カメラからのビデオフィード(例えば、ランドスケープカメラビュー)を受信することを好むことを示す。さらに、ユーザプリファレンス設定は、それぞれの対象505に関する様々な情報を特定するグラフィックデータ要素509を表示する選好を示す。ユーザプリファレンス設定は、例えば、ボールの位置(例えば、ボールの位置情報)、現在のボールキャリア、対象の移動経路(例えば、プレイ中のボールの移動経路)、試合クロックデータ要素507、プレイクロックデータ要素、および/または、試合状態データ要素など、グラフィックデータ要素を表示する選好を示す。
User preference settings indicate preferences for one or more graphic data elements (eg, 509 or 511) to be overlaid on the video feed (503) and/or the orientation of the video feed or preferred camera. For example, in some embodiments, user preference settings specify that the user receives a video feed (e.g., a landscape camera view) from a first camera rather than a second camera (e.g., a partial landscape camera view). Show that you like to do something. Additionally, user preference settings indicate preferences for displaying
いくつかの実施形態において、ユーザプリファレンス設定は、賭けプラットフォーム(例えば、賭けモジュール718)を提供するグラフィックデータ要素を表示する選好を示す。いくつかの実施形態において、ユーザプリファレンス設定は、テキストベースの情報(例えば、気象情報、ニュースなど)を提供するデータ要素を表示する選好を示す。したがって、ユーザは、自身の特定の好みに合わせて視聴体験を調整するために、ビデオフィードをパーソナライズして相互作用することができる。また、これは、ユーザが関心を示していないデータのストリームが不必要に通信されるのを防ぐことによって、ユーザデバイスが、コンピュータシステム(例えば、図1に示したシステム)から受信されるデータの量を最適化することを可能にする。 In some embodiments, the user preference settings indicate a preference for displaying graphical data elements provided by the betting platform (eg, betting module 718). In some embodiments, user preference settings indicate a preference for displaying data elements that provide text-based information (eg, weather information, news, etc.). Thus, users can personalize and interact with the video feed to tailor their viewing experience to their particular preferences. It also allows the user device to monitor the data received from the computer system (e.g., the system shown in Figure 1) by preventing streams of data that the user is not interested in from being communicated unnecessarily. Allows to optimize quantities.
複数のデータ要素は、複数の試合クロックデータ要素(例えば、試合クロック要素および関連メタデータのアレイ)、試合状態データ要素(例えば、試合状態要素および関連メタデータのアレイ)、位置情報データ要素(例えば、1または複数の対象の位置情報および関連メタデータのアレイ)、グラフィックデータ要素(例えば、複数の埋め込みグラフィック、ニュースおよび/または気象などの複数のテキストデータ要素、ならびに、関連メタデータ)、テキストデータ要素(例えば、ニュース記事、気象情報など)、一致するタイムスタンプ値でのスポーツイベントのスコア、などを含む。 The plurality of data elements may include a plurality of match clock data elements (e.g., an array of match clock elements and associated metadata), a match state data element (e.g., an array of match state elements and associated metadata), a location information data element (e.g. , one or more object location information and an array of associated metadata), graphical data elements (e.g., multiple embedded graphics, multiple textual data elements such as news and/or weather, and associated metadata), textual data elements (eg, news articles, weather information, etc.), scores of sporting events with matching timestamp values, and so on.
複数のデータ要素は、1または複数のデータ要素アレイを含んでよい。例えば、いくつかの実施形態において、複数のデータ要素は、試合クロックデータおよび関連タイムスタンプのアレイを含む。いくつかの実施形態において、複数のデータ要素は、プレイクロックデータおよび関連タイムスタンプのアレイを含む。いくつかの実施形態において、複数のデータ要素の中の各データ要素は、データのアレイとして提供される。それでも、表1は、試合クロックデータ要素アレイの例、試合状態データ要素アレイの例、および、図1に示したコンピュータシステムによって格納されるそれぞれのアレイに関連付けられたタイムスタンプメタデータを示す。
本明細書で開示する技術は、スポーツイベントストリーミング設定で応用される。以下の図は、バックグラウンドビデオフィードをキャプチャし、ユーザの選好に応えるためにバックグラウンドビデオフィードと共にカスタマイズして表示されることができるコンテンツを決定するためのシステムおよび処理の例を示している。 The techniques disclosed herein find application in a sporting event streaming setting. The following figure illustrates an example system and process for capturing a background video feed and determining content that can be customized and displayed with the background video feed to respond to user preferences.
図6は、ビデオフィードをカスタマイズおよび合成するためのシステムの一実施形態を示すブロック図である。システム600は、ライブスポーツイベントのビデオのカスタマイズおよび合成を円滑にするために、図1と比較して追加の要素を備えている。システム600は、通信インターフェース107と、プロセッサ100(特に明記しない限り、図1のサーバ100と同様である)と、を備える。通信インターフェース107は、競技における参加者の第1セットおよび参加者の第2セットの一方または両方の1以上の参加者のタイムスタンプ付き位置情報を受信するよう構成されている。様々な実施形態において、タイムスタンプ付き位置情報は、競技中にテレメトリ追跡システムによってキャプチャされる。この例において、テレメトリ追跡システムは、追跡デバイス300-1~300-P、アンカデバイス120-1~120-Q、および、任意選択的にカメラ140-1~140-Sで構成されており、これらの要素は、後に詳述するようにトラッカ管理システム400によって管理される。
FIG. 6 is a block diagram illustrating one embodiment of a system for customizing and compositing video feeds.
プロセッサ100は、通信インターフェース107に接続されており、例えば、現在の競技が進行している間に、或る時点におけるおよび/または或る時点現在における、参加者の第1セットおよび参加者の第2セットの一方または両方の中の1以上の参加者の各々の第1共変量パラメータを計算するよう構成されている。それぞれの第1共変量パラメータは、その時点における現在の競技の1または複数の参加者の第1または第2セットの対応する参加者のタイムスタンプ付き位置情報から導出される。
The
様々な実施形態において、プロセッサ100は、複数の対象を追跡するための追跡管理システム400と、様々な統計値を管理するための統計システム500と、を備える。追跡デバイス管理システム400は、システムの1または複数の追跡デバイス300ならびに1または複数のアンカデバイス120の管理を円滑にする。統計システム500は、ライブスポーツイベントなどの競技での結果を予測する際に用いる様々な統計値を格納および/または生成し、スポーツイベントおよびその他の同様の活動における様々な状況または結果について賭けをするためのオッズを提供する。様々な実施形態において、追跡管理システム400および統計システム500は、プロセッサ100上で実行するソフトウェアエンジンまたはモジュールを含み、ならびに/もしくは、別個または潜在的に別個のシステムを含む(各システムは、プロセッサ100を含む1または複数のプロセッサを含み、および/または、その上で実行する)。
In various embodiments,
様々な実施形態において、システム600は、オッズを管理するためのオッズ管理システム600と、複数のユーザデバイス700-1~700-Rと、を備える。オッズ管理システム600はプロセッサ100の外部に図示されているが、いくつかの実施形態において、オッズ管理システムはプロセッサ内に含まれる。オッズ管理システム600は、スポーツイベントでの結果に対するオッズを決定すること、および、ライブイベントでの結果の予測に関連する様々なモデルを管理することを円滑にする。
In various embodiments,
いくつかの実施形態において、システムは、本開示の様々なシステム(オッズ管理システム600など)とのエンドユーザ相互作用を円滑にする1または複数のユーザデバイス700を備える。さらに、いくつかの実施形態において、システム600は、本開示のシステムによって後に利用されるライブイベントのライブ画像および/またはビデオをキャプチャする1または複数のカメラ140を備える。いくつかの実施形態において、カメラ140は、1または複数の高解像度カメラを含む。非限定的な例として、1または複数の高解像度カメラは、1080p解像度、1440p解像度、2K解像度、4K解像度、または、8K解像度のカメラを含む。
In some embodiments, the system comprises one or
上述の構成要素は、任意選択的に通信ネットワークを通して、相互接続されている。破線のボックス内の要素は、任意選択的に単一のシステムまたはデバイスとして組み合わせられる。もちろん、コンピュータシステム600の他のトポロジも可能である。例えば、いくつかの実施例において、図示したデバイスおよびシステムの内のいずれかが、ネットワーク内でリンクされているいくつかのコンピュータシステムを実際に構成してもよく、もしくは、クラウドコンピューティング環境内の仮想マシンまたはコンテナであってもよい。さらに、いくつかの実施形態において、物理通信ネットワーク106に依存するのではなく、図のデバイスおよびシステムは、互いの間で情報を無線で伝送する。したがって、図6に示したトポロジ例は、単に、当業者にとって容易に理解されるように本開示の一実施形態の特徴を記載するためのものである。
The components described above are interconnected, optionally through a communication network. Elements within dashed boxes are optionally combined into a single system or device. Of course, other topologies for
いくつかの実施例において、通信ネットワーク106は、1または複数の追跡デバイス300と1または複数のアンカ120とを管理する追跡デバイス管理システム400、統計システム500、オッズ管理システム600、1または複数のユーザデバイス700、ならびに、1または複数のカメラ140を、互いに、そして、任意選択的な外部のシステムおよびデバイスと、相互接続している。いくつかの実施例において、通信ネットワーク106は、任意選択的に、インターネット、1または複数のローカルエリアネットワーク(LAN)、1または複数のワイドエリアネットワーク(WAN)、その他のタイプのネットワーク、もしくは、かかるネットワークの組み合わせ、を含む。
In some embodiments, the
ネットワーク106の例は、ワールドワイドウェブ(WWW)、イントラネットおよび/または無線ネットワーク(携帯電話ネットワークなど)、無線ローカルエリアネットワーク(LAN)および/またはメトロポリタンエリアネットワーク(MAN)、ならびに、無線通信によるその他のデバイス、を含む。無線通信は、任意選択的に、以下を含む複数の通信規格、プロトコル、および、技術のいずれかを利用する。グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)、拡張データGSM環境(EDGE)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、エボリューション・データオンリー(EV-DO)、HSPA、HSPA+、デュアルセルHSPA(DC-HSPDA)、ロングタームエボリューション(LTE)、近距離無線通信(NFC)、広帯域符号分割多元接続(W-CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth、ワイヤレス・フィディリティ(Wi-Fi)(例えば、IEEE802.11a、IEEE802.11ac、IEEE802.11ax、IEEE802.11b、IEEE802.11g、および/または、IEEE802.11n)、ボイス・オーバー・インターネット・プロトコル(VoIP)、Wi-MAX、電子メール用プロトコル(例えば、インターネットメッセージアクセスプロトコル(IMAP)および/またはポストオフィスプロトコル(POP))、インスタントメッセージング(例えば、拡張可能なメッセージングおよびプレゼンスプロトコル(XMPP)、インスタントメッセージングおよびプレゼンスレバレジング拡張のためのセッション開始プロトコル(SIMPLE)、インスタントメッセージングおよびプレゼンスサービス(IMPS))、および/または、ショートメッセージサービス(SMS)、もしくは、本明細書の提出日現在にまだ開発されていなかった通信プロトコルを含む任意のその他の適切な通信プロトコル。
Examples of
様々な実施形態において、プロセッサ100は、競技の結果の予測を円滑にする機械学習エンジン210(図7Aを参照)を備える。次の図では、機械学習エンジンを備えたプロセッサ100の一例について、より詳細に記載する。
In various embodiments,
図7Aおよび図7Bは、ビデオフィードをカスタマイズおよび合成するためのシステムの一実施形態を示すブロック図である。図7Aに示すように、アンカデバイスアレイ120が、1または複数の追跡デバイス300からテレメトリデータ230を受信する。1または複数の追跡デバイス300からテレメトリを受信する際のエラーを最小化するために、アンカデバイスアレイ120は、少なくとも3つのアンカデバイスを含むことが好ましい。アンカデバイスアレイ内に少なくとも3つのアンカデバイス120を含むことで、それぞれの追跡デバイス300から受信された各ping(例えば、テレメトリデータ230)が、それぞれのpingを受信する少なくとも3つのアンカからの組み合わせデータを用いて三角測量されることが可能になる。追跡デバイスからpingを受信するためのシステムおよび方法ならびにその最適化に関するさらなる詳細および情報については、少なくとも図3および図4を特に参照して、後に詳述する。
7A and 7B are block diagrams illustrating one embodiment of a system for customizing and compositing video feeds. As shown in FIG. 7A,
図の例において、1または複数の追跡デバイス300からアンカアレイ120によって受信されるテレメトリデータ230は、位置テレメトリデータ232を含む。位置テレメトリデータ232は、それぞれの追跡デバイス300の位置データを提供し、それデータは、空間領域内での追跡デバイスの位置を記述する。いくつかの実施形態において、この位置テレメトリデータ232は、それぞれの追跡デバイス300の位置を記述する1または複数のデカルト座標(例えば、X座標、Y座標、および/または、Z座標)として提供されているが、別の実施形態では、それぞれの追跡デバイス300の位置を記述する任意の座標システム(例えば、極座標など)が用いられる。
In the illustrated example,
1または複数の追跡デバイス300からアンカアレイ120によって受信されるテレメトリデータ230は、運動テレメトリデータ234を含む。運動テレメトリデータ234は、それぞれの追跡デバイスの様々な運動に関するデータを提供する。いくつかの実施形態において、この運動テレメトリデータ234は、それぞれの追跡デバイス300の速度、それぞれの追跡デバイスの加速度、および/または、それぞれの追跡デバイスの加加速度として提供される。さらに、いくつかの実施形態において、上記の値の内の1または複数が、それぞれの追跡デバイス300の加速度計(例えば、図8の加速度計317)から決定され、および/または、それぞれの追跡デバイスの位置テレメトリデータ232から導出される。さらに、いくつかの実施形態においては、1または複数の追跡デバイス300からアンカアレイ120によって受信されるテレメトリデータ230は、バイオメトリックテレメトリデータ236を含む。バイオメトリックテレメトリデータ236は、それぞれの追跡デバイス300に関連する各対象に関するバイオメトリック情報を提供する。いくつかの実施形態において、このバイオメトリック情報は、対象の心拍数、温度(例えば、皮膚温、側頭温など)、などを含む。
いくつかの実施形態において、アンカアレイ120は、上述のテレメトリデータ(例えば、位置テレメトリ232、運動テレメトリ234、生体測定テレメトリ236)をテレメトリ解析システム240へ通信する。従って、いくつかの実施形態において、テレメトリパースシステム240は、さらなる処理および分析に向けてテレメトリデータ(例えば、データストリーム244)を機械学習エンジン210および/またはリアルタイムデータパッケージャ246へ通信する。
In some embodiments,
いくつかの実施形態において、リアルタイムデータパッケージャ246は、それぞれのデータに関連付けられた1または複数のタイムスタンプを用いることによって、1または複数のデータソース(例えば、テレメトリ解析システム240、試合統計値入力システム250、機械学習エンジン210など)を同期させる。例えば、いくつかの実施形態において、データソースは、実世界クロックタイムスタンプに関連付けられたデータ(例えば、実世界の時刻1:17P.M.に発生してその時刻に関連付けられたイベント)を提供する。いくつかの実施形態において、データソースは、ライブスポーツイベント(例えば、セカンドクォーターの残り2分15秒で発生したイベント)に関連付けられている試合クロックタイムスタンプに関連付けられたデータを提供する。さらに、いくつかの実施形態において、データソースは、実世界クロックタイムスタンプおよび試合クロックタイムスタンプの両方に関連付けられたデータを提供する。タイムスタンプを用いたデータソースの同期は、本開示の設計者が、特に、ライブイベントでの結果にベットして賭ける場合に、さらなる精度を備えたサービスを提供することを可能にする。例えば、いくつかの実施形態において、ユーザデバイス700に提供されるデータ(例えば、図7Bのストリーミングデータ280および/または直接データ282)は、アメフトの試合における次のプレイへの賭け(例えば、オッズ)を記述する。ユーザデバイス700のエンドユーザが所定の時間枠内に(例えば、次のプレイのボールのスナップ前に)賭けをするか否かを判定するために、ユーザデバイスから受信されおよび/またはユーザデバイスへ通信された試合クロックおよび実世界時間データが分析され、その賭けは、確認、拒絶、または、さらなる考慮のために保持される。
In some embodiments, real-
いくつかの実施形態において、機械学習エンジン210は、ライブスポーツイベントでの将来の結果を予測し、分析および利用に向けて統計値を生成するために、本開示の様々なソースからデータを受信する。例えば、いくつかの実施形態において、機械学習エンジン210のデータソースは、ゲーム中の任意の所与の時点におけるプレイヤーの様々な構成およびフォーメーションに関する情報を提供する位置データフォーメーション分類器212(以下、「ニューラルネット」)を備える。例えば、いくつかの実施形態において、フォーメーション分類器212は、プレイヤーのスナップ前のフォーメーションを分析するために、テレメトリデータ230を解析する。スナップ前のテレメトリデータ230の分析は、フォーメーション分類器212が、試合のダウン、試合内の位置ルール違反(例えば、オフサイド、イリーガルモーションなど)など、試合の様々な状態および条件を判定することを可能にする。さらに、いくつかの実施形態において、フォーメーション分類器212は、各フォーメーションがどのように展開するのかに関するデータおよび情報をさらに生成するために、プレイの開始後に受信されたテレメトリデータ230を分析する(例えば、予測ランニングルート対実際のランニングルート、予測ブロッキングアサイメント対アクションブロッキングアサイメント、プレイにわたるプレイヤーのスピード、プレイにわたる2プレイヤー間の距離、など)。
In some embodiments, machine learning engine 210 receives data from various sources of the present disclosure to predict future outcomes at live sporting events and generate statistics for analysis and utilization. . For example, in some embodiments, the data sources for machine learning engine 210 include position data formation classifier 212 (hereinafter referred to as ``neural network''). For example, in some embodiments,
いくつかの実施形態において、機械学習エンジン210は、履歴トレーニングデータストア214を備える。履歴データストア214は、各特定のスポーツ(例えば、図10のスポーツ履歴データ508)、特定のスポーツに関連する各特定のチーム(例えば、図10のチーム履歴データ510)、および/または、特定のスポーツおよび/またはチームに関連付けられている各特定のプレイヤー(例えば、図10のプレイヤー履歴データ514)、に関する履歴データおよび情報を提供する。いくつかの実施形態において、このデータは、機械学習エンジン210のためのトレーニングデータセットとして最初に用いられる。ただし、このデータは、本開示の機械学習エンジン210およびその他のシステムによって提供される特徴およびサービスをさらに増強するために用いられてもよいので、本開示は、上記に限定されない。
In some embodiments, machine learning engine 210 includes historical
さらに、いくつかの実施形態において、機械学習エンジン210は、スポーツイベントの将来の結果を予測し、スポーツイベントの分析を提供するために用いられる様々なモデル220を備える。いくつかの実施形態において、機械学習エンジン210のモデル220は、予測ポイントモデル222を含む。予測ポイントモデル222は、イベントにおける特定のプレイに対してポイントを受ける可能性を数値で提供する。いくつかの実施形態において、機械学習エンジン210のモデル220は、イベントの各参加チームが勝つ確率と、イベントでの勝ちチームと負けチームとの間の所与の点差の可能性と、のいずれかを提供する勝利確率モデル224を含む。さらに、いくつかの実施形態において、機械学習エンジン210のモデル220は、プレイヤーごとの代替選手比貢献度(WAR:wins above replacement)モデル226を含む。WARモデル226は、それぞれのプレイヤーが対応するチームにもたらす貢献度の値を提供する(例えば、プレイヤー1がそれぞれのチームに1の値を提供し、プレイヤー2がそれぞれのチームに2の値を提供する場合、プレイヤー2の方がそのチームにとって価値がある)。
Further, in some embodiments, machine learning engine 210 comprises
いくつかの実施形態において、機械学習エンジン210は、状況ストア228を備える。状況ストア228は、実際の試合シナリオ中に迅速にアクセスされる様々な状況の詳細および/または統計値のキャッシュである。状況ストア228への迅速なアクセスは、同じ情報を取得するために別のデータベースおよびシステム(例えば、位置データフォーメーション分類器212、履歴トレーニングデータ格納214など)にクエリすることで生じるラグを防止する。機械学習エンジンおよびそれに含まれる構成要素(様々な上述のデータストアおよびモデルなど)に関するさらなる詳細および情報については、少なくとも図10および図11を特に参照して、後に詳述する。
In some embodiments, machine learning engine 210 includes a
機械学習エンジン210は、様々なデータベースおよびモデルの様々なオッズおよび出力をオッズ管理システム600へ通信する。機械学習エンジン210との通信時に、オッズ管理システム600は、スポーツイベントでの将来のイベントに対する様々な賭けおよび予測オッズをユーザデバイス700へ提供すると共に、試合の現在の状況および統計値を反映するようにこれらのオッズをリアルタイムで更新する。
Machine learning engine 210 communicates various odds and outputs of various databases and models to
図7Bに示すように、いくつかの実施形態において、システム600は、試合統計値入力システム250を備える。試合統計値入力システム250は、少なくとも、プレイ中データ254(アメフトの例では、所与のプレイ中の試合の状態(例えば、ウィークサイドのレシーバがポストルートを走った)を記述するデータ)と、プレイ終了データ256(所与のプレイの後の試合の状態(例えば、プレイの結果、敵陣42ヤードラインでのファーストダウンに終わった)と、を提供するよう構成されている。いくつかの実施形態において、統計値入力システム250のデータは、世界クロックおよび試合クロック242に関連付けられており、それに従って、テレメトリ解析システム240および/または機械学習エンジン210へ通信される。いくつかの実施形態において、試合統計値入力システム250は、フォーメーション分類器212に含まれる。
As shown in FIG. 7B, in some embodiments,
いくつかの実施形態において、様々なデータが、アプリケーションプログラミングインターフェース(API)サーバ260へ通信される。このデータは、ストリーミングデータ244、プレイ終了データ256、オッズ管理システム600からのデータ、または、それらの組み合わせ、を含んでよい。したがって、APIサーバ260は、本開示の様々な特徴およびサービス(例えば、ゲームの流れ、統計値の要求、プレイについての賭け、など)を提供するために、システムの様々な構成要素と、1または複数のユーザデバイス700と、マスタ統計値データベース270との間の通信を円滑にする。APIサーバ260と、1または複数のユーザデバイス700との間の通信は、通信ネットワーク106を通してそれぞれのユーザデバイス700へストリーミングデータ280および/または直接データ282を提供することと、それぞれのユーザデバイスから様々な要求284を受信すること、とを含む。非限定的な例として、ストリーミングデータ280は、プレイヤーのxyz座標またはプレイヤーの加速度計データなどの追跡「テレメトリ」データを含み、直接データ282は、クロック、スコア、または、残りのタイムアウトを含む。
In some embodiments, various data is communicated to application programming interface (API)
いくつかの実施形態において、マスタ統計値データベース270は、ユーザにとって取得可能である機械学習エンジン210に既知の統計値の一部または全部を含む。マスタ統計値データベースは、1プレイの終了ごとまたは数プレイの終了ごとなど、定期的に更新される。例えば、いくつかの実施形態において、機械学習エンジン210にとって既知の統計値の一部のみが、ユーザによって取得可能であることが望まれるために、マスタ統計値データベース270に格納される。しかしながら、本開示は、それに限定されない。例えば、いくつかの実施形態において、マスタ統計値データベース270は、機械学習エンジン270に含まれる。破線のボックス内の要素は、任意選択的に単一のシステムまたはデバイスとして組み合わせられる。
In some embodiments,
ここまで、システム600のインフラについて一般的に説明したので、以下では、追跡デバイス300の一例について、図3を参照して説明する。
Having generally described the infrastructure of
図8は、追跡デバイスの一実施形態を示すブロック図である。様々な実施例において、追跡デバイス(以下、「トラッカ」とも呼ぶ)は、1または複数の処理ユニット(CPU)374と、メモリ302(例えば、ランダムアクセスメモリ)と、1または複数のコントローラ388によって任意選択的にアクセスされる1または複数の磁気ディスクストレージおよび/または持続性デバイス390と、ネットワークまたはその他の通信インターフェース(RF回路を備えてよい)384と、加速度計317と、1または複数の任意選択的な強度センサ364と、任意選択的な入力/出力(I/O)サブシステム366と、上述の構成要素を相互接続するための1または複数の通信バス313と、上述の構成要素に給電するための電力供給部376と、を備える。いくつかの実施例において、メモリ302内のデータは、周知のコンピュータ技術(キャッシングなど)を用いて、不揮発性メモリ390とシームレスに共有される。いくつかの実施例において、メモリ302および/またはメモリ390は、実際には、追跡デバイスの外部にあるがネットワークインターフェース384を用いてインターネット、イントラネット、ネットワーク、または、その他の形態のネットワーク、もしくは、電子ケーブル(図7に要素106として図示)を介して追跡デバイス300によって電子的にアクセス可能であるコンピュータ上にホストされてもよい。
FIG. 8 is a block diagram illustrating one embodiment of a tracking device. In various embodiments, a tracking device (hereinafter also referred to as a "tracker") may optionally include one or more processing units (CPUs) 374, memory 302 (e.g., random access memory), and one or
様々な実施形態において、図8に示す追跡デバイス300は、加速度計317に加えて、追跡デバイス300の位置および/または向き(例えば、ポートレートまたはランドスケープ)に関する情報を取得するための磁力計および/またはGPS(またはGLONASSまたはその他のグローバルナビゲーションシステム)レシーバを備える。
In various embodiments, the
図8に示す追跡デバイス300は、対応する対象のテレメトリデータ(例えば、位置テレメトリ232、運動テレメトリ234、および、バイオメトリックテレメトリ236)を取得するために用いられてよいデバイスの一例にすぎず、追跡デバイス300は、任意選択的に図に示すよりも多いまたは少ない構成要素を有し、任意選択的に2以上の構成要素を組みあわせ、もしくは、任意選択的に構成要素の異なる構成または配置を有することを理解されたい。図8に示す様々な構成要素は、1または複数の信号処理および/または特定用途向け集積回路など、ハードウェア、ソフトウェア、ファームウェア、または、それらの組みあわせで実装される。
The
図8に示す追跡デバイス300のメモリ302は、任意選択的に、高速ランダムアクセスメモリを含み、さらに、任意選択的に、1または複数の磁気ディスクストレージデバイス、フラッシュメモリデバイス、または、その他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。追跡デバイス300のその他の構成要素(CPU374など)によるメモリ302へのアクセスは、任意選択的に、メモリコントローラ388によって制御される。
いくつかの実施形態において、CPU374およびメモリコントローラ388は、任意選択的に、単一のチップ上に実装される。いくつかの他の実施形態において、CPU374およびメモリコントローラ388は、別個のチップ上に実装される。
In some embodiments,
ネットワークインターフェース384の高周波(RF)回路は、RF信号(電磁信号とも呼ばれる)を送受信する。いくつかの実施形態において、RF回路384は、電気信号を変換して電磁信号を形成し、電磁信号を用いて、通信ネットワークおよびその他の通信デバイス(1または複数のアンカデバイス120および/または追跡デバイス管理システム400など)と通信する。RF回路384は、これらの機能を実行するための周知の回路を任意選択的に含み、アンテナシステム、RFトランシーバ、1または複数の増幅器、チューナ、1または複数のオシレータ、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリ、などを含むがこれらに限定されない。いくつかの実施形態において、RF回路384は、任意選択的に、通信ネットワーク106と通信する。
Radio frequency (RF) circuitry in
いくつかの実施形態において、ネットワークインターフェース(RF回路を備える)384は、超広帯域(UWB)技術で動作し、その技術は、追跡デバイス300が、ライブスポーツイベントなどの混み合った空間領域でアンカデバイスアレイ120と通信することを可能にする。いくつかの実施形態において、追跡デバイス300は、所定の中心周波数(例えば、約6.35GHz~約6.75GHzの全伝送周波数範囲をもたらす6.55GHz±200mHz)で低電力(例えば、約1ミリワット(mW))信号を送る。本明細書で用いられているように、これらの通信および伝送は、以後、「ping」と呼ばれる。UWBの議論のために、Jiang et al.,2000「Ultra-Wide Band technology applications in construction: a review」、Organization,Technology and Management in Construction 2(2),207-213を参照のこと。
In some embodiments, network interface (comprising RF circuitry) 384 operates with ultra-wideband (UWB) technology, which allows tracking
いくつかの実施形態において、電力供給部358は、電力管理システムと、1または複数の電源(例えば、バッテリ)と、再充電システムと、停電検出回路と、電力コンバータまたはインバータと、電力状態インジケータ(例えば、発光ダイオード(LED))と、かかる追跡デバイス300の電力の生成、管理、および、分配に関連付けられている任意のその他の構成要素と、を任意選択的に備える。いくつかの実施形態において、テレメトリデータ230は、それぞれの追跡デバイス300の電力供給部358に関する情報(バッテリ消費、または、追跡デバイスがさらなる電力を必要とするまでの予測時間など)を含む。
In some embodiments, power supply 358 includes a power management system, one or more power sources (e.g., batteries), a recharging system, a power outage detection circuit, a power converter or inverter, and a power status indicator ( For example, a light emitting diode (LED)) and any other components associated with power generation, management, and distribution of
いくつかの実施例において、それぞれの対象を追跡するための追跡デバイス300のメモリ302は、以下を格納している。
●オペレーティングシステム304(例えば、ANDROID(登録商標)、iOS、DARWIN、RTXC、LINUX、UNIX(登録商標)、OS X、WINDOWS(登録商標)、または、組み込みオペレーティングシステム(VxWorksなど))が、一般的なシステムタスク(例えば、メモリ管理、ストレージデバイス制御、電力管理など)を制御および管理するための様々なソフトウェアコンポーネントおよび/またはドライバを備え、様々なハードウェアおよびソフトウェアコンポーネントの間の通信を円滑にする、
●追跡デバイス識別子306および任意選択的な追跡デバイスグループ識別子307など、それぞれの追跡デバイス300を識別するために用いられるデータを格納する追跡デバイス識別子モジュール305、ならびに、
●それぞれの追跡デバイスのping速度に関連付けられているデータおよび情報を格納する追跡デバイスpingモジュール308であって、追跡デバイスpingモジュール308は、以下を含む。
○それぞれの追跡デバイス300が現在動作している現在のping速度を記述する瞬間ping速度310、
○それぞれの追跡デバイス300が動作しうる最小ping速度を記述する最小ping速度312、
○それぞれの追跡デバイス300が動作しうる最大ping速度を記述する最大ping速度314、
○それぞれの追跡デバイス300が動作しうる最小ping速度を記述する閾値ping速度316、および、
○可変ping速度フラグ318。
In some embodiments, the
- The operating system 304 (for example, ANDROID (registered trademark), iOS, DARWIN, RTXC, LINUX, UNIX (registered trademark), OS X, WINDOWS (registered trademark), or an embedded operating system (such as VxWorks)) is commonly comprises various software components and/or drivers to control and manage various system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components. ,
a tracking device identifier module 305 that stores data used to identify each
- A tracking
o an
o a
o
o a
○Variable
追跡デバイス識別子モジュール305は、複数の追跡デバイス(例えば、追跡デバイス1 300-1、追跡デバイス2 300-3、・・・、追跡デバイスP 300-P)からそれぞれの追跡デバイス300を識別することに関連する情報を格納する。いくつかの実施形態において、追跡デバイス識別子モジュール305によって格納されている情報は、それぞれの追跡デバイス300を表す一意的なID(例えば、シリアル番号またはコード)を含む追跡デバイス識別子(ID)306を含む。いくつかの実施形態において、追跡デバイスIDモジュール305は、それぞれの追跡デバイス300を1または複数の追跡デバイスグループ(例えば、図9の追跡デバイスグループ418-2)に指定する追跡デバイスグループID307を備える。さらに、いくつかの実施形態において、それぞれの追跡デバイス300によって通信されるpingは、追跡デバイスIDモジュール305のデータを含み、アンカデバイスアレイ120が2以上の追跡デバイスから受信されたpingを識別することを可能にする。追跡デバイス300のグループ化に関するさらなる詳細および情報については、少なくとも図9を特に参照して、後に詳述する。
The tracking device identifier module 305 is configured to identify each
追跡デバイスpingモジュール308は、それぞれの追跡デバイス300の様々なpingパラメータおよび条件に関するデータおよび情報を格納し、pingの管理を円滑にする。例えば、いくつかの実施形態において、追跡デバイスpingモジュール308は、それぞれの追跡デバイス300の瞬間ping速度310を管理する(例えば、10ヘルツ(Hz)になるように瞬間ping速度310を管理する)。いくつかの実施形態において、追跡デバイス300は、追跡デバイス300がpingを伝送しうる最大および最小のping速度を規定する1または複数のping速度制限(最小ping速度312および最大ping速度314の一方または両方など)を備えるよう構成される。例えば、いくつかの実施形態において、最小ping速度312および/または最大ping速度314は、帯域幅限界、アクティブな追跡デバイス300の数、および、予測される活動のタイプ(例えば、スポーツおよび/またはイベントのタイプ、予測される対象の活動、など)の内の1または複数に基づいて、追跡デバイス管理システム400によって設定されてよい。一方または両方のping速度制限を備えるよう構成された場合、追跡デバイスpingモジュール308は、最小ping速度312と最大ping速度314との間で瞬間ping速度310を調節するよう動作する。したがって、追跡管理システム400の自動最適化が、追跡デバイス300の自動ping速度調節と併用されてよい。いくつかの実施形態において、追跡デバイスpingモジュール308は、加速度計317から検出された動きを所定の閾値316と比較するよう構成されている。したがって、pingモジュール308は、検出された動きが所定の閾値316よりも大きいとの判定に従って、瞬間ping速度310を大きくする(例えば、瞬間ping速度310が最大ping速度314に達するまで)。同様に、pingモジュール308は、検出された動きが閾値ping速度316よりも小さいとの判定に従って、瞬間ping速度310を小さくする(例えば、瞬間ping速度310が最小ping速度312に達するまで)。
Tracking
いくつかの実施形態において、pingモジュール310は、pingモジュール308が、決定された活動に基づいて、瞬間ping速度310の変更を自動的に行うか否かを決定する可変ping速度フラグ318(追跡デバイス管理システム400によって構成(例えば、無線で設定)される)を含む。例えば、追跡デバイス管理システム400は、競技フィールド上で現在参加していないプレイヤーに関連付けられている1または複数の追跡デバイス300に対して可変ping速度フラグ318を「偽」に設定してよく、その場合、瞬間ping速度310は、例えば、そのプレイヤーがアクティブにウォーミングアップしている場合でも低速度のままである。追跡デバイス管理システム400は、競技フィールド上でアクティブに参加している1または複数のプレイヤーに対して可変ping速度フラグ318を「真」に設定する。さらに、いくつかの実施形態において、各追跡デバイス300は、それぞれの追跡デバイスの位置に基づいて動的に構成される。例えば、追跡デバイスが競技フィールドを外れているとの判定(例えば、プレイヤーが試合にアクティブに参加していない場合)に対して、追跡デバイス300が競技フィールド内にあるとの判定に従って(例えば、プレイヤーが試合にアクティブに参加している場合)。
In some embodiments, the
追跡デバイス300内の追跡デバイスpingモデル308および/またはセンサ(例えば、加速度計317および/または任意選択的なセンサ364)を利用することで、システム600(例えば、アンカアレイ120、テレメトリ解析システム240、追跡デバイス管理システム400など)が、追跡デバイスと共に配置された対象を追跡する際の信頼性を高める。
System 600 (e.g.,
上述のように、いくつかの実施形態において、各追跡デバイス300は、それぞれの追跡デバイス300に近接する様々なアンカ120によって受信および通信されるテレメトリデータ230を提供する。このテレメトリデータは、位置テレメトリデータ232(例えば、X、Y、および/または、Z座標)、運動テレメトリデータ234(例えば、速度、加速度、および/または、加加速度)、および/または、バイオメトリックテレメトリデータ236(例えば、心拍数、肩幅などプレイヤーの身体的属性など)を含む。
As mentioned above, in some embodiments, each
いくつかの実施形態において、試合における各対象は、対象について追跡デバイスから受信されるデータの精度を高めるために、2以上の追跡デバイス300を装備される。例えば、いくつかの実施形態において、それぞれの対象の左肩および右肩の両方に追跡デバイス300を装備させ、各かかる追跡デバイスは、正常に機能し、アンカ120の少なくとも一部への見通しを有する。したがって、いくつかの実施形態において、左および右の追跡デバイス300からのデータは、単一のタイムスタンプ付きオブジェクトを形成するようにそれらのテレメトリデータ230を組み合わせられる。この単一のオブジェクトは、両方の追跡デバイス300からの位置データを組み合わせて、それぞれのプレイヤーの位置の中心線表現を作成する。さらに、この中心線で計算された位置は、プレイングフィールドでのプレイヤーの位置の中心のより正確な表現を提供する。さらに、上述のように単一のプレイヤーオブジェクトを作成する前に、プレイヤーの左および右の肩に配置された2つの追跡デバイス300からの相対位置データを用いると、システム600は、プレイヤーが向いている方向(例えば、回転)を決定することができる。様々な実施形態において、回転データを含めることで、試合中にテレメトリデータ230を記録することによって作成されたデータからアバターを作成するタスク、および/または、試合内の将来のイベントまたは試合自体の最終結果をより良好に予測するために利用できる洗練された共変量を確立するタスクが非常に容易になる。
In some embodiments, each subject in a match is equipped with two or
いくつかの実施形態において、追跡デバイス300は、図8に示したデバイス内に見られる回路、ハードウェア構成要素、および、ソフトウェア構成要素の内のいずれかまたはすべてを有する。簡潔さと明確さのために、追跡デバイス300にインストールされている追加のソフトウェアモジュールをより良好に強調するために、追跡デバイス300の可能な構成要素のいくつかのみが図示されている。
In some embodiments,
図9は、追跡デバイス管理システムの一実施形態を示すブロック図である。追跡デバイス管理システム400は、1または複数の追跡デバイス300およびアンカ120に関連付けられている。追跡デバイス管理システム400は、1または複数の処理ユニット(CPU)474と、周辺機器インターフェース470と、メモリコントローラ488と、ネットワークまたはその他の通信インターフェース484と、メモリ402(例えば、ランダムアクセスメモリ)と、ディスプレイ482および入力部480(例えば、キーボード、キーパッド、タッチスクリーンなど)を含むユーザインターフェース478と、出力/入力(I/O)サブシステム466と、上述の構成要素を相互接続するための1または複数の通信バス413と、上述の構成要素に給電するための電力供給システム476と、を備える。
FIG. 9 is a block diagram illustrating one embodiment of a tracking device management system. Tracking
いくつかの実施形態において、入力部480は、タッチセンシティブディスプレイ(タッチセンシティブ面など)である。いくつかの実施形態において、ユーザインターフェース478は、1または複数のソフトキーボード実施形態を備える。ソフトキーボード実施形態は、表示されているアイコン上に標準的(QWERTY)および/または非標準的な構成のシンボルを備えてよい。
In some embodiments, input 480 is a touch-sensitive display (such as a touch-sensitive surface). In some embodiments,
追跡デバイス管理システム400は、様々な追跡デバイス300に関与する際に用いられてよいシステムの一例にすぎず、追跡デバイス管理システム400は、任意選択的に図に示すよりも多いまたは少ない構成要素を有し、任意選択的に2以上の構成要素を組みあわせ、もしくは、任意選択的に構成要素の異なる構成または配置を有することを理解されたい。図9に示す様々な構成要素は、1または複数の信号処理および/または特定用途向け集積回路など、ハードウェア、ソフトウェア、ファームウェア、または、それらの組みあわせで実装される。
Tracking
メモリ402は、任意選択的に、高速ランダムアクセスメモリを含み、さらに、任意選択的に、1または複数の磁気ディスクストレージデバイス、フラッシュメモリデバイス、または、その他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。管理システム400のその他の構成要素(CPU474など)によるメモリ402へのアクセスは、任意選択的に、メモリコントローラ488によって制御される。
周辺機器インターフェース470は、CPU474およびメモリ402に管理システムの入力および出力周辺機器を接続するために利用されうる。1または複数のプロセッサ474は、管理システム400のための様々な機能を実行するため、および、データを処理するために、メモリ402に格納されている様々なソフトウェアプログラムおよび/または命令のセットを実行する。
Peripheral interface 470 may be utilized to connect management system input and output peripherals to
いくつかの実施形態において、周辺機器インターフェース470、CPU474、および、メモリコントローラ488は、任意選択的に、単一のチップ上に実装される。いくつかの他の実施形態において、それらは、任意選択的に、別個のチップ上に実装される。
In some embodiments, peripheral interface 470,
いくつかの実施形態において、電力システム476は、電力管理システムと、1または複数の電源(例えば、バッテリ、交流(AC))と、再充電システムと、停電検出回路と、電力コンバータまたはインバータと、電力状態インジケータ(例えば、発光ダイオード(LED)など)と、ポータブルデバイスの電力の生成、管理、および、分配に関連する任意のその他の構成要素と、を任意選択的に備える。
In some embodiments,
図9に示すように、追跡デバイス管理システムのメモリ402は、以下を格納することが好ましい。
●オペレーティングシステム404(例えば、ANDROID、iOS、DARWIN、RTXC、LINUX、UNIX、OS X、WINDOWS、または、組み込みオペレーティングシステム(VxWorksなど))が、一般的なシステムタスク(例えば、メモリ管理、ストレージデバイス制御、電力管理など)を制御および管理するための様々なソフトウェアコンポーネントおよび/またはドライバを備え、様々なハードウェアおよびソフトウェアコンポーネントの間の通信を円滑にする、ならびに、
●1または複数の追跡デバイス300の管理を円滑にするための追跡デバイスマネージャモジュール406であって、追跡デバイスマネージャモジュールは、以下を備える。
○追跡デバイス識別子306および追跡デバイスping速度414など、それぞれの追跡デバイス410-1に関連付けられている関連情報を格納するための追跡デバイス識別子ストア408、ならびに、
○1または複数の追跡デバイスグループ307の管理を円滑にするための追跡デバイスグループ化ストア416。
As shown in FIG. 9, the
- The operating system 404 (e.g., ANDROID, iOS, DARWIN, RTXC, LINUX, UNIX, OS , power management, etc.) and facilitate communication between various hardware and software components;
- A tracking device manager module 406 for facilitating management of one or
o Tracking device identifier store 408 for storing related information associated with each tracking device 410-1, such as
o Tracked device grouping store 416 to facilitate management of one or more tracked device groups 307.
追跡デバイス識別子ストア408は、それぞれの追跡デバイス300の追跡デバイス識別子(ID)306およびそれぞれの追跡デバイスが関連付けられている追跡デバイスグループ307など、それぞれの追跡デバイス410-1に関する情報を含む。例えば、いくつかの実施形態において、第1追跡デバイスグループ307-1が、各自の対象の左肩に関連付けられ、第2追跡デバイスグループ307-2が、各自の対象の右肩に関連付けられる。さらに、いくつかの実施形態において、第3追跡デバイスグループ307-3が、各自の対象の第1ポジション(例えば、レシーバ、ディフェンシブエンド、セーフティなど)に関連付けられ、第4追跡デバイスグループ307-4が、第2ポジションに関連付けられる。追跡デバイス300のグループ化307は、特定のグループが、特定のping速度(例えば、ランニングバックのためのより速いping速度)を備えるよう指定されることを可能にする。また、追跡デバイス300のグループ化307は、特定のグループが、それぞれのグループに関連付けられていない他の追跡デバイスから隔離されることを可能にし、これは、グループの追跡デバイスによって提供されたテレメトリデータ230の表現を見る際に有用である。追跡デバイスおよび追跡デバイス管理システムに関するさらなる情報が、米国特許第9,950,238号「Object Tracking System Optimization and Tools」で見られる。
Tracking device identifier store 408 includes information about each tracking device 410-1, such as the tracking device identifier (ID) 306 of each
図10は、統計システムの一実施形態を示すブロック図である。統計システム500は、本開示に従って、様々な統計値を格納および決定する。統計システム500は、1または複数の処理ユニット(CPU)574と、周辺機器インターフェース570と、メモリコントローラ588と、ネットワークまたはその他の通信インターフェース584と、メモリ502(例えば、ランダムアクセスメモリ)と、ディスプレイ582および入力部580(例えば、キーボード、キーパッド、タッチスクリーンなど)を含むユーザインターフェース578と、出力/入力(I/O)サブシステム566と、上述の構成要素を相互接続するための1または複数の通信バス513と、上述の構成要素に給電するための電力供給システム576と、を備える。
FIG. 10 is a block diagram illustrating one embodiment of a statistical system.
いくつかの実施形態において、入力部580は、タッチセンシティブディスプレイ(タッチセンシティブ面など)である。いくつかの実施形態において、ユーザインターフェース578は、1または複数のソフトキーボード実施形態を備える。ソフトキーボード実施形態は、表示されているアイコン上に標準的(例えば、QWERTY)および/または非標準的な構成のシンボルを備えてよい。
In some embodiments,
統計システム500は、様々な統計値を見て決定する際に用いられてよいシステムの一例にすぎず、統計システム500は、任意選択的に図に示すよりも多いまたは少ない構成要素を有し、任意選択的に2以上の構成要素を組みあわせ、もしくは、任意選択的に構成要素の異なる構成または配置を有することを理解されたい。図10に示す様々な構成要素は、1または複数の信号処理および/または特定用途向け集積回路など、ハードウェア、ソフトウェア、ファームウェア、または、それらの組みあわせで実装される。
メモリ502は、任意選択的に、高速ランダムアクセスメモリを含み、さらに、任意選択的に、1または複数の磁気ディスクストレージデバイス、フラッシュメモリデバイス、または、その他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。統計システム500のその他の構成要素(CPU574など)によるメモリ502へのアクセスは、任意選択的に、メモリコントローラ588によって制御される。
周辺機器インターフェース570は、CPU574およびメモリ502に管理システムの入力および出力周辺機器を接続するために利用されうる。1または複数のプロセッサ574は、統計システム500のための様々な機能を実行するため、および、データを処理するために、メモリ502に格納されている様々なソフトウェアプログラムおよび/または命令のセットを実行する。
Peripheral interface 570 may be utilized to connect management system input and output peripherals to
いくつかの実施形態において、周辺機器インターフェース570、CPU574、および、メモリコントローラ588は、任意選択的に、単一のチップ上に実装される。いくつかの他の実施形態において、それらは、任意選択的に、別個のチップ上に実装される。
In some embodiments, peripheral interface 570,
いくつかの実施形態において、電力システム576は、電力管理システムと、1または複数の電源(例えば、バッテリ、交流(AC))と、再充電システムと、停電検出回路と、電力コンバータまたはインバータと、電力状態インジケータ(例えば、発光ダイオード(LED)など)と、ポータブルデバイスの電力の生成、管理、および、分配に関連付けられている任意のその他の構成要素と、を任意選択的に備える。
In some embodiments,
図10に示すように、リモートユーザデバイスのメモリ502は、以下を格納することが好ましい。
●オペレーティングシステム504(例えば、ANDROID、iOS、DARWIN、RTXC、LINUX、UNIX、OS X、WINDOWS、または、組み込みオペレーティングシステム(VxWorksなど))が、一般的なシステムタスク(例えば、メモリ管理、ストレージデバイス制御、電力管理など)を制御および管理するための様々なソフトウェアコンポーネントおよび/またはドライバを備え、様々なハードウェアおよびソフトウェアコンポーネントの間の通信を円滑にする、
●プレイヤーのフォーメーションを決定および分析するための位置情報分類器212、
●各スポーツ508に関する様々な統計値を格納するための履歴トレーニングデータストア214であって、ここで、各スポーツ508は、1または複数のチーム512の様々なチーム履歴データ510と、1または複数のプレイヤー516の様々なプレイヤー統計値514を含む、ならびに、
●プレイヤーのフォーメーションおよび試合の状況に関するデータを格納するための状況ストア228。
As shown in FIG. 10, the remote user device's
- The operating system 504 (e.g., ANDROID, iOS, DARWIN, RTXC, LINUX, UNIX, OS , power management, etc.) and facilitate communication between various hardware and software components;
-
- a historical
● A
位置フォーメーション分類器212(単にフォーメーション分類器と呼ばれることもある)は、ゲーム中の任意の所与の時点のプレイヤーの様々な状態およびフォーメーションに関する情報を提供する。例えば、いくつかの実施形態において、フォーメーション分類器212は、スナップ前のフォーメーションを決定するために、テレメトリデータ230を解析する。したがって、フォーメーションが決定され、テレメトリデータ230が解析されると、フォーメーションのサブカテゴリが決定されてよい(例えば、異なるランニングバックを規定する異なるサブカテゴリを持つIフォーメーション)。さらに、いくつかの実施形態において、フォーメーション分類器212は、仮想レフェリーとして機能し、プレイヤーのオフサイド、ニュートラルゾーンインフラクション、イリーガルモーション、イリーガルフォーメーション、などの違反が試合またはプレイ中に起きたか否かを判定する。いくつかの実施形態において、フォーメーション分類器212は、オフェンスフォーメーションの第1テーブル、ディフェンスフォーメーションの第2テーブル、および、スペシャルチームフォーメーションの第3テーブルなど、アメフトの試合における様々なフォーメーションの1または複数のテーブルを備える。いくつかの実施形態において、フォーメーションの上記のテーブルは、表2、表3、および、表4によって記載されているフォーメーションの一部または全部を提供する。
さらに、いくつかの実施形態において、フォーメーション分類器212は、ボールによって提供されたテレメトリデータ230と、ボールに最も近いプレイヤーのテレメトリデータとを比較することによって、ボールキャリアを決定する。同様に、いくつかの実施形態において、どちらのチームがボールを持っているかの判定が、同様に実行される。さらに、いくつかの実施形態において、フォーメーション分類器212は、プレイヤーから抽出されたテレメトリデータ230を分析してこれを競技フィールドの既知の境界ラインと比較することによって、プレイヤーが試合の境界内にいるか否かを判定する。このように、フォーメーション分類器212は、試合のボックススコアおよび/または自動カラーコメンタリーを提供するためにテレメトリデータ230を解析する。
Further, in some embodiments, the
フォーメーション分類器212は、「ニューラルネット」とラベルされているが、フォーメーション分類器212モジュールは、ニューラルネットワーク分類器を用いてチームフォーメーションの分類を実行する必要はない。いくつかの実施形態において、フォーメーション分類器212モジュールは、実際には、テレメトリデータからチームフォーメーションを読み取ることのできる任意の分類スキームを利用する。例えば、いくつかの実施形態において、フォーメーション分類器212は、最近傍アルゴリズムを用いて、チームフォーメーションの分類を実行する。別の実施形態において、フォーメーション分類器212は、クラスタリングを用いて、チームフォーメーションの分類を実行する。いくつかの実施形態において、フォーメーション分類器212によるフォーメーションの種類の解明は、図2および図3に関して記載する方法および特徴に関して開示されるように、現在のライブ試合の結果(例えば、勝敗、ポイントスプレッドなど)を予測する統計モデルにおいて共変量として用いられる。
Although
より詳細には、いくつかの実施形態において、フォーメーション分類器212は、ロジスティック回帰アルゴリズム、ニューラルネットワークアルゴリズム、サポートベクターマシン(SVM)アルゴリズム、ナイーブベイズアルゴリズム、最近傍アルゴリズム、ブーストツリーアルゴリズム、ランダムフォレストアルゴリズム、または、決定木アルゴリズムに基づいている。
More specifically, in some embodiments, the
非限定的な例として、フォーメーション分類器212は、ロジスティック回帰アルゴリズム、ニューラルネットワークアルゴリズム、サポートベクターマシン(SVM)アルゴリズム、ナイーブベイズアルゴリズム、最近傍アルゴリズム、ブーストツリーアルゴリズム、ランダムフォレストアルゴリズム、または、決定木アルゴリズムに基づいている。分類に利用される時、SVMは、ラベル付きデータから最大に離れたハイパープレーンで、所与のセットのバイナリラベル付きデータトレーニングセットを分離する。線形分離が可能ではない場合には、SVMは、特徴空間への非線形マッピングを自動的に実現する「カーネル」の技術と協働することができる。特徴空間においてSVMによって見出された超平面は、入力空間における非線形決定境界に対応する。ツリーベースの方法は、特徴空間を1セットの長方形に分割し、その後、各長方形にモデル(定数のようなもの)を当てはめる。いくつかの実施形態において、決定木は、ランダムフォレスト回帰である。即時の方法のためのフォーメーション分類器212として機能しうる1つの特定のアルゴリズムは、分類および回帰木(CART)である。即時の方法のためのフォーメーション分類器212として機能しうるその他の特定の決定木アルゴリズムは、ID3、C4.5、MART、および、ランダムフォレストを含むが、これに限定されない。
As non-limiting examples,
いくつかの実施形態において、履歴データストア214は、各スポーツ508、スポーツリーグ内の各チーム510、および、それぞれのプレイヤー512に関係する統計値を格納している。前述のように、いくつかの実施形態において、履歴データストア214に格納されているデータは、機械学習エンジン210および/またはフォーメーション分類器212のためのデータのトレーニングセットとして利用される。例えば、いくつかの実施形態において、履歴データ格納214に格納されているデータは、(例えば、プレイヤーがプロの新人である場合に大学アメフトの統計データを用いて)同様のリーグの他のデータセットから推定される時のように、リーグの開始時に設定される初期データとして利用され、または、新しい統計値が生成されている(例えば、以前は知られていなかった統計値が重要になる)場合にデータ点を作成するために利用される。さらに、いくつかの実施形態において、以前に行った試合からのデータが、履歴データストア214内に格納されている。
In some embodiments,
いくつかの実施形態において、状況ストア228は、情報のキャッシュとして機械学習エンジン210の1または複数のデータベース内に格納されているデータを含む。状況ストア228のこのキャッシュは、それぞれのデータベースにクエリする必要なしに、高速でデータをクエリして利用することを可能にする。いくつかの実施形態において、状況ストア288は、それぞれの試合に対するデータの新しいキャッシュを作成する。しかしながら、本開示は、それに限定されない。
In some embodiments,
図11は、オッズ管理システムの一実施形態を示すブロック図である。オッズ管理システム600は、本開示に従って、様々なオッズを格納および決定する。オッズ管理システム600は、1または複数の処理ユニット(CPU)674と、周辺機器インターフェース670と、メモリコントローラ688と、ネットワークまたはその他の通信インターフェース684と、メモリ602(例えば、ランダムアクセスメモリ)と、ディスプレイ682および入力部680(例えば、キーボード、キーパッド、タッチスクリーンなど)を含むユーザインターフェース678と、出力/入力(I/O)サブシステム666と、上述の構成要素を相互接続するための1または複数の通信バス613と、上述の構成要素に給電するための電力供給システム676と、を備える。
FIG. 11 is a block diagram illustrating one embodiment of an odds management system.
いくつかの実施形態において、入力部680は、タッチセンシティブディスプレイ(タッチセンシティブ面など)である。いくつかの実施形態において、ユーザインターフェース778は、1または複数のソフトキーボード実施形態を備える。ソフトキーボード実施形態は、表示されているアイコン上に標準的(QWERTY)および/または非標準的な構成のシンボルを備えてよい。
In some embodiments, input 680 is a touch-sensitive display (such as a touch-sensitive surface). In some embodiments,
オッズ管理システム600は、様々な統計値を見て決定する際に用いられてよいシステムの一例にすぎず、オッズ管理システム600は、任意選択的に図に示すよりも多いまたは少ない構成要素を有し、任意選択的に2以上の構成要素を組みあわせ、もしくは、任意選択的に構成要素の異なる構成または配置を有することを理解されたい。図11に示す様々な構成要素は、1または複数の信号処理および/または特定用途向け集積回路など、ハードウェア、ソフトウェア、ファームウェア、または、それらの組みあわせで実装される。
メモリ602は、任意選択的に、高速ランダムアクセスメモリを含み、さらに、任意選択的に、1または複数の磁気ディスクストレージデバイス、フラッシュメモリデバイス、または、その他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。オッズ管理システム600のその他の構成要素(CPU674など)によるメモリ602へのアクセスは、任意選択的に、メモリコントローラ688によって制御される。
周辺機器インターフェース670は、CPU674およびメモリ602に管理システムの入力および出力周辺機器を接続するために利用されうる。1または複数のプロセッサ674は、オッズ管理システム600のための様々な機能を実行するため、および、データを処理するために、メモリ602に格納されている様々なソフトウェアプログラムおよび/または命令のセットを実行する。
Peripheral interface 670 may be utilized to connect management system input and output peripherals to
いくつかの実施形態において、周辺機器インターフェース670、CPU674、および、メモリコントローラ688は、任意選択的に、単一のチップ上に実装される。いくつかの他の実施形態において、それらは、任意選択的に、別個のチップ上に実装される。
In some embodiments, peripheral interface 670,
いくつかの実施形態において、電力システム676は、電力管理システムと、1または複数の電源(例えば、バッテリ、交流(AC))と、再充電システムと、停電検出回路と、電力コンバータまたはインバータと、電力状態インジケータ(例えば、発光ダイオード(LED)など)と、ポータブルデバイスの電力の生成、管理、および、分配に関連付けられている任意のその他の構成要素と、を任意選択的に備える。
In some embodiments,
図11に示すように、リモートユーザデバイスのメモリ602は、以下を格納することが好ましい。
●オペレーティングシステム604(例えば、ANDROID、iOS、DARWIN、RTXC、LINUX、UNIX、OS X、WINDOWS、または、組み込みオペレーティングシステム(VxWorksなど))が、一般的なシステムタスク(例えば、メモリ管理、ストレージデバイス制御、電力管理など)を制御および管理するための様々なソフトウェアコンポーネントおよび/またはドライバを備え、様々なハードウェアおよびソフトウェアコンポーネントの間の通信を円滑にする、
●1または複数の予測または結果モデルを格納するためのモデリングエンジン200であって、以下を備える。
○試合中にシナリオの予測ポイント値を決定するための予測ポイントモデルモジュール222、
○試合に勝つ確率を決定するための勝利確率モデル224、および、
○決定するためのプレイヤーごと代替選手比貢献度モデルモジュール226、
○現在行われている試合に関連付けられている情報を受信および通信するためのリアルタイム試合状況モジュール614、ならびに、
○様々なオッズおよび賭けシステムの管理を円滑にするためのオッズ管理モジュール616。
As shown in FIG. 11, the remote user device's
- The operating system 604 (e.g., ANDROID, iOS, DARWIN, RTXC, LINUX, UNIX, OS , power management, etc.) and facilitate communication between various hardware and software components;
- A
o a predicted
o a probability of winning
○ Replacement player ratio
o a real-time
o
前述のように、モデリングエンジン200は、スポーツイベントで統計値を生成して結果を予測するために用いられる様々なアルゴリズムおよびモデルを備える。いくつかの実施形態において、これらのモデルは、試合の各プレイに対する数値を提供する予測ポイントモデル222を含む。例えば、タッチダウンにつながる試合中のドライブが、5ヤードのラッシュ、94ヤードのパス、および、1ヤードのラッシュを含むプレイを有する場合、1ヤードのラッシュがタッチダウンにつながったとしても、94ヤードのパスは、ドライブ内ではるかに重要な役割を有する。したがって、いくつかの実施形態において、5ヤードのラッシュは、0.5の予測ポイント値を割り当てられ、94ヤードのパスは、5.5の予測ポイント値を割り当てられ、1ヤードのラッシュは、1の予測ポイント値を割り当てられ、ここで、高い値は、より重要なプレイすなわち試合を決定付けるプレイを示す。いくつかの実施形態において、モデリングエンジン200は、図2および図3に関して記載する方法および特徴に関して開示されるように、本開示に従って収集されたテレメトリデータを用いて、試合の結果(例えば、勝敗、ポイントスプレッドなど)を予測する。
As previously mentioned,
いくつかの実施形態において、リアルタイム試合状況モジュール614は、試合中に起きた状況に関連付けられている情報を受信する。次いで、この情報は、上述のモデル内の様々な重みおよび値を調整する際に利用される。例えば、クォーターバックが足首をひねり、ショットガンポジションからあらゆるプレイを行わなければならない場合、このようにクォーターバックが動けないことは、リアルタイム試合状況モジュール614を通して試合モデル220に反映される。
In some embodiments, real-time
図12は、ユーザデバイスの一実施形態を示すブロック図である。ユーザデバイスは、本開示に従ったエンドユーザに関連付けられたリモートユーザデバイス700である。ユーザデバイス700は、1または複数の処理ユニット(CPU)774と、周辺機器インターフェース770と、メモリコントローラ788と、ネットワークまたはその他の通信インターフェース784と、メモリ702(例えば、ランダムアクセスメモリ)と、ディスプレイ782および入力部780(例えば、キーボード、キーパッド、タッチスクリーンなど)を含むユーザインターフェース778と、出入力(I/O)サブシステム766と、任意選択的な加速度計717と、任意選択的なGPS719と、任意選択的なオーディオ回路772と、任意選択的なスピーカ760と、任意選択的なマイク762と、ユーザデバイス700への接触の強度を検出するなどのための1または複数の任意選択的なセンサ764(例えば、デバイス700のタッチセンシティブディスプレイシステムなどのタッチセンシティブ面)および/または光学センサと、上述の構成要素を相互接続するための1または複数の通信バス713と、上述の構成要素に給電するための電力供給システム776と、を備える。
FIG. 12 is a block diagram illustrating one embodiment of a user device. The user device is a
いくつかの実施形態において、入力部780は、タッチセンシティブディスプレイ(タッチセンシティブ面など)である。いくつかの実施形態において、ユーザインターフェース778は、1または複数のソフトキーボード実施形態を備える。ソフトキーボード実施形態は、表示されているアイコン上に標準的(QWERTY)および/または非標準的な構成のシンボルを備えてよい。
In some embodiments,
ユーザデバイス700は、エンドユーザによって用いられてよい多機能デバイスの一デバイス例にすぎず、ユーザデバイス700は、任意選択的に図に示すよりも多いまたは少ない構成要素を有し、任意選択的に2以上の構成要素を組みあわせ、もしくは、任意選択的に構成要素の異なる構成または配置を有することを理解されたい。図12に示す様々な構成要素は、1または複数の信号処理および/または特定用途向け集積回路など、ハードウェア、ソフトウェア、ファームウェア、または、それらの組みあわせで実装される。
メモリ702は、任意選択的に、高速ランダムアクセスメモリを含み、さらに、任意選択的に、1または複数の磁気ディスクストレージデバイス、フラッシュメモリデバイス、または、その他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。ユーザデバイス700のその他の構成要素(CPU774など)によるメモリ702へのアクセスは、任意選択的に、メモリコントローラ788によって制御される。
周辺機器インターフェース770は、CPU774およびメモリ702に管理システムの入力および出力周辺機器を接続するために利用されうる。1または複数のプロセッサ774は、ユーザデバイス700のための様々な機能を実行するため、および、データを処理するために、メモリ702に格納されている様々なソフトウェアプログラムおよび/または命令のセットを実行する。
Peripheral interface 770 may be utilized to connect management system input and output peripherals to
いくつかの実施形態において、周辺機器インターフェース770、CPU774、および、メモリコントローラ788は、任意選択的に、単一のチップ上に実装される。いくつかの他の実施形態において、それらは、任意選択的に、別個のチップ上に実装される。
In some embodiments, peripheral interface 770,
いくつかの実施形態において、オーディオ回路772、スピーカ760、および、マイク762は、ユーザとデバイス700との間のオーディオインターフェースを提供する。オーディオ回路772は、周辺機器インターフェース770からオーディオデータを受信し、オーディオデータを電気信号に変換し、電気信号をスピーカ760へ伝送する。スピーカ760は、電気信号を人間に聞こえる音波へ変換する。また、オーディオ回路772は、マイク762によって音波から変換された電気信号を受信する。オーディオ回路772は、電気信号をオーディオデータに変換し、処理に向けてオーディオデータを周辺機器インターフェース770へ伝送する。オーディオデータは、任意選択的に、周辺機器インターフェース770によって、メモリ702および/またはRF回路784からリトリーブされ、および/または、メモリ702および/またはRF回路784へ伝送される。
In some embodiments,
いくつかの実施形態において、電力システム776は、電力管理システムと、1または複数の電源(例えば、バッテリ、交流(AC))と、再充電システムと、停電検出回路と、電力コンバータまたはインバータと、電力状態インジケータ(例えば、発光ダイオード(LED)など)と、ポータブルデバイスの電力の生成、管理、および、分配に関連付けられている任意のその他の構成要素と、を任意選択的に備える。
In some embodiments,
図12に示すように、リモートユーザデバイスのメモリ702は、以下を格納することが好ましい。
●オペレーティングシステム704(例えば、ANDROID、iOS、DARWIN、RTXC、LINUX、UNIX、OS X、WINDOWS、または、組み込みオペレーティングシステム(VxWorksなど))が、一般的なシステムタスク(例えば、メモリ管理、ストレージデバイス制御、電力管理など)を制御および管理するための様々なソフトウェアコンポーネントおよび/またはドライバを備え、様々なハードウェアおよびソフトウェアコンポーネントの間の通信を円滑にする、
●本開示の様々なシステムおよびデバイスとの通信中に特定のユーザデバイスを識別するために用いられる電子アドレス706、
●対応するユーザデバイス700に関連付けられたそれぞれのユーザに関する関連情報(ユーザ名、ユーザパスワード、アクセストークンを含むユーザアクセス情報など)を格納するユーザ情報ストア708、
●ホワイトボードフィードモジュール712、アバターフィードモジュール714、および、ビデオフィードモジュール716を備えた、試合の様々な表現を見ると共に、試合に関連付けられている様々な統計値を見るための試合フィードモジュール710、ならびに、
●試合のシナリオに賭けることを円滑にする賭けモジュール718。
As shown in FIG. 12, the remote user device's
- The operating system 704 (e.g., ANDROID, iOS, DARWIN, RTXC, LINUX, UNIX, OS , power management, etc.) and facilitate communication between various hardware and software components;
- an electronic address 706 used to identify a particular user device during communication with the various systems and devices of this disclosure;
- a user information store 708 that stores relevant information about each user associated with the corresponding user device 700 (such as user access information including username, user password, and access token);
● a match feed module 710 for viewing various representations of the match and for viewing various statistics associated with the match, including a whiteboard feed module 712, an avatar feed module 714, and a video feed module 716; as well as
● A betting module 718 that facilitates betting on match scenarios.
いくつかの実施形態において、賭けモジュール718は、図2および図3に関して記載する方法および特徴に関して開示されるように、本開示に従って収集されたテレメトリデータを用いて、拡張共変量を用いて現在の試合の結果(例えば、勝負、ポイントスプレッドなど)を予測する。いくつかの実施形態において、賭けモジュール718は、本開示に従って収集されたテレメトリデータを用いて、現在のライブの試合において将来の試合中のイベントに対するオッズを提供する。 In some embodiments, the betting module 718 uses telemetry data collected in accordance with this disclosure to determine the current Predict the outcome of a match (e.g., win, point spread, etc.). In some embodiments, the betting module 718 uses telemetry data collected in accordance with this disclosure to provide odds for future in-game events in the current live game.
図13は、本開示の一実施形態に従って、追跡システムの構成要素を含む競技フィールドを含んだ環境例を示す。この追跡システムは、イベントのビデオを追跡および/またはキャプチャするために、コンテンツクリエータ140に含まれうる。環境例(例えば、スタジアム906)900である。環境900は、試合(例えば、アメフトの試合)が行われる競技フィールド902を含む。環境900は、競技フィールド902と、競技フィールドを直接取り囲んでいるエリア(例えば、試合に参加していない対象(対象930-1および対象940-1など)を含むエリア)とを含む領域904を含む。環境900は、試合のそれぞれの対象に関連付けられている1または複数の追跡デバイス300からテレメトリエータ300を受信するアンカデバイスアレイ120(例えば、アンカデバイス1201-1、アンカデバイス120-2、・・・、アンカデバイス120-Q)を含む。図9に示すように、いくつかの実施形態において、アンカデバイスのアレイは、テレメトリ解析システム240(例えば、図9のトラッカ管理システム400)と(例えば、通信ネットワーク106を介して)通信する。さらに、いくつかの実施形態において、1または複数のカメラ140(例えば、カメラ140-1)は、スポーツイベントの画像および/またはビデオをキャプチャし、これは、仮想再現の形成時に用いられる。図13では、マーカ930が、試合の第1チームの対象を表し、一方、マーカ940が、試合の第2チームの対象を表している。
FIG. 13 illustrates an example environment that includes a playing field that includes components of a tracking system, in accordance with one embodiment of the present disclosure. This tracking system may be included in
図14は、いくつかの実施形態に従って、ビデオフィードをカスタマイズおよび合成するためにプログラムされたコンピュータシステムを示す機能図である。明らかに、記載したビデオ合成/カスタマイズ技術を実行するために、他のコンピュータシステムアーキテクチャおよび構成を用いることも可能である。以下に述べるような様々なサブシステムを備えるコンピュータシステム1400は、少なくとも1つのマイクロプロセッササブシステム(プロセッサまたは中央処理装置(CPU)1402とも呼ばれる)を備える。例えば、プロセッサ1402は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ1402は、コンピュータシステム1400の動作を制御する汎用デジタルプロセッサである。いくつかの実施形態において、プロセッサ1402は、さらに、1または複数のコプロセッサまたは専用プロセッサ(例えば、グラフィックプロセッサ、ネットワークプロセッサなど)を備える。メモリ1410からリトリーブされた命令を用いて、プロセッサ1402は、入力デバイス(例えば、画像処理デバイス1406、I/Oデバイスインターフェース1404)で受信される入力データの受信および操作、ならびに、出力デバイス(例えば、ディスプレイ1418)でのデータの出力および表示を制御する。
FIG. 14 is a functional diagram illustrating a computer system programmed to customize and synthesize video feeds, according to some embodiments. Obviously, other computer system architectures and configurations may be used to implement the video compositing/customization techniques described.
プロセッサ1402は、メモリ1410と双方向に接続されており、メモリ1410は、例えば、1または複数のランダムアクセスメモリ(RAM)ならびに/もしくは1または複数の読み出し専用メモリ(ROM)を含みうる。当業者に周知のように、メモリ1410は、一般的な記憶領域、一時(例えば、スクラッチパッド)メモリ、および/または、キャッシュメモリとして用いることができる。メモリ1410は、さらに、入力データおよび処理済みデータを格納するため、プロセッサ1402上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納するために利用できる。また、当業者に周知のように、メモリ1410は、通例、機能(例えば、プログラムされた命令)を実行するためにプロセッサ1402によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、メモリ1410は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述する任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ1402は、頻繁に必要になるデータをメモリ1410に含まれるキャッシュメモリに直接的かつ非常に迅速に格納しリトリーブすることもできる。
着脱可能マスストレージデバイス1412が、コンピュータシステム1400にさらなるデータ記憶容量を提供しており、プロセッサ1402に対して双方向(読み出し/書き込み)または単方向(読み出しのみ)で任意選択的に接続されている。固定マスストレージ1420も、例えば、さらなるデータ記憶容量を提供しうる。例えば、ストレージデバイス1412および/または1420は、磁気テープ、フラッシュメモリ、PCカード、ハードドライブ(例えば、磁気、光学、または、ソリッドステートドライブ)のような携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体を含みうる。マスストレージ1412および/または1420は、一般に、プロセッサ1402によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。マスストレージ1412および1420に保持された情報は、必要であれば、仮想メモリとしてのメモリ1410(例えば、RAM)の一部に標準的な方式で組み込まれうることが理解される。
A removable
プロセッサ1402がストレージサブシステムにアクセスできるようにすることに加えて、バス1414は、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイ1418、ネットワークインターフェース1416、入力/出力(I/O)デバイスインターフェース1404、画像処理デバイス1406、ならびに、その他のサブシステムおよびデバイスを含みうる。例えば、画像処理デバイス1406は、カメラ、スキャナなどを含みうる。I/Oデバイスインターフェース1404は、タッチスクリーン(例えば、ジェスチャ解釈をサポートする容量式タッチセンシティブスクリーン)、マイクロホン、サウンドカード、スピーカ、キーボード、ポインティングデバイス(例えば、マウス、スタイラス、人間の指)、全地球測位システム(GPS)受信機、加速度計と相互作用するためのデバイスインターフェース、ならびに/もしくは、システム1400と相互作用するための任意のその他の適切なデバイスインターフェースを含みうる。複数のI/Oデバイスインターフェースが、コンピュータシステム1400と共に用いられてよい。I/Oデバイスインターフェースは、プロセッサ1402がデータを送信すること、ならびに、より典型的には、他のデバイス(キーボード、ポインティングデバイス、マイクロホン、タッチスクリーン、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど)からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。
In addition to allowing
ネットワークインターフェース1416は、図に示すように、ネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークにプロセッサ1402を接続することを可能にする。例えば、ネットワークインターフェース1416を通して、プロセッサ1402は、方法/処理ステップを実行する過程で、別のネットワークから情報(例えば、データオブジェクトまたはプログラム命令)を受信したり、別のネットワークに情報を出力したりすることができる。情報は、しばしば、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード(または同様のデバイス)と、プロセッサ1402によって実装(例えば、実行/実施)される適切なソフトウェアとを用いて、コンピュータシステム1400を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ1402上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク(インターネット、イントラネットワーク、または、ローカルエリアネットワークなど)上で実行されてもよい。さらなるマスストレージデバイス(図示せず)が、ネットワークインターフェース1416を通してプロセッサ1402に接続されてもよい。
さらに、本明細書に開示された様々な実施形態は、さらに、様々なコンピュータ実装された動作を実行するためのプログラムコードを備えたコンピュータ読み取り可能な媒体を含むコンピュータストレージ製品に関する。コンピュータ読み取り可能な媒体は、データを格納できる任意のデータストレージデバイスを含み、そのデータは、後にコンピュータシステムによって読み出されうる。コンピュータ読み取り可能な媒体の例は、以下を含むがそれらに限定されない。ディスクおよび磁気テープなどの磁気媒体、CD-ROMディスクなどの光学媒体、光学ディスクなどの磁気光学媒体、ならびに、特定用途向け集積回路(ASIC)、プログラム可能論理デバイス(PLD)、および、ROM/RAMデバイスなど、特別に構成されたハードウェアデバイス。プログラムコードの例としては、例えば、コンパイラによって生成されるマシンコード、または、インタープリタを用いて実行できる高水準コード(例えば、スクリプト)を含むファイルが挙げられる。 Furthermore, various embodiments disclosed herein further relate to computer storage products that include computer-readable media having program code for performing various computer-implemented operations. Computer-readable media includes any data storage device that can store data that can later be read by a computer system. Examples of computer readable media include, but are not limited to: Magnetic media such as disks and magnetic tape, optical media such as CD-ROM disks, magneto-optical media such as optical disks, and application specific integrated circuits (ASICs), programmable logic devices (PLDs), and ROM/RAM. A specially configured hardware device, such as a device. Examples of program code include, for example, machine code produced by a compiler, or files containing high-level code (eg, scripts) that can be executed using an interpreter.
図14に示したコンピュータシステムは、本明細書に開示された様々な実施形態と共に利用するのに適切なコンピュータシステムの一例にすぎない。かかる利用に適した他のコンピュータシステムは、より多いまたは少ないサブシステムを含みうる。いくつかのコンピュータシステムにおいて、サブシステムは、構成要素を共有しうる(例えば、スマートフォン、タブレットなど、タッチスクリーンを備えたデバイスについては、I/Oデバイスインターフェース1404およびディスプレイ1418が、ユーザ入力の検出およびユーザに対する出力の表示の両方を行うタッチセンシティブスクリーン構成要素を共有する)。さらに、バス1414は、サブシステムをつなぐよう機能する任意の相互接続スキームの例である。異なる構成のサブシステムを有する他のコンピュータアーキテクチャが利用されてもよい。
The computer system illustrated in FIG. 14 is but one example of a computer system suitable for use with the various embodiments disclosed herein. Other computer systems suitable for such use may include more or fewer subsystems. In some computer systems, subsystems may share components (e.g., for devices with touch screens, such as smartphones, tablets, etc., the I/
ここで、ライブスポーツコンテンツを伴うカスタマイズされた合成ビデオデータを提供する別の処理例について説明する。 Another example process for providing customized composite video data with live sports content will now be described.
図15は、ライブスポーツのためのビデオフィードをカスタマイズおよび合成するための処理の一実施形態を示すフローチャートである。工程の各々は、特に明記しない限りは、図2に記載の工程と同様である。 FIG. 15 is a flowchart illustrating one embodiment of a process for customizing and compositing video feeds for live sports. Each of the steps are similar to those described in FIG. 2 unless otherwise specified.
ブロック1501を参照すると、処理は、ライブイベントのビデオフィードを受信する。例えば、ライブイベントは、2プレイヤーまたは2チームの間の試合を含む。様々な実施形態において、処理は、リモートサーバからバックグラウンドビデオフィードを受信する。ライブイベントのビデオフィードは、クライアントデバイス上に表示されたユーザインターフェースのバックグラウンドで再生可能であるため、バックグラウンドビデオフィードと呼ばれる。 Referring to block 1501, the process receives a video feed of a live event. For example, a live event includes a match between two players or two teams. In various embodiments, the process receives a background video feed from a remote server. A video feed of a live event is called a background video feed because it can be played in the background of a user interface displayed on a client device.
ブロック1503を参照すると、処理は、第1フレームに関連付けられているタイムスタンプ付きメタデータからバックグラウンドビデオフィードの第1フレームの第1タイムスタンプを決定する。ビデオフィードの各フレームは、或る時点(例えば、基準時点、局所的な時点、など)に対応するタイムスタンプ付きメタデータに関連付けられている。いくつかの実施形態において、ビデオフィードの各部分(例えば、グラフィック/テキスト部分、オーディオ部分)は、タイムスタンプ付きのメタデータに関連付けられている。ビデオフィードをタイムスタンプ付きメタデータに関連付けることは、ビデオフィードと合成(例えば、オーバーレイ)されて、時系列で再生される1または複数のデータソース(試合状態データ要素、試合クロックデータ要素、履歴データ要素など)からのデータ要素の整合(同期など)を可能にする。したがって、各データ要素は、ビデオフィードの送信中に、イベント(ライブイベントを含む)中に発生した時にビデオフィードとデータ要素を合成できるように、タイムスタンプ付きメタデータと共に格納されている。 Referring to block 1503, processing determines a first timestamp for a first frame of the background video feed from timestamped metadata associated with the first frame. Each frame of the video feed is associated with time-stamped metadata that corresponds to a point in time (eg, a reference point in time, a local point in time, etc.). In some embodiments, each portion of the video feed (eg, graphics/text portion, audio portion) is associated with time-stamped metadata. Associating a video feed with time-stamped metadata can be composited (e.g., overlaid) with the video feed and played back in chronological order from one or more data sources (game state data elements, game clock data elements, historical data elements, etc.). Enables alignment (e.g. synchronization) of data elements from one element to another (e.g. elements). Accordingly, each data element is stored with time-stamped metadata during transmission of the video feed so that the video feed and the data element can be combined as they occur during events (including live events).
それぞれのフレームのタイムスタンプの決定に従って、クエリが、コンピュータシステムへ通信(例えば、送信)される(例えば、図1に示したシステムによって格納されているデータ要素の要求のためにAPIサーバを介して通信される)。いくつかの実施形態において、クエリは、時間範囲制限を含む(例えば、指定する)。例えば、いくつかの実施形態において、クエリは、コンピュータシステムによって格納されているデータ要素の内、時間範囲内にある1または複数のデータ要素へのクエリである。いくつかの実施形態において、時間範囲は、それぞれのフレームの決定されたタイムスタンプに基づいている。例えば、いくつかの実施形態において、時間範囲は、決定されたタイムスタンプの時刻から将来の時点までの範囲である(例えば、決定されたタイムスタンプの時刻から、将来の10秒、将来の20秒、将来の30秒、・・・、将来の60秒まで、など)。いくつかの実施形態において、時間範囲は、動的時間範囲である。例えば、いくつかの実施形態において、動的時間範囲は、それぞれのユーザデバイスの帯域幅および/またはビデオフィードモジュール716の帯域幅(例えば、視覚化バッファモジュール720のサイズおよび/または帯域幅)に依存する。それぞれのユーザデバイス700および/またはビデオフィードモジュール716の帯域幅が比較的低いと判定された場合、動的時間範囲は、ユーザデバイスおよび/またはビデオフィードモジュールに負荷を掛けすぎないように、クエリが応答時に受信するデータが少なくなるように短くされる。
According to the determination of the timestamp of each frame, a query is communicated (e.g., sent) to the computer system (e.g., via an API server for requesting data elements stored by the system shown in FIG. 1). communicated). In some embodiments, the query includes (eg, specifies) a time range restriction. For example, in some embodiments, the query is for one or more data elements within a time range that are stored by the computer system. In some embodiments, the time range is based on determined timestamps of each frame. For example, in some embodiments, the time range ranges from the time of the determined timestamp to a future point in time (e.g., from the time of the determined timestamp to 10 seconds in the future, 20 seconds in the future , 30 seconds in the future, ..., up to 60 seconds in the future, etc.). In some embodiments, the time range is a dynamic time range. For example, in some embodiments, the dynamic time range depends on the bandwidth of the respective user device and/or the bandwidth of the video feed module 716 (e.g., the size and/or bandwidth of the visualization buffer module 720). do. If the bandwidth of the
ブロック1505を参照すると、処理は、第1タイムスタンプによって決定された時間範囲内のデータ要素をリモートシステムにクエリする。いくつかの実施形態において、複数のデータ要素は、複数の試合クロックデータ要素(例えば、試合クロック要素および関連メタデータのアレイ)を含む。いくつかの実施形態において、複数のデータ要素は、複数の試合状態データ要素(例えば、試合状態要素および関連メタデータのアレイ)を含む。いくつかの実施形態において、複数のデータ要素は、複数の位置情報データ要素(例えば、1または複数の対象の位置情報および関連メタデータのアレイ)を含む。いくつかの実施形態において、複数のデータ要素は、複数のグラフィックデータ要素(例えば、複数の埋め込みグラフィック、ニュースおよび/または気象などの複数のテキストデータ要素、および、関連メタデータ)を含む。いくつかの実施形態において、複数のデータ要素は、複数のテキストデータ要素(例えば、ニュース記事、気象情報、など)を含む。いくつかの実施形態において、それぞれの試合状態データ要素は、一致するタイムスタンプ値でのスポーツイベントのスコアである。いくつかの実施形態において、複数のデータ要素は、上記のデータ要素の組み合わせを含む。 Referring to block 1505, the process queries the remote system for data elements within a time range determined by the first timestamp. In some embodiments, the plurality of data elements includes a plurality of game clock data elements (eg, an array of game clock elements and associated metadata). In some embodiments, the plurality of data elements includes a plurality of match state data elements (eg, an array of match state elements and associated metadata). In some embodiments, the plurality of data elements includes a plurality of location information data elements (eg, an array of one or more subject location information and associated metadata). In some embodiments, the data elements include graphical data elements (eg, embedded graphics, textual data elements such as news and/or weather, and associated metadata). In some embodiments, the data elements include text data elements (eg, news articles, weather information, etc.). In some embodiments, each match state data element is a score of a sporting event at a matching timestamp value. In some embodiments, the plurality of data elements includes a combination of the above data elements.
いくつかの実施形態において、方法は、さらに、クライアントデバイス(例えば、ユーザデバイス700)の帯域幅を用いて、視覚化バッファ(例えば、視覚化バッファモジュール720)のサイズを決める工程を備える。いくつかの実施形態において、クライアントデバイスの帯域幅を用いて視覚化バッファのサイズを決める工程は、帯域幅の低下の判定に応答して視覚化バッファのサイズを大きくする。さらに、クライアントデバイスの帯域幅を用いて視覚化バッファのサイズを決定する工程は、帯域幅の改善の判定に応答して視覚化バッファのサイズを小さくする。この視覚化バッファのサイズ決定は、或る数の時間整合済みフレームが視覚化バッファへ動的にポストされることを可能にする。例えば、いくつかの実施形態において、視覚化バッファにポストされる時間整合済みフレームの数を減らすと、クライアントデバイスへの負荷が減る。 In some embodiments, the method further comprises sizing the visualization buffer (eg, visualization buffer module 720) using the bandwidth of the client device (eg, user device 700). In some embodiments, sizing the visualization buffer using the client device's bandwidth increases the size of the visualization buffer in response to the determination of reduced bandwidth. Furthermore, determining the size of the visualization buffer using the client device's bandwidth reduces the size of the visualization buffer in response to determining the bandwidth improvement. This visualization buffer sizing allows a certain number of time-aligned frames to be dynamically posted to the visualization buffer. For example, in some embodiments, reducing the number of time-aligned frames posted to the visualization buffer reduces load on the client device.
ブロック1507を参照すると、方法は、通信されたクエリに応答するリモートコンピュータシステムから複数のデータ要素を受信する工程を備える。いくつかの実施形態において、コンピュータシステムから受信される複数のデータ要素は、クエリによって要求された複数のデータ要素を含む。しかしながら、本開示は、それに限定されない。例えば、いくつかの実施形態において、第1複数のデータ要素が、クエリによって要求され、それに従って、第2複数のデータの要素が、コンピュータシステムから受信される(例えば、第1複数のデータ要素の内の一部のデータ要素のみが利用可能である)。それでも、いくつかの実施形態において、クエリに応答して受信される各データ要素は、特定の時間範囲内にある(例えば、含まれる)関連タイムスタンプ付きメタデータを含む(例えば、時間範囲は、特定の日の1:04PMから1:06PMまでであり、それに従って、クエリの結果として受信されるデータ要素は、その特定の日の1:04PMから1:06PMまでの間の時間に関連付けられたメタデータを含む)。いくつかの実施形態において、複数のデータ要素は、システムの1または複数のデータストア(例えば、履歴データストア214、状況ストア228など)から受信される。いくつかの実施形態において、複数のデータ要素は、ユーザデバイス上にローカルに格納されている。いくつかの実施形態において、複数のデータ要素は、ユーザデバイス上にローカルに格納されている1または複数のデータ要素と、コンピュータシステム上(例えば、履歴データストア214、状況ストア228など)に格納されている1または複数のデータ要素と、を含む。
Referring to block 1507, the method comprises receiving a plurality of data elements from a remote computer system responsive to the communicated query. In some embodiments, the plurality of data elements received from the computer system include the plurality of data elements requested by the query. However, the present disclosure is not limited thereto. For example, in some embodiments, a first plurality of data elements is requested by a query, and accordingly, a second plurality of data elements are received from the computer system (e.g., only some data elements are available). Still, in some embodiments, each data element received in response to a query includes associated timestamped metadata that is within (e.g., includes) a particular time range (e.g., the time range is from 1:04 PM to 1:06 PM on a particular day, and accordingly, the data elements received as a result of the query were associated with a time between 1:04 PM and 1:06 PM on that particular day. (including metadata). In some embodiments, multiple data elements are received from one or more data stores of the system (eg,
ブロック1509を参照すると、処理は、データ要素およびフレームにそれぞれ関連付けられているタイムスタンプの一致に基づいてビデオフィードの個々のフレームを整合させて、時間整合済みフレームを取得する。クエリの結果として受信された(例えば、APIサーバ260を介して通信された)複数のデータ要素の内の個々のデータ要素が、ビデオフィードの複数のフレームの内の個々のフレームと整合される。それぞれのフレームおよびそれぞれのデータ要素は、複数のフレーム内のそれぞれのフレームに関連付けられている各タイムスタンプと、複数のデータ要素の内のそれぞれのデータ要素に関連付けられている各タイムスタンプとの一致に基づいて整合される。例えば、表4に示した例に関して、試合クロックデータ要素のアレイおよび試合状態データ要素のアレイの各々が、ユーザデバイスによってコンピュータシステムから受信される。これらのアレイのデータ要素の各々に関連付けられているタイムスタンプ付きメタデータを用いて、対応する試合クロックデータ要素、および、試合状態データ要素が、同じタイムスタンプを持つビデオフィードのそれぞれのフレームと整合される。この整合により、複数の時間整合済みフレームを得る。例えば、ビデオフィードのフレームが、00:00:06のタイムスタンプを有すると決定される。それに従って、00:00:06の関連付けられているタイムスタンプ付きメタデータを有する対応する試合クロックデータ要素および対応する試合状態データ要素が、そのフレームと整合されて、時間整合済みフレームが得られる。複数の時間整合済みフレームの内のそれぞれの時間整合済みフレームは、それぞれの時間整合済みフレームと時間の一致する複数のデータ要素の内の1または複数のデータ要素とオーバレイされる。いくつかの実施形態において、1または複数のデータ要素のオーバレイ工程は、ビデオフィード上に埋め込みグラフィックを合成する工程を含む(例えば、埋め込みスクローリングティッカー(テロップ)、埋め込みスコアボード、埋め込み気象状況、など)。いくつかの実施形態において、オーバレイ工程は、それぞれのデータ要素をアフォーダンス領域と関連付ける工程を含み、これについては、後に詳述する。 Referring to block 1509, processing aligns individual frames of the video feed based on matching data elements and timestamps associated with the frames, respectively, to obtain time-aligned frames. Individual data elements of the plurality of data elements received as a result of the query (e.g., communicated via API server 260) are matched with individual frames of the plurality of frames of the video feed. Each frame and each data element matches each timestamp associated with each frame in the plurality of frames with each timestamp associated with each data element in the plurality of data elements. Aligned based on For example, with respect to the example shown in Table 4, each of the array of game clock data elements and the array of game status data elements are received by the user device from the computer system. Using the timestamped metadata associated with each of these array data elements, the corresponding match clock data element and match state data element are aligned with each frame of the video feed that has the same timestamp. be done. This alignment results in multiple time aligned frames. For example, a frame of a video feed is determined to have a timestamp of 00:00:06. Accordingly, a corresponding match clock data element and a corresponding match state data element with associated timestamped metadata of 00:00:06 are aligned with that frame to obtain a time aligned frame. Each time-aligned frame of the plurality of time-aligned frames is overlaid with one or more data elements of the plurality of data elements coincident in time with the respective time-aligned frame. In some embodiments, overlaying the one or more data elements includes compositing embedded graphics on the video feed (e.g., embedded scrolling ticker, embedded scoreboard, embedded weather conditions, etc.) ). In some embodiments, overlaying includes associating each data element with an affordance region, as described in more detail below.
いくつかの実施形態において、複数のフレームの内のそれぞれのフレームに関連付けられている各タイムスタンプと、複数のデータ要素の内のそれぞれのデータ要素に関連付けられている各タイムスタンプとの一致に基づいて、複数のデータ要素の内の個々のデータ要素を複数のフレームの内の個々のフレームと整合させる工程は、それぞれのフレームと一致するタイムスタンプ値を有するそれぞれの試合クロックデータ要素を複数の試合クロックデータ要素の中から特定する工程を含む。それぞれの試合クロックデータ要素(例えば、図17のデータ要素1304-4)は、それぞれのフレーム上にオーバレイされ、それにより、1または複数の時間整合済みフレームの内の1つの時間整合済みフレームを形成する。 In some embodiments, based on a match between each timestamp associated with a respective frame of the plurality of frames and each timestamp associated with a respective data element of the plurality of data elements. The step of aligning each data element of the plurality of data elements with each frame of the plurality of frames includes aligning each game clock data element with a timestamp value that matches the respective frame with each of the plurality of frames. It includes the step of identifying among the clock data elements. A respective game clock data element (e.g., data element 1304-4 in FIG. 17) is overlaid onto the respective frame, thereby forming one time-aligned frame of the one or more time-aligned frames. do.
いくつかの実施形態において、複数のフレームの内のそれぞれのフレームに関連付けられている各タイムスタンプと、複数のデータ要素の内のそれぞれのデータ要素に関連付けられている各タイムスタンプとの一致に基づいて、複数のデータ要素の内の個々のデータ要素を複数のフレームの内の個々のフレームと整合させる工程は、それぞれのフレームと一致するタイムスタンプ値を有するそれぞれの試合状態データ要素を複数の試合状態データ要素の中から特定する工程を含む。それぞれの試合状態データ要素(例えば、データ要素1304-1、1304-2、1304-3、1304-5、など)は、それぞれのフレーム上にオーバレイされ、それにより、1または複数の時間整合済みフレームの内の1つの時間整合済みフレームを形成する。 In some embodiments, based on a match between each timestamp associated with a respective frame of the plurality of frames and each timestamp associated with a respective data element of the plurality of data elements. The step of aligning each data element of the plurality of data elements with each frame of the plurality of frames includes aligning each match state data element with a timestamp value matching the respective frame with the respective match state data element of the plurality of frames. It includes the step of identifying among the state data elements. Each match state data element (e.g., data elements 1304-1, 1304-2, 1304-3, 1304-5, etc.) is overlaid onto a respective frame, thereby providing one or more time-aligned frames. form one time-aligned frame.
いくつかの実施形態において、複数のデータ要素は、複数の位置情報データ要素(例えば、テレメトリデータ230)を含む。複数の位置情報データ要素の内の各位置情報データ要素は、第1複数のプレイヤーまたは第2複数のプレイヤーの中の1または複数のプレイヤーのタイムスタンプ付き位置情報である。タイムスタンプ付き位置情報は、ライブイベントでテレメトリ追跡システム(例えば、トラッカ管理システム400)によってキャプチャされる。したがって、複数のフレームの内のそれぞれのフレームに関連付けられている各タイムスタンプと、複数のデータ要素の内のそれぞれのデータ要素に関連付けられている各タイムスタンプとの一致に基づいて、複数のデータ要素の内の個々のデータ要素を複数のフレームの内の個々のフレームと整合させる工程は、それぞれのフレームと一致するタイムスタンプ値を有するそれぞれの位置情報データ要素を複数の位置情報データ要素の中から特定する工程を含む。それぞれの位置情報データ要素は、それぞれのフレーム上にオーバレイされ、それにより、1または複数の時間済みフレームの内の1つの時間整合済みフレームを形成する。 In some embodiments, the multiple data elements include multiple location information data elements (eg, telemetry data 230). Each location information data element of the plurality of location information data elements is time-stamped location information of one or more players in the first plurality of players or the second plurality of players. Time-stamped location information is captured by a telemetry tracking system (eg, tracker management system 400) at a live event. Thus, based on the match between each timestamp associated with a respective frame of the plurality of frames and each timestamp associated with a respective data element of the plurality of data elements, The step of aligning each data element of the elements with each frame of the plurality of frames includes aligning each location data element with a timestamp value that matches the respective frame in the plurality of location data elements. It includes the step of identifying from. Each location information data element is overlaid onto a respective frame, thereby forming one time-aligned frame of the one or more timed frames.
いくつかの実施形態において、テレメトリ追跡システム(例えば、テレメトリ管理システム400)は、複数の追跡デバイス(例えば、追跡デバイス300)を備える。各追跡デバイスは、複数の信号(例えば、テレメトリデータ230)を提供するよう構成されている。第1および第2複数のプレイヤーの各プレイヤーは、複数の追跡デバイスの内の1または複数の追跡デバイスに関連付けられている。3以上の受信機(例えば、アンカデバイス120)が、複数の追跡デバイスによって提供される信号を受信するよう構成される。コンピュータシステム(例えば、テレメトリ管理システム400および/またはテレメトリ解析システム240)は、3以上の受信機によって受信された複数の信号に基づいて、第1および第2複数のプレイヤーの各プレイヤーについてタイムスタンプ付き位置情報および/または運動情報(例えば、位置テレメトリ232、運動テレメトリ234、バイオメトリックテレメトリ236)を決定するよう構成されている。この決定工程は、複数の位置情報データ要素を構築する。
In some embodiments, a telemetry tracking system (eg, telemetry management system 400) comprises multiple tracking devices (eg, tracking device 300). Each tracking device is configured to provide multiple signals (eg, telemetry data 230). Each player of the first and second plurality of players is associated with one or more tracking devices of the plurality of tracking devices. Three or more receivers (eg, anchor device 120) are configured to receive signals provided by multiple tracking devices. A computer system (e.g.,
いくつかの実施形態において、複数の時間済みフレームの内のそれぞれの時間整合済みフレームに対する1または複数のデータ要素のオーバレイ工程は、さらに、クライアントデバイス上で実行するアプリケーション内の対応するアフォーダンス領域とそれぞれの時間整合済みフレームを関連付ける工程を含む。例えば、いくつかの実施形態において、データ要素がグラフィック(例えば、埋め込みグラフィック)を含む場合、アフォーダンス領域がグラフィックに関連付けられる。各アフォーダンス領域は、それぞれのユーザデバイス700のエンドユーザがそれぞれのデータ要素と相互作用することを可能にするように構成されている。例えば、いくつかの実施形態において、エンドユーザが、それぞれのデータ要素に関連付けられているアフォーダンス領域と相互作用すると(例えば、それぞれのユーザデバイス700の入力部780を介してタッチ入力を提供すると)、その相互作用に従って決定がなされる。いくつかの実施形態において、決定は、メニュー(例えば、統計のメニューまたは選択、チームのシーズン結果のメニュー、など)を表示するための決定であり、例えば、いくつかの実施形態において、エンドユーザが図10のデータ要素210と相互作用すると、それぞれの対象に関連付けられている統計の選択を示すメニューが、ユーザデバイス上に表示される(例えば、ビデオフィード上にオーバレイされる)。いくつかの実施形態において、オーバレイされたデータ要素とのエンドユーザによる相互作用は、データ要素の表示状態(例えば、表示すなわちオン、および、非表示すなわちオフ)を変更する。
In some embodiments, overlaying the one or more data elements for each time-aligned frame of the plurality of timed frames further comprises overlaying each time-aligned frame with a corresponding affordance region within an application executing on the client device. associating the time-aligned frames of the time-aligned frames. For example, in some embodiments, if the data element includes a graphic (eg, an embedded graphic), the affordance region is associated with the graphic. Each affordance area is configured to allow an end user of a
いくつかの実施形態において、それぞれのフレームと、1または複数のそれぞれのデータ要素との整合は、0.01秒~0.1秒の範囲の許容範囲内で実行される。例えば、整合は、0.0167秒の許容範囲内で実行される(例えば、60フレーム/秒)。例えば、それぞれのフレームが、{00時間:02分:25秒:39ミリ秒}のタイムスタンプを有すると決定され、整合の許容範囲が5ミリ秒である場合、{00時間:02分:25秒:26ミリ秒}~{00時間:02分:25秒:46ミリ秒}の時間範囲の関連タイムスタンプ付きメタデータを含む各データ要素が、それぞれのフレームと整合される。しかしながら、本開示は、それに限定されない。例えば、いくつかの実施形態において、それぞれのフレームが、{00時間02分:25秒:39ミリ秒}のタイムスタンプを有すると決定され、整合の許容範囲が10ミリ秒である場合、00時間:02分:25秒:39ミリ秒}~{00時間:02分:25秒:49ミリ秒}の時間範囲の関連タイムスタンプ付きメタデータを含む各データ要素が、それぞれのフレームと整合される。 In some embodiments, matching each frame with one or more respective data elements is performed within a tolerance range of 0.01 seconds to 0.1 seconds. For example, alignment is performed within a tolerance of 0.0167 seconds (eg, 60 frames/second). For example, if each frame is determined to have a timestamp of {00 hours: 02 minutes: 25 seconds: 39 milliseconds} and the alignment tolerance is 5 milliseconds, then {00 hours: 02 minutes: 25 Each data element containing associated timestamped metadata for a time range from {00 hours: 02 minutes: 25 seconds: 46 milliseconds} is aligned with a respective frame. However, the present disclosure is not limited thereto. For example, in some embodiments, if each frame is determined to have a timestamp of {00 hours 02 minutes: 25 seconds: 39 milliseconds} and the alignment tolerance is 10 milliseconds, then 00 hours :02 minutes: 25 seconds: 39 milliseconds} to {00 hours: 02 minutes: 25 seconds: 49 milliseconds} each data element containing associated timestamped metadata is aligned with its respective frame. .
ブロック1511を参照すると、オーバレイされたデータ要素を含む時間整合済みフレームは、視覚化バッファ(例えば、視覚化バッファモジュール720)へポストされる。前述のように、視覚化バッファは、合成ビデオフィードを形成するために、フレーム、データ要素、および/または、時間整合済みフレームのキュー(例えば、優先度付きキュー)を提供する。 Referring to block 1511, the time-aligned frame containing the overlaid data elements is posted to a visualization buffer (eg, visualization buffer module 720). As mentioned above, the visualization buffer provides a queue (eg, a prioritized queue) of frames, data elements, and/or time-aligned frames to form a composite video feed.
いくつかの実施形態において、視覚化バッファは、1または複数の時間整合済みフレームを含む、1秒から1分の間の時間整合済みフレームを保持する。いくつかの実施形態において、視覚化バッファは、1または複数の時間整合済みフレームを含む、20秒から5分の間の時間整合済みフレームを保持する。 In some embodiments, the visualization buffer holds time-aligned frames between one second and one minute, including one or more time-aligned frames. In some embodiments, the visualization buffer holds time-aligned frames between 20 seconds and 5 minutes, including one or more time-aligned frames.
様々な実施形態において、処理は、受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定する。この処理は、それぞれのデータ要素のタイムスタンプとそれぞれのバックグラウンドビデオフレームのタイムスタンプとの一致に少なくとも部分的に基づいて、1または複数のデータ要素の少なくとも対応する部分をバックグラウンドビデオフィードの対応する部分に整合させることなどによって、1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成する。処理は、クライアントデバイスのディスプレイデバイス上に合成ビデオフィードを表示し、ここで、生成された合成ビデオフィードは、各時間整合済みフレームが、それぞれのバックグラウンドビデオフレームと時間の一致するデータ要素とオーバレイされている時間整合済みフレームを含む。 In various embodiments, processing determines one or more data elements based at least in part on the received content. The processing includes matching at least a corresponding portion of the one or more data elements to a background video feed based at least in part on a match between a timestamp of the respective data element and a timestamp of the respective background video frame. A composite video feed is generated that is customized to one or more user-specific characteristics, such as by matching portions of the video feed. The processing displays a composite video feed on the display device of the client device, where each time-aligned frame is overlaid with a data element that is time-matched with the respective background video frame. Contains time-aligned frames.
様々な実施形態において、処理は、通信インターフェースを介して、1または複数のユーザ固有の特徴に関連付けられたコンテンツを受信し、ここで、コンテンツは、バックグラウンドビデオフレームに関連付けられたタイムスタンプ付きメタデータと、第1タイムスタンプによって決定された時間範囲内にあるタイムスタンプを有するデータと、を含む。ユーザプロフィールおよび/または以前の挙動に基づいて、異なるメタデータが、異なるユーザにとって利用可能であり、その例については上述した。 In various embodiments, the process receives content associated with one or more user-specific characteristics via a communication interface, where the content includes time-stamped metadata associated with background video frames. and data having a timestamp that is within the time range determined by the first timestamp. Based on user profile and/or previous behavior, different metadata may be available to different users, examples of which are described above.
以下の図は、バックグラウンドビデオおよびオーバレイデータ要素の例を示しており、ここで、バックグラウンドビデオは、ライブスポーツイベントの場面であり、オーバレイデータ要素は、ユーザ(ライブスポーツイベントの視聴者)が相互作用しうる様々な統計、プレイヤー情報などである。 The diagram below shows an example of a background video and overlay data element, where the background video is footage from a live sporting event and the overlay data element is a scene from a live sporting event. There are various statistics, player information, etc. that can be interacted with.
図16および図17は、アメフトの試合向けにカスタマイズされた合成ビデオフィードの例を示している。いくつかの実施形態において、1または複数のユーザプリファレンス設定が、ビデオフィード上にオーバレイされる1または複数のグラフィックデータ要素、および/または、ビデオフィードの向きまたは好ましいカメラ、についての選好を示す。例えば、いくつかの実施形態において、ユーザプリファレンス設定は、ユーザが、第2カメラ140-2(例えば、図17の部分的なランドスケープカメラビュー)ではなく、第1カメラ140-1からのビデオフィード(例えば、図16の全ランドスケープカメラビュー)を受信することを好むことを示す。さらに、いくつかの実施形態において、ユーザプリファレンス設定は、それぞれの対象に関する様々な情報を特定するグラフィックデータ要素1210を表示する選好を示す。いくつかの実施形態において、ユーザプリファレンス設定は、ボールの位置(例えば、ボールの位置情報)を特定するグラフィックデータ要素1220を表示する選好を示す。いくつかの実施形態において、ユーザプリファレンス設定は、現在のボールキャリアを示すグラフィックデータ要素1230を表示する選好を示す。いくつかの実施形態において、ユーザプリファレンス設定は、対象の移動経路(例えば、プレイ中のボールの移動経路)を示すグラフィックデータ要素1240を表示する選好を示す。いくつかの実施形態において、ユーザプリファレンス設定は、試合クロックデータ要素1304-4、プレイクロックデータ要素1304-5、および/または、試合状態データ要素(例えば、要素1304-1、1304-2、および/または、1304-3)など、試合状態情報を提供するグラフィックデータ要素1304を表示する選好を示す。いくつかの実施形態において、ユーザプリファレンス設定は、賭けプラットフォーム(例えば、賭けモジュール718)を提供するグラフィックデータ要素1300-Bを表示する選好を示す。いくつかの実施形態において、ユーザプリファレンス設定は、テキストベースの情報(例えば、気象情報、ニュースなど)を提供するデータ要素1306を表示する選好を示す。したがって、ユーザは、自身の特定の好みに合わせて視聴体験を調整するために、ビデオフィードをパーソナライズして相互作用することができる。また、これは、ユーザが関心を示していないデータのストリームが不必要に通信されるのを防ぐことによって、ユーザデバイスが、コンピュータシステムから受信されるデータの量を最適化することを可能にする。
16 and 17 illustrate an example of a composite video feed customized for an American football game. In some embodiments, one or more user preference settings indicate preferences for one or more graphic data elements overlaid on the video feed and/or the orientation or preferred camera of the video feed. For example, in some embodiments, user preference settings may be configured such that the user can view the video feed from the first camera 140-1 rather than the second camera 140-2 (e.g., the partial landscape camera view of FIG. 17). (e.g., the full landscape camera view of FIG. 16). Additionally, in some embodiments, user preference settings indicate a preference for displaying graphical data elements 1210 that specify various information about the respective subject. In some embodiments, the user preference settings indicate a preference for displaying
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
[適用例1]クライアントデバイスであって、
通信インターフェースと、
前記通信インターフェースに接続されているプロセッサであって、
リモートサーバからバックグラウンドビデオフィードを受信し、
前記通信インターフェースを介して、1または複数のユーザ固有の特徴に関連付けられているコンテンツを受信し、
前記受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定し、
前記1または複数のデータ要素の少なくとも対応する部分を前記バックグラウンドビデオフィードの対応する部分に整合させることによることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成し、
前記クライアントデバイスのディスプレイデバイス上に前記合成ビデオフィードを表示する、よう構成されているプロセッサと、
を備える、デバイス。
[適用例2]適用例1に記載のデバイスであって、
前記リモートサーバは、前記1または複数のユーザ固有の特徴に少なくとも部分的に基づいて、前記コンテンツをルックアップし、
前記通信インターフェースを介して前記コンテンツを前記デバイスへ送信するよう構成されている、デバイス。
[適用例3]適用例1に記載のデバイスであって、前記1または複数のデータ要素は、インタラクティブであり、前記合成ビデオフィードを生成することは、前記インタラクティブなデータ要素を前記バックグラウンドビデオフィード上にオーバレイすることを含む、デバイス。
[適用例4]適用例1に記載のデバイスであって、前記受信されたコンテンツは、
グラフィック、テキスト、または、オーディオ、の内のすくなくとも1つを含む、前記合成ビデオフィード内で出力するデータと、
前記合成ビデオフィード内で前記データがどのように出力されるのかに関するメタデータと、
を含む、デバイス。
[適用例5]適用例1に記載のデバイスであって、さらに、前記ディスプレイデバイスを備え、前記ディスプレイデバイスは、前記合成ビデオフィードをレンダリングするよう構成されている、デバイス。
[適用例6]適用例1に記載のデバイスであって、前記バックグラウンドビデオフィードは、ライブスポーツイベントのビデオフィードを含む、デバイス。
[適用例7]適用例1に記載のデバイスであって、前記データ要素は、試合クロック、試合状態、または、位置情報、の内の少なくとも1つを含む、デバイス。
[適用例8]適用例1に記載のデバイスであって、
前記バックグラウンドビデオフィードは、第1複数のプレイヤーを含む第1チームと、第2複数のプレイヤーを含む第2チームとの間のライブスポーツイベントのビデオフィードを含み、
前記データ要素は、前記第1複数のプレイヤーまたは前記第2複数のプレイヤーの中の1または複数のプレイヤーに関連付けられているタイムスタンプ付き位置情報データ要素を含み、前記タイムスタンプ付き位置情報データ要素は、前記ライブスポーツイベントでテレメトリ追跡システムによってキャプチャされ、
前記データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させることは、
前記それぞれのフレームと一致するタイムスタンプ値を有するそれぞれの位置情報データ要素を前記位置情報データ要素から特定し、
前記それぞれの位置情報データ要素を前記それぞれのフレーム上にオーバレイすることにより、前記合成ビデオフィード内の時間整合済みフレームを形成することを含む、デバイス。
[適用例9]適用例1に記載のデバイスであって、前記通信インターフェースは、前記コンテンツを定期的に要求する、および、前記バックグラウンドビデオフィードの一部を定期的に受信する、ことの内の少なくとも一方を行うよう構成されている、デバイス。
[適用例10]適用例1に記載のデバイスであって、
前記データ要素は、テキストを含み、
前記ディスプレイデバイス上で前記合成ビデオフィードをレンダリングすることは、前記バックグラウンドビデオフィードと共に前記テキストのスクロールを表示することを含む、デバイス。
[適用例11]適用例11に記載のデバイスであって、前記スクロールの速度、方向、リフレッシュレート、終了条件、および、相互作用ルールの内の少なくとも1つが、前記リモートサーバから受信された前記コンテンツに少なくとも部分的に基づいている、デバイス。
[適用例12]適用例1に記載のデバイスであって、前記プロセッサは、さらに、前記合成ビデオフィードの前記1または複数のデータ要素とのユーザ相互作用に応答して、前記バックグラウンドビデオフィードまたは前記合成ビデオフィードの内の少なくとも一方を更新するよう構成されている、デバイス。
[適用例13]適用例1に記載のデバイスであって、
前記バックグラウンドビデオフィードは、広告であり、
前記決定されたデータ要素は、特定のユーザに合わせてカスタマイズされた価格を含む、デバイス。
[適用例14]適用例1に記載のデバイスであって、前記データ要素は、前記特定のユーザに合わせてカスタマイズされた言語のオーディオを含む、デバイス。
[適用例15]適用例1に記載のデバイスであって、前記データ要素は、前記特定のユーザに合わせてカスタマイズされた音楽を含む、デバイス。
[適用例16]クライアントデバイスであって、
通信インターフェースと、
前記通信インターフェースに接続されているプロセッサであって、
リモートサーバからバックグラウンドビデオフィードを受信し、
前記バックグラウンドビデオフィードの第1フレームに関連付けられているタイムスタンプ付きメタデータから前記第1フレームの第1タイムスタンプを決定し、
前記通信インターフェースを介して、1または複数のユーザ固有の特徴に関連付けられたコンテンツを受信し、
前記コンテンツは、バックグラウンドビデオフレームに関連付けられたタイムスタンプ付きメタデータと、前記第1タイムスタンプによって決定された時間範囲内にあるタイムスタンプを有するデータと、を含み、
前記受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定し、
それぞれのデータ要素のタイムスタンプとそれぞれのバックグラウンドビデオフレームのタイムスタンプとの一致に少なくとも部分的に基づいて、前記1または複数のデータ要素の少なくとも対応する部分を前記バックグラウンドビデオフィードの対応する部分に整合させることによることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成し、
前記クライアントデバイスのディスプレイデバイス上に前記合成ビデオフィードを表示し、前記生成された合成ビデオフィードは、それぞれのバックグラウンドビデオフレームと時間の一致するデータ要素と各時間整合済みフレームがオーバレイされている時間整合済みフレームを含む、よう構成されているプロセッサと、
を備える、デバイス。
[適用例17]サーバであって、
プロセッサであって、
1または複数のユーザ固有の特徴に関連付けられているコンテンツの要求を受信し、
前記要求に少なくとも部分的に基づいてコンテンツをルックアップすることによることを含み、前記要求に基づいてコンテンツを決定し、
前記コンテンツ要求に応答して、前記決定されたコンテンツをリモートクライアントデバイスへ送信し、
前記クライアントデバイスは、データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させることなどによって、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成する、よう構成されているプロセッサと、
前記プロセッサに接続され、前記1または複数のユーザ固有の特徴をユーザプロフィール内に格納するよう構成されているメモリと、
を備える、サーバ。
[適用例18]適用例17に記載のサーバであって、前記リモートクライアントデバイスは、前記受信されたコンテンツに少なくとも部分的に基づいて、前記データ要素を決定するよう構成されている、サーバ。
[適用例19]方法であって、
リモートサーバからバックグラウンドビデオフィードを受信し、
1または複数のユーザ固有の特徴に関連付けられているコンテンツを要求し、
前記コンテンツ要求に応答して、前記リモートサーバからコンテンツを受信し、
前記受信されたコンテンツに少なくとも部分的に基づいて、データ要素を決定し、
前記データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させることによることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成し、
クライアントデバイスのディスプレイ上に前記合成ビデオフィードを出力すること、
を備える、方法。
[適用例20]コンピュータプログラム製品であって、持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
リモートサーバからバックグラウンドビデオフィードを受信するためのコンピュータ命令と、
1または複数のユーザ固有の特徴に関連付けられているコンテンツを要求するためのコンピュータ命令と、
前記コンテンツ要求に応答して、前記リモートサーバからコンテンツを受信するためのコンピュータ命令と、
前記受信されたコンテンツに少なくとも部分的に基づいて、データ要素を決定するためのコンピュータ命令と、
前記データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させることによることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成するためのコンピュータ命令と、
クライアントデバイスのディスプレイ上に前記合成ビデオフィードを出力するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
Although the embodiments described above have been described in some detail for ease of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not intended to be limiting.
[Application example 1] A client device,
a communication interface;
A processor connected to the communication interface,
Receive background video feed from remote server,
receiving content associated with one or more user-specific characteristics via the communication interface;
determining one or more data elements based at least in part on the received content;
by matching at least corresponding portions of the one or more data elements to corresponding portions of the background video feed, the composite video feed customized to the one or more user-specific characteristics. generate,
a processor configured to display the composite video feed on a display device of the client device;
A device comprising:
[Application Example 2] The device according to Application Example 1,
the remote server looks up the content based at least in part on the one or more user-specific characteristics;
A device configured to send the content to the device via the communication interface.
[Application Example 3] The device according to Application Example 1, wherein the one or more data elements are interactive, and generating the composite video feed includes combining the interactive data element with the background video feed. device, including overlaying it on top of it.
[Application Example 4] In the device according to Application Example 1, the received content is
outputting data in the composite video feed including at least one of graphics, text, or audio;
metadata regarding how the data is output within the composite video feed;
including, devices.
Application Example 5. The device of Application Example 1, further comprising the display device, the display device configured to render the composite video feed.
Application Example 6 The device of Application Example 1, wherein the background video feed includes a video feed of a live sporting event.
[Application Example 7] The device according to Application Example 1, wherein the data element includes at least one of a game clock, a game status, and location information.
[Application Example 8] The device according to Application Example 1,
The background video feed includes a video feed of a live sporting event between a first team including a first plurality of players and a second team including a second plurality of players;
The data element includes a time-stamped location information data element associated with one or more players of the first plurality of players or the second plurality of players, the time-stamped location information data element , captured by a telemetry tracking system at a live sporting event,
Matching the data element to a corresponding portion of the background video feed comprises:
identifying each location information data element from the location information data element having a timestamp value that matches the respective frame;
The device includes overlaying the respective location information data elements onto the respective frames to form time-aligned frames in the composite video feed.
[Application Example 9] The device according to Application Example 1, wherein the communication interface periodically requests the content and periodically receives a portion of the background video feed. A device configured to do at least one of the following:
[Application Example 10] The device according to Application Example 1,
the data element includes text;
The device wherein rendering the composite video feed on the display device includes displaying the scrolling of the text along with the background video feed.
[Application Example 11] The device according to Application Example 11, wherein at least one of the scroll speed, direction, refresh rate, termination condition, and interaction rule is configured to control the content received from the remote server. A device based at least in part on
Application Example 12: The device of Application Example 1, wherein the processor further comprises, in response to user interaction with the one or more data elements of the composite video feed, the background video feed or A device configured to update at least one of the composite video feeds.
[Application example 13] The device according to application example 1,
the background video feed is an advertisement;
The determined data element includes a price customized for a particular user.
[Application Example 14] The device according to Application Example 1, wherein the data element includes audio in a language customized for the specific user.
[Application Example 15] The device according to Application Example 1, wherein the data element includes music customized to the specific user.
[Application example 16] A client device,
a communication interface;
A processor connected to the communication interface,
Receive background video feed from remote server,
determining a first timestamp of the first frame from timestamped metadata associated with a first frame of the background video feed;
receiving content associated with one or more user-specific characteristics via the communication interface;
The content includes time-stamped metadata associated with a background video frame and data having a timestamp within a time range determined by the first timestamp;
determining one or more data elements based at least in part on the received content;
at least a corresponding portion of the one or more data elements based at least in part on a match between a timestamp of the respective data element and a timestamp of the respective background video frame; generating a composite video feed customized to the one or more user-specific characteristics, including by matching the one or more user-specific characteristics;
displaying the composite video feed on a display device of the client device, the generated composite video feed having each time-aligned frame overlaid with a data element time-coincident with a respective background video frame; a processor configured to include aligned frames;
A device comprising:
[Application example 17] A server,
A processor,
receiving a request for content associated with one or more user-specific characteristics;
determining content based on the request, including by looking up content based at least in part on the request;
transmitting the determined content to a remote client device in response to the content request;
The client device is configured to generate a composite video feed customized to the one or more user-specific characteristics, such as by matching data elements to corresponding portions of the background video feed. a processor with
a memory coupled to the processor and configured to store the one or more user-specific characteristics in a user profile;
A server comprising:
Application Example 18: The server of Application Example 17, wherein the remote client device is configured to determine the data element based at least in part on the received content.
[Application example 19] A method, comprising:
Receive background video feed from remote server,
requesting content associated with one or more user-specific characteristics;
receiving content from the remote server in response to the content request;
determining a data element based at least in part on the received content;
generating a composite video feed customized to the one or more user-specific characteristics, including by matching the data elements to corresponding portions of the background video feed;
outputting the composite video feed on a display of a client device;
A method of providing.
[Application Example 20] A computer program product, which is embodied in a persistent computer-readable storage medium,
computer instructions for receiving a background video feed from a remote server;
computer instructions for requesting content associated with one or more user-specific characteristics;
computer instructions for receiving content from the remote server in response to the content request;
computer instructions for determining a data element based at least in part on the received content;
computer instructions for generating a composite video feed customized to the one or more user-specific characteristics, including by matching the data elements to corresponding portions of the background video feed;
computer instructions for outputting the composite video feed on a display of a client device;
A computer program product comprising:
Claims (21)
通信インターフェースと、
前記通信インターフェースに接続されているプロセッサであって、
リモートサーバからバックグラウンドビデオフィードを受信し、
前記通信インターフェースを介して、1または複数のユーザ固有の特徴に関連付けられているコンテンツを受信し、前記1または複数のユーザ固有の特徴に関連付けられているコンテンツは、前記バックグラウンドビデオフィードの特定の時間範囲または特定のフレーム範囲に関係する1つまたは複数のデータ要素についての1または複数のデータベースに対する1または複数のクエリに少なくとも一部基づいて取得され、それに関して前記データベースがクエリされる前記特定の時間範囲または前記特定のフレーム範囲は、前記クライアントデバイスの帯域幅に少なくとも一部基づき、
前記受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定し、
前記1または複数のデータ要素の少なくとも対応する部分を前記バックグラウンドビデオフィードの対応する部分に整合させること、および、前記1つまたは複数のデータ要素を前記バックグラウンドビデオフィード上にオーバレイすること、によることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成し、
前記クライアントデバイスのディスプレイデバイス上に前記合成ビデオフィードを表示する、よう構成されているプロセッサと、
を備える、デバイス。 A client device,
a communication interface;
A processor connected to the communication interface,
Receive background video feed from remote server,
receiving content associated with one or more user-specific characteristics via the communication interface, wherein the content associated with the one or more user-specific characteristics is associated with a particular portion of the background video feed; the specific data element for which the database is queried; the time range or the particular frame range is based at least in part on the bandwidth of the client device;
determining one or more data elements based at least in part on the received content;
by aligning at least a corresponding portion of the one or more data elements with a corresponding portion of the background video feed; and overlaying the one or more data elements on the background video feed. generating a composite video feed customized to the one or more user-specific characteristics;
a processor configured to display the composite video feed on a display device of the client device;
A device comprising:
前記リモートサーバは、前記1または複数のユーザ固有の特徴に少なくとも部分的に基づいて、前記コンテンツをルックアップし、
前記通信インターフェースを介して前記コンテンツを前記デバイスへ送信するよう構成されている、デバイス。 2. The device according to claim 1,
the remote server looks up the content based at least in part on the one or more user-specific characteristics;
A device configured to send the content to the device via the communication interface.
グラフィック、テキスト、または、オーディオ、の内のすくなくとも1つを含む、前記合成ビデオフィード内で出力するデータと、
前記合成ビデオフィード内で前記データがどのように出力されるのかに関するメタデータと、
を含む、デバイス。 2. The device of claim 1, wherein the received content comprises:
outputting data in the composite video feed including at least one of graphics, text, or audio;
metadata regarding how the data is output within the composite video feed;
including, devices.
前記バックグラウンドビデオフィードは、第1複数のプレイヤーを含む第1チームと、第2複数のプレイヤーを含む第2チームとの間のライブスポーツイベントのビデオフィードを含み、
前記データ要素は、前記第1複数のプレイヤーまたは前記第2複数のプレイヤーの中の1または複数のプレイヤーに関連付けられているタイムスタンプ付き位置情報データ要素を含み、前記タイムスタンプ付き位置情報データ要素は、前記ライブスポーツイベントでテレメトリ追跡システムによってキャプチャされ、
前記データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させることは、
それぞれのフレームと一致するタイムスタンプ値を有するそれぞれの位置情報データ要素を前記位置情報データ要素から特定し、
前記それぞれの位置情報データ要素を前記それぞれのフレーム上にオーバレイすることにより、前記合成ビデオフィード内の時間整合済みフレームを形成することを含む、デバイス。 2. The device according to claim 1,
The background video feed includes a video feed of a live sporting event between a first team including a first plurality of players and a second team including a second plurality of players;
The data element includes a time-stamped location information data element associated with one or more players of the first plurality of players or the second plurality of players, the time-stamped location information data element , captured by a telemetry tracking system at a live sporting event,
Matching the data element to a corresponding portion of the background video feed comprises:
identifying from said location information data elements each location information data element having a timestamp value that matches a respective frame;
The device includes overlaying the respective location information data elements onto the respective frames to form time-aligned frames in the composite video feed.
前記データ要素は、テキストを含み、
前記ディスプレイデバイス上で前記合成ビデオフィードをレンダリングすることは、前記バックグラウンドビデオフィードと共に前記テキストのスクロールを表示することを含む、デバイス。 2. The device according to claim 1,
the data element includes text;
The device wherein rendering the composite video feed on the display device includes displaying the scrolling of the text along with the background video feed.
前記バックグラウンドビデオフィードは、広告であり、
前記決定されたデータ要素は、特定のユーザに合わせてカスタマイズされた価格を含む、デバイス。 2. The device according to claim 1,
the background video feed is an advertisement;
The determined data element includes a price customized for a particular user.
通信インターフェースと、
前記通信インターフェースに接続されているプロセッサであって、
リモートサーバからバックグラウンドビデオフィードを受信し、
前記バックグラウンドビデオフィードの第1フレームに関連付けられているタイムスタンプ付きメタデータから前記第1フレームの第1タイムスタンプを決定し、
前記通信インターフェースを介して、1または複数のユーザ固有の特徴に関連付けられたコンテンツを受信し、
前記1または複数のユーザ固有の特徴に関連付けられているコンテンツは、前記バックグラウンドビデオフィードの特定の時間範囲または特定のフレーム範囲に関係する1つまたは複数のデータ要素についての1または複数のデータベースに対する1または複数のクエリに少なくとも一部基づいて取得され、
それに関して前記データベースがクエリされる前記特定の時間範囲または前記特定のフレーム範囲は、前記クライアントデバイスの帯域幅に少なくとも一部基づき、
前記コンテンツは、バックグラウンドビデオフレームに関連付けられたタイムスタンプ付きメタデータと、前記第1タイムスタンプによって決定された時間範囲内にあるタイムスタンプを有するデータと、を含み、
前記受信されたコンテンツに少なくとも部分的に基づいて、1または複数のデータ要素を決定し、
それぞれのデータ要素のタイムスタンプとそれぞれのバックグラウンドビデオフレームのタイムスタンプとの一致に少なくとも部分的に基づいて、前記1または複数のデータ要素の少なくとも対応する部分を前記バックグラウンドビデオフィードの対応する部分に整合させること、および、前記1つまたは複数のデータ要素を前記バックグラウンドビデオフィード上にオーバレイすること、によることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成し、
前記クライアントデバイスのディスプレイデバイス上に前記合成ビデオフィードを表示し、前記生成された合成ビデオフィードは、それぞれのバックグラウンドビデオフレームと時間の一致するデータ要素と各時間整合済みフレームがオーバレイされている時間整合済みフレームを含む、よう構成されているプロセッサと、
を備える、デバイス。 A client device,
a communication interface;
A processor connected to the communication interface,
Receive background video feed from remote server,
determining a first timestamp of the first frame from timestamped metadata associated with a first frame of the background video feed;
receiving content associated with one or more user-specific characteristics via the communication interface;
The content associated with the one or more user-specific characteristics is relative to one or more databases of one or more data elements related to a particular time range or a particular frame range of the background video feed. obtained based at least in part on one or more queries;
the particular time range or the particular frame range for which the database is queried is based at least in part on the bandwidth of the client device;
The content includes time-stamped metadata associated with a background video frame and data having a timestamp within a time range determined by the first timestamp;
determining one or more data elements based at least in part on the received content;
at least a corresponding portion of the one or more data elements based at least in part on a match between a timestamp of the respective data element and a timestamp of the respective background video frame; and overlaying the one or more data elements on the background video feed, the composite video feed customized to the one or more user-specific characteristics. generate,
displaying the composite video feed on a display device of the client device, the generated composite video feed having each time-aligned frame overlaid with a data element time-coincident with a respective background video frame; a processor configured to include aligned frames;
A device comprising:
プロセッサであって、
1または複数のユーザ固有の特徴に関連付けられているコンテンツの要求を受信し、
前記1または複数のユーザ固有の特徴に関連付けられているコンテンツは、バックグラウンドビデオフィードの特定の時間範囲または特定のフレーム範囲に関係する1つまたは複数のデータ要素についての1または複数のデータベースに対する1または複数のクエリに少なくとも一部基づいて取得され、
それに関して前記データベースがクエリされる前記特定の時間範囲または前記特定のフレーム範囲は、クライアントデバイスの帯域幅に少なくとも一部基づき、
前記要求に少なくとも部分的に基づいてコンテンツをルックアップすることによることを含み、前記要求に基づいてコンテンツを決定し、
前記コンテンツ要求に応答して、前記決定されたコンテンツを前記クライアントデバイスへ送信し、
前記クライアントデバイスは、データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させること、および、前記1つまたは複数のデータ要素を前記バックグラウンドビデオフィード上にオーバレイすること、によることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成する、よう構成されているプロセッサと、
前記プロセッサに接続され、前記1または複数のユーザ固有の特徴をユーザプロフィール内に格納するよう構成されているメモリと、
を備える、サーバ。 A server,
A processor,
receiving a request for content associated with one or more user-specific characteristics;
The content associated with the one or more user-specific characteristics may be associated with one or more databases of one or more data elements relating to a particular time range or a particular frame range of a background video feed. or based at least in part on multiple queries;
the particular time range or the particular frame range for which the database is queried is based at least in part on client device bandwidth;
determining content based on the request, including by looking up content based at least in part on the request;
transmitting the determined content to the client device in response to the content request;
The client device comprises: by aligning a data element with a corresponding portion of the background video feed; and overlaying the one or more data elements onto the background video feed; a processor configured to generate a composite video feed customized to one or more user-specific characteristics;
a memory coupled to the processor and configured to store the one or more user-specific characteristics in a user profile;
A server comprising:
リモートサーバからバックグラウンドビデオフィードを受信し、
1または複数のユーザ固有の特徴に関連付けられているコンテンツを要求し、
前記コンテンツ要求に応答して、前記リモートサーバからコンテンツを受信し、
前記1または複数のユーザ固有の特徴に関連付けられているコンテンツは、前記バックグラウンドビデオフィードの特定の時間範囲または特定のフレーム範囲に関係する1つまたは複数のデータ要素についての1または複数のデータベースに対する1または複数のクエリに少なくとも一部基づいて取得され、
それに関して前記データベースがクエリされる前記特定の時間範囲または前記特定のフレーム範囲は、クライアントデバイスの帯域幅に少なくとも一部基づき、
前記受信されたコンテンツに少なくとも部分的に基づいて、データ要素を決定し、
前記データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させること、および、前記1つまたは複数のデータ要素を前記バックグラウンドビデオフィード上にオーバレイすること、によることを含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成し、
前記クライアントデバイスのディスプレイ上に前記合成ビデオフィードを出力すること、
を備える、方法。 A method,
Receive background video feed from remote server,
requesting content associated with one or more user-specific characteristics;
receiving content from the remote server in response to the content request;
The content associated with the one or more user-specific characteristics is relative to one or more databases of one or more data elements related to a particular time range or a particular frame range of the background video feed. obtained based at least in part on one or more queries;
the particular time range or the particular frame range for which the database is queried is based at least in part on client device bandwidth;
determining a data element based at least in part on the received content;
the one or more data elements by aligning the data elements with corresponding portions of the background video feed; and overlaying the one or more data elements on the background video feed; Generates a synthetic video feed customized to your unique characteristics,
outputting the composite video feed on a display of the client device;
A method of providing.
リモートサーバからバックグラウンドビデオフィードを受信させるためのコンピュータ命令と、
1または複数のユーザ固有の特徴に関連付けられているコンテンツを要求させるためのコンピュータ命令と、
前記コンテンツ要求に応答して、前記リモートサーバからコンテンツを受信させるためのコンピュータ命令と、
前記1または複数のユーザ固有の特徴に関連付けられているコンテンツは、前記バックグラウンドビデオフィードの特定の時間範囲または特定のフレーム範囲に関係する1つまたは複数のデータ要素についての1または複数のデータベースに対する1または複数のクエリに少なくとも一部基づいて取得され、
それに関して前記データベースがクエリされる前記特定の時間範囲または前記特定のフレーム範囲は、クライアントデバイスの帯域幅に少なくとも一部基づき、
前記受信されたコンテンツに少なくとも部分的に基づいて、データ要素を決定させるためのコンピュータ命令と、
前記データ要素を前記バックグラウンドビデオフィードの対応する部分に整合させることによること、および、前記1つまたは複数のデータ要素を前記バックグラウンドビデオフィード上にオーバレイすること、を含み、前記1または複数のユーザ固有の特徴に合わせてカスタマイズされた合成ビデオフィードを生成させるためのコンピュータ命令と、
前記クライアントデバイスのディスプレイ上に前記合成ビデオフィードを出力させるためのコンピュータ命令と、
を備える、コンピュータプログラム。 A computer program that causes a computer to
computer instructions for receiving a background video feed from a remote server;
computer instructions for requesting content associated with one or more user-specific characteristics;
computer instructions for receiving content from the remote server in response to the content request;
The content associated with the one or more user-specific characteristics is relative to one or more databases of one or more data elements related to a particular time range or a particular frame range of the background video feed. obtained based at least in part on one or more queries;
the particular time range or the particular frame range for which the database is queried is based at least in part on client device bandwidth;
computer instructions for causing a data element to be determined based at least in part on the received content;
by aligning the data element with a corresponding portion of the background video feed; and overlaying the one or more data elements on the background video feed, computer instructions for generating a synthetic video feed customized to user-specific characteristics;
computer instructions for outputting the composite video feed on a display of the client device;
A computer program comprising:
前記バックグラウンドビデオフィードは、ライブスポーツイベントのビデオフィードを含み、
前記データベースの少なくとも1つは、機械学習エンジンによって前記ライブスポーツイベントと同時に処理される情報を含み、
少なくとも1つのデータベースは、前記ライブスポーツイベントに関連する予想結果を備え、前記予想結果は、前記機械学習エンジンによって使用される機械学習モデルに少なくとも一部基づいている、クライアントデバイス。 The client device according to claim 1,
the background video feed includes a video feed of a live sporting event;
at least one of the databases includes information processed concurrently with the live sporting event by a machine learning engine;
At least one database comprises a predicted outcome associated with the live sporting event, the predicted outcome being based at least in part on a machine learning model used by the machine learning engine.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962819428P | 2019-03-15 | 2019-03-15 | |
| US62/819,428 | 2019-03-15 | ||
| US16/747,440 | 2020-01-20 | ||
| US16/747,440 US11140328B2 (en) | 2019-01-22 | 2020-01-20 | Systems and methods for partitioning a video feed to segment live player activity |
| PCT/US2020/022767 WO2020160563A1 (en) | 2019-01-22 | 2020-03-13 | Systems and methods for customizing and compositing a video feed at a client device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022519990A JP2022519990A (en) | 2022-03-28 |
| JP7343588B2 true JP7343588B2 (en) | 2023-09-12 |
Family
ID=76321145
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021536784A Active JP7343588B2 (en) | 2019-03-15 | 2020-03-13 | System and method for customizing and compositing video feeds on client devices |
Country Status (5)
| Country | Link |
|---|---|
| EP (1) | EP3939331A4 (en) |
| JP (1) | JP7343588B2 (en) |
| CN (1) | CN113574901B (en) |
| CA (1) | CA3120594C (en) |
| MX (1) | MX2021006250A (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024059895A1 (en) * | 2022-09-23 | 2024-03-28 | Rodd Martin | Systems and methods of client-side video rendering |
| CN116419017A (en) * | 2023-04-18 | 2023-07-11 | 上海哔哩哔哩科技有限公司 | Bandwidth prediction and adjustment method and device |
| JP7604030B1 (en) | 2023-10-27 | 2024-12-23 | 株式会社Askプロジェクト | Competition image distribution system |
| CN117560538B (en) * | 2024-01-12 | 2024-03-22 | 江西微博科技有限公司 | Service method of interactive voice video based on cloud platform |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003348424A (en) | 2002-05-27 | 2003-12-05 | Sony Corp | Motion tracking apparatus and method |
| JP2004235734A (en) | 2003-01-28 | 2004-08-19 | Mitsubishi Electric Corp | Receiver, broadcast transmission device and auxiliary content server |
| WO2011021632A1 (en) | 2009-08-19 | 2011-02-24 | 株式会社インターネットテレビジョン | Information provision system |
| US20130066448A1 (en) | 2009-05-05 | 2013-03-14 | Advanced Technologies Group, LLC | Sports telemetry system for collecting performance metrics and data |
| JP2016005015A (en) | 2014-06-13 | 2016-01-12 | 大日本印刷株式会社 | Content distribution system and content distribution apparatus |
| US20160191945A1 (en) | 2014-12-24 | 2016-06-30 | Sony Corporation | Method and system for processing video content |
| WO2016199527A1 (en) | 2015-06-11 | 2016-12-15 | ソニー株式会社 | Transmission device, transmission method, reception device, and reception method |
| US20170201793A1 (en) | 2008-06-18 | 2017-07-13 | Gracenote, Inc. | TV Content Segmentation, Categorization and Identification and Time-Aligned Applications |
| US20180343489A1 (en) | 2017-05-25 | 2018-11-29 | Turner Broadcasting System, Inc. | Client-side overlay of graphic items on media content |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7631327B2 (en) * | 2001-08-08 | 2009-12-08 | Accenture Global Services Gmbh | Enhanced custom content television |
| US8019271B1 (en) * | 2006-12-29 | 2011-09-13 | Nextel Communications, Inc. | Methods and systems for presenting information on mobile devices |
| US8635255B2 (en) * | 2009-06-30 | 2014-01-21 | Verizon Patent And Licensing Inc. | Methods and systems for automatically customizing an interaction experience of a user with a media content application |
| CN105144740B (en) * | 2013-05-20 | 2019-05-28 | 英特尔公司 | Elastic Cloud Video Editing and Multimedia Search |
| US9440152B2 (en) * | 2013-05-22 | 2016-09-13 | Clip Engine LLC | Fantasy sports integration with video content |
| US10003847B2 (en) * | 2016-04-22 | 2018-06-19 | Google Llc | Watch-time clustering for improving video searches, selection and provision |
| US9965900B2 (en) * | 2016-09-01 | 2018-05-08 | Avid Technology, Inc. | Personalized video-based augmented reality |
-
2020
- 2020-03-13 EP EP20747886.8A patent/EP3939331A4/en not_active Ceased
- 2020-03-13 CA CA3120594A patent/CA3120594C/en active Active
- 2020-03-13 JP JP2021536784A patent/JP7343588B2/en active Active
- 2020-03-13 CN CN202080007164.0A patent/CN113574901B/en active Active
- 2020-03-13 MX MX2021006250A patent/MX2021006250A/en unknown
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003348424A (en) | 2002-05-27 | 2003-12-05 | Sony Corp | Motion tracking apparatus and method |
| JP2004235734A (en) | 2003-01-28 | 2004-08-19 | Mitsubishi Electric Corp | Receiver, broadcast transmission device and auxiliary content server |
| US20170201793A1 (en) | 2008-06-18 | 2017-07-13 | Gracenote, Inc. | TV Content Segmentation, Categorization and Identification and Time-Aligned Applications |
| US20130066448A1 (en) | 2009-05-05 | 2013-03-14 | Advanced Technologies Group, LLC | Sports telemetry system for collecting performance metrics and data |
| WO2011021632A1 (en) | 2009-08-19 | 2011-02-24 | 株式会社インターネットテレビジョン | Information provision system |
| JP2016005015A (en) | 2014-06-13 | 2016-01-12 | 大日本印刷株式会社 | Content distribution system and content distribution apparatus |
| US20160191945A1 (en) | 2014-12-24 | 2016-06-30 | Sony Corporation | Method and system for processing video content |
| WO2016199527A1 (en) | 2015-06-11 | 2016-12-15 | ソニー株式会社 | Transmission device, transmission method, reception device, and reception method |
| US20180343489A1 (en) | 2017-05-25 | 2018-11-29 | Turner Broadcasting System, Inc. | Client-side overlay of graphic items on media content |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022519990A (en) | 2022-03-28 |
| CN113574901B (en) | 2024-02-13 |
| MX2021006250A (en) | 2021-09-08 |
| EP3939331A4 (en) | 2022-11-16 |
| CA3120594C (en) | 2023-07-18 |
| CN113574901A (en) | 2021-10-29 |
| CA3120594A1 (en) | 2020-08-06 |
| EP3939331A1 (en) | 2022-01-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12382126B2 (en) | Systems and methods for customizing and compositing a video feed at a client device | |
| US12387423B2 (en) | Creating and distributing interactive addressable virtual content | |
| AU2020216550B2 (en) | Systems and methods for customizing and compositing a video feed at a client device | |
| US12083439B2 (en) | Interaction interleaver | |
| US12250415B2 (en) | Computerized system and method for automatic highlight detection from live streaming media and rendering within a specialized media player | |
| JP7343588B2 (en) | System and method for customizing and compositing video feeds on client devices | |
| US9138652B1 (en) | Fantasy sports integration with video content | |
| EP3488618B1 (en) | Live video streaming services with machine-learning based highlight replays | |
| JP7174941B2 (en) | digital media system | |
| US9463388B2 (en) | Fantasy sports transition score estimates | |
| US20170072321A1 (en) | Highly interactive fantasy sports interleaver | |
| US20120185482A1 (en) | Methods, systems, and computer readable media for dynamically searching and presenting factually tagged media clips | |
| US10056116B2 (en) | Data processing system for automatically generating excitement levels with improved response times using prospective data | |
| US20090064017A1 (en) | Tuning/customization | |
| US11334310B2 (en) | Synchronization of digital content consumption | |
| US20220224958A1 (en) | Automatic generation of augmented reality media | |
| Ennis | Understanding fans and their consumption of sport | |
| WO2025206103A1 (en) | Information processing system, method, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210819 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220928 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221101 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230127 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230509 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230726 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230808 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230831 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7343588 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |