Image processing device, image processing method, encoder, decoder, image processing program, and image processing system
The image processing apparatus enhances AC component prediction accuracy by calculating saddle-shaped AC components, improving image compression efficiency.
Patent Information
- Application Number
- JP2023031477
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-02
- Publication Date
- 2026-08-26
- Estimated Expiration
- 2043-03-02
AI Technical Summary
Existing image compression technologies struggle to improve the compression ratio and accuracy of predicting AC components, particularly the luminance values in images, especially in the context of Hadamard transform.
An image processing apparatus that calculates predicted values for saddle-shaped AC components by estimating differences in brightness between pairs of child blocks within a target block, utilizing first and second direction AC component calculations and saddle-shaped AC component estimation to enhance prediction accuracy.
Improves the prediction accuracy of AC components in images, particularly luminance values, enabling more efficient image compression.
Smart Images

Figure 0007911404000029 
Figure 0007911404000030 
Figure 0007911404000031
Abstract
Description
[Technical Field]
[0001] This invention relates to a technology for processing images such as still images and moving images. [Background technology]
[0002] Traditionally, image compression has been used to reduce the size of image data. For example, AC component prediction is known as a key technology in image compression.
[0003] AC component prediction is a process that predicts the AC component on a target block by referencing the DC components of the target block and its surrounding blocks, which are set up on the image plane. The AC component predicted by AC component prediction can be used to generate child blocks existing on the target block. This is described, for example, in Non-Patent Document 1.
[0004] Furthermore, Non-Patent Document 2 discloses a method for improving prediction accuracy by sequentially using information about child blocks that have already been determined in the prediction of the target block. In addition, Non-Patent Document 3 discloses a method for predicting the AC component based on information about surrounding blocks.
[0005] Furthermore, Patent Document 1 discloses a technique for improving prediction accuracy by predicting orthogonal AC components other than those in the horizontal and vertical directions.
[0006] Here, there are four basis sets for the 2x2 block Hadamard transform. In this specification, the four base sets are referred to as the M basis (DC basis), α basis (horizontal basis), β basis (vertical basis), and γ basis (saddle basis), respectively, and the components under each basis are referred to as the DC component, α component, β component, and γ component. Here, the α component, β component, and γ component are AC components. For example, an AC component prediction that predicts the γ component is disclosed in Patent Document 2. [Prior art documents] [Patent Documents]
[0007] [Patent Document 1] Japanese Patent Publication No. 2011-239191 [Patent Document 2] Japanese Patent Publication No. 2013-51609 [Non-patent literature]
[0008] [Non-Patent Document 1] Takashi Tokunaga, Fractals and Image Processing: Fundamentals and Applications of Difference Dynamical Systems, Corona Publishing Co., Ltd., 2002. [Non-Patent Document 2] Yūsuke Hoshizuki, Hidetomo Tanaka, Kazuki Kyakuno, and Ryūji Tokunaga, "Improvement of AC component prediction using block center value correction and DC component preservation filter," IEICE Transactions on Electronics, Information and Communication Engineers (A), Vol. J-92-A, No.1, pp. 62-66 (2009). [Non-Patent Document 3] Yuki Kojima, Kazuki Moriya, Yusuke Hoshizuki, Kazuki Kyakuno, and Ryuji Tokunaga, "Improvement of an Mean Value-Preserving Image Filter Based on AC Component Prediction: Analysis Using a Single-Coefficient Family," IEICE Transactions on Electronics, Information and Communication Engineers (A), Vol. J-92-A, No.12, pp. 999-1008 (2009). [Overview of the project] [Problems that the invention aims to solve]
[0009] In image compression processing, improving the compression ratio of images is required, and improving the accuracy of predicting image luminance values is crucial. In particular, it is necessary to improve the accuracy of predicting the AC components of luminance values in images (for example, the components of each basis used in the Hadamard transform).
[0010] This invention has been made in view of the above circumstances, and its purpose is to provide a technique for improving the prediction accuracy of the AC component of luminance values in an image. [Means for solving the problem]
[0011] To achieve the above objective, the image processing apparatus relating to the first aspect is an image processing apparatus that calculates a predicted value of a saddle-shaped AC component in a predetermined target block in a predetermined image, wherein the saddle-shaped AC component is the difference in brightness between pairs of two child blocks facing each other with respect to the center of the target block when the target block is divided into 2x2 child blocks, and comprises a first direction AC component calculation unit that calculates the first direction AC component of the first direction length 2-part blocks of the target block based on the brightness values of a plurality of first direction length 2-part blocks obtained by dividing each of the target block and blocks arranged in a first direction in a second direction orthogonal to the first direction, and a first saddle-shaped AC component estimation unit that estimates the first saddle-shaped AC component by the difference in the first direction AC components of two of the first direction length 2-part blocks of the target block. [Effects of the Invention]
[0012] According to the present invention, the prediction accuracy of the AC component for luminance values in an image can be improved. [Brief explanation of the drawing]
[0013] [Figure 1] Figure 1 is an overall configuration diagram of an image processing system according to one embodiment. [Figure 2] Figure 2 is a diagram illustrating a block and a child block according to one embodiment. [Figure 3] Figure 3 is a diagram illustrating the notation of a block according to one embodiment. [Figure 4] Figure 4 is a diagram illustrating the notation of a vertically elongated 2-part block according to one embodiment. [Figure 5] Figure 5 is a diagram illustrating the notation of a horizontally elongated 2-part block according to one embodiment. [Figure 6] Figure 6 illustrates the gamma component prediction in sequential processing according to one embodiment. [Figure 7] Figure 7 is a flowchart of the encoding process according to one embodiment. [Figure 8] Figure 8 is a flowchart of the decoding process according to one embodiment. [Figure 9] Figure 9 is a diagram showing the configuration of a computer device according to one embodiment. [Modes for carrying out the invention]
[0014] Embodiments will be described with reference to the drawings. Note that the embodiments described below are not intended to limit the invention as defined in the claims, and not all of the elements and combinations thereof described in the embodiments are necessarily essential to the solution of the invention.
[0015] First, an image processing system according to one embodiment will be described.
[0016] Figure 1 is an overall configuration diagram of an image processing system according to one embodiment.
[0017] Image processing system 1 includes an encoder 10 as an example of an image processing device and a decoder 30 as an example of an image processing device. The encoder 10 and the decoder 30 are connected via a network 50. The network 50 is, for example, a Local Area Network (LAN) or a Wide Area Network (WAN).
[0018] The encoder 10 includes a target image input unit 11, a DC conversion unit 12, an Hadamard conversion unit 13, an AC component prediction unit 14, a prediction residual calculation unit 15, an encoding unit 16, and a compressed data output unit 17. Here, the AC component prediction unit 14 is an example of a first directional AC component calculation unit, a second directional AC component calculation unit, a first saddle-type AC component estimation unit, a second saddle-type AC component estimation unit, a first child block brightness prediction unit, and a prediction value determination unit.
[0019] The target image input unit 11 receives the image to be compressed (target image). The target image may be, for example, a still image or a single frame of a moving image. The target image may be acquired from the auxiliary storage device 106 (see Figure 9) in the encoder 10, or from an imaging device (not shown).
[0020] The DC conversion unit 12 generates a DC component (also called the M component) in the block to be processed (target block) in the target image based on the brightness value of each pixel in the target image. For example, the top-level (first level) block is 16 pixels × 16 pixels. For blocks in levels lower than the first level, the second-level block is 8 pixels × 8 pixels, the third-level block is 4 pixels × 4 pixels, and the fourth-level block is 2 pixels × 2 pixels. The DC component in the target block is, for example, the average value of the brightness values of the pixels contained in the target block. In the following processing, if other functional units are configured to support random access, the target block in the target image may be arbitrarily determined, or multiple target blocks may be selected and processed in parallel. On the other hand, if other functional units are configured to support sequential access, executing on the blocks in the target image in a predetermined order, the target blocks will be determined according to a predetermined order. In the case of sequential access, for example, blocks in the image are sequentially targeted from the bottom left in the horizontal direction, and after all horizontal blocks have been targeted, the blocks in the row above are similarly targeted sequentially. Note that the order of the target blocks is not limited to this, and any order that can be commonly recognized with the decoder 30 is acceptable. The DC conversion unit 12 calculates the DC component of each child block based on the brightness value of each pixel of the multiple child blocks that make up the target block.
[0021] Here, we will explain the relationship between each block and its subblocks, as well as the terminology used for blocks in this specification.
[0022] Figure 2 is a diagram illustrating a block and a child block according to one embodiment.
[0023] Here, block 60 is denoted as B[x, y], where [x, y] represents the center position of the block. If block 60 is the target block, its center position is the origin [0,0], and it is denoted as B[0,0]. Block 60 contains, for example, four subblocks divided into a 2x2 grid. The subblocks of B[0,0] are denoted as b[-1 / 4, 1 / 4], b[-1 / 4, -1 / 4], b[1 / 4, 1 / 4], and b[1 / 4, -1 / 4]. For the subblocks as well, the values in brackets [] represent the center position of the subblock (position in a coordinate system with the center of the target block as the origin). Here, the DC component (luminance value) of block B[] is denoted as M[], and the DC component of subblock b[] is denoted as μ[].
[0024] Figure 3 is a diagram illustrating the notation of a block according to one embodiment.
[0025] The blocks surrounding the target block B[0,0] are represented as B[x,y], using the coordinates of the center position of each block with the center of the target block as the origin, as shown in Figure 3. x indicates the position in the horizontal direction (second direction), and y indicates the position in the vertical direction (first direction). While the horizontal direction is considered the second direction and the vertical direction the first, it is also possible to consider the horizontal direction as the first direction and the vertical direction as the second direction. For example, the block to the left of B[0,0] is B[-1,0], the block to the right is B[1,0], the block directly above is B[0,1], and the block directly below is B[0,-1]. Note that there may be cases where there is no corresponding block in the image, such as when the target block B[0,0] is at the edge of the image. In such cases, a virtual block can be assumed. In this case, the DC component value of the virtual block may be a predetermined value, such as the value corresponding to black or the same value as the edge of the image.
[0026] Figure 4 is a diagram illustrating the notation of a vertically elongated 2-part block according to one embodiment.
[0027] For the vertically long partial block (halved block: halved block with the length in the first direction) obtained by halving block B in the horizontal direction (second direction), B H is denoted as [x, y]. Here, [x, y] indicates the center position of the halved block. For example, the halved block obtained by halving B[0, 0] in the horizontal direction is B H [-1 / 4, 0], B H [1 / 4, 0], and the halved block obtained by halving B[0, 1] in the horizontal direction is B H [-1 / 4, 1], B H [1 / 4, 1]. Here, the direct current component (luminance value) of block B H [] is denoted as M H [].
[0028] FIG. 5 is a diagram for explaining the notation of the horizontally long halved block according to an embodiment.
[0029] For the horizontally long partial block (halved block: halved block with the length in the second direction) obtained by halving block B in the vertical direction (first direction), B V is denoted as [x, y]. Here, [x, y] indicates the center position of the halved block. For example, the halved block obtained by halving B[0, 0] in the vertical direction is B V [0, 1 / 4], B V [0, -1 / 4], and the halved block obtained by halving B[1, 0] in the vertical direction is B V [1, 1 / 4], B V [1, -1 / 4]. Here, the direct current component (luminance value) of block B V [] is denoted as M V [].
[0030] Returning to the description of FIG. 1, the Hadamard transform unit 13 performs a Hadamard transform to calculate the direct current component M of the target block, the α component (second direction alternating current component) which is the alternating current component in the horizontal direction, the β component (first direction alternating current component) which is the alternating current component in the vertical direction, and the γ component (saddle-shaped alternating current component) which is the alternating current component in the diagonal direction. Note that since the direct current component M is the same as the direct current component of the target block, it is not necessary to calculate it by computation.
[0031] Here, the DC component M[0,0], AC component α[0,0], AC component β[0,0], and AC component γ[0,0] of the target block B[0,0] can be expressed in terms of the DC components μ[-1 / 4,1 / 4], μ[-1 / 4,-1 / 4], μ[1 / 4,1 / 4], μ[1 / 4,1 / 4], and μ[1 / 4,-1 / 4] of the target block's child blocks b[-1 / 4,1 / 4], b[-1 / 4,-1 / 4], b[1 / 4,1 / 4], and μ[1 / 4,-1 / 4], as shown in equation (1) below. Note that the γ component can be said to be the difference in luminance between pairs of child blocks that are opposite each other with respect to the center of the target block when the target block is divided into 2x2 child blocks.
[0032]
number
[0033] The AC component prediction unit 14 predicts the value α of each AC component for the target block B[0,0] based on the AC component prediction. ~ [0,0], β ~ [0,0], γ ~ Calculate [0,0]. Here, α ~ This is similar to the symbol with "~" placed directly above it. Here, AC component prediction is a technique for predicting each AC component when at least some of the DC components μ[-1 / 4,1 / 4], μ[-1 / 4,-1 / 4], μ[1 / 4,1 / 4], and μ[1 / 4,-1 / 4] of the child blocks of the target block are unknown.
[0034] The AC component prediction unit 14 predicts the AC component α for the target block B[0,0]. ~ [0,0], β ~ For [0,0], the prediction is made using the DC components of multiple blocks and known techniques.
[0035] Furthermore, the AC component prediction unit 14 predicts the γ component value γ for the target block B[0,0]. ~The prediction is for [0,0]. There are two methods for predicting the AC component of the γ component: one that calculates it without using the DC component of some child blocks that can be determined during encoding (first prediction method), and one that calculates it using the DC component of some child blocks that can be determined during encoding (second prediction method).
[0036] <Method for calculating predicted values of the gamma component without using the DC component of some of the subblocks that can be identified (First prediction method)> First, we will explain a method for calculating the predicted value of the gamma component without using the DC component of some of the subblocks that can be identified.
[0037] <<Prediction of the DC component of a vertically elongated 2-minute block>> The AC component prediction unit 14 divides block B[0,y] into two vertically elongated blocks B in the horizontal direction. H [-1 / 4, y] and B H M is the predicted value of the DC component with respect to [1 / 4, y]. ~ H [-1 / 4, y] and M ~ H [1 / 4, y] is predicted using the DC component of blocks arranged horizontally. For example, the AC component prediction unit 14 is M ~ H [-1 / 4, y] and M ~ H [1 / 4,y] is predicted by the following equations (2) and (3). Here, y is the range used in subsequent processing, and in this example, it is an integer from -2 to 2. Note that the prediction method is not limited to this; for example, the second term on the right-hand side of equations (2) and (3) may be replaced with (M[1,y]-M[-1,y]) / 8.
[0038]
number
[0039] Here, α in equations (2) and (3) ~ Hθ [0,y] is as shown in equation (4) below.
[0040]
number
[0041] Here, α ~ H1 [0,y] is as shown in equation (5) below, and θ ~ H1 [0,y] is as shown in equation (6). Also, sign(x) is as shown in equation (7), min() is the function that returns the smallest value, and max() is the function that returns the largest value.
[0042]
number
[0043] Here, M in equation (2) ~ H [-1 / 4,y] is the DC component V of the subblock in equation (10) of Non-Patent Document 3. UL And, V BL Since it corresponds to the average of, based on these relationships, α ~ H1 [0,y] is expressed as shown in equation (5). Note that κ is the intensity of the AC component prediction and corresponds to λ in Non-Patent Document 3. In this embodiment, κ is a value less than 1, for example, it may be 1 / 4. Also, M in equation (3) ~ H [1 / 4,y] is the DC component V of the subblock in equation (10) of Non-Patent Document 3. UR And, V BR Since this corresponds to the average of the above, based on these relationships, the same α as above ~ H1 It can be expressed in terms of [0,y]. Equation (5) is M ~ H This is an example of a method for predicting the difference between [-1 / 4, y] and M[0, y].
[0044] Furthermore, equation (6) calculates the larger of the difference between the DC components of B[-2,y] and B[-1,y] on the left side of B[0,y] and the difference between the DC components of B[-1,y] and B[0,y], and the larger of the difference between the DC components of B[2,y] and B[1,y] on the right side of B[0,y] and the difference between the DC components of B[1,y] and B[0,y], and the smaller of these values is θ ~ H1 This indicates that [0,y]. Equation (6) limits the value of the region where the difference in DC components in horizontally arranged blocks is extremely pronounced, thereby suppressing the effect of the extreme difference in DC components. Equation (6) is M ~ H This is another example of a method for predicting the difference between [-1 / 4, y] and M[0, y].
[0045] Furthermore, according to equation (4), α ~ H1 [0, y] and θ ~ H1 The smaller of [0, y] is α ~ H1 By giving it the same sign as [0,y], α ~ Hθ [0,y] is used. This results in M ~ H This means that we are selecting the value of the prediction method that produces the smallest difference between [-1 / 4,y] and M[0,y], out of the two methods for predicting the difference between them.
[0046] <<Prediction of the DC component of a child block based on the predicted value of the DC component of a vertically elongated 2-minute block>> Next, the AC component prediction unit 14 performs a 2-minute block B H [-1 / 4, y] and B H M is the predicted value of the DC component with respect to [1 / 4, y]. ~ H [-1 / 4, y] and M ~ H Using [1 / 4, y], predict the DC component μ of each child block b[-1 / 4, 1 / 4], b[-1 / 4, -1 / 4], b[1 / 4, 1 / 4], b[1 / 4, -1 / 4]. ~ H [-1 / 4, 1 / 4], μ~ H [-1 / 4, -1 / 4], μ ~ H [1 / 4, 1 / 4], μ ~ H Predict [1 / 4, -1 / 4]. In this embodiment, the AC component prediction unit 14 calculates the predicted values of the DC components of each sub-block according to the following formulas (8) to (11).
[0047]
Equation
[0048] Here, β in formulas (8) to (11) ~ Hθ [x, 0] is as shown in formula (12) below. Also, β in formula (12) ~ H1 [x, 0] is as shown in formula (13) below, and θ ~ H1 [x, 0] is as shown in formula (14).
[0049]
Equation
[0050] Here, formula (13) corresponds to performing the same processing as formula (5) vertically using a two-part block, and formula (14) corresponds to performing the same processing as formula (6) vertically using a two-part block.
[0051] <<Calculation of the predicted value of the γ component using a vertically long two-part block>> Next, the AC component prediction unit 14 substitutes the predicted values μ of the DC components of each sub-block ~ H [-1 / 4, 1 / 4], μ ~ H [-1 / 4, -1 / 4], μ ~ H [1 / 4, 1 / 4], μ ~ H Substitute [1 / 4, -1 / 4] into formula (1) to obtain γ, which is the predicted value of the γ component~ H Calculate [0, 0].
[0052] Here, γ ~ H [0, 0] can be expressed as shown in the following formula (15).
[0053]
Equation
[0054] For example, substituting formulas (8) to (11) into formula (15), γ ~ H [0, 0] can be expressed as shown in the following formula (16).
[0055]
Equation
[0056] Referring to formula (16), γ which is the predicted value of the γ component ~ H [0, 0] is β ~ Hθ [-1 / 4, 0] and β ~ Hθ It can be seen that it can be calculated from [1 / 4, 0]. Therefore, the AC component prediction unit 14 may calculate β ~ Hθ [-1 / 4, 0] and β ~ Hθ [1 / 4, 0] and calculate γ by formula (16) ~ H [0, 0].
[0057] V [-1 / 4, 1 / 4], μ ~ V [-1 / 4,-1 / 4], μ ~ V [1 / 4, 1 / 4], μ ~ V This is written as [1 / 4, -1 / 4].
[0058] Here, the following AC component prediction is a method that performs the same processing as the AC component prediction described above, but with the relationship between the vertical and horizontal axes in the processing reversed, that is, with the coordinate system rotated by 90 degrees.
[0059] Therefore, the AC component prediction unit 14 divides block B[0,y] into two horizontally elongated blocks B in the vertical direction. V [x,-1 / 4] and B V M is the predicted value of the DC component for [x, 1 / 4]. ~ V [x,-1 / 4] and M ~ V [x, 1 / 4] is predicted using equations (17) and (18) below. Here, x is the range used in subsequent processing, and in this example, it is an integer from -2 to 2.
[0060]
number
[0061] Here, β in equations (17) and (18) ~ Vθ [x,0] is as shown in equation (19) below.
[0062]
number
[0063] Here, β ~ V1 [x,0] is as shown in equation (20) below, and θ ~ V1 [x,0] is as shown in equation (21).
[0064]
number
[0065] <<Prediction of the DC component of a child block based on the predicted value of the DC component of a horizontally elongated 2-minute block>> Next, the AC component prediction unit 14 performs a 2-minute block B V [x,-1 / 4] and B V M is the predicted value of the DC component for [x, 1 / 4]. ~ V [x,-1 / 4] and M ~ V Using [x, 1 / 4], predict the DC component μ of each child block b[-1 / 4, 1 / 4], b[-1 / 4, -1 / 4], b[1 / 4, 1 / 4], and b[1 / 4, -1 / 4]. ~ V [-1 / 4, 1 / 4], μ ~ V [-1 / 4,-1 / 4], μ ~ V [1 / 4, 1 / 4], μ ~ V [1 / 4, -1 / 4] is predicted. In this embodiment, the AC component prediction unit 14 calculates the predicted value of the DC component of each subblock using the following equations (22) to (25).
[0066]
number
[0067] Here, α in equations (22) to (25) ~ Vθ [0,y] is as shown in equation (26) below. Note that α ~ Vθ [] represents the predicted value of the α component of B[]. Also, the α in equation (26) ~ V1 [0,y] is as shown in equation (27) below, and θ ~ V1 [0,y] is as shown in equation (28).
[0068]
number
[0069] Here, equation (27) is equivalent to performing the same process as in equation (20) horizontally using a binary block, and equation (28) is equivalent to performing the same process as in equation (21) horizontally using a binary block.
[0070] <<Calculation of predicted gamma component values using horizontally oriented 2-minute blocks>> Next, the AC component prediction unit 14 predicts the DC component μ of each subblock. ~ V [-1 / 4, 1 / 4], μ ~ V [-1 / 4,-1 / 4], μ ~ V [1 / 4, 1 / 4], μ ~ V By substituting [1 / 4, -1 / 4] into equation (1), we obtain the predicted value of the γ component, γ ~ V Calculate [0,0]. Specifically, γ ~ V [0,0] is calculated using the following formula (29).
[0071]
number
[0072] Substituting equations (22) to (25) into equation (29), we get γ ~ V [0,0] can be expressed as shown in equation (30) below.
[0073]
number
[0074] As can be seen from equation (30), γ ~ V [0,0] is the predicted value of the α component, α ~Vθ [0, -1 / 4] and α ~ Vθ It can be calculated using [0, 1 / 4]. Therefore, the AC component prediction unit 14 does not use the above calculation, but rather uses equation (30) to calculate γ ~ V Alternatively, you could calculate [0,0].
[0075] Next, the AC component prediction unit 14 determines γ ~ H [0,0] and γ ~ V Based on [0,0], the predicted value of the final γ component γ ~ Determine [0,0]. For example, the AC component prediction unit 14 may be calculated by a simple average as shown in equation (31) below, or γ ~ H [0,0] and γ ~ V It may also be calculated using a weighted average with different weights for [0,0].
[0076]
number
[0077] According to the method described above for calculating the predicted value of the gamma component without using the DC component of some of the known subblocks, it is possible to calculate the predicted value of the gamma component of the target block even if the DC component of the subblock has not been calculated. Therefore, each block in the image can be processed randomly, or multiple blocks can be processed in parallel.
[0078] <Method for calculating the predicted value of the gamma component using the DC component of some of the subblocks that can be identified (Second prediction method)> Next, we will explain how to calculate the predicted value of the gamma component using the DC components of some known child blocks. Here, known child blocks refer to child blocks whose DC components have been calculated during encoding, before the predicted value of the gamma component of the target block is calculated.
[0079] First, we will explain the processing order of the target block in the sequential processing of decoding and encoding the compressed data of the target image, and the DC component of the child block that is determined by the processing.
[0080] Figure 6 illustrates the DC component of a child block that can be identified when processing a target block in sequential processing according to one embodiment.
[0081] In sequential processing, for example, the target block is changed from the bottom left block of the image to the right side and processed until the right edge is reached, then the leftmost block of the row above is used as the target block and processed. In this case, for example, when processing the target block B[0,0], the DC components of the child blocks b[-1 / 4,-3 / 4] and b[1 / 4,-3 / 4] of the lower block B[0,-1] and the child blocks b[-3 / 4,1 / 4] and b[-3 / 4,-1 / 4] of the left side B[-1,0] can be obtained even during decoding. In this example, the DC components of the obtainable child blocks b[-1 / 4,-3 / 4], b[1 / 4,-3 / 4], b[-3 / 4,1 / 4], and b[-3 / 4,-1 / 4] are used to predict the gamma component.
[0082] Next, we will explain how to calculate the predicted values of the α and β components using the DC components of some of the known subblocks.
[0083] Using the technique described in Non-Patent Document 2, the predicted value μ of the DC component of the child block of the target block B[0,0] ~ [-1 / 4,-1 / 4], μ ~ [-1 / 4, 1 / 4], μ ~ [1 / 4, -1 / 4], μ ~ [1 / 4,1 / 4] can be expressed using some of the known child blocks as shown in equations (32) to (35) below. Here, M'[-1,0] and M'[-1,0] are the luminance values of the block expressed using the DC components of the known child blocks, and are shown in equations (36) and (37).
[0084]
number
[0085] Substituting equations (32) to (35) into equation (1) and performing the Hadamard transform, we get the predicted value of the α component α ~ [0,0] is represented as shown in equation (38) below, and the predicted value of the β component β ~ [0,0] is represented as shown in equation (39) below.
[0086]
number
[0087] Here, since the coefficients of the luminance values of child blocks b[-3 / 4,-1 / 4] and b[-3 / 4,1 / 4] are equal, block B H The luminance value for [-3 / 4,0] is expressed as shown in equation (40) below.
[0088]
number
[0089] Therefore, the predicted value of the α component is α ~ [0,0] can be expressed as shown in equation (41) by transforming equation (38) using equation (40).
[0090]
number
[0091] Also, since the coefficients of the luminance values of child blocks b[-1 / 4,-3 / 4] and b[1 / 4,-3 / 4] are equal, block B V The luminance values for [0, -3 / 4] are expressed as shown in equation (42) below.
[0092]
number
[0093] Therefore, the predicted value of the β component is β ~ [0,0] can be expressed as shown in equation (43) by transforming equation (39) using equation (42).
[0094]
number
[0095] Therefore, the AC component prediction unit 14 calculates α according to equation (41). ~ [0,0] is calculated, and β is obtained using equation (43). ~ Calculate [0,0].
[0096] <<Prediction of the γ component>> <<<Prediction of the DC component of a vertically elongated 2-minute block>>> The AC component prediction unit 14 divides block B[0,y] into two vertically elongated blocks B in the horizontal direction. H [-1 / 4, y] and B H M is the predicted value of the DC component with respect to [1 / 4, y]. ~ H [-1 / 4, y] and M ~ H [1 / 4, y] is predicted using the DC component of the horizontally arranged blocks. Note that B H [-1 / 4, y] and B H The prediction of the DC component for [1 / 4, y] can be done using the same method as the first prediction method, or a different method.
[0097] <<Predicted DC component of a vertically elongated 2-minute block, and prediction of the DC component of a subblock based on the DC component of the observable subblock.>> Next, the AC component prediction unit 14 performs a 2-minute block B H [-1 / 4, y] and B H M is the predicted value of the DC component with respect to [1 / 4, y]. ~ H [-1 / 4, y] and M ~ HUsing [1 / 4,y] and the DC components μ[-1 / 4,-3 / 4] and μ[1 / 4,-3 / 4] of the known subblocks b[-1 / 4,-1 / 4] and b[1 / 4,-3 / 4], we predict the DC component μ of each subblock b[-1 / 4,-1 / 4], b[1 / 4,-1 / 4], b[-1 / 4,1 / 4], and b[1 / 4,1 / 4]. ~ H [-1 / 4,-1 / 4], μ ~ H [1 / 4, -1 / 4], μ ~ H [-1 / 4, 1 / 4], μ ~ H [1 / 4, 1 / 4] is predicted. In this embodiment, the AC component prediction unit 14 calculates the predicted value of the DC component of each subblock using the following equations (44) to (47).
[0098]
number
[0099] Next, the AC component prediction unit 14 predicts the γ component using the same method as the first prediction method, and the γ component is γ ~ H Calculate [0,0].
[0100] <<Prediction of the DC component of a horizontally elongated 2-minute block>> The AC component prediction unit 14 divides block B[x,0] into two horizontally elongated blocks B in the vertical direction. V [x,-1 / 4] and B V M is the predicted value of the DC component for [x, 1 / 4]. ~ V [x,-1 / 4] and M ~ V [x, 1 / 4] is predicted using the DC component of blocks arranged vertically. Note that B V [x,-1 / 4] and B V The prediction of the DC component for [x, 1 / 4] can be done using the same method as the first prediction method, or a different method.
[0101] <<<Predicted DC component of a horizontally elongated 2-minute block, and prediction of the DC component of a subblock based on the DC component of the observable subblock.>> Next, the AC component prediction unit 14 performs a 2-minute block B V [x,-1 / 4] and B V M is the predicted value of the DC component for [x, 1 / 4]. ~ V [x,-1 / 4] and M ~ V Using [x,1 / 4] and the DC components μ[-3 / 4,-1 / 4] and μ[-3 / 4,1 / 4] of the known subblocks b[-1 / 4,1 / 4], b[-1 / 4,-1 / 4], b[1 / 4,-1 / 4], and b[1 / 4,1 / 4], we predict the DC component μ of each subblock b[-1 / 4,1 / 4], b[-1 / 4,-1 / 4], b[1 / 4,-1 / 4], and b[1 / 4,1 / 4]. ~ V [-1 / 4,-1 / 4], μ ~ V [1 / 4, -1 / 4], μ ~ V [-1 / 4, 1 / 4], μ ~ V [1 / 4, 1 / 4] is predicted. In this embodiment, the AC component prediction unit 14 calculates the predicted value of the DC component of each subblock using the following equations (48) to (51).
[0102]
number
[0103] Next, the AC component prediction unit 14 predicts the γ component using the same method as the first prediction method, and the γ component is γ ~ V Calculate [0,0].
[0104] Next, the AC component prediction unit 14 uses the same method as the first prediction method to determine γ ~ H [0,0] and γ ~ V Based on [0,0], the final predicted value of the γ component is γ ~ Calculate [0,0].
[0105] According to the method described above, which uses the DC components of some of the known subblocks to calculate the predicted value of the gamma component, the gamma component can be predicted with greater accuracy because it uses the actual DC components of the known subblocks.
[0106] The predicted residual calculation unit 15 calculates the predicted residual e for each AC component for each target block at each level. In this embodiment, the predicted residual e for the α, β, and γ components for each target block α , e β , e γ This is calculated using the following equations (52), (53), and (54). Note that the predicted residual e for the β component is β The process of calculating the predicted residual e for the α component is α You can perform the same calculation process with the coordinate system rotated by 90 degrees. Predicted residual e α [0,0]=α[0,0]-α ~ [0,0] ···(52) Predicted residual e β [0,0]=β[0,0]-β ~ [0,0] ···(53) Predicted residual e γ [0,0]=γ[0,0]-γ ~ [0,0] ···(54)
[0107] The encoding unit 16 calculates the predicted residuals e of each block in each layer calculated by the prediction residual calculation unit 15. α , e β , e γ For example, by performing irreversible transformations such as quantization, and then applying entropy coding such as Huffman coding or arithmetic coding, compressed data for the target block is generated.
[0108] In this embodiment, the coding unit 16 calculates the predicted residual e of each block. α , e β , e γ By applying the function Q(x) shown in equation (55) below to the DC component M, the quantized values (α) of each predicted residual shown in equations (56) to (58) below can be obtained.· [0,0], β · [0,0], γ · [0,0]) and the quantized value M of the DC component M shown in equation (59) · We get [0,0].
[0109]
number
[0110] Here, q is a quantization parameter that adjusts the compression ratio.
[0111] α · [0,0]=Q(e α [0,0]) ···(56) β · [0,0]=Q(e β [0,0]) ···(57) γ · [0,0]=Q(e γ [0,0]) ···(58) M · [0,0]=Q(M[0,0]) ···(59)
[0112] Next, the encoding unit 16 processes the alpha of each block. · [0,0], β · [0,0], γ · [0,0] is compressed into compressed data by entropy coding. The coding unit 16 quantizes the DC component M of each of the topmost blocks. · For [0,0], compressed data is generated using a known compression technique.
[0113] The compressed data output unit 17 outputs the compressed data generated by the encoding unit 16 to the decoder 30. Here, the compressed data includes the DC component M of each top-level block and the predicted residuals e of the α, β, and γ components of each block in each layer. α , e β , e γ This includes compressed data for the quantized values.
[0114] The decoder 30 includes a compressed data input unit 31, a decoding unit 32, an AC component prediction unit 33, an AC component calculation unit 34, an inverse Hadamard transform unit 35, and an image display unit 36. Here, the AC component prediction unit 33 is an example of a first directional AC component calculation unit, a second directional AC component calculation unit, a first saddle-type AC component estimation unit, a second saddle-type AC component estimation unit, a first child block brightness prediction unit, a saddle-type AC component calculation unit, and a predicted value determination unit.
[0115] The compressed data input unit 31 receives compressed data transmitted from the encoder 10 via the network 50. The decoding unit 32 decodes the compressed data by performing decoding corresponding to the encoding by the encoding unit 18 on the compressed data input unit 31. Next, the encoding unit 18 calculates the quantized value (α · [0,0], β · [0,0], γ · [0,0], M · For [0,0]), the inverse quantization (Q -1 By performing ) e α '[0,0], e β '[0,0], e γ We obtain '[0,0]' and M'[0,0]. Here, the inverse quantization equation is, for example, Q -1 Alternatively, we can set (x) = xq. This allows us to obtain the DC component M of each top-level block and the predicted residuals e of the α, β, and γ components of each block in each layer. α , e β , e γ It is possible to obtain reproducible values.
[0116] The AC component prediction unit 33 performs the same processing as the AC component prediction unit 14.
[0117] The AC component calculation unit 34 calculates the α, β, and γ components for the target block. Specifically, the AC component calculation unit 34 calculates the reproduced values α'[0,0], β'[0,0], and γ'[0,0] of the α, β, and γ components according to the following equations (60), (61), and (62). α'[0,0]=e α '[0,0]+α ~ [0,0] ···(60) β'[0,0]=e β '[0,0]+β ~ [0,0] ···(61) γ'[0,0]=e γ '[0,0]+γ ~ [0,0] ···(62)
[0118] The inverse Hadamard transform unit 35 is an example of a luminance value calculation unit, and performs an inverse Hadamard transform to calculate the DC component of each sub-block included in the target block based on the α component, β component, γ component, and DC component M of the target block calculated by the AC component calculation unit 34. Specifically, the inverse Hadamard transform unit 35 applies equation (63) to α'[0,0], β'[0,0], γ'[0,0], M'[0,0] to calculate the reproduced values μ'[-1 / 4,-1 / 4], μ'[1 / 4,-1 / 4], μ'[-1 / 4,1 / 4], and μ'[1 / 4,1 / 4] of the DC component of each sub-block included in the target block.
[0119]
number
[0120] Furthermore, if the target block is the lowest-order target block, the inverse Hadamard transform unit 35 calculates the DC component of each pixel included in the target block based on the α component, β component, γ component, and DC component M of the target block. In this way, the DC component of each pixel in the target image is calculated by the processing of the inverse Hadamard transform unit 35.
[0121] The image display unit 36 displays an image to the display device 108 (see Figure 9) based on the DC component of the brightness of each pixel in the target image calculated by the inverse Hadamard transform unit 35.
[0122] Next, the processing operations in the image processing system 1 will be described.
[0123] First, let's explain the encoding process performed by encoder 10.
[0124] FIG. 7 is a flowchart of an encoding process according to an embodiment.
[0125] In the encoding process, first, the target image input unit 11 inputs an image to be encoded (target image), and the DC conversion unit 12 calculates the DC component of the luminance of the child blocks of the target block (step S11). When step S11 is executed for the first time, the block at the highest level is used as the target block for processing.
[0126] Next, the Hadamard transform unit 13 performs a Hadamard transform to calculate the AC components (α, β, γ components) of the luminance of the target block and the DC component M (step S12).
[0127] Next, the AC component prediction unit 14 calculates the predicted values of the AC components (α, β, γ components) for the target block (step S13). In this embodiment, the processing after step S13 is first executed for the α component of the target block, then for the β component, and then for the γ component.
[0128] Next, the prediction residual calculation unit 15 calculates the prediction residual e (e α , e β , or e γ ) of the AC component to be processed for the target block (step S14). Specifically, the prediction residual calculation unit 15 calculates the prediction residual e according to the above formulas (52), (53), and (54).
[0129] Next, the encoding unit 16 performs an irreversible transformation such as quantization on the prediction residual e calculated by the prediction residual calculation unit 15, and further performs entropy encoding such as Huffman encoding or arithmetic encoding to generate compressed data for the prediction residual e of the target block (step S15).
[0130] Next, the DC conversion unit 12 determines whether all blocks in the hierarchy being processed have been processed (step S16). If all blocks in the hierarchy have not been processed (step S16:N), the process proceeds to step S11 to execute processing for the next target block. Here, the next target block can be any block if the predicted value of the γ component is calculated without using the DC components of some child blocks that the prediction residual calculation unit 15 can identify. If the predicted value of the γ component is calculated using the DC components of some child blocks that the prediction residual calculation unit 15 can identify, the next target block is a block in a predetermined order. On the other hand, if all blocks in the hierarchy have been processed (step S16:Y), the DC conversion unit 12 determines whether there are any blocks in the hierarchy one level below (step S17).
[0131] As a result, if there is a block in the next lower hierarchy (step S17:Y), the DC conversion unit 12 changes the hierarchy to be processed to the lower hierarchy (step S18), proceeds to step S11, and executes processing for the block in the lower hierarchy.
[0132] On the other hand, if there is no block in the next lower level (step S17:N), the DC conversion unit 12 terminates processing. As a result, compressed data for the alpha component is generated.
[0133] Next, the encoder 10 generates compressed data for the β component by performing the above-described encoding process, with the β component as the processing target.
[0134] Next, the encoder 10 generates compressed data for the γ component by performing the above-described encoding process, but with the γ component as the processing target.
[0135] Next, the encoder 10 performs a process to generate compressed data for the DC component M (DC component M of the top-level blocks) for each block in the top hierarchy. Known techniques can be used for the process of generating compressed data for the DC component M.
[0136] Subsequently, the compressed data output unit 20 combines the compressed data for the α, β, and γ components, as well as the DC component M for each block of the highest level, and includes it in the compressed data of the target image before outputting (transmitting) it to the decoder 30.
[0137] This encoding process performs the gamma component prediction described above, which improves prediction accuracy. This reduces the value of the prediction residual, thereby improving the compression efficiency with respect to the luminance prediction residual.
[0138] Next, the decoding process performed by the decoder 30 will be explained.
[0139] Figure 8 is a flowchart of the decoding process according to one embodiment.
[0140] The compressed data input unit 31 receives the compressed data transmitted from the encoder 10 via the network 50 (step S31).
[0141] Next, the decoding unit 32 decodes the compressed data input from the compressed data input unit 31 (step S32). This determines the DC component M of each top-level block and the predicted residuals e of the AC components α, β, and γ of each block in each layer. α , e β , e γ You can obtain that.
[0142] Next, the AC component prediction unit 33 calculates a predicted value of the α component for the target block by processing similar to the AC component prediction performed by the encoder 10 (step S33). Here, the target block can be any block if the predicted value of the α component is calculated without using the DC components of some of the subblocks that the prediction residual calculation unit 15 can identify. If the predicted value of the α component is calculated using the DC components of some of the subblocks that the prediction residual calculation unit 15 can identify, the blocks are selected in the same order as the execution order of the processing in the encoder 10.
[0143] Next, the AC component calculation unit 34 calculates the α component for the target block (step S34).
[0144] Next, the decoder 30 calculates the β component and the γ component (step S35). Specifically, the β component can be calculated by the same process as in steps S33 to S34. The γ component can also be calculated by the same process as in steps S33 to S34.
[0145] Next, the AC component prediction unit 33 determines whether all blocks in the hierarchy being processed have been processed (step S36). If all blocks in the hierarchy have not been processed (step S36:N), the process proceeds to step S33 to execute processing for the next target block. On the other hand, if all blocks in the hierarchy have been processed (step S36:Y), the inverse Hadamard transform unit 35 performs an inverse Hadamard transform to calculate the DC component of each child block included in the target block based on the α component, β component, γ component, and DC component M of the target block calculated by the AC component calculation unit 34 (step S37). Note that if the target block is the lowest-level target block, i.e., a 2x2 pixel block, the inverse Hadamard transform unit 35 calculates the DC component of each pixel included in the target block based on the α component, β component, γ component, and DC component M of the target block.
[0146] Next, the AC component prediction unit 33 determines whether or not there is a block in the next lower hierarchy (step S38). If, as a result, there is a block in the next lower hierarchy (step S38:Y), the AC component prediction unit 33 changes the hierarchy to be processed to the lower hierarchy (step S39), proceeds to step S33, and executes processing for the block in the lower hierarchy.
[0147] On the other hand, when there is no block in the lower layer (step S38: N), the image display unit 36 displays an image on the display device 108 based on the DC component of the luminance of each pixel in the target image calculated by the inverse Hadamard transform unit 35 (step S40), and ends the process.
[0148] According to the above decoding process, an image can be appropriately displayed based on the compressed data created by the encoder 10.
[0149] The above encoder 10 and decoder 30 can each be configured by a computer device.
[0150] FIG. 9 is a configuration diagram of a computer device according to an embodiment. In this embodiment, the encoder 10 and the decoder 30 are configured by separate computer devices, but these computer devices can have the same configuration. Therefore, in the following description, for convenience, the computer device shown in FIG. 9 will be used to describe the computer devices constituting the encoder 10 and the decoder 30.
[0151] The computer device 100 includes, for example, a Central Processing Unit (CPU) 101, a main memory 102, a Graphics Processing Unit (GPU) 103, a reader / writer 104, a communication interface (communication I / F) 105, an auxiliary storage device 106, an input / output interface (input / output I / F) 107, a display device 108, and an input device 109. The CPU 101, the main memory 102, the GPU 103, the reader / writer 104, the communication I / F 105, the auxiliary storage device 106, the input / output I / F 107, and the display device 108 are connected via a bus 110. The encoder 10 and the decoder 30 are each configured by appropriately selecting some or all of the components described in the computer device 100.
[0152] In the computer device 100 that constitutes the encoder 10, the CPU 101 executes an image processing program stored in the auxiliary storage device 106 to configure, for example, a target image input unit 11, a DC conversion unit 12, an Hadamard conversion unit 13, an AC component prediction unit 14, a prediction residual calculation unit 15, an encoding unit 16, and a compressed data output unit 17.
[0153] In the computer device 100 that constitutes the decoder 30, the CPU 101 executes an image processing program stored in the auxiliary storage device 106 to configure, for example, a compressed data input unit 31, a decoding unit 32, an AC component prediction unit 33, an AC component calculation unit 34, an inverse Hadamard transform unit 35, and an image display unit 36.
[0154] Main memory 102 is, for example, RAM, ROM, etc., and stores programs (processing programs, etc.) executed by the CPU 101 and various information. Auxiliary storage device 106 is, for example, a non-temporary storage device (non-volatile storage device) such as a Hard Disk Drive (HDD) or Solid State Drive (SSD), and stores programs executed by the CPU 101 and various information.
[0155] The GPU 103 is a processor suitable for performing specific processes, such as image processing, and is suitable for performing parallel processes. In this embodiment, the GPU 103 performs predetermined processes according to instructions from the CPU 101.
[0156] The reader / writer 104 is capable of attaching and detaching the recording medium 111, and reads data from and writes data to the recording medium 111. Examples of recording mediums 111 include non-temporary recording media (non-volatile recording media) such as SD memory cards, FD (floppy disk: registered trademark), CDs, DVDs, BDs (registered trademark), and flash memory. In this embodiment, a processing program may be stored on the recording medium 111, and the reader / writer 104 may read and use it. Alternatively, the computer device 100 constituting the encoder 10 may store image data to be processed on the recording medium 111, and the reader / writer 104 may read and use it. Alternatively, the computer device 100 constituting the encoder 10 may store compressed data on the recording medium 111 using the reader / writer 104. Alternatively, the computer device 100 constituting the decoder 30 may read compressed data from the recording medium 111 using the reader / writer 104.
[0157] The communication interface 105 is connected to network 50 and transmits and receives data with other devices connected to network 50.
[0158] The input / output interface 107 is connected to an input device 109, such as a mouse or keyboard. In the computer device 100 that constitutes the encoder 10, the input / output interface 107 accepts user input for the encoder 10 using the input device 109. Similarly, in the computer device 100 that constitutes the decoder 30, the input / output interface 107 accepts user input for the decoder 30 using the input device 109.
[0159] The display device 108 is, for example, a display device such as a liquid crystal display, and displays and outputs various information. The display device 108 is used, for example, in the decoder 30 to display images by the image display unit 39.
[0160] It should be noted that the present invention is not limited to the embodiments and modifications described above, and can be implemented with appropriate modifications without departing from the spirit of the invention.
[0161] For example, in the above embodiment, γ component prediction according to the embodiment was performed when compressing the image, but for example, when enlarging an image, γ component prediction can also be used as shown below. In this case, the target block B[0,0] is processed as a single pixel. First, the α of the target block B ~ [0,0], b ~ [0,0], γ ~ Calculate [0,0]. α ~ [0,0] and b ~ [0,0] can be predicted using existing techniques, for example, by the following equations (64) and (65).
[0162]
number
[0163] Predicted value of the γ component γ ~ [0,0] is calculated, for example, using the method (first prediction method) for calculating the predicted value of the γ component without using the DC component of some of the subblocks that can be identified, as in the above embodiment.
[0164] Next, M[0,0], α ~ [0,0], b ~ [0,0], γ ~ By substituting [0,0] into equation (63), the luminance value of the child block of target block B is calculated. Here, since target block B is a pixel, the child block is the luminance value of the 2x2 subpixel contained within the pixel. Therefore, by performing the same process for all pixels, the luminance of the 2x2 subpixel for each pixel can be obtained. By creating an image with these subpixels as a single pixel, the original image can be enlarged to four times its original size.
[0165] Furthermore, in the above embodiment, γ ~H [0,0] and γ ~ V Based on [0,0], the predicted value of the final γ component γ ~ We were trying to determine [0,0], but γ ~ H [0,0] and γ ~ V Either [0,0] or the final predicted value of the γ component γ ~ [0,0] is also acceptable.
[0166] Furthermore, in the above embodiment, the predicted residual e of each block in the encoder is α , e β , e γ While the data was previously encoded after quantization, in this case, the DC component M'[x,y] of block B[x,y] reproduced on the decoder side can be calculated in advance, and M'[x,y] can be used instead of M[x,y] used to calculate the predicted residual. In this way, the encoder side can calculate the predicted residual in the same state as the decoder side, and the prediction accuracy of the predicted residual can be improved.
[0167] Furthermore, in step S33 of the decoding process described above, when the predicted residual calculation unit 15 calculates the predicted value of the γ component using the DC components of some of the child blocks that it can grasp, an example was shown in which the components are selected in the same order as the execution order of the encoder 10. However, for example, if the α component is predicted using the DC components of a block of the same size as the target block, there is no need to refer to the DC components of child blocks, and it is sufficient to use the DC components of blocks that are already available, so the target block can be any block.
[0168] Furthermore, in the second prediction method in the above embodiment, the AC component prediction unit 14 predicted the brightness value of each child block of the target block and predicted the γ component, but for example, the β shown in equation (66) below ~ Hθ Alternatively, you could calculate [x,0] (where x is -1 / 4, 1 / 4) and then calculate the γ component using equation (16).
[0169]
number
[0170] Here, equation (66) is obtained by comparing equations (44) to (47) with equations (8) to (11). β ~ Hθ [x,0] can be predicted using the brightness values of the known child blocks, as can be seen from equation (66). Similarly, even when the coordinate system is rotated by 90 degrees, the same process as in equation (66) is performed to obtain α in equation (30). ~ Vθ [0, -1 / 4] and α ~ Vθ [0, 1 / 4] can be calculated, and the γ component can be predicted using the brightness values of the known child blocks.
[0171] Furthermore, in the above embodiment, the predicted residual e of each block α , e β , e γ We were trying to encode it after quantizing it, but the predicted residual e α , e β , e γ It is also possible to encode it without quantization.
[0172] Furthermore, in the above embodiment, the same processing was performed on blocks at all levels in the encoding and decoding processes to encode or decode them. However, the present invention is not limited to this, and different processing may be used to encode or decode each level.
[0173] Furthermore, the above embodiment showed an example in which the computer device 100 is equipped with either the encoder 10 or the decoder 30. The present invention is not limited to this, and the computer device 100 may be equipped with both the encoder 10 and the decoder 30. [Explanation of Symbols]
[0174] 1...Image processing system, 10...Encoder, 11...Target image input unit, 12...DC conversion unit, 13...Hadamard transform unit, 14...AC component prediction unit, 15...Prediction residual calculation unit, 16...Encoding unit, 17...Compressed data output unit, 30...Decoder, 31...Compressed data input unit, 32...Decoding unit, 33...AC component prediction unit, 34...AC component calculation unit, 35...Inverse Hadamard transform unit, 36...Image display unit, 50...Network, 100...Computer device, 101...CPU, 102...Main memory, 108...Display device, 111...Recording medium
Claims
1. An image processing device for calculating a predicted value of the saddle-shaped AC component in a predetermined target block in a predetermined image, The aforementioned saddle-shaped AC component is the difference in brightness between pairs of child blocks that face each other with respect to the center of the target block when the target block is divided into 2x2 child blocks. A first-direction AC component calculation unit calculates the first-direction AC component of the first-direction AC component of the first-direction AC component of the first-direction AC component of the first-direction AC component, based on the luminance values of a plurality of first-direction AC component blocks obtained by dividing each of the target block and the blocks arranged in the first direction in two in a second direction perpendicular to the first direction, A first saddle-type AC component estimation unit estimates a first saddle-type AC component based on the difference in the first direction AC components of two first direction length 2-minute blocks of the target block, An image processing device equipped with the following features.
2. The first directional AC component calculation unit estimates the luminance values of the plurality of first directional length 2-minute blocks based on the luminance values of the blocks aligned in the second direction of the target block. The image processing apparatus according to claim 1.
3. The first directional AC component calculation unit determines the luminance value of the first directional block to be the luminance value of the first directional block, which is the luminance value estimated by the estimation method that results in the smallest difference between the estimated luminance value of the first directional block and the luminance of the block to which the first directional block belongs. The image processing apparatus according to claim 1.
4. The first directional AC component calculation unit calculates the first directional AC component of the first directional length 2-minute block of the target block based on the brightness values of the plurality of first directional length 2-minute blocks and the brightness values of some child blocks adjacent to the target block that can be determined during the encoding process for the target block. The image processing apparatus according to claim 2.
5. A second-direction AC component calculation unit calculates the second-direction AC component of the second-direction AC component of the target block based on the luminance values of a plurality of second-direction length 2-part blocks obtained by dividing each of the target block and the blocks arranged in the second direction in two parts in the first direction, A second saddle-type AC component estimation unit calculates a second saddle-type AC component based on the difference between the second direction AC components of two second direction length 2-minute blocks of the target block, A prediction value determination unit that determines a predicted value of the saddle-shaped AC component of the target block based on the first saddle-shaped AC component and the second saddle-shaped AC component, An image processing apparatus according to any one of claims 1 to 4, further comprising:
6. An image processing device for calculating a predicted value of the saddle-shaped AC component in a predetermined target block in a predetermined image, The aforementioned saddle-shaped AC component is the difference in brightness between pairs of child blocks that face each other with respect to the center of the target block when the target block is divided into 2x2 child blocks. A first child block brightness prediction unit predicts the brightness value of each child block of the target block based on the brightness values of a plurality of first-direction length bifurcated blocks obtained by dividing each of the target block and the blocks arranged in the first direction in two in a second direction perpendicular to the first direction, A first saddle-type AC component estimation unit estimates the first saddle-type AC component based on the brightness value of each of the aforementioned subblocks, An image processing device equipped with the following features.
7. The first child block brightness prediction unit estimates the brightness values of the plurality of first-direction length 2-minute blocks based on the brightness values of the blocks aligned in the second direction of the target block. The image processing apparatus according to claim 6.
8. The first child block brightness prediction unit predicts the brightness value of each child block of the target block based on the brightness values of the plurality of first directional length 2-minute blocks and the brightness values of some child blocks of blocks adjacent to the target block that can be determined during the encoding process for the target block. The image processing apparatus according to claim 6 or claim 7.
9. An encoder that generates compressed data for the target image, A first-direction AC component calculation unit calculates the first-direction AC component of the first-direction AC component of the first-direction AC component of the target block, based on the luminance values of a plurality of first-direction AC component blocks obtained by dividing each block of the target image and each of the blocks arranged in the first direction in two in a second direction perpendicular to the first direction, and A saddle-shaped AC component estimation unit estimates a saddle-shaped AC component, which is the difference in luminance between pairs of child blocks facing each other with respect to the center of the target block, when the target block is divided into 2x2 child blocks based on the difference in the first direction AC components of two first direction length 2 blocks of the target block. A prediction residual calculation unit calculates the predicted residual for the saddle-shaped AC component in each of the target blocks by subtracting the estimated saddle-shaped AC component from the saddle-shaped AC component for each of the target blocks, The data, which includes the brightness of the highest-level target block in the aforementioned target image and the predicted residual for the saddle-shaped AC component of each target block, is compressed and output as compressed data. Compressed data output unit, Equipped with Encoder.
10. A decoder that decompresses compressed data of a target image, A compressed data input unit that inputs the aforementioned compressed data, A decoding unit that decodes the compressed data, A first-direction AC component calculation unit calculates the first-direction AC component of the first-direction AC component of the target block based on the brightness values of a plurality of first-direction length 2-part blocks obtained by dividing each target block and each block arranged in the first direction in the target image contained in the decoded data in a second direction perpendicular to the first direction, A saddle-shaped AC component estimation unit estimates a saddle-shaped AC component, which is the difference in luminance between pairs of child blocks facing each other with respect to the center of the target block, when the target block is divided into 2x2 child blocks based on the difference in the first direction AC components of two first direction length 2 blocks of the target block. A saddle-type AC component calculation unit calculates the saddle-type AC component of each target block based on the predicted value of the saddle-type AC component of each target block and the predicted residual for the saddle-type AC component of each target block restored by the compressed data, A luminance value calculation unit calculates the luminance value of the subblocks included in the target block based on the calculated saddle-shaped AC component, Equipped with decoder.
11. An image processing method using an image processing device that calculates a predicted value of the saddle-shaped AC component in a predetermined target block in a predetermined image, The aforementioned saddle-shaped AC component is the difference in brightness between pairs of child blocks that face each other with respect to the center of the target block when the target block is divided into 2x2 child blocks. Based on the luminance values of multiple blocks obtained by dividing each of the target block and the blocks arranged in the first direction into two in a second direction perpendicular to the first direction, the first direction AC component of the first direction block of the target block is calculated. The first saddle-shaped AC component is estimated by the difference between the first direction AC components of the two first direction length 2-minute blocks of the target block. Image processing methods.
12. An image processing program that causes a computer to perform a process to calculate a predicted value of the saddle-shaped AC component in a predetermined target block in a predetermined image, The aforementioned saddle-shaped AC component is the difference in brightness between pairs of child blocks that face each other with respect to the center of the target block when the target block is divided into 2x2 child blocks. To the aforementioned computer, Based on the luminance values of multiple blocks obtained by dividing each of the target block and the blocks arranged in the first direction into two in a second direction perpendicular to the first direction, the first direction AC component of the first direction block of the target block is calculated. The first saddle-shaped AC component is estimated by the difference between the first direction AC components of the two first direction length 2-minute blocks of the target block. Image processing program.
13. An image processing system comprising an encoder that generates compressed data of a target image, and a decoder that decompresses the compressed data of the target image, The encoder described above is A first-direction AC component calculation unit calculates the first-direction AC component of the first-direction AC component of the first-direction AC component of the target block, based on the luminance values of a plurality of first-direction AC component blocks obtained by dividing each block of the target image and each of the blocks arranged in the first direction in two in a second direction perpendicular to the first direction, and A saddle-shaped AC component estimation unit estimates a saddle-shaped AC component, which is the difference in luminance between pairs of child blocks facing each other with respect to the center of the target block, when the target block is divided into 2x2 child blocks based on the difference in the first direction AC components of two first direction length 2 blocks of the target block. A prediction residual calculation unit calculates the predicted residual for the saddle-shaped AC component in each of the target blocks by subtracting the estimated saddle-shaped AC component from the saddle-shaped AC component for each of the target blocks, The data, which includes the brightness of the highest-level target block in the aforementioned target image and the predicted residual for the saddle-shaped AC component of each target block, is compressed and output as compressed data. It comprises a compressed data output unit, The decoder mentioned above is A compressed data input unit that inputs the aforementioned compressed data, A decoding unit that decodes the compressed data, A first-direction AC component calculation unit calculates the first-direction AC component of the first-direction AC component of the first-direction AC component of the target block, based on the brightness values of a plurality of first-direction AC components obtained by dividing each target block and each block arranged in the first direction in the target image contained in the decoded data in a second direction perpendicular to the first direction, in the second direction, which is perpendicular to the first direction. A saddle-shaped AC component estimation unit estimates a saddle-shaped AC component, which is the difference in luminance between pairs of child blocks facing each other with respect to the center of the target block, when the target block is divided into 2x2 child blocks based on the difference in the first direction AC components of two first direction length 2 blocks of the target block. A saddle-type AC component calculation unit calculates the saddle-type AC component of each target block based on the predicted value of the saddle-type AC component of each target block and the predicted residual for the saddle-type AC component of each target block restored by the compressed data, A luminance value calculation unit calculates the luminance value of the subblocks included in the target block based on the calculated saddle-shaped AC component, Equipped with Image processing system.
Citation Information
Patent Citations
Ac component prediction system and ac component prediction program
JP2011239191A
Ac component prediction method and image processing apparatus
JP2013051609A