JP2022103308A - Image decoding device, image decoding method, and program - Google Patents
Image decoding device, image decoding method, and program Download PDFInfo
- Publication number
- JP2022103308A JP2022103308A JP2022080920A JP2022080920A JP2022103308A JP 2022103308 A JP2022103308 A JP 2022103308A JP 2022080920 A JP2022080920 A JP 2022080920A JP 2022080920 A JP2022080920 A JP 2022080920A JP 2022103308 A JP2022103308 A JP 2022103308A
- Authority
- JP
- Japan
- Prior art keywords
- search
- motion vector
- unit
- threshold value
- value
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、画像復号装置、画像復号方法及びプログラムに関する。 The present invention relates to an image decoding device, an image decoding method and a program.
従来、復号装置側で取得可能な情報のみから構成される適用条件を満たすブロックにおいて洗練化処理を適用するという技術、すなわち、DMVR(Decoder-side motion vector refinement:復号側動きベクトル洗練化) という技術が知られている(例えば、非特許文献1参照)。 Conventionally, a technique of applying a refinement process to a block that satisfies an applicable condition consisting of only information that can be acquired on the decoder side, that is, a technique called DMVR (Decoder-side motion vector refinement). Is known (see, for example, Non-Patent Document 1).
しかしながら、例えば、非特許文献1に開示されている技術では、上述の適用条件を満たすブロックでは必ず洗練化処理が実行されるため、時間方向の相関が低いブロックにおいても洗練化処理が実行され、かえって符号化効率が低下してしまう可能性があるという問題点があった。
However, for example, in the technique disclosed in
そこで、本発明は、上述の課題に鑑みてなされたものであり、時間方向の相関が低いブロックについて洗練化処理を行わないようにすることで、符号化効率の低下を防ぐことができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above-mentioned problems, and image decoding can prevent a decrease in coding efficiency by not performing a refinement process on a block having a low correlation in the time direction. It is an object of the present invention to provide an apparatus, an image decoding method and a program.
本発明の第1の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、初期探索点での探索コストが予め定めた閾値よりも大きい場合或いは前記初期探索点での探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定するように構成されている洗練化部とを備えることを要旨とする。 The first feature of the present invention is an image decoding device, which is a motion vector decoding unit configured to decode a motion vector from encoded data, and a motion vector decoded by the motion vector decoding unit. The motion vector is searched with the value as the initial value, and the decoded data is obtained when the search cost at the initial search point is larger than a predetermined threshold value or when the search cost at the initial search point is equal to or higher than the threshold value. The gist is to have a refinement unit configured to determine the motion vector as the final motion vector.
本発明の第2の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、探索点の中での最小探索コストが予め定めた閾値よりも大きい場合或いは前記最小探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定するように構成されている洗練化部とを備えることを要旨とする。 The second feature of the present invention is an image decoding device, which is a motion vector decoding unit configured to decode a motion vector from encoded data, and a motion vector decoded by the motion vector decoding unit. A motion vector is searched with a value as an initial value, and the decoded motion vector is obtained when the minimum search cost in the search point is larger than a predetermined threshold or when the minimum search cost is equal to or higher than the threshold. The gist is to have a refinement unit configured to determine as the final motion vector.
本発明の第3の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、初期探索点での探索コストと探索点の中での最小探索コストとの差分値が予め定めた閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定するように構成されている洗練化部とを備えることを要旨とする。 The third feature of the present invention is an image decoding device, which is a motion vector decoding unit configured to decode a motion vector from encoded data, and a motion vector decoded by the motion vector decoding unit. A motion vector search is performed with the value as the initial value, and when the difference value between the search cost at the initial search point and the minimum search cost in the search point is smaller than a predetermined threshold value or the difference value is equal to or less than the threshold value. In this case, the gist is to include a refinement unit configured to determine the decoded motion vector as the final motion vector.
本発明の第4の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行うように構成されている洗練化部と、前記洗練化部から出力される動きベクトルに基づいて予測信号を生成するように構成されている予測信号生成部とを備え、前記予測信号生成部は、第1参照フレーム側のブロックと第2参照フレーム側のブロックとの類似度を表す指標値が予め定めた閾値よりも大きい場合或いは前記指標値が前記閾値以上である場合に、BDOF(Bi-Directional Optical Flow)処理を実行しないと決定するように構成されていることを要旨とする。 The fourth feature of the present invention is an image decoding device, which is a motion vector decoding unit configured to decode a motion vector from encoded data, and a motion vector decoded by the motion vector decoding unit. A refinement unit configured to search for a motion vector with a value as an initial value, and a prediction signal generation unit configured to generate a prediction signal based on the motion vector output from the refinement unit. When the index value representing the similarity between the block on the first reference frame side and the block on the second reference frame side is larger than a predetermined threshold value, or the index value is the threshold value. In the above cases, the gist is that the configuration is such that it is determined not to execute the BDOF (Bio-Signal Optical Flow) process.
本発明の第5の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行うように構成されている洗練化部とを備え、前記洗練化部は、探索コストに、初期探索点と探索点との差分ベクトルのノルムを含めるように構成されていることを要旨とする。 The fifth feature of the present invention is an image decoding device, which is a motion vector decoding unit configured to decode a motion vector from coded data, and a motion vector decoded by the motion vector decoding unit. It includes a refinement unit configured to search for a motion vector with a value as the initial value, and the refinement unit includes the norm of the difference vector between the initial search point and the search point in the search cost. The gist is that it is composed.
本発明の第6の特徴は、符号化データから動きベクトルを復号する工程と、復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、初期探索点での探索コストが予め定めた閾値よりも大きい場合或いは前記初期探索点での探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定する工程とを有することを要旨とする。 The sixth feature of the present invention is a step of decoding a motion vector from coded data, a step of searching for a motion vector using the decoded motion vector value as an initial value, and a search cost at an initial search point. The gist is to have a step of determining the decoded motion vector as the final motion vector when it is larger than a predetermined threshold or when the search cost at the initial search point is equal to or higher than the threshold. ..
本発明の第7の特徴は、画像復号装置で用いるプログラムであって、コンピュータに、符号化データから動きベクトルを復号する工程と、復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、初期探索点での探索コストが予め定めた閾値よりも大きい場合或いは前記初期探索点での探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定する工程とを実行させることを要旨とする。 The seventh feature of the present invention is a program used in an image decoding device, in which a computer decodes a motion vector from encoded data and searches for a motion vector using the decoded motion vector value as an initial value. And when the search cost at the initial search point is larger than a predetermined threshold value or when the search cost at the initial search point is equal to or higher than the threshold value, the decoded motion vector is finally moved. The gist is to execute the process of determining as a vector.
本発明によれば、時間方向の相関が低いブロックについて洗練化処理を行わないようにすることで、符号化効率の低下を防ぐことができる画像復号装置、画像復号方法及びプログラムを提供することができる。 According to the present invention, it is possible to provide an image decoding device, an image decoding method and a program capable of preventing a decrease in coding efficiency by not performing a refinement process on a block having a low correlation in the time direction. can.
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. 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~図7を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る実施形態に係る画像処理システム10を示す図である。
(First Embodiment)
Hereinafter, the
図1に示すように、画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
As shown in FIG. 1, the
画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
The
ここで、かかる符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
Here, such coded data may be transmitted from the
(画像符号化装置100)
以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
(Image Coding Device 100)
Hereinafter, the
図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
As shown in FIG. 2, the
インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
The
具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを決定するように構成されている。
Specifically, the
また、インター予測部111は、参照ブロック及び動きベクトルに基づいて予測ブロックに含まれる予測信号を予測ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
Further, the
イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
The
具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
Specifically, the
ここで、参照ブロックは、予測対象のブロック(以下、対象ブロック)について参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。 Here, the reference block is a block referred to for the block to be predicted (hereinafter referred to as 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 pre-filtered decoding signal constitutes a reference block used by the
変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
The conversion /
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT;Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST;Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。 Here, the conversion process is a process of converting the predicted residual signal into a frequency component signal. In such a conversion process, a base pattern (transformation matrix) corresponding to a discrete cosine transform (DCT) may be used, or a base pattern (transformation matrix) corresponding to a discrete sine transform (DST). May be used.
逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
The inverse conversion /
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
Here, the inverse conversion process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion /
符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
The
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。 Here, for example, coding is entropy coding in which codes of different lengths are assigned based on the probability of occurrence of a coefficient level value.
また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
Further, the
ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。 Here, the control data may include size data such as a coding block (CU: Coding Unit) size, a prediction block (PU: Precision Unit) size, and a conversion block (TU: Transfer Unit) size.
インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
The in-loop
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。 Here, for example, the filtering process is a deblocking filtering process that reduces the distortion generated at the boundary portion of the block (encoded block, prediction block, or conversion block).
フレームバッファ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は、動きベクトル探索部111Aと、動きベクトル符号化部111Bと、洗練化部111Cと、予測信号生成部111Dとを有する。
As shown in FIG. 3, the
インター予測部111は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
The
動きベクトル探索部111Aは、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。
The motion
また、上述の探索を複数の参照フレーム候補に対して行い、当該予測ブロックで予測に用いる参照フレーム及び動きベクトルを決定する。参照フレーム及び動きベクトルは、一つのブロックに対して最大二つずつ用いることができる。一つのブロックに対して参照フレーム及び動きベクトルを一組のみ用いる場合を片予測と呼び、参照フレーム及び動きベクトルを二組用いる場合を双予測と呼ぶ。以降、一組目をL0と呼び、二組目をL1と呼ぶ。 Further, the above-mentioned search is performed on a plurality of reference frame candidates, and the reference frame and the motion vector used for prediction in the prediction block are determined. Up to two reference frames and motion vectors can be used for one block. The case where only one set of reference frames and motion vectors is used for one block is called one-sided prediction, and the case where two sets of reference frames and motion vectors are used is called bi-prediction. Hereinafter, the first set is referred to as L0, and the second set is referred to as L1.
更に、動きベクトル探索部111Aは、参照フレーム及び動きベクトルの符号化方法を決定するように構成されている。符号化方法には、参照フレーム及び動きベクトルの情報をそれぞれ伝送する通常の方法に加え、後述するマージモード等がある。
Further, the motion
なお、動きベクトルの探索方法、参照フレームの決定方法及び参照フレーム及び動きベクトルの符号化方法の決定方法については、既知の手法を採用することが可能であるため、その詳細については省略する。 As for the method of searching the motion vector, the method of determining the reference frame, and the method of determining the method of encoding the reference frame and the motion vector, known methods can be adopted, and the details thereof will be omitted.
動きベクトル符号化部111Bは、動きベクトル探索部111Aで決定した参照フレームと動きベクトルの情報を、同じく動きベクトル探索部111Aで決定した符号化方法を用いて符号化するように構成されている。
The motion
当該ブロックの符号化方法がマージモードの場合、画像符号化装置100側において、初めに、当該ブロックに対するマージリストが作成される。ここで、マージリストは、参照フレームと動きベクトルとの組み合わせが複数列挙されたリストである。
When the coding method of the block is the merge mode, the
各組み合わせには、インデックスが振られており、画像符号化装置100は、参照フレーム及び動きベクトルの情報を個別に符号化する代わりに、かかるインデックスのみを符号化し、画像復号装置200に伝送する。画像符号化装置100側と画像復号装置200側とでマージリストの作成方法を共通化しておくことで、画像復号装置200側では、かかるインデックスに係る情報のみから参照フレーム及び動きベクトルの情報を復号することができる。
An index is assigned to each combination, and the
なお、マージリストの作成方法については、既知の手法を採用することが可能であるため、その詳細については省略する。 As for the method of creating the merge list, a known method can be adopted, so the details thereof will be omitted.
動きベクトル情報の符号化については、初めに、符号化対象の動きベクトルの予測値である予測動きベクトルを生成し、かかる予測動きベクトルと実際に符号化したい動きベクトルとの差分値である差分動きベクトルを符号化する。 Regarding the coding of motion vector information, first, a predicted motion vector, which is a predicted value of the motion vector to be encoded, is generated, and then a differential motion, which is a difference value between the predicted motion vector and the motion vector actually desired to be encoded. Encode the vector.
洗練化部111Cは、動きベクトル符号化部111Bで符号化された動きベクトルを修正する洗練化処理(例えば、DMVR)を行うように構成されている。
The
具体的には、洗練化部111Cは、動きベクトル符号化部111Bで符号化された動きベクトルによって特定される参照位置を基準として探索範囲を設定し、探索範囲の中から所定コストが最も小さい修正参照位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。
Specifically, the
図4は、洗練化部111Cの処理手順の一例を示すフローチャートである。
FIG. 4 is a flowchart showing an example of the processing procedure of the
図4に示すように、ステップS41において、洗練化部111Cは、洗練化処理を適用するための所定条件が満足されているかどうかについて判定する。かかる所定条件が全て満足されている場合に、本処理手順は、ステップS42へ進む。一方、かかる所定条件のどれか一つでも満足されていない場合は、本処理手順は、ステップS48へ進み、洗練化処理を終了する。
As shown in FIG. 4, in step S41, the
ここで、所定条件は、当該ブロックが双予測を行うブロックであるという条件を含む。さらに、所定条件は、動きベクトルがマージモードで符号化されているという条件を含んでもよい。 Here, the predetermined condition includes the condition that the block is a block for performing bi-prediction. Further, the predetermined condition may include the condition that the motion vector is encoded in the merge mode.
ステップS42において、洗練化部111Cは、動きベクトル符号化部111Bで符号化された動きベクトル及び参照フレームの情報に基づいて、探索用画像を生成する。
In step S42, the
ここで、動きベクトルが非整数画素位置を指していた場合は、洗練化部111Cは、参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。この時、洗練化部111Cは、後述する予測信号生成部111Dで用いる内挿フィルタより、少ないタップ数の内挿フィルタを用いることで、演算量を削減することができる。例えば、洗練化部111Cは、バイリニア補間によって非整数画素位置の画素値を内挿することができる。
Here, when the motion vector points to a non-integer pixel position, the
ステップS43において、洗練化部111Cは、ステップS42で生成した探索用画像を用いて、初期位置での探索コストを算出する。
In step S43, the
ここで、初期位置は、動きベクトル符号化部111Bで符号化された動きベクトルが指し示す位置である。また、探索コストは、上述の動きベクトルが指し示すL0側(第1参照フレーム側)の参照ブロックとL1側(第2参照フレーム側)の参照ブロックとの類似度の指標値であり、例えば、画素値同士の絶対値誤差和や二乗誤差和を用いることができる。
Here, the initial position is the position pointed to by the motion vector encoded by the motion
ステップS44において、洗練化部111Cは、ステップS43で算出した初期位置での探索コストを入力として、当該ブロックの洗練化処理を打ち切るための終了条件が満足されているか否かについて判定する。かかる終了条件が全て満足されている場合に、本処理手順は、ステップS45へ進む。一方、かかる終了条件のどれか一つでも満足されていない場合は、本処理手順は、ステップS48へ進み、洗練化処理を終了する。
In step S44, the
ここで、ステップS44における終了条件(打ち切り条件)には、例えば、上述の初期位置での探索コストが予め定めた第1閾値より小さいこと(或いは、上述の初期位置での探索コストが予め定めた第1閾値以下であること)という条件を含めることができる。
また、ステップS44における終了条件(打ち切り条件)には、例えば、上述の初期位置での探索コストが予め定めた第2閾値より大きいこと(或いは、上述の初期位置での探索コストが予め定めた第1閾値以上であること)という条件を含めることができる。
Here, in the end condition (discontinuation condition) in step S44, for example, the search cost at the above-mentioned initial position is smaller than the predetermined first threshold value (or the above-mentioned search cost at the initial position is predetermined. The condition that it is equal to or less than the first threshold value) can be included.
Further, in the end condition (discontinuation condition) in step S44, for example, the search cost at the above-mentioned initial position is larger than the predetermined second threshold value (or the above-mentioned search cost at the initial position is predetermined. It is possible to include the condition that it is 1 threshold value or more).
ステップS45において、洗練化部111Cは、ステップS42で生成した探索用画像を用いて、整数画素精度での探索を行う。
In step S45, the
ここで、整数画素精度は、動きベクトル符号化部111Bで符号化された動きベクトルを基準として、整数画素間隔となる点のみを探索することを意味する。
Here, the integer pixel accuracy means to search only the points having the integer pixel spacing with reference to the motion vector encoded by the motion
洗練化部111Cは、ステップS45の探索によって、整数画素間隔位置での修正後の動きベクトルを決定する。ここで、かかる探索の方法としては、既知の手法を用いることができる。
The
例えば、洗練化部111Cは、L0側及びL1側の差分動きベクトルが符号のみを反転した組み合わせとなる点のみを探索するという方法で探索することもできる。
For example, the
ここでは、各探索位置における探索コストが最も小さくなった探索点を、整数画素間隔位置での修正後の動きベクトルする。探索コストとしては、上述の通り、絶対値差分和や二乗誤差和等の指標を用いることができる。この時、洗練化部111Cは、上述の絶対値差分和等のブロック間の類似度を評価する指標に、修正後の動きベクトルと初期位置の動きベクトルとの差分ベクトルのLpノルムを加算したものを探索コストとしてもよい。
Here, the search point with the smallest search cost at each search position is used as a motion vector after correction at the integer pixel spacing position. As the search cost, as described above, an index such as an absolute value difference sum or a square error sum can be used. At this time, the
具体的には、洗練化部111Cは、例えば、絶対値差分和と差分ベクトルのL1ノルムとの和を探索コストとしてもよい。また、洗練化部111Cは、絶対値差分和にL1ノルムを加算する際に、予め定めた比率で重み付けをしてから加算してもよい。例えば、洗練化部111Cは、L1ノルムを2倍した値を絶対値差分和に加えてもよい。この時、倍率が2のべき乗であれば、ビットシフトによって等価な処理を実現できる。
なお、ステップS45における探索の結果、探索前の動きベクトルと同じ値になる可能性もある。
Specifically, the
As a result of the search in step S45, the value may be the same as the motion vector before the search.
ステップS46において、洗練化部111Cは、ステップS45で決定した整数画素間隔位置での修正後動きベクトルに対応する探索コストを用いて、当該ブロックでの洗練化処理を打ち切るための終了条件が満足されているか否かについて判定する。かかる終了条件が全て満足されている場合に、本処理手順は、ステップS47へ進む。一方、かかる終了条件のどれか一つでも満足されていない場合は、本処理手順は、ステップS48へ進み、洗練化処理を終了する。
In step S46, the
ここで、ステップS46における終了条件(打ち切り条件)には、例えば、上述の探索コストが予め定めた第3閾値より大きいこと(或いは、上述の探索コストが予め定めた第3閾値以上であること)という条件を含めることができる。この時、第3閾値は、上述の第2閾値と同じ値に設定されてもよい。 Here, the end condition (discontinuation condition) in step S46 is, for example, that the above-mentioned search cost is larger than a predetermined third threshold value (or that the above-mentioned search cost is equal to or higher than a predetermined third threshold value). Can be included. At this time, the third threshold value may be set to the same value as the above-mentioned second threshold value.
また、洗練化部111Cは、かかる終了条件が満足されていると判定した場合に、ステップS45での探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトル(すなわち、動きベクトル符号化部111Bで符号化された動きベクトル)を、当該ブロックの最終的な動きベクトルとしてもよい。
Further, when the
また、ステップS46における終了条件(打ち切り条件)には、例えば、ステップS43で算出した初期位置での探索コストと、ステップS45で算出した修正後動きベクトルに対応する探索コストとの差分値が、予め定めた第4閾値より小さいこと(或いは、上述の差分値が予め定めた第4閾値以下であること)という条件を含んでもよい。この時、第4閾値は、第1の閾値と同じ値に設定されてもよい。 Further, in the end condition (discontinuation condition) in step S46, for example, a difference value between the search cost at the initial position calculated in step S43 and the search cost corresponding to the corrected motion vector calculated in step S45 is previously set. It may include the condition that it is smaller than the predetermined fourth threshold value (or the above-mentioned difference value is equal to or less than the predetermined fourth threshold value). At this time, the fourth threshold value may be set to the same value as the first threshold value.
また、洗練化部111Cは、かかる終了条件が満足されていると判定した場合に、ステップS45での探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトルを、当該ブロックの最終的な動きベクトルとしてもよい。
Further, when the
ステップS47において、洗練化部111Cは、ステップS43で決定した整数画素精度での修正後の動きベクトルを初期値として、非整数画素精度での動きベクトルの探索を行う。ここで、動きベクトルの探索方法としては、既知の手法を用いることができる。
In step S47, the
また、洗練化部111Cは、実際に探索を行わずに、ステップS43の結果を入力として、パラボラフィッティング等のパラメトリックなモデルを用いて非整数画素精度での動きベクトルを決定することもできる。
Further, the
洗練化部111Cは、ステップS47において、非整数画素精度での修正後の動きベクトルを決定した後、ステップS48へ移り洗練化処理を終了する。ここでは、便宜上、非整数画素精度の修正後動きベクトルという表現を用いたが、ステップS47の探索結果により、結果的に、ステップS45で求めた整数画素精度の動きベクトルと同じ値になる可能性もある。
In step S47, the
以上では、便宜上ステップS43とステップS45とを別のステップとして説明したが、両者の処理は、同一のステップ内で実行されてもよい。例えば、本処理手順は、ステップS42の直後にステップS45に移り、洗練化部111Cは、ステップS45において、初期位置での探索コスト及び画素間隔位置での修正後動きベクトルに対応する探索コストの両方を算出することができる。その後、本処理手順は、ステップS46に移り、洗練化部111Cは、ステップS44として説明した条件及びステップS46として説明した条件の中の少なくともいずれか一つを勘案して、終了条件が満たされているか否かについての判定を行うことができる。
In the above, for convenience, step S43 and step S45 have been described as separate steps, but both processes may be executed in the same step. For example, this processing procedure moves to step S45 immediately after step S42, and the
また、例えば、ステップS48において、洗練化部111Cは、初期位置での探索コストや画素間隔位置での修正後動きベクトルに対応する探索コストを用いて、探索結果を破棄するかどうか決定することもできる。
Further, for example, in step S48, the
例えば、初期位置での探索コストが、第2閾値より大きい場合(或いは、第2閾値以上である場合)、洗練化部111Cは、かかる探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトル(すなわち、動きベクトル符号化部111Bで符号化された動きベクトル)を、当該ブロックの最終的な動きベクトルとしてもよい。
For example, when the search cost at the initial position is larger than the second threshold value (or when it is equal to or higher than the second threshold value), the
また、例えば、整数画素間隔位置での修正後動きベクトルに対応する探索コストが、第3閾値より大きい場合(或いは、第3閾値以上である場合)、洗練化部111Cは、かかる探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトルを、当該ブロックの最終的な動きベクトルとしてもよい。
Further, for example, when the search cost corresponding to the corrected motion vector at the integer pixel spacing position is larger than the third threshold value (or is equal to or higher than the third threshold value), the
さらに、例えば、初期位置での探索コストと整数画素間隔位置での修正後動きベクトルに対応する探索コストとの差分値が、第4閾値より小さかった場合(或いは、第4閾値以下である場合)、洗練化部111Cは、かかる探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトルを、当該ブロックの最終的な動きベクトルとしてもよい。
Further, for example, when the difference value between the search cost at the initial position and the search cost corresponding to the corrected motion vector at the integer pixel spacing position is smaller than the fourth threshold value (or when it is equal to or less than the fourth threshold value). The
以上では、ステップS41~S48を全て含む構成について説明したが、ステップS44及びステップS46は、必ずしも構成に含まれている必要はない。 In the above, the configuration including all of steps S41 to S48 has been described, but steps S44 and S46 do not necessarily have to be included in the configuration.
洗練化部111Cは、予め定めた閾値より大きなブロックを、小さなサブブロックに分割してサブブロックごとに洗練化処理を実行してもよい。例えば、洗練化部111Cは、洗練化処理の実行単位を16×16画素と設定しておき、ブロックの水平方向又は垂直方向のサイズが16画素より大きい場合、それぞれ16画素以下となるように分割することができる。この時、洗練化処理の基準となる動きベクトルとしては、同一ブロック内の全てのサブブロックについて、動きベクトル符号化部111Bで符号化された当該ブロックの動きベクトルを用いる。
The
サブブロックごとに処理を行う場合、洗練化部111Cは、図4の全ての手順をサブブロックごとに実行してもよい。また、洗練化部111Cは、図4の処理の一部のみをサブブロックごとに処理してもよい。具体的には、洗練化部111Cは、図4のステップS41及びS42については、ブロック毎に処理を行い、ステップS43からS48について、サブブロックごとに処理してもよい。
When processing is performed for each sub-block, the
予測信号生成部111Dは、洗練化部111Cから出力される修正された動きベクトルに基づいて予測信号を生成するように構成されている。
The prediction
ここで、後述するように、予測信号生成部111Dは、上述の洗練化処理の過程で算出される情報(例えば、探索コスト)に基づいて、ブロック毎にBDOF(Bi-Directional Optical Flow)処理を行うるか否かについて判定するように構成されている。
Here, as will be described later, the prediction
具体的には、予測信号生成部111Dは、動きベクトルが修正されない場合には、動きベクトル符号化部111Bで符号化された動きベクトルに基づいて予測信号を生成するように構成されている。一方で、予測信号生成部111Dは、動きベクトルが修正される場合には、洗練化部111Cで修正された動きベクトルに基づいて予測信号を生成するように構成されている。
Specifically, the prediction
図5は、予測信号生成部111Dの処理手順の一例を示すフローチャートである。ここで、洗練化部111Cにてサブブロック単位で洗練化処理が行われた場合、予測信号生成部111Dの処理もサブブロック単位で実行される。その場合、以下の説明のブロックという単語は、適宜、サブブロックに読み替えることができる。
FIG. 5 is a flowchart showing an example of the processing procedure of the prediction
また、洗練化部111Cにて洗練化処理が行われなかったブロックについても、予め定めた閾値よりブロックサイズが大きな場合、小さなサブブロックに分割してサブブロックごとに洗練化処理を実行してもよい。例えば、洗練化部111Cと同様に、予測信号生成処理の実行単位を16×16画素と設定しておき、ブロックの水平方向又は垂直方向のサイズが16画素より大きい場合、それぞれ16画素以下となるように分割することができる。この場合も、以下の説明のブロックという単語は、適宜、サブブロックに読み替えることができる。
Further, even if the block that has not been refined by the
図5に示すように、ステップS51において、予測信号生成部111Dは、予測信号を生成する。
As shown in FIG. 5, in step S51, the prediction
具体的には、予測信号生成部111Dは、動きベクトル符号化部111Bで符号化された動きベクトル或いは洗練化部111Cで符号化された動きベクトルを入力として、かかる動きベクトルが指す位置が非整数画素位置の場合は、参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。ここで、具体的なフィルタについては、非特許文献1で開示されている最大8タップの水平垂直可分型のフィルタを適用することができる。
Specifically, the prediction
予測信号生成部111Dは、当該ブロックが双予測を行うブロックである場合は、一つ目(以後、L0と呼ぶ)の参照フレーム及び動きベクトルによる予測信号及び二つ目(以後、L1と呼ぶ)の参照フレーム及び動きベクトルによる予測信号の両方を生成する。
When the block is a block that performs bi-prediction, the prediction
ステップS52において、予測信号生成部111Dは、後述するBDOF処理の適用条件が満足されているかどうかについて確認する。
In step S52, the prediction
かかる適用条件としては、非特許文献1に記載の条件を適用できる。適用条件は、少なくとも当該ブロックが双予測を行うブロックであることという条件を含む。また、適用条件は、非特許文献1に記載のように、当該ブロックの動きベクトルがSymmetric MVDモードで符号化されていないことという条件を含んでもよい。
As such application conditions, the conditions described in
適用条件が満足されていない場合、本処理手順は、ステップS55に移って処理を終了する。この時、予測信号生成部111Dは、ステップS51で生成した予測信号を最終的な予測信号として出力する。
If the applicable conditions are not satisfied, the processing procedure proceeds to step S55 to end the processing. At this time, the prediction
一方、適用条件が全て満足される場合、本処理手順は、ステップS53へ移る。ステップS53において、本処理手順は、適用条件を満足しているブロックについて、実際に、ステップS54のBDOF処理を実行するかどうかについて判定する。 On the other hand, when all the applicable conditions are satisfied, the present processing procedure proceeds to step S53. In step S53, this processing procedure determines whether or not to actually execute the BDOF processing of step S54 for the block satisfying the applicable conditions.
以下では、探索コストとして絶対値差分和を用いた場合を例に説明するが、他の指標を探索コストに用いることもできる。例えば、局所的な平均値を除去した後の信号同士の絶対値差分和や二乗誤差和等、画像信号同士の類似性を判断するための指標値であれば、かかる探索コストとして用いることができる。 In the following, the case where the absolute value difference sum is used as the search cost will be described as an example, but other indexes can also be used for the search cost. For example, any index value for determining the similarity between image signals, such as the absolute value difference sum and the square error sum of the signals after removing the local mean value, can be used as the search cost. ..
例えば、予測信号生成部111Dは、L0の予測信号とL1の予測信号との絶対値差分和を算出し、算出された値が予め定めた閾値よりも小さい場合(或いは、算出された値が予め定めた閾値以下であった場合)は、BDOF処理を行わないといったような判定を行う。
For example, the prediction
また、例えば、予測信号生成部111Dは、L0の予測信号とL1の予測信号との絶対値差分和を算出し、算出された値が予め定めた閾値より大きい場合(或いは、算出された値が予め定めた閾値以上であった場合)は、BDOF処理を行わないといったような判定を行うこともできる。
Further, for example, the prediction
ここで、予測信号生成部111Dは、洗練化部111Cで洗練化処理を実行したブロックについては、BDOF処理の適用の有無の判断に、洗練化処理の結果を用いることもできる。
Here, the prediction
予測信号生成部111Dは、上述の洗練化処理の過程で算出された探索コスト(例えば、L0側の参照ブロックの画素値とL1側の参照ブロックの画素値との絶対値差分和)を用いて、BDOF処理を適用するか否かを判定することもできる。
The prediction
例えば、予測信号生成部111Dは、ステップS45における整数画素精度での探索において、上述の探索コスト(絶対値差分和)が最小となる探索点の絶対値差分和が、予め定めた第5閾値よりも小さい場合(或いは、予め定めた第5閾値以下である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第5閾値は、第1閾値と同じ値に設定されてもよい。
For example, in the prediction
例えば、予測信号生成部111Dは、ステップS45における整数画素精度での探索において、上述の探索コスト(絶対値差分和)が最小となる探索点の絶対値差分和が、予め定めた第6閾値よりも大きい場合(或いは、予め定めた第6閾値以上である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第6閾値は、第2閾値又は第3閾値と同じ値に設定されてもよい。
For example, in the prediction
例えば、予測信号生成部111Dは、ステップS43で算出した初期位置での探索コストが、予め定めた第5閾値よりも小さい場合(或いは、予め定めた第5閾値以下である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第5閾値は、第1閾値と同じ値に設定されてもよい。
For example, the prediction
例えば、予測信号生成部111Dは、ステップS43で算出した初期位置での探索コストが、予め定めた第6閾値よりも大きい場合(或いは、予め定めた第6閾値以上である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第6閾値は、第2閾値又は第3閾値と同じ値に設定されてもよい。
For example, the prediction
例えば、予測信号生成部111Dは、ステップS43で算出した初期位置での探索コストと、ステップS45における整数画素精度での探索における最小の探索コストとの差分値が、予め定めた第7閾値よりも小さい場合(或いは、予め定めた第7閾値以下である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第7閾値は、第1閾値又は第4閾値と同じ値に設定されてもよい。
For example, in the prediction
また、予測信号生成部111Dは、洗練化処理が実行されたブロックでは洗練化処理の結果による方法、それ以外のブロックでは絶対値差分和による方法で、それぞれ判断してもよい。
Further, the prediction
また、予測信号生成部111Dは、上述のように、新たにL0側の予測信号とL1側の予測信号との絶対値差分和を算出する処理について行わずに、洗練化処理の結果から得られる情報のみを用いて、BDOF処理の適否を判定するという構成をとることもできる。この場合、予測信号生成部111Dは、ステップS53においては、予測信号生成部111Dは、洗練化処理が実行されていないブロックについては常にBDOF処理を適用すると判断することになる。
Further, the prediction
かかる構成によれば、この場合、予測信号生成部111Dにおける絶対値差分和の算出処理を行う必要がないため、ハードウェア実装の観点で処理量及び処理遅延を削減することができる。
According to such a configuration, in this case, it is not necessary to perform the calculation processing of the absolute value difference sum in the prediction
また、かかる構成によれば、ソフトウェア実装の観点において、洗練化処理の結果を用いて、BDOF処理の効果が低いと推測されるブロックにおいてBDOF処理を実行しないようにすることで、符号化効率は維持しつつ、画像全体での処理時間を短縮することができる。 Further, according to such a configuration, from the viewpoint of software implementation, the coding efficiency is improved by using the result of the refinement processing and preventing the BDOF processing from being executed in the block where the effect of the BDOF processing is presumed to be low. While maintaining it, the processing time for the entire image can be shortened.
また、上述の洗練化処理の結果を用いる判定処理自体は、洗練化部111Cの内部で実行され、その結果を示す情報が予測信号生成部111Dへ伝達されることで、予測信号生成部111Dは、BDOF処理の適否を判定することもできる。
Further, the determination process itself using the result of the above-mentioned refinement process is executed inside the
例えば、上述のように、洗練化処理前後の動きベクトルや探索コストの値を判定し、BDOF処理を適用しない条件に当てはまる場合は「1」となり、BDOF処理を適用しない条件に当てはまらない場合及び洗練化処理が適用されなかった場合には「0」となるようなフラグを用意しておき、予測信号生成部111Dは、かかるフラグの値を参照してBDOF処理の適否を判定することができる。
For example, as described above, the motion vector and the value of the search cost before and after the refinement process are determined, and if the condition that the BDOF process is not applied is satisfied, the value is "1". A flag that becomes "0" when the conversion process is not applied is prepared, and the prediction
また、ここでは、便宜上、ステップS52及びステップS53を異なるステップとして説明したが、ステップS52及びステップS53における判定を同時に行うことも可能である。 Further, although the steps S52 and S53 have been described as different steps here for convenience, it is also possible to simultaneously perform the determinations in the steps S52 and S53.
上述のような判定において、BDOF処理を適用しないと判定したブロックについては、本処理手順は、ステップS55へ移る。それ以外のブロックについては、本処理手順は、ステップS54へ移る。 In the determination as described above, for the block determined not to apply the BDOF processing, the processing procedure proceeds to step S55. For the other blocks, this processing procedure proceeds to step S54.
ステップS54において、予測信号生成部111Dは、BDOF処理を実行する。BDOF処理自体は、既知の手法を用いることができるため、詳細についての説明は省略する。BDOF処理が実施された後、本処理手順は、ステップS55に移り処理を終了する。
In step S54, the prediction
上述の第1閾値~第7閾値は、それぞれブロックサイズ(ブロックの高さと幅の積)または当該ブロック内でSADなどの探索コスト算出に用いる画素数に応じて値を変化させるように定義されていてもよい。 The above-mentioned first threshold value to the seventh threshold value are defined so as to change their values according to the block size (product of the height and width of the block) or the number of pixels used for calculating the search cost such as SAD in the block. You may.
上述の第1閾値~第7閾値は、それぞれ当該ブロックの量子化パラメータ(QP)に応じて値を変化させるように定義されていてもよい。例えば、量子化パラメータが大きいときにコスト値も大きくなりやすい傾向がある場合は、量子化パラメータが大きくなるにつれて閾値も大きくなるように定義することができる。 The above-mentioned first threshold value to the seventh threshold value may be defined so as to change their values according to the quantization parameter (QP) of the block. For example, if the cost value tends to increase when the quantization parameter is large, the threshold value can be defined to increase as the quantization parameter increases.
(画像復号装置200)
以下、図6を参照して、本実施形態に係る画像復号装置200について説明する。図6は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
(Image Decoding Device 200)
Hereinafter, the
図6に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
As shown in FIG. 6, the
復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
The
ここで、例えば、復号は、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
Here, for example, the decoding is the entropy decoding in the reverse procedure of the entropy coding performed by the
また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
Further, the
なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。 As described above, the control data may include size data such as a coded block size, a predicted block size, and a conversion block size.
逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
The inverse conversion /
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
Here, the inverse conversion process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion /
加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
The
ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
Here, the pre-filtered decoding signal constitutes a reference block used by the
インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
Similar to the
具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号とに基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
Specifically, the
イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
Like the
具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
Specifically, the
インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
Similar to the in-loop
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック、あるいはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。 Here, for example, the filtering process is a deblocking filter process that reduces the distortion that occurs at the boundary portion of a block (encoded block, prediction block, conversion block, or sub-block that divides them).
フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
Like the
ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
Here, the filtered decoded signal constitutes a reference frame used by the
(インター予測部241)
以下、図7を参照して、本実施形態に係るインター予測部241について説明する。図7は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
(Inter prediction unit 241)
Hereinafter, the
図7に示すように、インター予測部241は、動きベクトル復号部241Bと、洗練化部241Cと、予測信号生成部241Dとを有する。
As shown in FIG. 7, the
インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
The
動きベクトル復号部241Bは、画像符号化装置100から受信する制御データの復号によって動きベクトルを取得するように構成されている。
The motion
洗練化部241Cは、洗練化部111Cと同様に、動きベクトルを修正する洗練化処理を実行するように構成されている。
The
予測信号生成部241Dは、予測信号生成部111Dと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。
Like the prediction
本実施形態に係る画像符号化装置100及び画像復号装置200によれば、洗練化部111C、241Cにおいて、探索コストが予め定めた閾値よりも大きい場合(或いは、探索コストが予め定めた閾値以上である場合)に、探索結果を破棄する構成をとることができる。ここで、洗練化処理は、当該ブロックと、L0側の参照ブロックと、L1側の参照ブロック間の画素値の相関がそれぞれ高い場合に、符号化効率を改善することができる。上述の構成とすることで、画像符号化装置100側から付加情報(洗練化処理を適用するか否かについての情報)を伝送することなく、時間方向の相関が小さいブロックにおいて洗練化処理を行わないようにすることができ、符号化効率の低下を防ぐことができる。
According to the
本実施形態に係る画像符号化装置100及び画像復号装置200によれば、洗練化部111C、241Cにおいて、初期位置での探索コストと、探索後の点に対応する探索コストとの差分値が、予め定めた閾値よりも小さい場合(或いは、予め定めた閾値以下である場合)に、探索結果を破棄する構成をとることができる。これにより、ノイズ等の影響で、偶然、初期位置よりもわずかに小さな探索コストが得られた点に、不必要に動きベクトルを修正することを避けることができ、符号化効率の低下を防ぐことができる。
According to the
本実施形態に係る画像符号化装置100及び画像復号装置200によれば、洗練化部111C、241Cにおいて、初期位置と探索点との差分ベクトルのノルムを探索コストに含める構成をとることができる。この場合、絶対値誤差和等の類似度を評価する指標値が、各探索点でほぼ同じ値になった場合、差分ベクトルのノルムで正則化することで、不必要に動きベクトルの修正量が大きくならないようにすることができ、符号化効率の低下を防ぐことができる。
According to the
本実施形態に係る画像符号化装置100及び画像復号装置200によれば、予測信号生成部111D、241DにおいてBDOF処理を実行するか否かの判定に、L0側の参照ブロックとL1側の参照ブロックの類似度(例えば、絶対値誤差和)が予め定めた閾値よりも大きいこと(或いは、かかる類似度が予め定めた閾値以上であること)という条件を含めることができる。BDOF処理も、洗練化処理と同様に、当該ブロックとL0側の参照ブロックとL1側の参照ブロックとの相関が高い場合に有効な処理である。よって、上述の構成とすることで、画像符号化装置100側から付加情報(BDOF処理を適用するか否かについての情報)を伝送することなく、時間方向の相関が小さいブロックにおいてBDOF処理を行わないようにすることができ、符号化効率の低下を防ぐことができる。また、上述の判定に、上述の洗練化処理の結果を用いることができる。これにより、上述の絶対値差分を算出する処理を削減することができる。
According to the
また、上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
Further, the above-mentioned
なお、上記の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化/復号システムにも同様に適用できる。
In each of the above embodiments, the present invention has been described by taking application to the
本発明によれば、時間方向の相関が低いブロックについて洗練化処理を行わないようにすることで、符号化効率の低下を防ぐことができる。 According to the present invention, it is possible to prevent a decrease in coding efficiency by not performing a refinement process on a block having a low correlation in the time direction.
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
111A…動きベクトル探索部
111B…動きベクトル符号化部
111C、241C…洗練化部
111D、241D…予測信号生成部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
241B…動きベクトル復号部
10 ...
Claims (3)
符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、
洗練化部とを備え、
前記洗練化部は、洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、
前記所定条件は、対象ブロックが双予測を行うブロックであるという条件、及び、前記動きベクトルがマージモードで符号化されているという条件を含み、
前記洗練化部は、前記所定条件が全て満足されていると判定した場合に、
前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了し、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行い、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた第3閾値よりも小さい場合或いは前記差分値が前記第3閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄するように構成されていることを特徴とする画像復号装置。 It is an image decoder
A motion vector decoder configured to decode motion vectors from coded data,
Equipped with a refinement department
The refinement unit determines whether or not the predetermined conditions for applying the refinement process are satisfied.
The predetermined condition includes a condition that the target block is a block that performs bi-prediction and a condition that the motion vector is encoded in the merge mode.
When the refinement unit determines that all the predetermined conditions are satisfied, the refinement unit determines.
A motion vector search is performed using the value of the motion vector decoded by the motion vector decoding unit as an initial value.
When the search cost at the initial search point is smaller than the predetermined first threshold value, the search for the motion vector is terminated.
When the search cost at the initial search point is equal to or higher than the first threshold value, the search is performed at the integer pixel spacing position.
When the difference value between the search cost at the initial search point and the minimum search cost in the search at the integer pixel spacing position is smaller than a predetermined third threshold value, or when the difference value is equal to or less than the third threshold value. , An image decoding device characterized in that the search result at the integer pixel spacing position is discarded.
洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、前記所定条件が全て満足されていると判定した場合に、
復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了する工程と、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行う工程と、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた第3閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄する工程とを有し、
前記所定条件は、対象ブロックが双予測を行うブロックであるという条件、及び、前記動きベクトルがマージモードで符号化されているという条件を含むことを特徴とする画像復号方法。 The process of decoding motion vectors from coded data and
It is determined whether or not the predetermined conditions for applying the refinement process are satisfied, and when it is determined that all the predetermined conditions are satisfied, it is determined.
A process of searching for a motion vector using the decoded motion vector value as an initial value, and
When the search cost at the initial search point is smaller than the predetermined first threshold value, the step of ending the search of the motion vector and the step of ending the search.
When the search cost at the initial search point is equal to or higher than the first threshold value, the step of performing the search at the integer pixel interval position and the step of performing the search.
When the difference value between the search cost at the initial search point and the minimum search cost in the search at the integer pixel spacing position is smaller than a predetermined third threshold value or when the difference value is equal to or less than the threshold value, the above-mentioned It has a step of discarding the search result at the integer pixel interval position.
The predetermined condition is an image decoding method including a condition that the target block is a block for performing bi-prediction and a condition that the motion vector is encoded in the merge mode.
符号化データから動きベクトルを復号する工程と、
洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、前記所定条件が全て満足されていると判定した場合に、
復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了する工程と、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行う工程と、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄する工程とを実行させ、
前記所定条件は、対象ブロックが双予測を行うブロックであるという条件、及び、前記動きベクトルがマージモードで符号化されているという条件を含むことを特徴とするプログラム。 A program used in an image decoder, which can be used on a computer.
The process of decoding motion vectors from coded data and
It is determined whether or not the predetermined conditions for applying the refinement process are satisfied, and when it is determined that all the predetermined conditions are satisfied, it is determined.
A process of searching for a motion vector using the decoded motion vector value as an initial value, and
When the search cost at the initial search point is smaller than the predetermined first threshold value, the step of ending the search of the motion vector and the step of ending the search.
When the search cost at the initial search point is equal to or higher than the first threshold value, the step of performing the search at the integer pixel interval position and the step of performing the search.
The integer pixel when the difference value between the search cost at the initial search point and the minimum search cost in the search at the integer pixel spacing position is smaller than a predetermined threshold value or when the difference value is equal to or less than the threshold value. Execute the process of discarding the search result at the interval position,
The predetermined condition is a program including a condition that the target block is a block for performing bi-prediction and a condition that the motion vector is encoded in the merge mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022080920A JP7324899B2 (en) | 2022-02-14 | 2022-05-17 | Image decoding device, image decoding method and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022020189A JP7076660B2 (en) | 2021-01-20 | 2022-02-14 | Image decoder, image decoding method and program |
JP2022080920A JP7324899B2 (en) | 2022-02-14 | 2022-05-17 | Image decoding device, image decoding method and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022020189A Division JP7076660B2 (en) | 2021-01-20 | 2022-02-14 | Image decoder, image decoding method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022103308A true JP2022103308A (en) | 2022-07-07 |
JP7324899B2 JP7324899B2 (en) | 2023-08-10 |
Family
ID=87519554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022080920A Active JP7324899B2 (en) | 2022-02-14 | 2022-05-17 | Image decoding device, image decoding method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7324899B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7076660B2 (en) | 2021-01-20 | 2022-05-27 | Kddi株式会社 | Image decoder, image decoding method and program |
-
2022
- 2022-05-17 JP JP2022080920A patent/JP7324899B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7324899B2 (en) | 2023-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6961115B2 (en) | Image decoding device, image decoding method and program | |
JP7076660B2 (en) | Image decoder, image decoding method and program | |
JP7026276B2 (en) | Image decoder, image decoding method and program | |
JP6914462B2 (en) | Image decoding device, image decoding method and program | |
JP7411318B2 (en) | Image decoding device, image encoding device, image processing system and program | |
JP6835337B2 (en) | Image decoding device, image decoding method and program | |
JP2022103308A (en) | Image decoding device, image decoding method, and program | |
JP2022043026A (en) | Image decoding device, image coding device, image processing system, and program | |
CN116805968A (en) | Video encoding and decoding method and device, computer readable medium and electronic equipment | |
JP7034363B2 (en) | Image decoder, image decoding method and program | |
JP6976916B2 (en) | Image decoding device, image coding device, image processing system and program | |
JP7061737B1 (en) | Image decoder, image decoding method and program | |
JP7083971B1 (en) | Image decoder, image decoding method and program | |
WO2020184262A1 (en) | Image decoding device, image decoding method, and program | |
JP7005480B2 (en) | Image decoder, image coding device, program and image processing system | |
JP7387806B2 (en) | Image decoding device, image decoding method and program | |
TW202408243A (en) | Method and apparatus of decoder-side motion vector refinement and bi-directional optical flow for video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220517 |
|
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: 20230704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7324899 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |