(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022029349
(43)【公開日】2022-02-17
(54)【発明の名称】情報処理装置、操作端末、記録方法、プログラム、及び情報処理システム
(51)【国際特許分類】
A63F 3/02 20060101AFI20220209BHJP
A63F 9/24 20060101ALI20220209BHJP
G06Q 50/10 20120101ALI20220209BHJP
【FI】
A63F3/02 521B
A63F9/24 K
G06Q50/10
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020132649
(22)【出願日】2020-08-04
(71)【出願人】
【識別番号】514080981
【氏名又は名称】HEROZ株式会社
(72)【発明者】
【氏名】木曽野 正篤
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC18
(57)【要約】
【課題】対局時計を使用するゲーム及び対局時計を使用しないゲームの両方においてゲームに関する時間を自動的に記録できる情報処理装置を提供することを課題とする。
【解決手段】盤上に複数のゲーム部品を配置して行うゲームにおいて、ゲームを行う複数人のプレイヤそれぞれのゲームに関する時間を記録する情報処理装置であって、盤上の撮影画像データに基づき認識されたゲーム部品の配置の変化により、ゲームに関する時間を計測する画像処理手段と、対局時計を使用するか否かの選択を受け付ける使用選択受付手段と、対局時計を使用する選択を受け付けた場合に、対局時計を使用して計測したゲームに関する時間を保存し、対局時計を使用しない選択を受け付けた場合に、画像処理手段により計測されたゲームに関する時間を保存するように制御を行う保存制御手段と、を有することにより、上記課題を解決する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
盤上に複数のゲーム部品を配置して行うゲームにおいて、前記ゲームを行う複数人のプレイヤそれぞれの前記ゲームに関する時間を記録する情報処理装置であって、
前記盤上の撮影画像データに基づき認識された前記ゲーム部品の配置の変化により、前記ゲームに関する時間を計測する画像処理手段と、
対局時計を使用するか否かの選択を受け付ける使用選択受付手段と、
前記対局時計を使用する選択を受け付けた場合に、前記対局時計を使用して計測した前記ゲームに関する時間を保存し、前記対局時計を使用しない選択を受け付けた場合に、前記画像処理手段により計測された前記ゲームに関する時間を保存するように制御を行う保存制御手段と、
を有する情報処理装置。
【請求項2】
前記画像処理手段は、前記使用選択受付手段が前記対局時計を使用する選択を受け付けた場合に、前記撮影画像データに基づき認識された前記ゲーム部品の配置の変化により、前記ゲームに関する時間を計測しないこと
を特徴とする請求項1記載の情報処理装置。
【請求項3】
前記保存制御手段は、前記ゲームを行う複数人のプレイヤそれぞれの持ち時間の表示及び管理を行う前記対局時計から受信する着手の完了の通知を使用して、前記複数人のプレイヤそれぞれの消費時間を前記ゲームに関する時間として保存すること
を特徴とする請求項1又は2記載の情報処理装置。
【請求項4】
前記対局時計は、前記複数人のプレイヤから着手の完了の操作を受け付け、前記着手の完了の操作を受け付けた場合に発光する終了操作受付手段と通信が可能に接続されており、
前記画像処理手段は、前記撮影画像データに基づき認識された前記発光により前記複数人のプレイヤによる前記着手の完了の操作を判断すること
を特徴とする請求項3記載の情報処理装置。
【請求項5】
前記盤上の撮影画像データから、前記盤上に配置されている前記ゲーム部品を認識する画像認識手段、を更に有し、
前記画像処理手段は、前記画像認識手段による認識に基づき、記録が必要な前記ゲーム部品の配置の変化を解析し、
前記保存制御手段は、前記ゲーム部品の配置の変化と対応付けて前記ゲームに関する時間を保存するように制御を行うこと
を特徴とする請求項1乃至4の何れか一項に記載の情報処理装置。
【請求項6】
盤上に複数のゲーム部品を配置して行うゲームにおいて、前記ゲームを行う複数人のプレイヤそれぞれの前記ゲームに関する時間を記録する情報処理装置と通信が可能である操作端末であって、
前記情報処理装置から受信したコンテンツデータに基づき、対局時計を使用するか否かの選択を受け付ける画面を表示部に表示する表示制御手段と、
前記画面から受け付けた選択の結果を前記情報処理装置に指示する指示手段と、
を有し、
前記指示手段は、
前記対局時計を使用する選択を受け付けた場合に、前記対局時計を使用して計測した前記ゲームに関する時間を保存させ、前記対局時計を使用しない選択を受け付けた場合に、前記盤上の撮影画像データに基づき認識された前記ゲーム部品の配置の変化により計測した前記ゲームに関する時間を保存させるように指示を行うこと
を特徴とする操作端末。
【請求項7】
盤上に複数のゲーム部品を配置して行うゲームにおいて、前記ゲームを行う複数人のプレイヤそれぞれの前記ゲームに関する時間を記録する情報処理装置の記録方法であって、
前記盤上の撮影画像データに基づき認識された前記ゲーム部品の配置の変化により、前記ゲームに関する時間を計測する画像処理ステップと、
対局時計を使用するか否かの選択を受け付ける使用選択受付ステップと、
前記対局時計を使用する選択を受け付けた場合に、前記対局時計を使用して計測した前記ゲームに関する時間を保存し、前記対局時計を使用しない選択を受け付けた場合に、前記画像処理ステップにより計測された前記ゲームに関する時間を保存するように制御を行う保存制御ステップと、
を有する記録方法。
【請求項8】
盤上に複数のゲーム部品を配置して行うゲームにおいて、前記ゲームを行う複数人のプレイヤそれぞれの前記ゲームに関する時間を記録する情報処理装置と通信が可能である操作端末の記録方法であって、
前記情報処理装置から受信したコンテンツデータに基づき、対局時計を使用するか否かの選択を受け付ける画面を表示部に表示する表示制御ステップと、
前記画面から受け付けた選択の結果を前記情報処理装置に指示する指示ステップと、
を有し、
前記指示ステップは、
前記対局時計を使用する選択を受け付けた場合に、前記対局時計を使用して計測した前記ゲームに関する時間を保存させ、前記対局時計を使用しない選択を受け付けた場合に、前記盤上の撮影画像データに基づき認識された前記ゲーム部品の配置の変化により計測した前記ゲームに関する時間を保存させるように指示を行うこと
を特徴とする記録方法。
【請求項9】
盤上に複数のゲーム部品を配置して行うゲームにおいて、前記ゲームを行う複数人のプレイヤそれぞれの前記ゲームに関する時間を記録する情報処理装置と通信が可能である操作端末に実行させるプログラムであって、
前記情報処理装置から受信したコンテンツデータに基づき、対局時計を使用するか否かの選択を受け付ける画面を表示部に表示する表示制御ステップと、
前記画面から受け付けた選択の結果を前記情報処理装置に指示する指示ステップと、
を備え、
前記指示ステップは、
前記対局時計を使用する選択を受け付けた場合に、前記対局時計を使用して計測した前記ゲームに関する時間を保存させ、前記対局時計を使用しない選択を受け付けた場合に、前記盤上の撮影画像データに基づき認識された前記ゲーム部品の配置の変化により計測した前記ゲームに関する時間を保存させるように指示を行うこと
を特徴とするプログラム。
【請求項10】
盤上に複数のゲーム部品を配置して行うゲームにおいて、前記ゲームを行う複数人のプレイヤそれぞれの前記ゲームに関する時間を記録する情報処理装置と、前記情報処理装置と通信が可能である操作端末と、を含む情報処理システムであって、
前記操作端末は、
前記情報処理装置から受信したコンテンツデータに基づき、対局時計を使用するか否かの選択を受け付ける画面を表示部に表示する表示制御手段と、
前記画面から受け付けた選択の結果を前記情報処理装置に指示する指示手段と、
を有し、
前記情報処理装置は、
前記盤上の撮影画像データに基づき認識された前記ゲーム部品の配置の変化により、前記ゲームに関する時間を計測する画像処理手段と、
前記コンテンツデータを前記操作端末に送信して、前記対局時計を使用するか否かの選択の結果を前記操作端末から受信する使用選択受付手段と、
前記対局時計を使用する選択を受け付けた場合に、前記対局時計を使用して計測した前記ゲームに関する時間を保存し、前記対局時計を使用しない選択を受け付けた場合に、前記画像処理手段により計測された前記ゲームに関する時間を保存するように制御を行う保存制御手段と、
を有する情報処理システム。
【請求項11】
前記操作端末は、前記ゲームを行う複数人のプレイヤそれぞれの持ち時間の前記表示部への表示及び管理を行う対局時計手段、を更に有し、
前記対局時計手段は、前記複数人のプレイヤから着手の完了の操作を受け付け、前記操作を受け付けた場合に発光する終了操作受付手段と通信が可能に接続されていること
を特徴とする請求項10記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、操作端末、記録方法、プログラム、及び情報処理システムに関する。
【背景技術】
【0002】
例えば既存の駒や将棋盤をそのまま使用して、棋譜を自動的に記録する技術が知られている(例えば特許文献1参照)。棋譜とは、対局者が互いに行った手を順番に記入した記録である。特許文献1の技術では、駒を指す盤面の画像を撮影するカメラと、各対局者の持ち時間をそれぞれカウントする対局時計とを利用して、駒を指した後の持ち時間のカウント中断時点を検出し、カウント中断時点でカメラによって撮影された盤面の画像から駒の動きを検出して棋譜の記録を行っていた。
【発明の概要】
【発明が解決しようとする課題】
【0003】
棋譜を自動的に記録する特許文献1の技術は、カメラ撮影のための電気的な指示を行う機能を有する対局時計の使用が前提となっている。したがって、棋譜を自動的に記録する特許文献1の技術では、対局時計を使用しない対局に対応することができない、という問題があった。
【0004】
本発明の実施の形態は上記の点に鑑みなされたもので、対局時計を使用するゲーム及び対局時計を使用しないゲームの両方においてゲームに関する時間を記録できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために本願請求項1は、盤上に複数のゲーム部品を配置して行うゲームにおいて、前記ゲームを行う複数人のプレイヤそれぞれの前記ゲームに関する時間を記録する情報処理装置であって、前記盤上の撮影画像データに基づき認識された前記ゲーム部品の配置の変化により、前記ゲームに関する時間を計測する画像処理手段と、対局時計を使用するか否かの選択を受け付ける使用選択受付手段と、前記対局時計を使用する選択を受け付けた場合に、前記対局時計を使用して計測した前記ゲームに関する時間を保存し、前記対局時計を使用しない選択を受け付けた場合に、前記画像処理手段により計測された前記ゲームに関する時間を保存するように制御を行う保存制御手段と、を有することを特徴とする。
【発明の効果】
【0006】
対局時計を使用するゲーム及び対局時計を使用しないゲームの両方においてゲームに関する時間を記録できる。
【図面の簡単な説明】
【0007】
【
図1】第1の実施形態に係る情報処理システムの一例の構成図である。
【
図2】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【
図3】全天球撮影装置の一例のハードウェア構成図である。
【
図4】本実施形態に係るタブレット端末の一例のハードウェア構成図である。
【
図5】棋譜記録システムの一例のソフトウェア構成図である。
【
図6】第1の実施形態に係る情報処理システムの一例の機能構成図である。
【
図9】対局時計用ボタンが接続された操作端末の一例の機能構成図である。
【
図10】対局時計用ボタンが接続されていない操作端末の一例の機能構成図である。
【
図13】操作端末においてカメラの管理を行うカメラ管理ページ画面の一例のイメージ図である。
【
図14】操作端末においてカメラの追加又は編集を行うカメラ編集ページ画面の一例のイメージ図である。
【
図15】棋譜記録システムのUI画面の一例のイメージ図である。
【
図16】操作端末からAPIサーバに送信される対局に関する設定情報の一例について説明する図である。
【
図17】第1の実施形態に係る情報処理システムの対局時計を使用しない処理の一例を示したシーケンス図である。
【
図18】第1の実施形態に係る情報処理システムの対局時計を使用する処理の一例を示したシーケンス図である。
【
図19】タスクの状態の詳細について説明する一例の状態遷移図である。
【
図20】棋譜記録システムのUI画面の一例のイメージ図である。
【
図21】データベースに保存される対局時計情報の一例の説明図である。
【
図22】状態が「対局中」の画像処理ワーカの処理の一例のフローチャートである。
【
図23】キャッシュサーバにキャッシュされるタスクのデータの一例について説明する図である。
【
図24】棋譜記録システムのUI画面の一例のイメージ図である。
【
図25】棋譜記録システムのUI画面の一例のイメージ図である。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態について図面を参照しながら説明する。本実施形態では「複数人のプレイヤが盤上に複数のゲーム部品を配置して行うゲーム」の一例として、二人の対局者が将棋盤に駒を配置して行う将棋を例に説明する。なお、将棋はボードゲームの一例である。ボードゲームとは、盤上(ボード上)で駒、カード、さいころ、チップなどのゲーム部品を配置したり移動したりして勝敗を競うゲームの総称である。ボードゲームには、将棋の他、囲碁、連珠、チェス、オセロ、麻雀、バックギャモン、すごろく、等が含まれる。なお、本実施形態において「盤上」や「盤面」と言うとき、盤が複数に分かれているボードゲームであれば全ての盤の「盤上」や「盤面」が含まれる。例えば本実施形態では、図示を省略している場合もあるが、将棋盤の「盤上」や「盤面」と言うとき、対局中に相手から取った駒を置く台である駒台の面も含まれている。
【0009】
[第1の実施形態]
<システム構成>
図1は第1の実施形態に係る情報処理システム1の一例の構成図である。
図1の情報処理システム1は、棋譜記録システム10、対局配信システム12、データベース14、操作端末16、対局時計用ボタン17A、対局時計用ボタン17B、及びカメラ18を含むように構築される。棋譜記録システム10、対局配信システム12、及びデータベース14は通信ネットワーク22を介してデータ通信できる。操作端末16及びカメラ18は通信ネットワーク24を介してデータ通信できる。
【0010】
操作端末16は、対局時計用ボタン17A及び17Bと有線又は無線によりデータ通信できる。例えば操作端末16はBluetooth(登録商標)や無線LAN(Local Area Network)などにより無線接続されているか、USBケーブルなどにより有線接続されている。操作端末16及びカメラ18は通信ネットワーク22及び24を介して、棋譜記録システム10、対局配信システム12、及びデータベース14とデータ通信できる。
【0011】
通信ネットワーク22及び24は、インターネット、移動体通信網、LAN等によって構築される。通信ネットワーク22及び24には、有線通信だけでなく、3G(3rd Generation)、WiMAX(Worldwide Interoperability for Microwave Access)又はLTE(Long Term Evolution)等の無線通信によるネットワークが含まれてもよい。
【0012】
棋譜記録システム10は、例えば対局室などの将棋盤20で対局者が行う将棋の対局の棋譜(以下、単に棋譜と呼ぶ)を後述のように記録する。棋譜記録システム10は1台以上のコンピュータを含むように構築される。対局配信システム12は将棋盤20で行われる対局の映像を配信したり、棋譜記録システム10が記録した棋譜を配信したりする。対局配信システム12は1台以上のコンピュータを含むように構築される。データベース14は棋譜記録システム10が記録した棋譜、対局に関する設定情報等を保存する。データベース14は1台以上のコンピュータを含むように構築される。
【0013】
操作端末16はユーザが操作する情報処理端末であり、ユーザから受け付けた各種操作に応じて棋譜記録システム10やカメラ18等に各種処理要求を行うと共に、ユーザに対する各種UIの表示を行う。操作端末16は、デスクトップPC、ノートPC、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)などの情報処理端末である。
【0014】
なお、
図1では対局時計として使用する操作端末16の例を示している。対局時計とは、2人ゲームの競技者の持ち時間を表示し、ゲームの時間管理を行なうために使用される特別な時計を示している。チェス・クロック(chess clock)またはゲーム・クロック(game clock)とも呼ばれている。将棋だけでなく、囲碁、チェス、その他のボードゲームの対局時にも用いられる時計である。対局時計として使用する操作端末16には対局時計用ボタン17A及び17B(以下、対局時計用ボタン17A及び17Bの何れか又は両方を指す場合に対局時計用ボタン17と呼ぶ)が接続される。また、対局時計として使用しない操作端末16には対局時計用ボタン17が接続されない。対局時計用ボタン17は対局者が差し手の終了を入力するための終了操作受付部の一例であって、押しボタンスイッチ、タッチスイッチなど、対局者が差し手の終了を入力できる様々な仕組みを採用できる。押しボタンスイッチは例えばスイッチが押下された場合に発光する照光式を用いることで、対局者による差し手の終了の入力を後述の撮影画像データから検出することもできる。
【0015】
対局者は差し手の終了を入力することで、自分が手番の状態を相手が手番の状態に遷移させることができる。手番の対局者は、次の手を指すことができるが、自分の持ち時間が消費される。持ち時間とは、それぞれの対局者が対局に使用できる予め定められた時間限度のことである。
【0016】
対局時計として使用する操作端末16は、その操作端末16を対局時計として使用する対局の対局者から見やすい位置(その対局が行われている将棋盤20付近など)に設置される。また、対局時計用ボタン17は対局者が操作しやすい位置に設置される。
図1の対局時計として使用する操作端末16は一例であって、対局時計用ボタン17を操作端末16のタッチパネル等を利用してソフトウェア的に実現してもよい。また、ハードウェア的に実現した対局時計用ボタン17を一体化した操作端末16であってもよい。
【0017】
また、対局時計として使用しない操作端末16であっても、後述のように棋譜記録システム10が盤上の撮影画像データに基づき管理している対局者の持ち時間等を表示する場合には、対局者から見やすい位置に設置される。
図1では、操作端末16が一台の例を示しているが例えば将棋盤20ごとに設置される。また、操作端末16はブラウザが搭載されている。
【0018】
カメラ18は、将棋盤20の盤上が含まれるように動画の撮影を行う撮影装置の一例である。カメラ18は、ネットワークカメラ、ウェブカメラ、又はカメラ付きの情報処理端末などである。ネットワークカメラはIPアドレスを持ち、パソコンなどの制御機器に繋げなくても動画や静止画を配信できる撮影装置の一例である。ウェブカメラは、パソコンなどの制御機器に繋げて動画や静止画を配信できる撮影装置の一例である。カメラ18はパソコンなどの制御機器を介して通信ネットワーク24に接続されてもよい。
【0019】
なお、
図1の情報処理システム1の構成は一例であって、棋譜記録システム10、対局配信システム12、及びデータベース14を一台のコンピュータに統合して実現するようにしてもよいし、複数のコンピュータに分散して実現するようにしてもよい。棋譜記録システム10、対局配信システム12、及びデータベース14はクラウドコンピューティングによりサービスを提供してもよい。クラウドコンピューティングとは、インターネットなどの通信ネットワーク22を経由して、コンピュータ資源をサービスの形で提供する利用形態である。
【0020】
このように、本実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、棋譜記録システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0021】
同様に、対局配信システム12及びデータベース14は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。棋譜記録システム10、対局配信システム12、及びデータベース14は、開示された処理ステップを様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは対局配信システム12及びデータベース14によって実行され得る。同様に、所定のユニットの機能は、対局配信システム12及びデータベース14によって実行することができる。棋譜記録システム10、対局配信システム12、及びデータベース14の各要素は1つのサーバ装置にまとめられていてもよいし、複数の装置に分けられていてもよい。
【0022】
<ハードウェア構成>
<<コンピュータ>>
棋譜記録システム10、対局配信システム12、及びデータベース14は、例えば
図2に示すハードウェア構成のコンピュータ500により実現される。また、操作端末16がデスクトップPC等のPCである場合も例えば
図2に示すようなハードウェア構成のコンピュータ500により実現される。
【0023】
図2は、本実施形態に係るコンピュータ500の一例のハードウェア構成図である。
図2に示されているように、コンピュータ500はCPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、データバス510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0024】
これらのうち、CPU501は、コンピュータ500全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。
【0025】
ディスプレイ506は、カーソル、メニュー、ウインドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインタフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワーク22又は24を利用してデータ通信をするためのインタフェースである。データバス510は、CPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0026】
キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0027】
<<カメラ>>
カメラ18は、ネットワークカメラ、ウェブカメラの他、例えば
図3のハードウェア構成の全天球撮影装置600により実現することもできる。
図3は、全天球撮影装置600の一例のハードウェア構成図である。
図3の全天球撮影装置600は、2つの撮像素子を使用した全天球(全方位)撮影装置の例であるが、2つ以上の撮像素子を使用した全天球撮影装置であってもよい。
【0028】
また、全天球撮影装置600は必ずしも全方位撮影専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に、後付けの全方位の撮像ユニットを取り付けることで、実質的に全天球撮影装置600と同じ機能を有するようにしてもよい。
【0029】
図3に示されているように、全天球撮影装置600は、撮像ユニット601、画像処理ユニット604、撮像制御ユニット605、マイク608、音処理ユニット609、CPU611、ROM612、SRAM(Static Random Access Memory)613、DRAM(Dynamic Random Access Memory)614、操作部615、外部機器接続I/F616、通信部617、アンテナ617a、加速度・方位センサ618によって構成されている。
【0030】
このうち、撮像ユニット601は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる魚眼レンズ)602a,602bと、各広角レンズに対応させて設けられている2つの撮像素子603a,603bを備えている。撮像素子603a,603bは、広角レンズ602a,602bによる光学像を電気信号の画像データに変換して出力するCMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサなどの画像センサ、画像センサの水平又は垂直同期信号や画素クロックなどを生成するタイミング生成回路、撮像素子603a,603bの動作に必要な種々のコマンドやパラメータなどが設定されるレジスタ群など、を有している。
【0031】
撮像ユニット601の撮像素子603a,603bは、各々、画像処理ユニット604とパラレルI/Fバスで接続されている。また、撮像素子603a,603bは、撮像制御ユニット605と、シリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット604、撮像制御ユニット605、及び音処理ユニット609は、バス610を介してCPU611と接続される。さらに、バス610には、ROM612、SRAM613、DRAM614、操作部615、外部機器接続I/F616、通信部617、及び加速度・方位センサ618なども接続される。
【0032】
画像処理ユニット604は、撮像素子603a,603bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、正距円筒射影画像のデータを作成する。
【0033】
撮像制御ユニット605は、一般に撮像制御ユニット605をマスタデバイス、撮像素子603a,603bをスレーブデバイスとして、I2Cバスを利用して、撮像素子603a,603bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU611から受け取る。また、撮像制御ユニット605は、同じくI2Cバスを利用して、撮像素子603a,603bのレジスタ群のステータスデータ等を取り込み、CPU611に送る。
【0034】
また、撮像制御ユニット605は、操作部615のシャッターボタンが押下された場合に、撮像素子603a,603bに画像データの出力を指示する。全天球撮影装置600によっては、ディスプレイ(例えば、スマートフォンのディスプレイ)によるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子603a,603bからの画像データの出力は、所定のフレームレート(フレーム/分)によって連続して行われる。
【0035】
また、撮像制御ユニット605は、後述するように、CPU611と協働して撮像素子603a,603bの画像データの出力の同期をとる同期制御手段としても機能する。なお、本実施形態では、全天球撮影装置600にはディスプレイが設けられていないが、表示部を設けてもよい。
【0036】
マイク608は、音を音(信号)データに変換する。音処理ユニット609は、マイク608から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
【0037】
CPU611は、全天球撮影装置600の全体の動作を制御すると共に、必要な処理を実行する。ROM612は、CPU611のための種々のプログラムを記憶している。SRAM613及びDRAM614はワークメモリであり、CPU611で実行するプログラムや処理途中のデータ等を記憶する。特にDRAM614は、画像処理ユニット604での処理途中の画像データや処理済みの正距円筒射影画像のデータを記憶する。
【0038】
操作部615はシャッターボタンなどの操作ボタンの総称である。ユーザは操作部615を操作することで、種々の撮影モードや撮影条件などを入力する。外部機器接続I/F616は各種の外部機器を接続するためのインタフェースである。
【0039】
この場合の外部機器は、例えばUSBメモリやPC等である。DRAM614に記憶された正距円筒射影画像のデータは、外部機器接続I/F616を介して外付けのメディア等の外部機器に記録されたり、必要に応じて外部機器接続I/F616を介してスマートフォン等の外部機器に送信されたりする。
【0040】
通信部617は、全天球撮影装置600に設けられたアンテナ617aを介して、Wi-Fi、NFC(Near Field Communication)やBluetooth(登録商標)等の近距離無線通信技術によって、スマートフォン等の外部機器と通信を行う。この通信部617によっても、正距円筒射影画像のデータをスマートフォン等の外部端末(装置)に送信することができる。
【0041】
加速度・方位センサ618は、地球の磁気から全天球撮影装置600の方位を算出し、方位情報を出力する。この方位情報はExifに沿った関連情報(メタデータ)の一例であり、撮影画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮影日時、及び画像データのデータ容量の各データも含まれている。また、加速度・方位センサ618は、全天球撮影装置600の移動に伴う角度の変化(Roll角、Pitch角、Yaw角)を検出するセンサである。角度の変化はExifに沿った関連情報(メタデータ)の一例であり、撮像画像の画像補正等の画像処理に利用される。更に、加速度・方位センサ618は、3軸方向の加速度を検出するセンサである。
【0042】
全天球撮影装置600は、加速度・方位センサ618が検出した加速度に基づいて、自装置(全天球撮影装置600)の姿勢(重力方向に対する角度)を算出する。全天球撮影装置600に、加速度・方位センサ618が設けられることによって、画像補正の精度が向上する。
【0043】
<<タブレット端末>>
操作端末16は例えば
図4に示すハードウェア構成のタブレット端末700やスマートフォンにより実現される。
図4は本実施形態に係るタブレット端末700の一例のハードウェア構成図である。
図4に示されているように、タブレット端末700は、CPU701、ROM702、RAM703、EEPROM704、CMOSセンサ705、撮像素子I/F706、加速度・方位センサ707、メディアI/F709、GPS受信部711を備えている。
【0044】
これらのうち、CPU701は、タブレット端末700全体の動作を制御する。ROM702は、CPU701やIPL等のCPU701の駆動に用いられるプログラムを記憶する。RAM703は、CPU701のワークエリアとして使用される。EEPROM704は、CPU701の制御にしたがって、タブレット端末700用プログラム等の各種データの読み出し又は書き込みを行う。
【0045】
CMOSセンサ705は、CPU701の制御に従って被写体(主に自画像)を撮像して画像データを得る内蔵型の撮像手段の一種である。なお、CMOSセンサ705ではなく、CCDセンサ等の撮像手段であってもよい。撮像素子I/F706は、CMOSセンサ705の駆動を制御する回路である。加速度・方位センサ707は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。
【0046】
メディアI/F709は、フラッシュメモリ等の記録メディア708に対するデータの読み出し又は書き込み(記憶)を制御する。GPS受信部711は、GPS衛星からGPS信号を受信する。
【0047】
また、タブレット端末700は、遠距離通信回路712、CMOSセンサ713、撮像素子I/F714、マイク715、スピーカ716、音入出力I/F717、ディスプレイ718、外部機器接続I/F719、近距離通信回路720、近距離通信回路720のアンテナ720a、及びタッチパネル721を備えている。
【0048】
これらのうち、遠距離通信回路712は、通信ネットワーク24を介して、他の機器と通信する回路である。CMOSセンサ713は、CPU701の制御に従って被写体を撮像して画像データを得る内蔵型の撮像手段の一種である。撮像素子I/F714は、CMOSセンサ713の駆動を制御する回路である。マイク715は、音を電気信号に変える内蔵型の回路である。スピーカ716は、電気信号を物理振動に変えて音楽や音声などの音を生み出す内蔵型の回路である。
【0049】
音入出力I/F717は、CPU701の制御に従ってマイク715及びスピーカ716との間で音信号の入出力を処理する回路である。ディスプレイ718は、被写体の画像や各種アイコン等を表示する液晶や有機EL(Electro Luminescence)などの表示手段の一種である。外部機器接続I/F719は各種の外部機器を接続するインタフェースである。近距離通信回路720はNFCやBluetooth等の通信回路である。タッチパネル721は、ユーザがディスプレイ718を押下することで、タブレット端末700を操作する入力手段の一種である。
【0050】
また、タブレット端末700は、バスライン710を備えている。バスライン710は
図4に示されているCPU701等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0051】
<ソフトウェア構成>
続いて、棋譜記録システム10にインストールされるコンピュータソフトウエアについて説明する。ここで、コンピュータソフトウエア(以下、ソフトウェアと呼ぶ)とは、コンピュータの動作に関するプログラム、その他、コンピュータによる処理の用に供する情報であってプログラムに準ずるものである。プログラムとは、コンピュータに対する指令であって、一の結果を得ることができるように組み合わせたものをいう。また、プログラムに準ずるものとは、コンピュータに対する直接の指令ではないためプログラムとは呼べないが、コンピュータの処理を規定するという点でプログラムに類似する性質を有するものをいう。例えば、データ構造(データ要素間の相互関係で表される、データの有する論理的構造)がプログラムに準ずるものに該当する。
【0052】
また、アプリケーションとは、ソフトウェアの分類のうち、特定の処理を行うために使用されるソフトウェアの総称である。一方、OS(オペレーティングシステム)とはコンピュータを制御し、アプリケーション等がコンピュータ資源を利用可能にするためのソフトウェアである。OSは、入出力の制御、メモリおよびハードディスク等のハードウェアの管理、プロセスの管理といった、コンピュータの基本的な管理・制御を行っている。アプリケーションは、OSが提供する機能を利用して動作する。
【0053】
なお、上記ソフトウェアは、インストール可能な形式または実行可能な形式のファイルをコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。記録媒体の例としては、CD-R(Compact Disc Recordable)、DVD、ブルーレイディスク、SDカード等が挙げられる。記録媒体は、プログラム製品(Program Product)として国内または国外へ提供できる。また、上記ソフトウェアはインストール可能な形式または実行可能な形式のファイルをダウンロードさせるようにしてもよい。
【0054】
図5は棋譜記録システム10の一例のソフトウェア構成図である。棋譜記録システム10を構成する各サーバ等は、それぞれが独立したサーバプロセス等である。なお、
図5では全てのサーバ等が同じOS50上に配置されているが、物理的に異なるサーバや仮想レイヤ上のVM(仮想マシン)で動作させたり、コンテナ技術を使って動作させたり、するようにしてもよい。
【0055】
OS50は棋譜記録システム10の基本的な機能を提供し、棋譜記録システム10の全体を管理する基本ソフトウェアである。ミドルウェア/プログラム言語ランタイムはOS50上で動作する。また、ストレージ54はOS50上で動作する。Webサーバ56、API(Application Programming Interface)サーバ58、キャッシュサーバ62、画像処理ワーカ64、画像認識サーバ66、動画受信サーバ68、及びワーカ管理70はミドルウェア/プログラム言語ランタイム52上で動作する。
【0056】
Webサーバ56は、UIとなる操作端末16のブラウザからのリクエストに対してレスポンスを返す。コンテンツはストレージ54に保存されている。コンテンツの具体例としては、HTML、JavaScript(登録商標)、CSSや画像・アイコンファイルなどのコンテンツデータである。
【0057】
APIサーバ58は、操作端末16のブラウザからのリクエストに対してレスポンスを返す。APIサーバ58はリクエストに応じたAPIプログラム60がキャッシュサーバ62や動画受信サーバ68を呼び出し、レスポンスを生成する。APIサーバ58は対局に関する設定情報等をデータベース14にアクセスして保存する。
【0058】
対局に関する設定情報等は、例えば棋戦名、対局者名、先手及び後手の情報、持ち時間の情報、手合割の情報、及び対局時計を使用するか否かを選択した情報等である。例えばAPIサーバ58は操作端末16において記録係などのユーザが設定した対局時計を使用するか否かを選択した情報に基づき、対局者の消費時間を次のように計測する。消費時間とは手番の状態で経過した時間であり、手番の対局者の持ち時間から差し引かれる。消費時間や持ち時間はゲームに関する時間の一例である。
【0059】
対局時計を使用する選択がされている場合、APIサーバ58は操作端末16により実現される対局時計により対局者の消費時間を計測する。対局時計を使用しない選択がされている場合、APIサーバ58は画像処理ワーカ64が計測した対局者の消費時間を採用する。画像処理ワーカ64は、盤上の撮影画像データに基づき認識された駒の配置の変化により手番の変更を判断して対局者の消費時間を計測する。APIサーバ58及び画像処理ワーカ64は計測した対局者の消費時間をデータベース14にアクセスして保存する。
【0060】
キャッシュサーバ62は画像処理ワーカ64などの他のサービスからのリクエストに応じてデータをキャッシュする。キャッシュサーバ62にキャッシュされるデータは、タスクの定義や状態、結果などである。
【0061】
画像処理ワーカ64は、動画受信サーバ68から撮影画像データ(動画データ)を受け取り、解析する。画像処理ワーカ64は解析の状態や結果、動画データ、画像の認識処理の結果、計測した対局者の消費時間などをデータベース14やキャッシュサーバ62に保存する。画像の認識処理は画像処理ワーカ64が行うこともできるし、画像認識サーバ66に代行させることもできる。
【0062】
画像認識サーバ66は画像処理ワーカ64から画像データを受け取り、画像の認識処理を実行したあと、結果を返す。画像の認識処理に必要となる学習済みの画像認識モデルはストレージ54から読み出すようにしてもよいし、画像認識サーバ66のストレージなどから読み出すようにしてもよい。動画受信サーバ68はカメラ18から送信される動画データを受信し、記憶する。動画受信サーバ68は画像処理ワーカ64からリクエストを受信すると、動画データの一部(最新の画像データ)を提供する。
【0063】
ワーカ管理70は棋譜記録システム10で稼働している画像処理ワーカ64の数とタスク数とをモニタリングする。なお、ワーカ管理70はタスク数に対して十分な数の画像処理ワーカ64が無ければ新たに画像処理ワーカ64を追加し、反対にタスク数が減少して画像処理ワーカ64の数が過剰であればタスクを実行していない画像処理ワーカ64を終了させる。
【0064】
<機能構成>
図6は第1の実施形態に係る情報処理システム1の一例の機能構成図である。
図6は対局時計として使用する操作端末16の例を示している。操作端末16は、棋譜記録システム10の動画受信サーバ68が発行したストリームIDを、APIサーバ58を介して受信する。なお、ストリームIDはストリームの識別情報(チャネル)の一例である。
【0065】
操作端末16は、ストリームIDと、ストリームを送信する棋譜記録システム10側の宛先(ストリームの宛先)と、を指定してストリーミングの開始を要求する。これにより操作端末16を操作するユーザは、棋譜を記録したい将棋盤20の盤上が含まれるように動画の撮影を行うカメラ18を選択し、ストリームIDとストリームの宛先とを指定してストリーミングの開始を要求できる。ストリーミングの開始を要求されたカメラ18は、指定されたストリームIDとストリームの宛先とを利用して棋譜記録システム10の動画受信サーバ68への動画データ(ストリームデータ)の送信を開始する。動画受信サーバ68にはカメラ18が撮影した動画データが記録される。
【0066】
また、操作端末16はストリームIDの他、対局時計を使用するか否かを選択した情報などの対局に関する設定情報等を指定して棋譜記録のためのタスクの開始をAPIサーバ58に要求する。棋譜記録システム10のキャッシュサーバ62は、動画受信サーバ68に記録された動画データから棋譜を記録するための新しいタスクをキャッシュする。
【0067】
画像処理ワーカ64はキャッシュサーバ62にキャッシュされたタスクに従い、動画受信サーバ68から動画データを受け取り、動画データに含まれる将棋盤20の盤上の局面を解析する。動画データに含まれる将棋盤20の盤上の局面の解析は、画像処理及び画像の認識処理により盤上の駒の種類及び配置を検知することで行う。
【0068】
例えば画像処理ワーカ64はタスクに従い、動画受信サーバ68から動画データを受け取り、その動画データから盤面部分の画像データを切り出す。また、画像処理ワーカ64は盤面部分の画像データから更に、盤面部分のマス(縦横9×9マス)ごとの画像データを切り出す。また、画像処理ワーカ64は切り出したマスごとの画像データの画像の認識処理を画像認識サーバ66に要求する。
【0069】
画像認識サーバ66は、学習済みの画像認識モデルを用いて、マスごとの画像データからマスへの駒の配置の有無、配置されている駒の種類(先手の歩、後手の銀など)を認識する。学習済みの画像認識モデルは、例えば上向きの各種の駒の画像と下向きの各種の駒の画像とを入力データとし、先手及び後手の駒の種類を出力データとして学習させた画像認識モデルである。入力データとする駒の画像は、駒を持つ対局者の指により駒の一部が映っていない画像であってもよい。画像認識サーバ66は、認識の結果を画像処理ワーカ64に返す。
【0070】
画像処理ワーカ64は画像認識サーバ66から返された認識の結果から盤上の駒の種類及び配置を検知して、盤上の局面を解析する。画像処理ワーカ64は解析の状態や結果をキャッシュサーバ62に保存する。また、画像処理ワーカ64は、解析の状態や結果から手番の変更を判断して計測した対局者それぞれの消費時間をキャッシュサーバ62に保存する。
【0071】
操作端末16は、ユーザによる対局開始、対局休憩、対局再開、及び終局などの指示をAPIサーバ58に対して行い、指示に従った処理を行わせる。また、操作端末16はWebサーバ56からコンテンツデータを受信し、ブラウザに対局時計を使用するか否かを選択した情報などの対局に関する設定情報等をユーザに入力させる画面を表示する。
【0072】
対局時計として使用する操作端末16は対局時計用ボタン17A又は17Bが対局者に押下された場合にAPIサーバ58に通知する。また、対局時計として使用する操作端末16は、対局者それぞれの持ち時間の表示及び管理を行う。なお、対局時計として使用しない操作端末16であっても、棋譜記録システム10から手番が変わった場合に通知されることで、対局者それぞれの持ち時間の表示を行うようにしてもよい。操作端末16はデータベース14やキャッシュサーバ62に保存されている解析の状態や結果に従い、後述のように棋譜を表示することもできる。
【0073】
図6の機能構成図に示したように、棋譜記録システム10とカメラ18とを分離し、通信ネットワーク22、24で接続したシステム構成とすることで、より柔軟なシステムを構築できると共に、拡張性やメンテナンス性を高めることができる。
【0074】
また、
図7は画像処理ワーカ64の一例の機能構成図である。
図7の画像処理ワーカ64は、状態管理部100、ドライバ部102、ストリームデータ受信部104、位置合わせ部106、画像認識要求部108、画像計測部109、及び棋譜記録部110を、モジュールとして有している。
図7の画像処理ワーカ64が有する各機能は、
図2に示されている各構成要素のいずれかが、HD504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能又は手段である。
【0075】
状態管理部100は解析の状態を管理する。ドライバ部102は画像処理ワーカ64の処理全体を統括している。ドライバ部102は他のモジュールを呼び出して、自動棋譜記録を実現するメインのブロックである。ドライバ部102はキャッシュサーバ62へのステータス更新と、キャッシュサーバ62からのメッセージ受信も行う。ドライバ部102は画像をストリームデータ受信部104から取得する。
【0076】
ストリームデータ受信部104は動画受信サーバ68から動画フレームを読み込んで画像をデコードする。位置合わせ部106は画像から将棋盤20の盤面部分とマス目の位置とを求める。位置合わせ部106はシステム動作中に定期的に位置合わせを行い、対局中に将棋盤20の位置がずれたとしても補正する。
【0077】
画像認識要求部108は、動画受信サーバ68から取得した動画データから将棋盤20の盤面部分のマスごとの画像を切り出し、マスごとの画像データの画像の認識処理を画像認識サーバ66に要求する。また、画像認識要求部108は、マスごとの画像データの画像の認識処理の結果を画像認識サーバ66から取得する。画像計測部109は、画像認識サーバ66から取得した認識処理の結果に基づき駒の配置の変化を認識し、認識した駒の配置の変化により手番の変更を判断して対局者の消費時間を計測する。
【0078】
棋譜記録部110は棋譜を記録するために必要なデータを保持している。棋譜記録部110はマスごとの画像データの画像の認識処理の結果、計測した対局者の消費時間を入力として受け取り、棋譜を記録するために必要なデータを更新する。なお、棋譜を記録するために必要なデータの詳細は後述する。
【0079】
図8はAPIサーバ58の一例の機能構成図である。
図8のAPIサーバ58は、ストリームID提供部120、タスク管理部122、使用選択受付部124、計測部126、及び保存制御部128を、モジュールとして有している。
図8のAPIサーバ58が有する各機能は、
図2に示されている各構成要素のいずれかが、HD504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能又は手段である。
【0080】
ストリームID提供部120は動画受信サーバ68が発行したストリームIDを操作端末16に提供する。タスク管理部122は操作端末16からタスクの開始の要求などを受け付け、キャッシュサーバ62にキャッシュされるタスクを管理する。
【0081】
使用選択受付部124はユーザが対局時計を使用するか否かを選択した情報を操作端末16から受け付ける。計測部126は対局時計を使用する選択がされている場合、操作端末16から通知される対局者による対局時計用ボタン17A又は17Bの押下により手番の対局者の消費時間を計測する。保存制御部128は操作端末16から受信した対局に関する設定情報等や計測部126が計測した対局者の消費時間をデータベース14にアクセスして保存する。
対局時計を使用する選択がされている場合、保存制御部128は操作端末16により実現される対局時計により計測した対局者の消費時間を、データベース14にアクセスして保存するように制御を行う。また、対局時計を使用しない選択がされている場合、保存制御部128は画像処理ワーカ64が計測した対局者の消費時間を採用し、データベース14にアクセスして保存するように制御を行う。
【0082】
図9は、対局時計用ボタンが接続された操作端末の一例の機能構成図である。
図9の操作端末16はストリームID受信部140、ストリーム開始要求部142、タスク開始要求部144、指示部146、表示制御部148、カメラ管理部150、及び対局時計部152を、モジュールとして有している。
図9の操作端末16が有する各機能は、
図2に示されている各構成要素のいずれかが、HD504からRAM503上に展開されたプログラムに従ったCPU501からの命令によって動作することで実現される機能又は手段である。
【0083】
ストリームID受信部140は、棋譜記録システム10の動画受信サーバ68が発行したストリームIDを棋譜記録システム10から受信する。ストリーム開始要求部142はストリームIDと、ストリームを送信する棋譜記録システム10側の宛先(ストリームの宛先)と、を指定して棋譜記録システム10にストリーミングの開始を要求する。
【0084】
タスク開始要求部1444はストリームIDを指定して棋譜記録のためのタスクの開始を棋譜記録システム10に要求する。指示部146は、例えば対局開始、対局休憩、対局再開、終局、対局時計を使用するか否かの選択の結果などの指示を棋譜記録システム10に対して行い、指示に従った処理を棋譜記録システム10に行わせる。
【0085】
表示制御部148はWebサーバ56から受信したコンテンツデータに従い、対局時計を使用するか否かを選択した情報などの対局に関する設定情報等をユーザに入力させる画面や、棋譜記録システム10に保存されている解析の状態や結果に従って後述するような棋譜の画面などをブラウザに表示させる。
【0086】
Webサーバ56から受信するコンテンツはWebアプリケーション(HTML5+JavaScript+CSSなど)を利用できる。操作端末16はWebサーバ56からWebアプリケーションをダウンロードしてブラウザ上で動作させ、HTTP又はHTTPSのプロトコルを用いて棋譜記録システム10とデータを送受信することで、棋譜記録システム10が提供する各種サービスを利用できる。
【0087】
対局時計部152は、対局者それぞれの持ち時間の表示及び管理を行う。対局時計部152は、例えば手番の対局者の持ち時間が、時間経過と共に減少するようにする持ち時間の表示機能を有する。また、対局時計部152は、対局者による対局時計用ボタン17A又は17Bの押下を検知し、手番の対局者を変更すると共に、差し手の終了や消費時間を棋譜記録システム10に通知する持ち時間の管理機能を有する。なお、対局時計用ボタン17A及び17Bをソフトウェア的に実現する場合は、
図9の対局時計用ボタン17A及び17Bを省略してもよい。
【0088】
図10は対局時計用ボタンが接続されていない操作端末の一例の機能構成図である。
図10の操作端末16は対局時計用ボタン17A及び17Bが接続されていないため、
図9の操作端末16の対局時計部152が省略された構成である。なお、対局時計用ボタン17A及び17Bが接続されていない操作端末16であっても、棋譜記録システム10から手番が変わった場合に通知されることで、例えば手番の対局者の持ち時間が、時間経過と共に減少するようにする持ち時間の表示機能を有するようにしてもよい。
【0089】
<カメラ18の設置例>
図11は、横から見た対局室の一例の設置図である。
図12は、上から見た対局室の一例の設置図である。
図11及び
図12は対局室の天井にカメラ18を設置した例を示している。
【0090】
カメラ18はネットワークカメラ等を利用できる。ネットワークカメラは、有線LAN又はWi-Fi等で通信ネットワーク24に接続される。カメラ18は対局室に置かれた将棋盤20の盤上の他、駒台21の面、対局時計用ボタン17A、対局時計用ボタン17Bが含まれるように動画の撮影が行える位置の一例である天井に設置されている。
【0091】
図11の操作端末16は対局時計として使用する例であるため、対局者から見やすい位置に設置されている。また、
図11の操作端末16は対局時計用ボタン17A及び17Bと有線接続された例を示している。対局時計用ボタン17A及び17Bは、それぞれの対局者から操作しやすい位置に設置されている。操作端末16は、通信ネットワーク24にWi-Fi等で接続される。操作端末16は、棋譜の記録開始、対局開始、対局休憩、対局再開、及び終局などの棋譜記録システム10に対するユーザからの指示をタッチパネル721から受け付ける。また、操作端末16は、対局者からの差し手の終了の入力を対局時計用ボタン17A及び17Bから受け付ける。
【0092】
<処理の詳細>
以下では第1の実施形態に係る情報処理システム1の処理の詳細について説明する。
【0093】
<<カメラ18の管理>>
図13は操作端末16においてカメラ18の管理を行うカメラ管理ページ画面1000の一例のイメージ図である。カメラ管理ページ画面1000は、登録済みのカメラ18の一覧1002が表示されている。
図13は名前が「対局室1」及び「対局室2」のカメラ18が登録済みの例を示している。
【0094】
操作端末16を操作するユーザはカメラ追加ボタン1004を押下する操作を行うことにより、
図14のカメラ編集ページ画面1100から新規にカメラ18の情報を登録することができる。また、操作端末16を操作するユーザは変更ボタン1006を押下する操作を行うことにより、
図14のカメラ編集ページ画面1100から登録済みのカメラ18の情報を編集することができる。更に、操作端末16を操作するユーザは削除ボタン1008を押下する操作を行うことにより、登録済みのカメラ18の情報を削除することができる。
【0095】
図14は操作端末16においてカメラ18の追加又は編集を行うカメラ編集ページ画面1100の一例のイメージ図である。カメラ編集ページ画面1100は、新規にカメラ18の情報を登録する場合、又は、登録済みのカメラ18の情報を編集する場合、に利用される。
図14のカメラ編集ページ画面1100は、カメラ18の情報として、カメラ識別情報の一例である名前と、カメラ18にアクセスするための宛先(アドレス)の一例であるIPアドレスと、が設定された例を示している。なお、カメラ18にアクセスするための宛先(アドレス)はURL等であってもよい。
【0096】
<<棋譜記録システム10のUI>>
図15は棋譜記録システム10のUI画面1200の一例のイメージ図である。UI画面1200は操作端末16に表示される。
図15のUI画面1200は、対局に関する設定情報として、棋戦名、対局者名、先後の情報、持ち時間の情報、手合割の情報、チェスクロック使用の情報などをユーザが設定する例である。
【0097】
チェスクロック使用の情報は、UI画面1200に表示されたON/OFFボタン1202により、ユーザが対局時計を使用するか否かを選択する情報の一例である。
図15のUI画面1200のチェスクロック使用の情報は一例であって、ユーザが対局時計を使用するか否かを設定できるのであれば、ON/OFFボタン1202以外の仕組みを使用するものであってもよい。ユーザはUI画面1200の設定ボタン1204を押下する操作を行うことにより、UI画面1200に設定した対局に関する設定情報の登録を棋譜記録システム10のAPIサーバ58に要求できる。
【0098】
図16は操作端末16からAPIサーバ58に送信される対局に関する設定情報の一例について説明する図である。
図16では「Competition」に続く文字列「○○杯女流王座戦」が棋戦名を表している。また、
図16では「players」に続く文字列が対局者名を表している。
図16では「black」に続く文字列「△△ 女王」が先手の対局者名を表し、「white」に続く文字列「×× 女流三段」が後手の対局者名を表している。
【0099】
また、
図16では「auto_start」に続く文字列「true」が、ユーザが対局時計を使用するか否かを選択した情報の一例であって、ユーザが対局時計を使用する選択をした場合の例である。ユーザが対局時計を使用しない選択した場合は、例えば「auto_start」に続く文字列が「false」となる。
【0100】
カメラ18の登録と、対局に関する設定情報の登録の後、棋譜記録システム10は対局待ちの状態となる。ユーザは操作端末16から対局開始の操作を行い、棋譜記録システム10に対局開始の指示を行うことができる。対局中、ユーザは操作端末16から例えば対局休憩、対局再開、又は終局などの操作を行い、棋譜記録システム10に対局休憩、対局再開、又は終局などの指示を行うことができる。
【0101】
<<情報処理システム1の処理のシーケンス図>>
図17は、第1の実施形態に係る情報処理システム1の処理の一例を示したシーケンス図である。
図17のシーケンス図の開始前、操作端末16はストリームIDの取得を棋譜記録システム10のAPIサーバ58に要求する。APIサーバ58は動画受信サーバ68が発行したストリームIDを受信する。操作端末16は動画受信サーバ68が発行したストリームIDをAPIサーバ58から受信する。操作端末16はストリームIDと、ストリームを送信する棋譜記録システム10側の宛先(ストリームの宛先)と、を指定してカメラ18にストリーミングの開始を要求する。
【0102】
ストリーミングの開始を要求されたカメラ18は、ステップS10に進み、指定されたストリームIDとストリームの宛先とを利用して棋譜記録システム10の動画受信サーバ68への動画データ(ストリームデータ)の送信を開始する。したがって、ステップS10以降、動画受信サーバ68にはカメラ18が撮影した動画データが記録される。
【0103】
ステップS12等に示すように動画受信サーバ68はカメラ18が撮影した動画データの所定時間ごとの静止画像を、キャッシュサーバ62に保存する。キャッシュサーバ62に保存した静止画像は、画像処理ワーカ64が利用したり、APIサーバ58経由で操作端末16に送信して画面表示に利用したり、する。
【0104】
ステップS14等に示すように動画受信サーバ68は、動画データを受信したカメラ18の映像に対して棋譜記録のためのタスクが実行中であるか否かを判断するために、タスクIDの取得をキャッシュサーバ62に要求する。ステップS16は、動画データを受信したカメラ18の映像に対して棋譜記録のためのタスクが実行中でない例であり、タスクIDが登録されていないため、キャッシュサーバ62からタスクIDが返されない。
【0105】
ステップS18において、ユーザは操作端末16に表示された例えば
図15のUI画面1200から対局に関する設定情報を登録する操作を行う。ステップS20において操作端末16はAPIサーバ58に対局に関する設定情報の登録を要求する。ステップS21においてAPIサーバ58は対局時計の使用判定を行う。ステップS22において、APIサーバ58は登録を要求された対局に関する設定情報に基づき、対局時計により計測した手番の対局者の消費時間又は画像認識サーバ66による認識処理の結果に基づき計測した手番の対局者の消費時間を含む棋譜を記録するための新しいタスクをキャッシュサーバ62にキャッシュする。
【0106】
ステップS22の処理により、棋譜記録システム10のキャッシュサーバ62には動画受信サーバ68からキャッシュされた静止画像から棋譜を記録するための新しいタスクがキャッシュされる。例えば対局時計を使用する選択がされている場合、キャッシュサーバ62には対局時計により計測した手番の対局者の消費時間を保存する制御を行うタスクがキャッシュされる。換言すると、対局時計を使用する選択を受け付けた場合は、画像認識サーバ66による認識処理の結果に基づき認識された局面の変化による対局者の消費時間の計測が行われない。対局時計を使用しない選択がされている場合、キャッシュサーバ62には、画像認識サーバ66による認識処理の結果に基づき計測した手番の対局者の消費時間を保存する制御を行うタスクがキャッシュされる。
【0107】
ステップS26における動画受信サーバ68からキャッシュサーバ62へのタスクIDの取得の要求では、動画データを受信したカメラ18の映像に対して棋譜記録のためのタスクが実行中であるため、キャッシュサーバ62から動画受信サーバ68にタスクIDが返されている。このように、動画受信サーバ68はキャッシュサーバ62から返されるタスクIDによりタスクの有無を確認して処理を切り替えることができる。
【0108】
キャッシュサーバ62からタスクIDを返された動画受信サーバ68はステップS30において画像認識サーバ66を呼び出し、画像認識処理を実行させる。ステップS32において動画受信サーバ68は画像認識処理の結果(例えば、各マスに、どの種類の駒が配置されているかの情報など)を画像認識サーバ66から返される。ステップS34において動画受信サーバ68は画像認識処理の結果を、キャッシュサーバ62に保存する。
【0109】
なお、動画受信サーバ68はステップS12等に示したキャッシュサーバ62への静止画像のキャッシュサーバ62への保存やステップS14等に示したキャッシュサーバ62へのタスクIDの取得の要求などの一連の処理を所定時間ごと(例えば0.2秒ごと)に実行する。
【0110】
また、画像処理ワーカ64はキャッシュサーバ62にキャッシュされるタスクを監視しており、ステップS36のタスク取得要求により、キャッシュサーバ62からタスクを取得する。ステップS37において、画像処理ワーカ64はステップS36で取得したタスクが、画像認識サーバ66による認識処理の結果に基づき手番の対局者の消費時間を計測するタスクであるか確認する。画像処理ワーカ64は画像認識サーバ66による認識処理の結果に基づき手番の対局者の消費時間を計測するタスクであれば、後述の局面の変化の認識により手番の変更を判断して対局者の消費時間を計測する。ステップS38において画像処理ワーカ64は取得したタスクに従い、画像認識処理の結果をキャッシュサーバ62に要求する。ステップS40において画像処理ワーカ64は画像認識処理の結果をキャッシュサーバ62から取得する。
【0111】
ステップS42に進み、画像処理ワーカ64は、キャッシュサーバ62から取得した画像認識処理の結果から、盤上の駒の種類及び配置を検知して盤上の局面を解析する。画像処理ワーカ64は解析の結果に基づき、データベース14に保存されたタスクのデータを更新する。
【0112】
ステップS46において操作端末16を操作するユーザは、後述の対局開始ボタンを押下する操作を行う。ステップS48に進み、操作端末16は現在時刻を指定し、対局開始を棋譜記録システム10のAPIサーバ58に要求する。
【0113】
ステップS50において、APIサーバ58はタスクのデータを対局開始に基づき更新する。ステップS52~S62では、ステップS24~S34と同様の処理により、画像認識処理の結果がキャッシュサーバ62に保存される。また、ステップS64~S72ではステップS36~S44と同様の処理により、データベース14に保存されたタスクのデータを局面の解析の結果に基づいて更新する。なお、ステップS72において画像処理ワーカ64は解析の結果及び計測した対局者の消費時間に基づき、データベース14に保存されたタスクのデータを更新する。
【0114】
画像処理ワーカ64はステップS68でキャッシュサーバ62からタスクIDに対応するタスクのデータを取得することにより、対局開始が通知される。画像処理ワーカ64は対局開始に従い、対局開始からの経過時間の計測を開始する。対局休憩、対局再開などの処理もステップS46~S72に示した対局開始の処理と同様に行われる。
【0115】
対局休憩が通知されると、画像処理ワーカ64は対局休憩に従い、対局開始からの経過時間の計測を中断する。また、対局再開が通知されると、画像処理ワーカ64は対局再開に従い、対局開始からの経過時間の計測を再開する。
【0116】
また、ステップS74において操作端末16を操作するユーザは、後述の終局ボタンを押下して対局終了の操作を行う。ステップS76に進み、操作端末16は現在時刻及び終局の種別を指定して、終局を棋譜記録システム10のAPIサーバ58に要求する。
【0117】
ステップS78において、APIサーバ58はタスクのデータを終局の要求に基づいて更新する。ステップS78の処理の後、画像処理ワーカ64はステップS36~S44と同様な処理により、データベース14に保存されたタスクのデータを局面の解析の結果に基づいて更新する。画像処理ワーカ64はキャッシュサーバ62からタスクIDに対応するタスクのデータを取得することにより、終局が通知される。終局が通知されると、画像処理ワーカ64は終局に従い、対局開始からの経過時間の計測を停止する。
【0118】
なお、
図17のシーケンス図はカメラ18が1台の例を示したが、カメラ18が複数台の場合も、同様である。したがって、カメラ18が複数台の場合のシーケンス図についての説明は省略する。
【0119】
図18は第1の実施形態に係る情報処理システム1の対局時計を使用する処理の一例を示したシーケンス図である。ステップS100においてユーザは操作端末16に表示された例えば
図15のUI画面1200から対局に関する設定情報を登録する操作を行う。操作端末16はステップS102において、APIサーバ58に対局に関する設定情報を登録する。ステップS103において、APIサーバ58は対局時計の使用判定を行う。例えば対局時計を使用する選択がされている場合、APIサーバ58は対局時計により計測した手番の対局者の消費時間を使用すると判定する。
【0120】
ステップS104において操作端末16を操作するユーザは、後述の対局開始ボタンを押下する操作を行う。操作端末16は対局開始に従い、対局開始からの経過時間の計測を開始する。具体的に、操作端末16は先手であるA対局者の持ち時間が時間経過と共に減少するように、A対局者の時計を進める。
【0121】
ステップS108において、操作端末16は現在時刻を指定し、対局開始を棋譜記録システム10のAPIサーバ58に通知する。ステップS110において、APIサーバ58は後述するような対局時計情報を保存するレコードをデータベース14に作成する。
【0122】
A対局者はステップS112において差し手が終了すると、ステップS114において対局時計用ボタン17Aを押下する。対局時計用ボタン17AはステップS116において着手の完了を操作端末16に通知する。着手の完了を対局時計用ボタン17Aから通知された操作端末16はステップS118に進み、A対局者の時計を止める。ステップS120において、操作端末16は後手であるB対局者の持ち時間が時間経過と共に減少するように、B対局者の時計を進める。
【0123】
ステップS122において、操作端末16は現在時刻を指定し、着手の完了を棋譜記録システム10のAPIサーバ58に通知する。ステップS124において、APIサーバ58はデータベース14にアクセスし、対局者Aの差し手の消費時間を対局時計情報に保存する。差し手の消費時間は一つ前に保存されている時刻との差分から計算できる。例えば初手の場合は対局開始の時刻との差分から計算できる。2手目以降は一つ前の着手の完了の時刻との差分から計算できる。
【0124】
B対局者はステップS126において差し手が終了すると、ステップS128において対局時計用ボタン17Bを押下する。対局時計用ボタン17BはステップS130において着手の完了を操作端末16に通知する。着手の完了を対局時計用ボタン17Bから通知された操作端末16はA対局者の時計を止め、A対局者の持ち時間が時間経過と共に減少するように、A対局者の時計を進める。
【0125】
ステップS132において、操作端末16は現在時刻を指定し、着手の完了を棋譜記録システム10のAPIサーバ58に通知する。ステップS134において、APIサーバ58はデータベース14にアクセスし、対局者Bの差し手の消費時間を対局時計情報に保存する。
【0126】
ステップS106~S134に示したように、対局開始後は対局時計用ボタン17の押下により手番の対局者が変更され、手番の対局者の持ち時間が時間経過と共に減少するように持ち時間の管理が行われる。また、APIサーバ58は手番が変更する度に、対局者による差し手の消費時間をデータベース14に保存する。
【0127】
なお、持ち時間が長い対局では途中で食事休憩などの休憩が入る場合がある。ステップS136において操作端末16を操作するユーザは、後述の休憩ボタンを押下する操作を行う。ステップS138において、操作端末16は休憩(対局中断)に従い、手番の対局者の時計を止める。ステップS140において、操作端末16は現在時刻を指定し、対局中断を棋譜記録システム10のAPIサーバ58に通知する。ステップS142においてAPIサーバ58は、データベース14にアクセスし、休憩が始まった時刻(休憩開始時刻)を対局時計情報に保存する。
【0128】
中断している対局を再開する場合、操作端末16を操作するユーザはステップS144において後述の再開ボタンを押下する操作を行う。ステップS146において、操作端末16は再開(対局再開)に従い、手番の対局者の時計を進める。ステップS148において操作端末16は現在時刻を指定し、対局再開を棋譜記録システム10のAPIサーバ58に通知する。ステップS150においてAPIサーバ58は、データベース14にアクセスし、休憩時間の合計(累積の休憩時間)を対局時計情報に保存する。ステップS152~S170の処理は、ステップS112~S134を用いて説明した処理と同様であるため、説明を省略する。
【0129】
対局を終了する場合、操作端末16を操作するユーザはステップS172において後述の終局ボタンを押下して対局終了の操作を行う。ステップS174において、操作端末16は現在時刻及び終局の種別を指定して、終局を棋譜記録システム10のAPIサーバ58に要求する。ステップS176において、APIサーバ58は、データベース14にアクセスし、終局時刻及び終局の種別を対局時計情報に保存する。
【0130】
図19はタスクの状態の詳細について説明する一例の状態遷移図である。
図19に示すタスクの状態は、ボード検出、ボード位置合わせ、準備中、対局開始待ち、対局中、休憩中、及び終局が含まれる。
【0131】
タスクの状態「ボード検出」は動画受信サーバ68から取得している画像データから将棋盤20を検出中の状態である。ボードが見つかる(将棋盤20を検出する)と、タスクは状態「ボードの位置合わせ」に遷移する。ボード位置計算終了(将棋盤20のマス目の位置計算が終了)すると、タスクは状態「準備中」に遷移する。
【0132】
将棋盤20で駒が初期配置になると、タスクは状態「対局開始待ち」となる。ユーザによる対局開始の指示があると、タスクは状態「対局中」に遷移する。状態「対局中」のタスクは中断により状態「休憩中」に遷移する。また、状態「休憩中」のタスクは再開により状態「対局中」に遷移する。さらに、状態「対局中」のタスクは投了などの終局条件を満たした場合に状態「終局」に遷移する。
【0133】
図20は棋譜記録システムのUI画面1300の一例のイメージ図である。UI画面1300は操作端末16に表示される画面イメージである。UI画面1300は、対局者それぞれの持ち時間を表示している。また、UI画面1300は操作端末16のユーザから対局開始ボタン1302の押下を受け付ける。対局開始ボタン1302の押下を受け付けた操作端末16は手番である対局者の持ち時間が時間経過と共に減少するように、持ち時間の管理を行う。対局中、操作端末16は対局時計用ボタン17の押下により手番の対局者を変更し、手番の対局者の持ち時間が時間経過と共に減少するように、持ち時間の管理を行う。さらに、UI画面1300は操作端末16のユーザから終局ボタン1304の押下を受け付ける。終局ボタン1304の押下を受け付けた操作端末16は対局終了のための処理に移行する。
【0134】
図21はデータベース14に保存される対局時計情報の一例の説明図である。対局時計情報は、ID、turn、spent、start_since、pause_since、及びpause_sumをデータ項目として有している。
【0135】
IDはレコードのユニークな識別情報である。turnは手番の対局者を識別するための情報である。例えばturnは手番が先手の場合に「0」が設定され、手番が後手の場合に「1」が設定される。spentは差し手の消費時間を保存する情報であり、例えば数値の配列である。start_sinceは現在の差し手の開始時刻を保存する情報である。pause_sinceは休憩開始時刻を保存する情報である。pause_sumは現在の差し手の累積の休憩時間を保存する情報である。
【0136】
APIサーバ58は着手の完了で指定された現在時刻を用いて、以下のように差し手の消費時間(spent)を算出する。差し手の消費時間(spent)は現在時刻(current_time)と差し手の開始時刻(start_since)との差分から累積の休憩時間(pause_sum)を引くことで算出できる。
【0137】
APIサーバ58は対局再開で指定された現在時刻を用いて、以下のように累積の休憩時間(pause_sum)を算出する。累積の休憩時間(pause_sum)は現在時刻(current_time)と休憩開始時刻(pause_since)との差分から、これまでの累積の休憩時間(pause_sum)を引くことで算出できる。
【0138】
また、
図22は状態が「対局中」の画像処理ワーカ64の処理の一例のフローチャートである。ステップS200において画像処理ワーカ64はキャッシュサーバ62から取得した画像認識処理の結果に基づき、盤上の駒の種類及び配置を検知して盤上の局面を解析する。
【0139】
ステップS202に進み、画像処理ワーカ64は解析の結果に基づき、着手があったか否かを判別する。着手がなかったと判別すると、画像処理ワーカ64はステップS200の処理に戻る。着手があったと判別すると、画像処理ワーカ64はステップS204に進み、差し手と、その差し手の消費時間と、をデータベース14に保存する。
【0140】
図23はキャッシュサーバ62にキャッシュされるタスクのデータの一例について説明する図である。文字列1402がタスクの状態を表す。なお、タスクの状態の詳細については
図19の状態遷移図を用いて説明した。文字列1404は先手の持ち駒を表す。文字列1406が後手の持ち駒を表す。
図23の例では先手及び後手の持ち駒がない例を示している。
【0141】
文字列1408は将棋盤20の現在の局面の情報である。初期状態の文字列1408は駒の初期配置を表す。指し手が進むことにより、文字列1408は、その時の駒の配置に更新される。例えば文字列1408は、例えば{color:1,type:2}が将棋盤20の一つのマスに配置された駒の情報を表し、その順番が将棋盤20のマスの位置を表す。例えば将棋盤20のマスの位置は、将棋盤20のマス目の左上のマスから右方向に一意な番号を振り、その番号の順番で表すことができる。
【0142】
文字列「color」はマスに配置された駒が、先手「0」又は後手「1」の何れの駒であるかを表している。文字列「type」はマスに配置された駒の種類(歩、金、成銀など)を表している。なお、駒が無いマスは、空欄となる。
【0143】
文字列1410及び文字列1412が指し手の履歴リストを表す。文字列1410は駒の移動前のマスの位置と移動後のマスの位置とで指し手を表している。例えば将棋盤20の9行9列のマスは、左から右方向の列に付した「1」~「9」と、上から下方向の行に付した「a」~「i」と、で表すことができる。
【0144】
例えば「2g2f」は「2g」のマスに配置されていた駒が「2f」のマスに移動したことを表している。なお、持ち駒から駒を打つ場合は「1*2f」のように「*」の前の数字「1」で駒の種類を表し、「*」の後の「2f」で駒を打つ位置を表すようにしてもよい。
【0145】
文字列1412は、指し手の履歴リストを、将棋界などで棋譜用紙への記入に一般的に使用されている表現方法で表したものである。例えば「26歩」は将棋界で「2六歩」と表される指し手を表しており、「2六」で表される将棋盤20の右から2番目で上から6番目のマスの位置に「歩」が移動したことを表している。
【0146】
文字列1414は、先頭の数字が指し手の順番を表し、指し手ごとに、手が指された時点での対局者の持ち時間の残り時間、及び指し手に消費された時間を表している。文字列1416は、最後の指し手の駒があるマスの位置を表す。また、文字列1418は、手番が先手「0」及び後手「1」の何れであるかを表した情報である。文字列1420は解析した直近の指し手が後述の合法手であるか否か示す情報である。
【0147】
以上のように、本実施形態に係る情報処理システム1は、対局時計を使用する選択を行うことで、ユーザが対局時計用ボタン17を操作することにより計測した差し手の消費時間をデータベース14に記録できる。また、本実施形態に係る情報処理システム1は対局時計を使用しない選択を行うことで、画像認識処理により計測した差し手の消費時間をデータベース14に記録できる。なお、本実施形態に係る情報処理システム1は、画像認識処理により計測した差し手の消費時間と、ユーザが対局時計用ボタン17を操作することにより計測した差し手の消費時間と、の両方をデータベース14に記録できるようにしてもよい。したがって、本実施形態に係る情報処理システム1では、操作端末16を対局時計として使用する対局、及び操作端末16を対局時計として使用しない対局、の両方で差し手の消費時間を記録できる。
【0148】
また、本実施形態に係る情報処理システム1では動画データを保存しておき、終局したあとで動画データを利用し、画像認識処理により差し手の消費時間を計測して記録するようにしてもよい。
【0149】
図24は棋譜記録システムのUI画面1300の一例のイメージ図である。
図20のUI画面1300の終局ボタン1304の押下を受け付けた操作端末16は、
図24に示すようなダイヤログから投了、切れ負けなどの終局の種類(種別)の選択をユーザから受け付けることができる。なお、終局の種類を選択している間にも差し手の消費時間が減少し続けるため、
図20のUI画面1300の終局ボタン1304が押下された時刻を現在時刻(current_time)として利用してもよい。また、
図20のUI画面1300の終局ボタン1304が誤って押下された場合も考慮し、ダイヤログから終局の種類が選択し終わるまで、対局時計を動かし続けることが望ましい。
【0150】
図25は棋譜記録システム10のUI画面の一例のイメージ図である。データベース14に保存された棋譜は例えばUI画面1500から参照できる。UI画面1500は左欄に棋譜を記録した対局リストが選択可能に表示されている。UI画面1500は、左欄の対局リストから選択された1つの対局の棋譜が、右欄に表示されている。UI画面1500の右欄に表示されている棋譜は、手数ごとに、差し手と、画像認識処理により計測された消費時間(
図25の消費時間欄に表示された時間)と、対局時計として利用された操作端末16により計測された消費時間(
図25のチェスクロック欄に表示された時間)とが表示されている。
【0151】
なお、操作端末16を対局時計として利用しなかった対局では、チェスクロック欄に消費時間が表示されない。また、操作端末16を対局時計として利用した対局では、消費時間欄の消費時間を表示しなくてもよいし、表示してもよい。
【0152】
第1の実施形態によれば、ライブでストリーミングされている動画データを連続的に解析し、記録が必要な駒の配置の変化を検知して自動的に棋譜を記録する場合に、対局時計により差し手の消費時間を計測する対局と、及び画像認識処理により差し手の消費時間を計測する対局の両方に対応できる。
【0153】
[他の実施形態]
図11に示したカメラ18の配置は一例であって、他の配置であってもよい。例えばカメラ18は三脚やフリップアームで支持して設置してもよい。また、スマートフォンなどのカメラ付きの操作端末16をセルカ棒やフリップアームで支持し、カメラ18として利用してもよい。
【0154】
なお、第1の実施形態では、カメラ18から受信した動画データを利用する例を説明したが、過去の対局を撮影した動画データから、棋譜を記録する構成も可能である。カメラ18は複数の将棋盤20が含まれるように撮影してもよく、1つの動画データから複数の対局の棋譜を記録することも可能である。また、第1の実施形態では将棋を一例として説明したが、画像処理ワーカ64と画像認識サーバ66とを変更すれば様々なボードゲームへの対応も可能である。さらに、第1の実施形態では、対局者が一手ずつ交互に着手する将棋を一例として説明したが、ターン制ゲームへの拡張も可能である。ターン制ゲームはターンと呼ばれるゲーム進行の単位を用いてゲームを行う。ターン制ゲームでは、ゲームに参加している各プレイヤに一定の順序でターンが訪れ、ターンが回ってきているプレイヤが、そのゲームにおける行動をすることができる。一度のターンでプレイヤがすることのできる行動の回数は、ゲームによって様々であり、1回であっても、複数回であってもよい。このような、ターンが回ってきているプレイヤによるターンの終了は、着手の完了の一例である。
【0155】
<まとめ>
本実施形態によれば、盤上が含まれるように撮影された画像から、記録が必要な対局者の指し手を検知して記録できると共に、操作端末16を対局時計として利用する対局及び操作端末16を対局時計として利用しない対局の両方において、差し手ごとの消費時間を計測して記録することができる。
【0156】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0157】
なお、1台のコンピュータを含むように構築される棋譜記録システム10は特許請求の範囲に記載した情報処理装置の一例である。また、操作端末16が実行する棋譜の記録方法は、特許請求の範囲に記載した操作端末の記録方法の一例である。使用選択受付部124は使用選択受付手段の一例である。
【0158】
画像処理ワーカ64は画像処理手段の一例である。使用選択受付部124は使用選択受付手段の一例である。保存制御部128は保存制御手段の一例である。対局時計用ボタン17は終了操作受付手段の一例である。画像認識サーバ66は画像認識手段の一例である。表示制御部148は表示制御手段の一例である。指示部146は指示手段の一例である。対局時計部152は対局時計手段の一例である。
【符号の説明】
【0159】
1 情報処理システム
10 棋譜記録システム
12 対局配信システム
14 データベース
16 操作端末
17A、17B、17 対局時計用ボタン
18 カメラ
20 将棋盤
22、24 通信ネットワーク
56 Webサーバ
58 APIサーバ
62 キャッシュサーバ
64 画像処理ワーカ
66 画像認識サーバ
68 動画受信サーバ
109 画像計測部
124 使用選択受付部
126 計測部
128 保存制御部
146 指示部
148 表示制御部
【先行技術文献】
【特許文献】
【0160】