Movatterモバイル変換


[0]ホーム

URL:


WO2008061903A1 - Method and system for client / server distributed image processing - Google Patents

Method and system for client / server distributed image processing
Download PDF

Info

Publication number
WO2008061903A1
WO2008061903A1PCT/EP2007/062116EP2007062116WWO2008061903A1WO 2008061903 A1WO2008061903 A1WO 2008061903A1EP 2007062116 WEP2007062116 WEP 2007062116WWO 2008061903 A1WO2008061903 A1WO 2008061903A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
client
image
rendering
requirements
Prior art date
Application number
PCT/EP2007/062116
Other languages
French (fr)
Inventor
Rainer Wegenkittl
Donald Dennison
John Potwarka
Lukas Mroz
Armin Kanitsar
Gunter Zeilinger
Original Assignee
Agfa Healthcate 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 Agfa Healthcate Inc.filedCriticalAgfa Healthcate Inc.
Publication of WO2008061903A1publicationCriticalpatent/WO2008061903A1/en

Links

Classifications

Definitions

Landscapes

Abstract

A method of processing an image, wherein one or more processing functions are executed. First, the steps involved in the one or more processing functions are determined where each of the one or more processing functions can include one or more processing steps. Then the resource requirements associated with each of the processing functions are determined. The resource availability for the one or more resource requirements on a client is determined. Finally, each of the one or more processing functions are selectively allocated to the at least one of the client and the server in the case where the client does not have the required resource availability.

Description

METHOD AND SYSTEM FOR CLIENT / SERVER DISTRIBUTED IMAGE PROCESSING
[DESCRIPTION]
FIELD OF THE INVENTION
The present invention relates to image processing methods and systems, and more specifically to an improved method and system for performing image processing functions in client-server environments.
BACKGROUND OF THE INVENTION
Image processing functions in medical imaging applications are generally carried out on image data by a client device that has accessed an image server to retrieve stored image data. These image processing functions, when completed, cause the related medical images to be displayed on the client device. A medical practitioner is then able to analyze the medical images displayed on the client device . Increasingly, health professionals are using a wider array of client devices to access medical image data stored on image servers for various reasons including facilitating user mobility. While computing workstations are still in common use, increasing use is being made of handheld computers, personal digital assistants and other such devices to access and view medical images. The processing functions that are associated with the rendering and display of a requested medical image, often entail intensive processing (i.e. computing overhead) . Therefore, the processing functions are often executed at the image server as the client devices are not suited to effectively conduct them. The resultant image data is passed from the image server to the client device for display.
However, processing such functions at the image server does not take into consideration existing processing demands on the image server due to the many devices for which image processing functions are carried out. Accordingly, the computing resources on the image server that are available to conduct image processing functions for any particular client device is also limited by overall traffic patterns and usage demands placed on the image server by other devices .
SUMMARY OF THE INVENTION
The above-mentioned advantageous effects are realised by a method of processing an image having the specific features set out in claim 1. Specific features for preferred embodiments of the invention are set out in the dependent claims.
The embodiments described herein provide in one aspect, a method of processing an image, wherein one or more processing functions are executed, the method comprising: (a) determining the steps involved in the one or more processing functions, wherein each of the one or more processing functions may comprise one or more processing steps;
(b) determining one or more resource requirements associated with each of the one or more processing functions; (c) determining a resource availability for the one or more resource requirements upon a client; and
(d) selectively allocating each of the one or more processing functions to at least one of the client and the server where the client does not have the required resource availability. The embodiments described herein provide in another aspect, a method of distributed processing of an image, wherein one or more processing functions are executed; the method comprising:
(a) executing one or more processing steps associated with the one or more processing functions at a client if the one or more processing steps can be executed at the client;
(b) providing client output data based on the executed one or more processing steps to a server for execution if the one or more processing steps can not be executed at the client based on not meeting the one or more resource requires associated with the one or more processing steps; and (c) receiving server output data based on the server executed one or more processing steps for the execution at the client of the remaining one or more processing steps. The embodiments described herein provide in another aspect, system for processing an image, wherein one or more processing functions are executed, the system comprising:
(a) a memory for storing a plurality of instructions; and
(b) a processor coupled to the memory, said processor configured for: (i) determining the steps involved in the one or more processing functions, wherein each of the one or more processing functions may comprise one or more processing steps;
(ii) determining one or more resource requirements associated with each of the one or more processing functions;
(iii) determining a resource availability for the one or more resource requirements upon a client; and
(iv) selectively allocating each of the one or more processing functions to at least one of the client and the server where the client does not have the required resource availability.
The embodiments described herein provide in another aspect, a system for distributed processing of an image, wherein one or more processing functions are executed; the system comprising:
(a) a memory for storing a plurality of instructions; and (b) a processor coupled to the memory, said processor configured for:
(i) executing one or more processing steps associated with the one or more processing functions at a client if the one or more processing steps can be executed at the client;
(ii) providing client output data based on the executed one or more processing steps to a server for execution if the one or more processing steps can not be executed at the client based on not meeting the one or more resource requires associated with the one or more processing steps; and
(iii) receiving server output data based on the server executed one or more processing steps for the execution at the client of the remaining one or more processing steps .
Further advantages and embodiments of the present invention will become apparent from the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the embodiments described herein and to show more clearly how they may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings which show at least one exemplary embodiment, and in which: FIG. 1 is a block diagram of an exemplary embodiment of an image processing system; FIG. 2 is a flowchart diagram illustrating the basic operational steps executed by the image processing system of FIG. 1;
FIG. 3 is a block diagram illustrating the partitioning of image processing functions of the image processing system of FIG. 1; FIG. 4 is a flowchart diagram illustrating in more detail the operational steps executed by the image processing system of FIG. 1; and
FIG. 5 is a flowchart diagram illustrating in more detail the operational steps associated with the collaboration function of the image processing system of FIG. 1. It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. DETAILED DESCRIPTION OF THE INVENTION
It will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements or steps. In addition, numerous specific details are set forth in order to provide a thorough understanding of the exemplary embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Furthermore, this description is not to be considered as limiting the scope of the embodiments described herein in any way, but rather as merely describing the implementation of the various embodiments described herein.
The embodiments of the systems and methods described herein may be implemented in hardware or software, or a combination of both. However, preferably, these embodiments are implemented in computer programs executing on programmable computers each comprising at least one processor, a data storage system (including volatile and non-volatile memory and/or storage elements) , at least one input device, and at least one output device. For example and without limitation, the programmable computers may be a mainframe computer, server, personal computer, laptop, personal data assistant, or cellular telephone. Program code is applied to input data to perform the functions described herein and generate output information. The output information is applied to one or more output devices, in known fashion. Each program is preferably implemented in a high level procedural or object oriented programming and/or scripting language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program is preferably stored on a storage media or a device (e.g. ROM or magnetic diskette) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein. Furthermore, the system, processes and methods of the described embodiments are capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions for one or more processors. The medium may be provided in various forms, including one or more diskettes, compact disks, tapes, chips, wireline transmissions, satellite transmissions, internet transmission or downloadings, magnetic and electronic storage media, digital and analog signals, and the like. The computer useable instructions may also be in various forms, including compiled and non-compiled code.
Reference is now made to FIG. 1, which illustrates elements of an exemplary embodiment of an image processing system 10. The image processing system 10 includes an image server 12, an image database 14 containing one or more medical image data files 16, one or more imaging modalities 18 and one or more client devices 20. The image processing system 10 coordinates and distributes image processing functions between the client devices 20 and the image server 12. As described below, when image rendering is required, the image processing system 10 provides for a dynamic allocation of the image processing functions between the image server 12 and the client devices 20. The processing functions associated with the display of the image upon the client devices 20 may be carried out in various parts, where the respective parts of the processing function is carried out at both the image server 12 and at the client devices 20. Each image that is displayed at a client device 20 has associated with it one or more image processing functions, that are carried out in a rendering pipeline 22. The rendering pipeline 22 is used to describe the rendering functions that are associated with a requested operation upon a medical image. The requested operations may include any requests made by the user or system associated with a medical image, including but not limited to, a request to display an image, to performing various transformations/manipulations and other such interactions. The resultant image that is displayed is referred to as the displayed image 24.
The image processing system 10 ensures that the respective processes that are utilized to display the medical image 24 at the client device 20, are performed in an efficient manner taking into consideration the processing requirements, and the processing resources available at the image server 12 and at the respective client devices 20.
As discussed in more detail elsewhere, it should be understood that the image processing system 10 may be implemented in hardware or software or a combination of both. Specifically, the modules of the image processing system 10 are preferably implemented in computer programs executing on programmable computers each comprising at least one processor, a data storage system and at least one input and at least one output device. Without limitation the programmable computers may be a mainframe computer, server, personal computer, laptop, personal data assistant or cellular telephone. In an exemplary implementation the image processing system 10 is implemented in software and installed on the hard drive of client device 20 and on image server 12, such that the client devices 20 interoperates with image server 12 in a client-server configuration. The image server 12 stores medical images files 16 in the image database 14. The image processing system 10 is being described herein with respect to one image server 12, however it will be understood that more than one image server 12 may be employed in the system 10.
The image server 12, in an exemplary embodiment receives medial image data (e.g. bitmaps, JPEGS, GIFs, DICOM format images, etc.) from the imaging modality 18, where the medical image data is stored as a medial image file 16. The imaging modality 18 generates the medical image data based on various procedures that may be performed on patients, and provides the medical image data that forms the medical image to the image server 12. The image server 12 is connected through a communication network by wired or wireless methods to the client devices 20. The client devices 20 connect to the image server 12 through a communication network and access the medical images files 16 that are stored upon the image database 14. The image database 14 is used to store the medical image data that is converted into medical image files 16. The image database 14 also stores associated identification information with respect to each medical image file 16. For example, medical images files 16 may have associated with them patient identifiers, patient names, and other descriptions regarding the patient, image, or study from which the medical images files 16 were generated. In an exemplary embodiment, the modality 18 provides the image server 12 with medical images in a standard DICOM format (a single file containing the pixel data) and image attributes (e.g. patient name, image rows and columns, etc.) . The image server 12 may choose to (re) compress the images before storing to an image cache (not shown) . The image server 12, in addition will copy some or all of the image attributes to the database 14 for quick retrieval by the client devices 20. The imaging modality 18 generates medical image data in either an analog or digital format, from which the medical image files 16 are created. The imaging modality 18 may include any device that is used to capture any type of image of a patient. Each client device 20 may be any computing device that is able to connect to the image server 12. Examples of client devices 20 include but are not limited to, personal computers, laptop computers, slim line computers, server based computers, handheld computers, and any other such device that is able to provide an interface and connect to the image server 12 through a communication network. Each client device 20 has an output device (not shown) such as a monitor or screen associated with it for viewing of the displayed medical image 24 and for engaging with the displayed image 24. The user may perform manipulations, transformations, and other such interactions upon such images. When an operation is requested in association with a medical image file 16, or a displayed medical image 24, various processing functions are undertaken (depending on the request and the medical image) to ensure the requested operations are performed in an efficient manner. The various processing functions are undertaken in what is referred to as a rendering pipeline 22. The rendering pipeline 22 is comprised of all the respective processing functions that are required to execute the requested operation. The rendering of an image includes all of the steps from accessing the image data file 16 and the data associated with such a file, to performing all of the various processing steps that are required in order to display the image as desired by the user or system 10. Requested operations may include various operations including displaying an image, superimposing an image, displaying an image side by side, and performing various interactions on these displayed images. Some of the requested operations involve the use of multiple pipelines 22. For example, when displaying images side by side, this would involve multiple rendering pipelines 22 (one pipeline 22 for each image) . The term displayed images 24 is used to refer herein to image at a client device 20, and may include one or more associated medical image files 16 that have been used to generate the displayed image 24.
The rendering pipeline 22 is used to describe all of the respective processing functions that are carried out in order to give effect to the requested operation. The steps of the rendering process are divided up for purposes of this description into what are referred to respectively as rendering levels 26. Each rendering level may have associated with it one or more rendering steps that are performed upon the underlying data for various purposes (i.e., edge detection, filtering) . For purposes of this description, the various rendering levels are categorized into one of three rendering levels. These three rendering levels are referred to respectively as a first rendering level 26A, a second rendering level 26B, and a third rendering level 26C. The respective rendering levels as are described herein, are described for purposes of example only, as the rendering process may be divided into numerous rendering levels. The respective rendering levels 26 work together in order to render an image as per the requested operation. For example, the first rendering level 26A provides various processing functions, and provides the output of those processing functions to the second rendering level 26B. The second rendering level 26B performs various rendering functions and provides input to the third rendering level 26C. The third rendering level 26C performs the final rendering steps and renders the image such that a displayed medical image 24 is provided to the output device. The various rendering levels 26 and the various processing steps that they may be carried out at the various levels are described herein for exemplary purposes. Based on the requested operation, the rendering pipeline 22 executes various rendering steps. The first rendering level 26A executes the algorithm that is required to display the image. As an example, the first rendering level 26A may execute the underlying algorithm that may include the underlying transformation, manipulation, or generation. The second rendering level 26B then receives the results of the execution of the first rendering level 26A and will then perform one or more processing steps upon the input provided by the first rendering level 26A. As an example, the second rendering level 26B may then perform any one of the following steps; filtering, bit representation conversions, and fusion.
The output of the second rendering level 26B is then provided to the third rendering level 26C, where steps are undertaken to perform any processing steps that are required to display the image at the client device 20. In an exemplary embodiment, as described below, the respective rendering levels 26 associated with a rendering pipeline may be performed on either the image server 12 or the respective client device 20. Also, the steps associated with each rendering level may themselves be performed on a combination of the image server 12 or on the respective client device 20. It should be noted that rendering levels may be skipped when processing an image, if that rendering level contains steps which do not require execution based on the operation requested on an image. Each of the client devices 20 that are part of the image processing system 10 include a rendering module 26, and a client storage device or database 28. The rendering module 26 is comprised of a resources module 30, a communications module 32, a rendering process module 34, and an adaptor module 36.
The resources module 30 is used to determine the required processing resources for each rendering step that is carried out in the rendering process. The term resources as used herein, is used to refer to any hardware, or software resources that are found upon an image server 12, or a client device 20, that may be used in the execution of respective rendering steps as described below. The term processing requirements is used to refer to specific requirements that the rendering process has in order to effectively and efficiently perform a rendering step. Required processing resources may include but are not limited to any memory capabilities, processing capabilities, graphics capabilities. The required processing resources are determined based on an analysis of the underlying medical data and the specific processing function. As an example, and as further described below, the request to perform a certain processing function on certain data may have associated with it certain required processing requirements (i.e. a certain processor speed is required, and/or certain amount of memory must be available) . The required processing resources are differentiated from the preferred processing resources. The preferred processing resources are resources that allow for the more efficient execution of a rendering step, but are not absolute requirements. The resources module 30 determines the required and preferred processing resources for each rendering step that is to be undertaken. In an exemplary embodiment, the determination is made prior to the execution of the rendering process for each level. The communications module 32, based on the processing requirements, will poll the respective processing resources on both the client 20 and the server 12 to determine the actual availability of the respective processing resources. As an example, the communications module 32 determines the memory availability, the processing speeds available, and whether any required hardware components are available on the server 12 and the client 20. The rendering process module 34 is used to determine where the respective processing functions are to be performed based on the input provided by the resources module 30 and the communication module 32. The determination made by the rendering process module 34 is explained in further detail below with respect to FIG. 5. The adaptor module 36 is used to facilitate the distributed processing within the system 10. Specifically, as is described in further detail below, the adaptor module 36 provides for the exchange of data between server 12 and client devices 20, where the next processing step is to be performed at a different location than the previous one (i.e. image server 12 to client 20, or client 20 to image server 12) . The adaptor module 34 has associated with it one or more adaptors, the operation of which are described in further detail below.
Reference is now made to FIG. 2, where a flowchart diagram illustrates the basic operational steps 100 of the processing system 10. Operational steps 100 begin at step (102), where a user may a request for an operation to be performed. The requested operation may be an operation requested by the user, or by the logic associated with the client device 20 or server 12, without any user input . At step (104) , the processing requirements are determined. The processing requirements are determined based on the requested operation and the data upon which the requested operation is to be undertaken. The processing requirements as mentioned above, include both required processing requirements that specify requirements without which the processing associated with the operation, and preferred processing requirements, which enhance the processing of the requested operation. The processing requirements also may include determining the capabilities of the GPU (graphics card unit) . For example, if the GPU supports OpenGL or volume rendering directly in hardware, this will aid in determining which rendering processes are used, and where they are implemented.
At step (106) the resource availability is determined. The resource availability is determined based on the processing requirements determined at step (104) . The determination as to the availability of the resources allows for a subsequent determination to be made regarding the most efficient manner by which the processing functions associated with the requesting operation may be carried out on either server 12 or client 20, or a combination of both. At step (108) , the distribution of the various image processing functions (rendering steps) are determined. At step (108) as is explained in further detail below, it may be determined that any number of the associated processing steps may be carried out at the image server 12, and any number of the associated processing steps may be carried out at the client 20, and any combination of the two. The determination at step (108) is performed before the execution of the respective rendering process (i.e. determination as to where the first rendering level will execute, and where the second rendering level will execute, etc.) .
At steps (110) and (112) , the respective processing steps that have been specified to take place at the respective image server 12 and the client devices 20 are executed. As the processing steps are generally carried out in a sequential manner, when a determination has been made for the subsequent sequential processing step to be carried out on the client side where the current step is being carried out at the image server side 12, the adaptors will provide the data upon which the processing is to continue to the image server 12 at step (110) . Similarly, where the current step is being carried out at the image server side 12, and the subsequent sequential steps are to be carried out at the client side 20, upon the conclusion of the current processing step, the adaptors provide the data upon which the processing is to continue to the client 20 at step (112) .
At the conclusion of steps (110) and (112) with regards to all of the processing steps that are associated with a requested operation, at step (114) the processing steps have been completed, and the requested operation has been performed.
Reference is now made to FIG. 3, where a block diagram illustrating the concept of distributed image processing of image processing system 10 is shown. For exemplary purposes, two rendering levels have been shown in the rendering pipeline 22, the first rendering level 26A, and the second rendering level 26B. The first rendering level 26A, and the second rendering level 26B, are used to refer to the various processing steps that are to be carried out in respect of a requested operation.
Each rendering level, which represents various processing steps, may have associated with it one or more sub rendering levels. A rendering level 26 may be referred to as a parent, and the sub rendering levels for purposes of example may be considered to be children. The sub rendering levels may represent one or more processing steps that are performed. The first rendering level 26A shown in FIG. 3, is shown with two sub rendering levels, the first rendering level IAi and the second rendering level IA2. Either of the processes associated with the sub rendering levels associated with the first rendering level 26A in this example, may be carried out at the server side 12, or at the client devices 20. Each sub rendering level may itself have multiple children (sub- rendering levels) . Referring to the second rendering level 26B, the second rendering level has associated with it two sub rendering levels, a second rendering level 2Ax, and second rendering level 2A2. The second sub rendering level 2Ai, is shown for purposes of example as having two sub further sub rendering levels itself, second sub rendering level 2Bi, and second sub rendering level 2B2. The processing steps of two second rendering levels 2Bx, and 2B2, respectively may be performed upon an image server 12, and/or the client device 20. Therefore, the various processing steps that are associated with each processing function, may be further divided between the server 12 and the client device 20. Reference is now made to FIG. 4, where a flowchart diagram illustrates in more detail the operational steps of the image processing system 10, and in particular, more detail associated with the process step (106) . The processing as described herein, is described with respect to the processing that is undertaken at one specific client device 20, and more specifically, by the rendering module 24, at one specific client device 20. It should be understood, that in the image processing system 10, multiple client devices 20 may interact with multiple servers 12 to determine resource availability when needed. The steps described herein, are described for purposes of example, as the processing requirements that are associated with a requested operation, may differ based on the requested operation. At step (200) , based on the requested operation, and the underlying medical image data upon which the requested operation is to be performed, it is first determined by the rendering module 26, which resources, either required or preferred are needed for the execution of the required operation. The determinations as explained below, are made partly based upon the type and/or size of image data, the available graphics hardware, memory, processing speed, and the rendering processes available on the client and other factors. Based on the various requirements associated with the requested operation, the subsequent steps determine the availability of such resources on the client devices 20 and the one or more servers 12 if needed. The client device 20 determines which rendering levels, and their associated rendering steps are available upon the client device 20 and the respective image server 12. For example, the client device 20 may have resident upon it various types of renderers (i.e. open GL) . However, for purposes of example, a requested operation is shown where three processing requirements are associated with the requested operation (hardware, memory, and processing power) . A determination is made for each rendering level that is part of a rendering pipeline 22, where the data that is input to the next rendering level is used to determine which resources are required as the various processing steps that are to be performed on the data are known. The operational steps described herein, are provided for purposes of example, as the various processing requirements associated with each requested operation may vary according to the rendering levels associated with such a requested operation and the data upon which the requested operation is based.
Generally, three processing requirements, are associated with most requested operations and the availability of such resources are determined for most requested operations when rendering an image. Therefore, the steps as shown in FIG. 4, and FIG. 5, are described with respect to the determination of the memory, processing power, and specialized hardware requirements. At step (202), the memory resources that are available are determined. Specifically, the amount of physical memory that is available on the client device 20 is determined. The memory resources are important as often the image file will need to be stored upon memory, and the memory resources that are available on a client device 20 (for example, a PDA) may be limited.
At step (204) the hardware resources are determined. In order to successfully execute a requested operation, the requested operation may have associated with it one or more rendering levels that require particular hardware resources. For example, some rendering steps may require specialized hardware such as graphics processor cards, or cell processors, or other such hardware requirements. Graphics processor cards is the term used herein to refer to a graphics processor that is associated with a graphics adaptor. Cell processors allow for parallelization on a large scale.
At step (206), the processing power resources are determined. The number of processors and the speeds of such processors that are available are determined. For example, the processing power available on client device 20, such as a PDA is limited, as compared to the processing power that is associated with one or more servers 12. Also, some rendering steps may be more efficiently implemented if the processing functions may be further distributed, or parallelized upon virtual or real CPUs. Therefore, the existence of any multiple core processors is determined at this stage, in an exemplary embodiment.
Steps (200) to (206) have been described with respect to an example, as most rendering steps require certain memory, processing power, and hardware requirements. However, it will be understood that rendering steps, or algorithms may have associated with them additional requirements, and that the system 10 described herein, determines the availability of any resources that are associated with a specific rendering level. Also, it will be understood that certain rendering steps will not have requirements associated with one or more of the memory capabilities, processing power, and hardware resources of a client device 20 or image server 12, and therefore in such situations, the existence of such resources is not determined by the system 10. The steps that have been described herein, with respect to the determination of resource availability, may be made in parallel, and that sequential determinations are not necessary. Reference is now made to FIG. 5, where a flowchart diagram illustrates in more detail the operational step (108) . The specific determinations as to whether a specific rendering level or rendering step is to take place upon one or more servers 12 or the client device 20 is described in further detail herein. As mentioned above, the required resources and the preferred resources, have been described with regards to hardware requirements, memory requirements, and processor requirements for purposes of example. In an exemplary embodiment, a weighting factor is used to determine whether the rendering level is to be carried out upon a server 12 or the client device 20.
As an example, the determination as to where (client device 20 or image server 12) the rendering level is to execute rendering may be made based on various considerations including the following. First, the determination could be made based on a determination as to whether the rendering steps are available on the client device 20, if not, then the steps may be executed remotely (at a server 12) . Further, the determination could be made based on the size of the image (may also determine number of slices in the volume) which will indicate the quantity of memory resources needed to perform the rendering steps and where if the client device 20 does not have the required memory, a remote server 12 could be used. Further the determination as to whether remote rendering is used could be based on other factors such as the capabilities of graphics hardware, memory, GPU speed and support of rendering features. Finally, the determination could be based on the available network bandwidth. It should be understood that the example discussed in association with the following operational steps is provided for exemplary descriptive purposes only. It should be noted that as discussed, various factors (i.e., network bandwidth, availability of rendering levels, hardware requirements, memory requirements, and other factors) are used in the determination, of whether the rendering level will execute upon the client device 20 or at a server 12. At step (300) , the rendering module 26 retrieves the various resource requirements. It should be noted that the operations steps described herein, are described for purposes of example, as has been mentioned above, various factors may be taken into consideration when determining whether a rendering level is to take place at the client device 20 or at image server 12. At step (300) , the hardware requirements are retrieved. As mentioned above, the hardware requirements may include, the requirement or preference for dual core processing, or specialized hardware, such as graphic adaptor cards or cell processors, or any other specialized hardware requirement. At step (302) , based on the determinations made in steps (200) to (208), the hardware resource availability is retrieved. The hardware resource availability has been determined by the rendering module as has been described above. In an exemplary embodiment, a weighting system is employed to aid in the determination as to whether a rendering level should be executed. For example, three weighting factors may be used for each processing requirement .
A weighting factor of 1 indicates that the rendering level requires the processing resource. For example, if the client device is found to have quad processors, and the algorithm underlying the rendering level requires quad processors, a weighting factor of 1 is assigned to the hardware resource requirements .
A weighting factor of .5 indicates that the resource is not a requirement, and the algorithm is able to execute without the particular hardware resource (i.e. it is preferred to have a processor of a certain speed, but the algorithm will still execute if the processor is not of that speed) .
A weighting factor of 0, indicates that the algorithm is not able to execute with the particular resource (i.e. for example, only 4 MB of memory is available on the client device 20, whereas 10 MB is required in order to implement the algorithm) . Also, in an alternative embodiment depending on the processing requirements, a complex decision tree algorithm may be used when determining where a rendering level will execute. As an example, if the client device 20 has a low bandwidth connection and amount of pixel data is large and does not reside on the client device 20, the respective rendering level may execute upon the server 12. However, if the same data is stored locally, then the rendering steps may execute at the client device 20. As stated above, the operational steps described herein, have been described with respect to the use of weighting factors.
At step (302), depending on the hardware requirements, and the hardware resources that have been determined in steps (200) to (208) , a weighting value is assigned. At step (304) , the memory requirements are retrieved, and at step (306) a weighting value is assigned based on comparison of the memory resources with the memory requirements. At step (308), the processing power requirements are retrieved and at step (310) the processing power resources information is retrieved, and the appropriate value is assigned. At step (312) , any other processing resources are retrieved, and at step (314) a weighting value is assigned to them.
At step (316) , the determination as to where the respective step/level is to execute. Where a weighting factor, as has been used, if any weighting values of 0 have been assigned, then one or more servers are queried to determine whether the appropriate processing resources that are required as determined by the requirements are available at the image server 12. If the resources are available upon the one or more servers 12, then the rendering step/level will be executed upon the server 12. Based on the determinations as to where (client or server) the respective rendering process is to take place, the rendering processes are then executed based on the respective determinations. Upon the conclusion of the rendering process, the output data is provided to the next rendering process through the adaptors of the rendering module. The rendering processes are executed until all of the rendering functions associated with a requested operation are executed, and an image is rendered.
While the various exemplary embodiments of the image processing system 10 have been described in the context of medical image management in order to provide an application-specific illustration, it should be understood that the image processing system 10 could also be adapted to any other type of image or document display system.
While the above description provides examples of the embodiments, it will be appreciated that some features and/or functions of the described embodiments are susceptible to modification without departing from the spirit and principles of operation of the described embodiments. Accordingly, what has been described above has been intended to be illustrative of the invention and non- limiting and it will be understood by persons skilled in the art that other variants and modifications may be made without departing from the scope of the invention as defined in the claims appended hereto .

Claims

[CLAIMS ]
1) A method of processing an image, wherein one or more processing functions are executed, the method characterized by:
(a) determining the steps involved in the one or more processing functions, wherein each of the one or more processing functions may comprise one or more processing steps;
(b) determining one or more resource requirements associated with each of the one or more processing functions;
(c) determining a resource availability for the one or more resource requirements upon a client;
(d) selectively allocating each of the one or more processing functions to at least one of the client and the server where the client does not have the required resource availability;
(e) executing one or more processing steps associated with the one or more processing functions at a client if the one or more processing steps can be executed at the client;
(f) providing client output data based on the executed one or more processing steps to a server for execution if the one or more processing steps can not be executed at the client based on not meeting the one or more resource requirements associated with the one or more processing steps; and
(g) receiving server output data based on the server executed one or more processing steps for the execution at the client of the remaining one or more processing steps.
2) The method of claim 1, wherein the one or more resource requirements are determined based on data associated with the image .
3) The method of claim 1, wherein the one or more resource requirements, may be selected from a group comprising: hardware requirements, memory requirements, processor requirements, network requirements and available renderers . 4) The method of claim 1, wherein a rendering pipeline comprises the one or more processing functions.
5) A computer-readable medium upon which a plurality of instructions are stored, the instructions for performing the steps of the method as claimed in claim 1.
6) A system for processing an image, wherein one or more processing functions are executed, the system characterized by: (a) a memory for storing a plurality of instructions; and
(b) a processor coupled to the memory, said processor configured for: i) determining the steps involved in the one or more processing functions, wherein each of the one or more processing functions may comprise one or more processing steps; ii) determining one or more resource requirements associated with each of the one or more processing functions; iii) determining a resource availability for the one or more resource requirements upon a client; iv) selectively allocating each of the one or more processing functions to at least one of the client and the server where the client does not have the required resource availability; v) executing one or more processing steps associated with the one or more processing functions at a client if the one or more processing steps can be executed at the client; vi) providing client output data based on the executed one or more processing steps to a server for execution if the one or more processing steps can not be executed at the client based on not meeting the one or more resource requires associated with the one or more processing steps; and vii) receiving server output data based on the server executed one or more processing steps for the execution at the client of the remaining one or more processing steps. 7) The system of claim 6, wherein the one or more resource requirements are determined based on data associated with the image .
8) The system of claim 6, wherein the one or more resource requirements, may be selected from a group comprising: hardware requirements, memory requirements, processor requirements, network requirements and available renderers .
9) The system of claim 6, wherein a rendering pipeline comprises the one or more processing functions.
PCT/EP2007/0621162006-11-222007-11-09Method and system for client / server distributed image processingWO2008061903A1 (en)

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US86705506P2006-11-222006-11-22
US60/867,0552006-11-22

Publications (1)

Publication NumberPublication Date
WO2008061903A1true WO2008061903A1 (en)2008-05-29

Family

ID=39110540

Family Applications (1)

Application NumberTitlePriority DateFiling Date
PCT/EP2007/062116WO2008061903A1 (en)2006-11-222007-11-09Method and system for client / server distributed image processing

Country Status (2)

CountryLink
US (1)US8793301B2 (en)
WO (1)WO2008061903A1 (en)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
AR058389A1 (en)*2005-12-192008-01-30Janssen Pharmaceutica Nv USE OF SULFAMIDE BENZO-FUSED HETEROCICLIC DERIVATIVES FOR THE TREATMENT OF OBESITY
WO2007137167A2 (en)*2006-05-192007-11-29Janssen Pharmaceutica N.V.Co-therapy for the treatment of epilepsy
US9867530B2 (en)2006-08-142018-01-16Volcano CorporationTelescopic side port catheter device with imaging system and method for accessing side branch occlusions
US9318108B2 (en)2010-01-182016-04-19Apple Inc.Intelligent automated assistant
US8977255B2 (en)2007-04-032015-03-10Apple Inc.Method and system for operating a multi-function portable electronic device using voice-activation
EP2178442B1 (en)2007-07-122017-09-06Volcano CorporationCatheter for in vivo imaging
US9596993B2 (en)2007-07-122017-03-21Volcano CorporationAutomatic calibration systems and methods of use
WO2009009802A1 (en)2007-07-122009-01-15Volcano CorporationOct-ivus catheter for concurrent luminal imaging
US8676904B2 (en)2008-10-022014-03-18Apple Inc.Electronic devices with voice command and contextual data processing capabilities
ATE529841T1 (en)*2008-11-282011-11-15Agfa Healthcare Nv METHOD AND DEVICE FOR DETERMINING A POSITION IN AN IMAGE, IN PARTICULAR A MEDICAL IMAGE
US20120309363A1 (en)2011-06-032012-12-06Apple Inc.Triggering notifications associated with tasks items that represent tasks to perform
US10276170B2 (en)2010-01-182019-04-30Apple Inc.Intelligent automated assistant
EP2464115A1 (en)2010-12-132012-06-13Thomson LicensingMethod and input-output device for rendering at least one of audio, video and computer graphics content and servicing device for delivering at least one of pre-rendered audio, pre-rendered video and pre-rendered computer graphics content
US11141063B2 (en)2010-12-232021-10-12Philips Image Guided Therapy CorporationIntegrated system architectures and methods of use
US11040140B2 (en)2010-12-312021-06-22Philips Image Guided Therapy CorporationDeep vein thrombosis therapeutic methods
EP2663925B1 (en)*2011-01-142016-09-14Google, Inc.A method and mechanism for performing both server-side and client-side rendering of visual data
WO2012170797A1 (en)*2011-06-092012-12-13Ciinow, Inc.A method and mechanism for performing both server-side and client-side rendering of visual data
US9360630B2 (en)2011-08-312016-06-07Volcano CorporationOptical-electrical rotary joint and methods of use
US9247182B2 (en)2011-10-102016-01-26Eyeview, Inc.Using cluster computing for generating personalized dynamic videos
US8832226B2 (en)*2011-10-102014-09-09Eyeview, Inc.Using cloud computing for generating personalized dynamic and broadcast quality videos
US11127186B2 (en)*2012-03-142021-09-21Tulip.Io Inc.Systems and methods for transmitting and rendering 3D visualizations over a network
US10417037B2 (en)2012-05-152019-09-17Apple Inc.Systems and methods for integrating third party services with a digital assistant
US20140074913A1 (en)*2012-09-102014-03-13Calgary Scientific Inc.Client-side image rendering in a client-server image viewing architecture
US9307926B2 (en)2012-10-052016-04-12Volcano CorporationAutomatic stent detection
US11272845B2 (en)2012-10-052022-03-15Philips Image Guided Therapy CorporationSystem and method for instant and automatic border detection
US9324141B2 (en)2012-10-052016-04-26Volcano CorporationRemoval of A-scan streaking artifact
US10568586B2 (en)2012-10-052020-02-25Volcano CorporationSystems for indicating parameters in an imaging data set and methods of use
CA2887421A1 (en)2012-10-052014-04-10David WelfordSystems and methods for amplifying light
US9292918B2 (en)2012-10-052016-03-22Volcano CorporationMethods and systems for transforming luminal images
US10070827B2 (en)2012-10-052018-09-11Volcano CorporationAutomatic image playback
US9286673B2 (en)2012-10-052016-03-15Volcano CorporationSystems for correcting distortions in a medical image and methods of use thereof
US9367965B2 (en)2012-10-052016-06-14Volcano CorporationSystems and methods for generating images of tissue
US9858668B2 (en)2012-10-052018-01-02Volcano CorporationGuidewire artifact removal in images
US20140100454A1 (en)2012-10-052014-04-10Volcano CorporationMethods and systems for establishing parameters for three-dimensional imaging
US9840734B2 (en)2012-10-222017-12-12Raindance Technologies, Inc.Methods for analyzing DNA
US9171381B1 (en)2012-10-242015-10-27Kabam, Inc.System and method for rendering an image of a frame of an animation
EP2931132B1 (en)2012-12-132023-07-05Philips Image Guided Therapy CorporationSystem for targeted cannulation
US10942022B2 (en)2012-12-202021-03-09Philips Image Guided Therapy CorporationManual calibration of imaging system
WO2014113188A2 (en)2012-12-202014-07-24Jeremy StigallLocating intravascular images
US11406498B2 (en)2012-12-202022-08-09Philips Image Guided Therapy CorporationImplant delivery system and implants
EP2934310A4 (en)2012-12-202016-10-12Nathaniel J KempOptical coherence tomography system that is reconfigurable between different imaging modes
EP2934311B1 (en)2012-12-202020-04-15Volcano CorporationSmooth transition catheters
US10939826B2 (en)2012-12-202021-03-09Philips Image Guided Therapy CorporationAspirating and removing biological material
US9486143B2 (en)2012-12-212016-11-08Volcano CorporationIntravascular forward imaging device
US10058284B2 (en)2012-12-212018-08-28Volcano CorporationSimultaneous imaging, monitoring, and therapy
US9612105B2 (en)2012-12-212017-04-04Volcano CorporationPolarization sensitive optical coherence tomography system
US10413317B2 (en)2012-12-212019-09-17Volcano CorporationSystem and method for catheter steering and operation
US10332228B2 (en)2012-12-212019-06-25Volcano CorporationSystem and method for graphical processing of medical data
EP2936241B1 (en)2012-12-212020-10-21Nathaniel J. KempPower-efficient optical buffering using a polarisation-maintaining active optical switch
CA2895769A1 (en)2012-12-212014-06-26Douglas MeyerRotational ultrasound imaging catheter with extended catheter body telescope
JP2016501625A (en)2012-12-212016-01-21ジェローム マイ, Ultrasound imaging with variable line density
JP2016507892A (en)2012-12-212016-03-10デイビッド ウェルフォード, System and method for narrowing the wavelength emission of light
EP2934323A4 (en)2012-12-212016-08-17Andrew Hancock SYSTEM AND METHOD FOR MULTIPLE PROCESSING OF IMAGE SIGNALS
DE212014000045U1 (en)2013-02-072015-09-24Apple Inc. Voice trigger for a digital assistant
WO2014138555A1 (en)2013-03-072014-09-12Bernhard SturmMultimodal segmentation in intravascular images
US10226597B2 (en)2013-03-072019-03-12Volcano CorporationGuidewire with centering mechanism
US20140276923A1 (en)2013-03-122014-09-18Volcano CorporationVibrating catheter and methods of use
EP2967391A4 (en)2013-03-122016-11-02Donna Collins SYSTEMS AND METHODS FOR DIAGNOSING CORONARY MICROVASCULAR DISEASE
WO2014159819A1 (en)2013-03-132014-10-02Jinhyoung ParkSystem and methods for producing an image from a rotational intravascular ultrasound device
US11026591B2 (en)2013-03-132021-06-08Philips Image Guided Therapy CorporationIntravascular pressure sensor calibration
US9301687B2 (en)2013-03-132016-04-05Volcano CorporationSystem and method for OCT depth calibration
US10219887B2 (en)2013-03-142019-03-05Volcano CorporationFilters with echogenic characteristics
US12343198B2 (en)2013-03-142025-07-01Philips Image Guided Therapy CorporationDelivery catheter having imaging capabilities
US10292677B2 (en)2013-03-142019-05-21Volcano CorporationEndoluminal filter having enhanced echogenic properties
US10652394B2 (en)2013-03-142020-05-12Apple Inc.System and method for processing voicemail
US20160030151A1 (en)2013-03-142016-02-04Volcano CorporationFilters with echogenic characteristics
US10748529B1 (en)2013-03-152020-08-18Apple Inc.Voice activated device for use with a voice-based digital assistant
DE102013206754A1 (en)*2013-04-162014-10-16Siemens Aktiengesellschaft Method for processing data and associated data processing system or data processing system network
US10176167B2 (en)2013-06-092019-01-08Apple Inc.System and method for inferring user intent from speech inputs
DE112014002747T5 (en)2013-06-092016-03-03Apple Inc. Apparatus, method and graphical user interface for enabling conversation persistence over two or more instances of a digital assistant
DE112014003653B4 (en)2013-08-062024-04-18Apple Inc. Automatically activate intelligent responses based on activities from remote devices
WO2015069837A1 (en)2013-11-062015-05-14Calgary Scientific, Inc.Apparatus and method for client-side flow control in a remote access environment
JP2015132887A (en)*2014-01-092015-07-23富士通株式会社Request distribution program, request distribution method, and information processing device
US9715875B2 (en)2014-05-302017-07-25Apple Inc.Reducing the need for manual start/end-pointing and trigger phrases
CN110797019B (en)2014-05-302023-08-29苹果公司Multi-command single speech input method
US10170123B2 (en)2014-05-302019-01-01Apple Inc.Intelligent assistant for home automation
US9338493B2 (en)2014-06-302016-05-10Apple Inc.Intelligent automated assistant for TV user interactions
JP6035288B2 (en)*2014-07-162016-11-30富士フイルム株式会社 Image processing system, client, image processing method, program, and recording medium
US9886953B2 (en)2015-03-082018-02-06Apple Inc.Virtual assistant activation
US10460227B2 (en)2015-05-152019-10-29Apple Inc.Virtual assistant in a communication session
US10200824B2 (en)2015-05-272019-02-05Apple Inc.Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en)2015-06-292016-12-29Apple Inc.Virtual assistant for media playback
WO2017038100A1 (en)*2015-09-032017-03-09日本電気株式会社Monitoring server, method for determining distributed processing, and non-temporary computer-readable medium in which program is stored
US10747498B2 (en)2015-09-082020-08-18Apple Inc.Zero latency digital assistant
US10740384B2 (en)2015-09-082020-08-11Apple Inc.Intelligent automated assistant for media search and playback
US10331312B2 (en)2015-09-082019-06-25Apple Inc.Intelligent automated assistant in a media environment
US10671428B2 (en)*2015-09-082020-06-02Apple Inc.Distributed personal assistant
US11587559B2 (en)2015-09-302023-02-21Apple Inc.Intelligent device identification
US10691473B2 (en)2015-11-062020-06-23Apple Inc.Intelligent automated assistant in a messaging environment
US10956666B2 (en)2015-11-092021-03-23Apple Inc.Unconventional virtual assistant interactions
US9855816B2 (en)*2015-12-222018-01-02Uber Technologies, Inc.Thermal reduction system for an automated vehicle
US10223066B2 (en)2015-12-232019-03-05Apple Inc.Proactive assistance based on dialog communication between devices
US12223282B2 (en)2016-06-092025-02-11Apple Inc.Intelligent automated assistant in a home environment
US10586535B2 (en)2016-06-102020-03-10Apple Inc.Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en)2016-06-112018-06-14Apple IncIntelligent device arbitration and control
DK201670540A1 (en)2016-06-112018-01-08Apple IncApplication integration with a digital assistant
US12197817B2 (en)2016-06-112025-01-14Apple Inc.Intelligent device arbitration and control
US9947070B2 (en)*2016-09-082018-04-17Dell Products L.P.GPU that passes PCIe via displayport for routing to a USB type-C connector
US11204787B2 (en)2017-01-092021-12-21Apple Inc.Application integration with a digital assistant
US10845865B2 (en)2017-04-212020-11-24Intel CorporationReducing power consumption when transferring frames from graphics processors to display panels
US10504259B2 (en)*2017-04-242019-12-10Intel CorporationSeparately processing regions or objects or interest from a render engine to a display engine or a display panel
DK180048B1 (en)2017-05-112020-02-04Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en)2017-05-112020-07-28Apple Inc.Maintaining privacy of personal information
DK201770427A1 (en)2017-05-122018-12-20Apple Inc.Low-latency intelligent automated assistant
DK179745B1 (en)2017-05-122019-05-01Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en)2017-05-122019-01-15Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en)2017-05-152018-12-20Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en)2017-05-162018-11-22Apple Inc.Detecting a trigger of a digital assistant
US10303715B2 (en)2017-05-162019-05-28Apple Inc.Intelligent automated assistant for media exploration
DK179549B1 (en)2017-05-162019-02-12Apple Inc.Far-field extension for digital assistant services
US11430331B2 (en)2017-09-082022-08-30Uatc, LlcPower and thermal management systems and methods for autonomous vehicles
US10818288B2 (en)2018-03-262020-10-27Apple Inc.Natural assistant interaction
US10928918B2 (en)2018-05-072021-02-23Apple Inc.Raise to speak
US11145294B2 (en)2018-05-072021-10-12Apple Inc.Intelligent automated assistant for delivering content from user experiences
US10892996B2 (en)2018-06-012021-01-12Apple Inc.Variable latency device coordination
DK180639B1 (en)2018-06-012021-11-04Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (en)2018-06-012019-07-12Apple Inc.Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en)2018-06-012019-12-16Apple Inc.Virtual assistant operation in multi-device environments
US11462215B2 (en)2018-09-282022-10-04Apple Inc.Multi-modal inputs for voice commands
US11475898B2 (en)2018-10-262022-10-18Apple Inc.Low-latency multi-speaker speech recognition
US11348573B2 (en)2019-03-182022-05-31Apple Inc.Multimodality in digital assistant systems
US11307752B2 (en)2019-05-062022-04-19Apple Inc.User configurable task triggers
DK201970509A1 (en)2019-05-062021-01-15Apple IncSpoken notifications
US11475884B2 (en)2019-05-062022-10-18Apple Inc.Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en)2019-05-062022-08-23Apple Inc.Interpreting spoken requests
US11140099B2 (en)2019-05-212021-10-05Apple Inc.Providing message response suggestions
DK180129B1 (en)2019-05-312020-06-02Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en)2019-05-312022-11-08Apple Inc.Remote execution of machine-learned models
US11289073B2 (en)2019-05-312022-03-29Apple Inc.Device text to speech
DK201970511A1 (en)2019-05-312021-02-15Apple IncVoice identification in digital assistant systems
US11227599B2 (en)2019-06-012022-01-18Apple Inc.Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en)2019-06-012022-06-14Apple Inc.Increasing the relevance of new available information
US11488406B2 (en)2019-09-252022-11-01Apple Inc.Text detection using global geometry estimators
GB202017464D0 (en)*2020-10-302020-12-16Tractable LtdRemote vehicle damage assessment
US11126165B2 (en)2020-02-112021-09-21Uatc, LlcVehicle computing system cooling systems
US12301635B2 (en)2020-05-112025-05-13Apple Inc.Digital assistant hardware abstraction
US11183193B1 (en)2020-05-112021-11-23Apple Inc.Digital assistant hardware abstraction
US11061543B1 (en)2020-05-112021-07-13Apple Inc.Providing relevant data items based on context
US11490204B2 (en)2020-07-202022-11-01Apple Inc.Multi-device audio adjustment coordination
US11438683B2 (en)2020-07-212022-09-06Apple Inc.User identification using headphones
CN114327028A (en)*2020-09-302022-04-12伊姆西Ip控股有限责任公司Method, apparatus and computer program product for managing virtual visual content
CN114697302B (en)2020-12-312024-09-27伊姆西Ip控股有限责任公司Method for distributing virtual visual content
CN112750520A (en)*2020-12-312021-05-04四川桑瑞思环境技术工程有限公司Information processing system
US20240171645A1 (en)*2022-11-172024-05-23Hyland Software, Inc.Systems, methods, and devices for hub, spoke and edge rendering in a picture archiving and communication system (pacs)

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6384821B1 (en)*1999-10-042002-05-07International Business Machines CorporationMethod and apparatus for delivering 3D graphics in a networked environment using transparent video
EP1241575A2 (en)*2001-03-062002-09-18Hewlett-Packard CompanySystem and method for distributed processing

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6167442A (en)*1997-02-182000-12-26Truespectra Inc.Method and system for accessing and of rendering an image for transmission over a network
US6438576B1 (en)*1999-03-292002-08-20International Business Machines CorporationMethod and apparatus of a collaborative proxy system for distributed deployment of object rendering
US7372485B1 (en)*1999-06-082008-05-13Lightsurf Technologies, Inc.Digital camera device and methodology for distributed processing and wireless transmission of digital images
US6745368B1 (en)*1999-06-112004-06-01Liberate TechnologiesMethods, apparatus, and systems for storing, retrieving and playing multimedia data
US6377257B1 (en)*1999-10-042002-04-23International Business Machines CorporationMethods and apparatus for delivering 3D graphics in a networked environment
US6867779B1 (en)*1999-12-222005-03-15Intel CorporationImage rendering
US6704798B1 (en)*2000-02-082004-03-09Hewlett-Packard Development Company, L.P.Explicit server control of transcoding representation conversion at a proxy or client location
US7092983B1 (en)*2000-04-192006-08-15Silicon Graphics, Inc.Method and system for secure remote distributed rendering
US7783695B1 (en)*2000-04-192010-08-24Graphics Properties Holdings, Inc.Method and system for distributed rendering
US7062527B1 (en)*2000-04-192006-06-13Silicon Graphics, Inc.Management and scheduling of a distributed rendering method and system
US7013340B1 (en)*2000-05-182006-03-14Microsoft CorporationPostback input handling by server-side control objects
US7016061B1 (en)*2000-10-252006-03-21Hewlett-Packard Development Company, L.P.Load balancing for raster image processing across a printing system
US7706017B2 (en)*2001-01-112010-04-27Sharp Laboratories Of America, Inc.Systems and methods for providing load balance rendering for direct printing
US7339687B2 (en)*2002-09-302008-03-04Sharp Laboratories Of AmericaLoad-balancing distributed raster image processing
US7020721B1 (en)*2001-04-022006-03-28Palmsource, Inc.Extensible transcoder annotation for transcoding proxy servers
US7213072B2 (en)*2001-05-082007-05-01Nokia Mobile PhonesMethod and apparatus for transcoding content with permissible operations authorized by content creator
US20030158886A1 (en)*2001-10-092003-08-21Walls Jeffrey J.System and method for configuring a plurality of computers that collectively render a display
WO2003049424A1 (en)*2001-12-032003-06-12Nikon CorporationElectronic apparatus, electronic camera, electronic device, image display apparatus, and image transmission system
US6947956B2 (en)*2002-06-062005-09-20International Business Machines CorporationMethod and apparatus for selective caching of transactions in a computer system
JP4245939B2 (en)*2003-02-282009-04-02株式会社リコー Print processing system
EP2144178A3 (en)*2003-06-102010-03-31Fujitsu LimitedData transmission system with image display apparatus
US8042094B2 (en)*2004-07-082011-10-18Ellis Amalgamated LLCArchitecture for rendering graphics on output devices
US7852342B2 (en)*2004-10-142010-12-14Microsoft CorporationRemote client graphics rendering
US20060122834A1 (en)*2004-12-032006-06-08Bennett Ian MEmotion detection device & method for use in distributed systems
US7372465B1 (en)*2004-12-172008-05-13Nvidia CorporationScalable graphics processing for remote display
US7698417B2 (en)*2005-06-152010-04-13Microsoft CorporationOptimized performance counter monitoring
US7483939B2 (en)*2005-08-252009-01-27General Electric CompanyMedical processing system allocating resources for processing 3D to form 2D image data based on report of monitor data
US7890573B2 (en)*2005-11-182011-02-15Toshiba Medical Visualization Systems Europe, LimitedServer-client architecture in medical imaging
US7502501B2 (en)*2005-12-222009-03-10Carestream Health, Inc.System and method for rendering an oblique slice through volumetric data accessed via a client-server architecture
US20070214235A1 (en)*2006-03-092007-09-13Kevin WoodsApplication server for processing medical image data
WO2008022282A2 (en)*2006-08-162008-02-21Michael ValdiserriOnline volume rendering system and method
US7843586B2 (en)*2006-09-282010-11-30Sharp Laboratories Of America, Inc.Systems and methods for facilitating direct scanning to network destinations by clients
US8134743B2 (en)*2007-07-182012-03-13Xerox CorporationMethods and systems for routing and processing jobs in a production environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6384821B1 (en)*1999-10-042002-05-07International Business Machines CorporationMethod and apparatus for delivering 3D graphics in a networked environment using transparent video
EP1241575A2 (en)*2001-03-062002-09-18Hewlett-Packard CompanySystem and method for distributed processing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ENGEL K ET AL: "CLIENT-SERVER-STRATEGIEN ZUR VISUALISIERUNG KOMPLEXER STRUKTUREIGENSCHAFTEN IN DIGITALEN DOKUMENTEN DER CHEMIE CLIENT-SERVER STRATEGIES FOR VISUALIZATION OF COMPLEX MOLECULAR STRUCTURE PROPERTIES IN DIGITAL DOCUMENTS IN CHEMISTRY", IT + TI INFORMATIONSTECHNIK UND TECHNISCHE INFORMATIK, OLDENBOURG VERLAG. MUNCHEN, DE, vol. 42, no. 6, December 2000 (2000-12-01), pages 17 - 23, XP000976160, ISSN: 0944-2774*
GRIMSTEAD I J ET AL: "Automatic Distribution of Rendering Workloads in a Grid Enabled Collaborative Visualization Environment", SUPERCOMPUTING, 2004. PROCEEDINGS OF THE ACM/IEEE SC2004 CONFERENCE PITTSBURGH, PA, USA 06-12 NOV. 2004, PISCATAWAY, NJ, USA,IEEE, 6 November 2004 (2004-11-06), pages 1 - 10, XP010780326, ISBN: 0-7695-2153-3*
MESSER A ET AL: "Towards a distributed platform for resource-constrained devices", PROCEEDINGS OF THE 22ND. INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS. ICDCS 2002. VIENNA, AUSTRIA, JULY 2 - 5, 2002, INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, LOS ALAMITOS, CA : IEEE COMP. SOC, US, vol. CONF. 22, 2 July 2002 (2002-07-02), pages 37 - 45, XP010595515, ISBN: 0-7695-1585-1*

Also Published As

Publication numberPublication date
US20090138544A1 (en)2009-05-28
US8793301B2 (en)2014-07-29

Similar Documents

PublicationPublication DateTitle
US8793301B2 (en)Method and system for dynamic image processing
CN103838813B (en)Kernel occupies the system and method that medical image is checked
US8140977B2 (en)Hosted data visualization service
US20080195843A1 (en)Method and system for processing a volume visualization dataset
US7376286B2 (en)Block-based rotation of arbitrary-shaped images
CN109215764B (en)Four-dimensional visualization method and device for medical image
TW200917039A (en)Enabling parallel access volumes in virtual machine environments
US9842001B2 (en)System level acceleration server
US10296713B2 (en)Method and system for reviewing medical study data
CN110781159B (en)Ceph directory file information reading method and device, server and storage medium
US8738742B2 (en)Tiered XML services in a content management system
CN109347899A (en) Method of writing log data in distributed storage system
Glendenning et al.Parameter space visualization for large-scale datasets using parallel coordinate plots
CN114496175A (en)Medical image viewing method, device, equipment and storage medium
Li et al.SP-MIOV: A novel framework of shadow proxy based medical image online visualization in computing and storage resource restrained environments
CN110427377B (en)Data processing method, device, equipment and storage medium
US8208702B2 (en)Method for providing image objects in a medical image information system, and medical image information system
EP2310994A1 (en)Method and system for document viewing
Ahmed et al.Visualization pipeline for medical datasets on grid computing environment
Leaver et al.Porting the AVS/Express scientific visualization software to Cray XT4
US20060074889A1 (en)Method and system for identifying a complete response to a request
CN111930566A (en)Data backup method and device, electronic equipment and storage medium
CN113268240A (en)Webpage acceleration method and device, storage medium and electronic equipment
CN117995352A (en)Surgical planning service grid, surgical planning system, and surgical planning method and apparatus
CN117130606A (en)Front-end page configuration method, front-end page configuration device, computer equipment and storage medium

Legal Events

DateCodeTitleDescription
121Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number:07822413

Country of ref document:EP

Kind code of ref document:A1

NENPNon-entry into the national phase

Ref country code:DE

122Ep: pct application non-entry in european phase

Ref document number:07822413

Country of ref document:EP

Kind code of ref document:A1


[8]ページ先頭

©2009-2025 Movatter.jp