WO2018168484A1 - 符号化装置、符号化方法、復号装置、及び、復号方法 - Google Patents
符号化装置、符号化方法、復号装置、及び、復号方法 Download PDFInfo
- Publication number
- WO2018168484A1 WO2018168484A1 PCT/JP2018/007704 JP2018007704W WO2018168484A1 WO 2018168484 A1 WO2018168484 A1 WO 2018168484A1 JP 2018007704 W JP2018007704 W JP 2018007704W WO 2018168484 A1 WO2018168484 A1 WO 2018168484A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- unit
- class
- class classification
- filter
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 709
- 238000001914 filtration Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 345
- 230000008569 process Effects 0.000 claims description 241
- 238000004364 calculation method Methods 0.000 claims description 136
- 238000011045 prefiltration Methods 0.000 claims description 57
- 230000005540 biological transmission Effects 0.000 claims description 35
- 238000012217 deletion Methods 0.000 claims description 20
- 230000037430 deletion Effects 0.000 claims description 20
- 230000007717 exclusion Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 description 156
- 230000003044 adaptive effect Effects 0.000 description 140
- 230000015654 memory Effects 0.000 description 96
- 239000000872 buffer Substances 0.000 description 83
- 238000010586 diagram Methods 0.000 description 74
- 238000013139 quantization Methods 0.000 description 69
- 230000006870 function Effects 0.000 description 63
- 238000005516 engineering process Methods 0.000 description 40
- 230000006978 adaptation Effects 0.000 description 35
- 238000004891 communication Methods 0.000 description 32
- 230000008707 rearrangement Effects 0.000 description 28
- 238000003384 imaging method Methods 0.000 description 27
- 230000006835 compression Effects 0.000 description 25
- 238000007906 compression Methods 0.000 description 25
- 238000003860 storage Methods 0.000 description 22
- 230000009467 reduction Effects 0.000 description 20
- 230000005236 sound signal Effects 0.000 description 17
- 238000009825 accumulation Methods 0.000 description 15
- 230000010354 integration Effects 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 13
- 239000004065 semiconductor Substances 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 10
- 238000000605 extraction Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 239000012536 storage buffer Substances 0.000 description 5
- 239000010749 BS 2869 Class C1 Substances 0.000 description 4
- 239000010750 BS 2869 Class C2 Substances 0.000 description 4
- 230000003321 amplification Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Definitions
- the present technology relates to an encoding device, an encoding method, a decoding device, and a decoding method, and in particular, for example, an encoding device, an encoding method, and a decoding that can greatly improve the S / N of an image.
- the present invention relates to an apparatus and a decoding method.
- HEVC High Efficiency Video Coding
- ILF In Loop Filter
- post-HEVC predictive coding scheme of the next generation of HEVC
- ILF includes DF (Deblocking Filter) to reduce block noise, SAO (Sample Adaptive Offset) to reduce ringing, and ALF to minimize coding error (error of decoded image with respect to original image). (Adaptive Loop Filter).
- ALF is described in Patent Document 1
- SAO is described in Patent Document 2.
- the currently proposed DF as ILF, SAO, and ALF operate independently. Therefore, the filter that performs the filter process in the subsequent stage does not perform the filter process in consideration of the filter process of the filter that performs the filter process in the previous stage.
- SAO when filtering is performed in the order of DF, SAO, and ALF, SAO does not perform filtering in consideration of the DF before the SAO, and the ALF does not perform the filtering process. Filter processing is not performed in consideration of DF and SAO.
- the filter processing of the subsequent stage filter is necessarily the optimum filter processing, and it is difficult to greatly improve the S / N (Signal-to-Noise-Ratio) of the image.
- the present technology has been made in view of such a situation, and makes it possible to greatly improve the S / N of an image.
- An encoding apparatus performs class classification that classifies a target pixel of a first image obtained by adding a prediction encoding residual and a predicted image into one of a plurality of classes.
- a class classification unit that performs the filtering process corresponding to the class of the target pixel on the first image and generates a second image used for prediction of the predicted image, and the class
- the classification unit is an encoding device that performs the class classification and performs the predictive encoding by using the pre-filter related information related to the pre-filter processing performed before the filter processing of the filter processing unit.
- the encoding method of the present technology includes class classification that classifies a target pixel of a first image obtained by adding a residual of prediction encoding and a prediction image into one of a plurality of classes.
- a class classifying unit that performs the filtering process corresponding to the class of the target pixel on the first image, and a second image processing unit that generates a second image to be used for prediction of the predicted image.
- the class classification unit of the encoding device that performs encoding uses the pre-filter related information regarding the pre-filter processing performed in the pre-stage of the filter processing of the filter processing unit.
- the target pixel of the first image obtained by adding the prediction encoding residual and the prediction image is set to one of a plurality of classes. Classification to classify is performed. Then, a filtering process corresponding to the class of the target pixel is performed on the first image, a second image used for prediction of the predicted image is generated, and the predictive coding is performed. In such predictive coding, the class classification is performed using the pre-filter related information regarding the pre-filter processing performed in the pre-stage of the filter processing of the filter processing unit.
- the decoding device of the present technology performs class classification that classifies the target pixel of the first image obtained by adding the prediction encoding residual and the prediction image into one of a plurality of classes.
- a class classification unit ; and a filter processing unit that performs a filter process corresponding to the class of the target pixel on the first image and generates a second image used for prediction of the predicted image, and the class classification
- the decoding unit is a decoding device that performs the class classification using the pre-filter related information related to the pre-filter processing performed in the pre-stage of the filter processing of the filter processing unit, and decodes the image using the predicted image.
- the decoding method of the present technology performs class classification that classifies a target pixel of a first image obtained by adding a prediction encoding residual and a prediction image into one of a plurality of classes.
- a class classification unit ; and a filter processing unit that performs a filter process corresponding to the class of the target pixel on the first image and generates a second image used for prediction of the predicted image, and the predicted image
- the class classification unit of the decoding device that decodes an image by using the pre-filter information related to the pre-stage filter processing performed in the pre-stage of the filter processing of the filter processing unit performs the class classification .
- the target pixel of the first image obtained by adding the prediction encoding residual and the predicted image is classified into one of a plurality of classes. Classification is performed. A filtering process corresponding to the class of the target pixel is performed on the first image, a second image used for prediction of the predicted image is generated, and an image is decoded using the predicted image.
- the class classification is performed using pre-filter related information relating to pre-filter processing performed in the pre-stage of the filter processing of the filter processing unit.
- the encoding device and the decoding device may be independent devices, or may be internal blocks constituting one device.
- the encoding device and the decoding device can be realized by causing a computer to execute a program.
- the program can be provided by being transmitted through a transmission medium or by being recorded on a recording medium.
- the S / N of the image can be greatly improved.
- FIG. 3 is a block diagram illustrating a configuration example of a learning unit 43.
- FIG. It is a block diagram which shows the 2nd structural example of the image converter which performs a classification classification adaptive process. It is a block diagram which shows the structural example of the learning apparatus which learns the seed coefficient memorize
- FIG. 3 is a block diagram illustrating a configuration example of a learning unit 73.
- FIG. 10 is a block diagram illustrating another configuration example of the learning unit 73.
- 3 is a block diagram illustrating a first configuration example of an encoding device 11.
- FIG. It is a figure which shows the example of DF information and SAO information as pre-filter related information which the class classification adaptive filter 113 uses for class classification adaptation processing (and learning).
- 3 is a block diagram illustrating a configuration example of a class classification adaptive filter 113.
- FIG. 3 is a block diagram illustrating a configuration example of a learning device 131.
- FIG. It is a figure explaining the filter process performed by DF111. It is a figure which shows the example of the positional infomation on the pixel of the image in the middle of decoding to which DF can be applied.
- FIG. 12 is a flowchart illustrating an example of processing of the learning device 131.
- 3 is a block diagram illustrating a configuration example of an image conversion apparatus 133.
- FIG. 12 is a flowchart illustrating an example of encoding processing of the encoding device 11.
- FIG. 3 is a block diagram illustrating a first configuration example of a decoding device 12.
- FIG. 3 is a block diagram illustrating a configuration example of a class classification adaptive filter 208.
- FIG. 3 is a block diagram illustrating a configuration example of an image conversion apparatus 231.
- FIG. 12 is a flowchart illustrating an example of a decoding process of the decoding device 12. It is a flowchart explaining the example of the class classification adaptation process performed by step S123. It is a figure explaining the example of the reduction method which reduces the tap coefficient for every class obtained by tap coefficient learning.
- 3 is a block diagram illustrating a second configuration example of the encoding device 11.
- FIG. 1 is a block diagram illustrating a second configuration example of the encoding device 11.
- FIG. 3 is a block diagram illustrating a configuration example of a class classification adaptive filter 311.
- FIG. 3 is a block diagram illustrating a configuration example of a learning device 331.
- FIG. 10 is a flowchart illustrating an example of processing of a learning device 331.
- 3 is a block diagram illustrating a configuration example of an image conversion apparatus 333.
- FIG. 12 is a flowchart illustrating an example of encoding processing of the encoding device 11. It is a flowchart explaining the example of the class classification adaptation process performed by step S257.
- 12 is a block diagram illustrating a second configuration example of the decoding device 12.
- FIG. 3 is a block diagram illustrating a configuration example of a class classification adaptive filter 411.
- FIG. 12 is a flowchart illustrating an example of a decoding process of the decoding device 12. It is a flowchart explaining the example of the class classification adaptation process performed by step S323. It is a figure which shows the example of a multiview image encoding system. It is a figure which shows the main structural examples of the multiview image coding apparatus to which this technique is applied. It is a figure which shows the main structural examples of the multiview image decoding apparatus to which this technique is applied. It is a figure which shows the example of a hierarchy image coding system. It is a figure which shows the main structural examples of the hierarchy image coding apparatus to which this technique is applied.
- FIG. 20 is a block diagram illustrating a main configuration example of a 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. It is a block diagram which shows an example of a schematic structure of a video set. It is a block diagram which shows an example of a schematic structure of a video processor. It is a block diagram which shows the other example of the schematic structure of a video processor.
- FIG. 1 is a diagram illustrating a configuration example of an embodiment of an image processing system to which the present technology is applied.
- the image processing system includes an encoding device 11 and a decoding device 12.
- the original image to be encoded is supplied to the encoding device 11.
- the encoding device 11 encodes the original image by predictive encoding such as HEVC or AVC (Advanced Video Coding).
- predictive encoding such as HEVC or AVC (Advanced Video Coding).
- a predicted image of the original image is generated, and the residual between the original image and the predicted image is encoded.
- an ILF process is performed by applying ILF to a decoding intermediate image obtained by adding the residual of predictive encoding and the predictive image, and is used for prediction of the predictive image.
- a reference image to be generated is generated.
- an image obtained by performing filter processing (filtering) as ILF processing on an image in the middle of decoding is also referred to as a post-filter image.
- the encoding device 11 performs ILF processing such that the filtered image is as close to the original image as possible by performing learning or the like using the intermediate decoding image and the original image as necessary.
- the information regarding the filtering process can be obtained as filter information.
- the ILF processing of the encoding device 11 can be performed using filter information obtained by learning.
- learning for obtaining filter information is performed, for example, for each sequence of one or a plurality of original images, or for one or a plurality of scenes (frames from a scene change to the next scene change) of the original image. Alternatively, it can be performed for each of a plurality of frames (pictures), for each of one or a plurality of slices of the original image, for one or a plurality of lines of a block of a unit for encoding a picture, or any other unit.
- the learning for obtaining the filter information can be performed, for example, when the residual or the RD cost is equal to or higher than a threshold value.
- the encoding device 11 transmits the encoded data obtained by predictive encoding of the original image via the transmission medium 13 or transmits to the recording medium 14 for recording.
- the encoding device 11 can transmit the filter information obtained by learning through the transmission medium 13 or transmit it to the recording medium 14 for recording.
- learning for obtaining filter information can be performed by a device different from the encoding device 11.
- the filter information can be transmitted separately from the encoded data, or can be transmitted by being included in the encoded data.
- the learning for obtaining the filter information is performed using the original image itself (and the decoding intermediate image obtained from the original image), or using an image that is similar to the original image and that is different from the original image. be able to.
- the decoding device 12 receives (receives) (acquires) the encoded data transmitted from the encoding device 11 and necessary filter information via the transmission medium 13 and the recording medium 14, and encodes the encoded data. Decoding is performed by a method corresponding to the predictive coding of the apparatus 11.
- the decoding device 12 processes the encoded data from the encoding device 11 to obtain a prediction encoding residual. Furthermore, the decoding device 12 obtains a decoding intermediate image similar to that obtained by the encoding device 11 by adding the residual and the predicted image. Then, the decoding device 12 performs a filtering process as an ILF process using the filter information from the encoding device 11 as necessary on the decoding-in-progress image to obtain a filtered image.
- the filtered image is output as a decoded image of the original image, and is temporarily stored as a reference image used for prediction of the predicted image as necessary.
- the filter processing as the ILF processing of the encoding device 11 and the decoding device 12 can be performed by an arbitrary filter.
- the filter processing of the encoding device 11 and the decoding device 12 can be performed by class classification adaptive processing (prediction calculation thereof).
- class classification adaptive processing prediction calculation thereof
- FIG. 2 is a block diagram illustrating a first configuration example of an image conversion apparatus that performs class classification adaptation processing.
- the class classification adaptation process can be understood as, for example, an image conversion process for converting a first image into a second image.
- the image conversion processing for converting the first image into the second image is various signal processing depending on the definition of the first and second images.
- the image conversion process is a spatial resolution creation (improvement) process that improves the spatial resolution. be able to.
- the image conversion process can be referred to as a noise removal process for removing noise.
- the image conversion process is performed as follows: This can be referred to as resizing processing for resizing (enlarging or reducing) an image.
- the first image is a decoded image obtained by decoding an image encoded in block units such as HEVC
- the second image is an original image before encoding
- the image conversion process can be referred to as a distortion removal process that removes block distortion caused by encoding and decoding in units of blocks.
- the classification classification adaptive processing can be performed on, for example, sound as well as images.
- the classification classification adaptation process for sound is a sound conversion process for converting the first sound (for example, sound with low S / N) into the second sound (for example, sound with high S / N). Can be caught.
- the pixel value of the target pixel is obtained by a prediction calculation using the tap coefficient and the pixel values of the same number of pixels as the tap coefficient of the first image selected for the target pixel.
- FIG. 2 shows a configuration example of an image conversion apparatus that performs image conversion processing by class classification adaptive processing.
- the image conversion device 20 includes a tap selection unit 21, a class classification unit 22, a coefficient acquisition unit 23, and a prediction calculation unit 24.
- the first image is supplied to the image conversion device 20.
- the first image supplied to the image conversion apparatus 20 is supplied to the tap selection unit 21 and the class classification unit 22.
- the tap selection unit 21 sequentially selects the pixels constituting the first image as the target pixel. Further, the tap selection unit 21 predicts some of the pixels (the pixel values) constituting the first image used to predict the corresponding pixels (the pixel values) of the second image corresponding to the target pixel. Select as a tap.
- the tap selection unit 21 selects a plurality of pixels of the first image that are spatially or temporally close to the spatiotemporal position of the target pixel as prediction taps, thereby selecting a prediction tap. Configured and supplied to the prediction calculation unit 24.
- the class classification unit 22 performs class classification for classifying the pixel of interest into one of several classes according to a certain rule, and sends a class code corresponding to the resulting class to the coefficient acquisition unit 23. Supply.
- the class classification unit 22 selects, for example, some of the pixels (pixel values) constituting the first image used for class classification for the target pixel as class taps. For example, the class classification unit 22 selects a class tap in the same manner as the tap selection unit 21 selects a prediction tap.
- prediction tap and the class tap may have the same tap structure or may have different tap structures.
- the class classification unit 22 classifies the target pixel using, for example, a class tap, and supplies a class code corresponding to the class obtained as a result to the coefficient acquisition unit 23.
- the class classification unit 22 obtains the image feature amount of the target pixel using the class tap. Furthermore, the class classification unit 22 classifies the target pixel according to the image feature amount of the target pixel, and supplies the coefficient acquisition unit 23 with a class code corresponding to the class obtained as a result.
- ADRC Adaptive Dynamic Range Coding
- pixels (pixel values) constituting the class tap are subjected to ADRC processing, and the class of the pixel of interest is determined according to the ADRC code (ADRC value) obtained as a result.
- the ADRC code represents a waveform pattern as an image feature amount of a small area including the target pixel.
- the pixel value of each pixel constituting the class tap is requantized to L bits. That is, the pixel value of each pixel forming the class taps, the minimum value MIN is subtracted, and the subtracted value is divided by DR / 2 L (requantization).
- a bit string obtained by arranging the pixel values of the L-bit pixels constituting the class tap in a predetermined order, which is obtained as described above, is output as an ADRC code.
- the pixel value of each pixel constituting the class tap is divided by the average value of the maximum value MAX and the minimum value MIN (rounded down). Thereby, the pixel value of each pixel is set to 1 bit (binarized). Then, a bit string in which the 1-bit pixel values are arranged in a predetermined order is output as an ADRC code.
- the level distribution pattern of the pixel values of the pixels constituting the class tap can be directly output to the class classification unit 22 as a class code.
- the class tap is composed of pixel values of N pixels, and the A bit is assigned to the pixel value of each pixel, the number of class codes output by the class classification unit 22 Is (2 N ) A , which is an enormous number that is exponentially proportional to the number of bits A of the pixel value of the pixel.
- the class classification unit 22 preferably performs class classification by compressing the information amount of the class tap by the above-described ADRC processing or vector quantization.
- the coefficient acquisition unit 23 stores the tap coefficient for each class obtained by learning described later, and further, among the stored tap coefficients, the tap coefficient of the class represented by the class code supplied from the class classification unit 22; That is, the tap coefficient of the class of the target pixel is acquired. Further, the coefficient acquisition unit 23 supplies the tap coefficient of the class of the target pixel to the prediction calculation unit 24.
- the tap coefficient is a coefficient corresponding to a coefficient multiplied with input data in a so-called tap in a digital filter.
- the prediction calculation unit 24 uses the prediction tap output from the tap selection unit 21 and the tap coefficient supplied from the coefficient acquisition unit 23, and the pixel value of the pixel (corresponding pixel) of the second image corresponding to the target pixel. A predetermined prediction calculation for obtaining a predicted value of the true value of is performed. Thereby, the prediction calculation unit 24 calculates and outputs the pixel value of the corresponding pixel (predicted value thereof), that is, the pixel value of the pixels constituting the second image.
- FIG. 3 is a block diagram illustrating a configuration example of a learning device that performs learning of tap coefficients stored in the coefficient acquisition unit 23.
- a high-quality image (high-quality image) is used as the second image, and the high-quality image is filtered by LPF (Low Pass Filter) to reduce the image quality (resolution).
- LPF Low Pass Filter
- the pixel value y of the high-quality pixel is obtained by the following linear primary expression.
- x n represents a pixel value of an n-th low-quality image pixel (hereinafter referred to as a low-quality pixel as appropriate) that constitutes a prediction tap for the high-quality pixel y as the corresponding pixel.
- W n represent the n th tap coefficient to be multiplied by the n th low image quality pixel (its pixel value).
- the pixel value y of the high-quality pixel can be obtained not by the linear primary expression shown in Expression (1) but by a higher-order expression of the second or higher order.
- x n, k represents the n-th low-quality pixel constituting the prediction tap for the high-quality pixel of the k-th sample as the corresponding pixel.
- Tap coefficient w n for the prediction error e k 0 of the formula (3) (or Equation (2)) is, is the optimal for predicting the high-quality pixel, for all the high-quality pixel, such In general, it is difficult to obtain a simple tap coefficient w n .
- the optimal tap coefficient w n is the sum of square errors E ( It can be obtained by minimizing (statistical error).
- K is a high-quality pixel y k as a corresponding pixel and low-quality pixels x 1, k , x 2, k ,... Constituting a prediction tap for the high-quality pixel y k .
- X N, k represents the number of samples (number of learning samples).
- Equation (5) The minimum value of the sum E of square errors of Equation (4) (minimum value), as shown in Equation (5), given that by partially differentiating the sum E with the tap coefficient w n by w n to 0.
- equation (7) can be expressed by the normal equation shown in equation (8).
- Equation (8) by solving for each class, the optimal tap coefficient (here, the tap coefficient that minimizes the sum E of square errors) to w n, can be found for each class .
- Figure 3 shows an example of the configuration of a learning apparatus that performs learning for determining the tap coefficient w n by solving the normal equations in equation (8).
- the learning device 40 includes a teacher data generation unit 41, a student data generation unit 42, and a learning unit 43.
- the tutor data generating unit 41 and student data generating unit 42 the learning image used for learning of the tap coefficient w n (image as a sample for learning) is supplied.
- the learning image for example, a high-quality image with high resolution can be used.
- the teacher data generation unit 32 uses the learning image as teacher data to be a teacher (true value) for learning the tap coefficient, that is, as teacher data to be obtained by the class classification adaptation process, as a prediction calculation by Expression (1).
- a teacher image as a mapping destination is generated and supplied to the learning unit 43.
- the teacher data generation unit 32 supplies a high-quality image as a learning image to the learning unit 43 as it is as a teacher image.
- the student data generation unit 42 uses the learning image as the student data that becomes the student of the tap coefficient learning, that is, the student data that is the target of the prediction calculation with the tap coefficient in the class classification adaptive processing, and the prediction calculation according to Expression (1).
- a student image to be converted by the mapping is generated and supplied to the learning unit 43.
- the student data generation unit 42 generates a low-quality image by, for example, filtering a high-quality image as a learning image with an LPF (low-pass filter) to reduce its resolution, and this low-quality image is generated.
- the image is supplied to the learning unit 43 as a student image.
- the learning unit 43 sequentially sets the pixels constituting the student image as the student data from the student data generation unit 42 as the target pixel, and the same tap as the tap selection unit 21 of FIG. 2 selects for the target pixel.
- a pixel of the structure is selected as a prediction tap from the student image.
- the learning unit 43 uses the corresponding pixels constituting the teacher image corresponding to the target pixel and the prediction tap of the target pixel, and for each class, establishes a normal equation of Equation (8) and solves the class.
- the tap coefficient for each is obtained.
- FIG. 4 is a block diagram illustrating a configuration example of the learning unit 43 in FIG.
- the learning unit 43 includes a tap selection unit 51, a class classification unit 52, an addition unit 53, and a coefficient calculation unit 54.
- the student image (student data) is supplied to the tap selection unit 51 and the class classification unit 52, and the teacher image (teacher data) is supplied to the adding unit 53.
- the tap selection unit 51 sequentially selects pixels constituting the student image as the target pixel, and supplies information representing the target pixel to a necessary block.
- the tap selection unit 51 selects the same pixel as the pixel selected by the tap selection unit 21 in FIG. 2 from the pixels constituting the student image as the prediction pixel.
- a prediction tap having the same tap structure as that obtained is obtained and supplied to the adding portion 53.
- the class classification unit 52 performs the same class classification on the target pixel as the class classification unit 22 of FIG. 2 using the student image, and adds the class code corresponding to the class of the target pixel obtained as a result, to the addition unit 53. Output to.
- the class classification unit 52 selects the same pixel as the class tap selected by the class classification unit 22 in FIG. 2 from the pixels constituting the student image for the target pixel, and the class classification unit 22 thereby selects the target pixel. A class tap having the same tap structure as that obtained is formed. Furthermore, the class classification unit 52 performs the same class classification as the class classification unit 22 of FIG. 2 using the class tap of the target pixel, and adds the class code corresponding to the class of the target pixel obtained as a result, To 53.
- the adding unit 53 obtains the corresponding pixel (the pixel value thereof) corresponding to the target pixel from the pixels constituting the teacher image (teacher data), and calculates the corresponding pixel and the target pixel supplied from the tap selection unit 51. Addition is performed for each class code supplied from the class classification unit 52 with respect to the pixel (the pixel value thereof) of the student image constituting the prediction tap.
- the addition unit 53 is supplied with the corresponding pixel y k of the teacher image as the teacher data, the prediction tap x n, k of the target pixel as the student data, and the class code representing the class of the target pixel.
- the adding unit 53 uses the prediction tap (student data) x n, k for each class of the pixel of interest, and multiplies (x n, k x n ′, k ) between the student data in the matrix on the left side of Equation (8). ) And a calculation corresponding to summation ( ⁇ ).
- the adding unit 53 also uses the prediction tap (student data) x n, k and the teacher data y k for each class of the pixel of interest , and uses the student data x n, k in the vector on the right side of Expression (8). And the multiplication (x n, k y k ) of the teacher data y k and the calculation corresponding to the summation ( ⁇ ) are performed.
- the adding unit 53 determines the component ( ⁇ x n, k x n ′, k ) of the left side matrix in Equation (8) obtained for the corresponding pixel corresponding to the target pixel as the teacher data and the right side last time.
- Vector components ( ⁇ x n, k y k ) are stored in a built-in memory (not shown), and the matrix components ( ⁇ x n, k x n ′, k ) or vector components ( ⁇ x n, k y k ), the teacher data corresponding to the new pixel of interest is calculated using the teacher data y k + 1 and student data x n, k + 1.
- the component x n, k + 1 x n ′, k + 1 or x n, k + 1 y k + 1 to be added is added (addition represented by the summation of Expression (8) is performed).
- the addition unit 53 performs the above-described addition using all the pixels of the student image as the target pixel, thereby forming the normal equation shown in Expression (8) for each class, and calculating the normal equation.
- the coefficient calculation unit 54 calculates the coefficient for each class.
- Coefficient calculating unit 54 solves the normal equations for each class supplied from the adder 53, for each class, and outputs the determined optimal tap coefficient w n.
- the coefficient acquiring unit 23 of the image converter 20 of FIG. 2 can be stored tap coefficient w n for each class determined as described above.
- FIG. 5 is a block diagram illustrating a second configuration example of an image conversion apparatus that performs class classification adaptation processing.
- the image conversion apparatus 20 includes a tap selection unit 21, a class classification unit 22, a prediction calculation unit 24, and a coefficient acquisition unit 61.
- the image conversion apparatus 20 of FIG. 5 is common to the case of FIG. 2 in that the tap selection unit 21, the class classification unit 22, and the prediction calculation unit 24 are included.
- FIG. 5 is different from FIG. 2 in that a coefficient acquisition unit 61 is provided instead of the coefficient acquisition unit 23.
- the coefficient acquisition unit 61 stores a seed coefficient described later. Further, the parameter acquisition unit 61 is supplied with a parameter z from the outside.
- the coefficient acquisition unit 61 generates and stores a tap coefficient for each class corresponding to the parameter z from the seed coefficient, and acquires the tap coefficient of the class from the class classification unit 22 from the tap coefficient for each class. , Supplied to the prediction calculation unit 24.
- the coefficient acquisition unit 23 in FIG. 2 stores the tap coefficient itself, but the coefficient acquisition unit 61 in FIG. 5 stores the seed coefficient.
- a tap coefficient can be generated by giving (determining) the parameter z. From this viewpoint, the seed coefficient can be regarded as information equivalent to the tap coefficient.
- the tap coefficient includes, as necessary, a seed coefficient that can generate the tap coefficient in addition to the tap coefficient itself.
- FIG. 6 is a block diagram illustrating a configuration example of a learning device that performs learning for obtaining a seed coefficient stored in the coefficient acquisition unit 61.
- a high-quality image (high-quality image) is used as the second image, and a low-quality image (low-level image) in which the spatial resolution of the high-quality image is reduced.
- a prediction tap is selected from the low-quality image with the image quality image) as the first image, and the pixel value of the high-quality pixel, which is a pixel of the high-quality image, is calculated using, for example, Equation (1) ) Is obtained (predicted) by the linear primary prediction calculation.
- the tap coefficient w n is generated by the following equation using the seed coefficient and the parameter z.
- beta m, n denotes the m-th species coefficients used for determining the n-th tap coefficient w n.
- the tap coefficient w n is obtained using M seed coefficients ⁇ 1, n , ⁇ 2, n ,..., ⁇ M, n .
- the formula for obtaining the tap coefficient w n from the seed coefficient ⁇ m, n and the parameter z is not limited to the formula (9).
- a value z m ⁇ 1 determined by the parameter z in equation (9) is defined by the following equation by introducing a new variable t m .
- the tap coefficient w n is obtained by a linear linear expression of the seed coefficient ⁇ m, n and the variable t m .
- x n, k represents the n-th low-quality pixel constituting the prediction tap for the high-quality pixel of the k-th sample as the corresponding pixel.
- Prediction error seeds coefficient e k and 0 beta m, n of formula (14), is the optimal for predicting the high-quality pixel, for all the high-quality pixel, such species coefficient beta m , n is generally difficult to find.
- the optimum seed coefficient ⁇ m, n is a square error represented by the following equation. Can be obtained by minimizing the sum E of
- K is a high-quality pixel y k as a corresponding pixel and low-quality pixels x 1, k , x 2, k ,... Constituting a prediction tap for the high-quality pixel y k .
- X N, k represents the number of samples (number of learning samples).
- Expression (17) can be expressed by a normal equation shown in Expression (20) using X i, p, j, q and Y i, p .
- the normal equation of Expression (20) can be solved for the seed coefficient ⁇ m, n by using, for example, a sweeping method (Gauss-Jordan elimination method) or the like.
- a number of high-quality pixel y 1, y 2, ⁇ ⁇ ⁇ , with an a y K teacher data, low quality pixels x constituting the prediction tap with respect to each high definition pixel y k The seed coefficient for each class obtained by learning by creating and solving the normal equation of Formula (20) for each class, using 1, k , x 2, k ,..., X N, k as student data ⁇ m, n is stored in the coefficient acquisition unit 61. Then, the coefficient acquisition unit 61 generates a tap coefficient w n for each class from the seed coefficient ⁇ m, n and the parameter z given from the outside according to the equation (9).
- the high-quality pixel (second image) is calculated by calculating the equation (1) using the coefficient w n and the low-quality pixel (first image pixel) x n constituting the prediction tap for the target pixel. Pixel value) (a predicted value close to).
- FIG. 6 is a diagram illustrating a configuration example of a learning device that performs learning for obtaining the seed coefficient ⁇ m, n for each class by solving the normal equation of Expression (20) for each class.
- the learning device 40 includes a teacher data generation unit 41, a parameter generation unit 71, a student data generation unit 72, and a learning unit 73.
- the learning device 40 of FIG. 6 is common to the case of FIG. 3 in that it has a teacher data generation unit 41.
- the learning device 40 of FIG. 6 is different from the case of FIG. 3 in that it further includes a parameter generation unit 71. Furthermore, the learning device 40 of FIG. 6 is different from the case of FIG. 3 in that a student data generation unit 72 and a learning unit 73 are provided in place of the student data generation unit 42 and the learning unit 43, respectively. .
- the parameter generation unit 71 generates several values within the range that the parameter z can take, and supplies the values to the student data generation unit 72 and the learning unit 73.
- the same learning image as that supplied to the teacher data generation unit 41 is supplied to the student data generation unit 72.
- the student data generation unit 72 generates a student image from the learning image and supplies it to the learning unit 73 as student data, similarly to the student data generation unit 42 of FIG.
- the student data generation unit 72 is supplied from the parameter generation unit 71 with some values in the range that the parameter z can take.
- the student data generation unit 72 filters each of several values of the parameter z by filtering the high-quality image as the learning image with, for example, an LPF having a cutoff frequency corresponding to the parameter z supplied thereto. Then, a low quality image as a student image is generated.
- the student data generation unit 72 generates Z + 1 types of low-quality images as student images having different spatial resolutions as high-quality images as learning images.
- a high-quality image is filtered using an LPF with a high cutoff frequency to generate a low-quality image as a student image.
- the lower the image quality as the student image for the parameter z having a larger value the higher the spatial resolution.
- the student data generation unit 72 generates a low-quality image as a student image in which the spatial resolution in one or both of the horizontal direction and the vertical direction of the high-quality image as a learning image is reduced according to the parameter z. can do.
- the horizontal direction of the high-quality image as the learning image can be reduced separately depending on the respective separate parameters, ie the two parameters z and z ′.
- the coefficient acquisition unit 23 in FIG. 5 is given two parameters z and z ′ from the outside, and a tap coefficient is generated using the two parameters z and z ′ and the seed coefficient.
- a seed coefficient As described above, as a seed coefficient, a seed coefficient that can generate a tap coefficient using one parameter z, two parameters z and z ′, and three or more parameters is used. Can be sought. However, in this specification, in order to simplify the description, a description will be given by taking a seed coefficient that generates a tap coefficient using one parameter z as an example.
- the learning unit 73 uses the teacher image as the teacher data from the teacher data generation unit 41, the parameter z from the parameter generation unit 71, and the student image as the student data from the student data generation unit 72 for each class. Obtain the seed coefficient and output it.
- FIG. 7 is a block diagram illustrating a configuration example of the learning unit 73 in FIG.
- the learning unit 73 includes a tap selection unit 51, a class classification unit 52, an addition unit 81, and a coefficient calculation unit 82.
- the learning unit 73 in FIG. 7 is common to the learning unit 43 in FIG. 4 in that it includes a tap selection unit 51 and a class classification unit 52.
- the learning unit 73 is different from the learning unit 43 of FIG. 4 in that it has an adding unit 81 and a coefficient calculating unit 82 instead of the adding unit 53 and the coefficient calculating unit 54.
- the tap selection unit 51 generates a student image corresponding to the parameter z generated by the parameter generation unit 71 of FIG. 6 (here, generated using an LPF having a cutoff frequency corresponding to the parameter z).
- the prediction tap is selected from the low-quality image as the student data) and supplied to the adding unit 81.
- the adding unit 81 obtains a corresponding pixel corresponding to the target pixel from the teacher image from the teacher data generation unit 41 in FIG. 6, and the corresponding pixel and the prediction configured for the target pixel supplied from the tap selection unit 51. Addition is performed for each class supplied from the class classification unit 52, with respect to student data (student image pixels) constituting the tap and a parameter z when the student data is generated.
- the addition unit 81 includes teacher data y k as corresponding pixels corresponding to the target pixel, prediction taps x i, k (x j, k ) for the target pixel output by the tap selection unit 51, and class The class of the target pixel output from the classification unit 52 is supplied, and the parameter z when the student data constituting the prediction tap for the target pixel is generated is supplied from the parameter generation unit 71.
- the adding unit 81 uses the prediction tap (student data) x i, k (x j, k ) and the parameter z for each class supplied from the class classification unit 52 , and the matrix on the left side of the equation (20).
- t p of formula (18), according to equation (10) is calculated from the parameter z. The same applies to tq in equation (18).
- the adding unit 81 also uses the prediction tap (student data) x i, k , the teacher data y k , and the parameter z for each class supplied from the class classification unit 52, and the equation (20) Multiplication (x i, k t p y k ) of student data x i, k , teacher data y k , and parameter z for obtaining the component Y i, p defined by equation (19) in the vector on the right side And an operation corresponding to summation ( ⁇ ).
- t p of formula (19), according to equation (10) is calculated from the parameter z.
- the adding unit 81 lastly calculates the component X i, p, j, q of the matrix on the left side and the vector on the right side in the equation (20) obtained for the corresponding pixel corresponding to the target pixel as the teacher data.
- the component Y i, p is stored in its built-in memory (not shown), and a new pixel of interest is added to the matrix component X i, p, j, q or the vector component Y i, p .
- the addition unit 81 performs the above-described addition for all the parameters z of all values of 0, 1,.
- the normal equation shown in (20) is established, and the normal equation is supplied to the coefficient calculation unit 82.
- the coefficient calculating unit 82 obtains and outputs the seed coefficient ⁇ m, n for each class by solving the normal equation for each class supplied from the adding unit 81.
- a high-quality image as a learning image is used as teacher data, and a low-quality image obtained by degrading the spatial resolution of the high-quality image corresponding to the parameter z is used as student data.
- the learning of the seed coefficient ⁇ m, n involves learning to find the seed coefficient ⁇ m, n that indirectly minimizes the sum of the squared errors of the predicted value y of the teacher data. be able to.
- a high-quality image as a learning image is used as teacher data, and the high-quality image is filtered by an LPF having a cutoff frequency corresponding to the parameter z, thereby reducing the horizontal resolution and the vertical resolution.
- a parameter z as the learner data a parameter z is species coefficient beta m, n and student data by equation (11)
- the seed coefficient ⁇ m, n that minimizes the sum of the square errors of the predicted values of the tap coefficient w n as the teacher data predicted from the variable t m to be calculated can be obtained.
- the tap coefficient w n for minimizing (minimizing) the sum E of squared errors of the predicted value y of the teacher data predicted by the linear primary prediction expression of Expression (1) is the case in the learning device 40 of FIG.
- the tap coefficient is obtained from the seed coefficient ⁇ m, n and the variable t m corresponding to the parameter z as shown in the equation (11).
- the tap coefficient obtained by the equation (11) is expressed as w n ′
- the optimum tap coefficient w n expressed by the following equation (21) and the equation (11) are obtained.
- seed coefficient beta m, n of the error e n and 0 and the tap coefficient w n ' is, although the optimum seed coefficient for determining the optimal tap coefficient w n, for all of the tap coefficients w n, such
- equation (21) can be transformed into the following equation by equation (11).
- the optimum seed coefficient ⁇ m, n is expressed by the following equation. It can be obtained by minimizing the sum E of square errors.
- Equation (23) minimum value of the sum E of square errors of Equation (23) (minimum value), as shown in equation (24), those which the sum E partially differentiated at the species factor beta m, n and 0 beta m, n Given by.
- Expression (25) can be expressed by a normal equation shown in Expression (28) using X i, j and Y i .
- Equation (28) can also be solved for the seed coefficient ⁇ m, n by using, for example, a sweeping method.
- FIG. 8 is a block diagram showing another configuration example of the learning unit 73 in FIG.
- FIG. 8 shows a configuration example of the learning unit 73 that performs learning for obtaining the seed coefficient ⁇ m, n by building and solving the normal equation of Expression (28).
- a tap selection unit 51 includes a tap selection unit 51, a class classification unit 52, a coefficient calculation unit 54, addition units 91 and 92, and a coefficient calculation unit 93.
- the learning unit 73 in FIG. 8 is common to the learning unit 43 in FIG. 4 in that the tap selection unit 51, the class classification unit 52, and the coefficient calculation unit 54 are included.
- the learning unit 73 in FIG. 8 replaces the adding unit 53 with the addition of the adding unit 91 and the addition of the adding unit 92 and the coefficient calculating unit 93. Is different.
- the addition unit 91 is supplied with the class of the pixel of interest output from the class classification unit 52 and the parameter z output from the parameter generation unit 71.
- the adding unit 91 includes teacher data as corresponding pixels corresponding to the pixel of interest in the teacher image from the teacher data generation unit 41 and students constituting prediction taps for the pixel of interest supplied from the tap selection unit 51.
- the addition for the data is performed for each class supplied from the class classification unit 52 and for each value of the parameter z output from the parameter generation unit 71.
- the addition data 91 is supplied with the teacher data y k , the prediction tap x n, k , the class of the pixel of interest, and the parameter z when the student image constituting the prediction tap x n, k is generated. .
- the adding unit 91 uses the prediction tap (student data) x n, k for each class of the target pixel and for each value of the parameter z, and multiplies the student data in the matrix on the left side of Equation (8) ( x n, k x n ′, k ) and calculation corresponding to summation ( ⁇ ).
- the adding unit 91 uses the prediction tap (student data) x n, k and the teacher data y k for each class of the target pixel and for each value of the parameter z, in the vector on the right side of Expression (8).
- An operation corresponding to multiplication (x n, k y k ) of student data x n, k and teacher data y k and summation ( ⁇ ) is performed.
- the addition unit 91 calculates the left-side matrix component ( ⁇ x n, k x n ′, k ) in Expression (8) obtained for the corresponding pixel corresponding to the target pixel as the teacher data last time, and the right-hand side.
- Vector components ( ⁇ x n, k y k ) are stored in a built-in memory (not shown), and the matrix components ( ⁇ x n, k x n ′, k ) or vector components ( ⁇ x n, k y k ), the teacher data corresponding to the new pixel of interest is calculated using the teacher data y k + 1 and student data x n, k + 1.
- the component x n, k + 1 x n ′, k + 1 or x n, k + 1 y k + 1 to be added is added (addition represented by the summation of Expression (8) is performed).
- the adding unit 91 sets the normal equation shown in the equation (8) for each value of the parameter z for each class by performing the above-described addition using all the pixels of the student image as the target pixel. Then, the normal equation is supplied to the coefficient calculation unit 54.
- the addition unit 91 establishes the normal equation of the equation (8) for each class, similarly to the addition unit 53 of FIG. However, the addition unit 91 is different from the addition unit 53 of FIG. 4 in that the normal equation of the equation (8) is further established for each value of the parameter z.
- the coefficient calculation unit 54 obtains the optimum tap coefficient w n for each value of the parameter z for each class by solving the normal equation for each value of the parameter z for each class supplied from the addition unit 91. , Supplied to the adding portion 92.
- the adding unit 92 adds the parameter z (variable t m corresponding to the parameter z supplied from the parameter generating unit 71 (FIG. 6)) and the optimum tap coefficient w n supplied from the coefficient calculating unit 54. For each class.
- the adding unit 92 uses the variable t i (t j ) obtained from the parameter z supplied from the parameter generating unit 71 by the equation (10), and uses the equation (26) in the matrix on the left side of the equation (28). For each class, the multiplication (t i t j ) between the variables t i (t j ) corresponding to the parameter z for obtaining the component X i, j defined in (2) and the operation corresponding to the summation ( ⁇ ) are performed for each class. Do.
- the component X i, j is determined only by the parameter z and has no relation to the class , the calculation of the component X i, j does not actually need to be performed for each class, and is performed once. Just do it.
- the adding unit 92 uses the variable t i obtained from the parameter z supplied from the parameter generating unit 71 by the equation (10) and the optimum tap coefficient w n supplied from the coefficient calculating unit 54, and uses the equation t10.
- the multiplication (t i w n ) of the variable t i corresponding to the parameter z for obtaining the component Y i defined by the equation (27) and the optimum tap coefficient w n An operation corresponding to the formation ( ⁇ ) is performed for each class.
- the adding unit 92 obtains the component X i, j represented by the equation (26) and the component Y i represented by the equation (27) for each class, thereby obtaining the equation (28) for each class. And the normal equation is supplied to the coefficient calculation unit 93.
- the coefficient calculation unit 93 obtains and outputs the seed coefficient ⁇ m, n for each class by solving the normal equation of the equation (28) for each class supplied from the addition unit 92.
- the coefficient acquisition unit 61 in FIG. 5 can store the seed coefficient ⁇ m, n for each class obtained as described above.
- the seed coefficient depends on how the student data corresponding to the first image and the image to be used as teacher data corresponding to the second image are selected. As a result, seed coefficients for performing various image conversion processes can be obtained.
- the learning image is used as teacher data corresponding to the second image as it is, and the low-quality image in which the spatial resolution of the learning image is deteriorated is the student data corresponding to the first image. Since the seed coefficient is learned, the seed coefficient is subjected to image conversion processing as spatial resolution creation processing for converting the first image into the second image with improved spatial resolution. A seed coefficient can be obtained.
- the image conversion apparatus 20 in FIG. 5 can improve the horizontal resolution and vertical resolution of the image to the resolution corresponding to the parameter z.
- a high-quality image is used as teacher data, and a seed coefficient is learned using, as student data, an image in which noise of a level corresponding to the parameter z is superimposed on the high-quality image as the teacher data.
- a seed coefficient it is possible to obtain a seed coefficient for performing an image conversion process as a noise removal process for converting the first image into a second image from which the noise included therein is removed (reduced).
- the image conversion apparatus 20 of FIG. 5 can obtain an S / N image corresponding to the parameter z (an image subjected to noise removal with an intensity corresponding to the parameter z).
- the tap coefficient w n is defined as ⁇ 1, n z 0 + ⁇ 2, n z 1 +... + ⁇ M, n z M ⁇ 1 as shown in the equation (9). and, by the equation (9), the spatial resolution in the horizontal and vertical directions, both have been to obtain the tap coefficient w n for improving corresponding to the parameter z, the tap coefficient w n is horizontal It is also possible to obtain a resolution and a vertical resolution that are independently improved corresponding to the independent parameters z x and z y .
- the tap coefficient w n can be finally expressed by the equation (11). Therefore, in the learning device 40 of FIG. 6, the horizontal direction of the teacher data corresponds to the parameters z x and z y. The image with degraded resolution and vertical resolution is used as student data, and learning is performed to obtain the seed coefficient ⁇ m, n , so that the horizontal and vertical resolutions correspond to independent parameters z x and z y , it is possible to determine the tap coefficient w n to improve independently.
- an image obtained by degrading the horizontal resolution and vertical resolution of the teacher data corresponding to the parameter z x and adding noise to the teacher data corresponding to the parameter z y is used as student data.
- FIG. 9 is a block diagram illustrating a first configuration example of the encoding device 11 of FIG.
- the encoding device 11 includes an A / D conversion unit 101, a 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. Furthermore, the encoding device 11 includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, a DF 111, a SAO 112, a class classification adaptive filter 113, a frame memory 114, a selection unit 115, an intra prediction unit 116, and motion prediction compensation. Unit 117, predicted image selection unit 118, and rate control unit 119.
- the A / D conversion unit 101 A / D converts the analog signal original image into a digital signal original image, and supplies the converted image to the rearrangement buffer 102 for storage.
- the rearrangement buffer 102 rearranges the frames of the original image according to GOP (Group Of Picture) from the display order to the encoding (decoding) order, the arithmetic unit 103, the intra prediction unit 116, the motion prediction compensation unit 117, , And supplied to the class classification adaptive filter 113.
- GOP Group Of Picture
- the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 116 or the motion prediction compensation unit 117 via the prediction image selection unit 118 from the original image from the rearrangement buffer 102 and obtains a residual obtained by the subtraction. (Prediction residual) is supplied to the orthogonal transform unit 104.
- the calculation unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 117 from the original image read from the rearrangement buffer 102.
- the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the residual supplied from the computation unit 103. Note that this orthogonal transformation method is arbitrary.
- the orthogonal transform unit 104 supplies transform coefficients obtained by the orthogonal exchange 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 the quantization parameter QP based on the code amount target value (code amount target value) supplied from the rate control unit 119, and quantizes the transform coefficient. 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 a predetermined lossless encoding method. Since the transform coefficient is quantized under the control of the rate control unit 119, the code amount of the encoded data obtained by the lossless encoding of the lossless encoding unit 106 is the code amount target set by the rate control unit 119. Value (or approximate the code amount target value).
- the lossless encoding unit 106 acquires necessary encoding information from the blocks among the encoding information related to predictive encoding in the encoding device 11.
- motion information such as a motion vector, code amount target value, quantization parameter QP, picture type (I, P, B), CU (Coding Unit) and CTU (Coding
- the prediction mode can be acquired from the intra prediction unit 116 or the motion prediction / compensation unit 117.
- the motion information can be acquired from the motion prediction / compensation unit 117.
- the lossless encoding unit 106 acquires encoding information, and also acquires filter information related to class classification adaptive processing in the class classification adaptive filter 113 from the class classification adaptive filter 113.
- the filter information includes a tap coefficient for each class as necessary.
- the lossless encoding unit 106 encodes the encoded information and the filter information by an arbitrary lossless encoding method, and uses it as part of the header information of the encoded data (multiplexes).
- the lossless encoding unit 106 transmits the encoded data via the accumulation buffer 107. Therefore, the lossless encoding unit 106 functions as a transmission unit that transmits encoded data, and thus encoded information and filter information included in the encoded data.
- variable length encoding or arithmetic encoding can be adopted.
- variable length coding include H.264.
- CAVLC Context-AdaptiveaptVariable Length Coding
- arithmetic coding include CABAC (Context-AdaptiveaptBinary Arithmetic Coding).
- the accumulation buffer 107 temporarily accumulates the encoded data supplied from the lossless encoding unit 106.
- the encoded data stored in the storage buffer 107 is read and transmitted at a predetermined timing.
- the transform coefficient quantized by the quantization unit 105 is supplied to the lossless encoding unit 106 and also 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 transform coefficient obtained by the inverse quantization 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 (restored residual) is supplied to the calculation unit 110.
- the calculation unit 110 is supplied from the intra prediction unit 116 or the motion prediction compensation unit 117 via the predicted image selection unit 118 to the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 109, that is, the restored residual.
- the prediction image is added, and the addition result is output as a decoding intermediate image.
- the decoding intermediate image output from the calculation unit 110 is supplied to the DF 111 or the frame memory 114.
- the DF 111 performs a DF filter process on the decoding intermediate image from the calculation unit 110 and supplies the decoded intermediate image after the filtering process to the SAO 112.
- the SAO 112 performs SAO filter processing on the decoding intermediate image from the DF 111 and supplies it to the class classification adaptive filter 113.
- the class classification adaptive filter 113 is a filter that functions as an ALF among DF, SAO, and ALF, which are ILFs, by class classification adaptation processing, and performs filter processing corresponding to ALF by class classification adaptation processing.
- the class classification adaptive filter 113 is supplied with the decoding intermediate image from the SAO 112 and is supplied with the original image corresponding to the decoding intermediate image from the rearrangement buffer 102 and before the filter processing of the class classification adaptive filter 113.
- the pre-filter related information relating to the filter processing of the DF 111 and the SAO 112 as the pre-filter processing performed in step S1 is supplied.
- the pre-filter related information regarding the filter processing of the DF 111 that performs the filter processing as the pre-filter processing is also referred to as DF information
- the pre-filter related information regarding the filter processing of the SAO 112 that performs the filter processing as the pre-filter processing is referred to as the SAO information. Also called.
- the class classification adaptive filter 113 uses a student image corresponding to the decoding intermediate image from the SAO 112 and a teacher image corresponding to the original image from the rearrangement buffer 102 and, if necessary, DF as pre-filter processing information. Learning to find tap coefficients for each class using information and SAO information.
- the class classification adaptive filter 113 uses, for example, the decoding intermediate image itself from the SAO 112 as a student image, the original image itself from the rearrangement buffer 102 as a teacher image, and DF information or SAO information as pre-filter processing information. Is used to learn to obtain the tap coefficient for each class.
- the tap coefficient for each class is supplied from the class classification adaptive filter 113 to the lossless encoding unit 106 as filter information.
- the class classification adaptive filter 113 performs the class classification adaptive processing (by image conversion) using the tap coefficient for each class as the first half-decoding image from the SAO 112, the DF information as the pre-filter processing information, By performing using the SAO information, the halfway decoded image as the first image is converted into a filtered image as a second image corresponding to the original image (generates a filtered image) and output.
- the filtered image output from the class classification adaptive filter 113 is supplied to the frame memory 114.
- the class classification adaptive filter 113 learning is performed using the decoding-in-progress image as a student image and the original image as a teacher image, and using the tap coefficient obtained by the learning, decoding is performed.
- a class classification adaptation process for converting an image into a filtered image is performed. Therefore, the filtered image obtained by the class classification adaptive filter 113 is an image very close to the original image.
- the frame memory 114 temporarily stores the decoding intermediate image supplied from the calculation unit 110 or the filtered image supplied from the class classification adaptive filter 113 as a locally decoded decoded image.
- the decoded image stored in the frame memory 114 is supplied to the selection unit 115 as a reference image used for generating a predicted image at a necessary timing.
- the selection unit 115 selects a reference image supply destination supplied from the frame memory 114. For example, when intra prediction is performed in the intra prediction unit 116, the selection unit 115 supplies the reference image supplied from the frame memory 114 to the intra prediction unit 116. For example, when inter prediction is performed in the motion prediction / compensation unit 117, the selection unit 115 supplies the reference image supplied from the frame memory 114 to the motion prediction / compensation unit 117.
- the intra prediction unit 116 uses the original image supplied from the rearrangement buffer 102 and the reference image supplied from the frame memory 114 via the selection unit 115, for example, using PU (Prediction Unit) as a processing unit. Perform intra prediction (intra-screen prediction).
- the intra prediction unit 116 selects an optimal intra prediction mode based on a predetermined cost function (for example, RD (Rate-Distortion) cost), and uses the predicted image generated in the optimal intra prediction mode as a predicted image. This is supplied to the selector 118. Further, as described above, the intra prediction unit 116 appropriately supplies the prediction mode indicating the intra prediction mode selected based on the cost function to the lossless encoding unit 106 and the like.
- RD Red-Distortion
- the motion prediction / compensation unit 117 uses the original image supplied from the rearrangement buffer 102 and the reference image supplied from the frame memory 114 via the selection unit 115, for example, using the PU as a processing unit (motion prediction ( Inter prediction). Furthermore, the motion prediction / compensation unit 117 performs motion compensation according to a motion vector detected by motion prediction, and generates a predicted image. The motion prediction / compensation unit 117 performs inter prediction in a plurality of inter prediction modes prepared in advance, and generates a predicted image.
- the motion prediction / compensation unit 117 selects an optimal inter prediction mode based on a predetermined cost function of the prediction image obtained for each of the plurality of inter prediction modes. Further, the motion prediction / compensation unit 117 supplies the predicted image generated in the optimal inter prediction mode to the predicted image selection unit 118.
- the motion prediction / compensation unit 117 also includes a prediction mode indicating an inter prediction mode selected based on a cost function, and motion such as a motion vector necessary for decoding encoded data encoded in the inter prediction mode. Information or the like is supplied to the lossless encoding unit 106.
- the prediction image selection unit 118 selects a supply source (the intra prediction unit 116 or the motion prediction compensation unit 117) of the prediction image supplied to the calculation units 103 and 110, and selects a prediction image supplied from the selected supply source. , To the arithmetic units 103 and 110.
- the rate control unit 119 controls the rate of the quantization operation 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. That is, the rate control unit 119 sets the target code amount of the encoded data so that overflow and underflow of the accumulation buffer 107 do not occur, and supplies them to the quantization unit 105.
- FIG. 10 is a diagram illustrating an example of DF information and SAO information as pre-filter related information used by the class classification adaptive filter 113 for class classification adaptation processing (and learning).
- the DF information for example, the position information of the target pixel in the block including the target pixel (hereinafter also referred to as the target block), the block size of the target block, and whether or not the target pixel has been subjected to DF (whether or not applied)
- the filter strength of the DF which one of Strong filter or Strong filter is applied
- Boundary list length of the DF Boundary strength
- the position information of the target pixel the position of the target pixel (the distance between the target pixel and the block boundary) based on the block boundary of the target block, the position of the target pixel in the target block, and the like can be employed.
- the target pixel and the block boundary The distance of becomes zero.
- SAO information includes, for example, the SAO filter type (edge offset or band offset), offset value, SAO class, pixel value difference before and after applying the SAO (pixel difference value before and after the filter) Etc. can be adopted.
- SAO filter type edge offset or band offset
- offset value offset value
- SAO class pixel value difference before and after applying the SAO (pixel difference value before and after the filter) Etc.
- DF information is adopted as the pre-filter related information used by the class classification adaptive filter 113 for the class classification adaptive processing.
- FIG. 11 is a block diagram showing a configuration example of the class classification adaptive filter 113 of FIG.
- the class classification adaptive filter 113 includes a learning device 131, a filter information generation unit 132, and an image conversion device 133.
- the learning device 131 is supplied with the original image from the rearrangement buffer 102 (FIG. 9) and the decoding intermediate image from the SAO 112 (FIG. 9). Further, the learning device 131 is supplied from the DF 111 with DF information as pre-filter related information regarding the filter processing of the DF 111 as pre-filter processing performed before the filter processing of the class classification adaptive filter 113.
- the learning device 131 performs class classification using DF information by using the intermediate image as student data and the original image as teacher data, and performs learning for obtaining tap coefficients for each class (hereinafter also referred to as tap coefficient learning). .
- the learning device 131 sends the tap coefficient for each class obtained by the tap coefficient learning and the classification method information representing the class classification method used for obtaining the tap coefficient for each class to the filter information generation unit 132. Supply.
- the filter information generation unit 132 generates filter information including the tap coefficient and the classification method information for each class from the learning device 131 as necessary, and supplies the filter information to the image conversion device 133 and the lossless encoding unit 106 (FIG. 9). .
- the image conversion device 133 is supplied with filter information from the filter information generation unit 132, is also supplied with a decoding intermediate image from the SAO 112 (FIG. 9), and is also supplied with DF information from the DF 111.
- the image conversion apparatus 133 performs image conversion by class classification adaptive processing using the tap coefficient for each class included in the filter information from the filter information generation unit 132, with the decoding intermediate image as the first image.
- the decoding intermediate image as the first image is converted into a filtered image as a second image corresponding to the original image (a filtered image is generated) and supplied to the frame memory 114 (FIG. 9).
- the image conversion apparatus 133 performs class classification using the DF information from the DF 111 in the same manner as the learning apparatus 131. Further, the image conversion apparatus 133 performs class classification of the method represented by the classification method information included in the filter information from the filter information generation unit 132 as class classification using the DF information.
- the DF 111 uses five pixels lined up continuously in the horizontal or vertical direction for the filter processing. It is a 5-tap filter. With such a 5-tap DF111, block noise may not be sufficiently reduced.
- the class classification adaptive filter 113 it is possible to perform the filtering process using pixels distributed in a wider range than the five pixels used for the filtering process in the DF 111 and a large number of pixels as a prediction tap, and the DF 111 sufficiently reduces the filtering process. Block noise that cannot be reduced can be reduced.
- a pixel is subjected to filter processing corresponding to the class of the pixel. Therefore, when a pixel is appropriately classified, an appropriate filter process can be performed on the pixel.
- the classification can be performed by using the image feature amount of the target pixel such as the ADRC code obtained from the class tap of the target pixel as described in FIG.
- the target pixel is classified according to the waveform pattern (irregularity of the pixel value) around the target pixel, but whether or not the target pixel is classified by the DF111 filter processing performed on the pixel. Is not certain.
- the class classification adaptive filter 113 can perform class classification using the DF information related to the filter processing of the DF 111 in the previous stage.
- the pixels are classified by the filtering process of the DF 111 performed on the pixels.
- the blocks that cannot be sufficiently reduced by the DF 111 by the filtering process of the class classification adaptive filter 113 Noise can be reduced in combination with the filter processing of DF111.
- the S / N of the filtered image, and thus the decoded image can be greatly improved.
- a portion from which block noise has been removed by the filter processing of DF111 (hereinafter also referred to as a noise removal portion) and a noise removal portion and a similar portion having a similar waveform pattern are not classified.
- the noise removal part and the similar part having similar waveform patterns are not classified into separate classes, but are classified into the same class, It is difficult to perform separate and appropriate filtering.
- the class classification using the DF information it is possible to classify the noise removal part and the similar part having similar waveform patterns into separate classes. As a result, it is possible to greatly improve the S / N of the filtered image by performing separate appropriate filter processing on the noise removal portion and the similar portion having similar waveform patterns.
- the learning device 131 In the class classification adaptive filter 113, the learning device 131 appropriately performs tap coefficient learning and updates the tap coefficient for each class. Then, the updated tap coefficient for each class is included in the filter information and transmitted from the encoding device 11 to the decoding device 12. In this case, if the frequency of tap coefficient transmission is high, the overhead increases and the compression efficiency deteriorates.
- the class classification adaptive filter 113 may perform filter processing using the same tap coefficient as when the previous tap coefficient was updated.
- the S / N of the filtered image can be maintained.
- the decoding apparatus 12 when performing the filter processing using the same tap coefficient as when the previous tap coefficient was updated, the decoding apparatus 12 continues to use the tap coefficient used until immediately before. Can do. In this case, it is not necessary to newly transmit the tap coefficient from the encoding device 11 to the decoding device 12, and the compression efficiency can be improved.
- the filter information generation unit 132 replaces the tap coefficient and classification method information for each class with the filter information, and uses the same class classification method and tap coefficient as the previous update.
- the class classification method and the flag as copy information indicating whether or not to use the tap coefficient can be included (in addition to the syntax of the tap coefficient for each class and the syntax of the classification method information, a copy can be included) Information syntax can be provided).
- the data amount of the filter information is greatly reduced compared with the case where the tap coefficient and classification method information are included, and the compression efficiency is improved. Can be improved.
- the copy information indicating that the same class classification method and tap coefficient as those used at the previous update are used as the class classification method and tap coefficient, for example, the latest information supplied from the learning device 131 is used.
- the classification method information matches the previous classification method information supplied from the learning device 131, the original image sequence used for the tap coefficient learning this time, and the original used for the previous tap coefficient learning When the correlation in the time direction with the sequence of images is high, it can be included in the filter information.
- an update unit for updating the class classification method and tap coefficient for example, an arbitrary picture sequence such as a plurality of frames (pictures), one frame, CU or other blocks is adopted, and the update unit is set as a minimum unit.
- the class classification method and the tap coefficient can be updated at the timing to perform.
- the filter information when the present technology is applied to HEVC (or an encoding method according to HEVC), when a plurality of frames are adopted as an update unit, the filter information is included in the encoded data as, for example, Sequence parameter set syntax Can be made.
- the filter information when one frame is adopted as the update unit, can be included in the encoded data as, for example, Picture parameter set syntax.
- the filter information can be included in the encoded data as Slice data syntax, for example.
- the filter information can be included in any multiple layers of Sequence parameter set syntax, Picture parameter set syntax, and Slice data syntax.
- the filter information included in Slice data syntax can be preferentially applied to that block. .
- FIG. 12 is a block diagram illustrating a configuration example of the learning device 131 in FIG.
- the learning device 131 includes a class classification method determination unit 151, a learning unit 152, and an unused coefficient deletion unit 153.
- the class classification method determination unit 151 stores, for example, a plurality of predetermined class classification methods (hereinafter also referred to as class classification methods) (information thereof).
- the class classification method determination unit 151 for example, at the start of tap coefficient learning, from among a plurality of class classification methods, the class classification method used by the learning unit 152 (class classification unit 162 thereof) (hereinafter also referred to as adopted class classification method). ) Is supplied to the learning unit 152 (the class classification unit 162).
- the class classification method determination unit 151 supplies (outputs) the classification method information to the filter information generation unit 132 (FIG. 11) as the outside of the learning device 131.
- the classification method information supplied from the class classification method determination unit 151 to the filter information generation unit 132 is included in the filter information, supplied to the lossless encoding unit 106 (FIG. 9), and transmitted.
- the adopted class classification method is determined from among a plurality of class classification methods stored in the class classification method determination unit 151. Therefore, the class classification method stored in the class classification method determination unit 151 is: It can be said that it is a candidate for the adopted classification method.
- class classification one or more
- DF information or other information (without using DF information)
- a class classification method for performing rough classification to a rough class for example, even a class classification method using DF information, a class classification method for performing rough classification to a rough class (a class having a small number of classes), a fine classification, A class classification method that performs so-called fine classification can be adopted for a class (a class having a large number of classes).
- the class classification method determination unit 151 for example, obtainable information that can be obtained from encoded data obtained by predictive encoding of the original image in the encoding device 11, such as a decoding-in-progress image and encoding information, that is, The adopted class classification method can be determined according to the acquirable information that can be acquired by either the encoding device 11 or the decoding device 12.
- the class classification method determination unit 151 can determine the adopted class classification method according to information that can be acquired only by the encoding device 11, such as an original image.
- the class classification method determination unit 151 can determine the adopted class classification method according to the quality of the decoded image, that is, the quantization parameter QP that is one of the encoded information, for example. .
- the quantization parameter QP when the quantization parameter QP is large, the quantization error (distortion) increases, and the block noise tends to increase in the decoded image.
- the quantization parameter QP when the quantization parameter QP is small, the quantization error is small, and the block noise is small or does not occur in the decoded image. Therefore, the quantization parameter QP represents the quality (image quality) of the decoded image.
- the class classification method using the DF information can be determined as the adopted class classification method.
- the candidate class classification method includes a class classification method that performs rough classification and a class classification method that performs fine classification as a class classification method using DF information, a fine classification is selected.
- the classification method to be performed can be determined as the adopted classification method.
- the class classification using other information for example, image feature amount, encoding information, etc.
- the class classification method for performing rough classification can be determined as the adopted class classification method.
- the class classification method determination unit 151 can determine the adopted class classification method according to the image feature amount of the image being decoded.
- the decoding-in-progress image is an image having many pixel values with minute amplitude changes and a large number of regions having stepped steps in the pixel value
- the decoding-in-progress image includes a lot of block noise ( Therefore, it is presumed that there are many pixels to which the filter processing is applied in DF111). Therefore, in order to classify the pixels by the filter processing of DF111, a class classification method using DF information, particularly a class classification for performing fine classification The method can be determined to be an adopted class taxonomy.
- class classification using other information or DF information is used without using DF information.
- the class classification method for performing rough classification can be determined as the adopted class classification method.
- the change in the amplitude of the pixel value is, for example, the difference between the maximum value and the minimum value of the pixel value such as the luminance of the pixel constituting the class tap of the pixel in the decoding intermediate image.
- DR Dynamic Range
- DR can be obtained as an image feature amount of a pixel of a decoding-in-progress image, and the DR can be used as an index of change in the amplitude of the pixel value.
- a small DR indicates that the change in the amplitude of the pixel value is small
- a large DR indicates that the change in the amplitude of the pixel value is large
- DiffMax which is the maximum difference absolute value of the pixel values of pixels adjacent in the horizontal, vertical, and diagonal directions
- DiffMax / DR can be obtained as an image feature quantity of a pixel in the middle of decoding, and the DiffMax / DR can be used as an index of a step difference in pixel value.
- DiffMax / DR represents how many pixels the DR amplitude is increased in the class tap, and approaches 1 as the gradient of the pixel values of the pixels constituting the class tap increases.
- a large gradient corresponds to a stepped step in the pixel value.
- the image in the middle of decoding is an image having many pixel values with a small amplitude change and having many stepped steps in the pixel value, for example, in a predetermined unit such as a picture unit of the image in the middle of decoding. It is possible to obtain a histogram of DR and DiffMax / DR as image feature amounts and make a determination based on the histogram.
- the class classification method determination unit 151 can determine the adopted class classification method in accordance with, for example, the ratio of the pixels to which the filter processing is applied by the DF 111 in the image being decoded.
- the class classification using DF information is used to classify the pixels by the DF111 filter processing.
- the method in particular, the class classification method for performing fine classification, can be determined as the adopted class classification method.
- class classification using other information without using DF information, or DF information can be determined as the adopted class classification method.
- the class classification method determination unit 151 selects the adopted class classification method according to the quantization parameter QP, the image feature amount of the decoding intermediate image, and the ratio of the pixels to which the strong filter or the weak filter is applied.
- one class classification method can be selected at random from a plurality of class classification methods, and the candidate can be determined as the adopted class classification method.
- the class classification method determination unit 151 selects a candidate that optimizes the image quality of the decoded image and the data amount of the encoded data from among a plurality of class classification methods, that is, a class classification that optimizes the RD cost, for example.
- a method can be selected and its candidate can be determined to be the adopted classification method.
- class classification method used in the class classification adaptive filter 113 is not determined from a plurality of class classification methods, but can be fixed to a specific class classification method using DF information.
- the learning device 131 can be configured without providing the class classification method determination unit 151. Further, in this case, the classification method information need not be transmitted by being included in the filter information.
- the adopted class classification method determined by the class classification method determining unit 151 is not limited to the class classification method using the DF information, but in the following, the adopted class classification method is used for the sake of simplicity. Unless otherwise specified, the classification method uses DF information.
- the learning unit 152 includes a tap selection unit 161, a class classification unit 162, an addition unit 163, and a coefficient calculation unit 164.
- the tap selection unit 161 to the coefficient calculation unit 164 perform the same processing as the tap selection unit 51 to the coefficient calculation unit 54 constituting the learning unit 43 in FIG.
- the learning unit 152 is supplied with a decoding intermediate image as student data, an original image as teacher data, and DF information from the DF 111. Then, the learning unit 152 performs the tap coefficient learning similar to the learning unit 43 in FIG. 4 using the decoding intermediate image as the student data and the original image as the teacher data, and obtains the tap coefficient for each class. It is done.
- the class classification unit 162 performs class classification using the DF information from the DF 111.
- the class classification unit 162 is supplied with the classification method information from the class classification method determination unit 151 and the DF information from the DF 111.
- the class classification unit 162 performs class classification of the class classification method (adopted class classification method) represented by the classification method information from the class classification method determination unit 151 for the target pixel using the DF information, and is obtained as a result of the class classification.
- the class of the target pixel is supplied to the adding unit 163.
- the class classification unit 162 can classify each of the plurality of class classification methods stored in the class classification method determination unit 151.
- the class classification method determination unit 151 may use other information (for example, image feature amount, encoding information, etc.) as a plurality of class classification methods, for example, in addition to class classification using DF information, without using DF information.
- the class classification unit 162 stores other information that can be used for class classification in addition to DF information ( (Including information used when seeking other information) is also provided.
- the class classification method determination unit 151 stores, as one of a plurality of class classification methods, a class classification method using the DF information and the image feature amount of the decoding halfway image as the obtainable information
- the decoding-in-progress image is supplied to the class classification unit 162 as indicated by a dotted line in FIG.
- the class classification method determination unit 151 can store a class classification method using DF information and encoded information as obtainable information as one of a plurality of class classification methods. In this case, encoded information is supplied to the class classification unit 162.
- the target pixel encoding information used for class classification includes, for example, the block phase indicating the position of the target pixel in a block such as a CU or PU including the target pixel, the picture type of the picture including the target pixel, and the target pixel.
- a PU quantization parameter QP or the like can be employed.
- the coefficient calculating unit 164 supplies the tap coefficient for each class to the unused coefficient deleting unit 153.
- the unused coefficient deletion unit 153 has 0 or 1 or more of the effect of improving the image quality (of pixels) among the tap coefficients (hereinafter also referred to as initial coefficients) for each class obtained by the tap coefficient learning from the learning unit 152. Are detected as candidates for an excluded class to be excluded from the target of the classification adaptation process.
- the unused coefficient deletion unit 153 selects an exclusion class (candidate) from the exclusion class candidates.
- the selection of the exclusion class from the candidates for the exclusion class is performed so as to optimize the image quality of the decoded image and the amount of encoded data, that is, for example, to optimize the RD cost.
- the unused coefficient deletion unit 153 deletes the tap coefficient of the excluded class from the initial coefficient as the unused coefficient, and uses the tap coefficient after the deletion of the unused coefficient for the class classification adaptation process (filtering process). Output as a recruitment factor.
- the adoption coefficient output from the unused coefficient deletion unit 153 is supplied to the filter information generation unit 132 (FIG. 11) together with the classification method information output from the class classification method determination unit 151.
- tap coefficient of the excluded class when the tap coefficient of the excluded class is deleted from the initial coefficient as an unused coefficient, tap coefficients (adopted) transmitted from the encoding device 11 to the decoding device 12 are used by the unused coefficient.
- the data amount of the coefficient is small. As a result, compression efficiency can be improved.
- determination of the adopted class classification method and tap coefficient learning can be performed using a decoding intermediate image including an update unit, an original image, or the like.
- FIG. 13 is a diagram for explaining an example of filter processing performed by the DF 111.
- each of the left boundary adjacent pixel and the 8 upper boundary adjacent pixels adjacent to the upper block boundary is a DF information pixel having DF information.
- the upper left pixel of the block is a left boundary adjacent pixel and an upper boundary adjacent pixel.
- the range HW is a range of four pixels arranged in the horizontal direction, including a left boundary adjacent pixel, one pixel adjacent to the right of the left boundary adjacent pixel, and two pixels adjacent to the left.
- the range HS is a range of 6 pixels arranged in the horizontal direction, including a left boundary adjacent pixel, 2 pixels adjacent to the right of the left boundary adjacent pixel, and 3 pixels adjacent to the left.
- the range VW is a range of four pixels arranged in the vertical direction, with the upper boundary adjacent pixels, the two pixels adjacent above the upper boundary adjacent pixels, and the one pixel adjacent below the upper boundary adjacent pixels.
- the range VS is a range of 6 pixels arranged in the vertical direction, including an upper boundary adjacent pixel, 3 pixels adjacent above the upper boundary adjacent pixel, and 2 pixels adjacent below.
- a horizontal filter that is a horizontal filter is applied to each pixel in the range HS or HW including the left boundary adjacent pixel.
- a filter is applied.
- a vertical filter which is a vertical filter is applied to each pixel in the range VS or VW including the upper boundary adjacent pixel.
- the horizontal filter applied in the DF 111 is a 5-tap filter that performs filter processing using five pixels arranged in the horizontal direction.
- the vertical filter applied in the DF 111 is a 5-tap filter that performs filter processing using five pixels arranged in the vertical direction.
- the filter applied to each pixel in the 4-pixel range HW or VW is called a weak filter, and the filter applied to each pixel in the 6-pixel range HS or VS is called a strong filter.
- the application It is possible to recognize whether the DF (type) is a strong filter or a weak filter.
- the horizontal filter and the vertical filter may be applied to the pixels near the four corners of the block.
- the class classification using the DF information it is possible to adopt a class classification considering that the horizontal filter and the vertical filter can be applied in duplicate.
- FIG. 14 is a diagram showing an example of pixel position information of a decoding intermediate image to which DF can be applied.
- the pixel position information for example, the position of the target pixel (the distance between the target pixel and the block boundary) based on the block boundary of the block including the pixel can be employed.
- the horizontal position from the vertical block boundary closest to that pixel is used as the horizontal position information of the pixel in the horizontal direction.
- FIG. 14 shows the horizontal position of the pixel.
- the left boundary adjacent pixel and the pixel adjacent to the left of the left boundary adjacent pixel are adjacent to the vertical block boundary. Since the horizontal distance from the block boundary is 0 (pixel), the horizontal position is 0.
- the pixel adjacent to the right of the left boundary adjacent pixel and the pixel adjacent to the left of the pixel adjacent to the left of the left boundary adjacent pixel The horizontal position is 1 because it is one pixel away from the vertical block boundary in the horizontal direction.
- the horizontal position is 0 for the pixel adjacent to the left boundary and the pixel adjacent to the left of the left boundary adjacent pixel as in the case of the range HW. become.
- the horizontal position is 1.
- the pixel adjacent to the right of the pixel adjacent to the right of the pixel adjacent to the left boundary, and the pixel adjacent to the left of the pixel adjacent to the left boundary is separated by 2 pixels in the horizontal direction from the block boundary in the vertical direction, so the horizontal position is 2.
- the vertical distance from the horizontal block boundary closest to that pixel is used as the vertical position information of the pixel. It can be defined as a position.
- the horizontal position and vertical position as the pixel position information as described above have symmetry with respect to the block boundary.
- position information is not defined for pixels to which DF is not applied.
- the class classification using the DF information the class classification using the horizontal position or the vertical position as the pixel position information as described above can be adopted.
- FIG. 15 is a diagram showing an example of class classification using DF information.
- a vertical filter flag, a vertical type flag, a vertical position flag, a horizontal filter flag, a horizontal type flag, and a horizontal position flag are appropriately obtained from the DF information, and the vertical filter flag Class classification is performed according to a necessary flag among the vertical type flag, the vertical position flag, the horizontal filter flag, the horizontal type flag, and the horizontal position flag.
- the vertical filter flag indicates whether or not a vertical filter as DF has been applied to the target pixel. If not applied, Off is set in the vertical filter flag.
- the horizontal filter flag indicates whether or not the horizontal filter as the DF is applied to the target pixel. When the horizontal filter flag is not applied, Off is set in the horizontal filter flag.
- the vertical type flag indicates whether the applied vertical filter is a strong filter or a weak filter when a vertical filter as DF is applied to the target pixel.
- Strong is set to the vertical type flag
- weak is set to the vertical type flag.
- the horizontal type flag indicates whether the applied horizontal filter is a strong filter or a weak filter when a horizontal filter as DF is applied to the target pixel.
- Strong is set in the horizontal type flag
- weak is set in the horizontal type flag.
- the vertical position described in FIG. 14 is set as the position information of the target pixel to which the DF is applied.
- the horizontal position flag the horizontal position described in FIG. 14 as the position information of the target pixel to which the DF is applied is set.
- the target pixel corresponds to the vertical type flag and the vertical position flag. Thus, it is classified into one of classes 31 to 35.
- the pixel of interest is classified into class 31.
- the pixel of interest is classified into class 34.
- FIG. 16 is a flowchart for explaining an example of processing when the class classification unit 162 of FIG. 12 performs class classification using the DF information of FIG.
- step S11 the class classification unit 162 acquires DF information related to the target pixel from the DF information from the DF 111, and the process proceeds to step S12.
- step S12 the class classification unit 162 determines whether the target pixel is a pixel to which the vertical filter as DF is applied based on the DF information related to the target pixel.
- step S12 If it is determined in step S12 that the pixel of interest is not a pixel to which the vertical filter as DF is applied, the process proceeds to step S13, and the class classification unit 162 sets Off to the vertical filter flag of the pixel of interest. Then, the process proceeds to step S18.
- step S12 If it is determined in step S12 that the target pixel is a pixel to which the vertical filter as DF is applied, the process proceeds to step S14, and the class classification unit 162 determines that the vertical filter applied to the target pixel. It is determined whether the type is a strong filter or a weak filter.
- step S14 If it is determined in step S14 that the vertical filter applied to the target pixel is a weak filter, the process proceeds to step S15, and the class classification unit 162 sets Weak to the vertical type flag, and the process is performed. The process proceeds to step S17.
- step S14 If it is determined in step S14 that the vertical filter applied to the target pixel is a strong filter, the process proceeds to step S16, and the class classification unit 162 sets Strong to the vertical type flag, The process proceeds to step S17.
- step S17 the class classification unit 162 obtains the vertical position of the target pixel to which the vertical filter is applied, sets the vertical position in the vertical position flag, and the process proceeds to step S18.
- step S18 the class classification unit 162 determines whether the target pixel is a pixel to which the horizontal filter as the DF is applied, based on the DF information related to the target pixel.
- step S18 If it is determined in step S18 that the target pixel is not a pixel to which the horizontal filter as DF is applied, the process proceeds to step S19, and the class classification unit 162 sets Off to the horizontal filter flag of the target pixel. Then, the process proceeds to step S24.
- step S18 If it is determined in step S18 that the pixel of interest is a pixel to which the horizontal filter as DF is applied, the process proceeds to step S20, and the class classification unit 162 applies the horizontal filter applied to the pixel of interest. It is determined whether the type is a strong filter or a weak filter.
- step S20 If it is determined in step S20 that the horizontal filter applied to the target pixel is a weak filter, the process proceeds to step S21, and the class classification unit 162 sets Weak to the horizontal type flag, and the process is performed. The process proceeds to step S23.
- step S20 If it is determined in step S20 that the horizontal filter applied to the target pixel is a strong filter, the process proceeds to step S22, and the class classification unit 162 sets Strong to the horizontal type flag, The process proceeds to step S23.
- step S23 the class classification unit 162 obtains the horizontal position of the target pixel to which the horizontal filter is applied, sets the horizontal position in the horizontal position flag, and the process proceeds to step S24.
- step S24 the class classification unit 162 determines the class classification method determination unit according to the vertical filter flag, vertical type flag, vertical position flag, horizontal filter flag, horizontal type flag, and horizontal position flag obtained for the target pixel.
- the class classification of the class classification method indicated by the classification method information from 151 is performed, the class of the pixel of interest obtained by the class classification is output, and the class classification process is terminated.
- FIG. 17 is a diagram showing another example of class classification using DF information.
- the class classification method determination unit 151 can store the class classification method shown in FIG. 17 in addition to the class classification method described with reference to FIG. 15 as the class classification method for class classification using DF information.
- FIG. 17A shows a first other example of class classification using DF information
- FIG. 17B shows a second other example of class classification using DF information.
- the target pixel is classified into class 0 only when both the horizontal filter flag and the vertical filter flag of the target pixel are Off, but in FIG. 17A, the target pixel is applied to the target pixel.
- the vertical filter or horizontal filter is a strong filter, that is, when the vertical type flag or horizontal type flag is Strong, the target pixel is classified into class 0.
- the pixel of interest is classified without using the position information of the pixel of interest, that is, the vertical position flag and the horizontal position flag. .
- the pixel of interest is classified without using the position information of the pixel of interest, that is, the vertical position flag and the horizontal position flag.
- the target pixel is class 4, respectively. It is classified into 5 or 6.
- the target pixel is class 7, Classified into 8 or 0.
- the class classification is performed using the position information (vertical position flag or horizontal position flag) of the target pixel except when both the horizontal filter flag and the vertical filter flag of the target pixel are Off. Is called.
- the target pixel is always classified without using the position information of the target pixel.
- the class classification of FIG. 15 is the class classification that performs the finest classification
- the class classification of B in FIG. 17 is the class that performs the coarsest classification. It can be said that it is a classification.
- the class classification method determination unit 151 stores a class classification method that uses DF information and other information (for example, image feature amount, encoding information, etc.) in addition to the class classification method of class classification using DF information. Can do.
- FIG. 18 is a block diagram illustrating a configuration example of the class classification unit 162 when performing class classification using DF information and image feature amounts as other information.
- the class classification unit 162 includes a class tap selection unit 171, an image feature amount extraction unit 172, subclass classification units 173 and 174, a DF information acquisition unit 175, and a subclass classification unit 176.
- the class-tap selection unit 171 is supplied with the decoding intermediate image from the SAO 112 (FIG. 9).
- the class tap selection unit 171 selects some of the pixels spatially or temporally close to the target pixel as class taps to be used for class classification of the target pixel (class tap of the target pixel) from the decoding intermediate image from the SAO 112. And supplied to the image feature quantity extraction unit 172.
- the image feature amount extraction unit 172 uses the class tap of the target pixel from the class tap selection unit 171 to extract the image feature amount of the target pixel (periphery) and supplies it to the subclass classification units 173 and 174.
- the image feature amount extraction unit 172 performs the DR which is the difference between the maximum value and the minimum value of the pixel values constituting the class tap, or the pixel values of pixels adjacent in the horizontal, vertical and diagonal directions in the class tap.
- DiffMax which is the maximum value of the difference absolute value, is extracted as the image feature amount of the target pixel.
- the image feature amount extraction unit 172 supplies the DR to the subclass classification units 173 and 174, and supplies DiffMax to the subclass classification unit 174.
- the subclass classification unit 173 uses the DR from the image feature amount extraction unit 172 to classify the pixel of interest into the first subclass, for example, by performing threshold processing on the DR, and obtain the first pixel of the pixel of interest obtained as a result of the classification.
- One subclass is supplied to the synthesis unit 177.
- the subclass classification unit 174 uses the DR and DiffMax from the image feature amount extraction unit 172 to classify the target pixel into the second subclass, for example, by performing threshold processing on DiffMax / DR, and is obtained as a result of the classification.
- the second subclass of the pixel of interest is supplied to the synthesis unit 177.
- the DF information acquisition unit 175 acquires DF information related to the target pixel from the DF information supplied from the DF 111 (FIG. 9), and supplies the acquired DF information to the subclass classification unit 176.
- the subclass classification unit 176 uses the DF information from the DF information acquisition unit 175 to classify the target pixel by classifying the class classification method shown in FIG. 15 or A or B in FIG.
- the third subclass of the pixel of interest is supplied to the synthesis unit 177.
- the synthesis unit 177 combines the first subclass, the second subclass, and the third subclass from the subclass classification units 173, 174, and 176, respectively, to thereby determine the (final) class of the target pixel. It is obtained and supplied to the adding portion 163 (FIG. 12).
- the synthesis unit 177 can obtain the value represented by the bit string obtained by sequentially arranging the bit strings representing the first to third subclasses as the class of the pixel of interest.
- DR represents the change in the amplitude of the pixel value
- DiffMax / DR represents the gradient of the pixel value
- DF111 when applying filter processing to an image being decoded, the presence / absence of block noise and the type of DF (strong filter or weak filter) to be applied are determined. It may be impossible to sufficiently reduce the block noise.
- the class classification adaptive filter 113 compensates for the error of the DF111, Block noise can be sufficiently reduced.
- FIG. 19 is a flowchart illustrating an example of processing of the learning device 131 in FIG.
- step S31 the class classification method determination unit 151 determines an adopted class classification method from a plurality of predetermined class classification methods, outputs classification method information representing the adopted class classification method, and the processing is performed. The process proceeds to step S32.
- the classification method information output from the class classification method determination unit 151 is supplied to the filter information generation unit 132 (FIG. 11) and the class classification unit 162 of the learning unit 152 (FIG. 12).
- step S32 the class classification unit 162 of the learning unit 152 uses the DF information from the DF 111 (FIG. 9) and follows the class classification method (adopted class classification method) represented by the classification method information from the class classification method determination unit 151. Classification. Then, the learning unit 152 performs tap coefficient learning to obtain a tap coefficient for each class obtained by class classification. Further, the learning unit 152 supplies an initial coefficient, which is a tap coefficient for each class obtained by tap coefficient learning, to the unused coefficient deletion unit 153, and the process proceeds from step S32 to step S33.
- the class classification unit 162 of the learning unit 152 uses the DF information from the DF 111 (FIG. 9) and follows the class classification method (adopted class classification method) represented by the classification method information from the class classification method determination unit 151. Classification. Then, the learning unit 152 performs tap coefficient learning to obtain a tap coefficient for each class obtained by class classification. Further, the learning unit 152 supplies an initial coefficient, which is a tap coefficient for each class
- step S ⁇ b> 33 the unused coefficient deletion unit 153 excludes from the initial coefficients from the learning unit 152, 0 or one or more classes (of pixels) that have a small effect of improving the image quality from the target of the class classification adaptation process.
- the candidate is detected as a candidate for the excluded class, and the process proceeds to step S34.
- step S34 the unused coefficient deletion unit 153 selects the exclusion class candidate so as to optimize the image quality of the decoded image and the data amount of the encoded data, that is, for example, to optimize the RD cost.
- An exclusion class (candidate) is selected from the list, and the process proceeds to step S35.
- step S35 the unused coefficient deletion unit 153 deletes the tap coefficient of the excluded class from the initial coefficient as an unused coefficient, and uses the tap coefficient after the deletion of the unused coefficient as a class classification adaptive process (filter process thereof). Is output as an employment coefficient used for the process, and the process is terminated.
- the adoption coefficient output by the unused coefficient deletion unit 153 is supplied to the filter information generation unit 132.
- FIG. 20 is a block diagram illustrating a configuration example of the image conversion device 133 in FIG.
- the image conversion device 133 includes a tap selection unit 191, a class classification unit 192, a coefficient acquisition unit 193, and a prediction calculation unit 194.
- the tap selection unit 191 to the prediction calculation unit 194 perform the same processing as the tap selection unit 21 to the prediction calculation unit 24 of the image conversion apparatus 20 in FIG.
- the image conversion device 133 is supplied with the decoding intermediate image and the DF information as the first image similar to that supplied to the learning device 131 (FIG. 11).
- the image conversion device 133 performs class classification adaptation processing similar to that of the image conversion device 20 in FIG. 2 using the decoding intermediate image and the DF information as the first image, and the second image corresponding to the original image is obtained. Find the filtered image.
- the filter information is supplied from the filter information generation unit 132 to the image conversion device 133.
- the class classification unit 192 performs class classification of the class classification method represented by the classification method information included in the filter information on the target pixel of the image being decoded using the DF information. That is, the class classification unit 192 performs the same class classification as the class classification unit 162 (FIG. 12) of the learning device 131. Therefore, when the class classification unit 162 of the learning device 131 performs class classification using the image feature amount or the encoded information of the decoding intermediate image in addition to the DF information, the class classification unit 192 also includes the DF information, Class classification is performed using the image feature amount and the encoding information of the image being decoded.
- the coefficient acquisition unit 193 stores the tap coefficient (adopted coefficient) included in the filter information, and acquires the tap coefficient of the class of the target pixel obtained by the class classification unit 192 from the tap coefficient. Then, the data is supplied to the prediction calculation unit 194.
- the prediction tap of the target pixel supplied from the tap selection unit 191 and the tap coefficient of the target pixel class supplied from the coefficient acquisition unit 193 Is used to perform prediction calculation, and a predicted value of the pixel value of the corresponding pixel of the original image corresponding to the target pixel is obtained.
- the prediction calculation performed by the prediction calculation unit 194 can be said to be a kind of filter processing performed using the prediction tap and the tap coefficient for the target pixel, and thus constitutes a prediction tap used for the filter processing.
- a tap selection unit 191, a coefficient acquisition unit 193 that acquires tap coefficients used for filter processing, and a prediction calculation unit 194 that performs prediction calculation as one type of filter processing constitute a filter processing unit 190 that performs filter processing. It can be said that.
- the prediction calculation as the filter processing of the prediction calculation unit 194 is different filter processing depending on the tap coefficient of the class of the pixel of interest acquired by the coefficient acquisition unit 193. Therefore, it can be said that the filter processing of the filter processing unit 190 is filter processing corresponding to the class of the target pixel.
- the filter processing of the filter processing unit 190 is not limited to prediction calculation, that is, product-sum calculation of the tap coefficient of the pixel of interest class and the prediction tap.
- the filter information supplied from the filter information generation unit 132 to the image conversion device 133 includes, as described in FIG. 11, the same class classification method and tap as in the previous class classification method and tap coefficient update. Copy information indicating whether to use a coefficient can be included.
- the class classification unit 192 supplies the image conversion device 133 from the filter information generation unit 132.
- the classification method represented by the classification method information included in the latest filter information is employed in the subsequent classification.
- the coefficient acquisition unit 193 stores the tap coefficient for each class included in the latest filter information in the form of overwriting the tap coefficient for each class included in the previous filter information.
- the class classification unit 192 displays the previous filter information.
- the class classification method represented by the included classification method information is adopted as it is in the subsequent class classification.
- the coefficient acquisition unit 193 maintains the storage of tap coefficients for each class included in the previous filter information as it is.
- Copy information can be provided separately for each of the classification method information and the tap coefficient for each class.
- FIG. 21 is a flowchart for explaining an example of the encoding process of the encoding device 11 of FIG.
- the learning device 131 (FIG. 11) of the class classification adaptive filter 113 is in the process of decoding an update unit such as a plurality of frames, one frame, a block, etc., among the images being decoded.
- the image is used as student data, and tap coefficient learning is performed at any time using the original image corresponding to the decoded image as teacher data.
- the learning device 131 determines whether or not the current timing is an update timing as a predetermined timing for updating the tap coefficient and the class classification method, that is, for example, a plurality of frames, one frame, a block, and the like. It is determined whether it is the end point or start point timing of the update unit.
- step S41 when it is determined that it is not the update timing of the tap coefficient and the class classification method, the process skips steps S42 to S44 and proceeds to step S45.
- step S41 If it is determined in step S41 that the update timing of the tap coefficient and class classification method is reached, the process proceeds to step S42.
- step S42 the filter information generation unit 132 (FIG. 11) generates filter information including the classification method information generated by the learning device 131 through the latest tap coefficient learning and the tap coefficient (or copy information) for each class, and the image
- the data is supplied to the conversion device 133 (FIG. 11) and the lossless encoding unit 106 (FIG. 9), and the process proceeds to step S43.
- the encoding device 11 detects the correlation in the time direction of the original image, and generates filter information at the update timing only when the correlation is low (when it is equal to or less than the threshold), and in steps S43 and S44 described later. Processing can be performed.
- step S43 the image conversion apparatus 133 determines the class classification method (class classification method) performed by the class classification unit 192 (FIG. 20) and the coefficient acquisition unit 193 (FIG. 20) according to the filter information from the filter information generation unit 132.
- the tap coefficient for each class stored in () is updated, and the process proceeds to step S44.
- step S44 the lossless encoding unit 106 sets the filter information supplied from the filter information generating unit 132 as a transmission target, and the process proceeds to step S45.
- the filter information set as the transmission target is included in the encoded data and transmitted in step S59 described later.
- step S45 a predictive encoding process of the original image is performed.
- step S45 the A / D conversion unit 101 performs A / D conversion on the original image, supplies the original image to the rearrangement buffer 102, and the process proceeds to step S46.
- step S46 the rearrangement buffer 102 stores the original images from the A / D conversion unit 101, rearranges them in the encoding order, and outputs them, and the process proceeds to step S47.
- step S47 the intra prediction unit 116 performs an intra prediction process in the intra prediction mode, and the process proceeds to step S48.
- step S48 the motion prediction / compensation unit 117 performs an inter motion prediction process for performing motion prediction or motion compensation in the inter prediction mode, and the process proceeds to step S49.
- a cost function of various prediction modes is calculated and a prediction image is generated.
- step S49 the prediction image selection unit 118 determines an optimal prediction mode based on each cost function obtained by the intra prediction unit 116 and the motion prediction / compensation unit 117. Then, the predicted image selection unit 118 selects and outputs the predicted image of the optimal prediction mode among the predicted image generated by the intra prediction unit 116 and the predicted image generated by the motion prediction / compensation unit 117, and performs processing. Advances from step S49 to step S50.
- step S ⁇ b> 50 the calculation unit 103 calculates a residual between the encoding target image that is the original image output from the rearrangement buffer 102 and the predicted image output from the predicted image selection unit 118, and the orthogonal transform unit 104. The process proceeds to step S51.
- step S51 the orthogonal transform unit 104 orthogonally transforms the residual from the operation unit 103, supplies the transform coefficient obtained as a result to the quantization unit 105, and the process proceeds to step S52.
- step S52 the quantization unit 105 quantizes the transform coefficient from the orthogonal transform unit 104, and supplies the quantized coefficient obtained by the quantization to the lossless encoding unit 106 and the inverse quantization unit 108 for processing. Advances to step S53.
- step S53 the inverse quantization unit 108 inversely quantizes the quantization coefficient from the quantization unit 105, supplies the transform coefficient obtained as a result to the inverse orthogonal transform unit 109, and the process proceeds to step S54.
- step S54 the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 108, supplies the residual obtained as a result to the arithmetic unit 110, and the process proceeds to step S55.
- step S ⁇ b> 55 the calculation unit 110 adds the residual from the inverse orthogonal transform unit 109 and the predicted image output from the predicted image selection unit 118, and is the source of the residual calculation target in the calculation unit 103. A decoding intermediate image corresponding to the image is generated. The calculation unit 110 supplies the halfway image to the DF 111 or the frame memory 114, and the process proceeds from step S55 to step S56.
- step S56 the DF 111 performs the DF filtering process on the decoding intermediate image from the arithmetic unit 110 and supplies the DF 111 to the SAO 112. DF information related to the applied DF filter processing is supplied to the class classification adaptive filter 113. Further, in step S56, the SAO 112 performs SAO filter processing on the decoding-in-progress image from the DF 111 and supplies it to the class classification adaptive filter 113, and the processing proceeds to step S57.
- step S57 the class classification adaptive filter 113 performs class classification adaptive processing (class classification adaptive filter processing) corresponding to ALF on the decoding intermediate image from the SAO 112, and filters the decoding intermediate image with general ALF. A filtered image close to the original image is obtained.
- class classification adaptive processing class classification adaptive filter processing
- the class classification adaptive filter 113 supplies the filtered image obtained by the class classification adaptation process to the frame memory 114, and the process proceeds from step S57 to step S58.
- step S58 the frame memory 114 stores the decoded image supplied from the calculation unit 110 or the filtered image supplied from the class classification adaptive filter 113 as a decoded image, and the process proceeds to step S59.
- the decoded image stored in the frame memory 114 is used as a reference image from which a predicted image is generated in steps S48 and S49.
- step S59 the lossless encoding unit 106 encodes the quantization coefficient from the quantization unit 105. Further, the lossless encoding unit 106 uses the quantization parameter QP used for quantization in the quantization unit 105, the prediction mode obtained by the intra prediction processing in the intra prediction unit 116, and the motion prediction compensation unit 117. Encoding information such as a prediction mode and motion information obtained by the inter motion prediction process is encoded as necessary and included in the encoded data.
- the lossless encoding unit 106 encodes the filter information set as the transmission target in step S44 as necessary, and includes it in the encoded data. Then, the lossless encoding unit 106 supplies the encoded data to the accumulation buffer 107, and the process proceeds from step S59 to step S60.
- step S60 the accumulation buffer 107 accumulates the encoded data from the lossless encoding unit 106, and the process proceeds to step S61.
- the encoded data stored in the storage buffer 107 is appropriately read and transmitted.
- step S61 the rate control unit 119 performs quantization of the quantization unit 105 based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 so that overflow or underflow does not occur.
- the rate of operation (quantization step) is controlled, and the encoding process ends.
- FIG. 22 is a flowchart for explaining an example of the class classification adaptation process performed in step S57 of FIG.
- step S71 the tap selection unit 191 is still out of the pixels of the decoding intermediate image (as a block) supplied from the SAO 112 (FIG. 9). Then, one of the pixels that is not regarded as the target pixel is selected as the target pixel, and the process proceeds to step S72.
- step S72 the tap selection unit 191 selects a pixel to be a prediction tap for the pixel of interest from the decoding intermediate image supplied from the SAO 112, and configures a prediction tap. And the tap selection part 191 supplies a prediction tap to the prediction calculating part 194, and a process progresses to step S73.
- step S73 the class classification unit 192 uses the DF information from the DF 111 for the class classification of the class classification method represented by the classification method information included in the filter information from the filter information generation unit 132 (FIG. 11) for the target pixel. Do it.
- the class classification unit 192 supplies the class of the target pixel obtained by the class classification to the coefficient acquisition unit 193, and the process proceeds from step S73 to step S74.
- the class classification method performed by the class classification unit 192 has been updated by the update of the class classification method performed in step S43 of FIG. 21 performed immediately before, and the class classification unit 192 has the updated class classification method class. Perform classification.
- step S74 the coefficient acquisition unit 193 determines whether or not the class of the pixel of interest from the class classification unit 192 is an excluded class having no tap coefficient.
- the coefficient acquisition unit 193 taps each class included in the filter information supplied from the filter information generation unit 132, that is, the tap coefficient of the excluded class from the initial coefficient in the unused coefficient deletion unit 153 (FIG. 12).
- the adoption coefficient from which is deleted is stored by updating the tap coefficient in step S43 of FIG. 21 performed immediately before.
- step S74 the coefficient acquisition unit 193 determines whether the class of the pixel of interest from the class classification unit 192 is an excluded class in which no tap coefficient exists in the stored adoption coefficient.
- step S74 If it is determined in step S74 that the class of the pixel of interest is not an excluded class, that is, if the tap coefficient of the class of pixel of interest is included in the adoption coefficient stored in the coefficient acquisition unit 193, the process is as follows. Proceed to step S75.
- step S75 the coefficient acquisition unit 193 acquires the tap coefficient of the class of the target pixel from the class classification unit 192 from the stored adoption coefficient, and supplies the tap coefficient to the prediction calculation unit 194, and the process proceeds to step S76. move on.
- step S76 the prediction calculation unit 194 performs the prediction calculation (1) as a filter process using the prediction tap from the tap selection unit 191 and the tap coefficient from the coefficient acquisition unit 193. Thereby, the prediction calculation unit 194 obtains the predicted value of the pixel value of the corresponding pixel of the original image corresponding to the target pixel as the pixel value of the filtered image, and the process proceeds to step S78.
- step S74 when it is determined in step S74 that the class of the pixel of interest is an excluded class, that is, the tap coefficient of the class of pixel of interest is not included in the adopted coefficients stored in the coefficient acquisition unit 193. The process proceeds to step S77.
- step S77 for example, the prediction calculation unit 194 uses the pixel value of the target pixel constituting the prediction tap from the tap selection unit 191 as it is as the pixel value of the corresponding pixel of the filtered image, and the process proceeds to step S78. .
- step S78 the tap selection unit 191 determines whether there is a pixel that is not yet a pixel of interest among the pixels of the decoding-in-progress image (as a block) from the SAO 112. If it is determined in step S78 that there is still a pixel that is not the target pixel, the process returns to step S71, and the same process is repeated thereafter.
- step S78 If it is determined in step S78 that there is no pixel that has not yet been set as the pixel of interest, the process proceeds to step S79, and the prediction calculation unit 194 performs the decoding halfway image (block as) from the SAO 112. The filtered image composed of the pixel values obtained in this way is supplied to the frame memory 114 (FIG. 9). Then, the class classification adaptation process is terminated, and the process returns.
- FIG. 23 is a block diagram showing a first configuration example of the decoding device 12 of FIG.
- the decoding device 12 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a calculation unit 205, a DF 206, a SAO 207, a class classification adaptive filter 208, a rearrangement buffer 209, and And a D / A converter 210. Further, the decoding device 12 includes a frame memory 211, a selection unit 212, an intra prediction unit 213, a motion prediction compensation unit 214, and a selection unit 215.
- the accumulation buffer 201 temporarily accumulates the encoded data transmitted from the encoding device 11 and supplies the encoded data to the lossless decoding unit 202 at a predetermined timing.
- the lossless decoding unit 202 acquires encoded data from the accumulation buffer 201. Therefore, the lossless decoding unit 202 functions as a receiving unit that receives the encoded data transmitted from the encoding device 11, and thus the encoded information and filter information included in the encoded data.
- the lossless decoding unit 202 decodes the encoded data acquired from the accumulation buffer 201 by a method corresponding to the encoding method of the lossless encoding unit 106 in FIG.
- the lossless decoding unit 202 supplies the quantization coefficient obtained by decoding the encoded data to the inverse quantization unit 203.
- the lossless decoding unit 202 also obtains necessary encoding information from the intra prediction unit 213, the motion prediction compensation unit 214, and other necessary information when encoding information and filter information are obtained by decoding encoded data. Supply to block.
- the lossless decoding unit 202 supplies the filter information to the class classification adaptive filter 208.
- the inverse quantization unit 203 inversely quantizes the quantization coefficient from the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG. 9, and inversely converts the transform coefficient obtained by the inverse quantization. This is supplied to the orthogonal transform unit 204.
- the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 203 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG. 9, and calculates the residual obtained as a result. To the unit 205.
- the calculation unit 205 is also supplied with a predicted image from the intra prediction unit 213 or the motion prediction compensation unit 214 via the selection unit 215.
- the calculation unit 205 adds the residual from the inverse orthogonal transform unit 204 and the predicted image from the selection unit 215, generates a decoding intermediate image, and supplies the decoded image to the DF 206 or the frame memory 211.
- the DF 206 performs a filtering process similar to that of the DF 111 (FIG. 9) on the decoding intermediate image from the arithmetic unit 205, and supplies the decoded intermediate image to the SAO 207.
- SAO 207 performs a filtering process similar to SAO 112 (FIG. 9) on the halfway decoded image from DF 206 and supplies it to class classification adaptive filter 208.
- the class classification adaptive filter 208 is a filter that functions as an ALF among DF, SAO, and ALF, which are ILFs, by class classification adaptation processing, and performs filter processing corresponding to ALF by class classification adaptation processing.
- the class classification adaptive filter 208 is supplied with an intermediate decoding image from the SAO 207, and also includes pre-filter related information regarding the filter processing of the DF 206 and SAO 207 as the pre-filter processing performed before the filter processing of the class classification adaptive filter 208.
- DF information and SAO information can be supplied.
- the class classification adaptive filter 208 is a filter that functions as an ALF by the class classification adaptive process, and performs filter processing corresponding to ALF by the class classification adaptive process, similarly to the class classification adaptive filter 113 (FIG. 9).
- the class classification adaptive filter 208 uses the mid-decoding image from the SAO 207 as a first image, and class classification adaptive processing (by image conversion) using tap coefficients for each class included in the filter information from the lossless decoding unit 202.
- the halfway decoded image as the first image is converted into a filtered image as a second image corresponding to the original image (generates a filtered image) and output.
- the class classification adaptive filter 208 is included in the filter information from the lossless decoding unit 202 in the class classification adaptive processing in the same manner as the class classification adaptive filter 113 (the image conversion device 133 (FIG. 20)) in FIG.
- the classification of the classification method represented by the classification method information is performed using the DF information from the DF 206.
- the DF information is adopted as the pre-filter related information that the class classification adaptive filter 113 uses for class classification.
- the class classification adaptive filter 113 When classifying using DF information and SAO information, the class classification adaptive filter 208 also performs class classification using DF information and SAO information.
- the filtered image output from the class classification adaptive filter 208 is the same image as the filtered image output from the class classification adaptive filter 113, and is supplied to the rearrangement buffer 209 and the frame memory 211.
- the rearrangement buffer 209 temporarily stores the post-filter image supplied from the class classification adaptive filter 208 as a decoded image, and rearranges the sequence of frames (pictures) of the decoded image from the encoding (decoding) order to the display order, This is supplied to the D / A converter 210.
- the D / A converter 210 D / A converts the decoded image supplied from the rearrangement buffer 209, and outputs and displays it on a display (not shown).
- the frame memory 211 temporarily stores the decoded image supplied from the calculation unit 205 and the filtered image supplied from the class classification adaptive filter 208 as decoded images. Furthermore, the frame memory 211 selects the decoded image as a reference image used for generating a predicted image at a predetermined timing or based on an external request such as the intra prediction unit 213 or the motion prediction / compensation unit 214. To supply.
- the selection unit 212 selects a supply destination of the reference image supplied from the frame memory 211.
- the selection unit 212 supplies the reference image supplied from the frame memory 211 to the intra prediction unit 213 when decoding an intra-coded image.
- the selection unit 212 also supplies the reference image supplied from the frame memory 211 to the motion prediction / compensation unit 214 when decoding an inter-coded image.
- the intra prediction unit 213 is the intra prediction mode used in the intra prediction unit 116 of FIG. 9 according to the prediction mode included in the encoded information supplied from the lossless decoding unit 202, and is transmitted from the frame memory 211 via the selection unit 212. Intra prediction is performed using the supplied reference image. Then, the intra prediction unit 213 supplies a prediction image obtained by intra prediction to the selection unit 215.
- the motion prediction / compensation unit 214 moves the selection unit 212 from the frame memory 211 in the inter prediction mode used in the motion prediction / compensation unit 117 in FIG. 9 according to the prediction mode included in the encoded information supplied from the lossless decoding unit 202. Inter prediction is performed using a reference image supplied through the network. The inter prediction is performed using the motion information included in the encoded information supplied from the lossless decoding unit 202 as necessary.
- the motion prediction / compensation unit 214 supplies a prediction image obtained by inter prediction to the selection unit 215.
- the selection unit 215 selects the prediction image supplied from the intra prediction unit 213 or the prediction image supplied from the motion prediction / compensation unit 214 and supplies the selected prediction image to the calculation unit 205.
- FIG. 24 is a block diagram illustrating a configuration example of the class classification adaptive filter 208 of FIG.
- the class classification adaptive filter 208 includes an image conversion device 231.
- the image conversion device 231 is supplied with the decoding intermediate image from the SAO 207 (FIG. 23) and the filter information from the lossless decoding unit 202. Further, DF information is supplied from the DF 206 to the image conversion device 231.
- the image conversion device 231 uses the decoding-in-progress image as the first image, class classification of the class classification method represented by the classification method information included in the filter information, that is, the image conversion device 133.
- the same class classification as that performed in the above is performed using the DF information from the DF 206, and further, the image feature amount and the encoding information of the necessary decoding intermediate image.
- the image conversion apparatus 231 performs class classification adaptation that performs prediction calculation, which is filter processing using tap coefficients (adopted coefficients) for each class included in the filter information, as filter processing corresponding to the class obtained as a result of class classification.
- the decoded intermediate image as the first image is converted into a filtered image as a second image corresponding to the original image (generating a filtered image), and rearranged
- the data is supplied to the buffer 209 and the frame memory 211 (FIG. 23).
- FIG. 25 is a block diagram illustrating a configuration example of the image conversion apparatus 231 in FIG.
- the image conversion apparatus 231 includes a tap selection unit 241, a class classification unit 242, a coefficient acquisition unit 243, and a prediction calculation unit 244.
- the tap selection unit 241 to the prediction calculation unit 244 are configured in the same manner as the tap selection unit 191 to the prediction calculation unit 194 constituting the image conversion device 133 (FIG. 20), respectively.
- a decoding intermediate image is supplied to the tap selection unit 241 from the SAO 207 (FIG. 23).
- the tap selection unit 241 selects, as the first image, the decoding intermediate image from the SAO 207, and sequentially selects the pixels of the decoding intermediate image as the target pixel.
- the tap selection unit 241 selects a prediction tap having the same structure as the prediction tap selected by the tap selection unit 191 in FIG. 20 from the decoding intermediate image for the target pixel, and supplies the prediction tap to the prediction calculation unit 244.
- the class classification unit 242 is supplied with filter information from the lossless decoding unit 202 (FIG. 23) and DF information from the DF 206.
- the class classification unit 242 performs the class classification of the class classification method represented by the classification method information included in the filter information from the lossless decoding unit 202 on the target pixel by using the DF information from the DF 206, thereby classifying the class pixel 192.
- the same class classification as in FIG. 20 is performed.
- the class classification unit 192 when the class classification unit 192 performs class classification using the image feature amount or the encoding information of the decoding-in-progress image in addition to the DF information, the class classification unit 242 also performs decoding in addition to the DF information. Class classification is performed using image feature amounts and coding information of images.
- the coefficient acquisition unit 243 stores the tap coefficient (adopted coefficient) included in the filter information from the lossless decoding unit 202 (FIG. 23), and the tap coefficient of the class of the target pixel obtained by the class classification unit 242 from the tap coefficient. Is supplied to the prediction calculation unit 244.
- the prediction calculation unit 244 uses the prediction tap from the tap selection unit 241 and the tap coefficient from the coefficient acquisition unit 243 to perform the prediction calculation of Expression (1) as a filter process, and sets the pixel of interest in the decoding halfway image.
- the predicted value of the pixel value of the corresponding pixel of the corresponding original image is obtained and output as the pixel value of the pixel of the filtered image as the second image.
- the tap selection unit 241, the coefficient acquisition unit 243, and the prediction calculation unit 244 are the tap selection unit 191, the coefficient acquisition unit 193, and the prediction calculation unit 244 of FIG. Similar to the prediction calculation unit 194, it can be said that the filter processing unit 240 that performs the filter processing corresponding to the class of the target pixel is configured.
- the filter information supplied from the lossless decoding unit 202 to the image conversion apparatus 231 includes the classification method information and the tap coefficient for each class, as described in FIG. Copy information indicating whether to use the same classification method information and the tap coefficient for each class can be included.
- the class classification unit 242 is supplied from the lossless decoding unit 202 to the image conversion device 231.
- Class classification is performed by employing the class classification method represented by the classification method information included in the latest filter information instead of the classification method represented by the classification method information included in the previous filter information.
- the coefficient acquisition unit 243 stores the tap coefficient for each class included in the latest filter information in the form of overwriting the tap coefficient for each class included in the previous filter information.
- the class classification unit 242 performs class classification by directly adopting the class classification method represented by the classification method information included in the previous filter information.
- the coefficient acquisition unit 243 maintains the storage of the tap coefficient for each class included in the previous filter information as it is.
- FIG. 26 is a flowchart for explaining an example of the decoding process of the decoding device 12 of FIG.
- step S111 the accumulation buffer 201 temporarily accumulates the encoded data transmitted from the encoding device 11, supplies it to the lossless decoding unit 202 as appropriate, and the process proceeds to step S112.
- step S112 the lossless decoding unit 202 receives and decodes the encoded data supplied from the accumulation buffer 201, and supplies the quantization coefficient obtained by the decoding to the inverse quantization unit 203.
- the lossless decoding unit 202 converts the necessary encoded information to the intra prediction unit 213, the motion prediction compensation unit 214, and other necessary blocks. Supply.
- the lossless decoding unit 202 supplies the filter information to the class classification adaptive filter 208.
- step S112 the process proceeds from step S112 to step S113, and the class classification adaptive filter 208 determines whether or not the filter information is supplied from the lossless decoding unit 202.
- step S113 If it is determined in step S113 that the filter information is not supplied, the process skips step S114 and proceeds to step S115.
- step S113 If it is determined in step S113 that the filter information has been supplied, the process proceeds to step S114, and the image conversion device 231 (FIG. 25) of the class classification adaptive filter 208 receives the filter information from the lossless decoding unit 202. The process proceeds to step S115.
- step S115 the image conversion apparatus 231 determines whether it is the update timing of the classification method and the tap coefficient, that is, whether the timing is the end point or the start point of the update unit such as a plurality of frames, one frame, a block, or the like. Determine.
- the update unit is recognized from, for example, the hierarchy of the encoded data in which the filter information is arranged (included) (for example, Sequence parameter set syntax, Picture parameter set syntax, Slice data syntax, etc.) Can do.
- the filter information is arranged as Picture parameter parameter syntax of the encoded data
- the update unit is one frame.
- the update unit can be determined in advance between the encoding device 11 and the decoding device 12.
- step S115 If it is determined in step S115 that it is not the update timing of the classification method and tap coefficient, the process skips step S116 and proceeds to step S117.
- step S115 If it is determined in step S115 that it is the update timing of the class classification method and tap coefficient, the process proceeds to step S116.
- step S116 the image conversion apparatus 231 applies the class classification method of class classification performed by the class classification unit 242 (FIG. 25) and the coefficient acquisition unit 243 (FIG. 25) according to the filter information acquired in the previous step S114.
- the stored tap coefficient for each class is updated, and the process proceeds to step S117.
- step S117 the inverse quantization unit 203 inversely quantizes the quantized coefficient from the lossless decoding unit 202, supplies the transform coefficient obtained as a result to the inverse orthogonal transform unit 204, and the process proceeds to step S118. .
- step S118 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 203, supplies the residual obtained as a result to the calculation unit 205, and the process proceeds to step S119.
- step S119 the intra prediction unit 213 or the motion prediction / compensation unit 214 performs prediction using the reference image supplied from the frame memory 211 via the selection unit 212 and the encoding information supplied from the lossless decoding unit 202. A prediction process for generating an image is performed. Then, the intra prediction unit 213 or the motion prediction / compensation unit 214 supplies the prediction image obtained by the prediction process to the selection unit 215, and the process proceeds from step S119 to step S120.
- step S120 the selection unit 215 selects the prediction image supplied from the intra prediction unit 213 or the motion prediction / compensation unit 214, supplies the prediction image to the calculation unit 205, and the process proceeds to step S121.
- step S121 the arithmetic unit 205 generates a decoding intermediate image by adding the residual from the inverse orthogonal transform unit 204 and the predicted image from the selection unit 215. Then, the arithmetic unit 205 supplies the halfway decoded image to the DF 206 or the frame memory 211, and the process proceeds from step S121 to step S122.
- step S122 the DF 206 performs the DF filtering process on the decoding intermediate image from the calculation unit 205 and supplies the DF 206 to the SAO 207.
- DF information regarding the applied DF filter processing is supplied to the class classification adaptive filter 208.
- step S122 the SAO 207 performs SAO filter processing on the decoding intermediate image from the DF 206, and supplies it to the class classification adaptive filter 208, and the process proceeds to step S123.
- step S123 the class classification adaptive filter 208 performs a class classification adaptive process corresponding to ALF on the decoding intermediate image from the SAO 207.
- a class classification adaptive process corresponding to ALF on the decoding intermediate image from the SAO 207.
- the class classification adaptive filter 208 uses the DF information from the DF 206 to classify the class classification method represented by the classification method information included in the filter information from the lossless decoding unit 202. Further, the class classification adaptive filter 208 performs class classification adaptation processing using the tap coefficient included in the filter information from the lossless decoding unit 202.
- the class classification adaptive filter 208 supplies the filtered image obtained by the class classification adaptation process to the rearrangement buffer 209 and the frame memory 211, and the process proceeds from step S123 to step S124.
- step S124 the rearrangement buffer 209 temporarily stores the filtered image supplied from the class classification adaptive filter 208 as a decoded image. Further, the rearrangement buffer 209 rearranges the stored decoded images in the order of display and supplies the rearranged decoded images to the D / A conversion unit 210, and the process proceeds from step S124 to step S125.
- step S125 the D / A converter 210 D / A converts the decoded image from the rearrangement buffer 209, and the process proceeds to step S126.
- the decoded image after D / A conversion is output and displayed on a display (not shown).
- step S126 the frame memory 211 stores the decoded image supplied from the calculation unit 205 or the filtered image supplied from the class classification adaptive filter 208 as a decoded image, and the decoding process ends.
- the decoded image stored in the frame memory 211 is used as a reference image from which a predicted image is generated in the prediction process in step S119.
- FIG. 27 is a flowchart for explaining an example of the class classification adaptation process performed in step S123 of FIG.
- step S131 the tap selection unit 241 is still out of the pixels of the halfway image (as a block) supplied from the SAO 207 (FIG. 23). One of the pixels that are not regarded as the target pixel is selected as the target pixel, and the process proceeds to step S132.
- step S132 the tap selection unit 241 selects a pixel to be a prediction tap for the target pixel from the decoding intermediate image supplied from the SAO 207, and configures a prediction tap. And the tap selection part 241 supplies a prediction tap to the prediction calculating part 244, and a process progresses to step S133 from step S132.
- step S133 the class classification unit 242 uses the DF information from the DF 206 to classify the class classification method represented by the classification method information included in the filter information from the lossless decoding unit 202 (FIG. 23) for the target pixel. Do.
- the class classification unit 242 supplies the class of the target pixel obtained by the class classification to the coefficient acquisition unit 243, and the process proceeds from step S133 to step S134.
- class classification method performed by the class classification unit 242 is updated by the update of the class classification method performed in step S116 of FIG. 26 performed immediately before, and the class classification unit 242 updates the class classification method class after the update. Perform classification.
- step S134 the coefficient acquisition unit 243 determines whether or not the class of the pixel of interest from the class classification unit 242 is an excluded class having no tap coefficient.
- the coefficient acquisition unit 243 uses the tap coefficient for each class included in the filter information supplied from the lossless decoding unit 202 (FIG. 23), that is, the unused coefficient deletion unit 153 (FIG. 12) to exclude the excluded class from the initial coefficient.
- the adopted coefficient from which the tap coefficient is deleted is stored by updating the tap coefficient in step S116 of FIG. 26 performed immediately before.
- step S134 the coefficient acquisition unit 243 determines whether the class of the pixel of interest from the class classification unit 242 is an excluded class in which no tap coefficient exists in the stored adoption coefficient.
- step S134 When it is determined in step S134 that the class of the target pixel is not an excluded class, that is, when the tap coefficient of the class of the target pixel is included in the adoption coefficient stored in the coefficient acquisition unit 243, the process is as follows. Proceed to step S135.
- step S135 the coefficient acquisition unit 243 acquires the tap coefficient of the class of the target pixel from the class classification unit 242 from the stored adoption coefficient, supplies the tap coefficient to the prediction calculation unit 244, and the process proceeds to step S136. move on.
- step S136 the prediction calculation unit 244 performs an equation (1) prediction calculation as filter processing using the prediction tap from the tap selection unit 241 and the tap coefficient from the coefficient acquisition unit 243. Thereby, the prediction calculation unit 244 obtains the predicted value of the pixel value of the corresponding pixel of the original image corresponding to the target pixel as the pixel value of the filtered image, and the process proceeds to step S138.
- step S134 when it is determined in step S134 that the class of the pixel of interest is an excluded class, that is, the tap coefficient of the class of the pixel of interest is not included in the adoption coefficient stored in the coefficient acquisition unit 243.
- the process proceeds to step S137.
- step S137 the prediction calculation unit 244, for example, uses the pixel value of the target pixel constituting the prediction tap from the tap selection unit 241 as it is as the pixel value of the corresponding pixel of the filtered image, and the process proceeds to step S138. .
- step S138 the tap selection unit 241 determines whether there is a pixel that is not yet a pixel of interest among the pixels of the decoding-in-progress image (as a block) from the SAO 207. If it is determined in step S138 that there is still a pixel that is not the target pixel, the process returns to step S131, and the same process is repeated thereafter.
- step S138 If it is determined in step S138 that there is no pixel that has not yet been set as the pixel of interest, the process proceeds to step S139, and the prediction calculation unit 244 performs the decoding-in-progress image (as a block) from the SAO 207.
- the filtered image composed of the pixel values obtained in this way is supplied to the rearrangement buffer 209 and the frame memory 211 (FIG. 23). Then, the class classification adaptation process is terminated, and the process returns.
- the encoding device 11 and the decoding device 12 use the DF information as the pre-filter related information regarding the DF filter processing as the pre-filter processing performed before the class classification adaptation processing for the decoding intermediate image. Classification is performed.
- the tap coefficient learning can obtain a statistically optimal tap coefficient in consideration of the DF filter process as the pre-stage filter process.
- PSNR Peak signal-to-noise ratio
- the image quality of the decoded image can be improved and the amount of encoded data can be reduced.
- the encoding device 11 is provided with the class classification adaptive filter 113 in place of ALF among DF, SAO, and ALF, which are ILFs.
- the class classification adaptive filter is also used in place of DF and SAO. 113, or a class classification adaptive filter 113 can be provided instead of two or more of DF, SAO, and ALF.
- the class classification adaptive filter 113 when any pre-stage filter processing is performed in the previous stage of the class classification adaptive filter 113, the class classification adaptive filter 113 can perform class classification using the pre-filter related information regarding the pre-filter processing.
- the arrangement order of DF, SAO, and ALF that are ILFs is not limited to the order of DF, SAO, ALF.
- the ILF is arranged in the order of ALF, DF, and SAO, and a class classification adaptive filter can be provided in place of the ALF among the ILFs arranged in the order of the ALF, DF, and SAO.
- the class classification is performed using the information related to the filter processing performed by the class classification adaptive filter as the pre-filter related information, and the class obtained as a result of the class classification DF filter processing corresponding to can be performed.
- the ILF is not limited to DF, SAO, and ALF, and other new filters can be provided as the ILF.
- the class classification adaptive filter can be provided in place of the new filter.
- FIG. 28 is a diagram for explaining an example of a reduction method for reducing the tap coefficient for each class obtained by tap coefficient learning.
- the tap coefficient is an overhead of the encoded data, even if a tap coefficient is obtained in which the filtered image becomes an image very close to the original image, if the amount of tap coefficient data is large, improvement in compression efficiency is hindered. .
- a cross-type class tap composed of 9 pixels in total, consisting of the pixel of interest and two pixels adjacent to the top, bottom, left, and right of the pixel of interest around the pixel of interest.
- classes that have the same ADRC result for pixels that are line-symmetrical in the vertical, horizontal, or diagonal directions are combined into one class.
- the number of classes can be reduced to 100 classes.
- the data amount of 100-class tap coefficients is about 39% of the data amount of 256-class tap coefficients.
- the classes that have the same ADRC result for pixels in a point-symmetrical positional relationship should be reduced to a single class.
- the number of classes can be 55 classes.
- the data amount of the 55 class tap coefficient is approximately 21% of the data amount of the 256 class tap coefficient.
- the class reduction can be performed by, for example, calculating an integrated index for integrating classes and integrating a plurality of classes into one class based on the integrated index.
- the sum of squares of the difference between each tap coefficient of a certain class C1 and each other tap coefficient of another class C2 is defined as the distance between coefficients of the tap coefficients, and the distance between the coefficients is used as an integration index.
- the classes C1 and C2 whose distance between coefficients as the integration index is equal to or less than the threshold can be integrated into one class C.
- the tap coefficient of class C1 before integration or the tap coefficient of class C2 can be adopted as the tap coefficient of the class after the integration. Further, the tap coefficient of the class after integration can be obtained again by tap coefficient learning.
- the tap coefficient for each class after integration is transmitted from the encoding device 11 to the decoding device 12 as filter information. Further, the information indicating the correspondence relationship between the class before integration and the class after integration (information that allows the decoding device 12 to recognize the correspondence relationship) as filter information is further used as the filter information. To the decoding device 12.
- the tap coefficient can be reduced by reducing the tap coefficient itself as well as by reducing the class.
- the tap coefficient itself can be reduced based on the block phase.
- the upper right is in a line-symmetrical positional relationship with the upper left 2 ⁇ 2 pixels of the prediction tap.
- Tap coefficients obtained by rearranging the tap coefficients according to the positional relationship can be employed.
- 16 tap coefficients for the 4 ⁇ 4 pixels constituting the prediction tap can be reduced to 4 tap coefficients for the upper left 2 ⁇ 2 pixels.
- the tap coefficients of the upper half 4 ⁇ 2 pixels are in the positional relationship as the tap coefficients of the lower half 4 ⁇ 2 pixels that are line-symmetrical with the upper half 4 ⁇ 2 pixels in the vertical direction.
- the tap coefficients rearranged accordingly can be employed. In this case, 16 tap coefficients for the 4 ⁇ 4 pixels constituting the prediction tap can be reduced to 8 tap coefficients for the upper half 4 ⁇ 2 pixels.
- the tap coefficient is reduced by adopting the same tap coefficient as the tap coefficient of pixels that are line-symmetrical in the horizontal direction of the prediction tap and pixels that are line-symmetrical in the diagonal direction. can do.
- FIG. 29 is a block diagram showing a second configuration example of the encoding device 11 of FIG.
- the encoding device 11 includes an A / D conversion unit 101 through SAO 112, a frame memory 114 through a rate control unit 119, and a class classification adaptive filter 311.
- the encoding device 11 of FIG. 29 is common to the case of FIG. 9 in that it includes the A / D conversion unit 101 to SAO 112 and the frame memory 114 to the rate control unit 119.
- the encoding device 11 of FIG. 29 is different from the case of FIG. 9 in that it has a class classification adaptive filter 311 instead of the class classification adaptive filter 113.
- the class classification adaptive filter 311 is a filter that functions as an ALF by the class classification adaptive process, and performs a filter process corresponding to ALF by the class classification adaptive process, similarly to the class classification adaptive filter 113 of FIG.
- FIG. 30 is a block diagram illustrating a configuration example of the class classification adaptive filter 311 of FIG.
- the class classification adaptive filter 311 includes a learning device 331, a filter information generation unit 332, and an image conversion device 333.
- the learning device 331 is supplied with the original image from the rearrangement buffer 102 (FIG. 29) and the decoding intermediate image from the SAO 112 (FIG. 29). Furthermore, the learning device 331 is supplied from the DF 111 with DF information as pre-filter related information regarding the filter processing of the DF 111 as pre-filter processing performed before the filter processing of the class classification adaptive filter 113.
- the learning device 331 performs class classification using the DF information by using the decoding intermediate image as student data and the original image as teacher data, and performs tap coefficient learning to obtain a tap coefficient for each class.
- the learning device 331 supplies the tap coefficient for each class obtained by tap coefficient learning to the filter information generation unit 332.
- the learning device 331 determines a class classification method (adopted class classification method) using DF information performed by tap coefficient learning, for example, from a plurality of predetermined class classification methods.
- the determination of the adopted class classification method in the learning device 331 is obtained from encoded data obtained by predictive encoding of the original image in the encoding device 11 such as an image being decoded (image feature amount thereof) and encoding information. This is performed according to acquirable information that can be obtained, that is, acquirable information that can be obtained by either the encoding device 11 or the decoding device 12.
- the learning device 131 in FIG. 11 supplies classification method information indicating the adopted class classification method used to obtain the tap coefficient for each class in the tap coefficient learning to the filter information generation unit 132, but in FIG. In the learning device 331, the tap coefficient for each class is supplied to the filter information generation unit 332, but the classification method information is not supplied.
- the filter information generation unit 332 generates filter information including the tap coefficient for each class from the learning device 331 as necessary, and supplies the filter information to the image conversion device 333 and the lossless encoding unit 106 (FIG. 29).
- the filter information can include copy information.
- the image conversion device 333 is supplied with filter information from the filter information generation unit 332, is also supplied with a decoding intermediate image from the SAO 112 (FIG. 29), and is also supplied with DF information from the DF 111.
- the image conversion apparatus 333 performs the image conversion by the class classification adaptive process using the tap coefficient for each class included in the filter information from the filter information generation unit 332 by using the decoding-in-progress image as the first image, thereby performing the first image conversion.
- the halfway decoded image is converted into a filtered image as a second image corresponding to the original image (a filtered image is generated) and supplied to the frame memory 114 (FIG. 29).
- the image conversion apparatus 333 performs class classification using the DF information from the DF 111 in the class classification adaptation process, similarly to the learning apparatus 331. In addition, the image conversion apparatus 333 determines the same class classification as the class classification using the DF information performed by the learning apparatus 131 as the adopted class classification method according to the obtainable information, and class classification of the adopted class classification method Is performed using the DF information.
- FIG. 31 is a block diagram illustrating a configuration example of the learning device 331 in FIG.
- the learning device 331 includes a learning unit 152, an unused coefficient deletion unit 153, and a class classification method determination unit 351.
- the learning device 331 is common to the learning device 131 in FIG. 12 in that the learning device 331 includes the learning unit 152 and the unused coefficient deletion unit 153.
- the learning device 331 is different from the learning device 131 of FIG. 12 in that it has a class classification method determination unit 351 instead of the class classification method determination unit 151.
- the class classification method determination unit 351 stores, for example, a plurality of predetermined class classification methods (information thereof).
- the class classification method determination unit 351 for example, similar to the class classification method determination unit 151 in FIG. 12, class classification using DF information, image feature amount, encoding information, etc. without using DF information.
- a plurality of classification methods such as a classification using the above information and a classification using both DF information and other information are stored.
- a class classification method using at least DF information which is stored as a plurality of class classification methods by the class classification method determination unit 351
- a class classification method for performing rough classification a class classification method for performing fine classification, and the like. Can be included.
- the class classification method determination unit 351 uses the class used by the class classification unit 162 of the learning unit 152 from among a plurality of class classification methods at the start of tap coefficient learning.
- the adopted class classification method which is a classification method, is determined, and classification method information representing the adopted class classification method is supplied to the class classification unit 162 of the learning unit 152.
- the class classification method determination unit 351 determines the adopted class classification method in accordance with the acquirable information such as a decoding intermediate image and encoded information.
- the class classification method determination unit 351 can determine the adopted class classification method according to the quality of the decoded image, that is, for example, the quantization parameter QP that is one of the encoded information.
- the class classification method determination unit 351 uses the DF information as shown in FIGS. 15 and 17 (hereinafter, also referred to as DF class classification). This method can be determined as the adopted class classification method.
- the class classification method determining unit 351 can determine the adopted class classification method as the DF class classification method for performing fine classification as shown in FIG.
- the class classification method determination unit 351 does not use the DF information, but class classification using other information, or rough classification as shown in FIG.
- the method of classifying DF class can be determined as the adopted class classification method.
- the class classification method determination unit 351 can extract the image feature amount of the image being decoded and determine the adopted class classification method according to the image feature amount.
- the DR as the image feature amount can be used as an index of the change in the amplitude of the pixel value
- the DiffMax / DR as the image feature amount is a stepped step of the pixel value. Can be used as an indicator. Therefore, by performing threshold processing on DR and DiffMax / DR, it is recognized whether or not the image during decoding has many pixel values with minute amplitude changes and whether there are many regions with stepped steps in pixel values. be able to.
- the class classification method determination unit 351 performs the processing shown in FIGS.
- the DF class classification method as shown in FIG. 15, in particular, the DF class classification method for performing fine class classification as shown in FIG. 15, can be determined as the adopted class classification method.
- the class classification method determination unit 351 uses other information without using the DF information.
- the adopted class classification method can be determined as a class classification method to be used or a DF class classification method that performs rough classification as shown in FIG.
- the class classification method determination unit 351 can determine the adopted class classification method according to the ratio of pixels to which DF is applied by the DF 111, for example, in the decoding intermediate image as the obtainable information.
- the class classification method determination unit 351 performs the DF as illustrated in FIGS. 15 and 17.
- the class classification method in particular, the DF class classification method for performing fine classification as shown in FIG. 15, can be determined as the adopted class classification method.
- the class classification method determination unit 351 uses other information without using the DF information.
- the class classification using DF and the DF class classification method for performing rough classification as shown in FIG. 15B can be determined as the adopted class classification method.
- the class classification method determination unit 151 in FIG. 12 supplies the classification method information representing the adopted class classification method to the filter information generation unit 132 as the outside of the learning device 131.
- the class classification method determination unit 351 The classification method information is not supplied to the filter information generation unit 132 as the outside of the learning device 131. Therefore, in the encoding device 11 of FIG. 29, the classification method information is not transmitted to the decoding device 12.
- FIG. 32 is a flowchart illustrating an example of processing of the learning device 331 in FIG.
- the class classification method determination unit 351 generates a decoding-in-progress image as student data used for tap coefficient learning and encoding information for the decoding-in-progress image (generated when encoding the original image corresponding to the decoding-in-progress image).
- the adopted class classification method is determined from a plurality of predetermined class classification methods according to obtainable information such as (encoding information).
- the class classification method determination unit 351 supplies the classification method information representing the adopted class classification method to the class classification unit 162 of the learning unit 152 (FIG. 31), and the process proceeds to step S212.
- steps S212 to S215 the same processing as in steps S32 to S35 of FIG. 19 is performed, whereby the unused coefficient deletion unit 153 (FIG. 31) converts the tap coefficient of the excluded class from the initial coefficient to the unused coefficient.
- FIG. 33 is a block diagram illustrating a configuration example of the image conversion apparatus 333 of FIG.
- the image conversion apparatus 333 includes a tap selection unit 191, a class classification unit 192, a coefficient acquisition unit 193, a prediction calculation unit 194, and a class classification method determination unit 361.
- the image conversion device 333 is common to the image conversion device 133 of FIG. 20 in that it includes the tap selection unit 191 to the prediction calculation unit 194.
- the image conversion apparatus 333 is different from the image conversion apparatus 133 of FIG. 20 in that a class classification method determination unit 361 is newly provided.
- the class classification method determination unit 361 stores a plurality of class classification methods (information thereof) that are the same as the class classification method determination unit 351 of FIG.
- the class classification method determination unit 361 selects one class classification from among a plurality of class classification methods according to obtainable information such as a decoding intermediate image and encoding information. The law is determined as the adopted classification method.
- the class classification method determination unit 361 the same class classification method that is determined as the adopted class classification method by the class classification method determination unit 351 in FIG. 31 is determined as the adopted class classification method.
- the class classification method determination unit 361 supplies classification method information representing the adopted class classification method determined from among a plurality of class classification methods to the class classification unit 192.
- the image conversion apparatus 333 performs the same processing as that of the image conversion apparatus 133 in FIG.
- the class classification unit 192 performs the DF class classification of the class classification method represented by the classification method information from the class classification method determination unit 361 using the DF information from the DF 111, obtains the class of the pixel of interest, and obtains the coefficient acquisition unit 193.
- the coefficient acquisition unit 193 stores the tap coefficient (adopted coefficient) included in the filter information supplied from the filter information generation unit 332 (FIG. 30), and the class of the pixel of interest obtained by the class classification unit 192 from the tap coefficient. Are obtained and supplied to the prediction calculation unit 194.
- the prediction calculation unit 194 performs prediction calculation using the prediction tap of the target pixel supplied from the tap selection unit 191 and the tap coefficient of the class of target pixel supplied from the coefficient acquisition unit 193, and corresponds to the target pixel.
- the predicted value of the pixel value of the corresponding pixel of the original image to be obtained is obtained.
- FIG. 34 is a flowchart for explaining an example of the encoding process of the encoding device 11 of FIG.
- the learning device 331 (FIG. 30) of the class classification adaptive filter 311 decodes update units such as a plurality of frames, one frame, a block, etc., among the decoding intermediate images supplied thereto.
- the image is used as student data, and tap coefficient learning is performed at any time using the original image corresponding to the decoded image as teacher data.
- the learning device 331 determines whether the current timing is an update timing as a predetermined timing for updating the tap coefficient and the class classification method, as in step S41 of FIG.
- step S241 If it is determined in step S241 that it is not the update timing of the tap coefficient and the class classification method, the process skips steps S242 to S244 and proceeds to step S245.
- step S241 If it is determined in step S241 that the update timing of the tap coefficient and class classification method is reached, the process proceeds to step S242.
- step S242 the filter information generation unit 332 (FIG. 30) generates filter information including tap coefficients (or copy information) for each class generated by the learning device 331 through the latest tap coefficient learning, and the image conversion device 333 ( 30) and the lossless encoding unit 106 (FIG. 29), the process proceeds to step S243.
- step S243 the image conversion apparatus 333 (FIG. 33) updates the tap coefficient for each class stored in the coefficient acquisition unit 193 to the adoption coefficient included in the filter information in accordance with the filter information from the filter information generation unit 332. .
- step S243 the class classification method determination unit 361 of the image conversion apparatus 333 (FIG. 33) determines an adopted class classification method from a plurality of class classification methods according to the obtainable information, and uses the adopted class.
- the class classification method performed by the class classification unit 192 is updated to the adopted class classification method represented by the classification method information, and the process proceeds to step S243.
- step S244 the class classification method determination unit 361 of the image conversion apparatus 333
- step S244 the lossless encoding unit 106 sets the filter information supplied from the filter information generating unit 332 as a transmission target, and the process proceeds to step S245.
- the filter information set as the transmission target is included in the encoded data and transmitted in step S259.
- steps S245 to S261 the same processing as in steps S45 to S61 in FIG. 21 is performed.
- FIG. 35 is a flowchart for explaining an example of the class classification adaptation process performed in step S257 of FIG.
- the class classification unit 192 changes the class classification of the class classification method represented by the classification method information included in the filter information from the filter information generation unit 132 (FIG. 11) from the DF 111 for the target pixel.
- the class classification unit 192 adopts the adopted class classification method represented by the latest classification method information from the class classification method determination unit 361 (FIG. 31), that is, the class classification method determination unit. 361 performs class classification of the adopted class classification method determined in the immediately preceding step S243 (FIG. 34) using the DF information from the DF 111.
- FIG. 36 is a block diagram illustrating a second configuration example of the decoding device 12 of FIG.
- the decoding device 12 includes an accumulation buffer 201 to SAO 207, a rearrangement buffer 209 to a selection unit 215, and a class classification adaptive filter 411.
- the decoding device 12 of FIG. 36 is common to the case of FIG. 23 in that the storage buffer 201 to SAO 207 and the rearrangement buffer 209 to the selection unit 215 are provided.
- the decoding device 12 of FIG. 36 differs from the case of FIG. 23 in that a class classification adaptive filter 411 is provided instead of the class classification adaptive filter 208.
- the class classification adaptive filter 411 is a filter that functions as an ALF by class classification adaptive processing, and performs filter processing corresponding to ALF by class classification adaptive processing.
- FIG. 37 is a block diagram showing a configuration example of the class classification adaptive filter 411 in FIG.
- the class classification adaptive filter 411 includes an image conversion device 431.
- the image conversion apparatus 431 is supplied with the decoding intermediate image from the SAO 207 (FIG. 36) and the filter information from the lossless decoding unit 202. Further, DF information is supplied from the DF 206 to the image conversion device 431.
- the image conversion device 431 uses the decoding-in-progress image as the first image, class classification of the class classification method represented by the classification method information included in the filter information, that is, the image conversion device 333.
- the same class classification as that performed in the above is performed using the DF information from the DF 206.
- the image conversion apparatus 431 performs a class classification adaptation that performs a prediction calculation that is a filter process using a tap coefficient (adopted coefficient) for each class included in the filter information as a filter process corresponding to the class obtained as a result of the class classification.
- the decoded intermediate image as the first image is converted into a filtered image as a second image corresponding to the original image (generating a filtered image), and rearranged
- the data is supplied to the buffer 209 and the frame memory 211 (FIG. 36).
- the same class classification method as the class classification performed in the image conversion apparatus 133 is determined as the adopted class classification method in accordance with the classification method information included in the filter information.
- the same class classification method as the class classification performed in the image conversion apparatus 333 is determined as the adopted class classification method in accordance with the acquirable information.
- FIG. 38 is a block diagram illustrating a configuration example of the image conversion apparatus 431 in FIG.
- the image conversion apparatus 431 includes a tap selection unit 241, a class classification unit 242, a coefficient acquisition unit 243, a prediction calculation unit 244, and a class classification method determination unit 441.
- the image conversion device 431 is common to the image conversion device 231 in FIG. 25 in that it includes the tap selection unit 241 to the prediction calculation unit 244.
- the image conversion apparatus 431 is different from the image conversion apparatus 231 in FIG. 25 in that a class classification method determination unit 441 is newly provided.
- the class classification method determination unit 441 stores the same plurality of class classification methods (information) as the class classification method determination unit 361 of FIG.
- the class classification method determination unit 441 selects one of the plurality of class classification methods according to the obtainable information such as the decoding intermediate image and the encoding information.
- the classification method is determined as the adopted classification method.
- the class classification method determination unit 441 the same class classification method that is determined as the adopted class classification method by the class classification method determination unit 361 in FIG. 33 is determined as the adopted class classification method.
- the class classification method determination unit 441 supplies the class classification unit 242 with classification method information representing the adopted class classification method determined from among a plurality of class classification methods.
- the image conversion apparatus 431 performs the same processing as that of the image conversion apparatus 231 in FIG.
- the class classification unit 242 performs the DF class classification of the class classification method represented by the classification method information from the class classification method determination unit 441 using the DF information of the DF 206 to obtain the class of the pixel of interest, and the coefficient acquisition unit 243 To supply.
- the coefficient acquisition unit 243 stores the tap coefficient (adopted coefficient) included in the filter information supplied from the lossless decoding unit 202 (FIG. 36), and from the tap coefficient, the class of the pixel of interest obtained by the class classification unit 242 is stored. The tap coefficient is acquired and supplied to the prediction calculation unit 244.
- the prediction calculation unit 244 performs prediction calculation using the prediction tap of the target pixel supplied from the tap selection unit 241 and the tap coefficient of the class of target pixel supplied from the coefficient acquisition unit 243, and corresponds to the target pixel.
- the predicted value of the pixel value of the corresponding pixel of the original image to be obtained is obtained.
- FIG. 39 is a flowchart for explaining an example of the decoding process of the decoding device 12 of FIG.
- steps S111 to S115 of FIG. 26 are performed in steps S311 to S315, respectively.
- step S315 If it is determined in step S315 that it is not the timing for class classification and tap coefficient update, the process skips step S316 and proceeds to step S317.
- step S315 If it is determined in step S315 that the timing is the class classification method and tap coefficient update timing, the process proceeds to step S316.
- step S316 the image conversion apparatus 431 (FIG. 38) updates the tap coefficient for each class stored in the coefficient acquisition unit 243 to the adopted coefficient included in the filter information in accordance with the filter information acquired in the previous step S314. .
- the class classification method determination unit 441 of the image conversion apparatus 431 determines an adopted class classification method from a plurality of class classification methods according to the obtainable information, and uses the adopted class.
- the class classification method performed by the class classification unit 242 is updated to the adopted class classification method represented by the classification method information, and the processing is performed in step S317. Proceed to
- steps S317 to S326 processing similar to that in steps S117 to 126 in FIG. 26 is performed.
- FIG. 40 is a flowchart for explaining an example of the class classification adaptation process performed in step S323 of FIG.
- steps S331 to S339 the same processes as in steps S131 to S139 of FIG. 27 are performed.
- the class classification unit 242 performs the class classification of the class classification method represented by the classification method information included in the filter information from the lossless decoding unit 202 (FIG. 23) for the target pixel.
- the class classification unit 242 uses the adopted class classification method represented by the latest classification method information from the class classification method determination unit 441 (FIG. 38). That is, the class classification method determination unit 441 performs class classification of the adopted class classification method determined in the immediately preceding step S316 (FIG. 39) using the DF information from the DF 206.
- the encoding device 11 when the adopted class classification method is determined according to the obtainable information, the encoding device 11 changes to the decoding device 12. On the other hand, since it is not necessary to transmit the classification method information, the compression efficiency can be improved.
- FIG. 41 is a diagram illustrating an example of a multi-view image encoding method.
- the multi-viewpoint image includes images of a plurality of viewpoints (views).
- the multiple views of this multi-viewpoint image are encoded using the base view that encodes and decodes using only the image of its own view without using the information of other views, and the information of other views.
- -It consists of a non-base view that performs decoding.
- Non-base view encoding / decoding may use base view information or other non-base view information.
- the multi-view image is encoded for each viewpoint.
- the encoded data of each viewpoint is decoded (that is, for each viewpoint).
- the method described in the above embodiment may be applied to such encoding / decoding of each viewpoint.
- FIG. 42 is a diagram illustrating a multi-view image encoding apparatus of the multi-view image encoding / decoding system that performs the multi-view image encoding / decoding described above.
- the multi-view image encoding apparatus 1000 includes an encoding unit 1001, an encoding unit 1002, and a multiplexing unit 1003.
- the encoding unit 1001 encodes the base view image and generates a base view image encoded stream.
- the encoding unit 1002 encodes the non-base view image and generates a non-base view image encoded stream.
- the multiplexing unit 1003 multiplexes the base view image encoded stream generated by the encoding unit 1001 and the non-base view image encoded stream generated by the encoding unit 1002 to generate a multi-view image encoded stream. To do.
- FIG. 43 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
- the multi-view image decoding device 1010 includes a demultiplexing unit 1011, a decoding unit 1012, and a decoding unit 1013.
- the demultiplexing unit 1011 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
- the decoding unit 1012 decodes the base view image encoded stream extracted by the demultiplexing unit 1011 to obtain a base view image.
- the decoding unit 1013 decodes the non-base view image encoded stream extracted by the demultiplexing unit 1011 to obtain a non-base view image.
- the encoding device 11 described in the above embodiment is applied as the encoding unit 1001 and the encoding unit 1002 of the multi-view image encoding device 1000. Also good. By doing so, the method described in the above embodiment can be applied to the encoding of multi-viewpoint images. That is, S / N and compression efficiency can be greatly improved. Further, for example, the decoding device 12 described in the above embodiment may be applied as the decoding unit 1012 and the decoding unit 1013 of the multi-viewpoint image decoding device 1010. By doing so, the methods described in the above embodiments can be applied to decoding of encoded data of multi-viewpoint images. That is, S / N and compression efficiency can be greatly improved.
- FIG. 44 is a diagram illustrating an example of a hierarchical image encoding method.
- Hierarchical image coding is a method in which image data is divided into a plurality of layers (hierarchization) so as to have a scalability function with respect to a predetermined parameter, and is encoded for each layer.
- Hierarchical image decoding is decoding corresponding to the hierarchical image encoding.
- the hierarchized image includes images of a plurality of hierarchies (layers) having different predetermined parameter values.
- a plurality of layers of this hierarchical image are encoded / decoded using only the image of the own layer without using the image of the other layer, and encoded / decoded using the image of the other layer.
- It consists of a non-base layer (also called enhancement layer) that performs decoding.
- the non-base layer an image of the base layer may be used, or an image of another non-base layer may be used.
- the non-base layer is composed of difference image data (difference data) between its own image and an image of another layer so that redundancy is reduced.
- difference image data difference data
- an image with lower quality than the original image can be obtained using only the base layer data.
- an original image that is, a high-quality image
- image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is reproduced.
- image enhancement information of the enhancement layer is transmitted.
- Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
- parameters having a scalability function are arbitrary.
- spatial resolution may be used as the parameter (spatial scalability).
- spatial scalability the resolution of the image is different for each layer.
- temporal resolution may be applied as a parameter for providing such scalability (temporal scalability).
- temporal scalability temporary scalability
- the frame rate is different for each layer.
- a signal-to-noise ratio (SNR (Signal-to-Noise-ratio)) may be applied (SNR-scalability) as a parameter for providing such scalability.
- SNR Signal-to-noise ratio
- the SN ratio is different for each layer.
- the parameters for providing scalability may be other than the examples described above.
- the base layer (base layer) consists of 8-bit (bit) images, and by adding an enhancement layer (enhancement layer) to this, the bit depth scalability (bit-depth ⁇ ⁇ ⁇ scalability) that can obtain a 10-bit (bit) image is is there.
- base layer (base ⁇ ⁇ layer) consists of component images in 4: 2: 0 format, and by adding the enhancement layer (enhancement layer) to this, chroma scalability (chroma) scalability).
- FIG. 45 is a diagram illustrating a hierarchical image encoding apparatus of the hierarchical image encoding / decoding system that performs the hierarchical image encoding / decoding described above.
- the hierarchical image encoding device 1020 includes an encoding unit 1021, an encoding unit 1022, and a multiplexing unit 1023.
- the encoding unit 1021 encodes the base layer image and generates a base layer image encoded stream.
- the encoding unit 1022 encodes the non-base layer image and generates a non-base layer image encoded stream.
- the multiplexing unit 1023 multiplexes the base layer image encoded stream generated by the encoding unit 1021 and the non-base layer image encoded stream generated by the encoding unit 1022 to generate a hierarchical image encoded stream. .
- FIG. 46 is a diagram illustrating a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
- the hierarchical image decoding apparatus 1030 includes a demultiplexing unit 1031, a decoding unit 1032 and a decoding unit 1033.
- the demultiplexing unit 1031 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
- the decoding unit 1032 decodes the base layer image encoded stream extracted by the demultiplexing unit 1031 to obtain a base layer image.
- the decoding unit 1033 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 1031 to obtain a non-base layer image.
- the encoding device 11 described in the above embodiment may be applied as the encoding unit 1021 and the encoding unit 1022 of the hierarchical image encoding device 1020.
- the method described in the above embodiment can be applied to the encoding of the hierarchical image. That is, S / N and compression efficiency can be greatly improved.
- the decoding device 12 described in the above embodiment may be applied as the decoding unit 1032 and the decoding unit 1033 of the hierarchical image decoding device 1030. By doing so, the method described in the above embodiment can be applied to decoding of the encoded data of the hierarchical image. That is, S / N and compression efficiency can be greatly improved.
- the series of processes described above can be executed by hardware or software.
- a program constituting the software is installed in the computer.
- the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
- FIG. 47 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above according to a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input / output interface 1110 is also connected to the bus 1104.
- An input unit 1111, an output unit 1112, a storage unit 1113, a communication unit 1114, and a drive 1115 are connected to the input / output interface 1110.
- the input unit 1111 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
- the output unit 1112 includes, for example, a display, a speaker, an output terminal, and the like.
- the storage unit 1113 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
- the communication unit 1114 is composed of a network interface, for example.
- the drive 1115 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 1101 loads, for example, the program stored in the storage unit 1113 to the RAM 1103 via the input / output interface 1110 and the bus 1104 and executes the above-described series. Is performed.
- the RAM 1103 also appropriately stores data necessary for the CPU 1101 to execute various processes.
- the program executed by the computer (CPU 1101) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
- the program can be installed in the storage unit 1113 via the input / output interface 1110 by attaching the removable medium 821 to the drive 1115.
- This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 1114 and installed in the storage unit 1113.
- a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be received by the communication unit 1114 and installed in the storage unit 1113.
- this program can be installed in the ROM 1102 or the storage unit 1113 in advance.
- the encoding device 11 and the decoding device 12 are, for example, a transmitter and a receiver in cable broadcasting such as satellite broadcasting and 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 apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, and a reproducing apparatus that reproduces an image from the storage medium.
- a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
- a reproducing apparatus that reproduces an image from the storage medium.
- FIG. 48 is a diagram illustrating an example of a schematic configuration of a television device to which the above-described embodiment is applied.
- a television device 1200 includes an antenna 1201, a tuner 1202, a demultiplexer 1203, a decoder 1204, a video signal processing unit 1205, a display unit 1206, an audio signal processing unit 1207, a speaker 1208, an external interface (I / F) unit 1209, and a control unit. 1210, a user interface (I / F) unit 1211, and a bus 1212.
- Tuner 1202 extracts a signal of a desired channel from a broadcast signal received via antenna 1201, and demodulates the extracted signal. Then, tuner 1202 outputs the encoded bit stream obtained by demodulation to demultiplexer 1203. That is, the tuner 1202 serves as a transmission unit in the television apparatus 1200 that receives an encoded stream in which an image is encoded.
- the demultiplexer 1203 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs the separated streams to the decoder 1204. Further, the demultiplexer 1203 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 1210. Note that the demultiplexer 1203 may perform descrambling when the encoded bit stream is scrambled.
- EPG Electronic Program Guide
- the decoder 1204 decodes the video stream and audio stream input from the demultiplexer 1203. Then, the decoder 1204 outputs the video data generated by the decoding process to the video signal processing unit 1205. In addition, the decoder 1204 outputs the audio data generated by the decoding process to the audio signal processing unit 1207.
- the video signal processing unit 1205 reproduces the video data input from the decoder 1204 and causes the display unit 1206 to display the video.
- the video signal processing unit 1205 may cause the display unit 1206 to display an application screen supplied via the network.
- the video signal processing unit 1205 may perform additional processing such as noise removal on the video data according to the setting.
- the video signal processing unit 1205 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 1206 is driven by a drive signal supplied from the video signal processing unit 1205, 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 1207 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 1204, and outputs audio from the speaker 1208.
- the audio signal processing unit 1207 may perform additional processing such as noise removal on the audio data.
- the external interface unit 1209 is an interface for connecting the television apparatus 1200 to an external device or a network.
- a video stream or an audio stream received via the external interface unit 1209 may be decoded by the decoder 1204. That is, the external interface unit 1209 also has a role as a transmission unit in the television apparatus 1200 that receives an encoded stream in which an image is encoded.
- the control unit 1210 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 apparatus 1200 is started.
- the CPU controls the operation of the television apparatus 1200 according to an operation signal input from the user interface unit 1211 by executing the program.
- the user interface unit 1211 is connected to the control unit 1210.
- the user interface unit 1211 includes, for example, buttons and switches for the user to operate the television device 1200, a remote control signal receiving unit, and the like.
- the user interface unit 1211 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 1210.
- the bus 1212 interconnects the tuner 1202, the demultiplexer 1203, the decoder 1204, the video signal processing unit 1205, the audio signal processing unit 1207, the external interface unit 1209, and the control unit 1210.
- the decoder 1204 may have the function of the decoding apparatus 12 described above. That is, the decoder 1204 may decode the encoded data by the method described in the above embodiments. By doing in this way, the television apparatus 1200 can greatly improve S / N and compression efficiency.
- the video signal processing unit 1205 encodes the image data supplied from the decoder 1204, for example, and the obtained encoded data is transmitted via the external interface unit 1209. You may enable it to output to the exterior of the television apparatus 1200.
- the video signal processing unit 1205 may have the function of the encoding device 11 described above. That is, the video signal processing unit 1205 may encode the image data supplied from the decoder 1204 by the method described in the above embodiments. By doing in this way, the television apparatus 1200 can greatly improve S / N and compression efficiency.
- FIG. 49 is a diagram showing an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
- a cellular phone 1220 includes an antenna 1221, a communication unit 1222, an audio codec 1223, a speaker 1224, a microphone 1225, a camera unit 1226, an image processing unit 1227, a demultiplexing unit 1228, a recording / playback unit 1229, a display unit 1230, a control unit 1231, an operation A portion 1232 and a bus 1233.
- the antenna 1221 is connected to the communication unit 1222.
- the speaker 1224 and the microphone 1225 are connected to the audio codec 1223.
- the operation unit 1232 is connected to the control unit 1231.
- the bus 1233 connects the communication unit 1222, the audio codec 1223, the camera unit 1226, the image processing unit 1227, the demultiplexing unit 1228, the recording / reproducing unit 1229, the display unit 1230, and the control unit 1231 to each other.
- the mobile phone 1220 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, recording data, and the like. Perform the action.
- the analog voice signal generated by the microphone 1225 is supplied to the voice codec 1223.
- the audio codec 1223 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 1223 outputs the compressed audio data to the communication unit 1222.
- the communication unit 1222 encodes and modulates audio data, and generates a transmission signal. Then, the communication unit 1222 transmits the generated transmission signal to a base station (not shown) via the antenna 1221. In addition, the communication unit 1222 amplifies a radio signal received via the antenna 1221 and performs frequency conversion to obtain a received signal.
- the communication unit 1222 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 1223.
- the audio codec 1223 decompresses and D / A converts the audio data to generate an analog audio signal. Then, the audio codec 1223 supplies the generated audio signal to the speaker 1224 to output audio.
- the control unit 1231 generates character data constituting the e-mail in response to an operation by the user via the operation unit 1232.
- the control unit 1231 displays characters on the display unit 1230.
- the control unit 1231 generates e-mail data in response to a transmission instruction from the user via the operation unit 1232, and outputs the generated e-mail data to the communication unit 1222.
- the communication unit 1222 encodes and modulates the e-mail data, and generates a transmission signal. Then, the communication unit 1222 transmits the generated transmission signal to a base station (not shown) via the antenna 1221.
- the communication unit 1222 amplifies a radio signal received via the antenna 1221 and performs frequency conversion to obtain a received signal. Then, the communication unit 1222 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 1231.
- the control unit 1231 displays the contents of the e-mail on the display unit 1230, supplies the e-mail data to the recording / reproducing unit 1229, and writes the data in the storage medium.
- the recording / reproducing unit 1229 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, and may be an externally mounted type such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB (Universal Serial Bus) memory, or a memory card. It may be a storage medium.
- the camera unit 1226 captures an image of a subject to generate image data, and outputs the generated image data to the image processing unit 1227.
- the image processing unit 1227 encodes the image data input from the camera unit 1226, supplies the encoded stream to the recording / reproducing unit 1229, and writes the encoded stream in the storage medium.
- the recording / reproducing unit 1229 reads out the encoded stream recorded in the storage medium and outputs it to the image processing unit 1227.
- the image processing unit 1227 decodes the encoded stream input from the recording / playback unit 1229, supplies the image data to the display unit 1230, and displays the image.
- the demultiplexing unit 1228 multiplexes the video stream encoded by the image processing unit 1227 and the audio stream input from the audio codec 1223, and the multiplexed stream is used as the communication unit 1222. Output to.
- the communication unit 1222 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 1222 transmits the generated transmission signal to a base station (not shown) via the antenna 1221.
- the communication unit 1222 amplifies a radio signal received via the antenna 1221 and performs frequency conversion to obtain a received signal.
- These transmission signal and reception signal may include an encoded bit stream.
- Communication unit 1222 then demodulates and decodes the received signal to restore the stream, and outputs the restored stream to demultiplexing unit 1228.
- the demultiplexing unit 1228 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 1227 and the audio stream to the audio codec 1223.
- the image processing unit 1227 decodes the video stream and generates video data.
- the video data is supplied to the display unit 1230, and a series of images is displayed on the display unit 1230.
- the audio codec 1223 expands the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 1223 supplies the generated audio signal to the speaker 1224 to output audio.
- the image processing unit 1227 may have the function of the encoding device 11 described above. That is, the image processing unit 1227 may encode the image data by the method described in the above embodiments. By doing so, the mobile phone 1220 can greatly improve the S / N and compression efficiency.
- the image processing unit 1227 may have the function of the decoding device 12 described above. That is, the image processing unit 1227 may decode the encoded data by the method described in the above embodiment. By doing so, the mobile phone 1220 can greatly improve the S / N and compression efficiency.
- FIG. 50 is a diagram illustrating an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
- the recording / playback apparatus 1240 encodes the received broadcast program audio data and video data, for example, and records the encoded data on a recording medium. Further, the recording / reproducing apparatus 1240 may encode audio data and video data acquired from another apparatus and record them on a recording medium, for example. Further, the recording / reproducing apparatus 1240 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 1240 decodes the audio data and the video data.
- the recording / reproducing apparatus 1240 includes a tuner 1241, an external interface (I / F) unit 1242, an encoder 1243, an HDD (Hard Disk Drive) unit 1244, a disk drive 1245, a selector 1246, a decoder 1247, and an OSD (On-Screen Display) unit 1248.
- Tuner 1241 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, tuner 1241 outputs the encoded bit stream obtained by demodulation to selector 1246. That is, the tuner 1241 has a role as a transmission unit in the recording / reproducing apparatus 1240.
- the external interface unit 1242 is an interface for connecting the recording / reproducing device 1240 to an external device or a network.
- the external interface unit 1242 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, or a flash memory interface.
- IEEE Institute of Electrical and Electronic Engineers
- video data and audio data received via the external interface unit 1242 are input to the encoder 1243. That is, the external interface unit 1242 has a role as a transmission unit in the recording / reproducing apparatus 1240.
- the encoder 1243 encodes video data and audio data when the video data and audio data input from the external interface unit 1242 are not encoded. Then, the encoder 1243 outputs the encoded bit stream to the selector 1246.
- the HDD unit 1244 records an encoded bit stream, various programs, and other data in which content data such as video and audio are compressed, on an internal hard disk. Further, the HDD unit 1244 reads out these data from the hard disk when reproducing video and audio.
- the disk drive 1245 performs recording and reading of data to and from the mounted recording medium.
- Recording media mounted on the disk drive 1245 include, for example, DVD (Digital Versatile Disc) discs (DVD-Video, DVD-RAM (DVD -Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD- Rewritable), DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc.) or Blu-ray (registered trademark) disc.
- the selector 1246 selects an encoded bit stream input from the tuner 1241 or the encoder 1243 during video and audio recording, and outputs the selected encoded bit stream to the HDD 1244 or the disk drive 1245. Further, the selector 1246 outputs the encoded bit stream input from the HDD 1244 or the disk drive 1245 to the decoder 1247 when reproducing video and audio.
- the decoder 1247 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 1247 outputs the generated video data to the OSD unit 1248. The decoder 1247 outputs the generated audio data to an external speaker.
- the OSD unit 1248 reproduces the video data input from the decoder 1247 and displays the video.
- the OSD unit 1248 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
- the control unit 1249 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 1240 is activated, for example.
- the CPU controls the operation of the recording / reproducing device 1240 according to an operation signal input from the user interface unit 1250, for example, by executing the program.
- the user interface unit 1250 is connected to the control unit 1249.
- the user interface unit 1250 includes, for example, buttons and switches for the user to operate the recording / reproducing device 1240, a remote control signal receiving unit, and the like.
- the user interface unit 1250 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 1249.
- the encoder 1243 may have the function of the encoding apparatus 11 described above. That is, the encoder 1243 may encode the image data by the method described in the above embodiments. By doing in this way, the recording / reproducing apparatus 1240 can greatly improve S / N and compression efficiency.
- the decoder 1247 may have the function of the decoding apparatus 12 described above. That is, the decoder 1247 may decode the encoded data by the method described in the above embodiments. By doing in this way, the recording / reproducing apparatus 1240 can greatly improve S / N and compression efficiency.
- FIG. 51 is a diagram illustrating an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
- the imaging device 1260 images a subject to generate an image, encodes the image data, and records the image data on a recording medium.
- the imaging device 1260 includes an optical block 1261, an imaging unit 1262, a signal processing unit 1263, an image processing unit 1264, a display unit 1265, an external interface (I / F) unit 1266, a memory unit 1267, a media drive 1268, an OSD unit 1269, and a control.
- the optical block 1261 is connected to the imaging unit 1262.
- the imaging unit 1262 is connected to the signal processing unit 1263.
- the display unit 1265 is connected to the image processing unit 1264.
- the user interface unit 1271 is connected to the control unit 1270.
- the bus 1272 connects the image processing unit 1264, the external interface unit 1266, the memory unit 1267, the media drive 1268, the OSD unit 1269, and the control unit 1270 to each other.
- the optical block 1261 has a focus lens, a diaphragm mechanism, and the like.
- the optical block 1261 forms an optical image of the subject on the imaging surface of the imaging unit 1262.
- the imaging unit 1262 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 1262 outputs the image signal to the signal processing unit 1263.
- CCD Charge-Coupled Device
- CMOS Complementary Metal-Oxide Semiconductor
- the signal processing unit 1263 performs various camera signal processes such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 1262.
- the signal processing unit 1263 outputs the image data after camera signal processing to the image processing unit 1264.
- the image processing unit 1264 encodes the image data input from the signal processing unit 1263 to generate encoded data. Then, the image processing unit 1264 outputs the generated encoded data to the external interface unit 1266 or the media drive 1268.
- the image processing unit 1264 decodes encoded data input from the external interface unit 1266 or the media drive 1268, and generates image data. Then, the image processing unit 1264 outputs the generated image data to the display unit 1265. Further, the image processing unit 1264 may display the image by outputting the image data input from the signal processing unit 1263 to the display unit 1265. In addition, the image processing unit 1264 may superimpose display data acquired from the OSD unit 1269 on an image output to the display unit 1265.
- the OSD unit 1269 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 1264.
- the external interface unit 1266 is configured as a USB input / output terminal, for example.
- the external interface unit 1266 connects the imaging device 1260 and a printer, for example, when printing an image.
- a drive is connected to the external interface unit 1266 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 apparatus 1260.
- the external interface unit 1266 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 1266 has a role as a transmission unit in the imaging device 1260.
- the recording medium attached to the media drive 1268 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to the media drive 1268, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
- a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
- the control unit 1270 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 1260 is activated, for example.
- the CPU controls the operation of the imaging device 1260 according to an operation signal input from the user interface unit 1271, for example, by executing the program.
- the user interface unit 1271 is connected to the control unit 1270.
- the user interface unit 1271 includes, for example, buttons and switches for the user to operate the imaging device 1260.
- the user interface unit 1271 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 1270.
- the image processing unit 1264 may have the function of the encoding apparatus 11 described above. That is, the image processing unit 1264 may encode the image data by the method described in the above embodiments. By doing in this way, the imaging device 1260 can greatly improve S / N and compression efficiency.
- the image processing unit 1264 may have the function of the decoding device 12 described above. That is, the image processing unit 1264 may decode the encoded data by the method described in the above embodiment. By doing in this way, the imaging device 1260 can greatly improve S / N and compression efficiency.
- the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
- the present technology is not limited thereto, and any configuration mounted on a device constituting such a device or system, for example, a system Implemented as a processor such as LSI (Large Scale Integration), a module using multiple processors, a unit using multiple modules, etc., or a set with other functions added to the unit (ie, part of the device configuration) You can also
- FIG. 52 is a diagram illustrating an example of a schematic configuration of a video set to which the present technology is applied.
- the video set 1300 shown in FIG. 52 has such a multi-functional configuration, and a device having a function related to image encoding and decoding (either or both of them) can be used for the function. It is a combination of devices having other related functions.
- the video set 1300 includes a module group such as a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and a connectivity 1321, a camera 1322, a sensor 1323, and the like. And a device having a function.
- a module is a component that has several functions that are related to each other and that has a coherent function.
- the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
- the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor 1331, a video processor 1332, a broadband modem 1333, and an RF module 1334.
- a processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by a SoC (System On a Chip), and for example, there is a system LSI (Large Scale Integration).
- the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, and the like, and a program (software configuration) executed using them. , Or a combination of both.
- a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
- the 52 is a processor that executes an application related to image processing.
- the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of the video module 1311 such as the video processor 1332 as necessary. .
- the video processor 1332 is a processor having a function related to image encoding / decoding (one or both of them).
- the broadband modem 1333 converts the data (digital signal) transmitted by wired or wireless (or both) broadband communication via a broadband line such as the Internet or a public telephone line network into an analog signal by digitally modulating the data.
- the analog signal received by the broadband communication is demodulated and converted into data (digital signal).
- the broadband modem 1333 processes arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding the image data, an application program, setting data, and the like.
- the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
- RF Radio Frequency
- the application processor 1331 and the video processor 1332 may be integrated into a single processor.
- the external memory 1312 is a module that is provided outside the video module 1311 and has a storage device used by the video module 1311.
- the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
- the power management module 1313 manages and controls power supply to the video module 1311 (each component in the video module 1311).
- the front-end module 1314 is a module that provides the RF module 1334 with a front-end function (circuit on the transmitting / receiving end on the antenna side). As illustrated in FIG. 52, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
- the antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
- the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
- the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
- the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
- Connectivity 1321 is a module having a function related to connection with the outside.
- the physical configuration of the connectivity 1321 is arbitrary.
- the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
- the communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
- the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
- the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
- the connectivity 1321 may include a data (signal) transmission destination device.
- the drive 1321 reads / writes data to / from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable media drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
- the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
- the camera 1322 is a module having a function of capturing a subject and obtaining image data of the subject.
- Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
- the sensor 1323 includes, for example, a voice sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
- the data detected by the sensor 1323 is supplied to the application processor 1331 and used by an application or the like.
- the configuration described as a module in the above may be realized as a processor, or conversely, the configuration described as a processor may be realized as a module.
- the present technology can be applied to the video processor 1332 as described later. Therefore, the video set 1300 can be implemented as a set to which the present technology is applied.
- FIG. 53 is a diagram illustrating an example of a schematic configuration of a video processor 1332 (FIG. 52) to which the present technology is applied.
- the video processor 1332 receives the video signal and the audio signal, encodes them in a predetermined method, decodes the encoded video data and audio data, A function of reproducing and outputting an audio signal.
- the video processor 1332 includes a video input processing unit 1401, a first image enlargement / reduction unit 1402, a second image enlargement / reduction unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
- the video processor 1332 includes an encoding / decoding engine 1407, video ES (ElementaryElementStream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
- the video processor 1332 includes an audio encoder 1410, an audio decoder 1411, a multiplexing unit (MUX (Multiplexer)) 1412, a demultiplexing unit (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
- MUX Multiplexing unit
- DMUX Demultiplexer
- the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 52) and converts it into digital image data.
- the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
- the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
- the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321 or the like.
- the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
- the frame memory 1405 is realized as a semiconductor memory such as a DRAM, for example.
- the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
- the access management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
- the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
- the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
- the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
- the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
- the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
- the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
- the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 or the like, for example, into a digital format, and encodes it using a predetermined method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
- the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, in the audio ES buffer 1409A.
- the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 or the like.
- the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream.
- the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
- the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
- the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412).
- the demultiplexing unit (DMUX) 1413 obtains a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414 and demultiplexes the video stream and the audio stream. And can be converted to Further, for example, the demultiplexer (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321, for example, via the stream buffer 1414, and demultiplexes the video stream and the audio. Can be converted to a stream.
- Stream buffer 1414 buffers the bit stream.
- the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, in the connectivity 1321 or the broadband modem 1333 at a predetermined timing or based on an external request or the like. Supply.
- MUX multiplexing unit
- the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies it to the connectivity 1321 at a predetermined timing or based on an external request, for example. It is recorded on various recording media.
- MUX multiplexing unit
- the stream buffer 1414 buffers a transport stream acquired through, for example, the connectivity 1321 or the broadband modem 1333, and performs a demultiplexing unit (DMUX) at a predetermined timing or based on a request from the outside. 1413.
- DMUX demultiplexing unit
- the stream buffer 1414 buffers file data read from various recording media in, for example, the connectivity 1321, and the demultiplexer (DMUX) 1413 at a predetermined timing or based on an external request or the like. To supply.
- DMUX demultiplexer
- a video signal input to the video processor 1332 from the connectivity 1321 or the like is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format by the video input processing unit 1401 and stored in the frame memory 1405.
- This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
- This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
- an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream in the audio ES buffer 1409A.
- the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream, file data, or the like.
- the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
- the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and recorded on various recording media.
- a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
- DMUX demultiplexer
- file data read from various recording media by the connectivity 1321 and input to the video processor 1332 is buffered by the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
- the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
- the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
- the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
- the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to the above-described embodiment may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the above-described function of the encoding device 11 and / or the function of the decoding device 12. In this way, the video processor 1332 can obtain the same effects as those of the encoding device 11 and the decoding device 12 according to the above-described embodiment.
- the present technology (that is, the function of the encoding device 11 and / or the function of the decoding device 12) may be realized by hardware such as a logic circuit or an embedded program. It may be realized by software such as the above, or may be realized by both of them.
- FIG. 54 is a diagram illustrating another example of a schematic configuration of the video processor 1332 to which the present technology is applied.
- the video processor 1332 has a function of encoding and decoding video data by a predetermined method.
- the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
- the video processor 1332 includes a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
- MUX DMUX multiplexing / demultiplexing unit
- the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
- the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
- the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
- the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
- the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
- the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
- the display interface 1512 outputs the image data to, for example, the connectivity 1321 under the control of the control unit 1511.
- the display interface 1512 converts the digital data image data into an analog signal, and outputs the analog video signal to the monitor device or the like of the connectivity 1321 as a reproduced video signal or as the digital data image data.
- the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
- the image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
- the internal memory 1515 is a memory provided inside the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
- the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
- the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
- the codec engine 1516 performs processing related to encoding and decoding of image data.
- the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
- the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
- the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as functional blocks for codec processing.
- HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
- MPEG-2 Video1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
- AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
- HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
- HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
- HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
- MPEG-DASH 1551 is a functional block that transmits and receives image data using the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
- MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
- MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
- MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
- the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
- a multiplexing / demultiplexing unit (MUX DMUX) 1518 performs multiplexing and demultiplexing of various data related to images such as a bit stream of encoded data, image data, and a video signal.
- This multiplexing / demultiplexing method is arbitrary.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
- the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
- the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
- file data file format for recording
- the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321, etc., for example.
- the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
- the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519.
- MUX DMUX multiplexing / demultiplexing unit
- codec engine 1516 the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and is connected to, for example, the connectivity 1321 through the display interface 1512. And the image is displayed on the monitor.
- image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
- MUX DMUX multiplexing / demultiplexing unit
- encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 or the like is transmitted through a video interface 1520 via a multiplexing / demultiplexing unit (MUX DMUX). ) 1518 to be demultiplexed and decoded by the codec engine 1516.
- Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. The image is displayed on the monitor.
- image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
- the data is supplied to, for example, the connectivity 1321 and the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
- image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
- the power management module 1313 controls power supply to the control unit 1511, for example.
- the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to the above-described embodiment may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have the function of the encoding device 11 and / or the function of the decoding device 12 described above. In this way, the video processor 1332 can obtain the same effects as those of the encoding device 11 and the decoding device 12 described above.
- the present technology (that is, the functions of the encoding device 11 and the decoding device 12) may be realized by hardware such as a logic circuit or software such as an embedded program. You may make it carry out, and you may make it implement
- the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
- the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
- Video set 1300 can be incorporated into various devices that process image data.
- the video set 1300 can be incorporated in the television device 1200 (FIG. 48), the mobile phone 1220 (FIG. 49), the recording / playback device 1240 (FIG. 50), the imaging device 1260 (FIG. 51), or the like.
- the device can obtain the same effects as those of the encoding device 11 and the decoding device 12 described above.
- the video processor 1332 can implement as a structure to which this technique is applied.
- the video processor 1332 can be implemented as a video processor to which the present technology is applied.
- the processor or the video module 1311 indicated by the dotted line 1341 can be implemented as a processor or a module to which the present technology is applied.
- the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 can be combined and implemented as a video unit 1361 to which the present technology is applied. In any case, the same effects as those of the encoding device 11 and the decoding device 12 described above can be obtained.
- any configuration including the video processor 1332 can be incorporated into various devices that process image data, as in the case of the video set 1300.
- a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311, or a video unit 1361, a television device 1200 (FIG. 48), a mobile phone 1220 (FIG. 49), a recording / playback device 1240 (FIG. 50), The imaging device 1260 (FIG. 51) can be incorporated.
- the apparatus can obtain the same effects as those of the encoding apparatus 11 and the decoding apparatus 12 described above, as in the case of the video set 1300.
- ⁇ Others> In this specification, an example in which various types of information are multiplexed with encoded data (bitstream) and transmitted from the encoding side to the decoding side has been described. However, the method of transmitting such information is such an example. It is not limited. For example, these pieces of information may be transmitted or recorded as separate data associated with the encoded data without being multiplexed with the encoded data.
- the term “associate” means that, for example, an image (which may be a part of an image such as a slice or a block) included in the encoded data and information corresponding to the image can be linked at the time of decoding.
- information associated with the encoded data (image) may be transmitted on a transmission path different from that of the encoded data (image).
- the information associated with the encoded data (image) may be recorded on a recording medium different from the encoded data (image) (or another recording area of the same recording medium).
- an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
- 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 those 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). .
- the present technology can take a configuration of cloud computing in which one function is shared and processed by a plurality of devices via a network.
- the above-described program can be executed in an arbitrary device.
- the device may have necessary functions (functional blocks and the like) so that necessary information can be obtained.
- each step described in the above flowchart can be executed by one device or can be executed by a plurality of devices. Further, when a plurality of processes are included in one step, the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
- the program executed by the computer may be executed in a time series in the order described in this specification for the processing of the steps describing the program, or in parallel or called. It may be executed individually at a necessary timing. That is, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the processing of the steps describing this program may be executed in parallel with the processing of other programs, or may be executed in combination with the processing of other programs.
- this technique can take the following structures.
- a class classification unit for classifying the target pixel of the first image obtained by adding the prediction encoding residual and the predicted image into any one of a plurality of classes;
- a filter processing unit that performs a filter process corresponding to the class of the target pixel on the first image, and generates a second image used for prediction of the predicted image;
- the class classification unit performs the class classification using the pre-filter related information related to the pre-filter processing performed in the pre-stage of the filter processing of the filter processing unit,
- An encoding device that performs the predictive encoding.
- the encoding device further comprising: a transmission unit that transmits classification method information representing the classification method determined by the classification method determination unit.
- a transmission unit that transmits classification method information representing the classification method determined by the classification method determination unit.
- the class classification method determination unit determines the class classification method according to obtainable information obtainable from encoded data obtained by the predictive encoding.
- the filter processing unit By selecting, from the first image, a pixel to be a prediction tap used for a prediction calculation for obtaining a pixel value of a corresponding pixel of the second image corresponding to the target pixel of the first image, the prediction A predictive tap selector that constitutes a tap; Tap coefficient used for the prediction calculation for each class, obtained by learning using a student image corresponding to the first image and a teacher image corresponding to the original image corresponding to the first image A tap coefficient acquisition unit that acquires a tap coefficient of the class of the pixel of interest, A calculation unit for obtaining a pixel value of the corresponding pixel by performing the prediction calculation using the tap coefficient of the class of the target pixel and the prediction tap of the target pixel;
- the encoding device according to ⁇ 1> or ⁇ 2>, further including a transmission unit that transmits the tap coefficient.
- ⁇ 6> Taps of the excluded classes from the tap coefficients for each of the classes determined by the learning, with some classes out of the classes for which the tap coefficients are determined by the learning being excluded from the filtering target.
- a coefficient deletion unit that outputs the deleted tap coefficient as a coefficient used for the filter processing after deleting the coefficient;
- the transmission unit transmits the adoption coefficient,
- the encoding device according to ⁇ 5>, wherein when the class of the target pixel is an excluded class, the arithmetic unit outputs the pixel value of the target pixel as the pixel value of the corresponding pixel.
- ⁇ 7> The encoding device according to any one of ⁇ 1> to ⁇ 6>, wherein the pre-filter processing is DF (Deblocking Filter) filter processing.
- ⁇ 8> The encoding device according to any one of ⁇ 1> to ⁇ 7>, wherein the class classification unit performs the class classification using the pre-filter related information and the image feature amount of the target pixel.
- a class classification unit for classifying the target pixel of the first image obtained by adding the prediction encoding residual and the predicted image into any one of a plurality of classes;
- the encoding method in which the class classification unit of the encoding device that performs the predictive encoding performs the class classification using pre-filter related information regarding pre-filter processing performed before the filter processing of the filter processing unit.
- the decoding device further comprising: a class classification method determination unit that determines the class classification method according to acquirable information that can be acquired from the encoded data obtained by the predictive encoding.
- the filter processing unit By selecting, from the first image, a pixel to be a prediction tap used for a prediction calculation for obtaining a pixel value of a corresponding pixel of the second image corresponding to the target pixel of the first image, the prediction A predictive tap selector that constitutes a tap; Tap coefficient used for the prediction calculation for each class, obtained by learning using a student image corresponding to the first image and a teacher image corresponding to the original image corresponding to the first image
- a tap coefficient acquisition unit that acquires a tap coefficient of the class of the pixel of interest, A calculation unit for obtaining a pixel value of the corresponding pixel by performing the prediction calculation using the tap coefficient of the class of the target pixel and the prediction tap of the target pixel;
- ⁇ 14> A part of the classes whose tap coefficients are obtained by the learning are excluded classes to be excluded from the filtering target, and the excluded classes are determined from the tap coefficients for the classes obtained by the learning.
- the receiving unit receives the employment coefficient
- the decoding device according to ⁇ 13>, wherein when the class of the target pixel is an exclusion class, the arithmetic unit outputs the pixel value of the target pixel as the pixel value of the corresponding pixel.
- ⁇ 15> The decoding apparatus according to any one of ⁇ 10> to ⁇ 14>, wherein the pre-filtering process is a DF (Deblocking Filter) filtering process.
- ⁇ 16> The decoding device according to any one of ⁇ 10> to ⁇ 15>, wherein the class classification unit performs the class classification using the pre-filter related information and the image feature amount of the pixel of interest.
- a class classification unit for classifying the target pixel of the first image obtained by adding the prediction encoding residual and the predicted image into any one of a plurality of classes;
- the class classification unit of the decoding apparatus that decodes an image using the predicted image performs the class classification using pre-filter related information regarding pre-filter processing performed in the pre-stage of the filter processing of the filter processing unit.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本技術は、画像のS/Nを、大きく改善することができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。 クラス分類部は、予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、フィルタ処理部は、第1の画像に、注目画素のクラスに対応するフィルタ処理を行い、予測画像の予測に用いられる第2の画像を生成する。クラス分類は、フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて行われる。本技術は、例えば、画像の符号化装置や復号装置に適用できる。
Description
本技術は、符号化装置、符号化方法、復号装置、及び、復号方法に関し、特に、例えば、画像のS/Nを、大きく改善することができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。
予測符号化方式の1つである、例えば、HEVC(High Efficiency Video Coding)では、ILF(In Loop Filter)が提案された。また、ポストHEVC(HEVCの次の世代の予測符号化方式)では、ILFを採用することが予想される。
ILFとしては、ブロックノイズを低減するためのDF(Deblocking Filter)、リンギングを低減するためのSAO(Sample Adaptive Offset)、符号化誤差(復号画像の、元画像に対する誤差)を最小化するためのALF(Adaptive Loop Filter)がある。
ALFについては、特許文献1に記載され、SAOについては、特許文献2に記載されている。
現在提案されているILFとしてのDFや、SAO,ALFは、それぞれ独立に動作する。したがって、後段でフィルタ処理を行うフィルタが、前段でフィルタ処理を行うフィルタのフィルタ処理を考慮して、フィルタ処理を行うことはない。
すなわち、例えば、DF,SAO,ALFの順でフィルタ処理が行われる場合において、SAOは、そのSAOの前段のDFを考慮して、フィルタ処理を行うことはなく、ALFは、そのALFの前段のDFやSAOを考慮して、フィルタ処理を行うことはない。
そのため、後段のフィルタのフィルタ処理が、必ずしも最適なフィルタ処理であるとは言い難く、画像のS/N(Signal to Noise Ratio)を、大きく改善することが困難である。
本技術は、このような状況に鑑みてなされたものであり、画像のS/Nを、大きく改善することができるようにするものである。
本技術の符号化装置は、予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部とを備え、前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、前記予測符号化を行う符号化装置である。
本技術の符号化方法は、予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部とを備え、前記予測符号化を行う符号化装置の前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う符号化方法である。
本技術の符号化装置及び符号化方法においては、予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類が行われる。そして、前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理が行われ、前記予測画像の予測に用いられる第2の画像が生成されて、前記予測符号化が行われる。かかる予測符号化において、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類が行われる。
本技術の復号装置は、予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部とを備え、前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、前記予測画像を用いて画像を復号する復号装置である。
本技術の復号方法は、予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部とを備え、前記予測画像を用いて画像を復号する復号装置の前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う復号方法である。
本技術の復号装置及び復号方法においては、予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類が行われる。そして、前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理が行われ、前記予測画像の予測に用いられる第2の画像が生成されて、前記予測画像を用いて画像が復号される。かかる復号において、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類が行われる。
なお、符号化装置や復号装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、符号化装置や復号装置は、コンピュータにプログラムを実行させることにより実現することができる。プログラムは、伝送媒体を介して、伝送することにより、又は、記録媒体に記録して、提供することができる。
本技術によれば、画像のS/Nを、大きく改善することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
<本技術を適用した画像処理システム>
図1は、本技術を適用した画像処理システムの一実施の形態の構成例を示す図である。
図1において、画像処理システムは、符号化装置11及び復号装置12を有する。
符号化装置11には、符号化対象の元画像が供給される。
符号化装置11は、例えば、HEVCやAVC(Advanced Video Coding)等のような予測符号化により、元画像を符号化する。
符号化装置11の予測符号化では、元画像の予測画像が生成され、元画像と予測画像との残差が符号化される。
さらに、符号化装置11の予測符号化では、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像に、ILFをかけるILF処理を行うことで、予測画像の予測に用いられる参照画像が生成される。
ここで、ILF処理としてのフィルタ処理(フィルタリング)が、復号途中画像に施されることにより得られる画像を、フィルタ後画像ともいう。
符号化装置11は、予測符号化を行う他、必要に応じて、復号途中画像と元画像とを用いて学習等を行うことにより、フィルタ後画像が、なるべく元画像に近くなるようなILF処理としてのフィルタ処理に関する情報を、フィルタ情報として求めることができる。
符号化装置11のILF処理は、学習により得られるフィルタ情報を用いて行うことができる。
ここで、フィルタ情報を求める学習は、例えば、元画像の1又は複数のシーケンスごとや、元画像の1又は複数のシーン(シーンチェンジから、次のシーンチェンジまでのフレーム)ごと、元画像の1又は複数のフレーム(ピクチャ)ごと、元画像の1又は複数のスライスごと、ピクチャの符号化の単位のブロックの1又は複数ラインごと、その他任意の単位で行うことができる。また、フィルタ情報を求める学習は、例えば、残差やRDコストが閾値以上になった場合に行うことができる。
符号化装置11は、元画像の予測符号化により得られる符号化データを、伝送媒体13を介して伝送し、又は、記録媒体14に伝送して記録させる。
また、符号化装置11は、学習により得られるフィルタ情報を、伝送媒体13を介して伝送し、又は、記録媒体14に伝送して記録させることができる。
なお、フィルタ情報を求める学習は、符号化装置11とは別の装置で行うことができる。
また、フィルタ情報は、符号化データとは別に伝送することもできるし、符号化データに含めて伝送することもできる。
さらに、フィルタ情報を求める学習は、元画像そのもの(及び元画像から得られる復号途中画像)を用いて行う他、画像特徴量が元画像と類似する、元画像とは別個の画像を用いて行うことができる。
復号装置12は、符号化装置11から伝送される符号化データ及び必要なフィルタ情報を、伝送媒体13や記録媒体14を介して受け取り(受信し)(取得し)、符号化データを、符号化装置11の予測符号化に対応する方式で復号する。
すなわち、復号装置12は、符号化装置11からの符号化データを処理することで、予測符号化の残差を求める。さらに、復号装置12は、残差と予測画像とを加算することにより、符号化装置11で得られるのと同様の復号途中画像を求める。そして、復号装置12は、復号途中画像に、符号化装置11からのフィルタ情報を必要に応じて用いたILF処理としてのフィルタ処理を施し、フィルタ後画像を求める。
復号装置12において、フィルタ後画像は、元画像の復号画像として出力されるとともに、必要に応じて、予測画像の予測に用いられる参照画像として一時記憶される。
符号化装置11及び復号装置12のILF処理としてのフィルタ処理は、任意のフィルタによって行うことができる。
また、符号化装置11及び復号装置12のフィルタ処理は、クラス分類適応処理(の予測演算)によって行うことができる。以下、クラス分類適応処理について説明する。
<クラス分類適応処理>
図2は、クラス分類適応処理を行う画像変換装置の第1の構成例を示すブロック図である。
ここで、クラス分類適応処理は、例えば、第1の画像を、第2の画像に変換する画像変換処理として捉えることができる。
第1の画像を第2の画像に変換する画像変換処理は、その第1と第2の画像の定義によって様々な信号処理となる。
すなわち、例えば、第1の画像を低空間解像度の画像とするとともに、第2の画像を高空間解像度の画像とすれば、画像変換処理は、空間解像度を向上させる空間解像度創造(向上)処理ということができる。
また、例えば、第1の画像を低S/Nの画像とするとともに、第2の画像を高S/Nの画像とすれば、画像変換処理は、ノイズを除去するノイズ除去処理ということができる。
さらに、例えば、第1の画像を所定の画素数(サイズ)の画像とするとともに、第2の画像を、第1の画像の画素数を多くまたは少なくした画像とすれば、画像変換処理は、画像のリサイズ(拡大または縮小)を行うリサイズ処理ということができる。
また、例えば、第1の画像を、HEVC等のブロック単位で符号化された画像を復号することによって得られる復号画像とするとともに、第2の画像を、符号化前の元画像とすれば、画像変換処理は、ブロック単位の符号化及び復号によって生じるブロック歪みを除去する歪み除去処理ということができる。
なお、クラス分類適応処理は、画像の他、例えば、音響を、処理の対象とすることができる。音響を対象とするクラス分類適応処理は、第1の音響(例えば、S/Nの低い音響等)を、第2の音響(例えば、S/Nの高い音響等)に変換する音響変換処理として捉えることができる。
クラス分類適応処理では、第1の画像のうちの注目している注目画素(処理対象の処理対象画素)の画素値を複数のクラスのうちのいずれかのクラスにクラス分類することにより得られるクラスのタップ係数と、注目画素に対して選択される第1の画像の、タップ係数と同一の数の画素の画素値とを用いた予測演算により、注目画素の画素値が求められる。
図2は、クラス分類適応処理による画像変換処理を行う画像変換装置の構成例を示している。
図2において、画像変換装置20は、タップ選択部21、クラス分類部22、係数取得部23、及び、予測演算部24を有する。
画像変換装置20には、第1の画像が供給される。画像変換装置20に供給される第1の画像は、タップ選択部21及びクラス分類部22に供給される。
タップ選択部21は、第1の画像を構成する画素を、順次、注目画素に選択する。さらに、タップ選択部21は、注目画素に対応する第2の画像の対応画素(の画素値)を予測するのに用いる第1の画像を構成する画素(の画素値)の幾つかを、予測タップとして選択する。
具体的には、タップ選択部21は、注目画素の時空間の位置から空間的又は時間的に近い位置にある第1の画像の複数の画素を、予測タップとして選択することにより、予測タップを構成し、予測演算部24に供給する。
クラス分類部22は、一定の規則に従って、注目画素を、幾つかのクラスのうちのいずれかにクラス分けするクラス分類を行い、その結果得られるクラスに対応するクラスコードを、係数取得部23に供給する。
すなわち、クラス分類部22は、例えば、注目画素について、クラス分類を行うのに用いる第1の画像を構成する画素(の画素値)の幾つかを、クラスタップとして選択する。例えば、クラス分類部22は、タップ選択部21が予測タップを選択するのと同様にして、クラスタップを選択する。
なお、予測タップとクラスタップは、同一のタップ構造を有するものであっても良いし、異なるタップ構造を有するものであっても良い。
クラス分類部22は、例えば、クラスタップを用いて、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを、係数取得部23に供給する。
例えば、クラス分類部22は、クラスタップを用いて、注目画素の画像特徴量を求める。さらに、クラス分類部22は、注目画素の画像特徴量に応じて、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを、係数取得部23に供給する。
ここで、クラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding)等を採用することができる。
ADRCを用いる方法では、クラスタップを構成する画素(の画素値)が、ADRC処理され、その結果得られるADRCコード(ADRC値)にしたがって、注目画素のクラスが決定される。ADRCコードは、注目画素を含む小領域の画像特徴量としての波形パターンを表す。
なお、LビットADRCにおいては、例えば、クラスタップを構成する画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する各画素の画素値がLビットに再量子化される。すなわち、クラスタップを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Lで除算(再量子化)される。そして、以上のようにして得られる、クラスタップを構成するLビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。したがって、クラスタップが、例えば、1ビットADRC処理された場合には、そのクラスタップを構成する各画素の画素値は、最大値MAXと最小値MINとの平均値で除算され(小数点以下切り捨て)、これにより、各画素の画素値が1ビットとされる(2値化される)。そして、その1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
なお、クラス分類部22には、例えば、クラスタップを構成する画素の画素値のレベル分布のパターンを、そのままクラスコードとして出力させることも可能である。しかしながら、この場合、クラスタップが、N個の画素の画素値で構成され、各画素の画素値に、Aビットが割り当てられているとすると、クラス分類部22が出力するクラスコードの場合の数は、(2N)A通りとなり、画素の画素値のビット数Aに指数的に比例した膨大な数となる。
したがって、クラス分類部22においては、クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮することにより、クラス分類を行うのが好ましい。
係数取得部23は、後述する学習によって求められたクラスごとのタップ係数を記憶し、さらに、その記憶したタップ係数のうちの、クラス分類部22から供給されるクラスコードが表すクラスのタップ係数、すなわち、注目画素のクラスのタップ係数を取得する。さらに、係数取得部23は、注目画素のクラスのタップ係数を、予測演算部24に供給する。
ここで、タップ係数とは、ディジタルフィルタにおける、いわゆるタップにおいて入力データと乗算される係数に相当する係数である。
予測演算部24は、タップ選択部21が出力する予測タップと、係数取得部23から供給されるタップ係数とを用いて、注目画素に対応する第2の画像の画素(対応画素)の画素値の真値の予測値を求める所定の予測演算を行う。これにより、予測演算部24は、対応画素の画素値(の予測値)、すなわち、第2の画像を構成する画素の画素値を求めて出力する。
図3は、係数取得部23に記憶されるタップ係数の学習を行う学習装置の構成例を示すブロック図である。
ここで、例えば、高画質の画像(高画質画像)を第2の画像とするとともに、その高画質画像をLPF(Low Pass Filter)によってフィルタリングする等してその画質(解像度)を低下させた低画質の画像(低画質画像)を第1の画像として、低画質画像から予測タップを選択し、その予測タップとタップ係数を用いて、高画質画像の画素(高画質画素)の画素値を、所定の予測演算によって求める(予測する)ことを考える。
所定の予測演算として、例えば、線形1次予測演算を採用することとすると、高画質画素の画素値yは、次の線形1次式によって求められることになる。
但し、式(1)において、xnは、対応画素としての高画質画素yに対する予測タップを構成する、n番目の低画質画像の画素(以下、適宜、低画質画素という)の画素値を表し、wnは、n番目の低画質画素(の画素値)と乗算されるn番目のタップ係数を表す。なお、式(1)では、予測タップが、N個の低画質画素x1,x2,・・・,xNで構成されることとする。
ここで、高画質画素の画素値yは、式(1)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
いま、第kサンプルの高画質画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
いま、式(2)の予測値yk’は、式(1)にしたがって求められるため、式(2)のyk’を、式(1)にしたがって置き換えると、次式が得られる。
但し、式(3)において、xn,kは、対応画素としての第kサンプルの高画質画素に対する予測タップを構成するn番目の低画質画素を表す。
式(3)(又は式(2))の予測誤差ekを0とするタップ係数wnが、高画質画素を予測するのに最適なものとなるが、すべての高画質画素について、そのようなタップ係数wnを求めることは、一般には困難である。
そこで、タップ係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適なタップ係数wnは、次式で表される自乗誤差の総和E(統計的な誤差)を最小にすることで求めることができる。
但し、式(4)において、Kは、対応画素としての高画質画素ykと、その高画質画素ykに対する予測タップを構成する低画質画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(4)の自乗誤差の総和Eの最小値(極小値)は、式(5)に示すように、総和Eをタップ係数wnで偏微分したものを0とするwnによって与えられる。
そこで、上述の式(3)をタップ係数wnで偏微分すると、次式が得られる。
式(5)と(6)から、次式が得られる。
式(7)のekに、式(3)を代入することにより、式(7)は、式(8)に示す正規方程式で表すことができる。
式(8)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)等を用いることにより、タップ係数wnについて解くことができる。
式(8)の正規方程式を、クラスごとにたてて解くことにより、最適なタップ係数(ここでは、自乗誤差の総和Eを最小にするタップ係数)wnを、クラスごとに求めることができる。
図3は、式(8)の正規方程式をたてて解くことによりタップ係数wnを求める学習を行う学習装置の構成例を示している。
図3において、学習装置40は、教師データ生成部41、生徒データ生成部42、及び、学習部43を有する。
教師データ生成部41及び生徒データ生成部42には、タップ係数wnの学習に用いられる学習画像(学習用のサンプルとしての画像)が供給される。学習画像としては、例えば、解像度の高い高画質画像を用いることができる。
教師データ生成部32は、学習画像から、タップ係数の学習の教師(真値)となる教師データ、すなわち、クラス分類適応処理により得たい教師データとして、式(1)による予測演算としての写像の写像先となる教師画像を生成し、学習部43に供給する。ここでは、教師データ生成部32は、例えば、学習画像としての高画質画像を、そのまま教師画像として、学習部43に供給する。
生徒データ生成部42は、学習画像から、タップ係数の学習の生徒となる生徒データ、すなわち、クラス分類適応処理においてタップ係数との予測演算の対象となる生徒データとして、式(1)による予測演算としての写像による変換対象となる生徒画像を生成し、学習部43に供給する。ここでは、生徒データ生成部42は、例えば、学習画像としての高画質画像をLPF(low Pass Filter)でフィルタリングすることにより、その解像度を低下させることで、低画質画像を生成し、この低画質画像を、生徒画像として、学習部43に供給する。
学習部43は、生徒データ生成部42からの生徒データとしての生徒画像を構成する画素を、順次、注目画素とし、その注目画素について、図2のタップ選択部21が選択するのと同一のタップ構造の画素を、生徒画像から予測タップとして選択する。さらに、学習部43は、注目画素に対応する教師画像を構成する対応画素と、注目画素の予測タップとを用い、クラスごとに、式(8)の正規方程式をたてて解くことにより、クラスごとのタップ係数を求める。
図4は、図3の学習部43の構成例を示すブロック図である。
図4において、学習部43は、タップ選択部51、クラス分類部52、足し込み部53、及び、係数算出部54を有する。
生徒画像(生徒データ)は、タップ選択部51及びクラス分類部52に供給され、教師画像(教師データ)は、足し込み部53に供給される。
タップ選択部51は、生徒画像を構成する画素を、順次、注目画素として選択し、その注目画素を表す情報を、必要なブロックに供給する。
さらに、タップ選択部51は、注目画素について、生徒画像を構成する画素から、図2のタップ選択部21が選択するのと同一の画素を予測タップに選択し、これにより、タップ選択部21で得られるのと同一のタップ構造の予測タップを得て、足し込み部53に供給する。
クラス分類部52は、生徒画像を用いて、注目画素について、図2のクラス分類部22と同一のクラス分類を行い、その結果得られる注目画素のクラスに対応するクラスコードを、足し込み部53に出力する。
例えば、クラス分類部52は、注目画素について、生徒画像を構成する画素から、図2のクラス分類部22が選択するのと同一の画素をクラスタップに選択し、これにより、クラス分類部22で得られるのと同一のタップ構造のクラスタップを構成する。さらに、クラス分類部52は、注目画素のクラスタップを用いて、図2のクラス分類部22と同一のクラス分類を行い、その結果得られる注目画素のクラスに対応するクラスコードを、足し込み部53に出力する。
足し込み部53は、教師画像(教師データ)を構成する画素から、注目画素に対応する対応画素(の画素値)を取得し、対応画素と、タップ選択部51から供給される注目画素についての予測タップを構成する生徒画像の画素(の画素値)とを対象とした足し込みを、クラス分類部52から供給されるクラスコードごとに行う。
すなわち、足し込み部53には、教師データとしての教師画像の対応画素yk、生徒データとしての注目画素の予測タップxn,k、注目画素のクラスを表すクラスコードが供給される。
足し込み部53は、注目画素のクラスごとに、予測タップ(生徒データ)xn,kを用い、式(8)の左辺の行列における生徒データどうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部53は、やはり、注目画素のクラスごとに、予測タップ(生徒データ)xn,kと教師データykを用い、式(8)の右辺のベクトルにおける生徒データxn,k及び教師データykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
すなわち、足し込み部53は、前回、教師データとしての、注目画素に対応する対応画素について求められた式(8)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)又はベクトルのコンポーネント(Σxn,kyk)に対して、新たな注目画素に対応する対応画素となった教師データについて、その教師データyk+1及び生徒データxn,k+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1又はxn,k+1yk+1を足し込む(式(8)のサメーションで表される加算を行う)。
そして、足し込み部53は、例えば、生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(8)に示した正規方程式をたて、その正規方程式を、係数算出部54に供給する。
係数算出部54は、足し込み部53から供給される各クラスについての正規方程式を解くことにより、各クラスについて、最適なタップ係数wnを求めて出力する。
図2の画像変換装置20における係数取得部23には、以上のようにして求められたクラスごとのタップ係数wnを記憶させることができる。
図5は、クラス分類適応処理を行う画像変換装置の第2の構成例を示すブロック図である。
なお、図中、図2の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図5において、画像変換装置20は、タップ選択部21、クラス分類部22、予測演算部24、及び、係数取得部61を有する。
したがって、図5の画像変換装置20は、タップ選択部21、クラス分類部22、及び、予測演算部24を有する点で、図2の場合と共通する。
但し、図5では、係数取得部23に代えて、係数取得部61が設けられている点で、図2の場合と相違する。
係数取得部61は、後述する種係数を記憶する。さらに、係数取得部61には、外部からパラメータzが供給される。
係数取得部61は、種係数から、パラメータzに対応する、クラスごとのタップ係数を生成して記憶し、そのクラスごとのタップ係数から、クラス分類部22からのクラスのタップ係数を取得して、予測演算部24に供給する。
ここで、図2の係数取得部23は、タップ係数そのものを記憶するが、図5の係数取得部61は、種係数を記憶する。種係数は、パラメータzを与える(決定する)ことによって、タップ係数を生成することができ、かかる観点から、種係数は、タップ係数と同等の情報であるとみなすことができる。本明細書では、タップ係数には、タップ係数そのものの他、そのタップ係数を生成することができる種係数も必要に応じて含まれることとする。
図6は、係数取得部61に記憶される種係数を求める学習を行う学習装置の構成例を示すブロック図である。
ここで、例えば、図3で説明した場合と同様に、高画質の画像(高画質画像)を第2の画像とするとともに、その高画質画像の空間解像度を低下させた低画質の画像(低画質画像)を第1の画像として、低画質画像から予測タップを選択し、その予測タップとタップ係数を用いて、高画質画像の画素である高画質画素の画素値を、例えば、式(1)の線形1次予測演算によって求める(予測する)ことを考える。
いま、タップ係数wnが、種係数と、パラメータzとを用いた次式によって生成されることとする。
但し、式(9)において、βm,nは、n番目のタップ係数wnを求めるのに用いられるm番目の種係数を表す。なお、式(9)では、タップ係数wnが、M個の種係数β1,n,β2,n,・・・,βM,nを用いて求められる。
ここで、種係数βm,nとパラメータzから、タップ係数wnを求める式は、式(9)に限定されるものではない。
いま、式(9)におけるパラメータzによって決まる値zm-1を、新たな変数tmを導入して、次式で定義する。
式(10)を、式(9)に代入することにより、次式が得られる。
式(11)によれば、タップ係数wnは、種係数βm,nと変数tmとの線形1次式によって求められることになる。
ところで、いま、第kサンプルの高画質画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
いま、式(12)の予測値yk’は、式(1)にしたがって求められるため、式(12)のyk’を、式(1)にしたがって置き換えると、次式が得られる。
但し、式(13)において、xn,kは、対応画素としての第kサンプルの高画質画素に対する予測タップを構成するn番目の低画質画素を表す。
式(13)のwnに、式(11)を代入することにより、次式が得られる。
式(14)の予測誤差ekを0とする種係数βm,nが、高画質画素を予測するのに最適なものとなるが、すべての高画質画素について、そのような種係数βm,nを求めることは、一般には困難である。
そこで、種係数βm,nが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適な種係数βm,nは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
但し、式(15)において、Kは、対応画素としての高画質画素ykと、その高画質画素ykに対する予測タップを構成する低画質画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(15)の自乗誤差の総和Eの最小値(極小値)は、式(16)に示すように、総和Eを種係数βm,nで偏微分したものを0とするβm,nによって与えられる。
式(13)を、式(16)に代入することにより、次式が得られる。
いま、Xi,p,j,qとYi,pを、式(18)と(19)に示すように定義する。
この場合、式(17)は、Xi,p,j,qとYi,pを用いた式(20)に示す正規方程式で表すことができる。
式(20)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)等を用いることにより、種係数βm,nについて解くことができる。
図5の画像変換装置20においては、多数の高画質画素y1,y2,・・・,yKを教師データとするとともに、各高画質画素ykに対する予測タップを構成する低画質画素x1,k,x2,k,・・・,xN,kを生徒データとして、クラスごとに式(20)の正規方程式をたてて解く学習を行うことにより求められたクラスごとの種係数βm,nが、係数取得部61に記憶される。そして、係数取得部61では、種係数βm,nと、外部から与えられるパラメータzから、式(9)にしたがって、クラスごとのタップ係数wnが生成され、予測演算部24において、そのタップ係数wnと、注目画素についての予測タップを構成する低画質画素(第1の画像の画素)xnを用いて、式(1)が計算されることにより、高画質画素(第2の画像の対応画素)の画素値(に近い予測値)が求められる。
図6は、式(20)の正規方程式をクラスごとにたてて解くことにより、クラスごとの種係数βm,nを求める学習を行う学習装置の構成例を示す図である。
なお、図中、図3の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図6において、学習装置40は、教師データ生成部41、パラメータ生成部71、生徒データ生成部72、及び、学習部73を有する。
したがって、図6の学習装置40は、教師データ生成部41を有する点で、図3の場合と共通する。
但し、図6の学習装置40は、パラメータ生成部71を新たに有する点で、図3の場合と相違する。さらに、図6の学習装置40は、生徒データ生成部42及び学習部43に代えて、生徒データ生成部72、及び、学習部73がそれぞれ設けられている点で、図3の場合と相違する。
パラメータ生成部71は、パラメータzが取り得る範囲の幾つかの値を生成し、生徒データ生成部72と学習部73に供給する。
例えば、パラメータzが取り得る値が0乃至Zの範囲の実数であるとすると、パラメータ生成部71は、例えば、例えば、z=0,1,2,・・・,Zの値のパラメータzを生成し、生徒データ生成部72と学習部73に供給する。
生徒データ生成部72には、教師データ生成部41に供給されるのと同様の学習画像が供給される。
生徒データ生成部72は、図3の生徒データ生成部42と同様に、学習画像から生徒画像を生成し、生徒データとして、学習部73に供給する。
ここで、生徒データ生成部72には、学習画像の他、パラメータzが取り得る範囲の幾つかの値が、パラメータ生成部71から供給される。
生徒データ生成部72は、学習画像としての高画質画像を、例えば、そこに供給されるパラメータzに対応するカットオフ周波数のLPFによってフィルタリングすることにより、パラメータzの幾つかの値それぞれに対して、生徒画像としての低画質画像を生成する。
すなわち、生徒データ生成部72では、学習画像としての高画質画像について、Z+1種類の、空間解像度の異なる生徒画像としての低画質画像が生成される。
なお、ここでは、例えば、パラメータzの値が大きくなるほど、カットオフ周波数の高いLPFを用いて、高画質画像をフィルタリングし、生徒画像としての低画質画像を生成することとする。この場合、値の大きいパラメータzに対する生徒画像としての低画質画像ほど、空間解像度が高い。
また、生徒データ生成部72では、パラメータzに応じて、学習画像としての高画質画像の水平方向及び垂直方向のうちの一方又は両方向の空間解像度を低下させた生徒画像としての低画質画像を生成することができる。
さらに、学習画像としての高画質画像の水平方向及び垂直方向のうちの両方向の空間解像度を低下させた生徒画像としての低画質画像を生成する場合には、学習画像としての高画質画像の水平方向及び垂直方向の空間解像度は、それぞれ別個のパラメータ、すなわち、2個のパラメータz及びz'に応じて、別個に低下させることができる。
この場合、図5の係数取得部23では、外部から2個のパラメータz及びz'が与えられ、その2個のパラメータz及びz'と種係数とを用いて、タップ係数が生成される。
以上のように、種係数としては、1個のパラメータzの他、2個のパラメータz及びz'、さらには、3個以上のパラメータを用いて、タップ係数を生成することができる種係数を求めることができる。但し、本明細書では、説明を簡単にするため、1個のパラメータzを用いてタップ係数を生成する種係数を例に、説明を行う。
学習部73は、教師データ生成部41からの教師データとしての教師画像、パラメータ生成部71からのパラメータz、及び、生徒データ生成部72からの生徒データとしての生徒画像を用いて、クラスごとの種係数を求めて出力する。
図7は、図6の学習部73の構成例を示すブロック図である。
なお、図中、図4の学習部43と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図7において、学習部73は、タップ選択部51、クラス分類部52、足し込み部81、及び、係数算出部82を有する。
したがって、図7の学習部73は、タップ選択部51、及び、クラス分類部52を有する点で、図4の学習部43と共通する。
但し、学習部73は、足し込み部53及び係数算出部54に代えて、足し込み部81、及び、係数算出部82をそれぞれ有する点で、図4の学習部43と相違する。
図7では、タップ選択部51は、図6のパラメータ生成部71で生成されるパラメータzに対応して生成された生徒画像(ここでは、パラメータzに対応するカットオフ周波数のLPFを用いて生成された生徒データとしての低画質画像)から、予測タップを選択し、足し込み部81に供給する。
足し込み部81は、図6の教師データ生成部41からの教師画像から、注目画素に対応する対応画素を取得し、その対応画素、タップ選択部51から供給される注目画素について構成された予測タップを構成する生徒データ(生徒画像の画素)、及び、その生徒データを生成したときのパラメータzを対象とした足し込みを、クラス分類部52から供給されるクラスごとに行う。
すなわち、足し込み部81には、注目画素に対応する対応画素としての教師データyk、タップ選択部51が出力する注目画素についての予測タップxi,k(xj,k)、及び、クラス分類部52が出力する注目画素のクラスが供給されるとともに、注目画素についての予測タップを構成する生徒データを生成したときのパラメータzが、パラメータ生成部71から供給される。
そして、足し込み部81は、クラス分類部52から供給されるクラスごとに、予測タップ(生徒データ)xi,k(xj,k)とパラメータzを用い、式(20)の左辺の行列における、式(18)で定義されるコンポーネントXi,p,j,qを求めるための生徒データ及びパラメータzの乗算(xi,ktpxj,ktq)と、サメーション(Σ)に相当する演算を行う。なお、式(18)のtpは、式(10)にしたがって、パラメータzから計算される。式(18)のtqも同様である。
さらに、足し込み部81は、やはり、クラス分類部52から供給されるクラスごとに、予測タップ(生徒データ)xi,k、教師データyk、及び、パラメータzを用い、式(20)の右辺のベクトルにおける、式(19)で定義されるコンポーネントYi,pを求めるための生徒データxi,k、教師データyk、及び、パラメータzの乗算(xi,ktpyk)と、サメーション(Σ)に相当する演算を行う。なお、式(19)のtpは、式(10)にしたがって、パラメータzから計算される。
すなわち、足し込み部81は、前回、教師データとしての、注目画素に対応する対応画素について求められた式(20)における左辺の行列のコンポーネントXi,p,j,qと、右辺のベクトルのコンポーネントYi,pを、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネントXi,p,j,q又はベクトルのコンポーネントYi,pに対して、新たな注目画素に対応する対応画素となった教師データについて、その教師データyk、生徒データxi,k(xj,k)、及びパラメータzを用いて計算される、対応するコンポーネントxi,ktpxj,ktq又はxi,ktpykを足し込む(式(18)のコンポーネントXi,p,j,q又は式(19)のコンポーネントYi,pにおけるサメーションで表される加算を行う)。
そして、足し込み部81は、0,1,・・・,Zのすべての値のパラメータzにつき、生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(20)に示した正規方程式をたて、その正規方程式を、係数算出部82に供給する。
係数算出部82は、足し込み部81から供給されるクラスごとの正規方程式を解くことにより、各クラスごとの種係数βm,nを求めて出力する。
ところで、図6の学習装置40では、学習画像としての高画質画像を教師データとするとともに、その高画質画像の空間解像度を、パラメータzに対応して劣化させた低画質画像を生徒データとして、タップ係数wn及び生徒データxnから式(1)の線形1次式で予測される教師データの予測値yの自乗誤差の総和を直接的に最小にする種係数βm,nを求める学習を行うようにしたが、種係数βm,nの学習としては、教師データの予測値yの自乗誤差の総和を、いわば、間接的に最小にする種係数βm,nを求める学習を行うことができる。
すなわち、学習画像としての高画質画像を教師データとするとともに、その高画質画像を、パラメータzに対応したカットオフ周波数のLPFによってフィルタリングすることにより、その水平解像度及び垂直解像度を低下させた低画質画像を生徒データとして、タップ係数wn及び生徒データxnを用いて式(1)の線形1次予測式で予測される教師データの予測値yの自乗誤差の総和を最小にするタップ係数wnを、パラメータzの値(ここでは、z=0,1,・・・,Z)ごとに求めることができる。そして、そのパラメータzの値ごとに求められたタップ係数wnを教師データとするとともに、パラメータzを生徒データとして、式(11)によって種係数βm,n及び生徒データであるパラメータzに対応する変数tmから予測される教師データとしてのタップ係数wnの予測値の自乗誤差の総和を最小にする種係数βm,nを求めることができる。
ここで、式(1)の線形1次予測式で予測される教師データの予測値yの自乗誤差の総和Eを最小(極小)にするタップ係数wnは、図3の学習装置40における場合と同様に、式(8)の正規方程式をたてて解くことにより、各クラスについて、パラメータzの値(z=0,1,・・・,Z)ごとに求めることができる。
ところで、タップ係数は、式(11)に示したように、種係数βm,nと、パラメータzに対応する変数tmとから求められる。そして、いま、この式(11)によって求められるタップ係数を、wn’と表すこととすると、次の式(21)で表される、最適なタップ係数wnと式(11)により求められるタップ係数wn’との誤差enを0とする種係数βm,nが、最適なタップ係数wnを求めるのに最適な種係数となるが、すべてのタップ係数wnについて、そのような種係数βm,nを求めることは、一般には困難である。
なお、式(21)は、式(11)によって、次式のように変形することができる。
そこで、種係数βm,nが最適なものであることを表す規範として、例えば、やはり、最小自乗法を採用することとすると、最適な種係数βm,nは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
式(23)の自乗誤差の総和Eの最小値(極小値)は、式(24)に示すように、総和Eを種係数βm,nで偏微分したものを0とするβm,nによって与えられる。
式(22)を、式(24)に代入することにより、次式が得られる。
いま、Xi,j,とYiを、式(26)と(27)に示すように定義する。
この場合、式(25)は、Xi,jとYiを用いた式(28)に示す正規方程式で表すことができる。
式(28)の正規方程式も、例えば、掃き出し法等を用いることにより、種係数βm,nについて解くことができる。
図8は、図6の学習部73の他の構成例を示すブロック図である。
すなわち、図8は、式(28)の正規方程式をたてて解くことにより種係数βm,nを求める学習を行う学習部73の構成例を示している。
なお、図中、図4又は図7の場合と対応するについては、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図8の学習部73は、タップ選択部51、クラス分類部52、係数算出部54、足し込み部91及び92、並びに、係数算出部93を有する。
したがって、図8の学習部73は、タップ選択部51、クラス分類部52、及び、係数算出部54を有する点で、図4の学習部43と共通する。
但し、図8の学習部73は、足し込み部53に代えて、足し込み部91を有する点、並びに、足し込み部92及び係数算出部93を新たに有する点で、図4の学習部43と相違する。
足し込み部91には、クラス分類部52が出力する注目画素のクラスと、パラメータ生成部71が出力するパラメータzが供給される。足し込み部91は、教師データ生成部41からの教師画像のうちの、注目画素に対応する対応画素としての教師データと、タップ選択部51から供給される注目画素についての予測タップを構成する生徒データとを対象とした足し込みを、クラス分類部52から供給されるクラスごとに、かつ、パラメータ生成部71が出力するパラメータzの値ごとに行う。
すなわち、足し込み部91には、教師データyk、予測タップxn,k、注目画素のクラス、及び、予測タップxn,kを構成する生徒画像を生成したときのパラメータzが供給される。
足し込み部91は、注目画素のクラスごとに、かつ、パラメータzの値ごとに、予測タップ(生徒データ)xn,kを用い、式(8)の左辺の行列における生徒データどうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
さらに、足し込み部91は、注目画素のクラスごとに、かつ パラメータzの値ごとに、予測タップ(生徒データ)xn,kと教師データykを用い、式(8)の右辺のベクトルにおける生徒データxn,k及び教師データykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
すなわち、足し込み部91は、前回、教師データとしての、注目画素に対応する対応画素について求められた式(8)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)又はベクトルのコンポーネント(Σxn,kyk)に対して、新たな注目画素に対応する対応画素となった教師データについて、その教師データyk+1及び生徒データxn,k+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1又はxn,k+1yk+1を足し込む(式(8)のサメーションで表される加算を行う)。
そして、足し込み部91は、生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、パラメータzの各値ごとに、式(8)に示した正規方程式をたて、その正規方程式を、係数算出部54に供給する。
したがって、足し込み部91は、図4の足し込み部53と同様に、各クラスについて、式(8)の正規方程式をたてる。但し、足し込み部91は、さらに、パラメータzの各値ごとにも、式(8)の正規方程式をたてる点で、図4の足し込み部53と異なる。
係数算出部54は、足し込み部91から供給される各クラスについての、パラメータzの値ごとの正規方程式を解くことにより、各クラスについて、パラメータzの値ごとの最適なタップ係数wnを求め、足し込み部92に供給する。
足し込み部92は、パラメータ生成部71(図6)から供給されるパラメータz(に対応する変数tm)と、係数算出部54から供給される最適なタップ係数wnを対象とした足し込みを、クラスごとに行う。
すなわち、足し込み部92は、パラメータ生成部71から供給されるパラメータzから式(10)によって求められる変数ti(tj)を用い、式(28)の左辺の行列における、式(26)で定義されるコンポーネントXi,jを求めるためのパラメータzに対応する変数ti(tj)どうしの乗算(titj)と、サメーション(Σ)に相当する演算を、クラスごとに行う。
ここで、コンポーネントXi,jは、パラメータzによってのみ決まるものであり、クラスとは関係がないので、コンポーネントXi,jの計算は、実際には、クラスごとに行う必要はなく、1回行うだけで済む。
さらに、足し込み部92は、パラメータ生成部71から供給されるパラメータzから式(10)によって求められる変数tiと、係数算出部54から供給される最適なタップ係数wnとを用い、式(28)の右辺のベクトルにおける、式(27)で定義されるコンポーネントYiを求めるためのパラメータzに対応する変数ti及び最適なタップ係数wnの乗算(tiwn)と、サメーション(Σ)に相当する演算を、クラスごとに行う。
足し込み部92は、各クラスごとに、式(26)で表されるコンポーネントXi,jと、式(27)で表されるコンポーネントYiを求めることにより、各クラスについて、式(28)の正規方程式をたて、その正規方程式を、係数算出部93に供給する。
係数算出部93は、足し込み部92から供給されるクラスごとの式(28)の正規方程式を解くことにより、各クラスごとの種係数βm,nを求めて出力する。
図5の係数取得部61には、以上のようにして求められたクラスごとの種係数βm,nを記憶させることができる。
なお、種係数の学習においても、タップ係数の学習における場合と同様に、第1の画像に対応する生徒データと、第2の画像に対応する教師データとする画像の選択の仕方によって、種係数としては、各種の画像変換処理を行う種係数を得ることができる。
すなわち、上述の場合には、学習画像を、そのまま第2の画像に対応する教師データとするとともに、その学習画像の空間解像度を劣化させた低画質画像を、第1の画像に対応する生徒データとして、種係数の学習を行うようにしたことから、種係数としては、第1の画像を、その空間解像度を向上させた第2の画像に変換する空間解像度創造処理としての画像変換処理を行う種係数を得ることができる。
この場合、図5の画像変換装置20では、画像の水平解像度及び垂直解像度を、パラメータzに対応する解像度に向上させることができる。
また、例えば、高画質画像を教師データとするとともに、その教師データとしての高画質画像に対して、パラメータzに対応するレベルのノイズを重畳した画像を生徒データとして、種係数の学習を行うことにより、種係数としては、第1の画像を、そこに含まれるノイズを除去(低減)した第2の画像に変換するノイズ除去処理としての画像変換処理を行う種係数を得ることができる。この場合、図5の画像変換装置20では、パラメータzに対応するS/Nの画像(パラメータzに対応する強度のノイズ除去を施した画像)を得ることができる。
なお、上述の場合には、タップ係数wnを、式(9)に示したように、β1,nz0+β2,nz1+・・・+βM,nzM-1で定義し、この式(9)によって、水平及び垂直方向の空間解像度を、いずれも、パラメータzに対応して向上させるためのタップ係数wnを求めるようにしたが、タップ係数wnとしては、水平解像度と垂直解像度を、独立のパラメータzxとzyに対応して、それぞれ独立に向上させるものを求めるようにすることも可能である。
すなわち、タップ係数wnを、式(9)に代えて、例えば、3次式β1,nzx
0zy
0+β2,nzx
1zy
0+β3,nzx
2zy
0+β4,nzx
3zy
0+β5,nzx
0zy
1+β6,nzx
0zy
2+β7,nzx
0zy
3+β8,nzx
1zy
1+β9,nzx
2zy
1+β10,nzx
1zy
2で定義するとともに、式(10)で定義した変数tmを、式(10)に代えて、例えば、t1=zx
0zy
0,t2=zx
1zy
0,t3=zx
2zy
0,t4=zx
3zy
0,t5=zx
0zy
1,t6=zx
0zy
2,t7=zx
0zy
3,t8=zx
1zy
1,t9=zx
2zy
1,t10=zx
1zy
2で定義する。この場合も、タップ係数wnは、最終的には、式(11)で表すことができ、したがって、図6の学習装置40において、パラメータzxとzyに対応して、教師データの水平解像度と垂直解像度をそれぞれ劣化させた画像を、生徒データとして用いて学習を行って、種係数βm,nを求めることにより、水平解像度と垂直解像度を、独立のパラメータzxとzyに対応して、それぞれ独立に向上させるタップ係数wnを求めることができる。
その他、例えば、水平解像度と垂直解像度それぞれに対応するパラメータzxとzyに加えて、さらに、時間方向の解像度に対応するパラメータztを導入することにより、水平解像度、垂直解像度、時間解像度を、独立のパラメータzx,zy,ztに対応して、それぞれ独立に向上させるタップ係数wnを求めることが可能となる。
さらに、図6の学習装置40において、パラメータzxに対応して教師データの水平解像度及び垂直解像度を劣化させるとともに、パラメータzyに対応して教師データにノイズを付加した画像を、生徒データとして用いて学習を行って、種係数βm,nを求めることにより、パラメータzxに対応して水平解像度及び垂直解像度を向上させるとともに、パラメータzyに対応してノイズ除去を行うタップ係数wnを求めることができる。
<符号化装置11の第1の構成例>
図9は、図1の符号化装置11の第1の構成例を示すブロック図である。
図9において、符号化装置11は、A/D変換部101、並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、及び、蓄積バッファ107を有する。さらに、符号化装置11は、逆量子化部108、逆直交変換部109、演算部110、DF111、SAO112、クラス分類適応フィルタ113、フレームメモリ114、選択部115、イントラ予測部116、動き予測補償部117、予測画像選択部118、及び、レート制御部119を有する。
A/D変換部101は、アナログ信号の元画像を、ディジタル信号の元画像にA/D変換し、並べ替えバッファ102に供給して記憶させる。
並べ替えバッファ102は、元画像のフレームを、GOP(Group Of Picture)に応じて、表示順から符号化(復号)順に並べ替え、演算部103、イントラ予測部116、動き予測補償部117、及び、クラス分類適応フィルタ113に供給する。
演算部103は、並べ替えバッファ102からの元画像から、予測画像選択部118を介してイントラ予測部116又は動き予測補償部117から供給される予測画像を減算し、その減算により得られる残差(予測残差)を、直交変換部104に供給する。
例えば、インター符号化が行われる画像の場合、演算部103は、並べ替えバッファ102から読み出された元画像から、動き予測補償部117から供給される予測画像を減算する。
直交変換部104は、演算部103から供給される残差に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、直交交換により得られる変換係数を量子化部105に供給する。
量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部119から供給される符号量の目標値(符号量目標値)に基づいて量子化パラメータQPを設定し、変換係数の量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
可逆符号化部106は、量子化部105において量子化された変換係数を所定の可逆符号化方式で符号化する。変換係数は、レート制御部119の制御の下で量子化されているので、可逆符号化部106の可逆符号化により得られる符号化データの符号量は、レート制御部119が設定した符号量目標値となる(又は符号量目標値に近似する)。
また、可逆符号化部106は、符号化装置11での予測符号化に関する符号化情報のうちの、必要な符号化情報を、各ブロックから取得する。
ここで、符号化情報としては、例えば、イントラ予測やインター予測の予測モード、動きベクトル等の動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ(I,P,B)、CU(Coding Unit)やCTU(Coding Tree Unit)の情報等がある。
例えば、予測モードは、イントラ予測部116や動き予測補償部117から取得することができる。また、例えば、動き情報は、動き予測補償部117から取得することができる。
可逆符号化部106は、符号化情報を取得する他、クラス分類適応フィルタ113から、そのクラス分類適応フィルタ113でのクラス分類適応処理に関するフィルタ情報を取得する。図9では、フィルタ情報には、クラスごとのタップ係数が必要に応じて含まれる。
可逆符号化部106は、符号化情報及びフィルタ情報を、任意の可逆符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。
可逆符号化部106は、符号化データを、蓄積バッファ107を介して伝送する。したがって、可逆符号化部106は、符号化データ、ひいては、符号化データに含まれる符号化情報やフィルタ情報を伝送する伝送部として機能する。
可逆符号化部106の可逆符号化方式としては、例えば、可変長符号化又は算術符号化等を採用することができる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)等がある。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)等がある。
蓄積バッファ107は、可逆符号化部106から供給される符号化データを、一時的に蓄積する。蓄積バッファ107に蓄積された符号化データは、所定のタイミングで読み出されて伝送される。
量子化部105において量子化された変換係数は、可逆符号化部106に供給される他、逆量子化部108にも供給される。逆量子化部108は、量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、逆量子化により得られる変換係数を、逆直交変換部109に供給する。
逆直交変換部109は、逆量子化部108から供給される変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(復元された残差)は、演算部110に供給される。
演算部110は、逆直交変換部109から供給される逆直交変換結果、すなわち、復元された残差に、予測画像選択部118を介してイントラ予測部116又は動き予測補償部117から供給される予測画像を加算し、その加算結果を、復号途中の復号途中画像として出力する。
演算部110が出力する復号途中画像は、DF111又はフレームメモリ114に供給される。
DF111は、演算部110からの復号途中画像にDFのフィルタ処理を行い、そのフィルタ処理後の復号途中画像を、SAO112に供給する。
SAO112は、DF111からの復号途中画像に、SAOのフィルタ処理を行い、クラス分類適応フィルタ113に供給する。
クラス分類適応フィルタ113は、クラス分類適応処理によって、ILFであるDF,SAO、及び、ALFのうちの、ALFとして機能するフィルタで、クラス分類適応処理によって、ALFに相当するフィルタ処理を行う。
クラス分類適応フィルタ113には、SAO112から復号途中画像が供給される他、並べ替えバッファ102から、復号途中画像に対応する元画像が供給されるとともに、クラス分類適応フィルタ113のフィルタ処理よりも前段で行われる前段フィルタ処理としてのDF111やSAO112のフィルタ処理に関する前段フィルタ関連情報が供給される。
ここで、前段フィルタ処理としてのフィルタ処理を行うDF111のフィルタ処理に関する前段フィルタ関連情報を、DF情報ともいい、前段フィルタ処理としてのフィルタ処理を行うSAO112のフィルタ処理に関する前段フィルタ関連情報を、SAO情報ともいう。
クラス分類適応フィルタ113は、SAO112からの復号途中画像に相当する生徒画像と、並べ替えバッファ102からの元画像に相当する教師画像とを用いるとともに、必要に応じて、前段フィルタ処理情報としてのDF情報やSAO情報を用いて、クラスごとのタップ係数を求める学習を行う。
すなわち、クラス分類適応フィルタ113は、例えば、SAO112からの復号途中画像そのものを生徒画像とするとともに、並べ替えバッファ102からの元画像そのものを教師画像として、前段フィルタ処理情報としてのDF情報やSAO情報を用いて、クラスごとのタップ係数を求める学習を行う。クラスごとのタップ係数は、フィルタ情報として、クラス分類適応フィルタ113から可逆符号化部106に供給される。
さらに、クラス分類適応フィルタ113は、SAO112からの復号途中画像を第1の画像として、クラスごとのタップ係数を用いたクラス分類適応処理(による画像変換)を、前段フィルタ処理情報としてのDF情報やSAO情報を用いて行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)出力する。
クラス分類適応フィルタ113が出力するフィルタ後画像は、フレームメモリ114に供給される。
ここで、クラス分類適応フィルタ113では、上述のように、復号途中画像を生徒画像とするとともに、元画像を教師画像として、学習が行われ、その学習により得られるタップ係数を用いて、復号途中画像をフィルタ後画像に変換するクラス分類適応処理が行われる。したがって、クラス分類適応フィルタ113で得られるフィルタ後画像は、極めて元画像に近い画像になる。
フレームメモリ114は、演算部110から供給される復号途中画像、又は、クラス分類適応フィルタ113から供給されるフィルタ後画像を、局所復号された復号画像として一時記憶する。フレームメモリ114に記憶された復号画像は、必要なタイミングで、予測画像の生成に用いられる参照画像として、選択部115に供給される。
選択部115は、フレームメモリ114から供給される参照画像の供給先を選択する。例えば、イントラ予測部116においてイントラ予測が行われる場合、選択部115は、フレームメモリ114から供給される参照画像を、イントラ予測部116に供給する。また、例えば、動き予測補償部117においてインター予測が行われる場合、選択部115は、フレームメモリ114から供給される参照画像を、動き予測補償部117に供給する。
イントラ予測部116は、並べ替えバッファ102から供給される元画像と、選択部115を介してフレームメモリ114から供給される参照画像とを用いて、例えば、PU(Prediction Unit)を処理単位として、イントラ予測(画面内予測)を行う。イントラ予測部116は、所定のコスト関数(例えば、RD(Rate-Distortion)コスト)に基づいて、最適なイントラ予測モードを選択し、その最適なイントラ予測モードで生成された予測画像を、予測画像選択部118に供給する。また、上述したように、イントラ予測部116は、コスト関数に基づいて選択されたイントラ予測モードを示す予測モードを、可逆符号化部106等に適宜供給する。
動き予測補償部117は、並べ替えバッファ102から供給される元画像と、選択部115を介してフレームメモリ114から供給される参照画像とを用いて、例えば、PUを処理単位として、動き予測(インター予測)を行う。さらに、動き予測補償部117は、動き予測により検出される動きベクトルに応じて動き補償を行い、予測画像を生成する。動き予測補償部117は、あらかじめ用意された複数のインター予測モードで、インター予測を行い、予測画像を生成する。
動き予測補償部117は、複数のインター予測モードそれぞれについて得られた予測画像の所定のコスト関数に基づいて、最適なインター予測モードを選択する。さらに、動き予測補償部117は、最適なインター予測モードで生成された予測画像を、予測画像選択部118に供給する。
また、動き予測補償部117は、コスト関数に基づいて選択されたインター予測モードを示す予測モードや、そのインター予測モードで符号化された符号化データを復号する際に必要な動きベクトル等の動き情報等を、可逆符号化部106に供給する。
予測画像選択部118は、演算部103及び110に供給する予測画像の供給元(イントラ予測部116又は動き予測補償部117)を選択し、その選択した方の供給元から供給される予測画像を、演算部103及び110に供給する。
レート制御部119は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。すなわち、レート制御部119は、蓄積バッファ107のオーバーフロー及びアンダーフローが生じないように、符号化データの目標符号量を設定し、量子化部105に供給する。
<前段フィルタ関連情報の例>
図10は、クラス分類適応フィルタ113がクラス分類適応処理(及び学習)に用いる前段フィルタ関連情報としてのDF情報及びSAO情報の例を示す図である。
DF情報としては、例えば、注目画素を含むブロック(以下、注目ブロックともいう)における、注目画素の位置情報や、注目ブロックのブロックサイズ、注目画素にDFがかけられたかどうか(適用されたかどうか)、注目画素にDFがかけられた場合には、そのDFのフィルタ強度(ストロングフィルタ(Strong Filter)及びウィークフィルタ(Weak Filter)のうちのいずれがかけられたか)、DFのバウンダリストレングス(Boundary strength)、DFの内部パラメータであるTC及びβ、DFがかけられる前と後との注目画素の画素値の差分(フィルタ前後の画素差分値)等を採用することができる。
注目画素の位置情報としては、注目ブロックのブロック境界を基準とする注目画素の位置(注目画素とブロック境界との距離)や、注目ブロック内の注目画素の位置等を採用することができる。
例えば、注目画素の位置情報として、注目ブロックのブロック境界を基準とする注目画素の位置を採用する場合、注目ブロックのあるブロック境界に隣接する注目画素の位置情報としての、注目画素とブロック境界との距離は、0になる。
また、例えば、注目画素の位置情報として、注目ブロック内の注目画素の位置を採用する場合、注目ブロックが、例えば、8×8画素で構成されるときには、注目画素の位置情報は、注目ブロックを構成する64画素=8×8画素の64個の位置のうちの、注目画素の位置を表す。
SAO情報としては、例えば、SAOのフィルタタイプ(エッジオフセット又はバンドオフセット)や、オフセット値、SAOクラス、SAOがかけられる前と後との注目画素の画素値の差分(フィルタ前後の画素差分値)等を採用することができる。
以下、説明を簡単にするため、クラス分類適応フィルタ113がクラス分類適応処理に用いる前段フィルタ関連情報としては、例えば、DF情報を採用することとする。
<クラス分類適応フィルタ113の構成例>
図11は、図9のクラス分類適応フィルタ113の構成例を示すブロック図である。
図11において、クラス分類適応フィルタ113は、学習装置131、フィルタ情報生成部132、及び、画像変換装置133を有する。
学習装置131には、並べ替えバッファ102(図9)から元画像が供給されるとともに、SAO112(図9)から復号途中画像が供給される。さらに、学習装置131には、クラス分類適応フィルタ113のフィルタ処理よりも前段で行われる前段フィルタ処理としてのDF111のフィルタ処理に関する前段フィルタ関連情報としてのDF情報が、DF111から供給される。
学習装置131は、復号途中画像を生徒データとするとともに、元画像を教師データとして、DF情報を用いるクラス分類を行い、クラスごとのタップ係数を求める学習(以下、タップ係数学習ともいう)を行う。
さらに、学習装置131は、タップ係数学習により得られるクラスごとのタップ係数、及び、そのクラスごとのタップ係数を得るのに用いたクラス分類の方法を表す分類方法情報を、フィルタ情報生成部132に供給する。
フィルタ情報生成部132は、学習装置131からのクラスごとのタップ係数及び分類方法情報を必要に応じて含むフィルタ情報を生成し、画像変換装置133及び可逆符号化部106(図9)に供給する。
画像変換装置133には、フィルタ情報生成部132からフィルタ情報が供給される他、SAO112(図9)から復号途中画像が供給されるとともに、DF111から、DF情報が供給される。
画像変換装置133は、例えば、復号途中画像を第1の画像として、フィルタ情報生成部132からのフィルタ情報に含まれるクラスごとのタップ係数を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、フレームメモリ114(図9)に供給する。
画像変換装置133は、クラス分類適応処理において、学習装置131と同様に、クラス分類を、DF111からのDF情報を用いて行う。また、画像変換装置133は、DF情報を用いるクラス分類として、フィルタ情報生成部132からのフィルタ情報に含まれる分類方法情報が表す方法のクラス分類を行う。
ここで、例えば、DF111が、HEVCで規定されているDF(としてのLPF(Low Pass Filter))であるとすると、DF111は、水平又は垂直方向に連続して並ぶ5画素がフィルタ処理に用いられる5タップのフィルタである。かかる5タップのDF111では、ブロックノイズが十分に低減されないことがあり得る。
一方、クラス分類適応フィルタ113では、DF111でフィルタ処理に用いられる5画素よりも広い範囲に分布する画素や数の多い画素を予測タップとして、フィルタ処理を行うことができ、DF111で十分に低減することができないブロックノイズを低減すること等ができる。
クラス分類適応フィルタ113では、画素に対して、その画素のクラスに対応するフィルタ処理が施される。したがって、画素が適切にクラス分類される場合には、画素に対して、適切なフィルタ処理を施すことができる。
言い換えれば、画素に対して、適切なフィルタ処理を施すには、画素を適切なクラスにクラス分類する必要がある。
DF111で十分に低減することができないブロックノイズを十分に低減するには、例えば、画素に対して行われたDF111のフィルタ処理によって、画素をクラス分類することが望ましい。
ところで、クラス分類は、例えば、図2で説明したように、注目画素のクラスタップから得られるADRCコード等の注目画素の画像特徴量を用いて行うことができる。
ADRCコードを用いたクラス分類では、注目画素が、その注目画素の周辺の波形パターン(画素値の凹凸)によって分類されるが、画素に対して行われたDF111のフィルタ処理によって分類されるかどうかは定かではない。
そこで、クラス分類適応フィルタ113では、前段のDF111のフィルタ処理に関するDF情報を用いて、クラス分類を行うことができる。
DF情報を用いるクラス分類によれば、画素に対して行われたDF111のフィルタ処理によって、画素が分類され、例えば、クラス分類適応フィルタ113のフィルタ処理により、DF111で十分に低減することができないブロックノイズを、DF111のフィルタ処理と相俟って低減することができる。その結果、フィルタ後画像、ひいては、復号画像のS/Nを、大きく改善することができる。
また、DF111のフィルタ処理によりブロックノイズが除去された部分(以下、ノイズ除去部分ともいう)と、ノイズ除去部分ではないが、ノイズ除去部分と波形パターンが類似する類似部分とについては、クラス分類適応フィルタ113において、別個の適切なフィルタ処理を行うことで、フィルタ後画像(ひいては、復号画像)のS/Nを、大きく改善することができる。
しかしながら、ADRCコード等の注目画素の画像特徴量だけを用いたクラス分類では、波形パターンが類似するノイズ除去部分と類似部分とが別個のクラスにクラス分類されずに、同一のクラスに分類され、別個の適切なフィルタ処理を行うことが困難である。
これに対して、DF情報を用いるクラス分類によれば、波形パターンが類似するノイズ除去部分と類似部分とを、別個のクラスにクラス分類することができる。その結果、波形パターンが類似するノイズ除去部分と類似部分とについて、別個の適切なフィルタ処理を行って、フィルタ後画像のS/Nを、大きく改善することができる。
なお、クラス分類適応フィルタ113では、学習装置131において、タップ係数学習が適宜行われ、クラスごとのタップ係数が更新される。そして、更新後のクラスごとのタップ係数が、フィルタ情報に含められ、符号化装置11から復号装置12に伝送される。この場合、タップ係数の伝送の頻度が多いと、オーバーヘッドが増加して、圧縮効率が悪化する。
一方、復号途中画像(ひいては、元画像)の時間方向の相関が高い場合には、クラス分類適応フィルタ113において、直前のタップ係数の更新時と同一のタップ係数を用いたフィルタ処理を行っても、フィルタ後画像のS/Nを維持することができる。
さらに、クラス分類適応フィルタ113において、直前のタップ係数の更新時と同一のタップ係数を用いたフィルタ処理を行う場合には、復号装置12でも、直前まで用いていたタップ係数を継続して用いることができる。この場合、タップ係数を、符号化装置11から復号装置12に新たに伝送せずに済み、圧縮効率を向上させることができる。
以上のような圧縮効率の向上のため、フィルタ情報生成部132では、フィルタ情報に、クラスごとのタップ係数及び分類方法情報に代えて、クラス分類の方法及びタップ係数として、直前の更新時と同一のクラス分類の方法及びタップ係数を用いるかどうかを表すコピー情報としてのフラグ等を含ませることができる(符号化データのシンタクスとして、クラスごとのタップ係数及び分類方法情報のシンタクスの他に、コピー情報のシンタクスを設けることができる)。
フィルタ情報に、タップ係数及び分類方法情報に代えて、コピー情報を含ませることにより、タップ係数及び分類方法情報を含ませる場合に比較して、フィルタ情報のデータ量を大きく低減し、圧縮効率を向上させることができる。
フィルタ情報生成部132において、クラス分類の方法及びタップ係数として、直前の更新時と同一のクラス分類の方法及びタップ係数を用いることを表すコピー情報は、例えば、学習装置131から供給された最新の分類方法情報が、学習装置131から供給された前回の分類方法情報と一致している場合や、今回のタップ係数学習に用いられた元画像のシーケンスと、前回のタップ係数学習に用いられた元画像のシーケンスとの時間方向の相関が高い場合等に、フィルタ情報に含ませることができる。
クラス分類の方法及びタップ係数の更新を行う更新単位としては、例えば、複数のフレーム(ピクチャ)、1フレーム、CUその他のブロック等の、任意のピクチャシーケンスを採用し、その更新単位を最小単位とするタイミングで、クラス分類の方法及びタップ係数を更新することができる。
例えば、本技術を、HEVC(又はHEVCに準ずる符号化方式)に適用する場合、更新単位として、複数のフレームを採用するときには、フィルタ情報は、例えば、Sequence parameter set syntaxとして、符号化データに含ませることができる。また、更新単位として、1フレームを採用するときには、フィルタ情報は、例えば、Picture parameter set syntaxとして、符号化データに含ませることができる。さらに、更新単位として、CU等のブロックを採用する場合には、フィルタ情報は、例えば、Slice data syntaxとして、符号化データに含ませることができる。
また、フィルタ情報は、Sequence parameter set syntax,Picture parameter set syntax、及び、Slice data syntaxの任意の複数階層に含ませることができる。この場合、あるブロックに対しては、複数階層に含まれるフィルタ情報の中で、より粒度の細かい階層のフィルタ情報を優先して適用することができる。例えば、あるブロックに対するSequence parameter set syntax、及び、Slice data syntaxの両方に、フィルタ情報が含まれるときには、そのブロックに対しては、Slice data syntaxに含まれるフィルタ情報を優先的に適用することができる。
<学習装置131の構成例>
図12は、図11の学習装置131の構成例を示すブロック図である。
図12において、学習装置131は、クラス分類方法決定部151、学習部152、及び、不使用係数削除部153を有する。
クラス分類方法決定部151は、例えば、あらかじめ決められた複数のクラス分類の方法(以下、クラス分類法ともいう)(の情報)を記憶している。
クラス分類方法決定部151は、例えば、タップ係数学習の開始時に、複数のクラス分類法の中から、学習部152(のクラス分類部162)で用いるクラス分類法(以下、採用クラス分類法ともいう)を決定し、その採用クラス分類法を表す分類方法情報を、学習部152(のクラス分類部162)に供給する。
さらに、クラス分類方法決定部151は、分類方法情報を、学習装置131の外部としてのフィルタ情報生成部132(図11)に供給(出力)する。クラス分類方法決定部151がフィルタ情報生成部132に供給する分類方法情報は、フィルタ情報に含めて、可逆符号化部106(図9)に供給されて伝送される。
ここで、上述のように、採用クラス分類法は、クラス分類方法決定部151が記憶する複数のクラス分類法の中から決定されるので、クラス分類方法決定部151が記憶するクラス分類法は、採用クラス分類法の候補であるということができる。
クラス分類方法決定部151が記憶する採用クラス分類法の(複数の)候補としては、例えば、DF情報を用いる(1又は2以上の)クラス分類や、DF情報を用いずに、他の情報(例えば、画像特徴量や符号化情報等)を用いる(0又は1以上の)クラス分類、DF情報と他の情報とを用いる(0又は1以上の)クラス分類等の方法を採用することができる。
さらに、採用クラス分類法の候補としては、例えば、DF情報を用いるクラス分類の方法であっても、大まかなクラス(クラス数が少ないクラス)に、いわば粗い分類を行うクラス分類の方法や、細かいクラス(クラス数が多いクラス)に、いわば細かい分類を行うクラス分類の方法等を採用することができる。
クラス分類方法決定部151では、例えば、復号途中画像や、符号化情報等の、符号化装置11での元画像の予測符号化により得られる符号化データから取得することができる取得可能情報、すなわち、符号化装置11及び復号装置12のいずれでも取得することができる取得可能情報に応じて、採用クラス分類法を決定することができる。
また、クラス分類方法決定部151では、例えば、元画像等の、符号化装置11でのみ取得することができる情報に応じて、採用クラス分類法を決定することができる。
具体的には、例えば、クラス分類方法決定部151では、復号画像の品質、すなわち、例えば、符号化情報の1つである量子化パラメータQPに応じて、採用クラス分類法を決定することができる。
ここで、量子化パラメータQPが大きい場合には、量子化誤差(歪み)が大になり、復号画像において、ブロックノイズが大になりやすい。一方、量子化パラメータQPが小さい場合には、量子化誤差が小になり、復号画像において、ブロックノイズは小になるか、生じない。したがって、量子化パラメータQPは、復号画像の品質(画質)を表す。
そこで、量子化パラメータQPが閾値より大きい場合には、復号画像において、ブロックノイズが大になりやすい(したがって、DF111でフィルタ処理が適用される画素が多くなりやすい)ので、DF111のフィルタ処理によって画素を分類するために、DF情報を用いるクラス分類の方法を、採用クラス分類法に決定することができる。
また、この場合、採用クラス分類法の候補に、DF情報を用いるクラス分類の方法として、粗い分類を行うクラス分類の方法と、細かい分類を行うクラス分類の方法とが含まれるときには、細かい分類を行うクラス分類の方法を、採用クラス分類法に決定することができる。
一方、量子化パラメータQPが閾値より大きくない場合には、DF情報を用いずに、他の情報(例えば、画像特徴量や符号化情報等)を用いるクラス分類や、DF情報を用いるクラス分類のうちの粗い分類を行うクラス分類の方法を、採用クラス分類法に決定することができる。
また、例えば、クラス分類方法決定部151では、復号途中画像の画像特徴量に応じて、採用クラス分類法を決定することができる。
例えば、復号途中画像が、微小な振幅の変化の画素値が多く、画素値にステップ状の段差がある領域が多い画像である場合には、復号途中画像に、多くのブロックノイズが含まれる(したがって、DF111でフィルタ処理が適用される画素が多い)と推測されるので、DF111のフィルタ処理によって画素を分類するために、DF情報を用いるクラス分類の方法、特に、細かい分類を行うクラス分類の方法を、採用クラス分類法に決定することができる。
一方、復号途中画像が、微小な振幅が多く、画素値にステップ状の段差がある領域が多い画像でない場合には、DF情報を用いずに、他の情報を用いるクラス分類や、DF情報を用いるクラス分類のうちの粗い分類を行うクラス分類の方法を、採用クラス分類法に決定することができる。
ここで、画素値の振幅の変化については、例えば、復号途中画像の画素のクラスタップを構成し、そのクラスタップを構成する画素の輝度等の画素値の最大値と最小値との差分であるDR(Dynamic Range)を、復号途中画像の画素の画像特徴量として求め、そのDRを、画素値の振幅の変化の指標とすることができる。
すなわち、DRが小であることは、画素値の振幅の変化が小であることを表し、DRが大であることは、画素値の振幅の変化が大であることを表す。
また、画素値のステップ状の段差については、例えば、復号途中画像の画素のクラスタップにおいて、水平、垂直、斜め方向に隣接する画素の画素値の差分絶対値の最大値であるDiffMaxを用いたDiffMax/DRを、復号途中画像の画素の画像特徴量として求め、そのDiffMax/DRを、画素値のステップ状の段差の指標にすることができる。
DiffMax/DRは、クラスタップにおいて、DRの振幅を何画素かけて登り切るかを表し、クラスタップを構成する画素の画素値の勾配が大であるほど、1に近づく。勾配が大であるであることは、画素値にステップ状の段差があることに相当する。
復号途中画像が、微小な振幅の変化の画素値が多く、画素値にステップ状の段差がある領域が多い画像であるかどうかは、例えば、復号途中画像のピクチャ単位等の所定の単位で、画像特徴量としてのDR及びDiffMax/DRのヒストグラムを求め、そのヒストグラムに基づいて判定することができる。
クラス分類方法決定部151では、その他、例えば、復号途中画像において、DF111でフィルタ処理が適用された画素の割合に応じて、採用クラス分類法を決定することができる。
例えば、復号途中画像のピクチャにおいて、DF111のストロングフィルタ又はウィークフィルタが適用された画素の割合が閾値より大きい場合には、DF111のフィルタ処理によって画素を分類するために、DF情報を用いるクラス分類の方法、特に、細かい分類を行うクラス分類の方法を、採用クラス分類法に決定することができる。
一方、復号途中画像のピクチャにおいて、DF111のストロングフィルタ又はウィークフィルタが適用された画素の割合が閾値より大きくない場合には、DF情報を用いずに、他の情報を用いるクラス分類や、DF情報を用いるクラス分類のうちの粗い分類を行うクラス分類の方法を、採用クラス分類法に決定することができる。
なお、クラス分類方法決定部151では、上述のように、量子化パラメータQPや、復号途中画像の画像特徴量、ストロングフィルタ又はウィークフィルタが適用された画素の割合に応じて、採用クラス分類法を決定する他、複数のクラス分類法の中から、ランダムに1つのクラス分類法を選択し、その候補を、採用クラス分類法に決定することができる。
また、クラス分類方法決定部151では、複数のクラス分類法の中から、復号画像の画質、及び、符号化データのデータ量を最良にする候補、すなわち、例えば、RDコストを最良にするクラス分類法を選択し、その候補を、採用クラス分類法に決定することができる。
さらに、クラス分類適応フィルタ113で用いるクラス分類法は、複数のクラス分類法の中から決定するのではなく、DF情報を用いる特定のクラス分類の方法に固定することができる。
この場合、学習装置131は、クラス分類方法決定部151を設けずに構成することができる。さらに、この場合、分類方法情報については、フィルタ情報に含めて伝送する必要はない。
ここで、クラス分類方法決定部151で決定される採用クラス分類法は、DF情報を用いるクラス分類の方法に限定されるものではないが、以下では、説明を簡単にするため、採用クラス分類法は、特に断らない限り、DF情報を用いるクラス分類の方法であることとする。
学習部152は、タップ選択部161、クラス分類部162、足し込み部163、及び、係数算出部164を有する。
タップ選択部161ないし係数算出部164は、図4の学習部43を構成するタップ選択部51ないし係数算出部54とそれぞれ同様の処理を行う。
学習部152には、生徒データとしての復号途中画像、教師データとしての元画像、及び、DF111からのDF情報が供給される。そして、学習部152では、生徒データとしての復号途中画像、及び、教師データとしての元画像を用いて、図4の学習部43と同様のタップ係数学習が行われ、クラスごとのタップ係数が求められる。
但し、学習部152において、クラス分類部162は、DF111からのDF情報を用いてクラス分類を行う。
すなわち、学習部152において、クラス分類部162には、クラス分類方法決定部151から、分類方法情報が供給されるとともに、DF111からのDF情報が供給される。
クラス分類部162は、注目画素について、クラス分類方法決定部151からの分類方法情報が表すクラス分類法(採用クラス分類法)のクラス分類を、DF情報を用いて行い、クラス分類の結果得られる注目画素のクラスを、足し込み部163に供給する。
なお、クラス分類部162では、クラス分類方法決定部151が記憶している複数のクラス分類法それぞれのクラス分類を行うことができる。
したがって、クラス分類方法決定部151が、複数のクラス分類法として、例えば、DF情報を用いるクラス分類の他、DF情報を用いずに、他の情報(例えば、画像特徴量や符号化情報等)を用いるクラス分類、DF情報と他の情報とを用いるクラス分類等の方法を記憶している場合には、クラス分類部162には、DF情報の他、クラス分類に用いられ得る他の情報(他の情報を求めるときに用いられる情報を含む)も供給される。
例えば、クラス分類方法決定部151が、複数のクラス分類法の1つとして、DF情報と、取得可能情報としての復号途中画像の画像特徴量とを用いたクラス分類の方法を記憶している場合には、クラス分類部162において、復号途中画像の画像特徴量を求めるために、クラス分類部162には、図12において点線で示すように、復号途中画像が供給される。
その他、クラス分類方法決定部151では、複数のクラス分類法の1つとして、DF情報と、取得可能情報としての符号化情報とを用いたクラス分類の方法を記憶することができる。この場合、クラス分類部162には、符号化情報が供給される。
クラス分類に用いる注目画素の符号化情報としては、例えば、注目画素を含むCUやPU等のブロック内における注目画素の位置を表すブロック位相や、注目画素を含むピクチャのピクチャタイプ、注目画素を含むPUの量子化パラメータQP等を採用することができる。
学習部152では、タップ係数学習によって、クラスごとのタップ係数が求められると、係数算出部164が、そのクラスごとのタップ係数を、不使用係数削除部153に供給する。
不使用係数削除部153は、学習部152からのタップ係数学習によって得られるクラスごとのタップ係数(以下、初期係数ともいう)の中から、画質改善の効果が小さい(画素の)0又は1以上のクラスを、クラス分類適応処理の対象から除外する除外クラスの候補として検出する。
さらに、不使用係数削除部153は、除外クラスの候補の中から、除外クラス(とする候補)を選択する。除外クラスの候補の中からの、除外クラスの選択は、復号画像の画質、及び、符号化データのデータ量を最良にするように、すなわち、例えば、RDコストを最良にするように行われる。そして、不使用係数削除部153は、初期係数から、除外クラスのタップ係数を、不使用係数として削除し、不使用係数の削除後のタップ係数を、クラス分類適応処理(のフィルタ処理)に用いる採用係数として出力する。
不使用係数削除部153が出力する採用係数は、クラス分類方法決定部151が出力する分類方法情報とともに、フィルタ情報生成部132(図11)に供給される。
以上のように、初期係数から、除外クラスのタップ係数を、不使用係数として削除する場合には、その不使用係数の分だけ、符号化装置11から復号装置12に伝送されるタップ係数(採用係数)のデータ量が小になる。その結果、圧縮効率を向上させることができる。
なお、学習装置131において、採用クラス分類法の決定やタップ係数学習は、更新単位を含む復号途中画像や元画像等を用いて行うことができる。
<DF情報を用いるクラス分類>
図13は、DF111で行われるフィルタ処理の例を説明する図である。
復号途中画像では、例えば、横×縦が8×8画素のブロックの上、下、左、及び、右のブロック境界のうちの、左のブロック境界に隣接する(そのブロック内の)8画素の左境界隣接画素、及び、上のブロック境界に隣接する8画素の上境界隣接画素のそれぞれが、DF情報を有するDF情報画素になっている。
ここで、ブロックの左上の画素は、左境界隣接画素でもあるし、上境界隣接画素でもある。
DF111では、左境界隣接画素を含む4×1画素(横×縦)の範囲HW、左境界隣接画素を含む6×1画素の範囲HS、上境界隣接画素を含む1×4画素の範囲VW、上境界隣接画素を含む1×6画素の範囲VWの画素に、フィルタ処理が適用される。
ここで、範囲HWは、左境界隣接画素、その左境界隣接画素の右に隣接する1画素、及び、左に隣接する2画素の、水平方向に並ぶ4画素の範囲である。範囲HSは、左境界隣接画素、その左境界隣接画素の右に隣接する2画素、及び、左に隣接する3画素の、水平方向に並ぶ6画素の範囲である。
範囲VWは、上境界隣接画素、その上境界隣接画素の上に隣接する2画素、及び、下に隣接する1画素の、垂直方向に並ぶ4画素の範囲である。範囲VSは、上境界隣接画素、その上境界隣接画素の上に隣接する3画素、及び、下に隣接する2画素の、垂直方向に並ぶ6画素の範囲である。
DF111では、左境界隣接画素(付近)に、垂直方向のエッジが存在する(と判定された)場合、その左境界隣接画素を含む範囲HS又はHWの各画素に、水平方向のフィルタである水平フィルタが適用される。
また、DF111では、上境界隣接画素に、水平方向のエッジが存在する場合、その上境界隣接画素を含む範囲VS又はVWの各画素に、垂直方向のフィルタである垂直フィルタが適用される。
ここで、DF111で適用される水平フィルタは、水平方向に並ぶ5画素を用いてフィルタ処理を行う5タップのフィルタである。同様に、DF111で適用される垂直フィルタは、垂直方向に並ぶ5画素を用いてフィルタ処理を行う5タップのフィルタである。
4画素の範囲HWやVWの各画素に適用されるフィルタは、ウィークフィルタと呼ばれ、6画素の範囲HSやVSの各画素に適用されるフィルタは、ストロングフィルタと呼ばれる。
DF情報画素が有するDF情報によれば、ブロックの画素について、DF(としての水平フィルタ又は垂直フィルタ)が適用された画素であるかどうかや、さらに、DFが適用された画素については、その適用されたDF(の種類)が、ストロングフィルタ及びウィークフィルタのいずれであるかを認識することができる。
なお、DF111では、ブロックの四隅付近の画素については、水平フィルタ及び垂直フィルタが重複して適用されることがある。DF情報を用いるクラス分類としては、このように、水平フィルタ及び垂直フィルタが重複して適用され得ることを考慮したクラス分類を採用することができる。
図14は、DFが適用され得る復号途中画像の画素の位置情報の例を示す図である。
画素の位置情報としては、例えば、その画素を含むブロックのブロック境界を基準とする注目画素の位置(注目画素とブロック境界との距離)を採用することができる。
例えば、水平フィルタとしてのストロングフィルタ、又は、ウィークフィルタが適用された画素については、その画素に最も近い垂直方向のブロック境界からの水平方向の距離を、画素の水平方向の位置情報としての水平位置と定義することができる。
図14には、画素の水平位置が示されている。
すなわち、水平フィルタとしてのウィークフィルタが適用される画素の範囲HWにおいて、左境界隣接画素、及び、左境界隣接画素の左に隣接する画素については、垂直方向のブロック境界に隣接しており、そのブロック境界からの水平方向の距離は0(画素)になるので、水平位置は0になる。
また、水平フィルタとしてのウィークフィルタが適用される画素の範囲HWにおいて、左境界隣接画素の右に隣接する画素、及び、左境界隣接画素の左に隣接する画素のさらに左に隣接する画素については、垂直方向のブロック境界から水平方向に1画素だけ離れているので、水平位置は1になる。
さらに、水平フィルタとしてのストロングフィルタが適用される画素の範囲HSにおいて、左境界隣接画素、及び、左境界隣接画素の左に隣接する画素については、範囲HWの場合と同様に、水平位置は0になる。
また、水平フィルタとしてのストロングフィルタが適用される画素の範囲HSにおいて、左境界隣接画素の右に隣接する画素、及び、左境界隣接画素の左に隣接する画素のさらに左に隣接する画素については、やはり、範囲HWの場合と同様に、水平位置は1になる。
そして、水平フィルタとしてのストロングフィルタが適用される画素の範囲HSにおいて、左境界隣接画素の右に隣接する画素のさらに右に隣接する画素、及び、左境界隣接画素の左に隣接する画素のさらに左に隣接する画素のさらに左に隣接する画素については、垂直方向のブロック境界から水平方向に2画素だけ離れているので、水平位置は2になる。
同様に、垂直フィルタとしてのストロングフィルタ、又は、ウィークフィルタが適用された画素については、その画素に最も近い水平方向のブロック境界からの垂直方向の距離を、画素の垂直方向の位置情報としての垂直位置と定義することができる。
以上のような画素の位置情報としての水平位置や垂直位置は、ブロック境界を基準とする対称性を有する。
なお、DFが適用されていない画素については、位置情報を定義しないこととする。
DF情報を用いるクラス分類としては、以上のような画素の位置情報としての水平位置や垂直位置を用いるクラス分類を採用することができる。
図15は、DF情報を用いるクラス分類の例を示す図である。
図15のDF情報を用いるクラス分類では、DF情報から、垂直フィルタフラグ、垂直種類フラグ、垂直位置フラグ、水平フィルタフラグ、水平種類フラグ、及び、水平位置フラグが、適宜求められ、その垂直フィルタフラグ、垂直種類フラグ、垂直位置フラグ、水平フィルタフラグ、水平種類フラグ、及び、水平位置フラグのうちの必要なフラグに応じて、クラス分類が行われる。
垂直フィルタフラグは、注目画素に、DFとしての垂直フィルタが適用されたかどうかを表し、適用されていない場合、垂直フィルタフラグには、Offがセットされる。
水平フィルタフラグは、注目画素に、DFとしての水平フィルタが適用されたかどうかを表し、適用されていない場合、水平フィルタフラグには、Offがセットされる。
垂直種類フラグは、注目画素に、DFとしての垂直フィルタが適用された場合に、その適用された垂直フィルタが、ストロングフィルタであるか、又は、ウィークフィルタであるかを表す。注目画素に、ストロングフィルタが適用された場合、垂直種類フラグには、Strongがセットされ、注目画素に、ウィークフィルタが適用された場合、垂直種類フラグには、Weakがセットされる。
水平種類フラグは、注目画素に、DFとしての水平フィルタが適用された場合に、その適用された水平フィルタが、ストロングフィルタであるか、又は、ウィークフィルタであるかを表す。注目画素に、ストロングフィルタが適用された場合、水平種類フラグには、Strongがセットされ、注目画素に、ウィークフィルタが適用された場合、水平種類フラグには、Weakがセットされる。
垂直位置フラグには、DFが適用された注目画素の位置情報としての図14で説明した垂直位置がセットされる。水平位置フラグには、DFが適用された注目画素の位置情報としての図14で説明した水平位置がセットされる。
図15では、例えば、注目画素の水平フィルタフラグ及び垂直フィルタフラグがいずれもOffである場合には、注目画素は、クラス0にクラス分類される。
また、例えば、注目画素の水平フィルタフラグがOffであるが、垂直フィルタフラグがOffでない場合、すなわち、垂直種類フィルタがStrong又はWeakである場合、注目画素は、垂直種類フラグ及び垂直位置フラグに応じて、クラス31ないし35のうちのいずれかにクラス分類される。
すなわち、例えば、垂直種類フィルタがStrongであり、垂直位置フラグが0である場合には、注目画素は、クラス31にクラス分類される。
また、例えば、垂直種類フィルタがWeakであり、垂直位置フラグが0である場合には、注目画素は、クラス34にクラス分類される。
図16は、図12のクラス分類部162が、図15のDF情報を用いるクラス分類を行う場合の処理の例を説明するフローチャートである。
ステップS11において、クラス分類部162は、DF111からのDF情報から、注目画素に関係するDF情報を取得し、処理は、ステップS12に進む。
ステップS12では、クラス分類部162は、注目画素に関係するDF情報に基づいて、注目画素が、DFとしての垂直フィルタが適用された画素であるかどうかを判定する。
ステップS12において、注目画素が、DFとしての垂直フィルタが適用された画素でないと判定された場合、処理は、ステップS13に進み、クラス分類部162は、注目画素の垂直フィルタフラグに、Offをセットして、処理は、ステップS18に進む。
また、ステップS12において、注目画素が、DFとしての垂直フィルタが適用された画素であると判定された場合、処理は、ステップS14に進み、クラス分類部162は、注目画素に適用された垂直フィルタの種類が、ストロングフィルタ及びウィークフィルタのいずれであるかを判定する。
ステップS14において、注目画素に適用された垂直フィルタがウィークフィルタであると判定された場合、処理は、ステップS15に進み、クラス分類部162は、垂直種類フラグに、Weakをセットして、処理は、ステップS17に進む。
また、ステップS14において、注目画素に適用された垂直フィルタがストロングフィルタであると判定された場合、処理は、ステップS16に進み、クラス分類部162は、垂直種類フラグに、Strongをセットして、処理は、ステップS17に進む。
ステップS17では、クラス分類部162は、垂直フィルタが適用された注目画素の垂直位置を求め、その垂直位置を、垂直位置フラグにセットして、処理は、ステップS18に進む。
ステップS18では、クラス分類部162は、注目画素に関係するDF情報に基づいて、注目画素が、DFとしての水平フィルタが適用された画素であるかどうかを判定する。
ステップS18において、注目画素が、DFとしての水平フィルタが適用された画素でないと判定された場合、処理は、ステップS19に進み、クラス分類部162は、注目画素の水平フィルタフラグに、Offをセットして、処理は、ステップS24に進む。
また、ステップS18において、注目画素が、DFとしての水平フィルタが適用された画素であると判定された場合、処理は、ステップS20に進み、クラス分類部162は、注目画素に適用された水平フィルタの種類が、ストロングフィルタ及びウィークフィルタのいずれであるかを判定する。
ステップS20において、注目画素に適用された水平フィルタがウィークフィルタであると判定された場合、処理は、ステップS21に進み、クラス分類部162は、水平種類フラグに、Weakをセットして、処理は、ステップS23に進む。
また、ステップS20において、注目画素に適用された水平フィルタがストロングフィルタであると判定された場合、処理は、ステップS22に進み、クラス分類部162は、水平種類フラグに、Strongをセットして、処理は、ステップS23に進む。
ステップS23では、クラス分類部162は、水平フィルタが適用された注目画素の水平位置を求め、その水平位置を、水平位置フラグにセットして、処理は、ステップS24に進む。
ステップS24では、クラス分類部162は、注目画素について得られた垂直フィルタフラグ、垂直種類フラグ、垂直位置フラグ、水平フィルタフラグ、水平種類フラグ、及び、水平位置フラグに応じて、クラス分類方法決定部151からの分類方法情報が表すクラス分類法のクラス分類を行い、そのクラス分類により得られる注目画素のクラスを出力して、クラス分類の処理を終了する。
図17は、DF情報を用いるクラス分類の他の例を示す図である。
クラス分類方法決定部151では、DF情報を用いるクラス分類のクラス分類法として、図15で説明したクラス分類法の他、図17に示すクラス分類法を記憶することができる。
図17のAは、DF情報を用いるクラス分類の第1の他の例を示しており、図17のBは、DF情報を用いるクラス分類の第2の他の例を示している。
図17のA及びBでは、図15の場合と同様に、DF情報から得られる垂直フィルタフラグ、垂直種類フラグ、垂直位置フラグ、水平フィルタフラグ、水平種類フラグ、及び、水平位置フラグのうちの必要なフラグに応じて、クラス分類が行われる。
但し、図15では、注目画素の水平フィルタフラグ及び垂直フィルタフラグがいずれもOffである場合にのみ、注目画素が、クラス0にクラス分類されるが、図17のAでは、注目画素に適用された垂直フィルタ又は水平フィルタがストロングフィルタである場合、すなわち、垂直種類フラグ又は水平種類フラグがStrongである場合にも、注目画素が、クラス0にクラス分類される。
したがって、図17のAでは、垂直種類フラグ又は水平種類フラグがStrongである場合には、注目画素の位置情報、すなわち、垂直位置フラグ及び水平位置フラグを用いずに、注目画素がクラス分類される。
図17のBでは、注目画素の位置情報、すなわち、垂直位置フラグ及び水平位置フラグを用いずに、注目画素がクラス分類される。
具体的には、図17のBでは、水平種類フラグがStrongである場合において、垂直種類フラグがStrongであるとき、垂直種類フラグがWeakであるとき、又は、垂直フィルタフラグがOffであるとき、注目画素は、それぞれ、クラス1,2、又は、3にクラス分類される。
さらに、水平種類フラグがWeakである場合において、垂直種類フラグがStrongであるとき、垂直種類フラグがWeakであるとき、又は、垂直フィルタフラグがOffであるとき、注目画素は、それぞれ、クラス4,5、又は、6にクラス分類される。
また、水平フィルタフラグがOffである場合において、垂直種類フラグがStrongであるとき、垂直種類フラグがWeakであるとき、又は、垂直フィルタフラグがOffであるとき、注目画素は、それぞれ、クラス7,8、又は、0にクラス分類される。
ここで、図15では、注目画素の水平フィルタフラグ及び垂直フィルタフラグがいずれもOffである場合以外には、注目画素の位置情報(垂直位置フラグ又は水平位置フラグ)を用いて、クラス分類が行われる。
一方、図17のAでは、垂直種類フラグ又は水平種類フラグがStrongである場合にのみ、注目画素の位置情報を用いずに、注目画素がクラス分類される。
また、図17のBでは、常に、注目画素の位置情報を用いずに、注目画素がクラス分類される。
したがって、図15並びに図17のA及びBのクラス分類の中では、図15のクラス分類が、最も細かい分類を行うクラス分類であり、図17のBのクラス分類が、最も粗い分類を行うクラス分類であるということができる。
クラス分類方法決定部151では、DF情報を用いるクラス分類のクラス分類法の他、DF情報と他の情報(例えば、画像特徴量や符号化情報等)とを用いるクラス分類の方法を記憶することができる。
図18は、DF情報と他の情報としての画像特徴量とを用いてクラス分類を行う場合のクラス分類部162の構成例を示すブロック図である。
図18において、クラス分類部162は、クラスタップ選択部171、画像特徴量抽出部172、サブクラス分類部173及び174、DF情報取得部175、並びに、サブクラス分類部176を有する。
クラスタップ選択部171には、SAO112(図9)からの復号途中画像が供給される。クラスタップ選択部171は、SAO112からの復号途中画像から、注目画素に空間的又は時間的に近い画素の幾つかを、注目画素のクラス分類に用いるクラスタップ(注目画素のクラスタップ)として選択し、画像特徴量抽出部172に供給する。
画像特徴量抽出部172は、クラスタップ選択部171からの注目画素のクラスタップを用いて、注目画素(周辺)の画像特徴量を抽出し、サブクラス分類部173及び174に供給する。
例えば、画像特徴量抽出部172は、クラスタップを構成する画素の画素値の最大値と最小値との差分であるDRや、クラスタップにおいて、水平、垂直、斜め方向に隣接する画素の画素値の差分絶対値の最大値であるDiffMax等を、注目画素の画像特徴量として抽出する。
画像特徴量抽出部172は、DRを、サブクラス分類部173及び174に供給し、DiffMaxを、サブクラス分類部174に供給する。
サブクラス分類部173は、画像特徴量抽出部172からのDRを用いて、例えば、DRを閾値処理することにより、注目画素を第1のサブクラスに分類し、その分類の結果得られる注目画素の第1のサブクラスを、合成部177に供給する。
サブクラス分類部174は、画像特徴量抽出部172からのDR及びDiffMaxを用いて、例えば、DiffMax/DRを閾値処理することにより、注目画素を第2のサブクラスに分類し、その分類の結果得られる注目画素の第2のサブクラスを、合成部177に供給する。
DF情報取得部175は、DF111(図9)から供給されるDF情報の中から、注目画素に関係するDF情報を取得し、サブクラス分類部176に供給する。
サブクラス分類部176は、DF情報取得部175からのDF情報を用いて、例えば、図15、又は、図17のA若しくはBに示したクラス分類法のクラス分類を行うことで、注目画素を第3のサブクラスに分類し、その注目画素の第3のサブクラスを、合成部177に供給する。
合成部177は、サブクラス分類部173,174、及び、176それぞれからの第1のサブクラス、第2のサブクラス、及び、第3のサブクラスを合成することにより、注目画素の(最終的な)クラスを求め、足し込み部163(図12)に供給する。
例えば、合成部177では、第1ないし第3のサブクラスそれぞれを表すビット列をシーケンシャルに並べたビット列が表す値を、注目画素のクラスとして求めることができる。
ここで、DRは、画素値の振幅の変化を表し、DiffMax/DRは、画素値の勾配を表す。
ブロックノイズが生じている領域では、画素値の振幅の変化が小さいが、画素値の勾配が急峻になる。
したがって、DRを用いた分類(クラスタリング)により得られる第1のサブクラスと、DR及びDiffMaxを用いた分類により得られる第2のサブクラスとによれば、ブロックノイズの有無や、ブロックノイズの大きさによって、注目画素を分類することができる。その結果、ブロックノイズが発生している場合に、そのブロックノイズの大きさに応じて、ブロックノイズを適切に低減させるフィルタ処理を施すことが可能になる。
DF111では、復号途中画像に対するフィルタ処理の適用にあたり、ブロックノイズの有無や、適用するDFの種類(ストロングフィルタ又はウィークフィルタ)の判定が行われるが、その判定を誤り、復号途中画像に発生しているブロックノイズを十分に低減することができないことがあり得る。
DF情報の他、画像特徴量をも用いてクラス分類を行う場合には、上述のように、ブロックノイズの有無や、ブロックノイズの大きさによって、注目画素を分類し、ブロックノイズが発生している場合に、そのブロックノイズの大きさに応じて、ブロックノイズを適切に低減させるフィルタ処理を施すことが可能になる。したがって、DF111において、ブロックノイズの有無等の判定を誤り、復号途中画像に発生しているブロックノイズを十分に低減することができない場合でも、クラス分類適応フィルタ113において、DF111の誤りを補って、ブロックノイズを十分に低減することができる。
<学習装置131の処理>
図19は、図12の学習装置131の処理の例を説明するフローチャートである。
ステップS31において、クラス分類方法決定部151は、あらかじめ決められた複数のクラス分類法の中から、採用クラス分類法を決定し、その採用クラス分類法を表す分類方法情報を出力して、処理は、ステップS32に進む。
クラス分類方法決定部151が出力する分類方法情報は、フィルタ情報生成部132(図11)、及び、学習部152(図12)のクラス分類部162に供給される。
ステップS32では、学習部152のクラス分類部162が、DF111(図9)からのDF情報を用い、クラス分類方法決定部151からの分類方法情報が表すクラス分類法(採用クラス分類法)に従ったクラス分類を行う。そして、学習部152は、クラス分類によって得られるクラスごとのタップ係数を求めるタップ係数学習を行う。さらに、学習部152は、タップ係数学習により得られるクラスごとのタップ係数である初期係数を、不使用係数削除部153に供給して、処理は、ステップS32からステップS33に進む。
ステップS33では、不使用係数削除部153は、学習部152からの初期係数の中から、画質改善の効果が小さい(画素の)0又は1以上のクラスを、クラス分類適応処理の対象から除外する除外クラスの候補として検出し、処理は、ステップS34に進む。
ステップS34では、不使用係数削除部153は、復号画像の画質、及び、符号化データのデータ量を最良にするように、すなわち、例えば、RDコストを最良にするように、除外クラスの候補の中から、除外クラス(とする候補)を選択し、処理は、ステップS35に進む。
ステップS35では、不使用係数削除部153は、初期係数から、除外クラスのタップ係数を、不使用係数として削除し、不使用係数の削除後のタップ係数を、クラス分類適応処理(のフィルタ処理)に用いる採用係数として出力して、処理を終了する。
不使用係数削除部153が出力する採用係数は、フィルタ情報生成部132に供給される。
<画像変換装置133の構成例>
図20は、図11の画像変換装置133の構成例を示すブロック図である。
図20において、画像変換装置133は、タップ選択部191、クラス分類部192、係数取得部193、及び、予測演算部194を有する。
タップ選択部191ないし予測演算部194は、図2の画像変換装置20のタップ選択部21ないし予測演算部24とそれぞれ同様の処理を行う。
すなわち、画像変換装置133には、学習装置131(図11)に供給されるのと同様の第1の画像としての復号途中画像、及び、DF情報が供給される。画像変換装置133は、第1の画像としての復号途中画像及びDF情報を用いて、図2の画像変換装置20と同様のクラス分類適応処理を行い、元画像に相当する第2の画像としてのフィルタ後画像を求める。
但し、画像変換装置133には、フィルタ情報生成部132からフィルタ情報が供給される。
画像変換装置133では、クラス分類部192が、復号途中画像の注目画素について、フィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF情報を用いて行う。すなわち、クラス分類部192では、学習装置131のクラス分類部162(図12)と同一のクラス分類が行われる。したがって、学習装置131のクラス分類部162が、DF情報の他、復号途中画像の画像特徴量や符号化情報を用いてクラス分類を行う場合には、クラス分類部192でも、DF情報の他、復号途中画像の画像特徴量や符号化情報を用いてクラス分類が行われる。
また、画像変換装置133では、係数取得部193が、フィルタ情報に含まれるタップ係数(採用係数)を記憶し、そのタップ係数から、クラス分類部192で得られる注目画素のクラスのタップ係数を取得して、予測演算部194に供給する。
そして、予測演算部194では、図2の予測演算部24と同様に、タップ選択部191から供給される注目画素の予測タップと、係数取得部193から供給される注目画素のクラスのタップ係数とを用いて、予測演算が行われ、注目画素に対応する元画像の対応画素の画素値の予測値が求められる。
予測演算部194で行われる予測演算は、注目画素に対して、予測タップ及びタップ係数を用いて行われるフィルタ処理の一種であるということができ、したがって、フィルタ処理に用いられる予測タップを構成するタップ選択部191、フィルタ処理に用いられるタップ係数を取得する係数取得部193、及び、フィルタ処理の一種としての予測演算を行う予測演算部194は、フィルタ処理を行うフィルタ処理部190を構成している、ということができる。
フィルタ処理部190において、予測演算部194のフィルタ処理としての予測演算は、係数取得部193が取得する、注目画素のクラスのタップ係数によって異なるフィルタ処理になる。したがって、フィルタ処理部190のフィルタ処理は、注目画素のクラスに対応するフィルタ処理である、ということができる。
なお、フィルタ処理部190のフィルタ処理は、予測演算、すなわち、注目画素のクラスのタップ係数と予測タップとの積和演算に限定されるものではない。
また、フィルタ情報生成部132から画像変換装置133に供給されるフィルタ情報には、図11で説明したように、クラス分類の方法及びタップ係数の直前の更新時と同一のクラス分類の方法及びタップ係数を用いるかどうかを表すコピー情報を含ませることができる。
いま、クラス分類の方法及びタップ係数の直前の更新時と同一のクラス分類の方法及びタップ係数を用いることを、コピーモードということとする。
フィルタ情報生成部132から画像変換装置133に供給された最新のフィルタ情報に含まれるコピー情報がコピーモードを表していない場合、クラス分類部192は、フィルタ情報生成部132から画像変換装置133に供給された前回のフィルタ情報に含まれる分類方法情報が表すクラス分類法に代えて、最新のフィルタ情報に含まれる分類方法情報が表すクラス分類法を、以降のクラス分類において採用する。
さらに、係数取得部193は、前回のフィルタ情報に含まれるクラスごとのタップ係数に上書きする形で、最新のフィルタ情報に含まれるクラスごとのタップ係数を記憶する。
一方、(最新のフィルタ情報が、分類方法情報及びクラスごとのタップ係数を含まず、)最新のフィルタ情報に含まれるコピー情報がコピーモードを表す場合、クラス分類部192は、前回のフィルタ情報に含まれる分類方法情報が表すクラス分類法を、以降のクラス分類においてもそのまま採用する。
さらに、係数取得部193は、前回のフィルタ情報に含まれるクラスごとのタップ係数の記憶を、そのまま維持する。
したがって、最新のフィルタ情報に含まれるコピー情報がコピーモードを表す場合には、直前のクラス分類法、及び、クラスごとのタップ係数が維持される。
なお、コピー情報は、分類方法情報及びクラスごとのタップ係数のそれぞれについて、別個に設けることができる。
<符号化処理>
図21は、図9の符号化装置11の符号化処理の例を説明するフローチャートである。
なお、図21に示す符号化処理の各ステップの順番は、説明の便宜上の順番であり、実際の符号化処理の各ステップは、適宜、並列的に、必要な順番で行われる。後述する符号化処理についても、同様である。
符号化装置11において、クラス分類適応フィルタ113の学習装置131(図11)は、そこに供給される復号途中画像のうちの、例えば、複数のフレーム、1フレーム、ブロック等の更新単位の復号途中画像を生徒データとするとともに、その復号途中画像に対応する元画像を教師データとして、随時、タップ係数学習を行っている。そして、学習装置131は、ステップS41において、現在のタイミングが、タップ係数及びクラス分類法を更新する所定のタイミングとしての更新タイミングであるかどうか、すなわち、例えば、複数のフレーム、1フレーム、ブロック等の更新単位の終点又は始点のタイミングであるかどうかを判定する。
ステップS41において、タップ係数及びクラス分類法の更新タイミングでないと判定された場合、処理は、ステップS42ないしS44をスキップして、ステップS45に進む。
また、ステップS41において、タップ係数及びクラス分類法の更新タイミングであると判定された場合、処理は、ステップS42に進む。
ステップS42では、フィルタ情報生成部132(図11)は、学習装置131が最新のタップ係数学習により生成する分類方法情報及びクラスごとのタップ係数(又はコピー情報)を含むフィルタ情報を生成し、画像変換装置133(図11)及び可逆符号化部106(図9)に供給して、処理は、ステップS43に進む。
なお、符号化装置11では、元画像の時間方向の相関を検出し、その相関が低い場合(閾値以下の場合)にのみ、更新タイミングで、フィルタ情報を生成し、後述するステップS43及びS44の処理を行うことができる。
ステップS43では、画像変換装置133は、フィルタ情報生成部132からのフィルタ情報に従って、クラス分類部192(図20)が行うクラス分類の方法(クラス分類法)、及び、係数取得部193(図20)に記憶されるクラスごとのタップ係数を更新し、処理は、ステップS44に進む。
ステップS44では、可逆符号化部106は、フィルタ情報生成部132から供給されるフィルタ情報を、伝送対象に設定して、処理は、ステップS45に進む。伝送対象に設定されたフィルタ情報は、後述するステップS59において符号化データに含められて伝送される。
ステップS45以降では、元画像の予測符号化処理が行われる。
すなわち、ステップS45において、A/D変換部101は、元画像をA/D変換し、並べ替えバッファ102に供給して、処理は、ステップS46に進む。
ステップS46において、並べ替えバッファ102は、A/D変換部101からの元画像を記憶し、符号化順に並べ替えて出力し、処理は、ステップS47に進む。
ステップS47では、イントラ予測部116は、イントラ予測モードのイントラ予測処理を行い、処理は、ステップS48に進む。ステップS48において、動き予測補償部117は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行い、処理は、ステップS49に進む。
イントラ予測部116のイントラ予測処理、及び、動き予測補償部117のインター動き予測処理では、各種の予測モードのコスト関数が演算されるとともに、予測画像が生成される。
ステップS49では、予測画像選択部118は、イントラ予測部116及び動き予測補償部117で得られる各コスト関数に基づいて、最適な予測モードを決定する。そして、予測画像選択部118は、イントラ予測部116により生成された予測画像と、動き予測補償部117により生成された予測画像のうちの最適な予測モードの予測画像を選択して出力し、処理は、ステップS49からステップS50に進む。
ステップS50では、演算部103は、並べ替えバッファ102が出力する元画像である符号化対象の対象画像と、予測画像選択部118が出力する予測画像との残差を演算し、直交変換部104に供給して、処理は、ステップS51に進む。
ステップS51では、直交変換部104は、演算部103からの残差を直交変換し、その結果得られる変換係数を、量子化部105に供給して、処理は、ステップS52に進む。
ステップS52では、量子化部105は、直交変換部104からの変換係数を量子化し、その量子化により得られる量子化係数を、可逆符号化部106及び逆量子化部108に供給して、処理は、ステップS53に進む。
ステップS53では、逆量子化部108は、量子化部105からの量子化係数を逆量子化し、その結果得られる変換係数を、逆直交変換部109に供給して、処理は、ステップS54に進む。ステップS54では、逆直交変換部109は、逆量子化部108からの変換係数を逆直交変換し、その結果得られる残差を、演算部110に供給して、処理は、ステップS55に進む。
ステップS55では、演算部110は、逆直交変換部109からの残差と、予測画像選択部118が出力する予測画像とを加算し、演算部103での残差の演算の対象となった元画像に対応する復号途中画像を生成する。演算部110は、復号途中画像を、DF111又はフレームメモリ114に供給し、処理は、ステップS55からステップS56に進む。
演算部110からDF111に、復号途中画像が供給される場合、ステップS56において、DF111は、演算部110からの復号途中画像に、DFのフィルタ処理を施し、SAO112に供給するとともに、復号途中画像に施したDFのフィルタ処理に関するDF情報を、クラス分類適応フィルタ113に供給する。さらに、ステップS56では、SAO112は、DF111からの復号途中画像に、SAOのフィルタ処理を施し、クラス分類適応フィルタ113に供給して、処理は、ステップS57に進む。
ステップS57において、クラス分類適応フィルタ113は、SAO112からの復号途中画像に、ALFに相当するクラス分類適応処理(クラス分類適応フィルタ処理)を施し、復号途中画像を一般のALFでフィルタリングする場合よりも元画像に近いフィルタ後画像を求める。
クラス分類適応フィルタ113は、クラス分類適応処理により得られるフィルタ後画像を、フレームメモリ114に供給して、処理は、ステップS57からステップS58に進む。
ステップS58では、フレームメモリ114は、演算部110から供給される復号途中画像、又は、クラス分類適応フィルタ113から供給されるフィルタ後画像を、復号画像として記憶し、処理は、ステップS59に進む。フレームメモリ114に記憶された復号画像は、ステップS48やS49で、予測画像を生成する元となる参照画像として使用される。
ステップS59では、可逆符号化部106は、量子化部105からの量子化係数を符号化する。さらに、可逆符号化部106は、量子化部105での量子化に用いられた量子化パラメータQPや、イントラ予測部116でのイントラ予測処理で得られた予測モード、動き予測補償部117でのインター動き予測処理で得られた予測モードや動き情報等の符号化情報を必要に応じて符号化し、符号化データに含める。
また、可逆符号化部106は、ステップS44で伝送対象に設定されたフィルタ情報を必要に応じて符号化し、符号化データに含める。そして、可逆符号化部106は、符号化データを、蓄積バッファ107に供給し、処理は、ステップS59からステップS60に進む。
ステップS60において、蓄積バッファ107は、可逆符号化部106からの符号化データを蓄積し、処理は、ステップS61に進む。蓄積バッファ107に蓄積された符号化データは、適宜読み出されて伝送される。
ステップS61では、レート制御部119は、蓄積バッファ107に蓄積されている符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレート(量子化ステップ)を制御し、符号化処理は終了する。
図22は、図21のステップS57で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ113の画像変換装置133(図20)では、ステップS71において、タップ選択部191が、SAO112(図9)から供給される復号途中画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS72に進む。
ステップS72において、タップ選択部191が、SAO112から供給される復号途中画像から、注目画素についての予測タップとする画素を選択し、予測タップを構成する。そして、タップ選択部191は、予測タップを、予測演算部194に供給して、処理は、ステップS73に進む。
ステップS73では、クラス分類部192が、注目画素について、フィルタ情報生成部132(図11)からのフィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF111からのDF情報を用いて行う。クラス分類部192は、クラス分類により得られる注目画素のクラスを、係数取得部193に供給して、処理は、ステップS73からステップS74に進む。
なお、クラス分類部192が行うクラス分類の方法は、直前に行われた図21のステップS43のクラス分類法の更新により更新されており、クラス分類部192は、更新後のクラス分類法のクラス分類を行う。
ステップS74では、係数取得部193は、クラス分類部192からの注目画素のクラスが、タップ係数がない除外クラスであるかどうかを判定する。
すなわち、係数取得部193は、フィルタ情報生成部132から供給されるフィルタ情報に含まれるクラスごとのタップ係数、すなわち、不使用係数削除部153(図12)において、初期係数から除外クラスのタップ係数が削除された採用係数を、直前に行われた図21のステップS43のタップ係数の更新によって記憶している。
ステップS74では、係数取得部193は、クラス分類部192からの注目画素のクラスが、記憶している採用係数の中にタップ係数が存在しない除外クラスであるかどうかを判定する。
ステップS74において、注目画素のクラスが除外クラスでないと判定された場合、すなわち、係数取得部193が記憶している採用係数の中に、注目画素のクラスのタップ係数が含まれる場合、処理は、ステップS75に進む。
ステップS75では、係数取得部193は、記憶している採用係数から、クラス分類部192からの注目画素のクラスのタップ係数を取得し、予測演算部194に供給して、処理は、ステップS76に進む。
ステップS76では、予測演算部194は、タップ選択部191からの予測タップと、係数取得部193からのタップ係数とを用いて、フィルタ処理としての式(1)予測演算を行う。これにより、予測演算部194は、注目画素に対応する元画像の対応画素の画素値の予測値を、フィルタ後画像の画素値として求め、処理は、ステップS78に進む。
一方、ステップS74において、注目画素のクラスが除外クラスであると判定された場合、すなわち、係数取得部193が記憶している採用係数の中に、注目画素のクラスのタップ係数が含まれない場合、処理は、ステップS77に進む。
ステップS77では、予測演算部194は、例えば、タップ選択部191からの予測タップを構成する注目画素の画素値を、そのまま、フィルタ後画像の対応画素の画素値として、処理は、ステップS78に進む。
ステップS78では、タップ選択部191が、SAO112からの復号途中画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS78において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS71に戻り、以下、同様の処理が繰り返される。
また、ステップS78において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS79に進み、予測演算部194は、SAO112からの復号途中画像(としてのブロック)に対して得られた画素値で構成されるフィルタ後画像を、フレームメモリ114(図9)に供給する。そして、クラス分類適応処理は終了され、処理はリターンする。
<復号装置12の第1の構成例>
図23は、図1の復号装置12の第1の構成例を示すブロック図である。
図23において、復号装置12は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、DF206、SAO207、クラス分類適応フィルタ208、並べ替えバッファ209、及び、D/A変換部210を有する。また、復号装置12は、フレームメモリ211、選択部212、イントラ予測部213、動き予測補償部214、及び、選択部215を有する。
蓄積バッファ201は、符号化装置11から伝送されてくる符号化データを一時蓄積し、所定のタイミングにおいて、その符号化データを、可逆復号部202に供給する。
可逆復号部202は、蓄積バッファ201からの符号化データを取得する。したがって、可逆復号部202は、符号化装置11から伝送されてくる符号化データ、ひいては、符号化データに含まれる符号化情報やフィルタ情報を受け取る受け取り部として機能する。
可逆復号部202は、蓄積バッファ201から取得した符号化データを、図9の可逆符号化部106の符号化方式に対応する方式で復号する。
そして、可逆復号部202は、符号化データの復号により得られる量子化係数を、逆量子化部203に供給する。
また、可逆復号部202は、符号化データの復号により、符号化情報やフィルタ情報が得られた場合には、必要な符号化情報を、イントラ予測部213や動き予測補償部214その他の必要なブロックに供給する。
さらに、可逆復号部202は、フィルタ情報を、クラス分類適応フィルタ208に供給する。
逆量子化部203は、可逆復号部202からの量子化係数を、図9の量子化部105の量子化方式に対応する方式で逆量子化し、その逆量子化により得られる変換係数を、逆直交変換部204に供給する。
逆直交変換部204は、逆量子化部203から供給される変換係数を、図9の直交変換部104の直交変換方式に対応する方式で逆直交変換し、その結果得られる残差を、演算部205に供給する。
演算部205には、逆直交変換部204から残差が供給される他、選択部215を介して、イントラ予測部213又は動き予測補償部214から予測画像が供給される。
演算部205は、逆直交変換部204からの残差と、選択部215からの予測画像とを加算し、復号途中画像を生成して、DF206、又は、フレームメモリ211に供給する。
DF206は、演算部205からの復号途中画像に、DF111(図9)と同様のフィルタ処理を行い、そのフィルタ処理後の復号途中画像を、SAO207に供給する。
SAO207は、DF206からの復号途中画像に、SAO112(図9)と同様のフィルタ処理を行い、クラス分類適応フィルタ208に供給する。
クラス分類適応フィルタ208は、クラス分類適応処理によって、ILFであるDF,SAO、及び、ALFのうちの、ALFとして機能するフィルタで、クラス分類適応処理によって、ALFに相当するフィルタ処理を行う。
クラス分類適応フィルタ208には、SAO207から復号途中画像が供給される他、クラス分類適応フィルタ208のフィルタ処理よりも前段で行われる前段フィルタ処理としてのDF206やSAO207のフィルタ処理に関する前段フィルタ関連情報としてのDF情報やSAO情報が供給され得る。
クラス分類適応フィルタ208は、クラス分類適応フィルタ113(図9)と同様に、クラス分類適応処理によって、ALFとして機能するフィルタで、クラス分類適応処理によって、ALFに相当するフィルタ処理を行う。
すなわち、クラス分類適応フィルタ208は、SAO207からの復号途中画像を第1の画像として、可逆復号部202からのフィルタ情報に含まれるクラスごとのタップ係数を用いたクラス分類適応処理(による画像変換)を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)出力する。
ここで、クラス分類適応フィルタ208は、図9のクラス分類適応フィルタ113(の画像変換装置133(図20))と同様に、クラス分類適応処理において、可逆復号部202からのフィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF206からのDF情報を用いて行う。
なお、本実施の形態では、説明を簡単にするため、クラス分類適応フィルタ113がクラス分類に用いる前段フィルタ関連情報として、DF情報を採用することとしたが、例えば、クラス分類適応フィルタ113が、DF情報及びSAO情報を用いて、クラス分類を行う場合には、クラス分類適応フィルタ208でも、DF情報及びSAO情報を用いて、クラス分類が行われる。
クラス分類適応フィルタ208が出力するフィルタ後画像は、クラス分類適応フィルタ113が出力するフィルタ後画像と同様の画像であり、並べ替えバッファ209及びフレームメモリ211に供給される。
並べ替えバッファ209は、クラス分類適応フィルタ208から供給されるフィルタ後画像を、復号画像として一時記憶し、復号画像のフレーム(ピクチャ)の並びを、符号化(復号)順から表示順に並べ替え、D/A変換部210に供給する。
D/A変換部210は、並べ替えバッファ209から供給される復号画像をD/A変換し、図示せぬディスプレイに出力して表示させる。
フレームメモリ211は、演算部205から供給される復号途中画像や、クラス分類適応フィルタ208から供給されるフィルタ後画像を、復号画像として一時記憶する。さらに、フレームメモリ211は、所定のタイミングにおいて、又は、イントラ予測部213や動き予測補償部214等の外部の要求に基づいて、復号画像を、予測画像の生成に用いる参照画像として、選択部212に供給する。
選択部212は、フレームメモリ211から供給される参照画像の供給先を選択する。選択部212は、イントラ符号化された画像を復号する場合、フレームメモリ211から供給される参照画像をイントラ予測部213に供給する。また、選択部212は、インター符号化された画像を復号する場合、フレームメモリ211から供給される参照画像を動き予測補償部214に供給する。
イントラ予測部213は、可逆復号部202から供給される符号化情報に含まれる予測モードに従い、図9のイントラ予測部116において用いられたイントラ予測モードで、フレームメモリ211から選択部212を介して供給される参照画像を用いてイントラ予測を行う。そして、イントラ予測部213は、イントラ予測により得られる予測画像を、選択部215に供給する。
動き予測補償部214は、可逆復号部202から供給される符号化情報に含まれる予測モードに従い、図9の動き予測補償部117において用いられたインター予測モードで、フレームメモリ211から選択部212を介して供給される参照画像を用いてインター予測を行う。インター予測は、可逆復号部202から供給される符号化情報に含まれる動き情報等を必要に応じて用いて行われる。
動き予測補償部214は、インター予測により得られる予測画像を、選択部215に供給する。
選択部215は、イントラ予測部213から供給される予測画像、又は、動き予測補償部214から供給される予測画像を選択し、演算部205に供給する。
<クラス分類適応フィルタ208の構成例>
図24は、図23のクラス分類適応フィルタ208の構成例を示すブロック図である。
図24において、クラス分類適応フィルタ208は、画像変換装置231を有する。
画像変換装置231には、SAO207(図23)から復号途中画像が供給されるとともに、可逆復号部202からフィルタ情報が供給される。さらに、画像変換装置231には、DF206からDF情報が供給される。
画像変換装置231は、図11の画像変換装置133と同様に、復号途中画像を第1の画像として、フィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類、すなわち、画像変換装置133で行われるのと同一のクラス分類を、DF206からのDF情報、さらには、必要な復号途中画像の画像特徴量や符号化情報を用いて行う。さらに、画像変換装置231は、クラス分類の結果得られるクラスに対応するフィルタ処理として、フィルタ情報に含まれるクラスごとのタップ係数(採用係数)を用いたフィルタ処理である予測演算を行うクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、並べ替えバッファ209及びフレームメモリ211(図23)に供給する。
<画像変換装置231の構成例>
図25は、図24の画像変換装置231の構成例を示すブロック図である。
図25において、画像変換装置231は、タップ選択部241、クラス分類部242、係数取得部243、及び、予測演算部244を有する。
タップ選択部241ないし予測演算部244は、画像変換装置133(図20)を構成するタップ選択部191ないし予測演算部194とそれぞれ同様に構成される。
すなわち、タップ選択部241には、SAO207(図23)から復号途中画像が供給される。
タップ選択部241は、SAO207からの復号途中画像を第1の画像として、復号途中画像の画素を、順次、注目画素に選択する。
さらに、タップ選択部241は、注目画素について、復号途中画像から、図20のタップ選択部191で選択される予測タップと同一構造の予測タップを選択し、予測演算部244に供給する。
クラス分類部242には、可逆復号部202(図23)からフィルタ情報が供給されるとともに、DF206からDF情報が供給される。
クラス分類部242は、注目画素について、可逆復号部202からのフィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF206からのDF情報を用いて行うことで、クラス分類部192(図20)と同様のクラス分類を行う。
したがって、クラス分類部192が、例えば、DF情報の他、復号途中画像の画像特徴量や符号化情報を用いてクラス分類を行う場合には、クラス分類部242でも、DF情報の他、復号途中画像の画像特徴量や符号化情報を用いてクラス分類が行われる。
係数取得部243は、可逆復号部202(図23)からのフィルタ情報に含まれるタップ係数(採用係数)を記憶し、そのタップ係数から、クラス分類部242で得られる注目画素のクラスのタップ係数を取得して、予測演算部244に供給する。
予測演算部244は、タップ選択部241からの予測タップと、係数取得部243からのタップ係数とを用いて、フィルタ処理としての式(1)の予測演算を行い、復号途中画像の注目画素に対応する元画像の対応画素の画素値の予測値を、第2の画像としてのフィルタ後画像の画素の画素値として求めて出力する。
ここで、図25の画像変換装置231において、タップ選択部241、係数取得部243、及び、予測演算部244は、図20の画像変換装置133のタップ選択部191、係数取得部193、及び、予測演算部194と同様に、注目画素のクラスに対応するフィルタ処理を行うフィルタ処理部240を構成している、ということができる。
なお、可逆復号部202から画像変換装置231に供給されるフィルタ情報には、図11で説明したように、分類方法情報及びクラスごとのタップ係数として、分類方法情報及びタップ係数の直前の更新時と同一の分類法情報及びクラスごとのタップ係数を用いるかどうかを表すコピー情報を含ませることができる。
可逆復号部202から画像変換装置231に供給された最新のフィルタ情報に含まれるコピー情報がコピーモードを表していない場合、クラス分類部242は、可逆復号部202から画像変換装置231に供給された前回のフィルタ情報に含まれる分類方法情報が表すクラス分類法に代えて、最新のフィルタ情報に含まれる分類方法情報が表すクラス分類法を採用して、クラス分類を行う。
さらに、係数取得部243は、前回のフィルタ情報に含まれるクラスごとのタップ係数に上書きする形で、最新のフィルタ情報に含まれるクラスごとのタップ係数を記憶する。
一方、最新のフィルタ情報に含まれるコピー情報がコピーモードを表す場合、クラス分類部242は、前回のフィルタ情報に含まれる分類方法情報が表すクラス分類法をそのまま採用して、クラス分類を行う。
さらに、係数取得部243は、前回のフィルタ情報に含まれるクラスごとのタップ係数の記憶を、そのまま維持する。
したがって、画像変換装置231でも、画像変換装置133(図11)(図20)と同様に、最新のフィルタ情報に含まれるコピー情報がコピーモードを表す場合には、直前の分類方法情報が表すクラス分類法、及び、クラスごとのタップ係数が維持される。
<復号処理>
図26は、図23の復号装置12の復号処理の例を説明するフローチャートである。
なお、図26に示す復号処理の各ステップの順番は、説明の便宜上の順番であり、実際の復号処理の各ステップは、適宜、並列的に、必要な順番で行われる。後述する復号処理についても、同様である。
復号処理では、ステップS111において、蓄積バッファ201は、符号化装置11から伝送されてくる符号化データを一時蓄積し、適宜、可逆復号部202に供給して、処理は、ステップS112に進む。
ステップS112では、可逆復号部202は、蓄積バッファ201から供給される符号化データを受け取って復号し、その復号により得られる量子化係数を、逆量子化部203に供給する。
また、可逆復号部202は、符号化データの復号により、符号化情報やフィルタ情報が得られた場合、必要な符号化情報を、イントラ予測部213や動き予測補償部214その他の必要なブロックに供給する。
さらに、可逆復号部202は、フィルタ情報を、クラス分類適応フィルタ208に供給する。
その後、処理は、ステップS112からステップS113に進み、クラス分類適応フィルタ208は、可逆復号部202からフィルタ情報が供給されたかどうかを判定する。
ステップS113において、フィルタ情報が供給されていないと判定された場合、処理は、ステップS114をスキップして、ステップS115に進む。
また、ステップS113において、フィルタ情報が供給されたと判定された場合、処理は、ステップS114に進み、クラス分類適応フィルタ208の画像変換装置231(図25)は、可逆復号部202からのフィルタ情報を取得し、処理は、ステップS115に進む。
ステップS115では、画像変換装置231は、クラス分類法及びタップ係数の更新タイミングであるかどうか、すなわち、例えば、複数のフレーム、1フレーム、ブロック等の更新単位の終点又は始点のタイミングであるかどうかを判定する。
ここで、更新単位は、例えば、フィルタ情報が配置されている(含まれている)符号化データの階層(例えば、Sequence parameter set syntaxや、Picture parameter set syntax,Slice data syntax等)から認識することができる。
例えば、フィルタ情報が、符号化データのPicture parameter set syntaxとして配置されている場合には、更新単位は、1フレームであると認識することができる。
また、更新単位は、符号化装置11及び復号装置12の間で、あらかじめ決めておくことができる。
ステップS115において、クラス分類法及びタップ係数の更新タイミングでないと判定された場合、処理は、ステップS116をスキップして、ステップS117に進む。
また、ステップS115において、クラス分類法及びタップ係数の更新タイミングであると判定された場合、処理は、ステップS116に進む。
ステップS116では、画像変換装置231は、直前のステップS114で取得したフィルタ情報に従って、クラス分類部242(図25)で行われるクラス分類のクラス分類法、及び、係数取得部243(図25)に記憶されるクラスごとのタップ係数を更新し、処理は、ステップS117に進む。
ステップS117では、逆量子化部203は、可逆復号部202からの量子化係数を逆量子化し、その結果得られる変換係数を、逆直交変換部204に供給して、処理は、ステップS118に進む。
ステップS118では、逆直交変換部204は、逆量子化部203からの変換係数を逆直交変換し、その結果得られる残差を、演算部205に供給して、処理は、ステップS119に進む。
ステップS119では、イントラ予測部213又は動き予測補償部214が、フレームメモリ211から選択部212を介して供給される参照画像、及び、可逆復号部202から供給される符号化情報を用いて、予測画像を生成する予測処理を行う。そして、イントラ予測部213又は動き予測補償部214は、予測処理により得られる予測画像を、選択部215に供給し、処理は、ステップS119からステップS120に進む。
ステップS120では、選択部215は、イントラ予測部213又は動き予測補償部214から供給される予測画像を選択し、演算部205に供給して、処理は、ステップS121に進む。
ステップS121では、演算部205は、逆直交変換部204からの残差と、選択部215からの予測画像を加算することにより、復号途中画像を生成する。そして、演算部205は、復号途中画像を、DF206、又は、フレームメモリ211に供給して、処理は、ステップS121からステップS122に進む。
演算部205からDF206に、復号途中画像が供給される場合、ステップS122において、DF206は、演算部205からの復号途中画像に、DFのフィルタ処理を施し、SAO207に供給するとともに、復号途中画像に施したDFのフィルタ処理に関するDF情報を、クラス分類適応フィルタ208に供給する。さらに、ステップS122では、SAO207は、DF206からの復号途中画像に、SAOのフィルタ処理を施し、クラス分類適応フィルタ208に供給して、処理は、ステップS123に進む。
ステップS123では、クラス分類適応フィルタ208は、SAO207からの復号途中画像を対象に、ALFに相当するクラス分類適応処理を施す。復号途中画像に、クラス分類適応処理が施されることにより、符号化装置11の場合と同様に、復号途中画像をALFでフィルタリングする場合よりも元画像に近いフィルタ後画像が求められる。
なお、クラス分類適応フィルタ208は、可逆復号部202からのフィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF206からのDF情報を用いて行う。また、クラス分類適応フィルタ208は、可逆復号部202からのフィルタ情報に含まれるタップ係数を用いて、クラス分類適応処理を行う。
クラス分類適応フィルタ208は、クラス分類適応処理により得られるフィルタ後画像を、並べ替えバッファ209及びフレームメモリ211に供給して、処理は、ステップS123からステップS124に進む。
ステップS124では、並べ替えバッファ209は、クラス分類適応フィルタ208から供給されるフィルタ後画像を、復号画像として一時記憶する。さらに、並べ替えバッファ209は、記憶した復号画像を、表示順に並べ替えて、D/A変換部210に供給し、処理は、ステップS124からステップS125に進む。
ステップS125では、D/A変換部210は、並べ替えバッファ209からの復号画像をD/A変換し、処理は、ステップS126に進む。D/A変換後の復号画像は、図示せぬディスプレイに出力されて表示される。
ステップS126では、フレームメモリ211は、演算部205から供給される復号途中画像、又は、クラス分類適応フィルタ208から供給されるフィルタ後画像を、復号画像として記憶し、復号処理は終了する。フレームメモリ211に記憶された復号画像は、ステップS119の予測処理で、予測画像を生成する元となる参照画像として使用される。
図27は、図26のステップS123で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ208の画像変換装置231(図25)では、ステップS131において、タップ選択部241が、SAO207(図23)から供給される復号途中画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS132に進む。
ステップS132において、タップ選択部241が、SAO207から供給される復号途中画像から、注目画素についての予測タップとする画素を選択し、予測タップを構成する。そして、タップ選択部241は、予測タップを、予測演算部244に供給して、処理は、ステップS132からステップS133に進む。
ステップS133では、クラス分類部242が、注目画素について、可逆復号部202(図23)からのフィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF206からのDF情報を用いて行う。クラス分類部242は、クラス分類により得られる注目画素のクラスを、係数取得部243に供給して、処理は、ステップS133からステップS134に進む。
なお、クラス分類部242が行うクラス分類の方法は、直前に行われた図26のステップS116のクラス分類法の更新により更新されており、クラス分類部242は、更新後のクラス分類法のクラス分類を行う。
ステップS134では、係数取得部243は、クラス分類部242からの注目画素のクラスが、タップ係数がない除外クラスであるかどうかを判定する。
すなわち、係数取得部243は、可逆復号部202(図23)から供給されるフィルタ情報に含まれるクラスごとのタップ係数、すなわち、不使用係数削除部153(図12)において、初期係数から除外クラスのタップ係数が削除された採用係数を、直前に行われた図26のステップS116のタップ係数の更新によって記憶している。
ステップS134では、係数取得部243は、クラス分類部242からの注目画素のクラスが、記憶している採用係数の中にタップ係数が存在しない除外クラスであるかどうかを判定する。
ステップS134において、注目画素のクラスが除外クラスでないと判定された場合、すなわち、係数取得部243が記憶している採用係数の中に、注目画素のクラスのタップ係数が含まれる場合、処理は、ステップS135に進む。
ステップS135では、係数取得部243は、記憶している採用係数から、クラス分類部242からの注目画素のクラスのタップ係数を取得し、予測演算部244に供給して、処理は、ステップS136に進む。
ステップS136では、予測演算部244は、タップ選択部241からの予測タップと、係数取得部243からのタップ係数とを用いて、フィルタ処理としての式(1)予測演算を行う。これにより、予測演算部244は、注目画素に対応する元画像の対応画素の画素値の予測値を、フィルタ後画像の画素値として求め、処理は、ステップS138に進む。
一方、ステップS134において、注目画素のクラスが除外クラスであると判定された場合、すなわち、係数取得部243が記憶している採用係数の中に、注目画素のクラスのタップ係数が含まれない場合、処理は、ステップS137に進む。
ステップS137では、予測演算部244は、例えば、タップ選択部241からの予測タップを構成する注目画素の画素値を、そのまま、フィルタ後画像の対応画素の画素値として、処理は、ステップS138に進む。
ステップS138では、タップ選択部241が、SAO207からの復号途中画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS138において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS131に戻り、以下、同様の処理が繰り返される。
また、ステップS138において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS139に進み、予測演算部244は、SAO207からの復号途中画像(としてのブロック)に対して得られた画素値で構成されるフィルタ後画像を、並べ替えバッファ209及びフレームメモリ211(図23)に供給する。そして、クラス分類適応処理は終了され、処理はリターンする。
以上のように、符号化装置11及び復号装置12では、復号途中画像について、クラス分類適応処理より前に行われる前段フィルタ処理としてのDFのフィルタ処理に関する前段フィルタ関連情報としてのDF情報を用いてクラス分類が行われる。
したがって、復号途中画像に適用されたDFが、ストリングフィルタ及びウィークフィルタのいずれであるのかや、DFが適用された画素の位置(例えば、ブロック境界に隣接する位置や、ブロック境界付近の位置)によって、復号途中画像の各画素が分類されるので、タップ係数学習において、前段フィルタ処理としてのDFのフィルタ処理を考慮した、統計的に最適なタップ係数を求めることができる。その結果、PSNR(Peak signal-to-noise ratio)を、大きく改善することができる。
また、クラス分類の方法として、RDコストを最良にするクラス分類法を採用することにより、復号画像の画質を向上させるとともに、符号化データのデータ量を低減することができる。
なお、符号化装置11では、ILFであるDF,SAO、及び、ALFのうちの、ALFに代えて、クラス分類適応フィルタ113を設けたが、その他、DFやSAOに代えて、クラス分類適応フィルタ113を設けることや、DF,SAO、及び、ALFのうちの2個以上のフィルタやすべてに代えて、クラス分類適応フィルタ113を設けることができる。
ILFであるDF,SAO、及び、ALFのうちの1個以上のフィルタに代えて、クラス分類適応フィルタ113を設ける場合において、クラス分類適応フィルタ113の前段で、何らかの前段フィルタ処理が行われるときには、クラス分類適応フィルタ113では、その前段フィルタ処理に関する前段フィルタ関連情報を用いて、クラス分類を行うことができる。
また、ILFであるDF,SAO、及び、ALFの配置順は、DF,SAO,ALFの順番に限定されるものではない。
例えば、ILFについて、ALF,DF,SAOの順番に配置することとし、そのALF,DF,SAOの順番に配置されたILFのうちの、ALFに代えて、クラス分類適応フィルタを設けることができる。この場合、クラス分類適応フィルタの後段の、例えば、DFでは、クラス分類適応フィルタで行われるフィルタ処理に関する情報を、前段フィルタ関連情報として用いて、クラス分類を行い、そのクラス分類の結果得られるクラスに対応するDFのフィルタ処理を行うことができる。
さらに、ILFは、DF,SAO、及び、ALFに限定されるものではなく、ILFとしては、他の新たなフィルタを設けることができる。クラス分類適応フィルタは、その新たなフィルタに代えて設けることができる。
以上の点、復号装置12でも同様である。
<タップ係数の削減>
図28は、タップ係数学習により得られるクラスごとのタップ係数を削減する削減方法の例を説明する図である。
タップ係数は、符号化データのオーバーヘッドとなるため、フィルタ後画像が元画像に極めて近い画像となるタップ係数が得られても、タップ係数のデータ量が多いと、圧縮効率の改善の妨げとなる。
そこで、タップ係数学習により得られるタップ係数(の数)は、必要に応じて削減することができる。
例えば、図28に示すように、注目画素を中心として、注目画素と、注目画素の上下左右それぞれに隣接する2画素ずつとの、合計で、9画素で構成されるクロス型のクラスタップを構成し、1ビットADRC処理によるクラス分類を行う場合には、例えば、最上位ビット(注目画素のADRC結果)が1のADRCコードについて、各ビットの反転を行うことにより、クラス数を、512=29クラスから256=28クラスに縮退することができる。クラスの縮退後の256クラスでは、9画素のクラスタップ(の1ビットADRC処理)のADRCコードをそのままクラスコードとする場合に比較して、タップ係数のデータ量が1/2に削減される。
さらに、クラスタップを構成するクロス型の9画素のうちの、上下方向、左右方向、又は、斜め方向に線対称の位置関係にある画素のADRC結果が同一のクラスどうしを、1つのクラスにまとめるクラスの縮退を行うことにより、クラス数は、100クラスにすることができる。この場合、100クラスのタップ係数のデータ量は、256クラスのタップ係数のデータ量の約39%になる。
また、以上に加えて、クラスタップを構成するクロス型の9画素のうちの、点対称の位置関係にある画素のADRC結果が同一のクラスどうしを、1つのクラスにまとめるクラスの縮退を行うことにより、クラス数は、55クラスにすることができる。この場合、55クラスのタップ係数のデータ量は、256クラスのタップ係数のデータ量の約21%になる。
クラスの縮退は、その他、例えば、クラスを統合する統合指標を算出し、その統合指標に基づいて、複数のクラスを1つのクラスに統合することにより行うことができる。
例えば、あるクラスC1のタップ係数それぞれと、他のクラスC2のタップ係数それぞれとの差分の自乗和等を、タップ係数どうしの係数間距離として定義し、その係数間距離を、統合指標として用いて、統合指標としての係数間距離が閾値以下のクラスC1及びC2を、1つのクラスCに統合することができる。クラスの統合を行った場合には、その統合後のクラスのタップ係数としては、統合前のクラスC1のタップ係数又はクラスC2のタップ係数を採用することができる。また、統合後のクラスのタップ係数は、タップ係数学習により求め直すことができる。
さらに、例えば、RDコストを統合指標として用い、あるクラスC1と他のクラスC2とを統合する前のRDコストに対して、クラスC1とクラスC2とを統合した後のRDコストが改善する場合には、クラスC1及びC2を、1つのクラスCに統合することができる。
なお、以上のように、統合指標に基づいて、複数のクラスを1つのクラスに統合する場合には、統合後のクラスごとのタップ係数が、フィルタ情報として、符号化装置11から復号装置12に伝送されるが、さらに、統合前のクラスと統合後のクラスとの対応関係を表す情報(対応関係を、復号装置12側で認識することができる情報)を、フィルタ情報として、符号化装置11から復号装置12に伝送する必要がある。
タップ係数の削減は、以上のように、クラスの縮退によって行う他、タップ係数自体を削減することによって行うこともできる。
すなわち、例えば、予測タップ及び符号化ブロックが同一の画素で構成される場合には、ブロック位相に基づいて、タップ係数自体を削減することができる。
例えば、図28に示すように、予測タップ及び符号化ブロックが、4×4画素で構成される場合には、予測タップの左上の2×2画素と左右方向に線対称の位置関係にある右上の2×2画素、上下方向に線対称の位置関係にある左下の2×2画素、及び、点対称の位置関係にある右下の2×2画素のタップ係数として、左上の2×2画素それぞれのタップ係数を位置関係に応じて配置し直したタップ係数を採用することができる。この場合、予測タップを構成する4×4画素に対する16個のタップ係数を、左上の2×2画素に対する4個のタップ係数に削減することができる。
また、予測タップの上半分の4×2画素と上下方向に線対称の位置関係にある下半分の4×2画素のタップ係数として、上半分の4×2画素それぞれのタップ係数を位置関係に応じて配置し直したタップ係数を採用することができる。この場合、予測タップを構成する4×4画素に対する16個のタップ係数を、上半分の4×2画素に対する8個のタップ係数に削減することができる。
その他、予測タップの左右方向に線対称の位置関係にある画素どうしや、斜め方向に線対称の位置関係にある画素どうしのタップ係数として、同一のタップ係数を採用することによって、タップ係数を削減することができる。
<符号化装置11の第2の構成例>
図29は、図1の符号化装置11の第2の構成例を示すブロック図である。
なお、図中、図9の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図29において、符号化装置11は、A/D変換部101ないしSAO112、フレームメモリ114ないしレート制御部119、及び、クラス分類適応フィルタ311を有する。
したがって、図29の符号化装置11は、A/D変換部101ないしSAO112、及び、フレームメモリ114ないしレート制御部119を有する点で、図9の場合と共通する。
但し、図29の符号化装置11は、クラス分類適応フィルタ113に代えて、クラス分類適応フィルタ311を有する点で、図9の場合と相違する。
クラス分類適応フィルタ311は、図9のクラス分類適応フィルタ113と同様に、クラス分類適応処理によって、ALFとして機能するフィルタで、クラス分類適応処理によって、ALFに相当するフィルタ処理を行う。
<クラス分類適応フィルタ311の構成例>
図30は、図29のクラス分類適応フィルタ311の構成例を示すブロック図である。
図30において、クラス分類適応フィルタ311は、学習装置331、フィルタ情報生成部332、及び、画像変換装置333を有する。
学習装置331には、並べ替えバッファ102(図29)から元画像が供給されるとともに、SAO112(図29)から復号途中画像が供給される。さらに、学習装置331には、クラス分類適応フィルタ113のフィルタ処理よりも前段で行われる前段フィルタ処理としてのDF111のフィルタ処理に関する前段フィルタ関連情報としてのDF情報が、DF111から供給される。
学習装置331は、復号途中画像を生徒データとするとともに、元画像を教師データとして、DF情報を用いるクラス分類を行い、クラスごとのタップ係数を求めるタップ係数学習を行う。
学習装置331は、タップ係数学習により得られるクラスごとのタップ係数を、フィルタ情報生成部332に供給する。
なお、学習装置331は、例えば、あらかじめ決められた複数のクラス分類法の中から、タップ係数学習で行うDF情報を用いるクラス分類の方法(採用クラス分類法)を決定する。
学習装置331での採用クラス分類法の決定は、復号途中画像(の画像特徴量)や、符号化情報等の、符号化装置11での元画像の予測符号化により得られる符号化データから取得することができる取得可能情報、すなわち、符号化装置11及び復号装置12のいずれでも取得することができる取得可能情報に応じて行われる。
ここで、図11の学習装置131は、タップ係数学習においてクラスごとのタップ係数を得るのに用いた採用クラス分類法を表す分類方法情報を、フィルタ情報生成部132に供給するが、図30の学習装置331では、フィルタ情報生成部332に対して、クラスごとのタップ係数が供給されるが、分類方法情報は供給されない。
フィルタ情報生成部332は、学習装置331からのクラスごとのタップ係数を必要に応じて含むフィルタ情報を生成し、画像変換装置333及び可逆符号化部106(図29)に供給する。
なお、図11で説明したように、フィルタ情報には、コピー情報を含ませることができる。
画像変換装置333には、フィルタ情報生成部332からフィルタ情報が供給される他、SAO112(図29)から復号途中画像が供給されるとともに、DF111から、DF情報が供給される。
画像変換装置333は、復号途中画像を第1の画像として、フィルタ情報生成部332からのフィルタ情報に含まれるクラスごとのタップ係数を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、フレームメモリ114(図29)に供給する。
画像変換装置333は、クラス分類適応処理において、学習装置331と同様に、クラス分類を、DF111からのDF情報を用いて行う。また、画像変換装置333は、取得可能情報に応じて、学習装置131が行うDF情報を用いるクラス分類と同一のクラス分類法を、採用クラス分類法に決定し、その採用クラス分類法のクラス分類を、DF情報を用いて行う。
<学習装置331の構成例>
図31は、図30の学習装置331の構成例を示すブロック図である。
なお、図中、図12の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図31において、学習装置331は、学習部152、不使用係数削除部153、及び、クラス分類方法決定部351を有する。
したがって、学習装置331は、学習部152、及び、不使用係数削除部153を有する点で、図12の学習装置131と共通する。
但し、学習装置331は、クラス分類方法決定部151に代えて、クラス分類方法決定部351を有する点で、図12の学習装置131と相違する。
クラス分類方法決定部351は、例えば、あらかじめ決められた複数のクラス分類法(の情報)を記憶している。
すなわち、クラス分類方法決定部351は、例えば、図12のクラス分類方法決定部151と同様に、DF情報を用いるクラス分類や、DF情報を用いずに、画像特徴量や符号化情報等の他の情報を用いるクラス分類、DF情報と他の情報との両方を用いるクラス分類等の、複数のクラス分類法を記憶している。
また、クラス分類方法決定部351が複数のクラス分類法として記憶する、少なくともDF情報を用いるクラス分類の方法としては、粗い分類を行うクラス分類の方法や、細かい分類を行うクラス分類の方法等を含めることができる。
クラス分類方法決定部351は、例えば、図12のクラス分類方法決定部151と同様に、タップ係数学習の開始時に、複数のクラス分類法の中から、学習部152のクラス分類部162で用いるクラス分類法である採用クラス分類法を決定し、その採用クラス分類法を表す分類方法情報を、学習部152のクラス分類部162に供給する。
但し、クラス分類方法決定部351は、復号途中画像や符号化情報等の取得可能情報に応じて、採用クラス分類法を決定する。
例えば、クラス分類方法決定部351では、復号画像の品質、すなわち、例えば、符号化情報の1つである量子化パラメータQPに応じて、採用クラス分類法を決定することができる。
具体的には、量子化パラメータQPが閾値より大きい場合には、クラス分類方法決定部351では、図15及び図17に示したようなDF情報を用いるクラス分類(以下、DFクラス分類ともいう)の方法を、採用クラス分類法に決定することができる。
特に、クラス分類方法決定部351では、図15に示したような細かい分類を行うDFクラス分類の方法を、採用クラス分類法に決定することができる。
一方、量子化パラメータQPが閾値より大きくない場合には、クラス分類方法決定部351では、DF情報を用いずに、他の情報を用いるクラス分類や、図17のBに示したような粗い分類を行うDFクラス分類の方法を、採用クラス分類法に決定することができる。
また、例えば、クラス分類方法決定部351では、復号途中画像の画像特徴量を抽出し、その画像特徴量に応じて、採用クラス分類法を決定することができる。
ここで、図12で説明したように、画像特徴量としてのDRは、画素値の振幅の変化の指標とすることができ、画像特徴量としてのDiffMax/DRは、画素値のステップ状の段差の指標にすることができる。したがって、DRやDiffMax/DRを閾値処理することにより、復号途中画像が、微小な振幅の変化の画素値が多いかどうかや、画素値にステップ状の段差がある領域が多いかどうかを認識することができる。
例えば、復号途中画像が、微小な振幅の変化の画素値が多く、画素値にステップ状の段差がある領域が多い画像である場合には、クラス分類方法決定部351では、図15及び図17に示したようなDFクラス分類の方法、特に、図15に示したような細かいクラス分類を行うDFクラス分類の方法を、採用クラス分類法に決定することができる。
一方、復号途中画像が、微小な振幅が多く、画素値にステップ状の段差がある領域が多い画像でない場合には、クラス分類方法決定部351では、DF情報を用いずに、他の情報を用いるクラス分類や、図17のBに示したような粗い分類を行うDFクラス分類の方法を、採用クラス分類法に決定することができる。
クラス分類方法決定部351では、その他、例えば、取得可能情報としての復号途中画像において、DF111でDFが適用された画素の割合に応じて、採用クラス分類法を決定することができる。
例えば、復号途中画像のピクチャにおいて、DF111のストロングフィルタ又はウィークフィルタが適用された画素の割合が閾値より大きい場合には、クラス分類方法決定部351では、図15及び図17に示したようなDFクラス分類の方法、特に、図15に示したような細かい分類を行うDFクラス分類の方法を、採用クラス分類法に決定することができる。
一方、復号途中画像のピクチャにおいて、DF111のストロングフィルタ又はウィークフィルタが適用された画素の割合が閾値より大きくない場合には、クラス分類方法決定部351では、DF情報を用いずに、他の情報を用いるクラス分類や、図15のBに示したような粗い分類を行うDFクラス分類の方法を、採用クラス分類法に決定することができる。
ここで、図12のクラス分類方法決定部151は、採用クラス分類法を表す分類方法情報を、学習装置131の外部としてのフィルタ情報生成部132に供給するが、クラス分類方法決定部351は、分類方法情報を、学習装置131の外部としてのフィルタ情報生成部132に供給しない。したがって、図29の符号化装置11では、分類方法情報は、復号装置12に伝送されない。
<学習装置331の処理>
図32は、図31の学習装置331の処理の例を説明するフローチャートである。
ステップS211において、クラス分類方法決定部351は、タップ係数学習に用いる生徒データとしての復号途中画像や、その復号途中画像に対する符号化情報(復号途中画像に対応する元画像の符号化にあたって生成された符号化情報)等の取得可能情報に応じて、あらかじめ決められた複数のクラス分類法の中から、採用クラス分類法を決定する。そして、クラス分類方法決定部351は、採用クラス分類法を表す分類方法情報を、学習部152(図31)のクラス分類部162に供給して、処理は、ステップS212に進む。
ステップS212ないしS215では、図19のステップS32ないしS35とそれぞれ同様の処理が行われ、これにより、不使用係数削除部153(図31)において、初期係数から、除外クラスのタップ係数が不使用係数として削除された採用係数が、フィルタ情報生成部332(図30)に出力され、処理は終了する。
<画像変換装置333の構成例>
図33は、図31の画像変換装置333の構成例を示すブロック図である。
なお、図中、図20の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図33において、画像変換装置333は、タップ選択部191、クラス分類部192、係数取得部193、予測演算部194、及び、クラス分類方法決定部361を有する。
したがって、画像変換装置333は、タップ選択部191ないし予測演算部194を有する点で、図20の画像変換装置133と共通する。
但し、画像変換装置333は、クラス分類方法決定部361が新たに設けられている点で、図20の画像変換装置133と相違する。
クラス分類方法決定部361は、図31のクラス分類方法決定部351と同一の複数のクラス分類法(の情報)を記憶している。
クラス分類方法決定部361は、図31のクラス分類方法決定部351と同様に、復号途中画像や符号化情報等の取得可能情報に応じて、複数のクラス分類法の中から、1つのクラス分類法を採用クラス分類法に決定する。
したがって、クラス分類方法決定部361では、図31のクラス分類方法決定部351で採用クラス分類法に決定されるのと同一のクラス分類法が、採用クラス分類法に決定される。
クラス分類方法決定部361は、複数のクラス分類法の中から決定した採用クラス分類法を表す分類方法情報を、クラス分類部192に供給する。
そして、画像変換装置333では、図20の画像変換装置133と同様の処理が行われる。
すなわち、クラス分類部192は、クラス分類方法決定部361からの分類方法情報が表すクラス分類法のDFクラス分類を、DF111からのDF情報を用いて行い、注目画素のクラスを求め、係数取得部193に供給する。
係数取得部193は、フィルタ情報生成部332(図30)から供給されるフィルタ情報に含まれるタップ係数(採用係数)を記憶し、そのタップ係数から、クラス分類部192で得られる注目画素のクラスのタップ係数を取得して、予測演算部194に供給する。
予測演算部194は、タップ選択部191から供給される注目画素の予測タップと、係数取得部193から供給される注目画素のクラスのタップ係数とを用いて、予測演算を行い、注目画素に対応する元画像の対応画素の画素値の予測値を求める。
<符号化処理>
図34は、図29の符号化装置11の符号化処理の例を説明するフローチャートである。
符号化装置11において、クラス分類適応フィルタ311の学習装置331(図30)は、そこに供給される復号途中画像のうちの、例えば、複数のフレーム、1フレーム、ブロック等の更新単位の復号途中画像を生徒データとするとともに、その復号途中画像に対応する元画像を教師データとして、随時、タップ係数学習を行っている。そして、学習装置331は、ステップS241において、図21のステップS41と同様に、現在のタイミングが、タップ係数及びクラス分類法を更新する所定のタイミングとしての更新タイミングであるかどうかを判定する。
ステップS241において、タップ係数及びクラス分類法の更新タイミングでないと判定された場合、処理は、ステップS242ないしS244をスキップして、ステップS245に進む。
また、ステップS241において、タップ係数及びクラス分類法の更新タイミングであると判定された場合、処理は、ステップS242に進む。
ステップS242では、フィルタ情報生成部332(図30)は、学習装置331が最新のタップ係数学習により生成するクラスごとのタップ係数(又はコピー情報)を含むフィルタ情報を生成し、画像変換装置333(図30)及び可逆符号化部106(図29)に供給して、処理は、ステップS243に進む。
ステップS243では、画像変換装置333(図33)は、フィルタ情報生成部332からのフィルタ情報に従って、係数取得部193に記憶されるクラスごとのタップ係数を、フィルタ情報に含まれる採用係数に更新する。
さらに、ステップS243では、画像変換装置333(図33)のクラス分類方法決定部361は、取得可能情報に応じて、複数のクラス分類法の中から、採用クラス分類法を決定し、その採用クラス分類法を表す分類方法情報を、クラス分類部192に供給することで、クラス分類部192が行うクラス分類の方法を、分類方法情報が表す採用クラス分類法に更新して、処理は、ステップS243からステップS244に進む。
ステップS244では、可逆符号化部106は、フィルタ情報生成部332から供給されるフィルタ情報を、伝送対象に設定して、処理は、ステップS245に進む。伝送対象に設定されたフィルタ情報は、ステップS259において符号化データに含められて伝送される。
ステップS245ないしS261では、図21のステップS45ないしS61とそれぞれ同様の処理が行われる。
図35は、図34のステップS257で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ311の画像変換装置333(図33)では、ステップS271ないしS279において、図22のステップS71ないしS79とそれぞれ同様の処理が行われる。
但し、図22のステップS73では、クラス分類部192が、注目画素について、フィルタ情報生成部132(図11)からのフィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF111からのDF情報を用いて行うが、ステップS273では、クラス分類部192が、クラス分類方法決定部361(図31)からの最新の分類方法情報が表す採用クラス分類法、すなわち、クラス分類方法決定部361が直前のステップS243(図34)で決定した採用クラス分類法のクラス分類を、DF111からのDF情報を用いて行う。
<復号装置12の第2の構成例>
図36は、図1の復号装置12の第2の構成例を示すブロック図である。
なお、図中、図23の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図36において、復号装置12は、蓄積バッファ201ないしSAO207、並べ替えバッファ209ないし選択部215、及び、クラス分類適応フィルタ411を有する。
したがって、図36の復号装置12は、蓄積バッファ201ないしSAO207、及び、並べ替えバッファ209ないし選択部215を有する点で、図23の場合と共通する。
但し、図36の復号装置12は、クラス分類適応フィルタ208に代えて、クラス分類適応フィルタ411が設けられている点で、図23の場合と相違する。
クラス分類適応フィルタ411は、図23のクラス分類適応フィルタ208と同様に、クラス分類適応処理によって、ALFとして機能するフィルタで、クラス分類適応処理によって、ALFに相当するフィルタ処理を行う。
<クラス分類適応フィルタ411の構成例>
図37は、図36のクラス分類適応フィルタ411の構成例を示すブロック図である。
図37において、クラス分類適応フィルタ411は、画像変換装置431を有する。
画像変換装置431には、SAO207(図36)から復号途中画像が供給されるとともに、可逆復号部202からフィルタ情報が供給される。さらに、画像変換装置431には、DF206からDF情報が供給される。
画像変換装置431は、図30の画像変換装置333と同様に、復号途中画像を第1の画像として、フィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類、すなわち、画像変換装置333で行われるのと同一のクラス分類を、DF206からのDF情報を用いて行う。さらに、画像変換装置431は、クラス分類の結果得られるクラスに対応するフィルタ処理として、フィルタ情報に含まれるクラスごとのタップ係数(採用係数)を用いたフィルタ処理である予測演算を行うクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、並べ替えバッファ209及びフレームメモリ211(図36)に供給する。
なお、図24の画像変換装置231では、フィルタ情報に含まれる分類方法情報に従って、画像変換装置133(図11)で行われるクラス分類と同一のクラス分類法が、採用クラス分類法に決定されるが、画像変換装置431では、取得可能情報に応じて、画像変換装置333(図30)で行われるクラス分類と同一のクラス分類法が、採用クラス分類法に決定される。
<画像変換装置431の構成例>
図38は、図37の画像変換装置431の構成例を示すブロック図である。
なお、図中、図25の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図38において、画像変換装置431は、タップ選択部241、クラス分類部242、係数取得部243、予測演算部244、及び、クラス分類方法決定部441を有する。
したがって、画像変換装置431は、タップ選択部241ないし予測演算部244を有する点で、図25の画像変換装置231と共通する。
但し、画像変換装置431は、クラス分類方法決定部441が新たに設けられている点で、図25の画像変換装置231と相違する。
クラス分類方法決定部441は、図33のクラス分類方法決定部361と同一の複数のクラス分類法(の情報)を記憶している。
そして、クラス分類方法決定部441は、図33のクラス分類方法決定部361と同様に、復号途中画像や符号化情報等の取得可能情報に応じて、複数のクラス分類法の中から、1つのクラス分類法を採用クラス分類法に決定する。
したがって、クラス分類方法決定部441では、図33のクラス分類方法決定部361で採用クラス分類法に決定されるのと同一のクラス分類法が、採用クラス分類法に決定される。
クラス分類方法決定部441は、複数のクラス分類法の中から決定した採用クラス分類法を表す分類方法情報を、クラス分類部242に供給する。
そして、画像変換装置431では、図25の画像変換装置231と同様の処理が行われる。
すなわち、クラス分類部242は、クラス分類方法決定部441からの分類方法情報が表すクラス分類法のDFクラス分類を、DF206のDF情報を用いて行い、注目画素のクラスを求め、係数取得部243に供給する。
係数取得部243は、可逆復号部202(図36)から供給されるフィルタ情報に含まれるタップ係数(採用係数)を記憶し、そのタップ係数から、クラス分類部242で得られる注目画素のクラスのタップ係数を取得して、予測演算部244に供給する。
予測演算部244は、タップ選択部241から供給される注目画素の予測タップと、係数取得部243から供給される注目画素のクラスのタップ係数とを用いて、予測演算を行い、注目画素に対応する元画像の対応画素の画素値の予測値を求める。
<復号処理>
図39は、図36の復号装置12の復号処理の例を説明するフローチャートである。
復号処理では、ステップS311ないしS315において、図26のステップS111ないしS115とそれぞれ同様の処理が行われる。
そして、ステップS315において、クラス分類法及びタップ係数の更新タイミングでないと判定された場合、処理は、ステップS316をスキップして、ステップS317に進む。
また、ステップS315において、クラス分類法及びタップ係数の更新タイミングであると判定された場合、処理は、ステップS316に進む。
ステップS316では、画像変換装置431(図38)は、直前のステップS314で取得したフィルタ情報に従って、係数取得部243に記憶されるクラスごとのタップ係数を、フィルタ情報に含まれる採用係数に更新する。
さらに、ステップS316では、画像変換装置431(図38)のクラス分類方法決定部441は、取得可能情報に応じて、複数のクラス分類法の中から、採用クラス分類法を決定し、その採用クラス分類法を表す分類方法情報を、クラス分類部242に供給することで、クラス分類部242が行うクラス分類の方法を、分類方法情報が表す採用クラス分類法に更新して、処理は、ステップS317に進む。
ステップS317ないしS326では、図26のステップS117ないし126とそれぞれ同様の処理が行われる。
図40は、図39のステップS323で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ411の画像変換装置431(図38)では、ステップS331ないしS339において、図27のステップS131ないしS139とそれぞれ同様の処理が行われる。
但し、図27のステップS133では、クラス分類部242(図25)が、注目画素について、可逆復号部202(図23)からのフィルタ情報に含まれる分類方法情報が表すクラス分類法のクラス分類を、DF206からのDF情報を用いて行うが、ステップS333では、クラス分類部242(図38)が、クラス分類方法決定部441(図38)からの最新の分類方法情報が表す採用クラス分類法、すなわち、クラス分類方法決定部441が直前のステップS316(図39)で決定した採用クラス分類法のクラス分類を、DF206からのDF情報を用いて行う。
以上のように、符号化装置11(図29)及び復号装置12(図36)において、取得可能情報に応じて、採用クラス分類法を決定する場合には、符号化装置11から復号装置12に対して、分類方法情報を伝送する必要がないので、圧縮効率を向上させることができる。
<多視点画像符号化・復号システムへの適用>
上述した一連の処理は、多視点画像符号化・復号システムに適用することができる。
図41は、多視点画像符号化方式の一例を示す図である。
図41に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの情報を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの情報を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューの符号化・復号は、ベースビューの情報を利用するようにしても良いし、他のノンベースビューの情報を利用するようにしてもよい。
図41の例のような多視点画像を符号化・復号する場合、多視点画像は、視点毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各視点の符号化データは、それぞれ(すなわち視点毎に)復号される。このような各視点の符号化・復号に対して、以上の実施の形態において説明した方法を適用してもよい。このようにすることにより、S/N及び圧縮効率を、大きく改善することができる。つまり、多視点画像の場合も同様に、S/N及び圧縮効率を、大きく改善することができる。
<多視点画像符号化・復号システム>
図42は、上述した多視点画像符号化・復号を行う多視点画像符号化・復号システムの、多視点画像符号化装置を示す図である。
図42に示されるように、多視点画像符号化装置1000は、符号化部1001、符号化部1002、及び多重化部1003を有する。
符号化部1001は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部1002は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部1003は、符号化部1001において生成されたベースビュー画像符号化ストリームと、符号化部1002において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
図43は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。
図43に示されるように、多視点画像復号装置1010は、逆多重化部1011、復号部1012、及び復号部1013を有する。
逆多重化部1011は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部1012は、逆多重化部1011により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部1013は、逆多重化部1011により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
例えば、このような多視点画像符号化・復号システムにおいて、多視点画像符号化装置1000の符号化部1001及び符号化部1002として、以上の実施の形態において説明した符号化装置11を適用してもよい。このようにすることにより、多視点画像の符号化においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を大きく改善することができる。また例えば、多視点画像復号装置1010の復号部1012及び復号部1013として、以上の実施の形態において説明した復号装置12を適用してもよい。このようにすることにより、多視点画像の符号化データの復号においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を大きく改善することができる。
<階層画像符号化・復号システムへの適用>
また、上述した一連の処理は、階層画像符号化(スケーラブル符号化)・復号システムに適用することができる。
図44は、階層画像符号化方式の一例を示す図である。
階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号(スケーラブル復号)は、その階層画像符号化に対応する復号である。
図44に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
図44の例のような階層画像を符号化・復号する場合、階層画像は、レイヤ毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各レイヤの符号化データは、それぞれ(すなわちレイヤ毎に)復号される。このような各レイヤの符号化・復号に対して、以上の実施の形態において説明した方法を適用してもよい。このようにすることにより、S/N及び圧縮効率を大きく改善することができる。つまり、階層画像の場合も同様に、S/N及び圧縮効率を大きく改善することができる。
<スケーラブルなパラメータ>
このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。
このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。
また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、時間解像度を適用しても良い(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。
さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比(SNR(Signal to Noise ratio))を適用しても良い(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。
スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
<階層画像符号化・復号システム>
図45は、上述した階層画像符号化・復号を行う階層画像符号化・復号システムの、階層画像符号化装置を示す図である。
図45に示されるように、階層画像符号化装置1020は、符号化部1021、符号化部1022、及び多重化部1023を有する。
符号化部1021は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部1022は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部1023は、符号化部1021において生成されたベースレイヤ画像符号化ストリームと、符号化部1022において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
図46は、上述した階層画像復号を行う階層画像復号装置を示す図である。
図46に示されるように、階層画像復号装置1030は、逆多重化部1031、復号部1032、及び復号部1033を有する。
逆多重化部1031は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部1032は、逆多重化部1031により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部1033は、逆多重化部1031により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
例えば、このような階層画像符号化・復号システムにおいて、階層画像符号化装置1020の符号化部1021及び符号化部1022として、以上の実施の形態において説明した符号化装置11を適用してもよい。このようにすることにより、階層画像の符号化においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を大きく改善することができる。また例えば、階層画像復号装置1030の復号部1032及び復号部1033として、以上の実施の形態において説明した復号装置12を適用してもよい。このようにすることにより、階層画像の符号化データの復号においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を大きく改善することができる。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図47は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図47に示されるコンピュータ1100において、CPU(Central Processing Unit)1101、ROM(Read Only Memory)1102、RAM(Random Access Memory)1103は、バス1104を介して相互に接続されている。
バス1104にはまた、入出力インタフェース1110も接続されている。入出力インタフェース1110には、入力部1111、出力部1112、記憶部1113、通信部1114、及びドライブ1115が接続されている。
入力部1111は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子等よりなる。出力部1112は、例えば、ディスプレイ、スピーカ、出力端子等よりなる。記憶部1113は、例えば、ハードディスク、RAMディスク、不揮発性のメモリ等よりなる。通信部1114は、例えば、ネットワークインタフェースよりなる。ドライブ1115は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブルメディア821を駆動する。
以上のように構成されるコンピュータでは、CPU1101が、例えば、記憶部1113に記憶されているプログラムを、入出力インタフェース1110及びバス1104を介して、RAM1103にロードして実行することにより、上述した一連の処理が行われる。RAM1103にはまた、CPU1101が各種の処理を実行する上において必要なデータ等も適宜記憶される。
コンピュータ(CPU1101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ1115に装着することにより、入出力インタフェース1110を介して、記憶部1113にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部1114で受信し、記憶部1113にインストールすることができる。
その他、このプログラムは、ROM1102や記憶部1113に、あらかじめインストールしておくこともできる。
<本技術の応用>
上述した実施の形態に係る符号化装置11や復号装置12は、例えば、衛星放送、ケーブルTV等の有線放送、インターネット上での配信、及びセルラー通信による端末への配信等における送信機や受信機、又は、光ディスク、磁気ディスク及びフラッシュメモリ等の媒体に画像を記録する記録装置や、これら記憶媒体から画像を再生する再生装置等の、様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<第1の応用例:テレビジョン受像機>
図48は、上述した実施の形態を適用したテレビジョン装置の概略的な構成の一例を示す図である。
テレビジョン装置1200は、アンテナ1201、チューナ1202、デマルチプレクサ1203、デコーダ1204、映像信号処理部1205、表示部1206、音声信号処理部1207、スピーカ1208、外部インタフェース(I/F)部1209、制御部1210、ユーザインタフェース(I/F)部1211、及びバス1212を備える。
チューナ1202は、アンテナ1201を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ1202は、復調により得られた符号化ビットストリームをデマルチプレクサ1203へ出力する。すなわち、チューナ1202は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置1200における伝送部としての役割を有する。
デマルチプレクサ1203は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ1204へ出力する。また、デマルチプレクサ1203は、符号化ビットストリームからEPG(Electronic Program Guide)等の補助的なデータを抽出し、抽出したデータを制御部1210に供給する。なお、デマルチプレクサ1203は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ1204は、デマルチプレクサ1203から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ1204は、復号処理により生成される映像データを映像信号処理部1205へ出力する。また、デコーダ1204は、復号処理により生成される音声データを音声信号処理部1207へ出力する。
映像信号処理部1205は、デコーダ1204から入力される映像データを再生し、表示部1206に映像を表示させる。また、映像信号処理部1205は、ネットワークを介して供給されるアプリケーション画面を表示部1206に表示させてもよい。また、映像信号処理部1205は、映像データについて、設定に応じて、例えばノイズ除去等の追加的な処理を行ってもよい。さらに、映像信号処理部1205は、例えばメニュー、ボタン又はカーソル等のGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部1206は、映像信号処理部1205から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)等)の映像面上に映像又は画像を表示する。
音声信号処理部1207は、デコーダ1204から入力される音声データについてD/A変換及び増幅等の再生処理を行い、スピーカ1208から音声を出力させる。また、音声信号処理部1207は、音声データについてノイズ除去等の追加的な処理を行ってもよい。
外部インタフェース部1209は、テレビジョン装置1200と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部1209を介して受信される映像ストリーム又は音声ストリームが、デコーダ1204により復号されてもよい。すなわち、外部インタフェース部1209もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置1200における伝送部としての役割を有する。
制御部1210は、CPU等のプロセッサ、並びにRAM及びROM等のメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータ等を記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置1200の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部1211から入力される操作信号に応じて、テレビジョン装置1200の動作を制御する。
ユーザインタフェース部1211は、制御部1210と接続される。ユーザインタフェース部1211は、例えば、ユーザがテレビジョン装置1200を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部等を有する。ユーザインタフェース部1211は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部1210へ出力する。
バス1212は、チューナ1202、デマルチプレクサ1203、デコーダ1204、映像信号処理部1205、音声信号処理部1207、外部インタフェース部1209及び制御部1210を相互に接続する。
このように構成されたテレビジョン装置1200において、デコーダ1204が、上述した復号装置12の機能を有するようにしてもよい。つまり、デコーダ1204が、符号化データを、以上の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、テレビジョン装置1200は、S/N及び圧縮効率を大きく改善することができる。
また、このように構成されたテレビジョン装置1200において、映像信号処理部1205が、例えば、デコーダ1204から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部1209を介してテレビジョン装置1200の外部に出力させることができるようにしてもよい。そして、その映像信号処理部1205が、上述した符号化装置11の機能を有するようにしてもよい。つまり、映像信号処理部1205が、デコーダ1204から供給される画像データを、以上の実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置1200は、S/N及び圧縮効率を大きく改善することができる。
<第2の応用例:携帯電話機>
図49は、上述した実施の形態を適用した携帯電話機の概略的な構成の一例を示す図である。
携帯電話機1220は、アンテナ1221、通信部1222、音声コーデック1223、スピーカ1224、マイクロホン1225、カメラ部1226、画像処理部1227、多重分離部1228、記録再生部1229、表示部1230、制御部1231、操作部1232、及びバス1233を備える。
アンテナ1221は、通信部1222に接続される。スピーカ1224及びマイクロホン1225は、音声コーデック1223に接続される。操作部1232は、制御部1231に接続される。バス1233は、通信部1222、音声コーデック1223、カメラ部1226、画像処理部1227、多重分離部1228、記録再生部1229、表示部1230、及び制御部1231を相互に接続する。
携帯電話機1220は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録等の動作を行う。
音声通話モードにおいて、マイクロホン1225により生成されるアナログ音声信号は、音声コーデック1223に供給される。音声コーデック1223は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック1223は、圧縮後の音声データを通信部1222へ出力する。通信部1222は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部1222は、生成した送信信号を、アンテナ1221を介して基地局(図示せず)へ送信する。また、通信部1222は、アンテナ1221を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部1222は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック1223へ出力する。音声コーデック1223は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック1223は、生成した音声信号をスピーカ1224に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部1231は、操作部1232を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部1231は、文字を表示部1230に表示させる。また、制御部1231は、操作部1232を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部1222へ出力する。通信部1222は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部1222は、生成した送信信号を、アンテナ1221を介して基地局(図示せず)へ送信する。また、通信部1222は、アンテナ1221を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部1222は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部1231へ出力する。制御部1231は、表示部1230に電子メールの内容を表示させると共に、電子メールデータを記録再生部1229に供給し、その記憶媒体に書き込ませる。
記録再生部1229は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリ等の内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカード等の外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部1226は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部1227へ出力する。画像処理部1227は、カメラ部1226から入力される画像データを符号化し、符号化ストリームを記録再生部1229に供給し、その記憶媒体に書き込ませる。
さらに、画像表示モードにおいて、記録再生部1229は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部1227へ出力する。画像処理部1227は、記録再生部1229から入力される符号化ストリームを復号し、画像データを表示部1230に供給し、その画像を表示させる。
また、テレビ電話モードにおいて、例えば、多重分離部1228は、画像処理部1227により符号化された映像ストリームと、音声コーデック1223から入力される音声ストリームとを多重化し、多重化したストリームを通信部1222へ出力する。通信部1222は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部1222は、生成した送信信号を、アンテナ1221を介して基地局(図示せず)へ送信する。また、通信部1222は、アンテナ1221を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部1222は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部1228へ出力する。多重分離部1228は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部1227、音声ストリームを音声コーデック1223へ出力する。画像処理部1227は、映像ストリームを復号し、映像データを生成する。映像データは、表示部1230に供給され、表示部1230により一連の画像が表示される。音声コーデック1223は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック1223は、生成した音声信号をスピーカ1224に供給して音声を出力させる。
このように構成された携帯電話機1220において、例えば画像処理部1227が、上述した符号化装置11の機能を有するようにしてもよい。つまり、画像処理部1227が、画像データを、以上の実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機1220は、S/N及び圧縮効率を大きく改善することができる。
また、このように構成された携帯電話機1220において、例えば画像処理部1227が、上述した復号装置12の機能を有するようにしてもよい。つまり、画像処理部1227が、符号化データを、以上の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、携帯電話機1220は、S/N及び圧縮効率を大きく改善することができる。
<第3の応用例:記録再生装置>
図50は、上述した実施の形態を適用した記録再生装置の概略的な構成の一例を示す図である。
記録再生装置1240は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置1240は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置1240は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置1240は、音声データ及び映像データを復号する。
記録再生装置1240は、チューナ1241、外部インタフェース(I/F)部1242、エンコーダ1243、HDD(Hard Disk Drive)部1244、ディスクドライブ1245、セレクタ1246、デコーダ1247、OSD(On-Screen Display)部1248、制御部1249、及びユーザインタフェース(I/F)部1250を備える。
チューナ1241は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ1241は、復調により得られた符号化ビットストリームをセレクタ1246へ出力する。すなわち、チューナ1241は、記録再生装置1240における伝送部としての役割を有する。
外部インタフェース部1242は、記録再生装置1240と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部1242は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェース等であってよい。例えば、外部インタフェース部1242を介して受信される映像データ及び音声データは、エンコーダ1243へ入力される。すなわち、外部インタフェース部1242は、記録再生装置1240における伝送部としての役割を有する。
エンコーダ1243は、外部インタフェース部1242から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ1243は、符号化ビットストリームをセレクタ1246へ出力する。
HDD部1244は、映像及び音声等のコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD部1244は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ1245は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ1245に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスク等であってよい。
セレクタ1246は、映像及び音声の記録時には、チューナ1241又はエンコーダ1243から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD1244又はディスクドライブ1245へ出力する。また、セレクタ1246は、映像及び音声の再生時には、HDD1244又はディスクドライブ1245から入力される符号化ビットストリームをデコーダ1247へ出力する。
デコーダ1247は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ1247は、生成した映像データをOSD部1248へ出力する。また、デコーダ1247は、生成した音声データを外部のスピーカへ出力する。
OSD部1248は、デコーダ1247から入力される映像データを再生し、映像を表示する。また、OSD部1248は、表示する映像に、例えばメニュー、ボタン又はカーソル等のGUIの画像を重畳してもよい。
制御部1249は、CPU等のプロセッサ、並びにRAM及びROM等のメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータ等を記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置1240の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部1250から入力される操作信号に応じて、記録再生装置1240の動作を制御する。
ユーザインタフェース部1250は、制御部1249と接続される。ユーザインタフェース部1250は、例えば、ユーザが記録再生装置1240を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部等を有する。ユーザインタフェース部1250は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部1249へ出力する。
このように構成された記録再生装置1240において、例えばエンコーダ1243が、上述した符号化装置11の機能を有するようにしてもよい。つまり、エンコーダ1243が、画像データを、以上の実施の形態において説明方法で符号化するようにしてもよい。このようにすることにより、記録再生装置1240は、S/N及び圧縮効率を大きく改善することができる。
また、このように構成された記録再生装置1240において、例えばデコーダ1247が、上述した復号装置12の機能を有するようにしてもよい。つまり、デコーダ1247が、符号化データを、以上の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、記録再生装置1240は、S/N及び圧縮効率を大きく改善することができる。
<第4の応用例:撮像装置>
図51は、上述した実施の形態を適用した撮像装置の概略的な構成の一例を示す図である。
撮像装置1260は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置1260は、光学ブロック1261、撮像部1262、信号処理部1263、画像処理部1264、表示部1265、外部インタフェース(I/F)部1266、メモリ部1267、メディアドライブ1268、OSD部1269、制御部1270、ユーザインタフェース(I/F)部1271、及びバス1272を備える。
光学ブロック1261は、撮像部1262に接続される。撮像部1262は、信号処理部1263に接続される。表示部1265は、画像処理部1264に接続される。ユーザインタフェース部1271は、制御部1270に接続される。バス1272は、画像処理部1264、外部インタフェース部1266、メモリ部1267、メディアドライブ1268、OSD部1269、及び制御部1270を相互に接続する。
光学ブロック1261は、フォーカスレンズ及び絞り機構等を有する。光学ブロック1261は、被写体の光学像を撮像部1262の撮像面に結像させる。撮像部1262は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部1262は、画像信号を信号処理部1263へ出力する。
信号処理部1263は、撮像部1262から入力される画像信号に対してニー補正、ガンマ補正、色補正等の種々のカメラ信号処理を行う。信号処理部1263は、カメラ信号処理後の画像データを画像処理部1264へ出力する。
画像処理部1264は、信号処理部1263から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部1264は、生成した符号化データを外部インタフェース部1266又はメディアドライブ1268へ出力する。また、画像処理部1264は、外部インタフェース部1266又はメディアドライブ1268から入力される符号化データを復号し、画像データを生成する。そして、画像処理部1264は、生成した画像データを表示部1265へ出力する。また、画像処理部1264は、信号処理部1263から入力される画像データを表示部1265へ出力して画像を表示させてもよい。また、画像処理部1264は、OSD部1269から取得される表示用データを、表示部1265へ出力する画像に重畳してもよい。
OSD部1269は、例えばメニュー、ボタン又はカーソル等のGUIの画像を生成して、生成した画像を画像処理部1264へ出力する。
外部インタフェース部1266は、例えばUSB入出力端子として構成される。外部インタフェース部1266は、例えば、画像の印刷時に、撮像装置1260とプリンタとを接続する。また、外部インタフェース部1266には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスク等のリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置1260にインストールされ得る。さらに、外部インタフェース部1266は、LAN又はインターネット等のネットワークに接続されるネットワークインタフェースとして構成されてもよい。すなわち、外部インタフェース部1266は、撮像装置1260における伝送部としての役割を有する。
メディアドライブ1268に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリ等の、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ1268に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部1270は、CPU等のプロセッサ、並びにRAM及びROM等のメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータ等を記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置1260の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部1271から入力される操作信号に応じて、撮像装置1260の動作を制御する。
ユーザインタフェース部1271は、制御部1270と接続される。ユーザインタフェース部1271は、例えば、ユーザが撮像装置1260を操作するためのボタン及びスイッチ等を有する。ユーザインタフェース部1271は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部1270へ出力する。
このように構成された撮像装置1260において、例えば画像処理部1264が、上述した符号化装置11の機能を有するようにしてもよい。つまり、画像処理部1264が、画像データを、以上の実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、撮像装置1260は、S/N及び圧縮効率を大きく改善することができる。
また、このように構成された撮像装置1260において、例えば画像処理部1264が、上述した復号装置12の機能を有するようにしてもよい。つまり、画像処理部1264が、符号化データを、以上の実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、撮像装置1260は、S/N及び圧縮効率を大きく改善することができる。
<その他の応用例>
なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
また、以上においては、本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置又はシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
<ビデオセット>
本技術をセットとして実施する場合の例について、図52を参照して説明する。
図52は、本技術を適用したビデオセットの概略的な構成の一例を示す図である。
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
図52に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
図52に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、及びフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、及びセンサ1323等の関連する機能を有するデバイスとを有する。
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
図52の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ1331、ビデオプロセッサ1332、ブロードバンドモデム1333、及びRFモジュール1334を有する。
プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
図52のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(又はその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
なお、図52において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図52に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、及び増幅部1353を有する。
アンテナ部1351は、無線信号を送受信するアンテナ及びその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
<ビデオプロセッサの構成例>
図53は、本技術を適用したビデオプロセッサ1332(図52)の概略的な構成の一例を示す図である。
図53の例の場合、ビデオプロセッサ1332は、ビデオ信号及びオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータ及びオーディオデータを復号し、ビデオ信号及びオーディオ信号を再生出力する機能とを有する。
図53に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、及びメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408A及び1408B、並びに、オーディオESバッファ1409A及び1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、及びストリームバッファ1414を有する。
ビデオ入力処理部1401は、例えばコネクティビティ1321(図52)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、及びエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402又は第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換及び拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリーム又はファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した実施の形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した符号化装置11の機能若しくは復号装置12の機能又はその両方を有するようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、上述した実施の形態の符号化装置11や復号装置12と同様の効果を得ることができる。
なお、エンコード・デコードエンジン1407において、本技術(すなわち、符号化装置11の機能若しくは復号装置12の機能又はその両方)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
<ビデオプロセッサの他の構成例>
図54は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示す図である。
図54の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
より具体的には、図54に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、及び内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、及びビデオインタフェース1520を有する。
制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
図54に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、及びシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531及びサブCPU1532が実行するプログラムを指定する等、メインCPU1531及びサブCPU1532の動作を制御する。
ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、又はデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、又はコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、又はコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化又は符号化データの復号を行うようにしてもよい。
図54に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、及びMPEG-DASH1551を有する。
MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した実施の形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した符号化装置11の機能若しくは復号装置12の機能又はその両方を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
なお、コーデックエンジン1516において、本技術(すなわち、符号化装置11や復号装置12の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
<装置への適用例>
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置1200(図48)、携帯電話機1220(図49)、記録再生装置1240(図50)、撮像装置1260(図51)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置1200(図48)、携帯電話機1220(図49)、記録再生装置1240(図50)、撮像装置1260(図51)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、及びフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、又は、ビデオユニット1361を、テレビジョン装置1200(図48)、携帯電話機1220(図49)、記録再生装置1240(図50)、撮像装置1260(図51)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
<その他>
なお、本明細書では、各種情報が、符号化データ(ビットストリーム)に多重化されて、符号化側から復号側へ伝送される例について説明したが、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、例えば、符号化データに含まれる画像(スライス若しくはブロック等、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。すなわち、この符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、この符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。さらに、画像とその画像に対応する情報とが、例えば、複数フレーム、1フレーム、又はフレーム内の一部分等の任意の単位で互いに関連付けられるようにしてもよい。
なお、本明細書では、各種情報が、符号化データ(ビットストリーム)に多重化されて、符号化側から復号側へ伝送される例について説明したが、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、例えば、符号化データに含まれる画像(スライス若しくはブロック等、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。すなわち、この符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、この符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。さらに、画像とその画像に対応する情報とが、例えば、複数フレーム、1フレーム、又はフレーム内の一部分等の任意の単位で互いに関連付けられるようにしてもよい。
また、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えばフラグ情報と画像に関する情報の符号化データとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、例えば、1つの装置(又は処理部)として説明した構成を分割し、複数の装置(又は処理部)として構成するようにしてもよい。逆に、以上において複数の装置(又は処理部)として説明した構成をまとめて1つの装置(又は処理部)として構成されるようにしてもよい。また、各装置(又は各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(又は処理部)の構成の一部を他の装置(又は他の処理部)の構成に含めるようにしてもよい。
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、
前記予測符号化を行う
符号化装置。
<2>
前記クラス分類の方法を決定するクラス分類方法決定部をさらに備える
<1>に記載の符号化装置。
<3>
前記クラス分類方法決定部が決定した前記クラス分類の方法を表す分類方法情報を伝送する伝送部をさらに備える
<2>に記載の符号化装置。
<4>
前記クラス分類方法決定部は、前記予測符号化により得られる符号化データから取得可能な取得可能情報に応じて、前記クラス分類の方法を決定する
<2>に記載の符号化装置。
<5>
前記フィルタ処理部は、
前記第1の画像の前記注目画素に対応する前記第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することにより、前記予測タップを構成する予測タップ選択部と、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められた、前記クラスごとの、前記予測演算に用いられるタップ係数のうちの、前記注目画素のクラスのタップ係数を取得するタップ係数取得部と、
前記注目画素のクラスのタップ係数と、前記注目画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、
前記タップ係数を伝送する伝送部をさらに備える
<1>又は<2>に記載の符号化装置。
<6>
前記学習によりタップ係数が求められたクラスのうちの一部のクラスを、前記フィルタ処理の対象から除外する除外クラスとして、前記学習により求められた前記クラスごとのタップ係数から、前記除外クラスのタップ係数を削除した削除後のタップ係数を、前記フィルタ処理に用いる採用係数として出力する係数削除部をさらに備え、
前記伝送部は、前記採用係数を伝送し、
前記演算部は、前記注目画素のクラスが除外クラスである場合、前記注目画素の画素値を、前記対応画素の画素値として出力する
<5>に記載の符号化装置。
<7>
前記前段フィルタ処理は、DF(Deblocking Filter)のフィルタ処理である
<1>ないし<6>のいずれかに記載の符号化装置。
<8>
前記クラス分類部は、前記前段フィルタ関連情報、及び、前記注目画素の画像特徴量を用いて、前記クラス分類を行う
<1>ないし<7>のいずれかに記載の符号化装置。
<9>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記予測符号化を行う符号化装置の
前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う
符号化方法。
<10>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、
前記予測画像を用いて画像を復号する
復号装置。
<11>
前記クラス分類の方法を表す分類方法情報を受け取る受け取り部をさらに備え、
前記クラス分類部は、前記分類方法情報が表す方法で、前記クラス分類を行う
<10>に記載の復号装置。
<12>
前記予測符号化により得られる符号化データから取得可能な取得可能情報に応じて、前記クラス分類の方法を決定するクラス分類方法決定部をさらに備える
<10>に記載の復号装置。
<13>
前記フィルタ処理部は、
前記第1の画像の前記注目画素に対応する前記第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することにより、前記予測タップを構成する予測タップ選択部と、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められた、前記クラスごとの、前記予測演算に用いられるタップ係数のうちの、前記注目画素のクラスのタップ係数を取得するタップ係数取得部と、
前記注目画素のクラスのタップ係数と、前記注目画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、
前記タップ係数を受け取る受け取り部をさらに備える
<10>に記載の復号装置。
<14>
前記学習によりタップ係数が求められたクラスのうちの一部のクラスを、前記フィルタ処理の対象から除外する除外クラスとするとともに、前記学習により求められた前記クラスごとのタップ係数から、前記除外クラスのタップ係数を削除した削除後のタップ係数を、前記フィルタ処理に用いる採用係数とする場合に、
前記受け取り部は、前記採用係数を受け取り、
前記演算部は、前記注目画素のクラスが除外クラスである場合、前記注目画素の画素値を、前記対応画素の画素値として出力する
<13>に記載の復号装置。
<15>
前記前段フィルタ処理は、DF(Deblocking Filter)のフィルタ処理である
<10>ないし<14>のいずれかに記載の復号装置。
<16>
前記クラス分類部は、前記前段フィルタ関連情報、及び、前記注目画素の画像特徴量を用いて、前記クラス分類を行う
<10>ないし<15>のいずれかに記載の復号装置。
<17>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記予測画像を用いて画像を復号する復号装置の
前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う
復号方法。
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、
前記予測符号化を行う
符号化装置。
<2>
前記クラス分類の方法を決定するクラス分類方法決定部をさらに備える
<1>に記載の符号化装置。
<3>
前記クラス分類方法決定部が決定した前記クラス分類の方法を表す分類方法情報を伝送する伝送部をさらに備える
<2>に記載の符号化装置。
<4>
前記クラス分類方法決定部は、前記予測符号化により得られる符号化データから取得可能な取得可能情報に応じて、前記クラス分類の方法を決定する
<2>に記載の符号化装置。
<5>
前記フィルタ処理部は、
前記第1の画像の前記注目画素に対応する前記第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することにより、前記予測タップを構成する予測タップ選択部と、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められた、前記クラスごとの、前記予測演算に用いられるタップ係数のうちの、前記注目画素のクラスのタップ係数を取得するタップ係数取得部と、
前記注目画素のクラスのタップ係数と、前記注目画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、
前記タップ係数を伝送する伝送部をさらに備える
<1>又は<2>に記載の符号化装置。
<6>
前記学習によりタップ係数が求められたクラスのうちの一部のクラスを、前記フィルタ処理の対象から除外する除外クラスとして、前記学習により求められた前記クラスごとのタップ係数から、前記除外クラスのタップ係数を削除した削除後のタップ係数を、前記フィルタ処理に用いる採用係数として出力する係数削除部をさらに備え、
前記伝送部は、前記採用係数を伝送し、
前記演算部は、前記注目画素のクラスが除外クラスである場合、前記注目画素の画素値を、前記対応画素の画素値として出力する
<5>に記載の符号化装置。
<7>
前記前段フィルタ処理は、DF(Deblocking Filter)のフィルタ処理である
<1>ないし<6>のいずれかに記載の符号化装置。
<8>
前記クラス分類部は、前記前段フィルタ関連情報、及び、前記注目画素の画像特徴量を用いて、前記クラス分類を行う
<1>ないし<7>のいずれかに記載の符号化装置。
<9>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記予測符号化を行う符号化装置の
前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う
符号化方法。
<10>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、
前記予測画像を用いて画像を復号する
復号装置。
<11>
前記クラス分類の方法を表す分類方法情報を受け取る受け取り部をさらに備え、
前記クラス分類部は、前記分類方法情報が表す方法で、前記クラス分類を行う
<10>に記載の復号装置。
<12>
前記予測符号化により得られる符号化データから取得可能な取得可能情報に応じて、前記クラス分類の方法を決定するクラス分類方法決定部をさらに備える
<10>に記載の復号装置。
<13>
前記フィルタ処理部は、
前記第1の画像の前記注目画素に対応する前記第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することにより、前記予測タップを構成する予測タップ選択部と、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められた、前記クラスごとの、前記予測演算に用いられるタップ係数のうちの、前記注目画素のクラスのタップ係数を取得するタップ係数取得部と、
前記注目画素のクラスのタップ係数と、前記注目画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、
前記タップ係数を受け取る受け取り部をさらに備える
<10>に記載の復号装置。
<14>
前記学習によりタップ係数が求められたクラスのうちの一部のクラスを、前記フィルタ処理の対象から除外する除外クラスとするとともに、前記学習により求められた前記クラスごとのタップ係数から、前記除外クラスのタップ係数を削除した削除後のタップ係数を、前記フィルタ処理に用いる採用係数とする場合に、
前記受け取り部は、前記採用係数を受け取り、
前記演算部は、前記注目画素のクラスが除外クラスである場合、前記注目画素の画素値を、前記対応画素の画素値として出力する
<13>に記載の復号装置。
<15>
前記前段フィルタ処理は、DF(Deblocking Filter)のフィルタ処理である
<10>ないし<14>のいずれかに記載の復号装置。
<16>
前記クラス分類部は、前記前段フィルタ関連情報、及び、前記注目画素の画像特徴量を用いて、前記クラス分類を行う
<10>ないし<15>のいずれかに記載の復号装置。
<17>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記予測画像を用いて画像を復号する復号装置の
前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う
復号方法。
11 符号化装置, 12 復号装置, 21 タップ選択部, 22 クラス分類部, 23 係数取得部, 24 予測演算部, 40 学習装置, 41 教師データ生成部, 42 生徒データ生成部, 43 学習部, 51 タップ選択部, 52 クラス分類部, 53 足し込み部, 54 係数算出部, 61 係数取得部, 71 パラメータ生成部, 72 生徒データ生成部, 73 学習部, 81 足し込み部, 82 係数算出部, 91,92 足し込み部, 93 係数算出部, 101 A/D変換部, 102 並べ替えバッファ, 103 演算部, 104 直交変換部, 105 量子化部, 106 可逆符号化部, 107 蓄積バッファ, 108 逆量子化部, 109 逆直交変換部, 110 演算部, 111 DF, 112 SAO, 113 クラス分類適応フィルタ, 114 フレームメモリ, 115 選択部, 116 イントラ予測部, 117 動き予測補償部, 118 予測画像選択部, 119 レート制御部, 131 学習装置, 132 フィルタ情報生成部, 133 画像変換装置, 151 クラス分類方法決定部, 152 学習部, 153 不使用係数削除部, 161 タップ選択部, 162 クラス分類部, 163 足し込み部, 164 係数算出部, 171 クラスタップ選択部, 172 画像特徴量抽出部, 173,174 サブクラス分類部, 175 DF情報取得部, 176 サブクラス分類部, 177合成部, 190 フィルタ処理部, 191 タップ選択部, 192 クラス分類部, 193 係数取得部, 194 予測演算部, 201 蓄積バッファ, 202 可逆復号部, 203 逆量子化部, 204 逆直交変換部, 205 演算部, 206 DF, 207 SAO, 208 クラス分類適応フィルタ, 209 並べ替えバッファ, 210 D/A変換部, 211 フレームメモリ, 212 選択部, 213 イントラ予測部, 214 動き予測補償部, 215 選択部, 231 画像変換装置, 240 フィルタ処理部, 241 タップ選択部, 242 クラス分類部, 243 係数取得部, 244 予測演算部, 311 クラス分類適応フィルタ, 331 学習装置, 332 フィルタ情報生成部, 333 画像変換装置, 351,361 クラス分類方法決定部, 411 クラス分類適応フィルタ, 431 画像変換装置, 441 クラス分類方法決定部
Claims (17)
- 予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、
前記予測符号化を行う
符号化装置。 - 前記クラス分類の方法を決定するクラス分類方法決定部をさらに備える
請求項1に記載の符号化装置。 - 前記クラス分類方法決定部が決定した前記クラス分類の方法を表す分類方法情報を伝送する伝送部をさらに備える
請求項2に記載の符号化装置。 - 前記クラス分類方法決定部は、前記予測符号化により得られる符号化データから取得可能な取得可能情報に応じて、前記クラス分類の方法を決定する
請求項2に記載の符号化装置。 - 前記フィルタ処理部は、
前記第1の画像の前記注目画素に対応する前記第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することにより、前記予測タップを構成する予測タップ選択部と、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められた、前記クラスごとの、前記予測演算に用いられるタップ係数のうちの、前記注目画素のクラスのタップ係数を取得するタップ係数取得部と、
前記注目画素のクラスのタップ係数と、前記注目画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、
前記タップ係数を伝送する伝送部をさらに備える
請求項1に記載の符号化装置。 - 前記学習によりタップ係数が求められたクラスのうちの一部のクラスを、前記フィルタ処理の対象から除外する除外クラスとして、前記学習により求められた前記クラスごとのタップ係数から、前記除外クラスのタップ係数を削除した削除後のタップ係数を、前記フィルタ処理に用いる採用係数として出力する係数削除部をさらに備え、
前記伝送部は、前記採用係数を伝送し、
前記演算部は、前記注目画素のクラスが除外クラスである場合、前記注目画素の画素値を、前記対応画素の画素値として出力する
請求項5に記載の符号化装置。 - 前記前段フィルタ処理は、DF(Deblocking Filter)のフィルタ処理である
請求項1に記載の符号化装置。 - 前記クラス分類部は、前記前段フィルタ関連情報、及び、前記注目画素の画像特徴量を用いて、前記クラス分類を行う
請求項1に記載の符号化装置。 - 予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記予測符号化を行う符号化装置の
前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う
符号化方法。 - 予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記クラス分類部は、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行い、
前記予測画像を用いて画像を復号する
復号装置。 - 前記クラス分類の方法を表す分類方法情報を受け取る受け取り部をさらに備え、
前記クラス分類部は、前記分類方法情報が表す方法で、前記クラス分類を行う
請求項10に記載の復号装置。 - 前記予測符号化により得られる符号化データから取得可能な取得可能情報に応じて、前記クラス分類の方法を決定するクラス分類方法決定部をさらに備える
請求項10に記載の復号装置。 - 前記フィルタ処理部は、
前記第1の画像の前記注目画素に対応する前記第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することにより、前記予測タップを構成する予測タップ選択部と、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められた、前記クラスごとの、前記予測演算に用いられるタップ係数のうちの、前記注目画素のクラスのタップ係数を取得するタップ係数取得部と、
前記注目画素のクラスのタップ係数と、前記注目画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、
前記タップ係数を受け取る受け取り部をさらに備える
請求項10に記載の復号装置。 - 前記学習によりタップ係数が求められたクラスのうちの一部のクラスを、前記フィルタ処理の対象から除外する除外クラスとするとともに、前記学習により求められた前記クラスごとのタップ係数から、前記除外クラスのタップ係数を削除した削除後のタップ係数を、前記フィルタ処理に用いる採用係数とする場合に、
前記受け取り部は、前記採用係数を受け取り、
前記演算部は、前記注目画素のクラスが除外クラスである場合、前記注目画素の画素値を、前記対応画素の画素値として出力する
請求項13に記載の復号装置。 - 前記前段フィルタ処理は、DF(Deblocking Filter)のフィルタ処理である
請求項10に記載の復号装置。 - 前記クラス分類部は、前記前段フィルタ関連情報、及び、前記注目画素の画像特徴量を用いて、前記クラス分類を行う
請求項10に記載の復号装置。 - 予測符号化の残差と予測画像とを加算することにより得られる第1の画像の注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
前記第1の画像に、前記注目画素のクラスに対応するフィルタ処理を行い、前記予測画像の予測に用いられる第2の画像を生成するフィルタ処理部と
を備え、
前記予測画像を用いて画像を復号する復号装置の
前記クラス分類部が、前記フィルタ処理部のフィルタ処理よりも前段で行われる前段フィルタ処理に関する前段フィルタ関連情報を用いて、前記クラス分類を行う
復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880016553.2A CN110383836A (zh) | 2017-03-15 | 2018-03-01 | 编码装置、编码方法、解码装置和解码方法 |
US16/486,657 US20210297687A1 (en) | 2017-03-15 | 2018-03-01 | Encoding apparatus, encoding method, decoding apparatus, and decoding method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017049889 | 2017-03-15 | ||
JP2017-049889 | 2017-03-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018168484A1 true WO2018168484A1 (ja) | 2018-09-20 |
Family
ID=63523979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/007704 WO2018168484A1 (ja) | 2017-03-15 | 2018-03-01 | 符号化装置、符号化方法、復号装置、及び、復号方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210297687A1 (ja) |
CN (1) | CN110383836A (ja) |
WO (1) | WO2018168484A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022511310A (ja) * | 2018-11-12 | 2022-01-31 | サムスン エレクトロニクス カンパニー リミテッド | ディスプレイ装置及びその制御方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019065261A1 (ja) * | 2017-09-27 | 2019-04-04 | ソニー株式会社 | 符号化装置、符号化方法、復号装置、及び、復号方法 |
CN111866506B (zh) * | 2020-06-07 | 2024-09-06 | 咪咕文化科技有限公司 | 图像编码方法、装置、设备及可读存储介质 |
CN111866507B (zh) * | 2020-06-07 | 2024-09-27 | 咪咕文化科技有限公司 | 图像滤波方法、装置、设备及存储介质 |
US12406481B2 (en) * | 2021-11-15 | 2025-09-02 | Qualcomm Incorporated | Video processing using delta distillation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013073184A1 (ja) * | 2011-11-15 | 2013-05-23 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置 |
JP2013201467A (ja) * | 2010-07-15 | 2013-10-03 | Sharp Corp | 動画像符号化装置および動画像復号装置および符号化データ構造 |
WO2013154026A1 (ja) * | 2012-04-13 | 2013-10-17 | ソニー株式会社 | 画像処理装置および方法 |
JP2017005723A (ja) * | 2013-06-12 | 2017-01-05 | 三菱電機株式会社 | 符号化データのデータ構造 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4552261B2 (ja) * | 2000-04-03 | 2010-09-29 | ソニー株式会社 | ディジタル情報変換装置および方法、並びに画像情報変換装置および方法 |
JP4517300B2 (ja) * | 2006-01-06 | 2010-08-04 | ソニー株式会社 | 表示装置および表示方法、学習装置および学習方法、並びにプログラム |
SG10201910966SA (en) * | 2009-06-19 | 2020-01-30 | Mitsubishi Electric Corp | Image encoding device, image decoding device, image encoding method, and image decoding method |
JP2012235407A (ja) * | 2011-05-09 | 2012-11-29 | Sony Corp | 画像処理装置および画像処理方法 |
CN102857751B (zh) * | 2011-07-01 | 2015-01-21 | 华为技术有限公司 | 一种视频编解码方法和装置 |
JP2014194706A (ja) * | 2013-03-29 | 2014-10-09 | Sony Corp | 画像処理装置、画像処理方法、及び、プログラム |
-
2018
- 2018-03-01 CN CN201880016553.2A patent/CN110383836A/zh not_active Withdrawn
- 2018-03-01 WO PCT/JP2018/007704 patent/WO2018168484A1/ja active Application Filing
- 2018-03-01 US US16/486,657 patent/US20210297687A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013201467A (ja) * | 2010-07-15 | 2013-10-03 | Sharp Corp | 動画像符号化装置および動画像復号装置および符号化データ構造 |
WO2013073184A1 (ja) * | 2011-11-15 | 2013-05-23 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置 |
WO2013154026A1 (ja) * | 2012-04-13 | 2013-10-17 | ソニー株式会社 | 画像処理装置および方法 |
JP2017005723A (ja) * | 2013-06-12 | 2017-01-05 | 三菱電機株式会社 | 符号化データのデータ構造 |
Non-Patent Citations (2)
Title |
---|
ANDREW, SEGALL: "Unified Deblocking and SAO", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) 7TH MEETING : GENEVA, JCTVC-G608-V3, 24 November 2011 (2011-11-24) * |
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 5 (JEM 5", JOINT VIDEO EXPLORATION TEAM (JVET) 5TH MEETING : GENEVA, JVET-E1001-V2, 11 February 2017 (2017-02-11) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022511310A (ja) * | 2018-11-12 | 2022-01-31 | サムスン エレクトロニクス カンパニー リミテッド | ディスプレイ装置及びその制御方法 |
JP7214845B2 (ja) | 2018-11-12 | 2023-01-30 | サムスン エレクトロニクス カンパニー リミテッド | ディスプレイ装置及びその制御方法 |
US11968382B2 (en) | 2018-11-12 | 2024-04-23 | Samsung Electronics Co., Ltd. | Display apparatus and method of controlling the same |
US12425625B2 (en) | 2018-11-12 | 2025-09-23 | Samsung Electronics Co., Ltd. | Display apparatus and method of controlling the same using artificial intelligence (AI) |
Also Published As
Publication number | Publication date |
---|---|
US20210297687A1 (en) | 2021-09-23 |
CN110383836A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3457692B1 (en) | Image processing device and method | |
JP6977719B2 (ja) | 符号化装置及び符号化方法、並びに、復号装置及び復号方法 | |
WO2017191749A1 (ja) | 画像処理装置及び画像処理方法 | |
JP7047776B2 (ja) | 符号化装置及び符号化方法、並びに、復号装置及び復号方法 | |
JP6883219B2 (ja) | 符号化装置及び符号化方法、並びに、システム | |
EP3675490A1 (en) | Image processing device and image processing method | |
WO2018168484A1 (ja) | 符号化装置、符号化方法、復号装置、及び、復号方法 | |
WO2015008652A1 (ja) | 画像処理装置および方法 | |
JP6824034B2 (ja) | 画像復号装置および方法 | |
WO2018173873A1 (ja) | 符号化装置及び符号化方法、並びに、復号装置及び復号方法 | |
CN104620586A (zh) | 图像处理装置和方法 | |
WO2013001939A1 (ja) | 画像処理装置及び画像処理方法 | |
WO2018051811A1 (ja) | 画像処理装置および画像処理方法 | |
CN111133757B (zh) | 编码设备、编码方法、解码设备和解码方法 |
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: 18768347 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: 18768347 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |