(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028004
(43)【公開日】2024-03-01
(54)【発明の名称】画像生成プログラム、画像生成方法および情報処理装置
(51)【国際特許分類】
H04N 23/69 20230101AFI20240222BHJP
H04N 23/66 20230101ALI20240222BHJP
H04N 23/60 20230101ALI20240222BHJP
H04N 5/765 20060101ALI20240222BHJP
【FI】
H04N5/232 960
H04N5/232 030
H04N5/232 290
H04N5/765
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022131297
(22)【出願日】2022-08-19
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】中山 智由
【テーマコード(参考)】
5C122
【Fターム(参考)】
5C122EA47
5C122EA63
5C122FE01
5C122FH18
5C122FK41
5C122HA13
5C122HA35
5C122HA75
5C122HA88
5C122HB01
5C122HB10
(57)【要約】
【課題】レース状況に関わらず見やすいオーバーレイ画像を生成することを課題とする。
【解決手段】オーバーレイ装置は、コース上を移動する移動体に取り付けられたセンサから位置情報を取得する。オーバーレイ装置は、各移動体の相対的な位置関係を前記位置情報から算出する。オーバーレイ装置は、前記各移動体の相対的な位置関係に応じて、前記各移動体がすべて表示されるように縮尺を決定する。オーバーレイ装置は、決定した縮尺で前記各移動体の相対的な位置関係を示す画像データを生成し、前記画像データを出力する。
【選択図】
図12
【特許請求の範囲】
【請求項1】
コンピュータに、
コース上を移動する移動体に取り付けられたセンサから位置情報を取得し、
各移動体の相対的な位置関係を前記位置情報から算出し、
前記各移動体の相対的な位置関係に応じて、前記各移動体がすべて表示されるように縮尺を決定し、
決定した縮尺で前記各移動体の相対的な位置関係を示す画像データを生成し、
前記画像データを出力する、
処理を実行させることを特徴とする画像生成プログラム。
【請求項2】
前記決定する処理は、
前記コースで行われるレースの映像とオーバーレイ表示させるオーバーレイ画像の描画領域において、前記レースの進行方向である幅と、前記進行方向と垂直の方向である高さとを設定し、
前記描画領域における先頭領域から先頭の移動体までの余白と描画対象とする前記先頭の移動体からの距離とを加算した加算値で、前記描画領域の幅を除算した値を基本縮尺に設定し、
前記生成する処理は、
前記各移動体の実際の距離に応じて、前記基本縮尺を変更した変更縮尺を用いて前記画像データを生成し、
前記出力する処理は、
前記画像データを前記オーバーレイ画像として出力する、
ことを特徴とする請求項1に記載の画像生成プログラム。
【請求項3】
前記生成する処理は、
前記オーバーレイ画像の高さの縮尺として、前記各移動体の幅が前記描画領域に収まるように設定された第1の閾値未満である場合は、前記基本縮尺を選択し、前記各移動体の幅が前記第1の閾値以上である場合は、前記各移動体の幅で前記高さを除算した値を、前記変更縮尺に選択し、
選択された前記基本縮尺または前記変更縮尺を用いて、高さの縮尺を変更した前記画像データを生成する、
ことを特徴とする請求項2に記載の画像生成プログラム。
【請求項4】
前記生成する処理は、
前記オーバーレイ画像の進行方向の縮尺として、前記先頭の移動体から最後尾の移動体までの進行方向の長さが第2の閾値未満である場合は、前記基本縮尺に選択し、前記進行方向の長さが前記第2の閾値以上である場合は、前記進行方向の長さに前記余白を加算した加算値で前記描画領域の幅を除算した値を、前記変更縮尺に選択し、
選択された前記基本縮尺または前記変更縮尺を用いて、進行方向の縮尺を変更した前記画像データを生成する、
ことを特徴とする請求項2に記載の画像生成プログラム。
【請求項5】
前記生成する処理は、
前記進行方向の長さが前記第2の閾値以上かつ第3の閾値未満である場合は、前記進行方向の長さに前記余白を加算した値で前記描画領域の幅を除算した値を、前記変更縮尺に選択し、
前記進行方向の長さが前記第3の閾値以上である場合は、縮尺を変更して描画対象とする先頭の移動体からの距離の最大値に前記余白を加算した加算値で前記描画領域の幅を除算した値を、前記変更縮尺に選択し、
選択された前記変更縮尺を用いて、進行方向の縮尺を変更した前記画像データを生成する、
ことを特徴とする請求項4に記載の画像生成プログラム。
【請求項6】
前記算出する処理は、
直線区間と曲線区間とを有するコース上に、位置情報が既知である複数のチェックポイントと、前記複数のチェックポイントを順番に結ぶ各直線を設定し、
前記コースで移動する各移動体に取り付けられたセンサから、前記各移動体の第1の位置情報を取得し、
前記各移動体の第1の位置情報を前記各直線に近似させた各第2の位置情報に変換し、
前記複数のチェックポイントの位置情報と前記各第2の位置情報を用いて、前記各移動体の相対的な位置関係を算出する、
ことを特徴とする請求項1に記載の画像生成プログラム。
【請求項7】
コンピュータが、
コース上を移動する移動体に取り付けられたセンサから位置情報を取得し、
各移動体の相対的な位置関係を前記位置情報から算出し、
前記各移動体の相対的な位置関係に応じて、前記各移動体がすべて表示されるように縮尺を決定し、
決定した縮尺で前記各移動体の相対的な位置関係を示す画像データを生成し、
前記画像データを出力する、
処理を実行することを特徴とする画像生成方法。
【請求項8】
コース上を移動する移動体に取り付けられたセンサから位置情報を取得し、
各移動体の相対的な位置関係を前記位置情報から算出し、
前記各移動体の相対的な位置関係に応じて、前記各移動体がすべて表示されるように縮尺を決定し、
決定した縮尺で前記各移動体の相対的な位置関係を示す画像データを生成し、
前記画像データを出力する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成プログラム、画像生成方法および情報処理装置に関する。
【背景技術】
【0002】
近年、テレビ放送やビデオ通話などでは、映像データの上に別の映像データを重ねて表示するオーバーレイ技術が利用されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、オーバーレイ技術は、視点等が異なる各映像データを用いて、レース状況をリアルタイムに表示するテレビ放送などに使用されることがある。例えば、レース状況の映像データと、選手等の表示対象の位置関係を直線で表した位置データとをオーバーレイ表示することがある。
【0005】
しかしながら、上記技術では、レースに追従させたオーバーレイ画像が生成されるので、レース状況によっては表示対象が集約や分散されて見づらい画像となることがある。
【0006】
一つの側面では、レース状況に関わらず見やすいオーバーレイ画像を生成することができる画像生成プログラム、画像生成方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、画像生成プログラムは、コンピュータに、コース上を移動する移動体に取り付けられたセンサから位置情報を取得し、各移動体の相対的な位置関係を前記位置情報から算出し、前記各移動体の相対的な位置関係に応じて、前記各移動体がすべて表示されるように縮尺を決定し、決定した縮尺で前記各移動体の相対的な位置関係を示す画像データを生成し、前記画像データを出力する、処理を実行させることを特徴とする。
【発明の効果】
【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にかかるオーバーレイ画像の縮尺変更を説明する図である。
【
図13】
図13は、オーバーレイ画像の事前設定を説明する図である。
【
図16】
図16は、横方向の縮尺の具体例を説明する図である。
【
図19】
図19は、進行方向の縮尺の具体例1を説明する図である。
【
図20】
図20は、進行方向の縮尺の具体例2を説明する図である。
【発明を実施するための形態】
【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により生成されたオーバーレイ画像を用いたオーバーレイ表示によって、リアルタイムな映像と連動させることができ、違和感のあるオーバーレイ表示の発生が軽減される。
ところで、オーバーレイ表示は、レースに追従させたオーバーレイ画像が表示されるので、レース状況によっては表示対象が集約や分散されて見づらい画像となることがある。そこで、実施例2では、上記オーバーレイ装置10が、オーバーレイ画像の縮尺を相対位置に応じて自動的に変更した画像データを生成することで、レース状況に関わらず見やすいオーバーレイ画像を生成する例を説明する。
例えば、画像生成部23は、実際の距離mを画面上のピクセルのスケールに変換させる縮尺を用いて、基本的には全頭が収まるオーバーレイ画像を生成するが、先頭馬を最後尾の競走馬との距離が第1の閾値を超えた場合に縮尺を変更する。さらに、画像生成部23は、先頭馬を最後尾の競走馬との距離が第2の閾値を超えた場合は、最後尾の競走馬を表示しないオーバーレイ画像を生成する。例えば、画像生成部23は、先頭馬と最後尾の馬の距離が縦方向に10mを越えた時に、実際の距離10mで画面上が例えば200ピクセルとしている場合、11mが200ピクセルになるように、オーバーレイ画像の縮尺を変更する。
また、画像生成部23は、先頭馬の前方の余白(メートル)を示す「d1」、基本縮尺で描画対象とする先頭馬からの距離(メートル)を示す「d2」、縮尺を変更して描画対象とする先頭馬からの距離(メートル)を示す「d3」を設定する。なお、画像生成部23は、初期処理で設定から算出される「メートルからピクセルに変換する基本縮尺s」を「s=w/(d1+d2)」と算出しておく。
このような状態の場合、画像生成部23は、画面のy方向の描画座標(ピクセル)を基準位置からの距離(メートル)を元に決定する。例えば、画像生成部23は、横位置が「p(メートル)」の競走馬(例えば先頭馬)の場合、「y=(h/2)+(p-center)×sy」により算出する。
なお、「center」は、横方向の描画の基準位置(メートル)であり、「center=(min+max)/2」により算出される。「sy」は、y方向の縮尺を示し、馬群の横方向の幅が描画領域に収まる場合は、基本の縮尺sが設定される。すなわち、画像生成部23は、「(max-min)×s≦h」の場合、「sy=s」を設定する。
このような状態の場合、画像生成部23は、画面のx方向の描画座標(ピクセル)を先頭馬からの距離(メートル)を元に決定する。例えば、画像生成部23は、進行方向上の位置が「p(メートル)」の競走馬(例えば馬群中央の馬)の場合、「x=w-(max-p+d1)×sx」により算出する。「sx」は、x方向の縮尺を示し、馬群の進行方向の幅が描画領域に収まる場合は、基本の縮尺sが設定される。すなわち、画像生成部23は、「(max-min)≦d2」の場合、「sx=s」を設定する。
一方、画像生成部23は、馬群の長さが「d3」を超える場合は、それ以上の縮尺sxの変更を抑制する。すなわち、画像生成部23は、「(max-min)>d3」の場合、「sx=w/(d3+d1)」を設定する。調整されたsxが用いられても、描画範囲外の競走馬が描画されないが、極端に競走馬が小さく表示されて、オーバーレイ画像が見にくくなることが抑制される。
上述したように、オーバーレイ装置10は、オーバーレイ画像を生成するタイミングごとに、横幅および縦幅の縮尺を動的に変更しつつ、オーバーレイ画像を生成することができる。したがって、オーバーレイ装置10は、縦長のレースや横長のレース状況が発生した場合でも、競走馬が集約や分散されて見づらいオーバーレイ画像となることを抑制できる。
また、オーバーレイ装置10は、レースのリアルタイム映像でも1画面に収まらないような縦長のレースが発生しても、馬券購入者や閲覧者が注目する先頭馬付近の競走馬が写るオーバーレイ画像を生成することができるので、見やすいオーバーレイ画像を常に生成することができる。