(57)【要約】【課題】盤上が含まれるように撮影された画像データから、記録が必要な盤上のゲーム部品の配置の変化を検知して記録できる情報処理装置を提供することを課題とする。【解決手段】盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置であって、前記盤上が含まれるように撮影された画像データから、前記盤上に配置されている前記ゲーム部品を認識する画像認識手段と、前記画像認識手段による認識に基づき、記録が必要な前記ゲーム部品の配置の変化を順番に記録する処理手段と、を有し、前記処理手段は、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があり、且つ今回の認識に基づく前記ゲーム部品の配置に正当性があれば、今回の認識に基づく前記ゲーム部品の配置の変化を記録することにより、上記課題を解決する。【選択図】  図６
2020151218.tif 000002
【特許請求の範囲】
【請求項１】
盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置であって、
前記盤上が含まれるように撮影された画像データから、前記盤上に配置されている前記ゲーム部品を認識する画像認識手段と、
前記画像認識手段による認識に基づき、記録が必要な前記ゲーム部品の配置の変化を順番に記録する処理手段と、
を有し、
前記処理手段は、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があり、且つ今回の認識に基づく前記ゲーム部品の配置に正当性があれば、今回の認識に基づく前記ゲーム部品の配置の変化を記録することを特徴とする情報処理装置。
【請求項２】
前記処理手段は、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があれば、前々回の認識に基づく前記ゲーム部品の配置の記録との関係から今回の認識に基づく前記ゲーム部品の配置の正当性を判定し、今回の認識に基づく前記ゲーム部品の配置に正当性があれば、前回の認識に基づく前記ゲーム部品の配置の記録を破棄して、今回の認識に基づく前記ゲーム部品の配置の変化を記録すること
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記処理手段は、前々回の認識に基づく前記ゲーム部品の配置の記録との関係から今回の認識に基づく前記ゲーム部品の配置に正当性がなければ、更に、前回の認識に基づく前記ゲーム部品の配置の記録との関係から今回の認識に基づく前記ゲーム部品の配置の正当性を判定し、今回の認識に基づく前記ゲーム部品の配置に正当性があれば、前回の認識に基づく前記ゲーム部品の配置の記録を残して、今回の認識に基づく前記ゲーム部品の配置の変化を記録すること
を特徴とする請求項２記載の情報処理装置。
【請求項４】
前記画像認識手段は、前記ゲーム部品の学習済みの画像認識モデルを用いて、前記盤上が含まれるように撮影された画像データから、前記盤上に配置された前記ゲーム部品の位置及び種類を認識すること
を特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項５】
前記処理手段は、認識された前記ゲーム部品の種類に応じて設定されている前記ゲーム部品の移動が可能な位置の情報を用いて、今回の認識に基づく前記ゲーム部品の配置に正当性があるか否かを判定すること
を特徴とする請求項４記載の情報処理装置。
【請求項６】
前記処理手段は、今回の認識に基づく前記ゲーム部品の配置の変化と共に、前回の認識に基づく前記ゲーム部品の配置の変化から今回の認識に基づく前記ゲーム部品の配置の変化までの経過時間を記録すること
を特徴とする請求項１乃至５何れか一項記載の情報処理装置。
【請求項７】
前記処理手段が順番に記録した前記ゲーム部品の配置の変化に関する情報を、操作端末に表示させるためのデータを作成して、前記データを前記操作端末に提供するデータ提供手段、を更に有すること
を特徴とする請求項１乃至６何れか一項記載の情報処理装置。
【請求項８】
盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置が実行する記録方法であって、
前記盤上が含まれるように撮影された画像データから、前記盤上に配置されている前記ゲーム部品を認識する認識ステップと、
前記認識ステップによる認識に基づき、記録が必要な前記ゲーム部品の配置の変化を順番に記録する記録ステップと、
を有し、
前記記録ステップは、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があり、且つ今回の認識に基づく前記ゲーム部品の配置に正当性があれば、今回の認識に基づく前記ゲーム部品の配置の変化を記録することを特徴とする記録方法。
【請求項９】
盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置を、
前記盤上が含まれるように撮影された画像データから、前記盤上に配置されている前記ゲーム部品を認識する画像認識手段、
前記画像認識手段による認識に基づき、記録が必要な前記ゲーム部品の配置の変化を順番に記録する処理手段、
として機能させ、
前記処理手段は、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があり、且つ今回の認識に基づく前記ゲーム部品の配置に正当性があれば、今回の認識に基づく前記ゲーム部品の配置の変化を記録することを特徴とするプログラム。
【請求項１０】
盤上が含まれるように撮影を行う撮影装置と、操作端末と、前記盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置と、を含む情報処理システムであって、
前記操作端末は、
前記盤上が含まれるように撮影される画像データの識別情報、及び前記画像データを送信する宛先を指定して、前記宛先への前記画像データの送信の開始を前記撮影装置に指示する送信開始指示手段と、
前記識別情報を指定して、前記宛先に送信された前記画像データに対する処理の開始を前記情報処理装置に指示する処理開始指示手段と、
前記情報処理装置が順番に記録した前記ゲーム部品の配置の変化に関する情報を表示する表示手段と、
を有し、
前記情報処理装置は、
前記操作端末からの前記処理の開始の指示に基づき、前記宛先に送信された画像データから前記盤上に配置されている前記ゲーム部品を認識する画像認識手段と、
前記画像認識手段による認識に基づき、記録が必要な前記ゲーム部品の配置の変化を順番に記録する処理手段と、
を有し、
前記処理手段は、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があり、且つ今回の認識に基づく前記ゲーム部品の配置に正当性があれば、今回の認識に基づく前記ゲーム部品の配置の変化を記録することを特徴とする情報処理システム。
【請求項１１】
盤上が含まれるように撮影を行う撮影装置と、操作端末と、前記盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置と、を含む情報処理システムが実行する記録方法であって、
前記操作端末は、
前記盤上が含まれるように撮影される画像データの識別情報、及び前記画像データを送信する宛先を指定して、前記宛先への前記画像データの送信の開始を前記撮影装置に指示する送信開始指示ステップと、
前記識別情報を指定して、前記宛先に送信された前記画像データに対する処理の開始を前記情報処理装置に指示する処理開始指示ステップと、
前記情報処理装置が順番に記録した前記ゲーム部品の配置の変化に関する情報を表示する表示ステップと、
を実行し、
前記情報処理装置は、
前記操作端末からの前記処理の開始の指示に基づき、前記宛先に送信された前記画像データから前記盤上に配置されている前記ゲーム部品を認識する認識ステップと、
前記認識ステップによる認識に基づき、記録が必要な前記ゲーム部品の配置の変化を順番に記録する記録ステップと、
を実行し、
前記記録ステップは、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があり、且つ今回の認識に基づく前記ゲーム部品の配置に正当性があれば、今回の認識に基づく前記ゲーム部品の配置の変化を記録することを特徴とする記録方法。
【請求項１２】
盤上が含まれるように撮影を行う撮影装置、及び前記盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置とデータ通信が可能である操作端末を、
前記盤上が含まれるように撮影される画像データの識別情報、及び前記画像データを送信する宛先を指定して、前記宛先への前記画像データの送信の開始を前記撮影装置に指示する送信開始指示手段、
前記識別情報を指定して、前記宛先に送信された前記画像データに対する処理の開始を前記情報処理装置に指示する処理開始指示手段、
前記情報処理装置に記録された、記録が必要な前記ゲーム部品の配置の変化を表示する表示手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、記録方法、プログラム、及び情報処理システムに関する。
【背景技術】
【０００２】
例えば既存の駒や将棋盤をそのまま使用して、棋譜を自動的に記録する技術が知られている（例えば特許文献１参照）。棋譜とは、対局者が互いに行った手を順番に記入した記録である。特許文献１の技術では、駒を指す盤面の画像を撮影するカメラと、各対局者の持ち時間をそれぞれカウントする対局時計とを利用して、駒を指した後の持ち時間のカウント中断時点を検出し、カウント中断時点でカメラによって撮影された盤面の画像から駒の動きを検出して棋譜の記録を行っていた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、既存の駒や将棋盤をそのまま使用して、棋譜を自動的に記録する従来の技術では、各対局者が駒を指したことを検出するために、カメラ撮影のための電気的な指示を行う機能を有する対局時計が必要という問題があった。なお、特許文献１には上記のような機能を有する対局時計を使わずに、棋譜を自動的に記録することについて記載されていない。
【０００４】
本発明の実施の形態は上記の点に鑑みなされたもので、盤上が含まれるように撮影された画像データから、記録が必要な盤上のゲーム部品の配置の変化を検知して記録できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本願請求項１は、盤上に複数のゲーム部品をプレイヤが配置して行うゲームの前記ゲーム部品の配置の変化を記録する情報処理装置であって、前記盤上が含まれるように撮影された画像データから、前記盤上に配置されている前記ゲーム部品を認識する画像認識手段と、前記画像認識手段による認識に基づき、記録が必要な前記ゲーム部品の配置の変化を順番に記録する処理手段と、を有し、前記処理手段は、前回の認識に基づく前記ゲーム部品の配置の記録、及び今回の認識に基づく前記ゲーム部品の配置に差分があり、且つ今回の認識に基づく前記ゲーム部品の配置に正当性があれば、今回の認識に基づく前記ゲーム部品の配置の変化を記録することを特徴とする。
【発明の効果】
【０００６】
盤上が含まれるように撮影された画像データから、記録が必要な盤上のゲーム部品の配置の変化を検知して記録できる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る情報処理システムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】全天球撮影装置の一例のハードウェア構成図である。
【図４】本実施形態に係るスマートフォンの一例のハードウェア構成図である。
【図５】棋譜記録システムの一例のソフトウェア構成図である。
【図６】第１の実施形態に係る情報処理システムの一例の機能構成図である。
【図７】画像処理ワーカの一例の機能構成図である。
【図８】カメラの一例の設置図である。
【図９】操作端末においてカメラの管理を行うカメラ管理ページ画面の一例のイメージ図である。
【図１０】操作端末においてカメラの追加又は編集を行うカメラ編集ページ画面の一例のイメージ図である。
【図１１】棋譜記録システムのＵＩ画面の一例のイメージ図である。
【図１２】解析した局面及び棋譜を表示する画面の一例の説明図である。
【図１３】キャッシュサーバにキャッシュされるタスクのデータの一例について説明する図である。
【図１４】将棋盤の現在の局面の情報を表した文字列の詳細を説明する一例の図である。
【図１５】将棋盤のマスの位置を表す情報の一例の説明図である。
【図１６】第１の実施形態に係る情報処理システムの処理の一例を示したシーケンス図である。
【図１７】キャッシュサーバへの新しいタスクの追加について説明する一例の図である。
【図１８】実行中のタスクについて説明する一例の図である。
【図１９】タスクの状態の詳細について説明する一例の状態遷移図である。
【図２０】状態が「対局中」の画像処理ワーカの処理の一例を示すフローチャートである。
【図２１】将棋の局面の一例を示す図である。
【図２２】状態が「対局中」の画像処理ワーカ６４の処理の一例を示すフローチャートである。
【図２３】将棋の局面の一例を示す図である。
【図２４】カメラの一例の配置図である。
【図２５】カメラの一例の配置図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面を参照しながら説明する。本実施形態では「盤上に複数のゲーム部品をプレイヤが配置して行うゲーム」の一例として、将棋盤に駒を対局者が配置して行う将棋を例に説明する。将棋はボードゲームの一例である。ボードゲームとは、盤上（ボード上）で駒、カード、さいころ、チップなどのゲーム部品を配置したり移動したりして勝敗を競うゲームの総称である。例えばボードゲームには、将棋の他、囲碁、連珠、チェス、オセロ、麻雀、バックギャモン、すごろく、等が含まれる。なお、本実施形態において「盤上」や「盤面」と言うとき、盤が複数に分かれているボードゲームであれば全ての盤の「盤上」や「盤面」が含まれる。例えば本実施形態では、図示を省略しているが、将棋盤２０の「盤上」や「盤面」と言うとき、駒台の面も含まれている。
【０００９】
［第１の実施形態］
＜システム構成＞
図１は第１の実施形態に係る情報処理システム１の一例の構成図である。図１の情報処理システム１は、棋譜記録システム１０、対局配信システム１２、棋譜ＤＢ１４、操作端末１６、カメラ１８を含むように構築される。棋譜記録システム１０、対局配信システム１２、及び棋譜ＤＢ１４は通信ネットワーク２２を介してデータ通信できる。操作端末１６及びカメラ１８は通信ネットワーク２４を介してデータ通信できる。また、操作端末１６及びカメラ１８は通信ネットワーク２２及び２４を介して、棋譜記録システム１０、対局配信システム１２、及び棋譜ＤＢ１４とデータ通信できる。
【００１０】
通信ネットワーク２２及び２４は、インターネット、移動体通信網、ＬＡＮ（Local Area Network）等によって構築される。通信ネットワーク２２及び２４には、有線通信だけでなく、３Ｇ（3rd Generation）、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）またはＬＴＥ（Long Term Evolution）等の無線通信によるネットワークが含まれてもよい。
【００１１】
棋譜記録システム１０は例えば対局室などの将棋盤２０で対局者が行う将棋の対局の棋譜（以下、単に対局と呼ぶ）を後述のように記録する。棋譜記録システム１０は１台以上のコンピュータを含むように構築される。対局配信システム１２は将棋盤２０で行われる対局の映像を配信したり、棋譜記録システム１０が記録した棋譜を配信したりする。対局配信システム１２は１台以上のコンピュータを含むように構築される。棋譜ＤＢ１４は棋譜記録システム１０が記録した棋譜を含む棋譜のデータベースである。棋譜ＤＢ１４は１台以上のコンピュータを含むように構築される。
【００１２】
操作端末１６はユーザが操作する情報処理端末であり、ユーザから受け付けた各種操作に応じて棋譜記録システム１０やカメラ１８等に各種処理要求を行うと共に、ユーザに対する各種ＵＩの表示を行う。操作端末１６は、デスクトップＰＣ、ノートＰＣ、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）などの情報処理端末である。なお、図１では操作端末１６が一台の例を示しているが複数台であってもよい。操作端末１６はブラウザが搭載されている。
【００１３】
カメラ１８は、将棋盤２０の盤上が含まれるように動画の撮影を行う撮影装置の一例である。カメラ１８は、ネットワークカメラ、ウェブカメラ、又はカメラ付きの情報処理端末などである。ネットワークカメラはＩＰアドレスを持ち、パソコンなどの制御機器に繋げなくても動画や静止画を配信できる撮影装置の一例である。ウェブカメラは、パソコンなどの制御機器に繋げて動画や静止画を配信できる撮影装置の一例である。カメラ１８はパソコンなどの制御機器を介して通信ネットワーク２４に接続されてもよい。
【００１４】
なお、図１の情報処理システム１の構成は一例であって、棋譜記録システム１０、対局配信システム１２、及び棋譜ＤＢ１４を一台のコンピュータに統合して実現するようにしてもよいし、複数のコンピュータに分散して実現するようにしてもよい。また、棋譜記録システム１０、対局配信システム１２、及び棋譜ＤＢ１４はクラウドコンピューティングによりサービスを提供してもよい。クラウドコンピューティングとは、インターネットなどの通信ネットワーク２２を経由して、コンピュータ資源をサービスの形で提供する利用形態である。
【００１５】
このように、本実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、棋譜記録システム１０は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【００１６】
同様に、対局配信システム１２及び棋譜ＤＢ１４は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。棋譜記録システム１０、対局配信システム１２、及び棋譜ＤＢ１４は、開示された処理ステップ、例えば図１６を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、対局配信システム１２及び棋譜ＤＢ１４によって実行され得る。同様に、所定のユニットの機能は、対局配信システム１２及び棋譜ＤＢ１４によって実行することができる。棋譜記録システム１０、対局配信システム１２、及び棋譜ＤＢ１４の各要素は１つのサーバ装置にまとめられていてもよいし、複数の装置に分けられていてもよい。
【００１７】
＜ハードウェア構成＞
＜＜コンピュータ＞＞
棋譜記録システム１０、対局配信システム１２、及び棋譜ＤＢ１４は、例えば図２に示すハードウェア構成のコンピュータ５００により実現される。また、操作端末１６がデスクトップＰＣ等のＰＣである場合も例えば図３に示すハードウェア構成のコンピュータ５００により実現される。
【００１８】
図２は、本実施形態に係るコンピュータ５００の一例のハードウェア構成図である。図２に示されているように、コンピュータ５００はＣＰＵ（Central Processing Unit）５０１、ＲＯＭ（Read Only Memory）５０２、ＲＡＭ（Random Access Memory）５０３、ＨＤ５０４、ＨＤＤ（Hard Disk Drive）コントローラ５０５、ディスプレイ５０６、外部機器接続Ｉ／Ｆ（Interface）５０８、ネットワークＩ／Ｆ５０９、データバス５１０、キーボード５１１、ポインティングデバイス５１２、ＤＶＤ−ＲＷ（Digital Versatile Disk Rewritable）ドライブ５１４、メディアＩ／Ｆ５１６を備えている。
【００１９】
これらのうち、ＣＰＵ５０１は、コンピュータ５００全体の動作を制御する。ＲＯＭ５０２は、ＩＰＬ等のＣＰＵ５０１の駆動に用いられるプログラムを記憶する。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。ＨＤ５０４は、プログラム等の各種データを記憶する。ＨＤＤコントローラ５０５は、ＣＰＵ５０１の制御にしたがってＨＤ５０４に対する各種データの読み出し又は書き込みを制御する。
【００２０】
ディスプレイ５０６は、カーソル、メニュー、ウインドウ、文字、又は画像などの各種情報を表示する。外部機器接続Ｉ／Ｆ５０８は、各種の外部機器を接続するためのインタフェースである。この場合の外部機器は、例えば、ＵＳＢ（Universal Serial Bus）メモリやプリンタ等である。ネットワークＩ／Ｆ５０９は、通信ネットワーク９を利用してデータ通信をするためのインタフェースである。データバス５１０は、ＣＰＵ５０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００２１】
キーボード５１１は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス５１２は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。ＤＶＤ−ＲＷドライブ５１４は、着脱可能な記録媒体の一例としてのＤＶＤ−ＲＷ５１３に対する各種データの読み出し又は書き込みを制御する。なお、ＤＶＤ−ＲＷに限らず、ＤＶＤ−Ｒ等であってもよい。メディアＩ／Ｆ５１６は、フラッシュメモリ等の記録メディア５１５に対するデータの読み出し又は書き込み（記憶）を制御する。
【００２２】
＜＜カメラ＞＞
カメラ１８は、ネットワークカメラ、ウェブカメラの他、例えば図３のハードウェア構成の全天球撮影装置６００により実現することもできる。図３は、全天球撮影装置６００の一例のハードウェア構成図である。図３の全天球撮影装置６００は、２つの撮像素子を使用した全天球（全方位）撮影装置の例であるが、２つ以上の撮像素子を使用した全天球撮影装置であってもよい。
【００２３】
また、全天球撮影装置６００は必ずしも全方位撮影専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に、後付けの全方位の撮像ユニットを取り付けることで、実質的に全天球撮影装置６００と同じ機能を有するようにしてもよい。
【００２４】
図３に示されているように、全天球撮影装置６００は、撮像ユニット６０１、画像処理ユニット６０４、撮像制御ユニット６０５、マイク６０８、音処理ユニット６０９、ＣＰＵ６１１、ＲＯＭ６１２、ＳＲＡＭ（Static Random Access Memory）６１３、ＤＲＡＭ（Dynamic Random Access Memory）６１４、操作部６１５、外部機器接続Ｉ／Ｆ６１６、通信部６１７、アンテナ６１７ａ、加速度・方位センサ６１８によって構成されている。
【００２５】
このうち、撮像ユニット６０１は、各々半球画像を結像するための１８０°以上の画角を有する広角レンズ（いわゆる魚眼レンズ）６０２ａ，６０２ｂと、各広角レンズに対応させて設けられている２つの撮像素子６０３ａ，６０３ｂを備えている。撮像素子６０３ａ，６０３ｂは、広角レンズ６０２ａ，６０２ｂによる光学像を電気信号の画像データに変換して出力するＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサやＣＣＤ（Charge Coupled Device）センサなどの画像センサ、画像センサの水平又は垂直同期信号や画素クロックなどを生成するタイミング生成回路、撮像素子６０３ａ，６０３ｂの動作に必要な種々のコマンドやパラメータなどが設定されるレジスタ群など、を有している。
【００２６】
撮像ユニット６０１の撮像素子６０３ａ，６０３ｂは、各々、画像処理ユニット６０４とパラレルＩ／Ｆバスで接続されている。また、撮像素子６０３ａ，６０３ｂは、撮像制御ユニット６０５と、シリアルＩ／Ｆバス（Ｉ２Ｃバス等）で接続されている。画像処理ユニット６０４、撮像制御ユニット６０５、及び音処理ユニット６０９は、バス６１０を介してＣＰＵ６１１と接続される。さらに、バス６１０には、ＲＯＭ６１２、ＳＲＡＭ６１３、ＤＲＡＭ６１４、操作部６１５、外部機器接続Ｉ／Ｆ６１６、通信部６１７、及び加速度・方位センサ６１８なども接続される。
【００２７】
画像処理ユニット６０４は、撮像素子６０３ａ，６０３ｂから出力される画像データをパラレルＩ／Ｆバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、正距円筒射影画像のデータを作成する。
【００２８】
撮像制御ユニット６０５は、一般に撮像制御ユニット６０５をマスタデバイス、撮像素子６０３ａ，６０３ｂをスレーブデバイスとして、Ｉ２Ｃバスを利用して、撮像素子６０３ａ，６０３ｂのレジスタ群にコマンド等を設定する。必要なコマンド等は、ＣＰＵ６１１から受け取る。また、撮像制御ユニット６０５は、同じくＩ２Ｃバスを利用して、撮像素子６０３ａ，６０３ｂのレジスタ群のステータスデータ等を取り込み、ＣＰＵ６１１に送る。
【００２９】
また、撮像制御ユニット６０５は、操作部６１５のシャッターボタンが押下されたタイミングで、撮像素子６０３ａ，６０３ｂに画像データの出力を指示する。全天球撮影装置６００によっては、ディスプレイ（例えば、スマートフォンのディスプレイ）によるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子６０３ａ，６０３ｂからの画像データの出力は、所定のフレームレート（フレーム／分）によって連続して行われる。
【００３０】
また、撮像制御ユニット６０５は、後述するように、ＣＰＵ６１１と協働して撮像素子６０３ａ，６０３ｂの画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施形態では、全天球撮影装置６００にはディスプレイが設けられていないが、表示部を設けてもよい。
【００３１】
マイク６０８は、音を音（信号）データに変換する。音処理ユニット６０９は、マイク６０８から出力される音データをＩ／Ｆバスを通して取り込み、音データに対して所定の処理を施す。
【００３２】
ＣＰＵ６１１は、全天球撮影装置６００の全体の動作を制御すると共に、必要な処理を実行する。ＲＯＭ６１２は、ＣＰＵ６１１のための種々のプログラムを記憶している。ＳＲＡＭ６１３及びＤＲＡＭ６１４はワークメモリであり、ＣＰＵ６１１で実行するプログラムや処理途中のデータ等を記憶する。特にＤＲＡＭ６１４は、画像処理ユニット６０４での処理途中の画像データや処理済みの正距円筒射影画像のデータを記憶する。
【００３３】
操作部６１５はシャッターボタンなどの操作ボタンの総称である。ユーザは操作部６１５を操作することで、種々の撮影モードや撮影条件などを入力する。外部機器接続Ｉ／Ｆ６１６は各種の外部機器を接続するためのインタフェースである。
【００３４】
この場合の外部機器は、例えばＵＳＢメモリやＰＣ等である。ＤＲＡＭ６１４に記憶された正距円筒射影画像のデータは、外部機器接続Ｉ／Ｆ６１６を介して外付けのメディア等の外部機器に記録されたり、必要に応じて外部機器接続Ｉ／Ｆ６１６を介してスマートフォン等の外部機器に送信されたりする。
【００３５】
通信部６１７は、全天球撮影装置６００に設けられたアンテナ６１７ａを介して、Ｗｉ−Ｆｉ、ＮＦＣ（Near Field Communication）やＢｌｕｅｔｏｏｔｈ（登録商標）等の近距離無線通信技術によって、スマートフォン等の外部機器と通信を行う。この通信部６１７によっても、正距円筒射影画像のデータをスマートフォン等の外部端末（装置）に送信することができる。
【００３６】
加速度・方位センサ６１８は、地球の磁気から全天球撮影装置６００の方位を算出し、方位情報を出力する。この方位情報はＥｘｉｆに沿った関連情報（メタデータ）の一例であり、撮影画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮影日時、及び画像データのデータ容量の各データも含まれている。また、加速度・方位センサ６１８は、全天球撮影装置６００の移動に伴う角度の変化（Roll角、Pitch角、Yaw角）を検出するセンサである。角度の変化はＥｘｉｆに沿った関連情報（メタデータ）の一例であり、撮像画像の画像補正等の画像処理に利用される。更に、加速度・方位センサ６１８は、３軸方向の加速度を検出するセンサである。
【００３７】
全天球撮影装置６００は、加速度・方位センサ６１８が検出した加速度に基づいて、自装置（全天球撮影装置６００）の姿勢（重力方向に対する角度）を算出する。全天球撮影装置６００に、加速度・方位センサ６１８が設けられることによって、画像補正の精度が向上する。
【００３８】
＜＜スマートフォン＞＞
操作端末１６は、例えば図４に示すハードウェア構成のスマートフォン７００や、タブレット端末により実現される。図４は、本実施形態に係るスマートフォン７００の一例のハードウェア構成図である。図４に示されているように、スマートフォン７００は、ＣＰＵ７０１、ＲＯＭ７０２、ＲＡＭ７０３、ＥＥＰＲＯＭ７０４、ＣＭＯＳセンサ７０５、撮像素子Ｉ／Ｆ７０６、加速度・方位センサ７０７、メディアＩ／Ｆ７０９、ＧＰＳ受信部７１１を備えている。
【００３９】
これらのうち、ＣＰＵ７０１は、スマートフォン７００全体の動作を制御する。ＲＯＭ７０２は、ＣＰＵ７０１やＩＰＬ等のＣＰＵ７０１の駆動に用いられるプログラムを記憶する。ＲＡＭ７０３は、ＣＰＵ７０１のワークエリアとして使用される。ＥＥＰＲＯＭ７０４は、ＣＰＵ７０１の制御にしたがって、スマートフォン用プログラム等の各種データの読み出し又は書き込みを行う。
【００４０】
ＣＭＯＳセンサ７０５は、ＣＰＵ７０１の制御に従って被写体（主に自画像）を撮像して画像データを得る内蔵型の撮像手段の一種である。なお、ＣＭＯＳセンサ７０５ではなく、ＣＣＤセンサ等の撮像手段であってもよい。撮像素子Ｉ／Ｆ７０６は、ＣＭＯＳセンサ７０５の駆動を制御する回路である。加速度・方位センサ７０７は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。
【００４１】
メディアＩ／Ｆ７０９は、フラッシュメモリ等の記録メディア７０８に対するデータの読み出し又は書き込み（記憶）を制御する。ＧＰＳ受信部７１１は、ＧＰＳ衛星からＧＰＳ信号を受信する。
【００４２】
また、スマートフォン７００は、遠距離通信回路７１２、ＣＭＯＳセンサ７１３、撮像素子Ｉ／Ｆ７１４、マイク７１５、スピーカ７１６、音入出力Ｉ／Ｆ７１７、ディスプレイ７１８、外部機器接続Ｉ／Ｆ７１９、近距離通信回路７２０、近距離通信回路７２０のアンテナ７２０ａ、及びタッチパネル７２１を備えている。
【００４３】
これらのうち、遠距離通信回路７１２は、通信ネットワーク２４を介して、他の機器と通信する回路である。ＣＭＯＳセンサ７１３は、ＣＰＵ７０１の制御に従って被写体を撮像して画像データを得る内蔵型の撮像手段の一種である。撮像素子Ｉ／Ｆ７１４は、ＣＭＯＳセンサ７１３の駆動を制御する回路である。マイク７１５は、音を電気信号に変える内蔵型の回路である。スピーカ７１６は、電気信号を物理振動に変えて音楽や音声などの音を生み出す内蔵型の回路である。
【００４４】
音入出力Ｉ／Ｆ７１７は、ＣＰＵ７０１の制御に従ってマイク７１５及びスピーカ７１６との間で音信号の入出力を処理する回路である。ディスプレイ７１８は、被写体の画像や各種アイコン等を表示する液晶や有機ＥＬ（Electro Luminescence）などの表示手段の一種である。外部機器接続Ｉ／Ｆ７１９は各種の外部機器を接続するインタフェースである。近距離通信回路７２０はＮＦＣやＢｌｕｅｔｏｏｔｈ等の通信回路である。タッチパネル７２１は、ユーザがディスプレイ７１８を押下することで、スマートフォン７００を操作する入力手段の一種である。
【００４５】
また、スマートフォン７００は、バスライン７１０を備えている。バスライン７１０は図４に示されているＣＰＵ７０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００４６】
＜ソフトウェア構成＞
続いて、棋譜記録システム１０にインストールされるコンピュータソフトウエアについて説明する。ここで、コンピュータソフトウエア（以下、ソフトウェアと呼ぶ）とは、コンピュータの動作に関するプログラム、その他、コンピュータによる処理の用に供する情報であってプログラムに準ずるものである。プログラムとは、コンピュータに対する指令であって、一の結果を得ることができるように組み合わせたものをいう。また、プログラムに準ずるものとは、コンピュータに対する直接の指令ではないためプログラムとは呼べないが、コンピュータの処理を規定するという点でプログラムに類似する性質を有するものをいう。例えば、データ構造（データ要素間の相互関係で表される、データの有する論理的構造）がプログラムに準ずるものに該当する。
【００４７】
また、アプリケーションとは、ソフトウェアの分類のうち、特定の処理を行うために使用されるソフトウェアの総称である。一方、ＯＳ（オペレーティングシステムとは、コンピュータを制御し、アプリケーション等がコンピュータ資源を利用可能にするためのソフトウェアである。ＯＳは、入出力の制御、メモリおよびハードディスク等のハードウェアの管理、プロセスの管理といった、コンピュータの基本的な管理・制御を行っている。アプリケーションは、ＯＳが提供する機能を利用して動作する。
【００４８】
なお、上記ソフトウェアは、インストール可能な形式または実行可能な形式のファイルをコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。記録媒体の例としては、ＣＤ−Ｒ（Compact Disc Recordable）、ＤＶＤ、ブルーレイディスク、ＳＤカード等が挙げられる。記録媒体は、プログラム製品（Program Product）として国内または国外へ提供できる。また、上記ソフトウェアはインストール可能な形式または実行可能な形式のファイルをダウンロードさせるようにしてもよい。
【００４９】
図５は棋譜記録システム１０の一例のソフトウェア構成図である。棋譜記録システム１０を構成する各サーバ等は、それぞれが独立したサーバプロセス等である。なお、図５では全てのサーバ等が同じＯＳ５０上に配置されているが、物理的に異なるサーバや仮想レイヤ上のＶＭ（仮想マシン）で動作させたり、コンテナ技術を使って動作させたり、するようにしてもよい。
【００５０】
ＯＳ５０は棋譜記録システム１０の基本的な機能を提供し、棋譜記録システム１０の全体を管理する基本ソフトウェアである。ミドルウェア／プログラム言語ランタイムはＯＳ５０上で動作する。また、ストレージ５４はＯＳ５０上で動作する。Ｗｅｂサーバ５６、ＡＰＩ（Application Programming Interface）サーバ５８、キャッシュサーバ６２、画像処理ワーカ６４、画像認識サーバ６６、動画受信サーバ６８、及びワーカ管理７０はミドルウェア／プログラム言語ランタイム５２上で動作する。
【００５１】
Ｗｅｂサーバ５６は、ＵＩとなる操作端末１６のブラウザからのリクエストに対してレスポンスを返す。コンテンツはストレージ５４に保存されている。コンテンツの具体例としては、ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＣＳＳや画像・アイコンファイルなどである。
【００５２】
ＡＰＩサーバ５８は、操作端末１６のブラウザからのリクエストに対してレスポンスを返す。ＡＰＩサーバ５８はリクエストに応じたＡＰＩプログラム６０がキャッシュサーバ６２や動画受信サーバ６８を呼び出し、レスポンスを生成する。キャッシュサーバ６２は他のサービスからのリクエストに応じてデータをキャッシュする。キャッシュサーバ６２にキャッシュされるデータは、タスクの定義や状態、結果などである。
【００５３】
画像処理ワーカ６４は動画受信サーバ６８から動画データを受け取り、解析する。画像処理ワーカ６４は解析の状態や結果をキャッシュサーバ６２に保存する。また、画像の認識処理は画像処理ワーカ６４自身が行うこともできるし、画像認識サーバ６６に代行させることもできる。
【００５４】
画像認識サーバ６６は画像処理ワーカ６４から画像データを受け取り、画像の認識処理を実行したあと、結果を返す。なお、画像の認識処理に必要となる学習済みの画像認識モデルはストレージ５４から読み出すようにしてもよいし、画像認識サーバ６６のストレージなどから読み出すようにしてもよい。動画受信サーバ６８はカメラ１８から送信される動画データを受信し、記憶する。動画受信サーバ６８は画像処理ワーカ６４からリクエストを受信すると、動画データの一部（最新の画像データ）を提供する。
【００５５】
ワーカ管理７０は棋譜記録システム１０で稼働している画像処理ワーカ６４の数とタスク数とをモニタリングする。なお、ワーカ管理７０はタスク数に対して十分な数の画像処理ワーカ６４が無ければ新たに画像処理ワーカ６４を追加し、反対にタスク数が減少して画像処理ワーカ６４の数が過剰であればタスクを実行していない画像処理ワーカ６４を終了させる。
【００５６】
＜機能構成＞
図６は第１の実施形態に係る情報処理システム１の一例の機能構成図である。図６の操作端末１６は、ストリームＩＤ受信部８０、ストリーム開始要求部８２、タスク開始要求部８４、指示部８６、表示制御部８８、及びカメラ管理部９０を有している。
【００５７】
操作端末１６のストリームＩＤ受信部８０は、棋譜記録システム１０の動画受信サーバ６８が発行したストリームＩＤを受信する。なお、ストリームＩＤはストリームの識別情報（チャネル）の一例である。
【００５８】
ストリーム開始要求部８２は、ストリームＩＤと、ストリームを送信する棋譜記録システム１０側の宛先（ストリームの宛先）と、を指定してカメラ１８にストリーミングの開始を要求する。これにより操作端末１６を操作するユーザは、棋譜を記録したい将棋盤２０の盤上が含まれるように動画の撮影を行うカメラ１８を選択し、ストリームＩＤとストリームの宛先とを指定してストリーミングの開始を要求できる。ストリーミングの開始を要求されたカメラ１８は、指定されたストリームＩＤとストリームの宛先とを利用して棋譜記録システム１０の動画受信サーバ６８への動画データ（ストリームデータ）の送信を開始する。動画受信サーバ６８にはカメラ１８が撮影した動画データが記録される。
【００５９】
タスク開始要求部８４はストリームＩＤを指定して棋譜記録のためのタスクの開始をＡＰＩサーバ５８に要求する。これにより、棋譜記録システム１０のキャッシュサーバ６２には、動画受信サーバ６８に記録された動画データから棋譜を記録するための新しいタスクをキャッシュできる。
【００６０】
画像処理ワーカ６４はキャッシュサーバ６２にキャッシュされたタスクに従い、動画受信サーバ６８から動画データを受け取り、動画データに含まれる将棋盤２０の盤上の局面を解析する。動画データに含まれる将棋盤２０の盤上の局面の解析は、画像処理及び画像の認識処理により盤上の駒の種類及び配置を検知することで行う。
【００６１】
例えば画像処理ワーカ６４はタスクに従い、動画受信サーバ６８から動画データを受け取り、その動画データから盤面部分の画像データを切り出す。また、画像処理ワーカ６４は盤面部分の画像データから更に、盤面部分のマス（縦横９×９マス）ごとの画像データを切り出す。また、画像処理ワーカ６４は切り出したマスごとの画像データの画像の認識処理を画像認識サーバ６６に要求する。
【００６２】
画像認識サーバ６６は、学習済みの画像認識モデルを用いて、マスごとの画像データからマスへの駒の配置の有無、配置されている駒の種類（先手の歩、後手の銀など）を認識する。学習済みの画像認識モデルは、例えば上向きの各種の駒の画像と下向きの各種の駒の画像とを入力データとし、先手及び後手の駒の種類を出力データとして学習させた画像認識モデルである。入力データとする駒の画像は、駒を持つ対局者の指により駒の一部が映っていない画像であってもよい。画像認識サーバ６６は、認識の結果を画像処理ワーカ６４に返す。
【００６３】
画像処理ワーカ６４は画像認識サーバ６６から返された認識の結果から盤上の駒の種類及び配置を検知して、盤上の局面を解析する。画像処理ワーカ６４は解析の状態や結果をキャッシュサーバ６２に保存する。
【００６４】
指示部８６は、ユーザによる対局開始、対局休憩、対局再開、及び終局などの指示を画像処理ワーカ６４に対して行い、指示に従った処理を行わせる。表示制御部８８は操作端末１６の表示を制御する。例えば表示制御部８８はキャッシュサーバ６２に保存されている解析の状態や結果に従い、後述するような解析した局面及び棋譜を表示する画面を表示する。
【００６５】
カメラ管理部９０は、将棋盤２０の盤上が含まれるように動画の撮影を行い、その動画のストリーミングが可能なカメラ１８を管理する。例えばカメラ管理部９０は、ユーザがカメラ１８を識別可能なカメラ識別情報（名前等）と、カメラ１８にアクセスするための宛先（アドレス）とを関連付けて管理する。
【００６６】
このように、図６の機能構成図に示したように、棋譜記録システム１０とカメラ１８とを分離し、通信ネットワーク２２、２４で接続したシステム構成とすることで、より柔軟なシステムを構築できると共に、拡張性やメンテナンス性を高めることができる。
【００６７】
図７は画像処理ワーカ６４の一例の機能構成図である。図７の画像処理ワーカ６４は、状態管理部１００、ドライバ部１０２、ストリームデータ受信部１０４、位置合わせ部１０６、画像認識要求部１０８、及び棋譜記録部１１０をモジュールとして有している。
【００６８】
ドライバ部１０２は画像処理ワーカ６４の処理全体を統括している。ドライバ部１０２は他のモジュールを呼び出して、自動棋譜記録を実現するメインのブロックである。ドライバ部１０２はキャッシュサーバ６２へのステータス更新と、キャッシュサーバ６２からのメッセージ受信も行う。ドライバ部１０２は画像をストリームデータ受信部１０４から取得する。
【００６９】
ストリームデータ受信部１０４は動画受信サーバ６８から動画フレームを読み込んで画像をデコードする。位置合わせ部１０６は画像から将棋盤２０の盤面部分とマス目の位置とを求める。位置合わせ部１０６はシステム動作中に定期的に位置合わせを行い、対局中に将棋盤２０の位置がずれたとしても補正する。
【００７０】
画像認識要求部１０８は、動画受信サーバ６８から取得した動画データから将棋盤２０の盤面部分のマスごとの画像を切り出し、マスごとの画像データの画像の認識処理を画像認識サーバ６６に要求する。また、画像認識要求部１０８は、マスごとの画像データの画像の認識処理の結果を画像認識サーバ６６から取得する。
【００７１】
棋譜記録部１１０は棋譜を記録するために必要なデータを保持している。棋譜記録部１１０はマスごとの画像データの画像の認識処理の結果を入力として受け取り、棋譜を記録するために必要なデータを更新する。なお、棋譜を記録するために必要なデータの詳細は後述する。
【００７２】
＜カメラ１８の設置例＞
図８はカメラ１８の一例の設置図である。図８は対局室の天井にカメラ１８を設置した例を示している。図８のカメラ１８には例えばネットワークカメラを利用できる。ネットワークカメラは例えばＷｉ−Ｆｉ等で通信ネットワーク２４に接続される。カメラ１８は対局室に置かれた将棋盤２０の盤上が含まれるように動画の撮影が行える位置の一例である天井に設置されている。ユーザにより操作される操作端末１６も通信ネットワーク２４に例えばＷｉ−Ｆｉ等で接続される。なお、操作端末１６を操作するユーザは、棋譜の記録開始、対局開始、対局休憩、対局再開、及び終局などの棋譜記録システム１０に対する指示を、操作端末１６から行うことができる。
【００７３】
＜処理の詳細＞
以下では第１の実施形態に係る情報処理システム１の処理の詳細について説明する。
【００７４】
＜＜カメラ１８の管理＞＞
図９は操作端末１６においてカメラ１８の管理を行うカメラ管理ページ画面１０００の一例のイメージ図である。カメラ管理ページ画面１０００は、登録済みのカメラ１８の一覧１００２が表示されている。図９は名前が「対局室１」及び「対局室２」のカメラ１８が登録済みの例を示している。
【００７５】
操作端末１６を操作するユーザはカメラ追加ボタン１００４を押下する操作を行うことにより、図１０のカメラ編集ページ画面１１００から新規にカメラ１８の情報を登録することができる。また、操作端末１６を操作するユーザは変更ボタン１００６を押下する操作を行うことにより、図１０のカメラ編集ページ画面１１００から登録済みのカメラ１８の情報を編集することができる。更に、操作端末１６を操作するユーザは削除ボタン１００８を押下する操作を行うことにより、登録済みのカメラ１８の情報を削除することができる。
【００７６】
図１０は操作端末１６においてカメラ１８の追加又は編集を行うカメラ編集ページ画面１１００の一例のイメージ図である。カメラ編集ページ画面１１００は、新規にカメラ１８の情報を登録する場合、又は、登録済みのカメラ１８の情報を編集する場合、に利用される。図１０のカメラ編集ページ画面１１００は、カメラ１８の情報として、カメラ識別情報の一例である名前と、カメラ１８にアクセスするための宛先（アドレス）の一例であるＩＰアドレスと、が設定された例を示している。なお、カメラ１８にアクセスするための宛先（アドレス）はＵＲＬ等であってもよい。
【００７７】
＜＜棋譜記録システム１０のＵＩ＞＞
図１１は棋譜記録システム１０のＵＩ画面１２００の一例のイメージ図である。ＵＩ画面１２００はユーザが操作する操作端末１６に表示される。図１１のＵＩ画面１２００は登録済みのカメラ１８の一覧１２０２と、それぞれのカメラ１８の状態１２０４と、各種指示を行うためのボタン１２０６と、が表示されている。また、図１１のカメラ１８の状態１２０４には「対局中」と「待機中」とが表示されている。カメラ１８の状態１２０４の詳細については後述する。
【００７８】
状態１２０４が「待機中」のカメラ１８のボタン１２０６には、棋譜の記録を開始する指示を行う「開始」ボタン及び棋譜の記録を終了する「終了」ボタンが表示される。状態１２０４が「対局中」のカメラ１８のボタン１２０６には、棋譜の記録を開始する指示を行う「開始」ボタン、棋譜の記録を終了する「終了」ボタン、及び「棋譜を見る」ボタンが表示される。
【００７９】
「棋譜を見る」ボタンを押下する操作により操作端末１６は、その「棋譜を見る」ボタンに対応するカメラ１８の画像データから解析した局面及び棋譜を表示する画面１３００を表示する。操作端末１６を操作するユーザは、解析した局面及び棋譜を表示する画面１３００から、将棋盤２０の現在の局面や、これまでの棋譜を参照できる。
【００８０】
図１２は解析した局面及び棋譜を表示する画面１３００の一例の説明図である。解析した局面及び棋譜を表示する画面１３００は、棋譜記録システム１０のタスクの状態１３０２と、これまでの棋譜１３０４と、最後に指された手（駒）の位置を視覚的に表すマス１３０６と、手番の対局者を視覚的に表すアイコン１３０８と、指示を行うボタン１３１０とが表示されている。
【００８１】
なお、解析した局面及び棋譜を表示する画面１３００は「先手」及び「後手」の表示の近辺などに対局者の名前や、それぞれの残り時間などを表示してもよい。タスクの状態１３０２は、画像処理ワーカ６４が行う後述のタスクの状態を表している。これまでの棋譜１３０４は対局者が指した手（指し手）と、その指し手に消費された時間とが合わせて表示されている。最後に指された手の位置を視覚的に表すマス１３０６は、他のマスとの色を変えることで、最後に指された手の位置を示している。手番の対局者を視覚的に表すアイコン１３０８は手番の場合と手番でない場合とで色を変えることで、手番の対局者を視覚的に示している。
【００８２】
図１２の指示を行うボタン１３１０には、対局開始ボタン、対局休憩ボタン、対局再開ボタン、終局ボタン及び戻るボタンが含まれている。操作端末１６を操作するユーザは図１２の対局開始ボタン、対局休憩ボタン、対局再開ボタン、終局ボタン又は戻るボタンを押下する操作を行い、対局開始、対局休憩、対局再開、終局、又はＵＩ画面１２００に戻る指示を行うことができる。
【００８３】
なお、図１１のＵＩ画面１２００の状態１２０４が「待機中」のカメラ１８のボタン１２０６の場合は「開始」ボタンを押下する操作により、その「開始」ボタンの右横に「棋譜を見る」ボタンが表示される。また、図１１のＵＩ画面１２００の状態１２０４が「対局中」のカメラ１８のボタン１２０６の場合は「終了」ボタンを押下する操作により、そのカメラ１８の「棋譜を見る」ボタンが消える。操作端末１６を操作するユーザは図１２の対局開始ボタンを押下する操作を行うことで、画像処理ワーカ６４に対局開始を指示できる。
【００８４】
＜＜キャッシュサーバ６２にキャッシュされるタスクのデータ＞＞
図１３はキャッシュサーバ６２にキャッシュされるタスクのデータの一例について説明する図である。文字列１４０２がタスクの状態を表す。なお、タスクの状態の詳細については状態遷移図を用いて後述する。文字列１４０４は先手の持ち駒を表す。図１３の例では先手の持ち駒がない例を示している。文字列１４０６が後手の持ち駒を表す。図１３の例では後手の持ち駒がない例を示している。文字列１４０８は将棋盤２０の現在の局面の情報を表している。初期状態の文字列１４０８は、駒の初期配置を表す。指し手が進むことにより、文字列１４０８は、その時の駒の配置に更新される。
【００８５】
図１４は将棋盤２０の現在の局面の情報を表した文字列１４０８の詳細を説明する一例の図である。先頭の数字１５０２は将棋盤２０のマスの位置を表している。本実施形態では将棋盤２０のマスの位置を、図１５（Ｂ）に示すように将棋盤２０のマス目の左上のマスから右方向に一意な番号を振り、その番号で表している。図１５は将棋盤のマスの位置を表す情報の一例の説明図である。
【００８６】
また、先頭の数字１５０２に続く文字列１５０４は、数字１５０２が表すマスに配置された駒の情報を「ｃｏｌｏｒ」と「ｔｙｐｅ」とで表している。文字列「ｃｏｌｏｒ」は数字１５０２が表すマスに配置された駒が、先手「０」又は後手「１」の何れの駒であるかを表している。文字列「ｔｙｐｅ」は数字１５０２が表すマスに配置された駒の種類を表している。例えば文字列「ｔｙｐｅ」は、駒の種類を表１のように表す。なお、駒が無いマスは、先頭の数字１５０２に続く文字列１５０４が空欄となる。
【００８７】
【表１】
2020151218.tif 000003
図１３に戻り、文字列１４１０及び文字列１４１２が指し手の履歴リストを表す。文字列１４１０は将棋盤２０のマスの位置を図１５（Ａ）に示すように表した場合に、駒の移動前のマスの位置と移動後のマスの位置とで指し手を表している。例えば「２ｇ２ｆ」は図１５（Ａ）の「２ｇ」のマスに配置されていた駒が「２ｆ」のマスに移動したことを表している。なお、持ち駒から駒を打つ場合は、例えば「１＊２ｆ」のように「＊」の前の数字「１」で駒の種類を表し、「＊」の後の「２ｆ」で駒を打つ位置を表すようにしてもよい。
【００８８】
文字列１４１２は、指し手の履歴リストを、将棋界などで棋譜用紙への記入に一般的に使用されている表現方法で表したものである。例えば「２６歩」は将棋界で「２六歩」と表される指し手を表しており、「２六」で表される将棋盤２０の右から２番目で上から６番目のマスの位置に「歩」が移動したことを表している。
【００８９】
文字列１４１４は、先頭の数字が指し手の順番を表し、指し手ごとに、手が指された時点での対局者の持ち時間の残り時間、及び指し手に消費された時間を表している。文字列１４１６は、最後の指し手の駒があるマスの位置を図１５（Ｂ）のように表す。図１３の例では「１７」が将棋盤２０のマス目の右から１番目で上から２番目のマスの位置を表している。文字列１４１８は、手番が先手「０」及び後手「１」の何れであるかを表した情報である。文字列１４２０は解析した直近の指し手が後述の合法手であるか否か示す情報である。
【００９０】
＜＜情報処理システム１の処理のシーケンス図＞＞
図１６は、第１の実施形態に係る情報処理システム１の処理の一例を示したシーケンス図である。ステップＳ１０において操作端末１６を操作するユーザは、例えば図１１のＵＩ画面１２００の「開始」ボタンを押下する操作を行う。ステップＳ１２に進み、操作端末１６はストリームＩＤの取得を棋譜記録システム１０のＡＰＩサーバ５８に要求する。
【００９１】
ステップＳ１４、Ｓ１６において、ＡＰＩサーバ５８は動画受信サーバ６８が発行したストリームＩＤを受信する。ステップＳ１８に進み、操作端末１６は動画受信サーバ６８が発行したストリームＩＤをＡＰＩサーバ５８から受信する。
【００９２】
ステップＳ２０に進み、操作端末１６はストリームＩＤと、ストリームを送信する棋譜記録システム１０側の宛先（ストリームの宛先）と、を指定してカメラ１８にストリーミングの開始を要求する。ストリーミングの開始を要求されたカメラ１８は、ステップＳ２２に進み、指定されたストリームＩＤとストリームの宛先とを利用して棋譜記録システム１０の動画受信サーバ６８への動画データ（ストリームデータ）の送信を開始する。したがって、ステップＳ２２以降、動画受信サーバ６８にはカメラ１８が撮影した動画データが記録される。
【００９３】
ステップＳ２４に進み、操作端末１６はストリームＩＤを指定して棋譜記録のためのタスクの開始をＡＰＩサーバ５８に要求する。ステップＳ２６において、ＡＰＩサーバ５８はストリームＩＤにより指定される動画受信サーバ６８に記録された動画データから棋譜を記録するための新しいタスクをキャッシュサーバ６２にキャッシュする。ステップＳ２６の処理により、棋譜記録システム１０のキャッシュサーバ６２には動画受信サーバ６８に記録された動画データから棋譜を記録するための新しいタスクがキャッシュされる。
【００９４】
ステップＳ２８に進み、操作端末１６はキャッシュサーバ６２に新しくキャッシュされたタスクのタスクＩＤをＡＰＩサーバ５８から受信する。ステップＳ３０において操作端末１６はストリーム開始完了のフィードバックを、ユーザに対して行う。
【００９５】
また、画像処理ワーカ６４はキャッシュサーバ６２にキャッシュされるタスクを監視しており、ステップＳ３２のタスク取得要求により、ステップＳ３４でキャッシュサーバ６２からストリームＩＤが指定されたタスクを取得する。画像処理ワーカ６４は取得したタスクに従い、ストリームＩＤを指定して動画受信サーバ６８から動画データの取得を開始できる。
【００９６】
画像処理ワーカ６４は、動画受信サーバ６８から取得した動画データに含まれる将棋盤２０の盤上の局面を、画像処理及び画像の認識処理により盤上の駒の種類及び配置を検知して解析する。動画受信サーバ６８から取得した動画データに含まれる将棋盤２０の盤上の局面を、画像処理及び画像の認識処理により盤上の駒の種類及び配置を検知して解析する処理の詳細はフローチャートを用いて後述する。
【００９７】
ステップＳ３８に進み、画像処理ワーカ６４は解析の状態や結果に従い、図１３に示したようなタスクのデータを更新する。このようにキャッシュサーバ６２に保存されているタスクのデータは将棋盤２０の局面に従った内容となる。
【００９８】
また、操作端末１６はステップＳ４０〜Ｓ４８に示すように、例えば所定時間ごとにタスクＩＤを指定してキャッシュサーバ６２に保存されているタスクのデータを取得することにより、例えば図１２のような解析した局面及び棋譜を表示する画面１３００を表示できる。なお、ステップＳ３２〜Ｓ３８の処理とステップＳ４０〜Ｓ４８の処理とは、それぞれ所定時間ごとに非同期で行われている。
【００９９】
ステップＳ５０において操作端末１６を操作するユーザは、例えば図１２の解析した局面及び棋譜を表示する画面１３００の対局開始ボタンを押下する操作を行う。ステップＳ５２に進み、操作端末１６はタスクＩＤを指定して、対局開始を棋譜記録システム１０のＡＰＩサーバ５８に要求する。
【０１００】
ステップＳ５４において、ＡＰＩサーバ５８は指定されたタスクＩＤに対応するタスクのデータの文字列１０４２を対局開始に基づき更新する。画像処理ワーカ６４はステップＳ５６でキャッシュサーバ６２からタスクＩＤに対応するタスクのデータを取得することにより、対局開始が通知される。ステップＳ５８に進み、画像処理ワーカ６４は対局開始に従い、対局開始からの経過時間の計測を開始する。
【０１０１】
ステップＳ６０において操作端末１６を操作するユーザは、例えば図１２の解析した局面及び棋譜を表示する画面１３００の対局休憩ボタンを押下する操作を行う。ステップＳ６２に進み、操作端末１６はタスクＩＤを指定して、対局休憩を棋譜記録システム１０のＡＰＩサーバ５８に要求する。
【０１０２】
ステップＳ６４において、ＡＰＩサーバ５８は指定されたタスクＩＤに対応するタスクのデータの文字列１０４２を対局休憩に基づき更新する。画像処理ワーカ６４はステップＳ６６でキャッシュサーバ６２からタスクＩＤに対応するタスクのデータを取得することにより、対局休憩が通知される。ステップＳ６８に進み、画像処理ワーカ６４は対局休憩に従い、対局開始からの経過時間の計測を中断する。
【０１０３】
ステップＳ７０において操作端末１６を操作するユーザは、例えば図１２の解析した局面及び棋譜を表示する画面１３００の対局再開ボタンを押下する操作を行う。ステップＳ７２に進み、操作端末１６はタスクＩＤを指定して、対局再開を棋譜記録システム１０のＡＰＩサーバ５８に要求する。
【０１０４】
ステップＳ７４において、ＡＰＩサーバ５８は指定されたタスクＩＤに対応するタスクのデータの文字列１０４２を対局再開に基づき更新する。画像処理ワーカ６４はステップＳ７６でキャッシュサーバ６２からタスクＩＤに対応するタスクのデータを取得することにより、対局再開が通知される。ステップＳ７８に進み、画像処理ワーカ６４は対局再開に従い、対局開始からの経過時間の計測を再開する。
【０１０５】
また、ステップＳ８０において操作端末１６を操作するユーザは、例えば図１２の解析した局面及び棋譜を表示する画面１３００の終局ボタンを押下する操作を行う。ステップＳ８２に進み、操作端末１６はタスクＩＤを指定して、終局を棋譜記録システム１０のＡＰＩサーバ５８に要求する。
【０１０６】
ステップＳ８４において、ＡＰＩサーバ５８は指定されたタスクＩＤに対応するタスクのデータの文字列１０４２を終局に基づき更新する。画像処理ワーカ６４はステップＳ８６でキャッシュサーバ６２からタスクＩＤに対応するタスクのデータを取得することにより、終局が通知される。ステップＳ８８に進み、画像処理ワーカ６４は終局に従い、対局開始からの経過時間の計測を停止する。
【０１０７】
ステップＳ９０に進み、操作端末１６はストリームＩＤと、ストリームを送信する棋譜記録システム１０側の宛先（ストリームの宛先）と、を指定してカメラ１８にストリーミングの停止を要求する。ストリーミングの停止を要求されたカメラ１８は、指定されたストリームＩＤとストリームの宛先とを利用した棋譜記録システム１０の動画受信サーバ６８への動画データ（ストリームデータ）の送信を停止する。
【０１０８】
なお、図１６のシーケンス図はカメラ１８が１台の例を示したが、カメラ１８が複数台の場合も、同様である。したがって、カメラ１８が複数台の場合のシーケンス図についての説明は省略する。また、図１６のシーケンス図は操作端末１６がストリームＩＤと、ストリームを送信する棋譜記録システム１０側の宛先（ストリームの宛先）と、を指定してカメラ１８にストリーミングの開始を要求するため、ファイヤーウォール等への対応も可能である。
【０１０９】
図１７は、キャッシュサーバ６２への新しいタスクの追加について説明する一例の図である。キャッシュサーバ６２に新しくキャッシュされるタスクの定義には、ストリームＩＤと、対局者に関する情報と、時間に関する情報と、が含まれる。対局者に関する情報は例えば対局者の名前である。時間に関する情報は、例えば持ち時間、秒読み、ディレイなどである。「秒読み」とは、持ち時間を使い果たした後、又は秒読み将棋において、一手を指すために消費できる時間である。「ディレイ」とは、持ち時間の減算が開始されるまでの猶予時間である。例えば猶予時間が過ぎる前に手を指した場合、猶予時間の残りを持ち時間に加算することで、いわゆるフィッシャールールにも対応できる。
【０１１０】
図１８は、実行中のタスクについて説明する一例の図である。例えば図１８に示した例では画像処理ワーカ６４が１つ以上のタスクを実行する例を示している。例えば「Ｗｏｒｋｅｒ１」で示される画像処理ワーカ６４は「タスク１」及び「タスク４」を実行することでキャッシュサーバ６２にキャッシュされている「タスク１」及び「タスク４」のタスクのデータを更新する。また、ＡＰＩサーバ５８はタスクＩＤを指定して、そのタスクＩＤに対応するタスクのデータをキャッシュサーバ６２から取得できる。
【０１１１】
なお、タスクを実行中の画像処理ワーカ６４は、前局面データ、盤上の駒データ、対局の時間に関するデータ、指し手の時間に関するデータ、最後に駒を動かした場所、反則フラグ、持ち駒、手数、終局の種別などの情報を記憶している。
【０１１２】
前局面データは、初期状態で、駒の初期配置を表し、指し手が進むことにより、その時の駒の配置に更新される。盤上の駒データは、画像認識サーバ６６からの応答を記録した内容である。対局の時間に関するデータは、対局の持ち時間、ディレイ、秒読みなどの内容である。指し手の時間に関するデータは、指し手に要した時間である。最後に駒を動かした場所は、直前の指し手により駒が指された又は打たれたマスを表す。
【０１１３】
反則フラグは解析した直近の指し手が後述の合法手であるか否か示す情報である。持ち駒は、先手及び後手の持ち駒をリストで表す。手数は、何手指されたかを表す。終局の種別は対局中、詰み、千日手、投了の何れかを表している。
【０１１４】
図１９はタスクの状態の詳細について説明する一例の状態遷移図である。図１９に示すタスクの状態は、ボード検出、ボード位置合わせ、準備中、対局開始待ち、対局中、休憩中、及び終局が含まれる。
【０１１５】
タスクの状態「ボード検出」は動画受信サーバ６８から取得している画像データから将棋盤２０を検出中の状態である。ボードが見つかる（将棋盤２０を検出する）と、タスクは状態「ボードの位置合わせ」に遷移する。ボード位置計算終了（将棋盤２０のマス目の位置計算が終了）すると、タスクは状態「準備中」に遷移する。
【０１１６】
将棋盤２０で駒が初期配置になると、タスクは状態「対局開始待ち」となる。ユーザによる対局開始の指示があると、タスクは状態「対局中」に遷移する。状態「対局中」のタスクは中断により状態「休憩中」に遷移する。また、状態「休憩中」のタスクは再開により状態「対局中」に遷移する。さらに、状態「対局中」のタスクは投了などの終局条件を満たした場合に状態「終局」に遷移する。
【０１１７】
＜＜状態が「対局中」の画像処理ワーカ６４の処理＞＞
図２０は状態が「対局中」の画像処理ワーカ６４の処理の一例を示すフローチャートである。ステップＳ１００に進み、画像処理ワーカ６４は動画受信サーバ６８から取得した動画データ（動画ソース）からフレームを読み込む。ステップＳ１０２に進み、画像処理ワーカ６４はフレームから盤面部分の画像を切り出す。
【０１１８】
ステップＳ１０４に進み、画像処理ワーカ６４は盤面部分の画像から更に、盤面部分のマスごとの画像を切り出す。そして、画像処理ワーカ６４は切り出したマスごとの画像の認識処理を画像認識サーバ６６に要求し、マスごとの画像からマスへの駒の配置と、配置されている駒の種類とを認識する。ステップＳ１０６に進み、画像処理ワーカ６４は画像認識サーバ６６から返された認識の結果から盤上の駒の種類及び配置を検知して、盤上の現局面を求める。
【０１１９】
ステップＳ１０８において、画像処理ワーカ６４はステップＳ１０６で求めた盤上の現局面と、記憶している前局面とに差分があるか否かを判定する。差分がなければ、画像処理ワーカ６４はステップＳ１１４でタスクのデータの更新を行ったあと、ステップＳ１００に戻り、処理を続ける。
【０１２０】
また、差分があれば、画像処理ワーカ６４はステップＳ１１０に進み、盤上の現局面と前局面との差分から求めた直近の指し手が合法手であるか否かを判定する。ここで、合法手とは、将棋のルールを考慮したときに、前局面から現局面への変化に正当性がある指し手のことを言う。本実施形態では、将棋のルールにおける反則手が指された状態、画像認識サーバ６６による駒の種類の認識間違いが生じている状態、対局者の手などが重なって映ることにより駒が認識できていない状態、なども合法手でないと判定する。
【０１２１】
合法手であれば、画像処理ワーカ６４はステップＳ１１２に進み、記憶している前局面をステップＳ１０６で求めた盤上の現局面に更新する。このように、画像処理ワーカ６４は盤上の現局面と前局面との差分から求めた直近の指し手が合法手であれば、記録が必要な指し手であると判断し、記憶している前局面をステップＳ１０６で求めた盤上の現局面に更新することで、直近の指し手が棋譜に追加される。その後、画像処理ワーカ６４はステップＳ１１４でタスクのデータの更新を行ったあと、ステップＳ１００に戻り、処理を続ける。
【０１２２】
なお、ステップＳ１１０で合法手でないと判定すると、画像処理ワーカ６４はステップＳ１１２の処理をスキップしてステップＳ１１４に進み、タスクのデータの更新を行ったあと、ステップＳ１００に戻り、処理を続ける。このように、合法手でなければ、画像処理ワーカ６４は記録が必要な指し手でないと判断し、記憶している前局面をステップＳ１０６で求めた盤上の現局面に更新しない。
【０１２３】
図２０のフローチャートの処理について、図２１の局面を例に説明する。図２１は将棋の局面の一例を示す図である。ここでは、対局者の「２九飛」の指し手により前局面である図２１（Ａ）から図２１（Ｂ）の局面に進んだ例を説明する。例えば画像認識サーバ６６による駒の種類の認識間違い（例えば「飛」を「金」と認識している場合など）が暫く生じた後で、認識間違いが解消した場合を考える。
【０１２４】
画像認識サーバ６６による駒の種類の認識間違いが生じている間は、盤上の現局面と前局面との差分から求めた直近の指し手「２九金」は、図２１（Ａ）の局面から進むことのない正当性の無い指し手であるため、記録が必要な指し手でないと判断できる。画像認識サーバ６６による駒の種類の認識間違いが解消されると、盤上の現局面と前局面との差分から求めた直近の指し手「２九飛」は、図２１（Ａ）の局面から進むことのある正当性のある指し手であるため、記録が必要な指し手であると判断される。
【０１２５】
このように、図２０のフローチャートの処理によれば、ユーザや対局時計などが棋譜を記録するタイミングを示さなくても、画像認識サーバ６６による駒の種類の認識間違いが解消された後の正しい指し手を棋譜として記録できる。
【０１２６】
また、状態が「対局中」の画像処理ワーカ６４の処理は、例えば図２２に示すような手順で行ってもよい。図２２は状態が「対局中」の画像処理ワーカ６４の処理の一例を示すフローチャートである。ステップＳ２００〜Ｓ２０８の処理は図２０のフローチャートのステップＳ１００〜Ｓ１０８の処理と同様である。
【０１２７】
ステップＳ２０８において、画像処理ワーカ６４はステップＳ２０６で求めた盤上の現局面と、記憶している前局面とに差分があるか否かを判定する。差分がなければ、画像処理ワーカ６４はステップＳ２２０でタスクのデータの更新を行ったあと、ステップＳ２００に戻り、処理を続ける。
【０１２８】
また、差分があれば、画像処理ワーカ６４はステップＳ２１０に進み、記憶している前局面のデータを退避させた後、記憶している前局面（前回の局面）を一手前（前々回の局面）に戻す。画像処理ワーカ６４はステップＳ２１２に進み、盤上の現局面と前々回の局面との差分から求めた直近の指し手が合法手であるか否かを判定する。
【０１２９】
合法手であれば画像処理ワーカ６４はステップＳ２１８に進み、記憶している前々回の局面をステップＳ２０６で求めた盤上の現局面に更新する。画像処理ワーカ６４は盤上の現局面と前々回の局面との差分から求めた直近の指し手が合法手であれば、前回の局面が記録の必要の無い指し手であると判断し、退避させた前回の局面のデータを破棄する。画像処理ワーカ６４はステップＳ２２０でタスクのデータの更新を行ったあと、ステップＳ２００に戻り、処理を続ける。
【０１３０】
ステップＳ２１２で合法手でないと判定すると、画像処理ワーカ６４はステップＳ２１４に進み、退避させた前回の局面のデータを復元する。画像処理ワーカ６４はステップＳ２１４に続いてステップＳ２１６に進み、盤上の現局面と前局面との差分から求めた直近の指し手が合法手であるか否かを判定する。
【０１３１】
合法手であれば、画像処理ワーカ６４はステップＳ２１８に進み、記憶している前局面をステップＳ２０６で求めた盤上の現局面に更新する。このように、画像処理ワーカ６４は盤上の現局面と前局面との差分から求めた直近の指し手が合法手であれば、記録が必要な指し手であると判断し、記憶している前局面をステップＳ２０６で求めた盤上の現局面に更新することで、直近の指し手が棋譜に追加される。その後、画像処理ワーカ６４はステップＳ２２０でタスクのデータの更新を行ったあと、ステップＳ２００に戻り、処理を続ける。
【０１３２】
なお、ステップＳ２１６で合法手でないと判定すると、画像処理ワーカ６４はステップＳ２１８の処理をスキップしてステップＳ２２０に進み、タスクのデータの更新を行ったあと、ステップＳ２００に戻り、処理を続ける。このように、合法手でなければ、画像処理ワーカ６４は記録が必要な指し手でないと判断し、記憶している前局面をステップＳ２１０で求めた盤上の現局面に更新しない。
【０１３３】
図２２のフローチャートの処理について図２３の局面を例に説明する。図２３は将棋の局面の一例を示す図である。例えば将棋では、図２１（Ａ）の局面から図２３（Ａ）に示すように「２六」のマスに「飛」を指を離さないように置いて、その後、図２３（Ｂ）に示すように「２七」のマスにずらす指し方がある。このような指し方は「２六飛」「２七飛」の２手に見えるが、図２２のフローチャートの処理によれば「２六飛」の認識を破棄して「２七飛」の認識を採用できる。
【０１３４】
具体的に、図２３（Ｂ）の局面では、盤上の現局面と前局面との差分から求めた直近の指し手「２七飛」は、図２１（Ａ）の局面から進むことのできる正当性のある指し手であるため、記録が必要な指し手であると判断できる。したがって、画像処理ワーカ６４は図２３（Ａ）の前回の局面のデータを、破棄できる。
【０１３５】
このように、図２２のフローチャートの処理によれば、ユーザや対局時計などが棋譜を記録するタイミングを示さなくても、図２３を用いて説明したような、マスを跨ぐように駒をずらして配置するような指し方にも対応できる。
【０１３６】
第１の実施形態によれば、ライブでストリーミングされている将棋盤２０の盤上を映した動画データを連続的に解析し、記録が必要な駒の配置の変化を検知して、自動的に棋譜を記録することができる。
【０１３７】
［他の実施形態］
図８に示したカメラ１８の配置は一例であって、図２４又は図２５のようにカメラ１８を配置してもよい。図２４及び図２５はカメラ１８の一例の配置図である。
【０１３８】
図２４は三脚やフリップアームで支持してカメラ１８を設置した例を示している。図２４のカメラ１８には例えばウェブカメラを利用できる。ウェブカメラは例えば操作端末１６に接続される。カメラ１８は対局室に置かれた将棋盤２０の盤上が含まれるように動画の撮影が行える位置に設置される。カメラ１８は操作端末１６を介して通信ネットワーク２４に接続される。
【０１３９】
図２５はスマートフォンなどのカメラ付きの操作端末１６をセルカ棒やフリップアームで支持し、カメラ１８としても利用する例である。カメラ付きの操作端末１６は対局室に置かれた将棋盤２０の盤上が含まれるように動画の撮影が行える位置に設置される。図２５の例ではカメラ付きの操作端末１６が撮影した動画データが、棋譜記録システム１０に送信される。
【０１４０】
なお、第１の実施形態では、カメラ１８から受信した動画データを利用する例を説明したが、過去の対局を撮影した動画データから、棋譜を記録する構成も可能である。カメラ１８は複数の将棋盤２０が含まれるように撮影してもよく、１つの動画データから複数の対局の棋譜を記録することも可能である。また、第１の実施形態では将棋を一例として説明したが、画像処理ワーカ６４と画像認識サーバ６６とを変更すれば様々なボードゲームへの対応も可能である。
【０１４１】
＜まとめ＞
本実施形態によれば、盤上が含まれるように撮影された画像から、記録が必要な対局者の指し手を検知して記録できる。
【０１４２】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【０１４３】
なお、１台のコンピュータを含むように構築される棋譜記録システム１０は特許請求の範囲に記載した情報処理装置の一例である。画像認識サーバ６６は画像認識手段の一例である。画像処理ワーカ６４は処理手段の一例である。Ｗｅｂサーバ５６はデータ提供手段の一例である。
【０１４４】
１台のコンピュータを含むように構築される棋譜記録システム１０が実行する棋譜の記録方法は、特許請求の範囲に記載した情報処理装置が実行する記録方法の一例である。画像認識サーバ６６の処理は認識ステップの一例である。画像処理ワーカ６４の処理は記録ステップの一例である。
【０１４５】
また、ストリーム開始要求部８２は送信開始指示手段の一例である。タスク開始要求部８４は処理開始指示手段の一例である。ストリーム開始要求部８２の処理は、送信開始指示ステップの一例である。タスク開始要求部８４の処理は、処理開始指示ステップの一例である。表示制御部８８の処理は、表示ステップの一例である。
【符号の説明】
【０１４６】
１    情報処理システム
１０    棋譜記録システム
１２    対局配信システム
１４    棋譜ＤＢ
１６    操作端末
１８    カメラ
２０    将棋盤
２２、２４    通信ネットワーク
５０    ＯＳ
５２    ミドルウェア／プログラム言語ランタイム５２
５４    ストレージ
５６    Ｗｅｂサーバ
５８    ＡＰＩサーバ
６０    ＡＰＩプログラム
６２    キャッシュサーバ
６４    画像処理ワーカ
６６    画像認識サーバ
６８    動画受信サーバ
７０    ワーカ管理
８０    ストリームＩＤ受信部
８２    ストリーム開始要求部
８４    タスク開始要求部
８６    指示部
８８    表示制御部
９０    カメラ管理部
【先行技術文献】
【特許文献】
【０１４７】
【特許文献１】特開２０１０−１０４５１０号公報
【図１】
2020151218.tif 000004
【図２】
2020151218.tif 000005
【図３】
2020151218.tif 000006
【図４】
2020151218.tif 000007
【図５】
2020151218.tif 000008
【図６】
2020151218.tif 000009
【図７】
2020151218.tif 000010
【図８】
2020151218.tif 000011
【図９】
2020151218.tif 000012
【図１０】
2020151218.tif 000013
【図１１】
2020151218.tif 000014
【図１２】
2020151218.tif 000015
【図１３】
2020151218.tif 000016
【図１４】
2020151218.tif 000017
【図１５】
2020151218.tif 000018
【図１６】
2020151218.tif 000019
【図１７】
2020151218.tif 000020
【図１８】
2020151218.tif 000021
【図１９】
2020151218.tif 000022
【図２０】
2020151218.tif 000023
【図２１】
2020151218.tif 000024
【図２２】
2020151218.tif 000025
【図２３】
2020151218.tif 000026
【図２４】
2020151218.tif 000027
【図２５】
2020151218.tif 000028