Dual-mode augmented reality interfaces for mobile devices

DE112016007223B4Active Publication Date: 2025-08-28FORD MOTOR CO
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
DE112016007223
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2016-10-13
Publication Date
2025-08-28
Estimated Expiration
2036-10-13

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method comprising: Displaying a first augmented reality (AR) mode of a dual-mode AR interface (328) via a user interface (324) of a mobile device (102) in response to detecting an occurrence of a panning movement of the mobile device, wherein the first AR mode displays a video of the object of interest (104) via a display (106) of the mobile device (102), the video being captured with a camera (310) of the mobile device (102); and Displaying a second AR mode of the dual-mode AR interface for augmented reality (328) via the user interface (324) in response to detecting an absence of the panning movement, wherein the second AR mode is different from and displayed in place of the first AR mode, wherein the second AR mode displays, via a display (106) of the mobile device (102), an image of the object of interest (104) captured by the camera (310) of the mobile device (102), wherein detecting the absence of the pivoting movement comprises: Determining speed values ​​in the X-axis direction, in the Y-axis direction and in the Z-axis direction of the mobile device; Determining a rotation speed about the X-axis, a rotation speed about the Y-axis and a rotation speed about the Z-axis of the mobile device; Determining that the speed values ​​associated with either the X-axis or the Y-axis of the mobile device (102) are not greater than the speed values ​​associated with the Z-axis of the mobile device (102); Detecting that the rotation speed values ​​associated with the Z-axis of the mobile device (102) are not greater than the rotation speed values, associated with the X-axis and the Y-axis of the mobile device (102); and Detecting that the rotation speed values ​​associated with the X-axis, the Y-axis, and the Z-axis of the mobile device (102) do not exceed rotation speed thresholds, respectively.
Need to check novelty before this filing date? Find Prior Art

Description

AREA OF REVELATION

[0001] This disclosure relates generally to augmented reality interfaces, and more particularly to dual-mode augmented reality interfaces for mobile devices. GENERAL STATE OF THE ART

[0002] Conventional augmented reality interfaces of mobile devices are configured to present to a user of the mobile device a modified and / or augmented video captured via a camera of the mobile device. The modified and / or augmented video is presented in real time on the mobile device and typically includes information related to and / or associated with an object of interest contained in the captured video. For example, a mobile device augmented reality interface may present an augmented video of a vehicle, where the augmented video includes information (e.g., text, a graphic, a link to an audio file, a link to a video file, etc.) about a feature (e.g., a headlight, a side mirror, a wheel, etc.).) of the vehicle superimposed over the video of the vehicle as captured by the mobile device's camera.

[0003] Document US 2016 / 0 189 405 A1 shows various aspects of a method and system for displaying information via a user interface. According to one embodiment, the method comprises detecting an orientation of an electronic device. The electronic device overlays one or more information layers on the user interface displayed on the electronic device. The transparency of the overlaid one or more information layers is dynamically adjusted based on the detected orientation of the electronic device. Further prior art is known from US 2012 / 0 324 213 A1, US 2014 / 0 361 988 A1, US 8 872 854 B1 and US 2016 / 0 035 138 A1. SUMMARY

[0004] Disclosed herein are dual-mode augmented reality interfaces for mobile devices. In some disclosed examples, a dual-mode augmented reality interface of a mobile device includes a first mode to be presented in response to detecting an occurrence of a first motion of the mobile device via a user interface of the mobile device. In some disclosed examples, the dual-mode augmented reality interface further includes a second mode to be presented in response to detecting an absence of the first motion via the user interface. In some disclosed examples, the second mode is different from the first mode.

[0005] In some examples, a method for presenting a dual-mode augmented reality interface of a mobile device is disclosed. In some disclosed examples, the method includes presenting a first mode of the dual-mode augmented reality interface via a user interface of the mobile device in response to detecting an occurrence of a first movement of the mobile device. In some disclosed examples, the method includes presenting a second mode of the dual-mode augmented reality interface via the user interface in response to detecting an absence of the first movement. In some disclosed examples, the second mode is different from the first mode.

[0006] In some examples, a tangible machine-readable storage medium is disclosed that includes instructions. In some disclosed examples, the instructions, when executed, cause the processor to present a first mode of a dual-mode augmented reality interface of a mobile device via a user interface of the mobile device in response to detecting an occurrence of a first movement of the mobile device. In some disclosed examples, the instructions, when executed, cause the processor to present a second mode of the dual-mode augmented reality interface via the user interface in response to detecting an absence of the first movement. In some disclosed examples, the second mode is different from the first mode. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates an example mobile device constructed in accordance with the teachings of this disclosure, shown in an example application environment where the mobile device is displaying an example search mode of an example dual-mode augmented reality interface executing on the mobile device. Fig. 2 illustrates the exemplary mobile device of Fig. 1 in an example application environment in which the mobile device illustrates an example learning mode of the example dual-mode augmented reality interface executing on the mobile device. Fig. 3 is a block diagram of the exemplary mobile devices of the Fig. 1 and Fig. 2. Fig. 4 is a flowchart illustrating an example method performed on the example mobile device of FIGS. Fig. 1-3 can be executed to create the exemplary dual-mode augmented reality interface from the Fig. 1-3 to operate and / or display. Fig. 5 is a flowchart illustrating a first exemplary method implemented on the exemplary mobile device of FIGS. Fig. 1-3 can be performed to classify the movement of the mobile device. Fig. 6 is a flowchart illustrating a second example method performed on the example mobile device of FIGS. Fig. 1-3 can be performed to classify the movement of the mobile device. Fig. 7 is a flowchart illustrating an example method performed on the example mobile device of FIGS. Fig. 1 and Fig. 3 may be executed to illustrate the exemplary search mode of the exemplary dual-mode augmented reality interface of the mobile device. Fig. 8 is a flowchart illustrating an example method performed on the example mobile device of FIGS. Fig. 2 and Fig. 3 may be executed to illustrate the exemplary learning mode of the exemplary dual-mode augmented reality interface of the mobile device. Fig. 9 is an exemplary processor platform capable of executing instructions to perform the methods of the Fig. 4-8 and the exemplary dual-mode augmented reality interface of the exemplary mobile device of the Fig. 1-3. Specific examples are shown in the figures listed above and described in detail below. In describing these examples, similar or identical reference numerals are used to identify the same or similar elements. The figures are not necessarily to scale, and certain features and certain views of the figures may be enlarged or shown schematically for clarity and / or accuracy. DETAILED DESCRIPTION

[0007] Conventional augmented reality interfaces for mobile devices are configured to present real-time video captured via a camera of the mobile device to a user of the mobile device, wherein the captured video is modified and / or enhanced to include information (e.g., text, a graphic, a link to an audio file, a link to a video file, etc.) overlaid on the captured video. The overlaid information relates to and / or is associated with a feature and / or object of interest contained in the captured video.While the presentation of real-time video is useful to the user in conjunction with such conventional augmented reality interfaces when the user wishes to search for or otherwise locate one or more features and / or objects positioned within an application environment of the augmented reality interface, the presentation of such real-time video is not particularly suitable or useful once the user stops searching and instead begins to claim and / or learn about the located features and / or objects.

[0008] For example, the overlaid information may be out of sync with the real-time video as a result of processing limitations of the augmented reality application and / or the mobile device running the augmented reality application. Furthermore, even if synchronized with the real-time video, the overlaid information may be difficult for the user to understand because the overlaid information is positioned in such a way that it overlays, obscures, and / or otherwise impedes one or more of the features and / or objects of interest contained in the captured image. Such drawbacks of augmented reality interfaces result in poor user experiences.

[0009] In contrast to conventional augmented reality interfaces that restrictively operate and / or execute in a single mode, exemplary dual-mode augmented reality interfaces for mobile devices disclosed herein are advantageously operated and / or executed in response to detecting an occurrence of panning movement of the mobile device in a first mode (e.g., a search mode) and in response to detecting an absence of panning movement of the mobile device in a second mode (e.g., a learn mode).In some disclosed examples, the second mode of the dual-mode augmented reality interface, when presented, advantageously includes an optimized layout that includes a configured version of an image captured by the camera of the mobile device and further includes configured associated information corresponding to a marker or feature detected in the image. In some disclosed examples, the configured version of the image includes at least one of a modified size or a modified position of an object of interest that is modified relative to a size or a position of the object of interest within the captured image. In some disclosed examples, the configured associated information overlays the configured version of the image without obscuring the object of interest contained therein.Thus, the disclosed dual-mode augmented reality interfaces eliminate the disadvantages associated with conventional single-mode augmented reality interfaces that present modified and / or augmented real-time videos to a user in all cases.

[0010] As used herein, the term “pivoting movement” with respect to a mobile device generally refers to a movement and / or translation of the mobile device along either an x-axis or a y-axis of an xyz coordinate system associated with the mobile device, and / or a rotation of the mobile device about a z-axis of the xyz coordinate system associated with the mobile device, as generally described below in connection with Fig. 1. As used herein, the term “zooming movement” with respect to a mobile device generally refers to a movement and / or translation of the mobile device along a z-axis of an xyz coordinate system associated with the mobile device, as generally described below in connection with Fig. 2. As used herein, the term "rest" with respect to a mobile device generally refers to an absence of movement and / or translation of the mobile device. Rest of the mobile device may, in some cases, be indicated by a simultaneous absence of panning movement and zooming movement of the mobile device. As used herein, the term "search mode" refers to an exemplary first mode of the dual-mode augmented reality interface, as described below in connection with the Fig. 1 and Fig. 3, wherein the first mode is illustrated in response to detecting an occurrence of a pivoting movement of the mobile device. As used herein, the term "learning mode" refers to an exemplary second mode of the dual-mode augmented reality interface, as described below in connection with the Fig. 2 and Fig. 3, wherein the second mode is illustrated in response to detecting an absence of pivotal movement of the mobile device.

[0011] Fig. 1 illustrates an exemplary mobile device 102 constructed in accordance with the teachings of this disclosure, shown in an exemplary application environment 100, where the mobile device 102 represents an exemplary search mode (e.g., a first mode) of an exemplary dual-mode augmented reality interface executing on the mobile device 102. The exemplary application environment 100 includes the mobile device 102 and an exemplary object of interest 104.

[0012] The mobile device 102 of Fig. 1 includes an exemplary camera (not shown) for capturing images and / or video of the object of interest 104 and an exemplary display 106 for displaying the captured images and / or videos. In the illustrated example of Fig. 1, the mobile device 102 is a tablet, and the display 106 is a touchscreen display. The mobile device may alternatively be implemented as a smartphone, a laptop computer, and / or any other type of handheld computing device with a camera for capturing images and / or video and a display for presenting the captured images and / or video. The positioning and relocation of the mobile device 102 within the application environment 100 is controlled by an end user carrying and / or holding the mobile device 102, as shown in Fig. 1 generally shown.

[0013] The object of interest 104 from Fig. 1 includes a first exemplary feature 108, a second exemplary feature 110, and a third exemplary feature 112. In the illustrated example of Fig. 1, the object of interest 104 is a vehicle, the first example feature 108 is a headlight of the vehicle, the second example feature 110 is a side view mirror of the vehicle, and the third example feature 112 is a wheel of the vehicle. Although the example object of interest 104 in Fig. 1 as a vehicle having first, second, and third features 108, 110, 112, the object of interest 104 may alternatively be any type of object and / or may include any number (e.g., 1, 2, 10, 50, etc.) of features.

[0014] In the illustrated example from Fig. 1, the object of interest 104 further includes a first exemplary marker 114 and a second exemplary marker 116. The first exemplary marker 114 is mounted and / or coupled to the first exemplary feature 108, and the second exemplary marker 116 is mounted and / or coupled to the second exemplary feature 110. In the illustrated example of Fig. 1, the first and second markers 114, 116 are implemented as QR codes that are unique to corresponding ones of the first and second features 108, 110 to which the first and second markers 114, 116 are mounted and / or coupled, respectively. For example, the first marker 114 may be a QR code that contains information indicative of and / or relating to the first feature 108 (e.g., the headlight) of the object of interest 104 (e.g., the vehicle). In other examples, the first and second markers 114, 116 may alternatively be implemented as individual dots, patterned images, and / or other marker structures capable of being captured via a camera and containing information indicative of and / or relating to features (e.g., the first and second features 108, 110) of the object of interest 104.

[0015] In the illustrated example from Fig. 1, the object of interest 104 also includes an example feature shape 118 that is unique to the third example feature 112. For example, the feature shape 118 may be a circular and / or elliptical shape that corresponds to the third feature 112 (e.g., the wheel) of the object of interest 104 (e.g., the vehicle).

[0016] The mobile device 102 executes a dual-mode augmented reality interface that includes a search mode (e.g., a first mode). When the dual-mode augmented reality interface is executed in a search mode (as in Fig. 1), the display 106 of the mobile device 102 presents video (e.g., real-time video) of the object of interest 104 captured by the camera of the mobile device 102. As further described herein, the dual-mode augmented reality interface modifies and / or enhances the video of the object of interest 104 presented via the display 106 to include first, second, and third example indicators 128, 130, 132 and / or associated information corresponding to the first and second markers 114, 116, the feature shape 118, and / or the first, second, and third features 108, 110, 112 of the object of interest 104.

[0017] The mobile device 102 executes the dual-mode augmented reality interface in search mode (as shown in Fig. 1) in response to detecting the occurrence of one or more pivotal movements (e.g., pivotal displacements) of the mobile device 102. For example, an end user may pivot the mobile device 102 to the right (as indicated by the first exemplary arrow 120 of Fig. 1) or to the left (as indicated by the second exemplary arrow 122 from Fig. 1) along a first axis (e.g., the x-axis) of a coordinate system associated with the mobile device 102. As another example, an end user may additionally and / or alternatively pivot the mobile device 102 upward (as indicated by the third exemplary arrow 124 of Fig. 1) or downwards (as indicated by the fourth exemplary arrow 126 of Fig. 1) along a second axis (e.g., the y-axis) of the coordinate system. As another example, an end user may additionally and / or alternatively pivot the mobile device 102 clockwise (as indicated by the fifth exemplary arrow 128 of Fig. 1) or counterclockwise (as indicated by the sixth exemplary arrow 130 of Fig. 1) along a third axis (e.g., the z-axis) of the coordinate system. As further described herein, the mobile device 102 detects the occurrence of such panning movements. In response to detecting the occurrence of such panning movements, the mobile device 102 causes the dual-mode augmented reality interface to execute in search mode (e.g., the first mode of the dual-mode augmented reality interface).

[0018] Fig. 2 illustrates the exemplary mobile device 102 of Fig. 1 in an example application environment 200 in which the mobile device 102 illustrates an example learning mode (e.g., a second mode) of the example dual-mode augmented reality interface executing on the mobile device 102. When the dual-mode augmented reality interface is executed in a learning mode (as in Fig. 2), the display 106 of the mobile device 102 presents an image (e.g., a high-resolution image) of the object of interest 104 captured by the camera of the mobile device 102.As further described herein, the dual-mode augmented reality interface modifies and / or augments the image of the object of interest 104 presented via the display 106 to optimize and / or configure the size and / or position of the object of interest 104 within the display 106 and / or to optimize and / or configure the layout and / or positioning of the fourth, fifth, and sixth example indicators 202, 204, 206 and / or associated information corresponding to the first and second markers 114, 116, the feature shape 118, and / or the first, second, and third features 108, 110, 112 of the object of interest 104 relative to the size and / or position of the object of interest 104 as presented on the display 106.

[0019] For example, the mobile device 102 may position the fourth, fifth, and sixth indicators 202, 204, 206 and / or associated information corresponding to the first, second, and third features 108, 110, 112 of the object of interest 104 as depicted on the display 106 such that the fourth, fifth, and sixth indicators 202, 204, 206 and / or the associated information do not overlay, obstruct, and / or otherwise interfere with the object of interest 104 as depicted on the display 106.The mobile device 102 may additionally and / or alternatively position the fourth indicator 202 and / or the information associated with the fourth indicator 202 corresponding to the first feature 108 of the object of interest 104 as depicted on the display 106 such that the fourth indicator 202 and / or the associated information does not overlay, obstruct, and / or otherwise interfere with the fifth or sixth indicator 204, 206 and / or the information associated with the fifth or sixth indicator 204, 206 corresponding to the second and / or third feature 110, 112 of the object of interest 104 as depicted on the display 106.

[0020] In the illustrated example from Fig. 2, one or more of the fourth, fifth, and / or sixth indicators 202, 204, 206 may be implemented as a selectable link that, when selected, causes the display 106 and / or the mobile device 102 to display information related to a corresponding one of the first, second, or third features 108, 110, 112 of the object of interest 104. For example, the fourth indicator 202 may be implemented as a selectable link that, when selected, causes the display 106 of the mobile device 102 to display a video file related to the first feature 108 (e.g., the headlight) of the object of interest 104 (e.g., the vehicle). As another example, the fifth indicator 204 may be implemented as a selectable link that, when selected, causes the mobile device 102 to present an audio file related to the second feature 110 (e.g., the side mirror) of the object of interest 104 (e.g.,of the vehicle).

[0021] The mobile device 102 implements the dual-mode augmented reality interface in learning mode (as shown in Fig. 2) in response to detecting an absence of pivoting movement(s) of the mobile device 102, as described above in connection with Fig. 1. For example, an end user may hold the mobile device 102 steady without moving the mobile device 102 in one or more of the directions corresponding to the first, second, third, fourth, fifth, and sixth arrows 120, 122, 124, 126, 128, 130 of Fig. 1. As further described herein, the mobile device 102 detects the absence of panning movements and / or detects the stillness of the mobile device 102. In response to detecting the absence of such panning movements and / or detecting such stillness, the mobile device 102 causes the dual-mode augmented reality interface to execute in the learning mode (e.g., the second mode of the dual-mode augmented reality interface).

[0022] The mobile device 102 may additionally and / or alternatively activate the dual-mode augmented reality interface in response to detecting the occurrence of one or more zooming movements (e.g., zooming translation) of the mobile device 102 while simultaneously detecting the absence of the panning movements of the mobile device 102, as described above, in the learning mode (as in Fig. 2). For example, an end user may point the mobile device 102 to (as indicated by the seventh exemplary arrow 208 of Fig. 2) or away from (as indicated by the eighth exemplary arrow 210 from Fig. 2) zoom the object of interest 104 along a third axis (e.g., the z-axis) of a coordinate system associated with the mobile device 102. As further described herein, the mobile device 102 detects such zooming movements. In response to detecting such zooming movements, either alone or in combination with detecting the absence of panning movements of the mobile device 102 as described above, the mobile device 102 causes the dual-mode augmented reality interface to execute in learning mode.

[0023] When the dual-mode augmented reality interface is running in learning mode (as in Fig. 2), the display 106 of the mobile device 102 may further depict one or more selectable icons, buttons, and / or links that, when selected, cause the mobile device 102 to perform one or more corresponding operations and / or functions associated with the selectable icons, buttons, and / or links. For example, the display 106 of the mobile device 102 may further depict a first example selectable icon 212 that, when selected, causes the mobile device 102 to lock and / or unlock the execution of the learning mode through the dual-mode augmented reality interface.Selecting the first selectable icon 212 causes the dual-mode augmented reality interface of the mobile device 102 to execute in learning mode, even if the mobile device 102 detects the occurrence of one or more panning movements that would otherwise cause the mobile device 102 to cause the dual-mode augmented reality interface to execute in browsing mode. As another example, the display 106 of the mobile device 102 may further depict a second example selectable icon 214 that, when selected, causes the mobile device 102 to store information and / or data related to the learning mode session in a local memory of the mobile device 102 and / or to upload information and / or data related to the learning mode session to one or more remote servers (e.g.,a cloud server) that are configured to store and transmit the information and / or data.

[0024] Fig. 3 is a block diagram of the exemplary mobile device 102 of the Fig. 1 and Fig. 2. In the illustrated example from Fig. 3, the mobile device 102 includes an example accelerometer 302, an example gyroscope 304, an example pedometer 306, an example memory 308, an example camera 310, an example motion classifier 312, an example mode manager 314, an example marker identifier 316, an example feature identifier 318, an example layout manager 320, an example media player 322, an example user interface 324, and an example network interface 326. However, other example implementations of the mobile device 102 may include fewer or additional structures in accordance with the teachings of this disclosure.The accelerometer 302, the gyroscope 304, the pedometer 306, the memory 308, the camera 310, the motion classifier 312, the mode manager 314, the marker identifier 316, the feature identifier 318, the layout manager 320, the media player 322, the user interface 324 and / or the network interface 326 of the mobile device 102 of FIGS. Fig. 1-3 may have any size, shape, and / or configuration that enables and / or facilitates the execution and / or presentation of a dual-mode augmented reality interface on the mobile device 102 to one or more end users.

[0025] The exemplary accelerometer 302 from Fig. 3 captures, measures, and / or detects changes in the speed (e.g., acceleration(s)) of the mobile device 102. Different changes in the speed values ​​captured, measured, and / or detected by the accelerometer 302 correspond to different accelerations of the mobile device 102. By capturing, measuring, and / or detecting changes in the speed values, the accelerometer 302 thus enables the calculation of acceleration values ​​of the mobile device 102. The speed values ​​can be used to determine the presence and / or absence of one or more movements of the mobile device 102 (e.g., the presence and / or absence of the panning movements and / or zooming movements described above in connection with the Fig. 1 and Fig. 2). In some examples, velocity values ​​may be calculated based on the acceleration values ​​detected by the accelerometer 302. For example, the velocity values ​​may be calculated and / or determined by integrating the acceleration values ​​detected by the accelerometer 302 over time. In some examples, the accelerometer 302 is implemented as a three-axis accelerometer (e.g., a 3-axis accelerometer) such that the accelerometer 302 may provide acceleration data for each of the three axes of a coordinate system associated with the mobile device 102 (e.g., the three axes of the xyz coordinate system associated with the mobile device 102, as described in the Fig. 1 and Fig. 2), senses, measures, and / or detects. The acceleration data and / or information measured and / or detected by the accelerometer 302 may take any type, form, and / or format and may be stored in a computer-readable storage medium, such as the exemplary memory 308 described below.

[0026] The exemplary gyroscope 304 from Fig. 3 captures, measures, and / or detects the angular velocity (e.g., rotational velocities) of the mobile device 102. Different angular velocities captured, measured, and / or detected by the gyroscope 304 correspond to different rotational movements of the mobile device 102. Thus, by capturing, measuring, and / or detecting angular velocity values, the gyroscope 304 detects rotational velocity rates associated with the presence and / or absence of one or more movements of the mobile device 102 (e.g., the presence and / or absence of the panning movement(s) and / or the zooming movement(s) as described above in connection with the Fig. 1 and Fig. 2). In some examples, the gyroscope 304 is implemented as a three-axis gyroscope (e.g., a 3-axis gyroscope) such that the gyroscope 304 provides rotation data for each of the three axes of a coordinate system associated with the mobile device 102 (e.g., the three axes of the xyz coordinate system associated with the mobile device 102, as shown in Fig. 1 and Fig. 2), senses, measures, and / or detects. The rotational speed data and / or information measured and / or detected by the gyroscope 304 may take any type, form, and / or format and may be stored in a computer-readable storage medium, such as the exemplary memory 308 described below.

[0027] The Pedometer 306 from Fig. 3 captures, measures, and / or detects the movement of the mobile device 102 corresponding to walking and / or taking steps by an end user wearing the mobile device 102. Thus, by capturing, measuring, and / or detecting walking and / or taking steps by an end user wearing the mobile device 102, the pedometer 306 detects step count data (e.g., a number of steps taken) associated with the occurrence and / or absence of one or more movements of the mobile device 102 (e.g., the occurrence and / or absence of the panning movement(s) and / or the zooming movement(s) as described above in connection with the Fig. 1 and Fig. 2). For example, the absence of a change in the step count data collected, measured, and / or detected by the pedometer over a period of time may indicate that a user carrying the mobile device 102 is standing and / or not walking, and / or that the user is in the process of pointing the mobile device 102 toward the object of interest 104 or a specific feature (e.g., any of the first, second, or third features 108, 110, 112 of Fig. 1, as described above) of the object of interest 104. The step count data and / or information measured and / or detected by the pedometer 306 may take any type, form, and / or format and may be stored in a computer-readable storage medium, such as the exemplary memory 308 described below.

[0028] The exemplary memory 308 from Fig. 3 may be implemented by any type(s) and / or number of storage devices, such as a storage drive, flash memory, read-only memory (ROM), random access memory (RAM), buffer memory, and / or any other storage medium on which information is stored for any duration (e.g., for extended periods of time, permanently, for short periods of time, for temporarily buffering and / or caching the information). The information stored in memory 308 may be stored in any file and / or data structure format, organizational scheme, and / or arrangement.In some examples, memory 308 stores acceleration data collected, measured, and / or detected by accelerometer 302, rotational speed data collected, measured, and / or detected by gyroscope 304, and / or step count data collected, measured, and / or detected by pedometer 306. Memory 308 is useful for motion classifier 312, mode manager 314, marker identifier 316, feature identifier 318, layout manager 320, media player 322, user interface 324, and network interface 326 of FIG. Fig. 3 and / or generally for the mobile device 102 of the Fig. 1 and Fig. 2 accessible.

[0029] In the illustrated example from Fig. 3, the memory 308 includes an exemplary dual-mode augmented reality application 328. The dual-mode augmented reality application 328 of Fig. 3 includes computer-readable instructions that, when executed, cause the mobile device 102 to present the dual-mode augmented reality interface via the display 106 of the mobile device 102 and / or generally via the example user interface 324 of the mobile device 102, as described below. The dual-mode augmented reality application 328 provides a dual-mode augmented reality interface having a first mode similar to that described above in connection with Fig. 1, and a second mode corresponding to the search mode described above in connection with Fig. 2 described learning mode.

[0030] In the illustrated example from Fig. 3, the memory 308 includes an exemplary marker library 330. The marker library 330 correlates and / or links identifying information of a marker with information and / or data associated with the marker and / or a feature to which the marker corresponds. For example, the marker library 330 may contain a QR code corresponding to the first marker 114 from the Fig. 1 and Fig. 2, with information and / or data associated with the first marker 114 and / or the first feature 108 (e.g., the headlight of the vehicle) to which the first marker 108 corresponds. The marker library 330 may further include a QR code specific to the second marker 116 from the Fig. 1 and Fig. 2, correlate and / or link to information and / or data associated with the second marker 116 and / or the second feature 110 (e.g., the vehicle's side view mirror) to which the second marker 110 corresponds. The associated information and / or data may include one or more of text, graphics, audio files, and / or video files (and / or links to text, graphics, audio files, and / or video files) associated with the marker and / or the feature to which the marker corresponds.

[0031] The marker library 330 from Fig. 3 may be implemented as a table, list, matrix, and / or any other structured data format and may include any number of factors and / or fields. The tag library 330 is accessible by the example tag identifier 316 described below. In some examples, the tag library 330 may be stored on a remote server and / or a cloud server instead of being stored in the memory 308 of the mobile device 102. In such examples, the tag identifier 316 of the mobile device 102 may access the tag library 330 via the example network interface 326 of the mobile device 102, as described below.

[0032] In the illustrated example from Fig. 3, the memory 308 includes an exemplary feature library 332. The feature library 332 correlates and / or links identifying information of a feature (e.g., a feature shape) with information and / or data associated with the feature shape and / or a feature to which the feature shape corresponds. For example, the feature library 332 may retrieve the feature shape 118 from the Fig. 1 and Fig. 2 correlate and / or link with information and / or data associated with the third feature 112 (e.g., the wheel of the vehicle) to which the feature shape 118 corresponds. The associated information and / or data may include one or more of text, graphics, audio files, and / or video files (and / or links to text, graphics, audio files, and / or video files) associated with the feature shape and / or the feature to which the feature shape corresponds.

[0033] The feature library 332 from Fig. 3 may be implemented as a table, list, matrix, and / or any other structured data format and may include any number of factors and / or fields. The feature library 332 is accessible by the example feature identifier 318 described below. In some examples, the feature library 332 may be stored on a remote server and / or a cloud server instead of being stored in the memory 308 of the mobile device 102. In such examples, the feature library 332 may be accessed by the feature identifier 318 of the mobile device 102 via the example network interface 326 of the mobile device 102, as described below. In some examples, the feature library 332 may be linked, related, and / or otherwise associated with the tag library 330.For example, the feature library 332 and the marker library 330 may be implemented as linked tables within a relational database.

[0034] In the illustrated example from Fig. 3, the memory 308 includes an exemplary template library 334. The template library 334 includes one or more layout and / or style templates (e.g., graphic design templates), each of which may include one or more arrangements of text and / or graphics. The template library 334 of Fig. 3 may be implemented as a plurality of files, a table, a list, a matrix, and / or any other structured data format, and may include any number of templates, factors, and / or fields. The template library 334 is accessible to the example layout manager 320, as described below. In some examples, the template library 338 may be stored on a remote server and / or a cloud server instead of being stored in the memory 308 of the mobile device 102. In such examples, the layout manager 320 of the mobile device 102 may access the template library 334 via the example network interface 326 of the mobile device 102, as described below. In some examples, the template library 334 may be linked, related, and / or otherwise associated with the marker library 330 and / or the feature library 332.

[0035] For example, the template library 334, the feature library 332, and the marker library 330 may be implemented as linked tables within a relational database.

[0036] The exemplary camera 310 from Fig. 3 takes pictures and videos, including, for example, pictures and videos of the exemplary object of interest 104 from the Fig. 1 and Fig. 2, as described above. The camera 310 may include a CMOS image sensor and associated image and / or video processing circuitry, as conventionally implemented in mobile devices such as tablets and smartphones. Images and / or videos captured via the camera 310 may be presented via the example user interface 324 of the mobile device 102, as described below. In some examples, video captured by the camera 310 may be presented in real time. In some examples, images and / or videos captured by the camera 310 may be stored in the memory 308 of the mobile device 102. In other examples, images and / or videos captured by the camera 310 may additionally and / or alternatively be stored on a remote server and / or a cloud server.In such other examples, the images and / or videos captured by camera 310 may be transmitted to the remote server and / or the cloud server via the example network interface 326 of mobile device 102, as described below.

[0037] The exemplary motion classifier 312 from Fig. 3 determines and / or classifies the presence and / or absence of one or more types of movements and / or translations of the mobile device 102. For example, the motion classifier 312 may determine the presence and / or absence of a panning movement, a zooming movement, or a stillness of the mobile device 102 based on the speed values ​​calculated from the acceleration values ​​detected by the accelerometer 302 of the mobile device 102, based on the rotation speed values ​​and / or changes in the rotation speed values ​​detected by the gyroscope 304 of the mobile device 102, and / or based on step count data and / or changes in the step count data detected by the pedometer 306 of the mobile device 102.

[0038] In some examples, motion classifier 312 calculates speed values ​​based on the acceleration values ​​detected by accelerometer 302. For example, motion classifier 312 may calculate and / or determine speed values ​​associated with the motion of mobile device 102 by integrating the acceleration values ​​detected by accelerometer 302 of mobile device 102 over time.In such examples, the motion classifier 312 may determine the presence and / or absence of a panning motion, a zooming motion, or a stillness of the mobile device 102 based on the speed values ​​calculated by the motion classifier 312 as derived from the acceleration values ​​and / or changes in the acceleration values ​​detected by the accelerometer 302 of the mobile device 102, based on the rotational speed values ​​and / or changes in the rotational speed values ​​detected by the gyroscope 304 of the mobile device 102, and / or based on step count data and / or changes in the step count data detected by the pedometer 306 of the mobile device 102.

[0039] In some examples, the motion classifier 312 determines and / or classifies Fig. 3 the presence and / or absence of one or more types of movements and / or displacements of the mobile device 102 by calculating speed values ​​from the acceleration values ​​detected by the accelerometer 302 and by comparing the speed values, the rotational speed values ​​obtained from the gyroscope 304, and / or step count data obtained from the pedometer 306 to one or more thresholds associated with a panning movement, a zooming movement, and / or a rest of the mobile device 102.For example, motion classifier 312 may compare the velocity values ​​derived from accelerometer 302, the rotational velocity values ​​obtained from gyroscope 304, and / or the step count data obtained from pedometer 306 to one or more pivotal motion thresholds. In some examples, the pivotal motion thresholds may be specific to data associated with movement of mobile device 102 in a first direction corresponding to the x-axis of the coordinate system, as shown in FIGS. Fig. 1 and Fig. 2 (e.g., as indicated by the first and second exemplary arrows 120, 122 of Fig. 1), the movement of the mobile device 102 in a second direction corresponding to the y-axis of the coordinate system, as shown in the Fig. 1 and Fig. 2 (e.g., as indicated by the third and fourth exemplary arrows 124, 126 of Fig. 1) and / or the rotational movement of the mobile device 102 about the z-axis of the coordinate system, as shown in the Fig. 1 and Fig. 2 (e.g., as shown by the fifth and sixth exemplary arrows 128, 130 of Fig. 1). If the speed values ​​derived from the accelerometer 302, the rotational speed values ​​obtained from the gyroscope 304, and / or the step count data obtained from the pedometer 306 indicate a degree and / or extent of movement of the mobile device 102 that meets (e.g., exceeds) one or more of the pivotal motion thresholds, the motion classifier 312 classifies the movement of the mobile device 102 as an occurrence of pivotal motion. If the speed values ​​derived from the accelerometer 302, the rotational speed values ​​obtained from the gyroscope 304, and / or the step count data obtained from the pedometer 306 instead indicate a degree and / or extent of movement of the mobile device 102 that meets (e.g., exceeds) one or more of the pivotal motion thresholds, the motion classifier 312 classifies the movement of the mobile device 102 as an occurrence of pivotal motion.that does not meet (e.g., does not exceed) any of the pivoting motion thresholds, the motion classifier 312 classifies the motion of the mobile device 102 as an absence of pivoting motion of the mobile device 102.

[0040] As another example, the motion classifier 312 may compare the velocity values ​​derived from the accelerometer 302, the rotational velocity values ​​obtained from the gyroscope 304, and / or the step count data obtained from the pedometer 306 with one or more zooming motion thresholds. In some examples, the zooming motion thresholds may be specific to data associated with the movement of the mobile device 102 in a third direction corresponding to the z-axis of the coordinate system, as shown in FIGS. Fig. 1 and Fig. 2 (e.g., as shown by the seventh and eighth exemplary arrows 208, 210 of Fig. 2). If the speed values ​​derived from the accelerometer 302, the rotational speed values ​​obtained from the gyroscope 304, and / or the step count data obtained from the pedometer 306 indicate a degree and / or extent of movement of the mobile device 102 that meets (e.g., exceeds) any of the zooming motion thresholds, the motion classifier 312 classifies the movement of the mobile device 102 as an occurrence of a zooming motion. If the speed values ​​derived from the accelerometer 302, the rotational speed values ​​obtained from the gyroscope 304, and / or the step count data obtained from the pedometer 306 instead indicate a degree and / or extent of movement of the mobile device 102 that meets (e.g., exceeds) any of the zooming motion thresholds, the motion classifier 312 classifies the movement of the mobile device 102 as an occurrence of a zooming motion.that does not meet (e.g., does not exceed) any of the zooming motion thresholds, the motion classifier 312 classifies the motion of the mobile device 102 as an absence of zooming motion of the mobile device 102.

[0041] In some examples, the motion classifier 312 classifies the motion of the mobile device 102 as an occurrence of rest of the mobile device 102 when the velocity values ​​derived from the accelerometer 302, the rotational velocity values ​​obtained from the gyroscope 304, and / or the step count data obtained from the pedometer 306 indicate a degree and / or extent of motion of the mobile device 102 that does not meet (e.g., does not exceed) any of the panning motion thresholds and any of the zooming motion thresholds.

[0042] As another example, motion classifier 312 classifies the motion of mobile device 102 by calculating velocity values ​​from the acceleration values ​​detected by accelerometer 302 and comparing the calculated velocity values ​​to determine which aspect of such values ​​is dominant. For example, if motion classifier 312 determines that the velocity values ​​associated with either the x-axis or the y-axis of mobile device 102 are greater than the velocity values ​​associated with the z-axis of mobile device 102, motion classifier 312 determines that such velocity values ​​indicate a pivoting motion of mobile device 102.If the motion classifier 312 instead determines that the speed values ​​associated with either the x-axis or the y-axis of the mobile device 102 are not greater than the speed values ​​associated with the z-axis of the mobile device 102, the motion classifier 312 determines whether the rotational speed values ​​associated with the z-axis of the mobile device 102 are greater than the rotational speed values ​​associated with the x-axis and the y-axis of the mobile device 102.If the motion classifier 312 determines that the rotational speed values ​​associated with the z-axis of the mobile device 102 are greater than the rotational speed values ​​associated with the x-axis and the y-axis of the mobile device 102, the motion classifier 312 determines that such rotational speed values ​​indicate a pivoting motion of the mobile device 102.If the motion classifier 312 instead determines that the rotational speed values ​​associated with the z-axis of the mobile device 102 are not greater than the rotational speed values ​​associated with the x-axis and the y-axis of the mobile device 102, the motion classifier 312 determines whether the rotational speed values ​​associated with the x-axis, the y-axis, and / or the z-axis of the mobile device 102 meet (e.g., exceed) one or more rotational speed thresholds.If the motion classifier 312 determines that one or more of the rotation speed values ​​associated with any of the x-axis, y-axis, and / or z-axis of the mobile device 102 meet the rotation speed thresholds, the motion classifier 312 determines that such rotation speed values ​​indicate a panning motion of the mobile device 102. If the motion classifier 312 instead determines that the rotation speed values ​​associated with the x-axis, y-axis, and z-axis of the mobile device 102 do not meet the rotation speed thresholds, the motion classifier 312 determines that the speed values ​​and the rotation speed values ​​indicate a zooming motion of the mobile device 102.

[0043] In connection with the previous examples, the motion classifier 312 may additionally classify the motion of the mobile device 102 by comparing data and / or values ​​obtained from the pedometer 306. For example, if the motion classifier 312 determines that the step count data obtained from the pedometer 306 is changing (e.g., increasing), the motion classifier 312 determines that such data and / or values ​​indicate that a user carrying the mobile device 102 is walking. The motion classifier 312 may associate such a determination with a classification corresponding to the first mode (e.g., a search mode) of the mobile device 102.

[0044] The exemplary mode manager 314 from Fig. 3 determines which of the first modes (e.g. the search mode from Fig. 1, as described above) or the second mode (e.g. the learning mode from Fig. 2, as described above) of the dual-mode augmented reality interface is to be executed and / or presented via the example user interface 324 of the mobile device 102. The mode manager 314 determines which of the first or second mode is to be executed and / or presented based on the motion classification determined by the motion classifier 312. For example, if the motion classifier 312 classifies the motion of the mobile device 102 as an occurrence of a panning motion, the mode manager 314 determines that the first mode (e.g., the search mode from Fig. 1, as described above). In response to making such a determination, the mode manager 314 activates, executes, and / or otherwise causes the first mode of the dual-mode augmented reality interface to be presented via the example user interface 324 of the mobile device 102. If the motion classifier 312 instead classifies the motion of the mobile device 102 as an absence of a panning motion, the mode manager 314 determines that the second mode (e.g., the learning mode of Fig. 2, as described above). In response to making such a determination, the mode manager 314 enables, executes, and / or otherwise causes the second mode of the dual-mode augmented reality interface to be presented via the example user interface 324 of the mobile device 102. In some examples, if the motion classifier 312 classifies the motion of the mobile device 102 as an occurrence of a zooming motion, the mode manager 314 may determine that the second mode (e.g., the learning mode of Fig. 1, as described above) is to be executed and / or displayed, as long as the motion classifier has not classified the movement of the mobile device as an occurrence of a pivoting movement. In response to making such a determination, the mode manager 314 activates the second mode (e.g., the learning mode from Fig. 2, as described above) of the dual-mode augmented reality interface to be presented via the example user interface 324 of the mobile device 102.

[0045] The mode manager 314 from Fig. 3 accordingly manages and / or controls the transition from the display of the first mode (e.g., search mode) on the mobile device 102 to the display of the second mode (e.g., learn mode) on the mobile device 102, and vice versa. The mode manager 314 bases such a transition on the motion classifications determined by the motion classifier 312. For example, if the mode manager 314 has caused the first mode to be displayed on the mobile device 102 and subsequently receives an indication from the motion classifier 312 corresponding to an absence of panning motion, the mode manager 314 causes the second mode to be displayed instead of the first mode.Similarly, if the mode manager 314 has caused the second mode to be displayed on the mobile device 102 and subsequently receives an indication from the motion classifier 312 corresponding to an occurrence of a panning motion, the mode manager 314 causes the first mode to be displayed instead of the second mode. As described above, the motion classifier 312 determines such motion classifications in response to motion data (e.g., acceleration data, speed data, rotational speed data, and / or step count data) being provided and / or received from the accelerometer 302, the gyroscope 304, and / or the pedometer 306 of the mobile device 102.

[0046] The exemplary marking identifier 316 from Fig. 3 identifies markers in the images and videos captured by the camera 310 of the mobile device 102 and further identifies data and / or information (e.g., text, graphics, audio files, video files, etc.) associated with the markers. For example, the marker identifier 316 may identify a first QR code corresponding to the first marker 108 of the object of interest 104 from the Fig. 1 and Fig. 2 within an image or video of the object of interest 104 captured by the camera 310 of the mobile device 102. The marker identifier 316 may implement a known form of machine vision and / or image processing to perform the aforementioned identification. The marker identifier 316 may additionally identify information associated with the identified first QR code and / or the identified first marker 108 by accessing the marker library 330 described above. As another example, the marker identifier 316 may identify a second QR code corresponding to the second marker 110 of the object of interest 104 from the Fig. 1 and Fig. 2 within an image or video of the object of interest 104 captured by the camera 310 of the mobile device 102. The marker identifier 316 may additionally identify information associated with the identified second QR code and / or the identified second marker 110 by accessing the marker library 330 described above. The marker identifier 316 communicates data corresponding to the identified markers and / or the identified information associated with the identified markers to the example layout manager 320 of the mobile device 102, as described below.

[0047] The exemplary feature identifier 318 from Fig. 3 identifies features in the images and videos captured by the camera 310 of the mobile device 102 and further identifies data and / or information (e.g., text, graphics, audio files, video files, etc.) associated with the features. For example, the feature identifier 318 may identify a feature shape 118 that corresponds to the first feature 112 of the object of interest 104 from the Fig. 1 and Fig. 2 within an image or video of the object of interest 104 captured by the camera 310 of the mobile device 102. The feature identifier 318 may implement a known form of machine vision and / or image processing to perform the aforementioned identification. The feature identifier 318 may additionally identify information associated with the identified feature shape 118 and / or the identified third feature 112 by accessing the feature library 332 described above. The feature identifier 318 communicates data corresponding to the identified features and / or the identified information associated with the identified features to the example layout manager 320 of the mobile device 102, as described below.

[0048] The exemplary layout manager 320 from Fig. 3 generates and / or controls the layout, arrangement, and / or organization of data and / or information to be displayed and / or presented via the example user interface 324 of the mobile device 102 in connection with the first mode (e.g., the search mode) and the second mode (e.g., the learn mode) of the dual-mode augmented reality interface. The layout manager 320 generates the layout, arrangement, and / or organization of data and / or information to be displayed and / or presented based on the specific mode (e.g., the first mode or the second mode) of the dual-mode augmented reality interface as determined by the example mode manager 314 of the mobile device 102, and further based on the data communicated to the layout manager 320 from the marker identifier 316 and / or the feature identifier 318 of the mobile device 102.

[0049] For example, if the mode manager 314 determines that a first mode (e.g., search mode) of the dual-mode augmented reality interface is to be presented, the layout manager 320 generates a layout including video (e.g., real-time video) corresponding to the video captured by the camera 310 of the mobile device 102 overlaid with information (e.g., text, graphics, links to audio files, links to video files, etc.) corresponding to the data communicated to the layout manager 320 by the marker identifier 316 and / or the feature identifier 318. In some examples, the overlaid information may include indicators representative of the data communicated to the layout manager 320 by the marker identifier 316 and / or the feature identifier 318.For example, the overlaid information may include the first, second, and third indicators 128, 130, 132, as described above in connection with the search mode of FIG. Fig. 1 described.

[0050] In cases where the mode manager 314 has determined that the first mode (e.g., the search mode) of the dual-mode augmented reality interface is to be presented, the layout manager 320 optimizes the arrangement and / or organization of the overlaid information relative to any object of interest (e.g., the object of interest 104 of Fig. 1) that may be included within the video captured by the camera 310 of the mobile device 102. Thus, the overlaid information may overlay, obscure, and / or otherwise interfere with the object of interest when the layout generated by the layout manager 320 is displayed via the example user interface 324 of the mobile device 102 (e.g., via the display 106 of the mobile device 102, as shown in Fig. 1) in conjunction with the first mode of the dual-mode augmented reality interface.

[0051] As another example, if the mode manager 314 determines that a second mode (e.g., the learning mode) of the dual-mode augmented reality interface is to be presented, the layout manager 320 may generate an optimized layout that includes an image captured by the camera 310 of the mobile device 102 overlaid with information (e.g., text, graphics, links to audio files, links to video files, etc.) corresponding to the data communicated to the layout manager 320 by the marker identifier 316 and / or the feature identifier 318. For example, the overlaid information may include the fourth, fifth, and sixth indicators 202, 204, 206, as described above in connection with the learning mode of Fig. 2 described.

[0052] In cases where the mode manager 314 has determined that the second mode (e.g., the learning mode) of the dual-mode augmented reality interface is to be presented, the layout manager 320 optimizes the arrangement and / or organization of the overlaid information relative to any object of interest (e.g., the object of interest 104 of Fig. 1) that may be included within the image captured by the camera 310 of the mobile device 102. For example, the layout manager 320 may move, adjust, and / or otherwise reposition the object of interest within the image, and may further arrange and / or position the overlaid information relative to the object of interest such that the overlaid information does not overlay, obstruct, and / or otherwise interfere with the object of interest when the optimized layout generated by the layout manager 320 is displayed via the example user interface 324 of the mobile device 102 (e.g., via the display 106 of the mobile device 102, as shown in Fig. 2) in conjunction with the second mode of the dual-mode augmented reality interface. In some examples, the layout manager 320 may optimize the arrangement and / or organization of the overlaid information by using one or more layout and / or style templates (e.g., graphic design templates) accessible from the template library 334 described above.

[0053] Layouts and / or optimized layouts generated by the layout manager 320 Fig. 3 are communicated to the example user interface 324 of the mobile device 102 for display by the user interface 324. In some examples, the layouts and / or optimized layouts generated by the layout manager 320 may be stored in the example memory 308 of the mobile device 102. In some examples, the layouts and / or optimized layouts generated by the layout manager 320 may be transmitted to an external device (e.g., a remote server or a cloud server) where the layouts and / or optimized layouts may be stored.

[0054] The exemplary media playback device 322 of Fig. 3 depicts and / or plays multimedia data and / or files via the exemplary user interface 324 of the mobile device 102, as described below. For example, the media player 322 may display and / or play a video file corresponding to the fourth indicator 202 and / or the first feature 108 of Fig. 2. The media playback device 322 may additionally and / or alternatively display and / or play an audio file that corresponds to the fifth indicator 204 and / or the second feature 110 of Fig. 2. In some examples, the media player 322 may be a Windows Media ® Player or a QuickTime ®Player. Data and / or files to be played by the media player 322 may be stored within the memory 308 of the mobile device 102 or, alternatively, may be stored on a remote server and / or a cloud server accessible to the mobile device 102 via the example network interface 326 of the mobile device 102, as described below.

[0055] The exemplary user interface 324 from Fig. 3 facilitates interactions and / or communications between the mobile device 102 and an end user, including presenting the first mode (e.g., search mode) and the second mode (e.g., learn mode) of the dual-mode augmented reality interface to the end user. The user interface 324 includes one or more input devices 336 through which the user can input information, data, and / or commands for the mobile device 102. For example, the user interface 324 may include a button, a microphone, and / or a touchscreen (e.g., the display 106 of the mobile device 102 from the Fig. 1 and Fig. 2) that enable the user to transmit information, data and / or commands to the mobile device 102.

[0056] The user interface 324 from Fig. 3 also includes one or more output devices 338 through which the mobile device 102 presents information and / or data in visual and / or audible form to the end user. For example, the user interface 324 may include a light-emitting diode, a touchscreen (e.g., the display 106 of the mobile device 102 of FIGS. Fig. 1 and Fig. 2) and / or a liquid crystal display for displaying the visual information and / or a speaker for outputting the audible information. The first mode (e.g., the search mode) and the second mode (e.g., the learn mode) of the dual-mode augmented reality interface for the end user, as described above, may be presented via the output devices 338 of the user interface 324. Data and / or information presented and / or received via the user interface 324 may take any type, form, and / or format and may be stored in a computer-readable storage medium, such as the memory 308 described above.

[0057] The example network interface 326 from Fig. 3 facilitates interactions and / or communications between the mobile device 102 and one or more external devices, such as a remote server and / or a cloud server. The network interface 326 includes an example transmitter 340 via which the mobile device 102 can transmit information, data, and / or commands to one or more external devices. In some examples, the transmitter 340 can transmit data corresponding to one or more images and / or videos stored in the memory 308 of the mobile device 102, captured by the camera 310 of the mobile device 102, and / or presented via the user interface 324 of the mobile device 102. In some examples, the transmitter 340 can transmit data corresponding to one or more markers (e.g., a QR code associated with the first marker 114 from the Fig. 1 and Fig. 2) identified by the tag identifier 316 of the mobile device 102. In some examples, the transmitter 340 may transmit data corresponding to one or more features (e.g., a feature shape associated with the third feature 112 of the Fig. 1 and Fig. 2) identified by the feature identifier 316 of the mobile device 102. In some examples, the transmitter 340 may transmit data corresponding to one or more layouts and / or optimized layouts stored in the memory 308 of the mobile device 102, generated by the layout manager 320 of the mobile device, and / or presented via the user interface 324 of the mobile device 102.

[0058] The network interface 326 from Fig. 3 also includes an example receiver 342 through which the mobile device 102 can receive information, data, and / or commands from one or more external devices. In some examples, the receiver 342 can receive data corresponding to information (e.g., text, a graphic, an audio file, a video file, etc.) associated with one or more markers identified by the marker identifier 316 of the mobile device 102. In some examples, the receiver 342 can receive data corresponding to information (e.g., text, a graphic, an audio file, a video file, etc.) associated with one or more features identified by the feature identifier 316 of the mobile device 102.Data and / or information transmitted and / or received via the network interface 326 may be of any type, form, and / or format and may be stored in a computer-readable storage medium, such as the memory 308 described above. While in the . Fig. 1-3 illustrate an exemplary manner for implementing the exemplary dual-mode augmented reality interface of the exemplary mobile device 102, one or more of the elements, processes, and / or devices shown in the Fig. 1-3 may be combined, subdivided, rearranged, omitted, eliminated and / or implemented differently. Furthermore, the example accelerometer 302, the example gyroscope 304, the example pedometer 306, the example memory 308, the example camera 310, the example motion classifier 312, the example mode manager 314, the example marker identifier 316, the example feature identifier 318, the example layout manager 320, the example media player 322, the example user interface 324, the example network interface 326, the example dual-mode augmented reality application 328, the example marker library 330, the example feature library 332, the example input devices 336, the example output devices 338, the example transmitter 340 and / or the example receiver 342 may be Fig. 3 may be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. Thus, for example, any of the example accelerometer 302, the example gyroscope 304, the example pedometer 306, the example memory 308, the example camera 310, the example motion classifier 312, the example mode manager 314, the example marker identifier 316, the example feature identifier 318, the example layout manager 320, the example media player 322, the example user interface 324, the example network interface 326, the example dual-mode augmented reality application 328, the example marker library 330, the example feature library 332, the example input devices 336, the example output devices 338,the exemplary transmitter 340 and / or the exemplary receiver 342 may be implemented by one or more analog or digital circuits, logic circuits, programmable processors, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and / or field-programmable logic devices (FPLDs). Upon reading the device or system claims of this patent to cover a pure software and / or firmware implementation, it is hereby expressly defined that at least one of the exemplary accelerometer 302, the exemplary gyroscope 304, the exemplary pedometer 306, the exemplary memory 308, the exemplary camera 310, the exemplary motion classifier 312, the exemplary mode manager 314, the exemplary marker identifier 316, the exemplary feature identifier 318,the example layout manager 320, the example media player 322, the example user interface 324, the example network interface 326, the example dual-mode augmented reality application 328, the example marker library 330, the example feature library 332, the example input devices 336, the example output devices 338, the example transmitter 340, and / or the example receiver 342 includes a tangible computer-readable storage device or storage disk, such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc., on which the software and / or firmware are stored. Furthermore, the example mobile device 102 of FIGS. Fig. 1-3 include one or more elements, processes and / or devices in addition to or instead of those described in the Fig. 1-3, and / or may include more than one of any or all of the illustrated elements, processes, and devices.

[0059] Flowcharts illustrating example methods for operating and / or executing the example dual-mode augmented reality interface of the example mobile device 102 of the Fig. 1-3 are in the Fig. 4-8. In these examples, the methods may be implemented using machine-readable instructions that implement one or more programs for execution by a processor, such as the example processor 902 of Fig. 9, shown in the exemplary processor platform 900 described below in connection with Fig. 9. The one or more programs may be executed in software stored on a tangible computer-readable storage medium, such as a CD-ROM, a floppy disk, a hard disk, a Digital Versatile Disk (DVD), a Blu-ray Disk, or memory associated with the processor 902, but all of the program(s) and / or portions thereof may alternatively be executed by a device other than the processor 902 and / or embodied in firmware or dedicated hardware. Although the example programs are described with reference to the Fig. 4-8, many other methods for operating and / or executing the example dual-mode augmented reality interface of the example mobile device 102 may be described in the Fig. 1-3 can be used alternatively. For example, the order of execution of the blocks can be changed and / or some of the described blocks can be modified, eliminated, or combined.

[0060] As mentioned above, the exemplary methods from the Fig. 4-8 may be implemented using encoded instructions (e.g., computer- and / or machine-readable instructions) stored on a tangible computer-readable storage medium, such as a hard disk drive, flash memory, read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), buffer memory, random access memory (RAM), and / or any other storage device or disk for storing information for any duration (e.g., for extended periods of time, permanently, for short periods of time, for temporarily buffering and / or caching the information). As used herein, the term "tangible computer-readable storage medium" is expressly defined to include any type of computer-readable storage device and / or disk and excludes disseminating signals and transmission media.In this context, "tangible computer-readable storage medium" and "tangible machine-readable storage medium" are used interchangeably. Additionally or alternatively, the exemplary methods of the . Fig. 4-8 may be implemented using encoded instructions (e.g., computer- and / or machine-readable instructions) stored on a non-transitory computer- and / or machine-readable medium, such as a hard disk drive, flash memory, read-only memory, a compact disk, a digital versatile disk, buffer memory, random access memory, and / or any other storage device or disk on which information is stored for any duration (e.g., for extended periods of time, permanently, for short periods of time, for temporarily buffering and / or caching the information). As used herein, the term "non-transitory computer-readable medium" is expressly defined to include any type of computer-readable storage device and / or disk and excludes propagation of signals and transmission media.In the present context, the expression “at least”, when used as a transitional formulation in the preamble of a patent claim, is just as open-ended as the expression “comprehensively”.

[0061] Fig. 4 is a flowchart of an example method 400 performed on the example mobile device 102 of FIGS. Fig. 1-3 can be executed to create the exemplary dual-mode augmented reality interface from the Fig. 1-3. The example method 400 begins when one or more of the example accelerometer 302, the example gyroscope 304, and / or the example pedometer 306 of the mobile device 102 of Fig. 3 a movement of the mobile device 102 from the Fig. 1-3 (block 402). For example, the accelerometer 302 may sense, measure, and / or detect acceleration values ​​and / or changes in acceleration values ​​associated with the mobile device 102, the gyroscope 304 may sense, measure, and / or detect rotational speed values ​​and / or changes in rotational speed values ​​associated with the mobile device 102, and the pedometer may sense, measure, and / or detect step count data and / or changes in step count data associated with the mobile device 102. Following block 402, control of the example method 400 exits Fig. 4 to Block 404.

[0062] Based on the motion measured by the accelerometer 302, the gyroscope 304 and / or the pedometer 306 at block 402, the example motion classifier 312 of the mobile device 102 classifies Fig. 3 the movement of the mobile device 102 from the Fig. 1-3 (Block 404). For example, the motion classifier 312 may determine the presence and / or absence of a panning motion, a zooming motion, or a stillness of the mobile device 102 based on the acceleration values ​​and / or changes in the acceleration values ​​detected by the accelerometer 302 of the mobile device 102, based on the velocity values ​​and / or changes in the velocity values ​​calculated by the motion classifier 312 as derived from the acceleration values ​​and / or changes in the acceleration values ​​detected by the accelerometer 302 of the mobile device 102, based on the rotational velocity values ​​and / or changes in the rotational velocity values ​​detected by the gyroscope 304 of the mobile device 102, and / or based on step count data and / or changes in the step count data.detected by the pedometer 306 of the mobile device 102. A first exemplary method that can be used to implement block 404 is described below in connection with , Fig. 5. A second exemplary method that may be used to implement block 404 is described below in connection with Fig. 6. Following block 404, control of the exemplary method 400 proceeds Fig. 4 to Block 406.

[0063] Based on the classification determined by the motion classifier 312 at block 404, the example mode manager 314 of the mobile device 102 determines Fig. 3, whether the classification indicates a first mode (e.g., a search mode) or a second mode (e.g., a learning mode) of the dual-mode augmented reality interface of the mobile device 102 from the Fig. 1-3 (block 406). For example, the mode manager 314 may determine that a classification corresponding to the occurrence of a panning motion indicates the first mode (e.g., search mode) of the dual-mode augmented reality interface of the mobile device 102. If the mode manager 314 determines at block 406 that the classification determined by the motion classifier 312 indicates the first mode (e.g., search mode), control of the example method 400 transfers to block 408. If the mode manager 314 instead determines at block 406 that the classification made by the motion classifier 312 indicates the second mode (e.g., learn mode), control of the example method 400 transfers to block 412.

[0064] At block 408, the exemplary mode manager 314 of the mobile device 102 activates Fig. 3 shows the first mode (e.g., the search mode) of the dual-mode augmented reality interface of the mobile device 102 from the Fig. 1 and Fig. 3 and / or executes it (block 408). Following block 408, control of the exemplary method 400 exits Fig. 4 to Block 410.

[0065] At block 410, the example user interface 324 of the mobile device 102 exhibits Fig. 3 shows the first mode (e.g., the search mode) of the dual-mode augmented reality interface of the mobile device 102 from the Fig. 1 and Fig. 3 (block 410). For example, the user interface 324 may display the first mode (e.g., the search mode) of the dual-mode augmented reality interface via an output device 338 of the user interface 324, such as the exemplary touchscreen display 106 of the mobile device 102, as shown in Fig. 1. An exemplary method that may be used to implement block 410 is described below in connection with Fig. 7. Following block 410, the control of the exemplary method 400 proceeds Fig. 4 to Block 416.

[0066] At block 412, the exemplary mode manager 314 of the mobile device 102 activates Fig. 3 shows the second mode (e.g., the learning mode) of the dual-mode augmented reality interface of the mobile device 102 from the Fig. 2 and Fig. 3 and / or executes it (block 412). Following block 412, control of the exemplary method 400 exits Fig. 4 to Block 414.

[0067] At block 414, the example user interface 324 of the mobile device 102 exhibits Fig. 3 shows the second mode (e.g., the learning mode) of the dual-mode augmented reality interface of the mobile device 102 from the Fig. 2 and Fig. 3 (block 414). For example, the user interface 324 may display the second mode (e.g., the learning mode) of the dual-mode augmented reality interface via an output device 338 of the user interface 324, such as the exemplary touchscreen display 106 of the mobile device 102, as shown in Fig. 2. An exemplary method that may be used to implement block 414 is described below in connection with Fig. 8. Following block 414, the control of the exemplary method 400 proceeds Fig. 4 to Block 416.

[0068] At block 416, the example mode manager 314 of the mobile device 102 determines Fig. 3, whether the activated session (e.g., the activated search mode and / or the activated learning mode) of the dual-mode augmented reality interface of the mobile device 102 is selected from the Fig. 1-3 should be interrupted (block 416). For example, the mode manager 314 may issue one or more commands, instructions, and / or signals via the user interface 324 of the mobile device 102 Fig. 3 indicating that the activated dual-mode augmented reality interface session should be interrupted (e.g., that the execution and / or operation of the dual-mode augmented reality interface should be discontinued and / or terminated). If the mode manager 314 determines at block 416 that the activated dual-mode augmented reality interface session should not be aborted, control of the example method 400 returns to block 402. If the mode manager 314 instead determines at block 416 that the activated dual-mode augmented reality interface session should be aborted, the example method 400 ends.

[0069] Fig. 5 is a flowchart illustrating a first example method 404A performed on the example mobile device 102 of FIGS. Fig. 1-3 may be performed to classify the movement of the mobile device 102. Example operations of blocks 502, 504, 506, 508, 510, 512, 514, and 516 of Fig. 5 can be used to extract block 404 from Fig. 4 to be implemented.

[0070] The example method 404A begins when the example motion classifier 312 of Fig. 3 using the exemplary marking identifier 316 from Fig. 3 and / or the exemplary feature identifier 318 from Fig. 3 determines whether at least one marker or feature in the video or image captured by the camera 310 Fig. 3 was identified (block 502). The exemplary processes for implementing block 502 to determine whether at least one mark or feature has been identified are described below in connection with blocks 702, 704, 706, 708, and 710 of the exemplary method of Fig. 7. If the motion classifier 312 determines at block 502 that at least one marker or feature has been identified, the example method 404A proceeds to block 504. If the motion classifier 312 instead determines at block 502 that no marker or feature has been identified, control of the example method 404A proceeds to block 516.

[0071] At block 504, the exemplary motion classifier 312 determines Fig. 3, whether the value of step count data obtained from the pedometer 306 of the mobile device 102 Fig. 3 (block 504). If the motion classifier 312 determines at block 504 that the value of the step count data obtained from the pedometer 306 has not increased, control of the example method 404A transfers to block 506. If the motion classifier 312 instead determines at block 504 that the value of the step count data obtained from the pedometer 306 has increased, control of the example method 404A transfers to block 516.

[0072] At block 506, the example motion classifier 312 calculates Fig. 3 Velocity values ​​based on the acceleration values ​​obtained from the exemplary accelerometer 302 Fig. 3 (block 506). For example, motion classifier 312 may calculate and / or determine velocity values ​​associated with the motion of mobile device 102 by integrating the acceleration values ​​detected by accelerometer 302 of mobile device 102 over time. Following block 506, control of example method 404A transfers to block 508.

[0073] At block 508, the exemplary motion classifier 312 determines Fig. 3, whether the velocity values ​​associated with either the x-axis or the y-axis of the mobile device 102 are greater than the velocity values ​​associated with the z-axis of the mobile device 102 (block 508). If the motion classifier 312 determines at block 508 that the velocity values ​​associated with either the x-axis or the y-axis of the mobile device 102 are not greater than the velocity values ​​associated with the z-axis of the mobile device 102, control of the example method 404A transfers to block 510.If the motion classifier 312 instead determines at block 508 that the velocity values ​​associated with either the x-axis or the y-axis of the mobile device 102 are greater than the velocity values ​​associated with the z-axis of the mobile device 102, control of the example method 404A transfers to block 516.

[0074] At block 510, the exemplary motion classifier 312 determines Fig. 3, whether the rotational speed values ​​associated with the z-axis of the mobile device 102 are greater than the rotational speed values ​​associated with the x-axis and y-axis of the mobile device 102 (block 510). If the motion classifier 312 determines at block 510 that the rotational speed values ​​associated with the z-axis of the mobile device 102 are not greater than the rotational speed values ​​associated with the x-axis and y-axis of the mobile device 102, control of the example method 404A transfers to block 512.If the motion classifier 312 instead determines at block 510 that the rotational speed values ​​associated with the z-axis of the mobile device 102 are greater than the rotational speed values ​​associated with the x-axis and the y-axis of the mobile device 102, control of the example method 404A transfers to block 516.

[0075] At block 512, the exemplary motion classifier 312 determines Fig. 3, whether the rotation speed values ​​associated with any of the x-axis, the y-axis, and / or the z-axis of the mobile device 102 exceed one or more rotation speed thresholds (block 512). If the motion classifier 312 determines at block 512 that the rotation speed values ​​associated with the x-axis, the y-axis, and the z-axis of the mobile device 102 do not exceed the rotation speed thresholds, control of the example method 404A transfers to block 514. If the motion classifier 312 instead determines at block 512 that one or more of the rotation speed values ​​associated with any of the x-axis, the y-axis, and / or the z-axis of the mobile device 102 exceed the rotation speed thresholds, control of the example method 404A transfers to block 516.

[0076] At block 514, the exemplary motion classifier 312 classifies Fig. 3 the movement of the mobile device 102 as the occurrence of a zooming movement (block 514). At block 514, the motion classifier may Fig. 3 may additionally and / or alternatively classify the movement of the mobile device 102 as the absence of a pivoting movement. Following block 514, the example method 404A ends and control returns to a calling function or process, such as the example method 400 of Fig. 4.

[0077] At block 516, the exemplary motion classifier 312 classifies Fig. 3, the movement of the mobile device 102 as the occurrence of a pivoting movement (block 516). Following block 516, the example method 404A ends, and control returns to a calling function or process, such as the example method 400 of Fig. 4.

[0078] Fig. 6 is a flowchart illustrating a second example method 404B performed on the example mobile device 102 of FIGS. Fig. 1-3 may be performed to classify the movement of the mobile device 102. Example operations of blocks 602, 604, 606, 608, 610, 612, 614, 616, and 618 of Fig. 6 can be used to extract block 404 from Fig. 4 to be implemented.

[0079] The exemplary method 404B begins when the exemplary motion classifier 312 of Fig. 3 using the exemplary marking identifier 316 from Fig. 3 and / or the exemplary feature identifier 318 from Fig. 3 determines whether at least one marker or feature in the video or image captured by the camera 310 Fig. 3 was identified (block 602). The exemplary processes for implementing block 602 to determine whether at least one mark or feature has been identified are described below in connection with blocks 702, 704, 706, 708, and 710 of the exemplary method of Fig. 7. If the motion classifier 312 determines at block 602 that at least one marker or feature has been identified, the example method 404B proceeds to block 604. If the motion classifier 312 instead determines at block 602 that no marker or feature has been identified, control of the example method 404B proceeds to block 618.

[0080] At block 604, the exemplary motion classifier 312 determines Fig. 3, whether the value of step count data obtained from the pedometer 306 of the mobile device 102 Fig. 3 (block 604). If the motion classifier 312 determines at block 604 that the value of the step count data obtained from the pedometer 306 has not increased, control of the example method 404B transfers to block 606. If the motion classifier 312 instead determines at block 604 that the value of the step count data obtained from the pedometer 306 has increased, control of the example method 404B transfers to block 618.

[0081] At block 606, the example motion classifier 312 calculates Fig. 3 Velocity values ​​based on the acceleration values ​​obtained from the exemplary accelerometer 302 Fig. 3 (block 606). For example, the motion classifier 312 may calculate and / or determine velocity values ​​associated with the motion of the mobile device 102 by integrating the acceleration values ​​detected by the accelerometer 302 of the mobile device 102 over time. Following block 606, control of the example method 404B transfers to block 608.

[0082] At block 608, the exemplary motion classifier 312 determines Fig. 3, whether the speed values ​​associated with either the x-axis or the y-axis of the mobile device 102 exceed one or more speed thresholds (block 608). If the motion classifier 312 determines at block 604 that the speed values ​​associated with the x-axis and the y-axis of the mobile device 102 do not exceed the acceleration thresholds, control of the example method 404B transfers to block 610. If the motion classifier 312 instead determines at block 608 that the speed values ​​associated with either the x-axis or the y-axis of the mobile device 102 exceed the acceleration thresholds, control of the example method 404B transfers to block 618.

[0083] At block 610, the exemplary motion classifier 312 determines Fig. 3, whether the rotation speed values ​​associated with any of the x-axis, the y-axis, and / or the z-axis of the mobile device 102 exceed one or more rotation speed thresholds (block 610). If the motion classifier 312 determines at block 512 that the rotation speed values ​​associated with the x-axis, the y-axis, and the z-axis of the mobile device 102 do not exceed the rotation speed thresholds, control of the example method 404B transfers to block 612. If the motion classifier 312 instead determines at block 610 that one or more of the rotation speed values ​​associated with any of the x-axis, the y-axis, and / or the z-axis of the mobile device 102 exceed the rotation speed thresholds, control of the example method 404B transfers to block 618.

[0084] At block 612, the exemplary motion classifier 312 determines Fig. 3, whether the speed values ​​associated with the z-axis of the mobile device 102 exceed one or more speed thresholds (block 612). If the motion classifier 312 determines at block 612 that one or more of the speed values ​​associated with the z-axis of the mobile device 102 exceed the speed thresholds, control of the example method 404B transfers to block 614. If the motion classifier 312 instead determines at block 612 that the speed values ​​associated with the z-axis of the mobile device 102 do not exceed the speed thresholds, control of the example method 404B transfers to block 616.

[0085] At block 614, the exemplary motion classifier 312 classifies Fig. 3 the movement of the mobile device 102 as the occurrence of a zooming movement (block 614). At block 614, the motion classifier may Fig. 3 may additionally and / or alternatively classify the movement of the mobile device 102 as the absence of a pivoting movement. Following block 614, the example method 404B ends and control returns to a calling function or process, such as the example method 400 of Fig. 4.

[0086] At block 616, the exemplary motion classifier 312 classifies Fig. 3, the movement of the mobile device 102 as the occurrence of a still state (block 616). The occurrence of a still state of the mobile device 102 corresponds to the absence of a panning movement and the absence of a zooming movement of the mobile device 102 (block 616). Following block 616, the example method 404B ends, and control returns to a calling function or process, such as the example method 400 of Fig. 4.

[0087] At block 618, the exemplary motion classifier 312 classifies Fig. 3, the movement of the mobile device 102 as the occurrence of a pivoting movement (block 618). Following block 618, the example method 404B ends, and control returns to a calling function or process, such as the example method 400 of Fig. 4.

[0088] Fig. 7 is a flowchart illustrating an example method 410 performed on the example mobile device 102 of FIGS. Fig. 1 and Fig. 3 to illustrate the exemplary search mode (e.g., the first mode) of the exemplary dual-mode augmented reality interface of mobile device 102. Example operations of blocks 702, 704, 706, 708, 710, 712, 714, and 716 of Fig. 7 can be used to extract block 410 from Fig. 4 to be implemented.

[0089] The example method 410 begins when the example camera 310 is Fig. 3 captures video (block 702). For example, the camera 310 may capture video that includes the exemplary object of interest 104 from Fig. 1. Following block 702, control of the exemplary method 410 proceeds to block 704.

[0090] At block 704, the exemplary marker identifier 316 from Fig. 3, whether the video captured by the camera 310 at block 702 includes markers (block 704). For example, the marker identifier 316 may determine that the video captured by the camera 310 includes the first exemplary marker 114 and / or the second exemplary marker 116 of the object of interest 104 from Fig. 1 includes.

[0091] If the marker identifier 316 determines at block 704 that the video captured by the camera 310 includes one or more markers, control of the example method 410 transfers to block 706. If, instead, the marker identifier 316 determines at block 704 that the video captured by the camera 310 does not include any markers, control of the example method 410 transfers to block 708.

[0092] At block 706, the exemplary marker identifier 316 from Fig. 3 the markers included in the video and also identifies information associated with the identified markers (block 706). For example, the marker identifier 316 may identify a first QR code corresponding to the first marker 108 of the object of interest 104 from Fig. 1 within the video of the object of interest 104 captured by the camera 310 of the mobile device 102. The marker identifier 316 may additionally identify information associated with the identified first QR code and / or the identified first marker 108 by accessing the marker library 330. As another example, the marker identifier 316 may identify a second QR code corresponding to the second marker 110 of the object of interest 104. Fig. 1 within the video of the object of interest 104 captured by the camera 310 of the mobile device 102. The marker identifier 316 may additionally identify information associated with the identified second QR code and / or the identified second marker 110 by accessing the marker library 330. Following block 706, control of the example method 410 transfers to block 708.

[0093] At block 708, the exemplary feature identifier 318 from Fig. 3, whether the video captured by the camera 310 at block 702 includes features. For example, the feature identifier 318 may determine that the video captured by the camera 310 includes the exemplary feature shape 118 of the object of interest 104 from Fig. 1. If the feature identifier 318 determines at block 708 that the video captured by the camera 310 includes one or more features, control of the example method 410 transfers to block 710. If the feature identifier 318 instead determines at block 708 that the video captured by the camera 310 does not include any features, control of the example method 410 transfers to block 712.

[0094] At block 710, the exemplary feature identifier 318 from Fig. 3 the features contained in the video and also identifies information associated with the identified features (block 710). For example, the feature identifier 318 may identify a feature shape 118 that corresponds to the first feature 112 of the object of interest 104 from Fig. 1 within the video of the object of interest 104 captured by the camera 310 of the mobile device 102. The feature identifier 318 may additionally identify information associated with the identified feature shape 118 and / or the identified third feature 112 by accessing the feature library 332. Following block 710, control of the example method 410 transfers to block 712.

[0095] At block 712, the exemplary layout manager 320 determines Fig. 3, whether at least one marking or feature from the marking identifier 316 Fig. 3 at block 706 or the feature identifier 318 from Fig. 3 was identified at block 710 (block 712). If the layout manager 320 determines at block 712 that no markings and no features have been identified, control of the example program 410 returns to block 702. If the layout manager 320 instead determines at block 712 that at least one marking or feature has been identified, control of the example program 410 transfers to block 714.

[0096] At block 714, the example layout manager 320 creates a layout that includes the video captured by the camera 310 Fig. 3 at block 702, which is associated with the marker information provided by the marker identifier 316 from Fig. 3 at block 706, and the associated feature information derived from the feature identifier 318 from Fig. 3 at block 710. For example, the layout manager 320 may generate a layout that includes video (e.g., real-time video) corresponding to the video captured by the camera 310 of the mobile device 102 overlaid with information (e.g., text, graphics, links to audio files, links to video files, etc.) corresponding to the data communicated to the layout manager 320 by the marker identifier 316 and / or the feature identifier 318. In some examples, the overlaid information may include indicators representative of the data communicated to the layout manager 320 by the marker identifier 316 and / or the feature identifier 318. For example, the overlaid information may include the first, second, and third indicators 128, 130, 132, as described above in connection with the search mode of Fig. 1. Following block 714, control of the exemplary method 410 proceeds to block 716.

[0097] At block 716, the example user interface 324 displays Fig. 3 represents the layout generated by the layout manager 320 Fig. 3 at block 714 (block 716). For example, the user interface 324 may display the layout generated by the layout manager 320 via an output device 338 of the user interface 324, such as the exemplary touchscreen display 106 of the mobile device 102 of Fig. 1. Following block 716, the example method 410 ends and control returns to a call function or process, such as the example method 400 of Fig. 4.

[0098] Fig. 8 is a flowchart illustrating an example method 414 performed on the example mobile device 102 of FIGS. Fig. 2 and Fig. 3 to illustrate the exemplary learning mode (e.g., the second mode) of the exemplary dual-mode augmented reality interface of the mobile device 102. Example operations of blocks 802, 804, 806, 808, 810, 812, 814, and 816 of Fig. 8 can be used to extract block 414 from Fig. 4 to be implemented.

[0099] The example method 414 begins when the example camera 310 is Fig. 3 takes an image (block 802). For example, the camera 310 may take an image that includes the exemplary object of interest 104 from Fig. 1. Following block 802, control of the exemplary method 414 transfers to block 804.

[0100] At block 804, the exemplary marker identifier 316 from Fig. 3, whether the image captured by the camera 310 at block 802 includes markers (block 804). For example, the marker identifier 316 may determine that the image captured by the camera 310 includes the first exemplary marker 114 and / or the second exemplary marker 116 of the object of interest 104 from Fig. 1. If the marker identifier 316 determines at block 804 that the image captured by the camera 310 includes one or more markers, control of the example method 414 transfers to block 806. If the marker identifier 316 instead determines at block 804 that the image captured by the camera 310 does not include any markers, control of the example method 414 transfers to block 808.

[0101] At block 806, the exemplary marker identifier 316 from Fig. 3 the markers included in the image and also identifies information associated with the identified markers (block 806). For example, the marker identifier 316 may identify a first QR code corresponding to the first marker 108 of the object of interest 104. Fig. 2 within the image of the object of interest 104 captured by the camera 310 of the mobile device 102. The marker identifier 316 may additionally identify information associated with the identified first QR code and / or the identified first marker 108 by accessing the marker library 330. As another example, the marker identifier 316 may identify a second QR code corresponding to the second marker 110 of the object of interest 104. Fig. 2 within the image of the object of interest 104 captured by the camera 310 of the mobile device 102. The marker identifier 316 may additionally identify information associated with the identified second QR code and / or the identified second marker 110 by accessing the marker library 330. Following block 806, control of the example method 414 transfers to block 808.

[0102] At block 808, the exemplary feature identifier 318 from Fig. 3, whether the image captured by the camera 310 at block 802 includes features. For example, the feature identifier 318 may determine that the image captured by the camera 310 includes the exemplary feature shape 118 of the object of interest 104 from Fig. 1. If the feature identifier 318 determines at block 808 that the image captured by the camera 310 includes one or more features, control of the example method 414 transfers to block 810. If the feature identifier 318 instead determines at block 808 that the image captured by the camera 310 does not include any features, control of the example method 414 transfers to block 812.

[0103] At block 810, the exemplary feature identifier 318 from Fig. 3 the features contained in the image and also identifies information associated with the identified features (block 810). For example, the feature identifier 318 may identify a feature shape 118 that corresponds to the first feature 112 of the object of interest 104 from Fig. 2 within the image of the object of interest 104 captured by the camera 310 of the mobile device 102. The feature identifier 318 may additionally identify information associated with the identified feature shape 118 and / or the identified third feature 112 by accessing the feature library 332. Following block 810, control of the example method 414 transfers to block 812.

[0104] At block 812, the exemplary layout manager 320 determines Fig. 3, whether at least one marking or feature from the marking identifier 316 Fig. 3 at block 806 or the feature identifier 318 from Fig. 3 was identified at block 810 (block 812). If the layout manager 320 determines at block 812 that no markings and no features have been identified, control of the example program 414 returns to block 802. If the layout manager 320 instead determines at block 812 that at least one marking or feature has been identified, control of the example program 414 transfers to block 814.

[0105] At block 814, the example layout manager 320 creates an optimized layout that includes a configured version of the image captured by the camera 310 Fig. 3 at block 802, which is associated with a configured version of the associated marker information derived from the marker identifier 316 of Fig. 3 at block 806, and a configured version of the associated feature information identified by the feature identifier 318 from Fig. 3 at block 810. For example, the layout manager 320 may generate an optimized layout that includes an image captured by the camera 310 of the mobile device 102 overlaid with information (e.g., text, graphics, links to audio files, links to video files, etc.) corresponding to the data communicated to the layout manager 320 by the marker identifier 316 and / or the feature identifier 318. For example, the overlaid information may include the fourth, fifth, and sixth indicators 202, 204, 206, as described above in connection with the learning mode of Fig. 2. The layout manager 320 optimizes the arrangement and / or organization of the overlaid information relative to any object of interest (e.g., the object of interest 104 of Fig. 1) that may be included within the image captured by the camera 310 of the mobile device 102. For example, the layout manager 320 may move, adjust, and / or otherwise reposition the object of interest within the image, and may further arrange and / or position the overlaid information relative to the object of interest such that the overlaid information does not overlay, obstruct, and / or otherwise interfere with the object of interest when the optimized layout generated by the layout manager 320 is displayed via the example user interface 324 of the mobile device 102 (e.g., via the display 106 of the mobile device 102, as shown in Fig. 2) in connection with the second mode of the dual-mode augmented reality interface. In some examples, layout manager 320 may optimize the arrangement and / or organization of the overlaid information by using one or more layout and / or style templates (e.g., graphic design templates) accessible from template library 334. Following block 814, control of example method 414 transfers to block 816.

[0106] At block 816, the example user interface 324 displays Fig. 3 represents the optimized layout generated by the layout manager 320 Fig. 3 at block 814 (block 816). For example, the user interface 324 may display the optimized layout generated by the layout manager 320 via an output device 338 of the user interface 324, such as the exemplary touchscreen display 106 of the mobile device 102 of Fig. 2. Following block 816, the example method 414 ends and control returns to a call function or process, such as the example method 400 of Fig. 4.

[0107] Fig. 9 is an exemplary processor platform 900 capable of executing instructions to perform the methods of the Fig. 4-8 and the exemplary dual-mode augmented reality interface of the exemplary mobile device 102 of FIGS. Fig. 1-3. The processor platform 900 of the illustrated example includes a processor 902. The processor 902 of the illustrated example is hardware. For example, the processor 902 may be implemented by one or more integrated circuits, logic circuits, microprocessors, or controllers from any desired series or manufacturer. The processor 902 of the illustrated example includes local memory 904 (e.g., a cache) and further includes the example motion classifier 312, the example mode manager 314, the example marker identifier 316, the example feature identifier 318, the example layout manager 320, and the example media player 322 of Fig. 3.

[0108] The processor 902 of the illustrated example is in communication with one or more example motion sensors 906 via a bus 908. The example motion sensors 906 include the example accelerometer 302, the example gyroscope 304, and the example pedometer 306 of Fig. 3. The processor 902 of the illustrated example is also in communication with the exemplary camera 310 of Fig. 3.

[0109] The processor 902 of the illustrated example is also in communication via bus 908 with a main memory including a volatile memory 910 and a non-volatile memory 912. The volatile memory 910 may be implemented by synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), RAMBUS dynamic random access memory (RDRAM), and / or any other type of random access memory device. The non-volatile memory 912 may be implemented by flash memory and / or any other desired type of memory device. Access to the volatile memory 910 and the non-volatile memory 912 is controlled by a memory controller.

[0110] The processor 902 of the illustrated example is also in communication with one or more mass storage devices 914 for storing software and / or data. Examples of such mass storage devices 914 include floppy disk drives, hard disk drives, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives. In the illustrated example, the mass storage device 914 includes the example memory 308 of Fig. 3.

[0111] The processor platform 900 of the illustrated example also includes a user interface circuit 916. The user interface circuit 916 may be implemented using any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and / or a PCI Express interface. In the illustrated example, one or more input devices 336 are connected to the user interface circuit 916. The input device(s) 336 enable a user to input data and / or commands into the processor 902. The input device(s) 336 may be implemented, for example, by an audio sensor, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a touchpad, a trackball, an isopoint, a voice recognition system, a microphone, and / or a liquid crystal display.One or more output devices 338 are also connected to the user interface circuitry 916 of the illustrated example. Output device(s) 338 may be implemented, for example, by a light-emitting diode, an organic light-emitting diode, a liquid crystal display, a touchscreen, and / or a speaker. The user interface circuitry 916 of the illustrated example may thus include a graphics driver, such as a graphics driver chip and / or processor. In the illustrated example, the input device(s) 336, the output device(s) 338, and the user interface circuitry 916 collectively form the exemplary user interface 324. Fig. 3.

[0112] The processor platform 900 of the illustrated example also includes a network interface circuit 918. The network interface circuit 918 may be implemented using any type of interface standard, such as an Ethernet interface, a Universal Serial Bus (USB), and / or a PCI Express interface. In the illustrated example, the network interface circuit 918 includes the exemplary transmitter 340 and the exemplary receiver 342 of Fig. 3, to facilitate the exchange of data and / or signals with external machines (e.g., a remote server) over a network 920 (e.g., a cellular network, a wireless local area network (WLAN), etc.).

[0113] Coded instructions 922 for implementing the procedures from the Fig.4-8 may be stored in local memory 904, volatile memory 910, non-volatile memory 912, mass storage device 914, and / or on a removable tangible computer-readable storage medium such as a CD or DVD.

[0114] From the foregoing, it will be appreciated that the disclosed dual-mode augmented reality interfaces provide advantages over conventional augmented reality interfaces that restrictively operate and / or execute in a single mode. The exemplary dual-mode augmented reality interfaces for mobile devices disclosed herein are advantageously operated and / or executed in response to detecting an occurrence of panning movement of the mobile device in a first mode (e.g., a search mode) and in response to detecting an absence of panning movement of the mobile device in a second mode (e.g., a learn mode).In some disclosed examples, the second mode of the dual-mode augmented reality interface, when presented, advantageously includes an optimized layout that includes a configured version of an image captured by the camera of the mobile device and further includes configured associated information corresponding to a marker or feature detected in the image. In some disclosed examples, the configured version of the image includes at least one of a modified size or a modified position of an object of interest that is modified relative to a size or a position of the object of interest within the captured image. In some disclosed examples, the configured associated information overlays the configured version of the image without obscuring the object of interest contained therein.Thus, the disclosed dual-mode augmented reality interfaces eliminate the disadvantages associated with conventional single-mode augmented reality interfaces that present modified and / or augmented real-time videos to a user in all cases.

[0115] In some examples, a method for presenting a dual-mode augmented reality interface of a mobile device is disclosed. In some disclosed examples, the method includes presenting a first mode of the dual-mode augmented reality interface via a user interface of the mobile device in response to detecting an occurrence of a first movement of the mobile device. In some disclosed examples, the method includes presenting a second mode of the dual-mode augmented reality interface via the user interface in response to detecting an absence of the first movement. In some disclosed examples, the second mode is different from the first mode. In some disclosed examples, the first mode is a search mode and the second mode is a learn mode. In some disclosed examples, the first movement is a panning movement.

[0116] In some disclosed examples of the method, the method includes presenting the second mode via the user interface in response to detecting an occurrence of a second movement of the mobile device concurrently with the absence of the first movement. In some disclosed examples, the second movement is different from the first movement. In some disclosed examples, the second movement is a zooming movement. In some disclosed examples, the absence of the first movement along with an absence of the second movement indicates a rest of the mobile device.

[0117] In some disclosed examples of the method, detecting the occurrence of the first movement or detecting the absence of the first movement is based on data obtained from at least one of an accelerometer of the mobile device, a gyroscope of the mobile device, or a pedometer of the mobile device.

[0118] In some disclosed examples of the method, presenting the first mode includes presenting a layout. In some disclosed examples, the layout includes video captured by a camera of the mobile device. In some disclosed examples, the layout further includes associated information corresponding to a marker or feature detected in the video. In some disclosed examples, the associated information is overlaid on the video.

[0119] In some disclosed examples of the method, presenting the second mode includes presenting an optimized layout. In some disclosed examples, the optimized layout includes a configured version of an image captured by a camera of the mobile device. In some disclosed examples, the image includes an object of interest. In some disclosed examples, the configured version of the image includes at least one of a modified size or a modified position of the object of interest that is modified relative to a size or a position of the object of interest within the image captured by the camera. In some disclosed examples, the optimized layout includes associated information corresponding to a marker or feature detected in the image captured by the camera.In some disclosed examples, the associated information overlays the configured version of the image without obstructing the object of interest.

[0120] In some examples, a dual-mode augmented reality interface of a mobile device is disclosed. In some disclosed examples, the dual-mode augmented reality interface includes a first mode to be presented in response to detecting an occurrence of a first movement of the mobile device via a user interface of the mobile device. In some disclosed examples, the dual-mode augmented reality interface further includes a second mode to be presented in response to detecting an absence of the first movement via the user interface. In some disclosed examples, the second mode is different from the first mode. In some disclosed examples, the first mode is a search mode and the second mode is a learn mode. In some disclosed examples, the first movement is a panning movement.

[0121] In some disclosed examples of the dual-mode augmented reality interface, the second mode of the dual-mode augmented reality interface is to be presented via the user interface in response to detecting an occurrence of a second movement of the mobile device concurrently with the absence of the first movement. In some disclosed examples, the second movement is different from the first movement. In some disclosed examples, the second movement is a zooming movement. In some disclosed examples, the absence of the first movement along with an absence of the second movement indicates a rest of the mobile device.

[0122] In some disclosed examples of the dual-mode augmented reality interface, detecting the presence of the first movement or detecting the absence of the first movement is based on data obtained from at least one of an accelerometer of the mobile device, a gyroscope of the mobile device, or a pedometer of the mobile device.

[0123] In some disclosed examples of the dual-mode augmented reality interface, the first mode of the dual-mode augmented reality interface, when presented, includes a layout. In some disclosed examples, the layout includes video captured by a camera of the mobile device. In some disclosed examples, the layout further includes associated information corresponding to a marker or feature detected in the video. In some disclosed examples, the associated information is overlaid on the video.

[0124] In some disclosed examples of the dual-mode augmented reality interface, the second mode of the dual-mode augmented reality interface, when presented, includes an optimized layout. In some disclosed examples, the optimized layout includes a configured version of an image captured by a camera of the mobile device. In some disclosed examples, the image includes an object of interest. In some disclosed examples, the configured version of the image includes at least one of a modified size or a modified position of the object of interest that is modified relative to a size or a position of the object of interest within the image captured by the camera. In some disclosed examples, the optimized layout includes associated information corresponding to a marker or feature that isdetected in the image captured by the camera. In some disclosed examples, the associated information overlays the configured version of the image without obstructing the object of interest.

[0125] In some examples, a tangible machine-readable storage medium is disclosed that includes instructions. In some disclosed examples, the instructions, when executed, cause the processor to present a first mode of a dual-mode augmented reality interface of a mobile device via a user interface of the mobile device in response to detecting an occurrence of a first movement of the mobile device. In some disclosed examples, the instructions, when executed, cause the processor to present a second mode of the dual-mode augmented reality interface via the user interface in response to detecting an absence of the first movement. In some disclosed examples, the second mode is different from the first mode. In some disclosed examples, the first mode is a search mode and the second mode is a learn mode.In some disclosed examples, the first movement is a pivoting movement.

[0126] In some disclosed examples of the tangible machine-readable storage medium, the instructions, when executed, further cause the processor to present the second mode of the dual-mode augmented reality interface via the user interface in response to detecting an occurrence of a second movement of the mobile device concurrently with the absence of the first movement. In some disclosed examples, the second movement is different from the first movement. In some disclosed examples, the second movement is a zooming movement. In some disclosed examples, the absence of the first movement along with an absence of the second movement indicates a rest of the mobile device.

[0127] In some disclosed examples of the tangible machine-readable storage medium, detecting the occurrence of the first movement or detecting the absence of the first movement is based on data obtained from at least one of an accelerometer of the mobile device, a gyroscope of the mobile device, or a pedometer of the mobile device.

[0128] In some disclosed examples of the tangible machine-readable storage medium, the first mode of the dual-mode augmented reality interface, when presented, includes a layout. In some disclosed examples, the layout includes video captured by a camera of the mobile device. In some disclosed examples, the layout further includes associated information corresponding to a marker or feature detected in the video. In some disclosed examples, the associated information is overlaid on the video.

[0129] In some disclosed examples of the tangible machine-readable storage medium, the second mode of the dual-mode augmented reality interface, when presented, includes an optimized layout. In some disclosed examples, the optimized layout includes a configured version of an image captured by a camera of the mobile device. In some disclosed examples, the image includes an object of interest. In some disclosed examples, the configured version of the image includes at least one of a modified size or a modified position of the object of interest that is modified relative to a size or a position of the object of interest within the image captured by the camera. In some disclosed examples, the optimized layout includes associated information corresponding to a marker or feature that isdetected in the image captured by the camera. In some disclosed examples, the associated information overlays the configured version of the image without obstructing the object of interest.

[0130] Although certain exemplary methods, devices, and products have been disclosed herein, the scope of this patent is not so limited. On the contrary, this patent covers all methods, devices, and products that properly fall within the scope of the claims of this patent.

Claims

[1] Method comprising: Displaying a first augmented reality (AR) mode of a dual-mode AR interface (328) via a user interface (324) of a mobile device (102) in response to detecting an occurrence of a panning movement of the mobile device, wherein the first AR mode displays a video of the object of interest (104) via a display (106) of the mobile device (102), the video being captured with a camera (310) of the mobile device (102); and Displaying a second AR mode of the dual-mode AR interface for augmented reality (328) via the user interface (324) in response to detecting an absence of the panning movement, wherein the second AR mode is different from and displayed in place of the first AR mode, wherein the second AR mode displays, via a display (106) of the mobile device (102), an image of the object of interest (104) captured by the camera (310) of the mobile device (102), wherein detecting the absence of the pivoting movement comprises: Determining speed values ​​in the X-axis direction, in the Y-axis direction and in the Z-axis direction of the mobile device; Determining a rotation speed about the X-axis, a rotation speed about the Y-axis and a rotation speed about the Z-axis of the mobile device; Determining that the speed values ​​associated with either the X-axis or the Y-axis of the mobile device (102) are not greater than the speed values ​​associated with the Z-axis of the mobile device (102); Detecting that the rotation speed values ​​associated with the Z-axis of the mobile device (102) are not greater than the rotation speed values, associated with the X-axis and the Y-axis of the mobile device (102); and Detecting that the rotation speed values ​​associated with the X-axis, the Y-axis, and the Z-axis of the mobile device (102) do not exceed rotation speed thresholds, respectively. [2] The method of claim 1, wherein the first AR mode is a search mode associated with the object of interest (104) and the second AR mode is a learning mode associated with the object of interest (104). [3] The method of claim 1, further comprising presenting the second AR mode of the dual-mode AR interface via the user interface (324) in response to detecting a zoom movement of the mobile device (102) in the absence of the panning movement. [4] The method of claim 3, wherein the absence of the panning movement in combination with an absence of the zooming movement is an indicator of the rest position of the mobile device (102). [5] The method of claim 1, wherein detecting the occurrence of the pivoting movement or detecting the absence of the pivoting movement is based on data acquired by at least one of the acceleration sensors (302), a gyroscope (304) or a pedometer (306) of the mobile device (102). [6] The method of claim 1, wherein the representation of the first AR mode of the dual-mode AR interface comprises the representation of a layout, the layout including: The video recorded by the camera (310) of the mobile device (102); and Related information overlaid on the video. [7] The method of claim 1, wherein displaying the second AR mode of the dual-mode AR interface includes displaying an optimized layout, the optimized layout comprising: A configured version of the image captured by the camera (310) of the mobile device (102), the configured version of the image including at least a modified size or a modified position of the object of interest (104) modified relative to a size or position of the object of interest (104) within the image as captured by the camera (310); and Associated information corresponding to a marker (114, 116) or feature (108, 110, 112) detected in the image captured by the camera (310), the associated information overlaying the configured version of the image without obscuring the object of interest (104). [8] The method of claim 1, wherein detecting the occurrence of the pivoting movement includes an increase in step count data collected by a pedometer (306) of the mobile device (102). [9] The method of claim 1, further comprising locking the dual-mode AR interface in the second AR mode in response to detecting a user-selected icon (212) in the display (106) of the mobile device (102). [10] A dual-mode AR interface of a mobile device, the dual-mode AR interface comprising: a first AR mode that displays, via a display (106) of the mobile device (102), video of the object of interest (104) generated with a camera (310) of the mobile device (102), and a second AR mode presented via the user interface in response to detecting an absence of the panning movement, the second AR mode being different from and presented in place of the first AR mode, the second AR mode presenting, via a display (106) of the mobile device (102), an image of the object of interest (104) captured by the camera (310) of the mobile device (102), the mobile device (102) being configured to detect the absence of the panning movement as follows: Determining speed values ​​in the X-axis direction, in the Y-axis direction and in the Z-axis direction of the mobile device; Determining a rotation speed about the X-axis, a rotation speed about the Y-axis and a rotation speed about the Z-axis of the mobile device; Determining that the speed values ​​associated with either the X-axis or the Y-axis of the mobile device (102) are not greater than the speed values, associated with the Z-axis of the mobile device (102); Detecting that the rotational speed values ​​associated with the Z-axis of the mobile device (102) are not greater than the rotational speed values ​​associated with the X-axis and the Y-axis of the mobile device (102); and Detecting that the rotation speed values ​​associated with the X-axis, the Y-axis, and the Z-axis of the mobile device (102) do not exceed rotation speed thresholds, respectively. [11] The dual-mode AR interface of claim 10, wherein the first AR mode is a search mode associated with the object of interest (104), and the second AR mode is a learning mode associated with the object of interest (104). [12] The dual-mode AR interface of claim 11, wherein the second AR mode is to be presented via the user interface (324) in response to detecting an occurrence of a zoom movement of the mobile device (102) concurrently with the absence of the panning movement. [13] The dual-mode AR interface of claim 11, wherein detecting the presence of the pivoting movement or detecting the absence of the pivoting movement is based on data obtained from at least one of the accelerometers (302), gyroscopes (304), or pedometers (306) of the mobile device (102). [14] The dual-mode AR interface of claim 11, wherein the first AR mode of the dual-mode AR interface, when displayed, is to include a layout, the layout comprising: the video recorded by the camera (310) of the mobile device (102); and associated information in connection with a marker (114, 116) or a feature (108, 110, 112) detected in the video, the associated information overlaying the video. [15] The dual-mode AR interface of claim 11, wherein the second AR mode of the dual-mode AR interface for augmented reality (328), when displayed, includes an optimized layout, the optimized layout comprising: a configured version of the image captured by the camera (310) of the mobile device (102), the configured version of the image including at least one of a modified size or a modified position of the object of interest (104) relative to a size or a position of the object of interest (104) within the image captured by the camera (310) is modified; and associated information corresponding to a marker (114, 116) or feature (108, 110, 112) detected in the image captured by the camera (310), the associated information overlaying the configured version of the image without obstructing the object of interest (104). [16] The dual-mode AR interface of claim 11, wherein detecting the occurrence of the pivoting movement includes detecting an increase in the step count detected by a pedometer (306) of the mobile device (102). [17] The dual-mode AR interface of claim 11, wherein the mobile device (102) display (106) of the second AR mode includes a user-selectable icon (212) that, when selected, locks the dual-mode AR interface in the second AR mode. [18] Non-transitory, machine-readable storage medium comprising instructions that, when executed, cause a processor to do at least the following: Displaying a first AR mode of a dual-mode AR interface of a mobile device (102) via a user interface (324) of the mobile device (102) in response to detecting an occurrence of a panning movement of the mobile device, wherein the first AR mode displays video of the object of interest (104) via a display (106) of the mobile device (102), the video being captured with a camera (310) of the mobile device (102); and Presenting a second AR mode of the dual-mode AR augmented reality interface (328) via the user interface (324) in response to detecting an absence of the panning movement, the second AR mode being different from and presented in place of the first AR mode, the second AR mode presenting, via a display (106) of the mobile device (102), an image of the object of interest (104) captured by the camera (310) of the mobile device (102), wherein detecting the absence of the panning movement comprises: Determining speed values ​​in the X-axis direction, in the Y-axis direction and in the Z-axis direction of the mobile device; Determining a rotation speed about the X-axis, a rotation speed about the Y-axis and a rotation speed about the Z-axis of the mobile device; Determining that the speed values ​​associated with either the X-axis or the Y-axis of the mobile device (102) are not greater than the speed values ​​associated with the Z-axis of the mobile device (102); Detecting that the rotational speed values ​​associated with the Z-axis of the mobile device (102) are not greater than the rotational speed values ​​associated with the X-axis and the Y-axis of the mobile device (102); and Detecting that the rotation speed values ​​associated with the X-axis, the Y-axis, and the Z-axis of the mobile device (102) do not exceed rotation speed thresholds, respectively. [19] The non-transitory machine-readable storage medium of claim 18, wherein the first AR mode is a search mode associated with the object of interest (104) and the second AR mode is a learn mode associated with the object of interest (104). [20] The non-transitory machine-readable storage medium of claim 19, wherein the instructions, when executed, further cause the processor to present the second AR mode via the user interface in response to detecting the occurrence of a zooming movement of the mobile device (102) in the absence of the panning movement. [21] The non-transitory machine-readable storage medium of claim 19, wherein detecting the presence of the pivoting movement or detecting the absence of the pivoting movement is based on data obtained from at least one of an accelerometer (302) of the mobile device (102), a gyroscope (304) of the mobile device (102), or a pedometer (306) of the mobile device (102). [22] The non-transitory machine-readable storage medium of claim 19, wherein the first AR mode of the dual-mode AR augmented reality interface (328), when displayed, includes a layout, the layout comprising: Video captured by the camera (310) of the mobile device (102); and associated information corresponding to a marker (114, 116) or feature (108, 110, 112) detected in the video, the associated information overlaying the video. [23] The non-transitory machine-readable storage medium of claim 19, wherein the second AR mode of the dual-mode AR augmented reality interface (328), when displayed, includes an optimized layout, the optimized layout comprising: a configured version of an image captured by the camera (310) of the mobile device (102), the configured version of the image including at least one of a modified size or a modified position of the object of interest (104) modified relative to a size or a position of the object of interest (104) within the image captured by the camera (310); and associated information corresponding to a marker (114, 116) or feature (108, 110, 112) detected in the image captured by the camera (310), the associated information overlaying the configured version of the image without obstructing the object of interest (104). [24] The non-transitory machine-readable storage medium of claim 19, wherein detecting the occurrence of the pivoting movement includes detecting an increase in the step count determined by a pedometer (306) of the mobile device (102). [25] The non-transitory machine-readable storage medium of claim 19, wherein the instructions, when executed, further cause the processor to disable the dual-mode AR interface in the second AR mode in response to detecting a selection of a user-selectable icon (212) in the display (106) of the mobile device (102). [26] Method comprising: Presenting a first AR mode of a dual-mode AR interface via a user interface of a mobile device (102) in response to detecting an occurrence of a panning movement of the mobile device, wherein the first AR mode presents video of the object of interest (104) via a display (106) of the mobile device (102), the video being captured with a camera (310) of the mobile device (102); and Presenting a second AR mode of the dual-mode AR interface via the user interface in response to detecting an absence of the panning movement, the second AR mode being different from and presented in place of the first AR mode, the second AR mode presenting, via a display (106) of the mobile device (102), an image of the object of interest (104) captured by the camera (310) of the mobile device (102), wherein detecting the absence of the panning movement comprises: Determining speed values ​​in the X-axis direction, in the Y-axis direction and in the Z-axis direction of the mobile device; Determining a rotation speed about the X-axis, a rotation speed about the Y-axis and a rotation speed about the Z-axis of the mobile device; Determining that the speed values ​​associated with either the X-axis or the Y-axis of the mobile device (102) are not greater than the speed values ​​associated with the Z-axis of the mobile device (102); Detecting that the rotational speed values ​​associated with the Z-axis of the mobile device (102) are not greater than the rotational speed values ​​associated with the X-axis and the Y-axis of the mobile device (102); and Detecting that the rotation speed values ​​associated with the X-axis, the Y-axis, and the Z-axis of the mobile device (102) do not exceed rotation speed thresholds, respectively. [27] A dual-mode AR interface of a mobile device, the dual-mode AR interface comprising: A first AR mode to be presented via the user interface of the mobile device (102) in response to detecting an occurrence of a panning movement of the mobile device, wherein the first AR mode presents video of the object of interest (104) via a display (106) of the mobile device (102), the video being captured by a camera (310) of the mobile device (102); and A second AR mode to be presented via the user interface in response to detecting an absence of the panning movement, the second AR mode being different from and presented in place of the first AR mode, the second AR mode presenting via a display (106) of the mobile device (102) an image of the object of interest (104) captured by the camera (310) of the mobile device (102), wherein detecting the absence of the panning movement comprises: Determining speed values ​​in the X-axis direction, in the Y-axis direction and in the Z-axis direction of the mobile device; Determining a rotation speed about the X-axis, a rotation speed about the Y-axis and a rotation speed about the Z-axis of the mobile device; Determining that the speed values ​​associated with either the X-axis or the Y-axis of the mobile device (102) are not greater than the speed values ​​associated with the Z-axis of the mobile device (102); Detecting that the rotational speed values ​​associated with the Z-axis of the mobile device (102) are not greater than the rotational speed values ​​associated with the X-axis and the Y-axis of the mobile device (102); and Detecting that the rotation speed values ​​associated with the X-axis, the Y-axis, and the Z-axis of the mobile device (102) do not exceed rotation speed thresholds, respectively. [28] Non-transitory machine-readable storage medium containing instructions which, when executed, cause the processor to at least: Displaying a first AR mode of a dual-mode AR interface of a mobile device (102) via a user interface of the mobile device (102) in response to detecting an occurrence of a panning movement of the mobile device (102), wherein the first AR mode displays video of the object of interest (104) via a display (106) of the mobile device (102), the video being captured with a camera (310) of the mobile device (102); and Presenting a second AR mode of the dual-mode AR interface via the user interface in response to detecting an absence of the panning movement, the second AR mode being different from and presented in place of the first AR mode, the second AR mode presenting, via a display (106) of the mobile device (102), an image of the object of interest (104) captured by the camera (310) of the mobile device (102), wherein detecting the absence of the panning movement comprises: Determining speed values ​​in the X-axis direction, in the Y-axis direction and in the Z-axis direction of the mobile device; Determining a rotation speed about the X-axis, a rotation speed about the Y-axis and a rotation speed about the Z-axis of the mobile device; Determining that the speed values ​​associated with either the X-axis or the Y-axis of the mobile device (102) are not greater than the speed values ​​associated with the Z-axis of the mobile device (102); Detecting that the rotational speed values ​​associated with the Z-axis of the mobile device (102) are not greater than the rotational speed values ​​associated with the X-axis and the Y-axis of the mobile device (102); and Detecting that the rotation speed values ​​associated with the X-axis, the Y-axis, and the Z-axis of the mobile device (102) do not exceed rotation speed thresholds, respectively.

Citation Information

Patent Citations

  • Switching between a first operational mode and a second operational mode using a natural motion gesture

    US20120324213A1

  • Touch Free Interface for Augmented Reality Systems

    US20140361988A1

  • Transparent display device and control method thereof

    US20160035138A1

  • Method and system for presenting information via a user interface

    US20160189405A1

  • Methods for real-time navigation and display of virtual worlds

    US8872854B1