(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028102
(43)【公開日】2024-03-01
(54)【発明の名称】位置算出プログラム、位置算出方法および情報処理装置
(51)【国際特許分類】
H04N 21/854 20110101AFI20240222BHJP
H04N 21/258 20110101ALI20240222BHJP
【FI】
H04N21/854
H04N21/258
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023070243
(22)【出願日】2023-04-21
(31)【優先権主張番号】P 2022131388
(32)【優先日】2022-08-19
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】中山 智由
(72)【発明者】
【氏名】半野 宏和
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA04
5C164MB13S
5C164MC01P
5C164SB01S
5C164SB29S
5C164SC11P
5C164YA30
(57)【要約】
【課題】直線区間と曲線区間を有するコースを移動する各移動体の位置関係を、直線を用いて正確に表すことを課題とする。
【解決手段】オーバーレイ装置は、直線区間と曲線区間とを有するコース上に、位置情報が既知である複数のチェックポイントと、前記複数のチェックポイントを順番に結ぶ各直線を設定する。オーバーレイ装置は、コースで移動する各移動体に取り付けられたセンサから、各移動体の第1の位置情報を取得する。オーバーレイ装置は、各移動体の第1の位置情報を各直線に近似させた各第2の位置情報に変換し、複数のチェックポイントの位置情報と各第2の位置情報を用いて、各移動体の相対的な位置を特定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータに、
直線区間と曲線区間とを有するコース上に、位置情報が既知である複数のチェックポイントと、前記複数のチェックポイントを順番に結ぶ各直線を設定し、
前記コースで移動する各移動体に取り付けられたセンサから、前記各移動体の第1の位置情報を取得し、
前記各移動体の第1の位置情報を前記各直線に近似させた各第2の位置情報に変換し、
前記複数のチェックポイントの位置情報と前記各第2の位置情報を用いて、前記各移動体の相対的な位置を算出する、
処理を実行させることを特徴とする位置算出プログラム。
【請求項2】
前記設定する処理は、
前記直線区間の一端である各チェックポイントについて、当該直線区間と垂直かつチェックポイントを通る直線を境界線に設定し、
前記曲線区間上に位置する各チェックポイントについて、前記各直線のうち当該チェックポイントを一端とする2つの直線がなす角度を2分割する方向で当該チェックポイントを通る直線を境界線に設定し、
前記変換する処理は、
前記各移動体がどのチェックポイントの境界線を通過したかにより、近似先とする前記直線を特定し、
前記第1の位置情報を、特定された前記直線に近似させた前記第2の位置情報に変換する、
ことを特徴とする請求項1に記載の位置算出プログラム。
【請求項3】
前記変換する処理は、
前記直線区間の一端である前記チェックポイントに対して、次のチェックポイントに向かう単位ベクトルを進行方向のベクトルとして算出し、
前記曲線区間上の前記チェックポイントに対して、前記境界線により分けられる領域のうち次のチェックポイントを含む領域側で前記境界線と垂直な方向の単位ベクトルを進行方向のベクトルとして算出し、
前記移動体が通過した最新のチェックポイントの次のチェックポイントから前記移動体へ向かうベクトルと、前記次のチェックポイントの進行方向のベクトルとの内積が正の値の場合に、前記移動体が前記次のチェックポイントの境界線を通過した特定し、前記内積が負の値の場合に、前記移動体が前記次のチェックポイントの境界線を通過していないと特定し、
通過した最新の前記境界線のチェックポイントと次のチェックポイントとの間に設定された前記直線を近似先と特定し、
前記第1の位置情報を、特定された前記直線に近似させた前記第2の位置情報に変換する、
ことを特徴とする請求項2に記載の位置算出プログラム。
【請求項4】
前記変換する処理は、
前記直線区間に位置する前記移動体の前記第2の位置情報として、
通過した最新のチェックポイントから前記移動体へのベクトルと、前記最新のチェックポイントの進行方向のベクトルとの内積を、前記移動体の走行距離として算出し、
最新のチェックポイントから前記移動体へのベクトルと、前記最新のチェックポイントの進行方向のベクトルを時計回りに90度回転させたベクトルとの内積を、前記移動体の横位置として算出する、
ことを特徴とする請求項3に記載の位置算出プログラム。
【請求項5】
前記変換する処理は、
前記曲線区間に位置する前記移動体の前記第2の位置情報として、
通過した最新のチェックポイントを一端とする前記曲線区間の両端の各チェックポイントの境界線の第1の交点と前記移動体とを結んだ直線と、前記両端の各チェックポイント間に設定された直線との第2の交点を算出し、
前記最新のチェックポイントから前記第2の交点までの距離を前記移動体の走行距離として算出し、
前記第2の交点から前記移動体への距離を、前記移動体の横位置として算出する、
ことを特徴とする請求項3に記載の位置算出プログラム。
【請求項6】
前記変換する処理は、
前記曲線区間の一端である前記最新のチェックポイントから前記曲線区間の他端であるチェックポイントへのベクトルと、前記最新のチェックポイントから前記移動体へのベクトルとの外積が正の値の場合、前記第2の交点から前記移動体への距離を、前記移動体の横位置として算出し、前記外積が負の値の場合、前記第2の交点から前記移動体への距離の符号を変換させた値を、前記移動体の横位置として算出する、
ことを特徴とする請求項5に記載の位置算出プログラム。
【請求項7】
前記各移動体のうち、よりゴールに近いチェックポイントを通過している移動体を先頭と特定し、
前記各移動体の前記第2の位置情報を用いて、前記先頭の移動体から他の各移動体への相対的な位置を特定し、
前記相対的な位置で直線状に前記各移動体を並べたオーバーレイ画像を生成する、
処理を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の位置算出プログラム。
【請求項8】
前記特定する処理は、
前記各移動体について、前記第2の位置情報および前記第2の位置情報よりも過去に算出された複数の位置情報を用いて移動平均を算出し、
前記各移動体の移動平均を用いて、前記先頭の移動体から他の各移動体への相対的な位置を特定し、
前記生成する処理は、
前記相対的な位置で直線状に前記各移動体を並べたオーバーレイ画像を生成する、
ことを特徴とする請求項7に記載の位置算出プログラム。
【請求項9】
前記生成する処理は、
前記先頭の移動体を強調表示させた前記オーバーレイ画像を生成する、
ことを特徴とする請求項8に記載の位置算出プログラム。
【請求項10】
前記生成する処理は、
前記コースに関する情報を取得し、
前記コースに関する情報に含まれる傾斜情報および前記先頭の移動体の速度情報を含む前記オーバーレイ画像を生成する、
ことを特徴とする請求項8に記載の位置算出プログラム。
【請求項11】
コンピュータが、
直線区間と曲線区間とを有するコース上に、位置情報が既知である複数のチェックポイントと、前記複数のチェックポイントを順番に結ぶ各直線を設定し、
前記コースで移動する各移動体に取り付けられたセンサから、前記各移動体の第1の位置情報を取得し、
前記各移動体の第1の位置情報を前記各直線に近似させた各第2の位置情報に変換し、
前記複数のチェックポイントの位置情報と前記各第2の位置情報を用いて、前記各移動体の相対的な位置を特定する、
処理を実行することを特徴とする位置算出方法。
【請求項12】
直線区間と曲線区間とを有するコース上に、位置情報が既知である複数のチェックポイントと、前記複数のチェックポイントを順番に結ぶ各直線を設定し、
前記コースで移動する各移動体に取り付けられたセンサから、前記各移動体の第1の位置情報を取得し、
前記各移動体の第1の位置情報を前記各直線に近似させた各第2の位置情報に変換し、
前記複数のチェックポイントの位置情報と前記各第2の位置情報を用いて、前記各移動体の相対的な位置を特定する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置算出プログラム、位置算出方法および情報処理装置に関する。
【背景技術】
【0002】
近年、テレビ放送やビデオ通話などでは、映像データの上に別の映像データを重ねて表示するオーバーレイ技術が利用されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、オーバーレイ技術は、視点等が異なる各映像データを用いて、レース状況をリアルタイムに表示するテレビ放送などに使用されることがある。例えば、レース状況の映像データと、選手等の表示対象の位置関係を直線で表した位置データとをオーバーレイ表示することがある。
【0005】
しかしながら、上記技術では、例えば直線区間と曲線区間を有するレースなどにおいて、直線区間に位置する表示対象と、曲線区間に位置する表示対象との位置関係を正確に特定することができない。その結果、違和感のある映像データが重畳して表示され、オーバーレイ表示の精度も低下する。
【0006】
一つの側面では、直線区間と曲線区間を有するコースを移動する各移動体の位置関係を、直線を用いて正確に表すことができる位置算出プログラム、位置算出方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、位置算出プログラムは、コンピュータに、直線区間と曲線区間とを有するコース上に、位置情報が既知である複数のチェックポイントと、前記複数のチェックポイントを順番に結ぶ各直線を設定し、前記コースで移動する各移動体に取り付けられたセンサから、前記各移動体の第1の位置情報を取得し、前記各移動体の第1の位置情報を前記各直線に近似させた各第2の位置情報に変換し、前記複数のチェックポイントの位置情報と前記各第2の位置情報を用いて、前記各移動体の相対的な位置を特定する、処理を実行させることを特徴とする。
【発明の効果】
【0008】
一実施形態によれば、直線区間と曲線区間を有するコースを移動する各移動体の位置関係を、直線を用いて正確に表すことができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施例1にかかるシステムの全体構成を説明する図である。
【
図2】
図2は、実施例1にかかるオーバーレイ表示の例を説明する図である。
【
図3】
図3は、実施例1にかかるオーバーレイ装置の機能構成を示す機能ブロック図である。
【
図4】
図4は、設定データDBに記憶される情報の例を示す図である。
【
図6】
図6は、コース設定の読み込み後の事前準備を説明する図である。
【
図7】
図7は、競走馬が位置する区間の特定を説明する図である。
【
図8】
図8は、競走馬が直線区間に位置する場合の位置情報の算出を説明する図である。
【
図9】
図9は、競走馬が曲線区間に位置する場合の位置情報の算出を説明する図である。
【
図10】
図10は、オーバーレイ画像の例を説明する図である。
【
図11】
図11は、オーバーレイ画像生成の処理の流れを示すフローチャートである。
【
図12】
図12は、実施例2にかかる位置算出の例1を説明する図である。
【
図13】
図13は、実施例2にかかる位置算出の例2を説明する図である。
【
図14】
図14は、実施例3にかかるオーバーレイ画像を説明する図である。
【
図15】
図15は、実施例3にかかるオーバーレイ表示の例を説明する図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示する位置算出プログラム、位置算出方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例0011】
<全体構成>
図1は、実施例1にかかるシステムの全体構成を説明する図である。
図1に示すシステムは、テレビ局等が放送するレースの映像データに重畳させるオーバーレイ画像を生成するシステムの一例である。
【0012】
本実施例では、コースで移動する移動体の一例である競走馬による競馬を例にして説明するが、これに限定されるものではなく、例えば陸上競技、競輪、競艇、カーレース、トライアスロン、競歩、学校の徒競走など、直線と曲線とを含むコースで行われる各種レースを対象とすることができる。また、生成されるオーバーレイ画像は、テレビ放送に限定されるものではなく、例えばインターネット放送、SNS(Social Networking Service)などを用いたライブ放送などの各種放送に適用することができる。
【0013】
図1に示すように、このシステムは、測位衛星1、基準局2、各競走馬もしくは各騎手に取り付けられた複数のセンサ3、位置測位装置4、オーバーレイ装置10を有し、各装置はネットワークNを介して接続される。なお、ネットワークNには、有線や無線を問わず様々なネットワークを採用することができ、例えば閉域LTE(Long Term Evolution)サービスが提供される携帯電話網を採用することができる。
【0014】
測位衛星1は、位置測定に用いられる電波をセンサ3に送信する人工衛星の一例であり、例えばGNSS(Global Navigation Satellite System)衛星を用いることができる。基準局2は、競走馬の位置特定の際に基準位置となる装置であり、例えば競馬場において緯度と経度とが予め分かっている場所に設置される。各センサ3は、衛星電波を受信して位置測定を実行する測位センサの一例であり、例えばGNSSセンサを用いることができる。
【0015】
位置測位装置4は、各競走馬等に取り付けられた各センサ3から位置情報を収集して保持する情報処理装置の一例である。オーバーレイ装置10は、オーバーレイ画像を生成して出力する情報処理装置の一例である。
【0016】
このようなシステム構成において、基準局2は、閉域LTEサービスが提供される携帯電話網を介して、位置測位装置4と常時通信して定期的に位置補正用の各種データを位置測位装置4に送信する(S1)。位置測位装置4は、基準局2から送信されるデータをもとに補正情報を生成し、閉域LTEサービスを介して各センサ3に配信する(S2)。
【0017】
各センサ3は、測位衛星1から衛星情報を受信し(S3)、位置測位装置4から配信された補正情報と、測位衛星1から受信した衛星情報とを用いて、GPS(Global Positioning System)時刻に同期した正確な時刻と自己の位置情報を算出して位置測位装置4に送信する(S4)。
【0018】
位置測位装置4は、各センサ3からデータ(時刻、位置情報)を受信し(S5)、受信データを本体に格納したり、受信データを画面に表示させたりするとともに、受信データをオーバーレイ装置10に提供する(S6)。
【0019】
そして、オーバーレイ装置10は、位置測定装置4から受信した各センサ3の受信データ(時刻、位置情報)を用いて、直線と曲線とを考慮した各競走馬の位置を正確に算出し、各競走馬の位置を相対的に表したオーバーレイ画像を生成する(S7)。
【0020】
例えば、オーバーレイ装置10は、直線区間と曲線区間とを有するコース上に、位置情報が既知である複数のチェックポイントと、複数のチェックポイントを順番に結ぶ各直線を設定する。オーバーレイ装置10は、コースでレースを行う各競走馬に取り付けられたセンサ3から、各競走馬の第1の位置情報を取得し、各競走馬の第1の位置情報を各直線に近似させた各第2の位置情報を算出する。オーバーレイ装置10は、複数のチェックポイントの位置情報と各第2の位置情報を用いて、各競走馬の相対的な位置を特定する。
【0021】
このようにしてオーバーレイ装置10が生成したオーバーレイ画像は、テレビ放送を行う映像システム等に送信された後、映像システムによって、レースのリアルタイム状況を撮像したレースの映像データに重畳されてテレビ放送される。
【0022】
図2は、実施例1にかかるオーバーレイ表示の例を説明する図である。
図2に示すように、テレビ放送では、レースのリアルタイムの状況であるレース映像50aに、オーバーレイ装置10が生成したオーバーレイ画像51が重畳されたレースの映像データ50が放送される。
【0023】
<機能構成>
図3は、実施例1にかかるオーバーレイ装置10の機能構成を示す機能ブロック図である。
図3に示すように、オーバーレイ装置10は、通信部11、記憶部12、制御部20を有する。
【0024】
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、位置測定装置4から各センサ3の受信データ(時刻、位置情報)などを受信し、映像システムなどの指定された宛先に、制御部20により生成されるオーバーレイ画像を送信する。
【0025】
記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する処理部であり、例えばメモリやプロセッサなどにより実現される。この記憶部12は、設定データDB13、位置情報DB14、オーバーレイ画像DB15を記憶する。
【0026】
設定データDB13は、各競走馬の位置情報の特定に利用する、予め設定された各種設定情報を記憶するデータベースである。ここで記憶される情報は、管理者等が格納してもよく、制御部20が処理開始に指定された格納先が読み出してもよい。また、ここで記憶される情報は、競馬場ごとに設定される。
【0027】
図4は、設定データDB13に記憶される情報の例を示す図である。
図4に示すように、設定データDB13は、センサ情報、チェックポイント情報、区間情報などを記憶する。
【0028】
センサ情報は、各競走馬に取り付けられた各センサ3に関する情報である。例えば、センサ情報は、「センサID、馬名、馬番、帽色」などを記憶する。「センサID」は、各センサ3を識別する情報である。「馬名」は、センサ3が取り付けられた競走馬(出走馬)の名前である。「馬番」は、出走馬に割り当てられた番号である。「帽色」は、騎手がレースの際かぶるヘルメットの色である。
図4の例では、馬番が1で帽色が白色である馬名AAの競走馬にセンサID=S01のセンサ3が取り付けられていることが示される。すなわち、センサID=S01のセンサ3が測定する位置情報が、馬名AAの競走馬の位置情報である。
【0029】
チェックポイント情報は、レース中の競走馬の進行方向や位置特定に用いる、コース上に設定したチェックポイントに関する情報である。例えば、チェックポイント情報は、「チェックポイント、位置情報」などを記憶する。ここで記憶される「チェックポイント」は、コース上に設定されたチェックポイントを識別する情報であり、「位置情報」は、各チェックポイントの位置情報(緯度経度)である。
図4の例では、チェックポイントp1は、「緯度=X1、経度=Y1」の位置に設置されていることが示されている。
【0030】
区間情報は、チェックポイント間の区間に関する情報である。例えば、チェックポイント情報は、「区間、情報」などを記憶する。ここで記憶される「区間」は、どのチェックポイント間かを示す情報であり、「情報」は、区間が直線か曲線かを示す情報である。
図4の例では、チェックポイントp1とp2の間の区間が直線であり、チェックポイントp2とp3の間の区間が曲線であることが示されている。
【0031】
図3に戻り、位置情報DB14は、各センサ3の位置情報を記憶するデータベースである。すなわち、位置情報DB14は、各競走馬の位置を記憶する。例えば、位置情報DB14は、センサ3ごとに、位置測定装置4から取得した時刻順で、位置測定装置4から取得した位置情報を記憶する。
【0032】
また、位置情報DB14は、後述する制御部20がオーバーレイ画像生成のために算出した各センサ3の位置情報も記憶する。例えば、位置情報DB14は、センサ3ごとに、時系列で、制御部20が算出した位置情報を記憶する。
【0033】
オーバーレイ画像DB15は、テレビ放送されるレース映像に重畳させるオーバーレイ画像のデータを記憶するデータベースである。例えば、オーバーレイ画像DB15は、生成された時系列順でオーバーレイ画像を記憶する。
【0034】
制御部20は、オーバーレイ装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、位置情報取得部21、位置算出部22、画像生成部23、画像出力部24を有する。なお、位置情報取得部21、位置算出部22、画像生成部23、画像出力部24は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0035】
位置情報取得部21は、各センサ3が測定した各競走馬の位置情報を取得する処理部である。例えば、位置情報取得部21は、位置測定装置4により収集された各位置情報を、位置測定装置4から取得する。そして、位置情報取得部21は、取得した位置情報を位置情報DB14に格納する。
【0036】
位置算出部22は、位置情報取得部21により取得された各センサ3の位置情報(正確な時刻を含む)を用いて、直線区間と曲線区間とを考慮した各競走馬の位置を正確に算出する処理部である。具体的には、位置算出部22は、位置情報(緯度経度)からメートル座標に変換し、変換したメートル座標を用いて各競走馬(センサ3)の位置を算出する。
【0037】
例えば、位置算出部22は、経緯度1分あたりの距離の算出や、経緯度からの単位変換については公知の技術を用いることができる。一例を挙げると、位置算出部22は、位置情報取得部21から取得した各センサ3の位置情報であって度単位の緯度経度を、式(1)と式(2)とを用いて、メートル座標に変換する。
【0038】
緯度1度あたりの距離(メートル)=Ry/360・・・式(1)
ただし、Ryは、地球の子午線周囲(メートル)であり、例えば40,009,000である。
経度1度あたりの距離(メートル)=Rx×cosθ/360・・・式(2)
ただし、Rxは、地球の赤道周囲(メートル)であり、例えば40,075,000である。θは、競馬場の緯度(ラジアン)であり、コース設定ファイルの最大緯度と最小緯度の平均値を使用する。なお、ラジアンは、度×π/180で算出される。
【0039】
そして、位置算出部22は、各センサ3のメートル座標を用いて、競走馬がどの区間に位置するかの特定、チェックポイントを用いた進行方向の算出、競走馬が直線区間に位置する場合の横位置と走行距離の算出、競走馬が曲線区間に場合の横位置と走行距離の算出などを実行する。このようにして、位置算出部22は、各競走馬(センサ3)の位置を算出する。なお、詳細は、後述する。また、横位置とは、競馬でいう横のポジションを示し、進行方向(縦のポジション)と垂直の方向である。
【0040】
画像生成部23は、位置算出部22により算出された各競走馬の位置情報を用いて、オーバーレイ画像を生成する処理部である。具体的には、画像生成部23は、位置情報取得部21により位置情報が取得される時刻ごとに、位置算出部22により算出された各競走馬の位置情報を用いて、各競走馬の相対位置を特定する。そして、画像生成部23は、各競争馬の相対位置を直線状に表したオーバーレイ画像を生成する。その後、画像生成部23は、時系列順でオーバーレイ画像をオーバーレイ画像DB15に格納する。
【0041】
画像出力部24は、オーバーレイ画像を出力する処理部である。具体的には、画像出力部24は、オーバーレイ画像DB15に記憶されるオーバーレイ画像を時系列で読み出して、順次、映像システムに送信する。
【0042】
<具体例>
図5から
図9を用いて、位置算出部22が、式(1)と式(2)を用いて各センサ3の緯度経度をメートル座標に変換した後に実行する各競走馬の位置算出について説明する。すなわち、後述される位置算出は、メートル座標で実行される。また、位置算出部22は、各競走馬について、センサ3により位置が測定されるたびに、後述する位置算出を実行する。また、位置算出部22は、各競走馬について算出される位置を、センサ3により測定された時刻によって結びつけることができるので、ある時刻における各競走馬の位置を特定することができる。
【0043】
(設定)
まず、位置算出部22は、レースのコース設定を設定データDB13等から読み込む。
図5は、コース設定を説明する図である。
図5に示すように、位置算出部22は、コース上に設定されたチェックポイントp1、p2、p3、p4、p5、p6の緯度経度を読み込む。なお、チェックポイントp1は、スタート地点に設定され、チェックポイントp6は、ゴール地点に設定される。なお、各チェックポイントは、コースの最も内側に設定する必要はなく、コース上で緯度経度が既知である場所でよく、設置する位置を限定するものではない。
【0044】
また、位置算出部22は、チェックポイント間の区間の情報を読み込む。具体的には、位置算出部22は、チェックポイントp1-p2の区間1を「直線」、チェックポイントp2-p3の区間2を「曲線」、チェックポイントp3-p4の区間3を「曲線」、チェックポイントp4-p5の区間4を「曲線」、チェックポイントp5-p6の区間5を「直線」として読み込む。なお、チェックポイントの数は一例であり、例えば曲線区間を細かく設定するために、曲線区間に多くのチェックポイントを設定することもできる。
【0045】
(事前準備)
次に、位置算出部22は、コース設定後の事前準備を実行する。
図6は、コース設定の読み込み後の事前準備を説明する図である。
図6に示すように、位置算出部22は、各チェックポイントを順番に結ぶ直線を設定する。具体的には、位置算出部22は、チェックポイントp1-p2を結ぶ直線d1を設定し、チェックポイントp2-p3を結ぶ直線d2を設定し、チェックポイントp3-p4を結ぶ直線d3を設定し、チェックポイントp4-p5を結ぶ直線d4を設定し、チェックポイントp5-p6を結ぶ直線d5を設定する。
【0046】
続いて、位置算出部22は、各チェックポイントの境界線を算出する。具体的には、位置算出部22は、直線区間の一端である各チェックポイントについて、当該直線区間と垂直かつチェックポイントを通る直線を境界線に設定する。また、位置算出部22は、曲線区間上に位置する各チェックポイントについて、各直線のうち当該チェックポイントを一端とする2つの直線がなす角度を2分割する方向で当該チェックポイントを通る直線を境界線に設定する。
【0047】
例えば、位置算出部22は、チェックポイントが並ぶ方向(コースと平行方向もしくは進行方向)に対して前もしくは後ろが直線区間であるチェックポイントp1、p2、p5、p6それぞれについて、その直線区間と垂直かつそのチェックポイントを通る直線を境界線とする。すなわち、位置算出部22は、チェックポイントp1に対して境界線b1、チェックポイントp2に対して境界線b2、チェックポイントp5に対して境界線b5、チェックポイントp6に対して境界線b6を設定する。
【0048】
また、位置算出部22は、前と後ろの両方が曲線区間であるチェックポイントについては、前後の直線の角度を2分割する方向でチェックポイントp3とp4を通る直線を境界線とする。すなわち、位置算出部22は、チェックポイントp3については、直線d2と直線d3とがなる角度を2分割する直線を境界線b3に設定する。同様に、位置算出部22は、チェックポイントp4については、直線d3と直線d4とがなる角度を2分割する直線を境界線b4に設定する。
【0049】
続いて、位置算出部22は、各チェックポイントの進行方向を算出する。具体的には、位置算出部22は、直線区間の一端であるチェックポイントに対して、次のチェックポイントへ向かう単位ベクトルを進行方向に設定する。位置算出部22は、曲線区間上のチェックポイントに対して、境界線により分けられる領域のうち次のチェックポイントを含む領域側で境界線と垂直な方向の単位ベクトルを進行方向に設定する。
【0050】
例えば、位置算出部22は、チェックポイントp1については、次のチェックポイントp2へ向かう単位ベクトルv1を進行方向に設定し、チェックポイントp2については、境界線b2と次のチェックポイントp3側の垂直な方向の単位ベクトルv2を進行方向に設定する。位置算出部22は、チェックポイントp3については、境界線b3と次のチェックポイントp4側の垂直な方向の単位ベクトルv3を進行方向に設定し、チェックポイントp4については、境界線b4と次のチェックポイントp5側の垂直な方向の単位ベクトルv4を進行方向に設定する。位置算出部22は、チェックポイントp5については、次のチェックポイントp6へ向かう単位ベクトルv5を進行方向に設定する。なお、最終チェックポイントp6について進行方向の設定は不要である。
【0051】
続いて、位置算出部22は、境界線の交点を曲線区間の中心点として算出する。例えば、位置算出部22は、チェックポイントp2とp3とを両端とする曲線区間2について、チェックポイントp2の境界線b2と、チェックポイントp3の境界線b3との交点c2を、曲線区間2の中心点として算出する。同様に、位置算出部22は、チェックポイントp3とp4とを両端とする曲線区間3について、チェックポイントp3の境界線b3と、チェックポイントp4の境界線b4との交点c3を、曲線区間3の中心点として算出する。また、位置算出部22は、チェックポイントp4とp5とを両端とする曲線区間4について、チェックポイントp4の境界線b4と、チェックポイントp5の境界線b5との交点c4を、曲線区間4の中心点として算出する。
【0052】
(競走馬が位置する区間の特定)
次に、位置算出部22は、競走馬がどの区間に位置するかを特定する。
図7は、競走馬が位置する区間の特定を説明する図である。具体的には、位置算出部22は、競走馬がチェックポイントp1からスタートすることから、最初は区間1に各競走馬が位置すると特定する。その後、位置算出部22は、競走馬がどのチェックポイントの境界線を通過したかにより、次の区間に競走馬が入ったか否かを判定する。具体的には、位置算出部22は、次のチェックポイントから競走馬へ向かうベクトルと、次のチェックポイントの進行方向を示すベクトル(以下では進行方向ベクトルと記載する場合がある)との内積が正の値の場合に、競走馬が次にチェックポイントの区間に入ったと判定する。
【0053】
例えば、
図7に示すように、位置算出部22は、競走馬の現在位置がh1の場合、チェックポイントp1の次のチェックポイントp2からh1に向かうベクトルvh1と、チェックポイントp2の進行方向ベクトルv2との内積を算出する。この場合、位置算出部22は、vh1とv2とのなす角が90度以上であることから、内積(vh1×v2)は0未満となり、競走馬は境界線b2を通過しておらず区間1に位置すると判定する。
【0054】
一方、位置算出部22は、競走馬の現在位置がh2の場合、チェックポイントp1の次のチェックポイントp2からh1に向かうベクトルvh2と、チェックポイントp2の進行方向ベクトルv2との内積を算出する。この場合、位置算出部22は、vh1とv2とのなす角が90度未満であることから、内積(vh1×v2)は0より大きくなり、競走馬は境界線b2を通過し区間2に位置すると判定する。
【0055】
(競走馬の位置算出)
次に、位置算出部22は、競走馬が走行距離と横位置とを算出する。具体的には、位置算出部22は、各競争場のセンサ3により測定された第1の位置情報を、コース上に設定したチェックポイント間のいずれかの直線に近似させた各第2の位置情報に変換する。そして、位置算出部22は、複数のチェックポイントの位置情報と各競走馬に対応する各第2の位置情報を用いて、各競争場の相対的な位置を特定する。
【0056】
例えば、位置算出部22は、位置算出部22は、競走馬が直線区間に位置する場合は、位置する直線区間の直線との位置関係に基づき、走行距離と横位置とを算出する。一方で、位置算出部22は、競走馬が曲線区間に位置する場合は、位置する曲線区間に設定された直線に競走馬の位置を近似させて、近似させた位置とチェックポイントとの位置関係に基づき、走行距離と横位置とを算出する。
【0057】
図8は、競走馬が直線区間に位置する場合の位置情報の算出を説明する図である。位置算出部22は、走行距離として、競走馬が通過済みである最新のチェックポイントから競走馬へのベクトルと最新のチェックポイントの進行方向ベクトルとの内積により走行距離を算出する。また、位置算出部22は、横位置として、競走馬が通過済みである最新のチェックポイントから競走馬へのベクトルと最新のチェックポイントの進行方向ベクトルを90度回転させたベクトルとの内積により、進行方向に対して垂直方向の横位置を算出する。
【0058】
例えば、
図8に示すように、競走馬がチェックポイントp1-p2間の直線区間1のh1に位置する場合、位置算出部22は、チェックポイントp1から競走馬の位置h1へのベクトルvh1と、チェックポイントp1の進行方向ベクトルv1との内積(vh1×v1)により算出される値を、走行距離と算出する。すなわち、位置算出部22は、チェックポイントp1から直線区間d1上のxまでの距離を走行距離と算出する。
【0059】
また、位置算出部22は、チェックポイントp1から競走馬の位置h1へのベクトルvh1と、チェックポイントp1の進行方向ベクトルv1を右に(進行方向に対して時計周りに)90度回転させたベクトルv1´との内積により、競走馬の横位置を算出する。すなわち、位置算出部22は、直線区間d1上のxからh1までの距離を横位置と算出する。なお、ここでは、一例として、オーバーレイ画像の画面描画時、競走馬が右に進んでいく右向きを基準としており、画面のy座標は下向きが正のため、進行方向ベクトルを右に回転させている。
【0060】
図9は、競走馬が曲線区間に位置する場合の位置情報の算出を説明する図である。位置算出部22は、走行距離として、競走馬と中心点とを結んだ直線と、曲線区間の両端のチェックポイント間を結んだ直線との交点を算出し、競走馬が通過済みである最新のチェックポイントから交点への距離を走行距離として算出する。また、位置算出部22は、横位置として、上記交点と競走馬までの距離を算出し、進行方向に向かってチェックポイント間の直線のどの位置にいるかにより、横位置を決定する。
【0061】
例えば、
図9に示すように、競走馬がチェックポイントp3-p4間の曲線区間3のh3に位置する場合、位置算出部22は、競走馬の位置h3から区間3の中心点c3への直線と、区間3内に設定された直線d3との交点xを算出する。そして、位置算出部22は、競走馬が通過済みである最新のチェックポイントp3から交点xまでの距離を走行距離と算出する。
【0062】
また、位置算出部22は、交点xから競走馬の位置h3までの距離を算出する。そして、位置算出部22は、チェックポイントp3からp4へのベクトルと、チェックポイントp3から競走馬の位置h3へのベクトルとの外積を算出し、競走馬h3の位置が直線d3の内側に位置するか外側に位置するかを判定する。なお、
図9におけるh3は、外側に位置する例を示しており、外側とは、直線からコースの中心とは反対側の領域を指す。そして、位置算出部22は、外積が負の値である場合、直線d3の左側に位置すると判定し、算出された上記距離に「-1」を乗算した値を横位置とする。一方、位置算出部22は、外積が正の値である場合、直線d3の右側に位置すると判定し、算出された上記距離をそのまま横位置とする。
【0063】
上述したように、位置算出部22は、直線と曲線とを有するコース上に設定したチェックポイントp1からp6を用いて、コース全体を直線d1、d2、d3、d4、d5によるコースに近似する。そして、位置算出部22は、各競走馬がどの直線のどの位置に位置するかを算出することで、各時刻における各競走馬の位置を算出する。また、位置算出部22は、各チェックポイントおよび各チェックポイントの進行方向を用いて、チェックポイントを通過した時刻とチェックポイントからどの距離に位置するかを特定することで、競走馬の順番(現在の順位)を特定する。
【0064】
このようにして、位置算出部22は、時刻ごとに、各競走馬のメートル座標や走行距離などを含む位置情報を算出して、画像生成部23に出力する。
【0065】
(オーバーレイ画像の生成)
その後、画像生成部23は、時刻ごとに位置算出部22から入力される各競走馬の位置情報を用いて、オーバーレイ画像を生成する。
図10は、オーバーレイ画像の例を説明する図である。
図10に示すように、画像生成部23は、ある時刻におけるオーバーレイ画像を生成する場合に、先頭の競走馬を特定し、先頭の競走馬からの各競走馬の相対位置を特定する。なお、位置算出部22は、よりゴールに近いチェックポイントを通過している競走馬が上の順位となるように各競走馬をソートするとともに、通過したチェックポイントが同じ場合は、その区間内で進行方向の距離が大きい競走馬が上の順位となるようにソートすることで、先頭馬を判定する。
【0066】
そして、画像生成部23は、各競走馬の相対位置を各競走馬の帽色や馬番を用いて表したオーバーレイ画像を生成する。このようにして生成された各時刻におけるオーバーレイ画像(画像データ)は、画像出力部24により映像システムに送信され、映像システムによって、レース映像に重畳されることでオーバーレイ表示が行われる。
【0067】
<処理の流れ>
図11は、オーバーレイ画像生成の処理の流れを示すフローチャートである。
図11に示すように、オーバーレイ装置10の位置算出部22は、処理開始が指示されると(S101:Yes)、設定データDB13から設定情報を読み込む(S102)。
【0068】
続いて、位置算出部22は、各チェックポイントの境界線を算出し(S103)、各チェックポイントの進行方向を算出し(S104)、各曲線区間の中心点を算出する(S105)。
【0069】
このようにして事前準備が終了した後、位置算出部22は、位置測位装置4から位置情報が取得されると(S106:Yes)、各競走馬が位置する区間を特定する(S107)。続いて、位置算出部22は、各競走馬について走行距離を含む位置情報を算出する(S108)。
【0070】
そして、画像生成部23は、先頭馬および各競走馬の相対位置を特定し、相対位置が表されるオーバーレイ画像を生成する(S109)。その後、画像出力部24は、生成されたオーバーレイ画像を映像システム等の宛先に出力する(S110)。
【0071】
ここで、レースが継続中は(S111:No)、S106以降が繰り返され、レースが終了すると(S111:Yes)、オーバーレイ画像生成の処理が終了される。
【0072】
(効果)
上記実施例によれば、オーバーレイ装置10は、曲線区間に位置する競走馬を直線区間に近似させることで、各競走馬の相対的な位置を正確に特定することができる。したがって、オーバーレイ装置10は、直線区間と曲線区間とを有するレースにおいて表示対象の位置関係をリアルタイムに正確に特定することができる。
【0073】
また、オーバーレイ装置10は、正確な位置関係を特定できるので、レース中の映像データとレース中の各時刻における各競争馬の位置関係を直線上で表したオーバーレイ画像を生成することができる。この結果、オーバーレイ装置10により生成されたオーバーレイ画像を用いたオーバーレイ表示によって、リアルタイムな映像と連動させることができ、違和感のあるオーバーレイ表示の発生が軽減される。
ところで、上記オーバーレイ装置10は、各競走馬の位置を表示する際に、競走馬の位置情報の移動平均を用いた表示を行うことで、オーバーレイ表示をより滑らかに表示することができる。具体的には、オーバーレイ装置10は、各競走馬について、最新の移動情報および最新の移動情報よりも過去に算出された複数の移動情報を用いて移動平均を算出する。オーバーレイ装置10は、各競走馬の移動平均を用いて、先頭の競走馬から他の各競走馬への相対的な位置を特定し、相対的な位置で直線状に各競走馬を並べたオーバーレイ画像を生成する。
すなわち、オーバーレイ装置10は、競走馬の最新の位置情報、すなわち各センサ3の最新の位置情報を用いてオーバーレイ画像を生成する際に、それまでの位置情報の移動平均の値を最新の位置情報に用いることで、滑らかなオーバーレイ表示を実現する。
そこで、実施例2では、競走馬が直線区間に位置する場合と曲線区間に位置する場合とに分けて、移動平均を用いた滑らかなオーバーレイ表示の実現手法について説明する。
また、オーバーレイ装置10の画像生成部23は、最新の競走馬の位置情報「A7」が算出された場合、最新の位置情報「A7」から遡った過去の3つの位置情報「A6」、「A5」、「A4」と、最新の位置情報「A7」とを用いた移動平均「A7-1」を算出する。そして、画像生成部23は、競走馬の最新位置に移動平均「A7-1」を用いてオーバーレイ画像を生成する。
なお、移動平均の算出に用いる過去の位置情報の数は、任意に変更することができる。例えば、画像生成部23は、競走馬の位置情報「A7」が算出された場合、位置情報「A7」までに算出された過去の位置情報「A6」、「A5」、「A4」、「A3」、「A2」、「A1」と、最新の位置情報「A7」とを用いた移動平均「A7-2」を算出する。そして、画像生成部23は、競走馬の最新位置に移動平均「A7-2」を用いてオーバーレイ画像を生成する。