PATENT DOCUMENT

Publication Number: US-7944455-B1
Application Number: US-17679705-A
Country: US
Kind Code: B1

Title: Controlling a display device to display portions of an entire image in a display area

Abstract:
A computer-implemented method is for controlling display of an image, in a display area, by a display device. A plurality of elements of a sequence is determined based on operation of an input device. A position in the entire image is determined, associated with the determined one of the plurality of elements in the sequence. Based on the determined position in the entire image, a corresponding portion of the entire image is caused to be displayed in the display area.

Claims:
1. A method of displaying portions of an image by a display device, comprising:
 causing a movable window arranged to display a corresponding portion of the image to be displayed at a first zoom level; 
 determining a first fixed path of the movable window through the image based on the first zoom level in accordance with maximizing a user&#39;s perceived context of the image, wherein the motion of the movable window lies along the first fixed path and is determined via user input indicating a direction to move along the first fixed path, wherein the first fixed path is a continuous closed loop such that a beginning of the first fixed path meets an end of the first fixed path; 
 changing the zoom level of the movable window to a second zoom level higher than the first zoom level; and 
 determining a second fixed path of the movable window through the image based upon the second zoom level in accordance with maximizing the user&#39;s perceived context of the image, wherein the motion of the movable window lies along the second path and is determined via user input indicating a direction to move along the second fixed path, wherein the second fixed path is a continuous closed loop such that a beginning of the second fixed path meets an end of the second fixed path, wherein the curvature of the second fixed path is greater than the curvature of the first fixed path; and 
 wherein the motion of the movable window along the first fixed path and the motion of the movable window along the second fixed path are based on rotational input in the clockwise or counter-clockwise direction received from an input device. 
 
     
     
       2. The method of  claim 1 , wherein:
 the motion of the movable window along the first fixed path and the motion of the movable window along the second fixed path are based on input received from a rotational input device designed to detect movement only in a clockwise or a counter-clockwise direction. 
 
     
     
       3. The method of  claim 2 , wherein counter-clockwise motions by a user&#39;s finger on the rotational input device correspond to counter-clockwise movement of the movable window along the first or second fixed paths; and wherein clockwise motions by a user&#39;s finger on the rotational input device correspond to clockwise movement of the movable window along the first or second fixed paths. 
     
     
       4. The method of  claim 1 , wherein the first fixed path follows the perimeter of the entire image such that any portion of the image that is displayed based on a position in the first fixed path contains a portion that is on the perimeter of the image. 
     
     
       5. The method of  claim 1 , wherein the second fixed path follows a path that covers the center of the entire image such that at least one portion of the entire image that is displayed based on a position in the second fixed path does not contain a portion that is on the perimeter of the entire image. 
     
     
       6. The method of  claim 1 , wherein the first fixed path is substantially rectangular and the second fixed path is substantially cardioid. 
     
     
       7. The method of  claim 1 , further comprising navigating the first fixed path for more than one revolution. 
     
     
       8. A system including:
 a user device comprising:
 a rotational input device designed to detect movement only in a clockwise or a counter-clockwise direction; 
 a display, wherein the display, at a first resolution, is not large enough to display the entirety of a first image; and 
 a processor configured to:
 cause a portion of the first image to be displayed on the display at the first resolution; 
 alter the portion of the first image displayed on the display according to movement along a first fixed path corresponding to the first resolution, wherein the direction of the movement along the first fixed path is based on input received from the rotational input device, wherein the first fixed path is a continuous closed loop such that a beginning of the first fixed path meets an end of the first fixed path; 
 change, to a second resolution, the portion of the first image displayed on the display, wherein the second resolution is at a greater zoom level than the first resolution; and 
 alter the portion of the first image displayed on the display according to movement along a second fixed path corresponding to the second resolution, wherein the direction of the movement along the second fixed path is based on input received from the rotational input device, wherein the second fixed path is a continuous closed loop such that a beginning of the second fixed path meets an end of the second fixed path, wherein the curvature of the second fixed path is greater than the curvature of the first fixed path. 
 
 
 
     
     
       9. The system of  claim 8 , wherein the direction of movement along the first and second fixed paths is based on input received from the rotational input device reflecting either clockwise or counterclockwise gestures of a user&#39;s finger along the rotational input device. 
     
     
       10. The system of  claim 8 , wherein the user device is a portable media device. 
     
     
       11. The system of  claim 8 , wherein the a processor is further configured to:
 navigate the first fixed path for more than one revolution. 
 
     
     
       12. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method of displaying portions of an image by a display device, the method comprising:
 retrieving a first fixed path through the image based on a first zoom level in accordance with maximizing a user&#39;s perceived context of the image; 
 causing a movable window arranged to display a corresponding portion of the image to be displayed at the first zoom level, wherein the motion of the movable window lies along the first fixed path and is determined via user input indicating a direction to move along the first fixed path, wherein the first fixed path is a continuous closed loop such that a beginning of the first fixed path meets an end of the first fixed path at spatially adjacent locations of the image; 
 changing the zoom level of the movable window to a second zoom level at a greater zoom level than the first zoom level; 
 retrieving a second fixed path through the image based on the second zoom level in accordance with maximizing a user&#39;s perceived context of the image; and 
 moving the movable window along the second fixed path, wherein the motion of the movable window is determined via user input indicating a direction to move along the second fixed path, wherein the second fixed path is a continuous closed loop such that a beginning of the second fixed path meets an end of the second fixed path at spatially adjacent locations of the image, wherein the curvature of the second fixed path is greater than the curvature of the first fixed path. 
 
     
     
       13. The program storage device of  claim 12 , wherein:
 the first fixed path is substantially rectangular. 
 
     
     
       14. The program storage device of  claim 13 , wherein the second fixed path is substantially spiral. 
     
     
       15. The program storage device of  claim 14 , wherein the first fixed path is a closed loop that does not cross itself while the second fixed path is a closed loop that crosses itself at least once. 
     
     
       16. The program storage device of  claim 12 , wherein the second fixed path has at least one position wherein the portion of the image displayed includes the center of the image. 
     
     
       17. The program storage device of  claim 16 , wherein the method further comprises:
 navigating the first fixed path for more than one revolution. 
 
     
     
       18. A method of displaying portions of an image by a display device, comprising:
 causing a movable window arranged to display a corresponding portion of the image to be displayed at a first zoom level; 
 determining a first fixed path of the movable window through the image based on the first zoom level in accordance with maximizing a user&#39;s perceived context of the image, wherein the motion of the movable window lies along the first fixed path and is determined via user input indicating a direction to move along the first fixed path, wherein the first fixed path is a continuous closed loop such that a beginning of the first fixed path meets an end of the first fixed path at spatially adjacent locations of the image; 
 changing the zoom level of the movable window to a second zoom level higher than the first zoom level; and 
 determining a second fixed path of the movable window through the image based upon the second zoom level in accordance with maximizing the user&#39;s perceived context of the image, wherein the motion of the movable window lies along the second path and is determined via user input indicating a direction to move along the second fixed path, wherein the second fixed path is a continuous closed loop such that a beginning of the second fixed path meets an end of the second fixed path at spatially adjacent locations of the image, wherein the curvature of the second fixed path is greater than the curvature of the first fixed path. 
 
     
     
       19. The method of  claim 18 , wherein the first fixed path follows the perimeter of the entire image such that any portion of the image that is displayed based on a position in the first fixed path contains a portion that is on the perimeter of the image. 
     
     
       20. The method of  claim 18 , wherein the second fixed path follows a path that covers the center of the entire image such that at least one portion of the entire image that is displayed based on a position in the second fixed path does not contain a portion that is on the perimeter of the entire image. 
     
     
       21. The method of  claim 18 , wherein the first fixed path is substantially rectangular.

Description:
TECHNICAL FIELD 
     The present invention is in the field of controlling a display device and, more particularly, relates to controlling a display device to display portions of an entire image. 
     BACKGROUND 
     Conventionally, a digital camera user may, while viewing a display of the digital camera, zoom in from viewing an entire image to cause a smaller portion of the entire image to be displayed.  FIG. 1  illustrates a digital camera  100  having a display screen  102  and navigational controls  104 . With a smaller portion of the entire image displayed on the display screen  102 , the user can “navigate” the entire image in two dimensions. That is, the user can cause different smaller portions of the entire image to be displayed on the display screen. 
     The navigational controls  104  may be, for example, four different directional controls of the camera to navigate right  106 , left  108 , up  110  and down  112  in the entire image. To navigate to a desired smaller portion of the entire image, the user typically operates the directional controls multiple times, alternating between operating different directional controls. 
     Furthermore, if the currently-displayed smaller portion has little context with respect to the entire image, it may be difficult for the user to navigate to a desired smaller portion of the entire image. An example of this is illustrated in  FIGS. 2A ,  2 B and  2 C.  FIG. 2A  illustrates an entire image.  FIG. 2B  illustrates a smaller portion of the  FIG. 2A  image, including an airplane. The airplane may provide enough context with respect to the entire image such that a user can relatively easily navigate with respect to the smaller portion illustrated in  FIG. 2B . 
       FIG. 2C , however, illustrates a smaller portion of the  FIG. 2A  image that is dominated by sky. Given the uniformity of the sky portion of the image, there may not be enough context with respect to the entire image such that a user can confidently navigate with respect to the smaller portion illustrated in  FIG. 2C . 
     SUMMARY 
     A computer-implemented method is for controlling display of an image, in a display area, by a display device. A plurality of elements of a sequence is determined based on operation of an input device. A position in the entire image is determined, associated with the determined one of the plurality of elements in the sequence. Based on the determined position in the entire image, a corresponding portion of the entire image is caused to be displayed in the display area. Thus, for example, as display of the image is controlled to different zoom levels, a user can efficiently navigate around the entire image even though only a portion of the entire image is viewable at a time. 
    
    
     
       BRIEF DESCRIPTION OF FIGURES 
         FIG. 1  illustrates a digital camera having a display screen and navigational controls. 
         FIGS. 2A ,  2 B and  2 C illustrate how the amount of context affects the user&#39;s ability to navigate an entire image using a small portion of the entire image that does not provide sufficient context for navigation. 
         FIG. 3  illustrates a media player having an input device that may be particularly well suited for use to determine particular elements of a sequence. 
         FIG. 4  is a flowchart illustrating a method to control which portion of an entire image is to be displayed. 
         FIG. 5  illustrates a sequence useable by the  FIG. 4  method. 
         FIG. 6  illustrates two examples of closed-loop paths of possible determined positions in an entire image. 
         FIG. 7  shows a path that includes the center of the entire image. 
         FIG. 8  illustrates a complex closed-loop path. 
         FIG. 9  illustrates the  FIG. 8  path, with one view superimposed on the path, centered on the entire image. 
     
    
    
     DETAILED DESCRIPTION 
     In accordance with a broad aspect of the invention in a media player (including, for example, a digital camera having a display), positions in an entire image are associated with elements of a sequence. A particular element of the sequence is determined based on operation of an input device of the media player. Based on the determined particular element of the sequence, a portion of the entire image is displayed. 
       FIG. 3  illustrates a media player having an input device that may be particularly well-suited for use to determine particular elements of the sequence, although other types of input devices (including, for example, the input device of the  FIG. 1  digital camera) may be used. In particular,  FIG. 3  illustrates a well-known media player  300  known as an iPod™ media player, from Apple Computer, Inc. of Cupertino, Calif. The media player  300  includes a display device  302  and a click wheel input device  304 . In one example, in response to an amount of rotational movement a user has invoked with respect to the click wheel  304 , a number of units value is generated by the click wheel  304 . The number of units value is provided to scroll processing within the media player  300 . An output of the scroll processing is provided to other processing within the media player such as, for example, display processing. In accordance with other examples of input devices, an output of the input device, when activated, is a value representing an absolute position, rather than a relative position such as the number of units value. 
     One type of display processing is display processing to control display of a portion of an entire image—more precisely, controlling which such portion is to be displayed. One such example is broadly described with reference to  FIGS. 4 and 5 . Referring first to  FIG. 4 , a flowchart illustrating steps of the example is shown. 
     Before describing  FIG. 4 , it is noted that, typically, before the steps of the  FIG. 4  flowchart are executed, display of the image is controlled to be at a particular zoom level. In such a situation, typically, the steps of the  FIG. 4  flowchart would be executed for display at the zoom level. 
     At step  402 , an element of a sequence is determined based on the number of units value from the click wheel  304 . The sequence may be, for example, like the sequence  502  illustrated in  FIG. 5 . Referring to  FIG. 5 , the element of the sequence  502  as determined at step  402  of the  FIG. 4  flowchart is, in one simple example, determined simply by adding the number of units value to a current position value. The number of units value may be weighted by a weighting factor. 
     For example, if the current position value is the current position value  504  (equal to two), then the element of the sequence is determined by adding the number of units value to two. Thus, if the number of units value is three, then the determined element of the sequence is five (two plus three). In accordance with another example, adding the number of units value to the current position value would extend beyond the end of the sequence. In such cases, a modulo function is employed, and the sequence “wraps around” due to the use of the modulo function. 
     In another example, the determined element in the sequence is a function of the absolute position associated with the input device, and does not depend on the relative movement of the input device, and a sequence of determined elements may be computed “on the fly” as the position associated with the input device is changed. 
     At step  404 , based on the determined element in the sequence, the corresponding position in the entire image is determined. For example, referring to the example entire image  510  in  FIG. 5 , each element of the sequence  502  corresponds to a separate one of a sequence of positions in the entire image. The positions may be predetermined positions or, for example, the positions may be determined on the fly or otherwise determined. In addition, consecutive elements in the sequence generally, but need not, correspond to spatially adjacent positions in the entire image. 
     In the final step of the  FIG. 4  flowchart, at step  406 , based on the determined position in the entire image, a corresponding portion of the entire image is caused to be displayed. For example, the corresponding portion may be a portion of the entire image for which the determined position is in the center of that portion. As another example, the portions may be “pinned” such that no part of the portion falls outside the bounds of the entire image. Steps  404  and  406  are discussed in greater detail below. If the portions are not “pinned,” and a part of what would nominally be a portion would fall outside the bounds of the entire image, the part of the portion outside the bounds of the entire image may be displayed with a pattern such as, for example, hatch or solid black. 
       FIG. 6  illustrates two examples of closed-loop paths of possible determined positions. The two examples are an oval-shaped path  602  and a rectangle-shaped path  604 . In general, the density of the possible predetermined positions along the path depends on the number of elements in the sequence (which, in turn, may be a function of the resolution of the input device), although the possible predetermined positions need not be of uniform density along the path. For the example paths  602  and  604  in  FIG. 6 , using the circular path may yield identical views (where a “view” is the displayed portion) if the view for the circular path is pinned to stay within the bounds of the entire image (depending on the size of the views and the closeness of the path to the boundary of the entire image). 
     It is noted that, taking the  FIG. 6  paths  602  and  604  as examples, these paths do not pass through the center  801  of the entire image. It is desirable, in some examples, to display the view in the center of the entire image, with the center of the view coinciding with the center of the entire image.  FIG. 7  shows a path  702  that includes the center of the entire image. The path  702  can be thought of as a cardioid-like path. (A true cardioid, defined about the center of the entire image, would not actually pass through the center of the entire image.) In one example, the view would initially be in the center  801  of the entire image and would thereafter follow the cardioid-like path. After one pass through the sequence, the view would again be back in the center of the entire image. 
     In the  FIG. 6  and  FIG. 7  examples, the closed-loop paths are such that, for substantially all radii emanating from a center of the entire image, that radius crosses the closed-loop path one time, and no more than one time. Put another way, which view is displayed can be thought of as a function of an angle (0 to 2π) to which the user movement of the input device maps. For simplicity of explanation, we call such a closed-loop path a “simple” closed-loop path. In some examples, particularly where the entire image is much larger than a view, a simple closed-loop path generally would not be sufficient for all of the possible views along the path to collectively completely cover the area of the entire image. Thus, in other examples, non-simple (“complex”) closed-loop paths are employed. 
     With such complex functions, a particular angle to which the user movement of the input device maps may correspond to more than one view.  FIG. 8  illustrates one example of a complex closed-loop path  802 .  FIG. 9  illustrates the  FIG. 8  path, with one view superimposed on the path, centered on the entire image. Referring to  FIG. 8 , starting at the center and proceeding clockwise, for example, one portion  804  of the path spirals outward three times until reaching the top 808 of the entire image. The path then proceeds clockwise through points  810  and  812 , to point  814 . Still proceeding clockwise, the second part of the path proceeds through points  816  and  818 , to point  808 . Then the portion  806  of the path spirals three times, this time inward, and crossing the first part  804  of the path several times. Finally, the portion  806  of the path meets the portion  804  of the path at the center  801 . Since the end of the path meets the beginning of the path, the path is a continuous path. 
     Thus, for example, movement of the user input device in a single direction (i.e., in a manner that causes the sequence to progress or regress in a single direction) will result in a navigation of views through the entire image (clockwise or counter-clockwise, as the case may be). Using the described method, a user can easily traverse a predetermined path through the entire image in view-sized pieces. In some examples, the path depends on the zoom level (i.e., the size of the view portions). For example, generally, the smaller the viewed image portions, the closer together are the parts of the path such that, for an entire traversal of the path, the parts of the entire image collectively viewed are maximized. 
     While this invention has been described in terms of several embodiments, there are alterations, permutations, and equivalents, which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and apparatuses of the present invention. For example, while particular shaped paths have been described, it should be noted that many other shape paths may be employed. For example, other spiral-shaped paths (such as, for example, logarithmic spirals and Archimedes spirals) may be employed. Furthermore, the positions need not even fall onto a path per se, although this is seen as a user-friendly approach. As another example, the method may involve displaying images on a display screen associated with, for example, a digital camera or media player. In other examples, however, the image is projected or otherwise caused to be displayed. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.

Metadata:
Filing Date: 20050706
Publication Date: 20110517
Grant Date: 20110517
Priority Date: 20050706
Inventors: ZIPNICK JAY DAVID
Assignee: APPLE INC
CPC Classifications: [{"code": "G09G2340/045", "inventive": false, "first": false, "tree": "[]"}, {"code": "G09G5/346", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F2203/04806", "inventive": false, "first": false, "tree": "[]"}, {"code": "G09G5/346", "inventive": true, "first": true, "tree": "[]"}, {"code": "G09G2340/045", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F2203/04806", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/0485", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/0485", "inventive": true, "first": false, "tree": "[]"}]
Family ID: 43981581