METHOD, COMPUTER PROGRAM PRODUCT AND STORAGE MEDIUM FOR COMPRESSING IMAGE DATA

DE502019013207D1Active Publication Date: 2025-05-08ARNOLD & RICHTER CINE TECHNIK GMBH & CO BETRIEBS KG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE502019013207
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-09-12
Filing Date
2019-09-12
Publication Date
2025-05-08
Estimated Expiration
2039-09-12

AI Technical Summary

Technical Problem

Existing image compression methods are inefficient, leading to high computational requirements and the generation of artifacts in decompressed images, especially in high-resolution images from digital cameras.

Method used

A compression process that groups pixels into predetermined groups based on their arrangement in rows, estimates pixel values using weighted combinations of neighboring pixels, and encodes the differential values using an efficient coding procedure.

Benefits of technology

This approach significantly accelerates the compression process, reduces noise, and avoids artifacts, achieving a high compression factor while maintaining image quality.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to a method for compressing image data comprising a plurality of pixel values ​​assigned to a respective pixel.

[0002] Such image data is typically generated in an electronic camera, particularly a digital motion picture camera, using an image sensor. The image sensor usually comprises a plurality of light-sensitive sensor elements arranged in rows and columns and corresponding to a respective pixel. Depending on the incident light, the sensor elements generate electrical signals corresponding to a respective brightness value. The sensor elements can be provided with a pattern of color filters, so that each brightness value is assigned to a color channel, particularly red, green, and blue. The so-called Bayer pattern is known for this purpose; in this pattern, one red filter element, two green filter elements, and one blue filter element are provided in a regular arrangement.In principle, monochrome image sensors and image sensors with differently designed pixels can also be considered, especially sensors with several color channels, e.g. RGB-W or RGB-IR sensors.

[0003] With increasing spatial resolution, i.e. with an increasing number of pixels per image, the volume of image data in modern cameras has increased considerably. Compression methods are therefore used to compress the image data generated in the camera and write it in compressed form to the camera's memory or output it to an external memory. The compressed image data can be decompressed later. Lossless and lossy compression methods are known for this purpose. Image data compression, like every application of data compression, is based on converting the original data, i.e. the pixel values, either into a fully reconstructible form that requires less storage space (lossless) or into a partially reconstructible form that also requires little storage space but does not contain all of the data (lossy).In lossy compression, data is removed, but the loss should be barely noticeable. Image data compression can, in particular, include a prediction method and entropy coding. Additionally, preprocessing steps can be provided, which can be particularly lossy, thus ensuring overall lossy compression (even if the aforementioned combination of prediction method and entropy coding is lossless).

[0004] For example, a method for compressing image data is known from US Pat. No. 6,744,929 B1. In this method, a predicted pixel value of a pixel is determined using an optimal formula previously selected from several predetermined formulas, and a difference is calculated between the predicted pixel value and the actual pixel value, which is encoded using entropy coding. US Pat. No. 5,764,374 A describes another method for image compression, wherein Golomb coding of a prediction error is provided.

[0005] It is also known to transform image data into the frequency domain (e.g., by discrete cosine transformation according to JPEG or with the help of wavelets according to JPEG 2000). The representation in the frequency domain is achieved by coefficients that describe the amplitude of specific frequencies. To compress the data, these coefficients are quantized depending on the frequency, with the coefficients corresponding to the high frequencies being transmitted inaccurately or discarded. This removes fine and high-frequency structures in the image. Images compressed in this way therefore often have a very smooth, washed-out, and slightly blurred image impression. The image errors resulting from compression are difficult to predict and are not limited to individual pixels, but appear as additional structures (so-called artifacts).In addition, the transformation into the frequency domain involves high computational effort, so that fast implementations, such as those required for moving image cameras, involve a correspondingly high technical effort.

[0006] It is an object of the invention to create a faster compression method that achieves good quality in the decompressed images at a high compression factor and avoids the formation of artifacts. Preferably, the compression method should also be lossless.

[0007] This object is achieved by a method having the features of claim 1.

[0008] The method described below is suitable for compressing image data comprising a plurality of pixel values ​​assigned to a respective pixel of a plurality of pixels. The pixels are provided in an arrangement of rows and columns, wherein each row or column corresponds to a pixel row with a predetermined sequence of pixels. A pixel row can be referred to as a linear pixel group, i.e., a (linear) arrangement of pixels along a line ("alignment"). Modern digital image sensors typically have pixels arranged in rows and columns. The image data to be compressed by the method described here can thus be generated, in particular, by a modern image sensor.

[0009] The method provides that for at least some pixels the pixel values ​​are compressed according to the following steps: Assigning the respective pixel to one of a plurality of pixel groups according to a predetermined grouping scheme, wherein each of the plurality of pixel groups is defined by the pixels of a plurality of predetermined pixel rows or by a subset of pixels of a plurality of predetermined pixel rows; determining an estimated pixel value of the respective pixel as a function of the pixel value of at least one predetermined other pixel using at least one estimation rule, wherein the at least one predetermined other pixel is selected as a function of the pixel group of the respective pixel; forming a difference value of the respective pixel that corresponds to a predetermined relation between the pixel value and the estimated pixel value of the respective pixel; and encoding the difference value using a coding method.

[0010] In summary, the pixel values ​​are first converted into difference values ​​depending on the respective group membership of the respective pixel, which are then each coded. The compression of the pixel values ​​thus takes place depending on a respective pixel group. Each pixel group is defined on the basis of several predetermined pixel rows, i.e. a pixel group is based on the predetermined arrangement in pixel rows. A pixel group can comprise at least a part, i.e. a subset of the pixels of the respective pixel rows. The pixel group can thus be a predetermined selection of pixels from several predetermined pixel rows, i.e. the pixel group can be composed of predetermined pixels that originate from several pixel rows. The grouping scheme used to assign a respective pixel can comprise, for each pixel group, position information of the pixels that belong to the respective pixel group.According to the grouping scheme, a pixel in question can then be assigned to the pixel group that contains the position information (e.g. a column and row index) of the pixel in question.

[0011] Grouping pixels based on pixel rows and processing them based on the groups allows for a significant acceleration of the compression process, particularly but not exclusively when using graphics processors that are particularly well suited for fast, parallel data processing. On the other hand, the method also allows for a significant reduction in the noise associated with determining the estimated pixel value, which allows for more efficient coding, as explained in more detail below. The method is based on the realization that pixel values ​​can differ from one another in a systematic way and that these differences can be systematically exploited, at least when determining the estimated pixel values, to make the compression of the image data more efficient.The differences between the pixel values ​​are advantageously exploited during the determination of the estimated pixel values. The subsequent coding also benefits from this in terms of increased efficiency.

[0012] The estimated pixel values ​​are preferably determined using a so-called prediction method, in which a respective pixel value is estimated or predicted, e.g., by a weighted linear combination (or a non-linear combination) of predetermined other pixel values ​​(estimation rule). The difference values ​​thus correspond to an estimation or prediction error that is generally significantly smaller than the underlying pixel value. Compared to the distribution of the pixel values, this causes a shift and / or deformation of the distribution of the difference values ​​towards lower values, i.e., the difference values ​​are statistically smaller than the underlying pixel values, whereby this effect can be independent of a formal value range.Due to the changed distribution, the difference values ​​can advantageously be encoded binary using a smaller number of bits (particularly using entropy coding), so that the image data as a whole can be encoded using a smaller number of bits and thus compressed.

[0013] The grouping scheme is preferably predetermined and ultimately defines which pixel(s) are to be used to estimate the pixel in question. The grouping scheme defines a classification or subdivision of the pixels that affects the determination of the estimated pixel values. The grouping scheme can be adapted to a statistic or another property of the pixels so that the pixels of a respective pixel group (or pixel class) can be optimally estimated in order to achieve maximum efficiency of the compression process. In addition to pixel statistics, the position of the pixels to be used for the estimation can also be taken into account so that compression can be carried out particularly quickly through parallel processing. The method therefore has advantages in terms of a high compression factor and a high achievable compression speed.At the same time, the method allows for lossless compression, avoiding the formation of artifacts. In other words, the advantages of the method do not come at the expense of the image quality of the reconstructed image data.

[0014] The at least one predetermined other pixel which is used to determine the estimated pixel value can always be chosen to be the same for each pixel of a respective pixel group.

[0015] Within the scope of the disclosure, the term "predetermined order" is generally understood as a defined order that can, in principle, be chosen arbitrarily. This order can correspond to an ascending order of pixels according to a pixel row. However, it can also be defined in a completely different way. Furthermore, the predetermined order can be defined by a "read-in direction" of pixel values ​​and / or by a uniform pixel index. However, the order can also be determined completely independently of a read-in order or read-in direction of pixel values.

[0016] In general, not all pixel values ​​of a respective image data set, which may, for example, correspond to a single image of an image sequence, need to be compressed according to the method according to the invention; rather, the method according to the invention can also be performed only for some of the pixel values. For example, the compression can be preceded by an analysis of the image data, wherein, as a result of the analysis, a first compression method (in particular the method according to the invention) is used for some (variable or predetermined) image regions and a different second compression method is used for other image regions, in particular in order to achieve a higher compression rate and / or lower memory requirements at the expense of higher computational complexity and / or poorer parallelizability.

[0017] The invention is generally not limited to a specific order of compression of the pixel values ​​or the arrangement of the assigned pixels.

[0018] Within the scope of the invention, it is also not excluded that preprocessing steps are carried out after the generation of the original image data (for example by means of an image sensor) and before the compression of the pixel values ​​(e.g. quantization, linearization, gamma curve).

[0019] Advantageous embodiments are disclosed in the dependent claims, the description and the figures.

[0020] According to one embodiment, the image data comprise pixel values ​​of different colors, wherein the pixel value of the pixel in question and the pixel value of the at least one predetermined other pixel correspond to the same color. In other words, only pixel values ​​of the same color are used to estimate the pixel value in question. This makes compression easy to parallelize, for example, if the image data were generated by an image sensor that has multiple color filters (e.g., a Bayer sensor). Furthermore, the pixel values ​​between the colors differ in terms of their statistics (distribution of the pixel values). This can advantageously be taken into account by the grouping scheme in that each of the multiple pixel groups only has pixels of one color.

[0021] The plurality of pixel groups can comprise at least a first pixel group and a second pixel group, wherein, if the pixel in question is assigned to the first pixel group, the pixel in question and the at least one predetermined other pixel can belong to the same pixel row. Furthermore, if the pixel in question is assigned to the second pixel group, the estimated pixel value can be determined as a function of a plurality of predetermined other pixels that belong to the same pixel row as the pixel in question and / or to at least one other pixel row. Such a definition of the pixel groups in turn brings advantages with regard to efficient parallelization. On the one hand, the pixels of the first pixel group can be compressed independently of other pixel rows.On the other hand, the pixels of the second pixel group can be compressed depending on pixels from other pixel rows, which allows for a more accurate estimate of the pixel value. The other pixels can advantageously belong to the first pixel group to further increase compression efficiency. Dividing the pixels into the first and second pixel groups allows for an optimal compromise between estimation accuracy and compression speed.

[0022] The at least one other pixel row, which includes at least one pixel for estimating the pixel value of the second pixel group, can be directly adjacent or indirectly adjacent to the pixel row of the pixel in question. The at least one other pixel row can be spaced from the pixel row of the pixel in question, in particular by one pixel row, i.e., the other pixel row is a pixel row after the next but one and thus indirectly adjacent to the pixel row of the pixel in question. It can be provided that, when the pixel in question is assigned to the second pixel group, the plurality of predetermined other pixels comprise at least one pixel belonging to the same pixel row as the pixel in question and additionally comprise several pixels belonging to the two nearest indirectly adjacent pixel rows. This selection of pixels can be configured as follows:The predetermined other pixels of another pixel row can originate exclusively from the indirectly adjacent pixel rows, which are spaced at most one pixel row apart from the pixel row of the pixel in question. Pixels from the immediately adjacent pixel row can then be used, for example, to estimate pixel values ​​whose pixels are located in the same pixel row but belong to a different pixel group, in particular the third pixel group mentioned below.

[0023] According to a further embodiment, the at least one estimation rule provides for the formation of a weighted sum on the basis of the pixel values ​​of the plurality of predetermined other pixels when the pixel in question is assigned to the second pixel group. In this case, the pixel values ​​are each given a weight and summed up. The weights can be different from one another and predetermined. Furthermore, the weights can be set such that a noise component contained in the pixel values ​​(e.g. sensor noise) is reduced by forming the sum. For this purpose, the weighted sum can advantageously be formed by an average of the pixel values ​​of the plurality of predetermined other pixels. In this case, it is preferred if the weights are formed by fractions whose sum corresponds to a predetermined value, in particular the value one, regardless of the number of weights. In this way, noise which approximately corresponds, for example, to a normal orThe difference values ​​can be averaged out using a Gaussian distribution without distorting the pixel values. This can effectively increase the estimation accuracy, so that fewer bits are required overall to encode a large number of difference values.

[0024] According to a further embodiment, the at least one estimation rule for pixels of the first pixel group provides that the estimated pixel value is determined based on a pixel value of a pixel whose position within the pixel row of the pixel in question lies before the position of the pixel in question according to the predetermined order. This enables a particularly efficient implementation of the method, since the at least one predetermined other pixel is located only in one direction relative to the pixel in question. In other words, the "predictor only has to look in one direction." Furthermore, it is preferred that, in the case of pixels of the first pixel group, only a single pixel is used to determine the estimated value, since other pixels within the pixel row are already relatively far away from the pixel in question and therefore cannot make a significant contribution in certain cases.Furthermore, the estimated pixel value can be determined particularly efficiently by using the pixel value of the only predetermined other pixel as the estimated value. A possible averaging, as in the case of pixels in the second pixel group, can thus be completely dispensed with in favor of a particularly efficient estimation.

[0025] The image data can comprise pixel values ​​of a first color (e.g., red), pixel values ​​of a second color (e.g., green), and pixel values ​​of a third color (e.g., blue), wherein, for a respective image data set, the number of pixel values ​​of the second color is greater than the number of pixel values ​​of the first color and greater than the number of pixel values ​​of the third color. Such an unequal numerical ratio is particularly present when using a Bayer sensor, wherein the number of green pixels is twice the number of red and blue pixels. However, other sensors are also possible, whose pixel values ​​have other colors and other ratios between the respective pixel values.

[0026] In particular, in the case of at least three different color channels, the plurality of pixel groups can comprise a third pixel group formed by a subset of pixels from the plurality of predetermined pixel rows, wherein the pixel values ​​of the third pixel group comprise a first portion of the pixel values ​​of the second color, and wherein the pixel values ​​of the first pixel group and the second pixel group comprise a second portion of the pixel values ​​of the second color as well as pixel values ​​of the first color and third color. In other words, the pixel values ​​of one color, the number of which exceeds the pixel values ​​of the other colors, can be divided between two pixel groups. The third pixel group can, in particular, comprise exclusively pixel values ​​of the second color. The division of the "excess" pixels can be advantageously utilized to further increase the compression efficiency.For example, the pixels of the third pixel group can be distributed among the remaining pixel groups to reduce noise, and the remaining pixels of this color can be distributed among the remaining pixel groups to achieve a fast compression speed.

[0027] If the pixel in question is assigned to the third pixel group, the estimated pixel value is preferably determined as a function of a plurality of predetermined other pixels. These predetermined other pixels preferably belong to at least one pixel row immediately adjacent to the pixel row of the pixel in question, in particular exclusively. In this case, it is also possible for the plurality of predetermined other pixels to comprise pixels from the two immediately adjacent pixel rows, in particular exclusively. Furthermore, the at least one estimation rule can also provide for the formation of a weighted sum based on the pixel values ​​of the plurality of predetermined other pixels in the case of pixels in the third pixel group. To reduce noise, the weighted sum can be implemented as an average value, similar to or corresponding to the case of pixels in the second pixel group.

[0028] According to a preferred embodiment, the predetermined pixel rows of the first pixel group and the second pixel group are defined in the arrangement of pixels in alternating pairs, i.e. two pixel rows of the first pixel group are followed by two pixel rows of the second pixel group and vice versa. In this case, it is preferred that, when the pixel in question is assigned to the second pixel group, the plurality of predetermined other pixels belonging to a different pixel row belong to the first pixel group, preferably exclusively. Thus, the determination of the estimated pixel value for pixels of the second pixel group can be limited to pixels of the first pixel group with regard to pixels lying outside the relevant pixel row. In an advantageous implementation of the method, the pixels of the second pixel group and then the pixels of the first pixel group can be compressed, at least in part.

[0029] It is understood that adjustments can be made to the edges of the arrangement of rows and columns, which adjustments may, in particular, include a deviation from a regular grouping scheme. Thus, in deviation from the aforementioned pairwise alternating grouping of pixel rows, it may be provided that the last four pixel rows do not include any pixels from the second pixel group. Furthermore, in deviation from the case where certain pixel rows include pixels from the third pixel group, it may be provided that the last four pixel rows do not include any pixels from the third pixel group and, in particular, exclusively include pixels from the first pixel group. Other or additional adjustments may also be provided.

[0030] When the pixel in question is assigned to the second pixel group, it is possible for at least one of the plurality of predetermined other pixels to belong to the same pixel row as the pixel in question and to have a position within the pixel row of the pixel in question that lies before the position of the pixel in question according to the predetermined order.

[0031] The pixel values ​​of pixels between different pixel rows can be compressed at least partially in parallel to increase compression efficiency. It is also possible to compress pixel values ​​of pixels belonging to the same pixel row between the multiple pixel groups at least partially in parallel. Furthermore, pixel values ​​of pixels belonging to the same pixel group and the same pixel row can be compressed at least partially in the ascending order of the pixel row. Furthermore, the pixel values ​​of pixels in one of the multiple pixel groups can be compressed before the pixel values ​​of pixels in another of the multiple pixel groups. For example, the pixel values ​​of the first pixel group can advantageously be compressed after the pixel values ​​of the second pixel group, in particular if pixel values ​​of the first pixel group are used to determine the estimated pixel values ​​of the second pixel group, but not vice versa.

[0032] To further increase compression efficiency, the pixels of the plurality of predetermined pixel rows can be divided into several pixel strips perpendicular to the pixel rows, with the pixel values ​​of pixels between the pixel strips being compressed at least partially in parallel. This allows the number of parallel "streams" to be executed to be increased, so that the method can be performed faster overall. The pixel strips preferably each comprise the same number of pixel rows.

[0033] In general, it is possible for the respective step of assigning the respective pixel to one of several pixel groups to be performed jointly for a plurality of the at least some pixels, before the respective step of determining an estimated pixel value of the respective pixel is performed for this plurality of pixels. Alternatively, the step of assigning the respective pixel to one of several pixel groups can be performed separately for each of the at least some pixels. It is also possible for the step of assigning the respective pixel to one of several pixel groups to be performed simultaneously with the step of determining an estimated pixel value of the respective pixel.In other words, the assignment step can be integrated into the estimation step such that the predetermined pixels used to determine the estimated pixel value result directly from the position of the respective pixel. The group membership of the respective pixel can thus result directly from the position of the respective pixel. However, this does not necessarily have to be the case. For example, the predetermined grouping scheme can include other or additional criteria for assigning the pixels to a respective pixel group.

[0034] According to a preferred embodiment, the plurality of predetermined pixel groups correspond exclusively to columns. This, in turn, offers advantages in terms of compression speed, since more columns than rows are often provided. Preferably, all pixel groups are based on pixel rows that correspond to columns.

[0035] In principle, any coding method can be used to encode the difference values, especially entropy coding. However, it has been shown that for the compression method described here, the difference values ​​can be encoded particularly advantageously using a Golomb-Rice coding method, which, as such, is part of common technical knowledge. A Golomb-Rice coding method offers a good compromise between the achievable speed and the average achievable compression factor.

[0036] As an alternative to a Golomb-Rice coding method, a coding method based on predetermined block lengths can be used, i.e., a respective difference value represented by a first binary word with a variable first length can be encoded by one or more second binary words, each of which has a predetermined and, in particular, fixed length. The compression method can thus be implemented particularly efficiently with regard to coding.

[0037] A Golomb-Rice coding method can preferably be designed such that a difference value to be coded is divided by a coding parameter to determine an integer quotient and a remainder. The remainder is represented by a first binary word and the integer quotient is represented by a second binary word. The first binary word and the second binary word are concatenated. If a predetermined relationship between the integer quotient and the coding parameter does not violate a predetermined boundary condition, the concatenated binary word is concatenated with a coding information bit to indicate the end of the concatenated binary word. Otherwise, the concatenated binary word is not concatenated with the coding information bit.This exploits the fact that, due to a predefined maximum number of bits for representing pixel values, the pixel values ​​can only assume values ​​up to a maximum value. Likewise, the estimation rule can be designed so that the difference values ​​cannot exceed this maximum value. This results in a maximum length, i.e., a maximum number of bits of the concatenated binary word. If the concatenated binary word has the maximum length, the end of the binary word does not need to be indicated by a coding information bit, so this coding information bit can be omitted in favor of a better compression rate.

[0038] The invention further relates to a computer program product comprising instructions which, when executed by a computer, cause the computer to execute the method according to one of the embodiments described here. The computer program product may comprise software or be embodied as software, wherein the software may be firmware, i.e., embedded software.

[0039] Another subject of the invention is a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the method according to one of the embodiments described here.

[0040] Furthermore, the invention relates to a device comprising the aforementioned computer-readable storage medium and a computing device, wherein the computing device is adapted to execute the instructions stored on the storage medium. For particularly efficient execution of the instructions, it is preferred that the computing device has at least one graphics processor and / or is connected to at least one graphics processor, in particular in order to execute the instructions or to operate the computing device according to the instructions. Furthermore, the instructions can generally be implemented by a field-programmable gate array (FPGA). However, it is understood that the computing device does not necessarily have to have these means and that the method can also be carried out efficiently in other ways.

[0041] The device can generally be designed to record a temporal sequence of individual images. The device can, in particular, be a film camera or moving image camera. The computing device of the device is preferably designed to compress at least one of the individual images according to the compression method described above. This can be particularly advantageous in a film camera, wherein the image data can be transmitted in compressed form. This requires, on the one hand, little bandwidth for the transmission (fast transmission), but, on the other hand, little storage space for storing the image data. For example, the compressed image data can easily be transmitted to a remote server in which a virtual cloud for image data is set up. The methods described here allow compression or decompression even in real time, so that, for example,Individual images can be compressed immediately after they are taken and transmitted remotely.

[0042] The method can generally also be implemented in other devices, e.g. in a digital microscope, which can be used in particular in the medical field, for example for carrying out operations.

[0043] The invention is explained below purely by way of example with reference to the drawings, in which Fig. 1 shows a schematic pixel arrangement with pixels of three different colors, each pixel being assigned to one of three different pixel groups according to a grouping scheme; Fig. 2 illustrates a determination of an estimated pixel value of a pixel of a first pixel group; Fig. 3 illustrates a determination of an estimated pixel value of a pixel of a second pixel group; Fig. 4 illustrates a determination of an estimated pixel value of a pixel of a third pixel group.

[0044] In the following, identical or corresponding elements are identified by the same reference symbols unless a special distinction between specific examples of elements is necessary.

[0045] Fig. 1 shows an image data set 10 comprising an arrangement of pixels 12 in several pixel rows. Each row 16 and each column 14 corresponds to a pixel row, wherein the image data set 10 is Fig. 1 eight rows 16 and sixteen columns 14. Each pixel row consists of a linear arrangement of pixels 12 according to a predetermined order R, where Fig. 1 this order R is entered for columns 14 to the left of image data set 10.

[0046] The pixels 12 of the image data set 10 comprise red pixels R, green pixels G, and blue pixels B, which are arranged according to the so-called Bayer pattern composed of blocks 18. In each column 14, there are always green pixels G, but additionally only either red or blue pixels. With the exception of the top two rows 16, each pixel 12 is assigned to one of three pixel groups (pixels 12') according to a predetermined grouping scheme. The respective pixel group is indicated in parentheses for each pixel 12', where, for example, G(1) means that the respective green pixel G is assigned to the first pixel group. Correspondingly, for example, R(2) means that the respective red pixel R is assigned to the second pixel group. Thus, it is also understood that, for example, G(3) means that the respective green pixel G is assigned to the third pixel group. As in Fig. 1 As can be seen, the grouping scheme provides that each pixel group comprises pixels 12' of predetermined columns 14. For the first two pixel groups, these predetermined columns 14 are defined in alternating pairs. For clarity, those columns 14 that contain pixels 12' of the first pixel group "(1)" but no pixels 12' of the second pixel group "(2)" are marked by "u", whereby these columns 14 are referred to as independent columns u. In contrast, those columns 14 that contain pixels 12' of the second pixel group "(2)" but no pixels 12 of the first pixel group "(1)" are marked by "a", whereby these columns 14 are referred to as dependent columns a. The pairwise alternating arrangement of the dependent columns a and the independent columns u is shown in Fig. 1 can be clearly seen, whereby in the area of ​​the right outer columns 14 there is an adjustment in that these two outer columns 14 are defined as independent columns u. The affiliation of a pixel 12' to the respective column group (a or u) can generally be determined depending on a column index i = {0, 1, 2,..., 16} by comparing the result of the operation i modulo 4 with the value 2. If the result is less than 2, the pixel 12' is located in a dependent column a, otherwise in an independent column u (exceptions in the right outer columns 14).

[0047] The green pixels G belonging to the third pixel group "(3)", ie the pixels G(3) are defined independently of the division into dependent columns a and independent columns u by the upper green pixel G of a respective block 18 (cf. Fig. 1 ). Here, too, there is an exception in the left outer column 14', where the relevant green pixels G are assigned to the first pixel group. Now, those pixels 12' are compressed that are assigned to a respective pixel group, i.e., all rows 16 with the exception of the first two rows 16. For this purpose, an estimated pixel value is determined for a relevant pixel 12', wherein the pixel value of at least one predetermined other pixel 12, 12' is used. For pixels 12' of the first pixel group (R(1), G(1), B(1)), the estimated pixel value corresponds to the pixel value of that pixel 12, 12' which, according to the predetermined order R of the relevant column 14, lies before the relevant pixel 12' and has the same color. This is shown in Fig. 2 illustrates where for a respective pixel 12' a previous pixel 12" is used, which is spaced from the respective pixel 12' by one row 16 or one pixel. The respective pixel 12' can be any pixel 12' from Fig. 1 which is assigned to the first pixel group "(1)". The estimated pixel value of pixel 12' of Fig. 2 is therefore the pixel value of pixel 12". A difference value is then formed between these pixel values, which can be expressed as D1(X, Y) = W(X, Y) - W(X, Y-2), where X is a row index and Y is a column index.

[0048] For pixels 12' assigned to the second pixel group (R(2), G(2), B(2)), additional pixels are used to determine the estimated pixel value. This is shown in Fig. 3 shown. Starting from the relevant pixel 12', the pixel 12" is used, which is in the same column 14 as the relevant pixel 12' and analogous to the case of Fig. 2 according to the order R in front of the respective pixel 12'. On the other hand, two pixels 22 are used, which are arranged in the two directly adjacent columns 14" and have the same color as the respective pixel 12' (cf. Fig. 1 ). The estimated pixel value of the respective pixel 12' is determined as the average of the pixel values ​​of the pixels 12', 22. Then, a difference value is again formed between the pixel value of the respective pixel 12' and the predetermined other pixel 12", 22. The difference value can be expressed as D2(X, Y) = W(X, Y) - (2*W(X, Y-2) + 2*W(X-2, Y) + 2*W(X+2, Y) + W(X+2, Y+2) + W(X-2, Y-2)) / 8. Here, "*" denotes multiplication and " / " denotes division. From the formula for the difference value, it follows that the pixel values ​​of the Fig. 3 closer pixels (the top three pixels 12", 22) are weighted more heavily than the diagonally and thus further away pixels (the bottom two pixels 22). By averaging, the sensor noise present in each pixel value is reduced.

[0049] For pixels 12' assigned to the third pixel group (G(3)), the nearest pixels 24 of the same color are used to determine the estimated pixel value, which are in the Bayer pattern of Fig. 1 are located diagonally opposite each other in the two immediately adjacent columns 14. This is Fig. 4 shown. The pixel values ​​of these immediately adjacent pixels 24 are in turn averaged to obtain the estimated pixel value of the respective pixel 12'. The difference value can be given for the respective pixel 12' by the formula D3(X, Y) = W(X, Y) - (W(X-1, Y-1) + W(X-1, Y+1) + W(X+1, Y-1) + W(X+1, Y+1)) / 4.

[0050] The difference values ​​can, in particular, also be negative. Before encoding a respective difference value, the difference value can be mapped to a value range that includes exclusively positive values ​​(including zero) according to a predetermined transformation rule. For this purpose, the transformation rule can be designed such that a respective negative difference value is mapped to odd values ​​(e.g., by D*2-1). A respective positive difference value, however, can be mapped to even values ​​(e.g., by D*2).

[0051] The following describes a Golomb-Rice coding method that can be used to encode a respective difference value D (specifically, D1, D2, and D3). A predefined parameter k, which can also be referred to as a control parameter, is used for encoding. For encoding, A = D % 2 k< is first calculated, where "%" denotes the modulo operation. A thus corresponds to a division remainder, which is represented by a first binary word with k bits. If the binary form of A comprises fewer than k bits, it is padded with zero-value bits.

[0052] Furthermore, B = D / 2 k< is calculated as an integer quotient (ie without remainder), where B is represented by a second binary word comprising a number of single-valued bits corresponding to the value B.

[0053] In a first example, a difference value D = 61 is to be encoded with k = 6, which in binary form corresponds to the binary word 111101. The above calculations in this case result in A = 61 and is represented by a first binary word 111101. The integer quotient is zero (B = 0), so the second binary word contains no bits. The first and second binary words are then formally concatenated with each other and a zero-valued coding information bit, resulting in the following binary word: 1111010.

[0054] In a second example, a difference value D = 133 is to be encoded with k = 6, which in binary form corresponds to the binary word 10000101. In this case, A = 5, so the first binary word is 000101. Furthermore, B = 2, so the concatenated binary word including the coding information bit is 000101110.

[0055] The pixel values ​​of the image data, as well as the difference values, can be limited to values ​​between 0 and a predetermined maximum value MAXVAL. Thus, depending on the parameter k, a boundary condition can be defined such that (B + 1) * 2 k< is generally smaller than MAXVAL. If (B + 1) * 2 k< is greater than or equal to MAXVAL, it follows implicitly that the respective concatenated binary word must end, and the coding information bit can be omitted. In another example with k = 10, D = 3643, A = 571, and the first binary word is therefore 111000111011, where B = 3. The concatenated binary word is then 1000111011111.

[0056] The concatenated binary words can each be written into a bit stream, which together with a header file represents compressed image data. Bezugszeichenliste

[0057] 10Image data set 12, 12', 12"Pixels 14, 14'Column 16Row 18Block 22Pixels 24Pixels Ggreen pixel Rred pixel Bblue pixel Rpredetermined order

Claims

1. A method of compressing image data (10) that comprise a plurality of pixel values which are associated with a respective pixel (12) of a plurality of pixels (12), wherein the pixels (12) are provided in an arrangement of rows (16) and columns (14), with each row (16) or column (14) corresponding to a pixel alignment having a predetermined order (R) of pixels (12), wherein the pixel values for at least some pixels (12) are compressed in accordance with the following steps: - associating the respective pixel (12') with one of a plurality of pixel groups in accordance with a predetermined grouping scheme, with each of the plurality of pixel groups being defined by the pixels of a plurality of predetermined pixel alignments (14, a, u) or by a subset of pixels of a plurality of predetermined pixel alignments (14, a, u) and wherein the affiliation of the respective pixel (12') with the pixel group results directly from the position of the respective pixel (12'); - determining an estimated pixel value of the respective pixel (12') in dependence on the pixel value of at least one predetermined other pixel (12", 22, 24) while using at least one estimation rule, with the at least one predetermined other pixel (12", 22, 24) being selected in dependence on the pixel group of the respective pixel (12'), wherein the plurality of pixel groups comprise a first pixel group and a second pixel group, wherein, when the respective pixel (12') is associated with the first pixel group, the respective pixel (12') and the at least one predetermined other pixel (12") belong to the same pixel alignment (14), wherein, when the respective pixel (12') is associated with the second pixel group, the determination of the estimated pixel value is carried out in dependence on a plurality of predetermined other pixels (12", 22, 24) that belong to at least one other pixel alignment (14, 14"), wherein the predetermined pixel alignments (a, u) of the first pixel group and the second pixel group are defined alternatingly pairwise in the arrangement of pixels (12), wherein, when the respective pixel (12') is associated with the second pixel group, the plurality of predetermined other pixels (22) that belong to a different pixel alignment (14") belong to the first pixel group; - forming a difference value (D1, D2, D3) of the respective pixel (12) that corresponds to a predetermined relation between the pixel value and the estimated pixel value of the respective pixel (12'); and - encoding the difference value (D1, D2, D3) using an encoding process.

2. A method according to claim 1, wherein the image data (10) comprise pixel values of different colors (R, G, B); and wherein the pixel value of the respective pixel (12') and the pixel value of the at least one predetermined other pixel (12", 22, 24) correspond to the same color.

3. A method according to claim 1 or 2, wherein the at least one other pixel alignment (14) is directly adjacent or indirectly adjacent to the pixel alignment (14, 14") of the respective pixel (12"), in particular wherein the at least one other pixel alignment (14, 14") is spaced apart from the pixel alignment (14) of the respective pixel (12') by a pixel alignment (14).

4. A method according to claim 3, wherein, when the respective pixel (12') is associated with the second pixel group, the at least one estimation rule provides the forming of a weighted sum on the basis of the pixel values of the plurality of predetermined other pixels (12", 22, 24), wherein the weighted sum is preferably formed by a mean value of the pixel values of the plurality of predetermined other pixels (12", 22, 24); and / or wherein, when the respective pixel (12') is associated with the first pixel group, the at least one estimation rule provides that the estimated pixel value is determined on the basis of a pixel value of a pixel (12") whose position within the pixel alignment (14) of the respective pixel (12') is before the position of the respective pixel (12') in accordance with the predetermined order.

5. A method according to any one of the preceding claims, wherein the pixel values of pixels (12') between different pixel alignments (14) are at least partly compressed in parallel; and / or wherein the pixel values of pixels (12') that belong to the same pixel group and to the same pixel alignment (14) are at least partly compressed in the predetermined order (R) of the pixel alignment (14); and / or wherein the pixel values of pixels (12') of one of the plurality of pixel groups are compressed before the pixel values of pixels of a different one of the plurality of pixel groups.

6. A method according to any one of the preceding claims, wherein the respective step of associating the respective pixel (12') with one of a plurality of pixel groups is carried out in common for a plurality of the at least some pixels (12') before the respective step of determining an estimated pixel value of the respective pixel (12') is carried out for this plurality of pixels; or wherein the step of associating the respective pixel (12') with one of a plurality of pixel groups is carried out separately for each of the at least some pixels; and / or wherein the plurality of predetermined pixel alignments exclusively correspond to columns (14).

7. A method according to any one of the preceding claims, wherein the difference values (D1, D2, D3) are encoded in accordance with a Golomb-Rice encoding process, in particular wherein a difference value (D) to be encoded is divided by an encoding parameter (k) to determine a whole number quotient (B) and a remainder (A), with the remainder (A) being represented by a first binary word and the whole number quotient (B) being represented by a second binary word, and with the first binary word and the second binary word being concatenated with one another; and wherein, when a predetermined relation between the whole number quotient and the encoding parameter does not infringe a predetermined marginal condition, the concatenated binary word is concatenated with an encoding information bit to indicate the end of the concatenated binary word, with the concatenated binary word otherwise not being concatenated with the encoding information bit.

8. A computer program product comprising commands which, on execution by a computer, cause it to carry out the method according to any one of the preceding claims.

9. A computer readable storage medium comprising commands which, on execution by a computer, cause it to carry out the method according to any one of the claims 1 to 7.

10. An apparatus having a computer readable storage medium according to claim 9 and having a computing device, wherein the computing device is adapted to execute the commands stored on the storage medium.

11. An apparatus according to claim 10, wherein the computing device has at least one graphics processor and / or is connected to at least one graphics processor; and / or wherein the apparatus is configured for recording a time sequence of frames, in particular wherein the apparatus is a moving image camera, and wherein the computing device is configured to compress at least one of the frames in accordance with the method according to any one of the claims 1 to 7.