IP Library Granted Patent US 7,991,837
Granted Patent B1
US 7,991,837 · App. 12/954,269 · Granted Aug 2, 2011

Systems and methods for networked, in-context, high resolution image viewing

Assignee: CME Advantage, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,991,837
App. No.
12/954,269
Granted
Aug 2, 2011
Kind
B1
Abstract

Systems and methods are provided for viewing portions of an image in high resolution and in context with a full image, which is displayed at a base resolution that is lower resolution than the resolution of the high-resolution image. A user can select an area of interest from the base-resolution image for viewing at a higher resolution on the client device. The server, or in some implementations the client device, can generate a high-resolution image representing the area of interest and the client device can display a portion of the high-resolution image in a virtual lens overlaid on the base-resolution image.

Claims (57)

1. A computer-implemented method for displaying a portion of a high-resolution image in the context of a base-resolution image, wherein one or more processors are programmed to perform the steps comprising:

receiving a request to view an image at a client device;

sending a request to a server over a network for a base-resolution image that corresponds to the requested image;

receiving the base-resolution image from the server over the network;

displaying the base-resolution image on a display of the client device;

receiving a request to display an area of interest of the base-resolution image in high resolution;

sending a request to the server over the network for a high-resolution image that corresponds to the base-resolution image;

receiving the high-resolution image from the server over the network; and

displaying a portion of the high-resolution image corresponding to the area of interest as an overlay of the base-resolution image at a location that corresponds to the area of interest, wherein the overlay comprises a virtual lens, wherein displaying the portion of the high-resolution image corresponding to the area of interest further comprises

determining whether at least a portion of the virtual lens would be outside a border of the base-resolution image if the virtual lens were rendered centered over the area of interest; and

if at least a portion of the virtual lens would be outside a border of the base-resolution image, determining an offset location for the virtual lens where the virtual lens would not be outside of the border of the base-resolution image; and

rendering the virtual lens such that the virtual lens and the portion of the high-resolution image displayed within the virtual lens is centered over the offset location;

tracking movements of a cursor controlled by a pointing device over the base-resolution image at the client device;

moving the virtual lens with respect to the base-resolution image based on the location of the cursor relative to the base resolution image, the position of the virtual lens being commandable in response to a user action; and

updating the portion of the high-resolution image displayed by the virtual lens as the virtual lens moves across the base-resolution image based on the location of the cursor relative to the base-resolution image, wherein updating the portion of the high-resolution image further comprises

determining whether an additional portion of the high-resolution image is required for display by the virtual lens; and

sending a request to the server for the additional portion of the high-resolution image if an additional portion is required.

2. The method of claim 1 wherein displaying the base-resolution image on a display of the client device further comprises:

determining whether the base-resolution image exceeds the size of a display region in which the base-resolution image is to be displayed; and

displaying a portion of the base-resolution image within the display region; and

wherein moving the virtual lens with respect to the base-resolution image based on the location of the cursor relative to the base resolution image further comprises:

determining whether the virtual lens has reached an edge of the display region; and

if the virtual lens has reached the edge of the display region, stopping the movement of the virtual lens and scrolling the base-resolution image in the opposite direction as the movement indicated by the pointing device.

3. The method of claim 2 wherein scrolling the base-resolution image in the opposite direction as the movement indicated by the pointing device further comprises:

scrolling the base-resolution image in the opposite direction as the movement indicated by the pointing device until the movement indication by the pointing device stops or an edge of the base-resolution image aligns with the edge of the display region.

4. The method of claim 1 , further comprising:

freezing the position of the virtual lens with respect to the base-resolution image in response to a user command.

5. The method of claim 4 , further comprising:

unfreezing the position of the previously frozen virtual lens with respect to the base-resolution image in response to a user command.

6. The method of claim 1 wherein the resolution of the base-resolution image is less than the resolution of a maximum-resolution image generated on, input to, or stored on the server.

7. The method of claim 1 wherein the resolution of the high-resolution image is less than or equal to the resolution of the maximum-resolution image, and wherein the resolution of the high-resolution image is greater than the resolution of the base-resolution image.

8. The method of claim 1 , further comprising:

receiving a request at the client device to resize the virtual lens;

resizing the virtual lens;

determining, at the client device, whether a larger portion of the high-resolution image is required;

sending a request to the server for a larger portion of the high-resolution image if a larger portion of the high-resolution image is required;

receiving the larger portion of the high-resolution image from the server; and

displaying the larger portion of the high-resolution image in the virtual lens.

9. The method of claim 1 further comprising:

receiving a request at the client device to change resolution of the high-resolution image displayed by the virtual lens;

sending a request to the server for an image at the requested high resolution corresponding to the base-resolution image;

receiving the high-resolution image from the server; and

displaying a portion corresponding to the area of interest of the high-resolution image received from the server as an overlay of the base-resolution image at a location that corresponds to the area of interest.

10. The method of claim 1 wherein displaying the portion of the high-resolution image received from the server in the virtual lens further comprises:

rendering a border around the virtual lens to demarcate the virtual lens from the base-resolution image.

11. The method of claim 1 wherein displaying the portion of the high-resolution image received from the server in the virtual lens further comprises:

rendering the virtual lens such that the virtual lens is centered over the area of interest.

12. The method of claim 1 , further comprising:

adjusting the size, shape, or position of the virtual lens to improve the function of an application in which the virtual lens is being used.

13. The method of claim 1 , further comprising:

hiding the virtual lens in response to a user command.

14. The method of claim 1 , further comprising:

showing the previously hidden virtual lens in response to a user command.

15. The method of claim 1 , further comprising:

rendering an opaque plane between the virtual lens and the underlying base image, wherein the opaque plane can be rendered as visible while waiting to receive the high-resolution image from the server after the request for the high-resolution image has been sent to the server.

16. The method of claim 1 further comprising:

identifying a resolution level that a user of the client device is likely to request; sending a request to the server for a high-resolution image at the resolution level that the user of the client device is likely to request.

Assignments (2)
CHANGE OF NAME Recorded Jul 26, 2011
From: CME ADVANTAGE, INC.
To: OPUS MEDICUS, INC.
Reel/Frame 026654/0159 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2011
From: TAHAN, THOMAS
To: CME ADVANTAGE, INC.
Reel/Frame 025684/0301 →
Continuity (1)
Continuation 12834806 · Jul 12, 2010