Geo-location technologies such as GPS (Global Positioning System) may be used by smart phones and other GPS-equipped devices to obtain content on locations of interest to a user of that device based on the user's geographic location. In some applications, images selected by the user may be analyzed for their content in order to determine their identity. Such image analysis, however, may be computationally demanding and may remain prone to error. These challenges may hinder the development of content delivery based on geo-location technology.
The various advantages of the embodiments will become apparent to one skilled in the art by reading the following specification and appended claims, and by referencing the following drawings, in which:
Various geo-location technologies exist to enable one to determine the location of a location aware device. A location aware device may be any device that has the capability of making use of geo-location technology to locate the device on a map or in a coordinate system. Examples of such technologies include those based on Global Positioning Systems (GPSs), such as are now in widespread use in smart phones; radar; sonar; indoor GPS systems; near-field communication (NFC); cellular tower triangulation systems; Wi-Fi and Wi-Fi triangulation systems; Radio Frequency Identification systems (RFID); laser positioning systems; and Bluetooth systems, which are used primarily in localized settings.
These technologies may be employed by location aware devices. Examples of devices with such capabilities include tablets, notebook computers, smart phones, smart glasses, image capture devices, mobile internet devices (MIDs), game console, media players etc. More broadly, a location aware device may be any device that is aware of its location with respect to a coordinate system. It may have the ability to transmit its location or data determinative of its location to another device or to a system, which may be local to it or more distant, such as in the cloud. That coordinate system may be defined in some local space, such as a room or building, or it may cover wide swaths of the planet, such as GPS. It may be based on any known mathematical system, including Cartesian coordinates, cylindrical coordinates, spherical coordinates etc. With respect to GPS, which is amenable for use with embodiments disclosed herein, the coordinates are latitude, longitude, and altitude. While most of the embodiments here are described in terms of GPS, it is understood that embodiments may utilize these other systems or other mathematically acceptable coordinate system.
At present, GPS is the most widely used of these systems. Although initially developed for the military and made available for civilian use only with hobbled capabilities, GPS is now available with a geographic resolution that is generally accurate within several meters and improving. GPS capabilities are now tightly woven into smart phones, and provide latitude and longitude measurements by which users of these devices locate themselves on city maps. Less well known may be that GPS systems may also provide altitude information. Hence, a GPS is an example of a geo-location system that is capable of locating the user by latitude, longitude, and altitude. Also, GPS accuracy may be enhanced by use of supplemental systems such as various ground-based augmented GPS systems. One such system, Nationwide Differential GPS System (NDGPS), offers accuracy to within 10 cm. Altitude measurements may be augmented by use of barometric pressure sensors and other devices available for measuring altitude. Alternatively, altitude may be determined via triangulation devices and by using Wi-Fi access points, which have been used to determine the particular floor of a multi-story building that a user may be in.
GPS location may also form the origin of a locally defined three dimensional (3D) coordinate system.
Many location aware devices may now be equipped with hardware that enables them to determine their orientation as well as position. For example, smart phones may now be equipped with an accelerometer, gyroscope and a magnetometer, and with the sensor data provided by these components, the direction in which the device is oriented may be determined using basic vector mechanics and for example, well known techniques employed in smart phone design.
The embodiments disclosed herein make use of geo-location technology to provide the user of a location aware device pointing in a particular direction with content associated with that direction, as shall be explained further below.
As used herein, the term “geo-pane” may refer to a two dimensional pane of space and the virtual frame, known as a “geo-frame,” that bounds it. A geo-pane may be defined by its coordinates, and these coordinates may be taken at whatever location on the geo-frame is most appropriate. One simple example of a two dimensional (2D) geo-pane is shown in
A geo-pane may also be three dimensional volume of space, such as a cube 12 (
A geo-fence may be a virtual fence in which GPS or other positioning system is used to define the boundaries of some physical space. It may be two dimensional, in that it is defined in terms of ground coordinates only, or it may be bounded above and below and be three dimensional. A geo-fence may be of any bounded shape. A geo-fence may be used to define a region of space that contains a 2D or 3D geo-pane, and it may be associated with a 2D or a 3D geo-pane whether or not the geo-pane is located inside the geo-fence.
Geo-panes may be defined by location aware devices. For example, the 2D geo-pane of
Once defined, a geo-pane may be regarded as property, having an owner to whom it is registered in a database. Alternatively, it may be dedicated to the public, or subject to an open license for use by others. Ownership of the geo-pane may be separate from ownership of any real object within its coordinates, or they may be bundled together.
The process of defining and using geo-panes according to one embodiment is illustrated at a top-level form in
This same technique may also be used to define geo-fences. A geo-fence may contain one or more geo-panes, either 2D or 3D, or be associated with a geo-pane that it does not contain. As with geo-panes, a geo-fence may be registered in the cloud to an owner.
Within the cloud 200, the creator/owner of the geo-pane may also provide downloadable content to be associated with that particular geo-pane. The content may take any form that may be made use of by the accessing location aware device, including text, video, music, narration, images, graphics, software, firmware, email, web pages, applications, e-services, voice, data, etc. It may be offered free of charge, or for a fee.
As noted above, in addition to obtaining its location in space, a location aware device may, using an internal/embedded accelerometer, gyroscope, magnetometer, etc., also establish its orientation in space. That is to say, taking the location of the device as an origin, the direction of orientation may be defined. In the example of
More generally, device orientation will normally be determined in terms appropriate to the physical nature of the location aware device in question. Where the device is a camera or other optical device, one natural way of defining the orientation is to look to the orientation of the optical path as seen through the view finder. Recently, so-called “smart glasses” have been developed (such as those marketed by Google®). It is natural to define the orientation of such a device as the direction of the user's gaze when wearing them and looking at some location or object of interest. Other devices where there may be some preferred direction of orientation (which for lexicographical compactness is called “gaze” herein regardless of the device in question) are smart watches, wearables, helmet mounted devices, and smart phones where the user chooses to define some orientation. A wand might be adapted to include GPS, and then by pointing the wand in a specific direction one defines a gaze for the wand. Similarly, a game controller may be designed to have a gaze.
The operation of one embodiment is further addressed by way of reference to the flow chart 300 in
At start processing block 310, the user initiates a request for information on something the user sees. This may or may not correspond to a known geo-pane for which content exists. Typically, the user will initiate a request because the context of the user's location suggests that such information may be available through his or her directed gaze. At illustrated block 320, the GPS coordinates as well as the orientation of gaze are forwarded to the cloud, where a database (which may be resident in the geo-pane registration server 202 of
If the user's GPS coordinates are inside a known geo-fence, then the system may calculate in block 340 whether the gaze points to a geo-pane associated with the area inside the geo-fenced area. If it does, then in block 350 the content associated with that geo-pane may be downloaded to the user's device.
Should it be determined in illustrated block 330 that the user is not inside a geo-fenced area, or, in illustrated block 340, that he is but that there is no content available within it to match his gaze, then at block 360 it may be determined whether the user's gaze is pointing to any geo-pane, no matter the distance. If it is not, then there is nothing to download and the process may terminate at block 380 until it is invoked again, either by the user manually invoking it or automatically through the movement of the user some predefined distance.
On the other hand, if it is determined in block 360 that any geo-panes may be identified as being in line with the user's gaze, certain distance rules may be brought into play at block 370. The user may be free to define for the system the effective range of his gaze. For example, he may only be interested in geo-panes that are within five meters of his position. Or he may select a greater distance, out to his effective horizon or beyond. Alternatively, the owner of the geo-pane may have set up the registration of his geo-pane with a set of rules so that content is delivered only to those devices that are within a certain predetermined distance of the location of the geo-pane. Alternatively, the distance may be undefined by either party, and subject to rules determined by default to system rules in the cloud or the location aware device. If the distance rules are met, then the content is delivered to the device at block 350. Otherwise, the process again terminates until the user moves some distance or manually requests a new search for content.
While the previous embodiment employs geo-fencing, according to another embodiment geo-fencing is not used. In this embodiment, the flow chart by-passes blocks 330 and 340. The device GPS coordinates and gaze direction may be obtained at block 320, and it may be determined at block 360 whether the gaze direction intercepts a geo-pane. If it does and if any defined distance limitations are met, then the content associated with the geo-pane may be downloaded to the device at block 350 as before.
The illustrated arrangement may be, insofar as the user is concerned, simplicity itself. Merely by gazing at an object, she may obtain additional content concerning it. When the user is wearing smart glasses, simply looking at an object suffices to provide additional information and content associated with that object.
The owner or registrant of the geo-pane may be given broad authority to determine the circumstances under which content will be provided. Hence, according to another rule that may optionally be used, content is delivered only to paying customers or to those who have met some other standards defined by the owner of the geo-pane.
In the cloud, servers may determine if there is a geo-pane within some defined distance of the smart phone. That distance may be set by the user using their smart phone, or by the owner of the geo-pane in question. If the smart phone 440 is located within the defined range of the geo-pane, and if the gaze vector 450 lies along a line that intersects the geo-pane, then the cloud may download content of interest to the smart phone. For example, in a museum setting, by pointing at a painting, the user could receive information on its history or other works by that same artist.
Geo-panes may be unidirectional, as shown in
3D stand-alone geo-panes, such as are shown in
In the embodiment in
Another embodiment combines geo-panes with geo-fences. Again consider the case of paintings hanging on display in a museum, as in
The spatial resolution of this system may be affected by the particular geo-location technology employed, and one system may prove more useful in a given context than another. One may also combine systems, using GPS up to the limits of its resolution, and employing other systems with higher resolutions to augment it. The present embodiments are not limited to any one system for geo-location.
In the preceding embodiments, the geo-panes are static, i.e., they may be fixed in space. However, geo-panes may be mobile, as may be geo-fences, provided the locating coordinates are updated as they move about. For example, using device location information in possession of a user, a 3D geo-pane may be automatically created around the user with public profile information as the content. This geo-pane would move with the person and thus in at least this sense could be considered to be mobile. Thus, one may create personalized geo-panes that accompany individuals as they move about. Then another user provided with a location aware device according to the embodiments here (e.g., Google Glasses®) would be able to gaze upon the other user within the geo-pane and swiftly download information from the cloud concerning them such as name, job title, etc. Such an approach may be much simpler than capturing an image of a person, and then forwarding it to a service for image analysis and identification. Also, it provides the owner of the geo-pane with control over his content, and he may limit access to devices having the proper permissions.
By using a geo-location system with a spatial resolution sufficient to the task at hand, creation of geo-panes and geo-fences may be a simple matter of identifying, for example, the vertices, corners, edges, centers, or center faces of areas of interest and transmitting those coordinates to a server or other store of data where it may be associated with content.
As used herein, gaze may refer to the direction a location aware device is pointed, or it may refer to a direction vector of unit magnitude (e.g., one meter, if MKS is used) having its origin (i.e., its tail end) at the coordinates of the device. Alternately, the term “gaze vector” may refer to a ray beginning at the coordinates of the location aware device and stretching out to infinity. Each may convey the same idea, that a direction is specified that points from the device (which is the user if he is wearing smart glasses) to something of interest to him. It is well within the knowledge of engineers familiar with vector mechanics to work with any or all of these formulations.
Communication with the cloud may be conducted via one or more radios capable of transmitting and receiving signals using various suitable wireless communications techniques. Such techniques may involve communications across one or more wireless networks. Exemplary wireless networks include (but are not limited to) wireless local area networks (WLANs), wireless personal area networks (WPANs), wireless metropolitan area network (WMANs), cellular networks, and satellite networks.
Further examples of a location aware device may include computers that are arranged to be worn by a person, such as a wrist computer, finger computer, ring computer, eyeglass computer, belt-clip computer, arm-band computer, shoe computers, clothing computers, and other wearable computers. In embodiments, for example, a location aware device may be implemented as a smart phone capable of executing computer applications, as well as voice communications and/or data communications.
Turning now to
The location aware device 915 may include a content request module 925 that requests content associated with geo-panes identified in the logic architecture 904. If suitable content is identified, it is downloaded from the content server 930 to the location aware device 915.
The processor core 2000 is shown including execution logic 2500 having a set of execution units 2550-1 through 2550-N. Some embodiments may include a number of execution units dedicated to specific functions or sets of functions. Other embodiments may include only one execution unit or one execution unit that can perform a particular function. The illustrated execution logic 2500 performs the operations specified by code instructions.
After completion of execution of the operations specified by the code instructions, back end logic 2600 retires the instructions of the code 2130. In one embodiment, the processor core 2000 allows out of order execution but requires in order retirement of instructions. Retirement logic 2650 may take a variety of forms as known to those of skill in the art (e.g., re-order buffers or the like). In this manner, the processor core 2000 is transformed during execution of the code 2130, at least in terms of the output generated by the decoder, the hardware registers and tables utilized by the register renaming logic 2250, and any registers (not shown) modified by the execution logic 2500.
Although not illustrated in
Referring now to
The system 1000 is illustrated as a point-to-point interconnect system, wherein the first processing element 1070 and the second processing element 1080 are coupled via a point-to-point interconnect 1050. It should be understood that any or all of the interconnects illustrated in
As shown in
Each processing element 1070, 1080 may include at least one shared cache 1896a, 1896b. The shared cache 1896a, 1896b may store data (e.g., instructions) that are utilized by one or more components of the processor, such as the cores 1074a, 1074b and 1084a, 1084b, respectively. For example, the shared cache 1896a, 1896b may locally cache data stored in a memory 1032, 1034 for faster access by components of the processor. In one or more embodiments, the shared cache 1896a, 1896b may include one or more mid-level caches, such as level 2 (L2), level 3 (L3), level 4 (L4), or other levels of cache, a last level cache (LLC), and/or combinations thereof.
While shown with only two processing elements 1070, 1080, it is to be understood that the scope of the embodiments are not so limited. In other embodiments, one or more additional processing elements may be present in a given processor. Alternatively, one or more of processing elements 1070, 1080 may be an element other than a processor, such as an accelerator or a field programmable gate array. For example, additional processing element(s) may include additional processors(s) that are the same as a first processor 1070, additional processor(s) that are heterogeneous or asymmetric to processor a first processor 1070, accelerators (such as, e.g., graphics accelerators or digital signal processing (DSP) units), field programmable gate arrays, or any other processing element. There can be a variety of differences between the processing elements 1070, 1080 in terms of a spectrum of metrics of merit including architectural, micro architectural, thermal, power consumption characteristics, and the like. These differences may effectively manifest themselves as asymmetry and heterogeneity amongst the processing elements 1070, 1080. For at least one embodiment, the various processing elements 1070, 1080 may reside in the same die package.
The first processing element 1070 may further include memory controller logic (MC) 1072 and point-to-point (P-P) interfaces 1076 and 1078. Similarly, the second processing element 1080 may include a MC 1082 and P-P interfaces 1086 and 1088. As shown in
The first processing element 1070 and the second processing element 1080 may be coupled to an I/O subsystem 1090 via P-P interconnects 10761086, respectively. As shown in
In turn, I/O subsystem 1090 may be coupled to a first bus 1016 via an interface 1096. In one embodiment, the first bus 1016 may be a Peripheral Component Interconnect (PCI) bus, or a bus such as a PCI Express bus or another third generation I/O interconnect bus, although the scope of the embodiments are not so limited.
As shown in
Note that other embodiments are contemplated. For example, instead of the point-to-point architecture of
Example 1 may include a system to provide content to a device comprising a gaze orientation module to determine a gaze direction based on sensor-based information, and a geo-pane identification module to identify regions of space and associate content with said regions of space based on the gaze direction.
Example 2 may include the system of Example 1, further comprising a geo-location module to determine device coordinates within a coordinate system, wherein content is associated with said regions of space based on the device coordinates.
Example 3 may include the system of Example 1, wherein at least one of the modules is integrated into a device that is wearable about a portion of the human body.
Example 4 may include the system of Example 1, wherein content is associated with geo-panes.
Example 5 may include the system of Example 1, wherein said content and data defining geo-panes are registered to an owner.
Example 6 may include the system of any of Examples 1-5, further comprising a device for use in game play.
Example 7 may include the system of any of Examples 1 or 3-6, further comprising a content server, a geo-fence identification module to identify fenced regions of space, and a geo-location module to determine device coordinates within a coordinate system, wherein content is associated with said regions of space based on the device coordinates.
Example 8 may include the system of any of Examples 1-6, further comprising a mobile device, wherein a user of the mobile device may select content based on an orientation of said device.
Example 9 may include a method to provide content to a device, comprising obtaining spatial coordinates and an orientation of a device, said orientation defining a gaze direction, identifying a geo-pane based on the spatial coordinates and the gaze direction, and providing content to the device that is relevant to the geo-pane.
Example 10 may include the method of Example 9, wherein the geo-pane is three dimensional.
Example 11 may include the method of Example 9, further including determining whether the spatial coordinates of the device lie within a geo-fence, and determining whether there are any geo-panes associated with said geo-fence, wherein providing the content to the device includes providing content concerning the geo-pane associated with the geo-fence to which the device is pointing.
Example 12 may include the method of any of Examples 9-11, wherein the spatial coordinates are obtained through a combination of geo-location systems, at least one of which is local to the device.
Example 13 may include the method of Example 7, further including registering ownership of a geo-pane with a registrar.
Example 14 may include the method of Examples 9 or 11, further including establishing a rule set to determine whether content is to be made available.
Example 15 may include the method of Examples 7 or 9, wherein the rule set comprises rules that control content delivery to devices located within a predetermined range of the geo-pane.
Example 16 may include the method of Example 9, wherein the geo-pane is mobile.
Example 17 may include the method of Example 9, wherein the content that is relevant to a geo-pane varies with a gaze direction of a user.
Example 18 may include the method of Examples 9 or 16, wherein the geo-panes are utilized in game play.
Example 19 may include the method of Example 9, wherein content is associated with geo-panes.
Example 20 may include at least one computer readable storage medium comprising a set of instructions which, when executed by one or more servers, cause the server to obtain spatial coordinates and an orientation of a device, said orientation defining a gaze direction, identify a geo-pane based on the spatial coordinates and the gaze direction, and provide content to the device that is relevant to the geo-pane.
Example 21 may include the at least one computer readable storage medium of Example 20, wherein the instructions, when executed, cause the server to obtain spatial coordinates through a combination of geo-location systems, at least one of which is local to the device.
Example 22 may include the at least one computer readable storage medium of Example 20, wherein the instructions, when executed, cause the server to restrict content delivery to devices located within a predetermined range of the geo-pane.
Example 23 may include the at least one computer readable storage medium of any of Examples 20-22, wherein the instructions, when executed, cause a server to vary delivery of content with the gaze direction.
Example 24 may include the at least one computer readable storage medium of Example 20, wherein the instructions, when executed, cause the server to determine whether the spatial coordinates of the device lie within a geo-fence, and determine whether there are any geo-panes associated with said geo-fence, wherein providing the content to the device includes providing content concerning a geo-pane associated with a geo-fence based on gaze direction.
Example 25 may include a mobile device comprising one or more sensors, a geo-location module to use sensor-based information from the one or more sensors to determine the location of the mobile device, an orientation module to use information from the one or more sensors to determine an orientation of the mobile device, and a content request module to request the delivery of content to the mobile device based at least partly on the orientation of the device and its location.
Example 26 may include the mobile device of Example 25, wherein the sensor-based information is provided by at least one sensor selected from a group consisting of a gyroscope, magnetometer, barometer, pressure sensor, and accelerometer.
Example 27 may include the mobile device of Example 25, wherein the sensor-based information can at least partially define coordinates of a geo-pane.
Example 28 may include at least one computer readable storage medium comprising a set of instructions which, when executed by a mobile device, cause the mobile device to determine the location of the mobile device, determine an orientation of the mobile device, and request the delivery of content to the mobile device based at least partly on the orientation of the device and its location.
Example 29 may include the at least one computer readable storage medium of claim 28, wherein the mobile device comprises sensors.
Example 30 may include a method of providing content to a mobile device, comprising obtaining spatial coordinates and orientation of a device, said orientation defining a gaze direction, determining whether the gaze direction points to a geo-pane, and providing content to the device that is relevant to the geo-pane.
Example 31 may include the method of Example 30, wherein the spatial coordinates are obtained through a combination of geo-location systems, including global positioning system coordinates.
Example 32 may include the method of Examples 30 or 31, further including providing for registration of a geo-pane, and associating content with the geo-pane.
Example 33 may include the method of Example 30, further including establishing a rule set to determine whether content is to be made available.
Example 34 may include the method of Example 33, wherein the rules comprise a set of permissions.
Example 35 may include the method of Example 30, wherein the geo-pane is mobile.
Example 36 may include the method of Examples 30 or 35, wherein the content that is associated with a geo-pane varies with the orientation of a direction of gaze of a user.
Example 37 may include the method of Example 30, wherein the geo-fence is mobile.
Example 38 may include the method of any of Examples 30, 35, or 37, wherein the geo-panes are utilized in game play.
Example 39 may include the method of Example 38, wherein the game play includes using geo-panes associated with the layout of a city.
Example 40 may include a mobile device comprising one or more sensors, means for using sensor-based information from the one or more sensors to determine the location of the mobile device, means for using information from the one or more sensors to determine an orientation of the mobile device, and means for requesting the delivery of content to the mobile device based at least partly on the orientation of the device and its location.
Example 41 may include the mobile device of Example 40, further comprising means for controlling delivery of content.
Example 42 may include a system for providing location specific content, comprising a device for mapping the boundaries of a region, memory for receiving numerical information defining the boundaries of the region, content associated with the region, a location aware device having means to determine a direction of orientation of the location aware device and its location, and means to relate the orientation and the location of the location aware device to said content.
Example 43 may include the system of Example 42, further comprising access rules.
Example 44 may include a system to provide content to a device, comprising means for locating the device in space, means for determining the orientation of the device, means for storing content and relating it to a location in space, and means for providing content to the device in dependence upon its location and orientation.
Example 45 may include the system of Example 44, comprising means for controlling access to content.
Example 46 may include a method of providing content, comprising obtaining the Global Positioning System (GPS) coordinates of a device, determining a device orientation from at least one of accelerometer, magnetometer, and gyroscope data obtained from the device, said device orientation defining a gaze direction, accessing a data base containing the GPS coordinates of at least one geo-pane and rules for permitting access to data associated with the geo-pane, determining whether the gaze direction points to a geo-pane, and providing content to the device that is relevant to the geo-pane provided the rules are met.
Example 47 may include the method of Example 46, wherein the rules include limitations on the distance between the geo-pane and the device.
Example 48 may include the method of Example 46, further comprising game play.
Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chipsets, and so forth. Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof.
Arrangements may be shown in block diagram form in order to avoid obscuring embodiments, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the embodiment is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. The descriptions provided are to be regarded as illustrative instead of limiting.
Those skilled in the art will appreciate from the foregoing description that the broad techniques of the embodiments may be implemented in a variety of forms. Therefore, while the embodiments have been described in connection with particular examples thereof, the true scope of the embodiments should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and following claims.
Number | Name | Date | Kind |
---|---|---|---|
20040203863 | Huomo | Oct 2004 | A1 |
20090209267 | Jagetiya | Aug 2009 | A1 |
20110159890 | Fortescue et al. | Jun 2011 | A1 |
20140004885 | Demaine | Jan 2014 | A1 |
20150130703 | Ghajar | May 2015 | A1 |
Number | Date | Country |
---|---|---|
10-2012-009834 | Feb 2012 | KR |
2013147725 | Oct 2013 | WO |
Entry |
---|
International Search Report and Written Opinion dated Nov. 28, 2012 for International Application No. PCT/US2012/030483. |
Number | Date | Country | |
---|---|---|---|
20150281887 A1 | Oct 2015 | US |