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

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

Info

Publication number
WO2019131161A1
WO2019131161A1 PCT/JP2018/045817 JP2018045817W WO2019131161A1 WO 2019131161 A1 WO2019131161 A1 WO 2019131161A1 JP 2018045817 W JP2018045817 W JP 2018045817W WO 2019131161 A1 WO2019131161 A1 WO 2019131161A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
unit
tap
image
filter
Prior art date
Application number
PCT/JP2018/045817
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 ソニー株式会社
Priority to JP2019562969A priority Critical patent/JPWO2019131161A1/ja
Priority to US16/956,553 priority patent/US20210377523A1/en
Publication of WO2019131161A1 publication Critical patent/WO2019131161A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]

Definitions

  • the present technology relates to a coding device, a coding method, a decoding device, and a decoding method, and in particular, for example, a coding device, a coding method, a decoding device, and a decoding method that can improve image quality.
  • a coding device a coding method, a decoding device, and a decoding method that can improve image quality.
  • 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 accuracy of the restoration of the image quality degraded by the encoding may not be sufficient in some cases, and the proposal of an in-loop filter capable of further improving the image quality is required.
  • the present technology has been made in view of such a situation, and is intended to improve the image quality.
  • 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.
  • a filter unit that performs a filter process that applies a DC prediction formula that is a prediction formula that includes a DC (Direct Current) term that performs a product-sum operation of tap coefficients and pixels of the decoded image, and generates the filter image It is a decryption device.
  • a decoding method decodes encoded data included in an encoded bit stream using a filter image to generate a decoded image, and a predetermined tap coefficient and pixels of the decoded image in the decoded image.
  • C. filtering which applies a DC prediction formula that is a prediction formula including a DC (Direct Current) term, and performing a product-sum operation with, 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. Further, a filtering process is performed on the decoded image to apply a DC prediction equation which is a prediction equation including a DC (Direct Current) term for performing a product-sum operation of a predetermined tap coefficient and a pixel of the decoded image. A filtered image is generated.
  • DC Direct Current
  • the encoding device performs DC multiplication on a locally decoded decoded image, which is a prediction equation including a DC (Direct Current) term, which performs product-sum operation of predetermined tap coefficients and pixels of the decoded image. It is an encoding device provided with the filter part which performs the filter process to apply and produces
  • DC Direct Current
  • the encoding method according to the present technique is a DC prediction equation that is a prediction equation including a DC (Direct Current) term that performs product-sum operation of a predetermined tap coefficient and a pixel of the decoded image on a locally decoded decoded image. It is an encoding method including performing a filter process to be applied, generating a filter image, and encoding an original image using the filter image.
  • DC Direct Current
  • a prediction equation including a DC (Direct Current) term that performs product-sum operation of a predetermined tap coefficient and a pixel of the decoded image on a locally decoded decoded image.
  • a filtering process that applies a certain DC prediction formula is performed to generate a filtered image. Then, the original image is encoded using the filter image.
  • DC Direct Current
  • 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 image quality can be improved.
  • FIG. 1 is a block diagram showing an overview of an embodiment of an image processing system to which the present technology is applied.
  • FIG. 6 is a block diagram showing an example of the configuration of filter units 23 and 33.
  • FIG. 6 is a block diagram showing an example configuration of a class classification unit 51 and a prediction unit 52. It is a figure explaining the classification method. It is a figure explaining a prediction method. It is a figure explaining difference ADRC. It is a block diagram showing an example of composition of a class classification part which performs class classification using difference ADRC. It is a figure which shows the example of a threshold value table. It is a figure explaining an example of a plurality of classification methods. It is a figure explaining an example of a plurality of prediction methods.
  • 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. 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 ILF111. It is a block diagram showing an example of composition of learning device 131. As shown in FIG. It is a block diagram showing an example of composition of prediction device 132. As shown in FIG. 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. It is a flowchart explaining the example of filter processing.
  • 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 ILF206.
  • 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 is within the scope of disclosure and meets 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), transform block, subblock, macroblock, tile, slice, etc. Any partial area (processing unit) 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 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.
  • 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 pixel (pixel value of) the pixel as the i-th prediction tap used for prediction is x i , the i-th tap coefficient w i, and the pixel value of the pixel of the second image
  • 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
  • a normal equation is obtained by adding up the coefficients of the respective terms (coefficients of coefficients), and tap coefficients are 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 prediction process, using (the pixel values of) pixels of the first image, the prediction formula
  • the predicted value of the second image is obtained by performing the product-sum operation as the operation of.
  • Performing product-sum operation using the first image can be referred to as filter processing for applying a filter to the first image, and using the first image, product-sum operation of the prediction equation (as calculation of the prediction equation It can be said that the prediction process of performing the product-sum operation of (1) is a type of filter process.
  • 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 prediction tap includes not only the (pixel value of) the pixel itself, but also a value obtained from the pixel, for example, a total sum or an average value of (pixel value of) pixels in a certain block.
  • selecting a pixel or the like as a prediction tap to be used for calculation of a prediction equation is equivalent to putting (connecting) a connection line for supplying an input signal to the tap of the digital filter.
  • Selecting a pixel as a prediction tap used in the calculation of the equation is also referred to as “adding a prediction tap”. The same applies to class taps.
  • Classification means that pixels are classified into any one of a plurality of classes. Class classification is performed using, for example, a class tap or the like.
  • a class tap is (a pixel value of) a pixel used for classification.
  • Class classification using class taps can be performed, for example, by performing threshold processing on image feature quantities of class taps (pixels that have become).
  • classification can also be performed using coding information included in the obtainable information. For example, when a deblocking filter is applied in the encoding apparatus and the decoding apparatus, class classification can be performed using DF (Deblocking Filter) information on the deblocking filter as encoding information. Specifically, for example, in the deblocking filter, classification is performed using, for each pixel as DF information, that either the strong filter or the weak filter has been applied or that neither has been applied. Can.
  • DF Deblocking Filter
  • the high-order term is a term having the product of two or more prediction taps (pixels as) of the terms constituting the polynomial as the prediction formula.
  • the D-th term is a term having the product of D prediction taps among the terms constituting a polynomial as a prediction equation.
  • a first-order term is a term having one prediction tap
  • a second-order term is a term having a product of two tap coefficients.
  • the D-order coefficient means a tap coefficient that constitutes a D-order term.
  • the D-order tap means (the pixel as) the prediction tap that constitutes the D-order term.
  • One pixel may be a D-order tap and a D'-order tap different from the D-order tap.
  • the tap structure of the D-th tap and the tap structure of the D'-th tap different from the D-th tap need not be identical.
  • the tap structure means arrangement of pixels as prediction taps or class taps (for example, based on the position of a pixel of interest).
  • the tap structure can also be referred to as a prediction tap or how to tap a class tap.
  • the DC prediction formula is a prediction formula including a DC term.
  • the DC term is a term of a product of a value representing a DC component of an image as a prediction tap and a tap coefficient among the terms constituting a polynomial as a prediction formula.
  • the DC tap means a prediction tap of a DC term, that is, a value representing a DC component.
  • the DC coefficient means the tap coefficient of the DC term.
  • the primary prediction equation is a prediction equation consisting of only a first order term.
  • the high-order prediction equation is a prediction equation including a high-order term, that is, a prediction equation including a first-order term and a second-order or higher-order term, or a prediction equation including only a second-order or higher-order term.
  • a DC prediction equation in which a DC term is included in a first-order prediction equation is represented by, for example, an equation ww i x i + w DCB DCB.
  • w DCB represents a DC coefficient
  • DCB represents a DC tap.
  • the tap coefficients of the first-order prediction equation, the higher-order prediction equation, and the DC prediction equation can be determined by performing learning by the least squares method as described above.
  • 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.
  • the summation for m
  • the seed coefficient ⁇ m the m th coefficient of the coefficient prediction equation.
  • various tap coefficients w are approximated using the parameter z as a variable.
  • the parameter z for example, a value corresponding to the obtainable information (for example, the same value as the quantization parameter QP, etc.) can be adopted.
  • the parameter z it is possible to adaptively select (determine) based on a predetermined index such as, for example, optimizing coding efficiency (for example, RD (Rate-Distortion) cost etc.). it can.
  • the maximum value M of the variable m taking the summation ( ⁇ ) can be determined in advance as a fixed value.
  • the maximum value M of the variable m can be adaptively selected based on other predetermined indexes such as, for example, optimizing the coding efficiency.
  • the seed coefficient means a coefficient of a coefficient prediction equation used for volume formation.
  • the learning that statistically minimizes the error w′ ⁇ w with the true value w can be obtained by the least squares method.
  • tap coefficients of a prediction formula for predicting an original image from a decoded image encoded and decoded with a certain quantization parameter QP are used as training data, and The corresponding parameter z can be used as student data.
  • the prediction method means a method of prediction processing using a prediction formula.
  • the prediction method is defined, for example, by a prediction formula used for prediction processing, a tap structure of prediction taps (how to tap), a unit to perform prediction processing (a unit of pixels to which the same tap coefficient prediction formula is applied), etc. (Define).
  • the prediction method information is information representing a prediction method.
  • the prediction method information includes, as necessary, information indicating a prediction formula used for the prediction process, information indicating a tap structure of a prediction tap, and information indicating a unit for performing the prediction process.
  • Classification method means a method of classification.
  • the class classification method includes, for example, information (such as an image feature amount) used for class classification, a tap structure of a class tap (how to tap a tap), and a unit for class classification (pixels classified into the same class in class classification) Defined by the unit of
  • Classification method information is information representing a classification method.
  • Classification method information includes, as necessary, information representing an image feature amount and the like used for class classification, information representing a tap structure of class taps, and information representing a unit for class classification.
  • the coefficient information is information related to tap coefficients constituting the prediction formula.
  • the coefficient information may employ various pieces of information related to tap coefficients.
  • the coefficient information includes the tap coefficient itself, a seed coefficient that constitutes a coefficient prediction formula for obtaining the tap coefficient, or a coefficient ID (identification) for identifying the tap coefficient or the seed coefficient.
  • the coefficient ID is a set of tap coefficients or seed coefficients used for prediction processing among a plurality of sets of tap coefficients or seed coefficients preset in the decoding device, or tap coefficients or seed coefficients already received by the decoding device Can be used to specify
  • the coefficient information when the coefficient information includes a coefficient which identifies a seed coefficient or a seed coefficient, the coefficient information further includes a parameter z used for calculation of the coefficient prediction equation, and an order of the coefficient prediction equation, as necessary.
  • FIG. 1 is a diagram for explaining a first example of a prediction formula used for filter processing as prediction processing for predicting an original image for a decoded image from encoded and decoded (including local decoding). It is.
  • a prediction formula of a formula (1) as shown in Drawing 1 is employable, for example.
  • y ⁇ w n x n of equation (1)
  • y represents (the predicted value of the pixel value of the corresponding pixel of the original image corresponding to the target pixel of interest of the decoded image) Is an integer from N to N.
  • 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.
  • the image quality of the filter image obtained can be improved by applying to.
  • a high-order prediction equation in which the pixel x n is a high-order polynomial of 2 or more and a DC prediction equation which is a polynomial including a DC term are adopted. be able to.
  • FIG. 2 is a diagram for explaining a second example of the prediction formula used for the filtering process as the prediction process.
  • high-order prediction equations as shown in FIG. 2 can be adopted as the prediction equation used for the prediction process.
  • 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 order
  • a polynomial a polynomial including high-order terms of one or more orders of two or more, or the like can be employed.
  • the high-order prediction formula of Formula (2) is a polynomial which consists only of a first-order term and a second-order term.
  • the high-order prediction formula of Formula (2) which consists only of a first-order term and a second-order term is also called a second-order prediction formula.
  • 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.
  • Equation (2) the first one of the two summations of the quadratic terms w j and k x k x j is taken by changing the variable j to an integer in the range of 1 to N 2
  • the second summarization is taken by changing the variable k to an integer ranging from j to N2.
  • N 2 is the number of pixels x j (x k ) as secondary taps (predictive taps of secondary terms) of the prediction taps, and secondary coef? Cients (tap coefficients of secondary terms) w j of the tap coef? Cients Represents the number of 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, for example, using x n and the like, primary tap x n and secondary taps x n, or to as a prediction tap x n, 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 Expression (2) 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.
  • N2 C 2 represents the number of combinations for selecting without overlapping two from the N2.
  • FIG. 3 is a diagram for explaining a third example of the prediction formula used in the filtering process as the prediction process.
  • FIG. 3 is a diagram for explaining a first example of the DC prediction formula.
  • a prediction equation in which a DC term is included in the primary prediction equation is adopted as the DC prediction equation.
  • the DC prediction formula a prediction formula in which a DC term is included in a high-order prediction formula can be adopted.
  • the DC prediction equation is represented by, for example, equation (3).
  • W represents a row vector (a vector obtained by transposing a column vector) whose elements are tap coefficients
  • X represents a column vector whose elements are prediction taps.
  • the DC prediction equation (3) has N primary coefficients w 1 , w 2 , ..., w N and four DC coefficients w DC1 , w DC2 as tap coefficients. , w DC3 , w DC4 . Further, as shown in FIG. 3, the DC prediction equation of Equation (3) has N primary taps x 1 , x 2 ,..., X N and four DC taps DC 1, DC 2 as prediction taps. , DC3 and DC4.
  • the first summarization on the right side represents a summation in which n is changed to an integer in the range from 1 to N
  • the second summation on the right side represents i , 3 and 4 represent the summarization.
  • FIG. 4 is a diagram for explaining the DC tap DC # i of Expression (4).
  • an average value of pixel values in blocks adjacent to upper, lower, left and right of a block including a target pixel of the decoded image (hereinafter also referred to as target block) And sum) can be adopted.
  • a block for obtaining an average value of pixel values as the DC tap DC # i for example, a block to which a deblocking filter is applied can be adopted.
  • FIG. 5 is a diagram for explaining a second example of the DC prediction formula.
  • the DC prediction equation (3) has N primary coefficients w 1 , w 2 ,..., W N and one DC coefficient w DCB as tap coefficients, as shown in FIG. be able to. Furthermore, as shown in FIG. 5, the DC prediction equation of equation (3) has N primary taps x 1 , x 2 ,..., X N and one DC tap DCB as prediction taps. be able to.
  • w DCB DCB is a DC term, therefore the DC prediction equation of equation (5) has only one DC term.
  • the DC tap w DCB of equation (5) is used as the DC tap DCB, which is the average value (or total sum) of pixel values in each block adjacent to the upper, lower, left, and right of the block of interest shown in FIG. It is possible to adopt an interpolation value obtained by performing interpolation in accordance with the distance between the pixel of interest and each of the blocks adjacent above, below, to the left and to the right of the block of interest. For such interpolation, linear interpolation, bilinear interpolation, and other interpolations can be employed.
  • FIG. 6 is a diagram for explaining volumeization of tap coefficients.
  • equation (6) a coefficient prediction equation for obtaining (approximating) a tap coefficient w n is expressed by equation (6).
  • w n denotes the n-th tap coefficient
  • sigma represents the summation instead of an integer of m 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).
  • 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.
  • the seed coefficient can be determined not only for the tap coefficient of the primary prediction equation, but also for the tap coefficient of the high-order prediction equation or the DC prediction equation, or for any other prediction equation.
  • the tap coefficient w n can be obtained from the coefficient prediction equation by giving the parameter z, so the seed coefficient ⁇ m, n is the tap coefficient w n It can be said that it is almost equivalent information.
  • the parameter z of the coefficient prediction formula is, for example, a coded bit It can be generated using the obtainable information that can be obtained from the 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 (Coding Unit) 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 pixel of the frame of the 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 (Peak signal-to-noise ratio) of the decoded image obtained using the original image, or the like can be adopted as the parameter z. .
  • PSNR Peak signal-to-noise ratio
  • FIG. 7 is a block diagram showing an overview of an embodiment of an image processing system to which the present technology is applied.
  • the image processing system includes an encoding device 20 and a decoding device 30.
  • the encoding device 20 includes an encoding unit 21, a local decoding unit 22, and a filter unit 23.
  • the encoding unit 21 is supplied with an original image (data) which is an image to be encoded, and is also supplied with a filter image from the filter unit 23.
  • the encoding unit 21 (predictive) encodes the original image, for example, in a predetermined block unit such as CU using the filter image from the filter unit 23, and locally decodes the encoded data obtained by the encoding It supplies to the part 22.
  • 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 23 from the original image, and encodes the residual obtained as a result.
  • Filter information is supplied from the filter unit 23 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 23.
  • the local decoding unit 22 is supplied with encoded data from the encoding unit 21, and is also supplied with a filter image from the filter unit 23.
  • the local decoding unit 22 performs local decoding of the encoded data from the encoding unit 21 using the filter image from the filter unit 23, and supplies the (local) decoded image obtained as a result to the filter unit 23.
  • the local decoding unit 22 decodes the encoded data from the encoding unit 21 into a residual, and performs motion compensation of the filter image from the filter unit 23 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 filter unit 23 performs filter processing as prediction processing for applying a prediction formula to the decoded image from the local decoding unit 22, generates a filter image, and supplies the filter image to the encoding unit 21 and the local decoding unit 22.
  • the filter unit 23 when performing the filter processing, performs learning for obtaining tap coefficients constituting the prediction formula and learning for obtaining seed coefficients, as necessary. Then, the filter unit 23 supplies, to the encoding unit 21, filter information including tap coefficients or seed coefficients and other information on filter processing as necessary.
  • the decoding device 30 includes a parsing unit 31, a decoding unit 32, and a filter unit 33.
  • the parsing unit 31 receives the encoded bit stream transmitted by the encoding device 20 and performs parsing, and supplies filter information obtained by the 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.
  • 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 perspective unit 31 using the filter image from the filter unit 33, for example, in a predetermined block unit such as a CU, and the decoded image obtained as a result thereof is filtered. Supply to 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 performs the same filtering process as the filter unit 23 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 filter unit 23 performs learning for obtaining tap coefficients constituting the prediction equation used for filter processing, or learning for obtaining seed coefficients constituting the coefficient prediction equation approximating the tap coefficients. It can be performed.
  • the filter unit 23 performs filter processing using a prediction formula configured by the tap coefficients. Furthermore, the tap coefficients are included in the filter information and transmitted from the encoding device 20 to the decoding device 30.
  • the filter unit 33 of the decoding device 30 performs the filtering process using a prediction equation configured by tap coefficients included in the filter information transmitted from the encoding device.
  • the filter unit 23 performs filter processing using a prediction formula configured of tap coefficients obtained from the seed coefficient and the parameter z. Furthermore, the seed coefficient is included in the filter information and transmitted from the encoding device 20 to the decoding device 30.
  • the filter unit 33 of the decoding device 30 performs the filtering process using a prediction formula including tap coefficients obtained from the seed coefficient and the parameter z included in the filter information transmitted from the encoding device.
  • the parameter z is used as a parameter z used to obtain a tap coefficient along with the seed coefficient, if a value corresponding to the obtainable information is adopted.
  • the parameter z is included in the filter information together with the seed coefficient, and the encoding device 20 Transmitted to
  • tap coefficients or seed coefficients can be preset in the filter units 23 and 33.
  • a plurality of sets of tap coefficients or seed coefficients are preset in the filter units 23 and 33, and the filter unit 23 selects one set of tap coefficients or seed coefficients from the plurality of sets of tap coefficients or seed coefficients.
  • a coefficient ID for identifying one set of tap coefficients or seed coefficients used for filter processing is included in filter information and transmitted from the encoding device 20 to the decoding device 30 .
  • the tap coefficient or the seed coefficient obtained by the learning is transmitted to the decoding device 30 from the encoding device 20 in the past.
  • the filter information is included in the filter information and the coefficient ID for identifying the tap coefficient or the seed coefficient is decoded from the encoding device 20 It can be transmitted to the device 30.
  • any of a primary prediction equation, a high order prediction equation, and a DC prediction equation can be adopted as the coefficient prediction equation.
  • the primary prediction equation it is possible to improve the image quality of the filter image obtained by applying the primary prediction equation to the decoded image with tap coefficients having a large amount of data.
  • the high-order prediction equation the details of the original image, which were difficult in the first-order prediction equation, can be restored with high accuracy, whereby the image quality of the filter image can be improved.
  • the DC prediction equation coding distortion such as block distortion can be greatly suppressed, and the image quality of the filtered image can be improved.
  • the prediction method is defined by, for example, a prediction formula used for prediction processing, a tap structure of prediction taps (how to tap), and a unit for performing the prediction processing, for example, a prediction tap of a certain tap structure or a certain prediction
  • a prediction formula used for prediction processing a tap structure of prediction taps (how to tap)
  • a unit for performing the prediction processing for example, a prediction tap of a certain tap structure or a certain prediction
  • the image quality of the filter image obtained by the prediction process can not be sufficiently improved, that is, for example, for a slight waveform change of the decoded image, the corresponding waveform change of the original image , It may not be possible to restore sufficiently in the filtered image.
  • a plurality of prediction methods are prepared, and from among the plurality of prediction methods, the adopted prediction method to be adopted for the prediction processing is adaptively selected, and the prediction processing of the adopted prediction method is performed. , To be able to sufficiently improve the image quality of the filtered image.
  • the plurality of prediction methods at least a prediction method using a DC prediction formula can be included.
  • the prediction processing for the decoded image can be performed by performing class classification of the pixels of the decoded image and for each class obtained by the class classification.
  • the class classification method is defined, for example, by information such as image feature values used for class classification, the tap structure (classification of taps) of class taps, and the unit for class classification, but in the fixed class classification method
  • the decoded image is a low quality image with a blunt waveform
  • the pixels of the decoded image can not be classified properly, and the image quality of the filtered image finally obtained by the prediction process is sufficiently improved. There are things I can not do.
  • a plurality of classification methods are prepared, and from among the plurality of classification methods, an adopted classification method to be adopted for classification is adaptively selected, and classification of the adopted classification method is performed. To sufficiently improve the image quality of the filter image.
  • class classification prediction processing the prediction processing performed for each class is also referred to as class classification prediction processing.
  • the basic principle of the class classification prediction process is described, for example, in Japanese Patent Laid-Open No. 2005-236633.
  • the information indicating the adopted class classification method, the adopted prediction method, and the like can be transmitted from the encoding device 20 to the decoding device 30 with a small amount of information.
  • FIG. 8 is a block diagram showing a configuration example of the filter units 23 and 33 that adaptively select the adopted class classification method and the adopted prediction method and performs the filter processing as the class classification prediction process.
  • the filter unit 23 includes a class classification unit 41, a prediction unit 42, a selection unit 43, a DB (database) 44, a class classification unit 45, and a prediction unit 46.
  • the class classification unit 41 is supplied with the decoded image.
  • the class classification unit 41 classifies the class classification method for each of the plurality of class classification methods for each pixel of the decoded image, and supplies the class of each pixel of the decoded image to the prediction unit 42.
  • the class classification unit 41 performs class classification by two types of class classification methods of class classification by adaptive dynamic range coding (ADRC) and class classification of ALF type.
  • ADRC adaptive dynamic range coding
  • a pixel as a class tap is selected from the decoded image, and ADRC is performed on the 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 a class tap is divided by the average value of maximum value MAX and minimum value MIN (rounded down after the decimal point), whereby the pixel value of each pixel is 1 It is considered as a bit (binarized). That is, in 1-bit ADRC, the pixel value of each pixel as a class tap is classified as an average value of the maximum value MAX and the minimum value MIN of pixel values of pixels as class taps as a classification threshold for classifying pixel values. If it is the threshold or more, it is quantized to 1; if it is not the classification threshold or more, it is quantized to 0. Then, a bit string in which 1-bit pixel values after quantization are arranged in a predetermined order is output as an ADRC code.
  • ADRC In the classification by ADRC, such an ADRC code (value that it represents) represents a class.
  • ADRC means 1-bit ADRC unless otherwise specified.
  • ALF type classification classification similar to existing ALF is performed.
  • the classification unit 41 classifies the respective classification methods according to two types of classification methods in order to simplify the description, but the classification unit 41 performs one or three or more kinds of classes. Classification can be performed by each classification method.
  • the prediction unit 42 is supplied with the class of each pixel of the decoded image obtained from the class classification unit 41 for each of the plurality of class classification methods, as well as the original image and the decoded image.
  • the prediction unit 42 classifies learning (hereinafter also referred to as tap coefficient learning) for obtaining tap coefficients using the decoded image and the original image corresponding to the decoded image as student data and teacher data respectively for each of a plurality of prediction methods.
  • learning hereinafter also referred to as tap coefficient learning
  • class combination is performed for the combination of each of the plurality of class classification methods and each of the plurality of prediction methods, using the combination class classification method.
  • the tap coefficient for each class used when performing prediction processing of the prediction method of the combination is determined.
  • the prediction unit 42 applies, as a prediction process, a prediction formula configured of tap coefficients obtained by tap coefficient learning to a combination of each of a plurality of class classification methods and each of a plurality of prediction methods.
  • a filter process is performed to generate a filter image.
  • the prediction unit 42 compares the filter image with the original image for the combination of each of the plurality of class classification methods and each of the plurality of prediction methods to obtain the PSNR of the filtered image and performs coding of the original image.
  • the data amount of a coded bit stream including the obtained coded data and information (coding information such as motion vector, tap coefficient, etc.) necessary for decoding the coded data is obtained.
  • the prediction unit 42 performs PSNR, data amount of a coded bit stream, classification method information indicating a class classification method, and prediction method information indicating a prediction method. , And coefficient information related to tap coefficients are associated and supplied to the selection unit 43.
  • the coefficient information is a tap coefficient obtained by the tap coefficient learning.
  • the prediction unit 42 performs prediction processing by two types of prediction methods: prediction processing using a DC prediction formula and prediction processing using a primary prediction formula.
  • the prediction unit 42 performs the prediction process with each of two types of prediction methods for the sake of simplicity, but the prediction unit 42 performs the prediction process with each of three or more types of prediction methods. It can be carried out.
  • the selection unit 43 is a combination of each of a plurality of class classification methods and a plurality of prediction methods to which PSNR, data amount of coded bit stream, classification method information, prediction method information, and coefficient information are supplied from the prediction unit 42 Among them, the combination with the best coding efficiency is selected.
  • the selection unit 43 uses the PSNR and the data amount of the coded bit stream in the combination. For example, RD cost is determined as coding efficiency. Furthermore, the selection unit 43 selects the classification method and prediction method of the combination with the best RD cost for each adopted classification method and adopted prediction method to be adopted for classification and prediction processing.
  • the selection unit 43 selects the tap coefficient as coefficient information in the combination of the adopted class classification method and the adopted prediction method as the adopted tap coefficient to be adopted in the prediction processing, and supplies the tap coefficient to the DB 44 for storage.
  • the classification method information indicating the adopted class classification method, the prediction method information indicating the adopted prediction method, and the adopted tap coefficient as the coefficient information stored in the DB 44 are included in the filter information, and the encoding unit 21 (FIG. 7) Supplied. Then, in the encoding unit 21, the filter information is included in the encoded bit stream and transmitted from the encoding device 20 to the decoding device 30.
  • Transmission of filter information from the encoding device 20 to the decoding device 30 (the same applies to generation of filter information, tap coefficient learning, etc.) is performed, for example, in units of pictures, in units of slices, in units of tiles, or in other arbitrary blocks Can.
  • the selection unit 43 supplies classification method information indicating the adopted class classification method to the class classification unit 45 and supplies prediction method information indicating the adopted prediction method to the prediction unit 46.
  • the class classification unit 45 is also supplied with a decoded image.
  • the class classification unit 45 classifies each pixel of the decoded image by (classification) classification method represented by the classification method information from the selection unit 43, and supplies the class of each pixel to the prediction unit 46.
  • the prediction unit 46 is supplied with prediction method information representing the adopted prediction method from the selection unit 43, and is supplied with the class of each pixel of the decoded image from the class classification unit 45 and is also supplied with a decoded image.
  • the prediction unit 46 applies, to the decoded image, a prediction equation including tap coefficients of classes from the class classification unit 45 among (adopted) tap coefficients as coefficient information stored in the DB 44.
  • the filter processing is performed as prediction processing of the (adopted) prediction method represented by the prediction method information from B.
  • the filter image obtained as a result is supplied to the encoding unit 21 and the local decoding unit 22 (FIG. 8).
  • the filter unit 33 includes a class classification unit 51 and a prediction unit 52.
  • the filter information included in the encoded bit stream from the encoding device 20 is parsed in the parsing unit 31 (FIG. 7), and supplied to the filter unit 33.
  • classification method information included in the filter information is supplied to the class classification unit 51, and prediction method information and coefficient information included in the filter information are supplied to the prediction unit 52.
  • the classification unit 51 is supplied with classification method information and also with a decoded image.
  • the class classification unit 51 classifies each pixel of the decoded image according to a (classification) classification method represented by classification method information, and supplies the class of each pixel to the prediction unit 52.
  • the prediction unit 52 is supplied with prediction method information and coefficient information as well as a decoded image.
  • the prediction unit 52 indicates (adopted) prediction method information by applying, to the decoded image, a prediction formula including tap coefficients of classes from the class classification unit 51 among (adopted) tap coefficients as coefficient information.
  • the filter processing as prediction processing of the prediction method is performed, and the filter image obtained as a result is supplied to the decoding unit 32 (FIG. 7).
  • the prediction unit 42 performs tap coefficient learning for obtaining a tap coefficient
  • the prediction unit 42 performs learning for obtaining a seed coefficient instead of the tap coefficient learning (hereinafter also referred to as seed coefficient learning). )It can be performed.
  • seed coefficient learning is performed in the prediction unit 42
  • the coefficient information includes the seed coefficient for each class obtained by the seed coefficient learning, and further, the degree of the coefficient prediction equation configured of the seed coefficient, if necessary, And the parameter z.
  • the coefficient information includes the adaptively selected order.
  • the coefficient information includes the parameter z.
  • the coefficient information can include a coefficient ID identifying a set of tap coefficients used in the adopted prediction method among the plurality of sets of tap coefficients.
  • the latest tap coefficient obtained by the tap coefficient learning matches the tap coefficient transmitted in the past from the encoding device 20 to the decoding device 30 as coefficient information.
  • the latest tap coefficient obtained by the tap coefficient learning it is possible to include coefficient ID identifying the tap coefficient transmitted in the past in the coefficient information. The same applies to the above points and the seed coefficient.
  • FIG. 9 is a block diagram showing a configuration example of the class classification unit 51 and the prediction unit 52 of FIG.
  • the class classification unit 45 and the prediction unit 46 in FIG. 8 are also configured in the same manner as in FIG.
  • the classification unit 51 includes a class tap selection unit 61 and a classification unit 62.
  • the classification method information supplied to the class classification unit 51 includes information such as an image feature amount used for class classification, a tap structure of class taps, and information indicating a unit for class classification.
  • the information indicating the tap structure of the class tap among the classification method information is supplied to the class tap selection unit 61, and the information indicating the image feature amount and the like used for class classification, and the information indicating the unit for class classification are: It is supplied to the classification unit 62.
  • the class tap selection unit 61 selects, for each pixel of the decoded image, a pixel as a class tap of a tap structure represented by the classification method information from the decoded image, and supplies the selected pixel to the classification unit 62.
  • the classification unit 62 extracts the image feature quantity represented by the classification method information from the class tap, and classifies each pixel of the decoded image using the image feature quantity.
  • ADRC code waveform pattern
  • DR Dynamic Range
  • DiffMax / DR obtained using DiffMax, DR and DiffMax, which are maximum values of the difference absolute values of pixel values of adjacent pixels in horizontal, vertical and diagonal directions, and other image feature quantities.
  • the classification unit 62 classifies each pixel of the decoded image in units represented by the classification method information, that is, for example, in one pixel unit or in 2 ⁇ 2 pixel units of horizontal ⁇ vertical. If the class classification is performed, for example, in 2 ⁇ 2 pixel units, the 4 pixels of 2 ⁇ 2 pixels are classified into the same class.
  • the class of each pixel of the decoded image obtained by the classification by the classification unit 62 is supplied to (the tap coefficient acquisition unit 65 of) the prediction unit 52.
  • the prediction unit 52 includes a buffer 63, a parameter acquisition unit 64, a tap coefficient acquisition unit 65, a prediction tap selection unit 66, and a prediction operation unit 67.
  • the prediction method information supplied to the prediction unit 52 includes a prediction formula used for the prediction process, a tap structure of a prediction tap, and information indicating a unit for performing the prediction process.
  • the coefficient information supplied to the prediction unit 52 includes a tap coefficient, a seed coefficient, a coefficient ID, an order of a coefficient prediction equation, and a parameter z, as necessary.
  • Information representing the prediction formula used for the prediction process and information representing the unit for performing the prediction process among the prediction method information is supplied to the prediction operation unit 67, and the information representing the tap structure of the prediction tap is the prediction tap selection While being supplied to the part 66, it is supplied to the tap coefficient acquisition part 65 as needed.
  • the order or coefficient ID of the coefficient prediction equation in the coefficient information is supplied to the tap coefficient acquisition unit 65 as necessary, and the tap coefficient or the seed coefficient is supplied to the buffer 63.
  • the parameter z of the coefficient information is supplied to the parameter acquisition unit 64 as necessary.
  • the buffer 63 stores tap coefficients or seed coefficients for each class when the coefficient information includes tap coefficients or seed coefficients for each class.
  • the parameter acquisition unit 64 acquires the parameter z and supplies the parameter z to the tap coefficient acquisition unit 65.
  • the parameter acquisition unit 64 acquires the parameter z by generating the parameter z from the encoded information that is the obtainable information and the feature amount of the decoded image, and The signal is supplied to the tap coefficient acquisition unit 65.
  • the tap coefficient acquisition unit 65 acquires the tap coefficient of the class of the pixel of the decoded image from the classification unit 62 from the tap coefficients for each class stored in the buffer 63. , And supplies it to the prediction calculation unit 67.
  • the tap coefficient acquiring unit 65 determines the plurality of sets of tap coefficients for each of the classes stored in the buffer 63.
  • the tap coefficient of the class of the pixel of the decoded image from the classification unit 62 is acquired from among the sets of tap coefficients for each class identified by the coefficient ID, and is supplied to the prediction calculation unit 67.
  • the tap coefficient acquisition unit 65 determines the seed coefficient for the class of the pixel of the decoded image from the classification unit 62 from the seed coefficient for each class stored in the buffer 63. To get Then, the tap coefficient acquisition unit 65 operates the coefficient prediction equation configured by the seed coefficient of the class of the pixel of the decoded image and the parameter z from the parameter acquisition unit 64 to calculate the pixels of the decoded image from the classification unit 62 The tap coefficient of the class is calculated and supplied to the prediction calculation unit 67.
  • the tap coefficient acquisition unit 65 recognizes the order of the coefficient prediction equation based on the order included in the coefficient information, and calculates the coefficient prediction equation.
  • the tap coefficient acquisition unit 65 recognizes that the order of the coefficient prediction formula is the default order.
  • the tap coefficient acquisition unit 65 recognizes the number of tap coefficients to be obtained by the calculation of the coefficient prediction formula from the information on the tap structure of the prediction tap included in the prediction method information, as necessary. When the number of tap coefficients to be obtained by calculation of the coefficient prediction formula is determined in advance as the default number, it is not necessary to supply information representing the tap structure of the prediction tap to the tap coefficient acquisition unit 65.
  • the tap coefficient acquisition unit 65 selects one of the plurality of sets of seed coefficients for each class stored in the buffer 63. From the set of seed coefficients for each class identified by the coefficient ID, the seed coefficient of the class of pixels of the decoded image from the classification unit 62 is obtained, and tap coefficients are determined using the seed coefficients.
  • the portion shown by the dotted line in FIG. 9 becomes unnecessary. That is, the prediction unit 55 is configured without the parameter acquisition unit 64. Also, the order of the coefficient prediction equation and the parameter z become unnecessary. Furthermore, it is not necessary to supply information representing the tap structure of the prediction tap to the tap coefficient acquisition unit 65.
  • the coefficient ID is not used, and a default order is adopted as the order of the coefficient prediction formula. Furthermore, the number of tap coefficients to be determined by calculation of the coefficient prediction equation is predetermined to be the default number, and the parameter z is generated (determined) from the obtainable information.
  • the coefficient information includes tap coefficients or seed coefficients, but does not include the order of the coefficient prediction equation, the coefficient ID, and the parameter z. Further, information representing the tap structure of the prediction tap is not supplied to the tap coefficient acquisition unit 65.
  • FIG. 10 is a diagram for explaining a class classification method.
  • the class classification method is defined by, for example, information (image feature amount and the like) used for class classification, a tap structure of a class tap (how to tap), and a unit for class classification.
  • the tap structure of the class tap includes, for example, variations in which the tap shape which is the shape of the plane of the class tap is a cross shape, an x shape, a square shape, or a rhombus shape.
  • variation such as tightly placing the class tap or placing it sparsely, or stretching the range for stretching the class tap around a focused pixel to a range of how wide
  • variation such as tightly placing the class tap or placing it sparsely, or stretching the range for stretching the class tap around a focused pixel to a range of how wide
  • the information used for classification includes, for example, ADRC (code), activities (including activities in various directions and activities in a specific direction), differential ADRC (code) described later, and a combination of ADRC and DR ( There are variations such as ADRC ⁇ DR).
  • a filter other than the filter units 23 and 33 such as a deblocking filter or an adaptive offset filter (hereinafter, also referred to as a front-stage filter) is provided in front of the filter units 23 and 33
  • information about the front-stage filter Can be adopted as information used for classification.
  • DF Deblocking Filter
  • ADRC or difference ADRC it is possible to capture a minute waveform change of a decoded image, and to classify pixels according to such a minute waveform change.
  • ADRC and DR it is possible to classify noise pixels (pixels with many noises) and pixels with no noise (edges, textures, etc.).
  • DF information pixels can be classified so as to be suitable for restoration of distortion occurring in the deblocking filter.
  • a unit for performing class classification for example, there is a variation of one pixel unit or 2 ⁇ 2 pixel unit.
  • classification is performed in 2 ⁇ 2 pixel units, four pixels of 2 ⁇ 2 pixels are classified into the same class.
  • Class classification in units of one pixel is effective when the decoded image is a fine image. Since the filter image obtained when performing the 2 ⁇ 2 pixel class classification is more blurred than the filter image obtained when performing the 1 pixel unit class classification, the 2 ⁇ 2 pixel unit class classification indicates that the decoded image is It is effective when the image is low quality.
  • the tap structure of the class tap that defines the class classification method, the information used for class classification, and the unit to perform class classification can be selected regardless of the image quality of the decoded image, but there is no limitation.
  • the number of classification methods obtained can be huge. Therefore, class classification methods that can be selected can be classified according to the image quality of the decoded image, as shown in FIG. 10, for example.
  • the decoded image has features such as no blur, a lot of detail, and a lot of high frequency components.
  • ADRC activity, or differential ADRC can be adopted.
  • the tap structure of the class tap it is adopted that the class tap is closely stretched, and the tap shape is made a cross shape, an x shape, a square shape, or a rhombus shape. Can be adopted. Also, as a unit for performing class classification, one pixel unit or 2 ⁇ 2 pixel unit can be adopted.
  • the image quality of the decoded image is high image quality, for example, that the quantization parameter QP is smaller (than the threshold), that there are many high frequency components of one screen (frame) of the decoded image, 1 of the decoded image
  • the determination can be made based on the fact that the area with motion is small (not blurred) on the screen.
  • the decoded image has features such as blurring, many flat parts, and many low frequency components.
  • information to be used for ADRC, ADRC, activity, a combination of ADRC and DR, or DF information can be adopted.
  • the DF information can be adopted only when a deblocking filter is present as a pre-filter.
  • a class tap as a class tap sparse structure and a class tap as a wide range as the tap structure of the class tap, and a tap shape, cross shape, x shape A shape, a square or a rhombus may be employed.
  • a unit for performing class classification one pixel unit or 2 ⁇ 2 pixel unit can be adopted.
  • a low-quality decoded image In a low-quality decoded image, local features such as edges and details are dulled, so by adopting the classification method as described above, a wide range waveform change of the low-quality decoded image can be captured, block distortion, etc. Each pixel of the decoded image can be classified so that coding distortion can be greatly reduced.
  • the low image quality of the decoded image means, for example, that the quantization parameter QP is large, that there are many low frequency components of one screen of the decoded image, an area with motion in one screen of the decoded image Can be determined based on, for example, that the
  • FIG. 11 is a diagram for explaining a prediction method.
  • the prediction method is defined by, for example, a prediction formula used for the prediction process, a tap structure of the prediction tap (how to tap), and a unit for performing the prediction process.
  • the tap structure of the prediction tap has, for example, a variation in which the tap shape is a rhombus shape of 13 pixels, 25 pixels, or 41 pixels, or a variation in which the prediction taps are densely or sparsely placed. . Furthermore, in the tap structure of the prediction tap, a variation such as that the prediction tap is placed over the entire reference range centered on the pixel of interest, over a narrower range than the reference range, or over a wider range than the reference range There are variations, such as making the number (the number of pixels as a prediction tap) larger than the reference number, smaller than the reference number, or set the reference number. Furthermore, in the tap structure of the prediction tap, there are variations in that the prediction taps are densely arranged at positions close to the pixel of interest and sparsely arranged at positions distant from the pixel of interest.
  • the reference range is, for example, a predetermined range such as a range of 7 ⁇ 7 pixels in width ⁇ height.
  • a range of 7 ⁇ 7 pixels for example, a range of 5 ⁇ 5 pixels is adopted as a range narrower than the reference range, and a range of 9 ⁇ 9 pixels is adopted as a range wider than the reference range. It can be adopted.
  • the range referred to herein means a range of pixels which can be selected as a prediction tap, and not all pixels in the range are selected as prediction taps.
  • the reference number is, for example, a predetermined number of taps (number of pixels) of the number of pixels such as 25 pixels.
  • the reference number is 25 pixels (25 pixels in a rhombus shape centered on the pixel of interest)
  • 41 pixels 41 pixels in a rhombus shape centered on the pixel of interest
  • 13 pixels 13 pixels of a rhombus shape centered on the target pixel
  • the prediction formula used for the prediction process includes, for example, variations such as a primary prediction formula, a high-order prediction formula, and a DC prediction formula.
  • a primary prediction formula it is possible to obtain a filter image with improved image quality with tap coefficients of not so much data amount.
  • the high-order prediction formula it is possible to obtain a filter image in which the details (fine waveform change) of the original image are restored.
  • the DC prediction equation it is possible to obtain a filter image in which block distortion is largely suppressed.
  • a unit to perform the prediction process for example, there is a variation of one pixel unit or 2 ⁇ 2 pixel unit.
  • prediction taps are selected with respect to each of the 2 ⁇ 2 pixel four pixels with reference to each pixel, but the prediction processing has the same tap coefficient, that is, , Using the same class of tap coefficients. Therefore, when prediction processing is performed in 2 ⁇ 2 pixel units, the 4 pixels of 2 ⁇ 2 pixels must be classified in the same class, and the unit for performing class classification is 2 ⁇ 2 pixel units It needs to be.
  • the prediction process in units of one pixel is effective when the decoded image is a fine image.
  • the filter image obtained by the 2 ⁇ 2 pixel unit prediction process is more blurred than the filter image obtained by the 1 pixel unit prediction process. Therefore, in the 2 ⁇ 2 pixel unit prediction process, the decoded image is a low quality image. It is effective in the case.
  • the tap structure of the prediction tap that defines the prediction method, the prediction formula used for the prediction process, and the unit for performing the prediction process can be selected regardless of the image quality of the decoded image, but there is no limitation.
  • the number of prediction methods obtained can be huge. Therefore, as shown in FIG. 11, for example, the prediction methods that can be selected can be divided according to the image quality of the decoded image, as in the case of the class classification method of FIG.
  • the high-quality decoded image and the low-quality decoded image have features as described in FIG. 10, and whether the quality of the decoded image is high or low is also shown in FIG. It can be determined as described in 10.
  • the tap structure of the prediction taps it is possible to adopt the tensioning of the prediction taps closely and the tensioning of the prediction taps within the entire reference range or a range narrower than the reference range. . Furthermore, as the tap structure of the prediction tap, making the number of taps of the prediction tap larger than the reference number can be adopted.
  • a prediction equation used for prediction processing a first order prediction equation or a high order prediction equation can be adopted. A unit of one pixel or a unit of 2 ⁇ 2 pixels can be adopted as a unit for performing the prediction process.
  • the prediction tap is extended over the entire reference range or a range wider than the reference range as the tap structure of the prediction tap. It is possible to adopt tight tension and sparse tension at distant locations. Furthermore, as the tap structure of the prediction tap, making the number of taps of the prediction tap larger or smaller than the reference number can be adopted.
  • a prediction equation used for the prediction process a first order prediction equation, a high order prediction equation, or a DC prediction equation can be adopted. A unit of one pixel or a unit of 2 ⁇ 2 pixels can be adopted as a unit for performing the prediction process.
  • the tap structure of the prediction tap may be sparse or dense, it is effective to provide prediction taps over a wide range.
  • the prediction taps are extended over a wide range, it is possible to suppress the increase in the number of prediction taps and, in turn, the increase in the tap coefficient, by sparsely placing the prediction taps (tap skipping).
  • the DC tap as a prediction tap that constitutes the DC term of the DC prediction formula is an interpolation using the average value of pixel values in each block and the average value of those blocks adjacent to the top, bottom, left, and right of the block of interest Since the interpolation value is obtained by the above, it can be said that the prediction tap is substantially spread over pixels in a wide range of blocks adjacent above, below, left and right of the block of interest.
  • tap coefficients serving as coefficient information according to the number of classes and the number of tap coefficients in each class. Large variations in the amount of (or seed factor) data can occur.
  • tap coefficients or seed coefficients obtained for each combination of each of a plurality of classification methods and each of a plurality of prediction methods, for example, degeneracy of classes combining similar tap coefficient classes into one class By performing as necessary, it is possible to equalize the data amounts of tap coefficients obtained for each combination.
  • FIG. 12 is a diagram for explaining the differential ADRC.
  • the difference between pixel values of the pixel of interest and each of the other pixels as the pixel of one of the plurality of pixels as the class tap selected for the pixel of interest is the ADRC.
  • the difference absolute values D (1), D (2),..., D (8) between the pixel of interest of the class tap and each of the other eight pixels are obtained, and the eight difference absolute values D ADRC is performed for (1) to D (8).
  • ADRC (1 bit)
  • the average value of the maximum value MAX and the minimum value MIN of pixel values of pixels as class taps is used as the classification threshold, and the pixel value of each pixel as class taps is If it is above the classification threshold, it is quantized to 1; otherwise it is quantized to 0.
  • the difference ADRC if the average value of the maximum value and the minimum value of the difference absolute value of the pixel value between the pixel of interest and each of the other pixels is the classification threshold, and each difference absolute value is greater than the classification threshold, It is quantized to 1 and is quantized to 0 unless it is above the classification threshold. Then, a bit string in which the 0 or 1 difference absolute values after quantization are arranged in a predetermined order is output as an ADRC code (hereinafter also referred to as a difference ADRC code) for the difference absolute values D (1) to D (8). Be done.
  • an ADRC code hereinafter also referred to as a difference ADRC code
  • the pixel (the target pixel) is classified based on the difference between the pixel values (the luminance and the like) of the target pixel and the peripheral pixels.
  • the classification threshold when quantizing the difference absolute value changes in accordance with the difference between the maximum value and the minimum value of the difference absolute value, that is, the dynamic range of the difference absolute value.
  • Classification can be performed according to the scene in the vicinity of the pixel of interest, whereby generation of a filtered image in which the distortion at the edge and the shape of the complex texture are restored while preserving the edge present in the original image It becomes possible.
  • the change in pixel value at the edge may be large or small.
  • the classification threshold is uniquely set to the average value of the maximum value and the minimum value of the difference absolute value. For this reason, in the class classification using the differential ADRC, the pixels at the edge where the change in pixel value is large and the pixels at the edge where the change in pixel value is small may be classified into different classes.
  • the classification threshold is designed to be fixed so that edge pixels with large pixel value changes and edge pixels with small pixel value changes are classified into the same class.
  • the classification threshold is designed to be fixed so that the pixels at the edge where the change in pixel value is large and the pixels at the edge where the change in pixel value is small are fixed, an image having features other than edges Of pixels may not be properly classified, and the classification performance of classification may be degraded.
  • the classification threshold is not set to the average value of the maximum value and the minimum value of the difference absolute value, but, for example, the edge with a large change in pixel value as needed.
  • the pixel and the pixel at the edge where the change in the pixel value is small can be classified into the same class, and can be set flexibly.
  • FIG. 13 is a block diagram showing a configuration example of a classification unit that performs classification using difference ADRC, in which the classification threshold is flexibly set according to the dynamic range of the difference absolute value.
  • the class classification unit includes a class tap selection unit 71, a difference ADRC unit 72, a table storage unit 73, a classification threshold setting unit 74, and a difference ADRC unit 75.
  • the decoded image is supplied to the class tap selection unit 71.
  • the class tap selection unit 71 selects a pixel as a class tap for the target pixel of the decoded image from the decoded image, and supplies the selected ADRC units 72 and 75 with the selected pixel.
  • the difference ADRC unit 72 performs difference ADRC on the class tap of the pixel of interest from the class tap selection unit 71, and the class obtained as a result thereof is set as a provisional class which is a provisional class of the pixel of interest.
  • Supply to 74 the difference threshold value is set to the average value of the maximum value and the minimum value of the difference absolute value of the pixel as the class tap, and the difference ADRC is performed.
  • the table storage unit 73 is a table of classification threshold values used to obtain the final class which is the final class of the pixels classified into the temporary class, for any temporary class obtained by the differential ADRC unit 72 (hereinafter referred to as threshold table). I remember).
  • the classification threshold value setting unit 74 refers to the threshold value table stored in the table storage unit 73, and in the threshold value table, the classification threshold value Th and the pixel as a class tap for the temporary class of the target pixel from the difference ADRC unit 72
  • the classification threshold relation information indicating the relation between the difference absolute value of the pixel value
  • the dynamic range DR is registered
  • the classification threshold Th used to obtain the final class is set according to the classification threshold relation information
  • the difference ADRC unit 75 is supplied.
  • the difference ADRC unit 75 When the classification threshold Th is supplied from the classification threshold setting unit 74, the difference ADRC unit 75 performs the difference ADRC targeting the class tap of the pixel of interest from the class tap selection unit 71 using the classification threshold Th. The resulting class is output as the final class of the pixel of interest.
  • the difference ADRC unit 75 performs, similarly to the difference ADRC unit 72, the difference ADRC for the class tap of the pixel of interest from the class tap selection unit 71. , And the resulting class is output as the final class of the pixel of interest.
  • the difference ADRC unit 75 sets the classification threshold to the maximum value and the minimum value of the difference absolute value of pixels as class taps.
  • the difference ADRC is performed by setting the average value of In this case, the temporary class obtained by the difference ADRC unit 72 can be output as the final class as it is without performing the difference ADRC in the difference ADRC unit 75.
  • FIG. 14 is a diagram showing an example of the threshold value table stored in the table storage unit 73 of FIG.
  • classification threshold value relationship information is registered for a provisional class.
  • Classification threshold relation information is information defining a threshold curve representing a classification threshold Th that changes in accordance with the dynamic range DR of the absolute difference value of the pixel as a class tap, for example, two dynamic ranges DR1 and DR2, and two It has classification threshold values Th1 and Th2.
  • a curve defined by the classification threshold relation information DR1, DR2, Th1, Th2 is It is a threshold curve.
  • the classification threshold setting unit 74 sets the classification threshold Th in accordance with the dynamic range DR of the absolute difference value of the pixel as the class tap, in accordance with the threshold curve defined by the classification threshold relation information of the provisional class.
  • the above-described threshold value table can be included in the classification method information as necessary, and can be transmitted from the encoding device 20 to the decoding device 30.
  • the classification threshold value relationship information DR1, DR2, Th1, Th2 need not be registered for all temporary classes. That is, in the threshold table, classification threshold relation information DR1, DR2, Th1, Th2 are registered only for temporary classes for which the classification threshold Th is desired to be flexibly set according to the dynamic range DR of the difference absolute value of the pixel as a class tap. can do.
  • FIG. 15 is a diagram for explaining an example of a plurality of class classification methods.
  • the class classification unit 41 classifies the class classification method for each of the plurality of class classification methods with respect to each pixel of the decoded image.
  • the class classification method is defined by information (such as an image feature amount) used for class classification, a tap structure of a class tap (how to put a tap), and a unit for class classification.
  • a plurality of pieces of information, a plurality of tap structures, and a plurality of units are prepared as information used for class classification, a tap structure of class taps, and a unit for class classification, and a plurality of pieces of information are respectively provided.
  • a plurality of classification methods can be configured by combining each tap structure and each of a plurality of units.
  • the number of the plurality of classification methods may be enormous.
  • FIG. 15 shows an example of information used for classification, the tap structure of class taps, and a plurality of classification methods as appropriate combinations of units for classification.
  • selectable classification methods are divided according to the image quality of the decoded image.
  • the classification methods that can be selected do not necessarily have to be divided according to the image quality of the decoded image.
  • ADRC ADRC is adopted as information used for class classification
  • a class tap is closely structured with a class tap as a tap structure of a class tap and a cross shape of a tap shape is adopted.
  • a unit for performing class classification one pixel unit can be adopted.
  • the activity adopted in the existing ALF is adopted, and as the tap structure of the class tap, the class tap is closely packed and the tap shape is adopted in the existing ALF A square shape is adopted, and one pixel unit can be adopted as a unit for classification.
  • differential ADRC is adopted as information used for class classification, and a class tap is closely packed as a tap structure of class taps, and a cross shape of the tap shape is adopted as a unit for class classification. , 1 pixel unit can be adopted.
  • differential ADRC is adopted as information used for class classification
  • the class tap is closely packed as a tap structure of class taps, and the tap shape is made to be a cross shape as a unit for class classification.
  • the classification method adopting one pixel unit it is possible to appropriately classify, in particular, pixels that make up an edge or a complex texture.
  • ADRC ADRC is adopted as information used for class classification
  • class taps are sparsely applied as a tap structure of class taps, and the tap shape is made a cross shape.
  • a 2 ⁇ 2 pixel unit can be adopted as a unit for performing class classification.
  • the activity adopted in the existing ALF is adopted, and as the tap structure of the class tap, the class tap is closely packed and the tap shape is adopted in the existing ALF A square shape can be adopted, and a 2 ⁇ 2 pixel unit can be adopted as a unit for performing class classification.
  • ADRC x DR difference between the maximum value and the minimum value of class wrap
  • ADRC x DR difference between the maximum value and the minimum value of class wrap
  • Adopting making sparse, making the shape of the cross a cross shape, and making the shape of the tap of the class tap for the square a square, and using 2 ⁇ 2 pixel units as a unit for performing class classification it can.
  • ADRC x DF information a combination of ADRC and DF information (ADRC x DF information) is adopted as the information used for class classification.
  • ADRC x DF information a combination of ADRC and DF information
  • a tap structure of class taps a class tap for ADRC is sparsely extended to make the tap shape be a cross shape, and one pixel unit can be adopted as a unit for performing class classification.
  • a combination of ADRC and DR is adopted, and as a tap structure of class taps, a class tap for ADRC is sparsely extended to make the tap shape be a cross shape, and for DR
  • a classification method employing square tap shapes of class taps and adopting 2 ⁇ 2 pixel unit as a unit for performing class classification in particular, pixels constituting flat portions and gradations are suitable. It can be classified into
  • a combination of ADRC and DF information is adopted as information used for class classification, and a class tap for ADRC is sparsely stretched as a tap structure of class taps to adopt a cross shape of the tap shape.
  • the classification method adopting one pixel unit as a unit for classification in particular, pixels constituting block distortion can be classified appropriately. Furthermore, classification can be performed to be suitable for restoration of distortion caused by the deblocking filter.
  • FIG. 16 is a diagram for explaining an example of a plurality of prediction methods.
  • the prediction unit 42 performs, for each of the plurality of prediction methods, filtering (and tap coefficient learning or seed coefficient learning) as prediction processing of the prediction method on the decoded image.
  • the prediction method is defined by the prediction formula used for the prediction processing, the tap structure (how to tap the taps) of the prediction tap, and the unit for performing the prediction processing.
  • a plurality of prediction formulas, a plurality of tap structures, and a plurality of units are prepared respectively as a prediction formula used for prediction processing, a tap structure of prediction taps, and a unit for performing prediction processing, and the plurality of prediction formulas are prepared.
  • a plurality of prediction methods can be configured by combining each of the plurality of tap structures and each of the plurality of units.
  • the number of the plurality of prediction methods may be enormous.
  • some appropriate combinations are prepared as combinations of prediction formulas used for prediction processing, tap structures of prediction taps, and units for performing prediction processing, and some appropriate combinations are performed by the prediction unit 42. It can be adopted as a plurality of prediction methods of prediction processing.
  • FIG. 16 shows an example of a prediction formula used for the above-described prediction processing, a tap structure of a prediction tap, and a plurality of prediction methods as appropriate combinations of units for performing the prediction processing.
  • selectable prediction methods are divided according to the image quality of the decoded image.
  • the selectable prediction methods do not necessarily have to be divided according to the image quality of the decoded image.
  • a primary prediction equation is adopted as a prediction equation used for prediction processing, and the tap shape is made into a rhombus shape as the tap structure of the prediction tap, and the prediction tap is dense It is possible to adopt stretching and to adopt 1 pixel unit as a unit to perform prediction processing. Furthermore, as the prediction equation used for the prediction process, a second-order prediction equation as a high-order prediction equation is adopted, and the tap shape is a rhombus shape as the tap structure of the prediction taps; Adopting the prediction taps in a range narrower than the reference range can be adopted, and one pixel unit can be adopted as a unit for performing the prediction process.
  • the tap can be stretched in a range narrower than the reference range and narrower than the range in which the primary tap is applied.
  • a primary prediction equation is adopted as the prediction equation used for the prediction process, and the tap shape is rhombic as the tap structure of the prediction tap, and It is possible to adopt sparseness and adopt 2 ⁇ 2 pixel unit as a unit to perform prediction processing.
  • a second-order prediction equation as a high-order prediction equation is adopted, and the tap shape is a rhombus shape as the tap structure of the prediction taps;
  • the number of prediction taps may be smaller than a predetermined number, and 2 ⁇ 2 pixel units may be adopted as a unit to perform prediction processing.
  • a DC prediction formula is adopted as a prediction formula used for the prediction process, and the tap shape is made into a diamond shape as a tap structure of prediction taps. Close the position close to the pixel of interest, sparsely close to the position distant from the pixel of interest, and make the number of prediction taps smaller by the number of DC taps than when using a linear prediction equation
  • the unit of 2 ⁇ 2 pixels can be adopted as a unit for performing the prediction process.
  • a primary prediction equation is adopted as a prediction equation used for the prediction process, a diamond shape of the tap shape is adopted as the tap structure of the prediction tap, and that the prediction tap is sparsely adopted.
  • One pixel unit can be adopted as a unit to be performed.
  • the prediction method in the lowermost column of FIG. 16 adopts one pixel unit as a unit for performing prediction processing by adopting sparsely using prediction taps, and the previous stage shown in the lowermost column of FIG.
  • a deblocking filter is provided as a filter, and a combination of ADRC and DF information is adopted as information used for classification, a class tap for ADRC is sparsely attached as a tap structure of class taps, and the tap shape is A cruciform shape may be adopted, and it may be selected when a classification method employing one pixel unit is selected as a unit for classification.
  • FIG. 17 is a flowchart illustrating an outline of the encoding process of the encoding device 20 of FIG.
  • the process according to the flowchart of FIG. 17 is performed, for example, on a frame (picture) basis.
  • step S21 the encoding unit 21 (FIG. 7) (predictive) encodes the original image using the filter image from the filter unit 23, and uses the local decoding unit 22 for the encoded data obtained by the encoding. After supplying, the process proceeds to step S22.
  • step S22 the local decoding unit 22 performs local decoding of the encoded data from the encoding unit 21 using the filter image from the filter unit 23, and the (locally) decoded image obtained as a result thereof is converted to the filter unit 23 , And the process proceeds to step S23.
  • step S23 in the filter unit 23 (FIG. 8), the class classification unit 41 sequentially selects the pixels of the decoded image from the local decoding unit 22 as the pixel of interest, and the process proceeds to step S24.
  • step S24 the class classification unit 41 classifies the class classification method for each of the plurality of class classification methods with respect to the target pixel of the decoded image, and supplies the class of the target pixel to the prediction unit 42.
  • the process proceeds to step S25.
  • step S25 for each of the plurality of prediction methods, the prediction unit 42 uses tap pixel learning and the original image for each class obtained for each of the plurality of class classification methods from the class classification unit 41 to perform tap coefficient learning (or Coefficient learning is performed, and tap coefficients (or seed coefficients) for each class are obtained for each combination of each of a plurality of classification methods and each of a plurality of prediction methods.
  • tap coefficient learning or Coefficient learning is performed, and tap coefficients (or seed coefficients) for each class are obtained for each combination of each of a plurality of classification methods and each of a plurality of prediction methods.
  • the prediction unit 42 determines tap coefficients obtained by tap coefficient learning (or tap coefficients obtained from seed coefficients obtained by seed coefficient learning) for combinations of each of a plurality of class classification methods and each of a plurality of prediction methods.
  • the filter processing as prediction processing which applies the prediction formula constituted by the above to a decoded picture is performed, and a filter picture is generated.
  • the prediction unit 42 compares the filter image with the original image for the combination of each of the plurality of class classification methods and each of the plurality of prediction methods to obtain the PSNR of the filtered image and performs coding of the original image.
  • the data amount of a coded bit stream including the obtained coded data and information necessary for decoding the coded data is determined.
  • the prediction unit 42 performs PSNR, data amount of a coded bit stream, classification method information indicating a class classification method, and prediction method information indicating a prediction method.
  • And tap coefficients are associated and supplied to the selection unit 43, and the process proceeds from step S25 to step S26.
  • the selection unit 43 uses the tap coefficient (or the tap coefficient obtained from the seed coefficient) obtained for the combination among the combinations of each of the plurality of class classification methods and each of the plurality of prediction methods.
  • a combination of a classification method and a prediction method that optimizes the coding efficiency is selected as a combination of the adopted classification method and the adopted prediction method.
  • the prediction unit 42 selects the tap coefficient (or the seed coefficient used to obtain the tap coefficient) for each class obtained for the combination of the adopted class classification method and the adopted prediction method, the adopted tap coefficient (or the seed coefficient). Select and include in the coefficient information.
  • the selection unit 43 supplies the adopted tap coefficient (or the seed coefficient) included in the coefficient information on the combination of the adopted class classification method and the adopted prediction method to the DB 44 to be stored, and the process proceeds from step S26 to step S27 .
  • classification method information indicating the adopted class classification method, prediction method information indicating the adopted prediction method, and adopted tap coefficients as coefficient information stored in the DB 44 are included in the filter information, and are encoded from the filter unit 23 It is supplied to the unit 21 (FIG. 7).
  • the selection unit 43 supplies classification method information representing the adopted class classification method to the class classification unit 45, and supplies prediction method information representing the adopted prediction method to the prediction unit 46.
  • step S27 the class classification unit 45 classifies each pixel of the decoded image according to the (classification) classification method represented by the classification method information from the selection unit 43, and transmits the class of each pixel to the prediction unit 46.
  • the prediction unit 46 decodes the prediction equation composed of the tap coefficients of the class from the class classification unit 45 among the adopted tap coefficients (or the tap coefficients generated from the seed coefficients) as the coefficient information stored in the DB 44 Filter processing as prediction processing of (presence) prediction method represented by prediction method information from the selection unit 43, and the filter image obtained as a result thereof is encoded by the encoding unit 21 and the local decoding unit 22 (see FIG. Supply to 8). Then, the process proceeds from step S27 to step S28.
  • the filter image supplied from the prediction unit 46 to the encoding unit 21 and the local decoding unit 22 in step S27 is used, for example, in the processes of steps S21 and S22 performed on the next frame of the decoded image.
  • step S28 the encoding unit 21 generates and transmits a coded bit stream including filter information from the filter unit 23, that is, classification method information, prediction method information, and coefficient information.
  • the coefficient information includes the seed coefficient, and the order of the coefficient prediction equation for obtaining the tap coefficient from the seed coefficient, and the parameter z as necessary. included.
  • FIG. 18 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. 18 is performed, for example, in units of frames, similarly to the encoding process of FIG.
  • step S41 the parsing unit 31 (FIG. 7) receives the encoded bit stream transmitted from the encoding device 20, parses the filter information included in the encoded bit stream, and supplies it 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. 8), the class classification unit 51 sequentially selects the pixels of the decoded image from the decoding unit 32 as the pixel of interest, and the process proceeds to step S44.
  • step S44 the class classification unit 51 classifies the pixel of interest by the adopted class classification method represented by the classification method information included in the filter information, and supplies the class of the pixel of interest obtained as a result to the prediction unit 52. Then, the process proceeds to step S45.
  • step S45 the prediction unit 52 acquires the (adopted) tap coefficient of the class of the pixel of interest from the class classification unit 51 from the adopted tap coefficient in the coefficient information included in the filter information, and the process proceeds to step S46.
  • the prediction unit 52 determines the tap of the class of the pixel of interest from the tap coefficient for each class included in the coefficient information as described above in step S45. Get the coefficient.
  • the prediction unit 52 acquires the seed coefficient of the class of the pixel of interest from the seed coefficient for each class included in the coefficient information in step S45.
  • the tap coefficient of the class of the pixel of interest is determined by acquiring the parameter z and calculating the coefficient prediction formula configured by the seed coefficient of the class of the pixel of interest and the parameter z.
  • step S46 the prediction unit 52 applies the prediction formula including the tap coefficients acquired in step S45 to the decoded image so that the filter as the prediction processing of the adopted prediction method represented by the prediction method information included in the filter information Process and generate a filtered image.
  • the filter image is supplied from the filter unit 33 to the decoding unit 32 (FIG. 7), and is output as a restored image obtained by restoring the original image.
  • the filter image supplied from the filter unit 33 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.
  • FIG. 19 is a block diagram showing a detailed configuration example of the coding device 20 of FIG.
  • the encoding device 20 includes an A / D conversion unit 101, a rearrangement buffer 102, an operation unit 103, an orthogonal transformation unit 104, a quantization unit 105, a lossless encoding unit 106, and an accumulation buffer 107. Furthermore, the encoding apparatus 20 includes an inverse quantization unit 108, an inverse orthogonal transformation unit 109, an operation unit 110, an ILF 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction compensation unit 115, and a predicted image selection unit 116. And a rate control unit 117.
  • the A / D conversion unit 101 A / D converts an original image of an analog signal into an original image of a digital signal, and supplies the original image to the rearrangement buffer 102 for storage.
  • the rearrangement buffer 102 rearranges the frames of the original image in display order to encoding (decoding) order according to GOP (Group Of Picture), and the arithmetic unit 103, the intra prediction unit 114, the motion prediction / compensation unit 115, and , Supply to the ILF 111.
  • GOP Group Of Picture
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 from the original image from the reordering buffer 102 via the predicted image selection unit 116, and the residual obtained by the subtraction.
  • the (prediction residual) is supplied to the orthogonal transformation unit 104.
  • the operation unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the original image read from the reordering buffer 102.
  • the orthogonal transformation unit 104 performs orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation on the residual supplied from the arithmetic unit 103. In addition, the method of this orthogonal transformation is arbitrary.
  • the orthogonal transformation unit 104 supplies the orthogonal transformation coefficient obtained by orthogonal exchange to the quantization unit 105.
  • the quantization unit 105 quantizes the orthogonal transformation coefficient supplied from the orthogonal transformation unit 104.
  • the quantization unit 105 sets the quantization parameter QP based on the target value of the code amount (code amount target value) supplied from the rate control unit 117, and performs quantization of the orthogonal transformation coefficient. In addition, the method of this quantization is arbitrary.
  • the quantization unit 105 supplies the lossless encoding unit 106 with the encoded data that is the quantized orthogonal transformation coefficient.
  • the lossless encoding unit 106 encodes the quantized orthogonal transformation coefficient as the encoded data from the quantization unit 105 according to a predetermined lossless encoding scheme. Since the orthogonal transformation coefficient is quantized under the control of the rate control unit 117, the code amount of the encoded bit stream obtained by the lossless encoding of the lossless encoding unit 106 is the code set by the rate control unit 117. It becomes the amount target value (or approximates the code amount target value).
  • the lossless encoding part 106 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 114 or the motion prediction / compensation unit 115.
  • motion information can be acquired from the motion prediction / compensation unit 115.
  • the lossless encoding unit 106 acquires, from the ILF 111, filter information on filter processing in the ILF 111 in addition to acquiring encoding information.
  • the lossless coding unit 106 may use, for example, variable-length coding such as CAVLC (Context-Adaptive Variable Length Coding) or CABAC (Context-Adaptive Binary Arithmetic Coding) or lossless coding such as arithmetic coding other coding information and filter information. 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 105, and supplies the encoded bit stream to the accumulation buffer 107.
  • variable-length coding such as CAVLC (Context-Adaptive Variable Length Coding) or CABAC (Context-Adaptive Binary Arithmetic Coding)
  • lossless coding such as arithmetic coding other coding information and filter information.
  • the accumulation buffer 107 temporarily accumulates the coded bit stream supplied from the lossless coding unit 106.
  • the coded bit stream stored in the storage buffer 107 is read and transmitted at a predetermined timing.
  • the encoded data which is the orthogonal transformation coefficient quantized in the quantization unit 105 is supplied to the lossless encoding unit 106 and also to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized orthogonal transformation coefficient according to a method corresponding to the quantization by the quantization unit 105, and transmits the orthogonal transformation coefficient obtained by the inverse quantization to the inverse orthogonal transformation unit 109. Supply.
  • the inverse orthogonal transformation unit 109 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 108 by a method corresponding to orthogonal transformation processing by the orthogonal transformation unit 104, and obtains a residual obtained as a result of the inverse orthogonal transformation. , Supply to the calculation unit 110.
  • the arithmetic unit 110 adds the predicted image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116 to the residual supplied from the inverse orthogonal transform unit 109, 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 110 is supplied to the ILF 111.
  • the ILF 111 performs, for example, filtering processing as class classification prediction processing, and predicts (restores) the original image.
  • the decoded image is supplied from the calculation unit 110 to the ILF 111, and an original image corresponding to the decoded image is supplied from the reordering buffer 102.
  • the ILF 111 uses, for example, the decoded image from the calculation unit 110 and the original image from the reordering buffer 102 as student data and teacher data, respectively, and combines each of a plurality of class classification methods with each of a plurality of prediction methods. For each, tap coefficient learning or seed coefficient learning is performed.
  • the ILF 111 is a prediction using tap coefficients generated (determined) from tap coefficients or seed coefficients determined for the combination among each of the plurality of classification methods and each of the plurality of prediction methods.
  • a combination of a classification method and a prediction method that optimizes the coding efficiency is selected as a combination of the adopted classification method and the adopted prediction method.
  • the ILF 111 includes, in the coefficient information, tap coefficients or seed coefficients for each class obtained for combinations of adopted classification methods and adopted prediction methods as adopted tap coefficients or seed coefficients.
  • the ILF 111 generates filter information including classification method information representing the adopted class classification method, prediction method information representing the adopted prediction method, and coefficient information, and supplies the filter information to the lossless encoding unit 106.
  • the ILF 111 classifies each pixel of the decoded image by the adopted classification method represented by the classification method information of the filter information, and obtains the class of each pixel. Furthermore, the ILF 111 is a prediction equation that includes, for each pixel of the decoded image, tap coefficients of the class of the pixel among tap coefficients generated from adopted tap coefficients or seed coefficients included in coefficient information of filter information. By applying, filter processing as prediction processing of the adoption prediction method represented by prediction method information of filter information is performed, and a filter image generated by the filter processing is output.
  • the filter image output from the ILF 111 is supplied to the frame memory 112.
  • tap coefficient learning is performed in the tap coefficient learning and the seed coefficient learning in the ILF 111.
  • the ILF 111 can function as one or more filters among a deblocking filter, an adaptive offset filter, a bilateral filter, and an ALF depending on student images and teacher images used for tap coefficient learning.
  • the ILF 111 functions as a deblocking filter, an adaptive offset filter, a bilateral filter, and two or more filters of ALF, the arrangement order of the two or more filters is arbitrary.
  • the ILF 111 can function as a deblocking filter, an adaptive offset filter, a bilateral filter, and a filter other than ALF. Further, although no filter other than the ILF 111 is provided in FIG. 19, in addition to the ILF 111, one or more of the deblocking filter, the adaptive offset filter, the bilateral filter, and the ALF are It can be provided in one or both of the latter stages. The same applies to the decoding device 30 in the above points.
  • the frame memory 112 temporarily stores the filter image supplied from the ILF 111 as a restored image obtained by restoring the original image.
  • the restored image stored in the frame memory 112 is supplied to the selection unit 113 as a reference image used for generating a predicted image at a necessary timing.
  • the selection unit 113 selects the supply destination of the reference image supplied from the frame memory 112. For example, when intra prediction is performed in the intra prediction unit 114, the selection unit 113 supplies the reference image supplied from the frame memory 112 to the intra prediction unit 114. Also, for example, when inter prediction is performed in the motion prediction / compensation unit 115, the selection unit 113 supplies the reference image supplied from the frame memory 112 to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 uses the original image supplied from the reordering buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113, for example, using PU (Prediction Unit) as a processing unit. Perform prediction (in-screen prediction).
  • the intra prediction unit 114 selects the optimal intra prediction mode based on a predetermined cost function (for example, RD cost etc.), and outputs the predicted image generated in the optimal intra prediction mode to the predicted image selection unit 116. Supply. Further, as described above, the intra prediction unit 114 appropriately supplies the prediction mode indicating the intra prediction mode selected based on the cost function to the lossless encoding unit 106 and the like.
  • the motion prediction / compensation unit 115 uses the original image supplied from the reordering buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113, and performs motion prediction (interpolation, for example, using PU as a processing unit Make predictions). Furthermore, the motion prediction / compensation unit 115 performs motion compensation in accordance with the motion vector detected by motion prediction, and generates a predicted image. The motion prediction / compensation unit 115 performs inter prediction in a plurality of inter prediction modes prepared in advance, and generates a predicted image.
  • the motion prediction / compensation unit 115 selects an optimal inter prediction mode based on a predetermined cost function of the predicted image obtained for each of the plurality of inter prediction modes. Furthermore, the motion prediction / compensation unit 115 supplies the prediction image generated in the optimal inter prediction mode to the prediction image selection unit 116.
  • the motion prediction / compensation unit 115 performs a motion such as a prediction mode indicating an inter prediction mode selected based on the cost function, or a motion vector required to decode coded data encoded in the inter prediction mode. Information and the like are supplied to the lossless encoding unit 106.
  • the prediction image selection unit 116 selects the supply source (the intra prediction unit 114 or the motion prediction compensation unit 115) of the prediction image to be supplied to the calculation units 103 and 210, and the prediction image supplied from the selected supply source is selected. , And supplies to the arithmetic units 103 and 210.
  • the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the code amount of the coded bit stream accumulated in the accumulation buffer 107 so that overflow or underflow does not occur. That is, the rate control unit 117 sets a target code amount of the coded bit stream so as not to cause overflow and underflow of the accumulation buffer 107, and supplies the target code amount to the quantization unit 105.
  • the operation unit 103 to the lossless encoding unit 106 are the encoding unit 21 of FIG. 7
  • the dequantization unit 108 to the operation unit 110 are the local decoding unit 22 of FIG. 7
  • the ILF 111 is the filter of FIG. It corresponds to the part 23.
  • FIG. 20 is a block diagram showing a configuration example of the ILF 111 of FIG.
  • the ILF 111 includes a learning device 131 and a prediction device 132.
  • the decoded image is supplied from the arithmetic unit 110 (FIG. 19).
  • the learning device 131 performs tap coefficient learning for each combination of each of a plurality of class classification methods and each of a plurality of prediction methods, using the decoded image and the original image as student data and teacher data, respectively.
  • the learning device 131 has the best coding efficiency when performing prediction processing using tap coefficients obtained for the combination.
  • the combination of the classification method and the prediction method to be selected is selected as the combination of the adopted classification method and the adopted prediction method.
  • the learning device 131 selects, for the adopted tap coefficient, the tap coefficient for each class obtained for the combination of the adopted class classification method and the adopted prediction method.
  • the learning device 131 generates filter information including the adopted tap coefficient as coefficient information, the coefficient information, the classification method information representing the adopted class classification method, and the prediction method information representing the adopted prediction method, and the prediction device 132 And the lossless encoding unit 106 (FIG. 19).
  • the prediction device 132 is supplied with filter information from the learning device 131, and is also supplied with a decoded image from the calculation unit 110 (FIG. 19).
  • the prediction device 132 generates a filter image by performing class classification prediction processing on the decoded image using the filter information from the learning device 131, and supplies the filter image to the frame memory 112 (FIG. 19).
  • the prediction device 132 classifies each pixel of the decoded image by the adopted classification method represented by the classification method information of the filter information, and obtains the class of each pixel. Further, the prediction device 132 applies the prediction information configured by using the tap coefficient of the class of the pixel among the adopted tap coefficients included in the coefficient information of the filter information to each pixel of the decoded image.
  • the filter processing as prediction processing of the adopted prediction method represented by the prediction method information is performed, and the filter image generated by the filter processing is supplied to the frame memory 112.
  • FIG. 21 is a block diagram showing a configuration example of the learning device 131 of FIG.
  • the learning device 131 includes a selection unit 141, a learning unit 142, and a selection unit 143.
  • the selection unit 141 stores, for example, classification method information of each of a plurality of class classification methods as described in FIGS. 15 and 16 and prediction method information of each of a plurality of prediction methods.
  • the selection unit 141 focuses on a combination not selected as the attention information as the combination to be noticed among the combinations of one of the plurality of classification method information and one of the plurality of prediction method information.
  • the information is selected and supplied to the learning unit 142 and the selection unit 143.
  • the learning unit 142 includes a tap selection unit 151, a class classification unit 152, an addition unit 153, and a coefficient calculation unit 154, and performs tap coefficient learning using the decoded image and the original image as student data and teacher data, respectively.
  • class classification is performed by a class classification method represented by classification method information constituting a combination as attention information supplied from the selection unit 141, and a prediction method represented by prediction method information constituting a combination as attention information
  • the tap coefficient in the case where the prediction process is performed is determined.
  • the tap selection unit 151 sequentially selects the pixels of the decoded image as student data as the target pixel. Further, the tap selection unit 151 selects a pixel as a prediction tap from the pixels constituting the student image for the pixel of interest according to the prediction method represented by the prediction method information constituting the combination as the information of interest from the selection unit 141. , Supply unit 153.
  • the class classification unit 152 classifies the class of the pixel of interest by the class classification method represented by the classification method information constituting the combination as the information of interest from the selection section 141 using, for example, the pixels of the decoded image, and the result is obtained.
  • the class of the target pixel is output to the adding unit 153.
  • the adding unit 153 selects the corresponding pixel corresponding to the target pixel from the original image as the teacher data, (the pixel value of the corresponding pixel), and the prediction tap for the target pixel supplied from the tap selection unit 151.
  • the addition of each of the terms constituting the normal equation, which is the target, is performed for each class of the target pixel supplied from the class classification unit 152.
  • the normal equation in which the addition is performed is determined by the prediction method represented by the prediction method information that constitutes the combination as the attention information from the selection unit 141.
  • the adding-in unit 153 adds a normal equation to each term of the decoded image as student data, for example, with all pixels in one frame as a target pixel, thereby adding the normal equation for each class.
  • the normal equation is supplied to the coefficient calculation unit 154.
  • the coefficient calculation unit 154 obtains tap coefficients for each class by solving the normal equation for each class supplied from the addition unit 153.
  • the coefficient calculation unit 154 supplies, to the selection unit 143, the tap coefficient for each class of the target information, which is obtained as described above.
  • the selection unit 143 is supplied with attention information from the selection unit 141, and is supplied with tap coefficients for each class of attention information from (the coefficient calculation unit 154 of) the learning unit 142, and student data of tap coefficient learning And the decoded image and the original image as teacher data are supplied.
  • the selection unit 143 associates and stores the combination of the class classification method and the prediction method as the attention information from the selection unit 141 and the tap coefficient for the attention information from the learning unit 142.
  • the selection unit 143 performs filter processing as class classification prediction processing using tap coefficients among tap coefficients for each combination of a class classification method and a prediction method sequentially supplied as attention information from the selection unit 141.
  • the tap coefficient that maximizes the coding efficiency when selected is selected as the adopted tap coefficient.
  • the selection unit 143 when performing the class classification prediction processing, performs class classification by the class classification method that configures the combination associated with the tap coefficient to be used, and the prediction processing is associated with the tap coefficient to be used It does with the prediction method which constitutes combination.
  • the selection unit 143 selects the classification method and the prediction method, which constitute the combination associated with the adopted tap coefficient, as the adopted class classification method and the adopted prediction method, respectively. Then, the selecting unit 143 sets the adopted tap coefficient as coefficient information, generates the filter information including the coefficient information, the classification method information representing the adopted class classification method, and the prediction method information representing the adopted prediction method. While supplying to 132 (FIG. 20), it supplies to the lossless encoding part 106 (FIG. 19).
  • FIG. 22 is a block diagram showing a configuration example of the prediction device 132 of FIG.
  • the prediction device 132 includes a filter information storage unit 171, a tap selection unit 181, a class classification unit 182, a coefficient acquisition unit 183, and a prediction calculation unit 184.
  • the filter information storage unit 171 stores filter information supplied from (the selection unit 143 (FIG. 21) of) the learning device 131.
  • the classification method information included in the filter information stored in the filter information storage unit 171 is supplied to the class classification unit 182.
  • the coefficient information included in the filter information stored in the filter information storage unit 171 is supplied to the coefficient acquisition unit 183, and the prediction method information included in the filter information is supplied to the tap selection unit 181 and the prediction calculation unit 184. Ru.
  • the decoded image from the calculation unit 110 is supplied to the tap selection unit 181 and the class classification unit 182.
  • the tap selection unit 181 sequentially selects the pixels of the decoded image as the pixel of interest. Further, the tap selection unit 181 selects, from the decoded image, a pixel as a prediction tap of a tap structure according to the adoption prediction method represented by the prediction method information stored in the filter information storage unit 171 for the pixel of interest It supplies to the part 184.
  • the class classification unit 182 classifies the pixel of interest by the adopted class classification method represented by the classification method information stored in the filter information storage unit 171 using a decoded image or the like, and obtains the class of the pixel of interest obtained as a result of the classification.
  • the coefficient acquisition unit 183 is supplied.
  • the coefficient acquisition unit 183 stores the tap coefficient for each class as coefficient information stored in the filter information storage unit 171, and among the stored tap coefficients, the tap coefficient of the class of the pixel of interest from the class classification unit 182 To get Further, the coefficient acquisition unit 183 supplies the tap coefficient of the class of the pixel of interest to the prediction calculation unit 184.
  • the prediction calculation unit 184 follows the adopted prediction method represented by the prediction method information stored in the filter information storage unit 171 using the prediction tap from the tap selection unit 181 and the tap coefficient supplied from the coefficient acquisition unit 183. By performing the calculation of the prediction equation, the predicted value of the pixel of the original image is obtained, and the filter image having the predicted value as the pixel value is supplied to the frame memory 112 (FIG. 19).
  • FIG. 23 is a flowchart for explaining an example of the encoding process of the encoding device 20 of FIG.
  • the learning device 131 (FIG. 21) of the ILF 111 temporarily stores the decoded image supplied thereto, and temporarily stores the original image corresponding to the decoded image.
  • step S101 the learning device 131 determines whether the current timing is an update timing for updating the filter information.
  • the update timing of the filter information 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 filter information in addition to 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,
  • the learning device 131 performs tap coefficient learning using one frame of the decoded image and the original image, and that the timing for each frame is the update timing of the filter information.
  • step S101 If it is determined in step S101 that the current timing is not the filter information update timing, the process skips steps S102 to S105 and proceeds to step S106.
  • step S101 when it is determined in step S101 that the current timing is the update timing of the filter information, the process proceeds to step S102, and the learning device 131 determines each of the plurality of class classification methods and each of the plurality of prediction methods.
  • the tap coefficient learning for obtaining the tap coefficient for each class is performed for each combination of.
  • the learning device 131 decodes the latest one frame supplied to the decoded image and the original image (here, the learning device 131 (ILF 111)) stored between the previous update timing and the current update timing. Tap coefficient learning is performed using an image and an original image, and tap coefficients for each class are obtained for each combination of each of a plurality of class classification methods and each of a plurality of prediction methods.
  • step S102 the process proceeds from step S102 to step S103, and the learning device 131 uses the tap coefficient for each class obtained for the combination among the combinations of each of the plurality of class classification methods and each of the plurality of prediction methods.
  • the combination of the classification method and the prediction method that makes the coding efficiency the best is selected as the combination of the adopted classification method and the adopted prediction method.
  • the learning device 131 selects the tap coefficient for each class obtained for the combination of the adopted class classification method and the adopted prediction method as the adopted tap coefficient, and the process proceeds from step S103 to step S104.
  • step S104 the learning device 131 generates filter information including the adopted tap coefficient as coefficient information, the coefficient information, the classification method information representing the adopted class classification method, and the prediction method information representing the adopted prediction method. It supplies to the apparatus 132 (FIG. 22) and the lossless encoding part 106 (FIG. 19).
  • the lossless encoding unit 106 sets the filter information from the learning device 131 as a transmission target, and the process proceeds from step S104 to step S105.
  • 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 S106 described later.
  • step S105 the prediction device 132 updates the filter information stored in the filter information storage unit 171 (FIG. 22) with the filter information from the learning device 131 (stores the filter information in a form of overwriting), The process proceeds to step S106.
  • step S106 predictive coding processing of the original image is performed, and the coding processing ends.
  • FIG. 24 is a flowchart for explaining an example of the predictive coding process of step S106 in FIG.
  • step S111 the A / D conversion unit 101 (FIG. 19) A / D converts the original image and supplies it to the rearrangement buffer 102, and the process proceeds to step S112.
  • step S112 the reordering buffer 102 stores the original image from the A / D conversion unit 101, reorders in coding order, and outputs it, and the process proceeds to step S113.
  • step S113 the intra prediction unit 114 performs intra prediction processing in the intra prediction mode, and the process proceeds to step S114.
  • the motion prediction / compensation unit 115 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 116 determines the optimal prediction mode based on the cost functions obtained by the intra prediction unit 114 and the motion prediction / compensation unit 115. Then, the prediction image selection unit 116 selects and outputs the prediction image of the optimal prediction mode from among the prediction image generated by the intra prediction unit 114 and the prediction image generated by the motion prediction compensation unit 115. The process proceeds from step S115 to step S116.
  • step S116 the computing unit 103 computes the residual of the target image to be encoded, which is the original image output by the reordering buffer 102, and the predicted image output by the predicted image selecting unit 116. , And the process proceeds to step S117.
  • step S117 the orthogonal transformation unit 104 orthogonally transforms the residual from the calculation unit 103, supplies the orthogonal transformation coefficient obtained as a result to the quantization unit 105, and the process proceeds to step S118.
  • step S118 the quantization unit 105 quantizes the orthogonal transformation coefficient from the orthogonal transformation unit 104, supplies the quantization coefficient obtained by the quantization to the lossless encoding unit 106 and the inverse quantization unit 108, The processing proceeds to step S119.
  • step S119 the inverse quantization unit 108 inversely quantizes the quantization coefficient from the quantization unit 105, supplies the orthogonal transformation coefficient obtained as a result to the inverse orthogonal transformation unit 109, and the process proceeds to step S120. move on.
  • step S120 the inverse orthogonal transformation unit 109 performs inverse orthogonal transformation on the orthogonal transformation coefficient from the inverse quantization unit 108, supplies the residual obtained as a result to the calculation unit 110, and the process proceeds to step S121. .
  • step S121 the operation unit 110 adds the residual from the inverse orthogonal transformation unit 109 and the predicted image output from the predicted image selection unit 116, and the element that is the target of the operation of the residual in the operation unit 103.
  • a decoded image corresponding to the image is generated.
  • the calculation unit 110 supplies the decoded image to the ILF 111, and the process proceeds from step S121 to step S122.
  • step S122 the ILF 111 performs filter processing as prediction processing (class classification prediction processing) on the decoded image from the calculation unit 110, supplies a filter image obtained by the filter processing to the frame memory 112, and performs processing.
  • the process proceeds from step S122 to step S123.
  • step S123 the frame memory 112 stores the filter image supplied from the ILF 111 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 112 is used as a reference image from which a predicted image is generated in steps S113 and S114.
  • the lossless encoding unit 106 encodes the encoded data that is the quantization coefficient from the quantization unit 105, and generates an encoded bit stream including the encoded data. Furthermore, the lossless encoding unit 106 may use the quantization parameter QP used for the quantization in the quantization unit 105, the prediction mode obtained in the intra prediction process in the intra prediction unit 114, the motion prediction compensation unit 115, 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 106 encodes, as necessary, the filter information set as the transmission target in step S104 of FIG. 23, and includes the encoded information in the encoded bit stream. Then, the lossless encoding unit 106 supplies the encoded bit stream to the accumulation buffer 107, and the process proceeds from step S124 to step S125.
  • step S125 the accumulation buffer 107 accumulates the coded bit stream from the lossless coding unit 106, and the process proceeds to step S126.
  • the coded bit stream stored in the storage buffer 107 is read out and transmitted as appropriate.
  • step S126 the rate control unit 117 controls the quantizing unit 105 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 107.
  • the rate of the quantization operation is controlled, and the encoding process ends.
  • FIG. 25 is a flow chart for explaining an example of the filtering process performed in step S122 of FIG.
  • step S131 the prediction device 132 (FIG. 22) of the ILF 111 focuses on one of the pixels of the decoded image (as a block) supplied from the calculation unit 110 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 132 has a tap structure in accordance with the adopted prediction method represented by the prediction method information included in the latest filter information stored in the filter information storage unit 171 in step S105 (FIG. 23) for the pixel of interest.
  • a pixel as a prediction tap is selected from the decoded image, and the process proceeds to step S133.
  • step S133 the prediction device 132 classifies the pixel of interest by the adopted class classification method represented by the classification method information included in the latest filter information stored in the filter information storage unit 171 in step S105, The process proceeds to step S134.
  • step S134 the prediction device 132 acquires the tap coefficient of the class of the pixel of interest from the tap coefficients for each class as coefficient information included in the latest filter information stored in the filter information storage unit 171 in step S105. The processing proceeds to step S135.
  • step S135 the prediction device 132 uses the prediction method information represented by the prediction method information stored in the filter information storage unit 171, which is configured using the prediction tap for the target pixel and the tap coefficient of the class of the target pixel.
  • a filtering process is applied to apply the predicted equation to the decoded image, that is, a calculation of the predicted equation is performed to obtain a filtered image.
  • step S135 the prediction device 132 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 110 . If it is determined in step S136 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 S136 when it is determined in step S136 that there is no pixel not yet considered as the pixel of interest, the process proceeds to step S137, and the prediction device 132 applies to the decoded image (as a block) from the calculation unit 110.
  • the filter image composed of the pixel values obtained is supplied to the frame memory 112 (FIG. 19). Then, the filtering process is ended and the process returns.
  • FIG. 26 is a block diagram showing a detailed configuration example of the decoding device 30 of FIG.
  • the decoding apparatus 30 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transformation unit 204, an operation unit 205, an ILF 206, a reordering buffer 207, and a D / A conversion unit 208.
  • the decoding device 30 includes a frame memory 210, a selection unit 211, an intra prediction unit 212, a motion prediction compensation unit 213, and a selection unit 214.
  • the accumulation buffer 201 temporarily accumulates the coded bit stream transmitted from the coding device 20, and supplies the coded bit stream to the lossless decoding unit 202 at a predetermined timing.
  • the lossless decoding unit 202 receives the coded bit stream from the accumulation buffer 201, and decodes the bit stream according to the coding method of the lossless coding unit 106 in FIG.
  • the lossless decoding unit 202 supplies the dequantization unit 203 with the quantization coefficient as the encoded data included in the decoding result of the encoded bit stream.
  • the lossless decoding unit 202 has a function of performing parsing.
  • the lossless decoding unit 202 parses the necessary coding information and filter information included in the decoding result of the coded bit stream, and supplies the coding information to the intra prediction unit 212, the motion prediction / compensation unit 213, and other necessary blocks. Do. Furthermore, the lossless decoding unit 202 supplies the filter information to the ILF 206.
  • the inverse quantization unit 203 is obtained by inverse quantization of the quantization coefficient as the encoded data from the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • the orthogonal transformation coefficient is supplied to the inverse orthogonal transformation unit 204.
  • the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 203 according to a method corresponding to the orthogonal transformation method of the orthogonal transformation unit 104 in FIG.
  • the information is supplied to the arithmetic unit 205.
  • the residual is supplied from the inverse orthogonal transform unit 204 to the calculation unit 205, and a predicted image is supplied from the intra prediction unit 212 or the motion prediction / compensation unit 213 via the selection unit 214.
  • the operation unit 205 adds the residual from the inverse orthogonal transform unit 204 and the predicted image from the selection unit 214 to generate a decoded image, and supplies the decoded image to the ILF 206.
  • the ILF 206 performs filter processing by class classification prediction processing to predict (restore) the original image.
  • the decoded image is supplied to the ILF 206 from the arithmetic unit 205, and the filter information is supplied from the lossless decoding unit 202.
  • the ILF 206 classifies each pixel of the decoded image by an adopted class classification method represented by classification method information of filter information, and obtains a class of each pixel. Furthermore, the ILF 206 applies, to each pixel of the decoded image, a prediction formula including tap coefficients of the class of the pixel among adopted tap coefficients as coefficient information included in the filter information. Filter processing as prediction processing of the adopted prediction method represented by the prediction method information is performed, and a filter image generated by the filter processing is output.
  • the filter image output from the ILF 206 is an image similar to the filter image output from the ILF 111 in FIG. 19 and is supplied to the reordering buffer 207 and the frame memory 210.
  • the rearrangement buffer 207 temporarily stores the filter image supplied from the ILF 206 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 208.
  • the D / A conversion unit 208 D / A converts the restored image supplied from the reordering buffer 207, and outputs the image to a display (not shown) for display.
  • the frame memory 210 temporarily stores the filter image supplied from the ILF 206. Furthermore, the frame memory 210 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 212 or the motion prediction / compensation unit 213. Supply to
  • the selection unit 211 selects the supply destination of the reference image supplied from the frame memory 210.
  • the selection unit 211 supplies the reference image supplied from the frame memory 210 to the intra prediction unit 212.
  • the selection unit 211 supplies the reference image supplied from the frame memory 210 to the motion prediction / compensation unit 213.
  • the intra prediction unit 212 uses the intra prediction mode used in the intra prediction unit 114 of FIG. 19 according to the prediction mode included in the coding information supplied from the lossless decoding unit 202, from the frame memory 210 via the selection unit 211. Intra prediction is performed using the supplied reference image. Then, the intra prediction unit 212 supplies the prediction image obtained by intra prediction to the selection unit 214.
  • the motion prediction / compensation unit 213 selects the selection unit 211 from the frame memory 210 in the inter prediction mode used in the motion prediction / compensation unit 115 of FIG. 19 in accordance with the prediction mode included in the coding information supplied from the lossless decoding unit 202.
  • 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 202 as necessary.
  • the motion prediction / compensation unit 213 supplies the prediction image obtained by the inter prediction to the selection unit 214.
  • the selection unit 214 selects the prediction image supplied from the intra prediction unit 212 or the prediction image supplied from the motion prediction / compensation unit 213, and supplies the selected prediction image to the calculation unit 205.
  • the lossless decoding unit 202 corresponds to the perspective unit 31 in FIG. 7
  • the inverse quantization unit 203 to the operation unit 205 correspond to the decoding unit 32 in FIG. 7
  • the ILF 206 corresponds to the filter unit 33 in FIG. .
  • FIG. 27 is a block diagram showing a configuration example of the ILF 206 of FIG.
  • the ILF 206 has a prediction device 231.
  • the decoded image is supplied from the arithmetic unit 205 (FIG. 26), and the filter information is supplied from the lossless decoding unit 202.
  • the prediction device 231 performs filter processing as class classification prediction processing using the filter information from the lossless decoding unit 202, generates a filter image having the prediction value of the original image as the pixel value, and generates the rearrangement buffer 207 and It supplies the frame memory 210 (FIG. 26).
  • the prediction device 231 classifies each pixel of the decoded image by the adopted classification method represented by the classification method information of the filter information, and obtains the class of each pixel. Furthermore, the prediction device 231 applies, to each pixel of the decoded image, a prediction equation configured by the tap coefficient of the class of the pixel among the adopted tap coefficients included in the coefficient information of the filter information.
  • the filter processing as prediction processing of the adoption prediction method represented by the prediction method information is performed, and the filter image generated by the filter processing is supplied to the rearrangement buffer 207 and the frame memory 210.
  • FIG. 28 is a block diagram showing a configuration example of the prediction device 231 of FIG.
  • the prediction device 231 includes a filter information storage unit 241, a tap selection unit 251, a class classification unit 252, a coefficient acquisition unit 253, and a prediction calculation unit 254.
  • the filter information storage unit 241 and the tap selection unit 251 to the prediction calculation unit 254 are configured in the same manner as the filter information storage unit 171 and the tap selection unit 181 to the prediction calculation unit 184 in FIG. Since processing similar to that of the prediction device 132 of FIG. 22 is performed, the description will be omitted.
  • FIG. 29 is a flow chart for explaining an example of the decoding process of the decoding device 30 of FIG.
  • step S201 the accumulation buffer 201 temporarily accumulates the encoded bit stream transmitted from the encoding device 20, and appropriately supplies the encoded bit stream to the lossless decoding unit 202, and the process proceeds to step S202.
  • step S202 the lossless decoding unit 202 receives and decodes the coded bit stream supplied from the accumulation buffer 201, and dequantizes the quantization coefficient as coded data included in the decoded result of the coded bit stream. It supplies to the part 203.
  • the lossless decoding unit 202 parses the filter information and the coding information. Then, the lossless decoding unit 202 supplies necessary coding information to the intra prediction unit 212, the motion prediction / compensation unit 213, and other necessary blocks. Also, the lossless decoding unit 202 supplies the filter information to the ILF 206.
  • step S202 determines whether or not filter information is supplied from the lossless decoding unit 202.
  • 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 has been supplied, the process proceeds to step S204, and the prediction device 231 (FIG. 28) acquires the filter information from the lossless decoding unit 202. Further, the prediction device 231 updates the filter information stored in the filter information storage unit 241 of the prediction device 231 with the filter information from the lossless decoding unit 202.
  • step S204 the prediction decoding process is performed, and the decoding process ends.
  • FIG. 30 is a flowchart for explaining an example of the predictive decoding process of step S205 of FIG.
  • step S211 the inverse quantization unit 203 inversely quantizes the quantization coefficient from the lossless decoding unit 202, supplies the orthogonal transformation coefficient obtained as a result to the inverse orthogonal transformation unit 204, and the process proceeds to step S212. move on.
  • step S212 the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient from the inverse quantization unit 203, supplies the residual obtained as a result to the calculation unit 205, and the process proceeds to step S213. .
  • step S 213 the intra prediction unit 212 or the motion prediction / compensation unit 213 performs prediction using the reference image supplied from the frame memory 210 via the selection unit 211 and the coding information supplied from the lossless decoding unit 202. Intra prediction processing or inter motion prediction processing for generating an image is performed. Then, the intra prediction unit 212 or the motion prediction / compensation unit 213 supplies the prediction image obtained by the intra prediction process or the inter motion prediction process to the selection unit 214, and the process proceeds from step S213 to step S214.
  • step S214 the selection unit 214 selects the prediction image supplied from the intra prediction unit 212 or the motion prediction / compensation unit 213, supplies the prediction image to the calculation unit 205, and the process proceeds to step S215.
  • step S215 the operation unit 205 adds the residual from the inverse orthogonal transform unit 204 and the predicted image from the selection unit 214 to generate a decoded image. Then, the calculation unit 205 supplies the decoded image to the ILF 206, and the process proceeds from step S215 to step S216.
  • step S216 the ILF 206 performs filter processing as prediction processing (class classification prediction processing) on the decoded image from the operation unit 205, and the filter image obtained by the filter processing is stored in the rearrangement buffer 207 and the frame memory 210. After supplying, the process proceeds from step S216 to step S217.
  • prediction processing class classification prediction processing
  • step S217 the reordering buffer 207 temporarily stores the filter image supplied from the ILF 206 as a restored image. Furthermore, the rearrangement buffer 207 rearranges the stored restored images in display order and supplies the rearranged images to the D / A converter 208, and the process proceeds from step S217 to step S218.
  • step S218 the D / A conversion unit 208 D / A converts the restored image from the rearrangement buffer 207, 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 210 stores the filter image supplied from the ILF 206 as a restored image, and the decoding process ends.
  • the restored image stored in the frame memory 210 is used as a reference image which is a source of generating a predicted image in the intra prediction processing or the inter motion prediction processing of step S213.
  • FIG. 31 is a flow chart for explaining an example of the filtering process performed in step S216 of FIG.
  • step S231 the prediction device 231 (FIG. 28) of the ILF 206 focuses on one of the pixels of the decoded image (as a block) supplied from the operation unit 205 that is not yet regarded as the pixel of interest. The pixel is selected, and the process proceeds to step S232.
  • step S232 the prediction device 231 has a tap structure according to the adopted prediction method represented by the prediction method information included in the latest filter information stored in the filter information storage unit 241 in step S204 (FIG. 29) for the pixel of interest.
  • a pixel as a prediction tap is selected from the decoded image, and the process proceeds to step S233.
  • step S233 the prediction device 231 classifies the pixel of interest by the adopted class classification method represented by the classification method information included in the latest filter information stored in the filter information storage unit 241 in step S204, The process proceeds to step S234.
  • step S234 the prediction device 231 acquires the tap coefficient of the class of the pixel of interest from the tap coefficients for each class as coefficient information included in the latest filter information stored in the filter information storage unit 241 in step S204. The processing proceeds to step S235.
  • step S235 the prediction device 231 uses the prediction method represented by the prediction method information stored in the filter information storage unit 241, which is configured using the prediction tap for the target pixel and the tap coefficient of the class of the target pixel.
  • a filtering process is applied to apply the predicted equation to the decoded image, that is, a calculation of the predicted equation is performed to obtain a filtered image.
  • step S235 the process proceeds from step S235 to step S236, and the prediction device 231 determines whether or not there is any pixel that is not yet a pixel of interest among the pixels of the decoded image (as a block) from the arithmetic unit 205 . If it is determined in step S236 that there is a pixel that is not yet a target pixel, the process returns to step S231, and the same process is repeated thereafter.
  • step S236 If it is determined in step S236 that there is no pixel not yet considered as the target pixel, the process proceeds to step S237, and the prediction device 231 determines (the block as) the decoded image from the computing unit 205.
  • the filter image composed of the pixel values obtained is supplied to the reordering buffer 207 and the frame memory 210 (FIG. 26). Then, the filtering process is ended and the process returns.
  • FIG. 32 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 305 or ROM 303 as a recording medium built in the computer.
  • the program can be stored (recorded) in the removable recording medium 311.
  • Such removable recording medium 311 can be provided as so-called package software.
  • examples of the removable recording medium 311 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 311 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 305. 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) 302, and an input / output interface 310 is connected to the CPU 302 via a bus 301.
  • a CPU Central Processing Unit
  • the CPU 302 executes a program stored in a ROM (Read Only Memory) 303 accordingly. .
  • the CPU 302 loads a program stored in the hard disk 305 into a random access memory (RAM) 304 and executes the program.
  • RAM random access memory
  • the CPU 302 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 302 causes the processing result to be output from the output unit 306, transmitted from the communication unit 308, or recorded in the hard disk 305, for example, via the input / output interface 310, as necessary.
  • the input unit 307 is configured of a keyboard, a mouse, a microphone, and the like.
  • the output unit 306 is configured of an LCD (Liquid Crystal Display), a speaker, and the like.
  • 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.
  • the present technology can be applied to any image coding / decoding method. That is, as long as it does not contradict the above-described present technology, specifications of various processes related to image coding / decoding such as conversion (inverse conversion), quantization (inverse quantization), coding (decoding), prediction, and the like are arbitrary. It is not limited to the example. Moreover, as long as there is no contradiction to the above-described present technology, some of these processes may be omitted.
  • the data unit in which the various information described above is set and the data unit targeted by the various processes are arbitrary and are not limited to the above-described example.
  • these pieces of information and processing are respectively TU (Transform Unit), TB (Transform Block), PU (Prediction Unit), PB (Prediction Block), CU (Coding Unit), LCU (Largest Coding Unit), and subblocks. It may be set for each block, tile, slice, picture, sequence, or component, or data of those data units may be targeted.
  • this data unit may be set for each information or process, and it is not necessary to unify all the information and data units of the process.
  • the storage location of these pieces of information is arbitrary, and may be stored in the header or parameter set of the data unit described above. Also, they may be stored in a plurality of places.
  • control information related to the present technology described in each of the above embodiments may be transmitted from the encoding side to the decoding side.
  • control information for example, enabled_flag
  • control information indicating a target to which the present technology described above is applied may be transmitted.
  • control information specifying a block size (upper limit or lower limit, or both) to which the present technology is applied (or permission or prohibition of application), a frame, a component, or a layer may be transmitted.
  • ⁇ Block size information> In specifying the block size to which the present technology is applied, not only the block size may be specified directly, but also the block size may be specified indirectly.
  • 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).
  • the information specifying the size indirectly as described above may be used as the information. By doing this, the amount of information of the information can be reduced, and the encoding efficiency may be improved.
  • 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).
  • “flag” is information for identifying a plurality of states, and is not limited to information used to identify two states of true (1) or false (0), and may be three or more. Information that can identify the state is also included. Therefore, the possible value of this "flag” may be, for example, a binary value of 1/0 or a ternary value or more. That is, the number of bits constituting this "flag” is arbitrary, and may be one bit or plural bits. Further, not only the identification information (including the flag) is included in the bitstream, but also the difference information of the identification information with respect to a certain reference information is assumed to be included in the bitstream. In the above, “flag” and “identification information” include not only the information but also difference information with respect to the reference information.
  • a decoding unit that decodes encoded data included in the encoded bit stream using a filter image to generate a decoded image;
  • a filtering process that applies a DC prediction formula that is a prediction formula including a DC (Direct Current) term that performs a product-sum operation of a predetermined tap coefficient and a pixel of the decoded image on the decoded image generated by the decoding unit
  • a filter unit configured to generate the filter image.
  • the filter unit applies, to the decoded image, a prediction equation of an adopted prediction method to be employed for the filter process, which is selected from among a plurality of prediction methods including at least a prediction method using the DC prediction equation ⁇ 1> Decoding device described in.
  • the filter unit is selected from among a plurality of prediction methods including at least a prediction method using the DC prediction equation, and a prediction method using a high-order prediction equation that is a prediction equation including a second or higher order high-order term.
  • the decoding apparatus according to ⁇ 2>, wherein the prediction equation of the adopted prediction method is applied to the decoded image.
  • the filter unit is selected from among a plurality of prediction methods including at least a prediction method using the DC prediction equation, and a prediction method using a first order prediction equation that is a prediction equation consisting only of first order terms.
  • the decoding device according to ⁇ 2> or ⁇ 3>, wherein the prediction equation of is applied to the decoded image.
  • ⁇ 5> It further comprises a parsing unit for parsing prediction method information representing the adopted prediction method included in the coded bit stream,
  • the decoding apparatus according to any one of ⁇ 2> to ⁇ 4>, wherein the filter unit applies a prediction formula of the adopted prediction method represented by the prediction method information parsed by the parser unit to the decoded image.
  • the prediction method information includes information representing a prediction formula of the adopted prediction method, and information representing a tap structure of a prediction tap which is a pixel used for calculation of the prediction formula.
  • the filter unit is Class classification is performed to classify pixels of the decoded image into any one of a plurality of classes
  • the filter unit performs the class classification by a class classification method selected from among a plurality of class classification methods.
  • the information processing apparatus further comprising: a parsing unit included in the encoded bit stream, which is selected from the plurality of classification methods, and that classifies classification method information representing an adopted classification method adopted for the classification;
  • the decoding device according to ⁇ 8>, wherein the filter unit performs the class classification by the adopted class classification method represented by the classification method information parsed by the parsing unit.
  • 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.
  • CU coding unit
  • QTBT binary tree
  • ⁇ 11> Decoding the encoded data included in the encoded bit stream using the filter image to generate a decoded image;
  • the decoded image is subjected to a filtering process that applies a DC prediction equation that is a prediction equation including a DC (Direct Current) term that performs a product-sum operation of a predetermined tap coefficient and a pixel of the decoded image.
  • Decoding method including generating and. ⁇ 12> Filter processing is performed on the locally decoded decoded image by applying a DC prediction equation, which is a prediction equation including a DC (Direct Current) term, to perform product-sum operation of predetermined tap coefficients and pixels of the decoded image.
  • the filter unit applies, to the decoded image, a prediction equation of an adopted prediction method to be employed for the filter process, which is selected from among a plurality of prediction methods including at least a prediction method using the DC prediction equation.
  • the filter unit is selected from among a plurality of prediction methods including at least a prediction method using the DC prediction equation, and a prediction method using a high-order prediction equation that is a prediction equation including a second or higher order high-order term.
  • the filter unit is selected from among a plurality of prediction methods including at least a prediction method using the DC prediction equation, and a prediction method using a first order prediction equation that is a prediction equation consisting only of first order terms.
  • the encoding unit generates an encoded bit stream including encoded data obtained by encoding the original image and prediction method information representing the adopted prediction method.
  • Any one of ⁇ 15> The encoding device according to claim 1.
  • the prediction method information includes information representing a prediction formula of the adopted prediction method, and information representing a tap structure of a prediction tap which is a pixel used for calculation of the prediction formula.
  • the filter unit is Class classification is performed to classify pixels of the decoded image into any one of a plurality of classes, The encoding apparatus according to any one of ⁇ 12> to ⁇ 17>, wherein the prediction formula configured by the tap coefficients of the class of pixels is applied to the pixels of the decoded image.
  • the filter unit performs the class classification by a class classification method selected from among a plurality of class classification methods.
  • the encoding unit is encoded data obtained by encoding the original image, and classification method information representing an adopted class classification method to be adopted for the classification selected from among the plurality of class classification methods. And generating an encoded bit stream including: and the encoding apparatus according to ⁇ 19>.
  • 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.
  • Filter processing is performed on the locally decoded decoded image by applying a DC prediction equation, which is a prediction equation including a DC (Direct Current) term, to perform product-sum operation of predetermined tap coefficients and pixels of the decoded image.
  • a DC prediction equation which is a prediction equation including a DC (Direct Current) term, to perform product-sum operation of predetermined tap coefficients and pixels of the decoded image.
  • Reference Signs List 20 encoding device 21 encoding unit, 22 local decoding unit, 23 filter unit, 30 decoding unit, 31 perspective unit, 32 decoding unit, 33 filter unit, 41 class classification unit, 42 prediction unit, 43 selection unit, 44 DB , 45 classification unit, 46 prediction unit, 51 classification unit, 52 prediction unit, 61 class tap selection unit, 62 classification unit, 63 buffer, 64 parameter acquisition unit, 65 tap coefficient acquisition unit, 66 prediction tap selection unit, 67 Prediction operation unit, 71 class tap selection unit, 72 difference ADRC unit, 73 table storage unit, 74 classification threshold setting unit, 75 difference ADRC unit, 101 A / D conversion unit, 102 rearrangement buffer, 103 operation unit, 104 orthogonal conversion Part, 105 quantum , 106 lossless coding unit, 107 accumulation buffer, 108 inverse quantization unit, 109 inverse orthogonal transformation unit, 110 operation unit, 111 ILF, 112 frame memory, 113 selection unit, 114 intra prediction unit, 115 motion prediction / compensation unit , 116 prediction image selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本技術は、画質を向上させることができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。 符号化装置は、局所復号された復号画像に、所定のタップ係数と復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成する。さらに、符号化装置は、そのフィルタ画像を用いて、元画像を符号化する。復号装置は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する。さらに、復号装置は、復号画像に、DC予測式を適用するフィルタ処理を行い、フィルタ画像を生成する。本技術は、画像の符号化及び復号を行う場合に適用することができる。

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では、符号化により劣化した画質の復元の精度が十分ではない場合があり、画質をより向上させることができるインループフィルタの提案が要請されている。
 本技術は、このような状況に鑑みてなされたものであり、画質を向上させることができるようにするものである。
 本技術の復号装置は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部とを備える復号装置である。
 本技術の復号方法は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することとを含む復号方法である。
 本技術の復号装置及び復号方法においては、符号化ビットストリームに含まれる符号化データが、フィルタ画像を用いて復号され、復号画像が生成される。また、前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理が行われ、前記フィルタ画像が生成される。
 本技術の符号化装置は、局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部とを備える符号化装置である。
 本技術の符号化方法は、局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成することと、前記フィルタ画像を用いて、元画像を符号化することとを含む符号化方法である。
 本技術の符号化装置及び符号化方法においては、局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理が行われ、フィルタ画像が生成される。そして、前記フィルタ画像を用いて、元画像が符号化される。
 なお、符号化装置や復号装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 また、符号化装置や復号装置は、コンピュータにプログラムを実行させることにより実現することができる。プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 本技術によれば、画質を向上させることができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
フィルタ処理に用いられる予測式の第1の例を説明する図である。 予測処理としてのフィルタ処理に用いられる予測式の第2の例を説明する図である。 予測処理としてのフィルタ処理に用いられる予測式の第3の例(DC予測式の第1の例)を説明する図である。 DCタップDC#iを説明する図である。 DC予測式の第2の例を説明する図である。 タップ係数のボリューム化を説明する図である。 本技術を適用した画像処理システムの一実施の形態の概要を示すブロック図である。 フィルタ部23及び33の構成例を示すブロック図である。 クラス分類部51及び予測部52の構成例を示すブロック図である。 クラス分類方法を説明する図である。 予測方法を説明する図である。 差分ADRCを説明する図である。 差分ADRCを用いたクラス分類を行うクラス分類部の構成例を示すブロック図である。 閾値テーブルの例を示す図である。 複数のクラス分類方法の例を説明する図である。 複数の予測方法の例を説明する図である。 符号化装置20の符号化処理の概要を説明するフローチャートである。 復号装置30の復号処理の概要を説明するフローチャートである。 符号化装置20の詳細な構成例を示すブロック図である。 ILF111の構成例を示すブロック図である。 学習装置131の構成例を示すブロック図である。 予測装置132の構成例を示すブロック図である。 符号化装置20の符号化処理の例を説明するフローチャートである。 予測符号化処理の例を説明するフローチャートである。 フィルタ処理の例を説明するフローチャートである。 復号装置30の詳細な構成例を示すブロック図である。 ILF206の構成例を示すブロック図である。 予測装置231の構成例を示すブロック図である。 復号装置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等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合がある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
 <定義>
 本願では、以下の用語を、以下のように定義する。
 符号化データとは、画像を符号化することにより得られるデータであり、例えば、画像(の残差)を直交変換して量子化することにより得られるデータである。
 符号化ビットストリームとは、符号化データを含むビットストリームであり、必要に応じて、符号化に関する符号化情報を含む。符号化情報には、符号化データを復号するのに必要な情報、すなわち、例えば、符号化で量子化が行われている場合の量子化パラメータQPや、符号化で予測符号化(動き補償)が行われている場合の動きベクトル等が、少なくとも含まれる。
 取得可能情報とは、符号化ビットストリームから取得可能な情報である。したがって、取得可能情報は、画像を符号化し、符号化ビットストリームを生成する符号化装置、及び、符号化ビットストリームを画像に復号する復号装置のいずれでも取得可能な情報でもある。取得可能情報には、例えば、符号化ビットストリームに含められる符号化情報や、符号化ビットストリームに含まれる符号化データを復号することにより得られる画像の画像特徴量がある。
 予測式とは、第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の画像(の予測値)は、フィルタ画像である。
 タップ係数とは、予測式である多項式の各項を構成する係数であり、ディジタルフィルタのタップにおいて、フィルタリングの対象の信号に乗算されるフィルタ係数に相当する。
 予測タップとは、予測式の演算に用いられる画素(の画素値)であり、予測式において、タップ係数と乗算される。予測タップには、画素(の画素値)そのものの他、画素から求められる値、例えば、あるブロック内の画素(の画素値)の総和や平均値等が含まれる。
 ここで、予測式の演算に用いる予測タップとしての画素等を選択することは、ディジタルフィルタのタップに、入力となる信号を供給する接続線を張る(配する)ことに相当することから、予測式の演算に用いる予測タップとしての画素を選択することを、「予測タップを張る」ともいう。クラスタップについても、同様である。
 クラス分類とは、画素を複数のクラスのうちのいずれかのクラスに分類することを意味する。クラス分類は、例えば、クラスタップ等を用いて行われる。
 クラスタップとは、クラス分類に用いられる画素(の画素値)である。クラスタップを用いたクラス分類は、例えば、クラスタップ(となっている画素)の画像特徴量を閾値処理することにより行うことができる。なお、クラス分類は、クラスタップを用いて行う他、取得可能情報に含まれる符号化情報を用いて行うことができる。例えば、符号化装置及び復号装置において、デブロッキングフィルタがかけられる場合、クラス分類は、符号化情報としての、デブロッキングフィルタに関するDF(Deblocking Filter)情報を用いて行うことができる。具体的には、例えば、デブロッキングフィルタにおいて、ストロングフィルタ又はウィークフィルタのうちのいずれが適用されたかや、いずれも適用されなかったということをDF情報として画素ごとに用いて、クラス分類を行うことができる。
 高次項とは、予測式としての多項式を構成する項のうちの、2個以上の予測タップ(としての画素)の積を有する項である。
 D次項とは、予測式としての多項式を構成する項のうちの、D個の予測タップの積を有する項である。例えば、1次項は、1個の予測タップを有する項であり、2次項は、2個のタップ係数の積を有する項である。
 D次係数とは、D次項を構成するタップ係数を意味する。
 D次タップとは、D次項を構成する予測タップ(としての画素)を意味する。ある1個の画素が、D次タップであり、かつ、D次タップとは異なるD’次タップであることもある。また、D次タップのタップ構造と、D次タップとは異なるD’次タップのタップ構造とは、同一である必要はない。
 タップ構造とは、(例えば、注目画素の位置を基準とする、)予測タップやクラスタップとしての画素の配置を意味する。タップ構造は、予測タップやクラスタップのタップの張り方、ということもできる。
 DC予測式とは、DC項を含む予測式である。
 DC項とは、予測式としての多項式を構成する項のうちの、予測タップとしての画像のDC成分を表す値とタップ係数との積の項である。
 DCタップとは、DC項の予測タップ、すなわち、DC成分を表す値を意味する。
 DC係数とは、DC項のタップ係数を意味する。
 1次予測式とは、1次項のみからなる予測式である。
 高次予測式とは、高次項を含む予測式、すなわち、1次項と2次以上の高次項とからなる予測式や、2次以上の高次項のみからなる予測式である。
 第1の画像の画素のうちの予測に用いるi番目の予測タップ(画素値等)をxiと、i番目のタップ係数をwiと、予測式により求める第2の画像の画素(の画素値の予測値)をyと、それぞれ表すこととすると、1次予測式は、式y=Σwixiで表される。
 また、1次項及び2次項のみからなる高次予測式は、例えば、式y=Σwixi+Σ(Σwj,kxk)xjで表される。
 さらに、例えば、1次予測式にDC項を含ませたDC予測式は、例えば、式Σwixi+wDCBDCBで表される。ここで、wDCBは、DC係数を表し、DCBは、DCタップを表す。
 1次予測式、高次予測式、及び、DC予測式のタップ係数は、いずれも、上述したような最小自乗法による学習を行うことにより求めることができる。
 タップ係数のボリューム化とは、予測式を構成するタップ係数を多項式で近似すること、すなわち、その多項式を構成する係数(種係数)を求めることを意味する。
 係数予測式とは、ボリューム化において、タップ係数wを近似する多項式である。係数予測式は、種係数βmとパラメータzとを用いた項で構成され、例えば、式w=Σβmzm-1で表される。式w=Σβmzm-1において、Σは、mについてのサメーションを表し、種係数βmは、係数予測式のm番目の係数を表す。係数予測式w=Σβmzm-1によれば、パラメータzを変数として、様々なタップ係数wが近似される。パラメータzとしては、例えば、取得可能情報に応じた値(例えば、量子化パラメータQPと同一の値等)を採用することができる。また、パラメータzとしては、その他、例えば、符号化効率(例えば、RD(Rate-Distortion)コスト等)を最良にすること等の所定の指標に基づいて、適応的に選択する(決める)ことができる。
 係数予測式w=Σβmzm-1において、サメーション(Σ)をとる変数mの最大値Mは、あらかじめ固定の値に決めておくことができる。また、変数mの最大値Mは、その他、例えば、符号化効率を最良にすること等の所定の指標に基づいて、適応的に選択することができる。
 種係数とは、ボリューム化に用いられる係数予測式の係数を意味する。種係数は、タップ係数を求める学習と同様の学習により求めることができる。すなわち、例えば、係数予測式w=Σβmzm-1を構成する種係数βmは、例えば、係数予測式w=Σβmzm-1により得られる値(タップ係数の予測値)w'の、真値wとの誤差w'-wを統計的に最小にする学習を、最小自乗法により行うことにより求めることができる。種係数βmを求める学習は、例えば、ある量子化パラメータQPで符号化されて復号された復号画像から元画像を予測する予測式のタップ係数を教師データとするとともに、その量子化パラメータQPに応じたパラメータzを生徒データとして用いて行うことができる。
 予測方法とは、予測式を用いた予測処理の方法を意味する。予測方法は、例えば、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位(同一のタップ係数の予測式を適用する画素の単位)等によって規定(画定)される。
 予測方法情報とは、予測方法を表す情報である。予測方法情報は、予測処理に用いる予測式を表す情報や、予測タップのタップ構造を表す情報、予測処理を行う単位を表す情報を、必要に応じて含む。
 クラス分類方法とは、クラス分類の方法を意味する。クラス分類方法は、例えば、クラス分類に用いる情報(画像特徴量等)、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位(クラス分類において、同一のクラスに分類する画素の単位)等によって規定される。
 分類方法情報とは、クラス分類方法を表す情報である。分類方法情報は、クラス分類に用いる画像特徴量等を表す情報や、クラスタップのタップ構造を表す情報、クラス分類を行う単位を表す情報を、必要に応じて含む。
 係数情報とは、予測式を構成するタップ係数に関係する情報である。係数情報には、タップ係数に関係する様々な情報が採用され得る。例えば、係数情報には、タップ係数そのもの、タップ係数を求める係数予測式を構成する種係数、又は、タップ係数若しくは種係数を識別する係数ID(identification)が含まれる。係数IDは、復号装置にプリセットされている複数セットのタップ係数若しくは種係数、又は、復号装置が既に受信しているタップ係数若しくは種係数の中から、予測処理に用いるタップ係数若しくは種係数のセットを指定するときに用いることができる。また、係数情報が種係数又は種係数を識別する係数IDを含む場合には、係数情報は、さらに、係数予測式の計算に用いるパラメータzや、係数予測式の次数を、必要に応じて含む。係数予測式の次数とは、例えば、係数予測式が式w=Σβmzm-1で表される場合の、サメーション(Σ)をとる変数mの最大値Mより1だけ小さい値M-1である。係数予測式の次数によれば、係数予測式w=Σβmzm-1に従って、タップ係数wを求めるときのサメーション(Σ)の範囲を特定することができる。
 <本技術の概要>
 図1は、符号化されて復号(局所復号を含む)された復号画像から、その復号画像に対する元画像を予測する予測処理としてのフィルタ処理に用いられる予測式の第1の例を説明する図である。
 復号画像から、その復号画像に対する元画像を予測する予測処理(としてのフィルタ処理)に用いる予測式としては、例えば、図1に示すような式(1)の予測式を採用することができる。
 y=Σwnxn
                        ・・・(1)
 式(1)の予測式y=Σwnxnにおいて、yは、復号画像の注目する注目画素に対応する元画像の対応画素(の画素値の予測値)を表し、Σは、nを1からNまでの整数に変えてのサメーションを表す。また、wnは、n番目のタップ係数を表し、xnは、注目画素についてn番目の予測タップとして選択される復号画像の画素(の画素値)を表す。Nは、予測式y=Σwnxnを構成するタップ係数wn(及び予測タップxn)の数を表す。
 予測式y=Σwnxnは、1次項のみからなる1次予測式であり、1次予測式によれば、それほどデータ量が多くないタップ係数wnで、その1次予測式を復号画像に適用することにより得られるフィルタ画像の画質を向上させることができる。但し、1次予測式では、元画像のディテールを、精度良く復元することが困難な場合がある。
 予測処理に用いる予測式としては、1次予測式の他、画素xnが2次以上の高次の多項式である高次予測式や、DC項を含む多項式であるDC予測式等を採用することができる。
 図2は、予測処理としてのフィルタ処理に用いられる予測式の第2の例を説明する図である。
 予測処理に用いる予測式としては、例えば、図2に示すような高次予測式を採用することができる。
 高次予測式としては、1個のタップ係数と、1個以上の予測タップとしての画素(の画素値)との積を項とし、高次項(2次以上の高次の項)を含む多項式であれば、任意の多項式を採用することができる。すなわち、高次予測式としては、例えば、1次項(1次の項)及び2次項(2次の項)のみからなる多項式や、1次項及び2次以上の複数の異なる次数の高次項からなる多項式、2次以上の1又は複数の次数の高次項からなる多項式等を採用することができる。
 但し、以下では、説明を簡単にするため、図2に示すような、1次項及び2次項のみからなる式(2)の多項式を、高次予測式に採用する場合について説明する。
 y=Σwixi+Σ(Σwj,kxk)xj
                        ・・・(2)
 図2に示すように、式(2)において、wixiは1次項を表し、wj,kxkxjは2次項を表す。したがって、式(2)の高次予測式は、1次項及び2次項のみからなる多項式である。以下、1次項及び2次項のみからなる式(2)の高次予測式を、2次予測式ともいう。
 式(2)において、1次項wixiのサメーション(Σ)は、変数iを1からN1までの範囲の整数に変えてとられる。N1は、予測タップのうちの1次タップ(1次項の予測タップ)としての画素xiの数、及び、タップ係数のうちの1次係数(1次項のタップ係数)wiの数を表す。wiは、タップ係数のうちの、i番目の1次係数を表す。xiは、予測タップのうちのi番目の1次タップとしての画素(の画素値)を表す。
 また、式(2)において、2次項wj,kxkxjの2つのサメーションのうちの1つ目のサメーションは、変数jを1からN2までの範囲の整数に変えてとられ、2つ目のサメーションは、変数kをjからN2までの範囲の整数に変えてとられる。N2は、予測タップのうちの2次タップ(2次項の予測タップ)としての画素xj(xk)の数、及び、タップ係数のうちの2次係数(2次項のタップ係数)wj,kの数を表す。wj,kは、タップ係数のうちの、j×k番目の2次係数を表す。xj及びxkは、それぞれ、予測タップのうちのj番目及びk番目の2次タップとしての画素を表す(k>=j)。
 なお、ここでは、式(2)の説明のために、1次タップをxiで表すとともに、2次タップをxj及びxkで表すこととしたが、以下では、xに付すサフィックスによって、1次タップと2次タップとを、特に区別しない。すなわち、例えば、1次タップ及び2次タップのいずれであっても、例えば、xn等を用いて、1次タップxnや2次タップxn、あるいは、予測タップxn等と記載する。タップ係数である1次係数wi及び2次係数wj,kについても、同様である。
 いま、予測タップとなる画素の候補としてあらかじめ決められた候補画素すべてを予測タップとして用い、かつ、候補画素から重複を許してD個の画素を選択する全通りの組み合わせそれぞれのD個の画素(の画素値)の積の項を、D次項として有する高次予測式を、全通り予測式ということとする。
 式(2)の高次予測式は、1次タップの候補画素の数がN1個であり、2次タップの候補画素の数がN2個である場合の全通り予測式になっている。
 1次タップとしての画素の数がN1個である場合、全通り予測式の1次項(及び1次係数)の数N1'は、1次タップの数N1に等しい。2次タップとしての画素の数がN2個である場合、全通り予測式の2次項(及び2次係数)の数N2'は、式N2'=N2C2+N2で表される。N2C2は、N2個から2個を重複なしで選択する組み合わせの数を表す。
 式(2)のような高次予測式によれば、その高次予測式を復号画像に適用することにより得られるフィルタ画像において、1次予測式では困難であった元画像のディテールを、精度良く復元することができる。但し、高次予測式では、2次係数の数N2'が、式N2'=N2C2+N2で表されるため、2次タップの候補画素の数N2が多いと、2次係数の数N2'が膨大となり、符号化装置から復号装置に伝送するタップ係数(特に、2次係数)のデータ量が多くなって、符号化効率が低下することがあり得る。
 図3は、予測処理としてのフィルタ処理に用いられる予測式の第3の例を説明する図である。
 すなわち、図3は、DC予測式の第1の例を説明する図である。
 なお、本実施の形態では、説明を簡単にするため、DC予測式として、1次予測式にDC項を含ませた予測式を採用することとする。但し、DC予測式としては、高次予測式にDC項を含ませた予測式を採用することができる。
 DC予測式は、例えば、式(3)で表される。
 y=WX
                        ・・・(3)
 式(3)において、Wは、タップ係数を要素とする行ベクトル(列ベクトルを転置したベクトル)を表し、Xは、予測タップを要素とする列ベクトルを表す。
 式(3)のDC予測式は、図3に示すように、タップ係数として、N個の1次係数w1, w2, ..., wNと4個のDC係数wDC1, wDC2, wDC3, wDC4とを有する。さらに、式(3)のDC予測式は、図3に示すように、予測タップとして、N個の1次タップx1, x2, ..., xNと4個のDCタップDC1, DC2, DC3, DC4を有する。
 この場合、式(3)のDC予測式は、式(4)で表される。
 y=Σwnxn+ΣwDC#iDC#i
                        ・・・(4)
 式(4)において、右辺の1つ目のサメーションは、nを1からNまでの範囲の整数に変えてのサメーションを表し、右辺の2つ目のサメーションは、iを1,2,3,4に変えてのサメーションを表す。
 式(4)のDC予測式において、wDC#iDC#iがDC項であり、したがって、式(4)のDC予測式は、4個のDC項を有する。
 図4は、式(4)のDCタップDC#iを説明する図である。
 DCタップDC#iとしては、図4に示すように、復号画像の注目画素を含むブロック(以下、注目ブロックともいう)の上下左右に隣接するブロックそれぞれの、ブロック内の画素値の平均値(や総和)を採用することができる。DCタップDC#iとしての画素値の平均値を求めるブロックとしては、例えば、デブロッキングフィルタがかけられるブロックを採用することができる。
 式(4)のようなDC予測式によれば、DC項の効果により、そのDC予測式を復号画像に適用することにより得られるフィルタ画像において、ブロック歪み等の符号化歪みを大きく抑制することができる。但し、DC予測式では、例えば、高次予測式ほどではないが、それでも、DC項がない1次予測式と比較して、DC項の分だけ、タップ係数のデータ量が多くなる。
 図5は、DC予測式の第2の例を説明する図である。
 式(3)のDC予測式は、図5に示すように、タップ係数として、N個の1次係数w1, w2, ..., wNと1個のDC係数wDCBとを有することができる。さらに、式(3)のDC予測式は、図5に示すように、予測タップとして、N個の1次タップx1, x2, ..., xNと1個のDCタップDCBを有することができる。
 この場合、式(3)のDC予測式は、式(5)で表される。
 y=Σwnxn+wDCBDCB
                        ・・・(5)
 式(5)のDC予測式において、wDCBDCBがDC項であり、したがって、式(5)のDC予測式は、DC項を1項だけ有する。
 式(5)のDC項wDCBDCBを構成するDCタップDCBとしては、図4に示した注目ブロックの上下左右に隣接するブロックそれぞれの、ブロック内の画素値の平均値(や総和)を用いた、注目画素と注目ブロックの上下左右に隣接するブロックそれぞれとの距離に応じた補間を行うことにより得られる補間値を採用することができる。かかる補間には、線形補間やバイリニア補間その他の補間を採用することができる。
 式(5)のDC予測式によれば、式(4)のDC予測式と同様に、ブロック歪み等の符号化歪みを大きく抑制することができる。さらに、式(5)のDC予測式では、式(4)のDC予測式に比較して、DC項が少ないので、その分だけ、タップ係数(DC係数)のデータ量を少なくすることができる。
 図6は、タップ係数のボリューム化を説明する図である。
 ボリューム化では、予測式を構成するタップ係数を多項式で近似する場合の種係数、すなわち、タップ係数を近似する多項式である係数予測式の係数が求められる。
 ボリューム化において、タップ係数wnを求める(近似する)係数予測式は、例えば、図6に示すように、式(6)で表される。
 wn=Σβm,nzm-1
                        ・・・(6)
 ここで、式(6)において、wnは、n番目のタップ係数を表し、Σは、mを1からMまでの整数に変えてのサメーションを表す。βm,nは、n番目のタップ係数wnを求める係数予測式のm番目の種係数を表し、zは、種係数βm,nを用いて、タップ係数wnを求めるのに用いられるパラメータ(ボリューム)を表す。係数予測式によれば、様々なパラメータzを与えることにより、種係数βm,nから、様々な性質(画質、動き量、シーン等)の復号画像に適したタップ係数wn(様々な性質の復号画像について、元画像との誤差が少ないフィルタ画像を生成することができるタップ係数wn)を得ることができる。
 なお、種係数は、1次予測式のタップ係数は勿論、高次予測式やDC予測式のタップ係数、その他、任意の予測式のタップ係数について求めることができる。
 ここで、種係数βm,nによれば、パラメータzを与えることにより、係数予測式から、タップ係数wnを求めることができるので、種係数βm,nは、タップ係数wnと(ほぼ)等価な情報である、ということができる。
 符号化装置及び復号装置において、ILFのフィルタ処理として、種係数から得られるタップ係数で構成される予測式を用いた予測処理を採用する場合、係数予測式のパラメータzは、例えば、符号化ビットストリームから取得可能な取得可能情報を用いて生成することができる。
 取得可能情報には、例えば、符号化ビットストリームに含まれる量子化パラメータQP等の符号化情報や、符号化ビットストリームに含まれる符号化データを復号することにより得られる復号画像の画像特徴量がある。
 パラメータz(の値)としては、符号化情報に応じた値や、復号画像の画像特徴量に応じた値を採用することができる。
 例えば、復号画像の注目画素の(ブロック(CU(Coding Unit)等)の)量子化パラメータ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(Peak signal-to-noise ratio)等に応じた値等を、パラメータzとして採用することができる。但し、元画像は、復号装置で得ることができないため、パラメータzを、元画像に応じて生成する場合には、例えば、その元画像に応じて生成したパラメータzを、符号化ビットストリームに含めること等によって、符号化装置から復号装置に伝送する必要がある。
 図7は、本技術を適用した画像処理システムの一実施の形態の概要を示すブロック図である。
 図7において、画像処理システムは、符号化装置20及び復号装置30を有する。
 符号化装置20は、符号化部21、局所復号部22、及び、フィルタ部23を有する。
 符号化部21には、符号化対象の画像である元画像(データ)が供給されるとともに、フィルタ部23からフィルタ画像が供給される。
 符号化部21は、フィルタ部23からのフィルタ画像を用いて、元画像を、例えば、CU等の所定のブロック単位で(予測)符号化し、その符号化により得られる符号化データを、局所復号部22に供給する。
 すなわち、符号化部21は、フィルタ部23からのフィルタ画像の動き補償を行って得られる元画像の予測画像を、元画像から減算し、その結果得られる残差を符号化する。
 符号化部21には、フィルタ部23からフィルタ情報が供給される。
 符号化部21は、符号化データと、フィルタ部23からのフィルタ情報とを含む符号化ビットストリームを生成して伝送(送信)する。
 局所復号部22には、符号化部21から符号化データが供給される他、フィルタ部23からフィルタ画像が供給される。
 局所復号部22は、符号化部21からの符号化データの局所復号を、フィルタ部23からのフィルタ画像を用いて行い、その結果得られる(局所)復号画像を、フィルタ部23に供給する。
 すなわち、局所復号部22は、符号化部21からの符号化データを残差に復号し、その残差に、フィルタ部23からのフィルタ画像の動き補償を行って得られる元画像の予測画像を加算することで、元画像を復号した復号画像を生成する。
 フィルタ部23は、局所復号部22からの復号画像に、予測式を適用する予測処理としてのフィルタ処理を行い、フィルタ画像を生成して、符号化部21及び局所復号部22に供給する。
 また、フィルタ部23は、フィルタ処理を行うにあたり、必要に応じて、予測式を構成するタップ係数を求める学習や、種係数を求める学習を行う。そして、フィルタ部23は、タップ係数又は種係数、その他のフィルタ処理に関する情報を必要に応じて含むフィルタ情報を、符号化部21に供給する。
 復号装置30は、パース部31、復号部32、及び、フィルタ部33を有する。
 パース部31は、符号化装置20が伝送する符号化ビットストリームを受信してパースを行い、そのパースにより得られるフィルタ情報を、フィルタ部33に供給する。さらに、パース部31は、符号化ビットストリームに含まれる符号化データを、復号部32に供給する。
 復号部32には、パース部31から符号化データが供給される他、フィルタ部33からフィルタ画像が供給される。
 復号部32は、パース部31からの符号化データの復号を、フィルタ部33からのフィルタ画像を用いて、例えば、CU等の所定のブロック単位で行い、その結果得られる復号画像を、フィルタ部33に供給する。
 すなわち、復号部32は、局所復号部22と同様に、パース部31からの符号化データを残差に復号し、その残差に、フィルタ部33からのフィルタ画像の動き補償を行って得られる元画像の予測画像を加算することで、元画像を復号した復号画像を生成する。
 フィルタ部33は、復号部32からの復号画像に、フィルタ部23と同様のフィルタ処理を行い、フィルタ画像を生成して、復号部32に供給する。
 フィルタ部33は、フィルタ処理を行うにあたり、必要に応じて、パース部31からのフィルタ情報を用いる。また、フィルタ部33は、フィルタ処理により得られる(生成される)フィルタ画像を、復号部32に供給する他、元画像を復元した復元画像として出力する。
 上述したように、符号化装置20において、フィルタ部23は、フィルタ処理に用いる予測式を構成するタップ係数を求める学習、又は、そのタップ係数を近似する係数予測式を構成する種係数を求める学習を行うことができる。
 フィルタ部23において、タップ係数を求める学習が行われる場合、フィルタ部23は、そのタップ係数で構成される予測式を用いて、フィルタ処理を行う。さらに、そのタップ係数は、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。復号装置30のフィルタ部33では、符号化装置から伝送されてくるフィルタ情報に含まれるタップ係数で構成される予測式を用いて、フィルタ処理が行われる。
 フィルタ部23において、種係数を求める学習が行われる場合、フィルタ部23は、その種係数とパラメータzとから求められるタップ係数で構成される予測式を用いて、フィルタ処理を行う。さらに、その種係数は、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。復号装置30のフィルタ部33では、符号化装置から伝送されてくるフィルタ情報に含まれる種係数とパラメータzとから求められるタップ係数で構成される予測式を用いて、フィルタ処理が行われる。
 なお、フィルタ部23において、種係数を求める学習が行われる場合、その種係数とともにタップ係数を求めるのに用いられるパラメータzとして、取得可能情報に応じた値が採用される場合には、パラメータzは、符号化装置20から復号装置30に伝送されない。但し、パラメータzを、例えば、元画像等の、取得可能情報ではない情報に応じて生成する場合には、パラメータzは、種係数とともに、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。
 また、フィルタ部23及び33には、タップ係数又は種係数をプリセットしておくことができる。
 フィルタ部23及び33に、複数セットのタップ係数又は種係数がプリセットされ、フィルタ部23が、複数セットのタップ係数又は種係数から1セットのタップ係数又は種係数を選択して、その1セットのタップ係数を用いて、フィルタ処理を行う場合、フィルタ処理に用いられる1セットのタップ係数又は種係数を識別する係数IDが、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。
 なお、フィルタ部23において、タップ係数又は種係数を求める学習が行われる場合、その学習により求められたタップ係数又は種係数が、過去に、符号化装置20から復号装置30に伝送されたタップ係数又は種係数に(ほぼ)一致するときには、学習により求められたタップ係数又は種係数に代えて、そのタップ係数又は種係数を識別する係数IDを、フィルタ情報に含めて、符号化装置20から復号装置30に伝送することができる。
 また、フィルタ部23及び33では、係数予測式として、1次予測式、高次予測式、及び、DC予測式のうちのいずれをも採用することができる。
 1次予測式によれば、それほどデータ量が多くないタップ係数で、その1次予測式を復号画像に適用することにより得られるフィルタ画像の画質を向上させることができる。高次予測式によれば、1次予測式では困難であった元画像のディテールを、精度良く復元することができ、これにより、フィルタ画像の画質を向上させることができる。DC予測式によれば、ブロック歪み等の符号化歪みを大きく抑制することができ、これにより、フィルタ画像の画質を向上させることができる。
 ところで、フィルタ処理、すなわち、予測式を用いた予測処理には、その予測処理の方法である予測方法に得失がある。予測方法は、例えば、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位によって規定されるが、例えば、あるタップ構造の予測タップや、ある予測式では、復号画像によっては、予測処理により得られるフィルタ画像の画質を十分に向上させることができないこと、すなわち、例えば、復号画像の僅かな波形変化に対して、元画像の対応する波形変化を、フィルタ画像において十分に復元することができないことがある。
 そこで、本技術では、複数の予測方法を用意し、その複数の予測方法の中から、予測処理に採用する採用予測方法を適応的に選択して、その採用予測方法の予測処理を行うことで、フィルタ画像の画質を十分に向上させることができるようにする。複数の予測方法の中には、DC予測式を用いる予測方法を、少なくとも含めることができる。
 また、フィルタ部23及び33において、復号画像を対象とする予測処理は、復号画像の画素のクラス分類を行い、そのクラス分類により得られるクラスごとに行うことができる。クラス分類方法は、例えば、クラス分類に用いる画像特徴量等の情報や、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位によって規定されるが、固定のクラス分類方法では、例えば、復号画像が波形が鈍った低画質の画像である場合に、復号画像の画素を適切に分類することができず、予測処理で最終的に得られるフィルタ画像の画質を十分に向上させることができないことがある。
 そこで、本技術では、複数のクラス分類方法を用意し、その複数のクラス分類方法の中から、クラス分類に採用する採用クラス分類方法を適応的に選択して、その採用クラス分類方法のクラス分類を行うことで、フィルタ画像の画質を十分に向上させることができるようにする。
 ここで、クラスごとに行われる予測処理を、クラス分類予測処理ともいう。クラス分類予測処理の基本的な原理については、例えば、特開2005-236633に記載されている。
 クラス分類予測処理において、採用クラス分類方法や採用予測方法を適応的に選択する(切り替える)ことにより、様々なシーンの復号画像に対して得られるフィルタ画像の画質を向上させることができる。採用クラス分類方法や採用予測方法等を表す情報は、少ない情報量で、符号化装置20から復号装置30に伝送することができる。
 図8は、採用クラス分類方法や採用予測方法を適応的に選択してクラス分類予測処理としてのフィルタ処理を行うフィルタ部23及び33の構成例を示すブロック図である。
 図8において、フィルタ部23は、クラス分類部41、予測部42、選択部43、DB(database)44、クラス分類部45、及び、予測部46を有する。
 クラス分類部41には、復号画像が供給される。クラス分類部41は、複数のクラス分類方法それぞれについて、そのクラス分類方法のクラス分類を、復号画像の各画素に対して行い、復号画像の各画素のクラスを、予測部42に供給する。
 図8では、クラス分類部41は、ADRC(Adaptive Dynamic Range Coding)によるクラス分類とALF型のクラス分類との2種類のクラス分類方法でクラス分類を行う。
 ADRCによるクラス分類では、復号画像から、クラスタップとしての画素が選択され、そのクラスタップを対象として、ADRCが行われる。LビットADRCでは、例えば、クラスタップとしての画素の画素値の最大値MAXと最小値MINとの差であるダイナミックレンジDR=MAX-MINが求められる。さらに、クラスタップとしての各画素の画素値から、最小値MINが減算され、その減算値がDR/2Lで除算(再量子化)される。そして、以上のようにして得られる、クラスタップとしてのLビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。
 したがって、例えば、1ビットADRCでは、クラスタップとしての各画素の画素値は、最大値MAXと最小値MINとの平均値で除算され(小数点以下切り捨て)、これにより、各画素の画素値が1ビットとされる(2値化される)。すなわち、1ビットADRCでは、クラスタップとしての画素の画素値の最大値MAXと最小値MINとの平均値を、画素値を分類する分類閾値として、クラスタップとしての各画素の画素値が、分類閾値以上であれば、1に量子化され、分類閾値以上でなければ、0に量子化される。そして、量子化後の1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
 ADRCによるクラス分類では、かかるADRCコード(が表す値)が、クラスを表す。
 ここで、以下では、特に断らない限り、ADRCは、1ビットADRCを意味することとする。
 ALF型のクラス分類では、既存のALFと同様のクラス分類が行われる。
 なお、図8では、説明を簡単にするため、クラス分類部41が、2種類のクラス分類方法それぞれでクラス分類を行うこととしたが、クラス分類部41では、1種類又は3種類以上のクラス分類方法それぞれでクラス分類を行うことができる。
 予測部42には、クラス分類部41から複数のクラス分類方法それぞれについて得られた復号画像の各画素のクラスが供給される他、元画像及び復号画像が供給される。
 予測部42は、複数の予測方法それぞれについて、復号画像及びその復号画像に対応する元画像をそれぞれ生徒データ及び教師データとして用いてタップ係数を求める学習(以下、タップ係数学習ともいう)を、クラス分類部41からの複数のクラス分類方法それぞれについて得られたクラスごとに行うことにより、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、その組み合わせのクラス分類方法でクラス分類を行い、その組み合わせの予測方法の予測処理を行う場合に用いられるクラスごとのタップ係数を求める。
 さらに、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、タップ係数学習により求められたタップ係数で構成される予測式を、復号画像に適用する予測処理としてのフィルタ処理を行い、フィルタ画像を生成する。
 予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、フィルタ画像と元画像とを比較することにより、フィルタ画像のPSNRを求めるとともに、元画像の符号化を行って得られる符号化データと、その符号化データの復号に必要な情報(動きベクトル等の符号化情報や、タップ係数等)とを含む符号化ビットストリームのデータ量を求める。
 そして、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、PSNR、符号化ビットストリームのデータ量、クラス分類方法を表す分類方法情報、予測方法を表す予測方法情報、及び、タップ係数に関する係数情報を対応付けて、選択部43に供給する。
 予測部42において、タップ係数学習が行われる場合、係数情報は、そのタップ係数学習で求められるタップ係数である。
 図8では、予測部42は、DC予測式を用いる予測処理と、1次予測式を用いる予測処理との2種類の予測方法で予測処理を行う。
 なお、図8では、説明を簡単にするため、予測部42が、2種類の予測方法それぞれで予測処理を行うこととしたが、予測部42では、3種類以上の予測方法それぞれで予測処理を行うことができる。
 選択部43は、予測部42からPSNR、符号化ビットストリームのデータ量、分類方法情報、予測方法情報、及び、係数情報が供給される複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、符号化効率が最良の組み合わせを選択する。
 すなわち、選択部43は、例えば、予測部42から供給される、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、その組み合わせにおけるPSNR及び符号化ビットストリームのデータ量を用いて、符号化効率としての、例えば、RDコストを求める。さらに、選択部43は、RDコストが最良の組み合わせのクラス分類方法及び予測方法を、クラス分類及び予測処理に採用する採用クラス分類方法及び採用予測方法それぞれに選択する。
 また、選択部43は、採用クラス分類方法及び採用予測方法の組み合わせにおける係数情報としてのタップ係数を、予測処理に採用する採用タップ係数に選択し、DB44に供給して記憶させる。
 採用クラス分類方法を表す分類方法情報、採用予測方法を表す予測方法情報、及び、DB44に記憶された係数情報としての採用タップ係数は、フィルタ情報に含められ、符号化部21(図7)に供給される。そして、符号化部21において、フィルタ情報は、符号化ビットストリームに含められ、符号化装置20から復号装置30に伝送される。
 符号化装置20から復号装置30へのフィルタ情報の伝送(フィルタ情報の生成や、タップ係数学習等も同様)は、例えば、ピクチャ単位、スライス単位、タイル単位、その他の任意のブロック単位で行うことができる。
 選択部43は、採用クラス分類方法を表す分類方法情報を、クラス分類部45に供給するとともに、採用予測方法を表す予測方法情報を、予測部46に供給する。
 クラス分類部45には、選択部43から分類方法情報が供給される他、復号画像が供給される。クラス分類部45は、選択部43からの分類方法情報が表す(採用)クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを、予測部46に供給する。
 予測部46には、選択部43から採用予測方法を表す予測方法情報が供給されるとともに、クラス分類部45から、復号画像の各画素のクラスが供給される他、復号画像が供給される。
 予測部46は、DB44に記憶された係数情報としての(採用)タップ係数のうちのクラス分類部45からのクラスのタップ係数で構成される予測式を復号画像に適用することにより、選択部43からの予測方法情報が表す(採用)予測方法の予測処理としてのフィルタ処理を行い、その結果得られるフィルタ画像を、符号化部21及び局所復号部22(図8)に供給する。
 図8において、フィルタ部33は、クラス分類部51、及び、予測部52を有する。
 復号装置30では、パース部31(図7)において、符号化装置20からの符号化ビットストリームに含まれるフィルタ情報がパースされ、フィルタ部33に供給される。
 フィルタ部33において、フィルタ情報に含まれる分類方法情報は、クラス分類部51に供給され、フィルタ情報に含まれる予測方法情報及び係数情報は、予測部52に供給される。
 クラス分類部51には、分類方法情報が供給される他、復号画像が供給される。クラス分類部51は、分類方法情報が表す(採用)クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを、予測部52に供給する。
 予測部52には、予測方法情報及び係数情報が供給される他、復号画像が供給される。予測部52は、係数情報としての(採用)タップ係数のうちのクラス分類部51からのクラスのタップ係数で構成される予測式を復号画像に適用することにより、予測方法情報が表す(採用)予測方法の予測処理としてのフィルタ処理を行い、その結果得られるフィルタ画像を、復号部32(図7)に供給する。
 以上のように、複数のクラス分類方法及び複数の予測方法の中からそれぞれ選択された採用クラス分類方法及び採用予測方法で、クラス分類及び予測処理を行うことにより、様々なシーンの復号画像に対して得られるフィルタ画像の画質を向上させることができる。
 なお、クラス分類方法は、固定にすることができる。
 また、図8では、予測部42において、タップ係数を求めるタップ係数学習を行うこととしたが、予測部42では、タップ係数学習に代えて、種係数を求める学習(以下、種係数学習ともいう)を行うことができる。予測部42において、種係数学習が行われる場合、係数情報には、種係数学習により求められるクラスごとの種係数、さらには、必要に応じて、種係数で構成される係数予測式の次数、及び、パラメータzが含まれる。
 すなわち、種係数学習において、係数予測式の次数が、適応的に選択される場合、係数情報には、その適応的に選択される次数が含まれる。また、パラメータzが、取得可能情報以外の情報に応じて生成される場合、係数情報には、パラメータzが含まれる。
 また、予測部42では、タップ係数学習を行わず、かつ、予測部42及び52には、あらかじめ行われたタップ係数学習により得られる複数セットのタップ係数をプリセットしておくことができる。この場合、係数情報には、複数セットのタップ係数のうちの、採用予測方法で用いられるタップ係数のセットを識別する係数IDを含めることができる。なお、予測部42において、タップ係数学習を行う場合でも、タップ係数学習により求められた最新のタップ係数が、係数情報として、符号化装置20から復号装置30に過去に伝送されたタップ係数に一致するときには、タップ係数学習により求められた最新のタップ係数に代えて、過去に伝送されたタップ係数を識別する係数IDを、係数情報に含めることができる。以上の点、種係数についても同様である。
 図9は、図8のクラス分類部51及び予測部52の構成例を示すブロック図である。
 なお、図8のクラス分類部45及び予測部46も、図9と同様に構成される。
 クラス分類部51は、クラスタップ選択部61及び分類部62を有する。
 ここで、クラス分類部51に供給される分類方法情報は、クラス分類に用いる画像特徴量等の情報、クラスタップのタップ構造、及び、クラス分類を行う単位を表す情報を含む。
 分類方法情報のうちの、クラスタップのタップ構造を表す情報は、クラスタップ選択部61に供給され、クラス分類に用いる画像特徴量等を表す情報、及び、クラス分類を行う単位を表す情報は、分類部62に供給される。
 クラスタップ選択部61は、復号画像の各画素について、その復号画像から、分類方法情報が表すタップ構造のクラスタップとしての画素を選択し、分類部62に供給する。
 分類部62は、クラスタップから、分類方法情報が表す画像特徴量を抽出し、その画像特徴量を用いて、復号画像の各画素のクラス分類を行う。
 クラスタップから抽出される画像特徴量としては、例えば、ADRCコード(波形パターン)や、クラスタップとしての画素の画素値の最大値と最小値との差分であるDR(Dynamic Range)、クラスタップにおいて、水平、垂直、斜め方向に隣接する画素の画素値の差分絶対値の最大値であるDiffMax、DR及びDiffMaxを用いて得られるDiffMax/DR、その他の画像特徴量がある。
 また、分類部62は、復号画像の各画素のクラス分類を、分類方法情報が表す単位、すなわち、例えば、1画素単位や、横×縦が2×2画素単位等で行う。クラス分類が、例えば、2×2画素単位で行われる場合、その2×2画素の4画素は、同一のクラスに分類される。
 分類部62によるクラス分類により得られる復号画像の各画素のクラスは、予測部52(のタップ係数取得部65)に供給される。
 予測部52は、バッファ63、パラメータ取得部64、タップ係数取得部65、予測タップ選択部66、及び、予測演算部67を有する。
 ここで、予測部52に供給される予測方法情報は、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位を表す情報を含む。また、予測部52に供給される係数情報は、必要に応じて、タップ係数、種係数、係数ID、係数予測式の次数、パラメータzを含む。
 予測方法情報のうちの、予測処理に用いる予測式を表す情報、及び、予測処理を行う単位を表す情報は、予測演算部67に供給され、予測タップのタップ構造を表す情報は、予測タップ選択部66に供給されるとともに、必要に応じて、タップ係数取得部65に供給される。
 係数情報のうちの係数予測式の次数や係数IDは、必要に応じて、タップ係数取得部65に供給され、タップ係数又は種係数は、バッファ63に供給される。係数情報のうちのパラメータzは、必要に応じて、パラメータ取得部64に供給される。
 バッファ63は、係数情報に、クラスごとのタップ係数又は種係数が含まれる場合、そのクラスごとのタップ係数又は種係数を記憶する。
 パラメータ取得部64は、係数情報にパラメータzが含まれる場合、そのパラメータzを取得し、タップ係数取得部65に供給する。また、パラメータ取得部64は、係数情報にパラメータzが含まれない場合、取得可能情報である符号化情報や復号画像の特徴量から、パラメータzを生成することにより取得し、そのパラメータzを、タップ係数取得部65に供給する。
 タップ係数取得部65は、バッファ63にクラスごとのタップ係数が記憶される場合、バッファ63に記憶されたクラスごとのタップ係数から、分類部62からの復号画像の画素のクラスのタップ係数を取得し、予測演算部67に供給する。
 なお、バッファ63に複数セットのクラスごとのタップ係数が記憶され、係数情報に、係数IDが含まれる場合、タップ係数取得部65は、バッファ63に記憶された複数セットのクラスごとのタップ係数のうちの、係数IDによって識別されるクラスごとのタップ係数のセットの中から、分類部62からの復号画像の画素のクラスのタップ係数を取得し、予測演算部67に供給する。
 また、バッファ63にクラスごとの種係数が記憶される場合、タップ係数取得部65は、バッファ63に記憶されたクラスごとの種係数から、分類部62からの復号画像の画素のクラスの種係数を取得する。そして、タップ係数取得部65は、復号画像の画素のクラスの種係数とパラメータ取得部64からのパラメータzとで構成される係数予測式を演算することにより、分類部62からの復号画像の画素のクラスのタップ係数を求め、予測演算部67に供給する。
 この場合、タップ係数取得部65は、係数情報に、係数予測式の次数が含まれるときには、その係数情報に含まれる次数によって、係数予測式の次数を認識し、係数予測式の演算を行う。係数情報に、係数予測式の次数が含まれないとき、タップ係数取得部65は、係数予測式の次数がデフォルトの次数であると認識する。また、タップ係数取得部65は、必要に応じて、予測方法情報に含まれる予測タップのタップ構造に関する情報から、係数予測式の演算によって求めるべきタップ係数の個数を認識する。係数予測式の演算によって求めるべきタップ係数の個数が、デフォルトの個数にあらかじめ決められている場合には、予測タップのタップ構造を表す情報を、タップ係数取得部65に供給する必要はない。
 バッファ63に複数セットのクラスごとの種係数が記憶され、係数情報に、係数IDが含まれる場合、タップ係数取得部65は、バッファ63に記憶された複数セットのクラスごとの種係数のうちの、係数IDによって識別されるクラスごとの種係数のセットの中から、分類部62からの復号画像の画素のクラスの種係数を取得し、その種係数を用いてタップ係数を求める。
 種係数が用いられない場合、図9において点線で示す部分は、不要となる。すなわち、予測部55は、パラメータ取得部64なしで構成される。また、係数予測式の次数及びパラメータzは、不要となる。さらに、予測タップのタップ構造を表す情報を、タップ係数取得部65に供給する必要はない。
 以下では、説明を簡単にするため、係数IDを用いないこととし、係数予測式の次数としては、デフォルトの次数を採用することとする。さらに、係数予測式の演算によって求めるべきタップ係数の個数は、デフォルトの個数にあらかじめ決められており、パラメータzは、取得可能情報から生成される(求められる)こととする。
 したがって、係数情報には、タップ係数又は種係数が含まれるが、係数予測式の次数、係数ID、及び、パラメータzは含まれない。また、予測タップのタップ構造を表す情報は、タップ係数取得部65に供給されない。
 図10は、クラス分類方法を説明する図である。
 クラス分類方法は、例えば、クラス分類に用いる情報(画像特徴量等)、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位によって規定される。
 クラスタップのタップ構造には、例えば、クラスタップの平面の形状であるタップ形状が、十字形状である、x字形状である、正方形状である、菱形形状である、といったバリエーションがある。また、クラスタップのタップ構造には、例えば、クラスタップを密に張る、又は、疎らに張る、といったバリエーションや、注目画素を中心として、クラスタップを張る範囲をどの程度の広さの範囲に張るのか、といったバリエーションがある。
 クラス分類に用いる情報には、例えば、ADRC(コード)や、アクティビティ(様々な方向のアクティビティの他、特定の方向のアクティビティを含む)、後述する差分ADRC(コード)、ADRCとDRとの組み合わせ(ADRC×DR)等のバリエーションがある。また、フィルタ部23及び33の前段に、デブロッキングフィルタや適応オフセットフィルタ等のフィルタ部23及び33以外のフィルタ(以下、前段フィルタともいう)が設けられている場合には、その前段フィルタに関する情報を、クラス分類に用いる情報として採用することができる。例えば、前段フィルタとして、デブロッキングフィルタが設けられている場合には、そのデブロッキングフィルタに関するDF(Deblocking Filter)情報として、ストロングフィルタ又はウィークフィルタのうちのいずれが適用されたかや、いずれも適用されなかったという情報を用いて、クラス分類を行うことができる。なお、前段フィルタに関する情報のみを用いてクラス分類を行う場合には、クラスタップは、不要である。
 ADRCや差分ADRCによれば、復号画像の細かい波形変化を捉えることができ、そのような細かい波形変化に応じて、画素を分類することができる。アクティビティや、ADRCとDRとの組み合わせによれば、ノイズの画素(ノイズが多い画素)と非ノイズ(エッジやテクスチャ等)の画素とを分類することができる。DF情報によれば、デブロッキングフィルタで生じる歪みの復元に適するように、画素を分類することができる。
 クラス分類を行う単位には、例えば、1画素単位や、2×2画素単位等のバリエーションがある。クラス分類が、2×2画素単位で行われる場合、その2×2画素の4画素は、同一のクラスに分類される。1画素単位のクラス分類は、復号画像が精細な画像である場合に有効である。2×2画素単位のクラス分類を行う場合に得られるフィルタ画像は、1画素単位のクラス分類を行う場合に得られるフィルタ画像よりもぼけるので、2×2画素単位のクラス分類は、復号画像が低画質の画像である場合に有効である。
 クラス分類方法を規定するクラスタップのタップ構造、クラス分類に用いる情報、及び、クラス分類を行う単位は、復号画像の画質に関係なく選択することができるが、何らの制限もないと、選択し得るクラス分類方法の数が膨大になることがあり得る。そこで、選択し得るクラス分類方法は、例えば、図10に示すように、復号画像の画質によって分けることができる。
 例えば、復号画像の画質が高画質である場合、復号画像には、ぼけていない、ディテールが多い、高域の周波数成分が多い、といった特徴があるので、かかる特徴を考慮して、クラス分類に用いる情報としては、ADRC、アクティビティ、又は、差分ADRCを採用することができる。
 復号画像の画質が高画質である場合、クラスタップのタップ構造としては、クラスタップを密に張ることを採用するとともに、タップ形状を、十字形状、x字形状、正方形状、又は、菱形形状にすることを採用することができる。また、クラス分類を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
 以上のようなクラス分類方法を採用することにより、高画質の復号画像のエッジ際やディテールの細かい波形変化を捉えて、復号画像の各画素を分類することができる。
 なお、復号画像の画質が高画質であることは、例えば、量子化パラメータQPが(閾値より)小さいこと、復号画像の1画面(フレーム)の高域の周波数成分が多いこと、復号画像の1画面において、動きがある領域が小さいこと(ぼけていないこと)等により判定することができる。
 一方、復号画像の画質が低画質である場合、復号画像には、ぼけている、平坦部が多い、低域の周波数成分が多い、といった特徴があるので、かかる特徴を考慮して、クラス分類に用いる情報としては、ADRC、アクティビティ、ADRCとDRとの組み合わせ、又は、DF情報を採用することができる。なお、DF情報は、前段フィルタとして、デブロッキングフィルタが存在する場合にのみ採用し得る。
 復号画像の画質が低画質である場合、クラスタップのタップ構造としては、クラスタップを疎らに張ること、及び、クラスタップを広範囲に張ることを採用するとともに、タップ形状を、十字形状、x字形状、正方形状、又は、菱形形状にすることを採用することができる。また、クラス分類を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
 低画質の復号画像では、エッジやディテールのような局所特徴が鈍るので、以上のようなクラス分類方法を採用することにより、低画質の復号画像の広範囲の波形変化を捉えて、ブロック歪み等の符号化歪みを大きく低減することができるように、復号画像の各画素を分類することができる。
 なお、復号画像の画質が低画質であることは、例えば、量子化パラメータQPが大きいこと、復号画像の1画面の低域の周波数成分が多いこと、復号画像の1画面において、動きがある領域が大きいこと(ぼけていること)等により判定することができる。
 図11は、予測方法を説明する図である。
 予測方法は、例えば、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位によって規定される。
 予測タップのタップ構造には、例えば、タップ形状が、13画素、25画素、又は41画素の菱形形状である、といったバリエーションや、予測タップを密に張る、又は、疎らに張る、といったバリエーションがある。さらに、予測タップのタップ構造には、予測タップを、注目画素を中心とする基準範囲全体に張る、基準範囲より狭い範囲に張る、基準範囲より広い範囲にある、といったバリエーションや、予測タップのタップ数(予測タップとしての画素の数)を、基準数より大にする、基準数より小にする、又は、基準数にする、といったバリエーションがある。さらに、予測タップのタップ構造には、予測タップを、注目画素に近い位置については密に張り、注目画素から遠い位置については疎らに張る、といったバリエーションがある。
 なお、基準範囲とは、例えば、横×縦が7×7画素の範囲等の、あらかじめ決められた範囲である。基準範囲が7×7画素の範囲である場合、基準範囲より狭い範囲としては、例えば、5×5画素の範囲を採用し、基準範囲より広い範囲としては、例えば、9×9画素の範囲を採用することができる。ここでいう範囲は、予測タップとして選択し得る画素の範囲を意味し、その範囲内の画素すべてが、予測タップに選択されるとは限らない。
 基準数とは、例えば、25画素等の画素数の、あらかじめ決められたタップ数(画素数)である。基準数が25画素(注目画素を中心とする菱形形状の25画素)である場合、基準数より大きいタップ数としては、例えば、41画素(注目画素を中心とする菱形形状の41画素)を採用し、基準数より小さいタップ数としては、例えば、13画素(注目画素を中心とする菱形形状の13画素)を採用することができる。
 予測処理に用いる予測式には、例えば、1次予測式や、高次予測式、DC予測式といったバリエーションがある。1次予測式によれば、それほど多くないデータ量のタップ係数で、画質を向上させたフィルタ画像を得ることができる。高次予測式によれば、元画像のディテール(細かい波形変化)を復元したフィルタ画像を得ることができる。DC予測式によれば、ブロック歪みを大きく抑制したフィルタ画像を得ることができる。
 予測処理を行う単位には、例えば、1画素単位や、2×2画素単位等のバリエーションがある。予測処理が、2×2画素単位で行われる場合、その2×2画素の4画素それぞれについては、各画素を基準として、予測タップが選択されるが、予測処理は、同一のタップ係数、すなわち、同一のクラスのタップ係数を用いて行われる。したがって、予測処理が、2×2画素単位で行われる場合、その2×2画素の4画素は、同一のクラスに分類されていなければならず、クラス分類を行う単位が2×2画素単位である必要がある。
 1画素単位の予測処理は、復号画像が精細な画像である場合に有効である。2×2画素単位の予測処理により得られるフィルタ画像は、1画素単位の予測処理により得られるフィルタ画像よりもぼけるので、2×2画素単位の予測処理は、復号画像が低画質の画像である場合に有効である。
 予測方法を規定する予測タップのタップ構造、予測処理に用いる予測式、及び、予測処理を行う単位は、復号画像の画質に関係なく選択することができるが、何らの制限もないと、選択し得る予測方法の数が膨大になることがあり得る。そこで、選択し得る予測方法は、例えば、図11に示すように、図10のクラス分類方法の場合と同様に、復号画像の画質によって分けることができる。
 高画質の復号画像、及び、低画質の復号画像には、図10で説明したような特徴があり、復号画像の画質が高画質であるか、又は、低画質であるかは、やはり、図10で説明したように判定することができる。
 復号画像が高画質である場合、予測タップのタップ構造としては、予測タップを密に張ることを採用するとともに、予測タップを基準範囲全体又は基準範囲より狭い範囲に張ることを採用することができる。さらに、予測タップのタップ構造としては、予測タップのタップ数を基準数より大にすることを採用することができる。予測処理に用いる予測式としては、1次予測式又は高次予測式を採用することができる。予測処理を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
 以上のような予測方法を採用することにより、高画質の復号画像については、元画像のディテールの僅かな波形変化を復元したフィルタ画像を生成することができる。
 一方、復号画像が低画質画像である場合、予測タップのタップ構造としては、予測タップを基準範囲全体又は基準範囲より広い範囲に張ることを採用するとともに、予測タップを、注目画素に近い位置については密に張り、遠い位置については疎らに張ることを採用することができる。さらに、予測タップのタップ構造としては、予測タップのタップ数を基準数より大にする又は小にすることを採用することができる。予測処理に用いる予測式としては、1次予測式、高次予測式、又は、DC予測式を採用することができる。予測処理を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
 以上のような予測方法を採用することにより、低画質の復号画像については、その復号画像の広範囲の情報を参照して、ブロック歪み等の符号化歪みを大きく低減したフィルタ画像を生成することができる。
 低画像の復号画像については、予測タップのタップ構造としては、特に、疎らでも密でも良いので、広範囲に亘って、予測タップを張ることが有効である。広範囲に亘って予測タップを張る場合には、予測タップを疎らに張ること(タップ飛ばし)によって、予測タップが多くなること、ひいては、タップ係数が多くなることを抑制することができる。
 ここで、DC予測式のDC項を構成する予測タップとしてのDCタップは、注目ブロックの上下左右に隣接するブロックそれぞれの、ブロック内の画素値の平均値や、それらの平均値を用いた補間により得られる補間値であるので、実質的に、注目ブロックの上下左右に隣接するブロックの広範囲に亘る画素に張られた予測タップであるということができる。
 なお、図10で説明した複数のクラス分類方法それぞれと、図11で説明した複数の予測方法それぞれとの組み合わせについては、クラス数や、各クラスのタップ係数の数によって、係数情報となるタップ係数(又は種係数)のデータ量に大きなばらつきが生じることがあり得る。
 そこで、複数のクラス分類方法それぞれと複数の予測方法それぞれとの各組み合わせについて得られるタップ係数(又は種係数)については、例えば、類似するタップ係数のクラスどうしを1つのクラスにまとめるクラスの縮退を、必要に応じて行うことで、各組み合わせについて得られるタップ係数のデータ量を、同程度に揃えることができる。
 図12は、差分ADRCを説明する図である。
 差分ADRCでは、注目画素について選択されたクラスタップとしての複数の画素のうちの1の画素としての、例えば、注目画素と、他の画素それぞれとの画素値の差分絶対値を対象として、ADRCが行われる。図12では、注目画素について、注目画素と、その上下左右それぞれに連続して位置する2画素ずつとの、十字形状の9画素が、クラスタップに選択されている。そして、クラスタップの注目画素と他の8個の画素それぞれとの差分絶対値D(1), D(2), ..., D(8)が求められ、その8個の差分絶対値D(1)ないしD(8)を対象として、ADRCが行われる。
 (1ビット)ADRCでは、図8で説明したように、クラスタップとしての画素の画素値の最大値MAXと最小値MINとの平均値を分類閾値として、クラスタップとしての各画素の画素値が、分類閾値以上であれば、1に量子化され、分類閾値以上でなければ、0に量子化される。
 したがって、差分ADRCでは、注目画素と、他の画素それぞれとの画素値の差分絶対値の最大値と最小値との平均値を分類閾値として、各差分絶対値が、分類閾値以上であれば、1に量子化され、分類閾値以上でなければ、0に量子化される。そして、量子化後の0又は1の差分絶対値を所定の順番で並べたビット列が、差分絶対値D(1)ないしD(8)についてのADRCコード(以下、差分ADRCコードともいう)として出力される。
 差分ADRC(コード)を用いたクラス分類によれば、注目画素と周辺の画素との画素の画素値(輝度等)の差分に基づいて、画素(注目画素)が分類される。
 差分ADRCでは、差分絶対値を量子化するときの分類閾値が、差分絶対値の最大値と最小値との差、つまり、差分絶対値のダイナミックレンジに応じて変化するので、注目画素を、その注目画素付近のシーンに応じて、分類することができ、これにより、元画像に存在するエッジを保存しながら、エッジ際の歪や、複雑なテクスチャの形状を復元したフィルタ画像を生成することが可能となる。
 ところで、例えば、文字や幾何学的なパターンのエッジについては、エッジでの画素値の変化が大きい場合や小さい場合がある。また、差分ADRCでは、分類閾値が、差分絶対値の最大値と最小値との平均値に一意に設定される。このため、差分ADRCを用いたクラス分類では、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、異なるクラスに分類されることがある。
 しかしながら、文字や幾何学的なパターンのエッジについては、エッジでの画素値の変化の大小にかかわらず、同一のクラスに分類し、同一のタップ係数で構成される予測式を適用することが望ましい。
 そこで、差分ADRCを用いたクラス分類において、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、同一のクラスに分類されるように、分類閾値を固定に設計する方法がある。
 しかしながら、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、同一のクラスに分類されるように、分類閾値を固定に設計すると、エッジ以外の特徴を有する画像の画素が、適切に分類されなくなることがあり、クラス分類の分類性能が低下することがある。
 そこで、差分ADRCを用いたクラス分類では、分類閾値を、差分絶対値の最大値と最小値との平均値に設定するのではなく、必要に応じて、例えば、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、同一のクラスに分類されるように、例えば、差分絶対値のダイナミックレンジに応じて、フレキシブルに設定することができる。
 図13は、以上のように、分類閾値を、差分絶対値のダイナミックレンジに応じて、フレキシブルに設定する、差分ADRCを用いたクラス分類を行うクラス分類部の構成例を示すブロック図である。
 図13において、クラス分類部は、クラスタップ選択部71、差分ADRC部72、テーブル記憶部73、分類閾値設定部74、及び、差分ADRC部75を有する。
 クラスタップ選択部71には、復号画像が供給される。クラスタップ選択部71は、復号画像の注目画素について、クラスタップとしての画素を、復号画像から選択し、差分ADRC部72及び75に供給する。
 差分ADRC部72は、クラスタップ選択部71からの注目画素のクラスタップを対象として、差分ADRCを行い、その結果得られるクラスを、注目画素の仮のクラスである仮クラスとして、分類閾値設定部74に供給する。なお、差分ADRC部72では、分類閾値を、クラスタップとしての画素の差分絶対値の最大値と最小値との平均値に設定して、差分ADRCが行われる。
 テーブル記憶部73は、差分ADRC部72で得られる任意の仮クラスについて、その仮クラスに分類される画素の最終的なクラスである最終クラスを求めるのに用いる分類閾値のテーブル(以下、閾値テーブルともいう)を記憶する。
 分類閾値設定部74は、テーブル記憶部73に記憶された閾値テーブルを参照し、その閾値テーブルに、差分ADRC部72からの注目画素の仮クラスについて、分類閾値Thとクラスタップとしての画素(の画素値)の差分絶対値のダイナミックレンジDRとの関係を表す分類閾値関係情報が登録されている場合には、その分類閾値関係情報に従って、最終クラスを求めるのに用いる分類閾値Thを設定し、差分ADRC部75に供給する。
 差分ADRC部75は、分類閾値設定部74から分類閾値Thが供給される場合、その分類閾値Thを用いて、クラスタップ選択部71からの注目画素のクラスタップを対象とする差分ADRCを行い、その結果得られるクラスを、注目画素の最終クラスとして出力する。
 また、差分ADRC部75は、分類閾値設定部74から分類閾値Thが供給されない場合、差分ADRC部72と同様に、クラスタップ選択部71からの注目画素のクラスタップを対象とする差分ADRCを行い、その結果得られるクラスを、注目画素の最終クラスとして出力する。
 したがって、差分ADRC部75に対して、分類閾値設定部74から分類閾値Thが供給されない場合、差分ADRC部75では、分類閾値を、クラスタップとしての画素の差分絶対値の最大値と最小値との平均値に設定して、差分ADRCが行われる。この場合、差分ADRC部75において差分ADRCを行わずに、差分ADRC部72で得られた仮クラスを、そのまま、最終クラスとして出力することができる。
 図14は、図13のテーブル記憶部73に記憶される閾値テーブルの例を示す図である。
 図14の閾値テーブルでは、仮クラスについて、分類閾値関係情報が登録されている。
 分類閾値関係情報は、クラスタップとしての画素の差分絶対値のダイナミックレンジDRに応じて変化する分類閾値Thを表す閾値曲線を規定する情報で、例えば、2つのダイナミックレンジDR1及びDR2と、2つの分類閾値Th1及びTh2とを有する。
 図14に示すように、例えば、横軸をダイナミックレンジDRとするとともに、縦軸を分類閾値Thとする2次元平面において、分類閾値関係情報DR1, DR2, Th1, Th2によって規定される曲線が、閾値曲線である。
 分類閾値設定部74は、仮クラスの分類閾値関係情報によって規定される閾値曲線に従い、クラスタップとしての画素の差分絶対値のダイナミックレンジDRに応じて、分類閾値Thを設定する。
 差分ADRCを用いたクラス分類を行う場合には、以上のような閾値テーブルを、必要に応じて、分類方法情報に含めて、符号化装置20から復号装置30に伝送することができる。
 なお、閾値テーブルにおいて、分類閾値関係情報DR1, DR2, Th1, Th2は、すべての仮クラスについて登録されている必要はない。すなわち、閾値テーブルには、クラスタップとしての画素の差分絶対値のダイナミックレンジDRに応じて、分類閾値Thをフレキシブルに設定したい仮クラスについてだけ、分類閾値関係情報DR1, DR2, Th1, Th2を登録することができる。
 図15は、複数のクラス分類方法の例を説明する図である。
 図8で説明したように、クラス分類部41は、複数のクラス分類方法それぞれについて、そのクラス分類方法のクラス分類を、復号画像の各画素に対して行う。
 一方、クラス分類方法は、クラス分類に用いる情報(画像特徴量等)、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位によって規定される。
 したがって、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位として、複数の情報、複数のタップ構造、及び、複数の単位を、それぞれ用意し、その複数の情報それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数のクラス分類方法を構成することができる。
 しかしながら、複数の情報それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数のクラス分類方法を構成する場合には、複数のクラス分類方法の数が膨大になるおそれがある。
 ところで、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位の組み合わせには、適切な組み合わせがあり得る。
 そこで、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位の組み合わせとして、幾つかの適切な組み合わせを用意し、その幾つかの適切な組み合わせを、クラス分類部41で行うクラス分類の複数のクラス分類方法として採用することができる。
 図15は、以上のような、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位の適切な組み合わせとしての複数のクラス分類方法の例を示している。
 図15においては、図10の場合と同様に、選択し得るクラス分類方法が、復号画像の画質によって分けられている。但し、選択し得るクラス分類方法は、必ずしも、復号画像の画質によって分ける必要はない。
 復号画像の画質が高画質である場合、クラス分類に用いる情報として、ADRCを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。
 また、クラス分類に用いる情報として、既存のALFで採用されているアクティビティを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を既存のALFで採用されている正方形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。さらに、クラス分類に用いる情報として、差分ADRCを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。
 例えば、クラス分類に用いる情報として、差分ADRCを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用するクラス分類方法によれば、特に、エッジ際や複雑なテクスチャを構成する画素を、適切にクラス分類することができる。
 一方、復号画像の画質が低画質である場合、クラス分類に用いる情報として、ADRCを採用し、クラスタップのタップ構造として、クラスタップを疎らに張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用することができる。さらに、クラス分類に用いる情報として、既存のALFで採用されているアクティビティを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を既存のALFで採用されている正方形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用することができる。
 また、クラス分類に用いる情報として、ADRCとDR(クラスラップの最大値と最小値との差)との組み合わせ(ADRC×DR)を採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすること、及び、DR用のクラスタップのタップ形状を正方形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用することができる。
 その他、復号画像の画質が低画質である場合に、前段フィルタとして、デブロッキングフィルタが設けられているときには、クラス分類に用いる情報として、ADRCとDF情報との組み合わせ(ADRC×DF情報)を採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。
 例えば、クラス分類に用いる情報として、ADRCとDRとの組み合わせを採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすること、及び、DR用のクラスタップのタップ形状を正方形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用するクラス分類方法によれば、特に、平坦部やグラデーションを構成する画素を、適切にクラス分類することができる。
 また、例えば、クラス分類に用いる情報として、ADRCとDF情報との組み合わせを採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用するクラス分類方法によれば、特に、ブロック歪みを構成する画素を、適切にクラス分類することができる。さらに、デブロッキングフィルタで生じる歪みの復元に適するように、クラス分類を行うことができる。
 図16は、複数の予測方法の例を説明する図である。
 図8で説明したように、予測部42は、複数の予測方法それぞれについて、その予測方法の予測処理としてのフィルタ処理(及びタップ係数学習又は種係数学習)を、復号画像に対して行う。
 一方、予測方法は、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位によって規定される。
 したがって、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位として、複数の予測式、複数のタップ構造、及び、複数の単位を、それぞれ用意し、その複数の予測式それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数の予測方法を構成することができる。
 しかしながら、複数の予測式それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数の予測方法を構成する場合には、複数の予測方法の数が膨大になるおそれがある。
 ところで、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位の組み合わせには、適切な組み合わせがあり得る。
 そこで、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位の組み合わせとして、幾つかの適切な組み合わせを用意し、その幾つかの適切な組み合わせを、予測部42で行う予測処理の複数の予測方法として採用することができる。
 図16は、以上のような予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位の適切な組み合わせとしての複数の予測方法の例を示している。
 図16においては、図11の場合と同様に、選択し得る予測方法が、復号画像の画質によって分けられている。但し、選択し得る予測方法は、必ずしも、復号画像の画質によって分ける必要はない。
 復号画像の画質が高画質である場合、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを密に張ることを採用し、予測処理を行う単位として、1画素単位を採用することができる。さらに、予測処理に用いる予測式として、高次予測式としての2次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、予測タップを密に張ること、及び、予測タップを基準範囲より狭い範囲に張ることを採用し、予測処理を行う単位として、1画素単位を採用することができる。
 なお、以上のように、予測処理に用いる予測式として、2次予測式を採用し、予測タップのタップ構造として、予測タップを基準範囲より狭い範囲に張ることを採用する場合には、2次タップは、基準範囲より狭い範囲で、かつ、1次タップが張られる範囲より狭い範囲に張ることができる。
 一方、復号画像の画質が低画質である場合、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを疎らに張ることを採用し、予測処理を行う単位として、2×2画素単位を採用することができる。さらに、予測処理に用いる予測式として、高次予測式としての2次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、予測タップを疎らに張ること、及び、予測タップのタップ数をあらかじめ決められた数より小にすることを採用し、予測処理を行う単位として、2×2画素単位を採用することができる。
 なお、以上のように、予測タップのタップ構造として、予測タップを疎らに張ること、及び、予測タップのタップ数をあらかじめ決められた数より小にすることを採用する場合、高画質の復号画像について、予測処理に用いる予測式として、2次予測式が採用される場合よりも、予測タップが、疎らに、かつ、広い範囲に張られることになる。
 その他、復号画像の画質が低画質である場合、予測処理に用いる予測式として、DC予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを、注目画素に近い位置については密に張り、注目画素から遠い位置については疎らに張ること、及び、予測タップのタップ数を、DCタップの分だけ1次予測式を採用する場合より小にすること、予測処理を行う単位として、2×2画素単位を採用することができる。さらに、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを疎らに張ることを採用し、予測処理を行う単位として、1画素単位を採用することができる。
 なお、本実施の形態において、復号画像の画質が低画質である場合、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを疎らに張ることを採用し、予測処理を行う単位として、1画素単位を採用する、図16の最下欄の予測方法は、図15の最下欄に示した、前段フィルタとして、デブロッキングフィルタが設けられており、クラス分類に用いる情報として、ADRCとDF情報との組み合わせを採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用するクラス分類方法が選択されるときに選択し得る。
 図17は、図7の符号化装置20の符号化処理の概要を説明するフローチャートである。
 図17のフローチャートに従った処理は、例えば、フレーム(ピクチャ)単位で行われる。
 ステップS21において、符号化部21(図7)は、フィルタ部23からのフィルタ画像を用いて、元画像を(予測)符号化し、その符号化により得られる符号化データを、局所復号部22に供給して、処理は、ステップS22に進む。
 ステップS22では、局所復号部22は、符号化部21からの符号化データの局所復号を、フィルタ部23からのフィルタ画像を用いて行い、その結果得られる(局所)復号画像を、フィルタ部23に供給して、処理は、ステップS23に進む。
 ステップS23では、フィルタ部23(図8)において、クラス分類部41が、局所復号部22からの復号画像の画素を、順次、注目画素に選択し、処理は、ステップS24に進む。
 ステップS24では、クラス分類部41は、複数のクラス分類方法それぞれについて、そのクラス分類方法のクラス分類を、復号画像の注目画素に対して行い、注目画素のクラスを、予測部42に供給して、処理は、ステップS25に進む。
 ステップS25では、予測部42は、複数の予測方法それぞれについて、クラス分類部41からの複数のクラス分類方法それぞれについて得られたクラスごとの画素と元画像とを用いて、タップ係数学習(又は種係数学習)を行い、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、クラスごとのタップ係数(又は種係数)を求める。
 さらに、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、タップ係数学習により求められたタップ係数(又は種係数学習により求められた種係数から求められるタップ係数)で構成される予測式を、復号画像に適用する予測処理としてのフィルタ処理を行い、フィルタ画像を生成する。
 予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、フィルタ画像と元画像とを比較することにより、フィルタ画像のPSNRを求めるとともに、元画像の符号化を行って得られる符号化データと、その符号化データの復号に必要な情報とを含む符号化ビットストリームのデータ量を求める。
 そして、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、PSNR、符号化ビットストリームのデータ量、クラス分類方法を表す分類方法情報、予測方法を表す予測方法情報、及び、タップ係数(又は種係数)を対応付けて、選択部43に供給し、処理は、ステップS25からステップS26に進む。
 ステップS26では、選択部43は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたタップ係数(又は種係数から求められたタップ係数)を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、予測部42は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数(又はタップ係数を求めるのに用いられた種係数)を、採用タップ係数(又は種係数)に選択し、係数情報に含める。
 選択部43は、採用クラス分類方法及び採用予測方法の組み合わせについての係数情報に含まれる採用タップ係数(又は種係数)を、DB44に供給して記憶させ、処理は、ステップS26からステップS27に進む。
 ここで、採用クラス分類方法を表す分類方法情報、採用予測方法を表す予測方法情報、及び、DB44に記憶された係数情報としての採用タップ係数は、フィルタ情報に含められ、フィルタ部23から符号化部21(図7)に供給される。
 また、選択部43は、採用クラス分類方法を表す分類方法情報を、クラス分類部45に供給するとともに、採用予測方法を表す予測方法情報を、予測部46に供給する。
 ステップS27において、クラス分類部45は、選択部43からの分類方法情報が表す(採用)クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを、予測部46に供給する。予測部46は、DB44に記憶された係数情報としての採用タップ係数(又は種係数から生成されるタップ係数)のうちのクラス分類部45からのクラスのタップ係数で構成される予測式を復号画像に適用することにより、選択部43からの予測方法情報が表す(採用)予測方法の予測処理としてのフィルタ処理を行い、その結果得られるフィルタ画像を、符号化部21及び局所復号部22(図8)に供給する。そして、処理は、ステップS27からステップS28に進む。
 ここで、ステップS27において予測部46から符号化部21及び局所復号部22に供給されるフィルタ画像は、例えば、復号画像の次のフレームを対象として行われるステップS21及びS22の処理で用いられる。
 ステップS28では、符号化部21は、フィルタ部23からのフィルタ情報、すなわち、分類方法情報、予測方法情報、及び、係数情報を含む符号化ビットストリームを生成して伝送する。
 なお、予測部42において、種係数学習が行われる場合、係数情報には、種係数が含まれるとともに、その種係数からタップ係数を求める係数予測式の次数、及び、パラメータzが必要に応じて含まれる。
 図18は、図7の復号装置30の復号処理の概要を説明するフローチャートである。
 図18のフローチャートに従った処理は、例えば、図17の符号化処理と同様に、フレーム単位で行われる。
 ステップS41において、パース部31(図7)は、符号化装置20から伝送されてくる符号化ビットストリームを受信し、符号化ビットストリームに含まれるフィルタ情報をパースして、フィルタ部33に供給する。さらに、パース部31は、符号化ビットストリームに含まれる符号化データを、復号部32に供給し、処理は、ステップS41からステップS42に進む。
 ステップS42では、復号部32は、パース部31からの符号化データの復号を、フィルタ部33からのフィルタ画像を用いて行い、その結果得られる復号画像を、フィルタ部33に供給して、処理は、ステップS43に進む。
 ステップS43では、フィルタ部33(図8)において、クラス分類部51が、復号部32からの復号画像の画素を、順次、注目画素に選択し、処理は、ステップS44に進む。
 ステップS44では、クラス分類部51は、フィルタ情報に含まれる分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、予測部52に供給して、処理は、ステップS45に進む。
 ステップS45では、予測部52は、フィルタ情報に含まれる係数情報における採用タップ係数から、クラス分類部51からの注目画素のクラスの(採用)タップ係数を取得し、処理は、ステップS46に進む。
 ここで、係数情報が、クラスごとのタップ係数を含む場合には、予測部52は、ステップS45において、上述のように、係数情報に含まれるクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得する。
 また、係数情報が、クラスごとの種係数を含む場合には、予測部52は、ステップS45において、係数情報に含まれるクラスごとの種係数から、注目画素のクラスの種係数を取得するとともに、パラメータzを取得し、注目画素のクラスの種係数とパラメータzとで構成される係数予測式を演算することにより、注目画素のクラスのタップ係数を求める。
 ステップS46では、予測部52は、ステップS45で取得したタップ係数で構成される予測式を復号画像に適用することにより、フィルタ情報に含まれる予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、フィルタ画像を生成する。
 フィルタ画像は、フィルタ部33から復号部32(図7)に供給されるとともに、元画像を復元した復元画像として出力される。
 ステップS46でフィルタ部33から復号部32に供給されるフィルタ画像は、例えば、復号画像の次のフレームを対象として行われるステップS42の処理で用いられる。
 <符号化装置20の構成例>
 図19は、図7の符号化装置20の詳細な構成例を示すブロック図である。
 なお、以下説明するブロック図については、図が煩雑になるのを避けるため、各ブロックの処理で必要となる情報(データ)を供給する線の記載を、適宜省略する。
 図19において、符号化装置20は、A/D変換部101、並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、及び、蓄積バッファ107を有する。さらに、符号化装置20は、逆量子化部108、逆直交変換部109、演算部110、ILF111、フレームメモリ112、選択部113、イントラ予測部114、動き予測補償部115、予測画像選択部116、及び、レート制御部117を有する。
 A/D変換部101は、アナログ信号の元画像を、ディジタル信号の元画像にA/D変換し、並べ替えバッファ102に供給して記憶させる。
 並べ替えバッファ102は、元画像のフレームを、GOP(Group Of Picture)に応じて、表示順から符号化(復号)順に並べ替え、演算部103、イントラ予測部114、動き予測補償部115、及び、ILF111に供給する。
 演算部103は、並べ替えバッファ102からの元画像から、予測画像選択部116を介してイントラ予測部114又は動き予測補償部115から供給される予測画像を減算し、その減算により得られる残差(予測残差)を、直交変換部104に供給する。
 例えば、インター符号化が行われる画像の場合、演算部103は、並べ替えバッファ102から読み出された元画像から、動き予測補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される残差に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、直交交換により得られる直交変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104から供給される直交変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値(符号量目標値)に基づいて量子化パラメータQPを設定し、直交変換係数の量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された直交変換係数である符号化データを、可逆符号化部106に供給する。
 可逆符号化部106は、量子化部105からの符号化データとしての量子化された直交変換係数を所定の可逆符号化方式で符号化する。直交変換係数は、レート制御部117の制御の下で量子化されているので、可逆符号化部106の可逆符号化により得られる符号化ビットストリームの符号量は、レート制御部117が設定した符号量目標値となる(又は符号量目標値に近似する)。
 また、可逆符号化部106は、符号化装置20での予測符号化に関する符号化情報のうちの、復号装置30での復号に必要な符号化情報を、各ブロックから取得する。
 ここで、符号化情報としては、例えば、イントラ予測やインター予測の予測モード、動きベクトル等の動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ(I,P,B)、CU(Coding Unit)やCTU(Coding Tree Unit)の情報等がある。
 例えば、予測モードは、イントラ予測部114や動き予測補償部115から取得することができる。また、例えば、動き情報は、動き予測補償部115から取得することができる。
 可逆符号化部106は、符号化情報を取得する他、ILF111から、そのILF111でのフィルタ処理に関するフィルタ情報を取得する。
 可逆符号化部106は、符号化情報及びフィルタ情報を、例えば、CAVLC(Context-Adaptive Variable Length Coding)やCABAC(Context-Adaptive Binary Arithmetic Coding)等の可変長符号化又は算術符号化その他の可逆符号化方式で符号化し、符号化後の符号化情報及びフィルタ情報、及び、量子化部105からの符号化データを含む符号化ビットストリームを生成して、蓄積バッファ107に供給する。
 蓄積バッファ107は、可逆符号化部106から供給される符号化ビットストリームを、一時的に蓄積する。蓄積バッファ107に蓄積された符号化ビットストリームは、所定のタイミングで読み出されて伝送される。
 量子化部105において量子化された直交変換係数である符号化データは、可逆符号化部106に供給される他、逆量子化部108にも供給される。逆量子化部108は、量子化された直交変換係数を、量子化部105による量子化に対応する方法で逆量子化し、その逆量子化により得られる直交変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、逆量子化部108から供給される直交変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換し、その逆直交変換の結果得られる残差を、演算部110に供給する。
 演算部110は、逆直交変換部109から供給される残差に、予測画像選択部116を介してイントラ予測部114又は動き予測補償部115から供給される予測画像を加算し、これにより、元画像を復号した復号画像(の一部)を得て出力する。
 演算部110が出力する復号画像は、ILF111に供給される。
 ILF111は、例えば、クラス分類予測処理としてのフィルタ処理を行い、元画像を予測(復元)する。
 ILF111には、演算部110から復号画像が供給される他、並べ替えバッファ102から、復号画像に対応する元画像が供給される。
 ILF111は、例えば、演算部110からの復号画像、及び、並べ替えバッファ102からの元画像を、それぞれ生徒データ及び教師データとして用いて、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、タップ係数学習又は種係数学習を行う。
 さらに、ILF111は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたタップ係数又は種係数から生成された(求められた)タップ係数を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、ILF111は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数又は種係数を、採用タップ係数又は種係数として、係数情報に含める。
 そして、ILF111は、採用クラス分類方法を表す分類方法情報、採用予測方法を表す予測方法情報、及び、係数情報を含むフィルタ情報を生成し、可逆符号化部106に供給する。
 また、ILF111は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、ILF111は、復号画像の各画素に、フィルタ情報の係数情報に含まれる採用タップ係数又は種係数から生成されるタップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を出力する。
 ILF111が出力するフィルタ画像は、フレームメモリ112に供給される。
 ここで、以下では、説明を簡単にするため、ILF111では、タップ係数学習及び種係数学習のうちの、例えば、タップ係数学習が行われることとする。
 ILF111は、タップ係数学習に用いる生徒画像及び教師画像によって、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALFのうちの1以上のフィルタとして機能させることができる。
 また、ILF111を、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALFのうちの2以上のフィルタとして機能させる場合、その2以上のフィルタの配置順は任意である。
 さらに、ILF111は、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALF以外のフィルタとして機能させることができる。また、図19では、ILF111以外のフィルタが設けられていないが、ILF111に加えて、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALFのうちの1以上のフィルタを、ILF111の前段及び後段のうちの一方又は両方に設けることができる。以上の点、復号装置30でも同様である。
 フレームメモリ112は、ILF111から供給されるフィルタ画像を、元画像を復元した復元画像として一時記憶する。フレームメモリ112に記憶された復元画像は、必要なタイミングで、予測画像の生成に用いられる参照画像として、選択部113に供給される。
 選択部113は、フレームメモリ112から供給される参照画像の供給先を選択する。例えば、イントラ予測部114においてイントラ予測が行われる場合、選択部113は、フレームメモリ112から供給される参照画像を、イントラ予測部114に供給する。また、例えば、動き予測補償部115においてインター予測が行われる場合、選択部113は、フレームメモリ112から供給される参照画像を、動き予測補償部115に供給する。
 イントラ予測部114は、並べ替えバッファ102から供給される元画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用い、例えば、PU(Prediction Unit)を処理単位として、イントラ予測(画面内予測)を行う。イントラ予測部114は、所定のコスト関数(例えば、RDコスト等)に基づいて、最適なイントラ予測モードを選択し、その最適なイントラ予測モードで生成された予測画像を、予測画像選択部116に供給する。また、上述したように、イントラ予測部114は、コスト関数に基づいて選択されたイントラ予測モードを示す予測モードを、可逆符号化部106等に適宜供給する。
 動き予測補償部115は、並べ替えバッファ102から供給される元画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用い、例えば、PUを処理単位として、動き予測(インター予測)を行う。さらに、動き予測補償部115は、動き予測により検出される動きベクトルに応じて動き補償を行い、予測画像を生成する。動き予測補償部115は、あらかじめ用意された複数のインター予測モードで、インター予測を行い、予測画像を生成する。
 動き予測補償部115は、複数のインター予測モードそれぞれについて得られた予測画像の所定のコスト関数に基づいて、最適なインター予測モードを選択する。さらに、動き予測補償部115は、最適なインター予測モードで生成された予測画像を、予測画像選択部116に供給する。
 また、動き予測補償部115は、コスト関数に基づいて選択されたインター予測モードを示す予測モードや、そのインター予測モードで符号化された符号化データを復号する際に必要な動きベクトル等の動き情報等を、可逆符号化部106に供給する。
 予測画像選択部116は、演算部103及び210に供給する予測画像の供給元(イントラ予測部114又は動き予測補償部115)を選択し、その選択した方の供給元から供給される予測画像を、演算部103及び210に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された符号化ビットストリームの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。すなわち、レート制御部117は、蓄積バッファ107のオーバーフロー及びアンダーフローが生じないように、符号化ビットストリームの目標符号量を設定し、量子化部105に供給する。
 なお、図19において、演算部103ないし可逆符号化部106が図7の符号化部21に、逆量子化部108ないし演算部110が図7の局所復号部22に、ILF111が図7のフィルタ部23に、それぞれ相当する。
 <ILF111の構成例>
 図20は、図19のILF111の構成例を示すブロック図である。
 図20において、ILF111は、学習装置131及び予測装置132を有する。
 学習装置131には、並べ替えバッファ102(図19)から元画像が供給されるとともに、演算部110(図19)から復号画像が供給される。
 学習装置131は、復号画像及び元画像をそれぞれ生徒データ及び教師データとして用いて、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、タップ係数学習を行う。
 さらに、学習装置131は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたタップ係数を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、学習装置131は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数を、採用タップ係数に選択する。そして、学習装置131は、採用タップ係数を係数情報として、その係数情報、採用クラス分類方法を表す分類方法情報、及び、採用予測方法を表す予測方法情報を含むフィルタ情報を生成し、予測装置132に供給するとともに、可逆符号化部106(図19)に供給する。
 予測装置132には、学習装置131からフィルタ情報が供給される他、演算部110(図19)から復号画像が供給される。
 予測装置132は、学習装置131からのフィルタ情報を用いて、復号画像を対象に、クラス分類予測処理を行うことにより、フィルタ画像を生成して、フレームメモリ112(図19)に供給する。
 すなわち、予測装置132は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、予測装置132は、復号画像の各画素に、フィルタ情報の係数情報に含まれる採用タップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を、フレームメモリ112に供給する。
 <学習装置131の構成例>
 図21は、図20の学習装置131の構成例を示すブロック図である。
 図21において、学習装置131は、選択部141、学習部142、及び、選択部143を有する。
 選択部141は、例えば、図15及び図16で説明したような複数のクラス分類方法それぞれの分類方法情報と、複数の予測方法それぞれの予測方法情報とを記憶している。
 選択部141は、複数の分類方法情報のうちの1つと、複数の予測方法情報のうちの1つとの組み合わせのうちの、まだ、注目する組み合わせとしての注目情報に選択していない組み合わせを、注目情報に選択し、学習部142及び選択部143に供給する。
 学習部142は、タップ選択部151、クラス分類部152、足し込み部153、及び、係数算出部154を有し、復号画像及び元画像を、それぞれ生徒データ及び教師データとして、タップ係数学習を行う。タップ係数学習では、選択部141から供給される注目情報としての組み合わせを構成する分類方法情報が表すクラス分類方法でクラス分類が行われ、注目情報としての組み合わせを構成する予測方法情報が表す予測方法で予測処理が行われる場合のタップ係数が求められる。
 タップ選択部151は、生徒データとしての復号画像の画素を、順次、注目画素に選択する。さらに、タップ選択部151は、選択部141からの注目情報としての組み合わせを構成する予測方法情報が表す予測方法に従い、注目画素について、生徒画像を構成する画素から、予測タップとしての画素を選択し、足し込み部153に供給する。
 クラス分類部152は、例えば、復号画像の画素を用い、選択部141からの注目情報としての組み合わせを構成する分類方法情報が表すクラス分類方法で、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、足し込み部153に出力する。
 足し込み部153は、教師データとしての元画像から、注目画素に対応する対応画素を選択し、対応画素(の画素値)と、タップ選択部151から供給される注目画素についての予測タップとを対象とした、正規方程式を構成する各項の足し込みを、クラス分類部152から供給される注目画素のクラスごとに行う。ここで、足し込みが行われる正規方程式は、選択部141からの注目情報としての組み合わせを構成する予測方法情報が表す予測方法によって決まる。
 そして、足し込み部153は、生徒データとしての復号画像の、例えば、1フレームの画素すべてを注目画素として、正規方程式を構成する各項の足し込みを行うことにより、各クラスについて、正規方程式をたて、その正規方程式を、係数算出部154に供給する。
 係数算出部154は、足し込み部153から供給される各クラスについての正規方程式を解くことにより、クラスごとのタップ係数を求める。
 係数算出部154は、以上のようにして求められた、注目情報についてのクラスごとのタップ係数を、選択部143に供給する。
 選択部143には、選択部141から注目情報が供給されるとともに、学習部142(の係数算出部154)から注目情報についてのクラスごとのタップ係数が供給される他、タップ係数学習の生徒データ及び教師データとしての復号画像及び元画像が供給される。
 選択部143は、選択部141からの注目情報としてのクラス分類方法と予測方法との組み合わせと、学習部142からの、注目情報についてのタップ係数とを対応付けて記憶する。
 選択部143は、選択部141から注目情報として順次供給される、クラス分類方法と予測方法との各組み合わせについてのタップ係数の中から、そのタップ係数を用いてクラス分類予測処理としてのフィルタ処理を行った場合に符号化効率を最良にするタップ係数を、採用タップ係数に選択する。ここで、選択部143は、クラス分類予測処理を行うにあたり、クラス分類を、用いるタップ係数に対応付けられた組み合わせを構成するクラス分類方法で行い、予測処理を、用いるタップ係数に対応付けられた組み合わせを構成する予測方法で行う。
 選択部143は、採用タップ係数に対応付けられた組み合わせを構成するクラス分類方法と予測方法とを、それぞれ、採用クラス分類方法と採用予測方法とに選択する。そして、選択部143は、採用タップ係数を係数情報とし、その係数情報、採用クラス分類方法を表す分類方法情報、及び、採用予測方法を表す予測方法情報を含むフィルタ情報を生成して、予測装置132(図20)に供給するとともに、可逆符号化部106(図19)に供給する。
 <予測装置132の構成例>
 図22は、図20の予測装置132の構成例を示すブロック図である。
 図22において、予測装置132は、フィルタ情報記憶部171、タップ選択部181、クラス分類部182、係数取得部183、及び、予測演算部184を有する。
 フィルタ情報記憶部171は、学習装置131(の選択部143(図21))から供給されるフィルタ情報を記憶する。フィルタ情報記憶部171に記憶されたフィルタ情報に含まれる分類方法情報は、クラス分類部182に供給される。また、フィルタ情報記憶部171に記憶されたフィルタ情報に含まれる係数情報は、係数取得部183に供給され、フィルタ情報に含まれる予測方法情報は、タップ選択部181及び予測演算部184に供給される。
 タップ選択部181及びクラス分類部182には、演算部110からの復号画像が供給される。
 タップ選択部181は、復号画像の画素を、順次、注目画素に選択する。さらに、タップ選択部181は、注目画素について、フィルタ情報記憶部171に記憶された予測方法情報が表す採用予測方法に従ったタップ構造の予測タップとしての画素を、復号画像から選択し、予測演算部184に供給する。
 クラス分類部182は、復号画像等を用い、フィルタ情報記憶部171に記憶された分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、係数取得部183に供給する。
 係数取得部183は、フィルタ情報記憶部171に記憶された係数情報としてのクラスごとのタップ係数を記憶し、その記憶したタップ係数のうちの、クラス分類部182からの注目画素のクラスのタップ係数を取得する。さらに、係数取得部183は、注目画素のクラスのタップ係数を、予測演算部184に供給する。
 予測演算部184は、タップ選択部181からの予測タップと、係数取得部183から供給されるタップ係数とを用いて、フィルタ情報記憶部171に記憶された予測方法情報が表す採用予測方法に従った予測式の演算を行うことにより、元画像の画素の予測値を求め、その予測値を画素値とするフィルタ画像を、フレームメモリ112(図19)に供給する。
 <符号化処理>
 図23は、図19の符号化装置20の符号化処理の例を説明するフローチャートである。
 なお、図23等に示す符号化処理の各ステップの順番は、説明の便宜上の順番であり、実際の符号化処理の各ステップは、適宜、並列的に、必要な順番で行われる。後述する処理についても、同様である。
 符号化装置20において、ILF111の学習装置131(図21)は、そこに供給される復号画像を一時記憶するとともに、その復号画像に対応する元画像を一時記憶する。
 そして、学習装置131は、ステップS101において、現在のタイミングが、フィルタ情報を更新する更新タイミングであるかどうかを判定する。
 ここで、フィルタ情報の更新タイミングは、例えば、1以上のフレーム(ピクチャ)ごとや、1以上のシーケンスごと、1以上のスライスごと、CTU等の所定のブロックの1以上のラインごと等のように、あらかじめ決めておくことができる。
 また、フィルタ情報の更新タイミングとしては、1以上のフレーム(ピクチャ)ごとのタイミングのような周期的(固定的)なタイミングの他、フィルタ画像のS/Nが閾値以下になったタイミング(フィルタ画像の、元画像に対する誤差が閾値以上になったタイミング)や、残差(の絶対値和等)が閾値以上になったタイミング等の、いわば動的なタイミングを採用することができる。
 ここでは、例えば、学習装置131が、復号画像及び元画像の1フレームを用いて、タップ係数学習を行うこととし、1フレームごとのタイミングがフィルタ情報の更新タイミングであることとする。
 ステップS101において、現在のタイミングが、フィルタ情報の更新タイミングでないと判定された場合、処理は、ステップS102ないしS105をスキップして、ステップS106に進む。
 また、ステップS101において、現在のタイミングが、フィルタ情報の更新タイミングであると判定された場合、処理は、ステップS102に進み、学習装置131は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、クラスごとのタップ係数を求めるタップ係数学習を行う。
 すなわち、学習装置131は、例えば、前回の更新タイミングから、今回の更新タイミングまでの間に記憶した復号画像及び元画像(ここでは、学習装置131(ILF111)に供給された最新の1フレームの復号画像及び元画像)を用いて、タップ係数学習を行い、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、クラスごとのタップ係数を求める。
 そして、処理は、ステップS102からステップS103に進み、学習装置131は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたクラスごとのタップ係数を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、学習装置131は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数を、採用タップ係数に選択し、処理は、ステップS103からステップS104に進む。
 ステップS104では、学習装置131は、採用タップ係数を係数情報として、その係数情報と、採用クラス分類方法を表す分類方法情報及び採用予測方法を表す予測方法情報とを含むフィルタ情報を生成し、予測装置132(図22)、及び、可逆符号化部106(図19)に供給する。
 可逆符号化部106(図19)は、学習装置131からのフィルタ情報を、伝送対象に設定して、処理は、ステップS104からステップS105に進む。伝送対象に設定されたフィルタ情報は、後述するステップS106で行われる予測符号化処理において符号化ビットストリームに含められて伝送される。
 ステップS105では、予測装置132が、学習装置131からのフィルタ情報によって、フィルタ情報記憶部171(図22)に記憶されているフィルタ情報を更新し(フィルタ情報を上書きする形で記憶させ)、処理は、ステップS106に進む。
 ステップS106では、元画像の予測符号化処理が行われ、符号化処理は終了する。
 図24は、図23のステップS106の予測符号化処理の例を説明するフローチャートである。
 予測符号化処理では、ステップS111において、A/D変換部101(図19)は、元画像をA/D変換し、並べ替えバッファ102に供給して、処理は、ステップS112に進む。
 ステップS112において、並べ替えバッファ102は、A/D変換部101からの元画像を記憶し、符号化順に並べ替えて出力し、処理は、ステップS113に進む。
 ステップS113では、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行い、処理は、ステップS114に進む。ステップS114において、動き予測補償部115は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行い、処理は、ステップS115に進む。
 イントラ予測部114のイントラ予測処理、及び、動き予測補償部115のインター動き予測処理では、各種の予測モードのコスト関数が演算されるとともに、予測画像が生成される。
 ステップS115では、予測画像選択部116は、イントラ予測部114及び動き予測補償部115で得られる各コスト関数に基づいて、最適な予測モードを決定する。そして、予測画像選択部116は、イントラ予測部114により生成された予測画像と、動き予測補償部115により生成された予測画像のうちの最適な予測モードの予測画像を選択して出力し、処理は、ステップS115からステップS116に進む。
 ステップS116では、演算部103は、並べ替えバッファ102が出力する元画像である符号化対象の対象画像と、予測画像選択部116が出力する予測画像との残差を演算し、直交変換部104に供給して、処理は、ステップS117に進む。
 ステップS117では、直交変換部104は、演算部103からの残差を直交変換し、その結果得られる直交変換係数を、量子化部105に供給して、処理は、ステップS118に進む。
 ステップS118では、量子化部105は、直交変換部104からの直交変換係数を量子化し、その量子化により得られる量子化係数を、可逆符号化部106及び逆量子化部108に供給して、処理は、ステップS119に進む。
 ステップS119では、逆量子化部108は、量子化部105からの量子化係数を逆量子化し、その結果得られる直交変換係数を、逆直交変換部109に供給して、処理は、ステップS120に進む。ステップS120では、逆直交変換部109は、逆量子化部108からの直交変換係数を逆直交変換し、その結果得られる残差を、演算部110に供給して、処理は、ステップS121に進む。
 ステップS121では、演算部110は、逆直交変換部109からの残差と、予測画像選択部116が出力する予測画像とを加算し、演算部103での残差の演算の対象となった元画像に対応する復号画像を生成する。演算部110は、復号画像を、ILF111に供給し、処理は、ステップS121からステップS122に進む。
 ステップS122では、ILF111は、演算部110からの復号画像に、予測処理(クラス分類予測処理)としてのフィルタ処理を施し、そのフィルタ処理により得られるフィルタ画像を、フレームメモリ112に供給して、処理は、ステップS122からステップS123に進む。
 ステップS123では、フレームメモリ112は、ILF111から供給されるフィルタ画像を、元画像を復元した復元画像として記憶し、処理は、ステップS124に進む。フレームメモリ112に復元画像として記憶されたフィルタ画像は、ステップS113やS114で、予測画像を生成する元となる参照画像として使用される。
 ステップS124では、可逆符号化部106は、量子化部105からの量子化係数である符号化データを符号化し、その符号化データを含む符号化ビットストリームを生成する。さらに、可逆符号化部106は、量子化部105での量子化に用いられた量子化パラメータQPや、イントラ予測部114でのイントラ予測処理で得られた予測モード、動き予測補償部115でのインター動き予測処理で得られた予測モードや動き情報等の符号化情報を必要に応じて符号化し、符号化ビットストリームに含める。
 また、可逆符号化部106は、図23のステップS104で伝送対象に設定されたフィルタ情報を必要に応じて符号化し、符号化ビットストリームに含める。そして、可逆符号化部106は、符号化ビットストリームを、蓄積バッファ107に供給し、処理は、ステップS124からステップS125に進む。
 ステップS125において、蓄積バッファ107は、可逆符号化部106からの符号化ビットストリームを蓄積し、処理は、ステップS126に進む。蓄積バッファ107に蓄積された符号化ビットストリームは、適宜読み出されて伝送される。
 ステップS126では、レート制御部117は、蓄積バッファ107に蓄積されている符号化ビットストリームの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御し、符号化処理は終了する。
 図25は、図24のステップS122で行われるフィルタ処理の例を説明するフローチャートである。
 ステップS131において、ILF111の予測装置132(図22)は、演算部110から供給される復号画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素に選択し、処理は、ステップS132に進む。
 ステップS132において、予測装置132は、注目画素について、ステップS105(図23)でフィルタ情報記憶部171に記憶された最新のフィルタ情報に含まれる予測方法情報が表す採用予測方法に従ったタップ構造の予測タップとしての画素を、復号画像から選択し、処理は、ステップS133に進む。
 ステップS133では、予測装置132は、ステップS105でフィルタ情報記憶部171に記憶された最新のフィルタ情報に含まれる分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、処理は、ステップS134に進む。
 ステップS134では、予測装置132は、ステップS105でフィルタ情報記憶部171に記憶された最新のフィルタ情報に含まれる係数情報としてのクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得し、処理は、ステップS135に進む。
 ステップS135では、予測装置132は、注目画素についての予測タップと、注目画素のクラスのタップ係数とを用いて構成される、フィルタ情報記憶部171に記憶された予測方法情報が表す採用予測方法に従った予測式を、復号画像に適用するフィルタ処理を行い、すなわち、予測式の演算を行い、フィルタ画像を求める。
 その後、処理は、ステップS135からステップS136に進み、予測装置132は、演算部110からの復号画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS136において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS131に戻り、以下、同様の処理が繰り返される。
 また、ステップS136において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS137に進み、予測装置132は、演算部110からの復号画像(としてのブロック)に対して得られた画素値で構成されるフィルタ画像を、フレームメモリ112(図19)に供給する。そして、フィルタ処理は終了され、処理はリターンする。
 <復号装置30の構成例>
 図26は、図7の復号装置30の詳細な構成例を示すブロック図である。
 図26において、復号装置30は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ILF206、並べ替えバッファ207、及び、D/A変換部208を有する。また、復号装置30は、フレームメモリ210、選択部211、イントラ予測部212、動き予測補償部213、及び、選択部214を有する。
 蓄積バッファ201は、符号化装置20から伝送されてくる符号化ビットストリームを一時蓄積し、所定のタイミングにおいて、その符号化ビットストリームを、可逆復号部202に供給する。
 可逆復号部202は、蓄積バッファ201からの符号化ビットストリームを受信し、図19の可逆符号化部106の符号化方式に対応する方式で復号する。
 そして、可逆復号部202は、符号化ビットストリームの復号結果に含まれる符号化データとしての量子化係数を、逆量子化部203に供給する。
 また、可逆復号部202は、パースを行う機能を有する。可逆復号部202は、符号化ビットストリームの復号結果に含まれる必要な符号化情報やフィルタ情報をパースし、符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。さらに、可逆復号部202は、フィルタ情報を、ILF206に供給する。
 逆量子化部203は、可逆復号部202からの符号化データとしての量子化係数を、図19の量子化部105の量子化方式に対応する方式で逆量子化し、その逆量子化により得られる直交変換係数を、逆直交変換部204に供給する。
 逆直交変換部204は、逆量子化部203から供給される直交変換係数を、図19の直交変換部104の直交変換方式に対応する方式で逆直交変換し、その結果得られる残差を、演算部205に供給する。
 演算部205には、逆直交変換部204から残差が供給される他、選択部214を介して、イントラ予測部212又は動き予測補償部213から予測画像が供給される。
 演算部205は、逆直交変換部204からの残差と、選択部214からの予測画像とを加算し、復号画像を生成して、ILF206に供給する。
 ILF206は、図19のILF111と同様に、クラス分類予測処理によるフィルタ処理を行い、元画像を予測(復元)する。
 ILF206には、演算部205から復号画像が供給されるとともに、可逆復号部202からフィルタ情報が供給される。ILF206は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、ILF206は、復号画像の各画素に、フィルタ情報に含まれる係数情報としての採用タップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を出力する。
 ILF206が出力するフィルタ画像は、図19のILF111が出力するフィルタ画像と同様の画像であり、並べ替えバッファ207及びフレームメモリ210に供給される。
 並べ替えバッファ207は、ILF206から供給されるフィルタ画像を、元画像を復元した復元画像として一時記憶し、復元画像のフレーム(ピクチャ)の並びを、符号化(復号)順から表示順に並べ替え、D/A変換部208に供給する。
 D/A変換部208は、並べ替えバッファ207から供給される復元画像をD/A変換し、図示せぬディスプレイに出力して表示させる。
 フレームメモリ210は、ILF206から供給されるフィルタ画像を一時記憶する。さらに、フレームメモリ210は、所定のタイミングにおいて、又は、イントラ予測部212や動き予測補償部213等の外部の要求に基づいて、フィルタ画像を、予測画像の生成に用いる参照画像として、選択部211に供給する。
 選択部211は、フレームメモリ210から供給される参照画像の供給先を選択する。選択部211は、イントラ符号化された画像を復号する場合、フレームメモリ210から供給される参照画像をイントラ予測部212に供給する。また、選択部211は、インター符号化された画像を復号する場合、フレームメモリ210から供給される参照画像を動き予測補償部213に供給する。
 イントラ予測部212は、可逆復号部202から供給される符号化情報に含まれる予測モードに従い、図19のイントラ予測部114において用いられたイントラ予測モードで、フレームメモリ210から選択部211を介して供給される参照画像を用いてイントラ予測を行う。そして、イントラ予測部212は、イントラ予測により得られる予測画像を、選択部214に供給する。
 動き予測補償部213は、可逆復号部202から供給される符号化情報に含まれる予測モードに従い、図19の動き予測補償部115において用いられたインター予測モードで、フレームメモリ210から選択部211を介して供給される参照画像を用いてインター予測を行う。インター予測は、可逆復号部202から供給される符号化情報に含まれる動き情報等を必要に応じて用いて行われる。
 動き予測補償部213は、インター予測により得られる予測画像を、選択部214に供給する。
 選択部214は、イントラ予測部212から供給される予測画像、又は、動き予測補償部213から供給される予測画像を選択し、演算部205に供給する。
 なお、図26において、可逆復号部202が図7のパース部31に、逆量子化部203ないし演算部205が図7の復号部32に、ILF206が図7のフィルタ部33に、それぞれ相当する。
 <ILF206の構成例>
 図27は、図26のILF206の構成例を示すブロック図である。
 図27において、ILF206は、予測装置231を有する。
 予測装置231には、演算部205(図26)から復号画像が供給されるとともに、可逆復号部202からフィルタ情報が供給される。
 予測装置231は、可逆復号部202からのフィルタ情報を用いて、クラス分類予測処理としてのフィルタ処理を行い、元画像の予測値を画素値とするフィルタ画像を生成して、並べ替えバッファ207及びフレームメモリ210(図26)に供給する。
 すなわち、予測装置231は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、予測装置231は、復号画像の各画素に、フィルタ情報の係数情報に含まれる採用タップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を、並べ替えバッファ207及びフレームメモリ210に供給する。
 <予測装置231の構成例>
 図28は、図27の予測装置231の構成例を示すブロック図である。
 図28において、予測装置231は、フィルタ情報記憶部241、タップ選択部251、クラス分類部252、係数取得部253、及び、予測演算部254を有する。
 フィルタ情報記憶部241、及び、タップ選択部251ないし予測演算部254は、図22のフィルタ情報記憶部171、及び、タップ選択部181ないし予測演算部184とそれぞれ同様に構成され、予測装置231では、図22の予測装置132と同様の処理が行われるので、説明を省略する。
 <復号処理>
 図29は、図26の復号装置30の復号処理の例を説明するフローチャートである。
 復号処理では、ステップS201において、蓄積バッファ201は、符号化装置20から伝送されてくる符号化ビットストリームを一時蓄積し、適宜、可逆復号部202に供給して、処理は、ステップS202に進む。
 ステップS202では、可逆復号部202は、蓄積バッファ201から供給される符号化ビットストリームを受け取って復号し、符号化ビットストリームの復号結果に含まれる符号化データとしての量子化係数を、逆量子化部203に供給する。
 また、可逆復号部202は、符号化ビットストリームの復号結果に、フィルタ情報や符号化情報が含まれる場合には、そのフィルタ情報や符号化情報をパースする。そして、可逆復号部202は、必要な符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。また、可逆復号部202は、フィルタ情報を、ILF206に供給する。
 その後、処理は、ステップS202からステップS203に進み、ILF206は、可逆復号部202からフィルタ情報が供給されたかどうかを判定する。
 ステップS203において、フィルタ情報が供給されていないと判定された場合、処理は、ステップS204をスキップして、ステップS205に進む。
 また、ステップS203において、フィルタ情報が供給されたと判定された場合、処理は、ステップS204に進み、予測装置231(図28)が、可逆復号部202からのフィルタ情報を取得する。さらに、予測装置231は、可逆復号部202からのフィルタ情報によって、予測装置231のフィルタ情報記憶部241に記憶されているフィルタ情報を更新する。
 そして、処理は、ステップS204からステップS205に進み、予測復号処理が行われ、復号処理は終了する。
 図30は、図29のステップS205の予測復号処理の例を説明するフローチャートである。
 ステップS211において、逆量子化部203は、可逆復号部202からの量子化係数を逆量子化し、その結果得られる直交変換係数を、逆直交変換部204に供給して、処理は、ステップS212に進む。
 ステップS212では、逆直交変換部204は、逆量子化部203からの直交変換係数を逆直交変換し、その結果得られる残差を、演算部205に供給して、処理は、ステップS213に進む。
 ステップS213では、イントラ予測部212又は動き予測補償部213が、フレームメモリ210から選択部211を介して供給される参照画像、及び、可逆復号部202から供給される符号化情報を用いて、予測画像を生成するイントラ予測処理又はインター動き予測処理を行う。そして、イントラ予測部212又は動き予測補償部213は、イントラ予測処理又はインター動き予測処理により得られる予測画像を、選択部214に供給し、処理は、ステップS213からステップS214に進む。
 ステップS214では、選択部214は、イントラ予測部212又は動き予測補償部213から供給される予測画像を選択し、演算部205に供給して、処理は、ステップS215に進む。
 ステップS215では、演算部205は、逆直交変換部204からの残差と、選択部214からの予測画像を加算することにより、復号画像を生成する。そして、演算部205は、復号画像を、ILF206に供給して、処理は、ステップS215からステップS216に進む。
 ステップS216では、ILF206は、演算部205からの復号画像に、予測処理(クラス分類予測処理)としてのフィルタ処理を施し、そのフィルタ処理により得られるフィルタ画像を、並べ替えバッファ207及びフレームメモリ210に供給して、処理は、ステップS216からステップS217に進む。
 ステップS217では、並べ替えバッファ207は、ILF206から供給されるフィルタ画像を、復元画像として一時記憶する。さらに、並べ替えバッファ207は、記憶した復元画像を、表示順に並べ替えて、D/A変換部208に供給し、処理は、ステップS217からステップS218に進む。
 ステップS218では、D/A変換部208は、並べ替えバッファ207からの復元画像をD/A変換し、処理は、ステップS219に進む。D/A変換後の復元画像は、図示せぬディスプレイに出力されて表示される。
 ステップS219では、フレームメモリ210は、ILF206から供給されるフィルタ画像を、復元画像として記憶し、復号処理は終了する。フレームメモリ210に記憶された復元画像は、ステップS213のイントラ予測処理又はインター動き予測処理で、予測画像を生成する元となる参照画像として使用される。
 図31は、図30のステップS216で行われるフィルタ処理の例を説明するフローチャートである。
 ステップS231において、ILF206の予測装置231(図28)は、演算部205から供給される復号画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素に選択し、処理は、ステップS232に進む。
 ステップS232において、予測装置231は、注目画素について、ステップS204(図29)でフィルタ情報記憶部241に記憶された最新のフィルタ情報に含まれる予測方法情報が表す採用予測方法に従ったタップ構造の予測タップとしての画素を、復号画像から選択し、処理は、ステップS233に進む。
 ステップS233では、予測装置231は、ステップS204でフィルタ情報記憶部241に記憶された最新のフィルタ情報に含まれる分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、処理は、ステップS234に進む。
 ステップS234では、予測装置231は、ステップS204でフィルタ情報記憶部241に記憶された最新のフィルタ情報に含まれる係数情報としてのクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得し、処理は、ステップS235に進む。
 ステップS235では、予測装置231は、注目画素についての予測タップと、注目画素のクラスのタップ係数とを用いて構成される、フィルタ情報記憶部241に記憶された予測方法情報が表す採用予測方法に従った予測式を、復号画像に適用するフィルタ処理を行い、すなわち、予測式の演算を行い、フィルタ画像を求める。
 その後、処理は、ステップS235からステップS236に進み、予測装置231は、演算部205からの復号画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS236において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS231に戻り、以下、同様の処理が繰り返される。
 また、ステップS236において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS237に進み、予測装置231は、演算部205からの復号画像(としてのブロック)に対して得られた画素値で構成されるフィルタ画像を、並べ替えバッファ207及びフレームメモリ210(図26)に供給する。そして、フィルタ処理は終了され、処理はリターンする。
 <本技術を適用したコンピュータの説明>
 次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
 図32は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
 プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク305やROM303に予め記録しておくことができる。
 あるいはまた、プログラムは、リムーバブル記録媒体311に格納(記録)しておくことができる。このようなリムーバブル記録媒体311は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体311としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
 なお、プログラムは、上述したようなリムーバブル記録媒体311からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク305にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
 コンピュータは、CPU(Central Processing Unit)302を内蔵しており、CPU302には、バス301を介して、入出力インタフェース310が接続されている。
 CPU302は、入出力インタフェース310を介して、ユーザによって、入力部307が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)303に格納されているプログラムを実行する。あるいは、CPU302は、ハードディスク305に格納されたプログラムを、RAM(Random Access Memory)304にロードして実行する。
 これにより、CPU302は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU302は、その処理結果を、必要に応じて、例えば、入出力インタフェース310を介して、出力部306から出力、あるいは、通信部308から送信、さらには、ハードディスク305に記録等させる。
 なお、入力部307は、キーボードや、マウス、マイク等で構成される。また、出力部306は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
 ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
 また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
 さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 <本技術の適用対象>
 本技術は、任意の画像符号化・復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
 <処理単位>
 以上において説明した各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
 <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
 <ブロックサイズ情報>
 本技術を適用するブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
 <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 なお、本技術は、以下の構成をとることができる。
 <1>
 符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、
 前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部と
 を備える復号装置。
 <2>
 前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
 <1>に記載の復号装置。
 <3>
 前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
 <2>に記載の復号装置。
 <4>
 前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
 <2>又は<3>に記載の復号装置。
 <5>
 前記符号化ビットストリームに含まれる前記採用予測方法を表す予測方法情報をパースするパース部をさらに備え、
 前記フィルタ部は、前記パース部によりパースされた前記予測方法情報が表す前記採用予測方法の予測式を、前記復号画像に適用する
 <2>ないし<4>のいずれかに記載の復号装置。
 <6>
 前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
 <5>に記載の復号装置。
 <7>
 前記フィルタ部は、
  前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
  前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
 <1>ないし<6>のいずれかに記載の復号装置。
 <8>
 前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
 <7>に記載の復号装置。
 <9>
 前記符号化ビットストリームに含まれる、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報をパースするパース部をさらに備え、
 前記フィルタ部は、前記パース部によりパースされた前記分類方法情報が表す前記採用クラス分類方法で前記クラス分類を行う
 <8>に記載の復号装置。
 <10>
 前記復号部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記符号化データを復号する
 <1>ないし<9>のいずれかに記載の復号装置。
 <11>
 符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、
 前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することと
 を含む復号方法。
 <12>
 局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、
 前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部と
 を備える符号化装置。
 <13>
 前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
 <12>に記載の符号化装置。
 <14>
 前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
 <13>に記載の符号化装置。
 <15>
 前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
 <13>又は<14>に記載の符号化装置。
 <16>
 前記符号化部は、前記元画像を符号化することにより得られる符号化データと前記採用予測方法を表す予測方法情報とを含む符号化ビットストリームを生成する
 <13>ないし<15>のいずれかに記載の符号化装置。
 <17>
 前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
 <16>に記載の符号化装置。
 <18>
 前記フィルタ部は、
  前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
  前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
 <12>ないし<17>のいずれかに記載の符号化装置。
 <19>
 前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
 <18>に記載の符号化装置。
 <20>
 前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報と、を含む符号化ビットストリームを生成する
 <19>に記載の符号化装置。
 <21>
 前記符号化部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記元画像を符号化する
 <12>ないし<20>のいずれかに記載の符号化装置。
 <22>
 局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成することと、
 前記フィルタ画像を用いて、元画像を符号化することと
 を含む符号化方法。
 20 符号化装置, 21 符号化部, 22 局所復号部, 23 フィルタ部, 30 復号装置, 31 パース部, 32 復号部, 33 フィルタ部, 41 クラス分類部, 42 予測部, 43 選択部, 44 DB, 45 クラス分類部, 46 予測部, 51 クラス分類部, 52 予測部, 61 クラスタップ選択部, 62 分類部, 63 バッファ, 64 パラメータ取得部, 65 タップ係数取得部, 66 予測タップ選択部, 67 予測演算部, 71 クラスタップ選択部, 72 差分ADRC部, 73 テーブル記憶部, 74 分類閾値設定部, 75 差分ADRC部, 101 A/D変換部, 102 並べ替えバッファ, 103 演算部, 104 直交変換部, 105 量子化部, 106 可逆符号化部, 107 蓄積バッファ, 108 逆量子化部, 109 逆直交変換部, 110 演算部, 111 ILF, 112 フレームメモリ, 113 選択部, 114 イントラ予測部, 115 動き予測補償部, 116 予測画像選択部, 117 レート制御部, 131 学習装置, 132 予測装置, 141 選択部, 142 学習部, 143 選択部, 151 タップ選択部, 152 クラス分類部, 153 足し込み部, 154 係数算出部, 171 フィルタ情報記憶部, 181 タップ選択部, 182 クラス分類部, 183 係数取得部, 184 予測演算部, 201 蓄積バッファ, 202 可逆復号部, 203 逆量子化部, 204 逆直交変換部, 205 演算部, 206 ILF, 207 並べ替えバッファ, 208 D/A変換部, 210 フレームメモリ, 211 選択部, 212 イントラ予測部, 213 動き予測補償部, 214 選択部, 231 予測装置, 241 フィルタ情報記憶部, 251 タップ選択部, 252 クラス分類部, 253 係数取得部, 254 予測演算部, 301 バス, 302 CPU, 303 ROM, 304 RAM, 305 ハードディスク, 306 出力部, 307 入力部, 308 通信部, 309 ドライブ, 310 入出力インタフェース, 311 リムーバブル記録媒体

Claims (22)

  1.  符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、
     前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部と
     を備える復号装置。
  2.  前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
     請求項1に記載の復号装置。
  3.  前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
     請求項2に記載の復号装置。
  4.  前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
     請求項2に記載の復号装置。
  5.  前記符号化ビットストリームに含まれる前記採用予測方法を表す予測方法情報をパースするパース部をさらに備え、
     前記フィルタ部は、前記パース部によりパースされた前記予測方法情報が表す前記採用予測方法の予測式を、前記復号画像に適用する
     請求項2に記載の復号装置。
  6.  前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
     請求項5に記載の復号装置。
  7.  前記フィルタ部は、
      前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
      前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
     請求項1に記載の復号装置。
  8.  前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
     請求項7に記載の復号装置。
  9.  前記符号化ビットストリームに含まれる、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報をパースするパース部をさらに備え、
     前記フィルタ部は、前記パース部によりパースされた前記分類方法情報が表す前記採用クラス分類方法で前記クラス分類を行う
     請求項8に記載の復号装置。
  10.  前記復号部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記符号化データを復号する
     請求項1に記載の復号装置。
  11.  符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、
     前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することと
     を含む復号方法。
  12.  局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、
     前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部と
     を備える符号化装置。
  13.  前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
     請求項12に記載の符号化装置。
  14.  前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
     請求項13に記載の符号化装置。
  15.  前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
     請求項13に記載の符号化装置。
  16.  前記符号化部は、前記元画像を符号化することにより得られる符号化データと前記採用予測方法を表す予測方法情報とを含む符号化ビットストリームを生成する
     請求項13に記載の符号化装置。
  17.  前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
     請求項16に記載の符号化装置。
  18.  前記フィルタ部は、
      前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
      前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
     請求項12に記載の符号化装置。
  19.  前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
     請求項18に記載の符号化装置。
  20.  前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報と、を含む符号化ビットストリームを生成する
     請求項19に記載の符号化装置。
  21.  前記符号化部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記元画像を符号化する
     請求項12に記載の符号化装置。
  22.  局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成することと、
     前記フィルタ画像を用いて、元画像を符号化することと
     を含む符号化方法。
PCT/JP2018/045817 2017-12-27 2018-12-13 符号化装置、符号化方法、復号装置、及び、復号方法 WO2019131161A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019562969A JPWO2019131161A1 (ja) 2017-12-27 2018-12-13 符号化装置、符号化方法、復号装置、及び、復号方法
US16/956,553 US20210377523A1 (en) 2017-12-27 2018-12-13 Encoding device, encoding method, decoding device, and decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-251817 2017-12-27
JP2017251817 2017-12-27

Publications (1)

Publication Number Publication Date
WO2019131161A1 true WO2019131161A1 (ja) 2019-07-04

Family

ID=67067114

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/045817 WO2019131161A1 (ja) 2017-12-27 2018-12-13 符号化装置、符号化方法、復号装置、及び、復号方法

Country Status (3)

Country Link
US (1) US20210377523A1 (ja)
JP (1) JPWO2019131161A1 (ja)
WO (1) WO2019131161A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019065261A1 (ja) * 2017-09-27 2019-04-04 ソニー株式会社 符号化装置、符号化方法、復号装置、及び、復号方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017191749A1 (ja) * 2016-05-02 2017-11-09 ソニー株式会社 画像処理装置及び画像処理方法
WO2017191750A1 (ja) * 2016-05-02 2017-11-09 ソニー株式会社 符号化装置及び符号化方法、並びに、復号装置及び復号方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 7 (JEM 7", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3, August 2017 (2017-08-01), Torino, IT, pages 35 - 40 *

Also Published As

Publication number Publication date
JPWO2019131161A1 (ja) 2020-12-17
US20210377523A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
US11641476B2 (en) Constrained position dependent intra prediction combination (PDPC)
US11553182B2 (en) Method and device for encoding or decoding image
US11277615B2 (en) Intra-prediction method for reducing intra-prediction errors and device for same
US10602186B2 (en) Systems and methods for mask based processing of a block of a digital image
WO2018125944A1 (en) Improved video bitstream coding
JP5542680B2 (ja) 画像加工装置、方法及びプログラム、動画像符号化装置、方法及びプログラム、動画像復号装置、方法及びプログラム、並びに、符号化・復号システム及び方法
MXPA05012973A (es) Orden de explotacion de coeficiente adaptable.
JP2010251946A (ja) 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
KR20020030078A (ko) 데이터 처리 장치와 데이터 처리 방법, 및 기록 매체
WO2019107182A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
WO2019131161A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
WO2019220947A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
US20230269385A1 (en) Systems and methods for improving object tracking in compressed feature data in coding of multi-dimensional data
WO2019111720A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
US20210168407A1 (en) Encoding device, encoding method, decoding device, and decoding method
WO2019198519A1 (ja) データ処理装置及びデータ処理方法
WO2019208258A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
JP4517448B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
US20240064331A1 (en) Image decoding apparatus and method and image encoding apparatus and method
WO2023149367A1 (en) Systems and methods for improving object detection in compressed feature data in coding of multi-dimensional data
JP2001320587A (ja) データ処理装置およびデータ処理方法、並びに記録媒体
WO2020008910A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
US20200329232A1 (en) Method and device for encoding or decoding video signal by using correlation of respective frequency components in original block and prediction block
JP2001320711A (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: 18894914

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019562969

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18894914

Country of ref document: EP

Kind code of ref document: A1