Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ENABLING A USER TO NAVIGATE THROUGH IMAGE DATA
Document Type and Number:
WIPO Patent Application WO/2014/087297
Kind Code:
A1
Abstract:
Image client (100) for enabling a user to obtain a desired view of image data, the image data having at least three dimensions, and the image client comprising: -a user interface subsystem (120) for enabling the user to navigate through the image data (212) by displaying one or more views (162) of the image data, thereby enabling the user to indicate a desired view (122) to be obtained from an image server; -an image interface (140) for obtaining a reduced-size version (242) of the image data from the image server (200), said reduced-size version being reduced in size by having a lower image quality than the image data; and -wherein the image client further comprises an image processor (160) for generating the one or more views (162) used in navigating through the image data based on the reduced-size version (242) of the image data.

Inventors:
NETSCH THOMAS (NL)
Application Number:
PCT/IB2013/060378
Publication Date:
June 12, 2014
Filing Date:
November 25, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KONINKL PHILIPS NV (NL)
PHILIPS DEUTSCHLAND GMBH (DE)
International Classes:
H04N21/6587; G06T19/00; G16H30/20; G16H30/40; H04N13/00; H04N21/214; H04N21/218; H04N21/442; H04N21/45; H04N21/4728; H04N21/81
Domestic Patent References:
WO2011085812A12011-07-21
WO2008088338A12008-07-24
WO2012059851A12012-05-10
Foreign References:
US20050210515A12005-09-22
US7991837B12011-08-02
Other References:
BAEZA I ET AL: "Progressive transmission of images: Adaptive best strategies", MATHEMATICAL AND COMPUTER MODELLING, PERGAMON PRESS, OXFORD, GB, vol. 41, no. 11-12, 1 May 2005 (2005-05-01), pages 1325 - 1339, XP027817783, ISSN: 0895-7177, [retrieved on 20050501]
Attorney, Agent or Firm:
STEFFEN, Thomas et al. (AE Eindhoven, NL)
Download PDF:
Claims:
CLAIMS:

1. Image client (100) for enabling a user to obtain a desired view of image data, the image data having at least three dimensions, and the image client comprising:

a user interface subsystem (120) for enabling the user to navigate through the image data (212) by displaying one or more views (162) of the image data, thereby enabling the user to indicate a desired view (122);

an image interface (140) for requesting the desired view from an image server (200) by sending a request (142) to the image server being indicative of the desired view;

wherein the user interface subsystem (120) is arranged for displaying the desired view (122) to the user after being received from the image server;

- wherein the image interface (140) is arranged for obtaining a reduced-size version (242) of the image data from the image server (200), said reduced-size version being reduced in size by having a lower image quality than the image data; and

wherein the image client further comprises an image processor (160) for generating the one or more views (162) used in navigating through the image data based on the reduced-size version (242) of the image data.

2. Image client (100) according to claim 1, wherein the image interface (140) is arranged for, if said obtaining of the reduced-size version (242) of the image data is still ongoing, requesting the one or more views (162) as reduced-size versions from the image server (200).

3. Image client (100) according to claim 1, wherein the image interface (140) is arranged for, if said obtaining of the reduced-size version (242) of the image data is still ongoing, assigning a higher priority to receiving requested views of the image data than to receiving the reduced-size version of the image data from the image server (200).

4. Image client (100) according to claim 3, wherein the image interface (140) is connectable to the image server (200) via a network connection (030), the network connection comprising a bandwidth, and wherein assigning the higher priority comprises allocating a portion (610) of the bandwidth to receiving the requested views of the image data.

5. Image client (100) according to claim 4, wherein the image interface (140) is arranged for allocating a remaining portion (620) of the bandwidth to receiving the reduced- size version (242) of the image data.

6. Image client (100) according to claim 5, a size of the reduced- size version (242) of the image data is determined based on the remaining portion (620) of the bandwidth.

7. Image client (100) according to claim 3, wherein the image interface (140) is arranged for receiving the requested views of the image data using a different network configuration than receiving the reduced-size version of the image data. 8. Image client (100) according to claim 7, wherein the different network configuration comprises at least one of the group of: a different network port, a different network protocol and a different instance of the network protocol.

9. Image client (100) according to claim 1, wherein the user interface subsystem (120) is arranged for enabling the user to indicate the desired view by selecting one of the one or more views (162), thereby indicating a preliminary version (121) of the desired view.

10. Image client (100) according to claim 1, wherein:

the user interface subsystem (120) is arranged for enabling the user to select the image data (212) amongst a plurality of image data; and

the image interface (140) is arranged for obtaining the reduced-size version (242) of the image data from the image server (200) in response to a selection by the user.

11. Image client (100) according to claim 1, wherein the image processor (160) is arranged for generating the one or more views (160) using a same type of view generation technique as used by the image server (200) to generate the desired view.

12. Image server (200) for enabling a user operating an image client (100) to obtain a desired view of image data, the image data having at least three dimensions, and the image server comprising:

a data interface (210) for accessing the image data (212);

a server interface (220) for receiving a request (142) from the image client, the request being indicative of the desired view (122) of the image data;

- a server processor (240) for generating the desired view based on the image data;

and wherein:

the server interface (220) is arranged for sending the desired view to the image client after being generated by the server processor;

- the server processor (240) is arranged for generating a reduced-size version

(242) of the image data, said reduced-size version being reduced in size by having a lower image quality than the image data; and

the server interface (220) is arranged for providing the reduced-size version of the image data (242) to the image client for use in enabling the user to navigate through the image data to indicate the desired view.

13. Method (300) for enabling a user to obtain a desired view of image data, the image data having at least three dimensions, and the method comprising:

enabling (330) the user to navigate through the image data by displaying one or more views of the image data, thereby enabling the user to indicate a desired view;

requesting (340) the desired view from an image server by sending a request to the image server being indicative of the desired view; and

displaying (350) the desired view to the user after being received from the image server;

the method further comprising:

obtaining (310) a reduced-size version of the image data from the image server, said reduced-size version being reduced in size by having a lower image quality than the image data; and

generating (320) the one or more views used in navigating through the image data based on the reduced-size version of the image data.

14. Method (400) for enabling a user operating an image client to obtain a desired view of image data, the image data having at least three dimensions, and the method comprising: receiving (430) a request from the image client, the request being indicative of a desired view of the image data;

generating (440) the desired view based on the image data; and sending (450) the desired view to the image client after being generated; the method further comprising:

generating (410) a reduced-size version of the image data, said reduced-size version being reduced in size by having a lower image quality than the image data; and

providing (420) the reduced-size version of the image data to the image client for use in enabling the user to navigate through the image data to indicate the desired view.

15. A computer program product (520) comprising instructions for causing a processor system to perform the method according to claim 13 or 14.

Description:
Enabling a user to navigate through image data

FIELD OF THE INVENTION

The invention relates to an image client and a method for enabling a user to navigate through image data. The invention further relates to an image server and a method for enabling a user operating the image client to navigate through the image data. The invention further relates to computer program product comprising instructions for causing a processor system to perform either or both of said methods.

In the technical field of imaging, an image apparatus may allow a user to navigate through image data in three spatial dimensions, such as the three spatial dimensions of volumetric image data or those formed by stack of two-dimensional images. The image apparatus may, for example, allow a user to navigate through a three-dimensional

reconstruction of a body structure by displaying two-dimensional cross-sections of the three- dimensional reconstruction in dependence on navigation commands issued by the user.

BACKGROUND OF THE INVENTION

The image apparatus may not actually comprise all of the image data. Instead, the image apparatus may be an image client that only obtains certain views of the image data from an image server. The image client and the image server may together form a system that allows the user to navigate through the image data by obtaining the views from the image server in dependence on navigation requests of the user, and displaying the views on the image client. During use, the obtained views of the image data typically constitute less data than all of the image data. Therefore, the image client may enable the user to navigate through the image data without a need for obtaining or locally storing all of the image data.

The above system, however, may suffer from latency, i.e., a delay, between a user requesting a view and the image client being able to display the view. In particular, the latency may occur while the image client obtains the view from the image server.

A patent publication WO 2012/059851 Al describes a cache controller for use in a system comprising an image client and an image server, the image client enabling a user to navigate through image data having at least three spatial dimensions by displaying views of the image data that are obtained from the image server in dependence on navigation requests of the user, and the cache controller comprising a processor configured for obtaining content data indicative of a content shown in a current view of the image client, the current view representing a first viewpoint in the three spatial dimensions of the image data, the processor being further configured for predicting a view request of the image client in dependence on the content data, the view request corresponding to a view representing a second viewpoint in the three spatial dimensions of the image data, and a communication means for obtaining the view from the image server in dependence on the view request, and for caching the view in a cache.

Accordingly, the cache controller predicts a view request of the image client based on the content of the currently shown view and caches the corresponding view.

SUMMARY OF THE INVENTION

It would be advantageous to reduce the latency that occurs while navigating through image data on an image client without a need for predicting view requests.

The following aspects of the invention enable a user to navigate through image data based on a reduced-size version of the image data. The reduced-size version of the image data is obtained by the image client from the image server. The image client generates one or more views based on the reduced-size version of the image data. The one or more views are displayed to the user while navigating through the image data. This enables the user to indicate a desired view, which is then requested from the image server.

A first aspect of the invention provides an image client for enabling a user to obtain a desired view of image data, the image data having at least three dimensions, and the image client comprising:

a user interface subsystem for enabling the user to navigate through the image data by displaying one or more views of the image data, thereby enabling the user to indicate a desired view;

an image interface for requesting the desired view from an image server by sending a request to the image server being indicative of the desired view;

wherein the user interface subsystem is arranged for displaying the desired view to the user after being received from the image server;

wherein the image interface is arranged for obtaining a reduced- size version of the image data from the image server, said reduced-size version being reduced in size by having a lower image quality than the image data; and wherein the image client further comprises an image processor for generating the one or more views used in navigating through the image data based on the reduced-size version of the image data.

