Device, system and method of orientation estimation of a mobile device

Some demonstrative embodiments include devices, systems and/or methods of orientation estimation of a mobile device. For example, a mobile device may include an orientation estimator to detect a pattern in at least one image captured by the mobile device, and based on one or more geometric elements of the detected pattern, to determine one or more orientation parameters related to an orientation of the mobile device.

CROSS REFERENCE

This application is a National Phase Application of PCT International Application No. PCT/US2012/041602, International Filing Date Jun. 08, 2012, the entire disclosure of which is incorporated herein by reference.

BACKGROUND

A mobile device may determine a location of the mobile device using various methods. For example, the mobile device may include a Global Positioning System (GPS) receiver to receive GPS signals from one or more GPS satellites, and to calculate the location of the mobile device based on the GPS signals.

In various occasions, the mobile device may not be able to receive the GPS signals, for example, when the GPS signals are weak, e.g., when the device is located at an indoor location, e.g., a building and the like. As a result, the mobile device may not be able to determine the location of the mobile device.

Some mobile devices may utilize an inertial navigation system to determine the location of the device, e.g., when the device is not able to receive the GPS signals, or to accurately determine the location of the device based on the GPS signals.

The inertial navigation system may include one or more inertial navigation sensors configured to provide position, velocity and/or acceleration parameters. For example, the inertial navigation system may include one or more movement, sensors, e.g., an accelerometer sensor and the like, to detect a movement of the mobile device and to provide movement, parameters corresponding to the movement of the mobile device, e.g., velocity and/or acceleration; and/or one or more orientation sensors, e.g., a gyroscope sensor and the like, to provide orientation parameters relating to the orientation of the mobile device.

The mobile device may determine the location of the device based on the parameters provided by the inertial navigation sensors. For example, the device may calculate a distance and a direction from a previous known location of the device based on the movement parameters and/or the orientation parameters.

The gyroscope may have errors, e.g., mechanical errors, calibration errors, and the like, which may affect the accuracy of one or more of the orientation parameters. The gyroscope errors may decrease an accuracy of the determined location of the mobile device.

DETAILED DESCRIPTION

Some embodiments may be used in conjunction with various devices and systems, for example, a mobile computer, a laptop computer, a notebook computer, a tablet computer, a server computer, a handheld computer, a handheld device, a Personal Digital Assistant (PDA) device, a handheld PDA device, an on-board device, an off-board device, a hybrid device, a vehicular device, a non-vehicular device, a mobile or portable device, a consumer device, a non-mobile or non-portable device, a wireless communication station, a wireless communication device, a wireless Access Point (AP), a wired or wireless router, a wired or wireless modem, a video device, an audio device, an audio-video (A/V) device, a Set-Top-Box (STB), a Blu-ray disc (BD) player, a BD recorder, a Digital Video Disc (DVD) player, a High Definition (HD) DVD player, a DVD recorder, a HD DVD recorder, a Personal Video Recorder (PVR), broadcast HD receiver, a video source, an audio source, a video sink, an audio sink, a stereo tuner, a broadcast radio receiver, a flat panel display, a Personal Media Player (PMP), a digital video camera (DVC), a digital audio player, a speaker, an audio receiver, an audio amplifier, a gaming device, a data source, a data sink, a Digital Still camera (DSC), a wired or wireless network, a wireless area network, a Wireless Video Area Network (WVAN), a Local Area Network (LAN), a Wireless LAN (WLAN), a Wireless Metropolitan Area Network (WMAN) communication system, a Personal Area Network (PAN), a Wireless PAN (WPAN), devices and/or networks operating in accordance with existing IEEE 802.11 standards (“the 802.11 standards”), e.g., including IEEE 802.11 (IEEE 802.11-2007:Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements, Part11:Wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications—June2007), 802.11n (“IEEE 802.11n-2009—Amendment5:Enhancements for Higher Throughput. IEEE-SA. 29 October 2009”), 802.11ac (“Very High Throughput <6 Ghz”), 802.11 task group ad (TGad) (“Very High Throughput60 GHz”), and/or future versions and/or derivatives thereof, devices, and/or networks operating in accordance with IEEE 802.16 standards (“the 802.16 standards”), e.g., including 802.16 (IEEE-Std 802.16, 2004Edition, Air Interface for Fixed Broadband Wireless Access Systems), 802.16d, 802.16e (IEEE-Std 802.16e, 2005Edition, Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands), 802.16f, 802.16m standards and/or future versions and/or derivatives thereof, devices, and/or networks operating in accordance with existing Wireless-Gigabit-Alliance (WGA) and/or Wireless HD™ specifications and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing cellular specifications and/or protocols, e.g., 3rd Generation Partnership Project (3GPP), 3GPP Long Term Evolution (LTE), and/or future versions and/or derivatives thereof, units and/or devices which are part of the above networks, one way and/or two-way radio communication systems, cellular radio-telephone communication systems, a cellular telephone, a wireless telephone, a Personal Communication Systems (PCS) device, a PDA device which incorporates a wireless communication device, a mobile or portable Global Positioning System (GPS) device, a device which incorporates a GPS receiver or transceiver or chip, a device which incorporates an RFID element or chip, a Multiple Input Multiple Output (MIMO) transceiver or device, a Global Navigation Satellite System (GNSS) device, a device having one or more internal antennas and/or external antennas, Digital Video Broadcast (DVB) devices or systems, multi-standard radio devices or systems, a wired or wireless handheld device (e.g., BlackBerry, Palm Treo), a Wireless Application Protocol (WAP) device, Bluetooth (BT) device, a Near Field Communication (NEC) device, or the like.

The term “wireless device” as used herein includes, for example, a device capable of wireless communication, a communication device capable of wireless communication, a communication station capable of wireless communication, a portable or non-portable device capable of wireless communication, or the like. In some demonstrative embodiments, a wireless device may be or may include a peripheral that is integrated with a computer, or a peripheral that is attached to a computer. In some demonstrative embodiments, the term “wireless device” may be used to provide a wireless service.

Reference is now made toFIG. 1, which schematically illustrates a block diagram of a system100, in accordance with some demonstrative embodiments.

In some demonstrative embodiments, system100may include a wireless communication device102capable of communicating content, data, information and/or signals over one or more suitable wireless communication mediums103.

In some demonstrative embodiments, wireless communication mediums103may include one or more unidirectional and/or single-directional wireless channels, for example, a Radio Frequency (RF) channel, a WiFi channel, a Bluetooth channel, a cellular channel, a GNSS Channel, an NFC channel, and the like.

In some demonstrative embodiments, wireless communication device102may include any suitable components for communicating, i.e., transmitting and/or receiving, wireless communication signals over wireless mediums103. For example, device102may include a wireless communication unit105to communicate via one or more antennas107,

In some demonstrative embodiments, antennas107may include any type of antennas suitable for transmitting and/or receiving wireless communication signals, Hocks, frames, transmission streams, packets, messages and/or data. Types of antennas that may be used for antennas107may include but are not limited to internal antenna, dipole antenna, omni-directional antenna, a monopole antenna, an end fed antenna, a circularly polarized antenna, a micro-strip antenna, a diversity antenna, a phase array antenna and the like. In some embodiments, antennas107may implement transmit and receive functionalities using separate transmit and receive antenna elements. In some embodiments, antennas107may implement transmit and receive functionalities using common and/or integrated transmit/receive elements.

In some demonstrative embodiments, device102may include, or may be included as part of a mobile or portable device, for example, a mobile computer, a laptop computer, a notebook computer, a tablet computer, a handheld computer, a handheld device, a PDA device, a handheld PDA device, an on-board device, an off-board device, a hybrid device (e.g., combining cellular phone functionalities with PDA device functionalities), a consumer device, a vehicular device, a non-vehicular device, a cellular telephone, a PCS device, a PDA device which incorporates a wireless communication device, a mobile or portable GPS device, a relatively small computing device, a non-desktop computer, a “Carry Small Live Large” (CSLL) device, an Ultra Mobile Device (UMD), an Ultra Mobile PC (UMPC), a Mobile Internet Device (MID), an “Origami” device or computing device, a device that supports Dynamically Composable Computing (DCC), a context-aware device, a video device, an audio device, an A/V device, a BD player, a BD recorder, a DVD player, a HD DVD player, a DVD recorder, a HD DVD recorder, a PVR, a broadcast HD receiver, a video sink, an audio sink, a stereo tuner, a broadcast radio receiver, a flat panel display, a PMP, a DVC, a digital audio player, a speaker, an audio receiver, a gaming device, an audio amplifier, a data source, a data sink, a DSC, a media player, a Smartphone, a television, a music player, or the like.

