JP2016054549A - Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program - Google Patents
Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program Download PDFInfo
- Publication number
- JP2016054549A JP2016054549A JP2015239008A JP2015239008A JP2016054549A JP 2016054549 A JP2016054549 A JP 2016054549A JP 2015239008 A JP2015239008 A JP 2015239008A JP 2015239008 A JP2015239008 A JP 2015239008A JP 2016054549 A JP2016054549 A JP 2016054549A
- Authority
- JP
- Japan
- Prior art keywords
- block
- motion vector
- candidate list
- index
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、動画像の符号化技術に関し、特にピクチャを矩形ブロックに分割し、ピクチャ間でブロック単位に動き推定、補償を行う画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラムに関する。 The present invention relates to a moving picture coding technique, and more particularly to an image coding apparatus, an image coding method, an image coding program, and a transmission apparatus that divide a picture into rectangular blocks and perform motion estimation and compensation between blocks. , A transmission method, and a transmission program.
MPEG(Moving Picture Coding Experts Group)に代表される、ピクチャを矩形ブロックに分割し、ピクチャ間でブロック単位に動き推定、補償を行う動画像符号化方式では、各ブロックで生成される動きベクトルの符号量を削減する為に、動きベクトルに対して予測処理が行われる。 In a moving picture coding method represented by MPEG (Moving Picture Coding Experts Group), which divides a picture into rectangular blocks and performs motion estimation and compensation between blocks, the coding of motion vectors generated in each block In order to reduce the amount, a prediction process is performed on the motion vector.
MPEG−2では、マクロブロック単位に検出される動きベクトルは、直前に符号化されたマクロブロックの動きベクトルとの差分がとられ、その差分ベクトルを符号化することで、符号量を削減している。MPEG−4 AVC/H.264では、動きベクトルが周囲の隣接ブロックの動きベクトルと強い相関があることを利用して、周囲の隣接ブロックからの予測を行い、その差分ベクトルを符号化することによって符号量を削減している。具体的には、処理対象のブロックの左、上及び右上の隣接ブロックの動きベクトルから中央値を算出し、その中央値との差分をとることで動きベクトルの予測を実現している。 In MPEG-2, the motion vector detected in units of macroblocks is taken as a difference from the motion vector of the macroblock encoded immediately before, and the amount of code is reduced by encoding the difference vector. Yes. MPEG-4 AVC / H. H.264 uses the fact that motion vectors have a strong correlation with the motion vectors of neighboring blocks, and performs prediction from neighboring blocks and encodes the difference vector to reduce the amount of code. . Specifically, the median is calculated from the motion vectors of adjacent blocks on the left, top and top right of the block to be processed, and motion vector prediction is realized by taking the difference from the median.
これらの予測方法では、予測の為の動きベクトルが1つしかないので、予測が当たらないと、動きベクトルの差分が大きくなり、発生符号量が増加する課題があった。また、動きベクトルの符号量は削減されるものの、他の動き情報は処理対象のブロック毎に符号化される。従って、周囲の隣接ブロックと同一の動き情報を有していても、重複して符号化されることになる為、効率的な符号化に至っていないという課題があった。 In these prediction methods, since there is only one motion vector for prediction, there is a problem that if the prediction is not successful, the difference between the motion vectors becomes large and the generated code amount increases. Further, although the amount of code of the motion vector is reduced, other motion information is encoded for each block to be processed. Therefore, even if it has the same motion information as neighboring neighboring blocks, it is encoded redundantly, so that there is a problem that efficient encoding has not been achieved.
これらの課題を解決する為に、ISO/IEC及びITU−Tにおける動画像符号化の規格作業の中で新たな2つの技術が検討されている。1つは動きベクトルの予測方法に関して、符号化済みの周囲の隣接ブロックの動きベクトル及び符号化済みの時間が異なる別のピクチャの同一位置の周辺ブロックの動きベクトルについて、それぞれを予測動きベクトルの候補として適用した場合の発生符号量により評価する手法である。 In order to solve these problems, two new technologies have been studied in the standard work of moving picture coding in ISO / IEC and ITU-T. One is a motion vector prediction method, in which a motion vector of an adjacent neighboring block that has been encoded and a motion vector of a peripheral block at the same position of another picture that has different encoding times are each predicted motion vector candidates This is an evaluation method based on the amount of generated codes when applied as.
図1(a)、(b)に予測動きベクトルの候補となる隣接ブロックの一例を示す。図1(a)は同一ピクチャ内の隣接ブロックの例であり、図1(b)は時間が異なる別のピクチャの同一位置の周辺ブロックの例である。これらのブロックの動きベクトルを予測動きベクトルの候補とし、処理対象のブロックの動きベクトルと予測動きベクトルの候補との差分値の発生符号量を最小とする予測動きベクトルを選択する。そして、当該予測動きベクトルとの差分値と、必要であれば、予測動きベクトルを選択した隣接ブロックに関する付加情報を符号化し、伝送する。 FIGS. 1A and 1B show an example of adjacent blocks that are candidates for a motion vector predictor. FIG. 1A is an example of an adjacent block in the same picture, and FIG. 1B is an example of a peripheral block at the same position of another picture having a different time. The motion vectors of these blocks are used as predicted motion vector candidates, and the predicted motion vector that minimizes the generated code amount of the difference value between the motion vector of the block to be processed and the predicted motion vector candidate is selected. And the additional value regarding the adjacent block which selected the difference value with the said prediction motion vector and the prediction motion vector as needed is encoded and transmitted.
もう1つは、処理対象ブロックの動き情報と、周囲の既に符号化済みの隣接ブロックの動き情報が同一であれば、処理対象ブロックは自身の動き情報を符号化せずに、隣接ブロックの動き情報を符号化に使用する。具体的には、参照する動き情報を備える隣接ブロックを指定する付加情報を符号化することで、動き情報の符号量を削減する手法である(例えば、特許文献1参照)。このような手法は、マージ(merge)と呼ばれ、動き情報の符号量削減の一手法として注目されている。 The other is that if the motion information of the processing target block is the same as the motion information of neighboring neighboring blocks that have already been encoded, the processing target block does not encode its own motion information, Information is used for encoding. Specifically, this is a technique of reducing the amount of code of motion information by encoding additional information that designates an adjacent block having motion information to be referenced (see, for example, Patent Document 1). Such a method is called “merge” and has attracted attention as a method for reducing the code amount of motion information.
上述した動きベクトルの予測方法やマージ手法では、符号化済みの周囲の隣接ブロック及び時間が異なる別のピクチャの同一位置の周辺ブロックの動きベクトル、参照するピクチャを示す参照ピクチャ番号、参照リスト等の符号化情報を使用する。しかしながら、それぞれの技術で参照する周囲の隣接ブロックの位置が異なっている為、符号化済みの符号化情報を記録しているメモリをアクセスする回数が増加するという難しい面がある。 In the motion vector prediction method and the merge method described above, the motion vector of the encoded neighboring neighboring block and the neighboring block at the same position of another picture with different time, the reference picture number indicating the reference picture, the reference list, etc. Use encoded information. However, since the positions of adjacent neighboring blocks to be referred to by the respective technologies are different, there is a difficult aspect that the number of times of accessing the memory storing the encoded information that has been encoded increases.
また、一般的な符号化過程においては、最適な参照先を選択する為に、参照先の隣接ブロックの符号化情報を用いて動き補償を行い、発生符号量と符号化歪を指標として判定する。しかしながら、参照する周囲の隣接ブロックが異なると、ブロック数が増加することになり、処理負荷が増加するという難しい面がある。更に、復号時に復号済みの符号化情報を読み出すタイミングが制限されたり、復号済みの符号化情報を記憶する一時メモリが増加するという難しい面がある。 In a general encoding process, in order to select an optimal reference destination, motion compensation is performed using the encoding information of the adjacent block of the reference destination, and the generated code amount and the encoding distortion are determined as indices. . However, if adjacent neighboring blocks to be referred to are different, the number of blocks increases, which causes a difficult process load. Furthermore, there is a difficult aspect that the timing for reading out the encoded information at the time of decoding is limited, and the temporary memory for storing the encoded information that has been decoded increases.
本発明はこうした状況に鑑みてなされたものであり、その目的は、動き情報を処理する際の負荷を抑制しつつ、動き情報の符号化効率を向上させる技術を提供することにある。 The present invention has been made in view of such a situation, and an object of the present invention is to provide a technique for improving the encoding efficiency of motion information while suppressing the load when processing the motion information.
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化する画像符号化装置であって、符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する取得部と、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第1のモード検出部と、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第2のモード検出部と、前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する符号列生成部と、を備え、前記第1のモード検出部及び前記第2のモード検出部は、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第1のモード検出部により生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第2のモード検出部により生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、前記第1のモード検出部は、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する、ことを特徴とする画像符号化装置を提供する。
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化する画像符号化方法であって、符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、を有し、前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する、ことを特徴とする画像符号化方法を提供する。
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化する画像符号化プログラムであって、符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1処理と、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2処理と、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3処理と、前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4処理と、をコンピュータに実行させ、前記第2処理及び前記第3処理は、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2処理により生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3処理により生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、前記第2処理は、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する、ことを特徴とする画像符号化プログラムを提供する。
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化する画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理部と、パケット化された前記符号化データを送信する送信部と、を備え、前記画像符号化方法は、符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、を有し、前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する、ことを特徴とする送信装置を提供する。
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化する画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理ステップと、パケット化された前記符号化データを送信する送信ステップと、を備え、前記画像符号化方法は、符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、を有し、前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する、ことを特徴とする送信方法を提供する。
動画像の各ピクチャを分割したブロック単位で動きベクトルを用いて符号化する画像符号化方法により符号化された符号化ビット列をパケット化して符号化データを得るパケット処理ステップと、パケット化された前記符号化データを送信する送信ステップと、をコンピュータに実行させ、前記画像符号化方法は、符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、を有し、前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する、ことを特徴とする送信プログラムを提供する。
An image encoding device that encodes using a motion vector in units of blocks obtained by dividing each picture of a moving image, an acquisition unit that acquires encoding information of a plurality of reference block candidates of an encoding target block, and an index Generating a first candidate list from the plurality of reference block candidates based on a first predetermined order in a first inter-picture prediction mode that uses motion vector information included in the coding information of a specified reference block; A first mode detection unit that assigns an index for specifying a reference block candidate registered in the first candidate list and outputs an index of the plurality of reference block candidates; and a reference block specified by the index Predicted motion vectors based on motion vector information included in the encoded information and motion of the encoding target block In the second inter-picture prediction mode using a difference motion vector from a vector, a second candidate list is generated from the plurality of reference block candidates based on a second predetermined order, and registered in the second candidate list A second mode detection unit that outputs an index of the plurality of reference block candidates and the difference motion vector, an index of the reference block candidate, and the inter-picture prediction A code sequence generation unit that encodes prediction mode information indicating a mode type and the differential motion vector corresponding to a reference block used in the second inter-picture prediction mode, and the first mode detection And the second mode detection unit use a plurality of common blocks as the plurality of reference block candidates, and perform the first mode detection. The first predetermined order for arranging the plurality of reference block candidates in the first candidate list generated by the second mode list, and the second candidate list generated by the second mode detection unit The second predetermined order for arranging a plurality of reference block candidates is different, and the first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate. Blocks, candidate blocks included in temporally different pictures, and the first mode detection unit restricts the number of the first candidates to determine the first candidates from the plurality of reference blocks. An image encoding device characterized by generating a list is provided.
An image encoding method for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image, the first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block, and an index Generating a first candidate list from the plurality of reference block candidates based on a first predetermined order in the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by A second step of assigning an index for identifying a reference block candidate registered in the first candidate list, and outputting an index of the plurality of reference block candidates, and the reference block identified by the index Predicted motion vector based on motion vector information included in encoding information and motion of the encoding target block In the second inter-picture prediction mode using a difference motion vector from a vector, a second candidate list is generated from the plurality of reference block candidates based on a second predetermined order, and registered in the second candidate list A third step of providing an index for identifying the reference block candidate and outputting the index of the plurality of reference block candidates and the difference motion vector, the index of the reference block candidate, and the type of the inter-picture prediction mode And a fourth step of encoding the difference motion vector corresponding to the reference block used in the second inter-picture prediction mode, the second step and the third step Uses a plurality of common blocks as the plurality of reference block candidates, and is generated by the second step. The first predetermined order for arranging the plurality of reference block candidates in one candidate list, and the plurality of reference block candidates in the second candidate list generated by the third step. The second predetermined order is different, and the first predetermined order is included in spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block and temporally different pictures. In the order of candidate blocks, the second step generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates. Provide a method.
An image encoding program for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image, the first processing for acquiring encoding information of a plurality of reference block candidates of an encoding target block, and an index Generating a first candidate list from the plurality of reference block candidates based on a first predetermined order in the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by An index for identifying a reference block candidate registered in the first candidate list, and outputting an index of the plurality of reference block candidates; and the reference block identified by the index Predicted motion vector based on motion vector information included in encoding information and motion of encoding target block In the second inter-picture prediction mode using a motion vector that is different from the vector, a second candidate list is generated from the plurality of reference block candidates based on a second predetermined order, and registered in the second candidate list. A third process of assigning an index for identifying the reference block candidate and outputting the index of the plurality of reference block candidates and the differential motion vector, the index of the reference block candidate, and the type of the inter prediction mode And a fourth process for encoding the difference motion vector corresponding to the reference block used in the second inter-picture prediction mode, and causing the computer to execute the second process and the second The third process uses a plurality of common blocks as the plurality of reference block candidates, and the first process generated by the second process The first predetermined order for arranging the plurality of reference block candidates in a candidate list, and the first order for arranging the plurality of reference block candidates in the second candidate list generated by the third process. The predetermined order of 2 is different, and the first predetermined order includes spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures And the second process generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates. provide.
A packet processing unit that packetizes an encoded bit sequence encoded by an image encoding method that encodes using a motion vector in units of blocks obtained by dividing each picture of a moving image, and obtains encoded data; A transmitter that transmits encoded data, and the image encoding method includes: a first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block; and a reference block specified by an index In a first inter-picture prediction mode that uses motion vector information included in the encoded information, a first candidate list is generated from the plurality of reference block candidates based on a first predetermined order, and the first candidate Gives an index for identifying reference block candidates registered in the list, and outputs an index of the plurality of reference block candidates A second step using a difference motion vector between a prediction motion vector based on motion vector information included in the coding information of the reference block identified by the index and a motion vector of the coding target block In the prediction mode, a second candidate list is generated from the plurality of reference block candidates based on a second predetermined order, and an index for specifying a reference block candidate registered in the second candidate list is assigned. A third step of outputting the indices of the plurality of reference block candidates and the differential motion vector, the index of the reference block candidates, prediction mode information indicating the type of the inter-picture prediction mode, and second inter-picture prediction A fourth step of encoding the differential motion vector corresponding to the reference block used in the mode. And the second step and the third step use a plurality of common blocks as the plurality of reference block candidates, and add to the first candidate list generated by the second step. The first predetermined order for arranging the plurality of reference block candidates and the second predetermined order for arranging the plurality of reference block candidates in the second candidate list generated by the third step. The first predetermined order is the order of a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures. And the second step generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates. Providing equipment.
A packet processing step of packetizing a coded bit string encoded by an image encoding method for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image to obtain encoded data; A transmission step of transmitting encoded data, wherein the image encoding method includes a first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block, and a reference block specified by an index In a first inter-picture prediction mode that uses motion vector information included in the encoded information, a first candidate list is generated from the plurality of reference block candidates based on a first predetermined order, and the first candidate An index for identifying reference block candidates registered in the list is assigned, and an index of the plurality of reference block candidates is assigned. And a second step of using a difference motion vector between a motion vector of a prediction motion vector based on motion vector information included in the coding information of the reference block specified by an index and a motion vector of the coding target block. In the inter-picture prediction mode, an index for generating a second candidate list from the plurality of reference block candidates based on a second predetermined order and for identifying reference block candidates registered in the second candidate list And outputting the index of the plurality of reference block candidates and the difference motion vector, the index of the reference block candidate, prediction mode information indicating the type of the inter-picture prediction mode, and a second step Encode the difference motion vector corresponding to the reference block used in the inter-picture prediction mode A fourth step, wherein the second step and the third step use a plurality of common blocks as the plurality of reference block candidates, and the first step is generated by the second step. The first predetermined order for arranging the plurality of reference block candidates in a candidate list, and the first order for arranging the plurality of reference block candidates in the second candidate list generated by the third step. The predetermined order of 2 is different, and the first predetermined order includes spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, and candidate blocks included in temporally different pictures. The second step generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates. A transmission method is provided.
A packet processing step of packetizing a coded bit string encoded by an image encoding method for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image to obtain encoded data; A transmission step of transmitting encoded data; and causing the computer to execute the image encoding method. The image encoding method is specified by a first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block, and an index In a first inter-picture prediction mode that uses motion vector information included in the coding information of a reference block, a first candidate list is generated from the plurality of reference block candidates based on a first predetermined order, and the first An index for identifying reference block candidates registered in one candidate list is assigned, and the plurality of reference blocks are assigned. A difference motion vector between a prediction motion vector based on the motion vector information included in the coding information of the reference block specified by the index and the motion vector of the coding target block In the second inter-picture prediction mode using, a second candidate list is generated from the plurality of reference block candidates based on a second predetermined order, and the reference block candidates registered in the second candidate list are specified A third step of outputting an index of the plurality of reference block candidates and the difference motion vector, an index of the reference block candidate, and prediction mode information indicating a type of the inter-picture prediction mode; The differential motion corresponding to the reference block used in the second inter-picture prediction mode A fourth step of encoding a spectrum, wherein the second step and the third step use a plurality of common blocks as the plurality of reference block candidates and are generated by the second step. The first predetermined order for arranging the plurality of reference block candidates in the first candidate list and the plurality of reference block candidates in the second candidate list generated by the third step The second predetermined order for performing is different, and the first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, temporally different pictures In the order of the candidate blocks included in the first candidate list from the plurality of reference blocks by limiting the number of the first candidates. A transmission program characterized by generating is provided.
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, and the like are also effective as an aspect of the present invention.
本発明によれば、動き情報を処理する際の負荷を抑制しつつ、動き情報の符号化効率を向上させることができる。 ADVANTAGE OF THE INVENTION According to this invention, the encoding efficiency of motion information can be improved, suppressing the load at the time of processing motion information.
本発明を実施する好適な動画像符号化装置及び動画像復号化装置について説明する。図2は本発明の実施例に係る動画像符号化装置100の構成を示すブロック図である。動画像符号化装置100は、画像メモリ101、動きベクトル検出部102、動きベクトル予測部103、インター予測情報検出部104、動き補償予測部105、マージ検出部106、予測方法決定部107、スイッチ108、第1の符号化ビット列生成部109、残差信号生成部110、直交変換・量子化部111、逆量子化・逆直交変換部112、復号画像信号重畳部113、符号化情報格納メモリ114、復号画像メモリ115、第2の符号化ビット列生成部116及び符号化ビット列多重化部117を備える。尚、各ブロック間を結ぶ太実線の矢印はピクチャの画像信号、細実線の矢印は符号化を制御するパラメータ信号の流れを表すものである。
A preferred moving picture encoding apparatus and moving picture decoding apparatus for implementing the present invention will be described. FIG. 2 is a block diagram showing the configuration of the moving
画像メモリ101は、撮影/表示時間順に供給された符号化対象の画像信号を一時格納する。画像メモリ101は、格納された符号化対象の画像信号を、所定の画素ブロック単位で、動きベクトル検出部102、予測方法決定部107及び残差信号生成部110に供給する。その際、撮影/表示時間順に格納された画像は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ101から出力される。
The
動きベクトル検出部102は、画像メモリ101から供給される画像信号と復号画像メモリ115から供給される復号画像(参照ピクチャ)間でブロックマッチング等により、各予測ブロックサイズ、予測モードごとの動きベクトルを予測ブロック単位で検出し、検出された動きベクトルを動き補償予測部105、動きベクトル予測部103及び予測方法決定部107に供給する。ここで、予測モードは図3(a)に示されるように大別されており、図3(a)、(b)中の片方向予測或いは双予測モードの動きベクトルが検出される。予測モードは後述するシンタックスの定義にて説明する。
The motion
動きベクトル予測部103は、予測モードが動き検出モードの場合にインター予測情報検出部104にて出力される符号化情報の動きベクトルを予測動きベクトルとして、動きベクトル検出部102が検出した動きベクトルと当該予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部107に供給する。更に、選択された予測動きベクトルを特定するインデックスを予測方法決定部107に供給する。動きベクトル予測部103の詳細な構成と動作は後述する。
When the prediction mode is the motion detection mode, the motion
インター予測情報検出部104は、処理対象の予測ブロックが参照する同一ピクチャ上で処理対象の予測ブロックの周辺に隣接する符号化済みの予測ブロック、或いは時間が異なる別ピクチャの中で処理対象の予測ブロックと同一位置のブロック周辺に隣接する予測ブロックの符号化情報を符号化情報格納メモリ114から取得する。符号化情報格納メモリ114に記憶されている既に符号化された周辺の隣接ブロック、或いは時間が異なる別ピクチャの隣接ブロックの符号化情報のうち、処理対象の予測ブロックの位置情報から、複数の参照先候補の隣接ブロックの符号化情報を検出し、参照先として選択される隣接ブロックの符号化情報とその隣接ブロックを特定するインデックスを、スイッチ108に入力される動画像符号化装置100により制御される予測モードで切り換えて供給する。インター予測情報検出部104の詳細な構成と動作は後述する。
The inter prediction
動き補償予測部105は、動きベクトル検出部102により検出された動きベクトル或いはインター予測情報検出部104により検出された参照先として選択される隣接ブロックの符号化情報を用いて、参照ピクチャから動き補償予測により予測画像信号を生成し、当該予測画像信号を予測方法決定部107に供給する。尚、双予測の場合は、主に前方向の予測として使われるL0予測、主に後方向の予測として使われるL1予測の2つの動き補償予測画像信号に適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。この重み付け係数は、スライス単位或いは予測ブロック単位で設定される。
The motion
マージ検出部106は、予測モードがマージモードの場合にインター予測情報検出部104にて取得される処理対象の予測ブロックが参照する隣接ブロック(以下、参照隣接ブロックという)の符号化情報を、処理対象の予測ブロックの符号化情報として利用する為に、隣接ブロックを優先して参照する順位に並び換えて参照候補リストに登録する。マージ検出部106は、当該参照候補リストの中に登録された符号化情報を処理対象の予測ブロックの符号化情報として検出し、検出された符号化情報の動きベクトル、参照ピクチャ番号、参照リスト等を動き補償予測部105に供給する。更に、マージ検出部106は、検出された符号化情報を備える参照隣接ブロックを特定するインデックスを予測方法決定部107に供給する。マージ検出部106の詳細な構成と動作は後述する。
The
予測方法決定部107は、参照隣接ブロックの符号化情報、隣接ブロックを特定するインデックスの符号量、動き補償予測信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な予測ブロックサイズ、分割モード(PartMode)、予測モード(PredMode)等を含む予測方法を決定する。予測方法決定部107は、決定された予測方法を示す情報及び決定された予測方法に応じた差分動きベクトル等を含む符号化情報を第1の符号化ビット列生成部109に供給する。尚、予測ブロックサイズ、分割モード及び予測モードの詳細については後述する。
The prediction
スイッチ108は、動画像符号化装置100により制御される予測モードに応じて、インター予測情報検出部104により検出された参照先として選択される隣接ブロックの符号化情報を動きベクトル予測部103或いはマージ検出部106との間で切り換えて供給する。更に、スイッチ108は、決定された予測方法を示す情報及び決定された予測方法に応じた動きベクトル等を含む符号化情報を符号化情報格納メモリ114に格納し、決定された予測モードに応じた動き補償予測画像信号を残差信号生成部110及び復号画像信号重畳部113に与える。
The
残差信号生成部110は、符号化する画像信号と予測信号との引き算を行い残差信号を生成し、直交変換・量子化部111に与える。直交変換・量子化部111は、残差信号に対して直交変換及び量子化を行い直交変換・量子化された残差信号を生成し、第2の符号化ビット列生成部116と逆量子化・逆直交変換部112に供給する。
The residual
第1の符号化ビット列生成部109は、予測方法決定部107によって決定された予測方法情報及び当該予測方法情報に応じた差分動きベクトルに関する情報を、規定のシンタックス規則に従って符号化して第1の符号化ビット列を生成し、符号化ビット列多重化部117に供給する。
The first encoded bit
尚、必要に応じて予測方法決定部107から供給される重み付け予測の重み付けパラメータ、インターレース符号化の際のフレーム/フィールド予測を識別するフラグ、量子化の量子化パラメータ、残差信号を符号化したか否かを示すフラグ、直交変換の手法を識別するフラグ、残差信号の符号化順序を識別するフラグ、デブロッキングフィルタ等のポストフィルタの情報等の、符号化情報の予測値と実際に用いる値との差分が第1の符号化ビット列生成部109に供給され、符号化される。更に、残差信号の符号化順序を識別するフラグ等の、予測された符号化情報を符号化情報格納メモリ114に格納する。
The weighting prediction weighting parameter supplied from the prediction
第2の符号化ビット列生成部116は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第2の符号化ビット列を生成し、符号化ビット列多重化部117に供給する。符号化ビット列多重化部117は、第1の符号化ビット列と第2の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。
The second encoded bit
逆量子化・逆直交変換部112は、直交変換・量子化部111から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部113に供給する。復号画像信号重畳部113は、予測方法決定部107による決定に応じた予測信号と、逆量子化・逆直交変換部112で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ115に格納する。尚、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ115に格納されることもある。その場合、必要に応じてデブロッキングフィルタ等のポストフィルタの情報を識別するフラグ等の、予測された符号化情報を符号化情報格納メモリ114に格納する。
The inverse quantization / inverse
図4は図2の動画像符号化装置100に対応した実施例における動画像復号装置200の構成を示すブロック図である。当該動画像復号装置200は、ビット列分離部201、第1の符号化ビット列復号部202、第2の符号化ビット列復号部203、動きベクトル算出部204、インター予測情報検出部205、マージ判定部206、動き補償予測部207、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210、復号画像メモリ211及びスイッチ212を備える。尚、図2の動画像符号化装置100と同様に、各ブロック間を結ぶ太実線の矢印はピクチャの画像信号、細実線の矢印は符号化を制御するパラメータ信号の流れを表すものである。
FIG. 4 is a block diagram showing a configuration of a moving
図4の動画像復号装置200の復号処理は、図2の動画像符号化装置100の内部に設けられている復号処理に対応するものであるから、図4の動き補償予測部207、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210及び復号画像メモリ211の各構成は、図2の動画像符号化装置100の動き補償予測部105、逆量子化・逆直交変換部112、復号画像信号重畳部113、符号化情報格納メモリ114及び復号画像メモリ115の各構成とそれぞれ対応する機能を有する。
Since the decoding process of the moving
ビット列分離部201に供給されるビットストリームは、規定のシンタックスの規則に従って分離され、分離された符号化ビット列が第1の符号化ビット列復号部202及び第2の符号化ビット列復号部203に供給される。
The bit stream supplied to the bit
第1の符号化ビット列復号部202は、供給された符号化ビット列を復号して予測モード、動きベクトル等に関する符号化情報を出力し、符号化情報を動きベクトル算出部204またはインター予測情報検出部205と、動き補償予測部207に与えるとともに符号化情報格納メモリ210に格納する。
The first encoded bit
第2の符号化ビット列復号部203は、供給された符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部208に与える。
The second encoded bit
動きベクトル算出部204は、予測モードが動き検出モードの場合にインター予測情報検出部205にて判定され、出力される符号化情報の動きベクトルを予測動きベクトルとして、第1の符号化ビット列復号部202で復号された差分ベクトル及び当該予測動きベクトルから動きベクトルを算出し、当該動きベクトルを動き補償予測部207に供給するとともに、符号化情報格納メモリ210に供給する。
When the prediction mode is the motion detection mode, the motion
インター予測情報検出部205は、処理対象の予測ブロックが参照する同一ピクチャ上で処理対象の予測ブロックの周辺に隣接する復号済みの予測ブロック、或いは時間が異なる別ピクチャの中で処理対象の予測ブロックと同一位置のブロック周辺に隣接する予測ブロックの符号化情報を符号化情報格納メモリ210から取得する。符号化情報格納メモリ210に記憶されている既に復号された周辺の隣接ブロック、或いは時間が異なる別ピクチャの隣接ブロックの符号化情報のうち、処理対象の予測ブロックの位置情報から、複数の参照先候補の隣接ブロックの符号化情報を検出し、参照先として選択される隣接ブロックの符号化情報とその隣接ブロックを特定するインデックスを、スイッチ212に入力される動画像復号装置200により復号された予測モードで切り換えて供給する。インター予測情報検出部205の詳細な構成と動作は後述する。
The inter prediction
マージ判定部206は、予測モードがマージモードの場合にインター予測情報検出部205にて取得される処理対象の予測ブロックが参照隣接ブロックの符号化情報を、処理対象の予測ブロックの符号化情報として利用する為に、隣接ブロックを優先して参照する順位に並び換えて参照候補リストに登録する。マージ判定部206は、当該参照候補リストの中から第1の符号化ビット列復号部202で復号された参照隣接ブロックを特定するインデックスで指定される隣接ブロックを検出し、その符号化情報を動き補償予測部207に供給するとともに、符号化情報格納メモリ210に供給する。マージ判定部206の詳細な構成と動作は後述する。
The
動き補償予測部207は、動きベクトル算出部204で算出された動きベクトル或いはマージ判定部206により検出された参照先として選択される隣接ブロックの符号化情報を用いて、参照ピクチャから動き補償予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部209に供給する。尚、双予測の場合は、L0予測、L1予測の2つの動き補償予測画像信号に適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。
The motion
逆量子化・逆直交変換部208は、第1の符号化ビット列復号部202で復号された直交変換・量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。
The inverse quantization / inverse
復号画像信号重畳部209は、動き補償予測部207で動き補償予測された予測画像信号と、逆量子化・逆直交変換部208により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ211に格納する。復号画像メモリ211に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ211に格納されることもある。
The decoded image
スイッチ212は、第1の符号化ビット列復号部202で復号された予測モードに応じて、インター予測情報検出部205により検出された参照先として選択される隣接ブロックの符号化情報を動きベクトル算出部204或いはマージ判定部206との間で切り換えて供給する。
The
以下の実施例では、動画像符号化装置100のインター予測情報検出部104及び動画像復号装置200のインター予測情報検出部205の中で共通に実施される動きベクトルの予測方法とマージ手法とで参照する周辺の隣接ブロックの配置を統合し、その中から参照隣接ブロックを選出する方法の詳細について説明する。
In the following embodiments, a motion vector prediction method and a merge method that are commonly performed in the inter prediction
本発明における実施例で参照隣接ブロックの選出方法を説明する前に、本実施例にて使用する用語を定義する Before describing the method of selecting reference neighboring blocks in the embodiment of the present invention, terms used in the present embodiment are defined.
(本発明にて使用する用語の定義)
・符号化ブロックの定義
本実施例では、図5に示されるように、画面内を同一サイズの正方の矩形ブロックにて均等分割される。このブロックを符号化ブロックと呼び、符号化及び復号化を行う際の処理の基本とする。符号化ブロックは画面内のテクスチャに応じて、符号化処理を最適にすべく、符号化ブロック内を4分割して、ブロックサイズの小さい符号化ブロックにすることが出来る。図5で示される画面内を均等サイズで分割される符号化ブロックを最大符号化ブロックと呼び、その内部を符号化条件に応じて4分割したものを総じて符号化ブロックとする。符号化ブロックをこれ以上4分割出来ない最小のサイズとなる符号化ブロックを最小符号化ブロックと呼ぶこととする。
(Definition of terms used in the present invention)
Definition of coding block In this embodiment, as shown in FIG. 5, the screen is equally divided into square rectangular blocks of the same size. This block is called a coding block and is used as a basis for processing when performing coding and decoding. According to the texture in the screen, the coding block can be divided into four blocks with a small block size in order to optimize the coding process. An encoded block that is divided into equal screen sizes in the screen shown in FIG. 5 is called a maximum encoded block, and a block that is divided into four according to the encoding condition is collectively referred to as an encoded block. An encoded block having a minimum size that cannot be further divided into four is referred to as a minimum encoded block.
・予測ブロックの定義
画面内をブロックに分割して動き補償を行う場合、動き補償のブロックサイズをより小さくした方が、よりきめ細かい予測を行うことが出来ることから、いくつかのブロックサイズの中から最適なものを選択して、動き補償を行う仕組みを取り入れている。この動き補償を行うブロックを予測ブロックと呼ぶ。予測ブロックは符号化ブロックの内部を分割する場合に使用され、動き補償に応じて、符号化ブロック内部を分割せず1ブロックとみなす場合を最大とし、水平或いは垂直方向に2分割したもの、水平と垂直の均等分割により4分割したものに分けられる。分割方法に応じて、分割タイプに対応した分割モード(PartMode)が定義されており、図6に示される。図7(a)〜(d)中の矩形内部の番号は分割された予測ブロックの番号を表す。最小符号化ブロック内部において、予測ブロックを管理する為に、0から開始する番号が予測ブロックに対して上から下、左から右の順に割り当てられる。
・ Definition of prediction block When performing motion compensation by dividing the screen into blocks, the smaller the motion compensation block size, the more detailed prediction can be performed. It adopts a mechanism to select the optimal one and perform motion compensation. A block that performs this motion compensation is called a prediction block. The prediction block is used when the inside of the coding block is divided, and according to motion compensation, the case where the inside of the coding block is regarded as one block without being divided is maximized, and is divided into two horizontally or vertically. And divided into four by vertical equal division. Depending on the division method, a division mode (PartMode) corresponding to the division type is defined and is shown in FIG. The numbers inside the rectangles in FIGS. 7A to 7D indicate the numbers of the divided prediction blocks. In order to manage the prediction block within the minimum coding block, numbers starting from 0 are assigned to the prediction block in order from top to bottom and from left to right.
以上のように、符号化ブロックを動き検出・補償を行う場合、動き検出・補償の単位としては、符号化ブロック自身のサイズ、符号化ブロックを2分割或いは4分割した個々の小ブロック、更に4分割した個々の小ブロックを符号化ブロックとして同様に分割することで予測ブロックの最小サイズまで再帰的に得られるサイズのブロックとなる。以下の説明では、特に断らない限り動き検出・補償を行う単位は形状、サイズに関わらず“予測ブロック”とする。 As described above, when motion detection / compensation is performed on an encoded block, the unit of motion detection / compensation includes the size of the encoded block itself, individual small blocks obtained by dividing the encoded block into two or four, and further 4 By dividing each divided small block in the same way as an encoded block, a block having a size obtained recursively up to the minimum size of the prediction block is obtained. In the following description, unless otherwise specified, the unit for motion detection / compensation is a “prediction block” regardless of the shape and size.
(参照リスト)
次に、参照リストについて説明する。符号化及び復号の際には、参照リストLX毎の参照インデックスから参照ピクチャ番号を指定して参照する。L0とL1の2つが用意されていて、Xには0或いは1が入る。参照リストL0に登録されている参照ピクチャを参照するインター予測をL0予測(Pred_L0)と呼び、参照リストL1に登録されている参照ピクチャを参照する動き補償予測をL1予測(Pred_L1)と呼ぶ。主としてL0予測は前方向予測に、L1予測は後方向予測として使用され、PスライスではL0予測のみ、BスライスではL0予測、L1予測及びL0予測とL1予測を平均または重み付け加算する双予測が使用出来る。以降の処理において出力に添え字LXが付いている値に対しては、L0予測、L1予測ごとに処理を行うことを前提とする。
(Reference list)
Next, the reference list will be described. In encoding and decoding, a reference picture number is designated from a reference index for each reference list LX for reference. L0 and L1 are prepared, and 0 or 1 is entered in X. Inter prediction that refers to a reference picture registered in the reference list L0 is referred to as L0 prediction (Pred_L0), and motion compensation prediction that refers to a reference picture registered in the reference list L1 is referred to as L1 prediction (Pred_L1). L0 prediction is mainly used for forward prediction, L1 prediction is used for backward prediction, only L0 prediction is used for P slice, and L0 prediction, L1 prediction, and bi-prediction that averages or adds L1 prediction and L1 prediction are used for B slice. I can do it. In the subsequent processing, it is assumed that the value with the subscript LX in the output is processed for each L0 prediction and L1 prediction.
(符号化情報の記録)
次に、動き検出・補償により検出される動きベクトル等の符号化情報の記録について説明する。ここで、符号化情報は、動きベクトルをはじめ、参照リスト、参照リストに登録されている参照ピクチャを示す参照ピクチャ番号、予測モード等、符号化に使用された情報から構成される。予測ブロック単位に動き検出・補償が行われるが、検出された動きベクトル等の符号化情報は、予測ブロック単位で記録せず、上述した最小予測ブロック単位で記録する。即ち、予測ブロック内部を構成する複数の最小予測ブロックに同一の符号化情報を記録するようにする。
(Recording of encoding information)
Next, recording of encoded information such as motion vectors detected by motion detection / compensation will be described. Here, the coding information includes information used for coding, such as a motion vector, a reference list, a reference picture number indicating a reference picture registered in the reference list, and a prediction mode. Although motion detection / compensation is performed in units of prediction blocks, encoded information such as detected motion vectors is not recorded in units of prediction blocks, but is recorded in units of the minimum prediction block described above. That is, the same encoded information is recorded in a plurality of minimum prediction blocks constituting the prediction block.
予測ブロックのサイズは符号化条件によって変わるので、予測ブロック単位に符号化情報格納メモリ114、210に記録するには、検出された動きベクトルの他に予測ブロックのピクチャ上での位置、予測ブロックの形状等の付加情報が必要になり、符号化情報を取得する為のアクセスが複雑化する。その為、情報の重複記録による冗長度はあるが、均一な最小予測ブロック単位に分割し、記録する方がアクセスが容易である。
Since the size of the prediction block varies depending on the encoding condition, in order to record the prediction block unit in the encoding
図8はピクチャを最小予測ブロックで分割した一例であり、この図を用いて符号化情報格納メモリ114、210に記録される符号化情報の保存形式を説明する。図8中のwはピクチャの幅、hはピクチャの高さを表す。最小予測ブロックの幅及び高さをpとすると、横方向にw/p個、縦方向にh/p個の最小予測ブロックでピクチャは構成されることになり、この1つ1つの最小予測ブロックに対応する符号化情報が図8中の太実線で表されるラスタスキャン順に符号化情報格納メモリ114、210に記録される。
FIG. 8 shows an example in which a picture is divided into minimum prediction blocks, and the storage format of encoded information recorded in the encoded
ここで、図8中の太線で囲まれた矩形領域を予測ブロック(図8中のハッチングで示される領域)とする。予測ブロックでは動き検出により動きベクトル等の符号化情報が検出される。検出された符号化情報は、予測ブロックの中を構成する最小予測ブロックに対応する符号化情報格納メモリ114、210に記録される。符号化情報格納メモリ114、210の符号化情報の記録領域の先頭アドレスを図8中の左上を原点とすると、予測ブロックの先頭位置は図6中の黒丸で示される。予測ブロックの先頭位置が最小予測ブロック単位で原点から右にx個、下にy個の位置にあるとすると、予測ブロックの先頭アドレスはw/p×y+xで表される。その先頭位置の最小予測ブロックから、ハッチングで示される予測ブロック内の最小予測ブロックに対応する符号化情報格納メモリ114、210内の記憶領域に予測ブロックの符号化情報を記録していく。このようにして、予測ブロックの中の最小予測ブロックに対応する符号化情報格納メモリ114、210の記録領域に、同じ符号化情報を記録する。
Here, a rectangular area surrounded by a thick line in FIG. 8 is a prediction block (an area indicated by hatching in FIG. 8). In the prediction block, encoded information such as a motion vector is detected by motion detection. The detected encoded information is recorded in the encoded
次に、本発明の実施例における、参照隣接ブロックの選出方法を備える動画像符号化装置により符号化される動画像のビットストリームのシンタックスについて説明する。 Next, the syntax of a bit stream of a moving image that is encoded by a moving image encoding device including a reference adjacent block selection method according to an embodiment of the present invention will be described.
(シンタックスの定義)
上述した図3(a)は予測モードにより符号化を大別したものである。画像間予測(Interモード)の場合、まずマージ手法を使用するか否かでマージモードと非マージモードに分けられる。非マージモードはブロックマッチング等の動きベクトルの検出を実際に行うモードであり、動き検出モードと言い換えることが出来る。マージモードは更にskipモードと非skipモードに分けられる。skipモードは参照隣接ブロックの符号化情報により予測された予測画像信号を復号画像とするので、画像残差信号は0となる。従って、skipモードは符号化伝送を必要とせず、符号化情報の参照先を表すインデックスのみを符号化伝送するモードである。skipモードの符号化情報はマージモードと同様であり、ここでは画像残差信号を符号化伝送する場合をマージモードと限定することにする。Interモードの符号化の対象となる信号を分類した表を図3(b)に示す。skipモードでは、他のモードとは異なり、画像残差信号の符号化伝送を必要としない為、図3(a)の予測モードの分岐順に判定を行うよりも、先にskipモードの判定を行う方がモード判定に使用されるフラグの符号量を抑えることが出来る。
(Syntax definition)
FIG. 3 (a) described above is one in which encoding is roughly classified according to the prediction mode. In the case of inter-image prediction (Inter mode), first, it is divided into a merge mode and a non-merge mode depending on whether or not the merge method is used. The non-merging mode is a mode for actually detecting a motion vector such as block matching, which can be called a motion detection mode. The merge mode is further divided into a skip mode and a non-skip mode. In the skip mode, the predicted image signal predicted by the coding information of the reference adjacent block is used as a decoded image, so that the image residual signal is zero. Therefore, the skip mode is a mode that does not require encoded transmission and encodes and transmits only an index representing a reference destination of encoded information. The coding information in the skip mode is the same as that in the merge mode, and here, the case where the image residual signal is encoded and transmitted is limited to the merge mode. FIG. 3B shows a table in which signals to be encoded in the Inter mode are classified. Unlike the other modes, the skip mode does not require coded transmission of an image residual signal. Therefore, the skip mode is determined before the determination in the order of branching of the prediction mode in FIG. This can reduce the code amount of the flag used for mode determination.
上述した図6はスライスの中の予測ブロック単位に記述されるシンタックスパターンを示す。まず、skipモードか否かを示すフラグskip_flagが設置される。skip_flagが真(1)で、更に参照隣接ブロックの候補の総数NumMergeCandが1つを超える場合、skipモードが適用され、符号化情報を参照隣接ブロックの候補リストであるマージリストのインデックスのシンタックス要素merge_idxが設置される。NumMergeCandが1の場合は、その1つが参照隣接ブロックとなるので、merge_idxを伝送せずとも参照隣接ブロックの候補が確定する。 FIG. 6 described above shows a syntax pattern described in units of prediction blocks in a slice. First, a flag skip_flag indicating whether or not the skip mode is set. When skip_flag is true (1) and the total number of reference adjacent blocks NumMergeCand exceeds 1, skip mode is applied, and the syntax element of the index of the merge list that is the candidate list of reference adjacent blocks is applied to the coding information. merge_idx is installed. When NumMergeCand is 1, one of them is a reference adjacent block, so that a reference adjacent block candidate is determined without transmitting merge_idx.
次に、予測ブロックの予測モードが画像間予測(Interモード)の場合、マージモードか否かを示すフラグmerge_flagが設置される。merge_flagが真(1)で、更に参照隣接ブロックの候補の総数NumMergeCandが1つを超える場合、マージモードが適用され、符号化情報を参照隣接ブロックの候補リストであるマージリストのインデックスのシンタックス要素merge_idxが設置される。NumMergeCandが1の場合は、その1つが参照隣接ブロックとなるので、merge_idxを伝送せずとも参照隣接ブロックの候補が確定する。 Next, when the prediction mode of the prediction block is inter-picture prediction (Inter mode), a flag merge_flag indicating whether or not the mode is the merge mode is set. When merge_flag is true (1) and the total number of reference adjacent block candidates NumMergeCand exceeds 1, merge mode is applied, and the syntax information of the index of the merge list that is the candidate list of reference adjacent blocks is encoded information. merge_idx is installed. When NumMergeCand is 1, one of them is a reference adjacent block, so that a reference adjacent block candidate is determined without transmitting merge_idx.
merge_flagが偽(0)の場合、マージモードを適用せず、通常の動きベクトル検出を行い、動きベクトルや参照ピクチャ番号等の符号化情報を伝送する(動き検出モードに該当する)。予測ブロック毎に、予測ブロックの属するスライスのスライスタイプにより、符号化及び復号の際に使用する参照リストを選択する。スライスタイプslice_typeが“B”の場合、片方向予測或いは双予測を示すフラグinter_pred_flagを設定する。 When merge_flag is false (0), the merge mode is not applied, normal motion vector detection is performed, and encoded information such as a motion vector and a reference picture number is transmitted (corresponding to the motion detection mode). For each prediction block, a reference list used for encoding and decoding is selected according to the slice type of the slice to which the prediction block belongs. When the slice type slice_type is “B”, a flag inter_pred_flag indicating unidirectional prediction or bi-prediction is set.
inter_pred_flagはPred_L0(L0予測)、Pred_L1(L1予測)或いはPred_BI(双予測)に設定する。inter_pred_flagに基づいて、参照リストLX(X=0或いは1)を設定する。設定された参照リストごとに動きベクトル検出にて求められた、参照ピクチャ番号を表すシンタックス要素ref_idx_lX、及び動きベクトルと予測ブロックの周囲の隣接ブロックの予測動きベクトルとの差分動きベクトルのシンタックス要素mvd_lX[i]が設置される。ここで、Xは0或いは1で参照リストを示し、iは差分動きベクトルの成分を表し、i=0はx成分を、i=1はy成分を表す。 inter_pred_flag is set to Pred_L0 (L0 prediction), Pred_L1 (L1 prediction) or Pred_BI (bi-prediction). Based on inter_pred_flag, a reference list LX (X = 0 or 1) is set. A syntax element ref_idx_lX representing a reference picture number obtained by motion vector detection for each set reference list, and a differential motion vector syntax element between the motion vector and a prediction motion vector of a neighboring block around the prediction block mvd_lX [i] is installed. Here, X represents a reference list with 0 or 1, i represents a differential motion vector component, i = 0 represents an x component, and i = 1 represents a y component.
次に、予測動きベクトルの候補の総数NumMvpCand(LX)が1つを超える場合に、参照する予測動きベクトルの候補リストであるMVPリストのインデックスのシンタックス要素mvp_idx_lXが設置される。NumMvpCand(LX)は、参照リストLX(Xは0或いは1)で予測ブロックの予測動きベクトルの候補の総数を算出する関数を表す。また、動きベクトルの予測方法により予測動きベクトルの候補の総数NumMvpCand(LX)が1つの場合に、インデックスmvp_idx_lXは設置されす、符号化されない。予測動きベクトルの候補の総数が1つであれば、その1つが予測動きベクトルとなるので、mvp_idx_lXを伝送せずとも参照する予測動きベクトルの候補が確定する為である。以上のシンタックスに基づいて、動画像のビットストリームの符号化及び復号が可能となる。 Next, when the total number NumMvpCand (LX) of motion vector predictor candidates exceeds 1, a syntax element mvp_idx_lX of an index of an MVP list that is a motion vector candidate list to be referred to is set. NumMvpCand (LX) represents a function for calculating the total number of motion vector predictor candidates of the prediction block in the reference list LX (X is 0 or 1). Also, when the total number of predicted motion vector candidates NumMvpCand (LX) is one by the motion vector prediction method, the index mvp_idx_lX is set and is not encoded. This is because if the total number of motion vector predictor candidates is one, one of the motion vector predictors is a motion vector predictor, and therefore the motion vector predictor candidate to be referred to is determined without transmitting mvp_idx_lX. Based on the above syntax, it is possible to encode and decode a bit stream of a moving image.
次に、動き検出モードにおける参照する予測動きベクトルを備える周囲の隣接ブロック、或いはマージモードにおける符号化情報の参照先となる周囲の隣接ブロックの配置の一例を図9(a)、(b)に示す。図9(a)、(b)では、処理対象となる予測ブロックに対して、隣接するブロックを最小予測ブロックで表している。 Next, FIG. 9A and FIG. 9B show an example of the arrangement of surrounding neighboring blocks having a predicted motion vector to be referred to in the motion detection mode or surrounding neighboring blocks serving as a reference destination of the encoded information in the merge mode. Show. In FIGS. 9A and 9B, adjacent blocks are represented by minimum prediction blocks with respect to the prediction block to be processed.
この構成は、符号化情報格納メモリ114、210に記録された既に符号化済みの符号化情報に対して、処理対象の予測ブロックの位置と大きさ(ブロックの幅及び高さ)に基づいてアクセスする場合に都合が良い。図9(a)、(b)で示される周囲の隣接ブロックについて、処理対象の予測ブロックの左側に隣接するブロックを記号“A”で表し、上側に隣接するブロックを“B”で表す。添え字の数字は位置を表す。
This configuration accesses already encoded information recorded in the encoded
ブロック“T”は時間が異なる別のピクチャの同一位置に隣接するブロックの一例である。本発明の実施例では処理対象の予測ブロックに対して別ピクチャの右下に設定することとする。尚、処理対象の予測ブロックの位置によって、ブロックTがピクチャ外となる場合は、処理対象の予測ブロックに対して別ピクチャの中央付近の最小予測ブロックの位置とする。図9(a)は同一ピクチャ上の空間にある隣接ブロックで、5つの候補とし、時間が異なる別ピクチャにある候補と合わせて6つの候補から構成される。図9(b)は同一ピクチャ上の空間にある隣接ブロックで、4つの候補とし、時間が異なる別ピクチャにある候補と合わせて5つの候補から構成される。 The block “T” is an example of a block adjacent to the same position of another picture having a different time. In the embodiment of the present invention, the prediction block to be processed is set at the lower right of another picture. If the block T is outside the picture depending on the position of the prediction block to be processed, the position of the minimum prediction block near the center of another picture is set with respect to the prediction block to be processed. FIG. 9A shows adjacent blocks in a space on the same picture, which are five candidates, and are composed of six candidates, including candidates in different pictures with different times. FIG. 9B is an adjacent block in the space on the same picture, and is composed of five candidates, including four candidates and candidates in different pictures with different times.
図1のように隣接する全てのブロックを候補としてもよいが、例えば、処理対象の予測ブロックのサイズが64×64画素で、符号化情報格納メモリ114、210に符号化情報が記憶されるブロックのサイズを4×4画素とすると、処理対象の予測ブロックに隣接するブロックは左側で16個、上側で16個、更にコーナーで3個のブロックが参照先となる隣接ブロックとなる。ハードウェアで実装する場合、想定出来得る最大のメモリアクセス回数、メモリ量、及び処理量(処理時間)を考慮する必要がある。
Although all adjacent blocks may be candidates as shown in FIG. 1, for example, the size of the prediction block to be processed is 64 × 64 pixels, and the encoded information is stored in the encoded
本発明の実施例においては、図9(a)に示すように、左側に隣接するブロック、上側に隣接するブロックをそれぞれ1つに限定することにより参照する候補を絞り、左斜め下側、右斜め上側及び左斜め上側に隣接するブロックを候補として加えている。また、図9(b)では、左側に隣接するブロック、上側に隣接するブロックをそれぞれ図9(a)とは異なる1つに限定することにより参照する候補を絞り、左斜め下側及び右斜め上側に隣接するブロックを候補としている。 In the embodiment of the present invention, as shown in FIG. 9A, the candidates to be referred to are narrowed down by limiting the number of blocks adjacent to the left side and the block adjacent to the upper side to one, the diagonally lower left side, the right side. Blocks adjacent to the diagonally upper side and the diagonally left upper side are added as candidates. Further, in FIG. 9B, candidates to be referred to are narrowed down by limiting the blocks adjacent on the left side and the blocks adjacent on the upper side to one different from that in FIG. The upper adjacent block is a candidate.
このように、予め候補を限定することで、本発明の実施例では符号化効率を殆ど低下させることなく、メモリアクセス回数、メモリ量、及び処理量(処理時間)を削減する効果がある。また、後述する実施例3以降ではメモリアクセス回数、メモリ量、及び処理量(処理時間)を削減することが出来る上に、マージインデックス、MVPインデックスの符号量を削減することが出来るので、発生符号量を削減する効果もある。また、本発明の実施例ではマージモードと動き検出モードでは、候補の位置を共通化することにより、更なるメモリアクセス回数、メモリ量、及び処理量(処理時間)の削減を図っている。
Thus, by limiting candidates in advance, the embodiment of the present invention has an effect of reducing the number of memory accesses, the amount of memory, and the amount of processing (processing time) without substantially reducing the coding efficiency. Further, in
以下では、図9(a)の配置例を使用して説明を行うものとする。図9(b)の配置例を使用する場合は、以下の説明においてC0を省略することで、図9(a)の配置例と同様の処理を行うことができる。尚、参照隣接ブロックの配置は、動画像符号化装置100及び動画像復号装置200にて矛盾が生じない限り、どのような構成をとってもよい。また、参照隣接ブロックの符号化情報は、動画像符号化装置100で既に符号化済み、動画像復号装置200で既に復号済みの情報とし、符号化情報格納メモリ114、210に記憶出来る限り、どのような情報でも良いこととする。
Hereinafter, description will be made using the arrangement example of FIG. When the arrangement example in FIG. 9B is used, the same processing as in the arrangement example in FIG. 9A can be performed by omitting C0 in the following description. The arrangement of the reference adjacent blocks may take any configuration as long as no contradiction occurs between the
図10は、動画像符号化装置100の構成を示す図2及び動画像復号装置200の構成を示す図4の中に設置される実施例1のインター予測情報検出部104、205の詳細を示すものである。図10中の太点線で囲まれる部分はインター予測情報検出部104、205を示しており、この図を用いて説明する。インター予測情報検出部104、205は、処理対象ブロック位置検出部301、隣接ブロック指定部302及び一時メモリ303を含む。マージモードと動き検出モードの両方のモードで、候補の位置を図9(a)の配置に共通化し、図9(a)の配置の隣接ブロックの符号化情報を符号化情報格納メモリ114、210から取得する手順を説明する。
FIG. 10 shows details of the inter prediction
最初に、処理対象の予測ブロックのピクチャ内での位置とサイズの情報が処理対象ブロック位置検出部301に入力される。処理対象の予測ブロックの位置は、ピクチャの左上の画素を原点とし、処理対象の予測ブロックの左上の画素までの水平及び垂直方向の画素単位の距離で表される。更に、処理対象の符号化ブロックの分割モードを表すPartModeと符号化ブロックが再帰的に分割された回数により、処理対象の予測ブロックの幅と高さが算出され、処理対象の予測ブロックが参照する参照隣接ブロックの位置が算出される。
First, information on the position and size of the prediction block to be processed in the picture is input to the processing block
算出された隣接ブロックの位置に基づいて、隣接ブロック指定部302は符号化情報格納メモリ114、210にアクセスして、その中から図9(a)に示される隣接ブロックの位置に該当する符号化情報を一時メモリ303に読み込む。一時メモリ303は、インター予測情報検出部104、205内部に設けられ、処理対象の予測ブロックが参照する参照隣接ブロックの符号化情報を記憶するメモリである。ここで、算出された隣接ブロックの位置が画面外となる場合は、当該隣接ブロックは存在しないので、“0”を一時メモリ303に記録することとする。
Based on the calculated position of the adjacent block, the adjacent
以上のように、マージモードと動き検出モードの両方のモードで候補の位置を共通化することで、符号化側では隣接ブロックの符号化情報の一時メモリ303への格納処理量が削減される。また、予測モード毎に予測方法を変更して、その度に必要な隣接ブロックの符号化情報を取得する為に、符号化情報格納メモリ114にアクセスする必要が無くなる。一方、復号側ではマージモードと動き検出モードの判別を行う前に、隣接ブロックの符号化情報の一時メモリ303への格納処理を開始することが可能となるので、復号処理の速度を向上することが出来る。
As described above, by sharing the candidate position in both the merge mode and the motion detection mode, the amount of processing for storing the encoded information of the adjacent block in the
本発明の実施例に係る符号化情報の選出方法を備える動画像符号化装置100及び動画像復号装置200では、処理対象の予測ブロックの動きベクトルや参照ピクチャ番号等の符号化情報をそのまま符号化するのではなく、符号化情報格納メモリ114、210に格納された、既に符号化/復号済みの周囲の隣接ブロックの符号化情報を参照、利用する。そして、参照隣接ブロックの位置を示すインデックスや動きベクトルを予測する予測動きベクトルのインデックスを符号化することで、符号化情報にかかる符号量の削減が実現される。以下では、インター予測情報検出部104、205により取得された隣接ブロックの符号化情報から、符号化過程で参照隣接ブロックの位置を示すインデックスや動きベクトルを予測する予測動きベクトルのインデックスを導出する手法と、符号化過程に対応する復号過程で復号された参照隣接ブロックの位置を示すインデックスや動きベクトルを予測する予測動きベクトルのインデックスに基づいて、符号化情報を取得する手法の具体的な実施例を示すこととする。
In the moving
(実施例1)
まず、動画像符号化装置100の構成を示す図2の中に設置される実施例1のマージ検出部106について説明する。図11はマージ検出部106の詳細な構成を示すものである。図11中の太点線で囲まれる部分はマージ検出部106を示しており、この図を用いて説明する。マージ検出部106は、符号化情報導出部310、参照候補リスト作成部311、同一情報検出部312、出力部313及び参照候補リスト格納メモリ314を含む。
(Example 1)
First, the
最初に、スイッチ108に入力される動画像符号化装置100により制御される予測モードにより、インター予測情報検出部104の出力先がマージ検出部106に切り換えられる。インター予測情報検出部104の内部の一時メモリ303に記憶された処理対象の予測ブロックが参照する参照隣接ブロックの符号化情報が符号化情報導出部310に入力される。
First, the output destination of the inter prediction
符号化情報導出部310の動作を図12のフローチャートを用いて説明する。最初に入力された隣接ブロックの中から処理対象の予測ブロックと同じピクチャにある隣接ブロックの符号化情報が有効か否かを判定し、導出する(S100)。
The operation of the encoded
図13に処理対象の予測ブロックと同じピクチャにある隣接ブロック毎の判定処理の詳細な流れを示す。まず、変数Nを初期化する(S200)。変数Nには図9(a)に示される同一のピクチャ上にある隣接ブロックA1,B1,B0,A0,C0が設定される。ここで、初期化時にはN=A1に設定することとし、変数Nの更新はB1,B0,A0,C0の順で行うこととする。 FIG. 13 shows a detailed flow of determination processing for each adjacent block in the same picture as the prediction block to be processed. First, the variable N is initialized (S200). In the variable N, adjacent blocks A1, B1, B0, A0, C0 on the same picture shown in FIG. 9A are set. Here, N = A1 is set at the time of initialization, and the variable N is updated in the order of B1, B0, A0, C0.
次に、以降の判定で使用する隣接ブロックの符号化情報を格納しておく変数を初期化する。ここで、変数は隣接ブロックが有効か否かを示すフラグavailableFlagN、動きベクトルmvLXN、参照ピクチャ番号refIdxLXN及び参照リストの有効性を示すフラグpredFlagLXNであり、次のように初期化される(S201)。
availableFlagN=0
mvLXN=(0,0)
refIdxLXN=0
predFlagLXN=0
ここで、添え字Xには参照リストを表す0若しくは1が設定される。変数Nの隣接ブロック(以下、隣接ブロックNとする)の位置及び符号化情報を取得する(S202)。
Next, a variable for storing coding information of adjacent blocks used in the subsequent determination is initialized. Here, the variables are a flag availableFlagN indicating whether the adjacent block is valid, a motion vector mvLXN, a reference picture number refIdxLXN, and a flag predFlagLXN indicating the validity of the reference list, and are initialized as follows (S201).
availableFlagN = 0
mvLXN = (0,0)
refIdxLXN = 0
predFlagLXN = 0
Here, the subscript X is set to 0 or 1 representing the reference list. The position of the adjacent block of variable N (hereinafter referred to as adjacent block N) and encoding information are acquired (S202).
取得された隣接ブロックNの位置に基づいて、隣接ブロックNが有効か否かを判定する(S203)。例えば、処理対象の予測ブロックがピクチャ左端に位置する場合、処理対象の予測ブロックの左の隣接ブロックは存在しないので、符号化情報格納メモリ114の中に該当する符号化情報は無いことになり、無効と判定される。隣接ブロックNが無効の場合(S203のN)、availableFlagNを“0”に設定する(S207)。隣接ブロックNが有効の場合(S203のY)、隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定する(S204)。
Based on the acquired position of the adjacent block N, it is determined whether the adjacent block N is valid (S203). For example, when the prediction block to be processed is located at the left end of the picture, there is no adjacent block to the left of the prediction block to be processed, so there is no corresponding encoding information in the encoding
隣接ブロックNの予測モードがIntraモードの場合(S204のY)、availableFlagNを“0”に設定する(S207)。隣接ブロックNの予測モードがIntraモードでない場合(S204のN)、availableFlagNを“1”に設定する(S205)。続いて、隣接ブロックNの符号化情報を、refIdxLXN、mvLXN及びpredFlagLXNに代入して設定する(S206)。 When the prediction mode of the adjacent block N is Intra mode (Y in S204), availableFlagN is set to “0” (S207). When the prediction mode of the adjacent block N is not Intra mode (N in S204), availableFlagN is set to “1” (S205). Subsequently, the coding information of the adjacent block N is set by substituting it into refIdxLXN, mvLXN, and predFlagLXN (S206).
以上のようにして、隣接ブロックNに対する判定処理が終了すると、変数Nが隣接ブロックの最後か否かの判定を実施する(S208)。変数Nの更新はA1,B1,B0,A0,C0の順に行われるので、ここではNがC0か否かの判定を行う。NがC0であれば(S208のY)、全ての隣接ブロックに対して判定をしたことになり、処理を終了する。NがC0でない場合(S208のN)、Nの更新を行う(S209)。上述した隣接ブロックの順番にNを更新して、ステップS201以降の処理を隣接ブロックNについて繰り返す。以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在する周囲の隣接ブロックを参照ブロックとして、その符号化情報が導出される。 When the determination process for the adjacent block N is completed as described above, it is determined whether or not the variable N is the last of the adjacent blocks (S208). Since the variable N is updated in the order of A1, B1, B0, A0, and C0, it is determined here whether N is C0 or not. If N is C0 (Y in S208), it means that all adjacent blocks have been determined, and the process ends. If N is not C0 (N in S208), N is updated (S209). N is updated in the order of the above-mentioned adjacent blocks, and the processing after step S201 is repeated for the adjacent block N. As described above, the encoding information is derived using the neighboring neighboring blocks existing on the same picture as the prediction block to be processed as the reference block.
続いて、図12に戻り、時間が異なる別のピクチャをマージ候補とする場合の処理対象の予測ブロックの参照ピクチャ番号を決定する(S101)。この処理は、次に説明する、時間が異なる別のピクチャの同一位置に隣接するブロックの動きベクトルを参照して処理対象の予測ブロックがインター予測する際の参照ピクチャを決定する為に行われる。その際、既に符号化済みの隣接ブロックの符号化情報から処理対象の予測ブロックが参照するピクチャの参照ピクチャ番号を決定する。ここでは、前の処理(S100)にて導出された同一のピクチャ上の隣接ブロックの符号化情報に基づく手法を図14を用いて説明する。 Subsequently, returning to FIG. 12, the reference picture number of the prediction block to be processed when another picture having a different time is set as a merge candidate is determined (S101). This process is performed in order to determine a reference picture used when the prediction block to be processed is inter-predicted by referring to the motion vector of a block adjacent to the same position of another picture having a different time, which will be described next. At this time, the reference picture number of the picture referred to by the prediction block to be processed is determined from the coding information of the already-encoded adjacent block. Here, a method based on coding information of adjacent blocks on the same picture derived in the previous process (S100) will be described with reference to FIG.
まず、ステップS100により導出された4つの隣接ブロックを3つのグループに分類する。グループとしては、処理対象の予測ブロックの左辺に接する隣接ブロックをグループA、上辺に接する隣接ブロックをグループB、及びコーナーで接する隣接ブロックをグループCとして、それぞれのグループで判定を行う。 First, the four adjacent blocks derived in step S100 are classified into three groups. As a group, an adjacent block in contact with the left side of the prediction block to be processed is group A, an adjacent block in contact with the upper side is group B, and an adjacent block in contact with a corner is group C.
まず、グループAについて図14(a)を用いて説明する。グループAに属する隣接ブロックはA1であるので、ステップS100でのA1が有効か否かを示すフラグavailableFlagA1を調べる(S300)。availableFlagA1が1であれば(S300のY)、グループAの参照ピクチャ番号refIdxLXAをA1の参照ピクチャ番号に設定する。そうでなければ(S300のN)、refIdxLXAを参照ピクチャ番号が無いことを示す−1に設定する。 First, the group A will be described with reference to FIG. Since the adjacent block belonging to the group A is A1, the flag availableFlagA1 indicating whether or not A1 in step S100 is valid is checked (S300). If availableFlagA1 is 1 (Y in S300), the group A reference picture number refIdxLXA is set to the reference picture number of A1. Otherwise (N in S300), refIdxLXA is set to -1 indicating that there is no reference picture number.
同様にして、グループBについて図14(b)を用いて説明する。グループBに属する隣接ブロックはB1であるので、ステップS100でのB1が有効か否かを示すフラグavailableFlagB1を調べる(S301)。availableFlagB1が1であれば(S301のY)、グループBの参照ピクチャ番号refIdxLXBをB1の参照ピクチャ番号に設定する。そうでなければ(S301のN)、refIdxLXBを−1に設定する。 Similarly, the group B will be described with reference to FIG. Since the adjacent block belonging to the group B is B1, the flag availableFlagB1 indicating whether or not B1 in step S100 is valid is checked (S301). If availableFlagB1 is 1 (Y in S301), the group B reference picture number refIdxLXB is set to the reference picture number of B1. Otherwise (N in S301), refIdxLXB is set to -1.
グループCに属する隣接ブロックはA0、B0とC0であり、図14(c)に示されるように、B0、A0、C0の順に判定を行う。A1、B1と同様にB0のフラグavailableFlagB0を調べる(S302)。availableFlagB0が1であれば(S302のY)、グループCの参照ピクチャ番号refIdxLXCをB0の参照ピクチャ番号に設定し、そうでなければ(S302のN)、A0のフラグavailableFlagA0を調べる(S303)。availableFlagA0が1であれば(S303のY)、グループCの参照ピクチャ番号refIdxLXCをA0の参照ピクチャ番号に設定する。そうでなければ(S303のN)、C0のフラグavailableFlagC0を調べる(S304)。availableFlagC0が1であれば(S304のY)、グループCの参照ピクチャ番号refIdxLXCをC0の参照ピクチャ番号に設定する。そうでなければ(S304のN)、refIdxLXCを−1に設定する。 The adjacent blocks belonging to group C are A0, B0, and C0, and determination is performed in the order of B0, A0, and C0 as shown in FIG. Similar to A1 and B1, the flag availableFlagB0 of B0 is examined (S302). If availableFlagB0 is 1 (Y in S302), the reference picture number refIdxLXC of group C is set to the reference picture number of B0, otherwise (N in S302), the flag availableFlagA0 of A0 is examined (S303). If availableFlagA0 is 1 (Y in S303), the reference picture number refIdxLXC of group C is set to the reference picture number of A0. Otherwise (N in S303), the C0 flag availableFlagC0 is checked (S304). If availableFlagC0 is 1 (Y in S304), the reference picture number refIdxLXC of group C is set to the reference picture number of C0. Otherwise (N in S304), refIdxLXC is set to -1.
尚、図9(b)に示される同一のピクチャ上にある隣接ブロックのように、C0の位置のブロックが無い場合は、B0とA0の2つの隣接ブロックに対して判定を行うこととする。こうして導出された各グループの参照ピクチャ番号refIdxLXN(NはA,B或いはC)の多数決或いは最小値を選択することで時間が異なる別のピクチャの同一位置に隣接するブロックの参照ピクチャ番号を決定する。 Note that, when there is no block at the position of C0 as in the adjacent block on the same picture shown in FIG. 9B, the determination is made for the two adjacent blocks of B0 and A0. By selecting the majority or minimum value of the reference picture numbers refIdxLXN (N is A, B or C) of each group derived in this way, the reference picture numbers of blocks adjacent to the same position of another picture having different times are determined. .
図15に参照ピクチャ番号refIdxLXNに基づく判定を示す。図15の上から順に説明する。1〜4行目はrefIdxLXNに同じ値が存在する場合であり、多数決により選択する。1行目はrefIdxLXNが全て同じ場合であり、−1であれば0を、そうでなければrefIdxLXAの値とする。2〜4行目は3つのrefIdxLXNのうち2つが同じ場合であり、2つが同じ場合の値が−1なら残りの1つのrefIdxLXNの値を、そうでなければ2つが同じ場合の値とする。 FIG. 15 shows determination based on the reference picture number refIdxLXN. Description will be made in order from the top of FIG. The first to fourth lines are cases where the same value exists in refIdxLXN, and is selected by majority vote. The first line is the case where refIdxLXN is all the same. If it is -1, 0 is set, otherwise refIdxLXA is set. The 2nd to 4th lines are cases where two of the three refIdxLXNs are the same. If the value when the two are the same is -1, the value of the remaining one refIdxLXN is the value when the other two are the same.
5〜8行目はrefIdxLXNに同じ値が存在しない場合であり、その中から最小値を選択する。3つの中から−1となっているrefIdxLXNを除き、最小の参照ピクチャ番号の値を選択する。以上のようにして、処理対象の予測ブロックの参照ピクチャ番号が決定されるが、この手法以外の手法を用いても構わない。 The fifth to eighth lines are cases where the same value does not exist in refIdxLXN, and the minimum value is selected from them. The value of the smallest reference picture number is selected except for refIdxLXN, which is -1 among the three. As described above, the reference picture number of the prediction block to be processed is determined, but methods other than this method may be used.
図12に戻り、次に、時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報が有効か否かを判定し、導出する(S102)。図16に処理対象の予測ブロックと別のピクチャにある隣接ブロックの判定処理の詳細な流れを示す。最初に処理対象の予測ブロックを含むピクチャとは時間が異なる別のピクチャを指定する(S400)。処理対象の予測ブロックを含むスライスがPスライスの場合、L0予測のみ使用出来るので、L0の参照リストの中の参照ピクチャ番号0で示されるピクチャを指定する。Bスライスの場合、L0予測、L1予測の一方及びL0,L1の双予測が使用可能であるが、L0或いはL1のどちらか一方の参照リストの参照ピクチャ番号0で示されるピクチャを指定する。ここでは、Bスライスの場合の時間が異なる別のピクチャの指定について言及しないが、例えばスライスヘッダー内に、Bスライスの場合にどちらの参照リストを参照するかを予め決めておくパラメータを挿入する等の手法も考えられる。
Returning to FIG. 12, next, it is determined whether or not the coding information of the block adjacent to the same position of another picture having a different time is valid (S102). FIG. 16 shows a detailed flow of determination processing for adjacent blocks in a different picture from the prediction block to be processed. First, another picture having a different time from the picture including the prediction block to be processed is designated (S400). When the slice including the prediction block to be processed is a P slice, only the L0 prediction can be used, so the picture indicated by the
続いて、参照する時間が異なる別のピクチャの同一位置に隣接するブロックの位置を指定する(S401)。実施例1では、図9(a)で示される参照隣接ブロック“T”を時間が異なる別のピクチャの同一位置に隣接するブロックとしているので、処理対象の予測ブロックの位置と分割モードを表すPartModeと分割回数により、処理対象の予測ブロックの幅と高さが算出され、隣接ブロック“T”の位置が算出される。算出された隣接ブロックの位置がピクチャ外となる場合は、時間が異なる別のピクチャにおいて、処理対象の予測ブロックと同一位置の中央付近の位置とする。以下の説明では、時間が異なる別のピクチャをcolピクチャ、そのピクチャの処理対象のブロックの同一位置に隣接するブロックをcolブロックとし、その動きベクトルや参照ピクチャ番号には添え字として“Col”を付けて表すこととする。 Subsequently, the position of a block adjacent to the same position of another picture with a different reference time is designated (S401). In the first embodiment, since the reference adjacent block “T” shown in FIG. 9A is a block adjacent to the same position of another picture having a different time, PartMode representing the position and division mode of the prediction block to be processed. Based on the number of divisions, the width and height of the prediction block to be processed are calculated, and the position of the adjacent block “T” is calculated. When the calculated position of the adjacent block is outside the picture, it is set to a position near the center of the same position as the prediction block to be processed in another picture having a different time. In the following description, another picture having a different time is referred to as a col picture, a block adjacent to the same position of a block to be processed of the picture is referred to as a col block, and “Col” is added as a subscript to the motion vector or reference picture number. It shall be expressed with an addition.
colピクチャとその中の処理対象の予測ブロックと同一位置に隣接するブロックcolブロックの位置に基づいて、colブロックの符号化情報を符号化情報格納メモリ114にアクセスして読み込み、符号化情報が有効か否かを判定し、動きベクトルを導出する(S402)。
Based on the position of the col picture and the block col block adjacent to the same position as the prediction block to be processed in the col picture, the encoded information of the col block is read by accessing the encoded
図17はそれらの導出の詳細な処理を示し、この図を用いて説明する。符号化情報格納メモリ114から読み込まれたcolブロックの符号化情報と位置からcolブロックが有効か否かを判定する(S500)。colブロックが存在しない、或いはcolブロックの予測モードがIntraの場合(S500のY)、colブロックの基準動きベクトルmvColを(0,0)、基準有効フラグavailableFlagColを0に設定し(S501)、ステップS509に進む。そうでない場合(S500のN)、colブロックのL0参照リストの有効性を示すフラグpredFlagL0の判定に進む(S502)。 FIG. 17 shows the detailed processing of those derivations and will be described with reference to this figure. It is determined whether or not the col block is valid from the coding information and position of the col block read from the coding information storage memory 114 (S500). If the col block does not exist or the prediction mode of the col block is Intra (Y in S500), the reference motion vector mvCol of the col block is set to (0, 0), the reference valid flag availableFlagCol is set to 0 (S501), step The process proceeds to S509. If not (N in S500), the process proceeds to determination of the flag predFlagL0 indicating the validity of the L0 reference list of the col block (S502).
predFlagL0が0の場合(S502のY)、L0予測が無効なので、L1予測の符号化情報を選択し、mvColをmvL1、基準参照ピクチャ番号refIdxColをrefIdxL1に設定し(S503)、ステップS507に進む。そうでない場合(S502のN)、即ちL0予測が有効な場合、colブロックのL1参照リストの有効性を示すフラグpredFlagL1の判定に進む(S504)。 When predFlagL0 is 0 (Y in S502), since L0 prediction is invalid, encoding information for L1 prediction is selected, mvCol is set to mvL1, reference reference picture number refIdxCol is set to refIdxL1 (S503), and the process proceeds to step S507. If not (N in S502), that is, if the L0 prediction is valid, the process proceeds to the determination of the flag predFlagL1 indicating the validity of the L1 reference list of the col block (S504).
predFlagL1が0の場合(S504のY)、L1予測が無効なので、L0予測の符号化情報を選択し、mvColをmvL0、refIdxColをrefIdxL0に設定し(S505)、ステップS507に進む。そうでない場合(S504のN)、即ちL0及びL1予測とも有効な場合、Pred_BIモードの場合の導出に進む(S506)。Pred_BIモードの場合の導出では、L0予測或いはL1予測のどちらか一方を選択する。 When predFlagL1 is 0 (Y in S504), since L1 prediction is invalid, encoding information for L0 prediction is selected, mvCol is set to mvL0, refIdxCol is set to refIdxL0 (S505), and the process proceeds to step S507. If not (N in S504), that is, if both the L0 and L1 predictions are valid, the process proceeds to derivation in the case of the Pred_BI mode (S506). In derivation in the case of the Pred_BI mode, either L0 prediction or L1 prediction is selected.
選択方法は、例えばステップS500にて選択したcolピクチャと同じ参照リストを選択する、colブロックのL0予測、L1予測のそれぞれの参照ピクチャでcolピクチャとの画像間距離が近い方を選択する、或いはcolブロックのL0予測、L1予測のそれぞれの動きベクトルが処理対象のピクチャと交差する方を選択する等が挙げられる。 The selection method is, for example, selecting the same reference list as the col picture selected in step S500, selecting the reference picture of the col block L0 prediction and L1 prediction that has a shorter inter-image distance from the col picture, or For example, it is possible to select a direction in which the motion vectors of L0 prediction and L1 prediction of the col block intersect with the processing target picture.
3つ目の判定基準の一例を図18に示す。この例では、処理対象のピクチャがcolブロックの動きベクトルと交差する場合、即ち、colピクチャの参照ピクチャ、処理対象のピクチャ、colピクチャの時間順に表示され、colブロックに相当するブロックは必ず処理対象のピクチャ内部に存在することになり、微小時間内で周辺領域の動きを評価する上では、交差する側の予測を選択する方が動きベクトル予測において近い値が得られる信頼性が高いことになる。その為、処理対象のピクチャと交差する動きベクトルの参照リスト側を選択し、mvCol及びrefIdxColを設定する。 An example of the third criterion is shown in FIG. In this example, when the picture to be processed intersects the motion vector of the col block, that is, the reference picture of the col picture, the picture to be processed, and the col picture are displayed in time order, and the block corresponding to the col block is always processed. When evaluating the motion of the surrounding area within a very short time, it is more reliable to select a crossing-side prediction to obtain a closer value in motion vector prediction. . Therefore, the reference list side of the motion vector that intersects with the picture to be processed is selected, and mvCol and refIdxCol are set.
図17に戻り、次に、動きベクトルが存在することから、基準有効フラグavailableFlagColを1に設定する(S507)。参照リストを示す変数Xを0に設定して(S508)、colブロックのL0及びL1予測の動きベクトルを導出する。上述の過程で求められた基準動きベクトルmvColと基準参照ピクチャ番号refIdxColから参照ピクチャの位置を指定し、colピクチャとの画像間距離colDistを算出する。 Returning to FIG. 17, next, since the motion vector exists, the reference valid flag availableFlagCol is set to 1 (S507). The variable X indicating the reference list is set to 0 (S508), and the motion vectors for L0 and L1 prediction of the col block are derived. The position of the reference picture is specified from the standard motion vector mvCol and the standard reference picture number refIdxCol obtained in the above process, and the inter-image distance colDist with the col picture is calculated.
一方、ステップS401にて決定された処理対象の予測ブロックの参照ピクチャ番号refIdxLXから参照ピクチャの位置を指定し、処理対象のピクチャとの画像間距離currDistを算出する。currDistとcolDistの比較を行う(S509)。currDistとcolDistが同じ場合(S509のOK)、基準動きベクトルmvColをそのままmvLXColとする(S510)。 On the other hand, the position of the reference picture is specified from the reference picture number refIdxLX of the processing target prediction block determined in step S401, and the inter-image distance currDist with the processing target picture is calculated. The currDist and the colDist are compared (S509). When currDist and colDist are the same (OK in S509), the reference motion vector mvCol is set as mvLXCol as it is (S510).
currDistとcolDistが異なる場合(S509のNG)、スケーリングによる距離換算を施す。スケーリングは隣接ブロックの参照するピクチャの画像間距離を、処理対象の予測ブロックが参照するピクチャとの画像間距離に合わせて、隣接ブロックの動きベクトルを距離換算して、処理対象の予測ブロックの動きベクトルとする処理である。図18にスケーリングの一例を示す。colピクチャ上のcolブロックと処理対象の予測ブロックのそれぞれ参照するピクチャとの画像間距離がcolDist、currDistであることから、colブロックの動きベクトルmvColを次式により処理対象の予測ブロックの画像間距離に合わせて、動きベクトルが算出される(S511)。
Xが1か否かを判定する(S512)。Xが1でない、即ち0の場合(S512のN)、L1予測の方向についても同様の手順で算出する。その為、Xを1に更新して(S513)、ステップS509以降を繰り返す。Xが1の場合(S512のY)、処理を終了する。 It is determined whether X is 1 (S512). When X is not 1, that is, 0 (N in S512), the L1 prediction direction is calculated in the same procedure. Therefore, X is updated to 1 (S513), and step S509 and subsequent steps are repeated. If X is 1 (Y in S512), the process ends.
こうして得られた隣接ブロックの符号化情報は参照候補リスト作成部311に入力される。実施例1では、参照候補リスト格納メモリ314に参照隣接ブロックの符号化情報の候補を登録する記憶領域として参照候補リストを設ける。そして、当該参照隣接ブロックの符号化情報の候補に優先順位をつけて、優先順位の高いものから参照候補リストに、当該参照隣接ブロックの符号化情報の候補を登録する。これにより、参照候補リストのインデックスmerge_idxの符号量を削減することが可能となる。
The encoding information of the adjacent blocks obtained in this way is input to the reference candidate
参照候補リスト中の各要素の位置の高い要素を参照候補リストの前方に配置することで、符号量を削減する。優先順位を示すインデックスmerge_idxは0から昇順に割り当てる。例えば、参照候補リストの要素が3個の場合、参照候補リストのインデックス0を“0”(2進数表記)、インデックス1を“10”(2進数表記)、インデックス2を“11”(2進数表記)とすることで、インデックス0を表す符号量が1ビットとなり、インデックス0に発生頻度が高いと考えられる要素を登録することで、符号量を削減する。
The code amount is reduced by arranging the element having a higher position of each element in the reference candidate list in front of the reference candidate list. An index merge_idx indicating priority is assigned in ascending order from 0. For example, when there are three elements in the reference candidate list,
参照候補リスト格納メモリ314に設けられる参照候補リストは、リスト構造を成し、参照候補リスト内部の所在を示すインデックスと、インデックスに対応する参照隣接ブロックの符号化情報の候補を要素として格納する配列領域が設けられる。この配列領域はcandListで表される。インデックスの数字は0から開始され、参照候補リストcandListの記憶領域に、参照隣接ブロックの符号化情報の候補が格納される。以降の処理では、参照候補リストcandListに登録されたインデックスiの符号化情報は、candList[i]で表すこととし、参照候補リストcandListとは配列表記をすることで区別することとする。尚、参照候補リストの記憶領域に格納される符号化情報は、特に断らない限り、参照隣接ブロックの位置名(A0,A1,B0,B1,C0,T)で表すこととする。
The reference candidate list provided in the reference candidate
参照候補リスト作成部311の動作を図19のフローチャートを用いて説明する。まず、変数Nと参照候補リストのインデックスkを初期化する(S600)。変数Nには図9(a)に示される隣接ブロックA1が初期設定され、kは0に設定される。インデックスkは参照候補リストの記憶領域に設定される符号化情報の候補の格納領域の優先順位を示す。
The operation of the reference candidate
次に、参照隣接ブロックNの有効フラグavailableFlagNの判定が行われる(S601)。availableFlagNが1の場合(S601のY)、隣接ブロックNの符号化情報を参照候補リストcandList[k]に登録し(S602)、kを更新する(S603)。availableFlagNが0の場合(S601のN)、参照候補リストには登録せず、次に進む。 Next, the valid flag availableFlagN of the reference adjacent block N is determined (S601). When availableFlagN is 1 (Y in S601), the encoding information of the adjacent block N is registered in the reference candidate list candList [k] (S602), and k is updated (S603). If availableFlagN is 0 (N in S601), it is not registered in the reference candidate list, and proceeds to the next.
隣接ブロックNが最後の参照ブロックか否かを判定する(S604)。最後のブロックである場合(S604のY)、インデックスの値を候補リスト総数NumListCandに設定した後(S605)、処理を終了する。最後のブロックで無い場合(S604のN)、変数Nを更新して(S606)、ステップS601以降の処理を繰り返す。 It is determined whether or not the adjacent block N is the last reference block (S604). If it is the last block (Y in S604), the index value is set to the total number of candidate lists NumListCand (S605), and the process ends. If it is not the last block (N in S604), the variable N is updated (S606), and the processes after step S601 are repeated.
ここで、変数Nを更新する隣接ブロックの順番が参照候補リストに格納する優先順位となっており、実施例1では、マージモードの場合、順番(A1,B1,B0,A0,C0,T)を設定することとする。優先順位の上位にあるものほど参照候補リストの前方に登録し、参照候補リスト中のマージ候補を特定するマージインデックスに短い符号長の符号が割り当てられる。 Here, the order of adjacent blocks in which the variable N is updated is the order of priority for storage in the reference candidate list. In the first embodiment, the order (A1, B1, B0, A0, C0, T) in the merge mode. Is set. A code having a shorter code length is assigned to a merge index for specifying a merge candidate in the reference candidate list as a higher priority is registered in front of the reference candidate list.
マージモードの場合は、処理対象の予測ブロックの辺と、符号化情報が最も等しい可能性が高いと考えられる処理対象の予測ブロックの辺とが接している隣接ブロックA1及びB1を優先して参照候補リストの前方に登録する。これにより、マージインデックスの符号量を削減し、符号化効率を向上させる。 In the merge mode, priority is given to adjacent blocks A1 and B1 in which the side of the prediction block to be processed is in contact with the side of the prediction block to be processed that is most likely to have the same encoding information. Register in front of the candidate list. This reduces the code amount of the merge index and improves the encoding efficiency.
以上の処理により、参照候補リストに登録された、参照隣接ブロックが全て有効であれば、図20に示される順番で参照候補リストが作成される。優先順位をインデックスとして、各符号語は参照候補リストの右列で表され、最大符号語長はNumListCand−1となる。図20の場合、NumListCandは6であり、符号語は最大5ビットで表される。参照隣接ブロックが1つだけ有効となる場合、最大符号語長は0となるので、インデックスは必要とせず、1つだけ有効と判定された隣接ブロックの符号化情報の候補が参照先として一意に決定されることになる。 With the above processing, if all the reference adjacent blocks registered in the reference candidate list are valid, the reference candidate list is created in the order shown in FIG. Using the priority as an index, each codeword is represented by the right column of the reference candidate list, and the maximum codeword length is NumListCand-1. In the case of FIG. 20, NumListCand is 6, and the code word is represented by a maximum of 5 bits. When only one reference adjacent block is valid, the maximum codeword length is 0. Therefore, no index is required, and the candidate of encoding information of the adjacent block determined to be valid is unique as a reference destination. Will be decided.
作成された参照候補リストは同一情報検出部312に入力される。同一情報検出部312では、参照候補リストの中に格納された符号化情報の候補を比較して、同じ符号化情報の候補が存在する場合、最も小さい参照候補リストのインデックスを持つ符号化情報の候補を除いて全て削除される。図21で示されるフローチャートを用いて動作を説明する。
The created reference candidate list is input to the same
まず、参照候補リストのインデックスを表す変数nとmをそれぞれ0と1に設定する(S700)。参照候補リストに格納されているインデックスnとmの符号化情報を比較する(S701)。ここで、比較する符号化情報は、予測モード、使用されている参照リスト、使用されている参照リスト毎の参照ピクチャ番号、及び使用されている参照リスト毎の動きベクトルである。不一致と判定された場合(S701のN)、ステップS704に進む。一致と判定された場合(S701のY)、nとmでインデックスの大きい方、即ちmが既に削除リストに記録されているか判定する(S702)。 First, variables n and m representing indexes of the reference candidate list are set to 0 and 1, respectively (S700). The encoded information of indexes n and m stored in the reference candidate list is compared (S701). Here, the encoding information to be compared is the prediction mode, the reference list being used, the reference picture number for each reference list being used, and the motion vector for each reference list being used. If it is determined that there is a mismatch (N in S701), the process proceeds to step S704. If it is determined that they match (Y in S701), it is determined whether n and m have the larger index, that is, whether m is already recorded in the deletion list (S702).
mが削除リストに既に記録されている場合(S702のY)、ステップS704に進む。未だ記録されていない場合(S702のN)、mを削除リストに記録する(S703)。削除リストは、同一情報検出部312内に設けられた一時記憶用のメモリである。
If m is already recorded in the deletion list (Y in S702), the process proceeds to step S704. If not recorded yet (N in S702), m is recorded in the deletion list (S703). The deletion list is a temporary storage memory provided in the same
次に、mに1を加算して、更新する(S704)。mと候補リスト総数NumListCandの比較を行う(S705)。mがNumListCandでない場合(S705のN)、ステップS701以降のインデックスnの符号化情報との比較を繰り返す。mがNumListCandになった場合(S705のY)はnに1を加算して、更新する(S706)。 Next, 1 is added to m and updated (S704). m is compared with the total number of candidate lists NumListCand (S705). When m is not NumListCand (N in S705), the comparison with the encoded information of the index n after step S701 is repeated. When m becomes NumListCand (Y in S705), 1 is added to n and updated (S706).
次に、nと(NumListCand−1)との比較を行う(S707)。nが(NumListCand−1)でない場合(S707のN)、mを(n+1)に設定して(S709)、ステップS701以降の符号化情報の比較を繰り返す。nが(NumListCand−1)になった場合(S707のY)、削除リストに記録されたインデックスに該当するリストの格納領域の符号化情報を削除して、インデックス0を基準に、インデックスが小さい候補の順で詰めていき、符号語と参照候補リストの総数NumListCandを更新して(S708)、終了する。
Next, n is compared with (NumListCand-1) (S707). When n is not (NumListCand-1) (N in S707), m is set to (n + 1) (S709), and the comparison of the encoded information after step S701 is repeated. When n becomes (NumListCand-1) (Y in S707), the encoded information in the storage area of the list corresponding to the index recorded in the deletion list is deleted, and the candidate with a small index with reference to
最後に、出力部313が作成された参照候補リストの中のインデックスと符号化情報を出力する。参照候補リストは、参照候補リストをマージリストとして、リストの中のインデックスをマージインデックスとして出力する。動画像符号化装置100では、動き補償予測部105と予測方法決定部107に出力される。
Finally, the
上述した動画像符号化装置100の中に設置される実施例1のマージ検出部106に対応する、動画像復号装置200の中に設置される実施例1のマージ判定部206について説明する。図22はマージ判定部206の詳細な構成を示すものである。図22中の太点線で囲まれる部分はマージ判定部206を示している。マージ判定部206は、符号化情報導出部310、参照候補リスト作成部311、同一情報検出部312、参照候補リスト格納メモリ314及び選択部を含む。
The
マージ判定部206は動画像符号化装置100のマージ検出部106と対応しており、内部の構成は選択部315と出力部313が異なるだけで、それ以外の符号化情報導出部310、参照候補リスト作成部311、同一情報検出部312及び参照候補リスト格納メモリ314は同一の機能を備える。従って、同一情報検出部312までの処理で符号化過程と同一の参照候補リストが作成されることになる。
The
以下では、作成された参照候補リストから、マージモードにおける参照隣接ブロックの符号化情報を取得する選択部315について説明する。選択部315は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択された符号化情報を動き補償予測部207に供給するとともに、符号化情報格納メモリ210に供給する。
Below, the
次に、動画像符号化装置100の構成を示す図2の中に設置される実施例1の動きベクトル予測部103について説明する。図23は動きベクトル予測部103の詳細な構成を示すものである。図23中の太点線で囲まれる部分は動きベクトル予測部103を示しており、この図を用いて説明する。動きベクトル予測部103は、符号化情報導出部320、参照候補リスト作成部321、同一情報検出部322、出力部323、参照候補リスト格納メモリ324及び差分動きベクトル算出部326を含む。
Next, the motion
インター予測情報検出部104の内部の一時メモリ303に記憶された処理対象の予測ブロックが参照する参照隣接ブロックの符号化情報が符号化情報導出部320に入力される。符号化情報導出部320の動作を図24のフローチャートを用いて説明する。
Coding information of the reference adjacent block that is referred to by the prediction block to be processed stored in the
最初に入力された隣接ブロックの中から処理対象の予測ブロックと同じピクチャにある隣接ブロックの符号化情報が有効か否かを判定し、導出する(S800)。図25に処理対象の予測ブロックと同じピクチャにある隣接ブロック毎の判定処理の詳細な流れを示す。尚、図25の判定処理はL0,L1のリスト毎に独立して行う。 It is determined whether or not the coding information of the neighboring block in the same picture as the processing target prediction block is valid from among the neighboring blocks input first (S800). FIG. 25 shows a detailed flow of determination processing for each adjacent block in the same picture as the prediction block to be processed. Note that the determination process of FIG. 25 is performed independently for each list of L0 and L1.
処理対象の予測ブロックの予測モードに応じて、片方向予測でL0予測の場合は参照リストL0に登録されている符号化情報だけを、片方向予測でL1予測の場合は参照リストL1に登録されている符号化情報だけを、双予測の場合は参照リストL0,L1に登録されているそれぞれの符号化情報の判定処理を行う。本明細書では、特に注釈をしない限り、動き検出モード時の判定処理は参照候補リストの一方をLXとして説明することとし、図で示す参照候補リストも1つだけ挙げることにする。 Depending on the prediction mode of the prediction block to be processed, only the coding information registered in the reference list L0 is registered in the case of L0 prediction in unidirectional prediction, and is registered in the reference list L1 in the case of L1 prediction by unidirectional prediction. In the case of bi-prediction, determination processing of each encoded information registered in the reference lists L0 and L1 is performed. In this specification, unless otherwise noted, the determination process in the motion detection mode will be described with one reference candidate list as LX, and only one reference candidate list shown in the figure will be given.
まず、変数Nを初期化する(S900)。変数Nには図9(a)に示される同一のピクチャ上にある隣接ブロックA1,B1,B0,A0,C0が設定される。ここで、初期化時にはN=A1に設定することとし、変数Nの更新はB1,B0,A0,C0の順で行うこととする。 First, the variable N is initialized (S900). In the variable N, adjacent blocks A1, B1, B0, A0, C0 on the same picture shown in FIG. 9A are set. Here, N = A1 is set at the time of initialization, and the variable N is updated in the order of B1, B0, A0, C0.
次に、以降の判定で使用する隣接ブロックの符号化情報を格納しておく変数を初期化する。ここで、変数は隣接ブロックが有効か否かを示すフラグavailableFlagLXN、動きベクトルmvLXN、参照ピクチャ番号refIdxLXN及び参照リストの有効性を示すフラグpredFlagLXNであり、次のように初期化される(S901)。
availableFlagLXN=0
mvLXN=(0,0)
refIdxLXN=0
predFlagLXN=0
ここで、添え字Xには参照リストを表す0若しくは1が設定される。変数Nの隣接ブロック(以下、隣接ブロックNとする)の位置及び符号化情報を取得する(S902)。
Next, a variable for storing coding information of adjacent blocks used in the subsequent determination is initialized. Here, the variables are a flag availableFlagLXN indicating whether the adjacent block is valid, a motion vector mvLXN, a reference picture number refIdxLXN, and a flag predFlagLXN indicating the validity of the reference list, and are initialized as follows (S901).
availableFlagLXN = 0
mvLXN = (0,0)
refIdxLXN = 0
predFlagLXN = 0
Here, the subscript X is set to 0 or 1 representing the reference list. The position of the adjacent block of variable N (hereinafter referred to as adjacent block N) and the encoding information are acquired (S902).
取得された隣接ブロックNの位置に基づいて、隣接ブロックNが有効か否かを判定する(S903)。例えば、処理対象の予測ブロックがピクチャ左端に位置する場合、処理対象の予測ブロックの左の隣接ブロックは存在しないので、符号化情報格納メモリ114の中に該当する符号化情報は無いことになり、無効と判定される。
Based on the acquired position of the adjacent block N, it is determined whether or not the adjacent block N is valid (S903). For example, when the prediction block to be processed is located at the left end of the picture, there is no adjacent block to the left of the prediction block to be processed, so there is no corresponding encoding information in the encoding
隣接ブロックNが無効の場合(S903のN)、availableFlagLXNを“0”に設定する(S908)。隣接ブロックNが有効の場合(S903のY)、隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定する(S904)。 When the adjacent block N is invalid (N in S903), the availableFlagLXN is set to “0” (S908). When the adjacent block N is valid (Y in S903), it is determined whether or not the prediction mode of the adjacent block N is an intra-frame coding (Intra) mode (S904).
隣接ブロックNの予測モードがIntraモードの場合(S904のY)、availableFlagLXNを“0”に設定する(S908)。隣接ブロックNの予測モードがIntraモードでない場合(S904のN)、処理対象の予測ブロックの算出対象の予測と同じ参照リストで同じ参照ピクチャ番号を用いた予測が隣接ブロックNでも行われているかどうかを判定する(S905)。 When the prediction mode of the adjacent block N is Intra mode (Y in S904), the availableFlagLXN is set to “0” (S908). If the prediction mode of the adjacent block N is not Intra mode (N in S904), whether or not the prediction using the same reference picture number in the same reference list as that of the calculation target prediction of the processing target prediction block is also performed in the adjacent block N Is determined (S905).
行われていない場合(S905のN)、availableFlagLXNを“0”に設定する(S908)。行われている場合(S905のY)、availableFlagLXNを“1”に設定する(S906)。続いて、隣接ブロックNの動きベクトルの値をmvLXNに代入して設定する(S907)。 If not performed (N in S905), the availableFlagLXN is set to “0” (S908). If it has been performed (Y in S905), the availableFlagLXN is set to “1” (S906). Subsequently, the value of the motion vector of the adjacent block N is substituted into mvLXN and set (S907).
以上のようにして、隣接ブロックNに対する判定処理が終了すると、変数Nが隣接ブロックの最後か否かの判定を実施する(S909)。変数Nの更新はA1,B1,B0,A0,C0の順に行われるので、ここではNがC0か否かの判定を行う。NがC0であれば(S909のY)、全ての隣接ブロックに対して判定をしたことになり、処理を終了する。NがC0でない場合(S909のN)、Nの更新を行う(S910)。上述した隣接ブロックの順番にNを更新して、ステップS901以降の処理を隣接ブロックNについて繰り返す。 When the determination process for the adjacent block N is completed as described above, it is determined whether or not the variable N is the last of the adjacent blocks (S909). Since the variable N is updated in the order of A1, B1, B0, A0, and C0, it is determined here whether N is C0 or not. If N is C0 (Y in S909), all adjacent blocks have been determined, and the process ends. If N is not C0 (N in S909), N is updated (S910). N is updated in the order of the adjacent blocks described above, and the processes in and after step S901 are repeated for the adjacent block N.
尚、実施例1では、ステップS905にて処理対象の予測ブロックの算出対象の予測と同じ参照リストで同じ参照ピクチャ番号を用いた予測が隣接ブロックNでも行われているかどうかの判定を行った。これは、同一の参照ピクチャ番号及び参照リストの条件であれば、近接している処理対象の予測ブロックと隣接ブロックNの動きベクトルが同一または近い値になる確率が高いので、動きベクトルの差分値が小さくなり、符号化効率を向上させることになる。 In the first embodiment, it is determined whether or not the prediction using the same reference picture number in the same reference list as that of the calculation target prediction of the processing target prediction block is performed in the adjacent block N in step S905. This is because, if the conditions are the same reference picture number and reference list, the motion vector difference value is high because there is a high probability that the motion vector of the adjacent prediction block to be processed and the adjacent block N will be the same or close to each other. Becomes smaller, and the coding efficiency is improved.
しかしながら、必ずしも同一ピクチャ上に同じ参照ピクチャ番号及び参照リストを用いた予測を行う隣接ブロックが存在するとは限らず、存在しない場合は、動きベクトルの差分値を算出することができず、符号化効率を低下させることになる。そこで、ステップS905の同一の参照リスト及び参照ピクチャ番号の条件で判定を狭めずに、隣接ブロックで行われている予測が、次の条件を満たす場合においても、隣接ブロックが有効か否かを示すフラグavailableFlagLXNを1(有効)とし、参照隣接ブロックの候補として、その符号化情報を導出する。
条件1:同じ参照リストで、同じ参照ピクチャ番号
条件2:異なる参照リストで、同じ参照ピクチャ番号
条件3:同じ参照リストで、異なる参照ピクチャ番号
条件4:異なる参照リストで、異なる参照ピクチャ番号
However, there is not always an adjacent block that performs prediction using the same reference picture number and reference list on the same picture. If there is not, a motion vector difference value cannot be calculated, and coding efficiency Will be reduced. Therefore, whether or not the adjacent block is valid even when the prediction performed in the adjacent block satisfies the following condition without narrowing the determination under the condition of the same reference list and reference picture number in step S905. The flag availableFlagLXN is set to 1 (valid), and the coding information is derived as a reference adjacent block candidate.
Condition 1: Same reference picture, same reference picture number Condition 2: Different reference list, same reference picture number Condition 3: Same reference list, different reference picture number Condition 4: Different reference list, different reference picture number
この場合の処理の流れを図26に示す。図26が図25と異なるのは、図25のステップS905の条件1のみの条件判定を削除した点、ステップS911の条件1から4の条件判定を行い、条件1または2を満たさない場合は動きベクトルのスケーリング処理(S912)を追加した点である。それ以外のステップS900からステップS910は図25の説明と同等であるので、以下では、変更・追加された箇所について説明する。
The processing flow in this case is shown in FIG. FIG. 26 differs from FIG. 25 in that the condition determination of
隣接ブロックNの予測モードがIntraモードでない場合(S904のN)、availableFlagLXNを“1”に設定する(S906)。続いて、処理対象の予測ブロックの算出対象の予測の符号化情報と隣接ブロックNの符号化情報を比較することで条件1から4を判定する(S911)。条件1または条件2を満たす場合には、隣接ブロックNの同じ参照リスト(条件1に合致した場合)あるいは異なる参照リスト(条件2に合致した場合)の動きベクトルの値をmvLXNに代入して設定する(S907)。
When the prediction mode of the adjacent block N is not Intra mode (N in S904), the availableFlagLXN is set to “1” (S906). Subsequently,
条件3または条件4を満たす場合、同じ参照リスト(条件3に合致した場合)あるいは異なる参照リスト(条件4に合致した場合)の隣接ブロックNの動きベクトルのスケーリング処理が実施される(S912)。動き検出モードでは、処理対象の予測ブロックの動きベクトルをより少ない符号量で伝送する為に、動きベクトル予測が行われる。動きベクトル予測は、処理対象の予測ブロックの動きベクトルと隣接ブロックの動きベクトルとの差分をとり、その差分値を符号化する処理である。その際、それぞれ参照するピクチャが異なると動きベクトルの大きさに影響を及ぼし、差分値が実際の処理対象の予測ブロックの動きベクトルよりも大きくなってしまうことがある。
When the
そこで、隣接ブロックの参照するピクチャの画像間距離を、処理対象の予測ブロックが参照するピクチャとの画像間距離に合わせて、隣接ブロックの動きベクトルを距離換算するスケーリングが実施される。図27にスケーリングの一例を示す。処理対象の予測ブロックに対して、動きベクトル検出部102で動きベクトル検出が行われ、処理対象の予測ブロックの動きベクトル、参照ピクチャ番号及び参照リストが検出される。
Therefore, scaling is performed in which the motion vector of the adjacent block is converted into a distance by matching the inter-image distance of the picture referenced by the adjacent block with the inter-image distance from the picture referenced by the processing target prediction block. FIG. 27 shows an example of scaling. The motion
一方、処理対象のピクチャ上の隣接ブロックは自身の符号化情報が既知であるので、それぞれの参照ピクチャ番号から参照するピクチャを選出する。処理対象のピクチャ上の隣接ブロックと処理対象の予測ブロックのそれぞれ参照するピクチャとの画像間距離td、tbが算出され、隣接ブロックNの同じ参照リストLXの動きベクトルmvLX(条件3に合致した場合)、または異なる参照リストLY(X=0のときY=1、X=1のときY=0)の動きベクトルmvLY(条件4に合致した場合)を次式により処理対象の予測ブロックの画像間距離に合わせるべく距離換算される。
図26に戻り、こうして、換算された動きベクトルmvLXまたはmvLYをmvLXNに代入して設定する(S907)。このスケーリング処理を実施することで、処理対象の予測ブロックに対して、より近い予測動きベクトルを導出して精度向上を図ることが出来る。以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在する周囲の隣接ブロックを参照ブロックとして、その符号化情報が導出される。 Returning to FIG. 26, the converted motion vector mvLX or mvLY is substituted for mvLXN and set (S907). By performing this scaling process, it is possible to derive a closer predicted motion vector for the prediction block to be processed and improve accuracy. As described above, the encoding information is derived using the neighboring neighboring blocks existing on the same picture as the prediction block to be processed as the reference block.
図24に戻り、次に、時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報が有効か否かを判定し、導出する(S801)。この処理は、マージ検出部106における符号化情報導出部310のステップS103の処理と基本的に同等である。マージモードの場合、マージ検出部106における符号化情報導出部310では、ステップS103の処理を行う前に、処理対象の予測ブロックの参照ピクチャ番号の導出(S102)を行っていた。
Returning to FIG. 24, next, it is determined whether or not the coding information of the block adjacent to the same position of another picture having a different time is valid (S801). This process is basically the same as the process of step S103 of the encoded
これに対して、動き検出モードの場合、処理対象の予測ブロックに対して、動きベクトル検出部102で動きベクトル検出が行われ、処理対象の予測ブロックの動きベクトル、参照ピクチャ番号及び参照リストが検出される。これら検出された処理対象の予測ブロックの符号化情報と既知である時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報から、それぞれの参照ピクチャ番号から参照するピクチャを選出し、処理対象の予測ブロックとその参照ピクチャとの画像間距離に、時間が異なる別のピクチャの同一位置に隣接するブロックの動きベクトルを換算して算出する。
In contrast, in the motion detection mode, the motion
こうして得られた隣接ブロックの符号化情報は参照候補リスト作成部321に入力される。参照候補リスト作成部321で作成される参照候補リストは、処理対象の予測ブロックのInterモードに応じて、L0予測及びL1予測の2つの参照リストに対してそれぞれ参照候補リストが作成される。Interモードでは片方向予測としてL0予測とL1予測、双予測としてBi−pred予測が定義されており、Bi−pred予測ではL0予測及びL1予測の2つの参照リストを使用する。従って、符号化時の予測モードに応じて、参照候補リスト格納メモリ314に1つないし2つの参照候補リストを設けるようにしてもよいし、予めL0予測とL1予測2つ分の参照候補リストを設けておいてもよい。本明細書では、特に注釈をしない限り、動き検出モード時の参照候補リストは説明の都合上1つだけを挙げて説明することとし、図で示す参照候補リストも1つだけ挙げることにする。
The encoding information of the adjacent block obtained in this way is input to the reference candidate
実施例1では、参照候補リスト格納メモリ324に、参照隣接ブロックの符号化情報の候補を登録する記憶領域として参照候補リストを設ける。当該参照隣接ブロックの符号化情報の候補に優先順位をつけて、優先順位の高いものから参照候補リスト格納メモリ324に、当該参照隣接ブロックの符号化情報の候補を登録する。これにより、参照候補リストのインデックスmvp_idx_l0及びmvp_idx_l1の符号量を削減することが可能となる。
In the first embodiment, a reference candidate list is provided in the reference candidate
優先順位の高い要素を参照候補リストの前方に配置することで、符号量を削減する。参照候補リスト中の各要素の位置を示すインデックスは0から昇順に割り当てる。参照候補リスト格納メモリ324に設けられる参照候補リストは、リスト構造を成し、参照候補リスト内部の所在を示すインデックスと、インデックスに対応する参照隣接ブロックの符号化情報の候補を要素として格納する配列領域が設けられる。
The amount of codes is reduced by placing elements with higher priorities in front of the reference candidate list. An index indicating the position of each element in the reference candidate list is assigned in ascending order from 0. The reference candidate list provided in the reference candidate
この配列領域はcandListLXで表される。インデックスの数字は0から開始され、参照候補リストcandListLXの記憶領域に、参照隣接ブロックの符号化情報の候補が格納される。以降の処理では、参照候補リストcandListLXに登録されたインデックスiの符号化情報は、candListLX[i]で表すこととし、参照候補リストcandListLXとは配列表記をすることで区別することとする。尚、参照候補リストの記憶領域に格納される符号化情報は、特に断らない限り、参照隣接ブロックの位置名(A0,A1,B0,B1,C0,T)で表すこととする。 This arrangement region is represented by candListLX. The number of the index starts from 0, and the encoding information candidates of the reference adjacent block are stored in the storage area of the reference candidate list candListLX. In the subsequent processing, the encoding information of the index i registered in the reference candidate list candListLX is represented by candListLX [i], and is distinguished from the reference candidate list candListLX by array notation. Note that the encoding information stored in the storage area of the reference candidate list is represented by the position name (A0, A1, B0, B1, C0, T) of the reference adjacent block unless otherwise specified.
参照候補リスト作成部321の動作は、マージ検出部106の参照候補リスト作成部311と同等であり、符号化情報導出部320にて得られた隣接ブロックが有効か否かを示すフラグavailableFlagLXNを、動き検出モードで定義された順番A1,B1,A0,B0,C0,Tに判定し、1(有効)である場合、参照候補リスト格納メモリ324に設けた参照候補リストに登録する。
The operation of the reference candidate
以上の処理により、参照候補リストに登録され、参照隣接ブロックが全て有効であれば、図20に示される順番で参照候補リストが作成される。優先順位をインデックスとして、各符号語は参照候補リストの右列で表され、最大符号語長はNumListCand−1となる。図20の場合、NumListCandは6であり、符号語は最大5ビットで表される。参照隣接ブロックが1つだけ有効となる場合、最大符号語長は0となるので、符号語は必要とせず、1つだけ有効と判定された隣接ブロックの符号化情報の候補が参照先として一意に決定されることになる。 With the above processing, if all of the reference adjacent blocks are registered in the reference candidate list and are valid, the reference candidate list is created in the order shown in FIG. Using the priority as an index, each codeword is represented by the right column of the reference candidate list, and the maximum codeword length is NumListCand-1. In the case of FIG. 20, NumListCand is 6, and the code word is represented by a maximum of 5 bits. When only one reference adjacent block is valid, the maximum codeword length is 0. Therefore, no codeword is required, and the candidate of encoding information of an adjacent block determined to be valid is unique as a reference destination. Will be determined.
作成された参照候補リストは同一情報検出部322に入力される。同一情報検出部322では、参照候補リストの中に格納された動きベクトルを比較して、同じ動きベクトルを備える候補が存在する場合、最も小さい参照候補リストのインデックスを持つ候補を除いて全て削除される。図29で示されるフローチャートを用いて動作を説明する。
The created reference candidate list is input to the same
まず、参照候補リストのインデックスを表す変数nとmをそれぞれ0と1に設定する(S1000)。参照候補リストに格納されているインデックスnとmの動きベクトルを比較する(S1001)。不一致と判定された場合(S1001のN)、ステップS1004に進む。一致と判定された場合(S1001のY)、nとmでインデックスの大きい方、即ちmが既に削除リストに記録されているか判定する(S1002)。 First, variables n and m representing indexes of the reference candidate list are set to 0 and 1 respectively (S1000). The motion vectors of indexes n and m stored in the reference candidate list are compared (S1001). If it is determined that there is a mismatch (N in S1001), the process proceeds to step S1004. If it is determined that they match (Y in S1001), it is determined whether n and m have the larger index, that is, whether m is already recorded in the deletion list (S1002).
mが削除リストに既に記録されている場合(S1002のY)、ステップS1004に進む。未だ記録されていない場合(S1002のN)、mを削除リストに記録する(S1003)。削除リストは、同一情報検出部322内に設けられた一時記憶用のメモリである。
If m is already recorded in the deletion list (Y in S1002), the process proceeds to step S1004. If not recorded yet (N in S1002), m is recorded in the deletion list (S1003). The deletion list is a temporary storage memory provided in the same
次に、mに1を加算して、更新する(S1004)。mと候補リスト総数NumListCandの比較を行う(S1005)。mがNumListCandでない場合(S1005のN)、ステップS1001以降のインデックスnの動きベクトルとの比較を繰り返す。mがNumListCandになった場合(S1005のY)、nに1を加算して、更新する(S1006)。 Next, 1 is added to m and updated (S1004). m is compared with the total number of candidate lists NumListCand (S1005). When m is not NumListCand (N of S1005), the comparison with the motion vector of the index n after step S1001 is repeated. When m becomes NumListCand (Y in S1005), 1 is added to n and updated (S1006).
次にnと(NumListCand−1)との比較を行う(S1007)。nが(NumListCand−1)でない場合(S1007のN)、mを(n+1)に設定して(S1009)、ステップS1001以降の動きベクトルの比較を繰り返す。nが(NumListCand−1)になった場合(S1007のY)、削除リストに記録されたインデックスに該当するリストの格納領域の符号化情報を削除して、インデックス0を基準に、インデックスが小さい候補の順で詰めていき、符号語と参照候補リストの総数NumListCandを更新して(S1008)、終了する。
Next, n is compared with (NumListCand-1) (S1007). If n is not (NumListCand-1) (N in S1007), m is set to (n + 1) (S1009), and the comparison of motion vectors after step S1001 is repeated. When n becomes (NumListCand-1) (Y in S1007), the encoded information in the storage area of the list corresponding to the index recorded in the deletion list is deleted, and the candidate with a small index with reference to
差分動きベクトル算出部326は、こうして作成された参照候補リストの中の符号化情報の動きベクトルを予測動きベクトルとして、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを出力部323に供給する。
The difference motion
最後に、出力部323が、作成された参照候補リストの中のインデックスと差分動きベクトルを出力する。参照候補リストは、参照候補リストをMVPリストとして、リストの中のインデックスをMVPインデックスとして出力する。動画像符号化装置100では、予測方法決定部107に出力される。
Finally, the
上述した動画像符号化装置100の中に設置される実施例1の動きベクトル予測部103に対応する、動画像復号装置200の中に設置される実施例1の動きベクトル算出部204について説明する。図30は動きベクトル算出部204の詳細な構成を示すものである。図30中の太点線で囲まれる部分は動きベクトル算出部204を示している。動きベクトル算出部204は、符号化情報導出部320、参照候補リスト作成部321、同一情報検出部322、参照候補リスト格納メモリ324、選択部325及び動きベクトル加算部327を含む。
The motion
動きベクトル算出部204は、動画像符号化装置100の動きベクトル予測部103と対応しており、内部の構成は選択部325と出力部323及び動きベクトル加算部327が異なるだけで、それ以外の符号化情報導出部320、参照候補リスト作成部321、同一情報検出部322及び参照候補リスト格納メモリ324は同一の機能を備える。従って、同一情報検出部322までの処理で符号化過程と同一の参照候補リストが作成されることになる。
The motion
以下では、作成された参照候補リストから、動き検出モードにおける参照隣接ブロックの符号化情報を取得する選択部325について説明する。選択部325は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択されたリストの隣接ブロックの符号化情報から動きベクトルを予測動きベクトルとして出力し、動きベクトル加算部327にて予測動きベクトルと第1の符号化ビット列復号部202で復号された差分動きベクトルとを加算して動きベクトルを算出する。当該動きベクトルを動き補償予測部207に供給するとともに、選択された参照候補リストの隣接ブロックの符号化情報を符号化情報格納メモリ210に供給する。
Below, the
(実施例2)
図31(a)、(b)に実施例2における処理対象の予測ブロックに対する参照隣接ブロックの配置を示す。各隣接ブロックの記号は、図9(a)、(b)と同様であり、ここでは図31(a)の配置例を使用して説明を行うものとする。実施例2は、処理対象の予測ブロックと同一のピクチャ上にある隣接ブロックを、左側に隣接するブロック群(図31(a)ではA0とA1)、上側に隣接するブロック群(図31(a)ではB0、B1とC0)にグループ化して、それぞれのブロック群の中から、ブロック群の代表値として参照隣接ブロックを1つ選択する。
(Example 2)
31A and 31B show the arrangement of reference adjacent blocks with respect to the processing target prediction block in the second embodiment. The symbols of the adjacent blocks are the same as those in FIGS. 9A and 9B, and the description will be made using the arrangement example in FIG. 31A. In the second embodiment, adjacent blocks on the same picture as the prediction block to be processed are divided into a block group adjacent to the left side (A0 and A1 in FIG. 31A), and a block group adjacent to the upper side (FIG. 31A ) Are grouped into B0, B1, and C0), and one reference adjacent block is selected from each block group as a representative value of the block group.
選択の方法として、隣接ブロックの符号化情報の予測モード及び位置に基づいて、隣接ブロックが有効か否かを判定することは実施例1、2で同様であるが、ブロック群単位に1つずつ代表する隣接ブロックを選出する点が異なる。このように、複数の隣接ブロックから成るブロック群の中から、そのブロック群を代表する隣接ブロックを選出する方法をスキャンと呼ぶ。このスキャンにより、左側に隣接するブロック群を代表する隣接ブロック、上側に隣接するブロック群を代表する隣接ブロック及び時間が異なる別のピクチャの同一位置に隣接するブロックの3つの隣接ブロックが参照候補リストに登録されることになる。 As a selection method, it is the same as in the first and second embodiments to determine whether an adjacent block is valid based on the prediction mode and position of the encoding information of the adjacent block, but one block group at a time. The difference is that representative neighboring blocks are selected. In this way, a method of selecting an adjacent block representing the block group from a block group composed of a plurality of adjacent blocks is called a scan. By this scan, the reference candidate list includes three adjacent blocks: an adjacent block representing the block group adjacent to the left side, an adjacent block representing the block group adjacent to the upper side, and a block adjacent to the same position of another picture at different times. Will be registered.
従って、参照候補リストに登録する隣接ブロックの総数を実施例1に比べて削減することが出来、同一情報検出部312での符号化情報の比較回数、及び同一情報検出部322での動きベクトルの比較回数を削減することができる。更に、参照候補リストのインデックスに割り当てる符号語長が短くなり、参照候補リストのインデックスの符号量を削減することが出来る。更に、左側及び上側に隣接するブロック群の中の隣接ブロックの処理順番を予測モードに応じて変更することで、予測モードに適した隣接ブロックの選択が可能となり、符号化効率の改善が期待出来る。
Accordingly, the total number of adjacent blocks registered in the reference candidate list can be reduced as compared with the first embodiment, the number of comparisons of encoded information in the same
処理順番は予測モードがマージモードの場合、マージ検出部106及びマージ判定部206は図31(a)、(b)中の細点線矢印の如く左側に隣接するブロック群は上から下に、上側に隣接するブロック群は左上の隣接ブロックC0を最後の順としてB1,B0,C0の順で処理を行う。動き検出モードの場合、動きベクトル予測部103及び動きベクトル算出部204は図31(a)、(b)中の細実線矢印の如く左側に隣接するブロック群は下から上に、上側に隣接するブロック群は右から左の順で処理を行う。
In the processing order, when the prediction mode is the merge mode, the
マージモードでは、処理対象の予測ブロックと符号化情報が最も等しい可能性が高いと考えられる隣接ブロックA1,B1を優先して判定処理して選択することで、符号化効率を向上させる。一方、動き検出モードでは、予測動きベクトルの選択の幅を広げるために、左側と上側の隣接ブロックの候補間で符号化情報の差が出やすくなるように、左側と上側の候補間の距離が離れた隣接ブロックA0,B0を優先して判定処理して選択する。これにより、差分動きベクトルの符号量を削減し、符号化効率を向上させる。 In the merge mode, coding efficiency is improved by preferentially determining and selecting adjacent blocks A1 and B1, which are considered to be most likely to have the same encoding information as the prediction block to be processed. On the other hand, in the motion detection mode, in order to widen the selection range of the predicted motion vector, the distance between the left and upper candidates is set so that a difference in encoding information is easily generated between the left and upper adjacent block candidates. The adjacent blocks A0 and B0 that are far away are preferentially determined and selected. Thereby, the code amount of a difference motion vector is reduced and encoding efficiency is improved.
以下では、実施例1とは異なる実施例2の動作についてのみ詳細に説明する。まず、動画像符号化装置100の中のマージ検出部106の動作について説明する。マージ検出部106は実施例1で説明した図11と同じ構成をなすが、符号化情報導出部310の処理が実施例1とは異なるので、実施例2における符号化情報導出部310の動作について説明する。図32は実施例2における符号化情報導出部310の動作を示すフローチャートである。
Hereinafter, only the operation of the second embodiment different from the first embodiment will be described in detail. First, the operation of the
最初に、スイッチ108に入力される動画像符号化装置100により制御される予測モードにより、インター予測情報検出部104の出力先がマージ検出部106に切り換えられ、インター予測情報検出部104の内部の一時メモリ303に記憶された、処理対象の予測ブロックが参照する参照隣接ブロックの符号化情報が符号化情報導出部310に入力される。
First, the output destination of the inter prediction
入力された隣接ブロックの中から処理対象の予測ブロックと同じピクチャにある隣接ブロックの符号化情報が有効か否かを判定し、導出する(S103)。図33に処理対象の予測ブロックと同じピクチャにある隣接ブロック毎の判定処理の詳細な流れを示す。実施例1の図13で示されるフローチャートに対して、ステップS210、ステップS211、ステップS212、ステップS213及びステップS214が新たに追加された処理であり、それ以外は実施例1と同等であるので、ここでは追加された処理のみの詳細を説明する。 It is determined whether or not the coding information of the adjacent block in the same picture as the prediction block to be processed is valid from the input adjacent blocks (S103). FIG. 33 shows a detailed flow of determination processing for each adjacent block in the same picture as the prediction block to be processed. 13 is a process in which step S210, step S211, step S212, step S213, and step S214 are newly added to the flowchart shown in FIG. 13 of the first embodiment, and the other processes are the same as in the first embodiment. Here, only the added process will be described in detail.
まず、ブロック群Mを初期化する(S210)。ここでは、左側に隣接するブロック群に設定することとし、Mには左側のブロック群を示す値であるAが設定される。次に、ブロック群の中の変数Nを初期化する(S200)。変数Nは上述したブロック群内の処理順に応じて設定され、Nの更新時には左側のブロック群でA1,A0、上側でB1,B0,C0の順に更新されることとする。 First, the block group M is initialized (S210). Here, the block group adjacent to the left side is set, and M, which is a value indicating the left side block group, is set. Next, the variable N in the block group is initialized (S200). The variable N is set according to the processing order in the block group described above, and when N is updated, the left block group is updated in the order of A1, A0, and the upper side is updated in the order of B1, B0, C0.
図33中のステップS201からステップS209までの処理は基本的に実施例1の図13と同様であるが、隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定し(S204)、隣接ブロックNの予測モードがIntraモードでない場合(S204のN)以降の処理が実施例1と異なる。 The processing from step S201 to step S209 in FIG. 33 is basically the same as that in FIG. 13 of the first embodiment, but it is determined whether or not the prediction mode of the adjacent block N is the intra-frame coding (Intra) mode ( S204) When the prediction mode of the adjacent block N is not the Intra mode (N in S204), the subsequent processing is different from that of the first embodiment.
隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定し(S204)、隣接ブロックNの予測モードがIntraモードでない場合(S204のN)、Mが左側のブロック群か否かの判定に進み(S211)、Mが左側のブロック群である場合(S211のY)、availableFlagMを“1”に設定し(S205)、隣接ブロックNの符号化情報をrefIdxLXM、mvLXM及びpredFlagLXMに代入して設定する(S206)。Mが上側のブロック群である場合にのみ(S211のN)、左側のブロック群で選択された隣接ブロックの符号化情報と隣接ブロックNの符号化情報が同じであるか否かを判定する(S212)。 It is determined whether or not the prediction mode of the adjacent block N is the intra-frame coding (Intra) mode (S204). If the prediction mode of the adjacent block N is not the Intra mode (N in S204), whether or not M is the left block group. (S211), when M is the left block group (Y in S211), the available FlagM is set to “1” (S205), and the encoding information of the adjacent block N is set to refIdxLXM, mvLXM, and predFlagLXM. Substitute and set (S206). Only when M is the upper block group (N in S211), it is determined whether or not the encoding information of the adjacent block selected in the left block group and the encoding information of the adjacent block N are the same ( S212).
最初に左側のブロック群を代表する隣接ブロックを選択しているので、その符号化情報を保持しておき、上側のブロック群の判定に使用する。この処理により、左側のブロック群を代表する隣接ブロックの符号化情報と重複することが無くなるので、参照先として選択肢の幅が広がる。尚、処理量の削減のために、ステップS211及びステップS212の処理を省略して、直接ステップS205に進むことも出来る。 Since an adjacent block representing the left block group is first selected, the encoding information is retained and used for determination of the upper block group. By this processing, since it does not overlap with the coding information of the adjacent block representing the left block group, the range of options as a reference destination is expanded. In order to reduce the amount of processing, the processing in steps S211 and S212 can be omitted and the processing can proceed directly to step S205.
左側のブロック群で選択された隣接ブロックの符号化情報と隣接ブロックNの符号化情報が異なるか左側のブロック群で選択された隣接ブロックの符号化情報が存在しない場合(S212のN)、availableFlagMを“1”に設定し(S205)、隣接ブロックNの符号化情報をrefIdxLXM、mvLXM及びpredFlagLXMに代入して設定する(S206)。 When the encoding information of the adjacent block selected in the left block group is different from the encoding information of the adjacent block N or there is no encoding information of the adjacent block selected in the left block group (N in S212), availableFlagM Is set to “1” (S205), and the encoding information of the adjacent block N is substituted into refIdxLXM, mvLXM, and predFlagLXM (S206).
次に、ブロック群Mの符号化情報が設定された後、次のブロック群、即ち上側に隣接するブロック群について処理を行う為に、変数Mが上側のブロック群を示す値であるBか否か判定する(S213)。MがB(上側)でなければ(S213のN)、MをB(上側)に更新して(S214)、ステップS200以降の処理を繰り返す。Mが上側であれば(S213のY)、処理を終了する。 Next, after the coding information of the block group M is set, whether or not the variable M is a value indicating the upper block group in order to perform processing on the next block group, that is, the block group adjacent on the upper side. (S213). If M is not B (upper side) (N in S213), M is updated to B (upper side) (S214), and the processes after step S200 are repeated. If M is on the upper side (Y in S213), the process is terminated.
隣接ブロックNが有効でない場合(S203のN)、隣接ブロックNの予測モードが画面内符号化(Intra)モードでない場合(S204のY)、左側のブロック群で選択された隣接ブロックの符号化情報と隣接ブロックNの符号化情報が同じ場合(S212のY)、availableFlagMを“0”に設定し(S207)、隣接ブロックNがブロック群M内の隣接ブロックの最後か否かの判定を実施する(S208)。 When the adjacent block N is not valid (N of S203), when the prediction mode of the adjacent block N is not the intra-frame coding (Intra) mode (Y of S204), the encoding information of the adjacent block selected in the left block group If the encoded information of the adjacent block N is the same (Y in S212), availableFlagM is set to “0” (S207), and it is determined whether or not the adjacent block N is the last of the adjacent blocks in the block group M. (S208).
変数Nの更新は上述したブロック群内の処理順に応じて設定され、ここではNがA0(左側のブロック群の場合)或いはC0(上側のブロック群の場合)か否かの判定を行う。隣接ブロックNが最後のブロックであれば(S208のY)、ブロック群Mの判定に進み(S213)、そうでなければ(S208のN)、変数Nをブロック群内の処理順に応じて更新し(S209)、ステップS201以降の処理を繰り返す。以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在するブロック群の隣接ブロックを代表する参照ブロックとして、その符号化情報が導出される。 The update of the variable N is set according to the processing order in the block group described above. Here, it is determined whether N is A0 (in the case of the left block group) or C0 (in the case of the upper block group). If the adjacent block N is the last block (Y in S208), the process proceeds to the determination of the block group M (S213). Otherwise (N in S208), the variable N is updated according to the processing order in the block group. (S209), the process after step S201 is repeated. As described above, the encoding information is derived as the reference block representing the adjacent block of the block group existing on the same picture as the prediction block to be processed.
図32に戻り、続いて、時間が異なる別のピクチャをマージ候補とする場合の処理対象の予測ブロックの参照ピクチャ番号を決定する(S104)。実施例1におけるステップS101の処理をそのまま利用しても構わないが、ここでは、前の処理(S103)にて導出された同一のピクチャ上の左側及び上側に隣接するブロック群の符号化情報に基づく手法を図34(a)、(b)を用いて説明する。 Returning to FIG. 32, subsequently, the reference picture number of the prediction block to be processed when another picture having a different time is set as the merge candidate is determined (S104). Although the process of step S101 in the first embodiment may be used as it is, here, the encoding information of the block group adjacent to the left side and the upper side on the same picture derived in the previous process (S103) is used. A technique based on this will be described with reference to FIGS.
まず、ステップS103にて導出された左側に隣接するブロック群A及び上側に隣接するブロック群Bそれぞれのブロック群の隣接ブロックが有効か否かを示すフラグavailableFlagM、参照ピクチャ番号refIdxLXMが入力される。ここでMはA及びBである。 First, the flag availableFlagM indicating whether or not the adjacent blocks of the block group A adjacent to the left side and the block group B adjacent to the upper side derived in step S103 are valid and the reference picture number refIdxLXM are input. Here, M is A and B.
まず、左側の隣接ブロック群Aについて図34(a)を用いて説明する。左側の隣接ブロック群の隣接ブロックが有効か否かを示すフラグavailableFlagAを調べる(S1100)。availableFlagAが1であれば(S1100のY)、左側の隣接ブロック群の隣接ブロックの参照ピクチャ番号refIdxLXAを設定し、そうでなければ(S1100のN)、refIdxLXAを−1に設定する。 First, the left adjacent block group A will be described with reference to FIG. A flag availableFlagA indicating whether the adjacent block in the left adjacent block group is valid is checked (S1100). If availableFlagA is 1 (Y in S1100), the reference picture number refIdxLXA of the adjacent block in the left adjacent block group is set. Otherwise (N in S1100), refIdxLXA is set to -1.
同様にして、上側の隣接ブロック群Bについて図34(b)を用いて説明する。上側の隣接ブロック群の隣接ブロックが有効か否かを示すフラグavailableFlagBを調べる(S1101)。availableFlagBが1であれば(S1101のY)、上側の隣接ブロック群の隣接ブロックの参照ピクチャ番号refIdxLXBを設定し、そうでなければ(S1101のN)、refIdxLXBを−1に設定する。 Similarly, the upper adjacent block group B will be described with reference to FIG. A flag availableFlagB indicating whether or not the adjacent block of the upper adjacent block group is valid is checked (S1101). If availableFlagB is 1 (Y in S1101), the reference picture number refIdxLXB of the adjacent block in the upper adjacent block group is set. Otherwise (N in S1101), refIdxLXB is set to -1.
こうして導出された各ブロック群の参照ピクチャ番号refIdxLXM(MはA,B)の条件に基づいて、時間が異なる別のピクチャの同一位置に隣接するブロックの参照ピクチャ番号refIdxLXColを決定する。図35に参照ピクチャ番号refIdxLXMに基づく判定を示す。図35の1行目はrefIdxLXAとrefIdxLXBが同じ値であり、−1でない場合であり、refIdxLXAを選択する。2行目はrefIdxLXAとrefIdxLXBが異なる値であり、共に−1でない場合であり、最小の参照ピクチャ番号の値を選択する。3行目と4行目はどちらか一方が−1の場合であり、−1でない方を選択する。5行目は両方が−1の場合であり、この時は“0”を設定する。以上のようにして、処理対象の予測ブロックの参照ピクチャ番号が決定されるが、この手法以外の手法を用いても構わない。 Based on the condition of the reference picture number refIdxLXM (M is A, B) of each block group thus derived, the reference picture number refIdxLXCol of a block adjacent to the same position of another picture having a different time is determined. FIG. 35 shows determination based on the reference picture number refIdxLXM. The first line in FIG. 35 is a case where refIdxLXA and refIdxLXB are the same value and not −1, and refIdxLXA is selected. The second line is a case where refIdxLXA and refIdxLXB are different values, both of which are not -1, and the value of the smallest reference picture number is selected. Either one of the third and fourth lines is -1, and the one that is not -1 is selected. The fifth line is a case where both are −1. At this time, “0” is set. As described above, the reference picture number of the prediction block to be processed is determined, but methods other than this method may be used.
図32に戻り、次に、時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報が有効か否かを判定し、導出する(S102)。実施例1のステップS102と同様であるので説明を割愛する。こうして得られた隣接ブロックの符号化情報は参照候補リスト作成部311に入力される。
Returning to FIG. 32, next, it is determined whether or not the coding information of the block adjacent to the same position of another picture having a different time is valid (S102). Since this is the same as step S102 in the first embodiment, a description thereof will be omitted. The encoding information of the adjacent blocks obtained in this way is input to the reference candidate
実施例2でも実施例1と同様に、参照候補リスト格納メモリ314に、参照隣接ブロックの符号化情報の候補を登録する記憶領域として参照候補リストを設け、参照隣接ブロックの符号化情報の候補に優先順位をつけて、優先順位の高いものから参照候補リストに、参照隣接ブロックの符号化情報の候補を登録する。これにより、参照候補リストのインデックスmerge_idxの符号量を削減する。
Also in the second embodiment, as in the first embodiment, a reference candidate list is provided in the reference candidate
参照候補リスト作成部311は実施例1と同様の動作を行い、参照する左側及び上側のの隣接ブロック群、時間が異なる別のピクチャの同一位置に隣接するブロックの有効フラグavailableFlagM(ここでMはA,B,T)の判定を行い、隣接ブロックの符号化情報を参照候補リストcandListに登録する。ここで、変数Nを更新する隣接ブロックの順番が参照候補リストに格納する優先順位となっており、実施例2では、左側、上側、異なる時間の同じ順番(A,B,T)を設定することとする。
The reference candidate
以上の処理により、参照候補リストに登録された、参照隣接ブロックが全て有効であれば、図36に示される順番で参照候補リストが作成される。優先順位をインデックスとして、各符号語は参照候補リストの右列で表され、最大符号語長は2となる。ここで、参照候補リスト内部の括弧は、左側或いは上側の隣接ブロック群の中から、符号化情報導出部310で括弧内の左から右の順に処理され、選択される1つの隣接ブロックを表す。
With the above processing, if all the reference adjacent blocks registered in the reference candidate list are valid, the reference candidate list is created in the order shown in FIG. Using the priority as an index, each codeword is represented by the right column of the reference candidate list, and the maximum codeword length is 2. Here, the parentheses in the reference candidate list represent one adjacent block that is processed by the encoding
作成された参照候補リストは、同一情報検出部312にて同一の符号化情報となる参照候補リストに格納された符号化情報を削除し、参照候補リスト作成部311にて作成された参照候補リストの中のインデックスと符号化情報を出力する。参照候補リストは、参照候補リストをマージリストとして、当該リストの中のインデックスをマージインデックスとして出力される。動画像符号化装置100では、動き補償予測部105と予測方法決定部107に出力される。
In the created reference candidate list, the same
上述した動画像符号化装置100の中に設置される実施例2のマージ検出部106に対応する、動画像復号装置200の中に設置される実施例2のマージ判定部206について説明する。マージ判定部206は実施例1で説明した図22と同じ構成をなし、符号化情報導出部310の処理が実施例1と異なる。それ以外の参照候補リスト作成部311、同一情報検出部312、参照候補リスト格納メモリ314及び選択部315は実施例1と同一の機能を備える。
The
また、実施例2におけるマージ判定部206の符号化情報導出部310は上述した実施例2におけるマージ検出部106の符号化情報導出部310と同一の機能を備えているので、実施例2におけるマージ判定部206のマージ判定部206の同一情報検出部312までの処理で、実施例2のマージ検出部106と同一の参照候補リストが作成されることになる。作成された参照候補リストから、マージモードにおいて参照隣接ブロックの符号化情報を取得する選択部315について説明する。選択部315は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された、参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択された符号化情報を動き補償予測部207に供給するとともに、符号化情報格納メモリ210に供給する。
Further, since the encoding
次に、動画像符号化装置100の構成を示す図2の中に設置される実施例2の動きベクトル予測部103について説明する。実施例2の動きベクトル予測部103は実施例1で説明した図23と同じ構成をなすが、符号化情報導出部320の処理が実施例1とは異なるので、実施例2では符号化情報導出部320の動作について説明する。図37は実施例2における符号化情報導出部320の動作を示すフローチャートである。
Next, the motion
最初に、スイッチ108に入力される動画像符号化装置100により制御される予測モードにより、インター予測情報検出部104の出力先が動きベクトル予測部103に切り換えられる。インター予測情報検出部104の内部の一時メモリ303に記憶された処理対象の予測ブロックが参照隣接ブロックの符号化情報が、符号化情報導出部320に入力される。入力された隣接ブロックの中から処理対象の予測ブロックと同じピクチャにある隣接ブロックの符号化情報が有効か否かを判定し、導出する(S802)。図38に処理対象の予測ブロックと同じピクチャにある隣接ブロック毎の判定処理の詳細な流れを示す。
First, the output destination of the inter prediction
実施例1の図25で示されるフローチャートに対して、ステップS913、ステップS914、ステップS915、ステップS916及びステップS917が新たに追加された処理であり、それ以外は実施例1と同等であるので、ここでは追加された処理のみの詳細を説明する。 25 is a process in which step S913, step S914, step S915, step S916, and step S917 are newly added to the flowchart shown in FIG. 25 of the first embodiment, and the other processes are the same as in the first embodiment. Here, only the added process will be described in detail.
まず、ブロック群の変数Mを初期化する(S913)。ここでは、左側に隣接するブロック群に設定することとし、Mには左側のブロック群を示す値であるAが設定される。次に、ブロック群の中の変数Nを初期化する(S900)。変数Nは上述したブロック群内の処理順に応じて設定され、Nの更新時には左側のブロック群でA0,A1、上側でB0,B1,C0の順に更新されることとする。以降のステップS901からステップS910までの処理は基本的に実施例1と同様であるが、隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定し(S904)、隣接ブロックNの予測モードがIntraモードでない場合(S904のN)以降の処理が実施例1と異なる。 First, the variable M of the block group is initialized (S913). Here, the block group adjacent to the left side is set, and M, which is a value indicating the left side block group, is set. Next, the variable N in the block group is initialized (S900). The variable N is set according to the processing order in the block group described above, and when N is updated, the left block group is updated in the order of A0, A1, and the upper side is updated in the order of B0, B1, C0. The subsequent processing from step S901 to step S910 is basically the same as in the first embodiment, but it is determined whether or not the prediction mode of the adjacent block N is the intra-frame coding (Intra) mode (S904). When the N prediction mode is not the Intra mode (N in S904), the subsequent processing is different from that in the first embodiment.
隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定し(S904)、隣接ブロックNの予測モードがIntraモードでない場合(S904のN)、Mが左側のブロック群か否かの判定に進み(S914)、Mが左側のブロック群である場合(S914のY)、ステップS905の処理に進む。Mが上側のブロック群である場合にのみ(S914のN)、左側のブロック群で選択された隣接ブロックの動きベクトルmvLXAと隣接ブロックNの動きベクトルが同じであるか否かを判定する(S915)。 It is determined whether or not the prediction mode of the adjacent block N is the intra-frame coding (Intra) mode (S904). If the prediction mode of the adjacent block N is not the Intra mode (N in S904), whether or not M is the left block group. (S914), and if M is the left block group (Y in S914), the process proceeds to step S905. Only when M is the upper block group (N in S914), it is determined whether or not the motion vector mvLXA of the adjacent block selected in the left block group and the motion vector of the adjacent block N are the same (S915). ).
最初に左側のブロック群を代表する隣接ブロックを選択しているので、その動きベクトルを保持しておき、上側のブロック群の判定に使用する。この処理により、左側のブロック群を代表する隣接ブロックの動きベクトルと重複することが無くなるので、参照先として選択肢の幅が広がる。尚、処理量の削減のために、ステップS914及びステップS915の処理を省略して、直接ステップS905に進むことも出来る。 Since an adjacent block representing the left block group is selected first, the motion vector is retained and used for determination of the upper block group. This process eliminates the overlap with the motion vector of the adjacent block representing the left block group, so that the range of options as a reference destination is expanded. In order to reduce the amount of processing, the processing in steps S914 and S915 can be omitted and the processing can proceed directly to step S905.
左側のブロック群で選択された隣接ブロックの動きベクトルmvLXAと隣接ブロックNの動きベクトルが同じ場合(S915のY)、ステップS908に進む。異なる場合(S915のN)、処理対象の予測ブロックの算出対象の予測と同じ参照リストで同じ参照ピクチャ番号を用いた予測が隣接ブロックNでも行われているかどうかを判定する(S905)。 When the motion vector mvLXA of the adjacent block selected in the left block group and the motion vector of the adjacent block N are the same (Y in S915), the process proceeds to step S908. If they are different (N in S915), it is determined whether prediction using the same reference picture number in the same reference list as the calculation target prediction of the processing target prediction block is performed in the adjacent block N (S905).
処理対象の予測ブロックの算出対象の動きベクトルを用いた予測と同じ参照リストで同じ参照ピクチャ番号を用いた予測が隣接ブロックNでも行われている場合(S905のY)、availableFlagLXNを“1”に設定し(S906)、隣接ブロックNの動きベクトルをmvLXMに代入して設定する(S907)。ブロック群Mの動きベクトルが設定された後、次のブロック群、即ち上側に隣接するブロック群について処理を行う為に、変数Mが上側のブロック群を示す値であるBか否か判定する(S916)。MがB(上側)でなければ(S916のN)、MをB(上側)に更新して(S917)、ステップS900以降の処理を繰り返す。MがB(上側)であれば(S916のY)、処理を終了する。 When prediction using the same reference picture number is performed in the adjacent reference block N in the same reference list as the prediction using the motion vector that is the calculation target of the processing target prediction block, the availableFlagLXN is set to “1”. Setting is performed (S906), and the motion vector of the adjacent block N is substituted into mvLXM and set (S907). After the motion vector of the block group M is set, it is determined whether or not the variable M is a value B indicating the upper block group in order to perform processing on the next block group, that is, the block group adjacent on the upper side ( S916). If M is not B (upper side) (N in S916), M is updated to B (upper side) (S917), and the processes in and after step S900 are repeated. If M is B (upper side) (Y in S916), the process is terminated.
隣接ブロックNが有効でない場合(S903のN)、隣接ブロックNの予測モードが画面内符号化(Intra)モードでない場合(S904のY)、左側のブロック群で選択された隣接ブロックの動きベクトルmvLXAと上側のブロック群の隣接ブロックNの動きベクトルが同じ場合(S915のY)、同じ参照リストで同じ参照ピクチャ番号を用いた予測が行われていない場合(S905のN)、availableFlagLXMを“0”に設定し(S908)、隣接ブロックNがブロック群M内の隣接ブロックの最後か否かの判定を実施する(S909)。変数Nの更新は上述したブロック群内の処理順に応じて設定され、ここではNがA1(左側のブロック群の場合)或いはC0(上側のブロック群の場合)か否かの判定を行う。 When the adjacent block N is not valid (N in S903), when the prediction mode of the adjacent block N is not the intra-frame coding (Intra) mode (Y in S904), the motion vector mvLXA of the adjacent block selected in the left block group When the motion vector of the adjacent block N in the upper block group is the same (Y in S915), or when prediction using the same reference picture number is not performed in the same reference list (N in S905), availableFlagLXM is set to “0”. (S908), it is determined whether or not the adjacent block N is the last of the adjacent blocks in the block group M (S909). The update of the variable N is set according to the processing order in the block group described above. Here, it is determined whether N is A1 (in the case of the left block group) or C0 (in the case of the upper block group).
隣接ブロックNが最後のブロックであれば(S909のY)、ブロック群Mの判定に進む(S916)。そうでなければ(S909のN)、変数Nをブロック群内の処理順に応じて更新し(S910)、ステップS901以降の処理を繰り返す。以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在するブロック群の隣接ブロックを代表する参照ブロックとして、その符号化情報が導出される。 If the adjacent block N is the last block (Y in S909), the process proceeds to determination of the block group M (S916). Otherwise (N in S909), the variable N is updated in accordance with the processing order in the block group (S910), and the processes in and after step S901 are repeated. As described above, the encoding information is derived as the reference block representing the adjacent block of the block group existing on the same picture as the prediction block to be processed.
実施例2でも実施例1と同様に、隣接ブロックで行われている予測が、次の条件を満たす場合においても、隣接ブロックが有効か否かを示すフラグavailableFlagLXMを1(有効)とし、参照隣接ブロックの候補として、その符号化情報を導出することが可能である。
条件1:同じ参照リストで、同じ参照ピクチャ番号
条件2:異なる参照リストで、同じ参照ピクチャ番号
条件3:同じ参照リストで、異なる参照ピクチャ番号
条件4:異なる参照リストで、異なる参照ピクチャ番号
In the second embodiment, as in the first embodiment, even when the prediction performed in the neighboring block satisfies the following condition, the flag availableFlagLXM indicating whether the neighboring block is valid is set to 1 (valid), and the reference neighboring The encoding information can be derived as a block candidate.
Condition 1: Same reference picture, same reference picture number Condition 2: Different reference list, same reference picture number Condition 3: Same reference list, different reference picture number Condition 4: Different reference list, different reference picture number
この場合の処理の流れを図39に示す。上述した図38と異なるのは、ステップS905の条件1のみの条件判定を削除した点、ステップS911の条件1から4の条件判定を行い、条件1または2を満たさない場合は動きベクトルのスケーリング処理(S912)を追加した点である。
FIG. 39 shows the flow of processing in this case. The difference from FIG. 38 described above is that the condition determination of
まず、ブロック群の変数Mを初期化する(S913)。ここでは、左側に隣接するブロック群に設定することとし、MにはAが設定される。次に、ブロック群の中の変数Nを初期化する(S900)。変数Nは上述したブロック群内の処理順に応じて設定され、Nの更新時には左側のブロック群でA0,A1、上側でB0,B1,C0の順に更新されることとする。以降のステップS901からステップS910までの処理は基本的に実施例1の図26と同様である。隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定し(S904)、隣接ブロックNの予測モードがIntraモードでない場合(S904のN)以降の処理が実施例2の図38と異なる。 First, the variable M of the block group is initialized (S913). Here, the block group adjacent to the left side is set, and M is set to A. Next, the variable N in the block group is initialized (S900). The variable N is set according to the processing order in the block group described above, and when N is updated, the left block group is updated in the order of A0, A1, and the upper side is updated in the order of B0, B1, C0. The subsequent processing from step S901 to step S910 is basically the same as that in FIG. It is determined whether or not the prediction mode of the adjacent block N is the intra-frame coding (Intra) mode (S904). If the prediction mode of the adjacent block N is not the Intra mode (N in S904), the subsequent processing is shown in FIG. Different from 38.
隣接ブロックNの予測モードがIntraモードでない場合(S904のN)、即ちInterモードの場合は、処理対象の予測ブロックの算出対象の予測の符号化情報と隣接ブロックNの符号化情報を比較することで条件1から4の判定処理を行う(S911)。条件1または条件2を満たす場合、Mが左のブロック群か否かの判定処理に進む(S914)。一方、条件3または条件4を満たす場合、実施例1の図26のS912と同様に隣接ブロックNの動きベクトルのスケーリング処理が実施され(S912)、Mが左のブロック群か否かの判定処理に進む(S914)。
When the prediction mode of the adjacent block N is not the Intra mode (N in S904), that is, in the case of the Inter mode, the coding information of the prediction target of the calculation target prediction block and the coding information of the adjacent block N are compared. Then, the determination process of
Mが左側のブロック群である場合(S914のY)、availableFlagLXMを“1”に設定される(S906)。Mが上側のブロック群である場合(S914のN)、左側のブロック群で選択された隣接ブロックの動きベクトルmvLXAと隣接ブロックNの動きベクトルが同じであるか否かを判定する(S915)。尚、処理量の削減の為に、ステップS914及びステップS915の処理を省略して、直接ステップS906に進むことも出来る。 If M is the left block group (Y in S914), availableFlagLXM is set to “1” (S906). If M is the upper block group (N in S914), it is determined whether or not the motion vector mvLXA of the adjacent block selected in the left block group and the motion vector of the adjacent block N are the same (S915). In order to reduce the amount of processing, the processing in step S914 and step S915 can be omitted and the processing can proceed directly to step S906.
左側のブロック群で選択された隣接ブロックの動きベクトルmvLXAと隣接ブロックNの符号化情報が同じ場合(S915のY)、availableFlagLXNを“0”に設定し(S908)、異なる場合(S915のN)、availableFlagLXMを“1”に設定する(S906)。 When the motion vector mvLXA of the adjacent block selected in the block group on the left side and the encoding information of the adjacent block N are the same (Y in S915), availableFlagLXN is set to “0” (S908), and different (N in S915) , AvailableFlagLXM is set to “1” (S906).
実施例1の図26のステップS907と同様に隣接ブロックNの同じ参照リスト(条件1に合致した場合)の動きベクトルmvLXあるいは異なる参照リスト(条件2に合致した場合)の動きベクトルmvLY、または同じ参照リスト(条件3に合致した場合)のスケーリングにより換算された動きベクトルmvLXあるいは異なる参照リスト(条件4に合致した場合)のスケーリングにより換算された動きベクトルmvLYをmvLXMに代入して設定される(S907)。
Similarly to step S907 of FIG. 26 in the first embodiment, the motion vector mvLX of the same reference list (when the
ブロック群Mの動きベクトルが設定された後、次のブロック群、即ち上側に隣接するブロック群について処理を行う為に、変数Mが上側か否か判定する(S916)。Mが上側でなければ(S916のN)、MをB(上側)に更新して(S917)、ステップS900以降の処理を繰り返す。Mが上側であれば(S916のY)、処理を終了する。 After the motion vector of the block group M is set, it is determined whether or not the variable M is on the upper side in order to perform processing on the next block group, that is, the block group adjacent on the upper side (S916). If M is not on the upper side (N in S916), M is updated to B (upper side) (S917), and the processes after step S900 are repeated. If M is on the upper side (Y in S916), the process is terminated.
availableFlagLXMを“0”に設定した場合(S908)、隣接ブロックNがブロック群M内の隣接ブロックの最後か否かの判定を実施する(S909)。変数Nの更新は上述したブロック群内の処理順に応じて設定され、ここではNがA1(左側のブロック群の場合)或いはC0(上側のブロック群の場合)か否かの判定を行う。隣接ブロックNが最後のブロックであれば(S909のY)、ブロック群Mの判定に進み(S916)、そうでなければ(S909のY)、変数Nをブロック群内の処理順に応じて更新し(S910)、ステップS901以降の処理を繰り返す。以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在するブロック群の隣接ブロックを代表する参照ブロックとして、その動きベクトルが導出される。 When availableFlagLXM is set to “0” (S908), it is determined whether or not the adjacent block N is the last of the adjacent blocks in the block group M (S909). The update of the variable N is set according to the processing order in the block group described above. Here, it is determined whether N is A1 (in the case of the left block group) or C0 (in the case of the upper block group). If the adjacent block N is the last block (Y in S909), the process proceeds to the determination of the block group M (S916). Otherwise (Y in S909), the variable N is updated according to the processing order in the block group. (S910), the process after step S901 is repeated. As described above, the motion vector is derived as a reference block representing an adjacent block of a block group existing on the same picture as the prediction block to be processed.
図37に戻り、次に、時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報が有効か否かを判定し、導出する(S801)。これは実施例1のステップS801と同様なので説明を割愛する。こうして得られた隣接ブロックの符号化情報は参照候補リスト作成部321に入力される。参照候補リスト作成部321で作成される参照候補リストは、L0予測及びL1予測の2つの参照リストに対してそれぞれ参照候補リストが作成される。本明細書では、特に注釈をしない限り、動き検出モード時の参照候補リストは説明の都合上1つだけを挙げて説明することとし、図で示す参照候補リストも1つだけ挙げることにする。
Returning to FIG. 37, next, it is determined whether or not the coding information of the block adjacent to the same position of another picture having a different time is valid (S801). Since this is the same as step S801 in the first embodiment, a description thereof will be omitted. The encoding information of the adjacent block obtained in this way is input to the reference candidate
実施例2では、参照候補リスト格納メモリ324に、参照隣接ブロックの符号化情報の候補を登録する記憶領域として参照候補リストを設ける。参照隣接ブロックの符号化情報の候補に優先順位をつけて、優先順位の高いものから参照候補リスト格納メモリ324に、参照隣接ブロックの符号化情報の候補を登録する。これにより、参照候補リストのインデックスmvp_idx_l0及びmvp_idx_l1の符号量を削減することが可能となる。
In the second embodiment, a reference candidate list is provided in the reference candidate
優先順位の高い要素を参照候補リストの前方に配置することで、符号量を削減する。優先順位を示すインデックスは0から昇順に割り当てる。参照候補リスト格納メモリ324に設けられる参照候補リストは、リスト構造を成し、参照候補リスト内部の所在を示すインデックスと、インデックスに対応する参照隣接ブロックの符号化情報の候補を要素として格納する配列領域が設けられる。この配列領域はcandListLXで表される。インデックスの数字は0から開始され、参照候補リストcandListLXの記憶領域に、参照隣接ブロックの符号化情報の候補が格納される。以降の処理では、参照候補リストcandListLXに登録されたインデックスiの符号化情報は、candListLX[i]で表すこととし、参照候補リストcandListLXとは配列表記をすることで区別することとする。尚、参照候補リストの記憶領域に格納される符号化情報は、特に断らない限り、参照隣接ブロックの位置名(A0,A1,B0,B1,C0,T)で表すこととする。
The amount of codes is reduced by placing elements with higher priorities in front of the reference candidate list. The index indicating the priority order is assigned in ascending order from 0. The reference candidate list provided in the reference candidate
参照候補リスト作成部321は実施例1と同様の動作を行い、参照する左側及び上側のの隣接ブロック群、時間が異なる別のピクチャの同一位置に隣接するブロックの有効フラグavailableFlagLXM(ここでMはA,B,T)の判定を行い、隣接ブロックの符号化情報を参照候補リストcandListLXに登録する。ここで、変数Nを更新する隣接ブロックの順番が参照候補リストに格納する優先順位となっており、実施例2では、左側、上側、異なる時間の同じ順番(A,B,T)を設定することとする。以上の処理により、参照候補リストに登録された、参照隣接ブロックが全て有効であれば、図40に示される順番で参照候補リストが作成される。
The reference candidate
優先順位をインデックスとして、各符号語は参照候補リストの右列で表され、最大符号語長は2となる。ここで、参照候補リスト内部の括弧は、左側或いは上側の隣接ブロック群の中から、符号化情報導出部320で括弧内の左から右の順に処理され、選択される1つの隣接ブロックを表す。参照隣接ブロックが1つだけ有効となる場合、最大符号語長は0となるので、符号語は必要とせず、1つだけ有効と判定された隣接ブロックの符号化情報の候補が参照先として一意に決定されることになる。
Using the priority as an index, each codeword is represented by the right column of the reference candidate list, and the maximum codeword length is 2. Here, the parentheses in the reference candidate list represent one adjacent block that is processed by the encoding
作成された参照候補リストは、同一情報検出部322にて同一の符号化情報となる参照候補リストに格納された符号化情報を削除し、差分動きベクトル算出部326にて作成された参照候補リストの中の符号化情報の動きベクトルを予測動きベクトルとして、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを出力部323に供給する。
In the created reference candidate list, the same
最後に、出力部323が、作成された参照候補リストの中のインデックスと差分動きベクトルを出力する。参照候補リストは、参照候補リストをMVPリストとして、リストの中のインデックスをMVPインデックスとして出力する。動画像符号化装置100では、予測方法決定部107に出力される。
Finally, the
上述した動画像符号化装置100の中に設置される実施例2の動きベクトル予測部103に対応する、動画像復号装置200の中に設置される実施例2の動きベクトル算出部204について説明する。動きベクトル算出部204は図30と同じ構成をなし、符号化情報導出部320の処理が実施例1と異なる。それ以外の参照候補リスト作成部321、同一情報検出部322、参照候補リスト格納メモリ324、選択部325及び動きベクトル加算部327は実施例1と同一の機能を備える。
The motion
また、符号化情報導出部320は上述した実施例2における動きベクトル予測部103の符号化情報導出部320と同一の機能を備えているので、動きベクトル算出部204の同一情報検出部322までの処理で、実施例2の動きベクトル予測部103と同一の参照候補リストが作成されることになる。作成された参照候補リストから、動き検出モードにおいて参照隣接ブロックの符号化情報を取得する選択部325について説明する。選択部325は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択された参照候補リストの隣接ブロックの符号化情報から動きベクトルを予測動きベクトルとして出力し、動きベクトル加算部327にて予測動きベクトルと第1の符号化ビット列復号部202で復号された差分動きベクトルとを加算して動きベクトルを算出し、動き補償予測部207に供給するとともに、選択されたリストの隣接ブロックの符号化情報を符号化情報格納メモリ210に供給する。
Also, since the encoded
尚、実施例2では、各ブロック群から1つの隣接ブロックを、参照隣接ブロックの代表として選出したが、複数個の隣接ブロックを選出しても構わない。但し、ブロック群の中のブロック数を超えない範囲で設定する。 In the second embodiment, one adjacent block is selected from each block group as a representative reference adjacent block. However, a plurality of adjacent blocks may be selected. However, it is set within the range not exceeding the number of blocks in the block group.
(実施例3)
実施例3では、予測モードに応じて参照隣接ブロックの選択方法を変える。図31(a)の隣接ブロックの配置を用いて説明する。マージモードでは6つの隣接ブロックA0,A1,B0,B1,C0,Tの中から1つの隣接ブロックの符号化情報を参照先として選択する。動き検出モードでは6つの隣接ブロックA0,A1,B0,B1,C0,Tのうち、A0とA1を左側に隣接するブロック群、B0、B1とC0を上側に隣接するブロック群に分類し、各ブロック群の中から1つを代表する隣接ブロックとして選択する。左側及び上側に隣接するブロック群の各代表ブロックとTの3つの隣接ブロックから1つの隣接ブロックの符号化情報を参照先として選択する。即ち、マージモードは実施例1の手法を、動き検出モードは実施例2の手法をそれぞれに適用する混合手法である。
(Example 3)
In the third embodiment, the reference adjacent block selection method is changed according to the prediction mode. This will be described using the arrangement of adjacent blocks in FIG. In the merge mode, the encoding information of one adjacent block is selected as a reference destination from the six adjacent blocks A0, A1, B0, B1, C0, and T. In the motion detection mode, among the six adjacent blocks A0, A1, B0, B1, C0, T, A0 and A1 are classified into a block group adjacent to the left side, B0, B1 and C0 are classified into a block group adjacent to the upper side, The block is selected as an adjacent block representing one from the block group. Encoding information of one adjacent block is selected as a reference destination from each representative block of the block group adjacent to the left side and the upper side and three adjacent blocks of T. That is, the merge mode is a mixed method in which the method of the first embodiment is applied, and the motion detection mode is a method of applying the method of the second embodiment.
マージモードでは、参照隣接ブロックの候補の符号化情報をそのまま用いて、画像間予測を行うので、選択の余地を残す為に、動き検出モードよりも多くの候補をリストに登録する。これは、マージモードは動き検出モードと比較して、多くの情報(動きベクトル、参照インデックス、参照リスト)をわずかな符号量で伝送出来る為であり、マージインデックスの符号量を削減するよりも、隣接ブロックの候補を残して選択の幅を広げた方が符号化効率が向上するからである。一方、動き検出モードでは、参照隣接ブロックの候補の符号化情報をそのまま用いるのではなく、差分動きベクトルをはじめとする符号化情報を符号化するので、スキャンを行い候補を絞ってリストに登録する。これは、候補を絞ることにより、MVPインデックスの符号量を削減した方が符号化効率が向上するからである。 In the merge mode, since the inter-picture prediction is performed using the coding information of the reference adjacent block candidates as they are, more candidates are registered in the list than in the motion detection mode in order to leave room for selection. This is because the merge mode can transmit a lot of information (motion vector, reference index, reference list) with a small amount of code compared to the motion detection mode, rather than reducing the code amount of the merge index. This is because the coding efficiency improves when the selection range is widened by leaving the adjacent block candidates. On the other hand, in the motion detection mode, the encoding information including the differential motion vector is encoded instead of using the encoding information of the reference adjacent block candidates as they are, so that the candidates are registered in the list by performing scanning. . This is because the encoding efficiency is improved by reducing the code amount of the MVP index by narrowing down candidates.
実施例3で作成される候補リストは、参照隣接ブロックが全て有効であった場合、予測モード別に図41のように表される。マージ検出部106及び動きベクトル予測部103でそれぞれ参照候補リストが作成され、候補リスト総数も異なるので符号語も3項目以降で異なるが、それぞれ最適な符号語として作成されているので、符号化効率の改善が期待出来る。また、符号語長が長くなるが、動き検出モードの符号語“11”(2進数表記)を同じ行のマージモードの“110”(2進数表記)に合わせて、出現する符号語の種類を共通化しても良い。
The candidate list created in the third embodiment is represented as shown in FIG. 41 for each prediction mode when all the reference neighboring blocks are valid. Reference candidate lists are respectively created by the
(実施例4)
実施例4は、処理対象の予測ブロックと同じピクチャ上にある隣接ブロック(以下、空間の隣接ブロックとする)から2つのブロックを代表する隣接ブロックとして選択する方法である。この点は実施例2と同様であるが、実施例2では空間の隣接ブロックを2つのブロック群に分けて定義し、ブロック群単位に1つずつ代表する隣接ブロックを選出した。実施例4では空間の隣接ブロック全体を1つのブロック群とし、この中から2つの代表する隣接するブロックを選出する点が異なる。
Example 4
The fourth embodiment is a method of selecting two blocks as neighboring blocks from neighboring blocks (hereinafter referred to as spatial neighboring blocks) on the same picture as the prediction block to be processed. This point is the same as in the second embodiment, but in the second embodiment, adjacent blocks in the space are defined by being divided into two block groups, and one adjacent block is selected for each block group. The fourth embodiment is different in that the entire adjacent blocks in the space are made one block group, and two representative adjacent blocks are selected from these blocks.
実施例2と同様に処理対象の予測ブロックと同じピクチャ上にある隣接ブロックを代表する2つの隣接ブロック及び時間が異なる別のピクチャの同一位置に隣接するブロックの3つの隣接ブロックが参照候補リストに登録されることになる。参照候補リストに登録する隣接ブロックの総数を実施例1に比べて削減することが出来るので、同一情報検出部312での符号化情報の比較回数、同一情報検出部322での動きベクトルの比較回数を削減することができる。更に、参照候補リストのインデックスに割り当てる符号語長が短くなり、参照候補リストのインデックスの符号量を削減することが出来る。更に、隣接ブロックの選出処理順番を予測モードに応じて変更することで、予測モードに適した隣接ブロックの選択が可能となり、符号化効率の改善が期待出来る。
As in the second embodiment, three adjacent blocks including two adjacent blocks representing adjacent blocks on the same picture as the prediction block to be processed and blocks adjacent to the same position of another picture having different times are included in the reference candidate list. Will be registered. Since the total number of adjacent blocks registered in the reference candidate list can be reduced compared to the first embodiment, the number of comparisons of encoded information in the same
処理順番は予測モードがマージモードの場合、マージ検出部106及びマージ判定部206は図9(a)のA1,B1,B0,A0,C0(またはB1,A1,A0,B0,C0)の順序で処理を行う。動き検出モードの場合、動きベクトル予測部103及び動きベクトル算出部204は図9(a)のB0,A0,A1,B1,C0(またはA0,B0,B1,A1,C0)の順序で処理を行う。
When the prediction mode is the merge mode, the
マージモードでは、隣接ブロックA1,B1を優先して選択し、候補リストに登録する。これは、隣接ブロックA1,B1は、処理対象の予測ブロックと辺が接しているため、他の隣接ブロック(A0,B0,C)よりも、処理対象の予測ブロックと符号化情報が等しい可能性が高く、可能性の高い候補を登録することが、マージモードでの符号化効率向上に寄与する。一方、動き検出モードでは、隣接ブロックA0,B0を優先して選択し、候補リストに登録する。隣接ブロックA0,B0は、隣接ブロックの中で候補間の距離が最も離れており、異なる性質の動きベクトルを登録できる可能性が高く、予測動きベクトルの選択の幅を広げることが可能である。これにより、差分動きベクトルを伝送する際に大きな符号量が発生しにくくなり、動き検出モードでの符号化効率向上に寄与する。 In the merge mode, adjacent blocks A1 and B1 are preferentially selected and registered in the candidate list. This is because the adjacent blocks A1 and B1 are in contact with the prediction block to be processed, and the sides thereof are in contact with each other, so that the prediction information to be processed and the encoding information may be equal to those of the other adjacent blocks (A0, B0, and C). Registering a candidate having a high and high possibility contributes to an improvement in encoding efficiency in the merge mode. On the other hand, in the motion detection mode, adjacent blocks A0 and B0 are preferentially selected and registered in the candidate list. The adjacent blocks A0 and B0 have the longest distance between candidates in the adjacent blocks, and it is highly possible that a motion vector having a different property can be registered, and the range of selection of a predicted motion vector can be expanded. This makes it difficult to generate a large amount of code when transmitting a differential motion vector, which contributes to improvement in coding efficiency in the motion detection mode.
実施例4の動画像符号化装置100及び動画像復号装置200の構成は実施例1、2と同じである。また、実施例4の動作は図11及び図22の符号化情報導出部310、図23及び図30の符号化情報導出部320の動作を除き実施例2と同一である。以下では、実施例2とは異なる実施例4の動作についてのみ詳細な説明をする。
The configurations of the moving
まず、動画像符号化装置の中のマージ検出部106の動作について説明する。マージ検出部106は実施例2の図11と同じ構成をなすが、符号化情報導出部310の処理が実施例2とは異なるので、実施例4における符号化情報導出部310の動作について説明する。図42は実施例4における符号化情報導出部310の動作を示すフローチャートである。
First, the operation of the
最初に、スイッチ108に入力される動画像符号化装置100により制御される予測モードにより、インター予測情報検出部104の出力先がマージ検出部106に切り換えられ、インター予測情報検出部104の内部の一時メモリ303に記憶された、処理対象の予測ブロックが参照隣接ブロックの符号化情報が符号化情報導出部310に入力される。
First, the output destination of the inter prediction
入力された隣接ブロックの中から処理対象の予測ブロックと同じピクチャにある隣接ブロックの符号化情報が有効か否かを判定し、2つの隣接ブロックを導出する(S105)。図43に処理対象の予測ブロックと同じピクチャにある隣接ブロック毎の判定処理の詳細な流れを示す。 From the input adjacent blocks, it is determined whether or not the coding information of the adjacent block in the same picture as the prediction block to be processed is valid, and two adjacent blocks are derived (S105). FIG. 43 shows a detailed flow of determination processing for each adjacent block in the same picture as the prediction block to be processed.
まず、選択された隣接ブロックを示す変数FをS0に設定し、カウンタkを0に設定する(S1600)。選択された隣接ブロックを示す変数FのS0は最初に選出される第1候補の隣接ブロックを示し、S1は2番目に選出される第2候補の隣接ブロックを示す。 First, the variable F indicating the selected adjacent block is set to S0, and the counter k is set to 0 (S1600). S0 of the variable F indicating the selected adjacent block indicates the first candidate adjacent block selected first, and S1 indicates the second candidate adjacent block selected second.
次に、処理中の隣接ブロックを示す変数NをA1に初期化する(S1601)。処理中の隣接ブロックを示す変数NはA1,B1,B0,A0,C0の処理順に応じて設定され、Nの更新時にはこの順に更新されることとする。 Next, a variable N indicating the adjacent block being processed is initialized to A1 (S1601). The variable N indicating the adjacent block being processed is set according to the processing order of A1, B1, B0, A0, C0, and is updated in this order when N is updated.
次に、以降の判定で使用する隣接ブロックの符号化情報を格納しておく変数を初期化する(S1602)。ここで、変数は隣接ブロックが有効か否かを示すフラグavailableFlagF、動きベクトルmvLXF、参照ピクチャ番号refIdxLXF及び予測方向の有効性を示すフラグpredFlagLXFであり、次のように初期化される。
availableFlagF=0
mvLXF=(0,0)
refIdxLXF=0
predFlagLXF=0
ここで、添え字Xには予測方向を表す0若しくは1が設定される。処理中の隣接ブロックを示す変数Nの隣接ブロック(以下、隣接ブロックNとする)の位置及び符号化情報を取得する(S1603)。
Next, a variable for storing coding information of adjacent blocks used in the subsequent determination is initialized (S1602). Here, the variables are a flag availableFlagF indicating whether the adjacent block is valid, a motion vector mvLXF, a reference picture number refIdxLXF, and a flag predFlagLXF indicating the validity of the prediction direction, and are initialized as follows.
availableFlagF = 0
mvLXF = (0,0)
refIdxLXF = 0
predFlagLXF = 0
Here, 0 or 1 indicating the prediction direction is set in the subscript X. The position of the adjacent block (hereinafter referred to as the adjacent block N) of the variable N indicating the adjacent block being processed and the encoding information are acquired (S1603).
取得された隣接ブロックNの位置に基づいて、隣接ブロックNが有効か否かを判定する(S1604)。例えば、処理対象の予測ブロックがピクチャ左端に位置する場合、処理対象の予測ブロックの左の隣接ブロックは存在しないので、符号化情報格納メモリ114の中に該当する符号化情報は無いことになり、無効と判定される。
Based on the acquired position of the adjacent block N, it is determined whether or not the adjacent block N is valid (S1604). For example, when the prediction block to be processed is located at the left end of the picture, there is no adjacent block to the left of the prediction block to be processed, so there is no corresponding encoding information in the encoding
隣接ブロックNが無効の場合(S1604のN)、availableFlagFを“0”に設定する(S1613)。隣接ブロックNが有効の場合(S1604のY)、隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定し(S1605)、隣接ブロックNの予測モードがIntraモードの場合(S1605のY)、availableFlagFを“0”に設定する(S1613)。 When the adjacent block N is invalid (N in S1604), availableFlagF is set to “0” (S1613). When the adjacent block N is valid (Y in S1604), it is determined whether or not the prediction mode of the adjacent block N is the intra-frame coding (Intra) mode (S1605), and when the prediction mode of the adjacent block N is Intra mode ( Y in S1605), availableFlagF is set to “0” (S1613).
隣接ブロックNの予測モードがIntraモードでない場合(S1605のN)、即ちInterモードの場合は、FがS0か否かの判定(S1606)に進み、FがS0の場合(S1606のY)、availableFlagF(availableFlagS0)を1に設定する(S1608)。 When the prediction mode of the adjacent block N is not Intra mode (N in S1605), that is, in the Inter mode, the process proceeds to determination of whether F is S0 (S1606). If F is S0 (Y in S1606), availableFlagF (AvailableFlagS0) is set to 1 (S1608).
FがS0でない場合(S1606のN)、既に選択された隣接ブロックの符号化情報と隣接ブロックNの符号化情報が同じであるか否かを判定する(S1607)。既に選択された隣接ブロックの符号化情報と隣接ブロックNの符号化情報が同じ場合(S1607のY)、availableFlagFを“0”に設定する(S1613)。 If F is not S0 (N in S1606), it is determined whether the encoding information of the adjacent block already selected and the encoding information of the adjacent block N are the same (S1607). When the encoding information of the adjacent block already selected and the encoding information of the adjacent block N are the same (Y in S1607), availableFlagF is set to “0” (S1613).
具体的には、空間の隣接ブロックの最大数を2とした場合、最初に第1候補として選択された符号化情報を保持しておき、第2候補の選出の際の比較判定に使用する。この処理により、第2候補の隣接ブロックの符号化情報が代表する第1候補の隣接ブロックの符号化情報と重複することが無くなるので、より多くの候補を参照先として選択可能になる。尚、処理量の削減のために、ステップS1606及びステップS1607の処理を省略して、直接ステップS1608に進むことも出来る。 Specifically, when the maximum number of adjacent blocks in the space is set to 2, the encoding information first selected as the first candidate is retained and used for comparison determination when selecting the second candidate. By this process, the encoding information of the adjacent block of the second candidate does not overlap with the encoding information of the adjacent block of the first candidate that is representative, so that more candidates can be selected as reference destinations. In order to reduce the amount of processing, the processing in steps S1606 and S1607 can be omitted and the processing can proceed directly to step S1608.
第1候補として選択された隣接ブロックの符号化情報と隣接ブロックNの符号化情報が異なる場合(S1607のN)、availableFlagF(availableFlagS1)を“1”に設定する(S1608)。続いて、隣接ブロックNの符号化情報をrefIdxLXF、mvLXF及びpredFlagLXFに代入して設定する(S1609)。 If the encoding information of the adjacent block selected as the first candidate and the encoding information of the adjacent block N are different (N in S1607), availableFlagF (availableFlagS1) is set to “1” (S1608). Subsequently, the encoding information of the adjacent block N is substituted and set in refIdxLXF, mvLXF, and predFlagLXF (S1609).
次に、カウンタkに1を加算することで更新し(S1610)、カウンタkが空間の候補の最大候補数である2より小さいか判定する(S1611)。カウンタkが空間の候補の最大候補数である2の場合(S1611のY)、選択された空間の隣接ブロックの候補数を示す変数NumListCandをkに設定し(S1616)、処理を終了する。 Next, the counter k is updated by adding 1 (S1610), and it is determined whether the counter k is smaller than 2, which is the maximum number of candidates for the space (S1611). When the counter k is 2 which is the maximum number of space candidates (Y in S1611), a variable NumListCand indicating the number of adjacent block candidates in the selected space is set to k (S1616), and the process ends.
availableFlagFを“0”に設定した場合(S1613)、隣接ブロックNが隣接ブロックの最後か否かの判定を実施する(S1614)。また、kが空間の候補の最大候補数である2より小さい場合(S1611のN)、FをS1に更新し(S1612)、隣接ブロックNが隣接ブロックの最後か否かの判定を実施する(S1614)。変数Nの更新は上述したA1,B1,B0,A0,C0の処理順に応じて設定され、ここではNがC0か否かの判定を行う。 When availableFlagF is set to “0” (S1613), it is determined whether or not the adjacent block N is the last of the adjacent blocks (S1614). If k is smaller than 2 which is the maximum number of space candidates (N in S1611), F is updated to S1 (S1612), and it is determined whether or not the adjacent block N is the last of the adjacent blocks ( S1614). The update of the variable N is set according to the processing order of the above-described A1, B1, B0, A0, C0, and here, it is determined whether or not N is C0.
隣接ブロックNが最後のブロックであれば(S1614のY)、選択された空間の隣接ブロックの候補数を示す変数NumListCandをkに設定し(S1616)、処理を終了する。隣接ブロックNが最後のブロックでなければ(S1614のN)、変数NをA1,B1,B0,A0,C0の処理順に応じて更新し(S1615)、ステップS1602以降の処理を繰り返す。以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在するブロック群の隣接ブロックを代表する2つの参照ブロックとして、それぞれの符号化情報が導出される。 If the adjacent block N is the last block (Y in S1614), a variable NumListCand indicating the number of adjacent block candidates in the selected space is set to k (S1616), and the process ends. If the adjacent block N is not the last block (N in S1614), the variable N is updated according to the processing order of A1, B1, B0, A0, and C0 (S1615), and the processes after step S1602 are repeated. As described above, the respective pieces of encoding information are derived as two reference blocks representing adjacent blocks of a block group existing on the same picture as the prediction block to be processed.
図42に戻り、ステップS105に続いて、時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報を候補とする場合の、処理対象の予測ブロックの参照ピクチャ番号を決定する(S104)。このステップS104の処理は実施例1、2のステップS104と同様である。次に、時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報が有効か否かを判定し、導出する(S102)。この実施例4のステップS102の処理も実施例1、2のステップS102と同様である。 Returning to FIG. 42, following step S105, the reference picture number of the prediction block to be processed is determined when the coding information of the block adjacent to the same position of another picture with a different time is a candidate (S104). . The process in step S104 is the same as step S104 in the first and second embodiments. Next, it is determined whether or not the coding information of a block adjacent to the same position of another picture with different time is valid (S102). The processing in step S102 in the fourth embodiment is the same as that in step S102 in the first and second embodiments.
こうして得られた隣接ブロックの符号化情報は参照候補リスト作成部311に入力される。実施例4でも実施例2と同様に、参照候補リスト格納メモリ314に、参照隣接ブロックの符号化情報の候補を登録する記憶領域として参照候補リストを設ける。参照隣接ブロックの符号化情報の候補に優先順位をつけて、優先順位の高いものから参照候補リストに、参照隣接ブロックの符号化情報の候補を登録する。これにより、参照候補リストのインデックスmerge_idxの符号量を削減する。
The encoding information of the adjacent blocks obtained in this way is input to the reference candidate
参照候補リスト作成部311は図19のフローチャートに示す実施例1、2と同様の動作を行う。但し、実施例4の変数Fの値を図19の変数Nの値として設定して動作させる。空間の第1候補の隣接ブロックS0、空間の第2候補の隣接ブロックS1、及び時間が異なる別のピクチャの同一位置に隣接するブロックTの有効フラグavailableFlagN(ここでNはS0,S1,T)の判定が行われ、隣接ブロックの符号化情報を参照候補リストcandListに登録する。ここで、変数Nを更新する隣接ブロックの順番が参照候補リストに格納する優先順位となっており、実施例4では、同じ時間の第1候補、同じ時間の第2候補、異なる時間の同じ順番(S0,S1,T)の順序で設定することとする。
The reference candidate
実施例1、2と同様に、作成された参照候補リストは、同一情報検出部312にて同一の符号化情報となる参照候補リストに格納された符号化情報を削除し、出力部313にて作成された参照候補リストの中のインデックスと符号化情報を出力する。参照候補リストは、参照候補リストをマージリストとして、リストの中のインデックスをマージインデックスとして出力する。動画像符号化装置100では、動き補償予測部105と予測方法決定部107に出力される。
As in the first and second embodiments, the created reference candidate list deletes the encoded information stored in the reference candidate list that is the same encoded information in the same
上述した動画像符号化装置100の中に設置される実施例4のマージ検出部106に対応する、動画像復号装置200の中に設置される実施例4のマージ判定部206について説明する。マージ判定部206は実施例2の図22と同じ構成をなし、符号化情報導出部310の処理が実施例2と異なる。それ以外の参照候補リスト作成部311、同一情報検出部312、参照候補リスト格納メモリ314及び選択部315は実施例2と同一の機能を備える。
The
また、マージ判定部206の符号化情報導出部310は上述した実施例4におけるマージ検出部106の符号化情報導出部310と同一の機能を備えており、マージ判定部206の参照候補リスト作成部311は上述した実施例4におけるマージ検出部106の参照候補リスト作成部311と同一の機能を備えており、マージ判定部206の同一情報検出部312は上述した実施例4におけるマージ検出部106の同一情報検出部312と同一の機能を備えているので、マージ判定部206の同一情報検出部312までの処理で、実施例4のマージ検出部106と同一の参照候補リストが作成される。
The encoded
実施例2と同様に選択部315では、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された、参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択された符号化情報を動き補償予測部207に供給するとともに、符号化情報格納メモリ210に供給する。
As in the second embodiment, the
次に、動画像符号化装置100の構成を示す図2の中に設置される実施例4の動きベクトル予測部103について説明する。動きベクトル予測部103は実施例2の図23と同じ構成をなすが、符号化情報導出部320の処理が実施例2とは異なるので、実施例4における符号化情報導出部320の動作について説明する。図44は実施例4における符号化情報導出部320の動作を示すフローチャートである。
Next, the motion
最初に、スイッチ108に入力される動画像符号化装置100により制御される予測モードにより、インター予測情報検出部104の出力先が動きベクトル予測部103に切り換えられる。インター予測情報検出部104の内部の一時メモリ303に記憶された、処理対象の予測ブロックが参照隣接ブロックの符号化情報が符号化情報導出部320に入力される。
First, the output destination of the inter prediction
入力された隣接ブロックの中から処理対象の予測ブロックと同じピクチャにある隣接ブロックの符号化情報が有効か否かを判定し、2つの隣接ブロックを導出する(S803)。図45に処理対象の予測ブロックと同じピクチャにある隣接ブロック毎の判定処理の詳細な流れを示す。図45に示す処理を処理対象のブロックの予測モードに応じて、L0予測の場合について行い、L1予測の場合について行い、L0予測とL1予測の両予測の場合それぞれについて行う。 From the input adjacent blocks, it is determined whether the coding information of the adjacent block in the same picture as the processing target prediction block is valid, and two adjacent blocks are derived (S803). FIG. 45 shows a detailed flow of determination processing for each adjacent block in the same picture as the prediction block to be processed. The process shown in FIG. 45 is performed in the case of L0 prediction, in the case of L1 prediction, and in the case of both predictions of L0 prediction and L1 prediction in accordance with the prediction mode of the block to be processed.
まず、空間候補インデックスFをS0に設定し、カウンタkを0に設定する(S1700)。空間候補インデックスFのS0は最初に選出される第1候補の隣接ブロックを示し、S1は2番目に選出される第2候補の隣接ブロックを示す。 First, the space candidate index F is set to S0, and the counter k is set to 0 (S1700). S0 of the spatial candidate index F indicates the first candidate adjacent block selected first, and S1 indicates the second candidate adjacent block selected second.
次に、ブロック群の中の変数NをA1に初期化する(S1701)。処理中の隣接ブロックを示す変数NはB0,A0,A1,B1,C0の処理順に応じて設定され、Nの更新時にはこの順に更新されることとする。 Next, the variable N in the block group is initialized to A1 (S1701). The variable N indicating the adjacent block being processed is set according to the processing order of B0, A0, A1, B1, and C0, and is updated in this order when N is updated.
次に、以降の判定で使用する隣接ブロックの符号化情報を格納しておく変数を初期化する(S1702)。ここで、変数は隣接ブロックが有効か否かを示すフラグavailableFlagF、動きベクトルmvLXF、参照ピクチャ番号refIdxLXF及び予測方向の有効性を示すフラグpredFlagLXFであり、次のように初期化される。
availableFlagLXF=0
mvLXF=(0,0)
refIdxLXF=0
predFlagLXF=0
ここで、添え字Xには予測方向を表す0若しくは1が設定される。処理中の隣接ブロックを示す変数Nの隣接ブロック(以下、隣接ブロックNとする)の位置及び符号化情報を取得する(S1703)。
Next, a variable for storing encoding information of adjacent blocks used in the subsequent determination is initialized (S1702). Here, the variables are a flag availableFlagF indicating whether the adjacent block is valid, a motion vector mvLXF, a reference picture number refIdxLXF, and a flag predFlagLXF indicating the validity of the prediction direction, and are initialized as follows.
availableFlagLXF = 0
mvLXF = (0,0)
refIdxLXF = 0
predFlagLXF = 0
Here, 0 or 1 indicating the prediction direction is set in the subscript X. The position of the adjacent block of variable N (hereinafter referred to as adjacent block N) indicating the adjacent block being processed and the encoding information are acquired (S1703).
取得された隣接ブロックNの位置に基づいて、隣接ブロックNが有効か否かを判定する(S1704)。例えば、処理対象の予測ブロックがピクチャ左端に位置する場合、処理対象の予測ブロックの左の隣接ブロックは存在しないので、符号化情報格納メモリ114の中に該当する符号化情報は無いことになり、無効と判定される。
Based on the acquired position of the adjacent block N, it is determined whether or not the adjacent block N is valid (S1704). For example, when the prediction block to be processed is located at the left end of the picture, there is no adjacent block to the left of the prediction block to be processed, so there is no corresponding encoding information in the encoding
隣接ブロックNが無効の場合(S1704のN)、availableFlagLXFを“0”に設定する(S1715)。隣接ブロックNが有効の場合(S1704のY)、隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定し(S1705)、隣接ブロックNの予測モードがIntraモードの場合(S1705のY)、availableFlagLXFを“0”に設定する(S1715)。 If the adjacent block N is invalid (N in S1704), the availableFlagLXF is set to “0” (S1715). If the adjacent block N is valid (Y in S1704), it is determined whether or not the prediction mode of the adjacent block N is the intra-frame coding (Intra) mode (S1705). If the prediction mode of the adjacent block N is Intra mode ( Y of S1705), availableFlagLXF is set to “0” (S1715).
隣接ブロックNの予測モードがIntraモードでない場合(S1705のN)、即ちInterモードの場合は、処理対象の予測ブロックの算出対象の予測と隣接ブロックNの符号化情報を比較することで条件1から4の判定処理を行う(S1709)。条件1または条件2を満たす場合、FがS0か否かの判定処理に進む(S1706)。一方、条件3または条件4を満たす場合、実施例2の図39のS912と同様に隣接ブロックNの動きベクトルのスケーリング処理が実施され(S1710)、FがS0か否かの判定処理に進む(S1706)。
When the prediction mode of the adjacent block N is not the Intra mode (N in S1705), that is, in the Inter mode, the prediction target of the calculation target prediction block is compared with the encoding information of the adjacent block N from
FがS0の場合(S1706のY)、availableFlagLXF(availableFlagLXS0)を1に設定する(S1708)。FがS0でない場合(S1706のN)、既に選択された隣接ブロックの動きベクトルと、隣接ブロックNの動きベクトルまたは隣接ブロックNの動きベクトルがスケーリングされた動きベクトルmvLXNが同じであるか否かを判定する(S1707)。 When F is S0 (Y in S1706), availableFlagLXF (availableFlagLXS0) is set to 1 (S1708). If F is not S0 (N in S1706), whether or not the motion vector of the already selected adjacent block and the motion vector mvLXN in which the motion vector of the adjacent block N or the motion vector of the adjacent block N is scaled are the same. Determination is made (S1707).
既に選択された隣接ブロックの動きベクトルと隣接ブロックNの動きベクトルが同じ場合(S1707のY)、availableFlagLXFを“0”に設定する(S1715)。具体的には、空間の隣接ブロックの最大数を2とした場合、最初に第1候補として選択された動きベクトルを保持しておき、第2候補の選出の際の比較判定に使用する。この処理により、第2候補の隣接ブロックの符号化情報が代表する第1候補の隣接ブロックの動きベクトルと重複することが無くなるので、参照先として選択肢の幅が広がる。尚、処理量の削減のために、ステップS1706及びステップS1707の処理を省略して、直接ステップS1708に進み、availableFlagLXF(availableFlagLXS1)を“1”に設定することも出来る(S1708)。 When the motion vector of the adjacent block already selected and the motion vector of the adjacent block N are the same (Y in S1707), availableFlagLXF is set to “0” (S1715). Specifically, when the maximum number of adjacent blocks in the space is 2, the motion vector that is first selected as the first candidate is stored and used for comparison determination when selecting the second candidate. By this processing, the encoded information of the adjacent block of the second candidate does not overlap with the motion vector of the adjacent block of the first candidate represented, so that the range of options as a reference destination is expanded. In order to reduce the processing amount, the processing in steps S1706 and S1707 may be omitted, and the process may directly proceed to step S1708 to set availableFlagLXF (availableFlagLXS1) to “1” (S1708).
第1候補として選択された隣接ブロックの動きベクトルmvLXS0と隣接ブロックNの動きベクトルmvLXNが異なる場合(S1707のN)、availableFlagLXF(availableFlagLXS1)を“1”に設定する(S1708)。隣接ブロックNの同じ参照リスト(条件1に合致した場合)の動きベクトルmvLXあるいは異なる参照リスト(条件2に合致した場合)の動きベクトルmvLY、または同じ参照リスト(条件3に合致した場合)のスケーリングにより換算された動きベクトルmvLXあるいは異なる参照リスト(条件4に合致した場合)のスケーリングにより換算された動きベクトルmvLYをmvLXMに代入して設定される(S1711)。
When the motion vector mvLXS0 of the adjacent block selected as the first candidate is different from the motion vector mvLXN of the adjacent block N (N in S1707), the availableFlagLXF (availableFlagLXS1) is set to “1” (S1708). Scaling of motion vector mvLX of the same reference list (when
カウンタkに1を加算することで更新し(S1712)、カウンタkが空間の候補の最大候補数である2より小さいか判定する(S1713)。カウンタkが空間の候補の最大候補数である2の場合(S1713のN)、選択された空間の隣接ブロックの候補数を示す変数NumListCandをkに設定し(S1718)、処理を終了する。 The counter k is updated by adding 1 (S1712), and it is determined whether the counter k is smaller than 2, which is the maximum number of candidates for the space (S1713). When the counter k is 2 which is the maximum number of space candidates (N in S1713), the variable NumListCand indicating the number of adjacent block candidates in the selected space is set to k (S1718), and the process ends.
availableFlagFを“0”に設定した場合(S1715)、隣接ブロックNが隣接ブロックの最後か否かの判定を実施する(S1716)。また、kが空間の候補の最大候補数である2より小さい場合(S1713のY)、FをS1に更新し(S1714)、隣接ブロックNが隣接ブロックの最後か否かの判定を実施する(S1716)。 When availableFlagF is set to “0” (S1715), it is determined whether or not the adjacent block N is the last of the adjacent blocks (S1716). If k is smaller than 2 which is the maximum number of space candidates (Y in S1713), F is updated to S1 (S1714), and it is determined whether the adjacent block N is the last of the adjacent blocks ( S1716).
変数Nの更新は上述したB0,A0,A1,B1,C0の処理順に応じて設定され、ここではNがC0か否かの判定を行う。隣接ブロックNが最後のブロックであれば(S1716のY)、選択された空間の隣接ブロックの候補数を示す変数NumListCandをkに設定し(S1718)、処理を終了する。隣接ブロックNが最後のブロックでなければ(S1716のN)、変数NをB0,A0,A1,B1,C0の処理順に応じて更新し(S1717)、ステップS1702以降の処理を繰り返す。以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在するブロック群の隣接ブロックを代表する参照ブロックとして、その符号化情報が導出される。 The update of the variable N is set in accordance with the processing order of B0, A0, A1, B1, and C0 described above. Here, it is determined whether or not N is C0. If the adjacent block N is the last block (Y in S1716), the variable NumListCand indicating the number of adjacent block candidates in the selected space is set to k (S1718), and the process ends. If the adjacent block N is not the last block (N in S1716), the variable N is updated according to the processing order of B0, A0, A1, B1, and C0 (S1717), and the processing from step S1702 is repeated. As described above, the encoding information is derived as the reference block representing the adjacent block of the block group existing on the same picture as the prediction block to be processed.
図44に戻り、次に、時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報が有効か否かを判定し、導出する(S801)。この実施例4のS801の処理は実施例1のS801と同様なので説明を割愛する。 Returning to FIG. 44, next, it is determined whether or not the coding information of the block adjacent to the same position of another picture having a different time is valid (S801). Since the process of S801 of the fourth embodiment is the same as S801 of the first embodiment, a description thereof will be omitted.
こうして得られた隣接ブロックの符号化情報は、参照候補リスト作成部321に入力される。参照候補リスト作成部321で作成される参照候補リストとして、予測モード(L0予測、L1予測、両予測)に応じて、L0予測及びL1予測の2つの予測方向に対していずれか一方、または両方のそれぞれの参照候補リストが作成される。本明細書では、特に注釈をしない限り、動き検出モード時の参照候補リストは説明の都合上1つだけを挙げて説明することとし、図で示す参照候補リストも1つだけ挙げることにする。
The encoding information of the adjacent blocks obtained in this way is input to the reference candidate
実施例4では、参照候補リスト格納メモリ324に、参照隣接ブロックの符号化情報の候補を登録する記憶領域として参照候補リストを設ける。参照隣接ブロックの符号化情報の候補に優先順位をつけて、優先順位の高いものから参照候補リスト格納メモリ324に、参照隣接ブロックの符号化情報の候補を登録する。これにより、参照候補リストのインデックスmvp_idx_l0及びmvp_idx_l1の符号量を削減することが可能となる。
In the fourth embodiment, a reference candidate list is provided in the reference candidate
優先順位の高い要素を参照候補リストの前方に配置することで、符号量を削減する。優先順位を示すインデックスは0から昇順に割り当てる。参照候補リスト格納メモリ324に設けられる参照候補リストは、リスト構造を成し、参照候補リスト内部の所在を示すインデックスと、インデックスに対応する参照隣接ブロックの符号化情報の候補を要素として格納する配列領域が設けられる。この配列領域はcandListLXで表される。インデックスの数字は0から開始され、参照候補リストcandListLXの記憶領域に、参照隣接ブロックの符号化情報の候補が格納される。
The amount of codes is reduced by placing elements with higher priorities in front of the reference candidate list. The index indicating the priority order is assigned in ascending order from 0. The reference candidate list provided in the reference candidate
以降の処理では、参照候補リストcandListLXに登録されたインデックスiの符号化情報は、candListLX[i]で表すこととし、参照候補リストcandListLXとは配列表記をすることで区別することとする。尚、参照候補リストの記憶領域に格納される符号化情報は、特に断らない限り、参照隣接ブロックの位置名(A0,A1,B0,B1,C0,T)で表すこととする。 In the subsequent processing, the encoding information of the index i registered in the reference candidate list candListLX is represented by candListLX [i], and is distinguished from the reference candidate list candListLX by array notation. Note that the encoding information stored in the storage area of the reference candidate list is represented by the position name (A0, A1, B0, B1, C0, T) of the reference adjacent block unless otherwise specified.
参照候補リスト作成部321は図19のフローチャートに示す実施例1、2と同様の動作を行う。但し、実施例4の変数Fの値を図19の変数Nの値として設定して動作させる。空間の第1候補の隣接ブロックS0、空間の第2候補の隣接ブロックS1、及び時間が異なる別のピクチャの同一位置に隣接するブロックの有効フラグavailableFlagLXN(ここでNはS0,S1,T)の判定が行われ、隣接ブロックの符号化情報を参照候補リストcandListLXに登録する。ここで、変数Nを更新する隣接ブロックの順番が参照候補リストに格納する優先順位となっており、実施例4では、同じ時間の第1候補、同じ時間の第2候補、異なる時間の同じ順番(S0,S1,T)を設定することとする。
The reference candidate
実施例1、2と同様に、作成された参照候補リストは、同一情報検出部322にて同一の符号化情報となる参照候補リストに格納された符号化情報を削除し、差分動きベクトル算出部326にて作成された参照候補リストの中の符号化情報の動きベクトルを予測動きベクトルとする。動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを出力部323に供給する。
As in the first and second embodiments, the generated reference candidate list is obtained by deleting the encoded information stored in the reference candidate list that is the same encoded information in the same
最後に、出力部323が、作成された参照候補リストの中のインデックスと差分動きベクトルを出力する。参照候補リストは、参照候補リストをMVPリストとして、リストの中のインデックスをMVPインデックスとして出力する。動画像符号化装置100では、予測方法決定部107に出力される。
Finally, the
上述した動画像符号化装置100の中に設置される実施例4の動きベクトル予測部103に対応する、動画像復号装置200の中に設置される実施例4の動きベクトル算出部204について説明する。動きベクトル算出部204は実施例2の図30と同じ構成をなし、符号化情報導出部320の処理が実施例2と異なる。それ以外の参照候補リスト作成部321、同一情報検出部322、参照候補リスト格納メモリ324、選択部325及び動きベクトル加算部327は実施例2と同一の機能を備える。
The motion
また、符号化情報導出部320は上述した実施例2における動きベクトル予測部103の符号化情報導出部320と同一の機能を備えており、マージ判定部206の参照候補リスト作成部311は上述した実施例4におけるマージ検出部106の参照候補リスト作成部311と同一の機能を備えており、マージ判定部206の同一情報検出部312は上述した実施例4におけるマージ検出部106の同一情報検出部312と同一の機能を備えているので、動きベクトル算出部204の同一情報検出部322までの処理で、実施例4の動きベクトル予測部103と同一の参照候補リストが作成される。
The encoded
実施例2と同様に選択部325は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された、参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択された参照候補リストの隣接ブロックの符号化情報から動きベクトルを予測動きベクトルとして出力し、動きベクトル加算部327にて予測動きベクトルと第1の符号化ビット列復号部202で復号された差分動きベクトルとを加算して動きベクトルを算出し、動き補償予測部207に供給するとともに、選択されたリストの隣接ブロックの符号化情報を符号化情報格納メモリ210に供給する。
As in the second embodiment, the
尚、実施例4では、2つの隣接ブロックを、参照隣接ブロックの代表として選出したが、マージモード、動き検出モードそれぞれ別々に1個または3個以上の隣接ブロックを代表として選出することにしても構わない。但し、ブロック群の中のブロック数を超えない範囲で設定する。尚、本発明の説明に使用している図9の配置では、代表の数は6個が最大数となる。マージモードの場合、代表の数を6個に設定すると、実施例1と等価となる。動き検出モードでは2個の空間の隣接ブロックを代表とし、マージモードでは3個以上の空間の隣接ブロックを代表とするなど、動き検出モードよりもマージモードで多くの空間の隣接ブロックを代表とすることにより、以下のような効果を得ることができる。 In the fourth embodiment, two adjacent blocks are selected as representative reference reference blocks. However, one or three or more adjacent blocks are selected as representatives for each of the merge mode and motion detection mode. I do not care. However, it is set within the range not exceeding the number of blocks in the block group. In the arrangement of FIG. 9 used for explaining the present invention, the maximum number of representatives is six. In the merge mode, setting the number of representatives to 6 is equivalent to the first embodiment. Adjacent blocks in two spaces are representative in motion detection mode, and adjacent blocks in three or more spaces are representative in merge mode. For example, adjacent blocks in more spaces are representative in merge mode than in motion detection mode. As a result, the following effects can be obtained.
即ち、マージモードでは、参照隣接ブロックの候補の符号化情報をそのまま用いて、画像間予測を行うので、選択の余地を残す為に、動き検出モードよりも多くの候補をリストに登録する。これは、マージモードは動き検出モードと比較して、多くの情報(動きベクトル、参照インデックス、予測方向)をわずかな符号量で伝送出来る為であり、マージインデックスの符号量を削減するよりも、隣接ブロックの候補を残して選択の幅を広げた方が符号化効率が向上するからである。 In other words, in the merge mode, inter-picture prediction is performed using the coding information of the reference adjacent block candidates as they are, so that more candidates are registered in the list than in the motion detection mode in order to leave room for selection. This is because the merge mode can transmit a large amount of information (motion vector, reference index, prediction direction) with a small amount of code compared to the motion detection mode, rather than reducing the code amount of the merge index. This is because the coding efficiency improves when the selection range is widened by leaving the adjacent block candidates.
一方、動き検出モードでは、参照隣接ブロックの候補の符号化情報をそのまま用いるのではなく、差分動きベクトルをはじめとする符号化情報を符号化するので、マージモードよりも候補を絞ってリストに登録する。これは、候補を絞ることにより、MVPインデックスの符号量を削減した方が符号化効率が向上するからである。 On the other hand, in the motion detection mode, encoding information including a differential motion vector is encoded instead of using the encoding information of the reference adjacent block candidates as they are, so that candidates are registered in the list more narrowly than in the merge mode. To do. This is because the encoding efficiency is improved by reducing the code amount of the MVP index by narrowing down candidates.
マージモードで、3個以上の空間の隣接ブロックを代表として選出するとした場合、図43のステップS1607では、すべての既に選択されたそれぞれの隣接ブロックの符号化情報と、隣接ブロックNの符号化情報が同じであるか否かを判定する。動き検出モードで、3個以上の空間の隣接ブロックを代表として選出するとした場合、図45のステップS1707では、すべての既に選択されたそれぞれの隣接ブロックの動きベクトルと隣接ブロックNの動きベクトルまたは隣接ブロックNの動きベクトルがスケーリングされた動きベクトルmvLXNが同じであるか否かを判定する。 In the merge mode, when it is assumed that adjacent blocks in three or more spaces are selected as representatives, in step S1607 of FIG. 43, the encoding information of all the already selected adjacent blocks and the encoding information of the adjacent block N are selected. Are the same. In the motion detection mode, when it is assumed that adjacent blocks in three or more spaces are selected as representatives, in step S1707 of FIG. 45, the motion vectors of all the already selected adjacent blocks and the motion vectors of adjacent blocks N or the adjacent blocks are selected. It is determined whether the motion vectors mvLXN to which the motion vectors of the block N are scaled are the same.
マージモードの場合は実施例4の手法を用いて、動き検出モードの場合は他の実施例の手法を用いることも可能である。同様に、動き検出モードの場合は実施例4の手法を用いて、マージモードの場合は他の実施例の手法を用いることも可能である。特に、マージモードの場合は実施例1の手法を用いて、動き検出モードの場合は実施例4の手法を用いた場合、実施例3と同様の効果を得ることができる。 In the merge mode, the method of the fourth embodiment can be used, and in the motion detection mode, the method of another embodiment can be used. Similarly, the method of the fourth embodiment can be used in the motion detection mode, and the method of the other embodiments can be used in the merge mode. In particular, when the method of the first embodiment is used in the merge mode and the method of the fourth embodiment is used in the motion detection mode, the same effect as that of the third embodiment can be obtained.
即ち、マージモードでは、参照隣接ブロックの候補の符号化情報をそのまま用いて、画像間予測を行うので、選択の余地を残す為に、動き検出モードよりも多くの候補をリストに登録する。これは、マージモードは動き検出モードと比較して、多くの情報(動きベクトル、参照インデックス、予測方向)をわずかな符号量で伝送出来る為であり、マージインデックスの符号量を削減するよりも、隣接ブロックの候補をできるだけ残して、できる動き情報の候補を増やすことが符号化効率向上に寄与する為である。 In other words, in the merge mode, inter-picture prediction is performed using the coding information of the reference adjacent block candidates as they are, so that more candidates are registered in the list than in the motion detection mode in order to leave room for selection. This is because the merge mode can transmit a large amount of information (motion vector, reference index, prediction direction) with a small amount of code compared to the motion detection mode, rather than reducing the code amount of the merge index. This is because increasing the number of possible motion information candidates while leaving as many adjacent block candidates as possible contributes to an improvement in coding efficiency.
一方、動き検出モードでは、参照隣接ブロックの候補の符号化情報をそのまま用いるのではなく、差分動きベクトルをはじめとする符号化情報を符号化するので、スキャンを行い候補を絞ってリストに登録する。これは、動き検出モードでの候補は予測ベクトルに使用されるだけである為、隣接ブロックの候補を多く残しても、候補間で近い動きベクトルを登録しても差分動きベクトルの符号量を減らすことが出来ず、MVPインデックスの符号量が増加するだけである。その為、リストに登録する候補を絞ることにより、MVPインデックスの符号量を削減することが符号化効率向上に寄与する為である。 On the other hand, in the motion detection mode, the encoding information including the differential motion vector is encoded instead of using the encoding information of the reference adjacent block candidates as they are, so that the candidates are registered in the list by performing scanning. . This is because the candidates in the motion detection mode are only used as prediction vectors, so even if many adjacent block candidates remain or even if motion vectors close to each other are registered, the code amount of the difference motion vector is reduced. It is not possible to increase the code amount of the MVP index. Therefore, reducing the code amount of the MVP index by narrowing down candidates to be registered in the list contributes to the improvement of the coding efficiency.
マージモード、動き検出モードともに、隣接ブロックが参照先候補として利用可能であるかどうかの情報のみを用いてリストに登録する候補を決定することが出来る為、複雑な判定を行う必要がなく、マージモード、動き検出モードそれぞれについて、適切な候補をリストに登録することが可能である。 In both the merge mode and motion detection mode, candidates to be registered in the list can be determined using only information on whether adjacent blocks can be used as reference destination candidates. Appropriate candidates can be registered in the list for each mode and motion detection mode.
更に、実施例4は、時間が異なる別のピクチャの同一位置に隣接するブロックのみを別扱いとして参照候補リストの最後に登録する。同じピクチャ上にある隣接ブロック同士は同じ符号化情報を持つ可能性が高く、時間が異なる別のピクチャの同一位置に隣接するブロックはそれらと異なる符号化情報を持つ可能性が高いので、別途候補として登録する効果が高いといえる。例えば、同じピクチャ上にある隣接ブロックがすべて、イントラの場合でも、時間が異なる別のピクチャの同一位置に隣接するブロックはインター予測の符号化情報を持つ可能性が高い。ただし、時間が異なる別のピクチャの同一位置に隣接するブロックは、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックに比べて、処理対象の予測ブロックと符号化情報が等しい或いは近い可能性が低いので、優先順位を下げている。 Further, in the fourth embodiment, only the blocks adjacent to the same position of different pictures having different times are registered separately at the end of the reference candidate list. Adjacent blocks on the same picture are likely to have the same encoding information, and blocks adjacent to the same position in different pictures with different times are likely to have different encoding information. It can be said that the registration effect is high. For example, even when all adjacent blocks on the same picture are intra, blocks that are adjacent to the same position in different pictures with different times are likely to have inter prediction coding information. However, a block adjacent to the same position of another picture with a different time may have the same or close encoding information as the processing target prediction block compared to an adjacent block on the same picture as the processing target prediction block. The priority is lowered because it is low.
(実施例5)
動画像符号化装置100の構成を示す図2の中に設置される実施例5のマージ検出部106について説明する。マージ検出部106は実施例1で説明した図11と同じ構成をなすが、参照候補リスト作成部311の処理が実施例1とは異なるので、実施例5におけるマージ検出部106の参照候補リスト作成部311の動作について説明する。参照候補リスト作成部311は、参照候補リスト格納メモリ314に、参照隣接ブロックの符号化情報の候補を登録する記憶領域として参照候補リストを設け、参照隣接ブロックの符号化情報の候補に優先順位をつけて、優先順位の高いものから参照候補リストに、参照隣接ブロックの符号化情報の候補を登録する。これにより、参照候補リストのインデックスmerge_idxの符号量を削減する。
(Example 5)
The
優先順位の高い要素を参照候補リストの前方に配置することで、符号量を削減する。優先順位を示すインデックスは0から昇順に割り当てる。ここで、マージモードの場合、順番(A1,B1,B0,A0,C0,T)を設定することとする。マージモードの場合は、処理対象の予測ブロックの辺と、符号化情報が最も等しい可能性が高いと考えられる処理対象の予測ブロックと辺とが接している隣接ブロックA1及びB1を優先してリストの前方に登録することで、マージインデックスの符号量を削減し、符号化効率を向上させる。 The amount of codes is reduced by placing elements with higher priorities in front of the reference candidate list. The index indicating the priority order is assigned in ascending order from 0. Here, in the merge mode, the order (A1, B1, B0, A0, C0, T) is set. In the merge mode, a list is given with priority on adjacent blocks A1 and B1 in which the side of the prediction block to be processed is in contact with the side of the prediction block to be processed that is most likely to have the same encoding information. By registering in front of, the code amount of the merge index is reduced and the coding efficiency is improved.
参照候補リスト格納メモリ314に設けられる参照候補リストは、リスト構造を成し、参照候補リスト内部の所在を示すインデックスと、インデックスに対応する参照隣接ブロックの符号化情報の候補を要素として格納する配列領域が設けられる。この配列領域はcandListで表される。インデックスの数字は0から開始され、参照候補リストcandListの記憶領域に、参照隣接ブロックの符号化情報の候補が格納される。以降の処理では、参照候補リストcandListに登録されたインデックスiの符号化情報は、candList[i]で表すこととし、参照候補リストcandListとは配列表記をすることで区別することとする。尚、参照候補リストの記憶領域に格納される符号化情報は、特に断らない限り、参照隣接ブロックの位置名(A0,A1,B0,B1,C0,T)で表すこととする。
The reference candidate list provided in the reference candidate
図46は実施例5における参照候補リスト作成部311の動作を示すフローチャートである。実施例5では、参照候補リスト作成前に、図31(a)で示される隣接ブロックの中から左側及び上側のブロック群に分類し、それぞれのブロック群の参照隣接ブロックの個数NA及びNBを設定する。ここで、左側のブロック群の隣接ブロックはA0,A1、上側のブロック群の隣接ブロックはB0,B1,C0であり、NA及びNBをともに1に設定する。即ち、それぞれのブロック群から1つの隣接ブロックを選択することを意味する。尚、NA及びNBはそれぞれのブロック群の中の隣接ブロック総数を超えないこととする。
FIG. 46 is a flowchart illustrating the operation of the reference candidate
まず、変数Nと参照候補リストのインデックスkを初期化する(S1200)。変数Nには予測モードに対応した最も優先順位の高い隣接ブロックが初期設定される。マージモードではA1、動き検出モードではA0である。kは0に設定される。インデックスkは参照候補リストの記憶領域に設定される符号化情報の候補の格納領域の優先順位を示す。 First, the variable N and the index k of the reference candidate list are initialized (S1200). In the variable N, an adjacent block with the highest priority corresponding to the prediction mode is initially set. It is A1 in the merge mode and A0 in the motion detection mode. k is set to zero. The index k indicates the priority order of the storage areas for the encoded information candidates set in the storage area of the reference candidate list.
次に、左側及び上側のブロック群のカウンタna及びnbを0に初期化する(S1201)。最初に、隣接ブロックNが左側或いは上側のブロック群に属する隣接ブロックか否かの判定が行われる(S1202)。属しない場合(S1202のN)、ステップS1206に進み、属する場合(S1202のY)、左側或いは上側のどちらのブロック群に属するかを判定する(S1203)。 Next, the counters na and nb of the left and upper block groups are initialized to 0 (S1201). First, it is determined whether or not the adjacent block N is an adjacent block belonging to the left or upper block group (S1202). If it does not belong (N in S1202), the process proceeds to step S1206. If it belongs (Y in S1202), it is determined whether it belongs to the left or upper block group (S1203).
左側の場合、カウンタnaとNAの比較に進み(S1204)、naがNAより小さい場合(S1204のY)、ステップS1206に、そうでない場合(S1204のN)、ステップS1210に進む。上側の場合、カウンタnbとNBの比較に進み(S1205)、nbがNBより小さい場合(S1205のY)、ステップS1206に、そうでない場合(S1205のN)、ステップS1210に進む。 In the case of the left side, the process proceeds to a comparison between the counter na and NA (S1204). If na is smaller than NA (Y in S1204), the process proceeds to step S1206. Otherwise (N in S1204), the process proceeds to step S1210. In the case of the upper side, the process proceeds to the comparison between the counters nb and NB (S1205). If nb is smaller than NB (Y in S1205), the process proceeds to step S1206, and otherwise (N in S1205), the process proceeds to step S1210.
na及びnbがNA及びNB以上の場合は、各ブロック群で参照候補リストに選出される隣接ブロック数を超えたことを示し、この場合、参照候補リストに登録するか否かの判定はせず、登録されない。 When na and nb are greater than or equal to NA and NB, it indicates that the number of adjacent blocks selected in the reference candidate list in each block group has been exceeded. In this case, whether or not to register in the reference candidate list is not determined. , Not registered.
隣接ブロックNの有効フラグavailableFlagNの判定が行われる(S1206)。availableFlagNが1の場合(S1206のY)、隣接ブロックNの符号化情報を参照候補リストcandListLX[k]に登録し(S1207)、kを更新する(S1208)。更に、隣接ブロックNが左側或いは上側のブロック群に属する場合はカウンタna或いはnbを更新する(S1209)。availableFlagNが0の場合(S1206のN)、参照候補リストには登録せず、ステップS1210に進む。 The validity flag availableFlagN of the adjacent block N is determined (S1206). If availableFlagN is 1 (Y in S1206), the encoding information of the adjacent block N is registered in the reference candidate list candListLX [k] (S1207), and k is updated (S1208). Further, if the adjacent block N belongs to the left or upper block group, the counter na or nb is updated (S1209). If availableFlagN is 0 (N in S1206), the process proceeds to step S1210 without registration in the reference candidate list.
隣接ブロックNが最後の参照ブロックか否かを判定する(S1210)。最後のブロックである場合(S1210のY)、インデックスの値を候補リスト総数NumListCandに設定した後(S1211)、処理を終了する。最後のブロックで無い場合(S1210のY)、変数Nを更新して(S1212)、ステップS1202以降の処理を繰り返す。 It is determined whether or not the adjacent block N is the last reference block (S1210). If it is the last block (Y in S1210), the index value is set to the total number of candidate lists NumListCand (S1211), and the process is terminated. If it is not the last block (Y in S1210), the variable N is updated (S1212), and the processes after step S1202 are repeated.
以上の処理により、参照候補リストに登録される。ここでは、参照候補リストに登録される最大数はNA+NB+1で表される。最初に設定したNAとNBに異なる時間の候補が1つ加算されることになり、ここではNA,NBともに1としたので、最大3となる。参照隣接ブロックが1つだけ有効となる場合、最大符号語長は0となるので、符号語は必要とせず、1つだけ有効と判定された隣接ブロックの符号化情報の候補が参照先として一意に決定される。 Through the above processing, it is registered in the reference candidate list. Here, the maximum number registered in the reference candidate list is represented by NA + NB + 1. One candidate of different time is added to the initially set NA and NB. Here, since NA and NB are both 1, the maximum is 3. When only one reference adjacent block is valid, the maximum codeword length is 0. Therefore, no codeword is required, and the candidate of encoding information of an adjacent block determined to be valid is unique as a reference destination. To be determined.
上記の処理において、例えば隣接ブロックA1の有効フラグavailableFlagA1が0の場合、優先順位はA1,B1,B0,A0,C0,Tなので、参照候補リストには優先順にB1,A0,Tが登録される。実施例2で同じ条件で処理を行うとA0,B1,Tとなる。実施例5の方が元の優先順位を保ちつつ、処理対象の予測ブロックと符号化情報が最も等しい可能性が高いと考えられる隣接ブロックを優先して参照候補リストの前方に登録することで、インデックスの符号量を削減し、符号化効率を向上させる。 In the above processing, for example, when the valid flag availableFlagA1 of the adjacent block A1 is 0, the priorities are A1, B1, B0, A0, C0, T, so B1, A0, T are registered in the reference candidate list in order of priority. . When processing is performed under the same conditions in the second embodiment, A0, B1, and T are obtained. By preferentially registering adjacent blocks that are considered to be most likely to be the same as the prediction block to be processed and the encoding information while maintaining the original priority in the fifth embodiment, the reference candidate list is registered in the front. The code amount of the index is reduced and the encoding efficiency is improved.
また、この場合、左側及び上側に隣接するブロック群を代表する隣接ブロック及び時間が異なる別のピクチャの同一位置に隣接するブロックの3つの隣接ブロックが参照候補リストに登録されることになり、参照隣接ブロックの総数を実施例1に比べて削減することが出来るので、割り当てる符号語長が短くなり、符号化効率を改善することが出来る。 Further, in this case, three adjacent blocks of the adjacent block representing the block group adjacent to the left side and the upper side and the block adjacent to the same position of another picture having different times are registered in the reference candidate list. Since the total number of adjacent blocks can be reduced as compared with the first embodiment, the codeword length to be assigned is shortened, and the coding efficiency can be improved.
上述した動画像符号化装置100の中に設置される実施例5のマージ検出部106に対応する、動画像復号装置200の中に設置される実施例5のマージ判定部206について説明する。マージ判定部206は実施例1で説明した図22と同じ構成をなし、参照候補リスト作成部311の処理が実施例1と異なる。それ以外の符号化情報導出部310、同一情報検出部312、参照候補リスト格納メモリ314及び選択部315は実施例1と同一の機能を備える。
The
また、参照候補リスト作成部311は上述した実施例5におけるマージ検出部106の参照候補リスト作成部311と同一の機能を備えているので、マージ判定部206の同一情報検出部312までの処理で、実施例5のマージ検出部106と同一の参照候補リストが作成されることになる。
In addition, since the reference candidate
作成された参照候補リストから、マージモードでの参照隣接ブロックの符号化情報を取得する選択部315について説明する。選択部315は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された、参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択された符号化情報を動き補償予測部207に供給するとともに、符号化情報格納メモリ210に供給する。
The
次に、本発明の動画像符号化装置100の構成を示す図2の中に設置される実施例5の動きベクトル予測部103について説明する。動きベクトル予測部103は実施例1で説明した図23と同じ構成をなすが、参照候補リスト作成部321の処理が実施例1とは異なる。参照候補リスト作成部321はマージ検出部106の参照候補リスト作成部311と基本的に同一の機能を備えているので、参照隣接ブロックの符号化情報の候補が有効か否か判定し、参照候補リストに登録する動作は同様であるので、説明を割愛する。
Next, the motion
参照候補リスト作成部321がマージ検出部106の参照候補リスト作成部311と異なるのは、参照候補リスト格納メモリ324に設けられた参照候補リストに、参照隣接ブロックの符号化情報の候補を登録する場合の優先順位である。動き検出モードの場合、参照候補リスト作成部321では、A0,B0,A1,B1,C0,Tの順番に設定される。
The reference candidate
動き検出モードは、差分動きベクトルを伝送する為のモードであり、予測動きベクトルの選択の幅を広げる為に、左側と上側の隣接ブロックの候補の動きベクトルの差が大きくなるように、左側と上側の候補間の距離を離して登録することで、差分動きベクトルの符号量を削減し、符号化効率を向上させる。この動き検出モードでの優先順位の決定方法は、出来るだけ同一の符号化情報である確率の高い隣接ブロックを優先候補として登録するマージモードとは目的が異なる。以上のように、優先順位をつけて、優先順位の高いものから参照候補リストに、参照隣接ブロックの符号化情報の候補を登録することで、参照候補リストのインデックスmvp_idx_l0及びmvp_idx_l1の符号量を削減する。 The motion detection mode is a mode for transmitting a difference motion vector, and in order to widen the selection range of the predicted motion vector, the left and the left and the upper adjacent block candidate motion vector difference is increased. By registering the distance between the upper candidates at a distance, the coding amount of the difference motion vector is reduced and the coding efficiency is improved. The priority determination method in this motion detection mode has a different purpose from the merge mode in which adjacent blocks with the highest probability of the same encoded information are registered as priority candidates. As described above, by assigning priorities and registering encoding information candidates of reference adjacent blocks in the reference candidate list in descending order of priority, the code amount of the indices mvp_idx_l0 and mvp_idx_l1 in the reference candidate list is reduced. To do.
上述した動画像符号化装置100の中に設置される実施例5の動きベクトル予測部103に対応する、動画像復号装置200の中に設置される実施例5の動きベクトル算出部204についても、動きベクトル算出部204の参照候補リスト作成部321は、対応する動きベクトル予測部103の参照候補リスト作成部321と同一の機能を備えているので、動きベクトル予測部103と同一の参照候補リストが作成されることになる。
The motion
作成された参照候補リストから、動き検出モードにおいて参照隣接ブロックの符号化情報を取得する選択部325について説明する。選択部325は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された、参照隣接ブロックを特定するインデックスで指定されるリストの隣接ブロックを選択する。選択されたリストの隣接ブロックの符号化情報から動きベクトルを予測動きベクトルとして出力し、動きベクトル加算部327にて予測動きベクトルと第1の符号化ビット列復号部202で復号された差分動きベクトルとを加算して動きベクトルを算出し、動き補償予測部207に供給するとともに、選択されたリストの隣接ブロックの符号化情報を符号化情報格納メモリ210に供給する。
The
尚、実施例5では、NA及びNBをともに1に設定したが、それぞれのブロック群の隣接ブロック総数を超えない数を設定してもよく、更に、予測モードでそれぞれ設定を変更してもよい。 In the fifth embodiment, both NA and NB are set to 1. However, a number that does not exceed the total number of adjacent blocks in each block group may be set, and each setting may be changed in the prediction mode. .
(実施例6)
実施例6では、実施例2とは異なる参照隣接ブロックのブロック群を定義し、その中からそれぞれ1つを代表する隣接ブロックとして選択する方法を変えるものである。図31(a)の隣接ブロックの配置を用いて説明する。図31(a)で配置される6つの隣接ブロックA0,A1,B0,B1,C0,Tを、A1を左側に隣接する代表ブロック、B1を上側に隣接する代表ブロック、時間が異なる別のピクチャの同一位置に隣接するブロックT、処理対象の予測ブロックのコーナーに位置する隣接ブロックA0,B0とC0をコーナーに隣接するブロック群とする。そのブロック群の中から1つを代表する隣接ブロックとして選択する。左側、上側、異なる時間及びコーナーの4つの隣接ブロックから1つの隣接ブロックの符号化情報を参照先として選択する。
(Example 6)
In the sixth embodiment, a block group of reference adjacent blocks different from that in the second embodiment is defined, and the method of selecting one of them as a representative adjacent block is changed. This will be described using the arrangement of adjacent blocks in FIG. The six adjacent blocks A0, A1, B0, B1, C0, and T arranged in FIG. 31A are different representative pictures in which A1 is a representative block adjacent to the left side, B1 is a representative block adjacent to the upper side, and time is different. The block T adjacent to the same position and the adjacent blocks A0, B0 and C0 positioned at the corner of the prediction block to be processed are defined as a block group adjacent to the corner. The block is selected as an adjacent block representing one from the block group. Encoding information of one adjacent block is selected as a reference destination from four adjacent blocks on the left side, the upper side, different times, and corners.
処理対象の予測ブロックの辺と、符号化情報が最も等しい可能性が高いと考えられる処理対象の予測ブロックの辺とが接している隣接ブロックA1及びB1を優先して参照候補リストの前方に登録し、相対的に可能性が低いコーナーの3つの隣接ブロックをグループ化して、インデックスの符号量を削減し、符号化効率を向上させるので、特にマージモードの場合に有効な手法である。 Preferentially register adjacent blocks A1 and B1 where the sides of the prediction block to be processed and the sides of the prediction block to be processed that are most likely to have the same encoding information are in front of the reference candidate list In addition, this method is effective particularly in the merge mode because three adjacent blocks of corners having a relatively low possibility are grouped to reduce the code amount of the index and improve the encoding efficiency.
動画像符号化装置100の中に設置される実施例6のマージ検出部106と、対応する動画像復号装置200の中に設置される実施例6のマージ判定部206の参照候補リスト作成部311、及び動画像符号化装置100の中に設置される実施例6の動きベクトル予測部103と、対応する動画像復号装置200の中に設置される実施例6の動きベクトル算出部204の参照候補リスト作成部321の中で、処理対象の予測ブロックのコーナーに位置する隣接ブロックA0,B0とC0をコーナーに隣接するブロック群と定義する。A1,B1,(B0,A0,C0),Tの順に優先順位を設定し、優先順位の高いものから参照候補リストに参照隣接ブロックの符号化情報の候補を登録することで、参照候補リストのインデックスの符号量を削減する。ここで、参照候補リスト内部の括弧は、左側或いは上側の隣接ブロック群の中から、括弧内の左から右の順に処理され、選択される1つの隣接ブロックを表す。
The
参照候補リスト作成部311及び321では、コーナーに隣接するブロック群から代表する隣接ブロックの選択として、例えば、実施例2で説明したように、ブロック群の中の隣接ブロックを予め決められた処理順にスキャンする。隣接ブロックが有効であり、且つIntraモードでない条件を満足するか判定し、この条件を満足する最初の隣接ブロックを選択してもよい。ここでは、処理順をB0,A0,C0とするが、必ずしもこの順番である必要はない。また、コーナーに隣接するブロック群の中の隣接ブロックB0,A0,C0の符号化情報の比較を行い、同一の符号化情報を備える隣接ブロックを選択してもよい。即ち、ブロック群の中で多数決を行い、同一の符号化情報を備える隣接ブロックのうち、処理順B0,A0,C0で先になる方を隣接ブロックとして選択する。実施例6で作成される参照候補リストは、参照隣接ブロックが全て有効であった場合、図47のように表される。
In the reference candidate
(実施例7)
実施例7は、参照候補リストに登録された、参照隣接ブロックの数を制限するものである。実施例1、3(実施例はマージモードの場合)の参照候補リストに登録される、参照隣接ブロック数は、図9(a)或いは図31(a)の隣接ブロックの配置の場合、最大6個存在する。この中から隣接ブロックを選択すると、インデックスで最大で5ビットの符号量を必要とする為、符号化効率が向上するとは言えない。そこで、実施例2、4等と同様に作成された参照候補リストの中の上位の隣接ブロックの符号化情報のみ使用するように限定する。
(Example 7)
In the seventh embodiment, the number of reference neighboring blocks registered in the reference candidate list is limited. The number of reference adjacent blocks registered in the reference candidate list in the first and third embodiments (in the case of the merge mode) is 6 at the maximum in the case of the arrangement of the adjacent blocks in FIG. 9A or FIG. There are. If an adjacent block is selected from these, a code amount of 5 bits at the maximum is required for the index, so it cannot be said that the encoding efficiency is improved. Therefore, only the encoding information of the upper adjacent block in the reference candidate list created in the same manner as in the second, fourth, and the like is used.
最初に、動画像符号化装置100の構成を示す図2の中に設置される実施例7のマージ検出部106について説明する。図48は図11で示される実施例1の動画像符号化装置100のマージ検出部106に参照候補制限部318を追加したマージ検出部106の構成を示す。図48で示される各部は図11で示される各部と同じ機能を備えているので、ここでは参照候補制限部318の機能についてのみ説明する。
First, the
参照候補制限部318は、同一情報検出部312にて参照候補リストの中から同一の符号化情報を備える参照隣接ブロックを削除した参照候補リストが入力される。参照候補制限部318は、参照候補リストの中から、設定された制限数分のインデックス上位の隣接ブロックを残し、それ以外を削除するか、或いは選択外として判定する。例えば、実施例1で同一の符号化情報が存在しない場合の参照候補リストの一例を示す図20に対し、マージモードの場合で3個に制限すると、インデックス0から2までの上位3個の隣接ブロックを参照候補とし、残りは使用しないので参照候補の対象から外す。
The reference
以上のようにして、参照候補として隣接ブロックが参照候補リストに制限されて登録されることになり、参照隣接ブロックの総数を実施例1に比べて削減することが出来るので、割り当てる符号語長が短くなり、符号化効率を改善することが出来る。また、参照候補リストの優先順位の高い隣接ブロックに絞り込んで制限するので、符号化効率の低下を抑えることが出来る。参照候補リストの制限数は、例えばSPS(Sequence Parameter Set)やSlice Headerといったヘッダー情報に制限数を設定してもよい。また、符号化側と復号側で暗黙的な条件として設定してもよく、符号化側と復号側で矛盾が生じないよう設定されれば方法を制限するものではない。また、予測モードに従ってそれぞれ制限数を設定してもよい。更に、処理対象の予測ブロックが参照する符号化済み或いは復号済みの隣接ブロックの符号化情報に基づいて、参照候補リストの制限数を適応的に変更してもよい。 As described above, adjacent blocks are registered as reference candidates by being limited to the reference candidate list, and the total number of reference adjacent blocks can be reduced as compared with the first embodiment. This shortens the encoding efficiency. In addition, since the restriction is performed by narrowing down to adjacent blocks having a high priority in the reference candidate list, it is possible to suppress a decrease in encoding efficiency. The limit number of the reference candidate list may be set in header information such as SPS (Sequence Parameter Set) and Slice Header, for example. Moreover, it may be set as an implicit condition on the encoding side and the decoding side, and the method is not limited as long as it is set so that no contradiction occurs between the encoding side and the decoding side. Moreover, you may set a limit number according to prediction mode, respectively. Furthermore, the limit number of the reference candidate list may be adaptively changed based on the encoding information of the encoded or decoded adjacent block that is referred to by the processing target prediction block.
以上のように、同一情報検出部312の直後に参照候補制限部318を設けることで、参照候補を制限する手法を説明したが、参照候補制限部318をマージ検出部106の中に設けずに、同一情報検出部312の中に参照候補制限部318の機能を備えるようにしても同等の効果が得られる。この場合、同一情報検出部312では、参照候補リストの中に格納された符号化情報の候補を比較して、同じ符号化情報の候補が存在する場合、最も小さい参照候補リストのインデックスを持つ符号化情報の候補を除いて全て削除されるとともに、最も小さい参照候補リストのインデックスを持つ符号化情報の候補を参照候補リストに再登録し、その登録数が制限数に達した場合に処理が終了する。
As described above, the method of limiting the reference candidates by providing the reference
図49は実施例7における同一情報検出部312の動作を示すフローチャートであり、実施例1の図21に示す動作を行う同一情報検出部312に対して、実施例7の参照候補の制限する機能を追加したものである。図21のフローチャートに対して、新たにステップS710からステップS712の処理ステップが追加され、これら追加された処理について説明する。
FIG. 49 is a flowchart showing the operation of the same
参照候補リストのインデックスを表す変数nとmの設定後に、削除リストに記録される参照候補リストの候補数を表すカウンタsを0に設定する(S710)。次に、ステップS702にて、mが既に削除リストに記録されているか判定し、mが未だ削除リストに記録されていない場合(S702のN)、mを削除リストに記録するとともに、カウンタsに1加算して更新する(S711)。 After setting the variables n and m representing the index of the reference candidate list, a counter s representing the number of reference candidate lists recorded in the deletion list is set to 0 (S710). Next, in step S702, it is determined whether m has already been recorded in the deletion list. If m has not yet been recorded in the deletion list (N in S702), m is recorded in the deletion list and is stored in the counter s. Update by adding 1 (S711).
次にsが閾値THと等しいか否かを判定する(S712)。ここで、閾値THは候補リスト総数NumListCandから制限数を引いた数を表す。即ち、参照候補リストに制限数の候補を残し、削除リストに記録された候補数の最大数を表す。sがTHと等しくなった場合(S712のY)、参照候補リストに制限数分の候補が残ることになるので、同一情報判定の処理を終了して、ステップS708に進み、削除リストに記録されたインデックスに該当するリストの格納領域の符号化情報を削除して、インデックス0を基準に、インデックスが小さい候補の順で詰めて、符号語を更新して終了する。尚、参照候補リストの総数NumListCandは制限数に更新される。
Next, it is determined whether or not s is equal to the threshold value TH (S712). Here, the threshold value TH represents a number obtained by subtracting the limit number from the total number of candidate lists NumListCand. That is, it represents the maximum number of candidates recorded in the deletion list while leaving a limited number of candidates in the reference candidate list. When s becomes equal to TH (Y in S712), a limited number of candidates remain in the reference candidate list, so that the same information determination process is terminated, and the process proceeds to step S708 to be recorded in the deletion list. The encoded information in the storage area of the list corresponding to the index is deleted, and the code word is updated in the order of candidates with the smallest index based on the
また、参照候補制限部318を同一情報検出部312の直前に設けてもよい。この場合、参照候補リスト作成部311にて作成された参照候補リストの中の参照候補を制限して候補数を絞り込むので、同一情報検出部312で同一情報を検出する最大回数が削減される為、処理量が削減される効果がある。
Further, the reference
図50は図11で示される実施例1の動画像符号化装置100のマージ検出部106を基に、実施例7の参照候補制限部318を追加したマージ検出部106の構成を示す。図50で示される各部は図11で示される各部と同じ機能を備えている。上述した図48の構成と参照候補制限部318の位置が異なるだけであり、参照候補制限部318の動作も同様である。参照候補制限部318は参照候補リスト作成部311にて作成された参照候補リストの中から、設定された制限数分のインデックス上位の隣接ブロックを残し、それ以外を削除するか、或いは選択外として判定する。
FIG. 50 shows a configuration of the
以上のように、同一情報検出部312の直前に参照候補制限部318を設けることで、参照候補の制限する手法を説明したが、参照候補制限部318をマージ検出部106の中に設けずに、参照候補リスト作成部311の中に参照候補制限部318の機能を備えるようにしても同等の効果が得られる。この場合、参照候補リスト作成部311では、符号化情報導出部310にて導出された、参照隣接ブロックの符号化情報を、参照候補リストに登録するとともに、参照候補リストに登録された、参照隣接ブロックの数をカウントし、その数が制限数に達した場合に処理を終了する。
As described above, the method of restricting reference candidates by providing the reference
図51は実施例7における参照候補リスト作成部311の動作を示すフローチャートであり、実施例1の図19に示す動作を行う参照候補リスト作成部311に対して、実施例7の参照候補の制限する機能を追加したものである。図19のフローチャートに対して、新たにステップS607の処理ステップが追加され、この追加された処理について説明する。
FIG. 51 is a flowchart showing the operation of the reference candidate
まず、変数Nと参照候補リストのインデックスkを初期化する(S600)。インデックスkは参照候補リストの記憶領域に設定される符号化情報の候補の格納領域の優先順位を示す。 First, the variable N and the index k of the reference candidate list are initialized (S600). The index k indicates the priority order of the storage areas for the encoded information candidates set in the storage area of the reference candidate list.
次に、参照隣接ブロックNの有効フラグavailableFlagNの判定が行われ(S601)、availableFlagNが1の場合(S601のY)、隣接ブロックNの符号化情報を参照候補リストに登録し(S602)、kを更新する(S603)。 Next, the valid flag availableFlagN of the reference adjacent block N is determined (S601). If availableFlagN is 1 (Y in S601), the encoding information of the adjacent block N is registered in the reference candidate list (S602), k Is updated (S603).
次に、kが制限数に達したか否かの判定が行われる(S607)。kが制限数未満であれば(S607のN)、まだ参照候補リストに制限数分の符号化情報が登録されていないので、ステップS604に進む。kが制限数に達した場合(S607のY)、参照候補リストに制限数分の符号化情報が登録されたので、インデックスの値を候補リスト総数NumListCandに設定した後(S605)、処理を終了する。 Next, it is determined whether or not k has reached the limit number (S607). If k is less than the limit number (N in S607), the encoding information for the limit number has not yet been registered in the reference candidate list, and the process proceeds to step S604. If k reaches the limit number (Y in S607), the encoding information for the limit number is registered in the reference candidate list, so the index value is set to the total number of candidate lists NumListCand (S605), and the process ends. To do.
尚、実施例1のマージ検出部106に対して参照候補制限部318を追加した例で説明したが、他の実施例においても、参照候補制限部318を追加することは可能である。また、マージ検出部106に対応する動画像復号装置200の中に設置される実施例7のマージ判定部206に参照候補制限部318を追加することも可能であり、マージ判定部206の中に参照候補制限部318を設けず、マージ判定部206の参照候補リスト作成部311或いは同一情報検出部312の中に、参照候補制限部318の機能を備えるようにしても同等の効果が得られる。但し、符号化側と復号側で参照候補制限部318を設置する位置或いは参照候補制限部318の機能を備える処理部は同じにする必要がある。
In addition, although the example in which the reference
次に、動画像符号化装置100の構成を示す図2の中に設置される実施例7の動きベクトル予測部103について説明する。図52は図23で示される実施例1の動画像符号化装置の動きベクトル予測部103を基に、実施例7の参照候補制限部328を追加した動きベクトル予測部103の構成を示す。図52で示される各部は、基本的には図23で示される各部と同じ機能を備えているが、符号化情報導出部320及び参照候補リスト作成部321の処理は実施例1とは異なる。実施例7における符号化情報導出部320及び参照候補リスト作成部321と新たに追加した参照候補制限部328の機能について説明する。
Next, the motion
図53は実施例7における符号化情報導出部320の動作を示すフローチャートである。実施例1における符号化情報導出部320では、処理対象の予測ブロックの予測モードに応じて、片方向予測でL0予測の場合は参照リストL0に登録されている符号化情報だけを、片方向予測でL1予測の場合は参照リストL1に登録されている符号化情報だけを、双予測の場合は参照リストL0,L1に登録されているそれぞれの符号化情報の判定を、L0とL1のリスト毎に独立して行っていた。
FIG. 53 is a flowchart showing the operation of the encoded
実施例7では、まず、リストに関わらず隣接ブロックの有効性を判定し、その後に処理対象の予測ブロックの予測モードに応じて、符号化情報を検出して取得する。この処理により、隣接ブロックの有効性判定をリスト毎に行う必要が無くなり、処理工数を削減することが可能となる。 In the seventh embodiment, first, the validity of adjacent blocks is determined regardless of the list, and thereafter, encoding information is detected and acquired according to the prediction mode of the prediction block to be processed. With this processing, it is not necessary to determine the validity of adjacent blocks for each list, and the number of processing steps can be reduced.
まず、変数Nを初期化する(S900)。変数Nには図9(a)に示される同一のピクチャ上にある隣接ブロックB0,A0,A1,B1,C0が設定される。ここで、初期化時にはN=B0に設定することとし、変数Nの更新はA0,A1,B1,C0の順で行うこととする。 First, the variable N is initialized (S900). In the variable N, adjacent blocks B0, A0, A1, B1, and C0 on the same picture shown in FIG. Here, N = B0 is set at the time of initialization, and the variable N is updated in the order of A0, A1, B1, C0.
動き検出モードは、差分動きベクトルを伝送する為のモードであり、予測動きベクトルの選択の幅を広げる為に、左側と上側の隣接ブロックの候補の動きベクトルの差が大きくなるように、左側と上側の候補間の距離を離して登録することで、差分動きベクトルの符号量を削減し、符号化効率を向上させる。この動き検出モードでの優先順位の決定方法は、出来るだけ同一の符号化情報である確率の高い隣接ブロックを優先候補として登録するマージモードとは目的が異なる。 The motion detection mode is a mode for transmitting a difference motion vector, and in order to widen the selection range of the predicted motion vector, the left and the left and the upper adjacent block candidate motion vector difference is increased. By registering the distance between the upper candidates at a distance, the coding amount of the difference motion vector is reduced and the coding efficiency is improved. The priority determination method in this motion detection mode has a different purpose from the merge mode in which adjacent blocks with the highest probability of the same encoded information are registered as priority candidates.
次に、変数Nの隣接ブロック(以下、隣接ブロックNとする)の位置及び符号化情報を取得する(S902)。取得された隣接ブロックNの位置に基づいて、隣接ブロックNが有効か否かを判定する(S903)。例えば、処理対象の予測ブロックがピクチャ左端に位置する場合、処理対象の予測ブロックの左の隣接ブロックは存在しないので、符号化情報格納メモリ114の中に該当する符号化情報は無いことになり、無効と判定される。
Next, the position of the adjacent block of variable N (hereinafter referred to as adjacent block N) and encoding information are acquired (S902). Based on the acquired position of the adjacent block N, it is determined whether or not the adjacent block N is valid (S903). For example, when the prediction block to be processed is located at the left end of the picture, there is no adjacent block to the left of the prediction block to be processed, so there is no corresponding encoding information in the encoding
隣接ブロックNが無効の場合(S903のN)、availableFlagNを“0”に設定する(S908)。隣接ブロックNが有効の場合(S903のY)、隣接ブロックNの予測モードが画面内符号化(Intra)モードか否かを判定する(S904)。隣接ブロックNの予測モードがIntraモードでない場合(S904のY)、即ち、Interモードの場合、availableFlagNを“1”に設定する(S906)。続いて、動きベクトルの算出が行われる(S916)。動きベクトルの算出後、隣接ブロックNの符号化情報をrefIdxLXN、mvLXN及びpredFlagLXNに代入して設定する(S907)。 When the adjacent block N is invalid (N in S903), the available FlagN is set to “0” (S908). When the adjacent block N is valid (Y in S903), it is determined whether or not the prediction mode of the adjacent block N is an intra-frame coding (Intra) mode (S904). When the prediction mode of the adjacent block N is not the Intra mode (Y in S904), that is, in the case of the Inter mode, the available FlagN is set to “1” (S906). Subsequently, a motion vector is calculated (S916). After calculating the motion vector, the encoding information of the adjacent block N is set by substituting it into refIdxLXN, mvLXN, and predFlagLXN (S907).
以上のようにして、隣接ブロックNに対する判定処理が終了すると、変数Nが隣接ブロックの最後か否かの判定を実施する(S909)。変数Nの更新はB0,A0,A1,B1,C0の順番に行われるので、ここではNがC0か否かの判定を行う。NがC0であれば(S909のY)、全ての隣接ブロックに対して判定をしたことになり、処理を終了する。NがC0でない場合(S909のN)、Nの更新を行う(S910)。上述した隣接ブロックの順番にNを更新して、ステップS902以降の処理を隣接ブロックNについて繰り返す。 When the determination process for the adjacent block N is completed as described above, it is determined whether or not the variable N is the last of the adjacent blocks (S909). Since the variable N is updated in the order of B0, A0, A1, B1, and C0, it is determined here whether N is C0 or not. If N is C0 (Y in S909), all adjacent blocks have been determined, and the process ends. If N is not C0 (N in S909), N is updated (S910). N is updated in the order of the adjacent blocks described above, and the processes in and after step S902 are repeated for the adjacent block N.
ここで、動きベクトルの算出過程について図54のフローチャートを用いて説明する。まず、L0予測の隣接ブロックNの符号化情報を格納しておく変数を初期化する。ここで、変数は隣接ブロックNの動きベクトルmvL0N、参照ピクチャ番号refIdxL0N及び参照リストの有効性を示すフラグpredFlagL0Nであり、次のように初期化される(S920)。
mvL0N=(0,0)
refIdxL0N=0
predFlagL0N=0)
Here, the motion vector calculation process will be described with reference to the flowchart of FIG. First, a variable for storing the encoding information of the adjacent block N for L0 prediction is initialized. Here, the variables are the motion vector mvL0N of the adjacent block N, the reference picture number refIdxL0N, and the flag predFlagL0N indicating the validity of the reference list, and are initialized as follows (S920).
mvL0N = (0,0)
refIdxL0N = 0
predFlagL0N = 0)
次に、処理対象の予測ブロックのInterモードが片方向のL0予測或いはBi−pred予測(双予測)か否か判定される(S921)。Bi−pred予測ではL0予測及びL1予測の2つの参照リストを使用するので、片方向のL0予測或いはBi−pred予測の場合(S921のY)、隣接ブロックNの動きベクトルmvL0Nの算出に進む(S922)。 Next, it is determined whether the Inter mode of the prediction block to be processed is unidirectional L0 prediction or Bi-pred prediction (bi-prediction) (S921). Since Bi-pred prediction uses two reference lists of L0 prediction and L1 prediction, in the case of unidirectional L0 prediction or Bi-pred prediction (Y in S921), the process proceeds to calculation of the motion vector mvL0N of the adjacent block N ( S922).
処理対象の予測ブロックと隣接ブロックNの参照ピクチャ番号及び参照リストが同一である場合には、隣接ブロックNのL0予測の動きベクトルをmvL0Nに代入して設定する。処理対象の予測ブロックと隣接ブロックNの参照ピクチャ番号及び参照リストが同一でない場合、隣接ブロックNの動きベクトルのスケーリング処理が実施される。スケーリング処理については実施例1で説明したので、ここでは割愛する。スケーリング処理を実施することで、処理対象の予測ブロックに対して、より近い動きベクトルを導出して精度向上を図ることが出来る。以上のようにして、スケーリング処理された動きベクトルをmvL0Nに、隣接ブロックNのL0予測の符号化情報をrefIdxL0N及びpredFlagL0Nに代入して設定する。 When the reference picture number and reference list of the prediction block to be processed and the adjacent block N are the same, the L0 prediction motion vector of the adjacent block N is substituted into mvL0N and set. When the prediction block to be processed and the reference picture number and reference list of the adjacent block N are not the same, the scaling processing of the motion vector of the adjacent block N is performed. Since the scaling process has been described in the first embodiment, it is omitted here. By performing the scaling process, it is possible to derive a closer motion vector for the prediction block to be processed and improve accuracy. As described above, the scaled motion vector is set to mvL0N, and the L0 prediction encoding information of the adjacent block N is set to refIdxL0N and predFlagL0N.
片方向のL0予測でもBi−pred予測でもない場合(S921のN)、L1予測の動きベクトル判定に進む。続いて、L1予測の隣接ブロックNの符号化情報を格納しておく変数を初期化する。ここで、変数は隣接ブロックNの動きベクトルmvL1N、参照ピクチャ番号refIdxL1N及び参照リストの有効性を示すフラグpredFlagL1Nであり、次のように初期化される(S923)。
mvL1N=(0,0)
refIdxL1N=0
predFlagL1N=0
When neither the unidirectional L0 prediction nor the Bi-pred prediction is performed (N in S921), the process proceeds to the motion vector determination of the L1 prediction. Subsequently, a variable for storing the encoding information of the adjacent block N of the L1 prediction is initialized. Here, the variables are the motion vector mvL1N of the adjacent block N, the reference picture number refIdxL1N, and the flag predFlagL1N indicating the validity of the reference list, and are initialized as follows (S923).
mvL1N = (0,0)
refIdxL1N = 0
predFlagL1N = 0
次に、処理対象の予測ブロックのInterモードが片方向のL1予測或いはBi−pred予測(双予測)か否か判定される(S924)。Bi−pred予測ではL0予測及びL1予測の2つの参照リストを使用するので、片方向のL1予測或いはBi−pred予測の場合(S924のY)、隣接ブロックNの動きベクトルmvL1Nの算出に進む(S925)。 Next, it is determined whether the Inter mode of the prediction block to be processed is unidirectional L1 prediction or Bi-pred prediction (bi-prediction) (S924). Since Bi-pred prediction uses two reference lists of L0 prediction and L1 prediction, in the case of unidirectional L1 prediction or Bi-pred prediction (Y in S924), the process proceeds to calculation of a motion vector mvL1N of an adjacent block N ( S925).
処理対象の予測ブロックと隣接ブロックNの参照ピクチャ番号及び参照リストが同一である場合には、隣接ブロックNのL1予測の動きベクトルをmvL0Nに代入して設定する。処理対象の予測ブロックと隣接ブロックNの参照ピクチャ番号及び参照リストが同一でない場合、隣接ブロックNの動きベクトルのスケーリング処理が実施される。スケーリング処理については実施例1で説明したので、ここでは割愛する。以上のようにして、スケーリング処理された動きベクトルをmvL1Nに、隣接ブロックNのL1予測の符号化情報をrefIdxL1N及びpredFlagL1Nに代入して設定する。片方向のL1予測でもBi−pred予測でもない場合(S924のN)、処理を終了する。 When the reference picture number and the reference list of the prediction block to be processed and the adjacent block N are the same, the motion vector of the L1 prediction of the adjacent block N is substituted into mvL0N and set. When the prediction block to be processed and the reference picture number and reference list of the adjacent block N are not the same, the scaling processing of the motion vector of the adjacent block N is performed. Since the scaling process has been described in the first embodiment, it is omitted here. As described above, the scaled motion vector is set in mvL1N, and the L1 prediction coding information of the adjacent block N is substituted into refIdxL1N and predFlagL1N. If neither the unidirectional L1 prediction nor the Bi-pred prediction is made (N in S924), the process is terminated.
以上のようにして、処理対象の予測ブロックと同一ピクチャ上に存在する周囲の隣接ブロックを参照ブロックとして、その符号化情報が導出される。時間が異なる別のピクチャの同一位置に隣接するブロックの符号化情報の導出は実施例1と同様であるので、ここでは説明を割愛する。 As described above, the encoding information is derived using the neighboring neighboring blocks existing on the same picture as the prediction block to be processed as the reference block. Since the derivation of the coding information of the block adjacent to the same position of another picture having a different time is the same as in the first embodiment, the description is omitted here.
こうして得られた隣接ブロックの符号化情報は、参照候補リスト作成部321に入力される。参照候補リスト作成部321で作成される参照候補リストとして、処理対象の予測ブロックのInterモードに応じて、L0及びL1予測の2つの参照リストに対してそれぞれ参照候補リストが作成される。実施例1では参照候補リストを参照リスト毎に作成したが、実施例7では以降の判定に使用する隣接ブロックの有効性を示すフラグを参照リストに関わらず1つのフラグavailableFlagNで表すので、L0,L1両予測の参照候補リストを一度に作成することが可能となり、処理工数を削減することが出来る。
The encoding information of the adjacent blocks obtained in this way is input to the reference candidate
参照候補リスト作成部321の動作を図55のフローチャートを用いて説明する。まず
、変数Nと参照候補リストのインデックスkを初期化する(S600)。変数Nには図9(a)に示される隣接ブロックB0が初期設定され、kは0に設定される。変数Nは参照候補リストに格納する優先順位を表し、隣接ブロックB0,A0,A1,B1,C0の順番に行われる。インデックスkは参照候補リストの記憶領域に設定される符号化情報の候補の格納領域の番号を表し、優先順位と対応している。
The operation of the reference candidate
次に、参照隣接ブロックNの有効フラグavailableFlagNの判定が行われる(S601)。availableFlagNが1の場合(S601のY)、隣接ブロックNの符号化情報をL0及びL1予測の2つの参照候補リストcandListLX[k]に同時に登録し(S602)、kを更新する(S603)。ここで、添え字Xは0或いは1を表す。availableFlagNが0の場合(S601のN)、参照候補リストには登録せず、次に進む。隣接ブロックNが最後の参照ブロックか否かを判定する(S604)。最後のブロックである場合(S604のY)、インデックスの値を候補リスト総数NumListCandに設定した後(S605)、処理を終了する。最後のブロックで無い場合(S604のN)、変数Nを更新して(S606)、ステップS601以降の処理を繰り返す。 Next, the valid flag availableFlagN of the reference adjacent block N is determined (S601). When availableFlagN is 1 (Y in S601), the encoding information of the adjacent block N is registered simultaneously in the two reference candidate lists candListLX [k] for L0 and L1 prediction (S602), and k is updated (S603). Here, the subscript X represents 0 or 1. If availableFlagN is 0 (N in S601), it is not registered in the reference candidate list, and proceeds to the next. It is determined whether or not the adjacent block N is the last reference block (S604). If it is the last block (Y in S604), the index value is set to the total number of candidate lists NumListCand (S605), and the process ends. If it is not the last block (N in S604), the variable N is updated (S606), and the processes after step S601 are repeated.
参照候補制限部328には、同一情報検出部322にて参照候補リストの中から同一の動きベクトルを備える参照隣接ブロックを削除した参照候補リストが入力される。参照候補制限部328は、参照候補リストの中から、設定された制限数分のインデックス上位の隣接ブロックを残し、それ以外を削除するか、或いは選択外として判定する。例えば、実施例1で同一の動きベクトルが存在しない場合の参照候補リストの一例を示す図28において、動き検出モードの場合に3個に制限すると、インデックス0から2までの上位3個の隣接ブロックを参照候補とし、残りは使用しないので参照候補の対象から外す。
The reference
以上のようにして、参照候補として隣接ブロックが参照候補リストに制限されて登録されることになり、参照隣接ブロックの総数を実施例1に比べて削減することが出来るので、割り当てる符号語長が短くなり、符号化効率を改善することが出来る。また、参照候補リストの優先順位の高い隣接ブロックに絞り込んで制限するので、符号化効率の低減を抑えることが出来る。参照候補リストの制限数は、例えばSPS(Sequence Parameter Set)やSlice Headerといったヘッダー情報に制限数を設定してもよい。 As described above, adjacent blocks are registered as reference candidates by being limited to the reference candidate list, and the total number of reference adjacent blocks can be reduced as compared with the first embodiment. This shortens the encoding efficiency. In addition, since the restriction is limited to adjacent blocks with high priority in the reference candidate list, it is possible to suppress a reduction in encoding efficiency. The limit number of the reference candidate list may be set in header information such as SPS (Sequence Parameter Set) and Slice Header, for example.
また、符号化側と復号側で暗黙的な条件として設定してもよく、符号化側と復号側で矛盾が生じないよう設定されれば方法を制限するものではない。また、予測モードに従ってそれぞれ制限数を設定してもよい。更に、処理対象の予測ブロックが参照する符号化済み或いは復号済みの隣接ブロックの符号化情報に基づいて、参照候補リストの制限数を適応的に変更してもよい。 Moreover, it may be set as an implicit condition on the encoding side and the decoding side, and the method is not limited as long as it is set so that no contradiction occurs between the encoding side and the decoding side. Moreover, you may set a limit number according to prediction mode, respectively. Furthermore, the limit number of the reference candidate list may be adaptively changed based on the encoding information of the encoded or decoded adjacent block that is referred to by the processing target prediction block.
以上のように、同一情報検出部322の直後に参照候補制限部328を設けることで、参照候補を制限する手法を説明したが、参照候補制限部328を動きベクトル予測部103の中に設けずに、同一情報検出部322の中に参照候補制限部328の機能を備えるようにしても同等の効果が得られる。この場合、同一情報検出部322では、参照候補リストの中に格納された符号化情報の候補を比較して、同じ動きベクトルを備える候補が存在する場合、最も小さい参照候補リストのインデックスを持つ符号化情報の候補を除いて全て削除するとともに、最も小さい参照候補リストのインデックスを持つ符号化情報の候補を参照候補リストに再登録し、その登録数が制限数に達した場合に処理を終了する。
As described above, the method of limiting the reference candidates by providing the reference
図56は実施例7における同一情報検出部322の動作を示すフローチャートであり、実施例1の図29に示す動作を行う同一情報検出部322に対して、実施例7の参照候補を制限する機能を追加したものである。図29のフローチャートに対して、新たにステップS1010からステップS1012の処理ステップが追加され、これら追加された処理について説明する。
FIG. 56 is a flowchart showing the operation of the same
参照候補リストのインデックスを表す変数nとmの設定後に、削除リストに記録される参照候補リストの候補数を表すカウンタsを0に設定する(S1010)。次に、ステップS1002にて、mが既に削除リストに記録されているか判定し、mが未だ削除リストに記録されていない場合(S1002のN)、mを削除リストに記録するとともに(S1003)、カウンタsを1加算して更新する(S1011)。 After setting the variables n and m representing the index of the reference candidate list, a counter s representing the number of reference candidate lists recorded in the deletion list is set to 0 (S1010). Next, in step S1002, it is determined whether m is already recorded in the deletion list. If m is not yet recorded in the deletion list (N in S1002), m is recorded in the deletion list (S1003). The counter s is incremented by 1 and updated (S1011).
次にsが閾値THと等しいか否かを判定する(S1012)。ここで、閾値THは候補リスト総数NumListCandから制限数を引いた数を表す。即ち、参照候補リストに制限数の候補を残し、削除リストに記録された候補数の最大数を表す。sがTHと等しくなった場合(S1012のY)、参照候補リストに制限数分の候補が残ることになるので、同一情報判定の処理を終了して、ステップS1008に進み、削除リストに記録されたインデックスに該当するリストの格納領域の符号化情報を削除して、インデックス0を基準に、インデックスが小さい候補の順で詰めて、符号語を更新して終了する。尚、参照候補リストの総数NumListCandは制限数に更新される。
Next, it is determined whether s is equal to the threshold value TH (S1012). Here, the threshold value TH represents a number obtained by subtracting the limit number from the total number of candidate lists NumListCand. That is, it represents the maximum number of candidates recorded in the deletion list while leaving a limited number of candidates in the reference candidate list. If s becomes equal to TH (Y in S1012), a limited number of candidates remain in the reference candidate list, so the same information determination process is terminated, and the process proceeds to step S1008 to be recorded in the deletion list. The encoded information in the storage area of the list corresponding to the index is deleted, and the code word is updated in the order of candidates with the smallest index based on the
また、参照候補制限部328を同一情報検出部322の直前に設けてもよい。この場合、参照候補リスト作成部321にて作成された参照候補リストの中の参照候補を制限して候補数を絞り込むので、同一情報検出部322で同一情報を検出する最大回数が削減される為、処理量が削減される効果がある。
Further, the reference
図57は図23で示される実施例1の動画像符号化装置の動きベクトル予測部103を基に、実施例7の参照候補制限部328を追加した動きベクトル予測部103の構成を示す。図57で示される各部は図23で示される各部と同じ機能を備えている。上述した図52の構成と参照候補制限部328の位置が異なるだけであり、参照候補制限部328の動作は同様である。参照候補制限部328は参照候補リスト作成部321にて作成された参照候補リストの中から、設定された制限数分のインデックス上位の隣接ブロックを残し、それ以外を削除するか、或いは選択外として判定する。
FIG. 57 shows a configuration of the motion
以上のように、同一情報検出部322の直前に参照候補制限部328を設けることで、参照候補を制限する手法を説明したが、参照候補制限部328を動きベクトル予測部103の中に設けずに、参照候補リスト作成部321の中に参照候補制限部328の機能を備えるようにしても同等の効果が得られる。この場合、参照候補リスト作成部321では、符号化情報導出部320にて導出された参照隣接ブロックの符号化情報を、参照候補リストに登録するとともに、参照候補リストに登録された参照隣接ブロックの数をカウントし、その数が制限数に達した場合に処理を終了する。参照候補リスト作成部321は、処理対象の予測ブロックの予測モードに応じて、L0及びL1予測の参照候補リストを同時に作成することが出来ることを除けば、実施例7における参照候補リスト作成部311の動作を示す図51のフローチャートと同じ動作を行うので、ここでは説明を割愛する。
As described above, the method of restricting reference candidates by providing the reference
(実施例8)
実施例8では、実施例2、5とは異なる、参照隣接ブロックのブロック群を定義し、その中からK個の代表する隣接ブロックを選択するものである。図31(a)の隣接ブロックの配置を用いて説明する。実施例4と同様に、図31(a)で配置される6つの隣接ブロックA0,A1,B0,B1,C0,Tから、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックA0,A1,B0,B1,C0を1つのブロック群とし、そのブロック群の中からK個の代表する隣接ブロックを選択する。
(Example 8)
In the eighth embodiment, a block group of reference adjacent blocks different from those in the second and fifth embodiments is defined, and K representative adjacent blocks are selected from the block group. This will be described using the arrangement of adjacent blocks in FIG. Similar to the fourth embodiment, from the six adjacent blocks A0, A1, B0, B1, C0, T arranged in FIG. 31A, adjacent blocks A0, A1, which are on the same picture as the prediction block to be processed. B0, B1, and C0 are set as one block group, and K representative adjacent blocks are selected from the block group.
選択された同じピクチャ上の代表するK個の隣接ブロックと、時間が異なる別のピクチャの同一位置に隣接するブロックTのK+1個の隣接ブロックの符号化情報を参照候補として参照候補リストに登録する。実施例4では符号化情報導出部310、符号化情報導出部320でK個(2個)の代表する隣接ブロックを選択しているのに対し、実施例8では実施例1と同様に、符号化情報導出部310及び符号化情報導出部320はすべての隣接ブロックを選択し、参照候補リスト作成時以降の処理で、K個(2個)の代表する隣接ブロックを選択している点が異なる。
Encoding information of K + 1 representative blocks on the same selected picture and K + 1 adjacent blocks of block T adjacent to the same position of another picture with different time is registered as a reference candidate in the reference candidate list. . In the fourth embodiment, the coded
実施例8は、参照候補として選出する隣接ブロックの数に制限をかける実施例7を、処理対象の予測ブロックと同一ピクチャ上のブロック群に適用した場合と等価であるが、時間が異なる別のピクチャの同一位置に隣接するブロックのみを別扱いとして参照候補リストの最後に登録する点が異なる。同じピクチャ上にある隣接ブロック同士は同じ符号化情報を持つ可能性が高く、時間が異なる別のピクチャの同一位置に隣接するブロックはそれらと異なる符号化情報を持つ可能性が高いので、別途候補として登録する効果が高いといえる。例えば、同じピクチャ上にある隣接ブロックがすべて、イントラの場合でも、時間が異なる別のピクチャの同一位置に隣接するブロックはインター予測の符号化情報を持つ可能性が高い。ただし、時間が異なる別のピクチャの同一位置に隣接するブロックは、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックに比べて、処理対象の予測ブロックと符号化情報が等しい或いは近い可能性が低いので、優先順位を下げている。 The eighth embodiment is equivalent to the case where the seventh embodiment that limits the number of adjacent blocks to be selected as reference candidates is applied to a block group on the same picture as the prediction block to be processed. The only difference is that only blocks adjacent to the same position in the picture are treated separately and registered at the end of the reference candidate list. Adjacent blocks on the same picture are likely to have the same encoding information, and blocks adjacent to the same position in different pictures with different times are likely to have different encoding information. It can be said that the registration effect is high. For example, even when all adjacent blocks on the same picture are intra, blocks that are adjacent to the same position in different pictures with different times are likely to have inter prediction coding information. However, a block adjacent to the same position of another picture with a different time may have the same or close encoding information as the processing target prediction block compared to an adjacent block on the same picture as the processing target prediction block. The priority is lowered because it is low.
その為、同一ピクチャ上のブロック群から選択される隣接ブロックよりも優先順位を低く設定し、参照候補リストの下位の位置に登録する。以下では、実施例8は、実施例7で説明された動画像符号化装置100及び動画像復号装置200と同様の構成をなすものとして説明する。但し、実施例7の参照候補制限部318及び328は設置せず、参照候補制限部の機能を参照候補リスト作成部311、321、或いは同一情報検出部312、322の中に設け、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックのブロック群に適用することとする。
Therefore, the priority is set lower than that of the adjacent block selected from the block group on the same picture, and it is registered at a lower position in the reference candidate list. In the following description, the eighth embodiment is assumed to have the same configuration as that of the moving
動画像符号化装置100の中に設置されるマージ検出部106と、対応する動画像復号装置200の中に設置されるマージ判定部206の参照候補リスト作成部311、及び動画像符号化装置の100中に設置される動きベクトル予測部103と、対応する動画像復号装置200の中に設置される動きベクトル算出部204の参照候補リスト作成部321の中で、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックA0,A1,B0,B1,C0を同一ピクチャ上のブロック群と定義する。同一ピクチャ上のブロック群を代表する隣接ブロック、Tの順に優先順位を設定し、優先順位の高いものから参照候補リストに参照隣接ブロックの符号化情報の候補を登録することで、参照候補リストのインデックスの符号量を削減する。
Of the
まず、動画像符号化装置100の構成を示す図2の中に設置される実施例8のマージ検出部106について説明する。マージ検出部106は実施例1で説明した図11と同じ構成をなすが、参照候補リスト作成部311の処理が実施例1とは異なる。実施例8におけるマージ検出部106の参照候補リスト作成部311の動作について説明する。
First, the
図58は実施例8における参照候補リスト作成部311の動作を示すフローチャートである。実施例8では、参照候補リスト作成前に、同一ピクチャ上のブロック群の、参照隣接ブロックの参照候補リストに登録する数Kを設定する。ここで、Kは2に設定する。尚、Kは同一ピクチャ上のブロック群の中の隣接ブロック総数を超えないこととする。
FIG. 58 is a flowchart showing the operation of the reference candidate
まず、変数Nと参照候補リストのインデックスkを初期化する(S1300)。変数Nには予測モードに対応した最も優先順位の高い隣接ブロックが初期設定される。マージモードにおける優先順位はA1,B1,B0,A0,C0としているので、A1が設定され、Nの更新はこの順番で行われる。kは0に設定される。インデックスkは参照候補リストの記憶領域に設定される符号化情報の候補の格納領域の優先順位を示す。 First, the variable N and the index k of the reference candidate list are initialized (S1300). In the variable N, an adjacent block with the highest priority corresponding to the prediction mode is initially set. Since the priorities in the merge mode are A1, B1, B0, A0, C0, A1 is set, and N is updated in this order. k is set to zero. The index k indicates the priority order of the storage areas for the encoded information candidates set in the storage area of the reference candidate list.
最初に、隣接ブロックNの有効フラグavailableFlagNの判定が行われる(S1301)。availableFlagNが0の場合(S1301のN)、参照候補リストには登録せず、ステップS1305に進む。availableFlagNが1の場合(S1301のY)、隣接ブロックNの符号化情報を参照候補リストに登録し(S1302)、kを更新する(S1303)。 First, the validity flag availableFlagN of the adjacent block N is determined (S1301). If availableFlagN is 0 (N in S1301), the process proceeds to step S1305 without registering in the reference candidate list. When availableFlagN is 1 (Y in S1301), the encoding information of the adjacent block N is registered in the reference candidate list (S1302), and k is updated (S1303).
kの更新後、kとKの比較に進む(S1304)。kがK未満(S1304のY)、即ち参照候補リストに登録される隣接ブロックの数が設定数Kに達していない場合はステップS1305に進む。kがK以上の場合(S1304のN)、参照候補リストに登録される隣接ブロックの数が設定数Kに達した場合なので、参照候補リストに登録するか否かの判定から抜け、ステップS1307に進む。 After updating k, the process proceeds to comparison between k and K (S1304). If k is less than K (Y in S1304), that is, if the number of adjacent blocks registered in the reference candidate list has not reached the set number K, the process proceeds to step S1305. If k is greater than or equal to K (N in S1304), since the number of adjacent blocks registered in the reference candidate list has reached the set number K, the determination as to whether or not to register in the reference candidate list is skipped, and the process proceeds to step S1307. move on.
次に、隣接ブロックNが最後の参照ブロックか否かを判定する(S1305)。隣接ブロックNが最後のブロックで無い場合(S1305のN)、変数Nを更新して(S1306)、ステップS1301以降の処理を繰り返す。隣接ブロックNが最後のブロックである場合(S1305のY)、ステップS1307に進む。 Next, it is determined whether or not the adjacent block N is the last reference block (S1305). If the adjacent block N is not the last block (N in S1305), the variable N is updated (S1306), and the processes after step S1301 are repeated. If the adjacent block N is the last block (Y in S1305), the process proceeds to step S1307.
同一ピクチャ上のブロック群の登録判定終了後に、時間が異なる別のピクチャの同一位置に隣接するブロックTの有効フラグavailableFlagTの判定が行われる(S1307)。availableFlagTが1の場合(S1307のY)、隣接ブロックTの符号化情報を参照候補リストに登録し(S1308)、kを更新する(S1309)。availableFlagTが0の場合(S1307のN)、参照候補リストに登録せず、ステップS1310に進む。参照候補リストに登録した数を候補リスト総数NumListCandに設定した後(S1310)、処理を終了する。 After the registration determination of the block group on the same picture is completed, the valid flag availableFlagT of the block T adjacent to the same position of another picture having a different time is determined (S1307). When availableFlagT is 1 (Y in S1307), the encoding information of the adjacent block T is registered in the reference candidate list (S1308), and k is updated (S1309). If availableFlagT is 0 (N in S1307), the process proceeds to step S1310 without being registered in the reference candidate list. After the number registered in the reference candidate list is set as the total number of candidate lists NumListCand (S1310), the process ends.
以上の処理により、参照候補リストに登録される。ここでは、参照候補リストに登録される最大数はK+1で表される。参照隣接ブロックが1つだけ有効となる場合、最大符号語長は0となるので、符号語は必要とせず、1つだけ有効と判定された隣接ブロックの符号化情報の候補を参照先として一意に決定される。 Through the above processing, it is registered in the reference candidate list. Here, the maximum number registered in the reference candidate list is represented by K + 1. When only one reference adjacent block is valid, the maximum codeword length is 0. Therefore, a codeword is not required, and a candidate of encoding information of an adjacent block determined to be only one is unique as a reference destination. To be determined.
上述した動画像符号化装置100の中に設置されるマージ検出部106に対応する、動画像復号装置200の中に設置される実施例8のマージ判定部206について説明する。マージ判定部206は実施例1で説明した図22と同じ構成をなし、参照候補リスト作成部311の処理が実施例1と異なる。それ以外の符号化情報導出部310、同一情報検出部312、参照候補リスト格納メモリ314及び選択部315は実施例1と同一の機能を備える。
The
また、参照候補リスト作成部311は上述した実施例8におけるマージ検出部106の参照候補リスト作成部311と同一の機能を備えているので、マージ判定部206の同一情報検出部312までの処理で、実施例8のマージ検出部106と同一の参照候補リストが作成されることになる。作成された参照候補リストから、マージモードにおける参照隣接ブロックの符号化情報を取得する選択部315について説明する。選択部315は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択された符号化情報を動き補償予測部207に供給するとともに、符号化情報格納メモリ210に供給する。
Further, since the reference candidate
次に、動画像符号化装置100の構成を示す図2の中に設置される実施例8の動きベクトル予測部103について説明する。動きベクトル予測部103は実施例1で説明した図23と同じ構成をなすが、参照候補リスト作成部321の処理が実施例1とは異なる。実施例8における参照候補リスト作成部321の動作について説明する。
Next, the motion
参照候補リスト作成部321は上述したマージ検出部106の参照候補リスト作成部311と同様に、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックA0,A1,B0,B1,C0を1つのブロック群とし、そのブロック群の中からK個の代表する隣接ブロックを選択する。マージ検出部106の参照候補リスト作成部311と比較して、L0及びL1予測それぞれの参照候補リストを同時に作成する点が異なっているが、処理の流れに大差はないので、ここでは説明を割愛する。尚、動き検出モードでの優先順位はB0,A0,A1,B1,C0としている。
Similar to the reference candidate
上述した動画像符号化装置100の中に設置される動きベクトル予測部103に対応する、動画像復号装置200の中に設置される実施例8の動きベクトル算出部204についても、動きベクトル算出部204の参照候補リスト作成部321は、対応する動きベクトル予測部103の参照候補リスト作成部321と同一の機能を備えており、動きベクトル予測部103と同一の参照候補リストが作成されることになるので、ここでの説明は割愛する。
The motion
以上の処理により、実施例8で作成される候補リストは、参照隣接ブロックが全て有効であった場合、予測モード別に図59ように表される。マージモード、動き検出モードともに同一ピクチャ上のブロック群の参照隣接ブロックの個数を2とした場合の一例であり、それぞれの予測モードの優先順位の高い有効な隣接ブロックが参照候補リストに登録される。 With the above processing, the candidate list created in the eighth embodiment is represented as shown in FIG. 59 for each prediction mode when all the reference adjacent blocks are valid. This is an example in which the number of reference adjacent blocks in the block group on the same picture is 2 in both the merge mode and the motion detection mode, and effective adjacent blocks with high priority in each prediction mode are registered in the reference candidate list. .
実施例8では、優先順位をマージモードの場合はA1,B1,B0,A0,C0、動き検出モードの場合はB0,A0,A1,B1,C0の順番としたが、必ずしもこの順番である必要はない。但し、マージモードの場合は、処理対象の予測ブロックの辺と、符号化情報が最も等しい可能性が高いと考えられる処理対象の予測ブロックの辺とが接している隣接ブロックA1及びB1を優先して参照候補リストの前方に登録することで、マージインデックスの符号量を削減し、符号化効率を向上させることができる。 In the eighth embodiment, the priority order is A1, B1, B0, A0, C0 in the merge mode, and B0, A0, A1, B1, C0 in the motion detection mode. There is no. However, in the merge mode, priority is given to adjacent blocks A1 and B1 in which the sides of the prediction block to be processed and the sides of the prediction block to be processed that are most likely to have the same encoding information are in contact. By registering in front of the reference candidate list, it is possible to reduce the code amount of the merge index and improve the encoding efficiency.
動き検出モードは、差分動きベクトルを伝送する為のモードであり、予測動きベクトルの選択の幅を広げる為に、左側と上側の隣接ブロックの候補の動きベクトルの差が大きくなるように、左側と上側の候補間の距離を離して登録することで、差分動きベクトルの符号量を削減し、符号化効率を向上させることができる。この動き検出モードでの優先順位の決定方法は、出来るだけ同一の符号化情報である確率の高い隣接ブロックを優先候補として登録するマージモードとは目的が異なる。尚、実施例3で説明したように、マージモードの場合は実施例8を用いて、動き検出モードの場合は実施例2或いは他の実施例を用いる等、予測モードに応じて組み合わせを変えることも可能である。 The motion detection mode is a mode for transmitting a difference motion vector, and in order to widen the selection range of the predicted motion vector, the left and the left and the upper adjacent block candidate motion vector difference is increased. By registering the distance between the upper candidates apart, it is possible to reduce the coding amount of the differential motion vector and improve the coding efficiency. The priority determination method in this motion detection mode has a different purpose from the merge mode in which adjacent blocks with the highest probability of the same encoded information are registered as priority candidates. As described in the third embodiment, the combination is changed according to the prediction mode, such as using the eighth embodiment in the merge mode and using the second or other embodiments in the motion detection mode. Is also possible.
(実施例9)
実施例9では、実施例1と同様に、処理対象の予測ブロックと同じピクチャ上にある隣接ブロック及び時間が異なる別のピクチャの同一位置に隣接するブロックに対して、隣接ブロックが有効であれば参照候補リストに登録し、参照候補リストの中から最適な隣接ブロックの符号化情報を選択し、隣接ブロックを表す参照候補リストのインデックスを符号化、伝送するものである。
Example 9
In the ninth embodiment, as in the first embodiment, if an adjacent block is valid for an adjacent block on the same picture as the prediction block to be processed and a block adjacent to the same position of another picture having a different time, The information is registered in the reference candidate list, the optimum neighboring block coding information is selected from the reference candidate list, and the index of the reference candidate list representing the neighboring block is coded and transmitted.
図9(a)の隣接ブロックの配置を用いて説明する。実施例1では、参照候補リストを作成する場合に、隣接ブロックの位置に対して予め決められた優先順位が対応付けられ、優先順位の順番で隣接ブロックが所定の条件を満たすか否かを判定し、条件を満たす場合に参照候補リストの前方に登録して、参照候補リストを作成していた。つまり、隣接ブロックの位置に対応付けられた優先順位がそのまま参照候補リストのインデックスに反映され、優先順位が高い程、小さいインデックスとなる参照候補リストの記憶領域に格納されていた。 This will be described with reference to the arrangement of adjacent blocks in FIG. In the first embodiment, when creating a reference candidate list, a predetermined priority is associated with the position of an adjacent block, and it is determined whether the adjacent block satisfies a predetermined condition in the order of priority. When the condition is satisfied, the reference candidate list is created by registering in front of the reference candidate list. That is, the priority associated with the position of the adjacent block is reflected as it is in the index of the reference candidate list, and the higher the priority, the smaller the index is stored in the storage area of the reference candidate list.
一般に、処理対象の予測ブロックの周囲の隣接ブロックは、処理対象の予測ブロックに接している領域が大きい程、処理対象の予測ブロックと符号化情報が最も等しい可能性が高いと考えられるので、そのような隣接ブロックを優先して参照候補リストの前方に登録することで、インデックスの符号量を削減し、符号化効率を向上させる。 In general, it is considered that the neighboring blocks around the prediction block to be processed are more likely to have the same encoding information as the prediction block to be processed, as the area in contact with the prediction block to be processed is larger. By preferentially registering such adjacent blocks in front of the reference candidate list, the code amount of the index is reduced and the encoding efficiency is improved.
以上の点から、実施例9では、動き検出モードの場合に、動きベクトル予測の参照候補リスト作成時に隣接ブロックの有効性を判定する順番と、参照隣接ブロックに対して割り当てる符号語の順番を別々に定義する。参照候補リスト作成時に隣接ブロックの有効性を判定する順番は、予測動きベクトルの選択の幅を広げる為に、左側と上側の隣接ブロックの候補の動きベクトルの差が大きくなるように、隣接ブロック間の距離を離した順位にする。 From the above points, in the ninth embodiment, in the motion detection mode, the order of determining the validity of adjacent blocks when creating a reference candidate list for motion vector prediction and the order of codewords assigned to the reference adjacent blocks are separated. Defined in The order of determining the validity of adjacent blocks when creating the reference candidate list is such that the difference between the motion vectors of the left and upper adjacent block candidates becomes large in order to widen the selection of prediction motion vectors. Make the rankings separated by a distance.
ここでは、動きベクトル予測の参照候補リスト作成時に隣接ブロックの有効性を判定する順番をB0,A0,A1,B1,C0,Tとする。一方、参照隣接ブロックに対して割り当てる符号語は、処理対象の予測ブロックに接している領域が大きい隣接ブロックを優先してA1,B1,B0,A0,C0,Tの順番に少ない符号語を割り当てることとする。 Here, B0, A0, A1, B1, C0, and T are used to determine the validity of adjacent blocks when creating a motion vector prediction reference candidate list. On the other hand, codewords assigned to reference neighboring blocks are assigned with a smaller number of codewords in the order of A1, B1, B0, A0, C0, and T, giving priority to neighboring blocks having a large area in contact with the processing target prediction block. I will do it.
動画像符号化装置100の構成を示す図2の中に設置される実施例9の動きベクトル予測部103について説明する。実施例9の動きベクトル予測部103は実施例1で説明した図23と同じ構成をなすが、参照候補リスト作成部321の動作が異なる。実施例9における参照候補リスト作成部321の動作について説明する。図60は、実施例9の動き検出モードにおける参照候補リスト作成部321の動作を示すフローチャートであり、この図を用いて説明する。
The motion
参照候補リスト作成部321は基本的に動きベクトル予測部103の中の参照候補リスト作成部321と同様の動作を実施する。動き検出モードでは参照リストによりL0予測とL1予測それぞれの参照候補リストを作成する必要があるので、動き検出モードでの参照候補リスト作成は、L0予測とL1予測を別個に2回実施する。その為、隣接ブロックの有効性を判定するステップS601において、隣接ブロックの有効性を示すフラグavailableFlagLXN(Xは0或いは1、Nは隣接ブロックを示す記号が記述される)に参照リストを示すLXの添字が付加されるが、判定動作はマージモードの場合と同様である。
The reference candidate
図60では、動きベクトル予測部103の中の参照候補リスト作成部321の動作を示す図19のフローチャートに対して、新たに変換テーブルの作成・更新(S608)が追加されており、この判定部を含め、参照候補リスト作成部321の動作を説明する。但し、ここでは参照リストの一方のみを説明することし、もう一方の参照リストについては判定動作は同様であるので説明を割愛する。
In FIG. 60, creation / update (S608) of a conversion table is newly added to the flowchart of FIG. 19 showing the operation of the reference candidate
まず、変数Nと参照候補リストのインデックスkを初期化する(S600)。変数Nには図9(a)に示される隣接ブロックB0が初期設定され、kは0に設定される。インデックスkは参照候補リスト格納メモリ324に設けられる参照候補リストの記憶領域に設定される符号化情報の候補の格納領域の優先順位を示す。この格納領域は配列構造を成し、candListで表される。インデックスの数字は0から開始され、参照候補リストcandListの記憶領域に、参照隣接ブロックの符号化情報の候補が格納される。以降の処理では、参照候補リストcandListに登録されたインデックスiの符号化情報は、candList[i]で表すこととする。
First, the variable N and the index k of the reference candidate list are initialized (S600). In the variable N, the adjacent block B0 shown in FIG. 9A is initially set, and k is set to 0. The index k indicates the priority order of the storage areas for the encoded information candidates set in the storage area for the reference candidate list provided in the reference candidate
次に、参照隣接ブロックNの有効フラグavailableFlagLXNの判定が行われる(S601)。ここで、Xは0或いは1が入る。availableFlagLXNが0の場合(S601のN)、参照候補リストには登録せず、次に進む。隣接ブロックNが最後の参照ブロックか否かを判定する(S604)。最後のブロックである場合(S604のY)、インデックスkの値を候補リスト総数NumListCandに設定した後(S605)、処理を終了する。最後のブロックで無い場合(S604のN)、変数Nを更新して(S606)、ステップS601以降の処理を繰り返す。ここで、変数Nを更新する隣接ブロックの順番が参照候補リストに格納する優先順位となっており、実施例9では、順番(B0,A0,A1,B1,C0,T)を設定することとする。 Next, the valid flag availableFlagLXN of the reference adjacent block N is determined (S601). Here, 0 or 1 enters X. When availableFlagLXN is 0 (N in S601), it is not registered in the reference candidate list, and proceeds to the next. It is determined whether or not the adjacent block N is the last reference block (S604). If it is the last block (Y in S604), the value of the index k is set to the total number of candidate lists NumListCand (S605), and the process ends. If it is not the last block (N in S604), the variable N is updated (S606), and the processes after step S601 are repeated. Here, the order of adjacent blocks in which the variable N is updated is the order of priority for storage in the reference candidate list. In the ninth embodiment, the order (B0, A0, A1, B1, C0, T) is set. To do.
一方、availableFlagLXNが1の場合(S601のY)、隣接ブロックNの符号化情報を参照候補リストcandList[k]に登録し(S602)、変換テーブルの作成・更新(S608)を実施し、kを更新する(S603)。 On the other hand, if availableFlagLXN is 1 (Y in S601), the encoding information of the adjacent block N is registered in the reference candidate list candList [k] (S602), the conversion table is created / updated (S608), and k is set. Update (S603).
ここで、変換テーブルの作成・更新(S608)の詳細について説明する。変換テーブルの作成・更新では、動きベクトル予測の参照候補リスト作成時に隣接ブロックの有効性を判定する順番と、参照隣接ブロックに対して割り当てる符号語の順番とを対応させる変換テーブルを作成する。変換テーブルは参照候補リスト格納メモリ324に設けられる配列構造をなす記憶領域であり、参照候補リストのインデックスに対応する符号語を表す変換テーブルのインデックスを記憶する。
Details of the creation / update (S608) of the conversion table will be described here. In the creation / update of the conversion table, a conversion table is created that associates the order of determining the validity of adjacent blocks with the reference candidate list for motion vector prediction and the order of codewords assigned to the reference adjacent blocks. The conversion table is a storage area having an array structure provided in the reference candidate
図61を用いて説明する。変数Nと参照候補リストのインデックスkが入力され、変換テーブルの作成・更新が開始する。最初に、変数Mと変換テーブルのインデックスjを初期化する(S1400)。変数Mには図9(a)に示される隣接ブロックA1が初期設定され、jは0に設定される。変数MはA1,B1,B0,A0,C0,Tの順番で更新される。次に、MとNの同一判定が行われる(S1401)。MがNと異なる場合(S1401のN)、変換テーブルには登録せず、jを更新する(S1403)。 This will be described with reference to FIG. The variable N and the index k of the reference candidate list are input, and the creation / update of the conversion table starts. First, the variable M and the index j of the conversion table are initialized (S1400). The adjacent block A1 shown in FIG. 9A is initially set in the variable M, and j is set to 0. The variable M is updated in the order of A1, B1, B0, A0, C0, T. Next, the same determination of M and N is performed (S1401). When M is different from N (N in S1401), j is updated without being registered in the conversion table (S1403).
次に、変数Mが最後の隣接ブロックか否かを判定する(S1404)。最後の隣接ブロックはTであり、MがTである場合(S1404のY)、処理を終了する。最後のブロックで無い場合(S1404のN)、変数Mを更新して(S1405)、ステップS1401以降の処理を繰り返す。 Next, it is determined whether or not the variable M is the last adjacent block (S1404). When the last adjacent block is T and M is T (Y in S1404), the process ends. If it is not the last block (N in S1404), the variable M is updated (S1405), and the processes after step S1401 are repeated.
MがNの場合(S1401のY)、参照候補リストのインデックスkを変換テーブルの先頭からj番目の記憶領域に登録される(S1402)。インデックスkの登録されると処理を終了し、図60のkの更新(S603)に戻る。以上の処理により、参照候補リストのインデックスkは変換テーブルに登録され、参照隣接ブロックが全て有効であれば、図62で示される変換テーブルのインデックスで表される符号語に対応付けられる。 When M is N (Y in S1401), the index k of the reference candidate list is registered in the jth storage area from the top of the conversion table (S1402). When the index k is registered, the process ends, and the process returns to the update of k (S603) in FIG. Through the above processing, the index k of the reference candidate list is registered in the conversion table, and if all the reference neighboring blocks are valid, they are associated with the codeword represented by the index of the conversion table shown in FIG.
この変換テーブルを使って、登録された参照候補リストは、参照隣接ブロックが全て有効であれば、図63に示される順番で参照候補リストが作成されて、符号語が割り当てられる。参照隣接ブロックが1つだけ有効となる場合、符号語は必要とせず、1つだけ有効と判定された隣接ブロックの符号化情報の候補が参照先として一意に決定されることになる。 If all the reference neighboring blocks are valid using the conversion table, the reference candidate list is created in the order shown in FIG. 63 and codewords are assigned. When only one reference adjacent block is valid, a codeword is not required, and a candidate of encoding information of an adjacent block determined to be only one valid is uniquely determined as a reference destination.
ここでは、参照候補リスト作成部321にて作成された直後の参照候補リストのインデックスに対して説明したが、本来は同一情報検出部322にて同一の符号化情報を備える参照候補の隣接ブロックを参照候補リストから削除した後に、参照候補リストのインデックスと変換テーブルのインデックスとを対応付けることが望ましい。同一情報検出部322にて削除された参照候補の隣接ブロックの参照候補リストのインデックスに該当する変換テーブルの記憶領域も削除されて、変換テーブルの先頭方向に詰められる。
Here, the index of the reference candidate list immediately after being created by the reference candidate
例えば、図62において、参照候補リストのインデックス1に該当する隣接ブロックが削除された場合、参照候補リストのインデックス1に該当する変換テーブルのインデックス3の箇所が削除される。変換テーブルのインデックス4及び5がそれぞれ3及び4となり、それぞれに対応付けられる符号語も1110及び1111に更新される。
For example, in FIG. 62, when an adjacent block corresponding to
以上のようにして、作成された参照候補リストの動きベクトルを予測動きベクトルとして、差分動きベクトル算出部326では、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを出力部323に供給する。出力部323が、作成された参照候補リストの中のインデックスと差分動きベクトルを出力する。参照候補リストは、参照候補リストをMVPリストとして、リストの中のインデックスをMVPインデックスとして出力する。
As described above, the motion vector of the created reference candidate list is used as a predicted motion vector, and the difference motion
上述した動画像符号化装置100の中に設置される動きベクトル予測部103に対応する、動画像復号装置200の中に設置される動きベクトル算出部204の中も動きベクトル予測部103と同様の機能をなす実施例9の参照候補リスト作成部321或いは同一情報検出部322が備えられているので、動きベクトル予測部103と同一の参照候補リストが作成される。作成された参照候補リストは選択部325に出力する。
The motion
選択部325は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択されたリストの隣接ブロックの符号化情報から動きベクトルを予測動きベクトルとして出力し、差分動きベクトル算出部326にて予測動きベクトルと第1の符号化ビット列復号部202で復号された差分動きベクトルとを加算して動きベクトルを算出し、動き補償予測部207に供給するとともに、選択された参照候補リストの隣接ブロックの符号化情報を符号化情報格納メモリ210に供給する。
The
(実施例10)
実施例10は、動き検出モードの場合に、参照候補リストの作成時に隣接ブロックの有効性を判定する順番を、最初の隣接ブロックが有効か否かでその後の隣接ブロックの判定する順番を変更するものである。図9(a)の隣接ブロックの配置を用いて説明する。実施例9の参照候補リスト作成時に隣接ブロックの有効性を判定する順番B0,A0,A1,C0,B1,Tを一例として説明する。
(Example 10)
In the tenth embodiment, in the motion detection mode, the order of determining the validity of adjacent blocks when creating the reference candidate list is changed, and the order of determining the subsequent adjacent blocks is changed depending on whether or not the first adjacent block is valid. Is. This will be described with reference to the arrangement of adjacent blocks in FIG. The order B0, A0, A1, C0, B1, and T for determining the validity of adjacent blocks when creating the reference candidate list according to the ninth embodiment will be described as an example.
最初に判定する隣接ブロックはB0であり、B0が有効である場合、その後の隣接ブロックの順番は変更されない。B0が無効である場合、その後の隣接ブロックの順番はA0,B1,C0,A1の順番に変更される。B0が無効となる場合、A0が最初に判定する隣接ブロックとなり、その次の隣接ブロックがA1である。A1はA0と近い位置にあるので、A0に近い値の動きベクトルとなる可能性が高く、A1が予測動きベクトルとして選択される可能性が低くなる。 The adjacent block to be determined first is B0. When B0 is valid, the order of the subsequent adjacent blocks is not changed. When B0 is invalid, the order of subsequent adjacent blocks is changed to the order of A0, B1, C0, and A1. When B0 becomes invalid, A0 is the adjacent block to be determined first, and the next adjacent block is A1. Since A1 is close to A0, there is a high possibility that the motion vector has a value close to A0, and the possibility that A1 is selected as the predicted motion vector is low.
動き検出モードは、差分動きベクトルを伝送する為のモードであり、参照隣接ブロックの備えるブロックが近い値であると、予測動きベクトルの選択の幅が狭くなり、適切な予測動きベクトルが検出されなくなる。その為、B0が無効となる場合、A0の次に判定する隣接ブロックは、予測動きベクトルの選択の幅を広げる為に、A0と動きベクトルの差が大きくなるように、A0と距離の離れた隣接ブロックB1を選択する。このようにして、出来るだけ予測動きベクトルの候補となる隣接ブロックの距離が離れるように、判定する順番を変更する。 The motion detection mode is a mode for transmitting a differential motion vector. When the blocks provided in the reference adjacent blocks are close to each other, the selection range of the prediction motion vector is narrowed, and an appropriate prediction motion vector cannot be detected. . Therefore, when B0 becomes invalid, the adjacent block to be determined next to A0 is separated from A0 by a distance so that the difference between A0 and the motion vector is increased in order to widen the selection of the predicted motion vector. Adjacent block B1 is selected. In this way, the order of determination is changed so that the distance between adjacent blocks that are candidates for the motion vector predictor is as far as possible.
(実施例11)
実施例11では、動き検出モードの場合、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックを同一ピクチャ上のブロック群と定義し、その中からブロック群を代表する2つの隣接ブロックを選択する一手法を示す。図9(a)の隣接ブロックの配置を用いて説明する。参照候補リストの作成時に隣接ブロックの有効性を判定する順番をB0,B1,C0,A1,A0とする。
(Example 11)
In the eleventh embodiment, in the motion detection mode, an adjacent block on the same picture as the prediction block to be processed is defined as a block group on the same picture, and two adjacent blocks representing the block group are selected from the adjacent blocks. One method is shown. This will be described with reference to the arrangement of adjacent blocks in FIG. Assume that the order of determining the validity of adjacent blocks when creating the reference candidate list is B0, B1, C0, A1, A0.
最初に、列記した左から右の順番B0,B1,C0,A1,A0(順方向)で隣接ブロックの有効性を判定し、最初に有効と判定された隣接ブロックをまず1つ目のブロック群を代表する隣接ブロックとして参照候補リストに登録する。次に、列記した順番の逆順、つまり右から左の順番A0,A1,C0,B1,B0(逆方向)で隣接ブロックの有効性を判定し、もう1つのブロック群を代表する隣接ブロックとして参照候補リストに登録する。 First, the validity of adjacent blocks is determined in the listed left-to-right order B0, B1, C0, A1, A0 (forward direction), and the first adjacent block determined to be effective is the first block group. Is registered in the reference candidate list as an adjacent block representing. Next, the validity of the adjacent block is judged in the reverse order of the listed order, that is, the order from right to left A0, A1, C0, B1, B0 (reverse direction), and is referred to as an adjacent block representing another block group. Register in the candidate list.
隣接ブロックの有効性を判定する順番が、処理対象の予測ブロックの右上コーナーから左下コーナーにかけて、隣接ブロックの候補の動きベクトルの差が大きくなるように、有効性の判定順を逆にして、候補間の距離を離して登録することで、予測動きベクトルの選択の幅が広がり、差分動きベクトルの符号量を削減し、符号化効率を向上させる。 The order of determining the effectiveness of adjacent blocks is reversed from the upper right corner to the lower left corner of the prediction block to be processed so that the difference in motion vector of the adjacent block candidates is increased, and the candidate is reversed. By registering them with a distance between them, the selection range of the motion vector predictor is widened, the code amount of the difference motion vector is reduced, and the coding efficiency is improved.
尚、順方向、逆方向で隣接ブロックの有効性を判定する場合、順方向ではA0、逆方向ではB0のそれぞれ最後の順番に当たる隣接ブロックの判定を省略してもよい。順方向からの判定で最後のA0が選択される場合は、逆方向からの最初の判定で有効となる隣接ブロックであるので、順方向からの判定で選択された隣接ブロックとして適切でない為である。 When determining the validity of the adjacent block in the forward direction and the reverse direction, the determination of the adjacent block corresponding to the last order of A0 in the forward direction and B0 in the reverse direction may be omitted. This is because when the last A0 is selected in the determination from the forward direction, it is an appropriate adjacent block selected in the determination from the forward direction because it is an adjacent block that is valid in the first determination from the reverse direction. .
また、各方向からの判定でC0までの3つの隣接ブロックのみ判定するように制限してもよい。例えば、順方向からの判定でA0が選択され、逆方向からの判定でA1が選択された場合、同じ動きベクトルを備える隣接ブロックである可能性が高く、動きベクトル予測の選択幅が狭くなり、効果的な予測動きベクトルを導出出来なくなってしまう。このような近接した隣接ブロックの選択を避ける為に、中間位置にあるC0までで有効性の判定を行う。以上のような有効性判定の制限は、判定する隣接ブロックの数が少なくなるので、処理工数の削減に繋がる。 Further, the determination from each direction may be limited so that only three adjacent blocks up to C0 are determined. For example, when A0 is selected in the determination from the forward direction and A1 is selected in the determination from the reverse direction, there is a high possibility that the block is an adjacent block having the same motion vector, and the selection range of motion vector prediction is narrowed. An effective prediction motion vector cannot be derived. In order to avoid such selection of adjacent blocks adjacent to each other, the validity is determined up to C0 at the intermediate position. The limitation of validity determination as described above leads to a reduction in processing man-hours because the number of adjacent blocks to be determined is reduced.
(実施例12)
実施例12は、動き検出モードの場合に、実施例9に対して、処理対象の予測ブロックと同じピクチャ上にある隣接ブロックを同一ピクチャ上のブロック群と定義し、その中からブロック群を代表する隣接ブロックとして選択するようにしたものである。実施例12では、実施例9と同様に、動きベクトル予測の参照候補リスト作成時に隣接ブロックの有効性を判定する順番と、参照隣接ブロックに対して割り当てる符号語の順番を別々に定義する。
(Example 12)
In the motion detection mode, the twelfth embodiment defines an adjacent block on the same picture as the prediction block to be processed as a block group on the same picture, and represents a block group among them in the motion detection mode. Are selected as adjacent blocks. In the twelfth embodiment, as in the ninth embodiment, the order of determining the validity of adjacent blocks when creating a motion vector prediction reference candidate list and the order of codewords assigned to the reference adjacent blocks are defined separately.
参照候補リスト作成時には、予測動きベクトルの選択の幅を広げる為に、左側と上側の隣接ブロックの候補の動きベクトルの差が大きくなるように、隣接ブロック間の距離を離した順位とし、符号語割り当てでは、処理対象の予測ブロックと符号化情報が最も等しい可能性が高いと考えられる処理対象の予測ブロックに接している領域が大きい隣接ブロックを優先して小さい符号語を割り当てるようにする。 When creating a reference candidate list, in order to widen the selection of predicted motion vectors, the distance between adjacent blocks should be separated so that the difference between the motion vectors of the left and upper adjacent blocks becomes large, and the codeword In the allocation, a small codeword is allocated preferentially to an adjacent block having a large area in contact with a processing target prediction block that is considered to be most likely to have the same encoding information as the processing target prediction block.
ここでは、動きベクトル予測の参照候補リスト作成時に隣接ブロックの有効性を判定する順番をB0,A0,A1,C0,B1,Tとする。一方、参照隣接ブロックに対して割り当てる符号語は、処理対象の予測ブロックに接している領域が大きい隣接ブロックを優先してA1,B1,B0,A0,C0,Tの順番に少ない符号語を割り当てることとする。 Here, it is assumed that the order of determining the validity of adjacent blocks when creating a motion vector prediction reference candidate list is B0, A0, A1, C0, B1, T. On the other hand, codewords assigned to reference neighboring blocks are assigned with a smaller number of codewords in the order of A1, B1, B0, A0, C0, and T, giving priority to neighboring blocks having a large area in contact with the processing target prediction block. I will do it.
まず、動画像符号化装置100の構成を示す図2の中に設置される実施例12の特徴となる動きベクトル予測部103について説明する。動きベクトル予測部103は図64で示される構成をなし、実施例9で説明した図23に対して、参照候補リスト作成部321の直後に参照候補制御部329が追加された点が異なる。
First, the motion
また、実施例12では、処理対象の予測ブロックと同一ピクチャ上にあるブロック群を代表する隣接ブロックを選択するので、参照候補リスト作成部321は実施例8で説明した処理対象の予測ブロックと同一ピクチャ上にあるブロック群からの選択方法と同様の動作を行う。ここでは、同一ピクチャ上のブロック群からK個の代表する隣接ブロックを選択する。選択された同一ピクチャ上のブロック群を代表するK個の隣接ブロックと、時間が異なる別のピクチャの同一位置に隣接するブロックTのK+1個の隣接ブロックの符号化情報を参照候補として参照候補リストに登録する。
In the twelfth embodiment, since the adjacent block representing the block group on the same picture as the processing target prediction block is selected, the reference candidate
ここでKは2として、参照候補リスト作成部321では、参照候補リストの先頭から同一ピクチャ上のブロック群を代表する2個の隣接ブロック、及び時間が異なる別のピクチャの同一位置に隣接するブロックの計3個の符号化情報が参照候補リストに登録されたこととして、以下説明する。
Here, K is set to 2, and in the reference candidate
図65は参照候補制御部329の動作を示すフローチャートである。参照候補リスト作成部321で作成された参照候補リストと参照候補リストに登録された参照候補数NumListCandが入力される。まず、NumListCandの判定が行われる(S1500)。NumListCandが2未満の場合(S1500のY)、即ち参照候補リストに登録された参照候補が1であれば、その1つの候補が参照先として一意に決定されるので、処理を終了する。
FIG. 65 is a flowchart showing the operation of the reference
NumListCandが2より大きい場合(S1500のN)、参照候補リストの先頭から2番目に登録された符号化情報CandListLX[1]を備える隣接ブロックをNとする。ここで、参照候補リストの配列CandListLXは0を参照候補リストの先頭インデックスとして開始するので、CandListLX[1]が参照候補リストの先頭から登録された2番目の符号化情報が格納される記憶領域となり、添え字Xには参照リストの参照リストを示す0(L0予測)或いは1(L1予測)が入る。 If NumListCand is greater than 2 (N in S1500), N is the adjacent block including the encoded information CandListLX [1] registered second from the top of the reference candidate list. Here, since the reference candidate list array CandListLX starts with 0 as the head index of the reference candidate list, CandListLX [1] is a storage area for storing the second encoded information registered from the head of the reference candidate list. Subscript X contains 0 (L0 prediction) or 1 (L1 prediction) indicating the reference list of the reference list.
次に、Nが隣接ブロックA1或いはB1であるか否かを判定する(S1502)。NがA1でもB1でない場合(S1502のN)、処理を終了する。NがA1或いはB1の場合(S1502のY)、参照候補リストの中の符号化情報の入れ換えを実施する(S1503)。参照候補リストの先頭の符号化情報CandListLX[0]と2番目の符号化情報CandListLX[1]の入れ換えを行う。 Next, it is determined whether N is an adjacent block A1 or B1 (S1502). If N is A1 or not B1 (N in S1502), the process is terminated. When N is A1 or B1 (Y in S1502), the encoding information in the reference candidate list is replaced (S1503). The first encoded information CandListLX [0] and the second encoded information CandListLX [1] in the reference candidate list are exchanged.
参照候補リストの作成する順番はB0,A0,A1,C0,B1であるので、A1或いはB1が参照候補リストの2番目にある場合、先頭となる隣接ブロックはA1或いはB1よりも符号語長が長くなる。これは、隣接ブロックを特定するインデックスの符号語割り当て順番がA1,B1,B0,A0,C0,Tと定義されているので、符号語長がA1<B1<B0<A0<C0<Tとなる為である。そこで、A1或いはB1を参照候補リストの先頭に入れ換えて、符号語長の短いインデックスの隣接ブロックの参照候補リストの中での優先を高くし、インデックスの符号量を削減する。 Since the order in which the reference candidate list is created is B0, A0, A1, C0, and B1, when A1 or B1 is second in the reference candidate list, the leading adjacent block has a codeword length longer than A1 or B1. become longer. This is because the codeword assignment order of the index specifying the adjacent block is defined as A1, B1, B0, A0, C0, T, so that the codeword length is A1 <B1 <B0 <A0 <C0 <T. Because of that. Therefore, A1 or B1 is replaced with the head of the reference candidate list, the priority in the reference candidate list of the adjacent block of the index with a short codeword length is increased, and the code amount of the index is reduced.
尚、入れ換え前の参照候補リストの中の順番としてA1,B1となる場合にも入れ換えを実施することになり、符号語の長いB1が参照候補リストの先頭となるが、他の隣接ブロックが参照候補リストの先頭となる場合と比べて符号化効率の損失を抑えることが出来る。以上のようにして、参照候補リストの中の入れ換えが実施され、参照候補リストの上位に少ない符号語で隣接ブロックを特定する隣接ブロックを割り当てることが可能となり、符号化効率を向上させることが可能となる。 In addition, even when the order in the reference candidate list before replacement is A1, B1, replacement is performed, and B1 with a long code word becomes the head of the reference candidate list, but other adjacent blocks are referred to. Loss of encoding efficiency can be suppressed as compared to the case where the candidate list is at the top. As described above, replacement in the reference candidate list is performed, and it is possible to allocate adjacent blocks that specify adjacent blocks with a small number of codewords at the top of the reference candidate list, thereby improving encoding efficiency. It becomes.
以上のようにして、同一情報検出部322の後に、作成された参照候補リストの動きベクトルを予測動きベクトルとして、差分動きベクトル算出部326は、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを出力部323に供給する。出力部323が、作成された参照候補リストの中のインデックスと差分動きベクトルを出力する。参照候補リストは、参照候補リストをMVPリストとして、リストの中のインデックスをMVPインデックスとして出力する。
As described above, after the same
上述した動画像符号化装置100の中に設置される動きベクトル予測部103に対応する、動画像復号装置200の中に設置される動きベクトル算出部204の中も動きベクトル予測部103と同様の機能をなす実施例12の参照候補制御部329が設置されるので、動きベクトル予測部103と同一の参照候補リストが作成される。作成された参照候補リストは選択部325に出力される。選択部325は、作成された参照候補リストの中から、第1の符号化ビット列復号部202で復号された参照隣接ブロックを特定するインデックスで指定される参照候補リストの隣接ブロックを選択する。選択されたリストの隣接ブロックの符号化情報から動きベクトルを予測動きベクトルとして出力し、差分動きベクトル算出部326にて予測動きベクトルと第1の符号化ビット列復号部202で復号された差分動きベクトルとを加算して動きベクトルを算出し、動き補償予測部207に供給するとともに、選択された参照候補リストの隣接ブロックの符号化情報を符号化情報格納メモリ210に供給する。
The motion
以上説明したように本発明の実施例において、動きベクトルの予測方法とマージ手法でそれぞれ参照する周辺の隣接ブロックの配置を統合することで、隣接ブロックの情報を記憶する一時メモリを削減し、共通化した参照隣接ブロックから各予測手法毎に候補の優先順位を決定することで、画像間予測における動きベクトルの予測方法とマージ手法の符号化効率の冗長度を削減すると共に復号時の処理効率を高めることが出来る。また、動き補償を行う前に、参照する周囲の隣接ブロックの予測モードや位置情報等から、そのブロックを参照する有効性を判定することで、動き補償の処理回数を削減することが出来る。 As described above, in the embodiment of the present invention, the arrangement of adjacent neighboring blocks referred to by the motion vector prediction method and the merging method is integrated to reduce the temporary memory for storing the neighboring block information, and the common By determining candidate priorities for each prediction method from the converted reference adjacent block, the redundancy of the encoding efficiency of the motion vector prediction method and the merge method in inter-picture prediction is reduced and the processing efficiency at the time of decoding is reduced. Can be raised. Also, before performing motion compensation, the number of motion compensation processes can be reduced by determining the effectiveness of referring to the block from the prediction mode and position information of neighboring neighboring blocks to be referenced.
以下、より具体的に説明する。想定出来得る最大のメモリアクセス回数、メモリ量、処理量(処理時間)を削減するために、図9(a)に示すように、左側に隣接するブロック、上側に隣接するブロックをそれぞれ1つに限定することにより候補を絞る。このように予め候補を限定することで、符号化効率を殆ど低下させることなく、メモリアクセス回数、メモリ量、処理量(処理時間)を削減する効果がある。 More specific description will be given below. In order to reduce the maximum number of memory accesses that can be assumed, the amount of memory, and the amount of processing (processing time), as shown in FIG. 9A, one block is adjacent to the left side and one block is adjacent to the upper side. Narrow down candidates by limiting. By limiting the candidates in this way in advance, there is an effect of reducing the number of memory accesses, the amount of memory, and the amount of processing (processing time) without substantially reducing the encoding efficiency.
また、メモリアクセス回数、メモリ量、処理量(処理時間)を削減することが出来る上に、マージインデックス、MVPインデックスの符号量を削減することが出来るので、符号量も削減する効果がある。また、マージモードと動き検出モードにおいて候補の位置を共通化することにより、更なるメモリアクセス回数、メモリ量、処理量(処理時間)の削減を図っている。更に、マージモード及び動き検出モードのそれぞれの特性に応じた配置で候補リストに候補を格納することで、マージモードではマージインデックスの符号量を削減し、動き検出モードではMVPインデックス、及び差分動きベクトルの符号量を削減することで、符号化効率を改善している。 In addition, the number of memory accesses, the amount of memory, and the amount of processing (processing time) can be reduced, and the code amount of the merge index and the MVP index can be reduced. In addition, by sharing the candidate positions in the merge mode and the motion detection mode, the number of memory accesses, the amount of memory, and the amount of processing (processing time) are further reduced. Furthermore, by storing candidates in the candidate list in an arrangement according to the respective characteristics of the merge mode and the motion detection mode, the code amount of the merge index is reduced in the merge mode, and the MVP index and the difference motion vector in the motion detection mode. The coding efficiency is improved by reducing the amount of codes.
尚、本発明は以上の実施例に限定されるものではなく、例えば上記の動画像符号化/復号装置の機能をコンピュータに実現させるための動画像符号化/復号プログラムも含むものである。この動画像符号化/復号プログラムは、記録媒体から読み取られてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。 The present invention is not limited to the above-described embodiments, and includes, for example, a moving image encoding / decoding program for causing a computer to realize the functions of the above moving image encoding / decoding device. This moving image encoding / decoding program may be read from a recording medium and taken into a computer, or may be transmitted via a communication network and taken into a computer.
以上述べた実施例の動画像符号化装置が出力する動画像の符号化ビットストリームは、実施例で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ビットストリームを復号することができる。 The encoded bit stream of the moving image output from the moving image encoding apparatus of the embodiment described above has a specific data format so that it can be decoded according to the encoding method used in the embodiment. Thus, a moving picture decoding apparatus corresponding to the moving picture encoding apparatus can decode the encoded bit stream of this specific data format.
動画像符号化装置と動画像復号装置の間で符号化ビットストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ビットストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ビットストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ビットストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。 When a wired or wireless network is used to exchange an encoded bit stream between the moving image encoding device and the moving image decoding device, the encoded bit stream is converted into a data format suitable for the transmission form of the communication path. May be transmitted. In that case, a moving image transmitting apparatus that converts the encoded bit stream output from the moving image encoding apparatus into encoded data in a data format suitable for the transmission form of the communication path and transmits the encoded data to the network, and the encoded data from the network There is provided a moving image receiving apparatus that receives and restores the encoded bit stream and supplies the encoded bit stream to the moving image decoding apparatus.
動画像送信装置は、動画像符号化装置が出力する符号化ビットストリームをバッファするメモリと、符号化ビットストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。 The moving image transmitting apparatus transmits a memory that buffers an encoded bit stream output from the moving image encoding apparatus, a packet processing unit that packetizes the encoded bit stream, and packetized encoded data via a network. And a transmitting unit. The moving image receiving apparatus generates a coded stream by packetizing the received data, a receiving unit that receives the packetized coded data via a network, a memory that buffers the received coded data, and packet processing. And a packet processing unit provided to the video decoding device.
以上、本発明をいくつかの実施例をもとに説明した。それらの実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described based on several embodiments. Those embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective components and processing processes, and such modifications are also within the scope of the present invention. is there.
100 動画像符号化装置、 101 画像メモリ、 102 動きベクトル検出部、 103 動きベクトル予測部、 104 インター予測情報検出部、 105 動き補償予測部、 106 マージ検出部、 107 予測方法決定部、 108 スイッチ、 109 第1の符号化ビット列生成部、 110 残差信号生成部、 111 直交変換・量子化部、 112 逆量子化・逆直交変換部、 113 復号画像信号重畳部、 114 符号化情報格納メモリ、 115 復号画像メモリ、 116 第2の符号化ビット列生成部、 117 符号化ビット列多重化部、 200 動画像復号装置、 201 ビット列分離部、 202 第1の符号化ビット列復号部、 203 第2の符号化ビット列復号部、 204 動きベクトル算出部、 205 インター予測情報検出部、 206 マージ判定部、 207 動き補償予測部、 208 逆量子化・逆直交変換部、 209 復号画像信号重畳部、 210 符号化情報格納メモリ、 211 復号画像メモリ、 212 スイッチ、 301 処理対象ブロック位置検出部、 302 隣接ブロック指定部、 303 一時メモリ、 310 符号化情報導出部、 311 参照候補リスト作成部、 312 同一情報検出部、 313 出力部、 314 参照候補リスト格納メモリ、 315 選択部、 318 参照候補制限部、 320 符号化情報導出部、 321 参照候補リスト作成部、 322 同一情報検出部、 323 出力部、 324 参照候補リスト格納メモリ、 326 差分動きベクトル算出部、 328 参照候補制限部、 329 参照候補制御部。 DESCRIPTION OF SYMBOLS 100 moving image encoder, 101 image memory, 102 motion vector detection part, 103 motion vector prediction part, 104 inter prediction information detection part, 105 motion compensation prediction part, 106 merge detection part, 107 prediction method determination part, 108 switch, 109 first encoded bit string generation unit, 110 residual signal generation unit, 111 orthogonal transform / quantization unit, 112 inverse quantization / inverse orthogonal transform unit, 113 decoded image signal superimposition unit, 114 encoded information storage memory, 115 Decoded image memory, 116 second encoded bit string generation unit, 117 encoded bit string multiplexing unit, 200 moving image decoding apparatus, 201 bit string separation unit, 202 first encoded bit string decoding unit, 203 second encoded bit string Decoding unit, 204 motion vector calculation unit, 205 in Data prediction information detection unit, 206 merge determination unit, 207 motion compensation prediction unit, 208 inverse quantization / inverse orthogonal transform unit, 209 decoded image signal superposition unit, 210 encoded information storage memory, 211 decoded image memory, 212 switch, 301 Processing target block position detection unit, 302 adjacent block designation unit, 303 temporary memory, 310 encoded information derivation unit, 311 reference candidate list creation unit, 312 identical information detection unit, 313 output unit, 314 reference candidate list storage memory, 315 selection 318 reference candidate restriction unit 320 encoded information derivation unit 321 reference candidate list creation unit 322 identical information detection unit 323 output unit 324 reference candidate list storage memory 326 differential motion vector calculation unit 328 reference candidate restriction See 329 Candidate control unit.
Claims (6)
符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する取得部と、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第1のモード検出部と、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第2のモード検出部と、
前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する符号列生成部と、 を備え、
前記第1のモード検出部及び前記第2のモード検出部は、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第1のモード検出部により生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第2のモード検出部により生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、
前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、
前記第1のモード検出部は、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する
ことを特徴とする画像符号化装置。 An image encoding apparatus that encodes using a motion vector in units of blocks obtained by dividing each picture of a moving image,
An acquisition unit that acquires encoding information of a plurality of reference block candidates of an encoding target block;
In the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by the index, the first candidate list is selected from the plurality of reference block candidates based on a first predetermined order. A first mode detection unit that generates and assigns an index for identifying a reference block candidate registered in the first candidate list, and outputs an index of the plurality of reference block candidates;
In a second inter-picture prediction mode that uses a motion vector difference between a motion vector of a motion vector of a coding target block and a motion vector of a coding target block that is included in the coding information of the reference block specified by an index, Generating a second candidate list from the plurality of reference block candidates based on a predetermined order of the plurality of reference blocks, assigning an index for identifying the reference block candidates registered in the second candidate list, and the plurality of reference blocks A second mode detection unit for outputting a candidate index and the differential motion vector;
Code sequence generation for encoding the index of the reference block candidate, prediction mode information indicating the type of the inter-picture prediction mode, and the differential motion vector corresponding to the reference block used in the second inter-picture prediction mode And
The first mode detection unit and the second mode detection unit use a plurality of common blocks as the plurality of reference block candidates, and the first candidate generated by the first mode detection unit The first predetermined order for arranging the plurality of reference block candidates in a list, and the plurality of reference block candidates for arranging in the second candidate list generated by the second mode detection unit. The second predetermined order is different,
The first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures,
The image coding apparatus according to claim 1, wherein the first mode detection unit generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates.
符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、
前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、
を有し、
前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、
前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、
前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する
ことを特徴とする画像符号化方法。 An image encoding method for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image,
A first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block;
In the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by the index, the first candidate list is selected from the plurality of reference block candidates based on a first predetermined order. A second step of generating and assigning an index for identifying a reference block candidate registered in the first candidate list, and outputting an index of the plurality of reference block candidates;
In a second inter-picture prediction mode that uses a motion vector difference between a motion vector of a motion vector of a coding target block and a motion vector of a coding target block that is included in the coding information of the reference block specified by an index, Generating a second candidate list from the plurality of reference block candidates based on a predetermined order of the plurality of reference blocks, assigning an index for identifying the reference block candidates registered in the second candidate list, and the plurality of reference blocks A third step of outputting a candidate index and the differential motion vector;
Fourth step of encoding the reference block candidate index, prediction mode information indicating the type of the inter-picture prediction mode, and the differential motion vector corresponding to the reference block used in the second inter-picture prediction mode. When,
Have
In the second step and the third step, a plurality of common blocks are used as the plurality of reference block candidates, and the plurality of reference block candidates are added to the first candidate list generated in the second step. The first predetermined order for arranging is different from the second predetermined order for arranging the plurality of reference block candidates in the second candidate list generated by the third step.
The first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures,
In the image coding method, the second step generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates.
符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1処理と、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2処理と、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3処理と、
前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4処理と、
をコンピュータに実行させ、
前記第2処理及び前記第3処理は、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2処理により生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3処理により生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、
前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、
前記第2処理は、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する
ことを特徴とする画像符号化プログラム。 An image encoding program for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image,
A first process of acquiring encoding information of a plurality of reference block candidates of an encoding target block;
In the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by the index, the first candidate list is selected from the plurality of reference block candidates based on a first predetermined order. Generating and assigning an index for specifying a reference block candidate registered in the first candidate list, and outputting an index of the plurality of reference block candidates;
In a second inter-picture prediction mode that uses a motion vector difference between a motion vector of a motion vector of a coding target block and a motion vector of a coding target block that is included in the coding information of the reference block specified by an index, Generating a second candidate list from the plurality of reference block candidates based on a predetermined order of the plurality of reference blocks, assigning an index for identifying the reference block candidates registered in the second candidate list, and the plurality of reference blocks A third process for outputting a candidate index and the differential motion vector;
Fourth processing for encoding the index of the reference block candidate, prediction mode information indicating the type of the inter-picture prediction mode, and the differential motion vector corresponding to the reference block used in the second inter-picture prediction mode When,
To the computer,
The second process and the third process use a plurality of common blocks as the plurality of reference block candidates, and add the plurality of reference block candidates to the first candidate list generated by the second process. The first predetermined order for arranging is different from the second predetermined order for arranging the plurality of reference block candidates in the second candidate list generated by the third process.
The first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures,
In the image coding program, the second process generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates.
パケット化された前記符号化データを送信する送信部と、を備え、
前記画像符号化方法は、
符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、
前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、
を有し、
前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、
前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、
前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する
ことを特徴とする送信装置。 A packet processing unit that packetizes an encoded bit sequence encoded by an image encoding method that encodes using a motion vector in units of blocks obtained by dividing each picture of a moving image, and obtains encoded data;
A transmission unit for transmitting the packetized encoded data,
The image encoding method includes:
A first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block;
In the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by the index, the first candidate list is selected from the plurality of reference block candidates based on a first predetermined order. A second step of generating and assigning an index for identifying a reference block candidate registered in the first candidate list, and outputting an index of the plurality of reference block candidates;
In a second inter-picture prediction mode that uses a motion vector difference between a motion vector of a motion vector of a coding target block and a motion vector of a coding target block that is included in the coding information of the reference block specified by an index, Generating a second candidate list from the plurality of reference block candidates based on a predetermined order of the plurality of reference blocks, assigning an index for identifying the reference block candidates registered in the second candidate list, and the plurality of reference blocks A third step of outputting a candidate index and the differential motion vector;
Fourth step of encoding the reference block candidate index, prediction mode information indicating the type of the inter-picture prediction mode, and the differential motion vector corresponding to the reference block used in the second inter-picture prediction mode. When,
Have
In the second step and the third step, a plurality of common blocks are used as the plurality of reference block candidates, and the plurality of reference block candidates are added to the first candidate list generated in the second step. The first predetermined order for arranging is different from the second predetermined order for arranging the plurality of reference block candidates in the second candidate list generated by the third step.
The first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures,
The second step generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates.
パケット化された前記符号化データを送信する送信ステップと、を備え、
前記画像符号化方法は、
符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、
前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、
を有し、
前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、
前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、
前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する
ことを特徴とする送信方法。 A packet processing step of packetizing an encoded bit string encoded by an image encoding method for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image to obtain encoded data;
Transmitting the packetized encoded data, and
The image encoding method includes:
A first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block;
In the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by the index, the first candidate list is selected from the plurality of reference block candidates based on a first predetermined order. A second step of generating and assigning an index for identifying a reference block candidate registered in the first candidate list, and outputting an index of the plurality of reference block candidates;
In a second inter-picture prediction mode that uses a motion vector difference between a motion vector of a motion vector of a coding target block and a motion vector of a coding target block that is included in the coding information of the reference block specified by an index, Generating a second candidate list from the plurality of reference block candidates based on a predetermined order of the plurality of reference blocks, assigning an index for identifying the reference block candidates registered in the second candidate list, and the plurality of reference blocks A third step of outputting a candidate index and the differential motion vector;
Fourth step of encoding the reference block candidate index, prediction mode information indicating the type of the inter-picture prediction mode, and the differential motion vector corresponding to the reference block used in the second inter-picture prediction mode. When,
Have
In the second step and the third step, a plurality of common blocks are used as the plurality of reference block candidates, and the plurality of reference block candidates are added to the first candidate list generated in the second step. The first predetermined order for arranging is different from the second predetermined order for arranging the plurality of reference block candidates in the second candidate list generated by the third step.
The first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures,
The transmission method characterized in that the second step generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates.
パケット化された前記符号化データを送信する送信ステップと、をコンピュータに実行させ、
前記画像符号化方法は、
符号化対象ブロックの複数の参照ブロック候補の符号化情報を取得する第1ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報を用いる第1の画像間予測モードにおいて、第1の所定順位に基づいて前記複数の参照ブロック候補から第1の候補リストを生成し、前記第1の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックスを出力する第2ステップと、
インデックスによって特定される参照ブロックの前記符号化情報が備える動きベクトルの情報に基づく予測動きベクトルと前記符号化対象ブロックの動きベクトルとの差分動きベクトルを用いる第2の画像間予測モードにおいて、第2の所定順位に基づいて前記複数の参照ブロック候補から第2の候補リストを生成し、前記第2の候補リストに登録された参照ブロック候補を特定する為のインデックスを付与し、前記複数の参照ブロック候補のインデックス及び前記差分動きベクトルを出力する第3ステップと、
前記参照ブロック候補のインデックスと、前記画像間予測モードの種別を示す予測モード情報と、第2の画像間予測モードの際に用いる参照ブロックに対応した前記差分動きベクトルとを符号化する第4ステップと、
を有し、
前記第2ステップ及び前記第3ステップは、前記複数の参照ブロック候補として、共通の複数のブロックを使用し、前記第2ステップにより生成される前記第1の候補リストに前記複数の参照ブロック候補を配列する為の前記第1の所定順位と、前記第3ステップにより生成される前記第2の候補リストに前記複数の参照ブロック候補を配列する為の前記第2の所定順位は異なり、
前記第1の所定順位は、空間的に隣接する左候補ブロック、上候補ブロック、右上候補ブロック、左下候補ブロック、左上候補ブロック、時間的に異なるピクチャに含まれる候補ブロック、の順であり、
前記第2ステップは、前記第1の候補の数を制限して、前記複数の参照ブロックから前記第1の候補リストを生成する
ことを特徴とする送信プログラム。 A packet processing step of packetizing an encoded bit string encoded by an image encoding method for encoding using a motion vector in units of blocks obtained by dividing each picture of a moving image to obtain encoded data;
Transmitting the packetized encoded data to a computer, and
The image encoding method includes:
A first step of acquiring encoding information of a plurality of reference block candidates of an encoding target block;
In the first inter-picture prediction mode using motion vector information included in the coding information of the reference block specified by the index, the first candidate list is selected from the plurality of reference block candidates based on a first predetermined order. A second step of generating and assigning an index for identifying a reference block candidate registered in the first candidate list, and outputting an index of the plurality of reference block candidates;
In a second inter-picture prediction mode that uses a motion vector difference between a motion vector of a motion vector of a coding target block and a motion vector of a coding target block that is included in the coding information of the reference block specified by an index, Generating a second candidate list from the plurality of reference block candidates based on a predetermined order of the plurality of reference blocks, assigning an index for identifying the reference block candidates registered in the second candidate list, and the plurality of reference blocks A third step of outputting a candidate index and the differential motion vector;
Fourth step of encoding the reference block candidate index, prediction mode information indicating the type of the inter-picture prediction mode, and the differential motion vector corresponding to the reference block used in the second inter-picture prediction mode. When,
Have
In the second step and the third step, a plurality of common blocks are used as the plurality of reference block candidates, and the plurality of reference block candidates are added to the first candidate list generated in the second step. The first predetermined order for arranging is different from the second predetermined order for arranging the plurality of reference block candidates in the second candidate list generated by the third step.
The first predetermined order is a spatially adjacent left candidate block, upper candidate block, upper right candidate block, lower left candidate block, upper left candidate block, candidate blocks included in temporally different pictures,
The transmission program characterized in that the second step generates the first candidate list from the plurality of reference blocks by limiting the number of the first candidates.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015239008A JP6036974B2 (en) | 2015-12-08 | 2015-12-08 | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015239008A JP6036974B2 (en) | 2015-12-08 | 2015-12-08 | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014221336A Division JP5854110B2 (en) | 2014-10-30 | 2014-10-30 | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016207595A Division JP6288209B2 (en) | 2016-10-24 | 2016-10-24 | Image encoding device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016054549A true JP2016054549A (en) | 2016-04-14 |
JP6036974B2 JP6036974B2 (en) | 2016-11-30 |
Family
ID=55744407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015239008A Active JP6036974B2 (en) | 2015-12-08 | 2015-12-08 | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6036974B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012116212A1 (en) * | 2011-02-24 | 2012-08-30 | Qualcomm Incorporated | Hierarchy of motion prediction video blocks |
WO2012177387A1 (en) * | 2011-06-20 | 2012-12-27 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
-
2015
- 2015-12-08 JP JP2015239008A patent/JP6036974B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012116212A1 (en) * | 2011-02-24 | 2012-08-30 | Qualcomm Incorporated | Hierarchy of motion prediction video blocks |
WO2012177387A1 (en) * | 2011-06-20 | 2012-12-27 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
WO2012177388A1 (en) * | 2011-06-20 | 2012-12-27 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
Non-Patent Citations (3)
Title |
---|
JPN6012048705; Yunfei Zheng et al.: 'Unified Motion Vector Predictor Selection for Merge and AMVP' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-E396, 201103, pp.1-5, 5th Meeting: Geneva * |
JPN6012048710; Hiroya Nakamura et al.: 'Unification of derivation process for merge mode and MVP' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F419, 201107, pp.1-10, 6th Meeting: Torino, IT * |
JPN6015007799; Yunfei Zheng et al.: 'CE9: Unified Merge and AMVP candidates selection (UNI03)' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F297_r2, 201107, pp.1-11, 6th Meeting: Torino, IT * |
Also Published As
Publication number | Publication date |
---|---|
JP6036974B2 (en) | 2016-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013001793A1 (en) | Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program | |
JP6252654B2 (en) | Image decoding apparatus, image decoding method, and image decoding program | |
JP5644701B2 (en) | Image coding apparatus, image coding method, image coding program, transmission apparatus, transmission method, and transmission program | |
JP6036976B2 (en) | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program | |
JP6036977B2 (en) | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program | |
WO2013024588A1 (en) | Image-encoding device, method for image encoding, image-encoding program, image-decoding device, method for image decoding, and image-decoding program | |
JP5854110B2 (en) | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program | |
JP5776711B2 (en) | Image decoding apparatus, image decoding method, image decoding program, receiving apparatus, receiving method, and receiving program | |
JP5776713B2 (en) | Image decoding apparatus, image decoding method, image decoding program, receiving apparatus, receiving method, and receiving program | |
JP5776714B2 (en) | Image decoding apparatus, image decoding method, image decoding program, receiving apparatus, receiving method, and receiving program | |
JP5246303B2 (en) | Image decoding apparatus, image decoding method, image decoding program, receiving apparatus, receiving method, and receiving program | |
JP6036974B2 (en) | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program | |
JP6036975B2 (en) | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program | |
JP6288209B2 (en) | Image encoding device | |
JP5776712B2 (en) | Image decoding apparatus, image decoding method, image decoding program, receiving apparatus, receiving method, and receiving program | |
JP5999230B2 (en) | Receiver | |
JP2013059023A (en) | Image-encoding device, method for image encoding, and image-encoding program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6036974 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |