WO2012020708A1 - 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム - Google Patents

映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム Download PDF

Info

Publication number
WO2012020708A1
WO2012020708A1 PCT/JP2011/067963 JP2011067963W WO2012020708A1 WO 2012020708 A1 WO2012020708 A1 WO 2012020708A1 JP 2011067963 W JP2011067963 W JP 2011067963W WO 2012020708 A1 WO2012020708 A1 WO 2012020708A1
Authority
WO
WIPO (PCT)
Prior art keywords
region
encoding
decoding
video
interpolation filter
Prior art date
Application number
PCT/JP2011/067963
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 EP11816373.2A priority Critical patent/EP2592835A4/en
Priority to KR1020137003311A priority patent/KR20130066660A/ko
Priority to BR112013003066A priority patent/BR112013003066A2/pt
Priority to US13/814,769 priority patent/US20130136187A1/en
Priority to CA2807784A priority patent/CA2807784A1/en
Priority to CN2011800390276A priority patent/CN103168470A/zh
Publication of WO2012020708A1 publication Critical patent/WO2012020708A1/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/172Methods 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 picture, frame or field

Definitions

  • the present invention relates to a video encoding method, a video decoding method, a video encoding device, a video decoding device, and programs thereof having an in-screen changing function for interpolation filter coefficients.
  • a motion vector is obtained so as to minimize a prediction error energy by referring to an already decoded frame.
  • the residual signal of the motion vector is orthogonally transformed, quantized, and entropy coded to become binary data.
  • a prediction method with higher prediction accuracy is required, and reduction of prediction error energy is indispensable.
  • H.M. In H.264 / AVC Advanced Video Coding
  • H.M. In H.264 / AVC Advanced Video Coding
  • This tool is called multiple reference frame prediction.
  • 16 ⁇ 16 and 8 ⁇ 8, 16 ⁇ 8, 8 ⁇ 16, 8 ⁇ 4, 4 ⁇ 8, 4 ⁇ 4, etc. in addition to 16 ⁇ 16 and 8 ⁇ 8
  • the block size can be divided finely. This tool is called variable block size prediction.
  • a 1 ⁇ 2 precision pixel is interpolated from the integer precision pixel of the reference frame using a 6-tap filter, and a 1 ⁇ 4 precision pixel is generated by linear interpolation using the pixel. To do.
  • prediction is applied to non-integer precision motion. This tool is called 1/4 pixel accuracy prediction.
  • KTA Key Technical Area
  • an adaptive interpolation filter a tool that adaptively changes the interpolation filter coefficient of decimal precision pixels
  • an adaptive interpolation filter which is effective for almost all images and was first adopted in the KTA software.
  • JCT-VC Joint Collaborative Team On Video Coding
  • H. In H.264 / AVC when interpolating a pixel at a 1/2 pixel position, interpolation is performed using a total of 6 integer pixels for each of the left and right three points of the target interpolation pixel. In the vertical direction, interpolation is performed using a total of 6 integer pixels for each of the upper and lower three points.
  • the filter coefficients are [(1, -5, 20, 20, -5, 1) / 32], respectively.
  • the quarter precision pixels are interpolated using an average filter of [1/2, 1/2]. Since it is necessary to interpolate all 1 ⁇ 2 precision pixels once, the calculation complexity is high, but interpolation with higher performance is possible, leading to improvement in coding efficiency.
  • H.264 / AVC interpolation processing is shown in FIG. The details are described in Non-Patent Document 1, Non-Patent Document 2, and Non-Patent Document 3.
  • the filter coefficient value is constant regardless of input image conditions (sequence type / image size / frame rate) and encoding conditions (block size / GOP (Group of Pictures) structure / QP (Quantization Parameter)). is there.
  • time-varying effects such as aliasing, quantization error, error due to motion estimation, and camera noise are not considered. Therefore, it is considered that there is a limit to the performance improvement in terms of coding efficiency. Therefore, a method of adaptively changing the interpolation filter coefficient is proposed in Non-Patent Document 4, and is called a non-separable adaptive interpolation filter.
  • Non-Patent Document 4 considers a two-dimensional interpolation filter (6 ⁇ 6 total 36 filter coefficients), and the filter coefficient is determined so as to minimize the prediction error energy. In this method, H.264 is used. The encoding efficiency was higher than that of the one-dimensional 6-tap fixed interpolation filter used in H.264 / AVC, but the calculation complexity for obtaining the filter coefficient is very high.
  • Non-Patent Document 5 introduces a proposal for reducing the above.
  • Non-Patent Document 5 The technique introduced in Non-Patent Document 5 is called a separable adaptive interpolation filter (SAIF), and uses a one-dimensional six-tap interpolation filter instead of using a two-dimensional interpolation filter. .
  • SAIF separable adaptive interpolation filter
  • FIGS. 12A to 12C are diagrams illustrating a non-integer precision pixel interpolation method in the separable adaptive interpolation filter (SAIF).
  • SAIF separable adaptive interpolation filter
  • S is an original image
  • P is a decoded reference image
  • x and y are horizontal and vertical positions in the image, respectively.
  • ⁇ y y + MV y
  • MV y represents the vertical component of the motion vector.
  • w ci represents a horizontal filter coefficient group c i (0 ⁇ c i ⁇ 6) to be obtained.
  • Step 2 of FIG. 12C The filter coefficient in the vertical direction is determined by solving a linear problem similar to that in the horizontal direction. Specifically, the vertical filter coefficient that minimizes the prediction error energy function E v 2 of Equation (2) is analytically determined.
  • S is an original image
  • ⁇ P ( ⁇ is a symbol on P) is an image subjected to interpolation processing in the horizontal direction after decoding
  • x and y indicate horizontal and vertical positions in the image, respectively.
  • ⁇ x 4 ⁇ (x + MV x ) is expressed
  • MV x indicates a horizontal component of the rounded motion vector.
  • w cj represents a vertical filter coefficient group c j (0 ⁇ c j ⁇ 6) to be obtained.
  • the minimization process is performed independently for each decimal precision pixel, and 12 types of 6-tap filter coefficient groups are obtained. The remaining decimal precision pixels are interpolated using this filter coefficient.
  • the filter coefficients can also be inverted and used. That is, if 6 coefficients of d are transmitted, the value can be applied to l.
  • This symmetry is also available for e and m, f and n, and g and o. The same theory holds for a and c.
  • the filter coefficient to be transmitted for each frame is 51 (15 in the horizontal direction and 36 in the vertical direction).
  • the unit of prediction error energy minimization processing is fixed in a frame.
  • 51 filter coefficients are determined for one frame. If the encoding target frame is divided into two types (or a plurality of types) of texture areas, the optimum filter coefficient is a coefficient group that takes into account both (all textures). In the situation where a characteristic filter coefficient originally appears only in the vertical direction in the area A, but in the situation where the filter coefficient can be obtained only in the horizontal direction in the area B, the filter coefficient is derived in the form of averaging both.
  • the prediction error energy can be reduced by preparing and switching a plurality of filter coefficient groups according to the local properties of the image without being limited to one filter coefficient group (51 coefficients) per frame.
  • a method for improving the coding efficiency is proposed in Non-Patent Document 6.
  • the encoding target frame includes textures having different properties.
  • FIG. 13A when one filter coefficient group is optimized and sent as a whole frame, all the properties of each texture are considered. If the texture does not change much, the filter coefficient by the overall optimization is considered to be the best, but if the texture has a contradictory nature, it is better to use the filter coefficient optimized for each texture as shown in FIG. 13B.
  • the code amount of the entire frame can be reduced.
  • Non-Patent Document 6 considers a method of using a plurality of optimized filter coefficient groups by region division for one frame.
  • Non-Patent Document 6 employs motion vectors (horizontal and vertical components, orientation) and spatial coordinates (macroblock position, x-coordinate and y-coordinate of the block) as a method of area division, and various image properties can be obtained.
  • the area division is implemented in consideration.
  • FIG. 14 shows a configuration example of a video encoding apparatus using a conventional area division type adaptive interpolation filter as shown in Non-Patent Document 6.
  • the area dividing unit 101 divides the encoding target frame of the input video signal into a plurality of areas including a plurality of blocks which are units for switching interpolation filter coefficients adaptively.
  • the interpolation filter coefficient switching unit 102 switches the interpolation filter coefficient of the decimal accuracy pixel used for the reference image in the predictive coding for each region divided by the region dividing unit 101.
  • the filter coefficient optimized by the filter coefficient optimization unit 1021 is used as the interpolation filter coefficient to be switched.
  • the filter coefficient optimization unit 1021 calculates an interpolation filter coefficient that minimizes the prediction error energy between the original image and the interpolated reference image for each region.
  • the prediction signal generation unit 103 includes a reference image interpolation unit 1031 and a motion detection unit 1032.
  • the reference image interpolation unit 1031 applies an interpolation filter based on the interpolation filter coefficient selected by the interpolation filter coefficient switching unit 102 to the decoded reference image stored in the reference image memory 107.
  • the motion detection unit 1032 calculates a motion vector by performing motion search on the interpolated reference image.
  • the prediction signal generation unit 103 generates a prediction signal by motion compensation using a motion vector with decimal precision calculated by the motion detection unit 1032.
  • the prediction encoding unit 104 calculates a residual signal between the input video signal and the prediction signal, orthogonally transforms the residual signal, and performs prediction encoding by quantization of a transform coefficient. Further, the decoding unit 106 decodes the result of predictive encoding, and stores the decoded image in the reference image memory 107 for later predictive encoding.
  • variable length coding unit 105 performs variable length coding on the quantized transform coefficients and motion vectors, and variable length codes the interpolation filter coefficients selected by the interpolation filter coefficient switching unit 102 for each region, and codes them. Output as a bitstream.
  • FIG. 15 shows a configuration example of a video decoding apparatus using a conventional area division type adaptive interpolation filter.
  • the stream encoded by the video encoding device 100 shown in FIG. 14 is decoded by the video decoding device 200 shown in FIG.
  • the variable length decoding unit 201 receives an encoded bit stream and decodes a quantized transform coefficient, a motion vector, an interpolation filter coefficient group, and the like.
  • the region determination unit 202 determines a region serving as a unit for switching interpolation filter coefficients adaptively for a decoding target frame.
  • the interpolation filter coefficient switching unit 203 switches the interpolation filter coefficient decoded by the variable length decoding unit 201 for each region determined by the region determination unit 202.
  • the reference image interpolation unit 2041 in the prediction signal generation unit 204 applies the interpolation filter based on the interpolation filter coefficient received from the interpolation filter coefficient switching unit 203 to the decoded reference image stored in the reference image memory 206, and calculates the decimal number of the reference image. Restore precision pixels.
  • the prediction signal generation unit 204 generates a prediction signal of the decoding target block from the reference image in which the decimal precision pixels are restored.
  • the predictive decoding unit 205 performs inverse quantization, inverse orthogonal transform, and the like of the quantized coefficient decoded by the variable length decoding unit 201, and the prediction residual signal calculated thereby and the prediction signal generated by the prediction signal generating unit 204 Are added together to generate a decoded signal and output as a decoded image.
  • the decoded image decoded by the predictive decoding unit 205 is stored in the reference image memory 206 for later predictive decoding.
  • Hiroshi Harashima, Yoshinori Sakai, Toshiyuki Yoshida “Video coding”, Ohmsha, pp.135-136, 2001 Satoshi Okubo, Takuya Kakuno, Yoshihiro Kikuchi, Teruhiko Suzuki: Satoshi “H.264 / AVC textbook revised third edition”, Impress, pp.119-123, 2009 I. E. G. Richardson, G. J. Sullivan: “H.264 and MPEG-4 VIDEO COMPRESSION”, WILEY, pp.172-175, 2003 Y. Vatis, B. Edler, D. T. Nguyen, J.
  • the region division type adaptive interpolation filter (Non-Patent Document 6) used by the video encoding apparatus 100 as shown in FIG. 14 considers local properties of an image and switches a plurality of filter coefficient groups within a frame. It aims to improve the coding efficiency by reducing the prediction error energy.
  • the region division method used in the first frame is applied to all frames. Since the characteristics of the video in the screen may change in the time direction (for example, scene changes, etc.), if the division method can be changed in units of frames, further improvement in coding efficiency can be expected.
  • the present invention selects the optimal region segmentation method for each frame or slice unit for an image in which the optimal value of the interpolation filter coefficient changes in space-time, and thus the residual of motion-compensated intra prediction.
  • the purpose is to further reduce energy and improve coding efficiency.
  • multiple area division methods are prepared, the rate distortion cost is calculated for each method, the area division method that minimizes this cost is selected, and information indicating the area division method is provided. Send as a flag.
  • the prediction error energy can be reduced and the coding efficiency can be improved by switching between multiple region division methods for each frame.
  • the present invention is a video encoding method using motion compensation, and a plurality of region division methods for dividing a frame to be encoded (or a slice) are prepared, and one of the plurality of region division methods is sequentially selected.
  • Select one division method detect encoding information (encoded or obtained during encoding) from the encoding target frame, perform region division within the frame from the detected encoding information, In response, select an interpolation filter for decimal precision pixels, perform encoding by performing interpolation for the decimal precision pixels using the selected interpolation filter, and calculate and save the cost for the selected region segmentation method. Then, the best region dividing method is selected from the stored costs, the region dividing mode number indicating the region dividing method is encoded, and the encoding is executed by the best region dividing method.
  • the present invention is a video decoding method for decoding an encoded stream encoded by the video encoding method, wherein the region division mode number is decoded, the interpolation filter coefficient of the decimal precision pixel is decoded, and the decoding target Classification is performed in units of blocks using information obtained from the blocks, and region division is performed according to the classification result, and decoding is performed by switching the interpolation filter of decimal precision pixels for each divided region.
  • the operation of the present invention is as follows.
  • the conventional region division type adaptive interpolation filter only one type of region division method can be applied to one type of video, and there is a limit to the improvement in coding efficiency when the properties of the whole video are greatly different in space and time. It was.
  • the present invention by optimizing the interpolation filter coefficient in space and time, it is possible to flexibly cope with the locality of the image, and further improvement in coding efficiency can be achieved.
  • the present invention it is possible to select an optimal region segmentation method in units of one or a plurality of frames or slices, which cannot be handled by the conventional separable adaptive interpolation filter, and the spatial and spatial locality of the image
  • the interpolation filter coefficient can be switched in consideration of the characteristics. Accordingly, it is possible to improve the coding efficiency by reducing the prediction error energy.
  • H. 2 is a diagram illustrating an example of a pixel interpolation method with non-integer precision in H.264 / AVC.
  • an area may be divided in units of slices, or the area division may be determined by a plurality of frames such as two or three frames.
  • FIG. 1 is a diagram illustrating a configuration example of a video encoding device according to an embodiment of the present invention.
  • the video encoding apparatus 10 divides a region by a plurality of region division methods (referred to as region division modes), and uses a region division type adaptive interpolation filter by region division that minimizes the coding cost in each region division mode.
  • region division modes region division methods
  • This video encoding apparatus is different from the conventional video encoding apparatus 100 shown in FIG. 14 in that the division of a region as a unit for switching the adaptive interpolation filter is selected from a plurality of region division modes.
  • the region dividing unit 11 divides the encoding target frame of the input video signal into a plurality of regions including a plurality of blocks which are units for switching interpolation filter coefficients adaptively.
  • this area division a plurality of area division modes are prepared, and each area is divided according to one area division mode selected in order from the plurality of area division modes.
  • the interpolation filter coefficient switching unit 12 switches the interpolation filter coefficient of the decimal precision pixel used for the reference image in the predictive encoding for each region divided by the region dividing unit 11. As the interpolation filter coefficient to be switched, an optimized interpolation filter coefficient that minimizes the prediction error energy between the original image and the interpolated reference image is used for each region divided by the region dividing unit 11. .
  • the prediction signal generation unit 13 includes a reference image interpolation unit 131 and a motion detection unit 132.
  • the reference image interpolation unit 131 applies an interpolation filter based on the interpolation filter coefficient selected by the interpolation filter coefficient switching unit 12 to the decoded reference image stored in the reference image memory 18.
  • the motion detection unit 132 calculates a motion vector by performing a motion search on the interpolated reference image.
  • the prediction signal generation unit 13 generates a prediction signal by motion compensation using a decimal precision motion vector calculated by the motion detection unit 132.
  • the prediction encoding unit 14 calculates a residual signal between the input video signal and the prediction signal, orthogonally transforms the signal, and performs prediction encoding by quantization of a transform coefficient.
  • the region division mode determination unit 15 stores the rate distortion (RD) cost obtained as a result of encoding by the predictive encoding unit 14 for each region division mode selected by the region division unit 11, and performs region division with the smallest rate distortion cost. Select a mode.
  • RD rate distortion
  • the variable length encoding unit 16 performs variable length encoding on the region division mode (for example, the mode number) selected by the region division mode determination unit 15. Further, the variable length encoding unit 16 performs variable length encoding on the interpolation filter coefficient selected by the interpolation filter coefficient switching unit 12 for each region. Further, the variable length coding unit 16 performs variable length coding on the quantized transform coefficient output by the prediction coding unit 14 in the finally selected region division mode and the motion vector output by the motion detection unit 132. To do. The variable length encoding unit 16 outputs the encoded information as an encoded bit stream.
  • region division mode for example, the mode number
  • the variable length encoding unit 16 performs variable length encoding on the interpolation filter coefficient selected by the interpolation filter coefficient switching unit 12 for each region. Further, the variable length coding unit 16 performs variable length coding on the quantized transform coefficient output by the prediction coding unit 14 in the finally selected region division mode and the motion vector output by the motion detection unit 132. To do.
  • the decoding unit 17 decodes the result of the predictive encoding by the predictive encoding unit 14 and stores the decoded signal in the reference image memory 18 for later predictive encoding.
  • FIG. 2 is a flowchart of video encoding processing executed by the video encoding device 10.
  • the function of selecting the optimal region division described in this example and switching the interpolation filter coefficient for each region is as follows. It can be applied not only to luminance signals but also to color difference signals.
  • step S101 a frame to be encoded is input.
  • step S102 the input frame is divided into blocks (for example, a conventional motion prediction block size such as 16 ⁇ 16 or 8 ⁇ 8), and the motion detector 132 calculates an optimal motion vector for each block.
  • blocks for example, a conventional motion prediction block size such as 16 ⁇ 16 or 8 ⁇ 8
  • the motion detector 132 calculates an optimal motion vector for each block.
  • the conventional H.264 standard is used for interpolation of decimal precision pixels in the reference image in step S102.
  • a fixed 6-tap filter based on H.264 / AVC is used.
  • step S103 the area dividing unit 11 selects one area dividing mode in order from the prepared plurality of area dividing modes, and repeats the processing up to step S110 for the selected area dividing mode. Details of the example of the area division mode will be described later with reference to FIG.
  • step S104 the region dividing unit 11 performs region division according to the region division mode selected in step S103.
  • step S105 optimization processing is performed for each region based on the result of region division in step S104.
  • step S105 the interpolation filter coefficient optimization process is performed for each decimal precision pixel in the horizontal direction using Expression (3) that is a prediction error energy function.
  • ⁇ m, n indicates each region, m is a region division mode number, n is a region number in a specific region division mode, S is an original image, P is a decoded reference image, and x and y are respectively Indicates the horizontal and vertical position in the image.
  • ⁇ y y + MV y , where MV y represents the vertical component of the motion vector.
  • w ci represents a horizontal filter coefficient group c i (0 ⁇ c i ⁇ 6) to be obtained.
  • step S106 the horizontal interpolation filter coefficient obtained in step S105 is used to independently perform horizontal fractional pixel interpolation (of a, b, and c in FIG. 12) for each region in the frame. Interpolation).
  • step S107 optimization processing of the interpolation filter coefficient in the vertical direction is performed.
  • equation (4) which is the vertical prediction error energy function
  • the interpolation filter coefficient optimization processing is performed for each decimal pixel in the vertical direction.
  • ⁇ m, n indicates each area
  • m is an area division mode number
  • n is an area number in a specific area division mode
  • S is an original image
  • ⁇ P ( ⁇ is a symbol on P) Is an image interpolated in the horizontal direction in step S105
  • x and y are horizontal and vertical positions in the image, respectively.
  • ⁇ x 4 ⁇ (x + MV x ), where MV x represents the horizontal component of the rounded motion vector.
  • w cj represents a vertical filter coefficient group c j (0 ⁇ c j ⁇ 6) to be obtained.
  • step S108 the vertical interpolation filter coefficient obtained in step S107 is used to perform vertical fractional pixel interpolation (interpolation of d to o in FIG. 12) independently for each region in the frame. To do.
  • step S109 the motion vector is calculated again using the image interpolated in the vertical direction obtained in step S108 as a reference image.
  • step S110 a rate distortion cost (RD cost) for the region division mode selected in step S103 is calculated and stored. All the processes from step S103 to step S110 are executed for the prepared area division mode.
  • RD cost rate distortion cost
  • step S111 the region division mode determination unit 15 determines an optimum region division mode that realizes the minimum rate distortion cost among the plurality of prepared region division modes.
  • step S112 the variable length encoding unit 16 encodes the optimum region division mode determined in step S111.
  • step S113 the variable length encoding unit 16 encodes the interpolation filter coefficient in the region division mode encoded in step S112.
  • step S114 the remaining information to be encoded (motion vector, DCT coefficient, etc.) in the region division mode determined in step S111 is encoded.
  • FIG. 3 is a diagram illustrating an example of a division table that defines the region division mode.
  • Th x1 , Th x2 , Th y1 , Th y2 are threshold values obtained from the histogram of the motion vector (MV)
  • MV x is the horizontal component of the motion vector
  • MV y is the vertical component of the motion vector
  • x y Is a spatial coordinate indicating the block position in the frame
  • F x is the horizontal width of the frame
  • F y is the vertical width of the frame.
  • the maximum number of areas is fixed at 2, but the number of areas can be set to 3 or more.
  • the area division mode eight kinds of division methods with area division mode numbers (hereinafter simply referred to as mode numbers) from 0 to 7 are prepared.
  • Mode number 0 is a case where an area in a frame is not divided, and a conventional adaptive interpolation filter (AIF) is used.
  • AIF adaptive interpolation filter
  • Mode number 1 is a mode in which the region is divided by paying attention to the x component (MV x ) of the motion vector. If MV x is between the threshold values Th x1 and Th x2 , the first region (region 1), the threshold value If it is outside Th x1 and Th x2 , it is divided as a second area (area 2).
  • Mode number 2 is a mode in which the region is divided by paying attention to the y component (MV y ) of the motion vector. If MV y is between the threshold values Th y1 and Th y2 , the first region (region 1), the threshold value If it is outside Th y1 and Th y2 , it is divided as a second area (area 2).
  • FIG. 4A shows a processing flow of area division based on a motion vector component (mode number 1 or 2).
  • a motion vector is acquired in units of blocks for the encoding target frame.
  • a histogram of the x component (when mode number 1) or y component (when mode number 2) of the motion vector is generated.
  • a threshold value is calculated from the histogram.
  • the region number is determined from the magnitude relationship between the threshold value calculated in step S203 and the motion vector component.
  • the calculation of the threshold value in step S203 will be described by taking the case of mode number 1 in FIG. 4B as an example.
  • the vertical axis of the graph in FIG. 4B is the number of components MV x of the motion vector.
  • the threshold values Th x1 and Th x2 in step S203 are determined so that the areas of the region 1 and the region 2 in the histogram are the same.
  • the threshold values Th y1 and Th y2 for the horizontal component MV y of mode number 2 can be determined in the same manner.
  • the threshold value is encoded and transmitted to the video decoding device in the same manner as the interpolation filter coefficient.
  • Mode numbers 3, 4, and 5 are modes in which the region is divided by paying attention to the direction of the motion vector.
  • FIG. 5A shows a process flow of area division according to the direction of the motion vector (mode numbers 3 to 5).
  • step S301 a motion vector is acquired in units of blocks for an encoding target frame.
  • step S302 the direction of the motion vector is determined.
  • step S303 the region number (region 1 or region 2) is determined according to the direction of the motion vector.
  • the first region (region 1) is set, and the second quadrant or the fourth quadrant is used. At some point, the region is divided into the second region (region 2).
  • the first region (region 1) is set, and the x component MV x of the motion vector is greater than 0.
  • the area is divided into the second area (area 2).
  • the y component MV y of the motion vector when the y component MV y of the motion vector is 0 or more, the first region (region 1) is set, and the y component MV y of the motion vector is greater than 0.
  • the area is divided into the second area (area 2).
  • Mode numbers 6 and 7 are modes in which an area is divided focusing on spatial coordinates.
  • FIG. 6A shows a processing flow of area division by spatial coordinates.
  • step S401 the spatial coordinates of the encoding target block are acquired.
  • step S402 the region number (region 1 or region 2) is determined based on the spatial coordinate value of the block acquired in step S401.
  • the division mode with the mode number 6 is a mode in which the screen is divided into two areas on the left and right as shown in FIG. 6B.
  • F x / 2 This is a mode in which the first region (region 1) is set and the second region (region 2) is set when the width is larger than half the width F x / 2.
  • the threshold value is not limited to half of the horizontal width, and can be any value.
  • the division mode with the mode number 7 is a mode in which the screen is divided into two upper and lower regions as shown in FIG. 6C, and when the spatial coordinate y of the block is less than half the vertical width of the frame F y / 2.
  • This is a mode in which the first region (region 1) is set and the second region (region 2) is set when it is larger than half the vertical width F y / 2.
  • the threshold value is not limited to half of the vertical width, and can be any value. When the threshold is selected from several patterns of coordinates, the threshold is encoded and transmitted to the video decoding apparatus.
  • FIG. 7A shows a process flow of area division according to the direction of the motion vector when the number of areas is four.
  • a motion vector is acquired in units of blocks for an encoding target frame.
  • the direction of the motion vector is determined.
  • the region number is determined according to the direction of the motion vector.
  • the first area (area 1) when the motion vector is in the first quadrant, the first area (area 1) is set, and when the motion vector is in the second quadrant, the second area (area) is set. 2), a region is divided into a third region (region 3) when in the third quadrant and a fourth region (region 4) when in the fourth quadrant.
  • FIG. 8 is a diagram showing a configuration example of a video decoding apparatus according to the present invention.
  • the video decoding apparatus 20 receives the bit stream encoded by the video encoding apparatus 10 shown in FIG. 1, and performs interpolation of decimal precision pixels by switching the adaptive interpolation filter for each area divided according to the area division mode. , Generate a decoded image by decimal precision motion compensation.
  • the video decoding apparatus 20 is different from the conventional video decoding apparatus 200 shown in FIG. 15 in that the area of the decoding target block is determined according to the area division mode, and the adaptive interpolation filter is switched to interpolate the decimal precision pixels.
  • the variable length decoding unit 21 receives the encoded bit stream and decodes a quantized transform coefficient, a motion vector, a group of interpolation filter coefficients, and the like.
  • the region division mode decoding unit 211 decodes a mode number indicating the region division method encoded by the video encoding device 10.
  • additional information other than the mode number that is, a motion vector threshold value and a spatial coordinate threshold value is also decoded.
  • the region determination unit 22 is a region serving as a unit for adaptively switching the interpolation filter coefficient for the decoding target frame from the motion vector of the block or the spatial coordinates in accordance with the region division mode indicated by the mode number decoded by the region division mode decoding unit 211. Determine.
  • the interpolation filter coefficient switching unit 23 switches the interpolation filter coefficient decoded by the variable length decoding unit 21 for each region determined by the region determination unit 22.
  • the reference image interpolation unit 241 in the prediction signal generation unit 24 applies the interpolation filter based on the interpolation filter coefficient received from the interpolation filter coefficient switching unit 23 to the decoded reference image stored in the reference image memory 26, and calculates the decimal number of the reference image. Restore precision pixels.
  • the prediction signal generation unit 24 generates a prediction signal of the decoding target block from the reference image in which the decimal precision pixels are restored.
  • the prediction decoding unit 25 performs inverse quantization, inverse orthogonal transformation, and the like on the quantization coefficient decoded by the variable length decoding unit 21, and the prediction error signal calculated thereby, the prediction signal generated by the prediction signal generation unit 24, Are added together to generate a decoded signal and output as a decoded image.
  • the decoded signal decoded by the predictive decoding unit 25 is stored in the reference image memory 26 for later predictive decoding.
  • FIG. 9 is a flowchart of video decoding processing executed by the video decoding device 20.
  • processing with a luminance signal is assumed unless otherwise specified.
  • the present invention can be applied not only to a luminance signal but also to a color difference signal.
  • step S601 the variable length decoding unit 21 acquires frame header information from the input bit stream.
  • step S602 the region division mode (mode number) necessary for determination of switching the interpolation filter coefficient in the screen is decoded. Additional information required according to the mode number is also decoded in step S602.
  • step S603 various interpolation filter coefficients necessary for interpolation of the decimal precision pixels of the reference image are decoded, and an interpolation filter coefficient group for each region is acquired.
  • step S604 various types of encoded information such as motion vectors (MV) are decoded.
  • MV motion vectors
  • step S605 the region determination unit 22 determines which region belongs to each block according to the definition of the region division mode obtained in step S602, and acquires a region number.
  • step S606 the interpolation filter coefficient switching unit 23 selects an optimal interpolation filter coefficient from the group of interpolation filter coefficients obtained in step S603 from the area number obtained in step S605, and performs reference image interpolation. Notification to the unit 241.
  • the reference image interpolation unit 241 restores the decimal precision pixels of the reference image using an interpolation filter determined by the notified interpolation filter coefficient.
  • the prediction signal generation unit 24 After restoration of the decimal precision pixels, the prediction signal generation unit 24 generates a prediction signal of the decoding target block using the motion vector decoded in step S604.
  • step S607 the variable length decoding unit 21 decodes the prediction residual signal of the decoding target block from the input bit stream.
  • step S608 the predictive decoding unit 25 adds the prediction signal obtained in step S606 and the prediction residual signal obtained in step S607 to generate a decoded signal.
  • the generated decoded signal is output as a decoded image and stored in the reference image memory 26.
  • steps S601 to S608 are repeated until the decoding of all the frames is completed.
  • the process is terminated (step S609).
  • the above video encoding and decoding processes can be realized by a computer and a software program, and the program can be recorded on a computer-readable recording medium or provided through a network.
  • the present invention can be applied to a video encoding / decoding method and a video encoding / decoding device having a function for changing an interpolation filter coefficient within a screen, and an optimal region division method can be selected in a plurality of frames or slices. Therefore, it is possible to switch the interpolation filter coefficient in consideration of the temporal and spatial locality of the image. Accordingly, it is possible to improve the coding efficiency by reducing the prediction error energy.

Landscapes

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

Abstract

 本発明の映像符号化装置は、時空間で補間フィルタ係数の最適値が変化する画像の符号化において,動き補償画面内予測の残差エネルギーを低減し,符号化効率の改善を図る。この映像符号化装置において、領域分割部は,複数用意された領域分割手法の中から1つずつ順番に領域分割手法を選択し,符号化対象画像の領域を分割する。補間フィルタ係数切り替え部は,分割された領域ごとに小数精度画素の補間フィルタを切り替え,予測符号化部で予測符号化する。領域分割モード判定部は,各領域分割手法ごとに算出されたレート歪みコストの中でコストが最小となる領域分割手法を選択する。その選択された領域分割手法を用いて,予測符号化部および可変長符号化部は符号化対象画像を符号化する。領域分割手法を示す情報も可変長符号化され,デコーダへ送られる。

Description

映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
 本発明は,補間フィルタ係数の画面内変更機能を有する映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラムに関するものである。
 本願は、2010年8月12日に、日本に出願された特願2010-180814号に基づき優先権を主張し、その内容をここに援用する。
 映像符号化において,異なる画面間で予測を実行する画面間予測(動き補償)符号化では,すでに復号されたフレームを参照して,予測誤差エネルギーなどを最小にするように動きベクトルが求められる。その動きベクトルの残差信号が直交変換され,量子化が施され,エントロピー符号化を経て,バイナリーデータとなる。符号化効率を高めるためには,より予測精度の高い予測方式が求められ,予測誤差エネルギーの低減が不可欠である。
 映像符号化標準方式には数多くの画面間予測の精度を高めるためのツールが導入されている。例えば,H.264/AVC(Advanced Video Coding)では,直近のフレームにオクルージョンが存在する場合には,時間的に少し離れたフレームを参照したほうが予測誤差エネルギーを低減できるため,複数のフレームを参照可能としている。本ツールを複数参照フレーム予測と呼ぶ。
 また,複雑な形状の動きにも対応可能とするために,16×16および8×8に加えて,16×8,8×16,8×4,4×8,4×4というように,ブロックサイズを細かく分割可能としている。本ツールを可変ブロックサイズ予測と呼ぶ。
 これらと同様に,参照フレームの整数精度画素から6タップ(tap)のフィルタを用いて1/2精度の画素を補間し,さらにその画素を利用して1/4精度の画素を線形補間で生成する。これにより,非整数精度の動きに対して予測が当たるようになる。本ツールを1/4画素精度予測と呼ぶ。
 H.264/AVCよりも符号化効率の高い次世代映像符号化標準方式の策定に向け,国際標準化組織ISO/IEC“MPEG”(International Organization for Standardization/International Electrotechnical Commission “Moving Picture Experts Group”)やITU-T“VCEG”(International Telecommunication Union-Telecommunication Standardization Sector “Video Coding Experts Group”)において,現在世界各国から様々な提案が集められている。その中で特に画面間予測(動き補償)に関連する提案は多くなされており,VCEGが主導で作成している次世代映像符号化向けソフトウェア(以下,KTA(Key Technical Area)ソフトウェア)には,動きベクトルの符号量を削減するツールや,ブロックサイズを16×16以上に拡張するツールが採用されている。
 特に,小数精度画素の補間フィルタ係数を適応的に変化させるツールは適応補間フィルタと呼ばれ,ほぼ全ての画像で効果があり,最初にKTAソフトウェアに採用された。MPEGとVCEGとが共同で進めている次世代映像符号化標準策定のためのグループJCT-VC(Joint Collaborative Team on Video Coding)が発行した新符号化テストモデルの募集(Call for Proposal) に対しての寄書にも,本技術は数多く採用されている。符号化効率向上への寄与が高いため,今後適応補間フィルタの性能改善は非常に期待される領域と考えられる。
 現在,以上のような状況であるが,映像符号化における補間フィルタとしては,従来,次のようなフィルタが用いられていた。
 〔固定的補間〕
 過去の映像符号化標準方式MPEG-1/2/4においては,図10に示されるように,1/2精度の画素を補間するために,両隣の2点の整数精度画素(単に整数画素ともいう)から加算平均を用いて補間画素を生成していた。すなわち,2点の整数画素に対して,[1/2,1/2]の平均値フィルタを施していることになる。非常に単純な処理のため,計算複雑度の観点からみると効果的であるが,1/4精度の画素を求める上ではフィルタの性能としては高くはない。
 一方,H.264/AVCにおいては,1/2画素位置の画素を補間するときは,対象となる補間画素の左右3点ずつ計6整数画素を用いて補間を行う。垂直方向については上下3点ずつ計6整数画素を用いて補間する。フィルタ係数は,それぞれ[(1,-5,20,20,-5,1)/32]となっている。1/2精度の画素が補間された後,1/4精度の画素は[1/2,1/2]の平均値フィルタを用いて補間を行う。一度,1/2精度画素を全て補間して求める必要があるため,計算複雑度は高いものの,より性能の高い補間が可能となり,符号化効率向上を導いている。
 H.264/AVCの補間処理の一例を図11に示す。以上の詳細は,非特許文献1,非特許文献2,および非特許文献3に示されている。
 〔適応的補間〕
 H.264/AVCでは,入力画像条件(シーケンス種類/画像サイズ/フレームレート)や符号化条件(ブロックサイズ/GOP(Group of Pictures)構造/QP(Quantization Parameter))に関わらず,フィルタ係数値は一定である。フィルタ係数値が固定である場合,例えば,エイリアシング,量子化誤差,動き推定による誤差,カメラノイズといった時間的に変化する効果が考慮されていない。したがって,符号化効率の点で性能向上に限界があると考えられる。そこで,補間フィルタ係数を適応的に変化させる方式が,非特許文献4に提案されており,非分離型の適応補間フィルタと呼ばれている。
 非特許文献4では,2次元の補間フィルタ(6×6の計36フィルタ係数)を考えており,予測誤差エネルギーを最小にするようにフィルタ係数が決定される。この方式では、H.264/AVCに用いられている1次元6タップの固定補間フィルタを用いるよりも高い符号化効率が実現できたが,フィルタ係数を求める上での計算複雑度が非常に高いため,その計算複雑度を低減するための提案が,非特許文献5で紹介されている。
 この非特許文献5で紹介されている手法は,分離型適応補間フィルタ(SAIF:Separable Adaptive Interpolation Filter)と呼ばれ,2 次元の補間フィルタを用いるのではなく,1次元の6タップ補間フィルタを用いる。
 図12A~図12Cは,分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法を示す図である。手順としては,図12BのStep1に示すように,まず水平方向の画素(a,b,c)を補間する。フィルタ係数の決定には,整数精度画素C1からC6が用いられる。式(1)の予測誤差エネルギー関数E 2 を最小化するような水平方向フィルタ係数が,一般に知られた最小二乗法(非特許文献4参照)により,解析的に決定される。
Figure JPOXMLDOC01-appb-M000001
 ここで,Sは原画像,Pは復号済み参照画像,xおよびyはそれぞれ画像中の水平および垂直方向の位置を示す。また,~x(~はxの上に付く記号;他も同様)は,~x=x+MVx - FilterOffset であり,MVxは事前に得られた動きベクトルの水平成分,FilterOffsetは,調整のためのオフセット(水平方向フィルタ長を2で割った値)を示している。垂直方向については,~y=y+MVy となり,MVy は動きベクトルの垂直成分を示す。wciは求めるべき水平方向フィルタ係数群ci (0≦ci <6)を示す。
 式(1)によって求められるフィルタ係数と同じ数の一次方程式が得られることになり,最小化処理は,水平方向の各小数画素位置ごとに独立に実施される。この最小化処理を経て,3種類の6タップフィルタ係数群が求まり,そのフィルタ係数を用いて小数精度画素a,b,cが補間される。
 水平方向の画素補間が完了した後,図12CのStep2に示すように,垂直方向の補間処理を実施する。水平方向と同様の線形問題を解くことで垂直方向のフィルタ係数を決定する。具体的には式(2)の予測誤差エネルギー関数E 2 を最小化するような垂直方向フィルタ係数が,解析的に決定される。
Figure JPOXMLDOC01-appb-M000002
 ここで,Sは原画像,^P(^はPの上に付く記号)は復号後に水平方向に補間処理された画像,xおよびyはそれぞれ画像中の水平および垂直方向の位置を示す。また,~x=4・(x+MVx )で表現され,MVx は丸められた動きベクトルの水平成分を示す。垂直方向については,~y=y+MVy - FilterOffset で表現され,MVyは動きベクトルの垂直成分,FilterOffsetは,調整のためのオフセット(フィルタ長を2で割った値)を示す。wcjは求めるべき垂直方向フィルタ係数群cj (0≦cj <6)を示す。
 最小化処理は,各小数精度画素ごとに独立に実施され,12種類の6タップフィルタ係数群が得られる。このフィルタ係数を用いて,残りの小数精度画素が補間される。
 以上により,合計90(=6×15)のフィルタ係数を符号化して復号側に伝送する必要がある。特に低解像度の符号化については,このオーバーヘッドが大きくなるため,フィルタの対称性を用いて,伝送すべきフィルタ係数を削減している。例えば,図12A~図12Cではb,h,i,j,kの位置は各整数精度画素から中心に位置しており,水平方向であれば,左3点に用いる係数を反転させて右3点に適用できる。同様に,垂直方向であれば,上3点に用いる係数を反転させて下3点に適用できる(c1 =c6 ,c2 =c5 ,c3 =c4 )。
 他にもdとlの関係はhを挟んで対称となっているため,フィルタ係数もそれぞれ反転して利用できる。すなわち,dの6係数を伝送すれば,その値をlにも適用できる。c(d)1 =c(l)6 ,c(d)2 =c(l)5 ,c(d)3 =c(l)4 ,c(d)4 =c(l)3 ,c(d)5 =c(l)2 ,c(d)6 =c(l)1 となる。この対称性は,eとm,fとn,そしてgとoにも利用可能となる。aとcについても同様の理論が成立するが,水平方向は垂直方向の補間にも結果が影響を及ぼすため,対称性は用いずに,aとcはそれぞれ別々に伝送を行う。以上の対称性を利用した結果,フレームごとに伝送すべきフィルタ係数は51(水平方向が15,垂直方向が36)となる。
 以上,非特許文献5の適応補間フィルタは,予測誤差エネルギーの最小化処理の単位がフレームで固定されていた。1枚のフレームに対して,51のフィルタ係数が決定される。符号化対象フレームが仮に大きな2種類(もしくは複数種類の)テクスチャ領域に分けられる場合,最適なフィルタ係数はその両者(全てのテクスチャ)を考慮した係数群になる。Aの領域では本来垂直方向のみ特徴的なフィルタ係数が出ていたとして,Bの領域で水平方向のみフィルタ係数が得られるような状況では,その両方が平均化された形でフィルタ係数が導出される。
 1枚のフレームにつき1つのフィルタ係数群(51係数)に限定されずに,画像の局所的性質に応じて,複数のフィルタ係数群を用意して切り替えることで,予測誤差エネルギーの低減を達成し,符号化効率の改善を実現する方法が非特許文献6にて提案されている。
 図13Aおよび図13Bに示されるように,符号化対象フレームが性質の異なるテクスチャを含む場合を想定する。図13Aに示すように,フレーム全体として1つのフィルタ係数群を最適化して送る場合,各テクスチャの性質全てを考慮することになる。テクスチャがあまり変わらない場合,全体最適化によるフィルタ係数が最良と考えられるが,相反する性質を有するテクスチャであった場合,図13Bに示すように,テクスチャごとに最適化したフィルタ係数を用いるほうが,フレーム全体の符号量を削減できる。
 このことから,非特許文献6では,1フレームに対して領域分割により複数の最適化されたフィルタ係数群を用いる方法が考えられている。領域分割の手法としては,非特許文献6では,動きベクトル(水平垂直成分,向き)や空間座標(マクロブロック位置,ブロックのx座標やy座標)を採用しており,様々な画像の性質を考慮して領域分割を実施している。
 図14は,非特許文献6に示されるような,従来の領域分割型適応補間フィルタを用いる映像符号化装置の構成例を示している。
 映像符号化装置100において,領域分割部101は,入力した映像信号の符号化対象フレームを,適応的に補間フィルタ係数を切り替える単位となる複数ブロックからなる複数の領域に分割する。補間フィルタ係数切り替え部102は,領域分割部101により分割された領域ごとに,予測符号化における参照画像に対して用いる小数精度画素の補間フィルタ係数を切り替える。この切り替え対象となる補間フィルタ係数としては,例えばフィルタ係数最適化部1021によって最適化されたフィルタ係数を用いる。フィルタ係数最適化部1021は,領域ごとに,原画像と補間後の参照画像との予測誤差エネルギーが最小となる補間フィルタ係数を算出する。
 予測信号生成部103は,参照画像補間部1031と動き検出部1032とを備える。参照画像補間部1031は,参照画像メモリ107に格納された復号済み参照画像に,補間フィルタ係数切り替え部102が選択した補間フィルタ係数による補間フィルタを適用する。動き検出部1032は,補間後の参照画像に対して動き探索を行うことにより,動きベクトルを算出する。予測信号生成部103は,動き検出部1032によって算出された小数精度の動きベクトルによる動き補償により予測信号を生成する。
 予測符号化部104は,入力映像信号と予測信号との残差信号を算出し,それを直交変換し,変換係数の量子化などによって予測符号化を行う。また,復号部106は,予測符号化の結果を復号し,復号画像を後の予測符号化のために参照画像メモリ107に格納する。
 可変長符号化部105は,量子化された変換係数,動きベクトルを可変長符号化するとともに,領域ごとに補間フィルタ係数切り替え部102が選択した補間フィルタ係数を可変長符号化し,これらを符号化ビットストリームとして出力する。
 図15は,従来の領域分割型適応補間フィルタを用いる映像復号装置の構成例を示している。図14に示す映像符号化装置100によって符号化されたストリームは,図15に示す映像復号装置200によって復号される。
 映像復号装置200において,可変長復号部201は,符号化ビットストリームを入力して,量子化変換係数,動きベクトル,補間フィルタ係数群などの復号を行う。領域判定部202は,復号対象フレームについて適応的に補間フィルタ係数を切り替える単位となる領域を判定する。補間フィルタ係数切り替え部203は,領域判定部202により判定された領域ごとに,可変長復号部201で復号した補間フィルタ係数を切り替える。
 予測信号生成部204における参照画像補間部2041は,参照画像メモリ206に格納された復号済み参照画像に,補間フィルタ係数切り替え部203から受け取った補間フィルタ係数による補間フィルタを適用し,参照画像の小数精度画素の復元を行う。予測信号生成部204は,小数精度画素の復元が行われた参照画像から,復号対象ブロックの予測信号を生成する。
 予測復号部205は,可変長復号部201で復号した量子化係数の逆量子化,逆直交変換などを行い,それにより算出された予測残差信号と,予測信号生成部204が生成した予測信号とを足し合わせて復号信号を生成し,復号画像として出力する。また,予測復号部205が復号した復号画像は,後の予測復号のために,参照画像メモリ206に格納する。
原島博, 酒井善則, 吉田俊之: "映像情報符号化",オーム社, pp.135-136, 2001 大久保榮, 角野眞也, 菊池義浩, 鈴木輝彦: "H.264/AVC教科書改訂三版",インプレス, pp.119-123, 2009 I. E. G. Richardson, G. J. Sullivan:"H.264 and MPEG-4 VIDEO COMPRESSION", WILEY, pp.172-175, 2003 Y. Vatis, B. Edler, D. T. Nguyen , J. Ostermann:"Motion and aliasing-compensated prediction using a two-dimensional non-separable adaptive Wiener interpolation filter ", Proc. ICIP2005, IEEE International Conference on Image Processing, pp.II 894-897, Genova, Italy, Sep. 2005 S. Wittmann, T. Wedi: "Separable adaptive interpolation filter for video coding",Proc. ICIP2008, IEEE International Conference on Image Processing, pp.2500-2503, San Diego, California,  USA, Oct. 2008 松尾翔平,高村誠之,如澤裕尚: "領域分割機能を有する分離型適応補間フィルタに関する検討", 電子情報通信学会画像工学研究会, pp.113-116, Nov. 2009
 図14に示すような映像符号化装置100が用いる領域分割型適応補間フィルタ(非特許文献6)は,画像の有する局所的性質を考慮して,フレーム内で複数のフィルタ係数群を切り替えることで予測誤差エネルギーを削減して,符号化効率の向上を狙っている。しかしながら,この装置では、最初のフレームで用いた領域分割手法を全フレームに対して施すことになる。映像は時間方向で画面内の性質が変わること(例えば,シーンチェンジなど)もあるため,フレーム単位で分割手法を変更できれば,さらなる符号化効率の改善が見込めると考えられる。
 本発明は,この点に鑑み,時空間で補間フィルタ係数の最適値が変化する画像に対して,最適な領域分割手法をフレームもしくはスライス単位で選択することにより,動き補償画面内予測の残差エネルギーをさらに低減し,符号化効率を向上させることを目的とする。
 上記目的を達成するための方法として,領域分割手法を複数用意し,各手法ごとにレート歪みコストを算出し,このコストを最小化する領域分割手法を選択し,その領域分割手法を示す情報をフラグとして送付する。フレーム単位で複数の領域分割方法を切り替えることで予測誤差エネルギーの低減を達成し,符号化効率の改善を実現する。
 すなわち,本発明は,動き補償を用いる映像符号化方法であって,符号化対象フレーム(またはスライスでもよい)を分割する複数の領域分割手法を用意し,複数の領域分割手法の中から順次1つの分割手法を選び,符号化対象フレームから符号化情報(符号化済みもしくは符号化中に得られる情報)を検出し,検出された符号化情報からフレーム内で領域分割を行い,その分割結果に応じて小数精度画素の補間フィルタを選択し,選択された補間フィルタを用いて小数精度画素の補間を行って符号化を実施し,選ばれた領域分割手法に対してコストを算出して保存し,保存したコストから最良の領域分割手法を選択して,その領域分割手法を示す領域分割モード番号を符号化し,その最良の領域分割手法で符号化を実行する。
 また,本発明は,前記映像符号化方法で符号化された符号化ストリームを復号する映像復号方法であって,領域分割モード番号を復号し,小数精度画素の補間フィルタ係数を復号し,復号対象ブロックから得られる情報を用いてブロック単位で分類を行い,その分類結果に応じて領域分割を行い,分割された領域ごとに小数精度画素の補間フィルタを切り替えて,復号を実行する。
 本発明の作用は,以下のとおりである。従来の領域分割型適応補間フィルタでは,映像1種に対して領域分割手法を1種類しか適用できず,映像全体で時空間的に大きく性質が異なる場合には符号化効率の改善に限界があった。一方,本発明では,補間フィルタ係数を時空間的に最適化することにより,画像の局所性により柔軟に対応可能となり,更なる符号化効率改善が達成できる。
 以上のように,本発明によれば,従来の分離型適応補間フィルタでは対応できなかった,1または複数のフレームもしくはスライス単位で最適な領域分割手法が選択可能となり,画像の時空間的な局所性を考慮した補間フィルタ係数の切り替えが可能となる。したがって、予測誤差エネルギーの低減による符号化効率改善が達成できる。
本発明の一実施形態の映像符号化装置を示すブロック図である。 本発明の一実施形態の映像符号化装置の動作を示すフローチャートである。 本発明の一実施形態の映像符号化装置における、領域分割モードを定義する分割テーブルの一例を示す図である。 本発明の一実施形態の映像符号化装置における、動きベクトルの成分による領域分割の動作を示すフローチャートである。 本発明の一実施形態の映像符号化装置における、動きベクトルの成分の分布を示すグラフである。 本発明の一実施形態の映像符号化装置における、動きベクトルの向きによる領域分割の処理を示すフローチャートである。 本発明の一実施形態の映像符号化装置における、動きベクトルの向きによる領域分割の一例を示すグラフである。 本発明の一実施形態の映像符号化装置における、動きベクトルの向きによる領域分割の他の例を示すグラフである。 本発明の一実施形態の映像符号化装置における、動きベクトルの向きによる領域分割のさらに他の例を示すグラフである。 本発明の一実施形態の映像符号化装置における、空間座標による領域分割の処理を示すフローチャートである。 本発明の一実施形態の映像符号化装置における、空間座標による領域分割の一例を示すグラフである。 本発明の一実施形態の映像符号化装置における、空間座標による領域分割の他の例を示すグラフである。 本発明の一実施形態の映像符号化装置における、動きベクトルの向きによる領域分割(領域数が4の場合)の処理を示すフローチャートである。 本発明の一実施形態の映像符号化装置における、動きベクトルの向きによる領域分割の一例を示すグラフである。 本発明の一実施形態の映像符号化装置における、領域番号の定義を示す表である。 本発明の一実施形態の映像復号装置を示すブロック図である。 本発明の一実施形態の映像復号処理の動作を示すフローチャートである。 従来の映像符号化標準方式における非整数精度の画素補間方法を示す図である。 H.264/AVCにおける非整数精度の画素補間方法の例を示す図である。 分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法を示す図である。 分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法の一工程を示す図である。 分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法の他の工程を示す図である。 従来の適応補間フィルタと領域分割型適応補間フィルタとの比較の一例を示す図である。 従来の適応補間フィルタと領域分割型適応補間フィルタとの比較の他の例を示す図である。 従来の領域分割型適応補間フィルタを用いる映像符号化装置を示すブロック図である。 従来の領域分割型適応補間フィルタを用いる映像復号装置を示すブロック図である。
 以下,図面を用いながら,本発明の実施の形態を説明する。なお,例として,フレーム単位で領域を分割する方法を説明するが,スライス単位で領域を分割してもよく,また,2,3枚などの複数枚のフレームで領域分割を定めてもよい。
  〔映像符号化装置〕
 図1は,本発明の一実施形態に係る映像符号化装置の構成例を示す図である。映像符号化装置10は,複数の領域分割手法(領域分割モードという)によって領域を分割し,それぞれの領域分割モードの中で符号化コストが最小となる領域分割による領域分割型適応補間フィルタを用いて,小数精度画素の補間を行い,小数精度の動き補償によって符号化を行う装置である。この映像符号化装置は、適応補間フィルタを切り替える単位となる領域の分割を,複数の領域分割モードの中から選択する点が,図14に示す従来の映像符号化装置100と異なる。
 映像符号化装置10において,領域分割部11は,入力した映像信号の符号化対象フレームを,適応的に補間フィルタ係数を切り替える単位となる複数ブロックからなる複数の領域に分割する。この領域の分割では,領域分割モードが複数用意されており,複数の領域分割モードから順番に選択された1つの領域分割モードに従って,それぞれ領域が分割される。
 補間フィルタ係数切り替え部12は,領域分割部11により分割された領域ごとに,予測符号化における参照画像に対して用いる小数精度画素の補間フィルタ係数を切り替える。この切り替え対象となる補間フィルタ係数としては,領域分割部11により分割された領域ごとに,原画像と補間後の参照画像との予測誤差エネルギーが最小となる最適化された補間フィルタ係数が用いられる。
 予測信号生成部13は,参照画像補間部131と動き検出部132とを備える。参照画像補間部131は,参照画像メモリ18に格納された復号済み参照画像に,補間フィルタ係数切り替え部12が選択した補間フィルタ係数による補間フィルタを適用する。動き検出部132は,補間後の参照画像に対して動き探索を行うことにより,動きベクトルを算出する。予測信号生成部13は,動き検出部132によって算出された小数精度の動きベクトルによる動き補償により予測信号を生成する。
 予測符号化部14は,入力映像信号と予測信号との残差信号を算出し,それを直交変換し,変換係数の量子化などによって予測符号化を行う。
 領域分割モード判定部15は,領域分割部11が選択した領域分割モードごとに予測符号化部14が符号化した結果のレート歪み(RD)コストを保存し,最もレート歪みコストが小さくなる領域分割モードを選ぶ。
 可変長符号化部16は,領域分割モード判定部15が選択した領域分割モード(例えばモード番号)を可変長符号化する。また,可変長符号化部16は,領域ごとに補間フィルタ係数切り替え部12が選択した補間フィルタ係数を可変長符号化する。さらに,可変長符号化部16は,最終的に選択された領域分割モードでの予測符号化部14が出力する量子化された変換係数,動き検出部132が出力する動きベクトルを可変長符号化する。可変長符号化部16は,これらの符号化情報を符号化ビットストリームとして出力する。
 復号部17は,予測符号化部14による予測符号化の結果を復号し,復号信号を後の予測符号化のために参照画像メモリ18に格納する。
 〔映像符号化装置の処理フロー〕
 図2は,映像符号化装置10が実行する映像符号化処理のフローチャートである。以下では,特に断りがない限り,輝度信号での処理を仮定して説明するが,本例で述べている最適な領域分割を選んで,領域単位で補間フィルタ係数を切り替えて符号化する機能は,輝度信号だけでなく,色差信号にも適用可能である。
 まず,ステップS101では,符号化対象のフレームを入力する。次に,ステップS102では,入力したフレームをブロック(例えば,16×16や8×8といった従来の動き予測のブロックサイズ)に分割し,動き検出部132により,ブロック単位で最適な動きベクトルを算出する。ステップS102における参照画像の小数精度画素の補間には,従来のH.264/AVCによる固定6タップフィルタを用いる。
 続いて,ステップS103では,領域分割部11が,用意した複数の領域分割モードの中から順番に1つの領域分割モードを選択し,選択した領域分割モードに対してステップS110までの処理を繰り返す。領域分割モードの例の詳細については,図3を用いて後述する。
 ステップS104では,領域分割部11が,ステップS103にて選択した領域分割モードに応じた領域分割を行う。
 ステップS105からS108では,ステップS104の領域分割の結果から,領域ごとに最適化処理を行う。まず,ステップS105では,予測誤差エネルギー関数である式(3)を用いて,水平方向の各小数精度画素に対する補間フィルタ係数の最適化処理を行う。
Figure JPOXMLDOC01-appb-M000003
 ここで,αm,nは各領域を示しており,mは領域分割モード番号,nは特定の領域分割モードにおける領域番号,Sは原画像,Pは復号済み参照画像,xおよびyはそれぞれ画像中の水平および垂直方向の位置を示す。また,~x(~はxの上に付く記号)は,~x=x+MVx - FilterOffset であり,MVxは事前に得られた動きベクトルの水平成分,FilterOffsetは調整のためのオフセット(水平方向フィルタ長を2で割った値)を示している。垂直方向については,~y=y+MVy となり,MVy は動きベクトルの垂直成分を示す。wciは求めるべき水平方向フィルタ係数群ci (0≦ci <6)を示す。
 続いて,ステップS106では,ステップS105で得られた水平方向の補間フィルタ係数を用いて,フレーム内の各領域ごとに独立して,水平方向の小数画素補間(図12におけるa,b,cの補間)を実施する。
 ステップS107では,垂直方向の補間フィルタ係数の最適化処理を実施する。垂直方向の予測誤差エネルギー関数である式(4)を用いて,垂直方向の各小数画素に対する補間フィルタ係数の最適化処理を行う。
Figure JPOXMLDOC01-appb-M000004
 ここで,αm,n は各領域を示しており,mは領域分割モード番号,nは特定の領域分割モードにおける領域番号,Sは原画像,^P(^はPの上に付く記号)はステップS105にて水平方向に補間処理された画像,xおよびyはそれぞれ画像中の水平および垂直方向の位置を示す。また,~x=4・(x+MVx )であり,MVx は丸められた動きベクトルの水平成分を示す。垂直方向については,~y=y+MVy - FilterOffset で表現され,MVyは動きベクトルの垂直成分,FilterOffsetは調整のためのオフセット(フィルタ長を2で割った値)を示す。wcjは求めるべき垂直方向フィルタ係数群cj (0≦cj <6)を示す。
 ステップS108にて,ステップS107で得られた垂直方向の補間フィルタ係数を用いて,フレーム内の各領域ごとに独立して,垂直方向の小数画素補間(図12におけるd~oの補間)を実施する。
 続いて,ステップS109にて,ステップS108で得られた垂直方向に補間された画像を参照画像として,再度動きベクトルの算出を行う。
 ステップS110では,ステップS103で選択した領域分割モードに対するレート歪みコスト(RDコスト)を算出し,保存を行う。ステップS103からステップS110までの処理を,用意された領域分割モードに対して全て実行する。
 続いて,ステップS111では,領域分割モード判定部15が,用意された複数の領域分割モードの中で最小のレート歪みコストを実現する最適な領域分割モードを決定する。
 続いて,ステップS112では,可変長符号化部16が,ステップS111にて決定された最適な領域分割モードを符号化する。また,ステップS113では,可変長符号化部16が,ステップS112で符号化した領域分割モードにおける補間フィルタ係数を符号化する。さらに,ステップS114では,ステップS111にて決定された領域分割モードにおける,残りの符号化すべき情報(動きベクトル,DCT係数など)の符号化を行う。
 〔領域分割モード〕
 次に,本実施形態で用いる領域分割モードの例について説明する。
 図3は,領域分割モードを定義する分割テーブルの一例を示す図である。図3において,Thx1,Thx2,Thy1,Thy2は,動きベクトル(MV)のヒストグラムから求まる閾値,MVx は,動きベクトルの水平成分,MVy は動きベクトルの垂直成分,x,yはフレーム内のブロック位置を示す空間座標,Fx はフレームの横幅,Fy はフレームの縦幅を表す。
 図3に示す例では,最大領域数を2で固定しているが,領域数を3以上に設定することもできる。ここでは,領域分割モードとして,領域分割モード番号(以下,単にモード番号という)が0から7までの8種類の分割手法が用意されている。
 〔モード番号=0〕
 モード番号0は,フレーム内の領域を分割しない場合であり,従来の適応補間フィルタ(AIF:Adaptive Interpolation Filter)を用いる場合である。
 〔モード番号=1,2〕
 モード番号1は,動きベクトルのx成分(MVx )に着目して領域を分割するモードであり,MVx が閾値Thx1,Thx2の間にあれば第1の領域(領域1),閾値Thx1,Thx2の外にあれば第2の領域(領域2)として分割する。
 モード番号2は,動きベクトルのy成分(MVy )に着目して領域を分割するモードであり,MVy が閾値Thy1,Thy2の間にあれば第1の領域(領域1),閾値Thy1,Thy2の外にあれば第2の領域(領域2)として分割する。
 図4Aは,動きベクトルの成分(モード番号1または2)による領域分割の処理フローを示している。まず,ステップS201では,符号化対象フレームについてブロック単位で動きベクトルを取得する。ステップS202では,動きベクトルのx成分(モード番号1のとき)またはy成分(モード番号2のとき)のヒストグラムを生成する。ステップS203では,ヒストグラムから閾値を計算する。ステップS204では,ステップS203で計算した閾値と動きベクトルの成分との大小関係から,領域番号(領域1または領域2)を決定する。
 ステップS203における閾値の計算について,図4Bのモード番号1の場合を例に説明する。図4Bのグラフの縦軸は,動きベクトルの成分MVx の個数である。ステップS203における閾値Thx1,Thx2は,ヒストグラムにおける領域1と領域2の面積が同じになるように決定する。ステップS202におけるヒストグラム生成時に,MVx の総数が分かるため,最小のMVx からカウントしていき,総数の1/4の個数に達したときのMVx の値を第1の閾値Thx1とし,3/4の個数に達したときのMVx の値を第2の閾値Thx2として定める。モード番号2の水平成分MVy の場合の閾値Thy1,Thy2も同様に決定できる。
 モード番号1またはモード番号2が選択された場合,閾値は符号化して補間フィルタ係数と同様に映像復号装置へ伝送する。
 〔モード番号=3,4,5〕
 モード番号3,4,5は,動きベクトルの向きに着目して領域を分割するモードである。図5Aは,動きベクトルの向き(モード番号3~5)による領域分割の処理フローを示している。まず,ステップS301では,符号化対象フレームについてブロック単位で動きベクトルを取得する。ステップS302では,動きベクトルの向きを判定する。ステップS303では,動きベクトルの向きによって領域番号(領域1または領域2)を決定する。
 モード番号が3の分割モードの場合,図5Bに示すように,動きベクトルが,第一象限か第三象限にあるときに第1の領域(領域1)とし,第二象限か第四象限にあるときに第2の領域(領域2)とする領域分割を行う。
 モード番号が4の分割モードの場合,図5Cに示すように,動きベクトルのx成分MVx が0以上のときに第1の領域(領域1)とし,動きベクトルのx成分MVx が0より小さいときに第2の領域(領域2)とする領域分割を行う。
 モード番号が5の分割モードの場合,図5Dに示すように,動きベクトルのy成分MVy が0以上のときに第1の領域(領域1)とし,動きベクトルのy成分MVy が0より小さいときに第2の領域(領域2)とする領域分割を行う。
 〔モード番号=6,7〕
 モード番号6,7は,空間座標に着目して領域を分割するモードである。図6Aは,空間座標による領域分割の処理フローを示している。まず,ステップS401では,符号化対象ブロックの空間座標を取得する。ステップS402では,ステップS401で取得したブロックの空間座標の値によって領域番号(領域1または領域2)を決定する。
 モード番号が6の分割モードは,図6Bに示すように,画面を左右2つの領域に分割するモードであり,ブロックの空間座標xが,フレームの横幅の半分Fx /2以下のときに第1の領域(領域1)とし,横幅の半分Fx /2より大きいときに第2の領域(領域2)とするモードである。ここで、閾値は横幅の半分に限らず、任意の値を取ることも可能である。閾値を数パターンの座標から選択する場合、閾値を符号化して、映像復号装置へ伝送する。
 モード番号が7の分割モードは,図6Cに示すように,画面を上下2つの領域に分割するモードであり,ブロックの空間座標yが,フレームの縦幅の半分Fy /2以下のときに第1の領域(領域1)とし,縦幅の半分Fy /2より大きいときに第2の領域(領域2)とするモードである。ここで、閾値は縦幅の半分に限らず、任意の値を取ることも可能である。閾値を数パターンの座標から選択する場合、閾値を符号化して、映像復号装置へ伝送する。
 以上が領域数が2の場合の領域分割モードの例であるが,領域数が2以外のモードが混在してもよい。以下に,領域数が4の場合の分割モードの一例を示す。
 〔領域数が4の場合の例〕
 図7Aは,領域数が4の場合の動きベクトルの向きによる領域分割の処理フローを示している。まず,ステップS501では,符号化対象フレームについてブロック単位で動きベクトルを取得する。ステップS502では,動きベクトルの向きを判定する。ステップS503では,動きベクトルの向きによって領域番号(領域1~4)を決定する。
 この分割モードの場合,図7Bおよび図7Cに示すように,動きベクトルが,第一象限にあるときに第1の領域(領域1)とし,第二象限にあるときに第2の領域(領域2)とし,第三象限にあるときに第3の領域(領域3)とし,第四象限にあるときに第4の領域(領域4)とする領域分割を行う。
 〔映像復号装置〕
 図8は,本発明に係る映像復号装置の構成例を示す図である。映像復号装置20は,図1に示す映像符号化装置10が符号化したビットストリームを入力し,領域分割モードに応じて分割された領域ごとに適応補間フィルタを切り替えて小数精度画素の補間を行い,小数精度の動き補償によって復号画像を生成する。映像復号装置20は、領域分割モードに応じて復号対象ブロックの領域を判定し,適応補間フィルタを切り替えて小数精度画素の補間を行う点が,図15に示す従来の映像復号装置200と異なる。
 映像復号装置20において,可変長復号部21は,符号化ビットストリームを入力して,量子化変換係数,動きベクトル,補間フィルタ係数群などの復号を行う。特に領域分割モード復号部211は,映像符号化装置10によって符号化された領域分割手法を示すモード番号を復号する。モード番号によっては、モード番号以外の追加情報(すなわち動きベクトルの閾値や空間座標の閾値)も、合わせて復号する。
 領域判定部22は,領域分割モード復号部211が復号したモード番号が示す領域分割モードに応じて,ブロックの動きベクトルまたは空間座標から復号対象フレームについて適応的に補間フィルタ係数を切り替える単位となる領域を判定する。補間フィルタ係数切り替え部23は,領域判定部22により判定された領域ごとに,可変長復号部21で復号した補間フィルタ係数を切り替える。
 予測信号生成部24における参照画像補間部241は,参照画像メモリ26に格納された復号済み参照画像に,補間フィルタ係数切り替え部23から受け取った補間フィルタ係数による補間フィルタを適用し,参照画像の小数精度画素の復元を行う。予測信号生成部24は,小数精度画素の復元が行われた参照画像から,復号対象ブロックの予測信号を生成する。
 予測復号部25は,可変長復号部21で復号した量子化係数の逆量子化,逆直交変換などを行い,それにより算出された予測誤差信号と,予測信号生成部24が生成した予測信号とを足し合わせて復号信号を生成し,復号画像として出力する。予測復号部25が復号した復号信号は,後の予測復号のために,参照画像メモリ26に格納される。
 〔映像復号装置の処理フロー〕
 図9は,映像復号装置20が実行する映像復号処理のフローチャートである。以下では,特に断りがない限り,輝度信号での処理を仮定して説明するが,輝度信号だけでなく,色差信号にも適用可能である。
 まず,ステップS601では,可変長復号部21が入力ビットストリームからフレームヘッダの情報を取得する。次に,ステップS602では,画面内で補間フィルタ係数を切り替える判定に必要となる領域分割モード(モード番号)を復号する。モード番号に応じて必要となる追加情報も、ステップS602にて復号する。続いて,ステップS603では,参照画像の小数精度画素の補間に必要となる各種補間フィルタ係数の復号を行い,領域ごとの補間フィルタ係数群を取得する。ステップS604では,動きベクトル(MV)などの各種の符号化情報の復号を行う。
 続いて,ステップS605では,領域判定部22が,ステップS602で得られた領域分割モードの定義に従い,ブロック単位でどの領域に属しているかの判定を実施し,領域番号を取得する。
 続いて,ステップS606では,補間フィルタ係数切り替え部23が,ステップS605で得られた領域番号から,ステップS603で得られた補間フィルタ係数群の中から最適な補間フィルタ係数を選択し,参照画像補間部241に通知する。参照画像補間部241は,通知された補間フィルタ係数により定まる補間フィルタを用いて参照画像の小数精度画素の復元を行う。小数精度画素の復元後,予測信号生成部24は,ステップS604で復号した動きベクトルを用いて,復号対象ブロックの予測信号の生成を行う。
 続いて,ステップS607では,可変長復号部21が,入力ビットストリームから復号対象ブロックの予測残差信号の復号を行う。
 続いて,ステップS608では,予測復号部25が,ステップS606で得られた予測信号と,ステップS607で得られた予測残差信号を足し合わせて,復号信号を生成する。生成した復号信号は復号画像として出力するとともに,参照画像メモリ26に格納する。
 以上のステップS601~S608を,全フレームの復号が終了するまで繰り返し,全フレームについての復号が終了したならば,処理を終了する(ステップS609)。
  以上の映像符号化および復号の処理は,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
 以上、本発明の実施形態について図面を参照して説明したが、具体的な構成はこれらの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等(構成の付加、省略、置換、およびその他の変更)も含まれる。本発明は上記説明によって限定されることはなく、添付の請求の範囲によってのみ限定される。
 本発明は,補間フィルタ係数の画面内変更機能を有する映像符号化/復号方法および映像符号化/復号装置に適用することができ、複数のフレームもしくはスライス単位で最適な領域分割手法が選択可能となり,画像の時空間的な局所性を考慮した補間フィルタ係数の切り替えが可能となる。したがって、予測誤差エネルギーの低減による符号化効率改善が達成できる。
 10 映像符号化装置
 11 領域分割部
 12 補間フィルタ係数切り替え部
 13 予測信号生成部
 131 参照画像補間部
 132 動き検出部
 14 予測符号化部
 15 領域分割モード判定部
 16 可変長符号化部
 17 復号部
 18 参照画像メモリ
 20 映像復号装置
 21 可変長復号部
 211 領域分割モード復号部
 22 領域判定部
 23 補間フィルタ係数切り替え部
 24 予測信号生成部
 241 参照画像補間部
 25 予測復号部
 26 参照画像メモリ

Claims (11)

  1.  小数精度の動き補償を用いる映像符号化方法において,
     予め定められた複数の領域分割手法の中から,順次,1つの領域分割手法を選択するステップと,
     前記選択された領域分割手法に従って,符号化対象フレームまたはスライスから符号化済みまたは符号化中に得られる情報をもとにフレームまたはスライス内で領域分割を行い,その分割された領域ごとに小数精度画素の補間フィルタを選択するステップと,
     選択された補間フィルタを用いて参照画像に対する小数精度画素の補間を行い,小数精度の動き補償により予測符号化を行うステップと,
     選択された領域分割手法に対して,符号化のコストを算出して保存するステップと,
     保存した前記コストから前記複数の領域分割手法の中でコストが最小となる領域分割手法を選択して,その選択された領域分割手法を示す情報を符号化するステップと,
     前記選択された領域分割手法を用いて,前記符号化対象フレームまたはスライスの符号化を実行するステップと
     を有する映像符号化方法。
  2.  請求項1記載の映像符号化方法において,
     前記符号化済みまたは符号化中に得られる情報は,符号化対象ブロックの動きベクトルの成分の大きさ,または符号化対象ブロックの動きベクトルの向き,または符号化対象ブロックの位置を示す空間座標を含む
     映像符号化方法。
  3.  請求項1または請求項2記載の映像符号化方法において,
     前記複数の領域分割手法は,
     領域を分割しないモード,符号化対象ブロックの動きベクトルの水平成分の大小によって領域を分割する1または複数のモード,符号化対象ブロックの動きベクトルの向きによって領域を分割する1または複数のモード,符号化対象ブロックの位置を示す空間座標によって領域を分割する1または複数のモードのうち,いずれか複数のモードを含む
     映像符号化方法。
  4.  請求項3記載の映像符号化方法において、
     前記1または複数のモードのうち、選択されたモードに応じて必要となる前記領域分割を行うための閾値情報を符号化するステップを有する映像符号化方法。
  5.  小数精度の動き補償を用いる映像復号方法において,
     符号化時に用いられた領域分割手法を示す情報を復号するステップと,
     小数精度画素の補間フィルタ係数を復号するステップと,
     復号対象ブロックから得られる情報を用いてブロック単位で前記復号により得られた領域分割手法に従う領域の分類を行い,その分類結果に応じて復号対象フレームまたはスライスの領域を分割するステップと,
     分割された前記領域ごとに小数精度画素の補間フィルタを切り替えて,参照画像に対する小数精度画素の補間を行い,小数精度の動き補償により予測復号を行うステップと
     を有する映像復号方法。
  6.  請求項5記載の映像復号方法において,
     前記領域分割手法は,
     領域を分割しないモード,符号化対象ブロックの動きベクトルの水平成分の大小によって領域を分割する1または複数のモード,符号化対象ブロックの動きベクトルの向きによって領域を分割する1または複数のモード,符号化対象ブロックの位置を示す空間座標によって領域を分割する1または複数のモードのうち,いずれか複数のモードを含む
     映像復号方法。
  7.  請求項6記載の映像復号方法において、
     前記1または複数のモードのうち、選択されたモードに応じて必要となる前記領域分割を行うための閾値情報を復号するステップを有する映像復号方法。
  8.  小数精度の動き補償を用いる映像符号化装置において,
     予め定められた複数の領域分割手法の中から,順次,1つの領域分割手法を選択する領域分割部と,
     前記選択された領域分割手法に従って,符号化対象フレームまたはスライスから符号化済みまたは符号化中に得られる情報をもとにフレームまたはスライス内で領域分割を行い,その分割された領域ごとに小数精度画素の補間フィルタを選択する補間フィルタ係数切替え部と,
     選択された補間フィルタを用いて参照画像に対する小数精度画素の補間を行い,小数精度の動き補償により予測符号化を行う予測符号化部と,
     前記選択された領域分割手法に対して,符号化のコストを算出して保存するとともに、保存したコストから前記複数の領域分割手法の中でコストが最小となる領域分割手法を選択して,その領域分割手法を示す情報を符号化する領域分割モード判定部と,
     前記コストが最小となる領域分割手法を用いて,符号化対象フレームまたはスライスの符号化を実行する符号化部と
     を備える映像符号化装置。
  9.  小数精度の動き補償を用いる映像復号装置において,
     符号化時に用いられた領域分割手法を示す情報を復号する領域分割モード復号部と,
     小数精度画素の補間フィルタ係数を復号する可変長復号部と,
     復号対象ブロックから得られる情報を用いてブロック単位で前記復号により得られた領域分割手法に従う領域の分類を行い,その分類結果に応じて復号対象フレームまたはスライスの領域を分割する領域判定部と,
     前記分割された領域ごとに小数精度画素の補間フィルタを切り替えて,参照画像に対する小数精度画素の補間を行い,小数精度の動き補償により予測復号を行う予測復号部と
     を備える映像復号装置。
  10.  請求項1~4のいずれか1項に記載の映像符号化方法を,コンピュータに実行させるための映像符号化プログラム。
  11.  請求項5~7のいずれか1項に記載の映像復号方法を,コンピュータに実行させるための映像復号プログラム。
PCT/JP2011/067963 2010-08-12 2011-08-05 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム WO2012020708A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP11816373.2A EP2592835A4 (en) 2010-08-12 2011-08-05 METHOD AND VIDEO ENCODING DEVICE, METHOD AND VIDEO DECODING DEVICE, AND PROGRAM THEREOF
KR1020137003311A KR20130066660A (ko) 2010-08-12 2011-08-05 영상 부호화 방법, 영상 복호 방법, 영상 부호화 장치, 영상 복호 장치 및 그들의 프로그램
BR112013003066A BR112013003066A2 (pt) 2010-08-12 2011-08-05 método de codificação de vídeo, método de decodificação de vídeo, aparelho de codificação de vídeo, aparelho de decodificação de vídeo, e programa dos mesmos
US13/814,769 US20130136187A1 (en) 2010-08-12 2011-08-05 Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and program thereof
CA2807784A CA2807784A1 (en) 2010-08-12 2011-08-05 Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and program thereof
CN2011800390276A CN103168470A (zh) 2010-08-12 2011-08-05 影像编码方法、影像解码方法、影像编码装置、影像解码装置及它们的程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-180814 2010-08-12
JP2010180814A JP5563403B2 (ja) 2010-08-12 2010-08-12 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム

Publications (1)

Publication Number Publication Date
WO2012020708A1 true WO2012020708A1 (ja) 2012-02-16

Family

ID=45567676

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/067963 WO2012020708A1 (ja) 2010-08-12 2011-08-05 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム

Country Status (9)

Country Link
US (1) US20130136187A1 (ja)
EP (1) EP2592835A4 (ja)
JP (1) JP5563403B2 (ja)
KR (1) KR20130066660A (ja)
CN (1) CN103168470A (ja)
BR (1) BR112013003066A2 (ja)
CA (1) CA2807784A1 (ja)
TW (1) TWI501629B (ja)
WO (1) WO2012020708A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615494A (zh) * 2020-12-04 2022-06-10 咪咕文化科技有限公司 一种图像处理方法、装置及设备

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201406166A (zh) 2012-07-27 2014-02-01 Novatek Microelectronics Corp 視訊編碼方法與視訊編碼裝置
JP6159225B2 (ja) * 2013-10-29 2017-07-05 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
US9967558B1 (en) * 2013-12-17 2018-05-08 Google Llc Adaptive motion search control for variable block size partitions in video coding
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9749642B2 (en) * 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
JP2015185897A (ja) * 2014-03-20 2015-10-22 パナソニックIpマネジメント株式会社 画像符号化方法及び画像符号化装置
CN107079171B (zh) * 2014-10-01 2021-01-29 Lg 电子株式会社 使用改进的预测滤波器编码和解码视频信号的方法和装置
US20160345018A1 (en) * 2015-05-19 2016-11-24 Microsoft Technology Licensing, Llc Video encoding and decoding
US11044490B2 (en) * 2017-09-28 2021-06-22 Sharp Kabushiki Kaisha Motion compensation filter apparatus, image decoding apparatus, and video coding apparatus
CN111163319B (zh) * 2020-01-10 2023-09-15 上海大学 一种视频编码方法
CN117939147B (zh) * 2024-03-25 2024-05-28 北京中星微人工智能芯片技术有限公司 视频编解码装置
CN118381933B (zh) * 2024-06-20 2024-09-13 北京中星微人工智能芯片技术有限公司 高精度编码模式编码方法与高精度编码模式解码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069073A1 (ja) * 2006-11-30 2008-06-12 Ntt Docomo, Inc. 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム
WO2010021108A1 (ja) * 2008-08-18 2010-02-25 パナソニック株式会社 補間フィルタリング方法、画像符号化方法、画像復号方法、補間フィルタリング装置、プログラム、及び集積回路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2279797C (en) * 1999-08-06 2010-01-05 Demin Wang A method for temporal interpolation of an image sequence using object-based image analysis
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
EP2229782A2 (en) * 2008-01-14 2010-09-22 Thomson Licensing Methods and apparatus for de-artifact filtering using multi-lattice sparsity-based filtering
US8462842B2 (en) * 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
US8705622B2 (en) * 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
EP2161936A1 (en) * 2008-09-04 2010-03-10 Panasonic Corporation Locally adaptive filters for video coding controlled by local correlation data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069073A1 (ja) * 2006-11-30 2008-06-12 Ntt Docomo, Inc. 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム
WO2010021108A1 (ja) * 2008-08-18 2010-02-25 パナソニック株式会社 補間フィルタリング方法、画像符号化方法、画像復号方法、補間フィルタリング装置、プログラム、及び集積回路

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
HIROSHI HARASHIMA; YOSHINORI SAKAI; TOSHIYUKI YOSHIDA: "Video Information Encoding", 2001, OHMSHA, LTD, pages: 135 - 136
I. E. G. RICHARDSON; G. J. SULLIVAN: "H.264 and MPEG-4 VIDEO COMPRESSION", WILEY, pages: 172 - 175
RONGGANG WANG ET AL.: "Partition-level adaptive interpolation filter for video coding", MULTIMEDIA AND EXPO, 2009. IEEE INTERNATIONAL CONFERENCE, 3 July 2009 (2009-07-03), pages 157 - 160, XP031510716 *
S. WITTMANN; T. WEDI: "Separable adaptive interpolation filter for video coding", PROC. ICIP2008, IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, October 2008 (2008-10-01), pages 2500 - 2503, XP031374548
SAKAE OKUBO; SHINYA KADONO; YOSHIHIRO KIKUCHI; TERUHIKO SUZUKI: "H.264/AVC Textbook, 3rd Revised Edition", 2009, IMPRESS R&D, pages: 119 - 123
See also references of EP2592835A4
SHOHEI MATSUO ET AL.: "Region-based adaptive interpolation filter", JCTVC-B051 (JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/ SC29/WG11), JCTVC-B051, 16 July 2010 (2010-07-16), XP030007631 *
SHOHEI MATSUO; SEISHI TAKAMURA; HIROHISA JOZAWA: "Separable Adaptive Interpolation Filter with Region Dividing Technique for Motion Compensation", INSTITUTE OF ELECTRONIC, INFORMATION AND COMMUNICATION ENGINEERING, IMAGE ENGINEERING, November 2009 (2009-11-01), pages 113 - 116
Y. VATIS; B. EDLER; D. T. NGUYEN; J. OSTERMANN: "Motion and aliasing-compensated prediction using a two-dimensional non-separable adaptive Wiener interpolation filter", PROC. ICIP2005, IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, September 2005 (2005-09-01), pages 11 894 - 897

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615494A (zh) * 2020-12-04 2022-06-10 咪咕文化科技有限公司 一种图像处理方法、装置及设备

Also Published As

Publication number Publication date
KR20130066660A (ko) 2013-06-20
TW201215154A (en) 2012-04-01
EP2592835A1 (en) 2013-05-15
BR112013003066A2 (pt) 2018-01-30
CN103168470A (zh) 2013-06-19
TWI501629B (zh) 2015-09-21
EP2592835A4 (en) 2016-05-18
JP5563403B2 (ja) 2014-07-30
US20130136187A1 (en) 2013-05-30
JP2012044239A (ja) 2012-03-01
CA2807784A1 (en) 2012-02-16

Similar Documents

Publication Publication Date Title
JP5563403B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
JP5485851B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
JP5649523B2 (ja) 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
JP2010258740A (ja) 画像処理装置および方法、並びにプログラム
US9609318B2 (en) Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and programs thereof
JP5649524B2 (ja) 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
JP2011082725A (ja) 映像符号化方法,映像符号化装置,映像復号方法,映像復号装置,映像符号化・復号方法,およびプログラム
JP5762243B2 (ja) 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
JP5488684B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP2013059132A (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: 11816373

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 20137003311

Country of ref document: KR

Kind code of ref document: A

Ref document number: 2807784

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2011816373

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13814769

Country of ref document: US

Ref document number: 2011816373

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013003066

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013003066

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130207