WO2012173063A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2012173063A1 WO2012173063A1 PCT/JP2012/064809 JP2012064809W WO2012173063A1 WO 2012173063 A1 WO2012173063 A1 WO 2012173063A1 JP 2012064809 W JP2012064809 W JP 2012064809W WO 2012173063 A1 WO2012173063 A1 WO 2012173063A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quantization matrix
- unit
- image
- quantization
- prediction
- Prior art date
Links
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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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
Definitions
- the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of improving encoding efficiency.
- MPEG compressed by orthogonal transform such as discrete cosine transform and motion compensation
- a device that conforms to a method such as Moving (Pictures Experts Group) has been widely used for both information distribution in broadcasting stations and information reception in general households.
- MPEG2 International Organization for Standardization
- IEC International Electrotechnical Commission
- MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
- bit rate code amount
- MPEG4 encoding system has been standardized accordingly.
- the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
- H.26L International Telecommunication Union Telecommunication Standardization Sector
- Q6 / 16 VCEG Video Coding Expert Group
- 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.
- Joint Model of Enhanced-Compression Video Coding is being carried out based on this H.26L, incorporating functions not supported by H.26L, and realizing higher coding efficiency. It was broken.
- AVC Advanced Video Coding
- the macro block size of 16 pixels x 16 pixels is optimal for large image frames such as UHD (Ultra High Definition: 4000 pixels x 2000 pixels), which are the targets of the next generation coding system. There was no fear.
- HEVC High Efficiency Video Video Coding
- JCTVC Joint Collaboration Collaboration Team Video Coding
- a coding unit (Coding Unit) is defined as a processing unit similar to a macroblock in AVC.
- the CU is not fixed to a size of 16 ⁇ 16 pixels like the AVC macroblock, and is specified in the image compression information in each sequence.
- the residual by prediction before orthogonal transform differs depending on the prediction direction in the case of intra prediction, but in the encoding process using the quantization matrix, the code that takes into account the bias of the residual Therefore, there is a possibility that sufficient encoding efficiency cannot be achieved.
- the present disclosure has been made in view of such a situation, and aims to improve encoding efficiency.
- One aspect of the present disclosure includes a decoding unit that decodes encoded data obtained by encoding an image to generate transform coefficient data, and a quantization matrix that is set according to a prediction mode used when the image is encoded And an inverse quantization unit that inversely quantizes the transform coefficient data generated by the decoding unit.
- the quantization example can be set according to a prediction mode of intra prediction.
- the quantization matrix can be set according to the type of intra prediction mode.
- the quantization matrix can be set according to the prediction direction of intra prediction.
- the quantization matrix can be set by correcting a basic quantization matrix that reflects a bias of a coefficient distribution of orthogonal transform coefficients according to a predetermined prediction direction of the intra prediction.
- the quantization matrix may be set by mixing some or all of the plurality of basic quantization matrices corresponding to different prediction directions using a parameter having a value corresponding to the prediction direction. it can.
- the quantization matrix can be set by weighted addition of a plurality of the basic quantization matrices using the parameters.
- the quantization matrix is set by mixing two basic quantization matrices corresponding to prediction directions orthogonal to each other on a one-to-one basis when the prediction mode of the region is a direct current mode or an inter prediction mode. Can be done.
- the quantization matrix may be set using a predetermined quantization matrix initial value when the basic quantization matrix cannot be obtained.
- the quantization matrix is a predetermined value based on flag information for each prediction direction of the intra prediction, a quantization matrix reflecting a bias of a coefficient distribution of orthogonal transform coefficients according to the prediction direction Or a quantization matrix initial value that is a quantization matrix that does not reflect the bias of the coefficient distribution.
- the quantization matrix can be set using the quantization matrix initial value.
- the quantization matrix can be set using the quantization matrix update value used in the immediately preceding intra picture.
- the image processing apparatus when the image processing apparatus decodes encoded data obtained by encoding an image to generate transform coefficient data, and encodes the image.
- the generated transform coefficient data is inversely quantized using a quantization matrix set in accordance with the used prediction mode.
- a setting unit that sets a quantization matrix used when quantizing the transform coefficient data of the image according to a prediction mode of a prediction process performed on an image to be encoded; Using the quantization matrix set by the setting unit, a quantization unit that quantizes the transform coefficient data, and an encoding unit that encodes the transform coefficient data quantized by the quantization unit An image processing apparatus is provided.
- the setting unit can set the quantization matrix according to a prediction mode of intra prediction.
- the setting unit can set the quantization matrix according to the type of prediction mode of intra prediction.
- the setting unit can set the quantization matrix according to the prediction direction of intra prediction.
- a basic quantization matrix setting unit that sets a basic quantization matrix that reflects a bias of a coefficient distribution of orthogonal transform coefficients according to a predetermined prediction direction of intra prediction performed on the image; and the setting unit includes the basic quantization matrix
- the quantization matrix can be set by correcting the basic quantization matrix set by the quantization matrix setting unit.
- the orthogonality according to the prediction direction A quantization matrix update value setting unit that sets a quantization matrix update value that is a quantization matrix that reflects the bias of the coefficient distribution of the transform coefficient, and the setting unit is set by the quantization matrix update value setting unit
- the quantization matrix update value or the quantization matrix initial value that is a quantization matrix that does not reflect the bias of the coefficient distribution can be set in the quantization matrix.
- the image processing apparatus converts the conversion coefficient data of the image according to a prediction mode of a prediction process performed on an image to be encoded.
- An image processing method for setting a quantization matrix to be used for quantization, quantizing the transform coefficient data using the set quantization matrix, and encoding the quantized transform coefficient data is an image processing method for setting a quantization matrix to be used for quantization, quantizing the transform coefficient data using the set quantization matrix, and encoding the quantized transform coefficient data .
- encoded coefficient data obtained by encoding an image is decoded to generate transform coefficient data, and a quantization matrix set according to a prediction mode used when the image is encoded is used.
- the generated transform coefficient data is inversely quantized.
- a quantization matrix used when quantizing transform coefficient data of an image is set according to a prediction mode of a prediction process performed on an image to be encoded. Using the quantized matrix, the transform coefficient data is quantized, and the quantized transform coefficient data is encoded.
- an image can be processed.
- encoding efficiency can be improved.
- FIG. 26 is a block diagram illustrating a main configuration example of a personal computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device.
- FIG. 1 is a block diagram illustrating a main configuration example of an image encoding device.
- the image encoding device 100 shown in FIG. Like the H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) coding system, the image data is encoded using a prediction process.
- H.264 and MPEG Motion Picture Experts Group 4 Part 10 (AVC (Advanced Video Coding)
- AVC Advanced Video Coding
- the image encoding device 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, a lossless encoding unit 106, and a storage buffer. 107.
- the image coding apparatus 100 also includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, a loop filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, and a prediction.
- An image selection unit 116 and a rate control unit 117 are included.
- the image encoding device 100 further includes a quantization matrix encoding unit 121.
- the A / D conversion unit 101 performs A / D conversion on the input image data, and supplies the converted image data (digital data) to the screen rearrangement buffer 102 for storage.
- the screen rearrangement buffer 102 rearranges the images of the frames in the stored display order in the order of frames for encoding in accordance with GOP (Group Of Picture), and the images in which the order of the frames is rearranged. This is supplied to the calculation unit 103.
- the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
- the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the prediction image selection unit 116 from the image read from the screen rearrangement buffer 102, and the difference information Is output to the orthogonal transform unit 104.
- the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102.
- the arithmetic unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
- the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 103. Note that this orthogonal transformation method is arbitrary.
- the orthogonal transform unit 104 supplies the transform coefficient to the quantization unit 105.
- the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
- the quantization unit 105 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 117, and performs the quantization. Note that this quantization method is arbitrary.
- the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
- the lossless encoding unit 106 encodes the transform coefficient quantized by the quantization unit 105 using an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 117, the code amount becomes a target value set by the rate control unit 117 (or approximates the target value).
- the lossless encoding unit 106 acquires intra prediction information including information indicating an intra prediction mode from the intra prediction unit 114, and moves inter prediction information including information indicating an inter prediction mode, motion vector information, and the like. Obtained from the prediction / compensation unit 115. Further, the lossless encoding unit 106 acquires filter coefficients used in the loop filter 111 and the like. Further, the lossless encoding unit 106 acquires information related to the quantization matrix from the quantization matrix encoding unit 121.
- the lossless encoding unit 106 encodes these various types of information using an arbitrary encoding method, and makes it a part of the header information of the encoded data (multiplexes).
- the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
- Examples of the encoding method of the lossless encoding unit 106 include variable length encoding or arithmetic encoding.
- Examples of variable length coding include H.264.
- CAVLC Context-Adaptive Variable Length Coding
- Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
- the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
- the accumulation buffer 107 outputs the stored encoded data as a bit stream at a predetermined timing, for example, to a recording device (recording medium) or a transmission path (not shown) in the subsequent stage. That is, various encoded information is supplied to the decoding side.
- the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108.
- the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
- the inverse quantization method may be any method as long as it is a method corresponding to the quantization processing by the quantization unit 105.
- the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
- the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to the orthogonal transform process by the orthogonal transform unit 104.
- the inverse orthogonal transform method may be any method as long as it corresponds to the orthogonal transform processing by the orthogonal transform unit 104.
- the inversely orthogonally transformed output (difference information restored locally) is supplied to the calculation unit 110.
- the calculation unit 110 converts the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 109, that is, locally restored difference information, into the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116. Are added to the predicted image to obtain a locally reconstructed image (hereinafter referred to as a reconstructed image).
- the reconstructed image is supplied to the loop filter 111 or the frame memory 112.
- the loop filter 111 includes a deblock filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the decoded image supplied from the calculation unit 110.
- the loop filter 111 removes block distortion of the decoded image by performing a deblocking filter process on the decoded image.
- the loop filter 111 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (decoded image from which block distortion has been removed). Do.
- the loop filter 111 may perform arbitrary filter processing on the decoded image. Further, the loop filter 111 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 106 and encode it as necessary.
- the loop filter 111 supplies a filter processing result (hereinafter referred to as a decoded image) to the frame memory 112.
- the frame memory 112 stores the reconstructed image supplied from the calculation unit 110 and the decoded image supplied from the loop filter 111, respectively.
- the frame memory 112 supplies the stored reconstructed image to the intra prediction unit 114 via the selection unit 113 at a predetermined timing or based on a request from the outside such as the intra prediction unit 114. Further, the frame memory 112 receives the stored decoded image at a predetermined timing or based on a request from the outside such as the motion prediction / compensation unit 115 via the selection unit 113. 115.
- the selection unit 113 indicates the supply destination of the image output from the frame memory 112. For example, in the case of intra prediction, the selection unit 113 reads an image (reconstructed image) that has not been subjected to filter processing from the frame memory 112 and supplies it to the intra prediction unit 114 as peripheral pixels.
- the selection unit 113 reads out an image (decoded image) that has been filtered from the frame memory 112, and supplies it as a reference image to the motion prediction / compensation unit 115.
- the intra prediction unit 114 When the intra prediction unit 114 acquires an image (peripheral image) of a peripheral region located around the processing target region from the frame memory 112, the intra prediction unit 114 basically uses a pixel value of the peripheral image to perform a prediction unit (PU). Intra prediction (intra-screen prediction) for generating a predicted image with the processing unit as the processing unit. The intra prediction unit 114 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
- Intra prediction modes intra prediction modes
- the intra prediction unit 114 generates a prediction image in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the intra prediction unit 114 selects the optimal intra prediction mode, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the predicted image selection unit 116.
- the intra prediction unit 114 appropriately supplies intra prediction information including information related to intra prediction, such as an optimal intra prediction mode, to the lossless encoding unit 106 to be encoded.
- the motion prediction / compensation unit 115 basically performs motion prediction (inter prediction) using the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 as a processing unit. And a motion compensation process is performed according to the detected motion vector to generate a predicted image (inter predicted image information).
- the motion prediction / compensation unit 115 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
- the motion prediction / compensation unit 115 generates a prediction image in all candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode. When the optimal inter prediction mode is selected, the motion prediction / compensation unit 115 supplies the predicted image generated in the optimal mode to the predicted image selection unit 116.
- the motion prediction / compensation unit 115 supplies inter prediction information including information related to inter prediction, such as an optimal inter prediction mode, to the lossless encoding unit 106 to be encoded.
- the predicted image selection unit 116 selects a supply source of a predicted image to be supplied to the calculation unit 103 or the calculation unit 110.
- the predicted image selection unit 116 selects the intra prediction unit 114 as a supply source of the predicted image, and supplies the predicted image supplied from the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110.
- the predicted image selection unit 116 selects the motion prediction / compensation unit 115 as a supply source of the predicted image, and calculates the predicted image supplied from the motion prediction / compensation unit 115 as the calculation unit 103. To the arithmetic unit 110.
- the rate control unit 117 controls the quantization operation rate of the quantization unit 105 based on the code amount of the encoded data stored in the storage buffer 107 so that overflow or underflow does not occur.
- the quantization matrix encoding unit 121 acquires information related to the intra prediction mode from the intra prediction unit 114. Also, the quantization matrix encoding unit 121 acquires information on the inter prediction mode from the motion prediction / compensation unit 115. The quantization matrix encoding unit 121 determines the quantization matrix used in the quantization process of the quantization unit 105 and the inverse quantization process of the inverse quantization unit 108 according to the prediction mode adopted as the optimum mode. Set.
- the quantization matrix encoding unit 121 supplies the selected quantization matrix to the quantization unit 105 and the inverse quantization unit 108.
- the quantization unit 105 performs the above-described quantization using the quantization matrix supplied from the quantization matrix encoding unit 121.
- the inverse quantization unit 108 performs the above-described inverse quantization using the quantization matrix supplied from the quantization matrix encoding unit 121.
- the quantization matrix encoding unit 121 supplies information related to the quantization matrix to the lossless encoding unit 106, encodes it, and transmits it to the decoding side.
- the quantization matrix (Scaling ⁇ List) can be used not only in the 8 ⁇ 8 orthogonal transform block but also in the 4 ⁇ 4 orthogonal transform block, and the following matrix is defined as a default value.
- the following matrix is defined as a default value.
- the following matrix is defined as a default value.
- the following matrix is defined as a default value.
- the following matrix is defined as a default value.
- the user can specify any value in the sequence parameter set or the picture parameter set.
- the quantization matrix is transmitted in the image compression information with a syntax as shown in FIG. 2, for example.
- delta_scale takes a value from -128 to 127, and indicates a difference from the immediately preceding scaling_list value.
- the value of useDefaultScalingMatrix is 1, the value of ScalingcalList is the initial value (Default).
- HEVC High Efficiency Video ITU Coding
- JCTVC Joint Collaboration Team Video Coding
- ISO / IEC ISO/ IEC
- the standardization of the encoding method called is being advanced.
- JCTVC-B205 (hereinafter referred to as Non-Patent Document 3) has been issued as Draft.
- Coding Unit is also called Coding Block (CTB), and is a partial area of a picture unit image that plays the same role as a macroblock in AVC.
- CTB Coding Block
- the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
- 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
- the sizes of these regions are specified, but each is limited to a square and a size represented by a power of 2.
- Fig. 3 shows an example of coding unit (Coding Unit) defined in HEVC.
- 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 that are one level below.
- the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
- Prediction Units PU
- TU Transform Unit
- area includes all the above-described various areas (for example, macroblock, sub-macroblock, LCU, CU, SCU, PU, TU, etc.) (any of them). .
- units other than those described above may be included, and units that are impossible according to the content of the description are appropriately excluded.
- HEVC intra prediction method Next, an intra prediction method defined in HEVC will be described.
- the unit of PU for intra prediction is 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, 32 ⁇ 32, or 64 ⁇ 64.
- intra prediction processing is performed based on a method called Angular Prediction described later.
- intra prediction processing is performed based on a method called Arbitrary Directional Intra (ADI) described later.
- ADI Arbitrary Directional Intra
- the following describes the Angular Prediction intra prediction method defined in the HEVC encoding method.
- FIG. 4 is a diagram for explaining the Angular Prediction intra prediction method.
- ADI Arbitrary Directional Intra
- FIG. 5 shows a diagram for explaining the Arbitrary Directional Intra (ADI) intra prediction method.
- ADI Arbitrary Directional Intra
- the adjacent pixel value located at the lower left is also used.
- the prediction modes of Vertical, Horizontal, DC, DiagonalLeDown-Left, Diagonal Down-Right, Vertical-Right, Horizontal-Down, Vertical-Left, and Horizontal-Up are defined.
- (dx, dy) is transmitted as encoded information in the image compression information.
- each coefficient of the difference image generally has a high possibility of having a strong correlation in the prediction direction, and tends to generate a high-frequency component in a direction perpendicular to the prediction direction. That is, the distribution of the orthogonal transform coefficients to be quantized (hereinafter also referred to as coefficient distribution) has a bias corresponding to the intra prediction mode (prediction direction).
- coefficient distribution the distribution of the orthogonal transform coefficients to be quantized
- the conventional quantization matrix used for the quantization process does not reflect such a bias of coefficients. Therefore, the amount of information cannot be sufficiently reduced by quantization, and there is a possibility that sufficient encoding efficiency cannot be achieved.
- a quantization matrix (quantization matrix for the intra prediction mode) that reflects the bias of the coefficient distribution is set, and quantization is performed using the quantization matrix. It is desirable to perform inverse quantization.
- the quantization matrix needs to be transmitted to the decoding side, in that case, for example, in each of the sequence parameter set and the picture parameter set, the quantization matrix is transmitted for each intra prediction mode.
- the quantization matrix encoding unit 121 of the image encoding device 100 defines qm_present_flag (mode), which is flag information for controlling the selection of the quantization matrix, for all intra prediction modes (mode). . Then, the image coding apparatus 100 selects a quantization matrix (quantization matrix update value) set for the intra prediction mode only for the intra prediction mode whose qm_present_flag (mode) value is “1”. .
- the quantization matrix update value is a quantization matrix reflecting the bias of the coefficient distribution according to the intra prediction mode (prediction direction) as described above. That is, the value of each coefficient of the quantization matrix update value is set so that the information amount of the orthogonal transform coefficient whose coefficient distribution is biased in the prediction direction can be further reduced by quantization.
- the image coding apparatus 100 uses this quantization matrix update value in quantization of the orthogonal transform coefficient of the difference image between the prediction image of the intra prediction mode and the input image, so that it can be used for other intra prediction modes. Compared to the case where a quantization matrix is used, the amount of information can be reduced and the encoding efficiency can be improved.
- this quantization matrix update value is also considered so as to suppress visual image quality degradation (that is, image quality degradation is not conspicuous), similarly to the conventional quantization matrix. .
- the image coding apparatus 100 uses a predetermined general-purpose quantization matrix (quantization matrix) for other prediction modes (such as an intra prediction mode in which the value of qm_present_flag (mode) is “0”). Select (Default).
- quantization matrix general-purpose quantization matrix for other prediction modes (such as an intra prediction mode in which the value of qm_present_flag (mode) is “0”). Select (Default).
- This initial value of the quantization matrix is a quantization matrix similar to the conventional one that does not reflect the bias of the coefficient distribution due to the intra prediction mode (prediction direction). That is, this quantization matrix initial value is known also on the decoding side and need not be transmitted.
- the initial value of the quantization matrix may be common to all intra prediction modes, but is not limited thereto, and may be a matrix that is different for each intra prediction mode, for example. However, even in that case, the bias of the coefficient distribution according to each prediction direction is not reflected.
- the image encoding device 100 includes the qm_present_flag (mode) of each intra prediction mode and the quantization matrix (quantization matrix update value) of the intra prediction mode in which the value of the qm_present_flag (mode) is “1”. Since it is only necessary to transmit only to the decoding side, it is possible to suppress a reduction in encoding efficiency due to transmission of the quantization matrix.
- FIG. 6 is a block diagram illustrating a main configuration example of the quantization matrix encoding unit 121.
- the quantization matrix encoding unit 121 includes a flag setting unit 131, a quantization matrix setting unit 132, and a quantization matrix selection unit 133.
- the flag setting unit 131 sets qm_present_flag (mode) for all intra prediction modes (mode), respectively. For example, the flag setting unit 131 sets qm_present_flag (mode) based on a user instruction or the like.
- the basis of the value of this qm_present_flag (mode) is arbitrary, and may be set based on any information other than user instructions. However, when the flag setting unit 131 sets qm_present_flag (mode) according to the user instruction, the user can set the quantization matrix update value only for the intra prediction mode desired by the user. .
- the value of qm_present_flag (mode) is arbitrary, and the quantization matrix update value may be set for any value of this flag.
- the bit length of qm_present_flag (mode) is also arbitrary. However, since qm_present_flag (mode) is transmitted to the decoding side, it is desirable in terms of encoding efficiency that the bit length be as short as possible.
- the flag setting unit 131 supplies qm_present_flag (mode) of each set intra prediction mode to the quantization matrix selection unit 133. Moreover, the flag setting part 131 supplies qm_present_flag (mode) of each set intra prediction mode to the lossless encoding part 106, encodes it, and transmits it to the decoding side.
- the quantization matrix setting unit 132 sets a quantization matrix update value for each intra prediction mode in which the value of qm_present_flag (mode) is “1”. For example, the quantization matrix setting unit 132 sets a quantization matrix update value based on a user instruction or the like. The basis for setting the quantization matrix update value is arbitrary, and may be set based on any information other than a user instruction. However, by allowing the quantization matrix setting unit 132 to set the quantization matrix update value according to the user instruction, the user can set the quantization matrix update value of a desired value.
- the quantization matrix setting unit 132 supplies the quantization matrix update value to the quantization matrix selection unit 133 only for the intra prediction mode in which the value of qm_present_flag (mode) is “1”. In addition, the quantization matrix setting unit 132 supplies the quantization matrix update value to the lossless encoding unit 106 only for the intra prediction mode in which the value of qm_present_flag (mode) is “1”, encodes it, and sets the value to the decoding side. Let it transmit.
- the quantization matrix selection unit 133 holds a quantization matrix initial value in advance.
- the quantization matrix selection unit 133 acquires qm_present_flag (mode) from the flag setting unit 131 for each intra prediction mode. When the value is “1”, the quantization matrix selection unit 133 selects the quantization matrix update value set by the quantization matrix setting unit 132 as the quantization matrix of the intra prediction mode. In addition, when the value of qm_present_flag (mode) is “0”, the quantization matrix selection unit 133 selects the quantization matrix initial value held in advance as the quantization matrix of the intra prediction mode.
- the quantization matrix selection unit 133 acquires the optimal mode information regarding the prediction mode selected as the optimal mode. That is, the quantization matrix selection unit 133 acquires the intra prediction mode from the intra prediction unit 114 or acquires the inter prediction mode from the motion prediction / compensation unit 115.
- the quantization matrix selection unit 133 selects a quantization matrix corresponding to the prediction mode specified by the supplied optimal mode information from among the quantization matrices of all intra prediction modes set as described above. Is supplied to the quantization unit 105 and used for quantization processing. In addition, the quantization matrix selection unit 133 supplies the selected quantization matrix to the inverse quantization unit 108 to be used for the inverse quantization process.
- the image encoding device 100 can further reduce the amount of information in the quantization process. Therefore, the image encoding device 100 can improve encoding efficiency. In addition, the image encoding device 100 can suppress a reduction in encoding efficiency due to transmission of a quantization matrix.
- the image coding apparatus 100 sets a quantization matrix update value only for an intra prediction mode that is frequently used, or performs quantization only for an intra prediction mode that has a greater effect by applying the quantization matrix update value. It is also possible to set an update value of the quantization matrix. As described above, the image encoding device 100 can easily set the quantization matrix update value only for an arbitrary intra prediction mode by setting qm_present_flag (mode). Moreover, since the image coding apparatus 100 can set the quantization matrix update value freely, it can be easily set to a more appropriate value.
- the quantization matrix selection unit 133 does not depend on the value of qm_present_flag (mode), You may make it apply the quantization matrix initial value.
- the quantization matrix selection unit 133 applies the quantization matrix initial value regardless of the value of qm_present_flag (mode). Also good.
- step S101 the quantization matrix encoding unit 121 performs a quantization matrix preparation process for preparing a quantization matrix for each intra prediction mode.
- step S102 the A / D conversion unit 101 performs A / D conversion on the input image.
- step S103 the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
- step S104 the intra prediction unit 114 performs an intra prediction process.
- step S105 the motion prediction / compensation unit 115 performs an inter motion prediction process.
- step S ⁇ b> 106 the predicted image selection unit 116 selects either a predicted image generated by intra prediction or a predicted image generated by inter prediction.
- step S107 the calculation unit 103 calculates a difference between the image rearranged by the process of step S103 and the predicted image selected by the process of step S106 (generates a difference image).
- the generated difference image has a reduced data amount compared to the original image. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
- step S108 the orthogonal transform unit 104 orthogonally transforms the difference image generated by the process in step S107. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and orthogonal transformation coefficients are output.
- step S109 the quantization unit 105 quantizes the orthogonal transform coefficient obtained by the process of step S108, using the quantization matrix prepared by the process of step S101.
- step S109 The difference image quantized by the process of step S109 is locally decoded as follows. That is, in step S110, the inverse quantization unit 108 uses the quantization matrix used in the quantization process in step S109 to quantize the orthogonal transform coefficient (also referred to as the quantization coefficient) generated by the quantization process. Dequantize). In step S ⁇ b> 111, the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the inverse quantization process in step S ⁇ b> 110 with characteristics corresponding to the characteristics of the orthogonal transform unit 104. Thereby, the difference image is restored.
- the orthogonal transform coefficient also referred to as the quantization coefficient
- step S112 the calculation unit 110 adds the predicted image selected in step S106 to the difference image generated in step S111, and generates a locally decoded decoded image (reconstructed image).
- step S113 the loop filter 111 appropriately performs a loop filter process including a deblocking filter process and an adaptive loop filter process on the reconstructed image obtained by the process of step S112 to generate a decoded image.
- step S114 the frame memory 112 stores the decoded image generated by the process of step S113 or the reconstructed image generated by the process of step S112.
- step S115 the lossless encoding unit 106 encodes the orthogonal transform coefficient quantized by the process in step S108. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the difference image. Note that the lossless encoding unit 106 encodes information about prediction, information about quantization, information about filter processing, and the like, and adds the information to the bitstream.
- step S116 the accumulation buffer 107 accumulates the bit stream obtained by the process in step S115.
- the encoded data stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
- step S117 the rate control unit 117 causes the quantization unit 105 to prevent overflow or underflow based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process in step S115. Controls the rate of quantization operation.
- step S117 ends, the encoding process ends.
- step S131 the quantization matrix selection unit 133 acquires qm_present_flag (mode) set in the flag setting unit 131.
- step S132 the quantization matrix selection unit 133 determines whether or not the value of qm_present_flag (mode) acquired in step S131 is “1”.
- step S133 the quantization matrix selection unit 133 sets (selects) the quantization matrix update value set by the quantization matrix setting unit 132 as a quantization matrix for the intra prediction mode.
- step S133 When the process of step S133 ends, the quantization matrix selection unit 133 advances the process to step S135.
- step S132 If it is determined in step S132 that the value of qm_present_flag (mode) is “0”, the quantization matrix selection unit 133 advances the process to step S134.
- step S134 the quantization matrix selection unit 133 sets (selects) the quantization matrix initial value as a quantization matrix for the intra prediction mode.
- step S134 When the process of step S134 ends, the quantization matrix selection unit 133 advances the process to step S135.
- step S135 the quantization matrix selection unit 133 determines whether or not the quantization matrices for all intra prediction modes have been set. If it is determined that there is an unprocessed intra prediction mode, the process returns to step S131. Repeat the subsequent processing. If it is determined in step S135 that the quantization matrices for all intra prediction modes have been set, the quantization matrix selection unit 133 ends the quantization matrix preparation process and returns the process to FIG.
- step S151 the quantization matrix selection unit 133, based on the optimal mode information (information indicating the intra prediction mode or the inter prediction mode), a quantization matrix corresponding to the optimal prediction mode. (That is, the quantization matrix set in the quantization matrix preparation process) is selected.
- the quantization matrix selection unit 133 supplies the selected quantization matrix to the quantization unit 105.
- step S152 the quantization unit 105 quantizes the orthogonal transform coefficient with the quantization matrix selected in step S151.
- step S153 the quantization matrix selection unit 133 supplies the quantization matrix selected in step S151 to the inverse quantization unit 108, and uses the quantization matrix for the inverse quantization process.
- step S153 the quantization matrix selection unit 133 ends the quantization processing and returns the processing to FIG.
- the image coding apparatus 100 can further reduce the amount of information by the quantization process, and can improve the coding efficiency.
- the image encoding device 100 can suppress a reduction in encoding efficiency due to transmission of a quantization matrix.
- FIG. 10 is a block diagram illustrating a main configuration example of an image decoding apparatus corresponding to the image encoding apparatus 100 of FIG.
- the image decoding apparatus 200 shown in FIG. 10 decodes the encoded data generated by the image encoding apparatus 100 using a decoding method corresponding to the encoding method.
- the image decoding apparatus 200 includes a storage buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a calculation unit 205, a loop filter 206, a screen rearrangement buffer 207, and a D A / A converter 208 is included.
- the image decoding apparatus 200 includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
- the image decoding device 200 has a quantization matrix decoding unit 221.
- the accumulation buffer 201 accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 202 at a predetermined timing.
- the lossless decoding unit 202 decodes the information supplied from the accumulation buffer 201 and encoded by the lossless encoding unit 106 in FIG. 1 by a method corresponding to the encoding method of the lossless encoding unit 106.
- the lossless decoding unit 202 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 203.
- the lossless decoding unit 202 refers to information on the optimal prediction mode obtained by decoding the encoded data, and determines whether the intra prediction mode or the inter prediction mode is selected as the optimal prediction mode. . That is, the lossless decoding unit 202 determines whether the prediction mode employed in the transmitted encoded data is intra prediction or inter prediction.
- the lossless decoding unit 202 supplies information on the prediction mode to the intra prediction unit 211 or the motion prediction / compensation unit 212 based on the determination result.
- the lossless decoding unit 202 is intra prediction information, which is information about the selected intra prediction mode supplied from the encoding side. Is supplied to the intra prediction unit 211.
- the lossless decoding unit 202 is an inter that is information about the selected inter prediction mode supplied from the encoding side. The prediction information is supplied to the motion prediction / compensation unit 212.
- the lossless decoding unit 202 supplies information (prediction mode information) regarding the prediction mode to the quantization matrix decoding unit 221. Further, the lossless decoding unit 202 extracts information on the quantization matrix transmitted from the encoding side, which is included in, for example, a sequence parameter set (SPS), a picture parameter set (PPS), and the like, and sends the information to the quantization matrix decoding unit 221. Supply.
- SPS sequence parameter set
- PPS picture parameter set
- the inverse quantization unit 203 uses the quantization matrix supplied from the quantization matrix decoding unit 221 to inverse quantize the quantized coefficient data obtained by decoding by the lossless decoding unit 202. That is, the inverse quantization unit 203 performs inverse quantization by a method corresponding to the quantization method of the quantization unit 105 in FIG. The inverse quantization unit 203 supplies the coefficient data obtained by the inverse quantization to the inverse orthogonal transform unit 204.
- the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the coefficient data supplied from the inverse quantization unit 203 in a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG.
- the inverse orthogonal transform unit 204 obtains a difference image corresponding to the difference image before being orthogonally transformed in the image encoding device 100 by the inverse orthogonal transform process.
- the difference image obtained by the inverse orthogonal transform is supplied to the calculation unit 205.
- a prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
- the calculation unit 205 adds the difference image and the prediction image, and obtains a reconstructed image corresponding to the image before the prediction image is subtracted by the calculation unit 103 of the image encoding device 100.
- the arithmetic unit 205 supplies the reconstructed image to the loop filter 206.
- the loop filter 206 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the supplied reconstructed image to generate a decoded image.
- the loop filter 206 removes block distortion by performing a deblocking filter process on the reconstructed image.
- the loop filter 206 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (reconstructed image from which block distortion has been removed). I do.
- the type of filter processing performed by the loop filter 206 is arbitrary, and filter processing other than that described above may be performed. Further, the loop filter 206 may perform filter processing using the filter coefficient supplied from the image encoding device 100 of FIG.
- the loop filter 206 supplies the decoded image as the filter processing result to the screen rearrangement buffer 207 and the frame memory 209. Note that the filter processing by the loop filter 206 can be omitted. That is, the output of the calculation unit 205 can be stored in the frame memory 209 without being subjected to filter processing.
- the intra prediction unit 211 uses pixel values of pixels included in this image as pixel values of peripheral pixels.
- the screen rearrangement buffer 207 rearranges the supplied decoded images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the original display order.
- the D / A conversion unit 208 D / A converts the decoded image supplied from the screen rearrangement buffer 207, and outputs and displays the decoded image on a display (not shown).
- the frame memory 209 stores supplied reconstructed images and decoded images. Also, the frame memory 209 selects the stored reconstructed image or decoded image from the selection unit 210 at a predetermined timing or based on an external request such as the intra prediction unit 211 or the motion prediction / compensation unit 212. To the intra prediction unit 211 and the motion prediction / compensation unit 212.
- the intra prediction unit 211 performs basically the same processing as the intra prediction unit 114 in FIG. However, the intra prediction unit 211 performs intra prediction only on a region where a prediction image is generated by intra prediction at the time of encoding.
- the motion prediction / compensation unit 212 performs an inter motion prediction process based on the inter prediction information supplied from the lossless decoding unit 202, and generates a predicted image. Note that the motion prediction / compensation unit 212 performs the inter motion prediction process only on the region where the inter prediction is performed at the time of encoding, based on the inter prediction information supplied from the lossless decoding unit 202.
- the intra prediction unit 211 or the motion prediction / compensation unit 212 supplies the generated predicted image to the calculation unit 205 via the selection unit 213 for each region of the prediction processing unit.
- the selection unit 213 supplies the prediction image supplied from the intra prediction unit 211 or the prediction image supplied from the motion prediction / compensation unit 212 to the calculation unit 205.
- the quantization matrix decoding unit 221 acquires prediction mode information and information related to the quantization matrix supplied from the lossless decoding unit 202. This prediction mode information and information about the quantization matrix are transmitted from the encoding side.
- the quantization matrix decoding part 221 sets a quantization matrix about each prediction mode using the information regarding a quantization matrix. Also, the quantization matrix decoding unit 221 selects a quantization matrix corresponding to the prediction mode indicated in the prediction mode information from among them, and supplies the quantization matrix to the inverse quantization unit 203.
- FIG. 11 is a block diagram illustrating a main configuration example of the quantization matrix decoding unit 221.
- the quantization matrix decoding unit 221 includes a flag acquisition unit 231, a quantization matrix acquisition unit 232, a quantization matrix selection unit 233, and a prediction mode information acquisition unit 234.
- the quantization matrix decoding unit 221 is based on information (for example, qm_present_flag (mode), a quantization matrix update value, and the like) related to the quantization matrix supplied from the encoding side (quantization matrix encoding unit 121). As with the quantization matrix encoding unit 121, quantization matrices are set for all intra prediction modes. Then, the quantization matrix decoding unit 221 selects a quantization matrix according to the prediction mode of the data to be dequantized, and supplies the selected quantization matrix to the dequantization unit 203.
- information for example, qm_present_flag (mode), a quantization matrix update value, and the like
- the flag acquisition unit 231 acquires qm_present_flag (mode) extracted by the lossless decoding unit 202.
- the flag acquisition unit 231 supplies the qm_present_flag (mode) to the quantization matrix acquisition unit 232 at a predetermined timing or based on an external request.
- the quantization matrix acquisition unit 232 acquires qm_present_flag (mode) supplied from the flag acquisition unit 231. When the value of the qm_present_flag (mode) is “1”, the quantization matrix acquisition unit 232 acquires the quantization matrix update value extracted by the lossless decoding unit 202 for the prediction mode. The quantization matrix acquisition unit 232 supplies the quantization matrix update value and qm_present_flag (mode) to the quantization matrix selection unit 233 at a predetermined timing or based on an external request.
- the quantization matrix selection unit 233 has a quantization matrix initial value in advance. This initial value of the quantization matrix is the same matrix as that held by the encoding side (quantization matrix selection unit 133).
- the quantization matrix selection unit 233 acquires the quantization matrix update value and qm_present_flag (mode) supplied from the quantization matrix acquisition unit 232. Using these pieces of information, the quantization matrix selection unit 233 sets quantization matrices for all intra prediction modes.
- the quantization matrix selecting unit 233 sets the quantization matrix update value as the quantization matrix of the prediction mode. For example, for an intra prediction mode in which the value of qm_present_flag (mode) is “0”, the quantization matrix selection unit 233 sets the quantization matrix initial value as the quantization matrix of the prediction mode. Note that, in the case of the direct prediction (DC) mode or the inter prediction mode of intra prediction, the quantization matrix selection unit 233 may apply the quantization matrix initial value regardless of the value of qm_present_flag (mode).
- the quantization matrix decoding part 221 can set the quantization matrix similar to the quantization matrix encoding part 121 to all the intra prediction modes, respectively.
- the prediction mode information acquisition unit 234 acquires, from the lossless decoding unit 202, prediction mode information related to the prediction mode of the region to be processed.
- the prediction mode information acquisition unit 234 notifies the quantization matrix selection unit 233 of the prediction mode of the region indicated by the prediction mode information at a predetermined timing or based on an external request.
- the quantization matrix selection unit 233 selects a quantization matrix corresponding to the prediction mode from all the intra prediction mode quantization matrices set as described above, and supplies the quantization matrix to the inverse quantization unit 203. That is, the quantization matrix selection unit 233 selects a quantization matrix according to the prediction mode of the region to be dequantized, and supplies it to the dequantization unit 203.
- the quantization matrix decoding unit 221 can select the same quantization matrix as that of the quantization matrix encoding unit 121 and use the quantization matrix in the inverse quantization process. That is, the inverse quantization unit 203 can perform inverse quantization by a method corresponding to the quantization unit 105 by using the quantization matrix selected by the quantization matrix decoding unit 221.
- the image decoding apparatus 200 can correctly decode the encoded data encoded by the image encoding apparatus 100, the encoding efficiency can be improved.
- step S201 the accumulation buffer 201 accumulates the transmitted bit stream.
- step S202 the lossless decoding unit 202 decodes the bit stream (encoded difference image information) supplied from the accumulation buffer 201. At this time, various types of information other than the difference image information included in the bitstream, such as prediction mode information and information on the quantization matrix, are also decoded.
- step S203 the quantization matrix decoding unit 221 performs an inverse quantization preparation process using the prediction mode information obtained by the process of step S202, information on the quantization matrix, and the like, and for all intra prediction modes, respectively. Sets the quantization matrix.
- step S204 the quantization matrix decoding unit 221 selects a quantization matrix for the prediction mode in the region from among the quantization matrices for each intra prediction mode prepared in the processing in step S203.
- the inverse quantization unit 203 inversely quantizes the quantized orthogonal transform coefficient obtained by the process of step S202 using the quantization matrix.
- step S205 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the orthogonal transform coefficient inversely quantized in step S203.
- step S206 the intra prediction unit 211 or the motion prediction / compensation unit 212 performs a prediction process using the supplied information.
- step S207 the calculation unit 205 adds the predicted image generated in step S206 to the difference image information obtained by the inverse orthogonal transform in step S205. Thereby, a reconstructed image is generated.
- step S208 the loop filter 206 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the reconstructed image obtained in step S207.
- step S209 the screen rearrangement buffer 207 rearranges the decoded images generated by the filtering process in step S208. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 is rearranged to the original display order.
- step S210 the D / A converter 208 D / A converts the decoded image in which the frame order is rearranged.
- the decoded image is output and displayed on a display (not shown).
- step S211 the frame memory 209 stores the decoded image obtained by the filtering process in step S208. This decoded image is used as a reference image in the inter prediction process.
- step S211 When the process of step S211 is completed, the decryption process is terminated.
- the flag acquisition unit 231 acquires qm_present_flag (mode) extracted by the process of step S202 in step S231.
- the quantization matrix acquisition unit 232 determines whether or not the value of the qm_present_flag (mode) is “1”. When it is determined that the value of qm_present_flag (mode) is “1”, the quantization matrix acquisition unit 232 advances the process to step S233.
- step S233 the quantization matrix acquisition unit 232 acquires the quantization matrix update value extracted by the process of step S202.
- step S234 the quantization matrix selection unit 233 sets the updated quantization matrix obtained in step S233 as the quantization matrix for the intra prediction mode.
- the quantization matrix selection unit 233 advances the process to step S236.
- step S232 If it is determined in step S232 that the value of qm_present_flag (mode) is “0”, the quantization matrix acquisition unit 232 advances the process to step S235.
- step S235 the quantization matrix selection unit 233 sets a quantization matrix initial value held by itself as a quantization matrix for the intra prediction mode.
- the quantization matrix selection unit 233 advances the process to step S236.
- step S236 the quantization matrix selection unit 233 determines whether or not quantization matrices have been set for all intra prediction modes. If it is determined that there is an intra prediction mode for which a quantization matrix has not yet been set, the quantization matrix selection unit 233 returns the process to step S231 to execute the subsequent processes. If it is determined in step S236 that quantization matrices have been set for all intra prediction modes, the quantization matrix selection unit 233 ends the inverse quantization preparation process and returns the process to FIG. .
- the prediction mode information acquisition unit 234 acquires the prediction mode information of the region that is the processing target of the inverse quantization extracted by the process of step S202 in step S251.
- the quantization matrix selection unit 233 sets the quantization matrix corresponding to the prediction mode of the region indicated by the prediction mode information acquired in step S251 to each intra prediction set by the above-described inverse quantization preparation process.
- a mode quantization matrix (quantization matrix initial value or quantization matrix update value) is selected.
- step S253 the inverse quantization unit 203 inversely quantizes the orthogonal transform coefficient of the region obtained by the process of step S202 using the quantization matrix selected by the process of step S252.
- step S253 the inverse quantization unit 203 ends the inverse quantization process and returns the process to FIG.
- the inverse quantization unit 203 performs the inverse in a method corresponding to the quantization unit 105 using the quantization matrix selected based on the information supplied from the encoding side. Quantization can be performed. Therefore, since the image decoding apparatus 200 can correctly decode the encoded data encoded by the image encoding apparatus 100, it is possible to improve the encoding efficiency.
- the above technique may be applied only to intra pictures or may be applied to both intra and inter pictures.
- the quantization matrix initial value may be used for the intra block in the inter picture regardless of the prediction mode.
- the quantization matrix update value defined in the immediately preceding intra picture may be used for the intra block in the inter picture.
- the basic quantization matrix is a quantization matrix similar to the update value of the quantization matrix, and the value of each coefficient is obtained by quantizing the information amount of the orthogonal transform coefficient whose coefficient distribution is biased in the prediction direction. It is set so that it can be further reduced.
- the image encoding apparatus 100 uses this basic quantization matrix in quantization of orthogonal transform coefficients of a difference image between a prediction image of the intra prediction mode and the input image, thereby quantizing the quantum for other intra prediction modes.
- the amount of information can be reduced and the encoding efficiency can be improved as compared with the case where a quantization matrix is used.
- this basic quantization matrix is also considered to suppress visual image quality deterioration (that is, image quality deterioration is not conspicuous), as in the case of the conventional quantization matrix.
- prediction directions other than the prediction direction to which the basic quantization matrix corresponds are made to correspond by correcting the basic quantization matrix using a predetermined parameter.
- FIG. 15 is a block diagram illustrating a main configuration example of the quantization matrix encoding unit in this case.
- the quantization matrix encoding unit 121 includes a basic quantization matrix setting unit 311 and a quantization matrix generation unit 312.
- the basic quantization matrix setting unit 311 sets a basic quantization matrix based on, for example, a user instruction. For example, the basic quantization matrix setting unit 311 sets basic quantization matrices (basic quantization matrices [Qv] and [Qh]) for vertical prediction (vertical prediction) and horizontal prediction (horizontal prediction).
- basic quantization matrices basic quantization matrices [Qv] and [Qh]
- the basic quantization matrix [Qv] is a quantization matrix that reflects the bias of the coefficient distribution due to vertical prediction, and it quantizes the orthogonal transform coefficients of the difference image between the prediction image predicted in the vertical direction and the input image. It has a suitable value.
- the basic quantization matrix [Qh] is a quantization matrix that reflects the bias of the coefficient distribution due to the horizontal prediction, and quantizes the orthogonal transform coefficient of the difference image between the prediction image predicted in the horizontal direction and the input image. It has a suitable value.
- the basic quantization matrix setting unit 311 supplies the basic quantization matrices [Qv] and [Qh] to the quantization matrix generation unit 312.
- the basic quantization matrix setting unit 311 also supplies the basic quantization matrices [Qv] and [Qh] to the lossless encoding unit 106.
- the lossless encoding unit 106 encodes the basic quantization matrices [Qv] and [Qh] and includes them in a sequence parameter set (SPS), a picture parameter set (PPS), etc., and transmits them to the decoding side.
- SPS sequence parameter set
- PPS picture parameter set
- the quantization matrix generation unit 312 acquires the basic quantization matrices [Qv] and [Qh] supplied from the basic quantization matrix setting unit 311. In addition, the quantization matrix generation unit 312 sets the mixing ratio of the basic quantization matrices [Qv] and [Qh] for each intra prediction mode (each prediction direction) other than the intra prediction mode (prediction direction) of the basic quantization matrix.
- the indicated parameters ⁇ and ⁇ are stored in advance.
- the values of parameters ⁇ and ⁇ are set for each prediction direction and have values that depend on each prediction direction.
- the quantization matrix generation unit 312 weights and adds (mixes) the basic quantization matrices [Qv] and [Qh] using the parameters ⁇ and ⁇ , for example, as in the following equation (1), and performs each prediction. Generate a direction-oriented quantization matrix.
- the quantization matrix generation unit 312 interpolates (generates) quantization matrices for other prediction directions by mixing the basic quantization matrices [Qv] and [Qh] at a ratio according to the parameters ⁇ and ⁇ . To do. That is, the direction of the bias of the coefficient distribution reflected by the basic quantization matrix is changed. Note that the quantization matrix generation unit 312 does not store the parameters ⁇ and ⁇ in each prediction direction, and may appropriately calculate the parameters ⁇ and ⁇ .
- the quantization matrix generation unit 312 sets the parameters ⁇ and ⁇ based on the relationship between the prediction direction and other prediction directions based on the intra prediction mode (prediction direction) of the supplied basic quantization matrix. You may make it do. By doing in this way, the quantization matrix production
- the quantization matrix generation unit 312 selects a quantization matrix for the prediction mode of the region to be processed from among the quantization matrix 105 and the inverse of the quantization unit 105 or the inverse. This is supplied to the quantization unit 108.
- the quantization unit 105 uses the quantization matrix supplied from the quantization matrix generation unit 312 to quantize the orthogonal transform coefficient in the region.
- the inverse quantization unit 108 performs inverse quantization on the quantized orthogonal transform coefficient in the region using the quantization matrix supplied from the quantization matrix generation unit 312.
- the image coding apparatus 100 can further reduce the amount of information by the quantization process, and can improve the coding efficiency. Moreover, since the image coding apparatus 100 only needs to transmit only the basic quantization matrix to the decoding side, it is possible to suppress a reduction in coding efficiency due to transmission of the quantization matrix.
- step S115 the lossless encoding unit 106 encodes the basic quantization matrix and transmits it to the decoding side as described above.
- the basic quantization matrix setting unit 311 sets a basic quantization matrix which is a predetermined quantization matrix for a predetermined prediction mode in step S301.
- step S302 the quantization matrix generation unit 312 sets a parameter indicating the mixing ratio (weight) of the basic quantization matrix. If this parameter is set in advance, this process is omitted.
- step S303 the quantization matrix generation unit 312 mixes the basic quantization matrix using the parameters set by the processing in step S302, and sets the quantization matrix for each intra prediction mode.
- the quantization matrix generation unit 312 ends the quantization matrix preparation process, and returns the process to FIG.
- the image coding apparatus 100 can further reduce the amount of information by the quantization process, and can improve the coding efficiency.
- the image encoding device 100 can suppress a reduction in encoding efficiency due to transmission of a quantization matrix.
- FIG. 17 is a block diagram illustrating a main configuration example of the quantization matrix decoding unit 221 in this case.
- the quantization matrix decoding unit 221 includes a basic quantization matrix acquisition unit 411, a quantization matrix generation unit 412, and a prediction mode information acquisition unit 413.
- the basic quantization matrix acquisition unit 411 extracts the basic quantization matrix [Qv] transmitted from the encoding side extracted from, for example, the sequence parameter set (SPS), the picture parameter set (PPS), and the like. Get [Qh].
- the basic quantization matrix acquisition unit 411 supplies the basic quantization matrices [Qv] and [Qh] to the quantization matrix generation unit 412 at a predetermined timing or based on other requests.
- the quantization matrix generation unit 412 is a processing unit similar to the quantization matrix generation unit 312, and parameters ⁇ and ⁇ having the same values as the quantization matrix generation unit 312 have for all intra prediction modes (prediction directions). Can be stored in advance, or parameters ⁇ and ⁇ having the same values as those of the quantization matrix generation unit 312 can be appropriately calculated by calculation.
- the quantization matrix generation unit 412 acquires the basic quantization matrices [Qv] and [Qh] supplied from the basic quantization matrix acquisition unit 411.
- the quantization matrix generation unit 412 generates a quantization matrix for each intra prediction mode by mixing (weighted addition) the basic quantization matrices [Qv] and [Qh] using the parameters ⁇ and ⁇ . .
- the quantization matrix decoding part 221 can produce
- the prediction mode information acquisition part 413 acquires the prediction mode information of the said area
- the prediction mode information acquisition unit 413 notifies the quantization matrix generation unit 412 of the prediction mode of the region at a predetermined timing or based on another request.
- the quantization matrix generation unit 412 selects a quantization matrix for the intra prediction mode from the generated quantization matrices for each intra prediction mode, and notifies the inverse quantization unit 203 of the quantization matrix.
- the quantization matrix decoding unit 221 can select the same quantization matrix as that of the quantization matrix encoding unit 121 and use the quantization matrix in the inverse quantization process. That is, the inverse quantization unit 203 can perform inverse quantization by a method corresponding to the quantization unit 105 by using the quantization matrix selected by the quantization matrix decoding unit 221.
- the image decoding apparatus 200 can correctly decode the encoded data encoded by the image encoding apparatus 100, the encoding efficiency can be improved.
- step S202 the lossless decoding unit 202 extracts the basic quantization matrix as described above.
- step S401 the basic quantization matrix acquisition unit 411 acquires the basic quantization matrix extracted by the process of step S202.
- the quantization matrix generation unit 412 sets a parameter indicating the mixing ratio (weight) of the basic quantization matrix. If this parameter is set in advance, this process is omitted.
- step S403 the quantization matrix generation unit 412 mixes the basic quantization matrices using the parameters set by the processing in step S402, and sets the quantization matrix for each intra prediction mode.
- the quantization matrix generation unit 412 ends the inverse quantization preparation process and returns the process to FIG.
- the inverse quantization unit 203 performs inverse quantization by a method corresponding to the quantization unit 105 using the quantization matrix selected based on the information supplied from the encoding side. Can do. Therefore, since the image decoding apparatus 200 can correctly decode the encoded data encoded by the image encoding apparatus 100, it is possible to improve the encoding efficiency.
- the quantization matrix generation unit 412 sets parameters in the same way as the quantization matrix generation unit 312 in the direct current (DC) mode or the inter prediction mode. In addition, in such a case, when the quantization matrix generation unit 312 prohibits the use of the basic quantization matrix, the quantization matrix generation unit 412 also prohibits the use of the basic quantization matrix, and the quantization matrix initial value Set.
- intra prediction mode for setting the basic quantization matrix is arbitrary, and is not limited to the vertical direction and the horizontal direction described above.
- the basic quantization matrix may be one basic quantization matrix [Q] and its transposed matrix [Q] T.
- the image encoding device 100 only has to transfer one basic quantization matrix [Q] to the decoding side, and accordingly, the encoding efficiency can be further improved.
- the horizontal and vertical directions are the basic quantization matrix, it is possible to express differences in the strength of correlation in each direction, so that the amount of information can be further reduced by quantization. Therefore, the coding efficiency can be improved accordingly.
- the bias tends to occur in the coefficient distribution regardless of the prediction direction.
- an image having a low vertical correlation such as an interlaced image or a horizontal stripe image
- many high-frequency components are included in the vertical direction of the image.
- the coefficient distribution of orthogonal transform coefficients is also affected. That is, the bias distribution of the coefficient distribution in the vertical prediction and the bias distribution of the coefficient distribution in the horizontal prediction are not symmetric. Therefore, in such a case, using both the basic quantization matrices [Qh] and [Qv] can obtain a quantization matrix more suitable for coefficient distribution than using a transposed matrix, and more information content. Can be reduced (that is, the encoding efficiency can be further improved).
- whether to use both the basic quantization matrix [Qh] and [Qv] or to use the basic quantization matrix [Q] and its transposed matrix [Q] T may be switched according to a predetermined condition. For example, whether a control unit is provided in the quantization matrix encoding unit 121 and the control unit controls the operation of the basic quantization matrix setting unit 311 to set both the basic quantization matrices [Qh] and [Qv].
- the basic quantization matrix [Q] and the transposed matrix [Q] T may be set as appropriate.
- information regarding this switching (information indicating which method has been selected) may be transmitted to the decoding side.
- the basic quantization matrix acquisition unit 411 of the quantization matrix decoding unit 221 may be able to grasp what matrix the basic quantization matrix to acquire is based on the information. .
- the parameters ⁇ and ⁇ are for rotating the prediction direction to which the quantization matrix corresponds, and indicate the mixing ratio of the basic quantization matrix according to the prediction direction. Then, the basic quantization matrix can be mixed with a more accurate mixing ratio with respect to the prediction direction. However, in that case, the calculation may be complicated. Therefore, for example, as in the example shown in FIG. 19, the parameters ⁇ and ⁇ may be set to x / 2 n (approximate values are used). By doing in this way, division at the time of mixing the basic quantization matrix can be performed by shift calculation, so that the calculation load can be reduced.
- the intra prediction mode (prediction direction) for setting the basic quantization matrix may be other than two directions. For example, there may be four directions or eight directions. In that case, the angle between each direction may be constant (each direction is equally spaced), or may be biased.
- a quantization matrix in a prediction direction (also referred to as a non-basic prediction direction) in which a basic quantization matrix is not set is a prediction direction in which the closest basic quantization matrix on both sides of the non-basic prediction direction is set ( Interpolation is performed using a basic quantization matrix (also referred to as a basic prediction direction).
- information on the basic prediction direction may be transmitted to the decoding side.
- the basic quantization matrix acquisition unit 411 of the quantization matrix decoding unit 221 can grasp which prediction direction the basic quantization matrix to be acquired corresponds to. It may be.
- the method of mixing the basic quantization matrix is arbitrary.
- three or more basic quantization matrices may be mixed, or may be mixed by a method other than weighted addition.
- the value and number of parameters for mixing the basic quantization matrix are arbitrary. What is necessary is just to employ
- the number of directions in which the basic quantization matrix is set may be determined according to the size of the region where the prediction process is performed.
- a control unit is provided in the quantization matrix encoding unit 121, and the control unit controls the operation of the basic quantization matrix setting unit 311 to set the number of basic quantization matrices corresponding to the size of the region. You may do it.
- the reduction amount of the information amount by reflecting the bias of the coefficient distribution in the quantization matrix becomes larger as the area becomes larger. Therefore, the number of basic quantization matrices to be set may be increased so that the larger region can reflect the bias of the coefficient distribution more accurately.
- the threshold may be set according to a profile level such as the size of an image frame.
- the method described in the first embodiment or the second embodiment may be combined with the method described in the third embodiment.
- the quantization matrix update value set for the intra prediction mode in which the basic quantization matrix is a quantization matrix initial value and the value of qm_present_flag (mode) is “1” is a quantization matrix that is a basic quantization matrix You may make it produce
- the qm_present_flag (mode) needs to be transmitted to the decoding side, and it is not necessary to transmit the quantization matrix update value. Therefore, as compared with the case of the first embodiment, The amount of information can be reduced, and the encoding efficiency can be improved.
- the order of the intra prediction modes for determining the value of qm_present_flag (mode) may not be the order of the mode numbers.
- the second and subsequent angles in FIG. 20 are non-basic prediction directions, and are interpolated using the quantization matrix initial values and parameters. Therefore, in this way, the processing can be advanced so that the basic quantization matrix (quantization matrix initial value) is set and then interpolation is performed (the quantization matrix update value is set).
- the information to be transmitted is described as being stored in the sequence parameter set or the picture parameter set.
- the present invention is not limited to this, and the information may be stored in an arbitrary position such as a slice header.
- the encoding / decoding method to which the present technology is applied is arbitrary, and any encoding / decoding method can be applied as long as the method uses an intra prediction process and a quantization matrix.
- this technology is, for example, MPEG, H.264.
- 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 present technology can be applied to an image encoding device and an image decoding device that are used when processing on a storage medium such as an optical, magnetic disk, and flash memory.
- the present technology can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
- a CPU (Central Processing Unit) 501 of the personal computer 500 performs various processes according to a program stored in a ROM (Read Only Memory) 502 or a program loaded from a storage unit 513 to a RAM (Random Access Memory) 503. Execute the process.
- the RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.
- the CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504.
- An input / output interface 510 is also connected to the bus 504.
- the input / output interface 510 includes an input unit 511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 512 including a speaker, and a hard disk.
- a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
- a drive 515 is connected to the input / output interface 510 as necessary, and a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
- a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
- a program constituting the software is installed from a network or a recording medium.
- the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It only consists of removable media 521 consisting of CD-ROM (compact disc -read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in a state of being pre-installed in the apparatus main body.
- a magnetic disk including a flexible disk
- an optical disk It only consists of removable media 521 consisting of CD-ROM (compact disc -read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is
- 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 step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
- system represents the entire apparatus composed of a plurality of devices (apparatuses).
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
- a configuration other than that described above may be added to the configuration of each device (or each processing unit).
- a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
- An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication
- the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
- a recording device that records an image on a medium such as a magnetic disk and a flash memory
- a playback device that reproduces an image from these storage media.
- FIG. 22 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
- the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
- Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
- the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
- EPG Electronic Program Guide
- the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
- the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
- the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
- the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
- the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
- GUI Graphic User Interface
- the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays a video on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
- a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
- the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
- the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
- the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
- a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
- the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
- the program stored in the memory is read and executed by the CPU when the television device 900 is activated, for example.
- the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911 by executing the program.
- the user interface 911 is connected to the control unit 910.
- the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
- the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
- the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
- the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Thereby, it is possible to improve the encoding efficiency when the image is decoded by the television apparatus 900.
- FIG. 23 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
- a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
- the antenna 921 is connected to the communication unit 922.
- the speaker 924 and the microphone 925 are connected to the audio codec 923.
- the operation unit 932 is connected to the control unit 931.
- the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
- the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
- the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
- the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
- the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
- the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
- the control unit 931 causes the display unit 930 to display characters.
- the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
- the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
- the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
- the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
- the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted type such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB (Unallocated Space Space Bitmap) memory, or a memory card. It may be a storage medium.
- the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
- the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
- the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
- the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
- the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
- These transmission signal and reception signal may include an encoded bit stream.
- the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
- the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
- the image processing unit 927 decodes the video stream and generates video data.
- the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
- the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
- the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Accordingly, encoding efficiency can be improved when encoding and decoding an image with the mobile phone 920.
- FIG. 24 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
- the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
- the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
- the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
- the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
- Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
- the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
- the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
- video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
- the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
- the HDD 944 records an encoded bit stream in which content data such as video and audio are compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
- the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
- the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
- the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
- the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
- OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
- the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, and the like.
- the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
- the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
- the user interface 950 is connected to the control unit 949.
- the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
- the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
- the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment.
- the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
- FIG. 25 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
- the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
- the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
- the optical block 961 is connected to the imaging unit 962.
- the imaging unit 962 is connected to the signal processing unit 963.
- the display unit 965 is connected to the image processing unit 964.
- the user interface 971 is connected to the control unit 970.
- the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
- the optical block 961 includes a focus lens and a diaphragm mechanism.
- the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
- the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
- CCD Charge-Coupled Device
- CMOS Complementary Metal-Oxide Semiconductor
- the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
- the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
- the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
- the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
- the external interface 966 is configured as a USB input / output terminal, for example.
- the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
- a drive is connected to the external interface 966 as necessary.
- a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
- the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
- the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
- a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
- the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
- the memory stores a program executed by the CPU, program data, and the like.
- the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
- the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
- the user interface 971 is connected to the control unit 970.
- the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
- the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
- the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Accordingly, encoding efficiency can be improved when encoding and decoding an image by the imaging device 960.
- the method for transmitting such information is not limited to such an example.
- these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
- the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
- the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or the bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
- this technique can also take the following structures.
- a decoding unit that decodes encoded data obtained by encoding an image to generate transform coefficient data;
- An image processing comprising: an inverse quantization unit that inversely quantizes the transform coefficient data generated by the decoding unit using a quantization matrix set according to a prediction mode used when encoding an image apparatus.
- the quantization matrix is set according to a type of prediction mode of intra prediction.
- the quantization matrix is set according to a prediction direction of intra prediction.
- the quantization matrix is set by mixing some or all of the plurality of basic quantization matrices corresponding to mutually different prediction directions using a parameter having a value corresponding to the prediction direction.
- the image processing apparatus according to 5).
- the quantization matrix is set by weighted addition of weighting a plurality of the basic quantization matrices using the parameters.
- the quantization matrix when the prediction mode of the region is the direct current mode or the inter prediction mode, the two basic quantization matrices corresponding to prediction directions orthogonal to each other are mixed on a one-to-one basis.
- the image processing device which is set by: (9) The image according to any one of (5) to (8), wherein the quantization matrix is set using a predetermined quantization matrix initial value when the basic quantization matrix is not obtained. Processing equipment. (10)
- the quantization matrix has a predetermined value based on flag information for each prediction direction of the intra prediction, it reflects a bias in coefficient distribution of orthogonal transform coefficients according to the prediction direction.
- any one of (4) to (9), which is set using a quantization matrix update value that is a quantization matrix or a quantization matrix initial value that is a quantization matrix that does not reflect the bias of the coefficient distribution An image processing apparatus according to 1.
- the quantization matrix is set using the quantization matrix update value used in the immediately preceding intra picture.
- the image processing apparatus is Decoding encoded data obtained by encoding an image to generate transform coefficient data; An image processing method for inversely quantizing the generated transform coefficient data using a quantization matrix set according to a prediction mode used when encoding an image.
- a setting unit that sets a quantization matrix used when quantizing the transform coefficient data of the image according to a prediction mode of a prediction process performed on an image to be encoded;
- a quantization unit that quantizes the transform coefficient data using the quantization matrix set by the setting unit;
- An image processing apparatus comprising: an encoding unit that encodes the transform coefficient data quantized by the quantization unit.
- the image processing device sets the quantization matrix according to a prediction mode of intra prediction.
- the setting unit sets the quantization matrix according to a type of prediction mode of intra prediction.
- the setting unit sets the quantization matrix according to a prediction direction of intra prediction.
- a basic quantization matrix setting unit configured to set a basic quantization matrix reflecting a bias of a coefficient distribution of orthogonal transform coefficients according to a predetermined prediction direction of intra prediction performed on the image, The image processing unit according to any one of (14) to (17), wherein the setting unit sets the quantization matrix by correcting the basic quantization matrix set by the basic quantization matrix setting unit. apparatus.
- a flag information setting unit that sets flag information for each prediction direction of the intra prediction;
- the flag information set by the flag information setting unit is a predetermined value, a quantization matrix update value that is a quantization matrix reflecting a bias of coefficient distribution of orthogonal transform coefficients according to the prediction direction
- a quantization matrix update value setting unit for setting The setting unit includes the quantization matrix update value set by the quantization matrix update value setting unit or a quantization matrix initial value that is a quantization matrix that does not reflect a bias of the coefficient distribution.
- the image processing apparatus is According to the prediction mode of the prediction process performed on the image to be encoded, set a quantization matrix used when quantizing the transform coefficient data of the image, Quantize the transform coefficient data using the set quantization matrix, An image processing method for encoding the quantized transform coefficient data.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本技術は、画像データの符号化効率を向上させることができるようにする画像処理装置および方法に関する。本技術の画像処理装置は、画像を符号化して得られた符号化データを復号して変換係数データを生成する復号部と、画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、前記復号部により生成された前記変換係数データを逆量子化する逆量子化部とを備える。本開示は画像処理装置に適用することができる。
Description
本開示は、画像処理装置および方法に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及した。
特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
しかしながら、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding ", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010
ところで、直交変換を行う前の、予測による残差は、イントラ予測の場合、その予測方向に応じて異なるが、量子化行列を用いた符号化処理においては、かかる残差の偏りを考慮した符号化がなされておらず、十分な符号化効率を達成できない恐れがあった。
本開示は、このような状況に鑑みてなされたものであり、符号化効率を向上させることを目的とする。
本開示の一側面は、画像を符号化した符号化データを復号して変換係数データを生成する復号部と、画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、前記復号部により生成された前記変換係数データを逆量子化する逆量子化部とを備える画像処理装置である。
前記量子化行例は、イントラ予測の予測モードに応じて設定されるようにすることができる。
前記量子化行列は、イントラ予測の予測モードの種類に応じて設定されるようにすることができる。
前記量子化行列は、イントラ予測の予測方向に応じて設定されるようにすることができる。
前記量子化行列は、前記イントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を補正することにより設定されるようにすることができる。
前記量子化行列は、互いに異なる予測方向に対応する複数の前記基本量子化行列の一部または全部を、予測方向に応じた値のパラメータを用いて混合することにより設定されるようにすることができる。
前記量子化行列は、複数の前記基本量子化行列を、前記パラメータを用いて重み付けする重み付け加算することにより設定されるようにすることができる。
前記量子化行列は、当該領域の予測モードが直流モードの場合、若しくは、インター予測モードの場合、互いに直交する予測方向に対応する2つの前記基本量子化行列を1対1で混合することにより設定されるようにすることができる。
前記量子化行列は、前記基本量子化行列が得られない場合、予め定められた量子化行列初期値を用いて設定されるようにすることができる。
前記量子化行列は、前記イントラ予測の各予測方向についてのフラグ情報に基づいて、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を用いて設定されるようにすることができる。
前記量子化行列は、インターピクチャの場合、前記量子化行列初期値を用いて設定されるようにすることができる。
前記量子化行列は、インターピクチャの場合、直前のイントラピクチャにおいて用いられた前記量子化行列更新値を用いて設定されるようにすることができる。
本開示の一側面は、また、画像処理装置の画像処理方法において、前記画像処理装置が、画像を符号化した符号化データを復号して変換係数データを生成し、画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、生成された前記変換係数データを逆量子化する画像処理方法である。
本開示の他の側面は、符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定する設定部と、前記設定部により設定された前記量子化行列を用いて、前記変換係数データを量子化する量子化部と、前記量子化部により量子化された前記変換係数データを符号化する符号化部とを備える画像処理装置である。
前記設定部は、イントラ予測の予測モードに応じて、前記量子化行列を設定することができる。
前記設定部は、イントラ予測の予測モードの種類に応じて、前記量子化行列を設定することができる。
前記設定部は、イントラ予測の予測方向に応じて、前記量子化行列を設定することができる。
前記画像に対して行われるイントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を設定する基本量子化行列設定部をさらに備え、前記設定部は、前記基本量子化行列設定部により設定された前記基本量子化行列を補正することにより、前記量子化行列を設定することができる。
前記イントラ予測の各予測方向について、フラグ情報を設定するフラグ情報設定部と、前記フラグ情報設定部により設定された前記フラグ情報が、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値を設定する量子化行列更新値設定部とをさらに備え、前記設定部は、前記量子化行列更新値設定部により設定された前記量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を、前記量子化行列に設定することができる。
本開示の他の側面は、また、画像処理装置の画像処理方法において、前記画像処理装置が、符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定し、設定された前記量子化行列を用いて、前記変換係数データを量子化し、量子化された前記変換係数データを符号化する画像処理方法である。
本開示の一側面においては、画像を符号化した符号化データが復号されて変換係数データが生成され、画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、生成された変換係数データが逆量子化される。
本開示の他の側面においては、符号化する画像に対して行われる予測処理の予測モードに応じて、画像の変換係数データを量子化する際に用いられる量子化行列が設定され、その設定された量子化行列を用いて、変換係数データが量子化され、その量子化された変換係数データが符号化される。
本開示によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(量子化行列の他の例)
4.第4の実施の形態(コンピュータ)
5.第5の実施の形態(テレビジョン受像機)
6.第6の実施の形態(携帯電話機)
7.第7の実施の形態(記録再生装置)
8.第8の実施の形態(撮像装置)
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(量子化行列の他の例)
4.第4の実施の形態(コンピュータ)
5.第5の実施の形態(テレビジョン受像機)
6.第6の実施の形態(携帯電話機)
7.第7の実施の形態(記録再生装置)
8.第8の実施の形態(撮像装置)
<1.第1の実施の形態>
[画像符号化装置]
図1は、画像符号化装置の主な構成例を示すブロック図である。
[画像符号化装置]
図1は、画像符号化装置の主な構成例を示すブロック図である。
図1に示される画像符号化装置100は、例えばH.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))符号化方式のように、予測処理を用いて画像データを符号化する。
図1に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、ループフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、予測画像選択部116、およびレート制御部117を有する。
画像符号化装置100は、さらに、量子化行列符号化部121を有する。
A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、その変換係数を量子化部105に供給する。
量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
可逆符号化部106は、量子化部105において量子化された変換係数を、任意の符号化方式で符号化する。係数データは、レート制御部117の制御の下で量子化されているので、この符号量は、レート制御部117が設定した目標値となる(若しくは目標値に近似する)。
また、可逆符号化部106は、イントラ予測のモードを示す情報等を含むイントラ予測情報をイントラ予測部114から取得し、インター予測のモードを示す情報や動きベクトル情報などを含むインター予測情報を動き予測・補償部115から取得する。さらに、可逆符号化部106は、ループフィルタ111において使用されたフィルタ係数等を取得する。また、可逆符号化部106は、量子化行列符号化部121から量子化行列に関する情報を取得する。
可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、ビットストリームとして、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。つまり、符号化された各種情報が復号側に供給される。
また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(局所的に復元された差分情報)は、演算部110に供給される。
演算部110は、逆直交変換部109から供給された逆直交変換結果、すなわち、局所的に復元された差分情報に、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、ループフィルタ111またはフレームメモリ112に供給される。
ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
なお、ループフィルタ111が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
ループフィルタ111は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ112に供給する。
フレームメモリ112は、演算部110から供給される再構成画像と、ループフィルタ111から供給される復号画像とをそれぞれ記憶する。フレームメモリ112は、所定のタイミングにおいて、若しくは、イントラ予測部114等の外部からの要求に基づいて、記憶している再構成画像を、選択部113を介して、イントラ予測部114に供給する。また、フレームメモリ112は、所定のタイミングにおいて、若しくは、動き予測・補償部115等の外部からの要求に基づいて、記憶している復号画像を、選択部113を介して、動き予測・補償部115に供給する。
選択部113は、フレームメモリ112から出力される画像の供給先を示す。例えば、イントラ予測の場合、選択部113は、フレームメモリ112からフィルタ処理されていない画像(再構成画像)を読み出し、周辺画素として、イントラ予測部114に供給する。
また、例えば、インター予測の場合、選択部113は、フレームメモリ112からフィルタ処理された画像(復号画像)を読み出し、参照画像として、それを動き予測・補償部115に供給する。
イントラ予測部114は、フレームメモリ112から、処理対象領域の周辺に位置する周辺領域の画像(周辺画像)を取得すると、その周辺画像の画素値を用いて、基本的にプレディクションユニット(PU)を処理単位として予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
イントラ予測部114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
また、イントラ予測部114は、最適なイントラ予測モード等、イントラ予測に関する情報を含むイントラ予測情報を、適宜可逆符号化部106に供給し、符号化させる。
動き予測・補償部115は、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ112から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
動き予測・補償部115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部115は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
また、動き予測・補償部115は、最適なインター予測モード等、インター予測に関する情報を含むインター予測情報を可逆符号化部106に供給し、符号化させる。
予測画像選択部116は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部116は、予測画像の供給元としてイントラ予測部114を選択し、そのイントラ予測部114から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部116は、予測画像の供給元として動き予測・補償部115を選択し、その動き予測・補償部115から供給される予測画像を演算部103や演算部110に供給する。
レート制御部117は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
量子化行列符号化部121は、イントラ予測部114からイントラ予測モードに関する情報を取得する。また、量子化行列符号化部121は、動き予測・補償部115からインター予測モードに関する情報を取得する。量子化行列符号化部121は、最適なモードとして採用された予測モードに応じて、量子化部105の量子化処理や、逆量子化部108の逆量子化処理において利用される量子化行列を設定する。
量子化行列符号化部121は、選択した量子化行列を量子化部105や逆量子化部108に供給する。量子化部105は、量子化行列符号化部121から供給された量子化行列を用いて、上述した量子化を行う。また、逆量子化部108は、量子化行列符号化部121から供給された量子化行列を用いて、上述した逆量子化を行う。
なお、量子化行列符号化部121は、量子化行列に関する情報を、可逆符号化部106に供給し、符号化させ、復号側に伝送させる。
[量子化行列]
ところで、AVC符号化方式においては、ハイプロファイル(High Profile)以上のプロファイル(Profile)において、量子化行列(Scaling List)を用いることが可能である。AVC符号化方式において規定されている、量子化行列について説明する。
ところで、AVC符号化方式においては、ハイプロファイル(High Profile)以上のプロファイル(Profile)において、量子化行列(Scaling List)を用いることが可能である。AVC符号化方式において規定されている、量子化行列について説明する。
ハイプロファイル(High Profile)以上のプロファイルにおいては、直交変換係数の成分毎の量子化処理に重みをつけて処理することが可能である。8×8直交変換ブロックのみならず、4×4直交変換ブロックにおいても、量子化行列(Scaling List)を用いることが可能であり、デフォルト値として以下の行列が定義されている。
なお、上述の値に限らず、ユーザが、シーケンスパラメータセット若しくはピクチャパラメータセットにおいて任意の値を指定することが可能である。
量子化行列は、画像圧縮情報内において、例えば図2に示されるようなシンタクスにより伝送される。
ここで、delta_scaleは、-128から127の値を取り、直前の、scaling_list値との差分を示す。また、useDefaultScalingMatrixの値が1である時、Scaling Listの値として、初期値(Default)のものが用いられることになる。
ところで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。2010年9月現在、Draftとして、"Test Model under Consideration",JCTVC-B205(以下において、非特許文献3と称する)が発行されている。
[コーディングユニット]
以下では、まず、HEVC符号化方式において定められている、コーディングユニット(Coding Unit)について説明する。
以下では、まず、HEVC符号化方式において定められている、コーディングユニット(Coding Unit)について説明する。
Coding Unit(CU)は、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
特に、最大の大きさを持つCUを、LCU(Largest Coding Unit)と呼び、また、最小の大きさを持つCUをSCU(Smallest Coding Unit)と称する。例えば画像圧縮情報に含まれるシーケンスパラメータセットにおいて、これらの領域のサイズが指定されることになるが、それぞれ、正方形で、2の冪乗で表される大きさに限定される。
図3に、HEVCで定義されているコーディングユニット(Coding Unit)の例を示す。図3の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。
なお、以下において、「領域」には、上述した各種領域(例えば、マクロブロック、サブマクロブロック、LCU、CU、SCU、PU、およびTU等)を全て含む(それらのいずれであってもよい)。もちろん、上述した以外の単位が含まれてもよいし、説明の内容に応じて不可能な単位は、適宜、除外するものとする。
[HEVCイントラ予測方式]
次に、HEVCにおいて定められているイントラ予測方式について説明する。
次に、HEVCにおいて定められているイントラ予測方式について説明する。
HEVCにおいては、イントラ予測のためのPUの単位は、4×4、8×8、16×16、32×32若しくは64×64である。
4×4の大きさに関しては、AVCと同様のイントラ予測処理が行われる。
8×8の大きさに関しては、後述する、Angular Predictionと呼ばれる方式に基づいてイントラ予測処理が行われる。
16×16及び32×32及び64×64の大きさに関しては、後述するArbitrary Directional Intra(ADI)と呼ばれる方式に基づいて、イントラ予測処理が行われる。
更に、イントラ予測を行うに先立ち、符号化効率を向上させる場合には、係数(1,2,1)によるローパスフィルタ処理が、周辺画素値に施される。施す・施さないに関する情報が、それぞれのPU毎に、画像圧縮情報中に伝送されることになる。
以下では、HEVC符号化方式において規定されている、Angular Predictionイントラ予測方式について述べる。
[Angular Predictionイントラ予測方式]
図4に、Angular Predictionイントラ予測方式を説明するための図を示す。
図4に、Angular Predictionイントラ予測方式を説明するための図を示す。
すなわち、Angular Predictionにおいては、図4のAに示されるような角度のイントラ予測処理を行うことが可能である。
また、図4のAのような角度のイントラ予測を行うためには、図4のBに示されるように、周辺画素の間の画素値を用いる必要が生じるが、このため、Angular Predictionにおいては、1/8画素精度の線形内挿処理を行うことが可能となっている。
[Arbitrary Directional Intra(ADI)イントラ予測方式]
次に、HEVC符号化方式において規定されている、Arbitrary Directional Intra(ADI)イントラ予測方式について述べる。
次に、HEVC符号化方式において規定されている、Arbitrary Directional Intra(ADI)イントラ予測方式について述べる。
図5に、Arbitrary Directional Intra(ADI)イントラ予測方式を説明するための図を示す。
Arbitrary Directional Intra(ADI)イントラ予測方式においては、図5のAに示されるように、左下に位置する隣接画素値も用いられる。
AVC符号化方式の場合と同様に、Vertical,Horizontal,DC,Diagonal Down-Left,Diagonal Down-Right,Vertical-Right,Horizontal-Down,Vertical-Left、およびHorizontal-Upの各予測モードが定義されているが、その他のモードに関しては、図5のBに示されるように、(dx,dy)を符号化情報として画像圧縮情報中に伝送される。
[予測方向と量子化行列の関係]
ところで、入力画像とイントラ予測された予測画像との差分画像は、イントラ予測モード(予測方向)に応じた偏りを有する。より具体的には、差分画像の各係数は、一般的に、予測方向に相関性が強くなる可能性が高く、予測方向に対して垂直方向に高周波成分が出やすい傾向がある。つまり、量子化される直交変換係数の分布(以下、係数分布とも称する)もイントラ予測モード(予測方向)に応じた偏りを有する。しかしながら、量子化処理に用いられる従来の量子化行列は、このような係数の偏りが反映されていなかった。そのため、量子化によって情報量を十分に低減させることができず、十分な符号化効率を達成することができない可能性があった。
ところで、入力画像とイントラ予測された予測画像との差分画像は、イントラ予測モード(予測方向)に応じた偏りを有する。より具体的には、差分画像の各係数は、一般的に、予測方向に相関性が強くなる可能性が高く、予測方向に対して垂直方向に高周波成分が出やすい傾向がある。つまり、量子化される直交変換係数の分布(以下、係数分布とも称する)もイントラ予測モード(予測方向)に応じた偏りを有する。しかしながら、量子化処理に用いられる従来の量子化行列は、このような係数の偏りが反映されていなかった。そのため、量子化によって情報量を十分に低減させることができず、十分な符号化効率を達成することができない可能性があった。
つまり、イントラ予測モード(予測方向)毎に、このような係数分布の偏りを反映させた量子化行列(そのイントラ予測モード向けの量子化行列)を設定し、その量子化行列を用いて量子化や逆量子化を行うようにするのが望ましい。
ただし、量子化行列は復号側に伝送する必要があるので、その場合、例えばシーケンスパラメータセットやピクチャパラメータセット等において、全てのイントラ予測モードについて、それぞれ量子化行列を伝送することになる。
しかしながら、その場合、その量子化行列によって、符号化データ(ビットストリーム)の符号化効率を低減させる可能性がある。
そこで、画像符号化装置100の量子化行列符号化部121は、全てのイントラ予測モード(mode)に対して、それぞれ、量子化行列の選択を制御するフラグ情報であるqm_present_flag(mode)を定義する。そして、画像符号化装置100は、そのqm_present_flag(mode)の値が「1」であるイントラ予測モードについてのみ、そのイントラ予測モード向けに設定された量子化行列(量子化行列更新値)を選択する。
量子化行列更新値は、上述したようなイントラ予測モード(予測方向)による係数分布の偏りを反映した量子化行列である。つまり、量子化行列更新値の各係数の値は、量子化によって、係数分布がその予測方向に偏りを有する直交変換係数の情報量をより低減させることができるように設定されている。
したがって、画像符号化装置100は、この量子化行列更新値を、そのイントラ予測モードの予測画像と入力画像との差分画像の直交変換係数の量子化において用いることにより、他のイントラ予測モード向けの量子化行列を用いる場合よりも、情報量を低減させ、符号化効率を向上させることができる。
なお、この量子化行列更新値も、従来の量子化行列と同様に、視覚的な画質劣化を抑制するように(つまり画質劣化が目立たないように)配慮がなされていることは言うまでも無い。
これに対して、画像符号化装置100は、それ以外の予測モード(qm_present_flag(mode)の値が「0」であるイントラ予測モード等)について、予め定められた汎用の量子化行列(量子化行列初期値)を選択する。
この量子化行列初期値は、イントラ予測モード(予測方向)による係数分布の偏りを反映していない、従来と同様の量子化行列である。つまり、この量子化行列初期値は、復号側においても既知であり、伝送する必要がない。なお、この量子化行列初期値は、全てのイントラ予測モード共通のものであってもよいが、これに限らず、例えばイントラ予測モード毎に異なる行列であってもよい。ただし、その場合も、各予測方向に応じた係数分布の偏りは反映されていない。
したがって、この場合、画像符号化装置100は、各イントラ予測モードのqm_present_flag(mode)と、そのqm_present_flag(mode)の値が「1」であるイントラ予測モードの量子化行列(量子化行列更新値)のみを復号側に伝送すればよいので、量子化行列の伝送による符号化効率の低減を抑制することができる。
[量子化行列符号化部]
図6は、量子化行列符号化部121の主な構成例を示すブロック図である。図6に示されるように、量子化行列符号化部121は、フラグ設定部131、量子化行列設定部132、および量子化行列選択部133を有する。
図6は、量子化行列符号化部121の主な構成例を示すブロック図である。図6に示されるように、量子化行列符号化部121は、フラグ設定部131、量子化行列設定部132、および量子化行列選択部133を有する。
フラグ設定部131は、全てのイントラ予測モード(mode)に対して、それぞれ、qm_present_flag(mode)を設定する。例えば、フラグ設定部131は、ユーザ指示等に基づいて、qm_present_flag(mode)を設定する。
このqm_present_flag(mode)の値の根拠は任意であり、ユーザ指示以外のどのような情報に基づいて設定されるようにしてもよい。ただし、フラグ設定部131が、ユーザ指示に従ってqm_present_flag(mode)を設定するようにすることにより、ユーザは、自身が所望するイントラ予測モードに対してのみ、量子化行列更新値を設定することができる。
また、qm_present_flag(mode)の値は任意であり、このフラグがどの値の場合に、量子化行列更新値が設定されるようにしてもよい。また、qm_present_flag(mode)のビット長も任意である。ただし、qm_present_flag(mode)は、復号側に伝送するので、そのビット長はできるだけ短い方が符号化効率の点において望ましい。
フラグ設定部131は、設定した各イントラ予測モードのqm_present_flag(mode)を量子化行列選択部133に供給する。また、フラグ設定部131は、設定した各イントラ予測モードのqm_present_flag(mode)を可逆符号化部106に供給し、符号化させ、復号側に伝送させる。
量子化行列設定部132は、少なくともqm_present_flag(mode)の値が「1」のイントラ予測モードについて、それぞれ、量子化行列更新値を設定する。例えば、量子化行列設定部132は、ユーザ指示等に基づいて、量子化行列更新値を設定する。この量子化行列更新値の設定の根拠は任意であり、ユーザ指示以外のどのような情報に基づいて設定されるようにしてもよい。ただし、量子化行列設定部132が、ユーザ指示に従って量子化行列更新値を設定するようにすることにより、ユーザは、自身が所望する値の量子化行列更新値を設定することができる。
量子化行列設定部132は、qm_present_flag(mode)の値が「1」のイントラ予測モードについてのみ、量子化行列更新値を、量子化行列選択部133に供給する。また、量子化行列設定部132は、qm_present_flag(mode)の値が「1」のイントラ予測モードについてのみ、量子化行列更新値を、可逆符号化部106に供給し、符号化させ、復号側に伝送させる。
量子化行列選択部133は、予め、量子化行列初期値を保持している。量子化行列選択部133は、各イントラ予測モードについて、フラグ設定部131からqm_present_flag(mode)を取得する。そして、量子化行列選択部133は、その値が「1」である場合、量子化行列設定部132が設定した量子化行列更新値を、そのイントラ予測モードの量子化行列に選択する。また、qm_present_flag(mode)の値が「0」である場合、量子化行列選択部133は、自身が予め保持している量子化行列初期値を、そのイントラ予測モードの量子化行列に選択する。
以上のようにして、全てのイントラ予測モードについて、それぞれ、量子化行列を選択すると、量子化行列選択部133は、最適なモードに選択された予測モードに関する最適モード情報を取得する。つまり、量子化行列選択部133は、イントラ予測部114からイントラ予測モードを取得するか、若しくは、動き予測・補償部115からインター予測モードを取得する。
量子化行列選択部133は、上述したように設定した全てのイントラ予測モードの量子化行列の中から、供給された最適モード情報により指定される予測モードに対応する量子化行列を選択し、量子化部105に供給し、量子化処理に利用させる。また、量子化行列選択部133は、選択した量子化行列を逆量子化部108に供給し、逆量子化処理に利用させる。
このようにすることにより、画像符号化装置100は、量子化処理において情報量をより低減させることができる。したがって、画像符号化装置100は、符号化効率を向上させることができる。また、画像符号化装置100は、量子化行列の伝送による符号化効率の低減を抑制することができる。
例えば、画像符号化装置100は、使用頻度の多いイントラ予測モードについてのみ量子化行列更新値を設定するようにしたり、量子化行列更新値を適用することによる効果がより大きいイントラ予測モードについてのみ量子化行列更新値を設定するようにしたりすることができる。このように、画像符号化装置100は、qm_present_flag(mode)の設定によって、容易に、任意のイントラ予測モードに対してのみ量子化行列更新値を設定することができる。また、画像符号化装置100は、その量子化行列更新値を自由に設定することができるので、容易に、より適切な値にすることができる。
なお、例えば、最適なモードが、イントラ予測の直流(DC)モードの場合、残差に予測方向による偏りが生じないので、量子化行列選択部133は、qm_present_flag(mode)の値に関わらず、量子化行列初期値を適用するようにしてもよい。
また、例えば、最適なモードがインター予測モードの場合、予測方向が特定できないので、量子化行列選択部133は、qm_present_flag(mode)の値に関わらず、量子化行列初期値を適用するようにしてもよい。
[符号化処理の流れ]
次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図7のフローチャートを参照して、符号化処理の流れの例を説明する。
次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図7のフローチャートを参照して、符号化処理の流れの例を説明する。
ステップS101において、量子化行列符号化部121は、各イントラ予測モードに対して量子化行列を用意する量子化行列準備処理を行う。
ステップS102において、A/D変換部101は入力された画像をA/D変換する。ステップS103において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS104において、イントラ予測部114は、イントラ予測処理を行う。ステップS105において、動き予測・補償部115は、インター動き予測処理を行う。ステップS106において、予測画像選択部116は、イントラ予測により生成された予測画像、および、インター予測により生成された予測画像の内、いずれか一方を選択する。
ステップS107において、演算部103は、ステップS103の処理により並び替えられた画像と、ステップS106の処理により選択された予測画像との差分を演算する(差分画像を生成する)。生成された差分画像は元の画像に較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS108において、直交変換部104は、ステップS107の処理により生成された差分画像を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、直交変換係数が出力される。ステップS109において、量子化部105は、ステップS101の処理により準備された量子化行列を用いて、ステップS108の処理により得られた直交変換係数を量子化する。
ステップS109の処理により量子化された差分画像は、次のようにして局部的に復号される。すなわち、ステップS110において、逆量子化部108は、ステップS109の量子化処理において用いられた量子化行列を用いて、その量子化処理により生成された量子化された直交変換係数(量子化係数とも称する)を逆量子化する。ステップS111において、逆直交変換部109は、ステップS110の逆量子化処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。これにより差分画像が復元される。
ステップS112において、演算部110は、ステップS106において選択された予測画像を、ステップS111において生成された差分画像に加算し、局部的に復号された復号画像(再構成画像)を生成する。ステップS113において、ループフィルタ111は、ステップS112の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行い、復号画像を生成する。
ステップS114において、フレームメモリ112は、ステップS113の処理により生成された復号画像、若しくは、ステップS112の処理により生成された再構成画像を記憶する。
ステップS115において、可逆符号化部106は、ステップS108の処理により量子化された直交変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。なお、可逆符号化部106は、予測に関する情報や、量子化に関する情報や、フィルタ処理に関する情報等を符号化し、ビットストリームに付加する。
ステップS116において、蓄積バッファ107は、ステップS115の処理により得られたビットストリームを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
ステップS117においてレート制御部117は、ステップS115の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
ステップS117の処理が終了すると、符号化処理が終了される。
[量子化準備処理の流れ]
次に、図8のフローチャートを参照して、図7のステップS101において実行される量子化行列準備処理の流れの例を説明する。
次に、図8のフローチャートを参照して、図7のステップS101において実行される量子化行列準備処理の流れの例を説明する。
量子化行列準備処理が開始されると、ステップS131において、量子化行列選択部133は、フラグ設定部131において設定されたqm_present_flag(mode)を取得する。ステップS132において、量子化行列選択部133は、ステップS131において取得したqm_present_flag(mode)の値が「1」であるか否かを判定する。
qm_present_flag(mode)の値が「1」であると判定された場合、量子化行列選択部133は、処理をステップS133に進める。ステップS133において、量子化行列選択部133は、量子化行列設定部132において設定された量子化行列更新値を、当該イントラ予測モード向けの量子化行列として設定(選択)する。
ステップS133の処理が終了すると、量子化行列選択部133は、処理をステップS135に進める。
また、ステップS132において、qm_present_flag(mode)の値が「0」であると判定された場合、量子化行列選択部133は、処理をステップS134に進める。ステップS134において、量子化行列選択部133は、量子化行列初期値を、当該イントラ予測モード向けの量子化行列として設定(選択)する。
ステップS134の処理が終了すると、量子化行列選択部133は、処理をステップS135に進める。
ステップS135において、量子化行列選択部133は、全てのイントラ予測モードの量子化行列を設定したか否かを判定し、未処理のイントラ予測モードが存在すると判定した場合、処理をステップS131に戻し、それ以降の処理を繰り返す。また、ステップS135において、全てのイントラ予測モードの量子化行列を設定したと判定された場合、量子化行列選択部133は、量子化行列準備処理を終了し、処理を図7に戻す。
[量子化処理の流れ]
次に、図9のフローチャートを参照して、図7のステップS109において実行される量子化処理の流れの例を説明する。
次に、図9のフローチャートを参照して、図7のステップS109において実行される量子化処理の流れの例を説明する。
量子化処理が開始されると、ステップS151において、量子化行列選択部133は、最適モード情報(イントラ予測モード若しくはインター予測モードを示す情報)に基づいて、最適な予測モードに対応する量子化行列(すなわち、量子化行列準備処理において設定した量子化行列)を選択する。量子化行列選択部133は、選択した量子化行列を量子化部105に供給する。
ステップS152において、量子化部105は、ステップS151において選択された量子化行列で直交変換係数を量子化する。
ステップS153において、量子化行列選択部133は、ステップS151において選択された量子化行列を、逆量子化部108に供給し、その量子化行列を逆量子化処理に利用させる。
ステップS153の処理が終了すると、量子化行列選択部133は、量子化処理を終了し、処理を図7に戻す。
以上のように各処理を実行することにより、画像符号化装置100は、量子化処理によって情報量をより低減させることができ、符号化効率を向上させることができる。また、画像符号化装置100は、量子化行列の伝送による符号化効率の低減を抑制することができる。
<2.第2の実施の形態>
[画像復号装置]
次に、以上のように符号化された符号化データの復号について説明する。図10は、図1の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
[画像復号装置]
次に、以上のように符号化された符号化データの復号について説明する。図10は、図1の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
図10に示される画像復号装置200は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
図10に示されるように画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ループフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
さらに、画像復号装置200は、量子化行列復号部221を有する。
蓄積バッファ201は、伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部202に供給する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部202は、復号して得られた差分画像の量子化された係数データを、逆量子化部203に供給する。
また、可逆復号部202は、符号化データを復号して得られた最適な予測モードに関する情報を参照し、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定する。つまり、可逆復号部202は、伝送されてきた符号化データにおいて採用された予測モードが、イントラ予測であるか、インター予測であるかを判定する。
可逆復号部202は、その判定結果に基づいて、その予測モードに関する情報を、イントラ予測部211若しくは動き予測・補償部212に供給する。例えば、画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、可逆復号部202は、符号化側から供給された、その選択されたイントラ予測モードに関する情報であるイントラ予測情報をイントラ予測部211に供給する。また、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、可逆復号部202は、符号化側から供給された、その選択されたインター予測モードに関する情報であるインター予測情報を動き予測・補償部212に供給する。
さらに、可逆復号部202は、その予測モードに関する情報(予測モード情報)を量子化行列復号部221に供給する。また、可逆復号部202は、例えばシーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等に含まれる、符号化側から伝送された量子化行列に関する情報を抽出し、量子化行列復号部221に供給する。
逆量子化部203は、量子化行列復号部221から供給される量子化行列を用いて、可逆復号部202により復号されて得られた量子化された係数データを逆量子化する。つまり、逆量子化部203は、図1の量子化部105の量子化方式に対応する方式で逆量子化を行う。逆量子化部203は、その逆量子化により得られた係数データを逆直交変換部204に供給する。
逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203から供給される係数データを逆直交変換する。逆直交変換部204は、この逆直交変換処理により、画像符号化装置100において直交変換される前の差分画像に対応する差分画像を得る。
逆直交変換されて得られた差分画像は、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
演算部205は、差分画像と予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像に対応する再構成画像を得る。演算部205は、その再構成画像をループフィルタ206に供給する。
ループフィルタ206は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ206は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ206は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
なお、ループフィルタ206が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ206が、図1の画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
ループフィルタ206は、フィルタ処理結果である復号画像を画面並べ替えバッファ207およびフレームメモリ209に供給する。なお、このループフィルタ206によるフィルタ処理は省略することもできる。つまり、演算部205の出力が、フィルタ処理されずに、フレームメモリ209に格納されるようにすることもできる。例えば、イントラ予測部211は、この画像に含まれる画素の画素値を周辺画素の画素値として利用する。
画面並べ替えバッファ207は、供給された復号画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された復号画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
フレームメモリ209は、供給される再構成画像や復号画像を記憶する。また、フレームメモリ209は、所定のタイミングにおいて、若しくは、イントラ予測部211や動き予測・補償部212等の外部の要求に基づいて、記憶している再構成画像や復号画像を、選択部210を介してイントラ予測部211や動き予測・補償部212に供給する。
イントラ予測部211は、図1のイントラ予測部114と基本的に同様の処理を行う。ただし、イントラ予測部211は、符号化の際にイントラ予測により予測画像が生成された領域に対してのみ、イントラ予測を行う。
動き予測・補償部212は、可逆復号部202から供給されるインター予測情報に基づいてインター動き予測処理を行い、予測画像を生成する。なお、動き予測・補償部212は、可逆復号部202から供給されるインター予測情報に基づいて、符号化の際にインター予測が行われた領域に対してのみ、インター動き予測処理を行う。
イントラ予測部211若しくは動き予測・補償部212は、予測処理単位の領域毎に、生成した予測画像を、選択部213を介して演算部205に供給する。
選択部213は、イントラ予測部211から供給される予測画像、若しくは、動き予測・補償部212から供給される予測画像を演算部205に供給する。
量子化行列復号部221は、可逆復号部202から供給される予測モード情報と量子化行列に関する情報を取得する。この予測モード情報や量子化行列に関する情報は、符号化側から伝送されたものである。量子化行列復号部221は、量子化行列に関する情報を用いて、各予測モードについて量子化行列を設定する。また、量子化行列復号部221は、その中から、予測モード情報に示される予測モードに応じた量子化行列を選択し、逆量子化部203に供給する。
[量子化行列復号部]
図11は、量子化行列復号部221の主な構成例を示すブロック図である。図11に示されるように、量子化行列復号部221は、フラグ取得部231、量子化行列取得部232、量子化行列選択部233、および予測モード情報取得部234を有する。
図11は、量子化行列復号部221の主な構成例を示すブロック図である。図11に示されるように、量子化行列復号部221は、フラグ取得部231、量子化行列取得部232、量子化行列選択部233、および予測モード情報取得部234を有する。
上述したように、量子化行列復号部221は、符号化側(量子化行列符号化部121)から供給される量子化行列に関する情報(例えばqm_present_flag(mode)や量子化行列更新値等)に基づいて、量子化行列符号化部121と同様に、全てのイントラ予測モードに対して、それぞれ、量子化行列を設定する。そして、量子化行列復号部221は、逆量子化するデータの予測モードに応じて量子化行列を選択し、逆量子化部203に供給する。
フラグ取得部231は、可逆復号部202において抽出されるqm_present_flag(mode)を取得する。フラグ取得部231は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、そのqm_present_flag(mode)を量子化行列取得部232に供給する。
量子化行列取得部232は、フラグ取得部231から供給されるqm_present_flag(mode)を取得する。そのqm_present_flag(mode)の値が「1」である場合、量子化行列取得部232は、その予測モードについて、可逆復号部202において抽出される量子化行列更新値を取得する。量子化行列取得部232は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その量子化行列更新値とqm_present_flag(mode)を量子化行列選択部233に供給する。
量子化行列選択部233は、予め量子化行列初期値を有している。この量子化行列初期値は、符号化側(量子化行列選択部133)が保持しているものと同じ行列である。
また、量子化行列選択部233は、量子化行列取得部232から供給される量子化行列更新値とqm_present_flag(mode)を取得する。量子化行列選択部233は、これらの情報を用いて、全てのイントラ予測モードについて、それぞれ、量子化行列を設定する。
例えば、qm_present_flag(mode)の値が「1」のイントラ予測モードについて、量子化行列選択部233は、量子化行列更新値をその予測モードの量子化行列として設定する。また、例えば、qm_present_flag(mode)の値が「0」のイントラ予測モードについて、量子化行列選択部233は、量子化行列初期値をその予測モードの量子化行列として設定する。なお、イントラ予測の直流(DC)モードやインター予測モードの場合、量子化行列選択部233は、qm_present_flag(mode)の値に関わらず、量子化行列初期値を適用するようにしてもよい。
このようにすることにより、量子化行列復号部221は、量子化行列符号化部121と同様の量子化行列を、全てのイントラ予測モードに、それぞれ、設定することができる。
予測モード情報取得部234は、可逆復号部202から、処理対象である当該領域の予測モードに関する予測モード情報を取得する。予測モード情報取得部234は、所定のタイミングにおいて、若しくは、外部からの要求に基づいて、その予測モード情報が示す当該領域の予測モードを量子化行列選択部233に通知する。
量子化行列選択部233は、以上のように設定した全てのイントラ予測モードの量子化行列の中から、その予測モードに対応する量子化行列を選択し、逆量子化部203に供給する。すなわち、量子化行列選択部233は、逆量子化される当該領域の予測モードに応じて量子化行列を選択し、それを逆量子化部203に供給する。
このようにすることにより、量子化行列復号部221は、量子化行列符号化部121と同様の量子化行列を選択し、逆量子化処理においてその量子化行列を利用させることができる。つまり、逆量子化部203は、この量子化行列復号部221が選択した量子化行列を用いることにより、量子化部105に対応する方法で逆量子化を行うことができる。
したがって、画像復号装置200は、画像符号化装置100により符号化された符号化データを正しく復号することができるので、符号化効率の向上を実現することができる。
[復号処理の流れ]
次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図12のフローチャートを参照して、復号処理の流れの例を説明する。
次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図12のフローチャートを参照して、復号処理の流れの例を説明する。
復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきたビットストリームを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給されるビットストリーム(符号化された差分画像情報)を復号する。このとき、予測モード情報や量子化行列に関する情報等、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
ステップS203において、量子化行列復号部221は、ステップS202の処理により得られた予測モード情報や量子化行列に関する情報等を用いた逆量子化準備処理を行い、全てのイントラ予測モードについて、それぞれ、量子化行列を設定する。
ステップS204において、量子化行列復号部221は、ステップS203の処理において準備された各イントラ予測モードの量子化行列の中から、当該領域の予測モードの量子化行列を選択する。逆量子化部203は、その量子化行列を用いて、ステップS202の処理により得られた、量子化された直交変換係数を逆量子化する。
ステップS205において逆直交変換部204は、ステップS203において逆量子化された直交変換係数を逆直交変換する。
ステップS206において、イントラ予測部211若しくは動き予測・補償部212は、供給された情報を用いて予測処理を行う。ステップS207において、演算部205は、ステップS205において逆直交変換されて得られた差分画像情報に、ステップS206において生成された予測画像を加算する。これにより再構成画像が生成される。
ステップS208において、ループフィルタ206は、ステップS207において得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
ステップS209において、画面並べ替えバッファ207は、ステップS208においてフィルタ処理されて生成された復号画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS210において、D/A変換部208は、フレームの順序が並べ替えられた復号画像をD/A変換する。この復号画像が図示せぬディスプレイに出力され、表示される。
ステップS211において、フレームメモリ209は、ステップS208においてフィルタ処理されて得られた復号画像を記憶する。この復号画像は、インター予測処理において参照画像として利用される。
ステップS211の処理が終了すると、復号処理が終了される。
[逆量子化準備処理の流れ]
次に、図13のフローチャートを参照して、図12のステップS203において実行される逆量子化準備処理の流れの例を説明する。
次に、図13のフローチャートを参照して、図12のステップS203において実行される逆量子化準備処理の流れの例を説明する。
逆量子化準備処理が開始されると、フラグ取得部231は、ステップS231において、ステップS202の処理により抽出されたqm_present_flag(mode)を取得する。ステップS232において、量子化行列取得部232は、そのqm_present_flag(mode)の値が「1」であるか否かを判定する。qm_present_flag(mode)の値が「1」であると判定した場合、量子化行列取得部232は、処理をステップS233に進める。
qm_present_flag(mode)の値が「1」の場合、量子化行列更新値も符号化側から供給される。したがって、ステップS233において、量子化行列取得部232は、ステップS202の処理により抽出された量子化行列更新値を取得する。
ステップS234において、量子化行列選択部233は、当該イントラ予測モード用の量子化行列として、ステップS233において取得された量子化行列更新値を設定する。ステップS234の処理が終了すると、量子化行列選択部233は、処理をステップS236に進める。
また、ステップS232において、qm_present_flag(mode)の値が「0」であると判定された場合、量子化行列取得部232は、処理をステップS235に進める。
ステップS235において、量子化行列選択部233は、当該イントラ予測モード用の量子化行列として、自身が保持する量子化行列初期値を設定する。ステップS235の処理が終了すると、量子化行列選択部233は、処理をステップS236に進める。
ステップS236において、量子化行列選択部233は、全てのイントラ予測モードについて、それぞれ、量子化行列を設定したか否かを判定する。量子化行列をまだ設定してないイントラ予測モードが存在すると判定した場合、量子化行列選択部233は、処理をステップS231に戻し、それ以降の処理を実行させる。また、ステップS236において、全てのイントラ予測モードについて、それぞれ、量子化行列を設定したと判定された場合、量子化行列選択部233は、逆量子化準備処理を終了し、処理を図12に戻す。
[逆量子化処理]
次に、図14のフローチャートを参照して、図12のステップS204において実行される逆量子化処理の流れの例を説明する。
次に、図14のフローチャートを参照して、図12のステップS204において実行される逆量子化処理の流れの例を説明する。
逆量子化処理が開始されると、予測モード情報取得部234は、ステップS251において、ステップS202の処理により抽出された、逆量子化の処理対象である当該領域の予測モード情報を取得する。ステップS252において、量子化行列選択部233は、ステップS251において取得された予測モード情報が示す当該領域の予測モードに応じた量子化行列を、上述した逆量子化準備処理により設定された各イントラ予測モードの量子化行列(量子化行列初期値または量子化行列更新値)の中から選択する。
ステップS253において、逆量子化部203は、ステップS252の処理により選択された量子化行列を用いて、ステップS202の処理により得られた、当該領域の直交変換係数を逆量子化する。
ステップS253の処理が終了すると、逆量子化部203は、逆量子化処理を終了し、処理を図12に戻す。
以上のように各処理を実行することにより、逆量子化部203は、符号化側から供給された情報に基づいて選択された量子化行列を用いて、量子化部105に対応する方法で逆量子化を行うことができる。したがって、画像復号装置200は、画像符号化装置100により符号化された符号化データを正しく復号することができるので、符号化効率の向上を実現することができる。
なお、以上の技術は、イントラピクチャのみに行っても良いし、イントラ・インターピクチャの両方に行っても良い。また、インターピクチャにおけるイントラブロックには、予測モードによらず量子化行列初期値を用いるようにしても良い。若しくは、インターピクチャにおけるイントラブロックには、直前のイントラピクチャにおいて定義された量子化行列更新値を用いるようにしても良い。
<3.第3の実施の形態>
[量子化行列の他の例]
なお、各イントラ予測モードの量子化行列は、上述した以外の方法で生成するようにしてもよい。例えば、イントラ予測の一部の予測モード(予測方向)に対して、その予測方向による係数分布偏りを反映させた量子化行列を基本量子化行列として設定し、その他の予測モード(予測方向)用の量子化行列は、その基本量子化行列を、予測方向に応じて補正することによって生成するようにしてもよい。
[量子化行列の他の例]
なお、各イントラ予測モードの量子化行列は、上述した以外の方法で生成するようにしてもよい。例えば、イントラ予測の一部の予測モード(予測方向)に対して、その予測方向による係数分布偏りを反映させた量子化行列を基本量子化行列として設定し、その他の予測モード(予測方向)用の量子化行列は、その基本量子化行列を、予測方向に応じて補正することによって生成するようにしてもよい。
つまり、基本量子化行列は、量子化行列更新値と同様の量子化行列であり、その各係数の値は、量子化によって、係数分布がその予測方向に偏りを有する直交変換係数の情報量をより低減させることができるように設定されている。
したがって、画像符号化装置100は、この基本量子化行列を、そのイントラ予測モードの予測画像と入力画像との差分画像の直交変換係数の量子化において用いることにより、他のイントラ予測モード向けの量子化行列を用いる場合よりも、情報量を低減させ、符号化効率を向上させることができる。
なお、この基本量子化行列も、従来の量子化行列と同様に、視覚的な画質劣化を抑制するように(つまり画質劣化が目立たないように)配慮がなされていることは言うまでも無い。
そして、この基本量子化行列が対応する予測方向以外の予測方向については、所定のパラメータを用いて、この基本量子化行列を補正することにより対応させる。
この場合、基本量子化行列のみを復号側に伝送すればよいので、符号化効率をより向上させることができる。
[量子化行列符号化部]
図15は、この場合の量子化行列符号化部の主な構成例を示すブロック図である。図15に示されるように、量子化行列符号化部121は、基本量子化行列設定部311および量子化行列生成部312を有する。
図15は、この場合の量子化行列符号化部の主な構成例を示すブロック図である。図15に示されるように、量子化行列符号化部121は、基本量子化行列設定部311および量子化行列生成部312を有する。
基本量子化行列設定部311は、例えばユーザ指示等に基づいて基本量子化行列を設定する。例えば、基本量子化行列設定部311は、垂直方向予測(vertical prediction)並びに水平方向予測(horizontal prediction)に対して基本量子化行列(基本量子化行列[Qv]および[Qh])を設定する。
基本量子化行列[Qv]は、垂直方向の予測による係数分布の偏りを反映させた量子化行列であり、垂直方向予測された予測画像と入力画像の差分画像の直交変換係数を量子化するのに用いて好適な値を有する。基本量子化行列[Qh]は、水平方向の予測による係数分布の偏りを反映させた量子化行列であり、水平方向予測された予測画像と入力画像の差分画像の直交変換係数を量子化するのに用いて好適な値を有する。
なお、以下においては、説明の便宜上、この基本量子化行列[Qv]および[Qh]が設定されるものとする。この場合、垂直方向および水平方向以外の予測方向については、この基本量子化行列[Qv]および[Qh]を用いて補間される。
基本量子化行列設定部311は、この基本量子化行列[Qv]および[Qh]を量子化行列生成部312に供給する。
また、基本量子化行列設定部311は、この基本量子化行列[Qv]および[Qh]を可逆符号化部106にも供給する。可逆符号化部106は、この基本量子化行列[Qv]および[Qh]を符号化し、例えばシーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等に含めて、復号側に伝送する。
量子化行列生成部312は、基本量子化行列設定部311から供給される基本量子化行列[Qv]および[Qh]を取得する。また、量子化行列生成部312は、基本量子化行列のイントラ予測モード(予測方向)以外の各イントラ予測モード(各予測方向)について、基本量子化行列[Qv]および[Qh]の混合比を示すパラメータαおよびβを、予め記憶している。
このパラメータαおよびβの値は、予測方向毎に設定され、各予測方向に依存する値を持つ。量子化行列生成部312は、基本量子化行列[Qv]および[Qh]を、例えば、以下の式(1)のように、このパラメータαおよびβを用いて重み付け加算(混合)し、各予測方向向けの量子化行列を生成する。
[Q(mode)]=α×[Qv]+β×[Qh] ・・・(1)
つまり、量子化行列生成部312は、パラメータαおよびβに従った比率で、基本量子化行列[Qv]および[Qh]を混合させることにより、他の予測方向に対する量子化行列を補間(生成)する。つまり、基本量子化行列が反映する係数分布の偏りの方向が変更される。なお、量子化行列生成部312が、このような各予測方向のパラメータαおよびβを記憶しておらず、適宜、演算により算出するようにしてもよい。
例えば、量子化行列生成部312が、供給された基本量子化行列のイントラ予測モード(予測方向)に基づいて、その予測方向と他の予測方向との関係等から、このパラメータαおよびβを設定するようにしてもよい。このようにすることにより、量子化行列生成部312は、例えば、基本量子化行列のイントラ予測モード(予測方向)が予め定められていない場合にも、各予測方向についての適切なパラメータを得ることができる。
このように各イントラ予測モード向けの量子化行列を生成すると、量子化行列生成部312は、処理対象である当該領域の予測モード向け量子化行列をその中から選択し、量子化部105や逆量子化部108に供給する。
量子化部105は、量子化行列生成部312から供給される量子化行列を用いて当該領域の直交変換係数の量子化を行う。また、逆量子化部108は、量子化行列生成部312から供給される量子化行列を用いて当該領域の、量子化された直交変換係数の逆量子化を行う。
このようにすることにより、第1の実施の形態の場合と同様に、画像符号化装置100は、量子化処理によって情報量をより低減させることができ、符号化効率を向上させることができる。また、画像符号化装置100は、基本量子化行列のみを復号側に伝送すればよいので、量子化行列の伝送による符号化効率の低減を抑制することができる。
[量子化行列準備処理の流れ]
この場合も、符号化処理や量子化処理は、第1の実施の形態で説明したのと同様に行うことができる。ただし、この場合、ステップS115において、可逆符号化部106は、上述したように、基本量子化行列を符号化し、復号側に伝送させる。
この場合も、符号化処理や量子化処理は、第1の実施の形態で説明したのと同様に行うことができる。ただし、この場合、ステップS115において、可逆符号化部106は、上述したように、基本量子化行列を符号化し、復号側に伝送させる。
図16のフローチャートを参照して、この場合の量子化行列準備処理の流れの例を説明する。
量子化行列準備処理が開始されると、基本量子化行列設定部311は、ステップS301において、予め定められた所定の予測モード向けの量子化行列である基本量子化行列を設定する。
ステップS302において、量子化行列生成部312は、基本量子化行列の混合比(重み)を示すパラメータを設定する。なお、予めこのパラメータが設定されている場合、この処理は省略される。
ステップS303において、量子化行列生成部312は、ステップS302の処理により設定されたパラメータを用いて、基本量子化行列を混合し、各イントラ予測モード向けの量子化行列を設定する。
全てのイントラ予測モードについて量子化行列を設定すると、量子化行列生成部312は、量子化行列準備処理を終了し、処理を図7に戻す。
このようにすることにより、画像符号化装置100は、量子化処理によって情報量をより低減させることができるようにし、符号化効率を向上させることができる。また、画像符号化装置100は、量子化行列の伝送による符号化効率の低減を抑制することができる。
なお、直流(DC)モードや、インター予測モードの場合、係数分布の偏りの方向が不明である。そこで、量子化行列生成部312が、例えば、パラメータαとβを、α:β=1:1としてもよい。また、この場合、量子化行列生成部312が、このような基本量子化行列の使用を禁止し、第1の実施の形態や第2の実施の形態において説明したような量子化行列初期値を設定するようにしてもよい。
[量子化行列復号部]
次に、この場合の画像復号装置200について説明する。図17は、この場合の量子化行列復号部221の主な構成例を示すブロック図である。図17に示されるように、量子化行列復号部221は、基本量子化行列取得部411、量子化行列生成部412、および予測モード情報取得部413を有する。
次に、この場合の画像復号装置200について説明する。図17は、この場合の量子化行列復号部221の主な構成例を示すブロック図である。図17に示されるように、量子化行列復号部221は、基本量子化行列取得部411、量子化行列生成部412、および予測モード情報取得部413を有する。
基本量子化行列取得部411は、可逆復号部202において、例えばシーケンスパラメータセット(SPS)やピクチャパラメータセット(PPS)等から抽出された、符号化側から伝送された基本量子化行列[Qv]および[Qh]を取得する。基本量子化行列取得部411は、その基本量子化行列[Qv]および[Qh]を、所定のタイミングにおいて、若しくは、他の要求に基づいて、量子化行列生成部412に供給する。
量子化行列生成部412は、量子化行列生成部312と同様の処理部であり、全てのイントラ予測モード(予測方向)について、量子化行列生成部312が有するのと同じ値のパラメータαおよびβを予め記憶しているか、若しくは、演算により、適宜、量子化行列生成部312が有するのと同じ値のパラメータαおよびβを算出することができる。
量子化行列生成部412は、基本量子化行列取得部411から供給される基本量子化行列[Qv]および[Qh]を取得する。量子化行列生成部412は、その基本量子化行列[Qv]および[Qh]を、パラメータαおよびβを用いて混合(重み付け加算)することにより、各イントラ予測モード向けの量子化行列を生成する。
このようにすることにより、量子化行列復号部221は、量子化行列符号化部121と同様の量子化行列を、全てのイントラ予測モードに、それぞれ、生成することができる。
予測モード情報取得部413は、可逆復号部202において抽出された、処理対象である当該領域の予測モード情報を取得する。予測モード情報取得部413は、所定のタイミングにおいて、若しくは、他の要求に基づいて、当該領域の予測モードを量子化行列生成部412に通知する。
量子化行列生成部412は、生成した各イントラ予測モード向けの量子化行列の中から、そのイントラ予測モード向けの量子化行列を選択し、逆量子化部203に通知する。
このようにすることにより、量子化行列復号部221は、量子化行列符号化部121と同様の量子化行列を選択し、逆量子化処理においてその量子化行列を利用させることができる。つまり、逆量子化部203は、この量子化行列復号部221が選択した量子化行列を用いることにより、量子化部105に対応する方法で逆量子化を行うことができる。
したがって、画像復号装置200は、画像符号化装置100により符号化された符号化データを正しく復号することができるので、符号化効率の向上を実現することができる。
[逆量子化準備処理の流れ]
この場合も、復号処理や逆量子化処理は、第2の実施の形態で説明したのと同様に行うことができる。ただし、この場合、ステップS202において、可逆復号部202は、上述したように、基本量子化行列を抽出する。
この場合も、復号処理や逆量子化処理は、第2の実施の形態で説明したのと同様に行うことができる。ただし、この場合、ステップS202において、可逆復号部202は、上述したように、基本量子化行列を抽出する。
図18のフローチャートを参照して、この場合の逆量子化準備処理の流れの例を説明する。
逆量子化準備処理が開始されると、ステップS401において、基本量子化行列取得部411は、ステップS202の処理により抽出された基本量子化行列を取得する。ステップS402において、量子化行列生成部412は、基本量子化行列の混合比(重み)を示すパラメータを設定する。なお、予めこのパラメータが設定されている場合、この処理は省略される。
ステップS403において、量子化行列生成部412は、ステップS402の処理により設定されたパラメータを用いて、基本量子化行列を混合し、各イントラ予測モード向けの量子化行列を設定する。
全てのイントラ予測モードについて量子化行列を設定すると、量子化行列生成部412は、逆量子化準備処理を終了し、処理を図12に戻す。
このようにすることにより、逆量子化部203は、符号化側から供給された情報に基づいて選択された量子化行列を用いて、量子化部105に対応する方法で逆量子化を行うことができる。したがって、画像復号装置200は、画像符号化装置100により符号化された符号化データを正しく復号することができるので、符号化効率の向上を実現することができる。
なお、量子化行列生成部412は、直流(DC)モードや、インター予測モードの場合、量子化行列生成部312と同様にパラメータを設定する。また、量子化行列生成部312が、このような場合に、基本量子化行列の使用を禁止するときは、量子化行列生成部412も基本量子化行列の使用を禁止し、量子化行列初期値を設定する。
[その他の例]
なお、基本量子化行列を設定するイントラ予測モード(予測方向)は任意であり、上述した垂直方向および水平方向に限らない。
なお、基本量子化行列を設定するイントラ予測モード(予測方向)は任意であり、上述した垂直方向および水平方向に限らない。
例えば、基本量子化行列を、1つの基本量子化行列[Q]と、その転置行列[Q]Tとしてもよい。この場合、画像符号化装置100は、1つの基本量子化行列[Q]を、復号側に転送すればよく、その分、符号化効率をさらに向上させることができる。
ただし、水平・垂直の2方向を基本量子化行列とする場合の方が、各方向の相関性の強さの違い等を表現することができるので、量子化によって情報量をより低減させることができ、その分、符号化効率を向上させることができる。
例えば、元々、画像において相関性に強い偏りが存在する場合、予測方向に関わらず、係数分布において偏りが生じ易い。例えば、インタレース画像や横縞の画像のように、垂直方向の相関が低い画像の場合、画像の垂直方向に高周波成分が多く含まれる。
また、例えば、サイドバイサイドの画像や縦縞の画像ように、水平方向の相関が低い画像の場合、画像の水平方向に高周波成分が多く含まれる。
これらのような画像の場合、直交変換係数の係数分布にも影響を及ぼす。つまり、垂直方向予測のときの係数分布の偏り方と、水平方向予測のときの係数分布の偏り方が対称でない。したがって、このような場合、基本量子化行列[Qh]および[Qv]の両方を用いる方が、転置行列を用いる場合よりも、係数分布により適した量子化行列を得ることができ、より情報量を低減させることができる(つまり、符号化効率をより向上させることができる)ので望ましい。
なお、基本量子化行列[Qh]および[Qv]の両方を用いるか、基本量子化行列[Q]とその転置行列[Q]Tを用いるかを、所定の条件に従って切り替えるようにしてもよい。例えば、量子化行列符号化部121に制御部を設け、その制御部が、基本量子化行列設定部311の動作を制御し、基本量子化行列[Qh]および[Qv]の両方を設定するか、基本量子化行列[Q]と、その転置行列[Q]Tを設定するかを、適宜、切り替えるようにしてもよい。その場合、この切り替えに関する情報(いずれの方法を選択したかを示す情報等)を、復号側に伝送するようにしてもよい。その場合、量子化行列復号部221の基本量子化行列取得部411は、その情報に基づいて、取得する基本量子化行列がどのような行列であるかを把握することができるようにしてもよい。
なお、パラメータαおよびβは、量子化行列が対応する予測方向を回転させるためのものであり、予測方向に応じた基本量子化行列の混合比を示すものであるので、三角関数を用いるようにすると、その予測方向に対してより正確な混合比で基本量子化行列を混合させることができる。ただし、その場合、演算が複雑になる恐れがある。そこで、例えば、図19に示される例のように、パラメータαおよびβを、x/2nとする(近似値を用いる)ようにしてもよい。このようにすることにより、基本量子化行列の混合の際の除算をシフト演算により行うことができるので、演算の負荷を低減させることができる。
また、基本量子化行列を設定するイントラ予測モード(予測方向)は2方向以外であってもよい。例えば、4方向や8方向であってもよい。その場合、各方向間の角度が一定(各方向が等間隔)であってもよいし、偏っていてもよい。いずれの場合も、基本量子化行列が設定されない予測方向(非基本予測方向とも称する)の量子化行列は、その非基本予測方向の両側の最も近い、基本量子化行列が設定される予測方向(基本予測方向とも称する)の基本量子化行列を用いて補間される。
また、この場合、基本予測方向に関する情報(例えば、どの予測方向を基本予測方向にするかを示す情報や、基本予測方向の数等を示す情報等)を、復号側に伝送するようにしてもよい。その場合、量子化行列復号部221の基本量子化行列取得部411は、その情報に基づいて、取得する基本量子化行列がどの予測方向に対応する行列であるか等を把握することができるようにしてもよい。
なお、基本量子化行列を混合する方法は任意である。例えば、3つ以上の基本量子化行列を混合するようにしてもよいし、重み付け加算以外の方法で混合するようにしてもよい。また、基本量子化行列を混合するためのパラメータの値や数は任意である。その混合の方法に応じたものを採用すればよい。例えば、3つ以上の基本量子化行列を混合する場合、3つ以上のパラメータ(例えば、α、β、γ等)を適用するようにしてもよい。
また、この基本量子化行列を設定する方向数は、予測処理が行われる当該領域の大きさに応じて決定するようにしてもよい。例えば、量子化行列符号化部121に制御部を設け、その制御部が、基本量子化行列設定部311の動作を制御し、当該領域の大きさに応じた数の基本量子化行列を設定させるようにしてもよい。
例えば、上述したような、量子化行列に係数分布の偏りを反映させることによる情報量の低減量は、当該領域がより大きい程より大きくなる。そこで、より大きな領域程、より正確に係数分布の偏りを反映させることができるように、設定する基本量子化行列の数を多くするようにしてもよい。
なお、この基本予測方向の数を切り替えるために閾値判定を行うようにする場合、その閾値は、画枠の大きさ等のプロファイル・レベルに応じて設定されるようにしてもよい。
また、第1の実施の形態や第2の実施の形態において説明した方法と、第3の実施の形態において説明した方法とを組み合わせてもよい。
例えば、基本量子化行列を量子化行列初期値とし、qm_present_flag(mode)の値が「1」であるイントラ予測モードについて設定される量子化行列更新値は、基本量子化行列とされる量子化行列初期値とパラメータによって生成するようにしてもよい。この場合、qm_present_flag(mode)のみを復号側に伝送すればよく、量子化行列更新値を伝送させる必要がないので、第1の実施の形態の場合と比べて、伝送する量子化行列に関する情報の情報量を低減させることができ、符号化効率を向上させることができる。
また、その場合、qm_present_flag(mode)の値を判定するイントラ予測モードの順序は、モード番号順でなくてもよい。例えば、図20に示される例の数字順のように、全予測方向を等分割するような順序で、qm_present_flag(mode)の値を判定するようにしてもよい。
例えば、基本予測方向が垂直方向と水平方向の場合、図20の2番以降の角度は、非基本予測方向であり、量子化行列初期値とパラメータを用いて補間される。したがって、このようにすることにより、基本量子化行列(量子化行列初期値)の設定を行い、その後に補間を行う(量子化行列更新値を設定する)ように、処理を進めることができる。
したがって、例えば、qm_present_flag(mode)の値の変化点のみを伝送するようにしてもよい。また、基本予測方向とされる予測方向の分割数を示す情報(例えば、図20の何番目の予測方向までを基本予測方向とするかを示す情報)を伝送するようにしてもよい。
以上においては、伝送する情報をシーケンスパラメータセット若しくはピクチャパラメータセットに格納するように説明したが、これに限らず、例えばスライスヘッダ等、任意の位置に格納するようにしてもよい。
なお、本技術を適用する符号化・復号方式は任意であり、イントラ予測処理及び量子化行列を用いる方式であればどのような符号化・復号方式に適用することもできる。
なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
<4.第4の実施の形態>
[コンピュータ]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
[コンピュータ]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
図21において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図21に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<5.第5の実施の形態>
[第1の応用例:テレビジョン受像機]
図22は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
[第1の応用例:テレビジョン受像機]
図22は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、符号化効率の向上を実現することができる。
<6.第6の実施の形態>
[第2の応用例:携帯電話機]
図23は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
[第2の応用例:携帯電話機]
図23は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、符号化効率を向上させることができる。
<7.第7の実施の形態>
[第3の応用例:記録再生装置]
図24は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
[第3の応用例:記録再生装置]
図24は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、符号化効率を向上させることができる。
<8.第8の実施の形態>
[第4の応用例:撮像装置]
図25は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
[第4の応用例:撮像装置]
図25は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、符号化効率を向上させることができる。
なお、本明細書では、閾値などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 画像を符号化した符号化データを復号して変換係数データを生成する復号部と、
画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、前記復号部により生成された前記変換係数データを逆量子化する逆量子化部と
を備える画像処理装置。
(2) 前記量子化行例は、イントラ予測の予測モードに応じて設定される
前記(1)に記載の画像処理装置。
(3) 前記量子化行列は、イントラ予測の予測モードの種類に応じて設定される
前記(2)に記載の画像処理装置。
(4) 前記量子化行列は、イントラ予測の予測方向に応じて設定される
前記(3)に記載の画像処理装置。
(5) 前記量子化行列は、前記イントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を補正することにより設定される
前記(4)に記載の画像処理装置。
(6) 前記量子化行列は、互いに異なる予測方向に対応する複数の前記基本量子化行列の一部または全部を、予測方向に応じた値のパラメータを用いて混合することにより設定される
前記(5)に記載の画像処理装置。
(7) 前記量子化行列は、複数の前記基本量子化行列を、前記パラメータを用いて重み付けする重み付け加算することにより設定される
前記(6)に記載の画像処理装置。
(8) 前記量子化行列は、当該領域の予測モードが直流モードの場合、若しくは、インター予測モードの場合、互いに直交する予測方向に対応する2つの前記基本量子化行列を1対1で混合することにより設定される
前記(5)乃至(7)のいずれかに記載の画像処理装置。
(9) 前記量子化行列は、前記基本量子化行列が得られない場合、予め定められた量子化行列初期値を用いて設定される
前記(5)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記量子化行列は、前記イントラ予測の各予測方向についてのフラグ情報に基づいて、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を用いて設定される
前記(4)乃至(9)のいずれかに記載の画像処理装置。
(11) 前記量子化行列は、インターピクチャの場合、前記量子化行列初期値を用いて設定される
前記(10)に記載の画像処理装置。
(12) 前記量子化行列は、インターピクチャの場合、直前のイントラピクチャにおいて用いられた前記量子化行列更新値を用いて設定される
前記(10)または(11)に記載の画像処理装置。
(13) 画像処理装置の画像処理方法において、
前記画像処理装置が、
画像を符号化した符号化データを復号して変換係数データを生成し、
画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、生成された前記変換係数データを逆量子化する
画像処理方法。
(14) 符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定する設定部と、
前記設定部により設定された前記量子化行列を用いて、前記変換係数データを量子化する量子化部と、
前記量子化部により量子化された前記変換係数データを符号化する符号化部と
を備える画像処理装置。
(15) 前記設定部は、イントラ予測の予測モードに応じて、前記量子化行列を設定する
前記(14)に記載の画像処理装置。
(16) 前記設定部は、イントラ予測の予測モードの種類に応じて、前記量子化行列を設定する
前記(15)に記載の画像処理装置。
(17) 前記設定部は、イントラ予測の予測方向に応じて、前記量子化行列を設定する
前記(16)に記載の画像処理装置。
(18) 前記画像に対して行われるイントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を設定する基本量子化行列設定部をさらに備え、
前記設定部は、前記基本量子化行列設定部により設定された前記基本量子化行列を補正することにより、前記量子化行列を設定する
前記(14)乃至(17)のいずれかに記載の画像処理装置。
(19) 前記イントラ予測の各予測方向について、フラグ情報を設定するフラグ情報設定部と、
前記フラグ情報設定部により設定された前記フラグ情報が、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値を設定する量子化行列更新値設定部と
をさらに備え、
前記設定部は、前記量子化行列更新値設定部により設定された前記量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を、前記量子化行列に設定する
前記(14)乃至(18)のいずれかに記載の画像処理装置。
(20) 画像処理装置の画像処理方法において、
前記画像処理装置が、
符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定し、
設定された前記量子化行列を用いて、前記変換係数データを量子化し、
量子化された前記変換係数データを符号化する
画像処理方法。
(1) 画像を符号化した符号化データを復号して変換係数データを生成する復号部と、
画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、前記復号部により生成された前記変換係数データを逆量子化する逆量子化部と
を備える画像処理装置。
(2) 前記量子化行例は、イントラ予測の予測モードに応じて設定される
前記(1)に記載の画像処理装置。
(3) 前記量子化行列は、イントラ予測の予測モードの種類に応じて設定される
前記(2)に記載の画像処理装置。
(4) 前記量子化行列は、イントラ予測の予測方向に応じて設定される
前記(3)に記載の画像処理装置。
(5) 前記量子化行列は、前記イントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を補正することにより設定される
前記(4)に記載の画像処理装置。
(6) 前記量子化行列は、互いに異なる予測方向に対応する複数の前記基本量子化行列の一部または全部を、予測方向に応じた値のパラメータを用いて混合することにより設定される
前記(5)に記載の画像処理装置。
(7) 前記量子化行列は、複数の前記基本量子化行列を、前記パラメータを用いて重み付けする重み付け加算することにより設定される
前記(6)に記載の画像処理装置。
(8) 前記量子化行列は、当該領域の予測モードが直流モードの場合、若しくは、インター予測モードの場合、互いに直交する予測方向に対応する2つの前記基本量子化行列を1対1で混合することにより設定される
前記(5)乃至(7)のいずれかに記載の画像処理装置。
(9) 前記量子化行列は、前記基本量子化行列が得られない場合、予め定められた量子化行列初期値を用いて設定される
前記(5)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記量子化行列は、前記イントラ予測の各予測方向についてのフラグ情報に基づいて、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を用いて設定される
前記(4)乃至(9)のいずれかに記載の画像処理装置。
(11) 前記量子化行列は、インターピクチャの場合、前記量子化行列初期値を用いて設定される
前記(10)に記載の画像処理装置。
(12) 前記量子化行列は、インターピクチャの場合、直前のイントラピクチャにおいて用いられた前記量子化行列更新値を用いて設定される
前記(10)または(11)に記載の画像処理装置。
(13) 画像処理装置の画像処理方法において、
前記画像処理装置が、
画像を符号化した符号化データを復号して変換係数データを生成し、
画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、生成された前記変換係数データを逆量子化する
画像処理方法。
(14) 符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定する設定部と、
前記設定部により設定された前記量子化行列を用いて、前記変換係数データを量子化する量子化部と、
前記量子化部により量子化された前記変換係数データを符号化する符号化部と
を備える画像処理装置。
(15) 前記設定部は、イントラ予測の予測モードに応じて、前記量子化行列を設定する
前記(14)に記載の画像処理装置。
(16) 前記設定部は、イントラ予測の予測モードの種類に応じて、前記量子化行列を設定する
前記(15)に記載の画像処理装置。
(17) 前記設定部は、イントラ予測の予測方向に応じて、前記量子化行列を設定する
前記(16)に記載の画像処理装置。
(18) 前記画像に対して行われるイントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を設定する基本量子化行列設定部をさらに備え、
前記設定部は、前記基本量子化行列設定部により設定された前記基本量子化行列を補正することにより、前記量子化行列を設定する
前記(14)乃至(17)のいずれかに記載の画像処理装置。
(19) 前記イントラ予測の各予測方向について、フラグ情報を設定するフラグ情報設定部と、
前記フラグ情報設定部により設定された前記フラグ情報が、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値を設定する量子化行列更新値設定部と
をさらに備え、
前記設定部は、前記量子化行列更新値設定部により設定された前記量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を、前記量子化行列に設定する
前記(14)乃至(18)のいずれかに記載の画像処理装置。
(20) 画像処理装置の画像処理方法において、
前記画像処理装置が、
符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定し、
設定された前記量子化行列を用いて、前記変換係数データを量子化し、
量子化された前記変換係数データを符号化する
画像処理方法。
100 画像符号化装置, 105 量子化部, 106 可逆符号化部, 108 逆量子化部, 121 量子化行列符号化部, 131 フラグ設定部, 132 量子化行列設定部, 133 量子化行列選択部, 200 画像復号装置, 202 可逆復号部, 203 逆量子化部, 221 量子化行列復号部, 231 フラグ取得部, 232 量子化行列取得部, 233 量子化行列選択部, 234 予測モード情報取得部, 311 基本量子化行列設定部, 312 量子化行列生成部, 411 基本量子化行列取得部, 412 量子化行列生成部, 413 予測モード情報取得部
Claims (20)
- 画像を符号化した符号化データを復号して変換係数データを生成する復号部と、
画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、前記復号部により生成された前記変換係数データを逆量子化する逆量子化部と
を備える画像処理装置。 - 前記量子化行例は、イントラ予測の予測モードに応じて設定される
請求項1に記載の画像処理装置。 - 前記量子化行列は、イントラ予測の予測モードの種類に応じて設定される
請求項2に記載の画像処理装置。 - 前記量子化行列は、イントラ予測の予測方向に応じて設定される
請求項3に記載の画像処理装置。 - 前記量子化行列は、前記イントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を補正することにより設定される
請求項4に記載の画像処理装置。 - 前記量子化行列は、互いに異なる予測方向に対応する複数の前記基本量子化行列の一部または全部を、予測方向に応じた値のパラメータを用いて混合することにより設定される
請求項5に記載の画像処理装置。 - 前記量子化行列は、複数の前記基本量子化行列を、前記パラメータを用いて重み付けする重み付け加算することにより設定される
請求項6に記載の画像処理装置。 - 前記量子化行列は、当該領域の予測モードが直流モードの場合、若しくは、インター予測モードの場合、互いに直交する予測方向に対応する2つの前記基本量子化行列を1対1で混合することにより設定される
請求項5に記載の画像処理装置。 - 前記量子化行列は、前記基本量子化行列が得られない場合、予め定められた量子化行列初期値を用いて設定される
請求項5に記載の画像処理装置。 - 前記量子化行列は、前記イントラ予測の各予測方向についてのフラグ情報に基づいて、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を用いて設定される
請求項4に記載の画像処理装置。 - 前記量子化行列は、インターピクチャの場合、前記量子化行列初期値を用いて設定される
請求項10に記載の画像処理装置。 - 前記量子化行列は、インターピクチャの場合、直前のイントラピクチャにおいて用いられた前記量子化行列更新値を用いて設定される 請求項10に記載の画像処理装置。
- 画像処理装置の画像処理方法において、
前記画像処理装置が、
画像を符号化した符号化データを復号して変換係数データを生成し、
画像を符号化する際に用いられた予測モードに応じて設定された量子化行列を用いて、生成された前記変換係数データを逆量子化する
画像処理方法。 - 符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定する設定部と、
前記設定部により設定された前記量子化行列を用いて、前記変換係数データを量子化する量子化部と、
前記量子化部により量子化された前記変換係数データを符号化する符号化部と
を備える画像処理装置。 - 前記設定部は、イントラ予測の予測モードに応じて、前記量子化行列を設定する
請求項14に記載の画像処理装置。 - 前記設定部は、イントラ予測の予測モードの種類に応じて、前記量子化行列を設定する
請求項15に記載の画像処理装置。 - 前記設定部は、イントラ予測の予測方向に応じて、前記量子化行列を設定する
請求項16に記載の画像処理装置。 - 前記画像に対して行われるイントラ予測の所定の予測方向による直交変換係数の係数分布の偏りを反映した基本量子化行列を設定する基本量子化行列設定部をさらに備え、
前記設定部は、前記基本量子化行列設定部により設定された前記基本量子化行列を補正することにより、前記量子化行列を設定する
請求項14に記載の画像処理装置。 - 前記イントラ予測の各予測方向について、フラグ情報を設定するフラグ情報設定部と、
前記フラグ情報設定部により設定された前記フラグ情報が、予め定められた所定の値である場合、前記予測方向による直交変換係数の係数分布の偏りを反映した量子化行列である量子化行列更新値を設定する量子化行列更新値設定部と
をさらに備え、
前記設定部は、前記量子化行列更新値設定部により設定された前記量子化行列更新値、若しくは、前記係数分布の偏りを反映していない量子化行列である量子化行列初期値を、前記量子化行列に設定する
請求項14に記載の画像処理装置。 - 画像処理装置の画像処理方法において、
前記画像処理装置が、
符号化する画像に対して行われる予測処理の予測モードに応じて、前記画像の変換係数データを量子化する際に用いられる量子化行列を設定し、
設定された前記量子化行列を用いて、前記変換係数データを量子化し、
量子化された前記変換係数データを符号化する
画像処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011135722A JP2013005298A (ja) | 2011-06-17 | 2011-06-17 | 画像処理装置および方法 |
JP2011-135722 | 2011-06-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012173063A1 true WO2012173063A1 (ja) | 2012-12-20 |
Family
ID=47357052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/064809 WO2012173063A1 (ja) | 2011-06-17 | 2012-06-08 | 画像処理装置および方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2013005298A (ja) |
WO (1) | WO2012173063A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113196760A (zh) * | 2018-12-17 | 2021-07-30 | 佳能株式会社 | 图像编码设备和图像解码设备及其控制方法和程序 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150089360A (ko) * | 2014-01-27 | 2015-08-05 | 엘에스엠트론 주식회사 | 전기 커넥터 및 이를 포함하는 전기 커넥터 어셈블리 |
WO2018216479A1 (ja) * | 2017-05-24 | 2018-11-29 | ソニーセミコンダクタソリューションズ株式会社 | 画像処理装置および方法、並びにプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010146772A1 (ja) * | 2009-06-19 | 2010-12-23 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
WO2011052217A1 (ja) * | 2009-10-30 | 2011-05-05 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路 |
-
2011
- 2011-06-17 JP JP2011135722A patent/JP2013005298A/ja not_active Withdrawn
-
2012
- 2012-06-08 WO PCT/JP2012/064809 patent/WO2012173063A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010146772A1 (ja) * | 2009-06-19 | 2010-12-23 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
WO2011052217A1 (ja) * | 2009-10-30 | 2011-05-05 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路 |
Non-Patent Citations (1)
Title |
---|
JIANHUA ZHENG: "Adaptive frequency weighting quantization", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 1ST MEETING, 15 April 2010 (2010-04-15), DRESDEN, DE * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113196760A (zh) * | 2018-12-17 | 2021-07-30 | 佳能株式会社 | 图像编码设备和图像解码设备及其控制方法和程序 |
US20210306635A1 (en) * | 2018-12-17 | 2021-09-30 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
RU2765428C1 (ru) * | 2018-12-17 | 2022-01-31 | Кэнон Кабусики Кайся | Устройство кодирования изображений, устройство декодирования изображений, способы управления ими и программа |
TWI803709B (zh) * | 2018-12-17 | 2023-06-01 | 日商佳能股份有限公司 | 圖像編碼裝置、圖像解碼裝置、其等之控制方法及程式 |
US11849114B2 (en) | 2018-12-17 | 2023-12-19 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US20240089446A1 (en) * | 2018-12-17 | 2024-03-14 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US20240089444A1 (en) * | 2018-12-17 | 2024-03-14 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US20240089448A1 (en) * | 2018-12-17 | 2024-03-14 | Canon Kabushiki Kaisha | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US20240089447A1 (en) * | 2018-12-17 | 2024-03-14 | Canon Kabusiki Kaisha | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
CN113196760B (zh) * | 2018-12-17 | 2024-03-19 | 佳能株式会社 | 图像编码设备、图像解码设备、控制方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2013005298A (ja) | 2013-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6419113B2 (ja) | 画像処理装置および方法、並びに、プログラム | |
US10887590B2 (en) | Image processing device and method | |
JP5942990B2 (ja) | 画像処理装置および方法 | |
US10104372B2 (en) | Image processing apparatus and image processing method | |
JP2013150173A (ja) | 画像処理装置および方法 | |
WO2011155378A1 (ja) | 画像処理装置および方法 | |
JP5982734B2 (ja) | 画像処理装置および方法 | |
WO2014050676A1 (ja) | 画像処理装置および方法 | |
WO2013108688A1 (ja) | 画像処理装置および方法 | |
WO2014050731A1 (ja) | 画像処理装置および方法 | |
WO2013065570A1 (ja) | 画像処理装置および方法 | |
WO2012157538A1 (ja) | 画像処理装置および方法 | |
WO2013154026A1 (ja) | 画像処理装置および方法 | |
WO2012105406A1 (ja) | 画像処理装置および方法 | |
WO2013051453A1 (ja) | 画像処理装置および方法 | |
WO2012173063A1 (ja) | 画像処理装置および方法 | |
WO2013002106A1 (ja) | 画像処理装置および方法 | |
WO2013065567A1 (ja) | 画像処理装置および方法 | |
JP6217997B2 (ja) | 画像処理装置および方法 | |
WO2013002111A1 (ja) | 画像処理装置および方法 | |
JP2018029347A (ja) | 画像処理装置および方法 | |
WO2012157539A1 (ja) | 画像処理装置および方法 | |
JP2013150124A (ja) | 画像処理装置および方法 | |
JP2019146225A (ja) | 画像処理装置および方法 | |
WO2014156707A1 (ja) | 画像符号化装置および方法、並びに、画像復号装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12800135 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12800135 Country of ref document: EP Kind code of ref document: A1 |