The present invention relates to an in-vivo device, system, and method for transmitting data from within a body lumen.
Devices, systems, and methods for performing in-vivo imaging, for example, of passages or cavities within a body, and for gathering information other than or in addition to image information (e.g. temperature information, pressure information, etc.), are known in the art. Such devices may include, inter alia, various endoscopic imaging systems and various autonomous imaging devices for performing imaging in various internal body cavities.
An in-vivo imaging device may, for example, obtain images from inside a body cavity or lumen, such as the gastrointestinal (GI) tract. An external receiver/recorder, for example, worn by a patient, may record and store images and other data. Images and other data may be displayed and/or analyzed on a computer or workstation after downloading the data recorded. Transmission may be wireless, for example, by RF communication with constant rate transmission or via wire.
Image data and/or other data may be compressed prior to transmission. Methods for lossy and lossless compressing image or video data may be known, for example, compression algorithms such as JPEG and MPEG may be used to compress image and video data. The size of the compressed image data may be variable and may depend on the content of data within the image(s) being compressed.
An embodiment of the device, system and method of the present invention may enable obtaining transmission of in-vivo image data from within body lumens or cavities, such as images of the gastrointestinal tract, via constant rate transmission. In some embodiments of the present invention a buffer or other data storage unit may be used to temporarily store data obtained at a variable bit rate before transmission. In other embodiments of the present invention, the occupancy or fullness level of the buffer may be controlled by altering the mode of operation or otherwise altering the operation of the in-vivo device.
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn accurately or to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity, or several physical components may be included in one functional block or element. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following description, various aspects of the present invention will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the present invention. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details presented herein. Furthermore, well-known features may be omitted or simplified in order not to obscure the present invention.
Embodiments of the device, system and method of the present invention may be used, for example, in conjunction with an imaging system or device such as may be described in U.S. Pat. No. 5,604,531 to Iddan et al. and/or in U.S. application Ser. No. 09/800470 entitled “A Device And System For In Vivo Imaging”, published as application No. 20010035902, both of which are hereby incorporated by reference However, the device, system and method according to the present invention may be used with any suitable device that may provide image and/or other data from within a body lumen or cavity. In alternate embodiments, the system and method of the present invention may be used with devices capturing information other than image information within the human body; for example, temperature, pressure or pH information, information on the location of the transmitting device, or other information.
Reference is made to
Typically, device 40 may be an autonomous device and may include at least one sensor such as an imager 46, for capturing image frames, a viewing window 50, a processing chip or circuit 47 that may process signals generated by the imager 46, one or more illumination sources 42, an optical system 22, a transmitter 41 and a power source 45, for example a battery. In one embodiment of the present invention, the imager 46 may be and/or contain a CMOS imager. In other embodiments, other imagers may be used, e.g. a CCD imager or other imagers. Processor 47 and or imager 46 may incorporate circuitry, firmware, and/or software for compressing images and/or other data, e.g. control data. In other embodiments, a compression module 100 and/or a buffer 49 or other suitable storage unit (e.g., a memory, one or more registers, etc.) may be incorporated in the imager 46 or a processor 47, e.g., a processing chip or other suitable processor, transmitter 41, and/or a separate component. In some embodiments of the present invention, the buffer 49 may have a capacity that may be substantially smaller than the size of a frame of compressed and/or non-compressed image data captured, for example, from imager 46. Processor 47 need not be a separate component; for example, processing circuitry 47 or its functionality may be integral to the imager 46, integral to a transmitter 41 and/or other suitable components of device 40. The buffer 49 may, for example, have a capacity of 0-20 kilobytes, e.g. 3 kilobytes, and may serve to facilitate, for example, a constant bit rate of data from the compression module 100 to the transmitter 41, for example, a transmission rate of 1-10 megabits/second, e.g 5 megabits/second. Other uses of buffer 49 and/or other sizes of buffer 49 may be implemented. The transmitter 41 may, for example, transmit compressed data, for example, compressed image data and possibly other information (e.g., control information) to a receiving device, for example a receiver 12. In other embodiments, uncompressed data may be transmitted. The transmitter 41 may typically be an ultra low power radio frequency (RF) transmitter with high bandwidth input, possibly provided in chip scale packaging. The transmitter may transmit, for example, via an antenna 48. The transmitter 41 may, for example, include circuitry and functionality for controlling the device 40.
Typically, device 40 may be an autonomous wireless device that may be, for example, swallowed by a patient and may traverse a patient's GI tract. However, other body lumens or cavities may be imaged or examined with device 40. Device 40 may transmit image and possibly other data in a compressed format to, for example, components located outside the patient's body, which may, for example, receive and process, e.g. decode, the transmitted data. Data may be transmitted in an uncompressed format. According to one embodiment, located outside the patient's body in one or more locations, may be a receiver 12, preferably including an antenna or antenna array 15, for receiving image and possibly other data from device 40, a receiver storage unit 16, for storing image and other data, a data processor 14 with CPU 13, a data processor storage unit 19, a data decoding module 150 for decompressing data, and an image monitor and/or display 18, for displaying, inter alia, the images transmitted by the device 40 and recorded by the receiver 12. In one embodiment of the present invention, receiver 12 may be small and portable. In other embodiments receiver 12 may be integral to data processor 14 and antenna array 15 may be electrically communicated to receiver 12 by, for example, wireless connections. Other suitable configurations of receiver 12, antenna array 15 and data processor 14 may be used. Preferably, data processor 14, data processor storage unit 19 and monitor 18 may be part of a personal computer, workstation, or a Personal Digital Assistant (PDA) device, or a device substantially similar to a PDA device. In alternate embodiments, the data reception and storage components may be of other suitable configurations. Further, image and other data may be received in other suitable manners and by other sets of suitable components.
In-vivo autonomous devices, for example, device 40, may typically have limited space and power provision and therefore it may be desirable to minimize the processing power and buffer size and/or memory that may be required for compressing data. Other design considerations may govern size, data capacity, processing capacity, and other specifications. In some embodiments of the present invention, it may be desirable to accomplish compression of image and other data without memory capability.
Reference is now made to
The data compression module 100 and decoder module 150 may use various suitable data compression methods and systems. The data compression methods used may be lossless or lossy. Lossless data compression may enable precise (typically with no distortion) decoding of the compressed data. The compression ratio of lossless methods may however be limited. Lossy compression methods may not enable precise decoding of the compressed information. However the compression ratio of lossy methods may typically be much higher than that of lossless methods, for example lossy compression may result in compression ratios greater than two. In many cases the data distortion of lossy methods may be non-significant and/or non-discernable with the human eye. Typically, known compression algorithms may compress or decrease the original size of the data by storing and/or transmitting only differences between one or more neighboring values, for example, pixels. In general, differences in color and intensity of images data may typically occur gradually over a number of pixels, and therefore the difference between neighboring pixels may be a smaller quantity as compared to the value of each pixel. In some embodiments of the present invention, a compression ratio of at least four may be desired.
Known compression algorithms may include JPEG and/or MPEG compression that may typically be used for image and video compression and may have an option to operate according to either a lossless or lossy scheme. However such algorithms may typically require relatively substantial processing power and memory, and may typically require full RGB data (as opposed to mosaic data) as input. Other known compression algorithms (that may typically be lossless), e.g., Binary Tree Predictive Coding (BTPC), Fast Efficient Lossless Image Compression System (FELICS), and Low Complexity Context-Based Lossless Image Compression Algorithm (LOCO-I), etc., may require relatively lower processing power and memory but may still require memory to, for example store tables and other data. In some embodiments of the present invention, known lossy and/or lossless methods may be revised and/or implemented with pre-processing of data to enable lossy compression to be implemented with reduced processing power and memory requirements, and to be compatible with mosaic image data input.
In some embodiments of the present invention, the performance of known compression algorithms may be improved by considering known characteristics of the system and the environment that may be imaged. In one example, the resolution of an image may be limited by, for example, optical system 22. Knowledge of the known limitations in the resolution may be, for example, incorporated into compression algorithms, e.g. by defining one or more parameters, so that higher performance may be achieved for the specific system being used. In other embodiments, a priori knowledge of the color scheme, or other characteristics of the image data may be incorporated in the compression algorithm. In other embodiments pre-processing may be implemented to increase performance of the compression algorithm. Performance may be based on compression ratio, processing, and/or memory requirement. Embodiments of the present invention describe a system and method for compression of image and other data at high compression rates, e.g. compression ratios of 4-8, with substantially little processing power and memory requirements.
Reference is now made to
Reference is now made to
In block 360, compressed data may be transmitted. Compressed data as well as encoded data and/or control data may be transmitted, for example in a compressed format. In other embodiments, encoded data and/or control data may not be compressed. Due to compression or other factors each line may have a variable bit length. In some embodiments of the present invention, a buffer 49 or other suitable storage unit may stall or hold data until, for example, a predetermined quantity of data may be accumulated for transmission, a predetermined time or number of frames has passed, etc. In some embodiments of the present invention, a buffer 49 may temporarily stall data to adapt the output from the compression that may have a variable bit rate to a constant bit rate transmission. Transmission may be in portions substantially smaller than an image frame, for example, a portion may be one or more lines of data, e.g. 270 bits. In one embodiment, entire images need not be stalled and/or stored. Data transmitted may be received (block 365) stored and subsequently decoded (block 370). In other embodiments of the present invention, decoding may be performed “on the fly” directly upon transmission. If dark reference pixels have not been subtracted during image capture, dark image information may be subtracted, for example, post decoding. The decoded mosaic image may be completed (block 380), e.g., by using known methods, e.g. known interpolation methods. The image may be displayed (390).
Typically, the data compression module 100 and decompression module 150 may include circuitry and/or software to perform data compression. For example, if the data compression module 100 and/or decompression module 150 may be implemented as a computer on a chip or ASIC, data compression module 100 or decompression module 150 may include a processor operating on firmware which includes instructions for a data compression algorithm. If data decompression module 150 may be implemented as part of data processor 14 and/or CPU 13, the decompression may be implemented as part of a software program. Other suitable methods or elements may be implemented.
In some embodiments of the present invention, the rate of transmission may be, for example, approximately 5.41 Megabits per second. Other suitable rates may be implemented. Compression may reduce the rate of transmission required or increase the quantity of information that may be transmitted at this rate. According to some embodiments, randomization may be implemented (performed, for example, by the transmitter 41). Namely, the occurrence of the digital signals (“0” and “1”) may be randomized so that transmission may not, for example, be impeded by a recurring signal of one type. In some embodiments of the present invention, an Error Correction Code (ECC) may be implemented before transmission of data to protect the data transmitted, for example, Bose Chaudhuri Hocquenghem (BCH) may be used.
Reference is now made to
In block 430 a transformation may be implemented to transform, for example, the four planes to other dimensions and/or coordinates. In one embodiment of the present invention an exemplary transformation shown in
Reference is now made to
In one embodiment of the present invention, the Y dimension may be compressed (block 540) even further using known lossless compression algorithms, for example, FELICS. Other suitable compression algorithms may be used. In one embodiment of the present invention, for one or more of the other dimensions, an alternate pre-processing may be implemented. In one example, the Cr and Cb planes may, for example, first be smoothed (block 570) using known methods. In one example, a smoothing filter with a 2×2 window may be implemented. In other examples other smoothing methods, e.g. linear and/or non-linear methods may be used. Subsequent to smoothing the data may be decimated (block 580) to reduce the size. For example, decimation may be used to reduce data in one or more dimensions, for example data having an original size of 128×128 bytes per image frame may be decimated to, for example, 64×64 bytes. In other examples, the data may be decimated to other suitable sizes. In block 560 data may be offset and truncated. One or more LSB(s) may be discarded (block 530) to decrease the size of the data before implementing a compression algorithm for example, FELICS. In other modes of operation and in other embodiments of the present invention, one or more blocks may not be implemented. For example, one or more of blocks 530, 560, 570, 580 may or may not be implemented. In other embodiments, other pre-processing may be implemented. In some embodiments of the present invention it may be desired to further reduce the processing power required to compress transmitted data. In one example, one or more of the dimensions defined by transform (520) may be discarded (block 593). Discarding a dimension of the defined data may serve to reduce the processing power required for compression and may increase the resultant compression ratio. In one example, the dimension defined by Gdiff may be, for example, discarded. In other examples, other dimensions or more than one dimension may be discarded. Other methods of increasing compression ratio, decreasing required processing power, and/or decreasing required memory capacity may be implemented.
Other modes of operation, for example modes, of compression and/or pre-processing may be used. Other modes of operation may be used. In some examples, the pre-processing defined for the Y dimension may be defined separately from, for example, the Cr, Cb dimension. In other embodiments other methods of defining modes of operation may be used. In this particular example, the Y dimension may be pre-processed less aggressively than for example the Cr and Cb dimensions and Gdiff dimension may be discarded. However, in other examples pre-processing of the Gdiff dimension may also be defined and the Y, Cr, and Cb dimensions may be pre-processed in alternate manners. In other embodiments mode of operation may be defined for operation other than pre-processing data or compressing data.
Reference is now made to
After defining the mode of operation (block 800), for example for pre-processing of data, pre-processing may be performed on the data (block 850) according to the mode defined, compression may be performed (block 860), for example, FELICS compression, and the data may be passed onto the buffer 49 (block 865) to await transmission. In some embodiments of the present invention, the mode of operation may be updated for every set of data selected. In other embodiments of the present invention, the mode of operation may be updated for every second, third or other number of sets of data selected. Data sent to the buffer 49 may include one or more markers to indicate a change in mode of operation and/or an empty buffer 49. In other embodiments of the present invention, the mode of operation may be defined by other parameters besides or in addition to pre-processing mode. The mode of operation may be defined by the frame capture rate of an imager, sampling rate of a sensor, or other operation of the in-vivo device 40. In other embodiments of the present invention, more or less steps may be defined to for example limit the number of modes that may be used or favor certain modes over others. In yet other embodiments of the present invention, other sets of steps may be used to define the mode of operation.
Compressed data may be transmitted to, for example, an external receiver 12, in portions. Compressed data that may be of variable size may pass through a buffer 49 before transmission. Once the portion defined for transmission may be filled, data accommodated in the buffer 49 may be transmitted. The data size of the defined portions may be the size of one or more images or may be the size of a few lines of data. The buffer 49 may provide for use of a constant bit rate transmitter for transmitting data of variable size. In one embodiment of the invention, compression data may be transmitted “on the fly” by transmitting portions equaling, for example, approximately four lines of pixel data while the buffer size may be in the order of magnitude of, for example, four lines of pixel data, e.g. 100 bytes to 2 kilobytes of data or less than 10 kilobytes of data, e.g. 340 bytes. Other suitable buffer sizes and transmission portions may be used. In some embodiments of the present invention, overflowing of the buffer 49 may be avoided by implementing a feed back mechanism between the buffer 49 and the pre-processing and/or compression algorithm as may be described herein. The feedback mechanism may control the pre-processing of the data based on the rate that the buffer 49 may be filling up. Other methods of transmitting and using buffers may be implemented, for example, using a buffer without feedback to compression and/or pre-processing algorithm.
Data transmitted may be received by an external receiver, for example receiver 12. Decoding and/or decompression may be performed on receiver 12 or on data processor 14 where data from the receiver may be subsequently downloaded. In an exemplary embodiment data decompression module 150 may be a microprocessor or other micro-computing device and may be part of the receiver 12. In alternate embodiments the functions of the data decompression (decoding) module 150 may be taken up by other structures and may be disposed in different parts of the system; for example, data decompression module 150 may be implemented in software and/or be part of data processor 14. The receiver 12 may receive compressed data without decompressing the data and store the compressed data in the receiver storage unit 16. The data may be later decompressed by, for example data processor 14.
Preferably, compression module 100 may be integral to imager 46. In other embodiments of the present invention, the data compression module 100 may be external to the imager 46 (e.g., integral to transmitter 41, a separate unit, etc.) and interface with the transmitter 41 to receive and compress image data; other units may provide other data to data compression module 100. In addition, the data compression module 100 may provide the transmitter 41 with information such as, for example, start or stop time for the transfer of image data from the data compression module 100 to the transmitter 41, the length or size of each block of such image data, and the rate of frame data transfer. The interface between the data compression module 100 and the transmitter 41 may be handled, for example, by the data compression module 100.
In alternate embodiments, the data exchanged between the data compression module 100 and the transmitter 41, or other units may be different, and in different forms. For example, size information need not be transferred. Furthermore, in embodiments having alternate arrangements of components, the interface and protocol between the various components may also differ. For example, in an embodiment where a data compression capability may be included in the transmitter 41 and the imager 46 may transfer uncompressed data to the transmitter 41, no start/stop or size information may be transferred.
Reference is now made to
Reference is now made to
Embodiments of the present invention may include apparatuses for performing the operations herein. Such apparatuses may be specially constructed for the desired purposes (e.g., a “computer on a chip” or an ASIC), or may include general purpose computers selectively activated or reconfigured by a computer program stored in the computers. Such computer programs may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions.
The processes presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems appears from the description herein. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
Unless specifically stated otherwise, as apparent from the discussions herein, it is appreciated that throughout the specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, or the like, typically refer to the action and/or processes of a computer or computing system, or similar electronic computing device (e.g., a “computer on a chip” or ASIC), that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims, which follow:
This application is a continuation-in-part of U.S. patent application Ser. No. 10/991,098, filed Nov. 18, 2004, entitled “Diagnostic Device Using Data Compression”, which in turn is a continuation-in-part of U.S. patent application Ser. No. 10/202,626 filed on Jul. 25, 2002, which in turn claims benefit from prior provisional application No. 60/307,605 entitled “Imaging Device Using Data Compression” and filed on Jul. 26, 2001 all of which are incorporated by reference herein in their entirety.
Number | Date | Country | |
---|---|---|---|
60307605 | Jul 2001 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10991098 | Nov 2004 | US |
Child | 11087606 | Mar 2005 | US |
Parent | 10202626 | Jul 2002 | US |
Child | 10991098 | Nov 2004 | US |