CA2759738C - Remote cine viewing of medical images on a zero-client application - Google Patents

Remote cine viewing of medical images on a zero-client application Download PDF

Info

Publication number
CA2759738C
CA2759738C CA2759738A CA2759738A CA2759738C CA 2759738 C CA2759738 C CA 2759738C CA 2759738 A CA2759738 A CA 2759738A CA 2759738 A CA2759738 A CA 2759738A CA 2759738 C CA2759738 C CA 2759738C
Authority
CA
Canada
Prior art keywords
image
medical images
web server
screen image
zero
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CA2759738A
Other languages
French (fr)
Other versions
CA2759738A1 (en
Inventor
William A.N. Lingley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
Merge Healthcare Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Merge Healthcare Inc filed Critical Merge Healthcare Inc
Priority to CA2759738A priority Critical patent/CA2759738C/en
Publication of CA2759738A1 publication Critical patent/CA2759738A1/en
Application granted granted Critical
Publication of CA2759738C publication Critical patent/CA2759738C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Epidemiology (AREA)
  • Signal Processing (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

Systems and methods for remotely viewing medical images on a client device having a zero-client web application with a buffering module. The zero-client web application receives an image series selection from a user and receives corresponding series details from a web server. The zero-client web application generates an off-screen image array according to the series details. The buffering module outputs image requests based on the series details to a web server. The web server is m communication with a medical image database storing images in a non-web browser compatible format (e.g., DICOM). The buffering module then populates the off-screen image array with converted medical images received from the web server. The zero-client web application further includes an on-screen image and a display module. The display module sequentially sets converted medical images of the off-screen array as the on- screen image to stream the converted medical images.

Description

Attorney Docket No. 026436-9104 REMOTE CINE VIEWING OF MEDICAL IMAGES ON A
ZERO-CLIENT APPLICATION
FIELD OF THE INVENTION
100011 The present invention relates to remote eine viewing of medical images.
SUMMARY
100021 In some embodiments, the invention provides a method of viewing medical images on a remote device using a zero-client web application. The method includes receiving, from a user, an image series selection via the zero-client web application and establishing a connection between the zero-client web application and a web server. The web application further receives series details from the web server and generates an off-screen image array according to the series data Based on the series details, a buffering module outputs image requests to the web server, which is in communication with a medical image database storing images in a non-web browser compatible format. The zero-client web application receives, from the web server, converted medical images in response to the image requests_ The converted medical images arc in a web browser compatible format. The buffering module populates the off-screen image array with the converted medical images received from the web server. A display module sets a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image. Thereafter, the display module sets a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image. The display module then sequentially sets subsequent converted medical images of the off-screen image array as the on-screen image to stream the converted medical images.
100031 In some embodiments, the invention provides a client device for remotely viewing medical images. The client device includes a zero-client web application, a communication interface, a buffering module, a memory, and a display module. The communication interface enables communications between the zero-client web application and a web server. The zero-client web application receives, from a user, an image series selection and receives, from the web server, series details corresponding to the image series selection. The zero-client web Attorney Docket No. 026436-9104 application further generates an off-screen image array according to the series details. The buffering module outputs image requests based on the image series selection to the web server, which is in communication with a medical image database storing images in a non-web browser compatible format. The memory stores the off-screen image array generated by the zero-client web application. The buffering module populates the off-screen image array with the converted medical images received from the web server in response to the image requests.
The converted medical images are in a web browser compatible format. The display module sets a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image. Thereafter, the display module sets a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image. The display module then sequentially sets subsequent converted medical images of the off-screen array as the on-screen image to stream the converted medical images.
j00041 In some embodiments, the invention provides a computer readable medium including computer executable instructions that, when executed by a processor of a client device, generate a zero-client web application that enables remote viewing of medical images.
The zero-client web application receives, from a user, an image series selection via the zero-client web application and establishes a connection between the zero-client web application and a web server, The zero-client web application further receives series details from the web server and generates an off-screen image array according to the series details, The zero-client web application includes a buffering module that outputs, based on the series details, image requests to the web server, which is in communication with a medical image database storing images in a non-web browser compatible format. The zero-client web application receives from the web server, converted medical images in response to the image requests. The converted medical images arc in a web browser compatible format. The buffering module populates the off-screen image array with the converted medical images received from the web server.
The zero-client web application also sets a first converted medical image within the off-screen image array as an an-screen image to display the first converted medical image, sets a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image; and sequentially sets subsequent
2 converted medical images of the off-screen image array as the on-screen image to stream the converted medical images.
According to an aspect of the present invention, there is provided a method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving, from a user, an image series selection via the zero-client web application;
establishing a connection between the zero-client web application and a web server;
receiving series details from the web server;
generating, by the zero-client web application, an off-screen image array according to the series details;
outputting, by a buffering module, image requests to the web server based on the series details, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
receiving, from the web server, converted medical images in response to the image requests, wherein the converted medical images are in a web browser compatible format;
populating, by the buffering module, the off-screen image array with the converted medical images received from the web server;
setting a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image;
setting a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image; and sequentially setting subsequent converted medical images of the off-screen image array as the on-screen image to stream the converted medical images.
According to another aspect of the present invention, there is provided a client device for remotely viewing medical images, the client device comprising:
a communication interface enabling communications between a zero-client web application and a web server, wherein the zero-client web application receives, from a user, an image series selection, receives, from the web server, series details, and generates an off-screen image array according to the series details;
a buffering module that outputs image series requests based on the series details to the web server, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
3 a memory storing the off-screen image array generated by the zero-client web application, wherein the buffering module populates the off-screen image array with the converted medical images received from the web server in response to the image requests, and wherein the converted medical images are in a web browser compatible format;
a display module that sets a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image;
sets a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image; and sequentially sets subsequent converted medical images of the off-screen array as the on-screen image to stream the converted medical images.
According to another aspect of the present invention, there is provided a non-transitory computer readable medium including computer executable instructions that, when executed by a processor of a client device, generate a zero-client web application that:
receives, from a user, an image series selection via the zero-client web application;
establishes a connection between the zero-client web application and a web server;
receives series details from the web server;
generates, by the zero-client web application, an off-screen image array according to the series details;
outputs, by a buffering module, image requests to the web server based on the series details, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
receives, from the web server, converted medical images in response to the image requests, wherein the converted medical images are in a web browser compatible format;
populates, by the buffering module, the off-screen image array with the converted medical images received from the web server;
sets a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image;
sets a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image; and sequentially sets subsequent converted medical images of the off-screen image array as the on-screen image to stream the converted medical images.
3a According to another aspect of the present invention, there is provided a method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving an image series selection via the zero-client web application, the zero-client web application in communication with a web server;
outputting image requests to the web server based on the image series selection, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
receiving, from the web server, converted medical images in response to the image requests, wherein the converted medical images are in a web browser compatible format;
populating an off-screen image array with the converted medical images received from the web server; and streaming the converted medical images on the zero-client web application using the off-screen image array.
According to another aspect of the present invention, there is provided a client device for remotely viewing medical images, the client device comprising:
a communication interface enabling communications between a zero-client web application and a web server, wherein the zero-client web application receives an image series selection;
a buffering module that outputs image series requests to the web server, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
an off-screen image array populated with converted medical images received from the web server in response to the image series requests, wherein the converted medical images have been converted to a web browser compatible format from the images in the medical image database in the non-web browser compatible format; and a display module that streams the converted medical images on the zero-client web application using the off-screen image array.
According to another aspect of the present invention, there is provided a method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving an image series selection via the zero-client web application;
3b establishing a connection between the zero-client web application and a web server;
receiving series details from the web server;
generating, by the zero-client web application, an off-screen image array according to the series details;
outputting, by a buffering module, image requests to the web server based on the series details, wherein the web server is in communication with a medical image database;
receiving, from the web server, medical images in response to the image requests, the medical images being in a web browser compatible format;
populating, by the buffering module, the off-screen image array with the medical images received from the web server;
displaying a first medical image from the off-screen image array as an on-screen image to display the first medical image;
displaying a next medical image from the off-screen image array as the on-screen image in place of the first medical image; and sequentially displaying subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
According to another aspect of the present invention, there is provided a method of streaming medical images on a remote device using a zero-client web application, the method comprising:
receiving, from a web server, medical images;
populating an off-screen image array with the medical images received from the web server;
receiving, by the zero-client web application, a requested frame rate;
determining a bandwidth of a connection between the zero-client web application and the web server;
determining a second frame rate based on the bandwidth; and during a buffering stage, streaming the medical images, using the off-screen image array, at a frame rate that is the lower of the requested frame rate and the second frame rate.
According to another aspect of the present invention, there is provided a client device for remotely streaming medical images, the client device comprising:
a zero-client web application;
a communication interface enabling communications between the zero-client web application and a web server;
3c a display;
a processor coupled to the display and the communication interface, the processor configured to execute the zero-client web application to:
receive, from a web server, medical images;
populate an off-screen image array with the medical images received from the web server;
receive a requested frame rate;
determine a bandwidth of the communications between the zero-client web application and the web server;
determine a second frame rate based on the bandwidth; and during a buffering stage, stream the medical images, using the off-screen image array, at a frame rate that is the lower of the requested frame rate and the second frame rate.
According to another aspect of the present invention, there is provided a method of streaming medical images on a remote device using a zero-client web application, the method comprising:
receiving, at a processor executing the zero-client web application, medical images from a web server;
populating, in a buffering stage, an off-screen image array with the medical images received from the web server;
streaming the medical images, using the off-screen image array, at a first frame rate during the buffering stage, the first frame rate selected based on a bandwidth of a connection between the zero-client web application and the web server;
determining that the buffering stage has ended; and streaming the medical images, using the off-screen image array, at a second frame rate in response to determining that the buffering stage has ended.
According to another aspect of the present invention, there is provided a client device for remotely streaming medical images, the client device comprising:
a zero-client web application;
a communication interface enabling communications between the zero-client web application and a web server;
a display;
a processor coupled to the display and the communication interface, the processor 3d configured to execute the zero-client web application to:
receive an image series selection;
output image series requests to the web server, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
populate an off-screen image array with converted medical images received from the web server in response to the image series requests, wherein the converted medical images have been converted to a web browser compatible format from the images in the medical image database in the non-web browser compatible format;
and stream, on the display, the converted medical images using the off-screen image array.
According to another aspect of the present invention, there is provided a method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving image requests from a client device, at a web server, based on an image series selection received by the client device executing a zero-client web application, requesting, from a medical image database storing images in a non-web browser compatible format, medical images in response to the image requests;
converting, by the web server, the medical images to a web browser compatible format to generate converted medical images;
sending, by the web server, the converted medical images to the client device, wherein the client device is configured to populate an off-screen image array with the converted medical images sent by the web server, and stream the converted medical images on the zero-client web application using the off-screen image array.
According to another aspect of the present invention, there is provided a web server for providing medical images for viewing on a zero-client web application, the web server comprising:
a memory;
a network connection to a client device executing a zero-client web application;
a database connection to a medical image database storing images in a non-web browser compatible format; and 3e a processor, the processor configured to:
receive image requests from a client device based on an image series selection received by the client device executing the zero-client web application, request, from the medical image database over the database connection, medical images in response to the image requests;
convert the medical images to a web browser compatible format to generate converted medical images;
send the converted medical images to the client device over the network connection, wherein the client device is configured to populate an off-screen image array with the converted medical images sent by the web server, and stream the converted medical images on the zero-client web application using the off-screen image array.
According to another aspect of the present invention, there is provided a method of viewing medical images on a remote device using a zero-client web application, the method comprising:
establishing, by a web server, a connection with a zero-client web application executing on a client device;
receiving, by the web server, image requests from the client device based on an image series selection received by the client device, providing, by the web server, series details to the client device, the series details defining an off-screen image array;
requesting, from a medical image database storing images in a non-web browser compatible format, medical images in response to the image requests;
converting, by the web server, the medical images to a web browser compatible format to generate converted medical images;
sending, by the web server, the converted medical images to the client device, wherein the client device is configured to populate the off-screen image array with the converted medical images sent by the web server;
display a first medical image from the off-screen image array as an on-screen image to display the first medical image;
display a next medical image from the off-screen image array as the on-screen image in place of the first medical image; and 3f sequentially display subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
[0005] Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
100061 Fig. 1 depicts a system for remote viewing of medical images using a zero-client web application.
[0007] Figs. 2-3 depict a graphical user interface of a zero-client web application.
[0008] Figs. 4A-F depict a process for remote cine viewing of medical images according to embodiments of the invention.
100091 Fig. 5 depicts a method of streaming remotely stored images on a zero-client web application according to embodiments of the invention.
100101 Fig. 6 depicts a method for determining a frame playback rate.
[0011] Fig. 7 depicts a method for handling a request from a zero-client web application for medical images stored in an incompatible format.
DETAILED DESCRIPTION
[0012] Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Additionally, although steps of methods are described herein as being executed in a particular order, in some instances, these steps may be executed in another order, simultaneously, and/or partially simultaneously.
3g Attorney Docket No. 026436-9104 10013] In a client-server architecture, various functions are carried out by the client, and other functions are carried out by the server. The more functions performed by the client, rather than the server, the "thicker" the client. In contrast, the more functions performed by the server, rather than the client, the "thinner" the client. Accordingly, a thick client web application is an application executed by a web browser of a client device that typically provides extensive functionality independent of a central server. Thick client web applications consume computer resources and use operating system capabilities of the client device's operating system and installed libraries beyond the capabilities of a standard web browser. A thick client web application can, for instance, receive data (e.g., images) in a raw or intermediate state and process the data locally on the client device with less reliance on processing at the server. A
thick client may also be referred to as a fat client, a heavy client, and a rich client. In contrast, a thin client web application executing on a client device relies on the processing power of the server. Thus, a thin client web application uses fewer computer resources and operating system capabilities of the client device than a thick client web application and typically uses a browser plugin or atidon. A thin client web application uses, for instance, ActiveX, Flash, or Silverlight plugins where the plugin must exist on the client device or be installed before the web application can be used.
1001411 A zero-client web application is a web application that does not use web browser plug-ins or add-ons to extend the functionality of the core web browser program_ Embodiments of the invention allow for remote eine viewing of medical images on a client device with a zero-client web application. In the context of this application, a zero-client web application means a web application executing in a standard web browser without browser plug-ins or add-ons for performing the remote image viewing functions described herein. In other words, a user of the client device does not need to install specialized plug-ins or add-ons to carry out the remote image viewing described in this application. The core web browser has sufficient processing capabilities to display and stream medical images that are compatible, such as Portable Network Graphics (PNG) or Joint Photographic Experts Group (MEG) images, and the server performs the remaining image processing functions to render medical images in a format appropriate for the zero-client web application for display or streaming without plug-ins or add-ons. A zero-client web application is, for instance, HyperText Markup Language (HTML) and JavaScript code stored on a web server and downloaded and executed by a web browser.
4 AllUrIley 13011 NO. 0204-1114 100151 Fig. 1 depicts a system 100 including a client device 105 with a web browser 106 that is executing a zero-client web application 110. The zero-client web application 110 is in communication with a web server 115 via a connection 117 over a network 120.
The network 120 is one or more of the Internet, a local area network (LAN), a wide area network (WAN), and other computer networks. The client device 105 and web server 115 are coupled to the network 120 directly or indirectly by way of, e.g., a hub, router, or similar device.
Such couplings include wired connections (universal serial bus (1.1.SB), Ethernet, etc.), wireless connections (e.g., Bluctooth, WiFi, cellular, etc.) or a combination thereof The zero-client web application 110 may be stored on the web server 115 and a copy is transmitted to the web browser 106 in response to the user navigating the web browser 106 to a web site 140 generated by the web server 115. Thereafter, the web browser 106 executes the zero-client web application 110, as described in greater detail below.
100161 The web server 115 is further in communication with an image server 125 via the network 120. The image server 125 stores medical images in an image database 130 generated by the medical imager 135. The medical imager 135 is one of a radiology imager, magnetic resonance imaging (IVI1U), computer tomography (CT) scan device, ultrasound device, thenno-graphic imaging device, or another imaging device that generates a medical image in a digital form. The image server 125 is in communication with the medical imager 135 via the network 120, either directly or via one or more intermediate systems that may be used in the cormnunication of medical images. The images within the image database 130 include computed tomography (CT scan) images, magnetic resonance imaging (MRI) images, x-ray images, and other graphical depictions of patient medical information.
100171 Although shown as connected through the network 120, in some instances, one or more of the client device 105, web server 115, image server 125, and medical imager 135 are directly coupled (e.g., via a wired connection or direct wireless connection) or coupled via independent networks. For instance, the client device 105 may be coupled to the web server 115 via the Internet, while the web server 115 and image server 125 are coupled via an independent local area network (LAN), and the image server 125 and medical imager 135 are directly coupled.

Attorney Docket No. 026436-9104 100181 The client device 105 is one of a personal computer, kiosk, tablet, laptop, mobile phone device (e.g., an iPhone014), Blackberry , Droid , etc.), or other computing device with an ability to connect to the network 120 and run the browser 106 to execute the zero-client web application 110. The client device 105 includes a processor that executes the browser 106, zero-client web application 110, and other software stored in a memory associated with the client device 105. In some embodiments, one or more of the software programs are stored remotely from the client device 105. The zero-client web application 110 may be stored on a computer readable medium, such as a hard disk, compact disc, flash drive, or other non-transitory, tangible computer readable medium. Additionally, although the zero-client web application 110 is described herein as software executed by a processor of the client device 105, in some instances, the zero-client web application 110 and other software are implemented partially or completely in hardware (e.g., using a field programmable gate array (FPGA) or application specific integrated circuit (ASIC)).
100191 The client device 105 further includes a power source, a display (e.g., a touch screen display), user inputs (e.g., push buttons, scroll wheels, a keyboard, a mouse, a microphone), user outputs (e.g. speakers), and a network communications interface for interfacing with the network 120. The power source is, for instance, a battery that provides power to the components of the client device 105. In some instances, the power source receives power from an external battery, wall outlet, or other external power source, and provides the power to components of the client device 105.
100201 The zero-client web application 110 provides a graphical user interface (GUI) on the display of the client device 105. The GUI enables the user to interact with the zero-client web application 110 by way of the display, user input, audio in/out, etc_ [0021] Fig. 2 illustrates an exemplary GUI 150 of the zero-client web application 110. The GUI 150 is generated by the zero-client web application 110 in response to receiving data from the web site 140. The GUI 150 includes navigation tools 155, a search tool 160, a series list 165, and a preview window 170. The search tool 160 enables a user to enter keywords, patient identifiers, and other search parameters to locate and identify images in the image database 130.

Attorney Docket No. 026416-9104 Medical images within the image database 130 may be grouped together to form an image series.
For example, a CT scan may result in a sequence of images that form an image series.
[0022) The series list 165 includes a list of image series including series 1, series 2, series 3, and series 4, each ot which includes one or more medical images associated with an example patient identifier "patient 1234." The series list 165 may include the series most recently viewed by the user, the results of a search performed using the search tool 160, or other series. A
thumbnail 175 representative of a highlighted series within series list 165 is shown in the preview window 1'70. A user can highlight a series by hovering a mouse over the series, clicking on the series with a mouse, or selecting the series via a touch screen display, among other I/0 techniques.
190231 By selecting the view button 180, double clicking on a series within series list 165, or using another 1/0 technique, the Citil 150 is updated as shown in Fig. 3. The GUI 150 of Fig. 3 includes series information I 85, a frame rate selector 190, and a series player 200 including a display window 205 and player controls 210. The series information 185 lists details of the series selected as described above with respect to Fig. 2. The series information 185 includes a patient identifier (i.e., patient 1234), which may be the patient's name, patient identification number, or another unique identifier. The series information 185 may also include the date that the study was created (e.g., the date of a CT scan), a description of the study (e.g., neural MR1 scan, kidney ultrasound, etc.), additional patient information (e.g., age, previous diagnoses), previous notes made by medical staff regarding the patient or the series, and other information.
100241 The user interacts with the player controls 210 to start, pause, skip, and restart the playing of a series of images in the display window 205. A slider 212 along timeline 213 indicates the elapsed time of the image series playback. The user may also drag the slider 212 to adjust the image being displayed in the display 205. The frame tate selector 190 enables a user to specify the playback frame rate for the series in the series player 200.
The user may specify one of a set of predetermined frame rate options, or specify a particular frame rate. In some embodiments, a frame rate slider is included in the frame rate selector 190 that enables a user to specify a frame rate by sliding a scroll left and right or up and down to increase/decrease the frame rate. Other user I/O techniques are also contemplated for specifying the frame rate, Attorney Docket No. 026436-9104 including touch screen actions and voice commands. As will be described in further detail below, the images of a series are sequentially sent by the web server 115 to the client device 105.
When the series player 200 begins to play a series, a portion of the images of a series may still be in transit from the web server 115. The images of the series that have been received, however, may be streamed by the series player 200 as the additional images continue to be received.
100251 Figs. 4A-F illustrate a process 300 for remote viewing of medical images according to embodiments of the invention. Initially, a user requests an image series via the GUI 150 of the zero-client web application 110, for example, by selecting an image series as described in Fig. 2 to proceed to the screen illustrated in Fig. 3. The GUI 150 generates an image series request 305 ' and provides the image series request 305 to an initial request module 310.
The initial request niodule 310 generates a hypertext transfer protocol (FITTP) request 315 including a Uniform Resource Locator (URL) with dynamically generated query parameters that describe the image series requested. The initial request module 310 then transmits the JITTP
request 315 to ui I-1TTP request handler 325 of the web server 115.
100261 The IITIP request handler 325 translates the IITTP request 315 to a series load request 330 for an image rendering module 335. The HTTP request handler 325 also generates a Digital Imaging and Communications in Medicine (DICOM) request 340 based on the series load request 330. The DICOM request 340 is sent to the image database 130, which includes medical images in a DICOM fonnat or another forrnat generally incompatible with web browsers lacking particular add-ons or plug-ins.
[00271 Turning to Fig. 4B, the image database 130 returns DICOM image 345, to the image rendering module 335 in response to the DICOM request 340. The image rendering module 335 receives additional information for the requested image series (series details 355). The series details 355 indicates the number of frames associated with the series specified in the image series request 305 and includes image frame information used by the zero-client web application 110 to dynamically generate a URL for each frame. Each URL may point to a single-frame DICOM
image or may point to a single frame within a multi-frame DICOM image.

Attorney Docket No. 026436-9104 100201 The Hall request handler 325 forwards the series details 355 to the initial request module 310. Upon receipt, the initial request module 310 stores the series details 355 in a memory (not shown) of the client device 105.
100291 Turning to Fig. 4C, the initial request module 310 detects the current display settings of the display window 205. The display settings include the size of the display window 205 (e.g., 1200 x 1400 pixels). The initial request module 310 generates a Uniform Resource Locator (URL) 360 with dynamically generated query parameters that specify the first image of the requested image series and describe the image view requested. Further, the zero-client web application 110 sets the "src" attribute of an on-screen image 365 to the URL
360 to cause the zero-client web application 110 to generate an IITTP image request 362 to request the first image of the requested image series. The zero-client web application 110 then transmits the IITTP request 362 to an liTTP request handler 325 of the web server 115.
100301 The 1-1TTP request handler 325 translates the I ITTP request 362 to a view request 363 for an image rendering module 335. The Hal) request handler 325 recognizes that the first D1COM image 345 was received by the web server 115 in response to the earlier DICOM image request 340 and does not re-send the request to the image server 12S, 100311 As shown in Fig. 4D, the image rendering module 335 converts the D1COM image 345 into a web browser compatible image 370. The web browser compatible image 370 is generated according to the display settings of the view request 363. For instance, the web browser compatible image 370 is sized according to the display settings. The web browser compatible image 370 is, for instance, a JPEG or PNG formatted image, which is displayable by the zero-client web application 110 and browser 106 without specialized plug-ins or add-ons.
100321 The HTTI) request handler 325 forwards the web browser compatible image 370 to the zero-client web application 110. Upon receipt by the zero-client web application 110, the web browser compatible image 370 is set to the on-screen image 365 and is visible to the user in the display 205.
100331 To begin a eine playback of the requested image series, the user selects the play button of player controls 210. Turning to Fig. 4E, the GUI 150 outputs a play request 375, Attorney Docket No. 026436-9104 including the series details 355, to a buffering module 385 and a cine display module 387. In sonic instances, the zero-client web application 110 automatically generates the play request 375 without user input via (11)1 1.50 after the first frame of the requested series (web browser compatible image 370) is displayed via the on-screen image 365.
100341 Once the play request 375 is received by the buffering module 385_ the buffering module 385 generates an array of off-screen images 380, which may be stored in a memory (not shown) of the client device 105. The array of off-screen images 380 includes one element for each frame of the requested image series, as indicated by the series details 355. Each element of' the array of off-screen images 380 includes a "src" attribute that is initially set to an empty value.
Additionally, in contrast to the on-screen image 365, each element of the array of off-screen images 380 is not visible to a user of the zero-client web application 110_ (00351 After creation of the array of off-screen images 380, the buffering module 385 begins setting the "src" attribute of each element of the array of off-screen images 380 to a 1.1RL 390 representing an image frame view. Setting each "src" attribute to one of the UR Ls 390 causes the zero-client web application 1.10 to generate HTTP requests 395 to request each image frame of the requested image series. The zero-client web application 110 then transmits each 11-1-14) image request 395 to the 11TTP request handler 325 of the web server 125. The buffering module 385 will set the "src" attributes in a controlled manner such that a limited number of requests are outstanding at any given time.
[00361 The HTTP request handler 325 translates each HTTP request 395 to a view request 400 for the image rendering module 335. The HTTP request handler 325 also generates a DICOM request 405 based on the URL for each HTTP image request 395 and sends each DICOM request 405 to the image database 130.
10037] Turning to Fig. 4F, the image database 130 returns a DICOM image 410 (or a frame thereof for multi-frame MOM images) for each DICOM request 405 to the image rendering module 335. The image rendering module 335 converts each DICOM image 410 into a web browser compatible image 415. Each web browser compatible image 415 is generated according to the display settings of its corresponding view request 400. The web browser compatible Attorney Docket No, (126436-9104 images 415 are, for instance. JPEG or PNG formatted images, which are displayable by the zero-client web application 110 and browser 106 without specialized plug-ins or add-ons.
10038) The HITI) request handler 325 forwards the web browser compatible images 415 to the zero-client web application 116, which sequentially stores each web browser compatible image 415 in the array off-screen images 380, one web browser compatible image 415 per element of the array of off-screen images 380.
100391 Although the images 415 are described as being stored in the array of off-screen images 380, the images may be stored in a local client memory and the web browser 106 or web application 110 construes the URLs within the elements of the array of off-screen images 380 as pointing to their respective images 415 in the local client memory.
Additionally, the locally stored web browser compatible images 415 may be generally inaccessible to a user via a folder structure of an operating system GUI. That is, a user cannot navigate through an operating system GUI to a folder storing temporary Internet/web browser files to locate the web browser compatible images 415. By preventing such access to users, the retrieved medical images are secured and the zero-client web application 110 complies with certain government regulations related to patient privacy. In some instances, the array of off-screen images 380 is deleted upon closing of the browser 106, navigating away from the web site 140 using the web browser 106, or after a predetermined amount of time of user inactivity at the web browser 106. Accordingly, another user without authorization to view the medical images is riot able to later retrieve and view them.
100401 As the web browser compatible images 415 are received by the zero-client web application 110, the cine display module 387 begins streaming the web browser compatible images 415, To stream the web browser compatible images 415, the cine display module 387 sends a UR_L request 420 to the array of off-screen images 380 to request the "are" attribute of the second element (i+1) of the array of off-screen images 380. The array of off-screen images 380 returns a URL address 425 for the second element of the array. The cine display module 387 replaces the "sre" attribute of the on-screen image 365 with the retrieved URL 425.
Accordingly, the on-screen image 365 will point to a location of memory storing the web browser compatible image 415 associated with the 6econd element 1) of array 3$0, which is Attorney Docket No 026416-9104 then retrieved and displayed by the zero-client web application 110 in the display 205. The "src"
attribute of the on-screen image 365 is then updated with the "src" attribute of the remainiag elements of the array of off-screen images 380 (i.c., elements i+2, i+3, etc.), one-by-one in sequence, to stream the web browser compatible images 415.
100411 Fig. 5 illustrates a method 450 of streaming remotely stored images on a zero-client web application according to embodiments of the invention. In step 455, the zero-client web application 110 receives a user request for an image series via the GUI 150.
In step 460, the zero-client web application 110 outputs an HTTP series request 315 to the web server 115. In step 462, the zero-client web application 110 receives the series details 355.
In step 464, the initial request modUle 310 determines the viewer parameters for the display window 205, such as the window size, image quality, and the user-selected frame rate for playback.
In step 466, the zero-client web application 110 outputs an HIE' image request 362 to the web server 115. In step 468 the zero-client application 110 receives the web browser compatible image 370, which is displayed in the display window 205, 100421 In step 470, the zero-client web application 110 creates the array of off-screen images 380 according to the series details 355. In step 475, the zero-client web application 110 generates and outputs the HTTP image requests 395 to web server 115. in step 480, the zero-client web application 110 populates the array of off-screen images 380 with web browser compatible images 415 received from the web server 115, The zero-client web application 110 continues to populate the array of off-screen images 380 until the transfer of web browser compatible images 415 is completed; however, the zero-client web application simultaneously proceeds through the remaining steps of method 450.
100431 In step 485, the zero-client web application 110 performs a calibration step to determine a sustainable frame rate based on the average bandwidth detected for the connection 117 between the application 110 and the web server 115. The sustainable frame rate is the rate at which a series of images may be streamed from the web server 115 to the display window 205 of the zero-client web application 110 without stalling to wait for receipt of further images. For instance, if the zero-client web application 110 is receiving images at a frame rate of ten frames/second from the web server 115, the application 110 can play back the images at a frame Attorney Docket No. 026436-9104 rate often images/second or less without stalling. in one embodiment, the nro-client web application 110 determines the amount of time elapsed to download a first predetermined amount of web browser compatible images 415 (i.e., frames) to determine the sustainable frame rate.
For instance, if the first ten images take two seconds to download, the sustainable frame rate is five frames/second.
100441 In step 490, the zero-client web application 110 determines the frame rate for playback. Step 490 is illustrated in greater detail in Fig. 6. In step 490a, the eine display module 387 determines whether the buffering module 385 is still receiving web browser compatible images 415 from the web server 115 for playback on the display 205 (i.e., whether the buffering module 385 is still buffering).. If the buffering module 385 is still buffering, as will likely be the situation as the first image is about to be displayed, the eine display module 387 proceeds to step 4906. In step 4901,, the eine display module determines whether the user-selected frame rate is less than 75% of the sustainable frame rate determined by calibration in step 470. If the user-selected frame rate is less than 75% of the sustainable frame rate, the eine display module 387 sets the playback frame rate to the user-selected frame rate (step 4904 If, however, the user-selected frame rate is greater than or equal to 75% of the sustainable frame rate, the eine display module 587 sets the playback frame rate to 75% of the sustainable frame rate (step 490d). By selecting the lower of the two frame rates, the eine display module 387 improves the likelihood that the playback of the requested image series will not be stalled in the display 205. If buffering is complete, as determined in step 490a, all of the requested web browser compatible images 415 are stored locally in the array of off-screen images 380. Accordingly, the eine display module 387 sets the playback frame rate to the user selected frame rate, as the risk of stalling due to the bandwidth of connection 117 no longer exists. Although 75% of the sustainable rate is used as a threshold in step 490b and a playback rate in 490d of Fig. 6, in some instances, other thresholds and playback rates are used (e.g., 50%, 90%, or 100%).
(0045] Returning to Fig. 5, in step 495, the eine display module 387 determines whether additional images are within the army of off-screen images 380. If additional images are present, in step 495, the eine display module 387 obtains the "src" attribute of the next image within the array of off-screcn images 380. Continuing in step 497, the eine display module 387 sets the "src" attribute of the on-screen image 365 to the "src" attribute of the next image, causing the Attorney Docket No. 026436-9104 next image to be displayed in the display window 205. Step 497 is executed at a time that is appropriate to reach the desired frame rate as determined in step 490. For instance, to achieve 25 frames/second, step 497 is executed 1/25 seconds after the previous setting of the "sm." attribute of the on-screen image 365, Steps 490, 495, and 497 are repeated until the last image of the web browser compatible images 415 within the array of off-screen images 380 is displayed in display window 205. After the last image is displayed, the eine display module 387 may continue to display images at the requested frame rate starting again at the first image (i.e., a loop playback).
In some instances, the zero-client web application 110 may perform a yo-yo playback, where the images are displayed from image I to n, then shown in reverse order from image n to 1. In some instances, the zero-client web application 110 may stop playback upon reaching the last image of a requested image series.
100461 In some embodiments, the user may specify the amount of memory that may be used by the zero-elient web application 110 to store web browser compatible images 370 and 415.
For instance, the user may specify the memory space available to the zero-client web application 110 using the GUI 150, similar to the technique for the user to spociey a frame rate using the frame rate selector 190. Alternatively, the user may specify the memory space available using a preferences window/screen of the O1)1 (not shown), If a requested image series requires more memory space than specified by the user, the zero-client web application 110 may skip image frames in the playback of the requested image series (tor example, it may only request and display every third frame) or may use a rolling window in memory. In the rolling window implementation, when the memory available to the zero-client web application 110 has been filled, the zero-client web application 110 overwrites previously received web browser compatible images 370 and 415 with subsequently received web browser compatible images 415. For example, if memory capacity is filled when storing a PNG image associated with element (i+50) of the array of off-screen image 380, the zero-client web application 110 stores the next PNG image for element (1+51) at the location in memory where the PNG
image for clement (i) is stored. In other words, the (i+51) image overwrites the (i) image. Thereafter, the (i+52) image will overwrite the (i+1) image, the (1+53) image will overwrite the (i+2) image, and so forth. In this example, no more than fifty-one PNG images occupy the local memory at one time.

Attorney Docket No. 026436-91(14 [00471 Fig. 7 illustrates a method 500 for the web server 115 to handle a request from a zero-client web application 110 for medical images stored in an incompatible format. In step 505, the I-11TP request handler 325 of the server 115 receives the HTTP request 362 or 395 for an image from the zero-client web application 110. In step 510, the l'ITP request handler 325 generates a DICOM image request 340 or 405. The DI COM image request 340 or 405 is sent to the image server 125. The image database 130 of the image server 125 receives the D1COM
image request 340 or 405 and provides the requested DICOM image 345 or 410 to the web server 115. In step 515, the DICOM image 345 or 410 is received by the image rendering module 335 of the web server 115. In step 520, the image rendering module 335 converts the DICOM
image 345 or 410 into the web browser compatible image 370 or 415. ln step. 525, the image rendering module 335 outputs the web browser compatible image 370 or 415 to the .1 ITTP request handler 325, which outputs the web browser compatible image 370 or 415 to the zero-client web application 110.
100481 Although the zero-client web application 110 has been described as providing the ability to remotely view medical images, the zero-client web application 110 includes additional functionality in some embodiments. For example, a user may annotate medical images shown on the display 205, zoom in/out on the medical images shown on the display 205, associate text (e.g., a user description, comment, and/or medical opinion) with the medical image series or medical images shown on the display 205, and/or send or forward (e.g., via email) to other entities the medical image series or medical images shown on the display 205.
Additional operations a user can implement via the zero-client web application 110 include: adjust contrast, adjust brightness, zoom in/out, pan, rotate, grey-scale inversion, display across-reference lines, mirror, textual annotations, various line and angle measurement annotations, print, share with other users, and transfer to other storage devices.
100491 Additionally, although the system 100 is described as for use with remotely viewing DICOM images stored in image database 130, other the system 100 may also be used for retrieving other file types. For instance, the system 100 may further be used for remote viewing ofJPEG, PNG, TIFF, and BMP images. Additionally, the system 100 may also be used for remote viewing of DICOM structured reports and clinical document architecture (CDA) documents.

Attorney Docirt No. 01609104 100501 Thus, embodiments of the invention provide, among other things, systems and methods for remote eine viewing of medical images on a zero-client web application.
=

Claims (83)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving, from a user, an image series selection via the zero-client web application;
establishing a connection between the zero-client web application and a web server;
receiving series details from the web server;
generating, by the zero-client web application, an off-screen image array according to the series details;
outputting, by a buffering module, image requests to the web server based on the series details, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
receiving, from the web server, converted medical images in response to the image requests, wherein the converted medical images are in a web browser compatible format;
populating, by the buffering module, the off-screen image array with the converted medical images received from the web server;
setting a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image;
setting a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image; and sequentially setting subsequent converted medical images of the off-screen image array as the on-screen image to stream the converted medical images.
2. The method of claim 1, further comprising, determining a bandwidth of the connection between the zero-client web application and the web server;
determining a sustainable streaming rate based on the bandwidth;
receiving, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, streaming the converted medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
3. The method of claim 2, further comprising, determining that the web server has completed sending the converted medical images in response to the image series request; and streaming the converted medical images at the requested streaming rate.
4. The method of any one of claims 1 to 3, wherein setting the next converted medical image from the off-screen image array as the on-screen image includes setting a src attribute of the on-screen image to a src attribute of the next converted medical image.
5. The method of any one of claims 1 to 4, further comprising obtaining viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and outputting, by the buffering module, the viewer parameters to the web server, wherein the received converted medical images are formatted by the web server according to the viewing parameters.
6. The method of any one of claims 1 to 5, wherein the web browser compatible format is one of Portable Network Graphics (PNG) and Joint Photographic Experts Group (JPEG).
7. The method of any one of claims 1 to 6, wherein the non-web browser compatible format is Digital Imaging and Communications in Medicine (DICOM).
8. A client device for remotely viewing medical images, the client device comprising:
a communication interface enabling communications between a zero-client web application and a web server, wherein the zero-client web application receives, from a user, an image series selection, receives, from the web server, series details, and generates an off-screen image array according to the series details;
a buffering module that outputs image series requests based on the series details to the web server, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
a memory storing the off-screen image anay generated by the zero-client web application, wherein the buffering module populates the off-screen image array with the converted medical images received from the web server in response to the image requests, and wherein the converted medical images are in a web browser compatible format;
a display module that sets a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image;
sets a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image; and sequentially sets subsequent converted medical images of the off-screen array as the on-screen image to stream the converted medical images.
9. The client device of claim 8, wherein the display module further determines a bandwidth of the connection between the zero-client web application and the web server;
determines a sustainable streaming rate based on the bandwidth;

receives, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, streams the converted medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
10. The client device of claim 9, wherein the display module further determines that the web server has completed sending the converted medical images in response to the image series request, and streams the converted medical images at the requested streaming rate.
11. The client device of any one of claims 8 to 10, wherein to set the next converted medical image from the off-screen image array as the on-screen image, the display module sets a src attribute of the on-screen image to a src attribute of the next converted medical image.
12. The client device of any one of claims 8 to 11, wherein the zero-client web application determines viewer parameters including a window size that indicates a size of a display window of the zero-client web application, the buffering module outputs the viewer parameters to the web server, and the received converted medical images are formatted by the web server according to the viewing parameters.
13. The client device of any one of claims 8 to 12, wherein the web browser compatible format is one of Portable Network Graphics (PNG) and Joint Photographic Experts Group (JPEG).
14. The client device of any one of claims 8 to 13, wherein the non-web browser compatible format is Digital Imaging and Communications in Medicine (DICOM).
15. A non-transitory computer readable medium including computer executable instructions that, when executed by a processor of a client device, generate a zero-client web application that:
receives, from a user, an image series selection via the zero-client web application;
establishes a connection between the zero-client web application and a web server;
receives series details from the web server;
generates, by the zero-client web application, an off-screen image array according to the series details;
outputs, by a buffering module, image requests to the web server based on the series details, wherein the web server is in communication with a rnedical image database storing images in a non-web browser compatible format;
receives, from the web server, converted medical images in response to the image requests, wherein the converted medical images are in a web browser compatible format;
populates, by the buffering module, the off-screen image array with the converted medical images received from the web server;
sets a first converted medical image within the off-screen image array as an on-screen image to display the first converted medical image;
sets a next converted medical image from the off-screen image array as the on-screen image to display the next converted medical image in place of the first converted medical image; and sequentially sets subsequent converted medical images of the off-screen image array as the on-screen image to stream the converted medical images.
16. The non-transitory computer readable medium of claim 15, wherein the zero-client web application further determines a bandwidth of the connection between the zero-client web application and the web server;
determines a sustainable streaming rate based on the bandwidth;

receives, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, streams the converted medical images at a frame rate that is the lower of the sustainable streaming rate and the requested strearning rate.
17. The non-transitory computer readable medium of claim 16, wherein the zero-client web application further determines that the web server has completed sending the converted medical images in response to the image series request; and streams the converted medical images at the requested streaming rate.
18. The non-transitory computer readable medium of any one of claims 15 to 17, wherein to set the next converted medical image from the off-screen image array as the on-screen image, the zero-client web application sets a src attribute of the on-screen image to a src attribute of the next converted medical image.
19. The non-transitory computer readable medium of any one of claims 15 to 18, wherein the zero-client web application further obtains viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and outputs, by a buffering module, the viewer parameters to the web server, and wherein the received converted medical images are formatted by the web server according to the viewing parameters.
20. The non-transitory computer readable medium of any one of claims 15 to 19, wherein the web browser compatible format is one of Portable Network Graphics (PNG) and Joint Photographic Experts Group (JPEG) and the non-web browser compatible format is Digital Imaging and Communications in Medicine (DICOM).
21. A method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving an image series selection via the zero-client web application, the zero-client web application in communication with a web server;
outputting image requests to the web server based on the image series selection, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
receiving, from the web server, converted medical images in response to the image requests, wherein the converted medical images are in a web browser compatible format;
populating an off-screen image array with the converted medical images received from the web server; and streaming the converted medical images on the zero-client web application using the off-screen image array.
22. The method of claim 21, further comprising:
receiving series details from the web server; and generating, by the zero-client web application, the off-screen image array according to the series details.
23. The method of claim 21 or 22, further comprising:
determining a bandwidth of a connection between the zero-client web application and the web server;
determining a sustainable streaming rate based on the bandwidth;
receiving, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, streaming the medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
24. The method of claim 23, further comprising:

determining that the web server has completed sending the medical images in response to the image series request; and streaming the medical images at the requested streaming rate.
25. The method of any one of claims 21 to 24, wherein streaming the converted medical images comprises:
setting a first medical image within the off-screen image array as an on-screen image to display the first medical image;
setting a next medical image from the off-screen image array as the on-screen image to display the next rnedical image in place of the first medical image;
and sequentially setting subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
26. The method of claim 25, wherein setting the next medical image from the off-screen image array as the on-screen image includes setting a src attribute of the on-screen image to a src attribute of the next medical image.
27. The method of any one of claims 21 to 26, further comprising:
obtaining viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and outputting the viewer parameters to the web server, wherein the received medical images have been formatted by the web server according to the viewing parameters.
28. The method of any one of claims 21 to 27, wherein the web browser compatible format is one of Portable Network Graphics (PNG) and Joint Photographic Experts Group (JPEG), and the non-web browser compatible format is Digital Imaging and Cornmunications in Medicine (DICOM).
29. A method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving an image series selection via the zero-client web application;
establishing a connection between the zero-client web application and a web server;
receiving series details from the web server;
generating, by the zero-client web application, an off-screen image array according to the series details;
outputting, by a buffering module, image requests to the web server based on the series details, wherein the web server is in communication with a medical image database;
receiving, from the web server, medical images in response to the image requests, the medical images being in a web browser compatible format;
populating, by the buffering module, the off-screen image array with the medical images received from the web server;
displaying a first medical image from the off-screen image array as an on-screen image to display the first medical image;
displaying a next medical image from the off-screen image array as the on-screen image in place of the first medical image; and sequentially displaying subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
30. The method of claim 29, further comprising:
determining a bandwidth of the connection between the zero-client web application and the web server;
determining a sustainable streaming rate based on the bandwidth;
receiving, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, streaming the medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
31. The method of claim 30, further comprising:
determining that the web server has completed sending the medical images in response to the image series request; and streaming the medical images at the requested streaming rate.
32. The method of any one of claims 29 to 31, wherein displaying the next medical image from the off-screen image array as the on-screen image includes setting a src attribute of the on-screen image to a src attribute of the next medical image.
33. The method of any one of claims 29 to 32, further comprising:
obtaining viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and outputting, by the buffering module, the viewer parameters to the web server, wherein the received medical images are formatted by the web server according to the viewing parameters.
34. The method of any one of claims 29 to 33, wherein the medical image database includes images stored in Digital Imaging and Communications in Medicine (DICOM) format.
35. A method of streaming medical images on a remote device using a zero-client web application, the method comprising:
receiving, from a web server, medical images;
populating an off-screen image array with the medical images received from the web server;
receiving, by the zero-client web application, a requested frame rate;
determining a bandwidth of a connection between the zero-client web application and the web server;
determining a second frame rate based on the bandwidth; and during a buffering stage, streaming the medical images, using the off-screen image array, at a frame rate that is the lower of the requested frame rate and the second frame rate.
36. The method of claim 35, further comprising, determining that the buffering stage is complete; and streaming the medical images at the requested frame rate based on determining that the buffering stage is complete.
37. The method of claim 35 or 36, further comprising:
sending image requests to the web server based on an image series selection, wherein the medical images received from the web server are provided by the web server in response to the image requests;
determining that the web server has completed sending the medical images in response to the image requests that were based on the image series selection;
and streaming the medical images at the requested frame rate.
38. The method of any one of claims 35 to 37, wherein streaming the medical images comprises:
setting a first medical image of the medical images within the off-screen image array as an on-screen image to display the first medical image;
setting a next medical image of the medical images within the off-screen image array as the on-screen image to display the next medical image in place of the first medical image; and sequentially setting subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
39. The method of claim 38, wherein setting the next medical image from the off-screen image array as the on-screen image includes setting a src attribute of the on-screen image to a src attribute of the next medical image.
40. The method of any one of claims 35 to 39, further comprising obtaining viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and outputting the viewer parameters to the web server, wherein the medical images received from the web server have been formatted by the web server according to the viewing parameters.
41. The method of any one of claims 35 to 40, wherein determining the second frame rate comprises:
determining an amount of time elapsed to download a first amount of medical images, determining a sustainable frame rate based on the amount of time elapsed, and selecting the second frame rate to be a percentage of the sustainable frame rate.
42. A client device for remotely streaming medical images, the client device comprising:
a zero-client web application;
a communication interface enabling communications between the zero-client web application and a web server;
a display;
a processor coupled to the display and the communication interface, the processor configured to execute the zero-client web application to:
receive, from a web server, medical images;
populate an off-screen image array with the medical images received from the web server;
receive a requested frame rate;
determine a bandwidth of the communications between the zero-client web application and the web server;
determine a second frame rate based on the bandwidth; and during a buffering stage, stream the medical images, using the off-screen image array, at a frame rate that is the lower of the requested frame rate and the second frame rate.
43. The client device of claim 42, the processor further configured to:
determine that the buffering stage is complete; and stream the medical images at the requested frame rate based on determining that the buffering stage is complete.
44. The client device of claim 42 or 43, the processor further configured to:
send image requests to the web server based on an image series selection, wherein the medical images received from the web server are provided by the web server in response to the image requests;
determine that the web server has completed sending the medical images in response to the image requests that were based on the image series selection;
and stream the medical images at the requested frame rate.
45. The client device of any one of claims 42 to 44, wherein the processor configured to stream the medical images further comprises the processor configured to:
set a first medical image of the medical images within the off-screen image array as an on-screen image to display the first medical image;
set a next medical image of the medical images within the off-screen image array as the on-screen image to display the next medical image in place of the first medical image; and sequentially set subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
46. The client device of claim 45, wherein, to set the next medical image from the off-screen image array as the on-screen image, the processor is configured to set a src attribute of the on-screen image to a src attribute of the next medical image.
47. The client device of any one of claims 42 to 46, the processor further configured to obtain viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and output the viewer parameters to the web server, wherein the medical images received from the web server have been formatted by the web server according to the viewing parameters.
48. The client device of any one of claims 42 to 47, wherein, to determine the second frame rate, the processor is further configured to:
determine an amount of time elapsed to download a first amount of medical images, and determining a sustainable frame rate based on the amount of time elapsed, and selecting the second frame rate to be a percentage of the sustainable frame rate.
49. A method of streaming medical images on a remote device using a zero-client web application, the method comprising:
receiving, at a processor executing the zero-client web application, medical images from a web server;
populating, in a buffering stage, an off-screen image array with the medical images received from the web server;
streaming the medical images, using the off-screen image array, at a first frame rate during the buffering stage, the first frame rate selected based on a bandwidth of a connection between the zero-client web application and the web server;
determining that the buffering stage has ended; and streaming the medical images, using the off-screen image array, at a second frame rate in response to determining that the buffering stage has ended.
50. The method of claim 49, wherein determining that the buffering stage has ended comprises:
determining that all medical images for an image series selection have been received from the web server.
51. The method of claim 49 or 50, wherein streaming the medical images comprises:
setting a first medical image of the medical images within the off-screen image array as an on-screen image to display the first medical image;
setting a next medical image of the medical images within the off-screen image array as the on-screen image to display the next medical image in place of the first medical image; and sequentially setting subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
52. The method of claim 51, wherein setting the next medical image from the off-screen image array as the on-screen image includes setting a src attribute of the on-screen image to a src attribute of the next medical image.
53. The method of any one of claims 49 to 52, further comprising obtaining viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and outputting the viewer parameters to the web server, wherein the medical images received from the web server have been formatted by the web server according to the viewing parameters.
54. The method of any one of claims 49 to 53, wherein selecting the first frame rate based on a bandwidth of the connection between the zero-client web application and the web server comprises:
determining an amount of time elapsed to download a first amount of medical images, and determining the first frame rate based on the amount of time elapsed.
55. A client device for remotely streaming medical images, the client device comprising:
a zero-client web application;
a communication interface enabling communications between the zero-client web application and a web server;
a display;
a processor coupled to the display and the communication interface, the processor configured to execute the zero-client web application to:
receive an image series selection;
output image series requests to the web server, wherein the web server is in communication with a medical image database storing images in a non-web browser compatible format;
populate an off-screen image array with converted medical images received from the web server in response to the image series requests, wherein the converted medical images have been converted to a web browser compatible format from the images in the medical image database in the non-web browser compatible format; and stream, on the display, the converted medical images using the off-screen image array.
56. The client device of claim 55, wherein the processor is further configured to execute the zero-client web application to:
determine a bandwidth of the connection between the zero-client web application and the web server;
determine a sustainable streaming rate based on the bandwidth;
receive, from a user, a requested streaming rate via the zero-client web application; and stream the converted medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
57. The client device of claim 56, wherein the processor is further configured to execute the zero-client web application to:
determine that the web server has completed sending the converted medical images in response to the image series request, and stream the converted medical images at the requested streaming rate.
58. The client device of any one of claims 55 to 57, wherein streaming the converted medical images using the off-screen image array includes setting a src attribute of an on-screen image to a src attribute of a converted medical image.
59. The client device of any one of claims 55 to 58, wherein the processor is further configured to execute the zero-client web application to:
determine viewer parameters including a window size that indicates a size of a display window of the zero-client web application, and output the viewer parameters to the web server, wherein the received converted medical images are formatted by the web server according to the viewing parameters.
60. The client device of any one of claims 55 to 59, wherein the processor is further configured to execute the zero-client web application to:
receive series details from the web server corresponding to the image series selection and generate the off-screen image array according to the series details; and populate the off-screen image array with the converted medical images received from the web server.
61. The client device of any one of claims 55 to 60, wherein, to stream the converted medical images, the processor is further configured to:
set a first medical image of the converted medical images within the off-screen image array as an on-screen image to display the first medical image;

set a next medical image of the converted medical images within the off-screen image array as the on-screen image to display the next medical image in place of the first medical image; and sequentially set subsequent converted medical images of the off-screen image array as the on-screen image.
62. The client device of any one of claims 55 to 61, wherein the converted medical images are streamed at the frame rate and, to determine the frame rate, the processor is further configured to:
determine an amount of time elapsed to download a first amount of the converted medical images from the web server, determine the sustainable frame rate based on the amount of time elapsed, and select the frame rate to be a percentage of the sustainable frame rate.
63. The client device of any one of claims 55 to 62, wherein the web browser compatible format is one of Portable Network Graphics (PNG) and Joint Photographic Experts Group (JPEG), and the non-web browser compatible format is Digital Imaging and Communications in Medicine (DICOM).
64. A method of viewing medical images on a remote device using a zero-client web application, the method comprising:
receiving image requests from a client device, at a web server, based on an image series selection received by the client device executing a zero-client web application, requesting, from a medical image database storing images in a non-web browser compatible format, medical images in response to the image requests;
converting, by the web server, the medical images to a web browser compatible format to generate converted medical images;
sending, by the web server, the converted medical images to the client device, wherein the client device is configured to populate an off-screen image array with the converted medical images sent by the web server, and stream the converted medical images on the zero-client web application using the off-screen image array.
65. The method of claim 64, further comprising:
sending series details from the web server that define the off-screen image array.
66. The method of claim 64 or 65, wherein the client device is further configured to:
determine a bandwidth of a connection between the zero-client web application and the web server;
determine a sustainable streaming rate based on the bandwidth;
receive, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, stream the converted medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
67. The method of claim 66, wherein the client device is further configured to:
determine that the web server has completed sending the converted medical images in response to the image series request; and stream the converted medical images at the requested streaming rate.
68. The method of any one of claims 64 to 67, wherein streaming the converted medical images comprises:
setting a first medical image within the off-screen image array as an on-screen image to display the first medical image;
setting a next medical image from the off-screen image array as the on-screen image to display the next medical image in place of the first medical image;
and sequentially setting subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
69. The method of claim 68, wherein setting the next medical image from the off-screen image array as the on-screen image includes setting a src attribute of the on-screen image to a src attribute of the next medical image.
70. The method of any one of claims 64 to 69, further comprising:
receiving, from the client device, viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and formatting, by the web server, the converted medical images according to the viewing parameters.
71. The method of any one of claims 64 to 70, wherein the web browser compatible format is one of Portable Network Graphics (PNG) and Joint Photographic Experts Group (JPEG), and the non-web browser compatible format is Digital Imaging and Communications in Medicine (DICOM).
72. A web server for providing medical images for viewing on a zero-client web application, the web server comprising:
a memory;
a network connection to a client device executing a zero-client web application;
a database connection to a medical image database storing images in a non-web browser compatible format; and a processor, the processor configured to:
receive image requests from a client device based on an image series selection received by the client device executing the zero-client web application, request, from the medical image database over the database connection, medical images in response to the image requests;
convert the medical images to a web browser compatible format to generate converted medical images;
send the converted medical images to the client device over the network connection, wherein the client device is configured to populate an off-screen image array with the converted medical images sent by the web server, and stream the converted medical images on the zero-client web application using the off-screen image array.
73. The web server of claim 72, the processor further configured to:
send series details, to the client device, that define the off-screen image array.
74. The web server of claim 72 or 73, wherein the client device is further configured to:
determine a bandwidth of a connection between the zero-client web application and the web server;
determine a sustainable streaming rate based on the bandwidth;
receive, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, stream the converted medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
75. The web server of claim 74, wherein the client device is further configured to:
determine that the web server has completed sending the converted medical images in response to the image series request; and stream the converted medical images at the requested streaming rate.
76. The web server of any one of claims 72 to 75, wherein streaming the converted medical images comprises:
setting a first medical image within the off-screen image array as an on-screen image to display the first medical image;

setting a next medical image from the off-screen image array as the on-screen image to display the next medical image in place of the first medical image;
and sequentially setting subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
77. The web server of claim 76, wherein setting the next medical image from the off-screen image array as the on-screen image includes setting a src attribute of the on-screen image to a src attribute of the next medical image.
78. The web server of any one of claims 72 to 77, the processor further configured to:
receive, from the client device, viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and format the converted medical images according to the viewing parameters.
79. The web server of any one of claims 72 to 78, wherein the web browser compatible format is one of Portable Network Graphics (PNG) and Joint Photographic Experts Group (JPEG), and the non-web browser compatible format is Digital Imaging and Communications in Medicine (DICOM).
80. A method of viewing medical irnages on a remote device using a zero-client web application, the method comprising:
establishing, by a web server, a connection with a zero-client web application executing on a client device;
receiving, by the web server, image requests from the client device based on an image series selection received by the client device, providing, by the web server, series details to the client device, the series details defining an off-screen image array;
requesting, from a medical image database storing images in a non-web browser compatible format, medical images in response to the image requests;
converting, by the web server, the medical images to a web browser compatible format to generate converted medical images;
sending, by the web server, the converted medical images to the client device, wherein the client device is configured to populate the off-screen image array with the converted medical images sent by the web server;
display a first medical image from the off-screen image array as an on-screen image to display the first medical image;
display a next medical image from the off-screen image array as the on-screen image in place of the first medical image; and sequentially display subsequent medical images of the off-screen image array as the on-screen image to stream the medical images.
81. The method of claim 80, wherein the client device is further configured to:
determine a bandwidth of the connection between the zero-client web application and the web server;
determine a sustainable streaming rate based on the bandwidth;
receive, from the user, a requested streaming rate via the zero-client web application; and during a buffering stage, stream the medical images at a frame rate that is the lower of the requested streaming rate and a percentage of the sustainable streaming rate.
82. The method of claim 80 or 81, further comprising receiving, from the client device, viewer parameters including a window size that indicates a size of a display window of the zero-client web application; and formatting, by the web server, the converted medical images according to the viewing parameters.
83. The method of any one of claims 80 to 82, wherein the medical image database includes images stored in Digital Imaging and Communications in Medicine (DICOM) format.
CA2759738A 2011-11-28 2011-11-28 Remote cine viewing of medical images on a zero-client application Active CA2759738C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA2759738A CA2759738C (en) 2011-11-28 2011-11-28 Remote cine viewing of medical images on a zero-client application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA2759738A CA2759738C (en) 2011-11-28 2011-11-28 Remote cine viewing of medical images on a zero-client application

Publications (2)

Publication Number Publication Date
CA2759738A1 CA2759738A1 (en) 2013-05-28
CA2759738C true CA2759738C (en) 2019-07-16

Family

ID=48525202

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2759738A Active CA2759738C (en) 2011-11-28 2011-11-28 Remote cine viewing of medical images on a zero-client application

Country Status (1)

Country Link
CA (1) CA2759738C (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682999B1 (en) 2013-09-05 2014-03-25 NCS Technologies, Inc. Systems and methods providing a mobile zero client

Also Published As

Publication number Publication date
CA2759738A1 (en) 2013-05-28

Similar Documents

Publication Publication Date Title
US9954915B2 (en) Remote cine viewing of medical images on a zero-client application
US10410306B1 (en) Method and system for providing remote access to data for display on a mobile device
US20140074913A1 (en) Client-side image rendering in a client-server image viewing architecture
US8886726B2 (en) Systems and methods for interactive smart medical communication and collaboration
US20110238618A1 (en) Medical Collaboration System and Method
US20120323606A1 (en) Method and a mobile device for reviewing patient information
US20150074181A1 (en) Architecture for distributed server-side and client-side image data rendering
US20160092446A1 (en) Medical imaging viewer caching techniques
WO2014174739A1 (en) Medical image data information exchange system
KR20130071676A (en) Medical device and image displaying method using the same
CN114822744A (en) Medical treatment data sharing method, system, computing equipment and storage medium
US11416360B2 (en) Systems and methods for detecting errors in artificial intelligence engines
WO2011104698A2 (en) Method and apparatus providing for control of a content capturing device with a requesting device to thereby capture a desired content segment
KR101513412B1 (en) Collaborative treatment method by sharing medical image based on server and system thereof
CA2759738C (en) Remote cine viewing of medical images on a zero-client application
JP2019220036A (en) Medical image display system
US10165027B2 (en) Apparatus and method for transmitting/receiving buffering data in media streaming service
JP3839348B2 (en) Image distribution device
JP2008059250A (en) Image management system, image management method, and image management program
KR101806816B1 (en) Medical device and image displaying method using the same
JP2016170590A (en) Communication device and communication system
JP2014042654A (en) Server device, client device, medical image processing system, medical image processing method and program
Constantinescu et al. Rich internet application system for patient-centric healthcare data management using handheld devices
CN111052254B (en) Method and device for operating ultrasonic image and ultrasonic imaging system
US10289701B2 (en) Selectively caching sequential data items

Legal Events

Date Code Title Description
EEER Examination request

Effective date: 20160930