throbber
United States Patent (19)
`Dawson
`
`||||||||I||
`US005553160A
`11
`Patent Number:
`5,553,160
`(45) Date of Patent:
`Sep. 3, 1996
`
`54 METHOD AND APPARATUS FOR
`DYNAMICALLY SELECTING AN MAGE
`COMPRESSION PROCESS BASED ON
`IMAGE SIZE AND COLOR RESOLUTION
`
`Primary Examiner-Leo Boudreau
`Assistant Examiner-Andrew W. Johns
`Attorney, Agent, or Firm-Blakely, Sokoloff, Taylor & Zaf
`al
`
`75) Inventor: Bryan J. Dawson, Aloha, Oreg.
`-
`73) Assignee: Intel Corporation, Santa Clara, Calif.
`
`(21) Appl. No.: 299,893
`(22 Filed:
`Sep. 1, 1994
`51) Int. Cl.
`
`G06K9/00
`
`(57)
`ABSTRACT
`Amethod and apparatus which dynamically selects animage
`compression process for an image to be transferred from a
`first agent to a second agent. The image being compressed
`has a particular size associated with it, which indicates the
`amount of storage space required to store the image, such as
`
`52 U.S.C.O.38216,332,235,354 EYES"SEE,
`
`58) Field of Search ..................................... 382/166,232,
`382/239, 244, 286; 358/261.2, 430,449,
`539; 348/404; H04N 1141, 11/02
`
`p
`which indicates the number of different colors which the
`image may contain. Aparticular image compression process
`is selected for the image based on its size and color reso
`lution. In one embodiment, the present invention produces
`one of three possible outcomes. First, the image may remain
`References Cited
`uncompressed. Second, the image may be compressed using
`U.S. PATENT DOCUMENTS
`a lossless compression process, which reduces the size of the
`364/526
`4965,754 10/1990 Stansfield etal
`5,086,488 2/1992 Kato et al. ................................ E: image while retaining all data for the image. Third, the
`358/209
`image may be compressed using a lossy compression pro
`5,249,053 9/1993 Jain .........
`oo
`2
`. 358/539
`cess, which reduces the size of the image by losing a small
`5,353,132 10/1994 Katsuma .
`358/500
`amount of data for the image.
`5,361,144 11/1994 Sugiura .......
`5,363,219 11/1994 Yoshida ................................... 358/539
`FOREIGN PATENT DOCUMENTS
`2249238 4/1992 United Kingdom............. H04N 1/41
`
`56)
`
`9.1 Wovy
`
`allSilco Cial. ......................
`
`25 Claims, 6 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`410
`
`took BYTES
`
`445
`
`RUN
`OSSLESSPROCESS
`on Portion OFMAge
`
`RUN
`LOSSLESS PROCESS
`ONENTRE IMAGE
`
`S
`CoMPRESSION
`RAng 25:1
`
`OSSESSPROCESS
`ONENTRE MAGE
`
`No
`
`A4
`
`USE
`lossyprocess
`FORCOMPRESSION
`
`
`
`USE
`lossess PROCESS
`FORCOPRESSION
`
`Page 1
`
`NETFLIX, INC
`Exhibit 1025
`IPR2018-01630
`
`

`

`U.S. Patent
`
`Sep. 3, 1996
`
`Sheet 1 of 6
`
`5,553,160
`
`EKOLAETC.
`
`AdOSO CIHVH
`
`III
`
`001
`
`
`
`
`
`
`
`Page 2
`
`

`

`U.S. Patent
`US. Patent
`
`Sep. 3, 1996
`
`Sheet 2 of 6
`
`5,553,160
`5,553,160
`
`bun—.50
`
`nummwzioo
`
`mu;—
`
`SSEITSSOT
`mmmqmmOJ
`
`EOmwmmEEOO
`
`«Imlp
`
`>mm04
`
`mOmmMm—LEOO
`
`fl
`
`
`
`m_.MEDGE
`
`Page 3
`
`Suz-
`
`nummwflmioozn
`
`m0:—
`
`
`
`
`
`
`
`Page 3
`
`
`
`
`

`

`US. Patent
`
`Sep. 3, 1996
`
`Sheet 3 of 6
`
`5,553,160
`
`ZOF<0_2_.==OO
`
`mos—Em;—
`
`29mmmmm§00
`
`¢m0<z<5
`
`
`
`m0<¢0hm<h<n
`
`“05m...—
`
`Emma
`
`aMOS—cub:—
`
`2050.23.58
`
`musimhz.
`
`WW“.
`
`20.3mmnaoo
`
`5323.
`
`MW“.
`
`$5.3mEta
`
`mosmn
`
`mm
`
`Nmun—DO."—
`
`Page 4
`
`Page 4
`
`

`

`U.S. Patent
`
`Sep. 3, 1996
`
`Sheet 4 of 6
`
`5,553,160
`
`
`
`
`
`
`
`
`
`RETRIEVE IMAGE
`
`DEERMINE
`COMPRESSION
`PROCESS
`
`
`
`STORAGE
`REQUESTED
`
`TRANSFER
`
`REQUESTED
`
`FIGURE 3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`TRANSFERMAGE
`TO TARGET AGENT
`
`
`
`Page 5
`
`

`

`U.S. Patent
`
`Sep. 3, 1996
`
`Sheet 5 of 6
`
`5,553,160
`
`S
`IMAGESZE
`a 4K BYTES
`
`YES
`
`40
`
`NO
`
`NO COMPRESSION
`
`
`
`
`
`
`
`
`
`
`
`COLOR
`
`MAGE 83TS
`
`425
`
`MAd SIZE
`OOK BYTES
`
`445
`
`RUN
`LOSSLESS PROCESS
`ON PORTION OF IMAGE
`
`RUN
`OSSLESS PROCESS
`ON ENTRE IMAGE
`
`
`
`IS
`COMPRESSION
`RATIO 25:
`
`S
`COMPRESSION
`RATI 23:1
`
`
`
`
`
`RUN
`LOSSLESS PROCESS
`ON ENTRE MAGE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IS
`COMPRESSION
`RATO 24:
`
`USE
`LOSSY PROCESS
`FOR COMPRESSION
`
`
`
`
`
`
`
`
`
`
`
`USE
`LOSSLESS PROCESS
`FOR COMPRESSION
`
`C END D
`
`FIGURE 4 C END D
`
`Page 6
`
`

`

`US. Patent
`U.S. Patent
`
`Sep. 3, 1996
`Sep. 3, 1996
`
`Sheet 6 of 6
`Sheet 6 of 6
`
`5,553,160
`5,553,160
`
`FIGURE 5
`
`Page 7
`
`

`

`5,553,160
`
`1
`METHOD AND APPARATUS FOR
`DYNAMICALLY SELECTING AN MAGE
`COMPRESSION PROCESS BASED ON
`IMAGE SIZE AND COLOR RESOLUTION .
`
`2
`This increase in display capabilities, however, is accom
`panied by an increase in memory space required to store an
`image being displayed, or to be displayed, on the visual
`display. That is, a color must be stored for each pixel on the
`screen. For example, a display with 800x600 resolution
`contains 480,000 pixels, each of which can have any one of
`the available colors. If the display has a color resolution of
`256 colors (which can be represented using 8 bits), then the
`storage size of an entire-screen image is approximately 500k
`bytes, which is the amount of memory necessary to store the
`image. Thus, it will be apparent that as the color resolution
`increases, the storage area required for an image increases
`dramatically.
`The increase in required storage area generates two sig
`nificant problems. First, the storage device (such as a disk or
`tape drive) must be large enough to store a sufficient number
`of images. The actual number of images is dependent on the
`users of the system. Second, the communication devices
`coupling multiple computer systems are relatively slow,
`compared to the processing capabilities of the computer
`systems. Thus, the time required to transfer such a large
`image between computer systems can be very long.
`One technique used to solve both of these problems is that
`of data compression. Utilizing data compression techniques,
`the storage size of the image is reduced while maintaining
`the same resolution. Thus, the image utilizes a smaller
`amount of space in the storage device, and can be transferred
`via a communication device more quickly.
`Two types of compression techniques are commonly used
`to compress images: lossless compression and lossy com
`pression. In lossless compression, the storage size of the
`image is reduced without losing any data. That is, the image
`can be compressed, stored or transferred, then decom
`pressed, and the decompressed image will be identical to the
`original image. In lossy compression, however, the size of
`the image is reduced and a small amount of data loss occurs.
`Thus, an image which is compressed, stored or transferred,
`and then decompressed will be slightly different from the
`original image. Although lossy compression causes some
`data loss, ideally that data loss is not evident to the user.
`Both lossless and lossy compression processes typically
`work best in situations where the other works poorly. That
`is, when lossless compression works well, lossy compres
`sion generally works poorly, and vice versa. Lossless com
`pression typically works well in situations where the data
`being compressed has significant entropy. Entropy refers to
`repetitions within the data. For example, an image compris
`ing a total of 50 characters, each of which is different, would
`have low entropy, whereas an image comprising 10 occur
`rences each of five different characters would have higher
`entropy.
`Lossy compression, however, typically works well in
`situations where the data being compressed has low entropy.
`In situations of low entropy, little of the data being com
`pressed is repeated. An example of a low entropy image is
`a continuous-tone image with a color resolution of 16
`million colors. Typically, in a continuous-tone image very
`few, if any, pixels have the same color. However, even
`though two adjacent pixels may have slightly different
`colors, the difference in color may not be noticeable to the
`human eye. Thus, in a wide variety of circumstances, the
`assumption is made that two pixels with slightly different
`colors can be treated as having the same color. Lossy
`compression takes advantage of this assumption and alters
`the colors of some of the pixels. Thus, some data loss occurs
`during compression, however ideally this data loss is not
`observable by the system user.
`
`10
`
`15
`
`20
`
`BACKGROUND Of THE INVENTION
`1. Field of the Invention
`The present invention pertains to the fields of computer
`systems, personal conferencing, and image processing.
`More particularly, this invention relates to the compression
`of image data for transfer between two agents.
`2. Background
`Computer technology is continuously advancing, provid
`ing newer computer systems with continuously improved
`performance. This improved performance is evidenced in a
`wide variety of characteristics. For example, the processing
`speeds of computer systems are increasing, the storage
`capabilities are increasing, and the visual display capabili
`ties are increasing. One result of this improved performance
`is an increased use of computer systems by individuals in a
`wide variety of business, academic and personal applica
`tions.
`One problem experienced in the advancement of com
`25
`puter technology is that the various characteristics which
`define a system's performance do not always advance at the
`same rate. For example, storage capabilities are not always
`being improved at the same rate as processing speed. Thus,
`although a computer system may utilize a high-performance
`processor, the storage device of the system (such as a hard
`disk) may be neither fast enough nor large enough to fully
`support the processor.
`In addition, the increase in use of computer systems by
`individuals has found new and expanded areas of usage. One
`35
`such area is that of personal conferencing, which is becom
`ing increasingly demanded by computer users. Personal
`conferencing generally refers to two or more individual
`computer systems in communication with each other via a
`communication device. Such a communication device may
`be, for example, a telephone line or a local area network
`(LAN).
`Although personal conferencing capabilities are increas
`ingly demanded by computer users, the performance of
`communication devices do not always allow computer users
`to take full advantage of their computer systems. For
`example, the communication device(s) used to connect two
`computer systems may not be able to transfer data between
`the systems at the rate each system is able to transmit or
`receive and process data. Thus, two high-performance com
`50
`puter systems communicating with each other may not be
`able to operate at their optimal level; rather, they are
`required to accept the limitations found in the communica
`tion device(s) coupling them.
`For example, increased processing speeds have supported
`an increase in visual display capabilities, as evidenced by an
`increase in both screen and color resolutions. Screen reso
`lution refers to the number of pixels in a visual display. Each
`pixel is an individual screen location which can be illumi
`nated or otherwise activated on the visual display, and can
`be represented by a unique (x,y) coordinate. Modern display
`capabilities include screen resolutions such as 640x480,
`800x600, and 1024x768. Color resolution refers to the color
`depth of each pixel on the display; that is, the number of
`different colors each pixel can display. Modem computer
`systems can provide color resolutions in the order of mil
`lions of colors.
`
`45
`
`30
`
`55
`
`65
`
`Page 8
`
`

`

`3
`These compression techniques can be utilized both to
`transfer image data between two computer systems and to
`store image data in a storage device, thereby reducing
`transfer time and reducing storage requirements, respec
`tively.
`One technique for selecting between these image com
`pression techniques is to always use one or the other. For
`example, if the system typically transfers images with high
`entropy, then the system uses lossless compression for all
`images. Alteratively, if the system typically transfers con
`tinuous-tone images, then the system uses lossy compres
`sion for all images. However, such a technique does not
`work well in systems which transfer both types of images
`because the system is tuned to optimize a particular type of
`image and provides poor performance for other types of
`images.
`Generally, only one of these two compression techniques
`(lossless or lossy) works well on a particular image or
`portion of data. Thus, it would be beneficial to provide a
`system which optimally chooses between these techniques
`for each image being transferred or stored.
`Another technique for selecting between these image
`compression techniques is to allow the system user to
`choose between them. That is, if the system user desires to
`use data compression, he or she is given a choice between
`the two compression techniques and must choose which one
`is used. This technique has several disadvantages. First, the
`system user may not understand which technique works best
`in which situations, and thus may not be qualified to make
`the choice. Second, the image may be such that, even if the
`user is qualified to choose, it may not be readily apparent
`which choice is correct. Third, the user is inconvenienced by
`having to make the choice. This inconvenience is especially
`true in situations where the user is transferring a large
`number of images, and is required to make a choice for each
`of the images being transferred. Fourth, the speed of the
`system is decreased due to the requisite decision time of the
`user. One goal of compression is to increase the speed of
`data transfers; thus, the time required by the user to select a
`compression technique hinders attaining this goal.
`Another technique for selecting an image compression
`process is an adaptive technique which partitions an image
`into multiple smaller sections. A first section is compressed
`using one particular compression algorithm, and if the
`algorithm worked well, then that same compression algo
`rithm is used for the next section. If the compression
`algorithm did not work well, then another algorithm is
`chosen to compress the next section. The first section is not
`recompressed using a different algorithm. This process pro
`ceeds for each section in the image, with the compression
`algorithm for one section being dependent on the success of
`the compression of the previous section. This adaptive
`technique may also be applied to a series of images, where
`each image of the series is analogous to a section. In this
`situation, the compression algorithm for an image is depen
`dent on the success of the compression of the previous image
`in the series.
`This adaptive technique has several disadvantages. For
`example, entropy can often be found in images as a whole,
`however that entropy may not exist when the image is
`partitioned into smaller sections. In addition, several
`attempts may be made to find the proper algorithm, each of
`which may result in a very poor compression ratio for that
`section. Since these sections are not recompressed, the
`compression ratio for the entire image suffers.
`-
`Thus, it would be advantageous to provide a system which
`optimally compresses the image data for storage and/or
`transfer.
`
`4
`it would furthermore be advantageous to provide a system
`which automatically and accurately selects the appropriate
`compression technique for each image.
`In addition, it would be advantageous to provide a system
`which quickly determines the appropriate compression tech
`nique for an image transfer.
`The present invention provides for these and other advan
`tageous results.
`
`SUMMARY OF THE INVENTION
`A method and apparatus for dynamically selecting an
`image compression process is disclosed herein. The appa
`ratus of the present invention compresses an image for
`transfer from a first agent to a second agent. The image being
`compressed has a particular size associated with it, which
`indicates the amount of storage space required to store the
`image, such as in the system memory or a mass storage
`device. The image also has a particular color resolution
`associated with it, which indicates the number of different
`colors which the image may contain. The present invention
`selects a particular image compression process for the image
`based on its size and color resolution.
`In one embodiment, the present invention produces one of
`three possible outcomes. First, the image may remain
`uncompressed. Second, the image may be compressed using
`alossless compression process, which reduces the size of the
`image while retaining all data for the image. Third, the
`image may be compressed using a lossy compression pro
`cess, which reduces the size of the image by losing a small
`amount of data for the image.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention is illustrated by way of example
`and not limitation in the figures of the accompanying
`drawings, in which like references indicate similar elements
`and in which:
`FIG. 1A shows an overview of an example computer
`system of the present invention;
`FIG. 1B shows the implementation of a compression
`manager in one embodiment of the present invention;
`FIG. 2 shows an overview of an example personal con
`ferencing system of the present invention;
`FIG. 3 is a flowchart showing the steps followed in one
`embodiment of the present invention in storing and trans
`ferring data;
`FIG. 4 is a flowchart showing the steps followed in
`selecting the image compression process in one embodiment
`of the present invention; and
`FIG. 5 is a block diagram of a data storage device in one
`embodiment of the present invention.
`
`DETAILED DESCRIPTION
`In the following detailed description numerous specific
`details are set forth in order to provide a thorough under
`standing of the present invention. However, it will be
`understood by those skilled in the art that the present
`invention may be practiced without these specific details. In
`other instances well known methods, procedures, compo
`nents, and circuits have not been described in detail so as not
`to obscure the present invention.
`Some portions of the detailed descriptions which follow
`are presented in terms of algorithms and symbolic repre
`sentations of operations on data bits within a computer
`
`5,553,160
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 9
`
`

`

`5,553,160
`
`5
`memory. These algorithmic descriptions and representations
`are the means used by those skilled in the data processing
`arts to most effectively convey the substance of their work
`to others skilled in the art. An algorithm is here, and
`generally, conceived to be a self-consistent sequence of steps
`leading to a desired result. The steps are those requiring
`physical manipulations of physical quantities. Usually,
`though not necessarily, these quantities take the form of
`electrical or magnetic signals capable of being stored, trans
`ferred, combined, compared, and otherwise manipulated. It
`has proven convenient at times, principally for reasons of
`common usage, to refer to these signals as bits, values,
`elements, symbols, characters, terms, numbers, or the like. It
`should be borne in mind, however, that all of these and
`similar terms are to be associated with the appropriate
`physical quantities and are merely convenient labels applied
`to these quantities. Unless specifically stated otherwise as
`apparent from the following discussions, it is appreciated
`that throughout the present invention, discussions utilizing
`terms such as "processing" or "computing” or "calculating”
`or "determining" or "displaying" or the like, refer to the
`action and processes of a computer system, or similar
`electronic computing device, that manipulates and trans
`forms data represented as physical (electronic) quantities
`within the computer system's registers and memories into
`other data similarly represented as physical quantities within
`the computer system memories or registers or other such
`information storage, transmission or display devices.
`In the descriptions to follow, numerous specific values are
`given. For example, specific image sizes are given and
`specific compression ratios are given for comparison pur
`poses. It will be appreciated that these specific values are
`shown as examples only, These values can be replaced with
`any of a wide range of values within the spirit and scope of
`the present invention.
`FIG. 1A shows an overview of an example computer
`system of the present invention. The computer system
`generally comprises a bus or other communication device
`100 for communicating information, and processor 101
`coupled with bus 100 for processing information and
`instructions. In one implementation, processor 101 is an
`Intel(B) architecture microprocessor; however, the present
`invention may utilize any type of microprocessor architec
`ture. In one embodiment, bus 100 includes address, data and
`control buses. The system also includes random access
`memory (RAM) 104 coupled with bus 100 for storing
`information and instructions for processor 101, a read only
`memory (ROM) 105 coupled with bus 100 for storing static
`information and instructions for processor 101, a data stor
`age device 106 such as a magnetic disk and disk drive
`coupled with bus 100 for storing information and instruc
`tions, a display device 107 coupled to bus 100 for displaying
`information to the computer user, an alphanumeric input
`device 108 including alphanumeric and function keys
`coupled to bus 100 for communicating information and
`command selections to processor 101, a cursor control
`device 109 coupled to the bus for communicating user input
`information and command selections to processor 101, and
`a signal generating device 110 coupled to bus 100 for
`communicating command selections to processor 101.
`Ahard copy device 111, such as a plotter or printer, is also
`coupled to bus 100 for providing a visual representation of
`the computer images. In one embodiment, a network con
`necting device 112 is coupled with bus 100 for allowing the
`system to communicate with other computer systems over a
`larger network of computer systems, such as a local area
`network (LAN).
`
`45
`
`50
`
`55
`
`60
`
`65
`
`10
`
`15
`
`20
`
`30
`
`35
`
`6
`In one embodiment, the method of the present invention
`is implemented as a software routine run by processor 101.
`In one implementation, this software routine is included in
`the personal conferencing application PROSHARETM, pro
`duced by Intel® Corporation of Santa Clara, Calif., the
`corporate assignee of the present invention.
`In one embodiment of the present invention, a separate
`compression manager 114 is also coupled with bus 100. In
`this embodiment, compression manager 114 includes cir
`cuitry for implementing the method of the present invention.
`In one implementation, compression manager 114 comprises
`a random access memory or a read only memory, analogous
`to RAM 104 and ROM 105 discussed above, and the method
`of the present invention is contained in compression man
`ager 114 as a computer program.
`FIG. 1B shows an alternate implementation of compres
`sion manager 114. An uncompressed image is received by
`compression manager 114 and input to both controller 150
`and image router 151. Controller 150 determines the proper
`compression technique to use in compressing the image, as
`discussed in more detail below with respect to FIG. 4, and
`outputs a signal to image router 151 indicating the proper
`compression technique. Image router 151 operates in a
`conventional manner to direct the uncompressed image to
`either lossless compressor 152 or lossy compressor 153,
`based on the signal received from controller 150. It should
`be noted that under certain circumstances, discussed in more
`detail below, controller 150 may signal image router 151 to
`route only a portion of the image to lossless compressor 152
`or lossy compressor 153. Lossless compressor 152 com
`presses images using a conventional lossless algorithm.
`Lossy compressor 153 compresses images using a conven
`tional lossy algorithm. Thus, compression manager 114
`outputs a compressed image, with the compression tech
`nique being determined by controller 150. It should also be
`noted that under certain circumstances, discussed in more
`detail below, a particular uncompressed image may be
`compressed twice, using both compression techniques, how
`ever the result of only one of these compressors is output by
`compression manager 114 as the compressed image.
`Returning to FIG. 1A, the display device 107 utilized with
`the computer system of the present invention may be a liquid
`crystal device, cathode ray tube, or other display device
`suitable for creating graphic images and alphanumeric char
`acters (and ideographic character sets) recognizable to the
`user. The cursor control device 109 allows the computeruser
`to dynamically signal the two dimensional movement of a
`visible symbol (pointer) on a display screen of the display
`device 107. Many implementations of the cursor control
`device are known in the art including a trackball, mouse,
`joystick or special keys on the alphanumeric input device
`108 capable of signaling movement of a given direction or
`manner of displacement. It is to be appreciated that the
`cursor visible symbol (pointer) also may be directed and/or
`activated via input from the keyboard using special keys and
`key sequence commands. Alternatively, the cursor may be
`directed and/or activated via input from a number of spe
`cially adapted cursor directing devices, including those
`uniquely developed for the disabled.
`In some implementations of the present invention addi
`tional processors or other components may be included. In
`addition, certain implementations of the present invention
`may not require nor include all of the above components.
`For example, hard copy device 111, display device 107, or
`data storage device 106 may not be coupled with bus 100.
`FIG. 2 shows an overview of an example personal con
`ferencing system of the present invention. Two agents are
`
`Page 10
`
`

