WO2012008011A1 - 動画像符号化方法及び復号方法 - Google Patents

動画像符号化方法及び復号方法 Download PDF

Info

Publication number
WO2012008011A1
WO2012008011A1 PCT/JP2010/061796 JP2010061796W WO2012008011A1 WO 2012008011 A1 WO2012008011 A1 WO 2012008011A1 JP 2010061796 W JP2010061796 W JP 2010061796W WO 2012008011 A1 WO2012008011 A1 WO 2012008011A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
loop filter
image
pixels
interpolation process
Prior art date
Application number
PCT/JP2010/061796
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 PCT/JP2010/061796 priority Critical patent/WO2012008011A1/ja
Publication of WO2012008011A1 publication Critical patent/WO2012008011A1/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • orthogonal transform is performed on a prediction error image, which is a difference between an input moving image and a predicted image, in units of pixel blocks, and a transform coefficient obtained thereby is quantized.
  • a prediction error image which is a difference between an input moving image and a predicted image, in units of pixel blocks
  • a transform coefficient obtained thereby is quantized.
  • the encoded moving image is received, and the moving image is obtained by performing decoding by a process reverse to the above encoding.
  • QALF quad-tree based adaptive loop filter
  • H.264 is used as an interpolation filter for generating decimal pixels.
  • H.264 interpolation filter generates a half pixel from an integer pixel using a predetermined filter, and generates a pixel at a quarter pixel position by an average value filter from the half pixel and the integer pixel.
  • the AIF uses a filter coefficient designed by the encoder to generate a half pixel accuracy and a quarter pixel from a pixel at an integer pixel position.
  • a quarter pixel is generated as an average value of an integer pixel and a half pixel and becomes a strong low-pass filter, so that encoding distortion can be reduced when a fractional pixel is generated. Is possible. However, since the coding distortion is already reduced by the filter for the region to which QALF is applied in the decoded image, if a fractional pixel is generated using a strong low-pass filter, the high-frequency component may be excessively lost. is there.
  • the present disclosure has been made to solve the above-described problem, and an object thereof is to provide a moving image encoding method and a decoding method capable of reducing the amount of encoding processing.
  • the moving image encoding method applies one or more loop filters to a specific region of a locally decoded image according to loop filter application information indicating whether or not to apply a loop filter. Is generated.
  • a predicted image is generated from the restored image.
  • the coefficient of the loop filter and the loop filter application information are encoded.
  • the step of generating the predicted image when the input motion information indicates a decimal pixel position, (A) by generating a decimal pixel using a first interpolation process in an area where the loop filter is not applied. The predicted image is generated, and (B) the predicted image is generated by generating a decimal pixel using a second interpolation process different from the first interpolation process in an area to which the loop filter is applied.
  • the moving picture decoding method decodes encoded data, and obtains loop filter coefficients and loop filter application information indicating whether or not to apply the loop filter.
  • one or more loop filters are applied to a specific area of the decoded image to generate a restored image.
  • a predicted image is generated from the restored image.
  • the step of generating the predicted image when the input motion information indicates a decimal pixel position, (A) by generating a decimal pixel using a first interpolation process in an area where the loop filter is not applied. The predicted image is generated, and (B) the predicted image is generated by generating a decimal pixel using a second interpolation process different from the first interpolation process in an area to which the loop filter is applied.
  • the block diagram of the moving image encoder of embodiment The block diagram of the loop filter process part of FIG.
  • the block diagram of the estimated image generation part of FIG. The flowchart which shows an example of operation
  • the block diagram of the moving image decoding apparatus of embodiment The block diagram of the moving image decoding apparatus which is a modification of FIG.
  • a moving picture coding apparatus that performs a moving picture coding method according to the present embodiment will be described with reference to FIG. 1 includes a predicted image generation unit 101, a subtractor 102, a transform / quantization unit 103, an entropy coding unit 104, an inverse transform / inverse quantization unit 105, an adder 106, a loop filter.
  • the information generation unit 107, the loop filter processing unit 108, the reference image buffer 109, and the motion compensation prediction control unit 110 are included, and are controlled by the encoding control unit 111.
  • the predicted image generation unit 101 performs a predetermined prediction process on the input image 150.
  • This prediction process may use, for example, prediction in the time direction by motion compensation, prediction in the spatial direction from pixels already encoded in the screen, or the like. In this embodiment, prediction in the time direction by motion compensation will be described.
  • the predicted image generation unit 101 receives the motion information 161 from the motion compensation prediction control unit 110, the reference image 160 that has already been encoded from the reference image buffer 109, and the filter application information that indicates the region to which the loop filter is applied in this reference image. 158 is acquired and the prediction image 151 is output.
  • the predicted image generation unit 101 will be described in detail later with reference to FIGS. 3 and 4.
  • the subtractor 102 calculates a difference between the acquired input image 150 and the predicted image 151 and outputs a prediction error image 152.
  • the transform / quantization unit 103 first acquires the prediction error image 152 and performs a transform process.
  • orthogonal transform is performed using, for example, DCT (Discrete Cosine Transform) or the like to generate transform coefficients.
  • the transform coefficient may be generated using a method such as wavelet transform or independent component analysis.
  • the generated transform coefficient is quantized based on the quantization parameter set in the encoding control unit 111 described later, and the quantized transform coefficient 153 is output.
  • the quantized transform coefficient 153 is input to the entropy encoding unit 104 (to be described later) and simultaneously input to the inverse transform / inverse quantization unit 105.
  • the inverse transform / inverse quantization unit 105 inverse quantizes the quantized transform coefficient 153 according to the quantization parameter set in the encoding control unit 111, and performs inverse transform (for example, inverse transform) on the obtained transform coefficient. Discrete cosine transform or the like) is performed, and a prediction error image 155 is output.
  • orthogonal transform performed by the transform / quantization unit 103 and inverse transform and inverse quantization corresponding to the quantization are performed. For example, when wavelet transform and quantization are performed in the transform / quantization unit 103, the inverse transform / inverse quantization unit 105 performs corresponding inverse wavelet transform and inverse quantization.
  • the adder 106 adds the prediction error image 155 acquired from the inverse transform / inverse quantization unit 105 and the prediction image 151 generated by the prediction image generation unit 101, and outputs a local decoded image 156.
  • the loop filter information generation unit 107 acquires the local decoded image 156 and the input image 150, and outputs filter coefficient information 157 and filter application information 158.
  • the loop filter processing unit 108 applies the filter indicated by the loop filter coefficient information 157 to the region indicated by the filter application information 158 in the local decoded image 156, and outputs the image after the filter application as a restored image 159.
  • the loop filter processing unit 108 will be described in detail with reference to FIG.
  • the reference image buffer 109 acquires the filter application information 158 and the restored image 159 and temporarily stores them.
  • the filter application information 158 and the restored image 159 are managed in conjunction as a pair of information.
  • the restored image 159 stored in the reference image buffer 109 is referred to as the reference image 160 when the predicted image generating unit 101 generates the predicted image 151.
  • the entropy encoding unit 104 includes filter coefficient information 157, filter application information 158, motion information 161, prediction mode information, block size switching information, quantization parameters, and the like.
  • An encoding parameter is acquired, entropy encoded (for example, Huffman encoding or arithmetic encoding), and output as encoded data 154.
  • the motion compensation prediction control unit 110 acquires the input image 150 and the reference image 160 and outputs motion information 161 used for motion compensation prediction.
  • the motion information 161 can be generated, for example, by searching for the position of the reference image 160 that minimizes the square error with the input image 150 for each encoding processing unit block.
  • the encoding control unit 111 performs feedback control of the generated code amount, quantization control, mode control, and the like to control the entire encoding.
  • the subtractor 102 performs a subtraction process using the predicted image 151 acquired from the predicted image generation unit 101 to generate a prediction error image 152.
  • the generated prediction error image 152 is transformed and quantized by the transform / quantization unit 103, output as a quantized transform coefficient 153, and encoded by the entropy encoding unit 104.
  • the quantized transform coefficient 153 is inversely transformed and inversely quantized by the inverse transform / inverse quantization unit 105 included in the moving picture coding apparatus 100 and is output as a prediction error image 155.
  • the prediction error image 155 is added by the adder 106 with the prediction image 151 output from the prediction image generation unit 101, and a local decoded image 156 is generated.
  • the series of processes is a general encoding process in moving picture encoding called so-called hybrid encoding that performs prediction processing and conversion processing.
  • the loop filter processing unit 108 illustrated in FIG. 2 includes a loop filter switching unit 201 and a loop filter application unit 202.
  • the loop filter switching unit 201 acquires the local decoded image 156 for each block that is a processing unit of the loop filter, and performs a filter process based on the filter application information 158.
  • the filter is applied by the loop filter application unit 202, and the pixel value after the filter application is output as the pixel value of the restored image 159.
  • the block is an area to which the loop filter is not applied, the pixel at the same position in the decoded image 156 is output as the pixel of the restored image 159.
  • the filter coefficient setting and the application indicating whether or not to apply a filter for each pixel block that is a processing unit of the loop filter Information (loop filter application information) is set.
  • This block may be set independently of the block used in the encoding process.
  • a two-dimensional Wien filter that is generally used in image restoration is used, and for the application information, the filter is applied only when an error from the original image in each block is reduced by applying the filter.
  • the application information may be set for a processing unit including a plurality of blocks. For example, application information may be set for each encoded slice.
  • the filter when the filter is set to be non-applied for each encoded slice, the filter is not applied to all the pixels in the slice, and is applied for each block. Information is discarded.
  • the filter when a filter is applied in units of coded slices, the filter is applied according to application information for each block.
  • the motion information is input in units of blocks used in the encoding process
  • the loop filter application information includes a pixel block unit that does not necessarily match this block unit and a block unit that includes a plurality of pixel blocks.
  • the step of generating a prediction image that is set in at least one of the steps is included in a block including a plurality of pixel blocks when the loop filter application information is set in units of blocks including a plurality of pixel blocks.
  • the first interpolation process and the second interpolation process are switched.
  • the filter application information for each encoded slice is set based on the encoding cost expressed by the following equation.
  • D in the above equation represents a residual sum of squares
  • R represents a code amount
  • represents a weighting coefficient
  • the filter application information in the encoded slice is set by calculating and comparing the cost when no filter is applied to the encoded slice and the cost when the filter is applied for each block.
  • the loop filter processing unit in FIG. 2 applies a filter to a specific region of the local decoded image 156 based on the filter application information set as described above, and outputs it as a restored image 159.
  • the predicted image generation unit 101 illustrated in FIG. 3 includes an interpolation processing switching unit 301, a first interpolation processing unit 302, a second interpolation processing unit 303, and a predicted pixel value generation unit 304, and is designated by the motion information 161 in the reference image 160. Are output as the pixels of the predicted image 151.
  • the interpolation processing switching unit 301 switches the interpolation processing depending on whether or not the pixel specified by the motion information 161 is an integer pixel and whether or not it is a region to which a loop filter is applied. Specific interpolation processing will be described with reference to the flowchart of FIG.
  • FIG. 4 is a flowchart showing an operation related to the predicted image generation unit 101 in the video encoding apparatus 100 according to the present embodiment.
  • the predicted image generation unit 101 in FIG. 3 acquires the reference image 160 and the filter application information 158 corresponding to the reference image from the reference image buffer 109, and further acquires the motion information 161 from the motion compensation prediction control unit 110 ( Step S401).
  • the predicted image generation unit 101 acquires a pixel at a position specified by the motion information 161 in the reference image 160 and outputs it as a pixel of the predicted image 151.
  • the interpolation process switching unit 301 determines whether or not the position indicated by the motion information 161 is an integer pixel position (step S402).
  • the motion information 161 indicates an integer pixel position, it is only necessary to refer to the pixel at that position as it is, and therefore it is not necessary to generate a decimal pixel (step S403).
  • the motion information 161 indicates a decimal pixel position
  • Various methods for generating the decimal pixel are conceivable.
  • the two types of interpolation processing are adaptively switched based on the filter application information 158.
  • the interpolation process switching unit 301 determines whether or not a loop filter has been applied to the position indicated by the motion information 161 in the reference image 160 (step S404).
  • the first interpolation processing unit 302 When the loop filter is not applied to the position, the first interpolation processing unit 302 generates a decimal pixel (step S405). On the other hand, when the loop filter is applied to the position, the second interpolation processing unit 303 generates a decimal pixel (step S406). Details of the first interpolation processing unit 302 and the second interpolation processing unit 303 will be described later.
  • the predicted pixel value generation unit 304 acquires the pixel value at the position indicated by the motion information 161 from the integer pixel of the reference image 160 or the generated decimal pixel, and outputs it as the pixel value in the predicted image 151 (step S407).
  • decimal pixels may be generated using the first interpolation processing unit 302.
  • components include luminance and color difference.
  • the first interpolation processing unit 302 and the second interpolation processing unit 303 are switched depending on whether or not the region to which the loop filter is actually applied.
  • the loop filter is a pixel block.
  • application control in an area including a plurality of blocks such as a slice is possible. Therefore, from the viewpoint of calculation amount, the interpolation process may be switched according to the application control in units of slices, instead of limiting to the area where the filter is actually applied.
  • all the decimal pixels are generated by the first interpolation processing unit 302, and when the loop filter is applied in units of slices, the filter application information for each block Regardless, all the decimal pixels may be generated by the second interpolation processing unit 303.
  • the interpolation processing may be switched according to the number of pixels to which the loop filter is applied. That is, when a loop filter is applied in a slice and the number of pixels to which the loop filter is actually applied is greater than a certain threshold, all the decimal pixels in the slice are generated by the second interpolation processing unit 303, Otherwise, all the decimal pixels may be generated by the first interpolation processing unit 302.
  • This threshold can be set, for example, as 50% of the total number of pixels included in the slice.
  • an interpolation filter for generating decimal pixels has two effects.
  • the first effect is an effect of expressing the motion of decimal pixel accuracy by changing the phase of the reference image
  • the second effect is an effect of reducing coding distortion by a low-pass filter.
  • H In a moving image encoding method such as H.264, encoding distortion is reduced by using a strong low-pass filter.
  • the encoding distortion has already been reduced by the filter in the region to which the loop filter is applied, there is a risk that high-frequency components may be excessively lost when a fractional pixel is generated using a strong low-pass filter.
  • the first interpolation processing unit 302 used in a region to which the loop filter is not applied has H.264.
  • An interpolation process similar to that of H.264 may be performed. Specific processing will be described with reference to FIG. In FIG. 5, A1 to A8, B1 to B8, C1 to C8, D1 to D8, E1 to E8, F1 to F8, G1 to G8, and H1 to H8 represent integer pixels.
  • a to p, aa1 to aa3, bb1 to bb3, cc1 to cc3, dd1 to dd3, ee1 to ee3, ff1 to ff3, gg1 to gg3 represent decimal pixels, and a to o are decimal pixels to be generated.
  • the fractional pixel b shifted by a half pixel to the right in the horizontal direction with respect to the integer pixel D4 is generated from the integer pixels D2 to D7 in the same column in the horizontal direction using a 6-tap filter expressed by the following equation.
  • Equation (2) “>>” is an operator indicating a bit shift operation. In equation (2), it is shifted 5 bits to the right, which is equivalent to dividing by 32.
  • the pixel bb2 is generated from the pixels B2 to B7 using a 6-tap filter by the same process as when the pixel b is generated in advance.
  • the pixels cc2, dd2, ee2, and ff2 are similarly generated.
  • the pixel h is generated using the pixels bb2 to ff2 and the pixel b as in the case where the pixel h is generated.
  • the decimal pixel j is generated from the pixels in the same column in the vertical direction, but may be calculated using the pixels in the same column in the horizontal direction. That is, pixels that are shifted by a half pixel in the vertical direction below each of the integer pixels D2 to D7 in FIG. 5 may be calculated first, and calculated from these decimal pixels.
  • pixels a, c, d, e, f, g, i, k, l, m, n, and o are generated by calculating an average value of two pixels.
  • pixels a, c, d, and l are generated as average values of pixels D4 and b, b and D5, D4 and h, and h and E4, respectively.
  • the pixels e, f, g, i, k, m, n, and o are the pixels b and h, b and j, b and p, h and j, j and p, h and dd2, j and dd2, and p, respectively.
  • dd2 are generated as an average value.
  • the above is the operation in the first interpolation processing unit 302.
  • the second interpolation processing unit 303 used in the region to which the loop filter is applied performs an interpolation process capable of expressing even higher frequency components, and expresses the phase shift of the reference image with high accuracy. Specific processing will be described with reference to FIG.
  • the first interpolation processing unit 302 generates the pixels a, c, d, and l using the average value filter after generating the pixels b and h.
  • an integer is used since the second interpolation processing unit 303 expresses the high frequency component. These pixels are generated directly from the pixels.
  • the fractional pixel a shifted by a quarter pixel to the right in the horizontal direction with respect to the integer pixel D4 and the fractional pixel c shifted by a quarter pixel to the left in the horizontal direction with respect to D5 are arranged in the same column in the horizontal direction. Calculation is performed using certain integer pixels D1 to D8.
  • the pixel a is generated using an 8-tap filter expressed by the following equation.
  • the pixel c can be generated in the same manner. However, since the pixel a and the pixel c have different phases, for example, when the filter coefficient for calculating the pixel a is set to ⁇ 3, 12, ⁇ 37, 229, 71, ⁇ 21, 6, ⁇ 1 ⁇ , The filter coefficient for calculating the pixel c is set to ⁇ -1, 6, -21, 71, 229, -37, 12, -3 ⁇ with the phase reversed, so that a filter process for expressing an appropriate phase is performed. Is possible.
  • the vertical direction Are calculated using integer pixels from integer pixels A4 to H4 in the same column.
  • the same filter coefficient as that when the pixel a is generated can be used.
  • the same filter coefficient as that when the pixel c is generated can be used.
  • decimal pixels b and h Since the decimal pixel b is a half pixel of D4 and D5, it can be generated by the same means as the decimal pixels a and c. Similarly, since the decimal pixel h is a half pixel of D4 and E4, it can be calculated by the same method as the decimal pixels d and l. However, it is necessary to set the filter coefficient in consideration of the difference in phase. For example, in the present embodiment, filter coefficients are set like ⁇ 3, 12, ⁇ 39, 158, 158, ⁇ 39, 12, ⁇ 3 ⁇ .
  • the operations of the first interpolation processing unit 302 and the second interpolation processing unit 303 are common in that the pixels b and h are directly generated from integer pixels, it is not necessary to use the same filter.
  • the second interpolation processing unit 303 uses a filter having a tap length longer than that of the first interpolation processing unit 302 to reproduce and generate higher frequency components for the pixels b and h. It is possible. This can be realized not only by changing the tap length but also by changing the frequency characteristics of the filter.
  • the pixels f, g, j, k, n, and o can be generated from these pixels after the pixels in the same column are generated in the vertical direction.
  • the decimal pixels e, f, g, i, j, k, m, n, and o are generated from the pixels in the same column in the vertical direction, but may be calculated using the pixels in the same column in the horizontal direction. For example, when the decimal pixel e is calculated, pixels in the same column in the horizontal direction, that is, pixels that are shifted by a quarter of a pixel below the integer pixels D1 to D8 in FIG. 5 are calculated in advance. You may calculate from a pixel.
  • filter processing for generating decimal pixels has been described, but a filter may be applied to integer pixels.
  • a filter may be applied to integer pixels.
  • an offset value such as r_ofs in Equation (2) or Equation (3) adaptively, highly accurate prediction can be performed even when the pixel value changes uniformly.
  • the filter coefficient and the offset value may be encoded as necessary and transmitted to the decoding side. The above is the operation in the second interpolation processing unit 303.
  • the interpolation process is a process for generating a pixel existing between adjacent integer pixels
  • the loop filter is a process performed on the integer pixel. Therefore, the interpolation pixel to be generated is in the loop filter application region. The case where it is located on a boundary line can be considered.
  • interpolation is performed using the first interpolation processing unit 302 that is a strong low-pass filter.
  • Interpolation processing to be used may be switched according to the number of pixels to which the loop filter is applied and the filter characteristics of the loop filter in integer pixels used for decimal pixel generation, but the same switching must be performed between the encoding device and the decoding device. Note that this must be done.
  • the interpolation processing can be switched according to the filter characteristics of the loop filter in addition to whether or not the loop filter is applied. For example, when interpolation processing is performed on a region to which a strong low-pass filter is applied as a loop filter, high-precision prediction can be performed by using an interpolation filter that can reproduce higher frequency components.
  • information for switching the interpolation process may be generated independently of information such as the characteristics of the loop filter and whether or not it is applied, and the information may be encoded and transmitted to the decoding side. Further, these may be combined, and the interpolation process may be switched by a combination of the filter characteristics of the loop filter and the interpolation process switching information. The above is the operation in the predicted image generation unit 101.
  • the filter coefficient information 157, the filter application information 158 generated by the loop filter information generation unit 107, and the motion information 161 generated by the motion compensation prediction control unit 110 are encoded by the entropy encoding unit 104, and after quantization
  • the conversion coefficient 153, the prediction mode information, the block size switching information, the quantization parameter, and the like are multiplexed into a bit stream and transmitted to the moving picture decoding apparatus 800 described later.
  • the filter coefficient information 157 and the filter application information 158 are transmitted in units of slices.
  • the syntax mainly includes three parts, and the high-level syntax (600) is packed with syntax information of higher layers than the slice.
  • the slice level syntax (603) necessary information is specified for each slice, and in the macro block level syntax (607), necessary conversion coefficient data, prediction mode information, motion vector, etc. are specified for each macroblock. Has been.
  • the high level syntax (600) includes a sequence parameter sequence syntax (601), a picture parameter set syntax (602), and a picture level syntax.
  • the slice level syntax (603) includes a slice header syntax (804), a slice data syntax (605), a loop filter data syntax (606), and the like.
  • the macroblock level syntax (607) is composed of a macroblock layer syntax (608), a macroblock prediction syntax (609), and the like.
  • the application of the loop filter can be switched in units of slices, and the filter application information in units of slices is stored in the slice header syntax.
  • the loop filter data syntax (606) is stored in the slice level syntax (603).
  • the loop filter may be controlled in a unit independent of the slice. This is called a loop filter slice.
  • the syntax structure of the filter coefficient information 157 and the filter application information 158 is the syntax structure of the filter coefficient information 157 and the filter application information 158.
  • the syntax may be generated for each component, or a common syntax may be generated for two or more components.
  • the entropy decoding unit 801 sequentially decodes the code string of each syntax of the encoded data 154 for each of the high level syntax, the slice level syntax, and the macroblock level syntax according to the syntax structure shown in FIG.
  • the converted transform coefficient 153, filter coefficient information 157, filter application information 158, motion information 161, and the like are restored.
  • the inverse transform / inverse quantization unit 105 acquires the quantized transform coefficient 153 and performs inverse quantization / inverse orthogonal transform (for example, inverse discrete cosine transform) using the same means as the moving image coding apparatus 100.
  • the prediction error image 155 is output.
  • the predicted image generation unit 101 acquires the reference image 160 stored in the reference image buffer 109, performs a predetermined prediction process, and outputs a predicted image 151.
  • the prediction process may use, for example, prediction in the time direction by motion compensation, prediction in the spatial direction from pixels that have already been decoded in the screen, or the like, but the prediction process similar to that of the moving image encoding apparatus 100 is executed. Note that. Here, motion compensation prediction will be described as in the case of the moving image encoding apparatus 100.
  • the adder 106 adds the obtained prediction error image 155 and the prediction image 151 to generate a decoded image 156 that is the same as the local decoded image 156 in the video encoding device 100.
  • the loop filter processing unit 108 acquires the decoded image 156, the filter coefficient information 157, and the filter application information 158, and applies the filter indicated by the filter coefficient information 157 to a specific region of the decoded image 156 based on the filter application information 158.
  • the image after applying the filter is output as a restored image 159.
  • the reference image buffer 109 acquires the filter application information 158 and the restored image 159 and temporarily stores them.
  • the filter application information 158 and the restored image 159 are managed in conjunction as a pair of information.
  • the restored image 159 stored in the reference image buffer 109 is referred to as the reference image 160 when the predicted image generating unit 101 generates the predicted image 151.
  • the decoding control unit 802 controls decoding timing and the like, and controls the entire decoding.
  • the entropy decoding unit 801 adds prediction mode information in addition to the transform coefficient 153, filter coefficient information 157, filter application information 158, and motion information 161. , Block size switching information, quantization parameters, etc. are decoded according to the syntax structure of FIG.
  • the transform coefficient 153 decoded by the entropy decoding unit 801 is input to the inverse transform / inverse quantization unit 105, and is inversely quantized according to the quantization parameter set by the decoding control unit 802.
  • the prediction coefficient image 155 is restored by performing inverse orthogonal transform (for example, discrete cosine transform) on the transformed coefficient.
  • the prediction error image 155 is added by the adder 106 with the prediction image 151 output by the prediction image generation unit 101, and a decoded image 156 is generated.
  • the series of processes described above is a general decoding process in moving picture coding called so-called hybrid coding that performs prediction processing and conversion processing.
  • the loop filter processing unit 108 acquires the decoded image 156 for each pixel block that is a processing unit of the loop filter, and performs the filter processing based on the filter application information 158.
  • the filter is applied by the loop filter application unit 202, and the pixel value after the filter application is output as the pixel value of the restored image 159.
  • the pixel at the same position in the decoded image 156 is output as the pixel of the restored image 159.
  • the restored image 159 is output as an output image, is stored in the reference image buffer 109 together with the filter application information 158, and is referred to as a reference image 160 in the predicted image generation unit 101 as necessary.
  • the predicted image generation unit 101 acquires the reference image 160 and the filter application information 158 corresponding to the reference image from the reference image buffer 109, and further acquires the motion information 161 from the entropy decoding unit 801. Thereafter, the predicted image generation unit 101 generates a predicted image 151 based on the motion information 161 by the same processing as that of the video encoding device 100. That is, the first interpolation processing unit 302 does not perform interpolation processing according to whether or not the motion information 161 indicates an integer pixel position and whether or not a loop filter is applied to the region of the reference image 160. Three processes of generating a pixel and generating a decimal pixel by the second interpolation processing unit 303 are adaptively switched.
  • encoding distortion is reduced by generating decimal pixels by the first interpolation processing step using a strong low-pass filter for a region to which the loop filter is not applied. Expresses the phase shift.
  • the phase shift is expressed more accurately by the second interpolation processing step using a filter capable of expressing a high-frequency component in a region where the coding distortion has already been reduced by applying the loop filter.
  • the local decoded image 156 is filtered, but the local decoded image 156 is subjected to conventional deblocking filter processing. You may use the image after doing.
  • the present embodiment is used for the loop filter. However, the filter is applied only to the reference image, and the filter is applied to the output image. This embodiment may be used even when not.
  • the moving picture decoding apparatus 800 of FIG. 8 is changed to the moving picture decoding apparatus 900 of FIG.
  • the video decoding device 900 is realized by outputting the decoded image 156 in the video decoding device 800 as an output image as it is.
  • the moving picture encoding apparatus 100, the moving picture decoding apparatus 800, and the moving picture decoding apparatus 900 can be realized by using, for example, a general-purpose computer apparatus as basic hardware. That is, the predicted image generation unit 101, the subtractor 102, the transform / quantization unit 103, the entropy encoding unit 104, the inverse transform / inverse quantization unit 105, the adder 106, the loop filter information generation unit 107, and the loop filter processing unit 108 , Reference image buffer 109, motion compensation prediction control unit 110, encoding control unit 111, loop filter switching unit 201, loop filter application unit 202, interpolation processing switching unit 301, first interpolation processing unit 302, and second interpolation processing unit 303.
  • a general-purpose computer apparatus as basic hardware. That is, the predicted image generation unit 101, the subtractor 102, the transform / quantization unit 103, the entropy encoding unit 104, the inverse transform / inverse quantization unit 105, the adder
  • the entropy decoding unit 801 and the decoding control unit 802 can be realized by causing a processor mounted on the computer device to execute a program.
  • the moving image encoding device 100, the moving image decoding device 800, and the moving image decoding device 900 may be realized by installing the above-described program in a computer device in advance, or may be realized on a storage medium such as a CD-ROM. It may be realized by storing the program or distributing the program via a network and installing the program in a computer apparatus as appropriate.
  • the reference image buffer 109 is realized by appropriately using a memory, a hard disk or a storage medium such as a CD-R, a CD-RW, a DVD-RAM, a DVD-R, or the like incorporated in or externally attached to the computer apparatus. be able to.
  • the instructions shown in the processing procedure shown in the above embodiment can be executed based on a program that is software.
  • a general-purpose computer system stores this program in advance and reads this program, so that the same effect as that obtained by the above-described moving picture encoding apparatus and decoding apparatus can be obtained.
  • the instructions described in the above-described embodiments are, as programs that can be executed by a computer, magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD). ⁇ R, DVD ⁇ RW, etc.), semiconductor memory, or a similar recording medium. As long as the recording medium is readable by the computer or the embedded system, the storage format may be any form.
  • the computer reads the program from the recording medium and causes the CPU to execute instructions described in the program based on the program, the same operation as the moving picture encoding apparatus and decoding apparatus of the above-described embodiment is realized. can do.
  • the computer acquires or reads the program, it may be acquired or read through a network.
  • the OS operating system
  • database management software database management software
  • MW middleware
  • a part of each process for performing may be executed.
  • the recording medium in the present disclosure is not limited to a medium independent of a computer or an embedded system, but also includes a recording medium in which a program transmitted via a LAN or the Internet is downloaded and stored or temporarily stored.
  • the number of recording media is not limited to one, and the case where the processing in the present embodiment is executed from a plurality of media is included in the recording media in the present disclosure, and the configuration of the media may be any configuration.
  • the computer or the embedded system in the present disclosure is for executing each process in the present embodiment based on a program stored in a recording medium, and includes a single device such as a personal computer and a microcomputer, Any configuration such as a system in which apparatuses are connected to a network may be used.
  • the computer in the embodiment of the present disclosure is not limited to a personal computer, and includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and a device capable of realizing the functions in the embodiment of the present disclosure by a program, The device is a general term.
  • DESCRIPTION OF SYMBOLS 100 Moving image encoder, 101 ... Prediction image generation part, 102 ... Subtractor, 103 ... Transformation / quantization part, 104 ... Entropy coding part, 105 ... Inverse transformation / inverse quantization part, 106 ... Adder, DESCRIPTION OF SYMBOLS 107 ... Loop filter information production

