WO2011089972A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2011089972A1 WO2011089972A1 PCT/JP2011/050493 JP2011050493W WO2011089972A1 WO 2011089972 A1 WO2011089972 A1 WO 2011089972A1 JP 2011050493 W JP2011050493 W JP 2011050493W WO 2011089972 A1 WO2011089972 A1 WO 2011089972A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- unit
- intra prediction
- pixels
- predicted
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 169
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000008569 process Effects 0.000 claims description 56
- 238000004364 calculation method Methods 0.000 claims description 38
- 238000013139 quantization Methods 0.000 claims description 38
- 238000013213 extrapolation Methods 0.000 claims description 22
- 238000003672 processing method Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 239000000872 buffer Substances 0.000 abstract description 74
- 230000006870 function Effects 0.000 description 47
- 238000006243 chemical reaction Methods 0.000 description 41
- 230000000875 corresponding effect Effects 0.000 description 29
- 230000008707 rearrangement Effects 0.000 description 24
- 230000001413 cellular effect Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 239000013598 vector Substances 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 230000005236 sound signal Effects 0.000 description 15
- 230000009466 transformation Effects 0.000 description 15
- 238000007906 compression Methods 0.000 description 11
- 238000009825 accumulation Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 9
- 238000003786 synthesis reaction Methods 0.000 description 9
- 230000003321 amplification Effects 0.000 description 7
- 239000004973 liquid crystal related substance Substances 0.000 description 7
- 238000003199 nucleic acid amplification method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000001228 spectrum Methods 0.000 description 6
- 239000012536 storage buffer Substances 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of improving coding efficiency in intra prediction even when the block size is large.
- MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image encoding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images.
- MPEG2 is currently widely used in a wide range of applications for professional and consumer applications.
- a code amount (bit rate) of 4 to 8 Mbps is assigned to an interlaced scanned image having a standard resolution of 720 ⁇ 480 pixels.
- a high resolution interlaced scanned image having 1920 ⁇ 1088 pixels is assigned a code amount (bit rate) of 18 to 22 Mbps.
- bit rate code amount
- MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
- H. The standardization of 26L (ITU-T Q6 / 16 ⁇ VCEG) is in progress.
- H. 26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
- this H. Based on 26L, H. Standardization to achieve higher coding efficiency by incorporating functions that are not supported by 26L is performed as JointJModel of Enhanced-Compression Video Coding.
- H. H.264 and MPEG-4 Part 10 Advanced Video Coding, hereinafter referred to as H.264 / AVC).
- the intra prediction method nine types of 4 ⁇ 4 pixel and 8 ⁇ 8 pixel block units and four types of 16 ⁇ 16 pixel macroblock unit intra prediction modes are defined for luminance signals.
- For color difference signals four types of 8 ⁇ 8 pixel block-unit intra prediction modes are defined.
- the color difference signal intra prediction mode can be set independently of the luminance signal intra prediction mode.
- the macroblock size is 16 ⁇ 16 pixels.
- the macroblock size of 16 ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition: 4000 ⁇ 2000 pixels) that is the target of the next-generation encoding method.
- Non-Patent Document 1 it is also proposed to expand the macroblock size to a size of 32 ⁇ 32 pixels, for example.
- Non-Patent Document 1 is a proposal to apply an extended macroblock to an inter slice, but Non-Patent Document 2 proposes to apply an extended macroblock to an intra slice. Yes.
- FIG. 1A shows a case where the block is 4 ⁇ 4 pixels
- FIG. 1B shows a case where the block is 8 ⁇ 8 pixels.
- 1A and 1B represent pixels
- white circles represent pixels in the block
- hatched circles represent pixels used for prediction.
- the alphabet in the circle represents the pixel value of each pixel.
- the pixel value A is used as a predicted value for the pixels having the pixel values a to d as shown in FIG.
- the pixel value A is used as the predicted value for the pixels having the pixel values a to h.
- the present invention has been made in view of such a situation, and improves the encoding efficiency in intra prediction.
- An image processing apparatus includes a receiving unit that receives adjacent pixels of a plurality of lines of a target block, and extrapolation processing by polynomial approximation using the adjacent pixels of the plurality of lines received by the receiving unit. And performing intra prediction means for generating an intra prediction pixel value of the target block, and encoding means for encoding an image of the target block based on the generated intra prediction pixel value of the target block. .
- the intra prediction means uses a parameter calculation means for calculating an interpolation parameter by polynomial approximation using adjacent pixels of the plurality of lines, and an intra prediction pixel of the target block using the interpolation parameter calculated by the parameter calculation means.
- Predictive image generation means for generating a value.
- the intra prediction means can perform extrapolation processing by N-1 degree polynomial approximation when using adjacent pixels of N (N ⁇ 1) lines received by the receiving means.
- the parameter calculating means calculates N constants of the N ⁇ 1th order polynomial by solving Nth order simultaneous equations using adjacent pixels of the N line, and the predicted image generating means
- the intra prediction pixel value of the target block can be generated by the N ⁇ 1 order polynomial using the N constants calculated by the calculation unit.
- the predicted image generation means can clip the generated intra predicted pixel value to a value in the range of 0 to 2 N ⁇ 1.
- the intra-prediction means can perform extrapolation processing by polynomial approximation of the order according to the detection result of detecting whether or not an object boundary is included in adjacent pixels of the N line received by the receiving means. .
- the intra prediction means can determine whether or not the object boundary is based on difference information between pixels in adjacent pixels.
- the intra prediction means can determine whether or not the object boundary is based on difference information between adjacent pixels using a threshold value determined according to a quantization parameter.
- the threshold is set larger for a larger quantization parameter.
- the intra prediction means can use a number of adjacent pixels of the plurality of lines according to the block size of the target block.
- the receiving unit of the image processing apparatus receives adjacent pixels of a plurality of lines of the target block, and the intra prediction unit of the image processing apparatus receives the plurality of received target blocks.
- An intra prediction pixel value of the target block is generated by performing extrapolation processing by polynomial approximation using adjacent pixels of the line, and the encoding unit of the image processing device generates the intra prediction pixel of the target block thus generated. Based on the value, the image of the target block is encoded.
- adjacent pixels of a plurality of lines of the target block are received, and extrapolation processing by polynomial approximation is performed using the received adjacent pixels of the plurality of lines of the target block.
- An intra prediction pixel value of a block is generated, and an image of the target block is encoded based on the generated intra prediction pixel value of the target block.
- An image processing apparatus includes a decoding unit that decodes encoded information in which an image of a target block is encoded to acquire an intra prediction mode, and the target block corresponding to the intra prediction mode.
- a receiving unit that receives adjacent pixels of a plurality of lines, and an intra that generates an intra-predicted pixel value of the target block by performing extrapolation processing by polynomial approximation using the adjacent pixels of the plurality of lines received by the receiving unit. Prediction means.
- the decoding means of the image processing device acquires the intra prediction mode by decoding the encoded information obtained by encoding the image of the target block, and receives the image processing device.
- Means receives adjacent pixels of a plurality of lines of the target block according to the intra prediction mode, and the intra prediction means of the image processing device uses polynomial approximation by using the received adjacent pixels of the plurality of lines of the target block An intra prediction pixel value of the target block is generated by performing extrapolation processing.
- encoded information obtained by encoding an image of a target block is decoded to obtain an intra prediction mode, and adjacent pixels of a plurality of lines of the target block corresponding to the intra prediction mode are obtained.
- An intra prediction pixel value of the target block is generated by performing extrapolation processing by polynomial approximation using the received neighboring pixels of the plurality of lines.
- the above-described image processing apparatus may be an independent apparatus, or may be an internal block constituting one image encoding apparatus or image decoding apparatus.
- encoding efficiency in intra prediction can be improved. According to the present invention, it is possible to improve coding efficiency particularly in intra prediction with a large block size.
- FIG. 3 is a flowchart for describing an encoding process of the image encoding device in FIG. 2. It is a flowchart explaining the intra prediction process of FIG.19 S21. It is a flowchart explaining the inter motion prediction process of step S22 of FIG. 4 is a flowchart for explaining a polynomial approximation order determination process of the image encoding device in FIG. 2. It is a block diagram which shows the structure of one Embodiment of the image decoding apparatus to which this invention is applied. It is a block diagram which shows the structural example of the intra estimation part of FIG. 23, and a spline interpolation part.
- FIG. 2 shows a configuration of an embodiment of an image encoding apparatus as an image processing apparatus to which the present invention is applied.
- This image encoding device 51 is, for example, H.264.
- the image is compression-encoded by an encoding method based on H.264 and MPEG-4 Part 10 (Advanced Video Coding) (hereinafter referred to as H.264 / AVC).
- the image encoding device 51 includes an A / D conversion unit 61, a screen rearrangement buffer 62, a calculation unit 63, an orthogonal transformation unit 64, a quantization unit 65, a lossless encoding unit 66, a storage buffer 67, Inverse quantization unit 68, inverse orthogonal transform unit 69, operation unit 70, deblock filter 71, frame memory 72, intra prediction unit 73, line buffer 74, spline interpolation unit 75, motion prediction / compensation unit 76, prediction image selection unit 77 and a rate control unit 78.
- the A / D converter 61 A / D converts the input image, outputs it to the screen rearrangement buffer 62, and stores it.
- the screen rearrangement buffer 62 rearranges the stored frame images in the display order in the order of frames for encoding in accordance with GOP (Group of Picture).
- the calculation unit 63 subtracts the prediction image from the intra prediction unit 73 or the prediction image from the motion prediction / compensation unit 76 selected by the prediction image selection unit 77 from the image read from the screen rearrangement buffer 62, The difference information is output to the orthogonal transform unit 64.
- the orthogonal transform unit 64 subjects the difference information from the calculation unit 63 to orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform, and outputs the transform coefficient.
- the quantization unit 65 quantizes the transform coefficient output from the orthogonal transform unit 64.
- the quantized transform coefficient that is the output of the quantization unit 65 is input to the lossless encoding unit 66, where lossless encoding such as variable length encoding and arithmetic encoding is performed and compressed.
- the lossless encoding unit 66 acquires information indicating intra prediction from the intra prediction unit 73 and acquires information indicating inter prediction mode from the motion prediction / compensation unit 76.
- information indicating intra prediction is hereinafter also referred to as intra prediction mode information.
- information indicating an information mode indicating inter prediction is hereinafter also referred to as inter prediction mode information.
- the lossless encoding unit 66 encodes the quantized transform coefficient, encodes information indicating intra prediction, information indicating inter prediction mode, a quantization parameter, and the like. To do.
- the lossless encoding unit 66 supplies the encoded data to the accumulation buffer 67 for accumulation.
- lossless encoding processing such as variable length encoding or arithmetic encoding is performed.
- variable length coding include H.264.
- CAVLC Context-Adaptive Variable Length Coding
- arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
- the accumulation buffer 67 converts the data supplied from the lossless encoding unit 66 to H.264. As a compressed image encoded by the H.264 / AVC format, for example, it is output to a recording device or a transmission path (not shown) in the subsequent stage.
- the quantized transform coefficient output from the quantization unit 65 is also input to the inverse quantization unit 68, and after inverse quantization, the inverse orthogonal transform unit 69 further performs inverse orthogonal transform.
- the output subjected to the inverse orthogonal transform is added to the predicted image supplied from the predicted image selection unit 77 by the calculation unit 70, and becomes a locally decoded image.
- the deblocking filter 71 removes block distortion from the decoded image, and then supplies the deblocking filter 71 to the frame memory 72 for accumulation.
- the image before the deblocking filter processing by the deblocking filter 71 is also supplied to the frame memory 72 and accumulated.
- an I picture, a B picture, and a P picture from the screen rearrangement buffer 62 are supplied to the intra prediction unit 73 as images for intra prediction (also referred to as intra processing). Further, the B picture and the P picture read from the screen rearrangement buffer 62 are supplied to the motion prediction / compensation unit 76 as an image to be inter predicted (also referred to as inter processing).
- the intra prediction unit 73 performs intra prediction processing of all candidate intra prediction modes on the image to be intra predicted read from the screen rearrangement buffer 62, and generates a prediction image.
- the intra prediction unit 73 generates an intra prediction pixel value of the target block by performing extrapolation processing by polynomial approximation using adjacent pixels of a plurality of lines stored in the line buffer 74 together with the spline interpolation unit 75. To do.
- the intra prediction unit 73 supplies information on candidate intra prediction modes to the spline interpolation unit 75.
- the spline interpolation unit 75 supplies polynomial parameters (interpolation parameters) for approximating adjacent pixels and pixels of the target block for intra prediction using adjacent pixel values corresponding to the intra prediction mode.
- the intra prediction unit 73 generates an intra prediction image of a candidate intra prediction mode using a polynomial using the parameter from the spline interpolation unit 75.
- the intra prediction unit 73 calculates a cost function value for the intra prediction mode in which the predicted image is generated, and selects an intra prediction mode in which the calculated cost function value gives the minimum value as the optimal intra prediction mode.
- the intra prediction unit 73 supplies the predicted image generated in the optimal intra prediction mode and the cost function value calculated for the corresponding optimal intra prediction mode to the predicted image selection unit 77.
- the intra prediction unit 73 supplies information indicating the optimal intra prediction mode to the lossless encoding unit 66.
- the lossless encoding unit 66 encodes this information and uses it as a part of header information in the compressed image.
- the line buffer 74 stores the pixel values of the reference image from the frame memory 72.
- the line buffer 74 is supplied from the spline interpolation unit 75 with the address of the adjacent pixel corresponding to the intra prediction mode.
- the line buffer 74 supplies the pixel value of the adjacent pixel corresponding to the address to the spline interpolation unit 75.
- the spline interpolation unit 75 uses the adjacent pixel value supplied from the line buffer 74 corresponding to the address of the adjacent pixel corresponding to the intra prediction mode from the intra prediction unit 73, and calculates a polynomial interpolation parameter for intra prediction. Calculation is performed by polynomial approximation, and the calculated interpolation parameter is supplied to the intra prediction unit 73.
- the motion prediction / compensation unit 76 performs motion prediction / compensation processing for all candidate inter prediction modes. That is, the inter prediction image read from the screen rearrangement buffer 62 and the reference image from the frame memory 72 are supplied to the motion prediction / compensation unit 76.
- the motion prediction / compensation unit 76 detects motion vectors of all candidate inter prediction modes based on the inter-processed image and the reference image, performs compensation processing on the reference image based on the motion vector, and obtains the predicted image. Generate.
- the motion prediction / compensation unit 76 calculates cost function values for all candidate inter prediction modes.
- the motion prediction / compensation unit 76 determines the prediction mode that gives the minimum value among the calculated cost function values as the optimal inter prediction mode.
- the motion prediction / compensation unit 76 supplies the predicted image generated in the optimal inter prediction mode and its cost function value to the predicted image selection unit 77.
- the motion prediction / compensation unit 76 transmits information indicating the optimal inter prediction mode (inter prediction mode information) to the lossless encoding unit 66. Output.
- the lossless encoding unit 66 performs lossless encoding processing such as variable length encoding and arithmetic encoding on the information from the motion prediction / compensation unit 76 and inserts the information into the header portion of the compressed image.
- the predicted image selection unit 77 determines an optimal prediction mode from the optimal intra prediction mode and the optimal inter prediction mode based on each cost function value output from the intra prediction unit 73 or the motion prediction / compensation unit 76. Then, the predicted image selection unit 77 selects a predicted image in the determined optimal prediction mode and supplies the selected predicted image to the calculation units 63 and 70. At this time, the predicted image selection unit 77 supplies the prediction image selection information to the intra prediction unit 73 or the motion prediction / compensation unit 76.
- the rate control unit 78 controls the quantization operation rate of the quantization unit 65 based on the compression parameters stored in the storage buffer 67 using the quantization parameter so that overflow or underflow does not occur.
- the intra prediction mode for luminance signals will be described.
- three methods are defined: an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, and an intra 16 ⁇ 16 prediction mode.
- This is a mode for determining a block unit, and is set for each macroblock.
- an intra prediction mode independent of the luminance signal can be set for each macroblock.
- one prediction mode can be set from nine types of prediction modes for each target block of 4 ⁇ 4 pixels.
- one prediction mode can be set from nine types of prediction modes for each target block of 8 ⁇ 8 pixels.
- one prediction mode can be set from four types of prediction modes for a target macroblock of 16 ⁇ 16 pixels.
- the intra 4 ⁇ 4 prediction mode, the intra 8 ⁇ 8 prediction mode, and the intra 16 ⁇ 16 prediction mode will be referred to as 4 ⁇ 4 pixel intra prediction mode, 8 ⁇ 8 pixel intra prediction mode, and 16 ⁇ , respectively. It is also referred to as 16-pixel intra prediction mode as appropriate.
- numerals -1 to 25 attached to each block indicate the bit stream order (processing order on the decoding side) of each block.
- the macroblock is divided into 4 ⁇ 4 pixels, and DCT of 4 ⁇ 4 pixels is performed. Only in the case of the intra 16 ⁇ 16 prediction mode, as shown in the block of ⁇ 1, the DC components of each block are collected to generate a 4 ⁇ 4 matrix, and further, orthogonal transformation is performed on this. Is done.
- the color difference signal after the macroblock is divided into 4 ⁇ 4 pixels and the DCT of 4 ⁇ 4 pixels is performed, the DC components of each block are collected as shown in the blocks 16 and 17. A 2 ⁇ 2 matrix is generated, and is further subjected to orthogonal transformation.
- FIG. 4 and 5 are diagrams showing 9 types of luminance signal 4 ⁇ 4 pixel intra prediction modes (Intra — 4 ⁇ 4_pred_mode).
- Each of the eight types of modes other than mode 2 indicating average value (DC) prediction corresponds to the directions indicated by the numbers 0, 1, 3 to 8 in FIG.
- the pixels a to p represent the pixels of the target block to be intra-processed
- the pixel values A to M represent the pixel values of the pixels belonging to the adjacent blocks. That is, the pixels a to p are images to be processed that are read from the screen rearrangement buffer 62, and the pixel values A to M are pixel values of a decoded image that is read from the frame memory 72 and referred to. It is.
- the prediction pixel values of the pixels a to p are generated as follows using the pixel values A to M of the pixels belonging to the adjacent blocks.
- the pixel value “available” indicates that the pixel value can be used without any reason such as being at the end of the image frame or not yet encoded.
- the pixel value “unavailable” indicates that the pixel value is not usable because it is at the end of the image frame or has not been encoded yet.
- Mode 0 is the Vertical Prediction mode, and is applied only when the pixel values A to D are “available”.
- the predicted pixel values of the pixels a to p are generated as in the following formula (1).
- Mode 1 is a horizontal prediction mode and is applied only when the pixel values I to L are “available”.
- the predicted pixel values of the pixels a to p are generated as in the following Expression (2).
- Predicted pixel value of pixels a, b, c, d I
- Predicted pixel value of pixels e, f, g, h J
- Predicted pixel value of pixels i, j, k, l K
- Predicted pixel value of pixels m, n, o, p L (2)
- Mode 2 is a DC Prediction mode, and when the pixel values A, B, C, D, I, J, K, and L are all “available”, the predicted pixel value is generated as shown in Expression (3). (A + B + C + D + I + J + K + L + 4) >> 3 (3)
- Mode 3 is a Diagonal_Down_Left Prediction mode, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”. In this case, the predicted pixel values of the pixels a to p are generated as in the following Expression (6).
- Mode 4 is a Diagonal_Down_Right Prediction mode, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”. In this case, the predicted pixel values of the pixels a to p are generated as in the following Expression (7).
- Mode 5 is a Diagonal_Vertical_Right Prediction mode, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”. In this case, the predicted pixel values of the pixels a to p are generated as in the following Expression (8).
- Mode 6 is a Horizontal_Down Prediction mode, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”.
- the predicted pixel values of the pixels a to p are generated as in the following Expression (9).
- Mode 7 is Vertical_Left Prediction mode, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”.
- the predicted pixel values of the pixels a to p are generated as in the following Expression (10).
- Mode 8 is a Horizontal_Up Prediction mode, and is applied only when the pixel values A, B, C, D, I, J, K, L, and M are “available”. In this case, the predicted pixel values of the pixels a to p are generated as in the following Expression (11).
- a 4 ⁇ 4 pixel intra prediction mode (Intra_4x4_pred_mode) encoding method for luminance signals will be described with reference to FIG.
- a target block C that is 4 ⁇ 4 pixels and is an encoding target is illustrated, and a block A and a block B that are 4 ⁇ 4 pixels adjacent to the target block C are illustrated.
- Intra_4x4_pred_mode in the target block C and Intra_4x4_pred_mode in the block A and the block B are highly correlated.
- Intra_4x4_pred_mode in the block A and the block B are respectively Intra_4x4_pred_modeA and Intra_4x4_pred_modeB, and MostProbableMode is defined as the following equation (12).
- MostProbableMode Min (Intra_4x4_pred_modeA, Intra_4x4_pred_modeB) (12)
- MostProbableMode the one to which a smaller mode_number is assigned is referred to as MostProbableMode.
- prev_intra4x4_pred_mode_flag [luma4x4BlkIdx]
- rem_intra4x4_pred_mode [luma4x4BlkIdx]
- Intra_4x4_pred_mode and Intra4x4PredMode [luma4x4BlkIdx] for the target block C can be obtained.
- FIG. 9 and FIG. 10 are diagrams illustrating nine kinds of luminance signal 8 ⁇ 8 pixel intra prediction modes (Intra_8 ⁇ 8_pred_mode).
- the pixel value in the target 8 ⁇ 8 block is p [x, y] (0 ⁇ x ⁇ 7; 0 ⁇ y ⁇ 7), and the pixel value of the adjacent block is p [-1, -1],. [-1,15], p [-1,0], ..., [p-1,7].
- a low-pass filtering process is performed on adjacent pixels prior to generating a prediction value.
- the pixel values before the low-pass filtering process are p [-1, -1], ..., p [-1,15], p [-1,0], ... p [-1,7], and after the process Are represented as p ′ [ ⁇ 1, ⁇ 1],..., P ′ [ ⁇ 1,15], p ′ [ ⁇ 1,0],... P ′ [ ⁇ 1,7].
- p ′ [0, -1] is calculated as in the following equation (14) when p [-1, -1] is “available”, and when “not available” Is calculated as in the following equation (15).
- p '[0, -1] (p [-1, -1] + 2 * p [0, -1] + p [1, -1] + 2) >> 2
- p '[0, -1] (3 * p [0, -1] + p [1, -1] + 2) >> 2 ...
- p '[x, -1] (p [x-1, -1] + 2 * p [x, -1] + p [x + 1, -1] + 2) >> 2 ...
- p '[x, -1] (p [x-1, -1] + 2 * p [x, -1] + p [x + 1, -1] + 2) >> 2
- p '[15, -1] (p [14, -1] + 3 * p [15, -1] + 2) >> 2 ... (17)
- p '[-1, -1] is calculated as follows when p [-1, -1] is "available”. That is, p ′ [ ⁇ 1, ⁇ 1] is calculated as in Expression (18) when both p [0, ⁇ 1] and p [ ⁇ 1,0] are available, and p [ -1,0] is “unavailable”, it is calculated as in equation (19). Further, p ′ [ ⁇ 1, ⁇ 1] is calculated as in Expression (20) when p [0, ⁇ 1] is “unavailable”.
- p '[-1, -1] (p [0, -1] + 2 * p [-1, -1] + p [-1,0] + 2) >> 2 ...
- p '[-1,0] (p [-1, -1] + 2 * p [-1,0] + p [-1,1] + 2) >> 2 ...
- p '[-1,0] (3 * p [-1,0] + p [-1,1] + 2) >> 2 (22)
- p [-1, y] (p [-1, y-1] + 2 * p [-1, y] + p [-1, y + 1] + 2) >> 2
- p '[-1,7] (p [-1,6] + 3 * p [-1,7] + 2) >> 2 ... (24)
- the predicted value pred8x8 L [x, y] is generated as in the following Expression (25).
- pred8x8 L [x, y] (p '[14, -1] + 3 * p [15, -1] + 2) >> 2 ...
- red8x8 L [x, y] (p '[x + y, -1] + 2 * p' [x + y + 1, -1] + p '[x + y + 2, -1] + 2) >> 2 ... (32)
- pred8x8 L [x, y] (p '[x + (y >> 1),-1] + p' [x + (y >> 1) + 1, -1] + 1) >> 1 ...
- 11 and 12 are diagrams illustrating 16 ⁇ 16 pixel intra prediction modes (Intra — 16 ⁇ 16_pred_mode) of four types of luminance signals.
- the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following Expression (53).
- the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following equation (54).
- the predicted pixel value Pred (x, y) of each pixel is generated as in the following equation (55).
- the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following Expression (58).
- FIG. 14 is a diagram illustrating four types of color difference signal intra prediction modes (Intra_chroma_pred_mode).
- the color difference signal intra prediction mode can be set independently of the luminance signal intra prediction mode.
- the intra prediction mode for the color difference signal is in accordance with the 16 ⁇ 16 pixel intra prediction mode of the luminance signal described above.
- the 16 ⁇ 16 pixel intra prediction mode of the luminance signal is intended for a block of 16 ⁇ 16 pixels
- the intra prediction mode for the color difference signal is intended for a block of 8 ⁇ 8 pixels.
- the mode numbers do not correspond to each other.
- the predicted pixel value Pred (x, y) of each pixel is generated as in the following equation (59).
- the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following Expression (62).
- the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following Expression (63).
- the predicted pixel value Pred (x, y) of each pixel of the target macroblock A is generated as in the following Expression (64).
- the luminance signal intra prediction modes include nine types of 4 ⁇ 4 pixel and 8 ⁇ 8 pixel block units, and four types of 16 ⁇ 16 pixel macroblock unit prediction modes. This block unit mode is set for each macroblock unit.
- the color difference signal intra prediction modes include four types of prediction modes in units of 8 ⁇ 8 pixel blocks. This color difference signal intra prediction mode can be set independently of the luminance signal intra prediction mode.
- the 4 ⁇ 4 pixel intra prediction mode (intra 4 ⁇ 4 prediction mode) and the 8 ⁇ 8 pixel intra prediction mode (intra 8 ⁇ 8 prediction mode) of the luminance signal are 4 ⁇ 4 pixels and 8 ⁇ 8 pixels.
- One intra prediction mode is set for each block of luminance signals.
- 16 ⁇ 16 pixel intra prediction mode for luminance signals (intra 16 ⁇ 16 prediction mode) and the intra prediction mode for color difference signals one prediction mode is set for one macroblock.
- Prediction mode 2 is average value prediction.
- FIG. 15A illustrates a Vertical Prediction method when the block size is 8 ⁇ 8 pixels.
- White circles represent the block pixels, and hatched circles represent adjacent pixels used for Vertical Prediction.
- H. In the case of the H.264 / AVC format, only adjacent pixels for one line are used for intra prediction, but in the image encoding device 51, adjacent pixels for a plurality of lines (four lines in the example of FIG. 15A). Pixels are used.
- FIG. 15B shows an example in which each vertical line in FIG. 15A is viewed in the direction of the arrow.
- P (x) related to the pixel value of the adjacent pixel is a known value
- the pixel value of the block pixel is a predicted value, that is, an unknown value. In the image encoding device 51, an unknown value is obtained from a known value.
- the predicted pixel value for the block is obtained. . That is, in this case, when four lines of adjacent pixels are used, four constants of a third-order polynomial are calculated by solving a fourth-order simultaneous equation, and a third-order polynomial using the four constants. Thus, an intra predicted image is generated. That is, a cubic polynomial using the calculated four constants can be said to be a polynomial that approximates four lines of adjacent pixels and eight corresponding block pixels as shown in FIG. 15B.
- P (0) to P (7) are pixel values, if the input image signal is N bits, it is necessary to perform clipping processing to a value in the range of 0 to 2 N ⁇ 1.
- the parameters a, b, c, and d can be calculated with the same processing on the decoding side, so there is no need to add them to the header of the compressed image.
- an intra prediction image is generated by performing extrapolation processing by polynomial approximation using adjacent pixels of a plurality of lines.
- This extrapolation processing by polynomial approximation is processing performed by the intra prediction unit 73 and the spline interpolation unit 75, and is also referred to as spline interpolation.
- the parameters a, b, c, and d are also referred to as spline parameters or interpolation parameters.
- the accuracy of intra prediction is improved, and the coding efficiency can be improved.
- the pixels used for intra prediction are an example of pixels for four lines has been described, but it may be two lines or more, and is not limited to four lines. That is, when adjacent pixels for N lines are used, N constants of an N ⁇ 1 order polynomial are calculated by solving an Nth order simultaneous equation, and N ⁇ 1 order polynomials using N constants are calculated. An intra prediction image is generated by the polynomial. Further, for example, a larger number of lines may be used according to the block size.
- the prediction accuracy is higher when approximation is performed using a higher-order polynomial using all the pixels in the k columns.
- the following method determines how much of the k columns of line buffers secured in the line buffer 74 are to be used. That is, first, the difference values
- the prediction efficiency is higher when the second-order polynomial approximation using n 0 , n 1 , and n 2 is used than when the polynomial approximation using pixel values after n 3 is performed.
- ⁇ is set to a larger value for a larger quantization parameter. This is because when encoding is performed with a larger quantization parameter, the value of
- the accuracy can be improved by increasing the number of lines.
- the number of lines in the line memory increases accordingly, the cost also increases.
- an 8 ⁇ 8 pixel block has been described as an example, but the scope of application of the present invention is not limited to this, and the present invention can be applied to pixel blocks of any size. That is, the present invention can also be applied to an extended macroblock as shown in FIG.
- FIG. 17 is a diagram showing an example of the block size proposed in Non-Patent Document 1 or 2.
- the macroblock size is expanded to 32 ⁇ 32 pixels.
- a macro block composed of 32 ⁇ 32 pixels divided into blocks (partitions) of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and 16 ⁇ 16 pixels from the left. They are shown in order.
- blocks from 16 ⁇ 16 pixels divided into 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixel blocks are sequentially shown from the left. Yes.
- an 8 ⁇ 8 pixel block divided into 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, and 4 ⁇ 4 pixel blocks is sequentially shown from the left. .
- the 32 ⁇ 32 pixel macroblock can be processed in the 32 ⁇ 32 pixel, 32 ⁇ 16 pixel, 16 ⁇ 32 pixel, and 16 ⁇ 16 pixel blocks shown in the upper part of FIG.
- the 16 ⁇ 16 pixel block shown on the right side of the upper row is H.264. Similar to the H.264 / AVC format, processing in blocks of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels shown in the middle stage is possible.
- the 8 ⁇ 8 pixel block shown on the right side of the middle row Similar to the H.264 / AVC format, processing in blocks of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels shown in the lower stage is possible.
- a block of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, and 16 ⁇ 32 pixels shown in the upper part of FIG. 17 is referred to as a first layer.
- the block of 16 ⁇ 16 pixels shown on the right side of the upper stage and the block of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, and 8 ⁇ 16 pixels shown in the middle stage are called a second hierarchy.
- the 8 ⁇ 8 pixel block shown on the right side of the middle row and the 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, and 4 ⁇ 4 pixel blocks shown on the lower row are called the third layer.
- a larger block is defined as a superset thereof while maintaining compatibility with a macroblock in the current AVC.
- FIG. 18 is a block diagram illustrating a detailed configuration example of the intra prediction unit 73 and the spline interpolation unit 75 that perform the intra prediction described above.
- the intra prediction unit 73 includes a candidate mode determination unit 81, a predicted image generation unit 82, a cost function calculation unit 83, and a mode determination unit 84.
- the spline interpolation unit 75 includes an adjacent pixel selection unit 91 and a spline parameter generation unit 92.
- Candidate mode discriminating unit 81 selects all available intra prediction modes defined in the encoding scheme, or a part of them, and becomes a candidate mode in the block, from among available modes, adjacent pixel selecting unit 91. And supplied to the predicted image generation unit 82. Note that “available” indicates that adjacent pixels used in the mode are available.
- the predicted image generation unit 82 uses the spline parameters from the spline parameter generation unit 92 to generate an intra prediction mode predicted image from the candidate mode determination unit 81. That is, the predicted image generation unit 82 calculates P (0) to P (7) using the N spline parameters obtained by the above equation (66) as the N ⁇ 1 order polynomial of the equation (65). By calculating, a predicted image is generated. The generated predicted image is supplied to the cost function calculation unit 83.
- the cost function calculation unit 83 receives the pixel value of the input image from the screen rearrangement buffer 62, and calculates cost function values for all candidate modes using this and the prediction image from the prediction image generation unit 82. The cost function calculation unit 83 supplies the prediction image and cost function value for each candidate mode to the mode determination unit 84.
- the mode determination unit 84 sets the candidate prediction mode having the smallest cost function value as the optimum prediction mode for the block, and supplies the prediction image and the cost function value to the prediction image selection unit 77.
- the mode determination unit 84 supplies information on the optimal prediction mode to the lossless encoding unit 66. To do.
- the line buffer 74 is supplied with and stored from the frame memory 72 all adjacent pixels that may be used for intra prediction.
- the adjacent pixel selection unit 91 selects which adjacent pixel is to be used according to the candidate intra prediction mode from the candidate mode determination unit 81 and supplies the address to the line buffer 74. Since this address is used and the value of the adjacent pixel is supplied from the line buffer 74 to the adjacent pixel selection unit 91, the adjacent pixel selection unit 91 supplies the supplied value of the adjacent pixel to the spline parameter generation unit 92. Supply.
- the spline parameter generation unit 92 uses the adjacent pixel values for N lines to solve the Nth order simultaneous equations according to the above-described equation (66), thereby obtaining N pieces of N ⁇ 1 order polynomials for intra prediction.
- the spline parameters are calculated, and the calculated N spline parameters are supplied to the predicted image generation unit 82.
- step S11 the A / D converter 61 A / D converts the input image.
- step S12 the screen rearrangement buffer 62 stores the images supplied from the A / D conversion unit 61, and rearranges the pictures from the display order to the encoding order.
- step S13 the calculation unit 63 calculates the difference between the image rearranged in step S12 and the predicted image.
- the predicted image is supplied from the motion prediction / compensation unit 76 in the case of inter prediction and from the intra prediction unit 73 in the case of intra prediction to the calculation unit 63 via the predicted image selection unit 77.
- ⁇ Difference data has a smaller data volume than the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
- step S14 the orthogonal transformation unit 64 orthogonally transforms the difference information supplied from the calculation unit 63. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
- step S15 the quantization unit 65 quantizes the transform coefficient. At the time of this quantization, the rate is controlled as described in the process of step S25 described later.
- step S ⁇ b> 16 the inverse quantization unit 68 inversely quantizes the transform coefficient quantized by the quantization unit 65 with characteristics corresponding to the characteristics of the quantization unit 65.
- step S ⁇ b> 17 the inverse orthogonal transform unit 69 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 68 with characteristics corresponding to the characteristics of the orthogonal transform unit 64.
- step S18 the calculation unit 70 adds the predicted image input via the predicted image selection unit 77 to the locally decoded difference information, and outputs the locally decoded image (for input to the calculation unit 63). Corresponding image).
- step S ⁇ b> 19 the deblock filter 71 filters the image output from the calculation unit 70. Thereby, block distortion is removed.
- step S20 the frame memory 72 stores the filtered image. Note that an image that has not been filtered by the deblocking filter 71 is also supplied to the frame memory 72 from the computing unit 70 and stored therein.
- the decoded image to be referenced is read from the frame memory 72 and supplied to the line buffer 74.
- step S21 the intra prediction unit 73 and the spline interpolation unit 75 become candidates for the pixels of the block to be processed by extrapolation processing using polynomial approximation (ie, spline interpolation processing). Intra prediction is performed in all intra prediction modes. Note that pixels that have not been deblocked filtered by the deblocking filter 71 are used as decoded pixels that are referred to.
- intra prediction is performed in all candidate intra prediction modes, and for all candidate intra prediction modes.
- a cost function value is calculated.
- the optimal intra prediction mode is selected, and the predicted image generated by the intra prediction in the optimal intra prediction mode and its cost function value are supplied to the predicted image selection unit 77.
- the processing target image supplied from the screen rearrangement buffer 62 is an image to be inter-processed
- the referenced image is read from the frame memory 72 and supplied to the motion prediction / compensation unit 76. Based on these images, in step S22, the motion prediction / compensation unit 76 performs an inter motion prediction process.
- step S22 Details of the inter motion prediction process in step S22 will be described later with reference to FIG.
- motion search processing is performed in all candidate inter prediction modes, cost function values are calculated for all candidate inter prediction modes, and optimal inter prediction is performed based on the calculated cost function values.
- the mode is determined.
- the predicted image generated in the optimal inter prediction mode and its cost function value are supplied to the predicted image selection unit 77.
- step S ⁇ b> 23 the predicted image selection unit 77 optimizes one of the optimal intra prediction mode and the optimal inter prediction mode based on the cost function values output from the intra prediction unit 73 and the motion prediction / compensation unit 76. Determine the prediction mode. Then, the predicted image selection unit 77 selects the predicted image in the determined optimal prediction mode and supplies it to the calculation units 63 and 70. As described above, this predicted image is used for the calculations in steps S13 and S18.
- the prediction image selection information is supplied to the intra prediction unit 73 or the motion prediction / compensation unit 76.
- the intra prediction unit 73 supplies information indicating the optimal intra prediction mode (that is, intra prediction mode information) to the lossless encoding unit 66.
- the motion prediction / compensation unit 76 When the prediction image in the optimal inter prediction mode is selected, the motion prediction / compensation unit 76 generates information indicating the optimal inter prediction mode and, if necessary, information corresponding to the optimal inter prediction mode as a lossless encoding unit. 66.
- Information according to the optimal inter prediction mode includes motion vector information and reference frame information.
- step S24 the lossless encoding unit 66 encodes the quantized transform coefficient output from the quantization unit 65. That is, the difference image is subjected to lossless encoding such as variable length encoding and arithmetic encoding, and is compressed.
- lossless encoding such as variable length encoding and arithmetic encoding
- Information and the like are also encoded and added to the header information.
- information indicating the intra prediction mode and information indicating the inter prediction mode are encoded for each macroblock.
- Motion vector information and reference frame information are encoded for each target block.
- step S25 the accumulation buffer 67 accumulates the difference image as a compressed image.
- the compressed image stored in the storage buffer 67 is appropriately read and transmitted to the decoding side via the transmission path.
- step S26 the rate control unit 78 controls the rate of the quantization operation of the quantization unit 65 based on the compressed image stored in the storage buffer 67 so that overflow or underflow does not occur.
- a decoded image to be referred to for intra prediction is read from the frame memory 72 and stored in the line buffer 74. Supplied.
- step S41 the line buffer 74 stores the supplied adjacent pixel value for intra prediction.
- Candidate mode discriminating unit 81 selects all available intra prediction modes defined in the encoding scheme, or a part of them, and becomes a candidate mode in the block, from among available modes, adjacent pixel selecting unit 91. And supplied to the predicted image generation unit 82. For example, the 4 ⁇ 4 pixel, 8 ⁇ 8 pixel, and 16 ⁇ 16 pixel intra prediction modes described above with reference to FIGS. 4 to 14 are set as candidate modes.
- the adjacent pixel selection unit 91 selects which adjacent pixel is to be used according to the candidate intra prediction mode from the candidate mode determination unit 81, and sets the address to the line buffer 74. To supply. Since this address is used and the value of the adjacent pixel is supplied from the line buffer 74 to the adjacent pixel selection unit 91, the adjacent pixel selection unit 91 uses the supplied value of the adjacent pixel as the spline parameter generation unit 92. To supply.
- step S43 the spline parameter generation unit 92 calculates N spline parameters in the (N ⁇ 1) th order polynomial for each prediction mode by solving the Nth order simultaneous equations shown in the equation (66). The calculated spline parameters are supplied to the predicted image generation unit 82.
- step S44 the predicted image generation unit 82 generates a predicted image for each mode using the spline parameters from the spline parameter generation unit 92. That is, a predicted image is generated by calculating P (0) to P (7) using the N spline parameters for the N ⁇ 1 order polynomial represented by the above-described equation (65). The generated predicted image is supplied to the cost function calculation unit 83.
- step S ⁇ b> 45 the cost function calculation unit 83 inputs the pixel value of the input image from the screen rearrangement buffer 62, and uses this and the prediction image from the prediction image generation unit 82 to calculate the cost function value for each prediction mode. calculate.
- the cost function calculation unit 83 supplies the prediction image and cost function value for each candidate mode to the mode determination unit 84.
- the cost function value is based on either High ⁇ Complexity Mode or Low Complexity Mode.
- H. In the H.264 / AVC format, for example, a method of selecting two mode determination methods of High Complexity Mode and Low Complexity Mode defined in JM is used. In both cases, the cost function value for each prediction mode is calculated, and the prediction mode that minimizes the cost function value is selected as the optimum mode for the block or macroblock.
- the cost function value in High Complexity Mode can be obtained as in the following formula (69).
- Equation (69) ⁇ is the entire set of candidate modes for encoding the block or macroblock.
- D is the difference energy between the decoded image and the input image when encoded in the prediction mode Mode.
- ⁇ is a Lagrange undetermined multiplier given as a function of the quantization parameter.
- R is a total code amount when encoding is performed in the mode Mode, including orthogonal transform coefficients.
- the cost function value in the Low Complexity Mode can be obtained as in the following formula (70).
- D is the difference energy between the predicted image and the input image, unlike the case of High Complexity Mode.
- QP2Quant QP
- HeaderBit is a code amount related to information belonging to Header, such as a motion vector and a mode, which does not include an orthogonal transform coefficient.
- step S46 the mode determination unit 84 selects a prediction mode that minimizes the cost function value from the candidate prediction modes as an optimal prediction mode for the block, and uses the prediction image and the cost function value as the prediction image. This is supplied to the selector 77.
- step S61 the motion prediction / compensation unit 76 determines a motion vector and a reference image for each of eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. That is, a motion vector and a reference image are determined for each block to be processed in each inter prediction mode.
- step S62 the motion prediction / compensation unit 76 performs motion prediction on the reference image based on the motion vector determined in step S61 for each of the eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Perform compensation processing. By this motion prediction and compensation processing, a prediction image in each inter prediction mode is generated.
- step S63 the motion prediction / compensation unit 76 adds motion vector information for adding to the compressed image the motion vectors determined for each of the eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Is generated.
- the generated motion vector information is also used when calculating the cost function value in the next step S64.
- the prediction mode information and reference It is output to the lossless encoding unit 66 together with the frame information.
- step S64 the motion prediction / compensation unit 76 performs the cost function represented by the above-described equation (69) or equation (70) for each of the eight types of inter prediction modes including 16 ⁇ 16 pixels to 4 ⁇ 4 pixels. Calculate the value.
- step S65 the motion prediction / compensation unit 76 compares the cost function value for the inter prediction mode calculated in step S64, and determines the prediction mode that gives the minimum value as the optimal inter prediction mode. Then, the optimal inter mode determination unit 84 supplies the predicted image generated in the optimal inter prediction mode and its cost function value to the predicted image selection unit 77.
- the motion prediction / compensation unit 76 displays information or motion indicating the optimal inter prediction mode.
- Vector information, reference image information, and the like are supplied to the lossless encoding unit 66. Then, it is encoded by the lossless encoding unit 66 and added to the header information of the compressed image (step S24 in FIG. 19 described above).
- this processing is also processing for obtaining the number of adjacent pixel lines to be used as described above with reference to FIG. 16.
- the adjacent pixel selection unit 91 in FIG. 18 and the adjacent pixel selection unit in FIG. This process is executed before selecting an adjacent pixel according to 191.
- the adjacent pixel selection unit 91 determines the threshold ⁇ in step S81.
- k represents the number of lines of adjacent pixels stored in the line buffer 74.
- step S84 the adjacent pixel selection unit 91 determines whether or not
- + ⁇ is satisfied. If it is determined that the determination formula in step S84 is satisfied, the process proceeds to step S85.
- step S85 it is determined whether or not
- + ⁇ is satisfied. If it is determined that the determination formula in step S84 is not satisfied, or if it is determined that the determination formula in step S85 is not satisfied, the process proceeds to step S86.
- step S85 the adjacent pixel selection unit 91 determines the order of polynomial approximation to be h ⁇ 1 order. In this case, a line buffer (adjacent pixel value) of h columns is used.
- step S83 determines whether h is the same as k. If it is determined in step S83 that h is the same as k, the process proceeds to step S87.
- step S87 the degree of polynomial approximation is determined to be k ⁇ 1 order, and k-line line buffers (adjacent pixel values) are used.
- an intra-predicted image is generated by performing extrapolation processing by polynomial approximation using adjacent pixels of a plurality of lines.
- the accuracy of intra prediction is improved and coding efficiency can be improved. This is particularly effective for large block sizes.
- the prediction efficiency can be further improved.
- the encoded compressed image is transmitted via a predetermined transmission path and decoded by an image decoding device.
- FIG. 23 shows a configuration of an embodiment of an image decoding apparatus as an image processing apparatus to which the present invention is applied.
- the image decoding device 151 includes a storage buffer 161, a lossless decoding unit 162, an inverse quantization unit 163, an inverse orthogonal transform unit 164, an operation unit 165, a deblock filter 166, a screen rearrangement buffer 167, a D / A conversion unit 168, a frame
- the memory 169, the intra prediction unit 170, the line buffer 171, the spline interpolation unit 172, the motion prediction / compensation unit 173, and the switch 174 are included.
- the accumulation buffer 161 accumulates the transmitted compressed image.
- the lossless decoding unit 162 decodes the information supplied from the accumulation buffer 161 and encoded by the lossless encoding unit 66 in FIG. 2 by a method corresponding to the encoding method of the lossless encoding unit 66.
- the inverse quantization unit 163 inversely quantizes the image decoded by the lossless decoding unit 162 by a method corresponding to the quantization method of the quantization unit 65 in FIG.
- the inverse orthogonal transform unit 164 performs inverse orthogonal transform on the output of the inverse quantization unit 163 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 64 in FIG.
- the output subjected to the inverse orthogonal transform is added to the prediction image supplied from the switch 174 by the arithmetic unit 165 and decoded.
- the deblocking filter 166 removes block distortion of the decoded image, and then supplies the frame to the frame memory 169 for accumulation and outputs it to the screen rearrangement buffer 167.
- the screen rearrangement buffer 167 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 62 in FIG. 2 is rearranged in the original display order.
- the D / A conversion unit 168 D / A converts the image supplied from the screen rearrangement buffer 167, and outputs and displays the image on a display (not shown).
- the inter-processed image from the frame memory 169 and the image referred to are output to the motion prediction / compensation unit 173.
- An image used for intra prediction from the frame memory 169 is output to the line buffer 171.
- the information indicating the intra prediction mode obtained by decoding the header information is supplied from the lossless decoding unit 162 to the intra prediction unit 170.
- the intra prediction unit 170 generates the intra prediction pixel value of the target block by performing extrapolation processing by polynomial approximation using adjacent pixels of a plurality of lines stored in the line buffer 171 together with the spline interpolation unit 172.
- the intra prediction unit 170 supplies information on the intra prediction mode to the spline interpolation unit 172.
- the spline interpolation unit 172 supplies polynomial interpolation parameters for approximating adjacent pixels and pixels of the target block for intra prediction using adjacent pixel values corresponding to the intra prediction mode.
- the intra prediction unit 170 generates an intra prediction image of the intra prediction mode selected on the encoding side by a polynomial using the interpolation parameter from the spline interpolation unit 172.
- the line buffer 171 stores the pixel values of the reference image from the frame memory 169.
- the line buffer 171 is supplied with addresses of adjacent pixels according to the intra prediction mode from the spline interpolation unit 172.
- the line buffer 171 supplies the pixel value of the adjacent pixel corresponding to the address to the spline interpolation unit 172.
- the spline interpolation unit 172 uses the adjacent pixel value supplied from the line buffer 171 corresponding to the address of the adjacent pixel corresponding to the intra prediction mode from the intra prediction unit 170, and calculates a polynomial interpolation parameter for intra prediction. Calculation is performed by polynomial approximation, and the calculated interpolation parameter is supplied to the intra prediction unit 170.
- the information (prediction mode information, motion vector information, reference frame information) obtained by decoding the header information is supplied from the lossless decoding unit 162 to the motion prediction / compensation unit 173.
- the motion prediction / compensation unit 173 performs motion prediction and compensation processing on the image based on the motion vector information and the reference frame information, and generates a predicted image.
- the motion prediction / compensation unit 173 outputs the prediction image generated in the inter prediction mode to the switch 174.
- the switch 174 selects the prediction image generated by the motion prediction / compensation unit 173 or the intra prediction unit 170, and supplies the selected prediction image to the calculation unit 165.
- intra prediction processing is performed for all intra prediction modes in order to determine a prediction mode based on a cost function.
- this image decoding apparatus 151 an intra prediction process is performed only based on the information of the intra prediction mode transmitted by encoding.
- FIG. 24 is a block diagram illustrating a detailed configuration example of the intra prediction unit 170 and the spline interpolation unit 172.
- the intra prediction unit 170 includes a prediction mode buffer 181 and a prediction image generation unit 182.
- the spline interpolation unit 172 includes an adjacent pixel selection unit 191 and a spline parameter generation unit 192.
- Information on the intra prediction mode for the block is supplied from the lossless decoding unit 162 to the prediction mode buffer 181.
- the information on the intra prediction mode is further supplied to the adjacent pixel selection unit 191.
- the predicted image generation unit 182 generates a predicted image in the intra prediction mode from the prediction mode buffer 181 using the spline parameters from the spline parameter generation unit 192.
- the predicted image generation unit 182 uses the N spline parameters obtained by the above equation (66) to the N ⁇ 1 order polynomial of the equation (65), and P (0) to P (7). By calculating, a predicted image is generated. The generated predicted image is supplied to the switch 174.
- the line buffer 171 is supplied with and stored from the frame memory 169 all adjacent pixels that may be used for intra prediction.
- the adjacent pixel selection unit 191 selects which adjacent pixel is used according to the intra prediction mode from the prediction mode buffer 181, and supplies the address to the line buffer 171. Since this address is used and the value of the adjacent pixel is supplied from the line buffer 171 to the adjacent pixel selector 191, the adjacent pixel selector 191 sends the supplied adjacent pixel value to the spline parameter generator 192. Supply.
- the spline parameter generation unit 192 uses the adjacent pixel values for N lines to solve the Nth order simultaneous equations according to the above-described equation (66), so that N pieces of N ⁇ 1 order polynomials for intra prediction are obtained.
- the spline parameters are calculated, and the calculated N spline parameters are supplied to the predicted image generation unit 182.
- step S131 the storage buffer 161 stores the transmitted image.
- step S132 the lossless decoding unit 162 decodes the compressed image supplied from the accumulation buffer 161. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 66 in FIG. 2 are decoded.
- motion vector information reference frame information
- prediction mode information information indicating an intra prediction mode or an inter prediction mode
- the prediction mode information is intra prediction mode information
- the prediction mode information is supplied to the intra prediction unit 170.
- the prediction mode information is inter prediction mode information
- motion vector information and reference frame information corresponding to the prediction mode information are supplied to the motion prediction / compensation unit 173.
- step S133 the inverse quantization unit 163 inversely quantizes the transform coefficient decoded by the lossless decoding unit 162 with characteristics corresponding to the characteristics of the quantization unit 65 in FIG.
- step S134 the inverse orthogonal transform unit 164 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 163 with characteristics corresponding to the characteristics of the orthogonal transform unit 64 in FIG. As a result, the difference information corresponding to the input of the orthogonal transform unit 64 of FIG. 2 (the output of the calculation unit 63) is decoded.
- step S135 the calculation unit 165 adds the prediction image selected in the process of step S139 described later and input via the switch 174 to the difference information. As a result, the original image is decoded.
- step S136 the deblocking filter 166 filters the image output from the calculation unit 165. Thereby, block distortion is removed.
- step S137 the frame memory 169 stores the filtered image.
- step S138 the intra prediction unit 170 and the motion prediction / compensation unit 173 perform image prediction processing corresponding to the prediction mode information supplied from the lossless decoding unit 162, respectively.
- the intra prediction unit 170 and the spline interpolation unit 172 perform extrapolation processing using polynomial approximation (that is, spline interpolation processing) of the block to be processed.
- the pixels are intra-predicted in the intra-prediction mode from the lossless decoding unit 162.
- the motion prediction / compensation unit 173 uses the motion vector from the lossless decoding unit 162 in the inter prediction mode from the lossless decoding unit 162. Compensation processing is performed.
- step S138 the prediction image generated by the intra prediction unit 170 or the prediction image generated by the motion prediction / compensation unit 173 is switched to the switch 174. To be supplied.
- step S139 the switch 174 selects a predicted image. That is, a prediction image generated by the intra prediction unit 170 or a prediction image generated by the motion prediction / compensation unit 173 is supplied. Therefore, the supplied prediction image is selected and supplied to the calculation unit 165, and is added to the output of the inverse orthogonal transform unit 164 in step S135 as described above.
- step S140 the screen rearrangement buffer 167 performs rearrangement. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 62 of the image encoding device 51 is rearranged to the original display order.
- step S141 the D / A converter 168 D / A converts the image from the screen rearrangement buffer 167. This image is output to a display (not shown), and the image is displayed.
- the predicted image generation unit 182 and the adjacent pixel selection unit 191 determine whether or not the target block is intra-coded in step S171.
- the intra prediction mode information is supplied from the lossless decoding unit 162 to the prediction image generation unit 182 and the adjacent pixel selection unit 191 via the prediction mode buffer 181, the prediction image generation unit 182 and the adjacent pixel selection unit 191 perform step S171.
- step S172 it is determined that the target block is intra-coded, and the process proceeds to step S172.
- the prediction image generation unit 182 and the adjacent pixel selection unit 191 acquire prediction mode information in step S172.
- a decoded image to be referred to for intra prediction is read from the frame memory 169 and stored.
- step S173 the adjacent pixel selection unit 191 selects an adjacent pixel value necessary for the intra prediction mode, and supplies the address to the line buffer 171. Since the address is used to supply the adjacent pixel value from the line buffer 171 to the adjacent pixel selection unit 191, the adjacent pixel selection unit 191 uses the supplied adjacent pixel value as the spline parameter generation unit 192. To supply.
- step S174 the spline parameter generation unit 192 solves the Nth order simultaneous equations shown in the above equation (66), so that N splines in the N ⁇ 1 order polynomial for the prediction mode from the prediction mode buffer 181 are obtained.
- the parameters are calculated, and the calculated spline parameters are supplied to the predicted image generation unit 182.
- step S175 the predicted image generation unit 182 generates a predicted image for the prediction mode from the prediction mode buffer 181 using the spline parameters from the spline parameter generation unit 192. That is, a predicted image is generated by calculating P (0) to P (7) using the N spline parameters for the N ⁇ 1 order polynomial represented by the above-described equation (65). The generated predicted image is supplied to the cost function calculation unit 83. The voltage is supplied to the calculation unit 165 via the switch 174.
- step S171 determines whether the intra encoding has been performed. If it is determined in step S171 that the intra encoding has not been performed, the process proceeds to step S176.
- the inter prediction mode information, reference frame information, and motion vector information are supplied from the lossless decoding unit 162 to the motion prediction / compensation unit 173.
- the motion prediction / compensation unit 173 acquires inter prediction mode information, reference frame information, motion vector information, and the like from the lossless decoding unit 162.
- the motion prediction / compensation unit 173 performs inter motion prediction in step S177. That is, when the image to be processed is an image subjected to inter prediction processing, a necessary image is read from the frame memory 169 and supplied to the motion prediction / compensation unit 173 via the switch 170. In step S177, the motion prediction / compensation unit 173 performs compensation processing in the inter prediction mode based on the motion vector acquired in step S176, and generates a predicted image. The generated predicted image is output to the switch 174.
- intra prediction images are generated by performing extrapolation processing by polynomial approximation using adjacent pixels of a plurality of lines. Thereby, the accuracy of intra prediction is improved and coding efficiency can be improved. This is particularly effective for large block sizes.
- JCTVC Joint ⁇ Collaboration Team Video Coding
- the CodingCoUnit defined in the HEVC encoding method will be described.
- Coding Unit is also called Coding Block (CTB). It plays the same role as the macroblock in H.264 / AVC, but the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed. It will be specified in the compression information.
- the CU having the largest size is called LCU (Largest Coding Unit), and the CU having the smallest size is called SCU (Smallest Coding Unit).
- LCU Large Coding Unit
- SCU Smallest Coding Unit
- FIG. 32 shows an example of Coding Unit defined in the HEVC encoding method.
- the LCU size is 128 and the maximum hierarchical depth is 5.
- split_flag is 1, the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs which are one layer below.
- the CU is divided into a Prediction Unit (PU) that is a unit of intra or inter prediction, and is further divided into a Transform Unit (TU) that is a unit of orthogonal transformation.
- PU Prediction Unit
- TU Transform Unit
- Coding Unit is further divided into PU (Prediction Unit) which is a unit of intra or inter prediction, and is further divided into TU (Transform Unit) which is a unit of orthogonal transformation, and prediction processing and orthogonal transformation processing are performed.
- PU Prediction Unit
- TU Transform Unit
- blocks and macroblocks include the concepts of Coding Unit (CU), Prediction Unit (PU), and Transform Unit (TU) as described above, and are not limited to blocks having a fixed size.
- H.264 / AVC format is used as a base
- the present invention is not limited to this, and other encoding / decoding schemes that perform prediction using adjacent pixels in the screen can be applied.
- the present invention includes, for example, MPEG, H.264, and the like.
- image information bitstream
- orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
- network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
- the present invention can be applied to an image encoding device and an image decoding device used in the above. Further, the present invention can be applied to an image encoding device and an image decoding device used when processing on a storage medium such as an optical, magnetic disk, and flash memory. Furthermore, the present invention can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
- the series of processes described above can be executed by hardware or software.
- a program constituting the software is installed in the computer.
- the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
- FIG. 27 is a block diagram illustrating a hardware configuration example of a computer that executes the above-described series of processing by a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input / output interface 205 is further connected to the bus 204.
- An input unit 206, an output unit 207, a storage unit 208, a communication unit 209, and a drive 210 are connected to the input / output interface 205.
- the input unit 206 includes a keyboard, a mouse, a microphone, and the like.
- the output unit 207 includes a display, a speaker, and the like.
- the storage unit 208 includes a hard disk, a nonvolatile memory, and the like.
- the communication unit 209 includes a network interface and the like.
- the drive 210 drives a removable medium 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 201 loads the program stored in the storage unit 208 to the RAM 203 via the input / output interface 205 and the bus 204 and executes it, thereby executing the above-described series of processing. Is done.
- the program executed by the computer (CPU 201) can be provided by being recorded in the removable medium 211 as a package medium or the like, for example.
- the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
- the program can be installed in the storage unit 208 via the input / output interface 205 by attaching the removable medium 211 to the drive 210.
- the program can be received by the communication unit 209 via a wired or wireless transmission medium and installed in the storage unit 208.
- the program can be installed in the ROM 202 or the storage unit 208 in advance.
- the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
- the image encoding device 51 and the image decoding device 151 described above can be applied to any electronic device. Examples thereof will be described below.
- FIG. 28 is a block diagram illustrating a main configuration example of a television receiver using an image decoding device to which the present invention has been applied.
- the terrestrial tuner 313 receives a broadcast wave signal of terrestrial analog broadcast via an antenna, demodulates it, acquires a video signal, and supplies it to the video decoder 315.
- the video decoder 315 performs a decoding process on the video signal supplied from the terrestrial tuner 313 and supplies the obtained digital component signal to the video signal processing circuit 318.
- the video signal processing circuit 318 performs predetermined processing such as noise removal on the video data supplied from the video decoder 315, and supplies the obtained video data to the graphic generation circuit 319.
- the graphic generation circuit 319 generates video data of a program to be displayed on the display panel 321, image data based on processing based on an application supplied via a network, and the generated video data and image data to the panel drive circuit 320. Supply.
- the graphic generation circuit 319 generates video data (graphic) for displaying a screen used by the user for selecting an item, and superimposing the video data on the video data of the program.
- a process of supplying data to the panel drive circuit 320 is also performed as appropriate.
- the panel drive circuit 320 drives the display panel 321 based on the data supplied from the graphic generation circuit 319, and causes the display panel 321 to display the video of the program and the various screens described above.
- the display panel 321 includes an LCD (Liquid Crystal Display) or the like, and displays a program video or the like according to control by the panel drive circuit 320.
- LCD Liquid Crystal Display
- the television receiver 300 also includes an audio A / D (Analog / Digital) conversion circuit 314, an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
- an audio A / D (Analog / Digital) conversion circuit 3144 an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
- the terrestrial tuner 313 acquires not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
- the terrestrial tuner 313 supplies the acquired audio signal to the audio A / D conversion circuit 314.
- the audio A / D conversion circuit 314 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 313, and supplies the obtained digital audio signal to the audio signal processing circuit 322.
- the audio signal processing circuit 322 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 314 and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 323.
- the echo cancellation / voice synthesis circuit 323 supplies the voice data supplied from the voice signal processing circuit 322 to the voice amplification circuit 324.
- the audio amplification circuit 324 performs D / A conversion processing and amplification processing on the audio data supplied from the echo cancellation / audio synthesis circuit 323, adjusts to a predetermined volume, and then outputs the audio from the speaker 325.
- the television receiver 300 also has a digital tuner 316 and an MPEG decoder 317.
- the digital tuner 316 receives a broadcast wave signal of digital broadcasting (terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting) via an antenna, demodulates, and MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 317.
- digital broadcasting terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting
- MPEG-TS Motion Picture Experts Group
- the MPEG decoder 317 releases the scramble applied to the MPEG-TS supplied from the digital tuner 316, and extracts a stream including program data to be played (viewing target).
- the MPEG decoder 317 decodes the audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 322, decodes the video packet constituting the stream, and converts the obtained video data into the video
- the signal processing circuit 318 is supplied.
- the MPEG decoder 317 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 332 via a path (not shown).
- the television receiver 300 uses the above-described image decoding device 151 as the MPEG decoder 317 for decoding video packets in this way. Therefore, the MPEG decoder 317 can improve the encoding efficiency in the intra prediction as in the case of the image decoding device 151.
- the video data supplied from the MPEG decoder 317 is subjected to predetermined processing in the video signal processing circuit 318 as in the case of the video data supplied from the video decoder 315.
- the video data that has been subjected to the predetermined processing is appropriately superposed on the generated video data in the graphic generation circuit 319 and supplied to the display panel 321 via the panel drive circuit 320 to display the image. .
- the audio data supplied from the MPEG decoder 317 is subjected to predetermined processing in the audio signal processing circuit 322 as in the case of the audio data supplied from the audio A / D conversion circuit 314.
- the audio data that has been subjected to the predetermined processing is supplied to the audio amplifying circuit 324 via the echo cancel / audio synthesizing circuit 323, and subjected to D / A conversion processing and amplification processing.
- sound adjusted to a predetermined volume is output from the speaker 325.
- the television receiver 300 also has a microphone 326 and an A / D conversion circuit 327.
- the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
- the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the echo cancellation / audio synthesis circuit 323.
- the echo cancellation / audio synthesis circuit 323 When the audio data of the user (user A) of the television receiver 300 is supplied from the A / D conversion circuit 327, the echo cancellation / audio synthesis circuit 323 performs echo cancellation on the audio data of the user A. . The echo cancellation / speech synthesis circuit 323 then outputs voice data obtained by synthesizing with other voice data after echo cancellation from the speaker 325 via the voice amplification circuit 324.
- the television receiver 300 also includes an audio codec 328, an internal bus 329, an SDRAM (Synchronous Dynamic Random Access Memory) 330, a flash memory 331, a CPU 332, a USB (Universal Serial Bus) I / F 333, and a network I / F 334.
- SDRAM Serial Dynamic Random Access Memory
- USB Universal Serial Bus
- the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
- the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the audio codec 328.
- the audio codec 328 converts the audio data supplied from the A / D conversion circuit 327 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 334 via the internal bus 329.
- the network I / F 334 is connected to the network via a cable attached to the network terminal 335.
- the network I / F 334 transmits the audio data supplied from the audio codec 328 to another device connected to the network.
- the network I / F 334 receives, for example, audio data transmitted from another device connected via the network via the network terminal 335, and receives it via the internal bus 329 to the audio codec 328. Supply.
- the voice codec 328 converts the voice data supplied from the network I / F 334 into data of a predetermined format and supplies it to the echo cancellation / voice synthesis circuit 323.
- the echo cancellation / speech synthesis circuit 323 performs echo cancellation on the voice data supplied from the voice codec 328 and synthesizes voice data obtained by synthesizing with other voice data via the voice amplification circuit 324. And output from the speaker 325.
- the SDRAM 330 stores various data necessary for the CPU 332 to perform processing.
- the flash memory 331 stores a program executed by the CPU 332.
- the program stored in the flash memory 331 is read out by the CPU 332 at a predetermined timing such as when the television receiver 300 is activated.
- the flash memory 331 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
- the flash memory 331 stores MPEG-TS including content data acquired from a predetermined server via a network under the control of the CPU 332.
- the flash memory 331 supplies the MPEG-TS to the MPEG decoder 317 via the internal bus 329 under the control of the CPU 332, for example.
- the MPEG decoder 317 processes the MPEG-TS similarly to the MPEG-TS supplied from the digital tuner 316. In this way, the television receiver 300 receives content data including video and audio via the network, decodes it using the MPEG decoder 317, displays the video, and outputs audio. Can do.
- the television receiver 300 also includes a light receiving unit 337 that receives an infrared signal transmitted from the remote controller 351.
- the light receiving unit 337 receives infrared rays from the remote controller 351 and outputs a control code representing the contents of the user operation obtained by demodulation to the CPU 332.
- the CPU 332 executes a program stored in the flash memory 331, and controls the overall operation of the television receiver 300 according to a control code supplied from the light receiving unit 337.
- the CPU 332 and each part of the television receiver 300 are connected via a path (not shown).
- the USB I / F 333 transmits and receives data to and from an external device of the television receiver 300 connected via a USB cable attached to the USB terminal 336.
- the network I / F 334 is connected to the network via a cable attached to the network terminal 335, and transmits / receives data other than audio data to / from various devices connected to the network.
- the television receiver 300 can improve the encoding efficiency by using the image decoding device 151 as the MPEG decoder 317. As a result, the television receiver 300 can obtain and display a higher-definition decoded image from a broadcast wave signal received via an antenna or content data obtained via a network.
- FIG. 29 is a block diagram illustrating a main configuration example of a mobile phone using an image encoding device and an image decoding device to which the present invention is applied.
- a cellular phone 400 shown in FIG. 29 includes a main control unit 450, a power supply circuit unit 451, an operation input control unit 452, an image encoder 453, a camera I / F unit 454, an LCD control, which are configured to control each unit in an integrated manner.
- the mobile phone 400 includes an operation key 419, a CCD (Charge Coupled Devices) camera 416, a liquid crystal display 418, a storage unit 423, a transmission / reception circuit unit 463, an antenna 414, a microphone (microphone) 421, and a speaker 417.
- CCD Charge Coupled Devices
- the power supply circuit unit 451 starts up the mobile phone 400 to an operable state by supplying power from the battery pack to each unit.
- the mobile phone 400 transmits / receives voice signals, sends / receives e-mails and image data in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 450 including a CPU, a ROM, a RAM, and the like. Various operations such as shooting or data recording are performed.
- the cellular phone 400 converts a voice signal collected by the microphone (microphone) 421 into digital voice data by the voice codec 459, performs a spectrum spread process by the modulation / demodulation circuit unit 458, and transmits and receives
- the unit 463 performs digital / analog conversion processing and frequency conversion processing.
- the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
- the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone line network.
- the cellular phone 400 amplifies the received signal received by the antenna 414 by the transmission / reception circuit unit 463, further performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading processing by the modulation / demodulation circuit unit 458. Then, the audio codec 459 converts it into an analog audio signal. The cellular phone 400 outputs an analog audio signal obtained by the conversion from the speaker 417.
- the mobile phone 400 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by operating the operation key 419 in the operation input control unit 452.
- the cellular phone 400 processes the text data in the main control unit 450 and displays it on the liquid crystal display 418 as an image via the LCD control unit 455.
- the cellular phone 400 generates e-mail data in the main control unit 450 based on text data received by the operation input control unit 452, user instructions, and the like.
- the cellular phone 400 subjects the electronic mail data to spread spectrum processing by the modulation / demodulation circuit unit 458 and performs digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
- the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
- the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network and a mail server.
- the mobile phone 400 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 463 via the antenna 414, and further performs frequency conversion processing and Analog-digital conversion processing.
- the mobile phone 400 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 458 to restore the original e-mail data.
- the cellular phone 400 displays the restored e-mail data on the liquid crystal display 418 via the LCD control unit 455.
- the mobile phone 400 can record (store) the received e-mail data in the storage unit 423 via the recording / playback unit 462.
- the storage unit 423 is an arbitrary rewritable storage medium.
- the storage unit 423 may be a semiconductor memory such as a RAM or a built-in flash memory, a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. It may be media. Of course, other than these may be used.
- the mobile phone 400 when transmitting image data in the data communication mode, the mobile phone 400 generates image data with the CCD camera 416 by imaging.
- the CCD camera 416 includes an optical device such as a lens and a diaphragm and a CCD as a photoelectric conversion element, images a subject, converts the intensity of received light into an electrical signal, and generates image data of the subject image.
- the image data is converted into encoded image data by compression encoding with a predetermined encoding method such as MPEG2 or MPEG4 by the image encoder 453 via the camera I / F unit 454.
- the cellular phone 400 uses the above-described image encoding device 51 as the image encoder 453 that performs such processing. Therefore, the image encoder 453 can improve the encoding efficiency in the intra prediction as in the case of the image encoding device 51.
- the mobile phone 400 converts the sound collected by the microphone (microphone) 421 during imaging by the CCD camera 416 from analog to digital by the audio codec 459 and further encodes it.
- the cellular phone 400 multiplexes the encoded image data supplied from the image encoder 453 and the digital audio data supplied from the audio codec 459 by a predetermined method.
- the cellular phone 400 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 458 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
- the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
- a transmission signal (image data) transmitted to the base station is supplied to a communication partner via a network or the like.
- the mobile phone 400 can also display the image data generated by the CCD camera 416 on the liquid crystal display 418 via the LCD control unit 455 without passing through the image encoder 453.
- the cellular phone 400 when receiving data of a moving image file linked to a simple homepage or the like, transmits a signal transmitted from the base station via the antenna 414 to the transmission / reception circuit unit 463. Receive, amplify, and further perform frequency conversion processing and analog-digital conversion processing. The cellular phone 400 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 458 to restore the original multiplexed data. In the cellular phone 400, the demultiplexing unit 457 separates the multiplexed data and divides it into encoded image data and audio data.
- the cellular phone 400 In the image decoder 456, the cellular phone 400 generates reproduction moving image data by decoding the encoded image data with a decoding method corresponding to a predetermined encoding method such as MPEG2 or MPEG4, and this is controlled by the LCD control.
- the image is displayed on the liquid crystal display 418 via the unit 455.
- the moving image data included in the moving image file linked to the simple homepage is displayed on the liquid crystal display 418.
- the cellular phone 400 uses the above-described image decoding device 151 as the image decoder 456 that performs such processing. Therefore, the image decoder 456 can improve the encoding efficiency in the intra prediction as in the case of the image decoding device 151.
- the cellular phone 400 simultaneously converts the digital audio data into an analog audio signal in the audio codec 459 and causes the speaker 417 to output it.
- audio data included in the moving image file linked to the simple homepage is reproduced.
- the mobile phone 400 can record (store) the data linked to the received simplified home page or the like in the storage unit 423 via the recording / playback unit 462. .
- the mobile phone 400 can analyze the two-dimensional code obtained by the CCD camera 416 by the main control unit 450 and acquire information recorded in the two-dimensional code.
- the mobile phone 400 can communicate with an external device by infrared rays at the infrared communication unit 481.
- the cellular phone 400 can improve the encoding efficiency by using the image encoding device 51 as the image encoder 453. As a result, the mobile phone 400 can provide encoded data (image data) with high encoding efficiency to other devices.
- the cellular phone 400 can improve the encoding efficiency by using the image decoding device 151 as the image decoder 456. As a result, the mobile phone 400 can obtain and display a higher-definition decoded image from a moving image file linked to a simple homepage, for example.
- the cellular phone 400 uses the CCD camera 416, but instead of the CCD camera 416, an image sensor (CMOS image sensor) using CMOS (Complementary Metal Metal Oxide Semiconductor) is used. May be. Also in this case, the mobile phone 400 can capture the subject and generate image data of the subject image, as in the case where the CCD camera 416 is used.
- CMOS image sensor Complementary Metal Metal Oxide Semiconductor
- the mobile phone 400 has been described.
- an imaging function similar to that of the mobile phone 400 such as a PDA (Personal Digital Assistant), a smartphone, an UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, or the like.
- the image encoding device 51 and the image decoding device 151 can be applied to any device as long as the device has a communication function as in the case of the mobile phone 400.
- FIG. 30 is a block diagram showing a main configuration example of a hard disk recorder using the image encoding device and the image decoding device to which the present invention is applied.
- a hard disk recorder 500 shown in FIG. 30 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted from a satellite or a ground antenna received by a tuner.
- This is an apparatus for storing in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
- the hard disk recorder 500 can, for example, extract audio data and video data from broadcast wave signals, decode them as appropriate, and store them in a built-in hard disk.
- the hard disk recorder 500 can also acquire audio data and video data from other devices via a network, for example, decode them as appropriate, and store them in a built-in hard disk.
- the hard disk recorder 500 decodes audio data and video data recorded in the built-in hard disk, supplies the decoded data to the monitor 560, and displays the image on the screen of the monitor 560. Further, the hard disk recorder 500 can output the sound from the speaker of the monitor 560.
- the hard disk recorder 500 decodes, for example, audio data and video data extracted from a broadcast wave signal acquired via a tuner, or audio data and video data acquired from another device via a network, and monitors 560. And the image is displayed on the screen of the monitor 560.
- the hard disk recorder 500 can also output the sound from the speaker of the monitor 560.
- the hard disk recorder 500 includes a reception unit 521, a demodulation unit 522, a demultiplexer 523, an audio decoder 524, a video decoder 525, and a recorder control unit 526.
- the hard disk recorder 500 further includes an EPG data memory 527, a program memory 528, a work memory 529, a display converter 530, an OSD (On Screen Display) control unit 531, a display control unit 532, a recording / playback unit 533, a D / A converter 534, And a communication unit 535.
- the display converter 530 has a video encoder 541.
- the recording / playback unit 533 includes an encoder 551 and a decoder 552.
- the receiving unit 521 receives an infrared signal from a remote controller (not shown), converts it into an electrical signal, and outputs it to the recorder control unit 526.
- the recorder control unit 526 is constituted by, for example, a microprocessor and executes various processes according to a program stored in the program memory 528. At this time, the recorder control unit 526 uses the work memory 529 as necessary.
- the communication unit 535 is connected to the network and performs communication processing with other devices via the network.
- the communication unit 535 is controlled by the recorder control unit 526, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
- the demodulator 522 demodulates the signal supplied from the tuner and outputs the demodulated signal to the demultiplexer 523.
- the demultiplexer 523 separates the data supplied from the demodulation unit 522 into audio data, video data, and EPG data, and outputs them to the audio decoder 524, the video decoder 525, or the recorder control unit 526, respectively.
- the audio decoder 524 decodes the input audio data by, for example, the MPEG system, and outputs it to the recording / playback unit 533.
- the video decoder 525 decodes the input video data using, for example, the MPEG system, and outputs the decoded video data to the display converter 530.
- the recorder control unit 526 supplies the input EPG data to the EPG data memory 527 for storage.
- the display converter 530 encodes the video data supplied from the video decoder 525 or the recorder control unit 526 into video data of, for example, NTSC (National Television Standards Committee) using the video encoder 541 and outputs the video data to the recording / reproducing unit 533.
- the display converter 530 converts the screen size of the video data supplied from the video decoder 525 or the recorder control unit 526 into a size corresponding to the size of the monitor 560.
- the display converter 530 further converts the video data whose screen size is converted into NTSC video data by the video encoder 541, converts the video data into an analog signal, and outputs the analog signal to the display control unit 532.
- the display control unit 532 superimposes the OSD signal output from the OSD (On Screen Display) control unit 531 on the video signal input from the display converter 530 under the control of the recorder control unit 526 and displays the OSD signal on the display of the monitor 560. Output and display.
- OSD On Screen Display
- the monitor 560 is also supplied with the audio data output from the audio decoder 524 after being converted into an analog signal by the D / A converter 534.
- the monitor 560 outputs this audio signal from a built-in speaker.
- the recording / playback unit 533 has a hard disk as a storage medium for recording video data, audio data, and the like.
- the recording / playback unit 533 encodes the audio data supplied from the audio decoder 524 by the encoder 551 in the MPEG system. Further, the recording / reproducing unit 533 encodes the video data supplied from the video encoder 541 of the display converter 530 by the MPEG method using the encoder 551. The recording / playback unit 533 combines the encoded data of the audio data and the encoded data of the video data by a multiplexer. The recording / reproducing unit 533 amplifies the synthesized data by channel coding, and writes the data to the hard disk via the recording head.
- the recording / playback unit 533 plays back the data recorded on the hard disk via the playback head, amplifies it, and separates it into audio data and video data by a demultiplexer.
- the recording / playback unit 533 uses the decoder 552 to decode the audio data and video data using the MPEG system.
- the recording / playback unit 533 performs D / A conversion on the decoded audio data and outputs it to the speaker of the monitor 560.
- the recording / playback unit 533 performs D / A conversion on the decoded video data and outputs it to the display of the monitor 560.
- the recorder control unit 526 reads the latest EPG data from the EPG data memory 527 based on the user instruction indicated by the infrared signal from the remote controller received via the receiving unit 521, and supplies it to the OSD control unit 531. To do.
- the OSD control unit 531 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 532.
- the display control unit 532 outputs the video data input from the OSD control unit 531 to the display of the monitor 560 for display. As a result, an EPG (electronic program guide) is displayed on the display of the monitor 560.
- the hard disk recorder 500 can acquire various data such as video data, audio data, or EPG data supplied from other devices via a network such as the Internet.
- the communication unit 535 is controlled by the recorder control unit 526, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies it to the recorder control unit 526. To do.
- the recorder control unit 526 supplies the encoded data of the acquired video data and audio data to the recording / reproducing unit 533 and stores the data in the hard disk.
- the recorder control unit 526 and the recording / playback unit 533 may perform processing such as re-encoding as necessary.
- the recorder control unit 526 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 530.
- the display converter 530 processes the video data supplied from the recorder control unit 526 in the same manner as the video data supplied from the video decoder 525, supplies the processed video data to the monitor 560 via the display control unit 532, and displays the image. .
- the recorder control unit 526 may supply the decoded audio data to the monitor 560 via the D / A converter 534 and output the sound from the speaker.
- the recorder control unit 526 decodes the encoded data of the acquired EPG data, and supplies the decoded EPG data to the EPG data memory 527.
- the hard disk recorder 500 as described above uses the image decoding device 151 as a decoder incorporated in the video decoder 525, the decoder 552, and the recorder control unit 526. Therefore, the decoder incorporated in the video decoder 525, the decoder 552, and the recorder control unit 526 can improve the encoding efficiency in the intra prediction as in the case of the image decoding device 151.
- the hard disk recorder 500 can generate a predicted image with high accuracy.
- the hard disk recorder 500 acquires, for example, encoded data of video data received via a tuner, encoded data of video data read from the hard disk of the recording / playback unit 533, or via a network. From the encoded data of the video data, a higher-definition decoded image can be obtained and displayed on the monitor 560.
- the hard disk recorder 500 uses the image encoding device 51 as the encoder 551. Therefore, the encoder 551 can improve the encoding efficiency in the intra prediction as in the case of the image encoding device 51.
- the hard disk recorder 500 can improve the encoding efficiency of the encoded data recorded on the hard disk, for example. As a result, the hard disk recorder 500 can use the storage area of the hard disk more efficiently.
- the hard disk recorder 500 that records video data and audio data on the hard disk has been described.
- any recording medium may be used.
- the image encoding device 51 and the image decoding device 151 are applied as in the case of the hard disk recorder 500 described above. Can do.
- FIG. 31 is a block diagram illustrating a main configuration example of a camera using an image decoding device and an image encoding device to which the present invention has been applied.
- the camera 600 shown in FIG. 31 captures a subject, displays an image of the subject on the LCD 616, and records it on the recording medium 633 as image data.
- the lens block 611 causes light (that is, an image of the subject) to enter the CCD / CMOS 612.
- the CCD / CMOS 612 is an image sensor using CCD or CMOS, converts the intensity of received light into an electric signal, and supplies it to the camera signal processing unit 613.
- the camera signal processing unit 613 converts the electrical signal supplied from the CCD / CMOS 612 into Y, Cr, and Cb color difference signals and supplies them to the image signal processing unit 614.
- the image signal processing unit 614 performs predetermined image processing on the image signal supplied from the camera signal processing unit 613 under the control of the controller 621, and encodes the image signal by the encoder 641 using, for example, the MPEG method. To do.
- the image signal processing unit 614 supplies encoded data generated by encoding the image signal to the decoder 615. Further, the image signal processing unit 614 acquires display data generated in the on-screen display (OSD) 620 and supplies it to the decoder 615.
- OSD on-screen display
- the camera signal processing unit 613 appropriately uses DRAM (Dynamic Random Access Memory) 618 connected via the bus 617, and image data or a code obtained by encoding the image data as necessary.
- DRAM Dynamic Random Access Memory
- the digitized data is held in the DRAM 618.
- the decoder 615 decodes the encoded data supplied from the image signal processing unit 614 and supplies the obtained image data (decoded image data) to the LCD 616. In addition, the decoder 615 supplies the display data supplied from the image signal processing unit 614 to the LCD 616. The LCD 616 appropriately synthesizes the image of the decoded image data supplied from the decoder 615 and the image of the display data, and displays the synthesized image.
- the on-screen display 620 outputs display data such as menu screens and icons composed of symbols, characters, or figures to the image signal processing unit 614 via the bus 617 under the control of the controller 621.
- the controller 621 executes various processes based on a signal indicating the content instructed by the user using the operation unit 622, and also via the bus 617, an image signal processing unit 614, a DRAM 618, an external interface 619, an on-screen display. 620, media drive 623, and the like are controlled.
- the FLASH ROM 624 stores programs and data necessary for the controller 621 to execute various processes.
- the controller 621 can encode the image data stored in the DRAM 618 or decode the encoded data stored in the DRAM 618 instead of the image signal processing unit 614 or the decoder 615.
- the controller 621 may perform the encoding / decoding process by a method similar to the encoding / decoding method of the image signal processing unit 614 or the decoder 615, or the image signal processing unit 614 or the decoder 615 can handle this.
- the encoding / decoding process may be performed by a method that is not performed.
- the controller 621 reads image data from the DRAM 618 and supplies it to the printer 634 connected to the external interface 619 via the bus 617. Let it print.
- the controller 621 reads the encoded data from the DRAM 618 and supplies it to the recording medium 633 attached to the media drive 623 via the bus 617.
- the recording medium 633 is an arbitrary readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
- the recording medium 633 may be of any type as a removable medium, and may be a tape device, a disk, or a memory card.
- a non-contact IC card or the like may be used.
- media drive 623 and the recording medium 633 may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
- SSD Solid State Drive
- the external interface 619 includes, for example, a USB input / output terminal and is connected to the printer 634 when printing an image.
- a drive 631 is connected to the external interface 619 as necessary, and a removable medium 632 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is loaded as necessary. Installed in the FLASH ROM 624.
- the external interface 619 has a network interface connected to a predetermined network such as a LAN or the Internet.
- the controller 621 can read the encoded data from the DRAM 618 in accordance with an instruction from the operation unit 622 and supply the encoded data from the external interface 619 to another device connected via the network. Also, the controller 621 acquires encoded data and image data supplied from other devices via the network via the external interface 619 and holds them in the DRAM 618 or supplies them to the image signal processing unit 614. Can be.
- the camera 600 as described above uses the image decoding device 151 as the decoder 615. Therefore, the decoder 615 can improve the encoding efficiency in the intra prediction as in the case of the image decoding device 151.
- the camera 600 can generate a predicted image with high accuracy.
- the camera 600 encodes, for example, image data generated in the CCD / CMOS 612, encoded data of video data read from the DRAM 618 or the recording medium 633, and encoded video data acquired via the network.
- a higher-resolution decoded image can be obtained from the data and displayed on the LCD 616.
- the camera 600 uses the image encoding device 51 as the encoder 641. Therefore, the encoder 641 can improve the encoding efficiency in the intra prediction, as in the case of the image encoding device 51.
- the camera 600 can improve the encoding efficiency of the encoded data recorded on the hard disk. As a result, the camera 600 can use the storage area of the DRAM 618 and the recording medium 633 more efficiently.
- the decoding method of the image decoding device 151 may be applied to the decoding process performed by the controller 621.
- the encoding method of the image encoding device 51 may be applied to the encoding process performed by the controller 621.
- the image data captured by the camera 600 may be a moving image or a still image.
- the image encoding device 51 and the image decoding device 151 can also be applied to devices and systems other than the devices described above.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
図2は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
はじめに、H.264/AVC方式で定められているイントラ予測の各モードについて説明する。
画素a, e, i, mの予測画素値 = A
画素b, f, j, nの予測画素値 = B
画素c, g, k, oの予測画素値 = C
画素d, h, l, pの予測画素値 = D ・・・(1)
画素a, b, c, dの予測画素値 = I
画素e, f, g, hの予測画素値 = J
画素i, j, k, lの予測画素値 = K
画素m, n, o, pの予測画素値 = L ・・・(2)
(A+B+C+D+I+J+K+L+4) >> 3 ・・・(3)
(I+J+K+L+2) >> 2 ・・・(4)
(A+B+C+D+2) >> 2 ・・・(5)
画素aの予測画素値 = (A+2B+C+2) >> 2
画素b,eの予測画素値 = (B+2C+D+2) >> 2
画素c,f,iの予測画素値 = (C+2D+E+2) >> 2
画素d,g,j,mの予測画素値= (D+2E+F+2) >> 2
画素h,k,nの予測画素値 = (E+2F+G+2) >> 2
画素l,oの予測画素値 = (F+2G+H+2) >> 2
画素pの予測画素値 = (G+3H+2) >> 2
・・・(6)
画素mの予測画素値 = (J+2K+L+2) >> 2
画素i,nの予測画素値 = (I+2J+K+2) >> 2
画素e,j,oの予測画素値 = (M+2I+J+2) >> 2
画素a,f,k,pの予測画素値= (A+2M+I+2) >> 2
画素b,g,lの予測画素値 = (M+2A+B+2) >> 2
画素c,hの予測画素値 = (A+2B+C+2) >> 2
画素dの予測画素値 = (B+2C+D+2) >> 2
・・・(7)
画素a,jの予測画素値 = (M+A+1) >> 1
画素b,kの予測画素値 = (A+B+1) >> 1
画素c,lの予測画素値 = (B+C+1) >> 1
画素dの予測画素値 = (C+D+1) >> 1
画素e,nの予測画素値 = (I+2M+A+2) >> 2
画素f,oの予測画素値 = (M+2A+B+2) >> 2
画素g,pの予測画素値 = (A+2B+C+2) >> 2
画素hの予測画素値 = (B+2C+D+2) >> 2
画素iの予測画素値 = (M+2I+J+2) >> 2
画素mの予測画素値 = (I+2J+K+2) >> 2
・・・(8)
画素a,gの予測画素値 = (M+I+1) >> 1
画素b,hの予測画素値 = (I+2M+A+2) >> 2
画素cの予測画素値 = (M+2A+B+2) >> 2
画素dの予測画素値 = (A+2B+C+2) >> 2
画素e,kの予測画素値 = (I+J+1) >> 1
画素f,lの予測画素値 = (M+2I+J+2) >> 2
画素i,oの予測画素値 = (J+K+1) >> 1
画素j,pの予測画素値 = (I+2J+K+2) >> 2
画素mの予測画素値 = (K+L+1) >> 1
画素nの予測画素値 = (J+2K+L+2) >> 2
・・・(9)
画素aの予測画素値 = (A+B+1) >> 1
画素b,iの予測画素値 = (B+C+1) >> 1
画素c,jの予測画素値 = (C+D+1) >> 1
画素d,kの予測画素値 = (D+E+1) >> 1
画素lの予測画素値 = (E+F+1) >> 1
画素eの予測画素値 = (A+2B+C+2) >> 2
画素f,mの予測画素値 = (B+2C+D+2) >> 2
画素g,nの予測画素値 = (C+2D+E+2) >> 2
画素h,oの予測画素値 = (D+2E+F+2) >> 2
画素pの予測画素値 = (E+2F+G+2) >> 2
・・・(10)
画素aの予測画素値 = (I+J+1) >> 1
画素bの予測画素値 = (I+2J+K+2) >> 2
画素c,eの予測画素値 = (J+K+1) >> 1
画素d,fの予測画素値 = (J+2K+L+2) >> 2
画素g,iの予測画素値 = (K+L+1) >> 1
画素h,jの予測画素値 = (K+3L+2) >> 2
画素k,l,m,n,o,pの予測画素値 = L
・・・(11)
MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)
・・・(12)
Intra4x4PredMode[luma4x4BlkIdx] = MostProbableMode
else
if(rem_intra4x4_pred_mode[luma4x4BlkIdx] < MostProbableMode)
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]
else
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx] + 1
・・・(13)
p’[0,-1] = (p[-1,-1] + 2*p[0,-1] + p[1,-1] + 2) >> 2
・・・(14)
p’[0,-1] = (3*p[0,-1] + p[1,-1] + 2) >> 2
・・・(15)
p’[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
・・・(16)
p’[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
p’[15,-1] = (p[14,-1] + 3*p[15,-1] + 2) >>2
・・・(17)
p’[-1,-1] = (p[0,-1] + 2*p[-1,-1] + p[-1,0] + 2) >>2
・・・(18)
p’[-1,-1] = (3*p[-1,-1] + p[0,-1] + 2) >>2
・・・(19)
p’[-1,-1] = (3*p[-1,-1] + p[-1,0] + 2) >>2
・・・(20)
p’[-1,0] = (p[-1,-1] + 2*p[-1,0] + p[-1,1] + 2) >>2
・・・(21)
p’[-1,0] = (3*p[-1,0] + p[-1,1] + 2) >>2
・・・(22)
p[-1,y] = (p[-1,y-1] + 2*p[-1,y] + p[-1,y+1] + 2) >>2
・・・(23)
p’[-1,7] = (p[-1,6] + 3*p[-1,7] + 2) >>2
・・・(24)
pred8x8L[x,y] = p’[x,-1] x,y=0,...,7
・・・(25)
pred8x8L[x,y] = p’[-1,y] x,y=0,...,7
・・・(26)
pred8x8L[x,y] = 128
・・・(30)
ただし、式(30)は、8ビット入力の場合を表している。
pred8x8L[x,y] = (p’[14,-1] + 3*p[15,-1] + 2) >> 2
・・・(31)
red8x8L[x,y] = (p’[x+y,-1] + 2*p’[x+y+1,-1] + p’[x+y+2,-1] + 2) >> 2
・・・(32)
pred8x8L[x,y] = (p’[x-y-2,-1] + 2*p’[x-y-1,-1] + p’[x-y,-1] + 2) >> 2
・・・(33)
pred8x8L[x,y] = (p’[-1,y-x-2] + 2*p’[-1,y-x-1] + p’[-1,y-x] + 2) >> 2
・・・(34)
pred8x8L[x,y] = (p’[0,-1] + 2*p’[-1,-1] + p’[-1,0] + 2) >> 2
・・・(35)
うに定義する。
zVR = 2*x - y
・・・(36)
pred8x8L[x,y] = (p’[x-(y>>1)-1,-1] + p’[x-(y>>1),-1] + 1) >> 1
・・・(37)
pred8x8L[x,y]
= (p’[x-(y>>1)-2,-1] + 2*p’[x-(y>>1)-1,-1] + p’[x-(y>>1),-1] + 2) >> 2
・・・(38)
pred8x8L[x,y] = (p’[-1,0] + 2*p’[-1,-1] + p’[0,-1] + 2) >> 2
・・・(39)
pred8x8L[x,y] = (p’[-1,y-2*x-1] + 2*p’[-1,y-2*x-2] + p’[-1,y-2*x-3] + 2) >> 2
・・・(40)
zHD = 2*y - x
・・・(41)
pred8x8L[x,y] = (p’[-1,y-(x>>1)-1] + p’[-1,y-(x>>1) + 1] >> 1
・・・(42)
pred8x8L[x,y]
= (p’[-1,y-(x>>1)-2] + 2*p’[-1,y-(x>>1)-1] + p’[-1,y-(x>>1)] + 2) >> 2
・・・(43)
pred8x8L[x,y] = (p’[-1,0] + 2*p[-1,-1] + p’[0,-1] + 2) >> 2
・・・(44)
pred8x8L[x,y] = (p’[x-2*y-1,-1] + 2*p’[x-2*y-2,-1] + p’[x-2*y-3,-1] + 2) >> 2
・・・(45)
pred8x8L[x,y] = (p’[x+(y>>1),-1] + p’[x+(y>>1)+1,-1] + 1) >> 1
・・・(46)
pred8x8L[x,y]
= (p’[x+(y>>1),-1] + 2*p’[x+(y>>1)+1,-1] + p’[x+(y>>1)+2,-1] + 2) >> 2
・・・(47)
zHU = x + 2*y
・・・(48)
pred8x8L[x,y] = (p’[-1,y+(x>>1)] + p’[-1,y+(x>>1)+1] + 1) >> 1
・・・(49)
pred8x8L[x,y] = (p’[-1,y+(x>>1)]
・・・(50)
pred8x8L[x,y] = (p’[-1,6] + 3*p’[-1,7] + 2) >> 2
・・・(51)
pred8x8L[x,y] = p’[-1,7]
・・・(52)
Pred(x,y) = P(x,-1);x,y=0,…,15
・・・(53)
Pred(x,y) = P(-1,y);x,y=0,…,15
・・・(54)
Pred(x,y) = P(-1,y);x,y=0,…,7
・・・(62)
Pred(x,y) = P(x,-1);x,y=0,…,7
・・・(63)
図2の画像符号化装置51においては、イントラ予測を行う際、複数ライン分の隣接画素値をラインバッファに格納し、これを用いてイントラ予測が行われる。
図18は、上述したイントラ予測を行うイントラ予測部73およびスプライン補間部75の詳細な構成例を示すブロック図である。
次に、図19のフローチャートを参照して、図1の画像符号化装置51の符号化処理について説明する。
次に、図20のフローチャートを参照して、図19のステップS21におけるイントラ予測処理を説明する。なお、図20の例においては、輝度信号の場合を例として説明する。
次に、図21のフローチャートを参照して、図19のステップS22のインター動き予測処理について説明する。
図23は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
図24は、イントラ予測部170およびスプライン補間部172の詳細な構成例を示すブロック図である。
次に、図25のフローチャートを参照して、画像復号装置151が実行する復号処理について説明する。
次に、図26のフローチャートを参照して、図25のステップS138の予測処理を説明する。
図27は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図28は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図29は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
図30は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図31は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
Claims (13)
- 対象ブロックの複数ラインの隣接画素を受け取る受け取り手段と、
前記受け取り手段により受け取られた前記複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成するイントラ予測手段と、
生成された前記対象ブロックのイントラ予測画素値に基づいて、前記対象ブロックの画像を符号化する符号化手段と
を備える画像処理装置。 - 前記イントラ予測手段は、
前記複数ラインの隣接画素を用いて多項式近似によって補間パラメータを算出するパラメータ算出手段と、
前記パラメータ算出手段により算出された前記補間パラメータを用いて、前記対象ブロックのイントラ予測画素値を生成する予測画像生成手段と
を備える請求項1に記載の画像処理装置。 - 前記イントラ予測手段は、前記受け取り手段により受け取られたN(N<1)ラインの隣接画素を用いる際、N-1次の多項式近似による外挿処理を行う
請求項2に記載の画像処理装置。 - 前記パラメータ算出手段は、前記Nラインの隣接画素を用い、N次の連立方程式を解くことで、前記N-1次の多項式のN個の定数を算出し、
前記予測画像生成手段は、前記パラメータ算出手段により算出された前記N個の定数を用いた前記N-1次の多項式により、前記対象ブロックのイントラ予測画素値を生成する
請求項3に記載の画像処理装置。 - 前記予測画像生成手段は、入力信号がNビットの画像信号である場合、生成された前記イントラ予測画素値を、0~2N-1の範囲の値にクリップする
請求項4に記載の画像処理装置。 - 前記イントラ予測手段は、前記受け取り手段により受け取られた前記Nラインの隣接画素に、物体境界が含まれるか否かを検出した検出結果に応じた次数の多項式近似による外挿処理を行う
請求項2に記載の画像処理装置。 - 前記イントラ予測手段は、隣接画素における画素間の差分情報により、前記物体境界であるか否かを判定する
請求項6に記載の画像処理装置。 - 前記イントラ予測手段は、量子化パラメータに応じて定められる閾値を用いて、隣接画素における画素間の差分情報により、前記物体境界であるか否かを判定する
請求項7に記載の画像処理装置。 - 前記閾値は、より大きな量子化パラメータに対してより大きく設定される
請求項8に記載の画像処理装置。 - 前記イントラ予測手段は、前記対象ブロックのブロックサイズの大きさに応じた数の前記複数ラインの隣接画素を用いる
請求項2に記載の画像処理装置。 - 画像処理装置の受け取り手段が、
対象ブロックの複数ラインの隣接画素を受け取り、
前記画像処理装置のイントラ予測手段が、
受け取られた前記対象ブロックの複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成し、
前記画像処理装置の符号化手段が、
生成された前記対象ブロックのイントラ予測画素値に基づいて、前記対象ブロックの画像を符号化する
画像処理方法。 - 対象ブロックの画像が符号化された符号化情報を復号してイントラ予測モードを取得する復号手段と、
前記イントラ予測モードに応じた前記対象ブロックの複数ラインの隣接画素を受け取る受け取り手段と、
前記受け取り手段により受け取られた前記複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成するイントラ予測手段と
を備える画像処理装置。 - 画像処理装置の復号手段が、
対象ブロックの画像が符号化された符号化情報を復号してイントラ予測モードを取得し、
前記画像処理装置の受け取り手段が、
前記イントラ予測モードに応じた前記対象ブロックの複数ラインの隣接画素を受け取り、
前記画像処理装置のイントラ予測手段が、
受け取られた前記対象ブロックの複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成する
画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011800060990A CN102714734A (zh) | 2010-01-22 | 2011-01-14 | 图像处理设备和方法 |
US13/521,729 US20120287998A1 (en) | 2010-01-22 | 2011-01-14 | Image processing apparatus and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010012514A JP2011151682A (ja) | 2010-01-22 | 2010-01-22 | 画像処理装置および方法 |
JP2010-012514 | 2010-01-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011089972A1 true WO2011089972A1 (ja) | 2011-07-28 |
Family
ID=44306775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/050493 WO2011089972A1 (ja) | 2010-01-22 | 2011-01-14 | 画像処理装置および方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120287998A1 (ja) |
JP (1) | JP2011151682A (ja) |
CN (1) | CN102714734A (ja) |
WO (1) | WO2011089972A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015526004A (ja) * | 2012-07-04 | 2015-09-07 | トムソン ライセンシングThomson Licensing | 空間予測方法及び空間予測装置 |
AU2019210516B2 (en) * | 2012-09-24 | 2021-02-11 | Ntt Docomo, Inc. | Video prediction encoding device, video prediction encoding method, video prediction decoding device and video prediction decoding method |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9106933B1 (en) * | 2010-05-18 | 2015-08-11 | Google Inc. | Apparatus and method for encoding video using different second-stage transform |
WO2012134046A2 (ko) | 2011-04-01 | 2012-10-04 | 주식회사 아이벡스피티홀딩스 | 동영상의 부호화 방법 |
US8886648B1 (en) | 2012-01-31 | 2014-11-11 | Google Inc. | System and method for computation of document similarity |
US9781447B1 (en) | 2012-06-21 | 2017-10-03 | Google Inc. | Correlation based inter-plane prediction encoding and decoding |
US9167268B1 (en) | 2012-08-09 | 2015-10-20 | Google Inc. | Second-order orthogonal spatial intra prediction |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9344742B2 (en) | 2012-08-10 | 2016-05-17 | Google Inc. | Transform-domain intra prediction |
US9978156B2 (en) * | 2012-10-03 | 2018-05-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | High-throughput image and video compression |
US9369732B2 (en) | 2012-10-08 | 2016-06-14 | Google Inc. | Lossless intra-prediction video coding |
US9628790B1 (en) | 2013-01-03 | 2017-04-18 | Google Inc. | Adaptive composite intra prediction for image and video compression |
KR101466574B1 (ko) * | 2013-03-19 | 2014-12-02 | 삼성전자주식회사 | 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치 |
GB2516426B (en) * | 2013-07-17 | 2015-10-07 | Gurulogic Microsystems Oy | Encoder, decoder and method of operation using interpolation |
US9247251B1 (en) * | 2013-07-26 | 2016-01-26 | Google Inc. | Right-edge extension for quad-tree intra-prediction |
US10223472B2 (en) * | 2015-12-15 | 2019-03-05 | Facebook, Inc. | Systems and methods for providing progressive images based on data range requests |
US10390021B2 (en) * | 2016-03-18 | 2019-08-20 | Mediatek Inc. | Method and apparatus of video coding |
CN112771865B (zh) * | 2018-08-23 | 2024-11-19 | 交互数字Ce专利控股公司 | 使用参数化模型对量化矩阵进行编解码 |
CN113994703A (zh) * | 2019-06-11 | 2022-01-28 | 索尼集团公司 | 图像处理装置和图像处理方法 |
WO2025011499A1 (en) * | 2023-07-07 | 2025-01-16 | Mediatek Inc. | Extrapolation intra prediction model inheritance |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005107267A1 (ja) * | 2004-04-28 | 2005-11-10 | Hitachi, Ltd. | 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法 |
JP2008245088A (ja) * | 2007-03-28 | 2008-10-09 | Kddi R & D Laboratories Inc | 動画像符号化装置および動画像復号装置のイントラ予測方式 |
WO2009051091A1 (ja) * | 2007-10-15 | 2009-04-23 | Nippon Telegraph And Telephone Corporation | 画像符号化装置及び復号装置、画像符号化方法及び復号方法、それらのプログラム並びにプログラムを記録した記録媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004328634A (ja) * | 2003-04-28 | 2004-11-18 | Sony Corp | 画像復号化装置及び方法 |
US7792188B2 (en) * | 2004-06-27 | 2010-09-07 | Apple Inc. | Selecting encoding types and predictive modes for encoding video data |
JP2009111691A (ja) * | 2007-10-30 | 2009-05-21 | Hitachi Ltd | 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法 |
CN101216541B (zh) * | 2008-01-15 | 2012-06-06 | 新博医疗技术有限公司 | 一种磁共振成像系统梯度场球谐系数的获取方法 |
-
2010
- 2010-01-22 JP JP2010012514A patent/JP2011151682A/ja not_active Withdrawn
-
2011
- 2011-01-14 CN CN2011800060990A patent/CN102714734A/zh active Pending
- 2011-01-14 WO PCT/JP2011/050493 patent/WO2011089972A1/ja active Application Filing
- 2011-01-14 US US13/521,729 patent/US20120287998A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005107267A1 (ja) * | 2004-04-28 | 2005-11-10 | Hitachi, Ltd. | 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法 |
JP2008245088A (ja) * | 2007-03-28 | 2008-10-09 | Kddi R & D Laboratories Inc | 動画像符号化装置および動画像復号装置のイントラ予測方式 |
WO2009051091A1 (ja) * | 2007-10-15 | 2009-04-23 | Nippon Telegraph And Telephone Corporation | 画像符号化装置及び復号装置、画像符号化方法及び復号方法、それらのプログラム並びにプログラムを記録した記録媒体 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015526004A (ja) * | 2012-07-04 | 2015-09-07 | トムソン ライセンシングThomson Licensing | 空間予測方法及び空間予測装置 |
JP2017195638A (ja) * | 2012-07-04 | 2017-10-26 | トムソン ライセンシングThomson Licensing | 符合化及び復号化のための方法及び装置 |
US9848204B2 (en) | 2012-07-04 | 2017-12-19 | Thomson Licensing | Spatial prediction method and device, coding and decoding methods and devices |
AU2019210516B2 (en) * | 2012-09-24 | 2021-02-11 | Ntt Docomo, Inc. | Video prediction encoding device, video prediction encoding method, video prediction decoding device and video prediction decoding method |
AU2019210532B2 (en) * | 2012-09-24 | 2021-03-04 | Ntt Docomo, Inc. | Video prediction encoding device, video prediction encoding method, video prediction decoding device and video prediction decoding method |
Also Published As
Publication number | Publication date |
---|---|
JP2011151682A (ja) | 2011-08-04 |
CN102714734A (zh) | 2012-10-03 |
US20120287998A1 (en) | 2012-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011089972A1 (ja) | 画像処理装置および方法 | |
JP5597968B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
WO2011018965A1 (ja) | 画像処理装置および方法 | |
WO2011040302A1 (ja) | 画像処理装置および方法 | |
WO2010095560A1 (ja) | 画像処理装置および方法 | |
WO2011024685A1 (ja) | 画像処理装置および方法 | |
WO2011125866A1 (ja) | 画像処理装置および方法 | |
WO2012096229A1 (ja) | 符号化装置および符号化方法、並びに復号装置および復号方法 | |
WO2011089973A1 (ja) | 画像処理装置および方法 | |
WO2010035732A1 (ja) | 画像処理装置および方法 | |
WO2011086964A1 (ja) | 画像処理装置および方法、並びにプログラム | |
JP5556996B2 (ja) | 画像処理装置および方法 | |
WO2011086963A1 (ja) | 画像処理装置および方法 | |
WO2010101063A1 (ja) | 画像処理装置および方法 | |
JP2011151431A (ja) | 画像処理装置および方法 | |
WO2010035735A1 (ja) | 画像処理装置および方法 | |
JP6048774B2 (ja) | 画像処理装置および方法 | |
JP2012138884A (ja) | 符号化装置および符号化方法、並びに復号装置および復号方法 | |
WO2012081477A1 (ja) | 画像処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180006099.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11734579 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13521729 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11734579 Country of ref document: EP Kind code of ref document: A1 |