JP6677243B2 - Video encoding device, video encoding method and program - Google Patents

Video encoding device, video encoding method and program Download PDF

Info

Publication number
JP6677243B2
JP6677243B2 JP2017506092A JP2017506092A JP6677243B2 JP 6677243 B2 JP6677243 B2 JP 6677243B2 JP 2017506092 A JP2017506092 A JP 2017506092A JP 2017506092 A JP2017506092 A JP 2017506092A JP 6677243 B2 JP6677243 B2 JP 6677243B2
Authority
JP
Japan
Prior art keywords
merge candidate
candidate list
unit
generation
zero
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017506092A
Other languages
Japanese (ja)
Other versions
JPWO2016147651A1 (en
Inventor
誠也 柴田
誠也 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016147651A1 publication Critical patent/JPWO2016147651A1/en
Application granted granted Critical
Publication of JP6677243B2 publication Critical patent/JP6677243B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、映像符号化装置に関し、特にHEVCなどの動きベクトル併合に基づいた映像符号化方式における回路設計技術に関する。   The present invention relates to a video encoding device, and more particularly to a circuit design technique in a video encoding method based on motion vector merging such as HEVC.

非特許文献1には、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)勧告H.265規格にもとづく映像符号化方式であるHEVC(High Efficiency Video Coding)が記載されている。   Non-Patent Document 1 describes HEVC (High Efficiency Video Coding), which is a video coding scheme based on the H.265 standard recommended by the International Telecommunication Union Telecommunication Standardization Sector (ITU-T).

HEVCでは、ディジタル化された映像の各フレームは符号化ツリーユニット(CTU:Coding Tree Unit)に分割され、各CTU がラスタスキャン順に符号化される。各CTUは、クアッドツリー構造で、符号化ユニット(CU:Coding Unit)に分割されて符号化される。各CUは、予測ユニット(PU:Prediction Unit)に分割されて予測される。また、各CUの予測誤差は、クアッドツリー構造で、変換ユニット(TU: Transform Unit)に分割されて周波数変換される。最も大きなサイズのCUを最大CU(LCU: Largest Coding Unit)といい、最も小さなサイズのCUを最小CU(SCU: Smallest Coding Unit )という。   In HEVC, each frame of a digitized video is divided into coding tree units (CTUs), and each CTU is coded in raster scan order. Each CTU is divided into coding units (CU: Coding Unit) in a quad tree structure and is coded. Each CU is divided into prediction units (PU: Prediction Unit) and predicted. Further, the prediction error of each CU is divided into transform units (TU: Transform Unit) in a quad tree structure and frequency-transformed. The largest CU is called the largest CU (LCU: Largest Coding Unit), and the smallest CU is called the smallest CU (SCU: Smallest Coding Unit).

CUは、イントラ予測またはフレーム間予測(インター予測)によって予測符号化される。   The CU is predictively encoded by intra prediction or inter-frame prediction (inter prediction).

図12Aおよび図12Bは、CTU サイズが64×64(64画素×64画素)の場合のCU分割例を示す説明図である。図12Aには、分割形状(以下、ブロック構造ともいう。)の一例が示されている。図12Bには、図12Aに示す分割形状に対応するCUクアッドツリー構造の一例が示されている。   FIGS. 12A and 12B are explanatory diagrams showing an example of CU division when the CTU size is 64 × 64 (64 pixels × 64 pixels). FIG. 12A shows an example of a divided shape (hereinafter, also referred to as a block structure). FIG. 12B shows an example of a CU quad tree structure corresponding to the divided shape shown in FIG. 12A.

また、CUは、クアッドツリー構造でTUに分割される。分割の仕方は、図12Aに示すCU分割の場合と同様である。   The CU is divided into TUs in a quad tree structure. The way of division is the same as the case of CU division shown in FIG. 12A.

図13は、イントラ予測におけるPU分割方法とインター予測におけるPU分割方法を示す説明図である。図13は、CTUのCUクアッドツリー構造の例と、予測モードごとのPU分割の候補を示す。   FIG. 13 is an explanatory diagram showing a PU partitioning method in intra prediction and a PU partitioning method in inter prediction. FIG. 13 shows an example of a CU quad-tree structure of a CTU and candidates for PU division for each prediction mode.

図13に示すように、イントラ予測で符号化が行われる場合、PUをCUサイズと同じサイズ(2Nx2N)にする方法、または4分割してPUをCUサイズよりも1段階小さいサイズ(NxN)にする方法の2通りの分割方法がある。ただし、NxNに分割する方法は、CUサイズが最小である場合にのみ用いられる。   As shown in FIG. 13, when encoding is performed by intra prediction, a method of making the PU the same size as the CU size (2Nx2N) or dividing the PU into four sizes smaller than the CU size by one step (NxN) There are two division methods. However, the method of dividing into NxN is used only when the CU size is the minimum.

図13に示すように、インター予測で符号化が行われる場合、PUをCUサイズと同じサイズ(2Nx2N)にする方法がある。または、CUを上下対称または左右対称の2つの長方形(2NxN、Nx2N)に分割する2通りの方法と、CUを上下非対称または左右非対称の2つの長方形(2NxnU、2NxnD、nRx2N、nLx2N)に分割する4通りの方法がある。すなわち、合計7通りの分割方法がある。   As shown in FIG. 13, when encoding is performed by inter prediction, there is a method of setting the PU to the same size (2N × 2N) as the CU size. Alternatively, the CU is divided into two vertically symmetrical or left and right symmetrical rectangles (2NxN, Nx2N), and the CU is divided into two vertically asymmetrical or left and right asymmetrical rectangles (2NxnU, 2NxnD, nRx2N, nLx2N). There are four ways. That is, there are a total of seven division methods.

インター予測の場合、動き補償予測に基づいた符号化が行われ、動きベクトルが伝送される。動きベクトルは、PUごとに伝送される。よって、CTUあたりの動きベクトルの数は、CUクアッドツリー構造に依存する。動きベクトルの数は分割が細かいほど増え、動きベクトルの符号量が増大する。   In the case of inter prediction, coding based on motion compensation prediction is performed, and a motion vector is transmitted. The motion vector is transmitted for each PU. Therefore, the number of motion vectors per CTU depends on the CU quadtree structure. The number of motion vectors increases as the division becomes finer, and the code amount of the motion vectors increases.

イントラ予測で符号化が行われる場合において、分割がなされる際、TUは、CUと同じサイズのブロックであるPU、またはCUが4分割されたブロックであるPUを起点にして逐次分割される。インター予測で符号化が行われる場合において、分割がなされる際、TUは、CUを起点にして逐次分割される。   In the case where encoding is performed by intra prediction, when division is performed, the TU is sequentially divided starting from a PU that is a block of the same size as the CU or a PU that is a block into which the CU is divided into four. When encoding is performed by inter prediction, when division is performed, the TU is sequentially divided starting from the CU.

インター予測におけるPUごとの動きベクトルを伝送する方法には、適応動きベクトル予測符号化と、マージ符号化の2つの方法がある。適応動きベクトル予測符号化では、伝送したい動きベクトルと、周辺PUから得られる予測動きベクトルとの差分のみが伝送される。マージ符号化では、周辺PUの動きベクトルで構築されるマージ候補リストのインデクスのみが伝送される。なお、マージインデックス決定に関する符号化制御技術が適用された映像符号化装置が特許文献1に記載されている。   As a method of transmitting a motion vector for each PU in inter prediction, there are two methods of adaptive motion vector prediction coding and merge coding. In the adaptive motion vector predictive coding, only a difference between a motion vector to be transmitted and a predicted motion vector obtained from a peripheral PU is transmitted. In the merge coding, only the indexes of the merge candidate list constructed by the motion vectors of the peripheral PUs are transmitted. A video encoding apparatus to which an encoding control technique related to merge index determination is applied is described in Patent Document 1.

図14を参照して、ディジタル化された映像の各フレームの各CUを入力画像としてビットストリームを出力する一般的な映像符号化装置の構成と動作を説明する。   With reference to FIG. 14, the configuration and operation of a general video encoding device that outputs a bit stream using each CU of each frame of a digitized video as an input image will be described.

図14は、一般的な映像符号化装置の一例を示すブロック図である。図14に示す映像符号化装置100は、変換部121、量子化部122、エントロピー符号化部127、逆量子化部123、逆変換部124、バッファ125、予測部126、および符号化パラメータ探索部110を備える。   FIG. 14 is a block diagram illustrating an example of a general video encoding device. The video encoding device 100 illustrated in FIG. 14 includes a transform unit 121, a quantization unit 122, an entropy encoding unit 127, an inverse quantization unit 123, an inverse transform unit 124, a buffer 125, a prediction unit 126, and an encoding parameter search unit. 110 is provided.

符号化パラメータ探索部110は、CTUのCUクアッドツリー構造/PU分割形状/TUクアッドツリー構造、CUの予測モード、イントラPUのイントラ予測方向、およびインターPUの動きベクトルに関して、それぞれの符号化コストを計算する。符号化パラメータ探索部110は、計算した符号化コストを比較することによって、インターPUの動きベクトルを探索し、伝送される動きベクトルを決定する。符号化パラメータ探索部110は、インターPUの動きベクトルに関する探索を行う動きベクトル探索部111を含む。   The coding parameter search unit 110 calculates the coding costs for the CU quad tree structure / PU division shape / TU quad tree structure of the CTU, the prediction mode of the CU, the intra prediction direction of the intra PU, and the motion vector of the inter PU. calculate. The coding parameter search unit 110 searches for a motion vector of the inter PU by comparing the calculated coding costs, and determines a motion vector to be transmitted. The encoding parameter search unit 110 includes a motion vector search unit 111 that searches for a motion vector of an inter PU.

符号化コストには、符号量に関する値と符号化歪み(画質に相関する。)とが反映されている。符号化パラメータ探索部110は、一例として、以下のRD(Rate Distortion )コスト(Cost)を使用する。   The coding cost reflects a value related to the code amount and coding distortion (correlated with image quality). The encoding parameter search unit 110 uses the following RD (Rate Distortion) cost (Cost) as an example.

Cost = D + λ・R   Cost = D + λ · R

Dは符号化歪みであり、Rは変換係数まで加味した符号量であり、λはラグランジェ乗数である。   D is a coding distortion, R is a code amount including the transform coefficient, and λ is a Lagrange multiplier.

符号化パラメータ探索部110は、CTU毎に、画像の特徴に合わせて符号化効率が高くなるようにCUクアッドツリー構造/PU分割形状/TUクアッドツリー構造を決定する。   The encoding parameter search unit 110 determines, for each CTU, a CU quad tree structure / PU division shape / TU quad tree structure so as to increase the encoding efficiency according to the characteristics of the image.

図15は、一般的な動きベクトル探索部の一例を示すブロック図である。図15に示すように、動きベクトル探索部111は、動きベクトル探索候補生成部112と、マージ候補リスト出力部113と、動きベクトル評価部114を含む。   FIG. 15 is a block diagram illustrating an example of a general motion vector search unit. As illustrated in FIG. 15, the motion vector search unit 111 includes a motion vector search candidate generation unit 112, a merge candidate list output unit 113, and a motion vector evaluation unit 114.

動きベクトル評価部114は、動きベクトル探索候補生成部112から出力された動きベクトル、マージ候補リスト出力部113から出力された動きベクトルそれぞれに対して符号化コストを算出する。動きベクトル評価部114は、算出した符号化コストを比較および評価し、対象のPUに適した動きベクトルを選択する。動きベクトル評価部114は、選択した動きベクトルを出力する。   The motion vector evaluator 114 calculates an encoding cost for each of the motion vector output from the motion vector search candidate generator 112 and the motion vector output from the merge candidate list output unit 113. The motion vector evaluation unit 114 compares and evaluates the calculated coding costs, and selects a motion vector suitable for the target PU. The motion vector evaluation unit 114 outputs the selected motion vector.

予測部126は、符号化パラメータ探索部110が決定したCUクアッドツリー構造およびPU分割形状にもとづいて、CUの入力画像信号に対する予測信号を生成する。予測信号は、イントラ予測またはインター予測にもとづいて生成される。   The prediction unit 126 generates a prediction signal for the CU input image signal based on the CU quad tree structure and the PU division shape determined by the coding parameter search unit 110. The prediction signal is generated based on intra prediction or inter prediction.

変換部121は、符号化パラメータ探索部110が決定したTUクアッドツリー構造にもとづいて、入力画像信号から予測信号を減じた予測誤差画像(予測誤差信号)を周波数変換する。変換部121は、予測誤差信号の変換符号化において、周波数変換にもとづいた4×4、8×8、16×16または32×32ブロックサイズの直交変換を使用する。具体的には、イントラ符号化またはインター符号化されるCUの輝度成分の4×4TUに対して、整数演算で近似した(整数精度の)DST (Discrete Sine Transform :離散サイン変換)を使用する。その他のTUに対して、そのブロックサイズに対応する、整数演算で近似した(整数精度の)DCT (Discrete Cosine Transform :離散コサイン変換)を使用する。   The conversion unit 121 performs frequency conversion on a prediction error image (prediction error signal) obtained by subtracting a prediction signal from an input image signal based on the TU quadtree structure determined by the encoding parameter search unit 110. The transform unit 121 uses orthogonal transform of 4 × 4, 8 × 8, 16 × 16, or 32 × 32 block size based on frequency transform in transform coding of a prediction error signal. Specifically, DST (Discrete Sine Transform: Discrete Sine Transform) (integer precision) approximated by an integer operation is used for 4 × 4 TU of a luminance component of a CU to be intra-coded or inter-coded. For other TUs, a DCT (Discrete Cosine Transform) that is approximated by integer arithmetic (with integer precision) and that corresponds to the block size is used.

量子化部122は、量子化パラメータQpと変換部121から供給される変換係数(直交変換係数)cijを入力として、量子化処理を行い量子化係数qijを得る。qijは、以下の計算で得られる。Quantization unit 122, an input transform coefficient (orthogonal transform coefficient) c ij supplied from the conversion unit 121 and the quantization parameter Q p, obtaining a quantization coefficient q ij performs quantization process. q ij is obtained by the following calculation.

qij = Int(cij/Qstep)
ただし、ここにおいて、
Qstep = (mij*2^qbit) / (Qscale(Qp%6))
qbit = 25 + (Qp / 6) − BitDepth − log2(N)
である。なお、「%」は剰余演算子を表す。
q ij = Int (c ij / Q step )
However, here
Q step = (m ij * 2 ^ q bit ) / (Q scale (Q p % 6))
q bit = 25 + (Q p / 6) − BitDepth − log 2 (N)
It is. Note that “%” represents a remainder operator.

ここで、mijは量子化重みづけ係数、Qscaleは量子化ステップ係数、BitDepthは入力画像の画素ビット精度、Nは直交変換のサイズである。Qpが大きいほどQstepが大きくなり、結果として得られる値qijの符号量は小さくなる。Here, m ij is a quantization weighting coefficient, Q scale is a quantization step coefficient, BitDepth is the pixel bit accuracy of the input image, and N is the size of the orthogonal transform. Q p larger the Q step is increased, the code amount of the value q ij resulting decreases.

逆量子化部123は、量子化係数を逆量子化する。さらに、逆変換部124は、逆量子化部123による逆量子化結果を逆変換する。逆変換により得られた予測誤差画像は、予測信号が加えられて、バッファ125に供給される。バッファ125は、供給された画像を参照画像として格納する。   The inverse quantization unit 123 inversely quantizes the quantization coefficient. Further, the inverse transform unit 124 inversely transforms a result of the inverse quantization performed by the inverse quantization unit 123. The prediction error image obtained by the inverse transformation is supplied with a prediction signal and supplied to the buffer 125. The buffer 125 stores the supplied image as a reference image.

符号量制御部(図示せず)は、符号化中のフレームが符号化された結果の符号量が、目標符号量となるように符号化処理を制御する。例えば、符号量制御部は、量子化パラメータQpを変化させることによって、量子化係数の符号量を制御する。また、符号量制御部は、ラグランジュ乗数λをQpの関数にすることによって、Qpを介してブロック構造決定部(図示せず)を制御できる。The code amount control unit (not shown) controls the encoding process so that the code amount as a result of encoding the frame being encoded becomes the target code amount. For example, the code amount control unit, by changing the quantization parameter Q p, controls the code amount of the quantized coefficients. Further, the code amount control unit, the Lagrange multiplier λ by the function Q p, can control block structure determination unit (not shown) through a Q p.

マージ候補リスト出力部113は、非特許文献1の8.5.3.2.1項に記載されている手順に準拠して、マージ候補として使用可能なリスト(マージ候補リスト)を出力する。マージ候補リストは、空間的または時間的に隣接するブロックが持つ動きベクトル(以下、周辺ベクトルという。)を用いて構築されるリストである。   The merge candidate list output unit 113 outputs a list (merge candidate list) that can be used as a merge candidate in accordance with the procedure described in Section 8.5.3.2.1 of Non-Patent Document 1. The merge candidate list is a list constructed using a motion vector (hereinafter, referred to as a peripheral vector) of a spatially or temporally adjacent block.

図16を参照して、周辺ベクトルの取得位置を説明する。図16は、符号化対象予測ブロックの周辺ベクトルの取得位置を示す説明図である。図16は、マージ候補リスト構築時に参照する周辺ブロックのそれぞれの位置の名前を示す。   With reference to FIG. 16, the acquisition position of the peripheral vector will be described. FIG. 16 is an explanatory diagram illustrating the acquisition positions of the surrounding vectors of the encoding target prediction block. FIG. 16 shows the names of the respective positions of the peripheral blocks referred to when the merge candidate list is constructed.

図16の中心に示す矩形は、符号化対象予測ブロックを意味する。また、図16に示す円は、予測ブロックの取得位置を意味する。図16に示す周辺の予測ブロックの取得位置には、A0,A1,B0,B1,B2,C0,C1の7つがある。周辺ベクトルは、7つの取得位置それぞれから得られる。   A rectangle shown at the center of FIG. 16 indicates a coding target prediction block. In addition, the circle illustrated in FIG. 16 indicates the acquisition position of the prediction block. There are seven positions A0, A1, B0, B1, B2, C0, and C1 at the acquisition positions of the peripheral prediction blocks shown in FIG. The peripheral vector is obtained from each of the seven acquisition positions.

非特許文献1に記載されている手順では、得られた周辺ベクトルのうち最大5つがマージ候補リストの要素として列挙されることが規定されている。マージ候補リストは、非特許文献1に記載されている手順に従うマージ候補リスト出力部113により生成される。マージ候補リストの要素数は、符号化部120への入力として与えられる値MaxNumMergeCandを用いて決定される。   The procedure described in Non-Patent Document 1 specifies that up to five of the obtained peripheral vectors are listed as elements of a merge candidate list. The merge candidate list is generated by the merge candidate list output unit 113 according to the procedure described in Non-Patent Document 1. The number of elements in the merge candidate list is determined using the value MaxNumMergeCand given as an input to the encoding unit 120.

図17は、一般的なマージ候補リスト出力部の概要を示すブロック図である。図17に示すマージ候補リスト出力部113は、マージ候補リスト生成部200と、numCurrMergeCand記憶部201と、等価判定部202とを含む。   FIG. 17 is a block diagram showing an outline of a general merge candidate list output unit. The merge candidate list output unit 113 illustrated in FIG. 17 includes a merge candidate list generation unit 200, a numCurrMergeCand storage unit 201, and an equivalence determination unit 202.

マージ候補リスト出力部113は、MaxNumMergeCandを入力として受け付け、候補生成完了信号およびマージ候補リストを出力する機能を有する。   The merge candidate list output unit 113 has a function of receiving MaxNumMergeCand as an input and outputting a candidate generation completion signal and a merge candidate list.

マージ候補リスト生成部200は、生成したマージ候補をマージ候補リストに追加することによって、マージ候補リストを生成する機能を有する。マージ候補リスト生成部200は、内部でマージ候補リストを生成しながら、numCurrMergeCand記憶部201が記憶するnumCurrMergeCandを更新する。   The merge candidate list generation unit 200 has a function of generating a merge candidate list by adding the generated merge candidates to the merge candidate list. The merge candidate list generation unit 200 updates numCurrMergeCand stored in the numCurrMergeCand storage unit 201 while internally generating a merge candidate list.

numCurrMergeCand記憶部201は、生成途中のマージ候補リストに含まれているマージ候補の数を示すnumCurrMergeCandを記憶する機能を有する。   The numCurrMergeCand storage unit 201 has a function of storing numCurrMergeCand indicating the number of merge candidates included in the merge candidate list being generated.

等価判定部202は、numCurrMergeCand記憶部201が記憶するnumCurrMergeCandが、MaxNumMergeCandに等しいか否かを判定する機能を有する。numCurrMergeCandがMaxNumMergeCandに等しい場合、等価判定部202は、候補生成完了信号を出力する。   The equivalence determination unit 202 has a function of determining whether numCurrMergeCand stored in the numCurrMergeCand storage unit 201 is equal to MaxNumMergeCand. When numCurrMergeCand is equal to MaxNumMergeCand, the equivalence determination unit 202 outputs a candidate generation completion signal.

以下、図17に示すマージ候補リスト出力部113がマージ候補リストを生成する時の動作を、図18を参照して説明する。図18は、一般的なマージ候補リスト出力部によるマージ候補リストの生成処理の動作を示すフローチャートである。   Hereinafter, the operation when the merge candidate list output unit 113 shown in FIG. 17 generates the merge candidate list will be described with reference to FIG. FIG. 18 is a flowchart illustrating the operation of a process of generating a merge candidate list by a general merge candidate list output unit.

マージ候補リスト生成部200は、1または複数のマージ候補を生成し、マージ候補リストに追加する(ステップS001)。追加した後、マージ候補リスト生成部200は、numCurrMergeCand記憶部201に記憶されている、マージ候補リストの要素数を示すnumCurrMergeCandを更新する(ステップS002)。   The merge candidate list generation unit 200 generates one or more merge candidates and adds them to the merge candidate list (step S001). After the addition, the merge candidate list generation unit 200 updates numCurrMergeCand indicating the number of elements of the merge candidate list stored in the numCurrMergeCand storage unit 201 (step S002).

等価判定部202は、更新されたnumCurrMergeCandが、入力であるMaxNumMergeCandと等しいか否かを確認する(ステップS003)。   The equivalence determination unit 202 confirms whether or not the updated numCurrMergeCand is equal to the input MaxNumMergeCand (step S003).

numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS003におけるYes)、マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS003におけるNo)、マージ候補リスト出力部113は、ステップS001の処理を再度行う。   If numCurrMergeCand and MaxNumMergeCand are equal (Yes in step S003), the merge candidate list output unit 113 ends the merge candidate list generation processing. If numCurrMergeCand and MaxNumMergeCand are not equal (No in step S003), the merge candidate list output unit 113 performs the processing in step S001 again.

図19は、一般的なマージ候補リスト出力部113の一例を示すブロック図である。図19に示すように、マージ候補リスト生成部200は、周辺ベクトル一挙生成部210と、結合双予測候補生成部220と、ゼロマージ候補生成部230と、マージ候補リスト記憶部240と、インクリメント部300と、加算部301と、減算部302とを含む。   FIG. 19 is a block diagram illustrating an example of a general merge candidate list output unit 113. As shown in FIG. 19, the merge candidate list generation unit 200 includes a surrounding vector burst generation unit 210, a combined bi-prediction candidate generation unit 220, a zero merge candidate generation unit 230, a merge candidate list storage unit 240, and an increment unit 300. And an adder 301 and a subtractor 302.

周辺ベクトル一挙生成部210は、生成した周辺ベクトルを、最大5つまでマージ候補リストに一挙に追加する機能を有する。追加した後、周辺ベクトル一挙生成部210は、numCurrMergeCandを更新する。   The peripheral vector burst generation unit 210 has a function of adding up to five generated peripheral vectors to the merge candidate list at a time. After the addition, the peripheral vector burst generation unit 210 updates numCurrMergeCand.

結合双予測候補生成部220は、結合双予測候補を生成する機能を有する。結合双予測候補は、マージ候補リストに追加された周辺ベクトルを組み合わせることによって新規に生成される動きベクトルである。結合双予測候補の生成では、生成されるベクトルの数がnumCurrMergeCandに依存する。結合双予測候補生成部220は、最大で12個のベクトルを生成する。   The joint bi-prediction candidate generation unit 220 has a function of generating a joint bi-prediction candidate. The joint bi-prediction candidate is a motion vector newly generated by combining the neighboring vectors added to the merge candidate list. In the generation of combined bi-prediction candidates, the number of generated vectors depends on numCurrMergeCand. The combined bi-prediction candidate generation unit 220 generates a maximum of 12 vectors.

結合双予測候補生成部220は、結合双予測候補を1つ生成するごとに、結合双予測候補をマージ候補リストに追加する。また、結合双予測候補生成部220は、結合双予測候補を1つ生成するごとに、インクリメント部300を用いてnumCurrMergeCandを更新する。   The combined bi-prediction candidate generation unit 220 adds the combined bi-prediction candidate to the merge candidate list each time one combined bi-prediction candidate is generated. The combined bi-prediction candidate generation unit 220 updates numCurrMergeCand by using the increment unit 300 each time one combined bi-prediction candidate is generated.

ゼロマージ候補生成部230は、ゼロマージ候補を生成する機能を有する。ゼロマージ候補生成部230は、numCurrMergeCandがMaxNumMergeCand未満である場合に、ゼロマージ候補を生成する。ゼロマージ候補生成部230は、numCurrMergeCandがMaxNumMergeCandと等しくなるように両者の差分だけゼロマージ候補を生成し、生成したゼロマージ候補をマージ候補リストに追加する。   The zero merge candidate generation unit 230 has a function of generating a zero merge candidate. The zero merge candidate generation unit 230 generates a zero merge candidate when numCurrMergeCand is less than MaxNumMergeCand. The zero merge candidate generation unit 230 generates zero merge candidates by the difference between them so that numCurrMergeCand becomes equal to MaxNumMergeCand, and adds the generated zero merge candidates to the merge candidate list.

以下、図19に示すマージ候補リスト出力部113がマージ候補リストを生成する時の動作を、図20を参照して説明する。図20は、一般的なマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。図20に示す動作は、上記の規格に定められた手順に従ってマージ候補リストの生成処理を行う場合の動作である。   Hereinafter, an operation when the merge candidate list output unit 113 illustrated in FIG. 19 generates the merge candidate list will be described with reference to FIG. FIG. 20 is a flowchart showing a specific operation of the process of generating a merge candidate list by the general merge candidate list output unit 113. The operation illustrated in FIG. 20 is an operation in a case where the merge candidate list is generated according to the procedure defined in the above standard.

周辺ベクトル一挙生成部210は、マージ候補リストの要素になる周辺ベクトルを、最大5つ列挙する(ステップS011)。周辺ベクトル一挙生成部210は、列挙した周辺ベクトルを、上記の手順に従ってマージ候補リストに一挙に追加する(ステップS012)。   The peripheral vector burst generation unit 210 enumerates a maximum of five peripheral vectors to be elements of the merge candidate list (step S011). The peripheral vector burst generation unit 210 adds the listed peripheral vectors to the merge candidate list at once according to the above procedure (step S012).

追加した時点で、周辺ベクトル一挙生成部210は、マージ候補リストの要素数を算出し、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandを更新する(ステップS013)。等価判定部202は、numCurrMergeCandがMaxNumMergeCandと等しいか否かを判断する(ステップS014)。   At the time of addition, the peripheral vector burst generation unit 210 calculates the number of elements in the merge candidate list, and updates numCurrMergeCand stored in the numCurrMergeCand storage unit 201 (step S013). The equivalence determination unit 202 determines whether numCurrMergeCand is equal to MaxNumMergeCand (step S014).

numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS014におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。   When numCurrMergeCand and MaxNumMergeCand are equal (Yes in step S014), the equivalence determination unit 202 outputs a candidate generation completion signal indicating that the generation of the merge candidate list has been completed. The merge candidate list output unit 113 ends the merge candidate list generation processing.

numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS014におけるNo)、例えばnumCurrMergeCandがMaxNumMergeCand未満である場合、マージ候補リスト生成部200は、結合双予測候補の生成処理および追加処理を行う。   When numCurrMergeCand is not equal to MaxNumMergeCand (No in step S014), for example, when numCurrMergeCand is less than MaxNumMergeCand, the merge candidate list generation unit 200 performs a process of generating a combined bi-prediction candidate and an additional process.

結合双予測候補生成部220は、結合双予測候補である1個のベクトルを新規に生成する(ステップS015)。結合双予測候補生成部220は、1個のベクトルを生成するごとに、生成したベクトルをマージ候補リストに追加する(ステップS016)。   The combined bi-prediction candidate generation unit 220 newly generates one vector that is a combined bi-prediction candidate (step S015). Each time one combined vector is generated, the combined bi-prediction candidate generating unit 220 adds the generated vector to the merge candidate list (step S016).

次いで、結合双予測候補生成部220は、numCurrMergeCandを更新する(ステップS017)。numCurrMergeCandが更新された後、等価判定部202は、numCurrMergeCandがMaxNumMergeCandと等しいか否かを判断する(ステップS018)。   Next, the combined bi-prediction candidate generation unit 220 updates numCurrMergeCand (Step S017). After numCurrMergeCand is updated, the equivalence determination unit 202 determines whether numCurrMergeCand is equal to MaxNumMergeCand (step S018).

numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS018におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。   If numCurrMergeCand is equal to MaxNumMergeCand (Yes in step S018), the equivalence determination unit 202 outputs a candidate generation completion signal indicating that the generation of the merge candidate list has been completed. The merge candidate list output unit 113 ends the merge candidate list generation processing.

numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS018におけるNo)、結合双予測候補生成部220は、結合双予測候補の生成処理および追加処理が終了しているか否かを確認する(ステップS019)。   If numCurrMergeCand and MaxNumMergeCand are not equal (No in step S018), the combined bi-prediction candidate generation unit 220 checks whether the generation processing and the addition processing of the combined bi-prediction candidate have been completed (step S019).

例えば、結合双予測候補の生成数が予め定められた値になったとき、結合双予測候補生成部220は、結合双予測候補の生成処理および追加処理を終了する。結合双予測候補の生成処理および追加処理が終了していない場合(ステップS019におけるNo)、結合双予測候補生成部220は、再度ステップS015の処理を行う。   For example, when the number of combined bi-prediction candidates generated reaches a predetermined value, the combined bi-prediction candidate generation unit 220 ends the combined bi-prediction candidate generation processing and the addition processing. If the generation processing and the addition processing of the combined bi-prediction candidate have not been completed (No in step S019), the combined bi-prediction candidate generation unit 220 performs the processing of step S015 again.

結合双予測候補の生成処理および追加処理が終了している場合(ステップS019におけるYes)、numCurrMergeCandがまだMaxNumMergeCandより小さい。そのため、ゼロマージ候補生成部230は、ゼロマージ候補の生成処理および追加処理を行う。   If the generation processing and the addition processing of the combined bi-prediction candidate have been completed (Yes in step S019), numCurrMergeCand is still smaller than MaxNumMergeCand. Therefore, the zero merge candidate generation unit 230 performs a generation process and an addition process of the zero merge candidate.

ゼロマージ候補の生成処理において、ゼロマージ候補生成部230は、マージ候補リストの要素数とMaxNumMergeCandとの差分だけゼロマージ候補を生成する(ステップS020)。ゼロマージ候補生成部230は、生成したゼロマージ候補を、マージ候補リストの末尾に追加する(ステップS021)。   In the generation process of the zero merge candidate, the zero merge candidate generation unit 230 generates the zero merge candidate by the difference between the number of elements in the merge candidate list and MaxNumMergeCand (Step S020). The zero merge candidate generation unit 230 adds the generated zero merge candidate to the end of the merge candidate list (Step S021).

ゼロマージ候補が追加された後、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。   After the zero merge candidate is added, the equivalence determination unit 202 outputs a candidate generation completion signal indicating that the generation of the merge candidate list has been completed. The merge candidate list output unit 113 ends the merge candidate list generation processing.

マージ候補リストの生成完了の通知を受けると、動きベクトル評価部114は、生成されたマージ候補リストを用いて処理を開始する。   Upon receiving the notification of the completion of the generation of the merge candidate list, the motion vector evaluation unit 114 starts processing using the generated merge candidate list.

なお、特許文献2は、動きベクトル予測プロセスにおいて動きベクトル予測候補のセットを判断するための技術を開示している。   Patent Document 2 discloses a technique for determining a set of motion vector prediction candidates in a motion vector prediction process.

特許第5590269号公報Japanese Patent No. 5590269 特表2014−517658号公報JP 2014-517658 A

ITU-T 勧告 H.265 High efficiency video coding, April 2013ITU-T recommendation H.265 High efficiency video coding, April 2013

図20に示すマージ候補リストの生成手順に従うと、マージ候補リストの生成に要する時間が変動する可能性がある。また、マージ候補リストの生成に要する時間が長くなる。また、動きベクトル評価部114は、マージ候補リストの生成処理が終了するまで、処理を開始できない。   According to the merge candidate list generation procedure shown in FIG. 20, the time required for generating the merge candidate list may vary. Further, the time required to generate the merge candidate list becomes longer. Further, the motion vector evaluation unit 114 cannot start the processing until the processing of generating the merge candidate list ends.

図21は、一般的な動きベクトル探索部111の処理時間を示す説明図である。図21は、マージ候補リスト出力処理と動きベクトル評価処理が並列に実施されない場合の、動きベクトル探索部111の処理時間を示す。   FIG. 21 is an explanatory diagram showing the processing time of a general motion vector search unit 111. FIG. 21 shows the processing time of the motion vector search unit 111 when the merge candidate list output process and the motion vector evaluation process are not performed in parallel.

図21に示すように、マージ候補リスト出力部113がマージ候補リストを生成している間、動きベクトル評価部114は動作できない。マージ候補リスト出力部113は、マージ候補リストの生成を完了した後に生成完了の信号を出力する。生成完了の信号が入力された時に、動きベクトル評価部114は、マージ候補リストに対する評価処理を開始できる。   As shown in FIG. 21, while the merge candidate list output unit 113 is generating the merge candidate list, the motion vector evaluation unit 114 cannot operate. The merge candidate list output unit 113 outputs a generation completion signal after completing generation of the merge candidate list. When a generation completion signal is input, the motion vector evaluation unit 114 can start evaluation processing on the merge candidate list.

マージ候補リスト出力部113によるマージ候補リスト生成処理の時間が長くなると、動きベクトル評価部114が動作できない時間も長くなる。その結果、動きベクトル探索部111全体の処理時間が長くなってしまう。このように、図14に示す一般的な映像符号化装置において、マージ候補リストの生成時間が長く、マージ候補リストが用いられる処理の開始までの時間が長いという課題がある。   When the time of the merge candidate list generation processing by the merge candidate list output unit 113 increases, the time during which the motion vector evaluation unit 114 cannot operate also increases. As a result, the processing time of the entire motion vector search unit 111 becomes longer. As described above, the general video encoding device illustrated in FIG. 14 has a problem that the generation time of the merge candidate list is long and the time until the start of the process using the merge candidate list is long.

そこで、本発明は、マージ候補リストが使用される処理の開始を早めることができる映像符号化装置、映像符号化方法およびプログラム記録媒体を提供することを目的とする。   Therefore, an object of the present invention is to provide a video encoding device, a video encoding method, and a program recording medium that can accelerate the start of processing using a merge candidate list.

本発明による映像符号化装置は、隣接ブロックからマージ候補リストを生成するマージ候補リスト生成手段と、マージ候補リストにマージ候補が少なくとも1つ含まれている場合、マージ候補リストが使用される処理を開始させる処理開始信号を出力する出力手段とを備える。   A video encoding device according to the present invention includes a merging candidate list generating unit configured to generate a merging candidate list from an adjacent block, and a process that uses the merging candidate list when the merging candidate list includes at least one merging candidate. Output means for outputting a process start signal to be started.

本発明による映像符号化方法は、隣接ブロックからマージ候補リストを生成し、マージ候補リストにマージ候補が少なくとも1つ含まれている場合、マージ候補リストが使用される処理を開始させる処理開始信号を出力することを特徴とする。   In the video encoding method according to the present invention, a merge candidate list is generated from adjacent blocks, and when at least one merge candidate is included in the merge candidate list, a process start signal for starting a process using the merge candidate list is generated. It is characterized by outputting.

本発明によるプログラム記録媒体は、隣接ブロックからマージ候補リストを生成する生成処理、およびマージ候補リストにマージ候補が少なくとも1つ含まれている場合、マージ候補リストが使用される処理を開始させる処理開始信号を出力する出力処理をコンピュータに実行させるためのプログラムを記録する。   In the program recording medium according to the present invention, a generation process for generating a merge candidate list from adjacent blocks, and a process for starting a process in which the merge candidate list is used when at least one merge candidate is included in the merge candidate list A program for causing a computer to execute an output process of outputting a signal is recorded.

本発明によれば、マージ候補リストが使用される処理の開始を早めることができる。   According to the present invention, it is possible to hasten the start of the process in which the merge candidate list is used.

図1は、本発明によるマージ候補リスト出力部の概要を示すブロック図である。FIG. 1 is a block diagram showing an outline of a merge candidate list output unit according to the present invention. 図2は、本発明によるマージ候補リスト出力部によるマージ候補リストの生成処理の動作を示すフローチャートである。FIG. 2 is a flowchart showing the operation of the merge candidate list generation processing by the merge candidate list output unit according to the present invention. 図3は、本発明による動きベクトル探索部の処理時間を示す説明図である。FIG. 3 is an explanatory diagram showing the processing time of the motion vector search unit according to the present invention. 図4は、本発明によるマージ候補リスト出力部の第1の実施形態の構成例を示すブロック図である。FIG. 4 is a block diagram showing a configuration example of the first embodiment of the merge candidate list output unit according to the present invention. 図5は、第1の実施形態におけるマージ候補リスト出力部によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。FIG. 5 is a flowchart illustrating a specific operation of the merge candidate list generation processing by the merge candidate list output unit according to the first embodiment. 図6は、本発明によるマージ候補リスト出力部の第2の実施形態の構成例を示すブロック図である。FIG. 6 is a block diagram showing a configuration example of the second embodiment of the merge candidate list output unit according to the present invention. 図7は、第2の実施形態におけるマージ候補リスト出力部によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。FIG. 7 is a flowchart illustrating a specific operation of a merge candidate list generation process by the merge candidate list output unit according to the second embodiment. 図8は、本発明によるマージ候補リスト出力部の第3の実施形態の構成例を示すブロック図である。FIG. 8 is a block diagram showing a configuration example of the third embodiment of the merge candidate list output unit according to the present invention. 図9は、第3の実施形態におけるマージ候補リスト出力部によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。FIG. 9 is a flowchart illustrating a specific operation of the merge candidate list generation processing by the merge candidate list output unit according to the third embodiment. 図10は、本発明による映像符号化装置の機能を実現可能な情報処理システムの構成例を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration example of an information processing system capable of realizing the functions of the video encoding device according to the present invention. 図11は、本発明による映像符号化装置の概要を示すブロック図である。FIG. 11 is a block diagram showing an outline of a video encoding device according to the present invention. 図12Aは、CTUサイズが64×64(64画素×64画素)の場合のCU分割形状の一例を示す説明図である。FIG. 12A is an explanatory diagram showing an example of the CU division shape when the CTU size is 64 × 64 (64 pixels × 64 pixels). 図12Bは、CTUサイズが64×64(64画素×64画素)の場合のCUクアッドツリー構造の一例を示す説明図である。FIG. 12B is an explanatory diagram showing an example of a CU quad tree structure when the CTU size is 64 × 64 (64 pixels × 64 pixels). 図13は、イントラ予測におけるPU分割方法とインター予測におけるPU分割方法を示す説明図である。FIG. 13 is an explanatory diagram showing a PU partitioning method in intra prediction and a PU partitioning method in inter prediction. 図14は、一般的な映像符号化装置の一例を示すブロック図である。FIG. 14 is a block diagram illustrating an example of a general video encoding device. 図15は、一般的な動きベクトル探索部の一例を示すブロック図である。FIG. 15 is a block diagram illustrating an example of a general motion vector search unit. 図16は、符号化対象予測ブロックの周辺ベクトルの取得位置を示す説明図である。FIG. 16 is an explanatory diagram illustrating the acquisition positions of the surrounding vectors of the encoding target prediction block. 図17は、一般的なマージ候補リスト出力部の概要を示すブロック図である。FIG. 17 is a block diagram showing an outline of a general merge candidate list output unit. 図18は、一般的なマージ候補リスト出力部によるマージ候補リストの生成処理の動作を示すフローチャートである。FIG. 18 is a flowchart illustrating the operation of a process of generating a merge candidate list by a general merge candidate list output unit. 図19は、一般的なマージ候補リスト出力部の一例を示すブロック図である。FIG. 19 is a block diagram illustrating an example of a general merge candidate list output unit. 図20は、一般的なマージ候補リスト出力部によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。FIG. 20 is a flowchart illustrating a specific operation of a process of generating a merge candidate list by a general merge candidate list output unit. 図21は、一般的な動きベクトル探索部の処理時間を示す説明図である。FIG. 21 is an explanatory diagram showing the processing time of a general motion vector search unit.

[構成の説明]
以下、本発明を、図面を参照して説明する。図1は、本発明によるマージ候補リスト出力部113の概要を示すブロック図である。なお、図1以降のブロック図に記載された矢印は、情報の移動方向の一例を示している。情報の移動方向は、図示された方向に限定されない。
[Description of configuration]
Hereinafter, the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an outline of the merge candidate list output unit 113 according to the present invention. Note that arrows shown in the block diagrams of FIG. 1 and subsequent drawings show an example of a moving direction of information. The moving direction of the information is not limited to the illustrated direction.

図1に示すマージ候補リスト出力部113の構成は、図17に示すマージ候補リスト出力部113の構成と比較して、非零判定部203が追加されている点が異なる。非零判定部203以外の図1に示すマージ候補リスト出力部113の構成は、図17に示すマージ候補リスト出力部113の構成と同様である。   The configuration of the merge candidate list output unit 113 shown in FIG. 1 is different from the configuration of the merge candidate list output unit 113 shown in FIG. 17 in that a non-zero determination unit 203 is added. The configuration of the merge candidate list output unit 113 shown in FIG. 1 other than the non-zero determination unit 203 is the same as the configuration of the merge candidate list output unit 113 shown in FIG.

非零判定部203は、numCurrMergeCand記憶部201が記憶するnumCurrMergeCandが0でないか否かを判定する機能を有する。numCurrMergeCandが0でないと判定した場合、非零判定部203は、評価開始可能信号を出力する。   The non-zero determination unit 203 has a function of determining whether numCurrMergeCand stored in the numCurrMergeCand storage unit 201 is not 0. When determining that numCurrMergeCand is not 0, the non-zero determination unit 203 outputs an evaluation start enable signal.

[動作の説明]
以下、図1に示すマージ候補リスト出力部113がマージ候補リストを生成する時の動作を、図2を参照して説明する。図2は、本発明によるマージ候補リスト出力部113によるマージ候補リストの生成処理の動作を示すフローチャートである。
[Description of operation]
Hereinafter, the operation when the merge candidate list output unit 113 shown in FIG. 1 generates the merge candidate list will be described with reference to FIG. FIG. 2 is a flowchart showing the operation of the merge candidate list generation processing by the merge candidate list output unit 113 according to the present invention.

ステップS101〜S102における処理は、図18に示すステップS001〜S002における処理と同様であるため、説明を省略する。   The processing in steps S101 to S102 is the same as the processing in steps S001 to S002 shown in FIG.

numCurrMergeCandが更新された後、非零判定部203は、numCurrMergeCandが0でないか否かを判定する(ステップS103)。   After numCurrMergeCand is updated, the non-zero determination unit 203 determines whether numCurrMergeCand is not 0 (step S103).

numCurrMergeCandが0でない場合(ステップS103におけるYes)、非零判定部203は、評価開始可能信号を出力する(ステップS104)。   If numCurrMergeCand is not 0 (Yes in step S103), the non-zero determination unit 203 outputs an evaluation start enable signal (step S104).

ステップS103またはS104の処理の後、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS105)。   After the processing in step S103 or S104, the equivalence determination unit 202 checks whether numCurrMergeCand and MaxNumMergeCand stored in the numCurrMergeCand storage unit 201 are equal (step S105).

ステップS105における処理は、図18に示すステップS003における処理と同様であるため、説明を省略する。   The process in step S105 is the same as the process in step S003 shown in FIG.

[効果の説明]
以下、本発明による効果を説明する。本発明によれば、マージ候補リストの生成が完了する前に、非零判定部203が評価開始可能信号を出力する。よって、後続の処理を行う動きベクトル評価部114は、評価開始可能信号を受け付けることによって、マージ候補リストの生成の完了を待たずに処理を開始できる。すなわち、マージ候補リスト出力部113は、マージ候補リストを用いて処理を行う動きベクトル評価部114の処理開始時刻を早めることができる。
[Explanation of effects]
Hereinafter, the effects of the present invention will be described. According to the present invention, before the generation of the merge candidate list is completed, the non-zero determination unit 203 outputs an evaluation start enable signal. Therefore, the motion vector evaluation unit 114 that performs the subsequent processing can start the processing without waiting for the completion of the generation of the merge candidate list by receiving the evaluation start enable signal. That is, the merge candidate list output unit 113 can advance the processing start time of the motion vector evaluation unit 114 that performs processing using the merge candidate list.

図3は、本発明による動きベクトル探索部の処理時間を示す説明図である。図3は、マージ候補リスト出力処理と動きベクトル評価処理が並列に実施される場合の動きベクトル探索部の処理時間を示す。   FIG. 3 is an explanatory diagram showing the processing time of the motion vector search unit according to the present invention. FIG. 3 shows the processing time of the motion vector search unit when the merge candidate list output process and the motion vector evaluation process are performed in parallel.

図21に示すように、通常の動きベクトル探索部において、動きベクトル評価処理は、マージ候補リストの生成完了時に開始される。しかし、図3に示すように、本実施形態におけるマージ候補リスト出力部113は、マージ候補リストに少なくとも1つのマージ候補が追加された時点で、処理開始可能であることを通知する。よって、動きベクトル評価部114は、マージ候補リスト出力部113と並列して動作できる。すなわち、マージ候補リストの生成途中で動きベクトル評価処理が開始されるため、動きベクトル探索部全体の処理時間が削減される。   As shown in FIG. 21, in the normal motion vector search unit, the motion vector evaluation processing is started when the generation of the merge candidate list is completed. However, as shown in FIG. 3, the merge candidate list output unit 113 in the present embodiment notifies that the processing can be started when at least one merge candidate is added to the merge candidate list. Therefore, the motion vector evaluation unit 114 can operate in parallel with the merge candidate list output unit 113. That is, since the motion vector evaluation process is started during the generation of the merge candidate list, the processing time of the entire motion vector search unit is reduced.

以下、本発明の各実施形態におけるマージ候補リスト出力部113の具体的な構成および動作を説明する。   Hereinafter, a specific configuration and operation of the merge candidate list output unit 113 in each embodiment of the present invention will be described.

実施形態1.
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図4は、本発明によるマージ候補リスト出力部113の第1の実施形態の構成例を示すブロック図である。
Embodiment 1 FIG.
[Description of configuration]
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 4 is a block diagram showing a configuration example of the first embodiment of the merge candidate list output unit 113 according to the present invention.

図4に示すマージ候補リスト出力部113の構成は、図19に示すマージ候補リスト出力部113の構成と比較して、非零判定部203が追加されている点が異なる。非零判定部203以外の図4に示すマージ候補リスト出力部113の構成は、図19に示すマージ候補リスト出力部113の構成と同様である。   The configuration of the merge candidate list output unit 113 illustrated in FIG. 4 is different from the configuration of the merge candidate list output unit 113 illustrated in FIG. 19 in that a non-zero determination unit 203 is added. The configuration of the merge candidate list output unit 113 shown in FIG. 4 other than the non-zero determination unit 203 is the same as the configuration of the merge candidate list output unit 113 shown in FIG.

[動作の説明]
以下、本実施形態のマージ候補リスト出力部113の動作を図5を参照して説明する。図5は、第1の実施形態におけるマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。
[Description of operation]
Hereinafter, the operation of the merge candidate list output unit 113 according to the present embodiment will be described with reference to FIG. FIG. 5 is a flowchart illustrating a specific operation of the merge candidate list generation processing by the merge candidate list output unit 113 according to the first embodiment.

マージ候補リストの生成が開始されると、周辺ベクトル一挙生成部210は、最大5つの周辺ベクトルを一挙に生成する(ステップS111)。周辺ベクトル一挙生成部210は、生成した周辺ベクトルをマージ候補リストに一挙に追加する(ステップS112)。
追加した後、周辺ベクトル一挙生成部210は、numCurrMergeCandを更新する(ステップS113)。
When the generation of the merge candidate list is started, the peripheral vector burst generation unit 210 generates a maximum of five peripheral vectors at a time (step S111). The peripheral vector burst generation unit 210 adds the generated peripheral vectors to the merge candidate list at once (step S112).
After the addition, the peripheral vector burst generation unit 210 updates numCurrMergeCand (step S113).

numCurrMergeCandが更新された後、非零判定部203は、numCurrMergeCandが0でないか否かを判定する(ステップS114)。   After numCurrMergeCand is updated, the non-zero determination unit 203 determines whether numCurrMergeCand is not 0 (step S114).

numCurrMergeCandが0でない場合(ステップS114におけるYes)、非零判定部203は、評価開始可能信号を出力する(ステップS115)。   If numCurrMergeCand is not 0 (Yes in step S114), the non-zero determination unit 203 outputs an evaluation start enable signal (step S115).

ステップS114またはS115の処理の後、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS116)。   After the processing in step S114 or S115, the equivalence determination unit 202 checks whether numCurrMergeCand and MaxNumMergeCand stored in the numCurrMergeCand storage unit 201 are equal (step S116).

numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS116におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。   When numCurrMergeCand is equal to MaxNumMergeCand (Yes in step S116), the equivalence determination unit 202 outputs a candidate generation completion signal indicating that the generation of the merge candidate list has been completed. The merge candidate list output unit 113 ends the merge candidate list generation processing.

numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS116におけるNo)、結合双予測候補生成部220は、結合双予測候補を生成する(ステップS117)。結合双予測候補を1つ生成するごとに、結合双予測候補生成部220は、生成した結合双予測候補をマージ候補リストに追加する(ステップS118)。次いで、結合双予測候補生成部220は、numCurrMergeCandを更新する(ステップS119)。   If numCurrMergeCand and MaxNumMergeCand are not equal (No in step S116), the combined bi-prediction candidate generation unit 220 generates a combined bi-prediction candidate (step S117). Each time one combined bi-prediction candidate is generated, the combined bi-prediction candidate generation unit 220 adds the generated combined bi-prediction candidate to the merge candidate list (step S118). Next, the combined bi-prediction candidate generation unit 220 updates numCurrMergeCand (step S119).

結合双予測候補がマージ候補リストに1つ追加されnumCurrMergeCandが更新されるごとに、非零判定部203は、numCurrMergeCandが0でないか否かを判定する(ステップS120)。numCurrMergeCandが0でない場合(ステップS120におけるYes)、非零判定部203は、評価開始可能信号を出力する(ステップS121)。   Each time one combined bi-prediction candidate is added to the merge candidate list and numCurrMergeCand is updated, the non-zero determining unit 203 determines whether numCurrMergeCand is not 0 (step S120). If numCurrMergeCand is not 0 (Yes in step S120), the non-zero determination unit 203 outputs an evaluation start enable signal (step S121).

ステップS120またはS121の処理の後、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS122)。   After the processing of step S120 or S121, the equivalence determination unit 202 checks whether numCurrMergeCand and MaxNumMergeCand stored in the numCurrMergeCand storage unit 201 are equal (step S122).

numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS122におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。   When numCurrMergeCand is equal to MaxNumMergeCand (Yes in step S122), the equivalence determination unit 202 outputs a candidate generation completion signal indicating that the generation of the merge candidate list has been completed. The merge candidate list output unit 113 ends the merge candidate list generation processing.

numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS122におけるNo)、結合双予測候補生成部220は、結合双予測候補の生成処理および追加処理が終了しているか否かを確認する(ステップS123)。   When numCurrMergeCand and MaxNumMergeCand are not equal (No in step S122), the combined bi-prediction candidate generation unit 220 checks whether the generation processing and the addition processing of the combined bi-prediction candidate have been completed (step S123).

結合双予測候補の生成処理および追加処理が終了していない場合(ステップS123におけるNo)、結合双予測候補生成部220は、再度ステップS117の処理を行う。   When the generation processing and the addition processing of the combined bi-prediction candidate have not been completed (No in step S123), the combined bi-prediction candidate generation unit 220 performs the processing of step S117 again.

結合双予測候補の生成処理および追加処理が終了している場合(ステップS123におけるYes)、ゼロマージ候補生成部230は、ゼロマージ候補に相当するゼロベクトルを生成する(ステップS124)。   When the generation processing and the addition processing of the combined bi-prediction candidate have been completed (Yes in step S123), the zero merge candidate generation unit 230 generates a zero vector corresponding to the zero merge candidate (step S124).

ゼロマージ候補生成部230は、numCurrMergeCandがMaxNumMergeCandに等しくなるように、numCurrMergeCandとMaxNumMergeCandの差分だけゼロベクトルを作成する。ゼロマージ候補生成部230は、作成したゼロベクトルをマージ候補リストに追加する(ステップS125)。   The zero merge candidate generation unit 230 creates a zero vector by the difference between numCurrMergeCand and MaxNumMergeCand such that numCurrMergeCand is equal to MaxNumMergeCand. The zero merge candidate generation unit 230 adds the created zero vector to the merge candidate list (Step S125).

ゼロベクトルの追加処理が終了すると、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。   When the zero vector addition process is completed, the equivalence determination unit 202 outputs a candidate generation completion signal indicating that the generation of the merge candidate list has been completed. The merge candidate list output unit 113 ends the merge candidate list generation processing.

[効果の説明]
本実施形態におけるマージ候補リストに基づいて動き補償予測符号化を行う映像符号化装置は、マージ候補リスト生成部と、非零判定部とを備える。マージ候補リストの生成中に、マージ候補リスト生成部は、マージ候補リストの要素数を更新する。非零判定部は、更新されたマージ候補リストの要素数が0ではない場合、後続の処理が開始可能であることを示す信号を出力する。その結果、マージ候補リストが使用される処理の開始までの時間が短縮される。
[Explanation of effects]
A video encoding device that performs motion compensation prediction encoding based on a merge candidate list according to the present embodiment includes a merge candidate list generation unit and a non-zero determination unit. During the generation of the merge candidate list, the merge candidate list generation unit updates the number of elements in the merge candidate list. When the number of elements in the updated merge candidate list is not 0, the non-zero determination unit outputs a signal indicating that subsequent processing can be started. As a result, the time until the start of the process using the merge candidate list is reduced.

本実施形態におけるマージ候補リスト出力部113は、マージ候補を用いて符号化を行う符号化部を有する映像符号化装置における、周辺ベクトルで構成されるマージ候補リストを出力する。マージ候補リスト出力部113は、候補を追加するごとにnumCurrMergeCandを更新し、numCurrMergeCandが0ではなくなった時点で、後続の処理を行う動きベクトル評価部114に対して処理開始可能信号を出力する。本実施形態におけるマージ候補リスト出力部113は、動きベクトル評価部114による後続の処理の開始を早めることができる。   The merge candidate list output unit 113 according to the present embodiment outputs a merge candidate list including peripheral vectors in a video encoding device having an encoding unit that performs encoding using merge candidates. The merge candidate list output unit 113 updates numCurrMergeCand each time a candidate is added, and outputs a process start enable signal to the motion vector evaluation unit 114 that performs the subsequent process when numCurrMergeCand is not 0. The merge candidate list output unit 113 in this embodiment can hasten the start of the subsequent processing by the motion vector evaluation unit 114.

本実施形態における動きベクトル探索部111は、マージ候補リスト出力部113によるマージ候補リスト生成処理と動きベクトル評価部114による評価処理を並列に実施できる。すなわち、動きベクトル探索部111は、マージ候補リスト生成処理の開始から、動きベクトル評価処理の完了までの処理全体に要する処理時間を削減できる。   The motion vector search unit 111 in the present embodiment can execute the merge candidate list generation process by the merge candidate list output unit 113 and the evaluation process by the motion vector evaluation unit 114 in parallel. That is, the motion vector search unit 111 can reduce the processing time required for the entire process from the start of the merge candidate list generation process to the completion of the motion vector evaluation process.

実施形態2.
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。図6は、本発明によるマージ候補リスト出力部113の第2の実施形態の構成例を示すブロック図である。
Embodiment 2. FIG.
[Description of configuration]
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 6 is a block diagram showing a configuration example of the second embodiment of the merge candidate list output unit 113 according to the present invention.

図6に示すマージ候補リスト出力部113の構成は、図4に示すマージ候補リスト出力部113の構成と比較して、周辺ベクトル一挙生成部210が周辺ベクトル逐次生成部410に置き換えられている点が異なる。   The configuration of the merge candidate list output unit 113 shown in FIG. 6 is different from the configuration of the merge candidate list output unit 113 shown in FIG. 4 in that the peripheral vector burst generation unit 210 is replaced by a peripheral vector sequential generation unit 410. Are different.

また、周辺ベクトルが生成された際にnumCurrMergeCandを更新する主体が、周辺ベクトル一挙生成部210から1を足すインクリメント部300に変更されている点が異なる。周辺ベクトル逐次生成部410およびインクリメント部300以外の図6に示すマージ候補リスト出力部113の構成は、図4に示すマージ候補リスト出力部113の構成と同様である。   Also, the difference is that the entity that updates numCurrMergeCand when a peripheral vector is generated has been changed from the peripheral vector burst generation unit 210 to an increment unit 300 that adds one. The configuration of the merge candidate list output unit 113 shown in FIG. 6 other than the peripheral vector sequential generation unit 410 and the increment unit 300 is the same as the configuration of the merge candidate list output unit 113 shown in FIG.

周辺ベクトル逐次生成部410は、周辺ベクトルを1つ生成するごとに、マージ候補リストに生成した周辺ベクトルを追加する。また、インクリメント部300は、マージ候補リストに周辺ベクトルが1つ追加されるごとに、numCurrMergeCandを更新する。   The peripheral vector successive generation unit 410 adds the generated peripheral vector to the merge candidate list every time one peripheral vector is generated. Further, the increment unit 300 updates numCurrMergeCand every time one peripheral vector is added to the merge candidate list.

[動作の説明]
以下、本実施形態のマージ候補リスト出力部113の動作を図7を参照して説明する。図7は、第2の実施形態におけるマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。
[Description of operation]
Hereinafter, the operation of the merge candidate list output unit 113 of the present embodiment will be described with reference to FIG. FIG. 7 is a flowchart illustrating a specific operation of the merge candidate list generation processing by the merge candidate list output unit 113 according to the second embodiment.

マージ候補リストの生成が開始されると、周辺ベクトル逐次生成部410は、周辺ベクトルを1つ生成する(ステップS211)。周辺ベクトル逐次生成部410は、生成した1つの周辺ベクトルをマージ候補リストに追加する(ステップS212)。追加された後、インクリメント部300は、numCurrMergeCandを更新する(ステップS213)。   When the generation of the merge candidate list is started, the peripheral vector sequential generation unit 410 generates one peripheral vector (step S211). The peripheral vector successive generation unit 410 adds one generated peripheral vector to the merge candidate list (step S212). After the addition, the increment unit 300 updates numCurrMergeCand (step S213).

numCurrMergeCandが更新された後、非零判定部203は、numCurrMergeCandが0でないか否かを判定する(ステップS214)。   After numCurrMergeCand is updated, the non-zero determining unit 203 determines whether numCurrMergeCand is not 0 (step S214).

numCurrMergeCandが0でない場合(ステップS214におけるYes)、非零判定部203は、評価開始可能信号を出力する(ステップS215)。   If numCurrMergeCand is not 0 (Yes in step S214), the non-zero determination unit 203 outputs an evaluation start enable signal (step S215).

ステップS214またはS215の処理の後、周辺ベクトル逐次生成部410は、規格に定められた手順に従って周辺ベクトルの生成処理が終了しているか否かを確認する(ステップS216)。周辺ベクトルの生成処理が終了していない場合(ステップS216におけるNo)、周辺ベクトル逐次生成部410は、再度ステップS211の処理を行う。   After the processing in step S214 or S215, the peripheral vector sequential generation unit 410 checks whether or not the peripheral vector generation processing has been completed according to the procedure defined in the standard (step S216). If the peripheral vector generation processing has not been completed (No in step S216), the peripheral vector sequential generation unit 410 performs the processing in step S211 again.

周辺ベクトルの生成処理が終了している場合(ステップS216におけるYes)、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS217)。   If the generation processing of the peripheral vector has been completed (Yes in step S216), the equivalence determination unit 202 checks whether numCurrMergeCand stored in the numCurrMergeCand storage unit 201 is equal to MaxNumMergeCand (step S217).

ステップS217〜S226における処理は、図5に示すステップS116〜S125における処理と同様であるため、説明を省略する。   The processing in steps S217 to S226 is the same as the processing in steps S116 to S125 shown in FIG.

[効果の説明]
以下、本実施形態の効果を説明する。本実施形態のマージ候補リスト出力部113によれば、周辺ベクトルの生成および追加の処理中に、非零判定部203が評価開始可能信号を出力する。よって、後続の処理を行う動きベクトル評価部114は、第1の実施形態よりも早く処理を開始できる。すなわち、本実施形態の動きベクトル探索部111において、マージ候補リスト出力部113によるマージ候補リスト生成処理と、動きベクトル評価部114による評価処理の並列度が、第1の実施形態よりも高まる可能性がある。
[Explanation of effects]
Hereinafter, effects of the present embodiment will be described. According to the merge candidate list output unit 113 of the present embodiment, the non-zero determination unit 203 outputs an evaluation start enable signal during the generation and addition processing of the peripheral vector. Therefore, the motion vector evaluation unit 114 that performs the subsequent processing can start the processing earlier than in the first embodiment. That is, in the motion vector search unit 111 of the present embodiment, the degree of parallelism between the merge candidate list generation process by the merge candidate list output unit 113 and the evaluation process by the motion vector evaluation unit 114 may be higher than in the first embodiment. There is.

実施形態3.
[構成の説明]
次に、本発明の第3の実施形態を、図面を参照して説明する。図8は、本発明によるマージ候補リスト出力部113の第3の実施形態の構成例を示すブロック図である。
Embodiment 3 FIG.
[Description of configuration]
Next, a third embodiment of the present invention will be described with reference to the drawings. FIG. 8 is a block diagram showing a configuration example of the third embodiment of the merge candidate list output unit 113 according to the present invention.

図8に示すマージ候補リスト出力部113の構成は、図6に示すマージ候補リスト出力部113の構成と比較して、ゼロマージ候補生成部230が初期化ゼロマージ候補生成部430に置き換えられている点が異なる。   The configuration of the merge candidate list output unit 113 shown in FIG. 8 is different from the configuration of the merge candidate list output unit 113 shown in FIG. 6 in that the zero merge candidate generation unit 230 is replaced by an initialization zero merge candidate generation unit 430. Are different.

また、図8に示すマージ候補リスト出力部113の構成は、ゼロマージ候補シフト部440が追加されている点が図6に示す構成と異なる。図8に示すnumCurrMergeCand記憶部201、結合双予測候補生成部220、マージ候補リスト記憶部240、インクリメント部300および周辺ベクトル逐次生成部410の構成は、図6に示すマージ候補リスト出力部113の同名の構成要素と同様である。   The configuration of the merge candidate list output unit 113 shown in FIG. 8 differs from the configuration shown in FIG. 6 in that a zero merge candidate shift unit 440 is added. The configurations of the numCurrMergeCand storage unit 201, the combined bi-prediction candidate generation unit 220, the merge candidate list storage unit 240, the increment unit 300, and the peripheral vector sequential generation unit 410 illustrated in FIG. It is the same as that of the component.

初期化ゼロマージ候補生成部430は、マージ候補リスト生成部200の動作開始直後に動作する。初期化ゼロマージ候補生成部430は、マージ候補リストに規格に定められたゼロマージ候補を追加することによって、マージ候補リストを初期化する。   The initialization zero merge candidate generation unit 430 operates immediately after the operation of the merge candidate list generation unit 200 starts. The initialization zero merge candidate generation unit 430 initializes the merge candidate list by adding a zero merge candidate defined in the standard to the merge candidate list.

ゼロマージ候補シフト部440は、周辺ベクトル逐次生成部410、および結合双予測候補生成部220がマージ候補リストに候補を追加するごとに、初期化によりマージ候補リストに追加されたゼロマージ候補を、マージ候補リストの末尾側にシフトする。   Each time the peripheral vector successive generation unit 410 and the combined bi-prediction candidate generation unit 220 add a candidate to the merge candidate list, the zero merge candidate shift unit 440 converts the zero merge candidate added to the merge candidate list by initialization into a merge candidate. Shift to the end of the list.

[動作の説明]
以下、本実施形態のマージ候補リスト出力部113の動作を図9を参照して説明する。図9は、第3の実施形態におけるマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。
[Description of operation]
Hereinafter, the operation of the merge candidate list output unit 113 of the present embodiment will be described with reference to FIG. FIG. 9 is a flowchart illustrating a specific operation of the merge candidate list generation processing by the merge candidate list output unit 113 according to the third embodiment.

マージ候補リスト生成処理の開始前に、初期化ゼロマージ候補生成部430は、規格に定められたゼロマージ候補を一挙に生成する(ステップS311)。初期化ゼロマージ候補生成部430は、生成したゼロマージ候補をマージ候補リストに追加する(ステップS312)。   Prior to the start of the merge candidate list generation process, the initialized zero merge candidate generation unit 430 generates all the zero merge candidates specified in the standard (step S311). The initialized zero merge candidate generation unit 430 adds the generated zero merge candidate to the merge candidate list (Step S312).

なお、生成されたゼロマージ候補がマージ候補リストに追加された時、numCurrMergeCandは更新されない。ゼロマージ候補がマージ候補リストに追加されても、numCurrMergeCandは初期値0のままである。   When the generated zero merge candidate is added to the merge candidate list, numCurrMergeCand is not updated. Even if a zero merge candidate is added to the merge candidate list, numCurrMergeCand remains at the initial value 0.

図9において、ステップS313からの処理がマージ候補リスト生成処理に対応する。
ステップS315とステップS322以外のステップS313〜S326における処理は、図7に示すステップS211〜S224における処理と同様であるため、説明を省略する。
In FIG. 9, the processing from step S313 corresponds to the merge candidate list generation processing.
The processing in steps S313 to S326 other than step S315 and step S322 is the same as the processing in steps S211 to S224 shown in FIG.

マージ候補リストにマージ候補が追加された後にnumCurrMergeCandが更新される際、ゼロマージ候補シフト部440は、マージ候補リスト中のゼロベクトルを末尾側にシフトする(ステップS315、ステップS322)。   When numCurrMergeCand is updated after the merge candidate is added to the merge candidate list, the zero merge candidate shift unit 440 shifts the zero vector in the merge candidate list to the end (steps S315 and S322).

結合双予測候補の生成処理および追加処理が終了した後(ステップS326におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。   After the generation process and the addition process of the combined bi-prediction candidate are completed (Yes in step S326), the equivalence determination unit 202 outputs a candidate generation completion signal indicating that the generation of the merge candidate list has been completed. The merge candidate list output unit 113 ends the merge candidate list generation processing.

[効果の説明]
以下、本実施形態の効果を説明する。本実施形態のマージ候補リスト出力部113は、第1の実施形態および第2の実施形態において最後に行われていたゼロベクトルの生成処理および追加処理を、マージ候補リストの生成処理の開始前に行う。その結果、評価開始可能信号の出力までに要する時間の最悪値が短縮される。すなわち、周辺ベクトルも結合双予測候補も存在せず、マージ候補リストにゼロベクトルのみが追加される場合の、マージ候補リストの生成に要する時間が短縮される。
[Explanation of effects]
Hereinafter, effects of the present embodiment will be described. The merge candidate list output unit 113 of the present embodiment performs the zero vector generation processing and the addition processing that were performed last in the first embodiment and the second embodiment before starting the merge candidate list generation processing. Do. As a result, the worst value of the time required for outputting the evaluation start enable signal is reduced. That is, when neither the surrounding vector nor the combined bi-prediction candidate exists, and only the zero vector is added to the merge candidate list, the time required for generating the merge candidate list is reduced.

また、上記の各実施形態を、ハードウェアで構成することも可能であるが、例えば記録媒体に記録されたコンピュータプログラムにより実現することも可能である。   Further, each of the above embodiments can be configured by hardware, but can also be realized by, for example, a computer program recorded on a recording medium.

図10に示す情報処理システムは、プロセッサ1001、プログラムメモリ1002、映像データを格納するための記憶媒体(記録媒体)1003、およびビットストリーム等のデータを格納するための記憶媒体1004を備える。記憶媒体1003と記憶媒体1004とは、別個の記憶媒体であってもよいし、同一の記憶媒体の別異の記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。記憶媒体1003において、少なくともプログラムが記憶される領域は、一時的でない有形な記憶領域(non-transitory tangible media)である。   The information processing system shown in FIG. 10 includes a processor 1001, a program memory 1002, a storage medium (recording medium) 1003 for storing video data, and a storage medium 1004 for storing data such as a bit stream. The storage medium 1003 and the storage medium 1004 may be separate storage media or different storage areas of the same storage medium. As the storage medium, a magnetic storage medium such as a hard disk can be used. In the storage medium 1003, at least the area where the program is stored is a non-transitory tangible storage area.

図10に示された情報処理システムにおいて、プログラムメモリ1002には、図1、図4、図6、図8のそれぞれに示された各ブロックの機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、図1、図4、図6、図8のそれぞれに示されたマージ候補リスト出力部113の機能を実現する。   In the information processing system shown in FIG. 10, the program memory 1002 stores a program for realizing the function of each block shown in FIGS. 1, 4, 6, and 8. The processor 1001 executes the processing according to the program stored in the program memory 1002, thereby realizing the function of the merge candidate list output unit 113 shown in each of FIGS. 1, 4, 6, and 8. I do.

次に、本発明の概要を説明する。図11は、本発明による映像符号化装置の概要を示すブロック図である。本発明による映像符号化装置10は、マージ候補リスト生成手段11(例えば、マージ候補リスト生成部200)と、出力手段12(例えば、非零判定部203)とを備える。マージ候補リスト生成手段11は、隣接ブロックからマージ候補リストを生成する。出力手段12は、マージ候補リストにマージ候補が少なくとも1つ含まれている場合、マージ候補リストが使用される処理を開始させる処理開始信号を出力する。   Next, the outline of the present invention will be described. FIG. 11 is a block diagram showing an outline of a video encoding device according to the present invention. The video encoding device 10 according to the present invention includes a merge candidate list generation unit 11 (for example, a merge candidate list generation unit 200) and an output unit 12 (for example, a non-zero determination unit 203). The merging candidate list generating means 11 generates a merging candidate list from adjacent blocks. When at least one merge candidate is included in the merge candidate list, the output unit 12 outputs a process start signal for starting a process using the merge candidate list.

そのような構成により、映像符号化装置10は、マージ候補リストが使用される処理の開始を早めることができる。   With such a configuration, the video encoding device 10 can hasten the start of the process in which the merge candidate list is used.

また、マージ候補リスト生成手段11は、マージ候補である周辺ベクトルを生成し、周辺ベクトルを1つ生成するごとに周辺ベクトルをマージ候補リストに追加する周辺ベクトル逐次生成手段(例えば、周辺ベクトル逐次生成部410)を含んでもよい。   In addition, the merge candidate list generation unit 11 generates a peripheral vector that is a merge candidate, and adds a peripheral vector to the merge candidate list every time one peripheral vector is generated (for example, a peripheral vector sequential generation unit). Unit 410).

そのような構成により、映像符号化装置は、マージ候補生成処理と動きベクトル評価処理の並列度をより高めることができる。   With such a configuration, the video encoding device can further increase the degree of parallelism between the merge candidate generation process and the motion vector evaluation process.

また、マージ候補リスト生成手段11は、初期化ゼロマージ候補生成手段(例えば、初期化ゼロマージ候補生成部430)とゼロマージ候補シフト手段(例えば、ゼロマージ候補シフト部440)とを含んでもよい。初期化ゼロマージ候補生成手段は、マージ候補リストの生成開始前にゼロマージ候補でマージ候補リストを初期化してもよい。ゼロマージ候補シフト手段は、マージ候補リストにマージ候補が追加された際、ゼロマージ候補をマージ候補リストの末尾側にシフトしてもよい。   Further, the merge candidate list generation unit 11 may include an initialization zero merge candidate generation unit (for example, an initialization zero merge candidate generation unit 430) and a zero merge candidate shift unit (for example, a zero merge candidate shift unit 440). The initialization zero merge candidate generation means may initialize the merge candidate list with the zero merge candidates before starting generation of the merge candidate list. The zero merge candidate shifting means may shift the zero merge candidate to the end of the merge candidate list when the merge candidate is added to the merge candidate list.

そのような構成により、映像符号化装置10は、処理開始信号の出力までに要する時間の最悪値を短縮できる。   With such a configuration, the video encoding device 10 can reduce the worst value of the time required to output the processing start signal.

本発明は、映像圧縮装置や、映像圧縮をコンピュータで実現するためのプログラムの用途に適用可能である。   INDUSTRIAL APPLICABILITY The present invention is applicable to a video compression device and a program for realizing video compression by a computer.

以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。   The present invention has been described above using the above-described embodiment as a typical example. However, the invention is not limited to the embodiments described above. That is, the present invention can apply various aspects that can be understood by those skilled in the art within the scope of the present invention.

この出願は、2015年3月19日に出願された日本出願特願2015−055983を基礎とする優先権を主張し、その開示の全てをここに取り込む。   This application claims priority based on Japanese Patent Application No. 2005-055983 filed on March 19, 2015, and incorporates the entire disclosure thereof.

10、100 映像符号化装置
11 マージ候補リスト生成手段
12 出力手段
110 符号化パラメータ探索部
111 動きベクトル探索部
112 動きベクトル探索候補生成部
113 マージ候補リスト出力部
114 動きベクトル評価部
120 符号化部
121 変換部
122 量子化部
123 逆量子化部
124 逆変換部
125 バッファ
126 予測部
127 エントロピー符号化部
200 マージ候補リスト生成部
201 numCurrMergeCand記憶部
202 等価判定部
203 非零判定部
210 周辺ベクトル一挙生成部
220 結合双予測候補生成部
230 ゼロマージ候補生成部
240 マージ候補リスト記憶部
300 インクリメント部
301 加算部
302 減算部
410 周辺ベクトル逐次生成部
430 初期化ゼロマージ候補生成部
440 ゼロマージ候補シフト部
1001 プロセッサ
1002 プログラムメモリ
1003、1004 記憶媒体
10, 100 Video encoding device 11 Merge candidate list generation means 12 Output means 110 Encoding parameter search unit 111 Motion vector search unit 112 Motion vector search candidate generation unit 113 Merge candidate list output unit 114 Motion vector evaluation unit 120 Encoding unit 121 Transformation unit 122 Quantization unit 123 Inverse quantization unit 124 Inverse transformation unit 125 Buffer 126 Prediction unit 127 Entropy encoding unit 200 Merge candidate list generation unit 201 numCurrMergeCand storage unit 202 Equivalence determination unit 203 Non-zero determination unit 210 Peripheral vector burst generation unit 220 Combined bi-prediction candidate generation unit 230 Zero merge candidate generation unit 240 Merge candidate list storage unit 300 Increment unit 301 Addition unit 302 Subtraction unit 410 Neighboring vector sequential generation unit 430 Initialization zero merge candidate generation unit 440 Zero merge candidate shift Unit 1001 processor 1002 program memory 1003, 1004 storage medium

Claims (9)

隣接ブロックからマージ候補リストを生成するマージ候補リスト生成手段と、
前記マージ候補リストにマージ候補が少なくとも1つ含まれている場合、前記マージ候補リストに対する評価処理を開始させる処理開始信号を動きベクトル評価手段に出力する出力手段とを備え
前記動きベクトル評価手段は、前記処理開始信号を受信すると、前記マージ候補リスト生成手段による前記マージ候補リストの生成と並列に、前記評価処理を実行する
ことを特徴とする映像符号化装置。
Merge candidate list generating means for generating a merge candidate list from adjacent blocks;
If merging candidate to the merging candidate list contains at least one, and output means for outputting the evaluation process in the vector evaluation unit motion processing start signal to start for the merging candidate list,
The video encoding apparatus according to claim 1, wherein said motion vector evaluator receives said processing start signal and executes said evaluation processing in parallel with generation of said merge candidate list by said merge candidate list generator .
前記マージ候補リスト生成手段は、前記マージ候補である周辺ベクトルを生成し、前記周辺ベクトルを1つ生成するごとに前記周辺ベクトルを前記マージ候補リストに追加する周辺ベクトル逐次生成手段を含む
請求項1記載の映像符号化装置。
The merging candidate list generating unit includes a peripheral vector successively generating unit that generates a peripheral vector that is the merge candidate, and adds the peripheral vector to the merge candidate list each time one peripheral vector is generated. A video encoding device according to claim 1.
前記マージ候補リスト生成手段は、初期化ゼロマージ候補生成手段とゼロマージ候補シフト手段とを含み、
前記初期化ゼロマージ候補生成手段は、前記マージ候補リストの生成開始前にゼロマージ候補を生成して、生成した前記ゼロマージ候補で前記マージ候補リストを初期化し、
前記ゼロマージ候補シフト手段は、前記マージ候補リストに前記マージ候補が追加された際、前記ゼロマージ候補を前記マージ候補リストの末尾側にシフトする
請求項1または請求項2記載の映像符号化装置。
The merge candidate list generation unit includes an initialization zero merge candidate generation unit and a zero merge candidate shift unit,
The initialization zero merge candidate generation means generates a zero merge candidate before starting generation of the merge candidate list, and initializes the merge candidate list with the generated zero merge candidate,
3. The video encoding device according to claim 1, wherein the zero merge candidate shift unit shifts the zero merge candidate to a tail side of the merge candidate list when the merge candidate is added to the merge candidate list. 4.
隣接ブロックからマージ候補リストを生成し、
前記マージ候補リストにマージ候補が少なくとも1つ含まれている場合、前記マージ候補リストに対する評価処理を開始させる処理開始信号を出力し、
出力された前記処理開始信号を受信すると、前記マージ候補リストの生成と並列に、前記評価処理を実行する
ことを特徴とする映像符号化方法。
Generate a merge candidate list from adjacent blocks,
If the merge candidate list M a di candidates contain at least one, and outputs a processing start signal for starting the evaluation process for the merging candidate list,
Receiving the output processing start signal, performing the evaluation processing in parallel with the generation of the merge candidate list .
前記マージ候補である周辺ベクトルを生成し、
前記周辺ベクトルが1つ生成されるごとに前記周辺ベクトルを前記マージ候補リストに追加する
請求項4記載の映像符号化方法。
Generating a peripheral vector that is a candidate for the merge,
The video encoding method according to claim 4, wherein each time one of the peripheral vectors is generated, the peripheral vector is added to the merge candidate list.
前記マージ候補リストの生成開始前にゼロマージ候補で前記マージ候補リストを初期化し、
前記マージ候補リストに前記マージ候補が追加された際、前記ゼロマージ候補を前記マージ候補リストの末尾側にシフトする
請求項4または請求項5記載の映像符号化方法。
Initializing the merge candidate list with zero merge candidates before the generation of the merge candidate list starts,
The video encoding method according to claim 4 or 5, wherein when the merge candidate is added to the merge candidate list, the zero merge candidate is shifted to the end of the merge candidate list.
コンピュータに、
隣接ブロックからマージ候補リストを生成する生成処理、および
前記マージ候補リストにマージ候補が少なくとも1つ含まれている場合、前記マージ候補リストに対する評価処理を開始させる処理開始信号を動きベクトル評価処理に出力する出力処理
を実行させ
前記動きベクトル評価処理は、前記処理開始信号を受信すると、前記マージ候補リスト生成処理による前記マージ候補リストの生成と並列に、前記評価処理を実行する
プログラム。
On the computer,
A generation process of generating a merge candidate list from an adjacent block; and, when the merge candidate list includes at least one merge candidate, outputting a process start signal to start an evaluation process for the merge candidate list to the motion vector evaluation process. an output process of is executed,
The motion vector evaluation processing is a program that, upon receiving the processing start signal, executes the evaluation processing in parallel with the generation of the merge candidate list by the merge candidate list generation processing .
前記コンピュータに、
前記マージ候補である周辺ベクトルを生成する生成処理、および
前記周辺ベクトルが1つ生成されるごとに前記周辺ベクトルを前記マージ候補リストに追加する追加処理を実行させる
請求項7記載のプログラム。
On the computer,
The program according to claim 7, wherein a generation process of generating a peripheral vector that is the merge candidate and an additional process of adding the peripheral vector to the merge candidate list each time one of the peripheral vectors is generated are executed.
前記コンピュータに、
前記マージ候補リストの生成開始前にゼロマージ候補を生成して、生成した前記ゼロマージ候補で前記マージ候補リストを初期化する初期化処理、および
前記マージ候補リストに前記マージ候補が追加された際、前記ゼロマージ候補を前記マージ候補リストの末尾側にシフトするシフト処理を実行させる
請求項7または請求項8記載のプログラム。
On the computer,
An initialization process of generating a zero merge candidate before the generation start of the merge candidate list and initializing the merge candidate list with the generated zero merge candidate, and when the merge candidate is added to the merge candidate list, The non-transitory computer-readable storage medium according to claim 7, wherein a shift process of shifting a zero merge candidate to the end of the merge candidate list is performed.
JP2017506092A 2015-03-19 2016-03-15 Video encoding device, video encoding method and program Active JP6677243B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015055983 2015-03-19
JP2015055983 2015-03-19
PCT/JP2016/001452 WO2016147651A1 (en) 2015-03-19 2016-03-15 Video coding apparatus, video coding method, and program recording medium

Publications (2)

Publication Number Publication Date
JPWO2016147651A1 JPWO2016147651A1 (en) 2018-01-11
JP6677243B2 true JP6677243B2 (en) 2020-04-08

Family

ID=56918713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017506092A Active JP6677243B2 (en) 2015-03-19 2016-03-15 Video encoding device, video encoding method and program

Country Status (2)

Country Link
JP (1) JP6677243B2 (en)
WO (1) WO2016147651A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5982734B2 (en) * 2011-03-11 2016-08-31 ソニー株式会社 Image processing apparatus and method
CA2836063C (en) * 2011-06-30 2020-06-16 Panasonic Corporation Image encoding and decoding method and device for generating predictor sets in high-efficiency video coding
JP6020323B2 (en) * 2012-04-12 2016-11-02 株式会社Jvcケンウッド Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
BR112015008460A2 (en) * 2012-11-06 2017-07-04 Nec Corp Video coding method, video coding device, and video coding program
JP6131652B2 (en) * 2013-03-18 2017-05-24 富士通株式会社 Encoding apparatus, encoding method, and encoding program

Also Published As

Publication number Publication date
JPWO2016147651A1 (en) 2018-01-11
WO2016147651A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
KR102620625B1 (en) Method for video decoding and computer readable redording meduim thereof
KR102017166B1 (en) Method and apparratus of video decoding
KR20220119579A (en) Method and apparatus for determination of reference unit
WO2013042888A2 (en) Method for inducing a merge candidate block and device using same
KR102412934B1 (en) Method for intra prediction and apparatus thereof
KR102435595B1 (en) Method and apparatus to provide comprssion and transmission of learning parameter in distributed processing environment
KR20210114915A (en) Method for transform coefficient scan and apparatus thereof
KR20230007313A (en) Parallelized Rate-Distortion Optimized Quantization Using Deep Learning
JP7541599B2 (en) Decoding method, decoding device, decoding side device, electronic device, and non-volatile storage medium
JP2017034531A (en) Moving image encoder and moving image encoding method
JP6962193B2 (en) A recording medium that stores a moving image coding device, a moving image coding method, and a moving image coding program.
JP6652068B2 (en) Moving picture coding apparatus, moving picture coding method and moving picture coding program
KR20170120418A (en) Apparatus and method for fast motion estimation encoding/decoding of enhancement later
JP6677243B2 (en) Video encoding device, video encoding method and program
JP2016096561A (en) Picture coding device, picture coding method, picture coding program, transmission device, transmission method, and transmission program
JP6992815B2 (en) Video coding device, video coding method and video coding program
KR102534377B1 (en) Method for quantization based on fast rate-distortion optimization, and apparatus for the same
JP6323185B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding computer program
JP2014239533A (en) Image decoding device, image decoding method, image decoding program, receiving device, receiving method, and receiving program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200225

R150 Certificate of patent or registration of utility model

Ref document number: 6677243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150