Landscapes

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

Abstract

 実施形態によれば、ループフィルタを適用するか否かを示すループフィルタ適用情報に応じて、局所復号画像の特定の領域に1つ以上のループフィルタを適用して復元画像を生成する。次に、前記復元画像から予測画像を生成する。次に、前記ループフィルタの係数及び前記ループフィルタ適用情報を符号化する。前記予測画像を生成するステップでは、入力される動き情報が小数画素位置を示す場合に、(A)前記ループフィルタが適用されていない領域では第1補間処理を用いて小数画素を生成することにより前記予測画像を生成し、(B)前記ループフィルタが適用されている領域では前記第1補間処理とは異なる第2補間処理を用いて小数画素を生成して前記予測画像を生成する。

Description

動画像符号化方法及び復号方法
 本発明の実施形態は、動画像を符号化及び復号するために用いる動画像符号化方法及び復号方法に関する。
 動画像符号化/復号装置の符号化側では、入力される動画像と予測画像との差分である予測誤差画像に対して画素ブロック単位で直交変換を行い、それによって得られる変換係数を量子化して符号化を行う。復号側では、符号化された動画像を受け取り、上記符号化とは逆の処理によって復号を行って動画像を得る。
 符号化側でフィルタ係数及びフィルタ適用領域を示す情報を設定して復号側に送信し、復号側では受信した当該フィルタ情報を用いてフィルタ適用領域にループフィルタ処理を行い、復号画像の符号化歪を低減する技術としてQuad-tree based Adaptive Loop Filter(QALF)がある。
 また、予測画像を生成する際には小数画素精度の動き補償が用いられている。小数画素を生成するための補間フィルタとして、H.264の補間フィルタやAdaptive Interpolation Filter(AIF)がある。H.264の補間フィルタは、予め定められたフィルタを用いて整数画素から2分の1画素を生成し、2分の1画素と整数画素からの平均値フィルタにより4分の1画素位置の画素を生成する。一方、AIFはエンコーダで設計したフィルタ係数を用いて整数画素位置の画素から2分の1画素精度、4分の1画素を生成する。これらの補間フィルタには参照画像の位相を変化させて小数画素精度の動きを表現するほかに、フィルタによる符号化歪低減効果がある。
T. Chujoh, 他, "Specification and experimental results of Quadtree-based Adaptive Loop Filter," ITU-T Q.6/SG16 Doc. VCEG-AK22, Yokohama, April 2009. Advanced video coding for generic audiovisual services ITU-T Recommendation H.264, pp.170-173, ITU-T March 2009. Y. Vatis, B. Edler, D. T. Nguyen, J. Ostermann, "Two-dimensional non-separable Adaptive Wiener Interpolation Filter for H.264/AVC", ITU-T Q.6/SG16 Doc. VCEG-Z17, Busan, South Korea, April 2005.
 H.264の補間処理では、4分の1画素は整数画素と2分の1画素の平均値として生成され、強い低域通過フィルタとなるため、小数画素生成の際に符号化歪を低減することが可能である。ただし、復号画像中のQALFが適用された領域については既にフィルタにより符号化歪が低減されているため、強い低域通過フィルタを用いて小数画素を生成すると、高周波成分が過度に失われる恐れがある。
 一方、QALFとAIFの組み合わせでは、QALFが適用されていない場合には強い低域通過フィルタを、そうでない場合には高周波成分を表現可能な特性のフィルタを用いて補間を行うことが可能である。ただし、QALFとAIFでは共にエンコーダにおいてフィルタ係数を設計して送信する必要があるため、演算量や符号量が増加してしまうという問題がある。
 本開示は、上述の課題を解決するためになされたものであり、符号化の処理量を削減することができる動画像符号化方法及び復号方法を提供することを目的とする。
 本実施形態に係る動画像符号化方法は、ループフィルタを適用するか否かを示すループフィルタ適用情報に応じて、局所復号画像の特定の領域に1つ以上のループフィルタを適用して復元画像を生成する。次に、前記復元画像から予測画像を生成する。次に、前記ループフィルタの係数及び前記ループフィルタ適用情報を符号化する。前記予測画像を生成するステップでは、入力される動き情報が小数画素位置を示す場合に、(A)前記ループフィルタが適用されていない領域では第1補間処理を用いて小数画素を生成することにより前記予測画像を生成し、(B)前記ループフィルタが適用されている領域では前記第1補間処理とは異なる第2補間処理を用いて小数画素を生成して前記予測画像を生成する。
 また、本実施形態に係る動画像復号方法は、符号化データを復号し、ループフィルタの係数及びループフィルタを適用するか否かを示すループフィルタ適用情報を得る。次に、前記ループフィルタ適用情報に応じて、復号画像の特定の領域に1つ以上のループフィルタを適用して復元画像を生成する。次に、前記復元画像から予測画像を生成する。前記予測画像を生成するステップでは、入力される動き情報が小数画素位置を示す場合に、(A)前記ループフィルタが適用されていない領域では第1補間処理を用いて小数画素を生成することにより前記予測画像を生成し、(B)前記ループフィルタが適用されている領域では前記第1補間処理とは異なる第2補間処理を用いて小数画素を生成して前記予測画像を生成する。
実施形態の動画像符号化装置のブロック図。 図1のループフィルタ処理部のブロック図。 図1の予測画像生成部のブロック図。 図3の予測画像生成部の動作の一例を示すフローチャート。 図3の第1補間処理部及び第2補間処理部での補間処理を説明するための図。 実施形態で用いるシンタクス構造を示す図。 図6のループフィルタデータシンタクスの構造を示す図。 実施形態の動画像復号装置のブロック図。 図8の変形例である動画像復号装置のブロック図。
 以下、図面を参照しながら本実施形態に係る動画像符号化方法及び復号方法並びにそれらを行う装置について詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
 (符号化) 
 本実施形態に係わる動画像符号化方法を行う動画像符号化装置について図1を参照して説明する。 
 図1に示す動画像符号化装置100は、予測画像生成部101、減算器102、変換・量子化部103、エントロピー符号化部104、逆変換・逆量子化部105、加算器106、ループフィルタ情報生成部107、ループフィルタ処理部108、参照画像バッファ109、及び動き補償予測制御部110を含み、符号化制御部111によって制御される。
 予測画像生成部101は、入力画像150に対して所定の予測処理を行う。この予測処理は、例えば、動き補償による時間方向の予測や、画面内の既に符号化済みの画素からの空間方向の予測などを用いてよい。本実施形態においては動き補償による時間方向の予測について述べる。予測画像生成部101は、動き補償予測制御部110から動き情報161を、参照画像バッファ109から既に符号化済みの参照画像160及びこの参照画像においてループフィルタが適用されている領域を示すフィルタ適用情報158を取得し、予測画像151を出力する。予測画像生成部101は後に図3及び図4を参照して詳細に説明する。
 減算器102は、取得した入力画像150と予測画像151との差分を計算し、予測誤差画像152を出力する。 
 変換・量子化部103は、まず、予測誤差画像152を取得して変換処理を行う。ここでは、例えばDCT(離散コサイン変換)などを用いて直交変換を行い、変換係数を生成する。別の実施形態として、ウェーブレット変換や独立成分解析などの手法を用いて変換係数を生成してもよい。次に、生成した変換係数を後述する符号化制御部111に設定されている量子化パラメータに基づいて量子化処理を行い、量子化後の変換係数153を出力する。量子化後の変換係数153は、後述するエントロピー符号化部104へ入力されると同時に、逆変換・逆量子化部105へも入力される。
 逆変換・逆量子化部105は、量子化後の変換係数153を符号化制御部111に設定されている量子化パラメータに従って逆量子化し、得られた変換係数に対して逆変換(例えば、逆離散コサイン変換など)を行い、予測誤差画像155を出力する。ここでは、変換・量子化部103で行われた直交変換、及び量子化に対応する逆変換及び逆量子化が行われる。例えば、変換・量子化部103でウェーブレット変換及び量子化が行なわれている場合、逆変換・逆量子化部105は、対応する逆ウェーブレット変換及び逆量子化が実行される。
 加算器106は、逆変換・逆量子化部105から取得した予測誤差画像155と、予測画像生成部101で生成された予測画像151とを加算し、局所復号画像156を出力する。
 ループフィルタ情報生成部107は、局所復号画像156及び入力画像150を取得し、フィルタ係数情報157及びフィルタ適用情報158を出力する。
 ループフィルタ処理部108は、局所復号画像156におけるフィルタ適用情報158が示す領域に、ループフィルタ係数情報157により示されるフィルタを適用し、フィルタ適用後の画像を復元画像159として出力する。ループフィルタ処理部108については図2を参照して詳述する。
 参照画像バッファ109は、フィルタ適用情報158と復元画像159を取得して一時保存する。フィルタ適用情報158と復元画像159は一対の情報として連動して管理される。参照画像バッファ109に保存した復元画像159は、予測画像生成部101によって予測画像151を生成する際に参照画像160として参照される。
 一方、エントロピー符号化部104は、量子化後の変換係数153に加えて、フィルタ係数情報157、フィルタ適用情報158、動き情報161、その他、予測モード情報、ブロックサイズ切り替え情報、量子化パラメータなどの符号化パラメータを取得し、エントロピー符号化(例えばハフマン符号化若しくは算術符号化など)して符号化データ154として出力する。
 動き補償予測制御部110は、入力画像150及び参照画像160を取得し、動き補償予測に用いる動き情報161を出力する。動き情報161は、例えば符号化処理単位ブロック毎に、入力画像150との二乗誤差が最小となる参照画像160の位置を探索することで、生成されることが可能である。 
 符号化制御部111は、発生符号量のフィードバック制御及び量子化制御、モード制御などを行ない、符号化全体の制御を行なう。
 次に、本実施形態に係わる動画像符号化装置に関する動作について説明する。 
 まず、動画像符号化装置100に入力画像150が入力されると、予測画像生成部101から取得した予測画像151を用いて減算器102で減算処理を行い、予測誤差画像152を生成する。生成した予測誤差画像152は、変換・量子化部103において変換及び量子化され、量子化された変換係数153として出力され、エントロピー符号化部104で符号化される。一方、量子化された変換係数153は、動画像符号化装置100に含まれる逆変換・逆量子化部105で逆変換及び逆量子化され、予測誤差画像155として出力される。予測誤差画像155は、予測画像生成部101で出力される予測画像151と加算器106で加算され、局所復号画像156が生成される。上記一連の処理は、予測処理と変換処理を行う所謂ハイブリッド符号化と呼ばれる動画像符号化における一般的な符号化処理である。
 次に、本実施形態に係わる動画像符号化装置におけるループフィルタ処理部108について、図2を用いて詳しく述べる。 
 図2に示すループフィルタ処理部108は、ループフィルタ切り替え部201及びループフィルタ適用部202を含む。
 ループフィルタ切り替え部201は、局所復号画像156をループフィルタの処理単位であるブロック毎に取得し、フィルタ適用情報158に基づいてフィルタ処理を行う。当該ブロックがループフィルタを適用する領域であった場合、ループフィルタ適用部202によってフィルタが適用され、フィルタ適用後の画素値を復元画像159の画素値として出力する。一方、当該ブロックがループフィルタを適用しない領域であった場合、復号画像156における同一位置の画素を復元画像159の画素として出力する。
 ここでは、本実施形態に係わる動画像符号化装置100におけるループフィルタ情報生成部107及びループフィルタ処理部108に関する動作について図1及び図2を用いて詳しく説明する。
 図1のループフィルタ情報生成部107に局所復号画像156及び入力画像150が入力されると、フィルタ係数の設定及びループフィルタの処理単位となる画素ブロック毎にフィルタを適用するか否かを示す適用情報(ループフィルタ適用情報)の設定が行われる。このブロックは、符号化処理で用いられるブロックとは独立に設定してよい。ここでは、画像復元で一般的に用いられる2次元のWiener filterを用いることとし、適用情報については、フィルタを適用することで各ブロックにおける原画像との誤差が低減される場合にのみフィルタを適用するものとして設定する。また、ブロック毎の適用情報に加え、複数のブロックを含む処理単位に適用情報を設定してもよい。例えば、符号化スライス毎に適用情報を設定してもよく、この場合、符号化スライス単位でフィルタを非適用と設定した場合にはスライス内の全画素についてフィルタは適用されず、ブロック毎の適用情報は破棄される。一方、符号化スライス単位でフィルタを適用とした場合にはブロック毎の適用情報に従ってフィルタを適用する。換言すれば、動き情報は、符号化処理で用いられるブロックの単位で入力され、ループフィルタ適用情報は、このブロック単位とは必ずしも一致しない画素ブロックの単位と複数の画素ブロックを含むブロックの単位との少なくとも一方で設定され、予測画像を生成するステップは、ループフィルタ適用情報が複数の画素ブロックを含むブロックの単位で設定されている場合には 、複数の画素ブロックを含むブロックに含まれるいずれか一つ以上のループフィルタ適用情報に基づいて、第1補間処理と第2補間処理とを切り替える。符号化スライス単位でのフィルタ適用情報については次式により表される符号化コストに基づいて設定する。
