Determination of augmented reality information

Systems and methods may provide for obtaining or implementing augmented reality information. A logic architecture may be employed to detect a low acceleration condition with respect to an image capture device. The logic architecture may select data from a video associated with the image capture device in response to the low acceleration condition. The logic architecture may also use the data to obtain augmented reality information for the video. Additionally, the logic architecture may modify the video with the augmented reality information, or may display the video with the augmented reality information.

BACKGROUND

Embodiments generally relate to determining or implementing augmented reality (AR) information. More particularly, embodiments relate to detecting an acceleration condition with respect to an image capture device and selecting data from a video associated with the image capture device, in response to the acceleration condition, to obtain AR information for the video. Embodiments also relate to modifying the video based on the AR information.

AR information may be obtained or used to modify a video associated with an image capture device. Obtaining the AR information, however, may require overly complex processes, such as calculating motion vectors to discover differences between successive frames of the video. Moreover, obtaining the AR information may include processes that may cause inaccurate results, such as sending video frames at regular time intervals for analysis. Also, obtaining the AR information may require that a substantial amount of data, such as every frame of the video, be continuously transmitted for analysis. Therefore, there may be unnecessary utilization of resources, such as processor utilization, power utilization, bandwidth utilization, and so on.

DETAILED DESCRIPTION

FIG. 1Ashows an approach to obtain augmented reality (AR) information. In the illustrated example, an apparatus12includes a screen14, a front-facing camera16, and a rear-facing camera18. The apparatus12may include any video display platform such as a laptop, personal digital assistant (PDA), wireless smart phone, media content player, imaging device, mobile Internet device (MID), any smart device such as a smart phone, smart tablet, smart TV, projector, eye glasses (e.g., goggles), and so on, or combinations thereof. The rear-facing camera18may capture a video of a real object20, which is in the visual field of the apparatus12, and a user10is able to observe the real object20on the screen14. The video may be rendered in real-time, may be stored for viewing at a later time, or combinations thereof.

As the apparatus112approaches the real object20, there is a high acceleration condition with respect to the apparatus12. A sensor of the apparatus12, such as an accelerometer, may detect the high acceleration condition and although the real object20is presented to the user10on the screen14, no AR information is provided. When the user10pauses to observe the real object20, there is a transition from the high acceleration condition to a low acceleration condition with respect to the apparatus12. In one embodiment, detecting the low acceleration condition may be based on exceeding a threshold value, such as an acceleration threshold value, a classification threshold value, and so on, or combinations thereof.

Data may be automatically selected in response to the low acceleration condition. For example, the data may be automatically selected based on a predetermined period during the low acceleration condition. In one embodiment, the data includes a feature of the real object20, an image of the real object20, a single frame of the video including the real object20, and so on, or combinations thereof. In addition, the data may be extracted from the video and used to obtain AR information about the video, such as information about the real object20. For example, the data may be used to identify the real object20in the video, to identify information related to the real object20in the video, and so on, and combinations thereof. Moreover, the data may be analyzed at the apparatus12, may be communicated to a remote apparatus (e.g., remote server) to analyze the data, or combinations thereof. In the illustrated approach, AR information24is obtained that includes information associated with the real object20and is presented in the video with the real object20to the user10on the screen14in response to the low acceleration condition.

FIG. 1Bshows another approach to obtain AR information. In the illustrated approach, either one or both of the apparatus12and the real object20are moving with respect to each other, and the accelerometer of apparatus12detects the high acceleration condition with respect to the apparatus12. When the apparatus12and the real object20pass each other, the front-facing camera16or the rear-facing camera18captures the video of the real object20as it traverses the visual field of the apparatus12. The video may be stored for viewing at a later time. When the user10pauses, for example to retrieve the video from storage, there is a transition from the high acceleration condition to a low acceleration condition with respect to the apparatus12, and data from the video is automatically selected in response to the low acceleration condition. In the illustrated approach, AR information24is obtained that includes information associated with the real object20and is presented in the video with the real object20to the user10on the screen14in response to the low acceleration condition.

Turning now toFIG. 2, a method102to obtain AR information is shown. The method102may be implemented as a set of logic instructions and/or firmware stored in a machine- or computer-readable storage medium such as random access memory (RAM), read only memory (ROM), programmable ROM (PROM), flash memory, etc., in configurable logic such as, for example, programmable logic arrays (PLAs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), in fixed-functionality logic hardware using circuit technology such as, for example, application specific integrated circuit (ASIC), CMOS or transistor-transistor logic (TTL) technology, or any combination thereof. For example, computer program code to carry out operations shown in the method102may be written in any combination of one or more programming languages, including an object oriented programming language such as C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. Moreover, the method102could be implemented using any of the aforementioned circuit technologies.

Illustrated processing block126provides for detecting an acceleration condition, such as a low acceleration condition, with respect to an image capture device. The image capture device may include any platform, such as a laptop, PDA, wireless smart phone, media content player, imaging device, MID, any smart device such as a smart phone, smart tablet, smart TV, projector, eye glasses (e.g., goggles), and so on, or combinations thereof. In addition, the image capture device may include a sensor, such as a camera. The detection may be accomplished at any stage or component of the video pipeline, including a sensor, operating system, application, and so on, or combinations thereof. For example, a motion sensor (e.g., accelerometer) may detect the low acceleration condition. Moreover, the motion sensor may detect a transition between the low acceleration condition and a high acceleration condition, for example from the high acceleration condition to the low acceleration condition. Also, the motion sensor may detect the low acceleration condition based on a threshold value, such as an acceleration threshold value, a classification threshold value, or combinations thereof.

Illustrated processing block128provides for selecting data from a video associated with the image capture device in response to the acceleration condition, such as the low acceleration condition. The data may include a feature of any portion of the video. For example, the feature may be of a real object in the video, such as a feature of a person (e.g., facial recognition). Features may be determined by using any process, such as the scale invariant feature transform (SIFT), the compressed histogram of gradients (CHoG) descriptor, and so on, or combinations thereof. In addition, the data may include an image of the real object in the video, a frame of the video, and so on, or combinations thereof. The video or the data may include any format, such as joint photographic experts group format (JPEG), graphics interchange format (GIF), tagged image file format (TIFF), raw image file format (RAW), moving picture experts group format (MPEG), windows media video format (WMV) format, and so on, or combinations thereof.

The data may be selected at any stage or component of the video pipeline, including a sensor, network interface component, memory, storage, hard disk, operating system, application, and so on, or combinations thereof. For example, the data may be selected from the video when the video is received or accessible at any stage or component of the video pipeline, such as memory. In addition, the data may be automatically selected based on a predetermined period during the acceleration condition, such as during the low acceleration condition. Moreover, the data may be extracted at any stage or component of the video.

The data may be communicated to a remote processor, apparatus, system, and so on, or combinations thereof. For example, a network interface component may provide communication functionality for a wide variety of purposes, such as cellular telephone (e.g., W-CDMA (UMTS), CDMA2000 (IS-856/IS-2000), etc.), WiFi (e.g., IEEE 802.11, 1999 Edition, LAN/MAN Wireless LANS), Bluetooth (e.g., IEEE 802.15.1-2005, Wireless Personal Area Networks), WiMax (e.g., IEEE 802.16-200.4, LAN/MAN Broadband Wireless LANS), Global Positioning Systems (GPS), spread spectrum (e.g., 900 MHz), and other radio frequency (RE) telephony purposes. In addition, the data may be stored or used in a local device relative to the user (e.g., a mobile device of the user).

Illustrated processing block130provides for using the data to obtain the AR information for the video. In one embodiment, the data may be analyzed to obtain the AR information. For example, the data may be identified. A feature of the video may be identified, an object in the video may be identified, an image of the video may be identified, a frame of the video may be identified, and so on, or combinations thereof. In addition, information related to the feature may be identified, information related to the object may be identified, information related to the image may be identified, information related to the frame may be identified, and so on, or combinations thereof. Any process may be used to analyze the data to obtain the AR information.

For example, a pair-wise feature-matching process may match a query image against a database image. The process may include performing a pair-wise comparison on a short list of candidates most likely to match the query image. Indexing of features may also include any process, such as using approximate nearest neighbor search of SIFT descriptors with a best-bin-first strategy, a BoF model using a BoF codebook constructed by a K-means clustering of a training set of descriptors, using a codebook constructed including a hierarchical k-means clustering to create a vocabulary tree (VT), using a locally-sensitive hashing process, using any other tree-based processes, and so on.

A geometric verification process may also be used to analyze the data. For example, feature location information in the query image and the database image may be used to confirm that feature matches are consistent with a change in view point between the two images. Any process may be used to perform geometric verification. For example, a regression process such as random sample consensus may be used, checks based on feature-orientation information may be used, re-ranking before the regression process may be used, and so on.

The AR information may be obtained from the analysis of the data. For example, there may not be any identifying information in selected data (e.g., a query image) of a CD cover. The AR information may be obtained from a pair-wise comparison of the query image and a database image. For example, viewing a CD cover may cause the pair-wise comparison to identify the CD cover, and to determine information related to the CD such as the copyright, release date, author, title, and so on, or combinations thereof. The information may be determined from the same database performing the matching process, or may be determined from another database such as an Internet server database.

The illustrated method102also provides for implementing the AR information. For example, illustrated processing block132provides for modifying the video with the AR information. The video may be modified at any stage or component of the video pipeline, including a sensor, network interface component, memory, storage, hard disk, operating system, application, and so on, or combinations thereof. In addition, the video may be modified with the AR information when the AR information is determined. Moreover, the video may be modified with the AR information when the AR information is received, accessible, and so on, or combinations thereof. For example, the video may be modified when the AR information is received or accessible from a remote device, from a network interface component, from memory, from storage, and so on, or combinations thereof. The video may be modified to include the AR information in the video, for example by overlaying the AR information on a related real object in the video.

Illustrated processing block134provides for displaying the video with the AR information. The display device may be any platform, such as a laptop, PDA, wireless smart phone, media content player, imaging device, any smart device such as a smart phone, smart tablet, smart TV, projector, eye glasses (e.g., goggles), and so on, or combinations thereof. Accordingly, the modified video including the AR information may be presented to a user quickly, accurately, automatically, and so on, or combinations thereof.

FIG. 3shows a method202for obtaining AR information. The method202could be implemented using any of the herein mentioned technologies. The illustrated processing block238detects a low acceleration condition. A determination may be made at block240to determine if a video is associated with an image capture device. For example, the video may be presented by a display device including an image capture sensor (e.g., camera), may be selected for display (e.g., from storage, memory, etc.), and so on, or combinations thereof. If the video is not associated with the image capture device, detecting the low acceleration condition may be accomplished at a later time. If the video is associated with the image capture device, a determination may be made at block244to determine if there is a low acceleration condition with respect to the image capture device. If not, a determination may be made at block246to determine if a threshold value may be exceeded. For example, a determination may be whether an acceleration threshold value may be exceeded, whether a classification threshold value may be exceeded, or combinations thereof. If so, there may be a transition to the low acceleration condition. When there is a low acceleration condition with respect to the image capture device, or when there is a transition to the low acceleration condition, a selection of data from the video is made at processing block248, and the data is used at processing block250to obtain AR information.

Turning now toFIG. 4, an apparatus402includes a logic architecture454to obtain AR information. The logic architecture454may be generally incorporated into a platform such as a laptop, PDA, wireless smart phone, media player, imaging device, MID, any smart device such as a smart phone, smart tablet, smart TV and so on, projector, eye glasses (e.g., goggles), server, and so on, or combinations thereof. The logic architecture454may be implemented in an application, operating system, media framework, hardware component, or combinations thereof. The logic architecture454may be implemented in any component of the video pipeline, such as a network interface component, memory, processor, hard drive, operating system, application, and so on, or combinations thereof. For example, the logic architecture454may be implemented in a processor, such as central processing unit (CPU), a graphical processing unit (GPU), a visual processing unit (VPU), a sensor, an operating system, an application, and so on, or combinations thereof. The apparatus402may include a power source498, such as a battery, a power connector, and so on, or combinations thereof.

In the illustrated example, the logic architecture454includes a condition module456to detect an acceleration condition, such as a low acceleration condition, with respect to an image capture device. The condition module456may include an acceleration module458to detect a high acceleration condition, the low acceleration condition, and so on, or combinations thereof. The acceleration module458may also detect when an acceleration threshold value may be exceeded. The acceleration module458may also determine a transition, for example a transition to the low acceleration condition. In addition, the condition module456may include a classification module460to detect when a classification threshold value may be exceeded. In one embodiment, the classification module460may determine if the acceleration condition may remain constant for a period of time.

In the illustrated example, the logic architecture454includes a selection module462to select data from a video associated with the image capture device (e.g., sensor494), in response to the low acceleration condition, and wherein the data may be used to obtain AR information for the video. The selection module462may extract a feature from the video, a query image from the video, a frame from the video, and so on, or combinations thereof. The selection module462may select the data based on a predetermined period during the acceleration condition, such as during the low acceleration condition. For example, the data may be selected at the start of the low acceleration condition, after the start of the low acceleration condition, randomly between the start the low acceleration period and the classification threshold value, after the classification threshold value has been exceeded and before a transition to the high acceleration condition, and so on, or combinations thereof.

In the illustrated example, the logic architecture454also includes an analysis module464to analyze the data. The analysis module may include a data identity module466to identify a feature in the video, an object in the video, an image in the video, a frame in the video, and so on, or combinations thereof. For example, the data (e.g., a query image) may include a feature (e.g., a landmark) of a street, and the feature may be identified using a pair-wise comparison between the query image and an image in a database (e.g., database image). Other information may be used to identify the feature, including location information (e.g., GPS information), which may be used to identify the query image, may be used to choose the appropriate database image, and so on, or combinations thereof. The analysis module may also include a data information module468to identify information related to the data in the video. For example, information that describes the data (e.g., name of the landmark) may be identified from a local database, such as in storage490, or a remote database, such as in an online Internet server. In addition, the other information may be used to identify information related to the data in the video.

In the illustrated example, the logic architecture454also includes a communication module470to allow the logic architecture454to communicate with components, such as the storage490, the applications492, the sensor494, the display496, and so on, or combinations thereof. For example, the condition module456may directly communicate, or may use the communication module470to communicate, with the sensor494to detect an acceleration state. In addition, the select module462may directly communicate, or may use the communication module470to communicate with, the storage490to select the data. Moreover, the AR information obtained from the analysis module464may be directly communicated to the storage490, the applications492, the display496, etc., or may be communicated using the communication module470, such that the AR information may be presented with the video. In one embodiment, the communication module470may communicate, or be integrated, with a network interface component. While examples have illustrated separate modules, it is apparent that one or more of the modules of the logic architecture454may be implemented in one or more combined modules.

FIG. 5shows a block diagram of an example of a system502to obtain AR information. The system502may include a logic architecture554in combinations with other system components, such as a power supply598to supply power to the system502, a display596to present the video together with the AR information, image capture system594to provide video to the system502, system memory (not shown), mass storage (not shown), network interface component (not shown), and so on, or combinations thereof. In addition, the system502may include dedicated components to receive or process an image, such as a dedicated graphic component including dedicated graphics memory (not shown).

In the illustrated example, the system502includes a condition module556to detect an acceleration condition, such as a low acceleration condition, with respect to the image capture system592. The image capture system594may include camera, which may be connected with the display596. In addition, the system502includes a selection module562to select data from a video provided by the image capture system594, in response to the low acceleration condition. Moreover, the system502includes an analysis module564to analyze the data and obtain the AR information. Also, the system502includes a communication module570that communicates with other system components, such as the storage490, and with the remote system572. In one embodiment, the remote system572may include a database of images, for example to accomplish a pair-wise comparison. Any of the modules546,562,564, or570may also be included in the remote system572. In the illustrated example, the system502may present video, for example from the storage590, the image capture system594, and so on, that has been modified with the AR information.

Turning now toFIG. 6, a plot602of an example to obtain AR information based on a low acceleration condition with respect to an image capture device is shown. In the illustrated example, the plot602relates an accelerometer vector (G) that is associated with a platform to a temporal variable (e.g., time). The accelerometer vector (G) includes three dimensions (e.g., gx, gy, gz). The absolute value of the vector is obtained using the following computation:
G=√{square root over (gx2+gy2+gz2)}  (1)

When G is equal to zero (0), there may be a static state or constant velocity motion. G may be directly related to panning speed of an image capture device, which may be in transition between three states: static, burst motion, and non-regular motion. Since motion values may include noise, an acceleration threshold value (Ta) may be used to classify the video using a high acceleration condition674and a low acceleration condition676. For example, when sensor data (e.g., G) falls below the acceleration threshold value (Ta), the low acceleration condition676is declared for the image capture device. In addition, when sensor data does not fall below the acceleration threshold value (Ta), the high acceleration condition674is declared for the image capture device. Accordingly, the low acceleration condition676may be detected, a transition from the high acceleration condition674to the low acceleration condition676may be identified, and the video may be classified by relating the conditions674,676to portions of the video captured during the high acceleration condition674, the low acceleration condition676, and combinations thereof.

In addition, a run length time may be used to detect an acceleration condition. For example, a run length time may be measured for each low acceleration condition, which may represent the time that the acceleration condition remains constant. Accordingly, the condition (or video classification) may not change until, or unless, the run length time exceeds a classification threshold value (Tc). Thus, relatively rapid temporal oscillations in a detection of a condition may be suppressed. Moreover, using a motion sensor (e.g., accelerometer) to determine differences in a motion vector (e.g., G) between a current movement and a previous movement may allow for the selection or transmission of data (e.g., a query frame) to be accomplished when the differences exceed a predefined threshold. Similarly, when the differences between the motion vectors are relatively small, no frames are required to be selected or transmitted.

The data may be selected based on a predetermined period during an acceleration condition. For example, the data may be selected at the start of every time there is the low acceleration condition676, randomly selected in a period in the low acceleration condition676from the start time (e.g., 0 seconds), from the beginning of a transition (Tt) into the low acceleration condition676, for a period between the beginning of the transition (Tt) to the classification threshold value (Tc), between the classification threshold value (Tc) and a transition to the high acceleration threshold (e.g., at Ta), and so on, or combinations thereof. Accordingly, an average query frame between approximately 50 Kb and 60 Kb, for a 640×480 size image, may be quickly transmitted. In one embodiment, a frame such as a JPEG compressed viewfinder frame, may be selected or transmitted. Moreover, there may be relatively low computation cost or power usage, as well as maximized accuracy due to relatively low/still motion classification associated with a user attention model.

FIG. 7shows a block diagram of an example of a system702including a flow to obtain AR information, to modify a video stream773, based on a low acceleration condition. In the illustrated example, the system702detects a high acceleration condition774and a low acceleration condition776, and relates the conditions774,776to respective portions of the video stream773. Data (e.g., a query frame) of the video stream773in the low acceleration condition776is selected based on a predetermined period during the low acceleration condition776, such as when a classification threshold value (Tc) is exceeded. The data (e.g., the query frame) is extracted at data extract777. The data may be encoded at frame encode778, and forwarded to a remote processor, apparatus, system, and so on, or combinations thereof. In one embodiment, the data is forwarded to a remote image database server. Where the data is forwarded, it may be decoded at frame decode779and then used to obtain AR information at identify operation780. Moreover, the data may directly be employed after the data extract777to obtain AR information at an identify operation780.

The data may be used to modify the video stream773with the AR information. When the data is extracted at the data extract777and directly used to obtain identification information at identify operation780, the AR information may be forwarded directly to information insert operation784. When the data is forwarded to a remote location, the AR information may modify the data (e.g., query image) at a modify operation781, and the modified data (e.g., modified query image) may be encoded at frame encode782. The modified data may be decoded at frame decode783, and forwarded to information insert784. At the information insert784, the AR information from the identify operation780may be inserted into the original frame in the video stream773, the original frame may be replaced with the modified frame from the modify operation781in the video stream773, or combinations thereof may be provided. Moreover, the AR information may be stored for later use. Similarly, identified features, objects, images, and so on, may be inserted at information insert784corresponding to the data selected or extracted at data extract777, to the identify operation781, to the modify operation at782, the information insert784, and so on, or combinations thereof.

FIG. 8also illustrates a memory270coupled to the processor200. The memory270may be any of a wide variety of memories (including various layers of memory hierarchy) as are known or otherwise available to those of skill in the art. The memory270may include one or more code213instruction(s) to be executed by the processor200core, wherein the code213may implement the logic architecture454(FIG. 4) or the logic554(FIG. 5), already discussed. The processor core200follows a program sequence of instructions indicated by the code213. Each instruction may enter a front end portion210and be processed by one or more decoders220. The decoder220may generate as its output a micro operation such as a fixed width micro operation in a predefined format, or may generate other instructions, microinstructions, or control signals which reflect the original code instruction. The illustrated front end210also includes register renaming logic225and scheduling logic230, which generally allocate resources and queue the operation corresponding to the convert instruction for execution.

Although not illustrated inFIG. 8, a processing element may include other elements on chip with the processor core200. For example, a processing element may include memory control logic along with the processor core200. The processing element may include I/O control logic and/or may include I/O control logic integrated with memory control logic. The processing element may also include one or more caches.

Referring now toFIG. 9, shown is a block diagram of a system embodiment1000in accordance with an embodiment of the present invention. Shown inFIG. 9is a multiprocessor system1000that includes a first processing element1070and a second processing element1080. While two processing elements1070and1080are shown, it is to be understood that an embodiment of system1000may also include only one such processing element.

Each processing element1070,1080may include at least one shared cache1896. The shared cache1896a,1896bmay store data (e.g., instructions) that are utilized by one or more components of the processor, such as the cores1074a,1074band1084a,1084b, respectively. For example, the shared cache may locally cache data stored in a memory1032,1034for faster access by components of the processor. In one or more embodiments, the shared cache may include one or more mid-level caches, such as level 2 (L2), level 3 (L3), level 4 (L1), or other levels of cache, a last level cache (LLC), and/or combinations thereof

The first processing element1070and the second processing element1080may be coupled to an I/O subsystem1090via P-P interconnects1076,1086and1084, respectively. As shown inFIG. 9, the I/O subsystem1090includes P-P interfaces1094and1098. Furthermore, I/O subsystem1090includes an interface1092to couple I/O subsystem1090with a high performance graphics engine1038. In one embodiment, bus1049may be used to couple graphics engine1038to I/O subsystem1090. Alternately, a point-to-point interconnect1039may couple these components.

As shown inFIG. 9, various I/O devices1014such as the screen14(FIGS. 1A and 1B), the display496(FIG. 4) or the display596(FIG. 5) may be coupled to the first bus1016, along with a bus bridge1018which may couple the first bus1016to a second bus1010. In one embodiment, the second bus1020may be a low pin count (LPC) bus. Various devices may be coupled to the second bus1020including, for example, a keyboard/mouse1012, communication device(s)1026(which may in turn be in communication with a computer network), and a data storage unit1018such as a disk drive or other mass storage device which may include code1030, in one embodiment. The code1030may include instructions for performing embodiments of one or more of the methods described above. Thus, the illustrated code1030may implement the logic architecture454(FIG. 4) or the logic architecture554(FIG. 5) and could be similar to the code213(FIG. 8), already discussed. Further, an audio I/O1024may be coupled to second bus1020.

Note that other embodiments are contemplated. For example, instead of the point-to-point architecture ofFIG. 9, a system may implement a multi-drop bus or another such communication topology. Also, the elements ofFIG. 9may alternatively be partitioned using more or fewer integrated chips than shown inFIG. 9.

Embodiments may include a computer-implemented method in which AR information may be obtained. The computer-implemented method may include detecting an acceleration condition with respect to an image capture device. The acceleration condition may include a low acceleration condition, a high acceleration condition, or combinations thereof. The detecting may include identifying a transition between a high acceleration condition to the low acceleration condition. The detecting may be based on an acceleration threshold value, a classification threshold value, or combinations thereof.

The computer-implemented method may also include selecting data from a video associated with the image capture device in response to the acceleration condition, for example in response to the low acceleration condition. The data may include a feature, a query image, and so on, or combinations thereof. The selecting may include extracting the feature from the video, the query image from the video, or combinations thereof. The selecting may be based on a predetermined period during the acceleration condition, such as during the low acceleration condition. The computer-implemented method may further include using the data to obtain AR information for the video. The computer-implemented method may also include modifying the video with the AR information, displaying the video with the AR information, or combinations thereof.

Embodiments may also include a computer-readable storage medium having a set of instructions, which, if executed by a processor, may cause a processor to obtain AR information. The instructions, if executed, may cause a processor to detect an acceleration condition, such as a low acceleration condition, with respect to an image capture device. The instructions, if executed, may cause a processor to identify a transition between a high acceleration condition and the low acceleration condition. The instructions, if executed, may cause a processor to detect the acceleration condition, such as the low acceleration condition, based on an acceleration threshold value, a classification threshold value, or combinations thereof.

The instructions, if executed, may cause a processor to select data from a video associated with the image capture device in response to the low acceleration condition. The instructions, if executed, may cause a processor to extract a feature from the video, a query image from the video, or combinations thereof. The instructions, if executed, may cause a processor to select the data based on a predetermined period during the low acceleration condition. The instructions, if executed, may cause a processor to communicate the data to a remote processor to obtain the AR information. The instructions, if executed, may cause a processor to modify the video based on the augmented reality information, display the video with the augmented reality information, or combinations thereof.

Embodiments may also include an apparatus having logic to obtain AR information. The apparatus may include a condition module to detect an acceleration condition, such as a low acceleration condition, with respect to an image capture device. The condition module may include an acceleration module to detect a high acceleration condition, the low acceleration condition, when an acceleration threshold value may be exceeded, or combinations thereof. The acceleration module may identify a transition between the low acceleration condition and the high acceleration condition. The condition module may include a classification module to detect when a classification threshold value may be exceeded.

The apparatus may include a selection module to select data from a video associated with the image capture device in response to the low acceleration condition, wherein the data may be used to obtain AR information for the video. The selection module may extract a feature from the video, a query image from the video, or combinations thereof. The selection module may select the data based on a predetermined period during an acceleration condition, such as the low acceleration condition.

The apparatus may include an analysis module to analyze the data. The analysis module may include a data identity module to identify data in the video, a data information module to identify information related to the data in the video, or combinations thereof. The apparatus may include a communication module to communicate the data to a remote apparatus to obtain the AR information. The apparatus may include a display to present the video with the AR information.

Embodiments may also include a system having logic to obtain AR information. The system may include a condition module to detect an acceleration condition, such as a low acceleration condition, with respect to an image capture device. The condition module may include an acceleration module to detect a high acceleration condition, the low acceleration condition, when an acceleration threshold value may be exceeded, or combinations thereof. The acceleration module may identify a transition between the low acceleration condition and the high acceleration condition. The condition module may include a classification module to detect when a classification threshold value may be exceeded.

The system may include a selection module to select data from a video associated with the image capture device in response to the low acceleration condition, wherein the data may be used to obtain AR information for the video. The selection module may extract a feature from the video, a query image from the video, or combinations thereof. The selection module may select the data based on a predetermined period during an acceleration condition, such as the low acceleration condition.

The system may include an analysis module to analyze the data. The analysis module may include a data identity module to identify data in the video, a data information module to identify information related to the data in the video, or combinations thereof. The system may include a communication module to communicate the data to a remote apparatus to obtain the AR information.

The system may include logic in combination with a system component, such as a power supply, a user interface, image capture system, system memory, network interface component, and so on, or combinations thereof. Moreover, the system may include a sensor, such as a motion sensor. The system may include a display to present the video with the AR information. The system may include storage to store the video, the data, the augmented reality information, or combinations thereof. The data may include an image of an object in the video, which may be presented with the AR information after the object is outside of a visual field of the image capture device.

The term “coupled” may be used herein to refer to any type of relationship, direct or indirect, between the components in question, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections. In addition, the terms “first”, “second”, etc. may be used herein only to facilitate discussion, and carry no particular temporal or chronological significance unless otherwise indicated. Additionally, it is understood that the indefinite articles “a” or “an” carries the meaning of “one or more” or “at least one”.