JP6677243B2 - Video encoding device, video encoding method and program - Google Patents
Video encoding device, video encoding method and program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 75
- 239000013598 vector Substances 0.000 claims description 144
- 230000002093 peripheral effect Effects 0.000 claims description 58
- 238000011156 evaluation Methods 0.000 claims description 33
- 238000012854 evaluation process Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 31
- 238000013139 quantization Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 7
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 208000033809 Suppuration Diseases 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
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
図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
符号化パラメータ探索部110は、CTUのCUクアッドツリー構造/PU分割形状/TUクアッドツリー構造、CUの予測モード、イントラPUのイントラ予測方向、およびインターPUの動きベクトルに関して、それぞれの符号化コストを計算する。符号化パラメータ探索部110は、計算した符号化コストを比較することによって、インターPUの動きベクトルを探索し、伝送される動きベクトルを決定する。符号化パラメータ探索部110は、インターPUの動きベクトルに関する探索を行う動きベクトル探索部111を含む。
The coding
符号化コストには、符号量に関する値と符号化歪み(画質に相関する。)とが反映されている。符号化パラメータ探索部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
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
図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
動きベクトル評価部114は、動きベクトル探索候補生成部112から出力された動きベクトル、マージ候補リスト出力部113から出力された動きベクトルそれぞれに対して符号化コストを算出する。動きベクトル評価部114は、算出した符号化コストを比較および評価し、対象のPUに適した動きベクトルを選択する。動きベクトル評価部114は、選択した動きベクトルを出力する。
The
予測部126は、符号化パラメータ探索部110が決定したCUクアッドツリー構造およびPU分割形状にもとづいて、CUの入力画像信号に対する予測信号を生成する。予測信号は、イントラ予測またはインター予測にもとづいて生成される。
The
変換部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
量子化部122は、量子化パラメータQpと変換部121から供給される変換係数(直交変換係数)cijを入力として、量子化処理を行い量子化係数qijを得る。qijは、以下の計算で得られる。
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
符号量制御部(図示せず)は、符号化中のフレームが符号化された結果の符号量が、目標符号量となるように符号化処理を制御する。例えば、符号量制御部は、量子化パラメータ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
図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
図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
マージ候補リスト出力部113は、MaxNumMergeCandを入力として受け付け、候補生成完了信号およびマージ候補リストを出力する機能を有する。
The merge candidate
マージ候補リスト生成部200は、生成したマージ候補をマージ候補リストに追加することによって、マージ候補リストを生成する機能を有する。マージ候補リスト生成部200は、内部でマージ候補リストを生成しながら、numCurrMergeCand記憶部201が記憶するnumCurrMergeCandを更新する。
The merge candidate
numCurrMergeCand記憶部201は、生成途中のマージ候補リストに含まれているマージ候補の数を示すnumCurrMergeCandを記憶する機能を有する。
The
等価判定部202は、numCurrMergeCand記憶部201が記憶するnumCurrMergeCandが、MaxNumMergeCandに等しいか否かを判定する機能を有する。numCurrMergeCandがMaxNumMergeCandに等しい場合、等価判定部202は、候補生成完了信号を出力する。
The
以下、図17に示すマージ候補リスト出力部113がマージ候補リストを生成する時の動作を、図18を参照して説明する。図18は、一般的なマージ候補リスト出力部によるマージ候補リストの生成処理の動作を示すフローチャートである。
Hereinafter, the operation when the merge candidate
マージ候補リスト生成部200は、1または複数のマージ候補を生成し、マージ候補リストに追加する(ステップS001)。追加した後、マージ候補リスト生成部200は、numCurrMergeCand記憶部201に記憶されている、マージ候補リストの要素数を示すnumCurrMergeCandを更新する(ステップS002)。
The merge candidate
等価判定部202は、更新されたnumCurrMergeCandが、入力であるMaxNumMergeCandと等しいか否かを確認する(ステップS003)。
The
numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS003におけるYes)、マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS003におけるNo)、マージ候補リスト出力部113は、ステップS001の処理を再度行う。
If numCurrMergeCand and MaxNumMergeCand are equal (Yes in step S003), the merge candidate
図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
周辺ベクトル一挙生成部210は、生成した周辺ベクトルを、最大5つまでマージ候補リストに一挙に追加する機能を有する。追加した後、周辺ベクトル一挙生成部210は、numCurrMergeCandを更新する。
The peripheral vector
結合双予測候補生成部220は、結合双予測候補を生成する機能を有する。結合双予測候補は、マージ候補リストに追加された周辺ベクトルを組み合わせることによって新規に生成される動きベクトルである。結合双予測候補の生成では、生成されるベクトルの数がnumCurrMergeCandに依存する。結合双予測候補生成部220は、最大で12個のベクトルを生成する。
The joint bi-prediction
結合双予測候補生成部220は、結合双予測候補を1つ生成するごとに、結合双予測候補をマージ候補リストに追加する。また、結合双予測候補生成部220は、結合双予測候補を1つ生成するごとに、インクリメント部300を用いてnumCurrMergeCandを更新する。
The combined bi-prediction
ゼロマージ候補生成部230は、ゼロマージ候補を生成する機能を有する。ゼロマージ候補生成部230は、numCurrMergeCandがMaxNumMergeCand未満である場合に、ゼロマージ候補を生成する。ゼロマージ候補生成部230は、numCurrMergeCandがMaxNumMergeCandと等しくなるように両者の差分だけゼロマージ候補を生成し、生成したゼロマージ候補をマージ候補リストに追加する。
The zero merge
以下、図19に示すマージ候補リスト出力部113がマージ候補リストを生成する時の動作を、図20を参照して説明する。図20は、一般的なマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。図20に示す動作は、上記の規格に定められた手順に従ってマージ候補リストの生成処理を行う場合の動作である。
Hereinafter, an operation when the merge candidate
周辺ベクトル一挙生成部210は、マージ候補リストの要素になる周辺ベクトルを、最大5つ列挙する(ステップS011)。周辺ベクトル一挙生成部210は、列挙した周辺ベクトルを、上記の手順に従ってマージ候補リストに一挙に追加する(ステップS012)。
The peripheral vector
追加した時点で、周辺ベクトル一挙生成部210は、マージ候補リストの要素数を算出し、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandを更新する(ステップS013)。等価判定部202は、numCurrMergeCandがMaxNumMergeCandと等しいか否かを判断する(ステップS014)。
At the time of addition, the peripheral vector
numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS014におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。
When numCurrMergeCand and MaxNumMergeCand are equal (Yes in step S014), the
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
結合双予測候補生成部220は、結合双予測候補である1個のベクトルを新規に生成する(ステップS015)。結合双予測候補生成部220は、1個のベクトルを生成するごとに、生成したベクトルをマージ候補リストに追加する(ステップS016)。
The combined bi-prediction
次いで、結合双予測候補生成部220は、numCurrMergeCandを更新する(ステップS017)。numCurrMergeCandが更新された後、等価判定部202は、numCurrMergeCandがMaxNumMergeCandと等しいか否かを判断する(ステップS018)。
Next, the combined bi-prediction
numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS018におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。
If numCurrMergeCand is equal to MaxNumMergeCand (Yes in step S018), the
numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS018におけるNo)、結合双予測候補生成部220は、結合双予測候補の生成処理および追加処理が終了しているか否かを確認する(ステップS019)。
If numCurrMergeCand and MaxNumMergeCand are not equal (No in step S018), the combined bi-prediction
例えば、結合双予測候補の生成数が予め定められた値になったとき、結合双予測候補生成部220は、結合双予測候補の生成処理および追加処理を終了する。結合双予測候補の生成処理および追加処理が終了していない場合(ステップS019におけるNo)、結合双予測候補生成部220は、再度ステップS015の処理を行う。
For example, when the number of combined bi-prediction candidates generated reaches a predetermined value, the combined bi-prediction
結合双予測候補の生成処理および追加処理が終了している場合(ステップ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
ゼロマージ候補の生成処理において、ゼロマージ候補生成部230は、マージ候補リストの要素数とMaxNumMergeCandとの差分だけゼロマージ候補を生成する(ステップS020)。ゼロマージ候補生成部230は、生成したゼロマージ候補を、マージ候補リストの末尾に追加する(ステップS021)。
In the generation process of the zero merge candidate, the zero merge
ゼロマージ候補が追加された後、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。
After the zero merge candidate is added, the
マージ候補リストの生成完了の通知を受けると、動きベクトル評価部114は、生成されたマージ候補リストを用いて処理を開始する。
Upon receiving the notification of the completion of the generation of the merge candidate list, the motion
なお、特許文献2は、動きベクトル予測プロセスにおいて動きベクトル予測候補のセットを判断するための技術を開示している。 Patent Document 2 discloses a technique for determining a set of motion vector prediction candidates in a motion vector prediction process.
図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
図21は、一般的な動きベクトル探索部111の処理時間を示す説明図である。図21は、マージ候補リスト出力処理と動きベクトル評価処理が並列に実施されない場合の、動きベクトル探索部111の処理時間を示す。
FIG. 21 is an explanatory diagram showing the processing time of a general motion
図21に示すように、マージ候補リスト出力部113がマージ候補リストを生成している間、動きベクトル評価部114は動作できない。マージ候補リスト出力部113は、マージ候補リストの生成を完了した後に生成完了の信号を出力する。生成完了の信号が入力された時に、動きベクトル評価部114は、マージ候補リストに対する評価処理を開始できる。
As shown in FIG. 21, while the merge candidate
マージ候補リスト出力部113によるマージ候補リスト生成処理の時間が長くなると、動きベクトル評価部114が動作できない時間も長くなる。その結果、動きベクトル探索部111全体の処理時間が長くなってしまう。このように、図14に示す一般的な映像符号化装置において、マージ候補リストの生成時間が長く、マージ候補リストが用いられる処理の開始までの時間が長いという課題がある。
When the time of the merge candidate list generation processing by the merge candidate
そこで、本発明は、マージ候補リストが使用される処理の開始を早めることができる映像符号化装置、映像符号化方法およびプログラム記録媒体を提供することを目的とする。 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は、本発明によるマージ候補リスト出力部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
図1に示すマージ候補リスト出力部113の構成は、図17に示すマージ候補リスト出力部113の構成と比較して、非零判定部203が追加されている点が異なる。非零判定部203以外の図1に示すマージ候補リスト出力部113の構成は、図17に示すマージ候補リスト出力部113の構成と同様である。
The configuration of the merge candidate
非零判定部203は、numCurrMergeCand記憶部201が記憶するnumCurrMergeCandが0でないか否かを判定する機能を有する。numCurrMergeCandが0でないと判定した場合、非零判定部203は、評価開始可能信号を出力する。
The
[動作の説明]
以下、図1に示すマージ候補リスト出力部113がマージ候補リストを生成する時の動作を、図2を参照して説明する。図2は、本発明によるマージ候補リスト出力部113によるマージ候補リストの生成処理の動作を示すフローチャートである。[Description of operation]
Hereinafter, the operation when the merge candidate
ステップ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
numCurrMergeCandが0でない場合(ステップS103におけるYes)、非零判定部203は、評価開始可能信号を出力する(ステップS104)。
If numCurrMergeCand is not 0 (Yes in step S103), the
ステップS103またはS104の処理の後、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS105)。
After the processing in step S103 or S104, the
ステップ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
図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
以下、本発明の各実施形態におけるマージ候補リスト出力部113の具体的な構成および動作を説明する。
Hereinafter, a specific configuration and operation of the merge candidate
実施形態1.
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図4は、本発明によるマージ候補リスト出力部113の第1の実施形態の構成例を示すブロック図である。
[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
図4に示すマージ候補リスト出力部113の構成は、図19に示すマージ候補リスト出力部113の構成と比較して、非零判定部203が追加されている点が異なる。非零判定部203以外の図4に示すマージ候補リスト出力部113の構成は、図19に示すマージ候補リスト出力部113の構成と同様である。
The configuration of the merge candidate
[動作の説明]
以下、本実施形態のマージ候補リスト出力部113の動作を図5を参照して説明する。図5は、第1の実施形態におけるマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。[Description of operation]
Hereinafter, the operation of the merge candidate
マージ候補リストの生成が開始されると、周辺ベクトル一挙生成部210は、最大5つの周辺ベクトルを一挙に生成する(ステップS111)。周辺ベクトル一挙生成部210は、生成した周辺ベクトルをマージ候補リストに一挙に追加する(ステップS112)。
追加した後、周辺ベクトル一挙生成部210は、numCurrMergeCandを更新する(ステップS113)。When the generation of the merge candidate list is started, the peripheral vector
After the addition, the peripheral vector
numCurrMergeCandが更新された後、非零判定部203は、numCurrMergeCandが0でないか否かを判定する(ステップS114)。
After numCurrMergeCand is updated, the
numCurrMergeCandが0でない場合(ステップS114におけるYes)、非零判定部203は、評価開始可能信号を出力する(ステップS115)。
If numCurrMergeCand is not 0 (Yes in step S114), the
ステップS114またはS115の処理の後、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS116)。
After the processing in step S114 or S115, the
numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS116におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。
When numCurrMergeCand is equal to MaxNumMergeCand (Yes in step S116), the
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
結合双予測候補がマージ候補リストに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
ステップS120またはS121の処理の後、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS122)。
After the processing of step S120 or S121, the
numCurrMergeCandとMaxNumMergeCandが等しい場合(ステップS122におけるYes)、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。
When numCurrMergeCand is equal to MaxNumMergeCand (Yes in step S122), the
numCurrMergeCandとMaxNumMergeCandが等しくない場合(ステップS122におけるNo)、結合双予測候補生成部220は、結合双予測候補の生成処理および追加処理が終了しているか否かを確認する(ステップS123)。
When numCurrMergeCand and MaxNumMergeCand are not equal (No in step S122), the combined bi-prediction
結合双予測候補の生成処理および追加処理が終了していない場合(ステップ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
結合双予測候補の生成処理および追加処理が終了している場合(ステップ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
ゼロマージ候補生成部230は、numCurrMergeCandがMaxNumMergeCandに等しくなるように、numCurrMergeCandとMaxNumMergeCandの差分だけゼロベクトルを作成する。ゼロマージ候補生成部230は、作成したゼロベクトルをマージ候補リストに追加する(ステップS125)。
The zero merge
ゼロベクトルの追加処理が終了すると、等価判定部202は、マージ候補リストの生成が完了したことを示す候補生成完了信号を出力する。マージ候補リスト出力部113は、マージ候補リストの生成処理を終了する。
When the zero vector addition process is completed, the
[効果の説明]
本実施形態におけるマージ候補リストに基づいて動き補償予測符号化を行う映像符号化装置は、マージ候補リスト生成部と、非零判定部とを備える。マージ候補リストの生成中に、マージ候補リスト生成部は、マージ候補リストの要素数を更新する。非零判定部は、更新されたマージ候補リストの要素数が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
本実施形態における動きベクトル探索部111は、マージ候補リスト出力部113によるマージ候補リスト生成処理と動きベクトル評価部114による評価処理を並列に実施できる。すなわち、動きベクトル探索部111は、マージ候補リスト生成処理の開始から、動きベクトル評価処理の完了までの処理全体に要する処理時間を削減できる。
The motion
実施形態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
図6に示すマージ候補リスト出力部113の構成は、図4に示すマージ候補リスト出力部113の構成と比較して、周辺ベクトル一挙生成部210が周辺ベクトル逐次生成部410に置き換えられている点が異なる。
The configuration of the merge candidate
また、周辺ベクトルが生成された際に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
周辺ベクトル逐次生成部410は、周辺ベクトルを1つ生成するごとに、マージ候補リストに生成した周辺ベクトルを追加する。また、インクリメント部300は、マージ候補リストに周辺ベクトルが1つ追加されるごとに、numCurrMergeCandを更新する。
The peripheral vector
[動作の説明]
以下、本実施形態のマージ候補リスト出力部113の動作を図7を参照して説明する。図7は、第2の実施形態におけるマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。[Description of operation]
Hereinafter, the operation of the merge candidate
マージ候補リストの生成が開始されると、周辺ベクトル逐次生成部410は、周辺ベクトルを1つ生成する(ステップS211)。周辺ベクトル逐次生成部410は、生成した1つの周辺ベクトルをマージ候補リストに追加する(ステップS212)。追加された後、インクリメント部300は、numCurrMergeCandを更新する(ステップS213)。
When the generation of the merge candidate list is started, the peripheral vector
numCurrMergeCandが更新された後、非零判定部203は、numCurrMergeCandが0でないか否かを判定する(ステップS214)。
After numCurrMergeCand is updated, the non-zero determining
numCurrMergeCandが0でない場合(ステップS214におけるYes)、非零判定部203は、評価開始可能信号を出力する(ステップS215)。
If numCurrMergeCand is not 0 (Yes in step S214), the
ステップS214またはS215の処理の後、周辺ベクトル逐次生成部410は、規格に定められた手順に従って周辺ベクトルの生成処理が終了しているか否かを確認する(ステップS216)。周辺ベクトルの生成処理が終了していない場合(ステップS216におけるNo)、周辺ベクトル逐次生成部410は、再度ステップS211の処理を行う。
After the processing in step S214 or S215, the peripheral vector
周辺ベクトルの生成処理が終了している場合(ステップS216におけるYes)、等価判定部202は、numCurrMergeCand記憶部201に記憶されているnumCurrMergeCandとMaxNumMergeCandが等しいか否かを確認する(ステップS217)。
If the generation processing of the peripheral vector has been completed (Yes in step S216), the
ステップ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
実施形態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
図8に示すマージ候補リスト出力部113の構成は、図6に示すマージ候補リスト出力部113の構成と比較して、ゼロマージ候補生成部230が初期化ゼロマージ候補生成部430に置き換えられている点が異なる。
The configuration of the merge candidate
また、図8に示すマージ候補リスト出力部113の構成は、ゼロマージ候補シフト部440が追加されている点が図6に示す構成と異なる。図8に示すnumCurrMergeCand記憶部201、結合双予測候補生成部220、マージ候補リスト記憶部240、インクリメント部300および周辺ベクトル逐次生成部410の構成は、図6に示すマージ候補リスト出力部113の同名の構成要素と同様である。
The configuration of the merge candidate
初期化ゼロマージ候補生成部430は、マージ候補リスト生成部200の動作開始直後に動作する。初期化ゼロマージ候補生成部430は、マージ候補リストに規格に定められたゼロマージ候補を追加することによって、マージ候補リストを初期化する。
The initialization zero merge
ゼロマージ候補シフト部440は、周辺ベクトル逐次生成部410、および結合双予測候補生成部220がマージ候補リストに候補を追加するごとに、初期化によりマージ候補リストに追加されたゼロマージ候補を、マージ候補リストの末尾側にシフトする。
Each time the peripheral vector
[動作の説明]
以下、本実施形態のマージ候補リスト出力部113の動作を図9を参照して説明する。図9は、第3の実施形態におけるマージ候補リスト出力部113によるマージ候補リストの生成処理の具体的な動作を示すフローチャートである。[Description of operation]
Hereinafter, the operation of the merge candidate
マージ候補リスト生成処理の開始前に、初期化ゼロマージ候補生成部430は、規格に定められたゼロマージ候補を一挙に生成する(ステップS311)。初期化ゼロマージ候補生成部430は、生成したゼロマージ候補をマージ候補リストに追加する(ステップS312)。
Prior to the start of the merge candidate list generation process, the initialized zero merge
なお、生成されたゼロマージ候補がマージ候補リストに追加された時、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
結合双予測候補の生成処理および追加処理が終了した後(ステップ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
[効果の説明]
以下、本実施形態の効果を説明する。本実施形態のマージ候補リスト出力部113は、第1の実施形態および第2の実施形態において最後に行われていたゼロベクトルの生成処理および追加処理を、マージ候補リストの生成処理の開始前に行う。その結果、評価開始可能信号の出力までに要する時間の最悪値が短縮される。すなわち、周辺ベクトルも結合双予測候補も存在せず、マージ候補リストにゼロベクトルのみが追加される場合の、マージ候補リストの生成に要する時間が短縮される。[Explanation of effects]
Hereinafter, effects of the present embodiment will be described. The merge candidate
また、上記の各実施形態を、ハードウェアで構成することも可能であるが、例えば記録媒体に記録されたコンピュータプログラムにより実現することも可能である。 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
図10に示された情報処理システムにおいて、プログラムメモリ1002には、図1、図4、図6、図8のそれぞれに示された各ブロックの機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、図1、図4、図6、図8のそれぞれに示されたマージ候補リスト出力部113の機能を実現する。
In the information processing system shown in FIG. 10, the
次に、本発明の概要を説明する。図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
そのような構成により、映像符号化装置10は、マージ候補リストが使用される処理の開始を早めることができる。
With such a configuration, the
また、マージ候補リスト生成手段11は、マージ候補である周辺ベクトルを生成し、周辺ベクトルを1つ生成するごとに周辺ベクトルをマージ候補リストに追加する周辺ベクトル逐次生成手段(例えば、周辺ベクトル逐次生成部410)を含んでもよい。
In addition, the merge candidate
そのような構成により、映像符号化装置は、マージ候補生成処理と動きベクトル評価処理の並列度をより高めることができる。 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
そのような構成により、映像符号化装置10は、処理開始信号の出力までに要する時間の最悪値を短縮できる。
With such a configuration, the
本発明は、映像圧縮装置や、映像圧縮をコンピュータで実現するためのプログラムの用途に適用可能である。 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
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記載の映像符号化装置。 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.
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)
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 |
-
2016
- 2016-03-15 WO PCT/JP2016/001452 patent/WO2016147651A1/en active Application Filing
- 2016-03-15 JP JP2017506092A patent/JP6677243B2/en active Active
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 |