`US008712723Bl
`
`c12) United States Patent
`Kahn et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,712,723 Bl
`*Apr. 29, 2014
`
`(54) HUMAN ACTIVITY MONITORING DEVICE
`
`(75)
`
`Inventors: Philippe Kahn, Aptos, CA (US);
`Arthur Kinsolving, Santa Cruz, CA
`(US); Mark Andrew Christensen, Santa
`Cruz, CA (US); Brian Y. Lee, Aptos, CA
`(US); David Vogel, Santa Cruz, CA (US)
`
`377/24, 24.1, 24.2; 702/1, 85, 97, 104, 127,
`702/141, 150, 155, 158, 160, 187, 189;
`708/100, 101, 105, 131, 160, 200, 212
`IPC ..... GOlB 5100,5102; GOlC 22100, 25100; GOlD
`7/00; GOlP 13/00; G06F 11/00, 11/30, 11/32,
`G06F 17 /00, 17 I 40, 19/00
`See application file for complete search history.
`
`(73) Assignee: DP Technologies, Inc., Scotts Valley, CA
`(US)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 115 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`4,285,041 A
`4,578,769 A
`5,446,725 A
`5,446,775 A
`
`8/1981 Smith
`3/1986 Frederick
`8/1995 Ishiwatari
`8/1995 Wright et al.
`(Continued)
`
`(21) Appl. No.: 13/018,321
`
`(22) Filed:
`
`Jan.31,2011
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 12/694,135, filed on
`Jan. 26, 2010, now Pat. No. 7,881,902, which is a
`continuation of application No. 11/644,455, filed on
`Dec. 22, 2006, now Pat. No. 7,653,508.
`
`(51)
`
`(2006.01)
`(2006.01)
`(2006.01)
`(2006.01)
`
`Int. Cl.
`GOlC 22100
`GOlP 13100
`G06F 19100
`G06F 17140
`(52) U.S. Cl.
`USPC ............. 702/160; 73/1.79; 377/24.2; 702/97;
`702/187; 702/189; 708/105; 708/200
`( 58) Field of Classification Search
`USPC .......... 33/700, 701; 73/1.01, 1.37, 1.38, 1.75,
`73/1.76, 1.77, 1.78, 1.79, 1.81, 432.1,
`73/865.4, 865.8; 377/1, 13, 15, 17, 19, 20,
`
`FOREIGN PATENT DOCUMENTS
`
`JP
`
`2005-309691 A * 1112005
`OTHER PUBLICATIONS
`
`Cheng, et al, "Periodic Human Motion Description for Sports Video
`Databases," Proceedings of the Pattern Recognition, 2004, 5 pages.
`
`(Continued)
`
`Primary Examiner - Edward Cosimano
`(7 4) Attorney, Agent, or Firm - Blakely, Sokoloff, Taylor &
`Zafman LLP; Judith A. Szepesi
`
`ABSTRACT
`(57)
`A method for monitoring human activity using an inertial
`sensor includes continuously determining an orientation of
`the inertial sensor, assigning a dominant axis, updating the
`dominant axis as the orientation of the inertial sensor
`changes, and counting periodic human motions by monitor(cid:173)
`ing accelerations relative to the dominant axis.
`
`19 Claims, 9 Drawing Sheets
`
`~800
`
`No
`
`No
`
`No
`
`No
`
`Count Step~
`
`830
`
`No Step
`Counted a!Q
`
`Apple v. Uniloc USA
`
`Page 1 of 21
`
`Apple Ex. 1001
`
`
`
`US 8, 712, 723 Bl
`Page 2
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,485,402 A *
`5,583,776 A
`5,593,431 A
`5,654,619 A
`5,778,882 A
`5,955,667 A
`5,976,083 A
`6,013,007 A
`6,122,595 A
`6,135,951 A
`6,145,389 A
`6,282,496 Bl
`6,353,449 Bl
`6,369,794 Bl
`6,428,490 Bl
`6,493,652 Bl
`6,496,695 Bl
`6,513,381 B2
`6,522,266 Bl
`6,532,419 Bl
`6,539,336 Bl
`6,611,789 Bl
`6,700,499 B2
`6,771,250 Bl
`6,786,877 B2
`6,790,178 Bl
`6,813,582 B2
`6,823,036 Bl
`6,826,477 B2
`6,836,744 Bl
`6,881,191 B2
`6,885,971 B2
`6,898,550 Bl
`6,928,382 B2
`6,941,239 B2
`6,959,259 B2
`6,975,959 B2
`7,010,332 Bl
`7,054,784 B2
`7,057,551 Bl
`7,072,789 B2
`7,092,846 B2
`7,148,797 B2
`7,158,912 B2
`7,169,084 B2
`7,171,331 B2
`7,177,684 Bl
`7,200,517 B2
`7,212,943 B2
`7,220,220 B2
`7,297,088 B2
`7,305,323 B2 *
`7,328,611 B2
`7,334,472 B2
`7,353,112 B2
`7,387,611 B2
`7,428,471 B2 *
`7,451,056 B2
`7,457,719 Bl
`7,463,997 B2 *
`7,467,060 B2
`7,512,515 B2
`7,526,402 B2
`7,608,050 B2
`7,617,071 B2 *
`7,640,134 B2 *
`7,640,804 B2
`7,647,196 B2
`7,653,508 Bl
`7,752,011 B2
`7,753,861 Bl
`7,774,156 B2
`7,788,059 Bl*
`7,857,772 B2
`7,881,902 Bl*
`
`111996 Smith et al. ................... 702/160
`12/1996 Levi et al.
`111997 Sheldon
`8/ 1997 Iwashita
`7/1998 Raymond et al.
`9/1999 Fyfe
`1111999 Richardson et al.
`112000 Root et al.
`912000 Varley et al.
`10/2000 Richardson et al.
`1112000 Ebeling et al.
`8/2001 Chowdhary
`3/2002 Gregg et al.
`412002 Sakurai et al.
`8/2002 Kramer et al.
`12/2002 Ohlenbusch et al.
`12/2002 Kouji et al.
`212003 Fyfe et al.
`212003 Soehren et al.
`3/2003 Begin et al.
`3/2003 Vock et al.
`8/2003 Darley
`3/2004 Kubo et al.
`8/2004 Oh
`912004 Foxlin
`912004 Mault et al.
`1112004 Levi et al.
`1112004 Chen
`1112004 Ladetto et al.
`12/2004 Asphahani et al.
`412005 Oakley et al.
`412005 Vock et al.
`512005 Blackadar et al.
`8/2005 Hong et al.
`912005 Unuma et al.
`10/2005 Vock et al.
`12/2005 Dietrich et al.
`3/2006 Irvin et al.
`512006 Flentov et al.
`612006 Vogt
`712006 Vock et al.
`8/2006 Vock et al.
`12/2006 Albert
`112007 Vock et al.
`112007 Tsuji
`112007 Vock et al.
`212007 Kroll et al.
`4/2007 Darley et al.
`5/2007 Aoshirna et al.
`5/2007 Stubbs et al.
`1112007 Tsuji
`12/2007 Skvortsov et al. ............ 702/160
`2/2008 Klees et al.
`2/2008 Seo et al.
`4/2008 Choi et al.
`6/2008 Inoue et al.
`9/2008 Darley et al.
`1112008 Flentov et al.
`1112008 Kahn et al.
`12/2008 Pasolini et al.
`12/2008 Kulach et al.
`3/2009 Vock et al.
`412009 Tananhaus et al.
`10/2009 Shugg
`................. 702/165
`1112009 Darley et al.
`12/2009 Park et al. ..................... 702/141
`112010 Daumer et al.
`112010 Kahn et al.
`112010 Kahn et al.
`7/2010 Nivaetal.
`7/2010 Kahn et al.
`8/2010 Niva et al.
`8/2010 Kahn et al. .................... 702/141
`12/2010 Bouvier et al.
`2/2011 Kahnetal. .................... 702/160
`
`................. 702/182
`
`............... 702/160
`
`7,892,080 Bl
`7 ,962,312 B2 *
`7,987,070 B2 *
`8,187,182 B2 *
`2002/0023654 Al
`2002/0089425 Al
`200210109600 Al
`2002/0118121 Al
`2002/0151810 Al
`2003/0018430 Al
`2003/0048218 Al
`2003/0083596 Al
`2003/0109258 Al
`2003/0139692 Al
`2004/0225467 Al
`2004/0236500 Al
`2005/0033200 Al
`2005/0202934 Al
`2005/0210300 Al
`2005/0222801 Al
`2005/0232388 Al
`2005/0232404 Al
`2005/0238132 Al
`2005/0240375 Al
`2005/0245988 Al
`2005/0248718 Al
`200610020177 Al
`2006/0063980 Al
`2006/0064276 Al
`2006/0100546 Al
`2006/0136173 Al
`2006/0149516 Al
`2006/0161377 Al
`2006/0167387 Al
`200610174685 Al *
`2006/0206258 Al
`2006/0223547 Al
`2006/0259268 Al
`2006/0284979 Al
`2006/0288781 Al
`2007 /0038364 Al
`2007/0061105 Al
`2007/0063850 Al
`2007/0067094 Al
`2007 /0073482 Al
`2007 /0082789 Al
`2007/0125852 Al
`2007/0130582 Al
`2007/0142715 Al
`200710143068 Al *
`200710145680 Al
`2007/0150136 Al
`2007 /0208531 Al
`2007/0213126 Al
`2007/0250261 Al
`2007/0259716 Al
`2007 /0259717 Al
`2007/0260418 Al
`2007 /0260482 Al
`2008/0171918 Al
`2008/0243432 Al *
`2009/0043531 Al
`2009/0047645 Al
`2009/0124348 Al
`2009/0213002 Al
`2009/0234614 Al
`2009/0319221 Al
`2010/0056872 Al
`2010/0057398 Al
`
`2/2011 Dahl
`6/2011 Darley et al .................. 702/165
`7/2011 Kalm et al ..................... 702/160
`512012 Kalm et al ..................... 600/300
`212002 Webb
`712002 Kubo et al.
`8/2002 Mault et al.
`8/2002 Lehrman et al.
`10/2002 Wong et al.
`112003 Ladetto et al.
`3/2003 Milnes et al.
`5/2003 Kramer et al.
`6/2003 Mantyjarvi et al.
`7/2003 Barrey et al.
`1112004 Vock et al.
`1112004 Choi et al.
`212005 Soehren et al.
`912005 Olrik et al.
`912005 Song et al.
`10/2005 Wulff et al.
`10/2005 Tsuji
`10/2005 Gaskill
`10/2005 Tsuji
`10/2005 Sugai
`1112005 Miesel
`1112005 Howell et al.
`112006 Seo et al.
`3/2006 Hwang et al.
`3/2006 Ren et al.
`512006 Silk
`612006 Case, Jr. et al.
`712006 Bond et al.
`712006 Rakkola et al.
`712006 Buchholz et al.
`8/2006 Skvortsov et al. ............. 73/1.37
`912006 Brooks
`10/2006 Chin et al.
`1112006 Vock et al.
`12/2006 Clarkson
`12/2006 Daumer et al.
`212007 Lee et al.
`3/2007 Darley et al.
`3/2007 Devaul et al.
`3/2007 Park et al.
`3/2007 Churchill et al.
`4/2007 Nissila et al.
`6/2007 Rosenberg
`6/2007 Chang et al.
`6/2007 Banet et al.
`6/2007 Pasolini et al.
`6/2007 Rosenberg
`6/2007 Doll et al.
`9/2007 Darley et al.
`9/2007 Deutsch et al.
`10/2007 Soehren
`1112007 Mattice et al.
`1112007 Mattice et al.
`1112007 Ladetto et al.
`1112007 Nurmela et al.
`7/2008 Teller et al.
`10/2008 Kato et al.
`212009 Kalm et al.
`212009 Dibenedetto et al.
`512009 Yoseloff et al.
`8/2009 Rani et al.
`912009 Kalm et al.
`12/2009 Kalm et al.
`3/2010 Kalm et al.
`3/2010 Darley et al.
`
`.................... 702/160
`
`............... 702/160
`
`OTHER PUBLICATIONS
`
`Heart Rate Monitors, .suunto.corn/suunto/Worlds/main/world_ar(cid:173)
`ticle_product_no_ATL.jsp?CONTENT%3C%3Ecnt_
`id~ 10134198676968765&FOLDER %3C%3Efolder_
`d~9852723697225397&ASSORTMENT%3C%3East_
`id~l408474395903593&bmUID~l l 74532640618speed>, Apr. 4,
`2007, 1 page.
`
`Apple v. Uniloc USA
`
`Page 2 of 21
`
`Apple Ex. 1001
`
`
`
`US 8, 712, 723 Bl
`Page 3
`
`(56)
`
`References Cited
`
`OTHER PUBLICATIONS
`
`Jones, L, et al, "Wireless Physiological Sensor System for Ambula(cid:173)
`tory
`Use,"
`ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp~
`&arnumbeF1612917&isnumbeF33861>, Apr. 3-5, 2006.
`"Sensor Fusion," .u-dynamics.com>, accessed Aug. 29, 2008, 2
`pages.
`Sinha, Alex, "Heart Monitoring Training," .marathonguide.corn/
`training/articles/HeartMonitorTraining.cfm>, Apr. 4, 2007, 5 pages.
`Wang, Shu, et al, "Location Based Services for Mobiles: Technolo(cid:173)
`gies and Standards, LG Electronics MobileComm," IEEE ICC 2008,
`Beijing, pp. 1-66 (part 1 of3).
`Wang, Shu, et al, "Location Based Services for Mobiles: Technolo(cid:173)
`gies and Standards, LG Electronics MobileComm," IEEE ICC 2008,
`Beijing, pp. 67-92 (part 2 of3).
`Wang, Shu, et al, "Location Based Services for Mobiles: Technolo(cid:173)
`gies and Standards, LG Electronics MobileComm," IEEE ICC 2008,
`Beijing, pp. 93-123 (part 3 of3).
`Weckesser, P, et al, "Multiple Sensorprocessing for High-Precision
`Navigation and Environmental Modeling with a Mobile Robot,"
`IEEE, 1995, pp. 453-458.
`Yoo, Chang-Sun, et al, "Low Cost GPS/INS Sensor Fusion System
`for UAV Navigation," IEEE, 2003, 9 pages.
`Anderson, Ian, et al, "Shakra: Tracking and Sharing Daily Activity
`Levels with Unaugmented Mobile Phones," Mobile Netw Appl, Aug.
`3, 2007, pp. 185-199.
`Aylward, Ryan, et al, "Sensemble: A Wireless, Compact, Multi-User
`Sensor System for Interactive Dance," International Conference on
`New Interfaces for Musical Expression (NIME06), Jun. 4-8, 2006,
`pp. 134-139.
`Baca, Arnold, et al, "Rapid Feedback Systems for Elite Sports Train(cid:173)
`ing," IEEE Pervasive Computing, Oct.-Dec. 2006, pp. 70-76.
`Bakhru, Kesh, "A Seamless Tracking Solution for Indoor and Out(cid:173)
`door Position Location," IEEE 16th International Symposium on
`Personal, Indoor, and Mobile Radio Communications, 2005, pp.
`2029-2033.
`Bliley, Kara E, et al, "A Miniaturized Low Power Personal Motion
`Analysis Logger Utilizing MEMS Accelerometers and Low Power
`Microcontroller," IEEE EMBS Special Topic Conference on
`Microtechnologies in Medicine and Biology, May 12-15, 2005, pp.
`92-93.
`Fang, Lei, et al, "Design of a Wireless Assisted Pedestrian Dead
`Reckoning System-The N av Mote Experience," IEEE Transactions
`on Instrumentation and Measurement, vol. 54, No. 6, Dec. 2005, pp.
`2342-2358.
`Healey, Jennifer, et al, "Wearable Wellness Monitoring Using ECG
`and Accelerometer Data," IEEE Int. Symposium on Wearable Com(cid:173)
`puters (ISWC'05), 2005, 2 pages.
`Hemmes, Jeffrey, et al, "Lessons Learned Building TeamTrak: An
`Urban/Outdoor Mobile Testbed," 2007 IEEE Int. Conf. on Wireless
`Algorithms, Aug. 1-3, 2007, pp. 219-224.
`Jovanov, Emil, et al, "A Wireless Body Area Network oflntelligent
`Motion Sensors for Computer Assisted Physical Rehabilitation,"
`Journal of NeuroEngineering and Rehabilitation, Mar. 2005, 10
`pages.
`
`Kalpaxis, Alex, "Wireless Temporal-Spatial Human Mobility Analy(cid:173)
`sis Using Real-Time Three Dimensional Acceleration Data," IEEE
`Intl. Multi-Conf. on Computing in Global IT (ICCGI'07), 2007, 7
`pages.
`Milenkovic, Milena, et al, "An Accelerometer-Based Physical Reha(cid:173)
`bilitation System," IEEE SouthEastern Symposium on System
`Theory, 2002, pp. 57-60.
`Otto, Chris, et al, "System Architecture of a Wireless Body Area
`Sensor Network for Ubiquitous Health Monitoring," Journal of
`Mobile Multimedia, vol. 1, No. 4, 2006, pp. 307-326.
`Park, Chulsung, et al, "Eco: An Ultra-Compact Low-Power Wireless
`Sensor Node for Real-Time Motion Monitoring," IEEE Int. Symp. on
`Information Processing in Sensor Networks, 2005, pp. 398-403.
`Shen, Chien-Lung, et al, "Wearable Band Using a Fabric-Based
`Sensor for Exercise ECG Monitoring," IEEE Int. Symp. on Wearable
`Computers, 2006, 2 pages.
`Tapia, Emmanuel Munguia, et al, "Real-Time Recognition of Physi(cid:173)
`cal Activities and Their Intensities Using Wireless Accelerometers
`and a Heart Rate Monitor," IEEE Cont. on Wearable Computers, Oct.
`2007, 4 pages.
`Wixted, Andrew J, et al, "Measurement of Energy Expenditure in
`Elite Athletes Using MEMS-Based Triaxial Accelerometers," IEEE
`Sensors Journal, vol. 7, No. 4, Apr. 2007, pp. 481-488.
`Wu, Winston H, et al, "Context-Aware Sensing of Physiological
`Signals," IEEE Int. Conf. on Engineering for Medicine and Biology,
`Aug. 23-26, 2007, pp. 5271-5275.
`Bourzac, Katherine "Wearable Health Reports," Technology Review,
`2006,
`.techreview.corn/printer_friendly _article_
`Feb.
`28,
`aspx?id+l6431, Mar. 22, 2007, 3 pages.
`Dao, Ricardo, "Inclination Sensing with Thermal Accelerometers",
`MEMSIC, May 2002, 3 pages.
`Lee, Seon-Woo, et al., "Recognition ofWalking Behaviors for Pedes(cid:173)
`trian Navigation," ATR Media Integration & Communications
`Research Laboratories, Kyoto, Japan, 4 pages.
`Margaria, Rodolfo, "Biomechanics and Energetics of Muscular
`Exercise", Chapter 3, pp. 105-125, Oxford: Clarendon Press 1976.
`Mizell, David, "Using Gravity to Estimate Accelerometer Orienta(cid:173)
`tion", Seventh IEEE International Symposium on Wearable Comput(cid:173)
`ers, 2003, 2 pages.
`Ormoneit, D., et al., "Learning and Tracking Cyclic Human Motion,"
`Encyclopedia of Library and Information Science, vol. 53, supple(cid:173)
`ment 16, 2001, 7 pages.
`PCT International Search Report and Written Opinion for Interna(cid:173)
`tional Application No. PCT/US2008/072537, mailed Oct. 22, 2008,
`10 pages.
`PCT International Search Report and Written Opinion for Interna(cid:173)
`tional Application No. PCT/US2009/48523, mailed Aug. 27, 2009, 8
`pages.
`Weinberg, Harvey, "MEMS Motion Sensors Boost Handset Reliabil(cid:173)
`ity" Jun. 2006, mwrf.corn/ Articles/Print.cfm? ArticleID~l2740, Feb.
`21, 2007, 4 pages.
`* cited by examiner
`
`Apple v. Uniloc USA
`
`Page 3 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 1of9
`
`US 8,712,723 Bl
`
`Dominant Axis Logic 127
`Dominant
`Axis Setting
`Logic
`140
`
`Rolling Average
`~
`Logic 135
`
`,__
`
`••
`
`Cadence Logic
`132
`
`Filter
`120
`
`i
`Acceleration
`Measuring ~ ......__
`Logic
`105
`
`.
`.
`
`Timer
`170
`
`-----..
`
`--+
`
`~
`
`Measurement
`Selection
`Logic 145
`I
`
`.
`+
`1 Cadence /
`Window I
`150
`
`\
`
`\
`
`.... -.-
`Comparator +--
`Threshold
`
`160
`
`Mode
`Logic
`190
`
`~ +
`Measurement
`Comparator
`155
`
`.
`
`,
`1 Step Count /
`1
`Buffer
`-
`I
`165
`\
`
`\
`
`1 Final Step /
`Count 1-
`175
`
`I
`
`\
`
`\
`
`Step Counting Logic 130
`
`Electronic Device 100
`
`Figure 1
`
`Apple v. Uniloc USA
`
`Page 4 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 2of9
`
`US 8,712,723 Bl
`
`-~
`
`- i
`
`-! -
`
`-
`
`g,-r
`
`<-..
`
`Q) ....
`
`:
`a.:
`;;;- ........ .. ?' l
`,-..,
`N
`
`0 g
`
`g
`
`0
`
`8
`
`Apple v. Uniloc USA
`
`Page 5 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 3of9
`
`US 8,712,723 Bl
`
`300~
`
`Initial State
`
`Sleep
`Conditions
`Met
`
`Sleep Mode 305
`
`No Activity
`
`Detect Accelerations
`
`Entry Mode 315
`
`N Steps in Cadence
`
`Steps in
`Cadence
`
`----- No Steps Detected Within
`Cadence Window
`
`____ ____._ __ _
`
`Exit Mode 335
`
`Figure 3
`
`Apple v. Uniloc USA
`
`Page 6 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 4of9
`
`US 8,712,723 Bl
`
`400~
`Start
`
`Set Sleep Mode Sampling Rate
`405
`
`Take Measurement(s) of Acceleration Data
`410
`
`No
`
`Yes
`Initiate Entry
`Mode 12.Q
`
`Figure 4
`
`Apple v. Uniloc USA
`
`Page 7 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 5of9
`
`US 8,712,723 Bl
`
`500 /
`
`~ Start
`-
`
`Set Stepping
`Sam lin Rate QQ1
`
`Recognize First Step
`510
`
`Set Default Cadence
`Window 514
`
`Set Buffered Step
`Count to One 520
`
`530
`
`540
`
`Add One to Buffered
`Step Count
`560
`
`Step Count to Zero
`534
`
`Yes
`
`Initiate Sleep Mode
`544
`
`570
`
`Set New Cadence
`Window
`574
`
`584
`
`Add Buffered Steps to
`Actual Step Count and
`Initiate Stepping Mode
`
`580
`
`Figure 5
`
`Apple v. Uniloc USA
`
`Page 8 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 6of9
`
`US 8,712,723 Bl
`
`Start
`
`600~--
`
`Set New Cadence
`Window 610
`
`Yes
`
`No
`
`Add One to Step
`Count620
`
`No
`
`Initiate Exit Mode
`630
`
`Figure 6
`
`Apple v. Uniloc USA
`
`Page 9 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 7of9
`
`US 8,712,723 Bl
`
`700~
`
`Start
`
`Initiate (Reset)
`Step Timer
`705
`
`Add One to
`Buffered Step
`Count 710
`
`Yes
`
`715
`
`No
`
`Yes
`
`Figure 7
`
`Apple v. Uniloc USA
`
`Page 10 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 8of9
`
`US 8,712,723 Bl
`
`Start
`
`~800
`
`Take Measurement(s) of Acceleration Data 805
`
`Filter Measurement(s)
`
`810
`
`Orient Device by Assigning Dominant Axis
`
`812
`
`No
`
`No
`
`No
`
`Yes
`
`Count Step 835
`
`830
`
`No Step
`Counted 840
`
`Figure 8
`
`Apple v. Uniloc USA
`
`Page 11 of 21
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Apr. 29, 2014
`
`Sheet 9of9
`
`US 8,712,723 Bl
`
`900~
`
`Start
`
`Detect Period of Stepping Cadence 910
`
`Create Rolling Averages of Accelerations 915
`
`Assign Dominant Axis
`
`920
`
`Figure 9
`
`Apple v. Uniloc USA
`
`Page 12 of 21
`
`Apple Ex. 1001
`
`
`
`1
`HUMAN ACTIVITY MONITORING DEVICE
`
`The present patent application is a continuation of U.S.
`application Ser. No. 12/694,135, filed on Jan. 26, 2010, now
`U.S. Pat. No. 7,881,902, issued on Feb. 1, 2011; which is a
`continuation ofU.S. application Ser. No. 11/644,455, filed on
`Dec. 22, 2006, now U.S. Pat. No. 7,653,508, issued on Jan.
`26, 2010.
`
`FIELD OF THE INVENTION
`
`This invention relates to a method of monitoring human
`activity, and more particularly to counting periodic human
`motions such as steps.
`
`BACKGROUND
`
`US 8,712,723 Bl
`
`2
`FIG. 7 illustrates a flow diagram for a method of operating
`an electronic device in exit mode, in accordance with one
`embodiment of the present invention;
`FIG. 8 illustrates a flow diagram for a method of recogniz(cid:173)
`ing a step in accordance with one embodiment of the present
`invention, in accordance with one embodiment of the present
`invention; and
`FIG. 9 illustrates a flow diagram for a method of orienting
`an inertial sensor, in accordance with one embodiment of the
`10 present invention.
`
`DETAILED DESCRIPTION
`
`The development of Micro-Electro-Mechanical Systems
`(MEMS) technology has enabled manufacturers to produce
`inertial sensors (e.g., accelerometers) of sufficient size, cost,
`and power consumption to fit into portable electronic devices.
`Such inertial sensors can be found in a limited number of
`commercial electronic devices such as cellular phones, por(cid:173)
`table music players, pedometers, game controllers, and por- 25
`table computers.
`Step counting devices are used to monitor an individual's
`daily activity by keeping track of the number of steps that he
`or she takes. Generally, step counting devices that utilize an
`inertial sensor to measure motion to detect steps require the 30
`user to first position the device in a limited set of orientations.
`In some devices, the required orientations are dictated to the
`user by the device. In other devices, the beginning orientation
`is not critical, so long as this orientation can be maintained.
`Step counting devices are often confused by motion noise 35
`experienced by the device throughout a user's daily routine.
`This noise causes false steps to be measured and actual steps
`to be missed in conventional step counting devices. Conven(cid:173)
`tional step counting devices also fail to accurately measure
`steps for individuals who walk at a slow pace. Such step
`counting devices can fail to operate for seniors and others
`walking at a slow pace.
`
`40
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention is illustrated by way of example, and
`not by way of limitation, and can be more fully understood
`with reference to the following detailed description when
`considered in connection with the following figures:
`FIG. 1 is a block diagram illustrating one embodiment of
`an electronic device;
`FIG. 2 illustrates an exemplary cadence of motion graph
`that measures time versus acceleration, in accordance with
`one embodiment of the present invention;
`FIG. 3 shows a state diagram for the behavior of a system
`of monitoring human activity using an inertial sensor, in
`accordance with one embodiment of the present invention;
`FIG. 4 illustrates a flow diagram for a method of operating
`an electronic device in sleep mode, in accordance with one
`embodiment of the present invention;
`FIG. 5 illustrates a flow diagram for a method of operating
`an electronic device in entry mode, in accordance with one
`embodiment of the present invention;
`FIG. 6 illustrates a flow diagram for a method of operating
`an electronic device in stepping mode, in accordance with one
`embodiment of the present invention;
`
`Embodiments of the present invention are designed to
`15 monitor human activity using an inertial sensor. In one
`embodiment, a dominant axis is assigned after determining an
`orientation of an inertial sensor. The orientation of the inertial
`sensor is continuously determined, and the dominant axis is
`updated as the orientation of the inertial sensor changes. In
`20 one embodiment, periodic human motions are counted by
`monitoring accelerations relative to the dominant axis.
`FIG. 1 is a block diagram illustrating an electronic device
`100, in accordance with one embodiment of the present
`invention. The electronic device 100 in one embodiment
`comprises an acceleration measuring logic 105, a filter 120, a
`dominant axis logic 127, a step counting logic 130, a timer
`170, and a final step count 175. In one embodiment, the
`electronic device 100 is a portable electronic device that
`includes one or more inertial sensors. The inertial sensors
`may measure accelerations along a single axis or multiple
`axes. The inertial sensors may measure linear as well as
`rotational (angular) accelerations. The electronic device 100
`may be used to count steps or other periodic human motions.
`Steps may be accurately counted regardless of the placement
`and/or orientation of the device on a user. Steps may be
`accurately counted whether the electronic device 100 main-
`tains a fixed orientation or changes orientation during opera(cid:173)
`tion. The electronic device 100 may be carried in a backpack,
`pocket, purse, hand, or elsewhere, and accurate steps may still
`be counted.
`The acceleration measuring logic 105 measures accelera(cid:173)
`tion data at a sampling rate. The sampling rate may be fixed or
`variable. In one embodiment, the acceleration measuring
`logic 105 receives a timing signal from the timer 170 in order
`45 to take measurements at the sampling rate. The acceleration
`measuring logic 105 may be an inertial sensor.
`In one embodiment, measurement data is processed by the
`filter 120 to remove noise. The filter 120 may be implemented
`in hardware, software, or both hardware and software. The
`50 filter 120 may include a high pass filter, a low pass filter, a
`bandpass filter, a bandstop filter and/or additional filters. The
`filter 120 may include a digital filter and/or an analog filter. In
`one embodiment, a hardware digital filter includes at least one
`of a finite impulse response (FIR) filter and an infinite impulse
`55 response (IIR) filter. In one embodiment, an N-tap hardware
`digital FIR filter is used. The use of a hardware FIR filter may
`reduce power consumption by reducing and/or eliminating
`software digital filtering.
`In one embodiment, the filter 120 includes multiple filters,
`60 and a determination of which filters to apply to the measure(cid:173)
`ment data is made based upon an operating mode of the
`electronic device 100. In one embodiment, the selection of
`which filters to use is determined by the type of user activity
`detected. For example, a low pass filter may be used to remove
`65 high frequency noise that would interfere with step counting
`when a user is walking. In contrast, a high pass filter may be
`used when quick motions are to be monitored.
`
`Apple v. Uniloc USA
`
`Page 13 of 21
`
`Apple Ex. 1001
`
`
`
`US 8,712,723 Bl
`
`3
`Filtered measurement data may be passed on to the domi(cid:173)
`nant axis logic 127 and the step counting logic 130. In one
`embodiment, the dominant axis logic 127 includes a cadence
`logic 132, a rolling average logic 135, and a dominant axis
`setting logic 140. In an alternative embodiment, more or
`fewer logics may be used to determine a dominant axis. One
`embodiment of implementing dominant axis assignment may
`be found in U.S. Ser. No. 11/603,472, now issued as U.S. Pat.
`No. 7,457,719 which is incorporated herein by reference.
`Alternative means of identifying a dominant axis may be used 10
`in other embodiments.
`In one embodiment, the dominant axis logic 127 is used to
`determine an orientation of the electronic device 100 and/or
`an inertial sensor within the electronic device 100. In alter- 15
`native embodiments, other logics may be used to determine
`an orientation of the electronic device 100.
`Referring to FIG. 1, the cadence logic 132 may determine
`one or more sample periods to be used by the rolling average
`logic 135, and may determine a cadence window 150 to be 20
`used by the step counting logic 130. In one embodiment, the
`cadence logic 132 detects a period and/or cadence of a motion
`cycle. The period and/or cadence of the motion cycle may be
`based upon user activity (e.g. rollerblading, biking, running,
`walking, etc.).
`Many types of motions that are useful to keep track of have
`a periodic set of movements. Specific periodic human
`motions may be characteristic of different types of user activ(cid:173)
`ity. For example, to walk, an individual must lift a first leg,
`move it forward, plant it, then repeat the same series of 30
`motions with a second leg. In contrast, a person rollerblading
`performs a repeated sequence of pushing, coasting and liftoff
`for each leg. For a particular individual, the series of walking
`motions will usually occur in about the same amount of time,
`and the series of rollerblading motions will usually occur in 35
`the same amount of time. The repeated set of motions can be
`considered a unit, and defines the motion cycle. The amount
`of time that it takes to complete one motion cycle defines the
`motion cycle's period, and the number of motion cycles that
`occur in a given unit of time define the motion cycle's 40
`cadence. For simplicity, the term "step" is used in this appli(cid:173)
`cation to describe the user activity being evaluated. However,
`in the context of this application, the term "step" should be
`taken to mean any user activity having a periodic set of
`repeated movements.
`FIG. 2 illustrates an exemplary motion cycle graph 200 that
`measures time versus acceleration, in accordance with one
`embodiment of the present invention. The exemplary motion(cid:173)
`cycle graph 200 shows acceleration data taken with a single
`tri-axis inertial sensor. The acceleration at a given time is 50
`represented for a first axis 203, a second axis 205, and a third
`axis 207. In one embodiment, the cadence logic 132 of FIG.
`1 analyzes the acceleration along the first axis 203, second
`axis 205 and third axis 207 to detect a motion cycle. Once a
`motion cycle is detected, a period of the motion cycle is 55
`determined, and a cadence of the motion cycle is determined.
`FIG. 2 shows an exemplary period of a motion cycle 210 for
`the third axis 207, the period 215 being approximately 0.6
`seconds. The same period can also be seen to a lesser degree
`in the second axis 205 and the first axis 203. The correspond(cid:173)
`ing cadence to the motion cycle is approximately one hundred
`motion cycles per minute.
`In one embodiment, once a stepping period (or other
`motion cycle period) is determined, that period may be used
`to set the cadence window (the allowable time window for 65
`steps to occur). In one embodiment, the period is updated
`after each step. The current stepping period may be a rolling
`
`4
`average of the stepping periods over previous steps, as dis(cid:173)
`cussed in more detail with reference to the rolling average
`logic 135 of FIG. 1.
`A cadence window may be used to facilitate accurate mea(cid:173)
`surement of a step, or other periodic human motion. A
`cadence window is a window of time since a last step was
`counted that is looked at to detect a new step. A cadence
`window may be set based on the period and/or cadence of the
`actual motion cycle (e.g., a stepping period), on set limits,
`and/or on other determiners.
`Referring to FIG. 2, an exemplary first cadence window
`240 and second cadence window 255 are shown. The first
`cadence window 240 may be defined by a first cadence win(cid:173)
`dow minimum 230 and a first cadence window maximum
`235. The second cadence window 255 may be defined by a
`second cadence window minimum 245 and a second cadence
`window maximum 250. In one embodiment, the cadence
`window minimums 230 and 245 and cadence window maxi-
`mums 235 and 250 are determined by measuring lengths of
`time since the most recent step was counted. In one embodi(cid:173)
`ment, this length of time is measured via the timer 170 of FIG.
`1. In other embodiments, other variables may be used to set
`the cadence window. For example, cadence windows may be
`25 determined by measuring cumulative amounts of accelera(cid:173)
`tion that have been measured since the previous step was
`counted.
`Returning to FIG. 2, cadence windows may be used to
`count steps until an expected step is not encountered. In one
`embodiment, new cadence windows are determined periodi(cid:173)
`cally. In one embodiment, the cadence window is a dynamic
`cadence window that continuously updates as a user's
`cadence changes. For example, using a dynamic cadence
`window, a new cadence window length may be set after each
`step. The cadence window minimums may be determined by
`subtracting a value from the stepping period, and the cadence
`window maximums may be determined by adding a value to
`the stepping period. In one embodiment, the cadence window
`maximums are preset, and the cadence window minimums
`are updated after each step is counted. In one embodiment, the
`cadence window minimums are preset, and the cadence win-
`dow maximums are updated after each step is counted. In one
`embodiment, both the cadence window minimums and
`cadence window maximums are updated when a step is
`45 counted. In one embodiment, the current cadence window
`minimum is determined by subtracting 200 ms from the cur(cid:173)
`rent stepping cadence period. In one embodiment, the
`cadence window minimum has a minimum value of 240 ms.
`In the illustrated embodiment of FIG. 2, a first step 217 is
`counted at 0.65 seconds, and a second step 232 is counted at
`approximately 1.15 seconds. The first cadence window 240
`opens at approximately 0.4 seconds from the first step 217,
`and closes at approximately 0.8 seconds from the first step
`217. As shown, the second step 232 falls within the first
`dynamic cadence window 240. A third step 233 falls within
`the second dynamic cadence window 255, which may have a
`second cadence window minimum 245 and second cadence
`window maximum 250 that are different from the first
`cadence window minimum 230 and first cadence window
`60 maximum 235. The illustrated second cadence window mini-
`mum is about 0.35 seconds from the second step 232, and the
`second cadence window maximum 250 is about 0.75 seconds
`from the second step 232. Other cadence window minimums
`and maximums are also possible. When motion criteria (e.g.,
`threshold conditions) are met within a cadence window, a step
`is detected, whereas when motion criteria are met outside of
`the cadence windows no step is detected.
`
`Apple v. Uniloc USA
`
`Page 14 of 21
`
`Apple Ex. 1001
`
`
`
`US 8,712,723 Bl
`
`5
`If no previous steps have been detected, there is no cadence
`minimum, and a step may be detected at any time that motion
`criteria are met. If fewer than the required number of steps to
`determine a dynamic ca