IMAGE ENCODING APPARATUS AND CONTROL METHOD THEREOF
20170359579 · 2017-12-14
Inventors
Cpc classification
H04N19/395
ELECTRICITY
H04N19/1883
ELECTRICITY
International classification
Abstract
An image encoding apparatus of the present invention comprises a frequency converting unit which executes frequency conversion on the data of a frame in moving image data, and generates coefficient data of a plurality of subbands, an encoding unit which quantizes the coefficient data acquired by the frequency converting unit in accordance with a quantization parameter, and encodes the quantized coefficient data, and a code amount controlling unit which controls the encoding unit such that a code amount generated by the encoding unit achieves a target code amount are provided. Here, the code amount controlling unit determines a subband target code amount of each of the plurality of subbands by distributing the target code amount to the plurality of subbands based on a ratio determined according to an indicator indicating a difficulty calculated for each of the plurality of subbands.
Claims
1. An image encoding apparatus for encoding moving image data, comprising: a frequency converting unit configured to execute frequency conversion on data of a frame in moving image data, and generate coefficient data of a plurality of subbands; an encoding unit configured to quantize the coefficient data acquired by the frequency converting unit in accordance with a quantization parameter, and encode the quantized coefficient data; and a code amount controlling unit configured to control the encoding unit such that a code amount generated by the encoding unit achieves a target code amount, wherein the code amount controlling unit determines a subband target code amount for each of a plurality of subbands by distributing the target code amount to the plurality of subbands based on a ratio determined according to an indicator indicating a difficulty calculated for the plurality of subbands.
2. The apparatus according to claim 1, wherein the code amount controlling unit determines the subband target code amounts by distributing the target code amount to the plurality of subbands based on a ratio determined by performing predetermined weighting on the indicator indicating the difficulty of the plurality of subbands.
3. The apparatus according to claim 1, further comprising a plane converting unit configured to generate a plurality of pieces of plane data each constituted by a single component from the image data of the frame in the moving image data, wherein the frequency converting unit executes frequency conversion on the plane data generated by the plane converting unit, and generates coefficient data of a plurality of subbands for each of the plurality of pieces of plane data, and the code amount controlling unit determines the subband target code amounts by distributing the target code amount to the plurality of subbands based on a ratio determined according to an indicator indicating the difficulty calculated for each of the plurality of pieces of plane data and an indicator indicating the difficulty calculated for each of the plurality of subbands.
4. The apparatus according to claim 3, wherein the code amount controlling unit: determines a plane target code amount for each piece of plane data by distributing the target code amount to the plurality of pieces of plane data based on a ratio determined according to the indicator indicating the difficulty of the plurality of pieces of plane data, and determines the subband target code amounts for each piece of the plane data by distributing the plane target code amount to the plurality of subbands based on a ratio determined according to an indicator indicating the difficulty of the plurality of subbands in the plane data.
5. The apparatus according to claim 3, wherein the code amount controlling unit determines the subband target code amounts by distributing the target code amount to the plurality of subbands based on a ratio determined by performing predetermined weighting on the indicators indicating the difficulty of the plurality of pieces of plane data and the difficulty of the plurality of subbands.
6. The apparatus according to claim 1, wherein the frequency converting unit is a discrete wavelet transform unit.
7. The apparatus according to claim 6, wherein the encoding unit: starts quantization in LL, HL, LH and HH which are subbands at the same decomposition level, based on an initial quantization parameter that has a relationship of LL≦LH=HL≦HH, and starts quantization at different resolution levels, based on an initial quantization parameter that is larger as a resolution level is lower.
8. The apparatus according to claim 3, wherein the plane converting unit converts RAW image data into a plurality of pieces of plane data each constituted by an R, G or B single color component.
9. The apparatus according to claim 3, wherein the plane converting unit converts RAW image data into a plane constituted by a luminance component and plane data for each of a plurality of color difference components.
10. The apparatus according to claim 9, wherein the code amount controlling unit distributes a frame target code amount to plane data of the luminance component, using a weighting coefficient that is greater than a weighting coefficient of the plane data of the color difference components.
11. The apparatus according to claim 1, wherein the encoding unit: performs quantization in units of coefficient data for one line of a subband, and calculates a product of a quantization parameter used when the coefficient data for one line was quantized and an encoded data amount generated from the coefficient data for one line, as an indicator representing the difficulty.
12. A control method of an image encoding apparatus for encoding moving image data, comprising: executing frequency conversion on data of a frame in moving image data, and generating coefficient data of a plurality of subbands; quantizing the coefficient data acquired in the frequency conversion in accordance with a quantization parameter, and encoding the quantized coefficient data; and controlling the encoding such that a code amount generated in the encoding achieves a target code amount, wherein in the controlling of the code amount, a subband target code amount for each of a plurality of subbands is determined by distributing the target code amount to the plurality of subbands based on a ratio determined according to an indicator indicating a difficulty calculated for the plurality of subbands.
13. A non-transitory computer readable storage medium storing a program which, when read and executed by a computer, causes the computer to execute step of a method, wherein the method comprising: executing frequency conversion on data of a frame in moving image data, and generating coefficient data of a plurality of subbands; quantizing the coefficient data acquired in the frequency conversion in accordance with a quantization parameter, and encoding the quantized coefficient data; and controlling the encoding such that a code amount generated in the encoding achieves a target code amount, wherein in the controlling of the code amount, a subband target code amount for each of a plurality of subbands is determined by distributing the target code amount to the plurality of subbands based on a ratio determined according to an indicator indicating a difficulty calculated for the plurality of subbands.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
DESCRIPTION OF THE EMBODIMENTS
[0029] Embodiments according to the present invention will be described in detail below with reference to the attached drawings.
First Embodiment
Apparatus Configuration
[0030]
[0031] An image capturing unit 100 accommodates an optical lens, a Bayer array image sensor, an A/D converter and the like, and supplies captured moving image data in RAW format to a plane converting unit 101 in units of frames. 2×2 pixels in the Bayer array are constituted by one R (red) pixel, one B (blue) pixel and two G (green) pixels. Normally, the two G pixels are often expressed as G1 and G2 in order to distinguish those pixels from each other. Also, the image capturing unit 100 in the embodiment is assumed to supply 30 pieces of RAW image data per second, for example, to the plane converting unit 101.
[0032] The plane converting unit 101 generates, from one piece of RAW image data that has been input, four pieces of plane data, each of which is a single component. Here, the plane converting unit 101 in the embodiment generates, from the RAW image data that is formed of one frame, four planes, namely, a plane R, a plane G1, a plane G2 and a plane B, and supplies the four planes to a discrete wavelet transform unit 102.
[0033] The discrete wavelet transform unit 102 performs discrete wavelet transform (hereinafter, DWT), which is one form of frequency conversion, on each image data that is one plane (one of the planes R, G1, G2 and B that have been input). As a result, coefficient data (frequency region signals) of a plurality of subbands is generated, and the discrete wavelet transform unit 102 outputs the coefficient data (which will be described later in detail).
[0034] Note that the plane converting unit 101 in the embodiment generates four planes from one piece of RAW image data. A configuration may be adopted in which four discrete wavelet transform units 102 are positioned in parallel, and DWT is executed in parallel in order to shorten the time required for DWT. The same applies to a quantizing unit 103 and an encoding unit 104, which will be described later.
[0035] In addition, in DWT, filtering is normally performed on the entire image, but it is possible to perform filtering in the vertical direction and the horizontal direction at the timing at which pixels for the number of filter taps are stored in a memory. Therefore, if DWT is performed on one line of the input image at a time, and additionally DWT is recursively performed on a generated low-frequency subband (normally, an LL subband), it is possible to process subbands in parallel in units of lines. The discrete wavelet transform unit 102 sequentially supplies coefficient data of each subband of each plane acquired by performing frequency conversion to the quantizing unit 103.
[0036] The quantizing unit 103 quantizes the DWT coefficient data that is input, using a quantization parameter Qp that is set by a code amount controlling unit 117, and supplies the DWT coefficient data after being quantized to the encoding unit 104. The larger the value of the quantization parameter is, the more the code amount can be reduced, but on the other hand, if the value is large, deterioration in image quality becomes marked.
[0037] The encoding unit 104 encodes the quantized coefficient data supplied from the quantizing unit 103, generates encoded data, and supplies the encoded data to an output unit 119. The output unit 119 adds, to the encoded data the supplied from the encoding unit 104, a header including information required for decoding the encoded data, generates encoded data in a predetermined format, and writes the generated encoded data in a storage medium 120.
[0038] Next, the code amount controlling unit 117 in the first embodiment will be described.
[0039] The code amount controlling unit 117 includes a control sensitivity setting unit 113, a subband quantization setting unit 114, a subband target code amount setting unit 115, a subband complexity setting unit 116, and a quantization controlling unit 105, and performs code amount control that is based on various setting values for each subband, using those units.
[0040] The quantization controlling unit 105 updates Qp in units of lines so as to converge the amount of generated code of each subband to a subband target code amount. Therefore, the quantization controlling unit 105 performs control for each subband in units of lines. A generated code amount holding unit 106 holds, for each subband, the amount of generated code that is encoded data notified by the encoding unit 104.
[0041] A block complexity calculating unit 107 calculates complexity X[i−1] of a line immediately before a line to be encoded next, in a subband of interest (which will be described later in detail). The complexities of lines calculated by the block complexity calculating unit 107 are integrated for each subband, and the integrated complexity is held in the subband complexity setting unit 116. Note that hereinafter, i indicates the line number of a line to be encoded.
[0042] A block target code amount calculating unit 108 calculates a target code amount T[i] of the line to be encoded next within the subband of interest, according to a subband target code amount Tsb that is set by the subband target code amount setting unit 115, a subband complexity Xsb that is set by the subband complexity setting unit 116, and the block complexity X[i−1] that is calculated by the block complexity calculating unit 107 (which will be described later in detail).
[0043] A difference calculating unit 109 calculates, for each line within the subband of interest, the difference between an amount-of-generated code S[i−1] of the line held in the amount-of-generated code holding unit 106 and the block target code amount T[i] that is output from the block target code amount calculating unit 108. A difference holding unit 110 holds, for each subband, an integrated difference value ΣE[i−1] acquired by integrating the above calculated values.
[0044] Here, assume that, letting the target code amount of the subband of interest be T target, and the number of lines included in the subband of interest be M, a coordinate space is defined in which the horizontal axis is defined as the number of lines and the vertical axis is defined as a code amount. The integrated difference value ΣE[i−1] indicates the degree of deviation from an ideal code amount transition line that connects the origin (0, 0) and (M, T target).
[0045] A quantization value calculating unit 111 uses the integrated difference value ΣE[i−1] held in the difference holding unit 110, Qpini that is the initial Qp set by the subband quantization setting unit 114 and held in a quantization parameter holding unit 112, and a control sensitivity r that is set by the control sensitivity setting unit 113 in order to determine a quantization parameter Qp[i] of the next (subsequent) line within the subband of interest. For simplification, the quantization value calculating unit 111 calculates the quantization parameter Qp[i] of the line to be encoded next such that the absolute value of the integrated difference value ΣE[i−1] is small (which will be described later in detail).
[0046] Discrete Wavelet Transform (DWT)
[0047]
[0048] In DWT, coefficient data of four frequency bands (subbands) HH, HL, LH and LL is generated by performing filtering vertically and horizontally. DWT is then recursively performed on the low-frequency (LL) subband generated by performing the above transform/conversion, and thereby it is possible to increase the number of decomposition levels, and as in
[0049] The code amount controlling unit 117 in
[0050] Complexity Calculation
[0051] Complexity is an indicator that indicates a difficulty level of an image, and is a parameter whose value is larger as the image is more difficult, and is smaller as the image is simpler. A difficult image refers to an image from which a larger amount of code is generated when the entire image is encoded with a certain Qp. Therefore, complexity X is expressed as shown in Expression (1) below, using the quantization parameter Qp and an amount of generated code S.
X=Qp×S (1)
[0052] The block complexity calculating unit 107 calculates complexity of an immediately preceding line in order to calculate a block target code amount (a target code amount of a line to be encoded next).
[0053] If a quantization parameter Qp[i−1] used for encoding the immediately preceding line and an encoded data amount S[i−1] generated in encoding of the immediately preceding line are used, the complexity X[i−1] of the immediately preceding line can be expressed as shown in Expression (2) below in accordance with Expression (1).
X[i−1]=Qp[i−1]×S[i−1] (2)
[0054] Calculation of Block Target Code Amount
[0055] In each subband, a larger target code amount is assigned to a more difficult line of an image, and a smaller target code amount is assigned to an easier line, and thereby fluctuation of Qp can be made as small as possible in the subband.
[0056] In view of this, the block target code amount calculating unit 108 calculates a target code amount T[i] of a line to be encoded next within a subband of interest in accordance with a subband target code amount Tsb that is set by the subband target code amount setting unit 115, a subband complexity Xsb that is set by the subband complexity setting unit 116, and a block complexity X[i−1], based on Expression (3) below.
T[i]=Tsb×X[i−1]/Xsb_N−1 (3)
[0057] As indicated by Expression (1), complexity is calculated using an amount of generated code, and is therefore a feedback amount that is not acquired unless encoding is performed. Therefore, for Xsb, a subband complexity Xsb_N-1 of a frame immediately before an N frame that is a frame of interest is fed back and used. Note that N is an integer, and the N frame indicates RAW image data of interest.
[0058] As in Expression (3), a large target code amount can be assigned to a difficult line and a small target code amount can be assigned to a simple line by multiplying Tsb by the ratio of complexity of a line of interest to the entire subband. As a result, fluctuation of Qp within the subband can be made as small as possible.
[0059] Quantization Control
[0060] There is a known technique shown in “MPEG-2 Test Model 5” that is one method for calculating a quantization parameter. In accordance with this technique, the quantization value calculating unit 111 calculates a quantization parameter Qp[i] of the next line using the integrated difference value ΣE[i−1] held in the difference holding unit 110, an initial quantization parameter Qpini held in the quantization parameter holding unit 112, and the control sensitivity r that has been set by the control sensitivity setting unit 113, as in Expression (4) below.
Qp[i]=Qpini+r×ΣE[i−1] (4)
[0061] Note that the control sensitivity r is a parameter, and the greater the control sensitivity r is, the more quickly Qp[i] is caused to fluctuate according to the integrated difference value, and the more the code amount controllability improves. If “MPEG-2 Test Model 5” is used, the code amount can be controlled such that if the amount of generated code is greater than the target code amount, the quantization parameter is set large, and if the amount of generated code is smaller than the target code amount, the quantization parameter is set small.
[0062] Code Amount Control (relationship of quantization parameter among R, G1, G2 and B)
[0063] It can be said that the planes generated by performing conversion into the planes R, G1, G2 and B in
[0064] In addition, regarding the subbands that represent frequency bands, it is said to be effective to set a large Qp for coefficient data of a subband whose space frequency is high, and to which humans are considered to be insensitive because of their visual characteristics.
[0065]
[0066] As shown in
[0067] Also, subbands of the same type at different decomposition levels have a relationship in which the value m in a subband at a higher level is half the value m in a subband at a lower level. Furthermore, subbands at the resolution level Lv3 represent lower frequency components, and from the viewpoint of image quality, a configuration may be adopted in which such subbands are not quantized regardless of the type of image and the image target code amount.
[0068] Note that the relationship of Qps shown in
[0069] The Qp initial setting as described above can be performed by the subband quantization setting unit 114 in advance. However, if a subband target code amount is not appropriate, there are cases where the Qp relationship deviates from the predetermined Qp relationship partway through the screen.
[0070] An example will be described in which the Qp relationship in the subbands deviates from the predetermined Qp relationship, with reference to
[0071] As in
[0072] However, here, a case is considered in which the same target code amount has been set for the HL, LH and HH subbands as shown by the reference numerals 55 to 57 in
[0073] A method for setting a subband target code amount in this embodiment will be described below in which the collapse of the predetermined Qp relationship as described above is prevented.
[0074] As shown in
[0075] The predetermined Qp relationship for the planes R, G1, G2 and B as in
[0076] The complexity is the integration amount of the amount of generated code and Qp as described using Expression (1), and is a parameter whose value is larger as the image is more difficult. In addition, relationship is adopted in which the larger Qp is, the smaller the amount of generated code becomes, and thus the complexity of a certain image, plane and subband is constant regardless of Qp. In view of this, the image target code amount of one frame (RAW image data) is distributed to four planes using the ratio of this complexity as the ratio of the target code amount.
[0077]
[0078] To summarize the above, a target code amount Tpl of a plane of interest is calculated using a target code amount Tpic (known) for one frame, an image complexity Xpic indicating the total of the plane complexities of the planes R, G1, G2 and B in the preceding frame, and a complexity Xpl of a plane of interest in the preceding frame, as expressed by the following expression (5).
Tpl=Tpic×Xpl/Xpic (5)
[0079] Note that Xpl and Xpic can be acquired by adding the subband complexities Xsb for one plane or one frame.
[0080] Next, a distribution method of subband target code amounts within one plane will be described. For simplification, first, the distribution method at the DWT decomposition level 1 will be described.
[0081]
[0082] As with the image target code amount being distributed to plane target code amounts, subband target code amounts are acquired by distributing a plane target code amount to the subbands.
[0083] The above ratio of complexities is also used in distribution to the subband target code amounts. However, if the target code amount is distributed using the complexities only, the Qp relationship between subbands will be 1:1 as described above. In view of this, the subband target code amounts are set by further using the predetermined Qp relationship in addition to this ratio of complexities.
[0084] Specifically, the ratio of complexities is multiplied by a predetermined weight αsb. The relationship of this predetermined weight among the subbands is set to LL:Lv1HL:Lv1LH:Lv1HH=1:1/2:1/2:1/4=4:2:2:1, namely, the inverse of the ratio of the predetermined Qp relationship such that the ratios of Qps will be LL:Lv1HL:Lv1LH:Lv1HH=1:2:2:4. The complexity is multiplied by the weight of a subband acquired in this manner, and the subband target code amount is set using the weighted complexity.
[0085] An example will be described below in which the above configuration is applied. Assume that the ratio of complexities of the subbands of a preceding frame is LL:Lv1HL:Lv1LH:Lv1HH=1:1:1:1. With reference to
[0086] If the subband target code amounts are provided in this manner, control operates such that the amount of generated code equals the target code amount according to Expression (1), and thus the ratio of Qps is LL:Lv1HL:Lv1LH:Lv1HH=1:2:2:4, which is the predetermined Qp relationship.
[0087] To summarize the above, the subband-of-interest target code amount that is based on the predetermined Qp relationship in
Tpl=(Tpl×XLL/Xpl×αLL+Tpl×XLv1HL/Xpl×αLv1HL+Tpl×XLv1LH/Xpl×αLv1LH+Tpl×XLv1HH/Xpl×αLv1HH)×βpl=Tpl/Xpl×βpl×(XLL×αLL+XLv1LH×αLv1LH+XLv1LH×αLv1LH+XLv1LH×αLv1LH) (6)
Tsb=Tpl×Xsb/Xpl×αsb×βpl (7)
[0088] Note that Xsb is the complexity of the subband of interest, αsb is the weight of the subband of interest, and βpl is an adjustment value for converging the total target code amount of the subbands included in a plane of interest to a plane-of-interest target code amount, and other variables whose initial character is X or T are a complexity or a target code amount of a subband indicated by a subband name provided after X or T.
[0089] Furthermore, the target code amount in the case where the number of times DWT is carried out in this embodiment is three, and the predetermined Qp relationship in the case in
Tpl−(TLL+TLv3HL+TLv3LH+TLv3HH)=Tpl/Xpl×βpl×(XLv2HL×αLv2HL+XLv2LH×αLv2LH+XLv2HH×αLv2HH+XLv1HL×αLv1HL+XLv1LH×αLv1LH+XLv1HH×αLv1HH) (8)
[0090] Note that a target code amount of the subband of interest to be subjected to quantization is expressed by Expression (7).
[0091] If there is a subband that is not to be quantized, the amount of generated code of a subband of interest of an immediately preceding frame whose correlation with the frame of interest is high is used directly as the target code amount of the subband that is not to be quantized, which is subtracted from the plane target code amount in advance, and thereby other subband target code amounts can be calculated using the same method as the example shown using Expression (7).
[0092] In addition, considering that the amount of generated code in a subband of the frame will be the same as a subband target code amount that has been set, initial Qp of the subband to be subjected to quantization can be calculated from Expression (1) by Xsb/Tsb, and the relationship of Qps among the subbands acquired in this manner will achieve the predetermined Qp relationship.
[0093] If the target code amounts of planes and subbands are set in this manner, the amounts of generated codes in the case where all the subbands are encoded with the predetermined Qp relationship can be predicted. Therefore, even if quantization control is performed in units of lines, convergence to subband target code amounts is enabled without deviation from initial Qps of the subbands that are set with the predetermined Qp relationship, and code amount control of the screen can be carried out.
[0094] With such a configuration, the target code amounts of planes and subbands can be set using the complexity of the image and the predetermined relationship of quantization parameter among the planes and the subbands, and the image quality can be improved.
[0095] Note that if frame correlation with the immediately preceding frame is low, there is a possibility that the value of complexity that is used is different from the value of complexity of the frame, and deviation from the predetermined Qp relationship occurs while encoding is being performed. However, in general, correlation between frames is sufficiently high, and problems such as described above do not occur. In addition, if the correlation between frames is low, this is called a scene change, and a code amount control method different from that in a normal case is generally used. Therefore, the above control may be adopted with respect to a scene change.
[0096] In the first embodiment, the plane converting unit 101 converts a RAW image for one frame that has been input into four planes R, G1, G2 and B, but the number of planes is not limited, and for example, setting the number of planes of RAW image data that is input to one, and performing processing after DWT and the like on the one plane is within the scope of the present invention. Similarly, also regarding DWT decomposition levels, the number of times decomposition is performed is not limited, and zero times of DWT being performed for directly quantizing the plane, and filtering up to a plurality of times of decomposition such as four times or more of DWT are also within the scope of this embodiment. Furthermore, similarly, the present invention is not limited to the concept of not quantizing Lv3 indicated by the predetermined quantization relationship, and for example, cases such as where only LL is not quantized at the DWT decomposition level 3 are also within the scope of the present invention. Moreover, in this embodiment, quantization control is performed for each line, but is not limited thereto, and carrying out quantization control for each rectangular block that is greater than or equal to 1 pixel×1 pixel is also within the scope of the present invention.
Second Embodiment
[0097] A second embodiment will be described below. An apparatus configuration of the second embodiment is the same as that in
[0098] Plane conversion is not limited to the method in
[0099] In view of this, in the case of performing plane separation for decomposing the Bayer array into a plurality of planes composed of a luminance plane and a color difference plane, the Qp relationship between planes should not be set to 1:1 as in the case of the planes R, G1, G2 and B described in the first embodiment. In this case, Qp of the luminance plane should be greater than Qp of the color difference plane as the predetermined Qp relationship.
[0100] In view of this, the concept of weighting described in the first embodiment is also adopted in distribution of a target code amount to the planes.
[0101] Letting the weight of a plane of interest that is derived from the relationship of the inverse of the predetermined Qp relationship be αpl, the target code amount of the plane of interest can be expressed as shown in Expression (9) below.
Tpl=Tpic×Xpl/Xpic×αpl×βpic (9)
[0102] Here, βpic is an adjustment value for converging the total target code amount of the planes included in an image of interest to an image-of-interest target code amount.
[0103] With such a configuration, also in the case where it is desired to perform encoding using a Qp that is different for each plane, target code amounts for planes and subbands can be set using the complexity of the image and the predetermined relationship of quantization parameter between the planes and between the subbands, and the image quality can be improved.
[0104] Note that the case where αpl is 1 and βpic is 1 in Expression (9) is equivalent to a method for setting a plane target code amount in the case where the Qp relationship between planes that is expressed by Expression (5) and has been described in the first embodiment is 1:1. Accordingly, to summarize the above, it is sufficient that the following is calculated in order to calculate subband target code amounts from the image target code amount. First, an image target code amount of a frame of interest is the total value of target code amounts of all the subbands, and can therefore be expressed as shown in Expression (10) below.
Tpic=ΣTsb (10)
[0105] Expression (10) indicates that the integration value of all the subband target code amounts when the image of the frame of interest is decomposed into planes and subbands is Tpic.
[0106] From Expressions (7), (8) and (10), the following expressions hold.
Tpic=Tpic/Xpic×Σ(Xsb×α′sb)×β′pic (11)
Tsb=Tpic/Xpic×(Xsb×α′sb)×β′pic (12)
[0107] Note that α′sb is a weight of the subband to which a weight of the plane has been added, and which has been acquired by multiplying the weight αpl of the plane and the weight αsb of the subband. β′pic is an adjustment value for converging the total target code amount of the subbands included in the image of interest to the image-of-interest target code amount.
[0108] Target code amounts of subbands can be derived without calculating a target code amount of a plane by using Expression (12), and the speed of the processing can be increased.
[0109] With such a configuration, the image quality can be improved by setting target code amounts of planes and subbands using the complexity of the image and the predetermined relationship of quantization parameter between the planes and between the subbands.
Other Embodiments
[0110] Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
[0111] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
[0112] This application claims the benefit of Japanese Patent Application No. 2016-118323, filed Jun. 14, 2016, which is hereby incorporated by reference herein in its entirety.