Method for processing images

FIELD: image processing systems, in particular, methods and systems for encoding and decoding images.

SUBSTANCE: in accordance to the invention, input image is divided onto several image blocks (600), containing several image elements (610), further image blocks (600) are encoded to form encoded representations (700) of blocks, which contains color code word (710), intensity code word (720) and intensity representations series (730). Color code word (710) is a representation of colors of elements (610) of image block (600). Intensity code word (720) is a representation of a set of several intensity modifiers for modification of intensity of elements (610) in image block (600), and series (730) of representations includes representation of intensity for each element (610) in image block (600), where the series identifies one of intensity modifiers in a set of intensity modifiers. In process of decoding, code words (710, 720) of colors and intensity and intensity representation (730) are used to generate decoded representation of elements (610) in image block (600).

EFFECT: increased efficiency of processing, encoding/decoding of images for adaptation in mobile devices with low volume and productivity of memory.

9 cl, 21 dwg, 3 tbl

 

The technical field

The present invention in General relates to image processing, in particular to methods and systems for encoding and decoding images.

The level of technology

Representation and rendering of images and graphics in data processing systems and subscriber terminals, such as computers, in particular in mobile terminals has increased tremendously in recent years. For example, three-dimensional (3D) graphics and images have a number of attractive options for use in such terminals, including games, three-dimensional maps and messaging, screen savers and human-machine interfaces.

Processing three-dimensional graphics typically contains three sub-phases. Briefly, the first stage, application stage, creates multiple triangles. The angles of these triangles are transformed, projected and highlights in the second stage, the geometric phase. At the third stage, the stage rasterization, image, often called textures, can be "imposed" on triangles, increasing the realism of the rendered image. The third stage performs the sorting z-buffer.

However, the rendering of images and textures, in particular, three-dimensional images and graphics, is a demanding task in relation to bandwidth capable of being the particular memory and processing power, required for graphic systems. For example, texture demanding both in terms of memory, the texture should fit comes in fast memory, and memory bandwidth, the texture can be accessed several times in order to draw one pixel.

To reduce bandwidth requirements and processing power, typically used a method or system of coding images (textures). This coding system should lead to more efficient use of expensive comes memory and less memory bandwidth during rendering, and, thus, less power consumption and/or faster the rendering. This reduction of bandwidth requirements and processing power is especially important for thin clients such as mobile phones and devices with small memory, small memory bandwidth and limited power (powered by batteries).

Delp and Mitchell [1] describe a simple scheme, called truncated block coding (BTC), for encoding images. This scheme encodes the image scale of gray levels by accounting for the block in 4 pixels x 4 pixels at a time. For each such block is generated by two 8-bit scale value at owney gray, and each pixel in the block then uses one bit to index one of these scales of gray levels. This leads to a compression speed of 2 bits per pixel (bpp). However, BTC suffers from distorted images, mainly in the areas around the edges and in areas of weak contrast, contains an inclined level of gray. Moreover, the edges of the image scale of gray levels, which are processed by BTC, tend to be uneven.

A simple extension of BTC, called compression colored cells (CCC)presented by Campbell and others [2]. Instead of using two 8-bit values of the scale of gray levels for each block in the image two 8-bit values are used as indexes in the color palette. This palette contains 256 colors represented by 8 bits for each component R, G, and b 8-bit index in this case indicates (24-bit) color palette. This gives you the ability to compress images at 2 bpp. However, this requires search memory in the palette. In addition, the palette is limited in size. Scheme CCC also provides a large color irregularities and bad encodes when there are more than two colors in the block of images.

In the description of the patent specification [3], Iourcha and others, revealed a compression scheme textures, called S3TC (S3 texture compression) or DXTC (DirectX texture compression), which may be rasm is considered as an extension of the CCC. The image is decomposed into a number of image blocks of 4 pixels x 4 pixels. Each block of the image is encoded in the bit sequence of 64 bits, thereby causing compression speed in 4 bpp. 64-bit sequence contains two basic colors or color code words (16 bits each) and 32-bit sequence of 2-bit indices, one index for each pixel in the block of images. During decoding is generated color palette of four colors. The first two RGB (red, green, and blue) colors correspond to two of the primary colors (code words). Two additional colors, located between the main colors in RGB space, then they are interpolated. Each 2-bit index in this case identifies, for each pixel in one of four colors palette to use for that pixel.

Although the scheme S3TC works well enough for the computer terminal, it is poorly adapted for mobile devices and other thin clients. Such mobile devices at best typically have memory bus 16 or 32 bits. Thus, at least two, and possibly up to four memory accesses required to read a 64-bit compressed version of the block images, if S3TC is implemented in a mobile device. In addition, during the interpolation DV is x additional colors in the color palette is multiplying by 1/3 and 2/3, that is not optimal for the hardware. Compression using S3TC also requires a relatively time-consuming, at least in the mobile terminal.

Akenine-Moller and Strom [4] have developed a version of S3TC, called POOMA, which is specially designed for mobile phones. In POOMA block images in 3 pixels x 2 pixels is encoded in 32 bits, providing 5,33 bpp. Encoded 32-bit representation of the block image adapted for tyres in the memory of mobile phones, which typically have at best only 32 bits. Thus, the pixel can be rendered using only one memory access in comparison with two hits in S3TC. POOMA uses two basic colors, but one additional color interpolated between primary colors, giving a color palette of three colors.

The main disadvantage of POOMA is the block size 3x2 pixels. As a result, the address calculation unit for specific pixels or texels (texture elements) requires division by 3, which is not optimal for the architecture of the hardware. Moreover, the width and height of the textures (images) in the graph typically is always a power of two, which means that the block width 3 is uncomfortable. As for S3TC, coding using POOMA requires a relatively time-consuming, in particular when Rea is Sovana in the mobile terminal.

Fenny [5] reveals the encoding scheme of the images used in graphics hardware MBX platform for mobile phones. This scheme uses two images of low resolution, while one image is typically filtered by a low frequency version of the original image. During encoding creates a bilinear magnification (scaling) of these two images. Each pixel also stores the coefficient smooth transition between the two scaled with the increase of the images. 64 bits are used to encode each block of images and describes the rate of 2 bpp and 4 bpp. The necessary information of neighboring blocks of the image, which complicates the decoding.

The invention

The present invention overcomes these and other disadvantages of the structures of the prior art.

The General objective of the present invention is to provide an efficient image processing.

Another object of the invention is to provide an efficient image coding and decoding of images.

Another object of the invention is to provide an encoding and decoding images, adapted for use in thin clients with low volume and memory bandwidth.

An additional object of the invention is to provide coded the e and decoding images, adapted for three-dimensional (3D) graphics and images.

These and other objectives are satisfied by the invention in accordance with the order, as defined in the attached claims.

Briefly, the present invention includes the image processing in the form of encoding (compression) of the image and decoding (decompression) is encoded (compressed) image.

According to the invention, the image to be encoded is decomposed into a number of image blocks that contain multiple image elements (pixels or texture elements, texels). The block image preferably contains eight elements of the image and has a size of 2mx2nimage elements, where m=3-n, n=0, 1, 2, 3. Each image element in the block is color, for example, 12-bit RGB (red, green, blue) color. Image blocks are then encoded.

In this block coding with loss is defined color codeword of the block image. Color codeword is a representation of the colors of the image elements of the block image. The preferred view is the average value of colors of the image elements in the block is quantized to 12 bits (4 bits for each of the three color components of RGB color). Thus, the same color codeword (i.e. the representation of the color) generators shall continue for a block image, i.e. for all elements in the image block of the image. Next code word intensity is available for the block image. This code word intensity is a representation of the set of multiple intensity modifiers that are used (during decoding) for modification or modulation of the intensity of the image elements in the block image. After the code word intensity provided, views intensity for the image elements in the block image is selected. Each such representation of the intensity associated with an intensity modifier from a set of modifiers intensity. In other words, the representation of intensity provides the ability to identify what intensity modifier set to use for a specific element of the block image.

The resulting encoded block images in this case contains a color codeword, preferably in 12 words, the code word intensity, preferably 4 bits, and the sequence of views intensity, preferably, 8x2=16 bits. The resulting size of the coded block image is, thus, only 32 bits and the result is the contraction rate of 4 bits per pixel (picture element). This small 32-bit size of the well is adaptirovan for thin clients, such as mobile phones and devices, which typically have memory bus 16 or 32 bits. As a result, only one or, in the worst case, two memory accesses are then required to read the encoded block images from a memory cell.

In a preferred variant of the invention, the code word intensity is the intensity index, providing the opportunity to identify a set of modifiers intensity. This index may identify or specify to set the table or dictionary codes containing several different sets of modifiers intensity. Each set preferably includes four (mathematically) additional qualifier values. In this case, the sets of modifiers stored in the table should contain only two different values of the modifiers of the intensity of each, and in this case, the other two (additional) set value can be computed from them. In addition, the intensity table preferably contains both sets, which include a small number of modifiers intensity, adapted to allow the submission of a smoothly varying surfaces, and kits that include the large values of the intensity modifiers, which are adapted to secure the deposits of the possibility of submitting a sharp boundaries.

During decoding of encoded image blocks that need to be decoded, are identified and retrieved, for example, of the memory cell. After the correct coded block image is identified, provided with a set of modifiers intensity. This set of modifiers is based on the code words of the intensity in the coded block image. This range is preferably performed through identification by code words of the intensity of the set of modifiers intensity from the intensity table containing multiple sets of modifiers.

Next, the generated representation of the color for at least one of the image elements of the block image. This generation of color is based on the color code words in the representation of the coded block. Modifier intensity to use for the image element, which must be decoded, is then selected. The value of the modifier is selected from the given set of modifiers based on the submission of intensity, associative associated with the image element and detected in the sequence of the presentation of the coded block image. After you have selected the correct value modificato the and intensity, the intensity of the picture element is modified using this value.

The choice of modifier intensity and modification of the intensity is preferably performed for all image elements that should be decoded in the current coded block image. The decoding unit in this case is preferably repeated for all image blocks that contain image elements that should be decoded. After that, the decoded representation of the original image (or parts of it) can be generated based on the decoded elements and blocks of the image.

Representation of the color preferably generated through the expansion of three 4-bit color components of the color code words into three 8-bit component. The resulting 24-bit color is then assigned to the image elements of the block image, which must be decoded. The intensity of the picture elements is preferably modified by addition or multiplication modifier intensity for each color component, or each color component other way is modulated using a modifier intensity. Then the resulting modified by the intensity of the color components are fixed between the minimum and maximum threshold value of the m

The encoding and decoding of images of the invention can be applied to several different types of images, including one-dimensional, two-dimensional and three-dimensional synthetic images, photos, text, games, three-dimensional maps and scenes, three-dimensional messages, for example animated messages, screensavers, human-machine interfaces (MMI), etc.

Due to the small (32 bits) size of the coded block image, the invention is well suited for thin clients with limited volume and memory bandwidth. In addition, the coding is performed very quickly, so it can also be carried out in the terminal with low clock frequencies. Moreover, the decoding can be extremely simple to be implemented, for example, in hardware using only a few standard components.

The invention offers the following advantages:

well adapted to match the human visual system, because the brightness is preserved better than chrominance components;

provides high quality (peak signal-to-noise ratio) for various types of images;

hardware implementation of the decoding is extremely simple;

the encoding is performed very quickly, allowing for implementation in term is the channels with low clock frequencies;

the encoding at an acceptable speed on the computing machine;

data of the encoded image have a size that is suitable for thin clients with limited volume and memory bandwidth.

Other advantages offered by the present invention, will be taken into account when reading the following description of embodiments of the invention.

Brief description of drawings

The invention, together with additional objectives and advantages are best understood by reference to the following description, taken together with the accompanying drawings, of which:

figure 1 is a precedence diagram illustrating a method of encoding images according to the present invention;

figure 2 illustrates an implementation option block image according to the present invention;

figure 3 illustrates another variant of implementation of the block image according to the present invention;

figure 4 illustrates an implementation option of the encoded representation of the block of the image according to the present invention;

figure 5 is a precedence diagram illustrating the step of defining a color code words presented on Fig 1;

6 is a precedence diagram illustrating a step of (C) is Alenia code words of the intensity and phase of the choice of a representation of the intensity, presented on Fig 1;

7 is a sequence diagram of operations illustrating a method of decoding images in accordance with the present invention;

Fig is the precedence diagram illustrating the steps of providing a set of modifiers intensity and generating a color representation 7;

Fig.9 is a diagram of a sequence of operations, more illustrating the stage of modifying the intensity of figure 7;

figure 10 schematically illustrates an example of a subscriber terminal with the encoder and the decoder of the image according to the present invention;

11 is a block diagram schematically illustrating an implementation option of the image encoder according to the present invention;

Fig is a block diagram schematically illustrating another variant implementation of the image encoder according to the present invention;

Fig is a block diagram schematically illustrating an implementation option block encoder according to the present invention;

Fig is a block diagram schematically illustrating another variant of implementation of the block encoder according to the present invention;

Fig is a block diagram more schematically illustrating the color quantizer block encoder Fig and 14;

Fig is a block diagram schematically illustrating a variant implementation of the decoder from the of interests in accordance with the present invention;

Fig is a block diagram schematically illustrating another variant of implementation of the decoder of the image according to the present invention;

Fig is a block diagram schematically illustrating an implementation option block decoder according to the present invention;

Fig is a block diagram of hardware, schematically illustrating an implementation option block decoder according to the present invention;

Fig is a block diagram of hardware, more illustrating an implementation option extenders bit on Fig;

Fig is a block diagram of hardware, more illustrating an implementation option table search Fig; and

Fig is a block diagram of hardware, more illustrating an implementation option holders on Fig.

Detailed description of the invention

In the drawings the same reference characters are used for corresponding or similar elements.

The present invention relates to image processing and graphics, in particular to the coding or compression of images and decoding or decompression of the encoded (compressed) image.

In General, according to the invention, during image processing, the image is decomposed or divided into a number of image blocks. Each block of the image in this case contains several elementalsubstance, having, inter alia, a specific color. Image blocks are then encoded to generate an encoded representation of the image.

When the encoded image or graphic primitive must continue to be rendered, for example displayed on the screen, important elements of the coded image blocks of the image are identified and decoded. These decoded image elements are then used to generate a decoded representation of the original image or a graphics primitive.

The present invention is well adapted for use with three-dimensional (3D) graphics, such as games, three-dimensional maps and scenes, three-dimensional messages, for example animated messages, screen savers, human-machine interfaces (MMI) and so on, but is not limited to this. Thus, the invention can also be used to encode other types of images or graphics, for example a one-dimensional (1D) or two-dimensional (2D) images.

When processing three-dimensional graphics typically creates several triangles, and determines the corresponding screen coordinates of the corners of these triangles. On each triangle is displayed ("overlaps") image (or part of an image) or the so-called texture. Management textures, however, resource intensive DL the graphics system, both in terms of memory used to store textures, and memory bandwidth during memory accesses, when the texture is retrieved from memory. This is the problem, in particular, for thin clients such as mobile devices and phones, with the limited capacity and memory bandwidth. As a consequence, the encoding scheme of the textures or images is often used. In this scheme, the texture is typically decomposed or divided into a number of image blocks that contain multiple texels. Blocks image is then encoded and stored in memory. Note that the size of the encoded version of the block image is smaller than the corresponding size of the unencrypted version of the block image.

In the present invention the term "image element" refers to the element in the block image or coded representation of the block image. This image, in turn, corresponds to part of an image or texture. Thus, according to the invention the imaging element may be a Texel (texture elements) (one-dimensional, two-dimensional or three-dimensional) texture or pixel (one-dimensional, two-dimensional or three-dimensional) image. In General, the picture element can be characterized by certain properties of the image element, such as color code. Moreover, the term "image is s" is used to denote any one-dimensional, two-dimensional or three-dimensional image or texture that can be encoded or decoded by the present invention, including, but not limited to pictures, textures, types of games, text, drawings, etc.

Figure 1 illustrates the method of encoding (lossless) image according to the present invention. At the first stage S1, the image is decomposed or divided into a number of image blocks. Each block of the image in this case contains several elements of the image. In a preferred embodiment of the invention, the block image contains eight picture elements (pixels or texels) and has a size of 2mx2nimage elements, where m=3-n, and n=0, 1, 2, 3. More preferably, n is 1 or 2. 2 and 3 schematically illustrate two example block 600 image with eight elements 610 of the image according to the present invention. In figure 2 the height is two element 610 of the image, and the width of the four element 610 of the image, i.e. m=1 and n=2, whereas for block 600 images in Fig. 3 m=2 and n=1. Returning to figure 1, the entire block image is preferably decomposed into (non-overlapping) blocks of the image on the stage S1. However, in some embodiments, the application of only part of the image is encoded and, therefore, only this part rasla is moved to the blocks of the image.

The following steps S2-S4 coding or compression of image blocks. First, at step S2, the color codeword is determined for a block of the image. This color codeword is a representation of the colors of the image elements in the block image. In a preferred embodiment, the color codeword is a representation of the average color of the image elements of the block. Color can be an RGB (red, green, blue) color, color space YUV or YCrCb space or any other native color space used in the treatment and management of images and graphics. Color code word is preferably contained in the same format (space) colors as the picture. However, in some cases, it may be useful to convert the image to another color format, i.e. to have a colour code word in the first color space and the original image in a second different color space. Color code word is preferably a 12-bit sequence representing color. For example, the code word RGB colors can contain 4 bits for the red color component, 4 bits for the green color component, and 4 bits for the blue color component.

Accordingly, the code word for YUV colors may include 6 bits, 3 bits and 3 bits respectively the state for three different components.

Note that the same color codeword (i.e. the representation of the color) is generated for a block of the image, i.e. for all elements in the image block of the image.

The following is a code word intensity at step S3. This code word intensity is a representation of the set of multiple intensity modifiers that are used (during decoding) for modifying the intensity of the image elements in the block of the image.

In a preferred variant of the invention, the code word intensity is the intensity index, providing the opportunity to identify a set of modifiers intensity. This index may identify or specify to set the table or dictionary codes containing several different sets of modifiers intensity. Each set contains two or more values of intensity modifiers, preferably at least four values of the modifiers. In addition, the values of the modifiers set preferably are mathematically more values, i.e. each set is preferably symmetrical. For example, a possible set of modifiers intensity can be [-a, -b, b, a], where a and b are positive integers and a>b.

Table-intensity prepact the tion contains sets, includes small values of the intensity modifiers, which are adapted to allow the submission of a smoothly varying surfaces. In addition, the table preferably also includes kits that include large values of intensity modifiers, which are adapted to allow the representation of sharp boundaries.

The actual values of the modifiers intensity sets in the table can be found by beginning with a random value and the further optimization of these values using a number of different schemes and optimization algorithms, such as the version of LBG algorithm (Linde, Buzo and Gray [6], model hardening and coordinate the search, which are known to specialists in this field of technology. A small number of images of different types, for example photos, textures, types of games, text, etc. can be used as training data.

To make hardware implementation table of intensity less expensive modifiers intensity set can forcibly be made symmetrical, as described above, and/or modifiers of the intensity of the set can be a copy of modifiers intensity of the other set, modified by a factor of, for example, two.

The table illustrates preferred in the data the moment a sample table of intensity, contains 16 sets of modifiers intensity, with four values of the modifiers in each set.

Table 1

SetCode wordThe value of the intensity modifier
10000bin-8-228
20001bin-12-4412
30010bin-31-6631
40011bin-34-121234
50100bin-50-8850
60101bin-47-191947
70110bin-80-282880
80111bin-127-4242127
91000bin-16-4416
101001bin-24-8824
11 1010bin-62-121262
121011bin-68-242468
131100bin-100-1616100
141101bin-94-383894
151110bin-160-5656160
161111bin-254-8484254

Table 1 sets 9-16 modifiers intensity is a copy sets 1-8, multiplied by a factor of two.

If the intensity table contains at most 16 different sets of modifiers intensity codeword intensity is preferably a 4-bit index (0000bin-1111bin)identifying one of (16) sets, for example [-8, -2, 2, 8] for the code word 0000bin (0000 base 2) of the table. Through careful selection of the values of the modifiers in sets (symmetric sets and half sets is a factor of two remaining half) all of the table 1 can be recovered with only 16 values, modifiers, and the remaining 48 values can be computed from them.

The present invention, however, is not ogran is constrained by the use of table 1, but can use other tables with other sets and the values of the modifiers intensity. Moreover, for more or less than 16 sets the table size code word intensity may need to change. For example, if the table contains two (3-4, 5-8 16 or more) sets of modifiers intensity, the size of the code words may be limited to one bit, two bits, three bits, or more than four bits). In addition, the number of values of intensity modifiers may be different from four, for example, five values can be used to set, giving the example of[-8, -2, 0, 2, 8]. The intensity values of the sets in the table can be defined using several different types of images as training data, as described above. However, if only a specific type of image should be encoded qualifier values can be determined using the training data corresponding to the image type, i.e. the provision of a table of intensity, selected for a particular image type. Also it may be possible to have a table of intensity values of the intensity modifiers, adapted for a particular image. In these cases, i.e. the table is allocated for the image or image type, it may be necessary to include values modify the of atarov intensity in a compressed file encoded image blocks or otherwise associate with them.

In addition, the code word intensity is not necessarily an index or pointer to the set of modifiers intensity in the table, but may actually be by the set of modifiers intensity, for example, contains two values of intensity modifiers, such as 2 and 8, and where other values of intensity modifiers, such as -2 and -8, can be determined from these two values.

Note that the same set of modifiers intensity is used to block the image.

After the code word intensity provided at step S3, the next step S4 selects the representation of the intensity for the image elements in the block image. Each such representation of the intensity associated with one value of intensity modifier from a set of modifiers intensity provided at step S3. In other words, the representation of intensity provides the ability to identify what intensity modifier set to use for a specific element of the block image.

In the case of the set of modifiers intensity, containing four values of modifiers, such as -8, -2, 2, 8, a representation of the intensity may be 2-bit sequence that identifies one of these four values, for example, 11bin appropriate to esthet -8, 10bin corresponds to -2, 00bin corresponds to 2, and 01bin corresponds to 8. If more than four values of intensity modifiers are used on the set, more than two bits are needed for each element of intensity to identify the correct modifier.

Step S4 is preferably repeated for all image elements in the block image (schematically illustrated by line 1). The result of the encoding steps S2-S4 is the encoded block images, or, more precisely, (compressed) representation of the coded block image. This representation 700 of the coded block is illustrated in figure 4. The representation 700 (coded block image contains color codeword 710, codeword 720 intensity and sequence or raster 730 views intensity (preferably one representation of the intensity for each image element in the block). Note that the mutual order of the color codeword 710, the codeword 720 intensity and sequence 730 represent the intensity of the coded block 700 of the image may differ from those illustrated in the drawing.

If the block image contains eight elements of the image (see, for example, 2 and 3), each representing the intensity is 2 bits, the size of the sequence 730 is 16 bitbol, assume that the respective sizes colour code words and code words of intensity are 12 and 4 bits, respectively. The total size of the encoded representation of the 700 block image is in this case 32 bits, and the result is the contraction rate of 4 bits per pixel (picture element) (bpp). This small (32 bits) the size of the representation 700 is well adapted for thin clients such as mobile devices and phones, which typically have memory bus 16 or 32 bits. As a result, only one or, in the worst case, two memory accesses are then required to read the encoded representation 700.

Returning to figure 1, the steps S2-S4 are preferably repeated for all image blocks provided during the decomposition stage S1 (schematically illustrated by line 2). In this case, the result is a sequence or file encoded image blocks. The resulting encoded image blocks (coded representations of image blocks) can be ordered in the file from left to right and top to bottom in the same order in which they are broken down by decomposition of the block at step S1. This method completes.

The encoded image can be provided in memory for storage until subsequent rendering, for example, the display from the expression. Moreover, the encoded image may be provided as a signal representations of the coded blocks of the transmitting device (wireless or wired) transmission to another device.

Figure 5 illustrates an implementation option step S2 figure 1. At step S10 is determined by the average color of the image elements in the block image. Further assume that the color of the pixel or Texel (picture element) of the image represented by 24-bit RGB color, i.e. the 8-bit red component, 8-bit green component, and 8-bit blue component. However, the invention is not limited to this specific example but may be applied to any representation of the color pixels and texels. The average colorin this case, is defined as:

(1)

where Ri, GiBiis R, G, B component of image element i, and N is the total number of image elements in the block of the image.

After the average colordetermined at the step S10, the next step S11 quantum average color. (24-bit) average color preferably quantized to 12-bit sequence (color code word). In other words, each 8-bit average component is quantized to 4-bit average component. For example, if the average color is calculated as:

,

4-bit quantized versioncan be generated from:

,

ie [A, 5, 1]hex=[1010, 0101, 0001]bincan be used as (12-bit) colour code words. The method then proceeds to step S3 figure 1.

6 illustrates a variant of the implementation of the steps S3 and S4 with figure 1. At step S20 study a different set of modifiers intensity tables and various set values, and calculates the error value for each such set of modifiers and inspect the values of the modifiers. Based on these values errors the set of modifiers and the modifier intensity of the set, which leads to the smallest error value is selected at step S21. This is described in detail later. This method completes.

Next addition to learn more coding units of the image in connection with three different examples. These examples use the intensity table corresponding to table 1.

Simple encoding

To encode the block of the image according to this variant embodiment of the invention, basically sets the color for the code word and the correct set of modifiers intensity. Once this is done, the coding of each item and what the considerations applying in the block image is performed by trying to use all four modifiers intensity set and calculation errors. Suppose that a source (24 bit) color component image is (R, G, B), and that the color codeword (quantized average color, 12 bit) - itand that the selected set of modifiers is [-a, -b, b, a]. The error value in this case can be defined as:

(2)

where α[-a, -b, b, a]. For each of the image elements in the block image is selected, the value of a that minimizes the error ε2. This can be realized by calculating the error values for the first variant of the modifiers of image elements and save the first value of the error (and chosen values of modifiers). Then, it calculates the error value to another variant of the modifier. This error value is then compared to the stored value. If it is less than the stored value, the stored value is replaced with this new error value and the values of the modifiers used when calculating the error values are also saved. Then this is repeated for all combinations of modifiers and sets.

Equation (2) provides the best performance in the ratio of the peak ratio "signal/noise" ratio (PSNR), since it minimizes the root mean square error from the expression. In the perception, however, this may not provide the best results. For some pixels (picture elements) p1 and p2, where p1 seems brighter p2 in the original image p2 may seem brighter p1 in the decoded version of the image. The reason for this is that red, green and blue components do not contribute equally to the fact that the human visual system perceives as the intensity. Because the green component provides a disproportionate contribution to the perception of intensity, its approximation should be provided with greater certainty (more accurately)than the approximation of red and blue. As a result, the weighted error value can be used, for example:

(3)

where wR, wG, wBis various weight ratios of the color components. In addition, wGpreferably more wRand wB. For example,wR=5/16, wG=9/16, and wB=2/16 or wR=0,299, wG=0,587, and wB=0,114.

In this simple encoding of the average color of the eight image elements in the block, quantized to 4 bits per color component, is used as a color code words. The correct set of modifiers intensity is then selected by searching for " brute force", i.e. all 16 nab the ditch in the table are checked, and select the set that minimizes the error value. This requires 16x4=64 ratings on the item image. If weights are equal to wR=5/16, wG=9/16, and wB=2/16, integer arithmetic can be used, and the coding is performed quickly. For this option, the weights encode image of 128x128 pixels (picture elements) using a simple encoding takes about 60 MS on a desktop PC with 1.2 GHz.

Full coding

When the above described decoding the quantized average color was just used as a representation (color code word) colors of the image elements in the block image. In this embodiment, the full coding according to the invention and colors, and sets the intensity modifiers (including the values of the modifiers) are selected, i.e. considers every possible combination. For a given picture element additional iteration through all 12 bits of color is added in addition to the previous iteration of all 4 bits of the set of modifiers intensity and 2 bits represent the intensity of that together gives 218steps. The encoding of the image in 128x128 pixels takes approximately 5 minutes using the same desktop PC for simple compression. Although it may be too long for dynamic applications the on mode, this is not an obstacle for offline encoding. Comparison of the results of the full coding with the results of the above simple coding shows the difference in PSNR is approximately 1.5 dB. Visual images differ in that some areas of images encoded using the simple encoding scheme, show color change. Separate blocks of images in other areas of gray suddenly get a slightly greenish shade. The reason for this is that in a simple circuit components R, G and B color code words quanthouse is separate, which is suboptimal.

United quantization

As for the simple encoding scheme, this alternative implementation of the present invention begins with (24-bit) secondary colorbut the color components of this average color quanthouse together with the components of the intensity, i.e. the choice sets and the values of the modifiers intensity.

If Rlowand Rhighmean 4-bit quantization levels or values that are directly above and belowrespectively, so that Rlowhigh. In this case, the task is to chooseas Rlowor Rhigh. The same applies to the green and blue components is now.

First, it calculates the error value by using

. (4)

This can be simplified to:

, (5)

where,and. Let's further assume thatα(modifier intensity) can be selected easily, i.e. equal to the optimum. Inserting this optimum in equation (5) gives, after simplification:

, (6)

whereξis an expression in parentheses.

However, if instead you select a higher value for the red component, i.e, and used the fact thatequation (5) can be rewritten as:

. (7)

This expression can be further simplified by inserting optimumfor this case:

(8)

To determine which of these two quantized colors (color code words) (Rlow, GlowBlow) or (Rhigh, GlowBlow) is optimal, i.e. produces the smallest error is studied further expression in the square brackets of equation (8). In other words, if <0 must be selected (Rhigh, GlowBlow), otherwise select (Rlow, GlowBlow) (if=0 or code word can be selected). This procedure is then repeated for all possible combinations of high and low quantization three color components, i.e., for all neighboring quantized average color of colors. The result is presented in table 2 below.

Table 2
Color code wordThe error value ε2
Rlow, GlowBlow
Rhigh, GlowBlow
Rlow, GhighBlow
Rlow, GlowBhigh
Rlow, GhighBhigh
Rhigh, GlowBhigh
Rhigh, GhighBlow
Rhigh, GhighBhigh/td>

Note that ξ does not have to be explicitly calculated, only the expression (representation error) in square brackets in table 2 must be calculated in order to choose the quantization levels (color code word to use. Additionally, we note that the color codeword (Rlow, GlowBlow) and (Rhigh, GhighBhigh) give the same error value. This is assuming that onlyα(the value of the modifier intensity) can be achieved. However, in reality,αlimited values of intensity modifiers used sets of modifiers, for example the values of the modifiers table 1. According to table 1, smaller values for the modifiers (α) can be set with greater precision than larger values, which means that it is better to choose (Rhigh, GhighBhigh)than (Rlow, GlowBlow)ifcloser to (Rhigh, GhighBhigh)than for (Rlow, GlowBlow), and Vice versa. Joint quantization of this variant of the invention, the PSNR increases by about 1 dB compared to the simple encoding. Thus, the PSNR is only about 0.5 dB lower than the (optimal) scheme complete the coding for the site.

The total encoding time has not changed significantly compared with simple coding, i.e. the image is 128x128 pixels still shrinks approximately 60 MS.

You can also create a table corresponding to table 2, using perceptive weighted error message from equation (3). Optimum α in this case equal to. If the error values for Rlow, GlowBlowand Rhigh, GhighBhighthe "normalized" to 0 (first corresponds to the subtractionfrom the error values ε2for all the different variants of the R, G and B in table 2), the following table normalized error values is obtained. Note that the normalized error values for the color code words other than Rlow, GlowBlowand Rhigh, GhighBhightable. 3, correspond to the expressions in square brackets in table 2.

Which of the neighboring quantized colors (RXGYBZwhere X, Y, Z independently represent high or low) to use as a color code words, in this case can be determined by comparing the "normalized" values or views errors and selecting the color code words of adjacent quantized color, which leads to the smallest error value.

Another way to choose a code word from the neighboring quantized colors - compress a block of an image using each quantized color and choose one associative with the least error. However, this approach is somewhat slower than by simply using views errors table 2 or 3 to determine the appropriate color code words as the unit is in this case must be compressed to eight times instead of once.

7 illustrates a sequence diagram of operations of a method of decoding an encoded image or encoded version of the original image according to the present invention. The encoded image, in fact, contains several representations of the coded blocks of the image, such as representation 700 figure 4. These representations are coded blocks preferably are generated by way Kadirova the Oia images described above in connection with figure 1.

The method, in General, begins with the identification of image blocks for decoding. May also be the possibility that all the coded blocks of the encoded image must be decoded to generate a decoded representation of the original image. Alternatively, only part of the original image must be accessed. As a result, only the selected number of blocks of the image should be decoded (or more precisely - selected value of the elements of the specific image blocks of the image should be decoded).

After correctly decoded representation of image blocks are identified, step S30 provides a set of modifiers intensity. This set of modifiers is based on the code words of the intensity in the coded representation. This range preferably is performed using identification by code word intensity set intensity modifiers from the table, for example table. 1, above, containing several sets of modifiers. However, in some embodiments, the implementation may be possible that the actual code word intensity contains a set of modifiers and that does not require a table lookup.

The following is the Tapu S31 representation of the color generated for, at least one of the elements of the image block of the image (i.e. the image elements, which must be decoded). This generation of color is based on the color code words in the representation of the coded block. At step S32 is selected intensity modifier to use for picture element, which must be decoded. The value of the modifier is selected from the set of modifiers that are provided in step S30, based on the submission of intensity, associative associated with the image element and detected in the sequence of the presentation of the coded block. After you have selected the correct modifier intensity at step S32, the intensity of the picture element is modified or modulated by using the values in step S33. The modification of the intensity according to the invention refers to a modification, for example the addition or subtraction of all color components of the color representation on a (possibly weighted) value of the intensity modifier.

Steps S32 and S33 may be performed for multiple image elements in the block image (schematically illustrated by line 3). The invention assumes that some embodiments use only one picture element is decoded from one specific the th unit image, several elements of the image of the particular block image is decoded, and/or all of the image elements of a specific block are decoded.

Steps S30-S33 in this case preferably repeated for all image blocks that contain image elements that need to be decoded (schematically illustrated by line 4). This means that the loop of steps S30-S33 may be performed once, but usually several times for different coded blocks of the image and/or several times for a specific encoded block images.

In an additional step S34 decoded representation of the original image, or portion thereof, is generated based on the decoded elements and blocks of the image. Note that in some embodiments, the application of several elements of the image must be decoded in order to render one pixel of the decoded representation. For example, the trilinear interpolation of the eight neighboring picture elements is decoded, and for bilinear interpolation the corresponding number is four picture element, which is well known to specialists in this field of technology. The method then ends.

Fig illustrates an implementation option steps S30 and S31 with 7. At step S40 the correct set of modifiers, intense the activity is identified and selected from a table of intensity through the code word intensity. If the set of modifiers intensity stored in the table of intensity, contains the first subset of intensity values, for example [a, b], the second subset of the values of the modifier intensity can be determined from values of the first subset, for example [-a, -b]. In the next step S41 quantized color code words, preferably 12 bits, expanded or extended to preferably 24 bit. For the case with RGB colors each quantized 4-bit color component of the color codeword further extended to 8-bit color component. This extension color can be realized by multiplying the quantized 4-bit color components 17 for implementation with 256 different colors. It's the same thing repeating 4-bit pattern to the first (top) and last (bottom) 4 bits of the extended 8-bit color words. In other words, 4-bit color component 1010bin expanded to 1010 1010bin. If the color code word instead contains 15 bits (5 bits for each component R, G, B), the extension will result in a 30-bit color. This can be done by multiplying (5-bit) color component 33or repeating 5-bit pattern to the upper and lower 5 bits of the extended 10-bit color words. At step S42, the TP is th next color is assigned to the image elements of the block image, which must be decoded. The method then proceeds to step S32 7.

Fig.9 illustrates an implementation option step S33 with 7. At step S50 identified and selected value of intensity modifier is added to the extended color. Thus, the value of the modifier is added to all components (all three for RGB color) color component image. This can be implemented as a simple addition of the values of the modifier to all color components. However, in some embodiments, the implementation can be preferably weighted value modifier before adding it to the components. In this case, different weights can be used for different color components. In an alternative embodiment, another type of modification that is different from the simple addition can be used, for example multiplication, XOR operation or other modification. In this case, the same modulation is performed for all components of the extended color with the same value modifier intensity, although this value may be differently weighted components. In the next step S51, the resulting values modified by the intensity of the color components are fixed between the minimum color threshold and a maximum threshold color is. For example, if after addition of (possibly weighted) values of intensity modifier to the color component, the resulting value is less than the minimum threshold value is fixed equal to the value of this threshold. Accordingly, if the resulting value is greater than the maximum threshold, instead it should be used a threshold for this component. A non-limiting example, the minimum and maximum threshold is 0 and 255, respectively, for the case of 256 different colors. The corresponding thresholds for 1024 can be equal to 0 and 1023. The method then proceeds to step S34 7.

The decoding of the coded block image is additionally illustrated by the following example. In this example, assume the representation of the coded block, illustrated in figure 4, and the block image, illustrated in figure 2.

The encoded representation of the block image corresponds to 1010 0101 0001 0111 11 01 10 00 10 01 00 00bin (a517D890hex), where bits 0-3 is the red component of the color codeword, bit 4-7 is the green component of the color codeword, bit 8-11 is the blue component of the color codeword, bit 12-15 is a code word intensity, and bits 16-31 is a sequence of representations of the intensity of the image elements of the block.

Color code word is then decoded (expanded) for the CSOs, to generate the representation of the color block image. Each color component in the color code word is expressed in 4 bits, but extends to 8 by multiplying by 17 (17=11hex), which is the same as the repetition of the 4-bit pattern to the upper and lower 4-bit 8-bit words:

This advanced color in this case is assigned to the picture elements of image blocks, giving:

Table 3
Color code wordThe normalized value of the error ε2
Rlow, GlowBlow0
Rhigh, GlowBloww2R[17(w2G+w2B)-2 2GGR)-2w2BBR)]
Rlow, GhighBloww2G[17(w2R+w2B)-2w2RRG)-2w2BBG)]
Rlow, GlowBhighw2B[17(w2R+w2G)-2w2RRB)-2w2GGB)]
Rlow, GhighBhighw2R[17(w2G+w2B)-2w2GGR)-2w2BBR)]
Rhigh, GlowBhighw2G[17(w2R+w2B)-2w2RRG)-2w2BBG)]
Rhigh, GhighBloww2B[17(w2R+w2G)-2w2RRB)-2w2GGB)]
Rhigh, GhighBhigh0
(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)
(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)

The correct set of intensity modifiers for use is selected from table 1 based on the code word intensity. As can be seen in table 1, the code word intensity 0111bin corresponds to the intensity modifiers[-127, -42, 42, 127].

The sequence of views intensity provides identification of which of these four intensity values to use for different elements of the image according to the following:

The first representation of the intensity is 11bin, which means that the first value modifier intensity, -127, should be added to all components of the first is lementa image:

The resulting components are then clamped between 0 and 255, thereby giving (43, 0, 0). Partially decoded block image is now the following:

(43, 0, 0)(170, 85, 17)(170, 85, 17)(170, 85, 17)
(170, 85, 17)(170, 85, 17)(170, 85, 17)(170, 85, 17)

For the next picture element representation of the intensity is 01bin, i.e. the intensity modifier 127 must be added to all three color components. The result after fixing is (255, 212, 144). Repeat this procedure for all image elements in the block creates a final decoded block image below:

(43, 0, 0)(255, 212, 144)(128, 43, 0)(212, 127, 59)
(128, 43, 0)(255, 212, 144)(212, 127, 59)(212, 127, 59)

Diagram of the image coding (coding units of the image) and the image decoding (decoding or processing blocks of the image) according to the present invention should be provided in a common data processing system, for example in the subscriber terminal, or other device, sconf generowania for processing and/or rendering images. This terminal may be a computing machine. However, the invention is well suited for thin clients, such as personal digital appliance (PDA), mobile phones and devices. These terminals are typically characterized by a limited amount of memory and memory bandwidth, and are powered by batteries, i.e. a limited power source. Since the encoding and decoding according to the present invention can be very simply implemented in hardware, software or combination of hardware and software, and the coded block image preferably has a maximum size of only 32 bits, the invention can mainly be applied to a thin client.

Figure 10 illustrates the user terminal 100, presented by the mobile device. However, the invention is not limited to mobile devices, and can be implemented in other terminal devices, and data processing. Only means and elements in the mobile device 100 directly included in the present invention, illustrated in the drawing.

The mobile device 100 contains a Central processing unit (CPU) 200 for processing data, including image data, the mobile device 100. The graphics system 130 include atrina in the mobile device 100 to control the image data and graphics. In particular, the graphics system 130 is suitable for rendering or displaying images on the connected screen 120 or other display device. The mobile device 100 also includes a storage device or memory 140 to store data on it. In this memory 140 can be stored the image data, in particular data encoded images (encoded blocks of the image) according to the present invention. Due to the small overall size of image blocks (32 bits) and high-speed compression (4 bpp) image data can be efficiently stored in the memory 140 also in the case of a mobile device 100 with limited memory.

The encoder 210 images according to the present invention is provided in the mobile device 100. This encoder 210 is configured to encode the image or pattern in the encoded representation of the image (or texture). As described above, this encoded representation contains a sequence or file multiple decoded image blocks. This encoder 210 of the images may be provided as software running on the CPU 200, as illustrated in the drawing. Alternative or in addition, the encoder 210 may be placed in the graphics system 130 or in another unit of the mobile device 100.

Codiovan the e representation of the image block of the encoder 210 may be provided in the memory 140 via the bus 150 to the memory for storage until subsequent imaging. Alternative or in addition, the data encoded images can be forwarded to the device 110 input / output (wireless or wired) transfer to other external terminals or devices. This device 110 I / o can also be adapted to receive image data from an external device. These image data may be image, which should be encoded by the encoder 210 images, or data of the encoded image, which must be decoded. Also it may be possible to save the encoded representation of the image in the allocated texture memory provided, for example, the graphics system 130. Moreover, part of the encoded image also, or alternatively, can be (temporarily) stored in the cache memory of the textures, for example in the graphics system 130.

If the bus 150 (memory) has a maximum capacity of 32 bits, one memory access is required to retrieve or read the encoded representation of the image of the invention from the memory 140. However, if the bus 150 has a large bandwidth, for example 64-bit or even 128-bit, multiple encoded representations of the images can be retrieved in a single memory access. For example, assume a 64-bit bus 150 and the block size of the image according to figure 2. If blocks is zobrazenie collected "on each other", the block image together with the subsequent block of the image in memory 140 generates a square image elements 4x4. However, if the blocks are placed side by side, the block image together with the following unit forms a rectangle 2x8. Square 4x4 is preferable because the probability of finding the desired item image in a square 4x4 more than 2x8 rectangle, if you use some form of system caching textures, which is well known to specialists in this field of technology.

The decoder 220 images according to the present invention is provided in the mobile device 100 for decoding the encoded image to generate a decoded representation of the image. This decoded representation may correspond to the entire original image or its part. The decoder 220 images provides data decoded images in the graphics system 130, which, in turn, typically processes the data before they are rendered or presented on the screen 120. The decoder 220 images can be placed in the graphics system 130, as illustrated in the drawing. Alternative or in addition, the decoder 200 may be provided as software running on the CPU 200 or in another unit of the mobile device 100.

p> Mobile device 100 can be equipped with encoder 210 and image decoder 220 images, as illustrated in the drawing. However, for some terminal 100 may be possible to include only the encoder 210 images. In this case, the data of the encoded image can be transferred to another terminal, which performs decoding and possibly the rendered image. Accordingly, the terminal 100 may include only the decoder 220 images, i.e. not to have a coder. This terminal 100 then receives the signal containing the data of the encoded image, from another terminal and decodes it to generate a decoded representation of the image. Thus, the signal encoded image can be wirelessly transferred between terminals using radio transmitting and receiving device. Alternatively, other methods of distribution of images and coded representations of images between terminals according to the invention can be used, such as IR methods using IR ports and wired transmission of image data between terminals. In addition, card or memory chip that can be connected and interchangeable between terminals can be used for this distribution between the term is Lamy image data.

The modules 110, 130, 200, 210 and 220 of the mobile device 100 may be provided as software, hardware or a combination thereof.

11 illustrates a block diagram of a variant of implementation of the encoder 210 images according to the present invention. The encoder 210 typically includes a tool 215 decomposition of images to decompose the input image into several blocks of the image. Means 215 decomposition is preferably configured to decompose the image into image blocks containing eight picture elements (pixels or texels), i.e. with the total image size 8x1 or 8x1 picture elements, more preferably, 4x2 or 2x4 image element. Means 215 decomposition can be adapted to different decomposition of an input image into blocks of different image sizes. For example, the first type of the image using the block size of the image of 4x2 image elements, whereas for the second type can be used, the block size 8x1. In this case, the tool 215 decomposition preferably receives input information, providing the ability to identify what format of image blocks to use for this image.

This variant implementation of the encoder 210 images contains one block encoder 300. This block encoder 300 coding for the t blocks of the image, accept funds from the decomposition of the image to generate a coded representation of blocks. This view of the block image contains color code word, the code word of the intensity and sequence of views intensity. The total size of the representation of the block is much smaller than the corresponding size nakedyoung block image. The block encoder 300 is preferably configured for sequential processing (encoding) of each block of the image from 215 decomposition.

The block encoder 300 preferably includes or has access to a table 500 intensity, containing several sets of modifiers intensity. Sets the modifiers from table 500 is used during decoding to generate the code words of the intensity and possibly the color code words. Table 500 intensity can be placed in a block encoder 300 or in another block encoder 210 images.

The encoder 210 images can contain a single table 500 intensity. Alternatively, several different tables can be placed in the encoder 210, where the intensity modifiers adapted for different types of images, or the table can be adapted for a particular image. For example, the first table of intensity can be used during encoding is, I can pay tithing image type, for example photo, while the second table is used to encode images of the second type, for example text. Nevertheless, in order to save memory, one table 500 intensity generated using the training data from several different image types, preferably used in the encoder 210.

Modules 215 and 300 encoder 210 images can be provided as software, hardware or a combination thereof. Modules 215, 300, and 500 may be implemented together in the encoder 210 images. Alternatively, a distributed implementation is also possible for some of the blocks provided in another module of the mobile device.

Fig illustrates a block diagram of another variant implementation of the encoder 210 images according to the present invention. The encoder 210 images includes a tool 215 decomposition of images as an implementation option 11, which is not described further. However, the encoder 210 includes multiple (M, where M is a positive integer more than one) block coders 300-1-300-M. Each such block encoder 300-1-300-M mainly corresponds to a block encoder encoder image figure 11. By providing a number of block encoders 300-1-300-M encoder 210 images multiple image blocks from 215 decomposition can be processed (Zack is donovani) in parallel, that reduces the total time of image encoding.

Each block encoder 300-1-300-M may contain a table 500 intensity. Table 500 intensity in different coders 300-1-300-M can include identical values of intensity modifiers. Alternatively, a different block encoders may include various tables. In this case, one of a number of block encoders can be adapted for a specific type of image, whereas the other block encoders adapted for other image types. In an alternative implementation, one table 500 intensity placed in the encoder 210 images and is connected to all block encoders 300-1-300-M.

Modules 215 and 300-1-300-M encoder 210 images can be provided as software, hardware or a combination thereof. Modules 215, 300-1-300-M and 500 may be implemented together in the encoder 210 images. Alternatively, it is also possible distributed implementation for some of the blocks provided in another module of the mobile device.

Fig illustrates a block diagram of a variant of implementation of the block encoder 300 according to the present invention, such as a block encoder encoder image 11 or one of the block encoders encoder images Fig. The encoder 300 includes a quantizer 310 colors, which determines the representation of the color e the elements of the image block of the image and quantum this representation of the color. Representation of the color is preferably 24-bit average color of the image element, and it further quantized to 12-bit representation of the color, i.e. the color code word by a quantizer 310.

The quantizer 320 intensity is provided in block encoder 300 to identify a set of modifiers intensity to use for the current block of the image. The quantizer 320 is preferably configured to select the set of identifiers of associative linked table 500 intensity. The quantizer 320 then generates a code word intensity, which is associated with the selected set of modifiers. The encoder 300 additionally includes a selector 330 intensity, which selects for the image elements in the block image modifier intensity from a set of modifiers intensity. The quantizer 310 colors, the quantizer 320 intensity and the selector 330 intensity is preferably configured for joint quantization of the color code word and the code word intensity, as described in more detail above.

The modules 310, 320 and 330 block encoder 330 may be provided as software, hardware or combinations thereof. The modules 310, 320, 330 and 500 may be implemented together in a block encoder 300. Alternatively, also the possibility of the on distributed implementation for some of the modules, provided in another module of the mobile device.

Fig illustrates a block diagram of another embodiment of the implementation of the block encoder 300 according to the present invention. This block encoder 300 includes a tool 340 estimation errors for the estimation error values in order to select and set the values of the modifiers intensity and, possibly, the values of the quantized colors to use for a block of images. This tool 340 valuation preferably configured to calculate the error value in the first selection set and the values of the modifiers intensity (and color if full coding for image elements in the block image. After this first error value is stored. Error calculation is then repeated for all possible choices of the set and the values of the modifiers (and color), and after each calculation the estimated error value is compared with the stored value. If it is less than the stored value, then replaces the previously stored error. In addition, the choice set and the values of the modifiers (and colors)are associated with the error value is also stored. After all the combinations tested, selection, leading to the smallest error is used to generate the code word intensity (and color) and views of intensive the STI. The selector 322 set of modifiers intensity and the selector 330 intensity then selects a set of modifiers and the modifier that associative associated with the lowest error. The remaining modules of the block encoder 300 are compliance on Fig and are not described further. Alternatively, this option is the implementation of the block encoder 300 may operate according to the joint quantization, as described above. In this case, the quantizer 310 colors provides a neighboring quantized colors of the calculated average color of the block of images. The tool 340 estimation error determines the representation error for each such neighboring quantized colors, for example, as illustrated in table 2 or 3, and neighboring quantized color, which leads to the smallest errors view is selected as the color code word of the block image.

The modules 310, 320, 322, 330 and 340 block encoder 330 can be represented in the form of software, hardware or combinations thereof. The modules 310, 320, 322, 330, 340 and 500 may be implemented together in a block encoder 300. Alternatively, it is also possible distributed implementation for some of the modules provided in another module of the mobile device.

The preferred implementation of the quantizer 310 colors according to the present invention Provillus is transferred to the block diagram Fig. The quantizer 310 includes a tool 312, configured to determine the average of the colors of the image elements in the block image. This average color is preferably an RGB color, but may be any other format used in image processing. This specific secondary color is then supplied to means 314 quantization, which quantum average color. The quantizer 314 preferably configured to quantize a 24-bit average RGB color of the funds averaging 312 colors in 12-bit RGB color.

Modules 312 and 314 quantizer 310 colors can be provided as software, hardware or a combination thereof. The modules 310 and 314 may be implemented together in the quantizer 310 colors. Alternatively, it is also possible distributed implementation for some of the modules provided in another module of the mobile device.

Fig illustrates a block diagram of a variant of implementation of the block decoder 220 according to the present invention. The block decoder 220 preferably contains a selector blocks 222, which is adapted to select, for example from memory, those blocks of the encoded image, which must be supplied to the block decoder 400 for decoding. The selector 222 blocks preferably receives input information, associative associated with the data to the new image, for example, from the header or core rendering. The address of the coded block image having the desired image elements, is then calculated based on the input information. This calculated address is preferable depends on the coordinates of the image element (pixel or Texel) in the image. Using the address selector 222 identifies blocks of the coded unit image from memory. This identified the encoded block images from a storage device is provided to a block decoder 400.

(Random) access to elements in the image block of the image preferably provides the ability to selectively decode only those parts of the image that you want. Moreover, the image can be decoded in any order, which requires data. For example, if the texture is only part of the texture may be necessary, and these parts are typically required in an inconsistent order. Thus, decoding images of the present invention can be advantageously applied in order to process only a portion or section of the image. Selected coded block image after it is forwarded to the block decoder 400. In addition to the block image decoder 400 preferably receives information that indicates which elements of the unit and what the considerations applying must be decoded. Information may specify that the entire block of the image, i.e. all elements of the image it must be decoded. However, the received information can only identify one or more image elements that should be decoded. The block decoder 400 then generates a decoded representation of the image elements in the block. This decoded representation is preferably P-bit color, where P is the number of bits per picture element in the original image, for example a 24-bit RGB color. The block decoder 400 preferably contains a table 500 intensity, which is used during the decoding procedure. Alternatively, the table 500 intensity can be provided in another block decoder 220 images. The use of different tables of intensity for different types of images described above in connection with 11, is also applied to decoder 220 images.

Additional linker 224 images may be provided in the decoder 220. This Builder takes the decoded image elements of the block decoder 400 and assembles them in order to generate a pixel, which can be rendered or displayed on the screen. The linker 224 may require more input elements of the image in order to generate the Dean pixel. The linker 224 alternative images may be provided to the graphics system.

The modules 222, 224 and 400 block decoder 220 can be presented in the form of software, hardware or combinations thereof. The modules 222, 224, 400, and 500 may be implemented together in a block decoder 220. Alternatively, it is also possible distributed implementation for some of the modules provided in another module of the mobile device.

Fig illustrates a block diagram of another variant implementation of the decoder 220 images according to the present invention. The selector 222 blocks and linker 224 images are similar to the corresponding modules pig and are not described further.

The decoder 220 of the image contains multiple block decoders 400-1-400-Q (Q is a positive integer more than one). Through the implementation of access to multiple block decoders 400-1-400-Q decoder 220 of images to process (decode) a few blocks of the encoded image in parallel. These multiple block decoders 400-1-400-Q provide the possibility of parallel processing, which increases the productivity and efficiency of the decoder 220 images. For example, one of the decoded picture element, in General, sufficient for the interpolation method is nearest neighbor, while four (the e ight) image elements necessary for bilinear (trilinear) interpolation. Each block decoder 400-1-400-Q may contain a table 500 intensity used for decoding. Alternatively, one table 500 is set in the decoder 220 images and connects to all the block decoders 400-1-400-Q. Additional description of the use of different types of tables intensity (see above in connection with Fig) is also applied to decoder 220 images.

The modules 222, 224 and 400-1-400-Q decoder 220 images can be presented in the form of software, hardware or combinations thereof. The modules 222, 224, 400-1-400-Q and 500 may be implemented together in the decoder 220 images. Alternatively, a distributed implementation is also possible for some of the modules provided in another module of the mobile device.

Fig is an illustration of a variant of implementation of the block decoder 400 according to the present invention. The block decoder 400 includes a tool 410 of providing a set of modifiers intensity of associative linked table 500 intensity on the basis of the code word intensity. This tool 410 may be configured to retrieve a subset of the values of the modifiers from table 500 intensity and determining a second subset of modifiers based on the first subset. Generator 420 colors generates one representation of the color for all elements of the s image in the block image based on the color code words. This generator 420 preferably extends 12-bit color code words up to 24-bit (RGB) color.

The selector 430 modifiers intensity performed by selecting one of the values of the modifiers intensity from a set of modifiers intensity provided by the tool 410. The selector 430 modifiers configured to select the correct values of the modifiers for the image elements in the coded block image based on the sequence of views intensity. Advanced color from generator 420 colors and the modified value from the selector 430 modifier is passed to the modulator or modifier 440 intensity, which modifies the intensity of the color components of the extended color using the value modifier. Modifier 440 may use the weighted value modifier intensity with different weighting factors for different color components. Moreover, after the color components are modified, the modifier 440 preferably fixes the components between the maximum and minimum threshold, for example between 0 and 255.

The modules 410, 420, 430 and 440 block decoder 400 can be presented in the form of software, hardware or combinations thereof. The modules 410, 420, 430, 440 and 500 may be implemented together in Blackadder 400. Alternatively, it is also possible distributed implementation for some of the modules provided in another module of the mobile device.

Fig schematically illustrates a hardware implementation of the block decoder 400 according to the present invention. The input to the block decoder 400 is this view 700 of the coded block containing 12-bit color codeword 710 (4 bits for each of red, green and blue component), 4-bit codeword 720 intensity and a 16-bit sequence intensity 730.

Color code word is provided to the generator 420 colors, which is implemented through three extenders 422-426 bit. The first dilator 422 bits accepts 4-bit red component, the second 424 and 426 third extender accepts 4-bit green, and blue component, respectively. The output from the corresponding extender 422-426 is 8-bit color component. 8-bit component is obtained simply by multiplying the input component 17 or multiplication of the component 16 and the subsequent addition of the component. Alternatively, the dilator 422-426 may be implemented as a means of shifting bits and or gateways, for example (1011bin<<4) or 1011bin=1011 0000bin or 1011bin=1011 1011bin, where <<4 corresponds to the shift of four bits of the word to the left.

The selector 430 modifiers implemented as a multi is lexor 435. 3-bit index address included in the multiplexer 435. Based on the index address multiplexer 435 selects which of the eight elements of the image to decode. 2-bit representation of the intensity, associative associated with the selected picture element, and then forwarded for table lookups 415. This table corresponds search tool 410 provide sets of modifiers and table 500 intensity Fig. Using the input code word intensity and representation of the intensity of the search 415 retrieves the correct value modifier intensity from a set of intensity in the table. This 9-bit value of the modifier with the sign (positive or negative) the following is a modifier 440 intensity. In this hardware implementation modifier 440 contains three adder 441-443 and three clamps 444-446. The value of the modifier is included in the corresponding adder 441-443. The first adder 441 adds the value of the intensity modifier 8-bit red component of the dilator 422 bits. Accordingly, the adder 442 and the adder 443 adds value modifier to 8-bit green, and blue component of the expander 424 and 426 bits, respectively. In an alternative implementation of the adders 441-443 can be replaced with other elements of the modification, for example multipliers or XOR-W is the skidding. The output from the adders 441-443 forwarded connectors 444-446, which fix the modified color component between 0 and 255. The output from the latches 444-446 is decompressed or decoded 24-bit color image element.

Fig schematically illustrates a possible hardware implementation of expanders 422, 424, 426 bit Fig. These extenders accept 4-bit (red, green or blue) color components and advanced display a corresponding 8-bit color component. Output 8-bit color component, the most significant bits (MSB) are input 4-bit color component "of the fifth MSB" corresponds to the MSB of the input component, "the sixth MSB" corresponds to "the second MSB input component, and the remaining two least significant bits (LSB) correspond to two LSB of the input component.

Fig schematically illustrates a possible hardware implementation table lookups 415 Fig. Three LSB 4-bit input code word intensity are two of the multiplexer 411 and 412 to select one 7-bit value modifier intensity of the eight possible values of the modifiers for each multiplexer 411 and 412. Of these 16 modifiers intensity of the remaining 48 values can be calculated using tables of intensity according to table 1. The selected values of the modifiers intensity of multipl is xorow 411 and 412 are in a different multiplexer 413, which selects one of these values based on 1-bit input data (1 bit 2-bit representation of the intensity) of the multiplexer 435 to Fig. The selected value of the modifier is then forwarded to the multiplexer 416 and the tool 414 negation, which performs the operation of negation with the value modifier. In addition, it is with negation is forwarded to multiplexer 416. This multiplexer 416 selects either positive 7-bit value modifier intensity, or the value of negation on the basis of the remaining bits represent the intensity of the multiplexer 435 to Fig. Selected (8-bit) value modifier is then supplied to the multiplexer 418 and means 417 bits, which shifts one bit of the value modifier to the left that leads to a 9-bit modifier intensity (corresponds to the multiplication of the two values in decimal notation). After the multiplexer 418 selects either 8-bit value modifier, or 9-bit value of the modifier based on the MSB of the code word intensity. The result of choice is a 9-bit value modifier intensity of the 64 possible values of the modifier to use for a specific image element.

Fig schematically illustrates a possible hardware implementation of the latches 444, 445, 446 in Phi is .19. The entrance to the latch 444, 445, 446 - this 10-bit value modified by the intensity of the color component. Eight LSB input values are provided to the multiplexer 447. The other input to the multiplexer is the maximum threshold value (255; 8-bit). The multiplexer 447 selects either 8-bit input value, or the maximum threshold value based on the second MSB modified by the intensity of the color component. In other words, if the second MSB is one, the multiplexer 447 displays the threshold value, otherwise, (second MSB equal) 8-bit input value is output to the second multiplexer 448. This second multiplexer 448 compares the output from the first multiplexer 447 with a minimum threshold value (0; 8-bit) based on the MSB of the color component. If the MSB or sign bit equal to one, the output of the first multiplexer 447 is negative and the minimum threshold value should be selected by the second multiplexer 448. However, if the sign bit is zero, the output from the first multiplexer 447 should also be output from the second multiplexer 448.

Hardware block encoder 400 Fig is very simple, it is, in fact, contains only three operations of addition, one denial and 12 multiplexers, if expanders 422, 424, 426 bits, table 415 and search tabs 444, 445, 446 put into effect the Ana according pig, Fig and pig respectively.

This should be compared with unpacking using the scheme S3TC [3], which requires up to 42 additions and two multiplexers.

Experts in the art should understand that various modifications and changes may be made in this invention without departure from its spirit and scope, which are defined by the attached claims.

Sources of information

1. E. J. Delp and O. R. Mitchell, " Image compression using block truncation coding, IEEE Transactions on Communications, volume COM-2, number 9, pp. 1335-1342, September 1979

2. G. Campbell, T. A. DeFanti, J. Frederiksen, S. A. Joyce, L. A. Leske, J. A. Lindberg, and D. J. Sandin, Two bit/pixel full color encoding, SIGGRAPH '86 Conference Proceedings, volume 20, number 4, pages 215-223, August 1986

3. The patent (U.S. No. 5956431.

4. T. Akenine-Moller and J. Strom, Graphics for the masses: A hardware architecture for mobile phones, ACM Transactions on Graphics, vol. 22, No. 3, Proceedings of ACM SIGGRAPH 2003, pp. 801-808, July 2003

5. S. Fenney, Texture compression using low-frequency signal modulation, Graphics Hardware 2003, pages 84-91, July 2003

6. Y. Linde, A. Buzo and R. Gray, An algorithm for vector quantizer design, IEEE Transactions on Communications, volume 28, pages 84-94, January 1980

1. The method of encoding an image, the method contains the steps that decompose the above-mentioned image into image blocks, and each block of the image contains multiple image elements; and determine at least one block of encoded image representation by stages, to the x determine the color codeword, which is the representation of the colors mentioned picture elements in said block image; provide a code word intensity, which is a representation of the set of multiple intensity modifiers for modifying the intensity of the above-mentioned image elements in said block image; and selects, for each image element in said block image representing intensity, associative associated with an intensity modifier from the above set of modifiers intensity.

2. The method according to claim 1 in which the said stage of determining referred to the encoded representation is performed for each block in the image.

3. The method according to claim 1, in which mentioned the encoded representation of the above-mentioned block image is a 32-bit sequence in which the mentioned color code word consists of 12 bits, referred to the code word intensity contains 4 bits, and the sequence of the above-mentioned views intensity contains 16 bits.

4. The method for compressing a block of image that contains multiple image elements, with the above-mentioned method contains the steps that define the color codeword that is a representation of the colors mentioned picture elements in said block image is the position; provide a code word intensity, which is a representation of the set of multiple intensity modifiers for modifying the intensity of the above-mentioned image elements in said block image; and selects, for each image element in said block image representing intensity, associative associated with an intensity modifier from the above set of modifiers intensity.

5. The method according to claim 4, in which the said step of defining the mentioned color code word contains stages, which determine the average color of the above-mentioned image elements in said block image and quantuum referred to the average color.

6. The method according to claim 5 in which the said step of quantization is referred to as the average color contains stages, which determine for each neighboring quantized color referred to as the average color of the errors view and select neighboring quantized color associative with the lowest representation of the error, as mentioned quantized average color.

7. The method according to claim 6 in which the said representation of the error is a weighted representation of the error.

8. The method according to claim 6 in which the said stage of determining the above-mentioned representation of the error contains the stages on which to compress to the each neighboring quantized colors mentioned block image and determine for each neighboring quantized colors mentioned representation of the error based on the comparison of the mentioned block image and the above-mentioned a compressed representation of the above-mentioned block of the image.

9. The method according to claim 4, in which the said set of modifiers intensity contains mathematically additional value modifiers intensity.

10. The method according to claim 4, in which the stage to submit the above mentioned code word intensity contains the stage at which selects the set of modifiers intensity from the intensity table containing multiple sets of modifiers intensity, and mentioned the code word intensity provides the ability to identify the said set of intensity modifiers selected from the above table.

11. The method according to claim 10, in which the said steps of selecting the above-mentioned set of modifiers intensity and choice of the mentioned representations intensity contain stages, which determine for each image element in said unit image, the difference between the value of the source color and the average color modified by the intensity using the intensity modifier from a set of modifiers of the intensity of the referenced table intensity; estimate the error value on the basis of such specific differences and choose the set of modifiers intensity and the intensity modifiers that minimize the above error value.

p> 12. The method according to claim 11, in which the said error value represents a weighted error value, and a weighting factor of a given color component is equal to the mentioned source and said average color.

13. The method according to claim 10, in which the said steps of identifying mentioned color code words, the choice of the mentioned set of modifiers intensity and choice of the mentioned representations intensity contain stages, which determine for each image element in said unit image, the difference between the value of the original color and quantized color, modified in intensity using the intensity modifier from a set of modifiers of the intensity of the referenced table intensity; estimate the error value on the basis of such specific differences and choose the quantized color, a set of modifiers intensity and the intensity modifiers that minimize the above error value, and mentioned the color code word contains mentioned selected quantized color.

14. The method according to item 13, in which the said error value represents a weighted error value, and a weighting factor of a given color component is equal to the mentioned source and said quantized color.

15. The method according to claim 4, in which amenity block image contains the 2 m×2nimage elements, where m=3-n and n=0, 1, 2, 3.

16. The method according to claim 4, in which a compressed view of the above-mentioned block image is a 32-bit sequence in which the mentioned color code word consists of 12 bits, referred to the code word intensity contains 4 bits, and the sequence of the above-mentioned views intensity contains 16 bits.

17. The method of decoding the encoded image, which contains the coded representation of image blocks that contain multiple elements of the image, and the encoded representation contain the color code word, the code word of the intensity and sequence of presentation of the intensity, and the above-mentioned method provides for at least one encoded representation of a block of image segments, which provide a set of multiple intensity modifiers based on the said code word intensity; at least one image element in said block image to generate a representation of the color on the basis of the mentioned color code words; choose the modifier intensity of the mentioned set of intensity modifiers based on said sequence view intensity; and modify the intensity mentioned, m is Nisha least one image element based on the said selected intensity modifier and generate a decoded representation mentioned the encoded image by compositing several modified in intensity and color picture elements.

18. The method of processing a compressed representation of the block image containing multiple image elements, and mentioned a compressed representation contain the color code word, the code word of the intensity and sequence of presentation of the intensity, and the above-mentioned method contains the steps that provide a set of multiple intensity modifiers based on the said code word intensity; at least one image element in said block image to generate a representation of the color on the basis of the mentioned color code words; choose the modifier intensity of the mentioned set of modifiers intensity on the basis of the aforementioned sequence of presentation of intensity and modify the intensity of the mentioned at least one picture element on the basis of the said selected intensity modifier.

19. The method according to p, in which the said set of modifiers intensity contains mathematically additional values mod is Viktorov intensity.

20. The method according to p, in which the said step of providing these set of modifiers intensity contains a stage, on which is chosen on the basis of the said code words of the intensity of the set of modifiers intensity from the intensity table containing multiple sets of modifiers intensity.

21. The method according to claim 20, in which said table contains a first subset of the sets of modifiers intensity, while the above-mentioned method further comprises a step, which determine the intensity modifiers of modifiers intensity for the second subset on the basis of the intensity modifiers of modifiers intensity in said first subset.

22. The method according to p, in which the said sequence representation of the intensity is a sequence that contains for each picture element in the above-mentioned view of the above-mentioned block image intensity index, providing the opportunity to identify which of these multiple intensity modifiers mentioned set of modifiers intensity to use for the above-mentioned picture element.

23. The method according to p, in which the said stage of modifying the intensity contains the phase in which add SEL the data value of the intensity modifier to all values of the color components mentioned color representation.

24. The method according to p, in which the said stage of modifying the intensity contains the phase in which adds the selected value of intensity modifier, multiplied by weighting factors, specific for the component, for all values of the color components mentioned color representation.

25. The method according to item 23, further containing a phase in which fixed amounts of the above-mentioned values of intensity modifier and the above-mentioned values of the color components between the minimum threshold and the maximum threshold value.

26. The method according to p, in which the said unit image contains the 2m×2nimage elements, where m=3-n and n=0, 1, 2, 3.

27. The method according to p, in which the said view of the above-mentioned block image is a 32-bit sequence in which the mentioned color code word consists of 12 bits, referred to the code word intensity contains 4 bits, and the sequence of views intensity contains 16 bits.

28. A representation of the signal block image containing multiple image elements, in fact the representation of the signal contains the color codeword that is a representation of the colors mentioned picture elements in said block image; a code word intensives and, which is a representation of the set of multiple intensity modifiers for modifying the intensity of the above-mentioned image elements in said block image; and a sequence of representations of the intensity, where the representation of the intensity associated to the image element in said unit image, with intensity modifier from the above set of modifiers intensity.

29. The signal representation on p, in which the said unit image contains the 2m×2nimage elements, where m=3-n and n=0, 1, 2, 3.

30. The signal representation on p, these signal representation is a 32-bit sequence in which the mentioned color code word consists of 12 bits, referred to the code word intensity contains 4 bits, and the sequence of the above-mentioned views intensity contains 16 bits.

31. The system of coding of images containing the means of decomposition of images to decompose the image into image blocks, with each block image contains multiple image elements; and a block encoder for encoding a block of the image to generate an encoded representation of the above-mentioned block image, these block encoder contains the quantizer C is billing purposes to determine the color code words, which is the representation of the colors mentioned picture elements in said block image; a quantizer intensity to provide the code word intensity, which is a representation of the set of multiple intensity modifiers for modifying the intensity of the above-mentioned image elements in said block image; and a selector views intensity for each picture element in said unit image, representation, intensity, associative associated with the modifier intensity of the mentioned set of modifiers intensity.

32. System p, which mentions the encoded representation of the above-mentioned block image (600) is a 32-bit sequence in which the mentioned color code word consists of 12 bits, referred to the code word intensity contains 4 bits, and the sequence of the above-mentioned views intensity contains 16 bits.

33. The compression system block image containing multiple image elements, while the system contains a quantizer color to determine the color code word, which is the representation of the colors mentioned picture elements in said block image; a quantizer intensity to provide the population code word intensity, which is a representation of the set of multiple intensity modifiers for modifying the intensity of the above-mentioned image elements in said block image; and a selector views intensity for selecting, for each image element in said unit image, representation, intensity, associative associated with the modifier intensity of the mentioned set of modifiers intensity.

34. System p, in which the said color quantizer includes a means for determining an average color of the above-mentioned image elements in said block image and the means for quantization is referred to as the average color.

35. The system of clause 34, in which the said quantization means is arranged to provide neighboring quantized colors mentioned average color, and said system further comprises means for evaluating errors to determine for each neighboring quantized colors mentioned average color representation errors and to select the neighboring quantized color, associative associated with the lowest representation of the error, as mentioned quantized average color.

36. System p, which mentions the representation error is a weighted representation of the error.

37. ICI the EMA on p, which mentions the representation error is a weighted representation of the error.

38. System p, in which the set of modifiers intensity contains mathematically additional value modifiers intensity.

39. System p additionally contains a table of intensity, containing several sets of modifiers intensity, and the quantizer intensity contains a selector for selecting the above-mentioned set of modifiers intensity of these tables intensity, whereby the mentioned code word intensity provides the ability to identify the said selected set of modifiers intensity of these tables.

40. System 39, further containing a means for determining for each image element in said block image of the difference between the value of the source color and the average color modified by the intensity using the intensity modifier from a set of modifiers of the intensity of the referenced table intensity; means for evaluating the error for the estimation of the error value on the basis of such specific differences, and the above-mentioned selector to set the intensity and the above-mentioned selector view is made with a choice of a set of modifiers intense is vnesti and modifiers intensity, to minimize the above error value.

41. System p, in which the said means to assess the error made with the possibility of estimating the weighted error values, and the weighting factor for a given color component is equal to the mentioned source and said average color.

42. System 39, further containing a means for determining for each image element in said block image to the difference between the value of the original color and quantized color, modified in intensity using the intensity modifier from a set of modifiers of the intensity of the referenced table intensity; means for evaluating the error for the estimation of the error value on the basis of such specific differences, and the above-mentioned color quantizer, the said selector to set the intensity and the above-mentioned selector view is made with a choice of quantized colors, set of intensity modifiers and modifiers intensity that minimize the above error value, whereby the mentioned color code word contains mentioned selected quantized color.

43. System 42, in which the said means to assess the error made with the possibility of estimating the weighted error values, and the weighting factor of the given color to the component equal to the mentioned source and said quantized color.

44. System p, in which the said unit image contains the 2m×2nimage elements, where m=3-n and n=0, 1, 2, 3.

45. System p, in which a compressed view of the above-mentioned block image is a 32-bit sequence in which the mentioned color code word consists of 12 bits, referred to the code word intensity contains 4 bits, and the sequence of the above-mentioned views intensity contains 16 bits.

46. System for decoding an encoded image, which contains the coded representation of image blocks that contain multiple elements of the image, and the encoded representation contain the color code word, the code word of the intensity and sequence of presentation of the intensity, while the above system includes means for providing for a block image of a set of multiple intensity modifiers based on the said code word intensity; generator flowers for generating a color representation for at least one image element in said block image based on the mentioned color words; a selector for selecting for the said at least one image element modifier intensity of the above identified set modificat the ditch intensity on the basis of the aforementioned sequence of presentation of intensity; the intensity modifier for modifying the intensity of the mentioned at least one image element based on the said selected intensity modifier; and means for linking multiple modified in intensity and color elements of the image to generate a decoded representation referred to the encoded image.

47. System for processing a compressed representation of the block image containing multiple image elements, and mentioned a compressed representation contain the color code word, the code word of the intensity and sequence of presentation of the intensity, and the system includes means for providing a set of multiple intensity modifiers based on the said code word intensity; generator flowers for generating a color representation for at least one image element in said block image based on the said color code words; a selector for selecting, for the said at least one image element, modifier intensity of the above identified set of modifiers intensity on the basis of the aforementioned sequence of presentation of intensity, and the intensity modifier to modify and is tensively mentioned, at least one image element based on the said selected intensity modifier.

48. System p additionally contains a table of intensity, containing several sets of modifiers intensity, and the aforementioned means of presenting the above-mentioned set of modifiers intensity is made with a choice of the mentioned set of modifiers intensity of these tables intensity on the basis of the said code word intensity.

49. System p, in which the set of modifiers intensity contains mathematically additional value modifiers intensity.

50. System p, in which the above-mentioned sequence representation of the intensity is a sequence that contains for each picture element in the above-mentioned view of the above-mentioned block image intensity index, providing the opportunity to identify which of these multiple intensity modifiers mentioned set of modifiers intensity to use for the above-mentioned picture element.

51. System p, in which the said intensity modifier configured to add the selected values of the modifier intensity multiplied by a weighting CoE who ficiency, specific component to all values.

52. System p, in which the said intensity modifier configured to add the selected values of the intensity modifier, multiplied by weighting factors, specific for the component, for all values of the color components mentioned color representation.

53. System 51, in which the said intensity modifier performed with the fixing of the amounts mentioned qualifier values of intensity and the above-mentioned values of the color components between the minimum threshold and the maximum threshold value.

54. System p, in which the said unit image contains the 2m×2nimage elements, where m=3-n and n=0, 1, 2, 3.

55. System p, in which the above-mentioned view of the above-mentioned block image is a 32-bit sequence in which the mentioned color code word consists of 12 bits, referred to the code word intensity contains 4 bits, and the sequence of the above-mentioned views intensity contains 16 bits.



 

Same patents:

FIELD: method and device for video encoding and decoding which is scalable across color space.

SUBSTANCE: in the method, encoder may inform decoder about position of brightness data in bit stream, and decoder may transform colored image to halftone image when necessary. In accordance to the invention, brightness data are serially inserted from all macro-blocks contained in a section, into bit stream, chromaticity data are inserted serially from all macro-blocks contained in a section, into bit stream, after inserted brightness data and bit stream which contains inserted brightness data and chromaticity data is transmitted.

EFFECT: creation of method for video encoding and decoding which is scalable across color space.

4 cl, 12 dwg

FIELD: engineering of systems for analyzing digital images, and, in particular, systems for showing hidden objects on digital images.

SUBSTANCE: in accordance to the invention, method is claimed for visual display of first object, hidden by second object, where first object has color contrasting with color of second object, and second object is made of material letting passage of visible light through it, where amount of visible light passing through second object is insufficient for first object to be visible to human eye. The method includes production of digital image of first and second objects with usage of visible light sensor. Digital data of image, received by computer system, contains both data of first object and data of second object, where data of first object and data of second object contains color information, and value of contrast between first and second objects must amount to approximately 10% of full scale in such a way, that along color scale of 256 levels the difference equals approximately 25 levels, then data of second object is filtered, after that values, associated with data of first object, are increased until these values become discernible during reproduction on a display.

EFFECT: creation of the method for showing hidden objects in digital image without affecting it with special signals.

3 cl, 6 dwg

FIELD: radio communications; color television sets.

SUBSTANCE: novelty is that proposed color television set that has radio channel unit, horizontal sweep unit, vertical sweep unit, chrominance unit, sound accompaniment unit, and color picture tube is provided in addition with three identical line doubling channels, pulse generator, and switch, second set of three planar cathodes mounted above first set and second set of three cathode heaters are introduced in its color picture tube. Reproduced frame has 1156 active lines and 1 664 640.5 resolving elements.

EFFECT: enhanced resolving power.

1 cl, 5 dwg, 1 tbl

The invention relates to techniques for color television and can be used in the decoder SECAM color TVs and video devices

The invention relates to a digital device screen display system for processing digital video signal and, in particular, for a system for processing digital video signal in which the digital video signals represent information about the image in compressed form

The invention relates to a digital device screen display system for processing digital video signal and, in particular, for a system for processing digital video signal in which the digital video signals represent information about the image in compressed form

FIELD: data transmission.

SUBSTANCE: a system is disclosed which is meant for provision of user interface for application which is executed in communication device. System may include a main device, configured to exchange input data of user and display information on a display, and may be connected to communication device through transport communication line. Main device may be configured to load an application from main device into communication device; to provide user interface to application in main device; to execute an application in communication device.

EFFECT: increased efficiency.

2 cl, 4 dwg

FIELD: selective lighting of electronic device displays.

SUBSTANCE: effect is achieved due to ensured detection of an event which causes renewal of display, and activation of lighting elements for lighting the display, and determining whether information that should be displayed is going to occupy a display area. If so, that display area is selectively lit by one or more lighting elements. Predetermined lighting period may depend on selected combination of area size, position of aforementioned area and/or priority, connected to the event.

EFFECT: reduced consumption of energy of batteries.

2 cl, 9 dwg

FIELD: informatics, possible broad usage in, for example, computerized reference systems for collective usage.

SUBSTANCE: in accordance to the invention, device contains a miniature video camera. The video camera is jointly mounted in one of upper angles of display and directed towards the user in such a way, that optical axis of video camera crosses zone of average position of vertically oriented user palm. Definition depth of optical system of video camera does not exceed average distance between user head and display. Video camera is provided with additional illumination device, and working wave length of device is beyond visible range in near infrared spectrum.

EFFECT: possible control of computer without direct contact of user with material objects, excluding damaging of equipment.

2 cl, 2 dwg

FIELD: system and method for identification of web-camera.

SUBSTANCE: system uses web-camera, client computer and server web-site. In web-camera, authentication password and video-communication application are stored. Server web-site has authentication module for identification of web-camera and a functional module. After the client computer installs video application, provided by web-camera, web-camera may connect to server web-site through client computer. Server web-site authenticates possible usage of web-camera by checking authentication password. After passage of authentication web-camera may receive services provided by functional module.

EFFECT: expanded functional capabilities.

3 cl, 5 dwg

FIELD: engineering of computer components for ordering graphic elements, shown through graphic user interface.

SUBSTANCE: a system of presenting means provides base class of presenting means and a set of interface methods, realized by presentation mechanism, for creation and integration of expandable set of classes of presenting means for processing data of graphical elements of various types during composition operation in given visible image. System of presenting means allows realization of complex image composition operations through calls of presentation mechanism. Aforementioned complex image composition operations include: breaking into pages, partial computation, stepwise computation, a set of samples, alteration of capabilities/operations of composition.

EFFECT: expanded functional capabilities, due to support of compositions of visible images of application, to which a set of graphic elements is assigned.

4 cl, 15 dwg

FIELD: technology for controlling orientation of image.

SUBSTANCE: orientation mode detector measures angles of rotation of display panel in several directions and determines orientation mode for source image data based on measured rotation angles. System memory stores orientation parameters in accordance to a set of image orientation modes. System controller originally receives information, pointing out orientation mode, from orientation mode detector, and extracts orientation parameters corresponding to received information from system memory. Finally, driver alters orientation of original image data in accordance to extracted orientation parameters.

EFFECT: optimal automatic orientation of image depending on turn of panel of display in several directions.

3 cl, 13 dwg

FIELD: technology for controlling orientation of image.

SUBSTANCE: orientation mode detector measures angles of rotation of display panel in several directions and determines orientation mode for source image data based on measured rotation angles. System memory stores orientation parameters in accordance to a set of image orientation modes. System controller originally receives information, pointing out orientation mode, from orientation mode detector, and extracts orientation parameters corresponding to received information from system memory. Finally, driver alters orientation of original image data in accordance to extracted orientation parameters.

EFFECT: optimal automatic orientation of image depending on turn of panel of display in several directions.

3 cl, 13 dwg

FIELD: machine vision technique.

SUBSTANCE: optical system of optical mouse can be used in contact scanning image converters, in particular, in optical mouse to control cursor on computer screen, in portable reading-out device and etcetera. Optical system of optical mouse has photodetector, lens of optical channel for transmitting image of working part of object surface onto surface of photodetector. Optical system also has radiation source, light guide with lens and mirror surfaces. Photodetector and radiation sources belong to the same plane. Mutual disposition of lens and mirror surfaces in light guide is made in such way that radiation from radiation sources should fall onto object surface in form of meet flows.

EFFECT: improved illumination onto working part of object surface; reduced non-uniformity of illumination; reduced cost of device.

2 dwg

FIELD: handheld devices with display; information viewing.

SUBSTANCE: in response to changes of tilt angle of device part of page containing information is changed. The named page lies on a virtual surface in co-ordinates system and every page point has a certain location in co-ordinates system. Initially display surface is oriented against virtual surface so that line of support perpendicular to monument point on display surface and starting from some monument point touches the page containing information in defined point. Part of page around defined point is displayed and in response to handheld device tilt mirror line is created by mirror reflection of support line against line perpendicular to display surface and passing through monumental point. Mirror line virtual surface contact point is defined and a part around contact point is displayed. Also handheld device for viewing information is declared.

EFFECT: improved image adjustment.

24 cl, 20 dwg

FIELD: handheld devices with display; information viewing.

SUBSTANCE: in response to changes of tilt angle of device part of page containing information is changed. The named page lies on a virtual surface in co-ordinates system and every page point has a certain location in co-ordinates system. Initially display surface is oriented against virtual surface so that line of support perpendicular to monument point on display surface and starting from some monument point touches the page containing information in defined point. Part of page around defined point is displayed and in response to handheld device tilt mirror line is created by mirror reflection of support line against line perpendicular to display surface and passing through monumental point. Mirror line virtual surface contact point is defined and a part around contact point is displayed. Also handheld device for viewing information is declared.

EFFECT: improved image adjustment.

24 cl, 20 dwg

FIELD: method for encoding and decoding digital data transferred by prioritized pixel transmission method or stored in memory.

SUBSTANCE: in accordance to the invention, informational content being encoded and decoded consists of separate pixel groups, where each pixel group contains value of position, at least one pixel value and priority value assigned to it, where at least one key is used, with which value of position and/or pixel value/values of pixels of pixel group are selectively encoded or decoded. Depending on used keys and on parts of informational content which are encoded, for example, value of positions and/or values of pixel groups, many various requirements may be taken into consideration during encoding.

EFFECT: ensured scaling capacity of encoding and decoding of digital data.

8 cl, 5 dwg, 3 tbl

FIELD: systems for encoding and decoding video signals.

SUBSTANCE: method and system for statistical encoding are claimed, where parameters which represent the encoded signal are transformed to indexes of code words, so that decoder may restore the encoded signal from aforementioned indexes of code words. When the parameter space is limited in such a way that encoding becomes inefficient and code words are not positioned in ordered or continuous fashion in accordance with parameters, sorting is used to sort parameters into various groups with the goal of transformation of parameters from various groups into indexes of code words in different manner, so that assignment of code word indexes which correspond to parameters is performed in continuous and ordered fashion. Sorting may be based on absolute values of parameters relatively to selected value. In process of decoding, indexes of code words are also sorted into various groups on basis of code word index values relatively to selected value.

EFFECT: increased efficiency of compression, when encoding parameters are within limited range to ensure ordered transformation of code word indexes.

6 cl, 3 dwg

FIELD: technology for encoding and decoding of given three-dimensional objects, consisting of point texture data, voxel data or octet tree data.

SUBSTANCE: method for encoding data pertaining to three-dimensional objects includes following procedures as follows: forming of three-dimensional objects data, having tree-like structure, with marks assigned to nodes pointing out their types; encoding of data nodes of three-dimensional objects; and forming of three-dimensional objects data for objects, nodes of which are encoded into bit stream.

EFFECT: higher compression level for information about image with depth.

12 cl, 29 dwg

Up!