TW200527259A - Input system and method - Google Patents

Input system and method Download PDF

Info

Publication number
TW200527259A
TW200527259A TW093130033A TW93130033A TW200527259A TW 200527259 A TW200527259 A TW 200527259A TW 093130033 A TW093130033 A TW 093130033A TW 93130033 A TW93130033 A TW 93130033A TW 200527259 A TW200527259 A TW 200527259A
Authority
TW
Taiwan
Prior art keywords
data
input device
item
scope
patent application
Prior art date
Application number
TW093130033A
Other languages
English (en)
Inventor
Amro Albanna
Rowena Albanna
Xuejun Tan
Kirby Clark Dotson
David Ralph Addington
Original Assignee
Qmotions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/741,308 external-priority patent/US20050076161A1/en
Application filed by Qmotions Inc filed Critical Qmotions Inc
Publication of TW200527259A publication Critical patent/TW200527259A/zh

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Description

200527259
188^1811—I ..............— 相關申請案之交互參照 本申請案係美國申請案號10/741,3〇8之部份接續案,該 案之標題為輸入系統及方法(Input System and MethQd), 於2003年12月19曰提出申請,該案主張美國臨時申請案 號60/508,466之利益,該臨時申請案之標題為視訊遊戲輸入 系統及提供該系統之方法(Vide〇 Game Input System and
Method of Proving Same),於 2〇〇3 年 1〇 月 3 日提出申請; 本申請案亦主張美國臨時中請案E 6Q/563,G56之利益,該臨 時申請案之標題為輸入系統及方法,於2〇〇4年4月16曰提 出申吻,上述所有申請案均以參考文獻之方式併入本案中。 【發明所屬之技術領域】 本發明係有關於視訊遊戲輸入系統,特定言之是關於 -系統與方法’其可將一正在移動物件之移動轉換為輸入 裝置資料’例如:滑鼠控制器輸人f料,並傳至視訊遊戲或 電腦應用程式。 【先前技術】 視訊遊戲是一種受歡迎的 使用輸入裝置,例如:滑鼠、 器’來接收使用者控制遊戲角 行運動類的視訊遊戲時,使用 訊遊戲當中。前述的輸入裝置 娱樂。視訊遊戲一般都需要 搖桿、鍵盤或其他遊戲控制 色所需之輸入資料。當在執 者都嚮往可以實際置身在視 是所有視訊遊戲的一般性輸 200527259 入裝置’但並不能給予使用者身歷其境之感。因此,實有 需要提供一方法與系統,讓使用者在輸入資料以控制視訊 遊戲中之人物與角色時,可更逼真的捕捉遊戲中實際從事 該運動之真實感受。 【發明内容】 藉由本發明,可滿足前述甚至更多之需求。根據某些 具體實施例,揭露將一正在移動物件之移動轉換為輸入裝 置資料之系統與方法。 本發明之一具體實施例係利用一與電腦應用程式偕同 使用之系統,該系統用以對來自一第一輸入裝置之第一輸 入裝置資料作出回應,該第一輪入裝置具有一第一格式。 本發明之該具體實施例包含:一第二輸入裝置,其與第一 輸入裝置並不相同,該第二輸入裝置包含一或多個感應 器,其可用來測量一物件之移動,並產生表示該物件移動 之第二輸入裝置資料,該第二輸入裝置資料具有不同於該 第一袼式之第二格式;以及一用來將該第二輸入裝亶資料 轉換為模擬苐一輸入裝置資料之處理器,該模擬第一輸入 裝置資料具有該第一格式,該處理器更可用來將該模擬第 輸入裝置資料提供至該電腦應用程式,藉此以該第二輸 入裝置模擬第一輸入裝置。 本發明之另一具體實施例係利用一系統,將一物件之 移動從一第一格式轉換為一第二格式之輸入裝置資料,以 供電腦應用程式接收。本發明之該具體實施例包含一感應 4 200527259 态單元,該感應器單元勺八 -或多個方向冑量該物V:—或多個感應器’可用來在 示,ι + 之移動,並產生以第一袼式表 表不該物件移動之 价式衣 訊號;以及-具有擊球二u’_傳送器可用來傳輸該 收兮 人體之使用者工作站,其可用决姐 收該訊號,將該訊號轉 /了用來接 資料,並將該模擬輸入二::第二格式之模擬輸入裝置 本發明之再另…:供至該電腦應用程式。 腦應用程式之方法,該雷W施例係利用-將資料輪入至電 格式tΛ腦應用程式係用以接收具有第一 二==“發明之該具體糊 之第二輸入裝置資料,”牛之:動;產生代表該物件移動 該第-格式之第二格式二輸入褒置資料具有-有別於 擬第-輸入裝置資肖,兮:該第二輸入裝置資料轉換為模 -格式·以及將兮楚擬第一輪入裝置資料具有該第 价式,以及將該第_鉍 式,藉此利用該第二輪入步貝料提供至該電腦應用程 本發明之再另來模擬該第_輸入裝置。 腦應用程式之系統,==用-將資料輸入至電 格式之篦 ^ ^ ^ m α用程式係用以接收具有第一 大之第-輸入裝置資料。本 測量構件,其係用以在 @具體實施例包3 . 生構件,纟係用以產生代表::向测量-物件移動;產 料,該第二輸入裝置資料移動之第二輪入裝置資 格式;轉換構件,丨以 別:該第-格式之第二 模擬第-輸入裝置資料,入裝置資料轉換為 第-格式;以及提供構件輪入裝置資料具有該 其係用Μ將該第一輸入裝置資 5 200527259 料提供至電腦應用程式之手段,藉此利用第二輸入裝置來 模擬第一輸入裝置。 本發明之再另一具體實施例係利用將第一輸入裝置之 第一輸入裝置資料,該第一輸入裝置資料具有第一格式, 複製至一電腦應用程式之方法,以控制一物件圖形表示之 移動。本發明之該具體實施例包含:利用第二輸入裝置測 量該物件的移動;產生該物件移動之的電子訊號表示,該 電子訊號具有一有別於該第一格式之第二格式;將該電子 訊號轉換為具有第一格式之複製之第一輸入裝置資料;並 讓該複製的第一輸入裝置資料可以被該電腦應用程式使 用,藉此利用第二輸入裝置之複製之第一輸入裝置資料, 由第一輸入裝置複製第一輸入裝置資料。 本發明之再另一具體實施例係利用一至少包含可設定 處理器之程式碼之電腦可讀媒體。本發明之該具體實施例 包含:提供模擬之輸入裝置資料至一電腦應用程式,該電 腦應用程式係用以依照輸入裝置資料來控制一物件的圖形 表示;並將訊號轉換為模擬之輸入裝置資料,該訊號表示 出該物件的物理移動,該訊號具有不相容於該電腦應用程 式之訊號格式以及相容於電腦應用程式之模擬輸入裝置資 料,藉此模擬輸入裝置資料。 【實施方式】 以下將詳述本發明之特定具體實施例及其圖示。 第1圖是根據本發明之一具體實施例來描述元件與資 6 200527259 料流的工作流程圖。本發明之該具體實施例包含:一第一 感應器20,一第二感應器30,一類比至數位轉換器40, 一感應處理器50,一傳送接收器60,感應器韌體65,擊 球軟體80及使用者工作站90。在該具體實施例中,第一 感應器20及弟二感應器30皆為加速度計(accelerometer) (第一加速度計20及第二加速度計30合稱加速度計20)。 在其他具體實施例中,可能會使用到其他種類的感應器, 例如:速率迴轉儀(rate gyros),可以用來獲得轉換動作之 外之旋轉動作資料。 如第2圖所示之具體實施例,加速度計2 〇、類比至數 位轉換器40、感應處理器50、發送器(忖⑽⑽…以)6〇 及感應器韌體65,皆存放在單一感應單元1〇中。該感應 單元1〇是附屬於一可動式元件,也就是在此具體實施例中 的高爾夫球桿70上。該感應單元1〇是透過任何有線或益 線的傳輸裝置,如序列連結器,刪繞線,無線區域網路 4,並利用現有的各種通訊協定, ^ 如監牙乙太網路等,隅 合至該使用者工作站90。雖然並非 7有/、體實施例中都需 要執行雙向傳輸。該發送器60是一 抑—,Λ+ 悝j以5又疋來允許感應 早兀10與使用者工作站90之間作雙向資料傳輸的收發, (―)60(資料可以從該感應單元1〇 :; 用者工作站90,而且資料可以從該使 人 到該感應單元1 0)。該感應器韌體可 .......u m吏用者工作站90傳輸 用以聽候從使用者 另夕卜, 作站90傳輸到該感應單元1G的命令㈣,該命 求該感應單元10傳送資料給該使用者工作站90。 '月 7 200527259 則述在感應單元10内之元件可能會藉由 輸並利用任何形式之通訊協定,彼此相互 在其他具體實施例中,該感應單元1 0及 單疋,都各自有一無線發送器60。該傳輸器 用者工作站90的USB或序列埠,以允許該名 該使用者工作站9〇間的資料無線雙向傳輸< 單元10可能擁有一發送器6〇而該傳輸器單 接收器,以讓感應單元丨〇單向無線傳輸資料 站90 〇 該使用者工作站90為一電腦裝置一在 中為一附加滑鼠的個人電腦(pc),雖然在其 中可以使用其他處理器,例如:個人數位與 持式遊戲裝置,具備網路功能之行動電話, 豕庭娛樂系統(例如:美國任天堂或Sega公 置),透過螢幕或電視等來傳輸晝面的視訊遊 有旎力來接收滑鼠控制器的輸入資料並執行 需要滑鼠控制器輸入資料之電腦應用程式, 擬。另外,在其他具體實施例中,使.用者工4 任何一種輸入裝置做結合,例如:搖桿,操 其他任何種類的遊戲控制器,並有能力來執 入裝置等之輸入裝置資料之視訊遊戲或電腦 使用者工作站90上之擊球軟體8〇可用 單元10所接收之物件移動數位訊號表示,並 轉換成為輸入裝置資料以用來控制在使用者 有線或無線傳 連結。 傳輸器(dongle) 單元可插入使 篆應單元1 0與 *另外,該感應 元可能擁有一 至使用者工作 此具體實施例 他具體實施例 ϊ 理(PDA),手 膝上型電腦, 司所提供之裝 :戲控制台,都 一視訊遊戲或 例如:訓練模 乍站90可以跟 作桿,鍵盤或 行需要前述輸 應用程式。 以處理從感應 將該數位訊號 工作站 90 中 200527259 執行的視訊遊戲或電腦應用程式之該遊戲角色的移動。在 其他具體實施例中,該電腦應用程式可以存放在一不同於 使用者工作站的機器上,並且可以讓該系統的使用者透過 網路,例如:網際網路、區域網路、有線電視、衛星電視 及其他相關裝置,來存取。 在該具體實施例中,正移動之物件為一高爾夫球桿 70而該擊球軟體80從該感應早元所接收之數位訊號 為正揮動球桿70的角度與加速度之數位訊號表示。在該具 體實施例中,從該感應單元1 0所接收之該數位訊號會轉換 成滑鼠控制器輸入資料。然而,在其他具體實施例中,從 該感應單元10所接收之該數位訊號也可以轉換成其他種 類的輸入裝置資料,例如:搖桿、操作桿(paddle)、鍵盤 或其他種類遊戲控制器的輸入資料等,用以控制使用者工 作站90上的視訊遊戲或電腦應用程式之遊戲角色移動。在 該具體實施例中,該擊球軟體80會結合一使用者介面來與 使用者做視覺和/或聽覺上的溝通,其包含(但不限於)接 收使用者的輸入資料、設定參數、記錄資料、顯示所拍攝 之資料、選擇一連接埠以讀取資料,以及為慣用左手或右 手之高爾夫球選手設定模式。
本具體實施例的系統係用以提供輸入資料給商用電腦 或其他視訊遊戲或任何能利用來自輸入裝置之資料之電腦 應用程式,該電腦應用程式包含模擬高爾夫球的運動,例 如:由 Microsoft Corporation 所推出之 LINKS2003,由 Electronic Arts Inc.所推出之 TIGER WOODS PGA TOUR 200527259 2 0 0 3,還有模擬其他運動或情境的產品,例如:棒球、網 球、足球、排球及曲棍球。在該具體實施例中,該感應單 元1 〇附加在高爾夫球桿70上。然而,在其他具體實施例 中,該感應單元 1 0也可以附加在其他形式之可移動物件 上,包含運動器材(例如:棒球棒、網球拍、曲棍球棒), 或可以附加在該使用者身上(例如:使用魔鬼氈固定在使用 者的手臂或小腿上),以測量該資料並轉換成滑鼠控制器之 移動來執行一視訊遊戲或電腦應用程式,例如:執行訓練 模擬。 更具體地說,在該具體實施例中,該系統可被設計讓 使用者以高爾夫球桿70來取代滑鼠控制器作為視訊遊戲 的輸入裝置來控制該視訊遊戲中角色之移動,例如:高爾 夫球桿70的擺動及高爾夫球的移動(路徑、方向、速度 等),讓使用者在執行LINKS2003高爾夫球遊戲時可以獲 抑更實際的臨場感。該附加在該高爾夫球桿7〇之感應單元 1 〇可以測量該使用者揮桿的角度與加速度,並產生該使用 者揮桿的滑鼠控制器輸入資料表示,視訊遊戲會利用該輸 入資料表示來控制前述之遊戲角色。因此,該感應單元j 〇 為獨立及有別於視訊遊戲所由回應之輸入裝置—滑产。藉 由轉換該感應器的輪出訊號成為該滑鼠控制器的袼弋,該 系統會複製或模擬該滑鼠控制器的資料。需注音的β ,冷 該轉換之感應器訊號格式被描述跟該控制器輸入資料(如 滑鼠控制器資料)4目同時,則需認知並不需達到完全相等 之程度’該描述僅需包含使用者工作站(或任何必要的軟體) 10 200527259 所 度 輸 該 兩 在 用 視 例 換 將 計 該 或 該 勾 10 該 施 的 中 子 需之相等物,以使之能利用該轉換過之感應器訊號之程 即可。因為該獨立的視訊遊戲系統功能以及滑鼠控制器 入資料之轉換是發生在該揮動資料輸入視訊遊戲之前, 視訊遊戲接收滑鼠控制器輸入資料,但並不知道是利用 爾夫球桿70、感應單元1 〇或任何資料轉換前之裝置。 此種方式下,本具體實施例之系統可以運用在任何需使 滑鼠控制器輸入資料的高爾夫視訊遊戲,而不需要在該 訊遊戲裡加入任何額外的程式。然而,在其他具體實施 中,進入滑鼠或其他控制器之移動資料、輸入資料之轉 功能可能會併入合適之視訊遊戲或電腦應用程式中。 在大致描述了本具體實施例的元件之後,每一元件都 會做更詳細的描述。 參考第1圖,該感應單元10配置有第一與第二加速度 20、類比至數位轉換器4〇、感應處理器5〇及發送器6〇。 感應單元1 0可以透過任何已知或成熟的手段,包含永久 暫時,使其附加在任何傳統高爾夫球桿7 〇的握把上。在 具體實施例中,一在彎曲的感應單元1 0底部上之魔鬼氈 扣捲繞在球桿70握把上之魔鬼氈環内,以將該感應單元 附加在球桿7 0上。另一魔鬼氈勾扣/環組合是用來確保 感應單元10在球桿70握把上的安全性。在其他具體實 例中’該感應單元10使用塑膠塑造並在其内有一可變形 爽子’以固定在高爾夫球桿7 〇上。在另外之具體實施例 ’將感應單元1 〇附加在高爾夫球桿7〇的手段可利用扣 帶子、%狀物、扣件、魔鬼氈等。在較佳的實施利中, 200527259 該感應單元1 〇附加在該球桿7 0底部三分之一附 靠近球桿杆頭,在這位置可以測量出最準禮的加 使用者揮桿角度。然而在其他具體實施例中,該 1〇是直接安裝在可移動之裝置内,例如:在高 7 0,曲棍球桿或網球拍内。 如第2圖所示,該感應單元10包含了第一 2 0及第二加速度計3 0 ’其皆可用以在兩個方向測 度資料與角度資料。在該具體實施例中,是使用 Devices Inc所提供之模組編號為ADXL202的雙 計,然而在其他具體實施例中可使用其他形式 計,例如:A D X L 2 1 0。該第一加速度計2 0是用 與yl軸的加速度資料與角度資料。第二加速度言 來測量x2與y2軸的加速度資料與角度資料。在 施例中,加速度計2 0彼此相互垂直配置,然而其 可適用。該加速度計2 0需盡可能地相互靠近,以 確的加速度與角度資料。 該類比至數位轉換器4 0會與該加速度計2 〇 並將該加速度計20所產生之擺動加速度與角度 號表示,轉換成為擺動之加速度及角度之數位訊 該感應處理器50會與該類比至數位轉換器 合,以接收數位化的加速度與角度資料。該感應 收該資料’將之組成資料框架(data frames ),並 送器60。每個資料框架包含了在揮桿時,某一特 之加速度資料與角度資料的測量值。 近,以更 速度值與 感應單元 爾夫球桿 加速度計 量的加速 由 Analog 軸加速度 的加速度 來測量XI f 30是用 該具體實 他組態亦 獲得最準 相隅合, 之類比訊 號表示。 40相隅 處理器接 傳輸到發 定時間點 12 200527259 該發送器6 0會與該感應處理器5 0相隅合,而感應器 韌體65會將該正擺動球桿70的加速度與角度之數位訊號 表示傳輸至使用者工作站90。該發送器60也可能從使用 者工作站9 0接收命令資料。 該感應器韌體65會與該發送器60與感應處理器50 相隅合,並持續聽候從使用者工作站9 0至感應單元1 0 (當 其打開時)之命令資料,該命令資料係要求該感應單元1 〇 傳送資料至使用者工作站 90,例如:請求檢測資料 (calibration data)(詳如後述)。當該感應器勃體65確認 出該命令資料是透過發送器60而正被該感應單元10接 收,則由感應處理器5 0組合資料框架並將其傳送至感應單 疋1 〇之動作會暫停,以允許該請求之資訊能傳送到使用者 工作站9 0。 在該具體實施例中,感應單元1 〇 (當其打開時)會持續 地傳輸資料框架格式的加速度資料與角度資料到使用者工 作站9〇上作業系統之序列埠資料暫存區中。該資 ,、"π不M 厌1寻送到貢料暫存 中,不過在其他具體實施例中,該傳輸速度會依據情沉 :高或更低。該擊球軟體8〇會以資料區塊〜 ㈣式來榻取儲存在資料暫存區中的資料框架。每一資 £塊都包含一或多個資料框 ,β I 貝才斗區塊中的杳 框架疋根據擊球軟體8〇 貝 編號。每一資料框架都有内含業系下^使用者工作站90 …1,—〜2 3一下列數值的資料陣列: — 一,…2,…ang } 13 200527259 ang一y2 〇 在每一資料框架中,”acc”是表示加速度,”ang”是表 示角度,編號1跟2是表示加速度計2 0的編號,而X及y 則表示相對應之刻度軸。(例如:變數acc — xl是表示第一 加速度計20在X軸線所產生的加速度資料。) 在每一資料框架中,acc — xl、acc_yl、acc_x2 及 acc_y2 之加速度資料是直接從相對應的加速度計 2 0中測量出 來。各加速度計20也可當成雙軸傾斜感應器(dual axis tilt sensor)來使用,以測量角度資料。在.每一資料框架中, ang_xl、ang_yl、ang__x2及ang_y2之角度資料是藉由位於 感應單元1 0上的感應器韌體6 5,利用從相對應之加速度 計2 0所接收之資料計算出來。在該具體實施例中,透過加 速度計 20所輸出之角度資料會編碼成脈寬調變(Pulse Width Modulation,,’PWMn )資料,不同的加速度計其輸 出的資料也會不同。 該加速度計 20是使用重力來當作輸入向量以決定空 間中物件的方向。當該加速度計的感應軸方向與重力方向 垂直時(與地球表面平行),其對傾斜的敏感度會最高。在 這樣的方向下,其對傾斜改變的敏感度是最高的。在較佳 的情況下,該球桿 70角度的參考點會先在製造廠校正成 lg,其中g表示重力單位(當在相反方向與地球表面平行時 為-lg)。 大致而言,當各加速度計2 0係定位在與重力平行之軸 時,也就是其值接近1 g或-1 g時,則在每次傾斜所計算角 14 200527259 與 得 變 以 出 如 中 狀 在 生 在 〇 單 資 接 會 被 器 繼 80 檢 球 每 度之改變是可以忽略的。當各加速度計20的方向趨近於 重力垂直的輛時,則每次傾斜所計算角度之敏感度會變 幸父大。利用各加速度計20之X與y軸所輸出加速度之 化’就可以計算出各加速度計20其X與y軸的角度資料 及南爾夫球桿70對地球表面之定向程度。典型而言,輸 之加速度與加速度計2 0定向程度之間的關係是已知的, 果沒有’也可以透過常規測試來決定。從本具體實施例 可得知’大致而言該角度資料只有在該感應單元1 0靜態 態(static status)時才會有用,因為當該感應單元1〇 移動時,該移動是由重力與使用者之動作兩者結合所產 的’所以該角度資料是不精確的。因此,當該球桿7 0是 靜止或慢速移動狀態下,本發明主要還是利用角度資料 在本具體實施例中,為了要更準確地將來自該感應 元1 0接收的加速度與角度資料轉換成滑鼠控制器移動 料,該擊球軟體8 〇從正被系統使用之特定感應單元1 〇 收檢測資料。在使用者工作站90上執行的擊球軟體8〇 傳送一請.求來取得感應單元1 0的檢測資料(當感應單元 打開的任何時間裡)。該感應器韌體6 5正聽候命令資料 並確認從使用者工作站90取得檢測資料之請求。該感應 韌體65會命令該感應處理器50暫時停止該裝置及停止 續傳輸資料框架給使用者工作站9 〇,並取得擊球軟體 所請求之每一感應器20之檢測資料。每一感應器20的 測資料會經由發送器6 0傳給該擊球軟體8 0,並且被擊 軟體8 0利用以決定適當之滑鼠控制器移動資料。如對於 15 200527259 一感應器2 0都沒有適當的檢測資料,則擊球軟體8 〇將不 會有適當的參考點來自感應器之加速度及角度以做正確的 解釋,而且會導致滑鼠移動的模擬沒有辦法將使用者擺動 適當地表示出來。 此外,在其他具體實施例中,可以在具一或複數個上 述的變數或額外的變數之各種方式下來組織一資料框架以 考量角度和/或加速度資料和/或其他測量資料之儲存,該 其他測量資料可鸫由其他類型之感應器所得到,例如從速 率迴轉儀所測得之旋轉速度及方向。 習知技藝人士都明瞭,雖然上述所顯示與說明之系統 元件是存放在單一的感應單元1 〇,然基於設計之選擇,任 何數目的系統元件都可以存放在分離的單元或結合在一或 多個系統元件或單元上,此皆於本發明之範疇中。在其他 具體實施例中,多種感應器或感應單元可以將之隔開置放 在沿著移動物件之不同點上,以更利於測量該移動物件的 位置。此外,在其他具體實施例中,該加速度計2 0可用以 直接輸出數位訊號,無須類比至數位轉換器4 0。此外,雖 然在本具體實施例中,該感應單元1 〇附加在一高爾夫球桿 70上,然而在另一具體實施例中,該感應單元i 〇也可以 附加在任何可移動的裝置上來作為一使用者工作站的輸入 裝置’包含棒球棒,曲棍球棒,網球拍及其他裝置。再者, 雖然在本具體實施例中,從該感應單元1 0所接收的資料會 被轉換成滑鼠控制器輸入資料,我們也可以確知從該感應 單元1 0所接收的資料也可以轉換成任何類型的輸入裝置 16 200527259 資料以運用在視訊遊戲或使用者工作站9 0上的模擬。 在描述了本具體實施例的各元件之後,此處將詳述其 作業程序。根據本發明之一具體實施例,使用一裝置及軟 體來執行高爾夫視訊遊戲之流程將透過第3圖說明。 在步驟3 00中,該使用者載入或執行一高爾夫視訊遊 戲’例如:前述在使用者工作站90上之擊球軟體8〇。在 步驟3 1 0中,該使用者根據遊戲的指令來設定該視訊遊 戲’例如:在LINKS2003中設定為及時揮桿模式。在步驟 320中,該使用者啟動該視訊遊戲,並將遊戲設定為可接 收輸入資料以控制該視訊遊戲角色的移動。 在步驟330中,擊球軟體會辨識出該使用者 戲中所選擇之揮桿模式的種類,例如··( 1)全揮桿,(2)低 切球(chipping)或(3)推桿(putting),以適當的將揮桿加 速度與角度資料轉換成滑鼠控制器的輪入資料。在許多高 爾夫視訊遊戲中,要將高爾夫球擊出一段距離需要藉助= 鼠控制器之移動量,該滑鼠控制器移動量會依揮桿模式而 不同例如·一長推桿可能需要較大的滑鼠控制器移動量, 以構成視訊遊戲中的長擊破 *擎球距離,而相較於利用高爾夫球 干 所造成之擊球距離,一县施4曰 銘私 J雖 長推桿可能只需要微量的球桿 移動。因此,在特定且體眚 ^ ^ 實施例中,該擊球軟體8〇在瞭解 夺使用者揮桿加速度盥/戍 眘枓夕、*丄 次角度貝料變成滑鼠控制器輪入 賣枓之適當轉換率後,會做出 用。 I做出改變以利特殊視訊遊戲之使 在步驟3 4 0中 使用者揮動高爾夫球桿7 0,該球桿具 17 200527259 有本具體實施例之附屬感應單元10。在步驟350中,該擊 球軟體8 0會識別高爾夫球桿7 〇正被使用者所揮動, 丹程 序將於第4圖詳述。在步驟360中,該使用者可決定是否 要繼續執行下一揮桿,這在進行遊戲時是典型之步驟。如 果該使用者決定要繼續執行下一揮桿,該流程會回到使用 者準備該系統以接受下一揮桿輸入(步驟320)。如果使用 者決定不要繼續執行下一揮桿(例如:當遊戲結束或使用者 選擇離開該遊戲),該流程就結束執行(步驟370)。
如上所述,該擊球軟體80轉換該加速度計資料成滑鼠 控制器輸入資料,以模擬一使用者的滑鼠移動。根據本發 明之一具體實施例之模擬滑鼠控制器移動程序將於第4圖 中做更詳細的描述。
夕 > 料框架的資料區塊來決定該感應單元1 〇是否在, 狀態。在步驟410中,該擊球軟體8〇會決定該感應1 ^是否在靜態狀態。為判斷感應單元1〇是否在靜態狀Θ 當使用者在揮桿開始前仍握住該高爾夫球桿70〜並^ 時,該擊球軟體8〇從感應單元1〇讀取在資料暫存區 加速度與角度資料,以判斷該加度子° 出移動低於宜一叫妒佶 又,、月又貝枓是否g -;某-門松值。該判斷將於第5圖來做更詳今 :边。在步驟",如果判斷出該感應單元 ” 下’則該擊球軟體80會在㈣4〇〇從感疋元 區塊,並等待該球桿7。變成靜態狀態。 果確定該感應單元1〇是在靜態狀態下,該擊球車 18 200527259 80會在步驟420讀取資料區塊,以決定該使用者揮桿的 速度資料與角度資料表示。在步驟4 3 0中,該擊球軟體 會使用視窗過濾、法(window filtering ),以過濾掉非蓄 之高爾夫球桿70移動所導致的雜訊,讓目前在資料區塊 的資料框架更平順。在步驟440中,該擊球軟體80會藉 計鼻目前資料區塊内之資料框架與該資料區塊内之先前 料框架間所增加的滑鼠控制器移動距離,將過濾過的加 度資料及角度資料轉換成為滑鼠控制器輸入資料。如同 面對第7圖之更詳細描述,該擊球軟體8 0將由所接收之 速度與角度資料而測量之實際球桿移動,轉換成滑鼠控 器移動資料。 在步驟4 5 0中,表示使用者的揮桿的滑鼠控制器的 入資料會被使用者工作站90上的視訊遊戲軟體所接收, 資料就如同直接來自於滑鼠控制器,以控制遊戲内角色 移動。在步驟460中,該擊球軟體80可決定出是否已達 撞擊點。該擊球軟體8 0利用延遲程序來決定是否已達到 擊點。在判斷感應單元1 0在靜態狀態後,擊球軟體8 0 即時或相當於即時的處理資料框架,直到擊球軟體8 0偵 到一筆因使用者向後揮動球桿70之加速度所產生的有 角度資料為止(此情況一般會出現在當使用者向下揮桿 停留在向後揮桿之最高點時)。在確認出之有效的角度資 後,該擊球軟體8 0會持續處理該資料框架,但卻是以延 格式表示,如此一來該擊球軟體8 0就可以判斷該揮桿是 已達最高加速度,以顯示出該撞擊點。為了確保最高的 加 80 意 内 由 資 速 後 加 制 輸 該 的 到 撞 會 測 效 前 料 遲 否 加 19 200527259
t:值已達到,處理過程中之延遲是必須的,…高爾 ^球桿揮桿動作的完成’加速度會逐漸降低。在步驟偏 二:如果擊球軟體8〇判斷已達到撞擊點,則擊球軟體8〇 “寺續地讀取資料框架直到該高爾夫球桿7〇㈣示的角 度f料等於20度,此超過步驟47〇内之撞擊點的角度資 料,之後就不會對目前的揮桿資料做額外的處理,該子程 序於步驟彻結束。該擊球軟體也可以設定成持續地讀 取資料框架直到該高爾夫球桿7〇的角度資料是大於或小 於20度。在步驟460中,如果擊球軟體8〇判斷並未達到 撞,點’則步驟490’該擊球軟體8〇會判斷目前的資料區 塊是否包含尚未處理之另一使用者揮桿的資料框架。在步 驟49。中’如果確定"資料區塊中的所有資料框架都: 未處理過,則擊球軟體80就會讀取下一筆資料框架並回到 步驟430。如果確定所有資料框架在步驟49〇中都已經被 處理過,則該程序救會回到步驟420,而擊球軟體8〇會繼 續讀取下一資料區塊的資料。
在概要地描述本具體實施例將揮桿資料轉換成滑鼠資 料的程序後,以下將對每一步驟做更詳細的描述。 根據本發明之一具體實施例,將說明從感應單元^ 〇 讀取資料區塊之程序。擊球軟體8〇從感應單元丨〇讀取具 有一或多個資料框架的資料區塊,以判斷該感應單元10 是否在靜態狀態。擊球軟體8 0的計時器會被設定,以允許 該擊球軟體8 0從使用者工作站9 0序列蟑的資料暫存區讀 取資料區塊。較佳之計時間隔是設定為2〇〇毫秒。該擊球 20 200527259 軟體用來進行序列蜂 料框架較佳,以 ,的貝料暫存區以大於10 1乂利擊球軟體80之資 個貝 施例中,該矸時 貝钭#取。在其他具體實 了間知可硓大於或小於古 軟體80 —次讀 、200笔秒,而該擊球 個資料框架 也了此大於或小於1 00 从適於特定的應用程式。 根據本發明 靜態狀態之程庠脏 實施例’判斷感應單元10是否在 該感應單元做詳細描述。該擊球軟體8〇會判斷 疋否疋在靜態狀態。當兩爾夫球桿70正 持在:相對穩定的位置時,該感應單元10會被認為是在薷 1態,彡本高爾夫之具體實施例中’是在使用者揮桿的 底部(在揮桿之前)或在頂端(在向後揮桿後暫停)時。2、 該擊球軟體8 0確定該感應單元丨〇是在靜態 果 μ L卜,該感 應單元1 0會準備測量該使用者下一揮桿的加 心反 > 料與 角度資料。該擊球軟體8 0可實施適當之演算法w^ 戌以將該加速 度與角度資料轉換為滑鼠控制器的輸入資料,—或多種可 聽見或其他可察覺之訊號,例如:嗶聲、閃光或聲音於人 都可用來通知使用者現在可以開始揮動高爾夫球桿7 〇 聲音訊號的編號取決於該使用者揮桿前戶斤机— τ α疋之揮桿 模式。目前有三種揮桿模式可以讓使用者選摟·,,、 干 评·(1)全揮 桿’·(2)低切球;以及(3)推桿。聲音訊號對應各揮桿模 之編破分別為一、二及三。在其他具體實施例φ 廿 τ 再他提 醒使用者關於高爾夫揮桿之狀態或模式之方式 1被運 用,例如:使用者工作站90所顯示之聲音指令或視 (例如:重複一組一、二及三的閃爍燈號)。該墼 手长軟體8 〇 21 200527259 可被設定利用不同的方法,以處理接收自感應單元1 〇之加 速度資料及角度資料,其係根據使用者在揮桿前所設定之 揮桿模式。該方法之詳細解釋將於此說明。 如果擊球軟體8 0從目前的資料區塊確定出該感應單 元1 0不是在靜態狀態,則擊球軟體8〇將會讀取下一資料 區塊,並持續地重複此程序直到該擊球軟體80確定該感應 單元1 0是在靜態狀態。在判斷該擊球軟體是否在靜態 狀態的過程中,沒有任何從感應單元1〇所接收的加速度資 料或角度資料會被該擊球軟體8 〇轉換成滑鼠控制器的輸 入資料。 第5圖為一判斷該感應單元! 0是否在靜態狀態的示範 流程圖。在該實施例中,t表示目前之時間;ang_xl(i)及 ang 一 yl⑴則是表示在時間i時,第一加速度計2〇之χ軸及 第一加速度計20之y軸(當i = l,2,3,...t)的角度資料;^為 視窗過濾器(window filter)的大小;Tss為STD過遽的門 播值;而STD()是標準差函數。在每一時間t,該擊球軟體 8 〇藉由讀取來自感應單元1 0之加速度及角度資料,判斷 疋否該加速度及角度資料顯不出移動低於某一門檻值,以 確定感應單元1 0是否在靜態狀態,使用之方法如下述。在 步驟500中,該計時器設定為(Tl = Timer)。在步驟中, 該擊球軟體80讀取目前資料區塊中之資料框架,並得到f 料 ang一xl(j)及 ang 一yl(j),其中 j=t-n + l,...,t。透過此程序, 該擊球軟體80就可以獲得在目前視窗中要被過滤、的f 料。在步驟520中,該軟體80判斷每一軸線的標準差係根 22 200527259 據此方程式 STD(ang_yl(j)) (Stdxi,Stdyi)的 Tss) and (Stdyi < 假(f a 1 s e ),就; 超過門檻值,接 目前的時間(Tl = 下一資料區塊 (true ),就表开 門檻值,接著在 時間(T2 = Timer) 束的時間差是否 2秒)。該兩秒的 要持續地低於該 狀態下。在另一 於兩秒。如果在 到步驟5 1 0讀取 運算式為假,則 當該擊球軟 下,該感應單元 料及角度資料, 通知使用者現在 揮動高爾夫球桿 資料之資料框架 〆 :Stdxi = STD(ang — xl(j)) and Stdyi = 。在步驟5 3 0中,該軟體8 〇判斷每一軸線 標準差是否低於定義之門檻值Tss((Stdxi < Tss))。如果在步驟53〇中的邏輯運算式為 良不該球桿7 0在任一軸線之移動的變化都 著在步驟540中,該計時器丁丨被重設定成 Timer),並在步驟51〇繼續該流程以讀取 如果在步驟5 3 〇中的邏輯運算式為真 :該球桿70在該期間t的移動變化都低於 步驟550中該計日丰哭 卞寻器T2被設定成目前的 。在步驟560中,舍划此b I列斷開始的時間與結 低於某一門播值,例 1J如兩秒(如:(T2-T1) < 時間間距表示在此時 pe ^ , 時間内,移動變化必須 威值,讓該感應單元 1雜威 & 1 0破視為是在靜態 牛硬“λ W可以大於或小 〆驟560中的邏輯 下 次^ 养式為真,接著就會 下一資料區塊。如果 ^ ^ ,7Π , 在步驟560中的邏輯 土乂鄉570中,該感 〇· 體8 、%、早元10為靜態狀態。 體8〇確定該感應; ! 〇 ^ 几1 〇是在靜態狀態 1 〇就會被用來測 Μ 1 一 用者揮桿的加速度資 -τ、 揮桿模式的種類)會 可以開始揮動高爾 、'’裡則會 7〇 0i 夭1^干70。當該使用者 7〇時,一具有一或 之杳祉广1 掌加速度資料及角度 貝枓區塊會被該减 。 心%早元1 0所測量,並 23 ! 200527259 且經由該擊球軟體8 0之處理,以將使用者揮桿的加速度資 料及角度資料轉換為滑鼠控制器輸入資料,其程序詳如下 述。 根據本發明之一具體實施例,使用視窗過濾法以讓目 前資料框架更平順之程序將於此做更詳細地描述。擊球軟 體80從感應單元1 0所讀取之加速度資料及角度資料通常 都會有雜訊(jitter,信號抖動)而造成高爾夫球桿70非 蓄意的移動。造成雜訊的原因包含了使用者手臂的振動, , *' - . 感應單元1 0裡的加速度計20之敏感度及其他原因。理想 的情況是可以將非蓄意的雜訊過濾掉以產生更精確的加速 度及角度資料供擊球軟體80使用。 在本具體實施例中,該擊球軟體80應用一非線性的技 術來過濾掉雜訊並對一資料序列使用滑動視窗(sliding w i n d 〇 w )法來使資料框架内之加速度及角度資料更為平 順,例如下述之示範程序。在下述的實施例中,t是表示 目前的時間;f(i)是表示在時間(i)(當i = l,2,3,...t)的加 速度或角度資料;η是表示該過濾器大小;p以及y是表示 暫存變數;f(t-n to t)是表示未經處理的角度或加速度資 料;f(t)為轉變後的角度或加速度資料。在任一時間點t, 資料會依照以下方式處理: 1) 設定 p(〇〜n) = f(t-n〜t); 2) 計算 y(a) = p(a) - p(a-l),當 a = 1,2,3,...η; 3) 設定5 = ^^⑷及心二^丨少⑷卜且 α=\ α=\ 24 200527259 此種過濾 跟據 換成已過 例中所使 +/-90 度 限之内, 桿70的, 確定出該 施例中擊 該適當之 高爾 測量。在 第一加速 與y軸之 在每一 1 PWM資米 球桿在第 之 X軸j ang—y2) 〇 在本 限的其中 -180 到 如果該高 4)如果〜(s = Sl or s = -Sl)則 f(t)=叩七。 法為選擇性的,亦可使用其他過濾技術。 本發明之一具體實施例,將未過濾之角度資料轉 遽之角度資料之流程將於此說明。在本具體實施 用之特定加速度計20會測量垂直方向由〇到 間之角度定位。因此,某些度數可能會在兩個象 如第6(b)圖所示。為了更精準地測量該高爾夫球 I度之位並模擬使用者兩爾夫球桿的揮桿,必須要 高爾夫球桿70的適當象限。以下將描述本具體實 球軟體80判斷高爾夫球桿7〇之適當象限及計算 角度資料以模擬使用者揮桿的方法。 夫球桿揮動的加速度資料是直接由加速度計2〇 每一資料框架的前四個值之内容為高爾夫球桿在 度計20其X軸與y軸與第二加速度計3〇其X轴 揮桿加速度值(aCC—aCC_yh ae(^x2,^2)。 :料框架中的角度資料都是由感應器韌體利用 f來计算。在每一資料框架的最後四個值為高爾夫 一加速度計20之X軸與y軸與第二加速度計3〇 每y軸之揮桿角度值(ang_xl,ang_yl,ang_x2, 具體實施例中,該高爾夫球桿70可能位於四個象 之一(90 到 〇 ,〇 到 jo , .9〇 到·18〇 , •270 ),如第6(c)圖所示。根據本示範之描述, 爾夫球桿7〇是位於趨近-180度的位置(即該球桿 25 200527259 7 0是水平狀態,與地面平行),則該使用者是處於全 位置;如果該高爾夫球桿70是位於_180度與-90度 置,該使用者是處於3/4揮桿的位置;如果該高爾夫 70是位於趨近-90度的位置,該使用者是處於1/2揮 位置;如果該高爾夫球桿70是位於趨近於0度的位置 使用者是處於1/4揮桿的位置。 第 6(a)圖顯示 ang_xl符號的變換而第 6(b)圖 ang_yl在四個象限中角度的變換。與其他角度資料相 ang_yl較穩定且對轉動較不敏感。對ang_xl而言.,因 球桿70可能被遊戲執行者轉動,其值即使當感應單i 是在同一位置時仍會不斷地改變。然而,如果加速度1 並未快速的移動,則其值之符號的值並不會改變。如第 圖與第6(b)圖所示,當該球桿70被揮動到使用者的 邊時,該ang —xl符號為正’ + ',反之該ang_xl符號為負 對ang_yl而言,如果該感應單元10並未快速移動, 該感應單元1 0的位置從底部變動到頂部時(從左手或 之任何一邊),其值會從90度變成-90度。在此具體 例中,為了要將角度資料ang_yl對應到正確的象限中 ang_yl的值會根據揮桿方向、向後揮桿或向下揮桿 義。第 6(c)圖顯示在根據向後揮桿方向之不同位 ang_yl的值,而第6(d)圖顯示在根據向下揮桿方向之 位置中ang_yl的值。ang__yl值的改變會決定該滑鼠控 的移動距離。然而,該球桿7 0的速度與高爾夫球將移 距離係根據該特定之視訊遊戲如何解釋此滑鼠控制器 揮桿 的位 球桿 桿的 ,該 顯示 比, 為該 I 10 十20 6(a) 左手 〇 則當 右手 實施 ,該 而定 置中 不同 制器 動之 移動 26 200527259 而定。 在本具體實施例中,可以確定的一點是,當該感應單 元10是在靜態狀態時,該角度資料是更可靠的,相較於當 該感應單元1 0是在移動狀態時,該角度資料是較不正確 rri ' 此’將南爾夫球桿揮桿資料(加速度及角度資料)轉 、成q氡控制器輸入資料將會有所延遲。為了要增進該轉 、速度到接近即時的狀況,第7(a)圖·第7(c)圖所示之示範 =程,可用來將未過濾之角度資料轉換成已過濾之角度資 料在該實施例中,t為目前之時間卜wg — yl⑴是表示該 =一加速度計20(卜卜2, 3,..…在y幸由的角度資料;acc — yl⑴ 疋表不該第一加速度計2〇(i = 1,2,3,··⑴在乂轴的加速 度資料;η表示該過濾器之大小;τ s s為s T D過濾、的門檻值; 1轉換過程中,暫時儲存角度資料的資料結構為堆疊 (stack);而STD()是表示一標準差函數。 二步驟700中,擊球軟體8。讀取目前資料框架並取得 牛^ j時y軸的角度資料ang肩),其中批n+i,」。 差,std 软體8〇會计算不同過遽器時段之標準 n = STEKang — y^))。在確定該標準差之 驟7 1 0中,擊球軟體8 0會判斷該桿準差0 乂 是否I"斷该軚丰差疋否大於門檻值(即 破視為疋在移動狀態中並繼續執行步驟m ★果該;^準差是等於或小於該 1 〇就會祜e *七 則該感應單元 破視為疋在靜態狀態,並在 軟體80,將哕自鄉r 715繼續執行該 “角度-貝料ang_yl⑴轉換成已轉換的角度資 27 200527259 料ang一yl’(t),以反映出該球桿7〇正確的象限。因為特定 的加速度計20測量出該角度位置是在〇到+Λ9〇度之間, 所以某些度數可能會位於兩個象限的其中之一,如第6(b) 圖之說明。此流程會決定適當之象限並將從該加速度計2 〇 接收的角度 > 料轉換成反應適當象限之角度資料。例如: -70之角度資料可以在右下象限中,也可以在右上象限 中,如第6(b)圖之說明。 在步驟720中,該軟體8〇會確定出堆疊b是否為空 的。若堆疊B不是空的,則在步驟725中該擊球軟體8〇 會根據MB及該已轉換之角度ang_yr⑴,以人工的方 式產生角度資m ’並將之作為新的資料框架及新增到堆疊 :中;堆4B則保持清空。如果堆疊B是空的,則在步驟 73〇中’該擊球軟體80會判斷堆疊A是否為空的。 在步驟730中,如果堆疊a; e介^ 合4 不疋空的,則擊球軟體80 曰根據堆叠 A及該已棘拖 算璺八及該已轉換角度Mg —yl,⑴,以人工的方式 座生角度資訊,並將之作為新的資粗 |幻貝枓框架並新增到堆疊c 〒;堆疊Λ則保持清空。如果堆舂Λ θ + 回禾隹叠Α疋空的,則該流程會 W到步驟700中並讀取一新資料框架。 接著到步驟740,該擊球軟體8〇會 力 I判斷目前在y軸的 力迷度是否小於開始時的加 心反(即 acc 一 yl< cc〜yl — starting)。在步驟745中,如里外。 — 於 如果該目前加速度是小 、該啟始的加速度,則該軟體8〇會新 鏟姑α 曰刚資料框架及已 褥換的角度資料angjl,⑴到堆疊 至丨丨半疏 且 中,之後該流程會回 巧步驟700,讀取新的資料框架。 28 200527259 如果目前之加速度資料不小於該啟始資料,則在步驟 750中,該擊球軟體8〇會確定堆疊b是否是空的。如果在 步驟750中,堆疊B不是空的,則在步驟?55中,該擊球 軟體80會根據堆疊B及已轉換的角度資料ang一yi,(t)來產 生角度資訊,將之作為新的資料框架並新增其至堆疊C 中,然後再將堆疊B設為空的狀態。該流程之後會回到步 驟700中並讀取新的資料框架。如果在步驟75〇中,堆疊 β Λ空的,則在步驟76〇中,該擊球軟體8〇會將目前資料 框架及已轉換的角度資料ang一yl,(t),新增到堆疊Α並回 到步驟7 0 〇中並讀取新的資料框架。 根據本發明之一具體實施例,將未經處理之角度資料 轉換成正確之象限角度資料之程序,將於此說明,並參考 第8圖之不範虛擬碼(pseud〇c〇de)。該擊球軟體會確定 出該yi軸的角度資料是否大於或等於零以及該球桿几是 Z是在向後揮桿狀態。該擊球軟體80會利用角度變動來確 疋出該球;^ 7G ^否是在向後揮桿狀態。如果滿足該狀態, 且如果在X2軸所測量的角度資料大於零,則在yi軸之已 :換角度資料等於-180減去在yl軸實際的角度資料。該 結果會將該遊戲執行者之左上象限或遊戲執行者之左下象 限的度數轉換至該遊戲執行者之左下象限1樣的,如果 在yi、軸之角度資料大於該啟始值減去60度,該球捍的揮 動會被判斷為向下揮桿(即移動到撞擊點)且該x 、馮小於或等於零,因而確認出該球桿7〇是在遊戲執行者 的左半象限,而該已轉換的yl角度資料等於18〇減去實際 29 200527259 角度值。其餘已轉換之角度值也可以利用第8圖所指定的 方式計算。 根據本發明之一具體實施例 评稈之禾屣
又 > 料 已轉換角度資料及未處理加速度資料之示例將 於此說明,並參考第9圖。圖中垂直顯示的值表示加速度 值’其測量單位為mg(lmg等於重力常數g的千分之一)。 圖中水平顯示的值表示揮桿所產生的資料區塊中之資料框 ° 在母一資料框架裡的acc_yi⑴是以線段91〇表 示母 > 料框架裡的ang一yl(t)是以線段92〇表示,而 每貝料框架裡的ang —yl,(t)是以線段930表示。如第s 圖所示,資料框架i _ 172,acc — yl⑴一直維持在i2〇mg(門 檻值)左右,此表示高爾夫球桿7〇是維持在揮桿之前的靜 止位置。資料框架173 _ 210, acc — yl⑴約1〇〇mg,猶低
於靜亡位置之門檻A 120mg,然後又回至120mg,這表示 將4 =爾夫球桿70向後揮桿的動作讓加速度小幅增加。資 枓框架川-3〇0, aCC-yl⑴維持約140mg,此也表示當使 =者暫停在揮桿最高點’高爾夫球桿7()維持在靜止位置。 貝枓框架301 _ 324,acc — yl⑴快速地減少Η—到接近 :g然後又回到140mg的靜止位置,這表示該使用者揮 夫球桿7〇❿使加速度大幅度增加,然後完成此揮 I度達=資料㈣31G處是最低點,這表示該揮桿的加 32:_ ,大值’以及高爾夫球的模擬撞擊點。資料框架 acc — yl⑴維持在約M〇mg的位 用者完成揮桿後,古k表不在使 皁才干後㈤爾夫球桿70停在動作結束的地方。 30 200527259 一如第9圖所示,資料框架1-165 , ang — yl⑴會因為該 门爾夫球桿7 〇非蓄意的移動而造成輕微的波動。在資料框 架166,田該非蓄意的移動減少之後,該擊球軟體會辨 =出該高爾夫球桿70是在靜止位置,並開始將ang—yUt) 、貝料對應到正確的象限以取得第8圖所述之—Η’)。資 料框架H2U,當該高爾夫球桿7G在揮桿前以及在向 後揮杯其間,維持在靜止位置時,ang—yl,⑴會維持在一常 數值。在身料框架2l2,ang jl,⑴會顯著地降低,這是表 不過濾演算法利用有效的角度資料計算該球桿7〇所在之 象限。資料框# 229 - 300,在計算後,該演算法就會決定 該球桿70實際位於3/4揮桿象限中,而該已過濾之資料會 根據該計算予以調整。資料框架3〇1 _ 324,wc — yl⑴會 大幅度地增加,這是表示該使用者揮動該球桿7〇所造成的 象限變化,之後的大幅減少表示使用者完成球桿7〇揮動後 所造成的象限變化。 根據本發明之一具體實施例,將高爾夫球桿揮動之角 度變化轉換成滑鼠控制器移動距離之流程將於此說明。 一旦未經處理的角度資料,ang_yl⑴被轉換成為正確 的象限角度ang_yi,(t),該滑鼠控制器移動距離就可以計算 出來。以下將⑷全揮桿;(b)低切球及⑷推桿轉換成滑鼠 控制器移動距離的示範流程分別參考第1〇(a) i〇(c)圖中的 虛擬碼予以說明。 在這些實施例中,t A a诰π太μ …、目則的時間’而ang一yl’(t)為該 第-加速度計20 t y軸之目前資料框架内的角度資料; 31 200527259 動的距離可能根據揮桿模式與高爾夫球桿7〇的位置而被 對應。 w'(t-i)為該第一加速度計20之y軸之先前資料框架 的角度資料。ang_yl,⑴與— 間之滑鼠控制器移 根據本發明之一具體實施例,將一高爾夫球桿推桿的 角度變化轉換成滑鼠控制器移動距離的流程將於此描述。 使用者在特定視訊遊戲之推桿模式下,必須移動滑鼠 較長之距離以執行揮桿擊球的動作。然而,使用者通常在 推桿時只會將該球桿70移動一小段距離。為了要讓該使用 者感覺更真實,在推桿模式下,必須要能夠在小角度變化 中移動長距離。該角度變化可以直接對應到滑鼠的移動距 離,而在全揮桿模式跟低切球模式下也是一樣。然而,因 為該未處理的角度資料含有雜訊,當遊戲者將球桿握在 靜止位置,無法保證該角度資料在運用前述之視窗過濾技 術後不會有任何改變。下列的虛擬碼顯示出解決該問題之 可能方法,在該方法中,球桿移動距離等於該球桿7〇角度 變化乘上一轉換變數R,此變數是根據目前角度與啟始角 度之差異。在下述之虛擬碼中,變數distance表示滑鼠的 移動距離’而該距離測量的單位為像素(pixel)。該程式碼 也可以確定出是否需要忽略其輕微的移動(2-5行),以避免 誤擊高爾夫球。再者,如果球桿7 0經過啟始位置,程式碼 會假設使用者打算要揮擊高爾夫球(第7行)並確定一最短 距離,例如··五個像素。
Input : angle_change and current —angle ; Output : distance 32 200527259 1 ) distance = angle_change 2) For last PUTT_DOWN_STABLE_LENGTH frames of angle data (ang_yl), Let kl = the number of angle changes that are greater than 0 and less than 10. 3) For last PUTT_UP__STABLE_LENGTH frames of angle data (ang_yl),Let k2 = the number of angle changes that are less than 0 and greater than -10. 4) If (kl= 1 Or k2==l) Then distance = 0 5 ) Suppose a)current一angle > starting_angle - 15 ; or b) current_angle > starting_angle -3 0
And current_angle< = starting_angle-1 5 ; or c) current_angle > starting_angle- 4 5
And current__angle <= starting_angle-3 0 ; or d) current_angle > starting_angle - 60
And current_angle <= starting__angle-45 ; or e) otherwise.
Then Let R = 24,24,16,16,8 corresponding to a)_e) respectively.
6) Let distance = distance * R 7) If (club passed starting position and distance < 5) Then Let distance = 5
習之技藝人士皆明暸可將此修改為程式碼。舉例而 言,該R之值作為例示,對應到該值之角度資料範圍亦同。 當使用者工作站90是一執行Windows作業系統的PC 33 200527259 時,一 Windows應用程式介面(API)「sendlnput」可用以 自動移動滑鼠。該宣告為:Declare Function Sendlnput Lib ’’user32.dll" (ByVal nlnputs as Long, plnputs As INPUT_TYPE,ByVal cbSize as Long) As Long。該 API 的 詳細資料可以參考Microsoft的軟體開發套件(SDK )文 件’可於 http : //www. part ware.com/ebooks/API/refs/ sendinput.html 找到。 由擊球軟體8 0所算出之滑鼠控制器移動距離可能需 要以倍數增加的移動方式實施,而非單一滑鼠控制器之大 量的移動’以確保可適當的模擬使用者之揮桿。例如:當 表示使用者揮桿的加速度資料與角度資料被轉換成一超過 5 0像素的滑鼠控制器移動距離時,此一大量之滑鼠控制器 移動距離無法讓一視訊遊戲(如:LINKS 2003 )精確地暸 解。當擊球軟體80所計算出的滑鼠控制器移動距離太大以 致於無法被該視訊遊戲精確的瞭解時,該滑鼠控制器移動 距離會被多個滑鼠移動步驟所表示。對於各個不同的揮桿 模式該π乳移動步驟的長度也會不同。在每兩個模擬的 滑鼠控制器移動中,擊球軟體80必須等待某段時間來讓該 使用者工作站9〇的作業系統可以回應該最新的滑鼠控制 器移動命令。否則,將會觸發-新的Sendlnput,並停止最 新的滑鼠控制器移動’這將使LINKS 2003中的球桿70無 法與真實揮桿動作相符。在某些具體實施例中,向後揮桿 與向下揮桿的等待時間為10毫秒。 根據本务日月之一具體實施例,^肖大揮桿資料轉換成 34 200527259 可讓視訊遊戲瞭解之滑鼠控制器移動資料之示範流程,將 於此處說明’並參考第1 1圖之虛擬碼。從感應單元1 0所 接收之加速度及角度資料被轉換成為滑鼠控制器移動資 料’但該滑鼠控制器移動資料卻可能太大以致某特定視訊 遊戲無法一次處理。因此需要將此大量的滑鼠控制器移動 資料從一大段的移動資料分成許多小段的移動資料。例 如:一 1 0 0像素的滑鼠移動在推桿或低切球時,可能需要 分成四個2 5像素,以及在全揮桿時,分成兩個5 〇像素。 Input : distance ; Output : distance —lo〇p() and distance_number 1) If club is in a)Putting status ; or b)Chipping status ; or c)Full swing status,then Let R = MAX —LOOP —STEP_PUTT,MAX_LOOP —STEP —CHIP, MAX_LOOP_STEP^NORMAL5 respectively.
2) distance_number = distance / R 3) For k = 0 To distance_number-1
4) distance_loop(k) = R 5) Next k 6) If (distance_number >= 1) Then 7) distance_number = distance_number - 1 8) Else 9) distance —loop(distancenumber) = distance 10) End If 在其他具體實施例中,擊球軟體8 0會更詳細地描述出 35 200527259 桿頭正面的位置, 或正面(square), 度或方向。在某些 被職予特定的揮桿 桿頭正面的位置會 決定出。在其他具 查球桿移動方向橫 特定言之,在 定係根據該使用者 桿會讓桿頭面位置 頭面微向後轉;一 為了確定何種速度 揮桿練習來訓練該 在記憶體中並分成 在特定具體實施例 際揮桿的速度就會 均速度來決定,雖 或較多的點取得。 ADXL202雙轴加速 下列的範圍與桿頭 1 4 8 -1 8 0 m g 時,則 ang_yl是在中間區 之桿頭面位置,如; 該球桿頭是在微向 也就是右偏(open),微向後轉(closed) 以決定高爾夫球經過撞擊點後之行徑角 具體實施例中,每一桿頭正面的位置會 速度範圍。當一使用者揮動球桿7 〇時, 根據該包含使用者揮桿速度之範圍而被 體實施例中,桿頭正面的方向係藉由檢 切面之加速度元件而決定出。 一具體實施例中,該桿頭正面位置之決 在撞擊點之揮桿速度:一平均速度的揮 在正面;一小於正常速度的揮桿會讓桿 大於正常速度的揮桿會讓桿頭面右偏。 對使用者而言是正常,使用者可以藉由 軟體8 0。揮桿練習的速度範圍會被紀錄 三個範圍,分別對應三種桿頭面位置。 中,當使用者的揮桿被校準之後,該實 以撞擊點與撞擊後緊接兩個框架間的平 然該值可能是利用揮桿(即框架)中較少 例如:使用該 Analog Devices Inc·的 度計,某些使用者在全揮桿時可能會有 丨面位置:如果ang — yl是在高區間的 球桿頭是在右偏之桿頭面位置,如果 間之1 43- 1 47mg時,該球桿頭是在正面 艮ang — yl是在低區間的120-142mg時, 後轉之桿頭面位置(mg等於重力常數g 36 200527259 的千分之一)。如果是低切球或是推桿則為:若ang_yl是 在高區間的13 1-1 65mg時,該球桿頭是右偏之桿頭面位 置,如果ang_y 1是在中間區間之126-I30mg時,該球桿 頭是在正面之桿頭面位置,如果ang — yi是在低區間的 90- 1 25mg時,該球桿頭是在微向後轉之桿頭面位置。習之 技藝人士皆明瞭,任何數目的位置均可被利用,包含小於 或大於三種(例如:右偏或微向後轉之位置有不同的等級) 以及速度範圍也可以被分成較少或車父多的子等級。再者, 該位置的子等級也可以(但非必須)統一大小。 在本發明之其他具體實施例中,速率迴轉儀除了轉換 動作之外,也可以作為額外的感應器來取得旋轉動作,以 考量六度自由度(six degrees of freedom)。在此具體實施例 中,六度自由度可包含三個向度,以描述一個體在三度空 間的動作,而且可包含另外三個向度以描述旋轉動作。 在本發明之再一具體實施例’於一高爾夫球視訊遊戲 或應用程式中利用不同的感應器,其將於此說明,並參考 第1 2與1 3圖。用以實施本發明該具體實施例之元件包含: 一揮動臂裝置1210,一揮動臂連結器1220及擊球軟體 1 23 0。雖然該擊球軟體1 230可以執行在任何種類的使用者 工作站9 0上,例如:^一個人電知(P C) ’與一顯不器或電視 連結的視訊遊戲控制台或其他電腦裝置,並可配合任何種 類的電腦或視訊遊戲應用程式,但在本具體實施例中,該 軟體應用程式是在一 PC上執行,且該電腦應用程式是一 高爾夫球視訊遊戲,其利用滑鼠控制器輸入。 37 200527259 該揮動臂裝置1 2 1 〇會測量高爾夫球的速度、方向以及 球桿的移動,詳如下述。該揮動臂裝置1210與揮動臂連結 器1220相連接,該揮動臂連結器122〇可處理該揮動臂裝 置1210之輸出。該揮動臂連結器1220會將其輸出傳遞至 使用者工作站9 0,以讓該祝訊遊戲使用該資料。雖然在本 具體實施例中,各元件是分離的,但該硬體和/或該連結器 1 220的功能可包含在該裝置1210或使用者工作站9〇中。
在此具體實施例中,如第13圖所示,該揮動臂裝置 12 10上會有一模擬的高爾夫球1 302附接在一把手13〇6 上,該把手能夠自由地在沿著旋轉軸之環1 3 1 〇周圍擺動, 而且該旋轉軸是安裝在揮動臂裝置1210主體1314中,並 與地面平行。當高爾夫球1 3 02被一高爾夫球桿打擊時,該 高爾夫球1302及其所依附之把手1306會將環繞著旋 轉軸旋轉。該向爾夫球的速度與距離會由旋轉率決定。今 把手1 3 0 6也可橫向移動至向前旋轉之方向,藉以測量球 的飛行角度(例如:左、右、右曲球、左曲球、直球)。雖
然在本發明之特定具體實施例中已描述 <如何測量該轉換的 動作’例如:球的方向或球的飛行角度, 在本發明之其 他具體實施例中不需要測量該轉換的動作。 特定言之,該揮動臂裝置1210之主體由‘ ^ 、 耀中有三個光學發 射/偵測器組。第一組光學發射/偵測器組 1 j 04是用來決定 附加了模擬高爾夫球1 302及把手1 306之芦 ^ < ^ 1 3 1 0的旋轉 率。要測量此旋轉率,必須將一圓盤1 305放置於光學發射 Μ貞測器組中間,該圓盤1 305周圍係以玫射狀方式平均切 38 200527259 割出多個狹縫。當該圓盤旋轉時,該光學發射器發射到對 應的接受n之光線被週期性精,該阻斷週期係由該圓盤 上狹縫的寬度以及該圓盤的旋轉速率所決定。從該光風發 射/偵測器組所發射出的類比訊號為一脈衝串列(p^e ㈣十經由此-脈衝串列可決定旋轉率,而速度亦可因此 決定。該類比訊號會透過RJ_45連結器1318傳 連結器1220 。 另兩個光學發射/偵測έ】 飛杆方…… 係用以決定高爾夫球 — 發射偵測裔組疋並排在該旋轉軸 邊 並,口著一螺絲釘1 3 2 9而妓里 ,. 祕。舍古 22而放置,相當於該環1310之區 域田鬲爾夫球1302不是祜筈古a般 # 筆直也擊出時,該螺絲釘1 322 就會在該光學發射/偵測 322 器、、且間铋向地移動,並阻斷風 射/偵測器組間的光線。從該 斷先予卷 ^ - μ >,、 予發射/偵測器組所產 =兩訊《的時_可決定出該主旋轉軸的橫向位移有 夕/即測罝一筆直揮桿之擺動偏移角度,例如:右 右曲球、左曲球。在另—且舻 左、 具體實施例中,該環包含一 列與該環同圓心之圓盤, 一系 當該環做橫向移動時,亨圓……处“貞測益組。 该圓盤會阻斷該偵測器組。 次數可決定出與直線之偏. 阻斷的 义偏移1 (例如·與偏移量成 該類比訊號會透過rj_45連結 18 。 1220。 埒翰給揮動臂連結器 球的飛行的速度係藉由在一特定時間區間内 -光學發射"貞測器組的脈衝輸出數量所測量。”箕异第 值會透過微控制器款體,轉換成英哩/每 之數 叮 < 早位。在該 39 200527259 具體實施例中,球的飛行速度或切線速度V,是利用以下 公式獲得: V = N*(L/R)*(S/T) 其中N是表示在τ時間内所計算之脈衝數目,L是表示附 有一模擬高爾夫球之把手的長度,R是該第一光學發射/ 偵測器組間旋轉之圓盤之半徑,而S是圓盤上各狹縫間的 圓弧長度。 特定言之,該擊球軟體1230利用速度與方向的資訊來 合成滑鼠轉換資料。習之技藝人士皆明暸,擊球軟體所使 用的速度不需要是從感應器得到的實際速度。相反的,該 合成的滑鼠資料可以是一實際速度的校正值。此種校正被 視為「敏感度(sensitivity)」。在擊球軟體中(以及在某些 具體實施例中,也可以是在視訊遊戲中)使用不同的敏感 度’不同的遊戲執行者可個別校正遊戲時的感覺。根據本 發明之一具體實施例,如第1 7圖所示,透過使用者工作站 90上之一圖形化使用者介面,使用者可調整每一揮桿種類 或模式(全揮桿、低切球、推桿等)轉換成滑鼠控制器輸入 二貝料之敏感度’以模擬使用者的揮桿。較高的敏感度表示 在該視訊遊戲中達到同樣效果的揮桿,需要較慢的球桿速 度(或下述具體實施例之球速)。較低的敏感度表示在該視 Λ遊戲中達到同樣效果的揮桿,需要較快的球桿速度。另 外也可能有預設按鈕讓使用者可將敏感度回復到預測值。 擊球軟體1 230内之演算法根據驅動視訊遊戲所需之 /月乳移動和/或點擊類型,合成出滑鼠移動資料,藉以實現 40 200527259 揮桿’該揮桿可模擬出揮動臂裝置121〇所測量之實際揮桿 速度及方向。該演算法已於前文說明。 在一具體實施例中,揮動臂裝置1 2 1 0的外型可以是 Dennco公司所銷售之商標產品SWING GROOVER以及 SWING GROOVER II 之改良。對 SWING GROOVER II 產 品之選擇性改良,包含在置於一光學發射/偵測器組間的塑 膠圓盤中,增加狹縫的數目。該額外的狹缝會在塑膠盤上 形成,在這些形成之區域内,該環1 3丨〇可能是置於靜態狀 態之位置(即當球1 3 0 2是自由地吊著且沒有移動),因此能 偵測到更精確的動作,此在測量推桿或其他微量的移動時 特別有用。另外,也可將SWING GROOVER II選擇性地修 改,使得球擺動把手1 3 06利用一較粗之金屬線依附於環 1310上。該較粗的金屬線可以用來提供一更穩定與耐用之 平台,並可減少通過提供角度資訊之光學發射/偵測器組之 材質的彎曲。在其他具體實施例中,可利用未經修改之 SWING GROVER 或 SWING GROVER II 揮動臂裝置。 該揮動臂裝置之示範實施方式已於美國專利申請案 6,25 7,9 89以及5,1 78,3 93文號揭露,該兩件專利均以參考 文獻方式併入本案,其實施方式可以上述所揭露之方式修 改。 在本具體實施例中,由於揮動臂裝置1 2 1 0之物理限 制,球飛行方向的測量需在解析度增加1 〇度内,最高到從 直線移動增加30度;然而,其他揮動臂裝置、解析度及最 大值都是在本發明的範圍内。 200527259 此外,在其他具體實施例中,包含在本發明所述之第 -微控制器内之-或多個演算法,可修改自美國專利申請 案6,257,989文號中所述之揮動臂裝置内之演算法,如此 一來在慢速揮桿時,例如:該揮桿可能發生在推桿時,由 於方向資料在慢速揮桿下可能會不可靠,所以並不會測量 方向。在其他具體實施例中,系統會利用不同的方向演算 法來計算不同的揮桿(或移動)速度。舉例而言,當在推桿 模式或是當一揮桿(球的移動)低於一事先決定的速度時, 就可能利用較精細的檢測及較低的最大值。在某些具體實 施例中,就不需要用到方向資訊(即假設球是直線飛行)。 揮動臂裝置1210會透過一 RJ-45的連結器1318(也可 以使用其他連結方式)與揮動臂連結器122〇相連。該揮動 臂連結器丨22〇會從該揮動臂裝置121〇接收類比訊號輸入 資料。將來自揮動臂裝置121〇之類比與數位訊號處理後, 該揮動臂連結器1220會計算球的速度與方向。當計算出速 度與方向值後,這些資料會透過標準USB介面傳輸到執行 視rfL遊戲軟體之使用者工作站90(在此為一個人電腦)。該 資料傳輸格式係依據人機介面裝置(Human interfaee Device,HID)標準,但亦可使用其他格式。 揮動臂連結器1220從該揮動臂裝置ι21〇接收三種類 比訊號:一關於速度(以及因此所產生的距離)之脈衝串列 訊號以及二關於方向(例如:角度偏移)之脈衝串列訊號。 該兩個脈衝串列之間的時間差表示球飛行的角度偏移。在 該揮動臂連結器1 2 2 0内部中’經過一些類比過濾以消除雜 42 200527259 訊並改善訊號品質之後,該三個訊號會傳送到第一微控制 器。該第一微控制器是揮動臂連結器1 220中的主要控制 器。該微控制器韌體之演算法可利用該三個類比訊號計算 出球飛行的速度與方向。 接著速度與方向資訊傳送至在該揮動臂連結器1220 内的第二微控制器。該第二微控制器係為一 U S B介面之控 制器。該第二微控制器從第一微控制器接收速度與方向資 訊,並將該速度與方向f訊根據HID及USB標準(或其他 標準)予以格式化。當該速度與方向資訊經過適當之袼式化 後,該資訊會透過該標準USB介面傳送至該個人電腦。 擊球軟體1230會監控個人電腦的USB埠。依據來自 該揮動臂連結器1220之適當格式化的速度與方向資訊,擊 球軟體1 2 3 0會將該資訊轉換成為模擬的遊戲控制器移 動,在此為滑鼠移動,如:利用本發明所描述之方法。該 擊球軟體1230將該轉換過之資料提供至用以存放該遊戲 控制器輸入負料之作業系統暫存區,而視訊遊戲軟體可在 此處以取得滑鼠或其他控制器資料之方式,取得前述之資 料’並利用其以將該遊戲逼真的呈現,包含遊戲角色之移 動控制。因此,該擊球軟體1 230係獨立作業並且不會讓該 視訊遊戲察覺。然而應注意的是,在其他具體實施例中, 該資料可能以其他方法提供至該視訊遊戲,包含由該視訊 遊戲取得該資料。 特定言之,該擊球軟體1 230利用速度與方向資訊合成 滑鼠轉換資訊。擊球軟體1 23 0内的演算法根據驅動視訊遊 43 200527259 戲所需之滑鼠移動和/或點擊類型,合成出滑鼠移動資料, 藉以實現揮桿,該揮桿可模擬出揮動臂裝置1 2丨〇所測量之 實際揮桿速度及方向。該演算法已於前述之實施例說明。 在特定具體實施例中,該擊球軟體1 23 〇也可以利用圖 形#員取及樣式識別來決定視訊遊戲軟體中某些設定及資 訊。這些設定與資訊,可能包含,但不限於,揮桿種類(例 如:全揮桿,低切球,推桿)、視訊遊戲軟體上正執行的高 爾夫球場名稱’或使用者揮桿後,球在視訊遊戲中所在之I 位置。該視訊遊戲軟體可能在一視覺顯示裝置中,例如: 螢幕、電視' PDA…等,於不同時間點顯示與遊戲有關之 某些遊戲設定或遊戲資訊,例如··高爾夫球球場資訊、球 桿資訊與揮桿資訊、或其他從視訊遊戲軟體產生的輸出資 料(在本發明為「遊戲設定」)。舉例而言,其可能有利於 擊球軟體1 2 3 0之識別、擷取、和/或利用此遊戲設定,以 幫助該視訊遊戲軟體和本具體實施例的系統或方法之相容 性。傳統而言,從視訊遊戲軟體取得此遊戲設定,需要存 取視訊遊戲軟體的原始碼或一些程序間通訊(interprocess communcation)類型。習知技藝人士皆明暸,本具體實施例 中之樣式識別無須此程序間通訊。 在本發明具體實施例之一選擇性功能中,擊球軟體 1 23 0會識別和擷取視訊遊戲軟體之遊戲設定,其方式為願 取顯示在使用者工作站90上之遊戲設定螢幕畫面(可利用 全螢幕影像或部分螢幕影像),並使用影像處理及樣式識別 技術分析這些被擷取之影像。在某些具體實施例中’當視 44 200527259 遊戲权體執仃時’例如:在遊戲執行者揮桿前後時 擊球軟體1 23 0會在特定的時間點檢查影像。該影像會 求軟體1 2 3 0为析,而該擊球軟體工2 3 〇的影像檢查點 系統所使用之視訊遊戲軟體而異。下列第14圖之例子 明利用本具體實施例之影像處理及樣式識別技術之方; 首先,在開發擊球軟體i 2 3 〇時,會收集樣版影像 存在貝料檔案中。在較佳的具體實施例中,樣版影像 集係藉由檢視系統所使用之視訊遊戲軟體,並將關於 多個遊戲设疋螢幕影像之樣版影像資訊,記錄在擊球 1 2 3 0内之資料檔案,該遊戲設定係於視訊遊戲軟體執 間所出現。該樣版影像資訊可包含:該影像或一該螢 像之表示;螢幕區域或螢幕部分,在其上可發現該影 例如:用像素或其他二維座標值;執行視訊遊戲時, 所出現之位置或時間;該影像如何達成或改變該遊戲 等。舉例而言,第14圖說明了 Microsoft Links 2003 夫球視訊遊戲的螢幕晝面,其可用於本發明之特定具 施例中。樣版影像資訊可以下述方式收集:使用者的 後顯示項目(post shot selection),例如:螢幕影像 現之打擊後顯示項目1 405;在打擊後顯示項目的榮幕 内之球位置螢幕影像1415,其表示出揮桿後,球在特 類的位置(例如:球道(fairway)、果嶺(green)、果嶺 (fringe)、沙坑(sand));螢幕上該較大及較小螢幕影像 素位置;以及在遊戲執行期間,該螢幕影像出現的位 例如··在使用者揮桿後。大致而言,參考點1 4 1 〇以及 ,該 由擊 會因 ,說 並儲 之收 一或 軟體 行期 幕影 像, 影像 ···等 高爾 體實 打擊 所呈 影像 定種 邊緣 的像 置, 球位 45 200527259 此可先確 像 1415 。 可對應至 *「果嶺邊 哪種影像 擇之影像 儲存在擊 體會監控 個時間、 ,擊球軟 目的螢幕 ,而其在 目螢幕影 項目螢幕 的參考點 螢幕解析
置螢幕影像丨415之相對距離與方向是已知的’因 定該參考點1410’接著確定並讀取球位置螢幕影 該顯示為「球道」之球位置螢幕影像“Η,接著 其中一種可能的位置,例如:「球道」、「果嶺」 緣」或「沙坑」。這些給使用者之影像及資訊要以 呈現則是設計選擇之問題。需強調的、,無論選 或資訊為何,皆可運用本具體實施例。 第二,在遊戲執行的過程中,根據被收集並 球軟體i 230資料檔案之樣版影像資訊,該擊球軟 視訊遊戲的螢幕,以確定遊戲設定之影像會在某 某一區域出現。舉例而言,根據該樣版影像資訊 體iSSO可能會瞭解要監控螢幕之打擊後顯示項 影像,在其中有一表示高爾夫球位置的螢幕影像 使用者每次揮桿後就會出現。在該打擊後顯示項 像1 405上的特定參考點1410,與該打擊後顯示 影像1405内之在較小的球位置螢幕影像i415上 1 4 20,兩者之間之相對位置可能固定在一特定之 度0 第二,^偵’則到一螢幕影像,該擊球軟體i 2 3 〇會確認 出該螢幕影像的參考點。舉例而言,當該擊球軟體123〇 偵測到一螢幕影像在該使用者揮桿後出現,該擊球軟體 1 23 0會確認出該螢幕影像在該螢幕上的參考點或像素。 第四,用來確認正被分析之螢幕影像之位置的像素或 其他座標值會由該擊球軟體1230校正,以相容於該視訊遊 46 200527259 戲軟體之解析度設定。當所監控之較小螢幕影像出現在較 大螢幕影像裡時,在該較大螢幕影像的參考點(例如:打擊 後顯示項目影像140 5)與在該較大螢幕影像内之較小螢幕 影像的參考點(例如:球位置影像1 4 1 5 )之固定距離,也可 以同樣地方式校正為該視訊遊戲軟體的解析度。該擊球軟 體1230可透過使用者工作站90上作業系統之介面來確定 該解析度設定,例如:WINDOWS API。
第五,該擊球軟體1 2 3 0將正被分析的螢幕影像之已校 正位置與表示該正被分析之遊戲設定之已儲存樣版影像資 訊相比較,並找到最大之影像關連性。該影像關連性是指 在尋找與樣版影像相符之遊戲内容期間,所擷取螢幕影像 之相似程度。如果兩個影像幾乎相同時,其關連性就是 1 0 0 %,如果兩個影像完全不相同時,其關連性就是〇 %。 在本具體實施例中,該擷取影像與樣版影像之關連性是在 100%與0%之間。當兩張影像的關連性越大,這兩張影像 也就越相似。該擊球軟體1 230會計算一擷取影像與一或多
個已儲存之樣版影像之關連性。與螢幕影像關連程度最高 之樣版影像會被視為具有最高之關聯性。在此具體實施例 中’將該螢幕影像與該樣版影像以像素對像素或點對點的 方式比較,可4定出關連程度。如果該掏取影像與任一樣 版影像的差異低於一特定門捏值,例如:σ古
/、有特定數目的 像素不相同,則該擊球軟體1230會視該兩m & μ J取衫像為相同。 在其他具體實施例中,也可使用於本技蓺所羽上 π所習知之關連性 分析方法。 47 200527259 舉例而言,在第14圖中該打擊後顯示項目螢幕影 1 4 0 5的位置會調整至該執行視訊遊戲的使用者工作站 之作業系統解析度設定。該擊球軟體1 2 3 〇可能會根據打 後顯不項目榮幕影像1 4 〇 5之已校正位置以及遊戲執行 間該打擊後顯示項目螢幕影像14〇5出現在螢幕上的 置’為一有潛力相符之影像,搜尋已儲存樣版影像資訊 當該擊球軟體1 2 3 0確定出與打擊後顯示項目螢幕影 14 05相符之已儲存樣版影像,接著該擊球軟體ι23〇可 據在打擊後顯示項目螢幕影像14〇5裡較小的球位置螢 影像1 4 1 5之已校正位置距離,決定高爾夫球的位置,並 行像素對像素比較,以確定哪個已儲存樣版影像具有最 之關連性。 第六’該擊球軟體1230會識別出對該螢幕影像具有 大關連性之樣版影像,並根據相當於該樣版影像並儲存 h料案中的樣版影像資訊,以轉定出特定之遊戲設定 在該實施例中,「球道」之樣版影像與球位置影像1 4 〇 5 最大關連性,因此,根據球道的樣版影像資訊,該擊球 體1 230可將適當的轉換演算法(例如:全揮桿模式之轉 演算法)應用在從揮動臂連結器1220所接收的下一高 夫球揮桿資料’以適當地模擬使用者在球道上所執行的 一個高爾夫球揮桿。 該資料的儲存方式將於此具體實施例詳細說明。 當高爾夫球在移動時,該揮動臂裝置121〇會傳輸 號。該揮動臂連結器1220將韌體演算法储存在第一微控 像 90 擊 期 位 〇 像 根 幕 進 大 最 在 0 有 軟 換 爾 下 訊 制 48 200527259 器1302中,該韌體演算法係用以計算球飛行之速度與方 向。該揮動臂連結器1220也會將韌體儲存在第二微控制器 中,以根據該HID規格格式化速度與方向資料,並透過標 準USB將此資訊傳輸至使用者工作站9〇上之USB埠。該 擊球軟體1 23 0可能會儲存曰期/時間、速度、方向及每次 揮桿的揮桿模式。 該擊球軟體1230也可能會儲存該遊戲執行者慣用手 的相關資料、球桿方向喜好、自動檢查線上更新之喜好、 偵測揮桿模式之能力、以及要使用哪些按鍵來手動選擇揮 桿模式。該擊球軟體1 230也可能會儲存如日期/時間、揮 桿速度、料方向、揮桿模式或球桿類型等之揮桿資料。 舉例而言’在特定具體實施例中,也可在不需要任何視訊 遊戲軟體時使用該擊球軟體1230。當在沒有視訊遊戲軟體 而使用擊球軟體12則,除了某—揮桿之速度與方向外, 球桿類型也會被該擊球軟體1230紀錄起來。根據本發明之 一具體實施例’如帛16圖所示,該使用者可選擇多個設 定’如:使用者是否慣用右手或慣用左手,以及是否應利 :使用者工作# 90所顯示之圖形化使用者介面來設定球 桿方向。 在特定具體實施例中,該揮桿資料可以透過任一種有 線或無線傳輸方式(例如:,網際網路、内部網路、全球資 :網、區域網路或其他連結方式’並可使用任何通訊協 疋上傳至一球桿分析服務。在此具體實施例中,者該擊 球軟體⑽正於該使用者工作站90上執行或當其::行 49 200527259 與該服務通訊之功能時(例如:經由—禮 评動霄連結傳 送),則在每次揮桿後,該擊球軟體123〇古处A ° 丄有旎力將揮桿速
度與方向、日期/時間、高爾夫球場、借用I 、 。 切使用者進洞的分數、 或任何從該感應器或視訊遊戲所收隼的使从-处 汞的具他資訊, 炱 該服務。 在一具體實施例中,該擊玻敖# , 軟體1230可在「統計 (Statistics )」模式下執行,該模式 卜而興該視訊遊戲軟 體互動。如第1 5圖所示,在統計模式 丁 1之用者可透過該 使用者工作站90上所顯示的圖形化使用者介面,選擇每一 次揮桿實際使用之球桿。該上傳至服務之f料,+僅包含 速度與方向資料,纟包含了使用者實際使用之球桿種類。 在該具體實施例中,日期、時間、捏浐絲相 丄 伴枰種類,球桿種類、 速度、及/或每次揮桿的方向也都會祜士 却曰被记錄並上傳,以提供 該使用者一段時間的效能分析,例如.枝— 列如·特定球桿種類的平 均距離或方向。該資料可透過網路上#,例如:網際網路 或區域網路,而使用者效能之分析資料(例如:每一球桿之 平均距離、速度、方向等)也可以自動地由飼服器(如網頁 伺服器)i執行之軟體程式提供,或由使用者自行分析該 資料並提μ®或電子報表。肖統言十資料也可儲存在擊球 軟體1230中,並由使用者檢視,痞Β、系t 士始icisi 似机 或疋透過在第15圖所顯 示的圖形化使用者介面來上傳並分析之。 在其他具體實施例中,該視訊遊戲軟體會結合此服 務。當該服務與特定視訊遊戲軟體—起使用時,例如: Microsoft Links 2003 ’則在該遊戲執行時,該服務可能會 50 公、' , 200527259 使用上述之圖形擷取與樣式識別法,擷取依該視訊遊戲軟 體所計算之額外資訊,例如:球移動的所有距離、 ^ 17C ^才干 、在遊戲中所使用的球桿、該球洞的標準棹杆數 所在之球場…等。該服務可能會以各種方式處理資料,、 提供電子化或人工製作之分析給使用纟,該分’二 餅圖、長條圖、時間序列圖、或甚至在高過圓 擬圖上甚頁干-m 土七乂堪 竣 /每球洞模 做圃工•,肩不雨爾夫球位置…等表示。 擊球軟體1 230如何將使用者揮桿 铕狄击丨丨毋从 夏貧抖轉換成滑 鼠控制訪輪入資料將利用此實施例說明。 在該敏感度之頁籤中,具有三個滑動 虹下、、宫曾、+ 月動才于(slider)可用來 i 游齡 或轉換速度來控制 視訊遊戲。基本上來說,選擇越高 勒μ 门扪敏感冑,則所需之實 際速度越低即可讓高爾夫球移動某特 > 巨離。利用該「預 汉值」按鈕可回復到預設值。該敏 夕當笪法目士 縱砍度參數對本發明所述 之凟算法具有影響之作用,因為发 ..„ . , 一將實際速度轉換成該演 异法所使用之速度值。例如,使 — 、 有以母小時3 0莩哩(透 過該感應器來測量,例如,藉由高 、 声門捲尸4爾夫球繞著軸旋轉之速 度間接付知)的速度揮動他的球 n $,目,丨、、當瞀 果該敏感度值為 0 · 5 ’貝j 算法理所使用之速度值為 # * 央11里/小瞎降以〇 . 5 ’ 等於60英哩/小時。因此,在視訊遊戲中,古,、 的距離會超過在現實世界裡的距 阿爾夫V加Μ 丁 热认也此 離該敏感度校正並非必 要的動作,而且可由使用者手動或由擊 例而言,根據球桿、所選擇之視訊遊戲 自、動:(行 者的技術等級(如··專業、中等或初 予者),和/或其他因素)。 51 200527259 在將該揮桿測.量值 擊球軟體1 230所計算典成為滑鼠控制器資料時,由該 遞增移動而非單一大2之滑鼠控制器的移動距離可以多重 當的模擬使用者的揮^ ^遊戲控制器移動實施’以確保適 速度與方向資料轉換2、。舉例而言,當表示使用者揮桿的 動距離時,則此—大旦:、超過五十像素的滑鼠控制器移 -視訊遊戲積確地睁解的:鼠控制裔移動距離’將無法被 軟體㈣所計算LINKS2GG3°^由擊球 出之h鼠控制器移動距離太大以致於盔 法讓該視訊遊戲精確# _ 、…、 贯嘩地瞭解時,該滑鼠控制器移動距離會 以數個較小的遞增潘& 月以控制裔移動等級來表示。對每個不 同的揮桿模式而言,你 1J如·推;f干、低切球及全揮桿,該滑 :控制器移動等級之長度也會不同。揮桿模式可包含推 桿’低切# ’及全揮桿。也可定義額外的揮桿模式以達到 更精確與真實的結果。 根據本發明之一具體實施例,將異常巨大的揮桿資料 轉換成視訊遊戲能瞭解之遊戲控制器移動資料(在此實施 例為滑鼠控制器移動資料)之示範流程,將於此詳述並參考 下述之虛擬碼。當滑鼠控制器移動資料太大以致特定視訊 遊戲無法一次處理時,從該揮動臂連結器1 2 2 0所接收之速 度與角度(方向)資料,可透過使用内建在擊球軟體1230裡 的查尋表(lookup tables),而被轉換成滑鼠移動資料。因 此’若要得到所希望的結果以及根據視訊遊戲,必需將該 滑鼠控制器移動資料從一次大的移動分解成為多個較小的 移動。舉例而言,對一推桿(MAX一LOOP一STEP一PUTT)或低 52 200527259 切球(MAX —LOOP — STEP一CHIP),一 100像素的滑鼠移動可 能需要被分解成為四個25像素的滑鼠移動,而對一全揮桿 (MAX_LOOP —STEP_NORMAL)則需分解成為二個 50像素 的滑鼠移動。 該程式碼會確定該步驟(R)需執行多少次 (distance_number)以達到該距離。這就可以確定出需要增 加多少個移動以表示總距離。透過產生控制資料,該程式 碼會不斷循環,每一步驟皆納入考量。
Input: distance; Output: distance」oop() and distance_number
If club is in a) Putting status; or b) Chipping status; or c) Full status, then Let R = MAX_LOOP_STEP_PUTT,MAX_LOOP_STEP_CHIP, MAX__LOOP_STEP_NORMAL, respectively. distance_number = distance / R For k = 0 To distance_number-l distance_loop(k) = R Next k
If (distance__number >= 1) Then distance number = distance number-1 Else distance_loop(distance_number) = distance End If 該擊球軟體1230、該使用者工作站90(即本具體實施 53 200527259 例之個人 具體實施 該擊 式是透過 此方式, 速度與方 入裝置資 者實際的 該擊 包含擊球 定之能力 確定可用 總距離、 桿數、正 置(果嶺、 螢幕圖形 同樣 狀態,則$ 戲軟體目 内。如此 告知該擊 明範圍内 揮桿模式 電腦)及該視訊遊戲軟體之間的互動關係將在本 例做更詳細地說明。 球軟體1 230及該視訊遊戲軟體間主要的互動方 個人電腦上作業系統的序列痒暫存區達成。藉由 揮動臂裝置1210及揮動臂連結器122〇所測量的 向資料經由如本發明所述之方法,而被轉換成輸 料,並用以驅動該視訊遊戲軟體以模擬遊戲執行 揮桿。 球軟體1230與視訊遊戲軟體間的其他互動方式 軟體1 230確定視訊遊戲軟體内所建立之特殊設 。根據該該正執行之視訊遊戲軟體,擊球軟體會 之設定,例如:揮桿種類、球桿種類、飛行距離、 與旗桿之距離’正使用哪個球場、該球場之標準 打擊之球洞、該球洞正由誰打擊、高爾夫球的位 長草區、沙坑等等)。這些都可以透過以上述之 擷取及利用樣式識別演算法來確定出各項遊戲設 地’如果遊戲執行者是在全揮桿、低切球或推桿 ^球軟體1 230可利用樣式識別自動確定該視訊遊 前的揮桿模式,雖然手動輸入也在本發明範圍 一來,遊戲執行者不需使用鍵盤或其他手動輸入 球軟體1230揮桿模式,雖然此手動輸入也在本發 。該擊球軟體1230可藉由識別該視訊遊戲軟體之 環境,以更精確地模擬使用者的揮桿。如上所述, 54 200527259 在特定具體實施例中,該擊球軟體123〇可辨識出三種揮桿 模式以適當地合成滑鼠移動:全揮桿,低切球或推桿。然 而需暸解的是,在本發明範圍内並未使用樣式識別以確定 揮桿模式’或按比例形成(或分階段形成)控制器資料。 本具體實施例所利用之使用者介面將於此做更詳細地 說明。 在此示範具體實施例中之擊球軟體123〇具有下列設 定,其可透過按鍵來做設定。 a·球桿方向—該軟體是否要將方向資料包含在提供 至該視訊遊戲軟體之模擬滑鼠移動中。 b.自動檢查更新—定期檢查線上服務,檢視是否有應 用程式之錯誤修正或更新程式。 c·慣用手-選擇遊戲執行者是慣用右手或左手。 d.揮桿模式(可設定為手動或自動)一當設定為手動 時,該使用者需按下表示該遊戲目前揮桿模式之按鍵,例 如:全揮桿、低切球、或推桿;當設定為自動時,該擊球 軟體1230會為視訊遊戲軟體決定目前的揮桿模式環境。 e ·模式更換按鍵—該選項允許使用者設定揮桿模式 之按鍵,以利手動設定各種揮桿模式。 該擊球軟體1230也可以在視訊遊戲軟體執行時,從揮 杯動作來擷取揮桿模式、揮桿速度與方向。此處也提供了 統計模式,讓遊戲執行者可手動地選擇其正使用的球桿, 並將該球桿種類與揮桿速度和方向記錄下來。擷取球桿類 型可取代擷取揮桿模式,舉例而言,推桿(putter )代表 55 200527259 推桿模式,切桿(chipper)或挖起桿(wedge)代表低切 球模式,而其他球桿則視為全揮桿模式。 一遊戲執行者可能在第一次執行使用者工作站90上 之擊球軟體1 2 3 0時實施本具體實施例,然後才執行使用者 工作站90上的遊戲軟體。當遊戲執行者希望使用統計模式 時’其可以在每—次揮桿之前,透過一圖形化使用者介面 或其他"面來選擇球桿種類。此時,該遊戲執行者已經準 備好要揮動球杯。在每次高爾夫球桿揮桿的間隔中,位於 揮動臂連結器1220頂部的一綠色LED(iight⑽丨出叫 ―,發光二極體)會閃爍,以表示該揮動臂連結器正在 處理資料中。該遊戲執行者要等到位於揮動臂連結器mo 頂部的綠色LED不再問、迪卩主士 π $ A⑹ 个丹閃爍時才可再度揮動高爾夫球桿。該 訊號可以由擊球軟體1230或揮動臂連結器i2i〇提供。= 外’在每次高爾夫球桿揮桿的間隔中,該擊球軟體⑴〇 也可以透過圖形掏取愈祥σ . Α . 〃樣式識別來接收額外的遊戲設定次 訊,例如:球桿種類或揮桿種類。擊球軟體"SO也可以: 取如擊球軟體1 230的統計頁籤中所選擇之資訊,如球捍種 類。,遊戲執行者揮動高爾夫球桿時,揮動臂裝置mo 曰測|該模擬冋爾夫球13〇2之速度與方向。揮動臂連 1 220會處理揮動臂裝置⑵0之揮桿資料,並透過⑽。、 或^何a適合的通訊標準將揮桿資料冑送給使用 工作站主機9〇。擊球軟體123()會監控使转工作站 讎埠,並從揮動臂連結器122〇接收速度與方向資料 擊球軟體1230會將揮桿資料轉換為滑鼠控制器移動資料 56 200527259 並傳送該資料至作業系統 。根據從揮動臂裝置1 2 1 0所獲得
色 模擬其本身揮桿之情形。
移可提供棒球的執道。在另一棒球遊戲的具體實施例中, 可依照上述之高爾夫具體實施例,將揮動臂裝置改良運 用’該棒球可懸掛在一(靜止的)垂直把手上,該垂直把 手會繞著水平軸旋轉。 習知技藝人士將瞭解,本發明之方法與系統具有許多 應用’並可以多種方式實施,不限於上述示範之具體實施 例。此外,上述具體實施例裡之元件功能可以不同方式實 施。再者,上述具體實施例之步驟可以任一適合的順序執 行’並可將之組合成較少的步驟或分解成較多的步驟。因 此’習知技藝人士皆明暸,本發明範圍涵蓋了此處所述傳 統已知之系統元件及其未來之改良。 【圖式簡單說明】 第1圖概要地說明了本發明之一具體實施例之元件與 資料流; 57 200527259 第2圖說明本發明一具體實施例之感應單元加速度計 展示圖; 第3圖為一流程圖,其說明根據本發明之一具體實施 例’使用一裝置與軟體以執行高爾夫視訊遊戲之流程; 第4圖為一流程圖,其說明根據本發明之一具體實施 例,模擬滑鼠控制器移動之流程; 第5圖為一流程圖,其說明根據本發明之一具體實施 例,決定感應單元是否在靜態狀態之流程; 第6(a) - 6(d)圖為示意圖,其說明根據本發明之一具 體實施例’將角度資料對應至正確象限; 第7(a) - 7(c)圖為流程圖,其說明根據本發明之一具 體實施例’將未過濾之角度資料轉換為已過濾角度資料之 流程; 第8圖為虛擬碼,其說明根據本發明之一具體實施 例,將未處理之角度資料轉換為正確象限角度資料之流程·, 第9圖係根據本發明之一具體實施例來說明四分之三 快速揮桿之例示未處理角度資料、已轉換角度資料以及未 處理加速度資料; 第10(a)-10(c)為虛擬碼,其說明根據本發明之一具 體實化例’將高爾夫球桿揮動之角度變化轉換成滑鼠控制 器移動資料之流程; 第11圖為虚擬碼’其說明根據本發明之一具體實施 例,將異常巨大之揮桿資料轉換成可讓一視訊遊戲理解的 滑鼠控制器移動資料之流程; 58 200527259 第1 2圖係根據本發明之另一具體實施例概要說明元 件與資料流; 第1 3圖說明本發明一具體實施例之擺動臂裝置元件; 第1 4圖說明本發明一具體實施例之高爾夫視訊遊戲 的螢幕晝面; 第1 5 -1 7圖說明本發明具體實施例之圖形化使用者介 面; 【元件代表符號簡單說明】 1 0感應單元 20第一加速度計 3 0第二加速度計 4 0類比至數位轉換器 5 0感應處理器 60發送器 65感應器韌體 70球桿 8 0擊球軟體 90使用者工作站 3 00執行高爾夫視訊遊戲 3 1 0設定視訊遊戲 3 20準備視訊遊戲來接收使用者揮桿動作 330擊球軟體80辨識揮動模式 59 200527259 340揮動球桿7〇 350擊球軟體80辨識球桿 資料 7〇揮動狀態並轉換成滑鼠輸 3 6 0繼續下一揮桿? 3 70離開
狀態測試之 4 1 0感應單元1 〇是在靜態狀態嗎? 420讀取加速度計及角度資料(在通過靜態 4 3 0使用視窗過濾讓目前的框架資料更平順 狀態測試之後) 440計算從目前框架到下一框架間的滑鼠移動距離 4 5 0透過視訊遊戲接收滑鼠控制資料 460有接觸到撞擊點嗎? 4 7 0讀取附加的資料框架 4 8 0結束處理目前的揮桿資料 490結束處理資料區塊? 5 00 T 1 =Timer 510 取得資料 ang —xl ⑴和 ang —yl(j),j=t-n+l,...,t. 520 Stdxl = STD(ang一xl(j)) and Stdyl=STD(ang—yl ⑴) 530 (StdxKTss) and (StdyKTss)? 540 Tl=Timer 550 T2 = Timer 560 (T2-T1)<2 秒? 60 200527259 5 7 0裝置在靜態狀態 700 取得資料 ang_yl(j),j=t-n+l,...,t. 705 Stdy l=STD(ang_yl(j)) 710 (Stdyl>Tss)? 715將ang_yl(t)轉換成正確的象限並取得轉換後之角度 ang_y l’(t) 720 堆疊 B = null ? 725根據堆疊B及角度ang_yl’(t)產生角度資訊,將之作 為新資料框架並新增到堆疊C中,並設定B = null 730 堆疊 A = null ? 735根據堆疊A及角度ang_yl’(t)產生角度資訊,將之作 為新資料框架並新增到堆疊C中,並設定B = null 740 (acc_yl<acc —yl_starting)? 745新增目前資料框架及ang_y l’(t)到堆疊B中 750 堆疊 B = null ? 75 5根據堆疊B及角度ang_yl’(t)產生角度資訊,將之作 為新資料框架並新增到堆疊C中,並設定B = null 760新增目前資料框架及ang_yl’(t)到堆疊A中 1 2 1 0揮動臂裝置 1220揮動被連結器 1 3 02模擬的高爾夫球 1 3 04光學發射/偵測器組 1305圓盤 61 200527259 1 3 0 6把手 13 10 環 1314揮動臂裝置1210主體 1318 RJ-45連結器 1 3 20光學發射/偵測器組 1 3 22螺絲釘 1 405打擊後顯示項目 1 4 1 0打擊後顯示項目之螢幕參考點 1 4 1 5球位置螢幕影像 1420球位置螢幕影像之螢幕參考點 62

