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

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

Info

Publication number
WO2012020800A1
WO2012020800A1 PCT/JP2011/068286 JP2011068286W WO2012020800A1 WO 2012020800 A1 WO2012020800 A1 WO 2012020800A1 JP 2011068286 W JP2011068286 W JP 2011068286W WO 2012020800 A1 WO2012020800 A1 WO 2012020800A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
interpolation filter
reference image
unit
region
Prior art date
Application number
PCT/JP2011/068286
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 CA2807327A priority Critical patent/CA2807327C/en
Priority to KR1020137001194A priority patent/KR20130055631A/ko
Priority to PL11816464T priority patent/PL2590410T3/pl
Priority to KR1020157035181A priority patent/KR20160003869A/ko
Priority to US13/814,144 priority patent/US9609318B2/en
Priority to BR112013002733A priority patent/BR112013002733A2/pt
Priority to CN201180035072.4A priority patent/CN103069803B/zh
Priority to EP11816464.9A priority patent/EP2590410B1/en
Publication of WO2012020800A1 publication Critical patent/WO2012020800A1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Definitions

  • the present invention relates to a video encoding / decoding technique for improving performance of an adaptive interpolation filter in video encoding using motion compensation.
  • inter-frame prediction (motion compensation) coding in which prediction is performed between different screens, a motion vector is obtained so as to minimize prediction error energy etc. by referring to already decoded frames.
  • the residual signal is orthogonally transformed, quantized, entropy coded, and converted into binary data.
  • a prediction method with higher prediction accuracy is required, and reduction of prediction error energy is indispensable.
  • 16 ⁇ 16 and 8 ⁇ 8 16 ⁇ 8, 8 ⁇ 16, 8 ⁇ 4, 4 ⁇ 8, 4 ⁇ 4, etc.
  • 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.
  • H. ITU / IEC “MPEG” International Organization / for Standardization / International Electrotechnical Commission “Moving Picture Experts Group”
  • T “VCEG” International Telecommunication Union-Telecommunication Standardization Sector “Video Coding Experts Group”.
  • 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
  • MPEG-4 Part 2 generates pixels with 1 ⁇ 2 pixel accuracy using an average filter, but Advanced Simple Profile (ASP) also supports motion compensation with 1 ⁇ 4 pixel accuracy.
  • the position of 1/2 pixel is calculated using a one-dimensional 8-tap filter as shown in FIG. 15B. Thereafter, the 1/4 pixel position is derived by an average value filter.
  • the filter coefficients are [(1, -5, 20, 20, -5, 1) / 32], respectively.
  • the 1 ⁇ 4 pixel position is interpolated using an average value filter of [1/2, 1/2]. Since it is necessary to interpolate all 1 ⁇ 2 pixel positions once, calculation complexity is high, but high-performance interpolation is possible, leading to improved coding efficiency. Details of the above-described fixed interpolation filter are shown 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 has been 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. H. 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 method 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
  • 16A to 16C 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.
  • the interpolation process in the vertical direction is performed as shown in Step 2 of FIG. 16C.
  • 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 Expression (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 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.
  • Non-Patent Document 6 considers a method 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 considers various image properties. Area division.
  • FIG. 18 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.
  • the decoding unit 106 decodes the result of predictive coding, and stores the decoded signal in the reference image memory 107 for later predictive coding.
  • 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. 19 shows a configuration example of a video decoding apparatus using a conventional region division type adaptive interpolation filter.
  • the stream encoded by the video encoding device 100 shown in FIG. 18 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 signal 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 device 100 as shown in FIG. 18 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. However, attention is paid to motion vectors and spatial coordinates in performing region division, and image texture components are not taken into consideration.
  • the edge information of the image is considered to be one of the important indexes indicating the locality of the image. Therefore, it is considered that the encoding efficiency can be further improved by adopting it in the region segmentation method.
  • the present invention improves coding efficiency by optimizing filter coefficients and further reducing residual energy by segmenting the edge of the reference image as a feature quantity. For the purpose.
  • the edge component is calculated from the reference image and the region division is performed.
  • the texture information of the image can be used for region division, and the encoding efficiency can be improved by reducing the prediction error energy.
  • the present invention is a video coding method using motion compensation, which acquires a reference image indicated by a motion vector and calculates edge information from the obtained reference image. A region is divided in the frame from the calculated edge information, and the interpolation filter coefficient of the decimal precision pixel is optimized in each region. Thereafter, encoding is performed by interpolating decimal precision pixels using the optimized interpolation filter.
  • the present invention is also a video decoding method for decoding an encoded stream encoded by the video encoding method, wherein a reference image obtained from a decoded motion vector by decoding interpolation filter coefficients of decimal precision pixels is decoded. Edge information is calculated from The region is determined using the calculated edge information, and the interpolation filter for the decimal precision pixel is switched for each region, the decimal precision pixel is interpolated, and decoding is performed.
  • the operation of the present invention is as follows.
  • the conventional area segmentation type adaptive interpolation filter employs an area segmentation method that uses motion vectors and spatial coordinates, and cannot perform segmentation using image texture information, and can fully consider the locality of the image. There wasn't.
  • the influence of the texture of the image can be absorbed, the region segmentation function can be made flexible, and the encoding efficiency can be improved.
  • the present invention it is possible to perform region division using texture (edge) information, which cannot be taken into consideration by the conventional separable adaptive interpolation filter, and to provide a wide range of region division types.
  • the coding efficiency can be improved by extending the flexibility of locality and reducing the prediction error energy.
  • SAIF separation-type adaptive interpolation filter
  • region division type adaptive interpolation filter It is a figure which shows the comparison of the conventional adaptive interpolation filter and an area
  • FIG. 1 is a diagram illustrating a configuration example of a video encoding device according to the present invention.
  • the video encoding device 10 is a device that performs interpolation by fractional precision motion compensation by interpolating decimal precision pixels using an area division type adaptive interpolation filter that uses edge information, and is a unit for switching adaptive interpolation filters. This is different from the conventional video encoding apparatus 100 shown in FIG. 18 in that the region to be divided is performed using edge information detected from the reference image.
  • the area dividing unit 11 uses a plurality of blocks as units for adaptively switching interpolation filter coefficients using the edge information calculated by the edge calculating unit 12 for the encoding target frame of the input video signal. Is divided into a plurality of regions.
  • the edge calculation unit 12 performs processing for extracting edge information from the reference image at the time of motion compensation. Details will be described later.
  • the interpolation filter coefficient switching unit 13 switches the interpolation filter coefficient of the decimal precision pixel used for the reference image in the predictive coding for each region divided by the region dividing unit 11.
  • a filter coefficient optimized by the filter coefficient optimization unit 131 is used as the interpolation filter coefficient to be switched.
  • the filter coefficient optimization unit 131 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 14 includes a reference image interpolation unit 141 and a motion detection unit 142.
  • the reference image interpolation unit 141 applies an interpolation filter based on the interpolation filter coefficient selected by the interpolation filter coefficient switching unit 13 to the decoded reference image stored in the reference image memory 18.
  • the motion detection unit 142 calculates a motion vector MV by performing a motion search on the interpolated reference image.
  • the prediction signal generation unit 14 generates a prediction signal by motion compensation using a decimal precision motion vector calculated by the motion detection unit 142.
  • the predictive encoding unit 15 calculates a residual signal between the input video signal and the predictive signal, orthogonally transforms it, and performs predictive encoding by quantizing the transform coefficient.
  • the decoding unit 17 decodes the result of predictive encoding and stores the decoded signal in the reference image memory 18 for later predictive encoding.
  • variable length coding unit 16 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 13 for each region, and codes them. Output as a bitstream.
  • FIG. 2 is a flowchart of video encoding processing executed by the video encoding device 10.
  • processing is described assuming luminance signal processing.
  • region segmentation is performed using the edge information of the image described in this example, and interpolation filter coefficients are optimized for each region.
  • the encoding function can be applied not only to the luminance signal but also to the color difference signal.
  • 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 142 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 142 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.
  • the edge calculation unit 12 acquires a reference image indicated by the motion vector using the motion vector obtained in step S102, and calculates edge information.
  • a generally known edge detection method for example, a Sobel filter
  • the region dividing unit 11 performs region determination for each block using the edge information obtained in step S103, and performs region division. For example, if the horizontal component of the edge is large, the region is divided into two types, such as R a1 , and if the vertical component is large, R a2 , or the edge size is also used as a judgment material. R b1 , R b2 if the edge size is greater than or equal to the threshold T and the horizontal component is large, R b2 if the edge size is greater than or equal to the threshold T and the vertical component is large, and R b3. You can also The number of area divisions can be set to any number depending on the edge definition.
  • step S105 based on the result of region division in step S104, the filter coefficient optimizing unit 131 performs interpolation filter coefficient optimization processing for each region.
  • the optimization process of the interpolation filter coefficient is performed for each decimal precision pixel in the horizontal direction using Expression (3) which is a prediction error energy function.
  • ⁇ n indicates each region, n is a region number, S is an original image, P is a decoded reference image, and x and y are horizontal and vertical positions in the image, respectively.
  • ⁇ 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 using the horizontal direction interpolation filter coefficient obtained in step S105, the horizontal fractional pixel interpolation (a, b, in FIGS. 16A to 16C is performed independently for each region in the frame. c)).
  • step S107 optimization processing of the interpolation filter coefficient in the vertical direction is performed.
  • the optimization process of the interpolation filter coefficient for each decimal pixel in the vertical direction is performed using Expression (4) which is a prediction error energy function in the vertical direction.
  • w cj represents a vertical filter coefficient group c j (0 ⁇ c j ⁇ 6) to be obtained.
  • step S108 by using the vertical direction interpolation filter coefficient obtained in step S107, the vertical fractional pixel interpolation (d to o in FIG. 16A or FIG. 16C) is performed independently for each region in the frame. Interpolation).
  • step S109 the motion detection unit 142 calculates the motion vector 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) is calculated and stored.
  • step S111 the optimum interpolation filter coefficient obtained in steps S105 and S107 is sent to the variable length encoding unit 16, and the variable length encoding unit 16 encodes the interpolation filter coefficient.
  • step S112 the variable-length encoding unit 16 stores the quantized coefficient value output from the predictive encoding unit 15, the motion vector (MV) output from the motion detecting unit 142, and other information to be encoded. Encode and output a bitstream.
  • step S113 the processing is ended.
  • the procedure for interpolating the vertical direction after interpolating the horizontal direction has been described.
  • the interpolation of the horizontal direction after interpolating the vertical direction can also be processed by the same procedure.
  • FIG. 3 is a detailed process flowchart of step S103 (edge calculation process) described in FIG.
  • FIG. 4 is a diagram illustrating a specific example of the edge calculation process.
  • step S201 it performs the entire target block B i of the horizontal filter f x, to compute the matrix M x.
  • the block B i by applying a horizontal filter f x for calculating the difference of pixel values adjacent to the left and right, the matrix M x is derived.
  • step S202 computing the sum S x of the respective components of the matrix M x.
  • S x 39 is obtained.
  • step S203 it performs the entire target block B i of the vertical filter f y, calculate the matrix M y.
  • the block B i by applying a vertical filter f y for calculating the difference of pixel values adjacent above and below, the matrix M y is derived.
  • step S204 computing the sum S y of the respective components of the matrix M y.
  • step S206 the edge angle calculated in step S205, the block B i, allocate an area number indicating belongs to which region.
  • FIG. 5 is a detailed flowchart of step S206 (area number allocation processing) described in FIG.
  • step S301 the edge angle E is input and the area number table is inquired.
  • step S302 the area number is determined from the inquiry result of the area number table.
  • FIG. 6B shows an example of an area number table when the number of areas is two.
  • the number of areas is 2
  • the edge is horizontal, it is assigned to “area 1”
  • the edge is vertical, it is assigned to “area 2”. That is, as shown in FIG. 6B, in the region number table, the region number is 1 (region 1) when ⁇ 1 ⁇ E ⁇ 1, and the region number is other than E ⁇ 1 or 1 ⁇ E.
  • Definition information 2 (area 2) is stored.
  • the block B i is determined to be “region 2”.
  • FIG. 7B shows an example of an area number table when the number of areas is four.
  • the number of areas is 4, for example, as shown in FIG. 7A, the areas are classified into four areas “area 1”, “area 2”, “area 3”, and “area 4” according to the edge angle. That is, as shown in FIG. 7B, the region number table shows that the region number is 1 (region 1) when ⁇ 0.414 ⁇ E ⁇ 0.414, and the region number when 0.414 ⁇ E ⁇ 2.414. When the number is 2 (region 2), 2.414 ⁇ E or E ⁇ 2.414, the region number is 3 (region 3), and when ⁇ 2.414 ⁇ E ⁇ 0.414, the region number is 4 Definition information (area 4) is stored. In the example of FIG. 4, since E ⁇ 1.128, the block B i is determined to be “region 2”.
  • FIG. 8 is a detailed process flowchart of the second example of step S103 (edge calculation process) described in FIG.
  • FIG. 9 is a diagram illustrating a specific example of the edge calculation process in consideration of the edge strength.
  • step S403 by using the edge horizontal component S x and an edge vertical component S y calculated in step S401, it calculates an edge strength Z.
  • the edge strength Z is calculated by the following equation, for example.
  • step S404 allocates an edge angle E calculated in step S402, from the edge strength Z calculated in step S403, the block B i, an area number indicating belongs to which region.
  • FIG. 10 is a detailed flowchart of step S404 (area number allocation processing) described in FIG.
  • step S501 the edge angle E and the edge strength Z are input, and the area number table is inquired.
  • step S502 the area number is determined from the inquiry result of the area number table.
  • FIG. 11B shows an example of an area number table when the number of areas is three.
  • the region number is “region 1” if the edge is strong and horizontal, “region 2” if the edge is strong and vertical, and “region 3” if the edge is weak. Is allocated.
  • the threshold value Z t can be set arbitrarily.
  • the region number table shows that when ⁇ 1 ⁇ E ⁇ 1 and Z t ⁇ Z, the region number is 1 (region 1), E ⁇ 1 or 1 ⁇ E, and Z t ⁇ Z. region number is 2 (region 2), the definition information that area number 3 (region 3) when Z ⁇ Z t are stored at.
  • FIG. 12B shows an example of an area number table when the number of areas is five.
  • the region number table shows that the region number is 1 (region 1) and 0.414 ⁇ E ⁇ 2.
  • the region number is 2 (region 2), 2.414 ⁇ E or E ⁇ 2.414 and when Z t ⁇ Z, the region number is 3 (region 3), ⁇ 2.
  • the threshold value Z t of the edge strength has been described as being arbitrarily set here. However, when the video encoding device 10 determines according to the feature amount or the encoding state of the image, the threshold value Z t is encoded and encoded. It may be included in the bit stream and transmitted to the video decoding device. Also may already determine the threshold Z t from the decoded image decoded by encoding, in this case, it is possible to calculate the threshold value Z t from even the decoded image in the video decoding apparatus, and coding the threshold Z t There is no need to transmit.
  • the threshold value Z t used in the encoding of the 10-th frame as already mean value of the edge strength of all blocks in the ninth frame image from the first frame to be encoded, decoded.
  • the threshold value Z t used in the encoding of the 10-th frame may be set to 2/5.
  • FIG. 13 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, performs interpolation of decimal precision pixels using a domain division type adaptive interpolation filter using edge information, and performs decimal precision. Decoding by motion compensation. It differs from the conventional video decoding apparatus 200 shown in FIG. 19 in that a region is determined using edge information detected from a reference image, and an adaptive interpolation filter is switched to interpolate 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 edge calculation unit 22 performs processing for extracting edge information such as an edge angle or edge strength from a reference image at the time of motion compensation.
  • the region determination unit 23 uses the edge information calculated by the edge calculation unit 22 to determine a region serving as a unit for switching the interpolation filter coefficient adaptively for the decoding target frame.
  • the interpolation filter coefficient switching unit 24 switches the interpolation filter coefficient decoded by the variable length decoding unit 21 for each region determined by the region determination unit 23.
  • the reference image interpolation unit 251 in the prediction signal generation unit 25 applies the interpolation filter based on the interpolation filter coefficient received from the interpolation filter coefficient switching unit 24 to the decoded reference image stored in the reference image memory 27, and calculates the decimal number of the reference image. Restore precision pixels.
  • the prediction signal generation unit 25 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 26 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 25, and Are added together to generate a decoded signal and output as a decoded image.
  • the decoded signal decoded by the predictive decoding unit 26 is stored in the reference image memory 27 for subsequent predictive decoding.
  • FIG. 14 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 interpolation filter coefficient used in each region is decoded.
  • step S603 various information such as a motion vector (MV) is decoded.
  • MV motion vector
  • step S604 the edge calculation unit 22 acquires a reference image using the motion vector decoded in step S603, and calculates edge information from the reference image.
  • the calculation of the edge information is the same as the edge calculation process described with reference to FIG. 3 or FIG.
  • step S605 the region determination unit 23 determines which region the decoding target block belongs to in block units from the edge information obtained in step S604, and acquires region information (region number). To do.
  • step S606 the interpolation filter coefficient switching unit 24 selects the optimum interpolation filter coefficient decoded in step S602 from the region number obtained in step S605, and the reference image interpolation unit 251 determines the decimal number of the reference image.
  • the accuracy pixel is restored, and after the decimal accuracy pixel is restored, the prediction signal generation unit 25 generates a prediction signal of the decoding target block using the motion vector decoded in step S603.
  • 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 prediction decoding unit 26 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 27.
  • steps S601 to S608 are repeated until the decoding of all the frames is completed.
  • the process is terminated (step S609).
  • the procedure for interpolating the vertical direction after interpolating the horizontal direction has been described.
  • the interpolation of the horizontal direction after interpolating the vertical direction can also be processed by the same procedure.
  • the above video encoding and video 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 used for, for example, video encoding and video decoding using motion compensation. According to the present invention, it is possible to perform region division using texture (edge) information, which cannot be taken into consideration with a conventional separable adaptive interpolation filter, to give a wide range of types of region division, and to be flexible with respect to locality within the screen. The encoding efficiency can be improved 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

 画像のエッジ特性を考慮した領域分割型適応補間フィルタを用いることにより,動き補償画面間予測の残差エネルギーを低減し,符号化効率の改善を図る。エッジ計算部は,動きベクトルの指し示す参照画像データからエッジ情報を算出する。領域分割部は,エッジ情報をもとに符号化対象フレームを適応的に補間フィルタを適用する単位となる複数の領域に分割する。フィルタ係数最適化部は,領域単位で小数精度画素の補間フィルタを最適化する。参照画像補間部は,最適化された補間フィルタを用いて参照画像に対する小数精度画素の補間を行い,予測符号化部では,小数精度の動き補償による予測符号化を行う。

Description

映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
 本発明は,動き補償を用いる映像符号化における適応補間フィルタの性能改善を図った映像符号化,復号技術に関するものである。
 本願は,2010年8月12日に日本へ出願された特願2010-180813号に基づき優先権を主張し,その内容をここに援用する。
 映像符号化において,異なる画面間で予測を実行する画面間予測(動き補償)符号化では,すでに復号されたフレームを参照して,予測誤差エネルギーなどを最小にするように動きベクトルが求められ,その残差信号が直交変換され,量子化が施され,エントロピー符号化を経て,バイナリーデータとなる。符号化効率を高めるためには,より予測精度の高い予測方式が求められ,予測誤差エネルギーの低減が不可欠である。
 映像符号化標準方式には,数多くの画面間予測の精度を高めるためのツールが導入されている。例えばH.264/AVCでは,直近のフレームにオクルージョンが存在する場合は,時間的に少し離れたフレームを参照したほうが予測誤差エネルギーを低減できるため,複数のフレームを参照可能としている。本ツールを複数参照フレーム予測と呼ぶ。
 また,複雑な形状の動きにも対応可能とするために,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では,図15Aに示されるように,1/2精度の画素を補間するために,両隣の2点の整数精度画素(単に整数画素ともいう)から加算平均を用いて補間画素を生成していた。すなわち,2点の整数画素に対して,[1/2,1/2]の平均値フィルタを施していることになる。非常に単純な処理のため,計算複雑度の観点からみると効果的であるが,1/4精度の画素を求める上ではフィルタの性能としては高くはない。
 MPEG-4 Part 2も同様に1/2画素精度の画素を平均値フィルタで生成するが,Advanced Simple Profile(ASP)では,1/4画素精度の動き補償にも対応している。1/2画素の位置は,図15Bに示されるような1次元8タップフィルタを用いて算出する。その後,1/4画素位置は平均値フィルタで導出する。
 また,H.264/AVCにおいては,図15Cに示されるように,1/2画素位置の補間時は,対象となる補間画素の左右3点ずつ計6整数画素を用いて補間を行う。垂直方向については上下3点ずつ計6整数画素を用いて補間する。フィルタ係数は,それぞれ[(1,-5,20,20,-5,1)/32]となっている。1/2画素位置が補間された後,1/4画素位置は[1/2,1/2]の平均値フィルタを用いて補間を行う。一度,1/2画素位置を全て補間して求める必要があるため,計算複雑度は高いものの,性能の高い補間が可能となり,符号化効率向上を導いている。以上の固定的補間フィルタの詳細は,非特許文献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タップ補間フィルタを用いる。
 図16A~図16Cは,分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法を示す図である。手順としては,図16BのStep1に示すように,まず水平方向の画素(a,b,c)を補間する。フィルタ係数の決定には,整数精度画素C1からC6が用いられる。式(1)の予測誤差エネルギー関数Eh 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が補間される。
 水平方向の画素補間が完了した後,図16CのStep2に示すように,垂直方向の補間処理を実施する。水平方向と同様の線形問題を解くことで垂直方向のフィルタ係数を決定する。具体的には,式(2)の予測誤差エネルギー関数Ev 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)のフィルタ係数を符号化して復号側に伝送する必要がある。特に低解像度の符号化については,このオーバーヘッドが大きくなるため,フィルタの対称性を用いて,伝送すべきフィルタ係数を削減している。例えば,図16Aでは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にて提案されている。
 図17Aおよび図17Bに示されるように,符号化対象フレームが性質の異なるテクスチャを含む場合を想定する。図17Aに示すように,フレーム全体として1つのフィルタ係数群を最適化して送る場合,各テクスチャの性質全てを考慮することになる。テクスチャがあまり変わらない場合,全体最適化によるフィルタ係数が最良と考えられるが,相反する性質を有するテクスチャであった場合,図17Bに示すように,テクスチャごとに最適化したフィルタ係数を用いるほうが,フレーム全体の符号量を削減できる。このことから,非特許文献6では,1フレームに対して領域分割により複数の最適化されたフィルタ係数群を用いる方法が考えられている。
 領域分割の手法として,非特許文献6では動きベクトル(水平垂直成分,向き)や空間座標(マクロブロック位置,ブロックのx座標やy座標)を採用しており,様々な画像の性質を考慮して領域分割を実施している。
 図18は,非特許文献6に示されるような,従来の領域分割型適応補間フィルタを用いる映像符号化装置の構成例を示している。
 映像符号化装置100において,領域分割部101は,入力した映像信号の符号化対象フレームを,適応的に補間フィルタ係数を切り替える単位となる複数ブロックからなる複数の領域に分割する。補間フィルタ係数切り替え部102は,領域分割部101により分割された領域ごとに,予測符号化における参照画像に対して用いる小数精度画素の補間フィルタ係数を切り替える。この切り替え対象となる補間フィルタ係数としては,例えばフィルタ係数最適化部1021によって最適化されたフィルタ係数を用いる。フィルタ係数最適化部1021は,領域ごとに,原画像と補間後の参照画像との予測誤差エネルギーが最小となる補間フィルタ係数を算出する。
 予測信号生成部103は,参照画像補間部1031と動き検出部1032とを備える。参照画像補間部1031は,参照画像メモリ107に格納された復号済み参照画像に,補間フィルタ係数切り替え部102が選択した補間フィルタ係数による補間フィルタを適用する。動き検出部1032は,補間後の参照画像に対して動き探索を行うことにより,動きベクトルを算出する。予測信号生成部103は,動き検出部1032によって算出された小数精度の動きベクトルによる動き補償により予測信号を生成する。
 予測符号化部104は,入力映像信号と予測信号との残差信号を算出し,それを直交変換し,変換係数の量子化などによって予測符号化を行う。また,復号部106は,予測符号化の結果を復号し,復号信号を後の予測符号化のために参照画像メモリ107に格納する。
 可変長符号化部105は,量子化された変換係数,動きベクトルを可変長符号化するとともに,領域ごとに補間フィルタ係数切り替え部102が選択した補間フィルタ係数を可変長符号化し,これらを符号化ビットストリームとして出力する。
 図19は,従来の領域分割型適応補間フィルタを用いる映像復号装置の構成例を示している。図18に示す映像符号化装置100によって符号化されたストリームは,図19に示す映像復号装置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
 図18に示すような映像符号化装置100が用いる領域分割型適応補間フィルタ(非特許文献6)は,画像の有する局所的性質を考慮して,フレーム内で複数のフィルタ係数群を切り替えることで予測誤差エネルギーを削減して,符号化効率の向上を狙っている。しかし,領域分割を実施する上で動きベクトルおよび空間座標に着目しており,画像のテクスチャ成分を考慮していない。画像の有するエッジ情報は,画像局所性を示す重要な指標の一つと考えられるため,領域分割手法に採用することで,符号化効率の更なる改善が見込めると考えられる。
 本発明は,この点に鑑み,参照画像のエッジを特徴量としてとらえて領域分割を行うことにより,フィルタ係数の最適化を行い,残差エネルギーをさらに低減することにより,符号化効率を向上させることを目的とする。
 上記目的を達成するための方法として,動きベクトルの指す参照画像が原画像に近いテクスチャ情報を有しているという想定に基づき,その参照画像からエッジ成分を算出して,領域分割を実施する。本手段を用いることで,画像の有するテクスチャ情報を領域分割に利用可能とし,予測誤差エネルギーの低減によって,符号化効率の改善を実現する。
 すなわち,本発明は,動き補償を用いる映像符号化方法であって,動きベクトルの指し示す参照画像を取得し,得られた参照画像からエッジ情報を算出する。その算出されたエッジ情報からフレーム内で領域分割を行い,領域単位で小数精度画素の補間フィルタ係数を最適化する。その後,最適化された補間フィルタを用いて小数精度画素の補間を行って符号化を実施する。
 また,本発明は,前記映像符号化方法で符号化された符号化ストリームを復号する映像復号方法であって,小数精度画素の補間フィルタ係数を復号し,復号された動きベクトルから得られる参照画像からエッジ情報を算出する。その算出されたエッジ情報を用いて領域判定を行い,領域ごとに小数精度画素の補間フィルタを切り替えて,小数精度画素の補間を行い,復号を実施する。
 本発明の作用は,以下のとおりである。従来の領域分割型適応補間フィルタでは,動きベクトルと空間座標を用いた領域分割手法を採用しており,画像のテクスチャ情報を用いた領域分割ができず,画像の局所性を十分に考慮できていなかった。一方,本発明では,画像のテクスチャが与える影響も吸収でき,領域分割機能に柔軟性を持たせ,符号化効率の改善が達成できる。
 以上のように,本発明によれば,従来の分離型適応補間フィルタでは考慮できなかった,テクスチャ(エッジ)情報を利用した領域分割が可能となり,領域分割の種類に幅を持たせ,画面内の局所性に対する柔軟性を拡張し,予測誤差エネルギーの低減による符号化効率の改善が達成できる。
映像符号化装置の構成例を示す図である。 映像符号化処理のフローチャートである。 エッジ算出処理のフローチャートである。 エッジ算出処理の具体例を示す図である。 領域番号の割り振り処理のフローチャートである。 領域数が2の場合の領域番号テーブルの例を示す図である。 領域数が2の場合の領域番号テーブルの例を示す図である。 領域数が4の場合の領域番号テーブルの例を示す図である。 領域数が4の場合の領域番号テーブルの例を示す図である。 第2の例によるエッジ算出処理(エッジ強度考慮)のフローチャートである。 第2の例によるエッジ算出処理(エッジ強度考慮)の具体例を示す図である。 第2の例による領域番号の割り振り処理のフローチャートである。 領域数が3の場合の領域番号テーブルの例を示す図である。 領域数が3の場合の領域番号テーブルの例を示す図である。 領域数が5の場合の領域番号テーブルの例を示す図である。 領域数が5の場合の領域番号テーブルの例を示す図である。 映像復号装置の構成例を示す図である。 映像復号処理のフローチャートである。 過去の映像符号化標準方式における非整数精度の画素補間方法を示す図である。 過去の映像符号化標準方式における非整数精度の画素補間方法を示す図である。 過去の映像符号化標準方式における非整数精度の画素補間方法を示す図である。 分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法を示す図である。 分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法を示す図である。 分離型適応補間フィルタ(SAIF)における非整数精度の画素補間方法を示す図である。 従来の適応補間フィルタと領域分割型適応補間フィルタの比較を示す図である。 従来の適応補間フィルタと領域分割型適応補間フィルタの比較を示す図である。 従来の領域分割型適応補間フィルタを用いる映像符号化装置の構成例を示す図である。 従来の領域分割型適応補間フィルタを用いる映像復号装置の構成例を示す図である。
 以下,図面を用いながら,本発明の実施の形態を説明する。
  〔映像符号化装置〕
 図1は,本発明に係る映像符号化装置の構成例を示す図である。映像符号化装置10は,エッジ情報を利用する領域分割型適応補間フィルタを用いて,小数精度画素の補間を行い,小数精度の動き補償によって符号化を行う装置であり,適応補間フィルタを切り替える単位となる領域の分割を,参照画像から検出したエッジ情報を用いて行う点が,図18に示す従来の映像符号化装置100と異なる。
 映像符号化装置10において,領域分割部11は,入力した映像信号の符号化対象フレームを,エッジ計算部12が算出したエッジ情報を用いて,適応的に補間フィルタ係数を切り替える単位となる複数ブロックからなる複数の領域に分割する。エッジ計算部12は,動き補償時の参照画像からエッジ情報を抽出する処理を行う。詳しくは後述する。
 補間フィルタ係数切り替え部13は,領域分割部11により分割された領域ごとに,予測符号化における参照画像に対して用いる小数精度画素の補間フィルタ係数を切り替える。この切り替え対象となる補間フィルタ係数としては,例えばフィルタ係数最適化部131によって最適化されたフィルタ係数を用いる。フィルタ係数最適化部131は,領域ごとに,原画像と補間後の参照画像との予測誤差エネルギーが最小となる補間フィルタ係数を算出する。
 予測信号生成部14は,参照画像補間部141と動き検出部142とを備える。参照画像補間部141は,参照画像メモリ18に格納された復号済み参照画像に,補間フィルタ係数切り替え部13が選択した補間フィルタ係数による補間フィルタを適用する。動き検出部142は,補間後の参照画像に対して動き探索を行うことにより,動きベクトルMVを算出する。予測信号生成部14は,動き検出部142によって算出された小数精度の動きベクトルによる動き補償により予測信号を生成する。
 予測符号化部15は,入力映像信号と予測信号との残差信号を算出し,それを直交変換し,変換係数の量子化などによって予測符号化を行う。また,復号部17は,予測符号化の結果を復号し,復号信号を後の予測符号化のために参照画像メモリ18に格納する。
 可変長符号化部16は,量子化された変換係数,動きベクトルを可変長符号化するとともに,領域ごとに補間フィルタ係数切り替え部13が選択した補間フィルタ係数を可変長符号化し,これらを符号化ビットストリームとして出力する。
 〔映像符号化装置の処理フロー〕
 図2は,映像符号化装置10が実行する映像符号化処理のフローチャートである。以下では,特に断りがない限り,輝度信号での処理を仮定して説明するが,本例で述べている画像のエッジ情報を用いて領域分割を行い,領域単位で補間フィルタ係数を最適化して符号化する機能は,輝度信号だけでなく,色差信号にも適用可能である。
 まず,ステップS101では,符号化対象のフレームを入力する。次に,ステップS102では,入力したフレームをブロック(例えば,16×16や8×8といった従来の動き予測のブロックサイズ)に分割し,動き検出部142により,ブロック単位で最適な動きベクトルを算出する。ステップS102における参照画像の小数精度画素の補間には,従来のH.264/AVCによる固定6タップフィルタを用いる。
 続いて,ステップS103では,エッジ計算部12が,ステップS102にて得られた動きベクトルを用いて,動きベクトルが指し示す参照画像を取得し,エッジ情報を算出する。エッジ情報の算出には,一般に知られているエッジ検出手法(例えば,ソーベルフィルタなど)を用いる。
 続いて,ステップS104では,領域分割部11が,ステップS103にて得られたエッジ情報を用いて,ブロックごとに領域判定を行い,領域分割を実施する。領域分割は,例えばエッジの水平成分が大きければRa1,垂直成分が大きければRa2というように2種類に分割したり,エッジの大きさも判定材料として,エッジの大きさが閾値T未満ならエッジなしでRb1,エッジの大きさが閾値T以上でかつ水平成分が大きければRb2,エッジの大きさが閾値T以上でかつ垂直成分が大きければRb3というように,3種類に分割したりすることもできる。領域分割数はエッジの定義により,任意の数を設定できる。
 以上のエッジ算出処理および領域番号の割り振り処理の詳細については,図3から図12Bを用いて後述する。
 続いて,ステップS105では,ステップS104の領域分割の結果から,フィルタ係数最適化部131が,領域ごとに補間フィルタ係数の最適化処理を行う。まず,水平方向の補間フィルタ係数を導出するため,予測誤差エネルギー関数である式(3)を用いて,水平方向の各小数精度画素に対する補間フィルタ係数の最適化処理を行う。
Figure JPOXMLDOC01-appb-M000003
 ここで,αn は各領域を示しており,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で得られた水平方向の補間フィルタ係数を用いて,フレーム内の領域ごとに独立して,水平方向の小数画素補間(図16A~図16Cにおけるa,b,cの補間)を実施する。
 続いて,ステップS107では,垂直方向の補間フィルタ係数の最適化処理を実施する。垂直方向の補間フィルタ係数を導出するため,垂直方向の予測誤差エネルギー関数である式(4)を用いて,垂直方向の各小数画素に対する補間フィルタ係数の最適化処理を行う。
Figure JPOXMLDOC01-appb-M000004
 ここで,αn は各領域を示しており,nは領域番号,Sは原画像,^PはステップS106にて水平方向に補間処理された画像,xおよびyはそれぞれ画像中の水平および垂直方向の位置を示す。また,~x=4・(x+MVx )で表現され,MVx は丸められた動きベクトルの水平成分を示す。垂直方向については,~y=y+MVy -FilterOffset で表現され,MVy は動きベクトルの垂直成分,FilterOffsetは調整のためのオフセット(フィルタ長を2で割った値)を示す。wcjは求めるべき垂直方向フィルタ係数群cj (0≦cj <6)を示す。
 続いて,ステップS108では,ステップS107で得られた垂直方向の補間フィルタ係数を用いて,フレーム内の領域ごとに独立して,垂直方向の小数画素補間(図16Aまたは図16Cにおけるd~oの補間)を実施する。
 続いて,ステップS109では,ステップS108で得られた垂直方向に補間された画像を参照画像として,動き検出部142が,再度動きベクトルの算出を行う。
 続いて,ステップS110では,レート歪みコスト(RDコスト)を算出し,保存を行う。
 続いて,ステップS111では,ステップS105およびステップS107で得られた最適な補間フィルタ係数を可変長符号化部16へ送り,可変長符号化部16がその補間フィルタ係数を符号化する。
 続いて,ステップS112では,予測符号化部15の出力である量子化後係数値や動き検出部142の出力である動きベクトル(MV),その他の符号化すべき情報を可変長符号化部16で符号化し,ビットストリームを出力する。
 以上のステップS101~S112を,全フレームの符号化が終了するまで繰り返し,全フレームについての符号化が終了したならば,処理を終了する(ステップS113)。以上,水平方向を補間した後に垂直方向を補間する手順で説明したが,垂直方向を補間した後に水平方向を補間することも,同様の手順で処理可能である。
 〔エッジ算出処理の例1〕
 次に,図3および図4に従って,エッジ算出処理の詳細を説明する。図3は,図2で説明したステップS103(エッジ算出処理)の詳細な処理フローチャートである。図4は,エッジ算出処理の具体例を示す図である。
 まず,ステップS201では,水平フィルタfx を対象ブロックBi 全体に施し,マトリクスMx を計算する。例えば図4に示すように,ブロックBi に対して,左右に隣接する画素値の差分を算出する水平フィルタfx を施すことにより,マトリクスMx が導出される。
 ステップS202では,マトリクスMx の各成分の和Sxを計算する。図4の例では,Sx =39が得られる。
 次に,ステップS203では,垂直フィルタfy を対象ブロックBi 全体に施し,マトリクスMy を計算する。例えば図4に示すように,ブロックBi に対して,上下に隣接する画素値の差分を算出する垂直フィルタfy を施すことにより,マトリクスMy が導出される。
 ステップS204では,マトリクスMy の各成分の和Syを計算する。図4の例では,Sy =44が得られる。
 ステップS205では,Sx およびSy からエッジ角度E=Sy /Sx を計算する。図4の例では,E=Sy /Sx =44/39≒1.128となる。
 ステップS206では,ステップS205で算出したエッジ角度から,ブロックBi に対して,どの領域に属するかを示す領域番号を割り振る。
 〔領域番号の割り振り処理の例1〕
 図5から図7Bに従って,領域番号の割り振り処理の詳細を説明する。図5は,図3で説明したステップS206(領域番号の割り振り処理)の詳細なフローチャートである。
 ステップS301では,エッジ角度Eを入力し,領域番号テーブルを照会する。ステップS302では,領域番号テーブルの照会結果から領域番号を決定する。
 領域数は任意に設定可能であり,図6Bは,領域数が2の場合の領域番号テーブルの例を示している。領域数が2の場合,図6Aに示すように,エッジが水平であれば「領域1」,エッジが垂直であれば「領域2」に割り振る。すなわち,図6Bに示すように,領域番号テーブルには,-1≦E≦1のときに領域番号が1(領域1),それ以外のE<-1または1<Eのときに領域番号が2(領域2)という定義情報が格納されている。図4の例では,E≒1.128であるので,ブロックBi は「領域2」と判定されることになる。
 同様に図7Bは,領域数が4の場合の領域番号テーブルの例を示している。領域数が4の場合,例えば図7Aに示すように,エッジ角度に応じて「領域1」,「領域2」,「領域3」,「領域4」の4つの領域に分類される。すなわち,図7Bに示すように,領域番号テーブルには,-0.414≦E<0.414のときに領域番号が1(領域1),0.414≦E<2.414のときに領域番号が2(領域2),2.414≦EまたはE<-2.414のときに領域番号が3(領域3),-2.414≦E<-0.414のときに領域番号が4(領域4)という定義情報が格納されている。図4の例では,E≒1.128であるので,ブロックBi は「領域2」と判定されることになる。
 〔エッジ算出処理の例2〕
 エッジ算出処理の他の例について説明する。この例では,エッジ角度の他に,エッジ強度を算出し,エッジ角度とエッジ強度とから領域番号の割り振りを行う。図8は,図2で説明したステップS103(エッジ算出処理)の第2の例の詳細な処理フローチャートである。図9は,エッジ強度を考慮したエッジ算出処理の具体例を示す図である。
 まず,ステップS401では,前述した図3のステップS201~S204と同じ処理によって,エッジ水平成分Sx とエッジ垂直成分Sy を取得する。図9の例に示すように,Sx =39およびSy =44が求まる。
 次に,ステップS402では,図3のステップS205と同じ処理によって,エッジ角度E=Sy /Sx を計算する。図9の例では,E=Sy /Sx =44/39≒1.128が求まる。
 ステップS403では,ステップS401で算出したエッジ水平成分Sx とエッジ垂直成分Sy とを用いて,エッジ強度Zを算出する。エッジ強度Zは,例えば次式によって算出される。
   Z=(Sx 2 +Sy 21/2 
 Sx =39およびSy =44の場合,図9の例では,Z≒58.80となる。なお,エッジ強度は,上の式に限らず,他の式によって定義してもよい。例えば,演算コストを重視する場合には,
   Z=|Sx|+|Sy |
というように,エッジ強度をエッジ水平成分Sx とエッジ垂直成分Sy の絶対値の和として定義してもよい。
 ステップS404では,ステップS402で算出したエッジ角度Eと,ステップS403で算出したエッジ強度Zとから,ブロックBi に対して,どの領域に属するかを示す領域番号を割り振る。
 〔領域番号の割り振り処理の例2〕
 図10から図12Bに従って,第2の例における領域番号の割り振り処理の詳細を説明する。図10は,図8で説明したステップS404(領域番号の割り振り処理)の詳細なフローチャートである。
 ステップS501では,エッジ角度Eとエッジ強度Zとを入力し,領域番号テーブルを照会する。ステップS502では,領域番号テーブルの照会結果から領域番号を決定する。
 図11Bは,領域数が3の場合の領域番号テーブルの例を示している。この例では,図11Aに示すように,エッジが強く,かつ水平であれば「領域1」,エッジが強く,かつ垂直であれば「領域2」,エッジが弱ければ「領域3」に領域番号を割り振る。
 エッジ強度の閾値をZt とする。閾値Ztは任意に設定可能である。図11Bに示すように,領域番号テーブルには,-1≦E≦1かつZt <Zのときに領域番号が1(領域1),E<-1または1<E,かつZt <Zのときに領域番号が2(領域2),Z≦Zt のときに領域番号が3(領域3)という定義情報が格納されている。例えば閾値Zt が30であるとすると,図9の例では,E≒1.128,Z=58.80であるので,ブロックBi は「領域2」と判定されることになる。
 同様に図12Bは,領域数が5の場合の領域番号テーブルの例を示している。この例では,例えば図12Aに示すように,エッジが強い場合,エッジ角度に応じて「領域1」,「領域2」,「領域3」,「領域4」の4つの領域に分類され,エッジが弱い場合,「領域5」に分類される。すなわち,図12Bに示すように,領域番号テーブルには,-0.414≦E<0.414かつZt <Zのときに領域番号が1(領域1),0.414≦E<2.414かつZt <Zのときに領域番号が2(領域2),2.414≦EまたはE<-2.414かつZt <Zのときに領域番号が3(領域3),-2.414≦E<-0.414かつZt <Zのときに領域番号が4(領域4),Z≦Zt のときに領域番号が5(領域5)という定義情報が格納されている。例えば閾値Zt が30であるとすると,図9の例では,E≒1.128,Z=58.80であるので,ブロックBi は「領域2」と判定されることになる。
 エッジ強度の閾値Zt は,ここでは任意に設定可能として説明したが,映像符号化装置10が画像の特徴量または符号化状況に応じて定める場合には,閾値Zt を符号化して符号化ビットストリームに含め,映像復号装置へ伝送するようにしてもよい。また,既に符号化して復号した復号画像から閾値Zt を定めてもよく,この場合には,映像復号装置でも復号画像から閾値Zt を算出することができるので,閾値Zt を符号化して伝送する必要はない。例えば,第10フレーム目の符号化で用いる閾値Zt を,既に符号化・復号済みの第1フレームから第9フレームの画像における全ブロックのエッジ強度の平均値として設定する。または領域分割のバランスを考慮し,領域数に応じて,領域数が3の場合には,閾値Zt を過去のエッジ強度の平均値の2/3,領域数が5の場合,過去のエッジ強度の平均値の2/5というように定めてもよい。
 〔映像復号装置〕
 図13は,本発明に係る映像復号装置の構成例を示す図である。映像復号装置20は,図1に示す映像符号化装置10が符号化したビットストリームを入力し,エッジ情報を利用する領域分割型適応補間フィルタを用いて,小数精度画素の補間を行い,小数精度の動き補償によって復号する。参照画像から検出したエッジ情報を用いて領域を判定し,適応補間フィルタを切り替えて小数精度画素の補間を行う点が,図19に示す従来の映像復号装置200と異なる。
 映像復号装置20において,可変長復号部21は,符号化ビットストリームを入力して,量子化変換係数,動きベクトル,補間フィルタ係数群などの復号を行う。エッジ算出部22は,動き補償時の参照画像からエッジ角度またはさらにエッジ強度等のエッジ情報を抽出する処理を行う。領域判定部23は,エッジ算出部22が算出したエッジ情報を用いて,復号対象フレームについて適応的に補間フィルタ係数を切り替える単位となる領域を判定する。補間フィルタ係数切り替え部24は,領域判定部23により判定された領域ごとに,可変長復号部21で復号した補間フィルタ係数を切り替える。
 予測信号生成部25における参照画像補間部251は,参照画像メモリ27に格納された復号済み参照画像に,補間フィルタ係数切り替え部24から受け取った補間フィルタ係数による補間フィルタを適用し,参照画像の小数精度画素の復元を行う。予測信号生成部25は,小数精度画素の復元が行われた参照画像から,復号対象ブロックの予測信号を生成する。
 予測復号部26は,可変長復号部21で復号した量子化係数の逆量子化,逆直交変換などを行い,それにより算出された予測誤差信号と,予測信号生成部25が生成した予測信号とを足し合わせて復号信号を生成し,復号画像として出力する。また,予測復号部26が復号した復号信号は,後の予測復号のために,参照画像メモリ27に格納する。
 〔映像復号装置の処理フロー〕
 図14は,映像復号装置20が実行する映像復号処理のフローチャートである。以下では,特に断りがない限り,輝度信号での処理を仮定して説明するが,輝度信号だけでなく,色差信号にも適用可能である。
 まず,ステップS601では,可変長復号部21が入力ビットストリームからフレームヘッダの情報を取得する。次に,ステップS602では,各領域で用いられる補間フィルタ係数を復号する。ステップS603にて,動きベクトル(MV)などの各種情報の復号を行う。ステップS603における各種情報の復号は,従来の一般的な映像復号装置における復号処理と同様である。
 続いて,ステップS604では,エッジ算出部22が,ステップS603で復号された動きベクトルを用いて,参照画像を取得し,その参照画像からエッジ情報を算出する。このエッジ情報の算出は,図3または図8で説明したエッジ算出処理と同様である。
 続いて,ステップS605では,領域判定部23が,ステップS604で得られたエッジ情報からブロック単位で,復号対象ブロックがどの領域に属しているかの判定を実施し,領域情報(領域番号)を取得する。
 続いて,ステップS606では,補間フィルタ係数切り替え部24が,ステップS605で得られた領域番号から,ステップS602で復号された最適な補間フィルタ係数を選択し,参照画像補間部251が参照画像の小数精度画素の復元を行い,小数精度画素の復元後に,予測信号生成部25が,ステップS603で復号した動きベクトルを用いて,復号対象ブロックの予測信号を生成する。
 続いて,ステップS607では,可変長復号部21が,入力ビットストリームから復号対象ブロックの予測残差信号の復号を行う。
 続いて,ステップS608では,予測復号部26が,ステップS606で得られた予測信号と,ステップS607で得られた予測残差信号を足し合わせて,復号信号を生成する。生成した復号信号は復号画像として出力するとともに,参照画像メモリ27に格納する。
 以上のステップS601~S608を,全フレームの復号が終了するまで繰り返し,全フレームについての復号が終了したならば,処理を終了する(ステップS609)。以上,水平方向を補間した後に垂直方向を補間する手順で説明したが,垂直方向を補間した後に水平方向を補間することも,同様の手順で処理可能である。
 以上の映像符号化および映像復号の処理は,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
 以上,本発明の実施形態について図面を参照して詳述したが,具体的な構成はこれら実施形態に限られるものではなく,本発明の要旨を逸脱しない範囲の設計等(構成の付加,省略,置換,およびその他の変更)も含まれる。本発明は前述した説明によって限定されることはなく,添付の請求の範囲によってのみ限定される。
 本発明は,例えば,動き補償を用いる映像符号化および映像復号に利用可能である。本発明によれば,従来の分離型適応補間フィルタでは考慮できなかった,テクスチャ(エッジ)情報を利用した領域分割が可能となり,領域分割の種類に幅を持たせ,画面内の局所性に対する柔軟性を拡張し,予測誤差エネルギーの低減による符号化効率の改善が達成できる。
 10 映像符号化装置
 11 領域分割部
 12 エッジ計算部
 13 補間フィルタ係数切り替え部
 131 フィルタ係数最適化部
 14 予測信号生成部
 141 参照画像補間部
 142 動き検出部
 15 予測符号化部
 16 可変長符号化部
 17 復号部
 18 参照画像メモリ
 20 映像復号装置
 21 可変長復号部
 22 エッジ算出部
 23 領域判定部
 24 補間フィルタ係数切り替え部
 25 予測信号生成部
 251 参照画像補間部
 26 予測復号部
 27 参照画像メモリ

Claims (8)

  1.  小数精度の動き補償を用いる映像符号化方法において,
     動きベクトルの指し示す参照画像データを取得し,得られた参照画像データからエッジ情報を算出するステップと,
     前記エッジ情報をもとに符号化対象フレームを,適応的に補間フィルタを適用する単位となる複数の領域に分割するステップと,
     前記領域単位で小数精度画素の補間フィルタを最適化するステップと,
     最適化された補間フィルタを用いて参照画像に対する小数精度画素の補間を行い,小数精度の動き補償により予測符号化を行うステップとを有する
     映像符号化方法。
  2.  請求項1記載の映像符号化方法において,
     前記エッジ情報は,前記動きベクトルの指し示す前記参照画像データから抽出されたエッジ角度,または前記エッジ角度とエッジ強度であり,前記エッジ角度の範囲,または前記エッジ角度の範囲と前記エッジ強度の強弱によって,前記領域の分割を行う
     映像符号化方法。
  3.  小数精度の動き補償を用いる映像復号方法において,
     小数精度画素の補間フィルタ係数を復号するステップと,
     復号された動きベクトルから得られる参照画像データからエッジ情報を算出するステップと,
     適応的に補間フィルタを適用する単位となる複数の領域のうち,復号対象データがどの領域に属するかを前記エッジ情報を用いて判定するステップと,
     前記領域ごとに小数精度画素の補間フィルタを切り替えて,参照画像に対する小数精度画素の補間を行い,小数精度の動き補償により予測復号を行うステップとを有する
     映像復号方法。
  4.  請求項3記載の映像復号方法において,
     前記エッジ情報は,前記動きベクトルの指し示す前記参照画像データから抽出されたエッジ角度,または前記エッジ角度とエッジ強度であり,前記エッジ角度の範囲,または前記エッジ角度の範囲と前記エッジ強度の強弱によって,前記領域の判定を行う
     映像復号方法。
  5.  小数精度の動き補償を用いる映像符号化装置において,
     動きベクトルの指し示す参照画像データを取得し,得られた参照画像データからエッジ情報を算出するエッジ計算部と,
     前記エッジ情報をもとに符号化対象フレームを,適応的に補間フィルタを適用する単位となる複数の領域に分割する領域分割部と,
     前記領域単位で小数精度画素の補間フィルタを最適化するフィルタ係数最適化部と,
     最適化された補間フィルタを用いて参照画像に対する小数精度画素の補間を行う参照画像補間部と,
     小数精度の動き補償により予測符号化を行う予測符号化部とを備える
     映像符号化装置。
  6.  小数精度の動き補償を用いる映像復号装置において,
     小数精度画素の補間フィルタ係数を復号する補間フィルタ係数復号部と,
     復号された動きベクトルから得られる参照画像データからエッジ情報を算出するエッジ算出部と,
     適応的に補間フィルタを適用する単位となる複数の領域のうち,復号対象データがどの領域に属するかを前記エッジ情報を用いて判定する領域判定部と,
     前記領域ごとに小数精度画素の補間フィルタを切り替えて,参照画像に対する小数精度画素の補間を行う参照画像補間部と,
     小数精度の動き補償により予測復号を行う予測復号部とを備える
     映像復号装置。
  7.  請求項1または請求項2に記載の映像符号化方法を,コンピュータに実行させるための映像符号化プログラム。
  8.  請求項3または請求項4に記載の映像復号方法を,コンピュータに実行させるための映像復号プログラム。
PCT/JP2011/068286 2010-08-12 2011-08-10 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム WO2012020800A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CA2807327A CA2807327C (en) 2010-08-12 2011-08-10 Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and programs thereof
KR1020137001194A KR20130055631A (ko) 2010-08-12 2011-08-10 영상 부호화 방법, 영상 복호 방법, 영상 부호화 장치, 영상 복호 장치 및 이들의 프로그램
PL11816464T PL2590410T3 (pl) 2010-08-12 2011-08-10 Sposób kodowania wideo, sposób dekodowania wideo, urządzenie do kodowania wideo, urządzenie do dekodowania wideo i programy do tego celu
KR1020157035181A KR20160003869A (ko) 2010-08-12 2011-08-10 영상 부호화 방법, 영상 복호 방법, 영상 부호화 장치, 영상 복호 장치 및 이들의 프로그램
US13/814,144 US9609318B2 (en) 2010-08-12 2011-08-10 Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, and programs thereof
BR112013002733A BR112013002733A2 (pt) 2010-08-12 2011-08-10 método de codificação de vídeo, método de decodoficação de vídeo, aparelho de codificação de vídeo, aparelho de decodificação de vídeo e programas dos mesmos
CN201180035072.4A CN103069803B (zh) 2010-08-12 2011-08-10 视频编码方法、视频解码方法、视频编码装置、视频解码装置
EP11816464.9A EP2590410B1 (en) 2010-08-12 2011-08-10 Video encoding method, video decoding method, video encoding device, video decoding device, and programs for same

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=45567762

Family Applications (1)

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

Country Status (10)

Country Link
US (1) US9609318B2 (ja)
EP (1) EP2590410B1 (ja)
JP (1) JP5524762B2 (ja)
KR (2) KR20130055631A (ja)
CN (1) CN103069803B (ja)
BR (1) BR112013002733A2 (ja)
CA (1) CA2807327C (ja)
PL (1) PL2590410T3 (ja)
TW (1) TWI504236B (ja)
WO (1) WO2012020800A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI508569B (zh) * 2012-09-14 2015-11-11 Realtek Semiconductor Corp 行動高畫質連結資料轉換器以及行動高畫質連結資料轉換方法
EP2920962A4 (en) * 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
WO2016135777A1 (ja) * 2015-02-26 2016-09-01 三菱電機株式会社 画像処理装置
CN115278231A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的设备和对视频进行编码的设备
US11044490B2 (en) * 2017-09-28 2021-06-22 Sharp Kabushiki Kaisha Motion compensation filter apparatus, image decoding apparatus, and video coding apparatus
JP2019213096A (ja) * 2018-06-06 2019-12-12 Kddi株式会社 画像復号装置、画像符号化装置、画像処理システム、画像復号方法及びプログラム
KR102374261B1 (ko) 2021-11-30 2022-03-15 주식회사 코메스타 임무용 면허대역에서 채널 감지 및 운용 주파수 선택 방법 및 이를 실행하는 시스템

Citations (3)

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

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817121A3 (en) 1996-06-06 1999-12-22 Matsushita Electric Industrial Co., Ltd. Image coding method and system
JP2008054267A (ja) 2006-07-28 2008-03-06 Hitachi Ltd 画像処理装置、画像符号化装置及び画像復号化装置
JP4999859B2 (ja) * 2006-10-30 2012-08-15 日本電信電話株式会社 予測参照情報生成方法、動画像符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
KR101369746B1 (ko) 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
KR20080107965A (ko) * 2007-06-08 2008-12-11 삼성전자주식회사 객체 경계 기반 파티션을 이용한 영상의 부호화, 복호화방법 및 장치
EP3410706B1 (en) * 2007-06-29 2021-12-01 Velos Media International Limited Image encoding device and image decoding device
KR101291196B1 (ko) 2008-01-25 2013-07-31 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP5253835B2 (ja) * 2008-02-19 2013-07-31 株式会社キーエンス 画像生成装置、画像生成方法及びコンピュータプログラム
EP2266321B1 (en) * 2008-04-23 2017-12-13 Telefonaktiebolaget LM Ericsson (publ) Template-based pixel block processing
JP5271031B2 (ja) * 2008-08-09 2013-08-21 株式会社キーエンス 画像のデータ圧縮方法、画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体
KR101538704B1 (ko) * 2009-01-28 2015-07-28 삼성전자주식회사 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치
JP5485851B2 (ja) * 2010-09-30 2014-05-07 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム

Patent Citations (3)

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

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
E. G. RICHARDSON; G. J. SULLIVAN: "H.264 and MPEG-4 VIDEO COMPRESSION", 2003, WILEY, pages: 172 - 175
HIROSHI HARASHIMA; YOSHINORI SAKAI; TOSHIYUKI YOSHIDA: "Video Information Encoding", 2001, OHMSHA, LTD., pages: 135 - 136
KAI ZHANG ET AL.: "Single-Pass Encoding Using Multiple Adaptive Interpolation Filters", ITU - TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 QUESTION 6 VIDEO CODING EXPERTS GROUP, 15 April 2009 (2009-04-15), XP030003678 *
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 EP2590410A4
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", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, TECHNICAL COMMITTEE ON 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 894 - 897, XP010851198, DOI: doi:10.1109/ICIP.2005.1530200

Also Published As

Publication number Publication date
BR112013002733A2 (pt) 2016-05-31
JP5524762B2 (ja) 2014-06-18
KR20130055631A (ko) 2013-05-28
CA2807327A1 (en) 2012-02-16
EP2590410B1 (en) 2021-11-24
CN103069803B (zh) 2016-09-28
TWI504236B (zh) 2015-10-11
TW201225676A (en) 2012-06-16
CA2807327C (en) 2016-03-22
EP2590410A1 (en) 2013-05-08
PL2590410T3 (pl) 2022-03-28
US20130128984A1 (en) 2013-05-23
US9609318B2 (en) 2017-03-28
JP2012044238A (ja) 2012-03-01
EP2590410A4 (en) 2016-11-02
KR20160003869A (ko) 2016-01-11
CN103069803A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
JP5563403B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
JP5485851B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
JP5649523B2 (ja) 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
JP2016220245A (ja) 映像復号化装置
Lainema et al. Angular intra prediction in high efficiency video coding (HEVC)
WO2012020800A1 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
TWI504241B (zh) 影像編碼方法、裝置、影像解碼方法、裝置及其程式產品
JP2011082725A (ja) 映像符号化方法,映像符号化装置,映像復号方法,映像復号装置,映像符号化・復号方法,およびプログラム
JP5762243B2 (ja) 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180035072.4

Country of ref document: CN

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

Ref document number: 11816464

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20137001194

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2807327

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 13814144

Country of ref document: US

Ref document number: 2011816464

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

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013002733

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130204