HK1173011A1 - Image processing system and image processing method - Google Patents
Image processing system and image processing method Download PDFInfo
- Publication number
- HK1173011A1 HK1173011A1 HK13100055.7A HK13100055A HK1173011A1 HK 1173011 A1 HK1173011 A1 HK 1173011A1 HK 13100055 A HK13100055 A HK 13100055A HK 1173011 A1 HK1173011 A1 HK 1173011A1
- Authority
- HK
- Hong Kong
- Prior art keywords
- inclination
- block
- pixel value
- prediction
- dimensional direction
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Disclosed are an image processing system and an image processing program with which overshoot and undershoot due to alternating-current component prediction are controlled and ringing noise is effectually reduced. A slope calculation unit (32a) calculates a slope (a) in a one-dimensional direction. A threshold value setting unit (32b) selects the smaller of the amounts (|L-C|, |R-C|) of change of a pixel value in the lateral direction and sets a threshold slope value (ath) based on the selected smaller amount of change. When the slope (a) in a one-dimensional direction is larger than the threshold value (ath), a slope correction unit (32c) corrects the slope (a) such that the value of the slope (a) is reduced, and then outputs the result. A prediction unit uses the slope (a') in a one-dimensional direction that is output to calculate respective predicted pixel values (C) for multiple sub blocks of a block that has been segmented.
Description
Technical Field
The present invention relates to an image processing system and an image processing program, and more particularly to a ringing noise (ringing noise) countermeasure for alternating current Component Prediction (ACP).
Background
Conventionally, an image processing method called alternating current component prediction (ACP) is known. As illustrated in fig. 1, the ac component prediction is a method of obtaining information c0 and c1 of sub-blocks sb0 and sb1 into which a block PBs is divided, with reference to information L, R of peripheral regions PBl and PBr of the target block PBs to be processed. In the AC component prediction, the DC value S of the object block PBs is maintained by using the spatial correlation between the object block PBs and the peripheral regions PBl and PBr located in the vicinity thereof, and the AC values c0 and c1 having higher spatial resolution are calculated. Patent documents 1 to 3 disclose recursive alternating current component predictive coding (RACP) in which a target block is sequentially divided and image data is hierarchically (hierarchically) encoded. Specifically, first, the prediction pixel values of the sub-blocks into which the target block is divided are sequentially calculated while sequentially shifting the target block in a predetermined direction on the image plane. Then, the difference between the predicted pixel value and the original pixel value (true value) is calculated as the prediction residual. Then, the prediction residual is subjected to irreversible transformation and entropy coding, thereby generating an alternating current component of an image which is a part of compressed data. The above-described processing is recursively repeated in a hierarchical structure including, for example, a block of 8 × 8 pixels (highest hierarchy), a block of 4 × 4 pixels (2 nd hierarchy), a block of 2 × 2 pixels (3 rd hierarchy), and a block of 1 × 1 pixels (lowest hierarchy).
Patent document 1: japanese patent No. 4000157
Patent document 2: japanese patent No. 3774201
Patent document 3: japanese patent No. 3700976
Disclosure of Invention
In conventional ac component prediction, ringing noise, that is, stripe-like noise along an edge may occur around an edge of an image such as an outline or a character. As illustrated in fig. 1, the self-ringing noise is difficult to visually distinguish when the pixel values L, S, R aligned in the one-dimensional direction change monotonously (monotonously decrease or monotonously increase) or when they are flat (flat). However, as illustrated in fig. 2, the lateral inclination α is large (steep) as a characteristic unique to the ac component prediction around the edge where the difference between the pixel values L, S is large and the pixel value S, R is equal (including the case where the difference between S, R is slight). As a result, the predicted pixel value c0 is undershot by + α, and the predicted pixel value c1 is undershot by- α, so that the magnitude relationship of the one-dimensional pixel values before the ac component prediction is broken. This phenomenon causes not only visual noise and degradation of image quality, but also an increase in prediction error and degradation of compression rate in encoding using ac component prediction.
Therefore, an object of the present invention is to suppress overshoot and undershoot due to ac component prediction and effectively reduce ringing noise.
In order to solve the above problem, a first aspect of the present invention provides an image processing system including an inclination calculation unit, a threshold setting unit, an inclination correction unit, and a prediction unit, which performs block ac component prediction. The inclination calculation unit calculates an inclination indicating a change amount of a pixel value per unit distance in the one-dimensional direction based on a plurality of pixel values determined as information of a reference region related to the block. These pixel values are opposite on the image plane centered on the block. The threshold setting unit selects a smaller one of a change amount of a pixel value in one direction of the one-dimensional direction and a change amount of a pixel value in the block, and a change amount of a pixel value in the other direction of the one-dimensional direction and a change amount of a pixel value in the block, and sets the inclination threshold based on a change amount of the selected smaller one. The inclination correction unit corrects the inclination in the one-dimensional direction so that the value of the inclination in the one-dimensional direction becomes smaller when the inclination in the one-dimensional direction is larger than the inclination threshold value, and outputs the corrected value. The prediction unit calculates a prediction pixel value for each of a plurality of sub-blocks into which a block is divided, using the inclination in the outputted one-dimensional direction.
In the first invention, it is preferable that the inclination in the one-dimensional direction is at least one of an inclination in the lateral direction and an inclination in the longitudinal direction on the image plane. Therefore, the above-described inclination correction may be performed for both the inclination in the lateral direction and the inclination in the longitudinal direction, or the above-described inclination correction may be added for the other inclination directions.
In the first aspect of the invention, it is preferable that the inclination correction unit corrects the inclination in the one-dimensional direction to be equal to or smaller than the inclination threshold value and outputs the corrected inclination when the inclination in the one-dimensional direction is larger than the inclination threshold value.
In the first aspect of the present invention, an adder may be provided which calculates the pixel value of the sub-block by adding a prediction residual corresponding to a difference between the prediction pixel value calculated by the prediction unit and a true pixel value to the prediction pixel value calculated by the prediction unit.
The first invention can also be applied to a hierarchical structure in which the size of a block becomes smaller in stages as the hierarchy becomes lower. In this case, the pixel value of the sub-block calculated in the upper hierarchy is supplied to the lower hierarchy as the pixel value of the block located in the lower hierarchy that is the next to the upper hierarchy.
The first invention can also be applied to an encoder that compresses an image. The encoder further comprises: a subtractor for calculating a difference between the predicted pixel value calculated by the prediction unit and the true pixel value as a prediction residual; an irreversible transformation part for performing irreversible transformation on the prediction residual calculated by the subtracter; an entropy encoding unit that generates an alternating current component of an image as a part of compressed data by entropy encoding the prediction residual on which the irreversible transformation is performed; and an inverse transform unit that generates a prediction residual to be supplied to the adder by performing inverse processing of the irreversible transform on the prediction residual subjected to the irreversible transform.
The first invention can also be applied to a decoder that expands (stretches ) the image. The decoder further includes an inverse transformation unit that performs inverse processing of irreversible transformation and entropy coding, which is performed during image compression, on compressed data of an image, and thereby restores (a primitive) a prediction residual to be supplied to the adder.
A second aspect of the present invention provides an image processing program for predicting an alternating current component of a block. The image processing program causes a computer to execute an image processing method including the steps of: a step of calculating a gradient indicating a change amount of a pixel value per unit distance in a one-dimensional direction, based on a plurality of pixel values that are determined as information of a reference area related to a block and that are opposed on an image plane centering on the block; selecting a smaller one of a change amount of a pixel value in one direction of the one-dimensional direction and a change amount of a pixel value of the block, and a change amount of a pixel value in the other direction of the one-dimensional direction and a change amount of a pixel value of the block, and setting a gradient threshold value based on a change amount of the selected smaller one; correcting and outputting the inclination in the one-dimensional direction so that the value of the inclination in the one-dimensional direction becomes smaller when the inclination in the one-dimensional direction is larger than the inclination threshold; and calculating a predicted pixel value of each of the plurality of sub-blocks into which the block is divided, using the inclination of the output one-dimensional direction.
Here, in the second invention, it is preferable that the inclination in the one-dimensional direction is at least one of an inclination in the lateral direction and an inclination in the longitudinal direction on the image plane, as in the first invention.
In the second aspect of the invention, the step of correcting the inclination in the one-dimensional direction and outputting the corrected inclination is preferably a step of correcting the inclination in the one-dimensional direction to be equal to or less than an inclination threshold value when the inclination in the one-dimensional direction is greater than the inclination threshold value and outputting the corrected inclination.
In the second invention, a step of calculating a pixel value of the sub-block by adding a prediction residual corresponding to a difference between the calculated prediction pixel value and a true pixel value to the calculated prediction pixel value may be further provided.
The second invention can also be applied to a hierarchical structure in which the size of a block becomes smaller in stages as the hierarchy becomes lower. In this case, the above-described image processing method is recursively executed, and the pixel values of the sub-blocks calculated in the upper hierarchy are supplied to the lower hierarchy as the pixel values of the blocks located in the lower hierarchy that is the next to the upper hierarchy.
The second invention can also be applied to an encoding program of a compressed image. The encoding program further includes: calculating a difference between the calculated prediction pixel value and a true pixel value as a prediction residual; a step of applying an irreversible transform to the calculated prediction residual; a step of generating an alternating current component of an image as a part of compressed data by performing entropy encoding on the prediction residual subjected to the irreversible transform; and generating a prediction residual to be supplied to the 6 th step by performing inverse processing of the irreversible transformation on the prediction residual subjected to the irreversible transformation.
The second invention can also be applied to a decoding program of an extended image. The decoding program further includes a step of restoring the prediction residual by performing inverse processing of irreversible transformation and entropy coding, which is performed when compressed data of an image is subjected to image compression.
According to the first and second aspects of the invention, the inclination in the one-dimensional direction is corrected so that the value of the inclination in the one-dimensional direction becomes smaller around the edge whose inclination in the one-dimensional direction is larger than the inclination threshold value. The suppression of the inclination in the one-dimensional direction contributes to the reduction of the self-sounding noise because it acts in a direction of suppressing overshoot and undershoot caused by the ac component prediction.
Drawings
Fig. 1 is a characteristic diagram of pixel values in the lateral direction in a region other than the periphery of the edge.
Fig. 2 is a characteristic diagram of pixel values in the lateral direction around an edge.
Figure 3 is an overall block diagram of the RACP encoder.
Fig. 4 is an explanatory diagram of blocks set on the image plane.
Fig. 5 is an operation timing chart of the parallel processing.
Fig. 6 is an operation timing chart of the step-by-step process.
Fig. 7 is a configuration diagram of a hierarchical processing unit in the RACP encoder.
Fig. 8 is a configuration diagram of the ac component predicting unit.
Fig. 9 is a diagram showing a distance relationship of a reference block centered on a target block.
Fig. 10 is an explanatory diagram of calculation of the lateral inclination α.
Fig. 11 is an exemplary input/output characteristic diagram of the inclination α in the lateral direction.
Fig. 12 is a characteristic diagram of the horizontal pixel values with the overshoot/undershoot suppressed.
Fig. 13 is an input-output characteristic diagram of the inclination α in the lateral direction as another example.
Fig. 14 is a diagram showing another setting example of the reference block.
Fig. 15 is a diagram showing still another setting example of the reference block.
Figure 16 is a flow chart of the RACP encoding procedure.
Fig. 17 is an overall structural diagram of the RACP decoder.
Fig. 18 is a configuration diagram of a hierarchical processing unit in the RACP decoder.
Figure 19 is a flow chart of the RACP decoding procedure.
Detailed Description
Hereinafter, a Recursive ac component prediction coding (RACP) will be described as an example of an embodiment to which the ac component prediction according to the present invention is applied.
(RACP encoder)
Figure 3 is an overall block diagram of the RACP encoder. The encoder includes a DC calculation unit 1, a DC encoding unit 2, and level processing units 3a to 3c, and is configured by 4 levels as an example. The data TDCn and DCn (n is 0, 1, 2) output from the units 1, 2, 3a to 3c are temporarily stored in a buffer memory (storage unit) not shown as needed.
The DC calculation unit 1 divides an input image to be compressed into blocks (blocks) having a predetermined size, and outputs an average pixel value of each block, that is, an average value of pixels included in each block as TDC0 to TDC 3. Here, the TDC0 is an average pixel value of a block of 8 × 8 pixels (hereinafter referred to as "8 × 8 block"), the TDC1 is an average pixel value of a block of 4 × 4 pixels (hereinafter referred to as "4 × 4 block"), and the TDC2 is an average pixel value of a block of 2 × 2 pixels (hereinafter referred to as "2 × 2 block"). The TDC3 is an average pixel value of a block of 1 × 1 pixels (hereinafter referred to as "1 × 1 block"), that is, a pixel value itself of a pixel which is the minimum unit of an image. Further, it is to be noted that the average pixel values TDC0 to TDC3 (true values) directly calculated from the input image are distinguished from the average pixel values DC0 to DC2 (restored values) restored by the processing in the units 2, 3a to 3 c. The values of both are strictly inconsistent because of irreversible transformation in the encoding process.
The DC encoding unit 2 and the hierarchy processing units 3a to 3c perform hierarchy processing assigned to themselves in a four-hierarchy structure composed of 8 × 8 blocks (highest hierarchy), 4 × 4 blocks (second hierarchy), 2 × 2 blocks (third hierarchy), and 1 × 1 blocks (lowest hierarchy).
The DC encoding unit 2 at the highest level performs Differential Pulse Code Modulation (DPCM) and entropy encoding on the average pixel value TDC0 for each 8 × 8 block read from the buffer memory. With differential pulse code modulation, the difference of the average pixel values TDC0 with respect to blocks adjacent to each other on the image plane is encoded. Then, the encoded difference is quantized and subjected to entropy encoding such as huffman encoding and arithmetic encoding. The data thus processed is output as a direct current component DC0 of an image which is a part of compressed data, and is also output as a value DC0 which is a result of restoration (inverse quantization) of the average pixel value of the 8 × 8 block so as to be supplied to the hierarchical processing unit 3a of the next hierarchy.
The 3 hierarchy processing units 3a to 3c output the alternating current component ACn of an image as a part of compressed data by including a process of predicting the alternating current component with the average pixel value TDCn (n is 1, 2, and 3, the same applies hereinafter) generated by the DC calculation unit 1 and the average pixel value DCn-1 generated by the previous hierarchy as inputs. The hierarchy processing units 3a and 3b (excluding 3c) restore the average pixel value DCn from the ac component ACn. The restored average pixel values DC0, 1, and 2 are output for supply to the next hierarchy.
Specifically, the hierarchical processing unit 3a at the second hierarchical level outputs the alternating current component AC1 of the 4 × 4 block and the average pixel value DC1 of the 4 × 4 block through processing such as alternating current component prediction and prediction residual calculation that are processing targets of the 8 × 8 block. At this level, the average pixel value DC0 of the 8 × 8 block generated at the highest level is used as information to be referred to for ac component prediction. Then, the average pixel value TDC1 of the 4 × 4 block calculated by the DC calculation unit 1 is output to calculate the prediction residual. The hierarchical processing unit 3b at the third hierarchical level outputs the alternating current component AC2 of the 2 × 2 block and the average pixel value DC2 of the 2 × 2 block through processing such as alternating current component prediction to be processed by the 4 × 4 block. In this level, the average pixel value DC1 of the 4 × 4 block generated in the second level is used as reference information for alternating current component prediction. Then, the average pixel value TDC2 of the 2 × 2 block calculated by the DC calculation unit 1 is input to calculate the prediction residual. The lowest hierarchy level processing unit 3c outputs the alternating current component AC3 of 1 × 1 block through processing such as alternating current component prediction to be processed by 2 × 2 blocks (calculation of DC3 is not necessary). At this level, the average pixel value DC2 of the 2 × 2 block generated at the third level is used as reference information for alternating current component prediction. Then, the average pixel value TDC3 of the 1 × 1 block calculated by the DC calculation unit 1 is used to calculate the prediction residual.
In this way, in the hierarchical structure in which the sizes of the blocks to be processed are different, the DC encoding unit 2 and the hierarchical processing units 3a to 3c are linked to each other, and image processing mainly involving alternating-current component prediction is recursively performed. Thereby, the direct current component DC0 of the image and the alternating current components AC1 to AC3 thereof are output as compressed data. The compressed data includes incidental information such as a huffman table in addition to these items.
Fig. 4 is an explanatory diagram of blocks set on the image plane. The block PB is divided into a plurality of blocks in the image plane by dividing the block into a compression target image (for example, an image of 1 frame or a partial image thereof), and is processed in units of blocks. The size of the block PB is set to become smaller in stages as the hierarchy becomes lower. The size of the block PB in a certain level coincides with the size of the sub-block sb divided in a level located at the upper level thereof. Conversely, the size of the sub-block sb of the upper level coincides with the size of the block PB of the lower level located at the next level. The processing of the entire image in a certain hierarchy is achieved by repeating the processing while sequentially shifting the target blocks PBs to be processed on the screen, and processing all the blocks in the image. The shift direction (scanning direction) may be sequentially scanned by lines along the horizontal direction as illustrated, but may be arbitrarily set including the shift direction along the vertical direction. In addition, the shift directions in the respective levels do not necessarily need to be the same. In the case of the illustrated shift direction, the upper side of the horizontal line to which the target block PBs belongs is a processed area, and the lower side thereof is an unprocessed area. In addition, the left side of the horizontal line of the target block PBs becomes a processed area, and the right side thereof becomes an unprocessed area. As a reference area to be referred to in processing of the target block PBs, 4 blocks PBt, PBl, PBb, PBr having the same block size are used. The left and right blocks PBl, PBr are opposed to each other in the lateral direction with the object block PBs as the center, and the upper and lower blocks PBt, PBb are opposed to each other in the vertical direction with the object block PBs as the center. By the alternating current component prediction of the object block PBs, the average pixel value of the sub-blocks sb00, sb01, sb10, sb11 divided into 4 parts is calculated. Hereinafter, when a certain block PB is divided, the upper left sub-block sb is identified by the subscript "00", the upper right sub-block is identified by the subscript "01", the lower left sub-block is identified by the subscript "10", and the lower right sub-block is identified by the subscript "11".
The processing of the RACP encoder may be performed by parallel processing or sequential processing. Fig. 5 is an operation timing chart of the parallel processing. First, the DC calculation unit 1 operates to generate the average pixel values TDC0 to TDC 3. When the generation of all the average pixel values TDC0 to TDC3 is completed, the DC encoding unit 2 and the hierarchy processing units 3a to 3c operate in parallel. However, the timings at which their operations start are different, and the lower the hierarchy, the later the start timing. This delay is due to processing delays caused by sequential shifting of upper levels. When the processing of the target block PBs is started in a certain level, the processing of the reference blocks PBt to PBr is completed in the previous level (processing start condition). Therefore, if the processing is sequentially shifted in the upper hierarchy and the processing is not completed to the block PBb, the processing of the block PBs in the lower hierarchy cannot be started. This is a cause of the generation of work delay of the lower hierarchy. However, the pipeline parallel processing shown in fig. 5 is high-speed compared with the sequential processing shown in fig. 6. In the sequential processing of fig. 6, the processing of the next hierarchy starts at the time point when all the processing of a certain hierarchy ends. Therefore, the above-described process start condition is naturally satisfied also in the sequential process.
Fig. 7 is a configuration diagram of the hierarchical processing unit 3 (generic name of 3a to 3c) in the RACP encoder. The structure and the flow of processing of the hierarchy processing section 3 in each hierarchy are substantially the same except for the fact that the sizes of blocks to be processed are different. However, since the lowest hierarchy processing unit 3c does not have a hierarchy lower than this, the generation systems 36 and 37 of DC3 are not necessary. The hierarchical processing unit 3 includes a pixel value reading unit 31, an alternating current component prediction unit 32, a subtractor 33, an irreversible transform unit 34, an entropy coding unit 35, an inverse transform unit 36, and an adder 37.
The pixel value reading unit 31 specifies the target block PBs to be processed at this time and the reference blocks PBt to PBr to be referred to, and reads the average pixel value DCn-1 of these blocks from the buffer memory. In the present embodiment, the information of the reference blocks PBt to PBr is used uniformly with the average pixel value DCn-1 calculated in the higher-level hierarchy regardless of the difference between processed and unprocessed blocks, that is, regardless of whether or not the information of the subblock in the block is calculated. When the sub-block is also referred to as in fig. 14 and 15 described later, the average pixel value DCn calculated in the same hierarchy is read out from the buffer memory. The average pixel value DCn-1 read out from the buffer memory is supplied to the ac component prediction unit 32.
The ac component prediction unit 32 performs ac component prediction of the target block PBs using the average pixel value DCn-1 (hereinafter referred to as "S") of the target block PBs and the average pixel values DCn-1 (hereinafter referred to as "T", "L", "B", and "R", respectively) of the reference blocks PBt to PBr. Thus, the predicted pixel values C of the 4 sub-blocks sb00 to sb11 into which the target block PBs is divided are calculated as { C00, C01, C10, C11 }.
Fig. 8 is a configuration diagram of the ac component predicting unit 32. The alternating current component prediction unit 32 includes an inclination calculation unit 32a, a threshold setting unit 32b, an inclination correction unit 32c, and a prediction unit 32 d. The inclination calculation unit 32a calculates the inclination in the one-dimensional direction, that is, the amount of change in the pixel value per unit distance in the one-dimensional direction, based on the information of the reference region of the target block PBs. In the present embodiment, both the lateral inclination α and the longitudinal inclination β are calculated as the inclinations in the one-dimensional direction, but only one of them may be calculated, or an inclination direction or the like may be added thereto. The inclination α in the lateral direction is calculated based on the pixel values L, R on the left and right sides of the object block PBs on the image plane. The inclination β in the vertical direction is calculated based on the pixel values T, B on the upper and lower sides of the image plane, which are vertically opposite to each other with the target block PBs as the center. The calculation expressions of these gradients α and β are expressed by expression 1.
(formula 1)
α=(L-R)/8
β=(T-B)/8
Fig. 9 is a diagram showing a distance relationship between the reference blocks PBt to PBr around the target block PBs. The central pixel value at the central position of each block PB is regarded as the average pixel value DCn-1 of the block itself. The length of one side of the square (sub-block sb) when the block PB is divided into 4 parts is set to 1, and the length of one side of the square when the sub-block sb is further divided into 4 parts is set to 1/2. The distance between centers of adjacent blocks is 2, and the distance between centers of a block and its internal sub-block is 1/2 (normalized coefficient). The divisor 8 in equation 1 is a value obtained by normalizing the distance 4 between the centers of the left and right center pixel values L, R by the normalization coefficient 1/2.
Fig. 10 is an explanatory diagram of calculation of the lateral inclination α. First, the difference between the center pixel values L, R of the left and right reference blocks PBl, PBr is divided by the center-to-center distance 4 between the two. Then, the value obtained thereby is normalized by the normalization coefficient 1/2, and the inclination α in the lateral direction is calculated. Similarly, the vertical gradient β is obtained by dividing the difference between the central pixel values T, B of the upper and lower reference blocks PBt and PBb by the distance 4 between the centers of the two blocks, and normalizing the division value by the normalization coefficient 1/2. The inclinations α and β calculated by the inclination calculation unit 32a are output to the inclination correction unit 32 c.
The threshold setting unit 32b calculates inclination thresholds α th and β th for the inclinations α and β, respectively. With respect to the inclination α in the lateral direction, a variation | L-S | between the pixel value L on the left side of the object block PBs and the pixel value S of the object block PBs itself is calculated, and a variation | R-S | between the pixel value R on the right side of the object block PBs and the pixel value S of the object block PBs itself is calculated. Then, the smaller of these change amounts | L-S | and | R-S | is selected and set as the lateral inclination threshold value α th. On the other hand, with respect to the inclination β of the vertical direction, a variation | T-S | between the pixel value T of the upper side of the object block PBs and the pixel value S of the object block PBs itself is calculated, and a variation | B-S | between the pixel value B of the lower side of the object block PBs and the pixel value S of the object block PBs itself is calculated. Then, the smaller of these changes | T-S | and | B-S | is selected and set as the vertical gradient threshold value β th. The inclination threshold values α th and β th set by the threshold setting unit 32b are output to the inclination correction unit 32 c.
The inclination correction unit 32c outputs the inclination α of the lateral direction to the prediction unit 32d without correcting the inclination α of the lateral direction when the inclination α of the lateral direction is equal to or less than the inclination threshold α th (i.e., the input value α is equal to the output value α '), and outputs the inclination α with correcting the inclination α so that the value of the inclination α becomes smaller when the inclination α of the lateral direction is greater than the inclination threshold α th (i.e., the input value α > the output value α'). Similarly, when the vertical inclination β is equal to or smaller than the inclination threshold β th, the vertical inclination β is directly output (the input value | β |, i.e., the output value | β '|), and when the vertical inclination β is larger than the inclination threshold β th, the inclination β is corrected so that the value of the inclination β becomes smaller and output (the input value | β | > the output value | β' |).
In the present embodiment, the inclinations α and β are corrected based on the following expression 2 as an example. Sign (x) is a sign function that specifies the sign of the inclination, and returns output 1 when x > 0, output 0 when x equals 0, and output-1 when x < 0.
(formula 2)
α’=sign(α)×αth
β’=sigin(β)×βth
Fig. 11 is an input/output characteristic diagram of the lateral tilt α in the tilt correction unit 32 c. In the non-correction region where | α ≦ α th, since no overshoot/undershoot (undershoot) due to the alternating current component prediction is generated, the input value | α | is directly used as the output value | α' |. In contrast, in the correction region where | α | > α th, the output value | α' | is limited to the inclination threshold value α th (constant) regardless of the value of the input value | α |. The inclination | α | being larger than the inclination threshold value α th means that since the inclination in this direction is large, an overshoot/undershoot occurs if this state is maintained. In this case, if the output value | α' | is decreased with respect to the input value | α |, the overshoot/undershoot is alleviated in accordance with the difference between the output value and the original value α. In particular, if the output value | α' | is limited to the inclination threshold value α th or less, the overshoot/undershoot can be completely eliminated theoretically. The inclination threshold value α th may be used as a correction value as it is, or may be multiplied by a predetermined coefficient n (0 < n ≦ 1). Instead of setting the output value α ' of the correction region to a constant value, the output value | α ' | may be increased in a curved shape as the input value | α | increases, while maintaining the condition of | α | > | α ' | as shown in fig. 13. When setting the input/output characteristics, it is necessary to satisfy the condition that the output value | α' | is smaller than the input value | α |, at the minimum, and any input/output characteristics can be set as long as the condition is satisfied. Further, the correction of the inclination α may be performed by referring to a table in which a correspondence relationship between the input value α and the output value α' is described, in addition to the calculation formula. The same applies to the inclination β in the longitudinal direction. The inclinations α 'and β' calculated by the inclination correction unit 32c are output to the prediction unit 32 d.
The predictor 32d performs inverse hadamard transform (expression 3) with both the horizontal gradient α 'and the vertical gradient β' as inputs, and calculates the predicted pixel values C of the plurality of sub-blocks sb00 to sb11 into which the target block PBs is divided, as { C00, C01, C10, C11 }. Equation 4 is a calculation formula of the predicted pixel value C that is input as a 'α and β' that are the processing results of the non-correction region (the calculation formulas of equations 1 and 3 are expressed by simple expressions). The predicted pixel value C calculated by the prediction unit 32d is supplied to the subtractor 33 and the adder 37 in fig. 7.
(formula 3)
c00=T+(α’+β’)
c01=T+(-α’+β’)
c10=T+(α’-β’)
c11=T+(-α’-β’)
(formula 4)
c00=T+(L-R+T-B)/8
c01=T+(-L+R+T-B)/8
c10=T+(L-R-T+B)/8
c11=T+(-L+R-T+B)/8
Referring again to fig. 7, the subtractor 33 calculates, as a prediction residual PR, a difference between the prediction pixel value C (for example, 4 × 4 block units) calculated by the ac component prediction unit 32 and a true pixel value calculated from the input image, which is an average pixel value TDCn (for example, 4 × 4 block units) corresponding thereto. The prediction residual PR decreases as the prediction image (set of prediction pixel values c00 to c11) generated by the ac component prediction approaches the original image (true pixel value). Since the correction of the inclinations α and β by the inclination correction unit 32c acts in a direction to eliminate the prediction bias, the prediction residual PR becomes smaller than that in the case of using the inclinations α and β as they are. The smaller the prediction residual PR is, the higher the statistically-seen tendency of the occurrence frequency of the prediction residual to be biased to the vicinity of 0 becomes, and therefore, it becomes advantageous in terms of performing entropy coding (contributing to improvement of the compression rate).
The irreversible transform unit 34 performs irreversible transform such as hadamard transform and quantization on the prediction residual PR calculated by the subtractor 33. The entropy coding unit 35 generates an alternating current component ACn (compressed data) in units of, for example, 4 × 4 blocks by performing entropy coding such as huffman coding and arithmetic coding on the prediction residual PR subjected to the irreversible transform. The inverse transform unit 36 calculates a prediction residual PR' by performing inverse processing of the irreversible transform on the prediction residual PR subjected to the irreversible transform. The prediction residual PR' is a value obtained by restoring the original prediction residual PR, but is slightly different from the original prediction residual PR because it is not inverse-transformable (the original value cannot be completely restored). The adder 37 calculates an average pixel value DCn of a sub-block (for example, a 4 × 4 block) by adding the prediction residual PR' to the prediction pixel value C calculated by the ac component prediction unit 32. The reason why the original prediction residual PR is not used and the restored prediction residual PR' is used as the input of the adder 37 is to prevent errors from being accumulated by the iterative process at the time of decoding and to ensure the reproducibility of the extended image. The average pixel value DCn output from the adder 37 is temporarily stored in a buffer memory and is read out as needed in the processing of the next layer.
As described above, according to the RACP encoder of the present embodiment, when the inclinations α and β in the one-dimensional direction are equal to or less than the inclination thresholds α th and β th, the values of α and β are directly output as the inclinations α 'and β' as the processing of the non-correction area. Then, a predicted pixel value C is calculated based on these gradients α '(═ α), β' (═ β). In this case, for example, as in the case of the conventional technique illustrated in fig. 1, the predicted pixel values c0 and c1(AC values) of S ± α are calculated without causing overshoot and undershoot with respect to the lateral inclination α. On the other hand, when the gradients α and β in the one-dimensional direction are larger than the gradient thresholds α th and β th as in the periphery of the edge, the values of α and β are corrected to be smaller as the process of the correction region, and the corrected values are output as gradients α 'and β'. Then, the predicted pixel value C is calculated based on these gradients | α '| (< | α |), | β' | (< | β |). In this case, for example, with respect to the inclination α in the lateral direction, | α' | defining the amount of change with respect to S (DC value) is limited to the inclination threshold value α th or less as illustrated in fig. 12. Thus, the magnitude relationship before the alternating current component prediction (L > S ≧ R) is maintained in the form of or close to the magnitude relationship after the alternating current component prediction (L > c0 > c1 ═ R). This can suppress the overshoot of the predicted pixel value c0 and the undershoot of the predicted pixel value c1, and can effectively reduce the occurrence of the self-sounding noise. As a result, it is possible to prevent a decrease in the compression rate due to an increase in the prediction error while suppressing a decrease in the image quality. In particular, if the magnitudes | α |, | β | of the inclinations are replaced with values of the inclination thresholds α th, β th or values equal to or less than these, the self-sounding noise can be completely eliminated theoretically. Further, by performing pipeline parallel processing as shown in fig. 5, the overall processing time can be reduced.
In the above-described embodiment, the upper, lower, left, and right blocks PBt to PBr immediately adjacent thereto are set as the reference area of the target block PBs, but the present invention can be applied to various settings including the setting examples shown below. In the above-described embodiment, the same pixel value T, L, B, R (reference information) is used for the calculation of the inclinations α and β and the calculation of the inclination thresholds α th and β th, but the reference information used for the calculation of the inclinations α and β may be different from each other by using a large block for the calculation of the inclinations α and β and a small block for the calculation of the inclination thresholds α th and β th, for example.
In the setting example of fig. 14, 8 blocks PBt, PBtt, PBl, PBll, PBb, PBbb, PBr, and PBrr having the same block size are used as the reference area of the target block PBs. The reference blocks PBt, PBl, PBb, PBr are directly adjacent to the object blocks PBs in the upper, lower, left, and right directions. The reference blocks PBtt, PBll, PBbb, and PBrr are adjacent to the target block PBs with a space therebetween. In the present setting example, formula 1 is used for the calculation of the gradients α and β, and the predicted pixel values T ', L', B ', and R' (formula 5) are used only for the calculation of the gradient thresholds α th and β th. The predicted pixel values T ', L', B ', R' are predicted using the pixel value S of the object block PBs and the pixel values of 2 blocks existing in the direction (e.g., L, LL on the left). The processing after the calculation of the inclinations α, β, etc. is the same as the above-described embodiment.
(formula 5)
L’=L+(S-LL)/4
R’=R+(S-RR)/4
T’=T+(S-TT)/4
B’=B+(S-BB)/4
α=(L-R)/8
β=(T-B)/8
αth=min(|L’-S|,|R’-S|)
βth=min(|T’-S|,|B’-S|)
In the setting example of fig. 15, the center pixel values t0, t1, l0, and l1 of the sub-blocks sb (t), sb (l) are used for the upper block PBt and the left block PBl. These central pixel values t0 to l1 have been processed as DCn in the previous processing at the same level, and the values thereof are fed back. In the present setting example, the predicted pixel values T ', L', B ', R' (formula 6) are used for both the calculation of the gradients α and β and the calculation of the gradient thresholds α th and β th. In this case, predicted pixel values that are opposite in the one-dimensional direction with the target block PBs as the center are predicted, and the gradients α, β are calculated using these values. The processing after the calculation of the inclinations α, β, etc. is the same as the above-described embodiment.
(formula 6)
T’=(t0+t1)/2
L’=(l0+l1)/2
B’=B+(S-BB)/8
R’=R+(S-RR)/8
α=(L’-R’)/6
β=(T’-B’)/6
αth=min(|L’-S|,|R’-S|)
βth=min(|T’-S|,|B’-S|)
(RACP coding program)
Next, a description will be given of a RACP encoding program for realizing, by software processing of a computer, processing equivalent to that of a RACP encoder realized as hardware. Since there is no essential difference between the hardware processing and the software processing, only the outline thereof will be described here, and the details thereof will be referred to the above description.
Figure 16 is a flow chart of the RACP encoding procedure. Among the software processes performed by the computer, the sequential process shown in fig. 6 is essential. First, in step 1, a plurality of blocks (4 blocks) are set on the image plane of the input image, and the average pixel values TDC0 to TDC3 of each block are calculated. The calculated average pixel values TDC 0-3 are stored in a buffer memory at any time. When the processing of all blocks is finished, the process proceeds to step 2.
In step 2, DC encoding, i.e., differential pulse width modulation and entropy encoding, is performed on the average pixel value TDC0 of the 8 × 8 block, thereby generating and outputting a direct current component DC0 of an image which is a part of compressed data. In addition, the restored value thereof is stored as DC0 in the buffer memory.
In step 3, the tier number LN is set to 1 (initial value). LN — 1 indicates that the hierarchy to be processed is the highest hierarchy. Each time the 1-level process ends, 1 is incremented (step 14), and the process sequentially shifts to the lower level. Then, at the point in time when LN becomes 3, that is, when the processing of the lowest hierarchy is ended, all the processing is ended (step 13).
In step 4, the block number BN is set to 1 (initial value). In association with the setting of the hierarchy number LN in the previous step 3, the size of the block to be processed in the hierarchy is uniquely determined, and the end block number BNend corresponding to the total number of blocks is also determined. Each time the processing of a block in the same hierarchy is finished, the block number BN is incremented by 1 (step 12), and the processing objects are sequentially shifted in a predetermined direction. Then, at the point in time when the processing of the block corresponding to the end block sequence number BNend ends, the processing of the hierarchy ends (step 11).
In step 5, the pixel value DCn (═ T, L, B, R) of the reference block is read out for the target block PBs specified by the block number BN.
In step 6, the ac component prediction is performed on the target block PBs designated by the block number BN based on the above-described expressions 1 to 3, thereby calculating the predicted pixel value C (═ C00 to C11). Then, in the next step 7, the difference between the predicted pixel value C calculated in the previous step 6 and the true pixel value TDCn is calculated as the prediction residual PR.
In step 8, the prediction residual PR calculated in the previous step 7 is subjected to irreversible transform and entropy coding. Thereby, an alternating current component ACn of an image as a part of the compressed data is generated. In the next step 9, the prediction residual PR subjected to the irreversible transformation is subjected to the inverse processing, and a prediction residual PR' (restored value) that restores the original prediction residual PR is calculated. Then, in step 10, the average pixel value DCn of the sub-block is calculated by adding the prediction residual PR' to the prediction pixel value C calculated in step 6, and stored in the buffer memory. The processing of steps 9 and 10 is skipped in LN ═ 3, i.e., the lowest level processing.
In step 11, it is determined whether the block sequence number BN reaches the end block sequence number BNend. In step 12, the block number BN is incremented by 1 each time, and the processing of steps 5 to 11 is repeated until the end block number BNend is reached. When the end block number BNend is reached, that is, when the processing of all blocks in the image plane is ended, the loop exits and the routine proceeds to step 13.
In step 13, it is determined whether the tier number LN reaches 3 (the lowest tier). In step 14, the level number LN is incremented by 1 each time, and the loop of steps 5 to 12 is repeated until 3 is reached. Thus, as the hierarchy becomes lower, the size of the object block PBs becomes smaller in stages, and the series of processes described above is recursively executed. The average pixel value DCn (output) of the subblock calculated at the higher hierarchy level side is used as the average pixel value DCn-1 (input) at the lower hierarchy level side. When all the processes of the lowest hierarchy have been completed, i.e., when LN is 3 and BN is BNend, the loop exits according to the determination results of steps 11 and 13, and the processes of the present program are completed.
According to the RACP encoding program according to the present embodiment, similarly to the above-described RACP encoder, it is possible to suppress the degradation of the image quality due to the ringing noise and prevent the degradation of the compression rate due to the increase of the prediction error.
(RACP decoder)
Fig. 17 is a diagram showing the overall configuration of a RACP decoder that expands compressed data generated by the above-described RACP encoder or RACP encoding program. The decoder is mainly composed of a DC decoding unit 5 and 3 hierarchical processing units 6a to 6 c. Data DCn (n is 0, 1, 2, and 3) output from these units 5 and 6a to 6c is temporarily stored in a buffer memory (storage unit), not shown.
The DC decoding unit 5 and the hierarchy processing units 6a to 6c perform hierarchy processing assigned to themselves in a hierarchical structure of 8 × 8 blocks (highest hierarchy), 4 × 4 blocks (second hierarchy), 2 × 2 blocks (third hierarchy), and 1 × 1 blocks (lowest hierarchy). The DC decoding unit 5 at the highest hierarchy performs inverse processing of the processing performed at the time of image compression on the compressed data related to the direct current component DC0 of the image, thereby generating an average pixel value DC0 of an 8 × 8 block, and supplies the generated average pixel value DC0 to the hierarchical processing unit 6a at the second hierarchy.
The hierarchical structure of the RACP decoder itself is substantially the same as that of the RACP encoder, but differs therefrom in that the alternating current components AC1 to AC3, which are outputs of the hierarchical processing units 3a to 3c in the encoder, are inputs to the hierarchical processing units 6a to 6c in the decoder. These hierarchy processing units 6a to 6c restore the average pixel value DCn based on the compressed data on the alternating current components AC1 to AC3 of the images and the average pixel value DCn-1 supplied from the previous hierarchy. The restored average pixel value DCn is output to be supplied to the next hierarchy as necessary, and is stored in a buffer memory. Then, the set of the average pixel values DC3 of the 1 × 1 blocks calculated by the hierarchy processing unit 6c of the lowest hierarchy is composed as a final extended image. The direction of sequential shift in the decoder is set to a direction based on the direction of sequential shift in the encoder. In addition, the processing of the decoder may be parallel processing or sequential processing.
Fig. 18 is a configuration diagram of the hierarchical processing unit 6 (generic name of 6a to 6c) in the RACP decoder. The basic structure and operation of the hierarchy processing section 6 in each hierarchy are the same except for the fact that the sizes of the processed blocks are different. The hierarchical processing unit 6 includes a pixel value reading unit 61, an alternating current component predicting unit 62, an adder 63, and an inverse transform unit 64.
The pixel value reading unit 61 reads the average pixel value DCn (═ T, L, B, and R) of the reference blocks PBt to rr present around the target block PBs from the buffer memory, as in the case of the RACP encoder. The average pixel value DCn-1 is already calculated in the previous level and supplied from the previous level via the buffer memory. The average pixel value DCn-1 read out from the buffer memory is supplied to the ac component predicting section 62.
The ac component prediction unit 62 has the structure shown in fig. 8, and performs ac component prediction of the target block PBs using DCn-1 supplied from the buffer memory. Thus, the predicted pixel value C (═ C00 to C11) of the target block PBs is calculated. The calculated predicted pixel value C is supplied to the adder 63. When a part of the peripheral region is missing, such as an edge portion on the image plane, the processing is performed according to a rule predetermined with the decoder. For example, the average pixel value DCn-1 of the supplementary object blocks PBs serves as information of the section.
The inverse transform unit 64 performs inverse processing of irreversible transform and entropy coding, which is performed during image compression, on compressed data of the ac component ACn of, for example, a 4 × 4 block, and restores the prediction residual PR' supplied to the adder 63. The adder 63 adds the prediction residual PR' restored by the inverse transform unit 64 to the prediction pixel value C calculated by the ac component prediction unit 62, thereby calculating an average pixel value DCn of the sub-block (for example, 4 × 4 block), and temporarily stores the average pixel value DCn in the buffer memory. The average pixel value DCn stored in the buffer memory is also supplied to the ac component predicting unit 62 in the next hierarchy as the average pixel value of the block (for example, 4 × 4 block) in the next hierarchy.
As described above, according to the RACP decoder according to the present embodiment, compressed data generated by the above-described RACP encoder or RACP encoding program can be appropriately expanded. In particular, by performing pipeline parallel processing as shown in fig. 5, the overall processing time can be reduced.
(RACP decoding program)
Next, a description will be given of a RACP decoding program for realizing processing equivalent to that of a RACP decoder realized as hardware by software processing of a computer. Since there is no essential difference between the hardware processing and the software processing, only the outline thereof will be described here, and the details thereof will be referred to the above description.
Figure 19 is a flow chart of the RACP decoding procedure. Among the software processes performed by the computer, the sequential process shown in fig. 6 is essential. First, in step 21, DC decoding, which is the inverse of the encoding process performed during data compression, is performed on the compressed data of the DC component DC0 of the image, whereby the average pixel value DC0 of the 8 × 8 block is restored and stored in the buffer memory.
In steps 22 and 23, as in the RACP encoding program, the hierarchy number LN is set to 1 (initial value), and the block number BN is set to 1 (initial value).
In step 24, the reference information T, L, B, R of the target block PBs specified by the block number BN is read from the buffer memory.
In step 25, ac component prediction is performed on the target block PBs specified by the block number BN based on the above-described expressions 1 to 3, and thereby a predicted pixel value C (═ C00 to C11) associated with the target block PBs is calculated. Then, in the next step 26, the compressed data of the alternating current component ACn of the image is expanded, whereby the prediction residual PR' is restored. Then, in step 27, the average pixel value DCn of the sub-block is calculated by adding the prediction residual PR' calculated in step 26 to the prediction pixel value C calculated in step 25, and stored in the buffer memory.
In step 28, it is determined whether the block sequence number BN reaches the end block sequence number BNend. In step 29, the block number BN is incremented by 1 each time, and the processing in steps 24 to 27 is repeated until the end block number BNend is reached. When the end block number BNend is reached, that is, when the processing of all blocks in the image plane is ended, the loop exits according to the determination result of step 28, and the process proceeds to step 30.
In step 30, it is determined whether the tier number LN reaches 3 (the lowest tier). In step 31, the loop of steps 23 to 29 is repeated until the level number LN reaches 3, each time the level number LN is incremented by 1. Thus, as the hierarchy level becomes lower, the size of the block PB becomes smaller in stages, and the series of processing described above is recursively executed. The average pixel value DCn (output) of the sub-block calculated on the upper hierarchy level is used as the average pixel value DCn-1 (input) of the block to be processed and the unprocessed peripheral region on the lower hierarchy level. Then, when LN is 3 and BN is BNend, that is, when the processing of the lowest hierarchy is finished, the loop exits, and the processing of the present routine is finished.
According to the RACP decoding program according to the present embodiment, the same effects as those of the above-described RACP decoder are obtained.
Industrial applicability
The image processing system and the image processing program according to the present invention can be widely applied not only to alternating current component predictive coding (including recursive alternating current component predictive coding), but also to image processing for generating an image with high resolution using alternating current component prediction, and the like.
Description of the reference numerals
1: DC calculating part
2: DC encoding unit
3(3a to 3 c): hierarchical processing unit
5: DC decoding unit
6(6a to 6 c): hierarchical processing unit
31. 61: pixel value reading section
32. 62: AC component prediction unit
32 a: gradient calculation unit
32 b: threshold setting unit
32c, the ratio of: gradient correcting unit
32 d: prediction unit
33: subtracter
34: irreversible conversion part
35: entropy coding part
36. 64: inverse transformation part
37. 63: adder
Claims (14)
1. An image processing system that performs prediction of alternating current components of a block, comprising:
a gradient calculation unit that calculates a gradient indicating a change amount of a pixel value per unit distance in a one-dimensional direction, based on a plurality of pixel values that are determined as information of a reference region relating to the block and that face each other on an image plane centering on the block;
a threshold setting unit that selects a smaller one of a change amount between a pixel value located on one side of the block in the one-dimensional direction and a pixel value of the block and a change amount between a pixel value located on the other side of the block in the same one-dimensional direction and the pixel value of the block, and sets a gradient threshold based on the selected smaller change amount;
an inclination correction unit that corrects and outputs the inclination in the one-dimensional direction so that the value of the inclination in the one-dimensional direction becomes smaller when the inclination in the one-dimensional direction is greater than the inclination threshold value; and
and a prediction unit that calculates a prediction pixel value for each of the plurality of sub-blocks into which the block is divided, using an inclination of the output in the one-dimensional direction.
2. The image processing system according to claim 1,
the inclination in the one-dimensional direction is at least one of an inclination in a lateral direction and an inclination in a longitudinal direction on the image plane.
3. The image processing system according to claim 1,
and an inclination correction unit that corrects the inclination in the one-dimensional direction to be equal to or less than the inclination threshold value and outputs the corrected inclination when the inclination in the one-dimensional direction is greater than the inclination threshold value.
4. The image processing system according to any one of claims 1 to 3,
the image processing apparatus further includes an adder that calculates a pixel value of the sub block by adding a prediction residual corresponding to a difference between the prediction pixel value calculated by the prediction unit and a true pixel value to the prediction pixel value calculated by the prediction unit.
5. The image processing system according to claim 4,
in the hierarchical structure in which the size of the block becomes smaller in stages as the hierarchy becomes lower, the pixel value of the sub-block calculated in the upper hierarchy is supplied to the lower hierarchy as the pixel value of the block located in the lower hierarchy that is the next to the upper hierarchy.
6. The image processing system according to claim 4,
the image processing system is an encoder for compressing an image, and further includes:
a subtractor that calculates a difference between the predicted pixel value calculated by the prediction unit and a true pixel value as a prediction residual;
an irreversible transform unit which applies irreversible transform to the prediction residual calculated by the subtractor;
an entropy encoding unit that generates an alternating current component of an image that is part of compressed data by entropy encoding the prediction residual on which the irreversible transformation is performed; and
and an inverse transformation unit that generates the prediction residual to be supplied to the adder by performing inverse processing of the irreversible transformation on the prediction residual subjected to the irreversible transformation.
7. The image processing system according to claim 4,
the image processing system is a decoder for expanding an image, and further includes an inverse transform unit for restoring the prediction residual to be supplied to the adder by performing inverse processing of irreversible transform and entropy coding, which is performed when compressing an image, on compressed data of an image.
8. An image processing method for performing prediction of alternating current components of a block, comprising:
a step of calculating a gradient indicating a change amount of a pixel value per unit distance in a one-dimensional direction, based on a plurality of pixel values that are determined as information of a reference area related to the block and that are opposed on an image plane centering on the block;
selecting a smaller one of a change amount between a pixel value located on one side of the block in the one-dimensional direction and a pixel value of the block and a change amount between a pixel value located on the other side of the block in the same one-dimensional direction and the pixel value of the block, and setting a gradient threshold value based on the selected smaller change amount;
correcting and outputting the inclination in the one-dimensional direction so that the value of the inclination in the one-dimensional direction becomes smaller when the inclination in the one-dimensional direction is larger than the inclination threshold value; and
and calculating a predicted pixel value of each of a plurality of sub-blocks obtained by dividing the block using the inclination of the output one-dimensional direction.
9. The image processing method according to claim 8,
the inclination in the one-dimensional direction is at least one of an inclination in a lateral direction and an inclination in a longitudinal direction on the image plane.
10. The image processing method according to claim 8,
the step of correcting the inclination in the one-dimensional direction and outputting the corrected inclination is a step of correcting the inclination in the one-dimensional direction to be equal to or less than the inclination threshold value and outputting the corrected inclination when the inclination in the one-dimensional direction is greater than the inclination threshold value.
11. The image processing method according to any one of claims 8 to 10,
further comprising: a step of calculating a pixel value of the sub-block by adding a prediction residual corresponding to a difference between the calculated prediction pixel value and a true pixel value to the calculated prediction pixel value.
12. The image processing method according to claim 11,
in a hierarchical structure in which the size of the block becomes smaller in stages as the hierarchy becomes lower, the image processing method is recursively executed,
the pixel value of the sub-block calculated in the upper hierarchy is supplied to a lower hierarchy located next to the upper hierarchy as the pixel value of the block in the lower hierarchy.
13. The image processing method according to claim 11,
the image processing method is an encoding method of a compressed image, and further includes:
calculating a difference between the calculated prediction pixel value and a true pixel value as a prediction residual;
a step of applying an irreversible transform to the calculated prediction residual;
generating an alternating current component of an image as a part of compressed data by performing entropy encoding on the prediction residual on which the irreversible transformation is performed; and
the prediction residual to be supplied to the step is generated by performing an inverse process of the irreversible transformation on the prediction residual to which the irreversible transformation has been applied.
14. The image processing method according to claim 11,
the image processing method is a method for decoding an extended image, and further includes a step of restoring the prediction residual by performing inverse processing of irreversible transformation and entropy coding, which are performed when compressing an image, on compressed data of the image.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2009/067344 WO2011042945A1 (en) | 2009-10-05 | 2009-10-05 | Image processing system and image processing program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1173011A1 true HK1173011A1 (en) | 2013-05-03 |
| HK1173011B HK1173011B (en) | 2015-03-20 |
Family
ID=
Also Published As
| Publication number | Publication date |
|---|---|
| JP5007432B2 (en) | 2012-08-22 |
| JPWO2011042945A1 (en) | 2013-02-28 |
| KR20120058608A (en) | 2012-06-07 |
| WO2011042945A1 (en) | 2011-04-14 |
| CN102577344B (en) | 2014-09-10 |
| KR101297862B1 (en) | 2013-08-19 |
| CN102577344A (en) | 2012-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2202983B1 (en) | Image encoding device, image encoding method, and image encoding system | |
| JPH10327334A (en) | Signal adaptive filtering method and signal adaptive filter for reducing ringing noise | |
| JPH07154604A (en) | Method for expanding document image compressed with standardadct | |
| JP6729170B2 (en) | Image processing system and image decoding device | |
| US8041135B2 (en) | Image encoding apparatus and control method thereof | |
| JP2010239422A (en) | Video encoding apparatus and decoding apparatus | |
| CN113545082A (en) | Image decoding device, image decoding method, and program | |
| US5822462A (en) | Image processing apparatus | |
| JP2723867B2 (en) | Image signal decoding device | |
| JP5007432B2 (en) | Image processing system and image processing program | |
| JP4785678B2 (en) | Image coding apparatus and image coding method | |
| HK1173011B (en) | Image processing system and image processing method | |
| JP4660698B2 (en) | Image processing system and image processing program | |
| JP6564315B2 (en) | Encoding device, decoding device, and program | |
| JP5007431B2 (en) | AC component prediction system and AC component prediction program | |
| JP4789020B2 (en) | Image processing system and image processing program | |
| JP4223577B2 (en) | Image coding apparatus and method thereof, and image decoding apparatus and method thereof | |
| JPH03167962A (en) | Block distortion improving system | |
| JP2924279B2 (en) | Image signal prediction encoding / decoding device | |
| JP2002152049A (en) | Data processing apparatus and data processing method | |
| JP3337699B2 (en) | Image processing apparatus and method | |
| JP4784386B2 (en) | Decoding device, inverse quantization method, and program | |
| US8731312B2 (en) | Image coding apparatus | |
| EP1589762A1 (en) | Image compression with reduced block artefacts | |
| KR20250075416A (en) | Prediction signal filtering encoding apparatus and method |