CN101014980A - Multi-mode image processing - Google Patents

Multi-mode image processing Download PDF

Info

Publication number
CN101014980A
CN101014980A CN 200580030215 CN200580030215A CN101014980A CN 101014980 A CN101014980 A CN 101014980A CN 200580030215 CN200580030215 CN 200580030215 CN 200580030215 A CN200580030215 A CN 200580030215A CN 101014980 A CN101014980 A CN 101014980A
Authority
CN
China
Prior art keywords
code word
auxiliary
default
image block
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200580030215
Other languages
Chinese (zh)
Other versions
CN100573587C (en
Inventor
J·斯特罗姆
T·阿克宁-莫勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101014980A publication Critical patent/CN101014980A/en
Application granted granted Critical
Publication of CN100573587C publication Critical patent/CN100573587C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

The invention is applied to image processing schemes by providing at least one auxiliary block processing mode in addition to the standard default block processing mode of the scheme. An image to be decoded is divided into a number of image blocks (800) having multiple image elements (810). These blocks (800) are individually compressed by means of a default compressing mode or an auxiliary compressing mode, depending on which mode that results in a smallest error metric. A portion (980) of the resulting compressed block (900) is used to discriminate between the two modes. In the auxiliary mode, the remaining payload portion (990) of the compressed block (900) can be used for encoding purposes, whereas the default mode can in addition utilize the discriminating portion (980).

Description

Multi-modality image is handled
Technical field
The present invention relates generally to the Flame Image Process scheme, in particular for this Flame Image Process scheme being provided the method and system of additional auxiliary block compression and decompression chance.
Background technology
On data handling system and user terminal, particularly the presenting and reappear (rendering) of image on portable terminal and figure, increased sharply in recent years such as computing machine.For example, three-dimensional (3D) figure and image have a large amount of attracting application on this terminal, comprise recreation, 3D map and message, screen protection and man-machine interface.
The 3D figure reappears to handle and typically comprises three subs.Briefly, the phase one, the application stage, create a plurality of triangles.In subordinate phase, geometry is in the stage, and these leg-of-mutton angles are deformed, projection and brightening.In the phase III, in the rasterization stage, the image that is typically expressed as texture (texture) can increase the authenticity of institute's reproduced image by " bonding " on triangle.This phase III typically also uses the z impact damper to carry out classification.
But image and texture, and the particularly reproduction of 3D rendering and figure are being to calculate expensive task aspect needed bandwidth of memory of graphics system and the processing power.For example, texture is all very expensive both ways, and both aspect storer, texture must be placed on or cache in the quick on-chip memory, and aspect bandwidth of memory, texture can be by access repeatedly with the single pixel of drawing again.
In order to reduce the demand of bandwidth and processing power, typically use (texture) coding method of a kind of image or system.This coded system should more effectively be used expensive on-chip memory and realize lower bandwidth of memory at return period, and therefore produces lower power consumption and/or reproduction faster.
Delp and Mitchell have developed a kind of simple proposal, are called as the block truncation coding (BTC) [1] that is used for compression of images.Even their application is not a texture compression itself, a plurality of other schemes described in these chapters and sections are also based on their thought.Their scheme considers that by each the piece of 4 * 4 pixels compresses gray scale (gray scale) image.Piece hereto stored the gray-scale value of two 8 bits, and each pixel in the piece uses subsequently individual bit to index in these gray scales.Every like this pixel has obtained 2 bits (bpp).
The simple expansion of BTC is called as color cell compression (CCC:color ce11compression) [2], by propositions such as Campbell.Do not use 8 bit grayscale value, but adopt the index of 8 bit values as palette.This allows the compression of color and vein to be in 2bpp.But, in palette, need memory look-up, and palette is restricted in size.
The S3TC[3 of Iourcha etc.] the texture compression method is likely most popular scheme.It is at DirectX[4] in use, and expansion at it is arranged also in OpenGL.Their work can be regarded as further expanding of CCC.The block size of S3TC is 4 * 4 pixels, is compressed into 64 bits.Stored two primary colours in each 16 bit, and the local color (local color) that indexes of each pixel storage dibit concentrates, it is made up of two primary colours and two addition colors between these primary colours.This means that colors all in rgb space all drops on the line.The compressibility of S3TC is 4bpp.The shortcoming of S3TC is only to use 4 colors in each piece.
Akenine-M  ller and Str  m have proposed a kind of variant of S 3TC scheme, are about to 3 * 2 and are compressed into 32 bits [5].This scheme is called as POOMA, and target is also at cell phone.Main difference is that each primary colours uses bit still less, and only with a kind of intervenient color.Simultaneously, the width of noting this piece is three, and it is that hardware embodiment is difficult to use.
The scheme of a fundamental difference is by Fenney[6] make.Two low-resolution images of being derived from original texture are stored, and during decompressing, (this locality) bilinearity amplification of those textures is created, and in order to create the final color of texel (texel), has finished linear hybrid (linear blend) between these two images.Two patterns that provide 4bpp and 2bpp have respectively been described.In the 4bpp version, two primary colours are stored with modulating data in each 4 * 4.In order to accomplish that bilinearity amplifies, need adjacent 2 * 2.In case they are arranged in texture cache, it will be very fast decompressing so.
Texture processing (compression and decompression) scheme in prior art comprises in the above-mentioned scheme, and bit (piece that is used for encoded pixels or pictorial element) is as far as possible reasonably used in expectation always.Such reason is that higher picture quality is the result of the better use of information.Because all texture processing schemes (in this article) all are lossy, it is extremely important therefore providing quality as well as possible.
Summary of the invention
The processing scheme of prior art is not used for the bit of the compression expression of image block and image fully.As a result, often exist some not represent the bit combination of any significant image block.In addition, in compressed picture blocks is represented, may there be unwanted redundancy, means that same image block can be expressed as multiple different compression expression and bit combination.
The present invention has overcome these and other shortcoming in the prior art scheme.
General objects of the present invention is to provide a kind of Flame Image Process scheme with default image tupe and at least one assistant images tupe.
Another object of the present invention is to provide a kind of improvement of passing through the Flame Image Process scheme of introducing auxiliary process pattern to use, this auxiliary process pattern is used the no bit combination of this Flame Image Process scheme.
Another purpose of the present invention is to replenish existing default image tupe with the assistant images tupe, and this assistant images tupe is suitable for the bad image block of default treatment mode treatment.
Defined in additional claims, the invention solves these and other objects.
Briefly, with at least one the additional or auxiliary process pattern of the present invention includes is come the default treatment pattern of supplemental image processing scheme.Therefore, the present invention discerns a certain bit combination that compressed picture blocks is represented, it is not used according to the default treatment pattern, or insignificant for the default treatment pattern.These bit combinations of discerning are used by at least one auxiliary process pattern subsequently, and it provides compares different image (piece) with the default treatment pattern and handle.Described at least one auxiliary process pattern thereby replenish the default treatment pattern by managing the bad image block of those default treatment mode treatment.As a result, will be enhanced by the picture quality of using all this Flame Image Process of bit combination schemes, and not need to increase bit rate.
According to the present invention, the image that be encoded typically is broken down into a plurality of image blocks, comprises a plurality of pictorial elements (pixel or texel, texel), and for example 2 m* 2 nOr 2 m* 2 n* 2 pIndividual pictorial element, wherein m, n, p are zero or positive integer independently.In one embodiment, image block is encoded according to acquiescence compact model and auxiliary compact model subsequently.Therefore, for each image block, produce at least two compression expressions of described, one according to default mode, and one according to auxiliary mode.Two different compression blocks are represented to estimate that error separately estimates (error metric), and wherein this error is estimated and has been indicated and represent according to the picture quality that acquiescence or auxiliary compact model compressed picture blocks interrelate.Selection has the compression blocks that minimum correlated error is estimated, and is used as the compression expression of this image block.
In an alternative, at first investigate the characteristic of the pictorial element of image block, whether be suitable for most present piece to determine acquiescence or auxiliary compact model.In the present embodiment, only need to use acquiescence or auxiliary mode to produce the single compression expression of this piece.In addition, do not need estimation error to estimate.
The acquiescence compact model produces the compression blocks comprise the default payload part, and this payload portions is in fact to be used to encode and to represent the compression blocks sequence part of this piece.In great majority were used, this default payload partly equaled whole compression blocks sequence, but selectively can be its subsequence.Opposite with default mode, auxiliary compact model produces the compression blocks that comprises auxiliary payload portions and select part.As a result, in auxiliary mode, be used to encode and represent that the payload portions of this piece will be less than the default payload part of default mode.But, even bit in auxiliary mode seldom can be used to actual block coding purpose, this auxiliary mode also will than default mode better (from the viewpoint of picture quality) compression determine image block type.Note, but most of image block of image typically encode by the standard default mode of this Flame Image Process scheme, have only default mode to handle those bad (seldom) pieces and will be encoded according to auxiliary mode.
Selecting part is the part that is used for distinguishing these two patterns in compression blocks.In default mode, whole selection part can be used to this piece of encoding practically, and therefore is the part of default payload part.But in auxiliary mode, at least a portion of this selection part has special differentiation purpose, and can not be used to block encoding.This means in some applications, select part only to have the differentiation function, and auxiliary payload portions to be restricted to be at most the remainder that compression blocks is represented.In other was used, the subdivision of this selection part can be used to the purpose of encoding practically, promptly had simultaneously and distinguished and encoding function.In this case, the remaining subdivision of this selection part only has the differentiation function.
In either case, the subclass of the bit combination of this selection part represents that this piece has compressed according to auxiliary compact model, and remaining bit combination represents that then this piece compresses according to default mode.
In a preferred embodiment of the invention, when handling according to default mode, this selection portion divides expression first and second code word, or (son) sequence of this first and second code word.These codeword table are shown in the identical characteristics of the pictorial element in this piece.For example, these two code words can be two color code words or two color component code words.In the former situation, when these two code words equated, this selection portion was divided the expression auxiliary mode, otherwise employing is default mode.Under situation with two color component code words, when these two component code words be positioned within the characteristic of permission with value the time, use be default mode, otherwise (be in the outside or surpass the characteristic interval) what use is auxiliary mode.
When handling or decompressing a compressed picture blocks, can investigate the selection part of this compression blocks, whether should be used to determine acquiescence or auxiliary process pattern.Subsequently according to selected pattern this compression blocks that decompresses.Selectively, this compression blocks at first decompresses according to default treatment pattern and auxiliary process pattern.Which with " Invest, Then Investigate " selection portion branch, will be used with in these two expressions that decompress determining image block.
Under the situation of selection based at least two (color) components of pattern, a plurality of auxiliary modes can be used.For example, if the compression expression by the default mode coding comprises two red, green, blues (RGB) color code word, according to one, whether being positioned at outside the characteristic interval of two or three color components (red, green, blue), can use different auxiliary modes so with value.
The present invention can realize with different Flame Image Process schemes, BTC[1 for example], CCC[2], S3TC[3] and POOMA[5], wherein all each image block has been utilized two gray scales or color code word (C0 and C1), and the pictorial element of this piece with interrelate to the color index of these two colors or to color index from some other color of these two colors derivation.Representing based on the decompression of the image block of the compression expression of C0=C1=X wherein will be consistent with the compression expression of C1 ≠ C0=X wherein, and all index all point to color code word C0.
Therefore, the identical color showing of storage can not provide the random color that can not otherwise encode in color C0 and color C1.Thereby which color index to be used to each pictorial element all unimportant because each pictorial element is only to be color C0 (it is identical with C1).Subsequently you alternatively C1 be set to be different from some other color of C0, and allow each color index all point to C0.So the compressed picture blocks that obtains can be carried out normal process (decompression) subsequently, promptly utilizes the default treatment pattern.
Each this image block this means that wherein the bit combination of C0=C1 is useless, because can alternatively be encoded by the mode of " acquiescence ".This utilizes wherein the compressed picture blocks of C0=C1 to represent to carry out the auxiliary process pattern with regard to having an opportunity.Therefore, for these processing schemes, if two color code word differences will adopt each common default treatment pattern so, and the compressed picture blocks with same color code word will be handled according to the auxiliary process pattern.Select part can comprise two (color or gray scale) code words.
The present invention also can be applied to being expressed as the Flame Image Process scheme of iPackman, and it is the expansion of Packman scheme [8-10].IPackman utilizes the color code word color code word different with.Image block is divided into two sub-pieces, and wherein the first sub-piece has the primary colours that produce based on this color code word, and the primary colours of the second sub-piece producing with value of being based on this code word and these different code words.But (RGB) color component separately only perhaps be positioned at interval [T with value 1, T 2] within, for example within [0,31].Therefore, for those wherein at least one color component surpassed that interval (less than T with value 1Or greater than T 2) bit combination, auxiliary mode can be used, otherwise default mode will be used.
The invention provides following advantage:
-by being provided, a chance comes to replenish processing scheme with the additional image coding and decoding pattern of the acquiescence Code And Decode pattern of supplementary copy processing scheme, improved the conventional images processing scheme;
-handle bad image block by providing auxiliary mode to manage default mode, increased the quality of processed image;
-be provided for the better utilization of the bit combination of presentation video piece; And
-only utilize the obsolete bit combination of default mode, its permission to improve Flame Image Process and need not sacrifice the operation of default mode.
Other advantage provided by the present invention will be realized by the following description of reading the embodiment of the invention.
Description of drawings
The present invention can be understood with the following description of accompanying drawing by reference best with its further purpose and advantage, wherein:
Fig. 1 is the process flow diagram that the embodiment of the compression expression of handling image block according to the present invention is shown;
Fig. 2 is the process flow diagram that another embodiment of the compression expression of handling image block according to the present invention is shown;
Fig. 3 schematically shows the applicable different images piece embodiment according to the present invention;
Fig. 4 A schematically shows the compression expression of the applicable image block according to the present invention to 4C;
Fig. 5 is the process flow diagram that the embodiment of the selection step among Fig. 1 is shown in further detail;
Fig. 6 is the process flow diagram that the embodiment of the selection step among Fig. 3 is shown in further detail;
Fig. 7 is the process flow diagram that the embodiment of the step that produces acquiescence decompression piece in Fig. 1 and 3 is shown in further detail;
Fig. 8 is the process flow diagram that the embodiment of the step that produces auxiliary decompression piece in Fig. 1 and 3 is shown in further detail;
Fig. 9 A is the schematic representation that is used to handle the embodiment of the system that compressed picture blocks represents;
Fig. 9 B is the schematic representation that is used to handle another embodiment of the system that compressed picture blocks represents;
Fig. 9 C is the schematic representation that is used to handle the another embodiment of the system that compressed picture blocks represents;
Figure 10 A and 10B are the calcspar of Fig. 9 A to the possible embodiment of the overflow detection device of 9C;
How Figure 11 A illustrates according to the present invention in different operator schemes to 11E and bit is placed on the different embodiment of compressed picture blocks in representing;
Figure 12 is the process flow diagram that the embodiment of compressed picture blocks according to the present invention is shown;
Figure 13 is the process flow diagram that the embodiment of the step that produces the acquiescence compression expression among Figure 12 is shown in further detail;
Figure 14 is the process flow diagram that the embodiment of the step that produces auxiliary compression expression among Figure 12 is shown in further detail;
The schematically illustrated example that has according to the user terminal of image encoder of the present invention and demoder of Figure 15;
Figure 16 is the calcspar of schematically illustrated embodiment according to image encoder of the present invention;
Figure 17 is the calcspar of embodiment of the acquiescence compressor reducer of schematically illustrated Figure 16 in further detail;
Figure 18 is the calcspar of the embodiment of the auxiliary compressor reducer of schematically illustrated Figure 16 in further detail;
Figure 19 is the calcspar of schematically illustrated embodiment according to image decoder of the present invention;
Figure 20 is the calcspar of embodiment that schematically shows the acquiescence decompressor of Figure 19 in further detail;
Figure 21 is the calcspar of embodiment that schematically shows the auxiliary decompressor of Figure 19 in further detail;
Figure 22 is the block hardware diagram of schematically illustrated embodiment according to acquiescence decompressor of the present invention; And
Figure 23 is the block hardware diagram of schematically illustrated embodiment according to auxiliary decompressor of the present invention.
Embodiment
Run through accompanying drawing, identical reference marker will be used to correspondence or same section.
The present invention relates to image and graphics process, and relate more particularly to coding or compressed image, and the decoding or (the compressing) image of encoding that decompresses, and can be considered to replenishing of conventional images and texture processing scheme.
Usually, according to an aspect of the present invention, during picture coding, image typically is decomposed or is divided into a plurality of image blocks 800, and it is illustrated in Fig. 3.Each 800 of this image block comprises a plurality of pictorial elements 810 with pictorial element correlation properties.Image block 800 is encoded subsequently to produce the coded representation of this image.Different Flame Image Process schemes is adapted to different image block sizes, and some utilization has 2 n* 2 nOr 2 n* 2 n* 2 nThe secondary piece 800 of pictorial element 810, wherein n is a positive integer, and other utilizations for example have 2 m* 2 nOr 2 m* 2 n* 2 pOther block sizes of pictorial element, wherein m, n, p are zero or positive integer independently.Even most of processing schemes are used the tile height and the width of two multiple, also have such as POOMA[5] other scheme exist.
When coded image or graphic primitive (primitive) will be reproduced subsequently, when for example being displayed on the screen, the associated picture element of coded picture block was identified and decodes.These decoded picture elements are used to produce the decoding of original image or graphic primitive subsequently and represent.
In the present invention, statement " pictorial element " is an element in the coded representation of image block or image block.This image block is successively corresponding to the part of image or texture.Therefore, according to the present invention, pictorial element can be texel (texel) (texel (texture element)) of (1D, 2D or 3D) texture or the pixel of (1D, 2D or 3D) image.Usually, pictorial element is characterised in that some pictorial element characteristic, for example color value, transparency or alpha value, normal etc.In addition, hereinafter, term " image " is used to indicate any 1D, 2D or the 3D rendering or the texture that can carry out Code And Decode by means of the present invention, including, but not limited to photo, type of play texture, text, picture or the like.
In the present invention, statement " default treatment (compressing or decompression) pattern " expression is handled (compression or decompression) scheme, for example BTC[1 by specific image], CCC[2], S3TC[3], POOMA[5] specified normal process (compression or decompression) program or algorithm.Therefore, these default modes are to can be used for compressed image or image block and decompress the image that compressed or the known prior art of image block.Therefore, the acquiescence compact model produces (acquiescence) compression expression of image block.The default payload part of this compressed picture blocks then comprises useful (bit) sequence that in fact is used to indicate this image block.In many acquiescence compact models, this default payload part is represented to constitute by whole compressed picture blocks.But in some default mode, a part of compression blocks can be used to other purpose, and for example indicating image block size (under the situation of variable-block size) is indicated default mode (when under situation about selecting between at least two acquiescence compact models) or the like.Even this part of compression blocks is correlated with during decompressing, any useful information of the pictorial element of its this piece of in fact not representing to be used to decode.
For each this Flame Image Process scheme, except default treatment (compression or decompression) pattern, the present invention proposes and utilizes at least one " auxiliary process (compression or decompression) pattern ".This auxiliary process can be used to manage those bad image block type of default mode processing of described correspondence.For example, the assumed by default compact model produces two color code words to this image block.If the colourity of the pictorial element in this piece more or less equates, but pictorial element has different brightness, so in this piece, not effective especially for the expression of this color value of pictorial element.
Some compressed picture blocks that the further identification of the present invention can be used in this auxiliary block is handled is represented (bit combination), and remaining expression is then according to default treatment pattern normal process.Represent that in order to detect these special blocks the selection part that compression blocks is represented will be used to distinguish acquiescence and auxiliary mode.The auxiliary process pattern can be handled the auxiliary payload portions that compression blocks is represented, represents with the decompression that produces image block.What further note is that this auxiliary payload portions is less than the corresponding default payload part that is utilized according to default mode, because whole differentiation part or sequence can not be used to the block encoding purpose in auxiliary mode.But even default mode can utilize more bits to come compressed picture blocks and the compression blocks that decompresses, auxiliary mode also can be more effective, and some image block is produced higher picture quality.
In one embodiment, select part only to have the differentiation function, and can not in auxiliary mode, be used to encoding block.In an alternative, select the subdivision of part to be used to distinguish function and encoding function simultaneously, and select the residue subdivision of part only to have the differentiation function.In this embodiment, the part of auxiliary compression blocks in fact will belong to select part and auxiliary payload portions the two.But in these two embodiment, auxiliary payload portions is less than the default payload part of correspondence.
As what above noted, most of Flame Image Process schemes can not make full use of the compression expression of image block and image.Therefore, for given Flame Image Process scheme, in condensing routine, can there be bit combination or the sequence (compressed picture blocks is represented) of not representing any significant image block and/or can have unnecessary redundancy.This redundancy or insignificant bit combination can be used with auxiliary mode, and remaining bit combination is handled according to default mode.
Decompress
Fig. 1 illustrates according to the present invention to handle or decompress (decoding) comprises the process flow diagram of embodiment of compression expression of the image block of a plurality of pictorial elements.This method starts from step S1, and wherein compression blocks is investigated to determine that this piece should still be that auxiliary mode is decompressed according to normal default mode, that is, this piece is adapted to handle according to default mode or auxiliary mode.This of step S1 determined or selected selection part based on this compression blocks.Therefore, the whole bit sequence of compression blocks subsequence is used in this mode detection.As to be described in detail below, when handling this piece according to default mode, this selects part can be one or more code word of presentation video element correlation properties, or the part of described one or more code word.
In step S1, if the default treatment pattern is selected, this method proceeds to step S2 so, and wherein compressed picture blocks is handled according to the default treatment pattern, represents with the decompression of at least a portion of producing image block.Therefore, in this step S2, one of this piece, some or all pictorial elements can should be encoded according to which part of image and reappear and decompress.
The default treatment pattern can be utilized the default payload part of compression blocks potentially when producing the decompressing image piece.This default payload can equal the whole bit sequence of compression blocks, or its sub-fraction (promptly not comprising the bit subsequence that is used for other purpose).
Alternatively, if in step S1, partly selected the auxiliary process pattern based on the selection of compression blocks, this method proceeds to step S3 so, wherein compressed picture blocks is handled according to the auxiliary process pattern, represents with the decompression of at least a portion of producing image block.The auxiliary process pattern can only be utilized the auxiliary payload portions of compression blocks potentially when producing the decompressing image piece.This auxiliary payload portions be used the auxiliary process pattern further less than the default payload part because the part that this compression blocks can use has to be used to indicate now in the default treatment pattern.
Even the selection of step S1 or detection have been shown in the individual processing step before decompression step S2 and the S3, this of tupe selected also can alternatively carry out during actual block decompresses.For example, can start from same or analogous treatment step according to the acquiescence and the processing of auxiliary mode, and the difference between these two patterns appears at first in the back to back next treatment step.In this case, compressed picture blocks can at first be handled according to same or similar treatment step, and assigns to carry out the selection of the tupe that is used to remain treatment step subsequently based on selection portion.As a result, select step at this, compression blocks is represented partly to be handled, but the piece processing subsequent that continues is carried out according to actual selection according to auxiliary mode or default mode.
This means that according to present embodiment the selection that is used for the tupe of compression blocks can be handled compression blocks or execution during piece is handled.
Step S1 to S3 subsequently preferably to comprising that all images piece pictorial element, should be decoded carries out repetition (schematically being illustrated by line L1).This means that step S1 can be performed once to the circulation of S3, but often be several times, and/or be several times the specific coding image block to different coded picture block.(in a large number) most of image block of attention image or texture is typically handled according to default mode in step S2, and the default mode in step S3 will only be used to remaining (on a small quantity) image block.
In selectable step S4, the decoding of original image is represented or its part is based on that decoded picture element and piece produce.Notice that in some applications some image primitives of must decoding usually reappear the single pixel of this decoding expression.For example, in Tri linear interpolation (trilinear interpolation), eight pictorial elements are decoded, and for bilinear interpolation, corresponding number is four pictorial elements, and this is well known to a person skilled in the art.This method finishes subsequently.
Can use if exist to surpass an auxiliary process pattern, select step S1 preferably to select in default mode or those auxiliary modes one so based on the subsequence of compressed picture blocks.
Fig. 2 shows according to the present invention the process flow diagram of another embodiment of the method for the compression expression of handling the image block that comprises a plurality of pictorial elements.This method starts from step S10, wherein partly produces the acquiescence decompression expression of at least a portion of this compressed picture blocks by the default payload according to default treatment mode treatment compression blocks.Therefore, this step S10 corresponds essentially to the step S2 among Fig. 1.In step S11, produce the auxiliary expression that decompresses of correspondence of at least a portion of this piece by assigning to according to the assisted parts of auxiliary process mode treatment compression blocks.This step S11 is similar to the step S3 among Fig. 1, and as among Fig. 1, auxiliary payload portions is less than the default payload part.These two step S10 and S11 can be performed continuously or concurrently.In following step S12, the decompression of selecting current block to use between acquiescence decompression piece and auxiliary decompression piece is represented.This selection of step S12 and the selection of the step S1 among Fig. 1 are based on the same selection part of compression blocks.
Therefore, in the described Processing Example in conjunction with Fig. 1, each compressed picture blocks is at first investigated, and is forwarded in default tile decompressor or the auxiliary block decompressor.In the Processing Example of Fig. 2, each compressed picture blocks is forwarded to default tile decompressor and auxiliary block decompressor in the two, and carries out selection after representing producing two different decompression pieces subsequently.
Step S10 to S12 subsequently preferably to comprising that all images piece pictorial element, should be decoded carries out repetition (schematically being illustrated by line L2).This means that step S10 can be performed once to the circulation of S12, but normally carry out several times, and/or the specific coding image block is carried out several times for different coded picture block.
Optional step S13 is corresponding to the step S4 among Fig. 1, and is not described further here.
Can use if exist above an auxiliary mode, produce auxiliary decompression piece at each this auxiliary mode so subsequently and represent, and select among all these auxiliary decompression pieces and acquiescence decompression piece based on the subsequence of compressed picture blocks subsequently.
By employed associated picture processing scheme indicate in the step S2 of Fig. 1 and the step S10 of Fig. 2 in the special default treatment pattern used.Equally, in the step S3 of Fig. 1 with the step S11 of Fig. 2 in the special auxiliary process pattern used depend on relevant present image processing scheme, and particularly depend on the shortcoming of this processing scheme.As what point out in front and will here further describe, the present invention is not limited to the particular image processing scheme, and therefore is not limited to the use of special acquiescence and auxiliary mode.Further example has just provided some processing schemes below acquiescence and the auxiliary mode, so that principle of the present invention to be shown in further detail.
Fig. 4 A is schematically showing according to the compression expression 900 of the image block of the embodiment of the invention.This compression blocks 900 comprises the selection part 980 that is used to select between tupe, and remaining data sequence 990.According to the default treatment pattern, the useful bit information of whole compression blocks sequence 900 codings, it is used when producing the acquiescence compression blocks.Therefore, in this pattern, bit sequence 980 can be represented for example one or more code word, or the part of described one or more code word.Therefore, in this default mode, whole selection part 980 has simultaneously to be distinguished and encoding function.But, because remaining selection part or its subsequence 980 must be used to distinguish different available tupes and therefore be used as the model selection sequence in this pattern, the auxiliary process pattern can only be utilized the subsequence 990 of this compression blocks 900 at most.
Note to select the particular location of sequence 980 and data sequence 990 shown in can being different from the accompanying drawings like that.In addition, select sequence 980 or its several portions in data sequence 990, to mix.Further note selecting the subsequence of sequence 980 can in auxiliary mode, have differentiation and encoding function simultaneously.In this case, auxiliary payload portions comprises this subsequence of data sequence 990 and selection sequence 980.
The present invention can advantageously be applied to processing scheme, and wherein compression blocks represents to comprise two code words of the pictorial element associate feature of representing same type.The example of this processing scheme comprises BTC[1], CCC[2], S3TC[3], POOMA[5] and Packman-CCC[7] processing scheme of indicated CCC pattern, these processing schemes are all used two gray scales or color code word (C0 and C1) for each image block, and the pictorial element of this piece with index this two colors, the color index that perhaps indexes some other color that is obtained from these two colors interrelates.Represent it is consistent based on the image block of the compression expression of C0=C1=X wherein with the decompression of the image block of the compression expression of C1 ≠ C0=X wherein, and all index all point to color code word C0.
Therefore, simultaneously color C0 and color C1 in the two identical color showing of storage the random color that can not otherwise encode can not be provided.Because which color index each pictorial element to be color C0 (it is identical with C1), uses unimportant for each image yuyuanyuan ' s yuan ' su element only.Suppose for example C0=(10,0,5), and we want all images element in piece to have that color.Alternatively C1 is set to be different from some other color of C0 subsequently, and allows each color index all point to C0.So the compressed picture blocks that obtains can promptly be utilized the default treatment pattern just like handling (decompression) usually subsequently.
This means that wherein the bit combination of C0=C1 is useless, because we alternatively can be with " acquiescence " mode each this image block of encoding.This provides a chance, utilizes wherein the compressed picture blocks of C0=C1 to represent to carry out the auxiliary process pattern.Therefore, for these processing schemes, if two color code word differences, common default treatment pattern so separately will be used, otherwise the compressed picture blocks with same color code word is then handled according to the auxiliary process pattern.
Each all uses 16 bits to suppose to be encoded into 64 bits (for example, S3TC[3]) and C0 and C1 by an image block.Therefore our inventive point is, if C0=C1, we have in fact detected a pattern that is not used (because as implied above, it can otherwise be encoded) so.In the example here, that means that we have stayed the 64-16-16=32 bit, with before can not be with the encode color of this image block of the effective and efficient manner more that standard or default treatment pattern obtain with another.With reference to figure 4A, in this case, these two color code words will be formed the selection part 980 of this compressed picture blocks, be used for the selection of tupe, and remaining 32 bits will be used for representing this image block (default mode typically can use whole 64 bits) according to auxiliary mode as data sequence 990.
But (in this example) exists 2 16Plant different modes, wherein C0=C1.This means 16 bits that we can obtain adding, additionally be used to this image block of encoding.Therefore, in this example, when C0=C1, we use auxiliary mode, and in fact it can use the encode pictorial element of this piece of maximum 48 bits.This means that we will have two patterns, wherein the default treatment pattern (2 of C0 ≠ C1 64-2 48Kind of bit combination) and wherein the auxiliary process pattern (2 of C0=C1 48Plant bit combination).In this illustrative example, selecting part will be these two (16-bit) color code words, and auxiliary payload portions can comprise one in remaining 32 bits and the code word.This means that one in the code word of selecting part can be used to the purpose of encoding.In this case, employed actual bit combination is determined by auxiliary compression at C1 (or C0), and the bit combination of other code word C0 (or C1) is set equal to C1 (or C0) subsequently.
The all images piece that uses in current S3TC texture can be encoded in default mode.This means described 2 48Plant bit combination and can otherwise be carried out utilization, promptly they are " freely ".The result, can design two scramblers, a default tile scrambler, it is according to the default mode compressed picture blocks, determine that C0 is not C1, and an auxiliary block scrambler, compressed picture blocks that it will be in a completely different way (according to auxiliary compact model), and 48 bits are bundled in 64 bit words, so that C0=C1.
Encoding process can be represented as subsequently:
For all blocks (for all pieces)
err_default=tryEncodingDefaultWay(block);
err_auxiliary=tryEncodingAuxiliaryWay(block);
if(err?default<err?auxiliary)
codedBlock=encodeDefaultWay(block);
else
codedBlock=encodeAuxiliaryWay(block);
end;
storeCodedBlock(codedBlock);
end;
Decoding processing can be like this:
For all blocks (for all pieces)
codedBlock=getCodedBlock();
C0=getC0fromCodedBlock(codedBlock);
C1=getC1fromCodedBlock(codedBlock);
if(C0==C1)
decodedBlock=decodeAuxiliaryWay(codedBlock);
else
decodedBlock=decodeDefaultWay(codedBlock);
end;
storeDecodedBlock(decodedBlock);
end;
Notice that we will always can benefit from use auxiliary mode.Reason is that we will use otherwise the bit combination that can not be used.Another mode of considering it as that original S3TC codec efficient is low, and it only uses all possible 2 64In the bit combination (2 64-2 48).Therefore our expression is that efficient only reaches (2 64-2 48)/2 64=99.9985%.The application of the invention is to S3TC, and efficient is increased to 100%.
As notional proof, a very simple auxiliary process pattern is implemented, to be used to improve the default mode of S3TC.48 bits in the auxiliary mode be used to encode brightness correction amount (luminance modifier) and 16 index bits of the color of one 24 bit, 8 bits, with from or 24 original bit color, perhaps select in the brightness correction value.When using this simple auxiliary mode to strengthen S3TC, picture quality has increased 0.17dB.More improved auxiliary mode will increase picture quality and surpass 0.17dB, but still can therefrom find out advantage of the present invention.
Also exist an append mode to use bit better, and this technology also is the part that we invent.When all images element of image block all should have same color, our should differently encode C0 and C1 so, and each pixel index all should be pointed to (for example) C0.But the C1 value is not used at that time, except it should not equal the fact of C0.Therefore, in our example, this makes us might use 2 16-1=65535 new various combination further improves auxiliary mode, this means that we have 15 idle bits and are used for encoded colors information (in fact, almost being 16 bits) better.
Another is applied to S3TC[3 with auxiliary mode] (or BTC[1 similarly], CCC[2] etc.) situation be when color indexs all in the index sequence all points to identical primary colours or color code word.This means that pictorial elements all in the compression blocks will have identical color when decompressed.This piece can be represented by making C0=C1 in default mode, and guarantee that not every color index all points to identical color/code word.Therefore, this is opposite with top description basically.
Selecting sequence will be index sequence subsequently.If all index equate that all auxiliary mode is selected so, otherwise default mode will be used.In auxiliary mode, auxiliary payload portions will comprise (2 * 16=32) bits of two color code words.In addition, the bit of one of index can be used to the purpose of encoding, as long as remaining index is set to this index and equates.This means that the subdivision of selecting part will have differentiation and encoding function simultaneously in auxiliary mode.In this embodiment being applied to many bit index solution (for example S3TC), when wherein each (color) index all is made up of at least two bits, a different slightly selection can appear.In this case, if all color indexs all are associated with one of these two color code words during compression blocks is represented, auxiliary mode is with selected so.If but all index all with as the linear combination of these two code words and one of these two primary colours that produce be associated, default mode can be selected so, even all color indexs all equate.
The present invention is contemplated that these two code words can represent the pictorial element correlation properties except color, comprises for example transparency/alpha value, normal, brightness or the like.
In another example, select part can comprise for example 8 bits of all bits of compression blocks (for example 64 bits), in this example, some bit combination of 8 bit words is represented auxiliary mode, for example 0,000 0000 Bin(0) and 1,111 1111 Bin(255), and remaining bit combination indication default mode, 0,000 0001 Bin-1,111 1110 Bin(1-254).Default mode can use all 64 bits to be used for block encoding potentially.At first sight, auxiliary mode is limited to the 64-8=56 bit and is used for block encoding.But 8 bits select one of bit of part in fact can be used to carry out block encoding in auxiliary mode.Therefore, we have a selection subsequently, and this bit is set at 0 BinOr 1 Bin, causing in this illustrative example, auxiliary payload portions is 57 bits.Selecting remaining 7 bits of part will be set to this bit equates.This principle can be expanded and be applied to other and select part (and compression blocks) size, and other predefined bit combination of expression acquiescence/auxiliary mode.
Another processing scheme that instruction of the present invention can be applied to wherein is represented as iPackman, and it is the expansion of the texture processing scheme described in file [8-10].The key concept of iPackman is to use bigger piece, replaces 4 * 2820 or 2 * 4830 of Packman with 4 * 4 pictorial elements 800, sees Fig. 3.In piece, but in the zone that brightness more or less is constant colourity slowly to be changed, for the Packman scheme, the colourity band can be visual.Because every is used single colourity, so strip edge follows block boundary, and this makes that this pseudomorphism is more abominable.IPackman overcomes this problem by using two different default treatment patterns.In first pattern, two 2 * 4/4 * 2 adjacent image blocks are formed one 4 * 4 together, and the primary colours of these pieces, and average color relative to each other is encoded separately typically, promptly produce two color code words, preferably two RGB444 color code words.In another default mode, utilize RGB555 color code word (C) and difference color code word (Δ C) and employing difference color coding (differential color coding).First primary colours obtain from color code word C subsequently, and the second color code word from code word C+ Δ C with value obtain.Its reason has been to test verified the difference of phase adjacency pair on average color of 2 * 4/4 * 2 image blocks for 88% piece all in interval [4,3].Therefore, most image blocks can be encoded by difference, and comparing with other default mode has increased quality.
The possible compression blocks of iPackman that Fig. 4 B schematically shows under acquiescence diversity mode situation represents 900.Compression blocks 900 comprises color code word 910, and it comprises three color components, red 912A, green 914A and blue 916A, and preferably each is represented by five bits.Difference color code word 920A similarly comprises three components, red 922A, green 924A and blue 926A, and preferably each is represented by three bits.Note, alternatively can use the color outside the RGB, the color in yuv space or YCrCb space for example, or other proprietary color space arbitrarily.Compression blocks 900 further comprises two brightness code word 930A, 940A, and each 2 * 4/4 * 2 sub-piece respectively has one.These brightness code words 930A, 940A are the expressions of a plurality of brightness correction amount groups, and it is used to the brightness of the pictorial element in (during decoding) correction or the modulation image piece.Brightness code word 930A, 940A preferably allow to discern the brightness pointer of brightness correction amount group.The table that comprises a plurality of different brightness correction amount groups or these groups in the code book can be discerned or be pointed to these pointers subsequently.The sequence 950A of brightness index (preferably each image primitive have a brightness index in piece) is also included within the compression blocks 900.Each this brightness index is associated with brightness correction amount in coming from brightness correction amount group.In other words, the brightness index allows to identify at a particular image element of image block to use which brightness correction amount in these groups.Difference bit (diffbit) 970A is used to select between two acquiescences (indifference XOR difference) pattern, and whether two sub-pieces of flip bits (flipbit) 960A definition image block are two 2 * 4 or 4 * 2, promptly vertical flip bits=0 of placing BinThe perhaps flip bits of level=1 BinThat notices that code word 910A, 920A, 930A, 940A, index sequence 950A, flip bits 960A and the mutual order of difference bit 970A of coded picture block 900 can be to that indicated in the drawings is different.
The corresponding compression expression of other default mode of iPackman and Fig. 4 B always, except color code word 910A and difference code word 920A are replaced by two color code words (preferably identical size).
In the difference default mode,, this means that so each color component 912A, 914A, 926A are encoded by five bits, and can be interval 0-31 (00000 if color code word 910A is RGB555 Bin-11111 Bin) in arbitrary value.Accordingly, each color component 922A, 924A, the 926A of difference color code word 920A can comprise three bits, promptly interval-4 to 3[000 BinTo 111 Bin] value of middle expression.Two primary colours C0 and C1 are subsequently according to following generation:
Red component=R of C0
Green component=G of C0
Blue component=B of C0
The red component of C1=R+ Δ R
The green component of C1=G+ Δ G
The blue component of C1=B+ Δ B
Because the color component of C1 is represented monochrome information, so they are allowed to suppose these values from 0 (=0.0, no brightness) to 31 (=1.0, full brightness).This means to cause addition R+ Δ R, G+ Δ G, B+ Δ B overflows, promptly be<0 or>31 color code word 910A and the bit combination of difference code word 920A, the scrambler of operating in the coding mode in acquiescence will can not use these combinations.
This means,, promptly, have an opportunity to use one or more auxiliary process pattern allowing outside the interval 0-31 or surpassing this interval bit combination for the bit combination of overflowing with value R+ Δ R, G+ Δ G and/or B+ Δ B.
As schematically showing among Fig. 4 B, the default treatment pattern can be used default payload part (980A, 990A) come the presentation video piece, it comprises code word 910A, 920A, 930A, 940A, index sequence 950A and flip bits 960A (in fact difference bit 970A does not provide any Useful Information to be used for coded image element correlation properties).Be used to distinguish the selection sequence 980A of acquiescence and auxiliary mode, 980B, 980C then can comprise one or more color component of color code word 910A and difference code word 920A, stay the remaining data sequence 990A that can be used to carry out the image block coding in auxiliary mode, 990B, 990C.
Below description is applied to the present invention of iPackman scheme.But this should only be regarded as an illustrative example, and the present invention can be applied in any Flame Image Process scheme, as long as it has meaningless expression or redundant.
Fig. 5 is the process flow diagram that illustrates in further detail for selecting the embodiment of step S1 among the Fig. 1 that is fit to the iPackman realization.This method starts from step S20, wherein comparing with maximum of T 2 and minimum value T1 with value (red, green or blue) color component of color code word and difference color code word.This threshold value can be respectively (but being not limited to) 31 and 0.Therefore, and if value in interval [T1, T2], in step S20, the default treatment pattern is selected so, and this method proceeds to the step S2 among Fig. 1.If but surpass interval [T1, T2] with value, in step S20, the auxiliary process pattern is selected so, and this method proceeds to the step S3 among Fig. 1.
Step S20 can be used in (three) color component more than one.In this case, can rely on which (which) color component to overflow and/or how many color components overflow the different auxiliary process pattern of distinguishing.
Fig. 6 is the corresponding process flow diagram that is fit to the selection step S12 among that iPackman realizes, Fig. 2.The step S11 of this method from Fig. 2 continues.In step S30, the comparing with maximum of T 2 and minimum value T1 of (red, green, indigo plant) color component of color code word and difference color code word with value.And if value is in interval [T1, T2], in step S30, acquiescence decompression piece is represented selected so, otherwise auxiliary decompression piece is represented selected.This method proceeds to the step S13 among Fig. 2 subsequently.
Select step S30 also can as the step S20 among Fig. 5, utilize more than a color component.
Fig. 7 be illustrate at iPackman, produce the decompress process flow diagram of embodiment of the step S2 of expression or S10 of acquiescence among Fig. 1 or 2.Step S40 provides brightness correction amount group.This correction group is provided based on one of brightness code word in the coded representation.Use which brightness code word to depend on which (a bit) pictorial element should be decoded, depend on promptly which sub-piece pictorial element belongs to.Providing preferably of this group carried out by discerning a brightness correction amount group by means of the brightness code word from the table that comprises a plurality of correction groups.But in some applications, might the brightness code word self comprise the correction group, and not need the table inquiry.
In next step S41, at least one pictorial element of image block (promptly for should be decoded pictorial element) is produced color showing.This color produces and is based on color code word or with value the carrying out based on color code word and difference color code word of encoding block in representing.Actual selection depends on once more which sub-piece pictorial element belongs to.In step S42, the employed brightness correction amount of this pictorial element that selection should be decoded.Based on the brightness index that is associated with pictorial element and in the index sequence that encoding block is represented, sets up, from the correction group that among step S40, is provided, select this modified value.In step S42,, in step S43, be worth the brightness of revising or modulating this pictorial element so with this in case correct brightness correction value is selected.Brightness correction according to the present invention refers to correction, for example uses (possible weighting) brightness correction value to add or multiply by whole color components of color showing, and selectively amplitude limit in for example 0 minimum value with for example between 255 the maximal value.
Step S40 can usually carry out (L3 is schematically illustrated by line) at a plurality of image primitives in the image block to S43.The present invention anticipates that in some applications, only decoding comes from the single image element of specific image block, a plurality of pictorial elements of decoding specific image block and/or all images element of decoding specific image block.This method proceeds to step S4 or the S11 in Fig. 1 or 2 subsequently.
Fig. 8 is the process flow diagram that illustrates at the embodiment of step S3 iPackman, that produce the auxiliary expression that decompresses among Fig. 1 or 2 or S11.The auxiliary decoder pattern represents 900 according to Fig. 4 C explanation compressed picture blocks.The auxiliary payload portions of using under this pattern 990 (promptly except selecting sequence 980), comprise four color code word 910B, 920B, 930B, 940B, each all has three (red 912B, 922B, 932B, 942B, green 914B, 924B, 934B, 944B, and blue 916B, 926B, 936B, 946B) color component.This color code word 910B, 920B, 930B, 940B be according to available amount of bits, can be for example RGB343 or RGB443.Compression blocks 900 further comprises the sequence 950B of color index.Color index association is subsequently also indicated one of two possible colors or code word.For example, 0 BinColor index can represent to be arranged in the first code word 910B of the pictorial element of the first sub-piece and the 3rd code word 930B of the pictorial element in the second sub-piece.Accordingly, 1 BinIndex belong to which sub-piece according to the associated picture element and represent the 2nd 920B or the 4th 940B color code word.
In first embodiment, each pictorial element in the piece all is associated with separately color index.But, in a preferred embodiment of the invention, produce the littler compression blocks of whole size and represent 900, the subclass of the pictorial element in the piece with from a 910B, the 2nd 920B, selected predefined color code word is associated in the 3rd 930B and the 4th 940B code word.As a result, (these) pictorial element does not have the selection of color index or distribution to be performed hereto.For example, first (at last) pictorial element in the first sub-piece can always be associated with a 910B (or the 2nd 920B) color code word, and first (at last) pictorial element in the second sub-piece can always be associated with the 3rd 930B (or the 4th 940B) color code word.Index sequence does not need to comprise the color index of these first (at last) pictorial elements subsequently.As a result, have at image block under the situation of whole 16 pictorial elements, sequence will only comprise 14 color indexs.The present invention anticipates that each sub-piece has can be related in advance with the color code word more than a pictorial element.It is to come vertically 802 or flatly 830 to arrange according to Fig. 3 that remaining flip bits 960B can be used to indicate sub-piece.
Therefore, step S50 uses the first color code word to produce first color showing, use the second color code word to produce the second corresponding color showing, use the 3rd color code word to produce the 3rd corresponding color showing, and use the 4th color code word to produce the 4th corresponding color showing.In next step S51, use color index, the selection of carries out image element among the first, second, third and the 4th color showing, perhaps one of the first, second, third or the 4th color showing in advance with this piece in one or some pictorial elements related.Step S50 and S51 can usually carry out (L4 is schematically illustrated by line) for a plurality of image primitives in the image block.
Selectively, can in four color code words, carry out selection, but not in the color showing that is produced.Therefore, use and color index that in index sequence find that be associated, from the first, second, third or the 4th color code word, select a color code word with the associated picture element.But if the associated picture element belongs to the subclass of pictorial element, described subclass does not have the relevant colors index but only has predefined relevant colors code word, then discerns predefined color code word.After this, use selected or predefined color code word to produce the color showing of this pictorial element.
In another possible auxiliary process pattern of iPackman, compressed picture blocks is represented four color code word C0, C1, C2, C3, preferably four RGB color code words.In this auxiliary embodiment, do not need color index, because pictorial element is according to following table 1 or table 2, or be associated with the predefined linear combination of these four colors by using some other predefined interpolation structure.In these tables, have only the red component (r0, r1, r2 and r3) of color code word to be instructed to.Green and blue component inserts in an identical manner.
Table 1
r0 3/4r0+1/4r1 1/2r0+1/2r1 1/4r0+3/4r1
1/4r0+3/4r2 3/4(3/4r0+1/4r1) +1/4(3/4r2+1/4r3) 3/4(1/2r0+1/2r1)+ 1/4(1/2r2+1/2r3) 3/4(1/4r0+3/4r1) +1/4(1/4r2+3/4r3)
1/2r0+1/2r2 1/2(3/4r0+1/4r1) +1/2(3/4r2+1/4r3) 1/2(1/2r0+1/2r1)+ 1/2(1/2r2+1/2r3) 1/2(1/4r0+3/4r1) +1/2(1/4r2+3/4r3)
1/4r0+3/4r2 1/4(3/4r0+1/4r1) +3/4(3/4r2+1/4r3) 1/4(1/2r0+1/2r1) +3/4(1/2r2+1/2r3) 1/4(1/4r0+3/4r1)+ 3/4(1/4r2+3/4r3)
Table 2
r0 2/3r0+1/3r1 1/3r0+2/3r1 r1
2/3r0+1/3r2 1/2(2/3r0+1/3r1)+ 1/2(2/3r0+1/3r2) 1/2(1/3r0+2/3r1)+ 1/2(2/3r1+1/3r3) 2/3r1+1/3r3
1/3r0+2/3r2 1/2(1/3r0+2/3r2)+ 1/2(2/3r2+1/3r3) 1/2(1/3r1+2/3r3)+ 1/2(1/3r2+2/3r3) 1/3r1+2/3r3
r2 2/3r2+1/3r3 1/3r2+2/3r3 r3
In alternative linear combination solution, present as table 3, each image block uses three different color C0, C1, C2.Produce three planes, one of each color component.Therefore, plane is suitable for redness (the green and blue) color component of pictorial element in the piece.Because three points are enough represented a plane among the 3D, so the r0 in the table 3, r1 and r2 are the examples that this plane is fully represented.Table 3 only is regarded as the illustrative example of this principle, and other solution also within the scope of the invention.
Table 3
r0,0,0 ?r0+1/3(r1-r0),1,0 ?r0+2/3(r1-r0),2,0 r1,3,0
?r0+1/3(r2-r0),0,1 ?r0+1/3(r1-r0)+ ?1/3(r2-r0),1,1 ?r0+2/3(r1-r0)+ ?1/3(r2-r0),2,1 ?r1+1/3(r2-r0),3,1
?r0+2/3(r2-r0),0,2 ?r0+1/3(r1-r0)+ ?2/3(r2-r0),1,2 ?r0+2/3(r1-r0)+ ?2/3(r2-r0),2,2 ?r1+2/3(r2-r0),3,2
?r2,0,3 ?r2+1/3(r1-r0),1,3 ?r2+2/3(r1-r0),2,3 ?r2+r1-r0,3,3
The quantity regulation of useful bit (payload portions) of these colors of can be used for encoding can be used to the different color code words and the amount of bits separately of color component.If it has enough available bit, all three color components preferably all use identical amount of bits to encode so, i.e. RGBXXX.But, if this is impossible, so preferably be to use coding according to RGBXXY or RGBYXZ, wherein X 〉=Y 〉=Z for example is used for the RGB554 of C0 to C3, or is used for the RGB555 of C0 to C1, and the RGB554 that is used for C3.
Another possible auxiliary mode is to use black and white coding (more precisely being gray-coded).Compressed picture blocks can comprise two gray level (gray-level) code words and two brightness code words subsequently.The sequence of brightness index also is included in the compression blocks, and wherein each this brightness index all is associated with the brightness correction amount that comes from by in the represented group of one of two brightness code words.This pattern should provide better quality to grayscale image.
Therefore, the selection that has a large amount of auxiliary modes is for using, and this selects typically to depend on the image block of wanting specifically to handle which kind of type in this auxiliary mode, and has how many useful bits to use in this auxiliary mode.Hereinafter, the present invention further discusses with reference to iPackman, and purpose is to attempt to increase the quantity of useful bit used in the auxiliary mode.
With reference to figure 4B, suppose the color component 912A of color code word 910A, 914A, 916A each use five bits to encode, and the color component 922A of difference color code word 920A, 924A, 926A each use three bits to encode.In addition, each comprises three bits these two brightness code word 930A, 940A, and index sequence 950A occupies 32 bits.At last, flip bits 960A and difference bit 970A each all be a bit.The whole size of compression blocks 900 is 64 bits so.But because in fact difference bit 970A is not the present invention's defined so-called " useful bit ", therefore whole block size is 63 bits.But in different explanations, this difference bit 970A can be included in and select in part 980A or the payload portions.
For this reason, with reference to figure 9A, it schematically shows block decoder or the system 130 that is used to handle compression expression 900 according to the embodiment of the invention.This block decoder 130 comprises acquiescence decompressor 200, and it utilizes the acquiescence decompression expression of the default payload part (63 bit) of compression blocks 900 with at least a portion of generation image block.Correspondingly, auxiliary decompressor 300 utilizes the auxiliary payload portions 990 of compression blocks 900 to represent to produce auxiliary decompression piece.In this embodiment, select the red component 912A of sequence by color code word and difference code word, 922A forms.This means that in this embodiment the senior general of the size of auxiliary payload portions is the 63-5-3=55 bit.The overflow detector 400 of block decoder 130 utilizes by these red components 912A, the represented bit sequence of 922A, in order to detect the possible situation of overflowing (R+ Δ R<0 or R+ Δ R>31).
Following table 4 has been listed the possible situation of overflowing of detecting device 400 responses.
Table 4
Numbering R ΔR And value
0 3 -4 -1
1 2 -4 -2
2 2 -3 -1
3 1 -4 -3
4 1 -3 -2
5 1 -2 -1
6 0 -4 -4
7 0 -3 -3
8 0 -2 -2
9 0 -1 -1
10 31 3 34
11 31 2 33
12 31 1 32
13 30 3 33
14 30 2 32
15 29 3 32
Therefore, there are 16 possible overflowing to take place.R and Δ R represent the data of 8 bits altogether.Therefore, 2 8It is real possible planting bit combination.Beyond this, have only 2 8-16 kinds are used to indicate color component, and remaining 16 kinds are used to indicate the auxiliary process pattern.Decoding processing can look like like this:
For all blocks (for all pieces)
codedBlock=getCodedBlock();
R=getRfromCodedBlock(codedBlock);
ΔR=getΔR?fromCodedBlock(codedBlock);
if(R+ΔR<0?OR?R+ΔR>31)
decodedBlock=decodeAuxiliaryMode(remaining55bitsof(codedBlock));
else
decodedBlock=decodeDefaultMode(codedBlock);
end;
storeDecodedBlock(decodedBlock);
end;
Therefore, if detecting device 400 detects the situation of overflowing, its command selector or multiplexer 140 are selected to be represented by the decoding block that auxiliary decompressor 300 is produced so, should be selected otherwise come from the default decode piece of giving tacit consent to decompressor 200.
But, overflow the fact that can take place in 16 kinds of different modes by use, we can do better than this, and must return four bits from that.Around this principle Cao Zuo block decoder 130 is shown in Fig. 9 B.This demoder 130 comprises mode detector 150, and it does not present in the previous embodiment of Fig. 9 B.Therefore this mode detector 150 is discerned the special situation of overflowing.When realizing in software, the operation of this detecting device 150 can be according to following pseudo-coding:
int?get4BackBits(R,ΔR)
{
if(R==3ANDΔR==-4)
return0;
elseif(R==2ANDΔR==-4)
return1;
elseif(R==2ANDΔR==-3)
return2;
elseif(R==1ANDΔR==-4)
return3;
elseif(R==1ANDΔR==-3)
return4;
elseif(R==1ANDΔR==-2)
return5;
elseif(R==0ANDΔR==-4)
return6;
elseif(R==0ANDΔR==-3)
return7;
elseif(R==0ANDΔR==-2)
return8;
elseif(R==0ANDΔR==-1)
return9;
elseif(R==31ANDΔR==3)
return10;
elseif(R==31ANDΔR==2)
return11;
elseif(R==31ANDΔR==1)
return12;
elseif(R==30ANDΔR==3)
retutn13;
elseif(R==30ANDΔR==2)
return14;
elseif(R==29ANDΔR==3)
return15;
}
Therefore our decoding pseudo-coding can be changed subsequently into:
For all blocks (for all pieces)
codedBlock=getCodedBlock();
R=getRfromCodedBlock(codedBlock);
ΔR=getRfromCodedBlock(codedBlock);
If(R+ΔR<0?OR?R+ΔR>31)
decodedBlock=decodeAuxiliaryMode(remaining55bitsof(codedBlock),
get4BitsBack(R,ΔR));
else
decodedBlock=decodeDefaultMode(codedBlock);
end;
storeDecodedBlock(decodedBlock);
end;
Therefore, embodiment compares with 55 bits of Fig. 9 B hereto, and we have altogether that 59 bits are used for auxiliary mode.If function get4bitsBack () should realize in hardware that this solution has a shortcoming so.In this hardware embodiment, this function should be minimum, and on this meaning, it should have alap complexity.Judge that statement (if-statement) may be too big concerning some is used if in hardware, have 16.Therefore, we how will observe can be so that it be more effective.In order to finish this, we consider to adopt another table 3, and with it some the recasting, to obtain following table 5.
Table 5
Numbering R ΔR R bit 76543 and Δ R bit 210 Bit 4310 New numbering
0 3 -4 00011 100 1100 12
1 2 -4 00010 100 1000 8
2 2 -3 00010 101 1001 9
3 1 -4 00001 100 0100 4
4 1 -3 00001 101 0101 5
5 1 -2 00001 110 0110 6
6 0 -4 00000 100 0000 0
7 0 -3 00000 101 0001 1
8 0 -2 00000 110 0010 2
9 0 -1 00000 111 0011 3
10 31 3 11111 011 1111 15
11 31 2 11111 010 1110 14
12 31 1 11111 001 1101 13
13 30 3 11110 011 1011 11
14 30 2 11110 010 1010 10
15 29 3 11101 011 0111 7
What done here is that 5 bit color components R and 3 bit color component Δ R are treated as combination 8 bit words.If bit 0,1,3 and 4 are extracted, and obtain one 4 bit words (hurdle second from the bottom) so.When converting this 4 bit words to the decimal system, it is all digital coverings once of from 0 to 15 correctly.Therefore, this can be used as numbering, and does not need complicated function, just can obtain four bits.Replace it in software, to look like like this:
bitVector=get4bitsBack(bit7,bit6,bit5,bit4,bit3,bit2,bit1,bit0)
{
bits=(bit4,bit3,bit?1,bit0);
return?bits;
}
In hardware, this is an electric wire box, 8 electric wires enter and 4 come out.It is the simplest possibility logical categories (do not have transistor at all, have only line).Here it is, and how get4bitsBack () can realize in hardware.Fig. 9 C shows the block decoder 130 that obtains according to present embodiment.Therefore, the mode detector of Fig. 9 B replaces with four connections simply, but we still can use 59 bits to auxiliary mode.
Figure 10 A shows the possible embodiment of Fig. 9 A to the overflow detector 400 of the block decoder of 9C.Detecting device 400 comprises totalizer 410, and its red component with the color code word is added on the red component of difference code word.Be provided for two comparers 430,450 subsequently with value.Whether investigation of first comparer and value be less than the minimum proprietary threshold value T that is allowed 1, for example 0, and whether investigation of second comparer and value surpass the maximum proprietary threshold value T that is allowed 2, for example 31.And if value<T 1Or and value>T 2, so corresponding comparer 450 to or (OR) door 470 output spill overs.This spill over is forwarded in the multiplexer of the piece detecting device of selecting auxiliary decompression piece subsequently.If do not have spill over to offer or (OR) door 470, this expression acquiescence decompression piece should be selected by multiplexer so.
By studying the 4th hurdle in the table 4 in further detail, can notice that in fact the selection between acquiescence and the auxiliary compact model is not must be based on all bits of the red component of color code word and difference code word.In the first eight clauses and subclauses on this hurdle, bit number 7,6,5 always 000 Bin, and bit number 2 always 1 BinAccordingly, for back eight clauses and subclauses on this hurdle, bit number 7,6,5 always 111 Bin, and bit number 2 always 0 BinTherefore, model selection and overflowing detects has only by inquiry that these four bits detect, and we do not need will be arbitrarily and value and two threshold values compare.
Figure 10 B shows the possible embodiment to the overflow detector of 9C based on Fig. 9 A of this principle.The first non-XOR (XOR) door 420 receives the bit number 7 and 6 of display predetermined colors in combination component word.If these bits equate, so non-XOR (XOR) door output 1 Bin, otherwise export 0 BinThe comparison bit number 6 and 5 of the second non-XOR (XOR) door, 440 correspondences (or alternatively 7 and 5), and if they equate output 1 Bin, otherwise export 0 BinNormal XOR (XOR) door 460 is used to bit number 7,6, and in 5 one compares with bit number 2, is bit number 5 among the figure.If these two bit difference, XOR (XOR) door 460 output 1 so BinThe output of (non-) XOR (XOR) door is forwarded to and (AND) door 480, if all inputs all are 1 Bin, so described output with door overflowed detection signal, otherwise its output default mode is selected signal.
The present invention is contemplated that Figure 10 A and 10B should only be considered to be the possible embodiment illustrative example of overflow detector, but is not limited to this.Door and unit and the exchange of other standard gate by overflow detector shown in the general can obtain further possible embodiment.In addition, for the computer-implemented example of overflow detector, penult carrier bit and with two market bit that are associated with value of color component and difference color component, and the difference color component can be used to detect and overflows.
Figure 11 A schematically shows respectively the part that the compression blocks in acquiescence and auxiliary mode (TT-r) is represented.In default mode, all bits can be used to useful block encoding purpose in color and the difference code word.In default mode, we can use all bits of these two code words now, and except four bits 981 of the red component of code word, it is the least part 981 that is used to distinguish the selection part 980 of these two patterns.
But whether we have only investigated one of color component (be in the above example red, but this principle can similarly be applied to green or blueness) and have overflowed hereinbefore.This process can be extended to be investigated two in the color component, for example red and green.Let us experiences all possible combination of this solution.Hereinafter, the color component that overflows is by the lowercase mark, for example r, and the component that does not overflow capitalization mark, for example R.Figure 11 B shows and can be used to encode the color of purpose and the bit that the difference code word can be used in default mode and four different auxiliary mode.
We notice hereinbefore, if corresponding color component overflows, preceding two bits (bit number 7 and 6 in combined characters) of the color component of color code word always equate so.
Therefore, if we will guarantee that green component does not overflow, we must impel bit number 7 different with bit number 6 so, promptly bit 7 = bit 6 ‾ , Selectively, can impel bit number 7,6 or 5 to equate with bit number 2, or bit 7 = bit 5 ‾ , Or bit 5 = bit 6 ‾ . This means that for the auxiliary mode that wherein has only a color component to overflow (TT-rG and TT-Rg), we can only use seven bits in the 8 bit combination color component words.For these two auxiliary modes, auxiliary payload portions is the 63-4-1=58 bit.At last, we study wherein two auxiliary modes that color component all overflows.In this pattern, corresponding auxiliary payload portions will be the 63-4-4=55 bit.
In the embodiment of this two component, except default mode, we have three auxiliary modes, and wherein by which (which) color component overflow and discern special auxiliary mode.In this embodiment, have 2 58+ 2 58+ 2 55Plant bit combination and cause auxiliary mode.But because 2 58+ 2 58+ 2 55=2 59+ 2 55, therefore can select one 59 bit auxiliary mode and one 55 bit auxiliary mode, perhaps two 58 bit auxiliary modes and one 55 bit auxiliary mode.
Figure 11 C shows another solution of the two component embodiments that have only two possible auxiliary modes equally, but has more useful (auxiliary useful load) bit.At the first pattern (TT-r?) in, red component must overflow.Green component also can overflow, but not necessarily.Therefore, we make up this two pattern TT-rG and TT-rg basically from Figure 11 B.This means that one of bit of green component (for example bit number 7) is no longer based on the actual value of a certain other bit and by pre-defined.On the contrary, this bit also can be used to useful coding.This means that this auxiliary mode can use the 63-4=59 bit to be used for coding potentially.An auxiliary mode (TT-Rg) is remaining, wherein is that green component rather than red component overflow.This pattern can detect by whole by inquiry green word 982, but preferably its least part 984 (4 bit) is used, as shown in Figure 11 C.In addition, a bit 983 of red component word is not useable for the purpose of encoding, and is controlled by one of other bit in the red component word.In this auxiliary mode, auxiliary payload portions is the 63-1-4=58 bit.
Figure 11 D shows the situation that all colours component can overflow, and this will overflow which (which) color component according to and produce seven different auxiliary modes.Three (patterns of wherein having only a color component to overflow in these auxiliary modes, TT-rGB, TT-RgB, TT-RGb) can use the payload portions of 57 bits, three patterns (pattern that just in time has two color components to overflow wherein, TT-rgB, TT-rGb, TT-Rgb) can use 54 bits, and wherein all colours component remaining pattern (TT-rgb) of all overflowing can be used 51 bits.
Although also have another possibility of three-component situation, as shown in Figure 11 E.In this situation, have only three auxiliary modes, but they can use more bits.At the first pattern (TT-r?) in, have only red component to be investigated, and this component must overflow.Need four bits to be used to select this pattern, cause the payload portions of 63-4=59 bit.At next pattern (TT-Rg?) in, green component must overflow, but red component can not overflow.Need the 4+1=5 bit to be used to discern this pattern, and payload portions will comprise the 63-5=58 bit.In the end in the Sheng Xia pattern (TT-RGb), have only blue component to be allowed to overflow.Bit 985 of a bit 983 of red component word 980, green component word 982 and four bits 987 of blue component word 986 are used to discern this pattern.Remaining payload portions comprises the 63-1-1-4=57 bit.
As understandable to 11E from Figure 11 A, above by selecting simply in conjunction with Figure 11 A in the described embodiment of 11E, have an opportunity to select have how many auxiliary modes to use, and in these patterns, have how many bits can be used for the block encoding purpose.
Compression
Figure 12 shows the method according to (diminishing) of the present invention coded image.In the first optional step S60, image is decomposed or is divided into a plurality of image blocks.Each this image block then comprises a plurality of pictorial elements.The real image block size that uses is typically stipulated by employed special default treatment method.Therefore, the present invention is not limited to any particular image block size, and for example can be applied to having 2 m* 2 nIndividual pictorial element, or 2 m* 2 n* 2 pThe image block of individual pictorial element, wherein m, n, p are zero or positive integer independently.In step S60, the entire image piece preferably is broken down into (nonoverlapping) image block.But in some applications, only some is encoded image block, and therefore has only this part to be broken down into image block.
In next step S61, image block compresses according to the acquiescence compact model or encodes, to produce the acquiescence compression expression of image block.The program of using in this compression step S61 is determined by employed particular image processing scheme.For example, in iPackamn, the acquiescence compact model is determined color code word, color distortion code word, two brightness code words, brightness index sequence and flip bits.Accordingly, at BTC[1], CCC[2], S3TC[3], POOMA[5] in, two gray scales or color code word are determined with gray scale or color index sequence.So the acquiescence compression blocks that obtains comprises the default payload part, and it is to be used to encode and (bit) sequences of the image correlation properties of presentation video piece.In most of typical application, this default payload partly comprises the whole bit sequence of compression blocks, but the littler part (referring to Fig. 4 B, wherein difference bit 970 does not constitute the part of default payload part 980,990) that alternatively comprises it.
In next step S62, error is represented to be calculated.This error represents that being one measures, and has indicated with the picture quality that is associated according to acquiescence compact model compressed picture blocks and has represented.In this Error Calculation step, the decompression of image block or decoding expression are typically used according to the acquiescence image block that compact model compressed among the step S61 and are represented to produce.This means and to decompress by the acquiescence of using described special processing scheme or the tupe described compression blocks that decompresses or decode.Calculate an error amount then, indication utilizes this acquiescence decompression piece to represent the original picture block error.Allow R 0 i(G 0 i, B 0 i) value of red (green, indigo plant) color component of the pictorial element i of expression in original (being untreated) image block, and R d i(G d i, B d i) finally red (green, indigo plant) color component of correspondence of the pictorial element i of expression acquiescence decompression piece in representing.This error amount can be calculated as subsequently:
ϵ 2 = Σ i = 1 N [ ( R d i - R 0 i ) 2 + ( G d i - G 0 i ) 2 + ( B d i - B 0 i ) 2 ] , - - - ( 1 )
Wherein N is the entire quantity of pictorial element in the piece.In equation (1), can selectively use the specific weights omega of component R, ω G, ω B
In step S63, by determine the auxiliary compression or the coded representation of image block correspondence according to auxiliary process mode compression image block.Employed special auxiliary mode is typically determined by Flame Image Process scheme (BTC, CCC, S3TC, POOM, iPackman and other).As described above, may be able to utilize a plurality of different auxiliary modes at the Flame Image Process scheme that provides, wherein these a plurality of auxiliary modes may can use bit more or less to come coded picture block.In this case, preferably in step S63, the definite compression blocks separately of each this auxiliary compact model is represented.Be suitable for providing in the superincumbent description of example of auxiliary mode of iPackman scheme.Auxiliary compression blocks also comprises the payload portions of characteristic of for example color that is used for encoding or represents the pictorial element of piece.But, because also comprising, auxiliary compression blocks selects sequence or part, (by the image block demoder) employing detects piece and compresses according to auxiliary compact model rather than acquiescence compact model, so the payload portions of compression blocks is less than the default payload part of acquiescence compression blocks.Note some bit in the auxiliary compression blocks can belong to auxiliary payload portions simultaneously and select part the two.
In next step S64, calculate at least one error and represent.This error represents that being one measures, and indication is represented with the picture quality that is associated according to auxiliary compact model compressed picture blocks.In this Error Calculation step, the decompression of image block or decoding expression use the image block that is compressed according to auxiliary compact model among the step S63 to represent to produce typically.Calculate an error amount then, its indication utilizes auxiliary decompression piece to represent the error of original picture block.This Error Calculation step S64 preferably carries out each auxiliary compact model and each auxiliary compression blocks, if having a plurality of.
In acquiescence compression blocks and the auxiliary compression blocks which step S65 select to use as the compression expression of current image block subsequently.The selection of this compression blocks is represented to carry out based on the error of being calculated among step S62 and the S64.Therefore, select among step S65, represent with least error that the compressed picture blocks that is associated is selected and represent as compressed picture blocks at this.This causes in step S65, and the compression blocks (coming from the different compression blocks that produced) of representing original picture block best is with selected.Attention typically will be selected the acquiescence compression blocks for most of image block of image in step S65.But for some block type, in this step S65, auxiliary compression blocks (in) is selected.
Preferably all images piece that is produced in decomposition step S60 is repeated this program S61 to S65, it is schematically illustrated by line L5.But,, have only one or some image blocks so with decompressed if only some is decoded for original image.
At one optionally among the embodiment, each image block at first compresses according to acquiescence compact model (step S61), and estimates estimated (step S62) with represent the error that piece is associated according to this default mode.In next step, this error estimated with quality threshold compare.If error is estimated less than this threshold value, give tacit consent to the compression expression that compression blocks will be used as image block so.But if error is estimated above this threshold value, so auxiliary compact model is also tested.Therefore, image block compresses (step S63) according to auxiliary compact model subsequently.So the auxiliary compression blocks that obtains can be used directly as the compression expression for image block subsequently.In the preferred embodiment of present embodiment, estimate estimated (step S64) with represent the error that piece is associated according to this auxiliary mode.This error estimated with quality threshold and/or acquiescence error and estimate and compare thereafter.If auxiliary error is estimated less than threshold value (and therefore estimating less than the acquiescence error) or is surpassed this threshold value and still estimates less than the acquiescence error, so auxiliary compression blocks is selected, and be used as the compression expression of image block, otherwise the acquiescence compression blocks will be used (step S65).
This program can be extended to has the situation that surpasses an auxiliary mode.It all is possible that acquiescence is used identical quality threshold or different threshold values with auxiliary mode.
Because most is typically compressed according to default mode, so this embodiment causes having only single compression expression and single error to estimate and will be produced for most.Have only when default mode failure (producing the quality of difference), just test auxiliary mode, and must produce further compression expression and error is estimated.
As what thoroughly discussed in preamble, it is poorer a little than most of image block that default mode is typically handled some image block.For example, may have similar colourity at the pictorial element in most of piece and still have different brightness.Thereby these pieces can compress by default mode subsequently and have high-quality.But some piece can have different colourity, and thereby typically is more suitable in compressing with auxiliary mode.
In the embodiment selected according to the compression of image block of the present invention, the characteristic of pictorial element is at first investigated in the piece, and investigates the compact model of selecting this piece to use based on this.In other words, image block can be considered to be categorized as the piece that is suitable for default mode or auxiliary mode (or in the auxiliary mode under having the situation of a plurality of auxiliary modes).This investigation can be for example at least in part based on the distribution of the color (perhaps some other characteristic) of the pictorial element in the color space (or some other feature space).In next step, by produce the compression expression of image block according to selected compact model compression blocks.According in fact which pattern is selected, this step corresponds essentially to step S61 or the S62 among Figure 12.
Select partly further to be set at expression or to indicate selected compact model.The setting of this preference pattern typically is performed during condensing routine, particularly for the whole default mode of selecting part can be used to block encoding wherein.But in auxiliary mode, select part to have a subdivision can be set and be used for block encoding by " freely " at the most.The residue of selecting part must be set based on the paddy (vale) of the subdivision of " freedom " subsequently.
This embodiment only need produce single compression expression to every image block, and estimates estimation without any need for error.The appearance of this simplification is the cost that is chosen as with some image block possibility " misclassification " and non-optimal compression pattern.But for most of image blocks, the characteristic of pictorial element in the piece can be selected correct compact model in advance simply by inquiry.
Acquiescence among Figure 12 is compressed and is assisted compression step to carry out illustration in further detail referring now to iPackman texture processing scheme.Figure 13 illustrates in further detail for iPackman, the process flow diagram of the default tile compression step S61 among Figure 12.The step S60 of this method from Figure 12 continues.In next step S70, image block is determined color and difference color code word.
In this step S70, average (24 bit) color of two (2 * 4 or 4 * 2) sub-pieces of (4 * 4) image block is determined, and each color component is quantized into 5 bits.If the difference between the average color of two quantifications is in interval [4,3], in the RGB555 code word is used as the color code word so, and most probable RGB333 combination will be used as the difference code word.This means that the difference code word is preferably selected so that this difference code word and second quantification average color approach first quantized color (=color code word) as far as possible with value.
In next step S71, the brightness code word that is used for these two sub-pieces is provided.This can thoroughly carry out in the search, by all brightness correction amount groups and the correction value of attempting each sub-piece, the correction value in finding best (according to the contribution of minimum error values) correction group and that group.The brightness code word that is associated with this correction group is used as the brightness code word subsequently.In addition, in step S72, the brightness index that is associated with the selected correction value of this group enters index sequence.Each pictorial element in the piece is selected the brightness index, and it is schematically illustrated by line L6.
In a preferred embodiment, carry out identical program S70 to S72, and flipping block.In other words, if each sub-piece all has the size of 2 * 4 pictorial elements, so new turn over the size that rotor block will have 4 * 2 pictorial elements, vice versa.It is selected to cause least error to estimate the sub-piece orientation of pattern (upset/not upset).This method proceeds to the step S62 among Figure 12 subsequently.
But,, can not determine therefore the most whether 555 colors near primary colours are best quantification because brightness is the fact that is corrected after more.Therefore, in an alternative compression scheme, at ± 1 quantization step with interior all colours to searched.Right for each color, all possible correction group and correction value all will be attempted.
Figure 14 is the process flow diagram that the possible auxiliary compact model that can be used to the iPackman scheme is shown.The step S62 of this method from Figure 12 continues.In next step S80, determine two color code words for each sub-piece, image block is provided whole four color code words.In a preferred embodiment, the first and second color code words, and the third and fourth color code word is respectively the expression of first and second parts of the pictorial element in the sub-piece.This auxiliary compact model is effective especially to the sub-piece of compressed image, and its pictorial element is assigned in have different colourity in color space two bunches.In the color code word one can represent the color of first pictorial element bunch subsequently effectively, and another code word is represented second bunch.
In next step S81, sensing or selected with a color index that is associated in two color code words that can be used for each sub-piece.In first embodiment, each pictorial element in the piece all is associated with separately color index.But, in a preferred embodiment of the invention, producing the littler compression blocks of whole size and represent, the subclass of the pictorial element in each sub-piece all is associated with selected predefined color code word from the first, second, third or the 4th code word.As a result, (these) pictorial element does not need to carry out the selection or the distribution of color index hereto.For example, first (at last) pictorial element in the first sub-piece can always be associated with first (or second) color code word.Accordingly, first (at last) pictorial element in the second sub-piece can always be associated with the 3rd (or 4th) color code word.Index sequence does not need these first (at last) pictorial elements are comprised color index subsequently.As a result, have at image block under the situation of whole 16 pictorial elements, sequence will only comprise 14 color indexs.The present invention is contemplated that surpassing a pictorial element can be associated in advance with the color code word.
Therefore, to not having each related image primitive of predefine index selection of execution in step S81 usually with one of color code word in the image block, it is schematically illustrated by line L7.This method proceeds to the step S64 of Figure 12 subsequently.
Embodiment discusses
Can in the general data disposal system, provide according to picture coding of the present invention (image block coding) and picture decoding (image block decoding) scheme, for example, be used for handling and/or user terminal or other unit of reproduced image in configuration.This terminal can be a computing machine, or thin client, for example PDA(Personal Digital Assistant), mobile unit and phone.
Image processing terminal
Figure 15 illustrates the image processing terminal of being represented by mobile unit 1.But the present invention is not limited to mobile unit, but can realize in other terminal and data processing unit.Only in the accompanying drawings example device and the element in the mobile unit that the present invention directly related to 1.
Mobile unit 1 comprises (central authorities) processing unit (CPU) 40 that is used for deal with data (comprising view data), and it is in mobile unit 1 inside.Graphics system 20 is provided in mobile unit 1, is used for managing image and graph data.Especially, graphics system 20 is suitable for reappearing or display image on the screen 30 that connects or other display unit.Mobile unit 1 also comprises storage facilities or storer 50, is used for storing therein data.In this storer 50, can storing image data, particularly image encoded data (compressed picture blocks) according to the present invention.
In mobile unit 1, provide according to image encoder 500 of the present invention.This scrambler 500 is arranged to the coded representation that image or texture coding is become image (or texture).As mentioned above, this coded representation comprises the sequence or the file of a plurality of compressed picture blocks.This image encoder 500 may be provided in the software that moves on CPU40, as shown in FIG..Selectively, or additionally, scrambler 500 can be arranged at other place in the graphics system 20 or in the mobile unit 1.This image encoder 500 be suitable for according to acquiescence compact model and at least one auxiliary compact model come coded image with and the image block that comprises.In addition, even can be identical size (with regard to amount of bits) according to the final size of the compressed picture blocks of acquiescence or auxiliary mode compression, compare with default mode, the payload portions of the compression blocks of auxiliary mode is littler.
The coded representation that comes from the image of block encoder 500 can be provided for storer 50 by (storer) bus 60, is used for storing therein, up to reproduced image afterwards.Selectively, or additionally, coded image data can be forwarded to input and output (I/O) unit 10, is used for (wireless or wired) and is transferred to other exterior terminal or unit.This I/O unit 10 also can be suitable for receiving view data from external unit.This view data can be to carry out image encoded by image encoder 500, or coded image data that should be decoded.Also memory encoding graphical representation in the dedicated texture storer that may in graphics system 20 for example, be provided.In addition, the part of coded image also can, or selectively be stored in the texture cache by (temporarily), for example, be stored in the graphics system 20.
Image decoder 100 according to the present invention provides in mobile unit 1, is used for decode encoded images, represents to produce decoded picture.This decoding expression can be corresponding to a whole original image or its part.Image decoder 100 offers graphics system 20 with decode image data, and described graphics system is handled these data successively, reappears on screen 30 afterwards or shows described data.Image decoder 100 can be arranged in the graphics system 20, as shown in FIG..Selectively, or in addition, demoder 100 may be provided in the software that moves in CPU40, or other place in mobile unit 1.This image decoder 100 comprises and is used for functional according to default treatment pattern or at least one auxiliary process mode treatment image block.The actual treatment pattern of described compression blocks of being used to decompress is selected based on the selection sequence or the part of compression blocks.
Mobile unit 1 can be equipped with image encoder 500 and image decoder 100 simultaneously, as shown in FIG..But,, may include only image encoder 500 for some terminal 1.In this case, coded image data can be sent to another terminal of carrying out decoding and (possibly) image repetition.Accordingly, terminal 1 can include only image decoder 100, does not promptly have scrambler.This terminal 1 receives the signal that comprises coded image data subsequently from another terminal, and with its decoding, represents to produce decoded picture.Therefore, coding image signal can use wireless launcher and receiver to carry out wireless transmission between terminal.Selectively, can use other technology that distribution diagram picture and coded image are represented between terminal, for example use the wire transmission of IR technology, bluetooth and the view data between terminal of IR port.Also can use storage card or chip for the distribution of this view data between terminal, these storage cards or chip can be connected between the terminal and exchange.
The unit 10,20,40,100 and 500 of mobile unit 1 may be provided in software, hardware or their combination.
Scrambler
Figure 16 shows the block scheme according to the embodiment of image encoder 500 of the present invention.Scrambler 500 typically comprises image dissector (image decomposer) 510, is used for input picture is decomposed or be divided into a plurality of image blocks.This resolver 510 can be suitable for different input pictures is resolved into the image block with different sizes.In this case, resolver 510 preferably receives input information, allows which kind of image block form given image recognition has been used.
Image encoder 500 further comprises block encoder 520.These block encoder 520 codings are represented to produce encoding block from the image block that image dissector received.The whole size that piece is represented is far smaller than the size of corresponding not coded picture block.Block encoder 520 preferably is arranged to sequentially handles each (coding) image block that comes from resolver 510.
Block encoder 520 comprises at least two piece compressor reducers 600,700, and wherein first compressor reducer 600 is according to acquiescence compact model compression input picture piece.Accordingly, at least one auxiliary compressor reducer 700 is according to auxiliary compact model compression input block.If a plurality of available auxiliary modes are arranged, so single auxiliary compressor reducer 700 can be arranged to according to these auxiliary compact models arbitrarily and operate.Selectively, can in block encoder 520, realize special-purpose auxiliary compressor reducer 700 to each this auxiliary compact model.
Preferably, in block encoder 520, provide error estimation device 530, be used for producing indication and estimate according to the error of one of compact model expression input (not compression) image block.This means that at least two this errors estimate estimatedly, one is used to give tacit consent to compact model, and at least one is used for auxiliary compact model.Discussed as mentioned, acquiescence (assist) compression blocks at first decompresses according to acquiescence (assisting) decompression or tupe, and error is estimated acquiescence (assisting) the decompression piece based on such generation and the comparison of original picture block.
Presentation selector 540 realizes in block encoder 520, be used for having selected to use described acquiescence and at least one auxiliary compression blocks which as the compression expression of the image block of handling at present.This selection is estimated based on the error of being estimated by error estimation device 530.Therefore, selector switch 540 is selected to estimate the compression blocks that is associated with least error and is represented, and so the best image block that with regard to picture quality, obtained typically represent.
Selectively, acquiescence compressor reducer 600 at first produces the acquiescence compression blocks, and error estimation device 530 calculating acquiescence errors are estimated.Estimation device 530 in the block encoder 520, selector switch 540 or some other unit are estimated this acquiescence error with quality threshold and are compared.If error is estimated less than this threshold value, the acquiescence compression blocks that is produced so is used as the compression expression of current block.If error is estimated above this threshold value, so auxiliary compressor reducer 700 is determined the auxiliary compression expression of this piece, and 530 calculating of estimation device are estimated with the auxiliary error that this auxiliary expression is associated.Selector switch 540 can be selected to estimate the compression expression (acquiescence or auxiliary expression) that is associated with least error subsequently.
In an alternate embodiments, whether the characteristic of the pictorial element in the presentation selector 540 in the block encoder 520 or some unit investigation image block is to be most appropriate to or to be suitable for most with acquiescence compressor reducer 600 or 700 compressions of auxiliary compressor reducer to determine this image block.Image block is forwarded to selected compressor reducer subsequently, compresses there.Relevant compressor reducer is further set the selection part, is used for the actual compression pattern of this piece with indication.
The unit 510,520,530,540,600 and 700 of image encoder 500 can be provided as software, hardware or their combination.Unit 510,520,530,540,600 and 700 can realize in image encoder 500 together.Selectively, also might use distributed embodiment, provide some unit in other place of user terminal.
In Figure 16, image encoder 500 comprises the single block encoder 520 that has acquiescence compressor reducer 600 and auxiliary compressor reducer 700 simultaneously.In alternate embodiments, image encoder 500 can comprise a plurality of block encoders 520.By a plurality of block encoders 520 are provided in image encoder 500, a plurality of image blocks that come from the resolver 510 can be handled (coding) concurrently, and this has shortened the entire image scramble time.Selectively, first subclass of block encoder 520 can be operated and be used for coming compressed picture blocks according to the acquiescence compact model, and scrambler 520 remaining subclass are operated according to auxiliary compact model.Each this block encoder 520 can have its error estimation device 530.Selectively, error estimation device 530 and presentation selector 540 are realized in image encoder 520, and are connected to a plurality of block encoders 520.
Figure 17 is the block scheme that the possible embodiment of the acquiescence compressor reducer 600 of the Figure 16 that is suitable for the iPackman scheme is shown.Acquiescence compressor reducer 600 comprises color quantizing device 610, and it determines the color showing of the color of the pictorial element in the image block, and quantizes these color showings.Color showing is the color of 24 bits of the pictorial element in two sub-pieces preferably, and is quantized into (15 a bit) color code word and (9 a bit) color distortion code word by quantizer 610 subsequently.
In acquiescence compressor reducer 600, provide luminance quantization device 620, be used to discern two brightness correction amount groups, to be used for the current images piece.Quantizer 620 preferably is arranged to and selects these correction groups from associated luminance table 640.Quantizer 620 produces two brightness code words that are associated with selected correction group subsequently.Compressor reducer 600 further comprises brightness selector switch 630, and it is to selecting the brightness correction amount among from the brightness correction amount group of being discerned of the pictorial element in the image block.
The unit 610,620 and 630 of acquiescence compressor reducer 600 can be provided as software, hardware or their combination.Unit 610,620,630 and 640 can realize in acquiescence compressor reducer 600 together.Selectively, distributed embodiment also is possible, and other place in block encoder provides some unit.
Figure 18 is the block scheme that the possible embodiment of the auxiliary compressor reducer 700 of the Figure 16 that is suitable for the iPackman scheme is shown.Auxiliary compressor reducer comprises color quantizing device 710, and it produces four (11 bit) color code words, and two this code words are used for each sub-piece of the image block that will be encoded.Color picker 720 is selected color index to the pictorial element of piece subsequently, and described color index is associated with one of four color code words that produced.In a preferred embodiment, it is predefined related that at least one pictorial element of each sub-piece and one of color code word have, and therefore without any need for color index.
The unit 710 and 720 of auxiliary compressor reducer 700 can be provided as software, hardware or their combination.Unit 710 and 720 can be realized in auxiliary compressor reducer 700 together.Selectively, distributed embodiment also is possible, some unit that other place in block encoder provides.
Selectively, or additionally, the auxiliary compressor reducer that is suitable for iPackman can be adjusted, and comprises that of being used for according to other previous described auxiliary compact model comes the functional of compressed picture blocks.
Figure 19 shows the block scheme according to the embodiment of image decoder 100 of the present invention.Image decoder 100 preferably includes piece selector switch 110, and it is suitable for for example selecting which coded picture block should be provided for block decoder 130 and decodes from storer.Piece selector switch 110 preferably for example receives the input information that is associated with coded image data from header or reproduction engine.Calculate the address of coded picture block subsequently with desired pictorial element based on this input information.The coordinate of the pictorial element (pixel or texel) in the image is preferably depended in the address that this calculated.Use this address, piece selector switch 110 is the recognition coding image block from storer.This coded picture block of discerning obtains from storer subsequently, and is provided for block decoder 130.
Needed those parts in the advantageously feasible optionally decoded picture of (at random) access of the pictorial element of image block.In addition, image can be decoded with the needed random order of data.For example, in texture, perhaps need only to shine upon the part texture, and these parts usually will be come needs with discontinuous order.Therefore, picture decoding of the present invention can be used for only handling a part or the segment of image valuably.
Selected coded picture block is forwarded in the block decoder 130 subsequently, and except image block, demoder 130 preferably receives the information which pictorial element of physical block should be decoded.This information can be specified the entire image piece, and promptly all images element wherein all should be decoded.But, the information that is received one or few images element that only identification should be decoded.Block decoder 130 produces the decoding of the pictorial element in the piece subsequently and represents.The preferably color of P bit is represented in this decoding, and wherein P is the amount of bits of each pictorial element in the original image, for example the RGB color of 24 bits.Block decoder 130 comprises acquiescence decompressor 200, and it is according to acquiescence the enterprising line operate of image block that compact model compressed.Thereby output is that the decompression of image block (part) or the acquiescence of processing are represented.Accordingly, auxiliary decompressor 300 is implemented and is used for the enterprising line operate of image block that compressed according to auxiliary compact model and the auxiliary expression of the decompression of output image piece.
In certain embodiments, acquiescence decompressor 200 and auxiliary decompressor 300 can be according at least two single combination decompressors that the decompression pattern is operated.When acquiescence or auxiliary decompressor were discussed, this was included in the combination decompressor of operation under acquiescence or the auxiliary mode equally.
In the embodiment of block decoder 130, mode detector 400 further is included in the demoder 130, is used to discern compression blocks and should be forwarded in which decompressor 200,300.The selection that this means decompressor/decompression pattern is in this embodiment prior to the processing of image block and be performed.As a result, each image block has only single decompression to represent and must be produced.
In alternate embodiments, compressed picture blocks is provided for acquiescence decompressor 200, auxiliary decompressor 300 and mode detector 400.Each decompressor 200,300 produces the decompression piece subsequently to be represented, and mode detector 400 produces a select command, and it is forwarded to presentation selector 140, and which kind of expression described presentation selector selects to have used.
In arbitrary embodiment, detecting device 400 is imported the bit sequence that compression blocks is represented by inquiry, and the selection sequence of investigating compression blocks more accurately, or its part is operated.In iPackman embodiment, this selects sequence to comprise the part of compression blocks of at least one color component of encoded colors code word and difference code word, promptly detect these two code words color component whether surpass the characteristic interval (overflowing) that is allowed with value.But, as certified previously, do not need whole sequence to select, but its least part.Be used for the possible embodiment of the overflow detector of iPackman shown in Figure 10 A and the 10B.At BTC[1], CCC[2], S3TC[3] or POOMA[5] in the embodiment, detecting device 400 is preferably investigated two (gray scale or color) code words in the compression blocks, if promptly they equate, then selects auxiliary decompressor 300, otherwise select acquiescence decompressor 200.
Selective image compositor (composer) 120 can provide in demoder 100.This compositor receives the decoded picture element from block decoder 130, and they are synthetic, to produce the pixel that can reappear or show on screen.Perhaps, compositor 130 needs a plurality of input picture unit usually to produce single pixel.This image synthesizer 130 can alternatively provide in graphics system.
The unit 110,120,130,140,200,300 and 400 of image decoder 100 can be provided as software, hardware or their combination.Unit 110,120,130,140,200,300 and 400 can realize in image decoder 100 together.Selectively, distributed embodiment also is possible, and other place in mobile unit provides some unit.
In the demoder embodiment of Figure 19, image decoder 100 comprises the single block decoder 130 with acquiescence decompressor 200 and auxiliary decompressor 300.In another embodiment, image decoder 100 comprises a plurality of block decoders 130.By visiting a plurality of block decoders 130, image decoder 100 can be handled (decoding) a plurality of coded picture block concurrently.These a plurality of block decoders 130 allow to handle concurrently, have increased the handling property and the efficient of image decoder 100 thus.For example, a decoded picture element is enough for the nearest neighbor interpolation generally, and bilinearity (trilinear) interpolation just needs four (eight) pictorial elements.In this case, each block decoder 100 can have acquiescence decompressor 200 and at least one auxiliary decompressor 300.Selectively, a subclass of block decoder 130 can be equipped with acquiescence decompressor 200, and remaining subclass has (identical or different) auxiliary decompressor 300.In this embodiment, detecting device 400 and presentation selector 140 can advantageously be realized in image decoder 100.
Figure 20 is the diagrammatic sketch of embodiment that is suitable for the acquiescence decompressor 200 of iPackman scheme.Acquiescence decompressor 200 comprises device 210, is used for providing brightness correction amount group from associated luminance table 250 based on the brightness code word.This provides device 210 to be arranged to and obtain first subclass of revising value from illuminometer 250, and determines second subclass of correction based on first subclass.All images element in the color generator 220 antithetical phrase pieces is based on the color code word, or produces single color showing based on color code word and color distortion code word.This generator 220 preferably is extended to 24 bits (RGB) color with 15 bit color of code word.
Brightness correction amount selector switch 230 is arranged for from by one that selects the device 210 correction groups that provided in the brightness correction value.Correction selector switch 230 is arranged to selects correct correction value to the pictorial element in the coded picture block based on the brightness index sequence.The extension color that comes from color generator 120 is forwarded to brilliance modulator or corrector 140 with the correction value that comes from correction selector switch 130, and it revises the brightness of the color component of extension color with the correction value.Corrector 140 can use weight brightness correction value, to different color components with different weights.In addition, color component has been in case carried out brightness correction, so corrector 140 preferably with the component clamper between minimum and maximum threshold value, for example between 0 to 255.
The unit 210,220,130,230 and 240 of acquiescence decompressor 200 can be provided as software, hardware or their combination.Unit 210,220,130,230,240 and 250 may be implemented together in the acquiescence decompressor 200.Selectively, distributed embodiment also is possible, and other place in mobile unit provides some unit.
Figure 21 is the diagrammatic sketch of embodiment that is suitable for the auxiliary decompressor 300 of iPackman scheme.Decompressor 300 comprises color generator 310, and it produces four color showings based on four color code words.This generator 310 preferably becomes 24 bits (RGB) color with (11 bit) color expansion of code word.
Color picker 320 is arranged for selecting color code word or color showing, with the subclass of the pictorial element that is used to use the color index sequence.Because the residuary subset of pictorial element has predefined relevant colors and represents (code word), therefore expression can be assigned to this (these) pictorial element simply, and need not to use index sequence.
No matter four color showings at first produce based on the color code word and carry out selection based on color index between in these, carry out color code word centre and selected color code word is expanded subsequently to produce color showing if still be chosen in, and all is identical from the viewpoint that decompresses.
The unit 310 and 320 of auxiliary decompressor 300 can be provided as software, hardware or their combination.Unit 310 and 320 can be realized in auxiliary decompressor 300 together.Selectively, distributed embodiment also is possible, and other place in image decoder provides some unit.
Figure 22 schematically shows the possible hardware embodiment of the default tile decompressor 200 that is suitable for the iPacakamn scheme.In the input block decompressor 200 is that encoding block represents 900, it comprises 15 bit color code words (red 912A, green 914A and blue 916A component are used 5 bits respectively), 9 bit difference color code words are (to each red 922A, green 924A and blue 926A component all are 3 bits), two 3 bit brightness code word 930A, 940A, one 32 bit brightness index sequence 950A, flip bits 960A and difference bit 970A.
Color quantizing device 220 is implemented as one group of multiplexer U221A, 224,225,226 and one groups of bit expander 227,228,229 of 222,223, one groups of totalizers.Two sub-pieces of 220 pairs of image blocks of this color quantizing device produce primary colours.For the first sub-piece, directly from color code word 912A, 914A obtains these primary colours among the 916A, in the case, multiplexer U221 therein, 222,223 output is zero.For the second sub-piece, multiplexer 221,222, each color component 922A of 223 output difference code words, 924A, 926A, it is by totalizer 224,225, and 226 are added to the color component 912A of color code word, and 914A is on the 916A.The component 922A of difference code word, 924A, the symbol of 926A preferably were extended to six bits before addition.For example, if (R, G, B)=(4,15,27), and (Δ R, Δ G, Δ B)=(4 ,-2,3), 15 so final bit color are (0,13,30).
After this, bit expander 227,228,229 will come from totalizer 224,225, and 226 5 bit values expand to 8 bit values.This can realize by fill the more low-order bit of losing with high order bit cheaplyer.For example, five bit values 10101 BinTo be converted into 10101101 Bin, and the example of five bits above us (0,13,30) will become (0,107,247).
Correction selector switch 230 comprises two multiplexers 232,234, wherein the first multiplexer V232 selects to adopt two brightness code word 930A for a particular image element, among the 940A which, and second multiplexer 234 is selected the brightness index of these pictorial elements.3 bit brightness code word 930A, 940A are supplied to table inquiry 215, and it is a kind of embodiment that the correction group provides device 210 and illuminometer 250.Use (for example) brightness code word 011 BinMean that following correction group [42 ,-13,13,42}] is selected, referring to following table 6
Table 6
The brightness code word 000 bin 001 bin 010 bin 011 bin 100 bin ?101 bin 110 bin 111 bin
-8 -17 -29 -42 -60 ?-80 -106 -183
-2 -5 -9 -13 -18 ?-24 -33 -47
2 5 9 13 18 ?24 33 47
8 17 29 42 60 ?80 106 183
Table 6 is made of eight different brightness correction amount groups, and each comprises that all four are revised value.This table is by beginning to produce from random number, and optimizes them by the error that minimizes one group of training image subsequently.Note third and fourth value that first and second values of each correction are preferably negated.Therefore, have only 16 numbers to be stored, and can therefrom obtain remaining 16 values.
Multiplexer 234 uses four input bits (allocation index) to select which pictorial element to decompress.2 final bit brightness index are forwarded in the table inquiry 215, and it selects a specific correction value from four numbers of selected correction group.For example, if pixel index is 11 Bin, selected correction group above using, revising value so is-42.
At last, be embodied as 240 pairs of final decompression color values of pictorial elements generation of brightness correction device of three totalizers 241,242,243 and clamper 244,245,246.Totalizer 241,242,243 will come from the correction value of table inquiry and come from bit expander 227,228, and 229 expansion base form and aspect add.Color for example is clamped at 0 minimum and allows color value and for example 255 maximum to allow between the color value subsequently.For top example, we will obtain (0,107,247)+(42,42,42)=(42,149,255), and its intermediate value is clamped to [0,255].
Multiplexer 221,222,223,232 with U and V mark is operated by the signal U and the V that come from steering logic 260.Steering logic 260 is obtained input parameter diffbit (difference bit), flipbit (flip bits) and w=ω 3ω 2ω 1ω 0, wherein w is 4 bit addresses index of describing which texel (pictorial element) that will decompress.Bit ω 3ω 2Comprise the y coordinate in the piece, and ω 1ω 0Comprise the x coordinate.
U=diffbit?AND?V
V=(flipbit?ANDω 1)0R(flipbit?ANDω 3),
Wherein  is non-operator.
Figure 23 schematically shows the possible hardware embodiment of the auxiliary block decompressor 300 that is suitable for the iPackman scheme.Input block decompressor 300 be that encoding block represents 900, it comprises that four 11 bit color code words are (for red 912B, 922B, 932B, 942B and green 914B, 924B, 934B and 944B component are respectively 4 bits, and for blue component 916B, 926B, 936B, 946B is 3 bits), 28 bit color index sequence 950B, flip bits 960B, difference bit 970B and (4 bit) are selected sequence 981, are used for compression blocks 900 is identified as and can be handled by aided decoder 300.This auxiliary block demoder 300 will not use the selection sequence 981 of compression blocks 900, and also usage variance bit 970B not is used to the purpose of decoding.The actual bit of noting compression blocks 900 among Figure 23 and Figure 22 arrange can be to that indicated in the drawings different.
The color picker 320 of decompressor 300 comprises two groups of multiplexers 321 to 329 and single multiplexer 330.Multiplexer 330 is selected color index for wanting decoded pictorial element.The allocation index of pictorial element selected to be based in this index.Therefore there is predefined relevant code word in attention for one in the pictorial element of each sub-piece, and pictorial element does not hereto have color index in index sequence 950B.If that pictorial element is to want decoded, defined as allocation index so, the predefined value 0 of multiplexer 330 outputs Bin(or 1 Bin).
The output X that comes from steering logic 340 is used by first group of multiplexer 321 to 326, with at the first color code word 912B, 914B, 916B and the 3rd color code word 932B, 934B is between the 936B and at the second color code word 922B, 924B, 926B and the 4th color code word 942B, 944B selects between the 946B.This corresponds essentially to two selections between the sub-piece, because the first color code word 912B, 914B, the 916B and the second color code word 922B, 924B, 926B is exclusively used in the first sub-piece, and the 3rd color code word 932B, 934B, 936B and the 4th color code word 942B, 944B, 946B are applicable to the second sub-piece.The selection subsequently of (in the sub-piece) color code word, promptly respectively at the first color code word 912B, 914B, the 916B and the second color code word 922B, 924B, 926B and the 3rd color code word 932B, 934B, 936B and the 4th color code word 942B, 944B, selection between the 946B is finished based on the output W that comes from multiplexer 300 by second group of multiplexer W.
The color component of the color code word of Xuan Zeing is forwarded in the bit expander 311,312,313 of color generator 310 at last.These bit expander 311,312,313 preferably by repeating the bit pattern of color component, are extended to 8 bit color components with 4 bits or 3 bit color components, and for example 101 Bin(1011 Bin) to be expanded be 10110110 Bin(10111011 Bin).
Multiplexer 321 to 326 with the X mark is operated by the signal X that comes from steering logic 340.Steering logic 340 is obtained input parameter flipbit and w=ω 3ω 2ω 1ω 0, wherein w is 4 bit addresses index of describing which texel that will decompress.Bit ω 3ω 2Comprise the y coordinate in the piece, and ω 1ω 0Comprise the x coordinate.
X=(flipbit?ANDω 1)OR(flipbit?ANDω 3)
Wherein  is the inverse symbol.
What those skilled in the art will understand that is that from carrying on the back by the defined scope of claims, the present invention can not make various modifications and variations.
List of references
[1] Delp., Mitchell:Image Compression using Block TruncationCoding (using the compression of images of block truncation coding), IEEE Transations onCommunication 2,9 (1979), 1335-1342.
[2] Campbell, Defant, Frederiksen, Joyce, Leske, Lindberg, Sandin:TwoBit/Pixel Full Color Encoding (the full color coding of dibit/pixel), InProceedings of SIGGRAPH (1986), vol.22, pp.215-223.
[3] United States Patent (USP) 5956431.
[4] McCabe, Brothers:DirectX 6 Texture Map Compression (compression of DirectX6 texture), Game Developer Magazine5,8 (Augusts 1998), 42-46.
[5] Akenine-M  ller, the Str  m:Graphics for the Masses:A HardwareRasterization Architechture for Mobile Phones (figure that is used for piece: the hardware rasterisation texture that is used for mobile phone), ACM Transations on Graphics, 22,3 (2003), 801-808.
[6] Fenney:Texture Compression using Low-Frequency SignalModulation (using the texture compression of low frequency signal modulation), In Graphics Hardware (2003), ACM Press, pp.84-91.
[7] international application no PCT/SE2004/001922.
[8] Swedish patent application 0303497-2.
[9] international application no PCT/SE2004/001120.
[10] Str  m, and Akenine-M  ller:PACKMAN:Texture Compression forMobile Phones (PACKMAN: the texture compression that is used for mobile phone), In Sketchesprogram at SIGGRAPH (2004).

Claims (44)

1, a kind of processing comprises the method for compression expression (900) of the image block (800) of a plurality of pictorial elements (810), and described method comprises step:
Selection part (980 based on described compression expression (900); 981) detect and be not suitable for the compression expression (900) handled by the default treatment pattern; And
Represent by the decompression that the first auxiliary payload portions (990) according to the described compression expression of the first auxiliary process mode treatment (900) produces at least a portion of described image block (800), the described first auxiliary payload portions (990) is less than the corresponding default payload part (980,990) of employed described compression expression (900) when according to the described compression expression of described default treatment mode treatment (900).
2, a kind of processing comprises the method for compression expression (900) of the image block (800) of a plurality of pictorial elements (810), and described method comprises step:
Represent by the decompression that the first auxiliary payload portions (990) according to the described compression expression of the first auxiliary process mode treatment (900) produces at least a portion of described image block (800);
By default payload part (980 according to the described compression expression of default treatment mode treatment (900), 990) decompression that produces described at least a portion of described image block (800) is represented, described default payload part (980,990) is greater than the described first auxiliary payload portions (990); And
Selection part (980 based on described compression expression (900); 981), between representing and represent according to the decompression that described default treatment pattern is produced, the described decompression that is produced according to described auxiliary process pattern selects.
3, according to the method for claim 1 or 2, wherein said default payload part (980,990) comprises the described first auxiliary payload portions (990) and described selection part (980; 981).
4, according to any one method in the claim 1 to 3, at least one that wherein said selection part (980) expression is following:
In described default treatment pattern, be used to indicate first (912A) and second (922A) code word of identical image element correlation properties;
In described default treatment pattern, be used to indicate described first (912A) of described identical image element correlation properties and the subsequence of second (922A) code word; And
In described default treatment pattern, be used to indicate the index sequence of a plurality of pictorial element relative indexes.
5,, wherein detect at least one in comprising the following steps of step according to the method for claim 4:
By detect described first (912A) and second (922A) code word with value representation outside according to the admissible characteristic of described default treatment pattern interval, detect described compression expression (900) for being not suitable for described default treatment pattern;
If described first code word equates with described second code word, detect described compression expression (900) so for being not suitable for described default treatment pattern; And
If the described index of described index sequence equates, detects described compression expression (900) so for being not suitable for described default treatment pattern.
6, according to the method for claim 4, at least one during wherein said selection step comprises the following steps:
By detect described first (912A) and second (922A) code word with value representation outside according to the admissible characteristic of described default treatment pattern interval, select to represent according to the described decompression that the described first auxiliary process pattern is produced;
If described first code word equates with described second code word, select so to represent according to the described decompression that the described first auxiliary process pattern is produced; And
If the described index of described index sequence equates, selects so to represent according to the described decompression that the described first auxiliary process pattern is produced.
7, according to any one method in the claim 1 to 6, the described default payload part of wherein said compression expression (900) is interpreted as comprising first (910A) and second (920A) color code word according to described default treatment pattern, first (930A) and second (940A) brightness code word, and brightness index sequence (950A), and described default treatment pattern comprises step:
Provide one group of a plurality of brightness correction amount based on described first (930A) or second (940A) brightness code word;
For at least one pictorial element (810) in the described image block (800):
Produce color showing based on the described first color code word (910A) or described first (910A) and second (920A) color code word with value;
From described brightness correction amount group, select the brightness correction amount based on described brightness index sequence (950A); And
Revise the brightness of described at least one pictorial element (810) based on selected brightness correction amount.
8, according to any one method in the claim 1 to 7, the described first auxiliary payload portions of wherein said compression expression (900) is interpreted as comprising first (910B), second (920B), the 3rd (930B) and the 4th (940B) color code word and color index sequence (950B) according to the described first auxiliary process pattern, and described at least one auxiliary process pattern comprises step:
Produce color showing based on selected at least one color code word from described first (910B), second (920B), the 3rd (930B) and the 4th (940B) color code word.
9, method according to Claim 8, wherein for each pictorial element (810) in first subclass of described a plurality of pictorial elements, described color index sequence comprises the color index that is associated with described first (910B) or second (920B) color code word, each pictorial element (810) in second subclass of described a plurality of pictorial elements all is associated with selected predefined color code word from described first (910B) or second (920B) color code word, and described color index sequence (950B) all comprises the color index that is associated with described the 3rd (930B) or the 4th (940B) color code word for each pictorial element (810) in the three subsetss of described a plurality of pictorial elements, and each pictorial element (810) in remaining the 4th subclass of described a plurality of pictorial elements all is associated with selected predefined color code word from described the 3rd (930B) or the 4th (940B) color code word.
10, according to any one method in the claim 1 to 9, wherein when handling according to described default treatment pattern, the sequence (981 of described selection part (980A) expression first (912A) and second (922A) code word; 983), this sequence is represented first component of identical image element correlation properties, and when handling according to described default treatment pattern, described compression expression (900) comprises that second selects part (980B), it is illustrated in the 3rd (914A) of the second component that is used to indicate described identical image element correlation properties in the described default treatment pattern and the sequence of the 4th (924A) code word, and data sequence (990B).
11, method according to claim 10, further comprise step: based on the described sequence (981) of described first (912A) and second (922A) code word, or based on described sequence (983) of described first (912A) and second (922A) code word and the described sequence (984) of described the 3rd (914A) and the 4th (924A) code word, between the described first auxiliary process pattern and the second auxiliary process pattern, select, the described second auxiliary process pattern is suitable for handling the second auxiliary payload portions (990B) of described compression expression (900), and the described second auxiliary payload portions (990B) is less than the described first auxiliary payload portions (990A).
12, method according to claim 10, further comprise step: represent by the decompression that the second auxiliary payload portions (990B) according to the described compression expression of the second auxiliary process mode treatment (900) produces described at least a portion of described image block, the described second auxiliary payload portions (990B) is less than the described first auxiliary payload portions (990A), wherein said selection step comprises step: based on the described sequence (981) of described first (912A) and second (922A) code word, or, select to represent according to the decompression that described default treatment pattern is produced based on described sequence (983) of described first (912A) and second (922A) code word and the described sequence (984) of described the 3rd (914A) and the 4th (924A) code word, represent according to the decompression that the described first auxiliary process pattern is produced, and represent according to the described decompression that the described second auxiliary process pattern is produced.
13, according to any one method in the claim 10 to 12, wherein said compression expression (900) comprises that the 3rd selects part (980C), when handling according to described default treatment pattern, the 3rd selection portion branch is illustrated in employed the 5th (916A) of three-component of the described identical image element correlation properties of expression in the described default treatment pattern and the sequence (987) of the 6th (926A) code word.
14, method according to claim 13, further comprise step: based on the described sequence (981) of described first (912A) and second (922A) code word, based on described sequence (983) of described first (912A) and second (922A) code word and the described sequence (984) of described the 3rd (914A) and the 4th (924A) code word, or based on the described sequence (983) of described first (912A) and second (922A) code word, the described sequence (987) of described sequence (985) of described the 3rd (914A) and the 4th (924A) code word and described the 5th (916A) and the 6th (926A) code word is in the described first auxiliary process pattern, the described second auxiliary process pattern and the 3rd is selected between assisting.
15, method according to claim 13, further comprise step: represent by the decompression that the 3rd auxiliary payload portions (990C) according to the described compression expression of the 3rd auxiliary process mode treatment (900) produces described at least a portion of described image block, the described the 3rd auxiliary payload portions (990C) is less than the described second auxiliary payload portions (990B), wherein said selection step comprises step: based on the described sequence (981) of described first (912A) and second (922A) code word, based on described sequence (983) of described first (912A) and second (922A) code word and the described sequence (984) of described the 3rd (914A) and the 4th (924A) code word, or based on the described sequence (983) of described first (912A) and second (922A) code word, the described sequence (987) of described sequence (985) of described the 3rd (914A) and the 4th (924A) code word and described the 5th (916A) and the 6th (926A) code word is selected to represent according to the decompression that described default treatment pattern is produced, represent according to the decompression that the described first auxiliary process pattern is produced, represent according to the described decompression that the described second auxiliary process pattern is produced, and represent according to the decompression that described the 3rd auxiliary process pattern is produced.
16, a kind of generation comprises the method for compression expression (900) of the image block (800) of a plurality of pictorial elements (810), and described method comprises step:
By compressing the acquiescence compression expression (900) that described image block (800) produces described image block (800) according to the acquiescence compact model, described acquiescence compression expression (900) comprises the default payload part (980,990) that is used to represent described image block (800);
Calculate indication and represent that with described acquiescence compression expression (900) first error of described image block (800) represents;
By compress at least one auxiliary compression expression (900) that described image block (800) produces described image block (800) according at least one auxiliary compact model, described at least one auxiliary compression expression (900) comprises the auxiliary payload portions (900) that is used to represent described image block (800), described auxiliary payload portions (990) is less than described default payload part (980,990);
Calculate indication and represent that with described at least one auxiliary compression expression (900) at least one second error of described image block (800) represents; And
From described acquiescence (900) and described at least one auxiliary (900) compression expression, select to represent the compression expression (900) that is associated with least error, selection part (980, the 981) indication of wherein selected compression expression (900) is used to produce the compact model of described compression expression (900).
17, a kind of generation comprises the method for compression expression (900) of the image block (800) of a plurality of pictorial elements (810), and described method comprises step:
Characteristic investigation based on the described pictorial element (810) in the described image block (800) selects compact model from acquiescence compact model and auxiliary compact model;
Produce described compression expression (900) by compress described image block (800) according to selected compact model, wherein said acquiescence compact model produces and comprises the default payload part (980 that is used to represent described image block (800), 990) acquiescence compression expression (900), and described auxiliary compact model produces the auxiliary compression expression (900) that comprises the auxiliary payload portions (990) that is used to represent described image block (800), described auxiliary payload portions (990) is less than described default payload part (980,990); And
The selection part (980,981) of setting described compression expression (900) is to indicate selected compact model.
18, according to the method for claim 16 or 17, wherein said default payload part (980,990) comprises described auxiliary payload portions (990) and described selection part (980,981).
19, according to any one method in the claim 16 to 18, wherein said selection part (980) is represented at least one:
In described default treatment pattern, be used to indicate first (912A) and second (922A) code word of identical image element correlation properties;
In described default treatment pattern, be used to indicate described first (912A) of described identical image element correlation properties and the subsequence of second (922A) code word; And
In described default treatment pattern, be used to indicate the index sequence of a plurality of pictorial element relative indexes.
20, according to the method for claim 19, if described selected compression expression (900) produces according to described acquiescence compact model, so described first (912A) and second (922A) code word with value representation in admissible characteristic interval, if and described selected compression expression (900) produces according to described at least one auxiliary compact model, so described and value representation exceeds described admissible characteristic interval.
21, according to the method for claim 16, the step of the described acquiescence compression expression of wherein said generation (900) comprises step:
Determine first (910A) and second (920A) color code word, they represent the color of the described pictorial element (810) in the described image block (800);
First (930A) and second (940A) brightness code word are provided, and their expressions are used to revise a plurality of brightness correction amount groups of brightness of the described pictorial element (810) of described image block (800); And
To each pictorial element (810) in the described image block (800), select a brightness index that is associated with brightness correction amount in the described brightness correction amount group.
22, according to the method for claim 16 or 21, the step of described at least one the auxiliary compression expression (900) of wherein said generation comprises step:
Determine first (910B), second (920B), the 3rd (930B) and the 4th (940B) color code word, they represent the color showing of the described pictorial element (810) of described image block (800); And
The color that selection is associated with selected color code word from described first (910B), second (920B), the 3rd (930B) and the 4th (940B) color code word to each pictorial element (810) at least one subclass of described a plurality of pictorial elements.
23, a kind of processing comprises the system (130) of compression expression (900) of the image block (800) of a plurality of pictorial elements (810), and described system (130) comprising:
A detecting device (400) is used for the selection part (980 based on described compression expression (900); 981) detect and be not suitable for the compression expression (900) handled by default decoder (200); And
An aided decoder (300), be used for representing by the decompression that the first auxiliary payload portions (990) according to the described compression expression of the first auxiliary process mode treatment (900) produces at least a portion of described image block (800), the described first auxiliary payload portions (990) is less than the corresponding default payload part (980,990) of employed described compression expression (900) when default decoder (200) is handled described compression expression according to described default treatment pattern.
24, a kind of system (130) that is used for handling the compression expression (900) of the image block (800) comprise a plurality of pictorial elements (810), described system (130) comprising:
A default decoder (200) is used for representing by the decompression that produces at least a portion of described image block (800) according to the default payload of the described compression expression of default treatment mode treatment (900) part (980,990);
An aided decoder (300), be used for representing by the decompression that the first auxiliary payload portions (990) according to the described compression expression of the first auxiliary process mode treatment (900) produces described at least a portion of described image block (800), the described first auxiliary payload portions (990) is less than described default payload part (980,990); And
A selector switch (140,400) is used for the first (980 based on described compression expression (900); 981), between representing and represented by the described decompression that described aided decoder (300) is produced, the described decompression that is produced by described default decoder (200) selects.
25, according to the system of claim 23 or 24, wherein said default payload part (980,990) comprises the described first auxiliary payload portions (990) and described selection part (980; 981).
26, according to any one system in the claim 23 to 25, wherein said selection part (980) is represented at least one:
When handling, being used to indicate first (912A) and second (922A) code word of identical image element correlation properties by described default decoder (200);
When handling, being used to indicate described first (912A) of described identical image element correlation properties and the subsequence of second (922A) code word by described default decoder (200); And
When handling, being used to indicate the index sequence of a plurality of pictorial element relative indexes by described default decoder (200).
27, according to the system of claim 26, wherein said detecting device (400) is arranged to carries out at least one following operation:
By detect described first (912A) and second (922A) code word with value representation outside the characteristic interval, detect described compression expression (900) for being not suitable for described default decoder (200);
If described first code word equates with described second code word, detect described compression expression (900) so for being not suitable for described default decoder (200); And
If the described index of described index sequence equates, detects described compression expression (900) so for being not suitable for described default decoder (200).
28, according to the system of claim 26, wherein said selector switch (140) is arranged to carries out at least one following operation:
By detect described first (912A) and second (922A) code word with value representation outside the characteristic interval, select to represent by the described decompression that described aided decoder (300) is produced;
If described first code word equates with described second code word, select so to represent by the described decompression that described aided decoder (300) is produced; And
If the described index of described index sequence equates, selects so to be represented by the described decompression that described aided decoder (300) is produced.
29, according to any one system in the claim 23 to 28, the described default payload part (980 of wherein said compression expression (900), 990) be interpreted as comprising first (910A) and second (920A) color code word by described default decoder (200), first (930A) and second (940A) brightness code word, and brightness index sequence (950A), and described default decoder (200) comprising:
Be used for providing the device (210) of one group of a plurality of brightness correction amount based on described first (930A) or second (940A) brightness code word;
Be used at least one pictorial element (810), produce the device (220) of color showing with value based on the described first color code word (910A) or described first (910A) and second (920A) color code word for described image block (800);
Selector switch (230) is used for selecting the brightness correction amount from described brightness correction amount group based on described brightness index sequence (950A); And
Corrector (240) is used for revising based on selected brightness correction amount the brightness of described at least one pictorial element (810).
30, according to any one system in the claim 23 to 29, the described first auxiliary payload portions (990) of wherein said compression expression (900) is interpreted as comprising first (910B) by described aided decoder (300), second (920B), the 3rd (930B) and the 4th (940B) color code word, and color index sequence (950B), and described default decoder (300) comprises and being used for based on from described first (910B), second (920B), selected at least one color code word produces the device (310) of color showing in the 3rd (930B) and the 4th (940B) color code word.
31, according to any one system in the claim 23 to 30, wherein when by described default decoder (200) when handling, the sequence (981 of described selection part (980A) expression first (912A) and second (922A) code word; 983), described sequence is at first component that is used to indicate identical image element correlation properties by described default decoder (200) when handling, and when handling according to described default treatment pattern, described compression expression (900) comprises that second selects part (980B), its expression is when the 3rd (914A) of the second component that is used to indicate described identical image element correlation properties by described default decoder (200) when handling and the sequence (984) of the 4th (924A) code word, and data sequence (990B).
32, system according to claim 31, further comprise a selector switch (140,400), be used for described sequence (981) based on described first (912A) and second (922A) code word, or based on described sequence (983) of described first (912A) and second (922A) code word and the described sequence (984) of described the 3rd (914A) and the 4th (924A) code word, between the described first auxiliary process pattern and the second auxiliary process pattern, select, wherein said aided decoder (300) is according to handling described compression expression (900) by the selected auxiliary process pattern of described selector switch (140,400).
33, system according to claim 32, wherein said default decoder (300) is arranged to the decompression that produces described at least a portion of described image block by the second auxiliary payload portions (990B) according to the described compression expression of the second auxiliary process mode treatment (900) and represents, the described second auxiliary payload portions (990B) is less than the described first auxiliary payload portions (990A), wherein said selector switch (140,400) be arranged to based on the described sequence (981) of described first (912A) and second (922A) code word or based on described sequence (983) of described first (912A) and second (922A) code word and the described sequence (984) of described the 3rd (914A) and the 4th (924A) code word, select to represent by the described decompression that described default decoder (200) is produced, represent according to the decompression that the described first auxiliary process pattern is produced by described aided decoder (300), and represent according to the described decompression that the described second auxiliary process pattern is produced by described aided decoder (300).
34, according to any one system in the claim 31 to 33, wherein said compression expression (900) comprises that the 3rd selects part (980C), when by described default decoder (200) when handling, described the 3rd selection portion divides expression when being used to indicate three-component the 5th (916A) of described identical image element correlation properties and the sequence (987) of the 6th (926A) code word when handling by described default decoder (200).
35, system according to claim 34, further comprise a selector switch (140,400), be used for described sequence (981) based on described first (912A) and second (922A) code word, based on described sequence (983) of described first (912A) and second (922A) code word and the described sequence (984) of described the 3rd (914A) and the 4th (924A) code word, or based on the described sequence (983) of described first (912A) and second (922A) code word, the described sequence (987) of described sequence (985) of described the 3rd (914A) and the 4th (924A) code word and described the 5th (916A) and the 6th (926A) code word is in the described first auxiliary process pattern, the described second auxiliary process pattern and the 3rd is selected between assisting.
36, system according to claim 34, wherein said default decoder (300) is arranged to the decompression that produces described at least a portion of described image block (800) by the 3rd auxiliary payload portions (990C) according to the described compression expression of the 3rd auxiliary process mode treatment (900) and represents, the described the 3rd auxiliary payload portions (990C) is less than described second payload portions (990B), wherein said selector switch (140,400) be arranged to described sequence (981) based on described first (912A) and second (922A) code word, based on the described sequence (984) of the described sequence (983) of described first (912A) and second (922A) code word and described the 3rd (914A) and the 4th (924A) code word or based on the described sequence (983) of described first (912A) and second (922A) code word, the described sequence (987) of described sequence (985) of described the 3rd (914A) and the 4th (924A) code word and described the 5th (916A) and the 6th (926A) code word is selected to be represented by the decompression that described default decoder (200) is produced, represent according to the decompression that the described first auxiliary process pattern is produced by described aided decoder (300), represent according to the described decompression that the described second auxiliary process pattern is produced by described aided decoder (300), and represent according to the decompression that described the 3rd auxiliary process pattern is produced by described aided decoder (300).
37, a kind of system (520) that is used for producing the compression expression (900) of the image block (800) comprise a plurality of pictorial elements (810), described system (520) comprising:
An acquiescence scrambler (600), be used for by compressing the acquiescence compression expression (900) that described image block (800) produces described image block (800) according to the acquiescence compact model, described acquiescence compression expression (900) comprises the default payload part (980,990) that is used to represent described image block (800);
Be used to calculate an indication and represent the device (530) that first error of described image block (800) is represented with described acquiescence compression expression (900);
An auxiliaring coding device (700), be used for by compress at least one auxiliary compression expression (900) that described image block (800) produces described image block (800) according at least one auxiliary compact model, described at least one auxiliary compression expression (900) comprises the first auxiliary payload portions (900) that is used to represent described image block (800), the described first auxiliary payload portions (990) is less than described default payload part (980,990);
Being used to calculate at least one indication utilizes described at least one auxiliary compression expression (900) to represent the device (530) that second error of described image block (800) is represented; And
Selector switch (540), be used for from described acquiescence (900) and described at least one auxiliary (900) compression expression is selected and least error is represented the compression expression (900) that is associated, selection part (980, the 981) indication of wherein selected compression expression (980) is used to produce the compact model of described compression expression (980).
38, a kind of system (520) that is used for producing the compression expression (900) of the image block (800) comprise a plurality of pictorial elements (810), described system (520) comprising:
Scrambler selector switch (540) is used for coming from acquiescence scrambler (600) and auxiliaring coding device (700) selection block encoder based on the characteristic investigation of the described pictorial element (810) of described image block (800);
Described acquiescence scrambler (600) is adapted to pass through according to the acquiescence compact model and compresses the acquiescence compression expression (900) that described image block (800) produces described image block, described acquiescence compression expression (900) comprises the default payload part (980,990) that is used to represent described image block (800);
Described auxiliaring coding device (600) is adapted to pass through according to auxiliary compact model and compresses the auxiliary compression expression (900) that described image block (800) produces described image block, described auxiliary compression expression (900) comprises the auxiliary payload portions (990) that is used to represent described image block (800), described auxiliary payload portions (990) is less than described default payload part (980,990); And
Be used to set selection part (980,981) device (600,700) of described compression expression (900) to indicate described selected block encoder.
39, according to the system of claim 37 or 38, wherein said default payload part (980,990) comprises described auxiliary payload portions (990) and described selection part (980,981).
40, according to any one system in the claim 37 to 39, wherein said selection part (980) is represented at least one:
When handling, being used to indicate first (912A) and second (922A) code word of identical image element correlation properties by described acquiescence scrambler (600);
When handling, being used to indicate described first (912A) of described identical image element correlation properties and the subsequence of second (922A) code word by described acquiescence scrambler (600); And
When handling, being used to indicate the index sequence of a plurality of pictorial element relative indexes by described acquiescence scrambler (600).
41, according to the system of claim 40, if wherein selected compression expression (900) is produced by described acquiescence scrambler (600), so described first (912A) and second (922A) code word with value representation in admissible characteristic interval, if and selected compression expression (900) produces by described auxiliaring coding device (700), so described and value representation exceeds described admissible characteristic interval.
42, according to any one the system in the claim 37 to 43, wherein said acquiescence scrambler (600) comprising:
Be used for determining the device (610) of first (910A) and second (920A) color code word, described color code word is represented the color of the described pictorial element (810) of described image block (800);
Be used to provide the device (620) of first (930A) and second (940A) brightness code word, described brightness code word represents to be used to revise a plurality of brightness correction amount groups of brightness of the described pictorial element (810) of described image block (800); And
Selector switch (630) is used for each pictorial element (810) of described image block (800) is selected the brightness index that is associated with the brightness correction amount from described brightness correction amount group.
43, according to any one system in the claim 37 to 42, wherein said auxiliaring coding device (700) comprising:
Be used for determining the device (710) of first (910B), second (920B), the 3rd (930B) and the 4th (940B) color code word, these color code words are represented the color of the described pictorial element (810) of described image block (800); And
Selector switch (720) is used for each pictorial element (810) of at least one subclass of described a plurality of pictorial elements is selected the color that is associated with selected color code word from described first (910B), second (920B), the 3rd (930B) and the 4th (940B) color code word.
44, a kind of user terminal (1) comprises according to any one system in the claim 23 to 43.
CNB2005800302157A 2004-07-08 2005-07-01 Multi-modality image disposal route and system Active CN100573587C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE04018511 2004-07-08
SE0401851A SE0401851D0 (en) 2004-07-08 2004-07-08 Image processing
SE05012604 2005-05-27

Publications (2)

Publication Number Publication Date
CN101014980A true CN101014980A (en) 2007-08-08
CN100573587C CN100573587C (en) 2009-12-23

Family

ID=32867235

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800302157A Active CN100573587C (en) 2004-07-08 2005-07-01 Multi-modality image disposal route and system

Country Status (2)

Country Link
CN (1) CN100573587C (en)
SE (1) SE0401851D0 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104012097A (en) * 2011-12-20 2014-08-27 想象技术有限公司 Method and apparatus for compressing and decompressing data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104012097A (en) * 2011-12-20 2014-08-27 想象技术有限公司 Method and apparatus for compressing and decompressing data
CN104012097B (en) * 2011-12-20 2019-04-09 想象技术有限公司 Method and apparatus for compression and decompression data
US10291926B2 (en) 2011-12-20 2019-05-14 Imagination Technologies Limited Method and apparatus for compressing and decompressing data

Also Published As

Publication number Publication date
SE0401851D0 (en) 2004-07-08
CN100573587C (en) 2009-12-23

Similar Documents

Publication Publication Date Title
CN101919254B (en) Prediction-based image processing
JP4805924B2 (en) Method, system for multi-mode image processing, and user terminal comprising the system
CN100550057C (en) Flame Image Process
CN101233542B (en) Weight based image processing
CN101258526B (en) Texture compression based on two hues with modified brightness
EP2128822B1 (en) Index-based pixel block processing
EP1977605B1 (en) Image processing
US20090202159A1 (en) Image Processing
WO2005059837A1 (en) Alpha image processing
WO2007117206A2 (en) High quality image processing
EP1886277A1 (en) Weight based image processing
CN100573587C (en) Multi-modality image disposal route and system
JP2001218226A (en) Image data compressor, image data compression method and computer-readable recording medium recording program to compress received image data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1109674

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1109674

Country of ref document: HK