`Kahn et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 7,881,902 Bl
`Feb. 1, 2011
`
`(54) HUMAN A1℃TIVITY MONITORING DEVI℃E
`
`(75)
`
`I盯entors: Philippe Kahn, Aptos, CA (US);
`Arthur Kinsolving, Santa Cruz, CA
`(US); Ma此 Andrew ℃hristensen, Santa
`Cruz, CA (US); Brian Y. Lee, Aptos, CA
`(US); Da刘d Vogel, Santa Cruz, CA (US)
`
`(73) Assignee: DP Technologies, Inc., Scotts Valley, CA
`(US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or a司justed under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 12/694,135
`
`(22) Filed:
`
`Jan.26,2010
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 11/644,455,自led on
`Dec. 22, 2006, now Pat. No. 7,653,508.
`
`(51)
`
`Int. Cl.
`GOJC 22础。(2006.01)
`G06F 19础。(2006.01)
`(52) U.S. Cl. ......................... 702/160; 377/24.2; 702/97
`( 58) Field of ℃lassification Search . ... ... ... ... .. ... . 33/700,
`33/701; 73/1.01, 1.37, 1.38, 1.75, 1.76, 1.77,
`73/1.78, 1.79, 1.81; 377/1, 13, 15, 17, 20,
`377/24, 24.1, 24.2; 702/1, 85, 97, 127, 141,
`702/150, 155, 158, 160, 187, 189
`See application file for complete search history.
`
`(56)
`
`References ℃ited
`
`U.S. PATENT DOCUMENTS
`
`4,285,041 A
`4,578,769 A
`5,446,725 A
`5,446,775 A
`5,593,431 A
`5,955,667 A
`
`8/ 1981 Smith
`3/1986 Frederick
`8/1995 Ishiwata.ri
`8/1995 Wright et al.
`111997 Sheldon
`9/1999 Fyfe
`
`1111999 Richardson et al.
`5,976,083 A
`1/2000 Root et al.
`6,013,007 A
`10/2000 Richardson et al.
`6,135,951 A
`1112000 Ebeling et al.
`6,145,389 A
`4/2002 Sakurai et al.
`6,369,794 Bl
`12/2002 Ohlenbusch et al.
`6,493,652 Bl
`2/2003 Fyfe et al.
`6,513,381 B2
`2/2003 Soehren et al.
`6,522,266 Bl
`3/2003 Begin et al.
`6,532,419 Bl
`3/2003 Vock et al.
`6,539,336 Bl
`6,611,789 Bl* 8/2003 Darley ........................ 702/160
`6,700,499 B2
`3/2004 Kubo et al.
`6,790,178 Bl
`9/2004 Mault et al.
`6,813,582 B2
`1112004 Levi et al.
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`“ Wearable Health Reports,” Technology Review, Feb. 28, 2006,
`http://www.techreview.com/
`printer friendly article aspx?id+l6431, Mar. 22, 2007, 3 pages.
`
`(Continued)
`
`Primary Examiner Edward R Cosimano
`(74) Attorney, Agent, or Firm Blakely, Sokoloff, Taylor &
`Zafman, LLP; Judith A. Szepesi
`
`(57)
`
`ABSTRA℃ I
`
`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.
`
`11 ℃laims, 9 Drawing Sheets
`
`Apple v. Uniloc
`
`Page 1 of 19
`
`Apple Ex. 1001
`
`
`
`--
`
`QJQJQJHUHU
`
`’1
`’I
`
`牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气 F牛气F牛气 F牛气F牛气 Fd-
`nu -- 11,3κυnu 句3 句3 句3A 斗 ζυκυQJ7 年 QJ7 年句3 句3
`
`US 7,881,902 Bl
`Page 2
`
`dJ
`
`//////
`AUAUAUAUAUAU
`
`OOA
`-i1i1i1i
`呵/呵/呵/呵/瓦
`
`7 年
`
`7 年
`
`llttlt
`
`OBEaaaaE
`
`咀 JUJUEld
`
`--
`乓 ahdddlt
`
`7年’
`
`斗
`
`1 ’IAUAU
`A斗 A斗 AUKυ
`
`句31i
`
`7 年
`
`7 年 7 年 AU7 年
`
`V 巧/
`
`d
`
`OTHER PUBLICATIONS
`
`厅
`
`「 U
`
`η776
`
`户JLAUAUAU
`
`Dao, Ricardo,“Inclination Sensing with Thermal Accelerometers”,
`MEMSIC, May 2002, 3 pages.
`-VQJAUZJ
`E220
`J
`Lee, Seon-Woo, et al,“Recognition ofWalking Behaviors 岛rPedes
`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 S严nposium on Wearable Comput(cid:173)
`ers, 2003, 2 pages.
`Ormoneit,队, eta!.,“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 PCT/
`US2009/48523, mailed Aug. 27, 2009, 8 pages.
`Weinberg, Harvey.,“MEMS Motion Sensors Boost Handset Reliabil(cid:173)
`Jun.
`2006,
`http ://咀闹闹1.mwrf.com/Articles/Print.
`ity”
`cfm? ArticleID二 12740, Feb. 21, 2007, 4 pages.
`
`* cited by examiner
`
`///
`
`469
`’EA --气 U
`
`d
`
`山叫峨叫MturMM时MMMM叫川同时rtM闪闪闪口时即沈阳时
`
`A斗 A斗 A斗,、UP、UP、UP、UP、UP、UP、uζυκυκυκυ 巧/呵/呵/呵/呵/呵/呵/
`
`00000000000JHUHUHU7
`
`年 7 年 7 年句3 句3 句3A 斗,、UP、UP、UP、UP、u
`
`7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年 7 年
`11117 年 A斗 A斗气 UOOQJHU7 年句3 巧/ 007 年 111111A
`
`斗气 U 气 U117 年 7 年 A斗 ζυ11A 斗 1111 巧/呵/ OOHU -- κυ 巧/ 117 年 HUHUHUHU
`
`-
`
`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,072,789 B2
`7,092,846 B2
`7,148,797 B2
`7,158,912 B2
`7,169,084 B2
`7,171,331 B2
`7,200,517 B2
`7,212,943 B2
`7,220,220 B2
`7,297,088 B2
`7,328,611 B2 *
`7,334,472 B2
`7,353,112 B2
`7,387,611 B2
`7,457,719 Bl
`7,526,402 B2
`7,647,196 B2 *
`7,653,508 Bl*
`7,753,861 Bl*
`2002/0089425 Al
`200210109600 Al
`2002/0151810 Al
`2003/0018430 Al
`2003/0109258 Al
`2003/0139692 Al
`2004/0225467 Al
`2005/0033200 Al
`2005/0222801 Al
`2005/0232388 Al
`2005/0232404 Al
`2005/0238132 Al
`
`l 过 LUldeJUU
`- due
`audoe
`dmdJU山时d 川h川川川川川 dmdudJUMMmMMMJUMUd
`b 巾 yd 缸 G 咀 eceeeteeymsetdeGheeedeeb
`
`//////////////////
`1111
`AUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAU
`HUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHU
`j311ahHEe
`2005/0240375 Al
`U.S. PATENT DOCUMENTS
`气F
`e4aaeeaeetetttt
`2005/0248718 Al
`ll
`//////////////////////////////////////////
`AUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAUAU
`nunUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUnut
`200610020177 Al
`2006/0100546 Al
`JUde
`2006/0136173 Al
`2006/0223547 Al
`2007/0061105 Al*
`2007/0063850 Al
`2007/0067094 Al
`2007 /0082789 Al
`1111111111l
`2007/0125852 Al
`2007/0142715 Al
`2007/0208531 Al*
`2009/0043531 Al
`2009/0234614 Al*
`2009/0319221 Al*
`2010/0056872 Al*
`2010/0057398 Al*
`
`lduddvudLMA山MVJ山川叫叫v
`mrw们k 白山山 m此 mmh耐础归归归归础
`SHt 』SCCDDRNRBDKKKKD
`气 U 气 uζυκυκυκυ 巧/呵/呵/呵/呵/呵/呵/
`
`-。
`
`…
`
`JUdJul
`
`--们 lIll
`
`d …
`过 uuuldeju
`
`… u
`
`- aIJUt
`
`加d 川M们
`
`-m川
`
`yee
`
`--
`itIHUHUHUHUHUHUHUHUHUHUHUHU
`
`Apple v. Uniloc
`
`Page 2 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 1of9
`
`US 7,881,902 Bl
`
`Acceleration
`Measuring
`Logic
`105
`
`Dominant Axis Logic ill
`Domi 门 a 门t LI Rolling Ave啕e
`Axis Setting II
`Logic 血
`Logic
`且Q
`
`MeasL』 rement
`Selection
`Logic 1且主
`
`Measurement
`Corn pa 「ator
`155
`
`Step Count
`Buffer
`165
`
`Step Cou 门ting Logic i豆豆
`
`Electronic Device 100
`
`Figure 1
`
`Apple v. Uniloc
`
`Page 3 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 2of9
`
`US 7,881,902 Bl
`
`{的}φEH
`
`‘’3 0
`
`小8
`
`I ~"
`
`,
`I .. •
`
`、
`i 、电
`
`\v
`n/
`
`\J
`
`\可 mnyJ
`
`/\‘VK二)《··.d
`
`1?E
`
`J
`.
`
`、
`
`’·、
`,、也 4
`
`8?’以Jr·-h ! iieayip-止 iJUJ-Fbj 口;二广;二
`} Y川’〈
`由叭川\ J ~
`
`i!
`
`!-
`
`‘
`iigzzti
`
`’』哩
`’旬,
`
`‘霄,
`
`8
`
`0
`5号
`
`0
`~·
`
`0
`0
`
`。
`
`(6) u。”。Ja1aoov
`
`~川φh30Z
`
`牟ili -- I·v -llli
`
`的的NOd
`
`-N
`
`-- v
`
`jiigiiijii
`
`、iiijijijlj
`
`? iii 寸 titi
`
`;呻442dg 气 i
`
`‘ iAneietili --
`
`fjifeJiz§
`
`00町,
`
`事’\/气
`
`h
`
`- gJ··ρ
`
`def.,明了也··7
`
`‘rva’lar -
`
`~·
`
`·Jit--····川~一
`
`00时,
`
`Jr·
`
`L
`OOT
`
`-
`
`S…乃忖
`
`的!
`
`S 芳N
`
`<.I')
`
`'
`
`SS·
`
`c、叶
`
`飞、由
`
`... 二……·、
`
`f、.{
`
`亨 2-•
`\.en,
`四‘?-
`
`:Ql: 1 ,卢卢了:g
`N u :、、马__.~ '1
`<I> y 亏、~·川
`"'P'"
`也I)
`
`~' ~
`
`C'l.
`
`也:
`虫,
`的
`
`r1
`F、
`
`。』
`
`Apple v. Uniloc
`
`Page 4 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 3of9
`
`US 7,881,902 Bl
`
`300 _,,,---一\
`
`Sleep
`Conditions
`Met
`
`Initial State
`
`No Activity
`
`Detect Accelerations
`
`Entry Mode 主1豆
`
`N Steps in Cadence
`
`Steps in
`Cadence
`
`No Steps Detected Within
`Cadence Window
`
`Exit Mode 335
`
`Figure 3
`
`Apple v. Uniloc
`
`Page 5 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 4of9
`
`US 7,881,902 Bl
`
`400~气、
`
`Set Sleep Mode Sampling Rate
`405
`
`Take Measurement(s) of Acceleration Data
`410
`
`ee
`nqJt E4
`HMM
`-
`
`旧 ω
`
`川,0-
`
`Figure 4
`
`Apple v. Uniloc
`
`Page 6 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 5of9
`
`US 7,881,902 Bl
`
`500 /产、
`
`Recognize Fi 「st Step
`且且
`
`Set Default Cadence
`Window 豆11.
`
`Set Buffered Step
`Count to One 520
`
`530
`
`540
`
`Add One to Buffered
`Step Count
`革♀
`
`Reset Buffered
`Step Count to Ze 「O
`吕王
`
`Initiate Sleep Mode
`544
`
`570
`
`584
`
`Add Buffe「ed Steps to
`Actual Step Count and
`Initiate Stepping Mode
`
`Window
`574
`
`Figure 5
`
`Apple v. Uniloc
`
`Page 7 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 6of9
`
`US 7,881,902 Bl
`
`600~
`
`Set New Cadence
`Window 豆1Q
`
`625
`
`Initiate Exit Mode
`630
`
`Figure 6
`
`Apple v. Uniloc
`
`Page 8 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 7of9
`
`US 7,881,902 Bl
`
`700 ~产气、
`
`Initiate (Reset)
`Step Timer
`705
`
`Add One to
`Buffered Step
`Count 710
`
`Figure 7
`
`Apple v. Uniloc
`
`Page 9 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 8of9
`
`US 7,881,902 Bl
`
`Take Measurement(s) of Acceleration Data 盟主
`
`Filter Measurement(s) 豆卫
`
`Orient Device by Assigning Dominant Axis
`
`垒12.
`
`No
`
`No
`
`No
`
`No
`
`Count Step 豆豆豆
`
`No Step
`Counted 840
`
`Figure 8
`
`Apple v. Uniloc
`
`Page 10 of 19
`
`Apple Ex. 1001
`
`
`
`U.S. Patent
`
`Feb. 1, 2011
`
`Sheet 9of9
`
`US 7,881,902 Bl
`
`900 --~\
`
`Detect Period of Stepping Cadence
`
`fil♀
`
`Create Rolling Averages of Accelerations 旦1Q
`
`Assign Dominant Axis
`
`.92.Q
`
`合
`
`Figure 9
`
`Apple v. Uniloc
`
`Page 11 of 19
`
`Apple Ex. 1001
`
`
`
`US 7,881,902 Bl
`
`1
`HUMAN A℃TIVITY MONITORING DEVI℃E
`
`The present patent application is a continuation of U.S.
`application Ser. No. 11/644,455,自led on Dec. 22, 2006, now
`U.S. Pat. No. 7,653,508.
`
`FIELD OF THE INVENTION
`
`This invention relates to a method of monitoring human
`activity, and more particularly to counting periodic human 10
`motions such as steps.
`
`2
`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
`present invention.
`
`DETAILED DESCRIPTION
`
`BACKGROUND
`
`Embodiments of the present invention are designed to
`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
`15 sensor is continuously determined, and the dominant axis is
`The development of 肌1icro-El巳:ctro -肌1echanical Systems
`updated as the orientation of the inertial sensor changes. In
`(MEMS) technology has enabled manufacturers to produce
`one embodiment, periodic human motions are counted by
`inertial sensors (e.g., accelerometers) of sufficient size, cost,
`monitoring accelerations relative to the dominant axis.
`and power consumption to fit into portable electronic devices.
`FIG. 1 is a block diagram illustrating an electronic device
`Such inertial sensors can be found in a limited number of
`20 100, in accordance with one embodiment of the present
`invention. The electronic device 100 in one embodiment
`commercial electronic devices such as cellular phones, por-
`table music players, pedometers, g缸丑e controllers, and por-
`comprises an acceleration measuring logic 105, a filter 120 a
`table computers.
`dominant axis logic 127, a step counting logic 130, a timer
`,
`Step counting devices are used to monitor an individual s
`170, and a final step count 175. In one embodiment, the
`daily activity by keeping track of the number of steps t~at he 25 electror山 device 100 is a portable electronic device that
`or she takes. Generally, step counting devices that utilize an
`includes one or more inertial sensors. The inertial sensors
`inertial sensor to measure motion to detect steps requir~ the
`may m巳asur巳 acc巳l巳ratior
`us巳rto 且rst position th巳 device in a limit巳d set ofori巳ntat10ns.
`axes. The inertial sensors may measure linear as well as
`In 削ne devices, the required orientations are dictated to ~he
`rotational (angt巾。 accelerations. The electronic device 100
`user by the device. In other devices, the beginning orientat10n 30 may be used to count steps or other periodic human motions.
`is not critical, so long as tl山 orientation can be maintained.
`Steps may be accurately counted regardless of the placement
`Step counting devices are often confused by motion noise
`and/or orientation of the device on a user. Steps may be
`experienced by the device throughout a user’s daily routine.
`accurately counted whether the electronic device 100 main-
`This noise causes false steps to be measured and actual steps
`tains a fixed orientation or changes orientation during opera-
`to be missed in conventional step counting devices. Conven- 35 tion. The electronic device 100 may be carri巳:d in a backpack,
`pocket, purse, hand, or elsewhere, and accurate steps may still
`tional step counting devices also fail to accurately measure
`steps for individuals who walk at a slow pace. Such step
`be counted.
`counting devices can fail to operate for seniors and others
`The acceleration measuring logic 105 measures accelera-
`walking at a slow pace.
`ti on data at a sampling rate. The s缸口piing rate may be fixed or
`40 variable. In one embodiment, the acceleration measuring
`logic 105 receives a timing signal from the timer 170 in order
`to take measurements at the sampling rate. The acceleration
`measuring logic 105 may be an inertial sensor.
`The present invention is illustrated by way of example, and
`not by way of limitation, and can be more fully understood
`In one embodiment, measurement data is processed by the
`with reference to the following detailed description when 45 filter 120 to remove noise. The filter 120 may be implemented
`considered in connection with the following figures:
`in hardware, software, or both hardware and software. The
`FIG. 1 is a block diagram illustrating one embodiment of
`filter 120 may include a high pass filter, a low pass filter, a
`an electronic device;
`bandpass filter, a bandstop filter and/or additional filters. The
`FIG. 2 illustrates an exemplary cadence of motion graph
`filter 120 may include a digital filter and/or an analog filter. In
`that measures time versus acceleration. in accordance with 50 one embodiment, a hardware digital filter includes at least one
`one embodiment of the present invent讪1;
`of a finite impulse response (FIR) filter and an infinite imp山e
`response (IIR) filter. In one embodiment, an N-tap hardware
`FIG. 3 shows a state diagram for the behavior of a system
`digital FIR filter is used. The use of a hardware FIR filter may
`of monitoring human activity using an inertial sensor, in
`reduce power consumption by reducing and/or eliminating
`accordance with one embodiment of the present invention;
`55 software digital filtering.
`FIG. 4 illustrates a flow diagram for a method of operating
`In one embodiment, the filter 120 includes multiple filters,
`an electror山 device in 由巳p mo~巳, ir
`cco灿阳 with one
`and a det巳rm ation of which 且lt巳rs to apply to the巳 m巳asl
`-
`巳mbodim巳nt of th巳 pr巳s巳ntinv巳nt10n;
`m巳nt data is made based upon an operating mode of the
`FIG. 5 illustrates a flow diagram for a method of operating
`electronic device 100. In one embodiment. the selection of
`an electronic device in entry m。中, in accordance with one 60 which filters to use is determined by the type of user activity
`detected. For example, a low pass filter may be used to remove
`embodiment of the present invent10n;
`FIG. 6 illustrates a flow diagram for a method of operating
`high frequency noise that would interfere with step counting
`an electronic device in stepping mode, in accordance with one
`when a user is walking. In contrast, a high pass filter may be
`embodiment of the present invention;
`used when quick motions are to be monitored.
`FIG. 7 illustrates a flow diagram for a method of operating 65
`Filtered measurement data may be passed on to the domi-
`an electronic device in exit mode, in accordance with one
`nant axis logic 127 and the step counting logic 130. In one
`embodiment of the present invention;
`embodiment, the dominant axis logic 127 includes a cadence
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Apple v. Uniloc
`
`Page 12 of 19
`
`Apple Ex. 1001
`
`
`
`US 7,881,902 Bl
`
`5
`
`3
`4
`counted that is looked at to detect a new step. A cadence
`logic 132, a rolling average logic 135, and a dominant axis
`window may be set based on the period and/or cadence of the
`setting logic 140. In an alternative embodiment, more or
`fewer logics may be used to determine a dominant axis.
`actual motion cycle (e.g., a stepping period), on set limits,
`and/or on other determiners.
`Alternative means of identifying a dominant axis may be used
`Referring to FIG. 2, an exemplary first cadence window
`in other embodiments.
`In one embodim巳时, the dominant axis logic 127 is used to
`240 and second cadence window 255 are shown. The first
`determine an orientation of the electronic device 100 and/or
`cadence window 240 may be defined by a first cadence win-
`dow minimum 230 and a first cadence window maximum
`an inertial sensor within the electronic device 100. In alter-
`235. The second cadence window 255 may be defined by a
`native embodiments, other logics may be used to determine
`10 second cadence window minimum 245 and a second cadence
`an orientation of the electronic device 100.
`Referring to FIG. 1, the cadence logic 132 may determine
`window maximum 250. In one embodiment, the cadence
`window minimums 230 and 245 and cadence window maxi-
`one or more sample periods to be used by the rolling average
`mums 235 and 250 are determined by measuring lengths of
`logic 135, and may determine a cadence window 150 to be
`time since the most recent step was counted. In one embodi-
`used by the step counting logic 130. In one embodiment, the
`cadence logic 135 detects a period and/or cadence of a motion 15 n四川, this length of time is measured via the timer 170 of FIG.
`cycle. The period and/or cadence of the motion cycle may be
`1. In other embodiments, other variables may be used to set
`based upon user activity (e.g. rollerblading, biking, running,
`the cadence window. For example, cadence windows may be
`determined by measuring cumulative amounts of accelera-
`walking, etc).
`Many types of motions that are useful to keep track of have
`ti on that have been measured since the previous step was
`a periodic set of movemer山. Specific periodic human 20 counted.
`motions may be characteristic of different types of user activ-
`Returning to FIG. 2, cadence windows may be used to
`ity. For example, to walk, an individual must lift a first leg,
`count steps until an expected step is not encountered. In one
`move it forward, plant it, then repeat the same series of
`embodiment, new cadence windows are determined periodi-
`motions with a second leg. In contrast, a person rollerblading
`cally. In one embodiment, the cadence window is a dynamic
`performs a repeat巳d sequence of pushing, coasting and liftoff 25 cadence window that continuously updates as a user’ s
`for each leg. For a particular individual, the series of walking
`cadence changes. For example, using a dynamic cadence
`motions will usually occur in about the same amount of time,
`window, a new cadence window length may be set a武er each
`and the series of rollerblading motions will usually occur in
`step. The cadence window minimums may be determined by
`the same amount of time. The repeated set of motions can be
`subtracting a value from the stepping period, and the cadence
`considered a unit, and defines the motion cycle. The amount 30 window maximums may be determined by adding a value to
`of time that it takes to complete one motion cycle defines the
`the stepping period. In one embodiment, the cadence window
`motion cycle’s period, and the number of motion cycles that
`maximums are preset, and the cadence window minimums
`occur in a given unit of tim巳 define the motion cycle’ s
`are updated after each step is counted. In one embodiment, the
`cadence. For simplicity, the term “ step” is used in this appli-
`cadence window mir世mums are preset, and the cadence win-
`cation to describe the user activity being evaluated. However, 35 dow maximums are updated after each step is counted. In one
`in the context of this application, the term “ step” should be
`embodiment, both the cadence window minimums and
`taken to mean any user activity having a periodic set of
`cadence window maximums are updated when a step is
`repeated movements.
`counted. In one embodiment, the current cadence window
`FIG. 2 illustrates an exemplary motion cycle graph 200 that
`minimum is determined by subtracting 200 ms from the cur-
`measures time versus acceleration, in accordance with one 40 rent stepping cadence period. In one embodiment, the
`cadence window minimum has a minimum value of 240 ms.
`embodiment of the present invention. The exemplary motion-
`In the illustrated embodiment of FIG. 2, a first step 217 is
`cycle graph 200 shows acceleration data taken with a single
`tri-axis inertial sensor. The acceleration at a given period of
`counted at 0.65 seconds, and a second step 232 is count巳d at
`time is represented for a first axis 203 of the inertial sensor, a
`approximately 1.15 seconds. The first cadence window 240
`second axis 205 of the inertial sensor, and a third axis 207 of 45 opens at approximately 0.4 seconds from the first step 217,
`and closes at approximately 0.8 seconds from the first step
`the inertial sensor. In one embodiment, the cadence logic 132
`of FIG. 1 analyzes the acceleration along the first axis 203,
`217. As shown, the second step 232 falls within the first
`second axis 205 and third axis 207 to detect a motion cycle.
`dynamic cadence window 240. A third step 233 falls within
`Once a motion cycle is detected, a period of the motion cycle
`the second dynamic cadence window 255, which may have a
`so second cadence window minimum 245 and second cadence
`is determined, and a cadence of the motion cycle is deter-
`mined. FIG. 2 shows an exemplary period of a motion cycle
`window maximum 250 that are different from the first
`215 for the third axis 207, the period being approximately 0.6
`cadence window minimum 230 and first cadence window
`maximum 235. The illustrated s巳:cond cadence window mini-
`seconds. The same period can also be seen to a lesser degree
`mum is about 0.35 seconds from the second step 232, and the
`in the second axis 205 and the first axis 203. The correspond-
`ing cadence to the motion cycle is approximately one hundred 55 second cadence window maximum 250 is about 0. 7 5 seconds
`motion cycles per minute.
`from the second step 232. Other cadence window minimums
`In one embodime时, once a stepping period (or other
`and maximums are also possible. When motion criteria (巳 g.,
`motion cycle period) is determined, that period may be used
`threshold conditions) are met within a cadence window, a step
`is detected, whereas when motion criteria are met outside of
`to set the cadence window (the allowable time window for
`steps to occur). In one embodiment, the period is updated 60 the cadence windows no step is detected.
`If no previous steps have been detected, there is no cadence
`after each step. The current stepping period may be a rolling
`average of the stepping periods over previous steps, as dis-
`minimum, and a step may be detected at any time that motion
`criteria are met. If fewer than the required number of steps to
`cussed in more detail with reference to the rolling average
`logic 135 of FIG. 1.
`determine a dynamic cadence window have been detected,
`A cadence window may be used to facilitate accurate mea- 65 then the cadence window may have a default minimum and
`maximum value. In one embodiment, the cadence window
`surement of a step, or other periodic human motion. A
`cadence window is a window of time since a last step was
`has a default minimum of around 325 ms and a default maxi-
`
`Apple v. Uniloc
`
`Page 13 of 19
`
`Apple Ex. 1001
`
`
`
`US 7,881,902 Bl
`
`5
`6
`registry can than be updated with a new rolling average value.
`mum of around 1000 ms. Once enough steps have been
`Alternatively, the rolling averages may be maintained by
`detected to deterr丑ine a dynamic stepping cadence or period,
`the cadence window may be set to the determined stepping
`buffering the measurements used to calculate the rolling aver-
`ages. As the buffers fill, oldest measurement data can be
`period plus or minus an error factor. In one embodiment, a
`count of betw臼n about two to about ten periodic human 5 discarded and rep lac巳d by new measurement data. The mea-
`motions is sufficient to set a dynamic cadence window.
`surements in the buffer can be averaged after each measure-
`The cadence of any periodic human motion will generally
`ment to determine a new rolling average.
`In one embodiment, the dominant axis setting logic 140
`not change more than a certain amount in a given time period.
`In one embodiment, the cadence window may be sufficiently
`determines an orientation of the electronic device 100 and/or
`wide to continue counting periodic human motions even 10 the inertial sensor(s) within the electronic device 100. The
`orientation may be determined based upon the rolling aver-
`when a stepping cadence changes. In one embodiment, the
`ages of accelerations created by the rolling average logic 135.
`cadence window is narrower, and steps may not be counted
`when a stepping cadence changes. So as not to miss steps,
`In one embodiment, once the orientation is determined, a
`once an巳w stepping cadence is detected, previous measure-
`dominant axis is assign巳d based upon the orientation. Deter-
`mentsmaybeexaminedtodeterminewhethertheyregisteras 15 mining an orientation of the electronic device 100 may
`steps under the new stepping cadence and a new cadence
`include identifying a gravitational influence. The axis with
`window. Therefore, steps may be counted even if they did not
`the largest absolute rolling average may be the axis most
`influenced by gravity, which may change over time (e.g. as
`occur in the original cadence window. The cadence window
`may update dynamically to a user’ s actual cadence. Human
`the electror世c device is rotated). Therefore, a new dominant
`cadences change within a known window of rates, and so 20 axis may be assigned when the orientation of the electronic
`steps can be differentiated from other noise. This may ame-
`device 100 and/ or the inertial sensor( s) attached to or embed-
`liorate and/or eliminate miss巳d step counts due to changes in
`d巳d in the electronic device 100 changes.
`In one embodiment, the actual axis with the largest abso-
`cadence.
`In one embodiment, when steps repeat巳dly occur at a time
`lute rolling average over the sample period is assigned as the
`different from the current stepping period, a new stepping 25 dominant axis. In alternative embodiments, the dominant axis
`does not correspond to one of the actual axes of the inertial
`period and a new cadence window are set. For example, when
`sensor(s) in a current orientation, but rather to an axis that is
`the stepping period is 0.7 seconds, and a step occurs about
`defined as approximately aligned to gravity. In one embodi-
`every 0.6 seconds enough times in a row, then the stepping
`period is changed to 0.6 seconds and a new cadence window
`ment, the dominant axis corresponds to a virtual axis that is a
`is set based on the changed stepping period.
`30 component of a virtual coordinate system. In one embodi-
`Returning to FIG. 1, once the stepping period is detected,
`ment, the dominant axis setting logic 140 assigns the domi-
`the cadence logic 132 may set one or more sample periods for
`nant axis by performing a true gravity assessment, such as by
`the rolling average logic 135 to use based upon the stepping
`doing trigonometric calculations on the actual axes based on
`period. In one embodiment, the sample period(s) are set such
`the gravitational influence. In one embodiment, the dominant
`that at least one sample period is approximately the length of, 35 axis setting logic 140 assigns the dominant axis by comparing
`or longer than, the stepping period. In one embodiment, a
`the gravitational influence to a data structure such as a lookup
`sample period is set such that it is a multiple of the stepping
`table, associative array, hash table, ac可 acency matrix, etc.
`period.
`Returning to FIG. 1, the step counting logic 130 may
`The rolling average logic 135 creates one or more rolling
`include a measurement sel巳:ction logic 145, a cadence win-
`averages of accelerations as measured by the inertial sensor 40 dow 150, a measurement comparator 155, a threshold com-
`parator 160, a step count buffer 165, and a mode logic 190.
`(s) over the s缸口ple period(s) set by the cadence logic 132. The
`rolling averages of accelerations may be used for determining
`The measurement selection logic 145 may determine which
`an orientation of the electronic device, for determining
`measurements from the measurement buffer to use to deter-
`thresholds to compare acceleration measurements against,
`mine if a step has occurred. In one embodiment, the measure-
`and/or for other purposes. In one embodiment, the rolling 45 ment selection logic 145 may monitor accelerations relative
`to the dominant axis, and select only those measurements
`average logic 135 creates a rolling average of accelerations
`for determining an orientation of the electronic device 100,
`with specific relations to the dominant axis for measurement.
`the rolling average having a period that is at least the stepping
`For example, only accelerations that are approximately par-
`period. In one embodiment, the rolling average logic creates
`allel to the dominant axis may be selected, or alternatively,
`a rolling average of accelerations for determining a lower so only accelerations that are approximately perpendicular to
`the dominant axis may be selected. In one embodiment, the
`threshold to compare acceleration measurements against, the
`rolling average having a s缸口ple period that is at least twice
`measurement selection logic 145 selects only measurements
`the stepping period.
`of acceleration data along the dominant axis. In alternative
`The rolling average logic 135 may create one or more
`embodiments, measurements of acceleration data along other
`rolling averages of data other than accelerations. In one 55 axes may also be used. In one embodiment, measurements of
`embodiment, the rolling average logic 135 creates a rolling
`acceleration along only the other axes are used.
`average of stepping periods, where the rolling average is the
`Selected measurements may be forwarded to the measure-
`rolling average time between steps. In one embodiment, the
`ment comparator 155 and the threshold comparator 160 to
`rolling average of stepping periods is calculated over the past
`determine whether a step has occurred. The measurement
`four counted steps. The rolling average of the stepping peri- 60 comparator 155 may compare a current measurement to pre-
`vious measurements. Based on this comparison, a current
`ods may be used by the cadence logic 132 to determine a
`measurement may qualify as a step if it has met certain com-
`cadence window and a current stepping cadence.
`In one embodiment, rolling averages may be maintained in
`parison criteria, as discussed in more detail with reference to
`registries that k巳ep track of rolling average values and the
`FIG. 8.
`number of samples that were used to calculate current rolling 65
`In one embodiment, a motion cycle graph is maintained,
`average values. When a new measurement is taken, it can be
`and the current measurement is compared to the motion cycle
`graph. If the motion cycle graph indicates that the current
`incorporat巳:d into the previous rolling average value, and the
`
`Apple v. Uniloc
`
`Page 14 of 19
`
`Apple Ex. 1001
`
`
`
`US 7,881,902 Bl
`
`5
`
`8
`7
`minating an active mode and entry conditions for initiating
`measurement in relation to preceding measurements fits the
`inactive modes. Each mode may have different exit and entry
`profile of a step, then a step may be counted. Otherwise a step
`may not be counted.
`conditions.
`Returning to FIG. 1, the threshold comparator 160 dis-
`Use of different conditions for different operating modes
`qualifies measurements from being counted as steps for fail-
`increases the reliability of the device that is monitoring the
`human activity. For example, once an object (e.g., a person) is
`ure to meet certain thresholds. In one embodiment, measure-
`ments must be larger than a