Figure JPOXMLDOC01-appb-M000001
 ただし、上式におけるDは残差二乗和、Rは符号量、λは重み係数を表す。
 まず、局所復号画像156にフィルタ処理を施した画像と、入力画像150との平均二乗誤差が最小となるようにフィルタ係数を設定する。
 次に、フィルタを適用したことにより入力画像150との平均二乗誤差が低減しているか否かをブロック毎に判定し、ブロック毎のフィルタ適用情報を設定する。
 最後に、符号化スライスに対して全くフィルタを適用しない場合のコストと、ブロック毎にフィルタを適用する場合のコストを算出して比較することで符号化スライスにおけるフィルタ適用情報を設定する。
 図2のループフィルタ処理部では、以上のように設定したフィルタ適用情報に基づき、局所復号画像156の特定の領域にフィルタを適用し、復元画像159として出力する。
 次に、本実施形態に係わる動画像符号化装置における予測画像生成部101について、図3を用いて詳しく述べる。 
 図3に示す予測画像生成部101は、補間処理切り替え部301、第1補間処理部302、第2補間処理部303及び予測画素値生成部304を含み、参照画像160において動き情報161により指定される画素を予測画像151の画素として出力する。
 補間処理切り替え部301は、動き情報161が指定する画素が、整数画素であるか否か及びループフィルタが適用された領域であるか否かに応じて補間処理を切り替える。具体的な補間処理については図4のフローチャートを参照して説明する。
 続いて、本実施形態に係わる動画像符号化装置100における特徴的な処理である予測画像生成部101に関する動作について図3及び図4を用いて詳しく説明する。なお、図4は、本実施形態に係わる動画像符号化装置100における予測画像生成部101に関する動作を示すフローチャートである。
 まず、図3の予測画像生成部101は、参照画像バッファ109より参照画像160及び当該参照画像に対応するフィルタ適用情報158を取得し、さらに動き補償予測制御部110より動き情報161を取得する(ステップS401)。
 予測画像生成部101は、参照画像160において、動き情報161により指定される位置の画素を取得して予測画像151の画素として出力する。 
 予測画像の生成においてはまず、補間処理切り替え部301が動き情報161が示す位置が整数画素位置であるかどうかの判定を行う(ステップS402)。 
 動き情報161が整数画素位置を示していた場合、当該位置の画素をそのまま参照すればよいため、小数画素の生成を行う必要はない(ステップS403)。
 一方、動き情報161が小数画素位置を示していた場合には補間処理により小数画素を生成する必要がある。小数画素の生成方法は様々考えられるが、ここではフィルタ適用情報158に基づいて2種類の補間処理を適応的に切り替える。まず、補間処理切り替え部301はフィルタ適用情報158に基づき、参照画像160において動き情報161が示す位置にループフィルタが適用されたか否かを判定する(ステップS404)。
 当該位置にループフィルタが適用されていない場合、第1補間処理部302により小数画素が生成される(ステップS405)。 
 一方、当該位置にループフィルタが適用されていた場合、第2補間処理部303により小数画素が生成される(ステップS406)。なお、第1補間処理部302及び第2補間処理部303についての詳細は後述する。
 最後に、予測画素値生成部304は、動き情報161の示す位置の画素値を参照画像160の整数画素または生成された小数画素から取得し、予測画像151における画素値として出力する(ステップS407)。
 上述した補間処理の切り替えについて、画像を構成するコンポーネントが複数ある場合には、コンポーネント毎に切り替えを行うか否かを定め、切り替えを行わないコンポーネントに対しては、ループフィルタが適用されているか否かによらず第1補間処理部302を用いて小数画素を生成してよい。ただし、符号化装置と復号装置で同様の切り替えを行う必要があることに注意する。コンポーネントとしては例えば、輝度、色差がある。
 また、本実施形態では実際にループフィルタが適用された領域であるか否かに応じて第1補間処理部302と第2補間処理部303を切り替えたが、前述のようにループフィルタは画素ブロック毎の適用制御に加え、スライスなど複数のブロックを含む領域での適用制御が可能である。そこで、演算量の観点から、実際にフィルタが適用された領域まで限定するのではなく、スライス単位での適用制御に応じて補間処理を切り替えてもよい。すなわち、スライス単位でループフィルタが非適用とされた場合には全ての小数画素を第1補間処理部302により生成し、スライス単位でループフィルタが適用とされた場合にはブロック毎のフィルタ適用情報によらず全ての小数画素を第2補間処理部303により生成してもよい。
 さらに、スライス単位で切り替える場合に、ループフィルタが適用されている画素数に応じて補間処理を切り替えてもよい。すなわち、スライスにおいてループフィルタが適用とされており、実際にループフィルタが適用された画素数がある閾値よりも多い場合には、スライスにおける全ての小数画素を第2補間処理部303により生成し、そうでない場合には全ての小数画素を第1補間処理部302により生成してもよい。この閾値は、例えばスライスに含まれる全画素数の50%の画素数などと設定することができる。
 ここで、第1補間処理部302及び第2補間処理部303にて行われる補間処理の一例を述べる。一般に、小数画素を生成するための補間フィルタには2つの効果がある。第1の効果は参照画像の位相を変化させて小数画素精度の動きを表現する効果であり、第2の効果は低域通過フィルタにより符号化歪を低減する効果である。H.264などの動画像符号化方法においては、強い低域通過フィルタを用いることで符号化歪を低減している。ただし、ループフィルタが適用された領域に関しては、既にフィルタにより符号化歪が低減されているため、強い低域通過フィルタを用いて小数画素を生成すると、高周波成分が過度に失われる恐れがある。
 そこで、例えばループフィルタが適用されていない領域で用いられる第1補間処理部302ではH.264と同様の補間処理を行ってよい。具体的な処理について図5を用いて説明する。図5において、A1からA8、B1からB8、C1からC8、D1からD8、E1からE8、F1からF8、G1からG8、及びH1からH8は整数画素を表す。また、aからp、aa1からaa3、bb1からbb3、cc1からcc3、dd1からdd3、ee1からee3、ff1からff3、gg1からgg3は小数画素を表し、aからoが生成すべき小数画素である。
 まず、画素b、hの生成方法について述べる。整数画素D4に対して水平方向に右へ2分の1画素ずれた小数画素bは、水平方向に同列である整数画素D2からD7より、次式により表される6タップフィルタを用いて生成される。
Figure JPOXMLDOC01-appb-M000002
 数式(2)において、「>>」はビットシフト演算を示す演算子である。数式(2)では右に5ビットシフトしており、これは32で除算することに等しい。また、r_ofsはビットシフトによる演算誤差を調整するオフセット値を示す。例えば、5ビットシフトの場合にはr_ofs=16と設定することで小数点以下1桁を四捨五入することに等しい効果を得ることができる。
 D4に対して垂直方向に下へ2分の1画素ずれた小数画素hについては、垂直方向に同列である整数画素B4からG4より、同一の6タップフィルタを用いて生成される。
 次に、画素jの生成方法について述べる。画素jを生成する場合、予め画素bを生成した場合と同様の処理により、画素bb2を画素B2からB7より6タップフィルタを用いて生成する。画素cc2、dd2、ee2、ff2についても同様に生成しておく。その後は、画素hを生成した場合と同様に画素bb2からff2と画素bを用いて生成する。この例では垂直方向に同列の画素から小数画素jを生成したが、水平方向に同列の画素を用いて算出してもよい。すなわち、図5における整数画素D2からD7のそれぞれ垂直方向下に2分の1画素ずれた画素を先に算出し、これらの小数画素から算出してもよい。
 最後に、画素a、c、d、e、f、g、i、k、l、m、n、oの生成方法について述べる。これらは、2つの画素の平均値を算出することで生成される。まず、画素a、c、d、lがそれぞれ画素D4とb、bとD5、D4とh、hとE4の平均値として生成される。その後、画素e、f、g、i、k、m、n、oがそれぞれ画素bとh、bとj、bとp、hとj、jとp、hとdd2、jとdd2、pとdd2の平均値として生成される。 
 以上が第1補間処理部302における動作である。
 一方、ループフィルタが適用されている領域で用いられる第2補間処理部303では、より高周波成分まで表現できる補間処理を行い、参照画像の位相ずれを高精度に表現する。具体的な処理については図5を用いて説明する。
 第1補間処理部302では、画素b、hを生成した後に平均値フィルタを用いて画素a、c、d、lを生成したが、第2補間処理部303では高周波成分を表現するため、整数画素から直接これらの画素を生成する。整数画素D4に対して水平方向に右へ4分の1画素ずれた小数画素aと、D5に対して水平方向に左へ4分の1画素ずれた小数画素cについては、水平方向に同列である整数画素D1からD8までを用いて算出する。例えば、画素aは次式により表される8タップフィルタを用いて生成される。
