WO2021054036A1 - 画像復号装置、画像復号方法及びプログラム - Google Patents

画像復号装置、画像復号方法及びプログラム Download PDF

Info

Publication number
WO2021054036A1
WO2021054036A1 PCT/JP2020/031560 JP2020031560W WO2021054036A1 WO 2021054036 A1 WO2021054036 A1 WO 2021054036A1 JP 2020031560 W JP2020031560 W JP 2020031560W WO 2021054036 A1 WO2021054036 A1 WO 2021054036A1
Authority
WO
WIPO (PCT)
Prior art keywords
merge
motion vector
index
unit
pel
Prior art date
Application number
PCT/JP2020/031560
Other languages
English (en)
French (fr)
Inventor
佳隆 木谷
圭 河村
恭平 海野
内藤 整
Original Assignee
Kddi株式会社
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 Kddi株式会社 filed Critical Kddi株式会社
Priority to CN202080057643.3A priority Critical patent/CN114303379A/zh
Publication of WO2021054036A1 publication Critical patent/WO2021054036A1/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/513Processing of motion vectors
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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

Definitions

  • the present invention relates to an image decoding device, an image decoding method, and a program.
  • Non-Patent Document 1 there is a technique for deriving a motion vector (hereinafter, mv) called merge coding (hereinafter, merge) and adaptive vector coding (hereinafter, AMVP) for a technique called motion compensation prediction (hereinafter, MC prediction).
  • merge merge coding
  • AMVP adaptive vector coding
  • MC prediction motion compensation prediction
  • the first is the same interpolation filter as Non-Patent Document 2 (hereinafter, HEVC filter), and the second is the interpolation filter newly introduced in Non-Patent Document 1 (hereinafter, smoothing filter). ..
  • the above-mentioned smoothing filter is limited to the case where the reference destination of mv is at the 1/2 pixel accuracy position, and further, the above-mentioned smoothing is performed. It is applied only when the half-pel index (hereinafter, hpelIfIdx) indicating whether or not the conversion filter is valid indicates that it is valid. Otherwise, the HEVC filter is applied.
  • hpelIfIdx half-pel index
  • the above-mentioned hpelIfIdx is inherited from the adjacent block that has already been processed when the block to be encoded (hereinafter referred to as the target block) is a merge, and when the target block is AMVP, the value of hpelIfIdx from the derived mv. Is determined.
  • the present invention has been made in view of the above-mentioned problems, and by adding the judgment of the half-pel index to the judgment condition of the pruning process at the time of constructing the merge list or at the time of the history merge table, the smoothing filter can be used. It is an object of the present invention to provide an image decoding device, an image decoding method, and a program which can be expected to improve the coding performance as a result because the selection opportunity is increased.
  • the first feature of the present invention is an image decoding apparatus, which is configured to decode a motion vector and a half-pel index indicating whether or not the motion vector refers to a 1/2 pixel precision position from a merge index.
  • a motion vector refinement unit configured to refine the motion vector by MMVD (Merge Motion Vector Difference) or DMVR (Decoder-side Motion Vector Refinement), and a refined motion.
  • a motion compensation prediction pixel signal is obtained by using a filter determination unit configured to determine whether or not an insertion filter is used and an insertion filter type based on a vector and the half-pel index, and the insertion filter.
  • the merge unit includes a filter application unit configured to generate, and the merge unit generates a merge list by a predetermined merge list construction method, and from the merge list and the merge index, the motion vector and the half pel. It is configured to decode the index, the target block is a merge, and even if the motion vector corresponding to the merge index and the reference image index are the same in the merge section when the merge list is constructed.
  • the half-pel index corresponding to the merge index is different, the gist is that it is configured to be registered in the merge list as a different merge index.
  • a second feature of the present invention is an image decoding apparatus, which is configured to decode a motion vector and a half-pel index indicating whether or not the motion vector refers to a 1/2 pixel precision position from a merge index.
  • a motion vector refinement unit configured to refine the motion vector by MMVD (Merge Motion Vector Difference) or DMVR (Decoder-side Motion Vector Refinement), and a refined motion.
  • a motion compensation prediction pixel signal is obtained by using a filter determination unit configured to determine whether or not an insertion filter is used and an insertion filter type based on a vector and the half-pel index, and the insertion filter.
  • the merge unit includes a filter application unit configured to generate, and the merge unit generates a merge list by a predetermined merge list construction method, and from the merge list and the merge index, the motion vector and the half pel. It is configured to decode the index, the target block is a merge, and even if the motion vector corresponding to a different history merge candidate and the reference image index are the same in the merge part when constructing the history merge table.
  • the half-pel index corresponding to the history merge candidate is different, the gist is that it is configured to be registered in the history merge table as a different history merge candidate.
  • a third feature of the present invention is an image decoding apparatus, which is configured to decode a motion vector and a half-pel index indicating whether or not the motion vector refers to a 1/2 pixel precision position from a merge index.
  • a motion vector refinement unit configured to refine the motion vector by MMVD (Merge Motion Vector Difference) or DMVR (Decoder-side Motion Vector Refinement), and a refined motion.
  • a motion compensation prediction pixel signal is obtained by using a filter determination unit configured to determine whether or not an insertion filter is used and an insertion filter type based on a vector and the half-pel index, and the insertion filter.
  • the merge unit includes a filter application unit configured to generate, and the merge unit generates a merge list by a predetermined merge list construction method, and from the merge list and the merge index, the motion vector and the half pel. It is configured to decrypt the index, the target block is a merge, and the merge part inherits the half-pel index of the reference block when the merge index by time merge is registered in the merge list.
  • the gist is that it is configured to be registered in the merge list.
  • a fourth feature of the present invention is an image decoding method, in which a motion vector and a step A of decoding a half-pel index indicating whether or not the motion vector refers to a 1/2 pixel accuracy position are obtained from a merge index.
  • An interposition filter based on the step B of refining the motion vector by MMVD (Merge Motion Vector Difference) or DMVR (Decoder-side Motion Vector Refinement), the refined motion vector, and the half-pel index.
  • a step C for determining the use / non-use and the type of the interposition filter and a step D for generating a motion compensation prediction pixel signal using the interposition filter are provided, and in the step A, a predetermined merge list construction method is used.
  • a merge list is generated, the motion vector and the half-pel index are decoded from the merge list and the merge index, the target block is a merge, and the merge unit is a different merge index when the merge list is constructed. Even if the motion vector corresponding to and the reference image index are the same, if the half-pel index corresponding to the merge index is different, the gist is to register the motion vector as a different merge index in the merge list.
  • a fifth feature of the present invention is a program that causes a computer to function as an image decoding device, and the image decoding device refers to a motion vector and a 1/2 pixel accuracy position from the merge index.
  • the motion vector is refined by an merging unit configured to decode the half-pel index indicating whether or not, and MMVD (Merge Motion Vector Difference) or DMVR (Decoder-side Motion Vector Reference).
  • MMVD Merge Motion Vector Difference
  • DMVR Decoder-side Motion Vector Reference
  • the motion vector refinement unit the filter determination unit configured to determine the use / non-use of the interposition filter and the interposition filter type based on the refined motion vector and the half-pel index, and the above-mentioned
  • the merge unit includes a filter application unit configured to generate a motion compensation prediction pixel signal using an interpolating filter, and the merge unit generates a merge list by a predetermined merge list construction method, and the merge list is generated.
  • the merge index are configured to decode the motion vector and the half-pel index, the target block is a merge, and the merge unit corresponds to the merge index that is different when the merge list is constructed. Even if the motion vector and the reference image index are the same, if the half-pel index corresponding to the merge index is different, it is configured to be registered in the merge list as a different merge index. ..
  • the selection opportunity of the smoothing filter is increased, and as a result, the coding is performed. It is possible to provide an image decoding device, an image decoding method, and a program that can be expected to improve performance.
  • FIG. It is a figure which shows an example of the functional block of the mv refinement part 241B of the image decoding apparatus 200 which concerns on one Embodiment. It is a flowchart which shows an example of the merge list construction process which concerns on one Embodiment.
  • FIG. 1 is a diagram showing an image processing system 10 according to the present embodiment.
  • the image processing system 10 includes an image coding device 100 and an image decoding device 200.
  • the image coding device 100 is configured to generate coded data by coding the input image signal.
  • the image decoding device 200 is configured to generate an output image signal by decoding the coded data.
  • the coded data may be transmitted from the image coding device 100 to the image decoding device 200 via a transmission line.
  • the coded data may be stored in the storage medium and then provided from the image coding device 100 to the image decoding device 200.
  • FIG. 2 is a diagram showing an example of a functional block of the image coding apparatus 100 according to the present embodiment.
  • the image coding device 100 includes an inter-prediction unit 111, an intra-prediction unit 112, a subtractor 121, an adder 122, a conversion / quantization unit 131, and an inverse conversion / inverse quantization. It has a unit 132, an encoding unit 140, an in-loop filter processing unit 150, and a frame buffer 160.
  • the inter-prediction unit 111 is configured to generate a prediction signal by inter-prediction (inter-frame prediction).
  • the inter-prediction unit 111 identifies and identifies the reference block included in the reference frame by comparing the frame to be encoded (hereinafter referred to as the target frame) with the reference frame stored in the frame buffer 160. It is configured to determine the motion vector (mv) for the reference block.
  • the inter-prediction unit 111 is configured to generate a prediction signal included in a block to be encoded (hereinafter, a target block) based on a reference block and a motion vector for each target block.
  • the inter-prediction unit 111 is configured to output a prediction signal to the subtractor 121 and the adder 122.
  • the reference frame is a frame different from the target frame.
  • the intra prediction unit 112 is configured to generate a prediction signal by intra prediction (in-frame prediction).
  • the intra prediction unit 112 is configured to specify a reference block included in the target frame and generate a prediction signal for each target block based on the specified reference block. Further, the intra prediction unit 112 is configured to output a prediction signal to the subtractor 121 and the adder 122.
  • the reference block is a block that is referenced for the target block.
  • the reference block is a block adjacent to the target block.
  • the subtractor 121 is configured to subtract the prediction signal from the input image signal and output the prediction residual signal to the conversion / quantization unit 131.
  • the subtractor 121 is configured to generate a prediction residual signal, which is the difference between the prediction signal generated by the intra prediction or the inter prediction and the input image signal.
  • the adder 122 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 132 to generate a pre-filter processing decoding signal, and the pre-filter processing decoding signal is combined with the intra prediction unit 112 and the input. It is configured to output to the loop filter processing unit 150.
  • the pre-filtered decoding signal constitutes a reference block used by the intra prediction unit 112.
  • the conversion / quantization unit 131 is configured to perform conversion processing of the predicted residual signal and acquire a coefficient level value. Further, the conversion / quantization unit 131 may be configured to quantize the coefficient level value.
  • the conversion process is a process of converting the predicted residual signal into a frequency component signal.
  • a base pattern (transformation matrix) corresponding to the discrete cosine transform (DCT: Discrete Cosine Transform) may be used, or a base pattern (transformation matrix) corresponding to the discrete sine transform (DST: Discrete Sine Transform). May be used.
  • the inverse conversion / inverse quantization unit 132 is configured to perform an inverse conversion process of the coefficient level value output from the conversion / quantization unit 131.
  • the inverse conversion / inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level value prior to the inverse conversion process.
  • the inverse conversion process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion / quantization unit 131.
  • the coding unit 140 is configured to encode the coefficient level value output from the conversion / quantization unit 131 and output the coded data.
  • coding is entropy coding in which codes of different lengths are assigned based on the probability of occurrence of a coefficient level value.
  • the coding unit 140 is configured to encode the control data used in the decoding process in addition to the coefficient level value.
  • control data may include size data such as a coding block (CU: Coding Unit) size, a prediction block (PU: Precision Unit) size, and a conversion block (TU: Transfer Unit) size.
  • CU Coding Unit
  • PU prediction block
  • TU Transfer Unit
  • control data may include header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header as described later.
  • SPS sequence parameter set
  • PPS picture parameter set
  • slice header as described later.
  • the in-loop filter processing unit 150 is configured to perform filter processing on the pre-filter processing decoding signal output from the adder 122 and output the post-filter processing decoding signal to the frame buffer 160.
  • the filtering process is a deblocking filtering process that reduces the distortion that occurs at the boundary portion of the block (encoded block, prediction block, or conversion block).
  • the frame buffer 160 is configured to store reference frames used by the inter-prediction unit 111.
  • the decoded signal after filtering constitutes a reference frame used by the inter-prediction unit 111.
  • the image coding device 100 includes an inter-prediction unit 111, an intra-prediction unit 112, a subtractor 121, an adder 122, a conversion / quantization unit 131, and an inverse conversion / inverse quantization. It has a unit 132, an encoding unit 140, an in-loop filter processing unit 150, and a frame buffer 160.
  • the inter-prediction unit 111 is configured to generate a prediction signal by inter-prediction (inter-frame prediction).
  • the inter-prediction unit 111 identifies and identifies the reference block included in the reference frame by comparing the frame to be encoded (hereinafter referred to as the target frame) with the reference frame stored in the frame buffer 160. It is configured to determine the motion vector (mv) for the reference block.
  • the inter-prediction unit 111 is configured to generate a prediction signal included in a block to be encoded (hereinafter, a target block) based on a reference block and a motion vector for each target block.
  • the inter-prediction unit 111 is configured to output a prediction signal to the subtractor 121 and the adder 122.
  • the reference frame is a frame different from the target frame.
  • the intra prediction unit 112 is configured to generate a prediction signal by intra prediction (in-frame prediction).
  • the intra prediction unit 112 is configured to specify a reference block included in the target frame and generate a prediction signal for each target block based on the specified reference block. Further, the intra prediction unit 112 is configured to output a prediction signal to the subtractor 121 and the adder 122.
  • the reference block is a block that is referenced for the target block.
  • the reference block is a block adjacent to the target block.
  • the subtractor 121 is configured to subtract the prediction signal from the input image signal and output the prediction residual signal to the conversion / quantization unit 131.
  • the subtractor 121 is configured to generate a prediction residual signal, which is the difference between the prediction signal generated by the intra prediction or the inter prediction and the input image signal.
  • the adder 122 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 132 to generate a pre-filter processing decoding signal, and the pre-filter processing decoding signal is combined with the intra prediction unit 112 and the input. It is configured to output to the loop filter processing unit 150.
  • the pre-filtered decoding signal constitutes a reference block used by the intra prediction unit 112.
  • the conversion / quantization unit 131 is configured to perform conversion processing of the predicted residual signal and acquire a coefficient level value. Further, the conversion / quantization unit 131 may be configured to quantize the coefficient level value.
  • the conversion process is a process of converting the predicted residual signal into a frequency component signal.
  • a base pattern (transformation matrix) corresponding to the discrete cosine transform (DCT: Discrete Cosine Transform) may be used, or a base pattern (transformation matrix) corresponding to the discrete sine transform (DST: Discrete Sine Transform). May be used.
  • the inverse conversion / inverse quantization unit 132 is configured to perform an inverse conversion process of the coefficient level value output from the conversion / quantization unit 131.
  • the inverse conversion / inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level value prior to the inverse conversion process.
  • the inverse conversion process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion / quantization unit 131.
  • the coding unit 140 is configured to encode the coefficient level value output from the conversion / quantization unit 131 and output the coded data.
  • coding is entropy coding in which codes of different lengths are assigned based on the probability of occurrence of a coefficient level value.
  • the coding unit 140 is configured to encode the control data used in the decoding process in addition to the coefficient level value.
  • control data may include size data such as a coding block (CU: Coding Unit) size, a prediction block (PU: Precision Unit) size, and a conversion block (TU: Transfer Unit) size.
  • CU Coding Unit
  • PU prediction block
  • TU Transfer Unit
  • control data may include header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header as described later.
  • SPS sequence parameter set
  • PPS picture parameter set
  • slice header as described later.
  • the in-loop filter processing unit 150 is configured to perform filter processing on the pre-filter processing decoding signal output from the adder 122 and output the post-filter processing decoding signal to the frame buffer 160.
  • the filtering process is a deblocking filtering process that reduces the distortion that occurs at the boundary portion of the block (encoded block, prediction block, or conversion block).
  • the frame buffer 160 is configured to store reference frames used by the inter-prediction unit 111.
  • the decoded signal after filtering constitutes a reference frame used by the inter-prediction unit 111.
  • FIG. 3 is a diagram showing an example of a functional block of the inter-prediction unit 111 of the image coding apparatus 100 according to the present embodiment.
  • the inter-prediction unit 111 includes an mv derivation unit 111A, an AMVR unit 111B, an mv refinement unit 111B, and a prediction signal generation unit 111D.
  • the inter-prediction unit 111 is an example of a prediction unit configured to generate a prediction signal included in a target block based on a motion vector.
  • the mv derivation unit 111A has an AMVP (Adaptive Motion Vector Prediction) unit 111A1 and a merge unit 111A2, receives a target frame and a reference frame from the frame buffer 160 as inputs, and acquires a motion vector. It is configured to do.
  • AMVP Adaptive Motion Vector Prediction
  • the AMVP unit 111A1 is configured to identify a reference block included in the reference frame by comparing the target frame with the reference frame and search for a motion vector for the specified reference block.
  • the above-mentioned search process is performed on a plurality of reference frame candidates, the reference frame and motion vector used for prediction in the target block are determined, and output to the prediction signal generation unit 111D in the subsequent stage.
  • a maximum of two reference frames and motion vectors can be used for one block.
  • the case where only one set of reference frame and motion vector is used for one block is called “single prediction”, and the case where two sets of reference frame and motion vector are used is called “double prediction”.
  • the first set is referred to as "L0”
  • the second set is referred to as "L1”.
  • the AMVP unit 111A is a motion vector predictor derived from an adjacent encoded motion vector in order to reduce the amount of code when the above-determined motion vector is finally transmitted to the decoding device. From the candidates of mvp: motion vector (predictor), select an mbp in which the difference from the motion vector of the target block, that is, the motion vector difference (mvd: motion vector difference) is small.
  • the index indicating the mvp and mvd selected in this way and the index indicating the reference frame (hereinafter referred to as Refidx) are encoded by the coding unit 140 and transmitted to the image decoding device 200.
  • Such a process is generally called adaptive motion vector prediction coding (AMVP: Adaptive: Motion Vector Selection).
  • the AMVR unit 111B has an AMVR (Adaptive Motion Vector Resolution) function that changes the transmission accuracy of the mvd calculated by the AMVP unit 111A.
  • AMVR Adaptive Motion Vector Resolution
  • changing the transmission accuracy of mvd means changing the accuracy of the motion vector itself of the target block.
  • Non-Patent Document 1 three types of variations in mvd transmission accuracy by AMVR are prepared.
  • the normal mvd transmission accuracy is 1/16 pixel accuracy, and at this time, the motion vector finally refers to the position of 1/16 pixel accuracy, but when AMVR is enabled, the transmission accuracy of mvd is It is selected from 1/4 pixel accuracy, 1/2 pixel accuracy, and 1 pixel accuracy (that is, integer pixel accuracy).
  • the transmission accuracy of mvd is selected to be 1/4 pixel accuracy, 1/16 pixel accuracy, or 1 pixel accuracy.
  • the affine is an affine of Non-Patent Document 1.
  • Non-Patent Document 1 only when 1/2 pixel accuracy is selected as the transmission accuracy of mvd described above, it is different from the interpolation filter applied when other than 1/2 pixel accuracy is selected.
  • the interpolation filter is selected by the prediction signal generation unit 111D in the subsequent stage. Details will be described later.
  • the AMVR unit 111B determines that the AMVR processing is effective, the flag indicating that the AMVR is effective and the index indicating the accuracy at which the mvd is corrected by the AMVR are transmitted to the image decoding apparatus 200.
  • the motion information of the target block is searched and derived like the AMVP unit 111A1, and is not transmitted as mvd as the difference from the adjacent block, but the target frame and the reference frame are input to the target block.
  • Adjacent blocks in the same frame or blocks at the same position in a frame different from the target frame are used as reference blocks, and the motion information of the reference blocks is inherited and used as it is.
  • merge merge coding
  • the target block is a merge
  • the merge list is a list in which a plurality of combinations of reference frames and motion vectors are listed.
  • An index (hereinafter referred to as a merge index) is assigned to each combination, and instead of individually encoding the Refidx and motion vector information, only the above-mentioned merge index is encoded and transmitted to the image decoding apparatus 200.
  • the image decoding device 200 side decodes the Refidx and motion vector information only from the merge index information. can do. The details of how to create the merge list will be described later.
  • the mv refinement unit 111C is configured to perform a refinement process for correcting the motion vector output from the merge unit 111A2. Details will be described later.
  • the prediction signal generation unit 111D is configured to output an MC prediction image signal by inputting a motion vector, and has a filter determination unit 111D1 and a filter application unit 111D2.
  • the filter determination unit 111D1 determines whether or not the interpolation filter is applied and the filter type based on the motion vector. Details will be described later.
  • the filter application unit 111D2 is configured to generate a prediction signal from the selected interpolation filter, motion vector, and reference frame when the filter determination unit 111D1 determines that the interpolation filter is valid.
  • the filter determination unit 111D1 determines that the interpolation filter is invalid, the interpolation filter is not used and a prediction signal is generated from the motion vector and the reference frame.
  • FIG. 4 is a diagram showing an example of a functional block of the image decoding apparatus 200 according to the present embodiment.
  • the image decoding device 200 includes a decoding unit 210, an inverse conversion / inverse quantization unit 220, an adder 230, an inter-prediction unit 241 and an intra-prediction unit 242, and an in-loop filter processing unit. It has 250 and a frame buffer 260.
  • the decoding unit 210 is configured to decode the coded data generated by the image coding device 100 and decode the coefficient level value.
  • the decoding is, for example, the entropy decoding in the reverse procedure of the entropy coding performed by the coding unit 140.
  • the decoding unit 210 may be configured to acquire the control data by the decoding process of the coded data.
  • control data may include size data such as a coded block size, a predicted block size, and a conversion block size.
  • the inverse conversion / inverse quantization unit 220 is configured to perform an inverse conversion process of the coefficient level value output from the decoding unit 210.
  • the inverse conversion / inverse quantization unit 220 may be configured to perform inverse quantization of the coefficient level value prior to the inverse conversion process.
  • the inverse conversion process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion / quantization unit 131.
  • the adder 230 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 220 to generate a pre-filter processing decoding signal, and uses the pre-filter processing decoding signal as an intra prediction unit 242 and an in-loop. It is configured to output to the filter processing unit 250.
  • the pre-filtered decoding signal constitutes a reference block used in the intra prediction unit 242.
  • the inter-prediction unit 241 is configured to generate a prediction signal by inter-prediction (inter-frame prediction).
  • the inter-prediction unit 241 is configured to generate a prediction signal for each prediction block based on the motion vector decoded from the coded data and the reference signal included in the reference frame.
  • the inter-prediction unit 241 is configured to output a prediction signal to the adder 230.
  • the intra prediction unit 242 is configured to generate a prediction signal by intra prediction (in-frame prediction).
  • the intra prediction unit 242 is configured to specify a reference block included in the target frame and generate a prediction signal for each prediction block based on the specified reference block.
  • the intra prediction unit 242 is configured to output a prediction signal to the adder 230.
  • the in-loop filter processing unit 250 performs filter processing on the pre-filter processing decoding signal output from the adder 230, and outputs the post-filter processing decoding signal to the frame buffer 260. It is configured to do.
  • the filtering process is a deblocking filtering process that reduces the distortion that occurs at the boundary portion of a block (encoded block, prediction block, conversion block, or sub-block that divides them).
  • the frame buffer 260 is configured to store reference frames used by the inter-prediction unit 241.
  • the decoded signal after filtering constitutes a reference frame used by the inter-prediction unit 241.
  • FIG. 5 is a diagram showing an example of a functional block of the inter-prediction unit 241 according to the present embodiment.
  • the inter-prediction unit 241 has an mv decoding unit 241A, an mv refinement unit 241B, and a prediction signal generation unit 111C.
  • the inter-prediction unit 241 is an example of a prediction unit configured to generate a prediction signal included in a prediction block based on a motion vector.
  • the mv decoding unit 241A has an AMVP unit 241A1 and a merge unit 241A2, and obtains a motion vector by decoding a target frame and a reference frame input from the frame buffer 260 and control data received from the image coding device 100. It is configured to get.
  • the AMVP unit 241A1 receives the target frame and the reference frame, the index indicating the mvp and mvd, the Refidx, and the index indicating the transmission accuracy of the mvd from the AMVR unit 111B from the image coding device 100, and decodes the motion vector. It is configured in. As for the motion vector decoding method, a known method can be adopted, and the details thereof will be omitted.
  • the merging unit 241A2 is configured to receive the merging index from the image coding device 100 and decode the motion vector.
  • the merge unit 241A2 is configured to construct a merge list in the same manner as the image coding apparatus 100 and acquire the motion vector corresponding to the received merge index from the constructed merge list. .. The details of how to construct the merge list will be described later.
  • the mv refinement unit 241B is configured to execute a refinement process for modifying the motion vector, similarly to the refinement unit 111C.
  • the prediction signal generation unit 241C has a filter determination 241C1 and a filter application unit 241C2, and is configured to generate a prediction signal based on a motion vector, similarly to the prediction signal generation unit 111C.
  • the filter determination unit 241C1 of the image decoding device 200 has exactly the same configuration as the filter determination unit 111D1 of the image coding device 100, the operation of the filter determination unit 111D1 will be described below as a representative in the present embodiment. ..
  • FIG. 6 is a flowchart showing an example of whether or not the interpolation filter is applied and the order of determination processing of the filter type in the filter determination unit 111D1 according to the present embodiment.
  • step S6-1 the filter determination unit 111D1 determines whether or not the reference position of the mv is a decimal pixel position.
  • this process proceeds to step S6-2, and when the reference position of mv is not a decimal pixel position, that is, when the reference position of mv is an integer pixel value position, the process proceeds to step S6-2.
  • This process proceeds to step S6-3.
  • step S6-2 the filter determination unit 111D1 determines that the interpolation filter is applied, and this process proceeds to step S6-4.
  • step S6-3 the filter determination unit 111D1 determines that the interpolation filter is not applied, and ends this process.
  • step S6-4 the filter determination unit 111D1 determines whether or not the half-pel index (hpelIfIdx) described later is invalid, that is, "0". If hpelIfIdx is "0”, the process proceeds to step S6-5, and if hpelIfIdx is valid, that is, not "0", the process proceeds to step S6-6.
  • hpelIfIdx the half-pel index
  • step S6-5 the filter determination unit 111D1 determines that the HEVC filter will be used as the interpolation filter, and ends this process.
  • the HEVC filter is an 8-tap linear interpolation filter similar to Non-Patent Document 2.
  • step S6-6 the filter determination unit 111D1 determines that a smoothing filter is used as the interpolation filter.
  • Non-Patent Document 1 a 6-tap Gaussian filter adopted in Non-Patent Document 1 may be used. Further, the use of a plurality of filters may be set as the interpolation filter according to the value indicated by hpelIfIdx.
  • the use of two or more types of interpolation filters can be adaptively switched based on hpelIfIdx, so that the interpolation used in accordance with the image characteristics can be used. Since the filter can be selected, the effect of improving the coding performance can be expected as a result.
  • FIG. 7 is a flowchart showing an example of the determination processing order of hpelIfIdx in the filter determination unit 111D1 according to the present embodiment.
  • hpelIfIdx is involved in the determination of the type of the interpolation filter, and when hpelIfIdx is "0", that is, when it is invalid, the same interpolation filter as in Non-Patent Document 2 is used. On the other hand, if hpelIfIdx is not "0", that is, it is valid, a smoothing filter is used.
  • hpelIfIdx is obtained from the reference block by combining the motion vector and RefIdx, and is associated with the merge index.
  • the value of hpelIfIdx is determined depending on whether or not AMVR is applied and predetermined conditions described above.
  • the filter determination unit 111D1 determines whether AMVR is effective or not. For the determination, for example, as in Non-Patent Document 1, the determination may be made by decoding a flag (amvr_flag) indicating whether or not AMVR is applied.
  • the determination may be made by decoding a flag (amvr_flag) indicating whether or not AMVR is applied.
  • step S7-1 if it is determined that AMVR is valid, this process proceeds to step S7-2, and if it is determined that AMVR is invalid, this process proceeds to step S7-3.
  • step S7-2 the filter determination unit 111D1 determines whether or not the value of hpelIfIdx is "0" under the predetermined condition 1.
  • step S7-2 If it is determined in step S7-2 that the predetermined condition 1 is satisfied, the present process proceeds to step S7-4, and if it is determined that the predetermined condition 1 is not satisfied, the present process proceeds to step S7-4. The process proceeds to step S7-5.
  • the index (amvr_precision_idx) indicating the transmission accuracy of AMVR may be decoded and determined, and the predetermined condition 1 may be set when the transmission accuracy of AMVR is 1/2 pixel accuracy. It is determined that the condition is satisfied, and in other cases, it is determined that the predetermined condition 1 is not satisfied.
  • the predetermined condition 1 of step S7-2 it may be determined whether or not the target block is an affine. If the target block is an affine, it is determined that the predetermined condition 1 is not satisfied, and if it is not an affine, it is determined as amvr_precision_idx. Determines that the predetermined condition 1 is satisfied when the transmission accuracy of mvd indicates 1/2 pixel accuracy.
  • the affine is an affine adopted in Non-Patent Document 1, and since it is possible to adopt a known method in the present invention, the description thereof will be omitted.
  • the predetermined condition 1 of step S7-2 it may be determined whether the target block is IBC. If the target block is IBC, it is determined that the predetermined condition 1 is not satisfied, and if it is not IBC, it is determined as amvr_precision_idx. Determines that the predetermined condition 1 is satisfied when the transmission accuracy of mvd indicates a 1/2 pixel accuracy.
  • the IBC is an IBC (Intra_Block_Copy) adopted in Non-Patent Document 1, and since it is possible to adopt a known method in the present invention, the description thereof will be omitted.
  • step S7-3 the filter determination unit 111D1 determines that hpelIfIdx is "0" and ends this process.
  • step S7-4 the filter determination unit 111D1 determines that hpelIfIdx is "1" and ends this process.
  • step S7-5 the filter determination unit 111D1 determines that hpelIfIdx is "0" and ends this process.
  • the filter determination unit 111D1 has the decoding results of amvr_flag, amvr_precision_idx, and inter_affine_flag, and the target block is IBC.
  • the Avmrrshift value may be determined based on whether or not the value is, and the value of hpelIfidx may be determined based on the Amvr_shift value.
  • the mv refinement unit 241B (Mv refinement department)
  • the mv refinement unit 241B will be described with reference to FIG. Since the mv refinement unit 111C of the encoding device has exactly the same configuration as the mv refinement unit 241B of the decoding device, the mv refinement unit 241B will be described as a representative in this embodiment.
  • FIG. 9 is a diagram showing an example of a functional block of the mv refinement unit 241B according to the present embodiment.
  • the mv refinement unit 241B has an MMVD unit 241B1 and a DMVR unit 241B2.
  • the motion vector is refined by the MMVD (Merge mode with MVD) and DMVR (Decoder side Motion Vector Refine) adopted in Non-Patent Document 1.
  • the MMVD unit 241B1 sets the correction range of the reference position by the distance and the direction (vertical and horizontal) as shown in FIG. 9 with reference to the reference position of the motion vector output from the merge unit 111A2. It is configured as follows.
  • the MMVD unit 241B1 is configured to specify the correction position having the lowest predetermined cost from the correction range for the correction distance, and perform a refinement process of correcting the motion vector based on the correction reference position.
  • the DMVR unit 241B2 sets a search range with reference to the reference position specified by the motion vector output from the merge unit 111A2, identifies the correction reference position having the lowest predetermined cost from the search range, and makes a correction reference. It is configured to perform a refinement process that modifies the motion vector based on its position.
  • the mv refinement unit 241B also determines whether or not MMVD is applied to the target block and whether or not DMVR is applied.
  • the known method described in Non-Patent Document 1 is used in the present invention. Is possible, so the description will be omitted.
  • the motion vector output from the merging unit 111A2 is directly output to the prediction signal generation unit 241C in the subsequent stage without being modified.
  • FIG. 10 is a flowchart showing an example of the merge list construction process according to the present embodiment.
  • the merge list construction process according to the present invention is composed of a total of five merge list construction processes, as in Non-Patent Document 1.
  • step S10-5 the process of constructing a merge list by spatial merging in step S10-1, time merging in step S10-2, history merging in step S10-3, pairwise average merging in step S10-4, and zero merging in step S10-5. Consists of. Each merge list construction process will be described later.
  • FIG. 11 is a diagram showing an example of a merge list generated in the merge list construction process according to the present embodiment.
  • the merge list is a list in which motion vectors, Refidx, and hepelIfIdx corresponding to the merge index are registered.
  • the maximum number of merge indexes is set to "5" in Non-Patent Document 1, but it may be freely set according to the intention of the designer.
  • mvL0, mvL1, RefIdxL0, and RefIdxL1 in FIG. 11 indicate motion vectors and reference image indexes of the reference image lists L0 and L1, respectively.
  • the reference image lists L0 and L1 indicate a list in which reference frames are registered, and the reference frame is specified by RefIdx.
  • the merge list shown in FIG. 11 shows the motion vectors of both L0 and L1 and the reference image index, but it may be one-way prediction depending on the reference block. In that case, the motion vector and the reference image index for one direction are registered in the merge list. If the motion vector does not exist in the reference block in the first place, the process of constructing the merge list for the reference block is skipped.
  • FIG. 12 is a diagram showing a spatial merge.
  • Spatial merging is a technique that inherits mv, RefIdx, and hpelIfIdx from adjacent blocks existing in the same frame as the target block.
  • pruning processing In the merge list processing, parameters are registered in the merge list in the above processing order, but there is a check mechanism that prevents the same motion vector and reference image index from being registered in the merge list. This is called pruning processing.
  • the reason for the existence of the pruning process is to increase the variation of the motion vector registered in the merge list and the reference image index. From the viewpoint of the image coding apparatus 100, the motion vector having the smallest predetermined cost in accordance with the image characteristics is used. This means that the image decoding device 200 can generate a prediction signal with high prediction accuracy based on the selected motion vector and the reference image index, and as a result, the effect of improving the coding performance can be obtained. The point is that you can expect it.
  • the identity of the motion vector registered in the adjacent block A 1 and the reference image index is confirmed in the adjacent block B 1 in the next processing order, and if it is registered. If the identity is confirmed, the motion vector and the reference image index of the adjacent block B 1 are not registered in the merge list.
  • the target blocks of the adjacent block B 0 , the adjacent block A 0 , and the adjacent block B 2 are the target blocks other than the check of the identity between the motion vector already registered in the merge list and the reference image index. There is a confirmation of whether it is a triangle merge.
  • the determination by this triangle merge may be added to the pruning process, and a known method can be adopted as the triangle merge, so the description thereof will be omitted.
  • Non-Patent Document 1 a registered maximum possible number of merged index by spatial merging is set to "4", with respect to the adjacent block B 2, the spatial merging process so far, already four merge indexing If so, the processing of B 2 is skipped.
  • the processing of the adjacent block B 2 may be determined by the number of existing merge index registrations.
  • FIG. 13 is a diagram showing a time merge.
  • the adjacent block (C 1 in FIG. 13) at the lower left at the same position or the block at the same position (C 0 in FIG. 13), which exists in a frame different from the target block, is specified as a reference block. It is a technology that inherits motion vectors and reference image indexes.
  • FIG. 14 is a diagram showing such a scaling process.
  • reference is made based on the distance tb between the reference frame of the target block and the frame in which the target frame exists and the distance td between the reference frame of the reference block and the reference frame of the reference block.
  • the mv of the block is scaled as follows.
  • FIG. 15 is a diagram showing a history merge.
  • history merging the motion vector, reference image index, and half-pel index of the inter-prediction block encoded in the past than the target block are separately stored in a storage area called the history merge table, and the merge list is the first stage. It is a technology to register the merge index registered in the history merge table in the merge list when it is not filled by the spatial merge process and the time merge process.
  • FIG. 15 is a diagram showing an example of the history merge table construction process, in which the motion vector, the reference image index, and the half-pel index corresponding to the previously encoded blocks are registered in the history merge table by the history merge index. It has a structure of
  • the maximum number of registered history merge indexes of this history merge table is set to "6" at the maximum, but it may be freely set according to the intention of the designer.
  • the process of registering the history merge index in this history merge table is a FIFO process, and when the history merge table is full, every time a new history merge table is added, the last registered history merge index is displayed. It is configured to be deleted.
  • the history merge index registered in the history merge table may be initialized when the target block straddles the coded tree block (CTU: Coding Tree Block) as in Non-Patent Document 1.
  • CTU Coding Tree Block
  • FIG. 16 is a diagram showing a pair of a new motion vector calculated by pairwise average merging and a half-pel index.
  • Pairwise average merging is to generate a new motion vector, reference image index, and half-pel index using the motion vector, reference image index, and half-pel index corresponding to the two sets of merge indexes already registered in the merge list. It is a technology to do.
  • the 0th and 1st merge indexes registered in the merge list may be fixedly used as in Non-Patent Document 1, or the designer may use them. You may freely set another combination of two sets with the intention of.
  • the new motion vector generation method in the pairwise average merge is generated by averaging the motion vectors corresponding to the two sets of merge indexes in the merge list.
  • the motion vectors in the L0 and L1 directions mvL0P 0 / mvL1P 0 and mvL0P 1 / mvL1P.
  • the motion vectors of pairwise average merge, mvL0Avg and mvL1Avg are calculated independently as follows.
  • mvL0Avg (mvL0P 0 + mvL0P 1 ) / 2
  • mvL1Avg (mvL1P 0 + mvL1P 1 ) / 2
  • the above calculation is performed except for the motion vector that does not exist.
  • Non-Patent Document 1 defines to always use a reference image index RefIdxL0P 0 and RefIdxL1P 0 brute string reference picture index brute cord pair-wise average merge index merge index P 0.
  • the new half-pel index hpelIfIdxAvg generated by the pairwise average merge has two sets corresponding to the two sets of merge indexes already registered in the merge list, as shown in FIGS. 17 (a) and 17 (b). It is set based on the half-pel index hpelIfIdxP 0 and hpelIfIdxP 1 of.
  • step S17-1 it is determined whether or not hpelIfIdxP 0 and hpelIfIdxP 1 are the same. If they are the same, the process proceeds to step S17-2, and if they are not the same, the process proceeds to step S17-3.
  • step S17-2 hpelIfIdxAvg is set to hpelIfIdxP 0.
  • step S17-3 hpelIfIdxAvg is invalid, that is, set to "0".
  • FIG. 17 (b) is a diagram showing an example of merging list construction according to the present embodiment.
  • Non-Patent Document 1 when a merge index by time merge is registered in the merge list, the half-pel index corresponding to the merge index is always set to "0". Therefore, for time merging, in Non-Patent Document 1, the smoothing filter is not used, and when the motion vector refers to the decimal pixel precision position, the HEVC filter is always used. ..
  • the half-pel index of the time-consuming merge is not always set to "0", and the half-pel index of the reference block is inherited as it is and registered in the merge list.
  • Non-Patent Document 1 describes a check mechanism called pruning process so that a merge index having the same motion vector and reference image index is not registered in the merge list when the merge list is constructed.
  • This is aimed at increasing the variation of the motion vector registered in the merge list, and the increase in the selection variation of the motion vector is more predicted from the image coding apparatus 100 side in order to suppress the coding cost. This means that there will be more opportunities to select highly accurate motion vectors.
  • the MC prediction image when viewed from the image decoding device 200 side, the MC prediction image can be generated based on the motion vector with high prediction accuracy selected by the image coding device 100, and as a result, the effect of improving the coding performance can be expected.
  • Non-Patent Document 1 the half-pel index is not used for the determination of this pruning process, and the merge index has the same motion vector and reference image index as the existing merge index, but has a different half-pel index. Was not on the merge list.
  • the determination of the half-pel index is added to the pruning process in this merge list construction.
  • the merge index having a different half-pel index will be registered in the merge list.
  • the MC prediction image when viewed from the image decoding device 200 side, can be generated by using the interpolation filter that reduces the coding cost selected by the image coding device 100, and as a result, the effect of improving the coding performance is expected. it can.
  • Non-Patent Document 1 there is a check mechanism called pruning process so that history merge candidates having the same motion vector and reference image index are not registered in the history merge table when the history merge table is constructed.
  • this pruning process works, and the motion vector and reference index associated with the newly added history merge candidate are already registered history.
  • This history merge candidate is not added to the history merge table if it is the same as the motion vector and reference index associated with the merge candidate.
  • the MC prediction image when viewed from the image decoding device 200 side, the MC prediction image can be generated based on the motion vector with high prediction accuracy selected by the image coding device 100, and as a result, the effect of improving the coding performance can be expected.
  • Non-Patent Document 1 the half-pel index is not used for the determination of this pruning process, and the history has the same motion vector and reference image index as the existing history merge candidate, but has a different half-pel index.
  • the merge candidate was not registered in the history merge table.
  • the determination of the half-pel index is added to the pruning process in this history merge table construction.
  • the MC prediction image when viewed from the image decoding device 200 side, can be generated by using the interpolation filter that reduces the coding cost selected by the image coding device 100, and as a result, the effect of improving the coding performance is expected. it can.
  • the selection opportunity of the smoothing filter is increased, and as a result, the coding is performed. Performance improvement can be expected.
  • the above-mentioned image coding device 100 and image decoding device 200 may be realized by a program that causes a computer to execute each function (each process).
  • the present invention has been described by taking application to the image coding device 100 and the image decoding device 200 as an example, but the present invention is not limited to this, and the image coding is not limited to this. The same applies to an image coding system and an image decoding system having the functions of the device 100 and the image decoding device 200.

Landscapes

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

Abstract

本発明に係る画像復号装置200において、対象ブロックは、マージであり、マージリストの構築時に異なるマージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとしてマージリストに登録するように構成されている。

Description

画像復号装置、画像復号方法及びプログラム
 本発明は、画像復号装置、画像復号方法及びプログラムに関する。
 非特許文献1では、動き補償予測(以下、MC予測)という技術について、マージ符号化(以下、マージ)と適応ベクトル符号化(以下、AMVP)という動きベクトル(以下、mv)を導出する技術が用意されており、導出したmvを用いてMC予測画像信号を生成するための2種類の内挿フィルタが用意されている。
 1つ目は、非特許文献2と同じ内挿フィルタ(以下、HEVCフィルタ)であり、2つ目は、非特許文献1で新たに導入された内挿フィルタ(以下、平滑化フィルタ)である。
 いずれもmvの参照先が小数画素精度位置にある場合に適用されるが、上述の平滑化フィルタは、mvの参照先が1/2画素精度位置である場合に限定され、さらに、上述の平滑化フィルタが有効であるかどうかを示すハーフペルインデックス(以下、hpelIfIdx)が有効と示す場合にのみ適用される。それ以外の場合は、HEVCフィルタが適用される。
 上述のhpelIfIdxは、符号化対象のブロック(以下、対象ブロック)がマージである場合、既に処理が完了した隣接ブロックから継承され、対象ブロックがAMVPである場合は、導出されたmvからhpelIfIdxの値が決定される。
Versatile Video Coding(Draft 6)、JVET-N1001 ITU-T H.265 High Efficiency Video Coding
 しかしながら、上述の従来技術では、対象ブロックがマージである場合に、所定のマージリスト構築方法及びヒストリーマージテーブル構築方法により、マージリスト及びヒストリーマージテーブルを生成して、動きベクトルを導出するが、かかるマージリスト及びヒストリーマージテーブルの構築過程におけるpruning処理において、ハーフペルインデックスの同一性が確認されていないという問題点があった。
 そこで、本発明は、上述の課題に鑑みてなされたものであり、マージリスト構築時又はヒストリーマージテーブル時のpruning処理の判定条件に、ハーフペルインデックスの判定を追加することで、平滑化フィルタの選択機会が増加させられるため、結果として符号化性能の向上が期待できる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
 本発明の第1の特徴は、画像復号装置であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録するように構成されていることを要旨とする。
 本発明の第2の特徴は、画像復号装置であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、ヒストリーマージテーブルの構築時に異なるヒストリーマージ候補に対応する動きベクトルと参照画像インデックスとが同一であっても、前記ヒストリーマージ候補に対応するハーフペルインデックスが異なる場合には、異なるヒストリーマージ候補として前記ヒストリーマージテーブルに登録するように構成されていることを要旨とする。
 本発明の第3の特徴は、画像復号装置であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、時間マージによるマージインデックスが前記マージリストに登録される場合、参照ブロックのハーフペルインデックスを継承して前記マージリストに登録するように構成されていることを要旨とする。
 本発明の第4の特徴は、画像復号方法であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号する工程Aと、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化する工程Bと、洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定する工程Cと、前記内挿フィルタを用いて、動き補償予測画素信号を生成する工程Dとを備え、前記工程Aにおいて、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号し、対象ブロックは、マージであり、前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録することを要旨とする。
 本発明の第5の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、対象ブロックは、マージであり、前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録するように構成されていることを要旨とする。
 本発明によれば、マージリスト構築時又はヒストリーマージテーブル時のpruning処理の判定条件に、ハーフペルインデックスの判定を追加することで、平滑化フィルタの選択機会が増加させられるため、結果として符号化性能の向上が期待できる画像復号装置、画像復号方法及びプログラムを提供することができる。
一実施形態に係る画像処理システム1の構成の一例を示す図である。 一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。 一実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200のインター予測部241の機能ブロックの一例を示す図である。 一実施形態に係るフィルタ判定部111D1/241C1における内挿フィルタの適用有無及びフィルタ種別の判定処理の一例について示すフローチャートである。 一実施形態に係るに係るハーフペルインデックス(hpelIfIdx)の判定処理の一例について示すフローチャートである。 非特許文献1の判定処理について説明するための図である。 一実施形態に係る画像復号装置200のmv洗練化部241Bの機能ブロックの一例を示す図である。 一実施形態に係るマージリスト構築処理の一例について示すフローチャートである。 一実施形態に係るマージリスト構築処理にて生成されるマージリストの一例について示す図である。 一実施形態に係る空間マージの一例について示す図である。 一実施形態に係る時間マージの一例について示す図である。 一実施形態に係る時間マージにおける動きベクトルのスケーリング処理の一例について説明するための図である。 一実施形態に係るヒストリーマージの一例について示す図である。 一実施形態に係るペアワイズ平均マージにより算出される新たな動きベクトルとハーフペルインデックスとの組の一例について示す図である。 一実施形態に係るペアワイズ平均マージにより生成される新たなハーフペルインデックスの設定処理の一例について示すフローチャートである。 一実施形態に係るマージリスト構築例を示す図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1実施形態>
 以下、図1~図28を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る画像処理システム10について示す図である。
 図1に示すように、本実施形態に係る画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
 画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
 符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
(画像符号化装置100)
 以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
 図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
 インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
 また、インター予測部111は、参照ブロック及び動きベクトルに基づいて符号化対象のブロック(以下、対象ブロック)に含まれる予測信号を対象ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
 イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を対象ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
 ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
 減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
 加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
 変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
 ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT:Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST:Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
 逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
 ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
 また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
 ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
 また、制御データは後述するようにシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダなどのヘッダ情報を含んでも良い。
 インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
 ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
 フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
 図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
 インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
 また、インター予測部111は、参照ブロック及び動きベクトルに基づいて符号化対象のブロック(以下、対象ブロック)に含まれる予測信号を対象ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
 イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を対象ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
 ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
 減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
 加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
 変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
 ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT:Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST:Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
 逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
 ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
 また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
 ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
 また、制御データは後述するようにシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダなどのヘッダ情報を含んでも良い。
 インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
 ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
 フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
 (インター予測部111)
 以下、図3を参照して、本実施形態に係る画像符号化装置100のインター予測部111について説明する。図3は、本実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。
 図3に示すように、インター予測部111は、mv導出部111Aと、AMVR部111Bと、mv洗練化部111Bと、予測信号生成部111Dとを有する。
 インター予測部111は、動きベクトルに基づいて対象ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
 mv導出部111Aは、図3に示すように、AMVP(Adaptive Motion Vector Prediction)部111A1と、マージ部111A2とを有し、フレームバッファ160からの対象フレーム及び参照フレームを入力とし、動きベクトルを取得するように構成されている。
 AMVP部111A1は、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。
 また、上述の探索処理を複数の参照フレーム候補に対して行い、対象ブロックで予測に用いる参照フレーム及び動きベクトルを決定し、後段の予測信号生成部111Dに出力する。
 参照フレーム及び動きベクトルについては、1つのブロックに対して最大2つずつ用いることができる。1つのブロックに対して参照フレーム及び動きベクトルを1組のみ用いる場合を「片予測」と呼び、参照フレームと動きベクトルを2組用いる場合を「双予測」と呼ぶ。以下、1組目を「L0」と呼び、2組目を「L1」と呼ぶ。
 更に、AMVP部111Aは、上述の決定した動きベクトルを最終的に復号装置に伝送する際に、符号量を削減するために、隣接する符号化済みの動きベクトルから導出された動きベクトル予測子(mvp:motion vector predictor)の候補の中から、かかる対象ブロックの動きベクトルとの差分、すなわち、動きベクトル差分(mvd:motion vector difference)が小さくなるmvpを選択する。
 このように選択されたmvp及びmvdを示すインデックス及び参照フレームを示すインデックス(以下、Refidx)が符号化部140で符号化され、画像復号装置200に伝送される。かかる処理は、適応動きベクトル予測符号化(AMVP:Adaptive:Motion Vector Preidicion)と一般に呼ばれる。
 なお、上記の動きベクトルの探索方法、参照フレーム及び動きベクトルの決定方法、mvpの選択方法、mvdの算出方法については、既知の手法を採用することが可能であるため、その詳細については省略する。
 AMVR部111Bは、AMVP部111Aで算出したmvdの伝送精度を変えるAMVR(Adaptive Motion Vector Resolution)の機能を有する。
 mvdは、上述のように対象ブロックの動きベクトルとmvpとの和から導出しているため、mvdの伝送精度を変更することは、対象ブロックの動きベクトル自体の精度を変更することを意味する。
 非特許文献1では、AMVRによるmvdの伝送精度のバリエーションが3種類用意されている。通常のmvdの伝送精度は1/16画素精度であり、このとき、動きベクトルは、最終的に1/16画素精度の位置を参照することになるが、AMVRが有効時には、mvdの伝送精度が1/4画素精度、1/2画素精度、1画素精度(すなわち、整数画素精度)から選択される。
 ただし、対象ブロックがアフィンである場合は、mvdの伝送精度が1/4画素精度、1/16画素精度、1画素精度が選択される。ここで、アフィンとは、非特許文献1のAffineである。
 さらに、非特許文献1では、上述のmvdの伝送精度として1/2画素精度が選択される場合に限り、1/2画素精度以外が選択される場合に適用される内挿フィルタとは別の内挿フィルタが後段の予測信号生成部111Dにて選択される構成となっている。詳細は後述する。
 また、AMVR部111BでAMVR処理が有効と判定される場合は、AMVRが有効と示すフラグ及びAMVRによりmvdがどの精度に修正されるかを示すインデックスを、画像復号装置200に伝送する。
 マージ部111A2では、対象ブロックの動き情報をAMVP部111A1のように探索して導出することや、隣接ブロックとの差分としてmvdとして伝送はせず、対象フレーム及び参照フレームを入力として、対象ブロックと同一フレームにある隣接ブロック又は対象フレームと異なるフレームにある同一位置のブロックを参照ブロックとして、かかる参照ブロックの動き情報をそのまま継承して利用する。この処理は、マージ符号化(以下、マージ)と一般に呼ばれる。
 かかる対象ブロックがマージの場合、初めに、かかる対象ブロックに対するマージリストを作成する。マージリストは、参照フレームと動きベクトルとの組み合わせが複数列挙されたリストである。各組み合わせには、インデックス(以下、マージインデックス)が振られており、Refidx及び動きベクトルの情報を個別に符号化する代わりに、上述のマージインデックスのみを符号化し、画像復号装置200に伝送する。
 ここで、画像符号化装置100側と画像復号装置200側とで、マージリストの作成方法を共通化しておくことで、画像復号装置200側ではマージインデックス情報のみからRefidx及び動きベクトルの情報を復号することができる。マージリストの作成方法の詳細については後述する。
 mv洗練化部111Cは、マージ部111A2から出力される動きベクトルを修正する洗練化処理を行うように構成されている。詳細は後述する。
 予測信号生成部111Dは、動きベクトルを入力としてMC予測画像信号を出力するように構成されており、フィルタ判定部111D1とフィルタ適用部111D2を有する。
 フィルタ判定部111D1は、動きベクトルに基づいて内挿フィルタの適用有無及びフィルタ種別を判定する。詳細は後述する。
 フィルタ適用部111D2は、フィルタ判定部111D1で内挿フィルタが有効と判定された場合、選択された内挿フィルタ、動きベクトル及び参照フレームから予測信号を生成するように構成されている。
 フィルタ判定部111D1で内挿フィルタが無効と判定された場合は、内挿フィルタは使用されず、動きベクトル及び参照フレームにより予測信号が生成される。
(画像復号装置200)
 以下、図4を参照して、本実施形態に係る画像復号装置200について説明する。図4は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
 図4に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
 復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
 ここで、復号は、例えば、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
 また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
 なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。
 逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
 インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号に基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
 イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
 インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
 ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック、あるいはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
 フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
(インター予測部241)
 以下、図5を参照して、本実施形態に係るインター予測部241について説明する。図5は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
 図5に示すように、インター予測部241は、mv復号部241Aと、mv洗練化部241Bと、予測信号生成部111Cとを有する。
 インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
 mv復号部241Aは、AMVP部241A1とマージ部241A2とを有し、フレームバッファ260から入力される対象フレーム及び参照フレーム、及び、画像符号化装置100から受信する制御データの復号によって、動きベクトルを取得するように構成されている。
 AMVP部241A1は、対象フレーム及び参照フレームと、画像符号化装置100から、mvp及びmvdを示すインデックス、Refidx、AMVR部111Bからのmvdの伝送精度を示すインデックスを受信し、動きベクトルを復号するように構成されている。動きベクトルの復号方法については、既知の手法を採用すること可能であるため、その詳細については省略する。
 マージ部241A2は、画像符号化装置100から、マージインデックスを受信し、動きベクトルを復号するように構成されている。
 具体的には、マージ部241A2は、画像符号化装置100と同じ方法で、マージリストを構築して、受信したマージインデックスに対応する動きベクトルを構築したマージリストから取得するように構成されている。マージリストの構築方法の詳細は、後述する。
 mv洗練化部241Bは、洗練化部111Cと同様に、動きベクトルを修正する洗練化処理を実行するように構成されている。
 予測信号生成部241Cは、フィルタ判定241C1とフィルタ適用部241C2とを有し、予測信号生成部111Cと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。
 なお、画像復号装置200のフィルタ判定部241C1は、画像符号化装置100のフィルタ判定部111D1と全く同じ構成となるため、本実施形態では、以下、フィルタ判定部111D1の動作について代表して説明する。
(内挿フィルタの判定処理)
 以下、図6を参照して、本実施形態に係るフィルタ判定部111D1/241C1における内挿フィルタの適用有無及びフィルタ種別の判定処理について説明する。
 図6は、本実施形態に係るフィルタ判定部111D1における内挿フィルタの適用有無及びフィルタ種別の判定処理順の一例を示すフローチャートである。
 図6に示すように、ステップS6-1において、フィルタ判定部111D1は、mvの参照位置が小数画素位置かどうかを判定する。mvの参照位置が小数画素位置である場合は、本処理は、ステップS6-2に進み、mvの参照位置が小数画素位置でない場合、即ち、mvの参照位置が整数画素値位置の場合は、本処理は、ステップS6-3に進む。
 ステップS6-2において、フィルタ判定部111D1は、内挿フィルタを適用すると判定し、本処理は、ステップS6-4に進む。
 ステップS6-3において、フィルタ判定部111D1は、内挿フィルタを適用しないと判定し、本処理を終了する。
 ステップS6-4において、フィルタ判定部111D1は、後述するハーフペルインデックス(hpelIfIdx)が無効すなわち「0」であるかどうかを判定する。hpelIfIdxが「0」である場合は、本処理は、ステップS6-5に進み、hpelIfIdxが有効すなわち「0」ではない場合は、本処理は、ステップS6-6に進む。
 ステップS6-5において、フィルタ判定部111D1は、内挿フィルタとしてHEVCフィルタを利用すると判定し、本処理を終了する。
 ここで、HEVCフィルタとは、非特許文献2と同様の8タップの線形内挿フィルタである。
 ステップS6-6において、フィルタ判定部111D1は、内挿フィルタとして平滑化フィルタを利用すると判定する。
 ここで、平滑化フィルタとは、例えば、非特許文献1で採用されている6タップのガウシアンフィルタを用いてもよい。また、hpelIfIdxの示す値によって、内挿フィルタとして複数のフィルタの利用を設定してもよい。
 このように、mvの参照位置が小数画素位置である際に、hpelIfIdxに基づいて、2種類以上の内挿フィルタの利用を適応的に切り換えることができるため、画像特性に併せて利用する内挿フィルタを選択できるため、結果として符号化性能の向上効果が期待できる。
(ハーフペルインデックス(hpelIfIdx)の設定処理)
 以下、図7を参照して、本実施形態に係るハーフペルインデックス(hpelIfIdx)の判定処理について説明する。
 図7は、本実施形態に係るフィルタ判定部111D1におけるhpelIfIdxの判定処理順の一例を示すフローチャートである。
 hpelIfIdxは、上述したように、内挿フィルタの種別の判定に関わり、hpelIfIdxが「0」である場合、すなわち、無効の場合は、非特許文献2と同様の内挿フィルタを用いる。他方、hpelIfIdxが「0」でない場合、すなわち有効である場合は、平滑化フィルタを用いる。
 hpelIfIdxは、対象ブロックがマージである場合は、動きベクトルとRefIdxとを合わせて、参照ブロックから取得し、マージインデックスに対応付けられる。
 他方、対象ブロックがマージモードではなく、AMVPにより動きベクトルが復号される場合には、上述したAMVRの適用有無及び所定条件によって、hpelIfIdxの値が判定される。
 図7に示すように、ステップS7-1において、フィルタ判定部111D1は、AMVRが有効かどうかを判定する。判定には、例えば、非特許文献1と同様に、AMVRの適用有無を示すフラグ(amvr_flag)を復号することで判定してもよい。
 ステップS7-1において、AMVRが有効と判定される場合は、本処理は、ステップS7-2に進み、AMVRが無効と判定される場合は、本処理は、ステップS7-3に進む。
 ステップS7-2において、フィルタ判定部111D1は、所定条件1により、hpelIfIdxの値が「0」であるかどうかを判定する。
 ステップS7-2において、所定条件1が満たされていると判定された場合、本処理は、ステップS7-4に進み、所定条件1が満たされていないと判定された場合は、本処理は、ステップS7-5に進む。
 ここで、ステップS7-2の所定条件1において、AMVRの伝送精度を示すインデックス(amvr_precision_idx)を復号して判定してもよく、AMVRの伝送精度が1/2画素精度の場合に所定条件1を満たすと判定し、それ以外の場合は所定条件1を満たさないと判定する。
 また、ステップS7-2の所定条件1では、対象ブロックがアフィンであるかで判定してもよく、対象ブロックがアフィンである場合は、所定条件1を満たさないと判定し、アフィンでない場合はamvr_precision_idxがmvdの伝送精度を1/2画素精度を示す場合に所定条件1を満たすと判定する。
 ここで、アフィンとは、非特許文献1で採用されているAffineのことであり、本発明では、既知の手法を採用することが可能であるため、説明は省略する。
 また、ステップS7-2の所定条件1では、対象ブロックがIBCであるかで判定してもよく、対象ブロックがIBCである場合は、所定条件1を満たさないと判定し、IBCでない場合はamvr_precision_idxがmvdの伝送精度を1/2画素精度を示す場合に所定条件1を満たすと判定する。
 ここで、IBCとは、非特許文献1で採用されているIBC(Intra_Block_Copy)のことであり、本発明では、既知の手法を採用することが可能であるため、説明は省略する。
 ステップS7-3において、フィルタ判定部111D1は、hpelIfIdxが「0」であると判定し、本処理を終了する。
 ステップS7-4において、フィルタ判定部111D1は、hpelIfIdxが「1」であると判定し、本処理を終了する。
 ステップS7-5において、フィルタ判定部111D1は、hpelIfIdxが「0」であると判定し、本処理を終了する。
 なお、ここまで、hpelIfIdxの判定処理をフローチャートで説明したが、図8に示す非特許文献1の判定処理のように、フィルタ判定部111D1は、amvr_flag、amvr_precision_idx、inter_affine_flagの復号結果及び対象ブロックがIBCであるかどうかに基づいて、Avmrshift値を決定し、かかるAmvr_shift値によってhpelIfidxの値を判定してもよい。
(mv洗練化部)
 以下、図9を参照して、本実施形態に係るmv洗練化部241Bについて説明する。なお、符号化装置のmv洗練化部111Cは復号装置のmv洗練化部241Bと全く同じ構成となるため、本実施形態では、mv洗練化部241Bについて代表して説明する。
 図9は、本実施形態に係るmv洗練化部241Bの機能ブロックの一例について示す図である。
 図9に示すように、mv洗練化部241Bは、MMVD部241B1と、DMVR部241B2とを有する。
 MMVD部241B1及びDMVR部241B2において、具体的には、非特許文献1で採用されているMMVD(Merge mode with MVD)及びDMVR(Decoder side Motion Vector Refinement)で動きベクトルが洗練化される。
 具体的には、MMVD部241B1は、マージ部111A2から出力される動きベクトルの参照位置を基準として、図9に示すように、参照位置の修正範囲を距離及び方向(垂直および水平)によって設定するように構成されている。
 MMVD部241B1は、修正距離について、修正範囲の中から所定コストが最も小さい修正位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。
 また、DMVR部241B2は、マージ部111A2から出力される動きベクトルによって特定される参照位置を基準として探索範囲を設定し、探索範囲の中から所定コストが最も小さい修正参照位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。
 ここで、mv洗練化部241Bにおいて、対象ブロックへのMMVDの適用有無、DMVRの適用有無も判定されるが、その判定処理は、非特許文献1に記載の既知の手法を本発明では用いることが可能であるため、説明は省略する。
 なお、MMVD及びDMVRのいずれも無効である場合は、マージ部111A2から出力される動きベクトルは、修正されずに、そのまま後段の予測信号生成部241Cに出力される。
(マージリスト構築方法)
 以下、図10を参照して、本実施形態に係るマージリスト構築処理について説明する。図10は、本実施形態に係るマージリスト構築処理の一例を示すフローチャートである。
 図10に示すように、本発明に係るマージリスト構築処理は、非特許文献1と同様に、合計5つのマージリストの構築処理によって構成される。
 具体的には、ステップS10-1の空間マージ、ステップS10-2の時間マージ、ステップS10-3のヒストリーマージ、ステップS10-4のペアワイズ平均マージ、ステップS10-5のゼロマージによるマージリストの構築処理から構成される。それぞれのマージリスト構築処理については、後述する。
 図11は、本実施形態に係るマージリスト構築処理にて生成されるマージリストの一例を示した図である。
 マージリストとは、上述したように、マージインデックスに対応する動きベクトル、Refidx、hepelIfIdxが登録されたリストである。
 ここで、マージインデックスの最大数は、非特許文献1では「5」と設定されているが、設計者の意図により、自由に設定してもよい。
 また、図11にあるmvL0、mvL1、RefIdxL0、RefIdxL1は、それぞれ参照画像リストL0、L1の動きベクトルと参照画像インデックスを示す。
 ここで、参照画像リストL0、L1とは、参照フレームが登録されたリストのことを示し、RefIdxによって、その参照フレームが特定される。
 なお、図11に示すマージリストには、L0及びL1双方の動きベクトルと参照画像インデックスを示しているが、参照ブロックによっては片方向予測である場合がある。その場合は、片方向分の動きベクトル及び参照画像インデックスが、かかるマージリストに登録される。また、そもそも参照ブロックに動きベクトルが存在しない場合は、その参照ブロックに対するマージリストの構築処理がスキップされる。
(空間マージ)
 図12は、空間マージについて示した図である。空間マージとは、対象ブロックと同一フレームに存在する隣接ブロックから、mv、RefIdx、hpelIfIdxを継承する技術である。
 具体的には、図12に示すような位置関係にある隣接ブロックから、上述のmv、Refidx、hpelfIdxを継承し、その処理順は、非特許文献1と同様に、図12に示すような順序としてもよい。
 なお、マージリスト処理では、上述の処理順でマージリストへのパラメータ登録がなされるが、マージリストに対して同じ動きベクトルと参照画像インデックスが登録されないようなチェック機構が存在する。これをpruning処理と呼ぶ。
 pruning処理の存在理由は、マージリストに登録される動きベクトル及び参照画像インデックスのバリエーションを増やすことであり、画像符号化装置100の観点では、画像特性に併せて所定コストが最も小さくなる動きベクトルが選択できるということであり、画像復号装置200では、その選択された動きベクトル及び参照画像インデックスに基づいて予測精度の高い予測信号を生成することができるため、結果的に符号化性能の向上効果が期待できるという点にある。
 空間マージでは、例えば、隣接ブロックAが登録されれば、次の処理順にある隣接ブロックB1で、隣接ブロックA1で登録された動きベクトルと参照画像インデックスとの同一性が確認され、もし同一性が確認されれば、隣接ブロックB1の動きベクトル及び参照画像インデックスはマージリストに登録されない構成となっている。
 なお、非特許文献1では、隣接ブロックB、隣接ブロックA、隣接ブロックBについては、既にマージリストに登録済みの動きベクトルと参照画像インデックスとの同一性のチェック以外に、対象ブロックがトライアングルマージであるかどうかの確認が存在する。
 本実施形態では、pruning処理に対して、このトライアングルマージによる判定を追加してもよく、またトライアングマージとしては既知の手法を取ることが可能であるため、説明は省略する。
 また、非特許文献1では、空間マージによるマージインデックスの登録最大可能数を「4」と設定しており、隣接ブロックBに関しては、それまでの空間マージ処理によって、既に4つのマージインデックスが登録されている場合は、Bの処理がスキップされる。
 本実施形態では、非特許文献1と同様に、隣接ブロックBの処理を、既存のマージインデックス登録数によって判定してもよい。
(時間マージ)
 図13は、時間マージについて示した図である。時間マージとは、対象ブロックと異なるフレームに存在するが、同一位置の左下の隣接ブロック(図13のC)又は同一位置にあるブロック(図13のC)を参照ブロックと特定して、動きベクトルと参照画像インデックスを継承する技術である。
 かかる時間マージリストによるマージインデックスのマージリストへの登録最大可能数は、非特許文献1では、「1」となっており、本実施形態においても、登録最大可能数を同様に設定しもよい。
 また、時間マージにおいて継承される動きベクトルは、スケーリングされる特徴があり、図14は、かかるスケーリング処理を示した図である。
 具体的には、図14に示すように、対象ブロックの参照フレームと対象フレームが存在するフレームとの距離tbと、参照ブロックの参照フレームと参照ブロックの参照フレームの距離tdとに基づいて、参照ブロックのmvが、以下のようにスケーリングされる。
 mv’=(td/tb)×mv
 時間マージでは、このスケーリングされたmv’がマージインデックスに対応する動きベクトルとしてマージインデックスに登録される構成となっている。
(ヒストリーマージ)
 図15は、ヒストリーマージについて示した図である。ヒストリーマージとは、対象ブロックよりも過去に符号化済みのインター予測ブロックが有する動きベクトル、参照画像インデックス、ハーフペルインデックスを、ヒストリーマージテーブルと呼ばれる記憶領域に別途記憶しておき、マージリストが前段の空間マージ処理、時間マージ処理で埋まっていない場合に、かかるヒストリーマージテーブルに登録されているマージインデックスをマージリストに登録するという技術である。
 図15は、ヒストリーマージテーブル構築処理の一例を示した図であり、ヒストリーマージインデックスによって、過去に符号化済みのブロックに対応する動きベクトル、参照画像インデックス、ハーフペルインデックスがヒストリーマージテーブルに登録される構成となっている。
 このヒストリーマージテーブルのヒストリーマージインデックスの最大登録数は、非特許文献1では、最大で「6」と設定されているが、設計者の意図によって自由に設定してもよい。
 また、このヒストリーマージテーブルへのヒストリーマージインデックスの登録処理は、FIFO処理となっており、ヒストリーマージテーブルがいっぱいになると新しいヒストリーマージテーブルが追加されるたびに、最後に登録されたヒストリーマージインデックスが削除される構成となっている。
 また、ヒストリーマージテーブルに登録されているヒストリーマージインデックスは、非特許文献1と同様に、対象ブロックが符号化ツリーブロック(CTU:Coding Tree Block)を跨ぐと初期化されてもよい。
(ペアワイズ平均マージ)
 図16は、ペアワイズ平均マージにより算出される新たな動きベクトルとハーフペルインデックスとの組について示した図である。
 ペアワイズ平均マージとは、マージリストに既に登録されている2組のマージインデックスに対応する動きベクトル、参照画像インデックス、ハーフペルインデックスを用いて、新たな動きベクトル、参照画像インデックス、ハーフペルインデックスを生成する技術である。
 ペアワイズ平均マージに利用する2組のマージインデックスは、非特許文献1と同様に、マージリストに登録されているマージインデックスの0番目及び1番目を固定で利用してもよいし、或いは、設計者の意図で、別の2組の組合せを自由に設定してもよい。
 ペアワイズ平均マージにおける新たな動きベクトルの生成方法は、図16に示すように、マージリストの2組のマージインデックスに対応する動きベクトルを平均化して生成する。
 具体的には、例えば、2組のマージインデックスに対応する動きベクトルがそれぞれ2つある場合(すなわち、双予測である場合)、L0及びL1方向の動きベクトルmvL0P/mvL1P及びmvL0P/mvL1Pによって、ペアワイズ平均マージの動きベクトルであるmvL0Avg及びmvL1Avgは、それぞれ以下のように独立して算出される。
 mvL0Avg=(mvL0P+mvL0P)/2
 mvL1Avg=(mvL1P+mvL1P)/2
 ここで、mvL0P/mvL1P又はmvL0P/mvL1Pの片方が存在しない場合は、存在しない動きベクトルを除いて、上述の計算が行われる。
 このとき、非特許文献1では、ペアワイズ平均マージインデックスに紐づく参照画像インデックスをマージインデックスPに紐づく参照画像インデックスRefIdxL0P及びRefIdxL1Pを常に使用するように定めている。
 また、ペアワイズ平均マージにより生成される新たなハーフペルインデックスhpelIfIdxAvgは、図17(a)及び図17(b)に示すように、既にマージリストに登録済みの2組のマージインデックスに対応する2組のハーフペルインデックスhpelIfIdxP及びhpelIfIdxPに基づいて設定する。
 具体的には、ステップS17-1において、hpelIfIdxP及びhpelIfIdxPが同じであるかどうかを判定する。同じである場合は、本処理は、ステップS17-2に進み、同じでない場合は、本処理は、ステップS17-3に進む。
 ステップS17-2において、hpelIfIdxAvgをhpelIfIdxPと設定する。
 ステップS17-3において、hpelIfIdxAvgを無効すなわち「0」と設定する。
 ここで、hpelIfIdxP及びhpelIfIdxPの取り得る値が「0」又は「1」である場合、図17(a)に示すステップS17-1及びステップS17-3の処理について、図17(b)のステップS17-4からステップS17-6のような処理に置き換えてもよい。
(時間マージへのハーフペルインデックスの導入)
 以下、図18を参照して、本実施形態に係る時間マージへのハーフペルインデックスの導入について説明する。図18は、本実施形態に係るマージリスト構築例を示す図である。
 非特許文献1では、マージリストに時間マージによるマージインデックスが登録されている場合、そのマージインデックスに対応するハーフペルインデックスは、常に「0」に設定される。そのため、時間マージに対して、非特許文献1では、平滑化フィルタが使用されることはなく、動きベクトルが小数画素精度位置を参照する場合は、常にHEVCフィルタが使用されることとなっていた。
 そこで、本実施形態では、かかる時間マージのハーフペルインデックスを常に「0」に設定せず、参照ブロックのハーフペルインデックスをそのまま継承して、マージリストに登録する。
 これにより、時間マージに対しても、平滑化フィルタが使用可能となる。これは、マージリスト全体に対して平滑化フィルタの選択機会が増加することを意味するため、画像特性に合わせたフィルタの適応的な切換による予測精度を向上させ、符号化性能を向上させることができる。
(マージリスト構築時のpruning処理へのハーフペルインデックスによる判定の導入)
 以下、本実施形態に係るマージリスト構築時のpruning処理へのハーフペルインデックスによる判定の導入について説明する。
 非特許文献1では、マージリスト構築時にマージリストに対して同一の動きベクトル及び参照画像インデックスを持つマージインデックスが登録されないようにpruning処理と呼ばれるチェック機構について記載されている。
 具体的には、マージリストに新たなマージインデックスが追加される際に、このpruning処理が働き、新たに追加されるマージインデックスに紐づく動きベクトル及び参照インデックスが、既に登録済みのマージインデックスに紐づく動きベクトル及び参照インデックスと同じである場合に、かかるマージインデックスは、マージリストに追加されない。
 これは、マージリストに登録される動きベクトルのバリエーションを増やすという狙いがあり、動きベクトルの選択バリエーションが増えるということは、画像符号化装置100側から観れば、符号化コストを抑えるためのより予測精度の高い動きベクトルを選択する機会が増えるということを意味する。
 また、画像復号装置200側から観れば、画像符号化装置100で選択された予測精度の高い動きベクトルに基づいてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
 しかし、非特許文献1では、このpruning処理の判定に、ハーフペルインデックスが使用されておらず、既存のマージインデックスと同一の動きベクトル及び参照画像インデックスを持つが、異なるハーフペルインデックスを持つマージインデックスは、マージリストに登録されていなかった。
 そこで、本実施形態では、このマージリスト構築におけるpruning処理にハーフペルインデックスの判定を追加する。
 これにより、従来方式と比較して、既存のマージインデックスと同一の動きベクトル及び参照画像インデックスを持つ場合でも、異なるハーフペルインデックスを持つマージインデックスは、マージリストに登録されるようになる。
 これは、マージリストに対して平滑化フィルタの選択機会が増えるということを示唆し、画像符号化装置100の観点では、画像特性に併せてより符号化コストが小さくなる内挿フィルタを適応的に選択できることを意味する。
 また、画像復号装置200側から観れば、画像符号化装置100で選択された符号化コストが小さくなる内挿フィルタを用いてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
[変更例:pruning処理の拡張」
 上述の例では、pruning処理に対してハーフペルインデックスの判定を追加することを示したが、非特許文献1では、pruning処理が空間マージ、ヒストリーマージによるマージリスト構築時にしか行われない。
 また、空間マージも、上述の5つの候補(処理順:A1、B1、B0、A0、B2)において、トライアングルマージが無効の場合は、B0はB1と、A0はA1と、B2はA1かつB1との比較のみ行われる。
 そのため、空間マージにおけるB0、A0、B2、時間マージ、ペアワイズ平均マージにおいては、それぞれ比較していない前段のマージ候補と、動きベクトルと参照画像インデックス並びにハーフペルインデックスが重複する可能性がある。
 したがって、非特許文献1ではpruning処理が採用されていないマージ候補およびマージリスト構築方法において、pruning処理を拡張した上で、ハーフペルインデックスの判定追加を行えば、結果的に、同一の動きベクトルと参照画像インデックスとハーフペルインデックスとを有するマージ候補をマージリスト内に追加することを回避できるため、予測精度の向上、ひいては、符号化性能の向上効果が期待できる。
(ヒストリーマージテーブル構築時のpruning処理へのハーフペルインデックスによる判定の導入)
 以下、本実施形態に係るヒストリーマージテーブル構築時のpruning処理へのハーフペルインデックスによる判定の導入について説明する。
 非特許文献1では、ヒストリーマージテーブル構築時にヒストリーマージテーブルに対して同一の動きベクトル及び参照画像インデックスを持つヒストリーマージ候補が登録されないように、pruning処理と呼ばれるチェック機構が存在する。
 具体的には、ヒストリーマージテーブルに新たなヒストリーマージ候補が追加される際に、このpruning処理が働き、新たに追加されるヒストリーマージ候補に紐づく動きベクトルと参照インデックスが、既に登録済みのヒストリーマージ候補に紐づく動きベクトル及び参照インデックスと同じである場合に、このヒストリーマージ候補は、ヒストリーマージテーブルに追加されない。
 これは、ヒストリーマージテーブルに登録される動きベクトルのバリエーションを増やすという狙いがあり、動きベクトルの選択バリエーションが増えるということは、画像符号化装置100側から観れば、符号化コストを抑えるためのより予測精度の高い動きベクトルを選択する機会が増えるということを意味する。
 また、画像復号装置200側から観れば、画像符号化装置100で選択された予測精度の高い動きベクトルに基づいてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
 しかし、非特許文献1では、このpruning処理の判定に、ハーフペルインデックスが使用されておらず、既存のヒストリーマージ候補と同一の動きベクトル及び参照画像インデックスを持つが、異なるハーフペルインデックスを持つヒストリーマージ候補は、ヒストリーマージテーブルに登録されていなかった。
 そこで、本実施形態では、このヒストリーマージテーブル構築におけるpruning処理にハーフペルインデックスの判定を追加する。
 これにより、従来方式と比較して、既存のヒストリーマージ候補と同一の動きベクトル及び参照画像インデックスを持つ場合でも、異なるハーフペルインデックスを持つヒストリーマージ候補は、マージリストに登録されるようになる。
 これは、ヒストリーマージテーブルに対して平滑化フィルタの選択機会が増えるということを示唆し、画像符号化装置100から観れば、画像特性に併せてより符号化コストが小さくなる内挿フィルタを適応的に選択できることを意味する。
 また、画像復号装置200側から観れば、画像符号化装置100で選択された符号化コストが小さくなる内挿フィルタを用いてMC予測画像を生成できるため、結果として符号化性能の向上効果が期待できる。
 本発明によれば、マージリスト構築時又はヒストリーマージテーブル時のpruning処理の判定条件に、ハーフペルインデックスの判定を追加することで、平滑化フィルタの選択機会が増加させられるため、結果として符号化性能の向上が期待できる。
 上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
 なお、上述の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、これのみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化システム及び画像復号システムにも同様に適用できる。
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
111A…mv導出部
111A1、241A1…AMVP部
111A2、241A2…マージ部
111B…AMVR部
111C、241B…mv洗練化部
111D、241C…予測信号生成部
111D1、241C1…フィルタ判定部
111D2、241C2…フィルタ適用部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
241A…mv復号部
241B1…MMVD部
241B2…DMVR部

Claims (5)

  1.  画像復号装置であって、
     マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、
     MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、
     洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
     前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
     前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
     対象ブロックは、マージであり、
     前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録するように構成されていることを特徴とする画像復号装置。
  2.  画像復号装置であって、
     マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、
     MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、
     洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
     前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
     前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
     対象ブロックは、マージであり、
     前記マージ部は、ヒストリーマージテーブルの構築時に異なるヒストリーマージ候補に対応する動きベクトルと参照画像インデックスとが同一であっても、前記ヒストリーマージ候補に対応するハーフペルインデックスが異なる場合には、異なるヒストリーマージ候補として前記ヒストリーマージテーブルに登録するように構成されていることを特徴とする画像復号装置。
  3.  画像復号装置であって、
     マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、
     MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、
     洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
     前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
     前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
     対象ブロックは、マージであり、
     前記マージ部は、時間マージによるマージインデックスが前記マージリストに登録される場合、参照ブロックのハーフペルインデックスを継承して前記マージリストに登録するように構成されていることを特徴とする画像復号装置。
  4.  マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号する工程Aと、
     MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化する工程Bと、
     洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定する工程Cと、
     前記内挿フィルタを用いて、動き補償予測画素信号を生成する工程Dとを備え、
     前記工程Aにおいて、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号し、
     対象ブロックは、マージであり、
     前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録することを特徴とする画像復号方法。
  5.  コンピュータを、画像復号装置として機能させるプログラムであって、
     前記画像復号装置は、
     マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、
     MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、
     洗練化された動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
     前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
     前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
     対象ブロックは、マージであり、
     前記マージ部は、前記マージリストの構築時に異なる前記マージインデックスに対応する動きベクトルと参照画像インデックスとが同一であっても、前記マージインデックスに対応するハーフペルインデックスが異なる場合には、異なるマージインデックスとして前記マージリストに登録するように構成されていることを特徴とするプログラム。
PCT/JP2020/031560 2019-09-20 2020-08-21 画像復号装置、画像復号方法及びプログラム WO2021054036A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202080057643.3A CN114303379A (zh) 2019-09-20 2020-08-21 图像解码装置、图像解码方法及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019172237A JP7267885B2 (ja) 2019-09-20 2019-09-20 画像復号装置、画像復号方法及びプログラム
JP2019-172237 2019-09-20

Publications (1)

Publication Number Publication Date
WO2021054036A1 true WO2021054036A1 (ja) 2021-03-25

Family

ID=74883517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/031560 WO2021054036A1 (ja) 2019-09-20 2020-08-21 画像復号装置、画像復号方法及びプログラム

Country Status (3)

Country Link
JP (1) JP7267885B2 (ja)
CN (1) CN114303379A (ja)
WO (1) WO2021054036A1 (ja)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240069B2 (en) * 2003-11-14 2007-07-03 Microsoft Corporation System and method for building a large index
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
BR112013006499B1 (pt) * 2010-09-30 2022-09-20 Mitsubishi Electronic Corporation Dispositivo de decodificação de imagem em movimento
AU2015200360B2 (en) * 2011-09-09 2017-01-12 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
JP2013077897A (ja) * 2011-09-29 2013-04-25 Jvc Kenwood Corp 画像復号装置、画像復号方法及び画像復号プログラム
JP2013102260A (ja) * 2011-11-07 2013-05-23 Jvc Kenwood Corp 動画像復号装置、動画像復号方法及び動画像復号プログラム
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
KR101934277B1 (ko) * 2011-11-28 2019-01-04 에스케이텔레콤 주식회사 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
WO2014103529A1 (ja) * 2012-12-28 2014-07-03 シャープ株式会社 画像復号装置、およびデータ構造
MX2018002477A (es) * 2015-09-02 2018-06-15 Mediatek Inc Metodo y aparato de derivacion de movimiento de lado de decodificador para codificacion de video.
KR102270228B1 (ko) * 2016-07-12 2021-06-28 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
CN117221574A (zh) * 2016-10-04 2023-12-12 英迪股份有限公司 图像解码方法、图像编码方法以及发送比特流的方法
US10924730B2 (en) * 2016-11-07 2021-02-16 Lg Electronics Inc. Image decoding method and device in image coding system
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10523948B2 (en) * 2018-02-05 2019-12-31 Tencent America LLC Method and apparatus for video coding
WO2020200236A1 (en) 2019-04-01 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Using interpolation filters for history based motion vector prediction

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BROSS, BENJAMIN ET AL.: "Versatile Video Coding (Draft 6)", JOINT VIDEO EXPERTS TEAM [JVET-02001-VE] (VERSION 14), 31 July 2019 (2019-07-31), XP030293944 *
LI, GUICHUN ET AL.: "Non-CE4: Motion pruning with alternative half-pel interpolation filter flag", JOINT VIDEO EXPERTS TEAM [JVET-P0439] (VERSION 2), 26 September 2019 (2019-09-26), XP030206487 *
ROBERT, ANTOINE ET AL.: "Non-CE4: On motion information comparison", JOINT VIDEO EXPERTS TEAM [JVET-P0621] (VERSION 1), 26 September 2019 (2019-09-26), XP030217879 *
SOLOVYEV, TIMOFEY ET AL.: "Non-CE4: On switchable interpolation filter and bi-prediction weight indices cleanup", JOINT VIDEO EXPERTS TEAM [JVET-P0856-V1] (VERSION 1), 4 October 2019 (2019-10-04), XP030218210 *

Also Published As

Publication number Publication date
CN114303379A (zh) 2022-04-08
JP2021052242A (ja) 2021-04-01
JP7267885B2 (ja) 2023-05-02

Similar Documents

Publication Publication Date Title
CN113039790B (zh) 视频处理的方法、装置和非暂时性计算机可读介质
JP7209092B2 (ja) 動きベクトル差分によるマージ(mmvd)モードにおける動きベクトル予測
KR102662024B1 (ko) 상이한 모션 벡터 정제의 그레디언트 계산
JP2022541012A (ja) ビデオコーディングにおける変換ブロック・サイズ制約
CN113647108A (zh) 基于历史的运动矢量预测
WO2021129685A1 (en) Spatial-temporal motion vector prediction
JP2023145592A (ja) 映像符号化における重み付けサンプルの双予測
JP2021101578A (ja) 画像復号装置、画像復号方法及びプログラム
CN114009033A (zh) 用于用信号通知对称运动矢量差模式的方法和装置
CN113826394A (zh) 帧内块复制模式下自适应运动矢量差分辨率的改进
WO2021054036A1 (ja) 画像復号装置、画像復号方法及びプログラム
TW202327351A (zh) 視頻編解碼系統中編解碼模式選擇的方法和裝置
WO2021054035A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021036985A1 (en) Context adaptive coding of block vectors
WO2020248925A1 (en) History-based motion vector prediction with default parameters
WO2021131548A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021251278A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021000883A1 (en) Storage of motion information in history-based motion vector prediction table
JP2020150312A (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: 20864378

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20864378

Country of ref document: EP

Kind code of ref document: A1