`

`7
`shown, agent 201 and agent 202, coupled together by a
`communication medium 200. Communication medium 200
`may be any of a wide variety of communication media. For
`example, communication medium 200 may be a telephone
`line or a LAN connection.
`Agent 201 includes a central processing unit (CPU) 210,
`a user interface 211, a compression manager 212, a data
`storage device 213, and a communication interface 214.
`Agent 201 also includes an internal bus 209 for communi
`cating instructions and data between these components. In
`one implementation of the present invention, agent 201 is
`the computer system shown in FIG. 1A, with compression
`manager 212 of FIG. 2 being compression manager 114 of
`FIG. 1A and CPU210 of FIG.2 being processor 101 of FIG.
`1A. Alternatively, agent 201 may be a processor-based
`facsimile machine.
`CPU 210 retrieves and executes instructions from data
`storage device 213. Data storage device 213 includes both
`instructions and data for use by CPU 210, analogous to
`processor 101 of FIG. 1A. In one embodiment of the present
`invention data storage device 213 is data storage device 106
`of FIG. 1A. Alternatively, data storage device 213 could be
`RAM 104 or ROM 105 of FIG. 1A.
`Returning to FIG. 2, user interface 211 controls the
`transfer of information and requests between agent 201 and
`the user of agent 201. User interface 211 may include, for
`example, display device 107, alphanumeric input device
`108, and cursor control device 109 of FIG. 1A. Requests for
`data or other instructions by the system user are input to
`agent 201 via user interface 211. In addition, data requested
`by the user is displayed or otherwise provided to the user via
`user interface 211. In one embodiment of the present inven
`tion, user interface 211 operates according to an operating
`system being executed by CPU 210 which controls the
`functioning of the entire agent 201. In an alternate embodi
`ment, user interface 211 operates according to a separate
`software program being executed by CPU 210.
`Compression manager 212 performs the steps of selecting
`an image compression process for the present invention. In
`one embodiment, these steps are as shown in FIG. 4 below.
`Compression manager 212 selects the compression process
`for both transfer of data to agent 201 via communication
`interface 214 and communication medium 200, and also for
`storage in data storage device 213. In one embodiment of the
`present invention, the data or image to be compressed is
`indicated by the system user via interface 211. Both this
`request by the user and the data to be compressed are
`indicated to compression manager 212 via CPU 210.
`In one embodiment of the present invention, compression
`50
`manager 212 compresses the data received by CPU 210.
`Compression manager 212 then stores the data, in com
`pressed format, in data storage device 213. In addition,
`compression manager 212 may also transfer the data to
`agent 202 via communication medium 200, depending on
`the request received from user interface 211.
`In an alternate embodiment, compression manager 212
`stores the data received from CPU210 in data storage device
`213. It should be noted that this data stored in data storage
`device 213 is not in compressed format. Then, dependent on
`60
`the request received from interface 211, compression man
`ager 212 compresses the data received from CPU 210, and
`transfers the data to agent 202 via communication medium
`200. Thus, in this embodiment, the data stored in data
`storage device 213 is not in compressed format; however,
`compression manager 212 compresses the data before trans
`ferring it to agent 202.
`
`35
`
`40
`
`45
`
`55
`
`65
`
`5,553,160
`
`10
`
`15
`
`20
`
`25
`
`30
`
`8
`Communication interface 214 provides an interface
`between communication medium 200 and agent 201. Com
`munication interface 214 includes the necessary components
`to transfer signals via the particular communication medium
`being used as communication medium 200. For example,
`communication interface 214 may be a LAN interface or a
`modem.
`In one embodiment of the present invention, agent 201
`includes header information along with the image being
`transferred to agent 202. This header information provides
`information related to the image(s) being transferred. In one
`implementation, this header information includes an indica
`tor of the compression process used by agent 201 in com
`pressing the image, thereby enabling agent 202 to utilize the
`proper decompression process when decompressing the
`image. Additional information may also be included in the
`header information, such as the color resolution of the
`image, the image size when compressed, and the image size
`when uncompressed.
`In one embodiment of the present invention, agent 201
`also receives images from agent 202. In this embodiment,
`agent 202 operates analogous to agent 201 described above.
`When receiving an image, agent 201 decompresses the
`image received. This decompression is performed in a
`conventional manner by agent 201, based on the technique
`used by agent 202 in compressing the image. In one imple
`mentation, CPU 210 performs the decompression. In an
`alternate implementation, compression manager 212 per
`forms the decompression. The compression technique uti
`lized by agent 202 to compress the image is included in the
`header information for the image, as discussed above.
`In one embodiment of the present invention, agent 202 is
`identical to agent 201. Alternatively, agent 202 may include
`additional components not included in agent 201.
`It will be understood by those skilled in the art that
`additional components may be added to or removed from
`agents 201 and 202 of FIG. 2. For example, additional
`components may be coupled to internal bus 209 of agent
`201, such as those components shown coupled to bus 100 of
`FIG. 1A. Furthermore, certain components shown in FIG. 2
`may not be included within the system. For example, agent
`202 may not contain a data storage device. Thus, data
`transferred from agent 201 to agent 202 is output to the user
`of agent 202 via the user interface, however agent 202 does
`not store the received data.
`FIG. 3 is a flowchart showing the steps followed in one
`embodiment of the present invention in storing and trans
`ferring data. The data representing the image is first
`retrieved, step 310. This image is retrieved via CPU 210,
`from either user interface 211 or data storage device 213, of
`FIG. 2. After retrieving the image, the present invention
`determines which compression process to use, step 320. This
`determination is discussed in more detail below with refer
`ence to FIG

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket