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

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

Info

Publication number
WO2019065261A1
WO2019065261A1 PCT/JP2018/033918 JP2018033918W WO2019065261A1 WO 2019065261 A1 WO2019065261 A1 WO 2019065261A1 JP 2018033918 W JP2018033918 W JP 2018033918W WO 2019065261 A1 WO2019065261 A1 WO 2019065261A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
pixel
class
interest
Prior art date
Application number
PCT/JP2018/033918
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 CN201880061450.8A priority Critical patent/CN111133757B/zh
Priority to US16/649,186 priority patent/US11423578B2/en
Publication of WO2019065261A1 publication Critical patent/WO2019065261A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • G06V10/473Contour-based spatial representations, e.g. vector-coding using gradient analysis

Definitions

  • the present technology relates to an encoding device, an encoding method, a decoding device, and a decoding method, and in particular, for example, an encoding device, an encoding method, a decoding device, and the like, which can improve the encoding efficiency of an image. And, it relates to the decoding method.
  • ILF In Loop Filter
  • HEVC High Efficiency Video Coding
  • DF Deblocking Filter
  • ALF Adaptive Loop Filter
  • ALF is described in Patent Document 1 and SAO is described in Patent Document 2.
  • Patent No. 5485983 Japanese Patent Publication No. 2014-523183 gazette
  • the present technology has been made in view of such a situation, and is to be able to improve the coding efficiency.
  • the decoding device is determined by learning that minimizes an error using a decoded in-progress image obtained by adding a residual of predictive coding and a predicted image, and an original image corresponding to the in-process decoded image.
  • the target pixel by using any one of a plurality of classes using a decoding unit that decodes the tap coefficient for each class, and a slope feature amount that indicates the tangent direction of the contour of the pixel value of the target pixel of the intermediate image
  • a decoding apparatus minimizes an error using a decoded in-progress image obtained by adding a residual of predictive coding and a predicted image and an original image corresponding to the in-process decoded image.
  • the target pixel is decoded out of the plurality of classes using decoding of the tap coefficient for each class obtained by learning, and using an inclination feature amount representing the tangent direction of the contour line of the pixel value of the target pixel in the decoded intermediate image.
  • the error using the in-process image obtained by adding the residual of the predictive coding and the predicted image and the original image corresponding to the in-process image is minimized.
  • Tap coefficients for each class obtained by learning are decoded.
  • class classification is performed to classify the target pixel into any one of a plurality of classes using an inclination feature amount representing a tangent direction of a contour line of the pixel value of the target pixel of the decoding intermediate image.
  • the filter operation with the image during decoding is performed using the tap coefficient of the class of the target pixel among the tap coefficients of the classes.
  • the coding apparatus uses the inclined feature amount that represents the tangent direction of the contour line of the pixel value of the pixel of interest in the in-process image obtained by adding the residual of predictive coding and the predicted image.
  • a class classification unit that classifies pixels into any one of a plurality of classes, learning that minimizes errors using the intermediate decoding image and the original image corresponding to the intermediate decoding image
  • An encoding apparatus comprising:
  • the encoding method is a slope feature amount that represents the tangent direction of the contour line of the pixel value of the pixel of interest in the in-process image obtained by the encoding device adding the residual of predictive encoding and the predictive image.
  • a slope feature amount representing the tangent direction of the contour line of the pixel value of the target pixel of the image in the middle of decoding obtained by adding the residual of predictive coding and the predictive image Class classification is performed to classify the pixel of interest into any one of a plurality of classes, and an error using the image in the middle of decoding and the original image corresponding to the image in the middle of decoding is minimized.
  • the filter operation with the image during decoding is performed using the tap coefficient of the class of the target pixel. Also, the tap coefficients are encoded.
  • 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.
  • FIG. 1 is a diagram illustrating a configuration example of an embodiment of an image processing system to which the present technology is applied. It is a block diagram showing an example of composition of ALF processing part 20 which performs ALF processing which filters among ALF.
  • FIG. 6 is a block diagram showing a configuration example of a learning unit 50 that performs learning of tap coefficients stored in a coefficient acquisition unit 23.
  • FIG. 2 is a block diagram showing a configuration example of an image coding device 100. It is a block diagram which shows the structural example of ALF110.
  • FIG. 6 is a block diagram showing an example of the configuration of a learning unit 132.
  • FIG. It is a figure explaining the class block used for calculating
  • FIG. It is a figure which shows the example of the pixel value of the pixel which comprises a class block. It is a figure explaining the example of the calculation method of TV norm as a feature-value of an attention pixel. It is a figure which shows the example of the frequency characteristic of an image. It is a figure explaining the example of the calculation method of the maximum difference absolute value as a feature-value of an attention pixel. It is a figure explaining the outline
  • FIG. 16 is a block diagram showing an example configuration of a class classification unit 162. It is a block diagram showing an example of composition of ALF treating part 133.
  • FIG. 18 is a block diagram showing an example configuration of a class classification unit 182.
  • 5 is a flowchart illustrating an example of encoding processing of the image encoding device 100. It is a flowchart explaining the example of ALF processing.
  • FIG. 16 is a block diagram showing an example of configuration of an image decoding device 200. It is a block diagram which shows the structural example of ALF207. It is a block diagram showing an example of composition of ALF treating part 231. ALF.
  • FIG. 18 is a block diagram illustrating an example configuration of a class classification unit 242.
  • FIG. 20 is a flowchart for describing an example of decoding processing of the image decoding device 200.
  • FIG. It is a flowchart explaining the example of ALF processing.
  • It is a figure explaining the coding method which codes the tap coefficient for every class efficiently, when the class classification using a slope feature-value is performed.
  • It is a figure explaining change of the tap structure according to a class.
  • It which further illustrates the change of the tap structure according to a class.
  • It is a figure explaining an example of generation of a classification parameter.
  • It is a block diagram showing the example of composition of the hardware of a computer. It is a block diagram showing an example of a schematic structure of a television set.
  • FIG. 1 is a block diagram showing an example of a schematic configuration of a network system.
  • FIG. 1 is a diagram showing a configuration example of an embodiment of an image processing system to which the present technology is applied.
  • the image processing system includes an image encoding device 100 and an image decoding device 200.
  • the original image to be encoded is supplied to the image encoding device 100.
  • the image coding apparatus 100 codes an original image by predictive coding such as HEVC or AVC (Advanced Video Coding), for example.
  • predictive coding such as HEVC or AVC (Advanced Video Coding), for example.
  • a predicted image of the original image is generated, and the residual between the original image and the predicted image is encoded.
  • the ALF process is performed on the in-process decoded image obtained by adding the residual of the predictive coding and the predicted image, thereby performing prediction of the predicted image.
  • a reference image to be used is generated.
  • an image obtained by applying a filtering process (filtering) as the ALF process to the image during decoding is also referred to as a filtered image.
  • the image coding apparatus 100 performs, as necessary, learning etc. using the decoding midway image and the original image corresponding to the midway decoding, so that the filtered image can be as original as possible.
  • Information on filter processing as ALF processing that is close to an image can be obtained as filter information.
  • the ALF process of the image coding apparatus 100 can be performed using filter information obtained by learning.
  • learning for obtaining filter information is performed for each of one or more sequences of an original image, or for each of one or more scenes of an original image (frames from a scene change to the next scene change), and 1 for an original image.
  • it can be performed in a plurality of frames (pictures), in one or more slices of the original image, in one or more lines of blocks of a unit of picture encoding, or in any other unit.
  • learning for obtaining filter information can be performed, for example, when the residual or RD cost becomes equal to or greater than a threshold.
  • the image coding apparatus 100 transmits coded data obtained by predictive coding of an original image through the transmission medium 11 or transmits the coded data to the recording medium 12 for recording.
  • the image coding apparatus 100 can transmit filter information obtained by learning through the transmission medium 11 or transmit the filter information to the recording medium 12 for recording.
  • the learning for obtaining the filter information can be performed by a device different from the image coding device 100.
  • the filter information can be transmitted separately from the encoded data, or can be included in the encoded data and transmitted.
  • learning for obtaining filter information is performed using the original image itself (and an intermediate decoded image obtained from the original image), and is performed using an image different from the original image in which the image feature amount is similar to the original image. be able to.
  • the image decoding apparatus 200 receives (acquires) (acquires) encoded data and necessary filter information transmitted from the image encoding apparatus 100 via the transmission medium 11 or the recording medium 12, and generates the encoded data Decoding is performed in a method corresponding to the predictive coding of the image coding apparatus 100.
  • the image decoding apparatus 200 obtains the residual of predictive coding by processing the coded data from the image coding apparatus 100. Furthermore, the image decoding apparatus 200 adds the residual and the predicted image to obtain an intermediate decoding image similar to that obtained by the image coding apparatus 100. Then, the image decoding apparatus 200 performs filter processing as ALF processing using filter information from the image coding apparatus 100 as necessary on the image during decoding to obtain a filtered image.
  • the filtered image is output as a decoded image of the original image, and is temporarily stored as a reference image used for prediction of a predicted image as necessary.
  • FIG. 2 is a block diagram showing a configuration example of the ALF processing unit 20 for performing ALF processing for filtering an image among ALFs.
  • a filter operation with the first image is performed using tap coefficients for each class obtained by learning that minimizes an error using the first image and the second image.
  • (The predicted value of) the second image is obtained.
  • the ALF processing unit 20 includes a tap selection unit 21, a class classification unit 22, a coefficient acquisition unit 23, and a filter operation unit 24.
  • the first image is supplied to the ALF processing unit 20.
  • the first image supplied to the ALF processing unit 20 is supplied to the tap selection unit 21 and the class classification unit 22.
  • the tap selection unit 21 sequentially selects pixels constituting the first image as a pixel of interest. Furthermore, the tap selection unit 21 predicts some of (pixel values of) pixels constituting the first image used to predict (pixel values of) corresponding pixels of the second image corresponding to the target pixel. Select as a tap.
  • the tap selection unit 21 performs prediction by selecting, as prediction taps, a plurality of pixels of the first image located at a position (or temporally) close to the position of the target pixel in space and time.
  • the taps are configured and supplied to the filter operation unit 24.
  • the class classification unit 22 classifies the pixel of interest into one of several classes according to a certain rule, and obtains (class code representing) a class of the pixel of interest obtained as a result of the classification.
  • the information is supplied to the acquisition unit 23.
  • the class classification unit 22 sets, for example, the peripheral region of the pixel of interest as a class block used for classification of the pixel of interest, and classifies the pixel of interest using pixels of (inside) the class block.
  • the class classification unit 22 uses a class block to obtain the feature amount of the pixel of interest. Further, the class classification unit 22 classifies the pixel of interest using the feature amount of the pixel of interest and obtains the class of the pixel of interest.
  • the coefficient acquisition unit 23 stores the tap coefficient for each class obtained by learning described later, and further acquires the tap coefficient of the class of the target pixel supplied from the class classification unit 22 from the stored tap coefficient. Then, the coefficient acquisition unit 23 supplies the tap coefficient of the class of the pixel of interest to the filter operation unit 24.
  • the tap coefficient corresponds to a coefficient to be multiplied with input data in a so-called tap in the digital filter.
  • the input data to be multiplied by the tap coefficient is a prediction tap.
  • the arrangement of pixels constituting the prediction tap of the target pixel (the positional relationship between the target pixel and the pixels constituting the prediction tap) is also referred to as a tap structure.
  • the tap structure can also be said to be an arrangement of tap coefficients, considering a state in which a tap coefficient to be multiplied with the pixel is arranged at the position of the pixel constituting the prediction tap. Therefore, with the tap structure, the arrangement of pixels constituting the prediction tap of the pixel of interest, and the arrangement of tap coefficients in a state in which tap coefficients to be multiplied with the pixel are arranged at the positions of the pixels constituting the prediction tap We will mean both.
  • the filter operation unit 24 performs the filter operation with the first image using the tap coefficient of the class of the pixel of interest supplied from the coefficient acquisition unit 23, and the pixel of the second image corresponding to the pixel of interest (corresponding pixel The predicted value of the pixel value of) is obtained.
  • the filter operation unit 24 performs a filter operation which is a predetermined operation using the prediction tap of the pixel of interest output from the tap selection unit 21 and the tap coefficient of the class of pixel of interest from the coefficient acquisition unit 23.
  • the predicted value of the pixel value of the corresponding pixel of the second image corresponding to the target pixel is obtained and output.
  • FIG. 3 is a block diagram showing a configuration example of the learning unit 50 that performs learning of tap coefficients stored in the coefficient acquisition unit 23. As shown in FIG.
  • the original image to be encoded is set as a second image, and predictive encoding of the original image is performed, and decoding obtained by adding the residual of the predictive encoding and the predictive image
  • An intermediate image is selected as a first image, and a prediction tap is selected from the first image, and the pixel value (predicted value) of the pixel of the original image which is the second image is selected using the prediction tap and the tap coefficient, It is determined by a predetermined filter operation.
  • the pixel value y of the corresponding pixel of the second image (original image) corresponding to the target pixel of the first image is the following linear first-order It is obtained by the formula.
  • x n is the n-th constituting a prediction tap of the pixel of interest
  • pixels of the first image (hereinafter referred to as a first pixel) represents the pixel values of
  • w n is , Represents the nth tap coefficient to be multiplied by (the pixel value of) the nth first pixel forming the prediction tap.
  • the prediction tap is configured by (the pixel values of) N first pixels x 1 , x 2 ,..., X N.
  • the pixel value y of the corresponding pixel may be determined not by the linear linear expression shown in the equation (1) but by a second or higher order equation.
  • x n, k represents the n-th 1st pixel which comprises the prediction tap (of an attention pixel) with respect to the corresponding pixel of the k-th sample.
  • a tap coefficient w n for which the prediction error e k in equation (3) (or equation (2)) is 0 is optimal for predicting corresponding pixels, but such taps for all corresponding pixels Determining the coefficient w n is generally difficult.
  • the optimum tap coefficient w n is the sum E of square errors represented by the following equation It can be determined by minimizing statistical error).
  • K is the corresponding pixel y k as the corresponding pixel
  • Equation (5) The minimum value of the sum E of square errors of Equation (4) (minimum value), as shown in Equation (5), given that by partially differentiating the sum E with the tap coefficient w n by w n to 0.
  • Equation (8) To e k of the formula (7), by substituting equation (3), equation (7) can be represented by normal equations shown in Equation (8).
  • Equation (8) can be solved for the tap coefficient w n by using, for example, a sweep method (Gauss-Jordan elimination method) or the like.
  • FIG. 3 is a block diagram showing a configuration example of a learning unit 50 that performs learning for obtaining a tap coefficient w n by setting and solving the normal equation of Equation (8).
  • the learning unit 50 a teacher image as a teacher learning of the tap coefficient w n (true value), and, using the student image as a student learning the tap coefficient w n (the input of filter operation), the tap coefficient w n Tap coefficient learning is performed, which is learning to obtain.
  • the teacher image which becomes a teacher (true value) of learning of the tap coefficient w n is an image for which a predicted value is obtained by the filter operation of Equation (1), and as the teacher image, the second image (or the second image) An image (an image having the same feature as that of the second image)) is used. Also, to become the student image student learning of the tap coefficient w n, is subject to image filter operation of the tap coefficient w n of the formula (1), as a student image, a first image (or the An image (an image having the same feature amount as the first image)) corresponding to one image is used.
  • tap coefficient learning pixels constituting a student image are sequentially taken as a pixel of interest, and for the pixel of interest, a pixel having the same tap structure as selected by the tap selection unit 21 in FIG. select. Furthermore, in tap coefficient learning, a class is obtained by solving the normal equation of equation (8) for each class using corresponding pixels that constitute a teacher image corresponding to a target pixel and prediction taps for the target pixel. Each tap coefficient w n is obtained.
  • the learning unit 50 includes a tap selection unit 51, a class classification unit 52, an insertion unit 53, and a coefficient calculation unit 54.
  • the learning unit 50 is supplied with a first image as a student image and a second image as a teacher image.
  • the student image is supplied to the tap selection unit 51 and the class classification unit 52, and the teacher image is supplied to the adding unit 53.
  • the tap selection unit 51 sequentially selects the pixels forming the student image as the target pixel, and supplies information representing the target pixel to the necessary blocks.
  • the tap selection unit 51 selects, for the pixel of interest, the same pixel as that selected by the tap selection unit 21 in FIG. 2 from among the pixels constituting the student image as the prediction tap.
  • the prediction tap having the same tap structure as obtained is obtained and supplied to the adding unit 53.
  • the class classification unit 52 classifies, using the student image, the same class classification as that of the class classification unit 22 in FIG. 2 for the pixel of interest, and outputs the class of the pixel of interest obtained as a result to the adding unit 53.
  • the class classification unit 52 sets the peripheral region of the pixel of interest as a class block used for classification of the pixel of interest, as in the class classification unit 22 of FIG. Classify the pixels.
  • the class classification unit 52 uses the class block to obtain the feature amount of the pixel of interest. Further, the class classification unit 22 classifies the pixel of interest using the feature amount of the pixel of interest and obtains the class of the pixel of interest.
  • the adding-in unit 53 acquires (the pixel value of) the corresponding pixel corresponding to the target pixel from the pixels constituting the teacher image, and forms a prediction tap of the corresponding pixel and the target pixel supplied from the tap selection unit 51.
  • the addition for the (pixel value of) the pixel of the student image is performed for each class supplied from the class classification unit 52.
  • the adding unit 53 is supplied with the corresponding pixel y k of the teacher image, the prediction tap x n, k of the target pixel as the student image, and the class of the target pixel.
  • the adding unit 53 multiplies the (pixel values of) pixels as prediction taps in the matrix on the left side of Expression (8) using prediction taps (student image) x n, k for each class of the target pixel. An operation corresponding to n, k x n ', k ) and summarization ( ⁇ ) is performed.
  • the adding-in unit 53 uses the prediction tap (student image) x n, k and the corresponding pixel y k for each class of the pixel of interest again, and uses the pixel x as the prediction tap in the vector on the right side of Equation (8).
  • the multiplication (x n, k y k ) of n, k and (the pixel value of) the corresponding pixel y k , and the operation corresponding to the summarization ( ⁇ ) are performed.
  • the adder 53 the last, of the teacher image, the components of the matrix on the left in the determined for the corresponding pixel y k corresponding to the pixel of interest Equation (8) ( ⁇ x n, k x n ', k),
  • the component ( ⁇ x n, k y k ) of the vector on the right side is stored in its built-in memory (not shown), and the component ( ⁇ x n , k x n ', k ) of the matrix or the component (
  • the pixel y k + 1 and the pixel x n, k + as a prediction tap Add the corresponding components x n, k + 1 x n ', k + 1 or x n, k + 1 y k + 1 calculated using 1 (represented by the summarization
  • the adding-in unit 53 performs the above-described addition, for example, with all the pixels of the student image as the pixel of interest, thereby formulating the normal equation shown in the equation (8) for each class. , To the coefficient calculation unit 54.
  • the coefficient calculation unit 54 solves the normal equation for each class supplied from the adding unit 53 to obtain and output an optimal tap coefficient w n for each class.
  • FIG. 4 is a block diagram showing a configuration example of the image coding apparatus 100 of FIG.
  • the image coding apparatus 100 includes an arithmetic unit 101, an orthogonal transformation unit 102, a quantization unit 103, a lossless encoding unit 104, an inverse quantization unit 105, an inverse orthogonal transformation unit 106, an arithmetic unit 107, DF108, and SAO109. , ALF 110, a DPB (Decoded Picture Buffer) 111, and a prediction unit 112.
  • ALF 110 ALF 110
  • DPB Decoded Picture Buffer
  • An original image to be subjected to predictive coding is supplied to the image coding apparatus 100.
  • the original image is supplied to the calculation unit 101, the ALF 110, and the prediction unit 112.
  • the arithmetic operation unit 101 subtracts the predicted image supplied from the prediction unit 112 from the original image, and supplies the residual (prediction residual) obtained by the subtraction to the orthogonal transformation unit 102.
  • the orthogonal transformation unit 102 performs orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation on the residual supplied from the arithmetic unit 101. In addition, the method of this orthogonal transformation is arbitrary.
  • the orthogonal transform unit 102 supplies transform coefficients obtained by orthogonal exchange to the quantization unit 103.
  • the quantization unit 103 quantizes the transform coefficient supplied from the orthogonal transform unit 102. In addition, the method of this quantization is arbitrary.
  • the quantization unit 103 supplies the quantized transform coefficient to the lossless encoding unit 104.
  • the lossless encoding unit 104 encodes (entropy encodes) the transform coefficient quantized in the quantization unit 103 according to a predetermined lossless encoding method, and generates encoded data.
  • the lossless encoding unit 104 acquires, from the ALF 110, filter information on the ALF process performed in the ALF 110.
  • the filter information includes tap coefficients for each class and classification parameters to be described later which are used for classification.
  • the lossless encoding unit 104 obtains necessary encoding information of the encoding information related to predictive encoding in the image encoding apparatus 100 from each block.
  • coding information for example, there are prediction modes of intra prediction and inter prediction, information on motion such as motion vector, quantization parameter QP, information of picture type (I, P, B) and the like.
  • the lossless encoding unit 104 encodes the encoding information and the filter information according to a predetermined lossless encoding method, and multiplexes the encoding information and the filter information on part of header information of encoded data. Therefore, the lossless encoding unit 104 functions as an encoding unit that encodes the filter information (the tap coefficient and the class classification parameter included in the filter information).
  • the lossless encoding unit 104 transmits the encoded data obtained as described above. Therefore, the lossless encoding unit 104 also functions as a transmission unit that transmits the encoded data, and further, the filter information included in the encoded data.
  • variable length coding for example, H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the transform coefficient quantized in the quantization unit 103 is supplied to the lossless encoding unit 104 and also to the inverse quantization unit 105.
  • the inverse quantization unit 105 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 103.
  • the inverse quantization method may be any method as long as it corresponds to the quantization processing by the quantization unit 103.
  • the inverse quantization unit 105 supplies the transform coefficient obtained by the inverse quantization to the inverse orthogonal transform unit 106.
  • the inverse orthogonal transform unit 106 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 105 by a method corresponding to orthogonal transform processing by the orthogonal transform unit 102.
  • the inverse orthogonal transform method may be any method as long as it corresponds to the orthogonal transform process by the orthogonal transform unit 102.
  • the residual is obtained by the inverse orthogonal transformation of the transform coefficient in the inverse orthogonal transformation unit 106, and the residual is supplied to the calculation unit 107.
  • the operation unit 107 adds the prediction image supplied from the prediction unit 112 to the residual that is the result of inverse orthogonal transformation supplied from the inverse orthogonal transformation unit 106, and the addition result is used as a decoding halfway image during decoding Output.
  • the image in the middle of decoding output by the calculation unit 107 is supplied to the DF 108.
  • the DF 108 performs filter processing of the DF on the image in the middle of decoding from the arithmetic unit 107, and supplies the image in the middle of the filter after the filter processing to the SAO 109.
  • the SAO 109 performs SAO filter processing on the in-process decoded image from the DF 108, and supplies the in-process decoded image to the ALF 110.
  • the ALF 110 performs an ALF filter process, ie, an ALF process, on the in-process decoded image from the SAO 109, and supplies a filtered image obtained by the ALF process to the DPB 111.
  • an ALF filter process ie, an ALF process
  • the ALF 110 uses the decoding intermediate image from the SAO 109 as a student image and uses the original image as a teacher image, performs tap coefficient learning, and obtains a tap coefficient for each class.
  • the tap coefficients for each class are supplied from the ALF 110 to the lossless encoding unit 104 as filter information.
  • the ALF 110 performs the decoding in-progress image as the first image by using the ALF process using the tap coefficient for each class, using the in-progress image from the SAO 109 as the first image. 2) converted to a filtered image as a predicted value of the image (2), that is, an image close to the original image (ideally, an image that matches the original image) (a filtered image is generated and output).
  • the filtered image output by the ALF 110 is supplied to the DPB 111.
  • the DPB 111 temporarily stores the filtered image supplied from the ALF 110 as a locally decoded decoded image.
  • the decoded image stored in the DPB 111 is read at a necessary timing, and is supplied to the prediction unit 112 as a reference image used to generate a predicted image.
  • the prediction unit 112 performs intra prediction (in-screen prediction) and inter prediction, for example, using PU (Prediction Unit) as a processing unit, using the original image and the reference image supplied from the DPB 111, to predict the original image. Generate an image.
  • PU Prediction Unit
  • the prediction unit 112 selects an optimal prediction mode from the prediction modes of intra prediction and inter prediction in which the predicted image is generated based on a predetermined cost function (for example, RD (Rate-Distortion) cost).
  • RD Raster-Distortion
  • the DF 108 and the SAO 109 are provided in the image coding apparatus 100 in accordance with HEVC, but the image coding apparatus 100 may be configured without providing one or both of the DF 108 and the SAO 109. it can.
  • the image in the middle of decoding output by the calculation unit 107 is supplied to the ALF 110 after being subjected to SAO filter processing by the SAO 109. Further, when the image coding apparatus 100 is configured without the SAO 109, the image in the middle of decoding output by the calculation unit 107 is supplied to the ALF 110 after being subjected to the filtering process of the DF by the DF. Furthermore, when the image coding apparatus 100 is configured without providing the DF 108 and the SAO 109, the image during decoding itself output by the calculation unit 107 is supplied to the ALF 110.
  • filters other than the DF 108 and the SAO 109 can be provided before or after the ALF 110.
  • the prediction unit 112 does not perform inter prediction but performs only intra prediction.
  • FIG. 5 is a block diagram showing a configuration example of the ALF 110 of FIG.
  • the ALF 110 includes a classification parameter generation unit 131, a learning unit 132, and an ALF processing unit 133.
  • the class classification parameter generation unit 131 is supplied with the original image as a teacher image.
  • the classification parameter generation unit 131 generates and outputs classification parameters used for classification performed by the learning unit 132 and the ALF processing unit 133 using an original image as a teacher image.
  • the classification parameter output from the classification parameter generation unit 131 is supplied to the learning unit 132 and the ALF processing unit 133.
  • the classification parameter output from the classification parameter generation unit 131 is included in the filter information together with the tap coefficient output by the learning unit 132, and is supplied to the lossless encoding unit 104 (FIG. 4).
  • the classification parameter generation unit 131 generates a classification parameter using an original image as a teacher image, but the classification parameter is replaced with the original image, as indicated by a dotted line in the drawing. , It is possible to generate using an image during decoding as a student image.
  • the learning unit 132 is also supplied with the original image, and the decoding-in-progress image from the SAO 109 (FIG. 4).
  • the learning unit 132 uses the decoding intermediate image as a student image and uses the original image as a teacher image to perform tap coefficient learning, and outputs tap coefficients for each class obtained by the tap coefficient learning. As described above, the tap coefficient output from the learning unit 132 is included in the filter information and is supplied to the lossless encoding unit 104 and the ALF processing unit 133.
  • classification of tap coefficient learning is performed using the classification parameter supplied from the classification parameter generation unit 131.
  • the ALF processing unit 133 is supplied with the class classification parameter from the class classification parameter generation unit 131 and is supplied with the tap coefficient for each class from the learning unit 132 and is also supplied with the image during the decoding from the SAO 109 (FIG. 4). Ru.
  • the ALF processing unit 133 performs ALF processing using tap coefficients for each class from the learning unit 132 on the first image with the decoding middle image as the first image. Is converted into a filtered image as a predicted value of a second image which is an original image (a filtered image is generated), and is supplied to the DPB 111 (FIG. 4).
  • the ALF processing unit 133 performs class classification using the class classification parameters supplied from the class classification parameter generation unit 131, as in the learning unit 132.
  • the learning unit 132 tap coefficient learning is appropriately performed, and tap coefficients for each class are updated. Then, the updated tap coefficient for each class is supplied to the ALF processing unit 133, included in the filter information, and transmitted from the image encoding device 100 to the image decoding device 200.
  • an update unit for updating the tap coefficient for example, an arbitrary sequence such as a plurality of pictures (frames), one picture, CU and other blocks is adopted, and the tap coefficient is a timing at which the update unit is a minimum unit. Can be updated.
  • FIG. 6 is a block diagram showing a configuration example of the learning unit 132 of FIG.
  • the learning unit 132 includes a tap selection unit 161, a class classification unit 162, an addition unit 163, and a coefficient calculation unit 164.
  • the tap selection unit 161 to the coefficient calculation unit 164 perform the same processes as the tap selection unit 51 to the coefficient calculation unit 54 that constitute the learning unit 50 in FIG. 3.
  • the class classification unit 162 obtains the feature quantity of the pixel of interest using the pixels of the class block that is the peripheral area of the pixel of interest as in the class classification unit 52 of FIG. Class classification of pixels is performed. In order to obtain the feature quantity of the pixel of interest, a feature quantity that contributes to improvement of the coding efficiency of the coding of the original image is obtained.
  • the class classification unit 162 for example, averages or disperses the pixel values (for example, luminance) of the pixels of the class block of the pixel of interest, the inclination feature amount representing the tangent direction of the contour line of the pixel value of the object of interest
  • the reliability of the amount, the TV (Total variation) norm, the maximum difference absolute value, and the like are obtained as feature amounts of the pixel of interest.
  • the tilt feature amount, the reliability of the tilt feature amount, the TV norm, and the details of the maximum difference absolute value will be described later.
  • the class classification unit 162 classifies the pixel of interest using the class classification parameter from the class classification parameter generation unit 131 and using the feature quantity of the pixel of interest (according to the feature quantity), and obtains the result
  • the class of the target pixel to be read is supplied to the adding unit 163.
  • the pixel of interest is determined depending on whether the feature amount of the pixel of interest satisfies a predetermined expression defined by the class classification parameter, that is, for example, an expression with the class classification parameter as a threshold. , A class corresponding to satisfying a predetermined expression, or a class corresponding to not satisfying a predetermined expression.
  • the feature amount of the pixel of interest is input to a linear classifier defined by the classification parameter, and the pixel of interest is linearly classified according to the output of the linear classifier.
  • the class of the target pixel obtained by the class classification unit 162 can be supplied to the tap selection unit 161 in addition to the addition unit 163.
  • the tap selection unit 161 can change the tap structure of the prediction tap according to the class of the pixel of interest from the class classification unit 162.
  • a tap structure different depending on the class of the pixel of interest can be adopted.
  • a tap structure different depending on the class of the pixel of interest.
  • a square tap structure of 9 pixels in total of 3 ⁇ 3 pixels in width ⁇ height around the pixel of interest can be adopted.
  • the above-described nine-pixel cross-shaped tap structure and the nine-pixel square-shaped tap structure have the same number of pixels constituting the prediction tap (the same applies to the number of tap coefficients multiplied by the prediction tap). Although there are different tap structures, the tap structures include different numbers of pixels constituting the prediction tap.
  • the tap structure of the prediction tap is changed according to the class, that is, when the tap structure of the prediction tap is different for each class, the tap used for the filter operation with (the pixel value of) the pixel as the prediction tap
  • the tap structure of coefficients also differs depending on the class.
  • coding information on predictive coding of the pixel of interest that is, for example, QP (quantization parameter) or CBF (Coded Block Flag) of the pixel of interest It can be used to perform classification.
  • tap coefficient learning is performed using, for example, the decoding midway image and the original image of the update unit as a student image and a teacher image.
  • FIG. 7 is a diagram for explaining a class block used to obtain the feature amount of the pixel of interest used in the class classification performed by the class classification unit 162 (as a result, the ALF 110) in FIG.
  • a block (local region) configured of pixels around the pixel of interest including the pixel of interest in the image during decoding may be adopted.
  • a predetermined block such as CU or PU including the pixel of interest can be adopted.
  • the same class block is adopted for the pixels constituting a predetermined block such as CU and PU, so the class is also the same.
  • FIG. 8 is a diagram showing an example of pixel values of pixels constituting a class block.
  • the left to right direction of an image such as an image in the middle of decoding is taken as the x direction (x axis), and the downward direction from above is taken as the y direction (y axis).
  • I (x, y) represents the pixel value of the pixel at the position of the coordinate (x, y)
  • the class classification unit 162 uses the pixels of the class block of the pixel of interest, for example, the average value or the variance of the pixel values of the pixels of the class block, the inclination feature representing the tangent direction of the contour of the pixel value of the pixel of interest, The reliability of the feature amount, the TV norm, the maximum difference absolute value, and the like are obtained as the feature amount of the pixel of interest.
  • FIG. 9 is a diagram for explaining an example of a method of calculating the TV norm as the feature amount of the pixel of interest.
  • FIG. 9 shows an example of pixel values of pixels constituting a class block, as in FIG.
  • the class classification unit 162 sets the sum TVxy of the absolute values of the pixel value differences (the portions shown by arrows in FIG. 9) of adjacent pixels among the pixels of the class block of the target pixel as the TV norm. Ask according to 9).
  • TVx is an absolute value of a difference I (x, y) ⁇ I (x + 1, y) of pixel values of adjacent pixels in the x direction among the pixels of the class block.
  • TVy represents the sum of absolute values of differences I (x, y) ⁇ I (x, y + 1) of pixel values of adjacent pixels in the y direction among the pixels of the class block.
  • S represents (the area as) a class block, and x, y ⁇ S represents that x, y are coordinates of the position of the pixel in the class block S.
  • the sum of the sum total TVx and TVy is determined as the TV norm TVxy.
  • TV norm TV xy represents the degree (amount, quantity) of high frequency components of the frequency components of the image around the pixel of interest.
  • FIG. 10 is a diagram showing an example of the frequency characteristic of an image.
  • the horizontal axis represents frequency
  • the vertical axis represents intensity of the frequency component
  • the image has frequency characteristics such that there are many low frequency components and the higher the high frequency components are, the lower the frequency.
  • the graph L11 shows the frequency characteristics of the image having a relatively large number of high frequency components
  • the graph L12 shows the frequency characteristics of the image having a relatively small number of high frequency components.
  • a tap coefficient suitable for ALF processing in an image having a relatively large number of high frequency components such as having the frequency characteristic shown by graph L11 and an image having a relatively small number of high frequency components such as having frequency characteristics shown by graph L12 Are expected to differ.
  • an appropriate tap coefficient means a tap coefficient which can obtain an image closer to the original image as a filtered image obtained by ALF processing (a tap coefficient which makes the sum E of the square errors in equation (4) smaller). means.
  • the TV norm TVxy is large when the pixel values of the pixels in the class block change rapidly, the TV norm TVxy of the image having many high frequency components tends to be large.
  • TV norm TV xy can be said to represent high frequency components in class blocks. Therefore, according to the TV norm TVxy, the degree of high frequency components around the pixel of interest can be grasped, and by performing class classification using the TV norm TVxy, the degree of high frequency components around the pixel of interest Thus, classes can be divided to learn tap coefficients, and tap coefficients used for ALF processing can be divided.
  • FIG. 11 is a diagram for explaining an example of a method of calculating the maximum difference absolute value as the feature amount of the pixel of interest.
  • FIG. 11 shows an example of pixel values of pixels constituting a class block, as in FIG.
  • the class classification unit 162 sets the maximum value among the absolute values of the differences between the pixel values of adjacent pixels among the pixels of the class block of the target pixel (the part indicated by the arrow in FIG. 11) to the maximum difference absolute value. It calculates
  • max (A) represents the maximum value of A. Therefore, in equation (10), Mx is the absolute value of the difference I (x, y) ⁇ I (x + 1, y) of the pixel values of adjacent pixels in the x direction among the pixels of the class block. My represents the maximum value among them, and My is the absolute value of the difference I (x, y) ⁇ I (x, y + 1) of the pixel values of adjacent pixels in the y direction among the pixels of the class block. Represents the maximum value of
  • the larger one of the maximum values Mx and My can be adopted other than the sum of the maximum values Mx and My.
  • the maximum difference absolute value Mxy can be said to represent high frequency components in the class block. Therefore, according to the maximum difference absolute value Mxy, the degree of high frequency components around the target pixel can be grasped, and by performing class classification using the maximum difference absolute value Mxy, the height around the target pixel is high. Depending on the degree of the frequency component, classes can be divided to learn tap coefficients, and tap coefficients used for ALF processing can be divided.
  • FIG. 12 is a diagram for explaining the outline of the inclined feature amount as the feature amount of the pixel of interest.
  • FIG. 12 shows an example of the pixel value (brightness) of the pixel at each position (coordinates) (x, y) of the image (in-process image).
  • the inclination feature amount of the pixel of interest represents the tangent direction of the contour line of the pixel value of the pixel of interest. Therefore, the inclination feature amount of the pixel of interest indicates the direction in which the pixel value does not change from (the position of) the pixel of interest.
  • a vector directed in a tangential direction of the contour line of the pixel value of the pixel is also referred to as a tangent vector.
  • the direction (tangent direction) of the tangent vector is determined for the pixel of interest.
  • FIG. 13 is a diagram for explaining an example of a method of determining a tangent vector.
  • FIG. 13 shows an example of the pixel value of the pixel at each position (x, y) of the image in the middle of decoding, as in FIG.
  • the class classification unit 162 calculates the gradient g (x, y) of the pixel value I (x, y) of the pixel at the position (x, y) (hereinafter also described as the pixel (x, y)).
  • Vector according to equation (11).
  • ⁇ / ⁇ x and ⁇ / ⁇ y are Sobel filters, and are represented by equation (12), for example.
  • the tangent vector t (x, y) of the pixel (x, y) is a vector in the direction perpendicular to the gradient g (x, y) of the pixel (x, y), and according to equation (13) , y) by ⁇ / 2 (radian).
  • gx and gy represent the x component and the y component of the gradient g (x, y), respectively.
  • FIG. 14 is a diagram for explaining a representative vector t * of tangent vectors t (x, y) of the pixels of the class block of the pixel of interest.
  • FIG. 14 shows an example of the pixel value of each pixel (x, y) of the image in the middle of decoding, as in FIG.
  • the tangent vector t (x, y) can be obtained for each pixel of the image during decoding, but in the present embodiment, the tangent vector t (target pixel (x, y)) for robustness etc.
  • the direction of x, y) is not adopted as the inclined feature value as it is, but the representative vector t * representing the tangent vector t (x, y) of each pixel (x, y) of the class block of the pixel of interest
  • the direction ⁇ * is adopted as the inclination feature.
  • FIG. 15 is a view for explaining a representative vector t * representing a tangent vector t (x, y) of each pixel (x, y) of the class block of the pixel of interest.
  • a unit vector e ( ⁇ ) in a direction ⁇ is a tangent vector t (pixel) of each pixel (x, y) of the class block of the target pixel.
  • an evaluation function J ( ⁇ ) that evaluates the appropriateness of being a representative vector t * representing x, y), and maximize the evaluation function J ( ⁇ ) ) Is a representative vector t *.
  • a block of 3 ⁇ 3 horizontal and vertical pixels centering on the pixel of interest is a class block, and a tangent vector t (x, y) of 3 ⁇ 3 pixels constituting the class block and 3 ⁇ 3 thereof
  • a representative vector t * representing a tangent vector t (x, y) of a pixel is shown.
  • equation (14) can be adopted as the evaluation function J ( ⁇ ).
  • ⁇ A, B> represents the inner product of vectors A and B.
  • the unit vector e ( ⁇ ) is a vector with a norm of 1, directed in the direction of the angle ⁇ .
  • argmax (A) represents ⁇ that maximizes A.
  • FIG. 16 is a diagram for explaining the evaluation function J ( ⁇ ).
  • FIG. 16 shows an example of the pixel value of each pixel (x, y) of the image in the middle of decoding, similarly to FIG.
  • the pixel values of the image during decoding are in the shape of a sin wave as viewed in the y direction.
  • the gradient g (a) of the pixel value at a certain pixel (x (a), y (a)) is an upward gradient (positive
  • the gradient g (b) of pixel values in the other pixels (x (b), y (b)) is a downward gradient (negative gradient).
  • FIG. 17 is a diagram showing an example of the tangent vector t (x, y) of each pixel (x, y) of the class block and the unit vector e ( ⁇ ) of the direction ⁇ .
  • FIG. 17 in order to avoid complication of the drawing, three pixels (x1, y1), (x2) are used as tangent vectors t (x, y) of each pixel (x, y) of the class block. , y2), (x3, y3) tangent vectors t (x1, y1), t (x2, y2), t (x3, y3) are illustrated.
  • the evaluation function J ( ⁇ ) increases as the tangent vector t (x, y) having a large component in the direction ⁇ of the unit vector e ( ⁇ ) (or the reverse direction (direction of ⁇ + ⁇ ) of the direction ⁇ ) increases.
  • FIG. 18 is a diagram for explaining the calculation of the evaluation function J ( ⁇ ).
  • FIG. 18 shows an example of the tangent vector t i of the i-th pixel of the class block and the unit vector e ( ⁇ ).
  • phi i denotes the direction (angle) of the tangent vector t i
  • a i and b i are the x and y components of the tangent vector t i, representing respectively.
  • Equation (16) The evaluation function J ( ⁇ ) of equation (14) can be calculated according to equation (16).
  • equation (16) the sum ( ⁇ ) of i represents that the sum is taken for all pixels of the class block.
  • Equation (15) which is ⁇ that maximizes the evaluation function J ( ⁇ ), is ⁇ that sets the derivative value dJ ( ⁇ ) / d ⁇ of the evaluation function J ( ⁇ ) to zero.
  • the differential value dJ ( ⁇ ) / d ⁇ can be calculated as shown in equation (17).
  • equation (15) can be obtained by equation (19) obtained by replacing ⁇ in equation (18) with ⁇ *.
  • Equation (19) can be modified as shown in equation (20).
  • FIG. 19 is a diagram showing an example of tangent vector t i .
  • Equation (21) can be represented by
  • Equation (22) ⁇ 1 and ⁇ 2 are represented by equation (23).
  • the class classification unit 162 obtains ⁇ * as the inclination feature amount according to Expression (22) and Expression (23).
  • the slope feature amount ⁇ * uses ⁇ 1 and ⁇ 2 determined from the x component a i and the y component b i of the tangent vector t i of each pixel of the class block It can be obtained by the division and the calculation of tan -1 (arctan).
  • the inclination feature amount ⁇ * is the direction of the representative vector t * representing the tangent vector t (x, y) of each pixel (x, y) of the class block
  • the pixel value of each pixel of the class block It can be said that it is a representative value representative of the tangent direction of the contour line of.
  • calculation results of the tan -1 in addition to actually perform the computation of tan -1, can be obtained using the LUT.
  • FIG. 20 is a diagram for explaining an example of a LUT used to obtain a calculation result of tan ⁇ 1 .
  • FIG. 20 shows a graph of tan ⁇ .
  • the horizontal axis represents the angle ⁇
  • the vertical axis represents tan ⁇ .
  • the angle ⁇ tan -1 ( ⁇ 1 / ⁇ 2 ) is output from the LUT by inputting the division value ⁇ 1 / ⁇ 2 using ⁇ 1 and ⁇ 2 of equation (23) into the LUT. Be done.
  • tan ⁇ is point symmetric with respect to the origin and is a periodic function
  • the basic range of tan ⁇ is the origin It can be determined by moving in point symmetry with respect to the axis or by moving in parallel in the direction of ⁇ .
  • the angle ⁇ tan -1 ( ⁇ 1 / ⁇ 2) is taken the code from ⁇ 1 / ⁇ 2
  • a basic ranges are stored LUT
  • the output of the LUT obtained as the input of can be obtained by converting according to the signs of ⁇ 1 and ⁇ 2 .
  • angle ⁇ tan ⁇ 1 ( ⁇ 1 / ⁇ 2 ) with respect to the input of division value ⁇ 1 / ⁇ 2
  • the slope feature quantity ⁇ * of equation (22) is calculated, and further, using the slope feature quantity ⁇ *, the class is calculated. It is possible to employ a LUT that outputs a class obtained by performing classification.
  • FIG. 21 is a diagram for explaining the reliability of the inclined feature amount ⁇ * as the feature amount of the pixel of interest.
  • FIG. 21 shows an example of a class block.
  • the class block of FIG. 21 has a bright area of woodgrain and a dark area of woodgrain.
  • the bright area of woodgrain is dominated by the horizontal edge (edge extending in the horizontal direction), and the dark area of woodgrain is dominated by the edge in the vertical direction. Therefore, a bright area of woodgrain is also called a horizontal edge area, and a dark area of woodgrain is also called a vertical edge area.
  • a part of the lower left part of the class block is a vertical edge area, and the other area is a horizontal edge area.
  • the horizontal edge area occupies an area of more than four times the vertical edge area.
  • the reliability tr of the inclination feature amount ⁇ * of the target pixel is obtained, for example, according to equation (24).
  • the reliability tr (24) is a class block in the tangent vector t i of the pixel, the degree not tangent vector t i in a direction different from the direction theta * representing the inclination characteristic quantity theta * is (class block of pixels).
  • the fact that the reliability tr is large indicates that there are many tangent vectors t i in the same direction as the direction ⁇ * represented by the inclined feature value ⁇ * in the tangent vectors t i of the pixels of the class block. .
  • the horizontal edge area occupies an area exceeding four times the vertical edge area, so the direction near the horizontal direction in which the horizontal edge extends is the inclined feature value ⁇ *. Desired.
  • the horizontal direction is determined as the inclined feature amount ⁇ *
  • the vertical direction is inclined It is obtained as the feature quantity ⁇ *.
  • the inclination feature quantity ⁇ * is averaged in the so-called horizontal and vertical directions. It is not in the diagonal direction. That is, as shown in FIG. 21, when the horizontal edge area and the vertical edge area are mixed, the inclined feature amount ⁇ * is dominant in the class block of the horizontal edge area and the vertical edge area.
  • the horizontal edge of the horizontal edge area which is the area, extends in the horizontal direction.
  • the reliability tr is reduced in value by the vertical edge area as compared to the class block of only the horizontal edge area. Is required.
  • class classification unit 162 by performing class classification of the pixel of interest using the inclination feature amount ⁇ * of the pixel of interest, in the direction (direction orthogonal to) the high frequency components around the pixel of interest. Accordingly, classes can be divided to learn tap coefficients, and tap coefficients used for ALF processing can be divided.
  • the class classification unit 162 classifies the target pixel according to the reliability tr by performing class classification of the target pixel using the reliability tr of the inclination feature amount ⁇ * of the target pixel, and learning of tap coefficients is performed. It is possible to divide the tap coefficients used for ALF processing.
  • FIG. 22 is a diagram illustrating an example of frequency characteristics of an image.
  • FIG. 22 shows the distribution of frequency components of the image with the horizontal frequency f H and the vertical frequency f V as axes.
  • the vertically elongated elliptical frequency characteristic f1 has an image with many high frequency components in the vertical direction and few high frequency components in the horizontal direction, that is, for example, many horizontal edge regions in which horizontal edges are dominant. It is a frequency characteristic of an image.
  • the frequency characteristic f2 of the oblong oval shape is an image having a small number of high frequency components in the vertical direction and a large number of high frequency components in the horizontal direction, that is, for example, an image having many vertical edge regions dominated by vertical edges. It is a frequency characteristic.
  • the class classification using the inclination feature amount ⁇ * even if the class block of the pixel of interest is an image having a similar high frequency component, the image of the horizontal edge area such as the image of the frequency characteristic f1.
  • the target pixel can be classified into different classes depending on whether it is the image of the vertical edge area such as the image of the frequency characteristic f 2 or the image of the frequency characteristic f 2.
  • FIG. 23 is a diagram for explaining an example of classification using the inclination feature quantity ⁇ * and the reliability tr.
  • the horizontal axis represents the inclined feature quantity ⁇ *
  • the vertical axis represents the reliability tr.
  • the class classification unit 162 compares the reliability tr of the inclination feature amount ⁇ * of the pixel of interest with a threshold THtr of the reliability tr, which is a type of classification parameter.
  • the class classification unit 162 classifies the attention pixel into the class c0 which does not depend on the inclination feature amount ⁇ *.
  • the class classification unit 162 determines the inclination feature amount ⁇ * according to the inclination feature amount ⁇ * of the target pixel. It is classified into any of the classes c1 to c # M-1 depending on.
  • the total number of classes is M.
  • classes c1 to c # M-1 depending on the inclination feature quantity ⁇ * are classes corresponding to the inclination feature quantity ⁇ *.
  • the range from ⁇ to + ⁇ which is the range that can be taken by the direction (angle) as the inclination feature amount ⁇ *, is M ⁇ 1 classes c1 to c # depending on the inclination feature amount ⁇ * It is divided so that it is equally divided by M-1. Then, M ⁇ 1 division ranges obtained by dividing the range of ⁇ to + ⁇ are allocated to M ⁇ 1 classes c1 to c # M ⁇ 1, respectively.
  • This class c # m is also referred to as a class in the direction of - ⁇ + (m-1) ⁇ 2 ⁇ / (M-1).
  • the target pixel is classified into the class c0. Ru.
  • the class block of the pixel of interest has a circular shape, not the frequency characteristics f1 and f2 shown in FIG. 22 in a plane centered on the frequency f H in the horizontal direction and the frequency f V in the vertical direction.
  • the class block of the pixel of interest is not an image in which high frequency components in a specific direction are present more than high frequency components in other directions. The degree tr becomes smaller, and the pixel of interest is classified into class c0.
  • the attention pixel is any one of the class c1 to the class c # M-1 according to the inclination feature amount ⁇ *. It is classified into classes.
  • the class c1 to the class c # M-1 are also referred to as a class of the direction represented by the inclination feature quantity ⁇ *.
  • the class block of the pixel of interest is an image of the frequency characteristics f1 and f2 having an elliptical shape shown in FIG. 22 in the plane with the frequency f H in the horizontal direction and the frequency f V in the vertical direction as axes
  • the class block of the image is an image in which high frequency components in a specific direction are present more than high frequency components in the other directions. Therefore, as the tilt feature quantity ⁇ * of the pixel of interest, the direction orthogonal to the specific direction is Further, the reliability tr is increased.
  • the pixel of interest is classified into the class in the direction (the direction orthogonal to the direction of the high frequency component) represented by the tilt feature amount ⁇ * of the pixel of interest among classes c1 to c # M-1.
  • the attention pixel when the reliability tr of the inclination feature amount ⁇ * of the attention pixel is not equal to or more than the threshold THtr, the attention pixel is classified into the class c0 regardless of the inclination feature amount ⁇ * of the attention pixel. However, even if the reliability tr of the inclination feature amount ⁇ * of the target pixel is not more than the threshold THtr, the attention pixel is the same as in the case where the reliability tr of the inclination feature amount ⁇ * of the target pixel is the threshold THtr or more. Classification can be made into any one of a plurality of classes according to the inclination feature amount ⁇ *.
  • FIG. 24 is a diagram for explaining an example of classification using the inclined feature amount ⁇ * and the reliability tr, and other feature amounts.
  • the horizontal axis represents class c # m obtained by classification using the inclined feature quantity ⁇ * and the reliability tr, and the vertical axis represents other feature quantity.
  • the class c # m obtained by class classification using the inclination feature amount ⁇ * and the reliability tr is also referred to as an inclination / reliability class c # m.
  • the above-described average value, variance, TV norm TVxy, maximum difference absolute value Mxy, and the like can be adopted.
  • the TV norm TVxy (or the maximum difference absolute value Mxy) representing the high frequency component of (the class block of) the pixel of interest is used as another feature amount to perform class classification.
  • the classification unit 162 (FIG. 6) classifies the target pixel into the inclination / reliability class c # m, and then, according to the TV norm TVxy as another feature of the target pixel, the inclination / reliability class c Classify the focus pixel of #m into the final class c # m # j which is the final class.
  • the threshold value of the TV norm TVxy as another feature of the target pixel of the inclination / reliability class c # m (hereinafter referred to as the inclination / reliability class Two threshold values TH (c # m, 0) and TH (c # m, 1) are set as the threshold value of c # m.
  • the thresholds TH (c # m, 0) and TH (c # m, 1) of the slope / reliability class c # m are other types of classification parameters.
  • the classification unit 162 sets the TV norm TVxy of the target pixel of the inclination / reliability class c # m to the threshold TH (c # m, 0) and TH (c # m, 1) of the inclination / reliability class c # m. According to the comparison result, the pixel of interest of the inclination / reliability class c # m is classified into the final class c # m # j.
  • the threshold values TH (c # m, 0) and TH (c # m, 1) of the slope / reliability class c # m satisfy the equation TH (c # m, 0) ⁇ TH (c # m, 1). I shall meet.
  • the target pixel is the final class It is classified into c # m1.
  • the attention pixel has the inclination / reliability class c # in the direction indicated by the inclination feature amount ⁇ * of the attention pixel. It is classified into m.
  • the target pixel in the inclination / reliability class c # m is classified by using the TV norm TV xy as another feature amount, so that the target pixel is in the direction represented by the inclination feature amount ⁇ * of the target pixel.
  • the final class c # m # j can be classified according to the degree of high frequency components in the orthogonal direction.
  • two threshold values TH (c # m, 0) and TH (c # m, 1) are provided for each slope / reliability class c # m, but each slope / The threshold provided for the reliability class c # m is not limited to two.
  • the target pixel of the inclination / reliability class c # m provided with J threshold values TH (c # m, 0), TH (c # m, 1),..., TH (c # m, J) is According to the TV norm TV xy of the target pixel, it is classified into any one of J + 1 final classes c # m0, c # m1, ..., c # m # J + 1. .
  • FIG. 25 is a diagram showing an example of the frequency characteristic of an image.
  • a of FIG. 25 shows the distribution of frequency components of the image with frequency f H in the horizontal direction as the horizontal axis and frequency f V in the vertical direction as the vertical axis, as in FIG. Similarly to FIG. 10, B in FIG. 25 indicates frequency characteristics of an image in which the frequency (in the horizontal direction or the vertical direction) is taken as the horizontal axis and the intensity of the frequency component is taken as the vertical axis.
  • the vertically elongated elliptical frequency characteristics f11, f12, f13 have many high frequency components in the vertical direction and few high frequency components in the horizontal direction, that is, for example, the edge in the horizontal direction is dominant Frequency characteristics of an image having many horizontal edge regions.
  • the frequency characteristics f11, f12, and f13 are frequency characteristics in which the frequency components of higher frequencies are larger in the order of f13, f12, and f11.
  • the images respectively having the frequency characteristics f11, f12 and f13 have many horizontal edge regions and have high frequency components in the vertical direction.
  • the image having the frequency characteristic f12 has a higher frequency component in the vertical direction higher than the image having the frequency characteristic f11
  • the image having the frequency characteristic f13 has a higher frequency than the image having the frequency characteristic f12. It has higher frequency components in the vertical direction in the higher frequency range.
  • the image is The pixel of interest can be classified into different classes according to the frequency of the high frequency component that it has.
  • classes can be divided to learn tap coefficients each time the frequency of the high frequency components is different, and tap coefficients used for ALF processing can be divided.
  • FIG. 26 is a block diagram showing a configuration example of the class classification unit 162 in FIG.
  • the class classification unit 162 includes a class block extraction unit 171, an inclined feature amount / reliability calculation unit 172, a first class classification unit 173, a feature amount calculation unit 174, and a second class classification unit 175.
  • the class block extraction unit 171 is supplied with the image in the middle of decoding from the SAO 109 (FIG. 4).
  • the class block extraction unit 171 extracts the class block (the pixel to be the target pixel) of the pixel of interest from the image in the middle of decoding from the SAO 109 and supplies it to the inclination feature amount / reliability calculation unit 172 and the feature amount calculation unit 174.
  • the slope feature amount / reliability calculation unit 172 uses the class block of the pixel of interest from the class block extraction unit 171 to determine the slope feature amount ⁇ * as the (image) feature amount of the pixel of interest and the slope feature amount ⁇ thereof.
  • the reliability tr of * is calculated and supplied to the first class classification unit 173.
  • the first class classification unit 173 is configured of, for example, a linear classifier or the like.
  • the first class classification unit 173 classifies the class of the pixel of interest using the inclination feature amount ⁇ * of the pixel of interest from the inclination feature amount / reliability calculation unit 172 and the reliability tr of the inclination feature amount ⁇ *.
  • the inclination / reliability class of the pixel of interest obtained as a result of the classification is supplied to the second classification unit 175.
  • the first class classification unit 173 receives the threshold THtr (FIG. 23) of the reliability tr as a classification parameter from the classification parameter generation unit 131. For example, as described with reference to FIG. 23, the first class classification unit 173 classifies the pixel of interest by comparing the reliability tr with a threshold THtr of the reliability tr.
  • the feature quantity calculation unit 174 calculates, for example, the TV norm TVxy as another feature quantity of the pixel of interest using the class block of the pixel of interest from the class block extraction unit 171, and supplies it to the second class classification unit 175. Do.
  • the second class classification unit 175 is configured of, for example, a linear classifier or the like.
  • the second class classification unit 175 classifies the target pixel of the inclination / reliability class supplied from the first class classification unit 173 using the TV norm TVxy of the target pixel supplied from the feature quantity calculation unit 174. Then, the final class of the target pixel obtained as a result of the classification is output to the adding section 163 (FIG. 6).
  • the second class classification unit 175 is supplied with the threshold TH (c # m, j) (FIG. 24) of the inclination / reliability class c # m as a class classification parameter from the class classification parameter generation unit 131. .
  • the second class classification unit 175 compares the TV norm TVxy of the pixel of interest with the threshold TH (c # m, j) of the inclination / reliability class c # m of the pixel of interest.
  • the class classification of the target pixel of the inclination / reliability class c # m is performed.
  • the class classification can be performed using the encoding information of the pixel of interest, for example, the QP or CBF of the pixel of interest, as well as the (image) feature amount of the pixel of interest.
  • FIG. 27 is a block diagram showing a configuration example of the ALF processing unit 133 of FIG.
  • the ALF processing unit 133 includes a tap selection unit 181, a class classification unit 182, a coefficient acquisition unit 183, and a filter operation unit 184.
  • the tap selection unit 181 to the filter calculation unit 184 perform the same processes as the tap selection unit 21 to the filter calculation unit 24 of the ALF processing unit 20 in FIG.
  • the ALF processing unit 133 is supplied with the halfway decoded image as the first image similar to the one supplied to the learning unit 132 (FIG. 5).
  • the ALF processing unit 133 performs ALF processing similar to that of the ALF processing unit 20 of FIG. 2 using the decoding in-progress image as the first image, and (as a predicted value of) a second image corresponding to the original image. Find the filtered image.
  • classification parameter is supplied from the classification parameter generation unit 131 (FIG. 5) to the ALF processing unit 133, tap coefficients for each class (final class) are supplied from the learning unit 132.
  • the tap selection unit 181 selects a target pixel from the image during decoding. Furthermore, the tap selection unit 181 selects, for the pixel of interest, a pixel to be a prediction tap from the image during decoding, thereby predicting taps having the same tap structure as in the tap selection unit 161 of the learning unit 132 (FIG. 6). The configuration is supplied to the coefficient acquisition unit 183.
  • the class classification unit 182 classifies the same class as the case of the class classification unit 162 of the learning unit 132 (FIG. 6) using the decoding intermediate image and the class classification parameter from the class classification parameter generation unit 131 for the pixel of interest. , And supplies the final class of the target pixel obtained as a result of the class classification to the coefficient acquisition unit 183.
  • the coefficient acquisition unit 183 stores the tap coefficient supplied from the learning unit 132 (FIG. 5), and acquires the tap coefficient of the final class of the pixel of interest supplied from the class classification unit 182 from the tap coefficient (read ) To the filter operation unit 184.
  • the filter operation unit 184 uses the prediction tap of the target pixel supplied from the tap selection unit 181 and the tap coefficient of the class of the target pixel supplied from the coefficient acquisition unit 183, as in the filter operation unit 24 of FIG. Then, the filter operation of Equation (1) is performed, and the pixel value of the corresponding pixel of the filtered image (predicted value of the pixel value of the pixel of the original image corresponding to the target pixel) is determined and output.
  • the learning unit 132 supplies the class of the pixel of interest obtained by the class classification unit 162 to the tap selection unit 161, and the tap selection unit 161 selects the class of the pixel of interest.
  • the class classification unit 182 also supplies the class (final class) of the pixel of interest to the tap selection unit 181 as indicated by a dotted line in FIG.
  • the tap structure of the prediction tap is changed according to the class of the pixel of interest.
  • the tap structure of the prediction tap is changed according to the class, that is, when the tap structure of the prediction tap is different for each class, the tap used for the filter operation with (the pixel value of) the pixel as the prediction tap
  • the tap structure of coefficients also differs depending on the class.
  • FIG. 28 is a block diagram showing a configuration example of the class classification unit 182 in FIG.
  • the class classification unit 182 includes a class block extraction unit 191, an inclined feature amount / reliability calculation unit 192, a first class classification unit 193, a feature amount calculation unit 194, and a second class classification unit 195.
  • the class block extraction unit 191 to the second class classification unit 195 are configured in the same manner as the class block extraction unit 171 to the second class classification unit 175 of the class classification unit 162 in FIG. Therefore, the class classification unit 182 classifies the pixel of interest in the same manner as the class classification unit 162 in FIG.
  • FIG. 29 is a flowchart for explaining an example of the encoding process of the image encoding device 100 of FIG.
  • the order of the steps of the encoding process shown in FIG. 29 is an order for convenience of description, and the steps of the actual encoding process are appropriately performed in parallel in a necessary order.
  • the class classification parameter generation unit 131 (FIG. 5) of the ALF 110 generates a class classification parameter used for tap coefficient learning and class classification of the ALF process as needed.
  • the learning unit 132 (FIG. 5) of the ALF 110 sets, as a student image, an intermediate decoding image of an update unit such as a plurality of frames, one frame, or block among the intermediate decoding images supplied thereto.
  • the tap coefficient learning is performed as needed using the original image corresponding to the image in the middle of decoding as a teacher image.
  • the classification of tap coefficient learning in the learning unit 132 is performed using the latest classification parameter generated by the classification parameter generation unit 131.
  • step S41 the learning unit 132 determines whether the current timing is an update timing as a predetermined timing for updating the tap coefficient, that is, for example, an end point of an update unit such as a plurality of frames, one frame, or a block It is determined whether it is the timing of the start point.
  • step S41 If it is determined in step S41 that the tap coefficient update timing is not reached, the process skips steps S42 to S44 and proceeds to step S45.
  • step S41 If it is determined in step S41 that the tap coefficient update timing has come, the process proceeds to step S42.
  • step S42 the ALF 110 includes filter information including the latest classification parameter generated by the classification parameter generation unit 131 and the tap coefficient for each class (final class) generated by the learning unit 132 using the latest tap coefficient learning.
  • the process proceeds to step S43.
  • the correlation in the time direction of the original image is detected, and the filter information in step S42 is generated at the update timing only when the correlation is low (in the case of the threshold or less), and step S43 described later. And S44 can be performed.
  • step S43 the ALF processing unit 133 (FIG. 5) updates the classification parameter used by the classification unit 182 (FIG. 27) with the latest classification parameter generated by the classification parameter generation unit 131. Furthermore, the ALF processing unit 133 updates the tap coefficient for each class (final class) stored in the coefficient acquisition unit 183 (FIG. 27) with the tap coefficient generated by the learning unit 132 through the latest tap coefficient learning, and performs processing. The process proceeds from step S43 to step S44.
  • step S44 the lossless encoding unit 104 sets the filter information supplied from the ALF 110 in the immediately preceding step S42 as a transmission target, and the process proceeds to step S45.
  • the filter information set as the transmission target is encoded in step S57 described later, included in encoded data, and transmitted.
  • step S45 and subsequent steps prediction encoding processing of the original image is performed.
  • step S45 the prediction unit 112 performs the intra prediction process in the intra prediction mode, and the process proceeds to step S46.
  • the prediction unit 112 performs inter motion prediction processing for performing motion prediction and motion compensation in the inter prediction mode, and the processing proceeds to step S47.
  • step S47 the prediction unit 112 determines the optimal prediction mode based on the cost function. Then, the prediction unit 112 selects and outputs the prediction image of the optimum prediction mode, and the process proceeds from step S47 to step S48.
  • step S48 the arithmetic operation unit 101 calculates the residual of the original image which is the image to be encoded and the predicted image output from the prediction unit 112 and supplies the residual to the orthogonal transform unit 102. Go to
  • step S49 the orthogonal transformation unit 102 orthogonally transforms the residual from the computation unit 101, supplies the transformation coefficient obtained as a result to the quantization unit 103, and the process proceeds to step S50.
  • step S50 the quantization unit 103 quantizes the transform coefficient from the orthogonal transformation unit 102, supplies the quantization coefficient obtained by the quantization to the lossless encoding unit 104 and the inverse quantization unit 105, and processes the quantization coefficient. The process proceeds to step S51.
  • step S51 the inverse quantization unit 105 inversely quantizes the quantization coefficient from the quantization unit 103, supplies the transform coefficient obtained as a result to the inverse orthogonal transformation unit 106, and the process proceeds to step S52.
  • step S52 the inverse orthogonal transform unit 106 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 105, supplies the residual obtained as a result to the operation unit 107, and the process proceeds to step S53.
  • step S53 the operation unit 107 adds the residual from the inverse orthogonal transformation unit 106 and the predicted image output from the prediction unit 112 to the original image which is the target of the operation of the residual in the operation unit 101. A corresponding in-process image is generated.
  • the operation unit 107 supplies the image in the middle of decoding to the DF 108, and the process proceeds from step S53 to step S54.
  • step S54 the DF 108 performs DF filter processing on the image during decoding from the arithmetic unit 107, and supplies the filtered image to the SAO 109. Furthermore, in step S54, the SAO 109 performs SAO filter processing on the image during decoding from the DF 108, supplies it to the ALF 110, and the process proceeds to step S55.
  • step S55 the ALF 110 applies an ALF process to the in-process image from the SAO 109, supplies the filtered image obtained by the ALF process to the DPB 111, and the process proceeds from step S55 to step S56.
  • step S56 the DPB 111 stores the filtered image supplied from the ALF 110 as a decoded image, and the process proceeds to step S57.
  • the decoded image stored in the DPB 111 is used as a reference image from which a predicted image is generated in steps S45 and S46 performed thereafter, as necessary.
  • the lossless encoding unit 104 encodes the quantization coefficient from the quantization unit 103. Furthermore, the lossless encoding unit 104 may use the quantization parameter QP used for the quantization in the quantization unit 103, the prediction mode obtained in the intra prediction process in the prediction unit 112, and the inter motion prediction in the prediction unit 112. Encoding information such as a prediction mode and motion information obtained by the processing is encoded as necessary, and is included in the encoded data.
  • the lossless encoding unit 104 encodes the filter information set as the transmission target in step S44 and includes the encoded information in the encoded data, and the process proceeds from step S57 to step S58.
  • step S58 the lossless encoding unit 104 transmits the encoded data, and the encoding process ends.
  • FIG. 30 is a flowchart for explaining an example of the ALF process performed in step S55 of FIG.
  • step S71 the tap selection unit 181 selects a still pixel of interest among the pixels of (the block as) the decoded image supplied from the SAO 109 (FIG. 4). One of the pixels not selected is selected as the target pixel, and the process proceeds to step S72.
  • step S72 the tap selection unit 181 selects a pixel serving as a prediction tap for the pixel of interest from the in-process image supplied from the SAO 109, and configures a prediction tap. Then, the tap selection unit 181 supplies the prediction tap to the filter operation unit 184, and the process proceeds to step S73.
  • step S73 the class classification unit 182 obtains, for the pixel of interest, the inclination feature amount and the reliability of the inclination feature amount, and the TV norm, for example, as another feature amount. Furthermore, the class classification unit 182 uses the tilt feature amount of the pixel of interest and the reliability of the tilt feature amount, the TV norm, etc., and the class classification parameter from the class classification parameter generation unit 131 (FIG. 5). Classify the pixels. The class classification unit 182 supplies the class (final class) of the pixel of interest obtained by the class classification to the coefficient acquisition unit 183, and the process proceeds from step S73 to step S74.
  • the classification parameter used for classification in step S73 is the classification parameter updated in the latest step S43 of FIG.
  • step S74 the coefficient acquisition unit 183 acquires the tap coefficient of the class of the pixel of interest from the class classification unit 182 from the tap coefficients for each class stored, supplies the tap coefficient to the filter operation unit 184, and The process proceeds to step S75.
  • the coefficient acquisition unit 183 stores the tap coefficient for each class updated in the latest step S43 of FIG.
  • step S75 the filter operation unit 184 performs the equation (1) filter operation using the prediction tap from the tap selection unit 181 and the tap coefficient from the coefficient acquisition unit 183. Thereby, the filter operation unit 184 obtains the predicted value of the pixel value of the corresponding pixel of the original image corresponding to the target pixel as the pixel value of the filtered image, and the process proceeds to step S76.
  • step S76 the tap selection unit 181 determines whether or not there is any pixel that is not yet a pixel of interest among the pixels of the image in the middle of decoding from the SAO 109. If it is determined in step S76 that there is a pixel that is not yet a pixel of interest, the process returns to step S71, and the same process is repeated thereafter.
  • step S76 If it is determined in step S76 that there is no pixel not yet considered as the pixel of interest, the process proceeds to step S77, and the filter operation unit 184 determines the pixel obtained for the image during decoding from SAO 109 A filtered image composed of values is provided to the DPB 111 (FIG. 4). Then, the ALF process is ended, and the process returns.
  • the pixel of interest is classified into any one of a plurality of classes using the inclination feature amount representing the tangent direction of the contour line of the pixel value of the pixel of interest in the image during decoding.
  • Class classification is performed, and the filter operation with the image during decoding is performed using the tap coefficient of the class of the pixel of interest among the tap coefficients for each class. Therefore, since the pixel of interest is classified according to the direction of the high frequency component (which direction has the high frequency component), it is possible to perform the filter operation using the tap coefficient suitable for the direction of the high frequency component of the pixel of interest. . Furthermore, by such filter operation, it is possible to obtain a filtered image having a small error with respect to the original image, which can improve the coding efficiency.
  • FIG. 31 is a block diagram showing a configuration example of the image decoding apparatus 200 of FIG.
  • the image decoding apparatus 200 includes a lossless decoding unit 201, an inverse quantization unit 202, an inverse orthogonal transformation unit 203, an operation unit 204, a DF 205, an SAO 206, an ALF 207, a DPB 208, and a prediction unit 209.
  • the lossless decoding unit 201 acquires the encoded data transmitted from the image encoding device 100 by receiving the encoded data. Therefore, the lossless decoding unit 201 functions as a receiving unit that receives the encoded data transmitted from the image encoding device 100 and, in turn, the tap coefficient and class classification parameter for each class as filter information included in the encoded data. .
  • the lossless decoding unit 201 decodes the encoded data by a method corresponding to the encoding method of the lossless encoding unit 104 in FIG. 4.
  • the lossless decoding unit 201 supplies the inverse quantization unit 202 with the quantization coefficient obtained by decoding the encoded data.
  • the lossless decoding unit 201 supplies the necessary encoding information to the prediction unit 209 and other necessary blocks.
  • the lossless decoding unit 201 supplies the filter information to the ALF 207.
  • the inverse quantization unit 202 inversely quantizes the quantization coefficient from the lossless decoding unit 201 according to a method corresponding to the quantization method of the quantization unit 103 in FIG. 4, and converts the conversion coefficient obtained by the inverse quantization to the inverse
  • the orthogonal transformation unit 203 is supplied.
  • the inverse orthogonal transform unit 203 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 202 according to a method corresponding to the orthogonal transform method of the orthogonal transform unit 102 in FIG. 4 and calculates the residual obtained as a result thereof It supplies to the part 204.
  • the residual is supplied from the inverse orthogonal transform unit 203 to the calculation unit 204, and the predicted image is supplied from the prediction unit 209.
  • the operation unit 204 adds the residual from the inverse orthogonal transform unit 203 and the predicted image from the prediction unit 209 to generate a decoding middle image, and supplies it to the DF 205.
  • the DF 205 performs the same filtering process as that of the DF 108 (FIG. 4) on the in-process image from the calculation unit 204, and supplies the in-process image after the filtering process to the SAO 206.
  • the SAO 206 performs the same filtering process as that of the SAO 109 (FIG. 4) on the image during decoding from the DF 205, and supplies it to the ALF 207.
  • the ALF 207 performs ALF processing similar to that of the ALF 110 (FIG. 4), using tap coefficients for each class included in the filter information from the lossless decoding unit 201 with the decoded intermediate image from the SAO 206 as the first image.
  • the decoded intermediate image as the first image is converted into a filtered image as (the predicted value of) the second image corresponding to the original image (the filtered image is generated and output).
  • the classification of the ALF process performed by the ALF 207 is performed using the classification parameter included in the filter information from the lossless decoding unit 201.
  • the filtered image output by the ALF 207 is an image similar to the filtered image output by the ALF 110, and is output as a decoded image and supplied to the DPB 208.
  • the DPB 208 temporarily stores the filtered image supplied from the ALF 207 as a decoded image. Furthermore, the DPB 208 supplies the decoded image to the prediction unit 209 as a reference image used to generate a predicted image.
  • the prediction unit 209 performs intra prediction using the reference image supplied from the DPB 208 in the intra prediction mode used in the prediction unit 112 of FIG. 4 in accordance with the prediction mode included in the encoded information supplied from the lossless decoding unit 201. I do.
  • the prediction unit 209 uses the reference image supplied from the DPB 208 in the inter prediction mode used by the prediction unit 112 in FIG. 4 according to the prediction mode included in the encoded information supplied from the lossless decoding unit 201. Make inter predictions.
  • the inter prediction is performed using motion information and the like included in the coding information supplied from the lossless decoding unit 201 as necessary.
  • the prediction unit 209 supplies the predicted image obtained by intra prediction or inter prediction to the calculation unit 204.
  • FIG. 32 is a block diagram showing a configuration example of the ALF 207 of FIG.
  • the ALF 207 includes an ALF processing unit 231.
  • the ALF processing unit 231 is supplied with the image on the way of decoding from the SAO 206 (FIG. 31), and is also supplied with filter information from the lossless decoding unit 201.
  • the ALF processing unit 231 performs the same ALF processing as the ALF processing unit 133 in FIG. 5.
  • the ALF processing unit 231 performs the same class classification as that performed by the ALF processing unit 133 using the decoding in-progress image as the first image, using the classification parameter included in the filter information. Furthermore, the ALF processing unit 231 performs a filter operation using the tap coefficient of the class obtained as a result of class classification among the tap coefficients for each class included in the filter information, thereby performing decoding as a first image. The image is converted into a filtered image (a predicted value of the second image corresponding to the original image) (filtered image is generated), and output as a decoded image, and supplied to the DPB 208 (FIG. 31) Do.
  • FIG. 33 is a block diagram showing a configuration example of the ALF processing unit 231 of FIG.
  • the ALF processing unit 231 includes a tap selection unit 241, a class classification unit 242, a coefficient acquisition unit 243, and a filter operation unit 244.
  • the tap selection unit 241 to the filter calculation unit 244 are configured in the same manner as the tap selection unit 181 to the filter calculation unit 184 that constitute the ALF processing unit 133 (FIG. 27).
  • the tap selecting unit 241 is supplied with the image during decoding from the SAO 206 (FIG. 31).
  • the tap selecting unit 241 sequentially selects the pixels of the in-progress image as the first image as the first pixel, with the in-progress decoding image from the SAO 206 as the first image.
  • the tap selection unit 241 selects, for the pixel of interest, a prediction tap having the same structure as that of the prediction tap selected by the tap selection unit 181 in FIG.
  • the class classification unit 242 is supplied with filter information from the lossless decoding unit 201 (FIG. 31), and is supplied with an image during decoding from the SAO 206.
  • the class classification unit 242 uses the class classification parameter included in the filter information from the lossless decoding unit 201 for the target pixel, and (the class block of the target pixel obtained from the decoding intermediate image from the SAO 206). Class classification similar to 182 (FIG. 27) is performed, and the class of the target pixel obtained as a result is supplied to the coefficient acquisition unit 243.
  • the coefficient acquiring unit 243 stores tap coefficients for each class (final class) included in the filter information from the lossless decoding unit 201 (FIG. 31), and from the tap coefficients for each class, the pixel of interest from the class classification unit 242 The tap coefficient of the class is acquired and supplied to the filter operation unit 244.
  • the filter operation unit 244 performs the filter operation of Expression (1) using the prediction tap from the tap selection unit 241 and the tap coefficient from the coefficient acquisition unit 243, and an original image corresponding to the target pixel of the image during decoding
  • the predicted value of the pixel value of the corresponding pixel of the second image is calculated and output as the pixel value of the pixel of the filtered image.
  • the class classification unit 182 supplies the class of the pixel of interest to the tap selection unit 181, and the tap selection unit 181 predicts according to the class of the pixel of interest.
  • the ALF processing unit 231 also supplies the class of the pixel of interest to the tap selection unit 241 from the class classification unit 242 as indicated by a dotted line in FIG.
  • the tap structure of the prediction tap is changed according to the class of the pixel of interest.
  • the tap structure of the prediction tap is changed according to the class, that is, when the tap structure of the prediction tap is different for each class, the tap used for the filter operation with (the pixel value of) the pixel as the prediction tap
  • the tap structure of coefficients also differs depending on the class.
  • FIG. 34 is a block diagram showing a configuration example of the class classification unit 242 of FIG.
  • the class classification unit 242 includes a class block extraction unit 251, an inclined feature amount / reliability calculation unit 252, a first class classification unit 253, a feature amount calculation unit 254, and a second class classification unit 255.
  • the class block extraction unit 251 to the second class classification unit 255 are configured in the same manner as the class block extraction unit 191 to the second class classification unit 195 of the class classification unit 182 in FIG. Therefore, the class classification unit 242 classifies the pixel of interest in the same manner as the class classification unit 182 in FIG.
  • FIG. 35 is a flowchart for describing an example of the decoding process of the image decoding apparatus 200 in FIG.
  • the order of the steps of the decoding process shown in FIG. 35 is an order for convenience of description, and the individual steps of the actual decoding process are appropriately performed in parallel in a necessary order.
  • step S111 the lossless decoding unit 201 receives the encoded data transmitted from the image encoding device 100, and the process proceeds to step S112.
  • step S112 the lossless decoding unit 201 decodes the encoded data, and supplies the quantization coefficient obtained by the decoding to the inverse quantization unit 202.
  • the lossless decoding unit 201 supplies necessary encoding information to the prediction unit 209 and other necessary blocks.
  • the lossless decoding unit 201 supplies the filter information to the ALF 207.
  • step S112 determines whether or not filter information is supplied from the lossless decoding unit 201.
  • step S113 If it is determined in step S113 that the filter information is not supplied, the process skips step S114 and proceeds to step S115.
  • step S113 If it is determined in step S113 that the filter information is supplied, the process proceeds to step S114, and the ALF processor 231 (FIG. 33) of the ALF 207 acquires the filter information from the lossless decoder 201 (see FIG. And the process proceeds to step S115.
  • step S115 the ALF processing unit 231 determines whether it is the update timing of the tap coefficient and the class classification parameter, that is, whether it is the timing of the end point or start point of update units such as a plurality of frames, one frame, or a block. Determine
  • the update unit should be recognized from, for example, a hierarchy of encoded data (for example, Sequence parameter set syntax, Picture parameter set syntax, Slice data syntax, etc.) in which filter information is arranged (included). Can.
  • a hierarchy of encoded data for example, Sequence parameter set syntax, Picture parameter set syntax, Slice data syntax, etc.
  • the update unit can be recognized as one frame.
  • the update unit can be determined in advance between the image encoding device 100 and the image decoding device 200.
  • step S115 If it is determined in step S115 that the timing for updating the tap coefficient and the class classification parameter is not reached, the process skips step S116 and proceeds to step S117.
  • step S115 when it is determined in step S115 that it is the update timing of the tap coefficient and the class classification parameter, the process proceeds to step S116.
  • step S116 the ALF processing unit 231 (FIG. 33) updates the tap coefficient for each class stored in the coefficient acquisition unit 243 with the tap coefficient for each class included in the filter information acquired in the immediately preceding step S114. Furthermore, the ALF processing unit 231 updates the classification parameter used by the classification unit 242 for classification by the classification parameter included in the filter information acquired at the immediately preceding step S114, and the process proceeds from step S116 to step S117. move on.
  • step S117 the inverse quantization unit 202 inversely quantizes the quantization coefficient from the lossless decoding unit 201, supplies the transform coefficient obtained as a result to the inverse orthogonal transformation unit 203, and the process proceeds to step S118. .
  • step S118 the inverse orthogonal transform unit 203 performs inverse orthogonal transform on the transform coefficient from the inverse quantization unit 202, supplies the residual obtained as a result to the operation unit 204, and the process proceeds to step S119.
  • step S119 the prediction unit 209 performs prediction processing to generate a prediction image using the reference image supplied from the DPB 208 and the encoding information supplied from the lossless decoding unit 201. Then, the prediction unit 209 supplies the predicted image obtained by the prediction process to the calculation unit 204, and the process proceeds from step S119 to step S120.
  • step S120 the operation unit 204 adds the residual from the inverse orthogonal transform unit 203 and the predicted image from the prediction unit 209 to generate an in-process decoded image. Then, the calculation unit 204 supplies the image in the middle of decoding to the DF 205, and the process proceeds from step S120 to step S121.
  • step S121 the DF 205 performs DF filter processing on the image during decoding from the arithmetic unit 204, and supplies the filtered image to the SAO 206. Furthermore, in step S121, the SAO 206 performs SAO filter processing on the decoding in-progress image from the DF 205, supplies it to the ALF 207, and the process proceeds to step S122.
  • step S122 the ALF 207 performs ALF processing on the decoding in-progress image from the SAO 206 using the tap coefficient and class classification parameter updated in the immediately preceding step S116, and the filtered image obtained by the ALF processing Is output as a decoded image and supplied to the DPB 208, and the process proceeds to step S123.
  • step S123 the DPB 208 stores the filtered image from the ALF 207 as a decoded image, and the decoding process ends.
  • the decoded image stored in the DPB 208 is used as a reference image from which a predicted image is generated in the prediction process of step S119 performed thereafter, as necessary.
  • FIG. 36 is a flow chart for explaining an example of the ALF process performed in step S122 of FIG.
  • step S141 the tap selection unit 241 selects one of the pixels in the middle of the decoded image supplied from the SAO 206 (FIG. 31) One is selected as a pixel of interest, and the processing proceeds to step S142.
  • step S142 the tap selection unit 241 selects a pixel serving as a prediction tap for the pixel of interest from the in-process image supplied from the SAO 206, and configures a prediction tap. Then, the tap selection unit 241 supplies the prediction tap to the filter operation unit 244, and the process proceeds from step S142 to step S143.
  • step S143 the class classification unit 242 obtains, for the pixel of interest, the inclination feature amount and the reliability of the inclination feature amount, and the TV norm, for example, as another feature amount. Furthermore, the class classification unit 242 classifies the pixel of interest using the tilt feature amount of the pixel of interest and the reliability of the tilt feature amount, the TV norm and the like, and the classification parameter. The class classification unit 242 supplies the class (final class) of the pixel of interest obtained by the class classification to the coefficient acquisition unit 243, and the process proceeds from step S143 to step S144.
  • the classification parameter used for classification in step S143 is the classification parameter updated in the latest step S116 of FIG.
  • step S144 the coefficient acquisition unit 243 acquires the tap coefficient of the class of the pixel of interest from the class classification unit 242 from the stored tap coefficients for each class, and supplies the tap coefficient to the filter operation unit 244. The process proceeds to step S145.
  • the coefficient acquisition unit 243 stores the tap coefficient for each class updated in the latest step S116 of FIG.
  • step S145 the filter operation unit 244 performs the equation (1) filter operation using the prediction tap from the tap selection unit 241 and the tap coefficient from the coefficient acquisition unit 243. Thereby, the filter operation unit 244 obtains the predicted value of the pixel value of the corresponding pixel of the original image corresponding to the target pixel as the pixel value of the filtered image, and the process proceeds to step S146.
  • step S146 the tap selection unit 241 determines whether or not there is a pixel that is not yet a pixel of interest among the pixels of the image in the middle of decoding from the SAO 206. If it is determined in step S146 that there is a pixel that is not yet a pixel of interest, the process returns to step S141, and the same process is repeated thereafter.
  • step S146 If it is determined in step S146 that there is no pixel not yet considered as the pixel of interest, the process proceeds to step S147, and the filter operation unit 244 determines the pixel obtained for the midway image from SAO 206 The filtered image composed of values is output as a decoded image and supplied to the DPB 208 (FIG. 31). Then, the ALF process is ended, and the process returns.
  • the pixel of interest is divided into a plurality of classes using tilt feature quantities that represent tangent directions of the contours of the pixel values of the pixel of interest during decoding.
  • a class is classified into any one of the classes, and a filter operation with the image during decoding is performed using the tap coefficient of the class of the pixel of interest among the tap coefficients for each class. Therefore, since the pixel of interest is classified according to the direction of the high frequency component (which direction has the high frequency component), it is possible to perform the filter operation using the tap coefficient suitable for the direction of the high frequency component of the pixel of interest. . Furthermore, by such filter operation, it is possible to obtain a filtered image having a small error with respect to the original image, that is, a high-quality decoded image with a high S / N (Signal to Noise ratio).
  • FIG. 37 is a diagram for explaining an encoding method for efficiently encoding tap coefficients for each class when classification is performed using gradient feature amounts.
  • tap coefficient learning is appropriately performed in the ALF 110. Furthermore, in the lossless encoding unit 104, tap coefficients (including filter information including each) of classes obtained by tap coefficient learning are encoded, included in encoded data, and transmitted.
  • the tap coefficient for each class becomes overhead of encoded data, efficiently encoding the tap coefficient for each class to reduce the data amount contributes to improvement of the encoding efficiency.
  • the lossless encoding unit 104 classifies the tap coefficients of the class in the first direction in which the pixels of the inclined feature amount representing the first direction are classified and the pixels of the inclined feature amount representing the second direction.
  • a difference coefficient that is the difference between the tap coefficient of the first direction class whose order is rearranged according to the rotation symmetry with the second direction class tap coefficient and the tap coefficient of the second direction class Is encoded instead of the second direction class of tap coefficients to efficiently encode the class-specific tap coefficients.
  • M ⁇ 1 pieces of pixels described in FIGS. 23 and 24 according to the inclination feature amount of the pixels are classified as class classification of tap coefficient learning (and ALF processing). Let us adopt a class classification that is classified into any of the inclination / reliability classes c1 to c # M-1.
  • FIG. 37 shows a frequency characteristic f21 of an image composed of pixels classified into the inclination / reliability class c # H as a class in the first direction, and an inclination / reliability class as a class in the second direction.
  • An example of the frequency characteristic f22 of an image constituted by pixels classified into c # V is schematically shown.
  • FIG. 37 shows the distribution of frequency components of the image with the horizontal frequency f H and the vertical frequency f V as axes.
  • the vertically elongated elliptical frequency characteristic f21 is a frequency characteristic of an image having many high frequency components in the vertical direction and few high frequency components in the horizontal direction, that is, an image having many horizontal edge regions, for example.
  • the horizontally elongated elliptical frequency characteristic f22 is a frequency characteristic of an image having a small number of high frequency components in the vertical direction and a large number of high frequency components in the horizontal direction, that is, an image having many vertical edge regions, for example.
  • tilt feature quantities representing the horizontal direction (first direction) are determined, and as a result, horizontal tilt / reliability class c # H It is classified into (class of first direction).
  • tilt feature quantities representing the vertical direction (second direction) are determined, and as a result, the vertical direction tilt / reliability class c It is classified into #V (class in the second direction).
  • An image composed of pixels classified into the horizontal inclination / reliability class c # H and an image composed of pixels classified into the vertical inclination / reliability class c # V are ⁇ / 2 It tends to have the symmetry of rotation of
  • the tap coefficient (group) of the horizontal inclination / reliability class c # H and the tap coefficient (group) of the vertical inclination / reliability class c # V are symmetry of rotation of ⁇ / 2. It becomes the tap coefficient of the tendency to have.
  • Tap coefficients of one slope / reliability class and tap coefficients of another slope / reliability class have rotational symmetry of a predetermined angle, tap coefficients of one slope / reliability class, and others Tap coefficient arranged in a tap structure of one of the tap coefficients in the slope / reliability class, when rotated by a predetermined angle, the tap coefficient after the rotation is arranged in the other tap structure It means that it has a high correlation with the coefficient (the values tend to substantially match).
  • the tap coefficient of a certain inclination / reliability class is the tap coefficient of a certain inclination / reliability class in order for the tap coefficient of one inclination / reliability class and the tap coefficient of another inclination / reliability class to have rotational symmetry of a predetermined angle.
  • the structure and the tap structure of the tap coefficient of the other slope / reliability class match the other tap structure when one of the two tap structures is rotated by a predetermined angle There is a need.
  • the tap coefficient of the horizontal inclination / reliability class (hereinafter also referred to as horizontal class) c # H and the tap of the vertical inclination / reliability class (hereinafter also referred to as vertical class) c # V
  • the coefficient is a tap coefficient that tends to have a symmetry of rotation of ⁇ / 2, so for example, the tap coefficient after rotation after rotating the tap coefficient arranged in the tap structure of horizontal class c # H by ⁇ / 2 Approximately agrees with the tap coefficients arranged in the tap structure of the vertical class c # V.
  • the lossless encoding unit 104 encodes the tap coefficient w (c # H) as it is and transmits it.
  • the lossless encoding unit 104 calculates the tap coefficient w (c # H) of the horizontal class and the tap coefficient w (c # of the vertical class c # V).
  • Tap coefficient R ⁇ w (c # H) ⁇ of the horizontal class c # H whose order is rearranged according to the symmetry of rotation with V), and tap coefficient w (c # V) of the vertical class c # V The difference coefficient .delta.w (c # H), which is the difference between them, is encoded and transmitted instead of the tap coefficient w (c # V) of the vertical class c # V.
  • the lossless encoding unit 104 performs the horizontal class c # so that the tap coefficient w (c # H) arranged in the tap structure of the horizontal class c # H is rotated by ⁇ / 2 and becomes the rotated tap coefficient.
  • the order of the tap coefficients w (c # H) of H is rearranged (the order of the plurality of tap coefficients as the tap coefficient group w (c # H) of the horizontal class c # H is rearranged).
  • the tap coefficient w (c # H) of the horizontal class c # H after this order rearrangement is described as tap coefficient R ⁇ w (c # H) ⁇ .
  • the tap coefficients R ⁇ w (c # H) ⁇ have a plurality of tap coefficients identical to the plurality of tap coefficients as the tap coefficient group w (c # H) of the horizontal class c # H.
  • a sequence of tap coefficients) is different from the tap coefficient group w (c # H).
  • the lossless encoding unit 104 determines tap coefficients R ⁇ obtained by rearranging the order of the tap coefficients w (c # H) of the horizontal class c # H from the tap coefficients w (c # V) of the vertical class c # V. By subtracting w (c # H) ⁇ , a difference coefficient ⁇ w (c # H) is obtained.
  • tap coefficients w (c # V) of the vertical class c # V are a plurality of tap coefficients, and the plurality of tap coefficients are represented as V1, V2,.
  • the tap coefficient R ⁇ w (c # H) ⁇ is also a plurality of tap coefficients, and the plurality of tap coefficients are represented as R1, R2,.
  • the lossless encoding unit 104 calculates tap coefficients R ⁇ w from tap coefficients V # i of the respective tap coefficients V1, V2, ... as tap coefficients w (c # V) of the vertical class c # V.
  • the tap coefficients R # i in the corresponding order are subtracted, and subtraction values (groups) V1-R1, V2-R2,. ⁇ ⁇ ⁇ Is obtained as a difference coefficient ⁇ w (c # H).
  • the tap coefficient R ⁇ w (c # H) ⁇ after rotation after rotating the tap coefficients arranged in the tap structure of the horizontal class c # H by ⁇ / 2 has the tap structure of the vertical class c # V. Since they almost coincide with the tap coefficients w (c # V) arranged in a shape, the difference coefficient ⁇ w (c # H) becomes a small value such as approximately 0.
  • tap coefficients of each class can be efficiently made by encoding difference coefficient ⁇ w (c # H). Encoding to improve the coding efficiency.
  • the tap coefficient w (c # H) of the horizontal class c # H and the difference coefficient ⁇ w (c # H) are encoded and When it is transmitted, the lossless decoding unit 201 of the image decoding apparatus 200 decodes the tap coefficient w (c # H) of the horizontal class c # H and further decodes the difference coefficient ⁇ w (c # H), and then the horizontal
  • the order of tap coefficients w (c # H) of class c # H is rearranged, and tap coefficients R ⁇ w (c # H) ⁇ obtained by rearrangement of the order according to equation (25)
  • the difference coefficient ⁇ w (c # H) can be decoded into the tap coefficient w (c # V) of the vertical class c # V by adding c # H).
  • calculation of the difference coefficient ⁇ w (c # H) can be performed by the ALF 110 instead of the lossless coding unit 104.
  • decoding (restoration) from the difference coefficient ⁇ w (c # H) to the tap coefficient w (c # V) of the vertical class c # V is not performed by the lossless decoding unit 201.
  • ALF 207 can be performed.
  • tap coefficients R obtained by rearranging the order of tap coefficients w (c # H) of horizontal class c # H from tap coefficients w (c # V) of vertical class c # V The difference coefficient ⁇ w (c # H) is determined by subtracting ⁇ w (c # H) ⁇ , but conversely, from the tap coefficient w (c # H) of the horizontal class c # H, the vertical class Even if the difference coefficient ⁇ w (c # V) is obtained by subtracting the tap coefficient R ⁇ w (c # V) ⁇ obtained by rearranging the order of the tap coefficients w (c # V) of c # V. Good.
  • the predetermined angle of symmetry of rotation is not limited to ⁇ / 2.
  • FIG. 38 is a diagram for explaining the change of the tap structure according to the class.
  • the tap structure of the prediction tap can be changed according to the class.
  • the pixel x n constituting the prediction tap which is the target of the filter operation of the equation (1) using the tap coefficient w n can be changed according to the class.
  • a of FIG. 38 schematically shows the frequency characteristic of the image.
  • the horizontal axis represents frequency f H in the horizontal direction
  • the vertical axis represents frequency f V in the vertical direction.
  • a of FIG. 38 represents the distribution of the frequency components of the image with the horizontal frequency f H and the vertical frequency f V as axes.
  • the frequency characteristic f31 represents the frequency characteristic of an image formed of pixels classified into the horizontal class c # H
  • the frequency characteristic f32 represents pixels classified into the vertical class c # V. Represents the frequency characteristics of the constructed image.
  • the frequency characteristic f33 represents the frequency characteristic of the image constituted by the pixels classified into the inclination / reliability class c0.
  • the frequency characteristic f31 has a vertically long oval shape, and is a frequency characteristic of an image having many high frequency components in the vertical direction and few high frequency components in the horizontal direction, that is, an image having many horizontal edge regions, for example.
  • the frequency characteristic f32 has a horizontally long elliptical shape, and is a frequency characteristic of an image having a small number of high frequency components in the vertical direction and a large number of high frequency components in the horizontal direction, that is, an image having many vertical edge regions, for example.
  • the frequency characteristic f33 has a circular shape, and is a frequency characteristic of an image in which high frequency components in each direction are substantially the same. For example, the noise of an image sensor that captures an original image has frequency characteristics such as frequency characteristics f33.
  • the reliability tr of the inclined feature decreases with respect to the image of the frequency characteristic f33, that is, the image having the same degree of high frequency components in each direction (results in values not higher than the threshold THtr), and as a result, the inclined feature Are classified into the inclination / reliability class (hereinafter also referred to as non-directionality class) c0 which does not depend on.
  • FIG. 38B shows an example of a tap structure of prediction taps configured for pixels of non-directional class c0.
  • the pixels x 1 to x 25 in a square shape centered on the pixel of interest x 13 are It is adopted as a prediction tap.
  • FIG. 38 illustrates an example of a tap structure of prediction taps configured for pixels of the horizontal class c # H.
  • the pixels x 1 to x 25 in the horizontally long rhombic range centered on the pixel of interest x 13 Is adopted as a prediction tap.
  • the prediction tap by using many pixels arranged in the horizontal direction than pixels aligned in the vertical direction with respect to the target pixel x 13 is formed.
  • Target pixel x 13 is, as classified in the horizontal class c # H, tilt feature of the subject pixel x 13 represents the horizontal direction.
  • tilt feature quantity represents the horizontal direction
  • error A tap coefficient having a smaller sum E of square errors in equation (4) is determined, and a filtered image closer to the original image can be determined by the filter operation using the tap coefficient in the ALF process.
  • D of FIG. 38 illustrates an example of a tap structure of prediction taps configured for pixels of the vertical class c # V.
  • the pixels x 1 to x 25 in the vertically elongated rhombic range centered on the pixel of interest x 13 Is adopted as a prediction tap.
  • the prediction tap by using many pixels arranged in the vertical direction than pixels aligned in the horizontal direction with respect to the target pixel x 13 is formed.
  • the inclination feature amount of the pixel of interest x 13 indicates the vertical direction.
  • the target pixel x 13 to tilt feature quantity represents the vertical direction, by forming the predictive taps using many pixels arranged in the vertical direction indicated by the tilt feature quantity of the target pixel x 13, in the tap coefficient learning, error A smaller tap coefficient is determined, and in the ALF processing, a filtered image closer to the original image can be determined by the filter operation using the tap coefficient.
  • FIG. 39 is a diagram further illustrating the change of the tap structure according to the class.
  • a of FIG. 39 schematically shows the frequency characteristic of the image.
  • the horizontal axis represents the frequency f H in the horizontal direction
  • the vertical axis represents the frequency f V in the vertical direction.
  • the frequency characteristic f41 has an elliptical shape in which the major axis is directed in the upper right (lower left) direction, there are many high frequency components in the upper right direction, and less high frequency components in the upper left (lower right) direction. That is, for example, it is a frequency characteristic of an image having many upper left edge regions in which an upper left direction edge (edge extending in the upper left direction) is dominant.
  • the inclination feature amount representing the upper left direction is obtained, and as a result, it is classified into the upper left inclination / reliability class c # S.
  • FIG. 39 illustrates an example of a tap structure of a prediction tap configured for a pixel of the tilt / reliability class c # S in the upper left direction.
  • the pixel x 10 is the pixel of interest and the pixel of interest x 10 is classified into the upper left direction inclination / reliability class c # S, the upper left (lower right) direction is centered on the pixel of interest x 10
  • a rectangular range of pixels x 1 to x 25 in the longitudinal direction is employed as a prediction tap.
  • the prediction tap by using many pixels arranged in the upper left and lower right direction from the pixels aligned in the upper right and lower left directions with respect to the target pixel x 10 is formed.
  • tap coefficient learning tap coefficients with smaller errors are determined, and in ALF processing, more original images are obtained by filter operations using such tap coefficients. A close filtered image can be determined.
  • the tap structure of the prediction tap is changed according to the class, that is, when the tap structure of the prediction tap is different for each class, (the pixel value of the pixel as the prediction tap)
  • the tap structure of the tap coefficients used for the filter operation of ⁇ circle around (1) ⁇ also differs depending on the class.
  • B to D in FIG. 38 and B in FIG. 39 adopt 25 pixels as the number of pixels constituting the prediction tap, the number of pixels constituting the prediction tap is limited to 25 pixels. It is not something to be done.
  • FIG. 40 is a diagram for explaining an example of generation of a classification parameter in the classification parameter generation unit 131 (FIG. 5).
  • the class classification parameter generation unit 131 generates a class classification parameter such that, for example, pixels of the image in the middle of decoding of one picture are equally classified into each class as an update unit for updating the tap coefficient.
  • FIG. 40 shows the probability density pb1 of the feature amount of each pixel of one picture as an update unit and the probability density pb2 of the feature amount of each pixel of another one picture.
  • the horizontal axis represents the feature amount of the pixel
  • the vertical axis represents the probability density of the feature amount
  • the probability density pb1 is large when the feature amount is small, and decreases as the feature amount increases.
  • the probability density pb2 is large when the feature amount is a medium value, and decreases as the feature amount deviates from the medium value.
  • a of FIG. 40 is a diagram for explaining classification in the case where a threshold as a classification parameter is fixed.
  • the variance of pixel values is used as the feature amount of the pixel, and in the class classification, the feature amount of the pixel is compared with the threshold value as the class classification parameter. Based on the comparison result, the pixels are classified into classes according to (the size of) the feature amount.
  • the threshold value of the feature amount as a class classification parameter is fixed to THv1, THv2, THv3, and THv4.
  • the probability density of pixels whose feature value is less than THv1 is higher than the probability density of pixels of feature values of other values
  • the probability density pb2 is characterized by The probability density of pixels whose amount is greater than or equal to THv1 and less than THv2 is higher than the probability density of pixels having feature values of other values.
  • the threshold value of the feature amount is fixed to THv1 to THv4, for an image with probability density pb1 (image with probability density of feature amount pb1), pixels classified into classes with feature amount less than THv1 are , More than the pixels classified into other classes. Similarly, for an image with probability density pb2, the number of pixels classified into classes having a feature amount of THv1 or more and less than THv2 is larger than the number of pixels classified into other classes.
  • the threshold value of the feature amount is fixed, the number of pixels classified into a specific class is larger than the pixels classified into other classes due to the difference in the probability density of the feature amount of the image. In other words, the result of classification is biased.
  • the effect of the class classification of the target pixel performed to determine the tap coefficient used for the filter calculation may be weakened when performing the filter calculation on the target pixel.
  • the class classification parameter generation unit 131 generates class classification parameters so that, for example, the pixels of the image in the middle of decoding one picture are equally classified into each class as an update unit for updating the tap coefficient. Do.
  • the threshold is set such that the width between adjacent threshold values increases as the feature amount increases. It is generated as a parameter.
  • each pixel of the image of probability density pb2 is equally classified into each class. That is, each pixel of the image of the probability density pb2 is appropriately classified.
  • the class classification parameter generation unit 131 uses, as an update unit for updating the tap coefficient, using the original image, for example, the class classification parameter so that the pixels of the picture in the middle of decoding one picture are equally classified into each class. Generate
  • the class classification parameter generation unit 131 obtains the probability density of the feature amount from the original image of the update unit, and the pixels of the image in the middle of the decoding of the update unit are equally classified into each class according to the probability density. , Generate classification parameters.
  • the class of the decoding intermediate image of the update unit is equally classified into each class according to the intermediate image of the update unit, not the original image of the update unit.
  • Classification parameters can be generated. That is, for example, in the class classification parameter generation unit 131, the feature amount of the in-process decoded image of the update unit is determined, and the pixels in the in-process decoded image of the update unit are equally classified into each class according to a predetermined rule As noted, classification parameters can be generated.
  • the image decoding device 200 also generates the class classification parameter using the decoding middle image. Since it is possible to transmit the classification parameter from the image coding device 100 to the image decoding device 200, coding efficiency can be further improved.
  • the class classification parameter can be generated using, for example, the decoding midway image and the original image of the update unit. That is, in the class classification parameter generation unit 131, the threshold value of the feature amount used for class classification is changed to various values to perform tap coefficient learning, and in the tap coefficient learning, the sum E of square errors of Equation (4) It is possible to generate, as a class classification parameter, a threshold of a feature that makes L more smaller, and a threshold of a feature when the pixels of the image during decoding used for tap coefficient learning are equally classified into each class.
  • the above-described series of processes may be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 41 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 801, a read only memory (ROM) 802, and a random access memory (RAM) 803 are mutually connected by a bus 804.
  • an input / output interface 810 is connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the input unit 811 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 812 includes a display, a speaker, and the like.
  • the storage unit 813 includes a hard disk, a non-volatile memory, and the like.
  • the communication unit 814 is formed of a network interface or the like.
  • the drive 815 drives removable media 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program. A series of processing is performed.
  • the program executed by the computer 800 can be provided by being recorded on, for example, a removable medium 821 as a package medium or the like. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable media 821 to the drive 815. Further, the program can be received by the communication unit 814 via a wired or wireless transmission medium, and can be installed in the storage unit 813. In addition, the program can be installed in advance in the ROM 802 or the storage unit 813.
  • the program executed by the computer 800 may be a program that performs processing in chronological order according to the order described in this specification, or in parallel, or when necessary, such as when a call is made. It may be a program in which processing is performed.
  • FIG. 42 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface (I / F) unit 909, and a control unit.
  • a user interface (I / F) unit 911 and a bus 912 are provided.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television apparatus 900 that receives a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. Further, the decoder 904 outputs the audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical user interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Also, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 which receives the encoded stream in which the image is encoded.
  • the control unit 910 has a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface unit 911 by executing a program.
  • the user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 has, for example, buttons and switches for the user to operate the television device 900, and a receiver for remote control signals.
  • the user interface unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 mutually connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910.
  • the decoder 904 may have the function of the image decoding device 200 described above. That is, the decoder 904 may decode the encoded data by the method described in each of the above embodiments. By doing so, the television device 900 can obtain the same effects as those of the above-described embodiments.
  • the video signal processing unit 905 encodes, for example, the image data supplied from the decoder 904, and the obtained encoded data is transmitted via the external interface unit 909. It may be possible to output to the outside of the television device 900. Then, the video signal processing unit 905 may have the function of the image coding apparatus 100 described above. That is, the video signal processing unit 905 may encode the image data supplied from the decoder 904 by the method described in each of the above embodiments. By doing so, the television device 900 can obtain the same effects as those of the above-described embodiments.
  • FIG. 43 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 mutually connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture images, record data, and the like in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses and D / A converts audio data to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. The communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the content of the e-mail, and also supplies the e-mail data to the recording and reproduction unit 929 to write the data on the storage medium.
  • the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, and may be an externally mounted type such as a hard disk, a magnetic disk, a magnetooptical disk, an optical disk, a USB (Universal Serial Bus) memory, or a memory card. Storage media.
  • the camera unit 926 captures an image of a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926, supplies the encoded stream to the recording and reproduction unit 929, and causes the recording medium to write the encoded stream.
  • the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the read encoded stream to the image processing unit 927.
  • the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 may have the function of the image encoding device 100 described above. That is, the image processing unit 927 may encode the image data by the method described in each of the above embodiments. By doing this, the cellular phone 920 can obtain the same effects as those of the above-described embodiments.
  • the image processing unit 927 may have the function of the image decoding apparatus 200 described above. That is, the image processing unit 927 may decode the encoded data by the method described in each of the above embodiments. By doing this, the cellular phone 920 can obtain the same effects as those of the above-described embodiments.
  • FIG. 44 shows an example of a schematic configuration of a recording and reproducing device to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 942, an encoder 943, a hard disk drive (HDD) unit 944, a disk drive 945, a selector 946, a decoder 947, an on-screen display (OSD) unit 948. , A control unit 949, and a user interface (I / F) unit 950.
  • I / F external interface
  • HDD hard disk drive
  • OSD on-screen display
  • a control unit 949 and a user interface (I / F) unit 950.
  • the tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown) and demodulates the extracted signal. Then, the tuner 941 outputs the coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing device 940.
  • the external interface unit 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
  • the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, a flash memory interface, or the like.
  • video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface unit 942 are not encoded. Then, the encoder 943 outputs the coded bit stream to the selector 946.
  • the HDD unit 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. The HDD unit 944 also reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data on the attached recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD (Digital Versatile Disc) disk (DVD-Video, DVD-RAM (DVD-Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD- Rewritable, DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc. or Blu-ray (registered trademark) disc etc.
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected coded bit stream to the HDD unit 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD unit 944 or the disk drive 945 to the decoder 947 when playing back video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD unit 948. Further, the decoder 947 outputs the generated audio data to an external speaker.
  • the OSD unit 948 reproduces the video data input from the decoder 947 and displays the video.
  • the OSD unit 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface unit 950 by executing a program.
  • the user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes, for example, a button and a switch for the user to operate the recording and reproducing device 940, a reception unit of a remote control signal, and the like.
  • the user interface unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 may have the function of the image coding apparatus 100 described above. That is, the encoder 943 may encode the image data by the method described in the above embodiments. By doing so, the recording and reproducing device 940 can obtain the same effects as those of the above-described embodiments.
  • the decoder 947 may have the function of the image decoding apparatus 200 described above. That is, the decoder 947 may decode the encoded data by the method described in each of the above embodiments. By doing so, the recording and reproducing device 940 can obtain the same effects as those of the above-described embodiments.
  • FIG. 45 shows an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface (I / F) unit 966, a memory unit 967, a media drive 968, an OSD unit 969, and control. And a user interface (I / F) unit 971 and a bus 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface unit 971 is connected to the control unit 970.
  • the bus 972 mutually connects the image processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD unit 969, and the control unit 970.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD charge coupled device
  • CMOS complementary metal oxide semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface unit 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image.
  • the image processing unit 964 may superimpose the display data acquired from the OSD unit 969 on the image to be output to the display unit 965.
  • the OSD unit 969 generates an image of a GUI such as, for example, a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • a GUI such as, for example, a menu, a button, or a cursor
  • the external interface unit 966 is configured as, for example, a USB input / output terminal.
  • the external interface unit 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface unit 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may be installed in the imaging device 960.
  • the external interface unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted in the media drive 968 may be, for example, any removable readable / writable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface unit 971 by executing a program.
  • the user interface unit 971 is connected to the control unit 970.
  • the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 may have the function of the image coding device 100 described above. That is, the image processing unit 964 may encode the image data by the method described in each of the above embodiments. By doing so, the imaging device 960 can obtain the same effects as those of the above-described embodiments.
  • the image processing unit 964 may have the function of the image decoding device 200 described above. That is, the image processing unit 964 may decode the encoded data by the method described in each of the above embodiments. By doing so, the imaging device 960 can obtain the same effects as those of the above-described embodiments.
  • the present technology can be applied to any configuration installed in an apparatus or system, for example, a processor as a system LSI (Large Scale Integration) or the like, a module using a plurality of processors, a unit using a plurality of modules, etc. It can also be implemented as a set or the like in which other functions are further added to the unit (ie, a part of the configuration of the apparatus).
  • FIG. 46 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
  • the video set 1300 shown in FIG. 46 is such a multi-functionalized configuration, and the device having a function related to image encoding and / or decoding may be included in the function. It is a combination of devices with other related functions.
  • a video set 1300 includes modules such as a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and related modules such as connectivity 1321, a camera 1322 and a sensor 1323. And a device having a function.
  • a module is a component that combines several component functions that are related to one another into components with a cohesive function.
  • the specific physical configuration is arbitrary, for example, it is conceivable that a plurality of processors having respective functions, electronic circuit elements such as resistors and capacitors, and other devices are disposed and integrated on a wiring board or the like. . It is also conceivable to combine a module with another module or processor to make a new module.
  • the video module 1311 is a combination of the configuration having the function related to image processing, and includes an application processor, a video processor, a broadband modem 1333 and an RF module 1334.
  • the processor is one in which a configuration having a predetermined function is integrated on a semiconductor chip by SoC (System On a Chip), and there is also one called a system LSI (Large Scale Integration) or the like.
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, etc., and a program (software configuration) to be executed using them. And both may be combined.
  • a program has a logic circuit and a CPU, a ROM, a RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and a program (software configuration) executed on the CPU It may be realized by
  • the application processor 1331 in FIG. 46 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 can not only perform arithmetic processing in order to realize a predetermined function, but can also control the configuration inside and outside the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding and / or decoding.
  • the broadband modem 1333 generates analog signals by digitally modulating data (digital signals) to be transmitted by wired and / or wireless (or both) broadband communications performed via broadband circuits such as the Internet and public telephone networks. It converts or demodulates an analog signal received by the broadband communication to convert it into data (digital signal).
  • the broadband modem 1333 processes arbitrary information such as, for example, image data processed by the video processor 1332, a stream encoded with the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 performs frequency conversion and the like on the baseband signal generated by the broadband modem 1333 to generate an RF signal. Also, for example, the RF module 1334 performs frequency conversion or the like on the RF signal received via the front end module 1314 to generate a baseband signal.
  • RF Radio Frequency
  • the application processor 1331 and the video processor 1332 may be integrated to be configured as one processor.
  • the external memory 1312 is a module provided outside the video module 1311 and having a storage device used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, it is generally used to store a large amount of data such as image data in units of frames.
  • a relatively inexpensive and large-capacity semiconductor memory such as a dynamic random access memory (DRAM).
  • DRAM dynamic random access memory
  • the power management module 1313 manages and controls the power supply to the video module 1311 (each configuration in the video module 1311).
  • the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit of transmitting and receiving ends on the antenna side). As shown in FIG. 46, the front end module 1314 has, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • the antenna unit 1351 includes an antenna that transmits and receives a wireless signal and a configuration around the antenna.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a wireless signal, and supplies the received wireless signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs filter processing or the like on the RF signal received via the antenna unit 1351, and supplies the processed RF signal to the RF module 1334.
  • the amplification unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies it to the antenna unit 1351.
  • the connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the connectivity 1321 conforms to a wireless communication standard such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity (registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association)
  • a module having a function, an antenna that transmits and receives a signal conforming to the standard, or the like may be included.
  • the connectivity 1321 has a module having a communication function conforming to a wired communication standard such as Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI (registered trademark)), or a terminal conforming to the standard. You may do so.
  • the connectivity 1321 may have another data (signal) transmission function or the like such as an analog input / output terminal.
  • the connectivity 1321 may include a device to which data (signal) is to be transmitted.
  • a drive in which the connectivity 1321 reads and writes data to a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive but also a hard disk or SSD (Solid State Drive) , NAS (Network Attached Storage), etc.
  • the connectivity 1321 may include an output device (such as a monitor or a speaker) of an image or sound.
  • the camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
  • the image data obtained by the imaging of the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 is, for example, an audio sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is, for example, supplied to the application processor 1331 and used by an application or the like.
  • the configuration described above as a module may be realized as a processor, and conversely, the configuration described as a processor may be realized as a module.
  • video set 1300 configured as described above, the present technology can be applied to the video processor 1332 as described later.
  • video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 47 shows an example of a schematic configuration of a video processor 1332 (FIG. 46) to which the present technology is applied.
  • the video processor 1332 receives an input of a video signal and an audio signal, and has a function of encoding these in a predetermined scheme, decoding encoded video data and audio data, a video signal and And a function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image scaling unit 1402, a second image scaling unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 has an encoding / decoding engine 1407, video ES (Elementary Stream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 further includes an audio encoder 1410, an audio decoder 1411, a multiplexer (MUX (Multiplexer)) 1412, a demultiplexer (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexer
  • DMUX demultiplexer
  • the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 46) or the like, and converts the video signal into digital image data.
  • the first image scaling unit 1402 performs format conversion, image scaling processing, and the like on image data.
  • the second image scaling unit 1403 performs image scaling processing on the image data according to the format at the output destination via the video output processing unit 1404, or the same as the first image scaling unit 1402. Format conversion, image enlargement / reduction processing, etc.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data, and outputs the reproduced video signal to, for example, the connectivity 1321 or the like.
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized, for example, as a semiconductor memory such as a DRAM.
  • the memory control unit 1406 receives a synchronization signal from the encode / decode engine 1407 and controls write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access control table 1406A is updated by the memory control unit 1406 in accordance with the processing executed by the encoding / decoding engine 1407, the first image scaling unit 1402, the second image scaling unit 1403 and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream which is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the image data as a video stream in the video ES buffer 1408A. Also, for example, the video stream is sequentially read from the video ES buffer 1408 B and decoded, and is sequentially written to the frame memory 1405 as image data. The encoding / decoding engine 1407 uses the frame memory 1405 as a work area in these encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at the timing of starting processing for each macroblock.
  • the video ES buffer 1408 A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffer to the multiplexer (MUX) 1412.
  • the video ES buffer 1408 B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the video stream to the encode / decode engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffer to the multiplexer (MUX) 1412.
  • the audio ES buffer 1409 B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the audio stream to the audio decoder 1411.
  • the audio encoder 1410 digitally converts, for example, an audio signal input from the connectivity 1321 or the like, and encodes the signal according to a predetermined method such as the MPEG audio method or the AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, into the audio ES buffer 1409A.
  • the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, and the like, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 and the like.
  • a multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the method of this multiplexing ie, the format of the bit stream generated by multiplexing
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the format of the stream by multiplexing.
  • the multiplexing unit (MUX) 1412 converts a video stream and an audio stream into a transport stream, which is a bit stream of a transfer format, by multiplexing the video stream and the audio stream.
  • the multiplexing unit (MUX) 1412 converts the video stream and the audio stream into data (file data) of a file format for recording by multiplexing.
  • a demultiplexing unit (DMUX) 1413 demultiplexes a bitstream in which a video stream and an audio stream are multiplexed in a method corresponding to multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts a video stream and an audio stream from the bit stream read from the stream buffer 1414 (separate the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the format of the stream by demultiplexing (inverse conversion of conversion by the multiplexer (MUX) 1412).
  • the demultiplexer unit (DMUX) 1413 acquires a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414, and demultiplexes the transport stream to obtain a video stream and an audio stream. And can be converted to Also, for example, the demultiplexer unit (DMUX) 1413 acquires file data read from various recording media by the connectivity 1321, for example, through the stream buffer 1414, and demultiplexes the file data to obtain a video stream and audio. It can be converted to a stream.
  • the stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, the connectivity 1321 or the broadband modem 1333 or the like at a predetermined timing or based on an external request or the like. Supply.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies the file data to, for example, the connectivity 1321 or the like at a predetermined timing or based on an external request or the like. Record on various recording media.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers a transport stream acquired via, for example, the connectivity 1321 or the broadband modem 1333 or the like, and the demultiplexer unit (DMUX) at a predetermined timing or based on an external request or the like. Supply to 1413.
  • DMUX demultiplexer unit
  • the stream buffer 1414 buffers file data read from various recording media, for example, in the connectivity 1321 or the like, and is demultiplexed (DMUX) 1413 at a predetermined timing or based on an external request or the like.
  • DMUX demultiplexed
  • a video signal input from the connectivity 1321 or the like to the video processor 1332 is converted into digital image data of a predetermined format such as 4: 2: 2 Y / Cb / Cr format in the video input processing unit 1401, and is converted to frame memory 1405. It will be written sequentially.
  • This digital image data is read by the first image scaling unit 1402 or the second image scaling unit 1403, and format conversion and scaling processing to a predetermined format such as 4: 2: 0 Y / Cb / Cr format And are written to the frame memory 1405 again.
  • This image data is encoded by the encoding / decoding engine 1407 and written to the video ES buffer 1408A as a video stream.
  • an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream to the audio ES buffer 1409A.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexer (MUX) 1412 and converted into a transport stream or file data.
  • the transport stream generated by the multiplexer (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and the like, and recorded in various recording media.
  • a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
  • DMUX demultiplexer
  • file data read from various recording media in connectivity 1321 and the like and input to the video processor 1332 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal. Also, after the video stream is written to the video ES buffer 1408 B, it is sequentially read and decoded by the encoding / decoding engine 1407 and written to the frame memory 1405. The decoded image data is scaled by the second image scaling unit 1403 and written to the frame memory 1405. Then, the decoded image data is read by the video output processing unit 1404, converted into a predetermined format such as 4: 2: 2 Y / Cb / Cr format, and further converted into an analog signal, and the video signal is converted. Is reproduced and output.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the function of the image coding apparatus 100 and / or the function of the image decoding apparatus 200 described above. By doing so, the video processor 1332 can obtain the same effects as those of the above-described embodiments.
  • the present technology (that is, the function of the image encoding device 100 and / or the function of the image decoding device 200) may be realized by hardware such as a logic circuit. It may be realized by software such as an embedded program or may be realized by both of them.
  • FIG. 48 illustrates another example of a schematic configuration of a video processor 1332 to which the present technology is applied.
  • the video processor 1332 has a function of encoding / decoding video data in a predetermined scheme.
  • the video processor 1332 has a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515. Also, the video processor 1332 has a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 has, for example, a main CPU 1531, a sub CPU 1532 and a system controller 1533.
  • the main CPU 1531 executes a program or the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program or the like and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process or a subroutine of a program or the like executed by the main CPU 1531.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs image data to, for example, the connectivity 1321 under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs the converted signal as a reproduced video signal or the image data of digital data as it is to a monitor of the connectivity 1321 or the like.
  • the display engine 1513 performs various conversion processing such as format conversion, size conversion, color gamut conversion, and the like on the image data under the control of the control unit 1511 so as to match the hardware specifications of the monitor device or the like that displays the image. I do.
  • the image processing engine 1514 performs predetermined image processing, such as filter processing for improving the image quality, on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided in the video processor 1332 shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and the data is displayed on the display engine 1513 as needed (for example, on request). It is supplied to the image processing engine 1514 or codec engine 1516.
  • This internal memory 1515 may be realized by any storage device, but is generally used to store small-capacity data such as image data in units of blocks and parameters, etc. It is desirable to realize by a semiconductor memory that has a relatively small capacity (compared to, for example, the external memory 1312) such as a static random access memory, but has a high response speed.
  • the codec engine 1516 performs processing relating to encoding and decoding of image data.
  • the encoding / decoding method to which this codec engine 1516 corresponds is arbitrary, and the number may be one or more.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding methods, and one of them may be selected to encode image data or decode encoded data.
  • the codec engine 1516 includes, for example, MPEG-2 Video 1541, AVC / H.264 1542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544 as functional blocks of processing relating to the codec. It has HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551.
  • the MPEG-2 Video 1541 is a functional block that encodes and decodes image data according to the MPEG-2 system.
  • AVC / H.2641542 is a functional block that encodes or decodes image data according to the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data according to the HEVC scheme.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding or scalable decoding of image data according to the HEVC scheme.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that performs multi-view coding and multi-view decoding of image data according to the HEVC method.
  • the MPEG-DASH 1551 is a functional block that transmits and receives image data in accordance with the MPEG-Dynamic Adaptive Streaming over HTTP (MPEG-DASH) method.
  • MPEG-DASH is a technology that performs streaming of video using HTTP (HyperText Transfer Protocol), and selects and transmits, in units of segments, an appropriate one from a plurality of pieces of encoded data having different resolutions prepared in advance and the like. To be one of the features.
  • the MPEG-DASH 1551 performs generation of a stream conforming to the standard, transmission control of the stream, etc.
  • the encoding / decoding of image data can be performed according to the MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 and the codec engine 1516 are supplied to the external memory 1312 via the memory interface 1517. Also, data read from the external memory 1312 is supplied to the video processor 1332 (image processing engine 1514 or codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes or demultiplexes various data related to an image, such as a bit stream of encoded data, an image data, a video signal, and the like.
  • the method of multiplexing / demultiplexing is optional.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information etc. to each divided data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes a bit stream to transport stream, which is a bit stream of transfer format, or data of file format for recording (file data). Can be converted to Of course, inverse conversion is also possible by demultiplexing.
  • the network interface 1519 is an interface for, for example, the broadband modem 1333 or the connectivity 1321.
  • the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
  • a transport stream is received from the external network via the connectivity 1321 or the broadband modem 1333 or the like
  • the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519. It is demultiplexed and decoded by the codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected, for example, to predetermined image processing by the image processing engine 1514, to predetermined conversion by the display engine 1513, and to, for example, the connectivity 1321 via the display interface 1512.
  • the image is supplied and displayed on a monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • the information is output to the connectivity 1321 or the like via the interface 1520 and recorded in various recording media.
  • file data of encoded data obtained by encoding image data and read out from a recording medium (not shown) by the connectivity 1321 or the like is multiplexed / demultiplexed (MUX DMUX) via the video interface 1520.
  • 1516 are demultiplexed and decoded by codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. , That image is displayed on the monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream, For example, it is supplied to the connectivity 1321 or the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
  • MUX DMUX multiplexing / demultiplexing unit
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
  • the power management module 1313 controls, for example, the power supply to the control unit 1511.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have the function of the image coding apparatus 100 and / or the function of the image decoding apparatus 200 described above. By doing so, the video processor 1332 can obtain the same effects as those of the above-described embodiments.
  • the present technology (that is, the function of the image encoding device 100) may be realized by hardware such as a logic circuit or may be realized by software such as an embedded program. It may be realized by both of them.
  • the configuration of the video processor 1332 is arbitrary, and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips.
  • a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used.
  • it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices for processing image data.
  • the video set 1300 can be incorporated into the television 900 (FIG. 42), the mobile phone 920 (FIG. 43), the recording / reproducing device 940 (FIG. 44), the imaging device 960 (FIG. 45), and the like.
  • the apparatus can obtain the same effects as those of the above-described embodiments.
  • each configuration of the video set 1300 described above can be implemented as a configuration to which the present technology is applied, as long as the video processor 1332 is included.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor or the video module 1311 or the like indicated by the dotted line 1341 can be implemented as a processor or module or the like to which the present technology is applied.
  • the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 may be combined to be implemented as a video unit 1361 to which the present technology is applied. With any configuration, the same effects as those of the above-described embodiments can be obtained.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data as in the case of the video set 1300.
  • the video processor 1332 the processor indicated by the dotted line 1341, the video module 1311 or the video unit 1361, the television device 900 (FIG. 42), the mobile phone 920 (FIG. 43), the recording / reproducing device 940 (FIG. 44) It can be incorporated into an imaging device 960 (FIG. 45) or the like. Then, by incorporating any of the configurations to which the present technology is applied, the device can obtain the same effects as those of the above-described embodiments, as in the case of the video set 1300.
  • FIG. 49 illustrates an example of a schematic configuration of a network system to which the present technology is applied.
  • a network system 1600 shown in FIG. 49 is a system in which devices exchange information related to an image (moving image) via a network.
  • the cloud service 1601 of the network system 1600 is connected to a terminal such as a computer 1611, an AV (Audio Visual) device 1612, a portable information processing terminal 1613, an IoT (Internet of Things) device 1614 connected communicably to itself.
  • the cloud service 1601 provides a terminal with a service for supplying content of images (moving images), such as so-called moving image distribution (on-demand or live distribution).
  • the cloud service 1601 provides a backup service for receiving and storing the content of an image (moving image) from a terminal.
  • the cloud service 1601 provides a service that mediates the exchange of content of images (moving images) between terminals.
  • the physical configuration of the cloud service 1601 is arbitrary.
  • the cloud service 1601 includes various servers such as a server that stores and manages moving images, a server that distributes moving images to terminals, a server that acquires moving images from terminals, a server that manages users (terminals) and billing, , And may have an arbitrary network such as the Internet or LAN.
  • the computer 1611 is configured by, for example, an information processing apparatus such as a personal computer, a server, a workstation, and the like.
  • the AV device 1612 is configured by an image processing device such as, for example, a television receiver, a hard disk recorder, a game device, a camera or the like.
  • the portable information processing terminal 1613 is configured of, for example, a portable information processing apparatus such as a laptop personal computer, a tablet terminal, a mobile phone, a smartphone, and the like.
  • the IoT device 1614 is configured of, for example, a machine, a home appliance, furniture, other objects, an IC tag, a card type device, or any other object that performs processing related to an image.
  • Each of these terminals has a communication function, can connect to the cloud service 1601 (establish a session), and exchange information with the cloud service 1601 (that is, communicate). Each terminal can also communicate with other terminals. Communication between terminals may be performed via the cloud service 1601 or may be performed without the cloud service 1601.
  • the present technology When the present technology is applied to the network system 1600 as described above, and image (moving image) data is exchanged between terminals or between the terminal and the cloud service 1601, the image data is used in each embodiment.
  • encoding and decoding may be performed. That is, the terminals (computers 1611 to IoT devices 1614) and the cloud service 1601 may have the functions of the above-described image encoding device 100 and image decoding device 200, respectively. By doing so, the terminal (computer 1611 to IoT device 1614) that transmits and receives image data and the cloud service 1601 can obtain the same effects as those of the above-described embodiments.
  • encoded data may be multiplexed and transmitted or recorded in encoded data, or may be encoded with encoded data without being multiplexed in encoded data. It may be transmitted or recorded as associated separate data.
  • association means, for example, that one data can be processed (linked) in processing the other data. That is, the data associated with each other may be collected as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from that of the coded data (image).
  • information associated with encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the encoded data (image). Good.
  • association may not be the entire data but a part of the data.
  • an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part in a frame.
  • a decoding unit that decodes A class classification unit for performing class classification that classifies the pixel of interest into any one of a plurality of classes using an inclination feature amount representing a tangent direction of a contour line of a pixel value of the pixel of interest in the decoding intermediate image; , An operation unit that performs a filter operation on the in-process image using the tap coefficient of the class of the pixel of interest among the tap coefficients for each class.
  • the decoding apparatus according to ⁇ 1>, wherein the class classification unit classifies the pixel of interest using the tilt feature amount of the pixel of interest and the reliability of the tilt feature amount of the pixel of interest.
  • the inclination feature amount of the target pixel is a representative value representing the tangent direction of the contour line of each pixel of the peripheral region of the target pixel
  • the reliability of the inclination feature amount of the pixel of interest represents a degree to which there is no direction different from the direction represented by the representative value in the tangent direction of the contour line of each pixel of the peripheral region.
  • the class classification unit classifies the pixel of interest using the gradient feature amount of the pixel of interest and other feature amounts other than the reliability as well.
  • the decoding device according to ⁇ 2> or ⁇ 3> .
  • ⁇ 5> The decoding apparatus according to ⁇ 4>, wherein the other feature amount is a feature amount representing a high frequency component of a high frequency region around the target pixel.
  • the decoding unit decodes a predetermined class classification parameter used to process the feature amount of the pixel of interest in the class classification, The decoding apparatus according to any one of ⁇ 1> to ⁇ 5>, wherein the class classification unit classifies the target pixel by processing a feature amount of the target pixel using the class classification parameter.
  • ⁇ 7> The decoding apparatus according to ⁇ 6>, wherein the class classification parameter is generated using the original image so that pixels are equally classified in each of the plurality of classes.
  • the decoding unit is configured to classify tap coefficients of a class in a first direction in which the pixels of the inclined feature representing the first direction are classified, and pixels of the inclined feature representing the second direction are classified. Difference coefficient which is a difference between the tap coefficient of the first direction class and the tap coefficient of the second direction class whose order is rearranged according to the rotation symmetry with the direction tap coefficient of the second direction class.
  • the decoding device according to any one of ⁇ 1> to ⁇ 7>.
  • ⁇ 9> The decoding device according to any one of ⁇ 1> to ⁇ 8>, wherein the tap structure of the tap coefficient of each class is different for each class.
  • the decryption device Tap coefficients for each class obtained by learning to minimize an error using a decoded intermediate image obtained by adding the residual of predictive coding and a predicted image and the original image corresponding to the intermediate image Decryption and Performing class classification for classifying the pixel of interest into any one of a plurality of classes using an inclination feature amount representing a tangent direction of a contour line of the pixel value of the pixel of interest of the image during decoding; Performing a filter operation on the in-process image using the tap coefficient of the class of the pixel of interest among the tap coefficients for each class.
  • the target pixel can be selected from a plurality of classes using a slope feature amount that represents the tangent direction of the contour line of the pixel value of the target pixel of the in-process image obtained by adding the residual of predictive coding and the predicted image.
  • a classification unit that performs classification into any of the classes of Using tap coefficients of the class of the pixel of interest among tap coefficients for each of the classes obtained by learning that minimizes an error using the image in the middle of decoding and an original image corresponding to the image in the middle of decoding
  • An operation unit that performs a filter operation on the image during decoding;
  • An encoding unit that encodes the tap coefficients.
  • the encoding device wherein the class classification unit classifies the pixel of interest using the inclination feature amount of the pixel of interest and the reliability of the inclination feature amount of the pixel of interest.
  • the inclination feature amount of the target pixel is a representative value representing the tangent direction of the contour line of each pixel of the peripheral region of the target pixel,
  • the reliability of the inclination feature amount of the target pixel represents a degree to which there is no direction different from the direction represented by the representative value in the tangent direction of the contour line of each pixel in the peripheral region.
  • the class classification unit classifies the pixel of interest by using the gradient feature amount of the pixel of interest and other feature amounts other than the reliability, as described in ⁇ 12> or ⁇ 13>.
  • apparatus. ⁇ 15> The encoding apparatus according to ⁇ 14>, wherein the other feature quantity is a feature quantity representing a high frequency component of a high frequency region around the target pixel.
  • the class classification unit classifies the pixel of interest by processing feature quantities of the pixel of interest using a predetermined class classification parameter.
  • the encoding unit according to any one of ⁇ 11> to ⁇ 15>, which encodes the class classification parameter.
  • the encoding device further comprising: a classification parameter generation unit configured to generate the classification parameter such that pixels are equally classified into each of the plurality of classes using the original image.
  • the encoding unit is configured to classify tap coefficients of a class in a first direction in which the pixels of the inclined feature representing the first direction are classified, and pixels of the inclined feature representing the second direction are classified. The difference between the tap coefficient of the first direction class whose order is rearranged according to the rotation symmetry with the 2 direction class tap coefficients and the tap coefficient of the second direction class.
  • the coding apparatus according to any one of ⁇ 11> to ⁇ 17>, wherein the coefficient is encoded instead of the tap coefficient of the class in the second direction.
  • the encoding device according to any one of ⁇ 11> to ⁇ 18>, wherein a tap structure of tap coefficients of each class is different for each class.
  • the coding device The target pixel can be selected from a plurality of classes using a slope feature amount that represents the tangent direction of the contour line of the pixel value of the target pixel of the in-process image obtained by adding the residual of predictive coding and the predicted image.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本技術は、符号化効率を改善することができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。 符号化装置及び復号装置は、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、復号途中画像と、復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数のうちの、注目画素のクラスのタップ係数を用いて、復号途中画像とのフィルタ演算を行う。本技術は、画像の符号化や復号を行う場合に適用することができる。

Description

符号化装置、符号化方法、復号装置、及び、復号方法
 本技術は、符号化装置、符号化方法、復号装置、及び、復号方法に関し、特に、例えば、画像の符号化効率を改善することができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。
 予測符号化方式の1つである、例えば、HEVC(High Efficiency Video Coding)で提案されたILF(In Loop Filter)としては、ブロックノイズを低減するためのDF(Deblocking Filter)、リンギングを低減するためのSAO(Sample Adaptive Offset)、符号化誤差(復号画像の、元画像に対する誤差)を最小化するためのALF(Adaptive Loop Filter)がある。
 ALFについては、特許文献1に記載され、SAOについては、特許文献2に記載されている。
特許第5485983号公報 特表2014-523183号公報
 近年、符号化効率をより改善することができるILFの提案が要請されている。
 本技術は、このような状況に鑑みてなされたものであり、符号化効率を改善することができるようにするものである。
 本技術の復号装置は、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数を復号する復号部と、前記復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行う演算部とを備える復号装置である。
 本技術の復号方法は、復号装置が、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数を復号することと、前記復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うことと、前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行うこととを含む復号方法である。
 本技術の復号装置及び復号方法においては、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数が復号される。また、前記復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類が行われ、前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算が行われる。
 本技術の符号化装置は、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、前記復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められる前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行う演算部と、前記タップ係数を符号化する符号化部とを備える符号化装置である。
 本技術の符号化方法は、符号化装置が、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うことと、前記復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められる前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行うことと、前記タップ係数を符号化することとを含む符号化方法である。
 本技術の符号化装置及び符号化方法においては、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類が行われ、前記復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められる前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算が行われる。また、前記タップ係数が符号化される。
 なお、符号化装置や復号装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 また、符号化装置や復号装置は、コンピュータにプログラムを実行させることにより実現することができる。プログラムは、伝送媒体を介して、伝送することにより、又は、記録媒体に記録して、提供することができる。
 本技術によれば、符号化効率を改善することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用した画像処理システムの一実施の形態の構成例を示す図である。 ALFのうちの、フィルタをかけるALF処理を行うALF処理部20の構成例を示すブロック図である。 係数取得部23に記憶されるタップ係数の学習を行う学習部50の構成例を示すブロック図である。 画像符号化装置100の構成例を示すブロック図である。 ALF110の構成例を示すブロック図である。 学習部132の構成例を示すブロック図である。 クラス分類部162で行われるクラス分類に用いられる注目画素の特徴量を求めるのに用いられるクラスブロックを説明する図である。 クラスブロックを構成する画素の画素値の例を示す図である。 注目画素の特徴量としてのTVノルムの算出方法の例を説明する図である。 画像の周波数特性の例を示す図である。 注目画素の特徴量としての最大差分絶対値の算出方法の例を説明する図である。 注目画素の特徴量としての傾斜特徴量の概要を説明する図である。 接線ベクトルを求める方法の例を説明する図である。 注目画素のクラスブロックの画素の接線ベクトルt(x,y)の代表ベクトルt*を説明する図である。 注目画素のクラスブロックの各画素(x,y)の接線ベクトルt(x,y)を代表する代表ベクトルt*を説明する図である。 評価関数J(θ)を説明する図である。 クラスブロックの各画素(x,y)の接線ベクトルt(x,y)と、方向θの単位ベクトルe(θ)との例を示す図である。 評価関数J(θ)の計算を説明する図である。 接線ベクトルtiの例を示す図である。 tan-1の計算結果を得るのに用いるLUTの例を説明する図である。 注目画素の特徴量としての傾斜特徴量θ*の信頼度を説明する図である。 画像の周波数特性の例を示す図である。 傾斜特徴量θ*及び信頼度trを用いたクラス分類の例を説明する図である。 傾斜特徴量θ*及び信頼度trと、他の特徴量とを用いたクラス分類の例を説明する図である。 画像の周波数特性の例を示す図である。 クラス分類部162の構成例を示すブロック図である。 ALF処理部133の構成例を示すブロック図である。 クラス分類部182の構成例を示すブロック図である。 画像符号化装置100の符号化処理の例を説明するフローチャートである。 ALF処理の例を説明するフローチャートである。 画像復号装置200の構成例を示すブロック図である。 ALF207の構成例を示すブロック図である。 ALF処理部231の構成例を示すブロック図である。 クラス分類部242の構成例を示すブロック図である。 画像復号装置200の復号処理の例を説明するフローチャートである。 ALF処理の例を説明するフローチャートである。 傾斜特徴量を用いたクラス分類が行われる場合に、クラスごとのタップ係数を効率的に符号化する符号化方法を説明する図である。 クラスに応じたタップ構造の変更を説明する図である。 クラスに応じたタップ構造の変更をさらに説明する図である。 クラス分類パラメータの生成の例を説明する図である。 コンピュータのハードウエアの構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。 ネットワークシステムの概略的な構成の一例を示すブロック図である。
 <本技術を適用した画像処理システム>
 図1は、本技術を適用した画像処理システムの一実施の形態の構成例を示す図である。
 図1において、画像処理システムは、画像符号化装置100及び画像復号装置200を有する。
 画像符号化装置100には、符号化対象の元画像が供給される。
 画像符号化装置100は、例えば、HEVCやAVC(Advanced Video Coding)等のような予測符号化により、元画像を符号化する。
 画像符号化装置100の予測符号化では、元画像の予測画像が生成され、元画像と予測画像との残差が符号化される。
 さらに、画像符号化装置100の予測符号化では、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像に、ALFをかけるALF処理を行うことで、予測画像の予測に用いられる参照画像が生成される。
 ここで、ALF処理としてのフィルタ処理(フィルタリング)が、復号途中画像に施されることにより得られる画像を、フィルタ後画像ともいう。
 画像符号化装置100は、予測符号化を行う他、必要に応じて、復号途中画像とその復号途中画像に対応する元画像とを用いて学習等を行うことにより、フィルタ後画像が、なるべく元画像に近くなるようなALF処理としてのフィルタ処理に関する情報を、フィルタ情報として求めることができる。
 画像符号化装置100のALF処理は、学習により得られるフィルタ情報を用いて行うことができる。
 ここで、フィルタ情報を求める学習は、例えば、元画像の1又は複数のシーケンスごとや、元画像の1又は複数のシーン(シーンチェンジから、次のシーンチェンジまでのフレーム)ごと、元画像の1又は複数のフレーム(ピクチャ)ごと、元画像の1又は複数のスライスごと、ピクチャの符号化の単位のブロックの1又は複数ラインごと、その他任意の単位で行うことができる。また、フィルタ情報を求める学習は、例えば、残差やRDコストが閾値以上になった場合に行うことができる。
 画像符号化装置100は、元画像の予測符号化により得られる符号化データを、伝送媒体11を介して伝送し、又は、記録媒体12に伝送して記録させる。
 また、画像符号化装置100は、学習により得られるフィルタ情報を、伝送媒体11を介して伝送し、又は、記録媒体12に伝送して記録させることができる。
 なお、フィルタ情報を求める学習は、画像符号化装置100とは別の装置で行うことができる。
 また、フィルタ情報は、符号化データとは別に伝送することもできるし、符号化データに含めて伝送することもできる。
 さらに、フィルタ情報を求める学習は、元画像そのもの(及び元画像から得られる復号途中画像)を用いて行う他、画像特徴量が元画像と類似する、元画像とは別個の画像を用いて行うことができる。
 画像復号装置200は、画像符号化装置100から伝送される符号化データ及び必要なフィルタ情報を、伝送媒体11や記録媒体12を介して受け取り(受信し)(取得し)、符号化データを、画像符号化装置100の予測符号化に対応する方式で復号する。
 すなわち、画像復号装置200は、画像符号化装置100からの符号化データを処理することで、予測符号化の残差を求める。さらに、画像復号装置200は、残差と予測画像とを加算することにより、画像符号化装置100で得られるのと同様の復号途中画像を求める。そして、画像復号装置200は、復号途中画像に、画像符号化装置100からのフィルタ情報を必要に応じて用いたALF処理としてのフィルタ処理を施し、フィルタ後画像を求める。
 画像復号装置200において、フィルタ後画像は、元画像の復号画像として出力されるとともに、必要に応じて、予測画像の予測に用いられる参照画像として一時記憶される。
 以下、ALFの概要を説明する。
 <ALFの概要>
 図2は、ALFのうちの、画像にフィルタをかけるALF処理を行うALF処理部20の構成例を示すブロック図である。
 ここで、ALF処理では、第1の画像と、第2の画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数を用いて、第1の画像とのフィルタ演算が行われ、第2の画像(の予測値)が求められる。
 図2において、ALF処理部20は、タップ選択部21、クラス分類部22、係数取得部23、及び、フィルタ演算部24を有する。
 ALF処理部20には、第1の画像が供給される。ALF処理部20に供給される第1の画像は、タップ選択部21及びクラス分類部22に供給される。
 タップ選択部21は、第1の画像を構成する画素を、順次、注目画素に選択する。さらに、タップ選択部21は、注目画素に対応する第2の画像の対応画素(の画素値)を予測するのに用いる第1の画像を構成する画素(の画素値)の幾つかを、予測タップとして選択する。
 具体的には、タップ選択部21は、注目画素の時空間の位置から空間的(や時間的)に近い位置にある第1の画像の複数の画素を、予測タップとして選択することにより、予測タップを構成し、フィルタ演算部24に供給する。
 クラス分類部22は、一定の規則に従って、注目画素を、幾つかのクラスのうちのいずれかにクラス分けするクラス分類を行い、その結果得られる注目画素のクラス(を表すクラスコード)を、係数取得部23に供給する。
 すなわち、クラス分類部22は、例えば、注目画素の周辺領域を、その注目画素のクラス分類に用いるクラスブロックに設定し、そのクラスブロック(内)の画素を用いて、注目画素をクラス分類する。
 例えば、クラス分類部22は、クラスブロックを用いて、注目画素の特徴量を求める。さらに、クラス分類部22は、注目画素の特徴量を用いて、注目画素をクラス分類し、注目画素のクラスを求める。
 係数取得部23は、後述する学習によって求められたクラスごとのタップ係数を記憶し、さらに、その記憶したタップ係数から、クラス分類部22から供給される注目画素のクラスのタップ係数を取得する。そして、係数取得部23は、注目画素のクラスのタップ係数を、フィルタ演算部24に供給する。
 ここで、タップ係数とは、ディジタルフィルタにおける、いわゆるタップにおいて入力データと乗算される係数に相当する。ここでは、タップ係数と乗算される入力データが予測タップである。
 また、注目画素の予測タップを構成する画素の配置(注目画素と予測タップを構成する画素との位置関係)を、タップ構造ともいう。予測タップを構成する画素の位置に、その画素と乗算されるタップ係数を配置した状態を考えると、タップ構造は、タップ係数の配置であるということもできる。そこで、タップ構造とは、注目画素の予測タップを構成する画素の配置、及び、予測タップを構成する画素の位置に、その画素と乗算されるタップ係数を配置した状態でのタップ係数の配置のいずれをも意味することとする。
 フィルタ演算部24は、係数取得部23から供給される注目画素のクラスのタップ係数を用いて、第1の画像とのフィルタ演算を行い、注目画素に対応する第2の画像の画素(対応画素)の画素値の予測値を求める。
 すなわち、フィルタ演算部24は、タップ選択部21が出力する注目画素の予測タップと、係数取得部23からの注目画素のクラスのタップ係数とを用いて、所定の演算であるフィルタ演算を行い、注目画素に対応する第2の画像の対応画素の画素値の予測値を求めて出力する。
 図3は、係数取得部23に記憶されるタップ係数の学習を行う学習部50の構成例を示すブロック図である。
 ここで、例えば、符号化の対象の元画像を第2の画像とするとともに、その元画像の予測符号化を行い、その予測符号化の残差と予測画像とを加算することにより得られる復号途中画像を第1の画像として、第1の画像から予測タップを選択し、その予測タップとタップ係数を用いて、第2の画像である元画像の画素の画素値(の予測値)を、所定のフィルタ演算によって求めることとする。
 所定のフィルタ演算として、例えば、積和演算を採用することとすると、第1の画像の注目画素に対応する第2の画像(元画像)の対応画素の画素値yは、次の線形1次式によって求められる。
Figure JPOXMLDOC01-appb-M000001
                           ・・・(1)
 但し、式(1)において、xnは、注目画素の予測タップを構成するn番目の、第1の画像の画素(以下、適宜、第1の画素という)の画素値を表し、wnは、予測タップを構成するn番目の第1の画素(の画素値)と乗算されるn番目のタップ係数を表す。なお、式(1)では、予測タップが、N個の第1の画素(の画素値)x1,x2,・・・,xNで構成される。
 ここで、対応画素の画素値yは、式(1)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
 いま、第kサンプルの対応画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
Figure JPOXMLDOC01-appb-M000002
                           ・・・(2)
 いま、式(2)の予測値yk’は、式(1)にしたがって求められるため、式(2)のyk’を、式(1)にしたがって置き換えると、次式が得られる。
Figure JPOXMLDOC01-appb-M000003
                           ・・・(3)
 但し、式(3)において、xn,kは、第kサンプルの対応画素に対する(注目画素の)予測タップを構成するn番目の第1の画素を表す。
 式(3)(又は式(2))の予測誤差ekを0とするタップ係数wnが、対応画素を予測するのに最適なものとなるが、すべての対応画素について、そのようなタップ係数wnを求めることは、一般には困難である。
 そこで、タップ係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適なタップ係数wnは、次式で表される自乗誤差の総和E(統計的な誤差)を最小にすることで求めることができる。
Figure JPOXMLDOC01-appb-M000004
                           ・・・(4)
 但し、式(4)において、Kは、対応画素としての対応画素ykと、その対応画素ykに対する予測タップを構成する第1の画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
 式(4)の自乗誤差の総和Eの最小値(極小値)は、式(5)に示すように、総和Eをタップ係数wnで偏微分したものを0とするwnによって与えられる。
Figure JPOXMLDOC01-appb-M000005
                           ・・・(5)
 そこで、上述の式(3)をタップ係数wnで偏微分すると、次式が得られる。
Figure JPOXMLDOC01-appb-M000006
                           ・・・(6)
 式(5)と(6)から、次式が得られる。
Figure JPOXMLDOC01-appb-M000007
                           ・・・(7)
 式(7)のekに、式(3)を代入することにより、式(7)は、式(8)に示す正規方程式で表すことができる。
Figure JPOXMLDOC01-appb-M000008
                           ・・・(8)
 式(8)の正規方程式は、例えば、掃き出し法(Gauss-Jordanの消去法)等を用いることにより、タップ係数wnについて解くことができる。
 式(8)の正規方程式を、クラスごとにたてて解くことにより、最適なタップ係数(ここでは、自乗誤差の総和Eを最小にするタップ係数)wnを、クラスごとに求めることができる。
 図3は、式(8)の正規方程式をたてて解くことによりタップ係数wnを求める学習を行う学習部50の構成例を示すブロック図である。
 学習部50では、タップ係数wnの学習の教師(真値)となる教師画像、及び、タップ係数wnの学習の生徒(フィルタ演算の入力)となる生徒画像を用いて、タップ係数wnを求める学習であるタップ係数学習が行われる。
 タップ係数wnの学習の教師(真値)となる教師画像とは、式(1)のフィルタ演算によって予測値を求める画像であり、教師画像としては、第2の画像(又は第2の画像に相当する画像(第2の画像と同様の特徴量を有する画像))が用いられる。また、タップ係数wnの学習の生徒となる生徒画像とは、式(1)のタップ係数wnとのフィルタ演算の対象となる画像であり、生徒画像としては、第1の画像(又は第1の画像に相当する画像(第1の画像と同様の特徴量を有する画像))が用いられる。
 タップ係数学習では、生徒画像を構成する画素を、順次、注目画素とし、その注目画素について、図2のタップ選択部21が選択するのと同一のタップ構造の画素を、生徒画像から予測タップとして選択する。さらに、タップ係数学習では、注目画素に対応する教師画像を構成する対応画素と、注目画素の予測タップとを用い、クラスごとに、式(8)の正規方程式をたてて解くことにより、クラスごとのタップ係数wnが求められる。
 図3において、学習部50は、タップ選択部51、クラス分類部52、足し込み部53、及び、係数算出部54を有する。
 学習部50には、生徒画像としての第1の画像、及び、教師画像としての第2の画像が供給される。
 生徒画像は、タップ選択部51及びクラス分類部52に供給され、教師画像は、足し込み部53に供給される。
 タップ選択部51は、生徒画像を構成する画素を、順次、注目画素として選択し、その注目画素を表す情報を、必要なブロックに供給する。
 さらに、タップ選択部51は、注目画素について、生徒画像を構成する画素から、図2のタップ選択部21が選択するのと同一の画素を予測タップに選択し、これにより、タップ選択部21で得られるのと同一のタップ構造の予測タップを得て、足し込み部53に供給する。
 クラス分類部52は、生徒画像を用いて、注目画素について、図2のクラス分類部22と同一のクラス分類を行い、その結果得られる注目画素のクラスを、足し込み部53に出力する。
 すなわち、クラス分類部52は、図2のクラス分類部22と同様に、注目画素の周辺領域を、その注目画素のクラス分類に用いるクラスブロックに設定し、そのクラスブロックの画素を用いて、注目画素をクラス分類する。
 例えば、クラス分類部52は、クラスブロックを用いて、注目画素の特徴量を求める。さらに、クラス分類部22は、注目画素の特徴量を用いて、注目画素をクラス分類し、注目画素のクラスを求める。
 足し込み部53は、教師画像を構成する画素から、注目画素に対応する対応画素(の画素値)を取得し、対応画素と、タップ選択部51から供給される注目画素の予測タップを構成する生徒画像の画素(の画素値)とを対象とした足し込みを、クラス分類部52から供給されるクラスごとに行う。
 すなわち、足し込み部53には、教師画像の対応画素yk、生徒画像としての注目画素の予測タップxn,k、注目画素のクラスが供給される。
 足し込み部53は、注目画素のクラスごとに、予測タップ(生徒画像)xn,kを用い、式(8)の左辺の行列における予測タップとしての画素(の画素値)どうしの乗算(xn,kxn',k)と、サメーション(Σ)に相当する演算を行う。
 さらに、足し込み部53は、やはり、注目画素のクラスごとに、予測タップ(生徒画像)xn,kと対応画素ykを用い、式(8)の右辺のベクトルにおける予測タップとしての画素xn,k及び対応画素(の画素値)ykの乗算(xn,kyk)と、サメーション(Σ)に相当する演算を行う。
 すなわち、足し込み部53は、前回、教師画像の、注目画素に対応する対応画素ykについて求められた式(8)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を、その内蔵するメモリ(図示せず)に記憶しており、その行列のコンポーネント(Σxn,kxn',k)又はベクトルのコンポーネント(Σxn,kyk)に対して、新たな注目画素に対応する対応画素となった教師画像の画素yk+1について、その画素yk+1及び予測タップとしての画素xn,k+1を用いて計算される、対応するコンポーネントxn,k+1xn',k+1又はxn,k+1yk+1を足し込む(式(8)のサメーションで表される加算を行う)。
 そして、足し込み部53は、例えば、生徒画像の画素すべてを注目画素として、上述の足し込みを行うことにより、各クラスについて、式(8)に示した正規方程式をたて、その正規方程式を、係数算出部54に供給する。
 係数算出部54は、足し込み部53から供給される各クラスについての正規方程式を解くことにより、各クラスについて、最適なタップ係数wnを求めて出力する。
 図2のALF処理部20における係数取得部23には、以上のようにして求められたクラスごとのタップ係数wnが記憶される。
 <画像符号化装置100の構成例>
 図4は、図1の画像符号化装置100の構成例を示すブロック図である。
 図4において、画像符号化装置100は、演算部101、直交変換部102、量子化部103、可逆符号化部104、逆量子化部105、逆直交変換部106、演算部107、DF108、SAO109、ALF110、DPB(Decoded Picture Buffer)111、及び、予測部112を有する。
 画像符号化装置100には、予測符号化の対象となる元画像が供給される。元画像は、演算部101、ALF110、及び、予測部112に供給される。
 演算部101は、元画像から、予測部112から供給される予測画像を減算し、その減算により得られる残差(予測残差)を、直交変換部102に供給する。
 直交変換部102は、演算部101から供給される残差に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部102は、直交交換により得られる変換係数を、量子化部103に供給する。
 量子化部103は、直交変換部102から供給される変換係数を量子化する。なお、この量子化の方法は任意である。量子化部103は、量子化された変換係数を、可逆符号化部104に供給する。
 可逆符号化部104は、量子化部103において量子化された変換係数を所定の可逆符号化方式で符号化(エントロピー符号化)し、符号化データを生成する。
 また、可逆符号化部104は、ALF110から、そのALF110で行われるALF処理に関するフィルタ情報を取得する。フィルタ情報には、クラスごとのタップ係数や、クラス分類に用いられる後述するクラス分類パラメータが含まれる。
 さらに、可逆符号化部104は、画像符号化装置100での予測符号化に関する符号化情報のうちの、必要な符号化情報を、各ブロックから取得する。符号化情報としては、例えば、イントラ予測やインター予測の予測モード、動きベクトル等の動きに関する情報、量子化パラメータQP、ピクチャタイプ(I,P,B)の情報等がある。
 可逆符号化部104は、符号化情報及びフィルタ情報を、所定の可逆符号化方式で符号化し、符号化データのヘッダ情報の一部に多重化する。したがって、可逆符号化部104は、フィルタ情報(に含まれるタップ係数やクラス分類パラメータ)を符号化する符号化部として機能する。
 可逆符号化部104は、以上のようにして得られる符号化データを伝送する。したがって、可逆符号化部104は、符号化データ、ひいては、符号化データに含まれるフィルタ情報を伝送する伝送部としても機能する。
 可逆符号化部104の可逆符号化方式としては、例えば、可変長符号化又は算術符号化等を採用することができる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)等がある。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)等がある。
 量子化部103において量子化された変換係数は、可逆符号化部104に供給される他、逆量子化部105にも供給される。逆量子化部105は、量子化された変換係数を、量子化部103による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部103による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部105は、逆量子化により得られる変換係数を、逆直交変換部106に供給する。
 逆直交変換部106は、逆量子化部105から供給される変換係数を、直交変換部102による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部102による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換部106での変換係数の逆直交変換により、残差が求められ、その残差は、演算部107に供給される。
 演算部107は、逆直交変換部106から供給される逆直交変換の結果である残差に、予測部112から供給される予測画像を加算し、その加算結果を、復号途中の復号途中画像として出力する。
 演算部107が出力する復号途中画像は、DF108に供給される。
 DF108は、演算部107からの復号途中画像にDFのフィルタ処理を行い、そのフィルタ処理後の復号途中画像を、SAO109に供給する。
 SAO109は、DF108からの復号途中画像に、SAOのフィルタ処理を行い、そのフィルタ処理後の復号途中画像を、ALF110に供給する。
 ALF110は、SAO109からの復号途中画像に、ALFのフィルタ処理、すなわち、ALF処理を行い、そのALF処理によって得られるフィルタ後画像を、DPB111に供給する。
 すなわち、ALF110は、SAO109からの復号途中画像を生徒画像として用いるとともに、元画像を教師画像として用い、タップ係数学習を行って、クラスごとのタップ係数を求める。クラスごとのタップ係数は、フィルタ情報として、ALF110から可逆符号化部104に供給される。
 さらに、ALF110は、SAO109からの復号途中画像を第1の画像として、クラスごとのタップ係数を用いたALF処理を用いて行うことで、第1の画像としての復号途中画像を、元画像(第2の画像)の予測値、すなわち、元画像に近い画像(理想的には、元画像に一致する画像)としてのフィルタ後画像に変換して(フィルタ後画像を生成して)出力する。
 ALF110が出力するフィルタ後画像は、DPB111に供給される。
 DPB111は、ALF110から供給されるフィルタ後画像を、局所復号された復号画像として一時記憶する。DPB111に記憶された復号画像は、必要なタイミングで読み出され、予測画像の生成に用いられる参照画像として、予測部112に供給される。
 予測部112は、元画像と、DPB111から供給される参照画像とを用いて、例えば、PU(Prediction Unit)を処理単位として、イントラ予測(画面内予測)及びインター予測を行い、元画像の予測画像を生成する。
 予測部112は、所定のコスト関数(例えば、RD(Rate-Distortion)コスト)に基づいて、予測画像の生成を行ったイントラ予測及びインター予測の予測モードの中から、最適な予測モードを選択し、その最適な予測モードで生成された予測画像を、演算部101及び107に供給する。
 なお、図4では、HEVCに合わせて、画像符号化装置100に、DF108及びSAO109を設けたが、画像符号化装置100は、DF108及びSAO109のうちの一方又は両方を設けずに構成することができる。
 画像符号化装置100を、DF108を設けずに構成する場合には、演算部107が出力する復号途中画像が、SAO109でSAOのフィルタ処理が施されてから、ALF110に供給される。また、画像符号化装置100を、SAO109を設けずに構成する場合には、演算部107が出力する復号途中画像が、DF108でDFのフィルタ処理が施されてから、ALF110に供給される。さらに、画像符号化装置100を、DF108及びSAO109を設けずに構成する場合には、演算部107が出力する復号途中画像そのものが、ALF110に供給される。
 また、ALF110の前段や後段には、DF108やSAO109以外のフィルタを設けることができる。
 さらに、画像符号化装置100では、元画像のピクチャを、すべてIピクチャとして符号化することができる。この場合、予測部112では、インター予測は行われず、イントラ予測だけが行われる。
 <ALF110の構成例>
 図5は、図4のALF110の構成例を示すブロック図である。
 図5において、ALF110は、クラス分類パラメータ生成部131、学習部132、及び、ALF処理部133を有する。
 クラス分類パラメータ生成部131には、教師画像としての元画像が供給される。クラス分類パラメータ生成部131は、教師画像としての元画像を用いて、学習部132やALF処理部133で行われるクラス分類に用いるクラス分類パラメータを生成して出力する。クラス分類パラメータ生成部131が出力するクラス分類パラメータは、学習部132、及び、ALF処理部133に供給される。さらに、クラス分類パラメータ生成部131が出力するクラス分類パラメータは、学習部132が出力するタップ係数とともに、フィルタ情報に含められ、可逆符号化部104(図4)に供給される。
 なお、ここでは、クラス分類パラメータ生成部131は、教師画像としての元画像を用いて、クラス分類パラメータを生成するが、クラス分類パラメータは、元画像に代えて、図中、点線で示すように、生徒画像としての復号途中画像を用いて生成することができる。
 学習部132には、クラス分類パラメータ生成部131からクラス分類パラメータが供給される他、元画像が供給されるとともに、SAO109(図4)から復号途中画像が供給される。
 学習部132は、復号途中画像を生徒画像として用いるとともに、元画像を教師画像として用いて、タップ係数学習を行い、そのタップ係数学習により得られるクラスごとのタップ係数を出力する。学習部132が出力するタップ係数は、上述したように、フィルタ情報に含められ、可逆符号化部104に供給される他、ALF処理部133に供給される。
 ここで、学習部132では、タップ係数学習のクラス分類が、クラス分類パラメータ生成部131から供給されるクラス分類パラメータを用いて行われる。
 ALF処理部133には、クラス分類パラメータ生成部131からクラス分類パラメータが供給されるとともに、学習部132からクラスごとのタップ係数が供給される他、SAO109(図4)から復号途中画像が供給される。
 ALF処理部133は、例えば、復号途中画像を第1の画像として、その第1の画像に、学習部132からのクラスごとのタップ係数を用いたALF処理を施すことで、第1の画像としての復号途中画像を、元画像である第2の画像の予測値としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、DPB111(図4)に供給する。
 ALF処理部133は、ALF処理において、学習部132と同様に、クラス分類を、クラス分類パラメータ生成部131から供給されるクラス分類パラメータを用いて行う。
 なお、ALF110では、学習部132において、タップ係数学習が適宜行われ、クラスごとのタップ係数が更新される。そして、更新後のクラスごとのタップ係数が、ALF処理部133に供給されるとともに、フィルタ情報に含められ、画像符号化装置100から画像復号装置200に伝送される。
 タップ係数の更新を行う更新単位としては、例えば、複数のピクチャ(フレーム)、1ピクチャ、CUその他のブロック等の、任意のシーケンスを採用し、その更新単位を最小単位とするタイミングで、タップ係数を更新することができる。
 <学習部132の構成例>
 図6は、図5の学習部132の構成例を示すブロック図である。
 学習部132は、タップ選択部161、クラス分類部162、足し込み部163、及び、係数算出部164を有する。
 タップ選択部161ないし係数算出部164は、図3の学習部50を構成するタップ選択部51ないし係数算出部54とそれぞれ同様の処理を行う。
 但し、クラス分類部162は、図3のクラス分類部52と同様に、注目画素の周辺領域であるクラスブロックの画素を用いて、注目画素の特徴量を求め、その特徴量を用いて、注目画素のクラス分類を行うが、注目画素の特徴量を求めるにあたっては、元画像の符号化の符号化効率の改善に資する特徴量を求める。
 すなわち、クラス分類部162は、例えば、注目画素のクラスブロックの画素の画素値(例えば、輝度)の平均値や、分散、注目画素の画素値の等高線の接線方向を表す傾斜特徴量、傾斜特徴量の信頼度、TV(Total variation)ノルム、最大差分絶対値等を、注目画素の特徴量として求める。ここで、傾斜特徴量、傾斜特徴量の信頼度、TVノルム、最大差分絶対値の詳細については、後述する。
 そして、クラス分類部162は、クラス分類パラメータ生成部131からのクラス分類パラメータを用いるとともに、注目画素の特徴量を用いて(特徴量に応じて)、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、足し込み部163に供給する。
 クラス分類部162のクラス分類では、例えば、注目画素の特徴量が、クラス分類パラメータによって規定される所定の式、すなわち、例えば、クラス分類パラメータを閾値とする式を満たすかどうかによって、注目画素が、所定の式を満たすことに対応するクラス、又は、所定の式を満たさないことに対応するクラスに分類される。
 また、クラス分類部162のクラス分類では、例えば、注目画素の特徴量が、クラス分類パラメータによって規定される線形識別器に入力され、その線形識別器の出力に応じて、注目画素が、線形識別器の出力に対応するクラスに分類される。
 なお、クラス分類部162で得られる注目画素のクラスは、足し込み部163の他、タップ選択部161にも供給することができる。この場合、タップ選択部161では、クラス分類部162からの注目画素のクラスに応じて、予測タップのタップ構造を変更することができる。
 すなわち、予測タップのタップ構造としては、注目画素のクラスによって異なるタップ構造を採用することができる。例えば、あるクラスについては、注目画素、並びに注目画素の上に隣接する2画素、下に隣接する2画素、左に隣接する2画素、及び、右に隣接する2画素の合計で9画素の十字形状のタップ構造を採用し、他のクラスについては、注目画素を中心とする横×縦が3×3画素の合計で9画素の正方形状のタップ構造を採用することができる。
 なお、上述の9画素の十字形状のタップ構造と、9画素の正方形状のタップ構造とは、予測タップを構成する画素の数(予測タップと乗算されるタップ係数の数も同様)が同一であるが、異なるタップ構造には、予測タップを構成する画素の数が異なるタップ構造が含まれる。
 クラスに応じて、予測タップのタップ構造が変更される場合、すなわち、クラスごとに、予測タップのタップ構造が異なる場合、その予測タップとしての画素(の画素値)とのフィルタ演算に用いられるタップ係数のタップ構造も、クラスに応じて異なる。
 ここで、クラス分類部162では、注目画素の特徴量の他、注目画素の予測符号化に関する符号化情報、すなわち、例えば、注目画素のQP(quantization parameter)やCBF(Coded Block Flag)等をも用いて、クラス分類を行うことができる。
 また、学習部132において、タップ係数学習は、例えば、更新単位の復号途中画像及び元画像を、生徒画像及び教師画像として用いて行われる。
 <クラス分類>
 図7は、図6のクラス分類部162(ひいては、ALF110)で行われるクラス分類に用いられる注目画素の特徴量を求めるのに用いられるクラスブロックを説明する図である。
 注目画素のクラスブロックとしては、復号途中画像において、注目画素を含む、注目画素の周辺の画素で構成されるブロック(局所領域)を採用することができる。
 また、注目画素のクラスブロックとしては、注目画素を含むCUやPU等の所定のブロックを採用することができる。この場合、CUやPU等の所定のブロックを構成する画素については、同一のクラスブロックが採用されるので、クラスも同一になる。
 図8は、クラスブロックを構成する画素の画素値の例を示す図である。
 なお、以下では、特に断らない限り、復号途中画像等の画像の左から右方向を、x方向(x軸)とするとともに、上から下方向を、y方向(y軸)とする。
 いま、I(x,y)が、座標(x,y)の位置の画素の画素値を表すこととすると、図8において、I(x,Y)は、y=Yの行のクラスブロック内の画素の画素値を示しており、I(X,y)は、x=Xの列のクラスブロック内の画素の画素値を示している。
 クラス分類部162は、注目画素のクラスブロックの画素を用い、例えば、そのクラスブロックの画素の画素値の平均値や、分散、注目画素の画素値の等高線の接線方向を表す傾斜特徴量、傾斜特徴量の信頼度、TVノルム、最大差分絶対値等を、注目画素の特徴量として求める。
 図9は、注目画素の特徴量としてのTVノルムの算出方法の例を説明する図である。
 すなわち、図9は、図8と同様に、クラスブロックを構成する画素の画素値の例を示している。
 クラス分類部162は、注目画素のクラスブロックの画素のうちの、隣接する画素どうしの画素値の差(図9において、矢印で示す部分)の絶対値の総和TVxyを、TVノルムとして、式(9)に従って求める。
Figure JPOXMLDOC01-appb-M000009
                        ・・・(9)
 ここで、式(9)において、TVxは、クラスブロックの画素のうちの、x方向に隣接する画素どうしの画素値の差I(x,y)-I(x+1,y)の絶対値の総和を表し、TVyは、クラスブロックの画素のうちの、y方向に隣接する画素どうしの画素値の差I(x,y)-I(x,y+1)の絶対値の総和を表す。また、Sは、クラスブロック(としての領域)を表し、x,y∈Sは、x,yがクラスブロックS内の画素の位置の座標であることを表す。
 式(9)によれば、総和TVxとTVyとの和が、TVノルムTVxyとして求められる。
 TVノルムTVxyは、注目画素の周辺における画像の周波数成分のうちの高周波成分の程度(量、多さ)を表す。
 図10は、画像の周波数特性の例を示す図である。
 図10において、横軸は周波数を表し、縦軸は周波数成分の強度を表す。
 画像は、図10に示すように、低周波数成分が多く、高周波数成分が高域になるほど少なくなる傾向の周波数特性を有する。
 図10において、グラフL11は、高周波数成分が比較的多い画像の周波数特性を示しており、グラフL12は、高周波数成分が比較的少ない画像の周波数特性を示している。
 グラフL11で示される周波数特性を有するような高周波数成分が比較的多い画像と、グラフL12で示される周波数特性を有するような高周波数成分が比較的少ない画像とでは、ALF処理に適切なタップ係数が異なることが予想される。
 ここで、適切なタップ係数とは、ALF処理によって得られるフィルタ後画像として、元画像により近い画像が得られるタップ係数(式(4)の自乗誤差の総和Eをより小にするタップ係数)を意味する。
 TVノルムTVxyは、クラスブロック内の画素の画素値の変化が激しい場合に大になるので、高周波数成分が多い画像のTVノルムTVxyは大になる傾向がある。
 TVノルムTVxyは、クラスブロック内の高周波数成分を表すということができる。したがって、TVノルムTVxyによれば、注目画素の周辺の高周波数成分の程度を把握することができ、かかるTVノルムTVxyを用いてクラス分類を行うことで、注目画素の周辺の高周波数成分の程度に応じて、クラスを分けてタップ係数の学習を行い、ALF処理に用いるタップ係数を分けることができる。
 図11は、注目画素の特徴量としての最大差分絶対値の算出方法の例を説明する図である。
 すなわち、図11は、図8と同様に、クラスブロックを構成する画素の画素値の例を示している。
 クラス分類部162は、注目画素のクラスブロックの画素のうちの、隣接する画素どうしの画素値の差(図11において、矢印で示す部分)の絶対値のうちの最大値を、最大差分絶対値として、式(10)に従って求める。
Figure JPOXMLDOC01-appb-M000010
                        ・・・(10)
 ここで、式(10)において、max(A)は、Aの中の最大値を表す。したがって、式(10)において、Mxは、クラスブロックの画素のうちの、x方向に隣接する画素どうしの画素値の差I(x,y)-I(x+1,y)の絶対値のうちの最大値を表し、Myは、クラスブロックの画素のうちの、y方向に隣接する画素どうしの画素値の差I(x,y)-I(x,y+1)の絶対値のうちの最大値を表す。
 式(10)によれば、最大値MxとMyとの和が、最大差分絶対値Mxyとして求められる。
 なお、最大差分絶対値Mxyとしては、最大値MxとMyとの和の他、最大値Mx及びMyのうちの大きい方を採用することもできる。
 最大差分絶対値Mxyは、クラスブロック内の画素の画素値の変化が激しい場合に大になるので、より高域の高周波数成分が多い画像の最大差分絶対値Mxyは大になる傾向がある。
 最大差分絶対値Mxyは、クラスブロック内の高周波数成分を表すということができる。したがって、最大差分絶対値Mxyによれば、注目画素の周辺の高周波数成分の程度を把握することができ、かかる最大差分絶対値Mxyを用いてクラス分類を行うことで、注目画素の周辺の高周波数成分の程度に応じて、クラスを分けてタップ係数の学習を行い、ALF処理に用いるタップ係数を分けることができる。
 図12は、注目画素の特徴量としての傾斜特徴量の概要を説明する図である。
 すなわち、図12は、画像(復号途中画像)の各位置(座標)(x,y)の画素の画素値(輝度)の例を示している。
 注目画素の傾斜特徴量は、注目画素の画素値の等高線の接線方向を表す。したがって、注目画素の傾斜特徴量は、注目画素(の位置)から、画素値が変化しない方向を表す。
 ここで、ある画素において、その画素の画素値の等高線の接線方向を向いたベクトルを、接線ベクトルともいう。
 注目画素の傾斜特徴量としては、注目画素について、接線ベクトルの方向(接線方向)が求められる。
 図13は、接線ベクトルを求める方法の例を説明する図である。
 すなわち、図13は、図12と同様に、復号途中画像の各位置(x,y)の画素の画素値の例を示している。
 クラス分類部162は、まず、位置(x,y)の画素(以下、画素(x,y)とも記載する)の画素値I(x,y)の勾配(gradient)g(x,y)(としてのベクトル)を、式(11)に従って求める。
Figure JPOXMLDOC01-appb-M000011
                        ・・・(11)
 式(11)において、∂/∂x及び∂/∂yは、ソーベルフィルタであり、例えば、式(12)で表される。
Figure JPOXMLDOC01-appb-M000012
                        ・・・(12)
 画素(x,y)の接線ベクトルt(x,y)は、画素(x,y)の勾配g(x,y)に垂直な方向のベクトルであり、式(13)に従い、勾配g(x,y)をπ/2(ラジアン)だけ回転させることにより求めることができる。
Figure JPOXMLDOC01-appb-M000013
                        ・・・(13)
 式(13)において、gx及びgyは、勾配g(x,y)のx成分及びy成分を、それぞれ表す。
 図14は、注目画素のクラスブロックの各画素の接線ベクトルt(x,y)の代表ベクトルt*を説明する図である。
 すなわち、図14は、図12と同様に、復号途中画像の各画素(x,y)の画素値の例を示している。
 接線ベクトルt(x,y)は、復号途中画像の各画素について求めることができるが、本実施の形態では、ロバスト性の確保等のために、注目画素(x,y)の接線ベクトルt(x,y)の方向を、そのまま、傾斜特徴量として採用するのではなく、注目画素のクラスブロックの各画素(x,y)の接線ベクトルt(x,y)を代表する代表ベクトルt*の方向θ*を、傾斜特徴量として採用する。
 図15は、注目画素のクラスブロックの各画素(x,y)の接線ベクトルt(x,y)を代表する代表ベクトルt*を説明する図である。
 本実施の形態では、ある方向θ、すなわち、例えば、x軸との角度がθの方向の単位ベクトルe(θ)が、注目画素のクラスブロックの各画素(x,y)の接線ベクトルt(x,y)を代表する代表ベクトルt*であることの適切さを評価する評価関数J(θ)を定義し、その評価関数J(θ)を最大化するθの方向の単位ベクトルe(θ)を、代表ベクトルt*とする。
 図15では、注目画素を中心とする横×縦が3×3画素のブロックをクラスブロックとして、そのクラスブロックを構成する3×3画素の接線ベクトルt(x,y)と、その3×3画素の接線ベクトルt(x,y)を代表する代表ベクトルt*とが示されている。
 評価関数J(θ)としては、例えば、式(14)を採用することができる。
Figure JPOXMLDOC01-appb-M000014
                        ・・・(14)
 式(14)において、<A,B>は、ベクトルA及びBの内積を表す。単位ベクトルe(θ)は、角度θの方向を向いた、ノルムが1のベクトルである。
 傾斜特徴量としての代表ベクトルt*の方向θ*としては、式(15)に従い、評価関数J(θ)を最大にするθが求められる。
Figure JPOXMLDOC01-appb-M000015
                        ・・・(15)
 式(15)において、argmax(A)は、Aを最大にするθを表す。
 図16は、評価関数J(θ)を説明する図である。
 すなわち、図16は、図12と同様に、復号途中画像の各画素(x,y)の画素値の例を示している。
 図16では、復号途中画像の画素値が、y方向に見てsin波の形状になっている。そして、復号途中画像の画素値を、x軸の正の方向に見て、ある画素(x(a),y(a))における画素値の勾配g(a)は、上りの勾配(正の勾配)になっており、他の画素(x(b),y(b))における画素値の勾配g(b)は、下りの勾配(負の勾配)になっている。
 いま、勾配g(a)が表す画素値の変化(傾斜)と、勾配g(b)が表す画素値の変化とが、方向が逆で、大きさが同一の変化であるとすると、画素(x(a),y(a))の接線ベクトルt(x(a),y(a))と、画素(x(b),y(b))の接線ベクトルt(x(b),y(b))とは、方向が逆で、大きさが同一のベクトルとなる。
 式(14)の評価関数J(θ)によれば、単位ベクトルe(θ)と接線ベクトルt(x,y)との内積<e(θ),t(x,y)>の自乗がとられるため、評価関数J(θ)において、方向が逆で、大きさが同一の接線ベクトルt(x(a),y(a))とt(x(b),y(b))とは、同様に扱われる(区別されない)。
 図17は、クラスブロックの各画素(x,y)の接線ベクトルt(x,y)と、方向θの単位ベクトルe(θ)との例を示す図である。
 なお、図17では、図が煩雑になるのを避けるため、クラスブロックの各画素(x,y)の接線ベクトルt(x,y)としては、3個の画素(x1,y1),(x2,y2),(x3,y3)の接線ベクトルt(x1,y1),t(x2,y2),t(x3,y3)だけを図示してある。
 評価関数J(θ)は、単位ベクトルe(θ)の方向θ(又は方向θの逆方向(θ+πの方向))の成分が大きい接線ベクトルt(x,y)が多いほど、大になる。
 図18は、評価関数J(θ)の計算を説明する図である。
 すなわち、図18は、クラスブロックのi番目の画素の接線ベクトルtiと、単位ベクトルe(θ)との例を示している。
 図18において、φiは、接線ベクトルtiの方向(角度)を表し、ai及びbiは、接線ベクトルtiのx成分及びy成分を、それぞれ表す。
 式(14)の評価関数J(θ)は、式(16)に従って計算することができる。
Figure JPOXMLDOC01-appb-M000016
                        ・・・(16)
 式(16)において、iのサメーション(Σ)は、クラスブロックの全画素についてサメーションをとることを表す。
 式(16)によれば、接線ベクトルtiの、単位ベクトルe(θ)の方向θの成分の大きさ|ti|cos(θ-φi)(図18において点線の矢印で示す部分)が大であるほど、評価関数J(θ)は大になる。
 評価関数J(θ)を最大にするθである式(15)のθ*は、評価関数J(θ)のθの微分値dJ(θ)/dθを0にするθである。微分値dJ(θ)/dθは、式(17)に示すように計算することができる。
Figure JPOXMLDOC01-appb-M000017
                        ・・・(17)
 式(17)において、T及びφは、式(18)で表される。
Figure JPOXMLDOC01-appb-M000018
                        ・・・(18)
 式(17)の微分値dJ(θ)/dθが0になる場合としては、T=0の場合と、θ=φの場合とがある。
 T=0になる場合としては、|ti|=0の場合があるが、この場合、接線ベクトルtiは、大きさが0のベクトルとなり、方向φiを持たないので、式(15)のθ*を求めるにあたり、|ti|=0の場合は、適切な場合ではない。
 また、θ=φの場合、式(18)のφを、θ*に置き換えた式(19)により、式(15)のθ*を求めることができる。
Figure JPOXMLDOC01-appb-M000019
                        ・・・(19)
 式(19)は、式(20)に示すように変形することができる。
Figure JPOXMLDOC01-appb-M000020
                        ・・・(20)
 図19は、接線ベクトルtiの例を示す図である。
 図19に示すような、方向がφiで、x成分及びy成分がそれぞれai及びbiの接線ベクトルtiについては、sin(φi)及びcos(φi)は、式(21)で表すことができる。
Figure JPOXMLDOC01-appb-M000021
                        ・・・(21)
 式(21)を、式(20)に代入することにより、θ*は、式(22)に従って求めることができる。
Figure JPOXMLDOC01-appb-M000022
                        ・・・(22)
 式(22)において、σ1及びσ2は、式(23)で表される。
Figure JPOXMLDOC01-appb-M000023
                        ・・・(23)
 クラス分類部162は、式(22)及び式(23)に従い、θ*を、傾斜特徴量として求める。
 式(22)及び式(23)によれば、傾斜特徴量θ*は、クラスブロックの各画素の接線ベクトルtiのx成分ai及びy成分biから求められるσ1並びにσ2を用いた除算と、tan-1(arctan)の計算とにより求めることができる。
 ここで、傾斜特徴量θ*は、クラスブロックの各画素(x,y)の接線ベクトルt(x,y)を代表する代表ベクトルt*の方向であるから、クラスブロックの各画素の画素値の等高線の接線方向を代表する代表値であるということができる。
 tan-1の計算結果は、tan-1の計算を実際に行う他、LUTを用いて得ることができる。
 図20は、tan-1の計算結果を得るのに用いるLUTの例を説明する図である。
 すなわち、図20は、tanαのグラフを示している。なお、図20において、横軸は角度αを表し、縦軸はtanαを表す。
 tan-1の計算結果を得るLUTとしては、縦軸のtanαを入力とするとともに、横軸の角度αを出力とするLUTを採用することができる。
 この場合、式(23)のσ1及びσ2を用いた除算値σ1/σ2を、LUTに入力することにより、角度α=tan-11/σ2)が、LUTから出力される。
 なお、tanαは、原点に対して点対称であり、かつ、周期的な関数であるため、LUTとして記憶するtanαは、α=-πないし+πの1周期分の範囲ではなく、例えば、図中、矩形で囲むα=0ないしπ/2の範囲(以下、基本範囲ともいう)だけでよい。
 tanαのうちの、α=-π/2ないし-πの範囲、α=-π/2ないし0の範囲、及び、α=π/2ないしπの範囲については、tanαの基本範囲を、原点に対して点対称に移動することや、αの方向に平行移動することにより求めることができる。
 すなわち、実際の実装では、角度α=tan-11/σ2)は、σ1/σ2から符号をとった|σ1|/|σ2|を、基本範囲が記憶されたLUTの入力として得られる、そのLUTの出力を、σ1及びσ2の符号に応じて変換することにより求めることができる。
 ここで、σ1及びσ2の符号を、(σ2,σ1)=(+,+)のように表すこととする。
 (σ2,σ1)=(+,+)の場合、角度α=tan-11/σ2)は、α=0ないしπ/2の範囲の値であり、LUTの出力を、そのまま採用することにより得ることができる。
 (σ2,σ1)=(+,-)の場合、角度α=tan-11/σ2)は、α=-π/2ないし0の範囲の値であり、LUTの出力を、原点に対して点対称に移動することにより得ることができる。
 (σ2,σ1)=(-,-)の場合、角度α=tan-11/σ2)は、α=-π/2ないし-πの範囲の値であり、LUTの出力を、角度αの方向に、-πだけ移動することにより得ることができる。
 (σ2,σ1)=(-,+)の場合、角度α=tan-11/σ2)は、α=π/2ないしπの範囲の値であり、LUTの出力を、原点に対して点対称に移動し、かつ、角度αの方向に、+πだけ移動することにより得ることができる。
 なお、ここでは、除算値σ1/σ2を入力とし、その除算値σ1/σ2の入力に対して、角度α=tan-11/σ2)を出力するLUTを採用することとしたが、その他、例えば、σ1及びσ2を入力とし、そのσ1及びσ2の入力に対して、式(22)の計算を行って得られる傾斜特徴量θ*を出力するLUTを採用することができる。
 また、例えば、σ1及びσ2を入力とし、そのσ1及びσ2の入力に対して、式(22)の傾斜特徴量θ*を計算し、さらに、傾斜特徴量θ*を用いてクラス分類を行うことにより得られるクラスを出力するLUTを採用することができる。
 図21は、注目画素の特徴量としての傾斜特徴量θ*の信頼度を説明する図である。
 すなわち、図21は、クラスブロックの例を示している。
 図21のクラスブロックは、木目調の明るい領域と、木目調の暗い領域とを有する。木目調の明るい領域は、水平方向のエッジ(水平方向に延びるエッジ)が支配的になっており、木目調の暗い領域は、垂直方向のエッジが支配的になっている。そこで、木目調の明るい領域を、水平エッジ領域ともいい、木目調の暗い領域を、垂直エッジ領域ともいう。
 図21では、クラスブロックのうちの左下の一部の領域が、垂直エッジ領域になっており、他の領域が、水平エッジ領域になっている。
 したがって、図21のクラスブロックにおいては、水平エッジ領域が、垂直エッジ領域の4倍を超える面積を占めている。
 注目画素の傾斜特徴量θ*の信頼度trは、例えば、式(24)に従って求められる。
Figure JPOXMLDOC01-appb-M000024
                        ・・・(24)
 式(24)によれば、信頼度trは、クラスブロックの各画素の接線ベクトルtiが、傾斜特徴量θ*が得られる評価関数J(θ*)、ひいては、代表ベクトルt*=e(θ*)に寄与する程度を指標として求められる。
 式(24)の信頼度trは、クラスブロックの画素の接線ベクトルtiの中に、傾斜特徴量θ*が表す方向θ*と異なる方向の接線ベクトルtiがない程度(クラスブロックの画素の接線ベクトルtiの中に、傾斜特徴量θ*が表す方向θ*と同様の方向の接線ベクトルtiがある程度)を表す。
 したがって、信頼度trが大であることは、クラスブロックの画素の接線ベクトルtiの中に、傾斜特徴量θ*が表す方向θ*と同様の方向の接線ベクトルtiが多くあることを表す。
 上述したように、図21のクラスブロックにおいては、水平エッジ領域が、垂直エッジ領域の4倍を超える面積を占めているので、水平エッジが延びる水平方向に近い方向が、傾斜特徴量θ*として求められる。
 すなわち、式(15)によれば、仮に、クラスブロック全体が水平エッジ領域であれば、水平方向が傾斜特徴量θ*として求められ、クラスブロック全体が垂直エッジ領域であれば、垂直方向が傾斜特徴量θ*として求められる。しかしながら、図21に示したように、クラスブロックに、水平エッジ領域と垂直エッジ領域とが混在しているからといって、傾斜特徴量θ*は、水平方向と垂直方向がいわば平均化された斜め方向にはならない。すなわち、図21に示したように、水平エッジ領域と垂直エッジ領域とが混在している場合、傾斜特徴量θ*は、水平エッジ領域及び垂直エッジ領域のうちの、クラスブロック内で支配的な領域である水平エッジ領域の水平エッジが延びる水平方向になる。
 但し、図21のクラスブロックにおいては、水平エッジ領域の他に、垂直エッジ領域が存在するため、水平エッジ領域のみのクラスブロックに比較して、垂直エッジ領域の分だけ値が低下した信頼度trが求められる。
 クラス分類部162(図6)において、注目画素の傾斜特徴量θ*を用いて、注目画素のクラス分類を行うことにより、注目画素の周辺の高周波数成分がある方向(に直交する方向)に応じて、クラスを分けてタップ係数の学習を行い、ALF処理に用いるタップ係数を分けることができる。
 さらに、クラス分類部162において、注目画素の傾斜特徴量θ*の信頼度trを用いて、注目画素のクラス分類を行うことにより、信頼度trに応じて、クラスを分けてタップ係数の学習を行い、ALF処理に用いるタップ係数を分けることができる。
 その結果、ALF処理において、元画像に対する誤差が小さいフィルタ後画像を得ることができ、これにより、残差が小さくなって、符号化効率を改善することができる。
 図22は、画像の周波数特性の例を示す図である。
 図22において、横軸は水平方向の周波数fHを表し、縦軸は垂直方向の周波数fVを表す。図22は、水平方向の周波数fH及び垂直方向の周波数fVを軸として、画像の周波数成分の分布を表す。
 図22において、縦長の楕円形状の周波数特性f1は、垂直方向の高周波数成分が多く、水平方向の高周波数成分が少ない画像、すなわち、例えば、水平方向のエッジが支配的な水平エッジ領域が多い画像の周波数特性である。また、横長の楕円形状の周波数特性f2は、垂直方向の高周波数成分が少なく、水平方向の高周波数成分が多い画像、すなわち、例えば、垂直方向のエッジが支配的な垂直エッジ領域が多い画像の周波数特性である。
 傾斜特徴量θ*を用いたクラス分類によれば、注目画素のクラスブロックが、同程度の高周波数成分を有する画像であっても、周波数特性f1の画像のような、水平エッジ領域の画像になっている場合と、周波数特性f2の画像のような、垂直エッジ領域の画像になっている場合とで、注目画素を、異なるクラスに分類することができる。
 図23は、傾斜特徴量θ*及び信頼度trを用いたクラス分類の例を説明する図である。
 図23において、横軸は傾斜特徴量θ*を表し、縦軸は信頼度trを表す。
 クラス分類部162(図6)は、注目画素の傾斜特徴量θ*の信頼度trを、クラス分類パラメータの一種である信頼度trの閾値THtrと比較する。
 そして、注目画素の傾斜特徴量θ*の信頼度trが、閾値THtr以上でない場合、クラス分類部162は、注目画素を、傾斜特徴量θ*に依存しないクラスc0に分類する。
 一方、注目画素の傾斜特徴量θ*の信頼度trが、閾値THtr以上である場合、クラス分類部162は、注目画素を、注目画素の傾斜特徴量θ*に応じて、傾斜特徴量θ*に依存するクラスc1ないしクラスc#M-1のうちのいずれかのクラスに分類する。
 ここで、図23では、クラスの総数がM個になっている。また、図23では、傾斜特徴量θ*に依存するクラスc1ないしクラスc#M-1は、傾斜特徴量θ*に対応するクラスになっている。
 すなわち、図23では、傾斜特徴量θ*としての方向(角度)がとり得る範囲である-πないし+πの範囲が、傾斜特徴量θ*に依存するM-1個のクラスc1ないしクラスc#M-1で等分されるように分割されている。そして、-πないし+πの範囲を分割して得られるM-1個の分割範囲が、M-1個のクラスc1ないしクラスc#M-1に、それぞれ割り当てられている。
 図23では、-πないし+πの範囲が、M-1個の分割範囲に等分されているので、1個の分割範囲の幅、及び、ある分割範囲とその分割範囲に隣接する分割範囲との中心どうしの距離は、いずれも、2π/(M-1)である。
 また、-πないし+πの範囲で表される方向については、-πの方向と+πの方向とは一致するので、図23では、-πの方向及び+πの方向を中心とする幅2π/(M-1)の分割範囲が、同一のクラスc1に割り当てられている。
 図23において、クラスc#mには(ここでは、m=0,1,...,M-1のうちの、m=1,2,...,M-1)、-π+(m-1)×2π/(M-1)の方向を中心とする2π/(M-1)の角度の範囲内の方向の傾斜特徴量θ*の画素が分類される。
 したがって、クラスc#mには、注目画素のクラスブロックに、-π+(m-1)×2π/(M-1)の方向やその方向に近い方向の接線ベクトルtiの画素が多い場合(-π+(m-1)×2π/(M-1)の方向やその方向に近い方向に直交する方向の高周波数成分が多い場合)に、注目画素は、クラスc#mに分類される。
 かかるクラスc#mを、-π+(m-1)×2π/(M-1)の方向のクラスともいう。
 以上のような傾斜特徴量θ*及び信頼度trを用いたクラス分類によれば、注目画素の傾斜特徴量θ*の信頼度trが閾値THtr以上でない場合、注目画素は、クラスc0に分類される。
 例えば、注目画素のクラスブロックが、水平方向の周波数fH及び垂直方向の周波数fVを軸とする平面において図22に示した楕円形状になる周波数特性f1やf2ではなく、円形状になる周波数特性の画像である場合、注目画素のクラスブロックは、特定の方向の高周波数成分が、他の方向の高周波数成分よりも多く存在する画像ではないので、注目画素の傾斜特徴量θ*の信頼度trは小になり、注目画素は、クラスc0に分類される。
 また、注目画素の傾斜特徴量θ*の信頼度trが閾値THtr以上である場合、注目画素は、傾斜特徴量θ*に応じて、クラスc1ないしクラスc#M-1のうちのいずれかのクラスに分類される。ここで、クラスc1ないしクラスc#M-1を、傾斜特徴量θ*が表す方向のクラスともいう。
 例えば、注目画素のクラスブロックが、水平方向の周波数fH及び垂直方向の周波数fVを軸とする平面において図22に示した楕円形状になる周波数特性f1やf2の画像である場合、注目画素のクラスブロックは、特定の方向の高周波数成分が、他の方向の高周波数成分よりも多く存在する画像であるので、注目画素の傾斜特徴量θ*としては、特定の方向に直交する方向が求められ、さらに、信頼度trは大になる。
 その結果、注目画素は、クラスc1ないしクラスc#M-1のうちの、注目画素の傾斜特徴量θ*が表す方向(高周波数成分の方向に直交する方向)のクラスに分類される。
 なお、図23では、-πないし+πの範囲が等分されているので、クラスc1ないしクラスc#M-1が割り当てられるM-1個の分割範囲それぞれの幅は、同一であるが、分割範囲の幅としては、分割範囲ごとに異なる幅を採用することができる。
 また、図23では、注目画素の傾斜特徴量θ*の信頼度trが閾値THtr以上でない場合には、注目画素の傾斜特徴量θ*に関係なく、注目画素を、クラスc0に分類することとしたが、注目画素の傾斜特徴量θ*の信頼度trが閾値THtr以上でない場合でも、注目画素の傾斜特徴量θ*の信頼度trが閾値THtr以上である場合と同様に、注目画素を、傾斜特徴量θ*に応じて、複数のクラスのうちのいずれかのクラスにクラス分類することができる。
 図24は、傾斜特徴量θ*及び信頼度trと、他の特徴量とを用いたクラス分類の例を説明する図である。
 図24において、横軸は傾斜特徴量θ*及び信頼度trを用いたクラス分類により得られるクラスc#mを表し、縦軸は他の特徴量を表す。
 ここで、傾斜特徴量θ*及び信頼度trを用いたクラス分類により得られるクラスc#mを、傾斜/信頼度クラスc#mともいう。
 他の特徴量としては、上述した平均値や、分散、TVノルムTVxy、最大差分絶対値Mxy等を採用することができる。ここでは、例えば、注目画素(のクラスブロック)の高周波数成分を表すTVノルムTVxy(又は最大差分絶対値Mxy)を、他の特徴量として用いてクラス分類を行うこととする。
 クラス分類部162(図6)は、注目画素を、傾斜/信頼度クラスc#mにクラス分類した後、注目画素の他の特徴量としてのTVノルムTVxyに応じて、傾斜/信頼度クラスc#mの注目画素を、最終的なクラスである最終クラスc#m#jに分類する。
 すなわち、図24では、傾斜/信頼度クラスc#mに対して、その傾斜/信頼度クラスc#mの注目画素の他の特徴量としてのTVノルムTVxyの閾値(以下、傾斜/信頼度クラスc#mの閾値ともいう)として、2個の閾値TH(c#m,0)及びTH(c#m,1)が設定されている。
 傾斜/信頼度クラスc#mの閾値TH(c#m,0)及びTH(c#m,1)は、クラス分類パラメータの他の一種である。
 クラス分類部162は、傾斜/信頼度クラスc#mの注目画素のTVノルムTVxyを、その傾斜/信頼度クラスc#mの閾値TH(c#m,0)及びTH(c#m,1)と比較し、その比較結果に応じて、傾斜/信頼度クラスc#mの注目画素を、最終クラスc#m#jに分類する。
 すなわち、傾斜/信頼度クラスc#mの閾値TH(c#m,0)及びTH(c#m,1)が、式TH(c#m,0)<TH(c#m,1)を満たすこととする。
 この場合、傾斜/信頼度クラスc#mの注目画素のTVノルムTVxyが、式TVxy<TH(c#m,0)を満たすときには、注目画素は、最終クラスc#m0に分類される。
 また、傾斜/信頼度クラスc#mの注目画素のTVノルムTVxyが、式TH(c#m,0)<=TVxy<TH(c#m,1)を満たすときには、注目画素は、最終クラスc#m1に分類される。
 さらに、傾斜/信頼度クラスc#mの注目画素のTVノルムTVxyが、式TH(c#m,1)<=TVxyを満たすときには、注目画素は、最終クラスc#m2に分類される。
 図23で説明したように、傾斜特徴量θ*及び信頼度trを用いたクラス分類によれば、注目画素は、その注目画素の傾斜特徴量θ*が表す方向の傾斜/信頼度クラスc#mに分類される。
 そして、傾斜/信頼度クラスc#mの注目画素を、他の特徴量としてのTVノルムTVxyを用いてクラス分類することにより、注目画素を、その注目画素の傾斜特徴量θ*が表す方向に直交する方向の高周波数成分の程度によって、最終クラスc#m#jに分類することができる。
 なお、図24では、各傾斜/信頼度クラスc#mに対して、2個の閾値TH(c#m,0)及びTH(c#m,1)が設けられているが、各傾斜/信頼度クラスc#mに対して設ける閾値は、2個に限定されるものではない。
 さらに、ある傾斜/信頼度クラスc#mと、他の傾斜/信頼度クラスc#m'とに対しては、異なる数の閾値を設けることができる。
 J個の閾値TH(c#m,0),TH(c#m,1),...,TH(c#m,J)が設けられた傾斜/信頼度クラスc#mの注目画素は、その注目画素のTVノルムTVxyに応じて、J+1個の最終クラスc#m0,c#m1,...,c#m#J+1のうちのいずれかの最終クラスに分類される。
 図25は、画像の周波数特性の例を示す図である。
 すなわち、図25のAは、図22と同様に、水平方向の周波数fHを横軸とするとともに、垂直方向の周波数fVを縦軸とした画像の周波数成分の分布を示している。図25のBは、図10と同様に、(水平方向又は垂直方向の)周波数を横軸とするとともに、周波数成分の強度を縦軸とした画像の周波数特性を示している。
 図25のAにおいて、縦長の楕円形状の周波数特性f11,f12,f13は、垂直方向の高周波数成分が多く、水平方向の高周波数成分が少ない画像、すなわち、例えば、水平方向のエッジが支配的な水平エッジ領域が多い画像の周波数特性である。
 但し、周波数特性f11,f12,f13は、f13,f12,f11の順で、より高域の周波数成分が多い周波数特性になっている。
 周波数特性f11,f12,f13をそれぞれ有する画像は、いずれも、水平エッジ領域が多く、垂直方向の高周波数成分を有する。但し、周波数特性f12を有する画像は、周波数特性f11を有する画像よりも、より高域の垂直方向の高周波数成分を有し、周波数特性f13を有する画像は、周波数特性f12を有する画像よりも、より高域の垂直方向の高周波数成分を有している。
 傾斜/信頼度クラスc#mの注目画素を、TVノルムTVxyを用いて、最終クラスc#m#jに分類することにより、同一方向の高周波数成分を有する画像であっても、その画像が有する高周波数成分の周波数によって、注目画素を、異なるクラスに分類することができる。
 その結果、画像が同一方向の高周波数成分を有する場合でも、その高周波数成分の周波数が異なるごとに、クラスを分けてタップ係数の学習を行い、ALF処理に用いるタップ係数を分けることができる。
 図26は、図6のクラス分類部162の構成例を示すブロック図である。
 図26において、クラス分類部162は、クラスブロック抽出部171、傾斜特徴量/信頼度算出部172、第1クラス分類部173、特徴量算出部174、及び、第2クラス分類部175を有する。
 クラスブロック抽出部171には、SAO109(図4)からの復号途中画像が供給される。クラスブロック抽出部171は、SAO109からの復号途中画像から、注目画素のクラスブロック(となる画素)を抽出し、傾斜特徴量/信頼度算出部172及び特徴量算出部174に供給する。
 傾斜特徴量/信頼度算出部172は、クラスブロック抽出部171からの注目画素のクラスブロックを用いて、注目画素の(画像)特徴量としての傾斜特徴量θ*、及び、その傾斜特徴量θ*の信頼度trを算出し、第1クラス分類部173に供給する。
 第1クラス分類部173は、例えば、線形識別器等で構成される。第1クラス分類部173は、傾斜特徴量/信頼度算出部172からの注目画素の傾斜特徴量θ*、及び、その傾斜特徴量θ*の信頼度trを用いて、注目画素のクラス分類を行い、そのクラス分類の結果得られる注目画素の傾斜/信頼度クラスを、第2クラス分類部175に供給する。
 なお、第1クラス分類部173には、クラス分類パラメータ生成部131から、クラス分類パラメータとしての信頼度trの閾値THtr(図23)が供給される。第1クラス分類部173は、例えば、図23で説明したように、信頼度trを、その信頼度trの閾値THtrと比較することにより、注目画素のクラス分類を行う。
 特徴量算出部174は、クラスブロック抽出部171からの注目画素のクラスブロックを用いて、注目画素の他の特徴量としての、例えば、TVノルムTVxyを算出し、第2クラス分類部175に供給する。
 第2クラス分類部175は、例えば、線形識別器等で構成される。第2クラス分類部175は、特徴量算出部174から供給される注目画素のTVノルムTVxyを用いて、第1クラス分類部173から供給される傾斜/信頼度クラスの注目画素のクラス分類を行い、そのクラス分類の結果得られる注目画素の最終クラスを(足し込み部163(図6))に出力する。
 なお、第2クラス分類部175には、クラス分類パラメータ生成部131から、クラス分類パラメータとしての傾斜/信頼度クラスc#mの閾値TH(c#m,j)(図24)が供給される。第2クラス分類部175は、例えば、図24で説明したように、注目画素のTVノルムTVxyを、注目画素の傾斜/信頼度クラスc#mの閾値TH(c#m,j)と比較することにより、傾斜/信頼度クラスc#mの注目画素のクラス分類を行う。
 ここで、クラス分類は、注目画素の(画像)特徴量の他、注目画素の符号化情報、例えば、注目画素のQPやCBF等をも用いて行うことができる。
 <ALF処理部133の構成例>
 図27は、図5のALF処理部133の構成例を示すブロック図である。
 図27において、ALF処理部133は、タップ選択部181、クラス分類部182、係数取得部183、及び、フィルタ演算部184を有する。
 タップ選択部181ないしフィルタ演算部184は、図2のALF処理部20のタップ選択部21ないしフィルタ演算部24とそれぞれ同様の処理を行う。
 すなわち、ALF処理部133には、学習部132(図5)に供給されるのと同様の第1の画像としての復号途中画像が供給される。ALF処理部133は、第1の画像としての復号途中画像を用いて、図2のALF処理部20と同様のALF処理を行い、元画像に相当する第2の画像(の予測値)としてのフィルタ後画像を求める。
 但し、ALF処理部133には、クラス分類パラメータ生成部131(図5)からクラス分類パラメータが供給されるとともに、学習部132から、クラス(最終クラス)ごとのタップ係数が供給される。
 ALF処理部133では、タップ選択部181が、復号途中画像から注目画素を選択する。さらに、タップ選択部181は、注目画素について、復号途中画像から予測タップとなる画素を選択することにより、学習部132(図6)のタップ選択部161の場合と同一のタップ構造の予測タップを構成し、係数取得部183に供給する。
 クラス分類部182は、注目画素について、復号途中画像、及び、クラス分類パラメータ生成部131からのクラス分類パラメータを用いて、学習部132(図6)のクラス分類部162の場合と同一のクラス分類を行い、そのクラス分類の結果得られる注目画素の最終クラスを、係数取得部183に供給する。
 係数取得部183は、学習部132(図5)から供給されるタップ係数を記憶し、そのタップ係数から、クラス分類部182から供給される注目画素の最終クラスのタップ係数を取得して(読み出して)、フィルタ演算部184に供給する。
 フィルタ演算部184は、図2のフィルタ演算部24と同様に、タップ選択部181から供給される注目画素の予測タップと、係数取得部183から供給される注目画素のクラスのタップ係数とを用いて、式(1)のフィルタ演算を行い、フィルタ後画像の対応画素の画素値(注目画素に対応する元画像の画素の画素値の予測値)を求めて出力する。
 なお、図6で説明したように、学習部132において、クラス分類部162で得られる注目画素のクラスを、タップ選択部161に供給し、タップ選択部161において、注目画素のクラスに応じて、予測タップのタップ構造を変更する場合には、ALF処理部133でも、図27において点線で示すように、クラス分類部182からタップ選択部181に、注目画素のクラス(最終クラス)が供給され、タップ選択部181において、注目画素のクラスに応じて、予測タップのタップ構造が変更される。クラスに応じて、予測タップのタップ構造が変更される場合、すなわち、クラスごとに、予測タップのタップ構造が異なる場合、その予測タップとしての画素(の画素値)とのフィルタ演算に用いられるタップ係数のタップ構造も、クラスに応じて異なる。
 図28は、図27のクラス分類部182の構成例を示すブロック図である。
 図28において、クラス分類部182は、クラスブロック抽出部191、傾斜特徴量/信頼度算出部192、第1クラス分類部193、特徴量算出部194、及び、第2クラス分類部195を有する。
 クラス分類部182において、クラスブロック抽出部191ないし第2クラス分類部195は、図26のクラス分類部162のクラスブロック抽出部171ないし第2クラス分類部175と同様に構成される。したがって、クラス分類部182は、注目画素について、図26のクラス分類部162と同様のクラス分類を行う。
 <符号化処理>
 図29は、図4の画像符号化装置100の符号化処理の例を説明するフローチャートである。
 なお、図29に示す符号化処理の各ステップの順番は、説明の便宜上の順番であり、実際の符号化処理の各ステップは、適宜、並列的に、必要な順番で行われる。
 画像符号化装置100において、ALF110のクラス分類パラメータ生成部131(図5)は、タップ係数学習やALF処理のクラス分類に用いられるクラス分類パラメータの生成を、随時行っている。同様に、ALF110の学習部132(図5)は、そこに供給される復号途中画像のうちの、例えば、複数のフレーム、1フレーム、ブロック等の更新単位の復号途中画像を生徒画像とするとともに、その復号途中画像に対応する元画像を教師画像として、随時、タップ係数学習を行っている。なお、学習部132でのタップ係数学習のクラス分類は、クラス分類パラメータ生成部131が生成した最新のクラス分類パラメータを用いて行われる。
 学習部132は、ステップS41において、現在のタイミングが、タップ係数を更新する所定のタイミングとしての更新タイミングであるかどうか、すなわち、例えば、複数のフレーム、1フレーム、ブロック等の更新単位の終点又は始点のタイミングであるかどうかを判定する。
 ステップS41において、タップ係数の更新タイミングでないと判定された場合、処理は、ステップS42ないしS44をスキップして、ステップS45に進む。
 また、ステップS41において、タップ係数の更新タイミングであると判定された場合、処理は、ステップS42に進む。
 ステップS42では、ALF110は、クラス分類パラメータ生成部131が生成した最新のクラス分類パラメータと、学習部132が最新のタップ係数学習により生成したクラス(最終クラス)ごとのタップ係数とを含むフィルタ情報を生成し、可逆符号化部104(図4)に供給して、処理は、ステップS43に進む。
 なお、ALF110では、元画像の時間方向の相関を検出し、その相関が低い場合(閾値以下の場合)にのみ、更新タイミングで、ステップS42のフィルタ情報の生成を行い、かつ、後述するステップS43及びS44の処理を行うことができる。
 ステップS43では、ALF処理部133(図5)は、クラス分類パラメータ生成部131が生成した最新のクラス分類パラメータによって、クラス分類部182(図27)がクラス分類に用いるクラス分類パラメータを更新する。さらに、ALF処理部133は、学習部132が最新のタップ係数学習により生成したタップ係数によって、係数取得部183(図27)に記憶されたクラス(最終クラス)ごとのタップ係数を更新し、処理は、ステップS43からステップS44に進む。
 ステップS44では、可逆符号化部104は、ALF110から直前のステップS42で供給されるフィルタ情報を、伝送対象に設定して、処理は、ステップS45に進む。伝送対象に設定されたフィルタ情報は、後述するステップS57において符号化され、符号化データに含められて伝送される。
 ステップS45以降では、元画像の予測符号化処理が行われる。
 すなわち、ステップS45において、予測部112は、イントラ予測モードのイントラ予測処理を行い、処理は、ステップS46に進む。ステップS46において、予測部112は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行い、処理は、ステップS47に進む。
 予測部112のイントラ予測処理、及び、予測部112のインター動き予測処理では、各種の予測モードのコスト関数が演算されるとともに、予測画像が生成される。
 ステップS47では、予測部112は、コスト関数に基づいて、最適な予測モードを決定する。そして、予測部112は、最適な予測モードの予測画像を選択して出力し、処理は、ステップS47からステップS48に進む。
 ステップS48では、演算部101は、符号化対象の画像である元画像と、予測部112が出力する予測画像との残差を演算し、直交変換部102に供給して、処理は、ステップS49に進む。
 ステップS49では、直交変換部102は、演算部101からの残差を直交変換し、その結果得られる変換係数を、量子化部103に供給して、処理は、ステップS50に進む。
 ステップS50では、量子化部103は、直交変換部102からの変換係数を量子化し、その量子化により得られる量子化係数を、可逆符号化部104及び逆量子化部105に供給して、処理は、ステップS51に進む。
 ステップS51では、逆量子化部105は、量子化部103からの量子化係数を逆量子化し、その結果得られる変換係数を、逆直交変換部106に供給して、処理は、ステップS52に進む。ステップS52では、逆直交変換部106は、逆量子化部105からの変換係数を逆直交変換し、その結果得られる残差を、演算部107に供給して、処理は、ステップS53に進む。
 ステップS53では、演算部107は、逆直交変換部106からの残差と、予測部112が出力する予測画像とを加算し、演算部101での残差の演算の対象となった元画像に対応する復号途中画像を生成する。演算部107は、復号途中画像を、DF108に供給し、処理は、ステップS53からステップS54に進む。
 ステップS54において、DF108は、演算部107からの復号途中画像に、DFのフィルタ処理を施し、SAO109に供給する。さらに、ステップS54では、SAO109は、DF108からの復号途中画像に、SAOのフィルタ処理を施し、ALF110に供給して、処理は、ステップS55に進む。
 ステップS55において、ALF110は、SAO109からの復号途中画像に、ALF処理を施し、そのALF処理により得られるフィルタ後画像を、DPB111に供給して、処理は、ステップS55からステップS56に進む。
 ステップS56では、DPB111は、ALF110から供給されるフィルタ後画像を、復号画像として記憶し、処理は、ステップS57に進む。DPB111に記憶された復号画像は、必要に応じて、その後に行われるステップS45やS46で、予測画像を生成する元となる参照画像として使用される。
 ステップS57では、可逆符号化部104は、量子化部103からの量子化係数を符号化する。さらに、可逆符号化部104は、量子化部103での量子化に用いられた量子化パラメータQPや、予測部112でのイントラ予測処理で得られた予測モード、予測部112でのインター動き予測処理で得られた予測モードや動き情報等の符号化情報を必要に応じて符号化し、符号化データに含める。
 また、可逆符号化部104は、ステップS44で伝送対象に設定されたフィルタ情報を符号化し、符号化データに含め、処理は、ステップS57からステップS58に進む。
 ステップS58において、可逆符号化部104は、符号化データを伝送し、符号化処理は終了する。
 図30は、図29のステップS55で行われるALF処理の例を説明するフローチャートである。
 ALF110のALF処理部133(図27)では、ステップS71において、タップ選択部181が、SAO109(図4)から供給される復号途中画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS72に進む。
 ステップS72において、タップ選択部181が、SAO109から供給される復号途中画像から、注目画素についての予測タップとする画素を選択し、予測タップを構成する。そして、タップ選択部181は、予測タップを、フィルタ演算部184に供給して、処理は、ステップS73に進む。
 ステップS73では、クラス分類部182が、注目画素について、傾斜特徴量及び傾斜特徴量の信頼度、並びに、他の特徴量としての、例えば、TVノルム等を求める。さらに、クラス分類部182は、注目画素の傾斜特徴量及び傾斜特徴量の信頼度、並びに、TVノルム等と、クラス分類パラメータ生成部131(図5)からのクラス分類パラメータとを用いて、注目画素のクラス分類を行う。クラス分類部182は、クラス分類により得られる注目画素のクラス(最終クラス)を、係数取得部183に供給して、処理は、ステップS73からステップS74に進む。
 ここで、ステップS73のクラス分類に用いられるクラス分類パラメータは、図29の最新のステップS43で更新されたクラス分類パラメータである。
 ステップS74では、係数取得部183は、記憶しているクラスごとのタップ係数から、クラス分類部182からの注目画素のクラスのタップ係数を取得し、フィルタ演算部184に供給して、処理は、ステップS75に進む。
 ここで、係数取得部183は、図29の最新のステップS43で更新されたクラスごとのタップ係数を記憶している。
 ステップS75では、フィルタ演算部184は、タップ選択部181からの予測タップと、係数取得部183からのタップ係数とを用いて、式(1)フィルタ演算を行う。これにより、フィルタ演算部184は、注目画素に対応する元画像の対応画素の画素値の予測値を、フィルタ後画像の画素値として求め、処理は、ステップS76に進む。
 ステップS76では、タップ選択部181が、SAO109からの復号途中画像の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS76において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS71に戻り、以下、同様の処理が繰り返される。
 また、ステップS76において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS77に進み、フィルタ演算部184は、SAO109からの復号途中画像に対して得られた画素値で構成されるフィルタ後画像を、DPB111(図4)に供給する。そして、ALF処理は終了され、処理はリターンする。
 以上のように画像符号化装置100では、復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、クラスごとのタップ係数のうちの、注目画素のクラスのタップ係数を用いて、復号途中画像とのフィルタ演算を行う。したがって、注目画素が、高周波成分の方向(どの方向の高周波数成分があるか)によってクラス分類されるので、注目画素の高周波成分の方向に適したタップ係数を用いたフィルタ演算を行うことができる。さらに、かかるフィルタ演算により、元画像に対する誤差が小さいフィルタ後画像を得ることができ、これにより、符号化効率を改善することができる。
 <画像復号装置200の構成例>
 図31は、図1の画像復号装置200の構成例を示すブロック図である。
 図31において、画像復号装置200は、可逆復号部201、逆量子化部202、逆直交変換部203、演算部204、DF205、SAO206、ALF207、DPB208、及び、予測部209を有する。
 可逆復号部201は、画像符号化装置100から伝送されてくる符号化データを受信することにより取得する。したがって、可逆復号部201は、画像符号化装置100から伝送されてくる符号化データ、ひいては、符号化データに含まれるフィルタ情報としてのクラスごとのタップ係数やクラス分類パラメータを受け取る受け取り部として機能する。
 可逆復号部201は、符号化データを、図4の可逆符号化部104の符号化方式に対応する方式で復号する。
 そして、可逆復号部201は、符号化データの復号により得られる量子化係数を、逆量子化部202に供給する。
 また、可逆復号部201は、符号化データの復号により、符号化情報やフィルタ情報が得られた場合には、必要な符号化情報を、予測部209その他の必要なブロックに供給する。
 さらに、可逆復号部201は、フィルタ情報を、ALF207に供給する。
 逆量子化部202は、可逆復号部201からの量子化係数を、図4の量子化部103の量子化方式に対応する方式で逆量子化し、その逆量子化により得られる変換係数を、逆直交変換部203に供給する。
 逆直交変換部203は、逆量子化部202から供給される変換係数を、図4の直交変換部102の直交変換方式に対応する方式で逆直交変換し、その結果得られる残差を、演算部204に供給する。
 演算部204には、逆直交変換部203から残差が供給される他、予測部209から予測画像が供給される。
 演算部204は、逆直交変換部203からの残差と、予測部209からの予測画像とを加算し、復号途中画像を生成して、DF205に供給する。
 DF205は、演算部204からの復号途中画像に、DF108(図4)と同様のフィルタ処理を行い、そのフィルタ処理後の復号途中画像を、SAO206に供給する。
 SAO206は、DF205からの復号途中画像に、SAO109(図4)と同様のフィルタ処理を行い、ALF207に供給する。
 ALF207は、SAO206からの復号途中画像を第1の画像として、可逆復号部201からのフィルタ情報に含まれるクラスごとのタップ係数を用いた、ALF110(図4)と同様のALF処理を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像(の予測値)としてのフィルタ後画像に変換して(フィルタ後画像を生成して)出力する。
 ここで、ALF207が行うALF処理のクラス分類は、可逆復号部201からのフィルタ情報に含まれるクラス分類パラメータを用いて行われる。
 ALF207が出力するフィルタ後画像は、ALF110が出力するフィルタ後画像と同様の画像であり、復号画像として出力されるとともに、DPB208に供給される。
 DPB208は、ALF207から供給されるフィルタ後画像を、復号画像として一時記憶する。さらに、DPB208は、復号画像を、予測画像の生成に用いる参照画像として、予測部209に供給する。
 予測部209は、可逆復号部201から供給される符号化情報に含まれる予測モードに従い、図4の予測部112において用いられたイントラ予測モードで、DPB208から供給される参照画像を用いてイントラ予測を行う。
 また、予測部209は、可逆復号部201から供給される符号化情報に含まれる予測モードに従い、図4の予測部112において用いられたインター予測モードで、DPB208から供給される参照画像を用いてインター予測を行う。インター予測は、可逆復号部201から供給される符号化情報に含まれる動き情報等を必要に応じて用いて行われる。
 予測部209は、イントラ予測又はインター予測により得られる予測画像を、演算部204に供給する。
 <ALF207の構成例>
 図32は、図31のALF207の構成例を示すブロック図である。
 図32において、ALF207は、ALF処理部231を有する。
 ALF処理部231には、SAO206(図31)から復号途中画像が供給されるとともに、可逆復号部201からフィルタ情報が供給される。
 ALF処理部231は、図5のALF処理部133と同様のALF処理を行う。
 すなわち、ALF処理部231は、復号途中画像を第1の画像として、ALF処理部133で行われるのと同一のクラス分類を、フィルタ情報に含まれるクラス分類パラメータを用いて行う。さらに、ALF処理部231は、フィルタ情報に含まれるクラスごとのタップ係数のうちの、クラス分類の結果得られるクラスのタップ係数を用いたフィルタ演算を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像(の予測値)としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、復号画像として出力するとともに、DPB208(図31)に供給する。
 <ALF処理部231の構成例>
 図33は、図32のALF処理部231の構成例を示すブロック図である。
 図33において、ALF処理部231は、タップ選択部241、クラス分類部242、係数取得部243、及び、フィルタ演算部244を有する。
 タップ選択部241ないしフィルタ演算部244は、ALF処理部133(図27)を構成するタップ選択部181ないしフィルタ演算部184とそれぞれ同様に構成される。
 すなわち、タップ選択部241には、SAO206(図31)から復号途中画像が供給される。
 タップ選択部241は、SAO206からの復号途中画像を第1の画像として、その第1の画像としての復号途中画像の画素を、順次、注目画素に選択する。
 さらに、タップ選択部241は、注目画素について、復号途中画像から、図27のタップ選択部181で選択される予測タップと同一構造の予測タップを選択し、フィルタ演算部244に供給する。
 クラス分類部242には、可逆復号部201(図31)からフィルタ情報が供給されるとともに、SAO206から復号途中画像が供給される。
 クラス分類部242は、注目画素について、可逆復号部201からのフィルタ情報に含まれるクラス分類パラメータ、及び、SAO206からの復号途中画像(から得られる注目画素のクラスブロック)を用いて、クラス分類部182(図27)と同様のクラス分類を行い、その結果得られる注目画素のクラスを、係数取得部243に供給する。
 係数取得部243は、可逆復号部201(図31)からのフィルタ情報に含まれるクラス(最終クラス)ごとのタップ係数を記憶し、そのクラスごとのタップ係数から、クラス分類部242からの注目画素のクラスのタップ係数を取得して、フィルタ演算部244に供給する。
 フィルタ演算部244は、タップ選択部241からの予測タップと、係数取得部243からのタップ係数とを用いて、式(1)のフィルタ演算を行い、復号途中画像の注目画素に対応する元画像としての第2の画像の対応画素の画素値の予測値を、フィルタ後画像の画素の画素値として求めて出力する。
 なお、図27で説明したように、ALF処理部133において、クラス分類部182からタップ選択部181に、注目画素のクラスを供給し、タップ選択部181において、注目画素のクラスに応じて、予測タップのタップ構造を変更する場合には、ALF処理部231でも、図33において点線で示すように、クラス分類部242からタップ選択部241に、注目画素のクラスが供給され、タップ選択部241において、注目画素のクラスに応じて、予測タップのタップ構造が変更される。クラスに応じて、予測タップのタップ構造が変更される場合、すなわち、クラスごとに、予測タップのタップ構造が異なる場合、その予測タップとしての画素(の画素値)とのフィルタ演算に用いられるタップ係数のタップ構造も、クラスに応じて異なる。
 図34は、図33のクラス分類部242の構成例を示すブロック図である。
 図34において、クラス分類部242は、クラスブロック抽出部251、傾斜特徴量/信頼度算出部252、第1クラス分類部253、特徴量算出部254、及び、第2クラス分類部255を有する。
 クラス分類部242において、クラスブロック抽出部251ないし第2クラス分類部255は、図28のクラス分類部182のクラスブロック抽出部191ないし第2クラス分類部195と同様に構成される。したがって、クラス分類部242は、注目画素について、図28のクラス分類部182と同様のクラス分類を行う。
 <復号処理>
 図35は、図31の画像復号装置200の復号処理の例を説明するフローチャートである。
 なお、図35に示す復号処理の各ステップの順番は、説明の便宜上の順番であり、実際の復号処理の各ステップは、適宜、並列的に、必要な順番で行われる。
 復号処理では、ステップS111において、可逆復号部201は、画像符号化装置100から伝送されてくる符号化データを受信し、処理は、ステップS112に進む。
 ステップS112では、可逆復号部201は、符号化データを復号し、その復号により得られる量子化係数を、逆量子化部202に供給する。
 また、可逆復号部201は、符号化データの復号により、符号化情報やフィルタ情報が得られた場合、必要な符号化情報を、予測部209その他の必要なブロックに供給する。
 さらに、可逆復号部201は、フィルタ情報を、ALF207に供給する。
 その後、処理は、ステップS112からステップS113に進み、ALF207は、可逆復号部201からフィルタ情報が供給されたかどうかを判定する。
 ステップS113において、フィルタ情報が供給されていないと判定された場合、処理は、ステップS114をスキップして、ステップS115に進む。
 また、ステップS113において、フィルタ情報が供給されたと判定された場合、処理は、ステップS114に進み、ALF207のALF処理部231(図33)は、可逆復号部201からのフィルタ情報を取得し(て記憶し)、処理は、ステップS115に進む。
 ステップS115では、ALF処理部231は、タップ係数及びクラス分類パラメータの更新タイミングであるかどうか、すなわち、例えば、複数のフレーム、1フレーム、ブロック等の更新単位の終点又は始点のタイミングであるかどうかを判定する。
 ここで、更新単位は、例えば、フィルタ情報が配置されている(含まれている)符号化データの階層(例えば、Sequence parameter set syntaxや、Picture parameter set syntax,Slice data syntax等)から認識することができる。
 例えば、フィルタ情報が、符号化データのPicture parameter set syntaxとして配置されている場合には、更新単位は、1フレームであると認識することができる。
 また、更新単位は、画像符号化装置100及び画像復号装置200の間で、あらかじめ決めておくことができる。
 ステップS115において、タップ係数及びクラス分類パラメータの更新タイミングでないと判定された場合、処理は、ステップS116をスキップして、ステップS117に進む。
 また、ステップS115において、タップ係数及びクラス分類パラメータの更新タイミングであると判定された場合、処理は、ステップS116に進む。
 ステップS116では、ALF処理部231(図33)は、直前のステップS114で取得したフィルタ情報に含まれるクラスごとのタップ係数によって、係数取得部243に記憶されたクラスごとのタップ係数を更新する。さらに、ALF処理部231は、直前のステップS114で取得したフィルタ情報に含まれるクラス分類パラメータによって、クラス分類部242がクラス分類に用いるクラス分類パラメータを更新し、処理は、ステップS116からステップS117に進む。
 ステップS117では、逆量子化部202は、可逆復号部201からの量子化係数を逆量子化し、その結果得られる変換係数を、逆直交変換部203に供給して、処理は、ステップS118に進む。
 ステップS118では、逆直交変換部203は、逆量子化部202からの変換係数を逆直交変換し、その結果得られる残差を、演算部204に供給して、処理は、ステップS119に進む。
 ステップS119では、予測部209が、DPB208から供給される参照画像、及び、可逆復号部201から供給される符号化情報を用いて、予測画像を生成する予測処理を行う。そして、予測部209は、予測処理により得られる予測画像を、演算部204に供給して、処理は、ステップS119からステップS120に進む。
 ステップS120では、演算部204は、逆直交変換部203からの残差と、予測部209からの予測画像を加算することにより、復号途中画像を生成する。そして、演算部204は、復号途中画像を、DF205に供給して、処理は、ステップS120からステップS121に進む。
 ステップS121において、DF205は、演算部204からの復号途中画像に、DFのフィルタ処理を施し、SAO206に供給する。さらに、ステップS121では、SAO206は、DF205からの復号途中画像に、SAOのフィルタ処理を施し、ALF207に供給して、処理は、ステップS122に進む。
 ステップS122において、ALF207は、直前のステップS116で更新されたクラスごとのタップ係数及びクラス分類パラメータを用いて、SAO206からの復号途中画像に、ALF処理を施し、そのALF処理により得られるフィルタ後画像を、復号画像として出力するとともに、DPB208に供給して、処理は、ステップS123に進む。
 ステップS123では、DPB208は、ALF207からのフィルタ後画像を、復号画像として記憶し、復号処理は終了する。DPB208に記憶された復号画像は、必要に応じて、その後に行われるステップS119の予測処理で、予測画像を生成する元となる参照画像として使用される。
 図36は、図35のステップS122で行われるALF処理の例を説明するフローチャートである。
 ALF207のALF処理部231(図33)では、ステップS141において、タップ選択部241が、SAO206(図31)から供給される復号途中画像の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS142に進む。
 ステップS142において、タップ選択部241が、SAO206から供給される復号途中画像から、注目画素についての予測タップとする画素を選択し、予測タップを構成する。そして、タップ選択部241は、予測タップを、フィルタ演算部244に供給して、処理は、ステップS142からステップS143に進む。
 ステップS143では、クラス分類部242が、注目画素について、傾斜特徴量及び傾斜特徴量の信頼度、並びに、他の特徴量としての、例えば、TVノルム等を求める。さらに、クラス分類部242は、注目画素の傾斜特徴量及び傾斜特徴量の信頼度、並びに、TVノルム等と、クラス分類パラメータとを用いて、注目画素のクラス分類を行う。クラス分類部242は、クラス分類により得られる注目画素のクラス(最終クラス)を、係数取得部243に供給して、処理は、ステップS143からステップS144に進む。
 ここで、ステップS143のクラス分類に用いられるクラス分類パラメータは、図35の最新のステップS116で更新されたクラス分類パラメータである。
 ステップS144では、係数取得部243は、記憶しているクラスごとのタップ係数から、クラス分類部242からの注目画素のクラスのタップ係数を取得し、フィルタ演算部244に供給して、処理は、ステップS145に進む。
 ここで、係数取得部243は、図35の最新のステップS116で更新されたクラスごとのタップ係数を記憶している。
 ステップS145では、フィルタ演算部244は、タップ選択部241からの予測タップと、係数取得部243からのタップ係数とを用いて、式(1)フィルタ演算を行う。これにより、フィルタ演算部244は、注目画素に対応する元画像の対応画素の画素値の予測値を、フィルタ後画像の画素値として求め、処理は、ステップS146に進む。
 ステップS146では、タップ選択部241が、SAO206からの復号途中画像の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS146において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS141に戻り、以下、同様の処理が繰り返される。
 また、ステップS146において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS147に進み、フィルタ演算部244は、SAO206からの復号途中画像に対して得られた画素値で構成されるフィルタ後画像を、復号画像として出力するとともに、DPB208(図31)に供給する。そして、ALF処理は終了され、処理はリターンする。
 以上のように画像復号装置200では、画像符号化装置100と同様に、復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、クラスごとのタップ係数のうちの、注目画素のクラスのタップ係数を用いて、復号途中画像とのフィルタ演算を行う。したがって、注目画素が、高周波成分の方向(どの方向の高周波数成分があるか)によってクラス分類されるので、注目画素の高周波成分の方向に適したタップ係数を用いたフィルタ演算を行うことができる。さらに、かかるフィルタ演算により、元画像に対する誤差が小さいフィルタ後画像、すなわち、S/N(Signal to Noise ratio)の良い高画質の復号画像を得ることができる。
 <タップ係数の効率的な符号化方法>
 図37は、傾斜特徴量を用いたクラス分類が行われる場合に、クラスごとのタップ係数を効率的に符号化する符号化方法を説明する図である。
 画像符号化装置100(図4)では、ALF110において、タップ係数学習が適宜行われる。さらに、可逆符号化部104において、タップ係数学習により得られるクラスごとのタップ係数(を含むフィルタ情報)が符号化され、符号化データに含められて伝送される。
 したがって、クラスごとのタップ係数は、符号化データのオーバーヘッドとなるため、クラスごとのタップ係数を効率的に符号化し、データ量を少なくすることが、符号化効率の改善に資する。
 そこで、可逆符号化部104は、第1の方向を表す傾斜特徴量の画素が分類される第1の方向のクラスのタップ係数と、第2の方向を表す傾斜特徴量の画素が分類される第2の方向のクラスのタップ係数との回転の対称性に応じて順序を並べ替えた第1の方向のクラスのタップ係数と、第2の方向のクラスのタップ係数との差分である差分係数を、第2の方向のクラスのタップ係数に代えて符号化することにより、クラスごとのタップ係数を効率的に符号化する。
 ここで、説明を簡単にするため、タップ係数学習(及びALF処理)のクラス分類として、画素が、その画素の傾斜特徴量に応じて、図23及び図24で説明した、M-1個の傾斜/信頼度クラスc1ないしc#M-1のうちのいずれかに分類されるクラス分類を採用することとする。
 図37は、第1の方向のクラスとしての傾斜/信頼度クラスc#Hにクラス分類される画素で構成される画像の周波数特性f21と、第2の方向のクラスとしての傾斜/信頼度クラスc#Vにクラス分類される画素で構成される画像の周波数特性f22との例を模式的に示している。
 図37において、横軸は水平方向の周波数fHを表し、縦軸は垂直方向の周波数fVを表す。図37は、水平方向の周波数fH及び垂直方向の周波数fVを軸として、画像の周波数成分の分布を表す。
 図37において、縦長の楕円形状の周波数特性f21は、垂直方向の高周波数成分が多く、水平方向の高周波数成分が少ない画像、すなわち、例えば、水平エッジ領域が多い画像の周波数特性である。また、横長の楕円形状の周波数特性f22は、垂直方向の高周波数成分が少なく、水平方向の高周波数成分が多い画像、すなわち、例えば、垂直エッジ領域が多い画像の周波数特性である。
 周波数特性f21の画像、すなわち、水平エッジ領域が多い画像の画素については、水平方向(第1の方向)を表す傾斜特徴量が求められ、その結果、水平方向の傾斜/信頼度クラスc#H(第1の方向のクラス)に分類される。
 一方、周波数特性f22の画像、すなわち、垂直エッジ領域が多い画像の画素については、垂直方向(第2の方向)を表す傾斜特徴量が求められ、その結果、垂直方向の傾斜/信頼度クラスc#V(第2の方向のクラス)に分類される。
 水平方向の傾斜/信頼度クラスc#Hに分類される画素で構成される画像と、垂直方向の傾斜/信頼度クラスc#Vに分類される画素で構成される画像とは、π/2の回転の対称性を有する傾向が強い。
 そのため、水平方向の傾斜/信頼度クラスc#Hのタップ係数(群)と、垂直方向の傾斜/信頼度クラスc#Vのタップ係数(群)とは、π/2の回転の対称性を有する傾向のタップ係数となる。
 ここで、あるクラスのタップ係数(群)を、そのタップ係数に対応する予測タップの画素、すなわち、そのタップ係数と乗算される予測タップの画素の位置に配置した状態のタップ係数を、タップ構造状に配置したタップ係数という。
 ある傾斜/信頼度クラスのタップ係数と、他の傾斜/信頼度クラスのタップ係数とが、所定の角度の回転の対称性を有するとは、ある傾斜/信頼度クラスのタップ係数、及び、他の傾斜/信頼度クラスのタップ係数のうちの一方のタップ構造状に配置したタップ係数を、所定の角度だけ回転した場合に、その回転後のタップ係数が、他方のタップ構造状に配置したタップ係数と高い相関性を有する(値がほぼ一致する傾向にある)ことを意味する。
 なお、ある傾斜/信頼度クラスのタップ係数と、他の傾斜/信頼度クラスのタップ係数とが、所定の角度の回転の対称性を有するには、ある傾斜/信頼度クラスのタップ係数のタップ構造と、他の傾斜/信頼度クラスのタップ係数のタップ構造とが、その2つのタップ構造のうちの一方のタップ構造を所定の角度だけ回転したときに、他方のタップ構造に一致している必要がある。
 上述のように、水平方向の傾斜/信頼度クラス(以下、水平クラスともいう)c#Hのタップ係数と、垂直方向の傾斜/信頼度クラス(以下、垂直クラスともいう)c#Vのタップ係数とは、π/2の回転の対称性を有する傾向のタップ係数となるので、例えば、水平クラスc#Hのタップ構造状に配置したタップ係数をπ/2だけ回転した回転後のタップ係数は、垂直クラスc#Vのタップ構造状に配置したタップ係数に、ほぼ一致する。
 そこで、可逆符号化部104は、水平クラスc#Hのタップ係数w(c#H)については、そのタップ係数w(c#H)をそのまま符号化して伝送する。
 その後、可逆符号化部104は、垂直クラスc#Vのタップ係数w(c#V)については、水平クラスのタップ係数w(c#H)と垂直クラスc#Vのタップ係数w(c#V)との回転の対称性に応じて順序を並び替えた水平クラスc#Hのタップ係数R{w(c#H)}と、垂直クラスc#Vのタップ係数w(c#V)との差分である差分係数δw(c#H)を、垂直クラスc#Vのタップ係数w(c#V)に代えて符号化して伝送する。
 すなわち、可逆符号化部104は、水平クラスc#Hのタップ構造状に配置したタップ係数w(c#H)をπ/2だけ回転した回転後のタップ係数となるように、水平クラスc#Hのタップ係数w(c#H)の順序を並び替える(水平クラスc#Hのタップ係数群w(c#H)としての複数のタップ係数の順序を並び替える)。
 この順序の並び替え後の水平クラスc#Hのタップ係数w(c#H)を、タップ係数R{w(c#H)}と記載する。タップ係数R{w(c#H)}は、水平クラスc#Hのタップ係数群w(c#H)としての複数のタップ係数と同一の複数のタップ係数であるが、タップ構造(複数のタップ係数の並び)がタップ係数群w(c#H)と異なる。
 可逆符号化部104は、垂直クラスc#Vのタップ係数w(c#V)から、水平クラスc#Hのタップ係数w(c#H)の順序の並び替えにより得られたタップ係数R{w(c#H)}を減算することにより、差分係数δw(c#H)を求める。
 すなわち、垂直クラスc#Vのタップ係数w(c#V)は、複数のタップ係数であり、その複数のタップ係数を、先頭から順番に、V1,V2,・・・と表すこととする。また、タップ係数R{w(c#H)}も、複数のタップ係数であり、その複数のタップ係数を、先頭から順番に、R1,R2,・・・と表すこととする。
 可逆符号化部104は、垂直クラスc#Vのタップ係数w(c#V)としての複数のタップ係数V1,V2,・・・の各順番のタップ係数V#iから、タップ係数R{w(c#H)}としての複数のタップ係数R1,R2,・・・のうちの、対応する順番のタップ係数R#iを減算し、減算値(群)V1-R1,V2-R2,・・・を、差分係数δw(c#H)として求める。
 上述のように、水平クラスc#Hのタップ構造状に配置したタップ係数をπ/2だけ回転した回転後のタップ係数R{w(c#H)}は、垂直クラスc#Vのタップ構造状に配置したタップ係数w(c#V)に、ほぼ一致するので、差分係数δw(c#H)は、ほぼ0等の小さい値になる。
 したがって、可逆符号化部104において、垂直クラスc#Vのタップ係数w(c#V)に代えて、差分係数δw(c#H)を符号化することにより、クラスごとのタップ係数を効率的に符号化し、符号化効率を改善することができる。
 なお、画像符号化装置100の可逆符号化部104において、上述のように、水平クラスc#Hのタップ係数w(c#H)、及び、差分係数δw(c#H)が符号化されて伝送される場合、画像復号装置200の可逆復号部201では、水平クラスc#Hのタップ係数w(c#H)を復号し、さらに、差分係数δw(c#H)を復号した後、水平クラスc#Hのタップ係数w(c#H)の順序を並び替え、式(25)に従って、順序の並び替えにより得られたタップ係数R{w(c#H)}と、差分係数δw(c#H)とを加算することにより、差分係数δw(c#H)を、垂直クラスc#Vのタップ係数w(c#V)に復号することができる。
Figure JPOXMLDOC01-appb-M000025
                        ・・・(25)
 ここで、画像符号化装置100(図4)において、差分係数δw(c#H)の算出は、可逆符号化部104ではなく、ALF110で行うことができる。また、画像復号装置200(図31)において、差分係数δw(c#H)から、垂直クラスc#Vのタップ係数w(c#V)への復号(復元)は、可逆復号部201ではなく、ALF207で行うことができる。
 さらに、上述の場合には、垂直クラスc#Vのタップ係数w(c#V)から、水平クラスc#Hのタップ係数w(c#H)の順序の並び替えにより得られたタップ係数R{w(c#H)}を減算することにより、差分係数δw(c#H)を求めることとしたが、逆に、水平クラスc#Hのタップ係数w(c#H)から、垂直クラスc#Vのタップ係数w(c#V)の順序の並び替えにより得られたタップ係数R{w(c#V)}を減算することにより、差分係数δw(c#V)を求めてもよい。
 また、回転の対称性の所定の角度は、π/2に限定されるものではない。
 <クラスに応じたタップ構造の変更>
 図38は、クラスに応じたタップ構造の変更を説明する図である。
 図6、図27、及び、図33で説明したように、クラスに応じて、予測タップのタップ構造を変更することができる。
 すなわち、タップ係数wnを用いて式(1)のフィルタ演算を行う対象である予測タップを構成する画素xnは、クラスに応じて変更することができる。
 なお、ここでは、説明を簡単にするため、タップ係数学習及びALF処理のクラス分類として、画素が、その画素の傾斜特徴量及び信頼度に応じて、図23及び図24で説明した、M個の傾斜/信頼度クラスc0ないしc#M-1のうちのいずれかに分類されるクラス分類を採用することとする。
 図38のAは、画像の周波数特性を模式的に示している。
 図38のAにおいて、横軸は水平方向の周波数fHを表し、縦軸は垂直方向の周波数fVを表す。図38のAは、水平方向の周波数fH及び垂直方向の周波数fVを軸として、画像の周波数成分の分布を表す。
 図38のAにおいて、周波数特性f31は、水平クラスc#Hにクラス分類される画素で構成される画像の周波数特性を表し、周波数特性f32は、垂直クラスc#Vにクラス分類される画素で構成される画像の周波数特性を表す。また、周波数特性f33は、傾斜/信頼度クラスc0にクラス分類される画素で構成される画像の周波数特性を表す。
 周波数特性f31は、縦長の楕円形状になっており、垂直方向の高周波数成分が多く、水平方向の高周波数成分が少ない画像、すなわち、例えば、水平エッジ領域が多い画像の周波数特性である。周波数特性f32は、横長の楕円形状になっており、垂直方向の高周波数成分が少なく、水平方向の高周波数成分が多い画像、すなわち、例えば、垂直エッジ領域が多い画像の周波数特性である。周波数特性f33は、円形状になっており、各方向の高周波数成分が同程度の画像の周波数特性である。例えば、元画像を撮影するイメージセンサのノイズが、周波数特性f33のような周波数特性を有する。
 周波数特性f31の画像、すなわち、水平エッジ領域が多い画像の画素については、水平方向を表す傾斜特徴量が求められ、その結果、水平クラスc#Hに分類される。
 周波数特性f32の画像、すなわち、垂直エッジ領域が多い画像の画素については、垂直方向を表す傾斜特徴量が求められ、その結果、垂直クラスc#Vに分類される。
 周波数特性f33の画像、すなわち、各方向の高周波数成分が同程度の画像の画素については、傾斜特徴量の信頼度trが小さくなり(閾値THtr以上でない値になり)、その結果、傾斜特徴量に依存しない傾斜/信頼度クラス(以下、無方向性クラスともいう)c0に分類される。
 図38のBは、無方向性クラスc0の画素に対して構成される予測タップのタップ構造の例を示している。
 例えば、画素x13が注目画素であり、その注目画素x13が、無方向性クラスc0に分類された場合、注目画素x13を中心とする正方形状の範囲の画素x1ないしx25が、予測タップとして採用される。
 図38のCは、水平クラスc#Hの画素に対して構成される予測タップのタップ構造の例を示している。
 例えば、画素x13が注目画素であり、その注目画素x13が、水平クラスc#Hに分類された場合、注目画素x13を中心とする横長の菱形状の範囲の画素x1ないしx25が、予測タップとして採用される。この場合、注目画素x13に対して垂直方向に並ぶ画素よりも水平方向に並ぶ画素を多く用いて予測タップが構成される。
 注目画素x13が、水平クラスc#Hに分類される場合、注目画素x13の傾斜特徴量は水平方向を表している。傾斜特徴量が水平方向を表す注目画素x13については、その注目画素x13の傾斜特徴量が表す水平方向に並ぶ画素を多く用いて予測タップを構成することにより、タップ係数学習において、誤差(式(4)の自乗誤差の総和E)がより小さいタップ係数を求めるとともに、ALF処理において、かかるタップ係数を用いたフィルタ演算により、より元画像に近いフィルタ後画像を求めることができる。
 図38のDは、垂直クラスc#Vの画素に対して構成される予測タップのタップ構造の例を示している。
 例えば、画素x13が注目画素であり、その注目画素x13が、垂直クラスc#Vに分類された場合、注目画素x13を中心とする縦長の菱形状の範囲の画素x1ないしx25が、予測タップとして採用される。この場合、注目画素x13に対して水平方向に並ぶ画素よりも垂直方向に並ぶ画素を多く用いて予測タップが構成される。
 注目画素x13が、垂直クラスc#Vに分類される場合、注目画素x13の傾斜特徴量は垂直方向を表している。傾斜特徴量が垂直方向を表す注目画素x13については、その注目画素x13の傾斜特徴量が表す垂直方向に並ぶ画素を多く用いて予測タップを構成することにより、タップ係数学習において、誤差がより小さいタップ係数を求め、ALF処理において、かかるタップ係数を用いたフィルタ演算により、より元画像に近いフィルタ後画像を求めることができる。
 図39は、クラスに応じたタップ構造の変更をさらに説明する図である。
 図39のAは、画像の周波数特性を模式的に示している。
 図39のAでは、図38のAと同様に、横軸は水平方向の周波数fHを表し、縦軸は垂直方向の周波数fVを表す。
 図39のAにおいて、周波数特性f41は、右上(左下)方向に長軸が向いた楕円形状になっており、右上方向の高周波数成分が多く、左上(右下)方向の高周波数成分が少ない画像、すなわち、例えば、左上方向のエッジ(左上方向に延びるエッジ)が支配的になっている左上エッジ領域が多い画像の周波数特性である。
 周波数特性f41の画像、すなわち、左上エッジ領域が多い画像の画素については、左上方向を表す傾斜特徴量が求められ、その結果、左上方向の傾斜/信頼度クラスc#Sに分類される。
 図39のBは、左上方向の傾斜/信頼度クラスc#Sの画素に対して構成される予測タップのタップ構造の例を示している。
 例えば、画素x10が注目画素であり、その注目画素x10が、左上方向の傾斜/信頼度クラスc#Sに分類された場合、注目画素x10を中心とし、左上(右下)方向を長手方向とする長方形状の範囲の画素x1ないしx25が、予測タップとして採用される。この場合、注目画素x10に対して右上方向及び左下方向に並ぶ画素よりも左上方向及び右下方向に並ぶ画素を多く用いて予測タップが構成される。
 この場合、図38のC及びDで説明した場合と同様に、タップ係数学習において、誤差がより小さいタップ係数を求めるとともに、ALF処理において、かかるタップ係数を用いたフィルタ演算により、より元画像に近いフィルタ後画像を求めることができる。
 なお、以上のように、クラスに応じて、予測タップのタップ構造が変更される場合、すなわち、クラスごとに、予測タップのタップ構造が異なる場合、その予測タップとしての画素(の画素値)とのフィルタ演算に用いられるタップ係数のタップ構造も、クラスに応じて異なる。
 また、図38のBないしD、及び、図39のBでは、予測タップを構成する画素の数として、25画素を採用しているが、予測タップを構成する画素の数は、25画素に限定されるものではない。
 さらに、予測タップを構成する画素の数としては、クラスごとに異なる数を採用することができる。
 <クラス分類パラメータ>
 図40は、クラス分類パラメータ生成部131(図5)でのクラス分類パラメータの生成の例を説明する図である。
 クラス分類パラメータ生成部131は、タップ係数の更新を行う更新単位としての、例えば、1ピクチャの復号途中画像の画素が各クラスに均等に分類されるように、クラス分類パラメータを生成する。
 図40は、更新単位としてのある1ピクチャの各画素の特徴量の確率密度pb1と、他の1ピクチャの各画素の特徴量の確率密度pb2とを示している。
 図40において、横軸は、画素の特徴量を表し、縦軸は、特徴量の確率密度を表す。
 確率密度pb1は、特徴量が小さい場合に大きく、特徴量が大きくなるにつれて小さくなっていく。確率密度pb2は、特徴量が中程度の値の場合に大きく、特徴量が中程度の値から離れるにつれて小さくなっていく。
 図40のAは、クラス分類パラメータとしての閾値を固定にした場合のクラス分類を説明する図である。
 なお、図40では、説明を簡単にするため、画素の特徴量として、例えば、画素値の分散を用い、クラス分類では、画素の特徴量と、クラス分類パラメータとしての閾値とを比較して、その比較結果に基づき、画素を、特徴量(の大きさ)に応じたクラスに分類することとする。
 図40のAでは、クラス分類パラメータとしての特徴量の閾値が、THv1,THv2,THv3,及び、THv4に固定されている。
 さらに、図40のAでは、確率密度pb1については、特徴量がTHv1未満の画素の確率密度が、他の値の特徴量の画素の確率密度より高くなっており、確率密度pb2については、特徴量がTHv1以上THv2未満の画素の確率密度が、他の値の特徴量の画素の確率密度より高くなっている。
 そのため、特徴量の閾値が、THv1ないしTHv4に固定されている場合、確率密度pb1の画像(特徴量の確率密度がpb1の画像)については、特徴量がTHv1未満のクラスに分類される画素が、他のクラスに分類される画素よりも多くなる。同様に、確率密度pb2の画像については、特徴量がTHv1以上THv2未満のクラスに分類される画素が、他のクラスに分類される画素よりも多くなる。
 以上のように、特徴量の閾値が固定されている場合、画像の特徴量の確率密度の違いによって、特定のクラスに分類される画素が、他のクラスに分類される画素に比較して多くなり(又は少なくなり)、いわば、クラス分類の結果に偏りが生じる。
 クラス分類の結果に偏りが生じると、注目画素についてフィルタ演算を行うにあたり、そのフィルタ演算に用いるタップ係数を決めるために行う注目画素のクラス分類の効果が薄れることがあり得る。
 そこで、クラス分類パラメータ生成部131は、例えば、タップ係数の更新を行う更新単位としての、例えば、1ピクチャの復号途中画像の画素が各クラスに均等に分類されるように、クラス分類パラメータを生成する。
 すなわち、特徴量が大きくなるにつれて小さくなる確率密度pb1の画像については、図40のBに示すように、特徴量が大きくなるにつれて、隣接する閾値どうしの幅が広くなるような閾値が、クラス分類パラメータとして生成される。かかる閾値を用いて、確率密度pb1の画像の各画素のクラス分類を行うことにより、確率密度pb1の画像の各画素は、各クラスに均等に分類される。すなわち、確率密度pb1の画像の各画素が適切に分類される。
 また、特徴量が中程度の値から離れるにつれて小さくなる確率密度pb2の画像については、図40のCに示すように、特徴量が中程度の値から離れるにつれて、隣接する閾値どうしの幅が広くなるような閾値が、クラス分類パラメータとして生成される。かかる閾値を用いて、確率密度pb2の画像の各画素のクラス分類を行うことにより、確率密度pb2の画像の各画素は、各クラスに均等に分類される。すなわち、確率密度pb2の画像の各画素が適切に分類される。
 クラス分類パラメータ生成部131は、元画像を用いて、タップ係数の更新を行う更新単位としての、例えば、1ピクチャの復号途中画像の画素が各クラスに均等に分類されるように、クラス分類パラメータを生成する。
 すなわち、クラス分類パラメータ生成部131は、更新単位の元画像から特徴量の確率密度を求め、その確率密度に応じて、更新単位の復号途中画像の画素が各クラスに均等に分類されるように、クラス分類パラメータを生成する。
 なお、クラス分類パラメータ生成部131では、更新単位の元画像ではなく、更新単位の復号途中画像に応じて、その更新単位の復号途中画像の画素が各クラスに均等に分類されるように、クラス分類パラメータを生成することができる。すなわち、例えば、クラス分類パラメータ生成部131では、更新単位の復号途中画像の特徴量を求め、その特徴量の分布から所定のルールに従って、更新単位の復号途中画像の画素が各クラスに均等に分類されるように、クラス分類パラメータを生成することができる。
 以上のように、画像符号化装置100において、復号途中画像を用いて、クラス分類パラメータを生成する場合には、画像復号装置200でも、復号途中画像を用いて、クラス分類パラメータを生成することができるので、クラス分類パラメータを、画像符号化装置100から画像復号装置200に伝送する必要がなくなり、符号化効率をさらに改善することができる。
 なお、クラス分類パラメータは、その他、例えば、更新単位の復号途中画像及び元画像を用いて生成することができる。すなわち、クラス分類パラメータ生成部131では、クラス分類に用いる特徴量の閾値を、様々な値に変化させて、タップ係数学習を行い、そのタップ係数学習において、式(4)の自乗誤差の総和Eをより小さくする特徴量の閾値や、タップ係数学習に用いられる復号途中画像の画素が各クラスに均等に分類されるときの特徴量の閾値を、クラス分類パラメータとして生成することができる。
 <本技術を適用したコンピュータの説明>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図41は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータ800において、CPU(Central Processing Unit)801,ROM(Read Only Memory)802,RAM(Random Access Memory)803は、バス804により相互に接続されている。
 バス804には、さらに、入出力インタフェース810が接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、及びドライブ815が接続されている。
 入力部811は、キーボード、マウス、マイクロホン等よりなる。出力部812は、ディスプレイ、スピーカ等よりなる。記憶部813は、ハードディスクや不揮発性のメモリ等よりなる。通信部814は、ネットワークインタフェース等よりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブルメディア821を駆動する。
 以上のように構成されるコンピュータ800では、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ800(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
 コンピュータ800では、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部814で受信し、記憶部813にインストールすることができる。その他、プログラムは、ROM802や記憶部813に、あらかじめインストールしておくことができる。
 なお、コンピュータ800が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 <テレビジョン装置>
 図42は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。すなわち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)等の補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去等の追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソル等のGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)等)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅等の再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去等の追加的な処理を行ってもよい。
 外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。すなわち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPU等のプロセッサ、並びにRAM及びROM等のメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータ等を記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部等を有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904が、上述した画像復号装置200の機能を有するようにしてもよい。つまり、デコーダ904が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、テレビジョン装置900は、上述した各実施の形態と同様の効果を得ることができる。
 また、このように構成されたテレビジョン装置900において、映像信号処理部905が、例えば、デコーダ904から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部909を介してテレビジョン装置900の外部に出力させることができるようにしてもよい。そして、その映像信号処理部905が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、映像信号処理部905が、デコーダ904から供給される画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置900は、上述した各実施の形態と同様の効果を得ることができる。
 <携帯電話機>
 図43は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録等の動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させるとともに、電子メールデータを記録再生部929に供給し、その記憶媒体に書き込ませる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリ等の内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカード等の外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
 さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、例えば画像処理部927が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部927が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機920は、上述した各実施の形態と同様の効果を得ることができる。
 また、このように構成された携帯電話機920において、例えば画像処理部927が、上述した画像復号装置200の機能を有するようにしてもよい。つまり、画像処理部927が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、携帯電話機920は、上述した各実施の形態と同様の効果を得ることができる。
 <記録再生装置>
 図44は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、及びユーザインタフェース(I/F)部950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。すなわち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェース等であってよい。例えば、外部インタフェース部942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。すなわち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース部942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD部944は、映像及び音声等のコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD部944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスク等であってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD部944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD部944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD部948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
 OSD部948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD部948は、表示する映像に、例えばメニュー、ボタン又はカーソル等のGUIの画像を重畳してもよい。
 制御部949は、CPU等のプロセッサ、並びにRAM及びROM等のメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータ等を記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部等を有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、例えばエンコーダ943が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、エンコーダ943が、画像データを、以上の各実施の形態において説明方法で符号化するようにしてもよい。このようにすることにより、記録再生装置940は、上述した各実施の形態と同様の効果を得ることができる。
 また、このように構成された記録再生装置940において、例えばデコーダ947が、上述した画像復号装置200の機能を有するようにしてもよい。つまり、デコーダ947が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、記録再生装置940は、上述した各実施の形態と同様の効果を得ることができる。
 <撮像装置>
 図45は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD部969、制御部970、ユーザインタフェース(I/F)部971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構等を有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正等の種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD部969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD部969は、例えばメニュー、ボタン又はカーソル等のGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスク等のリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネット等のネットワークに接続されるネットワークインタフェースとして構成されてもよい。すなわち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリ等の、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPU等のプロセッサ、並びにRAM及びROM等のメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータ等を記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチ等を有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、例えば画像処理部964が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部964が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、撮像装置960は、上述した各実施の形態と同様の効果を得ることができる。
 また、このように構成された撮像装置960において、例えば画像処理部964が、上述した画像復号装置200の機能を有するようにしてもよい。つまり、画像処理部964が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、撮像装置960は、上述した各実施の形態と同様の効果を得ることができる。
 <ビデオセット>
 また、本技術は、任意の装置又はシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。図46は、本技術を適用したビデオセットの概略的な構成の一例を示している。
 近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
 図46に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
 図46に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、及びフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、及びセンサ1323等の関連する機能を有するデバイスとを有する。
 モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
 図46の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、及びRFモジュール1334を有する。
 プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
 図46のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
 ビデオプロセッサ1332は、画像の符号化・復号(その一方又は両方)に関する機能を有するプロセッサである。
 ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(又はその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
 RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
 なお、図46において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
 外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
 パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
 フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図46に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、及び増幅部1353を有する。
 アンテナ部1351は、無線信号を送受信するアンテナ及びその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
 コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
 例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
 なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
 カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
 センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
 以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
 以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
 (ビデオプロセッサの構成例)
 図47は、本技術を適用したビデオプロセッサ1332(図46)の概略的な構成の一例を示している。
 図47の例の場合、ビデオプロセッサ1332は、ビデオ信号及びオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータ及びオーディオデータを復号し、ビデオ信号及びオーディオ信号を再生出力する機能とを有する。
 図47に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、及びメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408A及び1408B、並びに、オーディオESバッファ1409A及び1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、及びストリームバッファ1414を有する。
 ビデオ入力処理部1401は、例えばコネクティビティ1321(図46)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
 フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、及びエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
 メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
 エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
 ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
 オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
 オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
 多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
 逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
 ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
 また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
 さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402又は第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換及び拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
 また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
 ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム又はファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリーム又はファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
 オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した画像符号化装置100の機能若しくは画像復号装置200の機能又はその両方を有するようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、上述した各実施の形態と同様の効果を得ることができる。
 なお、エンコード・デコードエンジン1407において、本技術(すなわち、画像符号化装置100の機能若しくは画像復号装置200の機能又はその両方)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 (ビデオプロセッサの他の構成例)
 図48は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図48の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
 より具体的には、図48に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、及び内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、及びビデオインタフェース1520を有する。
 制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
 図48に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、及びシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531及びサブCPU1532が実行するプログラムを指定する等、メインCPU1531及びサブCPU1532の動作を制御する。
 ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、又はデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
 ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
 画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
 内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、又はコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、又はコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
 コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化又は符号化データの復号を行うようにしてもよい。
 図48に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、及びMPEG-DASH1551を有する。
 MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
 MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541ないしHEVC/H.265(Multi-view)1545を利用する。
 メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514又はコーデックエンジン1516)に供給される。
 多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
 ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
 次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
 なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した画像符号化装置100の機能若しくは画像復号装置200の機能又はその両方を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、上述した各実施の形態と同様の効果を得ることができる。
 なお、コーデックエンジン1516において、本技術(すなわち、画像符号化装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
 (装置への適用例)
 ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図42)、携帯電話機920(図43)、記録再生装置940(図44)、撮像装置960(図45)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、上述した各実施の形態と同様の効果を得ることができる。
 なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、及びフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、上述した各実施の形態と同様の効果を得ることができる。
 つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、又は、ビデオユニット1361を、テレビジョン装置900(図42)、携帯電話機920(図43)、記録再生装置940(図44)、撮像装置960(図45)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、上述した各実施の形態と同様の効果を得ることができる。
 <ネットワークシステム>
 また、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。図49は、本技術を適用したネットワークシステムの概略的な構成の一例を示している。
 図49に示されるネットワークシステム1600は、機器同士が、ネットワークを介して画像(動画像)に関する情報を授受するシステムである。このネットワークシステム1600のクラウドサービス1601は、自身に通信可能に接続されるコンピュータ1611、AV(Audio Visual)機器1612、携帯型情報処理端末1613、IoT(Internet of Things)デバイス1614等の端末に対して、画像(動画像)に関するサービスを提供するシステムである。例えば、クラウドサービス1601は、所謂動画配信(オンデマンドやライブ配信)のような、画像(動画像)のコンテンツの供給サービスを端末に提供する。また、例えば、クラウドサービス1601は、端末から画像(動画像)のコンテンツを受け取って保管するバックアップサービスを提供する。また、例えば、クラウドサービス1601は、端末同士の画像(動画像)のコンテンツの授受を仲介するサービスを提供する。
 クラウドサービス1601の物理構成は任意である。例えば、クラウドサービス1601は、動画像を保存し、管理するサーバ、動画像を端末に配信するサーバ、動画像を端末から取得するサーバ、ユーザ(端末)や課金を管理するサーバ等の各種サーバや、インターネットやLAN等の任意のネットワークを有するようにしてもよい。
 コンピュータ1611は、例えば、パーソナルコンピュータ、サーバ、ワークステーション等のような情報処理装置により構成される。AV機器1612は、例えば、テレビジョン受像機、ハードディスクレコーダ、ゲーム機器、カメラ等のような画像処理装置により構成される。携帯型情報処理端末1613は、例えば、ノート型パーソナルコンピュータ、タブレット端末、携帯電話機、スマートフォン等のような携帯型の情報処理装置により構成される。IoTデバイス1614は、例えば、機械、家電、家具、その他の物、ICタグ、カード型デバイス等、画像に関する処理を行う任意の物体により構成される。これらの端末は、いずれも通信機能を有し、クラウドサービス1601に接続し(セッションを確立し)、クラウドサービス1601と情報の授受を行う(すなわち通信を行う)ことができる。また、各端末は、他の端末と通信を行うこともできる。端末間の通信は、クラウドサービス1601を介して行うようにしてもよいし、クラウドサービス1601を介さずに行うようにしてもよい。
 以上のようなネットワークシステム1600に本技術を適用し、端末間や、端末とクラウドサービス1601との間で画像(動画像)のデータが授受される際に、その画像データを各実施の形態において上述したように符号化・復号するようにしてもよい。つまり、端末(コンピュータ1611ないしIoTデバイス1614)やクラウドサービス1601が、それぞれ、上述した画像符号化装置100や画像復号装置200の機能を有するようにしてもよい。このようにすることにより、画像データを授受する端末(コンピュータ1611ないしIoTデバイス1614)やクラウドサービス1601は、上述した各実施の形態と同様の効果を得ることができる。
 なお、符号化データ(ビットストリーム)に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、又はフレーム内の一部分等の任意の単位で互いに関連付けられるようにしてもよい。
 また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 なお、本技術は、以下の構成をとることができる。
 <1>
 予測符号化の残差と予測画像とを加算することにより得られる復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数を復号する復号部と、
 前記復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
 前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行う演算部と
 を備える復号装置。
 <2>
 前記クラス分類部は、前記注目画素の傾斜特徴量と、前記注目画素の傾斜特徴量の信頼度とを用いて、前記注目画素のクラス分類を行う
 <1>に記載の復号装置。
 <3>
 前記注目画素の傾斜特徴量は、前記注目画素の周辺領域の各画素の前記等高線の接線方向を代表する代表値であり、
 前記注目画素の傾斜特徴量の信頼度は、前記周辺領域の各画素の前記等高線の接線方向の中に、前記代表値が表す方向と異なる方向がない程度を表す
 <2>に記載の復号装置。
 <4>
 前記クラス分類部は、前記注目画素の、前記傾斜特徴量及び前記信頼度以外の他の特徴量をも用いて、前記注目画素のクラス分類を行う
 <2>又は<3>に記載の復号装置。
 <5>
 前記他の特徴量は、前記注目画素の周辺領域の高域の周波数成分を表す特徴量である
 <4>に記載の復号装置。
 <6>
 前記復号部は、前記クラス分類において前記注目画素の特徴量を処理するのに用いられる所定のクラス分類パラメータを復号し、
 前記クラス分類部は、前記クラス分類パラメータを用いて、前記注目画素の特徴量を処理することにより、前記注目画素のクラス分類を行う
 <1>ないし<5>のいずれかに記載の復号装置。
 <7>
 前記クラス分類パラメータは、前記元画像を用いて、前記複数のクラスそれぞれに、画素が均等に分類されるように生成される
 <6>に記載の復号装置。
 <8>
 前記復号部は、第1の方向を表す前記傾斜特徴量の画素が分類される第1の方向のクラスのタップ係数と、第2の方向を表す前記傾斜特徴量の画素が分類される第2の方向のクラスのタップ係数との回転の対称性に応じて順序を並べ替えた前記第1の方向のクラスのタップ係数と、前記第2の方向のクラスのタップ係数との差分である差分係数を復号する
 <1>ないし<7>のいずれかに記載の復号装置。
 <9>
 各クラスのタップ係数のタップ構造が、クラスごとに異なる
 <1>ないし<8>のいずれかに記載の復号装置。
 <10>
 復号装置が、
 予測符号化の残差と予測画像とを加算することにより得られる復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数を復号することと、
 前記復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うことと、
 前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行うことと
 を含む復号方法。
 <11>
 予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
 前記復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められる前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行う演算部と、
 前記タップ係数を符号化する符号化部と
 を備える符号化装置。
 <12>
 前記クラス分類部は、前記注目画素の傾斜特徴量と、前記注目画素の傾斜特徴量の信頼度とを用いて、前記注目画素のクラス分類を行う
 <11>に記載の符号化装置。
 <13>
 前記注目画素の傾斜特徴量は、前記注目画素の周辺領域の各画素の前記等高線の接線方向を代表する代表値であり、
 前記注目画素の傾斜特徴量の信頼度は、前記周辺領域の各画素の前記等高線の接線方向の中に、前記代表値が表す方向と異なる方向がない程度を表す
 <12>に記載の符号化装置。
 <14>
 前記クラス分類部は、前記注目画素の、前記傾斜特徴量及び前記信頼度以外の他の特徴量をも用いて、前記注目画素のクラス分類を行う
 <12>又は<13>に記載の符号化装置。
 <15>
 前記他の特徴量は、前記注目画素の周辺領域の高域の周波数成分を表す特徴量である
 <14>に記載の符号化装置。
 <16>
 前記クラス分類部は、所定のクラス分類パラメータを用いて、前記注目画素の特徴量を処理することにより、前記注目画素のクラス分類を行い、
 前記符号化部は、前記クラス分類パラメータを符号化する
 <11>ないし<15>のいずれかに記載の符号化装置。
 <17>
 前記元画像を用いて、前記複数のクラスそれぞれに、画素が均等に分類されるように、前記クラス分類パラメータを生成するクラス分類パラメータ生成部をさらに備える
 <16>に記載の符号化装置。
 <18>
 前記符号化部は、第1の方向を表す前記傾斜特徴量の画素が分類される第1の方向のクラスのタップ係数と、第2の方向を表す前記傾斜特徴量の画素が分類される第2の方向のクラスのタップ係数との回転の対称性に応じて順序を並べ替えた前記第1の方向のクラスのタップ係数と、前記第2の方向のクラスのタップ係数との差分である差分係数を、前記第2の方向のクラスのタップ係数に代えて符号化する
 <11>ないし<17>のいずれかに記載の符号化装置。
 <19>
 各クラスのタップ係数のタップ構造が、クラスごとに異なる
 <11>ないし<18>のいずれかに記載の符号化装置。
 <20>
 符号化装置が、
 予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うことと、
 前記復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められる前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行うことと、
 前記タップ係数を符号化することと
 を含む符号化方法。
 11 伝送媒体, 12 記録媒体, 20 ALF処理部, 21 タップ選択部, 22 クラス分類部, 23 係数取得部, 24 フィルタ演算部, 50 学習部, 51 タップ選択部, 52 クラス分類部, 53 足し込み部, 54 係数算出部, 100 画像符号化装置, 101 演算部, 102 直交変換部, 103 直交変換部, 104 可逆符号化部, 105 逆量子化部, 106 逆直交変換部, 107 演算部, 108 DF, 109 SAO, 110 ALF, 111 DPB, 112 予測部, 131 クラス分類パラメータ生成部, 132 学習部, 133 ALF処理部, 161 タップ選択部, 162 クラス分類部, 163 足し込み部, 164 係数算出部, 171 クラスブロック抽出部, 172 傾斜特徴量/信頼度算出部, 173 第1クラス分類部, 174 特徴量算出部, 175 第2クラス分類部, 181 タップ選択部, 182 クラス分類部, 183 係数取得部, 184 フィルタ演算部, 191 クラスブロック抽出部, 192 傾斜特徴量/信頼度算出部, 193 第1クラス分類部, 194 特徴量算出部, 195 第2クラス分類部, 200 画像復号装置, 201 可逆復号部, 202 逆量子化部, 203 逆直交変換部, 204 演算部, 205 DF, 206 SAO, 207 ALF, 208 DPB, 209 予測部, 231 ALF処理部, 241 タップ選択部, 242 クラス分類部, 243 係数取得部, 244 フィルタ演算部, 251 クラスブロック抽出部, 252 傾斜特徴量/信頼度算出部, 253 第1クラス分類部, 254 特徴量算出部, 255 第2クラス分類部

Claims (20)

  1.  予測符号化の残差と予測画像とを加算することにより得られる復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数を復号する復号部と、
     前記復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
     前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行う演算部と
     を備える復号装置。
  2.  前記クラス分類部は、前記注目画素の傾斜特徴量と、前記注目画素の傾斜特徴量の信頼度とを用いて、前記注目画素のクラス分類を行う
     請求項1に記載の復号装置。
  3.  前記注目画素の傾斜特徴量は、前記注目画素の周辺領域の各画素の前記等高線の接線方向を代表する代表値であり、
     前記注目画素の傾斜特徴量の信頼度は、前記周辺領域の各画素の前記等高線の接線方向の中に、前記代表値が表す方向と異なる方向がない程度を表す
     請求項2に記載の復号装置。
  4.  前記クラス分類部は、前記注目画素の、前記傾斜特徴量及び前記信頼度以外の他の特徴量をも用いて、前記注目画素のクラス分類を行う
     請求項2に記載の復号装置。
  5.  前記他の特徴量は、前記注目画素の周辺領域の高域の周波数成分を表す特徴量である
     請求項4に記載の復号装置。
  6.  前記復号部は、前記クラス分類において前記注目画素の特徴量を処理するのに用いられる所定のクラス分類パラメータを復号し、
     前記クラス分類部は、前記クラス分類パラメータを用いて、前記注目画素の特徴量を処理することにより、前記注目画素のクラス分類を行う
     請求項1に記載の復号装置。
  7.  前記クラス分類パラメータは、前記元画像を用いて、前記複数のクラスそれぞれに、画素が均等に分類されるように生成される
     請求項6に記載の復号装置。
  8.  前記復号部は、第1の方向を表す前記傾斜特徴量の画素が分類される第1の方向のクラスのタップ係数と、第2の方向を表す前記傾斜特徴量の画素が分類される第2の方向のクラスのタップ係数との回転の対称性に応じて順序を並べ替えた前記第1の方向のクラスのタップ係数と、前記第2の方向のクラスのタップ係数との差分である差分係数を復号する
     請求項1に記載の復号装置。
  9.  各クラスのタップ係数のタップ構造が、クラスごとに異なる
     請求項1に記載の復号装置。
  10.  復号装置が、
     予測符号化の残差と予測画像とを加算することにより得られる復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められるクラスごとのタップ係数を復号することと、
     前記復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うことと、
     前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行うことと
     を含む復号方法。
  11.  予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うクラス分類部と、
     前記復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められる前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行う演算部と、
     前記タップ係数を符号化する符号化部と
     を備える符号化装置。
  12.  前記クラス分類部は、前記注目画素の傾斜特徴量と、前記注目画素の傾斜特徴量の信頼度とを用いて、前記注目画素のクラス分類を行う
     請求項11に記載の符号化装置。
  13.  前記注目画素の傾斜特徴量は、前記注目画素の周辺領域の各画素の前記等高線の接線方向を代表する代表値であり、
     前記注目画素の傾斜特徴量の信頼度は、前記周辺領域の各画素の前記等高線の接線方向の中に、前記代表値が表す方向と異なる方向がない程度を表す
     請求項12に記載の符号化装置。
  14.  前記クラス分類部は、前記注目画素の、前記傾斜特徴量及び前記信頼度以外の他の特徴量をも用いて、前記注目画素のクラス分類を行う
     請求項12に記載の符号化装置。
  15.  前記他の特徴量は、前記注目画素の周辺領域の高域の周波数成分を表す特徴量である
     請求項14に記載の符号化装置。
  16.  前記クラス分類部は、所定のクラス分類パラメータを用いて、前記注目画素の特徴量を処理することにより、前記注目画素のクラス分類を行い、
     前記符号化部は、前記クラス分類パラメータを符号化する
     請求項11に記載の符号化装置。
  17.  前記元画像を用いて、前記複数のクラスそれぞれに、画素が均等に分類されるように、前記クラス分類パラメータを生成するクラス分類パラメータ生成部をさらに備える
     請求項16に記載の符号化装置。
  18.  前記符号化部は、第1の方向を表す前記傾斜特徴量の画素が分類される第1の方向のクラスのタップ係数と、第2の方向を表す前記傾斜特徴量の画素が分類される第2の方向のクラスのタップ係数との回転の対称性に応じて順序を並べ替えた前記第1の方向のクラスのタップ係数と、前記第2の方向のクラスのタップ係数との差分である差分係数を、前記第2の方向のクラスのタップ係数に代えて符号化する
     請求項11に記載の符号化装置。
  19.  各クラスのタップ係数のタップ構造が、クラスごとに異なる
     請求項11に記載の符号化装置。
  20.  符号化装置が、
     予測符号化の残差と予測画像とを加算することにより得られる復号途中画像の注目画素の画素値の等高線の接線方向を表す傾斜特徴量を用いて、前記注目画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行うことと、
     前記復号途中画像と、前記復号途中画像に対応する元画像とを用いた誤差を最小にする学習により求められる前記クラスごとのタップ係数のうちの、前記注目画素のクラスのタップ係数を用いて、前記復号途中画像とのフィルタ演算を行うことと、
     前記タップ係数を符号化することと
     を含む符号化方法。
PCT/JP2018/033918 2017-09-27 2018-09-13 符号化装置、符号化方法、復号装置、及び、復号方法 WO2019065261A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880061450.8A CN111133757B (zh) 2017-09-27 2018-09-13 编码设备、编码方法、解码设备和解码方法
US16/649,186 US11423578B2 (en) 2017-09-27 2018-09-13 Encoding device, encoding method, decoding device, and decoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-185644 2017-09-27
JP2017185644 2017-09-27

Publications (1)

Publication Number Publication Date
WO2019065261A1 true WO2019065261A1 (ja) 2019-04-04

Family

ID=65901433

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US11423578B2 (ja)
CN (1) CN111133757B (ja)
WO (1) WO2019065261A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11423578B2 (en) * 2017-09-27 2022-08-23 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
CN113766224B (zh) * 2020-06-05 2022-11-25 杭州海康威视数字技术股份有限公司 图像增强方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012116094A1 (en) * 2011-02-23 2012-08-30 Qualcomm Incorporated Multi-metric filtering

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678405B1 (en) * 1999-06-08 2004-01-13 Sony Corporation Data processing apparatus, data processing method, learning apparatus, learning method, and medium
JP4552261B2 (ja) * 2000-04-03 2010-09-29 ソニー株式会社 ディジタル情報変換装置および方法、並びに画像情報変換装置および方法
WO2010146771A1 (ja) * 2009-06-19 2010-12-23 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2012235407A (ja) * 2011-05-09 2012-11-29 Sony Corp 画像処理装置および画像処理方法
US9357235B2 (en) * 2011-10-13 2016-05-31 Qualcomm Incorporated Sample adaptive offset merged with adaptive loop filter in video coding
JP6977719B2 (ja) * 2016-05-02 2021-12-08 ソニーグループ株式会社 符号化装置及び符号化方法、並びに、復号装置及び復号方法
US20210297687A1 (en) * 2017-03-15 2021-09-23 Sony Corporation Encoding apparatus, encoding method, decoding apparatus, and decoding method
WO2018173873A1 (ja) * 2017-03-24 2018-09-27 ソニー株式会社 符号化装置及び符号化方法、並びに、復号装置及び復号方法
US11423578B2 (en) * 2017-09-27 2022-08-23 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
US11451833B2 (en) * 2017-12-01 2022-09-20 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
WO2019131161A1 (ja) * 2017-12-27 2019-07-04 ソニー株式会社 符号化装置、符号化方法、復号装置、及び、復号方法
WO2019198519A1 (ja) * 2018-04-11 2019-10-17 ソニー株式会社 データ処理装置及びデータ処理方法
JP2021129131A (ja) * 2018-05-18 2021-09-02 ソニーグループ株式会社 符号化装置、符号化方法、復号装置、及び、復号方法
US20210168407A1 (en) * 2018-09-25 2021-06-03 Sony Corporation Encoding device, encoding method, decoding device, and decoding method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012116094A1 (en) * 2011-02-23 2012-08-30 Qualcomm Incorporated Multi-metric filtering

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANLE CHEN ET AL.: "Algorithm Description of Joint Exploration Test Model 7 (JEM 7), Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3", JVET-G1001-VL, 7TH MEETING, August 2017 (2017-08-01), Torino, IT, pages i - iv , 1 , 37-40 *
POLIN LAI (WANG L. LAI ET AL.: "Loop filter with directional similarity mapping (DSM), Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP3", JCTVC-D221_R3, 4TH MEETING, January 2011 (2011-01-01), Daegu, KR, pages 1 - 9 *
TERUHIKO SUZUKI ET AL.: "Description of SDR and HDR video coding technology proposal by Sony, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3", JVET-J0028, 10TH MEETING, vol. 13, April 2018 (2018-04-01), San Diego, US, pages i - iii *

Also Published As

Publication number Publication date
CN111133757A (zh) 2020-05-08
US20200273209A1 (en) 2020-08-27
CN111133757B (zh) 2022-04-15
US11423578B2 (en) 2022-08-23

Similar Documents

Publication Publication Date Title
US11695941B2 (en) Image processing device and method
US20190215534A1 (en) Image processing apparatus and image processing method
JP6977719B2 (ja) 符号化装置及び符号化方法、並びに、復号装置及び復号方法
US20190238839A1 (en) Image processing apparatus and image processing method
JP6883219B2 (ja) 符号化装置及び符号化方法、並びに、システム
TWI684351B (zh) 解碼裝置、解碼方法、編碼裝置,以及編碼方法
WO2017191749A1 (ja) 画像処理装置及び画像処理方法
US20200288123A1 (en) Image processing apparatus and image processing method
US20190385276A1 (en) Image processing apparatus and image processing method
JP7047776B2 (ja) 符号化装置及び符号化方法、並びに、復号装置及び復号方法
WO2019039283A1 (ja) 画像処理装置及び画像処理方法
WO2018173873A1 (ja) 符号化装置及び符号化方法、並びに、復号装置及び復号方法
WO2018168484A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
CN111133757B (zh) 编码设备、编码方法、解码设备和解码方法
WO2018047480A1 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2020008769A1 (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: 18862809

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18862809

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP