US20020186899A1 - Method and computer system for prefetching of images - Google Patents

Method and computer system for prefetching of images Download PDF

Info

Publication number
US20020186899A1
US20020186899A1 US09/870,389 US87038901A US2002186899A1 US 20020186899 A1 US20020186899 A1 US 20020186899A1 US 87038901 A US87038901 A US 87038901A US 2002186899 A1 US2002186899 A1 US 2002186899A1
Authority
US
United States
Prior art keywords
image
images
data
cache
file
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.)
Granted
Application number
US09/870,389
Other versions
US6895128B2 (en
Inventor
Sascha Bohnenkamp
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.)
Mevis BreastCare GmbH and Co KG
Original Assignee
Mevis BreastCare GmbH and Co KG
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 Mevis BreastCare GmbH and Co KG filed Critical Mevis BreastCare GmbH and Co KG
Priority to US09/870,389 priority Critical patent/US6895128B2/en
Assigned to MEVIS-CENTRUM FUR MEDIZINISCHE DIAGNOSESYSTEME UND VISUALISIERUNG GMBH reassignment MEVIS-CENTRUM FUR MEDIZINISCHE DIAGNOSESYSTEME UND VISUALISIERUNG GMBH ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOHNENKAMP, SASCHA
Assigned to MEVIS BREASCARE GMGH & CO. KG reassignment MEVIS BREASCARE GMGH & CO. KG ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MEVIS-CENTRUM FUR MEDIZINISCHE DIAGNOSESYSTEME UND VISUALISIERUNG GMBH
Priority to EP02010733A priority patent/EP1262882A3/en
Priority to ES02010734T priority patent/ES2269551T3/en
Priority to EP02010735A priority patent/EP1262900A3/en
Priority to EP02010734A priority patent/EP1262899B1/en
Priority to DE20221101U priority patent/DE20221101U1/en
Priority to DE60213908T priority patent/DE60213908T2/en
Priority to AT02010734T priority patent/ATE336746T1/en
Publication of US20020186899A1 publication Critical patent/US20020186899A1/en
Assigned to MEVIS BREASTCARE GMBH CO. KG reassignment MEVIS BREASTCARE GMBH CO. KG RE-RECORDED TO CORRECT ASSIGNEE'S NAME ON AN ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL 012398 FRAME 0476 Assignors: MEVIS-CENTRUM FUR MEDIZINISCHE DIAGNOSESYSTEME UND VISUALIZIERUNG GMBH
Publication of US6895128B2 publication Critical patent/US6895128B2/en
Application granted granted Critical
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures

Definitions

  • the present invention relates to a method and apparatus for the operation of a cache buffer store in a data processing system, such as a computer system for rendering of medical images. More particularly, the invention relates to a method and apparatus including a procedure for prefetching of images and a corresponding algorithm for replacing least recently used images from the cache.
  • U.S. Pat. No. 4,807,110 discloses a prefetching mechanism for a cache and a two-level shadow directory.
  • a parent identifier derived from the block address is stored in a first level of the shadow directory.
  • the address of a subsequently accessed block is stored in the second level of the shadow directory, in a position associated with the first-level position of the respective parent identifier.
  • a check is made whether the respective parent identifier is already stored in the first level of the shadow directory. If it is found, then a descendant address from the associated second-level position is used to prefetch an information block to the cache if it is not already resident therein. This mechanism is to reduce the occurrence of cache misses.
  • U.S. Pat. No. 6,154,767 shows a method and apparatus for using attribute transition probability models for prefetching resources. Idle bandwidth of a client is utilized for the prefetching and resource prefetching by the resource server utilizes idle processing and/or data bus resources of the server.
  • U.S. Pat. No. 6,151,662 discloses a method of data transaction typing for caching and prefetching.
  • a microprocessor assigns a data transaction type to each instruction.
  • the data transaction type is based upon the encoding of the instruction, and indicates an access mode for memory operations corresponding to the instruction.
  • the access mode may, for example, specify caching and prefetching characteristics for the memory operation.
  • the access mode for each data transaction type is selected to enhance the speed of access by the microprocessor to the data, or to enhance the overall cache and prefetching efficiency of the microprocessor by inhibiting caching and/or prefetching for those memory operations.
  • U.S. Pat. No. 6,154,826 discloses a method for maximizing memory system bandwidth by accessing data in a dynamically determined order.
  • the order in which to access said information is selected based on the location of information stored in the memory.
  • the information is repeatedly accessed from memory and stored in the temporary storage until all streamed information is accessed.
  • the information is stored until required by the data processor.
  • the selection of the order in which to access information maximizes bandwidth and decreases the retrieval time.
  • Caching is an important technique in all fields of data processing where large amounts of data have to be handled, such as image processing.
  • a particular field of image processing is the rendering, archival, retrieval, processing, transformation, analysis and display of medical images, such as, in the field of digital radiography.
  • U.S. Pat. No. 6,041,135 shows an interactive off-line processing method for radiographic images.
  • this off-line image processing method for radiographic images an image is decomposed into detail images and multiple resolution levels and a residual image; detail images are modified up to a preset resolution level and a processed image is reconstructed by means of the modified detail images and the residual image.
  • Interactive processing is performed with different parameter settings.
  • U.S. Pat. No. 6,127,669 discloses a method for computer aided determination of window and level settings for filmless radiology.
  • Input image data is transformed into an image histogram.
  • This histogram is then segmented into a small number of parts corresponding to structures of interest. Segmentation of the histogram is done by a Viterbi optimal runlength-constrained approximation nonlinear filter.
  • Window and level settings are calculated to correspond to this segmentation. A readable image of one of the structures of interest is then displayed.
  • the tool provides a menu of optimal window and level settings corresponding to the different types of information a radiologist may be interested in.
  • a common disadvantage of prior art workstations for processing and displaying of digital radiographic images is the latency time experiences by the user of the system when a new image is loaded.
  • PACS picture archiving and communication system
  • the invention accomplishes the above and other objects and advantages by providing a method and computer system for the prefetching of data, such as image data, for example medical images from the field of digital radiography.
  • the invention enables maximizing system throughput and minimizing latency times experienced by a user. In brief, this is accomplished by taking a predefined workflow into consideration for the prefetching of the images.
  • a corresponding method and system is disclosed in co-pending U.S. patent application entitled A Method And Computer System For Screening Of Medical Cases, Ser. No. ______; filed May 29, 2001,
  • screening programs where a large number of medical cases is reviewed sequentially by one or a group of radiologists.
  • cases of such screening programs are all structured in the same or in a similar way.
  • each case can consist of the same sequence of image formats and views.
  • FIG. 1 is a block diagram of a data processing system in accordance with a preferred embodiment of the invention.
  • FIG. 2 is a flow chart of the operation of the data processing system of FIG. 1;
  • FIG. 3 is an illustration of the structure of an individual medical case
  • FIG. 4 is a block diagram of a digital radiology image workstation in accordance with a second preferred embodiment of the invention.
  • FIG. 5 is a block diagram of a digital radiology image workstation in accordance with a third preferred embodiment of the invention.
  • FIG. 6 is an illustration of the header of an image
  • FIG. 7 is a flow chart of the operation of a digital radiology image workstation
  • FIG. 8 is a flow chart illustrating the release of an image
  • FIG. 9 is a block diagram of a number of digital radiology image workstations connected to the same central image server.
  • FIG. 1 shows a data processing system 1 having an application program 2 that is coupled to a cache 3 .
  • the cache 3 is coupled to a data source 4 .
  • the data source 4 can be any type of data source, such as a file system stored on a hard drive or another storage medium or the output of an image processing device, such as a computer aided diagnosis tool.
  • the data processing system 1 further has a file 5 for storing a workflow to be performed.
  • the file 5 has a sequence 6 of steps S 1 , S 2 , S 3 , . . . Si, . . . , Sn to be sequentially performed in the workflow.
  • the sequence 6 has a pointer 7 which points to the current step being carried out by the data processing system and/or its user. In the example considered here, the current step to which the pointer 7 is directed, is the step S 2 .
  • a prefetcher 8 has access to the file 5 and is coupled to the cache 3 for requesting of data to be prefetched.
  • the application program 2 reads the sequence 6 to obtain the step to which the pointer 7 is directed. After the application program 2 has obtained the next step to be carried out, it issues a corresponding request to the cache 3 to request data which are required for the performance of the current step.
  • a user of the application program 2 can also input a jump request to jump in the sequence 6 in a forward or backward direction. If such a jump occurs, then the pointer 7 is moved by a corresponding number of steps along the sequence 6 .
  • the prefetcher 8 reads from the sequence 6 the step consecutive to the current step and all remaining images for the current step.
  • the current step is the step S 2
  • the consecutive step is the step S 3 .
  • the prefetcher 8 reads the consecutive step S 3 and performs an access operation to the cache 3 in order to request the data which are required for the application program 2 to perform the step S 3 .
  • step S 3 If the data for carrying out the step S 3 is already in the cache 3 , no further action is required. If the contrary is the case, the request is transferred to data source 4 in order to provide the cache 3 with the required data.
  • the position of the pointer 7 is incremented by one, such that the pointer 7 points to the consecutive step.
  • the consecutive step S 3 is read by the application program 2 and the application program 2 requests the data for the performance of the step S 3 —which is the new current step—from the cache 3 .
  • the prefetcher 8 performs an access operation to the sequence 6 in order to read the consecutive step of the new current step S 3 in order to request the data being required for the performance of the new consecutive step while the current step S 3 is being carried out.
  • the prefetcher 8 can also request the data for a number of consecutive steps or set of steps in the sequence 6 rather than just the data for the next consecutive step.
  • FIG. 2 shows a flow chart for illustrating the operation of the data processing system 1 of FIG. 1.
  • step 41 the application starts working on the current step S i ; before or after this the prefetcher obtains the current step S i and the next consecutive step S i+1 from the workflow in step 42 .
  • step 43 the application requests at least a subset of the data required for the performance of the complete step S i from the cache. During the processing of the step S i all of the data required for the performance of step S i is requested by the application in certain discrete data packages.
  • step S i+1 the application goes to the next step S i+1 in the workflow in step 44 . From there the application jumps to a step S i+1+j in the workflow in the example considered here in response to a corresponding input operation of a user.
  • the step S i+1+j is the new current step. The jump is performed in step 45 .
  • step 46 the data required for the performance of the current step S i and the consecutive step S i+1 of the current step are requested in step 46 from the cache for the purposes of prefetching.
  • step 47 it is decided whether the data is already in the cache.
  • step 48 If this is the case an acknowledgement is sent to the prefetcher in step 48 . If the contrary is the case a data source is accessed in step 9 in order to load the data into the cache in step 10 . Next an acknowledgement is sent to the prefetcher in step 48 . It is to be noted that the step 42 and the steps 46 to 48 , 9 and 10 are carried out in parallel to the steps 41 and 43 to 45 with respect to the then current step.
  • FIG. 3 shows the structure of a medical case consisting of a number m of images, image 1 to image m. It is assumed that the medical case of FIG. 3 is a standardized case having a predefined number, kinds and formats of images. Such a standardization of medical cases is advantageous for large screening programs where a large number of individuals are examined for a disease, such as cancer, especially breast cancer.
  • FIG. 4 is a further preferred embodiment of a data processing system in which like elements are denoted with the same reference numerals as in FIG. 1.
  • File 5 of FIG. 4 which is descriptive of the workflow, contains a case stack 31 .
  • the case stack 31 contains a stack of cases, case 1 , case 2 , case 3 , . . . , case N to be reviewed by a radiologist.
  • File 9 a is user definable and contains the sequence of images of interest to the radiologist and the corresponding required format. In the example considered here the radiologist has defined the sequences of images of interest to him in the file 9 a as follows:
  • the image 1 from the current case is to be displayed in a format 1 ;
  • the image 2 is to be displayed in a format 3 ;
  • image m- 1 is to be displayed in the format 1 ;
  • image 3 and/or other images of the m images is skipped completely—depending on the user specific initialization of the file 9 a.
  • the case stack 31 has a pointer 10 a which points to the current case being processed by the application 2 . In the example considered here this is the case 2 . Likewise the file 9 a has a pointer 11 pointing to the current image being processed within the current case. In the example considered here the current image is the image 1 ( 2 ) of the case 2 .
  • the application 2 is coupled to a display buffer 12 that is coupled to a monitor 13 .
  • the cache 3 is coupled to a data source manager 14 .
  • the data source manager 14 has a table 15 relating image formats (Data Tags) to corresponding data sources.
  • the format 1 is related to the data source of file reader 16 , the format 2 to the scaler 17 , the format 3 to CLAHE 18 for performing of a contrast limited adaptive histogram equalization, and format 4 to wavelet enhancement 19 .
  • the prefetcher 8 sequentially requests all of the images contained in the current case as indicated by the file 9 a from the cache 3 , as well as, the images of the consecutive case. For example, when the prefetcher 8 requests the image 1 ( 1 ) of the consecutive case 3 , the request is provided to the cache 3 . If the corresponding data is already in the cache 3 this is acknowledged to the prefetcher 8 .
  • the request is passed onwards to the data source manager 14 .
  • the data source manager 14 identifies the appropriate data source for the request, which is the file reader 16 .
  • the image 1 ( 1 ) of the case 3 is requested from the file reader 16 , which reads the corresponding data from mass storage, such as the hard drive of the data processing system 1 , not shown in FIG. 4, and transfers the data to the cache 3 .
  • the CLAHE 18 is requested to provide the image 2 in the required format 3 .
  • the resulting transformed raw image data is stored in the format 3 in the cache 3 and an acknowledgement is send to the prefetcher 8 .
  • FIG. 5 shows a further preferred embodiment of the data processing system. Again the same reference numerals will be used for like elements corresponding to elements of FIG. 1 and 4 .
  • the application program 2 is coupled to the prefetcher 8 to inform the prefetcher 8 of a next case to be processed. Again the prefetcher requests the images required for the current case and a consecutive case from the image cache 3 .
  • image source 20 If a requested image is not in the image cache 3 , the request is passed onwards to the image source 20 .
  • the operation of image source 20 corresponds to the data source manager 14 .
  • the image source 20 identifies an appropriate image source such as file reader 16 or scaler 17 or passes the request onwards to enhancement component 21 , which passes the request onwards to CLAHE 18 or wavelet transformer 19 depending on the required image enhancement.
  • the requested image is loaded and/or generated by the respective image source and the image is stored in the image cache 3 . This is acknowledged by the data source, which has loaded and/or generated the requested image by the message “Req_done” to all requestors of the image.
  • a “release” message is sent to the image cache 3 from the requestor.
  • a “cancel” message can be sent to the image cache 3 in case a request is to be cancelled before it has been completed. Such a situation can occur when the user jumps to another case in the case stack.
  • FIG. 6. shows the format of an image file 22 having a header 23 and a field 24 for storage of the pictorial data.
  • the header 23 contains an entry for the case number to which the image belongs, the image number for identification of the image, the image format, the requestors, the priority of the image for the purposes of a least recently used algorithm and a lock count. The utilization of those fields will become more apparent in the following.
  • FIG. 7 shows a flow chart for illustrating a least recently used algorithm and the generation of the header 23 of an image.
  • step 70 an image I k of a case i is requested by a requester.
  • each of the components of the data processing system can take the role of a requestor of an image. This applies both to the application program as well as to the prefetcher and the data sources.
  • the application program can have more than one requestor.
  • individual program components of the application program can take the role of individual requestors of images.
  • step 71 the corresponding request is sent to the cache.
  • step 72 the cache decides whether the requested image is already available. If this is the case the lock count is incremented in step 73 .
  • step 74 the priority of the image is incremented by +P 2 . For example, the value of P 2 can be equal to 100.
  • step 75 an acknowledgement is sent to all requestors of the image; the requestors are identified by the corresponding data field in the header 23 of the requested image.
  • step 76 If the image is not in the cache the control goes to step 76 for generation of a header of the image in the cache.
  • the priority of the image is set to be equal to a predefined value of P 1 in step 77 .
  • P 1 can be equal to 100.
  • step 78 the lock count is set to be equal to 1.
  • step 79 it is decided whether the cache has enough capacity for loading of the pictorial data of the requested image. If this is the case the pictorial data are requested from the appropriate image source in step 80 . In step 81 the pictorial image data are loaded and/or generated by the image source.
  • the image source is CLAHE
  • the CLAHE requires raw image data in the format 1 .
  • the CLAHE requests the image in the format 1 such that the steps from step 70 onwards are invoked.
  • the CLAHE image transformation is carried out to generate the image in the requested format 3 .
  • the step 81 is completed and an acknowledgement is provided to all requestors of the image in the format 3 in step 82 .
  • step 79 If it is decided in step 79 that the cache does not have enough capacity, the control goes to step 83 .
  • step 83 the contents of the cache is examined for images having a lock count equal to 0. All images having a lock count equal to 0 are grouped into a set S.
  • step 84 an image I L of the set S having the lowest priority of the images in the set S is identified. This image I L is freed from the cache in step 85 .
  • step 86 all priorities of the images of the set S are decremented by one but not below 0. From 86 the control returns back to step 79 in order to repeat the step 83 to 86 if the available cache capacity is still insufficient.
  • the flow chart of FIG. 8 shows the steps performed when a requestor releases a previously requested image or cancels a request.
  • the requestor releases the image I k of case i because the requestor does not require the image anymore.
  • step 81 a a corresponding release message is received by the image cache and the header of the image I k is identified in order to decrement the lock count in the header. This is done in step 81 a .
  • step 82 a the priority is decremented by P 3 but not below 0.
  • the value of P 3 can be equal to 50. This way the released image can be replaced or removed from the cache in case capacity needs to be provided. The replacement is done in accordance with the least recently used algorithm as illustrated with respect to FIG. 7, in particular steps 83 to 84 .
  • FIG. 9 shows a system having a number of radiographic workstations 25 corresponding to the data processing system 1 of FIG. 1, 4 and 5 .
  • the workstations 25 are coupled to an image server 26 .
  • the image server 26 has a central archive for medical images.
  • Each of the workstations 25 has the components of the data processing system 1 of FIG. 4.
  • each workstation 25 has a scheduler 28 that is connected to the case stack 31 and a keyboard 27 for entering jump commands and other entries.
  • the workstation 25 has a local storage 29 for the storage of image data provided by the image server 26 and a user profile 30 .
  • the scheduler 28 identifies the case to be processed from case stack 31 and requests the corresponding image data from the image server 26 . Preferably this is done when the workstation is not in use by the radiologist such as during night time.
  • the required data can be downloaded from the image server 26 over night, which takes a considerable amount of time in view of the large data volume.
  • the image data is captured and stored on the storage 29 locally on the workstation 25 .
  • the required image data is obtained directly from the storage 29 and not from the image server 26 which further reduces latency times.
  • data processing system 1 application program 2 cache 3 data source 4 file 5 sequence 6 pointer 7 prefetcher 8 file 9a pointer 10a pointer 11 display buffer 12 monitor 13 data source manager 14 table 15 file reader 16 scaler 17 CLAHE 18 wavelet transformer 19 image source 20 enhancement component 21 image file 22 header 23 pictorial data 24 workstation 25 image server 26 keyboard 27 scheduler 28 storage 29 user profile 30 case stack 31

Abstract

A method and system for prefetching of data, such as, image data of medical images, for example, digital radiographic images, into a cache. The prefetching relies on workflow information. The method and system is particularly advantageous for use in screening programs where a large number of individuals are screened for a disease, such as cancer, in particular, breast cancer.

Description

    CROSS REFERENCES to related Applications
  • This application is related to the following patent applications, filed on the same day as this application and assigned to the same assignee, MeVis Technology GmbH & Co. KG [0001]
  • (1) A method and computer system for screening of medical cases, Serial No. ______; filed May 29, 2001, [0002]
  • (2) A method and system for in-service monitoring and training for a radiologic workstation, Serial No. ______; filed May 29, 2001, [0003]
  • which are hereby incorporated by reference to be understood in connection with the present invention.[0004]
  • FIELD OF THE INVENTION
  • The present invention relates to a method and apparatus for the operation of a cache buffer store in a data processing system, such as a computer system for rendering of medical images. More particularly, the invention relates to a method and apparatus including a procedure for prefetching of images and a corresponding algorithm for replacing least recently used images from the cache. [0005]
  • BACKGROUND AND PRIOR ART
  • In many data processing systems, there is provided between the working memory of the central processing unit and the main memory a high-speed buffer storage unit that is commonly called a “cache”. This unit enables a relatively fast access to a subset of data that were previously transferred from the main storage to the cache, and thus, improves the speed of operation of a data processing system. [0006]
  • U.S. Pat. No. 4,807,110 discloses a prefetching mechanism for a cache and a two-level shadow directory. When an information block is accessed, a parent identifier derived from the block address is stored in a first level of the shadow directory. The address of a subsequently accessed block is stored in the second level of the shadow directory, in a position associated with the first-level position of the respective parent identifier. With each access to an information block, a check is made whether the respective parent identifier is already stored in the first level of the shadow directory. If it is found, then a descendant address from the associated second-level position is used to prefetch an information block to the cache if it is not already resident therein. This mechanism is to reduce the occurrence of cache misses. [0007]
  • U.S. Pat. No. 6,154,767 shows a method and apparatus for using attribute transition probability models for prefetching resources. Idle bandwidth of a client is utilized for the prefetching and resource prefetching by the resource server utilizes idle processing and/or data bus resources of the server. [0008]
  • U.S. Pat. No. 6,151,662 discloses a method of data transaction typing for caching and prefetching. A microprocessor assigns a data transaction type to each instruction. The data transaction type is based upon the encoding of the instruction, and indicates an access mode for memory operations corresponding to the instruction. The access mode may, for example, specify caching and prefetching characteristics for the memory operation. The access mode for each data transaction type is selected to enhance the speed of access by the microprocessor to the data, or to enhance the overall cache and prefetching efficiency of the microprocessor by inhibiting caching and/or prefetching for those memory operations. [0009]
  • From U.S. Pat. No. 6,098,064 a method for prefetching and caching documents according to a probability ranked need list is known. Documents are prefetched and cached on a client computer from servers located on the Internet in accordance with their computed need probability. Those documents with a higher need probability are prefetched and cached before documents with lower need probabilities. The need probability for a document is computed using both a document context factor and a document history factor. The context factor of the need probability of a document is determined by computing the correlation between words in the document and a context of the operating environment. The history factor of the need probability of a document is determined by integrating both how recently the document was used and the frequency of document use. [0010]
  • U.S. Pat. No. 6,154,826 discloses a method for maximizing memory system bandwidth by accessing data in a dynamically determined order. The order in which to access said information is selected based on the location of information stored in the memory. The information is repeatedly accessed from memory and stored in the temporary storage until all streamed information is accessed. The information is stored until required by the data processor. The selection of the order in which to access information maximizes bandwidth and decreases the retrieval time. [0011]
  • Caching is an important technique in all fields of data processing where large amounts of data have to be handled, such as image processing. A particular field of image processing is the rendering, archival, retrieval, processing, transformation, analysis and display of medical images, such as, in the field of digital radiography. [0012]
  • U.S. Pat. No. 6,041,135 shows an interactive off-line processing method for radiographic images. In this off-line image processing method for radiographic images an image is decomposed into detail images and multiple resolution levels and a residual image; detail images are modified up to a preset resolution level and a processed image is reconstructed by means of the modified detail images and the residual image. Interactive processing is performed with different parameter settings. [0013]
  • U.S. Pat. No. 6,127,669 discloses a method for computer aided determination of window and level settings for filmless radiology. Input image data is transformed into an image histogram. This histogram is then segmented into a small number of parts corresponding to structures of interest. Segmentation of the histogram is done by a Viterbi optimal runlength-constrained approximation nonlinear filter. [0014]
  • Window and level settings are calculated to correspond to this segmentation. A readable image of one of the structures of interest is then displayed. In another embodiment, the tool provides a menu of optimal window and level settings corresponding to the different types of information a radiologist may be interested in. [0015]
  • A common disadvantage of prior art workstations for processing and displaying of digital radiographic images is the latency time experiences by the user of the system when a new image is loaded. [0016]
  • This is due to the fact that a single digital radiographic image can be over 50 MB in size. For example, in digital mammography a case to be reviewed by a radiologist is composed of about 4 to 8 different images, each 60 MB in size for certain modalities. A complete case thus is about 500 MB of data. [0017]
  • Even with high-speed processors and memory components such volumes of data result in substantial latency times that are often not acceptable for the users of such workstations. As a consequence, usage of data processing systems for the archiving, transformation, retrieval and transformation of digital radiographic images has been limited so far. [0018]
  • SUMMARY OF THE INVENTION
  • Objects of the invention [0019]
  • It is therefore an object of the present invention to provide an improved method and apparatus for prefetching in order to reduce latency times experienced by a user, in particular with respect to applications for digital radiographic images. [0020]
  • It is a further object of the invention to provide a method and system having an improved “least recently used algorithm” for freeing a cache memory of image data which is no longer needed. [0021]
  • It is a still further object to provide such a method and system for coupling to a central picture archiving and communication system (PACS). [0022]
  • The invention accomplishes the above and other objects and advantages by providing a method and computer system for the prefetching of data, such as image data, for example medical images from the field of digital radiography. The invention enables maximizing system throughput and minimizing latency times experienced by a user. In brief, this is accomplished by taking a predefined workflow into consideration for the prefetching of the images. A corresponding method and system is disclosed in co-pending U.S. patent application entitled A Method And Computer System For Screening Of Medical Cases, Ser. No. ______; filed May 29, 2001, [0023]
  • This is of particular advantage in so-called “screening programs” where a large number of medical cases is reviewed sequentially by one or a group of radiologists. Typically the cases of such screening programs are all structured in the same or in a similar way. For example each case can consist of the same sequence of image formats and views.[0024]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing and other objects and advantages of the invention will become more apparent from the detailed description of the preferred embodiment of the invention described in detail below with reference to the accompanying drawings in which: [0025]
  • FIG. 1 is a block diagram of a data processing system in accordance with a preferred embodiment of the invention; [0026]
  • FIG. 2 is a flow chart of the operation of the data processing system of FIG. 1; [0027]
  • FIG. 3 is an illustration of the structure of an individual medical case; [0028]
  • FIG. 4 is a block diagram of a digital radiology image workstation in accordance with a second preferred embodiment of the invention; [0029]
  • FIG. 5 is a block diagram of a digital radiology image workstation in accordance with a third preferred embodiment of the invention; [0030]
  • FIG. 6 is an illustration of the header of an image; [0031]
  • FIG. 7 is a flow chart of the operation of a digital radiology image workstation; [0032]
  • FIG. 8 is a flow chart illustrating the release of an image; and [0033]
  • FIG. 9 is a block diagram of a number of digital radiology image workstations connected to the same central image server.[0034]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • The invention will be described in detail as set forth in the preferred embodiments illustrated in the drawings. Although these embodiments depict the invention as in its preferred application, such as, for a digital radiology image system, it should be readily apparent that the invention has equal application to any type of data processing system that encounters or deals with the same or similar problems. [0035]
  • FIG. 1 shows a [0036] data processing system 1 having an application program 2 that is coupled to a cache 3.
  • The [0037] cache 3 is coupled to a data source 4. The data source 4 can be any type of data source, such as a file system stored on a hard drive or another storage medium or the output of an image processing device, such as a computer aided diagnosis tool.
  • The [0038] data processing system 1 further has a file 5 for storing a workflow to be performed. The file 5 has a sequence 6 of steps S1, S2, S3, . . . Si, . . . , Sn to be sequentially performed in the workflow. The sequence 6 has a pointer 7 which points to the current step being carried out by the data processing system and/or its user. In the example considered here, the current step to which the pointer 7 is directed, is the step S2.
  • A [0039] prefetcher 8 has access to the file 5 and is coupled to the cache 3 for requesting of data to be prefetched.
  • In operation, the [0040] application program 2 reads the sequence 6 to obtain the step to which the pointer 7 is directed. After the application program 2 has obtained the next step to be carried out, it issues a corresponding request to the cache 3 to request data which are required for the performance of the current step.
  • These data are transferred from the [0041] cache 3 to the application program 2 for display and/or further processing. If a so-called “cache miss” occurs the request for the data is passed to the data source 4 from the cache 3 in order to read the data from the data source 4 and store the data in the cache 3 for access by the application program 2.
  • A user of the [0042] application program 2 can also input a jump request to jump in the sequence 6 in a forward or backward direction. If such a jump occurs, then the pointer 7 is moved by a corresponding number of steps along the sequence 6.
  • In order to prevent the occurrence of cache misses, the [0043] prefetcher 8 reads from the sequence 6 the step consecutive to the current step and all remaining images for the current step. In the example considered here the current step is the step S2 and the consecutive step is the step S3. Hence, when the application program 2 works on the current step S2 the prefetcher 8 reads the consecutive step S3 and performs an access operation to the cache 3 in order to request the data which are required for the application program 2 to perform the step S3.
  • If the data for carrying out the step S[0044] 3 is already in the cache 3, no further action is required. If the contrary is the case, the request is transferred to data source 4 in order to provide the cache 3 with the required data.
  • When the processing of the current step S[0045] 2 by the application program 2 is complete, the position of the pointer 7 is incremented by one, such that the pointer 7 points to the consecutive step. The consecutive step S3 is read by the application program 2 and the application program 2 requests the data for the performance of the step S3—which is the new current step—from the cache 3.
  • As the corresponding data has been requested previously from the [0046] cache 3 by the prefetcher 8 while the application program 2 was busy with the processing of the step S2, it is ensured that the data for the performance of the step S3 is already loaded in cache 3 such that no cache miss occurs. Again the prefetcher 8 performs an access operation to the sequence 6 in order to read the consecutive step of the new current step S3 in order to request the data being required for the performance of the new consecutive step while the current step S3 is being carried out.
  • Alternatively the [0047] prefetcher 8 can also request the data for a number of consecutive steps or set of steps in the sequence 6 rather than just the data for the next consecutive step.
  • FIG. 2 shows a flow chart for illustrating the operation of the [0048] data processing system 1 of FIG. 1. In step 41 the application starts working on the current step Si; before or after this the prefetcher obtains the current step Si and the next consecutive step Si+1 from the workflow in step 42.
  • In [0049] step 43 the application requests at least a subset of the data required for the performance of the complete step Si from the cache. During the processing of the step Si all of the data required for the performance of step Si is requested by the application in certain discrete data packages.
  • After the completion of the processing of the step S[0050] i the application goes to the next step Si+1 in the workflow in step 44. From there the application jumps to a step Si+1+j in the workflow in the example considered here in response to a corresponding input operation of a user. The step Si+1+j is the new current step. The jump is performed in step 45.
  • In parallel, the data required for the performance of the current step S[0051] i and the consecutive step Si+1 of the current step are requested in step 46 from the cache for the purposes of prefetching. In step 47 it is decided whether the data is already in the cache.
  • If this is the case an acknowledgement is sent to the prefetcher in [0052] step 48. If the contrary is the case a data source is accessed in step 9 in order to load the data into the cache in step 10. Next an acknowledgement is sent to the prefetcher in step 48. It is to be noted that the step 42 and the steps 46 to 48, 9 and 10 are carried out in parallel to the steps 41 and 43 to 45 with respect to the then current step.
  • FIG. 3 shows the structure of a medical case consisting of a number m of images, [0053] image 1 to image m. It is assumed that the medical case of FIG. 3 is a standardized case having a predefined number, kinds and formats of images. Such a standardization of medical cases is advantageous for large screening programs where a large number of individuals are examined for a disease, such as cancer, especially breast cancer.
  • FIG. 4 is a further preferred embodiment of a data processing system in which like elements are denoted with the same reference numerals as in FIG. 1. [0054] File 5 of FIG. 4, which is descriptive of the workflow, contains a case stack 31. The case stack 31 contains a stack of cases, case 1, case 2, case 3, . . . , case N to be reviewed by a radiologist. File 9 a is user definable and contains the sequence of images of interest to the radiologist and the corresponding required format. In the example considered here the radiologist has defined the sequences of images of interest to him in the file 9 a as follows:
  • First, the [0055] image 1 from the current case is to be displayed in a format 1;
  • next, the [0056] same image 1 is to be displayed in another format 2;
  • next, the [0057] image 2 is to be displayed in a format 3;
  • next, image m-[0058] 1 is to be displayed in the format 1; and
  • as the last image in the sequence of images to be reviewed for an individual medical case image m is to be displayed in a [0059] format 4.
  • It is to be noted that [0060] image 3 and/or other images of the m images is skipped completely—depending on the user specific initialization of the file 9 a.
  • The case stack [0061] 31 has a pointer 10 a which points to the current case being processed by the application 2. In the example considered here this is the case 2. Likewise the file 9 a has a pointer 11 pointing to the current image being processed within the current case. In the example considered here the current image is the image 1 (2) of the case 2.
  • The [0062] application 2 is coupled to a display buffer 12 that is coupled to a monitor 13.
  • Further the [0063] cache 3 is coupled to a data source manager 14. The data source manager 14 has a table 15 relating image formats (Data Tags) to corresponding data sources. In the example, the format 1 is related to the data source of file reader 16, the format 2 to the scaler 17, the format 3 to CLAHE 18 for performing of a contrast limited adaptive histogram equalization, and format 4 to wavelet enhancement 19.
  • In operation, the [0064] prefetcher 8 sequentially requests all of the images contained in the current case as indicated by the file 9 a from the cache 3, as well as, the images of the consecutive case. For example, when the prefetcher 8 requests the image 1 (1) of the consecutive case 3, the request is provided to the cache 3. If the corresponding data is already in the cache 3 this is acknowledged to the prefetcher 8.
  • If this is not the case, the request is passed onwards to the [0065] data source manager 14. The data source manager 14 identifies the appropriate data source for the request, which is the file reader 16. As a consequence, the image 1 (1) of the case 3 is requested from the file reader 16, which reads the corresponding data from mass storage, such as the hard drive of the data processing system 1, not shown in FIG. 4, and transfers the data to the cache 3.
  • When the [0066] prefetcher 8 requests the image 2 (3) of the case 3, a situation can occur where the image 2 is already in the cache 3, but not in the right format. As the image is not available in the required format the request is still passed onwards to the data source manager 14 for identification of the appropriate data source, which is CLAHE 18 in this case.
  • As a consequence, the [0067] CLAHE 18 is requested to provide the image 2 in the required format 3. This is done by the CLAHE 18 by requesting the corresponding image data in the format 1 from the cache 3, and then performing the contrast limited adaptive histogram equalization on the raw image data. The resulting transformed raw image data is stored in the format 3 in the cache 3 and an acknowledgement is send to the prefetcher 8.
  • FIG. 5 shows a further preferred embodiment of the data processing system. Again the same reference numerals will be used for like elements corresponding to elements of FIG. 1 and [0068] 4.
  • The [0069] application program 2 is coupled to the prefetcher 8 to inform the prefetcher 8 of a next case to be processed. Again the prefetcher requests the images required for the current case and a consecutive case from the image cache 3.
  • If a requested image is not in the [0070] image cache 3, the request is passed onwards to the image source 20. The operation of image source 20 corresponds to the data source manager 14. The image source 20 identifies an appropriate image source such as file reader 16 or scaler 17 or passes the request onwards to enhancement component 21, which passes the request onwards to CLAHE 18 or wavelet transformer 19 depending on the required image enhancement.
  • The requested image is loaded and/or generated by the respective image source and the image is stored in the [0071] image cache 3. This is acknowledged by the data source, which has loaded and/or generated the requested image by the message “Req_done” to all requestors of the image.
  • If a requestor of the image does not require the image anymore, a “release” message is sent to the [0072] image cache 3 from the requestor. Likewise a “cancel” message can be sent to the image cache 3 in case a request is to be cancelled before it has been completed. Such a situation can occur when the user jumps to another case in the case stack.
  • FIG. 6. shows the format of an [0073] image file 22 having a header 23 and a field 24 for storage of the pictorial data.
  • The [0074] header 23 contains an entry for the case number to which the image belongs, the image number for identification of the image, the image format, the requestors, the priority of the image for the purposes of a least recently used algorithm and a lock count. The utilization of those fields will become more apparent in the following.
  • FIG. 7 shows a flow chart for illustrating a least recently used algorithm and the generation of the [0075] header 23 of an image. In step 70 an image Ik of a case i is requested by a requester. In principle each of the components of the data processing system can take the role of a requestor of an image. This applies both to the application program as well as to the prefetcher and the data sources.
  • Also, the application program can have more than one requestor. For example individual program components of the application program can take the role of individual requestors of images. [0076]
  • In [0077] step 71 the corresponding request is sent to the cache. In step 72 the cache decides whether the requested image is already available. If this is the case the lock count is incremented in step 73. In step 74 the priority of the image is incremented by +P2. For example, the value of P2 can be equal to 100. In step 75 an acknowledgement is sent to all requestors of the image; the requestors are identified by the corresponding data field in the header 23 of the requested image.
  • If the image is not in the cache the control goes to step [0078] 76 for generation of a header of the image in the cache. The priority of the image is set to be equal to a predefined value of P1 in step 77. For example the value of P1 can be equal to 100. In step 78 the lock count is set to be equal to 1.
  • In [0079] step 79 it is decided whether the cache has enough capacity for loading of the pictorial data of the requested image. If this is the case the pictorial data are requested from the appropriate image source in step 80. In step 81 the pictorial image data are loaded and/or generated by the image source.
  • This can require that the image source itself issues a request for the image in an appropriate format, for example to calculate the desired transformation in the requested image format. For example, if the image source is CLAHE, the CLAHE requires raw image data in the [0080] format 1. Correspondingly, the CLAHE requests the image in the format 1 such that the steps from step 70 onwards are invoked.
  • Once the requested image is present in the cache in the [0081] raw data format 1, the CLAHE image transformation is carried out to generate the image in the requested format 3. This way the step 81 is completed and an acknowledgement is provided to all requestors of the image in the format 3 in step 82.
  • If it is decided in [0082] step 79 that the cache does not have enough capacity, the control goes to step 83. In step 83 the contents of the cache is examined for images having a lock count equal to 0. All images having a lock count equal to 0 are grouped into a set S.
  • In [0083] step 84 an image IL of the set S having the lowest priority of the images in the set S is identified. This image IL is freed from the cache in step 85.
  • In [0084] step 86 all priorities of the images of the set S are decremented by one but not below 0. From 86 the control returns back to step 79 in order to repeat the step 83 to 86 if the available cache capacity is still insufficient.
  • The flow chart of FIG. 8 shows the steps performed when a requestor releases a previously requested image or cancels a request. In step [0085] 80 a of FIG. 8, the requestor releases the image Ik of case i because the requestor does not require the image anymore.
  • In [0086] step 81 a, a corresponding release message is received by the image cache and the header of the image Ik is identified in order to decrement the lock count in the header. This is done in step 81 a. In step 82 a, the priority is decremented by P3 but not below 0. For example, the value of P3 can be equal to 50. This way the released image can be replaced or removed from the cache in case capacity needs to be provided. The replacement is done in accordance with the least recently used algorithm as illustrated with respect to FIG. 7, in particular steps 83 to 84.
  • FIG. 9 shows a system having a number of [0087] radiographic workstations 25 corresponding to the data processing system 1 of FIG. 1, 4 and 5. The workstations 25 are coupled to an image server 26. The image server 26 has a central archive for medical images.
  • Each of the [0088] workstations 25 has the components of the data processing system 1 of FIG. 4. In addition each workstation 25 has a scheduler 28 that is connected to the case stack 31 and a keyboard 27 for entering jump commands and other entries. Further the workstation 25 has a local storage 29 for the storage of image data provided by the image server 26 and a user profile 30.
  • In operation the [0089] scheduler 28 identifies the case to be processed from case stack 31 and requests the corresponding image data from the image server 26. Preferably this is done when the workstation is not in use by the radiologist such as during night time.
  • This way the required data can be downloaded from the [0090] image server 26 over night, which takes a considerable amount of time in view of the large data volume. The image data is captured and stored on the storage 29 locally on the workstation 25. When the cases of the case stack 31 are reviewed by the radiologist, the required image data is obtained directly from the storage 29 and not from the image server 26 which further reduces latency times.
  • Although the present invention has been shown and described with respect to preferred embodiments, nevertheless, changes and modifications will be evident to those skilled in the art from the teachings of the invention. Such changes and modifications that embody the spirit, scope and teachings of the invention are deemed to fall within the purview of the invention as set forth in the appended claims. [0091]
  • List of Reference Numerals
  • [0092]
    data processing system  1
    application program  2
    cache  3
    data source  4
    file  5
    sequence  6
    pointer  7
    prefetcher  8
    file  9a
    pointer 10a
    pointer
    11
    display buffer 12
    monitor 13
    data source manager 14
    table 15
    file reader 16
    scaler 17
    CLAHE 18
    wavelet transformer 19
    image source 20
    enhancement component 21
    image file 22
    header 23
    pictorial data 24
    workstation 25
    image server 26
    keyboard 27
    scheduler 28
    storage 29
    user profile 30
    case stack 31

Claims (22)

What is claimed is:
1. A method for prefetching of images, the method comprising the steps of:
(a) providing a first file descriptive of a sequence of images required for carrying out a predetermined workflow, the first file comprising a reference for each of the images;
(b) providing a first pointer for pointing to a current image of the sequence of images;
(c) reading the reference of at least one subsequent image of the sequence of images which is subsequent to the current image in the workflow; and
(d) prefetching of the subsequent image by means of its corresponding reference.
2. The method of claim 1 further comprising the steps of:
(e) providing a second file descriptive of a number of cases to be sequentially processed in the workflow;
(f) providing a third file being descriptive of a sequence of images required for the processing of each individual case.
3. The method of claim 2 further comprising providing a second pointer for pointing to a current case of the number of cases to be sequentially processed.
4. The method of claim 1 whereby the first file comprises first data descriptive of an image format.
5. The method of claim 1 whereby the first file comprises second data descriptive of an image processing operation.
6. The method of claim 1 further comprising the step of assigning a priority to the subsequent image when the prefetching is performed.
7. The method of claim 1 comprising the further steps of caching prefetched images in an image cache, and removing prefetched images from the image cache by a least recently used algorithm.
8. The method of claim 1 comprising the further step of generating an image header for storage in a cache when the prefetching is performed.
9. The method of claim 8 wherein the header contains second data being descriptive of the required image format, an image processing operation, the priority of the image and a lock count for locking the image in the cache.
10. A method for prefetching of medical images from an image source, the method comprising the steps of:
(a) providing a case stack descriptive of a number of medical cases to be processed, each of the cases having assigned a predetermined number of medical images;
(b) providing a user definable file identifying the set of the images of each case to be sequentially rendered;
(c) prefetching of the set of images of a current case and prefetching of the set of images of a consecutive case into a cache from the image source.
11. The method of claim 10 wherein the user definable file comprises first data for indicating a required format of a respective image of the set of images.
12. The method of claim 10 wherein the user definable file comprises second data for specifying an image processing operation to be performed on the corresponding image of the set of images.
13. The method of claim 12 wherein the image processing operation is selected from the group consisting of scaling, CLAHE and wavelet enhancement.
14. The method of claim 10 comprising the further step of generating a header for each image to be prefetched, the header comprising an image reference of the said image to be prefetched, a priority, a lock count and a requestor of the image.
15. The method of claim 14 comprising the further step of increasing the priority by a first number for each additional requestor.
16. The method of claim 14 comprising the further step of reducing the priority by a second number for each release or cancellation of a requestor.
17. The method of claim 14 comprising the further steps of incrementing the lock count with each additional requestor and decrementing the lock count when a request is released or cancelled.
18. A computer system for rendering of medical images comprising
(a) an application program having at least one requestor program component for requesting of images;
(b) a workflow file for specifying a sequence of images to be processed;
(c) a cache memory coupled to the application program;
(d) a prefetcher program component being coupled to the cache memory and to the workflow file; and
(e) a data source for providing images to the cache memory;
the prefetcher program component enabling prefetching of at least one subsequent image of the sequence of images to be processed as indicated by the workflow file.
19. The computer system of claim 18 wherein the workflow file comprises a case stack for identifying a number of medical cases to be processed and a user definable file for identification of a set of images to be sequentially processed for each one of the cases, and wherein the prefetcher program component is enabled to prefetch the set of images of a current case and the set of images of another case as indicated by the case stack.
20. The computer system of claim 18 wherein the cache memory has a cache program component for routing of a request of an image to an appropriate data source.
21. The computer system of claim 18 further comprising a cache program component for generating header data for each image requested from the cache memory, the header data comprising a priority, a lock count and an image format for selection of a data source.
22. The computer system of claim 18 further comprising a scheduler coupled to a remote image server via a communication link, the remote image server containing a database of images and the scheduler being enabled to initialized a loading operation from the image server to a local file system of the images required for carrying out the workflow as indicated by the workflow file.
US09/870,389 1970-03-06 2001-05-29 Method and computer system for prefetching of images Expired - Lifetime US6895128B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US09/870,389 US6895128B2 (en) 2001-05-29 2001-05-29 Method and computer system for prefetching of images
AT02010734T ATE336746T1 (en) 2001-05-29 2002-05-14 METHOD AND DEVICE FOR SCREENING MEDICAL CASES
DE20221101U DE20221101U1 (en) 1970-03-06 2002-05-14 Digital radiographic image pre-fetching method in computer system, involves reading reference of image subsequent to current image in predetermined work flow
ES02010734T ES2269551T3 (en) 2001-05-29 2002-05-14 A METHOD AND A COMPUTER SYSTEM FOR THE STUDY OF MEDICAL CASES.
EP02010735A EP1262900A3 (en) 2001-05-29 2002-05-14 A method and system for in-service monitoring and training for a radiologic workstation
EP02010734A EP1262899B1 (en) 2001-05-29 2002-05-14 A method and computer system for screening of medical cases
EP02010733A EP1262882A3 (en) 2001-05-29 2002-05-14 A method and computer system for prefetching of images
DE60213908T DE60213908T2 (en) 2001-05-29 2002-05-14 Method and device for screening medical cases

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/870,389 US6895128B2 (en) 2001-05-29 2001-05-29 Method and computer system for prefetching of images

Publications (2)

Publication Number Publication Date
US20020186899A1 true US20020186899A1 (en) 2002-12-12
US6895128B2 US6895128B2 (en) 2005-05-17

Family

ID=25355275

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/870,389 Expired - Lifetime US6895128B2 (en) 1970-03-06 2001-05-29 Method and computer system for prefetching of images

Country Status (1)

Country Link
US (1) US6895128B2 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050149534A1 (en) * 2004-01-02 2005-07-07 Brackett Charles C. System and method for managing large data sets
WO2005093603A1 (en) * 2004-03-26 2005-10-06 British Telecommunications Public Limited Company Metadata based prefetching
US20060083442A1 (en) * 2004-10-15 2006-04-20 Agfa Inc. Image archiving system and method
US20060082809A1 (en) * 2004-10-15 2006-04-20 Agfa Inc. Image data dissemination system and method
US20070041623A1 (en) * 2005-08-18 2007-02-22 R2 Technology, Inc. Patient worklist management in digital radiography review workstations
US20080019383A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunications switching
US20080019384A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunication multicast system
US20080019362A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunication multicast system
US20080019382A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunications switching
US20080112399A1 (en) * 2006-11-13 2008-05-15 British Telecommunications Public Limited Company Telecommunications system
US20080186854A1 (en) * 2007-02-06 2008-08-07 British Telecommunications Public Limited Company Network monitoring system
EP1965306A1 (en) * 2005-12-19 2008-09-03 Softbank Mobile Corp. Screen display method, and screen display device
US20080215642A1 (en) * 2007-03-02 2008-09-04 Kwai Hing Man System, Method, And Service For Migrating An Item Within A Workflow Process
US20090080523A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20090097751A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Remote user interface raster segment motion detection and encoding
US20090100125A1 (en) * 2007-10-11 2009-04-16 Microsoft Corporation Optimized key frame caching for remote interface rendering
US20090164436A1 (en) * 2007-12-21 2009-06-25 Yang Du Medical image information management system and program product
US20090196479A1 (en) * 2008-01-31 2009-08-06 Raghav Raman Method and apparatus for computer-aided diagnosis filtered prioritized work item list
US20130318194A1 (en) * 2012-05-25 2013-11-28 Dell Products, Lp Micro-Staging Device and Method for Micro-Staging
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
US10523953B2 (en) 2012-10-01 2019-12-31 Microsoft Technology Licensing, Llc Frame packing and unpacking higher-resolution chroma sampling formats

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565546B2 (en) * 1999-03-30 2009-07-21 Sony Corporation System, method and apparatus for secure digital content transmission
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US7039614B1 (en) 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
US7127619B2 (en) * 2001-06-06 2006-10-24 Sony Corporation Decoding and decryption of partially encrypted information
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7747853B2 (en) * 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7068309B2 (en) * 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
US7062756B2 (en) * 2001-11-30 2006-06-13 Sun Microsystems, Inc. Dynamic object usage pattern learning and efficient caching
US7292691B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Progressive video refresh slice detection
US7292690B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Video scene change detection
US7155012B2 (en) * 2002-01-02 2006-12-26 Sony Corporation Slice mask and moat pattern partial encryption
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US7724907B2 (en) * 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US7015808B1 (en) * 2003-02-04 2006-03-21 Icad, Inc. Method and system for remote monitoring of processing status in computer-aided detection systems
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
JP2005149181A (en) * 2003-11-17 2005-06-09 Konica Minolta Medical & Graphic Inc Medical image information management system
US20060018627A1 (en) * 2004-07-20 2006-01-26 Canon Kabushiki Kaisha Image reproducing apparatus and image reproducing method
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
US7859549B2 (en) * 2005-03-08 2010-12-28 Agfa Inc. Comparative image review system and method
US9430745B2 (en) * 2005-12-21 2016-08-30 International Business Machines Corporation Pre-executing workflow preparation activities based on activity probabilities and system load and capacity threshold requirements
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US8566119B2 (en) * 2007-05-04 2013-10-22 Siemens Medical Solutions Usa, Inc. Method of Picture Archiving Communication System messaging intelligent update mechanism
US20080275734A1 (en) * 2007-05-04 2008-11-06 Siemens Medical Solutions Usa, Inc. Method and Apparatus for Picture Archiving Communication System With STAT Workflow
US20080275736A1 (en) * 2007-05-04 2008-11-06 Siemens Medical Solutions Usa, Inc. System of Picture Archiving and Communication System With Message Broadcasting Mechanism
DE102007043657B4 (en) * 2007-09-13 2009-06-18 Siemens Ag Satellite-overlapping storage organization for medical image data
DE102007043730B3 (en) * 2007-09-13 2009-02-05 Siemens Ag Patient's medical-technical image data sets providing method for radiology-information system, involves providing thick-layer data to picture archiving and communication system and providing thin-layer data to application server for client
KR101578743B1 (en) * 2007-12-27 2015-12-18 제임스 쥐. 막스 Systems and methods for workflow processing
US8086743B2 (en) * 2009-06-12 2011-12-27 Microsoft Corporation Multi-channel communication with request reordering or reprioritization
US8768029B2 (en) * 2010-10-20 2014-07-01 Medtronic Navigation, Inc. Selected image acquisition technique to optimize patient model construction
US11342065B2 (en) * 2019-06-24 2022-05-24 Fujifilm Medical Systems U.S.A., Inc. Systems and methods for workstation rendering medical image records

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
US5917929A (en) * 1996-07-23 1999-06-29 R2 Technology, Inc. User interface for computer aided diagnosis system
US5987345A (en) * 1996-11-29 1999-11-16 Arch Development Corporation Method and system for displaying medical images
US6041135A (en) * 1993-06-28 2000-03-21 Buytaert; Tom Guido Fast interactive off-line processing method for radiographic images
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
US6127669A (en) * 1997-01-29 2000-10-03 University Of Maryland Computer-aided determination of window and level settings for filmless radiology
US6151662A (en) * 1997-12-02 2000-11-21 Advanced Micro Devices, Inc. Data transaction typing for improved caching and prefetching characteristics
US6154826A (en) * 1994-11-16 2000-11-28 University Of Virginia Patent Foundation Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order
US6154767A (en) * 1998-01-15 2000-11-28 Microsoft Corporation Methods and apparatus for using attribute transition probability models for pre-fetching resources
US20020102028A1 (en) * 2001-02-01 2002-08-01 KELLER Scott Image storage and display system
US6574629B1 (en) * 1998-12-23 2003-06-03 Agfa Corporation Picture archiving and communication system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0766183B1 (en) * 1995-09-29 2002-12-04 Hewlett-Packard Company, A Delaware Corporation Browsing electronically stored information

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
US6041135A (en) * 1993-06-28 2000-03-21 Buytaert; Tom Guido Fast interactive off-line processing method for radiographic images
US6154826A (en) * 1994-11-16 2000-11-28 University Of Virginia Patent Foundation Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order
US5917929A (en) * 1996-07-23 1999-06-29 R2 Technology, Inc. User interface for computer aided diagnosis system
US5987345A (en) * 1996-11-29 1999-11-16 Arch Development Corporation Method and system for displaying medical images
US6127669A (en) * 1997-01-29 2000-10-03 University Of Maryland Computer-aided determination of window and level settings for filmless radiology
US6151662A (en) * 1997-12-02 2000-11-21 Advanced Micro Devices, Inc. Data transaction typing for improved caching and prefetching characteristics
US6154767A (en) * 1998-01-15 2000-11-28 Microsoft Corporation Methods and apparatus for using attribute transition probability models for pre-fetching resources
US6098064A (en) * 1998-05-22 2000-08-01 Xerox Corporation Prefetching and caching documents according to probability ranked need S list
US6574629B1 (en) * 1998-12-23 2003-06-03 Agfa Corporation Picture archiving and communication system
US20020102028A1 (en) * 2001-02-01 2002-08-01 KELLER Scott Image storage and display system

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8126861B2 (en) * 2004-01-02 2012-02-28 Cerner Innovation, Inc. System and method for managing large data sets
US20050149534A1 (en) * 2004-01-02 2005-07-07 Brackett Charles C. System and method for managing large data sets
WO2005093603A1 (en) * 2004-03-26 2005-10-06 British Telecommunications Public Limited Company Metadata based prefetching
US20070214157A1 (en) * 2004-03-26 2007-09-13 Kegell Ian C Computer apparatus
US8037105B2 (en) 2004-03-26 2011-10-11 British Telecommunications Public Limited Company Computer apparatus
US7411693B2 (en) 2004-10-15 2008-08-12 Agfa Inc. Image data dissemination system and method
US20060083442A1 (en) * 2004-10-15 2006-04-20 Agfa Inc. Image archiving system and method
US20060082809A1 (en) * 2004-10-15 2006-04-20 Agfa Inc. Image data dissemination system and method
US20070041623A1 (en) * 2005-08-18 2007-02-22 R2 Technology, Inc. Patient worklist management in digital radiography review workstations
US7889896B2 (en) 2005-08-18 2011-02-15 Hologic, Inc. Patient worklist management in digital radiography review workstations
EP1965306A4 (en) * 2005-12-19 2009-04-29 Softbank Mobile Corp Screen display method, and screen display device
EP1965306A1 (en) * 2005-12-19 2008-09-03 Softbank Mobile Corp. Screen display method, and screen display device
US20080019362A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunication multicast system
US20080019382A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunications switching
US20080019383A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunications switching
US20080019384A1 (en) * 2006-07-20 2008-01-24 British Telecommunications Public Limited Company Telecommunication multicast system
US8144713B2 (en) 2006-11-13 2012-03-27 British Telecommunications Public Limited Company Telecommunications system
US20080112399A1 (en) * 2006-11-13 2008-05-15 British Telecommunications Public Limited Company Telecommunications system
US20100195658A1 (en) * 2006-11-13 2010-08-05 Robert David Cohen Telecommunications system
US20080186854A1 (en) * 2007-02-06 2008-08-07 British Telecommunications Public Limited Company Network monitoring system
US20080215642A1 (en) * 2007-03-02 2008-09-04 Kwai Hing Man System, Method, And Service For Migrating An Item Within A Workflow Process
US7958058B2 (en) 2007-03-02 2011-06-07 International Business Machines Corporation System, method, and service for migrating an item within a workflow process
US8127233B2 (en) 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20090080523A1 (en) * 2007-09-24 2009-03-26 Microsoft Corporation Remote user interface updates using difference and motion encoding
US8619877B2 (en) * 2007-10-11 2013-12-31 Microsoft Corporation Optimized key frame caching for remote interface rendering
US20090100125A1 (en) * 2007-10-11 2009-04-16 Microsoft Corporation Optimized key frame caching for remote interface rendering
US8121423B2 (en) 2007-10-12 2012-02-21 Microsoft Corporation Remote user interface raster segment motion detection and encoding
US20090097751A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Remote user interface raster segment motion detection and encoding
US8358879B2 (en) 2007-10-12 2013-01-22 Microsoft Corporation Remote user interface raster segment motion detection and encoding
US20090164436A1 (en) * 2007-12-21 2009-06-25 Yang Du Medical image information management system and program product
US20090196479A1 (en) * 2008-01-31 2009-08-06 Raghav Raman Method and apparatus for computer-aided diagnosis filtered prioritized work item list
US20130318194A1 (en) * 2012-05-25 2013-11-28 Dell Products, Lp Micro-Staging Device and Method for Micro-Staging
US10474691B2 (en) * 2012-05-25 2019-11-12 Dell Products, Lp Micro-staging device and method for micro-staging
US10523953B2 (en) 2012-10-01 2019-12-31 Microsoft Technology Licensing, Llc Frame packing and unpacking higher-resolution chroma sampling formats
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values

Also Published As

Publication number Publication date
US6895128B2 (en) 2005-05-17

Similar Documents

Publication Publication Date Title
US6895128B2 (en) Method and computer system for prefetching of images
US7483557B2 (en) Medical imaging communication system, method and software
JP4042359B2 (en) Cache control method and cache device
US6954767B1 (en) Server and method for searching for image using image prefetch, designating database and storage devices for searching, and setting retrieval and processing parameters for search
US7802066B2 (en) Advanced memory management architecture for large data volumes
US20080005522A1 (en) Advanced memory management architecture for large data volumes
US7167269B2 (en) Image forming device and method
US6662274B2 (en) Method for using cache prefetch feature to improve garbage collection algorithm
JP5242349B2 (en) Image display device
JP2007312365A (en) Adaptive selection of image streaming mode
WO1999004331A1 (en) High definition image display and program storage medium for the display
EP1983737A2 (en) Mechanism for speculative printing
US20020178176A1 (en) File prefetch contorol method for computer system
KR101087425B1 (en) System and method for resizing a database
US20140143271A1 (en) Multi-level medical image viewer memory management
US6211881B1 (en) Image format conversion with transparency color adjustment
US20070140538A1 (en) Method for processing unenhanced medical images
US11404158B2 (en) Image viewer
EP1262882A2 (en) A method and computer system for prefetching of images
EP1828908B1 (en) System and method for caching and fetching data.
US20050005028A1 (en) Automated image markup system and method
US11823787B2 (en) Systems and methods for transferring medical image records using a prefferred transfer protocol
CN114496175A (en) Medical image viewing method, device, equipment and storage medium
CN115881262A (en) Method, system, device and medium for acquiring medical image file
US20050149534A1 (en) System and method for managing large data sets

Legal Events

Date Code Title Description
AS Assignment

Owner name: MEVIS-CENTRUM FUR MEDIZINISCHE DIAGNOSESYSTEME UND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BOHNENKAMP, SASCHA;REEL/FRAME:012149/0312

Effective date: 20010703

AS Assignment

Owner name: MEVIS BREASCARE GMGH & CO. KG, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MEVIS-CENTRUM FUR MEDIZINISCHE DIAGNOSESYSTEME UND VISUALISIERUNG GMBH;REEL/FRAME:012398/0476

Effective date: 20011025

AS Assignment

Owner name: MEVIS BREASTCARE GMBH CO. KG, GERMANY

Free format text: RE-RECORDED TO CORRECT ASSIGNEE'S NAME ON AN ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL 012398 FRAME 0476;ASSIGNOR:MEVIS-CENTRUM FUR MEDIZINISCHE DIAGNOSESYSTEME UND VISUALIZIERUNG GMBH;REEL/FRAME:015709/0931

Effective date: 20011025

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12