Sign In to Follow Application
View All Documents & Correspondence

Streaming Repetition Coded Compression

Abstract: A method for transmitting a compressed image via a network, the method comprising: converting (11) the compressed image into a plurality of images, each of the plurality of images having a predetermined resolution level which is less than the original resolution of the image; transforming (12) each of the plurality of images into a data stream; and transmitting (13) each data stream in order according to resolution level, from the lowest resolution level to the original resolution of the image; wherein the compressed image is an image compressed (10) by comparing each image element with a previous image element and; if they are both equal, a first value is recorded; and if they are not both equal, a second value is recorded.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
05 September 2008
Publication Number
11/2009
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

MATRIXVIEW LIMITED
8 SHENTON WAY, #05-02, SINGAPORE 068813,

Inventors

1. THIAGARAJAN, ARVIND,
H24/6 VAGAI STREET, BESANT NAGAR, CHENAI 60090,

Specification

TKIe Streaming Repetition Coded Compression Technical Field The invention concerns a method for transmitting a compressed image via a network. Cross-reference to related applications TWe: REPETITION CODED COMPRESSION FOR HIGHLY CORRELATED IMAGE DATA Application No.: PCT/IN03/00049 Filed: 7 March 2003 Inventor: Arvind Thiagarajan Title: COMPRESSING IMAGE DATA Application No.: PCT/SG2004y000411 Filed: 15 Decemt)er 2004 Inventor: Arvind Thiagarajan Background of the Invention Repetition Coded Compression (RCC) is a technology invented by the present inventor to increase compressibility of data. RCC is disclosed in the two previously filed cross-related applications, the contents of which are herein incorporated by reference. RCC achieves a very impressive level of compression based on coding repetitions. For example, consider this data sequence of pixel values, where each pixel is represented by 8 bits: Data Sequence: 10 10 10 9 8 8 9 10 10 Bit Plane: 0 1 1 0 0 1 0 0 1 Value Stored: 10 9 8 9 10 Using RCC, the data sequence Is able to be compressed by 32% In this example. I RCC is a visually lossless compression technique and is also pbcel-to pixel lossless with zero means square error (MSE). Unlike other compression algorithms, RCC does not require floating point converstons or quantization which eliminates truncation, approximatbn and quantization ent>rs. However, there is a need to extend and enhance RCC for use in certain computing environments and applications. Summary of the Invention In a first preferred aspect, there is provided a method for transmitting a compressed image via a networl<, the method comprising: converting the compressed image into a plurality of images, each of the plurality of images having a predetermined resolution level which is less than the original resolution of the image; transforming each of the plurality of images into a data stream; and transmitting each data stream in order according to resolution level, from the lowest resolution level to the original resolution of the image; wherein the compressed image is an image compressed by comparing each image element with a previous image element and: if they are both equal, a first value is recorded; and if they are not both equal, a second value is recorded. The method may further comprise decompressing the compressed image, the decompressing comprising: run-length decoding the compressed data; arithmetically decoding the compressed data; reverse transfonning the decoded data; and rean-anging the transformed decoded data into a lossless decompressed fomi. The method may further comprise progressively displaying the image as each data stream is received and decomr>ressed. The method may further comprise displaying the image after ail data streams are received and decompressed. The transmission of data streams may be interruptiWe before the transmission of the data stream having the original resolution of the image. The compressed image may be transformed into each resolution level by dividing the original resolution by a predetemilned Integer. All images may have the same bit depth. The method may further comprise the Initial step of: "" comparing each image element with a previous image element and if they are within a predetermined range of each other, modifying the image element to be equal to the previous image element; where repetition is increased to enable lossy compresaon of the image. The first and second values may be reconled in a bit plane. The method may further comprise encoding repeating first and second values in the bit plane into a bit plane index. The images may be archived images in a Picture Archiving and Communication System (PACS), and the data streams are transmitted from a distributed storage server. In a second aspect, there is provided a Picture Archiving and Communication System comprising: at least one modality to collect images; a gateway to receive the collected images and compress the images, the gateway compressing each image by comparing each image element with a previous image element and: if they are both equal, a first value is recorded; and if they are not both equal, a second value is recorded; a storage device to store the compressed images; at least one worln by a predetermined integer. Turning to Figure 4, for example, a CT image has a resolution of 512 X 512 pixels with a bit depth of 12 bit (16), the size is 515KB. After RCC compression, the CT image is only 130KB. The original resolution of the CT image is reduced by 50% (dividing the resolution by 2), so that it is now 256 X 256 pixels with the same bit depth, and now the size is 40KB. If the original resolution is divided by 3, the resolution is 128 X 128 pixels and the size is 28KB. if the original resolution is divided by 4, tiie resolutton is 64 X 64 pixels and the size is 4KB. Each of these smaller images is transfonmed into a data stream. The data streams are transmitted in order according to resolution level, from the lowest resolution level to the original resolution of the image to the workstation 54. For example, the 4KB stream is transmitted first, then the 28KB stream, then the 40KB stream and lastly the 130KB stream. All images have the same bit depth. However, it Is possible in alternative embodiments to reduce the bit depth. In a typical scenario, if ten people request the same CT image, there is only a 4KB X 10 = 40KB, initial load on the network. This is in contrast to 515KB X 10 = 5150KB load where no RCC compression and streaming are used. As each data stream is received by the workstation 54, the RCC codec performs RCC decompresskDH. Decompression involves: run-length decoding the compressed data; arithmetically decoding the compressed data; reverse transforming the decoded data; and rearranging the transformed decoded data into a lossless decompressed form. After the data stream Is decompressed, the image of the data stream Is progressively displayed. The transmission of data streams is interruptible before the transmission of the data stream having the original resolution of the image. Alternatively, the image Is only displayed after all data streams are received and decompressed. To improve traffic flow within the network, additional servers are deployed within the networl<. These additional servers include a workflow manager such as a database server 55, a streaming server 56 to provkJe load balancing, and a HTTP server 57 to handle search queries and report generation. For lossy implementations, the collected image is compressed by comparing each image element with a previous image element and if they are within a predetermined range of each other, modifying the image element to be equal to the previous image element. Repetition is increased to enable lossy compr^sion of the image. Next, RCC compression is performed. Turning to Figure 1, in a typical scenario, an image is compressed, archived, distributed and displayed in the system as follows: the image is compressed 10 using RCC. The compressed image converted 11 into images with a lower resolution than the original resolution. This is tum reduces the overall size of these converted images. Each image is transformed 12 into a data stream for transmission. Each data stream is transmitted 13 starting from the lowest resolution image to the image with the original resolution. Each data stream 14 is received by the workstation. If progressive display is desired, then each compressed image is decompressed 16. The decompressed image is progressively displayed 17. If the user interrupts 18 the transmission, the streaming is stopped. If there is no interruption, the next data stream with a higher resolution is transmitted automatically. If progressive display is not desired, the user must wait 15 until all data streams have been transmitted. All the compressed images are decompressed 19, and the original image is reconstructed 20. The original Image is then displayed 21 on the workstation. Referring to Figure 3, the streaming architecture 60 generally comprises three modules: DICOM dataset manager 61, Image list manager 62 and the progressive interactive protocol 63. The DICOM dataset manager 61 consists of a DICOM archive 63, patient database 64 and a local directory 65. The archive 63 hosts the compressed images. The local directory 65 is used by tlie streaming engine 67 to store the request for compressed images. The image list manager 62 consists of a local cache 66 and the streaming engine 67. The local cache 66 stores the compressed Images which have l)een requested without any header information. The streaming engine 67 provides streaming of the compressed data for different levels of image resolution based on the request. The progressive interactive protocol 63 provides the framework for the command/data transactions between the server and client (or peer to peer) to enable the compressed data to be progressively transmitted to the end user. Referring to Figures 5 to 9, several modules in the streaming architecture 60 form the streaming engine 67, server and client. The modules Include: the progressive interactive protocol 63, DICOM dataset manager 61, the DICOM archive 63, the local directory 65, the image list manager 62, RCC compression codec 67, image persistence 68 and memory management 69. Figures 8 and 9 illustrate ensuring a compressed bitstream is DICOM compatible. This is made possible by the availability of Private Tags in the DICOM standard. Using the private tags, any proprietary bitstream may be used and made DICOM compatible. Figure 8 illustrates a DICOM image being analyzed to determine whether it is compressed using the Transfer Syntax and Private Tags in DICOM Header information. If it is not compressed, RCC compression is applied to the DICOM image. If the DICOM image is already compressed, then the DICOM image is decompressed and then compressed again using RCC compression. The previous transfer syntax which forms a part of the DICOM header information is retained and w^ile saving the RCC compressed image, appropriate private tags are added to denote that it is compressed by the RCC algorithm. Figure 9 illustrates a RCC compressed DICOM image being decompressed back to its original transfer syntax. The compressed file is analyzed and if it is an RCC compressed file, then RCC decompression is applied. Next, the decompressed image data is converted to the original transfer syntax. After this process is completed, all the Private Tags are deleted, so that the integrity of the DICOM Data Set is preserved. The DICOM archive module 63 stores the compressed image collected from the modalities via the DICOM gateway 52. When a request is made, tlie requested image is copied to the local directory 65. This avoids direct access of the DICOM archive 63. A request typically includes the patient ID and an image ID. The RCC compression codec module 67 delivers the compressed image, level- wise, based on a request. Data for different layers of granularity/resolution are stored in a pyramidal structure. The codec module 67 provides intelligent transmission/rendering of the image data. The codec module 67 is executed on both the server and client sides. The server side module transmits the compressed data progressively whereas the client side module provides progressive rendering of the various resolution levels of the image data Into RAW fomiat The image persistence module 68 retains the transmitted level and image data details or discards them if the transmission is intenojpted and stopped. This module 68 also keeps the server and client synchronized. The memory management module 69 performs all memory management for the images. Functions performed include memory allocation, deallocation, reallocation based on the image persistence state. The sequence diagram (command and response) of the progressive interactive protocol 63 is as follows: Server Client 1. Session Acknowledge 1. Session side 2. Send image list 2. Send Patient ID, Image ID 3. Send compressed date (asynchronous) 3. Images of interest (start, pause, stop) 4. Send next level of resolution 4. Acknowledge receipt The command diagram (from client to server), includes the following commands: Get Pause Resume Close session I Clear The Get command is the first command issued after opening a session. The purpose of this command is to fetch images Indicated in an image list from the DICOM archive 63 at the server side. The images are fetched to the viewer at the client side. Ail the commands may be used in various combinations in order to enable implementation of complex instructions and macro-iil, Resume . Referring to Figures 7 and 14 to 16, the client interface enables the dient 700 to interact vi/ith the viewer 750 to receive and render the images onto the viewer 750. Figure 7 illustrates a viewer compiled for the Microsoft Windows operating system. The application Interface 702 of the vievirer sits on top of the operating system 701. The viewer 750 also has a command processor 703 to process user commands and a local image cache 704 to store received image files. To communicate with the command client 707 and data server 708 at the server side, the viewer 750 communicates via the progressive interactive protocol 706. The interface 702 may be presented in a web browser as illustrated. Figure 14 depicts a login screen, to authenticate the user before access to the system is allowed. Figure 15 is a screenshot of the image list manager. The columns of the screen indicates the modality source, date of the image, the patient's name etc. Figure 16 is a screenshot of an image selected from the image list manager. Referring to Figures 10 to 12, an alternative method to perfonn compression in the streaming architecture 60 is illustrated. A third party product such as Lead Tools 71 is used to interface the RCC codec 67 with the DICOM dataset manager 61 and other modules. A wrapper class 70 is provided to enable functions of the RCC codec 67 to be called by Lead Tools 71. In this example, the RCC codec 67 is embodied in a Windows library file, named "ABO.DLL". It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the spedfic embodiments without departing from the scope or spirit of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects illustrative and not restrictive. WE CUIM: 1. A method for transmitting a compressed image via a networlc, the method comprising: converting the compressed image into a plurality of images, each of the plurality of images having a predetermined resolution level which is less than the original resolution of the compressed image; transforming each of the plurality of images Into a data stream; and transmitting each data stream In order according to resolution level, fi-om the lowest resolution level to the original resolution of flie compressed image; wherein the compressed image is an image compressed by comparing each image element with a previous image element and: if they are both equal, a first value is recorded; and if they are not both equal, a second value is recorded. 2. The method according to claim 1, furtiier comprising decompressing the compressed image, the decompressing comprising: run-length decoding the compressed data; arithmetically decoding the compressed data; reverse transfomiing the decoded data; and rearranging the transformed decoded data into a lossless decompressed fonn. 3. The method according to claim 2, further comprising progressively displaying the image as each data stream is received and decompressed. 4. The method according to claim 2, further comprising displaying the image after all data streams are received and decompressed. 5. The method according to claim 1, wherein the transmission of the data streams is interruptible before the transmission of the data stream having the original resolution of the compressed image. 6. The method according to claim 1, wherein the compressed image is transformed Into each resolution level by dividing the original resolutipn by a predetermine integer. 7. The method according to claim 1, wherein all images have the same bit depth. 8. The method according to daim 1, further compriising the initial step of: comparing each image element with a previous image element and if they are within a predetermined range of each other, modifying the image element to be equal to the previous image element; where repetition is increased to enable lossy compression of the image. 9. The method according to claim 1, wherein the first and second values are recorded in a bit plane. 10. The method according to claim 9, further comprising encoding repeating first and second values in the bit plane into a bit plane index; 11. The method according to claim 1. wherein the images are archived images in a Picture Archiving and Communication System (PACS), and the data streams are transmitted from a distributed storage server. 12. A Picture Archiving and Communication System (PACS) comprising: at least one modality to collect images; a gateway to receive the collected images and compress the collected images, the gateway compressing each collected image by comparing each image element with a previous image element and: if they are both equal, a first value is recorded; and if they are not both equal, a second value is recorded; a storage device to store the compressed images; at least one workstation to retrieve and display images; wherein each compressed image is transmitted to the at least one workstation by converting the compressed image into a plurality of images, each of the plurality of images having a predetermined resolution level which is less than the original resolutk>n of the compressed image; transforming each of the plurality of images into a data stream; and transmitting each data stream in order according to resolution level, from the lowest resolution level to the original resolution of the compressed image. 13. The system according to claim 12, further comprising a streaming sever to provide addKlonal load balancing within the sy^em. 14. The system according to daim 12, wherein the storage device comprises an online storage portion to store the data streams and an offline storage portion to store compressed images. 15. The system according to daim 12, further comprising a database server to manage the workflow wiWn the system. 16. The system according to daim 12, wherein the at least one modality is any one of: X-RAY, CT, MRI, and US. 17. The system according to daim 12, wherein the gateway is a DICOM gateway. 18. The method according to daim 1 or the system according to claim 12, wherein the compressed image is transformed into each resolution level by dividing the original resolution by a different predetermined value. 19. The method according to claim 1 or the system according to claim 12, wherein the plurality of images each represent the compressed image. 20. The method according to claim 1 or the system according to daim 12, wherein the predetermined resolution level is independent of the compressed image. 21. The method according to daim 1 or the system according to daim 12, wherein the predetermined resolution level is independent of the transmission. 22. A method for transmitting a compressed image via ia network, the method comprising: providing an image that indudes image elements; compressing the image into a first image by comparing each image element with a previous image element and if they are both equal, a first value is recorded, and if they are not both equal, a second value is recorded, wherein the first image has a first resolution; generating second and third images based on the first image, wherein the second image represents the first image at a. second resolutipn which is less than the first resolution, the third image represents the first image at a third resolution which is less than the second resolution, and the second and third resolutions are predetermined: transforming the first, second and third images into respective first, second and third data streams; and ordering the first second and third data streams for transmission in sequence as the third data stream, then the second data stream, and then the first data stream in response to the first, second and fiiird resolutions. 23. The method according to daim 22, wherein: the second image is generated at the second resolution by dividing the first resolution by a second integer; and the third image is generated at the third resdution by dividing the first resolution by a third Integer which Is greater than the second integer. 24. The method acconiing to claim 22, wherein the first, second and third images have the same bit depth. 25. The method according to claim 22, wherein the second and third resolutions and the ordering are independent of image content. 26. The method according to claim 22, wherein the second and third resolutions and the ordering are independent of image transmission. 27. The method according to daim 22, further comprising recording the first and second values in a bit plane. 28. The method according to claim 22, further comprising transmitting the third data stream, then the second data stream, and then the first data stream from a streaming server. 29. The method according to daim 22, further comprising: transmitting the third data stream, then the second data stream, and then the first data stream; and progressively displaying the third image as the third data stream is received and decompressed, then the second image as the second data stream is received and decompressed, and then the first image as the first data stream is received and decompressed. 30. The method according to claim 22, further comprising: transmitting the third data stream, then the second data stream, and then interrupting the transmission to prevent transmitting the first data stream; and progressively displaying the third image as the third data stream is received and decompressed, then the isecond image as the second data stream is received and decompressed, and not the first image.

Documents

Application Documents

# Name Date
1 4707-CHENP-2008 ABSTRACT.pdf 2012-05-25
1 4707-CHENP-2008 POWER OF ATTORNEY.pdf 2012-05-25
2 4707-CHENP-2008 CLAIMS.pdf 2012-05-25
2 4707-CHENP-2008 PCT.pdf 2012-05-25
3 4707-CHENP-2008 CORRESPONDENCE OTHERS.pdf 2012-05-25
3 4707-CHENP-2008 FORM-5.pdf 2012-05-25
4 4707-CHENP-2008 DESCRIPTION (COMPLETE).pdf 2012-05-25
4 4707-CHENP-2008 FORM-3.pdf 2012-05-25
5 4707-CHENP-2008 FORM-1.pdf 2012-05-25
5 4707-CHENP-2008 DRAWINGS.pdf 2012-05-25
6 4707-CHENP-2008 DRAWINGS.pdf 2012-05-25
6 4707-CHENP-2008 FORM-1.pdf 2012-05-25
7 4707-CHENP-2008 DESCRIPTION (COMPLETE).pdf 2012-05-25
7 4707-CHENP-2008 FORM-3.pdf 2012-05-25
8 4707-CHENP-2008 CORRESPONDENCE OTHERS.pdf 2012-05-25
8 4707-CHENP-2008 FORM-5.pdf 2012-05-25
9 4707-CHENP-2008 CLAIMS.pdf 2012-05-25
9 4707-CHENP-2008 PCT.pdf 2012-05-25
10 4707-CHENP-2008 POWER OF ATTORNEY.pdf 2012-05-25
10 4707-CHENP-2008 ABSTRACT.pdf 2012-05-25