JP7026276B2 - Image decoder, image decoding method and program - Google Patents

Image decoder, image decoding method and program Download PDF

Info

Publication number
JP7026276B2
JP7026276B2 JP2021115097A JP2021115097A JP7026276B2 JP 7026276 B2 JP7026276 B2 JP 7026276B2 JP 2021115097 A JP2021115097 A JP 2021115097A JP 2021115097 A JP2021115097 A JP 2021115097A JP 7026276 B2 JP7026276 B2 JP 7026276B2
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.)
Active
Application number
JP2021115097A
Other languages
Japanese (ja)
Other versions
JP2021180503A (en
Inventor
恭平 海野
圭 河村
整 内藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2021007136A external-priority patent/JP6914462B2/en
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2021115097A priority Critical patent/JP7026276B2/en
Publication of JP2021180503A publication Critical patent/JP2021180503A/en
Priority to JP2022020189A priority patent/JP7076660B2/en
Application granted granted Critical
Publication of JP7026276B2 publication Critical patent/JP7026276B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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).

Versatile Video Coding (Draft 5)、JVET-N1001Versatile Video Coding (Draft 5), JVET-N1001

しかしながら、例えば、非特許文献1に開示されている技術では、上述の適用条件を満たすブロックでは必ず洗練化処理が実行されるため、時間方向の相関が低いブロックにおいても洗練化処理が実行され、かえって符号化効率が低下してしまう可能性があるという問題点があった。 However, for example, in the technique disclosed in Non-Patent Document 1, since the refinement process is always executed in the block satisfying the above-mentioned application condition, the refinement process is executed even in the block having a low correlation in the time direction. On the contrary, there is a problem that the coding efficiency may decrease.

そこで、本発明は、上述の課題に鑑みてなされたものであり、時間方向の相関が低いブロックについて洗練化処理を行わないようにすることで、符号化効率の低下を防ぐことができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。 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. The motion vector is searched 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 value or when the search cost at the initial search point is equal to or higher than the threshold value. ..

本発明の第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.

一実施形態に係る画像処理システム10の構成の一例を示す図である。It is a figure which shows an example of the structure of the image processing system 10 which concerns on one Embodiment. 一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of the image coding apparatus 100 which concerns on one Embodiment. 一実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of the inter-prediction part 111 of the image coding apparatus 100 which concerns on one Embodiment. 一実施形態に係る画像符号化装置100のインター予測部111の洗練化部111Cの処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the processing procedure of the refinement part 111C of the inter-prediction part 111 of the image coding apparatus 100 which concerns on one Embodiment. 一実施形態に係る動画像復号装置30のインター予測部111の予測信号生成部111Dの処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the processing procedure of the prediction signal generation unit 111D of the inter-prediction unit 111 of the moving image decoding apparatus 30 which concerns on one Embodiment. 一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of the image decoding apparatus 200 which concerns on one Embodiment. 一実施形態に係る画像復号装置200のインター予測部241の機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of the inter-prediction part 241 of the image decoding apparatus 200 which concerns on one Embodiment.

以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 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 image processing system 10 according to the first embodiment of the present invention will be described with reference to FIGS. 1 to 7. FIG. 1 is a diagram showing an image processing system 10 according to an embodiment according to the present embodiment.

図1に示すように、画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。 As shown in FIG. 1, the image processing system 10 includes an image coding device 100 and an image decoding device 200.

画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。 The image coding device 100 is configured to generate encoded data by encoding an input image signal. The image decoding device 200 is configured to generate an output image signal by decoding the coded data.

ここで、かかる符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。 Here, such coded data may be transmitted from the image coding device 100 to the image decoding device 200 via a transmission path. Further, the coded data may be stored in the storage medium and then provided from the image coding device 100 to the image decoding device 200.

(画像符号化装置100)
以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
(Image Coding Device 100)
Hereinafter, the image coding apparatus 100 according to the present embodiment will be described with reference to FIG. 2. FIG. 2 is a diagram showing an example of a functional block of the image coding apparatus 100 according to the present embodiment.

図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。 As shown in FIG. 2, the image coding apparatus 100 includes an inter-prediction unit 111, an intra-prediction unit 112, a subtractor 121, an adder 122, a conversion / quantization unit 131, and an inverse conversion / dequantization. It has a unit 132, a coding unit 140, an in-loop filter processing unit 150, and a frame buffer 160.

インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。 The inter-prediction unit 111 is configured to generate a prediction signal by inter-prediction (inter-frame prediction).

具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを決定するように構成されている。 Specifically, the inter-prediction unit 111 identifies and identifies the reference block included in the reference frame by comparing the frame to be encoded (hereinafter referred to as the target frame) with the reference frame stored in the frame buffer 160. It is configured to determine the motion vector for the reference block.

また、インター予測部111は、参照ブロック及び動きベクトルに基づいて予測ブロックに含まれる予測信号を予測ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。 Further, the inter-prediction unit 111 is configured to generate a prediction signal included in the prediction block for each prediction block based on the reference block and the motion vector. The inter-prediction unit 111 is configured to output a prediction signal to the subtractor 121 and the adder 122. Here, the reference frame is a frame different from the target frame.

イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。 The intra prediction unit 112 is configured to generate a prediction signal by intra prediction (in-frame prediction).

具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。 Specifically, the intra prediction unit 112 is configured to specify a reference block included in the target frame and generate a prediction signal for each prediction block based on the specified reference block. Further, the intra prediction unit 112 is configured to output a prediction signal to the subtractor 121 and the adder 122.

ここで、参照ブロックは、予測対象のブロック(以下、対象ブロック)について参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。 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 subtractor 121 is configured to subtract the prediction signal from the input image signal and output the prediction residual signal to the conversion / quantization unit 131. Here, the subtractor 121 is configured to generate a prediction residual signal, which is the difference between the prediction signal generated by the intra prediction or the inter prediction and the input image signal.

加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。 The adder 122 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 132 to generate a pre-filter processing decoding signal, and the pre-filter processing decoding signal is used by the intra prediction unit 112 and the input. It is configured to output to the loop filter processing unit 150.

ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。 Here, the pre-filtered decoding signal constitutes a reference block used by the intra prediction unit 112.

変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。 The conversion / quantization unit 131 is configured to perform conversion processing of the predicted residual signal and acquire a coefficient level value. Further, the conversion / quantization unit 131 may be configured to quantize the coefficient level value.

ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(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 / inverse quantization unit 132 is configured to perform an inverse conversion process of the coefficient level value output from the conversion / quantization unit 131. Here, the inverse transformation / inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transformation process.

ここで、逆変換処理及び逆量子化は、変換・量子化部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 / quantization unit 131.

符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。 The coding unit 140 is configured to encode the coefficient level value output from the conversion / quantization unit 131 and output the coded data.

ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。 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 coding unit 140 is configured to encode the control data used in the decoding process in addition to the coefficient level value.

ここで、制御データは、符号化ブロック(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 filter processing unit 150 is configured to perform filter processing on the pre-filter processing decoding signal output from the adder 122 and output the post-filter processing decoding signal to the frame buffer 160.

ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。 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 frame buffer 160 is configured to store reference frames used by the inter-prediction unit 111.

ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。 Here, the filtered decoded signal constitutes a reference frame used by the inter-prediction unit 111.

(インター予測部111)
以下、図3を参照して、本実施形態に係る画像符号化装置100のインター予測部111について説明する。図3は、本実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。
(Inter prediction unit 111)
Hereinafter, the inter-prediction unit 111 of the image coding apparatus 100 according to the present embodiment will be described with reference to FIG. FIG. 3 is a diagram showing an example of a functional block of the inter-prediction unit 111 of the image coding apparatus 100 according to the present embodiment.

図3に示すように、インター予測部111は、動きベクトル探索部111Aと、動きベクトル符号化部111Bと、洗練化部111Cと、予測信号生成部111Dとを有する。 As shown in FIG. 3, the inter-prediction unit 111 includes a motion vector search unit 111A, a motion vector coding unit 111B, a refinement unit 111C, and a prediction signal generation unit 111D.

インター予測部111は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。 The inter-prediction unit 111 is an example of a prediction unit configured to generate a prediction signal included in a prediction block based on a motion vector.

動きベクトル探索部111Aは、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。 The motion vector search unit 111A is configured to identify a reference block included in the reference frame by comparing the target frame with the reference frame, and search for a motion vector for the specified reference block.

また、上述の探索を複数の参照フレーム候補に対して行い、当該予測ブロックで予測に用いる参照フレーム及び動きベクトルを決定する。参照フレーム及び動きベクトルは、一つのブロックに対して最大二つずつ用いることができる。一つのブロックに対して参照フレーム及び動きベクトルを一組のみ用いる場合を片予測と呼び、参照フレーム及び動きベクトルを二組用いる場合を双予測と呼ぶ。以降、一組目をL0と呼び、二組目をL1と呼ぶ。 In addition, the above-mentioned search is performed on a plurality of reference frame candidates, and the reference frame and 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 vector search unit 111A is configured to determine the reference frame and the motion vector coding method. The coding method includes a merge mode and the like, which will be described later, in addition to a normal method of transmitting information on a reference frame and a motion vector, respectively.

なお、動きベクトルの探索方法、参照フレームの決定方法及び参照フレーム及び動きベクトルの符号化方法の決定方法については、既知の手法を採用することが可能であるため、その詳細については省略する。 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 vector coding unit 111B is configured to encode the information of the reference frame and the motion vector determined by the motion vector search unit 111A by using the coding method also determined by the motion vector search unit 111A.

当該ブロックの符号化方法がマージモードの場合、画像符号化装置100側において、初めに、当該ブロックに対するマージリストが作成される。ここで、マージリストは、参照フレームと動きベクトルとの組み合わせが複数列挙されたリストである。 When the coding method of the block is the merge mode, the image coding apparatus 100 first creates a merge list for the block. Here, the merge list is a list in which a plurality of combinations of reference frames and motion vectors are listed.

各組み合わせには、インデックスが振られており、画像符号化装置100は、参照フレーム及び動きベクトルの情報を個別に符号化する代わりに、かかるインデックスのみを符号化し、画像復号装置200に伝送する。画像符号化装置100側と画像復号装置200側とでマージリストの作成方法を共通化しておくことで、画像復号装置200側では、かかるインデックスに係る情報のみから参照フレーム及び動きベクトルの情報を復号することができる。 An index is assigned to each combination, and the image coding apparatus 100 encodes only such an index and transmits it to the image decoding apparatus 200 instead of individually encoding the information of the reference frame and the motion vector. By sharing the method of creating the merge list between the image coding device 100 side and the image decoding device 200 side, the image decoding device 200 side decodes the reference frame and motion vector information only from the information related to the index. can do.

なお、マージリストの作成方法については、既知の手法を採用することが可能であるため、その詳細については省略する。 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 refinement unit 111C is configured to perform a refinement process (for example, DMVR) for modifying the motion vector encoded by the motion vector coding unit 111B.

具体的には、洗練化部111Cは、動きベクトル符号化部111Bで符号化された動きベクトルによって特定される参照位置を基準として探索範囲を設定し、探索範囲の中から所定コストが最も小さい修正参照位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を行うように構成されている。 Specifically, the refinement unit 111C sets the search range with reference to the reference position specified by the motion vector encoded by the motion vector coding unit 111B, and corrects the search range with the smallest predetermined cost. It is configured to perform refinement processing that identifies the reference position and corrects the motion vector based on the correction reference position.

図4は、洗練化部111Cの処理手順の一例を示すフローチャートである。 FIG. 4 is a flowchart showing an example of the processing procedure of the refinement unit 111C.

図4に示すように、ステップS41において、洗練化部111Cは、洗練化処理を適用するための所定条件が満足されているかどうかについて判定する。かかる所定条件が全て満足されている場合に、本処理手順は、ステップS42へ進む。一方、かかる所定条件のどれか一つでも満足されていない場合は、本処理手順は、ステップS48へ進み、洗練化処理を終了する。 As shown in FIG. 4, in step S41, the refinement unit 111C determines whether or not the predetermined conditions for applying the refinement process are satisfied. When all the predetermined conditions are satisfied, the processing procedure proceeds to step S42. On the other hand, if any one of the predetermined conditions is not satisfied, the process proceeds to step S48 and the refinement process is terminated.

ここで、所定条件は、当該ブロックが双予測を行うブロックであるという条件を含む。さらに、所定条件は、動きベクトルがマージモードで符号化されているという条件を含んでもよい。 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 refinement unit 111C generates a search image based on the information of the motion vector and the reference frame encoded by the motion vector coding unit 111B.

ここで、動きベクトルが非整数画素位置を指していた場合は、洗練化部111Cは、参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。この時、洗練化部111Cは、後述する予測信号生成部111Dで用いる内挿フィルタより、少ないタップ数の内挿フィルタを用いることで、演算量を削減することができる。例えば、洗練化部111Cは、バイリニア補間によって非整数画素位置の画素値を内挿することができる。 Here, when the motion vector points to a non-integer pixel position, the refinement unit 111C applies a filter to the pixel value of the reference frame to interpolate the pixel at the non-integer pixel position. At this time, the refinement unit 111C can reduce the amount of calculation by using the interpolation filter having a smaller number of taps than the interpolation filter used in the prediction signal generation unit 111D described later. For example, the refinement unit 111C can interpolate pixel values at non-integer pixel positions by bilinear interpolation.

ステップS43において、洗練化部111Cは、ステップS42で生成した探索用画像を用いて、初期位置での探索コストを算出する。 In step S43, the refinement unit 111C calculates the search cost at the initial position using the search image generated in step S42.

ここで、初期位置は、動きベクトル符号化部111Bで符号化された動きベクトルが指し示す位置である。また、探索コストは、上述の動きベクトルが指し示すL0側(第1参照フレーム側)の参照ブロックとL1側(第2参照フレーム側)の参照ブロックとの類似度の指標値であり、例えば、画素値同士の絶対値誤差和や二乗誤差和を用いることができる。 Here, the initial position is the position pointed to by the motion vector encoded by the motion vector coding unit 111B. Further, the search cost is an index value of the degree of similarity between the reference block on the L0 side (first reference frame side) and the reference block on the L1 side (second reference frame side) pointed to by the motion vector, and is, for example, a pixel. Absolute value error sums and square error sums between values can be used.

ステップS44において、洗練化部111Cは、ステップS43で算出した初期位置での探索コストを入力として、当該ブロックの洗練化処理を打ち切るための終了条件が満足されているか否かについて判定する。かかる終了条件が全て満足されている場合に、本処理手順は、ステップS45へ進む。一方、かかる終了条件のどれか一つでも満足されていない場合は、本処理手順は、ステップS48へ進み、洗練化処理を終了する。 In step S44, the refinement unit 111C uses the search cost at the initial position calculated in step S43 as an input to determine whether or not the end condition for terminating the refinement process of the block is satisfied. When all the termination conditions are satisfied, the processing procedure proceeds to step S45. On the other hand, if any one of the termination conditions is not satisfied, the processing procedure proceeds to step S48 and the refinement processing is terminated.

ここで、ステップ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 refinement unit 111C performs a search with integer pixel accuracy using the search image generated in step S42.

ここで、整数画素精度は、動きベクトル符号化部111Bで符号化された動きベクトルを基準として、整数画素間隔となる点のみを探索することを意味する。 Here, the integer pixel accuracy means that only the points having the integer pixel spacing are searched with reference to the motion vector encoded by the motion vector coding unit 111B.

洗練化部111Cは、ステップS45の探索によって、整数画素間隔位置での修正後の動きベクトルを決定する。ここで、かかる探索の方法としては、既知の手法を用いることができる。 The refinement unit 111C determines the corrected motion vector at the integer pixel spacing position by the search in step S45. Here, a known method can be used as the search method.

例えば、洗練化部111Cは、L0側及びL1側の差分動きベクトルが符号のみを反転した組み合わせとなる点のみを探索するという方法で探索することもできる。 For example, the refinement unit 111C can also search by a method of searching only a point where the difference motion vector on the L0 side and the L1 side is a combination in which only the sign is inverted.

ここでは、各探索位置における探索コストが最も小さくなった探索点を、整数画素間隔位置での修正後の動きベクトルする。探索コストとしては、上述の通り、絶対値差分和や二乗誤差和等の指標を用いることができる。この時、洗練化部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 refinement unit 111C adds the Lp norm of the difference vector between the corrected motion vector and the motion vector at the initial position to the index for evaluating the similarity between blocks such as the above-mentioned absolute value difference sum. May be used as the search cost.

具体的には、洗練化部111Cは、例えば、絶対値差分和と差分ベクトルのL1ノルムとの和を探索コストとしてもよい。また、洗練化部111Cは、絶対値差分和にL1ノルムを加算する際に、予め定めた比率で重み付けをしてから加算してもよい。例えば、洗練化部111Cは、L1ノルムを2倍した値を絶対値差分和に加えてもよい。この時、倍率が2のべき乗であれば、ビットシフトによって等価な処理を実現できる。
なお、ステップS45における探索の結果、探索前の動きベクトルと同じ値になる可能性もある。
Specifically, the refinement unit 111C may use, for example, the sum of the absolute value difference sum and the L1 norm of the difference vector as the search cost. Further, the refinement unit 111C may add weights at a predetermined ratio when adding the L1 norm to the absolute value difference sum. For example, the refinement unit 111C may add a value obtained by doubling the L1 norm to the absolute value difference sum. At this time, if the magnification is a power of 2, equivalent processing can be realized by bit shift.
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 refinement unit 111C satisfies the end condition for terminating the refinement process in the block by using the search cost corresponding to the corrected motion vector at the integer pixel spacing position determined in step S45. Judge whether or not it is. When all the termination conditions are satisfied, the processing procedure proceeds to step S47. On the other hand, if any one of the termination conditions is not satisfied, the processing procedure proceeds to step S48 and the refinement processing is terminated.

ここで、ステップ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 refinement unit 111C determines that the end condition is satisfied, the search result in step S45 is discarded, and the same motion vector (that is, the motion vector) as in the case where the refinement process is not performed is performed. The motion vector encoded by the coding unit 111B) may be used as the final motion vector of the block.

また、ステップ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 refinement unit 111C determines that the end condition is satisfied, the search result in step S45 is discarded, and the same motion vector as in the case where the refinement process is not performed is used in the block. It may be the final motion vector.

ステップS47において、洗練化部111Cは、ステップS43で決定した整数画素精度での修正後の動きベクトルを初期値として、非整数画素精度での動きベクトルの探索を行う。ここで、動きベクトルの探索方法としては、既知の手法を用いることができる。 In step S47, the refinement unit 111C searches for a motion vector with non-integer pixel accuracy by using the motion vector after correction with integer pixel accuracy determined in step S43 as an initial value. Here, as a motion vector search method, a known method can be used.

また、洗練化部111Cは、実際に探索を行わずに、ステップS43の結果を入力として、パラボラフィッティング等のパラメトリックなモデルを用いて非整数画素精度での動きベクトルを決定することもできる。 Further, the refinement unit 111C can also determine a motion vector with non-integer pixel accuracy by using a parametric model such as parabolic fitting with the result of step S43 as an input without actually performing a search.

洗練化部111Cは、ステップS47において、非整数画素精度での修正後の動きベクトルを決定した後、ステップS48へ移り洗練化処理を終了する。ここでは、便宜上、非整数画素精度の修正後動きベクトルという表現を用いたが、ステップS47の探索結果により、結果的に、ステップS45で求めた整数画素精度の動きベクトルと同じ値になる可能性もある。 In step S47, the refinement unit 111C determines the motion vector after the correction with non-integer pixel accuracy, and then proceeds to step S48 to end the refinement process. Here, for convenience, the expression of the modified motion vector with non-integer pixel accuracy is used, but the search result in step S47 may result in the same value as the motion vector with integer pixel accuracy obtained in step S45. There is also.

以上では、便宜上ステップ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 refinement unit 111C has both a search cost at the initial position and a search cost corresponding to the corrected motion vector at the pixel spacing position in step S45. Can be calculated. After that, the present processing procedure moves to step S46, and the refinement unit 111C considers at least one of the conditions described as step S44 and the conditions described as step S46, and the termination condition is satisfied. It is possible to make a judgment as to whether or not it is present.

また、例えば、ステップS48において、洗練化部111Cは、初期位置での探索コストや画素間隔位置での修正後動きベクトルに対応する探索コストを用いて、探索結果を破棄するかどうか決定することもできる。 Further, for example, in step S48, the refinement unit 111C may determine whether to discard the search result by using the search cost at the initial position and the search cost corresponding to the corrected motion vector at the pixel spacing position. can.

例えば、初期位置での探索コストが、第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 refinement unit 111C discards the search result and does not perform the refinement process. The same motion vector as above (that is, the motion vector encoded by the motion vector coding unit 111B) may be used as the final motion vector of the block.

また、例えば、整数画素間隔位置での修正後動きベクトルに対応する探索コストが、第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 refinement unit 111C discards the search result. Then, the same motion vector as in the case where the refinement process is not performed may be used as the final motion vector of the block.

さらに、例えば、初期位置での探索コストと整数画素間隔位置での修正後動きベクトルに対応する探索コストとの差分値が、第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 refinement unit 111C may discard the search result and use the same motion vector as in the case where the refinement process is not performed as the final motion vector of the block.

以上では、ステップ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 refinement unit 111C may divide a block larger than a predetermined threshold into smaller subblocks and execute the refinement process for each subblock. For example, the refinement unit 111C sets the execution unit of the refinement process to 16 × 16 pixels, and when the horizontal or vertical size of the block is larger than 16 pixels, it is divided into 16 pixels or less. can do. At this time, as the motion vector used as the reference for the refinement process, the motion vector of the block encoded by the motion vector coding unit 111B is used for all the sub-blocks in the same block.

サブブロックごとに処理を行う場合、洗練化部111Cは、図4の全ての手順をサブブロックごとに実行してもよい。また、洗練化部111Cは、図4の処理の一部のみをサブブロックごとに処理してもよい。具体的には、洗練化部111Cは、図4のステップS41及びS42については、ブロック毎に処理を行い、ステップS43からS48について、サブブロックごとに処理してもよい。 When processing is performed for each sub-block, the refinement unit 111C may execute all the procedures of FIG. 4 for each sub-block. Further, the refinement unit 111C may process only a part of the process of FIG. 4 for each subblock. Specifically, the refinement unit 111C may process steps S41 and S42 in FIG. 4 for each block, and steps S43 to S48 for each sub-block.

予測信号生成部111Dは、洗練化部111Cから出力される修正された動きベクトルに基づいて予測信号を生成するように構成されている。 The prediction signal generation unit 111D is configured to generate a prediction signal based on the modified motion vector output from the refinement unit 111C.

ここで、後述するように、予測信号生成部111Dは、上述の洗練化処理の過程で算出される情報(例えば、探索コスト)に基づいて、ブロック毎にBDOF(Bi-Directional Optical Flow)処理を行うるか否かについて判定するように構成されている。 Here, as will be described later, the prediction signal generation unit 111D performs BDOF (Bi-Directional Optical Flow) processing for each block based on the information calculated in the process of the above-mentioned refinement processing (for example, search cost). It is configured to determine whether or not to do so.

具体的には、予測信号生成部111Dは、動きベクトルが修正されない場合には、動きベクトル符号化部111Bで符号化された動きベクトルに基づいて予測信号を生成するように構成されている。一方で、予測信号生成部111Dは、動きベクトルが修正される場合には、洗練化部111Cで修正された動きベクトルに基づいて予測信号を生成するように構成されている。 Specifically, the prediction signal generation unit 111D is configured to generate a prediction signal based on the motion vector encoded by the motion vector coding unit 111B when the motion vector is not modified. On the other hand, the prediction signal generation unit 111D is configured to generate a prediction signal based on the motion vector corrected by the refinement unit 111C when the motion vector is modified.

図5は、予測信号生成部111Dの処理手順の一例を示すフローチャートである。ここで、洗練化部111Cにてサブブロック単位で洗練化処理が行われた場合、予測信号生成部111Dの処理もサブブロック単位で実行される。その場合、以下の説明のブロックという単語は、適宜、サブブロックに読み替えることができる。 FIG. 5 is a flowchart showing an example of the processing procedure of the prediction signal generation unit 111D. Here, when the refinement process is performed in the sub-block unit by the refinement unit 111C, the process of the prediction signal generation unit 111D is also executed in the sub-block unit. In that case, the word block in the following description can be appropriately read as a subblock.

また、洗練化部111Cにて洗練化処理が行われなかったブロックについても、予め定めた閾値よりブロックサイズが大きな場合、小さなサブブロックに分割してサブブロックごとに洗練化処理を実行してもよい。例えば、洗練化部111Cと同様に、予測信号生成処理の実行単位を16×16画素と設定しておき、ブロックの水平方向又は垂直方向のサイズが16画素より大きい場合、それぞれ16画素以下となるように分割することができる。この場合も、以下の説明のブロックという単語は、適宜、サブブロックに読み替えることができる。 Further, even if the block that has not been refined by the refinement unit 111C is divided into smaller subblocks if the block size is larger than the predetermined threshold value, the refinement process may be executed for each subblock. good. For example, as in the refinement unit 111C, when the execution unit of the prediction signal generation process is set to 16 × 16 pixels and the horizontal or vertical size of the block is larger than 16 pixels, the size is 16 pixels or less, respectively. Can be divided as follows. In this case as well, the word block in the following description can be appropriately read as a subblock.

図5に示すように、ステップS51において、予測信号生成部111Dは、予測信号を生成する。 As shown in FIG. 5, in step S51, the prediction signal generation unit 111D generates a prediction signal.

具体的には、予測信号生成部111Dは、動きベクトル符号化部111Bで符号化された動きベクトル或いは洗練化部111Cで符号化された動きベクトルを入力として、かかる動きベクトルが指す位置が非整数画素位置の場合は、参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。ここで、具体的なフィルタについては、非特許文献1で開示されている最大8タップの水平垂直可分型のフィルタを適用することができる。 Specifically, the prediction signal generation unit 111D takes a motion vector encoded by the motion vector coding unit 111B or a motion vector encoded by the refinement unit 111C as an input, and the position pointed to by the motion vector is a non-integer. In the case of a pixel position, a filter is applied to the pixel value of the reference frame to interpolate the pixel at the non-integer pixel position. Here, as a specific filter, a horizontal / vertical separable filter with a maximum of 8 taps disclosed in Non-Patent Document 1 can be applied.

予測信号生成部111Dは、当該ブロックが双予測を行うブロックである場合は、一つ目(以後、L0と呼ぶ)の参照フレーム及び動きベクトルによる予測信号及び二つ目(以後、L1と呼ぶ)の参照フレーム及び動きベクトルによる予測信号の両方を生成する。 When the block is a block that performs bi-prediction, the prediction signal generation unit 111D includes a prediction signal based on the first (hereinafter referred to as L0) reference frame and motion vector, and the second (hereinafter referred to as L1). Generates both the reference frame and the motion vector prediction signal.

ステップS52において、予測信号生成部111Dは、後述するBDOF処理の適用条件が満足されているかどうかについて確認する。 In step S52, the prediction signal generation unit 111D confirms whether or not the application conditions of the BDOF processing described later are satisfied.

かかる適用条件としては、非特許文献1に記載の条件を適用できる。適用条件は、少なくとも当該ブロックが双予測を行うブロックであることという条件を含む。また、適用条件は、非特許文献1に記載のように、当該ブロックの動きベクトルがSymmetric MVDモードで符号化されていないことという条件を含んでもよい。 As such application conditions, the conditions described in Non-Patent Document 1 can be applied. The applicable condition includes at least the condition that the block is a block that makes a bi-prediction. Further, the applicable condition may include a condition that the motion vector of the block is not encoded in the Symmetric MVD mode as described in Non-Patent Document 1.

適用条件が満足されていない場合、本処理手順は、ステップ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 signal generation unit 111D outputs the prediction signal generated in step S51 as the final prediction signal.

一方、適用条件が全て満足される場合、本処理手順は、ステップS53へ移る。ステップS53において、本処理手順は、適用条件を満足しているブロックについて、実際に、ステップS54のBDOF処理を実行するかどうかについて判定する。 On the other hand, when all the applicable conditions are satisfied, this 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 signal generation unit 111D calculates the absolute value difference sum of the prediction signal of L0 and the prediction signal of L1, and when the calculated value is smaller than the predetermined threshold value (or the calculated value is predetermined). If it is equal to or less than a predetermined threshold value), it is determined that the BDOF process is not performed.

また、例えば、予測信号生成部111Dは、L0の予測信号とL1の予測信号との絶対値差分和を算出し、算出された値が予め定めた閾値より大きい場合(或いは、算出された値が予め定めた閾値以上であった場合)は、BDOF処理を行わないといったような判定を行うこともできる。 Further, for example, the prediction signal generation unit 111D calculates the absolute value difference sum of the prediction signal of L0 and the prediction signal of L1, and when the calculated value is larger than the predetermined threshold value (or the calculated value is larger than the predetermined threshold value). If it is equal to or higher than a predetermined threshold value), it is possible to make a determination that the BDOF process is not performed.

ここで、予測信号生成部111Dは、洗練化部111Cで洗練化処理を実行したブロックについては、BDOF処理の適用の有無の判断に、洗練化処理の結果を用いることもできる。 Here, the prediction signal generation unit 111D can also use the result of the refinement processing for determining whether or not the BDOF processing is applied to the block for which the refinement processing is executed by the refinement unit 111C.

予測信号生成部111Dは、上述の洗練化処理の過程で算出された探索コスト(例えば、L0側の参照ブロックの画素値とL1側の参照ブロックの画素値との絶対値差分和)を用いて、BDOF処理を適用するか否かを判定することもできる。 The prediction signal generation unit 111D uses the search cost calculated in the process of the above-mentioned refinement process (for example, the absolute value difference sum of the pixel value of the reference block on the L0 side and the pixel value of the reference block on the L1 side). , It is also possible to determine whether or not to apply the BDOF process.

例えば、予測信号生成部111Dは、ステップS45における整数画素精度での探索において、上述の探索コスト(絶対値差分和)が最小となる探索点の絶対値差分和が、予め定めた第5閾値よりも小さい場合(或いは、予め定めた第5閾値以下である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第5閾値は、第1閾値と同じ値に設定されてもよい。 For example, in the prediction signal generation unit 111D, in the search with integer pixel accuracy in step S45, the absolute value difference sum of the search points at which the search cost (absolute value difference sum) is minimized is higher than the predetermined fifth threshold value. If it is small (or if it is equal to or less than a predetermined fifth threshold value), it can be determined that the BDOF process is not applied. At this time, the fifth threshold value may be set to the same value as the first threshold value.

例えば、予測信号生成部111Dは、ステップS45における整数画素精度での探索において、上述の探索コスト(絶対値差分和)が最小となる探索点の絶対値差分和が、予め定めた第6閾値よりも大きい場合(或いは、予め定めた第6閾値以上である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第6閾値は、第2閾値又は第3閾値と同じ値に設定されてもよい。 For example, in the prediction signal generation unit 111D, in the search with integer pixel accuracy in step S45, the absolute value difference sum of the search points at which the above-mentioned search cost (absolute value difference sum) is minimized is greater than a predetermined sixth threshold value. If it is also large (or if it is equal to or higher than a predetermined sixth threshold value), it can be determined that the BDOF process is not applied. At this time, the sixth threshold value may be set to the same value as the second threshold value or the third threshold value.

例えば、予測信号生成部111Dは、ステップS43で算出した初期位置での探索コストが、予め定めた第5閾値よりも小さい場合(或いは、予め定めた第5閾値以下である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第5閾値は、第1閾値と同じ値に設定されてもよい。 For example, the prediction signal generation unit 111D performs BDOF processing when the search cost at the initial position calculated in step S43 is smaller than the predetermined fifth threshold value (or when it is equal to or less than the predetermined fifth threshold value). Can be determined not to apply. At this time, the fifth threshold value may be set to the same value as the first threshold value.

例えば、予測信号生成部111Dは、ステップS43で算出した初期位置での探索コストが、予め定めた第6閾値よりも大きい場合(或いは、予め定めた第6閾値以上である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第6閾値は、第2閾値又は第3閾値と同じ値に設定されてもよい。 For example, the prediction signal generation unit 111D performs BDOF processing when the search cost at the initial position calculated in step S43 is larger than the predetermined sixth threshold value (or when it is equal to or higher than the predetermined sixth threshold value). Can be determined not to apply. At this time, the sixth threshold value may be set to the same value as the second threshold value or the third threshold value.

例えば、予測信号生成部111Dは、ステップS43で算出した初期位置での探索コストと、ステップS45における整数画素精度での探索における最小の探索コストとの差分値が、予め定めた第7閾値よりも小さい場合(或いは、予め定めた第7閾値以下である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第7閾値は、第1閾値又は第4閾値と同じ値に設定されてもよい。 For example, in the prediction signal generation unit 111D, the difference value between the search cost at the initial position calculated in step S43 and the minimum search cost in the search with integer pixel accuracy in step S45 is larger than the predetermined seventh threshold value. If it is small (or if it is equal to or less than a predetermined seventh threshold value), it can be determined that the BDOF process is not applied. At this time, the seventh threshold value may be set to the same value as the first threshold value or the fourth threshold value.

また、予測信号生成部111Dは、洗練化処理が実行されたブロックでは洗練化処理の結果による方法、それ以外のブロックでは絶対値差分和による方法で、それぞれ判断してもよい。 Further, the prediction signal generation unit 111D may be determined by a method based on the result of the refinement process in the block in which the refinement process is executed, and by a method based on the absolute value difference sum in the other blocks.

また、予測信号生成部111Dは、上述のように、新たにL0側の予測信号とL1側の予測信号との絶対値差分和を算出する処理について行わずに、洗練化処理の結果から得られる情報のみを用いて、BDOF処理の適否を判定するという構成をとることもできる。この場合、予測信号生成部111Dは、ステップS53においては、予測信号生成部111Dは、洗練化処理が実行されていないブロックについては常にBDOF処理を適用すると判断することになる。 Further, the prediction signal generation unit 111D is obtained from the result of the refinement processing without newly performing the processing of calculating the absolute value difference sum between the prediction signal on the L0 side and the prediction signal on the L1 side, as described above. It is also possible to use only the information to determine the suitability of the BDOF process. In this case, the prediction signal generation unit 111D determines in step S53 that the prediction signal generation unit 111D always applies the BDOF processing to the block for which the refinement processing has not been executed.

かかる構成によれば、この場合、予測信号生成部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 signal generation unit 111D, so that the processing amount and the processing delay can be reduced from the viewpoint of hardware implementation.

また、かかる構成によれば、ソフトウェア実装の観点において、洗練化処理の結果を用いて、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 refinement unit 111C, and the information indicating the result is transmitted to the prediction signal generation unit 111D, so that the prediction signal generation unit 111D , It is also possible to determine the suitability of BDOF processing.

例えば、上述のように、洗練化処理前後の動きベクトルや探索コストの値を判定し、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 applied, the value is "1". A flag that becomes "0" when the conversion process is not applied is prepared, and the prediction signal generation unit 111D can determine the suitability of the BDOF process by referring to the value of the flag.

また、ここでは、便宜上、ステップ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, the present processing procedure proceeds to step S55 for the block determined not to apply the BDOF processing. For the other blocks, this processing procedure proceeds to step S54.

ステップS54において、予測信号生成部111Dは、BDOF処理を実行する。BDOF処理自体は、既知の手法を用いることができるため、詳細についての説明は省略する。BDOF処理が実施された後、本処理手順は、ステップS55に移り処理を終了する。 In step S54, the prediction signal generation unit 111D executes BDOF processing. Since the BDOF process itself can use a known method, detailed description thereof will be omitted. After the BDOF process is performed, the process moves to step S55 and ends the process.

上述の第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 image decoding apparatus 200 according to the present embodiment will be described with reference to FIG. FIG. 6 is a diagram showing an example of a functional block of the image decoding apparatus 200 according to the present embodiment.

図6に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。 As shown in FIG. 6, the image decoding device 200 includes a decoding unit 210, an inverse conversion / inverse quantization unit 220, an adder 230, an inter-prediction unit 241 and an intra-prediction unit 242, and an in-loop filter processing unit. It has 250 and a frame buffer 260.

復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。 The decoding unit 210 is configured to decode the coded data generated by the image coding device 100 and decode the coefficient level value.

ここで、例えば、復号は、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。 Here, for example, the decoding is the entropy decoding in the reverse procedure of the entropy coding performed by the coding unit 140.

また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。 Further, the decoding unit 210 may be configured to acquire the control data by the decoding process of the coded data.

なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。 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 / inverse quantization unit 220 is configured to perform an inverse conversion process of the coefficient level value output from the decoding unit 210. Here, the inverse transformation / inverse quantization unit 220 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transformation process.

ここで、逆変換処理及び逆量子化は、変換・量子化部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 / quantization unit 131.

加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。 The adder 230 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 220 to generate a pre-filter processing decoding signal, and the pre-filter processing decoding signal is used by the intra prediction unit 242 and the in-loop. It is configured to output to the filter processing unit 250.

ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。 Here, the pre-filtered decoding signal constitutes a reference block used by the intra prediction unit 242.

インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。 Similar to the inter-prediction unit 111, the inter-prediction unit 241 is configured to generate a prediction signal by inter-prediction (inter-frame prediction).

具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号とに基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。 Specifically, the inter-prediction unit 241 is configured to generate a prediction signal for each prediction block based on the motion vector decoded from the coded data and the reference signal included in the reference frame. The inter-prediction unit 241 is configured to output a prediction signal to the adder 230.

イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。 Like the intra prediction unit 112, the intra prediction unit 242 is configured to generate a prediction signal by intra prediction (in-frame prediction).

具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。 Specifically, the intra prediction unit 242 is configured to specify a reference block included in the target frame and generate a prediction signal for each prediction block based on the specified reference block. The intra prediction unit 242 is configured to output a prediction signal to the adder 230.

インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。 Similar to the in-loop filter processing unit 150, the in-loop filter processing unit 250 performs filter processing on the pre-filter processing decoded signal output from the adder 230, and outputs the post-filter processing decoded signal to the frame buffer 260. It is configured to do.

ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック、あるいはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。 Here, for example, the filtering process is a deblocking filtering process that reduces the distortion generated at the boundary portion of a block (encoded block, prediction block, conversion block, or sub-block obtained by dividing them).

フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。 Like the frame buffer 160, the frame buffer 260 is configured to store reference frames used by the inter-prediction unit 241.

ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。 Here, the filtered decoded signal constitutes a reference frame used by the inter-prediction unit 241.

(インター予測部241)
以下、図7を参照して、本実施形態に係るインター予測部241について説明する。図7は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
(Inter prediction unit 241)
Hereinafter, the inter-prediction unit 241 according to the present embodiment will be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of a functional block of the inter-prediction unit 241 according to the present embodiment.

図7に示すように、インター予測部241は、動きベクトル復号部241Bと、洗練化部241Cと、予測信号生成部241Dとを有する。 As shown in FIG. 7, the inter-prediction unit 241 includes a motion vector decoding unit 241B, a refinement unit 241C, and a prediction signal generation unit 241D.

インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。 The inter-prediction unit 241 is an example of a prediction unit configured to generate a prediction signal included in a prediction block based on a motion vector.

動きベクトル復号部241Bは、画像符号化装置100から受信する制御データの復号によって動きベクトルを取得するように構成されている。 The motion vector decoding unit 241B is configured to acquire a motion vector by decoding control data received from the image coding device 100.

洗練化部241Cは、洗練化部111Cと同様に、動きベクトルを修正する洗練化処理を実行するように構成されている。 The refinement unit 241C is configured to execute the refinement process for modifying the motion vector, similarly to the refinement unit 111C.

予測信号生成部241Dは、予測信号生成部111Dと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。 Like the prediction signal generation unit 111D, the prediction signal generation unit 241D is configured to generate a prediction signal based on the motion vector.

本実施形態に係る画像符号化装置100及び画像復号装置200によれば、洗練化部111C、241Cにおいて、探索コストが予め定めた閾値よりも大きい場合(或いは、探索コストが予め定めた閾値以上である場合)に、探索結果を破棄する構成をとることができる。ここで、洗練化処理は、当該ブロックと、L0側の参照ブロックと、L1側の参照ブロック間の画素値の相関がそれぞれ高い場合に、符号化効率を改善することができる。上述の構成とすることで、画像符号化装置100側から付加情報(洗練化処理を適用するか否かについての情報)を伝送することなく、時間方向の相関が小さいブロックにおいて洗練化処理を行わないようにすることができ、符号化効率の低下を防ぐことができる。 According to the image coding device 100 and the image decoding device 200 according to the present embodiment, in the refinement units 111C and 241C, when the search cost is larger than the predetermined threshold value (or when the search cost is equal to or higher than the predetermined threshold value). In some cases), the search result can be discarded. Here, the refinement process can improve the coding efficiency when the correlation between the pixel values of the block, the reference block on the L0 side, and the reference block on the L1 side is high. With the above configuration, the refinement process is performed in the block having a small correlation in the time direction without transmitting additional information (information about whether or not the refinement process is applied) from the image coding apparatus 100 side. It is possible to prevent the coding efficiency from being lowered, and it is possible to prevent a decrease in coding efficiency.

本実施形態に係る画像符号化装置100及び画像復号装置200によれば、洗練化部111C、241Cにおいて、初期位置での探索コストと、探索後の点に対応する探索コストとの差分値が、予め定めた閾値よりも小さい場合(或いは、予め定めた閾値以下である場合)に、探索結果を破棄する構成をとることができる。これにより、ノイズ等の影響で、偶然、初期位置よりもわずかに小さな探索コストが得られた点に、不必要に動きベクトルを修正することを避けることができ、符号化効率の低下を防ぐことができる。 According to the image coding device 100 and the image decoding device 200 according to the present embodiment, in the refinement units 111C and 241C, the difference value between the search cost at the initial position and the search cost corresponding to the point after the search is set. When the value is smaller than the predetermined threshold value (or the value is equal to or lower than the predetermined threshold value), the search result can be discarded. As a result, it is possible to avoid unnecessarily correcting the motion vector at the point where a search cost slightly smaller than the initial position is accidentally obtained due to the influence of noise or the like, and it is possible to prevent a decrease in coding efficiency. Can be done.

本実施形態に係る画像符号化装置100及び画像復号装置200によれば、洗練化部111C、241Cにおいて、初期位置と探索点との差分ベクトルのノルムを探索コストに含める構成をとることができる。この場合、絶対値誤差和等の類似度を評価する指標値が、各探索点でほぼ同じ値になった場合、差分ベクトルのノルムで正則化することで、不必要に動きベクトルの修正量が大きくならないようにすることができ、符号化効率の低下を防ぐことができる。 According to the image coding device 100 and the image decoding device 200 according to the present embodiment, the refinement units 111C and 241C can be configured to include the norm of the difference vector between the initial position and the search point in the search cost. In this case, when the index value for evaluating the similarity such as the absolute value error sum becomes almost the same value at each search point, the motion vector is unnecessarily corrected by regularizing with the norm of the difference vector. It can be prevented from becoming large, and a decrease in coding efficiency can be prevented.

本実施形態に係る画像符号化装置100及び画像復号装置200によれば、予測信号生成部111D、241DにおいてBDOF処理を実行するか否かの判定に、L0側の参照ブロックとL1側の参照ブロックの類似度(例えば、絶対値誤差和)が予め定めた閾値よりも大きいこと(或いは、かかる類似度が予め定めた閾値以上であること)という条件を含めることができる。BDOF処理も、洗練化処理と同様に、当該ブロックとL0側の参照ブロックとL1側の参照ブロックとの相関が高い場合に有効な処理である。よって、上述の構成とすることで、画像符号化装置100側から付加情報(BDOF処理を適用するか否かについての情報)を伝送することなく、時間方向の相関が小さいブロックにおいてBDOF処理を行わないようにすることができ、符号化効率の低下を防ぐことができる。また、上述の判定に、上述の洗練化処理の結果を用いることができる。これにより、上述の絶対値差分を算出する処理を削減することができる。 According to the image coding device 100 and the image decoding device 200 according to the present embodiment, the reference block on the L0 side and the reference block on the L1 side are used to determine whether or not the BDOF processing is executed in the prediction signal generation units 111D and 241D. It is possible to include the condition that the degree of similarity (for example, the sum of absolute value errors) is larger than a predetermined threshold value (or the degree of similarity is equal to or more than a predetermined threshold value). Similar to the refinement process, the BDOF process is also an effective process when the correlation between the block, the reference block on the L0 side, and the reference block on the L1 side is high. Therefore, with the above configuration, the BDOF processing is performed in the block having a small correlation in the time direction without transmitting additional information (information about whether or not the BDOF processing is applied) from the image coding apparatus 100 side. It is possible to prevent the coding efficiency from being lowered, and it is possible to prevent a decrease in coding efficiency. Further, the result of the above-mentioned refinement processing can be used for the above-mentioned determination. This makes it possible to reduce the process of calculating the absolute value difference described above.

また、上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。 Further, the above-mentioned image coding device 100 and image decoding device 200 may be realized by a program that causes a computer to execute each function (each step).

なお、上記の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化/復号システムにも同様に適用できる。 In each of the above embodiments, the present invention has been described by using the application to the image coding device 100 and the image decoding device 200 as an example, but the present invention is not limited to such an example, and the image code is not limited to the above. It can be similarly applied to an image coding / decoding system having each function of the computer 100 and the image decoding device 200.

本発明によれば、時間方向の相関が低いブロックについて洗練化処理を行わないようにすることで、符号化効率の低下を防ぐことができる。 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 ... Image processing system 100 ... Image coding device 111, 241 ... Inter prediction unit 111A ... Motion vector search unit 111B ... Motion vector coding unit 111C, 241C ... Refinement unit 111D, 241D ... Prediction signal generation unit 112, 242 ... Intra prediction unit 121 ... subtractor 122, 230 ... adder 131 ... conversion / quantization unit 132, 220 ... inverse conversion / inverse quantization unit 140 ... coding unit 150, 250 ... in-loop filter processing unit 160, 260 ... frame Buffer 200 ... Image decoding device 210 ... Decoding unit 241B ... Motion vector decoding unit

Claims (3)

画像復号装置であって、
符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、
洗練化部とを備え、
前記洗練化部は、洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、前記所定条件が全て満足されていると判定した場合に、
前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了し、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行い、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄するように構成されていることを特徴とする画像復号装置。
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, and when it is determined 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.
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. An image decoding device characterized in that it is configured to discard search results at spaced positions.
符号化データから動きベクトルを復号する工程と、
洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、前記所定条件が全て満足されていると判定した場合に、
復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了する工程と、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行う工程と、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄する工程とを有することを特徴とする画像復号方法。
The process of decoding the motion vector from the 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 step 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. An image decoding method comprising a step of discarding a search result at an interval position.
画像復号装置で用いるプログラムであって、コンピュータに、
符号化データから動きベクトルを復号する工程と、
洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、前記所定条件が全て満足されていると判定した場合に、
復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了する工程と、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行う工程と、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄する工程とを実行させることを特徴とするプログラム。
A program used in an image decoder, which can be used on a computer.
The process of decoding the motion vector from the 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 step 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. A program characterized by executing a process of discarding search results at interval positions.
JP2021115097A 2021-01-20 2021-07-12 Image decoder, image decoding method and program Active JP7026276B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021115097A JP7026276B2 (en) 2021-01-20 2021-07-12 Image decoder, image decoding method and program
JP2022020189A JP7076660B2 (en) 2021-01-20 2022-02-14 Image decoder, image decoding method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021007136A JP6914462B2 (en) 2019-06-20 2021-01-20 Image decoding device, image decoding method and program
JP2021115097A JP7026276B2 (en) 2021-01-20 2021-07-12 Image decoder, image decoding method and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021007136A Division JP6914462B2 (en) 2019-06-20 2021-01-20 Image decoding device, image decoding method and program

Related Child 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
JP2021180503A JP2021180503A (en) 2021-11-18
JP7026276B2 true JP7026276B2 (en) 2022-02-25

Family

ID=78510611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021115097A Active JP7026276B2 (en) 2021-01-20 2021-07-12 Image decoder, image decoding method and program

Country Status (1)

Country Link
JP (1) JP7026276B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022069450A (en) * 2021-01-20 2022-05-11 Kddi株式会社 Image decoding device, image decoding method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000333184A (en) 1999-03-17 2000-11-30 Matsushita Electric Ind Co Ltd Motion vector detection method, device therefor and data recording medium
US20190132606A1 (en) 2017-11-02 2019-05-02 Mediatek Inc. Method and apparatus for video coding
JP6914462B2 (en) 2019-06-20 2021-08-04 Kddi株式会社 Image decoding device, image decoding method and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3589480B2 (en) * 1994-03-31 2004-11-17 三菱電機株式会社 Video signal encoding method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000333184A (en) 1999-03-17 2000-11-30 Matsushita Electric Ind Co Ltd Motion vector detection method, device therefor and data recording medium
US20190132606A1 (en) 2017-11-02 2019-05-02 Mediatek Inc. Method and apparatus for video coding
JP6914462B2 (en) 2019-06-20 2021-08-04 Kddi株式会社 Image decoding device, image decoding method and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BROSS, Benjamin et al.,Versatile Video Coding (Draft 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 Mar. 2019, [JVET-N1001-v8],JVET-N1001 (version 8),ITU-T,2019年06月11日,JVET-N1001-v8.zip: JVET-N1001-v8.docx: pp. 160-164, 183-184
CHEN, Jianle et al.,Algorithm description for Versatile Video Coding and Test Model 5 (VTM 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 Mar. 2019, [JVET-N1002-v2],JVET-N1002 (version 2),ITU-T,2019年06月11日,JVET-N1002-v2.zip: JVET-N1002-v2.docx: pp. 43-45

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022069450A (en) * 2021-01-20 2022-05-11 Kddi株式会社 Image decoding device, image decoding method, and program
JP7076660B2 (en) 2021-01-20 2022-05-27 Kddi株式会社 Image decoder, image decoding method and program

Also Published As

Publication number Publication date
JP2021180503A (en) 2021-11-18

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
JP7026286B1 (en) Image decoding device, image coding device, image processing system and program
JP7324899B2 (en) Image decoding device, image decoding method and program
JP7034363B2 (en) Image decoder, image decoding method and program
WO2020184262A1 (en) Image decoding device, image decoding method, and program
JP7061737B1 (en) Image decoder, image decoding method and program
JP6976916B2 (en) Image decoding device, image coding device, image processing system and program
JP7083971B1 (en) Image decoder, image decoding method and program
JP7005480B2 (en) Image decoder, image coding device, program and image processing system
JP2024003175A (en) Image decoder, 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: 20210712

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211110

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220214

R150 Certificate of patent or registration of utility model

Ref document number: 7026276

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150