Figure JPOXMLDOC01-appb-M000003
 数式(3)において、hは補間フィルタの係数を表している。また、num_shiftは画素のビットシフト数を表し、r_ofsは数式(2)と同様、ビットシフトによる演算誤差を調整するオフセット値を示す。この例においてはnum_shift=8、r_ofs=128と設定する。
 画素cについても同様に生成することが可能である。ただし、画素aと画素cは位相が異なるため、例えば画素aを算出する際のフィルタ係数を{-3,12,-37,229,71,-21,6,-1}と設定する場合、画素cを算出する際のフィルタ係数は位相を逆にして{-1,6,-21,71,229,-37,12,-3}と設定することで適切な位相を表現するフィルタ処理が可能である。
 同様に、整数画素D4に対して垂直方向に下へ4分の1画素ずれた小数画素dと、E4に対して垂直方向に上へ4分の1画素ずれた小数画素lについては、垂直方向に同列の整数画素A4からH4までの整数画素を用いて算出する。このとき、画素dを生成する場合には画素aを生成する場合と同様のフィルタ係数を、画素lを生成する場合には画素cを生成する場合と同一のフィルタ係数を用いることができる。
 次に、小数画素b、hの生成方法について説明する。小数画素bはD4及びD5の2分の1画素であるので、小数画素a、cと同様の手段で生成することが可能である。同様に、小数画素hはD4及びE4の2分の1画素であるので、小数画素d、lと同様の手法で算出することが可能である。ただし、ここでも位相が異なることを考慮してフィルタ係数を設定する必要がある。例えば、本実施形態においては{-3,12,-39,158,158,-39,12,-3}のようにフィルタ係数を設定する。画素b及びhを整数画素から直接生成するという点では第1補間処理部302と第2補間処理部303の動作は共通であるが、同一のフィルタを用いる必要はない。例えば、本実施形態で示すように、第2補間処理部303では第1補間処理部302よりも長いタップ長のフィルタを用いることで、画素b及びhについてもより高周波成分を再現して生成することが可能である。これはタップ長の変更のみでなく、フィルタの周波数特性を変更することでも実現できる。
 最後に、小数画素e、f、g、i、j、k、m、n、oの生成方法について説明する。画素e、i、mを生成する場合、予め画素aを生成した場合と同様の処理により画素aa1を画素A1からA8を用いて生成する。同様に、画素bb1からgg1についても生成する。その後は、画素e、i、mを、それぞれ画素d、h、lを生成した場合と同様のフィルタ係数を用いて画素aa1からgg1と画素aより算出する。画素f、g、j、k、n、oについても同様に、垂直方向に同列の画素を生成した後にそれらの画素から生成することが可能である。この例では垂直方向に同列の画素から小数画素e、f、g、i、j、k、m、n、oを生成したが、水平方向に同列の画素を用いて算出してもよい。例えば、小数画素eを算出する場合、予め水平方向に同列の画素、すなわち図5における整数画素D1からD8のそれぞれ垂直方向下に4分の1画素ずれた画素を先に算出し、これらの小数画素から算出してもよい。
 本実施形態では、生成する小数画素の画素位置に対して補間処理が一意に定まるように説明を行ったが、例えば画像を構成するコンポーネント毎に解像度が異なるような場合にはコンポーネント毎に異なる補間処理を備えてもよい。
 また、本実施形態では小数画素を生成するためのフィルタ処理について述べたが、整数画素に対してもフィルタを適用してもよい。例えば、数式(2)や数式(3)のr_ofsといったオフセット値などを適応的に設定することで、画素値が一様に変化するような場合にも高精度な予測が可能となる。このとき、フィルタ係数やオフセット値は必要に応じて符号化して復号側に送信してもよい。 
 以上が第2補間処理部303における動作である。
 このように、ループフィルタが適用された領域であるか否かに応じて補間処理を適応的に切り替えることで、符号化歪の低減効果と表現する位相の精度を考慮した適切な補間処理が可能となる。ただし、補間処理は、隣接する整数画素の間に存在する画素を生成する処理であり、ループフィルタは整数画素に対して行われる処理であるため、生成しようとする補間画素がループフィルタ適用領域の境界線上に位置する場合が考えられる。本実施形態ではこの場合、性質の異なる2つの領域から補間画素を生成するため、強い低域通過フィルタである第1補間処理部302を用いて補間を行う。小数画素生成に用いる整数画素においてループフィルタが適用されている画素数やループフィルタのフィルタ特性に応じて利用する補間処理を切り替えてもよいが、符号化装置と復号装置で同様の切り替えを行わなければならないことに注意する。
 なお、ここでは2つの補間処理を切り替える方法について説明を行なったが、3つ以上の補間処理を切り替えてもよい。このとき、補間処理はループフィルタが適用されているか否かに加え、ループフィルタのフィルタ特性に応じて切り替えることができる。例えば、ループフィルタとして強い低域通過フィルタが適用された領域に対して補間処理を行なう場合には、より高周波成分を再現できるような補間フィルタを用いることで高精度な予測が可能となる。また、上記ループフィルタの特性や適用されているか否か、といった情報とは独立に補間処理を切り替えるための情報を生成し、当該情報を符号化して復号側に送信してもよい。また、これらを組み合わせ、ループフィルタのフィルタ特性と補間処理切り替え情報との組み合わせにて補間処理を切り替えてもよい。 
 以上が予測画像生成部101における動作である。
 最後に、ループフィルタ情報生成部107で生成したフィルタ係数情報157、フィルタ適用情報158、及び動き補償予測制御部110で生成した動き情報161は、エントロピー符号化部104で符号化され、量子化後の変換係数153や予測モード情報、ブロックサイズ切り替え情報、量子化パラメータなどと共にビットストリームに多重化されて後述する動画像復号装置800へと送信される。
 なお、ここではループフィルタが1つであるかのように説明したが、複数のフィルタを用意して、フィルタの適用/非適用のみでなくフィルタの種類についても同様にフィルタ適用情報158によって切り替えてもよい。さらに、フィルタの適用/非適用はフィルタ適用情報によって切り替え、フィルタの種類については復号画像の画素毎、あるいはブロック毎にアクティビティや画素値そのものによって切り替えてもよい。このとき、上述のように予測画像生成部101では3つ以上の補間処理を切り替えてもよく、補間処理の切り替え方法として、適用されたループフィルタの種類を追加してもよい。
 ここで、フィルタ係数情報157及びフィルタ適用情報158の符号化方法に関して、本実施形態で用いるシンタクス構造の概略を、図6及び図7を参照して詳しく説明する。以下の例では、フィルタ係数情報157及びフィルタ適用情報158をスライス単位で送信するものとする。
 図6に示すようにシンタクスは主に3つのパートからなり、ハイレベルシンタクス(600)は、スライス以上の上位レイヤのシンタクス情報が詰め込まれている。スライスレベルシンタクス(603)では、スライス毎に必要な情報が明記されており、マクロブロックレベルシンタクス(607)では、マクロブロック毎に必要とされる変換係数データや予測モード情報、動きベクトルなどが明記されている。
 それぞれは、さらに詳細なシンタクスで構成されており、ハイレベルシンタクス(600)では、シーケンスパラメータセットシンタクス(601)とピクチャパラメータセットシンタクス(602)などのシーケンス、ピクチャレベルのシンタクスから構成されている。スライスレベルシンタクス(603)では、スライスヘッダーシンタクス(804)、スライスデータシンタクス(605)、ループフィルタデータシンタクス(606)などから成る。さらに、マクロブロックレベルシンタクス(607)は、マクロブロックレイヤーシンタクス(608)、マクロブロックプレディクションシンタクス(609)などから構成されている。
 ループフィルタデータシンタクス(606)では、図7に示すように、本実施形態のループフィルタに関するパラメータであるフィルタ係数情報157及びフィルタ適用情報158が記述されている。filter_type_idxはループフィルタの形状やタップ長を示すインデクスである。filter_type_idxはフィルタ係数の数であるNumOfFilterCoeffと対応しており、フィルタ係数はfilter_coeffとして管理されている。また、block_size_idxはループフィルタを適用するか否かを切り替える単位となるブロックのサイズを示すインデクスである。ブロックサイズと画像のサイズから、ブロックの個数であるNumOfBlockを特定することができ、各ブロックにループフィルタを適用するか否かはloop_filter_flagによって管理されている。本実施形態では1画面を1スライスとして考えているが、1画面が複数のスライスに分割されている場合はblock_size_idxに加えてスライスの形状や大きさを示す情報が必要となる。また、ブロックの大きさについても画面内で一定であるとしているが、可変ブロックサイズを用いてもよい。その場合は四分木構造で管理し、各ブロックに対して分割するか否かのフラグと分割されたブロックのフィルタ適用情報を階層的に管理するなどの処理が考えられる。
 さらに、前述したようにループフィルタの適用はスライス単位での切り替えも可能であり、スライス単位のフィルタ適用情報はスライスヘッダーシンタクスに格納される。このとき、スライスに対してループフィルタが適用されると判断された場合のみ、ループフィルタデータシンタクス(606)がスライスレベルシンタクス(603)に格納される。また、スライスとは独立した単位でループフィルタを制御してもよい。これをループフィルタスライスと呼ぶ。1つのスライスに複数のループフィルタスライスが含まれる場合、ループフィルタスライスの数だけループフィルタデータシンタクスが生成される。
 以上がフィルタ係数情報157及びフィルタ適用情報158のシンタクス構造である。画像を構成するコンポーネントが複数存在する場合、コンポーネント毎に前記シンタクスが生成されてもよく、また2つ以上のコンポーネントに対して共通のシンタクスが生成されてもよい。
 (復号) 
 次に、動画像符号化装置100に対する動画像復号装置について図8を参照して説明する。図8は、本実施形態に係わる動画像復号装置を示すブロック図であり、動画像符号化装置100と同一の信号、処理部については同一の符号を付与してある。 
 図8に示す動画像復号装置800は、エントロピー復号部801、逆変換・逆量子化部105、予測画像生成部101、加算器106、ループフィルタ処理部108、参照画像バッファ109を含み、復号制御部802によって制御される。
 エントロピー復号部801は、図6に示されるシンタクス構造に従って、ハイレベルシンタクス、スライスレベルシンタクス、マクロブロックレベルシンタクスのそれぞれに対して、順次、符号化データ154の各シンタクスの符号列が復号され、量子化された変換係数153、フィルタ係数情報157、フィルタ適用情報158、動き情報161などが復元される。
 逆変換・逆量子化部105は、前記量子化された変換係数153を取得して動画像符号化装置100と同様の手段で逆量子化・逆直交変換(例えば逆離散コサイン変換など)を行ない、予測誤差画像155を出力する。予測画像生成部101は、参照画像バッファ109に格納されている参照画像160を取得して所定の予測処理を行い、予測画像151を出力する。予測処理は、例えば、動き補償による時間方向の予測や、画面内の既に復号済みの画素からの空間方向の予測などを用いてよいが、動画像符号化装置100と同様の予測処理が実行されることに注意する。ここでは、動画像符号化装置100と同様動き補償予測について述べる。
 加算器106は、取得した予測誤差画像155及び予測画像151を加算し、動画像符号化装置100における局所復号画像156と同一である復号画像156を生成する。
 ループフィルタ処理部108は、復号画像156、フィルタ係数情報157及びフィルタ適用情報158を取得してフィルタ適用情報158に基づいて復号画像156の特定の領域にフィルタ係数情報157により示されるフィルタを適用し、フィルタ適用後の画像を復元画像159として出力する。
 参照画像バッファ109は、フィルタ適用情報158と復元画像159を取得して一時保存する。フィルタ適用情報158と復元画像159は一対の情報として連動して管理される。参照画像バッファ109に保存した復元画像159は、予測画像生成部101によって予測画像151を生成する際に参照画像160として参照される。 
 復号制御部802は、復号タイミングの制御などを行い、復号全体の制御を行う。
 次に、本実施形態に係わる動画像復号装置800における動作を説明する。 
 まず、図8の動画像復号装置800に符号化データ154が入力されると、エントロピー復号部801によって、変換係数153、フィルタ係数情報157、フィルタ適用情報158及び動き情報161に加え、予測モード情報、ブロックサイズ切り替え情報、量子化パラメータなどが図6のシンタクス構造に従って復号される。次に、エントロピー復号部801によって復号された変換係数153は、逆変換・逆量子化部105へと入力され、復号制御部802にて設定されている量子化パラメータに従って逆量子化され、得られた変換係数に対して逆直交変換(例えば離散コサイン変換など)を行い、予測誤差画像155を復元する。予測誤差画像155は、予測画像生成部101によって出力された予測画像151と加算器106にて加算され、復号画像156が生成される。上記一連の処理は、予測処理と変換処理を行う所謂ハイブリッド符号化と呼ばれる動画像符号化における一般的な復号処理である。
 その後、ループフィルタ処理部108は、復号画像156をループフィルタの処理単位となる画素ブロック毎に取得し、フィルタ適用情報158に基づいてフィルタ処理を行う。当該ブロックがループフィルタを適用する領域であった場合、ループフィルタ適用部202によってフィルタが適用され、フィルタ適用後の画素値を復元画像159の画素値として出力する。一方、当該ブロックがループフィルタを適用しない領域であった場合、復号画像156における同一位置の画素を復元画像159の画素として出力する。復元画像159は、出力画像として出力されると共に、フィルタ適用情報158と共に参照画像バッファ109に格納され、参照画像160として予測画像生成部101において必要に応じて参照される。
 また、予測画像生成部101は、参照画像バッファ109より参照画像160及び当該参照画像に対応するフィルタ適用情報158を取得し、さらにエントロピー復号部801より動き情報161を取得する。その後、予測画像生成部101は動き情報161に基づいて動画像符号化装置100と同一の処理により予測画像151を生成する。すなわち、動き情報161が整数画素位置を示すか否かと参照画像160の当該領域に対してループフィルタが適用されているか否かに応じて、補間処理を行わない、第1補間処理部302により小数画素を生成する、第2補間処理部303により小数画素を生成する、といった3つの処理を適応的に切り替える。
 以上に示した実施形態によれば、ループフィルタが適用されていない領域に対しては強い低域通過フィルタを用いる第1の補間処理ステップによって小数画素を生成することで符号化歪を低減しつつ位相のずれを表現する。一方、ループフィルタが適用されて既に符号化歪の低減された領域に対しては高周波成分を表現可能なフィルタを用いる第2の補間処理ステップによって位相ずれをより精度良く表現する。これにより予測効率が向上し、この結果、符号化効率が向上する。
 なお、本実施形態に係わる動画像符号化装置100及び動画像復号装置800では、局所復号画像156に対してフィルタ処理を行っているが、局所復号画像156は、従来のデブロッキングフィルタ処理を施した後の画像を用いてもよい。 
 また、本実施形態に係わる動画像符号化装置100及び動画像復号装置800では、ループフィルタに関して本実施形態を用いたが、参照画像にのみフィルタを適用し、出力画像に対してはフィルタを適用しない場合にも本実施形態を用いてよい。その際、図8の動画像復号装置800は、図9の動画像復号装置900に変更される。動画像復号装置900は、動画像復号装置800における復号画像156をそのまま出力画像として出力することで実現される。
 なお、この動画像符号化装置100、動画像復号装置800、動画像復号装置900は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、予測画像生成部101、減算器102、変換・量子化部103、エントロピー符号化部104、逆変換・逆量子化部105、加算器106、ループフィルタ情報生成部107、ループフィルタ処理部108、参照画像バッファ109、動き補償予測制御部110、符号化制御部111、ループフィルタ切り替え部201、ループフィルタ適用部202、補間処理切り替え部301、第1補間処理部302、第2補間処理部303、エントロピー復号部801及び復号制御部802は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、動画像符号化装置100、動画像復号装置800、動画像復号装置900は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD-ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、参照画像バッファ109は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD-R、CD-RW、DVD-RAM、DVD-Rなどの記憶媒体などを適宜利用して実現することができる。
 また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した動画像符号化装置及び復号装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の動画像符号化装置及び復号装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。 
 また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。 
 さらに、本開示における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。 
 また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本開示における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
 なお、本開示におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。 
 また、本開示の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本開示の実施形態における機能を実現することが可能な機器、装置を総称している。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…動画像符号化装置、101…予測画像生成部、102…減算器、103…変換・量子化部、104…エントロピー符号化部、105…逆変換・逆量子化部、106…加算器、107…ループフィルタ情報生成部、108…ループフィルタ処理部、109…参照画像バッファ、110…動き補償予測制御部、111…符号化制御部、150…入力画像、151…予測画像、152…予測誤差画像、153…変換係数、154…符号化データ、155…予測誤差画像、156…局所復号画像、156…復号画像、157…ループフィルタ係数情報、158…フィルタ適用情報、159…復元画像、160…参照画像、161…動き情報、201…ループフィルタ切り替え部、202…ループフィルタ適用部、301…補間処理切り替え部、302…第1補間処理部、303…第2補間処理部、304…予測画素値生成部、800、900…動画像復号装置、801…エントロピー復号部、802…復号制御部。

Claims (12)

  1.  ループフィルタを適用するか否かを示すループフィルタ適用情報に応じて、局所復号画像の特定の領域に1つ以上のループフィルタを適用して復元画像を生成するステップと、
     前記復元画像から予測画像を生成するステップと、
     前記ループフィルタの係数及び前記ループフィルタ適用情報を符号化するステップと、
    を備え、
     前記予測画像を生成するステップでは、入力される動き情報が小数画素位置を示す場合に、(A)前記ループフィルタが適用されていない領域では第1補間処理を用いて小数画素を生成することにより前記予測画像を生成し、(B)前記ループフィルタが適用されている領域では前記第1補間処理とは異なる第2補間処理を用いて小数画素を生成して前記予測画像を生成する、
    動画像符号化方法。
  2.  前記動き情報は、第1ブロックの単位で入力され、
     前記ループフィルタ適用情報は、第2ブロックの単位と複数の前記第2ブロックを含む第3ブロックの単位との少なくとも一方で設定され、
     前記予測画像を生成するステップは、前記ループフィルタ適用情報が前記第3ブロックの単位で設定されている場合には、前記第3ブロックに含まれるいずれか一つ以上のループフィルタ適用情報に基づいて、前記第1補間処理と前記第2補間処理とを切り替える、
    請求項1に記載の動画像符号化方法。
  3.  前記第1補間処理と前記第2補間処理との切り替えは、画像を構成するコンポーネントの何れか1つ以上を対象に行われ、対象とならないコンポーネントについては第1補間処理のみを用いて小数画素を生成する、
    請求項2に記載の動画像符号化方法。
  4.  前記第1補間処理は、整数画素から水平方向または垂直方向に2分の1画素ずれた画素のみ整数画素から直接生成し、それ以外に位置する画素を生成するために用いる画素には小数画素が含まれ、
     前記第2補間処理は、整数画素から水平方向または垂直方向に2分の1画素ずれた画素及び4分の1画素ずれた画素を整数画素から直接生成し、それ以外に位置する画素を生成するために用いる画素には小数画素が含まれる、
    請求項2に記載の動画像符号化方法。
  5.  前記第2補間処理がさらに2つ以上の異なる補間処理を含む、請求項2に記載の動画像符号化方法。
  6.  前記第2補間処理に含まれる2つ以上の異なる補間処理は、前記領域に前記1つ以上のループフィルタの内の何れ1つが適用されているか、適用されたループフィルタのフィルタ特性、明示的に符号化される切り替え情報、の何れか1つ以上に基づいて切り替えられる、請求項5に記載の動画像符号化方法。
  7.  符号化データを復号し、ループフィルタの係数及びループフィルタを適用するか否かを示すループフィルタ適用情報を得るステップと、
     前記ループフィルタ適用情報に応じて、復号画像の特定の領域に1つ以上のループフィルタを適用して復元画像を生成するステップと
     前記復元画像から予測画像を生成するステップと、を備え、
     前記予測画像を生成するステップでは、入力される動き情報が小数画素位置を示す場合に、(A)前記ループフィルタが適用されていない領域では第1補間処理を用いて小数画素を生成することにより前記予測画像を生成し、(B)前記ループフィルタが適用されている領域では前記第1補間処理とは異なる第2補間処理を用いて小数画素を生成して前記予測画像を生成する、
    動画像復号方法。
  8.  前記動き情報は、第1ブロックの単位で入力され、
     前記ループフィルタ適用情報は、第2ブロックの単位と複数の前記第2ブロックを含む第3ブロックの単位との少なくとも一方で設定され、
     前記予測画像を生成するステップは、前記ループフィルタ適用情報が前記第3ブロックの単位で設定されている場合には、前記第3ブロックに含まれるいずれか一つ以上のループフィルタ適用情報に基づいて、前記第1補間処理と前記第2補間処理とを切り替える、
    請求項7に記載の動画像復号方法。
  9.  前記第1補間処理と前記第2補間処理との切り替えは、画像を構成する複数のコンポーネントの何れか1つ以上を対象に行われ、対象とならないコンポーネントについては第1補間処理のみを用いて小数画素を生成する、請求項8に記載の動画像復号方法。
  10.  前記第1補間処理は、整数画素から水平方向または垂直方向に2分の1画素ずれた画素のみ整数画素から直接生成し、それ以外に位置する画素を生成するために用いる画素には小数画素が含まれ、
     前記第2補間処理は、整数画素から水平方向または垂直方向に2分の1画素ずれた画素及び4分の1画素ずれた画素を整数画素から直接生成し、それ以外に位置する画素を生成するために用いる画素には小数画素が含まれる、
    請求項8に記載の動画像復号方法。
  11.  前記第2補間処理がさらに2つ以上の異なる補間処理を含む、請求項8に記載の動画像復号方法。
  12.  前記第2補間処理に含まれる2つ以上の異なる補間処理は、前記領域に前記1つ以上のループフィルタの内の何れ1つが適用されているか、適用されたループフィルタのフィルタ特性、明示的に符号化される切り替え情報、の何れか1つ以上に基づいて切り替えられる、請求項11に記載の動画像復号方法。
PCT/JP2010/061796 2010-07-12 2010-07-12 動画像符号化方法及び復号方法 WO2012008011A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/061796 WO2012008011A1 (ja) 2010-07-12 2010-07-12 動画像符号化方法及び復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/061796 WO2012008011A1 (ja) 2010-07-12 2010-07-12 動画像符号化方法及び復号方法

Publications (1)

Publication Number Publication Date
WO2012008011A1 true WO2012008011A1 (ja) 2012-01-19

Family

ID=45469036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/061796 WO2012008011A1 (ja) 2010-07-12 2010-07-12 動画像符号化方法及び復号方法

Country Status (1)

Country Link
WO (1) WO2012008011A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007337A (ja) * 2002-04-25 2004-01-08 Sony Corp 画像処理装置およびその方法
WO2010001999A1 (ja) * 2008-07-04 2010-01-07 株式会社 東芝 動画像符号化/復号化方法及び装置
WO2010021108A1 (ja) * 2008-08-18 2010-02-25 パナソニック株式会社 補間フィルタリング方法、画像符号化方法、画像復号方法、補間フィルタリング装置、プログラム、及び集積回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007337A (ja) * 2002-04-25 2004-01-08 Sony Corp 画像処理装置およびその方法
WO2010001999A1 (ja) * 2008-07-04 2010-01-07 株式会社 東芝 動画像符号化/復号化方法及び装置
WO2010021108A1 (ja) * 2008-08-18 2010-02-25 パナソニック株式会社 補間フィルタリング方法、画像符号化方法、画像復号方法、補間フィルタリング装置、プログラム、及び集積回路

Similar Documents

Publication Publication Date Title
KR102165340B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
JP6867450B2 (ja) 参照ピクチャリスト管理方法及びその方法を使用する装置
DK3282705T3 (en) PROCEDURE FOR DECODING AND APPARATUS FOR ENCODING A PICTURE THROUGH INTRAPHIC PREDICTION.
WO2012121535A2 (ko) 휘도 샘플을 이용한 색차 블록의 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
RU2683591C1 (ru) Способ и устройство для компенсации движения с предсказанием
WO2012115420A2 (ko) 필터링을 이용한 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
WO2012087034A2 (ko) 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
WO2009133844A1 (ja) エッジを考慮したフィルタリング機能を備えた動画像符号化/復号化方法及び装置
KR101965388B1 (ko) 양자화 계수 부/복호화 방법 및 이러한 방법을 사용하는 장치
WO2010001999A1 (ja) 動画像符号化/復号化方法及び装置
JP2011223302A (ja) 画像処理装置と画像処理方法
JP5871628B2 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6409516B2 (ja) ピクチャ符号化プログラム、ピクチャ符号化方法及びピクチャ符号化装置
WO2011086672A1 (ja) 動画像符号化装置および復号装置
KR20130088114A (ko) 화상 처리 장치, 화상 처리 방법, 및 프로그램
JP7357721B2 (ja) デブロッキングフィルタ制御装置及びプログラム
WO2012008011A1 (ja) 動画像符号化方法及び復号方法
WO2011161823A1 (ja) 動画像符号化方法および復号方法
WO2013145174A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置及び動画像復号装置
WO2012049876A1 (ja) 動画像符号化方法および復号方法
CN113170206A (zh) 图像处理装置和图像处理方法
JP5323211B2 (ja) 動画像符号化装置および復号装置
JP5814191B2 (ja) デブロッキング処理方法、デブロッキング処理装置、プログラム、及び記録媒体
JP2013232974A (ja) 動画像符号化装置および復号装置
JP2014060744A (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: 10854695

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP