This invention is generally in the area of handheld electronic devices, and more specifically in the area of human interaction with information presented on handheld electronic device displays.
Small handheld electronic devices are becoming sufficiently sophisticated that the design of friendly interaction with them is challenging. In particular, the amount of information this is capable of being presented on the small, high density, full color displays that are used on many handheld electronic devices calls for a function similar to the mouse that is used on laptop and desktop computers to facilitate human interaction with the information on the display. One technique used to provide this interaction is a pointed object to touch the display surface to identify objects or areas showing on the display, but this is not easy to do under the variety of conditions in which small handheld devices, such as cellular telephones, are operated.
The present invention is illustrated by way of example and not limitation in the accompanying figures, in which like references indicate similar elements, and in which:
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
Before describing in detail the particular human interaction technique in accordance with the present invention, it should be observed that the present invention resides primarily in combinations of method steps and apparatus components related to human interaction with handheld electronic devices. Accordingly, the apparatus components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
Referring to
The handheld electronic device 100 is preferably designed to be able to be held in one hand while being used normally. Accordingly, the display 105 is typically small in comparison to displays of such electronic devices as laptop computers, desktop computers, and televisions designed for tabletop, wall, or self standing mounting. The handheld electronic device 100 may be a cellular telephone, in which case it will include the telephone function 135. In particular, when the handheld electronic device 100 is a cellular telephone, then in many cases, the display 105 will be on the order of 2 by 2 centimeters. Most electronic devices 100 for which the present invention is capable of providing meaningful benefits will have a display viewing area that is less than 100 square centimeters. The viewing surface of the display 105 may be flat or near flat, but alternative configurations could be used with the present invention. The technology of the display 105 may be any available technology compatible with handheld electronic devices, which for conventional displays includes, but is not limited to, liquid crystal, electroluminescent, light emitting diodes, and organic light emitting devices. The display 100 may include electronic circuits beyond the driving circuits that for practical purposes must be collocated with a display panel; for example, circuits may be included that can receive a video signal from the processing function 115 and convert the video signal to electronic signals needed for the display driving circuits. Such circuits may, for example, include a microprocessor, associated program instructions, and related processing circuits, or may be an application specific circuit.
The cellular telephone function 135 may provide one or more cellular telephone services of any available type. Some conventional technologies are time division multiple access (TDMA), code division multiple access (CDMA), or analog, implemented according to standards such as GSM, CDMA 2000, GPRS, etc. The telephone function 135 includes the necessary radio transmitter(s) and receiver(s), as well as processing to operate the radio transmitter(s) and receiver(s), encode and decode speech as needed, a microphone, and may include a keypad and keypad sensing functions needed for a telephone. The telephone function 135 thus includes, in most examples, processing circuits that may include a microprocessor, associated program instructions, and related circuits.
The handheld electronic device 100 may be powered by one or more batteries, and may have associated power conversion and regulation functions. However, the handheld electronic device 100 could alternatively be mains powered and still reap the benefits of the present invention.
The first camera 110 is similar to cameras that are currently available in cellular telephones. It may differ somewhat in the characteristics of the lens optics that are provided, because the present invention may not benefit greatly from a depth of field range that is greater than approximately 10 centimeters (for example, from 5 centimeters to 15 centimeters) in some embodiments that may be classified as two dimensional. In some embodiments that may include those classified as two dimensional, as well as some embodiments classified as three dimensional, the first camera 110 may benefit from a depth of field that is very short—that is, near zero centimeters, and may not provide substantially improved benefits by being more than approximately 50 centimeters. In one example, the present invention may provide substantial benefits with a depth of field that has a range from about 5 centimeters to about 25 centimeters. These values are preferably achieved under the ambient light conditions that are normal for the handheld device, which may include near total darkness, bright sunlight, and ambient light conditions in between those. Means of achieved the desired depth of field are provided in some embodiments of the present invention, as described in more detail below. A monochrome camera may be very adequate for some embodiments of the present invention, while a color camera may be desirable in others.
The processing function 115 may comprise a microprocessor, associated program instructions stored in a suitable memory, and associated circuits such as memory management and input/output circuits. It may possible that the processing function 115 circuits are in two or more integrated circuits, or all in one integrated circuit, or in one integrated circuit along with other functions of the handheld electronic device 100.
Referring to
The directing object 260 may also be described as a wand, which in the particular embodiment illustrated in
Referring to
The processing function 115 uniquely includes a first function that performs object recognition of the object marker image 370 using techniques that may include well known conventional techniques, such as edge recognition, and a second function that determines at least a two dimensional position of a reference point 271 (
As will be described in more detail below, the processing function performs a further function of modifying a scene that is displayed on the display 105 in response to the track of the directing object 260 in the coordinate system used for. Related to this aspect is a mapping of the directing object's track from the coordinate system used for the tracking of the directing object to the display 105, which is depicted in
Referring to
A determination of the position and orientation of a directing object in a three dimensional coordinate system by using a camera image can be made from 6 uniquely identifiable points positioned on the directing object. However, it will also be appreciated that simpler methods can often provide desired position and orientation information. For example, it may be quite satisfactory to determine only an orientation of the handle of the directing object 360 described with reference to
There are a variety of techniques that may be used to assist the identification of the directing object by the processing function 115. Generally speaking, an object of such means is to improve a brightness contrast ratio and edge sharpness between of the images of certain points or areas of the directing object 360 with reference to the images that surround those points or areas, and make the determination of defined point locations computationally simple. In the case of the wand example described above, the use of a sphere projects a circular, or nearly circular, image essentially regardless of the orientation of the wand (as long as the thickness of the handle is small in comparison to the diameter of the sphere 270), with a defined point location at the center of the sphere. The sphere 270 may be coated with a highly diffuse reflective white coating, to provide a high brightness contrast ratio when operated in a variety of ambient conditions. For operation under perhaps more ambient conditions, the sphere 270 may be coated with a retro-reflective coating and the handheld electronic device 100 may be equipped with a light source 120 having an aperture 220 located close to the first camera aperture 215. The sphere 270 may be a light source. In some embodiments, the image processing function may be responsive to only one band of light for the object marker image (e.g., blue), which may be produced by a light source in the object marker(s) or may selectively reflected by the object marker(s). The use of directing object markers that are small in size in relation to the field of view at normal distances from the first camera 110 may be particularly advantageous when there are multiple directing object markers. The directing object may take any shape that is compatible with use within a short range (as described above) of the handheld electronic device 100 and appropriate for the amount of tracking information that is needed. For example, the wand described herein above may be most suitable for two dimensional and three dimensional position information without orientation information. Directing object markers added to the handle of the wand (e. g., a couple of retro-reflective bands) may allow for limited orientation determinations that are quite satisfactory in many situations. In a situation where full orientation and three dimensional positions are needed, the directing object may need to have one or more directing object markers sufficiently spaced so that six are uniquely identifiable in all orientations of the directing object during normal use. In general, the parameters that the image processing function uses to identify the images of the directing object markers and track the directing object include those known for object detection, and may include such image detection parameters as edge detection, contrast detection, shape detection, etc., each of which may have threshold and gain settings that are used to enhance the object detection. Once the images of the directing object markers have been identified, first set of formulas may be used to determine the position of the directing object (i.e., the position of a defined point that is fixed with reference to the body of the directing object), and a second set of formulas may be used to determine the orientation. More typically, the first and second formulas are formulas that convert such intermediate values as slopes and ends of edges to a marker position and orientation in a chosen coordinate system.
For the purpose of keeping complexity of the processing function 115 down, it is desirable to use reflective directing object markers. This provides the advantage of making the directing object markers appear brighter than other objects in the image. If this relative brightness can be increased sufficiently, then the shutter speed can be increased to the point where almost no other objects are detected by the camera. When the number of undesired objects in the image is reduced, a much simpler algorithm may be used to identify the directing object markers within the image. Such a reduction in complexity translates into reduced power consumption, because fewer results must be calculated. Such a reduction in complexity also reduces processing function cost since memory requirements may be reduced, and fewer special processing accelerators, or a slower, smaller processor core can be selected. In particular, the reflective material may be retro-reflective, which is highly efficient at reflecting light directly back toward the light source, rather than the more familiar specular reflector, in which light rays incident at angle a are reflected at angle 90-α (for instance in a mirror), or Lambertian reflectors, which reflect light in a uniform distribution over all angles. When retro-reflectors are used, it is necessary to include a light source 120 such as an LED very close to the camera lens 215 so that the lens 215 is in the cone of light reflected back toward the illuminant by the retro-reflective directing object markers. One embodiment of a directing object that may provide determination of three dimensional positions and most normal orientations is shown in
In other embodiments, the axis of the field of view may be directed away from being perpendicular to the display. For example, the axis of the field of view may be directed so that it is typically to the right of perpendicular when the handheld electronic equipment is held in a user's left hand. This may improve edge detection and contrast ration of image markers that may otherwise have a user's face in the background, due to a longer range to objects in the background of the directing object other than the user's face. This biasing of the axis of field of view away from the user's face may require a left hand version and a right hand version of the handheld electronic device, so an alternative is to provide a first camera 110 that can be manually shifted to improve the probability of accurate image detection under a variety of circumstances.
Referring now to
The command may initiate a drawing function that draws a scene object in response to motions of the cursor that are in response to movement of the directing object. Such drawing may of any type, such as a creation of a new picture, or in the form of overlaying freeform lines on a scene obtained from another source. As one example, a user of another computing device may send a picture to the handheld device 100 and the user of the handheld device may identify a first scene object (e.g., a picture of a person in a group of people) by invoking a draw command and drawing a second scene object on top of the scene by circling the first scene object using the directing object. The user of the handheld device 100 may then return the marked up picture to the computing device (e.g., by cellular messaging) for presentation to the user of the computing device.
While examples of two-dimensional position tracking have been described above, two dimensional position and orientation tracking may also by useful, as for a simple game of billiards that is presented only as a plan view of the table and queue sticks.
Referring to
Referring to
Referring to
It will be appreciated that a scene presented on the display 105 may be one that has been stored in, or generated from memory, or received by the handheld device 105. In some embodiments, the handheld device 105 may have a second built in camera, as is well known today, for capturing still or video images, or the first camera may be used for capturing a still or video image that is presented as a scene on the display for modification using the directing object.
It will be appreciated the processing function 115 and portions of one or more of the other functions of the handheld electronic device, including functions 105, 110, 120, 125, 130, 135 may comprise one or more conventional processors and corresponding unique stored program instructions that control the one or more processors to implement some or all of the functions described herein; as such, the processing function 115 and portions of the other function 105, 110, 120, 125, 130, 135 may be interpreted as steps of a method to perform the functions. Alternatively, these functions 115 and portions of functions 105, 110, 120, 125, 130, 135 could be implemented by a state machine that has no stored program instructions, in which each function or some combinations of portions of certain of the functions 115, 105, 110, 120, 125, 130, 135 are implemented as custom logic. Of course, a combination of the two approaches could be used. Thus, both a method and apparatus for a handheld electronic device has been described herein.
In the foregoing specification, the invention and its benefits and advantages have been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims.
As used herein, the terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
A “set” as used herein, means a non-empty set (i.e., for the sets defined herein, comprising at least one member). The term “another”, as used herein, is defined as at least a second or more. The terms “including” and/or “having”, as used herein, are defined as comprising. The term “coupled”, as used herein with reference to electro-optical technology, is defined as connected, although not necessarily directly, and not necessarily mechanically. The term “program”, as used herein, is defined as a sequence of instructions designed for execution on a computer system. A “program”, or “computer program”, may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system. It is further understood that the use of relational terms, if any, such as first and second, top and bottom, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.