A further aspect of the invention provides an image server for enabling a user operating an image client to obtain a desired view of image data, the image data having at least three dimensions, and the image server comprising:

a data interface for accessing the image data;

a server interface for receiving a request from the image client, the request being indicative of the desired view of the image data;

- a server processor for generating the desired view based on the image data; and wherein:

the server interface is arranged for sending the desired view to the image client after being generated by the server processor;

the server processor is arranged for generating a reduced-size version of the image data, said reduced-size version being reduced in size by having a lower image quality than the image data; and

the server interface is arranged for providing the reduced-size version of the image data to the image client for use in enabling the user to navigate through the image data to indicate the desired view.

A further aspect of the invention provides a method for enabling a user to obtain a desired view of image data, the image data having at least three dimensions, and the method comprising:

enabling the user to navigate through the image data by displaying one or more views of the image data, thereby enabling the user to indicate the desired view;

- requesting the desired view from an image server by sending a request to the image server being indicative of the desired view; and

displaying the desired view to the user after being received from the image server;

the method further comprising:

- obtaining a reduced-size version of the image data from the image server, said reduced-size version being reduced in size by having a lower image quality than the image data; and

generating the one or more views used in navigating through the image data based on the reduced-size version of the image data. A further aspect of the invention provides a method for enabling a user operating an image client to obtain a desired view of image data, the image data having at least three dimensions, and the method comprising:

receiving a request from the image client, the request being indicative of a desired view of the image data;

generating the desired view based on the image data; and

sending the desired view to the image client after being generated;

the method further comprising:

generating a reduced- size version of the image data, said reduced- size version being reduced in size by having a lower image quality than the image data; and

providing the reduced-size version of the image data to the image client for use in enabling the user to navigate through the image data to indicate the desired view.

The above measures provide an image client which comprises a user interface subsystem for enabling the user to navigate through image data by displaying one or more views of the image data. The image data has at least three dimensions. For example, the image data may constitute a volumetric image. The term view refers to a representation of the image data, and may correspond to a viewpoint within the three dimensions, e.g., showing a part of the image data from within the image data. Typically, such a view is constituted by a two-dimensional image, e.g., a slice or a projection image. The user interface subsystem enables the user to interact with the image client, e.g., by enabling the user to provide user input and by providing feedback based on the user input, such as displaying a different view of the image data. The user identifies a desired view by navigating through the image data. Hence, the desired view is identified at least in part as a result of the navigating. The user may indicate the desired view in various ways, e.g., implicitly by pausing further navigation, explicitly by releasing a mouse button, etc. Here, the term indicating refers to the user providing input which allows the image client to determine which view of the image data is desired. The image client comprises an image interface for requesting the desired view from the image server by means of a request. The request constitutes data which is indicative of the desired view. For example, the request may indicate a slice number, a position, etc.

The image server comprises a data interface which enables the image server to access the image data. The image server further comprises a server interface for receiving the request from the image client. The image server further comprises a server processor for generating the desired view based on the image data, e.g., by using a view generation technique. The server interface is arranged for transmitting the desired view to the image client after being generated by the server processor, e.g., immediately or shortly thereafter.

The server processor is further arranged for reducing the image data in size to generate a reduced-size version of the image data. The image interface of the image client obtains the reduced-size version of the image data from the image server. Accordingly, the reduced-size version of the image data is available locally on the image client after being obtained from the image server. The image client further comprises an image processor. The image processor uses the reduced-size version of the image data to generate the one or more views used in navigating through the image data, e.g., by using a view generation technique.

The inventor has recognized that for navigating through image data, a reduced-size version of the image data is generally sufficient. A reason for this is that the navigating may be based predominantly on distinct image features which are still comprised, i.e., visible, in the reduced-size version of the image data. A reduced-size version of the image data has a smaller size and thus can be transferred relatively quickly from the image server to the image client. In contrast, transferring the image data itself is impractical, e.g., due to the transfer taking too long, the image client having insufficient local storage, etc.

By providing the image client with a reduced-size version of the image data and by enabling the image client to locally generate the one or more views based on the reduced-size version of the image data, the user can quickly navigate through the image data, i.e., without a need for obtaining said views from the image server and thus without a corresponding latency occurring during navigating. Nevertheless, the user is still provided with a 'full' quality view, i.e., based on the image data itself instead of on its reduced-size version, after having identified the desired view during navigating. The desired view is thus a higher quality view of the image data, and the one or more views used during navigation through the image data are lower quality views of the image data due to being generated based on the reduced-size version of the image data. Advantageously, a better user experience is provided when navigating through the image data. Advantageously, it is not needed to predict view requests for the purpose of navigating through the image data.

Optionally, the image interface is arranged for, if said obtaining of the reduced-size version of the image data is still ongoing, requesting the one or more views as reduced-size versions from the image server. Although the reduced-size version of the image data has a smaller size than the image data and can thus be relatively quickly transferred from the image server to the image client, it may still be desirable to enable the user to navigate through the image data before the reduced-size version of the image data is obtained from the image server. In this case, the image server requests the one or more views as reduced-size versions from the image server. The one or more views typically represent only a part of the image data and thus are transferred more quickly than the reduced-size version of the image data. It is noted that the image server may generate said views based on the reduced-size version of the image data, or alternatively, directly as reduced-size views of the image data. Advantageously, the user can more quickly start navigating through the image data.

Optionally, the image interface is arranged for, if said obtaining of the reduced-size version of the image data is still ongoing, assigning a higher priority to receiving requested views of the image data than to receiving the reduced-size version of the image data from the image server. The image interface thus assigns a higher priority to receiving the desired view and/or the one or more views requested from the image server. Accordingly, the requested views are typically received faster than without assigning the higher priority. This aspect of the present invention is based on the insight that explicitly requested views are typically of high relevance to the user and thus preferably obtained as soon as possible. The reduced-size version of the image data is rather of relevance for improving the overall user experience which is desirable but less urgent. Hence, the above measures result in priority being given to receiving the requested views. It is noted that various ways are known from the field of computer networks that allow the priority of receiving certain types of data to be adjusted, also known as quality of service.

Optionally, the image interface is connectable to the image server via a network connection, the network connection comprising a bandwidth, and wherein assigning the higher priority comprises allocating a portion of the bandwidth to receiving the requested views of the image data. By allocating a portion of the bandwidth of the network connection for receiving the requested views, the higher priority can be effected as it is ensured that, at a minimum, said portion of the bandwidth is available for receiving the requested views.

Advantageously, a relatively large portion of the bandwidth may be allocated.

Optionally, the image interface is arranged for allocating a remaining portion of the bandwidth to receiving the reduced-size version of the image data. Advantageously, the reduced-size version of the image data is received 'in the background', i.e., without substantially effecting the receiving of requested views from the image server.

Optionally, a size of the reduced-size version of the image data is determined based on the remaining portion of the bandwidth. The size of the reduced-size version of the image data is thus dependent on the remaining available bandwidth. Advantageously, the size of the reduced-size version of the image data is chosen to match the remaining available bandwidth in that more remaining bandwidth results in a larger size of said reduced-size version and less remaining bandwidth results in a smaller size of said reduced-size version. The size of the reduced- size version of the image data may be determined by the image client, and, e.g., data indicative of the size may be included in the request. Alternatively, the image sever may determine the size of the reduced-size version of the image data.

Optionally, the image interface is arranged for receiving the requested views of the image data using a different network configuration than receiving the reduced-size version of the image data. A different network configuration is well suited for enabling assigning the higher priority to receiving the requested views of the image data.

Optionally, the different network configuration comprises at least one of the group of: a different network port, a different network protocol and a different instance of the network protocol. Such differences in network configurations are well suited for using quality of service techniques to assign the higher priority to receiving the requested views.

Optionally, the user interface subsystem is arranged for enabling the user to indicate the desired view by selecting one of the one or more views, thereby indicating a preliminary version of the desired view. Advantageously, the user can better indicate the desired view since a preliminary version is shown explicitly during the navigation.

Optionally, the user interface subsystem is arranged for enabling the user to select the image data amongst a plurality of image data, and the image interface is arranged for obtaining the reduced-size version of the image data from the image server in response to a selection by the user. Advantageously, the reduced-size version of the image data is obtained shortly after the selection by the user, thereby enabling the user to quickly start navigating through the image data after selecting said image data.

Optionally, the image processor is arranged for generating the one or more views using a same type of view generation technique as used by the image server to generate the desired view. Advantageously, similar types of views are generated by the image client as are obtained from the image server. Advantageously, an Open Graphics Library (OpenGL) implementation of a view generation technique as used by the image server may be ported so as to obtain a Web Graphics Library (WebGL) implementation for use in the image client. Advantageously, the functionality of the image processor may be provided without needing to separately develop or implement a view generation technique.

Optionally, the view generation technique is one out of the group of: multiplanar reformatting, volume rendering, and surface rendering.

Optionally, a workstation comprises the image client. Optionally, an imaging apparatus comprises the image client.

Optionally, a computer program product comprises instructions for causing a processor system to perform either or both of the abovementioned methods.

It will be appreciated by those skilled in the art that two or more of the above- mentioned embodiments, implementations, and/or aspects of the invention may be combined in any way deemed useful.

Modifications and variations of the workstation, the imaging apparatus, the method, and/or the computer program product, which correspond to the described modifications and variations of the image client, can be carried out by a person skilled in the art on the basis of the present description.

Modifications and variations of the method and/or the computer program product, which correspond to the described modifications and variations of the image server, can be carried out by a person skilled in the art on the basis of the present description.

A person skilled in the art will appreciate that the method may be applied to multi-dimensional image data, e.g., three-dimensional (3-D) or four-dimensional (4-D) images, acquired by various acquisition modalities such as, but not limited to, standard X-ray Imaging, Computed Tomography (CT), Magnetic Resonance Imaging (MRI), Ultrasound (US), Positron Emission Tomography (PET), Single Photon Emission Computed

Tomography (SPECT), and Nuclear Medicine (NM).

The invention is defined in the independent claims. Advantageous

embodiments are defined in the dependent claims.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects of the invention are apparent from and will be elucidated with reference to the embodiments described hereinafter. In the drawings,

Fig. 1 shows an image client connected to an image server for enabling a user operating the image client to obtain a desired view of image data from the image server;

Fig. 2 shows a client method for enabling the user to obtain the desired view;

Fig. 3 shows a server method for enabling the user to obtain the desired view; Fig. 4 shows a computer program product comprising instructions for causing a processor system to perform the client method and/or the server method;

Fig. 5 shows a client side obtaining a reduced-size version of the image data from a server side and the client side generating a plurality of views based on said reduced- size version of the image data for enabling the user to navigate through the image data; Fig. 6 shows the user indicating the desired view based on the plurality of views, and the client side requesting the desired view from the server side; and

Fig. 7 shows a higher priority being assigned to receiving requested views of the image data than to receiving the reduced-size version of the image data.

DETAILED DESCRIPTION OF EMBODIMENTS

Fig. 1 shows a system comprising an image client 100 and an image server 200. The image client 100 and the image server 200 are shown to be connected via a network connection 030. The network connection 030 may comprise, e.g., a local area network (LAN) connection, the Internet, a combination of LAN and the Internet, etc. The image server 200 may be part of, e.g., a Hospital Information System (HIS). For example, the image server 200 may be constituted by, e.g., a Picture Archiving and Communication System (PACS), a Radiology Information System (RIS), etc. The image client 100 may be a network connectable workstation, a personal computer, a tablet device, a smart phone, etc.

The image client 100 comprises a user interface subsystem 120 for enabling the user to navigate through the image data 212 by displaying one or more views 162 of the image data. Fig. 1 shows the user interface subsystem 120 comprising a display output 1 10 which is connected to a display 010. Fig. 1 further shows the user interface subsystem 120 comprising a user input 115 which is connected to a user input device 020. It is noted, however, that the user interface subsystem 120 may also take any other suitable form.

The display output 110 is shown to receive the one or more views 162 from an image processor 160 of the image client 100. Moreover, the display output 110 is shown to provide display data 012 to the display 010 so as to enable the display 010 to display the one or more views to the user. Said displaying may be sequential, e.g., views may be displayed alternatingly over time. Additionally or alternatively, the displaying of the one or more views may be simultaneous, e.g., in the form of a gallery, or a combination of sequential and simultaneous display, e.g., in the form of a current view being shown simultaneous with a previous view and a next view. The user may navigate through the image data by suitably operating the user input device 020. For that purpose, the user input device 020 may provide input data 022 to the user input 115 which is indicative of the user's operation. For example, in case the user input device 020 is a computer mouse, the user may navigate through the image data by operating a scroll wheel of the computer mouse 020, e.g., by scrolling the scroll wheel. The image data comprises at least three dimensions. It will be appreciated that the navigation of the user is typically a navigation within said three dimensions. The user interface subsystem 120 is further arranged for enabling the user to indicate the desired view based on the navigation through the image data. For example, the user may indicate the desired view implicitly, e.g., by ceasing further navigation. The user may also indicate the desired view explicitly, e.g., by releasing a mouse button. As a result, the user interface subsystem obtains data 116 which allows indicating the desired view.

The image client 100 further comprises an image interface 140, such as a network interface, for requesting the desired view from the image server 200. For that purpose, the image interface 140 is arranged for sending a request 142 to the image server 200 which is indicative of the desired view. The request 142 is shown in Fig. 1 schematically as a separate arrow. It will be appreciated that, in practice, the request 142 may constitute data which is transferred via the network connection 030, e.g., in the form of a data packet.

The image server 200 comprises a server interface 220 for receiving the request 142 from the image client 100. Moreover, the image server 200 comprises a data interface 210 for accessing the image data 212. Fig 1 shows the data interface 210 being an external interface for accessing the image data on a storage means 260. The storage means 260 may be, e.g., a PACS. In this case, the image server 200 may constitute a rendering server 200 which accesses the image data 212 on the PACS 260. Although not shown in Fig. 1, the storage means 260 may also be part of the image server 200, i.e., constitute a local storage means. In this, the data interface 210 may be an internal storage interface.

The image server 200 further comprises a server processor 240 for generating the desired view 122 based on the image data 212. For that purpose, the server processor 240 may employ a view generation technique as is known from the field of image visualization, and in particular, the field of volumetric image visualization. For example, the server processor 240 may generate the desired view 122 based on multi-planar reformatting, volume rendering, and/or surface rendering of the image data 212. The server interface 220 is further arranged for sending the desired view 122 to the image client 100 after being generated by the server processor 240, e.g., via the network connection 030.

At the image client 100, the user interface subsystem 120 is arranged for displaying the desired view 122 to the user after being received from the image server 200. Accordingly, the user can is enabled to obtain the desired view of the image data, e.g., to more closely study said view, to perform further image processing of said view, etc.

The image interface 140 of the image client 100 is further arranged for obtaining a reduced-size version 122 of the image data from the image server 200, said reduced-size version being reduced in size by having a lower image quality than the image data. Moreover, at the image server 200, the server processor 240 is arranged for generating the reduced-size version 242 of the image data, and the server interface 220 is arranged for providing the reduced- size version 242 of the image data to the image client 100. The server interface 220 may provide the reduced-size version 242 of the image data at the request of the image client 100, e.g., in the form of a 'pull' operation. Alternatively or additionally, the server interface 220 may provide the reduced-size version 242 of the image data without an explicit request of the image client 100, e.g., in the form of a 'push' operation. Similarly, the server processor 240 may generate the reduced-size version 242 of the image data at the request of the image client 100. Alternatively or additionally, the server processor 240 may generate the reduced-size version 242 of the image data without an explicit request of the image client, e.g., at a time when a utilization of the image server 200 is relatively low. The reduced-size version 242 may thus be pre-generated by the image server 200.

The reduced-size version 242 is reduced in size by having a lower image quality than the image data 212. For example, the server processor 240 may reduce a resolution of the image data 212 to obtain a lower-resolution version of the image data.

Another example is that the server processor 240 may use a so-termed lossy compression technique to generate the reduced-size version 242 of the image data 212. It is noted that the reduction in size refers to a reduction in data size. As a result, the reduced-size version 242 of the image data needs less transmission time, less storage space, etc, than the image data 212.

The image client 100 further comprises an image processor 160 for generating the one or more views 162 used in navigating through the image data based on the reduced- size version 242 of the image data. It is noted that the one or more views 162 are therefore locally generated by the image client 100 based on the reduced-size version 242 of the image data. However, the desired view 122, as identified by the viewer, is still obtained from the image server 200, where it is generated by the server processor 240 based on the image data 212. It will be appreciated that, typically, the one or more views 162 have a lower image quality by being generated based on the reduced-size version 242 of the image data, and the desired view, as obtained from the image server 200, has a higher image quality by being generated based on the image data 212 instead of on its reduced-size version 242.

Fig. 2 shows a method 300 for enabling a user to obtain a desired view of image data. The method 300 may correspond to an operation of the image client 100, and as such, is also referred to as a client method 300. However, the method 300 may be equally performed in separation of the image client 100, e.g., on a different system. The client method 300 comprises, in a step titled "INDICATING DESIRED VIEW", enabling 330 the user to navigate through the image data, having at least three- dimensions, by displaying one or more views of the image data, thereby enabling the user to indicate the desired view. The client method 300 further comprises, in a step titled

"REQUESTING DESIRED VIEW", requesting 340 the desired view from an image server by sending a request to the image server being indicative of the desired view. The client method 300 further comprises, in a step titled "DISPLAYING DESIRED VIEW", displaying 350 the desired view to the user after being received from the image server.

The client method 300 further comprises, before performing the above steps 330-350, obtaining 310 a reduced-size version of the image data from the image server in a step titled "OBTAINING REDUCED-SIZE IMAGE DATA", said reduced-size version being reduced in size by having a lower image quality than the image data, and in a step titled "GENERATING VIEWS FOR NAVIGATION", generating 320 the one or more views used in navigating through the image data based on the reduced-size version of the image data.

Fig. 3 shows a further method 400 for enabling a user to obtain a desired view of image data. The method 400 may correspond to an operation of the image server 200, and as such, is also referred to as a server method 400. However, the method 400 may be equally performed in separation of the image server 200, e.g., on a different system.

The server method 400 comprises, in a step titled "RECEIVING REQUEST OF DESIRED VIEW", receiving 430 a request from the image client, the request being indicative of a desired view of the image data. The server method 400 further comprises, in a step titled "GENERATING DESIRED VIEW", generating 440 the desired view based on the image data. The server method 400 further comprises, in a step titled "SENDING DESIRED VIEW", sending 450 the desired view to the image client after being generated.

The server method 400 further comprises the following steps 410-420 which are performed sequentially, but which together may be performed before (as shown in Fig. 3), after or during the performing of the earlier mentioned steps 430-450. The server method 400 comprises, in a step titled "GENERATING REDUCED-SIZE IMAGE DATA", generating 410 a reduced-size version of the image data, said reduced-size version being reduced in size by having a lower image quality than the image data. The server method 400 further comprises, in a step titled "PROVIDING REDUCED-SIZE IMAGE DATA", providing 420 the reduced-size version of the image data to the image client for use in enabling the user to navigate through the image data to indicate the desired view. Fig. 4 shows a computer program product 520 comprising instructions for causing a processor system to perform the client method 300 and/or the server method 400. The computer program product 520 may be comprised on a computer readable medium 500, for example in the form of as a series of machine readable physical marks and/or as a series of elements having different electrical, e.g., magnetic, or optical properties or values.

The present invention will be further discussed with reference to Figs. 5-7.

Fig. 5 illustratively shows a server side generating a reduced-size version 242 of the image data and transferring said reduced-size version 242 to the client side. For that purpose, a left side of the dashed line schematically represents the client side, e.g., operations taking place on the image client, and a right side of the dashed line schematically represents the server side, e.g., operations taking place on the image server.

Fig. 5 shows the reduced-size version 242 of the image data being generated 410 on the server side based on the image data 212. This is illustratively shown by the reduced-size version 242 of the image data being depicted as a three-dimensional cube which is smaller in size than a three-dimensional cube of the image data 212. Fig. 5 further shows the reduced-size version 242 of the image data being transferred 310, 420 to the client side. Having obtained the reduced-size version 242 of the image data, a plurality of views 162 are generated 320 based on said reduced-size version 242. The plurality of views 162 is then used for enabling the user to navigate 330 through the image data 212. In the example of Fig. 5, the plurality of views 162 is shown sequentially, in that the user is first shown a first view showing, for purposes of illustration, the letter 'Α'. It can be seen in Fig. 5 that the first view shows the letter 'A' having a relatively poor quality, e.g. comprising staircasing artifacts commonly associated with low-resolutions image data and/or views thereof.

Fig. 6 shows a result of the user navigating 330 through the image data 212. As a consequence, the user is shown a second view showing, for purposes of illustration, the letter 'Β'. It is noted that the letter 'A' may represent a first part of the image data 212, and the letter 'B' may represent an adjacent part of the image data 212, e.g., a first slice and a second slice in case the image data 212 is constituted by a stack of two-dimensional slices.

The user may indicate a desired view based on the currently shown view, i.e., in the example of Fig. 6, the second view. The second view may constitute a preliminary version 121 of the desired view in that it shows a region of interest in the image data 212 but is generated based on the reduced-size version 242 of the image data and thus has a relatively low quality. The view actually desired by the user may show the same region of interest in the image data 212 at a higher quality. Accordingly, the user may select the second view to indicate that a higher quality version of said view is desired. In response, the desired view 122 is requested 340, 430 from the server side. At the server side, the desired view 122 is generated based on the image data 212 and transmitted 450 to the client side. At the client side, the preliminary version 121 of the desired view may be displayed to the user until the desired view 122 is received from the server side. After receiving the desired view 122, the desired view is then displayed to the user, e.g., instead of the preliminary version 121 of the desired view. As a result, the user obtains a higher quality view. In the example of Fig. 6, this results in the user being shown the letter 'B' without the staircasing artifacts.

It will be appreciated that although the reduced-size version 242 of the image data constitutes less data and may thus be more quickly transferred from the image server 200 to the image client 100 via the network connection 030, it may still require a certain amount of time during which the user of the image client 100 may already desire to navigate through the image data. For addressing this, the image interface 140 may be arranged for, if said obtaining of the reduced-size version 242 of the image data is still ongoing, requesting the one or more views 162 from the image server 200. For that purpose, the image server 200, and in particular the server processor 240, may be arranged for generating the one or more views 162 based on the reduced-size version 242 of the image data. Alternatively, the server processor 240 may directly generate reduced-size views of the image data.

Additionally or alternatively, the image interface 140 may be arranged for, if said obtaining of the reduced-size version 242 of the image data is still ongoing, assigning a higher priority to receiving requested views of the image data than to receiving the reduced- size version 242 of the image data from the image server 200. The requested views may be, e.g., the desired view 122 and/or the one or more views 162 if requested from the image server 200. The image interface 140 may be arranged for assigning the higher priority at least in part by allocating a portion 610 of the bandwidth to receiving the requested views of the image data. It is noted that, alternatively or additionally to allocating a portion of the bandwidth, various other ways of assigning the higher priority may be advantageously used, as are known from, e.g., the field of quality of service. Moreover, it is noted that although the description refers to the image interface 140 being arranged for assigning said higher priority, additionally or alternatively the server interface 220 of the image server 200 may be arranged accordingly. This applies to all embodiments concerning assigning the higher priority.

Fig. 7 schematically illustrates a use of the bandwidth of the network connection 030 over time. Here, the horizontal axis 601 corresponds to time and covers a time period, and the vertical axis 602 corresponds to a use of the bandwidth during said time. It is noted that the use of the bandwidth is cumulative in that various uses of the bandwidth sum up to a given bandwidth, e.g., 100%. Fig. 7 shows the obtaining, i.e., the transferring of the reduced-size version 242 of the image data being ongoing in a first half of the time period covered by Fig. 7. The transfer of the reduced-size version 242 of the image data is schematically illustrated by a dashed area. Fig. 7 shows that, by way of example, the transfer of the reduced-size version 242 initially uses substantially 100% of the available bandwidth of the network connection 030. In this respect, it is noted that the available bandwidth of the network connection 030 may be determined by a lowest available bandwidth throughout the network connection 030, i.e., by its bottleneck. Since the transfer of the reduced-size version 242 is still ongoing in said first half of the time period, the image client may request one or more views 162 from the image server, e.g., to enable the user to already navigate through the image data or a part thereof. In the example of Fig. 7, three views 162 are consecutively and separately transmitted. Since a portion 610 of the bandwidth is allocated for transferring the requested views, e.g., 80%> of the available bandwidth of the network connection 030, the bandwidth for transferring the reduced-size version 242 of the image data is momentarily reduced, e.g., to 20% of the available bandwidth. After having transferred the one or more views 162, the transfer of the reduced-size version 242 may again revert to using

substantially 100% of the available bandwidth of the network connection 030.

Fig. 7 further shows a result of the user indicating a desired view 1220 while the transfer of the reduced-size version 242 of the image data is still ongoing. Accordingly, the desired view 1220 may be requested from the image server and transferred to the image client. Again, the bandwidth for transferring the reduced-size version 242 of the image data is momentarily reduced and after said transfer again increased. At the end of the first half of the time period of Fig. 7, the transfer of the reduced-size version 242 of the image data is completed. Accordingly, the image client may now locally generate one or more views for enabling the user to navigate through the image data. It is noted that although one or more views 162 have already been obtained from the image server, said one or more views may enable the user to, e.g., navigate only through a part of the image data. In general, there is typically still a need to generate further views of the image data, e.g., to enable the user to indicate a further desired view from another part of the image data. Fig. 7 shows a result of this, i.e., the further desired view 1221 is transferred from the image server.

In general, the image interface 140 may be arranged for allocating a remaining portion of the bandwidth to receiving the reduced-size version 242 of the image data.

Moreover, a size of the reduced-size version 242 of the image data may be determined based on the remaining portion of the bandwidth. The image interface 140 may also be arranged for receiving the requested views of the image data using a different network configuration than receiving the reduced-size version of the image data. The different network configuration may be, e.g., a different network port, a different network protocol and/or a different instance of the network protocol. For example, a different WebSocket connection may be used, which differs in network port and server component used at the server side.

At the image client 100, the user interface subsystem 120 may be arranged for enabling the user to select the image data 212 amongst a plurality of image data, and the image interface 140 may be arranged for obtaining the reduced-size version 242 of the image data from the image server 200 in response to a selection by the user.

In general, the image processor 160 may be arranged for generating the one or more views 160 using a same type of view generation technique as used by the image server 200 to generate the desired view. For example, if the image server 200 uses multi-planar reformatting, the image processor 160 may also use multi-planar reformatting.

The image client may be constituted at least in part by a web application that obtains views of three-dimensional image data from the image server. Essentially, the image server may comprise, or may be constituted by, a web application server. The web application may be a WebGL-based application. In particular, the view generation, as performed by the image processor, may be implemented in WebGL. The WebGL

implementation may be a port of an OpenGL implementation of the view generation technique as used by the image server, i.e., be functionally similar, with the port involving replacing OpenGL function calls by corresponding WebGL function calls.

It is noted that through the text, image data refers to a data representation of an image. The image is a visual representation of information. The image data typically comprises data elements such as luminance or chrominance values of portions of the image. Alternatively, the data elements may be other values that may be interpreted and thus visualized as luminance or chrominance values. The portions of the image may be represented by pixels. It will be appreciated that any suitable data representation may be used as known from, e.g., the technical fields of image processing or image coding.

It will be appreciated that the invention also applies to computer programs, particularly computer programs on or in a carrier, adapted to put the invention into practice. The program may be in the form of a source code, an object code, a code intermediate source and an object code such as in a partially compiled form, or in any other form suitable for use in the implementation of the method according to the invention. It will also be appreciated that such a program may have many different architectural designs. For example, a program code implementing the functionality of the method or system according to the invention may be sub-divided into one or more sub-routines. Many different ways of distributing the functionality among these sub-routines will be apparent to the skilled person. The sub- routines may be stored together in one executable file to form a self-contained program. Such an executable file may comprise computer-executable instructions, for example, processor instructions and/or interpreter instructions (e.g. Java interpreter instructions). Alternatively, one or more or all of the sub-routines may be stored in at least one external library file and linked with a main program either statically or dynamically, e.g. at run-time. The main program contains at least one call to at least one of the sub-routines. The sub-routines may also comprise function calls to each other. An embodiment relating to a computer program product comprises computer-executable instructions corresponding to each processing step of at least one of the methods set forth herein. These instructions may be sub-divided into subroutines and/or stored in one or more files that may be linked statically or dynamically.

Another embodiment relating to a computer program product comprises computer-executable instructions corresponding to each means of at least one of the systems and/or products set forth herein. These instructions may be sub-divided into sub-routines and/or stored in one or more files that may be linked statically or dynamically.

The carrier of a computer program may be any entity or device capable of carrying the program. For example, the carrier may include a storage medium, such as a

ROM, for example, a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example, a hard disk. Furthermore, the carrier may be a transmissible carrier such as an electric or optical signal, which may be conveyed via electric or optical cable or by radio or other means. When the program is embodied in such a signal, the carrier may be constituted by such a cable or other device or means. Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted to perform, or used in the performance of, the relevant method.

It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. Use of the verb "comprise" and its conjugations does not exclude the presence of elements or steps other than those stated in a claim. The article "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.