In some demonstrative embodiments, device102may include, for example, one or more of a processor114, an input unit118, an output unit116, a memory unit111, and a storage unit112. Device102may optionally include other suitable hardware components and/or software components. In some embodiments, some or all of the components of device102may be enclosed in a common housing or packaging, and may be interconnected or operably associated using one or more wired or wireless links.

In some demonstrative embodiments, device102may be capable of receiving wireless communication signals including raw location data, e.g., over wireless mediums103. For example, device102may receive GPS signals including the raw location data from one or more location data transmitters104, e.g., one or more GPS satellites.

In some demonstrative embodiments, location data transmitters104may be configured to transmit wireless communication signals including the raw location data via one or more antennas109. For example, location data transmitters104may include one or more location data origin transmitters, e.g., GNSS satellites to generate GNSS-based raw location data.

In some demonstrative embodiments, device102may include a location estimator140configured to estimate a location of device102based on the raw location data. For example, location estimator140may determine the location of device102, by applying, for example, a triangulation method to the raw location data.

In some demonstrative embodiments, device102may include one or more sensors130configured to provide one or more location parameters relating to the location of device102. Location estimator140may utilize the location parameters to estimate the location of device102, e.g., in addition to or instead of the raw location data.

In one example, location estimator140may utilize the location parameters when the raw location data may not be accurate, e.g., when the received UPS signals are weak.

In another example, location estimator140may utilize the location parameters when device102may not be able to receive the GPS signals. For example, device102may be located at an indoor location, e.g., a building, a mall and the like, which may not enable device102to receive the GPS signals, e.g., the GPS signals may be blocked by, for example, walls, ceilings and the like. Accordingly, location estimator140may not be able to estimate the location of device102in an accurate manner.

In some demonstrative embodiments, sensors130may include a gyroscope sensor125and an accelerometer sensor126configured to provide the location parameters.

In some demonstrative embodiments, accelerometer126may provide to location estimator140movement parameters related to a movement of device102. For example, the movement parameters may include acceleration parameters relating to an acceleration of device102.

In some demonstrative embodiments, gyroscope125may provide to location estimator140gyroscope orientation parameters related to an orientation of device102. For example, the gyroscope orientation parameters may include a yaw parameter relating to a yaw of device102, a pitch parameter relating to a pitch of device102and a roll parameter relating to a roll of device102.

In some demonstrative embodiments, location estimator140may determine the estimated location of device102based on the gyroscope orientation parameters, e.g., provided by gyroscope125, and/or the movement parameters, e.g., provided by accelerometer126. For example, location estimator140may calculate a velocity, position, acceleration and/or orientation of device102based on the movement parameters and the gyroscope orientation parameters.

Accordingly, location estimator140may determine the estimated location of device102based on the velocity and velocity direction of device102. For example, location estimator140may calculate a current location of device102based on a calculated distance and a calculated direction with respect to a previous location of device102, e.g., provided by the GPS signals or provided by a previous calculation of the estimated location of device102.

In some demonstrative embodiments, gyroscope125may have a relatively low level of accuracy due to various gyroscope related errors, e.g., mechanical errors, calibration errors and the like. Accordingly, one or more of the gyroscope orientation parameters may not be accurate. For example, gyroscope125may have a drifting error, which may affect a pitch parameter provided by gyroscope125and may result in a pitch error relating to the pitch of device102, which may increase over time.

In some demonstrative embodiments, the gyroscope related errors may cause a decrease of the accuracy of the estimated location of device102.

In some demonstrative embodiment, device102may include an orientation estimator132configured to estimate an orientation of device102, for example, independently of gyroscope125, e.g., as described in detail below.

In some demonstrative embodiments, orientation estimator132may provide to location estimator140orientation parameters related to the orientation of device102. For example, the orientation parameters may include a yaw of device102, a pitch of device102and/or a roll of device102. Location estimator140may correct the gyroscope related errors based on the orientation parameters, e.g., as described below.

In some demonstrative embodiments, orientation estimator132may detect a pattern136in at least one image139captured by device102, and based on the detected pattern136and/or a comparison between the detected pattern136and a reference pattern138, orientation estimator138may determine the orientation parameters, e.g. as described in detail below.

In some demonstrative embodiments, device102may include a camera124configured to capture image139from a field of view of camera124. Camera124may include any suitable type of camera, for example, a built-in digital camera and the like.

In some demonstrative embodiments, reference pattern138may include at least one predefined geometric shape. For example, reference pattern138may include a symmetric geometric shape, e.g., a circle, a square and the like; an asymmetric geometric shape; and/or any other suitable geometric shape and/or pattern.

In some demonstrative embodiments, the geometric shape may include one or more reference geometric elements. For example, the reference geometric shape may include one or more lines, one or more angels, one or more curves and/or any other geometric elements.

In some demonstrative embodiments, detected pattern136may include a distortion of one or more of the reference geometric elements of reference pattern138. For example, reference pattern138may include a circle, and detected pattern136may include a distortion of the circle, e.g., an ellipse.

In some demonstrative embodiments, orientation estimator132may determine the orientation of device102based on detected patter136and/or a comparison or predefined relationship between detected pattern136and reference pattern138. For example, orientation estimator138may determine the orientation of device102based on the distortion of the predefined geometric shape. For Example, orientation estimator138may determine the orientation parameters based on a relationship between one or more distorted geometric elements of detected pattern136, geometric elements of the ellipse, which correspond to one or more reference elements of reference pattern138, e.g., the circle.

In some demonstrative embodiments, orientation estimator132may determine the orientation parameters by applying a predefined calculation to one or more geometric elements of detected pattern136. The calculation may be based, for example, on a relationship between one or more geometric elements of the geometric shape included in reference pattern138, and one or more corresponding geometric elements of the distorted geometric shape included in detected pattern136.

In some demonstrative embodiments, orientation estimator132may determine the orientation parameters based on a comparison between one or more geometric elements of the geometric shape included in reference pattern138, and one or more corresponding geometric elements of the distorted geometric shape included in detected pattern136.

In some demonstrative embodiments, orientation estimator132may provide to location estimator140the calculated orientation parameters. Location estimator140may correct the gyroscope related errors and/or the estimated location of device102, based on the orientation parameters.

In some demonstrative embodiments, orientation estimator132may repeat the estimation of the orientation of device102at a predefined time interval, e.g., to reduce power consumption of device102. For example, orientation estimator132may repeat the estimation of orientation of device102every one second and the like.

In some demonstrative embodiments, orientation estimator132may repeat the estimation of the orientation of device102according to a predefined criterion, e.g., relating to device102and/or to gyroscope125.

In one example, orientation estimator132may repeat the estimation of the orientation of device102according to a movement criterion related to a movement of device102. For example, orientation estimator132may receive from gyroscope125and/or accelerometer126a movement indication of device102. For example, orientation estimator132may repeat the estimation of the orientation of device, e.g., if the movement indication indicates a movement of device102, which is greater than a predefined threshold, e.g., an acceleration change of more than five percent.

In another example, orientation estimator132may repeat the estimation of orientation of device102based on an error criterion related to an error of gyroscope125. For example, orientation estimator132may repeat the estimation of orientation of device102, e.g., when the gyroscope related errors are greater than a predefined threshold and/or when a rate of increase of the gyroscope related errors is greater than a predefined threshold. For example, orientation estimator132may repeat the estimation of orientation of device102when a pitch error increases over a predefined threshold, e.g., a pitch error of more than five percent.

In some demonstrative embodiments, orientation estimator132may improve orientation accuracy by enabling location estimator132to correct the gyroscope related errors, e.g., to prevent the gyroscope related errors from affecting the estimated location of device102. Accordingly, orientation estimator132may improve an accuracy of the estimated location of device102, e.g., when device102is located at an indoor location.

In some demonstrative embodiments, reference pattern138may be projected by device102.

In some demonstrative embodiments, device102may include a projector123configured to project reference pattern138on any suitable surface, e.g., a floor, a carpet, a ceiling and the like.

In some demonstrative embodiments, projector123may include any suitable projector. For example, projector123may include a Light Electric Diode (LED) projector, a laser projector, a color projector and the like.

In some demonstrative embodiments, reference pattern138may include a plurality of reference pattern elements. For example, the reference pattern elements may include a plurality of predefined geometric shapes, e.g., a square, a circle, a rectangle, a kite and the like.

In some demonstrative embodiments, projector123may project reference pattern138including the reference pattern element, e.g., a predefined geometric shape, in the field of view of camera124.

In some demonstrative embodiments, camera124may capture image139from the filed of view of camera124.

In some demonstrative embodiments, orientation estimator132may detect pattern136in image139. For example, orientation estimator132may detect a distorted geometric shape corresponding to the predefined geometric shape of reference pattern138.

In some demonstrative embodiments, orientation estimator132may determine the orientation parameters of device102based on detected pattern136. For example, orientation estimator132may determine the orientation parameters of device102based on the distorted geometric shape, e.g., as described below with reference toFIG. 2.

Reference is now made toFIG. 2, which schematically demonstrates an orientation estimation of a mobile device202being held by a user201of mobile device202.

In some demonstrative embodiments, device202may perform the functionality of device102(FIG. 1).

In some demonstrative embodiments, device202may include an orientation estimator222, a camera223and a projector224.

In some demonstrative embodiments, orientation estimator222may perform the functionality of orientation estimator132(FIG. 1), camera223may perform the functionality of camera124(FIG. 1), and/or projector224may perform the functionality of projector123(FIG. 1).

In some demonstrative embodiments, orientation estimator222may include a reference pattern207including a predefined geometric shape, e.g., a circle208having two orthogonal diameters209.

As shown inFIG. 2, device202may project, e.g., by projector223, reference pattern207on a suitable surface, e.g., a floor, in a field of view203of camera223.

In some demonstrative embodiments, device202may capture an image219, e.g., by camera221.

In some demonstrative embodiments, orientation estimator222may detect a pattern214in image219.

As shown inFIG. 2, detected pattern214may include a distortion of reference pattern207.

As shown inFIG. 2, detected pattern214may include a distortion of circle208, e.g., an ellipse204having lines205and206corresponding to diameters209.

In some demonstrative embodiments, orientation estimator222may determine the orientation parameters of device202based on detected pattern205and/or a relationship between and one or more geometric elements of detected pattern205corresponding to one or more reference geometric elements of reference pattern207.

In some demonstrative embodiments, orientation estimator222may determine the orientation parameters of device202by applying a calculation to one or more elements of detected pattern225. The calculation may be based, for example, on a relationship between diameters209and lines203and206.

For example, orientation estimator222may calculate a distorted length ratio between a first segment, denoted A, of line203and a second segment, denoted B, of line06. Orientation estimator222may determine the orientation parameters of device202, for example, based on a relationship between the distorted length ratio and a known length ratio, e.g., a ratio of one, between the corresponding segments A and B of a corresponding diameter209.

Reference is now made toFIG. 3A, which schematically illustrates a reference pattern301, andFIGS. 3B, 3C and 3D, which schematically illustrate distorted patterns302,303and304, respectively, corresponding to reference pattern301, in accordance with some demonstrative embodiments.

In some demonstrative embodiments, a device, e.g., device102(FIG. 1), detect a distorted pattern, e.g., distorted pattern302, distorted pattern303or distorted pattern304. For example, the device may project reference pattern301and detect the distorted pattern resulting from reference pattern301, e.g., as described above.

