WO2019111720A1 - 符号化装置、符号化方法、復号装置、及び、復号方法 - Google Patents

符号化装置、符号化方法、復号装置、及び、復号方法 Download PDF

Info

Publication number
WO2019111720A1
WO2019111720A1 PCT/JP2018/043093 JP2018043093W WO2019111720A1 WO 2019111720 A1 WO2019111720 A1 WO 2019111720A1 JP 2018043093 W JP2018043093 W JP 2018043093W WO 2019111720 A1 WO2019111720 A1 WO 2019111720A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
coefficient
prediction
image
tap
Prior art date
Application number
PCT/JP2018/043093
Other languages
English (en)
French (fr)
Inventor
拓郎 川合
健一郎 細川
孝文 森藤
優 池田
健治 近藤
隆浩 永野
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2019111720A1 publication Critical patent/WO2019111720A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present technology relates to an encoding apparatus, an encoding method, a decoding apparatus, and a decoding method, and in particular, for example, an encoding apparatus, an encoding method, a decoding apparatus, and the like that enable reduction in the size of the apparatus. It relates to a decryption method.
  • FVC Future Video Coding
  • HEVC High Efficiency Video Coding
  • ILF In Loop Filter
  • a bilateral filter Bilateral Filter
  • ALF Adaptive Loop Filter
  • GALA Global Adaptive Loop Filter
  • JEM7 Joint Exploration Test Model 7
  • 2017-08-19 Marta Karczewcz Li Zhang, Wei-Jung Chien
  • Xiang Li "Geometry transformation-based adaptive in-loop filter”
  • PCS Picture Coding Symposium
  • the present technology has been made in view of such a situation, and makes it possible to reduce the size of the device.
  • a decoding device decodes encoded data included in an encoded bit stream using a filter image to generate a decoded image, and a predetermined decoded image generated by the decoding unit.
  • Expansion that is the tap coefficient obtained from a coefficient prediction equation configured using a seed coefficient and a parameter, which approximates the tap coefficient that constitutes a prediction equation for performing product-sum operation of the tap coefficient and the pixel of the decoded image
  • a decoding method decodes encoded data included in an encoded bit stream using a filter image, generates a decoded image, and performs predetermined taps on the decoded image generated by the decoding unit.
  • a development tap which is the tap coefficient obtained from a coefficient prediction formula constructed using a seed coefficient and a parameter, which approximates the tap coefficient constituting a prediction formula for performing product-sum operation of a coefficient and a pixel of the decoded image
  • D performing a filtering process to apply the prediction equation configured using a coefficient, and generating the filter image.
  • the encoded data included in the encoded bit stream is decoded using the filter image to generate a decoded image.
  • a coefficient prediction equation constructed using a seed coefficient and a parameter, which approximates the tap coefficient constituting a prediction equation for performing product-sum operation of a predetermined tap coefficient and a pixel of the decoded image on the decoded image The filter processing which applies the said prediction formula comprised using the expansion
  • the encoding device is configured using a seed coefficient and a parameter that approximates the tap coefficient that constitutes a prediction equation for performing product-sum operation of a predetermined tap coefficient and a pixel of a locally decoded image.
  • a filter unit for applying a filtering process to the decoded image to generate a filter image the filter unit applying the prediction equation to the decoded image using the expansion tap coefficient which is the tap coefficient obtained from the coefficient prediction equation;
  • an encoding unit configured to encode an original image using the generated filter image.
  • the encoding method is configured using a seed coefficient and a parameter that approximates the tap coefficient that constitutes a prediction equation for performing product-sum operation of a predetermined tap coefficient and a pixel of a locally decoded image. Performing the filtering process of applying the prediction equation, which is the tap coefficient obtained from the coefficient prediction equation, which is the tap coefficient, to the decoded image to generate a filter image, and using the filter image And encoding the original image.
  • a seed coefficient and a parameter approximating the tap coefficient constituting a prediction equation for performing product-sum operation of a predetermined tap coefficient and a pixel of a locally decoded image A filter process is performed to apply the prediction equation configured using the expansion tap coefficient, which is the tap coefficient obtained from the coefficient prediction equation configured using the above, to the decoded image to generate a filter image. Then, the original image is encoded using the filter image.
  • the encoding apparatus and the decoding apparatus may be independent apparatuses or may be internal blocks constituting one apparatus.
  • the encoding device and the decoding device can be realized by causing a computer to execute a program.
  • the program can be provided by transmitting via a transmission medium or recording on a recording medium.
  • the scale of the device can be suppressed.
  • FIG. 6 is a block diagram showing an outline of a configuration example of a learning device 40.
  • FIG. 6 is a block diagram showing an outline of a configuration example of filter units 24 and 33.
  • 5 is a flowchart illustrating an overview of learning processing of a learning device 40.
  • FIG. FIG. 6 is a block diagram showing an outline of a configuration example of filter units 24 and 33.
  • FIG. 10 is a flowchart for describing an overview of the encoding process of the encoding device 20.
  • FIG. FIG. 16 is a flowchart illustrating an outline of the decoding process of the decoding device 30.
  • FIG. It is a block diagram showing the 1st example of composition of a prediction device which performs class classification prediction processing.
  • FIG. 6 is a block diagram showing a configuration example of a learning device that performs learning of tap coefficients stored in a coefficient acquisition unit 103.
  • FIG. 7 is a block diagram showing an example of the configuration of a learning unit 113. It is a block diagram showing the 2nd example of composition of a prediction device which performs class classification prediction processing.
  • FIG. 18 is a block diagram illustrating an example configuration of a learning unit 143.
  • FIG. 2 is a block diagram showing a detailed configuration example of a coding device 20. It is a block diagram which shows the structural example of ILF211. It is a block diagram showing an example of composition of learning device 231.
  • FIG. 16 is a block diagram showing an example of a configuration of a prediction device 232.
  • FIG. 20 is a flowchart for describing an example of encoding processing of the encoding device 20.
  • FIG. It is a flowchart explaining the example of a predictive coding process.
  • FIG. 2 is a block diagram showing a detailed configuration example of a decoding device 30. It is a block diagram which shows the structural example of ILF306. It is a block diagram showing an example of composition of prediction device 331.
  • FIG. 20 is a flowchart for describing an example of decoding processing of the decoding device 30.
  • FIG. It is a flowchart explaining the example of a prediction decoding process.
  • Fig. 21 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • Reference 1 AVC standard ("Advanced video coding for generic audiovisual services", ITU-T H.264 (04/2017))
  • Reference 2 HEVC standard ("High efficiency video coding", ITU-T H. 265 (12/2016))
  • Reference 3 FVC algorithm reference (Algorithm description of Joint Exploration Test Model 7 (JEM7), 2017-08-19)
  • the contents described in the above-mentioned documents are also the basis for judging the support requirements.
  • the Quad-Tree Block Structure described in Document 1 the QTBT (Quad Tree Plus Binary Tree) described in Document 3 or the Block Structure is not directly described in the embodiment, It shall be within the scope of disclosure and shall meet the support requirements of the claims.
  • technical terms such as Parsing, Syntax, and Semantics are also within the disclosure scope of the present technology, even if they are not directly described in the embodiments. Meet the claims support requirements.
  • a “block” (not a block indicating a processing unit) used in the description as a partial area of an image (picture) or a processing unit indicates an arbitrary partial area in a picture unless otherwise mentioned Its size, shape, characteristics and the like are not limited.
  • TB Transform Block
  • TU Transform Unit
  • PB Prediction Block
  • PU Prediction Unit
  • SCU Smallest Coding Unit
  • CU Transform Block described in the above-mentioned documents 1 to 3. Coding unit), Largest Coding Unit (LCU), Coding Tree Block (CTB), Coding Tree Unit (CTU), transformation block, subblock, macroblock, tile, slice, etc. Any partial area (processing unit) is included.
  • Any partial area is included.
  • the block size may be designated using identification information for identifying the size.
  • the block size may be specified by a ratio or a difference with the size of a reference block (for example, LCU or SCU).
  • a reference block for example, LCU or SCU.
  • the specification of the block size also includes specification of a range of block sizes (for example, specification of a range of allowable block sizes).
  • the prediction equation is a polynomial that predicts second data from the first data. If the first data and the second data are, for example, images (data), the prediction equation is a polynomial that predicts the second image from the first image.
  • Each term of the prediction equation which is such a polynomial is constituted by the product of one tap coefficient and one or more prediction taps, and hence the prediction equation is an equation for performing product-sum operation of the tap coefficient and the prediction tap is there.
  • the ith pixel (predicted tap) (the pixel value of (the pixel value of) the pixel used for prediction is x i , the ith tap coefficient w i, and the pixel value of the second image pixel
  • y ' ⁇ w i x i
  • represents the summation for i .
  • the tap coefficients w i constituting the prediction equation are obtained by learning that statistically minimizes an error y′ ⁇ y of the value y ′ obtained by the prediction equation with the true value y.
  • a learning method for obtaining tap coefficients there is a least squares method.
  • the student image as student data (input x i to the prediction equation) corresponding to the first image to which the prediction equation is applied, and the prediction equation for the first image
  • the normal equation is constructed using the teacher image as a teaching teacher of learning (the true value y of the predicted value obtained by the calculation of the prediction equation) corresponding to the second image to be obtained as a result of applying
  • the normal equation is obtained by adding up each of the terms to be calculated, and the tap coefficient is obtained by solving the normal equation.
  • the prediction process is a process of applying a prediction formula to the first image to predict the second image, and in the present technology, (the pixel value of) the pixel of the first image is used in the prediction process.
  • the predicted value of the second image is obtained by performing the product-sum operation of the prediction equation.
  • Performing product-sum operation using the first image can be referred to as filter processing that filters the first image, and prediction processing that performs product-sum operation of the prediction equation using the first image is: It can be said that it is a kind of filter processing.
  • the filtered image means an image obtained as a result of the filtering process.
  • the second image (the prediction value of the second image) obtained from the first image by the filter processing as the prediction processing is a filter image.
  • the tap coefficient is a coefficient that constitutes each term of a polynomial that is a prediction equation, and corresponds to a filter coefficient to be multiplied by the signal to be filtered at the tap of the digital filter.
  • the prediction tap is (the pixel value of) a pixel used for calculation of the prediction formula, and is multiplied by a tap coefficient in the prediction formula.
  • the volume conversion of the tap coefficients means approximating the tap coefficients constituting the prediction equation with a polynomial, that is, finding the coefficients (see coefficients) constituting the polynomial.
  • the coefficient prediction equation is a polynomial that approximates the tap coefficient w in volumeization.
  • represents the summation for m
  • the seed coefficient ⁇ m represents the m th coefficient of the coefficient prediction equation.
  • the seed coefficient means a coefficient of a coefficient prediction equation used for volume formation.
  • the seed coefficient can be determined by learning similar to the learning for determining the tap coefficient.
  • the data amount of the plurality of sets of tap coefficients can be compressed to the data amount of one set of seed coefficients .
  • a shape in which a set of tap coefficients used for filtering is arranged and points obtained by plotting values of the tap coefficients are connected is a filter shape.
  • the more similar the filter shape of each of a plurality of sets of tap coefficients to be combined into one set of seed coefficients the more appropriate the volume can be performed, that is, the tap coefficients with less error can be obtained. You can get the coefficients.
  • the expansion tap coefficient is a tap coefficient of a prediction equation obtained from a coefficient prediction equation, that is, a tap coefficient obtained by calculation of a coefficient prediction equation using a seed coefficient ⁇ m and a parameter z.
  • a plurality of sets of tap coefficients are combined (compressed) into one set of seed coefficients.
  • tap coefficients obtained from coefficient prediction formulas using seed coefficients are called expansion tap coefficients.
  • the preset prediction equation is a prediction equation having a product (only) of the product of the expansion tap coefficient and one or more prediction taps (as a pixel) as a term, and is a prediction equation that predicts the second image from the first image. is there.
  • the preset prediction means performing a calculation of a preset prediction formula using the first image to predict the second image, that is, obtaining a predicted value of the second image.
  • the preset prediction value is a prediction value of a second image obtained by performing calculation of a preset prediction formula using the first image.
  • the preset prediction error is a prediction error of the prediction value of the second image obtained by the preset prediction from the true value (second image).
  • the error prediction equation is a prediction equation for predicting a preset prediction error, and is configured using a first image and an error coefficient as a tap coefficient.
  • the error coefficient is a tap coefficient of the error prediction equation.
  • the fine prediction equation is a prediction equation configured using synthesis tap coefficients and prediction taps, and is a prediction equation that predicts a second image from a first image.
  • the synthesis tap coefficient is a tap coefficient obtained by combining (adding) the expansion tap coefficient and the error coefficient.
  • Fine prediction means performing a calculation of a fine prediction formula using the first image to predict the second image, that is, obtaining a predicted value of the second image.
  • the fine prediction value is a prediction value of a second image obtained by performing calculation of a fine prediction formula using the first image.
  • the N expansion tap coefficients constituting the preset prediction equation are represented by w p (1), w p (2),..., W p (N), and the N prediction error coefficients
  • the error coefficients are denoted w d (1), w d (2), ..., w d (N).
  • the preset prediction value (the prediction value of the second image) obtained by the preset prediction is represented as y ′ ′
  • the fine prediction value (the prediction value of the second image) obtained by the fine prediction is represented as y ′ .
  • a prediction value of a preset prediction error obtained by calculation of the error prediction formula is represented as ⁇ y ′ ′, and N prediction taps of the fine prediction formula, the preset prediction formula, and the error prediction formula (pixels of the first image
  • the (pixel value of) is represented as x (1), x (2),..., X (N).
  • ⁇ ⁇ ⁇ ⁇ ⁇ is a summation in which n is changed to an integer from 1 to N.
  • the preset prediction value y ′ ′ has an error of the preset prediction error y ⁇ y ′ ′ with respect to the true value y of the second image. Therefore, by adding the prediction value ⁇ y ′ ′ of the preset prediction error y ⁇ y ′ ′ to the preset prediction value y ′ ′, the true value y of the second image is closer to the true value y of the second image than the preset prediction value y ′ ′ The predicted value of the second image can be determined.
  • the fine prediction it is possible to obtain the predicted value y ′ of the second image (which has accuracy) closer to the true value y of the second image than the preset predicted value y ′ ′.
  • the encoded data is data obtained by coding an image, and is data obtained by, for example, orthogonally transforming and quantizing (the residual of) the image.
  • the coded bit stream is a bit stream including coded data, and as necessary, includes coding information on coding.
  • the coding information includes information necessary for decoding the coded data, that is, for example, a quantization parameter QP when quantization is performed in coding, predictive coding in motion (motion compensation) At least the motion vector etc. in the case where is being performed are included.
  • Acquirable information is information that can be acquired from a coded bit stream. Therefore, the obtainable information is also information that can be obtained by any of the coding device that codes an image and generates a coded bit stream, and the decoding device that decodes a coded bit stream into an image.
  • the obtainable information includes, for example, coding information included in the coded bit stream, and an image feature amount of an image obtained by decoding coded data included in the coded bit stream.
  • FIG. 1 is a diagram for explaining an example of filter processing as prediction processing for predicting an original image for a decoded image from a decoded image encoded and decoded (including local decoding) using a prediction formula .
  • y ⁇ w n x n
  • y represents (the predicted value of the pixel value of the corresponding pixel of the original image corresponding to the target pixel of the decoded image)
  • ⁇ changes n to an integer from 1 to N Represents the total amount of
  • w n represents the n-th tap coefficient
  • x n represents (the pixel value of) the pixel of the decoded image selected as the n-th prediction tap for the pixel of interest.
  • a linear prediction equation in which the pixel x n is a linear polynomial is adopted as the prediction equation.
  • multiple sets of tap coefficients are preset.
  • 16 sets of tap coefficients are preset for each of the 25 classes.
  • tap coefficients preset to an encoding device that encodes an image and a decoding device that decodes an image are hereinafter also referred to as preset tap coefficients.
  • volume conversion of tap coefficients is performed, and seed coefficients obtained by the volume conversion are preset to the encoding device and the decoding device, so that the storage capacity for storing preset tap coefficients is greater than the storage capacity.
  • the storage capacity for storing the coefficients is reduced, which in turn reduces the size of the encoding device and the decoding device.
  • w n ⁇ m, n z m ⁇ 1
  • w n represents the n-th tap coefficient
  • represents a summation by changing m to an integer from 1 to M.
  • ⁇ m, n represents the m-th seed coefficient of the coefficient prediction formula for determining the n-th tap coefficient w n
  • z is used to obtain the tap coefficient w n using the seed coefficient ⁇ m
  • n Represents a parameter (volume).
  • the coefficient prediction equation by giving various parameters z, tap coefficients w n (various properties suitable for a decoded image of various properties (image quality, motion amount, scene, etc.) from the seed coefficient ⁇ m, n
  • the tap coefficient w n that can generate a filter image with a small error from the original image can be obtained for the decoded image of.
  • a filtering process is performed to apply a prediction formula configured using the coefficient w n to the decoded image.
  • Coefficient prediction equation w n ⁇ m, according to the n z m-1, is one of the tap coefficients w n, as shown by B in FIG. 1, M-number of species coefficients ⁇ 1, n, ⁇ 2, n ,. . . , ⁇ M, n .
  • species factor determining the tap coefficient w n ⁇ 1, n, ⁇ 2, n,. . . , ⁇ M, n By setting the number M of preset tap coefficients smaller than the set number P of preset tap coefficients, the storage capacity for storing the seed coefficients is suppressed more than the storage capacity for storing the preset tap coefficients. It is possible to suppress the size of the device or the decoding device.
  • the image quality of the decoded image of a wider range of property than preset tap coefficients of P set with less data amount than preset tap coefficients of P set To improve the filtering, that is, for a decoded image of a wider range of nature than the P set of preset tap coefficients, it is possible to generate a filtered image with less error from the original image.
  • the multiple sets of preset tap coefficients are regarded as one group, and Determining a set of seed coefficients of a coefficient prediction equation that predicts any set of multiple sets of preset tap coefficients of the group relatively accurately by performing volumeization of multiple sets of preset tap coefficients of the group it can.
  • grouping can be performed into a plurality of groups by collecting sets in which changes in values of preset tap coefficients are stepwise.
  • the plurality of sets of preset tap coefficients are grouped into groups of sets in which changes in values of preset tap coefficients are stepwise, and for each of a plurality of groups obtained by the grouping, a plurality of groups of the groups are obtained.
  • one set of seed coefficients can be obtained by volume processing with the preset tap coefficients of all the plurality of sets as one group.
  • a coefficient that is configured using a set of seed coefficients, as compared to when volume processing is performed to obtain a set of seed coefficients for each group in which sets in which changes in values of preset tap coefficients are stepwise are collected
  • the accuracy of the tap coefficients predicted from the prediction formula may decrease.
  • the parameter z can be generated, for example, using the obtainable information that can be obtained from the coded bit stream.
  • the obtainable information includes, for example, coding information such as a quantization parameter QP included in the coded bit stream, and an image feature amount of a decoded image obtained by decoding coded data included in the coded bit stream. is there.
  • the (value of) the parameter z a value according to the encoding information or a value according to the image feature amount of the decoded image can be adopted.
  • the quantization parameter QP (of a block (CU or the like)) of the pixel of interest of the decoded image, the average value of the quantization parameters QP of the frame of pixel of interest, and the class of pixel of interest among the pixels of the frame of pixel of interest
  • the image feature amount of the target pixel I of the decoded image for example, the movement amount of the target pixel I
  • the image feature amount of the local region including the target pixel I for example, the movement amount of the local region
  • the obtainable information can be obtained from the coded bit stream by the coding apparatus as well as by the decoding apparatus. Therefore, when adopting a value according to the obtainable information as (the value of) the parameter z, there is no need to transmit the parameter z from the encoding device to the decoding device.
  • the parameter z can be generated according to the original image as well as generated according to the obtainable information. For example, a value according to the image feature amount of the original image, a value according to PSNR of the decoded image obtained using the original image, or the like can be adopted as the parameter z.
  • the original image can not be obtained by the decoding device, when the parameter z is generated according to the original image, for example, the parameter z generated according to the original image is included in the encoded bit stream Therefore, it is necessary to transmit from the encoding device to the decoding device.
  • the filter processing is performed using the tap coefficient obtained from the seed coefficient and the parameter z, for example, a value according to the resolution of the image or the value of the image as the parameter z. A value or the like according to the noise intensity can be adopted.
  • the parameter z is a tap coefficient such that a filter image having a resolution according to the parameter z specified by the user can be obtained, or a tap coefficient such that noise reduction of noise intensity according to the parameter z specified by the user is performed Are generated and filtering is performed. Therefore, the seed coefficient from which such a tap coefficient is obtained is obtained by learning and preset.
  • FIG. 2 is a block diagram showing an outline of a configuration example of a filter unit that performs filter processing in the encoding device and the decoding device.
  • the filter unit 10 includes a DB 11, a class classification unit 12, and a prediction unit 13.
  • the DB 11 stores one or more sets of seed coefficients for each class obtained in advance by learning. That is, one or more sets of seed coefficients are preset in the DB 11.
  • the decoded image is supplied to the class classification unit 12.
  • the class classification unit 12 sequentially selects pixels of the decoded image supplied thereto as a pixel of interest, and classifies the pixel of interest into any one of a plurality of classes.
  • the classification unit 12 supplies the class of the pixel of interest obtained by the classification to the prediction unit 13.
  • the prediction unit 13 is supplied with the class of the pixel of interest from the class classification unit 12 as well as the decoded image.
  • the prediction unit 13 obtains (deploys) a development tap coefficient for each class from a coefficient prediction formula configured using a seed coefficient for each class stored in the DB 11. Furthermore, the prediction unit 13 performs a filtering process of applying a prediction formula configured using expansion tap coefficients to the decoded image, and generates and outputs a filter image.
  • the prediction unit 13 selects a prediction tap (a pixel as a pixel) from the pixels of the decoded image for the pixel of interest. Then, the prediction unit 13 calculates the prediction formula configured using the expansion tap coefficient of the class of the pixel of interest among the expansion tap coefficients for each class, using the prediction tap for the pixel of interest, and corresponds to the pixel of interest.
  • the predicted value of (the pixel value of) the corresponding pixel of the filtered image, that is, (the pixel value of) the corresponding pixel of the original image corresponding to the target pixel is obtained.
  • the prediction unit 13 adopts one set of the seed coefficients among the plurality of sets of seed coefficients for filter processing.
  • the expansion tap coefficient is obtained using the selected seed coefficient.
  • the encoding apparatus transmits selection information including (for selection of) the adopted seed coefficient, for example, in the encoded bit stream to the decoding apparatus.
  • the expansion tap coefficient is obtained using the (adopted) kind coefficient represented by the selection information.
  • the selection of adopted seed coefficients from plural sets of seed coefficients for example, acquisition of a decoded image with good coding efficiency when filter processing using each of the plural sets of seed coefficients and the seed coefficients is performed It is possible to associate possible information.
  • the seed coefficient associated with the obtainable information on the decoded image to be filtered is selected as the adopted seed coefficient, and The employed tap coefficient is used to determine the expansion tap coefficient. Therefore, in this case, it is not necessary to transmit selection information from the encoding device to the decoding device.
  • FIG. 3 is a diagram for explaining the process of the filter unit 10 of the encoding device.
  • seed coefficients that constitute a coefficient prediction equation that approximates the tap coefficient w p of the prediction equation that predicts the original image (the pixel value of the pixel) y are obtained in advance by learning and preset.
  • the encoding apparatus sequentially selects the pixels of the decoded image as the pixel of interest, and performs the following processing on the pixel of interest.
  • the encoding device obtains the expansion tap coefficient w p from the preset seed coefficient (preset seed coefficient) according to the coefficient prediction equation.
  • w p exactly represents a row vector having expansion tap coefficients as elements.
  • x accurately represents a column vector having prediction taps as elements.
  • the number of columns of the row vector w p and the number of rows of the column vector x are the same.
  • the error coefficient learning is performed using the decoded image (prediction tap) x as student data as a student of error coefficient learning.
  • w d exactly represents a row vector whose element is an error coefficient.
  • the number of columns of the row vector w d is the same as the number of columns of the row vector w p .
  • the expansion tap coefficient w p and the error coefficients w d synthesized (added) to generate a composite tap coefficient w p + w d. Furthermore, the encoding apparatus performs the calculation of the fine prediction equation y ′ (w p + w d ) x configured using the synthesis tap coefficient w p + w d using the tap coefficient x for the pixel of interest , Fine prediction is performed to obtain the fine prediction value y 'of the original image.
  • the encoding apparatus outputs the fine prediction value y ′ (image composed of) as a filtered image.
  • error coefficient learning is performed on a frame-by-frame basis, and an error coefficient w d used for fine prediction (the generation of synthetic tap coefficient w p + w d ) is, for example, a coded bit stream. It is included and transmitted to the decoding device.
  • error coefficient learning can be performed for each of the plurality of sets of preset seed coefficients (a plurality of sets of expansion tap coefficients obtained therefrom).
  • the coding apparatus among the error coefficients obtained for each of a plurality of sets of preset seed coefficients, an error coefficient that optimizes the coding efficiency when fine prediction is performed, and a preset seed coefficient for which the error coefficient is obtained Doo is a adopt error coefficients w d adopt the fine prediction as filtering, to the adoption preset species coefficients are respectively selected.
  • the decoding apparatus from an encoding apparatus other adoption error coefficients w d, selection information indicating the adopted preset species coefficients, for example, be transmitted is included in the encoded bit stream.
  • the encoding apparatus when the obtainable information is associated with each set of preset seed coefficients, error coefficient learning is performed, for example, for the target pixel. It can be done for the set of preset seed coefficients that are associated with the obtainable information for the containing frame.
  • the encoding apparatus includes a set of preset species coefficients, the error coefficient obtained for the set of preset type coefficient, and employ the preset species coefficients and to the adoption error coefficients w d, are respectively selected.
  • the decoding device from the encoding device, employed but error coefficients w d is transmitted, selection information indicating the adopted preset species coefficients are not transmitted.
  • the adopted preset type coefficient can be specified by the decoding device from the obtainable information that can be obtained from the coded bit stream.
  • error coefficient learning can be performed, for example, while changing (the value of) the parameter z. That is, error coefficient learning can be performed using each of the plurality of expansion tap coefficients obtained from the coefficient prediction formula with respect to the parameter z of each value.
  • the decoding apparatus from an encoding apparatus, other adoption error coefficients w d, employing the parameter z is, for example, be transmitted is included in the encoded bit stream.
  • the encoding device when learning is performed in which the parameter z is set to a value according to the obtainable information and the seed coefficient is obtained, the encoding device has the parameter z according to the obtainable information. It can be set to In this case, in the encoding apparatus, error coefficient learning is performed using, for example, expansion tap coefficients obtained from the coefficient prediction equation with respect to the parameter z of a value corresponding to the obtainable information on the frame including the target pixel. Then, the error coefficient obtained by the error coefficient learning is selected adopted error coefficients w d.
  • the decoding apparatus from an encoding apparatus, but adoption error coefficients w d is transmitted, the adopted error coefficients w d is (was used to generate the expansion tap coefficients) obtained parameter z is not transmitted.
  • the parameter z used to generate the expansion tap coefficient can be specified in the decoding apparatus from the obtainable information that can be acquired from the coded bit stream.
  • the decoded device from the encoding device, (employed) but error coefficients w d is transmitted, the selection information and (adopted) parameter z is the case to be transmitted There are times when it is not transmitted (it is not necessary to transmit).
  • FIG. 4 is a diagram for explaining the process of the filter unit 10 of the decoding apparatus.
  • the seed coefficients constituting the coefficient prediction equation approximating the tap coefficient w p of the prediction equation for predicting the original image (the pixel value of the pixel) y are previously obtained by learning , Has been preset. That is, the same seed coefficient as that preset in the coding device is preset in the decoding device.
  • the decoding device parses the coded bit stream to obtain adopted error coefficients w d . Furthermore, when the selection information and the adoption parameter z are included in the coded bit stream, the decoding device obtains the selection information and the adoption parameter z by parsing the coded bit stream.
  • the decoding device sequentially selects the pixels of the decoded image as the pixel of interest, and performs the following processing on the pixel of interest.
  • the decoding apparatus selects one set of preset seed coefficients from among one or more sets of preset seed coefficients as adopted preset seed coefficients to be adopted for fine prediction.
  • the preset seed coefficients are selected as adopted preset seed coefficients.
  • the preset seed coefficients are selected as adopted preset seed coefficients.
  • each set of preset seed coefficients is associated with the obtainable information, it is associated with the obtainable information about the frame including the pixel of interest.
  • the set of preset seed coefficients is selected as the adopted preset seed coefficient.
  • the set of preset seed coefficients represented by the selection information is selected as the adopted preset seed coefficient. .
  • the decoding device obtains the expansion tap coefficient w p from the adopted preset seed coefficient according to the coefficient prediction formula.
  • the expansion tap coefficient w p can be obtained by performing calculation of the coefficient prediction formula using the parameter z and the adopted preset type coefficient. .
  • the frame including the pixel of interest The expansion tap coefficient w p is obtained by calculating the coefficient prediction formula using the parameter z of the value corresponding to the obtainable information of and the adopted preset seed coefficient.
  • the decoding apparatus synthesizes the expansion tap coefficient w p and the (adopted) error coefficient w d obtained from the coded bit stream to generate (determine) a synthesized tap coefficient w p + w d .
  • the fine prediction is performed to obtain the fine prediction value y 'of
  • the decoding device outputs the fine prediction value y ′ (image composed of) as a filter image.
  • the decoding device can obtain the same filter image as obtained by the coding device.
  • fine prediction is adopted as filter processing as prediction processing for predicting an original image, and a fine prediction value obtained by the fine prediction is output as a filter image.
  • preset prediction can be adopted. As predicted in the original image, when performing preset predictive, although prediction accuracy than the fine prediction decreases, the transmission of the error coefficients w d from the encoding device to the decoding device is not required.
  • FIG. 5 is a diagram for explaining the case where each of the selection information and the (adoption) parameter z is transmitted from the encoding device to the decoding device and the case where it is not transmitted.
  • the selection information need not be transmitted in the case where there is only one set of preset seed coefficients.
  • the encoding apparatus selects a set of preset seed coefficients that provides the best coding efficiency from among the plurality of sets of preset seed coefficients as adopted preset seed coefficients. Needs to transmit selection information that represents its adopted preset seed coefficient.
  • each set of preset seed coefficients is associated with the obtainable information, and the encoding device is associated with, for example, the obtainable information about the frame including the pixel of interest.
  • the adopted preset type coefficient can be specified by the decoding device from the obtainable information that can be obtained from the coded bit stream.
  • the association of the obtainable information with each set of preset seed coefficients can be performed, for example, as follows.
  • a set of preset seed coefficients (with a threshold value or more) with good coding efficiency is examined in advance, and each quantization parameter QP and the preset seed coefficient with good coding efficiency for the quantization parameter QP It can be associated with a set.
  • an error coefficient is obtained by using, as training data, the preset prediction error ⁇ y obtained using the respective expansion tap coefficients (multiple) obtained from the coefficient prediction equation for the parameter z of each value for the parameter z.
  • the parameter z of the value from which the error coefficient that maximizes the coding efficiency is obtained when fine prediction is performed is used to obtain the composite tap coefficient used for the fine prediction ( In the case of selecting the adopted parameter z adopted for the generation of expansion tap coefficient), it is necessary to transmit the adopted parameter z.
  • learning (volume formation) for obtaining a seed coefficient is performed using a value corresponding to the quantization parameter QP or the like as obtainable information as the parameter z, and the encoding device generates the expansion tap coefficient.
  • a value corresponding to the quantization parameter QP as the obtainable information is selected as the (adopted) parameter z to be used, there is no need to transmit the parameter z.
  • the parameter z used to generate the expansion tap coefficient can be specified in the decoding apparatus from the obtainable information that can be acquired from the coded bit stream.
  • the original image is used as teacher data, and the decoded image of the quantization parameter QP of each value is used as student data to obtain a seed coefficient Learning is done.
  • a value corresponding to the quantization parameter QP of the pixel of interest is selected (set) as the parameter z, and the coefficient prediction equation is calculated using the parameter z and the preset seed coefficient.
  • the expansion tap coefficient is obtained.
  • FIG. 6 is a diagram for explaining an example of filter processing as prediction processing for predicting an original image for a decoded image from the decoded image using a high-order prediction formula.
  • a polynomial including a high-order term (high-order term of 2 or more orders), with the product of one tap coefficient and (the pixel value of) pixels as one or more prediction taps as a term any polynomial can be adopted. That is, as the high-order prediction formula, for example, a polynomial consisting of only a first-order term (first-order term) and a second-order term (second-order term), or a first-order term and higher-order terms of a plurality of different orders of second or higher
  • a polynomial a polynomial including high-order terms of one or more orders of two or more, or the like can be employed.
  • y ′ represents a predicted value of (a pixel value of) a corresponding pixel which is a pixel of the original image corresponding to a target pixel among the pixels of the decoded image.
  • N1 is the number of pixels x i as the primary tap of the prediction tap (the linear term prediction tap), and represents the number of w i (tap coefficients of the first-order terms) linear coefficient of the tap coefficients.
  • w i represents the i-th primary coefficient of the tap coefficients.
  • x i represents (the pixel value of) the pixel as the i-th primary tap among the prediction taps.
  • N2 is the number of pixels x j (x k ) as secondary taps (predictive taps of quadratic terms) of the prediction taps, and secondary coefficients (2 of the tap coefficients)
  • the tap coefficient of the next term represents the number of w j, k .
  • w j, k represents the j ⁇ k second-order coefficient of the tap coefficients.
  • the primary tap is represented by x i and the secondary tap is represented by x j and x k , but in the following, depending on the suffix attached to x, There is no particular distinction between primary and secondary taps. That is, for example, be any of primary tap and secondary taps, with x i, primary tap x i and the secondary tap x i, or to as a prediction tap x i, and the like. The same applies to the first-order coefficient w i and the second-order coefficient w j, k which are tap coefficients.
  • the high-order prediction formula of Formula (1) is a polynomial which consists only of a first-order term and a second-order term.
  • the high-order prediction formula of Expression (1) is a prediction formula as in the case where the number of candidate pixels for the primary tap is N1 and the number of candidate pixels for the secondary tap is N2.
  • the number N1 'of primary terms (and primary coefficients) of the prediction equation is equal to the number N1 of primary taps.
  • the number N2 'of secondary terms (and secondary coefficients) of the prediction equation is expressed by equation (2).
  • N2 C 2 represents the number of combinations for selecting without overlapping two from the N2.
  • Filter processing for applying the high-order prediction formula to the decoded image that is, for example, the product-sum operation of the high-order prediction formula of Equation (1) is performed, and the pixel value of the corresponding pixel of the original image
  • a prediction tap is selected from the pixels of the decoded image.
  • FIG. 6B shows an example of prediction taps, ie, for example, primary and secondary taps.
  • the primary taps are 13 pixels in a rhombus shape centered on the target pixel, and the secondary taps are 5 pixels in a rhombus shape centered on the target pixel. Therefore, in FIG. 6B, the tap structure of the primary tap and the tap structure of the secondary tap are different. Further, of the 13 pixels which are primary taps, five diamond-shaped five pixels centered on the target pixel are also secondary taps.
  • the candidate pixel for the primary tap and the candidate pixel for the secondary tap, or the tap structure of the primary tap and the tap structure of the secondary tap may be identical or different.
  • the tap coefficients of the high-order prediction equations as described above can be volumized and approximated by polynomials. Therefore, it is possible to adopt, as the preset seed coefficient, a seed coefficient obtained by volume conversion of tap coefficients of the high-order prediction formula, and perform filter processing using tap coefficients (development tap coefficients) obtained from the seed coefficients. .
  • the same order of terms (term number) of polynomials approximating the tap coefficients should be adopted for the primary coefficient and the secondary coefficient among the tap coefficients. You can also use different values.
  • FIG. 7 is a diagram for explaining filter processing using a high-order prediction formula.
  • W p1 denote a row vector of N columns having an expansion tap coefficient of a first order term as w p 1 and an N-by-N matrix having an expansion tap coefficient of a second order term as w p 2 .
  • x accurately represents a row vector of N rows having prediction taps (primary tap and secondary tap) as elements.
  • superscript T represents transposition.
  • w d1 A row vector of N columns having an error coefficient of a first-order term as an element
  • w d2 an N-row N-column matrix having an error coefficient of a second-order term as an element
  • the fine prediction value y ' is a value obtained by adding the prediction value ⁇ y ′ ′ of the preset prediction error to the preset prediction value y ′ ′ as described in ⁇ definition>.
  • the expansion tap coefficients w p1 and w p2 and the error coefficients w d1 and w d2 are separately synthesized (added) for each of the first-order term and the second-order term, and the synthesis tap coefficients (w p1 + w d1 ) and (w p2 + w d2) generate, the synthetic tap coefficients (w p1 + w d1) and (w p2 + w d2)
  • FIG. 8 is a diagram for explaining the relationship between the quantization parameter QP and the quantitative image quality of the decoded image.
  • FIG. 8 outlines the relationship between the quantization parameter QP as the obtainable information, and the PSNR (Peak signal-to-noise ratio) obtained using the decoded image as the quantitative image quality of the decoded image and the original image. It shows.
  • the quantization parameter QP and the PSNR of the decoded image, as indicated by the line segment L1, are such that the smaller the quantization parameter QP, the larger the PSNR, and the larger the quantization parameter QP, the smaller the PSNR. There is a tendency to become
  • the relationship between the quantization parameter QP and the PSNR of the decoded image generally does not follow the tendency, that is, the PSNR becomes large when the quantization parameter QP is large, or the quantization parameter QP Although PS is small, PSNR may be small.
  • the quantization parameter QP and the PSNR of the decoded image normally do not follow the tendency.
  • a value corresponding to the quantization parameter QP is used as (the value of) the parameter z, and the original image is used as teacher data, and the decoded image of the quantization parameter QP of each value is used as student data
  • the prediction accuracy of fine prediction (and preset prediction) using the preset seed coefficient (the expansion tap coefficient obtained from the parameter z) obtained by performing volume conversion may be degraded.
  • the expansion tap coefficient is determined using a value corresponding to the quantization parameter QP as the parameter z in the filter processing, as described in FIG.
  • the parameter z instead of using a value according to the quantization parameter QP as the parameter z, use the parameter z of a value that improves the coding efficiency.
  • the expansion tap coefficient used for the filtering process can be determined, and the parameter z can be transmitted from the encoding device to the decoding device.
  • the encoding device obtains expansion tap coefficients using, for example, the parameter z of the value of the quantization parameter QP of the target pixel, and uses the expansion tap coefficients to filter Do the processing.
  • the encoding apparatus selects each value that can be taken as the quantization parameter QP as the parameter z, and uses the expansion tap coefficient obtained using the parameter z of each value.
  • the (value of) QP as the parameter z that optimizes the coding efficiency is selected as the adoption parameter z.
  • the encoding apparatus obtains expansion tap coefficients using the adoption parameter z, and performs filter processing using the expansion tap coefficients. Also, the encoding device transmits the adoption parameter z to the decoding device.
  • the decoding apparatus uses the quantization parameter QP of the pixel of interest as the parameter z to develop the expansion tap coefficient. Is determined and filtering is performed using the expansion tap coefficient.
  • the decoding apparatus uses the parameter z transmitted from the encoding apparatus, The expansion tap coefficient is determined, and the expansion tap coefficient is used to perform filter processing.
  • SSIM Structured Similarity
  • FIG. 9 is a block diagram showing an outline of an embodiment of an image processing system to which the present technology is applied.
  • the image processing system includes an encoding device 20, a decoding device 30, and a learning device 40.
  • the encoding device 20 includes an encoding unit 21, a local decoding unit 23, and a filter unit 24.
  • the encoding unit 21 is supplied with the original image (data) that is the image to be encoded, and the filter image from the filter unit 24.
  • the encoding unit 21 (predictive) encodes the original image using the filter image from the filter unit 24, and supplies encoded data obtained by the encoding to the local decoding unit 23.
  • the encoding unit 21 subtracts the predicted image of the original image obtained by performing motion compensation of the filter image from the filter unit 24 from the original image, and encodes the residual obtained as a result.
  • Filter information is supplied from the filter unit 24 to the encoding unit 21.
  • the encoding unit 21 generates and transmits (transmits) an encoded bit stream including the encoded data and the filter information from the filter unit 24.
  • the filter information includes (adopted) error coefficients, and further, selection information and (adopted) parameters z, as necessary.
  • the coded bit stream generated by the coding unit 21 is a bit stream including error coefficients, selection information, and parameters z as necessary in addition to the coded data.
  • the local decoding unit 23 is supplied with the encoded data from the encoding unit 21, and is also supplied with the filter image from the filter unit 24.
  • the local decoding unit 23 performs local decoding of the encoded data from the encoding unit 21 using the filter image from the filter unit 24, and supplies the (local) decoded image obtained as a result to the filter unit 24.
  • the local decoding unit 23 decodes the encoded data from the encoding unit 21 into a residual, and performs motion compensation of the filter image from the filter unit 24 on the residual to obtain a predicted image of the original image obtained.
  • the addition generates a decoded image obtained by decoding the original image.
  • the decoded image is supplied from the local decoding unit 23 to the filter unit 24, and one or more sets of seed coefficients are supplied from the learning device 40, and the filter unit 24 uses the seed coefficients from the learning device 40 as preset seed coefficients. I remember.
  • the filter unit 24 selects (adopts) a preset seed coefficient to be used for obtaining the expansion tap coefficient, and selects (sets) a parameter z to be used for obtaining the expansion tap coefficient, and the preset seed coefficient and parameters
  • the expansion tap coefficient is determined by calculating a coefficient prediction formula configured using z. Furthermore, the filter unit 24 performs a filtering process of applying a prediction formula configured using expansion tap coefficients to the decoded image from the local decoding unit 23 to generate a filter image, and the encoding unit 21 and the local decoding It supplies to the part 23.
  • the filter unit 24 when performing the filter processing, performs learning for obtaining an error coefficient which is a tap coefficient that constitutes the error prediction formula, as necessary. Then, the filter unit 24 supplies the error coefficient, the selection information representing the adopted preset type coefficient, and the adopted parameter z to the encoding unit 21 as the filter information related to the filtering process.
  • the decoding device 30 includes a parsing unit 31, a decoding unit 32, and a filter unit 33.
  • the parsing unit 31 receives and parses the encoded bit stream transmitted by the encoding device 20, extracts (gets) filter information included in the encoded bit stream, and supplies the filter information to the filter unit 33. Furthermore, the parsing unit 31 supplies the encoded data included in the encoded bit stream to the decoding unit 32.
  • the decoding unit 32 is supplied with the encoded data from the parsing unit 31 and also with the filter image from the filter unit 33.
  • the decoding unit 32 decodes the encoded data from the parsing unit 31 using the filter image from the filter unit 33, and supplies the decoded image obtained as a result to the filter unit 33.
  • the decoding unit 32 decodes the encoded data from the perspective unit 31 into a residual, and performs motion compensation of the filter image from the filter unit 33 on the residual.
  • a predicted image of the original image is added to generate a decoded image obtained by decoding the original image.
  • the filter unit 33 is supplied with one or more sets of seed coefficients identical to those supplied from the learning device 40 to (the filter unit 24 of) the coding device 20, in addition to the decoded image supplied from the decoding unit 32.
  • the filter unit 33 stores the seed coefficient from the learning device 40 as a preset seed coefficient.
  • the filter unit 33 performs the same filtering process as the filter unit 24 on the decoded image from the decoding unit 32, generates a filter image, and supplies the generated filter image to the decoding unit 32.
  • the filter unit 33 uses the filter information from the perspective unit 31 as necessary when performing the filter process. Further, the filter unit 33 supplies the filter image obtained (generated) by the filter process to the decoding unit 32, and outputs the original image as a restored image.
  • the learning device 40 uses an image corresponding to the original image as teacher data, and uses an image corresponding to the decoded image as student data or a tap coefficient w n such as an existing ALF as teacher data. Learning is performed to obtain one or more sets of seed coefficients using the parameter z as student data, and the seed coefficients are supplied to the filter unit 24 of the encoding device 20 and the filter unit 33 of the decoding device 30.
  • FIG. 10 is a block diagram showing an outline of a configuration example of the learning device 40 of FIG.
  • the learning device 40 includes an encoding unit 41, a class classification unit 42, a learning unit 43, and a DB (database) 44.
  • the encoding unit 41 is supplied with an image (teacher image) as teacher data, for example, an image corresponding to an original image.
  • the encoding unit 41 performs the same encoding and decoding as the encoding device 20 on the teacher image supplied thereto (however, a (local) decoded image, for example, is used as a filter image).
  • the decoded image is obtained (generated) and supplied to the class classification unit 42 and the learning unit 43.
  • the encoding unit 41 supplies, to the learning unit 43, the obtainable information obtained in the encoding of the teacher image.
  • the class classification unit 42 sequentially selects the pixels of the decoded image from the encoding unit 41 as the pixel of interest. Then, the class classification unit 42 classifies the pixel of interest into any one of a plurality of classes, and supplies the class of the pixel of interest obtained by the classification to the learning unit 43.
  • the learning unit 43 is supplied with the decoded image and the obtainable information from the encoding unit 41, and is supplied with a class of the pixel of interest from the class classification unit 42, and is also supplied with a teacher image.
  • the learning unit 43 selects a value according to the obtainable information of the pixel of interest from the encoding unit 41 as the (adopted) parameter z, and in addition to the parameter z, a teacher image, a decoded image supplied thereto, and The seed coefficient learning (volume formation) is performed to obtain the seed coefficient for each class using the class of the pixel of interest.
  • the learning unit 43 supplies the seed coefficient for each class obtained by the seed coefficient learning to the DB 44.
  • the DB 44 stores the seed coefficient for each class supplied from the learning unit 43.
  • teacher images of various characteristics can be supplied to the learning device 40 separately according to their characteristics.
  • seed coefficient learning is performed for each teacher image of different properties, and seed coefficients for each teacher image of different properties, that is, plural sets of seed coefficients are obtained.
  • FIG. 11 is a block diagram showing an outline of a configuration example of the filter units 24 and 33 of FIG.
  • the filter unit 24 includes a DB 51, a class classification unit 52, a coefficient generation unit 53, a preset prediction unit 54, an error coefficient learning unit 55, a DB 56, a determination unit 57, a synthesis unit 58, and a fine prediction unit 59. .
  • the filter unit 24 is also supplied with the original image y. Further, the filter unit 24 is supplied with obtainable information.
  • the decoded image x is supplied to the class classification unit 52, the preset prediction unit 54, the error coefficient learning unit 55, the determination unit 57, and the fine prediction unit 59, and the original image is supplied to the error coefficient learning unit 55 and the determination unit 57. Be done. Also, the obtainable information is supplied to the coefficient generation unit 53.
  • the DB 51 stores one or more sets of seed coefficients supplied from the learning device 40, for example, a plurality of sets of seed coefficients, as a plurality of sets of preset seed coefficients.
  • the class classification unit 52 sequentially selects the pixels of the decoded image x supplied thereto as the pixel of interest. Furthermore, the class classification unit 52 classifies the pixel of interest, and supplies the class of the pixel of interest obtained as a result to the coefficient generation unit 53, the error coefficient learning unit 55, the determination unit 57, and the fine prediction unit 59. .
  • the coefficient generation unit 53 uses the preset seed coefficient, the class of the pixel of interest from the class classification unit 52, and the obtainable information of the pixel of interest for each of the plurality of sets of preset species coefficients stored in the DB 51. Generate an expansion tap coefficient w p of the class of
  • the coefficient generation unit 53 selects a value according to the obtainable information of the pixel of interest as the parameter z, and operates the coefficient prediction equation configured using the parameter z and the preset seed coefficient, For each of a plurality of sets of preset seed coefficients stored in the DB 51, an expansion tap coefficient w p of the class of the pixel of interest is generated.
  • the coefficient generation unit 53 supplies the expansion tap coefficient w p of the class of the pixel of interest to the preset prediction unit 54, the determination unit 57, and the combining unit 58.
  • the preset prediction unit 54 performs preset prediction using the expansion tap coefficient w p of the class of the pixel of interest supplied from the coefficient generation unit 53 and the decoded image x for each of the plurality of sets of preset seed coefficients stored in the DB 51. Do.
  • the preset prediction unit 54 selects, from the pixels of the decoded image x, a prediction tap (pixel) x for the target pixel, and the prediction tap x and the class of the target pixel supplied from the coefficient generation unit 53.
  • the preset predicted value y ′ is obtained for each of the plurality of sets of preset seed coefficients stored in the DB 51 Ask for '.
  • the preset prediction unit 54 supplies the preset prediction value y ′ ′ to the error coefficient learning unit 55.
  • the error coefficient learning unit 55 sets the original image y, the decoded image x, the class of the target pixel from the class classification unit 52, and the preset prediction from the preset prediction unit 54 for each of the plurality of sets of preset seed coefficients stored in the DB 51.
  • the error coefficient learning is performed using the value y ′ ′ to obtain the error coefficient w d of each class.
  • the error coefficient learning unit 55 obtains the preset prediction error ⁇ y from the original image y and the preset prediction value y ′ ′ from the preset prediction unit 54, and from the pixel of the decoded image x, the prediction tap for the target pixel Choose x. Furthermore, the error coefficient learning unit 55 sets the preset prediction error ⁇ y as teacher data, and the prediction tap x for the target pixel as student data, supplied from the class classification unit 52 for each pixel that has become the target pixel. By performing error coefficient learning for the class, an error coefficient w d which is a tap coefficient of the error prediction equation is determined for each class.
  • the error coefficient learning unit 55 supplies, to the DB 56, an error coefficient w d for each class obtained by error coefficient learning for each of the plurality of sets of preset seed coefficients stored in the DB 51.
  • the DB 56 stores the error coefficient w d for each class for each of the plurality of sets of preset seed coefficients stored in the DB 51, supplied from the error coefficient learning unit 55.
  • the determination unit 57 determines the decimal point of the bit string representing the error coefficient w d so that the coding efficiency is the best for each of the error coefficients w d for each of the plurality of sets of preset seed coefficients stored in the DB 56. Determine the position.
  • the error coefficient w d is represented by, for example, a bit string of a predetermined number of bits such as 8 bits.
  • formats such as fixed point and floating point can be adopted.
  • fixed point is used.
  • the fixed-point representation form it is possible to adopt a representation form in which the number of bits of the integer part and the fraction part is various bits depending on the position of the decimal point in the bit string of a predetermined number of bits.
  • the determination unit 57 determines, for example, the decimal point position of the fixed-point bit string representing the error coefficient w d so that the coding efficiency is the best.
  • the other for example, the determination unit 57, digits or integer portion of the time representing the error coefficients w d in binary, depending on the number of decimal places, the bit string of fixed point representing the error coefficients w d The decimal point position of can be determined.
  • the accuracy of the error coefficient w d can be secured.
  • Determining unit 57 the error coefficients w d for each class for each preset species coefficients plural sets stored in the DB 51, after determining the decimal point position of the bit string representing the error coefficients w d, and the error coefficients w d Preset type that optimizes coding efficiency when fine prediction as filter processing is performed using synthetic tap coefficients w p + w d obtained by combining the expansion tap coefficients w p from the coefficient generation unit 53 A set of coefficients and an error coefficient w d obtained for the preset seed coefficient are determined (selected) as an adopted preset seed coefficient to be adopted for fine prediction and an adopted error coefficient w d .
  • the determination unit 57 combines (adds) the expansion tap coefficient w p of the class of the pixel of interest supplied from the coefficient generation unit 53 and the error coefficient w d of the class of the pixel of interest stored in the DB 56.
  • the synthetic tap coefficient w p + w d of the class of the pixel of interest supplied from the class classification unit 52 is obtained.
  • the determination unit 57 selects the prediction tap x for the pixel of interest from the pixels of the decoded image x, and uses the prediction tap x and the synthesis tap coefficient w p + w d to form a fine prediction equation y ′.
  • the determination unit 57 obtains a fine prediction value y ′ for each pixel in the decoded image (of the frame), thereby obtaining (a frame of) a filtered image having the fine prediction value y ′ as a pixel value.
  • the determination unit 57 obtains coding efficiency such as RD cost from the filter image obtained for the preset seed coefficients and the original image y. .
  • the determination unit 57 fine-predicts a set of preset seed coefficients (for each class) that optimizes coding efficiency, and an error coefficient w d (for each class) obtained for the preset seed coefficients.
  • the adopted preset seed coefficient to be adopted and the adopted error coefficient w d are determined.
  • determination unit 57 selection information indicating the adopted preset species coefficients, and the adoption error coefficients w d, and outputs a filter information
  • the filter information output from the determination unit 57 is supplied to the combining unit 58, included in the encoded bit stream in the encoding unit 21 (FIG. 9), and transmitted to the decoding device 30.
  • a tap coefficient w p of, generated from adopted preset coefficients selection information indicates that included in the filter information from the decision unit 57 deployment of the deployment tap coefficients w p from the coefficient generating unit 53, determination unit
  • the synthesized tap coefficient w p + w d for each class is determined by synthesizing the adopted error coefficient w d included in the filter information from 57 and supplied to the fine prediction unit 59.
  • the fine prediction unit 59 is configured using the synthesis tap coefficient w p + w d of the class of the pixel of interest from the class classification unit 52 among the synthesis tap coefficients w p + w d for each class from the synthesis unit 58
  • a fine prediction formula y ′ (w p + w d ) x is applied to the decoded image x to perform fine prediction as filter processing, and a filtered image having the fine predicted value y ′ obtained as a pixel value Are supplied to the encoding unit 21 and the local decoding unit 23 (FIG. 9).
  • the fine prediction unit 59 selects, from the pixels of the decoded image x, a prediction tap (pixel) x for the target pixel, and the prediction tap x and the synthesis tap coefficient w p + w d of the class of the target pixel
  • the filter unit 33 includes a DB 61, a class classification unit 62, a coefficient generation unit 63, a combining unit 64, and a fine prediction unit 65.
  • Filter information is supplied to the filter unit 33 from the perspective unit 31 (FIG. 9), and the decoded image x is supplied from the decoding unit 32 (FIG. 9). Furthermore, the filter unit 33 is supplied with obtainable information obtained from the coded bit stream.
  • Selection information included in the filter information is fed to the coefficient generating unit 63, included in the filter information (employed) error coefficient w d is supplied to the combining unit 64. Also, the decoded image x is supplied to the class classification unit 62 and the fine prediction unit 65, and the obtainable information is supplied to the coefficient generation unit 63.
  • the DB 61 stores one or more sets of seed coefficients supplied from the learning device 40, that is, plural sets of seed coefficients identical to those stored in the DB 51 as plural sets of preset seed coefficients.
  • the class classification section 62 sequentially selects the pixels of the decoded image x supplied thereto as the target pixel, and classifies the target pixel. Then, the class classification unit 62 supplies the class of the pixel of interest obtained as a result of the class classification to the coefficient generation unit 63 and the synthesis unit 64.
  • the coefficient generation unit 63 includes (adopted) preset type coefficients represented by selection information included in the filter information among the plurality of sets of preset type coefficients stored in the DB 61, the class of the pixel of interest from the class classification unit 62, The expansion tap coefficient w p of the class of the pixel of interest is generated using the obtainable information of the pixel of interest.
  • the coefficient generation unit 63 selects, as the parameter z, a value corresponding to the obtainable information of the pixel of interest, and calculates the coefficient prediction formula configured using the parameter z and the preset seed coefficient represented by the selection information. By doing this, for the preset seed coefficient represented by the selection information, the expansion tap coefficient w p of the class of the pixel of interest is generated.
  • the coefficient generation unit 63 supplies the expansion tap coefficient w p of the class of the pixel of interest to the synthesis unit 64.
  • the combining unit 64 generates an error coefficient w of the class of the pixel of interest from the class classification unit 62 among the expansion tap coefficient w p of the class of the pixel of interest from the coefficient generation unit 63 and the error coefficient w d included in the filter information. By combining with d , a combined tap coefficient w p + w d of the class of the pixel of interest is determined, and is supplied to the fine prediction unit 65.
  • the fine prediction unit 65 selects, from the pixels of the decoded image x, a prediction tap (pixel) x for the target pixel, and the prediction tap x and the synthesis tap coefficient w p + w d of the class of the target pixel
  • the adopted parameter z adopted for fine prediction generation of expansion tap coefficient used to obtain synthesis tap coefficient
  • a value corresponding to the obtainable information is used, but in addition, for example, as the adopted parameter z, a value that makes the coding efficiency the best can be used.
  • the adopted parameter z is included in the filter information and transmitted from the encoding device 20 to the decoding device 30. Then, in the filter unit 33 of the decoding device 30, the coefficient generation unit 63 calculates the expansion tap coefficient by calculating the coefficient prediction formula using (adopted) parameter z included in the filter information (generated ).
  • FIG. 12 is a flow chart for explaining an outline of the learning process of the learning device 40 of FIG.
  • step S11 the encoding unit 41 of the learning device 40 (FIG. 10) encodes and locally decodes the teacher image supplied thereto, thereby generating a decoded image for the teacher image (decoding obtained by the encoding device 20).
  • An image corresponding to the image is generated and supplied to the class classification unit 42 and the learning unit 43.
  • the encoding unit 41 supplies the obtainable information obtained in the encoding of the teacher image to the learning unit 43, and the process proceeds from step S11 to step S12.
  • step S12 the class classification unit 42 sequentially selects the pixels of the decoded image from the encoding unit 41 as the pixel of interest. Furthermore, the class classification unit 42 classifies the target pixel, supplies the class of the target pixel obtained by the class classification to the learning unit 43, and the process proceeds from step S12 to step S13.
  • step S13 the learning unit 43 selects a value according to the obtainable information of the pixel of interest from the encoding unit 41 as the (adopted) parameter z, and the process proceeds to step S14.
  • step S14 the learning unit 43 performs seed coefficient learning (volume formation) to obtain a seed coefficient for each class using the parameter z, the teacher image, the decoded image, and the class of the target pixel from the class classification unit 42. .
  • the learning unit 43 supplies the seed coefficient for each class obtained by the seed coefficient learning to the DB 44, and the process proceeds from step S14 to step S15.
  • step S15 the DB 44 stores the seed coefficient for each class supplied from the learning unit 43.
  • the learning device 40 performs the above-described learning process, for example, for each of the teacher images having various properties, and obtains seed coefficients for each of the teacher images having different properties, that is, sets of seed coefficients.
  • a plurality of sets of seed coefficients obtained by performing the learning process as described above are supplied to the encoding device 20 and the decoding device 30, and are preset as preset seed coefficients in the DBs 51 and 61 (FIG. 11). Be done.
  • FIG. 13 is a flowchart illustrating an outline of the encoding process of the encoding device 20 of FIG.
  • the processing according to the flowchart of FIG. 13 is performed, for example, on a frame basis.
  • step S21 the encoding unit 21 (FIG. 9) (predictive) encodes the original image y using the filter image from the filter unit 24, and the local decoding unit 23 encodes the encoded data obtained by the encoding. , And the process proceeds to step S22.
  • step S22 the local decoding unit 23 performs local decoding of the encoded data from the encoding unit 21 using the filter image from the filter unit 24, and the (locally) decoded image x obtained as a result is a filter unit. Then, the process proceeds to step S23.
  • step S23 in the filter unit 24 (FIG. 11), the class classification unit 52 sequentially selects the pixels of the decoded image x from the local decoding unit 23 as the pixel of interest. Furthermore, the class classification unit 52 classifies the pixel of interest and supplies the class of the pixel of interest obtained as a result to the coefficient generation unit 53, the error coefficient learning unit 55, the determination unit 57, and the fine prediction unit 59. Then, the process proceeds to step S24.
  • step S24 the coefficient generation unit 53 uses, for each of a plurality of sets of preset seed coefficients stored in the DB 51, the preset seed coefficient, the class of the pixel of interest from the class classification unit 52, and the obtainable information of the pixel of interest.
  • the expansion tap coefficient w p of the class of the pixel of interest is generated.
  • the coefficient generation unit 53 selects a value according to the obtainable information of the pixel of interest as the parameter z, and operates the coefficient prediction equation configured using the parameter z and the preset seed coefficient, For each of a plurality of sets of preset seed coefficients stored in the DB 51, an expansion tap coefficient w p of the class of the pixel of interest is generated.
  • the coefficient generation unit 53 supplies the expansion tap coefficient w p of the class of the pixel of interest to the preset prediction unit 54, the determination unit 57, and the combining unit 58, and the process proceeds from step S24 to step S25.
  • step S25 the preset prediction unit 54 uses, for each of the plurality of sets of preset seed coefficients stored in the DB 51, the expansion tap coefficient w p of the class of the pixel of interest supplied from the coefficient generation unit 53 and the decoded image x. Perform preset predictions. Then, the preset prediction unit 54 supplies the preset prediction value y ′ ′ obtained by the preset prediction to the error coefficient learning unit 55, and the process proceeds from step S25 to step S26.
  • step S26 the error coefficient learning unit 55 sets the preset prediction error ⁇ y from the original image y and the preset prediction value y ′ ′ from the preset prediction unit 54 for each of the plurality of sets of preset seed coefficients stored in the DB 51.
  • the prediction tap x for the target pixel is selected from the pixels of the decoded image x.
  • the error coefficient learning unit 55 sets the preset prediction error ⁇ y as teacher data for each of the plurality of sets of preset seed coefficients stored in the DB 51, and uses the prediction tap x for the target pixel as student data.
  • the error coefficient w d which is a tap coefficient of the error prediction equation, is determined for each class by performing error coefficient learning for each class of each pixel that has become the target pixel, supplied from.
  • the error coefficient learning unit 55 supplies the error coefficient w d for each class obtained by error coefficient learning to each of the plurality of sets of preset seed coefficients stored in the DB 51 to be stored in the DB 56, and the process starts from step S26. The process proceeds to step S27.
  • step S27 determination unit 57, stored in the DB 56, for each error coefficients w d for each class for each preset species coefficients multiple sets, as the coding efficiency is best, represent the error coefficients w d
  • the decimal point position of the bit string to be stored is determined, and the process proceeds to step S28.
  • step S28 the determination unit 57 performs filter processing from among the plurality of sets of preset seed coefficients stored in the DB 51 and the error coefficients w d for each class obtained for each of the plurality of sets of preset coefficients.
  • step S28 determination unit 57, selection information indicating the adopted preset species coefficients, and the adoption error coefficients w d, as the filter information, the fine prediction unit 59, and is supplied to the encoder 21 (FIG. 9), the processing The process proceeds from step S28 to step S29.
  • step S29 the combining unit 58 of the expansion tap coefficients w p from the coefficient generator 53, expand the tap coefficient w p which selection information included in the filter information generated from adopted preset coefficients represented from the decision unit 57 And the adopted error coefficient w d included in the filter information from the determination unit 57 to obtain the combined tap coefficient w p + w d for each class, and supply it to the fine prediction unit 59, The process proceeds to step S30.
  • the filter image supplied from the fine prediction unit 59 to the encoding unit 21 and the local decoding unit 23 in step S30 is used, for example, in the processes of steps S21 and S22 performed on the next frame of the decoded image. .
  • step S31 the encoding unit 21 generates an encoded bit stream including encoded data, filter information from the filter unit 24, that is, selection information, and an adoption error coefficient w d (for each class). To transmit.
  • FIG. 14 is a flowchart illustrating an outline of the decoding process of the decoding device 30 of FIG.
  • the process according to the flowchart of FIG. 14 is performed, for example, in units of frames, similarly to the encoding process of FIG.
  • step S41 the parsing unit 31 (FIG. 9) extracts the filter information included in the encoded bit stream by receiving the encoded bit stream transmitted from the encoding device 20 and performing parsing. ) To the filter unit 33. Furthermore, the parsing unit 31 supplies the encoded data included in the encoded bit stream to the decoding unit 32, and the process proceeds from step S41 to step S42.
  • step S42 the decoding unit 32 decodes the encoded data from the perspective unit 31 using the filter image from the filter unit 33, supplies the decoded image obtained as a result to the filter unit 33, and performs processing.
  • the process proceeds to step S43.
  • step S43 in the filter unit 33 (FIG. 11), the class classification unit 62 sequentially selects the pixels of the decoded image from the decoding unit 32 as the pixel of interest. Furthermore, the class classification unit 62 classifies the pixel of interest, supplies the class of the pixel of interest obtained as a result to the coefficient generation unit 63 and the combining unit 64, and the process proceeds to step S44.
  • step S44 the coefficient generation unit 63 selects (adopts) the preset type coefficient represented by the selection information included in the filter information from the perspective unit 31 among the plurality of sets of preset type coefficients stored in the DB 61, the classification unit 62
  • the expansion tap coefficient w p of the class of the target pixel is generated using the class of the target pixel from and the obtainable information of the target pixel obtained from the encoded bit stream.
  • the coefficient generation unit 63 selects, as the parameter z, a value corresponding to the obtainable information of the pixel of interest, and calculates the coefficient prediction formula configured using the parameter z and the preset seed coefficient represented by the selection information. By doing this, for the preset seed coefficient represented by the selection information, the expansion tap coefficient w p of the class of the pixel of interest is generated.
  • the coefficient generation unit 63 supplies the expansion tap coefficient w p of the class of the pixel of interest to the combining unit 64, and the process proceeds from step S44 to step S45.
  • step S 45 the combining unit 64 receives the expansion tap coefficient w p of the class of the pixel of interest from the coefficient generation unit 63 and the error classification w d included in the filter information from the perspective unit 31 from the class classification unit 62.
  • the synthesized tap coefficient w p + w d of the class of the pixel of interest is determined by synthesizing the error coefficient w d of the class of the pixel of interest, and supplied to the fine prediction unit 65, and the process proceeds to step S46.
  • Fine prediction as filter processing is performed by applying to the decoded image x supplied from the decoding unit 32 (FIG. 9), and a filter image is generated using the resulting fine predicted value y ′ as a pixel value.
  • the filter image is supplied from the fine prediction unit 65 to the decoding unit 32 (FIG. 9) and is output as a restored image obtained by restoring the original image.
  • the filter image supplied from the fine prediction unit 65 to the decoding unit 32 in step S46 is used, for example, in the process of step S42 performed on the next frame of the decoded image.
  • Class classification prediction processing for an image performs class classification using a first image which is an image of a class classification prediction processing target, and tap coefficients of the class obtained as a result of the class classification and the first image Filter processing as prediction processing using a prediction formula that performs product-sum operation with (the pixel value of) pixels of the pixel (filtering processing), and the prediction value of the second image is determined (generated) by such filter processing .
  • the first image is a decoded image (including a local decoded image)
  • the second image is an original image.
  • FIG. 15 is a block diagram showing a first configuration example of a prediction device that performs class classification prediction processing.
  • the tap coefficient of the class obtained by classifying the target pixel of interest in the first image into any one of a plurality of classes, and prediction with respect to the target pixel The product-sum operation as the calculation of the prediction formula using the pixel value of the first image pixel selected as the tap determines the predicted value of the pixel value of the corresponding pixel of the second image corresponding to the target pixel .
  • FIG. 15 shows a configuration example of a prediction device that performs class classification prediction processing.
  • the prediction device 100 includes a tap selection unit 101, a class classification unit 102, a coefficient acquisition unit 103, and a prediction calculation unit 104.
  • the prediction apparatus 100 is supplied with the first image.
  • the first image supplied to the prediction device 100 is supplied to the tap selection unit 101 and the class classification unit 102.
  • the tap selection unit 101 sequentially selects the pixels forming the first image as the target pixel. Furthermore, the tap selection unit 101 predicts some of (pixel values of) pixels constituting the first image used to predict (the pixel value of) the corresponding pixel of the second image corresponding to the target pixel. Select as a tap.
  • the tap selection unit 101 selects, as prediction taps, a plurality of pixels of the first image located at a position spatially or temporally close to the position of space-time of the pixel of interest. Supply.
  • the class classification unit 102 classifies the pixel of interest into one of several classes according to a certain rule, and supplies the class of the pixel of interest obtained as a result to the coefficient acquisition unit 103. .
  • the class classification unit 102 selects, for example, some of (the pixel values of) the pixels constituting the first image used to perform the class classification for the pixel of interest as class taps. For example, the class classification unit 102 selects a class tap in the same manner as the tap selection unit 101 selects a prediction tap.
  • the prediction tap and the class tap may have the same tap structure, or may have different tap structures.
  • the class classification unit 102 classifies the pixel of interest using, for example, a class tap, and supplies the class of the pixel of interest obtained as a result to the coefficient acquisition unit 103.
  • the class classification unit 102 obtains the image feature amount of the pixel of interest using a class tap. Furthermore, the class classification unit 102 classifies the pixel of interest according to the image feature amount of the pixel of interest, and supplies the class obtained as a result to the coefficient acquisition unit 103.
  • ADRC Adaptive Dynamic Range Coding
  • ADRC code represents a waveform pattern as an image feature of a small area including a target pixel.
  • the pixel value of each pixel as a class tap is requantized into L bits. That is, the pixel value of each pixel as a class tap, the minimum value MIN is subtracted, and the subtracted value is divided by DR / 2 L (requantization). Then, a bit string obtained by arranging the pixel values of each pixel of L bits as class taps, which are obtained as described above, in a predetermined order is output as an ADRC code.
  • the pixel value of each pixel as the class tap is divided by the average value of the maximum value MAX and the minimum value MIN (rounded down to the decimal point), As a result, the pixel value of each pixel is made 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 value represented by such an ADRC code represents a class.
  • DiffMax Dynamic Range
  • DR Dynamic Range
  • classification can be performed using the quantization parameter QP of the pixel of interest and other coding information. That is, class classification can be performed by, for example, threshold processing of coding information.
  • the coefficient acquisition unit 103 stores the tap coefficient for each class obtained by learning, and further acquires the tap coefficient of the class of the target pixel supplied from the class classification unit 102 among the stored tap coefficients. Furthermore, the coefficient acquisition unit 103 supplies the tap coefficient of the class of the pixel of interest to the prediction calculation unit 104.
  • the prediction calculation unit 104 uses the prediction tap from the tap selection unit 101 and the tap coefficient supplied from the coefficient acquisition unit 103 to select the pixel value of the pixel (corresponding pixel) of the second image corresponding to the target pixel. Filter processing is performed as prediction processing which is product-sum operation of a prediction formula for obtaining a prediction value of a true value. Thereby, the prediction calculation unit 104 obtains (predicted value of) the pixel value of the corresponding pixel, that is, (predicted value of) the pixel value of the pixel constituting the second image, and outputs it.
  • FIG. 16 is a block diagram showing a configuration example of a learning device that performs learning of tap coefficients stored in the coefficient acquisition unit 103.
  • the decoded image is adopted as the first image
  • the original image for the decoded image is adopted as the second image
  • prediction taps and tap coefficients selected from the first image It is assumed that the pixel value of the pixel of the original image as the second image (hereinafter, also referred to as a second pixel) is predicted by the filter process as the prediction process which is the product-sum operation of the prediction equation consisting of only the first order terms.
  • the pixel value y of the second pixel as the corresponding pixel of the second image corresponding to the target pixel is obtained according to the following prediction equation.
  • x n is the pixel of the n-th of the first image as a prediction tap of the pixel of interest (hereinafter, also referred to as a first pixel) represents the pixel values of
  • w n is the n th Represents the tap coefficient (n-th tap coefficient) of the first-order term of.
  • the prediction equation of equation (3) is composed of N terms (first order terms).
  • a prediction equation for obtaining the pixel value y of the second pixel in addition to a prediction equation consisting of only a first-order term like equation (3), a second-order or higher order term like equation (1) is included It may be a high order prediction formula.
  • x n, k represents the n-th 1st pixel as a prediction tap with respect to the 2nd pixel of the k-th sample as a corresponding
  • the tap coefficient w n for which the prediction error e k in equation (5) (or equation (4)) is 0 is optimal for predicting the second pixel, but for all the second pixels, Determining such tap coefficients w n is generally difficult.
  • the optimum tap coefficient w n is the sum E of square errors represented by the following equation It can be determined by minimizing statistical error).
  • K is a second pixel y k as the corresponding pixel
  • the first pixel x 1, k of the prediction tap for the second pixel y k, x 2, k, ⁇ .., X N, k represents the number of samples in the set (the number of samples for learning).
  • Equation (7) The minimum value of the sum E of square errors of Equation (6) (minimum value), as shown in Equation (7), given a material obtained by partially differentiating the sum E with the tap coefficient w n by w n to 0.
  • equation (9) can be expressed by the normal equation shown in the equation (10).
  • Equation (10) can be solved for the tap coefficient w n by using, for example, the sweep method (Gauss-Jordan elimination method) or the like.
  • FIG. 16 shows a configuration example of a learning device that performs learning for obtaining a tap coefficient w n by setting and solving the normal equation of Equation (10).
  • the learning device 110 includes a teacher image generation unit 111, a student image generation unit 112, and a learning unit 113.
  • the teacher image generation unit 111 is a teacher image as teacher data as a teacher (true value) of learning of tap coefficients, that is, a teacher as a mapping destination of a mapping as calculation of a prediction equation according to equation (3).
  • an image an image corresponding to a second image is generated and supplied to the learning unit 113.
  • the teacher image generation unit 111 supplies the learning image as it is to the learning unit 113 as a teacher image.
  • the student image generation unit 112 uses the learning image as a student image serving as student data serving as a student for learning tap coefficients, that is, a student image serving as a mapping source of a mapping serving as a calculation of a prediction equation according to equation (3).
  • An image corresponding to one image is generated and supplied to the learning unit 113.
  • the student image generation unit 112 encodes and decodes the learning image in the same manner as the encoding device 20 (however, the decoded image is used as the filter image, for example), The generated decoded image is supplied to the learning unit 113 as a student image.
  • the learning unit 113 sequentially sets the pixels forming the student image from the student image generation unit 112 as a target pixel, and for the target pixel, a pixel having the same tap structure as that selected by the tap selection unit 101 in FIG. , Select from the student image as a prediction tap. Furthermore, the learning unit 113 uses the corresponding pixel forming the teacher image corresponding to the target pixel and the prediction tap of the target pixel, and solves the normal equation of equation (10) for each class to solve the class. Find the tap coefficient for each.
  • FIG. 17 is a block diagram showing a configuration example of the learning unit 113 of FIG.
  • the learning unit 113 includes a tap selection unit 121, a class classification unit 122, an addition unit 123, and a coefficient calculation unit 124.
  • the student image is supplied to the tap selection unit 121 and the class classification unit 122, and the teacher image is supplied to the adding unit 123.
  • the tap selection unit 121 sequentially selects the pixels forming the student image as the target pixel, and supplies information representing the target pixel to the necessary blocks.
  • the tap selection unit 121 selects, for the pixel of interest, the same pixel as that selected by the tap selection unit 101 in FIG. 15 from among the pixels constituting the student image as a prediction tap.
  • the prediction tap having the same tap structure as obtained is obtained and supplied to the adding unit 123.
  • the class classification unit 122 classifies, with the student image, the same class as that of the class classification unit 102 in FIG. 15 on the pixel of interest, and outputs the class of the pixel of interest obtained as a result to the adding unit 123.
  • the adding unit 123 acquires (the pixel value of) the corresponding pixel corresponding to the target pixel from the pixels forming the teacher image, and as a prediction tap for the corresponding pixel and the target pixel supplied from the tap selection unit 121.
  • the addition for the (pixel value of) the pixel of the student image is performed for each class of the target pixel supplied from the class classification unit 122.
  • the adding unit 123 is supplied with the corresponding pixel y k of the teacher image, the prediction tap x n, k of the target pixel as the student image, and the class of the target pixel.
  • the adder 123 uses the pixel x n, k of the student image as a prediction tap for each class of the pixel of interest, and multiplies the pixels of the student image in the matrix on the left side of equation (10) (x n, k x An operation corresponding to n ', k ) and the summarization ( ⁇ ) is performed.
  • the adding unit 123 uses the prediction tap x n, k and the pixel y k of the teacher image for each class of the pixel of interest again, and uses the prediction tap x n, k and the teacher in the vector on the right side of Equation (10) multiplication (x n, k y k) of a pixel y k of the image and the calculation corresponding to summation (sigma) performed.
  • the adding unit 123 calculates the component ( ⁇ x n, k x n ′, k ) of the matrix on the left side in equation (10) obtained for the corresponding pixel of the teacher image corresponding to the target pixel last time and the vector on the right side.
  • Component ( ⁇ x n, k y k ) is stored in its built-in memory (not shown), and its matrix component ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ x n , k x n ', k ) or vector component ( ⁇ x n, For k y k ), for the corresponding pixel y k + 1 corresponding to the new pixel of interest, the corresponding component x calculated using the corresponding pixel y k + 1 and the prediction tap x n, k + 1 Add n, k + 1 x n ', k + 1 or x n, k + 1 y k + 1 (perform the addition represented by the summarization of equation (10)).
  • the adding-in unit 123 performs, for example, the above-mentioned addition with all the pixels of the student image as the target pixel, thereby formulating the normal equation shown in the equation (10) for each class. , To the coefficient calculation unit 124.
  • the coefficient calculation unit 124 solves the normal equation for each class supplied from the adding unit 123 to obtain and output an optimal tap coefficient w n for each class.
  • the coefficient acquisition unit 103 in the prediction device 100 of FIG. 15 can store the tap coefficient w n for each class obtained as described above.
  • FIG. 18 is a block diagram showing a second configuration example of a prediction device that performs class classification prediction processing.
  • the prediction device 130 includes a tap selection unit 101, a class classification unit 102, a prediction calculation unit 104, and a coefficient acquisition unit 131.
  • the prediction device 130 of FIG. 18 is common to the case of FIG. 15 in that the tap selection unit 101, the class classification unit 102, and the prediction operation unit 104 are included.
  • FIG. 18 is different from the case of FIG. 15 in that a coefficient acquisition unit 131 is provided instead of the coefficient acquisition unit 103.
  • the coefficient acquisition unit 131 stores a seed coefficient described later. Furthermore, a parameter z is supplied to the coefficient acquisition unit 131 from the outside.
  • the coefficient acquisition unit 131 generates and stores tap coefficients for each class corresponding to the parameter z from the seed coefficients, and acquires the tap coefficients of the class from the class classification unit 102 from the tap coefficients for each class. , Supply to the prediction calculation unit 104.
  • FIG. 19 is a block diagram showing a configuration example of a learning device that performs learning for obtaining the seed coefficient stored in the coefficient acquisition unit 131. As shown in FIG.
  • volume coefficients ie, seed coefficients which are coefficients constituting the polynomial when tap coefficients constituting the prediction equation are approximated by a polynomial, are determined for each class, for example.
  • the tap coefficient w n is approximated by the following polynomial using the seed coefficient and the parameter z.
  • Equation (11) ⁇ m, n represents the m-th seed coefficient used to obtain the n-th tap coefficient w n .
  • the tap coefficient w n is obtained using M seed coefficients ⁇ 1, n 2, ⁇ 2 n ,..., ⁇ M, n .
  • the equation for obtaining the tap coefficient w n from the seed coefficient ⁇ m, n and the parameter z is not limited to the equation (11).
  • the tap coefficient w n is determined by a linear primary expression of the seed coefficient ⁇ m, n and the variable t m .
  • x n, k represents the n-th 1st pixel as a prediction tap with respect to the 2nd pixel of the k-th sample as a corresponding
  • the seed coefficient ⁇ m, n which sets the prediction error e k of equation (16) to 0 is optimal for predicting the second pixel, but such seed coefficients for all the second pixels Finding ⁇ m, n is generally difficult.
  • the least square method is adopted as a standard indicating that the seed coefficient ⁇ m, n is optimum, for example, the optimum seed coefficient ⁇ m, n is a square error represented by the following equation This can be obtained by minimizing the sum E of.
  • K is a second pixel y k as the corresponding pixel
  • the first pixel x 1, k of the prediction tap for the second pixel y k, x 2, k, ⁇ .., X N, k represents the number of samples in the set (the number of samples for learning).
  • equation (19) can be expressed by the normal equation shown in equation (22) using Xi , p, j, q and Yi , p .
  • Equation (22) can be solved for the seed coefficient ⁇ m, n by using, for example, the sweep method (Gauss-Jordan elimination method) or the like.
  • the obtained seed coefficient ⁇ m, n for each class is stored in the coefficient acquisition unit 131.
  • a tap coefficient w n for each class is generated according to equation (11) from the seed coefficient ⁇ m, n and the parameter z given from the outside, and in the prediction operation unit 104
  • the pixel value of the second pixel is calculated by calculating the equation (3) using the coefficient w n and the first pixel x n as a prediction tap for the pixel of interest The (predicted value of) is obtained.
  • FIG. 19 is a diagram showing a configuration example of a learning device that performs learning for obtaining a seed coefficient ⁇ m, n for each class by solving the normal equation of Equation (22) for each class.
  • the learning device 140 includes a teacher image generation unit 111, a parameter generation unit 141, a student image generation unit 142, and a learning unit 143.
  • the learning device 140 of FIG. 19 is common to the learning device 110 of FIG. 16 in that the training image generating unit 111 is included.
  • the learning device 140 in FIG. 19 is different from the learning device 110 in FIG. 16 in that the parameter generation unit 141 is newly included. Furthermore, the learning device 140 of FIG. 19 is different from the learning device 110 of FIG. 16 in that a student image generating unit 142 and a learning unit 143 are provided instead of the student image generating unit 112 and the learning unit 113. It is different.
  • the parameter generation unit 141 generates a student image from the learning image in the student image generation unit 142, generates a parameter z according to the student image, and supplies the parameter z to the learning unit 143.
  • the parameter generation unit 141 may, for example, generate the student image generation unit 142.
  • a value according to the movement amount of the full screen movement of the student image can be generated as the parameter z as the image feature amount of the student image generated in step b.
  • the parameter generation unit 141 may, for example, use a quantization parameter QP (a value corresponding to the quantization parameter QP) used for encoding a teacher image (learning image) that is generated in the generation of a student image by the student image generation unit 142 It can be generated as parameter z.
  • the parameter generation unit 141 can generate a value corresponding to the S / N of the student image generated by the student image generation unit 142 as the parameter z.
  • the parameter generation unit 141 generates a parameter z for (the pixels of) the student image generated by the student image generation unit 142.
  • a value corresponding to the movement amount of the entire screen movement of the student image and the quantization parameter QP used for encoding the teacher image performed in the generation of the student image are Can be generated as parameters z and z '.
  • the parameter generation unit 141 can generate a plurality of parameters other than two, that is, three or more parameters.
  • the two parameters z and z ′ are externally supplied from the coefficient acquisition unit 103 in FIG. 18, and the two parameters are generated.
  • Tap coefficients are generated using z and z 'and the seed coefficients.
  • the seed coefficient it is possible to generate tap coefficients using one parameter z, two parameters z and z ′, and three or more parameters.
  • the determination can be made, that is, the tap coefficients can be approximated by a polynomial using a plurality of parameters.
  • the description will be made using a seed coefficient that generates a tap coefficient using one parameter z as an example.
  • the student image generation unit 142 is supplied with the same learning image as that supplied to the teacher image generation unit 111.
  • the student image generation unit 142 generates a student image from the learning image as in the case of the student image generation unit 112 in FIG. 16 and supplies the student image as a student image to the learning unit 143. That is, the student image generation unit 142 generates a decoded image by, for example, encoding and locally decoding the learning image in the same manner as the encoding device 20, and using the decoded image as the student image, the learning unit 113 Supply.
  • the processing of the student image generation unit 142 is referred to by the parameter generation unit 141.
  • the learning unit 143 obtains and outputs a seed coefficient for each class using the teacher image from the teacher image generation unit 111, the parameter z from the parameter generation unit 141, and the student image from the student image generation unit 142.
  • FIG. 20 is a block diagram showing a configuration example of the learning unit 143 of FIG.
  • the learning unit 143 includes a tap selection unit 121, a class classification unit 122, an addition unit 151, and a coefficient calculation unit 152.
  • the learning unit 143 in FIG. 20 is common to the learning unit 113 in FIG. 17 in that the tap selecting unit 121 and the class sorting unit 122 are included.
  • the learning unit 143 is different from the learning unit 113 in FIG. 17 in that the learning unit 143 includes an adding unit 151 and a coefficient calculating unit 152 instead of the adding unit 123 and the coefficient calculating unit 124.
  • the tap selection unit 121 selects a prediction tap from the student image corresponding to the parameter z generated by the parameter generation unit 141 in FIG. 19 and supplies the prediction tap to the adding unit 151.
  • the adding unit 151 acquires the corresponding pixel corresponding to the target pixel from the teacher image from the teacher image generation unit 111 in FIG. 19, and as the prediction tap for the corresponding pixel and the target pixel supplied from the tap selection unit 121.
  • the addition of the pixel (student pixel) of the student image and the parameter z to (the target pixel of) the student image is performed for each class supplied from the class classification unit 122.
  • the adding unit 151 includes the pixel (teacher pixel) y k of the teacher image corresponding to the target pixel, the prediction tap x i, k (x j, k ) for the target pixel output by the tap selection unit 121, and The class of the pixel of interest output from the class classification unit 122 is supplied, and the parameter z for (the student image including) the pixel of interest is supplied from the parameter generation unit 141.
  • the adding unit 151 uses the prediction tap (student image) x i, k (x j, k ) and the parameter z for each class supplied from the class classification unit 122, in the matrix on the left side of Expression (22), component X i, which is defined by equation (20), p, j, multiplication of the student pixel and the parameter z for determining the q (x i, k t p x j, k t q) and, on the summation (sigma) Perform the corresponding operation.
  • t p of formula (20), according to equation (12) is calculated from the parameter z. The same applies to t q in equation (20).
  • the adder 151 uses the prediction tap (student pixel) x i, k , the corresponding pixel (teacher pixel) y k , and the parameter z for each class also supplied from the class classification unit 122, In the vector on the right side of (22), multiplication of student pixel x i, k , teacher pixel y k , and parameter z to obtain component Y i, p defined by equation (21) (x i, k t An operation corresponding to p y k ) and the summarization ( ⁇ ) is performed.
  • t p of formula (21), according to equation (12) is calculated from the parameter z.
  • the adder 151 previous, component X i of the matrix on the left in the determined for the corresponding pixel corresponding to the pixel of interest Equation (22), p, j, q and component Y i of the right side of the vector, p Are stored in the built-in memory (not shown), and the corresponding pixel corresponding to the new target pixel with respect to the component Xi , p, j, q of the matrix or the component Yi , p of the vector
  • the corresponding component x i, k t p x j, k t calculated using the teacher pixel y k , the student pixel x i, k (x j, k ), and the parameter z for the teacher pixel Add q or x i, k t p y k (perform addition represented by the sum of components Xi , p, j, q of equation (20) or component Yi , p of equation (21)) .
  • the adding-in unit 151 performs the above-described addition for all values of the parameter z with all the pixels of the student image as the pixel of interest, thereby generating the normal equation shown in Expression (22) for each class. , And supplies the normal equation to the coefficient calculation unit 152.
  • the coefficient calculation unit 152 solves the normal equation for each class supplied from the adding unit 151 to obtain and output a seed coefficient ⁇ m, n for each class.
  • the learning image is used as a teacher image
  • the decoded image obtained by encoding (locally) decoding the teacher image is used as a student image
  • learning is performed to obtain a seed coefficient ⁇ m, n that directly minimizes the sum of squared errors of the prediction value y of the teacher image predicted by the linear linear expression of Equation (3) from n.
  • the learning of the coefficients beta m, n the sum of the square errors of the prediction value y of the teacher image, so to speak, can be learned indirectly determine the species coefficient beta m, n that minimizes.
  • the tap coefficient is determined from the seed coefficient ⁇ m, n and the variable t m corresponding to the parameter z , as shown in equation (13).
  • the tap coefficient obtained by this equation (13) is expressed as w n '
  • the optimal seed coefficient ⁇ m, n is expressed by the following equation This can be obtained by minimizing the sum E of square errors.
  • equation (27) can be represented by normal equations shown in equation (30) with X i, j and Y i.
  • Equation (30) can also be solved for the seed coefficient ⁇ m, n by using, for example, the sweep-out method.
  • the learning unit 143 (FIG. 20) can also perform learning to obtain the seed coefficient ⁇ m, n by solving the normal equation of Equation (30).
  • the adding unit 151 is used as a prediction tap for the corresponding pixel of the teacher image corresponding to the target pixel among the teacher images from the teacher image generation unit 111 and the target pixel supplied from the tap selection unit 121.
  • the addition for the student pixels is performed for each class supplied from the class classification unit 122 and for each value of the parameter z output from the parameter generation unit 141.
  • the adding unit 151 is supplied with the teacher pixel (corresponding pixel) y k of the teacher image, the prediction tap x n, k , the class of the target pixel, and the parameter z for (the target pixel of) the student image.
  • the adding unit 151 uses the prediction tap (student pixel) x n, k for each class of the target pixel and for each value of the parameter z, and multiplies the student pixels in the matrix on the left side of Expression (10) An operation corresponding to x n, k x n ′, k ) and the summarization ( ⁇ ) is performed.
  • adder 151 for each class of the pixel of interest, and for each value of the parameter z, the vector of the right side of the prediction tap used (Student pixels) x n, k and the teacher pixel y k, the formula (10)
  • the multiplication (x n, k y k ) of the student pixel x n, k and the teacher pixel y k in the step of and the operation corresponding to the summa ( ⁇ ) are performed.
  • the adding unit 151 calculates the component ( ⁇ x n, k x n ′, k ) of the matrix on the left side in Equation (10) obtained for the teacher pixel (corresponding pixel) of the teacher image corresponding to the target pixel last time , And the component ( ⁇ x n, k y k ) of the vector on the right side are stored in its built-in memory (not shown), and the component ( ⁇ x n , k x n ', k ) of the matrix or the component of the vector For ( ⁇ x n, k y k ), the teacher pixel that has become the corresponding pixel corresponding to the new target pixel is calculated using the teacher pixel y k + 1 and the student pixel x n, k + 1 Add the corresponding components x n, k + 1 x n ′, k + 1 or x n, k + 1 y k + 1 (perform the addition represented by the summarization of equation (10) obtained
  • the adding-in unit 151 performs the above-described addition with all the pixels of the student image as the target pixel, thereby performing the normal equation shown in Expression (10) for each value of the parameter z for each class.
  • the addition unit 151 generates the normal equation of Equation (10) for each class, similarly to the addition unit 123 of FIG. However, the adding-in unit 151 is different from the adding-in unit 123 of FIG. 17 in that the normal equation of Expression (10) is generated also for each value of the parameter z.
  • the addition unit 151 obtains an optimal tap coefficient w n for each value of the parameter z for each class by solving a normal equation for each value of the parameter z for each class.
  • the adder 151 performs, for each class, addition for the parameter z (the variable t m corresponding to the parameter z supplied from the parameter generator 141 (FIG. 19) and the optimum tap coefficient w n. .
  • the adding unit 151 determines the equation (28) in the matrix on the left side of the equation (30). Multiplication (t i t j ) of variables t i (t j ) corresponding to the parameter z for finding the component X i, j defined by and operation equivalent to the summa ( ⁇ ) for each class Do.
  • the calculation of the component Xi , j does not need to be performed for each class, and may be performed only once. .
  • the adding unit 151 uses the variable t i obtained by the equation (12) from the parameter z supplied from the parameter generating unit 141, and the optimum tap coefficient w n supplied from the adding unit 151, In the vector on the right side of (30), multiplication (t i w n ) of the variable t i corresponding to the parameter z for finding the component Y i defined by equation (29) and the optimal tap coefficient w n An operation corresponding to the transformation ( ⁇ ) is performed for each class.
  • the addition unit 151 obtains equation (30) for each class by obtaining the component Xi , j represented by equation (28) and the component Y i represented by equation (29) for each class.
  • the normal equation is generated, and the normal equation is supplied to the coefficient calculation unit 152.
  • the coefficient calculation unit 152 solves the normal equation of Formula (30) for each class supplied from the adding unit 151 to obtain and output a seed coefficient ⁇ m, n for each class.
  • the coefficient acquisition unit 131 of FIG. 18 can store the seed coefficient ⁇ m, n for each class obtained as described above.
  • the tap coefficient w n is a polynomial ⁇ 1, n z 0 + ⁇ 2, n z 1 +... + ⁇ using one parameter z
  • the tap coefficient w n is assumed to be approximated by M, n z M-1 , but the tap coefficient w n is another polynomial, for example, a polynomial ⁇ 1, n z x 0 z y 0 + ⁇ 2 using two parameters z x and z y , n z x 1 z y 0 + ⁇ 3, n z x 2 z y 0 + ⁇ 4, n z x 3 z y 0 + ⁇ 5, n z x 0 z y 1 + ⁇ 6, n z x 0 z y 2 + ⁇ 7 , n z x 0 z y 3 + ⁇ 8, n z x 1 z y 1 + .
  • the tap coefficient w n can be finally expressed by equation (13) Therefore, in the learning device 140 of FIG. 19, it is possible to obtain a tap coefficient w n approximated by a polynomial using two parameters z x and z
  • FIG. 21 is a block diagram showing a detailed configuration example of the encoding device 20 of FIG.
  • the encoding device 20 includes an A / D conversion unit 201, a rearrangement buffer 202, an operation unit 203, an orthogonal conversion unit 204, a quantization unit 205, a lossless encoding unit 206, and an accumulation buffer 207. Furthermore, the encoding apparatus 20 includes an inverse quantization unit 208, an inverse orthogonal transformation unit 209, an operation unit 210, an ILF 211, a frame memory 212, a selection unit 213, an intra prediction unit 214, a motion prediction compensation unit 215, and a predicted image selection unit 216. And a rate control unit 217.
  • the A / D conversion unit 201 A / D converts the original image of the analog signal into the original image of the digital signal, and supplies the original image to the rearrangement buffer 202 for storage.
  • the rearrangement buffer 202 rearranges the frames of the original image in display order to encoding (decoding) order according to GOP (Group Of Picture), and the operation unit 203, the intra prediction unit 214, the motion prediction compensation unit 215, and , Supply to the ILF 211.
  • GOP Group Of Picture
  • the operation unit 203 subtracts the predicted image supplied from the intra prediction unit 214 or the motion prediction / compensation unit 215 from the original image from the reordering buffer 202 via the predicted image selection unit 216, and the residual obtained by the subtraction.
  • the (prediction residual) is supplied to the orthogonal transformation unit 204.
  • the operation unit 203 subtracts the predicted image supplied from the motion prediction / compensation unit 215 from the original image read from the reordering buffer 202.
  • the orthogonal transformation unit 204 performs orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation on the residual supplied from the arithmetic unit 203. In addition, the method of this orthogonal transformation is arbitrary.
  • the orthogonal transformation unit 204 supplies the orthogonal transformation coefficient obtained by orthogonal exchange to the quantization unit 205.
  • the quantization unit 205 quantizes the orthogonal transformation coefficient supplied from the orthogonal transformation unit 204.
  • the quantization unit 205 sets the quantization parameter QP based on the target value of the code amount (code amount target value) supplied from the rate control unit 217, and performs quantization of the orthogonal transformation coefficient.
  • the method of this quantization is arbitrary.
  • the quantization unit 205 supplies the lossless encoding unit 206 with the encoded data that is the quantized orthogonal transformation coefficient.
  • the lossless encoding unit 206 encodes the quantized orthogonal transformation coefficient as the encoded data from the quantization unit 205 according to a predetermined lossless encoding scheme. Since the orthogonal transformation coefficient is quantized under the control of the rate control unit 217, the code amount of the encoded bit stream obtained by the lossless encoding of the lossless encoding unit 206 is the code set by the rate control unit 217. It becomes the amount target value (or approximates the code amount target value).
  • the lossless encoding part 206 acquires the encoding information required for the decoding in the decoding apparatus 30 among the encoding information regarding the prediction encoding in the encoding apparatus 20 from each block.
  • the coding information for example, prediction modes for intra prediction and inter prediction, motion information such as motion vectors, code amount target values, quantization parameters QP, picture types (I, P, B), CU (Coding) There are information of Unit) and Coding Tree Unit (CTU).
  • motion information such as motion vectors, code amount target values, quantization parameters QP, picture types (I, P, B), CU (Coding) There are information of Unit) and Coding Tree Unit (CTU).
  • the prediction mode can be acquired from the intra prediction unit 214 or the motion prediction / compensation unit 215.
  • motion information can be acquired from the motion prediction / compensation unit 215.
  • the lossless encoding unit 206 acquires, from the ILF 211, filter information on filter processing in the ILF 211 in addition to acquiring encoding information.
  • the lossless coding unit 206 may use, for example, variable-length coding such as CAVLC (Context-Adaptive Variable Length Coding) or CABAC (Context-Adaptive Binary Arithmetic Coding), or other lossless codes such as CAVLC (Context-Adaptive Variable Length Coding). Encoding according to the coding scheme, and generates an encoded bit stream including encoded information after encoding and filter information and encoded data from the quantization unit 205, and supplies the encoded bit stream to the accumulation buffer 207.
  • variable-length coding such as CAVLC (Context-Adaptive Variable Length Coding) or CABAC (Context-Adaptive Binary Arithmetic Coding)
  • CAVLC Context-Adaptive Variable Length Coding
  • the accumulation buffer 207 temporarily accumulates the coded bit stream supplied from the lossless coding unit 206.
  • the coded bit stream stored in the storage buffer 207 is read and transmitted at a predetermined timing.
  • the encoded data that is the orthogonal transformation coefficient quantized in the quantization unit 205 is supplied to the lossless encoding unit 206 and also to the inverse quantization unit 208.
  • the inverse quantization unit 208 inversely quantizes the quantized orthogonal transformation coefficient according to a method corresponding to the quantization by the quantization unit 205, and transmits the orthogonal transformation coefficient obtained by the inverse quantization to the inverse orthogonal transformation unit 209. Supply.
  • the inverse orthogonal transformation unit 209 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 208 by a method corresponding to orthogonal transformation processing by the orthogonal transformation unit 204, and obtains a residual obtained as a result of the inverse orthogonal transformation. , To the arithmetic unit 210.
  • the operation unit 210 adds the predicted image supplied from the intra prediction unit 214 or the motion prediction / compensation unit 215 via the predicted image selection unit 216 to the residual supplied from the inverse orthogonal transform unit 209, thereby using the original. An (a part of) a decoded image obtained by decoding the image is obtained and output.
  • the decoded image output from the calculation unit 210 is supplied to the ILF 211.
  • the ILF 211 performs, for example, filtering processing by class classification prediction processing to predict (restore) the original image.
  • the decoded image is supplied from the calculation unit 210 to the ILF 211, and the original image corresponding to the decoded image is supplied from the reordering buffer 202. Further, the ILF 211 is supplied with obtainable information.
  • the ILF 211 stores, for example, a plurality of sets of preset seed coefficients.
  • the ILF 211 is obtained, for example, from a set of preset seed coefficients among a plurality of sets of preset seed coefficients using the decoded image from the operation unit 210, the original image from the reordering buffer 202, and the obtainable information.
  • the error coefficient learning is performed to obtain an error coefficient used to generate a synthesis tap coefficient together with the expansion tap coefficient.
  • the ILF 211 is a lossless encoding unit 206 that includes, as necessary, an error coefficient for each class obtained by error coefficient learning, and filter information including selection information representing a preset seed coefficient used when obtaining the error coefficient.
  • the ILF 211 is a decoded image from the calculation unit 210, which is a fine prediction equation that is a prediction equation using a synthesis tap coefficient obtained by combining the error coefficient obtained by error coefficient learning and the expansion tap coefficient obtained from the preset seed coefficient.
  • the ILF 211 performs class classification prediction processing using synthesis tap coefficients for each class with the decoded image from the arithmetic operation unit 210 as the first image, thereby converting the decoded image as the first image into the original image. It is converted into a filter image as a corresponding second image (a filter image is generated and output).
  • the filter image output from the ILF 211 is supplied to the frame memory 212.
  • the ILF 211 stores (presets) seed coefficients that are not tap coefficients but coefficients of a coefficient prediction formula that approximates (predicts) tap coefficients.
  • the storage capacity for storing preset seed coefficients can be set to P sets of taps.
  • the coefficients are preset, it is possible to suppress, and as a result, it is possible to suppress the size of the encoding device 20 (as well as the decoding device 30).
  • the ILF 211 can function as one or more of the deblocking filter, the adaptive offset filter, the bilateral filter, and the adaptive loop filter, depending on the student image and the teacher image used for learning the preset seed coefficient.
  • the ILF 211 is made to function as two or more filters among the deblocking filter, the adaptive offset filter, the bilateral filter, and the adaptive loop filter, the arrangement order of the two or more filters is arbitrary.
  • the frame memory 212 temporarily stores the filter image supplied from the ILF 211 as a restored image obtained by restoring the original image.
  • the restored image stored in the frame memory 212 is supplied to the selection unit 213 as a reference image used for generating a predicted image at a necessary timing.
  • the selection unit 213 selects the supply destination of the reference image supplied from the frame memory 212. For example, when intra prediction is performed in the intra prediction unit 214, the selection unit 213 supplies the reference image supplied from the frame memory 212 to the intra prediction unit 214. Also, for example, when inter prediction is performed in the motion prediction / compensation unit 215, the selection unit 213 supplies the reference image supplied from the frame memory 212 to the motion prediction / compensation unit 215.
  • the intra prediction unit 214 uses the original image supplied from the reordering buffer 202 and the reference image supplied from the frame memory 212 via the selection unit 213, for example, using PU (Prediction Unit) as a processing unit. Perform prediction (in-screen prediction).
  • the intra prediction unit 214 selects an optimal intra prediction mode based on a predetermined cost function (for example, RD cost etc.), and outputs a predicted image generated in the optimal intra prediction mode to the predicted image selection unit 216. Supply. Further, as described above, the intra prediction unit 214 appropriately supplies the prediction mode indicating the intra prediction mode selected based on the cost function to the lossless encoding unit 206 and the like.
  • the motion prediction / compensation unit 215 uses the original image supplied from the reordering buffer 202 and the reference image supplied from the frame memory 212 via the selection unit 213, and performs motion prediction (for example, using PU as a processing unit). Make predictions). Furthermore, the motion prediction / compensation unit 215 performs motion compensation in accordance with the motion vector detected by motion prediction, and generates a predicted image. The motion prediction / compensation unit 215 performs inter prediction in a plurality of inter prediction modes prepared in advance, and generates a prediction image.
  • the motion prediction / compensation unit 215 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. Furthermore, the motion prediction / compensation unit 215 supplies the prediction image generated in the optimal inter prediction mode to the prediction image selection unit 216.
  • the motion prediction / compensation unit 215 performs motions such as a prediction mode indicating an inter prediction mode selected based on the cost function, and a motion vector required when decoding encoded data encoded in the inter prediction mode. Information and the like are supplied to the lossless encoding unit 206.
  • the prediction image selection unit 216 selects the supply source (the intra prediction unit 214 or the motion prediction compensation unit 215) of the prediction image to be supplied to the calculation units 203 and 210, and the prediction image supplied from the selected supply source is selected. , And supplies to the arithmetic units 203 and 210.
  • the rate control unit 217 controls the rate of the quantization operation of the quantization unit 205 based on the code amount of the coded bit stream accumulated in the accumulation buffer 207 so as not to cause an overflow or an underflow. That is, the rate control unit 217 sets a target code amount of the coded bit stream so as to prevent overflow and underflow of the accumulation buffer 207 and supplies the target code amount to the quantization unit 205.
  • the operation unit 203 to the lossless encoding unit 206 are the encoding unit 21 of FIG. 9
  • the inverse quantization unit 208 to the operation unit 210 are the local decoding unit 23 of FIG. 9
  • the ILF 211 is the filter of FIG. It corresponds to the part 24 respectively.
  • FIG. 22 is a block diagram showing a configuration example of the ILF 211 of FIG.
  • the ILF 211 includes a learning device 231, a prediction device 232, and a seed coefficient storage unit 233.
  • the original image is supplied from the rearrangement buffer 202 (FIG. 21), and the decoded image is supplied from the arithmetic unit 210 (FIG. 21). Furthermore, obtainable learning information is supplied to the learning device 231.
  • the learning device 231 performs error coefficient learning using the obtainable information, the decoded image, the original image, and the preset seed coefficient stored in the seed coefficient storage unit 233.
  • the learning device 231 selects a value corresponding to the obtainable information as the parameter z. Further, the learning device 231 obtains, for each of the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233, the development tap coefficient for each class using the preset seed coefficient and the parameter z.
  • the learning device 231 performs, for each of the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233, a preset prediction using the expansion tap coefficient for each class and the decoded image, thereby obtaining a predicted value of the original image. Find a preset forecast value that is Further, the learning device 231 obtains, for each of the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233, a preset prediction error which is a difference between the original image and the preset prediction value. At the same time, error coefficients are learned using the decoded image as student data to obtain error coefficients for each class.
  • the learning device 231 adopts an error coefficient that optimizes the coding efficiency from among the error coefficients (for each class) obtained for each of the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233. Determine the coefficients.
  • the learning device 231 synthesizes the error coefficient and the expansion tap coefficient to obtain a synthesis tap coefficient for each class. Furthermore, the learning device 231 performs fine prediction using the synthesis tap coefficient for each class and the decoded image to generate a filter image having the fine prediction value, which is the prediction value of the original image, as the pixel value. Using the filtered image and the original image, the coding efficiency such as the RD cost is determined.
  • the learning device 231 determines an error coefficient that optimizes the coding efficiency from among the error coefficients obtained for each of the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233 as the adopted error coefficient. Furthermore, the learning device 231 includes filter information including an adopted error coefficient and selection information representing a preset seed coefficient for which the adopted error coefficient is obtained among the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233. Is supplied to the prediction device 232 and to the lossless encoding unit 206 (FIG. 21).
  • the prediction device 232 is also supplied with the decoded image from the arithmetic unit 210 (FIG. 21). Furthermore, the prediction device 232 is supplied with obtainable information.
  • the prediction device 232 performs fine prediction using the obtainable information, the filter information from the learning device 231, and the preset seed coefficient stored in the seed coefficient storage unit 233, to obtain a fine predicted value which is a predicted value of the original image.
  • a filter image having a pixel value is generated and supplied to the frame memory 212 (FIG. 21).
  • the prediction device 232 selects a value according to the obtainable information as the parameter z. Furthermore, the prediction device 232 uses the preset seed coefficient and the parameter z represented by the selection information included in the filter information from the learning device 231 among the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233, Find expansion tap coefficients for each class.
  • the prediction device 232 combines the expansion tap coefficient for each class and the (adopted) error coefficient for each class included in the filter information from the learning device 231, and obtains the synthesis tap coefficient for each class. Furthermore, the prediction device 232 performs fine prediction using the synthesis tap coefficient for each class and the decoded image to generate a filter image having the fine prediction value which is the prediction value of the original image as the pixel value, and the frame The memory 212 is supplied.
  • the seed coefficient storage unit 233 stores, for example, a plurality of sets of preset seed coefficients obtained by seed coefficient learning performed in advance, using a value corresponding to the obtainable information as the parameter z.
  • FIG. 23 is a block diagram showing a configuration example of the learning device 231 of FIG.
  • the learning device 231 includes a selection unit 241, a preset prediction unit 242, a prediction error generation unit 243, a learning unit 244, and a determination unit 245.
  • the selection unit 241 sequentially selects one set of preset seed coefficients stored in the seed coefficient storage unit 233 (FIG. 21) one by one as a set of the set seed coefficients, and presets the set seed coefficients
  • the coefficient generation unit 250 of the prediction unit 242 is supplied. Further, the selection unit 241 supplies the target seed coefficient and selection information indicating the target seed coefficient to the determination unit 245.
  • the preset prediction unit 242 includes a coefficient generation unit 250, a tap selection unit 251, a class classification unit 252, a coefficient acquisition unit 253, and a prediction operation unit 254, and performs preset prediction using a development tap coefficient obtained from a focused seed coefficient I do.
  • the coefficient generation unit 250 is also supplied with the obtainable information.
  • the coefficient generation unit 250 selects, as the parameter z, a value corresponding to the obtainable information of the target pixel (for example, the full screen motion of the frame of the decoded image including the target pixel, the average value of the quantization parameter QP, etc.). Furthermore, the coefficient generation unit 250 calculates a coefficient prediction formula using the parameter z and the focused species coefficient from the selection unit 241, and generates the focused species coefficient (a set of preset seed coefficients selected therein) Determine (generate) expansion tap coefficients for each class. Then, the coefficient generation unit 250 supplies the expansion tap coefficient for the target seed coefficient to the coefficient acquisition unit 253.
  • the tap selection unit 251 to the prediction calculation unit 254 are configured in the same manner as the tap selection unit 101 to the prediction calculation unit 104 of the prediction device 100 of FIG. 15, respectively, and the expansion tap coefficients from the coefficient generation unit 250 21) A preset prediction is performed to calculate a preset prediction equation having the product of the decoded image from 21) as a term.
  • the decoded image from the calculation unit 210 is supplied to the tap selection unit 251 and the class classification unit 252.
  • the tap selection unit 251 sequentially selects the pixels of the decoded image as the pixel of interest. Furthermore, with regard to the pixel of interest, the tap selection unit 251 selects some of (pixel values of) pixels constituting a decoded image used to predict (pixel values of) corresponding pixels of the original image corresponding to the pixel of interest. It is selected as a prediction tap and supplied to the prediction operation unit 254.
  • the class classification unit 252 classifies the pixel of interest using, for example, the decoded image, and supplies the class of the pixel of interest obtained as a result to the coefficient acquisition unit 253.
  • the coefficient acquisition unit 253 stores the expansion tap coefficient for each class of the target species coefficient from the coefficient generation unit 250, and expands the class of the target pixel from the class classification unit 252 among the stored expansion tap coefficients. Get the tap coefficient. Further, the coefficient acquisition unit 253 supplies the expansion tap coefficient of the class of the pixel of interest to the prediction calculation unit 254.
  • the prediction calculation unit 254 calculates a preset prediction value by performing calculation of a preset prediction formula using the prediction tap from the tap selection unit 251 and the expansion tap coefficient supplied from the coefficient acquisition unit 253, and a prediction error
  • the data is supplied to the generation unit 243.
  • the prediction error generation unit 243 is supplied with the preset prediction value from the preset prediction unit 242, and is also supplied with the original image from the rearrangement buffer 202 (FIG. 21).
  • the prediction error generation unit 243 obtains a preset prediction error by subtracting a preset prediction value from the original image (of the pixel value of the corresponding pixel corresponding to the target pixel), and supplies this to the adding unit 263 of the learning unit 244 .
  • the learning unit 244 includes a tap selection unit 261, a class classification unit 262, an addition unit 263, and a coefficient calculation unit 264.
  • the tap selecting unit 261 to the coefficient calculating unit 264 are configured in the same manner as the tap selecting unit 121 to the coefficient calculating unit 124 that constitute the learning unit 113 in FIG. Then, the learning unit 244 uses the decoded image from the calculation unit 210 as student data, and uses the preset prediction value from the prediction error generation unit 243 as teacher data, and performs learning similar to that performed by the learning unit 113 in FIG. By performing error coefficient learning, error coefficients for each class of error prediction equation are obtained.
  • the tap selection unit 261 sequentially selects the pixels of the decoded image as student data as the pixel of interest. Further, the tap selection unit 261 selects, for the pixel of interest, from among the pixels forming the student image, the same pixel as the tap selection unit 251 selects as the prediction tap, and supplies the prediction tap to the addition unit 263.
  • the class classification unit 262 classifies the target pixel with the same class as the class classification unit 252 using the student image, and outputs the class of the target pixel obtained as a result to the adding unit 263.
  • the adding unit 263 selects a preset prediction error (hereinafter also referred to as a corresponding prediction error) corresponding to the target pixel from the preset prediction errors as teacher data, and the corresponding prediction error and the attention supplied from the tap selection unit 261 The addition for the prediction tap for the pixel is performed for each class of the target pixel supplied from the class classification unit 262.
  • a preset prediction error hereinafter also referred to as a corresponding prediction error
  • the adding unit 263 performs the above-described adding process on all pixels in one frame of the decoded image as student data, for example, as a target pixel, to thereby obtain the normal equation shown in the equation (10) for each class.
  • the normal equation corresponding to the equation is generated, and the normal equation is supplied to the coefficient calculation unit 264.
  • the coefficient calculation unit 264 obtains an error coefficient for each class by solving the normal equation for each class supplied from the adding unit 263.
  • the coefficient calculation unit 264 supplies, to the determination unit 245, the error coefficient for each class with respect to the target species coefficient obtained as described above.
  • the determination unit 245 is supplied with selection information from the selection unit 241 and a preset seed coefficient (represented species coefficient) represented by the selection information, and an error coefficient from the learning unit 244 (the coefficient calculation unit 264). Besides, the decoded image, the original image, and the obtainable information are supplied.
  • the determination unit 245 associates and stores the selection information from the selection unit 241 and the preset seed coefficient represented by the selection information from the learning unit 244, that is, the error coefficient for the focused seed coefficient.
  • the determination unit 245 further generates, from among the plurality of sets of preset seed coefficients sequentially supplied as the target seed coefficient from the selection unit 241, expansion tap coefficients and error coefficients obtained for the preset seed coefficients, and a decoded image and an original.
  • a preset seed coefficient that optimizes the coding efficiency when fine prediction is performed using the image and the obtainable information is determined as the adopted preset seed coefficient.
  • the determination unit 245 determines the error coefficient obtained for the adopted preset seed coefficient as the adopted error coefficient, and selects the selection information that is associated with the adopted error coefficient, that is, represents the adopted preset seed coefficient.
  • the information is supplied as filter information to the prediction device 232 (FIG. 22) and to the lossless encoding unit 206 (FIG. 21).
  • FIG. 24 is a block diagram showing a configuration example of the prediction device 232 of FIG.
  • the prediction device 232 includes a filter information storage unit 281, a coefficient generation unit 282, a combining unit 283, a tap selection unit 291, a class classification unit 292, a coefficient acquisition unit 293, and a prediction operation unit 294.
  • the filter information storage unit 281 stores filter information supplied from (the determining unit 245 (FIG. 23) of) the learning device 231.
  • the selection information included in the filter information stored in the filter information storage unit 281 is supplied to the coefficient generation unit 282. Further, the (adoption) error coefficient for each class included in the filter information stored in the filter information storage unit 281 is supplied to the combining unit 283.
  • the coefficient generation unit 282 is also supplied with the obtainable information.
  • the coefficient generation unit 282 selects, as the parameter z, a value corresponding to the obtainable information of the pixel of interest. Furthermore, the coefficient generation unit 282 sets (adopted) preset type coefficients represented by selection information from the filter information storage unit 281 among the plurality of sets of preset type coefficients stored in the seed coefficient storage unit 233 (FIG. 21), The coefficient prediction equation is calculated using the parameter z to obtain (generate) expansion tap coefficients for each class. Then, the coefficient generation unit 282 supplies the expansion tap coefficient to the combining unit 283.
  • the combining unit 283 combines the (adopted) error coefficient supplied from the filter information storage unit 281 and the expansion tap coefficient supplied from the coefficient generation unit 282, and the resultant tap coefficient for each class obtained as a result is a coefficient.
  • the information is supplied to the acquisition unit 293.
  • the tap selection unit 291 to the prediction calculation unit 294 are configured in the same manner as the tap selection unit 101 to the prediction calculation unit 104 of the prediction device 100 in FIG. 15, respectively, and the calculation tap coefficient obtained by the combination unit 283 21. Perform fine prediction to perform calculation of a fine prediction formula having a product of the product from 21) and the decoded image as a term.
  • the decoded image from the calculation unit 210 is supplied to the tap selection unit 291 and the class classification unit 292.
  • the tap selection unit 291 sequentially selects the pixels of the decoded image as the pixel of interest. Further, the tap selection unit 291 selects, for the target pixel, the same pixel as the tap selection unit 251 (FIG. 23) as a prediction tap, and supplies the prediction tap to the prediction operation unit 294.
  • the class classification unit 292 classifies the target pixel using the decoded image, and supplies the class of the target pixel obtained as a result to the coefficient acquisition unit 293.
  • the coefficient acquisition unit 293 stores the synthesis tap coefficient for each class from the synthesis unit 283, and acquires the synthesis tap coefficient of the class of the pixel of interest from the class classification unit 292 among the stored synthesis tap coefficients. Furthermore, the coefficient acquisition unit 293 supplies the synthesis tap coefficient of the class of the pixel of interest to the prediction operation unit 294.
  • the prediction calculation unit 294 calculates a fine prediction value by performing calculation of a fine prediction formula using the prediction tap from the tap selection unit 291 and the synthesis tap coefficient supplied from the coefficient acquisition unit 293, and the fine prediction value is calculated.
  • a filter image having pixel values as predicted values is supplied to the frame memory 212 (FIG. 21).
  • FIG. 25 is a flowchart for explaining an example of the encoding process of the encoding device 20 of FIG.
  • the learning device 231 (FIG. 23) of the ILF 211 temporarily stores the decoded image supplied thereto, and temporarily stores the original image corresponding to the decoded image.
  • step S101 the learning device 231 determines whether the current timing is an update timing for updating the error coefficient.
  • the update timing of the error coefficient is, for example, every one or more frames (pictures), every one or more sequences, every one or more slices, every one or more lines of a predetermined block such as CTU, etc. You can decide in advance.
  • the update timing of the error coefficient other than the periodic (fixed) timing such as the timing for each one or more frames (pictures)
  • the timing when the S / N of the filter image becomes less than the threshold filter image
  • so-called dynamic timing can be adopted, such as the timing when the error with respect to the original image becomes equal to or greater than the threshold), the timing when (the sum of absolute values of) the residual becomes equal to or greater than the threshold, or the like.
  • the learning device 231 performs error coefficient learning using one frame of the decoded image and the original image, and therefore, the timing for each frame is the update timing.
  • step S101 If it is determined in step S101 that the current timing is not the error coefficient update timing, the process skips steps S102 to S106 and proceeds to step S107.
  • step S101 when it is determined in step S101 that the current timing is the update timing of the error coefficient, the process proceeds to step S102, and the learning device 231 is stored in the seed coefficient storage unit 233 (FIG. 22). For each of a plurality of sets of preset seed coefficients, error coefficient learning is performed to obtain an error coefficient for each class.
  • the learning device 231 decodes the latest one frame supplied to the decoded image and the original image (here, the learning device 231 (ILF 211) stored between the previous update timing and the current update timing). Error coefficient learning is performed using an image, an original image, etc., obtainable information, and a preset seed coefficient stored in the seed coefficient storage unit 233, and a plurality of sets stored in the seed coefficient storage unit 233 (FIG. 22) For each of the preset seed coefficients of, the error coefficient for each class is determined.
  • step S102 the process proceeds from step S102 to step S103, and the learning device 231 uses the error coefficients for each of the error coefficients for each of the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233.
  • the decimal point position of the bit string representing the error coefficient is determined so that the coding efficiency is the best when the fine prediction is performed, and the process proceeds to step S104.
  • step S104 the learning device 231 determines, from among the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233, expansion tap coefficients obtained from the preset seed coefficients and errors obtained for the preset seed coefficients.
  • a preset seed coefficient that optimizes coding efficiency is determined as a adopted preset seed coefficient.
  • the learning device 231 determines the error coefficient (for each class) obtained for the adopted preset seed coefficient as the adopted error coefficient, and the process proceeds from step S104 to step S105.
  • step S105 the learning device 231 generates selection information representing the adopted preset coefficient and filter information including the adopted error coefficient, and the prediction device 232 (FIG. 24) and the lossless encoding unit 206 (FIG. 21). Supply.
  • the lossless encoding unit 206 sets the filter information from the learning device 231 as a transmission target, and the process proceeds from step S105 to step S106.
  • the filter information set as the transmission target is included in the coded bit stream and transmitted in the predictive coding process performed in step S107 described later.
  • step S106 the prediction device 232 stores each class stored in the filter information storage unit 281 (FIG. 24) according to the (adoption) error coefficient for each class included in the filter information from the learning device 231 and the selection information.
  • the error coefficient and the selection information are updated (the filter information is overwritten and stored), and the process proceeds to step S107.
  • step S107 predictive coding processing of the original image is performed, and the coding processing ends.
  • FIG. 26 is a flowchart for explaining an example of the predictive coding process of step S107 of FIG.
  • step S111 the A / D converter 201 (FIG. 21) A / D converts the original image and supplies the original image to the rearrangement buffer 202, and the process proceeds to step S112.
  • step S112 the reordering buffer 202 stores the original image from the A / D conversion unit 201, reorders in coding order, and outputs it, and the process proceeds to step S113.
  • step S113 the intra prediction unit 214 performs intra prediction processing in the intra prediction mode, and the processing proceeds to step S114.
  • the motion prediction / compensation unit 215 performs inter motion prediction processing for performing motion prediction and motion compensation in the inter prediction mode, and the processing proceeds to step S115.
  • step S115 the predicted image selection unit 216 determines the optimal prediction mode based on the cost functions obtained by the intra prediction unit 214 and the motion prediction / compensation unit 215. Then, the prediction image selection unit 216 selects and outputs the prediction image of the optimal prediction mode from among the prediction image generated by the intra prediction unit 214 and the prediction image generated by the motion prediction compensation unit 215. The process proceeds from step S115 to step S116.
  • step S116 the computing unit 203 computes the residual of the target image to be encoded, which is the original image output from the reordering buffer 202, and the predicted image output from the predicted image selecting unit 216, and the orthogonal transform unit 204. , And the process proceeds to step S117.
  • step S117 the orthogonal transformation unit 204 orthogonally transforms the residual from the computation unit 203, supplies the resultant orthogonal transformation coefficient to the quantization unit 205, and the process proceeds to step S118.
  • step S118 the quantization unit 205 quantizes the orthogonal transformation coefficient from the orthogonal transformation unit 204, supplies the quantization coefficient obtained by the quantization to the lossless encoding unit 206 and the inverse quantization unit 208, The processing proceeds to step S119.
  • step S119 the inverse quantization unit 208 inversely quantizes the quantization coefficient from the quantization unit 205, supplies the orthogonal transformation coefficient obtained as a result to the inverse orthogonal transformation unit 209, and the process proceeds to step S120. move on.
  • step S120 the inverse orthogonal transformation unit 209 performs inverse orthogonal transformation on the orthogonal transformation coefficient from the inverse quantization unit 208, supplies the residual obtained as a result to the calculation unit 210, and the process proceeds to step S121. .
  • step S121 the operation unit 210 adds the residual from the inverse orthogonal transformation unit 209 and the predicted image output from the predicted image selection unit 216, and the element that is the target of the operation of the residual in the operation unit 203.
  • a decoded image corresponding to the image is generated.
  • the operation unit 210 supplies the decoded image to the ILF 211, and the process proceeds from step S121 to step S122.
  • step S122 the ILF 211 applies fine prediction as filter processing to the decoded image from the arithmetic unit 210 by class classification prediction processing, and supplies a filter image obtained by fine prediction as the filter processing to the frame memory 212. Then, the process proceeds from step S122 to step S123.
  • step S123 the frame memory 212 stores the filter image supplied from the ILF 211 as a restored image obtained by restoring the original image, and the process proceeds to step S124.
  • the filter image stored as the restored image in the frame memory 212 is used as a reference image from which a predicted image is generated in steps S114 and S115.
  • the lossless encoding unit 206 encodes the encoded data that is the quantization coefficient from the quantization unit 205, and generates an encoded bit stream including the encoded data. Furthermore, the lossless encoding unit 206 may use the quantization parameter QP used for the quantization in the quantization unit 205, the prediction mode obtained in the intra prediction process in the intra prediction unit 214, the motion prediction compensation unit 215, or the like. Encoding information such as a prediction mode and motion information obtained by inter motion prediction processing is encoded as necessary, and is included in an encoded bit stream.
  • the lossless encoding unit 206 encodes, as necessary, the filter information set as the transmission target in step S105 of FIG. 25 and includes the encoded information in the encoded bit stream. Then, the lossless encoding unit 206 supplies the encoded bit stream to the accumulation buffer 207, and the process proceeds from step S124 to step S125.
  • step S125 the accumulation buffer 207 accumulates the coded bit stream from the lossless coding unit 206, and the process proceeds to step S126.
  • the coded bit stream stored in the storage buffer 207 is read and transmitted as appropriate.
  • step S126 the rate control unit 217 controls the quantization unit 205 so that overflow or underflow does not occur based on the code amount (generated code amount) of the coded bit stream stored in the storage buffer 207.
  • the rate of the quantization operation is controlled, and the encoding process ends.
  • FIG. 27 is a flow chart for explaining an example of the filtering process performed in step S122 of FIG.
  • step S131 the prediction device 232 (FIG. 24) of the ILF 211 pays attention to one of the pixels of the decoded image (as a block) supplied from the arithmetic operation unit 210 that is not yet regarded as the pixel of interest. A pixel is selected, and the process proceeds to step S132.
  • step S132 the prediction device 232 selects some of the pixels of the decoded image as prediction taps for the pixel of interest, and the process proceeds to step S133.
  • step S133 the prediction device 232 classifies the pixel of interest, and the process proceeds to step S134.
  • step S134 the prediction device 232 selects a value according to the obtainable information of the pixel of interest as the parameter z. Further, among the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 233, the prediction device 232 represents the latest selection information stored in the filter information storage unit 281 in step S106 (FIG. 25) Adoption)
  • the expansion tap coefficient for each class is generated by calculating the coefficient prediction formula from the preset seed coefficient and the parameter z of the value according to the obtainable information of the target pixel, and the processing is from step S134 to step S135 Go to
  • step S135 the prediction device 232 combines the expansion tap coefficient and the latest error coefficient stored in the filter information storage unit 281 in step S106 (FIG. 25) to generate a combined tap coefficient for each class, The processing proceeds to step S136.
  • step S136 the prediction device 232 acquires the combined tap coefficient of the class of the pixel of interest from the combined tap coefficients of each class, and the process proceeds to step S137.
  • step S137 the prediction unit 232 applies filtering to the decoded image using a fine prediction formula configured using the prediction tap for the target pixel and the synthesis tap coefficient of the class of the target pixel, that is, the fine prediction formula
  • the following operation (product-sum operation) is performed to obtain a filter image.
  • step S137 the process proceeds from step S137 to step S138, and the prediction device 232 determines whether or not there is any pixel that is not yet a pixel of interest among the pixels of (the block as) the decoded image from the computing unit 210 . If it is determined in step S138 that there is a pixel that is not yet a pixel of interest, the process returns to step S131, and the same process is repeated thereafter.
  • step S138 when it is determined in step S138 that there is no pixel not yet considered as the target pixel, the process proceeds to step S139, and the prediction device 232 applies to the decoded image (as a block) from the arithmetic unit 210.
  • the filter image composed of the pixel values obtained is supplied to the frame memory 212 (FIG. 21). Then, the filtering process is ended and the process returns.
  • FIG. 28 is a block diagram showing a detailed configuration example of the decoding device 30 of FIG.
  • the decoding device 30 includes an accumulation buffer 301, a lossless decoding unit 302, an inverse quantization unit 303, an inverse orthogonal transformation unit 304, an operation unit 305, an ILF 306, a rearrangement buffer 307, and a D / A conversion unit 308.
  • the decoding device 30 includes a frame memory 310, a selection unit 311, an intra prediction unit 312, a motion prediction / compensation unit 313, and a selection unit 314.
  • the accumulation buffer 301 temporarily accumulates the coded bit stream transmitted from the coding device 20 and supplies the coded bit stream to the lossless decoding unit 302 at a predetermined timing.
  • the lossless decoding unit 302 receives the coded bit stream from the accumulation buffer 301 and decodes the bit stream using a method corresponding to the coding method of the lossless coding unit 206 in FIG.
  • the lossless decoding unit 302 supplies the inverse quantization unit 303 with the quantization coefficient as the encoded data included in the decoding result of the encoded bit stream.
  • the lossless decoding unit 302 has a function of performing parsing.
  • the lossless decoding unit 302 parses the decoding result of the coded bit stream, obtains necessary coding information and filter information, and sets the coding information into the necessary blocks of the intra prediction unit 312, the motion prediction / compensation unit 313, and the like. Supply. Furthermore, the lossless decoding unit 302 supplies the filter information to the ILF 306.
  • the inverse quantization unit 303 is obtained by inverse quantization of the quantization coefficient as the encoded data from the lossless decoding unit 302 by a method corresponding to the quantization method of the quantization unit 205 in FIG.
  • the orthogonal transformation coefficient is supplied to the inverse orthogonal transformation unit 304.
  • the inverse orthogonal transformation unit 304 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 303 according to a method corresponding to the orthogonal transformation method of the orthogonal transformation unit 204 in FIG.
  • the information is supplied to the arithmetic unit 305.
  • the residual is supplied from the inverse orthogonal transform unit 304 to the calculation unit 305, and a prediction image is supplied from the intra prediction unit 312 or the motion prediction / compensation unit 313 via the selection unit 314.
  • the operation unit 305 adds the residual from the inverse orthogonal transform unit 304 and the predicted image from the selection unit 314 to generate a decoded image, and supplies the decoded image to the ILF 306.
  • the ILF 306 performs filter processing by class classification prediction processing to predict (restore) an original image.
  • the decoded image is supplied from the arithmetic unit 305, the filter information is supplied from the lossless decoding unit 302, and the obtainable information that can be acquired from the coded bit stream is supplied to the ILF 306. That is, in the decoding device 30, the encoded information required to generate (select) the parameter z used to generate the expansion tap coefficient from the encoded bit stream, and the image of the decoded image obtained by decoding the encoded data Acquirable information such as a feature amount is acquired and supplied to the ILF 306.
  • the ILF 306 stores the same set of preset seed coefficients as the ILF 211 of FIG. 21 stores.
  • the ILF 306 is a fine prediction formula configured using a combination tap coefficient obtained by combining the (adopted) error coefficient included in the filter information and the expansion tap coefficient obtained from the preset seed coefficient represented by the selection information included in the filter information.
  • the ILF 306 performs class classification prediction processing using synthesis tap coefficients for each class with the decoded image from the arithmetic operation unit 305 as the first image, thereby converting the decoded image as the first image into the original image. It is converted into a filter image as a corresponding second image (a filter image is generated and output).
  • the filter image output by the ILF 306 is an image similar to the filter image output by the ILF 211 in FIG. 21 and is supplied to the reordering buffer 307 and the frame memory 310.
  • the rearrangement buffer 307 temporarily stores the filter image supplied from the ILF 306 as a restored image obtained by restoring the original image, and rearranges the arrangement of frames (pictures) of the restored image from the encoding (decoding) order to the display order
  • the data is supplied to the D / A converter 308.
  • the D / A conversion unit 308 D / A converts the restored image supplied from the reordering buffer 307, and outputs the image to a display (not shown) for display.
  • the frame memory 310 temporarily stores the filter image supplied from the ILF 306. Furthermore, the frame memory 310 selects the filter image as a reference image used to generate a predicted image at a predetermined timing or based on an external request such as the intra prediction unit 312 or the motion prediction / compensation unit 313. Supply to
  • the selection unit 311 selects the supply destination of the reference image supplied from the frame memory 310.
  • the selection unit 311 supplies the reference image supplied from the frame memory 310 to the intra prediction unit 312.
  • the selection unit 311 supplies the reference image supplied from the frame memory 310 to the motion prediction / compensation unit 313.
  • the intra prediction unit 312 performs processing from the frame memory 310 through the selection unit 311 in the intra prediction mode used by the intra prediction unit 214 in FIG. 21 according to the prediction mode included in the coding information supplied from the lossless decoding unit 302. Intra prediction is performed using the supplied reference image. Then, the intra prediction unit 312 supplies the prediction image obtained by intra prediction to the selection unit 314.
  • the motion prediction / compensation unit 313 uses the selection unit 311 from the frame memory 310 in the inter prediction mode used in the motion prediction / compensation unit 215 of FIG. 21 according to the prediction mode included in the coding information supplied from the lossless decoding unit 302.
  • the inter prediction is performed using the reference image supplied through.
  • the inter prediction is performed using motion information and the like included in the coding information supplied from the lossless decoding unit 302 as necessary.
  • the motion prediction / compensation unit 313 supplies a prediction image obtained by inter prediction to the selection unit 314.
  • the selection unit 314 selects the prediction image supplied from the intra prediction unit 312 or the prediction image supplied from the motion prediction / compensation unit 313, and supplies the selected prediction image to the calculation unit 305.
  • the lossless decoding unit 302 corresponds to the perspective unit 31 in FIG. 9
  • the inverse quantization unit 303 to the operation unit 305 corresponds to the decoding unit 32 in FIG. 9
  • the ILF 306 corresponds to the filter unit 33 in FIG. .
  • FIG. 29 is a block diagram showing a configuration example of the ILF 306 of FIG.
  • the ILF 306 includes a prediction device 331 and a seed coefficient storage unit 332.
  • the decoded image is supplied from the calculation unit 305 (FIG. 28), and the filter information is supplied from the lossless decoding unit 302. Furthermore, the forecasting device 331 is supplied with obtainable information.
  • the prediction device 331 performs fine prediction using the obtainable information, the filter information, and the preset seed coefficient stored in the seed coefficient storage unit 332, and uses the fine prediction value, which is the prediction value of the original image, as the pixel value.
  • the filter image is generated and supplied to the reordering buffer 307 and the frame memory 310 (FIG. 28).
  • the prediction device 331 selects a value according to the obtainable information as the parameter z. Furthermore, the prediction device 331 uses the preset seed coefficient and the parameter z represented by the selection information included in the filter information among the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 332 to perform the expansion tap for each class. Find the coefficient.
  • the prediction device 331 combines the expansion tap coefficient for each class and the (adopted) error coefficient for each class included in the filter information, and obtains the synthesis tap coefficient for each class. Further, the prediction device 331 performs fine prediction using the synthesis tap coefficient for each class and the decoded image to generate a filter image having the fine prediction value which is the prediction value of the original image as the pixel value, and arranging The data is supplied to the replacement buffer 307 and the frame memory 310.
  • the seed coefficient storage unit 332 stores a plurality of sets of preset seed coefficients identical to those stored in the seed coefficient storage unit 233 (FIG. 22).
  • FIG. 30 is a block diagram showing a configuration example of the prediction device 331 of FIG.
  • the prediction device 331 includes a filter information storage unit 341, a coefficient generation unit 342, a combining unit 343, a tap selection unit 351, a class classification unit 352, a coefficient acquisition unit 353, and a prediction operation unit 354.
  • the filter information storage unit 341 to the combination unit 343 and the tap selection unit 351 to the prediction calculation unit 354 are the same as the filter information storage unit 281 to the combination unit 283 and the tap selection unit 291 to the prediction calculation unit 294 in FIG.
  • processing similar to that of the prediction device 232 in FIG. 24 is performed, and thus the description thereof is omitted.
  • FIG. 31 is a flowchart illustrating an example of the decoding process of the decoding device 30 of FIG.
  • step S201 the accumulation buffer 301 temporarily accumulates the encoded bit stream transmitted from the encoding device 20 and supplies it to the lossless decoding unit 302 as appropriate, and the process proceeds to step S202.
  • step S202 the lossless decoding unit 302 receives and decodes the coded bit stream supplied from the accumulation buffer 301, and dequantizes the quantization coefficient as coded data included in the decoded result of the coded bit stream.
  • the data is supplied to the unit 303.
  • the lossless decoding unit 302 parses the decoding result of the coded bit stream, and when the decoding result of the coded bit stream includes filter information and coding information, the filter information and the coding information are obtain. Then, the lossless decoding unit 302 supplies necessary coding information to the intra prediction unit 312, the motion prediction / compensation unit 313, and other necessary blocks. Also, the lossless decoding unit 302 supplies the filter information to the ILF 306.
  • step S202 determines whether or not filter information has been supplied from the lossless decoding unit 302.
  • step S203 If it is determined in step S203 that the filter information is not supplied, the process skips step S204 and proceeds to step S205.
  • step S203 If it is determined in step S203 that the filter information is supplied, the process proceeds to step S204, and the prediction device 331 (FIG. 30) acquires the filter information from the lossless decoding unit 302. Further, the prediction device 331 further selects the error coefficient and selection information for each class stored in the filter information storage unit 341 of the prediction device 331 according to the error coefficient and selection information for each class included in the filter information from the lossless decoding unit 302 Update
  • step S204 the prediction decoding process is performed, and the decoding process ends.
  • FIG. 32 is a flowchart for explaining an example of the predictive decoding process of step S205 of FIG.
  • step S211 the inverse quantization unit 303 inversely quantizes the quantization coefficient from the lossless decoding unit 302, supplies the orthogonal transformation coefficient obtained as a result to the inverse orthogonal transformation unit 304, and the process proceeds to step S212. move on.
  • step S212 the inverse orthogonal transformation unit 304 performs inverse orthogonal transformation on the orthogonal transformation coefficient from the inverse quantization unit 303, supplies the residual obtained as a result to the operation unit 305, and the process proceeds to step S213. .
  • step S 213 the intra prediction unit 312 or the motion prediction / compensation unit 313 performs prediction using the reference image supplied from the frame memory 310 via the selection unit 311 and the encoding information supplied from the lossless decoding unit 302. Intra prediction processing or inter motion prediction processing for generating an image is performed. Then, the intra prediction unit 312 or the motion prediction / compensation unit 313 supplies the prediction image obtained by the intra prediction process or the inter motion prediction process to the selection unit 314, and the process proceeds from step S213 to step S214.
  • step S214 the selection unit 314 selects the prediction image supplied from the intra prediction unit 312 or the motion prediction / compensation unit 313, supplies the prediction image to the calculation unit 305, and the process proceeds to step S215.
  • step S215 the operation unit 305 adds the residual from the inverse orthogonal transform unit 304 and the predicted image from the selection unit 314 to generate a decoded image. Then, the arithmetic unit 305 supplies the decoded image to the ILF 306, and the process proceeds from step S215 to step S216.
  • step S216 the ILF 306 applies fine prediction as filter processing to the decoded image from the arithmetic unit 305 by class classification prediction processing, and the filter image obtained by fine prediction as the filter processing is rearranged buffer 307 and After supplying the frame memory 310, the process proceeds from step S216 to step S217.
  • step S217 the reordering buffer 307 temporarily stores the filter image supplied from the ILF 306 as a restored image. Furthermore, the rearrangement buffer 307 rearranges the stored restored images in display order and supplies the rearranged images to the D / A converter 308, and the process proceeds from step S217 to step S218.
  • step S218 the D / A conversion unit 308 D / A converts the restored image from the rearrangement buffer 307, and the process proceeds to step S219.
  • the restored image after D / A conversion is output to a display (not shown) and displayed.
  • step S219 the frame memory 310 stores the filter image supplied from the ILF 306 as a restored image, and the decoding process ends.
  • the restored image stored in the frame memory 310 is used as a reference image from which a predicted image is generated in the intra prediction processing or the inter motion prediction processing of step S213.
  • FIG. 33 is a flow chart for explaining an example of the filtering process performed in step S216 of FIG.
  • step S221 the prediction device 331 (FIG. 30) of the ILF 306 focuses on one of the pixels of the decoded image (as a block) supplied from the computing unit 305 that is not yet considered as the pixel of interest. The pixel is selected, and the process proceeds to step S222.
  • step S222 the prediction device 331 selects some of the pixels of the decoded image as prediction taps for the pixel of interest, and the process proceeds to step S223.
  • step S223 the prediction device 331 classifies the pixel of interest, and the process proceeds to step S224.
  • step S224 the prediction device 331 selects a value according to the obtainable information of the pixel of interest as the parameter z. Furthermore, the prediction device 331 is stored in the filter information storage unit 341 (FIG. 30) in step S204 (FIG. 31) among the plurality of sets of preset seed coefficients stored in the seed coefficient storage unit 332 (FIG. 29).
  • the expansion tap coefficient for each class is generated from the (adopted) preset seed coefficient represented by the latest selection information and the parameter z of a value according to the obtainable information of the target pixel, and the process proceeds from step S224 to step S225. move on.
  • step S225 the prediction device 331 combines the expansion tap coefficient and the latest error coefficient stored in the filter information storage unit 341 in step S204 (FIG. 31) to generate a combination tap coefficient for each class, The processing proceeds to step S226.
  • step S226 the prediction device 331 acquires the combined tap coefficient of the class of the pixel of interest from the combined tap coefficients of each class, and the process proceeds to step S227.
  • step S227 the filtering device 331 applies, to the decoded image, the fine prediction formula configured using the prediction tap for the target pixel and the synthesis tap coefficient of the class of the target pixel, that is, the fine prediction formula
  • the following operation (product-sum operation) is performed to obtain a filter image.
  • step S227 the process proceeds from step S227 to step S228, and the prediction device 331 determines whether or not there is any pixel that is not yet a pixel of interest among the pixels of (the block as) the decoded image from the computing unit 305 . If it is determined in step S228 that there is a pixel that is not yet a target pixel, the process returns to step S221, and the same process is repeated thereafter.
  • step S228 when it is determined in step S228 that there is no pixel not yet considered as the pixel of interest, the process proceeds to step S229, and the prediction device 331 applies to the decoded image (as a block) from the arithmetic unit 305.
  • the filter image composed of the pixel values obtained is supplied to the reordering buffer 307 and the frame memory 310 (FIG. 28). Then, the filtering process is ended and the process returns.
  • the error coefficient learning is sequentially performed in the encoding device 20 and the error coefficient obtained by the error coefficient learning is included in the filter information and transmitted, the error coefficient learning is performed.
  • the encoding device 20 and the decoding device 30 can perform not the fine prediction using an error coefficient but the preset prediction using no error coefficient as filter processing. In this case, it is not necessary to transmit the error coefficient from the encoding device 20 to the decoding device 30.
  • the preset seed coefficient that optimizes the coding efficiency is determined as the adopted preset coefficient to be adopted for the filter processing.
  • the determination of the adopted preset coefficient can be made according to other obtainable information, such as the quantization parameter QP.
  • the encoding device 20 and the decoding device 30 determine the plurality of quantization parameters QP.
  • the preset seed coefficient for the quantization parameter QP of the target pixel for example, the average value of the QP of the frame of the target pixel, etc.
  • the adopted preset coefficient since it is not necessary to transmit selection information from the encoding device 20 to the decoding device 30, encoding efficiency can be improved.
  • only one set of preset seed coefficients is stored in the encoding device 20 and the decoding device 30 instead of a plurality of sets, and the filtering process is performed using the one set of preset seed coefficients in a fixed manner. it can. In this case, since it is not necessary to transmit selection information from the encoding device 20 to the decoding device 30, encoding efficiency can be improved.
  • FIG. 34 is a block diagram showing an example of a configuration of an embodiment of a computer in which a program for executing the series of processes described above is installed.
  • the program can be recorded in advance in a hard disk 405 or ROM 403 as a recording medium built in the computer.
  • the program can be stored (recorded) in the removable recording medium 411.
  • Such removable recording medium 411 can be provided as so-called package software.
  • examples of the removable recording medium 411 include a flexible disc, a compact disc read only memory (CD-ROM), a magneto optical disc (MO), a digital versatile disc (DVD), a magnetic disc, a semiconductor memory, and the like.
  • the program may be installed on the computer from the removable recording medium 411 as described above, or may be downloaded to the computer via a communication network or a broadcast network and installed on the built-in hard disk 405. That is, for example, the program is wirelessly transferred from the download site to the computer via an artificial satellite for digital satellite broadcasting, or transferred to the computer via a network such as a LAN (Local Area Network) or the Internet. be able to.
  • a network such as a LAN (Local Area Network) or the Internet.
  • the computer incorporates a CPU (Central Processing Unit) 402, and an input / output interface 410 is connected to the CPU 402 via a bus 401.
  • a CPU Central Processing Unit
  • an input / output interface 410 is connected to the CPU 402 via a bus 401.
  • the CPU 402 executes a program stored in a ROM (Read Only Memory) 403 accordingly. .
  • the CPU 402 loads a program stored in the hard disk 405 into a random access memory (RAM) 404 and executes the program.
  • RAM random access memory
  • the CPU 402 performs the processing according to the above-described flowchart or the processing performed by the configuration of the above-described block diagram. Then, the CPU 402 causes the processing result to be output from the output unit 406, transmitted from the communication unit 408, or recorded on the hard disk 405, for example, through the input / output interface 410, as necessary.
  • the input unit 407 includes a keyboard, a mouse, a microphone, and the like. Further, the output unit 406 is configured by an LCD (Liquid Crystal Display), a speaker, and the like.
  • LCD Liquid Crystal Display
  • the processing performed by the computer according to the program does not necessarily have to be performed chronologically in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or separately (for example, parallel processing or processing by an object).
  • the program may be processed by one computer (processor) or may be distributed and processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer for execution.
  • the system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same housing or not. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • a decoding unit that decodes encoded data included in the encoded bit stream using a filter image to generate a decoded image;
  • the decoded image generated by the decoding unit is configured using a seed coefficient and a parameter that approximates the tap coefficient that forms a prediction formula for performing product-sum operation of a predetermined tap coefficient and a pixel of the decoded image.
  • a filtering unit that applies the prediction equation configured using the expansion tap coefficient that is the tap coefficient obtained from the coefficient prediction equation to be processed, and generates a filter image.
  • the filter unit performs the filtering process using the prediction equation configured using the expansion tap coefficient obtained using the value corresponding to the obtainable information that can be obtained from the encoded bit stream as the parameter.
  • the decoding apparatus uses the prediction equation configured using the expansion tap coefficient obtained from the coefficient prediction equation configured using a set of seed coefficients selected from a plurality of sets of seed coefficients.
  • the decoding apparatus according to any one of ⁇ 1> to ⁇ 3>, which performs the filtering process.
  • the filter unit is configured to use the set of coefficient coefficients selected from a plurality of sets of seed coefficients according to the obtainable information that can be acquired from the encoded bit stream.
  • the decoding apparatus according to ⁇ 4>, wherein the filtering process is performed using the prediction equation configured using a tap coefficient.
  • a parsing unit configured to parse selection information representing the set of seed coefficients selected from the plurality of sets of seed coefficients included in the coded bit stream.
  • the expansion tap coefficient obtained from the coefficient prediction equation configured by using the set of seed coefficients selected from a plurality of sets of seed coefficients according to the selection information parsed by the purse unit.
  • a preset prediction error which is an error of a predicted value of an original image with respect to the decoded image obtained by a preset prediction which performs calculation of a preset prediction equation which is the prediction equation having the product of the expansion tap coefficient and the pixel of the decoded image as a term
  • a perspective unit configured to parse an error coefficient, which is the tap coefficient of the error prediction equation, which is the prediction equation that predicts
  • the filter unit performs the filter process using a fine prediction equation, which is the prediction equation configured using a combination tap coefficient obtained by combining the error coefficient parsed by the perspective unit and the expansion tap coefficient.
  • a parsing unit configured to parse the parameter used when determining the expansion tap coefficient included in the encoded bit stream
  • the filter unit is configured to use the prediction equation configured using the expansion tap coefficient obtained from a coefficient prediction equation configured using the parameter parsed by the perspective unit and the seed coefficient.
  • the decoding device which performs processing.
  • the filter unit is Class classification is performed to classify a target pixel among the pixels of the decoded image into any one of a plurality of classes, The filtering process is performed on the decoded image using the prediction formula configured using the expansion tap coefficient obtained from the seed coefficient of the class of the pixel of interest among the seed coefficients of each class.
  • the decoding apparatus according to any one of ⁇ 1> to ⁇ 8>.
  • the decoding unit decodes the encoded data using a quad-tree block structure or a coding unit (CU) of a quad tree plus binary tree (QTBT) block structure as a processing unit.
  • a quad-tree block structure or a coding unit (CU) of a quad tree plus binary tree (QTBT) block structure as a processing unit.
  • CU coding unit
  • QTBT binary tree
  • Decoding device described in. ⁇ 11> Decoding the encoded data included in the encoded bit stream using the filter image to generate a decoded image; Calculated from a coefficient prediction equation constructed using a seed coefficient and a parameter, which approximates the tap coefficient constituting a prediction equation for performing product-sum operation of a predetermined tap coefficient and a pixel of the decoded image on the decoded image And D.
  • the above-mentioned tap coefficient which constitutes a prediction equation for performing a product-sum operation with a predetermined tap coefficient and a pixel of a locally decoded image, which is approximated from the tap coefficient, is obtained from a coefficient prediction equation constructed using seed coefficients and parameters.
  • An encoding unit that encodes an original image using the filter image generated by the filter unit.
  • the filter unit uses the expansion tap coefficient obtained using, as the parameter, a value according to obtainable information that can be obtained from a coded bit stream including coded data obtained by coding the original image.
  • the filter unit uses the prediction equation configured using the expansion tap coefficient obtained from the coefficient prediction equation configured using a set of seed coefficients selected from a plurality of sets of seed coefficients.
  • the filter unit is a set of seed coefficients selected from a plurality of sets of the seed coefficients according to obtainable information that can be acquired from a coded bit stream including coded data obtained by coding the original image.
  • the encoding device according to ⁇ 15>, wherein the filtering process is performed using the prediction equation configured using the expansion tap coefficient obtained from the coefficient prediction equation configured using ⁇ 17>
  • the encoding unit generates an encoded bit stream including encoded data obtained by encoding the original image and selection information representing a set of the seed coefficients selected from the plurality of sets of the seed coefficients.
  • the filter unit is The preset prediction error which is an error of the predicted value of the original image obtained by the preset prediction which performs the calculation of the preset prediction equation which is the prediction equation having the product of the expansion tap coefficient and the pixel of the decoded image as a term is predicted.
  • An error coefficient which is the tap coefficient of the error prediction equation which is the prediction equation;
  • the filter process is performed using a fine prediction equation, which is the prediction equation configured using a combination tap coefficient obtained by combining the expansion tap coefficient and
  • the encoding unit generates an encoded bit stream including encoded data obtained by encoding the original image and the error coefficient. Encoding according to any one of ⁇ 12> to ⁇ 17> apparatus.
  • the encoding unit generates an encoded bit stream including encoded data obtained by encoding the original image and the parameter used when determining the expansion tap coefficient.
  • Device. ⁇ 20> The filter unit is Class classification is performed to classify a target pixel among the pixels of the decoded image into any one of a plurality of classes, The filtering process is performed using the prediction equation configured using the expansion tap coefficient obtained from the seed coefficient of the class of the pixel of interest among the seed coefficients of each class. ⁇ 12> to ⁇ 19 The encoding device according to any one of the above.
  • the encoding unit encodes the original image using a quad-tree block structure or a coding unit (CU) of a quad tree plus binary tree (QTBT) block structure as a processing unit ⁇ 12> to ⁇ 20>
  • the encoding device according to any one.
  • the above-mentioned tap coefficient which constitutes a prediction equation for performing a product-sum operation with a predetermined tap coefficient and a pixel of a locally decoded image, which is approximated from the tap coefficient, is obtained from a coefficient prediction equation constructed using seed coefficients and parameters. Performing a filtering process of applying the prediction equation configured using a development tap coefficient, which is a tap coefficient, to the decoded image to generate a filter image; Encoding the original image using the filtered image.

Abstract

本技術は、装置の規模を抑制することができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。 符号化装置は、予測式を構成するタップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められるタップ係数である展開タップ係数を用いて構成される予測式を、復号画像に適用するフィルタ処理を行い、フィルタ画像を生成する。さらに、符号化装置は、フィルタ画像を用いて、元画像を符号化する。復号装置は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する。さらに、復号装置は、復号画像に、係数予測式から求められる展開タップ係数を用いて構成される予測式を適用するフィルタ処理を行い、フィルタ画像を生成する。本技術は、画像の符号化及び復号を行う場合に適用することができる。

Description

符号化装置、符号化方法、復号装置、及び、復号方法
 本技術は、符号化装置、符号化方法、復号装置、及び、復号方法に関し、特に、例えば、装置の規模を抑制することができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。
 HEVC(High Efficiency Video Coding)の後継規格としてFVC(Future Video Coding)の標準化の開始に向けた作業が進められており、画像の符号化及び復号に用いるILF(In Loop Filter)として、デブロッキングフィルタ、適応オフセットフィルタに加えて、バイラテラルフィルタ(Bilateral Filter)、ALF(Adaptive Loop Filter)が検討されている(例えば、非特許文献1を参照)。
 また、既存のALFの改善するフィルタとして、GALF(Geometry Adaptive Loop Filter)が提案されている(例えば、非特許文献2を参照)。
Algorithm description of Joint Exploration Test Model 7 (JEM7), 2017-08-19 Marta Karczewicz, Li Zhang, Wei-Jung Chien, Xiang Li, "Geometry transformation-based adaptive in-loop filter", IEEE Picture Coding Symposium (PCS), 2016.
 現在提案されているALFには、例えば、25クラスのそれぞれについて、16セット(パターン)の係数がプリセットされるため、それだけの係数を記憶する記憶容量が必要である。
 一方、近年においては、係数を記憶する記憶容量を抑制し、ひいては、装置の規模を抑制することが要請されている。
 本技術は、このような状況に鑑みてなされたものであり、装置の規模を抑制することができるようにするものである。
 本技術の復号装置は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部とを備える復号装置である。
 本技術の復号方法は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することとを含む復号方法である。
 本技術の復号装置及び復号方法においては、符号化ビットストリームに含まれる符号化データが、フィルタ画像を用いて復号され、復号画像が生成される。そして、前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を適用するフィルタ処理が行われ、前記フィルタ画像が生成される。
 本技術の符号化装置は、所定のタップ係数と局所復号された復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を、前記復号画像に適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部とを備える符号化装置である。
 本技術の符号化方法は、所定のタップ係数と局所復号された復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を、前記復号画像に適用するフィルタ処理を行い、フィルタ画像を生成することと、前記フィルタ画像を用いて、元画像を符号化することとを含む符号化方法である。
 本技術の符号化装置及び符号化方法においては、所定のタップ係数と局所復号された復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を、前記復号画像に適用するフィルタ処理が行われ、フィルタ画像が生成される。そして、前記フィルタ画像を用いて、元画像が符号化される。
 なお、符号化装置や復号装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 また、符号化装置や復号装置は、コンピュータにプログラムを実行させることにより実現することができる。プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 本技術によれば、装置の規模を抑制することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
予測式を用いて、符号化されて復号された復号画像から、その復号画像に対する元画像を予測する予測処理としてのフィルタ処理の例を説明する図である。 符号化装置及び復号装置においてフィルタ処理を行うフィルタ部の構成例の概要を示すブロック図である。 符号化装置のフィルタ部10の処理を説明する図である。 復号装置のフィルタ部10の処理を説明する図である。 符号化装置から復号装置に対して、選択情報及びパラメータzのそれぞれが伝送されるケースと伝送されないケースとを説明する図である。 高次予測式を用いて、復号画像から、その復号画像に対する元画像を予測する予測処理としてのフィルタ処理の例を説明する図である。 高次予測式を用いたフィルタ処理を説明する図である。 量子化パラメータQPと復号画像の定量画質との関係を説明する図である。 本技術を適用した画像処理システムの一実施の形態の概要を示すブロック図である。 学習装置40の構成例の概要を示すブロック図である。 フィルタ部24及び33の構成例の概要を示すブロック図である。 学習装置40の学習処理の概要を説明するフローチャートである。 符号化装置20の符号化処理の概要を説明するフローチャートである。 復号装置30の復号処理の概要を説明するフローチャートである。 クラス分類予測処理を行う予測装置の第1の構成例を示すブロック図である。 係数取得部103に記憶されるタップ係数の学習を行う学習装置の構成例を示すブロック図である。 学習部113の構成例を示すブロック図である。 クラス分類予測処理を行う予測装置の第2の構成例を示すブロック図である。 係数取得部131に記憶される種係数を求める学習を行う学習装置の構成例を示すブロック図である。 学習部143の構成例を示すブロック図である。 符号化装置20の詳細な構成例を示すブロック図である。 ILF211の構成例を示すブロック図である。 学習装置231の構成例を示すブロック図である。 予測装置232の構成例を示すブロック図である。 符号化装置20の符号化処理の例を説明するフローチャートである。 予測符号化処理の例を説明するフローチャートである。 フィルタ処理の例を説明するフローチャートである。 復号装置30の詳細な構成例を示すブロック図である。 ILF306の構成例を示すブロック図である。 予測装置331の構成例を示すブロック図である。 復号装置30の復号処理の例を説明するフローチャートである。 予測復号処理の例を説明するフローチャートである。 フィルタ処理の例を説明するフローチャートである。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 <技術内容・技術用語をサポートする文献等>
 本願で開示される範囲は、本明細書及び図面に記載されている内容だけではなく、出願当時において公知となっている以下の文献に記載されている内容も含まれる。
 文献1:AVC規格書("Advanced video coding for generic audiovisual services", ITU-T H.264(04/2017))
 文献2:HEVC規格書("High efficiency video coding", ITU-T H.265(12/2016))
 文献3:FVC アルゴリズム解説書(Algorithm description of Joint Exploration Test Model 7 (JEM7), 2017-08-19)
 つまり、上述の文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、文献1に記載されているQuad-Tree Block Structure、文献3に記載されているQTBT(Quad Tree Plus Binary Tree)やBlock Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
 また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の文献1ないし3に記載のTB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding Tree Block)、CTU(Coding Tree Unit)、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
 また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
 <定義>
 本願では、以下の用語を、以下のように定義する。
 予測式とは、第1のデータから第2のデータを予測する多項式である。第1のデータ及び第2のデータが、例えば、画像(データ)である場合、予測式は、第1の画像から第2の画像を予測する多項式となる。かかる多項式である予測式の各項は、1個のタップ係数と1個以上の予測タップとの積で構成され、したがって、予測式は、タップ係数と予測タップとの積和演算を行う式である。第1の画像の画素のうちの予測に用いるi番目の画素(予想タップ)(の画素値)をxiと、i番目のタップ係数をwiと、第2の画像の画素(の画素値の予測値)をy'と、それぞれ表すとともに、予測式として、1次項のみからなる多項式を採用することとすると、予測式は、式y'=Σwixiで表される。式y'=Σwixiにおいて、Σは、iについてのサメーションを表す。予測式を構成するタップ係数wiは、予測式により得られる値y'の、真値yとの誤差y'-yを統計的に最小にする学習により求められる。タップ係数を求める学習の方法としては、最小自乗法がある。タップ係数を求める学習では、予測式が適用される第1の画像に相当する、学習の生徒となる生徒データ(予測式への入力xi)としての生徒画像と、第1の画像に予測式を適用した結果として得たい第2の画像に相当する、学習の教師となる教師データ(予測式の演算により求められる予測値の真値y)としての教師画像とを用いて、正規方程式を構成する各項の足し込みを行うことにより、正規方程式が求められ、その正規方程式を解くことにより、タップ係数が求められる。
 予測処理とは、第1の画像に、予測式を適用して、第2の画像を予測する処理であり、本技術では、予測処理において、第1の画像の画素(の画素値)を用いて、予測式の積和演算を行うことにより、第2の画像の予測値が求められる。第1の画像を用いて積和演算を行うことは、第1の画像にフィルタをかけるフィルタ処理ということができ、第1の画像を用いて、予測式の積和演算を行う予測処理は、フィルタ処理の一種であるということができる。
 フィルタ画像とは、フィルタ処理の結果得られる画像を意味する。予測処理としてのフィルタ処理により、第1の画像から得られる第2の画像(の予測値)は、フィルタ画像である。
 タップ係数とは、予測式である多項式の各項を構成する係数であり、ディジタルフィルタのタップにおいて、フィルタリングの対象の信号に乗算されるフィルタ係数に相当する。
 予測タップとは、予測式の演算に用いられる画素(の画素値)であり、予測式において、タップ係数と乗算される。
 タップ係数のボリューム化とは、予測式を構成するタップ係数を多項式で近似すること、すなわち、その多項式を構成する係数(種係数)を求めることを意味する。
 係数予測式とは、ボリューム化において、タップ係数wを近似する多項式である。係数予測式は、種係数βmとパラメータzとを用いた項で構成され、例えば、式w=Σβmzm-1で表される。式w=Σβmzm-1において、Σは、mについてのサメーションを表し、種係数βmは、係数予測式のm番目の係数を表す。なお、i番目のタップ係数wiを求める係数予測式のm番目の種係数を、βm,iと表すとき、i番目のタップ係数wiを求める係数予測式は、式wi=Σβm,izm-1で表される。
 種係数とは、ボリューム化に用いられる係数予測式の係数を意味する。種係数は、タップ係数を求める学習と同様の学習により求めることができる。
 ここで、タップ係数のボリューム化では、複数セットのタップ係数が1セットの種係数にまとめられるので、複数セットのタップ係数のデータ量を、1セットの種係数のデータ量に圧縮することができる。いま、フィルタ処理に用いられるある1セットのタップ係数を並べて、それらのタップ係数の値をプロットした点を結んだ形状を、フィルタ形状ということとする。ボリューム化では、1セットの種係数にまとめようとする複数セットのタップ係数それぞれのフィルタ形状が似ているほど、適切なボリューム化を行うこと、すなわち、誤差の少ないタップ係数を求めることができる種係数を得ることができる。
 展開タップ係数とは、係数予測式から求められる予測式のタップ係数、すなわち、種係数βmとパラメータzとを用いた係数予測式の演算により求められるタップ係数である。種係数を求めるボリューム化では、複数セットのタップ係数が1セットの種係数にまとめられる(圧縮される)ので、逆に、種係数からタップ係数を求めることは、種係数からタップ係数への展開ということができ、かかる観点から、種係数を用いた係数予測式から求められるタップ係数を、展開タップ係数という。
 プリセット予測式とは、展開タップ係数と1以上の予測タップ(としての画素)との積(のみ)を項として有する予測式であり、第1の画像から第2の画像を予測する予測式である。
 プリセット予測とは、第1の画像を用いてプリセット予測式の演算を行い、第2の画像を予測すること、すなわち、第2の画像の予測値を求めることを意味する。
 プリセット予測値とは、第1の画像を用いてプリセット予測式の演算を行うことにより求められる第2の画像の予測値である。
 プリセット予測誤差とは、プリセット予測により得られる第2の画像の予測値の、真値(第2の画像)との予測誤差である。
 誤差予測式とは、プリセット予測誤差を予測する予測式であり、第1の画像とタップ係数としての誤差係数とを用いて構成される。
 誤差係数とは、誤差予測式のタップ係数である。
 ファイン予測式とは、合成タップ係数と予測タップとを用いて構成される予測式であり、第1の画像から第2の画像を予測する予測式である。
 合成タップ係数とは、展開タップ係数と誤差係数とを合成(加算)して得られるタップ係数である。
 ファイン予測とは、第1の画像を用いてファイン予測式の演算を行い、第2の画像を予測すること、すなわち、第2の画像の予測値を求めることを意味する。
 ファイン予測値とは、第1の画像を用いてファイン予測式の演算を行うことにより求められる第2の画像の予測値である。
 ここで、プリセット予測式を構成するN個の展開タップ係数を、wp(1), wp(2),..., wp(N)と表し、誤差予測式を構成するN個の誤差係数を、wd(1), wd(2),..., wd(N)と表す。また、プリセット予測により求められるプリセット予測値(第2の画像の予測値)を、y''と表し、ファイン予測により求められるファイン予測値(第2の画像の予測値)を、y'と表す。さらに、誤差予測式の演算により求められるプリセット予測誤差の予測値を、Δy''と表し、ファイン予測式、プリセット予測式、及び、誤差予測式のN個の予測タップ(第1の画像の画素(の画素値))を、x(1), x(2),..., x(N)と表す。また、nを1からNまでの整数に変えてのサメーションを、Σで表すこととする。
 この場合、プリセット予測式は、例えば、式y''=Σwp(n)x(n)で表され、誤差予測式は、例えば、式Δy''=Σwd(n)x(n)で表される。さらに、ファイン予測式は、例えば、式y'=Σ(wp(n)+wd(n))x(n)で表される。
 プリセット予測値y''は、第2の画像の真値yに対して、プリセット予測誤差y-y''だけの誤差を有する。したがって、プリセット予測値y''に、プリセット予測誤差y-y''の予測値Δy''を加算することにより、プリセット予測値y''よりも第2の画像の真値yに近い(正確性のある)第2の画像の予測値を求めることができる。
 プリセット予測値y''と、プリセット予測誤差の予測値Δy''とを加算した加算値y''+Δy'は、式y''+Δy''=Σwp(n)x(n)+Σwd(n)x(n)=Σ(wp(n)+wd(n))x(n)で表され、ファイン予測値y'=Σ(wp(n)+wd(n))x(n)に等しい。
 したがって、ファイン予測によれば、プリセット予測値y''よりも第2の画像の真値yに近い(正確性のある)第2の画像の予測値y'を求めることができる。
 なお、ファイン予測式y'=Σ(wp(n)+wd(n))x(n)において、展開タップ係数wp(n)と誤差係数wd(n)との加算値wp(n)+wd(n)が、合成タップ係数である。
 符号化データとは、画像を符号化することにより得られるデータであり、例えば、画像(の残差)を直交変換して量子化することにより得られるデータである。
 符号化ビットストリームとは、符号化データを含むビットストリームであり、必要に応じて、符号化に関する符号化情報を含む。符号化情報には、符号化データを復号するのに必要な情報、すなわち、例えば、符号化で量子化が行われている場合の量子化パラメータQPや、符号化で予測符号化(動き補償)が行われている場合の動きベクトル等が、少なくとも含まれる。
 取得可能情報とは、符号化ビットストリームから取得可能な情報である。したがって、取得可能情報は、画像を符号化し、符号化ビットストリームを生成する符号化装置、及び、符号化ビットストリームを画像に復号する復号装置のいずれでも取得可能な情報でもある。取得可能情報には、例えば、符号化ビットストリームに含められる符号化情報や、符号化ビットストリームに含まれる符号化データを復号することにより得られる画像の画像特徴量がある。
 図1は、予測式を用いて、符号化されて復号(局所復号を含む)された復号画像から、その復号画像に対する元画像を予測する予測処理としてのフィルタ処理の例を説明する図である。
 復号画像から、その復号画像に対する元画像を予測する予測処理としてのフィルタ処理に用いられる予測式は、例えば、図1のAに示すように、式y=Σwnxnで表される。予測式y=Σwnxnにおいて、yは、復号画像の注目画素に対応する元画像の対応画素(の画素値の予測値)を表し、Σは、nを1からNまでの整数に変えてのサメーションを表す。また、wnは、n番目のタップ係数を表し、xnは、注目画素についてn番目の予測タップとして選択される復号画像の画素(の画素値)を表す。Nは、予測式y=Σwnxnを構成するタップ係数wn(及び予測タップxn)の数を表す。
 なお、復号画像から、その復号画像に対する元画像を予測するフィルタ処理に用いられる予測式としては、式y=Σwnxnで示される、画素(予測タップ)xnが1次の多項式の他、画素xnが2次以上の高次の多項式である高次予測式を採用することができる。但し、ここでは、説明を簡単にするため、特に断らない限り、予測式としては、画素xnが1次の多項式である1次予測式を採用することとする。
 ALFでは、複数セットのタップ係数がプリセットされる。例えば、非特許文献2に記載のGALFでは、25クラスのそれぞれについて、16セットのタップ係数がプリセットされる。ここで、例えば、画像を符号化する符号化装置、及び、画像を復号する復号装置にプリセットされるタップ係数を、以下、プリセットタップ係数ともいう。
 プリセットタップ係数のセット数が増えるほど、プリセットタップ係数のデータ量が増加し、そのプリセットタップ係数を記憶する記憶容量が大になって、符号化装置や復号装置の規模が大になる。
 そこで、本技術のILFでは、タップ係数のボリューム化を行い、そのボリューム化により得られる種係数を、符号化装置や復号装置にプリセットすることで、プリセットタップ係数を記憶する記憶容量よりも、種係数を記憶する記憶容量を抑制し、ひいては、符号化装置や復号装置の規模を抑制する。
 ボリューム化において、タップ係数wnを求める(近似する)係数予測式は、例えば、図1のAに示すように、式wn=Σβm,nzm-1で表される。ここで、係数予測式wn=Σβm,nzm-1において、wnは、n番目のタップ係数を表し、Σは、mを1からMまでの整数に変えてのサメーションを表す。βm,nは、n番目のタップ係数wnを求める係数予測式のm番目の種係数を表し、zは、種係数βm,nを用いて、タップ係数wnを求めるのに用いられるパラメータ(ボリューム)を表す。係数予測式によれば、様々なパラメータzを与えることにより、種係数βm,nから、様々な性質(画質、動き量、シーン等)の復号画像に適したタップ係数wn(様々な性質の復号画像について、元画像との誤差が少ないフィルタ画像を生成することができるタップ係数wn)を得ることができる。
 本技術のILFでは、種係数βm,nがプリセットされ、その種係数βm,nから、係数予測式wn=Σβm,nzm-1を用いて求められる(生成される)タップ係数wnを用いて構成される予測式を、復号画像に適用するフィルタ処理が行われる。
 係数予測式wn=Σβm,nzm-1によれば、1個のタップ係数wnは、図1のBに示すように、M個の種係数β1,n,β2,n,...,βM,nを用いて生成される。したがって、タップ係数wnを求める種係数β1,n,β2,n,...,βM,nの数Mを、プリセットタップ係数のセット数Pより小さく設定することにより、プリセットタップ係数を記憶する記憶容量よりも、種係数を記憶する記憶容量を抑制し、ひいては、符号化装置や復号装置の規模を抑制することができる。
 なお、Pセットのプリセットタップ係数のボリューム化を行い、種係数を求めた場合には、その種係数によれば、Pセットのプリセットタップ係数と(ほぼ)同様のタップ係数(プリセットタップ係数の予測値)を生成することができる。さらに、Pセットのプリセットタップ係数のボリューム化により得られた種係数によれば、Pセットのプリセットタップ係数のうちの2セットのプリセットタップ係数の間を内挿するようなタップ係数や外挿するようなタップ係数を生成することができる。したがって、Pセットのプリセットタップ係数のボリューム化により得られた種係数によれば、Pセットのプリセットタップ係数のいずれのセットよりも復号画像に適したタップ係数を生成し得る。
 したがって、Pセットのプリセットタップ係数のボリューム化により得られた種係数によれば、Pセットのプリセットタップ係数よりも少ないデータ量で、Pセットのプリセットタップ係数よりも広範囲の性質の復号画像の画質を改善するフィルタ処理を行うこと、すなわち、Pセットのプリセットタップ係数よりも広範囲の性質の復号画像について、元画像との誤差が少ないフィルタ画像を生成することができる。
 ここで、プリセットタップ係数のボリューム化について説明する。
 複数セットのプリセットタップ係数については、セットどうしの間のプリセットタップ係数の値の変化が段階的(連続的)になっている場合には、その複数セットのプリセットタップ係数を1つのグループとして、そのグループの複数セットのプリセットタップ係数のボリューム化を行うことにより、そのグループの複数セットのプリセットタップ係数のいずれのセットをも比較的精度良く予測する係数予測式の種係数の1セットを求めることができる。
 また、所定のALFに用いられる複数セットのプリセットタップ係数のように、セットどうしの間のプリセットタップ係数の値の変化が段階的になっているセットと段階的になっていないセットとが混在する場合には、プリセットタップ係数の値の変化が段階的になっているセットどうしを集めることにより、複数のグループにグループ分けすることができる。このような複数セットのプリセットタップ係数については、プリセットタップ係数の値の変化が段階的になっているセットどうしのグループにグループ化し、そのグループ化により得られる複数のグループそれぞれについて、そのグループの複数セットのプリセットタップ係数のボリューム化を行うことにより、そのグループの複数セットのプリセットタップ係数のいずれのセットをも比較的精度良く予測する係数予測式の種係数のセットを求めることができる。この場合、グループ数に等しい数のセット数の種係数のセットが求められる。
 なお、所定のALFに用いられる複数セットのプリセットタップ係数については、その複数セットすべてのプリセットタップ係数を1つのグループとして、ボリューム化により、1セットの種係数を求めることができる。
 但し、プリセットタップ係数の値の変化が段階的になっているセットと段階的になっていないセットとが混在した1グループに対して、1セットの種係数を求めるボリューム化を行う場合には、プリセットタップ係数の値の変化が段階的になっているセットどうしを集めたグループごとに、種係数のセットを求めるボリューム化を行う場合に比較して、種係数のセットを用いて構成される係数予測式から予測されるタップ係数の精度が低下することがある。
 次に、係数予測式のパラメータzの生成の例を説明する。
 パラメータzは、例えば、符号化ビットストリームから取得可能な取得可能情報を用いて生成することができる。
 取得可能情報には、例えば、符号化ビットストリームに含まれる量子化パラメータQP等の符号化情報や、符号化ビットストリームに含まれる符号化データを復号することにより得られる復号画像の画像特徴量がある。
 パラメータz(の値)としては、符号化情報に応じた値や、復号画像の画像特徴量に応じた値を採用することができる。
 例えば、復号画像の注目画素の(ブロック(CU等)の)量子化パラメータQPや、注目画素のフレームの量子化パラメータQPの平均値、注目画素のフレームの画素のうちの、注目画素のクラスにクラス分類される画素(のブロック)の量子化パラメータQPの平均値を、変数QPとして、その変数QPを、パラメータzとして採用すること(z=QP)や、変数QPを引数とする関数f(QP)の関数値を、パラメータzとして採用すること(z=f(QP))ができる。
 また、例えば、復号画像の注目画素Iの画像特徴量(例えば、注目画素Iの動き量)や、注目画素Iを含む局所領域の画像特徴量(例えば、局所領域の動き量)、注目画素Iのフレーム全体の画像特徴量(全画面動きの動き量)を、変数q(I)として、その変数q(I)を引数とする関数f(q(I))の関数値を、パラメータzとして採用すること(z=f(q(I)))ができる。
 さらに、変数QP及びq(I)のうちの一方の他、その両方を引数とする関数f(QP, q(I))の関数値を、パラメータzとして採用すること(z=f(QP, q(I)))ができる。
 ここで、取得可能情報は、符号化装置では勿論、復号装置でも、符号化ビットストリームから得ることができる。したがって、パラメータz(の値)として、取得可能情報に応じた値を採用する場合には、符号化装置から復号装置に対して、パラメータzを伝送する必要がない。
 また、パラメータzは、取得可能情報に応じて生成する他、元画像に応じて生成することができる。例えば、元画像の画像特徴量に応じた値や、元画像を用いて求められる復号画像のPSNR等に応じた値等を、パラメータzとして採用することができる。但し、元画像は、復号装置で得ることができないため、パラメータzを、元画像に応じて生成する場合には、例えば、その元画像に応じて生成したパラメータzを、符号化ビットストリームに含めること等によって、符号化装置から復号装置に伝送する必要がある。
 なお、種係数をプリセットしておき、その種係数とパラメータzとから求められるタップ係数を用いてフィルタ処理を行う場合には、パラメータzとして、例えば、画像の解像度に応じた値や、画像のノイズ強度に応じた値等を採用することができる。この場合、パラメータzは、ユーザが指定したパラメータzに応じた解像度のフィルタ画像が得られるようなタップ係数、あるいは、ユーザが指定したパラメータzに応じたノイズ強度のノイズリダクションを行うようなタップ係数が生成され、フィルタ処理が行われる。したがって、そのようなタップ係数が得られる種係数が学習により求められてプリセットされる。
 図2は、符号化装置及び復号装置においてフィルタ処理を行うフィルタ部の構成例の概要を示すブロック図である。
 図2において、フィルタ部10は、DB11、クラス分類部12、及び、予測部13を有する。
 DB11は、学習を行うことによりあらかじめ求められたクラスごとの種係数のセットを1セット以上記憶している。すなわち、DB11には、1セット以上の種係数がプリセットされている。
 クラス分類部12には、復号画像が供給される。クラス分類部12は、そこに供給される復号画像の画素を、順次、注目画素に選択し、注目画素を、複数のクラスのうちのいずれかのクラスにクラス分類する。クラス分類部12は、クラス分類により得られる注目画素のクラスを、予測部13に供給する。
 予測部13には、クラス分類部12から注目画素のクラスが供給される他、復号画像が供給される。予測部13は、DB11に記憶されたクラスごとの種係数を用いて構成される係数予測式から、クラスごとの展開タップ係数を求める(展開する)。さらに、予測部13は、復号画像に、展開タップ係数を用いて構成される予測式を適用するフィルタ処理を行い、フィルタ画像を生成して出力する。
 すなわち、予測部13は、注目画素について、復号画像の画素から予測タップ(としての画素)を選択する。そして、予測部13は、クラスごとの展開タップ係数のうちの注目画素のクラスの展開タップ係数を用いて構成される予測式を、注目画素についての予測タップを用いて演算し、注目画素に対応するフィルタ画像の対応画素(の画素値)、すなわち、注目画素に対応する元画像の対応画素(の画素値)の予測値を求める。
 なお、DB11に、複数セットの種係数が記憶されている場合、符号化装置のフィルタ部10において、予測部13は、複数セットの種係数のうちの1セットの種係数を、フィルタ処理に採用する採用種係数として選択し、その採用種係数を用いて、展開タップ係数を求める。
 複数セットの種係数からの、採用種係数の選択では、例えば、複数セット種係数のうちの、符号化効率(例えば、RD(Rate-Distortion)コスト等)を最良にする種係数のセットを、採用種係数として選択することができる。この場合、符号化装置は、採用種係数(の選択)を表す選択情報を、例えば、符号化ビットストリームに含めて、復号装置に伝送する。復号装置のフィルタ部10では、選択情報が表す(採用)種係数を用いて、展開タップ係数が求められる。
 その他、複数セットの種係数からの、採用種係数の選択では、例えば、複数セットの種係数それぞれと、その種係数を用いたフィルタ処理を行った場合に符号化効率が良い復号画像についての取得可能情報とを対応付けておくことができる。この場合、符号化装置及び復号装置では、複数セットの種係数のうちの、フィルタ処理の対象の復号画像についての取得可能情報に対応付けられている種係数が、採用種係数に選択され、その採用種係数を用いて、展開タップ係数が求められる。したがって、この場合、符号化装置から復号装置に対して、選択情報を伝送する必要はない。
 ここで、以下では、説明を簡単にするため、クラスについては、適宜説明を省略する。
 図3は、符号化装置のフィルタ部10の処理を説明する図である。
 符号化装置については、元画像(の画素の画素値)yを予測する予測式のタップ係数wpを近似する係数予測式を構成する種係数が、学習によりあらかじめ求められ、プリセットされている。
 符号化装置は、復号画像の画素を、順次、注目画素に選択し、注目画素について、以下の処理を行う。
 すなわち、符号化装置は、プリセットされている種係数(プリセット種係数)から、係数予測式に従って展開タップ係数wpを求める。
 ここで、wpは、正確には、展開タップ係数を要素とする行ベクトルを表す。
 符号化装置は、展開タップ係数wpを用いて構成されるプリセット予測式y''=wpxの演算を、注目画素についてのタップ係数(としての画素の画素値)xを用いて行い、元画像のプリセット予測値y''を求めるプリセット予測を行う。
 ここで、xは、正確には、予測タップを要素とする列ベクトルを表す。行ベクトルwpの列数と、列ベクトルxの行数とは、同一である。
 符号化装置は、プリセット予測値y''の、元画像(真値)yとの誤差であるプリセット予測誤差Δy=y-y''を求める。そして、符号化装置は、プリセット予測誤差Δyを予測する誤差予測式のタップ係数である誤差係数wdを求める学習(以下、誤差係数学習ともいう)の教師となる教師データとして、プリセット予測誤差Δyを用いるとともに、誤差係数学習の生徒となる生徒データとして、復号画像(予測タップ)xを用いて、誤差係数学習を行う。
 ここで、wdは、正確には、誤差係数を要素とする行ベクトルを表す。行ベクトルwdの列数は、行ベクトルwpの列数と同一である。
 符号化装置は、展開タップ係数wpと誤差係数wdとを合成(加算)して、合成タップ係数wp+wdを生成する。さらに、符号化装置は、合成タップ係数wp+wdを用いて構成されるファイン予測式y'=(wp+wd)xの演算を、注目画素についてのタップ係数xを用いて行い、元画像のファイン予測値y'を求めるファイン予測を行う。
 符号化装置は、ファイン予測値y'(で構成される画像)を、フィルタ画像として出力する。
 ここで、ファイン予測値y'は、<定義>で説明したように、プリセット予測値y''に、プリセット予測誤差の予測値Δy''を加算した値y''+Δy''=wpx+wdxに等しく、プリセット予測値y''よりも元画像(の真値)yに近い(正確性のある)値である。
 符号化装置では、例えば、フレーム単位で、誤差係数学習が行われ、ファイン予測(の合成タップ係数wp+wdの生成)に用いられた誤差係数wdが、例えば、符号化ビットストリームに含められ、復号装置に伝送される。
 なお、符号化装置に、複数セットのプリセット種係数がプリセットされている場合、誤差係数学習は、複数セットのプリセット種係数(から求められる複数セットの展開タップ係数)それぞれについて行うことができる。符号化装置では、複数セットのプリセット種係数それぞれについて得られた誤差係数の中から、ファイン予測を行った場合に符号化効率を最良にする誤差係数と、その誤差係数が得られたプリセット種係数とが、フィルタ処理としてのファイン予測に採用する採用誤差係数wdと、採用プリセット種係数とに、それぞれ選択される。この場合、符号化装置から復号装置には、採用誤差係数wdの他、採用プリセット種係数を表す選択情報が、例えば、符号化ビットストリームに含められて伝送される。
 また、符号化装置に、複数セットのプリセット種係数がプリセットされている場合において、各プリセット種係数のセットに、取得可能情報が対応付けられている場合、誤差係数学習は、例えば、注目画素を含むフレームについての取得可能情報に対応付けられているプリセット種係数のセットについて行うことができる。符号化装置では、そのプリセット種係数のセットと、そのプリセット種係数のセットについて得られた誤差係数とが、採用プリセット種係数と、採用誤差係数wdとに、それぞれ選択される。この場合、符号化装置から復号装置には、採用誤差係数wdは伝送されるが、採用プリセット種係数を表す選択情報は伝送されない。この場合、採用プリセット種係数については、復号装置において、符号化ビットストリームから取得可能な取得可能情報から特定することができるからである。
 さらに、符号化装置において、誤差係数学習は、例えば、パラメータz(の値)を変えながら行うことができる。すなわち、各値のパラメータzに対して係数予測式から求められる(複数の)展開タップ係数それぞれを用いて、誤差係数学習を行うことができる。
 そして、各値のパラメータzに対する誤差係数学習で得られる誤差係数の中から、ファイン予測を行った場合に符号化効率を最良にする誤差係数と、その誤差係数が得られた値のパラメータzが、フィルタ処理としてのファイン予測(に用いる合成タップ係数を求めるのに用いられる展開タップ係数の生成)に採用する採用誤差係数wdと採用パラメータzとに、それぞれ選択される。この場合、符号化装置から復号装置には、採用誤差係数wdの他、採用パラメータzが、例えば、符号化ビットストリームに含められて伝送される。
 また、例えば、パラメータzを、取得可能情報に応じた値に設定して、種係数を求める学習が行われている場合には、符号化装置では、パラメータzを、取得可能情報に応じた値に設定することができる。この場合、符号化装置では、例えば、注目画素を含むフレームについての取得可能情報に応じた値のパラメータzに対して係数予測式から求められる展開タップ係数を用いて、誤差係数学習が行われる。そして、その誤差係数学習により得られた誤差係数が、採用誤差係数wdに選択される。この場合、符号化装置から復号装置には、採用誤差係数wdは伝送されるが、その採用誤差係数wdが得られた(展開タップ係数の生成に用いられた)パラメータzは伝送されない。この場合、展開タップ係数の生成に用いるパラメータzについては、復号装置において、符号化ビットストリームから取得可能な取得可能情報から特定することができるからである。
 以上のように、ファイン予測が行われる場合、符号化装置から復号装置に対して、(採用)誤差係数wdは伝送されるが、選択情報及び(採用)パラメータzは、伝送されるときと伝送されない(伝送する必要がない)ときとがある。
 図4は、復号装置のフィルタ部10の処理を説明する図である。
 符号化装置と同様に、復号装置については、元画像(の画素の画素値)yを予測する予測式のタップ係数wpを近似する係数予測式を構成する種係数が、学習によりあらかじめ求められ、プリセットされている。すなわち、復号装置には、符号化装置にプリセットされているのと同一の種係数がプリセットされている。
 復号装置は、符号化ビットストリームをパースし、採用誤差係数wdを得る。さらに、復号装置は、符号化ビットストリームに、選択情報や採用パラメータzが含まれる場合には、符号化ビットストリームのパースによって、選択情報や採用パラメータzを得る。
 そして、復号装置は、復号画像の画素を、順次、注目画素に選択し、注目画素について、以下の処理を行う。
 すなわち、復号装置は、1セット以上のプリセット種係数から、プリセット種係数の1セットを、ファイン予測に採用する採用プリセット種係数に選択する。
 ここで、復号装置に、1セットのプリセット種係数がプリセットされている場合には、そのプリセット種係数が、採用プリセット種係数に選択される。復号装置に、複数セットのプリセット種係数がプリセットされており、各プリセット種係数のセットに、取得可能情報が対応付けられている場合、注目画素を含むフレームについての取得可能情報に対応付けられているプリセット種係数のセットが、採用プリセット種係数に選択される。また、復号装置に、複数セットのプリセット種係数がプリセットされており、符号化ビットストリームに選択情報が含まれる場合、その選択情報が表すプリセット種係数のセットが、採用プリセット種係数に選択される。
 復号装置は、採用プリセット種係数から、係数予測式に従って展開タップ係数wpを求める。
 ここで、符号化ビットストリームに(採用)パラメータzが含まれる場合には、そのパラメータzと採用プリセット種係数とを用いて係数予測式の演算を行うことにより、展開タップ係数wpが求められる。符号化ビットストリームにパラメータzが含まれておらず、パラメータz(の値)として、取得可能情報に応じた値を採用することが、あらかじめ決められている場合には、注目画素を含むフレームについての取得可能情報に応じた値のパラメータzと採用プリセット種係数とを用いて係数予測式の演算を行うことにより、展開タップ係数wpが求められる。
 復号装置は、展開タップ係数wpと、符号化ビットストリームから得た(採用)誤差係数wdとを合成して、合成タップ係数wp+wdを生成する(求める)。
 復号装置は、合成タップ係数wp+wdを用いて構成されるファイン予測式y'=(wp+wd)xの演算を、注目画素についてのタップ係数xを用いて行い、元画像のファイン予測値y'を求めるファイン予測を行う。
 復号装置は、ファイン予測値y'(で構成される画像)を、フィルタ画像として出力する。
 以上のようにして、復号装置では、符号化装置で得られるのと同一のフィルタ画像を得ることができる。
 なお、図3及び図4では、元画像を予測する予測処理としてのフィルタ処理として、ファイン予測を採用し、そのファイン予測により得られるファイン予測値を、フィルタ画像として出力することとしたが、フィルタ処理としては、プリセット予測を採用することができる。元画像の予測として、プリセット予測を行う場合、ファイン予測よりも予測精度は低下するが、符号化装置から復号装置への誤差係数wdの伝送が不要になる。
 図5は、符号化装置から復号装置に対して、選択情報及び(採用)パラメータzのそれぞれが伝送されるケースと伝送されないケースとを説明する図である。
 選択情報については、プリセット種係数が1セットしかないケースでは、伝送する必要がない。
 一方、プリセット種係数が複数セットあるケースでは、符号化装置が、複数セットのプリセット種係数の中から、符号化効率が最良になるプリセット種係数のセットを、採用プリセット種係数に選択する場合には、その採用プリセット種係数を表す選択情報を伝送する必要がある。
 また、プリセット種係数が複数セットあるケースにおいて、各プリセット種係数のセットに、取得可能情報が対応付けられており、符号化装置が、例えば、注目画素を含むフレームについての取得可能情報に対応付けられているプリセット種係数のセットを、採用プリセット種係数に選択する場合には、選択情報を伝送する必要がない。この場合、採用プリセット種係数については、復号装置において、符号化ビットストリームから取得可能な取得可能情報から特定することができるからである。
 各プリセット種係数のセットへの、取得可能情報の対応付けは、例えば、以下のようにして行うことができる。
 すなわち、各プリセット種係数のセットへの、取得可能情報の対応付けでは、取得可能情報としての、例えば、複数の量子化パラメータQP(量子化パラメータQPが取り得る複数の値)それぞれについて、複数セットのプリセット種係数の中で、符号化効率が良い(閾値以上の)プリセット種係数のセットをあらかじめ調査し、各量子化パラメータQPと、その量子化パラメータQPについて符号化効率が良いプリセット種係数のセットとを対応付けることができる。
 パラメータzについては、符号化装置が、各値のパラメータzについて、係数予測式から求められる(複数の)展開タップ係数それぞれを用いて求められるプリセット予測誤差Δyを教師データとして用いて行われる誤差係数学習により得られる誤差係数の中で、ファイン予測を行った場合に符号化効率を最良にする誤差係数が得られた値のパラメータzを、ファイン予測(に用いる合成タップ係数を求めるのに用いられる展開タップ係数の生成)に採用する採用パラメータzに選択する場合には、その採用パラメータzを伝送する必要がある。
 また、例えば、パラメータzとして、取得可能情報としての量子化パラメータQP等に応じた値を用いて、種係数を求める学習(ボリューム化)が行われ、符号化装置が、展開タップ係数の生成に用いる(採用)パラメータzとして、取得可能情報としての量子化パラメータQPに応じた値を選択する場合には、パラメータzを伝送する必要がない。この場合、展開タップ係数の生成に用いるパラメータzについては、復号装置において、符号化ビットストリームから取得可能な取得可能情報から特定することができるからである。
 パラメータzとして、量子化パラメータQPに応じた値を用いて行うボリューム化では、元画像を教師データとするとともに、各値の量子化パラメータQPの復号画像を生徒データとして用いて、種係数を求める学習が行われる。
 また、この場合、フィルタ処理では、注目画素の量子化パラメータQPに応じた値が、パラメータzに選択(設定)され、そのパラメータzとプリセット種係数とを用いて、係数予測式を演算することにより、展開タップ係数が求められる。
 図6は、高次予測式を用いて、復号画像から、その復号画像に対する元画像を予測する予測処理としてのフィルタ処理の例を説明する図である。
 高次予測式としては、1個のタップ係数と、1個以上の予測タップとしての画素(の画素値)との積を項とし、高次項(2次以上の高次の項)を含む多項式であれば、任意の多項式を採用することができる。すなわち、高次予測式としては、例えば、1次項(1次の項)及び2次項(2次の項)のみからなる多項式や、1次項及び2次以上の複数の異なる次数の高次項からなる多項式、2次以上の1又は複数の次数の高次項からなる多項式等を採用することができる。
 但し、以下では、説明を簡単にするため、1次項及び2次項のみからなる多項式を、高次予測式に採用する場合について説明する。
 かかる高次多項式は、式(1)で表すことができる。
Figure JPOXMLDOC01-appb-M000001
                        ・・・(1)
 ここで、式(1)において、y'は、復号画像の画素のうちの注目画素に対応する元画像の画素である対応画素(の画素値)の予測値を表す。N1は、予測タップのうちの1次タップ(1次項の予測タップ)としての画素xiの数、及び、タップ係数のうちの1次係数(1次項のタップ係数)wiの数を表す。wiは、タップ係数のうちの、i番目の1次係数を表す。xiは、予測タップのうちのi番目の1次タップとしての画素(の画素値)を表す。
 また、式(1)において、N2は、予測タップのうちの2次タップ(2次項の予測タップ)としての画素xj(xk)の数、及び、タップ係数のうちの2次係数(2次項のタップ係数)wj,kの数を表す。wj,kは、タップ係数のうちの、j×k番目の2次係数を表す。xj及びxkは、それぞれ、予測タップのうちのj番目及びk番目の2次タップとしての画素を表す(k>=j)。
 なお、ここでは、式(1)の説明のために、1次タップをxiで表すとともに、2次タップをxj及びxkで表すこととしたが、以下では、xに付すサフィックスによって、1次タップと2次タップとを、特に区別しない。すなわち、例えば、1次タップ及び2次タップのいずれであっても、xiを用いて、1次タップxiや2次タップxi、あるいは、予測タップxi等と記載する。タップ係数である1次係数wi及び2次係数wj,kについても、同様である。
 図6のAに示すように、式(1)において、wixiは1次項を表し、wj,kxkxjは2次項を表す。したがって、式(1)の高次予測式は、1次項及び2次項のみからなる多項式である。
 いま、予測タップとなる画素の候補としてあらかじめ決められた候補画素すべてを予測タップとして用い、かつ、候補画素から重複を許してD個の画素を選択する全通りの組み合わせそれぞれのD個の画素(の画素値)の積の項を、D次項として有する高次予測式を、全通り予測式ということとする。
 式(1)の高次予測式は、1次タップの候補画素の数がN1個であり、2次タップの候補画素の数がN2個である場合の全通り予測式になっている。
 1次タップとしての画素の数がN1個である場合、全通り予測式の1次項(及び1次係数)の数N1'は、1次タップの数N1に等しい。2次タップとしての画素の数がN2個である場合、全通り予測式の2次項(及び2次係数)の数N2'は、式(2)で表される。
Figure JPOXMLDOC01-appb-M000002
                        ・・・(2)
 式(2)において、floorは切り下げを表し、ceilは切り上げを表す。
 なお、全通り予測式の2次項の数N2'は、式(2)の他、式N2'=N2C2+N2で表すことができる。N2C2は、N2個から2個を重複なしで選択する組み合わせの数を表す。
 復号画像に高次予測式を適用するフィルタ処理、すなわち、例えば、式(1)の高次予測式の積和演算を行い、復号画像の注目画素に対応する元画像の対応画素の画素値の予測値y'を求めるにあたっては、復号画像の画素から、予測タップが選択される。
 図6のBには、予測タップ、すなわち、例えば、1次タップ及び2次タップの例が示されている。
 図6のBにおいて、1次タップは、注目画素を中心とする菱形状の13画素になっており、2次タップは、注目画素を中心とする菱形状の5画素になっている。したがって、図6のBでは、1次タップのタップ構造と2次タップのタップ構造とは、異なっている。さらに、1次タップになっている13画素のうちの、注目画素を中心とする菱形状の5画素は、2次タップにもなっている。
 ここで、1次タップの数N1と2次タップの数N2とが等しい場合(N1=N2)、全通り予測式において、1次項の数N1'と2次項の数N2'との関係、すなわち、1次係数wiの数N1'と2次係数wj,kの数N2'との関係は、式N1'<=N2'で表される。
 式(1)の高次予測式のような、高次項を含む予測式を復号画像に適用するフィルタ処理を行うことで、1次項のみからなる予測式では困難であった元画像のディテールを、精度良く復元することができる。
 なお、1次タップの候補画素と2次タップの候補画素とや、1次タップのタップ構造と2次タップのタップ構造とは、一致していても良いし、異なっていても良い。
 さらに、高次予測式のタップ係数(式(1)の1次係数wi及び2次係数wj,k等)を求める学習は、1次項のみからなる予測式のタップ係数を求める学習と同様に、最小自乗法に基づく正規方程式を構成する各項の足し込みを行うことにより、正規方程式を求め、その正規方程式を解くことにより行うことができる。
 以上のような高次予測式のタップ係数は、ボリューム化して、多項式で近似することができる。したがって、プリセット種係数として、高次予測式のタップ係数のボリューム化により得られる種係数を採用し、その種係数から求められるタップ係数(展開タップ係数)を用いて、フィルタ処理を行うことができる。
 なお、高次予測式のタップ係数のボリューム化において、タップ係数を近似する多項式の次数(項数)は、タップ係数のうちの1次係数と2次係数とで、同一の値を採用することもできるし、異なる値を採用することもできる。
 図7は、高次予測式を用いたフィルタ処理を説明する図である。
 いま、高次予測式として、例えば、式(1)の1次項及び2次項のみからなる高次予測式を採用することとする。また、説明を簡単にするため、1次タップ及び2次タップは、同一の画素とし、したがって、式(1)の高次予測式において、N1=N2=Nとする。
 いま、1次項の展開タップ係数を要素とするN列の行ベクトルを、wp1と表すとともに、2次項の展開タップ係数を要素とするN行N列の行列を、wp2と表すこととする。
 この場合、式(1)の高次予測式、すなわち、プリセット予測式は、予測タップxを用いて、式y''=wp1x+wp2xxTで表される。
 ここで、xは、正確には、予測タップ(1次タップ及び2次タップ)を要素とするN行の列ベクトルを表す。また、上付きのTは、転置を表す。
 式(1)の高次予測式について、プリセット予測誤差Δy=y-y'を予測する誤差予測式、すなわち、プリセット予測誤差Δy=y-y'の予測値Δy'''を求める誤差予測式の1次項の誤差係数を要素とするN列の行ベクトルを、wd1と表すとともに、2次項の誤差係数を要素とするN行N列の行列を、wd2と表すこととする。
 この場合、誤差予測式は、式Δy''=wd1x+wd2xxTで表される。
 誤差予測式の誤差係数wd1及びwd2は、教師データとして、プリセット予測誤差Δyを用いるとともに、生徒データとして、復号画像(予測タップ)xを用いて、タップ係数を求める場合と同様の学習(誤差係数学習)を行うことにより求めることができる。
 ファイン予測値y'は、<定義>で説明したように、プリセット予測値y''に、プリセット予測誤差の予測値Δy''を加算した値y'=y''+Δy''=wpx+wdxに等しい。したがって、式(1)の高次予測式については、ファイン予測値y'は、プリセット予測値y''=wp1x+wp2xxTに、プリセット予測誤差の予測値Δy''=wd1x+wd2xxTを加算した式y'=(wp1x+wp2xxT)+(wd1x+wd2xxT)=(wp1+wd1)x+(wp2+wd2)xxTで表される。
 すなわち、展開タップ係数wp1及びwp2と誤差係数wd1及びwd2とを、1次項と2次項とのそれぞれについて別個に合成(加算)して、合成タップ係数(wp1+wd1)及び(wp2+wd2)を生成し、その合成タップ係数(wp1+wd1)及び(wp2+wd2)を用いて構成されるファイン予測式y'=(wp1+wd1)x+(wp2+wd2)xxTの演算を、タップ係数xを用いて行うことにより、ファイン予測を行うことができる。
 以上のように、高次予測式を採用する場合でも、1次予測式を採用する場合と同様に、フィルタ処理としてのプリセット予測やファイン予測を行うことができる。
 図8は、量子化パラメータQPと復号画像の定量画質との関係を説明する図である。
 すなわち、図8は、取得可能情報としての量子化パラメータQPと、復号画像の定量画質としての復号画像及び元画像を用いて求められるPSNR(Peak signal-to-noise ratio)との関係の概要を示している。
 量子化パラメータQPと、復号画像のPSNRとは、線分L1で示すように、量子化パラメータQPが小であるほど、PSNRは大になり、量子化パラメータQPが大であるほど、PSNRは小になる傾向(以下、通常傾向ともいう)がある。
 しかしながら、量子化パラメータQPと、復号画像のPSNRとが、通常傾向に従わない関係になること、すなわち、量子化パラメータQPが大であるのに、PSNRが大になることや、量子化パラメータQPが小であるのに、PSNRが小になることがある。
 ここで、量子化パラメータQPと、復号画像のPSNRとが、通常傾向に従わない関係になることを、ミスマッチともいう。本件発明者が行ったシミュレーションによれば、量子化パラメータQPと復号画像のPSNRとがミスマッチになっているかどうかについては、元画像や復号画像の画像特徴量だけを参照して判定することが困難で、量子化パラメータQPとPSNR等の復号画像の定量画質とを参照して判定する必要があることが確認されている。
 ミスマッチのケースでは、量子化パラメータQPに応じた値を、パラメータz(の値)として用い、かつ、元画像を教師データとするとともに、各値の量子化パラメータQPの復号画像を生徒データとして用いたボリューム化を行うことにより求められたプリセット種係数(とパラメータzとから得られる展開タップ係数)を用いたファイン予測(及びプリセット予測)の予測精度が低下することがある。
 そこで、フィルタ処理において、量子化パラメータQPに応じた値を、パラメータzとして用いて、展開タップ係数を求める場合には、図5で説明したように、原則として、パラメータzを、符号化装置から復号装置に伝送する必要はないが、ミスマッチのケースについては、例外的に、量子化パラメータQPに応じた値を、パラメータzとして用いるのではなく、符号化効率を良くする値のパラメータzを用いて、フィルタ処理に用いられる展開タップ係数を求めるとともに、そのパラメータzを、符号化装置から復号装置に伝送することができる。
 すなわち、符号化装置は、注目画素(のブロック)の量子化パラメータQPと、復号画像及び元画像から求められる(注目画素を含むフレーム)のPSNRから、注目画素が、ミスマッチのケースに該当するかどうかを判定する。注目画素が、ミスマッチのケースに該当しない場合、符号化装置は、例えば、注目画素の量子化パラメータQPの値のパラメータzを用いて、展開タップ係数を求め、その展開タップ係数を用いて、フィルタ処理を行う。
 また、注目画素が、ミスマッチのケースに該当する場合、符号化装置は、量子化パラメータQPとして取り得る各値を、パラメータzに選択し、各値のパラメータzを用いて得られる展開タップ係数を用いたフィルタ処理(ファイン予測)を行った場合に、符号化効率が最良になるパラメータzとしてのQP(の値)を、採用パラメータzに選択する。そして、符号化装置は、採用パラメータzを用いて、展開タップ係数を求め、その展開タップ係数を用いて、フィルタ処理を行う。また、符号化装置は、採用パラメータzを、復号装置に伝送する。
 一方、復号装置は、符号化装置からパラメータzが伝送されてこない場合、すなわち、注目画素が、ミスマッチのケースに該当しない場合、注目画素の量子化パラメータQPをパラメータzとして用いて、展開タップ係数を求め、その展開タップ係数を用いてフィルタ処理を行う。
 また、符号化装置から(採用)パラメータzが伝送されてくる場合、すなわち、注目画素が、ミスマッチのケースに該当する場合、復号装置は、符号化装置から伝送されているパラメータzを用いて、展開タップ係数を求め、その展開タップ係数を用いて、フィルタ処理を行う。
 以上により、フィルタ処理、すなわち、ファイン予測において、予測精度が低下することを抑制することができる。
 なお、定量画質としては、PSNRの他、SSIM(Structured Similarity)等を用いることができる。
 図9は、本技術を適用した画像処理システムの一実施の形態の概要を示すブロック図である。
 図9において、画像処理システムは、符号化装置20、復号装置30、及び、学習装置40を有する。
 符号化装置20は、符号化部21、局所復号部23、及び、フィルタ部24を有する。
 符号化部21には、符号化対象の画像である元画像(データ)が供給されるとともに、フィルタ部24からフィルタ画像が供給される。
 符号化部21は、フィルタ部24からのフィルタ画像を用いて、元画像を(予測)符号化し、その符号化により得られる符号化データを、局所復号部23に供給する。
 すなわち、符号化部21は、フィルタ部24からのフィルタ画像の動き補償を行って得られる元画像の予測画像を、元画像から減算し、その結果得られる残差を符号化する。
 符号化部21には、フィルタ部24からフィルタ情報が供給される。
 符号化部21は、符号化データと、フィルタ部24からのフィルタ情報とを含む符号化ビットストリームを生成して伝送(送信)する。ここで、フィルタ情報には、必要に応じて、(採用)誤差係数、さらには、選択情報や(採用)パラメータzが含まれる。
 したがって、符号化部21が生成する符号化ビットストリームは、符号化データの他、必要に応じて、誤差係数や、選択情報、パラメータzを含むビットストリームである。
 局所復号部23には、符号化部21から符号化データが供給される他、フィルタ部24からフィルタ画像が供給される。
 局所復号部23は、符号化部21からの符号化データの局所復号を、フィルタ部24からのフィルタ画像を用いて行い、その結果得られる(局所)復号画像を、フィルタ部24に供給する。
 すなわち、局所復号部23は、符号化部21からの符号化データを残差に復号し、その残差に、フィルタ部24からのフィルタ画像の動き補償を行って得られる元画像の予測画像を加算することで、元画像を復号した復号画像を生成する。
 フィルタ部24には、局所復号部23から復号画像が供給される他、学習装置40から1セット以上の種係数が供給され、フィルタ部24は、学習装置40からの種係数をプリセット種係数として記憶している。
 フィルタ部24は、展開タップ係数を求めるのに用いる(採用)プリセット種係数を選択するとともに、展開タップ係数を求めるのに用いる(採用)パラメータzを選択(設定)し、そのプリセット種係数及びパラメータzを用いて構成される係数予測式を演算することにより、展開タップ係数を求める。さらに、フィルタ部24は、局所復号部23からの復号画像に、展開タップ係数を用いて構成される予測式を適用するフィルタ処理を行い、フィルタ画像を生成して、符号化部21及び局所復号部23に供給する。
 また、フィルタ部24は、フィルタ処理を行うにあたり、必要に応じて、誤差予測式を構成するタップ係数である誤差係数を求める学習を行う。そして、フィルタ部24は、誤差係数や、採用プリセット種係数を表す選択情報、採用パラメータzを、フィルタ処理に関係するフィルタ情報として、符号化部21に供給する。
 復号装置30は、パース部31、復号部32、及び、フィルタ部33を有する。
 パース部31は、符号化装置20が伝送する符号化ビットストリームを受信してパースを行うことで、符号化ビットストリームに含まれるフィルタ情報を抽出し(得て)、フィルタ部33に供給する。さらに、パース部31は、符号化ビットストリームに含まれる符号化データを、復号部32に供給する。
 復号部32には、パース部31から符号化データが供給される他、フィルタ部33からフィルタ画像が供給される。
 復号部32は、パース部31からの符号化データの復号を、フィルタ部33からのフィルタ画像を用いて行い、その結果得られる復号画像を、フィルタ部33に供給する。
 すなわち、復号部32は、局所復号部23と同様に、パース部31からの符号化データを残差に復号し、その残差に、フィルタ部33からのフィルタ画像の動き補償を行って得られる元画像の予測画像を加算することで、元画像を復号した復号画像を生成する。
 フィルタ部33には、復号部32から復号画像が供給される他、学習装置40から、符号化装置20(のフィルタ部24)に供給されるのと同一の1セット以上の種係数が供給され、フィルタ部33は、学習装置40からの種係数をプリセット種係数として記憶している。
 フィルタ部33は、復号部32からの復号画像に、フィルタ部24と同様のフィルタ処理を行い、フィルタ画像を生成して、復号部32に供給する。
 フィルタ部33は、フィルタ処理を行うにあたり、必要に応じて、パース部31からのフィルタ情報を用いる。また、フィルタ部33は、フィルタ処理により得られる(生成される)フィルタ画像を、復号部32に供給する他、元画像を復元した復元画像として出力する。
 学習装置40は、元画像に相当する画像を、教師データとするとともに、復号画像に相当する画像を、生徒データとして、又は、既存のALF等のタップ係数wnを、教師データとするとともに、パラメータzを、生徒データとして、1セット以上の種係数を求める学習を行い、その種係数を、符号化装置20のフィルタ部24及び復号装置30のフィルタ部33に供給する。
 なお、以下では、説明を簡単にするため、特に断らない限り、パラメータzとして、取得可能情報としての、例えば、量子化パラメータQPに応じた値を採用することとする。
 図10は、図9の学習装置40の構成例の概要を示すブロック図である。
 図10において、学習装置40は、符号化部41、クラス分類部42、学習部43、及び、DB(database)44を有する。
 符号化部41には、教師データとしての画像(教師画像)、例えば、元画像に相当する画像が供給される。
 符号化部41は、そこに供給される教師画像を対象として、符号化装置20と同様の符号化及び復号を行うことで(但し、フィルタ画像としては、例えば、(局所)復号画像を用いる)、復号画像を得て(生成し)、クラス分類部42、及び、学習部43に供給する。さらに、符号化部41は、教師画像の符号化において得られる取得可能情報を、学習部43に供給する。
 クラス分類部42は、符号化部41からの復号画像の画素を、順次、注目画素に選択する。そして、クラス分類部42は、注目画素を複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、そのクラス分類により得られる注目画素のクラスを、学習部43に供給する。
 学習部43には、符号化部41から復号画像及び取得可能情報が供給されるとともに、クラス分類部42から注目画素のクラスが供給される他、教師画像が供給される。
 学習部43は、符号化部41からの注目画素の取得可能情報に応じた値を、(採用)パラメータzに選択し、そのパラメータzの他、そこに供給される教師画像、復号画像、及び、注目画素のクラスを用いて、クラスごとの種係数を求める種係数学習(ボリューム化)を行う。
 そして、学習部43は、種係数学習により得られるクラスごとの種係数を、DB44に供給する。
 DB44は、学習部43から供給されるクラスごとの種係数を記憶する。
 なお、学習装置40には、例えば、様々な性質の教師画像を、その性質ごとに分けて供給することができる。この場合、学習装置40では、異なる性質の教師画像ごとに、種係数学習が行われ、異なる性質の教師画像ごとの種係数、すなわち、複数セットの種係数が求められる。
 図11は、図9のフィルタ部24及び33の構成例の概要を示すブロック図である。
 図11において、フィルタ部24は、DB51、クラス分類部52、係数生成部53、プリセット予測部54、誤差係数学習部55、DB56、決定部57、合成部58、及び、ファイン予測部59を有する。
 フィルタ部24には、局所復号部23(図9)から復号画像xが供給される他、元画像yが供給される。さらに、フィルタ部24には、取得可能情報が供給される。
 復号画像xは、クラス分類部52、プリセット予測部54、誤差係数学習部55、決定部57、及び、ファイン予測部59に供給され、元画像は、誤差係数学習部55及び決定部57に供給される。また、取得可能情報は、係数生成部53に供給される。
 DB51には、学習装置40から供給される1セット以上の種係数、例えば、複数セットの種係数が、複数セットのプリセット種係数として記憶されている。
 クラス分類部52は、そこに供給される復号画像xの画素を、順次、注目画素に選択する。さらに、クラス分類部52は、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、係数生成部53、誤差係数学習部55、決定部57、及び、ファイン予測部59に供給する。
 係数生成部53は、DB51に記憶された複数セットのプリセット種係数それぞれについて、そのプリセット種係数、クラス分類部52からの注目画素のクラス、及び、注目画素の取得可能情報を用いて、注目画素のクラスの展開タップ係数wpを生成する。
 すなわち、係数生成部53は、注目画素の取得可能情報に応じた値を、パラメータzに選択し、そのパラメータz、及び、プリセット種係数を用いて構成される係数予測式を演算することにより、DB51に記憶された複数セットのプリセット種係数それぞれについて、注目画素のクラスの展開タップ係数wpを生成する。
 そして、係数生成部53は、注目画素のクラスの展開タップ係数wpを、プリセット予測部54、決定部57、及び、合成部58に供給する。
 プリセット予測部54は、DB51に記憶された複数セットのプリセット種係数それぞれについて、係数生成部53から供給される注目画素のクラスの展開タップ係数wp、及び、復号画像xを用いてプリセット予測を行う。
 すなわち、プリセット予測部54は、復号画像xの画素から、注目画素についての予測タップ(となる画素)xを選択し、その予測タップxと、係数生成部53から供給される注目画素のクラスの展開タップ係数wpとの積を項として有するプリセット予測式y''=wpxの積和演算を行うことにより、DB51に記憶された複数セットのプリセット種係数それぞれについて、プリセット予測値y''を求める。
 そして、プリセット予測部54は、プリセット予測値y''を、誤差係数学習部55に供給する。
 誤差係数学習部55は、DB51に記憶された複数セットのプリセット種係数それぞれについて、元画像y、復号画像x、クラス分類部52からの注目画素のクラス、及び、プリセット予測部54からのプリセット予測値y''を用いて、誤差係数学習を行い、各クラスの誤差係数wdを求める。
 すなわち、誤差係数学習部55は、元画像yと、プリセット予測部54からのプリセット予測値y''とから、プリセット予測誤差Δyを求めるとともに、復号画像xの画素から、注目画素についての予測タップxを選択する。さらに、誤差係数学習部55は、プリセット予測誤差Δyを教師データとするとともに、注目画素についての予測タップxを生徒データとして、クラス分類部52から供給される、注目画素となった各画素の各クラスについて、誤差係数学習を行うことにより、誤差予測式のタップ係数である誤差係数wdをクラスごとに求める。
 誤差係数学習部55は、DB51に記憶された複数セットのプリセット種係数それぞれについて、誤差係数学習により求められるクラスごとの誤差係数wdを、DB56に供給する。
 DB56は、誤差係数学習部55から供給される、DB51に記憶された複数セットのプリセット種係数それぞれについてのクラスごとの誤差係数wdを記憶する。
 決定部57は、DB56に記憶された、複数セットのプリセット種係数それぞれについてのクラスごとの誤差係数wdそれぞれについて、符号化効率が最良になるように、誤差係数wdを表現するビット列の小数点位置を決定する。
 ここで、誤差係数wdは、例えば、8ビット等の所定のビット数のビット列で表現される。誤差係数wdを表現する表現形式としては、固定小数点や浮動小数点等の形式を採用することができるが、ここでは、説明を簡単にするため、固定小数点を考えることとする。固定小数点の表現形式については、所定のビット数のビット列における小数点の位置によって、整数部及び小数部のビット数を、様々なビット数とする表現形式を採用することができる。
 決定部57は、誤差係数wdを表現する固定小数点のビット列の小数点位置を、例えば、符号化効率が最良になるように決定する。
 なお、その他、例えば、決定部57では、誤差係数wdを2進数で表現したときの整数部の桁数や、小数部の桁数に応じて、誤差係数wdを表現する固定小数点のビット列の小数点位置を決定することができる。
 決定部57での、誤差係数wdを表現するビット列の小数点位置の決定によれば、誤差係数wdの精度を確保することができる。
 決定部57は、DB51に記憶された複数セットのプリセット種係数それぞれについてのクラスごとの誤差係数wdについて、誤差係数wdを表現するビット列の小数点位置を決定した後、その誤差係数wdと、係数生成部53からの展開タップ係数wpとを合成して得られる合成タップ係数wp+wdを用いてフィルタ処理としてのファイン予測を行った場合に符号化効率を最良にするプリセット種係数のセット、及び、そのプリセット種係数に対して得られた誤差係数wdを、ファイン予測に採用する採用プリセット種係数、及び、採用誤差係数wdに決定(選択)する。
 すなわち、決定部57は、係数生成部53から供給される注目画素のクラスの展開タップ係数wpと、DB56に記憶された注目画素のクラスの誤差係数wdとを合成(加算)することにより、クラス分類部52から供給される注目画素のクラスの合成タップ係数wp+wdを求める。
 さらに、決定部57は、復号画像xの画素から、注目画素についての予測タップxを選択し、その予測タップxと合成タップ係数wp+wdとを用いて構成されるファイン予測式y'=(wp+wd)xを演算するファイン予測を行うことにより、ファイン予測値y'を求める。
 決定部57は、復号画像(のフレーム)の、注目画素となった各画素について、ファイン予測値y'を求めることにより、そのファイン予測値y'を画素値とするフィルタ画像(のフレーム)を生成する。
 さらに、決定部57は、DB51に記憶された複数セットのプリセット種係数それぞれについて、そのプリセット種係数に対して得られたフィルタ画像と、元画像yとから、RDコスト等の符号化効率を求める。
 そして、決定部57は、符号化効率を最良にする(クラスごとの)プリセット種係数のセット、及び、そのプリセット種係数に対して得られた(クラスごとの)誤差係数wdを、ファイン予測に採用する採用プリセット種係数、及び、採用誤差係数wdに決定する。
 その後、決定部57は、採用プリセット種係数を表す選択情報、及び、採用誤差係数wdを、フィルタ情報として出力する
 決定部57が出力するフィルタ情報は、合成部58に供給されるとともに、符号化部21(図9)において、符号化ビットストリームに含められ、復号装置30に伝送される。
 合成部58は、係数生成部53からの展開タップ係数wpのうちの、決定部57からのフィルタ情報に含まれる選択情報が表す採用プリセット係数から生成された展開タップ係数wpと、決定部57からのフィルタ情報に含まれる採用誤差係数wdとを合成することにより、クラスごとの合成タップ係数wp+wdを求め、ファイン予測部59に供給する。
 ファイン予測部59は、合成部58からのクラスごとの合成タップ係数wp+wdのうちの、クラス分類部52からの注目画素のクラスの合成タップ係数wp+wdを用いて構成されるファイン予測式y'=(wp+wd)xを、復号画像xに適用して、フィルタ処理としてのファイン予測を行い、その結果得られるファイン予測値y'を画素値とするフィルタ画像を、符号化部21及び局所復号部23(図9)に供給する。
 すなわち、ファイン予測部59は、復号画像xの画素から、注目画素についての予測タップ(となる画素)xを選択し、その予測タップxと、注目画素のクラスの合成タップ係数wp+wdとの積を項として有するファイン予測式y'=(wp+wd)xの積和演算を行うことにより、フィルタ画像を求める。
 フィルタ部33は、DB61、クラス分類部62、係数生成部63、合成部64、及び、ファイン予測部65を有する。
 フィルタ部33には、パース部31(図9)からフィルタ情報が供給されるとともに、復号部32(図9)から復号画像xが供給される。さらに、フィルタ部33には、符号化ビットストリームから得られる取得可能情報が供給される。
 フィルタ情報に含まれる選択情報は、係数生成部63に供給され、フィルタ情報に含まれる(採用)誤差係数wdは、合成部64に供給される。また、復号画像xは、クラス分類部62及びファイン予測部65に供給され、取得可能情報は、係数生成部63に供給される。
 DB61には、学習装置40から供給される1セット以上の種係数、すなわち、DB51に記憶されているのと同一の複数セットの種係数が、複数セットのプリセット種係数として記憶されている。
 クラス分類部62は、クラス分類部52と同様に、そこに供給される復号画像xの画素を、順次、注目画素に選択し、注目画素のクラス分類を行う。そして、クラス分類部62は、クラス分類の結果得られる注目画素のクラスを、係数生成部63及び合成部64に供給する。
 係数生成部63は、DB61に記憶された複数セットのプリセット種係数のうちの、フィルタ情報に含まれる選択情報が表す(採用)プリセット種係数、クラス分類部62からの注目画素のクラス、及び、注目画素の取得可能情報を用いて、注目画素のクラスの展開タップ係数wpを生成する。
 すなわち、係数生成部63は、注目画素の取得可能情報に応じた値を、パラメータzに選択し、そのパラメータz、及び、選択情報が表すプリセット種係数を用いて構成される係数予測式を演算することにより、選択情報が表すプリセット種係数について、注目画素のクラスの展開タップ係数wpを生成する。
 そして、係数生成部63は、注目画素のクラスの展開タップ係数wpを、合成部64に供給する。
 合成部64は、係数生成部63からの注目画素のクラスの展開タップ係数wpと、フィルタ情報に含まれる誤差係数wdのうちの、クラス分類部62からの注目画素のクラスの誤差係数wdとを合成することにより、注目画素のクラスの合成タップ係数wp+wdを求め、ファイン予測部65に供給する。
 ファイン予測部65は、合成部64からの注目画素のクラスの合成タップ係数wp+wdを用いて構成されるファイン予測式y'=(wp+wd)xを、復号画像xに適用して、フィルタ処理としてのファイン予測を行い、その結果得られるファイン予測値y'を画素値とするフィルタ画像を、復号部32(図9)に供給する。
 すなわち、ファイン予測部65は、復号画像xの画素から、注目画素についての予測タップ(となる画素)xを選択し、その予測タップxと、注目画素のクラスの合成タップ係数wp+wdとの積を項として有するファイン予測式y'=(wp+wd)xの積和演算を行うことにより、フィルタ画像を求める。
 なお、図11では、ファイン予測(に用いる合成タップ係数を求めるのに用いられる展開タップ係数の生成)に採用する採用パラメータzとして、取得可能情報に応じた値を用いることとしたが、その他、例えば、採用パラメータzとしては、符号化効率を最良にする値を用いることができる。この場合、採用パラメータzは、フィルタ情報に含めて、符号化装置20から復号装置30に伝送される。そして、復号装置30のフィルタ部33では、係数生成部63が、フィルタ情報に含まれる(採用)パラメータzを用いて、係数予測式を演算することにより、展開タップ係数が求められる(生成される)。
 図12は、図9の学習装置40の学習処理の概要を説明するフローチャートである。
 ステップS11では、学習装置40(図10)の符号化部41が、そこに供給される教師画像を符号化して局所復号することにより、その教師画像に対する復号画像(符号化装置20で得られる復号画像に相当する画像)を生成し、クラス分類部42、及び、学習部43に供給する。さらに、符号化部41は、教師画像の符号化において得られる取得可能情報を、学習部43に供給して、処理は、ステップS11からステップS12に進む。
 ステップS12では、クラス分類部42は、符号化部41からの復号画像の画素を、順次、注目画素に選択する。さらに、クラス分類部42は、注目画素のクラス分類を行い、そのクラス分類により得られる注目画素のクラスを、学習部43に供給して、処理は、ステップS12からステップS13に進む。
 ステップS13では、学習部43は、符号化部41からの注目画素の取得可能情報に応じた値を、(採用)パラメータzに選択し、処理は、ステップS14に進む。
 ステップS14では、学習部43は、パラメータz、教師画像、復号画像、及び、クラス分類部42からの注目画素のクラスを用いて、クラスごとの種係数を求める種係数学習(ボリューム化)を行う。学習部43は、種係数学習により得られるクラスごとの種係数を、DB44に供給して、処理は、ステップS14からステップS15に進む。
 ステップS15では、DB44は、学習部43から供給されるクラスごとの種係数を記憶する。
 学習装置40は、以上のような学習処理を、例えば、様々な性質の教師画像ごとに行い、異なる性質の教師画像ごとの種係数、すなわち、複数セットの種係数を求める。
 学習装置40において、以上のような学習処理を行うことにより得られる複数セットの種係数は、符号化装置20及び復号装置30に供給され、DB51及び61(図11)に、プリセット種係数としてプリセットされる。
 図13は、図9の符号化装置20の符号化処理の概要を説明するフローチャートである。
 図13のフローチャートに従った処理は、例えば、フレーム単位で行われる。
 ステップS21において、符号化部21(図9)は、フィルタ部24からのフィルタ画像を用いて、元画像yを(予測)符号化し、その符号化により得られる符号化データを、局所復号部23に供給して、処理は、ステップS22に進む。
 ステップS22では、局所復号部23は、符号化部21からの符号化データの局所復号を、フィルタ部24からのフィルタ画像を用いて行い、その結果得られる(局所)復号画像xを、フィルタ部24に供給して、処理は、ステップS23に進む。
 ステップS23では、フィルタ部24(図11)において、クラス分類部52が、局所復号部23からの復号画像xの画素を、順次、注目画素に選択する。さらに、クラス分類部52は、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、係数生成部53、誤差係数学習部55、決定部57、及び、ファイン予測部59に供給して、処理は、ステップS24に進む。
 ステップS24では、係数生成部53は、DB51に記憶された複数セットのプリセット種係数それぞれについて、そのプリセット種係数、クラス分類部52からの注目画素のクラス、及び、注目画素の取得可能情報を用いて、注目画素のクラスの展開タップ係数wpを生成する。
 すなわち、係数生成部53は、注目画素の取得可能情報に応じた値を、パラメータzに選択し、そのパラメータz、及び、プリセット種係数を用いて構成される係数予測式を演算することにより、DB51に記憶された複数セットのプリセット種係数それぞれについて、注目画素のクラスの展開タップ係数wpを生成する。
 そして、係数生成部53は、注目画素のクラスの展開タップ係数wpを、プリセット予測部54、決定部57、及び、合成部58に供給して、処理は、ステップS24からステップS25に進む。
 ステップS25では、プリセット予測部54は、DB51に記憶された複数セットのプリセット種係数それぞれについて、係数生成部53から供給される注目画素のクラスの展開タップ係数wp、及び、復号画像xを用いてプリセット予測を行う。そして、プリセット予測部54は、プリセット予測により得られるプリセット予測値y''を、誤差係数学習部55に供給して、処理は、ステップS25からステップS26に進む。
 ステップS26では、誤差係数学習部55は、DB51に記憶された複数セットのプリセット種係数それぞれについて、元画像yと、プリセット予測部54からのプリセット予測値y''とから、プリセット予測誤差Δyを求めるとともに、復号画像xの画素から、注目画素についての予測タップxを選択する。さらに、誤差係数学習部55は、DB51に記憶された複数セットのプリセット種係数それぞれについて、プリセット予測誤差Δyを教師データとするとともに、注目画素についての予測タップxを生徒データとして、クラス分類部52から供給される、注目画素となった各画素のクラスごとに誤差係数学習を行うことにより、誤差予測式のタップ係数である誤差係数wdをクラスごとに求める。
 誤差係数学習部55は、DB51に記憶された複数セットのプリセット種係数それぞれについて、誤差係数学習により求められるクラスごとの誤差係数wdを、DB56に供給して記憶させ、処理は、ステップS26からステップS27に進む。
 ステップS27では、決定部57は、DB56に記憶された、複数セットのプリセット種係数それぞれについてのクラスごとの誤差係数wdそれぞれについて、符号化効率が最良になるように、誤差係数wdを表現するビット列の小数点位置を決定し、処理は、ステップS28に進む。
 ステップS28では、決定部57は、DB51に記憶された複数セットのプリセット種係数、及び、その複数セットのプリセット係数それぞれに対して得られたクラスごとの誤差係数wdの中から、フィルタ処理としてのファイン予測を行った場合に符号化効率を最良にするプリセット種係数のセット、及び、そのプリセット種係数に対して得られた誤差係数wdを、ファイン予測に採用する採用プリセット種係数、及び、採用誤差係数wdに決定(選択)する。
 そして、決定部57は、採用プリセット種係数を表す選択情報、及び、採用誤差係数wdを、フィルタ情報として、ファイン予測部59、及び、符号化部21(図9)に供給して、処理は、ステップS28からステップS29に進む。
 ステップS29では、合成部58は、係数生成部53からの展開タップ係数wpのうちの、決定部57からのフィルタ情報に含まれる選択情報が表す採用プリセット係数から生成された展開タップ係数wpと、決定部57からのフィルタ情報に含まれる採用誤差係数wdとを合成することにより、クラスごとの合成タップ係数wp+wdを求め、ファイン予測部59に供給して、処理は、ステップS30に進む。
 ステップS30では、ファイン予測部59は、合成部58からのクラスごとの合成タップ係数wp+wdのうちの、クラス分類部52からの注目画素のクラスの合成タップ係数wp+wdを用いて構成されるファイン予測式y'=(wp+wd)xを、復号画像xに適用して、フィルタ処理としてのファイン予測を行う。そして、ファイン予測部59は、ファイン予測の結果得られるファイン予測値y'を画素値とするフィルタ画像を、符号化部21及び局所復号部23(図9)に供給して、処理は、ステップS31に進む。
 ここで、ステップS30でファイン予測部59から符号化部21及び局所復号部23に供給されるフィルタ画像は、例えば、復号画像の次のフレームを対象として行われるステップS21及びS22の処理で用いられる。
 ステップS31では、符号化部21は、符号化データと、フィルタ部24からのフィルタ情報、すなわち、選択情報、及び、(クラスごとの)採用誤差係数wdとを含む符号化ビットストリームを生成して伝送する。
 図14は、図9の復号装置30の復号処理の概要を説明するフローチャートである。
 図14のフローチャートに従った処理は、例えば、図13の符号化処理と同様に、フレーム単位で行われる。
 ステップS41において、パース部31(図9)は、符号化装置20から伝送されてくる符号化ビットストリームを受信してパースを行うことで、符号化ビットストリームに含まれるフィルタ情報を抽出し(得て)、フィルタ部33に供給する。さらに、パース部31は、符号化ビットストリームに含まれる符号化データを、復号部32に供給し、処理は、ステップS41からステップS42に進む。
 ステップS42では、復号部32は、パース部31からの符号化データの復号を、フィルタ部33からのフィルタ画像を用いて行い、その結果得られる復号画像を、フィルタ部33に供給して、処理は、ステップS43に進む。
 ステップS43では、フィルタ部33(図11)において、クラス分類部62が、復号部32からの復号画像の画素を、順次、注目画素に選択する。さらに、クラス分類部62は、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、係数生成部63及び合成部64に供給して、処理は、ステップS44に進む。
 ステップS44では、係数生成部63は、DB61に記憶された複数セットのプリセット種係数のうちの、パース部31からのフィルタ情報に含まれる選択情報が表す(採用)プリセット種係数、クラス分類部62からの注目画素のクラス、及び、符号化ビットストリームから得られる注目画素の取得可能情報を用いて、注目画素のクラスの展開タップ係数wpを生成する。
 すなわち、係数生成部63は、注目画素の取得可能情報に応じた値を、パラメータzに選択し、そのパラメータz、及び、選択情報が表すプリセット種係数を用いて構成される係数予測式を演算することにより、選択情報が表すプリセット種係数について、注目画素のクラスの展開タップ係数wpを生成する。
 そして、係数生成部63は、注目画素のクラスの展開タップ係数wpを、合成部64に供給して、処理は、ステップS44からステップS45に進む。
 ステップS45では、合成部64は、係数生成部63からの注目画素のクラスの展開タップ係数wpと、パース部31からのフィルタ情報に含まれる誤差係数wdのうちの、クラス分類部62からの注目画素のクラスの誤差係数wdとを合成することにより、注目画素のクラスの合成タップ係数wp+wdを求め、ファイン予測部65に供給して、処理は、ステップS46に進む。
 ステップS46では、ファイン予測部65は、合成部64からの注目画素のクラスの合成タップ係数wp+wdを用いて構成されるファイン予測式y'=(wp+wd)xを、復号部32(図9)から供給される復号画像xに適用して、フィルタ処理としてのファイン予測を行い、その結果得られるファイン予測値y'を画素値とするフィルタ画像を生成する。
 フィルタ画像は、ファイン予測部65から復号部32(図9)に供給されるとともに、元画像を復元した復元画像として出力される。
 ステップS46でファイン予測部65から復号部32に供給されるフィルタ画像は、例えば、復号画像の次のフレームを対象として行われるステップS42の処理で用いられる。
 次に、本技術の実施の形態の詳細について説明するが、その前に、画像を対象とするクラス分類予測処理について説明する。
 画像を対象とするクラス分類予測処理とは、クラス分類予測処理の対象の画像である第1の画像を用いてクラス分類を行い、そのクラス分類の結果得られるクラスのタップ係数と第1の画像の画素(の画素値)との積和演算を行う予測式を用いた予測処理としてのフィルタ処理を行う処理であり、かかるフィルタ処理により第2の画像の予測値が求められる(生成される)。本実施の形態では、第1の画像は、復号画像(局所復号画像を含む)であり、第2の画像は、元画像である。
 <クラス分類予測処理>
 図15は、クラス分類予測処理を行う予測装置の第1の構成例を示すブロック図である。
 クラス分類予測処理では、第1の画像のうちの注目している注目画素を複数のクラスのうちのいずれかのクラスにクラス分類することにより得られるクラスのタップ係数と、注目画素に対して予測タップとして選択される第1の画像の画素の画素値とを用いた予測式の演算としての積和演算により、注目画素に対応する第2の画像の対応画素の画素値の予測値が求められる。
 なお、以下のクラス分類予測処理の説明では、説明を簡単にするため、予測式として、1次項のみからなる予測式を採用することとする。
 図15は、クラス分類予測処理を行う予測装置の構成例を示している。
 図15において、予測装置100は、タップ選択部101、クラス分類部102、係数取得部103、及び、予測演算部104を有する。
 予測装置100には、第1の画像が供給される。予測装置100に供給される第1の画像は、タップ選択部101及びクラス分類部102に供給される。
 タップ選択部101は、第1の画像を構成する画素を、順次、注目画素に選択する。さらに、タップ選択部101は、注目画素に対応する第2の画像の対応画素(の画素値)を予測するのに用いる第1の画像を構成する画素(の画素値)の幾つかを、予測タップとして選択する。
 具体的には、タップ選択部101は、注目画素の時空間の位置から空間的又は時間的に近い位置にある第1の画像の複数の画素を、予測タップとして選択し、予測演算部104に供給する。
 クラス分類部102は、一定の規則に従って、注目画素を、幾つかのクラスのうちのいずれかにクラス分けするクラス分類を行い、その結果得られる注目画素のクラスを、係数取得部103に供給する。
 すなわち、クラス分類部102は、例えば、注目画素について、クラス分類を行うのに用いる第1の画像を構成する画素(の画素値)の幾つかを、クラスタップとして選択する。例えば、クラス分類部102は、タップ選択部101が予測タップを選択するのと同様にして、クラスタップを選択する。
 なお、予測タップとクラスタップは、同一のタップ構造を有するものであっても良いし、異なるタップ構造を有するものであっても良い。
 クラス分類部102は、例えば、クラスタップを用いて、注目画素をクラス分類し、その結果得られる注目画素のクラスを、係数取得部103に供給する。
 例えば、クラス分類部102は、クラスタップを用いて、注目画素の画像特徴量を求める。さらに、クラス分類部102は、注目画素の画像特徴量に応じて、注目画素をクラス分類し、その結果得られるクラスを、係数取得部103に供給する。
 ここで、クラス分類を行う方法としては、例えば、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コードとして出力される。かかるADRCコードが表す値が、クラスを表す。
 また、クラス分類に用いる画像特徴量としては、ADRCコードの他、例えば、クラスタップとしての画素の輝度等の画素値の最大値と最小値との差分であるDR(Dynamic Range)や、クラスタップにおいて、水平、垂直、斜め方向に隣接する画素の画素値の差分絶対値の最大値であるDiffMax、DR及びDiffMaxを用いて得られるDiffMax/DR等を採用することができる。
 その他、クラス分類は、注目画素の量子化パラメータQPその他の符号化情報を用いて行うことができる。すなわち、クラス分類は、例えば、符号化情報の閾値処理等によって行うことができる。
 係数取得部103は、学習によって求められたクラスごとのタップ係数を記憶し、さらに、その記憶したタップ係数のうちの、クラス分類部102から供給される注目画素のクラスのタップ係数を取得する。さらに、係数取得部103は、注目画素のクラスのタップ係数を、予測演算部104に供給する。
 予測演算部104は、タップ選択部101からの予測タップと、係数取得部103から供給されるタップ係数とを用いて、注目画素に対応する第2の画像の画素(対応画素)の画素値の真値の予測値を求める予測式の積和演算である予測処理としてのフィルタ処理を行う。これにより、予測演算部104は、対応画素の画素値(の予測値)、すなわち、第2の画像を構成する画素の画素値(の予測値)を求めて出力する。
 図16は、係数取得部103に記憶されるタップ係数の学習を行う学習装置の構成例を示すブロック図である。
 ここで、第1の画像として、復号画像を採用するとともに、第2の画像として、その復号画像に対する元画像を採用し、第1の画像から選択される予測タップとタップ係数とを用いて、1次項のみからなる予測式の積和演算である予測処理としてのフィルタ処理により、第2の画像としての元画像の画素(以下、第2の画素ともいう)の画素値を予測することとすると、注目画素に対応する第2の画像の対応画素としての第2の画素の画素値yは、次の予測式に従って求められる。
Figure JPOXMLDOC01-appb-M000003
                           ・・・(3)
 式(3)において、xnは、注目画素の予測タップとしてのn番目の第1の画像の画素(以下、適宜、第1の画素ともいう)の画素値を表し、wnは、n番目の1次項のタップ係数(n番目のタップ係数)を表す。式(3)の予測式は、N個の項(1次項)で構成される。
 ここで、第2の画素の画素値yを求める予測式としては、式(3)のような1次項のみからなる予測式の他、式(1)のような2次以上の高次項を含む高次予測式であってもよい。
 いま、第kサンプルの第2の画素の画素値の真値をykと表すとともに、式(3)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
Figure JPOXMLDOC01-appb-M000004
                           ・・・(4)
 いま、式(4)の予測値yk’は、式(3)にしたがって求められるため、式(4)のyk’を、式(3)にしたがって置き換えると、次式が得られる。
Figure JPOXMLDOC01-appb-M000005
                           ・・・(5)
 但し、式(5)において、xn,kは、対応画素としての第kサンプルの第2の画素に対する予測タップとしてのn番目の第1の画素を表す。
 式(5)(又は式(4))の予測誤差ekを0とするタップ係数wnが、第2の画素を予測するのに最適なものとなるが、すべての第2の画素について、そのようなタップ係数wnを求めることは、一般には困難である。
 そこで、タップ係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適なタップ係数wnは、次式で表される自乗誤差の総和E(統計的な誤差)を最小にすることで求めることができる。
Figure JPOXMLDOC01-appb-M000006
                           ・・・(6)
 但し、式(6)において、Kは、対応画素としての第2の画素ykと、その第2の画素ykに対する予測タップとしての第1の画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
 式(6)の自乗誤差の総和Eの最小値(極小値)は、式(7)に示すように、総和Eをタップ係数wnで偏微分したものを0とするwnによって与えられる。
Figure JPOXMLDOC01-appb-M000007
                           ・・・(7)
 そこで、上述の式(5)をタップ係数wnで偏微分すると、次式が得られる。
Figure JPOXMLDOC01-appb-M000008
                           ・・・(8)
 式(7)と(8)から、次式が得られる。
Figure JPOXMLDOC01-appb-M000009
                           ・・・(9)
 式(9)のekに、式(5)を代入することにより、式(9)は、式(10)に示す正規方程式で表すことができる。
Figure JPOXMLDOC01-appb-M000010
                           ・・・(10)
 式(10)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)等を用いることにより、タップ係数wnについて解くことができる。
 式(10)の正規方程式を、クラスごとにたてて解くことにより、最適なタップ係数(ここでは、自乗誤差の総和Eを最小にするタップ係数)wnを、クラスごとに求めることができる。
 図16は、式(10)の正規方程式をたてて解くことによりタップ係数wnを求める学習を行う学習装置の構成例を示している。
 図16において、学習装置110は、教師画像生成部111、生徒画像生成部112、及び、学習部113を有する。
 教師画像生成部111及び生徒画像生成部112には、タップ係数wnの学習に用いられる学習画像(学習用のサンプルとしての画像)が供給される。
 教師画像生成部111は、学習画像から、タップ係数の学習の教師(真値)となる教師データとしての教師画像、すなわち、式(3)による予測式の演算としての写像の写像先となる教師画像として、第2の画像に相当する画像を生成し、学習部113に供給する。ここでは、教師画像生成部111は、例えば、学習画像を、そのまま教師画像として、学習部113に供給する。
 生徒画像生成部112は、学習画像から、タップ係数の学習の生徒となる生徒データとしての生徒画像、すなわち、式(3)による予測式の演算としての写像の写像元となる生徒画像として、第1の画像に相当する画像を生成し、学習部113に供給する。ここでは、生徒画像生成部112は、例えば、学習画像を、符号化装置20と同様に符号化して局所復号することにより(但し、フィルタ画像としては、例えば、復号画像を用いる)、復号画像を生成し、この復号画像を、生徒画像として、学習部113に供給する。
 学習部113は、生徒画像生成部112からの生徒画像を構成する画素を、順次、注目画素とし、その注目画素について、図15のタップ選択部101が選択するのと同一のタップ構造の画素を、生徒画像から予測タップとして選択する。さらに、学習部113は、注目画素に対応する教師画像を構成する対応画素と、注目画素の予測タップとを用い、クラスごとに、式(10)の正規方程式をたてて解くことにより、クラスごとのタップ係数を求める。
 図17は、図16の学習部113の構成例を示すブロック図である。
 図17において、学習部113は、タップ選択部121、クラス分類部122、足し込み部123、及び、係数算出部124を有する。
 生徒画像は、タップ選択部121及びクラス分類部122に供給され、教師画像は、足し込み部123に供給される。
 タップ選択部121は、生徒画像を構成する画素を、順次、注目画素として選択し、その注目画素を表す情報を、必要なブロックに供給する。
 さらに、タップ選択部121は、注目画素について、生徒画像を構成する画素から、図15のタップ選択部101が選択するのと同一の画素を予測タップに選択し、これにより、タップ選択部101で得られるのと同一のタップ構造の予測タップを得て、足し込み部123に供給する。
 クラス分類部122は、生徒画像を用いて、注目画素について、図15のクラス分類部102と同一のクラス分類を行い、その結果得られる注目画素のクラスを、足し込み部123に出力する。
 足し込み部123は、教師画像を構成する画素から、注目画素に対応する対応画素(の画素値)を取得し、対応画素と、タップ選択部121から供給される注目画素についての予測タップとしての生徒画像の画素(の画素値)とを対象とした足し込みを、クラス分類部122から供給される注目画素のクラスごとに行う。
 すなわち、足し込み部123には、教師画像の対応画素yk、生徒画像としての注目画素の予測タップxn,k、注目画素のクラスが供給される。
 足し込み部123は、注目画素のクラスごとに、予測タップとしての生徒画像の画素xn,kを用い、式(10)の左辺の行列における生徒画像の画素どうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
 さらに、足し込み部123は、やはり、注目画素のクラスごとに、予測タップxn,kと教師画像の画素ykを用い、式(10)の右辺のベクトルにおける予測タップxn,k及び教師画像の画素ykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
 すなわち、足し込み部123は、前回、注目画素に対応する教師画像の対応画素について求められた式(10)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)又はベクトルのコンポーネント(Σxn,kyk)に対して、新たな注目画素に対応する対応画素yk+1について、その対応画素yk+1及び予測タップxn,k+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1又はxn,k+1yk+1を足し込む(式(10)のサメーションで表される加算を行う)。
 そして、足し込み部123は、例えば、生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(10)に示した正規方程式をたて、その正規方程式を、係数算出部124に供給する。
 係数算出部124は、足し込み部123から供給される各クラスについての正規方程式を解くことにより、各クラスについて、最適なタップ係数wnを求めて出力する。
 図15の予測装置100における係数取得部103には、以上のようにして求められたクラスごとのタップ係数wnを記憶させることができる。
 図18は、クラス分類予測処理を行う予測装置の第2の構成例を示すブロック図である。
 なお、図中、図15の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図18において、予測装置130は、タップ選択部101、クラス分類部102、予測演算部104、及び、係数取得部131を有する。
 したがって、図18の予測装置130は、タップ選択部101、クラス分類部102、及び、予測演算部104を有する点で、図15の場合と共通する。
 但し、図18では、係数取得部103に代えて、係数取得部131が設けられている点で、図15の場合と相違する。
 係数取得部131は、後述する種係数を記憶する。さらに、係数取得部131には、外部からパラメータzが供給される。
 係数取得部131は、種係数から、パラメータzに対応する、クラスごとのタップ係数を生成して記憶し、そのクラスごとのタップ係数から、クラス分類部102からのクラスのタップ係数を取得して、予測演算部104に供給する。
 図19は、係数取得部131に記憶される種係数を求める学習を行う学習装置の構成例を示すブロック図である。
 図19の学習装置では、ボリューム化、すなわち、予測式を構成するタップ係数を多項式で近似した場合の、その多項式を構成する係数である種係数が、例えば、クラスごとに求められる。
 いま、タップ係数wnを、種係数と、パラメータzとを用いた以下の多項式によって近似することとする。
Figure JPOXMLDOC01-appb-M000011
                           ・・・(11)
 但し、式(11)において、βm,nは、n番目のタップ係数wnを求めるのに用いられるm番目の種係数を表す。なお、式(11)では、タップ係数wnが、M個の種係数β1,n,β2,n,・・・,βM,nを用いて求められる。
 ここで、種係数βm,nとパラメータzから、タップ係数wnを求める式は、式(11)に限定されるものではない。
 いま、式(11)におけるパラメータzによって決まる値zm-1を、新たな変数tmを導入して、次式で定義する。
Figure JPOXMLDOC01-appb-M000012
                           ・・・(12)
 式(12)を、式(11)に代入することにより、次式が得られる。
Figure JPOXMLDOC01-appb-M000013
                           ・・・(13)
 式(13)によれば、タップ係数wnは、種係数βm,nと変数tmとの線形1次式によって求められることになる。
 ところで、いま、第kサンプルの第2の画素の画素値の真値をykと表すとともに、式(3)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
Figure JPOXMLDOC01-appb-M000014
                           ・・・(14)
 いま、式(14)の予測値yk’は、式(3)にしたがって求められるため、式(14)のyk’を、式(3)にしたがって置き換えると、次式が得られる。
Figure JPOXMLDOC01-appb-M000015
                           ・・・(15)
 但し、式(15)において、xn,kは、対応画素としての第kサンプルの第2の画素に対する予測タップとしてのn番目の第1の画素を表す。
 式(15)のwnに、式(13)を代入することにより、次式が得られる。
Figure JPOXMLDOC01-appb-M000016
                           ・・・(16)
 式(16)の予測誤差ekを0とする種係数βm,nが、第2の画素を予測するのに最適なものとなるが、すべての第2の画素について、そのような種係数βm,nを求めることは、一般には困難である。
 そこで、種係数βm,nが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適な種係数βm,nは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
Figure JPOXMLDOC01-appb-M000017
                           ・・・(17)
 但し、式(17)において、Kは、対応画素としての第2の画素ykと、その第2の画素ykに対する予測タップとしての第1の画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
 式(17)の自乗誤差の総和Eの最小値(極小値)は、式(18)に示すように、総和Eを種係数βm,nで偏微分したものを0とするβm,nによって与えられる。
Figure JPOXMLDOC01-appb-M000018
                           ・・・(18)
 式(15)を、式(18)に代入することにより、次式が得られる。
Figure JPOXMLDOC01-appb-M000019
                           ・・・(19)
 いま、Xi,p,j,qとYi,pを、式(20)と(21)に示すように定義する。
Figure JPOXMLDOC01-appb-M000020
                           ・・・(20)
Figure JPOXMLDOC01-appb-M000021
                           ・・・(21)
 この場合、式(19)は、Xi,p,j,qとYi,pを用いた式(22)に示す正規方程式で表すことができる。
Figure JPOXMLDOC01-appb-M000022
                           ・・・(22)
 式(22)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)等を用いることにより、種係数βm,nについて解くことができる。
 図18の予測装置130においては、教師画像としての第2の画像(元画像)の第2の画素y1,y2,・・・,yKと、生徒画像としての第1の画像(復号画像)の第1の画素x1,k,x2,k,・・・,xN,kとを用いて、クラスごとに式(22)の正規方程式をたてて解く学習を行うことにより求められたクラスごとの種係数βm,nが、係数取得部131に記憶される。そして、係数取得部131では、種係数βm,nと、外部から与えられるパラメータzから、式(11)にしたがって、クラスごとのタップ係数wnが生成され、予測演算部104において、そのタップ係数wnと、注目画素についての予測タップとしての第1の画素xnを用いて、式(3)が計算されることにより、第2の画素(注目画素に対応する対応画素)の画素値(の予測値)が求められる。
 図19は、式(22)の正規方程式をクラスごとにたてて解くことにより、クラスごとの種係数βm,nを求める学習を行う学習装置の構成例を示す図である。
 なお、図中、図16の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図19において、学習装置140は、教師画像生成部111、パラメータ生成部141、生徒画像生成部142、及び、学習部143を有する。
 したがって、図19の学習装置140は、教師画像生成部111を有する点で、図16の学習装置110と共通する。
 但し、図19の学習装置140は、パラメータ生成部141を新たに有する点で、図16の学習装置110と相違する。さらに、図19の学習装置140は、生徒画像生成部112及び学習部113に代えて、生徒画像生成部142、及び、学習部143がそれぞれ設けられている点で、図16の学習装置110と相違する。
 パラメータ生成部141は、生徒画像生成部142での学習画像から生徒画像を生成する処理や、その生徒画像に応じてパラメータzを生成し、学習部143に供給する。
 例えば、生徒画像生成部142において、学習画像を、符号化装置20と同様に符号化して局所復号することにより、復号画像が生成される場合、パラメータ生成部141は、例えば、生徒画像生成部142で生成された生徒画像の画像特徴量としての、例えば、生徒画像の全画面動きの動き量に応じた値を、パラメータzとして生成することができる。また、パラメータ生成部141は、例えば、生徒画像生成部142での生徒画像の生成で行われた教師画像(学習画像)の符号化に用いられた量子化パラメータQP(に応じた値)を、パラメータzとして生成することができる。さらに、パラメータ生成部141は、生徒画像生成部142で生成された生徒画像のS/Nに応じた値を、パラメータzとして生成することができる。
 パラメータ生成部141では、生徒画像生成部142で生成される生徒画像(の画素)に対して、パラメータzが生成される。
 なお、パラメータ生成部141では、例えば、生徒画像の全画面動きの動き量に応じた値、及び、生徒画像の生成で行われた教師画像の符号化に用いられた量子化パラメータQPを、2個のパラメータz及びz'として生成することができる。その他、パラメータ生成部141では、2個以外の複数のパラメータ、すなわち、3個以上のパラメータを生成することができる。
 パラメータ生成部141において、例えば、2個のパラメータz及びz'が生成される場合、図18の係数取得部103では、外部から2個のパラメータz及びz'が与えられ、その2個のパラメータz及びz'と種係数とを用いて、タップ係数が生成される。
 以上のように、種係数としては、1個のパラメータzの他、2個のパラメータz及びz'、さらには、3個以上のパラメータを用いて、タップ係数を生成することができる種係数を求めること、すなわち、タップ係数を、複数のパラメータを用いた多項式で近似することができる。但し、本明細書では、説明を簡単にするため、1個のパラメータzを用いてタップ係数を生成する種係数を例に、説明を行う。
 生徒画像生成部142には、教師画像生成部111に供給されるのと同様の学習画像が供給される。
 生徒画像生成部142は、図16の生徒画像生成部112と同様に、学習画像から生徒画像を生成し、生徒画像として、学習部143に供給する。すなわち、生徒画像生成部142は、例えば、学習画像を、符号化装置20と同様に符号化して局所復号することにより、復号画像を生成し、この復号画像を、生徒画像として、学習部113に供給する。なお、生徒画像生成部142の処理等は、パラメータ生成部141から参照される。
 学習部143は、教師画像生成部111からの教師画像、パラメータ生成部141からのパラメータz、及び、生徒画像生成部142からの生徒画像を用いて、クラスごとの種係数を求めて出力する。
 図20は、図19の学習部143の構成例を示すブロック図である。
 なお、図中、図17の学習部113と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
 図20において、学習部143は、タップ選択部121、クラス分類部122、足し込み部151、及び、係数算出部152を有する。
 したがって、図20の学習部143は、タップ選択部121、及び、クラス分類部122を有する点で、図17の学習部113と共通する。
 但し、学習部143は、足し込み部123及び係数算出部124に代えて、足し込み部151、及び、係数算出部152をそれぞれ有する点で、図17の学習部113と相違する。
 図20では、タップ選択部121は、図19のパラメータ生成部141で生成されるパラメータzに対応する生徒画像から、予測タップを選択し、足し込み部151に供給する。
 足し込み部151は、図19の教師画像生成部111からの教師画像から、注目画素に対応する対応画素を取得し、その対応画素、タップ選択部121から供給される注目画素についての予測タップとしての生徒画像の画素(生徒画素)、及び、その生徒画像(の注目画素)に対するパラメータzを対象とした足し込みを、クラス分類部122から供給されるクラスごとに行う。
 すなわち、足し込み部151には、注目画素に対応する教師画像の画素(教師画素)yk、タップ選択部121が出力する注目画素についての予測タップxi,k(xj,k)、及び、クラス分類部122が出力する注目画素のクラスが供給されるとともに、注目画素(を含む生徒画像)に対するパラメータzが、パラメータ生成部141から供給される。
 足し込み部151は、クラス分類部122から供給されるクラスごとに、予測タップ(生徒画像)xi,k(xj,k)とパラメータzを用い、式(22)の左辺の行列における、式(20)で定義されるコンポーネントXi,p,j,qを求めるための生徒画素及びパラメータzの乗算(xi,kpxj,kq)と、サメーション(Σ)に相当する演算を行う。なお、式(20)のtpは、式(12)にしたがって、パラメータzから計算される。式(20)のtqも同様である。
 さらに、足し込み部151は、やはり、クラス分類部122から供給されるクラスごとに、予測タップ(生徒画素)xi,k、対応画素(教師画素)yk、及び、パラメータzを用い、式(22)の右辺のベクトルにおける、式(21)で定義されるコンポーネントYi,pを求めるための生徒画素xi,k、教師画素yk、及び、パラメータzの乗算(xi,kpyk)と、サメーション(Σ)に相当する演算を行う。なお、式(21)のtpは、式(12)にしたがって、パラメータzから計算される。
 すなわち、足し込み部151は、前回、注目画素に対応する対応画素について求められた式(22)における左辺の行列のコンポーネントXi,p,j,qと、右辺のベクトルのコンポーネントYi,pを、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネントXi,p,j,q又はベクトルのコンポーネントYi,pに対して、新たな注目画素に対応する対応画素となった教師画素について、その教師画素yk、生徒画素xi,k(xj,k)、及びパラメータzを用いて計算される、対応するコンポーネントxi,kpxj,kq又はxi,kpykを足し込む(式(20)のコンポーネントXi,p,j,q又は式(21)のコンポーネントYi,pにおけるサメーションで表される加算を行う)。
 そして、足し込み部151は、パラメータzの各値につき、生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(22)に示した正規方程式をたて、その正規方程式を、係数算出部152に供給する。
 係数算出部152は、足し込み部151から供給されるクラスごとの正規方程式を解くことにより、各クラスごとの種係数βm,nを求めて出力する。
 ところで、図19の学習装置140では、学習画像を教師画像とするとともに、その教師画像を符号化して(局所)復号することにより得られる復号画像を生徒画像として、タップ係数wn及び生徒画像xnから式(3)の線形1次式で予測される教師画像の予測値yの自乗誤差の総和を直接的に最小にする種係数βm,nを求める学習を行うようにしたが、種係数βm,nの学習としては、教師画像の予測値yの自乗誤差の総和を、いわば、間接的に最小にする種係数βm,nを求める学習を行うことができる。
 すなわち、学習画像を教師画像とするとともに、その教師画像を符号化して(局所)復号することにより得られる復号画像を生徒画像として、タップ係数wn及び生徒画像xnを用いて式(3)の線形1次予測式で予測される教師画像の予測値yの自乗誤差の総和を最小にするタップ係数wnを、パラメータzの値ごとに求めることができる。そして、そのパラメータzの値ごとに求められたタップ係数wnを、学習の教師となる教師データとするとともに、パラメータzを、学習の生徒となる生徒データとして、式(13)によって種係数βm,n及び生徒データであるパラメータzに対応する変数tmから予測される教師データとしてのタップ係数wnの予測値の自乗誤差の総和を最小にする種係数βm,nを求めることができる。
 タップ係数は、式(13)に示したように、種係数βm,nと、パラメータzに対応する変数tmとから求められる。そして、いま、この式(13)によって求められるタップ係数を、wn’と表すこととすると、次の式(23)で表される、最適なタップ係数wnと式(13)により求められるタップ係数wn’との誤差enを0とする種係数βm,nが、最適なタップ係数wnを求めるのに最適な種係数となるが、すべてのタップ係数wnについて、そのような種係数βm,nを求めることは、一般には困難である。
Figure JPOXMLDOC01-appb-M000023
                           ・・・(23)
 なお、式(23)は、式(13)によって、次式のように変形することができる。
Figure JPOXMLDOC01-appb-M000024
                           ・・・(24)
 そこで、種係数βm,nが最適なものであることを表す規範として、例えば、やはり、最小自乗法を採用することとすると、最適な種係数βm,nは、次式で表される自乗誤差の総和Eを最小にすることで求めることができる。
Figure JPOXMLDOC01-appb-M000025
                           ・・・(25)
 式(25)の自乗誤差の総和Eの最小値(極小値)は、式(26)に示すように、総和Eを種係数βm,nで偏微分したものを0とするβm,nによって与えられる。
Figure JPOXMLDOC01-appb-M000026
                           ・・・(26)
 式(24)を、式(26)に代入することにより、次式が得られる。
Figure JPOXMLDOC01-appb-M000027
                           ・・・(27)
 いま、Xi,j,とYiを、式(28)と(29)に示すように定義する。
Figure JPOXMLDOC01-appb-M000028
                           ・・・(28)
Figure JPOXMLDOC01-appb-M000029
                           ・・・(29)
 この場合、式(27)は、Xi,jとYiを用いた式(30)に示す正規方程式で表すことができる。
Figure JPOXMLDOC01-appb-M000030
                           ・・・(30)
 式(30)の正規方程式も、例えば、掃き出し法等を用いることにより、種係数βm,nについて解くことができる。
 学習部143(図20)では、以上のように、式(30)の正規方程式をたてて解くことにより種係数βm,nを求める学習を行うこともできる。
 この場合、足し込み部151は、教師画像生成部111からの教師画像のうちの、注目画素に対応する教師画像の対応画素と、タップ選択部121から供給される注目画素についての予測タップとしての生徒画素とを対象とした足し込みを、クラス分類部122から供給されるクラスごとに、かつ、パラメータ生成部141が出力するパラメータzの値ごとに行う。
 すなわち、足し込み部151には、教師画像の教師画素(対応画素)yk、予測タップxn,k、注目画素のクラス、及び、生徒画像(の注目画素)に対するパラメータzが供給される。
 足し込み部151は、注目画素のクラスごとに、かつ、パラメータzの値ごとに、予測タップ(生徒画素)xn,kを用い、式(10)の左辺の行列における生徒画素どうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
 さらに、足し込み部151は、注目画素のクラスごとに、かつ、パラメータzの値ごとに、予測タップ(生徒画素)xn,kと教師画素ykを用い、式(10)の右辺のベクトルにおける生徒画素xn,k及び教師画素ykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
 すなわち、足し込み部151は、前回、注目画素に対応する教師画像の教師画素(対応画素)について求められた式(10)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)又はベクトルのコンポーネント(Σxn,kyk)に対して、新たな注目画素に対応する対応画素となった教師画素について、その教師画素yk+1及び生徒画素xn,k+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1又はxn,k+1yk+1を足し込む(式(10)のサメーションで表される加算を行う)。
 そして、足し込み部151は、生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、パラメータzの各値ごとに、式(10)に示した正規方程式をたてる。
 したがって、足し込み部151は、図17の足し込み部123と同様に、各クラスについて、式(10)の正規方程式をたてる。但し、足し込み部151は、さらに、パラメータzの各値ごとにも、式(10)の正規方程式をたてる点で、図17の足し込み部123と異なる。
 さらに、足し込み部151は、各クラスについての、パラメータzの値ごとの正規方程式を解くことにより、各クラスについて、パラメータzの値ごとの最適なタップ係数wnを求める。
 その後、足し込み部151は、パラメータ生成部141(図19)から供給されるパラメータz(に対応する変数tm)と、最適なタップ係数wnを対象とした足し込みを、クラスごとに行う。
 すなわち、足し込み部151は、パラメータ生成部141から供給されるパラメータzから式(12)によって求められる変数ti(tj)を用い、式(30)の左辺の行列における、式(28)で定義されるコンポーネントXi,jを求めるためのパラメータzに対応する変数ti(tj)どうしの乗算(tij)と、サメーション(Σ)に相当する演算を、クラスごとに行う。
 ここで、コンポーネントXi,jは、パラメータzによってのみ決まるものであり、クラスとは関係がないので、コンポーネントXi,jの計算は、クラスごとに行う必要はなく、1回行うだけで済む。
 さらに、足し込み部151は、パラメータ生成部141から供給されるパラメータzから式(12)によって求められる変数tiと、足し込み部151から供給される最適なタップ係数wnとを用い、式(30)の右辺のベクトルにおける、式(29)で定義されるコンポーネントYiを求めるためのパラメータzに対応する変数ti及び最適なタップ係数wnの乗算(tiwn)と、サメーション(Σ)に相当する演算を、クラスごとに行う。
 足し込み部151は、各クラスごとに、式(28)で表されるコンポーネントXi,jと、式(29)で表されるコンポーネントYiを求めることにより、各クラスについて、式(30)の正規方程式をたて、その正規方程式を、係数算出部152に供給する。
 係数算出部152は、足し込み部151から供給されるクラスごとの式(30)の正規方程式を解くことにより、各クラスごとの種係数βm,nを求めて出力する。
 図18の係数取得部131には、以上のようにして求められたクラスごとの種係数βm,nを記憶させることができる。
 なお、上述の場合には、タップ係数wnを、式(11)に示したように、1個のパラメータzを用いた多項式β1,nz0+β2,nz1+・・・+βM,nzM-1で近似することとしたが、タップ係数wnは、その他、例えば、2個のパラメータzxとzyを用いた多項式β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で近似することができる。この場合、式(12)で定義した変数tmを、式(12)に代えて、例えば、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は、最終的には、式(13)で表すことができ、したがって、図19の学習装置140において、2個のパラメータzxとzyを用いた多項式で近似されるタップ係数wnを求めることができる。
 <符号化装置20の構成例>
 図21は、図9の符号化装置20の詳細な構成例を示すブロック図である。
 なお、以下説明するブロック図については、図が煩雑になるのを避けるため、各ブロックの処理で必要となる情報(データ)を供給する線の記載を、適宜省略する。
 図21において、符号化装置20は、A/D変換部201、並べ替えバッファ202、演算部203、直交変換部204、量子化部205、可逆符号化部206、及び、蓄積バッファ207を有する。さらに、符号化装置20は、逆量子化部208、逆直交変換部209、演算部210、ILF211、フレームメモリ212、選択部213、イントラ予測部214、動き予測補償部215、予測画像選択部216、及び、レート制御部217を有する。
 A/D変換部201は、アナログ信号の元画像を、ディジタル信号の元画像にA/D変換し、並べ替えバッファ202に供給して記憶させる。
 並べ替えバッファ202は、元画像のフレームを、GOP(Group Of Picture)に応じて、表示順から符号化(復号)順に並べ替え、演算部203、イントラ予測部214、動き予測補償部215、及び、ILF211に供給する。
 演算部203は、並べ替えバッファ202からの元画像から、予測画像選択部216を介してイントラ予測部214又は動き予測補償部215から供給される予測画像を減算し、その減算により得られる残差(予測残差)を、直交変換部204に供給する。
 例えば、インター符号化が行われる画像の場合、演算部203は、並べ替えバッファ202から読み出された元画像から、動き予測補償部215から供給される予測画像を減算する。
 直交変換部204は、演算部203から供給される残差に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部204は、直交交換により得られる直交変換係数を量子化部205に供給する。
 量子化部205は、直交変換部204から供給される直交変換係数を量子化する。量子化部205は、レート制御部217から供給される符号量の目標値(符号量目標値)に基づいて量子化パラメータQPを設定し、直交変換係数の量子化を行う。なお、この量子化の方法は任意である。量子化部205は、量子化された直交変換係数である符号化データを、可逆符号化部206に供給する。
 可逆符号化部206は、量子化部205からの符号化データとしての量子化された直交変換係数を所定の可逆符号化方式で符号化する。直交変換係数は、レート制御部217の制御の下で量子化されているので、可逆符号化部206の可逆符号化により得られる符号化ビットストリームの符号量は、レート制御部217が設定した符号量目標値となる(又は符号量目標値に近似する)。
 また、可逆符号化部206は、符号化装置20での予測符号化に関する符号化情報のうちの、復号装置30での復号に必要な符号化情報を、各ブロックから取得する。
 ここで、符号化情報としては、例えば、イントラ予測やインター予測の予測モード、動きベクトル等の動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ(I,P,B)、CU(Coding Unit)やCTU(Coding Tree Unit)の情報等がある。
 例えば、予測モードは、イントラ予測部214や動き予測補償部215から取得することができる。また、例えば、動き情報は、動き予測補償部215から取得することができる。
 可逆符号化部206は、符号化情報を取得する他、ILF211から、そのILF211でのフィルタ処理に関するフィルタ情報を取得する。
 可逆符号化部206は、符号化情報及びフィルタ情報を、例えば、CAVLC(Context-Adaptive Variable Length Coding)やCABAC(Context-Adaptive Binary Arithmetic Coding)等の可変長符号化又は算術符号化その他の可逆符号化方式で符号化し、符号化後の符号化情報及びフィルタ情報、及び、量子化部205からの符号化データを含む符号化ビットストリームを生成して、蓄積バッファ207に供給する。
 蓄積バッファ207は、可逆符号化部206から供給される符号化ビットストリームを、一時的に蓄積する。蓄積バッファ207に蓄積された符号化ビットストリームは、所定のタイミングで読み出されて伝送される。
 量子化部205において量子化された直交変換係数である符号化データは、可逆符号化部206に供給される他、逆量子化部208にも供給される。逆量子化部208は、量子化された直交変換係数を、量子化部205による量子化に対応する方法で逆量子化し、その逆量子化により得られる直交変換係数を、逆直交変換部209に供給する。
 逆直交変換部209は、逆量子化部208から供給される直交変換係数を、直交変換部204による直交変換処理に対応する方法で逆直交変換し、その逆直交変換の結果得られる残差を、演算部210に供給する。
 演算部210は、逆直交変換部209から供給される残差に、予測画像選択部216を介してイントラ予測部214又は動き予測補償部215から供給される予測画像を加算し、これにより、元画像を復号した復号画像(の一部)を得て出力する。
 演算部210が出力する復号画像は、ILF211に供給される。
 ILF211は、例えば、クラス分類予測処理によるフィルタ処理を行い、元画像を予測(復元)する。
 ILF211には、演算部210から復号画像が供給される他、並べ替えバッファ202から、復号画像に対応する元画像が供給される。さらに、ILF211には、取得可能情報が供給される。
 ILF211は、例えば、複数セットのプリセット種係数を記憶している。ILF211は、例えば、演算部210からの復号画像、並べ替えバッファ202からの元画像、及び、取得可能情報を用いて、複数セットのプリセット種係数のうちのいずれかのプリセット種係数のセットから得られる展開タップ係数とともに合成タップ係数の生成に用いられる誤差係数を求める誤差係数学習を行う。
 そして、ILF211は、誤差係数学習によって得られるクラスごとの誤差係数や、その誤差係数を求めるときに用いられたプリセット種係数を表す選択情報を必要に応じて含むフィルタ情報を、可逆符号化部206に供給する。
 また、ILF211は、誤差係数学習によって得られる誤差係数と、プリセット種係数から得られる展開タップ係数とを合成した合成タップ係数を用いた予測式であるファイン予測式を、演算部210からの復号画像に適用するフィルタ処理としてのクラス分類予測処理を行うことにより、元画像を予測したフィルタ画像を生成する。
 すなわち、ILF211は、演算部210からの復号画像を第1の画像として、クラスごとの合成タップ係数を用いたクラス分類予測処理を行うことで、第1の画像としての復号画像を、元画像に相当する第2の画像としてのフィルタ画像に変換して(フィルタ画像を生成して)出力する。
 ILF211が出力するフィルタ画像は、フレームメモリ212に供給される。
 ここで、ILF211には、タップ係数ではなく、タップ係数を近似(予測)する係数予測式の係数である(プリセット)種係数が記憶(プリセット)されている。
 したがって、図1で説明したように、1個のタップ係数を求めるのに用いるプリセット種係数の数Mを、P個より少なくすることにより、プリセット種係数を記憶する記憶容量を、Pセットのタップ係数をプリセットしておく場合に比較して抑制し、ひいては、符号化装置20(復号装置30も同様)の規模を抑制することができる。
 さらに、例えば、Pセットのタップ係数を近似する係数予測式のプリセット種係数によれば、Pセットのタップ係数よりも広範囲の性質の復号画像の画質を改善するフィルタ処理を行うこと、すなわち、Pセットのタップ係数よりも広範囲の性質の復号画像について、元画像との誤差が少ないフィルタ画像を生成することができる。
 なお、ILF211は、プリセット種係数の学習に用いる生徒画像及び教師画像によって、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、適応ループフィルタのうちの1以上のフィルタとして機能させることができる。
 また、ILF211を、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、適応ループフィルタのうちの2以上のフィルタとして機能させる場合、その2以上のフィルタの配置順は任意である。
 フレームメモリ212は、ILF211から供給されるフィルタ画像を、元画像を復元した復元画像として一時記憶する。フレームメモリ212に記憶された復元画像は、必要なタイミングで、予測画像の生成に用いられる参照画像として、選択部213に供給される。
 選択部213は、フレームメモリ212から供給される参照画像の供給先を選択する。例えば、イントラ予測部214においてイントラ予測が行われる場合、選択部213は、フレームメモリ212から供給される参照画像を、イントラ予測部214に供給する。また、例えば、動き予測補償部215においてインター予測が行われる場合、選択部213は、フレームメモリ212から供給される参照画像を、動き予測補償部215に供給する。
 イントラ予測部214は、並べ替えバッファ202から供給される元画像と、選択部213を介してフレームメモリ212から供給される参照画像とを用い、例えば、PU(Prediction Unit)を処理単位として、イントラ予測(画面内予測)を行う。イントラ予測部214は、所定のコスト関数(例えば、RDコスト等)に基づいて、最適なイントラ予測モードを選択し、その最適なイントラ予測モードで生成された予測画像を、予測画像選択部216に供給する。また、上述したように、イントラ予測部214は、コスト関数に基づいて選択されたイントラ予測モードを示す予測モードを、可逆符号化部206等に適宜供給する。
 動き予測補償部215は、並べ替えバッファ202から供給される元画像と、選択部213を介してフレームメモリ212から供給される参照画像とを用い、例えば、PUを処理単位として、動き予測(インター予測)を行う。さらに、動き予測補償部215は、動き予測により検出される動きベクトルに応じて動き補償を行い、予測画像を生成する。動き予測補償部215は、あらかじめ用意された複数のインター予測モードで、インター予測を行い、予測画像を生成する。
 動き予測補償部215は、複数のインター予測モードそれぞれについて得られた予測画像の所定のコスト関数に基づいて、最適なインター予測モードを選択する。さらに、動き予測補償部215は、最適なインター予測モードで生成された予測画像を、予測画像選択部216に供給する。
 また、動き予測補償部215は、コスト関数に基づいて選択されたインター予測モードを示す予測モードや、そのインター予測モードで符号化された符号化データを復号する際に必要な動きベクトル等の動き情報等を、可逆符号化部206に供給する。
 予測画像選択部216は、演算部203及び210に供給する予測画像の供給元(イントラ予測部214又は動き予測補償部215)を選択し、その選択した方の供給元から供給される予測画像を、演算部203及び210に供給する。
 レート制御部217は、蓄積バッファ207に蓄積された符号化ビットストリームの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部205の量子化動作のレートを制御する。すなわち、レート制御部217は、蓄積バッファ207のオーバーフロー及びアンダーフローが生じないように、符号化ビットストリームの目標符号量を設定し、量子化部205に供給する。
 なお、図21において、演算部203ないし可逆符号化部206が図9の符号化部21に、逆量子化部208ないし演算部210が図9の局所復号部23に、ILF211が図9のフィルタ部24に、それぞれ相当する。
 <ILF211の構成例>
 図22は、図21のILF211の構成例を示すブロック図である。
 図22において、ILF211は、学習装置231、予測装置232、及び、種係数記憶部233を有する。
 学習装置231には、並べ替えバッファ202(図21)から元画像が供給されるとともに、演算部210(図21)から復号画像が供給される。さらに、学習装置231には、取得可能情報が供給される。
 学習装置231は、取得可能情報、復号画像、元画像、及び、種係数記憶部233に記憶されたプリセット種係数を用いて、誤差係数学習を行う。
 すなわち、学習装置231は、取得可能情報に応じた値をパラメータzに選択する。さらに、学習装置231は、種係数記憶部233に記憶された複数セットのプリセット種係数それぞれについて、プリセット種係数及びパラメータzを用いて、クラスごとの展開タップ係数を求める。
 また、学習装置231は、種係数記憶部233に記憶された複数セットのプリセット種係数それぞれについて、クラスごとの展開タップ係数及び復号画像を用いて、プリセット予測を行うことにより、元画像の予測値であるプリセット予測値を求める。さらに、学習装置231は、種係数記憶部233に記憶された複数セットのプリセット種係数それぞれについて、元画像とプリセット予測値との差分であるプリセット予測誤差を求め、そのプリセット予測誤差を教師データとするとともに、復号画像を生徒データとして、誤差係数学習を行うことにより、クラスごとの誤差係数を求める。
 その後、学習装置231は、種係数記憶部233に記憶された複数セットのプリセット種係数それぞれについて求められた(クラスごとの)誤差係数の中から、符号化効率を最良にする誤差係数を採用誤差係数に決定する。
 すなわち、学習装置231は、誤差係数と展開タップ係数とを合成し、クラスごとの合成タップ係数を求める。さらに、学習装置231は、クラスごとの合成タップ係数と復号画像とを用いて、ファイン予測を行うことにより、元画像の予測値であるファイン予測値を画素値とするフィルタ画像を生成し、そのフィルタ画像と元画像とを用いて、RDコスト等の符号化効率を求める。
 そして、学習装置231は、種係数記憶部233に記憶された複数セットのプリセット種係数それぞれについて求められた誤差係数の中から、符号化効率を最良にする誤差係数を採用誤差係数に決定する。さらに、学習装置231は、採用誤差係数と、種係数記憶部233に記憶された複数セットのプリセット種係数のうちの、採用誤差係数が求められたプリセット種係数を表す選択情報とを含むフィルタ情報を、予測装置232に供給するとともに、可逆符号化部206(図21)に供給する。
 予測装置232には、学習装置231からフィルタ情報が供給される他、演算部210(図21)から復号画像が供給される。さらに、予測装置232には、取得可能情報が供給される。
 予測装置232は、取得可能情報、学習装置231からのフィルタ情報、及び、種係数記憶部233に記憶されたプリセット種係数を用いて、ファイン予測を行い、元画像の予測値であるファイン予測値を画素値とするフィルタ画像を生成して、フレームメモリ212(図21)に供給する。
 すなわち、予測装置232は、取得可能情報に応じた値をパラメータzに選択する。さらに、予測装置232は、種係数記憶部233に記憶された複数セットのプリセット種係数のうちの、学習装置231からのフィルタ情報に含まれる選択情報が表すプリセット種係数及びパラメータzを用いて、クラスごとの展開タップ係数を求める。
 また、予測装置232は、クラスごとの展開タップ係数と、学習装置231からのフィルタ情報に含まれるクラスごとの(採用)誤差係数とを合成し、クラスごとの合成タップ係数を求める。さらに、予測装置232は、クラスごとの合成タップ係数と復号画像とを用いて、ファイン予測を行うことにより、元画像の予測値であるファイン予測値を画素値とするフィルタ画像を生成し、フレームメモリ212に供給する。
 種係数記憶部233は、例えば、取得可能情報に応じた値をパラメータzとして用いて、あらかじめ行われた種係数学習により求められた複数セットのプリセット種係数を記憶している。
 <学習装置231の構成例>
 図23は、図22の学習装置231の構成例を示すブロック図である。
 図23において、学習装置231は、選択部241、プリセット予測部242、予測誤差生成部243、学習部244、及び、決定部245を有する。
 選択部241は、種係数記憶部233(図21)に記憶された複数セットのプリセット種係数を、1セットずつ、順次、注目種係数(のセット)に選択し、その注目種係数を、プリセット予測部242の係数生成部250に供給する。さらに、選択部241は、注目種係数と、その注目種係数を表す選択情報を、決定部245に供給する。
 プリセット予測部242は、係数生成部250、タップ選択部251、クラス分類部252、係数取得部253、及び、予測演算部254を有し、注目種係数から求められる展開タップ係数を用いてプリセット予測を行う。
 すなわち、係数生成部250には、選択部241から注目種係数が供給される他、取得可能情報が供給される。
 係数生成部250は、注目画素の取得可能情報(例えば、注目画素を含む復号画像のフレームの全画面動きや量子化パラメータQPの平均値等)に応じた値を、パラメータzに選択する。さらに、係数生成部250は、そのパラメータzと、選択部241からの注目種係数とを用いて、係数予測式を演算し、注目種係数(に選択されたプリセット種係数のセット)についての(クラスごとの)展開タップ係数を求める(生成する)。そして、係数生成部250は、注目種係数についての展開タップ係数を、係数取得部253に供給する。
 タップ選択部251ないし予測演算部254は、図15の予測装置100のタップ選択部101ないし予測演算部104とそれぞれ同様に構成され、係数生成部250からの展開タップ係数と、演算部210(図21)からの復号画像との積を項として有するプリセット予測式の演算を行うプリセット予測を行う。
 すなわち、タップ選択部251及びクラス分類部252には、演算部210からの復号画像が供給される。
 タップ選択部251は、復号画像の画素を、順次、注目画素に選択する。さらに、タップ選択部251は、注目画素について、その注目画素に対応する元画像の対応画素(の画素値)を予測するのに用いる復号画像を構成する画素(の画素値)の幾つかを、予測タップに選択し、予測演算部254に供給する。
 クラス分類部252は、例えば、復号画像を用いて、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、係数取得部253に供給する。
 係数取得部253は、係数生成部250からの、注目種係数についてのクラスごとの展開タップ係数を記憶し、その記憶した展開タップ係数のうちの、クラス分類部252からの注目画素のクラスの展開タップ係数を取得する。さらに、係数取得部253は、注目画素のクラスの展開タップ係数を、予測演算部254に供給する。
 予測演算部254は、タップ選択部251からの予測タップと、係数取得部253から供給される展開タップ係数とを用いて、プリセット予測式の演算を行うことにより、プリセット予測値を求め、予測誤差生成部243に供給する。
 予測誤差生成部243には、プリセット予測部242からプリセット予測値が供給される他、並べ替えバッファ202(図21)からの元画像が供給される。
 予測誤差生成部243は、元画像(の、注目画素に対応する対応画素の画素値)からプリセット予測値を減算することにより、プリセット予測誤差を求め、学習部244の足し込み部263に供給する。
 学習部244は、タップ選択部261、クラス分類部262、足し込み部263、及び、係数算出部264を有する。
 学習部244において、タップ選択部261ないし係数算出部264は、図17の学習部113を構成するタップ選択部121ないし係数算出部124とそれぞれ同様に構成される。そして、学習部244は、演算部210からの復号画像を生徒データとするとともに、予測誤差生成部243からのプリセット予測値を教師データとして、図17の学習部113が行うのと同様の学習を、誤差係数学習として行うことにより、誤差予測式のクラスごとの誤差係数を求める。
 すなわち、タップ選択部261は、生徒データとしての復号画像の画素を、順次、注目画素に選択する。さらに、タップ選択部261は、注目画素について、生徒画像を構成する画素から、タップ選択部251が選択するのと同一の画素を予測タップに選択し、足し込み部263に供給する。
 クラス分類部262は、生徒画像を用いて、注目画素について、クラス分類部252と同一のクラス分類を行い、その結果得られる注目画素のクラスを、足し込み部263に出力する。
 足し込み部263は、教師データとしてのプリセット予測誤差から、注目画素に対応するプリセット予測誤差(以下、対応予測誤差ともいう)を選択し、対応予測誤差と、タップ選択部261から供給される注目画素についての予測タップとを対象とした足し込みを、クラス分類部262から供給される注目画素のクラスごとに行う。
 そして、足し込み部263は、生徒データとしての復号画像の、例えば、1フレームの画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(10)に示した正規方程式に相当する正規方程式をたて、その正規方程式を、係数算出部264に供給する。
 係数算出部264は、足し込み部263から供給される各クラスについての正規方程式を解くことにより、クラスごとの誤差係数を求める。
 係数算出部264は、以上のようにして求められた、注目種係数についてのクラスごとの誤差係数を、決定部245に供給する。
 決定部245には、選択部241から選択情報、及び、その選択情報が表すプリセット種係数(注目種係数)が供給されるとともに、学習部244(の係数算出部264)から誤差係数が供給される他、復号画像、元画像、及び、取得可能情報が供給される。
 決定部245は、選択部241からの選択情報と、学習部244からの、選択情報が表すプリセット種係数、すなわち、注目種係数についての誤差係数とを対応付けて記憶する。
 さらに、決定部245は、選択部241から注目種係数として順次供給される複数セットのプリセット種係数の中から、プリセット種係数に対して得られる展開タップ係数及び誤差係数、並びに、復号画像、元画像、及び、取得可能情報を用いてファイン予測を行った場合に符号化効率を最良にするプリセット種係数を、採用プリセット種係数に決定する。
 また、決定部245は、採用プリセット種係数に対して得られた誤差係数を、採用誤差係数に決定し、その採用誤差係数に対応付けられている選択情報、すなわち、採用プリセット種係数を表す選択情報を、フィルタ情報として、予測装置232(図22)に供給するとともに、可逆符号化部206(図21)に供給する。
 <予測装置232の構成例>
 図24は、図22の予測装置232の構成例を示すブロック図である。
 図24において、予測装置232は、フィルタ情報記憶部281、係数生成部282、合成部283、タップ選択部291、クラス分類部292、係数取得部293、及び、予測演算部294を有する。
 フィルタ情報記憶部281は、学習装置231(の決定部245(図23))から供給されるフィルタ情報を記憶する。フィルタ情報記憶部281に記憶されたフィルタ情報に含まれる選択情報は、係数生成部282に供給される。また、フィルタ情報記憶部281に記憶されたフィルタ情報に含まれるクラスごとの(採用)誤差係数は、合成部283に供給される。
 係数生成部282には、フィルタ情報記憶部281から選択情報が供給される他、取得可能情報が供給される。
 係数生成部282は、係数生成部250(図23)と同様に、注目画素の取得可能情報に応じた値を、パラメータzに選択する。さらに、係数生成部282は、種係数記憶部233(図21)に記憶された複数セットのプリセット種係数のうちの、フィルタ情報記憶部281からの選択情報が表す(採用)プリセット種係数と、パラメータzとを用いて、係数予測式を演算し、クラスごとの展開タップ係数を求める(生成する)。そして、係数生成部282は、展開タップ係数を、合成部283に供給する。
 合成部283は、フィルタ情報記憶部281から供給される(採用)誤差係数と、係数生成部282から供給される展開タップ係数とを合成し、その結果得られるクラスごとの合成タップ係数を、係数取得部293に供給する。
 タップ選択部291ないし予測演算部294は、図15の予測装置100のタップ選択部101ないし予測演算部104とそれぞれ同様に構成され、合成部283で得られる合成タップ係数と、演算部210(図21)からの復号画像との積を項として有するファイン予測式の演算を行うファイン予測を行う。
 すなわち、タップ選択部291及びクラス分類部292には、演算部210からの復号画像が供給される。
 タップ選択部291は、復号画像の画素を、順次、注目画素に選択する。さらに、タップ選択部291は、注目画素について、タップ選択部251(図23)と同一の画素を、予測タップに選択し、予測演算部294に供給する。
 クラス分類部292は、クラス分類部252と同様に、復号画像を用いて、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、係数取得部293に供給する。
 係数取得部293は、合成部283からのクラスごとの合成タップ係数を記憶し、その記憶した合成タップ係数のうちの、クラス分類部292からの注目画素のクラスの合成タップ係数を取得する。さらに、係数取得部293は、注目画素のクラスの合成タップ係数を、予測演算部294に供給する。
 予測演算部294は、タップ選択部291からの予測タップと、係数取得部293から供給される合成タップ係数とを用いて、ファイン予測式の演算を行うことにより、ファイン予測値を求め、そのファイン予測値を画素値とするフィルタ画像を、フレームメモリ212(図21)に供給する。
 <符号化処理>
 図25は、図21の符号化装置20の符号化処理の例を説明するフローチャートである。
 なお、図25等に示す符号化処理の各ステップの順番は、説明の便宜上の順番であり、実際の符号化処理の各ステップは、適宜、並列的に、必要な順番で行われる。後述する処理についても、同様である。
 符号化装置20において、ILF211の学習装置231(図23)は、そこに供給される復号画像を一時記憶するとともに、その復号画像に対応する元画像を一時記憶する。
 そして、学習装置231は、ステップS101において、現在のタイミングが、誤差係数を更新する更新タイミングであるかどうかを判定する。
 ここで、誤差係数の更新タイミングは、例えば、1以上のフレーム(ピクチャ)ごとや、1以上のシーケンスごと、1以上のスライスごと、CTU等の所定のブロックの1以上のラインごと等のように、あらかじめ決めておくことができる。
 また、誤差係数の更新タイミングとしては、1以上のフレーム(ピクチャ)ごとのタイミングのような周期的(固定的)なタイミングの他、フィルタ画像のS/Nが閾値以下になったタイミング(フィルタ画像の、元画像に対する誤差が閾値以上になったタイミング)や、残差(の絶対値和等)が閾値以上になったタイミング等の、いわば動的なタイミングを採用することができる。
 ここでは、例えば、学習装置231が、復号画像及び元画像の1フレームを用いて、誤差係数学習を行うこととし、したがって、1フレームごとのタイミングが更新タイミングであることとする。
 ステップS101において、現在のタイミングが、誤差係数の更新タイミングでないと判定された場合、処理は、ステップS102ないしS106をスキップして、ステップS107に進む。
 また、ステップS101において、現在のタイミングが、誤差係数の更新タイミングであると判定された場合、処理は、ステップS102に進み、学習装置231は、種係数記憶部233(図22)に記憶された複数セットのプリセット種係数それぞれについて、クラスごとの誤差係数を求める誤差係数学習を行う。
 すなわち、学習装置231は、例えば、前回の更新タイミングから、今回の更新タイミングまでの間に記憶した復号画像及び元画像(ここでは、学習装置231(ILF211)に供給された最新の1フレームの復号画像及び元画像等)、取得可能情報、及び、種係数記憶部233に記憶されたプリセット種係数を用いて、誤差係数学習を行い、種係数記憶部233(図22)に記憶された複数セットのプリセット種係数それぞれについて、クラスごとの誤差係数を求める。
 そして、処理は、ステップS102からステップS103に進み、学習装置231は、種係数記憶部233に記憶された複数セットのプリセット種係数それぞれについてのクラスごとの誤差係数それぞれについて、その誤差係数を用いてファイン予測を行った場合に符号化効率が最良になるように、誤差係数を表現するビット列の小数点位置を決定して、処理は、ステップS104に進む。
 ステップS104では、学習装置231は、種係数記憶部233に記憶された複数セットのプリセット種係数の中から、プリセット種係数から得られる展開タップ係数と、そのプリセット種係数に対して得られた誤差係数とを合成した合成タップ係数を用いてフィルタ処理としてのファイン予測を行った場合に、符号化効率を最良にするプリセット種係数を、採用プリセット種係数に決定する。さらに、学習装置231は、採用プリセット種係数に対して得られた(クラスごとの)誤差係数を、採用誤差係数に決定し、処理は、ステップS104からステップS105に進む。
 ステップS105では、学習装置231は、採用プリセット係数を表す選択情報、及び、採用誤差係数を含むフィルタ情報を生成し、予測装置232(図24)、及び、可逆符号化部206(図21)に供給する。
 可逆符号化部206(図21)は、学習装置231からのフィルタ情報を、伝送対象に設定して、処理は、ステップS105からステップS106に進む。伝送対象に設定されたフィルタ情報は、後述するステップS107で行われる予測符号化処理において符号化ビットストリームに含められて伝送される。
 ステップS106では、予測装置232が、学習装置231からのフィルタ情報に含まれるクラスごとの(採用)誤差係数、及び、選択情報に従って、フィルタ情報記憶部281(図24)に記憶されているクラスごとの誤差係数、及び、選択情報を更新し(フィルタ情報を上書きする形で記憶させ)、処理は、ステップS107に進む。
 ステップS107では、元画像の予測符号化処理が行われ、符号化処理は終了する。
 図26は、図25のステップS107の予測符号化処理の例を説明するフローチャートである。
 予測符号化処理では、ステップS111において、A/D変換部201(図21)は、元画像をA/D変換し、並べ替えバッファ202に供給して、処理は、ステップS112に進む。
 ステップS112において、並べ替えバッファ202は、A/D変換部201からの元画像を記憶し、符号化順に並べ替えて出力し、処理は、ステップS113に進む。
 ステップS113では、イントラ予測部214は、イントラ予測モードのイントラ予測処理を行い、処理は、ステップS114に進む。ステップS114において、動き予測補償部215は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行い、処理は、ステップS115に進む。
 イントラ予測部214のイントラ予測処理、及び、動き予測補償部215のインター動き予測処理では、各種の予測モードのコスト関数が演算されるとともに、予測画像が生成される。
 ステップS115では、予測画像選択部216は、イントラ予測部214及び動き予測補償部215で得られる各コスト関数に基づいて、最適な予測モードを決定する。そして、予測画像選択部216は、イントラ予測部214により生成された予測画像と、動き予測補償部215により生成された予測画像のうちの最適な予測モードの予測画像を選択して出力し、処理は、ステップS115からステップS116に進む。
 ステップS116では、演算部203は、並べ替えバッファ202が出力する元画像である符号化対象の対象画像と、予測画像選択部216が出力する予測画像との残差を演算し、直交変換部204に供給して、処理は、ステップS117に進む。
 ステップS117では、直交変換部204は、演算部203からの残差を直交変換し、その結果得られる直交変換係数を、量子化部205に供給して、処理は、ステップS118に進む。
 ステップS118では、量子化部205は、直交変換部204からの直交変換係数を量子化し、その量子化により得られる量子化係数を、可逆符号化部206及び逆量子化部208に供給して、処理は、ステップS119に進む。
 ステップS119では、逆量子化部208は、量子化部205からの量子化係数を逆量子化し、その結果得られる直交変換係数を、逆直交変換部209に供給して、処理は、ステップS120に進む。ステップS120では、逆直交変換部209は、逆量子化部208からの直交変換係数を逆直交変換し、その結果得られる残差を、演算部210に供給して、処理は、ステップS121に進む。
 ステップS121では、演算部210は、逆直交変換部209からの残差と、予測画像選択部216が出力する予測画像とを加算し、演算部203での残差の演算の対象となった元画像に対応する復号画像を生成する。演算部210は、復号画像を、ILF211に供給し、処理は、ステップS121からステップS122に進む。
 ステップS122では、ILF211は、演算部210からの復号画像に、フィルタ処理としてのファイン予測を、クラス分類予測処理によって施し、そのフィルタ処理としてのファイン予測により得られるフィルタ画像を、フレームメモリ212に供給して、処理は、ステップS122からステップS123に進む。
 ステップS123では、フレームメモリ212は、ILF211から供給されるフィルタ画像を、元画像を復元した復元画像として記憶し、処理は、ステップS124に進む。フレームメモリ212に復元画像として記憶されたフィルタ画像は、ステップS114やS115で、予測画像を生成する元となる参照画像として使用される。
 ステップS124では、可逆符号化部206は、量子化部205からの量子化係数である符号化データを符号化し、その符号化データを含む符号化ビットストリームを生成する。さらに、可逆符号化部206は、量子化部205での量子化に用いられた量子化パラメータQPや、イントラ予測部214でのイントラ予測処理で得られた予測モード、動き予測補償部215でのインター動き予測処理で得られた予測モードや動き情報等の符号化情報を必要に応じて符号化し、符号化ビットストリームに含める。
 また、可逆符号化部206は、図25のステップS105で伝送対象に設定されたフィルタ情報を必要に応じて符号化し、符号化ビットストリームに含める。そして、可逆符号化部206は、符号化ビットストリームを、蓄積バッファ207に供給し、処理は、ステップS124からステップS125に進む。
 ステップS125において、蓄積バッファ207は、可逆符号化部206からの符号化ビットストリームを蓄積し、処理は、ステップS126に進む。蓄積バッファ207に蓄積された符号化ビットストリームは、適宜読み出されて伝送される。
 ステップS126では、レート制御部217は、蓄積バッファ207に蓄積されている符号化ビットストリームの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部205の量子化動作のレートを制御し、符号化処理は終了する。
 図27は、図26のステップS122で行われるフィルタ処理の例を説明するフローチャートである。
 ステップS131において、ILF211の予測装置232(図24)は、演算部210から供給される復号画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素に選択し、処理は、ステップS132に進む。
 ステップS132において、予測装置232は、注目画素について、復号画像の画素の幾つかを予測タップに選択し、処理は、ステップS133に進む。
 ステップS133では、予測装置232は、注目画素のクラス分類を行い、処理は、ステップS134に進む。
 ステップS134では、予測装置232は、注目画素の取得可能情報に応じた値を、パラメータzに選択する。さらに、予測装置232は、種係数記憶部233に記憶されている複数セットのプリセット種係数のうちの、ステップS106(図25)でフィルタ情報記憶部281に記憶された最新の選択情報が表す(採用)プリセット種係数と、注目画素の取得可能情報に応じた値のパラメータzとから、係数予測式を演算することにより、クラスごとの展開タップ係数を生成し、処理は、ステップS134からステップS135に進む。
 ステップS135では、予測装置232は、展開タップ係数と、ステップS106(図25)でフィルタ情報記憶部281に記憶された最新の誤差係数とを合成して、クラスごとの合成タップ係数を生成し、処理は、ステップS136に進む。
 ステップS136では、予測装置232は、クラスごとの合成タップ係数から、注目画素のクラスの合成タップ係数を取得し、処理は、ステップS137に進む。
 ステップS137では、予測装置232は、注目画素についての予測タップと、注目画素のクラスの合成タップ係数とを用いて構成されるファイン予測式を、復号画像に適用するフィルタ処理、すなわち、ファイン予測式の演算(積和演算)を行い、フィルタ画像を求める。
 その後、処理は、ステップS137からステップS138に進み、予測装置232は、演算部210からの復号画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS138において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS131に戻り、以下、同様の処理が繰り返される。
 また、ステップS138において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS139に進み、予測装置232は、演算部210からの復号画像(としてのブロック)に対して得られた画素値で構成されるフィルタ画像を、フレームメモリ212(図21)に供給する。そして、フィルタ処理は終了され、処理はリターンする。
 <復号装置30の構成例>
 図28は、図1の復号装置30の詳細な構成例を示すブロック図である。
 図28において、復号装置30は、蓄積バッファ301、可逆復号部302、逆量子化部303、逆直交変換部304、演算部305、ILF306、並べ替えバッファ307、及び、D/A変換部308を有する。また、復号装置30は、フレームメモリ310、選択部311、イントラ予測部312、動き予測補償部313、及び、選択部314を有する。
 蓄積バッファ301は、符号化装置20から伝送されてくる符号化ビットストリームを一時蓄積し、所定のタイミングにおいて、その符号化ビットストリームを、可逆復号部302に供給する。
 可逆復号部302は、蓄積バッファ301からの符号化ビットストリームを受信し、図21の可逆符号化部206の符号化方式に対応する方式で復号する。
 そして、可逆復号部302は、符号化ビットストリームの復号結果に含まれる符号化データとしての量子化係数を、逆量子化部303に供給する。
 また、可逆復号部302は、パースを行う機能を有する。可逆復号部302は、符号化ビットストリームの復号結果をパースし、必要な符号化情報やフィルタ情報を得て、符号化情報を、イントラ予測部312や動き予測補償部313その他の必要なブロックに供給する。さらに、可逆復号部302は、フィルタ情報を、ILF306に供給する。
 逆量子化部303は、可逆復号部302からの符号化データとしての量子化係数を、図21の量子化部205の量子化方式に対応する方式で逆量子化し、その逆量子化により得られる直交変換係数を、逆直交変換部304に供給する。
 逆直交変換部304は、逆量子化部303から供給される直交変換係数を、図21の直交変換部204の直交変換方式に対応する方式で逆直交変換し、その結果得られる残差を、演算部305に供給する。
 演算部305には、逆直交変換部304から残差が供給される他、選択部314を介して、イントラ予測部312又は動き予測補償部313から予測画像が供給される。
 演算部305は、逆直交変換部304からの残差と、選択部314からの予測画像とを加算し、復号画像を生成して、ILF306に供給する。
 ILF306は、図21のILF211と同様に、クラス分類予測処理によるフィルタ処理を行い、元画像を予測(復元)する。
 ILF306には、演算部305から復号画像が供給されるとともに、可逆復号部302からフィルタ情報が供給される他、符号化ビットストリームから取得可能な取得可能情報が供給される。すなわち、復号装置30では、符号化ビットストリームから、展開タップ係数の生成に用いるパラメータzの生成(選択)に必要となる符号化情報や、符号化データを復号することにより得られる復号画像の画像特徴量等の取得可能情報が取得され、ILF306に供給される。
 ILF306は、図21のILF211が記憶しているのと同一の複数セットのプリセット種係数を記憶している。ILF306は、フィルタ情報に含まれる(採用)誤差係数と、フィルタ情報に含まれる選択情報が表すプリセット種係数から得られる展開タップ係数とを合成した合成タップ係数を用いて構成されるファイン予測式を、演算部305からの復号画像に適用するフィルタ処理としてのクラス分類予測処理を行うことにより、元画像を予測したフィルタ画像を生成する。
 すなわち、ILF306は、演算部305からの復号画像を第1の画像として、クラスごとの合成タップ係数を用いたクラス分類予測処理を行うことで、第1の画像としての復号画像を、元画像に相当する第2の画像としてのフィルタ画像に変換して(フィルタ画像を生成して)出力する。
 ILF306が出力するフィルタ画像は、図21のILF211が出力するフィルタ画像と同様の画像であり、並べ替えバッファ307及びフレームメモリ310に供給される。
 並べ替えバッファ307は、ILF306から供給されるフィルタ画像を、元画像を復元した復元画像として一時記憶し、復元画像のフレーム(ピクチャ)の並びを、符号化(復号)順から表示順に並べ替え、D/A変換部308に供給する。
 D/A変換部308は、並べ替えバッファ307から供給される復元画像をD/A変換し、図示せぬディスプレイに出力して表示させる。
 フレームメモリ310は、ILF306から供給されるフィルタ画像を一時記憶する。さらに、フレームメモリ310は、所定のタイミングにおいて、又は、イントラ予測部312や動き予測補償部313等の外部の要求に基づいて、フィルタ画像を、予測画像の生成に用いる参照画像として、選択部311に供給する。
 選択部311は、フレームメモリ310から供給される参照画像の供給先を選択する。選択部311は、イントラ符号化された画像を復号する場合、フレームメモリ310から供給される参照画像をイントラ予測部312に供給する。また、選択部311は、インター符号化された画像を復号する場合、フレームメモリ310から供給される参照画像を動き予測補償部313に供給する。
 イントラ予測部312は、可逆復号部302から供給される符号化情報に含まれる予測モードに従い、図21のイントラ予測部214において用いられたイントラ予測モードで、フレームメモリ310から選択部311を介して供給される参照画像を用いてイントラ予測を行う。そして、イントラ予測部312は、イントラ予測により得られる予測画像を、選択部314に供給する。
 動き予測補償部313は、可逆復号部302から供給される符号化情報に含まれる予測モードに従い、図21の動き予測補償部215において用いられたインター予測モードで、フレームメモリ310から選択部311を介して供給される参照画像を用いてインター予測を行う。インター予測は、可逆復号部302から供給される符号化情報に含まれる動き情報等を必要に応じて用いて行われる。
 動き予測補償部313は、インター予測により得られる予測画像を、選択部314に供給する。
 選択部314は、イントラ予測部312から供給される予測画像、又は、動き予測補償部313から供給される予測画像を選択し、演算部305に供給する。
 なお、図28において、可逆復号部302が図9のパース部31に、逆量子化部303ないし演算部305が図9の復号部32に、ILF306が図9のフィルタ部33に、それぞれ相当する。
 <ILF306の構成例>
 図29は、図28のILF306の構成例を示すブロック図である。
 図29において、ILF306は、予測装置331及び種係数記憶部332を有する。
 予測装置331には、演算部305(図28)から復号画像が供給されるとともに、可逆復号部302からフィルタ情報が供給される。さらに、予測装置331には、取得可能情報が供給される。
 予測装置331は、取得可能情報、フィルタ情報、及び、種係数記憶部332に記憶されたプリセット種係数を用いて、ファイン予測を行い、元画像の予測値であるファイン予測値を画素値とするフィルタ画像を生成して、並べ替えバッファ307及びフレームメモリ310(図28)に供給する。
 すなわち、予測装置331は、取得可能情報に応じた値をパラメータzに選択する。さらに、予測装置331は、種係数記憶部332に記憶された複数セットのプリセット種係数のうちの、フィルタ情報に含まれる選択情報が表すプリセット種係数及びパラメータzを用いて、クラスごとの展開タップ係数を求める。
 また、予測装置331は、クラスごとの展開タップ係数と、フィルタ情報に含まれるクラスごとの(採用)誤差係数とを合成し、クラスごとの合成タップ係数を求める。さらに、予測装置331は、クラスごとの合成タップ係数と復号画像とを用いて、ファイン予測を行うことにより、元画像の予測値であるファイン予測値を画素値とするフィルタ画像を生成し、並べ替えバッファ307及びフレームメモリ310に供給する。
 種係数記憶部332は、種係数記憶部233(図22)に記憶されているのと同一の複数セットのプリセット種係数を記憶している。
 <予測装置331の構成例>
 図30は、図29の予測装置331の構成例を示すブロック図である。
 図30において、予測装置331は、フィルタ情報記憶部341、係数生成部342、合成部343、タップ選択部351、クラス分類部352、係数取得部353、及び、予測演算部354を有する。
 フィルタ情報記憶部341ないし合成部343、及び、タップ選択部351ないし予測演算部354は、図24のフィルタ情報記憶部281ないし合成部283、及び、タップ選択部291ないし予測演算部294とそれぞれ同様に構成され、予測装置331では、図24の予測装置232と同様の処理が行われるので、説明を省略する。
 <復号処理>
 図31は、図28の復号装置30の復号処理の例を説明するフローチャートである。
 復号処理では、ステップS201において、蓄積バッファ301は、符号化装置20から伝送されてくる符号化ビットストリームを一時蓄積し、適宜、可逆復号部302に供給して、処理は、ステップS202に進む。
 ステップS202では、可逆復号部302は、蓄積バッファ301から供給される符号化ビットストリームを受け取って復号し、符号化ビットストリームの復号結果に含まれる符号化データとしての量子化係数を、逆量子化部303に供給する。
 また、可逆復号部302は、符号化ビットストリームの復号結果をパースして、符号化ビットストリームの復号結果に、フィルタ情報や符号化情報が含まれる場合には、そのフィルタ情報や符号化情報を得る。そして、可逆復号部302は、必要な符号化情報を、イントラ予測部312や動き予測補償部313その他の必要なブロックに供給する。また、可逆復号部302は、フィルタ情報を、ILF306に供給する。
 その後、処理は、ステップS202からステップS203に進み、ILF306は、可逆復号部302からフィルタ情報が供給されたかどうかを判定する。
 ステップS203において、フィルタ情報が供給されていないと判定された場合、処理は、ステップS204をスキップして、ステップS205に進む。
 また、ステップS203において、フィルタ情報が供給されたと判定された場合、処理は、ステップS204に進み、予測装置331(図30)が、可逆復号部302からのフィルタ情報を取得する。さらに、予測装置331は、可逆復号部302からのフィルタ情報に含まれるクラスごとの誤差係数及び選択情報に従って、予測装置331のフィルタ情報記憶部341に記憶されているクラスごとの誤差係数及び選択情報を更新する。
 そして、処理は、ステップS204からステップS205に進み、予測復号処理が行われ、復号処理は終了する。
 図32は、図31のステップS205の予測復号処理の例を説明するフローチャートである。
 ステップS211において、逆量子化部303は、可逆復号部302からの量子化係数を逆量子化し、その結果得られる直交変換係数を、逆直交変換部304に供給して、処理は、ステップS212に進む。
 ステップS212では、逆直交変換部304は、逆量子化部303からの直交変換係数を逆直交変換し、その結果得られる残差を、演算部305に供給して、処理は、ステップS213に進む。
 ステップS213では、イントラ予測部312又は動き予測補償部313が、フレームメモリ310から選択部311を介して供給される参照画像、及び、可逆復号部302から供給される符号化情報を用いて、予測画像を生成するイントラ予測処理又はインター動き予測処理を行う。そして、イントラ予測部312又は動き予測補償部313は、イントラ予測処理又はインター動き予測処理により得られる予測画像を、選択部314に供給し、処理は、ステップS213からステップS214に進む。
 ステップS214では、選択部314は、イントラ予測部312又は動き予測補償部313から供給される予測画像を選択し、演算部305に供給して、処理は、ステップS215に進む。
 ステップS215では、演算部305は、逆直交変換部304からの残差と、選択部314からの予測画像を加算することにより、復号画像を生成する。そして、演算部305は、復号画像を、ILF306に供給して、処理は、ステップS215からステップS216に進む。
 ステップS216では、ILF306は、演算部305からの復号画像に、フィルタ処理としてのファイン予測を、クラス分類予測処理によって施し、そのフィルタ処理としてのファイン予測により得られるフィルタ画像を、並べ替えバッファ307及びフレームメモリ310に供給して、処理は、ステップS216からステップS217に進む。
 ステップS217では、並べ替えバッファ307は、ILF306から供給されるフィルタ画像を、復元画像として一時記憶する。さらに、並べ替えバッファ307は、記憶した復元画像を、表示順に並べ替えて、D/A変換部308に供給し、処理は、ステップS217からステップS218に進む。
 ステップS218では、D/A変換部308は、並べ替えバッファ307からの復元画像をD/A変換し、処理は、ステップS219に進む。D/A変換後の復元画像は、図示せぬディスプレイに出力されて表示される。
 ステップS219では、フレームメモリ310は、ILF306から供給されるフィルタ画像を、復元画像として記憶し、復号処理は終了する。フレームメモリ310に記憶された復元画像は、ステップS213のイントラ予測処理又はインター動き予測処理で、予測画像を生成する元となる参照画像として使用される。
 図33は、図32のステップS216で行われるフィルタ処理の例を説明するフローチャートである。
 ステップS221において、ILF306の予測装置331(図30)は、演算部305から供給される復号画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素に選択し、処理は、ステップS222に進む。
 ステップS222において、予測装置331は、注目画素について、復号画像の画素の幾つかを予測タップに選択し、処理は、ステップS223に進む。
 ステップS223では、予測装置331は、注目画素のクラス分類を行い、処理は、ステップS224に進む。
 ステップS224では、予測装置331は、注目画素の取得可能情報に応じた値を、パラメータzに選択する。さらに、予測装置331は、種係数記憶部332(図29)に記憶されている複数セットのプリセット種係数のうちの、ステップS204(図31)でフィルタ情報記憶部341(図30)に記憶された最新の選択情報が表す(採用)プリセット種係数と、注目画素の取得可能情報に応じた値のパラメータzとから、クラスごとの展開タップ係数を生成し、処理は、ステップS224からステップS225に進む。
 ステップS225では、予測装置331は、展開タップ係数と、ステップS204(図31)でフィルタ情報記憶部341に記憶された最新の誤差係数とを合成して、クラスごとの合成タップ係数を生成し、処理は、ステップS226に進む。
 ステップS226では、予測装置331は、クラスごとの合成タップ係数から、注目画素のクラスの合成タップ係数を取得し、処理は、ステップS227に進む。
 ステップS227では、予測装置331は、注目画素についての予測タップと、注目画素のクラスの合成タップ係数とを用いて構成されるファイン予測式を、復号画像に適用するフィルタ処理、すなわち、ファイン予測式の演算(積和演算)を行い、フィルタ画像を求める。
 その後、処理は、ステップS227からステップS228に進み、予測装置331は、演算部305からの復号画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS228において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS221に戻り、以下、同様の処理が繰り返される。
 また、ステップS228において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS229に進み、予測装置331は、演算部305からの復号画像(としてのブロック)に対して得られた画素値で構成されるフィルタ画像を、並べ替えバッファ307及びフレームメモリ310(図28)に供給する。そして、フィルタ処理は終了され、処理はリターンする。
 なお、図21ないし図33においては、符号化装置20において、誤差係数学習を逐次行い、その誤差係数学習により得られる誤差係数をフィルタ情報に含めて伝送することとしたが、誤差係数学習を行わずに、符号化装置20及び復号装置30では、フィルタ処理として、誤差係数を用いるファイン予測ではなく、誤差係数を用いないプリセット予測を行うことができる。この場合、符号化装置20から復号装置30に誤差係数を伝送する必要がなくなる。
 また、図21ないし図33では、符号化装置20において、複数セットのプリセット種係数のうちの、符号化効率を最良にするプリセット種係数を、フィルタ処理に採用する採用プリセット係数に決定することとしたが、採用プリセット係数の決定は、その他、例えば、量子化パラメータQP等の取得可能情報に応じて行うことができる。
 すなわち、例えば、複数の量子化パラメータQPそれぞれに対して、符号化効率が良くなるプリセット種係数を求めておき、符号化装置20及び復号装置30において、複数の量子化パラメータQPに対して求められた複数のプリセット種係数の中から、注目画素の量子化パラメータQP(例えば、注目画素のフレームのQPの平均値等)に対するプリセット種係数を、採用プリセット係数に決定することができる。この場合、符号化装置20から復号装置30に選択情報を伝送する必要がなくなるので、符号化効率を向上させることができる。
 また、符号化装置20及び復号装置30には、プリセット種係数は、複数セットではなく、1セットだけ記憶させておき、その1セットのプリセット種係数を固定的に用いてフィルタ処理を行うことができる。この場合、符号化装置20から復号装置30に選択情報を伝送する必要がなくなるので、符号化効率を向上させることができる。
 <本技術を適用したコンピュータの説明>
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 図34は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク405やROM403に予め記録しておくことができる。
 あるいはまた、プログラムは、リムーバブル記録媒体411に格納(記録)しておくことができる。このようなリムーバブル記録媒体411は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体411としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブル記録媒体411からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク405にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
 コンピュータは、CPU(Central Processing Unit)402を内蔵しており、CPU402には、バス401を介して、入出力インタフェース410が接続されている。
 CPU402は、入出力インタフェース410を介して、ユーザによって、入力部407が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)403に格納されているプログラムを実行する。あるいは、CPU402は、ハードディスク405に格納されたプログラムを、RAM(Random Access Memory)404にロードして実行する。
 これにより、CPU402は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU402は、その処理結果を、必要に応じて、例えば、入出力インタフェース410を介して、出力部406から出力、あるいは、通信部408から送信、さらには、ハードディスク405に記録等させる。
 なお、入力部407は、キーボードや、マウス、マイク等で構成される。また、出力部406は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 なお、本技術は、以下の構成をとることができる。
 <1>
 符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、
 前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部と
 を備える復号装置。
 <2>
 前記フィルタ部は、前記符号化ビットストリームから取得可能な取得可能情報に応じた値を前記パラメータとして用いて求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <1>に記載の復号装置。
 <3>
 前記取得可能情報は、前記復号画像の画像特徴量、又は、前記復号画像に対する元画像の符号化に関する符号化情報である
 <2>に記載の復号装置。
 <4>
 前記フィルタ部は、複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <1>ないし<3>のいずれかに記載の復号装置。
 <5>
 前記フィルタ部は、前記符号化ビットストリームから取得可能な取得可能情報に応じて複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <4>に記載の復号装置。
 <6>
 前記符号化ビットストリームに含まれる複数セットの前記種係数から選択された前記種係数のセットを表す選択情報をパースするパース部をさらに備え、
 前記フィルタ部は、前記パース部によりパースされた前記選択情報に応じて複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <4>に記載の復号装置。
 <7>
 前記符号化ビットストリームに含まれる、
  前記展開タップ係数と前記復号画像の画素との積を項として有する前記予測式であるプリセット予測式の演算を行うプリセット予測により得られる前記復号画像に対する元画像の予測値の誤差であるプリセット予測誤差を予測する前記予測式である誤差予測式の前記タップ係数である誤差係数
 をパースするパース部をさらに備え、
 前記フィルタ部は、前記パース部によりパースされた前記誤差係数と前記展開タップ係数とを合成した合成タップ係数を用いて構成される前記予測式であるファイン予測式を用いて、前記フィルタ処理を行う
 <1>ないし<6>のいずれかに記載の復号装置。
 <8>
 前記符号化ビットストリームに含まれる前記展開タップ係数を求めるときに用いる前記パラメータをパースするパース部をさらに備え、
 前記フィルタ部は、前記パース部によりパースされた前記パラメータと前記種係数とを用いて構成される係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <1>に記載の復号装置。
 <9>
 前記フィルタ部は、
  前記復号画像の画素のうちの注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
  前記復号画像に、クラスごとの前記種係数のうちの、前記注目画素のクラスの前記種係数から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <1>ないし<8>のいずれかに記載の復号装置。
 <10>
 前記復号部は、Quad-Tree Block Structure、または、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記符号化データを復号する
 <1>ないし<9>のいずれかに記載の復号装置。
 <11>
 符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、
 前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することと
 を含む復号方法。
 <12>
 所定のタップ係数と局所復号された復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を、前記復号画像に適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、
 前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部と
 を備える符号化装置。
 <13>
 前記フィルタ部は、前記元画像を符号化することにより得られる符号化データを含む符号化ビットストリームから取得可能な取得可能情報に応じた値を前記パラメータとして用いて求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <12>に記載の符号化装置。
 <14>
 前記取得可能情報は、前記復号画像の画像特徴量、又は、前記元画像の符号化に関する符号化情報である
 <13>に記載の符号化装置。
 <15>
 前記フィルタ部は、複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <12>に記載の符号化装置。
 <16>
 前記フィルタ部は、前記元画像を符号化することにより得られる符号化データを含む符号化ビットストリームから取得可能な取得可能情報に応じて複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <15>に記載の符号化装置。
 <17>
 前記符号化部は、前記元画像を符号化することにより得られる符号化データと、複数セットの前記種係数から選択された前記種係数のセットを表す選択情報とを含む符号化ビットストリームを生成する
 <15>に記載の符号化装置。
 <18>
 前記フィルタ部は、
  前記展開タップ係数と前記復号画像の画素との積を項として有する前記予測式であるプリセット予測式の演算を行うプリセット予測により得られる前記元画像の予測値の誤差であるプリセット予測誤差を予測する前記予測式である誤差予測式の前記タップ係数である誤差係数と、
  前記展開タップ係数と
 を合成した合成タップ係数を用いて構成される前記予測式であるファイン予測式を用いて、前記フィルタ処理を行い、
 前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記誤差係数とを含む符号化ビットストリームを生成する
 <12>ないし<17>のいずれかに記載の符号化装置。
 <19>
 前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記展開タップ係数を求めるときに用いる前記パラメータとを含む符号化ビットストリームを生成する
 <12>に記載の符号化装置。
 <20>
 前記フィルタ部は、
  前記復号画像の画素のうちの注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
  クラスごとの前記種係数のうちの、前記注目画素のクラスの前記種係数から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
 <12>ないし<19>のいずれかに記載の符号化装置。
 <21>
 前記符号化部は、Quad-Tree Block Structure、または、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記元画像を符号化する
 <12>ないし<20>のいずれかに記載の符号化装置。
 <22>
 所定のタップ係数と局所復号された復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を、前記復号画像に適用するフィルタ処理を行い、フィルタ画像を生成することと、
 前記フィルタ画像を用いて、元画像を符号化することと
 を含む符号化方法。
 20 符号化装置, 21 符号化部, 23 局所復号部, 24 フィルタ部, 30 復号装置, 31 パース部, 32 復号部, 33 フィルタ部, 40 学習装置, 41 符号化部, 42 クラス分類部, 43 学習部, 44,51 DB, 52 クラス分類部, 53 係数生成部, 54 プリセットYOSHI区部, 55 誤差係数学習部, 56 DB, 57 決定部, 58 合成部, 59 ファイン予測部, 61 DB, 62 クラス分類部, 63 係数生成部, 64 合成部, 65 ファイン予測部, 100 予測装置, 101 タップ選択部, 102 クラス分類部, 103 係数取得部, 104 予測演算部, 110 学習装置, 111 教師画像生成部, 112 生徒画像生成部, 113 学習部, 121 タップ選択部, 122 クラス分類部, 123 足し込み部, 124 係数算出部, 130 予測装置, 131 係数取得部, 140 学習装置, 141 パラメータ生成部, 142 生徒画像生成部, 143 学習部, 151 足し込み部, 152 係数算出部, 201 A/D変換部, 202 並べ替えバッファ, 203 演算部, 204 直交変換部, 205 量子化部, 206 可逆符号化部, 207 蓄積バッファ, 208 逆量子化部, 209 逆直交変換部, 210 演算部, 211 ILF, 212 フレームメモリ, 213 選択部, 214 イントラ予測部, 215 動き予測補償部, 216 予測画像選択部, 217 レート制御部, 231 学習装置, 232 予測装置, 233 種係数記憶部, 241 選択部, 242 プリセット予測部, 243 予測誤差生成部, 244 学習部, 245 決定部, 250 係数生成部, 251 タップ選択部, 252 クラス分類部, 253 係数取得部, 254 予測演算部, 261 タップ選択部, 262 クラス分類部, 263 足し込み部, 264 係数算出部, 281 フィルタ情報記憶部, 282 係数生成部, 283 合成部, 291 タップ選択部, 292 クラス分類部, 293 係数取得部, 294 予測演算部, 301 蓄積バッファ, 302 可逆復号部, 303 逆量子化部, 304 逆直交変換部, 305 演算部, 306 ILF, 307 並べ替えバッファ, 308 D/A変換部, 310 フレームメモリ, 311 選択部, 312 イントラ予測部, 313 動き予測補償部, 314 選択部, 331 予測装置, 332 種係数記憶部, 341 フィルタ情報記憶部, 342 係数生成部, 343 合成部, 351 タップ選択部, 352 クラス分類部, 353 係数取得部, 354 予測演算部, 401 バス, 402 CPU, 403 ROM, 404 RAM, 405 ハードディスク, 406 出力部, 407 入力部, 408 通信部, 409 ドライブ, 410 入出力インタフェース, 411 リムーバブル記録媒体

Claims (22)

  1.  符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、
     前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部と
     を備える復号装置。
  2.  前記フィルタ部は、前記符号化ビットストリームから取得可能な取得可能情報に応じた値を前記パラメータとして用いて求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項1に記載の復号装置。
  3.  前記取得可能情報は、前記復号画像の画像特徴量、又は、前記復号画像に対する元画像の符号化に関する符号化情報である
     請求項2に記載の復号装置。
  4.  前記フィルタ部は、複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項1に記載の復号装置。
  5.  前記フィルタ部は、前記符号化ビットストリームから取得可能な取得可能情報に応じて複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項4に記載の復号装置。
  6.  前記符号化ビットストリームに含まれる複数セットの前記種係数から選択された前記種係数のセットを表す選択情報をパースするパース部をさらに備え、
     前記フィルタ部は、前記パース部によりパースされた前記選択情報に応じて複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項4に記載の復号装置。
  7.  前記符号化ビットストリームに含まれる、
      前記展開タップ係数と前記復号画像の画素との積を項として有する前記予測式であるプリセット予測式の演算を行うプリセット予測により得られる前記復号画像に対する元画像の予測値の誤差であるプリセット予測誤差を予測する前記予測式である誤差予測式の前記タップ係数である誤差係数
     をパースするパース部をさらに備え、
     前記フィルタ部は、前記パース部によりパースされた前記誤差係数と前記展開タップ係数とを合成した合成タップ係数を用いて構成される前記予測式であるファイン予測式を用いて、前記フィルタ処理を行う
     請求項1に記載の復号装置。
  8.  前記符号化ビットストリームに含まれる前記展開タップ係数を求めるときに用いる前記パラメータをパースするパース部をさらに備え、
     前記フィルタ部は、前記パース部によりパースされた前記パラメータと前記種係数とを用いて構成される係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項1に記載の復号装置。
  9.  前記フィルタ部は、
      前記復号画像の画素のうちの注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
      前記復号画像に、クラスごとの前記種係数のうちの、前記注目画素のクラスの前記種係数から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項1に記載の復号装置。
  10.  前記復号部は、Quad-Tree Block Structure、または、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記符号化データを復号する
     請求項1に記載の復号装置。
  11.  符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、
     前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することと
     を含む復号方法。
  12.  所定のタップ係数と局所復号された復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を、前記復号画像に適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、
     前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部と
     を備える符号化装置。
  13.  前記フィルタ部は、前記元画像を符号化することにより得られる符号化データを含む符号化ビットストリームから取得可能な取得可能情報に応じた値を前記パラメータとして用いて求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項12に記載の符号化装置。
  14.  前記取得可能情報は、前記復号画像の画像特徴量、又は、前記元画像の符号化に関する符号化情報である
     請求項13に記載の符号化装置。
  15.  前記フィルタ部は、複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項12に記載の符号化装置。
  16.  前記フィルタ部は、前記元画像を符号化することにより得られる符号化データを含む符号化ビットストリームから取得可能な取得可能情報に応じて複数セットの前記種係数から選択された前記種係数のセットを用いて構成される前記係数予測式から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項15に記載の符号化装置。
  17.  前記符号化部は、前記元画像を符号化することにより得られる符号化データと、複数セットの前記種係数から選択された前記種係数のセットを表す選択情報とを含む符号化ビットストリームを生成する
     請求項15に記載の符号化装置。
  18.  前記フィルタ部は、
      前記展開タップ係数と前記復号画像の画素との積を項として有する前記予測式であるプリセット予測式の演算を行うプリセット予測により得られる前記元画像の予測値の誤差であるプリセット予測誤差を予測する前記予測式である誤差予測式の前記タップ係数である誤差係数と、
      前記展開タップ係数と
     を合成した合成タップ係数を用いて構成される前記予測式であるファイン予測式を用いて、前記フィルタ処理を行い、
     前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記誤差係数とを含む符号化ビットストリームを生成する
     請求項12に記載の符号化装置。
  19.  前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記展開タップ係数を求めるときに用いる前記パラメータとを含む符号化ビットストリームを生成する
     請求項12に記載の符号化装置。
  20.  前記フィルタ部は、
      前記復号画像の画素のうちの注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
      クラスごとの前記種係数のうちの、前記注目画素のクラスの前記種係数から求められる前記展開タップ係数を用いて構成される前記予測式を用いて、前記フィルタ処理を行う
     請求項12に記載の符号化装置。
  21.  前記符号化部は、Quad-Tree Block Structure、または、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記元画像を符号化する
     請求項12に記載の符号化装置。
  22.  所定のタップ係数と局所復号された復号画像の画素との積和演算を行う予測式を構成する前記タップ係数を近似する、種係数とパラメータとを用いて構成される係数予測式から求められる前記タップ係数である展開タップ係数を用いて構成される前記予測式を、前記復号画像に適用するフィルタ処理を行い、フィルタ画像を生成することと、
     前記フィルタ画像を用いて、元画像を符号化することと
     を含む符号化方法。
PCT/JP2018/043093 2017-12-06 2018-11-22 符号化装置、符号化方法、復号装置、及び、復号方法 WO2019111720A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017234379 2017-12-06
JP2017-234379 2017-12-06

Publications (1)

Publication Number Publication Date
WO2019111720A1 true WO2019111720A1 (ja) 2019-06-13

Family

ID=66750888

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/043093 WO2019111720A1 (ja) 2017-12-06 2018-11-22 符号化装置、符号化方法、復号装置、及び、復号方法

Country Status (1)

Country Link
WO (1) WO2019111720A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023237094A1 (en) * 2022-06-11 2023-12-14 Beijing Bytedance Network Technology Co., Ltd. Extended Taps Using Different Sources for Adaptive Loop Filter in Video Coding
WO2024078566A1 (en) * 2022-10-12 2024-04-18 Douyin Vision Co., Ltd. Multiple input sources based extended taps for adaptive loop filter in video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4670169B2 (ja) * 2000-11-15 2011-04-13 ソニー株式会社 情報信号処理装置、情報信号処理方法、画像信号処理装置およびそれを使用した画像表示装置、それに使用される係数種データ生成装置、並びに情報記録媒体
WO2011105231A1 (ja) * 2010-02-26 2011-09-01 シャープ株式会社 フィルタ係数符号化装置、フィルタ係数復号装置、動画像符号化装置、動画像復号装置、および、データ構造
WO2017191749A1 (ja) * 2016-05-02 2017-11-09 ソニー株式会社 画像処理装置及び画像処理方法
WO2017191750A1 (ja) * 2016-05-02 2017-11-09 ソニー株式会社 符号化装置及び符号化方法、並びに、復号装置及び復号方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4670169B2 (ja) * 2000-11-15 2011-04-13 ソニー株式会社 情報信号処理装置、情報信号処理方法、画像信号処理装置およびそれを使用した画像表示装置、それに使用される係数種データ生成装置、並びに情報記録媒体
WO2011105231A1 (ja) * 2010-02-26 2011-09-01 シャープ株式会社 フィルタ係数符号化装置、フィルタ係数復号装置、動画像符号化装置、動画像復号装置、および、データ構造
WO2017191749A1 (ja) * 2016-05-02 2017-11-09 ソニー株式会社 画像処理装置及び画像処理方法
WO2017191750A1 (ja) * 2016-05-02 2017-11-09 ソニー株式会社 符号化装置及び符号化方法、並びに、復号装置及び復号方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JICHENG AN ET AL.: "Unified Adaptive Loop Filter for Luma and Chroma", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 7TH MEETING: TORINO, 13 July 2017 (2017-07-13), pages 1 - 10 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023237094A1 (en) * 2022-06-11 2023-12-14 Beijing Bytedance Network Technology Co., Ltd. Extended Taps Using Different Sources for Adaptive Loop Filter in Video Coding
WO2024078566A1 (en) * 2022-10-12 2024-04-18 Douyin Vision Co., Ltd. Multiple input sources based extended taps for adaptive loop filter in video coding

Similar Documents

Publication Publication Date Title
JP7217288B2 (ja) ブロック単位の画像符号化のためのイントラ予測モードの概念
US8126053B2 (en) Image encoding/decoding method and apparatus
JP5258664B2 (ja) 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
EP3373582A1 (en) Enhanced intra-prediction coding using planar representations
US20210168395A1 (en) Video processing
WO2019111720A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
CN113994685A (zh) 在分级视频编码中交换信息
WO2019107182A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
US10469874B2 (en) Method for encoding and decoding a media signal and apparatus using the same
US20210168407A1 (en) Encoding device, encoding method, decoding device, and decoding method
WO2019220947A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
WO2019131161A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
US20210266535A1 (en) Data processing apparatus and data processing method
WO2019208258A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
US20220321879A1 (en) Processing image data
JP2001320587A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2001320277A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2001320711A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2002335405A (ja) 画像データ処理装置および方法、記録媒体、並びにプログラム
JP2001346209A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2001345707A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP2007116460A (ja) 符号化装置および方法、復号化装置および方法、プログラム、並びに記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18885895

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: 18885895

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP