JP2020088451A - Moving image decoding apparatus and moving image coding apparatus - Google Patents

Moving image decoding apparatus and moving image coding apparatus Download PDF

Info

Publication number
JP2020088451A
JP2020088451A JP2018215874A JP2018215874A JP2020088451A JP 2020088451 A JP2020088451 A JP 2020088451A JP 2018215874 A JP2018215874 A JP 2018215874A JP 2018215874 A JP2018215874 A JP 2018215874A JP 2020088451 A JP2020088451 A JP 2020088451A
Authority
JP
Japan
Prior art keywords
unit
coding
shared
size
encoding
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.)
Pending
Application number
JP2018215874A
Other languages
Japanese (ja)
Inventor
知宏 猪飼
Tomohiro Igai
知宏 猪飼
瑛一 佐々木
Eiichi Sasaki
瑛一 佐々木
友子 青野
Tomoko Aono
友子 青野
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.)
Sharp Corp
Original Assignee
Sharp 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
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2018215874A priority Critical patent/JP2020088451A/en
Publication of JP2020088451A publication Critical patent/JP2020088451A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

To provide a moving image decoding apparatus and a moving image coding apparatus capable of suppressing an increase in the processing amount and the memory bandwidth while improving the coding efficiency in image coding/decoding processing.SOLUTION: A moving image decoding apparatus includes a division unit that divides an image into CTUs and recursively divides the CTUs into CUs using a tree that includes a binary tree and a quadtree, and shared merge means that sets the upper left coordinates, width, and height of a shared coding block. When the size of the target coding unit is equal to or smaller than a predetermined shared size, a merge candidate derivation unit sets the upper left position of the target CU to the upper left coordinate of the shared coding block, and sets the width and height of the shared coding block to the width and height of the target CU, respectively.SELECTED DRAWING: Figure 13

Description

本発明の実施形態は、動画像復号装置、および動画像符号化装置に関する。 Embodiments of the present invention relate to a moving image decoding device and a moving image encoding device.

動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。 In order to efficiently transmit or record a moving image, a moving image encoding device that generates encoded data by encoding the moving image, and a moving image that generates a decoded image by decoding the encoded data. An image decoding device is used.

具体的な動画像符号化方式としては、例えば、H.264/AVCやHEVC(High-Efficiency Video Coding)にて提案されている方式などが挙げられる。 As a specific moving image coding method, for example, a method proposed by H.264/AVC or HEVC (High-Efficiency Video Coding) can be cited.

このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット(CTU:Coding Tree Unit)、符号化ツリーユニットを分割することで得られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び、符号化単位を分割することより得られる変換ユニット(TU:Transform Unit)からなる階層構造により管理され、CU毎に符号化/復号される。 In such a moving image coding method, an image (picture) that constitutes a moving image is a slice obtained by dividing the image, and a coding tree unit (CTU: Coding Tree Unit) obtained by dividing the slice. ), a coding unit obtained by dividing the coding tree unit (sometimes called a coding unit (CU)), and a transform unit (TU: obtained by dividing the coding unit). CU is encoded/decoded for each CU.

また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測誤差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)が挙げられる。 In addition, in such a moving image coding method, a predicted image is usually generated based on a locally decoded image obtained by coding/decoding an input image, and the predicted image is generated from the input image (original image). The prediction error obtained by the subtraction (also referred to as “difference image” or “residual image”) is encoded. As a method of generating a predicted image, inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction) can be mentioned.

また、近年の動画像符号化及び復号の技術として非特許文献1が挙げられる。 Further, Non-Patent Document 1 can be cited as a technique of recent video encoding and decoding.

また、非特許文献1には、画面を矩形のCTUブロックに分割した後、さらいCTUをマルチツリーMTT(QTBT, QTBTTT)と呼ばれる4分木、2分木、3分木などの複数のツリーにより再帰的に分割する技術があるが開示されている。 In addition, in Non-Patent Document 1, after dividing the screen into rectangular CTU blocks, the screeching CTU is formed by a plurality of trees such as a quadtree, a binary tree, and a ternary tree called a multi-tree MTT (QTBT, QTBTTT). A technique for recursively dividing is disclosed.

また、非特許文献2には、複数のブロックをあわせた共有符号化ブロックの単位で並列に予測パラメータ(動きベクトル候補)を導出する技術が開示されている。 Also, Non-Patent Document 2 discloses a technique for deriving prediction parameters (motion vector candidates) in parallel in units of shared coding blocks that are a combination of a plurality of blocks.

また、非特許文献3には、インター予測に利用した動きベクトルをヒストリメモリに格納して再利用する技術が開示されている。 Further, Non-Patent Document 3 discloses a technique of storing a motion vector used for inter prediction in a history memory and reusing it.

" Versatile Video Coding (Draft 3)", JVET-L1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-11-08 17:06:06"Versatile Video Coding (Draft 3)", JVET-L1001, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-11-08 17:06 :06 "CE4-related: Shared merge list", JVET-L0091, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-09-24 13:51:51"CE4-related: Shared merge list", JVET-L0091, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-09-24 13:51 :51 " CE4: History-based Motion Vector Prediction (Test 4.4.7)", JVET-L0266, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018-09-25 04:29:26"CE4: History-based Motion Vector Prediction (Test 4.4.7)", JVET-L0266, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 2018 -09-25 04:29:26

しかしながら非特許文献2に記載の共有マージ方法では、符号化ユニットにおいて、親のノードの位置とサイズを用いてマージモードを導出する方法が示されているが、複数のツリー構造(QTBTTT、4分木、2分木、3分木)である場合には、対象符号化ユニットにおいて、親のノードの位置とサイズを導出することが容易にはできない、という課題がある。 However, in the shared merge method described in Non-Patent Document 2, a method of deriving a merge mode using the position and size of a parent node in a coding unit is shown, but a plurality of tree structures (QTBTTT, 4 minutes) Tree, binary tree, and ternary tree), there is a problem that the position and size of the parent node cannot be easily derived in the target coding unit.

また、共有マージに用いる面積(サイズ)が32、128、512など、4分木ツリーのサイズにはないサイズの場合には、並列に予測パラメータを導出することができない、という課題がある。 In addition, when the area (size) used for shared merging is a size that is not included in the size of the quadtree, such as 32, 128, and 512, there is a problem that prediction parameters cannot be derived in parallel.

また、共有マージに用いる面積(サイズ)が32、128、512など、4分木ツリーのサイズにはないサイズの場合には、指定したサイズでは、並列に予測パラメータを導出することができない、という課題がある。 Also, if the area (size) used for shared merging is a size that is not included in the size of the quadtree, such as 32, 128, 512, it is impossible to derive prediction parameters in parallel with the specified size. There are challenges.

また、共有マージに用いるブロックの形状が分割に応じて変化するため必ずしもエンコーダの動き探索が容易にはならない、という課題がある。 Further, there is a problem that the motion search of the encoder is not always easy because the shape of the block used for shared merging changes according to the division.

また、ヒストリマージ候補を導出する場合、共有マージが動作しないという課題がある。 Further, when deriving a history merge candidate, there is a problem that shared merging does not work.

本発明の一態様に係る動画像復号装置もしくは動画像符号化装置は、画像をCTUに分割し、CTUを2分木、4分木を含むツリーを用いて符号化ユニットに再帰的に分割する分割部を備え、符号化ユニットの動きベクトルを導出するインター予測パラメータ導出部を備え、マージインデックスに応じて選択されるマージ候補を導出するマージ候補導出部を備え、共有符号化ブロックの左上座標と幅、高さを設定する共有マージ手段を備え上記マージ候補導出部は、対象符号化ユニットのサイズが所定の共有サイズ以下である場合に、対象符号化ユニットの左上位置を上記共有符号化ブロックの左上座標に設定し対象符号化ユニットの幅、高さに、上記共有符号化ブロックの幅、高さを各々設定することを特徴とする。 A moving picture decoding apparatus or a moving picture coding apparatus according to an aspect of the present invention divides an image into CTUs and recursively divides the CTUs into coding units using a tree including a binary tree and a quadtree. A division unit is provided, an inter prediction parameter derivation unit that derives a motion vector of a coding unit is provided, and a merge candidate derivation unit that derives a merge candidate selected according to a merge index is provided. If the size of the target coding unit is equal to or smaller than a predetermined shared size, the merge candidate derivation unit that includes a shared merging unit that sets the width and height is such that the upper left position of the target coding unit is the shared coding block. It is characterized in that the width and height of the shared coding block are set to the upper left coordinates and the width and height of the target coding unit, respectively.

本発明の一態様によれば、動画像符号化・復号処理において、符号化効率を向上させつつ、処理量及びメモリバンド幅の増加を抑えることができる。 According to one aspect of the present invention, in moving image encoding/decoding processing, it is possible to suppress an increase in processing amount and memory bandwidth while improving encoding efficiency.

本実施形態に係る画像伝送システムの構成を示す概略図である。It is a schematic diagram showing the composition of the image transmission system concerning this embodiment. 本実施形態に係る動画像符号化装置を搭載した送信装置、および、動画像復号装置を搭載した受信装置の構成について示した図である。(a)は動画像符号化装置を搭載した送信装置を示しており、(b)は動画像復号装置を搭載した受信装置を示している。It is the figure which showed the structure of the transmission apparatus which mounts the moving image encoding apparatus which concerns on this embodiment, and the receiving apparatus which mounts the moving image decoding apparatus. (a) shows a transmitter equipped with a moving picture coding device, and (b) shows a receiver equipped with a moving picture decoding device. 本実施形態に係る動画像符号化装置を搭載した記録装置、および、動画像復号装置を搭載した再生装置の構成について示した図である。(a)は動画像符号化装置を搭載した記録装置を示しており、(b)は動画像復号装置を搭載した再生装置を示している。It is the figure which showed the structure of the recording device which mounts the moving image encoding apparatus which concerns on this embodiment, and the reproducing|regenerating apparatus which mounts a moving image decoding apparatus. (a) shows a recording device equipped with a moving image encoding device, and (b) shows a reproducing device equipped with a moving image decoding device. 符号化ストリームのデータの階層構造を示す図である。It is a figure which shows the hierarchical structure of the data of an encoding stream. CTUの分割例を示す図である。It is a figure which shows the example of division of CTU. 参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。It is a conceptual diagram which shows an example of a reference picture and a reference picture list. 動画像復号装置の構成を示す概略図である。It is a schematic diagram showing the composition of a moving picture decoding device. 動画像復号装置の概略的動作を説明するフローチャートである。It is a flowchart explaining a schematic operation of the moving image decoding apparatus. CT情報復号部の動作を説明するフローチャートである。It is a flow chart explaining operation of a CT information decoding part. CTUおよびQT情報のシンタックス表の構成例を示す図である。It is a figure which shows the structural example of the syntax table of CTU and QT information. MT(Multi Tree)情報のシンタックス表の構成例を示す図である。It is a figure which shows the structural example of the syntax table of MT (Multi Tree) information. インター予測パラメータ導出部の構成を示す概略図である。It is a schematic diagram showing the composition of the inter prediction parameter derivation part. マージ予測パラメータ導出部、および、AMVP予測パラメータ導出部の構成を示す概略図である。It is a schematic diagram showing composition of a merge prediction parameter derivation part and an AMVP prediction parameter derivation part. 共有マージの動作を説明するフローチャートである。6 is a flowchart illustrating an operation of shared merging. 共有符号化ブロック導出の動作を説明するフローチャートである。9 is a flowchart illustrating an operation of deriving a shared coding block. 共有マージのQT符号化ノードでの動作を説明するシンタックステーブルである。6 is a syntax table for explaining the operation of a shared merge QT encoding node. 共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。6 is another example of a syntax table explaining the operation of the MT node of shared merging. 共有符号化ブロック導出の動作を説明するフローチャートである。9 is a flowchart illustrating an operation of deriving a shared coding block. 共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。6 is another example of a syntax table explaining the operation of the MT node of shared merging. 共有マージのQT符号化ノードでの動作を説明するシンタックステーブルである。6 is a syntax table for explaining the operation of a shared merge QT encoding node. 共有符号化ブロック導出の動作を説明するフローチャートである。9 is a flowchart illustrating an operation of deriving a shared coding block. 共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。6 is another example of a syntax table explaining the operation of the MT node of shared merging. 共有マージの符号化ユニットでの共有を示す図である。It is a figure which shows the sharing in the encoding unit of sharing merging. 共有マージのMT符号化ノードでの動作を説明するシンタックステーブルの別の例である。6 is another example of a syntax table explaining the operation of the MT node of shared merging. 共有符号化ブロック導出の動作を説明するフローチャートの別の例である。7 is another example of a flowchart illustrating an operation of deriving a shared coded block. 共有マージの符号化ユニットでの共有を示す図である。It is a figure which shows the sharing in the encoding unit of sharing merging. 本発明の実施形態の固定の矩形のグリッドサイズ単位で予測パラメータを導出する共有マージの動作を説明する図である。It is a figure explaining operation|movement of the shared merge which derives a prediction parameter by a fixed rectangular grid size unit of embodiment of this invention. 本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部を備える動画像復号装置の構成を示すブロック図である。It is a block diagram showing composition of a moving picture decoding device provided with a history merge candidate derivation part and a history storage part of an embodiment of the present invention. 本実施形態のヒストリマージの処理を示す図である。It is a figure which shows the process of the history merge of this embodiment. 本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部の一構成の動作を説明するフローチャートである。6 is a flowchart illustrating an operation of a configuration of a history merge candidate derivation unit and a history storage unit according to the embodiment of this invention. 第1の構成のAMVP予測パラメータ導出部3032の動作を示すフローチャートである。11 is a flowchart showing the operation of the AMVP prediction parameter derivation unit 3032 having the first configuration. 本発明の実施形態のヒストリ格納部の一構成の動作を説明するフローチャートである。6 is a flowchart illustrating an operation of a configuration of a history storage unit according to the embodiment of this invention. 本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部を備える動画像復号装置の別の構成を示すブロック図である。It is a block diagram which shows another structure of the moving image decoding apparatus provided with the history merge candidate derivation|leading-out part and history storage part of embodiment of this invention. 本発明の実施形態のヒストリマージ候補導出部、ヒストリ格納部の別の構成の動作を説明するフローチャートである。9 is a flowchart illustrating an operation of another configuration of a history merge candidate derivation unit and a history storage unit according to the embodiment of this invention. 本実施形態のAMVP予測パラメータ導出部の動作を示すフローチャートである。It is a flow chart which shows operation of an AMVP prediction parameter derivation part of this embodiment. 本発明の実施形態のヒストリ格納部の別の構成の動作を説明するフローチャートである。7 is a flowchart illustrating an operation of another configuration of the history storage unit according to the embodiment of this invention.

(第1の実施形態)
以下、図面を参照しながら本発明の実施形態について説明する。
(First embodiment)
Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本実施形態に係る画像伝送システム1の構成を示す概略図である。 FIG. 1 is a schematic diagram showing the configuration of an image transmission system 1 according to this embodiment.

画像伝送システム1は、符号化対象画像を符号化した符号化ストリームを伝送し、伝送された符号化ストリームを復号し画像を表示するシステムである。画像伝送システム1は、動画像符号化装置(画像符号化装置)11、ネットワーク21、動画像復号装置(画像復号装置)31、及び動画像表示装置(画像表示装置)41を含んで構成される。 The image transmission system 1 is a system that transmits an encoded stream obtained by encoding an encoding target image, decodes the transmitted encoded stream, and displays an image. The image transmission system 1 is configured to include a moving image encoding device (image encoding device) 11, a network 21, a moving image decoding device (image decoding device) 31, and a moving image display device (image display device) 41. ..

動画像符号化装置11には画像Tが入力される。 The image T is input to the moving image encoding device 11.

ネットワーク21は、動画像符号化装置11が生成した符号化ストリームTeを動画像復号装置31に伝送する。ネットワーク21は、インターネット(Internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)またはこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc:登録商標)、BD(Blue-ray Disc:登録商標)等の符号化ストリームTeを記録した記憶媒体で代替されても良い。 The network 21 transmits the encoded stream Te generated by the moving image encoding device 11 to the moving image decoding device 31. The network 21 is the Internet, a wide area network (WAN: Wide Area Network), a small network (LAN: Local Area Network), or a combination thereof. The network 21 is not necessarily a bidirectional communication network, but may be a unidirectional communication network that transmits broadcast waves such as terrestrial digital broadcasting and satellite broadcasting. Further, the network 21 may be replaced with a storage medium such as a DVD (Digital Versatile Disc: registered trademark) or a BD (Blue-ray Disc: registered trademark) that records the encoded stream Te.

動画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、復号した1または複数の復号画像Tdを生成する。 The moving image decoding device 31 decodes each of the encoded streams Te transmitted by the network 21 and generates one or a plurality of decoded images Td.

動画像表示装置41は、動画像復号装置31が生成した1または複数の復号画像Tdの全部または一部を表示する。動画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。ディスプレイの形態としては、据え置き、モバイル、HMD等が挙げられる。また、動画像復号装置31が高い処理能力を有する場合には、画質の高い画像を表示し、より低い処理能力しか有しない場合には、高い処理能力、表示能力を必要としない画像を表示する。 The moving image display device 41 displays all or part of one or a plurality of decoded images Td generated by the moving image decoding device 31. The moving image display device 41 includes a display device such as a liquid crystal display or an organic EL (Electro-luminescence) display. The form of the display includes stationary, mobile, HMD and the like. Further, when the video decoding device 31 has high processing capability, it displays an image with high image quality, and when it has only lower processing capability, it displays an image that does not require high processing capability or display capability. ..

<演算子>
本明細書で用いる演算子を以下に記載する。
<Operator>
The operators used in this specification are described below.

>>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=はOR代入演算子であり、||は論理和を示す。 >> is right bit shift, << is left bit shift, & is bitwise AND, | is bitwise OR, |= is an OR assignment operator, and || is a logical sum.

x?y:zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子である。 x?y:z is a ternary operator that takes y when x is true (other than 0) and z when x is false (0).

Clip3(a,b,c)は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。 Clip3(a,b,c) is a function that clips c to a value greater than or equal to a and less than or equal to b. Returns a when c<a, returns b when c>b, and otherwise Is a function that returns c (however, a<=b).

abs(a)はaの絶対値を返す関数である。 abs(a) is a function that returns the absolute value of a.

Int(a)はaの整数値を返す関数である。 Int(a) is a function that returns the integer value of a.

floor(a)はa以下の最大の整数を返す関数である。 floor(a) is a function that returns the largest integer less than or equal to a.

ceil(a)はa以上の最大の整数を返す関数である。 ceil(a) is a function that returns the largest integer greater than or equal to a.

a/dはdによるaの除算(小数点以下切り捨て)を表す。 a/d represents division of a by d (rounding down after the decimal point).

<符号化ストリームTeの構造>
本実施形態に係る動画像符号化装置11および動画像復号装置31の詳細な説明に先立って、動画像符号化装置11によって生成され、動画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
<Structure of encoded stream Te>
Prior to a detailed description of the moving picture coding apparatus 11 and the moving picture decoding apparatus 31 according to the present embodiment, the data of the coded stream Te generated by the moving picture coding apparatus 11 and decoded by the moving picture decoding apparatus 31. The structure will be described.

図4は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図4の(a)〜(f)は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニ
ット、符号化ツリーユニットに含まれる符号化ユニットを示す図である。
FIG. 4 is a diagram showing a hierarchical structure of data in the encoded stream Te. The coded stream Te illustratively includes a sequence and a plurality of pictures forming the sequence. 4A to 4F respectively show an encoded video sequence defining the sequence SEQ, an encoded picture defining the picture PICT, an encoding slice defining the slice S, and an encoding slice defining the slice data. It is a figure which shows the data, the coding tree unit contained in coding slice data, and the coding unit contained in a coding tree unit.

(符号化ビデオシーケンス)
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために動画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図4(a)に示すように、ビデオパラメータセット(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
(Encoded video sequence)
In the encoded video sequence, a set of data referred to by the moving picture decoding apparatus 31 in order to decode the sequence SEQ to be processed is defined. As shown in FIG. 4(a), the sequence SEQ includes a video parameter set (Video Parameter Set), a sequence parameter set SPS (Sequence Parameter Set), a picture parameter set PPS (Picture Parameter Set), a picture PICT, and additional extension. Information SEI (Supplemental Enhancement Information) is included.

ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。 The video parameter set VPS is a set of coding parameters common to a plurality of moving pictures in a moving picture composed of a plurality of layers and a plurality of layers included in the moving picture and coding parameters related to individual layers. Sets are defined.

シーケンスパラメータセットSPSでは、対象シーケンスを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。 The sequence parameter set SPS defines a set of coding parameters that the moving image decoding apparatus 31 refers to in order to decode the target sequence. For example, the width and height of the picture are specified. There may be a plurality of SPSs. In that case, one of the plurality of SPSs is selected from the PPS.

ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。 The picture parameter set PPS defines a set of coding parameters that the moving picture decoding apparatus 31 refers to in order to decode each picture in the target sequence. For example, a quantization width reference value (pic_init_qp_minus26) used for decoding a picture and a flag (weighted_pred_flag) indicating application of weighted prediction are included. There may be a plurality of PPSs. In that case, one of the plurality of PPSs is selected from each picture in the target sequence.

(符号化ピクチャ)
符号化ピクチャでは、処理対象のピクチャPICTを復号するために動画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図4(b)に示すように、スライス0〜スライスNS-1を含む(NSはピクチャPICTに含まれるスライスの総数)。
(Encoded picture)
The coded picture defines a set of data that the moving picture decoding apparatus 31 refers to in order to decode the picture PICT to be processed. As shown in FIG. 4B, the picture PICT includes slice 0 to slice NS-1 (NS is the total number of slices included in the picture PICT).

なお、以下、スライス0〜スライスNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。 In addition, hereinafter, when it is not necessary to distinguish each of the slice 0 to the slice NS-1, the suffix of the code may be omitted. The same applies to other data that is included in the coded stream Te described below and that has a subscript.

(符号化スライス)
符号化スライスでは、処理対象のスライスSを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスは、図4(c)に示すように、スライスヘッダ、および、スライスデータを含んでいる。
(Encoding slice)
In the encoded slice, a set of data referred to by the video decoding device 31 in order to decode the slice S to be processed is defined. The slice contains a slice header and slice data, as shown in FIG. 4(c).

スライスヘッダには、対象スライスの復号方法を決定するために動画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダに含まれる符号化パラメータの一例である。 The slice header includes a coding parameter group referred to by the video decoding device 31 in order to determine the decoding method of the target slice. The slice type designation information (slice_type) that designates the slice type is an example of an encoding parameter included in the slice header.

スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P、Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。 The slice types that can be designated by the slice type designation information include (1) an I slice that uses only intra prediction during encoding, (2) a unidirectional prediction that uses encoding during prediction, or a P slice that uses intra prediction. (3) B slices using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding are included. Note that inter prediction is not limited to uni-prediction and bi-prediction, and a larger number of reference pictures may be used to generate a prediction image. Hereinafter, when the slices are referred to as P and B slices, they refer to slices including blocks that can use inter prediction.

なお、スライスヘッダは、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。 The slice header may include a reference (pic_parameter_set_id) to the picture parameter set PPS.

(符号化スライスデータ)
符号化スライスデータでは、処理対象のスライスデータを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図4(d)に示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
(Encoded slice data)
The encoded slice data defines a set of data that the moving image decoding apparatus 31 refers to in order to decode the slice data to be processed. The slice data includes a CTU as shown in FIG. 4(d). The CTU is a fixed-size (eg, 64x64) block that constitutes a slice, and is sometimes referred to as the maximum coding unit (LCU).

(符号化ツリーユニット)
図4(e)には、処理対象のCTUを復号するために動画像復号装置31が参照するデータの集合が規定されている。CTUは、再帰的な4分木分割(QT(Quad Tree)分割)、2分木分割(BT(Binary Tree)分割)あるいは3分木分割(TT(Ternary Tree)分割)により符号化処理の基本的な単位である符号化ユニットCUに分割される。BT分割とTT分割を合わせてマルチツリー分割(MT(Multi Tree)分割)と呼ぶ。再帰的な4分木分割により得られる木構造のノードのことを符号化ノード(Coding Node)と称する。4分木、2分木、及び3分木の中間ノードは、符号化ノードであり、CTU自身も最上位の符号化ノードとして規定される。
(Encoding tree unit)
In FIG. 4(e), a set of data referred to by the video decoding device 31 in order to decode the CTU to be processed is defined. CTU is the basic coding process by recursive quadtree partition (QT (Quad Tree) partition), binary tree partition (BT (Binary Tree) partition) or ternary tree partition (TT (Ternary Tree) partition). It is divided into coding units CU, which are the basic units. The BT partition and the TT partition are collectively called a multi-tree partition (MT (Multi Tree) partition). A tree-structured node obtained by recursive quadtree partitioning is called a coding node. Intermediate nodes of the quadtree, the binary tree, and the ternary tree are coding nodes, and the CTU itself is also defined as the uppermost coding node.

CTは、CT情報として、QT分割を行うか否かを示すQT分割フラグ(cu_split_flag)、MT分割の有無を示すMT分割フラグ(mtt_split_cu_flag)、MT分割の分割方向を示すMT分割方向(mtt_split_cu_vertical_flag)、MT分割の分割タイプを示すMT分割タイプ(mtt_split_cu_binary_flag)を含む。cu_split_flag、mtt_split_cu_flag、mtt_split_cu_vertical_flag、mtt_split_cu_binary_flagは符号化ノード毎に伝送される。 CT, as CT information, QT split flag (cu_split_flag) indicating whether to perform QT split, MT split flag (mtt_split_cu_flag) indicating the presence or absence of MT split, MT split direction indicating the split direction of MT split (mtt_split_cu_vertical_flag), The MT split type (mtt_split_cu_binary_flag) indicating the split type of MT split is included. cu_split_flag, mtt_split_cu_flag, mtt_split_cu_vertical_flag, mtt_split_cu_binary_flag are transmitted for each coding node.

cu_split_flagが1の場合、符号化ノードは4つの符号化ノードに分割される(図5(b))。 When cu_split_flag is 1, the coding node is divided into four coding nodes (Fig. 5(b)).

cu_split_flagが0の時、mtt_split_cu_flagが0の場合に符号化ノードは分割されず1つのCUをノードとして持つ(図5(a))。CUは符号化ノードの末端ノードであり、これ以上分割されない。CUは、符号化処理の基本的な単位となる。 When cu_split_flag is 0 and mtt_split_cu_flag is 0, the coding node is not split and has one CU as a node (FIG. 5(a)). The CU is the end node of the coding node and is not further divided. The CU is a basic unit of encoding processing.

mtt_split_cu_flagが1の場合に符号化ノードは以下のようにMT分割される。mtt_split_cu_binary_flagが1の時、mtt_split_cu_vertical_flagが0の場合に符号化ノードは2つの符号化ノードに水平分割され(図5(d))、mtt_split_cu_vertical_flagが1の場合に符号化ノードは2つの符号化ノードに垂直分割される(図5(c))。また、mtt_split_cu_binary_flagが0の時、mtt_split_cu_vertical_flagが0の場合に符号化ノードは3つの符号化ノードに水平分割され(図5(f))、mtt_split_cu_vertical_flagが1の場合に符号化ノードは3つの符号化ノードに垂直分割される(図5(e))。これらを図5(g)に示す。 When mtt_split_cu_flag is 1, the coding node is MT-split as follows. When mtt_split_cu_binary_flag is 1, when mtt_split_cu_vertical_flag is 0, the coding node is horizontally divided into two coding nodes (Fig. 5(d)), and when mtt_split_cu_vertical_flag is 1, the coding node is perpendicular to the two coding nodes. It is divided (Fig. 5(c)). Also, when mtt_split_cu_binary_flag is 0, when mtt_split_cu_vertical_flag is 0, the coding node is horizontally divided into 3 coding nodes (Fig. 5(f)), and when mtt_split_cu_vertical_flag is 1, the coding node is 3 coding nodes. Is vertically divided into two parts (Fig. 5(e)). These are shown in FIG. 5(g).

また、CTUのサイズが64x64画素の場合には、CUのサイズは、64x64画素、64x32画素、32x64画素、32x32画素、64x16画素、16x64画素、32x16画素、16x32画素、16x16画素、64x8画素、8x64画素、32x8画素、8x32画素、16x8画素、8x16画素、8x8画素、64x4画素、4x64画素、32x4画素、4x32画素、16x4画素、4x16画素、8x4画素、4x8画素、及び、4x4画素の何れかをとり得る。 When the CTU size is 64x64 pixels, the CU size is 64x64 pixels, 64x32 pixels, 32x64 pixels, 32x32 pixels, 64x16 pixels, 16x64 pixels, 32x16 pixels, 16x32 pixels, 16x16 pixels, 64x8 pixels, 8x64 pixels. , 32x8 pixels, 8x32 pixels, 16x8 pixels, 8x16 pixels, 8x8 pixels, 64x4 pixels, 4x64 pixels, 32x4 pixels, 4x32 pixels, 16x4 pixels, 4x16 pixels, 8x4 pixels, 4x8 pixels, and 4x4 pixels ..

(符号化ユニット)
図4(f)に示すように、処理対象の符号化ユニットを復号するために動画像復号装置31が参照するデータの集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメ
ータ、変換パラメータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
(Encoding unit)
As shown in FIG. 4(f), a set of data referred to by the video decoding device 31 for decoding the encoding unit to be processed is defined. Specifically, the CU includes a CU header CUH, a prediction parameter, a conversion parameter, a quantized conversion coefficient, and the like. The prediction mode etc. are specified in the CU header.

予測処理は、CU単位で行われる場合と、CUをさらに分割したサブCU単位で行われる場合がある。CUとサブCUのサイズが等しい場合には、CU中のサブCUは1つである。CUがサブCUのサイズよりも大きい場合、CUは、サブCUに分割される。たとえばCUが8x8、サブCUが4x4の場合、CUは水平2分割、垂直2分割からなる、4つのサブCUに分割される。 The prediction process may be performed in CU units or may be performed in sub CU units obtained by further dividing the CU. When the CU and the sub CU have the same size, there is one sub CU in the CU. If the CU is larger than the size of the sub CU, the CU is divided into sub CUs. For example, if the CU is 8x8 and the sub-CU is 4x4, the CU is divided into four sub-CUs, which are divided into two horizontally and vertically.

予測の種類(予測モード)は、イントラ予測と、インター予測の2つがある。イントラ予測は、同一ピクチャ内の予測であり、インター予測は、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。 There are two types of prediction (prediction mode): intra prediction and inter prediction. Intra-prediction refers to prediction within the same picture, and inter-prediction refers to prediction processing performed between different pictures (for example, between display times and between layer images).

変換・量子化処理はCU単位で行われるが、量子化変換係数は4x4等のサブブロック単位でエントロピー符号化してもよい。 The transform/quantization process is performed in CU units, but the quantized transform coefficients may be entropy coded in subblock units such as 4x4.

(予測パラメータ)
予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
(Prediction parameter)
The predicted image is derived from the prediction parameters associated with the block. The prediction parameters include intra prediction and inter prediction parameters.

以下、インター予測の予測パラメータについて説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、動きベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。 The prediction parameters of inter prediction will be described below. The inter prediction parameter is composed of prediction list use flags predFlagL0 and predFlagL1, reference picture indexes refIdxL0 and refIdxL1, and motion vectors mvL0 and mvL1. The prediction list use flags predFlagL0 and predFlagL1 are flags indicating whether or not reference picture lists called L0 list and L1 list are used, and the reference picture list corresponding to a value of 1 is used. In addition, in the present specification, when it is referred to as “a flag indicating whether it is XX”, a flag other than 0 (for example, 1) is XX, 0 is not XX, and logical negation, logical product, etc. Treat 1 as true and 0 as false (same below). However, in an actual device or method, other values can be used as the true value and the false value.

インター予測パラメータを導出するためのシンタックス要素には、例えば、マージモードで用いるアフィンフラグaffine_flag、マージフラグmerge_flag、マージインデックスmerge_idx、mmvd_flag、AMVPモードで、参照ピクチャを選択するためのインター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルを導出するための予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、差分ベクトル精度amvr_modeがある。 Syntax elements for deriving the inter prediction parameter, for example, affine flag affine_flag used in the merge mode, merge flag merge_flag, merge index merge_idx, mmvd_flag, AMVP mode, in the inter prediction identifier inter_pred_idc for selecting the reference picture, There are a reference picture index refIdxLX, a prediction vector flag mvp_LX_flag for deriving a motion vector, a difference vector mvdLX, and a difference vector precision amvr_mode.

(参照ピクチャリスト)
参照ピクチャリストは、参照ピクチャメモリ306に記憶された参照ピクチャからなるリストである。図6は、参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。図6(a)において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双予測ピクチャ、矩形中の数字は復号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図6(b)に、ピクチャB3(対象ピクチャ)の参照ピクチャリストの例を示す。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、1つのピクチャ(スライス)が1つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0およびL1リストRefPicList1の2つの参照ピクチャリストを持つ。個々のCUでは、参照ピクチャリストRefPicListX(X=0または1)中のどのピクチャを実際に参照するかを参照ピクチャインデックスrefIdxLXで指定する。図は、refIdxL0=2、refIdxL1=0の例である。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、以降では、LXをL0、L1に置き換えることでL0リストに対する
パラメータとL1リストに対するパラメータを区別する。
(Reference picture list)
The reference picture list is a list of reference pictures stored in the reference picture memory 306. FIG. 6 is a conceptual diagram showing an example of a reference picture and a reference picture list. In FIG. 6(a), a rectangle is a picture, an arrow is a picture reference relationship, a horizontal axis is time, I, P, and B in the rectangle are intra pictures, uni-predictive pictures, bi-predictive pictures, and numbers in the rectangle are decoded Show the order. As shown in the figure, the decoding order of pictures is I0, P1, B2, B3, B4, and the display order is I0, B3, B2, B4, P1. FIG. 6B shows an example of the reference picture list of the picture B3 (target picture). The reference picture list is a list showing candidates for reference pictures, and one picture (slice) may have one or more reference picture lists. In the illustrated example, the target picture B3 has two reference picture lists, an L0 list RefPicList0 and an L1 list RefPicList1. In each CU, the reference picture index refIdxLX specifies which picture in the reference picture list RefPicListX (X=0 or 1) is actually referred to. The figure shows an example of refIdxL0=2 and refIdxL1=0. It should be noted that LX is a description method used when the L0 prediction and the L1 prediction are not distinguished, and hereinafter, the parameters for the L0 list and the parameters for the L1 list are distinguished by replacing LX with L0 and L1.

(マージ予測とAMVP予測)
予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Advanced Motion Vector Prediction、適応動きベクトル予測)モードがあり、マージフラグmerge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍ブロックの予測パラメータ等から導出するモードである。AMVPモードは、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めるモードである。なお、動きベクトルmvLXは、予測ベクトルmvpLXを識別する予測ベクトルフラグmvp_LX_flagと差分ベクトルmvdLXとして符号化される。
(Merge prediction and AMVP prediction)
The prediction parameter decoding (encoding) methods include a merge prediction (merge) mode and an AMVP (Advanced Motion Vector Prediction) mode, and the merge flag merge_flag is a flag for identifying these. The merge prediction mode is a mode in which the prediction list use flag predFlagLX, the reference picture index refIdxLX, and the motion vector mvLX are not included in the encoded data but are derived from the prediction parameters of the already processed neighboring blocks. The AMVP mode is a mode in which the inter prediction identifier inter_pred_idc, the reference picture index refIdxLX, and the motion vector mvLX are included in the encoded data. The motion vector mvLX is encoded as a prediction vector flag mvp_LX_flag that identifies the prediction vector mvpLX and a difference vector mvdLX.

インター予測識別子inter_pred_idcは、参照ピクチャの種類および数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストで管理された1枚の参照ピクチャを用いる単予測を示す。PRED_BIはL0リストとL1リストで管理された2枚の参照ピクチャを用いる双予測BiPredを示す。 The inter-prediction identifier inter_pred_idc is a value indicating the type and number of reference pictures, and takes any value of PRED_L0, PRED_L1, and PRED_BI. PRED_L0 and PRED_L1 indicate uni-prediction using one reference picture managed in the L0 list and the L1 list, respectively. PRED_BI indicates bi-prediction BiPred using two reference pictures managed by the L0 list and the L1 list.

マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補(マージ候補)のうち、いずれの予測パラメータを対象ブロックの予測パラメータとして用いるかを示すインデックスである。 The merge index merge_idx is an index indicating which prediction parameter is used as the prediction parameter of the target block among the prediction parameter candidates (merge candidates) derived from the processed block.

(動きベクトル)
動きベクトルmvLXは、異なる2つのピクチャ上のブロック間のシフト量を示す。動きベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。
(Motion vector)
The motion vector mvLX indicates the shift amount between blocks on two different pictures. The prediction vector and the difference vector regarding the motion vector mvLX are called the prediction vector mvpLX and the difference vector mvdLX, respectively.

(インター予測識別子inter_pred_idcと予測リスト利用フラグpredFlagLX)
インター予測識別子inter_pred_idcと、予測リスト利用フラグpredFlagL0、predFlagL1の関係は以下のとおりであり、相互に変換可能である。
(Inter prediction identifier inter_pred_idc and prediction list usage flag predFlagLX)
The relationship between the inter prediction identifier inter_pred_idc and the prediction list use flags predFlagL0 and predFlagL1 is as follows, and they can be converted mutually.

inter_pred_idc = (predFlagL1<<1)+predFlagL0
predFlagL0 = inter_pred_idc & 1
predFlagL1 = inter_pred_idc >> 1
なお、インター予測パラメータは、予測リスト利用フラグを用いても良いし、インター予測識別子を用いてもよい。また、予測リスト利用フラグを用いた判定は、インター予測識別子を用いた判定に置き替えてもよい。逆に、インター予測識別子を用いた判定は、予測リスト利用フラグを用いた判定に置き替えてもよい。
inter_pred_idc = (predFlagL1<<1)+predFlagL0
predFlagL0 = inter_pred_idc & 1
predFlagL1 = inter_pred_idc >> 1
As the inter prediction parameter, a prediction list usage flag or an inter prediction identifier may be used. Further, the determination using the prediction list use flag may be replaced with the determination using the inter prediction identifier. Conversely, the determination using the inter prediction identifier may be replaced with the determination using the prediction list use flag.

(双予測biPredの判定)
双予測BiPredであるかのフラグbiPredは、2つの予測リスト利用フラグがともに1であるかによって導出できる。例えば以下の式で導出できる。
(Judgment of bi-predictive biPred)
The flag biPred indicating whether it is bi-prediction BiPred can be derived depending on whether the two prediction list use flags are both 1. For example, it can be derived by the following formula.

biPred = (predFlagL0==1 && predFlagL1==1)
あるいは、フラグbiPredは、インター予測識別子が2つの予測リスト(参照ピクチャ)を使うことを示す値であるか否かによっても導出できる。例えば以下の式で導出できる。
biPred = (predFlagL0==1 && predFlagL1==1)
Alternatively, the flag biPred can be derived depending on whether the inter prediction identifier is a value indicating that two prediction lists (reference pictures) are used. For example, it can be derived by the following formula.

biPred = (inter_pred_idc==PRED_BI) ? 1 : 0
(動画像復号装置の構成)
本実施形態に係る動画像復号装置31(図7)の構成について説明する。
biPred = (inter_pred_idc==PRED_BI) ?1: 0
(Structure of video decoding device)
The configuration of the moving picture decoding device 31 (FIG. 7) according to the present embodiment will be described.

動画像復号装置31は、エントロピー復号部301、パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312を含んで構成される。なお、後述の動画像符号化装置11に合わせ、動画像復号装置31にループフィルタ305が含まれない構成もある。 The moving image decoding device 31 includes an entropy decoding unit 301, a parameter decoding unit (prediction image decoding device) 302, a loop filter 305, a reference picture memory 306, a prediction parameter memory 307, a prediction image generation unit (prediction image generation device) 308, and an inverse. The quantization/inverse conversion unit 311 and the addition unit 312 are included. It should be noted that there is a configuration in which the moving image decoding device 31 does not include the loop filter 305 in accordance with the moving image encoding device 11 described later.

パラメータ復号部302は、さらに、ヘッダ復号部3020、CT情報復号部3021、及びCU復号部3022(予測モード復号部)を備えており、CU復号部3022はさらにTU復号部3024を備えている。これらを総称して復号モジュールと呼んでもよい。ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報、スライスヘッダ(スライス情報)を復号する。CT情報復号部3021は、符号化データからCTを復号する。CU復号部3022は符号化データからCUを復号する。TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を復号する。 The parameter decoding unit 302 further includes a header decoding unit 3020, a CT information decoding unit 3021, and a CU decoding unit 3022 (prediction mode decoding unit), and the CU decoding unit 3022 further includes a TU decoding unit 3024. These may be collectively referred to as a decoding module. The header decoding unit 3020 decodes the parameter set information such as VPS, SPS, PPS and the slice header (slice information) from the encoded data. The CT information decoding unit 3021 decodes the CT from the encoded data. The CU decoding unit 3022 decodes the CU from the encoded data. The TU decoding unit 3024 decodes the QP update information (quantization correction value) and the quantized prediction error (residual_coding) from the encoded data when the TU includes a prediction error.

また、パラメータ復号部302は、図示しないインター予測パラメータ導出部303及びイントラ予測パラメータ導出部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。 Further, the parameter decoding unit 302 is configured to include an inter prediction parameter derivation unit 303 and an intra prediction parameter derivation unit 304 (not shown). The predicted image generation unit 308 includes an inter predicted image generation unit 309 and an intra predicted image generation unit 310.

また、以降では処理の単位としてCTU、CUを使用した例を記載するが、この例に限らず、サブCU単位で処理をしてもよい。あるいはCTU、CU、をブロック、サブCUをサブブロックと読み替え、ブロックあるいはサブブロック単位の処理としてもよい。 Further, although an example in which CTU and CU are used as a processing unit is described below, the processing is not limited to this example, and processing may be performed in sub CU units. Alternatively, the CTU and CU may be read as a block and the sub CU may be read as a sub block, and processing may be performed in block or sub block units.

エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を復号する。エントロピー符号化には、シンタックス要素の種類や周囲の状況に応じて適応的に選択したコンテキスト(確率モデル)を用いてシンタックス要素を可変長符号化する方式と、あらかじめ定められた表、あるいは計算式を用いてシンタックス要素を可変長符号化する方式がある。前者のCABAC(Context Adaptive Binary Arithmetic Coding)は、符号化あるいは復号したピクチャ(スライス)毎に更新した確率モデルをメモリに格納する。そして、Pピクチャ、あるいはBピクチャのコンテキストの初期状態として、メモリに格納された確率モデルの中から、同じスライスタイプ、同じスライスレベルの量子化パラメータを使用したピクチャの確率モデルを設定する。この初期状態を符号化、復号処理に使用する。復号された符号には、予測画像を生成するための予測情報および、差分画像を生成するための予測誤差などがある。 The entropy decoding unit 301 performs entropy decoding on the coded stream Te input from the outside to decode individual codes (syntax elements). Entropy coding uses a variable-length coding method for syntax elements using a context (stochastic model) that is adaptively selected according to the type of syntax element and surrounding conditions, and a predetermined table or There is a method of variable length coding syntax elements using a calculation formula. In the former CABAC (Context Adaptive Binary Arithmetic Coding), a stochastic model updated for each encoded or decoded picture (slice) is stored in a memory. Then, as the initial state of the context of the P picture or the B picture, the probability model of the picture using the quantization parameter of the same slice type and the same slice level is set from the probability models stored in the memory. This initial state is used for encoding and decoding processing. The decoded code includes prediction information for generating a prediction image and prediction error for generating a difference image.

エントロピー復号部301は、復号した符号をパラメータ復号部302に出力する。復号した符号とは、例えば、予測モードpredMode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag(mvp_lx_flag)、差分ベクトルmvdLX、amvr_mode等である。どの符号を復号するかの制御は、パラメータ復号部302の指示に基づいて行われる。 The entropy decoding unit 301 outputs the decoded code to the parameter decoding unit 302. The decoded code is, for example, the prediction mode predMode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag(mvp_lx_flag), difference vector mvdLX, amvr_mode. Control of which code is decoded is performed based on an instruction from the parameter decoding unit 302.

(基本フロー)
図8は、動画像復号装置31の概略的動作を説明するフローチャートである。
(Basic flow)
FIG. 8 is a flowchart illustrating a schematic operation of the moving picture decoding apparatus 31.

(S1100:パラメータセット情報復号)ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報を復号する。 (S1100: Decoding of parameter set information) The header decoding unit 3020 decodes parameter set information such as VPS, SPS, PPS from the encoded data.

(S1200:スライス情報復号)ヘッダ復号部3020は、符号化データからスライスヘッダ
(スライス情報)を復号する。
(S1200: Slice Information Decoding) The header decoding unit 3020 decodes the slice header (slice information) from the encoded data.

以下、動画像復号装置31は、対象ピクチャに含まれる各CTUについて、S1300からS5000の処理を繰り返すことにより各CTUの復号画像を導出する。 Hereinafter, the video decoding device 31 derives a decoded image of each CTU by repeating the processes of S1300 to S5000 for each CTU included in the target picture.

(S1300:CTU情報復号)CT情報復号部3021は、符号化データからCTUを復号する。 (S1300: CTU information decoding) The CT information decoding unit 3021 decodes the CTU from the encoded data.

(S1400:CT情報復号)CT情報復号部3021は、符号化データからCTを復号する。 (S1400: Decoding CT information) The CT information decoding unit 3021 decodes the CT from the encoded data.

(S1500:CU復号)CU復号部3022はS1510、S1520を実施して、符号化データからCUを復号する。 (S1500: CU Decoding) The CU decoding unit 3022 executes S1510 and S1520 to decode the CU from the encoded data.

(S1510:CU情報復号)CU復号部3022は、符号化データからCU情報、予測情報、TU分割フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を復号する。 (S1510: CU information decoding) The CU decoding unit 3022 decodes CU information, prediction information, TU division flag split_transform_flag, CU residual flags cbf_cb, cbf_cr, cbf_luma, etc. from encoded data.

(S1520:TU情報復号)TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値である。 (S1520: TU information decoding) The TU decoding unit 3024 decodes the QP update information (quantization correction value) and the quantized prediction error (residual_coding) from the encoded data when the TU includes a prediction error. The QP update information is a difference value from the quantization parameter prediction value qPpred that is the prediction value of the quantization parameter QP.

(S2000:予測画像生成)予測画像生成部308は、対象CUに含まれる各ブロックについて、予測情報に基づいて予測画像を生成する。 (S2000: Prediction Image Generation) The prediction image generation unit 308 generates a prediction image for each block included in the target CU based on the prediction information.

(S3000:逆量子化・逆変換)逆量子化・逆変換部311は、対象CUに含まれる各TUについて、逆量子化・逆変換処理を実行する。 (S3000: Inverse Quantization/Inverse Transform) The inverse quantization/inverse transform unit 311 executes an inverse quantization/inverse transform process for each TU included in the target CU.

(S4000:復号画像生成)加算器312は、予測画像生成部308より供給される予測画像と、逆量子化・逆変換部311より供給される予測誤差とを加算することによって、対象CUの復号画像を生成する。 (S4000: Decoded image generation) The adder 312 adds the prediction image supplied from the prediction image generation unit 308 and the prediction error supplied from the inverse quantization/inverse conversion unit 311 to decode the target CU. Generate an image.

(S5000:ループフィルタ)ループフィルタ305は、復号画像にデブロッキングフィルタ、SAO、ALFなどのループフィルタをかけ、復号画像を生成する。 (S5000: Loop Filter) The loop filter 305 applies a loop filter such as a deblocking filter, SAO or ALF to the decoded image to generate a decoded image.

(CT情報復号の処理)
以下、CT情報復号の処理を、図9、図10、図11を参照して説明する。図9は、本発明の一実施形態に係るCT情報復号部3021の動作を説明するフローチャートである。また、図10は、本発明の一実施形態に係るCTUおよびQT情報のシンタックス表の構成例を示す図であり、図11は、本発明の一実施形態に係るMT分割情報のシンタックス表の構成例を示す図である。
(Process of decrypting CT information)
The CT information decoding process will be described below with reference to FIGS. 9, 10, and 11. FIG. 9 is a flowchart explaining the operation of the CT information decoding unit 3021 according to the embodiment of the present invention. Further, FIG. 10 is a diagram showing a configuration example of a CTU and QT information syntax table according to an embodiment of the present invention, and FIG. 11 is a MT division information syntax table according to an embodiment of the present invention. It is a figure which shows the structural example of.

CT情報復号部3021は符号化データからCT情報を復号し、再帰的に符号化ツリーCT(coding_quadtree)を復号する。具体的には、CT情報復号部3021はQT情報を復号し、対象CT coding_quadtree(x0,y0,log2CbSize,cqtDepth)を復号する。なお、(x0,y0)は対象CTの左上座標、log2CbSizeはCTのサイズであるCTサイズの2を底とした対数である対数CTサイズ、cqtDepthはCTの階層を示すCTデプス(QT深度)である。 The CT information decoding unit 3021 decodes CT information from coded data and recursively decodes a coding tree CT (coding_quadtree). Specifically, the CT information decoding unit 3021 decodes the QT information and decodes the target CT coding_quadtree(x0,y0,log2CbSize,cqtDepth). Note that (x0,y0) is the upper left coordinate of the target CT, log2CbSize is the logarithmic CT size that is the logarithm of the CT size, which is the CT size, and is the base 2, and cqtDepth is the CT depth (QT depth) that indicates the CT hierarchy. is there.

(S1411)CT情報復号部3021は復号したCT情報にQT分割フラグがあるか否かを判定する。QT分割フラグがある場合にはS1421に遷移し、それ以外の場合にはS1422に遷移する。 (S1411) The CT information decoding unit 3021 determines whether the decoded CT information has a QT division flag. If there is a QT division flag, the process transitions to S1421, and otherwise, the process transitions to S1422.

(S1421)CT情報復号部3021は、対数CTサイズlog2CbSizeがMinCbLog2SizeYより大きい
と判定された場合には、QT分割フラグ(split_cu_flag)を復号する。
(S1421) The CT information decoding unit 3021 decodes the QT split flag (split_cu_flag) when it is determined that the logarithmic CT size log2CbSize is larger than MinCbLog2SizeY.

(S1422)CT情報復号部3021は、それ以外の場合には、符号化データからのQT分割フラグsplit_cu_flagの復号を省略し、QT分割フラグsplit_cu_flagに0をセットする。 (S1422) In other cases, the CT information decoding unit 3021 omits the decoding of the QT division flag split_cu_flag from the encoded data, and sets 0 to the QT division flag split_cu_flag.

(S1450)QT分割フラグsplit_cu_flagが0以外である場合にはS1451に遷移し、それ以外の場合にはS1471に遷移する。 (S1450) If the QT split flag split_cu_flag is other than 0, the process transitions to S1451; otherwise, the process transitions to S1471.

(S1451)CT情報復号部3021はQT分割を行う。具体的には、CT情報復号部3021は、CTデプスcqtDepth+1の位置(x0,y0)、(x1,y0)、(x0,y1)、(x1,y1)において、対数CTサイズlog2CbSize-1の4つのCTを復号する。なお、QT分割された符号化ノードのpartIdxは左上、右上、左下、右下の順に0, 1, 2, 3で割り当てる。 (S1451) The CT information decoding unit 3021 performs QT division. Specifically, the CT information decoding unit 3021 is a logarithmic CT size log2CbSize-1 at the positions (x0,y0), (x1,y0), (x0,y1), and (x1,y1) of the CT depth cqtDepth+1. Decode 4 CTs. The partIdx of the QT-divided coding node is assigned 0, 1, 2, 3 in the order of upper left, upper right, lower left, and lower right.

coding_quadtree(x0,y0,log2CbSize-1,cqtDepth+1, 0) // 左上
coding_quadtree(x1,y0,log2CbSize-1,cqtDepth+1, 1) // 右上
coding_quadtree(x0,y1,log2CbSize-1,cqtDepth+1, 2) // 左下
coding_quadtree(x1,y1,log2CbSize-1,cqtDepth+1, 3) // 右上
ここで、(x0,y0)は対象CTの左上座標、(x1,y1)は以下の式のように(x0,y0)にCTサイズ(1<<log2CbSize)の1/2を加えて導出される。
coding_quadtree(x0,y0,log2CbSize-1,cqtDepth+1, 0) // upper left
coding_quadtree(x1,y0,log2CbSize-1,cqtDepth+1, 1) // upper right
coding_quadtree(x0,y1,log2CbSize-1,cqtDepth+1, 2) // bottom left
coding_quadtree(x1,y1,log2CbSize-1,cqtDepth+1, 3) // upper right where (x0,y0) is the upper left coordinate of the target CT and (x1,y1) is (x0,y0) ) Is added with 1/2 of the CT size (1<<log2CbSize).

x1 = x0+(1<<(log2CbSize-1))
y1 = y0+(1<<(log2CbSize-1))
1<<Nは2のN乗と同値である(以下同様)。
x1 = x0+(1<<(log2CbSize-1))
y1 = y0+(1<<(log2CbSize-1))
1<<N is the same as 2 to the Nth power (the same applies below).

そして、CT情報復号部3021は、下式のように、CTの階層を示すCTデプスcqtDepthと対数CTサイズlog2CbSizeを更新する。 Then, the CT information decoding unit 3021 updates the CT depth cqtDepth indicating the CT hierarchy and the logarithmic CT size log2CbSize as in the following formula.

cqtDepth = cqtDepth+1
log2CbSize = log2CbSize-1
CT情報復号部3021は、下位のCTにおいても、更新された左上座標、対数CTサイズ、CTデプスを用いて、S1411から開始されるQT情報復号を継続する。
cqtDepth = cqtDepth+1
log2CbSize = log2CbSize-1
The CT information decoding unit 3021 continues the QT information decoding starting from S1411 using the updated upper left coordinate, logarithmic CT size, and CT depth even in the lower CT.

QT分割終了後、CT情報復号部3021は符号化データからCT情報を復号し、再帰的に符号化ツリーCT(MT、multi_type_tree)を復号する。具体的には、CT情報復号部3021は、MT分割情報を復号し、対象CT multi_type_tree(x0,y0,cbWidth,cbHeight,mttDepth,doft,partIdx,treeType)を復号する。なお、cbWidthはCTの幅、cbHeightはCTの高さ、mttDepthはマルチツリーの階層を示すCTデプス(MT深度)、doftはdepthOffset、treeTypeは、SINGLE_TREE、DUAL_TREE_LUMA、DUAL_TREE_CHROMAのいずれかである。 After the QT division is completed, the CT information decoding unit 3021 decodes the CT information from the coded data and recursively decodes the coded tree CT (MT, multi_type_tree). Specifically, the CT information decoding unit 3021 decodes the MT partition information, and decodes the target CT multi_type_tree(x0,y0,cbWidth,cbHeight,mttDepth,doft,partIdx,treeType). Note that cbWidth is the width of CT, cbHeight is the height of CT, mttDepth is CT depth (MT depth) indicating the hierarchy of multi-tree, doft is depthOffset, and treeType is one of SINGLE_TREE, DUAL_TREE_LUMA, DUAL_TREE_CHROMA.

(S1471)CT情報復号部3021は、復号したCT情報にMT分割フラグ(分割情報)があるか否かを判定する。MT分割フラグがある場合にはS1481に遷移する。それ以外の場合にはS1482に遷移する。 (S1471) The CT information decoding unit 3021 determines whether the decoded CT information has an MT division flag (division information). If there is an MT division flag, the process moves to S1481. In other cases, the process proceeds to S1482.

(S1481)CT情報復号部3021はMT分割フラグmtt_split_cu_flagを復号する。 (S1481) The CT information decoding unit 3021 decodes the MT split flag mtt_split_cu_flag.

(S1482)CT情報復号部3021は符号化データからMT分割フラグmtt_split_cu_flagを復号せず、0に設定する。 (S1482) The CT information decoding unit 3021 sets the MT split flag mtt_split_cu_flag to 0 without decoding it from the encoded data.

(S1490)CT情報復号部3021は、MT分割フラグmtt_split_cu_flagが0以外の場合には、S1491に遷移する。それ以外の場合には、CT情報復号部3021は対象CTを分割せず、処理を
終了する(CUの復号に移行する)。
(S1490) If the MT division flag mtt_split_cu_flag is other than 0, the CT information decoding unit 3021 transitions to S1491. In other cases, the CT information decoding unit 3021 does not divide the target CT and ends the process (shifts to CU decoding).

(S1491)CT情報復号部3021はMT分割を行う。MT分割の方向を示すフラグmtt_split_cu_vertical_flagと、MT分割が2分木であるか3分木であるかを示すシンタックス要素mtt_split_cu_binary_flagを復号する。MT分割された符号化ノードのpartIdxは左から順に0, 1, 2が割り当てられ、上から下に順に0, 1, 2が割り当てられる。BTの場合には0, 1を順に割り当てる。CT情報復号部3021は、MT分割タイプmtt_split_cu_binary_flagが1(2分割)、かつ、MT分割方向mtt_split_cu_vertical_flagが0(水平分割)の場合は、以下の2つのCTを復号(BT分割情報復号)する。 (S1491) The CT information decoding unit 3021 performs MT division. A flag mtt_split_cu_vertical_flag indicating the direction of MT division and a syntax element mtt_split_cu_binary_flag indicating whether the MT division is a binary tree or a ternary tree are decoded. PartIdx of the MT-divided coding node is assigned 0, 1, 2 from the left, and 0, 1, 2 is assigned from the top to the bottom. In the case of BT, 0 and 1 are assigned in order. When the MT division type mtt_split_cu_binary_flag is 1 (two divisions) and the MT division direction mtt_split_cu_vertical_flag is 0 (horizontal division), the CT information decoding unit 3021 decodes the following two CTs (BT division information decoding).

multi_type_tree(x0,y0,cbWidth,cbHeight/2,mttDepth+1,doft,0,treeType)
multi_type_tree(x0,y1,cbWidth,cbHeight/2,mttDepth+1,doft,1,treeType)
一方、MT分割方向mtt_split_cu_vertical_flagが1(垂直分割)の場合は、以下の2つのCTを復号(BT分割情報復号)する。
multi_type_tree(x0,y0,cbWidth,cbHeight/2,mttDepth+1,doft,0,treeType)
multi_type_tree(x0,y1,cbWidth,cbHeight/2,mttDepth+1,doft,1,treeType)
On the other hand, when the MT division direction mtt_split_cu_vertical_flag is 1 (vertical division), the following two CTs are decoded (BT division information decoding).

multi_type_tree(x0,y0,cbWidth/2,cbHeight,mttDepth+1,doft,0,treeType)
multi_type_tree(x1,y0,cbWidth/2,cbHeight,mttDepth+1,doft,1,treeType)
ここで、(x1,y1)は以下の式で導出される。
multi_type_tree(x0,y0,cbWidth/2,cbHeight,mttDepth+1,doft,0,treeType)
multi_type_tree(x1,y0,cbWidth/2,cbHeight,mttDepth+1,doft,1,treeType)
Here, (x1, y1) is derived by the following equation.

x1 = x0+cbWidth/2
y1 = y0+cbHeight/2
さらに、cbWidth、または、cbHeightを下式のように更新する。
x1 = x0+cbWidth/2
y1 = y0+cbHeight/2
Furthermore, update cbWidth or cbHeight as the following formula.

cbWidth = cbWidth/2
cbHeight = cbHeight/2
CT情報復号部3021は、MT分割タイプmtt_split_cu_binary_flagが0(3分割)を示す場合には、3つのCTを復号(TT分割情報復号)する。
cbWidth = cbWidth/2
cbHeight = cbHeight/2
When the MT division type mtt_split_cu_binary_flag indicates 0 (3 divisions), the CT information decoding unit 3021 decodes 3 CTs (TT division information decoding).

MT分割方向mtt_split_cu_vertical_flagが0(水平分割)の場合は、以下の3つのCTを復号する。 When the MT division direction mtt_split_cu_vertical_flag is 0 (horizontal division), the following three CTs are decoded.

multi_type_tree(x0,y0,cbWidth,cbHeight/4,mttDepth+1,doft,0,treeType)
multi_type_tree(x0,y1,cbWidth,cbHeight/2,mttDepth+1,doft,1,treeType)
multi_type_tree(x0,y2,cbWidth,cbHeight/4,mttDepth+1,doft,2,treeType)
一方、MT分割方向mtt_split_cu_vertical_flagが1(垂直分割)の場合は、以下の3つのCTを復号(TT分割情報復号)する。
multi_type_tree(x0,y0,cbWidth,cbHeight/4,mttDepth+1,doft,0,treeType)
multi_type_tree(x0,y1,cbWidth,cbHeight/2,mttDepth+1,doft,1,treeType)
multi_type_tree(x0,y2,cbWidth,cbHeight/4,mttDepth+1,doft,2,treeType)
On the other hand, when the MT division direction mtt_split_cu_vertical_flag is 1 (vertical division), the following three CTs are decoded (TT division information decoding).

multi_type_tree(x0,y0,cbWidth/4,cbHeight,mttDepth+1,doft,0,treeType)
multi_type_tree(x1,y0,cbWidth/2,cbHeight,mttDepth+1,doft,1,treeType)
multi_type_tree(x2,y0,cbWidth/4,cbHeight,mttDepth+1,doft,2,treeType)
ここで、(x1,y1)、(x2,y2)は、以下の式のように、導出される。
multi_type_tree(x0,y0,cbWidth/4,cbHeight,mttDepth+1,doft,0,treeType)
multi_type_tree(x1,y0,cbWidth/2,cbHeight,mttDepth+1,doft,1,treeType)
multi_type_tree(x2,y0,cbWidth/4,cbHeight,mttDepth+1,doft,2,treeType)
Here, (x1, y1) and (x2, y2) are derived as in the following equations.

x1 = x0+cbWidth/4
y1 = y0+cbHeight/4
x2 = x0+3*cbWidth/4
y2 = y0+3*cbHeight/4
CT情報復号部3021は、下位のCTにおいても、更新された左上座標、CTの幅及び高さ、MT深度を用いて、S1471から開始されるBT分割情報復号、あるいは、TT分割情報復号を継続する。
x1 = x0+cbWidth/4
y1 = y0+cbHeight/4
x2 = x0+3*cbWidth/4
y2 = y0+3*cbHeight/4
The CT information decoding unit 3021 continues the BT division information decoding starting from S1471 or the TT division information decoding using the updated upper left coordinate, CT width and height, MT depth also in the lower CT. To do.

また、CT情報復号部3021は、MT分割フラグmtt_split_cu_flagが0の場合、すなわちQT分割もMT分割も行われない場合には、CU復号部3022でCU(coding_unit(x0,y0,cbWidth, cbHeight))を復号する。 When the MT division flag mtt_split_cu_flag is 0, that is, when neither QT division nor MT division is performed, the CT information decoding unit 3021 uses CU (coding_unit(x0,y0,cbWidth, cbHeight)) in the CU decoding unit 3022. Decrypt.

また、パラメータ復号部302は、図示しないインター予測パラメータ導出部303及びイントラ予測パラメータ導出部304を含んで構成される。予測画像生成部308は、図示しないインター予測画像生成部309及びイントラ予測画像生成部3021を含んで構成される。 Further, the parameter decoding unit 302 is configured to include an inter prediction parameter derivation unit 303 and an intra prediction parameter derivation unit 304 (not shown). The predicted image generation unit 308 is configured to include an inter predicted image generation unit 309 and an intra predicted image generation unit 3021 (not shown).

(インター予測パラメータ導出部の構成)
インター予測パラメータ導出部303は、エントロピー復号部301もしくは符号化パラメータ決定部110から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを導出する。また、インター予測パラメータ導出部303で導出されたインター予測パラメータを、予測画像生成部308に出力し、予測パラメータメモリ307に記憶する。インター予測パラメータ導出部303及びその内部の要素AMVP予測パラメータ導出部3032、マージ予測パラメータ導出部3036、アフィン予測部30372、MMVD予測部30373は、符号化装置、復号装置で共通する手段であるので、これらを総称して動きベクトル導出部(動きベクトル導出装置)と称してもよい。
(Configuration of inter prediction parameter derivation unit)
The inter-prediction parameter deriving unit 303 derives the inter-prediction parameter with reference to the prediction parameter stored in the prediction parameter memory 307 based on the code input from the entropy decoding unit 301 or the coding parameter determination unit 110. Also, the inter prediction parameters derived by the inter prediction parameter derivation unit 303 are output to the prediction image generation unit 308 and stored in the prediction parameter memory 307. Inter prediction parameter derivation unit 303 and its internal element AMVP prediction parameter derivation unit 3032, merge prediction parameter derivation unit 3036, affine prediction unit 30372, MMVD prediction unit 30373, since the encoding device, a means common to the decoding device, These may be collectively referred to as a motion vector deriving unit (motion vector deriving device).

図12(a)は、本実施形態に係るインター予測パラメータ導出部303の構成を示す概略図である。インター予測パラメータ導出部303は、AMVP予測パラメータ導出部3032、マージ予測パラメータ導出部3036、アフィン予測部30372、MMVD予測部30373を含んで構成される。AMVP予測パラメータ導出部3032、マージ予測パラメータ導出部3036、アフィン予測部30372、MMVD予測部30373は、符号化装置、復号装置で共通する手段であるので、これらを総称して動きベクトル導出部(動きベクトル導出装置)と称してもよい。 FIG. 12(a) is a schematic diagram showing the configuration of the inter prediction parameter derivation unit 303 according to this embodiment. The inter prediction parameter derivation unit 303 includes an AMVP prediction parameter derivation unit 3032, a merge prediction parameter derivation unit 3036, an affine prediction unit 30372, and an MMVD prediction unit 30373. Since the AMVP prediction parameter derivation unit 3032, the merge prediction parameter derivation unit 3036, the affine prediction unit 30372, and the MMVD prediction unit 30373 are means common to the encoding device and the decoding device, they are collectively referred to as a motion vector derivation unit (motion Vector derivation device).

アフィンフラグaffine_flagが1、すなわち、アフィン予測モードを示す場合、アフィン予測部30372は、サブブロックのインター予測パラメータを導出する。 When the affine flag affine_flag is 1, that is, the affine prediction mode is indicated, the affine prediction unit 30372 derives the inter prediction parameter of the sub block.

MMVDフラグmmvd_flagが1、すなわち、MMVD予測モードを示す場合、MMVD予測部30373は、マージ予測パラメータ導出部3036で導出されるマージ候補と差分ベクトルからインター予測パラメータを導出する。 When the MMVD flag mmvd_flag is 1, that is, indicates the MMVD prediction mode, the MMVD prediction unit 30373 derives the inter prediction parameter from the merge candidate and the difference vector derived by the merge prediction parameter derivation unit 3036.

マージフラグmerge_flagが1、すなわち、マージ予測モードを示す場合、マージインデックスmerge_idxを復号し、マージ予測パラメータ導出部3036に出力する。 When the merge flag merge_flag is 1, that is, indicates the merge prediction mode, the merge index merge_idx is decoded and output to the merge prediction parameter derivation unit 3036.

マージフラグmerge_flagが0、すなわち、AMVP予測モードを示す場合、AMVP予測パラメータ導出部3032はインター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLXから予測ベクトルフラグmvp_LX_flagから予測ベクトルmvpLXを導出する。 When the merge flag merge_flag is 0, that is, when it indicates the AMVP prediction mode, the AMVP prediction parameter derivation unit 3032 derives the prediction vector mvpLX from the prediction vector flag mvp_LX_flag from the inter prediction identifier inter_pred_idc and the reference picture index refIdxLX.

(MV加算部)
MV加算部3038では導出された予測ベクトルmvpLXと差分ベクトルmvdLXを加算し、動きベクトルmvLXを導出する。
(MV adder)
The MV adding unit 3038 adds the derived prediction vector mvpLX and the difference vector mvdLX to derive the motion vector mvLX.

(アフィン予測部)
アフィン予測部30372は対象ブロックのアフィン予測パラメータを導出する。本実施形態では、アフィン予測パラメータとして、対象ブロックの2つの制御点(V0、V1)の動きベクトル(mv0_x,mv0_y)(mv1_x,mv1_y)を導出する。具体的には、対象ブロックの隣接ブロックの動きベクトルから予測することにより、各制御点の動きベクトルを導出してもよいし、制御点の動きベクトルとして導出された予測ベクトルと符号化データから導出される差分ベクトルの和により、各制御点の動きベクトルを導出してもよい。
(Affine prediction unit)
The affine prediction unit 30372 derives the affine prediction parameter of the target block. In this embodiment, the motion vectors (mv0_x, mv0_y) (mv1_x, mv1_y) of the two control points (V0, V1) of the target block are derived as affine prediction parameters. Specifically, the motion vector of each control point may be derived by predicting from the motion vector of the block adjacent to the target block, or derived from the prediction vector derived as the motion vector of the control point and the encoded data. The motion vector of each control point may be derived from the sum of the difference vectors.

(マージ予測)
図13(a)は、本実施形態に係るマージ予測パラメータ導出部3036の構成を示す概略図である。マージ予測パラメータ導出部3036は、マージ候補導出部30361、マージ候補選択部30362を備える。なお、マージ候補は、予測リスト利用フラグpredFlagLX、動きベクトルmvLX、参照ピクチャインデックスrefIdxLXを含んで構成され、マージ候補リストに格納される。マージ候補リストに格納されたマージ候補には、所定の規則に従ってインデックスが割り当てられる。
(Merge prediction)
FIG. 13A is a schematic diagram showing the configuration of the merge prediction parameter derivation unit 3036 according to the present embodiment. The merge prediction parameter derivation unit 3036 includes a merge candidate derivation unit 30361 and a merge candidate selection unit 30362. The merge candidate is configured to include the prediction list use flag predFlagLX, the motion vector mvLX, and the reference picture index refIdxLX, and is stored in the merge candidate list. An index is assigned to the merge candidates stored in the merge candidate list according to a predetermined rule.

マージ候補導出部30361は、復号済の隣接ブロックの動きベクトルと参照ピクチャインデックスrefIdxLXをそのまま用いてマージ候補を導出する。それ以外に、マージ候補導出部30361は、後述する空間マージ候補導出処理、時間マージ候補導出処理、結合マージ候補導出処理、およびゼロマージ候補導出処理、時空間マージ候補導出処理を適用してもよい。 The merge candidate derivation unit 30361 derives a merge candidate by using the motion vector of the decoded adjacent block and the reference picture index refIdxLX as they are. In addition, the merge candidate derivation unit 30361 may apply a spatial merge candidate derivation process, a temporal merge candidate derivation process, a combined merge candidate derivation process, a zero merge candidate derivation process, and a spatiotemporal merge candidate derivation process, which will be described later.

(空間マージ候補導出処理)
空間マージ候補導出処理として、マージ候補導出部30361は、所定の規則に従って、予測パラメータメモリ307が記憶している予測パラメータ(予測リスト利用フラグpredFlagLX、動きベクトルmvLX、参照ピクチャインデックスrefIdxLX)を読み出し、マージ候補に設定する。参照ピクチャの指定方法は、例えば、対象ブロックから予め定めた範囲内にある隣接ブロック(例えば、対象ブロックの左端L、左下端BL、左上端AL、上端A、右上端ARにそれぞれ接するブロックの全部または一部)のそれぞれに係る予測パラメータである。各々のマージ候補をL, BL, AL, A, ARと呼ぶ。
(Spatial merge candidate derivation process)
As the spatial merge candidate derivation process, the merge candidate derivation unit 30361 reads the prediction parameters (prediction list use flag predFlagLX, motion vector mvLX, reference picture index refIdxLX) stored in the prediction parameter memory 307 according to a predetermined rule, and merges them. Set as a candidate. The reference picture is specified by, for example, adjacent blocks within a predetermined range from the target block (for example, the left edge L, the left lower edge BL, the upper left edge AL, the upper edge A, and all the blocks that respectively contact the upper right edge AR of the target block). (Or some). Each merge candidate is called L, BL, AL, A, AR.

(時間マージ候補導出処理)
時間マージ導出処理として、マージ候補導出部30361は、対象ブロックの右下CBR、あるいは、中央の座標を含む参照画像中のブロックCの予測パラメータを、予測パラメータメモリ307から読み出してマージ候補とし、マージ候補リストmergeCandList[]に格納する。
(Time merge candidate derivation process)
As the temporal merge derivation process, the merge candidate derivation unit 30361 reads the prediction parameter of the block C in the lower right CBR of the target block or the reference image including the coordinates of the center from the prediction parameter memory 307 as a merge candidate, and merges it. Store in candidate list mergeCandList[].

マージ候補導出部30361は、マージ候補リストに格納された2つの異なるマージ候補の動きベクトルと参照ピクチャインデックスを、それぞれL0、L1の動きベクトルとして組み合わせることで結合マージ候補を導出する。結合マージ候補をC0MBと呼ぶ。 The merge candidate derivation unit 30361 derives a combined merge candidate by combining the motion vectors of two different merge candidates and the reference picture index stored in the merge candidate list as motion vectors of L0 and L1, respectively. The merge merge candidate is called C0MB.

(ゼロマージ候補導出処理)
マージ候補導出部30361は、参照ピクチャインデックスrefIdxLXが0…Mであり、動きベクトルmvLXのX成分、Y成分が共に0であるゼロマージ候補Z0,…,ZMを導出しマージ候補リストに格納する。
(Zero merge candidate derivation process)
The merge candidate derivation unit 30361 derives zero merge candidates Z0,..., ZM in which the reference picture index refIdxLX is 0... M, and the X component and Y component of the motion vector mvLX are both 0, and stores them in the merge candidate list.

マージ候補リストmergeCandList[]に格納する順番は、例えば、空間マージ候補、時間マージ候補、結合マージ候補、ゼロマージ候補、つまり{L,A,AR,BL,A,COL,COMB0,..,COMBM,Z0,Z1,…,ZM}である。なお、利用可能でない(ブロックがイントラ予測等)参照ブロックはマージ候補リストに格納しない。 The order of storing in merge candidate list mergeCandList[] is, for example, spatial merge candidate, temporal merge candidate, join merge candidate, zero merge candidate, that is, {L,A,AR,BL,A,COL,COMB0,..,COMBM, Z0,Z1,...,ZM}. Reference blocks that are not available (blocks are intra-predicted, etc.) are not stored in the merge candidate list.

マージ候補選択部30362は、マージ候補リストに含まれるマージ候補のうち、マージインデックスmerge_idxが割り当てられたマージ候補mergeCandList[merge_idx]を、対象ブロックのインター予測パラメータとして選択する。マージ候補選択部30362は選択したマージ候補を予測パラメータメモリ307に記憶するとともに、予測画像生成部308に出力する。 The merge candidate selecting unit 30362 selects the merge candidate mergeCandList[merge_idx] to which the merge index merge_idx is assigned from the merge candidates included in the merge candidate list as the inter prediction parameter of the target block. The merge candidate selection unit 30362 stores the selected merge candidate in the prediction parameter memory 307 and outputs it to the predicted image generation unit 308.

(時空間マージ候補導出処理)
マージ候補導出部30361は、時間的に対象ブロックに隣接する参照画像上(たとえば直前のピクチャ)のブロックの動きベクトル、もしくは、空間的に対象ブロックに隣接するブロックの動きベクトルから、対象ブロックを分割して得られるサブブロックの動きベクトルを導出する。具体的には、対象ブロックが参照する参照ピクチャに合わせて、参照画像上のブロックの動きベクトルをスケーリングすることにより、対象ブロック中の各サブブロックの動きベクトルspMvLX[xi][yi] (xi=xPb+sbW*i, yj=yPb+sbH*j, i=0,1,2,・・・,bW/sbW-1、j=0,1,2,・・・,bH/sbH-1)を導出する。ここで、(xPb,yPb)は対象ブロックの左上座標、bW、bHは対象ブロックのサイズ、sbW、sbHはサブブロックの幅と高さである。
(Spatiotemporal merge candidate derivation process)
The merge candidate derivation unit 30361 divides the target block from the motion vector of the block on the reference image (for example, the immediately preceding picture) temporally adjacent to the target block or the motion vector of the block spatially adjacent to the target block. Then, the motion vector of the sub-block obtained is derived. Specifically, by scaling the motion vector of the block on the reference image in accordance with the reference picture referenced by the target block, the motion vector spMvLX[xi][yi] (xi= xPb+sbW*i, yj=yPb+sbH*j, i=0,1,2,...,bW/sbW-1, j=0,1,2,...,bH/sbH-1) Derive. Here, (xPb, yPb) is the upper left coordinate of the target block, bW and bH are the size of the target block, and sbW and sbH are the width and height of the sub block.

(MMVD予測部30373)
MMVD予測部30373は、マージ候補導出部30361で導出した中心ベクトルに、差分ベクトルを加算して動きベクトルを導出する。
(MMVD prediction unit 30373)
The MMVD prediction unit 30373 derives a motion vector by adding the difference vector to the center vector derived by the merge candidate derivation unit 30361.

(AMVP予測)
図13(b)は、本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図である。AMVP予測パラメータ導出部3032は、ベクトル候補導出部3033とベクトル候補選択部3034を備える。ベクトル候補導出部3033は、参照ピクチャインデックスrefIdxLXに基づいて予測パラメータメモリ307が記憶する復号済みの隣接ブロックの動きベクトルmvLXから予測ベクトル候補を導出し、予測ベクトル候補リストmvpListLX[]に格納する。
(AMVP prediction)
FIG. 13(b) is a schematic diagram showing the configuration of the AMVP prediction parameter derivation unit 3032 according to this embodiment. The AMVP prediction parameter derivation unit 3032 includes a vector candidate derivation unit 3033 and a vector candidate selection unit 3034. The vector candidate derivation unit 3033 derives a prediction vector candidate from the motion vector mvLX of the decoded adjacent block stored in the prediction parameter memory 307 based on the reference picture index refIdxLX, and stores it in the prediction vector candidate list mvpListLX[].

以下は、ヒストリメモリを用いたAMVP予測パラメータ導出部3032の動作を示す擬似コードである。
i = 0
if( availableFlagLXA ) {
mvpListLX[ i++ ] = mvLXA
if( availableFlagLXB && ( mvLXA != mvLXB ) )
mvpListLX[ i++ ] = mvLXB
} else if( availableFlagLXB )
mvpListLX[ i++ ] = mvLXB (8-195)
if( i < 2 && availableFlagLXCol )
mvpListLX[ i++ ] = mvLXCol
if( i < 2 ) {
for( j = 1; j<= numCheckedHMVPCand; j ++) {
if( i >= 2) break;
for( X = 0; X < 2; X ++) {
if reference index of ListLX of HMVPCandList[j] is equal to refIdxLX and motion vector of ListLX of HMVPCandList[j] is not equal to any of mvpListLX, mvpListLX[ i++ ] = HMVPCandList[j].mvLX
}
}
while( i < 2 ) {
mvpListLX[ i ][ 0 ] = 0
mvpListLX[ i ][ 1 ] = 0
i++
}
(共有マージ)
共有マージとは、複数の符号化ユニットをまとめた単位(共有符号化ブロック)でインター予測の予測パラメータを導出する構成である。共有マージを用いると、動画像符号化装置では、共有符号化ブロックに含まれる符号化ユニットの予測パラメータを同時に探索することが可能である。動画像復号装置では、符号化ユニットの予測パラメータを一度に
並列で導出することが可能であるため簡略化できる。
The following is pseudo code showing the operation of the AMVP prediction parameter derivation unit 3032 using the history memory.
i = 0
if( availableFlagLXA) {
mvpListLX[ i++ ]= mvLXA
if( availableFlagLXB && (mvLXA != mvLXB ))
mvpListLX[ i++ ]= mvLXB
} else if( availableFlagLXB)
mvpListLX[ i++ ]= mvLXB (8-195)
if( i <2 && availableFlagLXCol)
mvpListLX[ i++ ]= mvLXCol
if( i <2) {
for( j = 1; j<= numCheckedHMVPCand; j ++) {
if( i >= 2) break;
for( X = 0; X <2; X ++) {
if reference index of ListLX of HMVPCandList[j] is equal to refIdxLX and motion vector of ListLX of HMVPCandList[j] is not equal to any of mvpListLX, mvpListLX[ i++] = HMVPCandList[j].mvLX
}
}
while( i <2) {
mvpListLX[ i ][ 0 ]=0
mvpListLX[ i ][ 1 ]=0
i++
}
(Shared merge)
Shared merging is a configuration in which prediction parameters for inter prediction are derived in units (shared coding blocks) in which a plurality of coding units are combined. When the shared merging is used, the moving picture coding apparatus can simultaneously search for prediction parameters of coding units included in the shared coding block. In the moving picture decoding device, the prediction parameters of the coding unit can be derived in parallel at once, which can be simplified.

例えば、共有符号化ブロックのサイズが256(=16x16)の大きさであって、16x16の符号化ノードが8x16, 8x4, 8x4に分割される場合、16x16の中に含まれる全ての符号化ユニットで同じマージ候補及びマージ候補リストmergeCandListが導出される。これにより、8x16,
8x4, 8x4において、各々merge_idx=0, 1, 3のように異なるマージ候補が選択される場合においても、マージ候補リストを1度に導出することができる。
For example, if the size of the shared coding block is 256 (= 16x16) and the 16x16 coding node is divided into 8x16, 8x4, and 8x4, all coding units included in 16x16 The same merge candidate and merge candidate list mergeCandList are derived. This gives 8x16,
In 8x4 and 8x4, even when different merge candidates are selected such as merge_idx=0, 1, and 3, the merge candidate list can be derived at once.

図14は、共有マージの動作を説明するフローチャートである。 FIG. 14 is a flowchart illustrating the operation of shared merging.

S2000 共有マージ部は、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)、幅cbWidthPCU、高さcbHeightPCUを設定する。 The S2000 shared merging unit sets the upper left coordinates (xCbPCU, yCbPCU), the width cbWidthPCU, and the height cbHeightPCU of the shared coding block.

S2101 マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、S2102に遷移する。 S2101 The merge candidate derivation unit 30361 transitions to S2102 when the coding unit size is equal to or smaller than the shared size.

S2102 マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、マージ候補の導出に用いる対象ブロックの左上位置(xCb, yCb)、幅cbWidth、高さcbHeightを共有符号化ブロックの左上座標(xCbPCU, yCbPCU)、幅cbWidthPCU、高さcbHeightPCUに設定する。 S2102 The merge candidate derivation|leading-out part 30361 WHEREIN: When a coding unit size is below a shared size, the upper left position (xCb, yCb) of a target block used for derivation of a merge candidate, width cbWidth, and height cbHeight are shared coding blocks. The upper left coordinates (xCbPCU, yCbPCU), width cbWidthPCU, and height cbHeightPCU are set.

xCb = xCbPCU
yCb = yCbPCU
cbWidth = cbWidthPCU
cbHeight = cbHeightPCU
S2103 マージ候補導出部30361は、設定された符号化ユニットサイズと幅、高さを用いてマージ候補を導出する。例えば空間マージ候補として、
A1: (xCb - 1, yCb + cbHeight - 1)
B1: (xCb - cbWidth - 1, yCb - 1)
B0: (xCb - cbWidth, yCb - 1)
A0: (xCb - 1, yCb + cbHeight)
B2: (xCb - 1, yCb - 1)
の位置から、予測パラメータを導出する。すなわち、符号化ユニットサイズが共有サイズ以下である場合には、符号化ユニット以上のサイズの共有符号化ブロックの単位で、予測パラメータを導出する。そのため、共有符号化ブロックの範囲内の符号化ブロックの予測パラメータを並列で導出することができる。
xCb = xCbPCU
yCb = yCbPCU
cbWidth = cbWidthPCU
cbHeight = cbHeightPCU
S2103 The merge candidate derivation unit 30361 derives a merge candidate using the set coding unit size, width, and height. For example, as a spatial merge candidate,
A1: (xCb-1, yCb + cbHeight-1)
B1: (xCb-cbWidth-1, yCb-1)
B0: (xCb-cbWidth, yCb-1)
A0: (xCb-1, yCb + cbHeight)
B2: (xCb-1, yCb-1)
The prediction parameter is derived from the position of. That is, when the coding unit size is equal to or smaller than the shared size, the prediction parameter is derived in units of shared coded blocks having a size equal to or larger than the coding unit. Therefore, it is possible to derive the prediction parameters of the coding blocks within the range of the shared coding block in parallel.

(共有符号化ブロックの設定方法の基本構成)
以下、共有符号化ブロックの設定方法(S2000)の詳細を説明する。
(Basic configuration of shared coding block setting method)
Hereinafter, details of the shared coding block setting method (S2000) will be described.

図15は、共有符号化ブロック導出の動作を説明するフローチャートである。 FIG. 15 is a flowchart illustrating an operation of deriving a shared coding block.

S2001 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しいかを判定する。判定が真の場合にS2002に遷移する。 S2001 It is determined whether the size cbWidth*cbHeight of the encoding node is equal to a predetermined shared size parallelMergeSize. When the determination is true, the process proceeds to S2002.

S2002 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。 S2002 When the size cbWidth*cbHeight of the coding node is equal to the predetermined shared size parallelMergeSize, the upper left coordinate (xCbPCU, yCbPCU) of the shared coding block is set to the upper left coordinate (xCb, yCb) of the coding node, and the shared code is set. The width cbWidthPCU and height cbHeightPCU of the coded block are set to the width cbWidth and height cbHeight of the coding node, respectively.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
図16は、共有マージの符号化ノードでの動作を説明するシンタックステーブルである。図に示すように、QTの符号化ノード、つまり、coding_quadtreeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。ここでは、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合に共有符号化ブロックを設定する。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
FIG. 16 is a syntax table for explaining the operation in the coding node of shared merging. As shown in the figure, in the coding node of QT, that is, in coding_quadtree, as already described, the shared coding block is set according to the size of the coding node. Here, the shared coding block is set when the size cbWidth*cbHeight of the coding node is equal to a predetermined shared size parallelMergeSize.

図17は、共有マージの符号化ノードでの動作を説明するシンタックステーブルである。図に示すように、MTの符号化ノード、multi_type_treeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。ここでは、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合に共有符号化ブロックを設定する。符号化ノードは、CU分割フラグcu_split_flag及びMT分割フラグmtt_split_flagの値によらずに、再帰的なCT分割において処理される単位であり、CT分割される場合には、分割された符号化ユニットのCUの祖先のノード(親ノード、親親ノード、・・・)であり、CT分割されない場合には、CUになる。 FIG. 17 is a syntax table explaining the operation in the encoding node of shared merge. As shown in the figure, in the MT coding node, multi_type_tree, as already described, the shared coding block is set according to the size of the coding node. Here, the shared coding block is set when the size cbWidth*cbHeight of the coding node is equal to a predetermined shared size parallelMergeSize. The coding node is a unit that is processed in recursive CT partitioning regardless of the values of the CU partitioning flag cu_split_flag and MT partitioning flag mtt_split_flag, and when CT partitioning is performed, the CU of the partitioned coding unit is used. Is an ancestor node (parent node, parent parent node,... ), and becomes a CU when CT division is not performed.

以上の構成によって、複数のツリー構造(QTBTTT、4分木、2分木、3分木)が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。 With the above configuration, even when a plurality of tree structures (QTBTTT, quadtree, binary tree, ternary tree) are mixed, it is possible to easily derive the prediction parameters in parallel in the plurality of coding units. There is an effect that can be done.

(共有符号化ブロックの設定方法の基本構成2)
以下、共有符号化ブロックの設定方法(S2000)の詳細を説明する。
(Basic configuration 2 of shared coding block setting method)
Hereinafter, details of the shared coding block setting method (S2000) will be described.

図18は、共有符号化ブロック導出の動作を説明するフローチャートである。 FIG. 18 is a flowchart illustrating an operation of deriving a shared coding block.

S2001 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上かを判定する。判定が真の場合にS2002に遷移する。 S2001 It is determined whether the size cbWidth*cbHeight of the encoding node is equal to or larger than a predetermined shared size parallelMergeSize. When the determination is true, the process proceeds to S2002.

S2002 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。 S2002 When the size cbWidth*cbHeight of the encoding node is equal to or larger than the predetermined shared size parallelMergeSize, the upper left coordinate (xCbPCU, yCbPCU) of the shared encoding block is set to the upper left coordinate (xCb, yCb) of the encoding node, and the shared code is set. The width cbWidthPCU and height cbHeightPCU of the coded block are set to the width cbWidth and height cbHeight of the coding node, respectively.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
(変形例1)
図19は、変形例1の共有マージのMT符号化ノードでの動作を説明するシンタックステーブルである。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
(Modification 1)
FIG. 19 is a syntax table explaining the operation in the MT encoding node of shared merging in the first modification.

図20は、共有マージの符号化ノードでの動作を説明するシンタックステーブルである。図に示すように、QTの符号化ノード、つまり、coding_quadtreeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。ここでは、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に共有符号化ブロックを設定する。 FIG. 20 is a syntax table for explaining the operation at the encoding node of shared merge. As shown in the figure, in the coding node of QT, that is, in coding_quadtree, as already described, the shared coding block is set according to the size of the coding node. Here, the shared coding block is set when the size cbWidth*cbHeight of the coding node is equal to or larger than a predetermined shared size parallelMergeSize.

既に説明したとおり、マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下の場合に、設定された共有符号化ブロックを用いて予測パラメータを導出する。 As described above, the merge candidate derivation unit 30361 derives the prediction parameter using the set shared coding block when the coding unit size is equal to or smaller than the shared size.

例えば、CTUサイズが128の場合、4分木(QT)の符号化ノード及び符号化ユニットのサイズは、64x64(=4096), 32x32(=1024), 16x16(=256), 8x8(=64), 4x4(=16)である。仮に、parallelMergeSizeとして16x8に相当するサイズの128を設定する場合、16x16(=256)の分割ノードも8x8(=64)の分割ノードも、128のサイズにはならず、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しい場合は生じない。従って、4分木の分岐を利用する場合、共有マージが利用されない可能性がある。 For example, when the CTU size is 128, the size of the quadtree (QT) coding node and coding unit is 64x64(=4096), 32x32(=1024), 16x16(=256), 8x8(=64). , 4x4(=16). If you set 128 as the size equivalent to 16x8 as parallelMergeSize, neither 16x16(=256) or 8x8(=64) split nodes will have the size of 128, and the coding node size cbWidth* It does not occur if cbHeight is equal to the given share size parallelMergeSize. Therefore, when using the branch of the quadtree, shared merging may not be used.

これに対して、本変形例1では、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上かを判定して、共有符号化ブロックを設定する。例えば上記のparallelMergeSize=128の例でも、16x16(=256)の符号化ユニットのサイズで共有符号化ブロックを設定するため、マージ候補導出部30361において、符号化ユニットサイズが共有サイズ以下の場合に、共有符号化ブロックを設定することによって共有マージが実現できる。 On the other hand, in the first modification, the shared coding block is set by determining whether the size cbWidth*cbHeight of the coding node is equal to or larger than the predetermined shared size parallelMergeSize. For example, even in the above example of parallelMergeSize=128, in order to set the shared coding block with the size of the coding unit of 16x16 (=256), in the merge candidate derivation unit 30361, when the coding unit size is the shared size or less, Shared merging can be realized by setting shared coding blocks.

以上の構成によって、複数のツリー構造(QTBTTT、4分木、2分木、3分木)が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。さらに、共有符号化ブロック設定の条件判定を、所定の共有サイズparallelMergeSize以上とすることによって、QT分割において符号化ノードのサイズ(cbWidth*cbHeight)としてとりうることがないサイズ、例えば32, 128, 512のサイズにparallelMergeSizeが設定される場合においても、予測パラメータを並列に導出することができる効果を奏する。この場合、parallelMergeSizeが32, 128, 512のサイズにおいても、設定したサイズの2倍の8x8、16x16、32x32を単位として並列で予測パラメータを共有することができるという効果を奏する。 With the above configuration, even when a plurality of tree structures (QTBTTT, quadtree, binary tree, ternary tree) are mixed, it is possible to easily derive the prediction parameters in parallel in the plurality of coding units. There is an effect that can be done. Furthermore, by setting the shared coding block setting condition determination to a predetermined shared size parallelMergeSize or more, the size that cannot be taken as the size of the coding node (cbWidth*cbHeight) in QT division, for example, 32, 128, 512 Even when parallelMergeSize is set to the size of, prediction parameters can be derived in parallel. In this case, even if the parallelMergeSize is 32, 128, or 512, the prediction parameter can be shared in parallel in units of 8x8, 16x16, and 32x32, which are twice the set size.

(変形例2)
図21は、共有符号化ブロック導出の動作を説明するフローチャートである。
(Modification 2)
FIG. 21 is a flowchart illustrating an operation of deriving a shared coding block.

S2011 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しいかを判定する。所定の共有サイズと等しい場合には、S2012に遷移し、それ以外は、S2013に遷移する。なお、ここの等しいか(==)の判定は、以上か(>=)の判定に置き換えてもよい。図面では>=を記述。 S2011 It is determined whether the size cbWidth*cbHeight of the encoding node is equal to a predetermined shared size parallelMergeSize. When it is equal to the predetermined shared size, the process proceeds to S2012, and otherwise, the process proceeds to S2013. The determination of equality (==) here may be replaced with the determination of above (>=). In the drawing, describe >=.

S2012 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。 S2012 When the size cbWidth*cbHeight of the coding node is equal to or larger than the predetermined shared size parallelMergeSize, the upper left coordinate (xCbPCU, yCbPCU) of the shared coding block is set to the upper left coordinate (xCb, yCb) of the coding node, and the shared code is set. The width cbWidthPCU and height cbHeightPCU of the coded block are set to the width cbWidth and height cbHeight of the coding node, respectively.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
S2013 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2であり、QT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノード(QTの分割インデックスpartIdxが0)と等しい場合に、S2014に遷移し、それ以外は、処理を終了する。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
S2013 The size cbWidth*cbHeight of the encoding node is 1/2 of the predetermined shared size parallelMergeSize, the node is a QT partition (mttDepth==0 of MT tree multi_tree), and the upper left node of the QT partition (partition index partIdx of QT). Is equal to 0), the process proceeds to S2014, otherwise, the process ends.

なお、QT分割の左上ノードの判定は、分割ノードの座標(xCb, yCb)が共有サイズの2倍
のサイズ(例えばgridSize x gridSize)のグリッドに一致するか否かの以下の判定で行っても良い。
Note that the upper left node of the QT split may be determined by the following determination as to whether the coordinates (xCb, yCb) of the split node match the grid with a size twice the shared size (eg gridSize x gridSize). good.

(xCb == (xCb >> shiftGrid) << shiftGrid) && (yCb == (yCb >> shiftGrid) << shiftGrid)
ここでshiftGrid = log2(gridSize)。gridSize=1<<(log2(parallelMergeSize*2)/2)。例えばparallelMergeSize=128の場合にはgridSize=1<<log2(128*2)/2=1<<(8/2)=16で16x16のグリッドが用いられる。
(xCb == (xCb >> shiftGrid) << shiftGrid) && (yCb == (yCb >> shiftGrid) << shiftGrid)
Where shiftGrid = log2(gridSize). gridSize=1<<(log2(parallelMergeSize*2)/2). For example, when parallelMergeSize=128, a 16x16 grid is used with gridSize=1<<log2(128*2)/2=1<<(8/2)=16.

なお、判定には、シフトの代わりにビットorを用いても良い。 Note that bit or may be used instead of shift for the determination.

(xCb & maskGrid) == 0 && (yCb & maskGrid)
ここでmaskGrid = (1<<shiftGrid)-1。例えばparallelMergeSize=128の場合にはshiftGrid=4、maskGrid=15(=0xf)
S2014 上記条件を満たす場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの2倍、高さcbHeightの2倍を各々設定する。
(xCb & maskGrid) == 0 && (yCb & maskGrid)
Where maskGrid = (1<<shiftGrid)-1. For example, when parallelMergeSize=128, shiftGrid=4, maskGrid=15(=0xf)
S2014 When the above condition is satisfied, the upper left coordinates (xCbPCU, yCbPCU) of the shared coding block are set to the upper left coordinates (xCb, yCb) of the coding node, and the width cbWidthPCU and height cbHeightPCU of the shared coding block are coded. Set twice the node width cbWidth and twice the height cbHeight.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth * 2
cbHeightPCU= cbHeight * 2
なお、S2011の分岐とS2013の分岐の順序はどちらが先でもよい。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth * 2
cbHeightPCU= cbHeight * 2
The order of the branch in S2011 and the branch in S2013 may be either first.

なお、qt_split_cu_flagが1の場合に、共有サイズparallelMergeSizeの2倍を条件に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの1倍、高さcbHeightの1倍を各々設定してもよい。 When qt_split_cu_flag is 1, the upper left coordinates (xCbPCU, yCbPCU) of the shared coding block are set to the upper left coordinates (xCb, yCb) of the shared coding block under the condition of double the shared size parallelMergeSize. The width cbWidthPCU and height cbHeightPCU of the block may be set to 1 times the width cbWidth and 1 time of the height cbHeight of the encoding node, respectively.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
既に説明したとおり、共有マージを用いる場合の共通処理として、マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下の場合に、設定された共有符号化ブロックを用いて予測パラメータを導出する。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
As described above, as common processing when using shared merging, the merge candidate derivation unit 30361 derives prediction parameters using the set shared coding block when the coding unit size is equal to or smaller than the shared size.

図22は、上記の動作を示す共有マージの符号化ノードでの動作を説明するシンタックステーブルの例である。ここでは、coding_quadtree及びmulti_type_treeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。S2011とS2013の分岐は図21の判定と逆の順序となっている。 FIG. 22 is an example of a syntax table for explaining the operation at the encoding node of the shared merge showing the above operation. Here, in coding_quadtree and multi_type_tree, as already described, the shared coding block is set according to the size of the coding node. The branches of S2011 and S2013 are in the reverse order of the determination of FIG.

本変形例2では、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2か否かを判定して、共有符号化ブロックを設定する。従って、例えば上記のparallelMergeSize=128の例では16x16(=256)のブロックを分割した8x8(=64)の符号化ユニットのサイズで、共有符号化ブロックを設定する(図23)。ここではQT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノード(分割インデックスpartIdxが0)と等しい場合に、8x8の縦横2倍の16x16のサイズで共有符号化ブロックを設定する。これにより16x16のブロックに含まれる符号化ツリーで共有マージが実現できる。 In the second modification, it is determined whether or not the size cbWidth*cbHeight of the coding node is 1/2 of the predetermined shared size parallelMergeSize, and the shared coding block is set. Therefore, for example, in the above example of parallelMergeSize=128, the shared coding block is set with the size of the coding unit of 8x8 (=64) obtained by dividing the block of 16x16 (=256) (Fig. 23 ). Here, it is a node of QT partition (mttDepth==0 of MT tree multi_tree), and when it is equal to the upper left node of QT partition (partition index partIdx is 0), the shared coding block is 16x16 which is twice the height and width of 8x8. To set. As a result, shared merging can be realized with the coding tree included in the 16x16 block.

以上の構成によって、複数のツリー構造(QTBTTT、4分木、2分木、3分木)が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。さらに、所定の共有サイズparallelMergeSizeが1/2となる場合においても共有符号化ブロックを設定することで、QT分割において符号化ノードとして達することがないparallelMergeSizeが32, 128, 512のサイズにおいても、予測パラメータを並列に導出することができる効果を奏する。 With the above configuration, even when a plurality of tree structures (QTBTTT, quadtree, binary tree, ternary tree) are mixed, it is possible to easily derive the prediction parameters in parallel in the plurality of coding units. There is an effect that can be done. Furthermore, even when the predetermined shared size parallelMergeSize becomes 1/2, by setting the shared coding block, even if the parallelMergeSize that does not reach as a coding node in QT partition is 32, 128, 512 It is possible to derive the parameters in parallel.

(変形例3)
図24は、共有符号化ブロック導出の動作を説明するフローチャートである。
(Modification 3)
FIG. 24 is a flowchart illustrating an operation of deriving a shared coding block.

S2021 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeと等しいかを判定する。等しい場合には、S2022に遷移し、それ以外は、S2023に遷移する。なお、ここの等しいか(==)の判定は、以上か(>=)の判定に置き換えてもよい。図面では>=を記述。 S2021 It is determined whether the size cbWidth*cbHeight of the encoding node is equal to a predetermined shared size parallelMergeSize. If they are equal, the process proceeds to S2022, and otherwise, the process proceeds to S2023. The determination of equality (==) here may be replaced with the determination of above (>=). In the drawing, describe >=.

S2022 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSize以上の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidth、高さcbHeightを各々設定する。 S2022 When the size cbWidth*cbHeight of the coding node is equal to or larger than the predetermined shared size parallelMergeSize, the upper left coordinate (xCbPCU, yCbPCU) of the shared coding block is set to the upper left coordinate (xCb, yCb) of the coding node, and the shared code is set. The width cbWidthPCU and height cbHeightPCU of the coded block are set to the width cbWidth and height cbHeight of the coding node, respectively.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
S2023 符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2であり、QT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノードもしくは左下ノード(QTの分割インデックスpartIdxが0,2)と等しい場合に、S2024に遷移し、それ以外は、処理を終了する。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight
S2023 The size cbWidth*cbHeight of the coding node is 1/2 of the predetermined shared size parallelMergeSize, the node is a QT partition (MTT multi_tree mttDepth==0), and the upper left node or the lower left node of the QT partition (QT partition). If the division index partIdx is equal to 0, 2), the process proceeds to S2024, otherwise the process ends.

なお、QT分割の左上ノードもしくは左下ノードの判定を含む上記判定は、分割ノードの座標(xCb, yCb)がのサイズ(例えばgridWidth x Height)のグリッドといっちするかを判定する以下の判定で行っても良い。なおQTでは、左上、右上、左下、右下の順で処理するため、横長サイズをもちいる(つまり、共有サイズが128の場合、8x16ではなく16x8を用いる)
(xCb == (xCb >> shiftGridW) << shiftGridW) && (yCb == (yCb >> shiftGridH) << shiftGridH)
ここでshiftGridW = log2(gridWidth)、shiftGridH = log2(gridHeight)
gridWidth=1<<((log2(parallelMergeSize)+1)/2)、gridHeight=1<<((log2(parallelMergeSize))/2)。
例えばparallelMergeSize=128の場合には
gridWidth=1<<((log2(parallelMergeSize)+1)/2)=1<<((7+1)/2)=16
gridHeight=1<<((log2(parallelMergeSize))/2)=1<<((7)/2)=8
なので16x8のグリッドが判定に用いられる。
The above judgment including the judgment of the upper left node or the lower left node of the QT split is performed by the following judgment to judge whether the coordinates (xCb, yCb) of the split node are the same as the grid of size (eg gridWidth x Height). May be. Note that QT processes in the order of top left, top right, bottom left, bottom right, so it has a landscape size (that is, if the shared size is 128, use 16x8 instead of 8x16).
(xCb == (xCb >> shiftGridW) << shiftGridW) && (yCb == (yCb >> shiftGridH) << shiftGridH)
Where shiftGridW = log2(gridWidth), shiftGridH = log2(gridHeight)
gridWidth=1<<((log2(parallelMergeSize)+1)/2), gridHeight=1<<((log2(parallelMergeSize))/2).
For example, if parallelMergeSize=128
gridWidth=1<<((log2(parallelMergeSize)+1)/2)=1<<((7+1)/2)=16
gridHeight=1<<((log2(parallelMergeSize))/2)=1<<((7)/2)=8
So a 16x8 grid is used for the decision.

なお、判定には、シフトの代わりにビットorを用いても良い。 Note that bit or may be used instead of shift for the determination.

(xCb & maskGridW) == 0 && (yCb & maskGridH) == 0
ここでmaskGridW = (1<<shiftGridW)-1、maskGridH = (1<<shiftGridH)-1
S2024 上記条件の場合に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符
号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの2倍、高さcbHeightの1倍を各々設定する。
(xCb & maskGridW) == 0 && (yCb & maskGridH) == 0
Where maskGridW = (1<<shiftGridW)-1, maskGridH = (1<<shiftGridH)-1
S2024 In the case of the above condition, the upper left coordinate (xCbPCU, yCbPCU) of the shared coding block is set to the upper left coordinate (xCb, yCb) of the coding node, and the width cbWidthPCU and the height cbHeightPCU of the shared coding block are the coding node. 2 times the width cbWidth and 1 time the height cbHeight are set.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth * 2
cbHeightPCU= cbHeight
S2021の分岐とS2023の分岐の順序は、どちらが先でもよい。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth * 2
cbHeightPCU= cbHeight
Either of the order of the branch of S2021 and the branch of S2023 may be first.

なお、qt_split_cu_flagが1の場合に、共有サイズparallelMergeSizeの2倍を条件に、共有符号化ブロックの左上座標(xCbPCU, yCbPCU)に符号化ノードの左上座標(xCb, yCb)を設定し、共有符号化ブロックの幅cbWidthPCU、高さcbHeightPCUに符号化ノードの幅cbWidthの1倍、高さcbHeightの1/2倍を各々設定してもよい。 When qt_split_cu_flag is 1, the upper left coordinates (xCbPCU, yCbPCU) of the shared coding block are set to the upper left coordinates (xCb, yCb) of the shared coding block under the condition of double the shared size parallelMergeSize. The block width cbWidthPCU and height cbHeightPCU may be set to 1 times the coding node width cbWidth and 1/2 times the height cbHeight, respectively.

xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight / 2
既に説明したとおり、共有マージを用いる場合の共通処理として、マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下の場合に、設定された共有符号化ブロックを用いて予測パラメータを導出する。
xCbPCU = x0
yCbPCU = y0
cbWidthPCU= cbWidth
cbHeightPCU= cbHeight/2
As described above, as common processing when using shared merging, the merge candidate derivation unit 30361 derives prediction parameters using the set shared coding block when the coding unit size is equal to or smaller than the shared size.

図25は、上記の動作を示す共有マージの符号化ノードでの動作を説明するシンタックステーブルの例である。ここでは、coding_quadtree及びmulti_type_treeにおいて、既に説明したように、符号化ノードのサイズに応じて共有符号化ブロックを設定する。図21におけるS2011とS2013の分岐は逆となっている。 FIG. 25 is an example of a syntax table for explaining the operation in the coding node of the shared merge showing the above operation. Here, in coding_quadtree and multi_type_tree, as already described, the shared coding block is set according to the size of the coding node. The branches of S2011 and S2013 in FIG. 21 are reversed.

本変形例3では、符号化ノードのサイズcbWidth*cbHeightが所定の共有サイズparallelMergeSizeの1/2の場合を判定して、共有符号化ブロックを設定するため、例えば上記のparallelMergeSize=128の例では16x16(=256)のブロックを分割した8x8(=64)の符号化ノードのサイズで、共有符号化ブロックを設定する。ここではQT分割のノード(MTツリーmulti_treeのmttDepth==0)であり、QT分割の左上ノードもしくは左下ノード(分割インデックスpartIdxが0,2)と等しい場合に、8x8の横2倍の16x8のサイズで共有符号化ブロックを設定する(図26)。これにより16x8のブロックに含まれる符号化ツリーで共有マージが実現できる。 In the third modification, since the size cbWidth*cbHeight of the coding node is 1/2 of the predetermined shared size parallelMergeSize and the shared coding block is set, for example, 16x16 in the above example of parallelMergeSize=128. A shared coding block is set with the size of an 8x8 (=64) coding node obtained by dividing a (=256) block. Here, it is a node of QT split (mttDepth==0 of MT tree multi_tree), and when it is equal to the upper left node or lower left node of QT split (split index partIdx is 0,2), the size is 16x8 which is twice the horizontal width of 8x8. Set the shared coding block with (Fig. 26). As a result, shared merging can be realized with the coding tree included in the 16x8 block.

以上の構成によって、複数のツリー構造(QTBTTT、4分木、2分木、3分木)が混在する場合においても、容易に、複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる効果を奏する。さらに、所定の共有サイズparallelMergeSizeが1/2となる場合においても共有符号化ブロックを設定することで、QT分割において符号化ノードがとりえない、parallelMergeSizeが32, 128, 512においても、予測パラメータを並列に導出することができる効果を奏する。さらに、QT分割以外でparallelMergeSizeが32, 128, 512においても、設定したサイズである8x4、16x8、32x16を単位として並列で予測パラメータを共有することができるという効果を奏する。 With the above configuration, even when a plurality of tree structures (QTBTTT, quadtree, binary tree, ternary tree) are mixed, it is possible to easily derive the prediction parameters in parallel in the plurality of coding units. There is an effect that can be done. Furthermore, even if the predetermined shared size parallelMergeSize becomes 1/2, by setting the shared coding block, the coding parameter cannot be taken in QT partitioning, and the prediction parameter is set even when parallelMergeSize is 32, 128, 512. An effect can be obtained that can be derived in parallel. Furthermore, even when parallelMergeSize is 32, 128, 512 other than QT division, it is possible to share prediction parameters in parallel in units of the set sizes of 8x4, 16x8, and 32x16.

(グリッド単位の共有)
図27(b)は、グリッド単位で共有する例を示す。固定の矩形のグリッドサイズ単位で予測パラメータを導出する共有マージの動作を説明する図である。
(Sharing in grid units)
FIG. 27(b) shows an example of sharing in grid units. It is a figure explaining operation|movement of the shared merging which derives a prediction parameter by a fixed rectangular grid size unit.

S3021 共有マージ部は、グリッドサイズgridSizeを復号もしくは符号化する。例
えばシンタックス要素grid_size_unit_idcを復号もしくは符号化する。例えばグリッドサイズを4x4単位の整数倍とする場合は、以下で導出する。
S3021 The shared merging unit decodes or encodes the grid size gridSize. For example, the syntax element grid_size_unit_idc is decoded or encoded. For example, when the grid size is an integral multiple of 4x4 units, it is derived below.

gridSize = 1 << (grid_size_unit_idc + 2)
なお、グリッドの幅gridWidthと高さgridHeightを別としてもよい。この場合、例えばシンタックス要素grid_width_unit_idc、grid_width_height_idcを復号もしくは符号化する。
gridSize = 1 << (grid_size_unit_idc + 2)
The width gridWidth and the height gridHeight of the grid may be different. In this case, for example, the syntax elements grid_width_unit_idc and grid_width_height_idc are decoded or encoded.

gridWidth = 1 << (grid_width_unit_idc + 2)
gridHeight = 1 << (grid_height_unit_idc + 2)
S3022 マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、S2023に遷移する。
gridWidth = 1 << (grid_width_unit_idc + 2)
gridHeight = 1 << (grid_height_unit_idc + 2)
S3022 The merge candidate derivation unit 30361 proceeds to S2023 when the coding unit size is equal to or smaller than the shared size.

S3023 マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、共有符号化ブロックの左上座標にピクチャもしくはタイルを矩形のグリッドサイズに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに上記矩形グリッドサイズgridSizexGridSizeの幅の整数倍、高さの整数倍を各々設定する。 S3023 The merge candidate derivation unit 30361 sets the upper left coordinate when the picture or tile is divided into the rectangular grid size to the upper left coordinate of the shared coding block when the coding unit size is equal to or smaller than the shared size, and An integer multiple of the width and an integer multiple of the height of the rectangular grid size gridSizexGridSize are set to the width and height of the shared coding block, respectively.

xCb = (xCb >> shiftGrid) << shiftGrid
yCb = (yCb >> shiftGrid) << shiftGrid
cbWidth = (cbWidth >> shiftGrid)<< shiftGrid
cbHeight = (cbHeight >> shiftGrid)<< shiftGrid
ここでshiftGrid = log2(gridSize)。
xCb = (xCb >> shiftGrid) << shiftGrid
yCb = (yCb >> shiftGrid) << shiftGrid
cbWidth = (cbWidth >>shiftGrid)<< shiftGrid
cbHeight = (cbHeight >>shiftGrid)<< shiftGrid
Where shiftGrid = log2(gridSize).

グリッドの幅と高さを独立に設定可能とする構成では以下を行う。 The following is performed in the configuration in which the width and height of the grid can be set independently.

xCb = (xCb >> shiftGridW) << shiftGridW
yCb = (yCb >> shiftGridH) << shiftGridH
cbWidth = (cbWidth >> shiftGridW)<< shiftGridW
cbHeight = (cbHeight >> shiftGridH)<< shiftGridH
ここでshiftGridW = log2(gridWidth)、shiftGridH = log2(gridHeight)。
xCb = (xCb >> shiftGridW) << shiftGridW
yCb = (yCb >> shiftGridH) << shiftGridH
cbWidth = (cbWidth >>shiftGridW)<< shiftGridW
cbHeight = (cbHeight >>shiftGridH)<< shiftGridH
Where shiftGridW = log2(gridWidth), shiftGridH = log2(gridHeight).

S3024 マージ候補導出部30361は、設定された符号化ユニットサイズと幅、高さを用いてマージ候補を導出する。例えば以下の符号化ユニットのサイズから導出されるA1, B0, B1, A0, B2の位置の予測パラメータを用いてマージ候補を導出する。 S3024 The merge candidate derivation unit 30361 derives a merge candidate using the set coding unit size, width, and height. For example, the merge candidate is derived using the prediction parameters of the positions of A1, B0, B1, A0, B2 derived from the size of the following coding unit.

A1: (xCb - 1, yCb + cbHeight - 1)
B1: (xCb - cbWidth - 1, yCb - 1)
B0: (xCb - cbWidth, yCb - 1)
A0: (xCb - 1, yCb + cbHeight)
B2: (xCb - 1, yCb - 1)
以上の構成によって、複数のツリー構造(QTBTTT、4分木、2分木、3分木)が混在する場合においても、複数の符号化ユニットで、並列で予測パラメータを導出することができるという効果を奏する。
A1: (xCb-1, yCb + cbHeight-1)
B1: (xCb-cbWidth-1, yCb-1)
B0: (xCb-cbWidth, yCb-1)
A0: (xCb-1, yCb + cbHeight)
B2: (xCb-1, yCb-1)
With the above configuration, even when a plurality of tree structures (QTBTTT, quadtree, binary tree, ternary tree) are mixed, it is possible to derive prediction parameters in parallel by a plurality of coding units. Play.

さらに、複数のツリー構造(QTBTTT、4分木、2分木、3分木)が混在する場合においても、共有マージに用いるブロックの形状が分割に応じて変化することがないため、エンコーダの動き探索が容易にはなるという効果を奏する。 Furthermore, even when a plurality of tree structures (QTBTTT, quad-tree, binary-tree, and ternary tree) are mixed, the shape of the block used for shared merging does not change according to the division, so the encoder movement This has the effect of facilitating the search.

なお、図27(a)に示すように、共有サイズ以下であるか否かの分岐を省略しても良い。 Note that, as shown in FIG. 27(a), the branch for determining whether the size is the shared size or less may be omitted.

S3011 共有マージ部は、グリッドサイズgridSizeを復号もしくは符号化する。例えばシンタックス要素grid_size_unit_idcを復号もしくは符号化する。例えばグリッドサイズを4x4単位の整数倍とする場合は、以下で導出する。 S3011 The shared merging unit decodes or encodes the grid size gridSize. For example, the syntax element grid_size_unit_idc is decoded or encoded. For example, when the grid size is an integral multiple of 4x4 units, it is derived below.

gridSize = 1 << (grid_size_unit_idc + 2)
なお、グリッドの幅gridWidthと高さgridHeightを別としてもよい。この場合、例えばシンタックス要素grid_width_unit_idc、grid_height_unit_idcを復号もしくは符号化する。
gridSize = 1 << (grid_size_unit_idc + 2)
The width gridWidth and the height gridHeight of the grid may be different. In this case, for example, the syntax elements grid_width_unit_idc and grid_height_unit_idc are decoded or encoded.

gridWidth = 1 << (grid_width_unit_idc + 2)
gridHeight = 1 << (grid_height_unit_idc + 2)
S3013 マージ候補導出部30361は、符号化ユニットサイズが共有サイズ以下である場合には、共有符号化ブロックの左上座標にピクチャもしくはタイルを矩形のグリッドサイズに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに上記矩形グリッドサイズの幅の整数倍、高さの整数倍を各々設定する。S3023と同じ処理であるので説明を省略する。
ここでshiftGridW = log2(gridWidth)、shiftGridH = log2(gridHeight)。
gridWidth = 1 << (grid_width_unit_idc + 2)
gridHeight = 1 << (grid_height_unit_idc + 2)
S3013 The merge candidate derivation unit 30361 sets the upper left coordinate when the picture or tile is divided into the rectangular grid size in the upper left coordinate of the shared coding block when the coding unit size is equal to or smaller than the shared size, and An integer multiple of the width of the rectangular grid size and an integer multiple of the height are set in the width and height of the shared coding block, respectively. Since the processing is the same as S3023, the description thereof is omitted.
Where shiftGridW = log2(gridWidth), shiftGridH = log2(gridHeight).

S3014 マージ候補導出部30361は、設定された符号化ユニットサイズと幅、高さを用いてマージ候補を導出する。S3024と同じ処理であるので説明を省略する。 S3014 The merge candidate derivation unit 30361 derives a merge candidate using the set coding unit size, width, and height. Since the processing is the same as S3024, the description thereof will be omitted.

ベクトル候補選択部3034は、予測ベクトル候補リストmvpListLX[]の予測ベクトル候補のうち、予測ベクトルフラグmvp_LX_flagが示す動きベクトルmvpListLX[mvp_LX_flag]を予測ベクトルmvpLXとして選択する。ベクトル候補選択部3034は選択した予測ベクトルmvpLXをMV加算部3038に出力する。 The vector candidate selection unit 3034 selects the motion vector mvpListLX[mvp_LX_flag] indicated by the prediction vector flag mvp_LX_flag from the prediction vector candidates in the prediction vector candidate list mvpListLX[] as the prediction vector mvpLX. The vector candidate selection unit 3034 outputs the selected prediction vector mvpLX to the MV addition unit 3038.

複数の符号化ユニットにおいて、予測パラメータを並列に導出することができる動画像符号化装置11および動画像復号装置31は、マージ候補導出においては、さらにヒストリメモリを用いるヒストリマージ候補導出部を備えてもよい。また、AMVP予測パラメータ導出部3032がヒストリメモリを用いる構成でもよい。 In a plurality of coding units, the moving picture coding apparatus 11 and the moving picture decoding apparatus 31 capable of deriving the prediction parameters in parallel are provided with a history merge candidate derivation unit that further uses a history memory in merging candidate derivation. Good. Further, the AMVP prediction parameter derivation unit 3032 may use a history memory.

(共有マージとヒストリメモリ)
ヒストリマージ候補導出部を備える動画像符号化装置11および動画像復号装置31は、マージモードもしくはAMVPモードの符号化ユニットにおいて導出したインター予測パラメーター(予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLX)をヒストリメモリに格納するヒストリ格納部を備える。また、ヒストリマージ候補導出部は、ヒストリ格納部に格納したインター予測パラメータを利用してマージ候補を導出する。また、AMVP予測パラメータ導出部3032は、ヒストリ格納部に格納したインター予測パラメータを利用して予測ベクトル候補リストmvpListLX[]を導出してもよい。
(Shared merge and history memory)
The moving picture coding device 11 and the moving picture decoding device 31 including the history merge candidate derivation unit are inter prediction parameters (prediction list use flag predFlagLX, reference picture index refIdxLX, motion vector) derived in the coding unit in the merge mode or AMVP mode. mvLX) is provided in the history memory. Further, the history merge candidate derivation unit derives a merge candidate using the inter prediction parameter stored in the history storage unit. Further, the AMVP prediction parameter derivation unit 3032 may derive the prediction vector candidate list mvpListLX[] using the inter prediction parameter stored in the history storage unit.

なお、共有マージを用いる場合には、共有符号化ブロックで同一のマージ候補、予測ベクトル候補を導出する必要がある。しかし、共有符号化ブロック内の符号化ユニットにおいてヒストリメモリを用いたマージ候補、予測ベクトル候補導出を行う場合、共有符号化ブロック内でヒストリメモリを更新すると、符号化ユニットごとにヒストリメモリが変化するために、同一性を確保できないという課題がある。同時に、共有符号化ブロック内の符号化ユニットにおいて単にヒストリメモリの更新を停止するだけでは、ヒストリメモリの内容が変化しないため、ヒストリメモリが所定の性能を実現できない課題がある。以下、この課題を解決する構成を順に説明する。 When using the shared merge, it is necessary to derive the same merge candidate and prediction vector candidate in the shared coding block. However, when deriving merge candidates and prediction vector candidates using a history memory in a coding unit in a shared coding block, updating the history memory in the shared coding block changes the history memory for each coding unit. Therefore, there is a problem that the identity cannot be secured. At the same time, there is a problem that the history memory cannot realize a predetermined performance because the contents of the history memory are not changed by simply stopping the update of the history memory in the coding unit in the shared coding block. Hereinafter, a configuration for solving this problem will be described in order.

(共有マージを用いる場合のヒストリ動きベクトル導出の構成1)
構成1は、共有符号化ブロック内の符号化ユニットにおいては、(メイン)ヒストリメモリを更新を停止しておく代わりに、一時ヒストリメモリに導出したインター予測パラメータを格納しておき、一時ヒストリメモリの内容は、共有符号化ブロックの左上ブロックでメインヒストリに反映する構成である。
(Structure 1 for deriving history motion vector when using shared merge)
In the configuration 1, in the coding unit in the shared coding block, instead of stopping the update of the (main) history memory, the derived inter prediction parameter is stored in the temporary history memory, and the temporary history memory is stored. The content is configured to be reflected in the main history in the upper left block of the shared coding block.

図28は、本発明の実施形態のヒストリマージ候補導出部3051、ヒストリ格納部351を備える動画像復号装置の構成を示すブロック図である。ヒストリ格納部351は、第1ヒストリメモリ(メインヒストリメモリ)と、第2ヒストリメモリ(一時ヒストリメモリ、非参照ヒストリメモリ)を備える。マージ候補導出部30361の備えるヒストリマージ候補導出部3051は、第1ヒストリメモリを参照して、ヒストリマージ候補を導出する。AMVP予測パラメータ導出部3032は、第1ヒストリメモリを参照して、AMVP候補を導出する。 FIG. 28 is a block diagram showing a configuration of a moving image decoding apparatus including a history merge candidate derivation unit 3051 and a history storage unit 351 according to the embodiment of this invention. The history storage unit 351 includes a first history memory (main history memory) and a second history memory (temporary history memory, non-reference history memory). The history merge candidate derivation unit 3051 included in the merge candidate derivation unit 30361 refers to the first history memory and derives a history merge candidate. The AMVP prediction parameter derivation unit 3032 refers to the first history memory to derive an AMVP candidate.

図29(a)は、本実施形態のヒストリマージの処理を示す図である。図に示すように、符号化ユニットのサイズに関わらずに、ヒストリマージ候補導出部3051とAMVP予測パラメータ導出部3032は、第1ヒストリメモリを参照する。ヒストリ格納部351は、符号化ユニットのサイズが所定共有サイズ以上の場合に、符号化ユニットの動きベクトルなどのインター予測パラメータを第1ヒストリメモリに格納し、それ以外(符号化ユニットのサイズが所定の共有サイズ未満)の場合に、符号化ユニットのインター予測パラメータを第2ヒストリメモリに格納する。 FIG. 29(a) is a diagram showing a history merge process of this embodiment. As shown in the figure, the history merge candidate derivation unit 3051 and the AMVP prediction parameter derivation unit 3032 refer to the first history memory regardless of the size of the coding unit. The history storage unit 351 stores the inter prediction parameter such as the motion vector of the coding unit in the first history memory when the size of the coding unit is equal to or larger than the predetermined shared size, and otherwise (the size of the coding unit is predetermined. (Less than the shared size of 1), the inter prediction parameter of the coding unit is stored in the second history memory.

図30は、本発明の実施形態のヒストリマージ候補導出部3051、ヒストリ格納部351の一構成の動作を説明するフローチャートである。 FIG. 30 is a flowchart illustrating the operation of one configuration of the history merge candidate derivation unit 3051 and the history storage unit 351 according to the embodiment of this invention.

(構成1のヒストリメモリ参照処理S3410)
構成1では、ヒストリメモリ参照処理S3410を行う。
(History memory reference process S3410 of configuration 1)
In configuration 1, history memory reference processing S3410 is performed.

S3411 ヒストリマージ候補導出部3051とAMVP予測パラメータ導出部3032は、第1ヒストリメモリを参照して、インター予測パラメータを導出する。 S3411 The history merge candidate derivation unit 3051 and the AMVP prediction parameter derivation unit 3032 refer to the first history memory to derive the inter prediction parameter.

(ヒストリメモリ参照のマージ候補導出詳細)
以下、ヒストリマージ候補導出部3051のS3411の動作を詳細に説明する。
(Details of deriving merge candidates from history memory reference)
Hereinafter, the operation of S3411 of the history merge candidate derivation unit 3051 will be described in detail.

第1ヒストリメモリHMVPCandList1[i](i=HMVPCandList1の要素数-1..0)を走査し、mergeCandList[j](j=0..現在までのマージ候補数-1)を走査し、同じ動きベクトルで同じ参照ピクチャインデックスをもつ要素がある場合にはsameMotionを真とする。sameMotionが偽の場合、つまり同じ要素がない場合には、マージ候補リストに第1ヒストリメモリHMVPCandList1の要素を追加する。 1st history memory HMVPCandList1[i] (i=number of elements of HMVPCandList1-1..0) is scanned, mergeCandList[j] (j=0.. number of merge candidates till now-1) is scanned, and the same movement If there are elements with the same reference picture index in the vector, sameMotion is set to true. When sameMotion is false, that is, when there is no same element, the element of the first history memory HMVPCandList1 is added to the merge candidate list.

mergeCandList[numCurrMergeCand++] = HMVPCandList1[i]
ここでnumCurrMergeCandは現在のmergeCandList[]中のマージ候補数である。上記処理を繰り返して複数の第1ヒストリメモリ中の複数の要素をマージ候補リストに追加してもよい。なお、上記第1ヒストリメモリの走査順(i=HMVPCandList1の要素数-1..0)は、ヒストリメモリへの格納詳細におけるFIFOの最後の要素を優先する構成である。逆に、FIFOの先頭要素を優先する構成では走査順はi=0..HMVPCandList1の要素数-1でもよい。
mergeCandList[numCurrMergeCand++] = HMVPCandList1[i]
Here numCurrMergeCand is the number of merge candidates in the current mergeCandList[]. The above processing may be repeated to add a plurality of elements in the plurality of first history memories to the merge candidate list. The scanning order of the first history memory (i=the number of elements of HMVPCandList1-1..0) is such that the last element of the FIFO in the storage details of the history memory has priority. On the contrary, in the configuration in which the first element of the FIFO is prioritized, the scanning order may be i=0..HMVPCandList1 element number-1.

(ヒストリメモリ参照の予測ベクトル導出詳細)
以下、AMVP予測パラメータ導出部3032のS3411の動作を詳細に説明する。
(Details of derivation of prediction vector with reference to history memory)
Hereinafter, the operation of S3411 of the AMVP prediction parameter derivation unit 3032 will be described in detail.

図31は、第1ヒストリメモリを用いたAMVP予測パラメータ導出部3032の動作を示すフロ
ーチャートである。
S3211:隣接ブロックAの動きベクトルmvLXAが存在する場合には、予測ベクトル候補リストにmvLXAを格納しインデックスiをインクリメントする。
FIG. 31 is a flowchart showing the operation of the AMVP prediction parameter derivation unit 3032 using the first history memory.
S3211: If the motion vector mvLXA of the adjacent block A exists, mvLXA is stored in the prediction vector candidate list and the index i is incremented.

mvpListLX[ i++ ] = mvLXA
S3212:隣接ブロックBの動きベクトルmvLXBが存在し、mvLXBがmvLXAと異なる場合(
mvLXA != mvLXB )には、予測ベクトル候補リストにmvLXBを格納しインデックスiをインクリメントする。
mvpListLX[ i++ ]= mvLXA
S3212: When the motion vector mvLXB of the adjacent block B exists and mvLXB is different from mvLXA (
mvLXA != mvLXB) stores mvLXB in the prediction vector candidate list and increments the index i.

mvpListLX[ i++ ] = mvLXB
S3213:導出された候補数(インデックスi)が最大候補数(例えば2)より小さい場合には、第1ヒストリメモリHMVPCandListの動きベクトルを予測ベクトル候補リストにmvLXBに格納する。
mvpListLX[ i++ ]= mvLXB
S3213: When the number of derived candidates (index i) is smaller than the maximum number of candidates (for example, 2), the motion vector of the first history memory HMVPCandList is stored in mvLXB in the prediction vector candidate list.

mvpListLX[ i++ ] = HMVPCandList[j]
より具体的には、第1ヒストリメモリのインデックスjを用いて、第1ヒストリメモリの参照ピクチャリスト、インデックス、および、動きベクトルを参照し、第1ヒストリメモリの参照ピクチャ(ListLX of HMVPCandList[j])が符号化ユニットの参照ピクチャRefPicListX[ refIdxLX ]と等しく、HMVPCandList[j]の動きベクトルが、予測ベクトル候補リストmvpListLXの動きベクトルと異なる場合に、第1ヒストリメモリHMVPCandListの動きベクトルを予測ベクトル候補リストに格納する。
S3214:導出された候補数(インデックスi)が最大候補数(例えば2)より小さい場合には、ゼロベクトル(0, 0)を予測ベクトル候補リストに格納する。
mvpListLX[ i++ ]= HMVPCandList[j]
More specifically, the reference picture list, index, and motion vector of the first history memory are referenced using the index j of the first history memory, and the reference picture of the first history memory (ListLX of HMVPCandList[j] ) Is equal to the reference picture RefPicListX[ refIdxLX] of the encoding unit and the motion vector of HMVPCandList[j] is different from the motion vector of the prediction vector candidate list mvpListLX, the motion vector of the first history memory HMVPCandList is calculated as the prediction vector candidate list. To store.
S3214: When the number of derived candidates (index i) is smaller than the maximum number of candidates (for example, 2), the zero vector (0, 0) is stored in the prediction vector candidate list.

mvpListLX[ i ][ 0 ] = 0
mvpListLX[ i ][ 1 ] = 0
(構成1のヒストリメモリ格納・更新処理3510)
構成1では、ヒストリメモリ更新処理S3510として以下の処理によってヒストリメモリを格納する。
mvpListLX[ i ][ 0 ]=0
mvpListLX[ i ][ 1 ]=0
(History memory storing/updating process 3510 of configuration 1)
In the configuration 1, the history memory is stored by the following processing as the history memory updating processing S3510.

S3511 インター予測パラメータ導出部は、符号化ユニットのインター予測パラメータを導出する。 S3511 The inter prediction parameter derivation|leading-out part derives the inter prediction parameter of an encoding unit.

S3512 ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ以上であるか否かを判定する。共有サイズ以上の場合はS3513に遷移し、それ以外の場合はS3514に遷移する。 S3512 The history storage unit 351 determines whether or not the size of the encoding unit is equal to or larger than the shared size. If it is equal to or larger than the shared size, the process moves to S3513, and otherwise, the process moves to S3514.

S3513 ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ以上である場合に、符号化ユニットのインター予測パラメータmvCandを第1ヒストリメモリに格納する。 S3513 The history storage unit 351 stores the inter prediction parameter mvCand of the coding unit in the first history memory when the size of the coding unit is equal to or larger than the shared size.

HMVPCandList1[tempIdx] = mvCand
S3514 ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ未満である場合に、符号化ユニットのインター予測パラメータmvCandを第2ヒストリメモリに格納する。
HMVPCandList1[tempIdx] = mvCand
S3514 The history storage unit 351 stores the inter prediction parameter mvCand of the coding unit in the second history memory when the size of the coding unit is less than the shared size.

HMVPCandList2[tempIdx] = mvCand
(ヒストリメモリへの格納詳細)
以下、第1ヒストリメモリ(メインメモリ)へのmvCand格納方法を説明する。第2ヒストリメモリへのmvCand格納方法も以下の方法と同じ方法をとってもよいし(但し第1ヒス
トリメモリHMVPCandList1を第2ヒストリメモリHMVPCandList2で置き換える)、より簡易な方法でもよい。
HMVPCandList2[tempIdx] = mvCand
(Details of storage in history memory)
Hereinafter, a method of storing mvCand in the first history memory (main memory) will be described. The method of storing mvCand in the second history memory may be the same as the following method (however, the first history memory HMVPCandList1 is replaced with the second history memory HMVPCandList2), or a simpler method may be used.

符号化ユニットのインター予測パラメータmvCandが、第1ヒストリメモリのHMVPCandList1[]の要素の動きベクトル、参照ピクチャインデックスと異なる場合には、インター予測パラメータmvCandを第1ヒストリメモリに格納する。 If the inter prediction parameter mvCand of the coding unit is different from the motion vector and the reference picture index of the element of HMVPCandList1[] of the first history memory, the inter prediction parameter mvCand is stored in the first history memory.

HMVPCandList1[tempIdx] = mvCand
より具体的には、0から第1ヒストリメモリの要素数HMVPCandNum1-1の範囲の、あるループ変数HMVPIdxについて、HMVPCandList1[HMVPIdx]を走査し、第1ヒストリメモリ中の要素の動きベクトル、参照ピクチャインデックスとは異なるmvCandを見つける。このときのループ変数の値はHMVPIdxである。同じ要素が見つかった場合には、sameCandを真とする。
HMVPCandList1[tempIdx] = mvCand
More specifically, HMVPCandList1[HMVPIdx] is scanned for a loop variable HMVPIdx in the range from 0 to the number of elements in the first history memory, HMVPCandNum1-1, and the motion vector of the element in the first history memory and the reference picture index. Find a different mvCand. The value of the loop variable at this time is HMVPIdx. If the same element is found, then sameCand is true.

新しく挿入する要素mvCandが最後に格納されるFIFOを実現するため、第1ヒストリメモリの各々の要素の位置をひとつずつ前にずらす。 In order to realize the FIFO in which the newly inserted element mvCand is stored at the end, the position of each element of the first history memory is moved forward by one.

HMVPCandList1[ tempIdx-1] = HMVPCandList1[ tempIdx ]
ここで、tempIdxはHMVPCandNum-1から1までデクリメントする。
HMVPCandList1[ tempIdx-1] = HMVPCandList1[ tempIdx]
Here, tempIdx decrements from HMVPCandNum-1 to 1.

なお、同じ要素が見つかった場合(sameCandが真)の場合には、同じ要素が見つかった以降をずらす処理をおこなってもよい。 When the same element is found (sameCand is true), a process of shifting after the same element is found may be performed.

tempIdx = HMVPCandNum-1から(sameCand ? HMVPIdx :1)までデクリメントする。 Decrement from tempIdx = HMVPCandNum-1 to (sameCand? HMVPIdx :1).

第1ヒストリメモリの最後の要素に、mvCandを追加する。 Add mvCand to the last element of the first history memory.

HMVPCandList1[HMVPCandNum - 1] = mvCand
上記は、新しく挿入する要素mvCandが最後に格納されるFIFOであったが、新しく挿入する要素が最初に格納されるFIFOで実現してもよい。この場合、以下の処理を行う。
第1ヒストリメモリの各々の要素の位置をひとつずつ後にずらす。
HMVPCandList1[HMVPCandNum-1] = mvCand
The above is the FIFO in which the newly inserted element mvCand is stored at the end, but it may be realized by the FIFO in which the newly inserted element is stored first. In this case, the following processing is performed.
The position of each element of the first history memory is moved back one by one.

HMVPCandList1[ tempIdx ] = HMVPCandList1[ tempIdx - 1]
ここで、tempIdx = 1からHMVPCandNum-1までインクリメントする。
HMVPCandList1[ tempIdx ]= HMVPCandList1[ tempIdx-1]
Here, increment from tempIdx = 1 to HMVPCandNum-1.

なお、同じ要素が見つかった場合(sameCandが真)の場合には、同じ要素が見つかった以降をずらす処理をおこなってもよい。 When the same element is found (sameCand is true), a process of shifting after the same element is found may be performed.

tempIdx = (sameCand ? HMVPIdx :1) からHMVPCandNum-1までインクリメントする。 Increment from tempIdx = (sameCand? HMVPIdx :1) to HMVPCandNum-1.

第1ヒストリメモリの先頭要素に、mvCandを追加する。 Add mvCand to the top element of the first history memory.

HMVPCandList1[0] = mvCand
図32は、構成1のヒストリ格納部351のヒストリメモリの追加更新処理の動作を説明するフローチャートである。
HMVPCandList1[0] = mvCand
FIG. 32 is a flowchart illustrating the operation of the history memory addition/update processing of the history storage unit 351 of the configuration 1.

S3515 ヒストリ格納部351は、符号化ノードのサイズが所定の共有サイズ以上である場合に、S3516に遷移する。 S3515 The history storage unit 351 transitions to S3516 when the size of the coding node is equal to or larger than the predetermined shared size.

S3516 ヒストリ格納部351は、符号化ノードのサイズが所定の共有サイズ以上で
ある場合に、第2ヒストリメモリの内容を第1ヒストリメモリに追加する。
S3516 The history storage unit 351 adds the content of the second history memory to the first history memory when the size of the coding node is equal to or larger than the predetermined shared size.

HMVPCandList1[j] = HMVPCandList2[i]
なお、S3515は符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致しているかを条件としてもよい。この場合、符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致している場合に、第2ヒストリメモリの内容を第1ヒストリメモリに追加する。
HMVPCandList1[j] = HMVPCandList2[i]
Note that S3515 may be conditioned on whether the upper left coordinates of the encoding unit or the encoding node match the upper left coordinates of the shared encoding block. In this case, the contents of the second history memory are added to the first history memory when the upper left coordinate of the encoding unit or the encoding node matches the upper left coordinate of the shared encoding block.

(第2ヒストリメモリから第1ヒストリメモリへの追加詳細)
第2ヒストリメモリHMVPCandList2[i](i=HMVPCandList2の要素数-1..0)を走査し、第1ヒストリメモリHMVPCandList1[i](i=HMVPCandList1の要素数-1..0)を走査し、HMVPCandListの要素に対し同じ動きベクトル、かつ、同じ参照ピクチャインデックスではない(動きベクトルもしくは参照ピクチャインデックスが異なる)HMVPCandList2の要素iを見つけ、HMVPCandList1に追加する。
(Details of addition from the second history memory to the first history memory)
The second history memory HMVPCandList2[i] (i=HMVPCandList2 element number-1..0) is scanned, and the first history memory HMVPCandList1[i] (i=HMVPCandList1 element number-1..0) is scanned. Find the element i of HMVPCandList2 that is not the same motion vector and the same reference picture index (different motion vector or reference picture index) for the elements of HMVPCandList and add it to HMVPCandList1.

上記、構成の動画像符号化装置もしくは動画像復号装置によれば、共有符号化ブロック内の更新を一時ヒストリメモリに限定することによって、ヒストリメモリを用いる場合にも共有符号化ブロックで同一のマージ候補、予測ベクトル候補を導出する共有マージを実現できる効果を奏する。さらに、一時ヒストリメモリ(第2ヒストリメモリ)の内容をメインヒストリメモリに追加することによって、共有マージを用いながら、ヒストリメモリの性能を実現できる効果を奏する。 According to the moving picture coding apparatus or the moving picture decoding apparatus having the above configuration, by limiting the update in the shared coding block to the temporary history memory, the same merge is performed in the shared coding block even when the history memory is used. This has the effect of realizing shared merging for deriving candidates and prediction vector candidates. Furthermore, by adding the contents of the temporary history memory (second history memory) to the main history memory, it is possible to achieve the performance of the history memory while using the shared merge.

(共有マージを用いる場合のヒストリ動きベクトル導出の構成2)
構成2は、共有符号化ブロック内の符号化ユニットにおいても、(メイン)ヒストリメモリの更新を継続する代わりに、更新を停止するコピーヒストリメモリを用意し、ヒストリメモリを利用するマージ候補、予測ベクトル候補の導出においては、コピーヒストリメモリを用いる構成である。共有符号化ブロックの左上ブロックでメインヒストリメモリの内容をコピーヒストリメモリにコピーする。
(Structure 2 of history motion vector derivation when shared merging is used)
In the configuration 2, even in the coding unit in the shared coding block, instead of continuing the update of the (main) history memory, a copy history memory that stops the update is prepared, and a merge candidate and a prediction vector that use the history memory are prepared. A copy history memory is used to derive the candidates. The contents of the main history memory are copied to the copy history memory in the upper left block of the shared coding block.

図33は、本発明の実施形態のヒストリマージ候補導出部3052、ヒストリ格納部352を備える動画像復号装置の別の構成を示すブロック図である。ヒストリ格納部352は、第1ヒストリメモリ(メインヒストリメモリ)と、第2ヒストリメモリ(コピーヒストリメモリ、非更新ヒストリメモリ)を備える。マージ候補導出部30361の備えるヒストリマージ候補導出部3052は、第1ヒストリメモリもしくは第2ヒストリメモリを参照して、ヒストリマージ候補を導出する。AMVP予測パラメータ導出部3032も、第1ヒストリメモリもしくは第2ヒストリメモリを参照して、AMVP候補を導出する。 FIG. 33 is a block diagram showing another configuration of the moving image decoding apparatus including the history merge candidate derivation unit 3052 and the history storage unit 352 according to the embodiment of this invention. The history storage unit 352 includes a first history memory (main history memory) and a second history memory (copy history memory, non-update history memory). The history merge candidate derivation unit 3052 included in the merge candidate derivation unit 30361 refers to the first history memory or the second history memory to derive the history merge candidate. The AMVP prediction parameter derivation unit 3032 also derives an AMVP candidate by referring to the first history memory or the second history memory.

図29(b)は、本実施形態のヒストリマージの処理を示す図である。図に示すように、ヒストリマージ候補導出部3052とAMVP予測パラメータ導出部3032は、符号化ユニットのサイズに応じて、第1ヒストリメモリもしくは第2ヒストリメモリを参照する。具体的には、符号化ユニットのサイズが所定共有サイズ以上の場合に、第1ヒストリメモリを参照し、符号化ユニットのサイズが所定共有サイズ未満の場合に、第2ヒストリメモリを参照する。ヒストリ格納部352は、符号化ユニットのサイズに関わらず符号化ユニットのインター予測パラメータを第1ヒストリメモリに格納する。 FIG. 29(b) is a diagram showing a history merge process of this embodiment. As shown in the figure, the history merge candidate derivation unit 3052 and the AMVP prediction parameter derivation unit 3032 refer to the first history memory or the second history memory according to the size of the coding unit. Specifically, the first history memory is referred to when the size of the encoding unit is equal to or larger than the predetermined shared size, and the second history memory is referred to when the size of the encoding unit is smaller than the predetermined shared size. The history storage unit 352 stores the inter prediction parameter of the coding unit in the first history memory regardless of the size of the coding unit.

図34は、本発明の実施形態のヒストリマージ候補導出部3052、ヒストリ格納部352の別の構成の動作を説明するフローチャートである。 FIG. 34 is a flowchart illustrating the operation of another configuration of the history merge candidate derivation unit 3052 and the history storage unit 352 according to the embodiment of this invention.

(構成2のヒストリメモリ参照処理S3420)
構成2では、以下の処理によってヒストリメモリを参照し、インター予測パラメータ。
を導出する。
(History memory reference process of configuration 2 S3420)
In the configuration 2, the history memory is referred to by the following processing, and the inter prediction parameter is set.
Derive.

S3421 ヒストリ格納部351は、符号化ユニットのサイズが共有サイズ以上であるか否かを判定する。共有サイズ以上の場合はS3422に遷移し、それ以外の場合はS3423に遷移する。 S3421 The history storage unit 351 determines whether or not the size of the encoding unit is equal to or larger than the shared size. If it is equal to or larger than the shared size, the process moves to S3422, and otherwise, the process moves to S3423.

S3422 ヒストリマージ候補導出部3052とAMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ以上である場合に、第1ヒストリメモリを参照して、インター予測パラメータを導出する。 S3422 The history merge candidate derivation unit 3052 and the AMVP prediction parameter derivation unit 3032 derive the inter prediction parameter by referring to the first history memory when the size of the coding unit is equal to or larger than the shared size.

S3423 ヒストリマージ候補導出部3052とAMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ未満である場合に、第2ヒストリメモリを参照して、インター予測パラメータを導出する。 S3423 The history merge candidate derivation unit 3052 and the AMVP prediction parameter derivation unit 3032 derive the inter prediction parameter by referring to the second history memory when the size of the coding unit is less than the shared size.

(ヒストリメモリ参照のマージ候補導出詳細)
以下、ヒストリマージ候補導出部3052の第1ヒストリメモリを参照するインター予測パラメータ導出(S3422)の処理は、以下である。
(Details of deriving merge candidates from history memory reference)
Hereinafter, the process of deriving an inter prediction parameter (S3422) that refers to the first history memory of the history merge candidate derivation unit 3052 is as follows.

mergeCandList[numCurrMergeCand++] = HMVPCandList1[i]
詳細は、第1構成で説明したヒストリメモリ参照のマージ候補導出詳細と同じであるので説明を省略する。
mergeCandList[numCurrMergeCand++] = HMVPCandList1[i]
Since the details are the same as the details of deriving the merge candidate of the history memory reference described in the first configuration, the description will be omitted.

以下、ヒストリマージ候補導出部3052の第2ヒストリメモリを参照するインター予測パラメータ導出(S3423)の具体的処理は、以下である。 The specific process of deriving the inter prediction parameter (S3423) of the history merge candidate derivation unit 3052 that refers to the second history memory is as follows.

mergeCandList[numCurrMergeCand++] = HMVPCandList2[i]
詳細は第1構成で説明したヒストリメモリ参照のマージ候補導出詳細において、第1ヒストリメモリHMVPCandList1を第2ヒストリメモリHMVPCandList2と読み替える以外同じであるので説明を省略する。
mergeCandList[numCurrMergeCand++] = HMVPCandList2[i]
The details are the same except that the first history memory HMVPCandList1 is replaced with the second history memory HMVPCandList2 in the details of deriving the merge candidates of the history memory reference described in the first configuration, and thus the description is omitted.

(ヒストリメモリ参照の予測ベクトル導出詳細)
以下、AMVP予測パラメータ導出部3032のS3420の動作を詳細に説明する。
(Details of derivation of prediction vector with reference to history memory)
Hereinafter, the operation of S3420 of the AMVP prediction parameter derivation unit 3032 will be described in detail.

図35は、本実施形態のAMVP予測パラメータ導出部3032の動作を示すフローチャートである。
S3221:隣接ブロックAの動きベクトルmvLXAが存在する場合には、予測ベクトル候補リストにmvLXAを格納しインデックスiをインクリメントする。
FIG. 35 is a flowchart showing the operation of the AMVP prediction parameter derivation unit 3032 of this embodiment.
S3221: When the motion vector mvLXA of the adjacent block A exists, mvLXA is stored in the prediction vector candidate list and the index i is incremented.

mvpListLX[ i++ ] = mvLXA
S3222:隣接ブロックBの動きベクトルmvLXBが存在し、mvLXBがmvLXAと異なる場合(
mvLXA != mvLXB )には、予測ベクトル候補リストにmvLXBを格納しインデックスiをインクリメントする。
mvpListLX[ i++ ]= mvLXA
S3222: When the motion vector mvLXB of the adjacent block B exists and mvLXB is different from mvLXA (
mvLXA != mvLXB) stores mvLXB in the prediction vector candidate list and increments the index i.

mvpListLX[ i++ ] = mvLXB
S3223A ヒストリ格納部352は、符号化ユニットのサイズが共有サイズ以上であるか否かを判定する。共有サイズ以上の場合はS3223Bに遷移し、それ以外の場合はS3223Cに遷移する。
S3223B AMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ以上である場合に、第1ヒストリメモリを参照して、インター予測パラメータを導出する。導出された候補数(インデックスi)が最大候補数(例えば2)より小さい場合には、
第1ヒストリメモリHMVPCandList1の動きベクトルを予測ベクトル候補リストmvpListLXに格納する。
mvpListLX[ i++ ]= mvLXB
S3223A The history storage unit 352 determines whether the size of the encoding unit is equal to or larger than the shared size. If it is equal to or larger than the shared size, the process transitions to S3223B, and otherwise, the process transitions to S3223C.
The S3223B AMVP prediction parameter derivation unit 3032 derives the inter prediction parameter by referring to the first history memory when the size of the coding unit is equal to or larger than the shared size. When the number of derived candidates (index i) is smaller than the maximum number of candidates (for example, 2),
The motion vector of the first history memory HMVPCandList1 is stored in the prediction vector candidate list mvpListLX.

mvpListLX[ i++ ] = HMVPCandList1[j]
なお、ヒストリメモリへの格納においてFIFOが先頭要素を優先する構成ではj=0とし、FIFOが最後の要素を優先する構成ではj = HMVPCandNum -1としてもよい。
より具体的には、第1ヒストリメモリのインデックスjを用いて、第1ヒストリメモリの参照ピクチャリスト、インデックス、および、動きベクトルを参照し、第1ヒストリメモリの参照ピクチャ(ListLX of HMVPCandList1[j])が符号化ユニットの参照ピクチャRefPicListX[ refIdxLX ]と等しく、HMVPCandList1[j]の動きベクトルが予測ベクトル候補リストmvpListLXの動きベクトルと異なる場合に、第1ヒストリメモリHMVPCandList1の動きベクトルを予測ベクトル候補リストに格納する。
S3223C AMVP予測パラメータ導出部3032は、符号化ユニットのサイズが共有サイズ未満である場合に、第2ヒストリメモリを参照して、インター予測パラメータを導出する。以下の処理はHMVPCandList1がHMVPCandList2になることを除いてS3223Bと同一である。導出された候補数(インデックスi)が最大候補数(例えば2)より小さい場合には、第2ヒストリメモリHMVPCandListの動きベクトルを予測ベクトル候補リストに格納する。
mvpListLX[ i++ ]= HMVPCandList1[j]
Note that j = HMVPCandNum -1 may be set in the configuration in which the FIFO gives priority to the first element in the storage to the history memory, and j = HMVPCandNum -1 in the configuration in which the FIFO gives priority to the last element.
More specifically, the reference picture list, index, and motion vector of the first history memory are referenced using the index j of the first history memory, and the reference picture of the first history memory (ListLX of HMVPCandList1[j] ) Is equal to the reference picture RefPicListX[ refIdxLX] of the coding unit and the motion vector of HMVPCandList1[j] is different from the motion vector of the prediction vector candidate list mvpListLX, the motion vector of the first history memory HMVPCandList1 is set as the prediction vector candidate list. Store.
The S3223C AMVP prediction parameter derivation unit 3032 derives the inter prediction parameter by referring to the second history memory when the size of the coding unit is less than the shared size. The following processing is the same as S3223B except that HMVPCandList1 becomes HMVPCandList2. When the derived number of candidates (index i) is smaller than the maximum number of candidates (for example, 2), the motion vector of the second history memory HMVPCandList is stored in the predicted vector candidate list.

mvpListLX[ i++ ] = HMVPCandList2[j]
なお、ヒストリメモリへの格納詳細におけるFIFOが先頭要素を優先する構成ではj=0とし、FIFOが最後の要素を優先する構成ではj=HMVPCandNum-1としてもよい。
より具体的には、第2ヒストリメモリのインデックスjを用いて、第2ヒストリメモリの参照ピクチャリストとインデックスと、動きベクトルを参照し、第2ヒストリメモリの参照ピクチャリスト(ListLX of HMVPCandList2[j])が符号化ユニットの参照ピクチャRefPicListX[ refIdxLX ]と等しく、HMVPCandList2[j]の動きベクトルが、予測ベクトル候補リストmvpListLXの動きベクトルと異なる場合に、第2ヒストリメモリHMVPCandList2の動きベクトルを予測ベクトル候補リストに格納する。
S3224:導出された候補数(インデックスi)が最大候補数(例えば2)より小さい場合には、ゼロベクトル(0, 0)を予測ベクトル候補リストにmvLXBに格納する。
mvpListLX[ i++ ]= HMVPCandList2[j]
It should be noted that j=0 may be set in the configuration in which the first element has priority in the storage details in the history memory, and j=HMVPCandNum-1 in the configuration in which the FIFO gives priority to the last element.
More specifically, the reference picture list and index of the second history memory and the motion vector are referred to by using the index j of the second history memory, and the reference picture list of the second history memory (ListLX of HMVPCandList2[j] ) Is equal to the reference picture RefPicListX[ refIdxLX] of the encoding unit and the motion vector of HMVPCandList2[j] is different from the motion vector of the prediction vector candidate list mvpListLX, the motion vector of the second history memory HMVPCandList2 is calculated as the prediction vector candidate list. To store.
S3224: If the number of derived candidates (index i) is smaller than the maximum number of candidates (eg, 2), the zero vector (0, 0) is stored in mvLXB in the prediction vector candidate list.

mvpListLX[ i ][ 0 ] = 0
mvpListLX[ i ][ 1 ] = 0
(構成2のヒストリメモリ格納・更新処理3520)
構成2では、ヒストリメモリ格納・更新処理3520として以下のS3522の処理によってヒストリメモリを格納する。
mvpListLX[ i ][ 0 ]=0
mvpListLX[ i ][ 1 ]=0
(History memory storing/updating process 3520 of configuration 2)
In the configuration 2, as the history memory storing/updating process 3520, the history memory is stored by the process of S3522 below.

S3522 ヒストリ格納部352は、符号化ユニットのインター予測パラメータを第1ヒストリメモリに格納する。 S3522 The history storage unit 352 stores the inter prediction parameter of the coding unit in the first history memory.

HMVPCandList1[tempIdx] = mvCand
詳細は、第1の構成のヒストリメモリ格納方法で説明したとおりであるのでここでは省略する。
HMVPCandList1[tempIdx] = mvCand
The details are as described in the history memory storing method of the first configuration, and are omitted here.

(構成2のヒストリメモリ追加更新処理)
図36は、構成2のヒストリ格納部352のヒストリメモリの追加更新処理の動作を説明するフローチャートである。
(History memory addition/update process of configuration 2)
FIG. 36 is a flowchart for explaining the operation of the history memory additional update processing of the history storage unit 352 of the configuration 2.

S3525 ヒストリ格納部352は、符号化ノードのサイズが所定の共有サイズ以上である場合に、S3526に遷移する。 S3525 The history storage unit 352 transitions to S3526 when the size of the encoding node is equal to or larger than the predetermined shared size.

S3526 ヒストリ格納部352は、符号化ノードのサイズが所定の共有サイズ以上である場合に、第1ヒストリメモリHMVPCandList1の内容を第2ヒストリメモリHMVPCandList2にコピーする。 S3526 The history storage unit 352 copies the content of the first history memory HMVPCandList1 to the second history memory HMVPCandList2 when the size of the encoding node is equal to or larger than the predetermined shared size.

HMVPCandList2[j] = HMVPCandList1[j]
ここではj = 0.. HMVPCandList1の要素数-1である。
HMVPCandList2[j] = HMVPCandList1[j]
Here j = 0.. The number of elements of HMVPCandList1 is -1.

なお、S3525は符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致しているかを条件としてもよい。この場合、符号化ユニットもしくは符号化ノードの左上座標が共有符号化ブロックの左上座標と一致している場合に、第1ヒストリメモリの内容を第2ヒストリメモリにコピーする。 Note that S3525 may be conditioned on whether the upper left coordinates of the coding unit or the coding node match the upper left coordinates of the shared coding block. In this case, when the upper left coordinate of the encoding unit or the encoding node matches the upper left coordinate of the shared encoding block, the contents of the first history memory are copied to the second history memory.

上記の処理は、符号化ノードでの処理であるのでCT情報符号化部1111もしくはCT情報復号部3021がヒストリ格納部352のヒストリメモリに対して行ってもよい。 Since the above processing is processing in the encoding node, the CT information encoding unit 1111 or the CT information decoding unit 3021 may perform it on the history memory of the history storage unit 352.

上記、構成の動画像符号化装置もしくは動画像復号装置によれば、共有符号化ブロック内の参照をコピーヒストリメモリに限定することによって、ヒストリメモリを用いる場合にも共有符号化ブロックで同一のマージ候補、予測ベクトル候補を導出する共有マージを実現できる効果を奏する。さらに、共有符号化ブロック内でもメインヒストリメモリの更新を継続することによって、共有マージを用いながら、ヒストリメモリの性能を実現できる効果を奏する。 According to the moving picture coding apparatus or the moving picture decoding apparatus having the above configuration, by limiting the reference in the shared coding block to the copy history memory, even if the history memory is used, the same merge is performed in the shared coding block. This has the effect of realizing shared merging for deriving candidates and prediction vector candidates. Further, by continuing to update the main history memory even within the shared coded block, it is possible to achieve the performance of the history memory while using the shared merge.

MV加算部3038は、AMVP予測パラメータ導出部3032から入力された予測ベクトルmvpLXと復号した差分ベクトルmvdLXを加算して動きベクトルmvLXを算出する。MV加算部3038は、算出した動きベクトルmvLXを予測画像生成部308および予測パラメータメモリ307に出力する。 The MV addition unit 3038 adds the prediction vector mvpLX input from the AMVP prediction parameter derivation unit 3032 and the decoded difference vector mvdLX to calculate the motion vector mvLX. The MV addition unit 3038 outputs the calculated motion vector mvLX to the prediction image generation unit 308 and the prediction parameter memory 307.

mvLX[0] = mvpLX[0]+mvdLX[0]
mvLX[1] = mvpLX[1]+mvdLX[1]
またamvr_modeから導出されるMvShift (=1<<amvr_mode)を用いて逆量子化してもよい。
mvLX[0] = mvpLX[0]+mvdLX[0]
mvLX[1] = mvpLX[1]+mvdLX[1]
Also, inverse quantization may be performed using MvShift (=1<<amvr_mode) derived from amvr_mode.

mvdL0[0] = mvdLX[0] << (MvShift + 2)
mvdL0[1] = mvdLX[1] << (MvShift + 2)
ループフィルタ305は、符号化ループ内に設けたフィルタで、ブロック歪やリンギング歪を除去し、画質を改善するフィルタである。ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)等のフィルタを施す。
mvdL0[0] = mvdLX[0] << (MvShift + 2)
mvdL0[1] = mvdLX[1] << (MvShift + 2)
The loop filter 305 is a filter provided in the coding loop and removes block distortion and ringing distortion and improves image quality. The loop filter 305 applies filters such as a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the CU decoded image generated by the addition unit 312.

参照ピクチャメモリ306は、加算部312が生成したCUの復号画像を、対象ピクチャ及び対象CU毎に予め定めた位置に記憶する。 The reference picture memory 306 stores the decoded image of the CU generated by the addition unit 312 at a predetermined position for each target picture and target CU.

予測パラメータメモリ307は、復号対象のCTUあるいはCU毎に予め定めた位置に予測パラメータを記憶する。具体的には、予測パラメータメモリ307は、パラメータ復号部302が復号したパラメータ及びエントロピー復号部301が復号した予測モードpredMode等を記憶する。 The prediction parameter memory 307 stores the prediction parameter in a predetermined position for each CTU or CU to be decoded. Specifically, the prediction parameter memory 307 stores the parameters decoded by the parameter decoding unit 302, the prediction mode predMode decoded by the entropy decoding unit 301, and the like.

予測画像生成部308には、予測モードpredMode、予測パラメータ等が入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードpredModeが示す予測モードで、予測パラメータと読み出した参
照ピクチャ(参照ピクチャブロック)を用いてブロックもしくはサブブロックの予測画像を生成する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合(通常矩形であるのでブロックと呼ぶ)であり、予測画像を生成するために参照する領域である。
A prediction mode predMode, a prediction parameter, and the like are input to the prediction image generation unit 308. Further, the predicted image generation unit 308 reads the reference picture from the reference picture memory 306. The predicted image generation unit 308 generates a predicted image of a block or sub-block using the prediction parameter and the read reference picture (reference picture block) in the prediction mode indicated by the prediction mode predMode. Here, the reference picture block is a set of pixels on the reference picture (usually called a block because it is a rectangle), and is an area referred to for generating a predicted image.

(インター予測画像生成部309)
予測モードpredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ導出部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測によりブロックもしくはサブブロックの予測画像を生成する。
(Inter prediction image generation unit 309)
When the prediction mode predMode indicates the inter prediction mode, the inter prediction image generation unit 309 uses the inter prediction parameter input from the inter prediction parameter derivation unit 303 and the read reference picture to predict a block or sub-block predicted image. To generate.

図AA19は、本実施形態に係る予測画像生成部308に含まれるインター予測画像生成部309の構成を示す概略図である。インター予測画像生成部309は、動き補償部(予測画像生成装置)3091、重み予測部3094を含んで構成される。 FIG. AA19 is a schematic diagram showing the configuration of the inter-prediction image generation unit 309 included in the prediction image generation unit 308 according to this embodiment. The inter prediction image generation unit 309 includes a motion compensation unit (prediction image generation device) 3091 and a weight prediction unit 3094.

(動き補償)
動き補償部3091(補間画像生成部3091)は、インター予測パラメータ導出部303から入力された、インター予測パラメータ(予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLX)に基づいて、参照ピクチャメモリ306から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャRefPicLXにおける、対象ブロックの位置を起点として動きベクトルmvLXだけシフトした位置にあるブロックを読み出すことによって補間画像(動き補償画像)を生成する。ここで、動きベクトルmvLXの精度が整数精度でない場合には、動き補償フィルタと呼ばれる小数位置の画素を生成するためのフィルタを施して、補間画像を生成する。
(Motion compensation)
The motion compensation unit 3091 (interpolation image generation unit 3091) uses the reference picture memory based on the inter prediction parameters (prediction list use flag predFlagLX, reference picture index refIdxLX, motion vector mvLX) input from the inter prediction parameter derivation unit 303. From 306, an interpolation image (motion compensation image) is generated by reading a block at a position shifted by the motion vector mvLX from the position of the target block in the reference picture RefPicLX specified by the reference picture index refIdxLX. Here, when the precision of the motion vector mvLX is not an integer precision, a filter called a motion compensation filter for generating pixels at decimal positions is applied to generate an interpolated image.

動き補償部3091は、まず、予測ブロック内座標(x,y)に対応する整数位置(xInt,yInt)および位相(xFrac,yFrac)を以下の式で導出する。 The motion compensation unit 3091 first derives the integer position (xInt, yInt) and the phase (xFrac, yFrac) corresponding to the coordinate (x, y) in the prediction block by the following formula.

xInt = xPb+(mvLX[0]>>(log2(MVBIT)))+x
xFrac = mvLX[0]&(MVBIT-1)
yInt = yPb+(mvLX[1]>>(log2(MVBIT)))+y
yFrac = mvLX[1]&(MVBIT-1)
ここで、(xPb,yPb)は、bW*bHサイズのブロックの左上座標、x=0…bW-1、y=0…bH-1であり、MVBITは、動きベクトルmvLXの精度(1/(2^MVBIT)画素精度)を示す。
xInt = xPb+(mvLX[0]>>(log2(MVBIT)))+x
xFrac = mvLX[0]&(MVBIT-1)
yInt = yPb+(mvLX[1]>>(log2(MVBIT)))+y
yFrac = mvLX[1]&(MVBIT-1)
Here, (xPb, yPb) is the upper left coordinate of the block of size bW*bH, x=0...bW-1, y=0...bH-1, and MVBIT is the precision of the motion vector mvLX (1/( 2^MVBIT) Pixel accuracy).

動き補償部3091は、参照ピクチャrefImgに補間フィルタを用いて水平補間処理を行うことで、一時的画像temp[][]を導出する。以下のΣはk=0..NTAP-1のkに関する和、shift1は値のレンジを調整する正規化パラメータ、offset1=1<<(shift1-1)である。 The motion compensation unit 3091 derives a temporary image temp[][] by performing horizontal interpolation processing on the reference picture refImg using an interpolation filter. Σ below is the sum of k=0..N for k in NTAP-1, shift1 is a normalization parameter for adjusting the range of values, offset1=1<<(shift1-1).

temp[x][y] = (ΣmcFilter[xFrac][k]*refImg[xInt+k-NTAP/2+1][yInt]+offset1)>>shift1
続いて、動き補償部3091は、一時的画像temp[][]を垂直補間処理により、補間画像Pred[][]を導出する。以下のΣはk=0..NTAP-1のkに関する和、shift2は値のレンジを調整する正規化パラメータ、offset2=1<<(shift2-1)である。
temp[x][y] = (ΣmcFilter[xFrac][k]*refImg[xInt+k-NTAP/2+1][yInt]+offset1)>>shift1
Subsequently, the motion compensation unit 3091 derives an interpolated image Pred[][] by performing vertical interpolation processing on the temporary image temp[][]. Σ below is the sum of k=0..N for k in NTAP-1, shift2 is a normalization parameter for adjusting the range of values, and offset2=1<<(shift2-1).

Pred[x][y] = (ΣmcFilter[yFrac][k]*temp[x][y+k-NTAP/2+1]+offset2)>>shift2 なお、双予測の場合は、上記のPred[][]をL0リスト、L1リスト毎に導出し(補間画像PredL0[][]とPredL1[][]と呼ぶ)、補間画像PredL0[][]と補間画像PredL1[][]から補間画像Pred[][]を生成する。 Pred[x][y] = (ΣmcFilter[yFrac][k]*temp[x][y+k-NTAP/2+1]+offset2)>>shift2 In the case of bi-prediction, the above Pred[ ][] is derived for each L0 list and L1 list (interpolated images PredL0[][] and PredL1[][]), and the interpolated image PredL0[][] and the interpolated image PredL1[][] [][] is generated.

(重み予測)
重み予測部3094は、補間画像PredLXに重み係数を乗算することによりブロックの予測画像を生成する。予測リスト利用フラグの一方(predFlagL0もしくはpredFlagL1)が1(単予測)、かつ、重み予測を用いない場合、補間画像PredLX(LXはL0もしくはL1)を画素ビット数bitDepthに合わせる以下の式の処理を行う。
(Weight prediction)
The weight prediction unit 3094 generates the predicted image of the block by multiplying the interpolation image PredLX by the weight coefficient. If one of the prediction list use flags (predFlagL0 or predFlagL1) is 1 (single prediction) and weighted prediction is not used, adjust the interpolation image PredLX (LX is L0 or L1) to the pixel bit number bitDepth. To do.

Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredLX[x][y]+offset1)>>shift1)
ここで、shift1=14-bitDepth、offset1=1<<(shift1-1)である。
また、参照リスト利用フラグの両者(predFlagL0とpredFlagL1)が1(双予測BiPred)、かつ、重み予測を用いない場合、補間画像PredL0、PredL1を平均し画素ビット数に合わせる以下の式の処理を行う。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredLX[x][y]+offset1)>>shift1)
Here, shift1=14-bitDepth and offset1=1<<(shift1-1).
When both of the reference list use flags (predFlagL0 and predFlagL1) are 1 (bi-prediction BiPred) and weight prediction is not used, the interpolated images PredL0 and PredL1 are averaged and the processing of the following formula is performed to match the pixel bit number. ..

Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]+PredL1[x][y]+offset2)>>shift2)
ここで、shift2=15-bitDepth、offset2=1<<(shift2-1)である。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]+PredL1[x][y]+offset2)>>shift2)
Here, shift2=15-bitDepth and offset2=1<<(shift2-1).

さらに、単予測、かつ、重み予測を行う場合、重み予測部3094は重み予測係数w0とオフセットo0を符号化データから導出し、以下の式の処理を行う。 Furthermore, when performing uni-prediction and weight prediction, the weight prediction unit 3094 derives the weight prediction coefficient w0 and the offset o0 from the encoded data, and performs the processing of the following formula.

Pred[x][y] = Clip3(0,(1<<bitDepth)-1,((PredLX[x][y]*w0+2^(log2WD-1))>>log2WD)+o0)
ここで、log2WDは所定のシフト量を示す変数である。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,((PredLX[x][y]*w0+2^(log2WD-1))>>log2WD)+o0)
Here, log2WD is a variable indicating a predetermined shift amount.

さらに、双予測BiPred、かつ、重み予測を行う場合、重み予測部3094は重み予測係数w0、w1、o0、o1を符号化データから導出し、以下の式の処理を行う。 Furthermore, when performing bi-prediction BiPred and weight prediction, the weight prediction unit 3094 derives the weight prediction coefficients w0, w1, o0, and o1 from the encoded data and performs the processing of the following formula.

Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]*w0+PredL1[x][y]*w1+((o0+o1+1)<<log2WD))>>(log2WD+1))
インター予測画像生成部309は生成したブロックの予測画像を加算部312に出力する。
Pred[x][y] = Clip3(0,(1<<bitDepth)-1,(PredL0[x][y]*w0+PredL1[x][y]*w1+((o0+o1+1)<<log2WD))>>(log2WD+1))
The inter prediction image generation unit 309 outputs the prediction image of the generated block to the addition unit 312.

逆量子化・逆変換部311は、エントロピー復号部301から入力された量子化変換係数を逆量子化して変換係数を求める。この量子化変換係数は、符号化処理において、予測誤差に対してDCT(Discrete Cosine Transform、離散コサイン変換)、DST(Discrete Sine Transform、離散サイン変換)、KLT(Karyhnen Loeve Transform、カルーネンレーベ変換)等の周波数変換を行い量子化して得られる係数である。逆量子化・逆変換部311は、求めた変換係数について逆DCT、逆DST、逆KLT等の逆周波数変換を行い、予測誤差を算出する。逆量子化・逆変換部311は予測誤差を加算部312に出力する。 The inverse quantization/inverse transform unit 311 dequantizes the quantized transform coefficient input from the entropy decoding unit 301 to obtain a transform coefficient. These quantized transform coefficients are DCT (Discrete Cosine Transform, Discrete Cosine Transform), DST (Discrete Sine Transform, Discrete Sine Transform), KLT (Karyhnen Loeve Transform, Karhunen-Loeve Transform) for the prediction error in the encoding process. Is a coefficient obtained by performing frequency conversion and quantizing. The inverse quantization/inverse transform unit 311 performs inverse frequency transform such as inverse DCT, inverse DST, and inverse KLT on the obtained transform coefficient to calculate a prediction error. The inverse quantization/inverse transformation unit 311 outputs the prediction error to the addition unit 312.

加算部312は、予測画像生成部308から入力されたブロックの予測画像と逆量子化・逆変換部311から入力された予測誤差を画素毎に加算して、ブロックの復号画像を生成する。加算部312はブロックの復号画像を参照ピクチャメモリ306に記憶し、また、ループフィルタ305に出力する。 The addition unit 312 adds the prediction image of the block input from the prediction image generation unit 308 and the prediction error input from the dequantization/inverse conversion unit 311 for each pixel to generate a decoded image of the block. The addition unit 312 stores the decoded image of the block in the reference picture memory 306, and also outputs it to the loop filter 305.

(動画像符号化装置の構成)
次に、本実施形態に係る動画像符号化装置11の構成について説明する。図AA22は、本実施形態に係る動画像符号化装置11の構成を示すブロック図である。動画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ導出部120、エントロピー符号化部104を含んで構成される。
(Structure of video encoding device)
Next, the configuration of the moving picture coding device 11 according to the present embodiment will be described. FIG. AA22 is a block diagram showing the configuration of the moving picture coding device 11 according to the present embodiment. The moving image coding device 11 includes a predicted image generation unit 101, a subtraction unit 102, a conversion/quantization unit 103, an inverse quantization/inverse conversion unit 105, an addition unit 106, a loop filter 107, a prediction parameter memory (prediction parameter storage unit). , A frame memory) 108, a reference picture memory (reference image storage unit, frame memory) 109, a coding parameter determination unit 110, a prediction parameter derivation unit 120, and an entropy coding unit 104.

予測画像生成部101は画像Tの各ピクチャを分割した領域であるCU毎に予測画像を生成する。予測画像生成部101は既に説明した予測画像生成部308と同じ動作であり、説明を省略する。 The predicted image generation unit 101 generates a predicted image for each CU that is an area obtained by dividing each picture of the image T. The predicted image generation unit 101 has the same operation as the predicted image generation unit 308 described above, and thus the description thereof will be omitted.

減算部102は、予測画像生成部101から入力されたブロックの予測画像の画素値を、画像Tの画素値から減算して予測誤差を生成する。減算部102は予測誤差を変換・量子化部103に出力する。 The subtraction unit 102 subtracts the pixel value of the predicted image of the block input from the predicted image generation unit 101 from the pixel value of the image T to generate a prediction error. The subtraction unit 102 outputs the prediction error to the conversion/quantization unit 103.

変換・量子化部103は、減算部102から入力された予測誤差に対し、周波数変換によって変換係数を算出し、量子化によって量子化変換係数を導出する。変換・量子化部103は、量子化変換係数をエントロピー符号化部104及び逆量子化・逆変換部105に出力する。 The transform/quantization unit 103 calculates a transform coefficient by frequency transform for the prediction error input from the subtraction unit 102, and derives a quantized transform coefficient by quantization. The transform/quantization unit 103 outputs the quantized transform coefficient to the entropy coding unit 104 and the inverse quantization/inverse transform unit 105.

逆量子化・逆変換部105は、動画像復号装置31における逆量子化・逆変換部311(図7)と同じであり、説明を省略する。算出した予測誤差は加算部106に出力される。 The inverse quantizing/inverse transforming unit 105 is the same as the inverse quantizing/inverse transforming unit 311 (FIG. 7) in the moving picture decoding device 31, and the description thereof is omitted. The calculated prediction error is output to the addition unit 106.

エントロピー符号化部104には、変換・量子化部103から量子化変換係数が入力され、符号化パラメータ決定部110から符号化パラメータが入力される。符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、予測モードpredMode、及びマージインデックスmerge_idx等の符号がある。 The entropy coding unit 104 receives the quantized transform coefficient from the transform/quantization unit 103, and the coding parameter from the coding parameter determination unit 110. The encoding parameters include, for example, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, difference vector mvdLX, prediction mode predMode, and merge index merge_idx.

エントロピー符号化部104は、分割情報、予測パラメータ、量子化変換係数等をエントロピー符号化して符号化ストリームTeを生成し、出力する。 The entropy coding unit 104 entropy-codes the division information, the prediction parameter, the quantized transform coefficient, and the like to generate and output a coded stream Te.

予測パラメータ導出部120は、インター予測パラメータ導出部303、イントラ予測パラメータ導出部304を含む手段であり、符号化パラメータ決定部110から入力された符号化パラメータからイントラ予測パラメータ及びイントラ予測パラメータを導出する。導出されたイントラ予測パラメータ及びイントラ予測パラメータは、予測画像生成部101と予測パラメータメモリ108に出力される。パラメータ符号化部111は、ヘッダ符号化部1110、CT情報符号化部1111、CU符号化部1112(予測モード符号化部)および図示しないインター予測パラメータ符号化部112とイントラ予測パラメータ符号化部113を備えている。CU符号化部1112はさらにTU符号化部1114を備えている。符号化パラメータ決定部110は、インター予測パラメータ符号化部112とイントラ予測パラメータ符号化部113を備えている。 The prediction parameter derivation unit 120 is a means including an inter prediction parameter derivation unit 303 and an intra prediction parameter derivation unit 304, and derives an intra prediction parameter and an intra prediction parameter from the coding parameter input from the coding parameter determination unit 110. .. The derived intra prediction parameter and intra prediction parameter are output to the prediction image generation unit 101 and the prediction parameter memory 108. The parameter coding unit 111 includes a header coding unit 1110, a CT information coding unit 1111, a CU coding unit 1112 (prediction mode coding unit), and an inter prediction parameter coding unit 112 and an intra prediction parameter coding unit 113 (not shown). Is equipped with. The CU coding unit 1112 further includes a TU coding unit 1114. The coding parameter determination unit 110 includes an inter prediction parameter coding unit 112 and an intra prediction parameter coding unit 113.

以下、各モジュールの概略動作を説明する。予測パラメータ導出部120はヘッダ情報、分割情報、予測情報、量子化変換係数等のパラメータの符号化処理を行う。 The schematic operation of each module will be described below. The prediction parameter derivation unit 120 performs coding processing of parameters such as header information, division information, prediction information, and quantized transform coefficients.

CT情報符号化部1111は、QT、MT(BT、TT)分割情報等を符号化する。 The CT information encoding unit 1111 encodes QT, MT (BT, TT) division information and the like.

CU符号化部1112はCU情報、予測情報、TU分割フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を符号化する。 The CU encoding unit 1112 encodes CU information, prediction information, TU division flag split_transform_flag, CU residual flags cbf_cb, cbf_cr, cbf_luma, and the like.

TU符号化部1114は、TUに予測誤差が含まれている場合に、QP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を符号化する。 The TU encoding unit 1114 encodes the QP update information (quantization correction value) and the quantization prediction error (residual_coding) when the TU includes a prediction error.

CT情報符号化部1111、CU符号化部1112は、インター予測パラメータ(予測モードpredMode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX)、イントラ予測パラメータ(intra_luma_mpm_flag、mpm_idx、mpm_reminder、intra_chroma_pred_mode)、量子化変換係数等のシンタックス要素をエントロピー
符号化部104に供給する。
CT information encoding unit 1111, CU encoding unit 1112, inter prediction parameters (prediction mode predMode, merge flag merge_flag, merge index merge_idx, inter prediction identifier inter_pred_idc, reference picture index refIdxLX, prediction vector flag mvp_LX_flag, difference vector mvdLX), The intra prediction parameters (intra_luma_mpm_flag, mpm_idx, mpm_reminder, intra_chroma_pred_mode), syntax elements such as quantized transform coefficients are supplied to the entropy coding unit 104.

符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述したQT、BTあるいはTT分割情報、予測パラメータ、あるいはこれらに関連して生成される符号化の対象となるパラメータである。予測パラメータ導出部120は、符号化パラメータ決定部110が決定したパラメータから予測パラメータを導出し、予測画像生成部101に出力する。予測画像生成部101は、これらの予測パラメータを用いて予測画像を生成する。 The coding parameter determination unit 110 selects one set from among a plurality of sets of coding parameters. The coding parameter is the above-mentioned QT, BT or TT partition information, a prediction parameter, or a parameter to be coded generated in association with these. The prediction parameter derivation unit 120 derives a prediction parameter from the parameter determined by the coding parameter determination unit 110, and outputs it to the predicted image generation unit 101. The predicted image generation unit 101 generates a predicted image using these prediction parameters.

符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すRDコスト値を算出する。RDコスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された予測誤差の二乗和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして出力する。予測パラメータ導出部303により導出された予測パラメータを予測パラメータメモリ108に記憶する。 The coding parameter determination unit 110 calculates the RD cost value indicating the size of the information amount and the coding error for each of the plurality of sets. The RD cost value is, for example, the sum of the code amount and the squared error multiplied by the coefficient λ. The code amount is the information amount of the coded stream Te obtained by entropy coding the quantization error and the coding parameter. The squared error is the sum of squares of the prediction errors calculated by the subtraction unit 102. The coefficient λ is a real number larger than zero set in advance. The coding parameter determination unit 110 selects a set of coding parameters that minimizes the calculated cost value. As a result, the entropy coding unit 104 outputs the selected set of coding parameters as the coded stream Te. The prediction parameter derived by the prediction parameter derivation unit 303 is stored in the prediction parameter memory 108.

(インター予測パラメータ符号化部の構成)
インター予測パラメータ符号化部112は、マージインデックス導出部11211とベクトル候補インデックス導出部11212を備える。
(Structure of inter prediction parameter coding unit)
The inter prediction parameter coding unit 112 includes a merge index derivation unit 11211 and a vector candidate index derivation unit 11212.

マージインデックス導出部11211は、マージインデックスmerge_idx候補を導出し、予測パラメータ導出部120のマージ予測パラメータ導出部3036(マージ予測部)に出力する。ベクトル候補インデックス導出部11212は予測ベクトルフラグmvp_LX_flag候補を導出する。マージ予測パラメータ導出部3036は、マージインデックスmerge_idxに基づいて、インター予測パラメータを導出し予測画像生成部101に出力する。 The merge index derivation unit 11211 derives the merge index merge_idx candidate and outputs it to the merge prediction parameter derivation unit 3036 (merge prediction unit) of the prediction parameter derivation unit 120. The vector candidate index derivation unit 11212 derives a prediction vector flag mvp_LX_flag candidate. The merge prediction parameter derivation unit 3036 derives an inter prediction parameter based on the merge index merge_idx and outputs the inter prediction parameter to the prediction image generation unit 101.

AMVP予測パラメータ導出部3032は動きベクトルmvLXに基づいて予測ベクトルmvpLXを導出する。AMVP予測パラメータ導出部3032は予測ベクトルmvpLXをMV減算部1123に出力する。なお、参照ピクチャインデックスrefIdxLX及び予測ベクトルフラグmvp_LX_flagは、パラメータ符号化部111に出力される。 The AMVP prediction parameter derivation unit 3032 derives the prediction vector mvpLX based on the motion vector mvLX. The AMVP prediction parameter derivation unit 3032 outputs the prediction vector mvpLX to the MV subtraction unit 1123. The reference picture index refIdxLX and the prediction vector flag mvp_LX_flag are output to the parameter encoding unit 111.

MV減算部1123は、符号化パラメータ決定部110から入力された動きベクトルmvLXから、AMVP予測パラメータ導出部3032の出力である予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはパラメータ符号化部111に出力される。 The MV subtraction unit 1123 subtracts the prediction vector mvpLX output from the AMVP prediction parameter derivation unit 3032 from the motion vector mvLX input from the coding parameter determination unit 110 to generate a difference vector mvdLX. The difference vector mvdLX is output to the parameter encoding unit 111.

加算部106は、予測画像生成部101から入力されたブロックの予測画像の画素値と逆量子化・逆変換部105から入力された予測誤差を画素毎に加算して復号画像を生成する。加算部106は生成した復号画像を参照ピクチャメモリ109に記憶する。 The addition unit 106 adds the pixel value of the prediction image of the block input from the prediction image generation unit 101 and the prediction error input from the inverse quantization/inverse conversion unit 105 for each pixel to generate a decoded image. The addition unit 106 stores the generated decoded image in the reference picture memory 109.

ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、SAO、ALFを施す。なお、ループフィルタ107は、必ずしも上記3種類のフィルタを含まなくてもよく、例えばデブロッキングフィルタのみの構成であってもよい。 The loop filter 107 applies a deblocking filter, SAO, and ALF to the decoded image generated by the addition unit 106. Note that the loop filter 107 does not necessarily have to include the above three types of filters, and may have a configuration of only a deblocking filter, for example.

予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、対象ピクチャ及びCU毎に予め定めた位置に記憶する。 The prediction parameter memory 108 stores the prediction parameter generated by the coding parameter determination unit 110 in a predetermined position for each target picture and CU.

参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を対象ピクチャ及び
CU毎に予め定めた位置に記憶する。
The reference picture memory 109 uses the decoded image generated by the loop filter 107 as a target picture and
It is stored in a predetermined position for each CU.

なお、上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、例えば、エントロピー復号部301、パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、予測パラメータ導出部120をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、動画像符号化装置11、動画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。 Note that the moving picture coding device 11 and a part of the moving picture decoding device 31 in the above-described embodiment, for example, the entropy decoding unit 301, the parameter decoding unit 302, the loop filter 305, the predicted image generation unit 308, the inverse quantization/inverse. The conversion unit 311, the addition unit 312, the predicted image generation unit 101, the subtraction unit 102, the conversion/quantization unit 103, the entropy coding unit 104, the dequantization/inverse conversion unit 105, the loop filter 107, the coding parameter determination unit 110. The prediction parameter derivation unit 120 may be realized by a computer. In that case, the program for realizing the control function may be recorded in a computer-readable recording medium, and the program recorded in the recording medium may be read by a computer system and executed. The “computer system” referred to here is a computer system built in either the moving image encoding device 11 or the moving image decoding device 31, and includes an OS and hardware such as peripheral devices. Further, the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system. Further, "computer-readable recording medium" means a program that dynamically holds a program for a short time, such as a communication line when transmitting the program through a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory that holds a program for a certain period of time, such as a volatile memory inside a computer system that serves as a server or a client, may be included. Further, the program may be for realizing a part of the above-described functions, and may be a program for realizing the above-mentioned functions in combination with a program already recorded in the computer system.

また、上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。動画像符号化装置11、動画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。 Further, part or all of the moving picture coding device 11 and the moving picture decoding device 31 in the above-described embodiments may be realized as an integrated circuit such as an LSI (Large Scale Integration). Each functional block of the moving picture coding device 11 and the moving picture decoding device 31 may be individually made into a processor, or a part or all of them may be integrated and made into a processor. Further, the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. In addition, when a technique for forming an integrated circuit that replaces LSI appears with the progress of semiconductor technology, an integrated circuit according to the technique may be used.

以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。 Although one embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to the above, and various design changes and the like without departing from the gist of the present invention. It is possible to

〔応用例〕
上述した動画像符号化装置11及び動画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
[Application example]
The moving image encoding device 11 and the moving image decoding device 31 described above can be used by being mounted in various devices that perform transmission, reception, recording, and reproduction of moving images. The moving image may be a natural moving image captured by a camera or the like, or an artificial moving image (including CG and GUI) generated by a computer or the like.

まず、上述した動画像符号化装置11及び動画像復号装置31を、動画像の送信及び受信に利用できることを、図2を参照して説明する。 First, it will be described with reference to FIG. 2 that the moving image encoding device 11 and the moving image decoding device 31 described above can be used for transmitting and receiving a moving image.

図2(a)は、動画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置11は、この符号化部PROD_A1として利用される。 FIG. 2(a) is a block diagram showing the configuration of the transmission device PROD_A equipped with the moving image encoding device 11. As shown in the figure, the transmission device PROD_A is a coding unit PROD_A1 that obtains encoded data by encoding a moving image, and a modulated signal by modulating a carrier wave with the encoded data obtained by the encoding unit PROD_A1. It includes a modulator PROD_A2 for obtaining and a transmitter PROD_A3 for transmitting the modulated signal obtained by the modulator PROD_A2. The moving picture coding device 11 described above is used as this coding unit PROD_A1.

送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。 The transmission device PROD_A, as a source of the moving image input to the encoding unit PROD_A1, a camera PROD_A4 that captures the moving image, a recording medium PROD_A5 that records the moving image, an input terminal PROD_A6 for inputting the moving image from the outside, and An image processing unit A7 for generating or processing an image may be further provided. In the figure, a configuration in which the transmission device PROD_A includes all of these is illustrated, but a part thereof may be omitted.

なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。 The recording medium PROD_A5 may be a non-encoded moving image recorded, or a moving image encoded by a recording encoding method different from the transmission encoding method may be recorded. It may be one. In the latter case, a decoding unit (not shown) that decodes the coded data read from the recording medium PROD_A5 according to the recording coding method may be interposed between the recording medium PROD_A5 and the coding unit PROD_A1.

図2(b)は、動画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置31は、この復号部PROD_B3として利用される。 FIG. 2B is a block diagram showing the configuration of the receiving device PROD_B equipped with the moving image decoding device 31. As shown in the figure, the receiving device PROD_B is a receiving unit PROD_B1 that receives a modulated signal, a demodulating unit PROD_B2 that obtains encoded data by demodulating the modulated signal that the receiving unit PROD_B1 received, and a demodulating unit PROD_B2 And a decoding unit PROD_B3 that obtains a moving image by decoding encoded data. The moving picture decoding device 31 described above is used as this decoding unit PROD_B3.

受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。 The receiving device PROD_B has a display PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording the moving image, and an output terminal for outputting the moving image to the outside as a supply destination of the moving image output by the decoding unit PROD_B3. PROD_B6 may be further provided. In the drawing, the configuration in which the receiving device PROD_B is provided with all of them is illustrated, but a part thereof may be omitted.

なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。 The recording medium PROD_B5 may be one for recording a non-encoded moving image, or may be one encoded by a recording encoding method different from the transmission encoding method. May be. In the latter case, an encoding unit (not shown) that encodes the moving image acquired from the decoding unit PROD_B3 according to the recording encoding method may be interposed between the decoding unit PROD_B3 and the recording medium PROD_B5.

なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。 The transmission medium that transmits the modulated signal may be wireless or wired. Further, the transmission mode of transmitting the modulated signal may be broadcast (here, it means a transmission mode in which the transmission destination is not specified in advance) or communication (transmission in which the transmission destination is specified in advance here). Embodiment). That is, the transmission of the modulated signal may be realized by any of wireless broadcasting, wired broadcasting, wireless communication, and wired communication.

例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。 For example, a terrestrial digital broadcasting broadcasting station (broadcasting equipment or the like)/receiving station (television receiver or the like) is an example of a transmitting device PROD_A/receiving device PROD_B that transmits and receives modulated signals by wireless broadcasting. Also, a broadcasting station (broadcasting equipment, etc.)/receiving station (television receiver, etc.) of cable television broadcasting is an example of a transmitting device PROD_A/receiving device PROD_B that transmits and receives modulated signals by wired broadcasting.

また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線または有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。 In addition, a server (workstation, etc.)/client (TV receiver, personal computer, smartphone, etc.) for VOD (Video On Demand) services and video sharing services using the Internet is a transmission device that transmits and receives modulated signals by communication. This is an example of PROD_A/reception device PROD_B (generally, either wireless or wired is used as a transmission medium in LAN, and wired is used as a transmission medium in WAN). Here, the personal computer includes a desktop PC, a laptop PC, and a tablet PC. The smartphone also includes a multifunctional mobile phone terminal.

なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。 Note that the client of the video sharing service has a function of decoding the encoded data downloaded from the server and displaying it on the display, as well as a function of encoding the moving image captured by the camera and uploading it to the server. That is, the client of the video sharing service functions as both the transmission device PROD_A and the reception device PROD_B.

次に、上述した動画像符号化装置11及び動画像復号装置31を、動画像の記録及び再生に利用できることを、図3を参照して説明する。 Next, it will be described with reference to FIG. 3 that the moving image encoding device 11 and the moving image decoding device 31 described above can be used for recording and reproducing a moving image.

図3(a)は、上述した動画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置11は、この符号化部PROD_C1として利用される。 FIG. 3(a) is a block diagram showing a configuration of a recording device PROD_C equipped with the above-described moving image encoding device 11. As shown in the figure, the recording device PROD_C includes a coding unit PROD_C1 that obtains coded data by coding a moving image, and a writing unit PROD_C2 that writes the coded data obtained by the coding unit PROD_C1 to a recording medium PROD_M. And are equipped with. The moving picture coding device 11 described above is used as the coding unit PROD_C1.

なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc:登録商標)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。 The recording medium PROD_M may be (1) a type such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) built in the recording device PROD_C, or (2) SD memory. It may be of a type that is connected to the recording device PROD_C, such as a card or a USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc: registered trademark) or BD (Blu-ray). For example, a disc (registered trademark) or the like may be loaded in a drive device (not shown) incorporated in the recording device PROD_C.

また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部PROD_C6を更に備えていてもよい。図においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。 Further, the recording device PROD_C has a camera PROD_C3 for capturing a moving image, an input terminal PROD_C4 for inputting the moving image from the outside, and a receiving unit for receiving the moving image as a supply source of the moving image input to the encoding unit PROD_C1. The unit PROD_C5 and the image processing unit PROD_C6 for generating or processing an image may be further provided. In the drawing, the configuration in which the recording device PROD_C is provided with all of them is illustrated, but a part thereof may be omitted.

なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。 The receiving unit PROD_C5 may be one that receives an unencoded moving image, or receives encoded data that has been encoded by a transmission encoding method different from the recording encoding method. It may be one that does. In the latter case, a transmission decoding unit (not shown) that decodes the encoded data encoded by the transmission encoding method may be interposed between the reception unit PROD_C5 and the encoding unit PROD_C1.

このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4または受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5または画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3または受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。 Examples of such a recording device PROD_C include a DVD recorder, a BD recorder, an HDD (Hard Disk Drive) recorder, and the like (in this case, the input terminal PROD_C4 or the receiving unit PROD_C5 is the main supply source of the moving image). .. In addition, a camcorder (in this case, the camera PROD_C3 is the main source of moving images), a personal computer (in this case, the receiving unit PROD_C5 or the image processing unit C6 is the main source of moving images), a smartphone (this In this case, the camera PROD_C3 or the receiving unit PROD_C5 is a main supply source of the moving image) and the like are also examples of such a recording device PROD_C.

図3(b)は、上述した動画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロックである。図に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置31は、この復号部PROD_D2として利用される。 FIG. 3B is a block showing the configuration of the playback device PROD_D equipped with the moving image decoding device 31 described above. As shown in the figure, the playback device PROD_D includes a reading unit PROD_D1 that reads the encoded data written in the recording medium PROD_M, and a decoding unit PROD_D2 that obtains a moving image by decoding the encoded data read by the reading unit PROD_D1. , Are provided. The moving picture decoding device 31 described above is used as this decoding unit PROD_D2.

なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなど
のように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
The recording medium PROD_M may be (1) of a type built into the playback device PROD_D, such as a HDD or SSD, or (2) such as an SD memory card or a USB flash memory. It may be of a type that is connected to the playback device PROD_D, or (3) loaded into a drive device (not shown) built in the playback device PROD_D, such as a DVD or BD. Good.

また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。 Also, the playback device PROD_D is a display PROD_D3 that displays a moving image, an output terminal PROD_D4 for outputting the moving image to the outside as a supply destination of the moving image output by the decoding unit PROD_D2, and a transmitting unit that transmits the moving image. PROD_D5 may be further provided. In the drawing, a configuration in which the playback device PROD_D is provided with all of them is illustrated, but a part thereof may be omitted.

なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。 The transmission unit PROD_D5 may be one that transmits an unencoded moving image, or transmits encoded data that has been encoded by a transmission encoding method different from the recording encoding method. It may be one that does. In the latter case, an encoding unit (not shown) that encodes a moving image with an encoding method for transmission may be interposed between the decoding unit PROD_D2 and the transmission unit PROD_D5.

このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4または送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型またはタブレット型PC(この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。 Examples of such a playback device PROD_D include a DVD player, a BD player, an HDD player, etc. (in this case, the output terminal PROD_D4 to which a television receiver or the like is connected is a main supply destination of the moving image). .. Also, a television receiver (in this case, the display PROD_D3 is the main supply destination of the moving image), digital signage (also called an electronic signboard or electronic bulletin board, etc.), the display PROD_D3 or the transmission unit PROD_D5 is the main supply of the moving image. Desktop PC (in this case, the output terminal PROD_D4 or transmitter PROD_D5 is the main destination of the moving image), laptop or tablet PC (in this case, the display PROD_D3 or transmitter PROD_D5 An example of such a playback device PROD_D is also a smartphone (in which case, the display PROD_D3 or the transmission unit PROD_D5 is the main destination of a moving image), and the like.

(ハードウェア的実現およびソフトウェア的実現)
また、上述した動画像復号装置31および動画像符号化装置11の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
(Hardware realization and software realization)
Further, each block of the moving image decoding device 31 and the moving image encoding device 11 described above may be realized by hardware by a logic circuit formed on an integrated circuit (IC chip), or by a CPU (Central Processing Unit), and may be realized by software.

後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random
Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
In the latter case, each of the above devices is a CPU that executes the instructions of the program that realizes each function, a ROM (Read Only Memory) that stores the program, and a RAM (Random) that expands the program.
Access memory), a storage device (recording medium) such as a memory for storing the program and various data. The object of the embodiment of the present invention is to record the program code (execution format program, intermediate code program, source program) of the control program of each device, which is software for realizing the above-described functions, in a computer-readable manner. This can also be achieved by supplying a medium to each of the above devices and causing the computer (or CPU or MPU) to read and execute the program code recorded in the recording medium.

上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc:登録商標)/CD-R(CD Recordable)/ブルーレイディスク(Blu-ray
Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory:登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks/hard disks, and CD-ROMs (Compact Disc Read-Only Memory)/MO disks (Magneto-Optical discs). )/MD (Mini Disc)/DVD (Digital Versatile Disc: registered trademark)/CD-R (CD Recordable)/Blu-ray
Discs: discs including optical discs such as registered trademark), cards such as IC cards (including memory cards)/optical cards, mask ROM/EPROM (Erasable Programmable Read-Only Memory)/EEPROM (Electrically Erasable and Programmable Read- Only Memory: Registered trademark/semiconductor memory such as flash ROM, or logic circuits such as PLD (Programmable logic device) and FPGA (Field Programmable Gate Array) can be used.

また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通
信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、BlueTooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
Further, each of the above devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network. The communication network is not particularly limited as long as it can transmit the program code. For example, Internet, intranet, extranet, LAN (Local Area Network), ISDN (Integrated Services Digital Network), VAN (Value-Added Network), CATV (Community Antenna television/Cable Television) communication network, virtual private network (Virtual Private Network) Network), telephone network, mobile communication network, satellite communication network, etc. can be used. Further, the transmission medium that constitutes this communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type. For example, even if wired such as IEEE (Institute of Electrical and Electronic Engineers) 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA (Infrared Data Association) and remote control , BlueTooth (registered trademark), IEEE802.11 wireless, HDR (High Data Rate), NFC (Near Field Communication), DLNA (Digital Living Network Alliance: registered trademark), mobile phone network, satellite line, terrestrial digital broadcasting network, etc. It is also available wirelessly. It should be noted that the embodiment of the present invention can also be realized in the form of a computer data signal embedded in a carrier wave, in which the program code is embodied by electronic transmission.

本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made within the scope of the claims. That is, an embodiment obtained by combining technical means appropriately modified within the scope of the claims is also included in the technical scope of the present invention.

本発明の実施形態は、画像データが符号化された符号化データを復号する動画像復号装置、および、画像データが符号化された符号化データを生成する動画像符号化装置に好適に適用することができる。また、動画像符号化装置によって生成され、動画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。 The embodiments of the present invention are preferably applied to a moving image decoding device that decodes encoded data in which image data is encoded, and a moving image encoding device that generates encoded data in which image data is encoded. be able to. Further, it can be suitably applied to the data structure of the encoded data generated by the moving image encoding device and referred to by the moving image decoding device.

31 画像復号装置
301 エントロピー復号部
302 パラメータ復号部
3020 ヘッダ復号部
303 インター予測パラメータ導出部
304 イントラ予測パラメータ導出部
308 予測画像生成部
309 インター予測画像生成部
310 イントラ予測画像生成部
311 逆量子化・逆変換部
312 加算部
11 画像符号化装置
101 予測画像生成部
102 減算部
103 変換・量子化部
104 エントロピー符号化部
105 逆量子化・逆変換部
107 ループフィルタ
110 符号化パラメータ決定部
111 パラメータ符号化部
112 インター予測パラメータ符号化部
113 イントラ予測パラメータ符号化部
1110 ヘッダ符号化部
1111 CT情報符号化部
1112 CU符号化部(予測モード符号化部)
1114 TU符号化部
31 Image decoding device
301 Entropy decoding unit
302 Parameter decoding unit
3020 header decoder
303 Inter prediction parameter derivation unit
304 Intra prediction parameter derivation unit
308 Predicted image generator
309 Inter prediction image generator
310 Intra prediction image generator
311 Inverse quantization/inverse transform unit
312 Adder
11 Image coding device
101 Prediction image generator
102 Subtractor
103 Transform/Quantization unit
104 Entropy encoder
105 Inverse quantization/inverse transform section
107 loop filter
110 Coding parameter determination unit
111 Parameter coding unit
112 Inter prediction parameter coding unit
113 Intra prediction parameter coding unit
1110 Header coding unit
1111 CT information coding unit
1112 CU encoder (prediction mode encoder)
1114 TU encoder

Claims (11)

画像をCTUに分割し、CTUを2分木、4分木を含むツリーを用いて符号化ユニットに再帰的に分割する分割部を備え、符号化ユニットの動きベクトルを導出するインター予測パラメータ導出部を備え、
マージインデックスに応じて選択されるマージ候補を導出するマージ候補導出部を備え、
共有符号化ブロックの左上座標と幅、高さを設定する共有マージ手段を備え
上記マージ候補導出部は、
対象符号化ユニットのサイズが所定の共有サイズ以下である場合に、
対象符号化ユニットの左上位置を上記共有符号化ブロックの左上座標に設定し
対象符号化ユニットの幅、高さに、上記共有符号化ブロックの幅、高さを各々設定することを特徴とする動画像復号装置もしくは動画像符号化装置。
An inter-prediction parameter derivation unit that divides an image into CTUs and includes a division unit that recursively divides the CTUs into coding units using a tree including a binary tree and a quadtree, and derives a motion vector of the coding unit. Equipped with
A merge candidate derivation unit that derives a merge candidate selected according to the merge index,
The merge candidate derivation unit is provided with a shared merging unit that sets the upper left coordinates, width, and height of the shared coding block.
When the size of the target coding unit is equal to or smaller than the predetermined shared size,
A moving image characterized in that the upper left position of the target coding unit is set to the upper left coordinates of the shared coding block and the width and height of the target coding unit are set to the width and height of the shared coding block, respectively. Image decoding device or moving image coding device.
上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズが等しい場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを各々設定することを特徴とする請求項1に記載の動画像復号装置もしくは動画像符号化装置。 The shared merging means, in the division unit of the encoding unit, when the size of the encoding node is equal to the predetermined shared size, sets the upper left coordinate of the encoding node to the upper left coordinate of the shared encoding block, The moving picture decoding apparatus or the moving picture coding apparatus according to claim 1, wherein the width and height of the shared coding block are set to the width and height of the coding node, respectively. 上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズ以上の場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを各々設定することを特徴とする請求項1に記載の動画像復号装置もしくは動画像符号化装置。 The shared merging means, in the division unit of the encoding unit, when the size of the encoding node is equal to or larger than the predetermined shared size, sets the upper left coordinate of the encoding node to the upper left coordinate of the shared encoding block, The moving picture decoding apparatus or the moving picture coding apparatus according to claim 1, wherein the width and height of the shared coding block are set to the width and height of the coding node, respectively. 上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズと等しい場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを設定し、さらに、
符号化ノードのサイズが上記所定の共有サイズの1/2 かつ、QT分割(MTTデプス=0)かつ、分割インデックスが0の場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの2倍の幅と2倍の高さを各々設定することを特徴とする請求項1に記載の動画像復号装置もしくは動画像符号化装置。
The shared merging means, in the division unit of the encoding unit, when the size of the encoding node is equal to the predetermined shared size, sets the upper left coordinate of the encoding node to the upper left coordinate of the shared encoding block, Set the width and height of the coding node to the width and height of the shared coding block, and further,
When the size of the coding node is 1/2 of the predetermined shared size, QT division (MTT depth=0), and the division index is 0, the upper left coordinate of the shared coding block is the upper left of the coding node. The moving picture decoding apparatus according to claim 1, wherein coordinates are set, and a width and a height of the shared coding block are set to be twice as wide and twice as high as the coding node, respectively. Or a moving picture coding device.
上記共有マージ手段は、符号化ユニットの分割部において、符号化ノードのサイズが上記所定の共有サイズと等しい場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの幅、高さを設定し、さらに、
符号化ノードのサイズが上記所定の共有サイズの1/2 かつ、QT分割(MTTデプス=0)かつ、分割インデックスが0もしくは2の場合に、上記共有符号化ブロックの左上座標に上記符号化ノードの左上座標を設定し、上記共有符号化ブロックの幅、高さに上記符号化ノードの2倍の幅と1倍の高さを各々設定することを特徴とする請求項1に記載の動画像復号装置もしくは動画像符号化装置。
The shared merging means, in the division unit of the encoding unit, when the size of the encoding node is equal to the predetermined shared size, sets the upper left coordinate of the encoding node to the upper left coordinate of the shared encoding block, Set the width and height of the coding node to the width and height of the shared coding block, and further,
When the size of the encoding node is 1/2 of the predetermined shared size, QT division (MTT depth=0), and the division index is 0 or 2, the encoding node is located at the upper left coordinate of the shared encoding block. 2. The moving image according to claim 1, wherein the upper left coordinate of the coding node is set, and the width and height of the shared coding block are set to be twice the width and one time the height of the coding node, respectively. Decoding device or video encoding device.
上記共有マージ手段は、共有符号化ブロックの左上座標に画面もしくはタイルを矩形のグリッドサイズに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに上記矩形グリッドサイズの幅の整数倍、高さの整数倍を各々設定することを特徴とする請求項1に記載の動画像復号装置もしくは動画像符号化装置。 The shared merging means sets the upper left coordinate of the shared coding block to the upper left coordinate when the screen or tile is divided into a rectangular grid size, and sets the width and height of the shared coding block to the width of the rectangular grid size. 2. The moving picture decoding apparatus or the moving picture coding apparatus according to claim 1, wherein an integer multiple and a height multiple are set respectively. 上記共有マージ手段は、共有符号化ブロックの左上座標に、上記符号化ユニット左上座標を上記矩形グリッドサイズの対数値を用いて、右シフトして左シフトして導出し、

画面もしくはタイルを固定サイズブロックに分割した場合の左上座標に設定し、上記共有符号化ブロックの幅、高さに、上記符号化ユニットの幅、高さに各々、オフセットを加算、右シフト、左シフトした値に設定することを特徴とする請求項6に記載の動画像復号装置もしくは動画像符号化装置。
The shared merging means, in the upper left coordinates of the shared coding block, using the logarithmic value of the rectangular grid size of the encoding unit upper left coordinates, right shift and left shift to derive,

Set it to the upper left coordinate when the screen or tile is divided into fixed size blocks, and add the offset to the width and height of the shared coding block and the width and height of the coding unit respectively, right shift, left The moving image decoding apparatus or the moving image encoding apparatus according to claim 6, wherein the value is set to a shifted value.
上記インター予測パラメータ導出部で導出する動きベクトルをメインヒストリメモリに格納するヒストリ格納部を備え、
上記マージ候補予測部は、メインヒストリメモリの動きベクトルを利用してマージ候補を導出するヒストリマージ候補導出部を備え、
上記ヒストリ格納部は、対象符号化ユニットのサイズが所定の共有サイズ未満である場合に、動きベクトルの格納を行わず、対象符号化ユニットのサイズが所定の共有サイズ以上である場合に動きベクトルを格納することを特徴とする請求項1に記載の動画像復号装置もしくは動画像符号化装置。
A history storage unit for storing the motion vector derived by the inter prediction parameter derivation unit in the main history memory;
The merge candidate prediction unit includes a history merge candidate derivation unit that derives a merge candidate using the motion vector of the main history memory,
The history storage unit does not store the motion vector when the size of the target coding unit is smaller than the predetermined shared size, and stores the motion vector when the size of the target coding unit is equal to or larger than the predetermined shared size. The moving picture decoding apparatus or the moving picture coding apparatus according to claim 1, wherein the moving picture decoding apparatus or the moving picture coding apparatus is stored.
上記インター予測パラメータ導出部で導出する動きベクトルを格納するヒストリ格納部を備え、
上記マージ候補予測部は、メインヒストリメモリ(参照メモリ、第1ヒストリメモリ)の動きベクトルを利用してマージ候補を導出するヒストリマージ候補導出部を備え、
上記ヒストリ格納部は、対象符号化ユニットのサイズが所定の共有サイズ未満である場合に、動きベクトルを一時ヒストリメモリ(第2ヒストリメモリ)に格納し、対象符号化ユニットのサイズが所定の共有サイズ以上である場合に上記メインヒストリメモリに動きベクトルを格納し、
上記ヒストリ格納部は、上記一時ヒストリメモリに格納した動きベクトルをメインヒストリメモリに格納することを特徴とする請求項1に記載の動画像復号装置もしくは動画像符号化装置。
A history storage unit for storing the motion vector derived by the inter prediction parameter derivation unit,
The merge candidate prediction unit includes a history merge candidate derivation unit that derives a merge candidate using a motion vector of a main history memory (reference memory, first history memory),
The history storage unit stores the motion vector in the temporary history memory (second history memory) when the size of the target coding unit is less than the predetermined shared size, and the size of the target coding unit is the predetermined shared size. If it is above, store the motion vector in the main history memory,
The moving picture decoding apparatus or the moving picture coding apparatus according to claim 1, wherein the history storage unit stores the motion vector stored in the temporary history memory in a main history memory.
上記ヒストリ格納部は、対象符号化ユニットの左上座標が、上記共有符号化ブロックの左上座標に一致する場合に上記一時ヒストリメモリに格納した動きベクトルをメインヒストリメモリに格納することを特徴とする請求項8に記載の動画像復号装置もしくは動画像符号化装置。 The history storage unit stores the motion vector stored in the temporary history memory in the main history memory when the upper left coordinate of the target encoding unit matches the upper left coordinate of the shared encoding block. Item 9. The moving image decoding device or the moving image encoding device according to item 8. 上記ヒストリ格納部は、ヒストリメモリ(更新メモリ、第1ヒストリメモリ)に動きベクトルを格納し、
上記ヒストリ格納部は、対象符号化ユニットの左上座標が、上記共有符号化ブロックの左上座標に一致する場合に上記ヒストリメモリの内容を、コピーヒストリメモリに複製し、
上記ヒストリマージ候補導出部は、対象符号化ユニットのサイズが所定の共有サイズ未満である場合に、コピーヒストリメモリの動きベクトルを利用してマージ候補を導出し、共有サイズ以上である場合に、ヒストリメモリの動きベクトルを利用してマージ候補を導出することを特徴とする請求項9に記載の動画像復号装置もしくは動画像符号化装置。
The history storage unit stores a motion vector in a history memory (update memory, first history memory),
The history storage unit copies the contents of the history memory to a copy history memory when the upper left coordinate of the target encoding unit matches the upper left coordinate of the shared encoding block,
The history merge candidate derivation unit derives a merge candidate using the motion vector of the copy history memory when the size of the target coding unit is smaller than a predetermined shared size, and when the size is equal to or larger than the shared size, The moving picture decoding apparatus or the moving picture coding apparatus according to claim 9, wherein the merge candidate is derived using a motion vector of the memory.
JP2018215874A 2018-11-16 2018-11-16 Moving image decoding apparatus and moving image coding apparatus Pending JP2020088451A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018215874A JP2020088451A (en) 2018-11-16 2018-11-16 Moving image decoding apparatus and moving image coding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018215874A JP2020088451A (en) 2018-11-16 2018-11-16 Moving image decoding apparatus and moving image coding apparatus

Publications (1)

Publication Number Publication Date
JP2020088451A true JP2020088451A (en) 2020-06-04

Family

ID=70909023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018215874A Pending JP2020088451A (en) 2018-11-16 2018-11-16 Moving image decoding apparatus and moving image coding apparatus

Country Status (1)

Country Link
JP (1) JP2020088451A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020182209A (en) * 2018-12-28 2020-11-05 株式会社Jvcケンウッド Image coding device, image coding method, image coding program, image decoding device, image decoding method, and image decoding program
JP2022514923A (en) * 2019-01-17 2022-02-16 テンセント・アメリカ・エルエルシー Video decoding and encoding methods, programs, and equipment
CN114071158A (en) * 2020-07-29 2022-02-18 腾讯科技(深圳)有限公司 Motion information list construction method, device and equipment in video coding and decoding
JP2022523616A (en) * 2019-03-15 2022-04-26 テンセント・アメリカ・エルエルシー Video decoding methods, equipment, and computer programs

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7218777B2 (en) 2018-12-28 2023-02-07 株式会社Jvcケンウッド Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
JP2021182740A (en) * 2018-12-28 2021-11-25 株式会社Jvcケンウッド Image coding device, image coding method, image coding program, image decoding device, image decoding method, and image decoding program
US11979562B2 (en) 2018-12-28 2024-05-07 Jvckenwood Corporation Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method, and picture decoding program
JP2022036091A (en) * 2018-12-28 2022-03-04 株式会社Jvcケンウッド Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
JP7409365B2 (en) 2018-12-28 2024-01-09 株式会社Jvcケンウッド Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
JP2020182209A (en) * 2018-12-28 2020-11-05 株式会社Jvcケンウッド Image coding device, image coding method, image coding program, image decoding device, image decoding method, and image decoding program
US11785211B2 (en) 2018-12-28 2023-10-10 Jvckenwood Corporation Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method, and picture decoding program
US11503277B2 (en) 2018-12-28 2022-11-15 Jvckenwood Corporation Picture coding device, picture coding method, and picture coding program, picture decoding device, picture decoding method, and picture decoding program
JP2022514923A (en) * 2019-01-17 2022-02-16 テンセント・アメリカ・エルエルシー Video decoding and encoding methods, programs, and equipment
JP7171925B2 (en) 2019-01-17 2022-11-15 テンセント・アメリカ・エルエルシー Video decoding and encoding method, program and apparatus
US11418807B2 (en) 2019-03-15 2022-08-16 Tencent America LLC Temporal motion vector derivation in shared merge region at picture boundary
JP7169451B2 (en) 2019-03-15 2022-11-10 テンセント・アメリカ・エルエルシー Video decoding method, apparatus and computer program
JP2022523616A (en) * 2019-03-15 2022-04-26 テンセント・アメリカ・エルエルシー Video decoding methods, equipment, and computer programs
CN114071158A (en) * 2020-07-29 2022-02-18 腾讯科技(深圳)有限公司 Motion information list construction method, device and equipment in video coding and decoding

Similar Documents

Publication Publication Date Title
WO2020116456A1 (en) Moving image decoding device
WO2020184487A1 (en) Dynamic image decoding device
WO2020137920A1 (en) Prediction image generating device, moving image decoding device, moving image encoding device, and prediction image generating method
JP7448349B2 (en) Video decoding device
JP2021002780A (en) Video decoding device and video coding device
JP2020088451A (en) Moving image decoding apparatus and moving image coding apparatus
JP2020053924A (en) Video encoding device and video decoding device
JP2023011955A (en) Dynamic image coding device and dynamic image decoding device
US11818363B2 (en) Video decoding apparatus and video coding apparatus
WO2020045248A1 (en) Video decoding device and video coding device
WO2020067440A1 (en) Moving image coding device and moving image decoding device
JP2020096279A (en) Prediction image generation device, moving image decoding device, and moving image encoding device
JP2020108012A (en) Image decoding device and image encoding device
JP2020088660A (en) Moving picture coding apparatus and moving picture decoding apparatus
JP2020145650A (en) Image decoding device and image coding device
JP2022068379A (en) Image decoding device
WO2021200658A1 (en) Dynamic image decoding device and dynamic image decoding method
JP2022087865A (en) Image decoder and image encoder
JP2020088577A (en) Predictive image generation device, moving image decoding device, and moving image encoding device
JP2020096329A (en) Prediction image generation device, moving image decoding device, and moving image encoding device
JP2020170901A (en) Predictive image generation device, video decoding device, and video coding device
JP2020195014A (en) Moving image decoding device and moving image encoding device
JP2021082913A (en) Moving image decoding device and moving image encoding device
JP2021106309A (en) Video decoding device and video coding device
WO2019065537A1 (en) Motion compensation filter device, image decoding device, and moving image coding device