In some demonstrative embodiments, distorted patterns302,303and304may result from a change in a pitch angle and/or a change in a roll angle of the device. For example, distorted pattern302may result from a change in the pitch angle of the device, distorted pattern303may result from a change in the roll angle of the device, and distorted pattern304may result from a change in both the pitch and roll angles of the device.

In some demonstrative embodiments, the change in the pitch and/or roll angles of the device may be determined based on one geometric elements in the detected distorted pattern.

For example, orientation estimator132(FIG. 1) may determine the change in the pitch and/or roll angles of device102(FIG. 1) based on a relationship between measurements of four geometric elements, denoted A, B, C and D, e.g., as described below.

As shown inFIG. 3A, reference pattern301may include a square311including a first reference line312connecting between a center of a first side315of the square and a center of a second side316of the square, and a second reference line313connecting between a center of a third side317of the square and a center of a fourth side318of the square. Reference lines312and313may intersect at an intersection point314.

As shown inFIG. 3A, the geometric element A may include a segment of reference line312between intersection point314and side315, element B may include a segment of reference line312between intersection point314and side316, element C may include a segment of reference line313between intersection point314and side317, and element D may include a segment of reference line313between intersection point314and side318.

In some demonstrative embodiments, a ratio between the lengths of elements A and B may be affected by the change in the pitch angle, and a ratio between the lengths of elements C and D may be affected by the change in the roll angle.

For example, as shown inFIG. 3A, the length of clement A is equal to the length of element B and, accordingly, a reference ratio between the lengths of elements A and B is one. As also shown nFIG. 3A, the length of element C is equal to the length of element C and, accordingly, a reference ratio between the lengths of elements C and D is one.

In some demonstrative embodiments, orientation estimator132(FIG. 1) may detect in the distorted pattern a distorted element, denoted A′, corresponding to element A, a distorted clement, denoted b′, corresponding to element B, a distorted element, denoted C′, corresponding to element C, and/or a distorted element, denoted D′ corresponding to element D.

For example, in distorted pattern302, distorted element A′ may include a line segment321, distorted element B′ may include a line segment322, distorted element C′ may include a line segment323, and distorted element D′ may include a line segment324. As shown inFIG. 3B, a change in the pitch angle may result in a change in the ratio between distorted elements A′ and B′ e.g., while the ratio between elements C′ and D′ may remain unchanged.

In distorted pattern303, distorted element A′ may include a line segment331, distorted element B′ may include a line segment332, distorted element C′ may include a line segment333, and distorted element D′ may include a line segment334. As shown inFIG. 3C, a change in the roll angle may result in a change in the ratio between distorted elements C′ and D′, e.g., while the ratio between elements A′ and B′ may remain unchanged.

In distorted pattern304, distorted element A′ may include a line segment341, distorted element B′ may include a line segment342, distorted element C′ may include a line segment343, and distorted element D′ may include a line segment344. As shown inFIG. 3D, a change in both the pitch and roll angles may result in a change in the ratio between distorted elements A′ and B′, as well as a change in the ratio between elements C′ and D′.

In some demonstrative embodiments, the change in the pitch angle and the roll angle of the device may be determined based on the ratio between distorted elements A′ and B′ and the ratio between the elements C′ and D′. For example, orientation estimator132(FIG. 1) may determine the change in the pitch angle and/or roll angle of device102(FIG. 1) based on the ratio between distorted elements A′ and B′ and the ratio between the elements C′ and D′.

In some demonstrative embodiments, the pitch angle, denoted θPitch, may be determined, for example, based on the ratio between the distorted elements A′ and B′, e.g., as follows:

A′B′=tan⁡(θpitch)-tan⁡(θpitch-α)tan⁡(θpitch+α)-tan⁡(θpitch)(1)
wherein α denotes a predefined reference pitch angle, e.g., corresponding to a projector of reference pattern301, e.g., projector123(FIG. 1). For example, the reference pitch angle may be predefined based on a size of a light source of projector123(FIG. 1) and a vertical distance between the light source and a lens of projector123(FIG. 1).

In some demonstrative embodiments, the roll angle, denoted θroll, may be determined, for example, based on the ratio between the distorted elements C′ and D′, e.g., as follows:

Referring back toFIG. 1, in some demonstrative embodiments, device102may not be required to project reference pattern138.

In some demonstrative embodiments, orientation estimator132may dynamically select reference pattern from a plurality of predefined pattern elements, according to one or more pattern elements of detected pattern136. For example, orientation estimator132may select reference pattern138to include a circle if detected pattern136includes a distorted circle, e.g., an ellipse.

For example, the filed of view of camera124may include a plurality of floor tiles in a form of squares. Camera124may capture image139including a distorted image of the floor tiles, i.e., a distortion of the squares. Orientation estimator132may detect pattern136including a distorted square. Accordingly, orientation estimator132may select from the plurality of pattern elements a square element. Orientation estimator132may determine the orientation parameters based on one or more elements of detected pattern136, e.g., the distorted square, corresponding to one or more elements of reference pattern138, e.g., the square.

In some demonstrative embodiments, reference pattern138may include a pattern element detected by orientation estimator132in a previous image captured by device102, e.g., as described below.

In some demonstrative embodiments, camera124may capture a first image from the field of view of camera124.

In some demonstrative embodiments, orientation estimator132may detect a first pattern element in the first image captured by camera124.

In some demonstrative embodiments, camera124may capture a second image, subsequent to the first image, from the field of view of camera124e.g., after a relatively short period of time.

In some demonstrative embodiments, orientation estimator132may detect a second pattern, e.g., pattern136, in the second image captured by camera124.

In some demonstrative embodiments, orientation estimator132may utilize the first pattern as reference pattern138and the second pattern as pattern136.

In some demonstrative embodiments, orientation estimator132may determine the orientation of device102based on a comparison between pattern136detected in the second image and reference pattern138detected in the first image.

For example, camera124may capture a first image including a first distorted pattern of a square, e.g., a floor tile in the shape of a square. Orientation estimator132may detect the pattern of the square in the first image and may utilize the first distorted pattern as reference pattern138. After a relatively short time, camera124may capture a second image, e.g., image139, including a second distorted pattern of the square. Orientation estimator132may determine the orientation parameters based on a comparison between reference pattern138, e.g., the first distorted square, and pattern136, e.g., the second distorted square.

Reference is made toFIG. 4, which schematically illustrates a method of estimating an orientation of a mobile device, in accordance with some demonstrative embodiments. In some embodiments, one or more of the operations of the method ofFIG. 4may be performed by any suitable wireless communication system, e.g., system100(FIG. 1), wireless communication device, e.g., device102(FIG. 1) and/or device202(FIG. 2), and/or orientation estimator, e.g., orientation estimator132(FIG. 1) and/or orientation estimator222(FIG. 2).

As indicated at block402, the method may include projecting a reference pattern in a field of view of a camera of a mobile device. For example, projector123(FIG. 1) may project reference pattern138(FIG. 1) in a field of view of camera124(FIG. 1) of device102(FIG. 1), e.g., as described above.

As indicated at block404, the method may include capturing at least one image from the field of view of the camera. For example, camera124(FIG. 1) may capture image139(FIG. 1) from the filed of view of camera124(FIG. 1), as described above.

As indicated at block406, the method may include detecting a pattern in the at least one image. For example, orientation estimator132(FIG. 1) may detect pattern136(FIG. 1) in image139(FIG. 1), e.g., as described above.

As indicated at block408, the method may include determining one or more orientation parameters related to an orientation of the mobile device, based on one or more elements of the detected pattern. For example, orientation estimator132(FIG. 1) may determine the orientation parameters of device102(FIG. 1) based on detected pattern136(FIG. 1), e.g., as described above.

Reference is made toFIG. 5, which schematically illustrates an article of manufacture500, in accordance with some demonstrative embodiments. Article500may include a non-transitory machine-readable storage medium502to store logic504, which may be used, for example, to perform at least part of the functionality of orientation estimator132(FIG. 1) and/or to perform one or more operations of the method ofFIG. 3. The phrase “non-transitory machine-readable medium” is directed to include all computer-readable media, with the sole exception being a transitory propagating signal.