JP7583869B2 - Image decoding device, image decoding method and program - Google Patents
Image decoding device, image decoding method and program Download PDFInfo
- Publication number
- JP7583869B2 JP7583869B2 JP2023117078A JP2023117078A JP7583869B2 JP 7583869 B2 JP7583869 B2 JP 7583869B2 JP 2023117078 A JP2023117078 A JP 2023117078A JP 2023117078 A JP2023117078 A JP 2023117078A JP 7583869 B2 JP7583869 B2 JP 7583869B2
- Authority
- JP
- Japan
- Prior art keywords
- merge
- motion vector
- index
- interpolation filter
- pel
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 158
- 239000013598 vector Substances 0.000 claims description 213
- 238000010276 construction Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 description 102
- 238000010586 diagram Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 28
- 238000009499 grossing Methods 0.000 description 26
- 238000013139 quantization Methods 0.000 description 24
- 230000007812 deficiency Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 13
- 230000009466 transformation Effects 0.000 description 11
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 9
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 8
- 238000009795 derivation Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000011045 prefiltration Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、画像復号装置、画像復号方法及びプログラムに関する。 The present invention relates to an image decoding device, an image decoding method, and a program.
非特許文献1では、動き補償予測(以下、MC予測)という技術について、マージ符号化(以下、マージ)と適応ベクトル符号化(以下、AMVP)という動きベクトル(以下、mv)を導出する技術が用意されており、導出したmvを用いてMC予測画像信号を生成するための2種類の内挿フィルタが用意されている。
In Non-Patent
1つ目は、非特許文献2と同じ内挿フィルタ(以下、HEVCフィルタ)であり、2つ目は、非特許文献1で新たに導入された内挿フィルタ(以下、平滑化フィルタ)である。 The first is the same interpolation filter as in Non-Patent Document 2 (hereafter, HEVC filter), and the second is the interpolation filter newly introduced in Non-Patent Document 1 (hereafter, smoothing filter).
いずれもmvの参照先が小数画素精度位置にある場合に適用されるが、上述の平滑化フィルタは、mvの参照先が1/2画素精度位置である場合に限定され、さらに、上述の平滑化フィルタが有効であるかどうかを示すハーフペルインデックス(以下、hpelIfIdx)が有効と示す場合にのみ適用される。それ以外の場合は、HEVCフィルタが適用される。 Both are applied when the reference of mv is at a sub-pel accuracy position, but the smoothing filter described above is limited to cases where the reference of mv is at a 1/2-pel accuracy position, and is applied only when the half-pel index (hpelIfIdx), which indicates whether the smoothing filter described above is valid, indicates that it is valid. In all other cases, the HEVC filter is applied.
上述のhpelIfIdxは、符号化対象のブロック(以下、対象ブロック)がマージである場合、既に処理が完了した隣接ブロックから継承され、対象ブロックがAMVPである場合は、導出されたmvからhpelIfIdxの値が決定される。 When the block to be coded (hereinafter, the target block) is a merge, the above-mentioned hpelIfIdx is inherited from an adjacent block for which processing has already been completed, and when the target block is an AMVP, the value of hpelIfIdx is determined from the derived mv.
しかしながら、上述の非特許文献1では、対象ブロックがマージであって且つペアワイズ平均マージ(pair-wise average merge)又はMMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)が有効な場合、隣接ブロックから継承されるhpelIfIdxが、平滑化フィルタが有効と示す場合であっても、ペアワイズ平均マージ又はMMVD又はDMVRによりmvの参照先が1/2画素精度位置ではなくなる場合がある。
However, in the above-mentioned
このとき、対象ブロック及び対象ブロックからhpelIfIdxとmvとを継承する未来のブロックにて、以下2つの課題が生じる。
1.対象ブロックのMC予測における異なるフィルタの混在使用。
2.未来のブロックに対する平滑化フィルタの有効条件の不一致(hpelIfIdxとmvとの不一致)の伝搬。
At this time, the following two problems arise in the target block and in future blocks that inherit hpelIfIdx and mv from the target block.
1. Mixing different filters in MC prediction of a target block.
2. Propagation of inconsistencies in the validity conditions of the smoothing filter for future blocks (inconsistencies between hpelIfIdx and mv).
そこで、本発明は、上述の課題に鑑みてなされたものであり、ハーフペルインデックスに応じてペアワイズ平均マージ又はMMVD又はDMVRによって導出される動きベクトルの参照画素精度位置を制御する、或いは、導出された動きベクトルに応じてハーフペルインデックスを制御することができるようになり、対象ブロックの平滑化フィルタの有効条件の不備を解消し、さらに、未来のブロックに対して平滑化フィルタの有効条件の不備の伝搬を回避することができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。 The present invention has been made in consideration of the above-mentioned problems, and aims to provide an image decoding device, an image decoding method, and a program that can control the reference pixel precision position of a motion vector derived by pairwise average merging, MMVD, or DMVR according to a half-pel index, or control the half-pel index according to a derived motion vector, thereby eliminating deficiencies in the effective conditions of the smoothing filter of the target block, and further avoiding the propagation of deficiencies in the effective conditions of the smoothing filter to future blocks.
本発明の第1の特徴は、画像復号装置であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されていることを要旨とする。 The first feature of the present invention is an image decoding device including: a merge unit configured to decode, from a merge index, a motion vector and a half-pel index indicating whether the motion vector refers to a half-pel accuracy position; a motion vector refinement unit configured to refine the motion vector by MMVD (Merge Motion Vector Difference) or DMVR (Decoder-side Motion Vector Refinement); a filter determination unit configured to determine whether an interpolation filter is used and the type of the interpolation filter based on the refined motion vector and the half-pel index; and a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter, and the merge unit is configured to generate a merge list by a predetermined merge list construction method and decode the motion vector and the half-pel index from the merge list and the merge index.
本発明の第2の特徴は、画像復号方法であって、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号する工程Aと、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化する工程Bと、洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定する工程Cと、前記内挿フィルタを用いて、動き補償予測画素信号を生成する工程Dとを備え、前記工程Aにおいて、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号することを要旨とする。 The second feature of the present invention is an image decoding method comprising: a step A of decoding a motion vector and a half-pel index indicating whether the motion vector refers to a half-pel accuracy position from a merge index; a step B of refining the motion vector by MMVD (Merge Motion Vector Difference) or DMVR (Decoder-side Motion Vector Refinement); a step C of determining whether an interpolation filter is used and the type of the interpolation filter based on the refined motion vector and the half-pel index; and a step D of generating a motion compensation prediction pixel signal using the interpolation filter, and the gist of the step A is to generate a merge list by a predetermined merge list construction method, and to decode the motion vector and the half-pel index from the merge list and the merge index.
本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、マージインデックスから、動きベクトル及び前記動きベクトルが1/2画素精度位置を参照するかどうかを示すハーフペルインデックスを復号するように構成されているマージ部と、MMVD(Merge Motion Vector Difference)或いはDMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されていることを要旨とする。 The third feature of the present invention is a program for causing a computer to function as an image decoding device, the image decoding device including: a merge unit configured to decode a motion vector and a half-pel index indicating whether the motion vector refers to a half-pel accuracy 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); a filter determination unit configured to determine whether an interpolation filter is used and the type of the interpolation filter based on the refined motion vector and the half-pel index; and a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter, and the merge unit is configured to generate a merge list by a predetermined merge list construction method and decode the motion vector and the half-pel index from the merge list and the merge index.
本発明によれば、ハーフペルインデックスに応じてペアワイズ平均マージ又はMMVD又はDMVRによって導出される動きベクトルの参照画素精度位置を制御する、或いは、導出された動きベクトルに応じてハーフペルインデックスを制御することができるようになり、対象ブロックの平滑化フィルタの有効条件の不備を解消し、さらに、未来のブロックに対して平滑化フィルタの有効条件の不備の伝搬を回避することができる画像復号装置、画像復号方法及びプログラムを提供することができる。 According to the present invention, it is possible to control the reference pixel precision position of a motion vector derived by pairwise average merging, MMVD, or DMVR according to a half-pel index, or to control the half-pel index according to a derived motion vector, thereby providing an image decoding device, an image decoding method, and a program that can eliminate deficiencies in the effective conditions of a smoothing filter for a target block and further prevent the propagation of deficiencies in the effective conditions of a smoothing filter to future blocks.
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 The following describes embodiments of the present invention with reference to the drawings. Note that the components in the following embodiments can be replaced with existing components as appropriate, and various variations, including combinations with other existing components, are possible. Therefore, the description of the following embodiments does not limit the content of the invention described in the claims.
<第1実施形態>
以下、図1~図28を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る画像処理システム10について示す図である。
First Embodiment
An
図1に示すように、本実施形態に係る画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
As shown in FIG. 1, the
画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
The
符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
The encoded data may be transmitted from the
(画像符号化装置100)
以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
(Image encoding device 100)
The
図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
As shown in FIG. 2, the
インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
The
具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
Specifically, the
また、インター予測部111は、参照ブロック及び動きベクトルに基づいて符号化対象のブロック(以下、対象ブロック)に含まれる予測信号を対象ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
The
イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
The
具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を対象ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
Specifically, the
ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。 Here, the reference block is a block that is referenced for the target block. For example, the reference block is a block adjacent to the target block.
減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
The
加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
The
ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
Here, the unfiltered decoded signal constitutes a reference block used by the
変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
The transform/
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT:Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST:Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。 The conversion process is a process of converting a prediction residual signal into a frequency component signal. In such a conversion process, a basis pattern (transformation matrix) corresponding to a discrete cosine transform (DCT) may be used, or a basis pattern (transformation matrix) corresponding to a discrete sine transform (DST) may be used.
逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
The inverse transform and
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
Here, the inverse transformation process and inverse quantization are performed in the reverse order to the transformation process and quantization performed by the transformation/
符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
The
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。 Here, for example, the coding is entropy coding, which assigns codes of different lengths based on the probability of occurrence of coefficient level values.
また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
The
ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。 Here, the control data may include size data such as coding block (CU: Coding Unit) size, prediction block (PU: Prediction Unit) size, and transform block (TU: Transform Unit) size.
また、制御データは後述するようにシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダなどのヘッダ情報を含んでも良い。 The control data may also include header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header, as described below.
インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
The in-loop
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。 Here, for example, the filtering process is a deblocking filtering process that reduces distortion that occurs at the boundaries of blocks (encoding blocks, prediction blocks, or transformation blocks).
フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
The
ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
Here, the filtered decoded signal constitutes a reference frame used by the
(インター予測部111)
以下、図3を参照して、本実施形態に係る画像符号化装置100のインター予測部111について説明する。図3は、本実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。
(Inter prediction unit 111)
Hereinafter, the
図3に示すように、インター予測部111は、mv導出部111Aと、AMVR部111Bと、mv洗練化部111Bと、予測信号生成部111Dとを有する。
As shown in FIG. 3, the
インター予測部111は、動きベクトルに基づいて対象ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
The
mv導出部111Aは、図3に示すように、AMVP(Adaptive Motion Vector Prediction)部111A1と、マージ部111A2とを有し、フレームバッファ160からの対象フレーム及び参照フレームを入力とし、動きベクトルを取得するように構成されている。
As shown in FIG. 3, the
AMVP部111A1は、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。 The AMVP unit 111A1 is configured to identify a reference block contained in the reference frame by comparing the target frame with the reference frame, and to search for a motion vector for the identified reference block.
また、上述の探索処理を複数の参照フレーム候補に対して行い、対象ブロックで予測に用いる参照フレーム及び動きベクトルを決定し、後段の予測信号生成部111Dに出力する。
The above-mentioned search process is also performed on multiple reference frame candidates to determine the reference frame and motion vector to be used for prediction of the target block, and output to the downstream prediction
参照フレーム及び動きベクトルについては、1つのブロックに対して最大2つずつ用いることができる。1つのブロックに対して参照フレーム及び動きベクトルを1組のみ用いる場合を「片予測」と呼び、参照フレームと動きベクトルを2組用いる場合を「双予測」と呼ぶ。以下、1組目を「L0」と呼び、2組目を「L1」と呼ぶ。 A maximum of two reference frames and two motion vectors can be used for one block. When only one set of reference frames and motion vectors is used for one block, it is called "uni-prediction," and when two sets of reference frames and motion vectors are used, it is called "bi-prediction." In the following, the first set is called "L0" and the second set is called "L1."
更に、AMVP部111Aは、上述の決定した動きベクトルを最終的に復号装置に伝送する際に、符号量を削減するために、隣接する符号化済みの動きベクトルから導出された動きベクトル予測子(mvp:motion vector predictor)の候補の中から、かかる対象ブロックの動きベクトルとの差分、すなわち、動きベクトル差分(mvd:motion vector difference)が小さくなるmvpを選択する。
Furthermore, when the
このように選択されたmvp及びmvdを示すインデックス及び参照フレームを示すインデックス(以下、Refidx)が符号化部140で符号化され、画像復号装置200に伝送される。かかる処理は、適応動きベクトル予測符号化(AMVP:Adaptive:Motion Vector Preidicion)と一般に呼ばれる。
The index indicating the selected mvp and mvd and the index indicating the reference frame (hereinafter, Refidx) are coded by the
なお、上記の動きベクトルの探索方法、参照フレーム及び動きベクトルの決定方法、mvpの選択方法、mvdの算出方法については、既知の手法を採用することが可能であるため、その詳細については省略する。 Note that the above-mentioned motion vector search method, reference frame and motion vector determination method, mvp selection method, and mvd calculation method can use known techniques, so details are omitted.
AMVR部111Bは、AMVP部111Aで算出したmvdの伝送精度を変えるAMVR(Adaptive Motion Vector Resolution)の機能を有する。
The
mvdは、上述のように対象ブロックの動きベクトルとmvpとの和から導出しているため、mvdの伝送精度を変更することは、対象ブロックの動きベクトル自体の精度を変更することを意味する。 Since mvd is derived from the sum of the motion vector of the target block and mvp as described above, changing the transmission accuracy of mvd means changing the accuracy of the motion vector of the target block itself.
非特許文献1では、AMVRによるmvdの伝送精度のバリエーションが3種類用意されている。通常のmvdの伝送精度は1/16画素精度であり、このとき、動きベクトルは、最終的に1/16画素精度の位置を参照することになるが、AMVRが有効時には、mvdの伝送精度が1/4画素精度、1/2画素精度、1画素精度(すなわち、整数画素精度)から選択される。
In
ただし、対象ブロックがアフィンである場合は、mvdの伝送精度が1/4画素精度、1/16画素精度、1画素精度が選択される。ここで、アフィンとは、非特許文献1のAffineである。
However, if the target block is affine, the transmission accuracy of mvd is selected to be 1/4 pixel accuracy, 1/16 pixel accuracy, or 1 pixel accuracy. Here, affine refers to Affine in
さらに、非特許文献1では、上述のmvdの伝送精度として1/2画素精度が選択される場合に限り、1/2画素精度以外が選択される場合に適用される内挿フィルタとは別の内挿フィルタが後段の予測信号生成部111Dにて選択される構成となっている。詳細は後述する。
Furthermore, in
また、AMVR部111BでAMVR処理が有効と判定される場合は、AMVRが有効と示すフラグ及びAMVRによりmvdがどの精度に修正されるかを示すインデックスを、画像復号装置200に伝送する。
In addition, if the
マージ部111A2では、対象ブロックの動き情報をAMVP部111A1のように探索して導出することや、隣接ブロックとの差分としてmvdとして伝送はせず、対象フレーム及び参照フレームを入力として、対象ブロックと同一フレームにある隣接ブロック又は対象フレームと異なるフレームにある同一位置のブロックを参照ブロックとして、かかる参照ブロックの動き情報をそのまま継承して利用する。この処理は、マージ符号化(以下、マージ)と一般に呼ばれる。 The merge unit 111A2 does not search and derive motion information of the target block as in the AMVP unit 111A1, nor transmits it as mvd, which is the difference from an adjacent block. Instead, it takes the target frame and the reference frame as input, and inherits and uses the motion information of the reference block as is, using an adjacent block in the same frame as the target block or a block at the same position in a frame other than the target frame as the reference block. This process is generally called merge coding (hereinafter, merge).
かかる対象ブロックがマージの場合、初めに、かかる対象ブロックに対するマージリストを作成する。マージリストは、参照フレームと動きベクトルとの組み合わせが複数列挙されたリストである。各組み合わせには、インデックス(以下、マージインデックス)が振られており、Refidx及び動きベクトルの情報を個別に符号化する代わりに、上述のマージインデックスのみを符号化し、画像復号装置200に伝送する。
When the target block is a merge block, a merge list for the target block is first created. The merge list is a list that lists multiple combinations of reference frames and motion vectors. An index (hereinafter, a merge index) is assigned to each combination, and instead of encoding the Refidx and motion vector information separately, only the above-mentioned merge index is encoded and transmitted to the
ここで、画像符号化装置100側と画像復号装置200側とで、マージリストの作成方法を共通化しておくことで、画像復号装置200側ではマージインデックス情報のみからRefidx及び動きベクトルの情報を復号することができる。マージリストの作成方法の詳細については後述する。
Here, by standardizing the method of creating a merge list between the
mv洗練化部111Cは、マージ部111A2から出力される動きベクトルを修正する洗練化処理を行うように構成されている。詳細は後述する。
The
予測信号生成部111Dは、動きベクトルを入力としてMC予測画像信号を出力するように構成されており、フィルタ判定部111D1とフィルタ適用部111D2を有する。
The prediction
フィルタ判定部111D1は、動きベクトルに基づいて内挿フィルタの適用有無及びフィルタ種別を判定する。詳細は後述する。 The filter determination unit 111D1 determines whether an interpolation filter is applied and the filter type based on the motion vector. Details will be described later.
フィルタ適用部111D2は、フィルタ判定部111D1で内挿フィルタが有効と判定された場合、選択された内挿フィルタ、動きベクトル及び参照フレームから予測信号を生成するように構成されている。 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.
フィルタ判定部111D1で内挿フィルタが無効と判定された場合は、内挿フィルタは使用されず、動きベクトル及び参照フレームにより予測信号が生成される。 If the filter determination unit 111D1 determines that the interpolation filter is invalid, the interpolation filter is not used and a prediction signal is generated using the motion vector and reference frame.
(画像復号装置200)
以下、図4を参照して、本実施形態に係る画像復号装置200について説明する。図4は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
(Image Decoding Device 200)
The
図4に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
As shown in FIG. 4, the
復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
The
ここで、復号は、例えば、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
Here, the decoding is, for example, entropy decoding, which is the reverse procedure of the entropy encoding performed by the
また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
The
なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。 As mentioned above, the control data may include size data such as the coding block size, the prediction block size, and the transform block size.
逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
The inverse transform/
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
Here, the inverse transformation process and inverse quantization are performed in the reverse order to the transformation process and quantization performed by the transformation/
加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
The
ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
Here, the unfiltered decoded signal constitutes a reference block used by the
インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
The
具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号に基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
Specifically, the
イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
The
具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
Specifically, the
インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
Similar to the in-loop
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック、あるいはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。 Here, for example, the filtering process is a deblocking filtering process that reduces distortion that occurs at the boundaries of blocks (encoded blocks, predicted blocks, transformed blocks, or subblocks obtained by dividing them).
フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
Like
ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
Here, the filtered decoded signal constitutes a reference frame used by the
(インター予測部241)
以下、図5を参照して、本実施形態に係るインター予測部241について説明する。図5は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
(Inter prediction unit 241)
The
図5に示すように、インター予測部241は、mv復号部241Aと、mv洗練化部241Bと、予測信号生成部111Cとを有する。
As shown in FIG. 5, the
インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
The
mv復号部241Aは、AMVP部241A1とマージ部241A2とを有し、フレームバッファ260から入力される対象フレーム及び参照フレーム、及び、画像符号化装置100から受信する制御データの復号によって、動きベクトルを取得するように構成されている。
The
AMVP部241A1は、対象フレーム及び参照フレームと、画像符号化装置100から、mvp及びmvdを示すインデックス、Refidx、AMVR部111Bからのmvdの伝送精度を示すインデックスを受信し、動きベクトルを復号するように構成されている。動きベクトルの復号方法については、既知の手法を採用すること可能であるため、その詳細については省略する。
The AMVP unit 241A1 is configured to receive a target frame, a reference frame, and indices indicating mvp and mvd from the
マージ部241A2は、画像符号化装置100から、マージインデックスを受信し、動きベクトルを復号するように構成されている。
The merge unit 241A2 is configured to receive a merge index from the
具体的には、マージ部241A2は、画像符号化装置100と同じ方法で、マージリストを構築して、受信したマージインデックスに対応する動きベクトルを構築したマージリストから取得するように構成されている。マージリストの構築方法の詳細は、後述する。
Specifically, the merge unit 241A2 is configured to construct a merge list in the same manner as the
mv洗練化部241Bは、洗練化部111Cと同様に、動きベクトルを修正する洗練化処理を実行するように構成されている。
The
予測信号生成部241Cは、フィルタ判定241C1とフィルタ適用部241C2とを有し、予測信号生成部111Cと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。
The prediction
なお、画像復号装置200のフィルタ判定部241C1は、画像符号化装置100のフィルタ判定部111D1と全く同じ構成となるため、本実施形態では、以下、フィルタ判定部111D1の動作について代表して説明する。
Note that the filter determination unit 241C1 of the
(内挿フィルタの判定処理)
以下、図6を参照して、本実施形態に係るフィルタ判定部111D1/241C1における内挿フィルタの適用有無及びフィルタ種別の判定処理について説明する。
(Interpolation filter determination process)
Hereinafter, the process of determining whether or not an interpolation filter is applied and the filter type in the filter determination unit 111D1/241C1 according to this embodiment will be described with reference to FIG.
図6は、本実施形態に係るフィルタ判定部111D1における内挿フィルタの適用有無及びフィルタ種別の判定処理順の一例を示すフローチャートである。 Figure 6 is a flowchart showing an example of the process order for determining whether or not to apply an interpolation filter and the filter type in the filter determination unit 111D1 according to this embodiment.
図6に示すように、ステップS6-1において、フィルタ判定部111D1は、mvの参照位置が小数画素位置かどうかを判定する。mvの参照位置が小数画素位置である場合は、本処理は、ステップS6-2に進み、mvの参照位置が小数画素位置でない場合、即ち、mvの参照位置が整数画素値位置の場合は、本処理は、ステップS6-3に進む。 As shown in FIG. 6, in step S6-1, the filter determination unit 111D1 determines whether the reference position of mv is a sub-pel position. If the reference position of mv is a sub-pel position, the process proceeds to step S6-2. If the reference position of mv is not a sub-pel position, i.e., if the reference position of mv is an integer pixel value position, the process proceeds to step S6-3.
ステップS6-2において、フィルタ判定部111D1は、内挿フィルタを適用すると判定し、本処理は、ステップS6-4に進む。 In step S6-2, the filter determination unit 111D1 determines that an interpolation filter is to be applied, and the process proceeds to step S6-4.
ステップS6-3において、フィルタ判定部111D1は、内挿フィルタを適用しないと判定し、本処理を終了する。 In step S6-3, the filter determination unit 111D1 determines that an interpolation filter is not to be applied and ends this process.
ステップS6-4において、フィルタ判定部111D1は、後述するハーフペルインデックス(hpelIfIdx)が無効すなわち「0」であるかどうかを判定する。hpelIfIdxが「0」である場合は、本処理は、ステップS6-5に進み、hpelIfIdxが有効すなわち「0」ではない場合は、本処理は、ステップS6-6に進む。 In step S6-4, the filter determination unit 111D1 determines whether the half-pel index (hpelIfIdx), which will be described later, is invalid, i.e., whether it is "0". If hpelIfIdx is "0", the process proceeds to step S6-5, and if hpelIfIdx is valid, i.e., not "0", the process proceeds to step S6-6.
ステップS6-5において、フィルタ判定部111D1は、内挿フィルタとしてHEVCフィルタを利用すると判定し、本処理を終了する。 In step S6-5, the filter determination unit 111D1 determines that the HEVC filter will be used as the interpolation filter, and ends this process.
ここで、HEVCフィルタとは、非特許文献2と同様の8タップの線形内挿フィルタである。
Here, the HEVC filter is an 8-tap linear interpolation filter similar to that described in
ステップS6-6において、フィルタ判定部111D1は、内挿フィルタとして平滑化フィルタを利用すると判定する。 In step S6-6, the filter determination unit 111D1 determines that a smoothing filter is to be used as the interpolation filter.
ここで、平滑化フィルタとは、例えば、非特許文献1で採用されている6タップのガウシアンフィルタを用いてもよい。また、hpelIfIdxの示す値によって、内挿フィルタとして複数のフィルタの利用を設定してもよい。
Here, the smoothing filter may be, for example, a 6-tap Gaussian filter as used in
このように、mvの参照位置が小数画素位置である際に、hpelIfIdxに基づいて、2種類以上の内挿フィルタの利用を適応的に切り換えることができるため、画像特性に併せて利用する内挿フィルタを選択できるため、結果として符号化性能の向上効果が期待できる。 In this way, when the reference position of mv is a decimal pixel position, it is possible to adaptively switch between two or more types of interpolation filters based on hpelIfIdx, and it is possible to select the interpolation filter to be used according to the image characteristics, which is expected to result in improved coding performance.
(ハーフペルインデックス(hpelIfIdx)の設定処理)
以下、図7を参照して、本実施形態に係るハーフペルインデックス(hpelIfIdx)の判定処理について説明する。
(Half-pel index (hpelIfIdx) setting process)
Hereinafter, the process of determining the half-pel index (hpelIfIdx) according to this embodiment will be described with reference to FIG.
図7は、本実施形態に係るフィルタ判定部111D1におけるhpelIfIdxの判定処理順の一例を示すフローチャートである。 Figure 7 is a flowchart showing an example of the determination process order of hpelIfIdx in the filter determination unit 111D1 according to this embodiment.
hpelIfIdxは、上述したように、内挿フィルタの種別の判定に関わり、hpelIfIdxが「0」である場合、すなわち、無効の場合は、非特許文献2と同様の内挿フィルタを用いる。他方、hpelIfIdxが「0」でない場合、すなわち有効である場合は、平滑化フィルタを用いる。
As described above, hpelIfIdx is related to determining the type of interpolation filter, and if hpelIfIdx is "0", i.e., invalid, the same interpolation filter as in
hpelIfIdxは、対象ブロックがマージである場合は、動きベクトルとRefIdxとを合わせて、参照ブロックから取得し、マージインデックスに対応付けられる。 When the current block is a merge block, hpelIfIdx is obtained from the reference block by combining the motion vector and RefIdx, and is associated with the merge index.
他方、対象ブロックがマージモードではなく、AMVPにより動きベクトルが復号される場合には、上述したAMVRの適用有無及び所定条件によって、hpelIfIdxの値が判定される。 On the other hand, if the target block is not in merge mode and the motion vector is decoded by AMVP, the value of hpelIfIdx is determined based on whether or not the above-mentioned AMVR is applied and on certain conditions.
図7に示すように、ステップS7-1において、フィルタ判定部111D1は、AMVRが有効かどうかを判定する。判定には、例えば、非特許文献1と同様に、AMVRの適用有無を示すフラグ(amvr#flag)を復号することで判定してもよい。
As shown in FIG. 7, in step S7-1, the filter determination unit 111D1 determines whether AMVR is enabled. For example, the determination may be made by decoding a flag (amvr_flag) indicating whether AMVR is applied, as in
ステップS7-1において、AMVRが有効と判定される場合は、本処理は、ステップS7-2に進み、AMVRが無効と判定される場合は、本処理は、ステップS7-3に進む。 If it is determined in step S7-1 that the AMVR is valid, the process proceeds to step S7-2; if it is determined that the AMVR is invalid, the process proceeds to step S7-3.
ステップS7-2において、フィルタ判定部111D1は、所定条件1により、hpelIfIdxの値が「0」であるかどうかを判定する。
In step S7-2, the filter determination unit 111D1 determines whether the value of hpelIfIdx is "0" based on
ステップS7-2において、所定条件1が満たされていると判定された場合、本処理は、ステップS7-4に進み、所定条件1が満たされていないと判定された場合は、本処理は、ステップS7-5に進む。
If it is determined in step S7-2 that the specified
ここで、ステップS7-2の所定条件1において、AMVRの伝送精度を示すインデックス(amvr#precision#idx)を復号して判定してもよく、AMVRの伝送精度が1/2画素精度の場合に所定条件1を満たすと判定し、それ以外の場合は所定条件1を満たさないと判定する。
Here, in the
また、ステップS7-2の所定条件1では、対象ブロックがアフィンであるかで判定してもよく、対象ブロックがアフィンである場合は、所定条件1を満たさないと判定し、アフィンでない場合はamvr#precision#idxがmvdの伝送精度を1/2画素精度を示す場合に所定条件1を満たすと判定する。
In addition, in the
ここで、アフィンとは、非特許文献1で採用されているAffineのことであり、本発明では、既知の手法を採用することが可能であるため、説明は省略する。
Here, affine refers to the Affine method used in
また、ステップS7-2の所定条件1では、対象ブロックがIBCであるかで判定してもよく、対象ブロックがIBCである場合は、所定条件1を満たさないと判定し、IBCでない場合はamvr#precision#idxがmvdの伝送精度を1/2画素精度を示す場合に所定条件1を満たすと判定する。
In addition, in the
ここで、IBCとは、非特許文献1で採用されているIBC(Intra#Block#Copy)のことであり、本発明では、既知の手法を採用することが可能であるため、説明は省略する。
Here, IBC refers to the Intra Block Copy (IBC) adopted in
ステップS7-3において、フィルタ判定部111D1は、hpelIfIdxが「0」であると判定し、本処理を終了する。 In step S7-3, the filter determination unit 111D1 determines that hpelIfIdx is "0" and terminates this process.
ステップS7-4において、フィルタ判定部111D1は、hpelIfIdxが「1」であると判定し、本処理を終了する。 In step S7-4, the filter determination unit 111D1 determines that hpelIfIdx is "1" and ends this process.
ステップS7-5において、フィルタ判定部111D1は、hpelIfIdxが「0」であると判定し、本処理を終了する。 In step S7-5, the filter determination unit 111D1 determines that hpelIfIdx is "0" and terminates this process.
なお、ここまで、hpelIfIdxの判定処理をフローチャートで説明したが、図8に示す非特許文献1の判定処理のように、フィルタ判定部111D1は、amvr#flag、amvr#precision#idx、inter#affine#flagの復号結果及び対象ブロックがIBCであるかどうかに基づいて、Avmrshift値を決定し、かかるAmvr#shift値によってhpelIfidxの値を判定してもよい。
Up to this point, the determination process of hpelIfIdx has been explained using a flowchart, but as in the determination process of
(mv洗練化部)
以下、図9を参照して、本実施形態に係るmv洗練化部241Bについて説明する。なお、符号化装置のmv洗練化部111Cは復号装置のmv洗練化部241Bと全く同じ構成となるため、本実施形態では、mv洗練化部241Bについて代表して説明する。
(MV Refinement Department)
Hereinafter, the
図9は、本実施形態に係るmv洗練化部241Bの機能ブロックの一例について示す図である。
Figure 9 shows an example of a functional block of the
図9に示すように、mv洗練化部241Bは、MMVD部241B1と、DMVR部241B2とを有する。
As shown in FIG. 9, the
MMVD部241B1及びDMVR部241B2において、具体的には、非特許文献1で採用されているMMVD(Merge mode with MVD)及びDMVR(Decoder side Motion Vector Refinement)で動きベクトルが洗練化される。
In the MMVD section 241B1 and the DMVR section 241B2, specifically, the motion vectors are refined by MMVD (Merge mode with MVD) and DMVR (Decoder side Motion Vector Refinement) adopted in
具体的には、MMVD部241B1は、マージ部111A2から出力される動きベクトルの参照位置を基準として、図9に示すように、参照位置の修正範囲を距離及び方向(垂直および水平)によって設定するように構成されている。 Specifically, the MMVD unit 241B1 is configured to set the correction range of the reference position by distance and direction (vertical and horizontal) based on the reference position of the motion vector output from the merge unit 111A2, as shown in FIG. 9.
MMVD部241B1は、修正距離について、修正範囲の中から所定コストが最も小さい修正位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。 The MMVD unit 241B1 is configured to identify the correction position with the smallest specified cost within the correction range for the correction distance, and to perform a refinement process to correct the motion vector based on the correction reference position.
また、DMVR部241B2は、マージ部111A2から出力される動きベクトルによって特定される参照位置を基準として探索範囲を設定し、探索範囲の中から所定コストが最も小さい修正参照位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。 The DMVR unit 241B2 is also configured to set a search range based on a reference position identified by the motion vector output from the merge unit 111A2, identify a modified reference position with the smallest predetermined cost from within the search range, and perform a refinement process to modify the motion vector based on the modified reference position.
ここで、mv洗練化部241Bにおいて、対象ブロックへのMMVDの適用有無、DMVRの適用有無も判定されるが、その判定処理は、非特許文献1に記載の既知の手法を本発明では用いることが可能であるため、説明は省略する。
Here, the
なお、MMVD及びDMVRのいずれも無効である場合は、マージ部111A2から出力される動きベクトルは、修正されずに、そのまま後段の予測信号生成部241Cに出力される。
Note that if both MMVD and DMVR are invalid, the motion vector output from the merge unit 111A2 is not modified and is output as is to the downstream prediction
(マージリスト構築方法)
以下、図10を参照して、本実施形態に係るマージリスト構築処理について説明する。図10は、本実施形態に係るマージリスト構築処理の一例を示すフローチャートである。
(How to build a merge list)
The merge list construction process according to this embodiment will be described below with reference to Fig. 10. Fig. 10 is a flowchart showing an example of the merge list construction process according to this embodiment.
図10に示すように、本発明に係るマージリスト構築処理は、非特許文献1と同様に、合計5つのマージリストの構築処理によって構成される。
As shown in FIG. 10, the merge list construction process according to the present invention is composed of a total of five merge list construction processes, similar to that of
具体的には、ステップS10-1の空間マージ、ステップS10-2の時間マージ、ステップS10-3のヒストリーマージ、ステップS10-4のペアワイズ平均マージ、ステップS10-5のゼロマージによるマージリストの構築処理から構成される。それぞれのマージリスト構築処理については、後述する。 Specifically, it consists of a spatial merge in step S10-1, a time merge in step S10-2, a history merge in step S10-3, a pairwise average merge in step S10-4, and a merge list construction process using a zero merge in step S10-5. Each merge list construction process will be described later.
図11は、本実施形態に係るマージリスト構築処理にて生成されるマージリストの一例を示した図である。 Figure 11 shows an example of a merge list generated by the merge list construction process according to this embodiment.
マージリストとは、上述したように、マージインデックスに対応する動きベクトル、Refidx、hepelIfIdxが登録されたリストである。 As described above, the merge list is a list in which the motion vector, Refidx, and hepelIfIdx corresponding to the merge index are registered.
ここで、マージインデックスの最大数は、非特許文献1では「5」と設定されているが、設計者の意図により、自由に設定してもよい。
The maximum number of merge indexes is set to "5" in
また、図11にあるmvL0、mvL1、RefIdxL0、RefIdxL1は、それぞれ参照画像リストL0、L1の動きベクトルと参照画像インデックスを示す。 In addition, mvL0, mvL1, RefIdxL0, and RefIdxL1 in Figure 11 indicate the motion vector and reference image index of the reference image lists L0 and L1, respectively.
ここで、参照画像リストL0、L1とは、参照フレームが登録されたリストのことを示し、RefIdxによって、その参照フレームが特定される。 Here, reference image lists L0 and L1 refer to lists in which reference frames are registered, and the reference frames are identified by RefIdx.
なお、図11に示すマージリストには、L0及びL1双方の動きベクトルと参照画像インデックスを示しているが、参照ブロックによっては片方向予測である場合がある。その場合は、片方向分の動きベクトル及び参照画像インデックスが、かかるマージリストに登録される。また、そもそも参照ブロックに動きベクトルが存在しない場合は、その参照ブロックに対するマージリストの構築処理がスキップされる。 Note that the merge list shown in FIG. 11 shows both L0 and L1 motion vectors and reference image indices, but some reference blocks may use one-way prediction. In such cases, the motion vectors and reference image indices for one direction are registered in the merge list. Also, if there is no motion vector in the reference block, the process of constructing a merge list for that reference block is skipped.
(空間マージ)
図12は、空間マージについて示した図である。空間マージとは、対象ブロックと同一フレームに存在する隣接ブロックから、mv、RefIdx、hpelIfIdxを継承する技術である。
(Spatial Merge)
12 is a diagram showing spatial merging. Spatial merging is a technique for inheriting mv, RefIdx, and hpelIfIdx from an adjacent block that exists in the same frame as the current block.
具体的には、図12に示すような位置関係にある隣接ブロックから、上述のmv、Refidx、hpelfIdxを継承し、その処理順は、非特許文献1と同様に、図12に示すような順序としてもよい。
Specifically, the above-mentioned mv, Refidx, and hpelfIdx are inherited from adjacent blocks that are in the positional relationship shown in FIG. 12, and the processing order may be the order shown in FIG. 12, as in
なお、マージリスト処理では、上述の処理順でマージリストへのパラメータ登録がなされるが、マージリストに対して同じ動きベクトルと参照画像インデックスが登録されないようなチェック機構が存在する。これをpruning処理と呼ぶ。 In the merge list process, parameters are registered in the merge list in the processing order described above, but there is a check mechanism to ensure that the same motion vector and reference image index are not registered in the merge list twice. This is called pruning processing.
pruning処理の存在理由は、マージリストに登録される動きベクトル及び参照画像インデックスのバリエーションを増やすことであり、画像符号化装置100の観点では、画像特性に併せて所定コストが最も小さくなる動きベクトルが選択できるということであり、画像復号装置200では、その選択された動きベクトル及び参照画像インデックスに基づいて予測精度の高い予測信号を生成することができるため、結果的に符号化性能の向上効果が期待できるという点にある。
The reason for the existence of the pruning process is to increase the variety of motion vectors and reference image indexes registered in the merge list. From the viewpoint of the
空間マージでは、例えば、隣接ブロックA1が登録されれば、次の処理順にある隣接ブロックB1で、隣接ブロックA1で登録された動きベクトルと参照画像インデックスとの同一性が確認され、もし同一性が確認されれば、隣接ブロックB1の動きベクトル及び参照画像インデックスはマージリストに登録されない構成となっている。 In spatial merging, for example, when adjacent block A1 is registered, the identity of the motion vector and reference image index registered in adjacent block A1 is confirmed in adjacent block B1 , which is the next block to be processed, and if identity is confirmed, the motion vector and reference image index of adjacent block B1 are not registered in the merge list.
なお、非特許文献1では、隣接ブロックB0、隣接ブロックA0、隣接ブロックB2については、既にマージリストに登録済みの動きベクトルと参照画像インデックスとの同一性のチェック以外に、対象ブロックがトライアングルマージであるかどうかの確認が存在する。
In addition, in
本実施形態では、pruning処理に対して、このトライアングルマージによる判定を追加してもよく、またトライアングマージとしては既知の手法を取ることが可能であるため、説明は省略する。 In this embodiment, a triangle merge judgment may be added to the pruning process, and a known method can be used for triangle merging, so a description is omitted.
また、非特許文献1では、空間マージによるマージインデックスの登録最大可能数を「4」と設定しており、隣接ブロックB2に関しては、それまでの空間マージ処理によって、既に4つのマージインデックスが登録されている場合は、B2の処理がスキップされる。
In addition, in
本実施形態では、非特許文献1と同様に、隣接ブロックB2の処理を、既存のマージインデックス登録数によって判定してもよい。
In this embodiment, similarly to
(時間マージ)
図13は、時間マージについて示した図である。時間マージとは、対象ブロックと異なるフレームに存在するが、同一位置の左下の隣接ブロック(図13のC1)又は同一位置にあるブロック(図13のC0)を参照ブロックと特定して、動きベクトルと参照画像インデックスを継承する技術である。
(Time Merge)
Fig. 13 is a diagram showing temporal merging. Temporal merging is a technique for identifying a block ( C1 in Fig. 13) that exists in a different frame from the target block but is located at the same position as the target block, as a reference block, and inheriting a motion vector and a reference image index.
かかる時間マージリストによるマージインデックスのマージリストへの登録最大可能数は、非特許文献1では、「1」となっており、本実施形態においても、登録最大可能数を同様に設定しもよい。
In
また、時間マージにおいて継承される動きベクトルは、スケーリングされる特徴があり、図14は、かかるスケーリング処理を示した図である。 Motion vectors inherited in temporal merging are characterized by being scaled, and Figure 14 shows this scaling process.
具体的には、図14に示すように、対象ブロックの参照フレームと対象フレームが存在するフレームとの距離tbと、参照ブロックの参照フレームと参照ブロックの参照フレームの距離tdとに基づいて、参照ブロックのmvが、以下のようにスケーリングされる。 Specifically, as shown in FIG. 14, mv of the reference block is scaled as follows 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:
mv’=(td/tb)×mv
時間マージでは、このスケーリングされたmv’がマージインデックスに対応する動きベクトルとしてマージインデックスに登録される構成となっている。
mv'=(td/tb)×mv
In the temporal merge, this scaled mv' is registered in the merge index as the motion vector corresponding to the merge index.
(ヒストリーマージ)
図15は、ヒストリーマージについて示した図である。ヒストリーマージとは、対象ブロックよりも過去に符号化済みのインター予測ブロックが有する動きベクトル、参照画像インデックス、ハーフペルインデックスを、ヒストリーマージテーブルと呼ばれる記憶領域に別途記憶しておき、マージリストが前段の空間マージ処理、時間マージ処理で埋まっていない場合に、かかるヒストリーマージテーブルに登録されているマージインデックスをマージリストに登録するという技術である。
(History Merge)
15 is a diagram showing history merge. History merge is a technique in which a motion vector, a reference image index, and a half-pel index of an inter-prediction block that has been coded before a target block are separately stored in a storage area called a history merge table, and when the merge list is not filled by the previous spatial merge process or the time merge process, the merge index registered in the history merge table is registered in the merge list.
図15は、ヒストリーマージテーブル構築処理の一例を示した図であり、ヒストリーマージインデックスによって、過去に符号化済みのブロックに対応する動きベクトル、参照画像インデックス、ハーフペルインデックスがヒストリーマージテーブルに登録される構成となっている。 Figure 15 shows an example of the history merge table construction process, in which the motion vector, reference image index, and half-pel index corresponding to a previously coded block are registered in the history merge table using the history merge index.
このヒストリーマージテーブルのヒストリーマージインデックスの最大登録数は、非特許文献1では、最大で「6」と設定されているが、設計者の意図によって自由に設定してもよい。
In
また、このヒストリーマージテーブルへのヒストリーマージインデックスの登録処理は、FIFO処理となっており、ヒストリーマージテーブルがいっぱいになると新しいヒストリーマージテーブルが追加されるたびに、最後に登録されたヒストリーマージインデックスが削除される構成となっている。 The process of registering history merge indexes in this history merge table is a FIFO process, and when the history merge table becomes full, the last registered history merge index is deleted each time a new history merge table is added.
また、ヒストリーマージテーブルに登録されているヒストリーマージインデックスは、非特許文献1と同様に、対象ブロックが符号化ツリーブロック(CTU:Coding Tree Block)を跨ぐと初期化されてもよい。
In addition, the history merge index registered in the history merge table may be initialized when the target block crosses a coding tree block (CTU), as in
(ペアワイズ平均マージ)
図16は、ペアワイズ平均マージにより算出される新たな動きベクトルとハーフペルインデックスとの組について示した図である。
(Pairwise average merging)
FIG. 16 is a diagram showing a set of a new motion vector and a half-pel index calculated by pairwise average merging.
ペアワイズ平均マージとは、マージリストに既に登録されている2組のマージインデックスに対応する動きベクトル、参照画像インデックス、ハーフペルインデックスを用いて、新たな動きベクトル、参照画像インデックス、ハーフペルインデックスを生成する技術である。 Pairwise average merging is a technique that generates new motion vectors, reference image indexes, and half-pel indexes using motion vectors, reference image indexes, and half-pel indexes corresponding to two pairs of merge indexes already registered in the merge list.
ペアワイズ平均マージに利用する2組のマージインデックスは、非特許文献1と同様に、マージリストに登録されているマージインデックスの0番目及び1番目を固定で利用してもよいし、或いは、設計者の意図で、別の2組の組合せを自由に設定してもよい。
The two sets of merge indexes used for pairwise average merging may be the 0th and 1st merge indexes registered in the merge list, as in
ペアワイズ平均マージにおける新たな動きベクトルの生成方法は、図16に示すように、マージリストの2組のマージインデックスに対応する動きベクトルを平均化して生成する。 The method for generating a new motion vector in pairwise average merging is to average the motion vectors corresponding to two pairs of merge indexes in the merge list, as shown in Figure 16.
具体的には、例えば、2組のマージインデックスに対応する動きベクトルがそれぞれ2つある場合(すなわち、双予測である場合)、L0及びL1方向の動きベクトルmvL0P0/mvL1P0及びmvL0P1/mvL1P1によって、ペアワイズ平均マージの動きベクトルであるmvL0Avg及びmvL1Avgは、それぞれ以下のように独立して算出される。 Specifically, for example, when there are two motion vectors corresponding to two sets of merge indexes (i.e., in the case of bi-prediction), the pair-wise average merge motion vectors mvL0Avg and mvL1Avg are calculated independently using the motion vectors mvL0P0 / mvL1P0 and mvL0P1 /mvL1P1 in the L0 and L1 directions as follows:
mvL0Avg=(mvL0P0+mvL0P1)/2
mvL1Avg=(mvL1P0+mvL1P1)/2
ここで、mvL0P0/mvL1P0又はmvL0P1/mvL1P1の片方が存在しない場合は、存在しない動きベクトルを除いて、上述の計算が行われる。
mvL0Avg=(mvL0P 0 +mvL0P 1 )/2
mvL1Avg=(mvL1P 0 +mvL1P 1 )/2
Here, if either mvL0P 0 /mvL1P 0 or mvL0P 1 /mvL1P 1 does not exist, the above calculation is performed excluding the non-existent motion vector.
このとき、非特許文献1では、ペアワイズ平均マージインデックスに紐づく参照画像インデックスをマージインデックスP0に紐づく参照画像インデックスRefIdxL0P0及びRefIdxL1P0を常に使用するように定めている。
At this time,
また、ペアワイズ平均マージにより生成される新たなハーフペルインデックスhpelIfIdxAvgは、図17(a)及び図17(b)に示すように、既にマージリストに登録済みの2組のマージインデックスに対応する2組のハーフペルインデックスhpelIfIdxP0及びhpelIfIdxP1に基づいて設定する。 In addition, the new half-pel index hpelIfIdxAvg generated by the pair-wise average merge is set based on two pairs of half-pel indexes hpelIfIdxP0 and hpelIfIdxP1 corresponding to two pairs of merge indexes already registered in the merge list, as shown in Figures 17( a) and 17(b ) .
具体的には、ステップS17-1において、hpelIfIdxP0及びhpelIfIdxP1が同じであるかどうかを判定する。同じである場合は、本処理は、ステップS17-2に進み、同じでない場合は、本処理は、ステップS17-3に進む。 Specifically, in step S17-1 it is determined whether 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.
ステップS17-2において、hpelIfIdxAvgをhpelIfIdxP0と設定する。 At step S17-2, hpelIfIdxAvg is set to hpelIfIdxP0 .
ステップS17-3において、hpelIfIdxAvgを無効すなわち「0」と設定する。 In step S17-3, hpelIfIdxAvg is set to invalid, i.e., "0".
ここで、hpelIfIdxP0及びhpelIfIdxP1の取り得る値が「0」又は「1」である場合、図17(a)に示すステップS17-1及びステップS17-3の処理について、図17(b)のステップS17-4からステップS17-6のような処理に置き換えてもよい。 Here, if the possible values of hpelIfIdxP0 and hpelIfIdxP1 are "0" or "1", the processes of steps S17-1 and S17-3 shown in FIG. 17A may be replaced with processes such as steps S17-4 to S17-6 in FIG. 17B.
(ペアワイズ平均マージにおけるハーフペルインデックスの設定条件不備解消)
以下、図18~図20を参照して、本実施形態に係るペアワイズ平均マージにおけるハーフペルインデックスの設定条件の不備解消方法の一例について説明する。
(Fixed the half-pel index setting conditions for pairwise average merging)
Hereinafter, an example of a method for resolving deficiencies in the setting conditions of the half-pel index in pairwise average merging according to this embodiment will be described with reference to FIGS.
図18は、本実施形態に係るペアワイズ平均マージによりハーフペルインデックスの設定条件に不備が生じる事例を示した図である。 Figure 18 shows an example in which the pairwise average merging according to this embodiment results in an inadequacy in the setting conditions for the half-pel index.
具体的には、ペアワイズ平均マージにより生成される新たな動きベクトル及びハーフペルインデックスは、上述のように、既にマージリストに登録された異なる2組のマージインデックスに対応する動きベクトルの平均化及び所定条件によるハーフペルインデックス値の判定により導出されると説明した。 Specifically, as described above, the new motion vector and half-pel index generated by pairwise average merging are derived by averaging the motion vectors corresponding to two different sets of merge indexes already registered in the merge list and determining the half-pel index value according to predetermined conditions.
図16で示した例では、ペアワイズ平均マージにより生成されたhpelIfIdxAvgが「1」であり、mvL0Avg及びmvL1Avgがいずれも1/2画素精度位置にあるため、上述の平滑化フィルタの有効条件について対象ブロックが満たすことになる。 In the example shown in Figure 16, the hpelIfIdxAvg generated by pairwise average merging is "1", and both mvL0Avg and mvL1Avg are at 1/2 pixel accuracy positions, so the target block satisfies the validity conditions for the smoothing filter described above.
一方、図18のように、ペアワイズ平均マージにより生成されたhpelIfIdxAvgが有効すなわち「1」である場合で且つmvL0P0、mvL1P0、mvL0P1及びmvL1P1がいずれも1/2画素精度位置にある場合であっても、平均化されるmvL0P0及びmvL0P1の一方が1/2画素位置にあり、他方が整数画素位置にある場合は、mvL0Avgは、1/4画素精度位置を参照することとなる。これは、図18のように、mvL1P0及びmvL1P1の平均化により生成されるmvL1Avgについても同様の構成となっている。 On the other hand, even if hpelIfIdxAvg generated by pairwise average merging is valid, i.e., "1", and mvL0P 0 , mvL1P 0 , mvL0P 1 and mvL1P 1 are all at 1/2 pixel accuracy positions as shown in Fig. 18, if one of mvL0P 0 and mvL0P 1 to be averaged is at a 1/2 pixel position and the other is at an integer pixel position, mvL0Avg will refer to a 1/4 pixel accuracy position. This is the same for mvL1Avg generated by averaging mvL1P 0 and mvL1P 1 as shown in Fig. 18.
対象ブロックがペアワイズ平均マージによる動きベクトルを用いて予測信号を生成することを考えると、この場合、周囲の参照ブロックから継承したハーフペルインデックスが「1」であるにも拘わらず、動きベクトルが1/4画素精度位置を参照するため、平滑化フィルタの有効条件を満たさないことになる。これは、対象ブロックの内挿フィルタにはHEVCフィルタが利用される一方で、参照先の周囲のブロックの内挿フィルタには平滑化フィルタが利用されるため、ブロック間で異なる内挿フィルタの利用が混在することを引き起こす。 Considering that the target block generates a prediction signal using a motion vector obtained by pairwise average merging, in this case, even though the half-pel index inherited from the surrounding reference blocks is "1", the motion vector references a quarter-pixel accuracy position, and therefore does not satisfy the effective condition for the smoothing filter. This causes the use of different interpolation filters between blocks, since an HEVC filter is used as the interpolation filter for the target block, while a smoothing filter is used as the interpolation filter for the surrounding reference blocks.
さらに、当該対象ブロックを参照する未来のブロックは、かかる対象ブロックからハーフペルインデックス=1と参照先が1/4画素精度位置にあるmvを継承するため、未来のブロックに対して、この平滑化フィルタの有効条件に対する不一致を伝搬することに繋がる。 Furthermore, future blocks that reference the target block inherit half-pel index = 1 and mv whose reference is at a quarter-pixel accuracy position from the target block, which leads to the propagation of a mismatch with the effective conditions of this smoothing filter to future blocks.
この課題については、既知の手法では解決されておらず、本実施形態において以下の2つの方法を提案する。図19及び図20は、かかる2つの解決手法を示した図である。 This issue has not been resolved by known methods, so the following two methods are proposed in this embodiment. Figures 19 and 20 show these two solutions.
まず、1つ目の方法について図19に示す。図19では、具体的には、上述したようなケース、すなわち、ステップS19-4に示すような、継承により生成したhpelIfIdxAvgが「1」である場合にも拘らず、mvL0Avg又はmvL1Avgが1/2画素精度位置以外を参照する場合、本処理は、ステップS19-5に進み、継承したhpelIfIdxAvgを「1」から「0」に修正する。これにより、上述したような対象ブロック並びに未来のブロックに対する平滑化フィルタの有効条件の設定不備及びそれに伴う伝搬を回避することが可能となる。 First, the first method is shown in FIG. 19. Specifically, in FIG. 19, in the case described above, that is, as shown in step S19-4, even if the hpelIfIdxAvg generated by inheritance is "1", when mvL0Avg or mvL1Avg refers to a position other than a 1/2 pixel accuracy position, the process proceeds to step S19-5, where the inherited hpelIfIdxAvg is corrected from "1" to "0". This makes it possible to avoid improper setting of the validity conditions of the smoothing filter for the target block and future blocks as described above, and the associated propagation.
また、2つ目の方法について図20に示す。図20に示す処理は、図20のステップS20-5及び図19のステップS19-5以外は、図19に示す処理と同じ処理になり、本実施形態では、ステップ19-5に相当する別の解消方法として、ステップS20-5に示す解消方法を提案する。 The second method is shown in FIG. 20. The process shown in FIG. 20 is the same as the process shown in FIG. 19 except for step S20-5 in FIG. 20 and step S19-5 in FIG. 19, and in this embodiment, the solution method shown in step S20-5 is proposed as another solution method equivalent to step 19-5.
ステップS20-5において、具体的には、前段のステップで、hpelIfIdxAvgが「1」であるにも拘らず、mvL0Avg及びmvL1Avgの参照先が1/2画素精度位置以外となる場合、mvL0Avg及びmvL1Avgの参照先を1/2画素精度位置に丸めるという方法である。これにより、対象ブロック並びに未来のブロック対して、平滑化フィルタの有効条件の設定不備及びそれに伴う伝搬を回避することが可能となる。 Specifically, in step S20-5, if the reference destination of mvL0Avg and mvL1Avg is not a 1/2 pixel accuracy position even though hpelIfIdxAvg was "1" in the previous step, the reference destination of mvL0Avg and mvL1Avg is rounded to a 1/2 pixel accuracy position. This makes it possible to avoid improper setting of the effective conditions of the smoothing filter and the associated propagation for the target block and future blocks.
前者の解決方法は、mvに応じてhpelIfIdxを修正するという技術であり、後者の解決方法は、hpelIfIdxに応じてmvを修正する技術である。どちらの解決方法を採用するかは、設計者の意思で自由に設定しもよい。 The former solution is a technique for modifying hpelIfIdx according to mv, and the latter solution is a technique for modifying mv according to hpelIfIdx. Designers are free to decide which solution to adopt.
(MMVDにおける不備解消)
上述したペアワイズ平均マージにおけるハーフペルインデックス及び動きベクトルに基づく平滑化フィルタの設定条件の不備は、MMVDが有効となる対象ブロックでも生じる可能性がある。何故ならば、マージ部241A2から出力される動きベクトルの参照先が1/2画素精度位置であり且つハーフペルインデックスが「1」である場合であっても、MMVD部241B1において、かかる動きベクトルがMMVDにより修正され、動きベクトルの参照先が1/2画素精度位置からずれる可能性があるためである。
(Resolving deficiencies in MMVD)
The above-mentioned deficiencies in the setting conditions of the smoothing filter based on the half-pel index and the motion vector in the pair-wise average merging may also occur in a target block for which MMVD is valid, because even if the reference destination of the motion vector output from the merging unit 241A2 is a 1/2 pixel accuracy position and the half-pel index is "1", the motion vector may be corrected by MMVD in the MMVD unit 241B1, and the reference destination of the motion vector may shift from the 1/2 pixel accuracy position.
そのため、本発明では、ペアワイズ平均マージと同様に、mvに応じてhpelIfIdxを修正するという解決手段と、hpelIfIdxに応じてmvを修正する解決手段を提案する。 Therefore, in this invention, we propose a solution in which hpelIfIdx is modified according to mv, as in pairwise average merging, and a solution in which mv is modified according to hpelIfIdx.
以下、図21~図23を参照して、本実施形態に係るMMVDにおけるハーフペルインデックスの設定条件の不備解消方法の一例について説明する。 Below, with reference to Figures 21 to 23, an example of a method for resolving deficiencies in the setting conditions of the half-pel index in MMVD according to this embodiment will be described.
図21は、MMVDについて示した図である。MMVDは、上述したように、マージ部241A2が出力した動きベクトルを基準として、新たな動きベクトルの参照位置を、図21に示すmmvd#distance#idx及びmmvd#direction#idxの値に基づき修正するという構成となっている。 Figure 21 shows the MMVD. As described above, the MMVD is configured to use the motion vector output by the merge unit 241A2 as a reference and to correct the reference position of a new motion vector based on the values of mmvd#distance#idx and mmvd#direction#idx shown in Figure 21.
非特許文献1では、上述の2つのインデックスに基づいて、mvdが計算され、もともとの動きベクトルに加算される構成となっている。かかるmvdが1/4画素精度を取る際に、MMVDの適用後の動きベクトルは、1/2画素精度位置からずれることになる。
In
なお、MMVDのmvdが整数精度であっても、元々の動きベクトルの画素精度は、上述のAMVRの場合とは異なり、変わらない。例えば、元々の動きベクトルが1/2画素精度位置にあり、mvdが「1」である場合は、新たな動きベクトルは変わらず1/2精度位置を参照する。 Note that even if the mvd of MMVD has integer precision, the pixel precision of the original motion vector does not change, unlike the case of AMVR described above. For example, if the original motion vector is at a 1/2 pixel precision position and mvd is "1", the new motion vector will still refer to the 1/2 precision position.
そこで、上述のようなケースを解消するため、図22及び図23を用いて、2つの解決手段について、以下に示す。 Therefore, to resolve the above-mentioned cases, two solutions are shown below using Figures 22 and 23.
図22は、mvに応じてhpelIfIdxを修正するという解決手段を示している。 Figure 22 shows a solution that modifies hpelIfIdx depending on mv.
具体的には、ステップS22-1において、hpelIfIdxが「1」である場合は、本処理は、ステップS22-2に進み、hpelIfIdxが「1」でない場合は、本処理は、終了する。 Specifically, in step S22-1, if hpelIfIdx is "1", the process proceeds to step S22-2, and if hpelIfIdx is not "1", the process ends.
ステップS22-2において、所定条件2を満たす場合は、本処理は、終了し、所定条件2を満たさない場合は、本処理は、ステップS22-3に進む。
If the specified
ここで、所定条件2には、MMVDの適用後のmvが1/2画素精度位置を参照するかどうかの判定を追加してもよい。また、MMVD部241B1に入力されるmvが1/2画素位置にあり且つMMVDにより追加されるmvdが1/2画素精度であるかどうかの判定を追加してもよい。
Here, the
ステップS22-3において、ステップS22-2でMMVDによりmvが1/2画素精度位置からずれるため、ハーフペルインデックスを「1」から「0」に修正して、本処理は終了する。 In step S22-3, since mv is shifted from the 1/2 pixel accuracy position due to MMVD in step S22-2, the half-pel index is corrected from "1" to "0" and this process ends.
図23は、hpelIfIdxに応じてmvを修正するという解決手段を示している。 Figure 23 shows a solution where mv is modified according to hpelIfIdx.
具体的には、図22に示すステップS22-3で示した解決手段に相当する別の解決手段、すなわち、MMVDの適用後のmvを1/2画素精度位置に丸めるという処理を、ステップS23-3にて実施する構成となっている。 Specifically, another solution equivalent to the solution shown in step S22-3 in FIG. 22, that is, a process of rounding mv after applying MMVD to a 1/2 pixel precision position, is implemented in step S23-3.
[変更例:MMVDに関する丸め処理のバリエーション]
以下に、上述のステップS23-3で示したMMVDでmvが修正された場合のmvの丸め処理のバリエーションについて説明する。
[Modification: Variation of rounding process related to MMVD]
The following describes variations in the rounding process of mv when mv is modified by MMVD as shown in step S23-3 above.
上述した方法は、MMVD適用後のmvを直接1/2画素精度位置に丸めるという処理を取っていたが、1つ目の代替方法としては、MMVD適用時のmvdを1/2画素精度位置に丸めることで、MMVDの適用後のmvを間接的に丸めてもよい。 The above method involves directly rounding mv after applying MMVD to a 1/2 pixel precision position, but as a first alternative method, mvd when applying MMVD may be rounded to a 1/2 pixel precision position, thereby indirectly rounding mv after applying MMVD.
例えば、mmvd#distance#idxに対応するmvdのオフセット値を示した図24のテーブルを変更するという方法が考えられる。具体的には、以下の2つの方法が考えられる。 For example, one possible method is to change the table in Figure 24, which shows the offset value of mvd corresponding to mmvd#distance#idx. Specifically, the following two methods are possible.
1つ目の方法は、hpelIfIdxの判定を図24のテーブルに追加するというアイデアである。図25に、hpelIfIdxの判定を追加したテーブルを示す。 The first method is to add the hpelIfIdx check to the table in Figure 24. Figure 25 shows the table with the hpelIfIdx check added.
図24に示す従来のテーブルでは、MMVDによるmvdのオフセット値は、MMVDの修正精度を整数画素精度とするかを示すスライスレベルの判定フラグであるslice#fpel#mmvd#enabled#flagのみで判定されていたが、図25では、slice#fpel#mmvd#enabled#flagが「0」である場合、すなわち、MMVDによる動きベクトルの修正精度が小数画素精度まで許容される場合のテーブルをhpelIfIdxの値によって2つに分けている。 In the conventional table shown in Figure 24, the offset value of mvd by MMVD was determined only by slice#fpel#mmvd#enabled#flag, which is a slice-level determination flag indicating whether the correction accuracy of MMVD is integer pixel accuracy or not. However, in Figure 25, the table for the case where slice#fpel#mmvd#enabled#flag is "0", i.e., when the correction accuracy of the motion vector by MMVD is allowed up to decimal pixel accuracy, is divided into two according to the value of hpelIfIdx.
hpelIfIdxが「0」である場合は、mmvd#distance#idxは、「1」から開始され、hpelIfIdxが「1」である場合は、mmvd#distance#idxが「2」から開始される。 If hpelIfIdx is "0", mmvd#distance#idx starts from "1", and if hpelIfIdx is "1", mmvd#distance#idx starts from "2".
非特許文献1におけるMMVDの実際のMVDのオフセット値は、かかるテーブルに示された値に対して4倍され、非特許文献1における動きベクトルの演算精度である1/16画素精度に対して掛けられるため、図25に示すMmvdDistanceが「1」である場合は、MMVDの適用後の動きベクトルは、1/4画素精度となり、MmvdDistanceが「2」である場合は、MMVDの適用後の動きベクトルは、1/2画素精度となる。その結果、上述したハーフペルインデックス及びMMVDの適用後のmvの不備の解消が可能となる。
The actual MVD offset value of the MMVD in
(DMVRにおける不備解消)
上述したペアワイズ平均マージ、MMVDにおけるハーフペルインデックス及び動きベクトルに基づく平滑化フィルタの設定条件の不備は、DMVRが有効となる対象ブロックでも生じる可能性がある。何故ならば、マージ部241A2から出力される動きベクトルの参照先が1/2画素精度位置であり且つハーフペルインデックスが「1」である場合であっても、DMVR部241B2で、かかる動きベクトルがDMVRにより修正され、動きベクトルの参照先が1/2画素精度位置からずれる可能性があるためである。
(Resolving DMVR deficiencies)
The above-mentioned pairwise average merging and improper setting conditions of the smoothing filter based on the half-pel index and motion vector in MMVD may occur even in a target block for which DMVR is enabled, because even if the reference destination of the motion vector output from the merging unit 241A2 is a 1/2 pixel accuracy position and the half-pel index is "1", the motion vector may be corrected by the DMVR unit 241B2, and the reference destination of the motion vector may shift from the 1/2 pixel accuracy position.
そのため、本変更例では、ペアワイズ平均マージと同様に、mvに応じてhpelIfIdxを修正するという解決手段、並びに、hpelIfIdxに応じてmvを修正する解決手段を提案するが、その構成例は、上述したMMVDでの解決手段、すなわち、図22及び図23で示した構成例と全く同じになるため、説明は省略する。 Therefore, in this modified example, we propose a solution in which hpelIfIdx is modified according to mv, as in pairwise average merging, and a solution in which mv is modified according to hpelIfIdx. However, the configuration example is exactly the same as the solution in MMVD described above, i.e., the configuration example shown in Figures 22 and 23, so we will not explain it here.
[変更例:DMVRに関する丸め処理のバリエーション]
以下に、上述したMMVDの適用後のmvに対する丸め処理のバリエーションと同様に、DMVRの適用後のmvに対する丸め処理について説明する。
[Modification example: variation of rounding process for DMVR]
In the following, similar to the variations of rounding process for mv after application of MMVD described above, rounding process for mv after application of DMVR will be described.
MMVDでは、丸め処理のバリエーション例として、MMVDの適用後のmvを直接丸めるか、或いは、MMVDの適用時のmvdに丸め処理を施し、間接的に、MMVDの適用後のmvを丸めるという技術を紹介したが、DMVRに関するバリエーションも基本は同じであるため、重複部分の説明は省略する。他方、DMVR及びMMVDの丸め処理で差異が存在する部分を説明する。 As examples of rounding variations for MMVD, we have introduced a technique in which mv after MMVD is applied is directly rounded, or mvd when MMVD is applied is rounded, and mv after MMVD is indirectly rounded. However, the variations for DMVR are basically the same, so we will not explain the overlapping parts. On the other hand, we will explain the differences between the rounding processes of DMVR and MMVD.
具体的には、DMVRでは、mvdの計算が、整数部分と小数部分とで独立に算出される。よって、mvdを丸める処理の対象に選択する場合、上述のMMVDと同様に、mvdの総和を直接丸める対象としてもよいが、DMVRでは、mvdの小数部分のみを丸める対象としてもよい。mvが1/2画素精度位置からずれるケースは、DMVRによるmvdの小数部分が1/2画素精度以外になる場合に限定されているためである。 Specifically, in DMVR, mvd is calculated independently for the integer part and the decimal part. Therefore, when selecting mvd as the target for rounding, the sum of mvd may be directly rounded as in the case of MMVD described above, but in DMVR, only the decimal part of mvd may be rounded. This is because the cases in which mv deviates from the 1/2 pixel accuracy position are limited to cases in which the decimal part of mvd calculated by DMVR becomes other than 1/2 pixel accuracy.
また、DMVRにおいてのmvdの導出は、上述のように修正する動きベクトルの位置を探索によって特定した後、パラボラフィッティング処理によって計算で算出する構成となっており、丸め処理をこのパラボラフィッティング処理にて実施することで、DMVRの適用後のmvを1/2画素精度位置に丸めてもよい。 In addition, in DMVR, mvd is derived by first identifying the position of the motion vector to be corrected by searching as described above, and then calculating it using a parabolic fitting process. By performing a rounding process in this parabolic fitting process, mv after application of DMVR can be rounded to a 1/2 pixel accuracy position.
[変更例:DMVRに関するその他の変更例]
以下では、DMVRに関するその他の変更例について説明する。
[Examples of changes: Other examples of changes related to DMVR]
Other modification examples regarding the DMVR will be described below.
DMVRは、修正する動きベクトルの探索を伴う処理のため、画像復号装置200にとっては、比較的重い処理であることが知られている。そのため、ブロック処理の並列化実現性を容易にするべく、DMVRの適用後の動きベクトルは、例えば、デブロッキングフィルタの判定条件には利用されず、DMVRの適用前の動きベクトルが利用される。
DMVR is known to be a relatively heavy process for the
ハーフペルインデックスについても同様で、非特許文献1では、対象ブロックの予測信号生成に利用される動きベクトルは、DMVRの適用後のものが利用されるが、例えば、マージ処理で周囲の未来のブロックに継承する動きベクトルは、DMVRの適用前のものが継承される構成となっている。
The same is true for half-pel indexes. In
ここで、図22及びと図23で示した解決手段は、いずれもDMVRの適用後のmvの参照位置を確認してから、hpelIfIdx或いはmvを修正するというものであった。 The solutions shown in Figures 22 and 23 both involve checking the reference position of mv after applying DMVR, and then modifying hpelIfIdx or mv.
しかし、この解決方法では、DMVRの適用を待ってから修正処理を施さなければならず、ブロック処理の並列化の実現性容易度を低下させてしまうことが考えられる。 However, with this solution, correction processing must be performed after DMVR is applied, which may reduce the feasibility of parallelizing block processing.
そのため、以下のような3つの手段を代替として講じることが可能である。 Therefore, the following three measures can be taken as alternatives:
1つ目は、対象ブロックでDMVRが有効となる場合、上述のように、mvを修正するのは、対象ブロックに限定し、対象ブロックを参照する未来のブロックについて継承するmvは、DMVRの適用前のmvを継承するという方法である。 The first method is that when DMVR is enabled in the target block, as described above, the mv is modified only in the target block, and the mv inherited by future blocks that reference the target block inherits the mv before DMVR was applied.
2つ目は、対象ブロックでDMVRが有効となる可能性があると判定された時点で、hpelIfIdxを常に「0」に設定するという方法である。対象ブロックでDMVRが有効となる可能性があると判定できるタイミングは、CABACによる制御データの復号時であり、本変更例において、そのタイミングとして既知の手法を取ることが可能であるため、説明は省略する。 The second method is to always set hpelIfIdx to "0" when it is determined that DMVR may be enabled in the target block. The timing at which it can be determined that DMVR may be enabled in the target block is when control data is decoded by CABAC, and since a known method can be used to determine this timing in this modified example, a description thereof will be omitted.
3つ目は、hpelIfIdxが「1」となる対象ブロックに対して、DMVRを無効にするという方法である。 The third method is to disable DMVR for target blocks where hpelIfIdx is "1".
上述した3つの代替方法のいずれかを講じることで、上述で挙げたブロックの処理並列化の実現性容易度の低下を回避することが期待できる。 By adopting any of the three alternative methods described above, it is expected that the decrease in feasibility of parallelizing the processing of the blocks mentioned above can be avoided.
[変更例:ペアワイズ平均及びMMVD/DMVRが直列時の不備解消]
以下、図26を参照して、本実施形態に係るペアワイズ平均マージによって導出された動きベクトルがMMVD又はDMVRによって修正される場合の変更例について説明する。
[Example of change: Resolving problems when pairwise averaging and MMVD/DMVR are in series]
Hereinafter, with reference to FIG. 26, a modification example in which the motion vectors derived by the pairwise average merging according to this embodiment are corrected by MMVD or DMVR will be described.
図26は、ペアワイズ平均マージによって導出された動きベクトルがMMVD又はDMVRによって修正される場合の変更例を示した図である。 Figure 26 shows an example of a modification in which motion vectors derived by pairwise average merging are modified by MMVD or DMVR.
上述の例において、ペアワイズ平均マージによりハーフペルインデックスが「1」であり且つ動きベクトルが1/2画素精度位置からずれる場合に、ハーフペルインデックスを「0」に修正する解決手段について説明した。 In the above example, we described a solution in which the half-pel index is corrected to "0" when the half-pel index is "1" and the motion vector deviates from the 1/2-pel accuracy position due to pairwise average merging.
しかし、このハーフペルインデックスを「0」に修正した後で、MMVD又はDMVRによって、1/2画素精度位置からずれた動きベクトルが、再度、1/2画素精度位置に戻る可能性が考えられる。 However, after correcting this half-pel index to "0", it is possible that the motion vector that has shifted from the 1/2 pixel accuracy position due to MMVD or DMVR may return to the 1/2 pixel accuracy position again.
このようなケースにおいて、一度「1」から「0」に修正したハーフペルインデックスを再度「1」に修正することが理想的であり、図26を用いて、その手法の一例を説明する。 In such a case, it would be ideal to correct the half-pel index that was once corrected from "1" to "0" back to "1". An example of this method is explained using Figure 26.
なお、非特許文献1におけるMMVDの対象は、マージインデックスが「0」と1番目の動きベクトルに限定されており、このとき、ペアワイズ平均マージにより導出された動きベクトルは、NNVDの対象とはならないが、MMVDの有効対象が、将来、マージインデックスが「2」以上である動きベクトルにも拡張された場合を想定して、以下で、かかる手法の一例を説明する。
Note that the target of MMVD in
まず、ステップS26-4までは、上述したペアワイズ平均マージにおけるフローチャート、すなわち、図19に示すフローチャートと同じであるが、ステップS26-4以降の処理が、上述のケースを考慮して変更となっている。 First, up to step S26-4, the flow chart is the same as the flow chart for pairwise average merging described above, i.e., the flow chart shown in FIG. 19, but the processing from step S26-4 onwards has been changed to take into account the above case.
具体的には、ステップS26-4において、動きベクトルが1/2画素精度位置からずれる場合は、hpelIfIdxAvgを「0」に修正すると共に、hpelIfIdxAvg’に「1」を設定する。 Specifically, in step S26-4, if the motion vector deviates from the 1/2 pixel accuracy position, hpelIfIdxAvg is corrected to "0" and hpelIfIdxAvg' is set to "1".
ここで、hpelIfIdxAvg’は、ペアワイズ平均マージのハーフペルインデックスの修正前の値を保持するためのインデックスである。 Here, hpelIfIdxAvg' is an index that holds the uncorrected value of the half-pel index for pairwise average merging.
なお、ステップS26-4において、動きベクトルが1/2画素精度位置からずれない場合は、hpelIfIdxは「1」のまま修正せず、hpelIfIdxAvg’に「1」を設定する。 In step S26-4, if the motion vector does not deviate from the 1/2 pixel accuracy position, hpelIfIdx remains at "1" without being modified, and hpelIfIdxAvg' is set to "1".
次に、ステップS26-7において、所定条件3に関する判定を行い、所定条件3が満たされていると判定された場合は、本処理は、ステップS26-8に進み、所定条件3が満たされていないと判定された場合は、本処理は終了する。
Next, in step S26-7, a determination is made regarding the specified
ここで、所定条件3には、MMVD又はDMVRの適用後の動きベクトルが1/2画素精度位置を参照するかの判定を追加してもよい。また、MMVD又はDMVRにより動きベクトルに追加されるmvdが1/2画素精度であるかの判定を追加してもよい。
Here, the
次に、ステップS26-8において、所定条件4を判定し、所定条件4が満たされると判定された場合は、本処理は、ステップS26-9に進み、所定条件4が満たされないと判定された場合は、本処理は終了する。
Next, in step S26-8, the
ここで、所定条件4は、hpelIfIdxAvg及びhpelIfIdxAvg’が双方とも「1」であるかどうかの判定を含めてもよい。
Here, the
ステップS26-9において、前段のステップで、一度、「1」から「0」に修正されたhpelIfIdxが、MMVD又はDMVRにより、mvが1/2画素精度位置を参照すると判定されたため、hpelIfIdxを「1」に再修正するという構成になっている。 In step S26-9, hpelIfIdx, which was once corrected from "1" to "0" in the previous step, is re-corrected to "1" because MMVD or DMVR has determined that mv refers to a 1/2 pixel accuracy position.
(ペアワイズ平均マージにおける動きベクトルのスケーリング処理)
以下、図27及び図28を参照して、本実施形態に係るペアワイズ平均マージにおける動きベクトルのスケーリング処理について説明する。図27は、本実施形態に係るペアワイズ平均マージによる動きベクトルの導出例について示す図である。
(Scaling of Motion Vectors in Pairwise Average Merging)
Hereinafter, the scaling process of motion vectors in pairwise average merging according to this embodiment will be described with reference to Fig. 27 and Fig. 28. Fig. 27 is a diagram showing an example of derivation of motion vectors by pairwise average merging according to this embodiment.
図27に示すように、ペアワイズ平均マージは、マージリストに既に登録されている異なる2つのマージインデックスに紐づく動きベクトルと参照画像インデックスを用いて導出される。 As shown in FIG. 27, the pairwise average merge is derived using the motion vectors and reference image indexes associated with two different merge indexes already registered in the merge list.
ここで、非特許文献1では、ペアワイズ平均マージに用いられるマージインデックスが0番目と1番目に指定されている。なお、ペアワイズ平均マージで使用する2組のマージインデックスのうち、1組しか利用できない場合は、利用可能な1組をペアワイズ平均マージインデクスに紐づくマージインデックスとしてマージリストに登録する。
Here, in
すなわち、利用可能な1組の動きベクトル及び参照画像インデックスが、そのままペアワイズ平均マージインデックスに紐づく動きベクトル及び参照画像インデックスとして登録される。 In other words, a single available set of motion vector and reference image index is registered as the motion vector and reference image index associated with the pairwise average merge index.
また、異なる2つのマージインデックスが、いずれも利用不可である場合は、マージリストにペアワイズ平均マージを登録しない。 Also, if neither of the two different merge indexes are available, the pairwise average merge is not registered in the merge list.
例えば、ペアワイズ平均マージにより新たに導出されるベクトルであるmvL0Avg及びmvL1Avgは、導出に使用する異なる2組のマージインデックスに紐づく動きベクトルであるmvL0P0/mvL1P0及びmvL0P1/mvL1P1が存在する場合、以下のように導出される。 For example, when there are motion vectors mvL0P 0 /mvL1P 0 and mvL0P 1 /mvL1P 1 associated with two different pairs of merge indexes used for the derivation, mvL0Avg and mvL1Avg, which are newly derived vectors by pairwise average merging, are derived as follows:
mvL0Avg=(mvL0P0+mvL0P1)/2
mvL1Avg=(mvL1P0+mvL1P1)/2
ここで、mvL0P0/mvL1P0又はmvL0P1/mvL1P1の片方が存在しない場合は、存在しない動きベクトルを除いて、上述の計算が行われる。
mvL0Avg=(mvL0P 0 +mvL0P 1 )/2
mvL1Avg=(mvL1P 0 +mvL1P 1 )/2
Here, if either mvL0P 0 /mvL1P 0 or mvL0P 1 /mvL1P 1 does not exist, the above calculation is performed excluding the non-existent motion vector.
このとき、非特許文献1では、ペアワイズ平均マージインデックスに紐づく参照画像インデックスをマージインデックスP0に紐づく参照画像インデックスRefIdxL0P0及びRefIdxL1P0を常に使用するように定めている。
At this time,
しかしながら、上述の式で平均化されるmvL0P1及びmvL1P1の参照フレームは、マージインデックス「1」に紐づく参照画像インデックスであるRefIdxL0P1及びRefIdxL1P1に対応しているはずである。 However, the reference frames of mvL0P 1 and mvL1P 1 averaged in the above formula should correspond to RefIdxL0P 1 and RefIdxL1P 1 , which are reference image indexes associated with merge index "1".
そこで、本実施形態では、mvL0P1及びmvL1P1を、RefIdxL0P0、RefIdxL1P0、RefIdxL0P1及びRefIdxL1P1によってスケーリングしたmvL0P1’及びmvL0P1’を置換し、ペアワイズ平均マージにより新たな動きベクトルを導出する。 Therefore, in this embodiment, mvL0P1 and mvL1P1 are replaced with mvL0P1 ' and mvL0P1 ' scaled by RefIdxL0P0 , RefIdxL1P0 , RefIdxL0P1 and RefIdxL1P1 , and new motion vectors are derived by pair-wise average merging.
ここで、上述の動きベクトルに対して行うスケーリング処理を、図28を用いて説明する。 Here, the scaling process performed on the above-mentioned motion vectors is explained using Figure 28.
例えば、図28に示すように、ペアワイズ平均マージの導出に使用する異なる2つのマージインデックスに対応する動きベクトル及び参照画像インデックスが存在する。 For example, as shown in FIG. 28, there are motion vectors and reference image indices that correspond to two different merge indices used to derive the pairwise average merge.
このとき、スケーリング処理したmvL0P1’及びmvL0P1’は、対象フレーム及び各マージインデックスの参照画像インデックスであるRefIdxL0P0、RefIdxL1P0、RefIdxL0P1及びRefIdxL1P1が示す参照フレームとの距離に基づいて修正されることを意味する。 At this time, this means that the scaled mvL0P 1 ' and mvL0P 1 ' are corrected based on the distance between the target frame and the reference frames indicated by RefIdxL0P 0 , RefIdxL1P 0 , RefIdxL0P 1 and RefIdxL1P 1 which are the reference image indices of the target frame and each merge index.
具体的には、図28に示すように、対象フレームと各参照フレームとの距離がtL0P0、tL0P1、tL1P0及びtL1P1と表される場合、mvL0P1’及びmvL0P1’は、以下のように算出される。 Specifically, as shown in FIG. 28, when the distances between the target frame and each reference frame are expressed as tL0P0, tL0P1, tL1P0, and tL1P1, mvL0P 1 ' and mvL0P 1 ' are calculated as follows.
mvL0P1’=(tL0P1/tL0P0)×mvL0P1
mvL1P1’=(tL1P1/tL1P0)×mvL1P1
ペアワイズ平均マージに使用するマージインデックスの1が、時間マージに紐づく動きベクトル及び参照画像インデックスに対応する場合(すなわち、空間マージやヒストリーマージのように、参照フレームが対象フレームと同じではない場合)、時間マージの際に対象ブロックと異なるフレームの共通位置にある参照ブロックが含まれる参照フレームを起点として距離を計算してスケーリングする。
mvL0P 1 '=(tL0P1/tL0P0)×mvL0P 1
mvL1P 1 '=(tL1P1/tL1P0)×mvL1P 1
The
上述のスケーリング処理の導入効果として、ペアワイズ平均マージが異なる2つのマージインデックスに紐づく動きベクトルから計算される際に、一方の参照画像インデックスに他方の片方の動きベクトルをスケーリングすることで、共通の参照画像インデックスが示す参照フレームに対応した2組の動きベクトルを平均化できるため、動きベクトルの精度が向上し、結果的に、符号化性能の向上が期待できる。 As an effect of introducing the above-mentioned scaling process, when the pairwise average merge is calculated from motion vectors associated with two different merge indexes, one of the motion vectors is scaled to one reference image index, making it possible to average two pairs of motion vectors corresponding to reference frames indicated by a common reference image index. This improves the accuracy of the motion vectors, and as a result, is expected to improve coding performance.
[変更例:スケーリング対象の変更]
上述の例では、スケーリング対象を、一律、P1のマージインデックスに紐づく動きベクトルとしたが、対象フレームからの距離が遠い参照フレームを参照する動きベクトルをスケーリングの対象としてもよい。これにより、ペアワイズ平均マージの参照フレームを対象フレームに対して近づけることが出来るため、予測精度の向上効果が期待できる。
[Example of change: Changing the scaling target]
In the above example, the motion vectors associated with the merge index P1 are scaled, but the motion vectors that refer to reference frames farther from the target frame may be scaled. This allows the reference frame for pairwise average merging to be closer to the target frame, which is expected to improve prediction accuracy.
(ブロックサイズによるハーフペルインデックスの制御)
以下、本実施形態に係る対象ブロックサイズによるハーフペルインデックスの制御について説明する。
(Half-pel index control by block size)
Hereinafter, the control of the half-pel index based on the target block size according to this embodiment will be described.
上述の例では、ハーフペルインデックスが有効であり、動きベクトルが1/2画素位置にある場合は、平滑化フィルタを適用すると説明した。 In the above example, it was explained that when the half-pel index is enabled and the motion vector is in a 1/2 pixel position, a smoothing filter is applied.
一方で、対象ブロックのブロックサイズが小さい場合は、対象ブロックに平滑化フィルタを適用しない方がよい。 On the other hand, if the block size of the target block is small, it is better not to apply a smoothing filter to the target block.
何故なら、一般にブロックサイズと画像特性には相関があることが知られており、ブロックサイズが小さい場合はエッジや複雑な模様を有することが多く、逆に、ブロックサイズが大きい場合は平坦でシンプルであることが多いためである。 This is because it is generally known that there is a correlation between block size and image characteristics; small block sizes tend to have edges and complex patterns, while large block sizes tend to be flat and simple.
また、対象ブロックの参照ブロックも同じ特性を有すると想定されるため、この特性を考慮して、対象ブロックのブロックサイズが小さい場合は、平滑化フィルタの適用を禁止する、すなわち、ハーフペルインデックスの値を常に「0」にすることが考えられる。 In addition, since the reference block of the target block is assumed to have the same characteristics, it is possible to take these characteristics into account and prohibit the application of a smoothing filter when the block size of the target block is small, i.e., to always set the value of the half-pel index to "0".
例えば、ハーフペルインデックスを常に0にするブロックサイズの閾値を、32画素以下である場合と設定してもよい。 For example, the block size threshold for always setting the half-pel index to 0 may be set to 32 pixels or less.
期待される効果は、以下の2つである。 The expected effects are as follows:
1つ目は、ハーフペルインデックスを常に「0」にする所定のブロックサイズにおいて、平滑化フィルタの適用を禁止するため、画像符号化装置100側でのRDO処理が不要となる。そのため、画像符号化装置100の高速化効果が期待できる。
First, in a certain block size where the half-pel index is always set to "0", the application of a smoothing filter is prohibited, making RDO processing unnecessary on the
2つ目は、図8で示した対象ブロックがAMVP且つAMVRの場合に、ハーフペルインデックスの判定に使用していたフラグ、具体的には、amvr_precision_idxのビット長を短くできる。 Secondly, when the target block shown in Figure 8 is both AMVP and AMVR, the bit length of the flag used to determine the half-pel index, specifically, amvr_precision_idx, can be shortened.
図8では、対象ブロックが1/2画素精度位置を示すバリエーションが存在するためamvr_precision_idxのビット長は3bit必要だが、上記所定のブロックサイズでは2bitに短縮可能であるため、結果的に、画像符号化装置100から画像復号装置200に伝送が必要な符号量が削減されることにより、符号化性能向上が期待できる。
In Figure 8, since there are variations in which the target block indicates a 1/2 pixel precision position, the bit length of amvr_precision_idx needs to be 3 bits, but this can be shortened to 2 bits for the above-mentioned specified block size. As a result, the amount of code that needs to be transmitted from the
本発明によれば、ハーフペルインデックスに応じてペアワイズ平均マージ又はMMVD又はDMVRによって導出される動きベクトルの参照画素精度位置を制御する、或いは、導出された動きベクトルに応じてハーフペルインデックスを制御することができるようになり、対象ブロックの平滑化フィルタの有効条件の不備を解消し、さらに、未来のブロックに対して平滑化フィルタの有効条件の不備の伝搬を回避することができる画像復号装置、画像復号方法及びプログラムを提供することができる。 According to the present invention, it is possible to control the reference pixel precision position of a motion vector derived by pairwise average merging, MMVD, or DMVR according to a half-pel index, or to control the half-pel index according to a derived motion vector, thereby providing an image decoding device, an image decoding method, and a program that can eliminate deficiencies in the effective conditions of a smoothing filter for a target block and further prevent the propagation of deficiencies in the effective conditions of a smoothing filter to future blocks.
上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
The
なお、上述の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、これのみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化システム及び画像復号システムにも同様に適用できる。
In each of the above-described embodiments, the present invention has been described by taking as an example the application to the
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部
10...
Claims (7)
マージインデックスから、動きベクトル及び動き補償予測画素信号を生成するための内挿フィルタの種別を示すハーフペルインデックスを復号するように構成されているマージ部と、
前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
対象ブロックは、マージであり、
前記マージ部は、ペアワイズ平均マージにより導出される前記動きベクトルの参照位置に応じて、導出するハーフペルインデックスの値を制御するように構成されていることを特徴とする画像復号装置。 An image decoding device,
a merge unit configured to decode, from the merge index, a half-pel index indicating a type of an interpolation filter for generating a motion vector and a motion compensation prediction pixel signal;
a filter determination unit configured to determine whether an interpolation filter is used and a type of the interpolation filter based on the motion vector and the half-pel index;
a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter,
the merging unit is configured to generate a merge list by a predetermined merge list construction method, and decode the motion vector and the half-pel index from the merge list and the merge index;
The target block is a merge.
The image decoding device, wherein the merging unit is configured to control a value of the half-pel index to be derived depending on a reference position of the motion vector derived by pair-wise average merging.
マージインデックスから、動きベクトル及び動き補償予測画素信号を生成するための内挿フィルタの種別を示すハーフペルインデックスを復号するように構成されているマージ部と、
前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
対象ブロックは、マージであり、
前記マージ部は、ペアワイズ平均マージにより導出される前記ハーフペルインデックスに応じて、導出する前記動きベクトルの参照位置を制御するように構成されていることを特徴とする画像復号装置。 An image decoding device,
a merge unit configured to decode, from the merge index, a half-pel index indicating a type of an interpolation filter for generating a motion vector and a motion compensation prediction pixel signal;
a filter determination unit configured to determine whether an interpolation filter is used and a type of the interpolation filter based on the motion vector and the half-pel index;
a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter,
the merging unit is configured to generate a merge list by a predetermined merge list construction method, and decode the motion vector and the half-pel index from the merge list and the merge index;
The target block is a merge.
The image decoding device, wherein the merging unit is configured to control a reference position of the motion vector to be derived in accordance with the half-pel index derived by pair-wise average merging.
マージインデックスから、動きベクトル及び動き補償予測画素信号を生成するための内挿フィルタの種別を示すハーフペルインデックスを復号するように構成されているマージ部と、
MMVD(Merge Motion Vector Difference)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、
洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
対象ブロックは、マージであり、
前記動きベクトル洗練化部は、MMVDが適用される場合、前記ハーフペルインデックスに応じて、MMVDの適用後の動きベクトルの参照位置を制御するように構成されていることを特徴とする画像復号装置。 An image decoding device,
a merge unit configured to decode, from the merge index, a half-pel index indicating a type of an interpolation filter for generating a motion vector and a motion compensation prediction pixel signal;
a motion vector refinement unit configured to refine the motion vector by MMVD (Merge Motion Vector Difference);
a filter determination unit configured to determine whether an interpolation filter is used and a type of the interpolation filter based on the refined motion vector and the half-pel index;
a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter,
the merging unit is configured to generate a merge list by a predetermined merge list construction method, and decode the motion vector and the half-pel index from the merge list and the merge index;
The target block is a merge.
The image decoding device, characterized in that, when MMVD is applied, the motion vector refinement unit is configured to control a reference position of a motion vector after application of MMVD in accordance with the half-pel index.
マージインデックスから、動きベクトル及び動き補償予測画素信号を生成するための内挿フィルタの種別を示すハーフペルインデックスを復号するように構成されているマージ部と、
DMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、
洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
対象ブロックは、マージであり、
前記動きベクトル洗練化部は、DMVRが適用される場合、DMVRの適用後の動きベクトルの参照位置に応じて、前記ハーフペルインデックスを制御するように構成されていることを特徴とする画像復号装置。 An image decoding device,
a merge unit configured to decode, from the merge index, a half-pel index indicating a type of an interpolation filter for generating a motion vector and a motion compensation prediction pixel signal;
a motion vector refinement unit configured to refine the motion vector by a decoder-side motion vector refinement (DMVR);
a filter determination unit configured to determine whether an interpolation filter is used and a type of the interpolation filter based on the refined motion vector and the half-pel index;
a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter,
the merging unit is configured to generate a merge list by a predetermined merge list construction method, and decode the motion vector and the half-pel index from the merge list and the merge index;
The target block is a merge.
An image decoding device characterized in that, when DMVR is applied, the motion vector refinement unit is configured to control the half-pel index depending on the reference position of the motion vector after application of DMVR.
マージインデックスから、動きベクトル及び動き補償予測画素信号を生成するための内挿フィルタの種別を示すハーフペルインデックスを復号するように構成されているマージ部と、
DMVR(Decoder-side Motion Vector Refinement)により、前記動きベクトルを洗練化するように構成されている動きベクトル洗練化部と、
洗練化された前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
対象ブロックは、マージであり、
前記動きベクトル洗練化部は、DMVRが適用される場合、前記ハーフペルインデックスに応じて、DMVRの適用後の動きベクトルの参照位置を制御するように構成されていることを特徴とする画像復号装置。 An image decoding device,
a merge unit configured to decode, from the merge index, a half-pel index indicating a type of an interpolation filter for generating a motion vector and a motion compensation prediction pixel signal;
a motion vector refinement unit configured to refine the motion vector by a decoder-side motion vector refinement (DMVR);
a filter determination unit configured to determine whether an interpolation filter is used and a type of the interpolation filter based on the refined motion vector and the half-pel index;
a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter,
the merging unit is configured to generate a merge list by a predetermined merge list construction method, and decode the motion vector and the half-pel index from the merge list and the merge index;
The target block is a merge.
An image decoding device characterized in that, when DMVR is applied, the motion vector refinement unit is configured to control the reference position of the motion vector after application of DMVR in accordance with the half-pel index.
前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定する工程Bと、
前記内挿フィルタを用いて、動き補償予測画素信号を生成する工程Cとを備え、
前記工程Aにおいて、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号し、
対象ブロックは、マージであり、
前記工程Aにおいて、ペアワイズ平均マージにより導出される前記動きベクトルの参照位置に応じて、導出するハーフペルインデックスの値を制御することを特徴とする画像復号方法。 A step A of decoding a half-pel index indicating a type of an interpolation filter for generating a motion vector and a motion compensation prediction pixel signal from the merge index;
a step B of determining whether an interpolation filter is used and a type of the interpolation filter based on the motion vector and the half-pel index;
and C. generating a motion compensation prediction pixel signal using the interpolation filter,
In the step A, a merge list is generated by a predetermined merge list construction method, and the motion vector and the half-pel index are decoded from the merge list and the merge index;
The target block is a merge.
An image decoding method, comprising the steps of: controlling a value of a half-pel index to be derived in the step A according to a reference position of the motion vector derived by pair-wise average merging.
前記画像復号装置は、
マージインデックスから、動きベクトル及び動き補償予測画素信号を生成するための内挿フィルタの種別を示すハーフペルインデックスを復号するように構成されているマージ部と、
前記動きベクトルと前記ハーフペルインデックスとに基づいて、内挿フィルタの使用有無及び内挿フィルタ種別を判定するように構成されているフィルタ判定部と、
前記内挿フィルタを用いて、動き補償予測画素信号を生成するように構成されているフィルタ適用部とを備え、
前記マージ部は、所定のマージリスト構築方法により、マージリストを生成し、前記マージリスト及び前記マージインデックスから、前記動きベクトル及び前記ハーフペルインデックスを復号するように構成されており、
対象ブロックは、マージであり、
前記マージ部は、ペアワイズ平均マージにより導出される前記動きベクトルの参照位置に応じて、導出するハーフペルインデックスの値を制御するように構成されていることを特徴とするプログラム。 A program for causing a computer to function as an image decoding device,
The image decoding device comprises:
a merge unit configured to decode, from the merge index, a half-pel index indicating a type of an interpolation filter for generating a motion vector and a motion compensation prediction pixel signal;
a filter determination unit configured to determine whether an interpolation filter is used and a type of the interpolation filter based on the motion vector and the half-pel index;
a filter application unit configured to generate a motion compensation prediction pixel signal using the interpolation filter,
the merging unit is configured to generate a merge list by a predetermined merge list construction method, and decode the motion vector and the half-pel index from the merge list and the merge index;
The target block is a merge.
The program, wherein the merging unit is configured to control a value of a half-pel index to be derived depending on a reference position of the motion vector derived by pair-wise average merging.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023117078A JP7583869B2 (en) | 2019-09-20 | 2023-07-18 | Image decoding device, image decoding method and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019172234A JP2021052241A (en) | 2019-09-20 | 2019-09-20 | Image decoding device, image decoding method, and program |
JP2023117078A JP7583869B2 (en) | 2019-09-20 | 2023-07-18 | Image decoding device, image decoding method and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019172234A Division JP2021052241A (en) | 2019-09-20 | 2019-09-20 | Image decoding device, image decoding method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023126544A JP2023126544A (en) | 2023-09-07 |
JP7583869B2 true JP7583869B2 (en) | 2024-11-14 |
Family
ID=74883603
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019172234A Pending JP2021052241A (en) | 2019-09-20 | 2019-09-20 | Image decoding device, image decoding method, and program |
JP2023117078A Active JP7583869B2 (en) | 2019-09-20 | 2023-07-18 | Image decoding device, image decoding method and program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019172234A Pending JP2021052241A (en) | 2019-09-20 | 2019-09-20 | Image decoding device, image decoding method, and program |
Country Status (3)
Country | Link |
---|---|
JP (2) | JP2021052241A (en) |
CN (2) | CN119299724A (en) |
WO (1) | WO2021054035A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022527896A (en) | 2019-04-01 | 2022-06-07 | 北京字節跳動網絡技術有限公司 | Use of interpolation filters for history-based motion vector prediction |
JP2022539455A (en) | 2019-07-09 | 2022-09-09 | クゥアルコム・インコーポレイテッド | Reference picture resampling with switchable filters |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9094658B2 (en) * | 2010-05-10 | 2015-07-28 | Mediatek Inc. | Method and apparatus of adaptive loop filtering |
MX341355B (en) * | 2011-08-29 | 2016-08-16 | Ibex Pt Holdings Co Ltd | Apparatus for decoding merge mode motion information. |
KR20130050149A (en) * | 2011-11-07 | 2013-05-15 | 오수미 | Method for generating prediction block in inter prediction mode |
US10602141B2 (en) * | 2015-10-16 | 2020-03-24 | Lg Electronics Inc. | Filtering method and apparatus for improving prediction in image coding system |
WO2017135151A1 (en) * | 2016-02-01 | 2017-08-10 | シャープ株式会社 | Prediction image generation device, moving image decoding device, and moving image encoding device |
CN117221571A (en) * | 2016-10-04 | 2023-12-12 | 英迪股份有限公司 | Image decoding method, image encoding method, and method of transmitting bit stream |
US10715827B2 (en) * | 2017-01-06 | 2020-07-14 | Mediatek Inc. | Multi-hypotheses merge mode |
US20180199057A1 (en) * | 2017-01-12 | 2018-07-12 | Mediatek Inc. | Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding |
-
2019
- 2019-09-20 JP JP2019172234A patent/JP2021052241A/en active Pending
-
2020
- 2020-08-21 CN CN202411683312.7A patent/CN119299724A/en active Pending
- 2020-08-21 CN CN202080057645.2A patent/CN114270861B/en active Active
- 2020-08-21 WO PCT/JP2020/031559 patent/WO2021054035A1/en active Application Filing
-
2023
- 2023-07-18 JP JP2023117078A patent/JP7583869B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022527896A (en) | 2019-04-01 | 2022-06-07 | 北京字節跳動網絡技術有限公司 | Use of interpolation filters for history-based motion vector prediction |
JP2022539455A (en) | 2019-07-09 | 2022-09-09 | クゥアルコム・インコーポレイテッド | Reference picture resampling with switchable filters |
Also Published As
Publication number | Publication date |
---|---|
CN114270861A (en) | 2022-04-01 |
WO2021054035A1 (en) | 2021-03-25 |
CN114270861B (en) | 2024-12-13 |
JP2023126544A (en) | 2023-09-07 |
CN119299724A (en) | 2025-01-10 |
JP2021052241A (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102635518B1 (en) | Use of converted single prediction candidates | |
CN113545069B (en) | Motion vector management for decoder-side motion vector refinement | |
JP2022541012A (en) | Transform Block Size Constraints in Video Coding | |
CN114287129B (en) | Initialize the history-based motion vector predictor table | |
WO2020248925A1 (en) | History-based motion vector prediction with default parameters | |
JP2021101578A (en) | Image decoder, image decoding method, and program | |
CN114009033A (en) | Method and apparatus for signaling symmetric motion vector difference mode | |
JP7564068B2 (en) | Image decoding device, image decoding method, and program | |
TW202327360A (en) | Method and apparatus for multiple hypothesis prediction in video coding system | |
JP7634633B2 (en) | Image decoding device, image decoding method and program | |
US20240205451A1 (en) | Image decoding device, image decoding method, and program | |
TW202327351A (en) | Method and apparatus for coding mode selection in video coding system | |
CN119013980A (en) | Method and apparatus for implicit cross component prediction in video codec systems | |
CN113557720B (en) | Video processing method, apparatus and non-transitory computer readable medium | |
JP7583869B2 (en) | Image decoding device, image decoding method and program | |
CN114303379B (en) | Image decoding device, image decoding method, and program | |
JP2023071641A (en) | Method and apparatus for coding image of video sequence and terminal device | |
WO2025051137A1 (en) | Methods and apparatus of inheriting cross-component models from rescaled reference picture in video coding | |
WO2025082514A1 (en) | Methods and apparatus of using self-derived cross-component models for video coding improvement of inter chroma | |
WO2025152945A1 (en) | Methods and apparatus of inheriting cross-component models based on cascaded vector for video coding improvement of inter chroma | |
WO2025045138A1 (en) | Methods and apparatus of propagated cross-component prediction models for video coding improvement of inter chroma | |
WO2025007931A1 (en) | Methods and apparatus for video coding improvement by multiple models | |
US20240205391A1 (en) | Image decoding device, image decoding method, and program | |
WO2025026397A1 (en) | Methods and apparatus for video coding using multiple hypothesis cross-component prediction for chroma coding | |
WO2024235144A1 (en) | Method and apparatus of adaptive interpolation filtering in video coding system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20241008 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241101 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7583869 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |