Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7324899B2 - Image decoding device, image decoding method and program - Google Patents
[go: Go Back, main page]

JP7324899B2 - Image decoding device, image decoding method and program - Google Patents

Image decoding device, image decoding method and program Download PDF

Info

Publication number
JP7324899B2
JP7324899B2 JP2022080920A JP2022080920A JP7324899B2 JP 7324899 B2 JP7324899 B2 JP 7324899B2 JP 2022080920 A JP2022080920 A JP 2022080920A JP 2022080920 A JP2022080920 A JP 2022080920A JP 7324899 B2 JP7324899 B2 JP 7324899B2
Authority
JP
Japan
Prior art keywords
search
motion vector
threshold
unit
prediction
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
JP2022080920A
Other languages
Japanese (ja)
Other versions
JP2022103308A (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 JP2022020189A external-priority patent/JP7076660B2/en
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2022080920A priority Critical patent/JP7324899B2/en
Publication of JP2022103308A publication Critical patent/JP2022103308A/en
Application granted granted Critical
Publication of JP7324899B2 publication Critical patent/JP7324899B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像復号装置、画像復号方法及びプログラムに関する。 The present invention relates to an image decoding device, an image decoding method and a program.

従来、復号装置側で取得可能な情報のみから構成される適用条件を満たすブロックにおいて洗練化処理を適用するという技術、すなわち、DMVR(Decoder-side motion vector refinement:復号側動きベクトル洗練化) という技術が知られている(例えば、非特許文献1参照)。 Conventionally, a technique of applying refinement processing to a block that satisfies an applicable condition and is composed only of information that can be obtained on the decoding device side, that is, a technique called DMVR (Decoder-side motion vector refinement: decoding 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 technology disclosed in Non-Patent Document 1, refinement processing is always executed for blocks that satisfy the above-mentioned applicable conditions. On the contrary, there is a problem that the encoding efficiency may decrease.

そこで、本発明は、上述の課題に鑑みてなされたものであり、時間方向の相関が低いブロックについて洗練化処理を行わないようにすることで、符号化効率の低下を防ぐことができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above problems, and is an image decoding method that can prevent a decrease in coding efficiency by not performing refinement processing on blocks with low correlation in the temporal direction. An object is to provide an apparatus, an image decoding method, and a program.

本発明の第1の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、初期探索点での探索コストが予め定めた閾値よりも大きい場合或いは前記初期探索点での探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定するように構成されている洗練化部とを備えることを要旨とする。 A first feature of the present invention is an image decoding device comprising: a motion vector decoding unit configured to decode a motion vector from encoded data; A motion vector is searched for using the value as an initial value, and if the search cost at the initial search point is greater than a predetermined threshold or if the search cost at the initial search point is equal to or greater than the threshold, the decoded and a refiner configured to determine the motion vector as a final motion vector.

本発明の第2の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、探索点の中での最小探索コストが予め定めた閾値よりも大きい場合或いは前記最小探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定するように構成されている洗練化部とを備えることを要旨とする。 A second feature of the present invention is an image decoding device comprising: a motion vector decoding unit configured to decode a motion vector from encoded data; A motion vector is searched for using the value as an initial value, and if the minimum search cost among search points is greater than a predetermined threshold or if the minimum search cost is equal to or greater than the threshold, the decoded motion vector as the final motion vector.

本発明の第3の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、初期探索点での探索コストと探索点の中での最小探索コストとの差分値が予め定めた閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定するように構成されている洗練化部とを備えることを要旨とする。 A third feature of the present invention is an image decoding device comprising: a motion vector decoding unit configured to decode a motion vector from encoded data; A motion vector is searched for using the value as an initial value, and the difference between the search cost at the initial search point and the minimum search cost among the search points is smaller than a predetermined threshold, or the difference is equal to or less than the threshold. and a refiner configured to determine the decoded motion vector as the final motion vector if .

本発明の第4の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行うように構成されている洗練化部と、前記洗練化部から出力される動きベクトルに基づいて予測信号を生成するように構成されている予測信号生成部とを備え、前記予測信号生成部は、第1参照フレーム側のブロックと第2参照フレーム側のブロックとの類似度を表す指標値が予め定めた閾値よりも大きい場合或いは前記指標値が前記閾値以上である場合に、BDOF(Bi-Directional Optical Flow)処理を実行しないと決定するように構成されていることを要旨とする。 A fourth feature of the present invention is an image decoding device comprising: a motion vector decoding unit configured to decode a motion vector from encoded data; A refining unit configured to search for a motion vector using 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 refining unit. and the prediction signal generating unit, when an index value representing the degree of 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 when the index value is the threshold value The gist is that it is configured to determine not to execute BDOF (Bi-Directional Optical Flow) processing in the above case.

本発明の第5の特徴は、画像復号装置であって、符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行うように構成されている洗練化部とを備え、前記洗練化部は、探索コストに、初期探索点と探索点との差分ベクトルのノルムを含めるように構成されていることを要旨とする。 A fifth feature of the present invention is an image decoding device comprising: a motion vector decoding unit configured to decode a motion vector from encoded data; a refinement unit configured to search for a motion vector using the value as an initial value, wherein 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 configured.

本発明の第6の特徴は、符号化データから動きベクトルを復号する工程と、復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、初期探索点での探索コストが予め定めた閾値よりも大きい場合或いは前記初期探索点での探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定する工程とを有することを要旨とする。 A sixth feature of the present invention is a step of decoding a motion vector from encoded data, a step of searching for a motion vector using the value of the decoded motion vector as an initial value, and a search cost at an initial search point being determining the decoded motion vector as a final motion vector if it is greater than a predetermined threshold or if the search cost at the initial search point is equal to or greater than the threshold. .

本発明の第7の特徴は、画像復号装置で用いるプログラムであって、コンピュータに、符号化データから動きベクトルを復号する工程と、復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、初期探索点での探索コストが予め定めた閾値よりも大きい場合或いは前記初期探索点での探索コストが前記閾値以上である場合に、復号された前記動きベクトルを最終的な動きベクトルとして決定する工程とを実行させることを要旨とする。 A seventh feature of the present invention is a program for use in an image decoding device, comprising: a step of decoding a motion vector from encoded data; and converting the decoded motion vector to the final motion The gist is to execute a step 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 that can prevent deterioration of coding efficiency by not performing refinement processing on blocks with low correlation in the temporal direction. can.

一実施形態に係る画像処理システム10の構成の一例を示す図である。It is a figure showing an example of composition of image processing system 10 concerning one embodiment. 一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。1 is a diagram showing an example of functional blocks of an image encoding device 100 according to an embodiment; FIG. 一実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例を示す図である。3 is a diagram showing an example of functional blocks of an inter prediction unit 111 of the image encoding device 100 according to one embodiment; FIG. 一実施形態に係る画像符号化装置100のインター予測部111の洗練化部111Cの処理手順の一例を示すフローチャートである。3 is a flowchart showing an example of a processing procedure of a refining unit 111C of an inter prediction unit 111 of the image encoding device 100 according to one embodiment; 一実施形態に係る動画像復号装置30のインター予測部111の予測信号生成部111Dの処理手順の一例を示すフローチャートである。4 is a flow chart showing an example of a processing procedure of a prediction signal generation unit 111D of an inter prediction unit 111 of the video decoding device 30 according to one embodiment. 一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。2 is a diagram showing an example of functional blocks of an image decoding device 200 according to one embodiment; FIG. 一実施形態に係る画像復号装置200のインター予測部241の機能ブロックの一例を示す図である。3 is a diagram showing an example of functional blocks of an inter prediction unit 241 of the image decoding device 200 according to one embodiment; FIG.

以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. It should be noted that constituent elements in the following embodiments can be appropriately replaced with existing constituent elements and the like, and various variations including combinations with other existing constituent elements are possible. Therefore, the following description of the embodiments is not intended to limit the scope of the invention described in the claims.

(第1実施形態)
以下、図1~図7を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る実施形態に係る画像処理システム10を示す図である。
(First embodiment)
An image processing system 10 according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 7. FIG. FIG. 1 is a diagram showing an image processing system 10 according to an embodiment according to this embodiment.

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

画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。 The image encoding 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 encoded data.

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

(画像符号化装置100)
以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
(Image encoding device 100)
The image coding apparatus 100 according to this embodiment will be described below with reference to FIG. FIG. 2 is a diagram showing an example of functional blocks of the image encoding device 100 according to this 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 transform/quantization unit 131, an inverse transform/inverse quantization It has a section 132 , an encoding section 140 , an in-loop filtering section 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 a reference block included in the reference frame by comparing a frame to be encoded (hereinafter referred to as a target frame) and a reference frame stored in the frame buffer 160, and identifies a reference block included in the reference frame. It is configured to determine a motion vector for the reference block.

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

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

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

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

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

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

ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT;Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST;Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。 Here, transform processing is processing for transforming a prediction residual signal into a frequency component signal. In such transformation processing, a basis pattern (transformation matrix) corresponding to discrete cosine transform (DCT) may be used, and a basis pattern (transformation matrix) corresponding to discrete sine transform (DST) may be used. may be used.

逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。 The inverse transform/inverse quantization unit 132 is configured to perform inverse transform processing on the coefficient level values output from the transform/quantization unit 131 . Here, the inverse transform/inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level values prior to the inverse transform processing.

ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。 Here, the inverse transform processing and inverse quantization are performed in the reverse order of the transform processing and quantization performed by the transform/quantization unit 131 .

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

ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。 Here, for example, the coding is entropy coding that assigns codes of different lengths based on the probability of occurrence of coefficient level values.

また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。 In addition to the coefficient level values, the encoding unit 140 is also configured to encode control data used in the decoding process.

ここで、制御データは、符号化ブロック(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: Prediction Unit) size, a transform block (TU: Transform Unit) size, and the like.

インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。 The in-loop filtering section 150 is configured to perform filtering on the unfiltered decoded signal output from the adder 122 and output the filtered decoded signal to the frame buffer 160 .

ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。 Here, for example, the filter processing is deblocking filter processing that reduces distortion that occurs at boundaries of blocks (encoding blocks, prediction blocks, or transform blocks).

フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。 The frame buffer 160 is configured to accumulate reference frames used by the inter prediction section 111 .

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

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

図3に示すように、インター予測部111は、動きベクトル探索部111Aと、動きベクトル符号化部111Bと、洗練化部111Cと、予測信号生成部111Dとを有する。 As shown in FIG. 3, the inter prediction unit 111 has a motion vector search unit 111A, a motion vector encoding 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 motion vectors.

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

また、上述の探索を複数の参照フレーム候補に対して行い、当該予測ブロックで予測に用いる参照フレーム及び動きベクトルを決定する。参照フレーム及び動きベクトルは、一つのブロックに対して最大二つずつ用いることができる。一つのブロックに対して参照フレーム及び動きベクトルを一組のみ用いる場合を片予測と呼び、参照フレーム及び動きベクトルを二組用いる場合を双予測と呼ぶ。以降、一組目をL0と呼び、二組目をL1と呼ぶ。 Also, the search described above is performed for a plurality of reference frame candidates, and the reference frame and motion vector used for prediction in the prediction block are determined. A maximum of two reference frames and motion vectors can be used for one block. The case of using only one set of reference frames and motion vectors for one block is called uni-prediction, and the case of using two sets of reference frames and motion vectors is called bi-prediction. Hereinafter, the first set will be called L0, and the second set will be called L1.

更に、動きベクトル探索部111Aは、参照フレーム及び動きベクトルの符号化方法を決定するように構成されている。符号化方法には、参照フレーム及び動きベクトルの情報をそれぞれ伝送する通常の方法に加え、後述するマージモード等がある。 Furthermore, the motion vector search unit 111A is configured to determine the encoding method of the reference frame and motion vector. Coding methods include a merge mode, which will be described later, in addition to a normal method of transmitting reference frame information and motion vector information.

なお、動きベクトルの探索方法、参照フレームの決定方法及び参照フレーム及び動きベクトルの符号化方法の決定方法については、既知の手法を採用することが可能であるため、その詳細については省略する。 It should be noted that the motion vector search method, the reference frame determination method, and the reference frame and motion vector encoding method can employ known methods, and thus details thereof will be omitted.

動きベクトル符号化部111Bは、動きベクトル探索部111Aで決定した参照フレームと動きベクトルの情報を、同じく動きベクトル探索部111Aで決定した符号化方法を用いて符号化するように構成されている。 The motion vector encoding unit 111B is configured to encode the reference frame and motion vector information determined by the motion vector search unit 111A using the encoding method similarly determined by the motion vector search unit 111A.

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

各組み合わせには、インデックスが振られており、画像符号化装置100は、参照フレーム及び動きベクトルの情報を個別に符号化する代わりに、かかるインデックスのみを符号化し、画像復号装置200に伝送する。画像符号化装置100側と画像復号装置200側とでマージリストの作成方法を共通化しておくことで、画像復号装置200側では、かかるインデックスに係る情報のみから参照フレーム及び動きベクトルの情報を復号することができる。 Each combination is assigned an index, and the image encoding device 100 encodes only the index and transmits it to the image decoding device 200 instead of encoding the reference frame and motion vector information individually. The image encoding device 100 side and the image decoding device 200 side share the merge list creation method, so that 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, since it is possible to adopt a known method, the details thereof will be omitted.

動きベクトル情報の符号化については、初めに、符号化対象の動きベクトルの予測値である予測動きベクトルを生成し、かかる予測動きベクトルと実際に符号化したい動きベクトルとの差分値である差分動きベクトルを符号化する。 For encoding motion vector information, first, a predicted motion vector is generated as a predicted value of a motion vector to be encoded, and a differential motion vector, which is a difference value between the predicted motion vector and a motion vector to be actually encoded, is generated. Encode the vector.

洗練化部111Cは、動きベクトル符号化部111Bで符号化された動きベクトルを修正する洗練化処理(例えば、DMVR)を行うように構成されている。 The refinement unit 111C is configured to perform a refinement process (for example, DMVR) for correcting the motion vector encoded by the motion vector encoder 111B.

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

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

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

ここで、所定条件は、当該ブロックが双予測を行うブロックであるという条件を含む。さらに、所定条件は、動きベクトルがマージモードで符号化されているという条件を含んでもよい。 Here, the predetermined condition includes a condition that the block is a block for bi-prediction. Further, the predetermined condition may include a condition that motion vectors are encoded in merge mode.

ステップS42において、洗練化部111Cは、動きベクトル符号化部111Bで符号化された動きベクトル及び参照フレームの情報に基づいて、探索用画像を生成する。 In step S42, the refining unit 111C generates a search image based on the motion vector encoded by the motion vector encoding unit 111B and the reference frame information.

ここで、動きベクトルが非整数画素位置を指していた場合は、洗練化部111Cは、参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。この時、洗練化部111Cは、後述する予測信号生成部111Dで用いる内挿フィルタより、少ないタップ数の内挿フィルタを用いることで、演算量を削減することができる。例えば、洗練化部111Cは、バイリニア補間によって非整数画素位置の画素値を内挿することができる。 Here, if the motion vector points to a non-integer pixel position, the refining unit 111C applies a filter to the pixel values of the reference frame and interpolates the pixels at the non-integer pixel position. At this time, the refining unit 111C can reduce the amount of calculation by using an interpolation filter with a smaller number of taps than an interpolation filter used in the prediction signal generation unit 111D, which will be 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 refining 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 indicated by the motion vector encoded by the motion vector encoding 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) indicated by the motion vector. A sum of absolute errors or a sum of squared errors between values can be used.

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

ここで、ステップS44における終了条件(打ち切り条件)には、例えば、上述の初期位置での探索コストが予め定めた第1閾値より小さいこと(或いは、上述の初期位置での探索コストが予め定めた第1閾値以下であること)という条件を含めることができる。
また、ステップS44における終了条件(打ち切り条件)には、例えば、上述の初期位置での探索コストが予め定めた第2閾値より大きいこと(或いは、上述の初期位置での探索コストが予め定めた第1閾値以上であること)という条件を含めることができる。
Here, the termination condition (termination condition) in step S44 is, for example, that the search cost at the initial position is smaller than a predetermined first threshold value (or a first threshold) can be included.
Further, the termination condition (termination condition) in step S44 includes, for example, that the search cost at the initial position is greater than a predetermined second threshold value (or that the search cost at the initial position is greater than a predetermined threshold value). 1 threshold or more) can be included.

ステップS45において、洗練化部111Cは、ステップS42で生成した探索用画像を用いて、整数画素精度での探索を行う。 In step S45, the refining unit 111C performs a search with integer pixel accuracy using the search image generated in step S42.

ここで、整数画素精度は、動きベクトル符号化部111Bで符号化された動きベクトルを基準として、整数画素間隔となる点のみを探索することを意味する。 Here, the integer pixel precision means searching only for points that are at integer pixel intervals based on the motion vector encoded by the motion vector encoding unit 111B.

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

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

ここでは、各探索位置における探索コストが最も小さくなった探索点を、整数画素間隔位置での修正後の動きベクトルする。探索コストとしては、上述の通り、絶対値差分和や二乗誤差和等の指標を用いることができる。この時、洗練化部111Cは、上述の絶対値差分和等のブロック間の類似度を評価する指標に、修正後の動きベクトルと初期位置の動きベクトルとの差分ベクトルのLpノルムを加算したものを探索コストとしてもよい。 Here, the search point with the lowest search cost at each search position is used as the motion vector after correction at the integer-pixel interval position. As the search cost, as described above, an index such as the sum of absolute differences or the sum of squared errors can be used. At this time, the refining unit 111C adds the Lp norm of the difference vector between the motion vector after modification and the motion vector at the initial position to the index for evaluating the similarity between blocks such as the sum of absolute differences. may be used as the search cost.

具体的には、洗練化部111Cは、例えば、絶対値差分和と差分ベクトルのL1ノルムとの和を探索コストとしてもよい。また、洗練化部111Cは、絶対値差分和にL1ノルムを加算する際に、予め定めた比率で重み付けをしてから加算してもよい。例えば、洗練化部111Cは、L1ノルムを2倍した値を絶対値差分和に加えてもよい。この時、倍率が2のべき乗であれば、ビットシフトによって等価な処理を実現できる。
なお、ステップS45における探索の結果、探索前の動きベクトルと同じ値になる可能性もある。
Specifically, the refining unit 111C may use, for example, the sum of the sum of absolute differences and the L1 norm of the difference vector as the search cost. Further, when adding the L1 norm to the sum of absolute differences, the refining unit 111C may perform the addition after weighting with a predetermined ratio. For example, the refining unit 111C may add a value obtained by doubling the L1 norm to the sum of absolute differences. At this time, if the magnification is a power of 2, equivalent processing can be realized by bit shifting.
It should be noted that, as a result of the search in step S45, there is a possibility that the motion vector has the same value as before the search.

ステップS46において、洗練化部111Cは、ステップS45で決定した整数画素間隔位置での修正後動きベクトルに対応する探索コストを用いて、当該ブロックでの洗練化処理を打ち切るための終了条件が満足されているか否かについて判定する。かかる終了条件が全て満足されている場合に、本処理手順は、ステップS47へ進む。一方、かかる終了条件のどれか一つでも満足されていない場合は、本処理手順は、ステップS48へ進み、洗練化処理を終了する。 In step S46, the refining unit 111C uses the search cost corresponding to the corrected motion vector at the integer-pixel interval position determined in step S45, and the end condition for terminating the refining process for the block is satisfied. determine whether or not If all such end conditions are satisfied, the process proceeds to step S47. On the other hand, if any one of these end conditions is not satisfied, the process proceeds to step S48 to end the refinement process.

ここで、ステップS46における終了条件(打ち切り条件)には、例えば、上述の探索コストが予め定めた第3閾値より大きいこと(或いは、上述の探索コストが予め定めた第3閾値以上であること)という条件を含めることができる。この時、第3閾値は、上述の第2閾値と同じ値に設定されてもよい。 Here, the termination condition (termination condition) in step S46 includes, for example, that the above-described search cost is greater than a predetermined third threshold (or that the above-described search cost is greater than or equal to a predetermined third threshold). condition can be included. At this time, the third threshold may be set to the same value as the above-described second threshold.

また、洗練化部111Cは、かかる終了条件が満足されていると判定した場合に、ステップS45での探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトル(すなわち、動きベクトル符号化部111Bで符号化された動きベクトル)を、当該ブロックの最終的な動きベクトルとしてもよい。 Further, if the refining unit 111C determines that the termination condition is satisfied, the refining unit 111C discards the search result in step S45, and the same motion vector as when the refining process is not performed (that is, the motion vector The motion vector encoded by the encoding unit 111B) may be used as the final motion vector of the block.

また、ステップS46における終了条件(打ち切り条件)には、例えば、ステップS43で算出した初期位置での探索コストと、ステップS45で算出した修正後動きベクトルに対応する探索コストとの差分値が、予め定めた第4閾値より小さいこと(或いは、上述の差分値が予め定めた第4閾値以下であること)という条件を含んでもよい。この時、第4閾値は、第1の閾値と同じ値に設定されてもよい。 The termination condition (termination condition) in step S46 includes, for example, the 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. A condition that the difference value is smaller than a predetermined fourth threshold value (or that the difference value is equal to or less than a predetermined fourth threshold value) may be included. At this time, the fourth threshold may be set to the same value as the first threshold.

また、洗練化部111Cは、かかる終了条件が満足されていると判定した場合に、ステップS45での探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトルを、当該ブロックの最終的な動きベクトルとしてもよい。 Further, if the refining unit 111C determines that the end condition is satisfied, the refining unit 111C discards the search result in step S45, and adds the same motion vector as when the refining process is not performed to the block. It may be used as the final motion vector.

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

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

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

以上では、便宜上ステップS43とステップS45とを別のステップとして説明したが、両者の処理は、同一のステップ内で実行されてもよい。例えば、本処理手順は、ステップS42の直後にステップS45に移り、洗練化部111Cは、ステップS45において、初期位置での探索コスト及び画素間隔位置での修正後動きベクトルに対応する探索コストの両方を算出することができる。その後、本処理手順は、ステップS46に移り、洗練化部111Cは、ステップS44として説明した条件及びステップS46として説明した条件の中の少なくともいずれか一つを勘案して、終了条件が満たされているか否かについての判定を行うことができる。 For the sake of convenience, step S43 and step S45 have been described above as separate steps, but both processes may be executed within the same step. For example, the processing procedure moves to step S45 immediately after step S42, and the refinement unit 111C calculates both the search cost at the initial position and the search cost corresponding to the corrected motion vector at the pixel interval position in step S45. can be calculated. After that, the process proceeds to step S46, and the refining unit 111C considers at least one of the conditions described as step S44 and the conditions described as step S46 to determine whether the termination condition is satisfied. A determination can be made as to whether there is

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

例えば、初期位置での探索コストが、第2閾値より大きい場合(或いは、第2閾値以上である場合)、洗練化部111Cは、かかる探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトル(すなわち、動きベクトル符号化部111Bで符号化された動きベクトル)を、当該ブロックの最終的な動きベクトルとしてもよい。 For example, if the search cost at the initial position is greater than the second threshold (or is greater than or equal to the second threshold), the refinement unit 111C discards the search result and does not perform the refinement process. The same motion vector as (that is, the motion vector encoded by the motion vector encoding unit 111B) may be used as the final motion vector of the block.

また、例えば、整数画素間隔位置での修正後動きベクトルに対応する探索コストが、第3閾値より大きい場合(或いは、第3閾値以上である場合)、洗練化部111Cは、かかる探索結果を破棄して、洗練化処理を行わなかった場合と同じ動きベクトルを、当該ブロックの最終的な動きベクトルとしてもよい。 Also, for example, if the search cost corresponding to the modified motion vector at the integer-pixel interval position is greater than the third threshold (or is greater than or equal to the third threshold), the refining unit 111C discards the search result. Then, the same motion vector as when refinement processing is not performed may be used as the final motion vector for 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 interval position is smaller than the fourth threshold (or is equal to or less than the fourth threshold). , the refining unit 111C may discard the search result and use the same motion vector as when the refining process is not performed as the final motion vector of the block.

以上では、ステップS41~S48を全て含む構成について説明したが、ステップS44及びステップS46は、必ずしも構成に含まれている必要はない。 Although the configuration including all steps S41 to S48 has been described above, steps S44 and S46 do not necessarily have to be included in the configuration.

洗練化部111Cは、予め定めた閾値より大きなブロックを、小さなサブブロックに分割してサブブロックごとに洗練化処理を実行してもよい。例えば、洗練化部111Cは、洗練化処理の実行単位を16×16画素と設定しておき、ブロックの水平方向又は垂直方向のサイズが16画素より大きい場合、それぞれ16画素以下となるように分割することができる。この時、洗練化処理の基準となる動きベクトルとしては、同一ブロック内の全てのサブブロックについて、動きベクトル符号化部111Bで符号化された当該ブロックの動きベクトルを用いる。 The refining unit 111C may divide a block larger than a predetermined threshold into smaller sub-blocks and perform refinement processing on each sub-block. For example, the refining unit 111C sets the execution unit of the refining process to 16×16 pixels, and if 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, the motion vectors of the block encoded by the motion vector encoding unit 111B are used for all the sub-blocks in the same block as the reference motion vectors for the refinement process.

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

予測信号生成部111Dは、洗練化部111Cから出力される修正された動きベクトルに基づいて予測信号を生成するように構成されている。 The predicted signal generator 111D is configured to generate a predicted signal based on the modified motion vector output from the refiner 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 information (for example, search cost) calculated in the course of the refinement processing described above. It is configured to determine whether or not to perform.

具体的には、予測信号生成部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 encoding unit 111B when the motion vector is not corrected. 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 corrected.

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

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

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

具体的には、予測信号生成部111Dは、動きベクトル符号化部111Bで符号化された動きベクトル或いは洗練化部111Cで符号化された動きベクトルを入力として、かかる動きベクトルが指す位置が非整数画素位置の場合は、参照フレームの画素値にフィルタを適用して非整数画素位置の画素を内挿する。ここで、具体的なフィルタについては、非特許文献1で開示されている最大8タップの水平垂直可分型のフィルタを適用することができる。 Specifically, the prediction signal generation unit 111D receives the motion vector encoded by the motion vector encoding unit 111B or the motion vector encoded by the refinement unit 111C, and the position indicated by the motion vector is a non-integer. For pixel locations, a filter is applied to the pixel values of the reference frame to interpolate pixels at non-integer pixel locations. 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 to be bi-predicted, the prediction signal generation unit 111D generates 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 checks whether or not the conditions for applying the BDOF process, which will be described later, are satisfied.

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

適用条件が満足されていない場合、本処理手順は、ステップS55に移って処理を終了する。この時、予測信号生成部111Dは、ステップS51で生成した予測信号を最終的な予測信号として出力する。 If the applicable condition is not satisfied, the process proceeds to step S55 and ends. At this time, the prediction signal generator 111D outputs the prediction signal generated in step S51 as the final prediction signal.

一方、適用条件が全て満足される場合、本処理手順は、ステップS53へ移る。ステップS53において、本処理手順は、適用条件を満足しているブロックについて、実際に、ステップS54のBDOF処理を実行するかどうかについて判定する。 On the other hand, if all the applicable conditions are satisfied, the processing procedure moves to step S53. In step S53, this processing procedure determines whether or not the BDOF process of step S54 is actually executed for blocks that satisfy the application condition.

以下では、探索コストとして絶対値差分和を用いた場合を例に説明するが、他の指標を探索コストに用いることもできる。例えば、局所的な平均値を除去した後の信号同士の絶対値差分和や二乗誤差和等、画像信号同士の類似性を判断するための指標値であれば、かかる探索コストとして用いることができる。 In the following, the case where the sum of absolute differences is used as the search cost will be described as an example, but other indices can also be used as the search cost. For example, an index value for determining the similarity between image signals, such as the sum of absolute differences or the sum of squared errors between signals after local mean values have been removed, can be used as the search cost. .

例えば、予測信号生成部111Dは、L0の予測信号とL1の予測信号との絶対値差分和を算出し、算出された値が予め定めた閾値よりも小さい場合(或いは、算出された値が予め定めた閾値以下であった場合)は、BDOF処理を行わないといったような判定を行う。 For example, the predicted signal generation unit 111D calculates the sum of the absolute difference between the predicted signal of L0 and the predicted signal of L1, and if the calculated value is smaller than a predetermined threshold (or if the calculated value is If it is equal to or less than a predetermined threshold), it is determined that the BDOF process is not performed.

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

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

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

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

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

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

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

例えば、予測信号生成部111Dは、ステップS43で算出した初期位置での探索コストと、ステップS45における整数画素精度での探索における最小の探索コストとの差分値が、予め定めた第7閾値よりも小さい場合(或いは、予め定めた第7閾値以下である場合)に、BDOF処理を適用しないという判定をすることができる。この時、第7閾値は、第1閾値又は第4閾値と同じ値に設定されてもよい。 For example, the prediction signal generation unit 111D determines that 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 higher than a predetermined seventh threshold. When it is small (or when it is equal to or less than a predetermined seventh threshold), it can be determined not to apply the BDOF processing. At this time, the seventh threshold may be set to the same value as the first threshold or the fourth threshold.

また、予測信号生成部111Dは、洗練化処理が実行されたブロックでは洗練化処理の結果による方法、それ以外のブロックでは絶対値差分和による方法で、それぞれ判断してもよい。 In addition, the prediction signal generation unit 111D may make a determination using a method based on the result of the refinement processing for blocks that have undergone refinement processing, and a method based on the sum of absolute differences for other blocks.

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

かかる構成によれば、この場合、予測信号生成部111Dにおける絶対値差分和の算出処理を行う必要がないため、ハードウェア実装の観点で処理量及び処理遅延を削減することができる。 According to such a configuration, in this case, since there is no need to perform the process of calculating the sum of absolute differences in the prediction signal generation unit 111D, it is possible to reduce the amount of processing and the processing delay from the viewpoint of hardware implementation.

また、かかる構成によれば、ソフトウェア実装の観点において、洗練化処理の結果を用いて、BDOF処理の効果が低いと推測されるブロックにおいてBDOF処理を実行しないようにすることで、符号化効率は維持しつつ、画像全体での処理時間を短縮することができる。 In addition, according to such a configuration, from the viewpoint of software implementation, the result of the refinement process is used to prevent the execution of the BDOF process in blocks where the effect of the BDOF process is estimated to be low. The processing time for the entire image can be shortened while maintaining the

また、上述の洗練化処理の結果を用いる判定処理自体は、洗練化部111Cの内部で実行され、その結果を示す情報が予測信号生成部111Dへ伝達されることで、予測信号生成部111Dは、BDOF処理の適否を判定することもできる。 Further, the determination process itself using the result of the above-described refinement process is executed inside the refinement unit 111C, and information indicating the result is transmitted to the prediction signal generation unit 111D, whereby the prediction signal generation unit 111D , BDOF processing can also be determined.

例えば、上述のように、洗練化処理前後の動きベクトルや探索コストの値を判定し、BDOF処理を適用しない条件に当てはまる場合は「1」となり、BDOF処理を適用しない条件に当てはまらない場合及び洗練化処理が適用されなかった場合には「0」となるようなフラグを用意しておき、予測信号生成部111Dは、かかるフラグの値を参照してBDOF処理の適否を判定することができる。 For example, as described above, the values of motion vectors and search costs before and after refinement processing are determined. A flag is prepared so that it becomes "0" when the conversion process is not applied, and the prediction signal generation unit 111D can refer to the value of the flag to determine whether the BDOF process is appropriate.

また、ここでは、便宜上、ステップS52及びステップS53を異なるステップとして説明したが、ステップS52及びステップS53における判定を同時に行うことも可能である。 Also, here, for the sake of convenience, step S52 and step S53 have been described as different steps, but determinations in step S52 and step S53 can be performed at the same time.

上述のような判定において、BDOF処理を適用しないと判定したブロックについては、本処理手順は、ステップS55へ移る。それ以外のブロックについては、本処理手順は、ステップS54へ移る。 For blocks determined not to apply the BDOF process in the determination as described above, the process proceeds to step S55. For other blocks, the process proceeds to step S54.

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

上述の第1閾値~第7閾値は、それぞれブロックサイズ(ブロックの高さと幅の積)または当該ブロック内でSADなどの探索コスト算出に用いる画素数に応じて値を変化させるように定義されていてもよい。 The above-mentioned first to seventh thresholds are defined to vary according to the block size (the product of block height and width) or the number of pixels used for calculating search costs such as SAD in the block. may

上述の第1閾値~第7閾値は、それぞれ当該ブロックの量子化パラメータ(QP)に応じて値を変化させるように定義されていてもよい。例えば、量子化パラメータが大きいときにコスト値も大きくなりやすい傾向がある場合は、量子化パラメータが大きくなるにつれて閾値も大きくなるように定義することができる。 Each of the first to seventh thresholds described above may be defined so as to vary in value according to the quantization parameter (QP) of the block. For example, if the cost value tends to be large when the quantization parameter is large, the threshold can be defined to be large as the quantization parameter becomes large.

(画像復号装置200)
以下、図6を参照して、本実施形態に係る画像復号装置200について説明する。図6は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
(Image decoding device 200)
The image decoding device 200 according to this embodiment will be described below with reference to FIG. FIG. 6 is a diagram showing an example of functional blocks of the image decoding device 200 according to this 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 transform/inverse quantization unit 220, an adder 230, an inter prediction unit 241, an intra prediction unit 242, and an in-loop filtering unit. 250 and a frame buffer 260 .

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

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

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

なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。 Note that, as described above, the control data may include size data such as the encoding block size, prediction block size, transform block size, and the like.

逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。 The inverse transform/inverse quantization unit 220 is configured to perform inverse transform processing on the coefficient level values output from the decoding unit 210 . Here, the inverse transform/inverse quantization unit 220 may be configured to perform inverse quantization of the coefficient level values prior to the inverse transform processing.

ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。 Here, the inverse transform processing and inverse quantization are performed in the reverse order of the transform processing and quantization performed by the transform/quantization unit 131 .

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

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

インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。 Like the inter prediction section 111, the inter prediction section 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 a motion vector decoded from encoded data and a reference signal included in a reference frame. The inter prediction section 241 is configured to output a prediction signal to the adder 230 .

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

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

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

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

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

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

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

図7に示すように、インター予測部241は、動きベクトル復号部241Bと、洗練化部241Cと、予測信号生成部241Dとを有する。 As shown in FIG. 7, the inter prediction unit 241 has 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 motion vectors.

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

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

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

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

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

本実施形態に係る画像符号化装置100及び画像復号装置200によれば、洗練化部111C、241Cにおいて、初期位置と探索点との差分ベクトルのノルムを探索コストに含める構成をとることができる。この場合、絶対値誤差和等の類似度を評価する指標値が、各探索点でほぼ同じ値になった場合、差分ベクトルのノルムで正則化することで、不必要に動きベクトルの修正量が大きくならないようにすることができ、符号化効率の低下を防ぐことができる。 According to the image encoding device 100 and the image decoding device 200 according to this 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, if the index value for evaluating the degree of similarity, such as the sum of absolute error values, is approximately the same at each search point, regularization using the norm of the difference vector will result in unnecessary correction of the motion vector. It is possible to prevent it from becoming large, and it is possible to prevent the deterioration of the coding efficiency.

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

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

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

本発明によれば、時間方向の相関が低いブロックについて洗練化処理を行わないようにすることで、符号化効率の低下を防ぐことができる。 According to the present invention, it is possible to prevent deterioration of coding efficiency by not performing refinement processing on blocks with low temporal correlation.

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 encoding devices 111, 241... Inter prediction unit 111A... Motion vector search unit 111B... Motion vector encoding units 111C, 241C... Refinement units 111D, 241D... Prediction signal generation units 112, 242... Intra prediction unit 121 Subtractors 122, 230 Adder 131 Transformation/quantization units 132, 220 Inverse transformation/inverse quantization unit 140 Encoding units 150, 250 In-loop filtering units 160, 260 Frame Buffer 200... Image decoding device 210... Decoding unit 241B... Motion vector decoding unit

Claims (3)

画像復号装置であって、
符号化データから動きベクトルを復号するように構成されている動きベクトル復号部と、
洗練化部とを備え、
前記洗練化部は、洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、
前記所定条件は、対象ブロックが双予測を行うブロックであるという条件、及び、前記動きベクトルがマージモードで符号化されているという条件を含み、
前記洗練化部は、前記所定条件が全て満足されていると判定した場合に、
前記動きベクトル復号部によって復号された前記動きベクトルの値を初期値として動きベクトルの探索を行い、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了し、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行い、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた第3閾値よりも小さい場合或いは前記差分値が前記第3閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄するように構成されていることを特徴とする画像復号装置。
An image decoding device,
a motion vector decoder configured to decode motion vectors from encoded data;
and a refinement section,
the refiner determines whether a predetermined condition for applying the refinement process is satisfied;
The predetermined conditions include a condition that the target block is a block that performs bi-prediction, and a condition that the motion vector is coded in merge mode,
When the refinement unit determines that all the predetermined conditions are satisfied,
searching for a motion vector using the value of the motion vector decoded by the motion vector decoding unit as an initial value;
if the search cost at the initial search point is less than a predetermined first threshold, terminate the motion vector search;
If the search cost at the initial search point is equal to or greater than the first threshold, search is performed at integer pixel intervals;
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 interval position is smaller than a predetermined third threshold, or when the difference value is equal to or less than the third threshold , an image decoding apparatus configured to discard a search result at the integer-pixel interval position.
符号化データから動きベクトルを復号する工程と、
洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、前記所定条件が全て満足されていると判定した場合に、
復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了する工程と、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行う工程と、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた第3閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄する工程とを有し、
前記所定条件は、対象ブロックが双予測を行うブロックであるという条件、及び、前記動きベクトルがマージモードで符号化されているという条件を含むことを特徴とする画像復号方法。
decoding motion vectors from the encoded data;
determining whether predetermined conditions for applying the refinement process are satisfied, and if it is determined that all of the predetermined conditions are satisfied,
a step of searching for a motion vector using the value of the decoded motion vector as an initial value;
terminating the motion vector search if the search cost at the initial search point is less than a predetermined first threshold;
If the search cost at the initial search point is equal to or greater than the first threshold, searching at integer-pixel intervals;
When a difference value between the search cost at the initial search point and the minimum search cost in the search at the integer pixel interval position is smaller than a predetermined third threshold, or when the difference value is equal to or less than the threshold, and discarding the search result at the integer pixel interval position,
The image decoding method, wherein the predetermined conditions include a condition that the target block is a block for bi-prediction and a condition that the motion vector is coded in merge mode.
画像復号装置で用いるプログラムであって、コンピュータに、
符号化データから動きベクトルを復号する工程と、
洗練化処理を適用するための所定条件が満足されているかどうかについて判定し、前記所定条件が全て満足されていると判定した場合に、
復号された前記動きベクトルの値を初期値として動きベクトルの探索を行う工程と、
初期探索点での探索コストが予め定めた第1閾値よりも小さい場合、前記動きベクトルの探索を終了する工程と、
前記初期探索点での探索コストが前記第1閾値以上である場合、整数画素間隔位置での探索を行う工程と、
前記初期探索点での探索コストと前記整数画素間隔位置での探索における最小探索コストとの差分値が予め定めた閾値よりも小さい場合或いは前記差分値が前記閾値以下である場合に、前記整数画素間隔位置での探索結果を破棄する工程とを実行させ、
前記所定条件は、対象ブロックが双予測を行うブロックであるという条件、及び、前記動きベクトルがマージモードで符号化されているという条件を含むことを特徴とするプログラム。
A program for use in an image decoding device, the computer comprising:
decoding motion vectors from the encoded data;
determining whether predetermined conditions for applying the refinement process are satisfied, and if it is determined that all of the predetermined conditions are satisfied,
a step of searching for a motion vector using the value of the decoded motion vector as an initial value;
terminating the motion vector search if the search cost at the initial search point is less than a predetermined first threshold;
If the search cost at the initial search point is equal to or greater than the first threshold, searching at integer-pixel intervals;
when the difference between the search cost at the initial search point and the minimum search cost in the search at the integer-pixel interval position is smaller than a predetermined threshold, or when the difference is equal to or less than the threshold, the integer pixel and discarding the search results at the interval positions;
The program, wherein the predetermined conditions include a condition that the target block is a block that performs bi-prediction, and a condition that the motion vector is coded in merge mode.
JP2022080920A 2022-02-14 2022-05-17 Image decoding device, image decoding method and program Active JP7324899B2 (en)

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 JP2022103308A (en) 2022-07-07
JP7324899B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120937354A (en) * 2023-04-16 2025-11-11 Oppo广东移动通信有限公司 Video encoding and decoding method, decoder, encoder and computer readable storage medium

Citations (1)

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

Patent Citations (1)

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

Also Published As

Publication number Publication date
JP2022103308A (en) 2022-07-07

Similar Documents

Publication Publication Date Title
JP6961115B2 (en) Image decoding device, image decoding method and program
JP7634633B2 (en) Image decoding device, image decoding method and program
JP7324899B2 (en) Image decoding device, image decoding method and program
US20250080765A1 (en) Image decoding device, image decoding method, and program
CN111837386A (en) Image decoding device, image encoding device, image processing system 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
JP7134118B2 (en) Image decoding device, image decoding method and program
JP7061737B1 (en) Image decoder, image decoding method and program
JP7083971B1 (en) Image decoder, image decoding method and program
JP7034363B2 (en) Image decoder, image decoding method and program
WO2011142221A1 (en) Encoding device and decoding device

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