专利摘要:
The present invention relates to a picture coding apparatus capable of improving picture quality. The quantization scale calculator 43 calculates the coefficient of the quantization index based on the variance of the value of the motion vector residual output from the motion vector residual buffer unit 72 and the activity output from the activity buffer unit 73. The quantization scale calculation unit 43 calculates the quantization scale based on the coefficient of the quantization index calculated and the quantization index output from the quantization index calculation unit 42. The present invention can be applied to an MPEG type picture coding apparatus.
公开号:KR20040030424A
申请号:KR10-2003-7004951
申请日:2002-08-06
公开日:2004-04-09
发明作者:히데히꼬 모리사다;마꼬또 야마다
申请人:소니 가부시끼 가이샤;
IPC主号:
专利说明:

Image coding apparatus and method {IMAGE ENCODING APPARATUS AND METHOD}
[2] In recent years, image compression technology represented by Moving Picture Experts Group (MPEG) has been developed.
[3] Fig. 1 shows the structure of a conventional picture coding apparatus 1 using such MPEG.
[4] In FIG. 1, the macroblock dividing unit 11 inputs frame data, converts the data into macroblock data (hereinafter referred to as MB), and subtracts the converted MB data 19 and the quantization scale determination unit. (18) and the reference image generation unit 17 respectively output.
[5] The subtraction unit 19 subtracts the reference image data input from the reference image generation unit 17 from the MB data input from the macro block dividing unit 11 (adds the reference image data in reverse polarity to the MB data). ), The difference data is output to the DCT unit 12.
[6] The DCT unit 12 converts the difference data input from the subtracting unit 19 into DCT coefficients by performing a Discrete Consign Transform (DCT) process, and outputs the DCT coefficients to the quantization unit 13.
[7] The quantization unit 13 quantizes the DCT coefficient input from the DCT unit 12 based on the quantization scale input from the quantization scale determination unit 18, and outputs the quantized unit to the VLC unit 14 and the decode unit 16.
[8] The VLC unit 14 converts the quantized data input from the quantization unit 13 into a variable length code (VLC) by performing a variable length coding process, and outputs it to the transmission buffer unit 15.
[9] The transmission buffer unit 15 outputs the input VLC to the quantization scale determination unit 18. When the VLC of the entire frame is input, the transmission buffer unit 15 converts these VLC into data in units of frames and outputs the data as external bit stream data.
[10] In the decoding unit 16, the inverse quantization unit 21 inverse quantizes the quantized data input from the quantization unit 13 and outputs the inverse DCT unit 22.
[11] The inverse DCT unit 22 converts the inverse quantized data input from the inverse quantizer 21 into original image data by performing inverse DCT processing, and outputs it to the adder 34 of the reference image generator 17. .
[12] In the reference image generation unit 17, the addition unit 34 adds the image data input from the inverse DCT unit 22 and the reference image data corresponding to the image data input from the motion compensation buffer unit 31, The output signal is output to the motion compensation buffer unit 31 through the motion compensation unit 32.
[13] The motion compensation buffer unit 31 stores the image data input from the adder 34 through the motion compensation unit 32 as predicted image data of the next frame.
[14] The motion detection operation unit 33 detects a motion vector corresponding to the MB data input from the macro block division unit 11 and outputs the motion vector to the motion compensation unit 32.
[15] The motion compensation unit 32 performs motion compensation processing based on the motion vector input from the motion detection calculation unit 33. That is, the motion compensation unit 32 inputs the MB inputted to the subtraction unit 19 based on the motion vector input from the motion detection operation unit 33 among the predicted image data stored in the motion compensation buffer unit 31 in advance. The reference image data corresponding to the data of the data is read out and output to the subtraction unit 19.
[16] In the quantization scale determiner 18, the complexity calculator 46 calculates a complexity as a parameter representing the complexity of the VLC based on the VLC input from the transmit buffer 15. It outputs to the flexibility buffer part 45. FIG.
[17] The complexity buffer unit 45 temporarily stores the complexity input from the complexity calculator 46 and outputs it to the target code amount calculator 41 as appropriate.
[18] The target code amount calculation unit 41 calculates the target code amount based on the complexity input from the complexity buffer unit 45 and outputs the target code amount to the quantization index calculation unit 42.
[19] The quantization index calculator 42 calculates the quantization index based on the target code amount input from the target code amount calculator 41, and outputs the quantization index to the quantization scale calculator 43.
[20] The activity calculating unit 44 calculates an activity as a parameter representing the complexity of the data of each MB input from the macroblock dividing unit 11, and outputs the activity to the quantization scale calculating unit 43.
[21] The quantization scale calculator 43 calculates and outputs the quantization scale to the quantizer 13 based on the quantization index input from the quantization index calculator 42 and the activity input from the activity calculator 44.
[22] Next, the operation of the picture coding apparatus 1 will be described.
[23] The frame data is input to the macro block dividing unit 11, converted into data in units of MB, and output to the subtracting unit 19.
[24] From the MB data input to the subtraction section 19, the reference image data input to the subtraction section 19 from the reference image generation section 17 is subtracted, and the difference data is output to the DCT section 12.
[25] The difference data input to the DCT unit 12 is converted into DCT coefficients and output to the quantization unit 13. The DCT coefficients input to the quantization unit 13 are quantized based on the quantization scale input from the quantization scale calculation unit 43 to the quantization unit 13 and then input to the VLC unit 14.
[26] The quantized data input to the VLC section 14 is converted to VLC and output to the transmission buffer section 15.
[27] The VLC input to the transmission buffer section 15 is output to the complexity calculating section 46. When the VLC of the entire frame is input to the transmission buffer unit 15, these VLC are converted into data in units of frames and output to the outside as bit stream data.
[28] The quantized data input from the quantization unit 13 to the inverse quantization unit 21 is inversely quantized and output to the inverse DCT unit 22. The inverse quantized data input to the inverse DCT unit 22 is converted into original image data and output to the adder 34.
[29] The image data input to the adder 34 is added to the reference image data (reference image data subtracted from the MB data in the subtraction unit 19) previously stored in the motion compensation buffer unit 31 and decoded. .
[30] The decoded MB data is input to the motion compensation buffer unit 31 via the motion compensation unit 32 and stored as predicted image data of MB of the frame to be subsequently processed.
[31] The motion detection operation unit 33 detects a motion vector corresponding to the MB data input from the macro block division unit 11 and outputs the motion vector to the motion compensation unit 32.
[32] In the motion compensator 32, a motion compensation process corresponding to the motion vector input from the motion detection calculator 33 is performed. That is, among the predictive image data stored in the motion compensation buffer unit 31 in advance, the predictive image data of the position shifted by the minute corresponding to the motion vector from the position of the MB is read out, and as the reference image data of the MB, The subtraction unit 19 is output.
[33] In the quantization scale determination unit 18, the following three processes, that is, the processing of so-called TM5 (Test Model 5) in MPEG, are performed, whereby the quantization scale of MB is calculated and output to the quantization unit 13.
[34] (Step 1)
[35] VLC of k-1st processed MB (hereinafter, k-1st processed MB is referred to as MB-k-1) input from the complexity buffer unit 45 in the target code amount calculation unit 41. Based on the complexity value of, the target code amount of MB-k is calculated and output to the quantization index calculation unit 42.
[36] (Step 2)
[37] In the quantization index calculator 42, the virtual buffer occupancy amount of MB-k is calculated based on the target code amount of MB-k input from the target code amount calculator 41.
[38] Further, based on the virtual buffer occupancy amount of MB-k, the quantization index of MB-k is calculated and output to the quantization scale calculation unit 43.
[39] (Step 3)
[40] In the quantization scale calculation unit 43, the quantization scale is calculated based on the quantization index of MB-k input from the quantization index calculation unit 42 and the MB-k activity value input from the activity calculation unit 44, It is output to the quantization unit 13.
[41] By the way, it is known that the distribution degree of the information amount in the frame to be encoded is related to the visual characteristics of the frame, that is, the image quality.
[42] However, the image encoding device 1 calculates the quantization scale of each MB without referring to the distribution of the information amount of the frame, and quantizes each MB using the calculated quantization scale.
[43] For example, when MB-k is quantized based on the quantization scale of MB-k, the quantization scale of the MB-k (hereinafter referred to as MQUANT-k) is the following in TM5 (step 3). It is calculated by the equation (1).
[44]
[45] activity-k represents the activity of MB-k, and avgact represents the average value of the activities in the frame. Q-k represents the quantization index of MB-k.
[46] That is, the image encoding device 1 has a coefficient that takes a constant amplitude on the quantization scale based on the distribution of the information amount of the frame (in the example of Equation 1, having a range of 0.5 to 2, "(2 x activity-k + avgact) / (activity-k + 2 × avgact) ”) is multiplied by the quantization index.
[47] In addition, "the coefficient multiplied by a quantization index when a quantization scale is computed" is called "the coefficient of a quantization index" hereafter, and "the range which the quantization index coefficient can take" is called "the range of a quantization index". .
[48] For example, in Equation 1, "coefficient of quantization index" is "(2xactivity-k + avgact) / (activity-k + 2xavgact)", and "range of quantization index" is "0.5." To 2 ".
[49] As a result, there is a problem that the visual characteristics of the frame encoded by the image encoding device 1 deteriorate.
[50] <Start of invention>
[51] This invention is made | formed in view of such a situation, and is to make it possible to improve the image quality of an image.
[52] The picture coding apparatus of the present invention includes a first calculating means for calculating a dispersion of parameter values indicating the complexity of a block, a storage means for storing parameter values calculated by the first calculating means, and a parameter stored by the storage means. And second calculating means for calculating a range of the quantization indexes of the block based on the variance of the values.
[53] In the picture coding apparatus of the present invention, the parameter may be a motion vector residual of the block.
[54] In the picture coding apparatus of the present invention, the parameter can be an activity indicating the complexity of the block.
[55] In the picture coding apparatus of the present invention, the second calculating means can cause the range of the quantization index to be calculated discretely.
[56] The image encoding method of the present invention includes a first calculation step of calculating a variance of parameter values indicating the complexity of a block, a storage step of storing a variance of parameter values calculated by the processing of the calculation step, and a processing of the storage step. And a second calculating step of calculating the range of the quantization index of the block by using the variance of the parameter values stored by the method.
[57] The program of the recording medium of the present invention includes a first calculation step of calculating a distribution of parameter values indicating the complexity of a block, a storage step of storing a distribution of parameter values calculated by the processing of the calculation step, and a processing of the storage step. And a second calculating step of calculating the range of the quantization index of the block by using the variance of the parameter values stored by the method.
[58] The program of the present invention includes a first calculation step of calculating a dispersion of parameter values indicating complexity of a block, a storage step of storing parameter values calculated by the processing of the calculation step, and a parameter stored by the processing of the storage step. Using a variance of the values, the computer performs a second calculation step of computing the range of the quantization index of the block.
[59] In the picture coding apparatus and method, the recording medium, and the program of the present invention, the range of the quantization index of the block is calculated based on the variance of parameter values indicating the complexity of the block.
[1] The present invention relates to a picture coding apparatus and method, and more particularly, to a picture coding apparatus and method for improving the picture quality of an image.
[60] 1 is a block diagram showing a configuration example of a conventional picture coding apparatus.
[61] 2 is a block diagram showing a configuration example of a picture coding apparatus to which the present invention is applied.
[62] FIG. 3 is a flowchart for describing processing of a quantization scale determination unit of the picture coding apparatus of FIG. 2. FIG.
[63] 4 is a flowchart for explaining the details of a process of calculating the amplitude coefficient A of step S83 in FIG.
[64] FIG. 5 is a diagram illustrating a relationship between an amplitude coefficient A and a range of a quantization index calculated by the picture coding apparatus of FIG. 3.
[65] FIG. 6 is a diagram illustrating a procedure of frame processing encoded by the picture coding apparatus of FIG. 3. FIG.
[66] 7 is a block diagram showing another configuration example of a picture coding apparatus to which the present invention is applied.
[67] <The best form to perform invention>
[68] 2 shows an example of the configuration of a picture coding apparatus 61 to which the present invention is applied. The corresponding code | symbol is written together in the part corresponding to the conventional image coding apparatus 1 of FIG. 1, The description is abbreviate | omitted suitably.
[69] As shown in FIG. 2, the image encoding apparatus 61 includes a motion vector residual variance calculating unit 71, a motion vector residual buffer unit 72, and an activity buffer unit 73 with respect to the image encoding apparatus 1 of FIG. 1. And a macroblock buffer unit 74 are provided.
[70] In the example of FIG. 2, compared with the conventional example of FIG. 1, the motion detection operation unit 33 detects a motion vector (the motion vector of MB) corresponding to the data of each MB input from the macro block divider 11. In addition to the motion compensation unit 32, the motion vector residual of each MB is calculated and output to the motion vector residual variance calculating unit 71.
[71] The motion vector residual variance calculating unit 71 calculates the variance of the motion vector residual of each MB input from the motion detection calculating unit 33. Then, the motion vector residual variance calculating unit 71 calculates an amplitude coefficient based on the variance of the motion vector residual of each MB and outputs it to the motion vector residual buffer unit 72.
[72] The motion vector residual buffer unit 72 temporarily stores the amplitude coefficient input from the motion vector residual variance calculating unit 71, and outputs the amplitude coefficient appropriately to the quantization scale calculating unit 43.
[73] The macroblock buffer unit 74 temporarily stores the data of each MB input from the macroblock divider 11 and outputs the data to the subtraction unit 19 as appropriate.
[74] The activity buffer unit 73 will be described later.
[75] The other structure is the same as the case of FIG.
[76] Next, with reference to the flowchart of FIG. 3, operation | movement of the quantization scale determination part 18 of the image coding apparatus 61 of FIG. 2 is demonstrated (since other processes are the same as the case in FIG. 1, the description is demonstrated). Omit).
[77] As described above, the macroblock dividing unit 11 inputs frame data and converts the input frame data into MB.
[78] In this example, it is assumed that one frame data is converted into mbcnt MB data.
[79] The macro block dividing unit 11 outputs the data of MB-1 to MB-mbcnt to the macro block buffer unit 74, the activity calculating unit 44, and the motion detection calculating unit 33 in order.
[80] At this time, in step S81 of FIG. 3, the activity calculating unit 44 selects these activities (hereinafter referred to as MB-k activities) based on the data of MB-1 to MB-mbcnt input from the macroblock dividing unit 11. each of which is described as activity-k), and outputs it to the activity buffer unit 73.
[81] In step S82, the activity buffer unit 73 stores activity activities-1 to activit-mbcnt input from the activity calculating unit 44.
[82] On the other hand, the motion detection operation unit 33 converts these motion vector residuals (hereinafter referred to as MB-k motion vector residuals) into the bdv-k based on the data of MB-1 to MB-mbcnt inputted from the macroblock division unit 11. And the motion vector residuals bdv-1 to bdv-mbcnt are output to the motion vector residual variance calculating unit 71.
[83] At this time, in step S83, the motion vector residual variance calculating unit 71, based on the motion vector residuals bdv-1 to bdv-mbcnt input from the motion detection calculating unit 33, distributes the motion vector residual (hereinafter, bdv-var). ), And based on the variance bdv-var of the motion vector residual, the amplitude coefficient A is calculated and output to the motion vector residual variance buffer unit 72.
[84] The details of the process of this step S83, that is, the process of calculating the amplitude coefficient A of this example, are shown in FIG. Therefore, the detail of the process of calculating the amplitude coefficient A is demonstrated with reference to the flowchart of FIG.
[85] First, in step S101, for example, the following preset processing is performed.
[86] That is, in step S101, the counter (not shown) initially sets the count value j to one.
[87] Further, the motion vector residual variance calculating unit 71 sets the initial value bdv-sum-0 of the sum of the motion vector residuals (hereinafter, the sum of the j-th motion vector residuals to be referred to as bdv-sum-j) to 0. The initial value bdv-sum2-0 of the sum of squares of the motion vector residuals (hereinafter, the sum of the squares of the j-th motion vector residuals is described as bdv-sum2-j) is set to 0.
[88] In step S102, the motion vector residual variance calculating unit 71, based on the motion vector residual bdv-1 input from the motion detection calculating unit 33, sums the motion vector residual bdv-sum-1 and the motion vector residual two. The sum bdv-sum2-1 is calculated, for example, as expressed by the following equations (2) and (3).
[89]
[90]
[91] After the calculation of the sum bdv-sum-1 of the motion vector residuals and the sum sum of the motion vector residuals bdv-sum-2-1 is completed, in step S103, the counter increments the count value j by one ( In the current case j = 2)
[92] Then, in step S104, the determination unit (not shown) of the quantization scale determination unit 18 determines whether the count value j exceeds mbcnt.
[93] In step S104, when it is determined that the count value j does not exceed mbcnt (when it is determined that the count value j is equal to or smaller than mbcnt), the motion vector residual variance calculating unit 71 returns the processing to step S102. The process after that is repeated.
[94] That is, until it is counted to j = mbcnt, in step S102, the motion vector residual variance calculating unit 71 is, for example, the sum of the motion vector residuals bdv-sum-j according to the following equations (4) and (5), and Calculate the quadratic sum bdv-sum2-j of the vector residuals.
[95]
[96]
[97] If it is determined in step S104 that the count value j has exceeded mbcnt, i.e., the sum bdv-sum-mbcnt of the vector residual and the sum sum bdv-sum2-mbcnt of the vector residual are computed, the motion moves in step S105. The vector residual variance calculating unit 71 calculates the variance bdv-var of the motion vector residual by the following expression (6).
[98]
[99] In step S106, the motion vector residual variance calculating unit 71 calculates the amplitude coefficient A based on the variance bdv-var of the motion vector residual calculated in the processing of step S105, and calculates the calculated amplitude coefficient A into the motion vector residual variance buffer. Output to the unit 72.
[100] For example, the amplitude coefficient A is computed discretely based on the range of variance bdv-var of the motion vector residual. That is, the predetermined amplitude coefficient A is a coefficient in which the variance bdv-var of the motion vector residual within a certain range is regarded as a constant value.
[101] In this example, for example, the amplitude coefficient A is calculated when the variance bdv-var of the motion vector residual is less than 6000, and the amplitude coefficient A is calculated as 1, and when the variance bdv-var of the motion vector residual is 6000 or more and less than 12000, the amplitude coefficient. A is calculated to be 2 (standard value of TM5), and when the variance bdv-var of the motion vector residual is 12000 or more and less than 18000, the amplitude coefficient A is calculated to be 3 and the amplitude when the variance bdv-var of the motion vector residual is 18000 or more The coefficient A is calculated as four.
[102] Returning to Fig. 3, as described above, after the amplitude coefficient A is calculated in the process of step S83, in step S84, the motion vector residual component buffer unit 72 receives the amplitude input from the motion vector residual dispersion calculating unit 71. Record the coefficient A.
[103] If the processes of steps S81 to S84 are completed before the encoding process of MB1 (first MB) is performed, the order of the processes of steps S81 and S82 and steps S83 and S84 is not limited.
[104] When the processing in steps S81 to S84 is completed, in step S85, the counter (not shown) initially sets the count value i to one.
[105] Then, in the processing of steps S86 to S89, when the quantization scale determination unit 18 calculates the quantization scale of MB-i (hereinafter referred to as MQUANT-i), in step S90, the counter counts the count value i. Increment by 1
[106] Details of the processing in steps S86 to S89 will be described later.
[107] And in step S91, the determination part (not shown) of the quantization scale determination part 18 determines whether the count value i exceeds mbcnt.
[108] If it is determined in step S91 that the count value i has exceeded mbcnt, the quantization scale determination unit 18 ends the processing.
[109] In contrast, when it is determined in step S91 that the count value i does not exceed mbcnt (it is determined that the count value i is equal to or smaller than mbcnt), the quantization scale determination unit 18 transfers the processing to step S86. The process returns after that.
[110] For example, when the current count value i is i = k, the quantization scale MQUANT-k calculates in the processing of steps S86 to S89 as described above.
[111] That is, in step S86, the target code amount calculation unit 41 calculates the target code amount of MB-k (hereinafter referred to as Tk) based on the complexity supplied from the complexity buffer unit 45, The calculated target code amount Tk is output to the quantization index calculator 42.
[112] In step S87, the quantization index calculator 42 calculates the virtual buffer occupancy amount (hereinafter, referred to as dk) of MB-k based on the target code amount Tk input from the target code amount calculation unit 41.
[113] In step S88, the quantization index calculator 42 calculates the quantization index of MB-k (hereinafter referred to as Qk) based on the virtual buffer occupancy amount dk calculated in the process of step S87, and calculates the quantization index Qk by the quantization scale calculator. Output to (43).
[114] In step S89, the quantization scale calculation unit 43 inputs the quantization index Qk input from the quantization index calculation unit 42, the amplitude coefficient A input from the motion vector residual dispersion buffer unit 72, and the activity buffer unit 73. Based on one activity activity-k, the quantization scale MQUANT-k is calculated by Equation 7, for example, and output to the quantization unit 13.
[115]
[116] As described above, in step S90, the counter counts j = k + 1, and the quantization scale determination unit 18 repeats the processing of steps S86 to S90 to calculate the quantization scale MQUANT-k + 1.
[117] As described above, the "range of quantization index" of equation (7) is "(Axactivity-k + avgact) / (activity-k + Axavgact), and according to the value of amplitude coefficient A, Range "can be varied.
[118] For example, when amplitude coefficient A is 1, "the range of quantization index" of Formula (7) becomes "1 (integer)", and quantization scale MQUANT-k corresponds to quantization index Q-k.
[119] In addition, when amplitude coefficient A is one or more, the "range of quantization index" of Formula (7) is "1 / A-A".
[120] The amplitude coefficient A and the coefficient of the range of the quantization index which were computed by the image coding apparatus 61 of FIG. 2 are shown in FIG.
[121] 5 represents how many times the value of the activity / avgact, that is, the activity activity, is a multiple of the average value avgact of the activity in the frame, and the vertical axis represents the coefficient of the quantization index.
[122] For example, when data of a frame having a small variance bdv-var of the motion vector residual (less than 6000), that is, data of a frame having a small difference in the value of the motion vector residual bdv of each MB, is encoded as described above, step S106. In the processing of the amplitude coefficient A is calculated to be 1.
[123] In this case (when amplitude coefficient A is 1), as indicated by line 121, the coefficient of the quantization index of all MBs is 1, and the quantization scale of each MB in the frame is calculated as a substantially constant value.
[124] As a result, the frame can be encoded into a frame in which block noise at the boundary of the transformation of the activity is hard to see.
[125] In contrast, when data of a frame having a large variance bdv-var of the motion vector residual is encoded, that is, data of a frame having a large variation in the value of the motion vector residual bdv of each MB, the magnitude of the variance is increased in the processing of Step S106. The amplitude coefficient A is calculated from 2 to 4.
[126] That is, when the variance bdv-var of the motion vector residual is 6000 or more and less than 12000, the amplitude coefficient A is calculated by 2, and the range of the quantization index is 0.5 to 2, as indicated by the line 122.
[127] When the variance bdv-var of the motion vector residual is 12000 or more and less than 18000, the amplitude coefficient A is calculated by 3, and the range of the quantization index is 1/3 to 3, as indicated by the line 123.
[128] In addition, when the variance bdv-var of the motion vector residual is 18000 or more, the amplitude coefficient A is calculated by 4, and the range of the quantization index is 0.25 to 4 as indicated by the line 124.
[129] As described above, as the variance bdv-var of the motion vector residual increases, that is, as the variation in the value of the motion vector residual bdv of each MB increases, the range of the quantization index is expanded and the quantization scale of each MB to be calculated. Also fluctuates.
[130] As a result, as the data of the frame having a large variation in the value of the motion vector residual bdv of each MB, the information amount of MB having a large activity activity can be reduced and quantized.
[131] As described above, the image encoding apparatus 61 of FIG. 2 can improve the visual characteristics of the image, that is, the image quality, as compared with the conventional image encoding apparatus 1 of FIG. 1.
[132] In the above-described series of processes, for example, when the data of each frame is any one of the data of the I picture, the data of the P picture, and the data of the B picture, the macro block dividing unit 11 is performed in the following order. When the data of each frame is input at a predetermined period (1/30 [s] in the example of Fig. 6), the data of the frame is encoded in the following order.
[133] Hereinafter, the I picture is described as I, the P picture is described as P, the B picture is described as B, and the order of the processing is attached to the right side.
[134] That is, as shown in Figure 6 (B-(-2), B-(-1), I-0, B-1, B-2, P-3, B-4, B-5, P- It is assumed that data of each frame is input to the macroblock dividing unit 11 in the order of 6, ...). However, the time at which I-0 is input is referred to as reference (0).
[135] In this case, at time 0, the motion detection calculation unit 33 detects the motion vector of B-(-2), and also calculates the motion vector residual. Thereafter, a motion vector is detected every frame in the following order, and a motion vector residual is calculated.
[136] That is, every frame based on time 0, (B-(-2), B-(-1), I-0, P-3, B-1, B-2, P-6, B-4, Motion vectors are detected in the order of B-5, ...), and motion vector residuals are calculated.
[137] Thus, before the B picture (e.g., B-1 and B-2, or B-4 and B-5, etc.), the P picture (e.g., P-3, for B-1 and B-2, Alternatively, for B-4 and B-5, the motion vector of P-3) is detected, and the motion vector residual is calculated.
[138] Then, the above-described motion vector is detected and the order in which the motion vector residual is calculated, that is, (B-(-2), B-(-1), I-0, P-3, B-1, B-2, In the order of P-6, B-4, B-5, ..., the data of each frame is encoded and outputted from the transmission buffer unit 15 (in other words, before encoding is performed, The residual operation must be completed).
[139] The data of the frame of B-(-2) is encoded, and the timing output from the transmission buffer unit 15 is time 1, and then the data of each frame is processed and encoded for each frame in the above-described order. Goes.
[140] The above-described series of processes may be executed by hardware, but may also be executed by software. In this case, for example, the picture coding apparatus 131 is constituted by a personal computer as shown in FIG.
[141] In FIG. 7, a central processing unit (CPU) 141 is a program stored in a read only memory (ROM) 142 or a program loaded from a storage unit 148 into a random access memory (RAM) 143. Therefore, various processes are performed. The RAM 143 also appropriately stores data necessary for the CPU 141 to execute various processes.
[142] The CPU 141, the ROM 142, and the RAM 143 are connected to each other via the bus 144. The bus 144 is also connected to the input / output interface 145.
[143] The input / output interface 145 includes an input unit 146 composed of a keyboard, a mouse, etc., a display composed of a CRT, an LCD, etc., an output portion 147 composed of a speaker, etc., a storage portion 148 composed of a hard disk, a modem, A communication unit 149 composed of a terminal adapter or the like is connected. The communication unit 149 performs communication processing via a network including the Internet.
[144] The drive 150 is further connected to the input / output interface 145 as necessary, and the magnetic disk 161, the optical disk 162, the magneto-optical disk 163, the semiconductor memory 164, or the like is suitably mounted. The computer programs read from these are installed in the storage unit 148 as necessary.
[145] When a series of processes are executed by software, for example, a general-purpose personal computer or the like that can execute various functions by installing a computer in which a program constituting the software is assembled on dedicated hardware, or various programs, It is installed from a network or a recording medium.
[146] Unlike the main body of the apparatus as shown in FIG. 7, the recording medium is a magnetic disk 161 (including a floppy disk) on which a program is stored, which is distributed for providing a program to a user, and an optical disk 162. (Including Compact Disk-Read Only Memory (CD-ROM), Digital Versatile Disk (DVD)), magneto-optical disk 163 (including Mini-Disk (MD)), or semiconductor memory 164, or the like. It is not only composed of package media, but also a ROM 142 in which a program provided to a user is stored in a pre-assembled state in the apparatus main body, a hard disk included in the storage unit 148, and the like.
[147] Incidentally, in the present specification, the step of describing a program stored in the recording medium includes processing performed in time series according to the described order, as well as processing executed in parallel or separately, even if not necessarily in time series. .
[148] As described above, according to the picture coding apparatus and method of the present invention, since the range of the quantization index of the block is calculated based on the variance of parameter values indicating the complexity of the block, the picture quality of the picture can be improved.
权利要求:
Claims (7)
[1" claim-type="Currently amended] In the picture coding apparatus for coding a picture in units of blocks,
First calculating means for calculating a variance of a parameter value indicating the complexity of the block;
Storage means for storing a dispersion of the parameter values calculated by the first calculating means;
And second calculating means for calculating a range of the quantization index of the block based on the variance of the parameter values stored by the storage means.
[2" claim-type="Currently amended] The method of claim 1,
And the parameter is a motion vector residual of the block.
[3" claim-type="Currently amended] The method of claim 1,
And the parameter is an activity representing the complexity of the block.
[4" claim-type="Currently amended] The method of claim 1,
And the second calculating means discretely calculates the range of the quantization index.
[5" claim-type="Currently amended] In the image encoding method of an image encoding apparatus for encoding an image in units of blocks,
A first calculating step of calculating a variance of a parameter value indicating the complexity of the block;
A storage step of storing dispersions of the parameter values calculated by the processing in the first calculation step;
And a second calculation step of calculating a range of the quantization index of the block by using the variance of the parameter values stored by the processing of the storage step.
[6" claim-type="Currently amended] A program of an image encoding apparatus for encoding an image in units of blocks,
A first calculating step of calculating a variance of a parameter value indicating the complexity of the block;
A storage step of storing dispersions of the parameter values calculated by the processing in the first calculation step;
And a second calculation step of calculating a range of the quantization index of the block by using the variance of the parameter values stored by the processing of the storage step, wherein the computer-readable program is recorded. .
[7" claim-type="Currently amended] In a computer that controls an image encoding device that encodes an image in units of blocks,
A first calculating step of calculating a variance of a parameter value indicating the complexity of the block;
A storage step of storing dispersions of the parameter values calculated by the processing in the first calculation step;
A program for executing a second calculation step of calculating a range of a quantization index of the block by using the variance of the parameter values stored by the processing of the storage step.
类似技术:
公开号 | 公开日 | 专利标题
US10051284B2|2018-08-14|Method and apparatus for encoding/decoding the motion vectors of a plurality of reference pictures, and apparatus and method for image encoding/decoding using same
US8724704B2|2014-05-13|Apparatus and method for motion estimation and image processing apparatus
US6243421B1|2001-06-05|Apparatus for decoding coded video data with reduced memory size
US6801572B2|2004-10-05|Method and apparatus for image signal encoding
KR100987765B1|2010-10-13|Prediction method and apparatus in video encoder
KR100803611B1|2008-02-15|Method and apparatus for encoding video, method and apparatus for decoding video
US5937101A|1999-08-10|Post-processing device for eliminating blocking artifact and method therefor
US7680346B2|2010-03-16|Method and apparatus for encoding image and method and apparatus for decoding image using human visual characteristics
CA2017384C|1992-11-17|Transformation coding device
US7782953B2|2010-08-24|Optimal encoding of motion compensated video
JP3776921B2|2006-05-24|Image coding method
US4816914A|1989-03-28|Method and apparatus for efficiently encoding and decoding image sequences
JP4856954B2|2012-01-18|Image encoding device
US8345767B2|2013-01-01|Video encoding method, video encoding device, and video encoding program
US7336713B2|2008-02-26|Method and apparatus for encoding and decoding data
RU2479938C2|2013-04-20|Image processing apparatus, method and program
US6625216B1|2003-09-23|Motion estimation using orthogonal transform-domain block matching
US20120269449A1|2012-10-25|Method and apparatus for image encoding and image decoding
JP4724459B2|2011-07-13|Motion vector detection using adaptive time prediction
KR102003048B1|2019-07-23|Method and apparatus for video encoding, and method and apparatus for video decoding
US20120320992A1|2012-12-20|Enhancing compression quality using alternate reference frame
JP3824578B2|2006-09-20|Video coding method and apparatus having fixed amount of computation
US7801215B2|2010-09-21|Motion estimation technique for digital video encoding applications
US9967589B2|2018-05-08|Method and apparatus for updating predictions when coding motion information
US7444026B2|2008-10-28|Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
同族专利:
公开号 | 公开日
JP2003061097A|2003-02-28|
US7649940B2|2010-01-19|
EP1416736A1|2004-05-06|
EP1416736A4|2007-10-03|
WO2003017675A1|2003-02-27|
CN1473436A|2004-02-04|
CN1268133C|2006-08-02|
US20040066975A1|2004-04-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2001-08-09|Priority to JPJP-P-2001-00241543
2001-08-09|Priority to JP2001241543A
2002-08-06|Application filed by 소니 가부시끼 가이샤
2002-08-06|Priority to PCT/JP2002/008036
2004-04-09|Publication of KR20040030424A
优先权:
申请号 | 申请日 | 专利标题
JPJP-P-2001-00241543|2001-08-09|
JP2001241543A|JP2003061097A|2001-08-09|2001-08-09|Image encoder and image-encoding method, recording medium and program|
PCT/JP2002/008036|WO2003017675A1|2001-08-09|2002-08-06|Image encoding apparatus and method|
[返回顶部]