以下、本発明の実施形態を、添付図面に基づいて詳細に説明する。まず、本発明に係る遊技台の具体的構造について説明しておく。
〈全体の構成〉
図1は、本発明の一実施形態に係るスロットマシン100の外観を示す斜視図である。図1に示すように、スロットマシン100の中央内部には、外周面に複数種類の絵柄(「7」、「Bar」、「ベル」、「リプレイ」等の文字や記号:図示省略)を配列した円筒状のリールが3個(左リール110、中リール111、右リール112)収納され、本体201の内部で回転できるように構成されている。本体201の両サイドには、取手部201cが設けられ、スロットマシン100の運搬の際に利用される。
前面扉101には、リール表示窓113が設けられており、リール110〜112を正面から眺めると、これに施された絵柄がリール表示窓113から縦方向に3つ見えるようになっている。つまり、全リール110〜112が停止した場合、遊技者は、3×3の合計9個の絵柄を見ることができる。これらのリール110〜112が回転し、停止することにより、様々な絵柄の組み合せがリール表示窓113に表示されることになる。なお、本実施形態では、3個のリールを備えるものとしたが、リールの数やリールの設置位置はこれに限定されるものではない。
各リール110〜112の裏側には、リール表示窓113上に表示される個々の絵柄を照らすためのバックライト(図示せず)が配置されている。バックライトは、例えば、7色(赤、緑、青紫の三原色と、白色等をはじめとするこれらの混合色)の光を発することが可能であり、各原色に対応したLED等を含んで構成される。
入賞ライン表示ランプ120は、遊技毎に有効となる入賞ライン114を示すランプである。有効となる入賞ライン114は、スロットマシン100に投入された遊技媒体(本実施形態ではメダルを想定する。)の枚数によって変化する。例えば、図1に示すように5本の入賞ライン114を有する場合、メダルを1枚投入したときは中段の水平入賞ライン、2枚投入したときは、上段の水平入賞ラインおよび下段の水平入賞ラインを加えた3つの入賞ライン、3枚投入したときは更に2本の斜めの入賞ラインを加えた5ラインが有効となり、有効な入賞ライン114上に揃った絵柄の組み合せにより入賞が判断されることとなる。勿論、入賞ラインの数は5本に限定されるものではない。
スタートランプ121は、リール110〜112が回転することができる状態にあることを遊技者に知らせるランプである。再遊技ランプ122は、入賞役である再遊技に入賞したとき(例えば、リプレイ−リプレイ−リプレイの再遊技絵柄の組み合せが入賞ライン114上に揃ったとき)、遊技者へ次の遊技が再遊技であることを知らせるランプである。再遊技の場合、次遊技において遊技媒体であるメダルの投入が免除される。
告知ランプ123は、特別な入賞役(例えば、ビッグボーナス(BB)やレギュラーボーナス(RB))に内部当選した状態にあることを遊技者に報知するランプである。メダル投入ランプ124は、遊技開始にあたって遊技者にメダルの投入が必要であることを報知するランプである。
メダル投入枚数表示ランプ125は、遊技者が投入したメダル枚数を表示するランプである。本実施形態では、1回の遊技に最大3枚までメダル投入できるので、縦に配置した3つのランプを用いてメダル投入枚数を表示している。無論、ランプで表示する他に7セグメント表示器等で直接メダル投入枚数を表示しても良い。
払出枚数表示器126は、メダルの払い出しのある何らかの入賞役に入賞したとき、遊技者へ払い出されるメダルの枚数を表示する表示器である。遊技回数表示器127は、ビッグボーナスゲーム中の一般ゲームの回数等を表示する表示器である。貯留枚数表示器128は、電子的に貯留(クレジット)しているメダルの枚数を表示する表示器である。演出用ランプ129は、遊技の興趣を高めるための演出に使用されるランプである。
メダル投入ボタン131,132は、貯留されたメダルをスロットマシン100へ電子的に投入するための投入ボタンであり、いわゆるベットボタンと呼ばれているものである。本実施形態では、3枚メダル投入ボタン131(最大枚数のメダルを投入できる、いわゆるマックスベットボタン)と、1回押下するごとに1枚のメダルを投入する1枚メダル投入ボタン132とを有し、これらのボタンのいずれかを押下することにより遊技に必要な1〜3枚のメダルがスロットマシン100へ電子的に投入される。2枚のメダルを投入する場合は、1枚メダル投入ボタン131を2回押下することとなる。投入されたメダル枚数分は、現在の貯留枚数から減算されて残枚数が貯留枚数表示器128に表示される。
メダル投入口ブロック133は、遊技を開始するに当たって遊技者が直接メダルを投入するための開口を有する。メダルを直接投入した際に、メダル投入口直下にあるメダルセレクターユニット(図示せず)内にメダルが詰まってしまった場合は、メダルキャンセルスイッチ133aを操作することによってメダルの詰まりを解消させる。スタートレバー135は、遊技の開始操作として、リール110〜112の回転を開始させるレバー型のスイッチである。
停止ボタンユニット136には、3つの停止ボタン(左停止ボタン136a,中停止ボタン136b,右停止ボタン136c)が設けられている。各停止ボタンは、押下することによって対応するリール110〜112を停止させるボタン型のスイッチである。具体的には、左停止ボタン136aを操作することによって左リール110が、中停止ボタン136bを操作することによって中リール111が、右停止ボタン136cを操作することによって右リール112がそれぞれ停止する。
各停止ボタンの内部にはランプ(図示せず)が設けられており、スタートレバー135が操作された後、リール110〜112の停止操作が可能な状態になると全ランプが点灯し、遊技者に停止操作が可能になったことを報知する。各停止ボタンのランプは各停止ボタンが押下される毎に消灯する。無論、停止操作可能な状態とその他の状態とでランプの発光色を変化させるように構成することもできる。
精算ボタン138は、遊技者が獲得したメダルを精算して排出する精算処理を行う場合に押下されるボタンである。なお、精算ボタン138は、遊技者がメダル投入口ブロック133から投入したメダルのうち所定枚数(例えば3枚)以上のメダルまたは入賞により獲得したメダルを最大50枚まで貯留するか否かを切換える場合にも使用され、例えば、一回精算ボタン押下されて精算処理が行われると、非貯留モードが設定され、もう一度精算ボタン押下されると、貯留モードが設定される。ここに、メダルの貯留とは、メダルを直接払い出さずに、電子的にその枚数を後述する制御部に一時記憶しておくことを意味する。
キー孔139は、扉開閉用のキーを差し込む孔で、キーを差し込んで時計方向に回すとロックが解除され、スロットマシン100の前面扉101を開けることができる。メダル排出口165は、メダルを排出するための開口であり、入賞時に払い出されるメダルはここから排出される。排出されたメダルは、受け皿160に溜まるようになっている。
上部ランプ190、サイドランプ151,152、中央ランプ153,154、腰部ランプ155,156、下部ランプ157,158は、遊技を盛り上げるための演出用のランプであり、遊技状態に応じて点灯/消灯/点滅する。また、図示を省略したタイトルパネルランプによりタイトルパネル140を照明する。本実施形態では、受皿160を透光性材料で構成し、受皿取り付け面からランプ光を入射させることで上記演出用のランプと同様の効果を発揮させるように構成している。また、受皿160には、着脱可能に構成した灰皿ユニット170が設けられている。
また、スロットマシンの上部(リール表示窓113の上方)中央部には、遊技に関する各種の情報(ゲームを盛り上げるためキャラクタ等を登場させるゲーム画面、スロットマシンの内部で異常が発生した場合にエラーの内容を表示するエラー画面など)を表示することができるLCD180が設けられており、このLCD180を用いて、各種スイッチ類(例えば、3枚メダル投入ボタン131や1枚メダル投入ボタン132,スタートレバー135,停止ボタン136a〜136c,精算ボタン138等)に生じた動作不良に関する情報も報知する。
〈内部の構成〉
次に、本実施形態に係るスロットマシン100の内部構成について説明する。図2は、遊技者が遊技を行う遊技領域を構成する前面扉101を本体201から開いた状態の斜視図であり、図3は、本体201の正面図(図中、前面扉101は省略)である。
本体201の内部には、ほぼ水平方向のリール固定台210を配設し、リール110〜112がリール表示窓113の裏面に臨む位置でリールユニット220が固定されるようになっている。このリール固定台210の下部空間には、各部への駆動電力を供給する電源装置230、メダル投入口ブロック133より投入されたメダルを貯留すると共に受皿160へメダルを払い出すメダルホッパー240、メダルホッパー240から溢れたメダルを受け入れて貯留する補助タンク250等が収容されている。
上記遊技領域たる前面扉101の背後となる本体201の内部の適所(例えば、上記リールユニット220の上方となる背面部位)には、主として遊技制御機能を実現する主制御部300を固定する。本体201の内部における側壁中央部(例えば、前面扉101の蝶番機構の設けられた側の側壁)には、主として演出機能を実現する副制御部400を固定し、この副制御部400が作動させる各種の演出用デバイス(後に詳述)と、前面扉101の裏面上部に設けられた中継基板191を介して接続される。
さらに、本体201内の適所(例えば、副制御部400の上方部位)には、上記副制御部400と接続されるカメラ制御部500を設け、主制御部300とリールユニット200とを接続するハーネス(図2および図3においては図示を省略)を側方から撮影可能な位置に設けた第1カメラユニット601、メダル投入口ブロック133から投入されたメダルを選別するメダルセレクターユニット192を背面から撮影可能な位置に設けた第2カメラユニット602、入賞確率の設定値を変更する設定操作部である設定値変更スイッチ261と電源スイッチ262を上方から撮影可能な位置に設けた第3カメラユニット603を動作制御すると共に、第1〜第3カメラユニット601〜603から撮影データを取得する。
このように、不正対象となる制御部(例えば、主制御部300、メダルセレクタユニット192、設定値変更スイッチ261等)を撮影可能な撮影手段として第1〜第3カメラユニット601〜603を設けることで、遊技台内部の制御部に対して行われる不正行為もしくはその痕跡を撮影することが可能となる。
なお、第1〜第3カメラユニット601〜603より取得した画像データは、旧来より遊技店内で使用されていた監視カメラと同様に、遊技店内のホールコンピュータ等へ送信して、管理者等が目視で不正の有無を監視するようにしても良いが、本実施形態に係るスロットマシン100においては、カメラ制御部500が第1〜第3カメラユニット601〜603により撮影された画像データを適宜処理することで、不正が行われた蓋然性が高いか否か(不正の有無)を判定する構成とした。不正判定の具体的手法は後述する。
また、前面扉101が閉められた状態の本体201内部を撮影できるように、第1〜第3カメラユニット601〜603は、照明手段(可視光や赤外光などの光源を照射できる発光源)とカメラ部(撮像素子により電子的に映像データを取得できるディジタルカメラ)とをユニット化して構成し、撮影時に撮影範囲を照明して撮影データを取得するものとしたが、これに限らず、カメラ部と照明手段を別体に設けて、カメラ制御部500が個別に制御する構成としても良い。
〈制御ブロック〉
次に、図4を参照して、スロットマシン100の各制御部の構成について詳述する。本実施形態における制御部は、全体を制御する主制御部300と、遊技を盛り上げるための演出に関する制御等を遂行する副制御部400と、第1〜第3カメラユニット601〜603の制御を行うカメラ制御部500とで構成されている。また、各制御部には電源装置230より動作用の電源が供給される。
〈主制御部300〉
マイクロプロセッサ(以下、MainCPUと称す)310は、スロットマシン100における制御の中枢となるものであり、バス370を介して、周辺部との間で制御信号やデータの受渡しが行われる。
乱数発生器311は、乱数を発生するもので、複数のカウンタ、クロック発振器、分周器及びラッチ回路等で構成される。乱数発生器311が発生した乱数値は、バス370を介して、RAM313の乱数記憶領域に記憶され、必要に応じてMainCPU310へ送られる。乱数値は、複数種類存在し、それぞれ処理内容に応じて使用される。
MainCPU310には、入力インターフェース360およびバス370を介して、メダル投入ブロック134の投入口より投入されたメダルを検知するメダルセンサ320、スタートレバー135の操作を検知するスタートレバーセンサ321、停止ボタン136a〜136cのいずれかが押された場合、どのストップボタンが押されたかを検知するストップボタンセンサ322、メダル投入ボタン131,132のいずれかが押下された場合、どのメダル投入ボタンが押されたかを検知するメダル投入ボタンセンサ323等が接続されている。
ROM(リード・オンリー・メモリ)312は、各種制御を行うためのプログラムや、後述する各種テーブルデータ等を記憶する記憶手段の一つである。RAM(ランダム・アクセス・メモリ)313は、MainCPU310によって処理されるプログラムのワークエリアを有し、可変データ等を記憶する記憶手段の一つである。
また、リール110乃至112の回転と停止を行うモーター(リールユニット220に内蔵)を制御するモーター制御部331、及び、メダルホッパー240を制御するホッパー制御部332が、入出力インターフェース330及びバス370を介してMainCPU310に接続されている。
演出用ランプ・表示器類333とは、図1で示した入賞ライン表示ランプ120、スタートランプ121、再遊技ランプ122等のランプ類や、払出枚数表示器126、遊技回数表示器127等の各種表示器をまとめて表したもので、出力インターフェース340およびバス370を介してMainCPU310に接続されている。
出力インターフェース350は、MainCPU310の指示に基づき、各種のコマンド(第1〜第3カメラユニット601〜603による撮影の契機となるコマンドを含む)を副制御部400の入力インターフェース430へ送信する。
〈副制御部400〉
マイクロプロセッサ(以下、SubCPUと称す)410は、主制御部300から送信された各種コマンドを入力インターフェース430およびバス470を介して受信し、受信したコマンドの内容に応じて副制御部400全体を制御する。
ROM411は、副制御部400全体を制御するためのプログラムやデータ等を記憶する記憶手段の一つである。RAM412は、SubCPU410で処理されるプログラムのワークエリアを有し、可変データ等を記憶する記憶手段の一つである。
バックライト421は、リールの絵柄を照らすライトで、SubCPU410の指示に従って点灯/点滅/消灯する。演出用発光表示部422は、上部ランプ190、サイドランプ151,152、中央ランプ153,154、腰部ランプ155,156、下部ランプ157,158等をまとめて表したもので、SubCPU410の指示に従って点灯/点滅/消灯する。演出用LCD表示制御部423は、LCD180に各種情報表示やゲーム中の演出表示を行わせる制御を行うものである。バックライト421,演出用発光表示部422,演出用LCD表示制御部423は、出力インターフェース420を介してバス430を経てSubCPU410と接続されている。
音源信号形成部460は、SubCPU410から受け渡された制御信号やデータに基づいて、音源信号を形成して出力する。この音源信号は、アンプ461で増幅された後、スピーカ462から音として出力される。
入出力インターフェース450は、カメラ制御部500と接続され、SubCPU410からのコマンドをカメラ制御部500へ出力すると共に、カメラ制御部500から入力される不正有無の判定結果を受信する。なお、SubCPU410は、カメラ制御部500からの判定結果と、上記主制御部300から受けたコマンドに基づいて判別できる当該スロットマシン100の遊技進行状況とから、不正の報知を行うか否かを決定し、不正報知を行うと決定した場合には、上記演出用発光表示器422の点灯制御を行ったり、演出用LCD表示制御部423へ不正報知用のコマンドを送信してLCD180に不正発生の警告を表示させたり、スピーカ462から不正警告音を出力させたりして、報知動作を実行する。
〈カメラ制御部500〉
SubCPU510は、副制御部400から送信された撮影開始の各種コマンドを入出力インターフェース520およびバス530を介して受信し、コマンドに応じて第1〜第3カメラユニット601〜603による撮影動作を実行させると共に、第1〜第3カメラユニット601〜603から送信される画像データを受信し、RAM511に記憶する。ROM511は、SubCPU510の制御プログラムやデータ等を記憶する記憶手段である。
ここで、図5および図6に基づき、第1〜第3カメラユニット601〜603を制御する撮影制御手段として機能するカメラ制御部500が行う画像判定手法を具体的に説明する。
例えば、図5(a)は、RAM511に記憶された基準画像データ(第1カメラユニット601が前回撮影した画像データ)のイメージを示すもので、変化状態を検出するために着目する対象として、リールユニット220と主制御部300とを接続する第1ハーネス801、第2ハーネス802,第3ハーネス803,第4ハーネス804を選定した。撮影された画像データ中における第1〜第4ハーネス801〜804の領域を背景から容易に分離抽出できるように、第1〜第4ハーネス801〜804を背景色と顕著に異なる色調で構成しておくことが望ましい。
なお、撮影手段としてモノクロカメラを用いる場合は、背景明度と著しく異なる明度となるように(背景が低明度の場合はハーネスを白に、背景が高明度の場合はハーネスを黒に)設定しておけば、第1〜第4ハーネス801〜804の領域を背景から分離抽出することが容易となる。また、撮影手段として赤外線カメラを用いる場合は、背景となる素材の赤外線吸収率もしくは反射率と逆になるように設定する事で、第1〜第4ハーネス801〜804の領域を背景から容易に分離抽出できる。
そして、図5(b)は、第1カメラユニット601で新たに撮影した新規撮影画像データのイメージを示し、図5(a)の基準画像データと比較して、第2ハーネス802が著しく変化している事が分かる。このような変化は、例えば、主制御部300に対する不正目的で不正遊技者等が第2ハーネス802を一旦外して繋ぎ直した場合や、不正用工具を主制御部300に向けて差し入れたときに第2ハーネス802に当たって位置がずれたような場合に生じた可能性がある。この第2ハーネス802の存在領域の変化をカメラ制御部500が比較判定できる原理を示すのが図6である。
背景色と際立って色調の異なる判定対象(例えば、「A」の文字)が含まれる領域をカメラで撮影し(図6(a)参照)、その撮影画像データを予め定めた領域で複数の画面(例えば、8行と12列)に分割し(図6(b)参照)、分割画面毎に判定対象領域“1”と非判定対象領域“0”とに分離して二値化する(図6(c)参照)。二値化された分割画面の画像データは、走査線毎に4桁の16進コードに変換できる。
二値化に際して、画像データが無彩色(グレースケール)の場合は、所定明度をしきい値とすることで判定対象領域を“1”に、非判定対象領域を“0”にできる。画像データがカラー画像の場合は、判定対象の所定色調をRGB構成比により抽出するフィルタリングを行って、判定対象領域を“1”に、非判定対象領域を“0”にすればよい。なお、判定対象と同一の色調が背景にも含まれていた場合には、それらがノイズとして検出されてしまう可能性もあるが、それらのノイズ成分も撮影毎に同じ状態で検出されていれば問題ないし、判定対象とノイズ成分とで明度が顕著に異なっていれば、所定色調抽出のフィルタリングを行った後に所定明度をしきい値として二値化する事で、ノイズ除去も可能となる。何れにしても、画像データを二値化する手法は特に限定されるものではなく、画像データの特質に応じて目的とする部位(判定対象領域)を抽出できれば良い。
上記のようにして新たに撮影された画像データを二値化した新規撮影画像データと、RAM511に記憶された前回の撮影画像である基準画像データとの対応する全ての画素に対して排他的論理和演算を行う(図6(d)参照)。これにより、図6(e)のような判定用データが得られるのである。すなわち、新規撮影画像データと基準画像データとで変化の無かった画素は“0”であり、新規撮影画像データと基準画像データとで変化の有った画素は“1”であることから、新規撮影画像データで“1”に変化した画素を、前回の撮影から変化した差分データとして扱うことができ、この差分データの分布によって、判定対象がどのように変化したかを把握できる。
なお、カメラ制御部500に行わせる判定制御においては、判定対象の変化状態まで把握する必要はなく、前回画像と新規画像との変化の度合い(全画素に対して差分データが含まれる割合)が誤差範囲を超えるほど大きいときに、変化有りと判定させれば良いので、差分データ数÷全データ数として求めた変化率が基準値以上であるか否かで、変化の有無を判定させるようにした。
例えば、新規画像データの第5行第7列の分割画面(以下、分割画面(5,7)と記す。)と基準画像データの分割画面(5,7)との不論理和演算を行った判定データの分割画面(5,7)においては、差分データ数が39で全データ数(画素数)が16×16=256であるから、変化率≒15%となる。
変化の有無の判定に供する変化率の基準設定は、撮影手段の性能や撮影像の解像度等に応じて適宜に決めれば良く、基準設定値は特に限定されるものではない。また、変化率を分割画面毎に算出して変化の有無を判定するものに限らず、画像データ全体から求めた変化率によって変化の有無を判定させるようにしても良い。
なお、判定対象である第1〜第4ハーネス801〜804が変化したのではなく、第1カメラユニット601の撮影範囲が微妙に変化した場合(遊技店店員が正規の作業中にカメラユニット601に当たってしまったような場合)には、相対的に判定対象が平行移動したのと同じ状態の画像データが取得されるため、判定対象領域と非判定対象領域の境界を含む分割画面には、無視し得ない差分データが含まれる事となり、求めた変化率から変化有りという誤判定に結びつく可能性がある。そこで、撮影範囲内で判定対象物と離隔した部位(例えば、第1カメラユニット601の撮影範囲内で最も奥側となる本体201の側壁内面であって、第1〜第4ハーネス801〜804によって隠される可能性が殆ど無い位置)に基準マーク805を設けておき、新規撮影画像データにおける基準マーク位置と基準画像データにおける基準マーク位置とが合致するように、両データの重ね合わせ位置を補正するようにしても良い。
また、基準画像データと比較する新規撮影画像データは、撮影条件の微妙な変化によって変動する可能性があり、その微妙な誤差が最終的な誤判定に結びついてしまう可能性もある。そこで、カメラ制御部500における判定の信頼性を高めるように、第1〜第3カメラユニット601〜603による撮影を連続的に複数回行い、複数の撮影像から複数の新規撮影画像データを取得し、各新規撮影画像データと基準画像データとの排他的論理和演算による複数の判定用データを取得し、これら複数の判定用データにおける差分データ数の平均値をもって最終的な変化率を求めるようにしても良い。
上記のようにして不正判定の有無を決定した後には、新規撮影画像データを基準画像データとしてRAM511に記憶しておき、次回の不正判定に供する。なお、カメラ制御部500で不正判定動作を実行する毎に、新規撮影画像データを基準画像データに入れ替えずに、判定対象の分布変化が大きかった場合(例えば、規定値以上の変化率となった分割画面が所定数以上有る場合など)に限って、基準画像データを新規撮影画像データに更新するようにしても良い。
また、撮影条件等による誤差の振れ幅が大きい状態で撮影された新規撮影画像が基準画像データとして保存されると、その後に誤差の振れ幅の少ない状態で撮影された新規撮影画像データが不正有りという誤判定に結びついてしまう可能性もある。そこで、カメラ制御部500における判定の信頼性を高めるように、第1〜第3カメラユニット601〜603による撮影を連続的に複数回行い、複数の撮影像から複数の新規撮影画像データを取得し、各新規撮影画像データにおける判定領域と非判定領域の平均値をもって最終的な新規撮影画像データを決定し、判定動作の実行後に、これを基準画像データとしてRAM511に保存するようにしても良い。
上記画像判定原理から基準画像データと新規撮影画像データとの比較結果として得られた不正の有無判定は、バス530および上記入出力インターフェース520を介して副制御部400へ出力される。なお、カメラ制御部500からの判定結果が不正有りの判定であった場合には、上述したように、判定時における遊技の進行状況(具体的には、スロットマシン100の状態)に基づいて、副制御部400が報知すべきか否かの判定を行い、報知判定が成された場合にのみ不正検出の報知動作が行われる。
このように、撮影制御手段たるカメラ制御部500は、「撮影した画像データを記憶する記憶手段」と、「記憶手段に記憶した基準画像データと新たに撮影した画像データとを比較して両画像データに含まれる所定明度および/または所定色調の分布の変化を抽出する画像処理手段」と、「画像処理手段が抽出した分布の変化に基づいて異常の有無を判定し、判定結果に応じた信号出力を行う判定手段」としての機能を有するのである。
なお、カメラ制御部500による不正有無判定に際しては、第1〜第4ハーネス804の領域全体を判定対象とせずに、ハーネスの適所に施したマーキング部分のみを抽出して判定するようにしても良い。また、外部電源700からカメラ制御部500へダイレクトに給電することで、スロットマシン100の主電源が断たれた状態でもカメラ制御部500が独立して作動できるようにしておき、例えば、遊技店のホールコンピュータとカメラ制御部500の入出力インターフェース520を接続し、ホールコンピュータから送信するコマンドでカメラ制御部500による不正判定動作を実行させると共に、その判定結果をホールコンピュータが取得できるようにしても良い。
〈副制御部メイン処理〉
図7は、副制御部400によるメイン処理を示したフローチャートである。
先ず、上記コマンド受信処理において主制御コマンドが格納されているか否かを判定し(ステップS701)、主制御コマンドが格納されていれば、そのコマンドの判定処理を行い(ステップS702)、コマンドに応じた演出を実現するように演出用動作機器を動作させる制御データを設定したり演出用LCD表示制御部423へ送信する副制御コマンドを設定したりする演出処理を行う(ステップS703)。
続いて、各演出用動作機器のデバイスドライバへ出力する制御データがセットされているか否かを判定し(ステップS704)、セットされていれば該当するデバイスドライバへ制御データを出力し(ステップS705)、演出用LCD制御部423や副制御部500へ送信する副制御コマンドがセットされているか否かを判定し(ステップS706)、セットされていれば副制御コマンドを送信し(ステップS707)、カメラ制御部500からのエラー出力(不正有りの判定結果)と当該スロットマシン100の大状態とを参照してエラー報知を行うか否かを決定する筐体監視処理を行い(ステップS708)、所定の終了条件が達成されたか否かを判定し(ステップS709)、終了条件が達成されていれば副制御部メイン処理を終了する。
〈筐体監視処理〉
図8は、上記副制御部メイン処理のステップS708で行う筐体監視処理の詳細を示したフローチャートである。
先ず、入出力インターフェース450を介して接続されたカメラ制御部500からの入力を処理する外部入力処理を行い(ステップS801)、カメラ制御部500からのエラー出力が有るか否かを判定し(ステップS802)、カメラ制御部500からエラー出力を受けていなければ、そのまま筐体監視処理を終了する。
一方、上記ステップS802でカメラ制御部500からのエラー出力が有ったと判定された場合には、台状態フラグを参照し(ステップS803)、台状態が正常か否かを判定する(ステップS804)。上記ステップS803で参照する台状態フラグおよびステップS804で正常と判定される台状態フラグの組合せパターンを図9に示す。
台状態フラグとしては、メダルセレクターユニット192にエラーが生じた場合にフラグが立つエラー1、メダルホッパー240が空になった場合にフラグが立つエラー2、メダルホッパー240が満杯になった場合にフラグが立つエラー3、メダルホッパー240が詰まった場合にフラグが立つエラー4、前面扉101が開放された場合にフラグが立つ扉状態、設定値変更スイッチ261を操作して設定変更を実行している場合にフラグが立つ設定変更状態、当該遊技店の営業時間外である場合にフラグが立つ営業時間状態、主電源が入っているフラグが立つ主電源状態を設定し、これらの台状態フラグが特定の組合せになる場合のみを正常パターンと判定するのである。
例えば、スロットマシン100が稼働している営業時間中に、メダルセレクターユニット192にエラーが発生して、遊技店員が修復のために前面扉101を開けている場合には、エラー1,扉状態,主電源状態の各フラグが“1”となる正常パターン1を満たす事となる。このような場合には、遊技店員が前面扉101を開放して作業を行っているために、メダルセレクターユニット192監視用の第2カメラユニット602の撮影像が大きく変化することとなり、この撮影像の判定結果としてカメラ制御部500から出力されたエラー判定は、不正に基づくものではない事が明らかである事から、正常と判定するのである。他の正常パターンも同様に、カメラ制御部500からのエラー判定が不正に基づくものではない蓋然性が高いものであり、台状態フラグの組合せが正常パターンであれば、台状態が正常であると判定する。
従って、上記ステップS804で、台状態が正常と判定された場合には、そのまま筐体監視処理を終了し、不正検出の報知は行わない。斯くすれば、遊技店員等がエラー解除の作業中にカメラ制御部500より不正判定が出力されても、報知動作が実行される事を抑止できる。
一方、上記ステップS804で、台状態が正常でないと判定された場合(台状態フラグの組み合わせた正常パターンに該当しなかった場合)には、カメラ制御部500からのエラー判定が不正に基づくものであると判断できるので、各種表示器やスピーカ等を作動させるべく各デバイスドライバへ制御データを出力する(ステップS805)。
〈カメラ制御部メイン処理〉
図10は、カメラ制御部500によるメイン処理を示したフローチャートである。
先ず、副制御部400より受信したコマンドがあるか否かを判定し(ステップS1001)、受信コマンドが有れば、そのコマンドが第1〜第3カメラユニット601〜603による撮影の契機となる撮影対象のコマンドであるか否かを判定し(ステップS1002)、撮影対象のコマンドでなければ、そのまま処理を終了する。
なお、撮影対象コマンドとしては、例えば、扉ロック(前面扉101が閉止されてロックされた際に出力されるコマンド)、設定変更開始(設定値変更スイッチ261による設定変更が開始された際に出力されるコマンド)、設定変更終了(設定値変更スイッチ261による設定変更が終した際に出力されるコマンド)、エラー発生(メダルセレクターユニット192やメダルホッパー240等にエラーが生じた際に出力されるコマンド)、エラー解除(発生したエラーが解消された際に出力されるコマンド)、電源復帰(電源スイッチ262が投入されて稼働状態に復帰した際に出力されるコマンド)等がある。
そして、上記ステップS1002で撮影対象コマンドであると判定された場合には、撮影する最初のカメラとして、予め定めた順序で、第1〜第3カメラユニット601〜603の何れか一つを設定する(ステップS1003)。
一方、上記ステップS1001でコマンドを受信していないと判定された場合には、第1〜第3カメラユニット601〜603による撮影間隔である所定時間を計時するタイマカウンタのカウント値が“0”であるか否か(所定時間が経過したか否か)を判定し(ステップS1004)、所定時間が経過していた場合には、上記ステップS1003にジャンプして、撮影する最初のカメラを設定する。
すなわち、本実施形態においては、カメラ制御部500による不正判定動作(第1〜第3カメラユニット601〜603による撮影と、撮影画像による異常有無の判定)は、副制御部400からのコマンド入力時だけではなく、カメラ制御部500が備えるタイマにより定期的に行うものとした。そして、タイマによる不正判定動作の間隔を適宜な長さ(例えば、1分〜5分程度)に設定すれば、不正遊技者等によるスロットマシン100の不正改竄が行われた場合でも、遊技店の損失が著しく大きくなる前に不正改竄の痕跡を検出して報知する事が可能となるので、実用的価値が大きい。
上記ステップS1003で最初に撮影するカメラユニットが設定されると、そのカメラユニットへ照明点灯信号を出力して撮影用の照明を点灯させ(ステップS1005)、撮影信号を出力して撮影像を取得し(ステップS1006)、照明消灯信号を出力して照明を消灯させ(ステップS1007)、取得した撮影像から判定領域と非判定領域に二値化した新規撮影画像データを生成する画像データ処理を行い(ステップS1008)、基準画像データと新規撮影画像データの比較により不正有無の判定を行う判定処理を行う(ステップS1009)。
上記ステップS1005〜ステップS1009の一連の処理により、一つのカメラユニットに関わる不正判定動作が終わると、全てのカメラユニットでの不正判定動作が終了したか否かを判定し(ステップS1010)、未だ別のカメラユニットでの不正判定動作が残っていれば、次に撮影するカメラユニットを設定し(ステップS1011)、上記ステップS1005〜ステップS1009の一連の処理を行う。そして、上記ステップS1010において、全てのカメラユニットに関わる不正判定動作が終了したと判定されれば、カメラ制御部メイン処理を終了する。
なお、上述したカメラ制御部メイン処理においては、ステップS1002で撮影対象コマンドを受信した場合には、全て不正判定動作(第1〜第3カメラユニット601〜603による撮影と、撮影画像による異常有無の判定)を行うものとせず、対象コマンドに応じて異なる動作を行うようにしても良い。例えば、扉ロックや電源復帰のコマンドを受けた場合には、イニシャライズ処理(異常判定を行うための基準となる基準画像データを取得し、RAM511に保存する処理)のみを行うようにしても良い。また、電源が断たれても記憶内容が消失しない不揮発性の記憶手段をカメラ制御部500に設け、この不揮発性記憶手段に基準画像データを保存しておき、遊技店の営業開始時に電源投入された際には、前日の最後に不揮発性記憶手段に保存した基準画像データをそのまま使用できるように構成しても良い。
〈画像データ処理〉
図11は、上記カメラ制御部メイン処理のステップS1008で行う画像データ処理の詳細を示したフローチャートである。
先ず、撮影対象に設定したカメラユニットからの画像データがあるか否かを判定し(ステップS1101)、画像データが有れば、そのカメラ画像を取り込む画像入力処理を行い(ステップS1102)、取り込んだカメラ画像を複数の分割画面に分割する画面分割処理を行い(ステップS1103)、予め定めた処理順序に従って最初の分割画面の画像データを取得し(ステップS1104)、これを判定領域(例えば、ハーネスの領域)と非判定領域(ハーネス以外の領域)とに二値化する二値化処理を行い(ステップS1105)、走査線毎にバイナリ・コード等に変換するデータ変換処理を行い(ステップS1106)、変換された画像データを記憶領域に格納する(ステップS1107)。
上記ステップS1105〜1107の一連の処理により、一つの分割画面の画像データに対する処理動作が終わると、全ての分割画面の画像データに対する処理動作が終了したか否かを判定し(ステップS1108)、未だ全ての分割画面の画像データに対する処理動作が終了していなければ、次の分割画面の画像データを取得して(ステップS1109)、上記ステップS1150〜ステップS1107の一連の処理を行う。そして、上記ステップS1108で全ての分割画面の画像データに対する処理動作が終了したと判定されれば、カメラ制御部500の参照用フラグ等で比較データ有りに設定し(ステップS1110)、画像データ処理を終了する。
〈判定処理〉
図12は、上記カメラ制御部メイン処理のステップS1009で行う判定処理の詳細を示したフローチャートである。
先ず、上記画像データ処理のステップS1110において比較データ有りに設定されているか否かを判定し(ステップS1201)、比較データ有りに設定されていた場合には、上記画像データ処理において画像処理された新規撮影画像データにおける最初の分割画面の画像データを記憶領域を設定し(ステップS1202)、この分割画面に対応する基準画像データの分割画面の画像データを読み出すデータ読出処理を行い(ステップS1203)、両データの画素毎に排他的論理和演算を行う比較演算処理を行い(ステップS1204)、その処理結果を記憶領域に格納する(ステップS1205)。
上記ステップS1202〜ステップS1205の一連の処理により、一つの分割画面の画像データに対する処理動作が終わると、全ての分割画面の画像データに対する処理動作が終了したか否かを判定し(ステップS1206)、未だ全ての分割画面の画像データに対する処理動作が主留要していなければ、次の分割画面の画像データを記憶領域に設定し(ステップS1207)、上記ステップS1203〜ステップS1205の処理を行う。そして、上記ステップS1206で全ての分割画面の画像データに対する処理動作が終了したと判定されれば、変化率を算出する(ステップS1208)。
次いで、上記ステップS1208で算出された変化率が判定基準値Xを超えているか否かの判定を行い(ステップS1209)、変化率が判定基準値Xを超えていれば、不正判定で着目している判定対象の存在領域が変化した異常判定(不正有り判定)となるので、副制御部400へエラー出力を行い(ステップS1210)、基準画像データを再設定して(ステップS1211)、判定処理を終了する。
一方、上記ステップS1209で判定基準値Xを超えていなければ、不正判定で着目している判定対象の存在領域に変化がない正常判定(不正無し判定)となるので、副制御部400へのエラー出力は行わず、基準画像データを再設定して(ステップS1211)、判定処理を終了する。
なお、上記ステップS1209で用いる判定基準値Xの値は特に限定されるものではなく、利用環境等に応じて適宜定めれば良い。例えば、分割画面毎の比較結果から変化率を算出して判定する場合と、画像データ全体の比較結果から変化率を算出して判定する場合とでは、適正な判定基準値Xは大きく異なる。
また、判定基準値Xを固定値とせずに、判定処理を実行しているときの状況に応じて異なる判定基準値を使い分けるようにしても良い。例えば、カメラ制御部500のタイマ機能によって一定時間毎に行う不正判定動作においては、厳しい判定基準値(例えば、X=10)を用い、副制御部400からのコマンドにより行う不正判定動作においては、遊技店員等による前面扉101の開け閉め等で生ずる振動等に起因して判定対象に微小変化が生ずる可能性もあるため、比較的緩い判定基準値(例えば、X=30)を用いれば、エラー解除作業中の誤判定を抑制できる。
更に、分割画面毎の比較結果から変化率を算出し、判定基準値Xとの比較を行う場合には、一つでも判定基準値を超えた分割画面が存在する事でエラー出力を行うように設定しても良いし、判定対象の大きさや形状に合わせて複数の分割画面に跨って判定基準値を超えていなければエラー出力を行わないように設定しても良い。