Claims (1)

  1. 200527259 拾、申謗專利範圍:: 1 一種與一電腦應用程式共同使用的系統,該電腦應 式用以對來自第一輸入裝置之第一輸入裝置資料 回應,該第一輸入裝置具有第一格式,該系統至少专 一第二輸入裝置,其係有別於該第一輸 置,該第二輸入裝置包含一或多個用以測量一 之移動的感應器,並建立代表該物件之移動的 輸入裝置資料,該第二輸入裝置資料具有不同 第一格式之第二格式;以及 一處理器,其係用以轉換該第二輸入裝置 以模擬第一輸入裝置資料,該模擬的第一輸入 資料具有該第一格式,該處理器更用以提供該 的第一輸入裝置資料至該電腦應用程式,以利 第二輸入裝置來模擬該第一輸入裝置。 用程 做出 L含: 入裝 物件 第二 於該 資料 裝置 模擬 用該 63 200527259 2 如申請專利範圍第1項所述之系統,更包含一傳送器, 其係用以將該第二輸入裝置資料傳送至該處理器。 3 如申請專利範圍第2項所述之系統,其中該傳送器係一 發送器,其係用以讓該第二輸入裝置與該處理器之間做 雙向通訊。 4 如申請專利範圍第3項所述之系統,其中更至少包含感 應器韌體,其係用以識別正從該處理器傳送至該第二輸 入裝置之資料。 5 如申請專利範圍第1項所述之系統,其中該電腦應用程 式係一視訊遊戲。 6 如申請專利範圍第1項所述之系統,其中該第一輸入裝 置為下列裝置其中之一:滑鼠、搖桿或鍵盤,而該第一 輸入裝置資料係為滑鼠控制器輸入資料、搖桿控制器輸 入資料或鍵盤輸入資料。 7 如申請專利範圍第1項所述之系統,其中該物件係為一 高爾夫球桿而該第二輸入裝置附加在該高爾夫球桿上。 8 如申請專利範圍第1項所述之系統,其中該物件係為一 64 200527259 系統使用者的手臂而該第二輸入裝置係附加在該系統 使用者的手臂上。 9 如申請專利範圍第1項所述之系統,其中該一或多個感 應器係為加速度計,該加速度計用以測量該物件在一或 多個方向之加速度與角度而該第二輸入裝置資料可表 示該物件之加速度與角度。 1 0如申請專利範圍第 9項所述之系統,更包含感應器韌 體,其中該物件之加速度由該一或多個加速度計直接測 量,而該物件之角度則由該感應器韌體計算。 1 1如申請專利範圍第10項所述之系統,更包含一傳送 器,其係用以將該第二輸入裝置資料傳輸至給該處理 器,其中該第二輸入裝置額外傳送該加速度計的檢測資 料至該處理器,以幫助該物件角度之計算。 12如申請專利範圍第1 1項所述之系統,其中該傳送器為 一發送器,其係用以讓該第二輸入裝置與該處理器做雙 向通訊,而其中資料由該處理器傳送至請求該檢測資料 之第二輸入裝置。 1 3如申請專利範圍第1項所述之系統,更包含一感應處理 65 200527259 器,該感應處理器用以將該第二輸入裝置資料組合成資 料框架,以傳輸至該用以轉換該第二輸入裝置資料之處 理器。 1 4如申請專利範圍第1 3項所述之系統,其中每一資料框 架包含了該物件的加速度與角度測量值。 1 5如申請專利範圍第1項所述之系統,其中該處理器更包 含擊球軟體,其係用以轉換第二輸入裝置資料以模擬第 一輸入裝置資料。 1 6如申請專利範圍第1項所述之系統,其中該一或多個感 應器顯示出在一特定時間該物件之多個可能位置而該 處理器會確定出該物件位於該多個可能位置之區域。 1 7如申請專利範圍第1 6項所述之系統,其中該物件為一 高爾夫球桿而該多個可能位置包含該高爾夫球桿在多 個9 0度象限中之可能位置。 1 8如申請專利範圍第1項所述之系統,其中該處理器用以 在一特定時間接收特定數量之第一輸入裝置資料,而該 處理器會將該模擬的第一輸入裝置資料分解成多個較 小之模擬的第一輸入裝置資料,以提供至該電腦應用程 66 200527259 式0 1 9如申請專利範圍第1項所述之系統,其中該處理器被設 定成具有第一模式與第二模式,其中在該第一模式中, 第一移動會產生第一模擬輸入並讓遊戲角色有第一移 動,而其中在該第二模式中,該第一移動會產生第二模 擬輸入並讓該遊戲角色有第二移動。 20 —種用以將一物件的移動從一輸入裝置資料之第一格 式轉換成為一電腦應用程式可接收的輸入裝置資料之 第二格式的糸統’該系統至少包含 一感應單元,其包含: 一或多個感應器,其用以測量該物件在一 或多個方向上之移動並產生可代表該物件之 移動的第一格式的訊號;以及 一用以傳輸該訊號之傳送器;以及 一具有擊球軟體之使用者工作站,該擊球軟體 用以接收該訊號,將該訊號轉換成具有該第二格式 之模擬的輸入裝置資料,並將該模擬的輸入裝置資 料提供至該電腦應用程式。 2 1如申請專利範圍第20項所述之系統,其中該傳送器為 一用以讓該感應單元與該使用者工作站雙向通訊之發 67 200527259 送器。 22如申請專利範圍第2 1項所述之系統,其中該感應單元 更包含感應器韌體,其用以識別正從該使用者工作站傳 送至該感應單元的資料。 23如申請專利範圍第20項所述之系統,其中該電腦應用 程式為一視訊遊戲 24如申請專利範圍第20項所述之系統,其中該輸入裝置 為一滑鼠,而該輸入裝置資料為滑鼠控制器輸入資料。 25如申請專利範圍第20項所述之系統,其中該物件係為 一高爾夫球桿而該感應單元附加在該高爾夫球桿上。 26如申請專利範圍第20項所述之系統,其中該物件係為 一系統使用者的手臂而該感應單元附加在該系統使用 者手臂上。 27如申請專利範圍第20項所述之系統,其中該一或多個 感應器係為加速度計,該加速度計用以測量該物件在一 或多個方向之加速度與角度,而該訊號表示該物件之加 速度與角度。 68 200527259 2 8如申請專利範圍第2 7項所述之系統,其中該感應單元 更包含感應器韌體,其中該物件之加速度由該一或多個 加速度計直接測量,而該物件之角度則由該感應器韌體 計算。 2 9如申請專利範圍第2 7項所述之系統,其中該感應單元 會額外傳送該加速度計的檢測資料至該擊球軟體,以幫 助該物件角度之計算。 30如申請專利範圍第29項所述之系統,其中該傳送器為 一用以讓該感應單元與該使用者工作站做雙向通訊之 發送器,而其中資料由該擊球軟體傳送至請求該檢測資 料之感應單元。 3 1如申請專利範圍第20項所述之系統,其中該感應單元 更包含了一感應處理器,該感應處理器用以將該第二輸 入裝置資料組合成資料框架,以傳輸至該處理器。 3 2如申請專利範圍第3 1項所述之系統,其中每一資料框 架包含該物件之加速度與角度測量值。 3 3如申請專利範圍第20項所述之系統,其中該一或多個 69 200527259 感應器顯示出在一特定時間該物件之多個可能位置而 該擊球軟體會確定出該物件位於該多個可能位置之區 域。 3 4如申請專利範圍第3 3項所述之系統,其中該物件係為 一高爾夫球桿而該多個可能位置包含該高爾夫球桿在 多個90度象限中之可能位置。 3 5如申請專利範圍第20項所述之系統,其中該擊球軟體 用以在一特定時間接收特定數量之輸入裝置資料,而該 擊球軟體會將該模擬的輸入裝置資料分解成多個較小 之模擬的輸入裝置資料,以提供至該電腦應用程式。 36 —種提供輸入至一可接收具有第一格式之第一輸入裝 置資料的電腦應用程式之方法,該方法至少包含: 在一或多個方向測量一物件之移動; 產生可表示該物件之移動的第二輸入裝置資 料,該第二輸入裝置資料具有不同於該第一格式之 第二格式; 轉換該第二輸入裝置資料以模擬第一輸入裝置 資料,該模擬的第一輸入裝置資料具有該第一格 式;以及 將該模擬的第一輸入裝置資料提供至該電腦應 70 200527259 用程式,以利用該第二輸入裝置來模擬該第一輸入 裝置。 3 7如申請專利範圍第3 6項所述之方法,其中該測量包含 在一或多個方向測量該物件的加速度及角度而該產生 包含產生表示該物件加速度及角度之第二輸入裝置資 料0 3 8如申請專利範圍第3 7項所述之方法,其中該測量更包 含使用感應器韌體來計算該物件的角度。 39如申請專利範圍第38項所述之方法,其中該產生更包 含將所測量之加速度及角度資料組合成資料框架。 40如申請專利範圍第39項所述之方法,其中每一資料框 架包含該物件之加速度及角度測量值。 4 1如申請專利範圍第3 6項所述之方法,其中該電腦應用 程式係為一視訊遊戲。 42如申請專利範圍第3 6項所述之方法,其中該第一輸入 裝置資料為滑鼠控制器輸入資料。 200527259 43如申請專利範圍第3 6項所述之方法,其中該物件為一 高爾夫球桿而該第二輸入裝置資料表示該高爾夫球桿 之移動。 44如申請專利範圍第3 6項所述之方法,更包含確定出該 物件在一特定時間位於該多個可能位置之區域。 45如申請專利範圍第44項所述之方法,其中該物件為一 高爾夫球桿而該多個可能位置包含該高爾夫球桿在多 個90度象限中之可能位置。 46 —種提供輸入至一可接收具有第一格式之第一輸入裝 置資料的電腦應用程式之系統,該系統至少包含: 測量構件,其係用以在一或多個方向測量一物 件移動; 產生構件,其係用以產生表示該物件之移動的 第二輸入裝置資料,該第二輸入裝置資料具有不同 於該第一格式之第二格式; 轉換構件,其係用以轉換該第二輸入裝置資料 以模擬該第一輸入裝置資料,該模擬的第一輸入裝 置資料具有該第一格式;以及 提供構件,其係用以將該模擬的第一輸入裝置 資料提供至該電腦應用程式,以利用該第二輸入裝 72 200527259 置來模擬該第一輸入裝置。 47如申請專利範圍第46項所述之系統,其中該測量構件 更包含在一或多個方向測量該物件的加速度及角度之 構件,而該產生構件更包產生表示該物件加速度及角度 之第二輸入裝置資料之構件。 48如申請專利範圍第47項所述之系統,更包含計算該物 件角度之構件。 49如申請專利範圍第48項所述之系統,更包含將所測量 之加速度及角度資料組合成資料框架之構件。 5 0如申請專利範圍第49項所述之系統,其中每一資料框 架包含該物件的加速度及角度測量值。 5 1如申請專利範圍第4 6項所述之系統,其中該電腦應用 程式為一視訊遊戲。 52如申請專利範圍第46項所述之系統,其中該第一輸入 裝置資料為滑鼠控制器輸入資料。 5 3如申請專利範圍第46項所述之系統,其中該物件為一 73 200527259 南爾夫球桿而該第二輸入裝置資料表示該高爾夫球桿 之移動。 54如申請專利範圍第46項所述之系統,其中該第二輸入 裝置資料顯示出在一特定時間該物件之多個可能位 置,該系統更包含決定該物件在該特定時間位於該多個 可能位置之區域之構件。 55如申請專利範圍第54項所述之系統,其中該物件係為 一高爾夫球桿而該多個可能位置包含該高爾夫球桿沿 著一揮動路徑,在多個9 0度象限中之可能位置,該決 定係以該揮動路徑為根據。 56 —種可將第一輸入裝置之第一輸入裝置資料複製至一 電腦應用程式以控制一物件圖形表示之移動的方法,該第 一輸入裝置資料具有一第一格式,該方法至少包含: 利用一第二輸入裝置測量該物件之移動; 產生表示該物件之移動的電子訊號,該電子訊 號具有不同於該第一格式之第二格式; 將該電子訊號轉換成具有第一格式之複製的第 一輸入裝置資料;以及 讓該複製的第一輸入裝置資料可被該電腦應用 程式使用,從而以自該第二輸入裝置複製而來的第 74 200527259 一輸入裝置資料,自該第一輸入裝置複製該第一輸 入裝置資料。 5 7如申請專利範圍第5 6項所述之方法,其中該測量包含 在一或多個方向測量該物件的加速度及角度,而該產生包 含了產生表示該物件加速度及角度之電子訊號。 5 8如申請專利範圍第5 7項所述之方法,其中該測量包含 使用感應器韌體來計算該物件之角度。 5 9如申請專利範圍第5 7項所述之方法,其中產生該電子 訊號包含將該測量之加速度及角度資料組合成資料框架。 6 0如申請專利範圍第5 6項所述之方法,其中該物件為一 高爾夫球桿而該測量包含測量該高爾夫球桿之移動。 6 1如申請專利範圍第5 6項所述之方法,更包含從該電腦 應用程式接收資料。 62如申請專利範圍第56項所述之方法,其中該第一輸入 裝置資料為滑鼠控制器輸入資料,該滑鼠控制器輸入資料 不表示該物件之移動,而其中該複製的第一輸入裝置資料 為表示該物件之移動的複製的滑鼠控制器資料。 75 200527259 6 3如申請專利範圍第5 6項所述之方法,其中該電子 顯示出在一特定時間該物件之多個可能位置,該方法 含決定該物件在該特定時間位於該多個可能位置之區 64如申請專利範圍第63項所述之方法,其中該物件 高爾夫球桿,而該多個可能位置包含該高爾夫球桿沿 揮動路徑,在多個90度象限中之可能位置,該決定係 揮動路徑為根據。 65 —種電腦可讀媒體,其至少包含程式碼,其係用以 一處理器以處理以下步驟: 將模擬的輸入裝置資料提供至一電腦應 式,該電腦應用程式用以控制一物件之圖形表 對該輸入裝置資料做出回應;以及 將一訊號轉換成模擬的輸入裝置資料,該訊 示該物件之實體移動,該訊號具有一不相容於該 應用程式的訊號格式以及相容於電腦應用程式 擬的輸入裝置資料,藉此模擬輸入裝置資料。 66如申請專利範圍第65項所述之電腦可讀媒體,其 電腦應用程式係為一視訊遊戲,而該輸入裝置資料包 鼠控制器資料、鍵盤資料、搖桿資料或遊戲控制器資 rfL號 更包 或。 為一 著一 以該 設定 用程 不以 號表 電腦 之模 中該 含滑 料, 76 200527259 而該訊號包含該物件的加速度或角度資料。 67如申請專利範圍第66項所述之電腦可讀媒體,其中該 視訊遊戲為一高爾夫遊戲而該物件為一高爾夫球桿。 68 —種以模擬的輸入裝置資料來表示物件之移動的系 統,該系統至少包含: 一感應器,其包含與該感應器連結並可移動之 物件,該感應器可將該物件之移動輸出;以及 一或多個與應用程式軟體共同作業之處理器, 該應用程式軟體會回應該輸入裝置資料並與擊球軟 體共同作業,以將該感應器輸出轉換成模擬的輸入 裝置資料及使該模擬的輸入裝置資料能被該應用程 式軟體使用,該應用程式軟體會對該模擬的輸入裝 置資料做出回應。 69如申請專利範圍第6 8項所述之系統,該感應器更包含 一環,其中該物件懸掛在該環上,並可根據該環的方向旋 轉與移動,該感應器之輸出表示該物件旋轉之方向及速率。 70如申請專利範圍第68項所述之系統,更包含: 一連結器,其係用以接收該感應器之輸出並將 該感應器輸出轉換成表示該物件速度之連結器輸 77 200527259 出,其中一或多個處理器與應用程式軟體共同作 業,以接收該連結器之輸出並將該連結器輸出轉換 成為該模擬輸入裝置資料。 7 1如申請專利範圍第70項所述之系統,其中該連結器更 用以將感應器輸出轉換成表示該物件方向之連結器輸出。 72如申請專利範圍第69項所述之系統,其中該感應器包 含一或多個光學發射/偵測器組來測量旋轉速率及方向。 73 —種用於在視訊遊戲中模擬使用者之高爾夫球揮桿的 系統,該視訊遊戲會對來自一輸入裝置之輸入裝置資料做 出回應,該系統至少包含: 一感應器,其係安裝在揮動臂裝置上,和一把 手以及偶接於該把手上並且可旋轉之高爾夫球代 表,該把手可在一旋轉方向上旋轉並可在旋轉方向 之橫切方向移動,而其中該感應器係用以測量該把 手的旋轉速率及該旋轉方向之橫切方向偏移,並產 生表示該旋轉速率與偏移之感應器輸出; 一揮動臂連結器,其係用以接收該感應器輸出 並將該感應器輸出轉換成連結器輸出,該連結器輸 出係表示該高爾夫球代表之速度及該高爾夫球代表 之偏移。 78 200527259 一具有擊球軟體之使用者工作站,其係用以接 收該感應器輸出,將該感應器輸出轉換成模擬的輸 入裝置資料並使該模擬的輸入裝置資料能為該視訊 遊戲所使用,該感應器可替代輸入裝置。 74如申請專利範圍第73項所述之系統,其中該擊球軟體 係藉由將該模擬的輸入裝置資料放置在該使用者工作站之 記憶體中,而使該模擬的輸入裝置資料能為該視訊遊戲所 使用。 79
TW093130033A 2003-10-03 2004-10-04 Input system and method TW200527259A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US50846603P 2003-10-03 2003-10-03
US10/741,308 US20050076161A1 (en) 2003-10-03 2003-12-19 Input system and method
US56305604P 2004-04-16 2004-04-16
US10/957,338 US20050119036A1 (en) 2003-10-03 2004-10-01 Input system and method

Publications (1)

Publication Number Publication Date
TW200527259A true TW200527259A (en) 2005-08-16

Family

ID=34426892

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093130033A TW200527259A (en) 2003-10-03 2004-10-04 Input system and method

Country Status (3)

Country Link
US (1) US20050119036A1 (zh)
TW (1) TW200527259A (zh)
WO (1) WO2005033888A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343709A (zh) * 2013-06-13 2019-02-15 原相科技股份有限公司 具有手势感测器的装置
TWI703492B (zh) * 2016-10-12 2020-09-01 日商Hi股份有限公司 控制使用者介面之方法、程式及裝置
US11740703B2 (en) 2013-05-31 2023-08-29 Pixart Imaging Inc. Apparatus having gesture sensor

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076161A1 (en) * 2003-10-03 2005-04-07 Amro Albanna Input system and method
JP4471761B2 (ja) * 2004-07-26 2010-06-02 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
JP3734819B1 (ja) * 2004-07-26 2006-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
US8123624B2 (en) * 2005-03-03 2012-02-28 Theodore Weissenburger Caldwell Shot Monitoring Watch
US20060211523A1 (en) * 2005-03-21 2006-09-21 Joseph Sabatino Bat speed sensing device and methods
GB2425356B (en) * 2005-04-20 2010-01-06 Richard Bruce Welch Sports game apparatus and method
US8176027B1 (en) * 2005-07-06 2012-05-08 Navteq B.V. Spatial index for data files
JP5204381B2 (ja) * 2006-05-01 2013-06-05 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム及びゲーム処理方法
JP4916762B2 (ja) * 2006-05-02 2012-04-18 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP5506129B2 (ja) * 2006-05-08 2014-05-28 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
US9007299B2 (en) * 2006-07-14 2015-04-14 Ailive Inc. Motion control used as controlling device
JP4979314B2 (ja) * 2006-09-13 2012-07-18 任天堂株式会社 ゲームプログラムおよびゲーム装置
US20080154573A1 (en) * 2006-10-02 2008-06-26 Microsoft Corporation Simulating new input devices using old input devices
JP4689585B2 (ja) * 2006-11-29 2011-05-25 任天堂株式会社 情報処理装置および情報処理プログラム
JP5177735B2 (ja) * 2006-12-01 2013-04-10 任天堂株式会社 ゲームプログラムおよびゲーム装置
US9522332B2 (en) * 2006-12-13 2016-12-20 Voodoo Gaming Llc Video games including real-life attributes and/or fantasy team settings
US20080188277A1 (en) 2007-02-01 2008-08-07 Ritter Janice E Electronic Game Device And Method Of Using The Same
US10504317B2 (en) * 2007-04-30 2019-12-10 Cfph, Llc Game with player actuated control structure
US8033916B2 (en) * 2007-05-04 2011-10-11 Theodore Caldwell Grip pressure sensor
US9317110B2 (en) 2007-05-29 2016-04-19 Cfph, Llc Game with hand motion control
US20100292007A1 (en) * 2007-06-26 2010-11-18 Nintendo Of America Inc. Systems and methods for control device including a movement detector
US9545571B2 (en) * 2008-01-25 2017-01-17 Nintendo Co., Ltd. Methods and apparatus for a video game magic system
US20090325710A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Dynamic Selection Of Sensitivity Of Tilt Functionality
US8133119B2 (en) * 2008-10-01 2012-03-13 Microsoft Corporation Adaptation for alternate gaming input devices
US8517835B2 (en) * 2009-02-20 2013-08-27 Activision Publishing, Inc. Video game and peripheral for same
US8214539B1 (en) 2009-02-23 2012-07-03 Kulanko Robert J Command mapping systems relating input devices to application program interfaces
EP2251067B1 (en) * 2009-05-07 2018-01-03 Nintendo Co., Ltd. Storage medium storing information processing program, and information processing apparatus
JP5507880B2 (ja) * 2009-05-07 2014-05-28 任天堂株式会社 情報処理プログラムおよび情報処理装置
US9101831B2 (en) * 2009-11-24 2015-08-11 Activision Publishing, Inc. Video game and peripheral for same
WO2011148542A1 (ja) * 2010-05-28 2011-12-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
JP6146285B2 (ja) * 2013-12-02 2017-06-14 株式会社デンソー 軸ずれ判定装置
TWI504857B (zh) * 2014-02-21 2015-10-21 Univ Chang Gung Sensing wafer and sensing system
US10834535B2 (en) * 2015-11-30 2020-11-10 Oura Health Oy Method for monitoring activity of subject and monitoring device therefor
RU2750593C1 (ru) * 2020-11-10 2021-06-29 Михаил Юрьевич Шагиев Способ эмулирования нажатия стрелок направления на клавиатуре, джойстике, или движения компьютерной мыши, подключаемых к компьютерному устройству, в зависимости от положения пользователя в пространстве
CN117705091B (zh) * 2024-02-05 2024-04-16 中国空气动力研究与发展中心高速空气动力研究所 基于大量程石英挠性加速度计的高精度姿态测量方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5697844A (en) * 1986-03-10 1997-12-16 Response Reward Systems, L.C. System and method for playing games and rewarding successful players
JPH02174871A (ja) * 1988-12-27 1990-07-06 Sony Corp ゴルフ練習機
US5797041A (en) * 1992-06-30 1998-08-18 Hitachi, Ltd. Communication control system utilizing a shared buffer composed of first and second descriptors which are managed by high and low level protocols
US5623545A (en) * 1995-08-31 1997-04-22 National Semiconductor Corporation Automatic data generation for self-test of cryptographic hash algorithms in personal security devices
US6122960A (en) * 1995-12-12 2000-09-26 Acceleron Technologies, Llc. System and method for measuring movement of objects
JP4120017B2 (ja) * 1997-01-30 2008-07-16 株式会社セガ 入力装置およびゲーム処理装置、その方法
US6162123A (en) * 1997-11-25 2000-12-19 Woolston; Thomas G. Interactive electronic sword game
US6257989B1 (en) * 1998-05-05 2001-07-10 Dennco, Inc. Method and apparatus for estimating practice golf shot distance and accuracy
EP1402928A4 (en) * 2001-02-22 2006-01-11 Sega Corp PROGRAM FOR CONTROLLING THE CONDUCT OF A GAME AND GAME APPARATUS FOR EXECUTING THIS PROGRAM
US20020173364A1 (en) * 2001-05-17 2002-11-21 Bogie Boscha Apparatus for measuring dynamic characteristics of golf game and method for asessment and analysis of hits and movements in golf
JP4028708B2 (ja) * 2001-10-19 2007-12-26 株式会社コナミデジタルエンタテインメント ゲーム装置及びゲームシステム
US7762892B2 (en) * 2003-05-09 2010-07-27 Microsoft Corporation Mode-altering key for a character input device
US6786831B1 (en) * 2003-12-29 2004-09-07 Acas Design Co., Ltd. Golf practicing device having automatic restoring function

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11740703B2 (en) 2013-05-31 2023-08-29 Pixart Imaging Inc. Apparatus having gesture sensor
CN109343709A (zh) * 2013-06-13 2019-02-15 原相科技股份有限公司 具有手势感测器的装置
TWI703492B (zh) * 2016-10-12 2020-09-01 日商Hi股份有限公司 控制使用者介面之方法、程式及裝置

Also Published As

Publication number Publication date
WO2005033888A3 (en) 2005-09-15
WO2005033888A2 (en) 2005-04-14
US20050119036A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
TW200527259A (en) Input system and method
US10092793B1 (en) Trajectory detection and feedback systems for tennis
US9370704B2 (en) Trajectory detection and feedback system for tennis
KR100938147B1 (ko) 골프 퍼팅 시뮬레이션 장치
US8926443B2 (en) Virtual golf simulation device, system including the same and terminal device, and method for virtual golf simulation
US20050076161A1 (en) Input system and method
CN101890218B (zh) 虚拟高尔夫模拟器、设置在其中的传感器及虚拟高尔夫模拟器的传感方法
CA2785987C (en) Apparatus and method for virtual golf simulation
US20080200287A1 (en) Trajectory detection and feedfack system for tennis
US20060084516A1 (en) Method and system for defining and using a reference swing for a sports training system
CN101991949B (zh) 一种基于计算机的虚拟乒乓球运动控制方法及系统
KR100970678B1 (ko) 가상 골프 시뮬레이션 장치 및 방법
JPWO2009028690A1 (ja) ゲーム装置、ゲームプログラム及びゲーム装置の制御方法
JP7020195B2 (ja) 仮想ゴルフシミュレーション装置
CN101934134B (zh) 虚拟高尔夫模拟装置、设置在其中的传感器及虚拟高尔夫模拟装置的传感方法
KR100972823B1 (ko) 골프 코스 추천 시스템 및 방법
CN105413172B (zh) 台球游戏控制方法及台球游戏装置
KR100785707B1 (ko) 네트워크에 의해 제어되는 골프 시뮬레이터 장치
KR101950243B1 (ko) 증강현실 또는 가상현실 체험을 제공하는 골프연습장치
KR101958399B1 (ko) 스윙센서 장치 및 이를 이용하는 클라우드 골프 게임 서비스 제공 시스템
KR102378556B1 (ko) 경사지는 스윙 플레이트를 구비한 가상 골프 시스템
KR102344919B1 (ko) 가상 골프 장치 및 이를 이용하는 가상 골프 시스템
JPWO2019142229A1 (ja) ロボット装置、ロボット装置の制御方法およびプログラム
JP6961723B2 (ja) 移動体および移動体制御方法
JP2683201B2 (ja) ゴルフ練習装置