The application requires to submit on Dec 16th, 2003, sequence number is the right of priority of 60/530,469 U.S. Provisional Patent Application, and its complete being incorporated herein by reference is used for all purposes.
Embodiment
Fig. 1 always illustrates the synoptic diagram according to the image processing system of the first embodiment of the present invention at 10 places.Image processing system 10 comprises and is configured to the display device 12 of watching display image on the face 14.Display device 12 can be the display device of any suitable type.Its example includes but not limited to that LCD (LCD) and digital light are handled (DLP) projector, television system, and computer monitor, or the like.
Image processing system 10 comprises that also the image related with display device 12 provides equipment 16, and one or morely provides equipment 16 to carry out the image source 18 of telecommunication with image.Image provides equipment 16 to be configured to receive by image source 18 image transmitted data, and the view data that processing is received is to be used for by display device 12 demonstrations.Image provides equipment 16 can be integrated in the display device 12, or can be used as the independent assembly that can be connected to display device and provide.That the image that is fit to provides is that an example of equipment was submitted on June 2nd, 2003, sequence number is open in 10/453,905 the U.S. Patent application, and this application is incorporated herein by reference.
Get back to Fig. 1, image source 18 can comprise can provide equipment 16 that any suitable equipment of view data is provided to image.Its example includes but not limited to, desktop computer and/or server 18
a, laptop computer 18
b, PDA(Personal Digital Assistant) 18
c, mobile phone 18
dOr the like.In addition, image source 18 can provide equipment 16 to carry out telecommunication with image in any suitable manner.In described embodiment, each image source 18 all provides equipment 16 to carry out telecommunication by wireless network 20 and image.Yet image source 18 also can be by cable network, provide equipment 16 to communicate by wireless or wired direct connection or the like or their any combination and image.
When image source 18 is configured to handle the view data of multiple form, the data that image provides equipment 16 can be configured to decode every kind of required image data layout.Yet as mentioned above, this may require image to provide equipment 16 to have the independent software program that enough storeies are stored the every kind of required form that is used to decode.In addition, much may provide the source outside the manufacturer of equipment 16 to provide in these software programs by image.Therefore, using such software can reduce image provides the manufacturer of equipment 16 to provide the control of the software program on equipment and/or the display device 12 to being installed in image.This can make these display devices be opened under virus, defective and other problems introduced by external software during software installation, upgrading or the similar operations.
For simplified image provides the operation and the software requirement of equipment 16, each image source 18 can comprise the bitmap that is configured to generate the image on the display 22, provides the software of equipment 16 to be used for being shown by display device 12 with this bitmap transmissions to image then.This provides such advantage, be that image provides 16 needs of equipment to comprise to be used to and receives the decode single software of planting the view data of form, and therefore help to prevent to install and/or reproducting periods is incorporated into image with virus, defective and other problems and provides on the equipment 16 at software.Yet as mentioned above, unpressed bitmap file may be quite big, and therefore being transferred to image provides equipment 16 to consume the long relatively time, and this depends on the bandwidth of employed communication channel.To the image of relative high resolution scheme, as XGA and above especially true.When data were video data, new data frame is sent to image provided the speed of equipment 16 may be about for 20 frame/seconds or higher.In the case, frame frequency may provide the speed of equipment 16 faster than generating whole bitmap and it being transferred to image, and this may cause the transmission of video image and the error in the demonstration.
For fear of transmission and display error, can before transmission, handle the bitmap that the image on generates from be presented at image source 18, to reduce to every frame image data data quantity transmitted.Fig. 2 always illustrates the example embodiment of the method for the processing bitmap image data that the display on 22 generates from image source 18 at 100 places.Method 100 is usually by software code realization, and this software code is stored in the storer on the image source 18 usually, and can be carried out by the processor on each image source.
Be transferred to the data volume that image provides equipment 16 in order to reduce, method 100 only transmit a frame or set of diagrams as in the data with that frame or those different parts of that set of image data of tightly before present frame, transmitting.Therefore, one group or a frame image data N and current a group or a frame image data N+1 who is presented on the display 22 that method 100 had at first more before been transmitted at 102 places determine to be different among the frame N+1 part of frame N then at 104 places.
Compare two frame image datas at 102 places and determine that at 104 places having changed the zone can carry out in any suitable manner.For example, each can be stored in frame N and N+1 in the impact damper, each pixel that is stored in the view data in the N+1 impact damper can be compared with each pixel that is stored in the view data in the N impact damper then.
Navigating to when changing, can limit and changed the zone and compress in any suitable manner being used for.For example, in certain embodiments, detected change can by among the frame N+1 that comprises view data that is drawn all changed the zone the single rectangular area with variable-size limit.Yet, may there be such situation, wherein like this qualification scheme that the changed the zone mass data that causes in fact not the frame with previous transmission to change is compressed and transmits.For example, with reference to figure 3, during still image 200 demonstrations, during generating slideshow at the display from laptop computer, the user may activate the drop-down menu 202 in the display upper left corner, and the clock symbol 204 that is positioned at the display lower right corner has simultaneously upgraded.In the case, having changed the zone with single square boundary qualification can cause in fact whole screen all to be comprised by this border.This pressure that can cause much not changing data is compiled and transmission, thereby can reduce the efficient of Image Data Compression and transmission.
As limit another selection that all have changed the zone with single border, method 100 is included in 106 places and is divided into the change part that m different zone limits image data frame N by changing part.Schematically point out by 206 in Fig. 3 in these zones.Zone 206 has the set size that equates usually, and can be any size.In described embodiment, drop-down menu is covered by four zones 206, and the clock icon is covered by single zone.Yet, may wish to use relatively little zone 206 to reduce with changing the amount that does not change data that data are compressed and transmitted.
Refer again to Fig. 2, before the change with image 200 partly is divided into zone 206, simultaneously or afterwards, method 100 can be included in that 108 places determine just to be encoded and the palette of image transmitted, and at 110 places the renewal of relevant palette is transferred to image and provides equipment 16 to assist the decompression of compressing image data.This is because 24 colors can be abridged with 8 values of searching in the palette.When reusing color, the data of 8 feasible transmission of abbreviation still less.
Next, method 100 is included in the 112 loop initialization counter j=1 of place, then each zone in being encoded altogether in m zone in the layering of 114 places.At the initialized cycle counter in 112 places to the number count in the zone 206 of hierarchical coding.An example of hierarchical coding is the pyramid coding.Pyramid is encoded to relate to image (or part of image) is encoded to the multilayer details, wherein each layer comprises that quantity is four times in time " pixel " or the data point of the regional outward appearance in the high-rise presentation video, and wherein each pixel in each layer all is the mean value of four neighbors in time low layer.Data in each layer can be expressed as actual value, or are expressed as and are coded in the difference between the mean value in time high level.Though described embodiment is described as using the pyramid coding, should be understood that the hierarchy encoding method that can use any other to be fit to.
Each regional pyramid is coded among Fig. 4 schematically illustrated.Being transferred to image provides each image-region 206 of equipment 16 to illustrate along Fig. 4 top, and the schematically illustrating below the zone of a pyramidal layer group 208 in each zone illustrates.Each layer is all used symbol L
MnMark, wherein subscript m represents this level is associated with which zone 206, and the level " degree of depth " in the subscript n representational level group 208 wherein.For example, leftmost regional 206
aDetailed level (" minimum " level) shown in 210, and be labeled as L
1nSubscript " 1 " represents that this level comprises the data of first area (m=1), and n represents that this level is minimum in " n " individual level.The maximal value of n depends on to make up what pyramid levels, and is configured in the software usually.Far Left zone 206
aThe 3rd the most rough level (" tri-layer ") L
13, the second the most rough level (" second level ") L
12, and the most rough level (" first level " or " highest level ") L
11The pyramid level among Fig. 4 respectively shown in 212,214 and 216.
Relation between the value in first level 216, second level 214 and the tri-layer 212 also illustrates in Fig. 4 by a dotted line.The mean value of four consecutive values 222 in value 220 expressions second level 214 in first level 216, and the mean value of four values 224 in each the value 222 expression tri-layer 212 in second level.
After regional pyramid is encoded to n layer with each, can compress view data in each pyramidal layer by one or more compression steps, with the data volume of further minimizing by traffic channel.Each of view data layer L
MnCompressed format in Fig. 4 by symbol C
MnExpression.View data in each pyramidal layer can be compressed in any suitable manner.In the embodiment of Fig. 2, the view data in each pyramidal layer is all compressed by a plurality of compression steps, with obtain than the compress technique by any independent use the higher compression degree that may reach.
Compression to each pyramidal layer in the zone of pyramid coding starts from 116 places, and at the count initialized device k of this place, counter k counts the quantity of the pyramid level that compressed.Next, at 118 places the view data in each pyramidal layer is transformed into luminance/chrominance color space alternatively.The example of the luminance/chrominance color space that is fit to comprises device-dependent color space, as the YCrCb color space, and device-independent color space, as CIEXYZ and CIE L*a*b* color space.Another example of the device independent color space that is fit to is as described below.Color space comprises brightness r value and colourity s and t value, and derives from CIE L*a*b* color space by following formula:
(1)r=(L*-L*
min)(r
max/(L*
max-L*
min))
(2)s=(a*-a*
min)(s
max/(a*
max-a*
min))
(3)t=(b*-b*
min)(t
max/(b*
max-b*
min))
The r that calculates from these formula, s and t value can round off or be truncated to immediate round values, so that digital format is changed into integer data format from floating-point, thereby simplify the calculating that relates to the value in the color space.In these formula, value L*
Max, L*
Min, a*
Max, a*
Min, b*
MaxAnd b*
MinCan be corresponding to each the practical limit in L*, a* and the b* color space coordinate, or corresponding to another color space, maximal value and minimum value when the color space of the vision facilities 18 selected is on being mapped to CIE L*a*b* color space.Value r
Max, s
MaxAnd t
MaxCorresponding to each max-int of r, s and t color coordinates, and depend on the figure place that is used to represent each coordinate.For example,, there are 64 possible round valuess (0--63) in each coordinate representing each coordinate time with six, and r
Max, s
MaxAnd t
MaxEach all has value 63.
After the view data in each pyramidal layer is transformed into luminance/chrominance color space, can filter the low data that change at 120 places, so that non-cg data (" non-CG data ") similar computer graphics datas (" CG data ").The image that comprises the CG data as video-game, digital slide presentation files or the like and the image that comprises non-CG data, is compared as film, still photo or the like, trends towards the view data of higher frequency is had sharper keen color boundaries.Because these data types are at the different qualities at color boundaries place, different compression algorithms trends towards that the CG data are compared non-CG data and works better.It is also right and wrong CG data of CG data that some existing image data processing system is attempted specified data, then every type data is used different compressor reducers.Yet, CG data mistake is identified as non-CG data, or opposite, can cause the loss of compression efficiency in these systems.Therefore, filter low delta data 120 and can comprise that its variation of identification is lower than the adjacent image data value of the changes of threshold of selecting in advance, this may show the transition between the similar color, changes some image data value then and reduces this variation, thus the color boundaries of the similar CG data of establishment.Therefore the filtration of low delta data can allow suitably to compress non-CG data and CG data with same compressor reducer.The change that non-CG data are made is only made the consecutive value with the variation that is lower than perceptual threshold usually, though can make a change value alternatively with the variation that is higher than perceptual threshold.
Can use any suitable method to come to filter the view data in image data layer low delta data.An example of the method that is fit to is to utilize simple trap noise filter to eliminate low delta data.The trap noise filter can be realized as described below.If p
cThe expression current pixel, p
lThe pixel on the expression current pixel left side, and p
rThe pixel on expression current pixel the right.At first, calculate p
cAnd p
lBetween difference d
lAnd p
cAnd p
rBetween difference d
rNext, compare d
lAnd d
rIf d
lAnd d
rAbsolute value unequal, and d
lAnd d
rIn one lower absolute value be lower than in advance the perceptual threshold of selecting, then can be with p
cReset to and equal p
lOr p
rWith with d
lAnd d
rIn lower one change into 0.Perhaps, can be with p
lAnd p
rIn any change into and equal p
cRealize identical result.
If d
lAnd d
rAbsolute value equate, then with p
cChange into and equal p
lBe equivalent to p
cChange into and equal p
rIn the case, if d
lAnd d
rAbsolute value be lower than predetermined perceptual threshold, then can be with p
cChange into and equal p
lAnd p
rIn any.In addition, if d
lAnd d
rBoth absolute values all are higher than the perceptual threshold of selecting in advance, then do not change p
c, p
lOr p
rIn any.Should be understood that above-mentioned filter method is exemplary, and can use the low delta data of other filtrations that are fit to so that the method for the similar CG data of non-CG.For example, at d
lAnd d
rAbsolute value equate and when being lower than the perceptual threshold of selecting in advance, can using decision function to determine whether to change current pixel and mate the right or the left side, perhaps top or following neighbor.
Make the similar CG data of non-CG data that except that filtering low delta data method 100 also is included in 122 places the chromatic value of the view data in each pyramidal layer is carried out double sampling.Generally speaking, double sampling is a kind of compress technique of at least one color space component being sampled with the spatial frequency lower than at least one other color space component that relates to.Decompression apparatus recomputates the component of losing.The common subsampled data form that is used for luminance/chrominance color space comprises the 4:2:2 double sampling, wherein with half spatial frequency of luminance component chromatic component is sampled and with identical spatial frequency chromatic component is sampled in vertical direction in the horizontal direction; And the 4:2:0 double sampling, wherein all chromatic component is sampled with half spatial frequency of luminance component along vertical and horizontal direction.In these double sampling forms any, or any other double sampling form that is fit to all can be used for the chromatic component of the view data in each pyramidal layer is carried out double sampling.
At the low delta data of 120 places filtration and after 122 places carry out double sampling to chroma data, next method 100 uses one or more other compress techniques further to reduce institute's data quantity transmitted at 124 places.Usually, use the compression method that the CG data is provided good compression.In described embodiment, method 100 is used the delta modulation compression step at 126 places, and uses the LZO compression step at 128 places.LZO be one in real time, portable, harmless data compression library, it pays the utmost attention to speed rather than ratio of compression, and is specially adapted to the Real Time Compression of CG data.LZO also provides other advantage.For example, LZO decompresses needs minimum storer, and compression only needs the storer of 64 kilobyte.After having compressed each pyramidal layer of data, at 130 places with layer C
MnOutputing to output buffer is transferred to image with wait equipment 16 is provided.Next, method 100 is checked at 132 places, determines whether whole group 208 n pyramid image data layer of constricted zone 206 by the quantity n that compares counter k and level.If k is not equal to n, then k increases progressively 1 at 134 places, and begins the compression of next pyramidal layer at 118 places.In case all pyramid image data layer of constricted zone 206, method 100 with regard to verification k=n, continue at 136 places then by determining whether that counter j=m determines whether pyramid coding of all m zones 206.If j is not equal to m, then j increases progressively 1 at 138 places, and method 100 is circulated back to the pyramid coding that 114 places begin next zone 206.In this way, each zone 206 in the method 100 pyramid coded images 200 is with one group 208 of the correspondence that forms the pyramid image data layer, and compresses each pyramidal layer in each zone.
In case encoded by pyramid and compress in each zone 206, compressed and pyramid image encoded data just can be transferred to image equipment 16 is provided.When transmitting video data, the big I of the image data set of the selected frame of expression of pyramid coding and compression is greater than the maximum amount of data that can stride traffic channel during frame period.In the case, image source 18 can be configured to only transmit before the compression of next frame and transmission beginning and can be the as many data of data that a frame image data sends.
Determining to send what layers can carry out in any suitable manner.For example, whole group 208 of the pyramidal layer in a zone 206 can send before any layer in the next zone 206 of transmission.Perhaps, as shown in Figure 5, can at first send the ground floor 230 of the pyramid coded data in each zone 206, next second pyramid coding layer 232, the 3rd layer 234 then, by that analogy, up to the data that sent the maximum that during frame period, can send.At next the more detail layer C that begins to transmit any zone
Mn+1Transmit the selected image data layer C in all m zones 206 before
MnProvide such advantage: All Ranges 206 is all transferred to the small part data, even only part transmission place is also like this in view data.
Fig. 5 illustrates the transmission of whole set of image data.This can only take place when the former frame view data that is close to partly changes at a frame image data of selecting.In video display, for example, all images frame that constitutes single scene demonstration can comprise common element, as the background color in the video display, setting color, costume color or the like.Therefore, in single scene, the change between the frame is caused by the position switching of common element usually, and can be coded in the zone of relatively small amount.In the case, the region quantity of coding can be enough little, to allow the compressing image data that one group of complete pyramid of transmission is encoded during single frame period.
The order that Fig. 6 illustrates the whole group 208 of each regional pyramid coded data in the image 200 provides and shows.It is image by display device 12 projections that label 200 ' is used in reference to image in the diagrammatic sketch 6, rather than is presented at the image in the image source 18.Similarly, label 206 ' is used for the zone of indicating image 200 ' corresponding to the zone in the compressed and encoded image 200 206.
At first, shown in 250, first pyramidal layer of transmission, decompression and demonstration compressing image data, this layer is by symbol C
11-C
51Expression.Next, shown in 252, second pyramidal layer of transmission, decompression and demonstration compressing image data, this layer is by symbol C
12-C
52Expression, this is incorporated into more details in the zone 206 ' of shown image.The decompression and the demonstration of the 3rd pyramidal layer of packed data are incorporated into further details in the zone 206 ' shown in 254.Therefore, for the decompression and the demonstration of each pyramid level of view data, the grade of details all changes with 2 times on the level in each zone 206 ' and vertical both direction.For view data C
1n-C
5nThe decompression and the demonstration of detailed one deck, shown in 256, all details that original image 200 is not lost in the lossy compression method step all have been attached in the image 200 '.Should be understood that the change shown in Fig. 6 can can't help display device 12 actual displayed, but can make, and only when decoding/decompression of all of a frame image data having been transmitted data has been finished, show the data that are kept in the impact damper.
On the other hand, may need the zone 206 of larger amt to come change between some frame of the view data in the encoded video demonstration sometimes.For example, the frame when appearing at scene change, wherein background, clothes and other elements change fully, may have only considerably less common pixels.Therefore, the change of encoding in these frames may need basically entire frame to be divided into the zone 206 that is used to encode.When a frame image data of selecting has the zone 206 of larger amt, during single frame period, can not send all pyramidal layer of a frame image data.This is schematically illustrated in Fig. 7.In the case, image data transmission can stop after last complete image layer 236 that can be transmitted has been transmitted, maybe can be parked in the place, centre positions in next detail image data Layer 238, for example is parked in by the position shown in the line 240.
Fig. 8 illustrates the decompression of a frame image data, has wherein changed zone 206 " occupied entire image basically.The example of image pattern 6 is respectively in the decompression of the ground floor shown in 260,262 and 264, the second layer and the 3rd tomographic image data with show that the level of detail that will increase is incorporated in the image.Yet unlike the example of Fig. 6, the transmission of image data layer is parked in a certain intermediate point place, shown in 266, makes image lack some meticulous details, as the meticulous color transition of the boundary vicinity between color.Such loss of detail concerning the beholder, may discover less than.For example, the view data of only transmitting some layer takes place during the change in big zone and higher movement rate probably, and these are that human aware system is not easy to give careful note to details time of loss.In addition, subsequently the frame of transmission can enough apace details be added in the image with minimize or removal of images in perceptible error.
Can in decompression process, realize helping to improve the various features of decompression performance, thereby improvement display device 12 and image provide the performance of equipment 16 when display video image.For example, in order to assist the decompression of subsampled image data, image provides equipment 16 to comprise to be used for storing image data decompression buffer during decompressing, this decompression buffer less than with the cache memory of the relational processor of carrying out decompression calculations.
The existing decompression systems of subsampled image data of being used for decompressing will be put in order group usually before the chromatic value that calculating is lost compressing image data reads in decompression buffer.Usually, compressing image data is copied to when being read into impact damper in the cache memory, and this value that allows to be stored in the high-speed cache can be visited more quickly to be used for decompression calculations.Yet, because the size of compressed image file may be greater than cache memory, so when copying to compressing image data in the impact damper, some view data in the cache memory may be covered by other view data.The view data that covers in the cache memory may cause when cache misses just takes place when the processor of decompressed image data is searched the data that are capped in cache memory.Too much the appearance of cache misses can be slowed down image decompressor so that harmful stage.
Use helps avoid the generation of cache misses less than the decompression buffer of cache memory.Because the storer that cache memory is normally relatively little, therefore such decompression buffer may be also little than most image files.In other words, when pictorial data representation comprised the image of A * B pel array, decompression buffer can be configured to preserve the array of image data of A * C, and wherein C is less than B.Such impact damper can be used for by one group of subsampled image data is read in impact damper and cache memory this group subsampled image data that decompresses as a series of less subclass of view data.Can be before a new subclass of compressing image data be read in decompression buffer decompress(ion) each subclass of in device output image data of postponing that contracts.Because decompression buffer is less than cache memory, be used to decompression calculations simultaneously so unlikely take place any view data in the cache memory to be capped.
Decompression buffer can have any suitable size.Generally speaking, decompression buffer is more little with respect to cache memory, and the possibility that a large amount of cache misses take place is low more.In addition, the type of the type of the subsampled image data that decompress in decompression buffer and being used for calculating that compressing image data is decompressed can influence the size of decompression buffer.For example, the chromatic component of losing in the 4:2:0 view data can depend on subsampled chrominance value be coordination also be non-coordination and differently calculate.The chromatic value of coordination is positioned on image and the identical physical location of selecting of brightness value, but not the chromatic value of coordination is clipped between several relevant brightness values.The chromatic value of losing of 4:2:0 coordination view data can be calculated by subsampled chrominance value on row identical with the value of losing or adjacent row, and this depends on the physical location of the chromatic value of losing that is calculated.Therefore, the view data that decompression buffer with 4:2:0 coordination view data of the data that do not comprise chromatic value of embarking on journey can be configured to preserve more than delegation that is used to decompress allows to calculate the chromatic value of losing by vertical adjacent chromatic value.
Can use any suitable method to determine that can send what image data layer from image source 18 during single frame period provides equipment 16 to image.For example, a kind of simple method can be when the frame image data on the detected activity image transmitted source 18 changes, and uses detected change to begin new compression and transmission course as trigger.In this way, the image data transmission of pyramid coding and compression can continue, and detects change in the image that shows on the image source of selecting, and should not stop if the data transmission of at this moment previous picture frame is finished as yet.
Another example of determining to send the appropriate method of what image data layer during single frame period comprises the bandwidth of definite communication channel, can stride communication channel by the frame frequency calculating of detected bandwidth and known view data during single frame period then and send how many view data.Bandwidth can be before compressing image data transmission or during disposablely determine, or can periodically detect and upgrade.
Being suitable for only transmitting equivalent always illustrates at 300 places in Fig. 9 in an example embodiment of the method for compressing image data of the pyramid coding that can transmit during single frame period.Method 300 at first is included in the available bandwidth that 302 places determine the image data transmission of pyramid coding and compression to be provided to image the communication channel of equipment 16 thereon.The known frame frequency of the view data by the bandwidth measured and pyramid coding and compression is determined the maximum amount of data that sends by communication channel between can the sampling at each frame image data at 304 places.
In case determined the maximum amount of data that can send during a frame period, method 300 just begins data transmission.At first, method 300 is included in 306 count initialized device k of place and tracking variable " total (total) ".Counter k is used to follow the tracks of the quantity of the complete layer that has sent.Next, method 300 enters the circulation corresponding to counter k, wherein count initialized device j at 308 places.Counter j is used to follow the tracks of the transmission progress of individual data layer.
Next, method 300 beginning image data transmission.At transmission data Layer C
JkBefore, will descend one deck C at 312 places
JkSize be added on the value of variable " total " the relatively value of " total " and the maximum amount of data that can during single frame period, transmit at 314 places then.If the value of " total " is at next data Layer C that adds up
JkSize after greater than the maximum amount of data that can during single frame period, transmit, then do not transmit next data Layer C
Jk, and finish data transmission.
On the other hand, if the value of " total " less than the maximum amount of data that can transmit, is then transmitted next data Layer C at 316 places during single frame period
JkNext, method 300 determines at 318 places whether counting variable j equals m, is then to show all m zone 206 sent the image data layer of selecting.If j is not equal to m, then method 300 adds 1 and be circulated back to 312 places at 320 places to counting variable j.This continuation that circulates is up to all data Layer C that reach fixed value k having been transmitted in all m zones 206
Jk
In case all data Layer C that reach fixed value k have been transmitted in all m zone
Jk, method 300 just determines whether to exist any image data layer that is not transmitted as yet at 322 places by comparing counting variable k and number of plies n.If k is less than n, then k increases progressively 1 at 324 places, and method 300 is circulated back to 308 and sentences the view data that begins to transmit from next more detail layer.
The software of implementation method 100 and 300 various compressions and transmission operation can be used as single thread, individual process operation, or can be used as a plurality of threads or a plurality of process, or their any combination is operated.Multithreading or multi-process method can allow more effectively to utilize than single-threaded or one process method the resource of system 10, as transmission bandwidth.Various operations can be realized by the different threads or the process of any suitable quantity.For example, in one embodiment, use three independently thread operations of coming manner of execution 100 and 300.These threads can be called receiver, processor and transmitter.Receiver thread can obtain the data bitmap that the image from image source 18 screens generates.Processor thread can be carried out comparison, pyramid coding, and other compression steps of method 100.Sender thread can manner of execution 300 bandwidth monitor and transmitting step.Should be understood that this is a kind of exemplary software architecture, and the software architecture that can use any other to be fit to.
In addition, though the present invention includes specific embodiment, specific embodiment should not be regarded as having limited significance, because may there be a large amount of variants.Theme of the present invention comprises various element disclosed herein, feature, function, and/or all novel and non-obvious combination and sub-portfolios of attribute.Following claim particularly points out and is considered as novel and non-obvious particular combinations and sub-portfolio.These claims may be quoted " one " element or " first " element or its equivalence.Such claim should be understood to include the combination to one or more such elements, rather than requires or get rid of two or more such elements.Other combinations of each feature, function, element and/or attribute and sub-portfolio can be by the modifications of claim of the present invention or by providing new claim to ask for protection in the application or related application.No matter such claim is to require wideer, narrower, equivalence or different than original rights on scope, all should be regarded as being included within the theme of the present invention.