`
`
`Case 2:17-cv-00140-WCB-RSP Document1-1 Filed 02/17/17 Page 1 of 10 PagelD #: 12
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXHIBIT A
`
`
`
`
`
`
`
`EXHIBIT A
`
`
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 2 of 10 PageID #: 13
`
`U.S. Patent No. 8,441,438
`
`
`
`Samsung Galaxy S7 Edge
`
`
`
`SUBJECT TO CHANGE
`
`1
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 3 of 10 PageID #: 14
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`A method for obtaining a resulting deviation including resultant angles in a spatial pointer reference frame of a three-dimensional
`(3D) pointing device utilizing a six-axis motion sensor module therein and subject to movements and rotations in dynamic
`environments in said spatial pointer reference frame, comprising the steps of:
`
`
`
`three-dimensional (3D)
`pointing device
`
`x
`
`z
`
`spatial pointer reference frame
`
`Source: http://developer.android.com/guide/topics/
`sensors/sensors_overview.html#sensors-coords
`
`SUBJECT TO CHANGE
`
`2
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 4 of 10 PageID #: 15
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`A method for obtaining a resulting deviation including resultant angles in a spatial pointer reference frame of a three-dimensional
`(3D) pointing device utilizing a six-axis motion sensor module therein and subject to movements and rotations in dynamic
`environments in said spatial pointer reference frame, comprising the steps of:
`
`
`
`six-axis motion sensor module
`
`Source: http://www.chipworks.com/about-chipworks/overview/blog/samsung-galaxy-s7-edge-teardown
`
`SUBJECT TO CHANGE
`
`3
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 5 of 10 PageID #: 16
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`obtaining a previous state of the six-axis motion sensor module; wherein the previous state includes an initial-value set associated
`with previous angular velocities gained from the motion sensor signals of the six-axis motion sensor module at a previous time T−1;
`
`The previous state is obtained through an update program that includes a predict() function and an update() function. Those
`functions that are used to update the global variable x0 based on x0 (the previous state) associated with previous angular velocities
`w gained at a previous time T-1 to obtain an updated state x0. The updated state x0 becomes the previous state x0 at time T (the next
`iteration) of the update program to obtain the updated state x0 at time T.
`
`
`previous state
`
`next iteration
`
`Source: https://android.googlesource.com/platform/frameworks/native/+/master/services/sensorservice/Fusion.cpp
`
`SUBJECT TO CHANGE
`
`4
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 6 of 10 PageID #: 17
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`obtaining a current state of the six-axis motion sensor module by obtaining measured angular velocities ωx, ωy, ωz gained from the
`motion sensor signals of the six-axis motion sensor module at a current time T;
`
`
`
`
`
`
`
`
`
`
`
`
`
`current state
`
`measured angular velocities
`
`Source: https://android.googlesource.com/platform/frameworks/native/+/master/services/sensorservice/Fusion.cpp
`
`SUBJECT TO CHANGE
`
`5
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 7 of 10 PageID #: 18
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`obtaining a measured state of the six-axis motion sensor module by obtaining measured axial accelerations Ax, Ay, Az gained from
`the motion sensor signals of the six-axis motion sensor module at the current time T and calculating predicted axial accelerations
`Ax′, Ay′, Az′ based on the measured angular velocities ωx, ωy, ωz of the current state of the six-axis motion sensor module without
`using any derivatives of the measured angular velocities ωx, ωy, ωz;
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`measured axial accelerations
`
`measured state
`
`measured axial accelerations
`
`predicted axial accelerations
`
`As shown in the code above, the predicted measurement is obtained based on the first signal set without using any derivatives of the
`measured angular velocities.
`
`Source: https://android.googlesource.com/platform/frameworks/native/+/master/services/sensorservice/Fusion.cpp
`
`SUBJECT TO CHANGE
`
`6
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 8 of 10 PageID #: 19
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`said current state of the six-axis motion sensor module is a second quaternion with respect to said current time T;
`
`As shown in the examples provided, the current state is represented by the global state variable x0, which is a quaternion with
`respect to the current time T.
`
`Source: https://android.googlesource.com/platform/frameworks/native/+/master/services/sensorservice/Fusion.cpp
`
`SUBJECT TO CHANGE
`
`7
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 9 of 10 PageID #: 20
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`comparing the second quaternion in relation to the measured angular velocities ωx, ωy, ωz of the current state at current time T with the
`measured axial accelerations Ax, Ay, Az and the predicted axial accelerations Ax′, Ay′, Az′ also at current time T; obtaining an updated state
`of the six-axis motion sensor module by comparing the current state with the measured state of the six-axis motion sensor module; and
`
`
`
`measured angular velocities
`
`previous state
`
`current state
`
`measured axial accelerations
`
`predicted axial accelerations
`
`measured state
`
`updated state
`
`Source: https://android.googlesource.com/platform/frameworks/native/+/master/services/sensorservice/Fusion.cpp
`
`SUBJECT TO CHANGE
`
`8
`
`
`
`Case 2:17-cv-00140-WCB-RSP Document 1-1 Filed 02/17/17 Page 10 of 10 PageID #: 21
`U.S. Patent No. 8,441,438 – Samsung Galaxy S7 Edge
`
`Claim 14
`
`calculating and converting the updated state of the six axis motion sensor module to said resulting deviation comprising said
`resultant angles in said spatial pointer reference frame of the 3D pointing device.
`
`The updated state x0 is in quaternion form, and can easily be converted to resultant angles.
`According to Android’s developer library, the getOrientation() function “computes the device’s orientation based on the rotation
`matrix,” and returns resultant angles including the Azimuth, Pitch, and Roll angles.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The getRotationMatrixFromVector() function “convert[s] a rotation vector to a rotation matrix,” and the
`getQuaternionFromVector() function “convert[s] a rotation vector to a normalized quaternion.” Therefore, the quaternion, x0, can
`be easily converted to its mathematically equivalent form, rotation matrix, and used by getOrientation() function to compute the
`orientation in its angular form.
`
`Source: https://android.googlesource.com/platform/frameworks/base/+/b267554/core/java/android/hardware/SensorManager.java
`
`
`
`
`SUBJECT TO CHANGE
`
`9
`
`