JP2016067045A - Moving image decoding method - Google Patents

Moving image decoding method Download PDF

Info

Publication number
JP2016067045A
JP2016067045A JP2015249142A JP2015249142A JP2016067045A JP 2016067045 A JP2016067045 A JP 2016067045A JP 2015249142 A JP2015249142 A JP 2015249142A JP 2015249142 A JP2015249142 A JP 2015249142A JP 2016067045 A JP2016067045 A JP 2016067045A
Authority
JP
Japan
Prior art keywords
vector
prediction
motion vector
difference
value
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
Application number
JP2015249142A
Other languages
Japanese (ja)
Other versions
JP5890933B1 (en
Inventor
昌史 高橋
Masashi Takahashi
昌史 高橋
山口 宗明
Muneaki Yamaguchi
宗明 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxell Holdings Ltd
Original Assignee
Hitachi Maxell Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Maxell Ltd filed Critical Hitachi Maxell Ltd
Priority to JP2015249142A priority Critical patent/JP5890933B1/en
Application granted granted Critical
Publication of JP5890933B1 publication Critical patent/JP5890933B1/en
Publication of JP2016067045A publication Critical patent/JP2016067045A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce the amount of motion vectors to be coded to thereby improve compression efficiency.SOLUTION: In moving image decoding processing, a prediction vector calculation method is changed based on the magnitude of a difference between predetermined motion vectors among a plurality of motion vectors of a block group already decoded which is a peripheral block of a decoding target block, the calculated prediction vector is added to a difference vector decoded from a coding stream so that a motion vector is calculated, and inter-screen prediction processing is performed using the calculated motion vector.SELECTED DRAWING: Figure 7

Description

本発明は動画像を符号化する動画像符号化技術および動画像を復号化する動画像復号化技術に関する。 The present invention relates to a moving picture coding technique for coding a moving picture and a moving picture decoding technique for decoding a moving picture.

大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、MPEG (Moving Picture Experts Group)方式等の符号化方式が策定され、MPEG-1規格、MPEG-2規格、MPEG-4規格、H.264/AVC(Advanced Video Coding)規格等として国際標準の符号化方式となっている。これらの方式はデジタル衛星放送やDVD、携帯電話やデジタルカメラなどにおける符号化方式として採用され、現在ますます利用の範囲が広がり、身近なものとなってきている。   Encoding methods such as MPEG (Moving Picture Experts Group) method have been established as a method for recording and transmitting large-capacity moving image information as digital data, and MPEG-1 standard, MPEG-2 standard, MPEG-4 standard, It is an international standard encoding method such as H.264 / AVC (Advanced Video Coding) standard. These systems have been adopted as encoding systems for digital satellite broadcasting, DVDs, mobile phones, digital cameras, and the like, and the range of use is now expanding and becoming familiar.

これらの規格では、符号化処理が完了した画像情報を利用して符号化対象画像をブロック単位で予測し、原画像との予測差分を符号化することによって、動画像の持つ冗長性を除いて符号量を減らしている。特に、対象画像とは別の画像を参照する画面間予測では、符号化対象ブロックと相関の高いブロックを参照画像中から探索することによって、高精度な予測を可能としている。しかしこの場合、予測差分に加えて、ブロック探索の結果を動きベクトルとして符号化する必要があり、符号量のオーバーヘッドが発生する。   In these standards, the encoding target image is predicted in block units using the image information that has been encoded, and the prediction difference from the original image is encoded, thereby eliminating the redundancy of the moving image. The code amount is reduced. In particular, in inter-screen prediction that refers to an image different from the target image, high-precision prediction is enabled by searching for a block having a high correlation with the encoding target block from the reference image. However, in this case, in addition to the prediction difference, it is necessary to encode the result of the block search as a motion vector, resulting in code amount overhead.

H.264/AVC規格では、上記動きベクトルの符号量を減らすために、動きベクトルに対する予測技術を導入している。すなわち、動きベクトルを符号化する際には、対象ブロックの周辺に位置する符号化済みのブロックを利用して対象ブロックの動きベクトルを予測し、予測ベクトルと動きベクトルの差分(差分ベクトル)を可変長符号化する。   The H.264 / AVC standard introduces a prediction technique for motion vectors in order to reduce the amount of coding of the motion vectors. In other words, when encoding a motion vector, the motion vector of the target block is predicted using an encoded block located around the target block, and the difference between the prediction vector and the motion vector (difference vector) is variable. Encode long.

しかしながら、従来のH.264/AVC規格による動きベクトルの予測精度は十分ではなく、依然として動きベクトルに多くの符号量が必要であるといった課題があった。   However, the motion vector prediction accuracy according to the conventional H.264 / AVC standard is not sufficient, and there is still a problem that a large amount of code is required for the motion vector.

本発明の目的は、動きベクトルの符号量を減少して圧縮効率を向上することにある。   An object of the present invention is to improve the compression efficiency by reducing the code amount of a motion vector.

本発明の一実施の形態は、例えば特許請求の範囲に記載されるように構成すればよい。   The embodiment of the present invention may be configured as described in the claims, for example.

本発明によれば、動きベクトルの符号量を減少して圧縮効率を向上することが可能となる。   According to the present invention, it is possible to improve the compression efficiency by reducing the code amount of the motion vector.

以下、本発明の実施例を、図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図5はH.264/AVC規格による画面間予測処理の動作について概念的に示したものである。H.264/AVC規格では、符号化対象画像に対してラスタースキャンの順序に従ってブロック単位による符号化を行う。画面間予測を行う際には、符号化対象画像(503)と同じ映像(501)に含まれる符号化済みの画像の復号画像を参照画像(502)とし、対象画像中の対象ブロック(504)と相関の高いブロック(予測画像)(505)を参照画像中から探索する。このとき、両ブロックの差分として計算される予測差分に加えて、両ブロックの座標値の差分を動きベクトル(506)として符号化する。一方復号化の際には上記の逆の手順を行えばよく、復号化された予測差分を参照画像中のブロック(予測画像)(505)に加えることにより、復号化画像を取得できる。   FIG. 5 conceptually shows the operation of inter-screen prediction processing according to the H.264 / AVC standard. In the H.264 / AVC standard, the encoding target image is encoded in units of blocks according to the raster scan order. When performing inter-screen prediction, the decoded image of the encoded image included in the same video (501) as the encoding target image (503) is set as the reference image (502), and the target block (504) in the target image A block (predicted image) (505) having a high correlation with the reference image is searched from the reference image. At this time, in addition to the prediction difference calculated as the difference between both blocks, the difference between the coordinate values of both blocks is encoded as a motion vector (506). On the other hand, when decoding, the reverse procedure described above may be performed, and the decoded image can be acquired by adding the decoded prediction difference to the block (predicted image) (505) in the reference image.

H.264/AVC規格では、以上で説明した動きベクトルによる符号量のオーバーヘッドを低減するために、動きベクトルに対する予測技術を導入している。すなわち、動きベクトルを符号化する際には、対象ブロックの周辺に位置する符号化済みのブロックを利用して対象ブロックの動きベクトルを予測し、予測ベクトルと動きベクトルの差分(差分ベクトル)を符号化する。このとき、差分ベクトルの大きさは統計的には、ほぼ0に集中するため、これを可変長符号化することにより符号量を削減できる。図6は予測ベクトルを算出する方法について概念的に示したものである。対象ブロック(601)の左側、上側、右上側に隣接する符号化済みのブロックをそれぞれブロックA(602)、ブロックB(603)、ブロックC(604)とし、各ブロックにおける動きベクトルをMVA、MVB、MVCとする。   In the H.264 / AVC standard, in order to reduce the overhead of the code amount due to the motion vector described above, a prediction technique for the motion vector is introduced. In other words, when encoding a motion vector, the motion vector of the target block is predicted using an encoded block located around the target block, and the difference between the prediction vector and the motion vector (difference vector) is encoded. Turn into. At this time, since the magnitude of the difference vector is statistically concentrated at almost 0, the amount of code can be reduced by variable-length encoding this. FIG. 6 conceptually shows a method for calculating a prediction vector. Encoded blocks adjacent to the left side, upper side, and upper right side of the target block (601) are block A (602), block B (603), and block C (604), respectively, and the motion vectors in each block are MVA and MVB. And MVC.

このとき、H.264/AVC規格では、予測ベクトルはMVA、MVB、MVCの中央値として算出する。すなわち、予測ベクトルPMVは、引数として指定されたベクトルの各成分に対して中央値を返す関数Medianを用いて、(605)のように算出される。さらに、差分ベクトルDMVを対象ブロックの動きベクトルMVと予測ベクトルPMV(予測ベクトル)の差分(606)として算出し、続いてDMV(差分ベクトル)を可変長符号化する。復号化の際には上記の逆の手順を行えばよく、復号化されたDMV(差分ベクトル)を上記と同様の手順によって算出したPMV(予測ベクトル)に加算することにより、動きベクトルMVを復号化する。   At this time, in the H.264 / AVC standard, the prediction vector is calculated as the median value of MVA, MVB, and MVC. That is, the prediction vector PMV is calculated as shown in (605) using the function Median that returns the median value for each component of the vector specified as the argument. Further, the difference vector DMV is calculated as the difference (606) between the motion vector MV of the target block and the prediction vector PMV (prediction vector), and then the DMV (difference vector) is variable-length encoded. When decoding, the reverse procedure described above may be performed, and the motion vector MV is decoded by adding the decoded DMV (difference vector) to the PMV (predicted vector) calculated by the same procedure as above. Turn into.

以上のように、H.264/AVC規格では、動きベクトルに対する予測技術を導入することにより、動きベクトルに必要な符号量を大幅に削減することが可能になった。しかし、複数の動物体が近接している場合や、対象領域の近傍に動物体の境界部分が存在する場合など、動きベクトルを正確に予測することが難しい場合には、H.264/AVC規格による動きベクトルの予測精度は十分であるとは言えず、依然として動きベクトルに多くの符号量が必要であった。この原因としては以下のようなことが考えられる。すなわち、上記のような動きが複雑な状況下では、対象領域の近傍における動きベクトルの相関性は著しく低下し、予測ベクトルの候補となるベクトル間の差が大きくなる。すなわち、上記のような動きが複雑な状況下では、対象領域の近傍における動きベクトルの相関性は著しく低下し、予測ベクトルの候補となるベクトル間の差が大きくなる。そのため、予測ベクトルの選択を誤ってしまうと、正しい予測ベクトルを選択した場合と比べて差分ベクトルが大きくなり、その結果、符号量も著しく増大してしまう。   As described above, in the H.264 / AVC standard, by introducing a prediction technique for motion vectors, it has become possible to significantly reduce the amount of code required for motion vectors. However, when it is difficult to accurately predict motion vectors, such as when multiple moving objects are close to each other or when there is a boundary between moving objects, the H.264 / AVC standard Therefore, the motion vector prediction accuracy by the method is not sufficient, and a large amount of code is still required for the motion vector. The following can be considered as the cause. That is, in the situation where the motion is complicated as described above, the correlation between the motion vectors in the vicinity of the target region is remarkably lowered, and the difference between the vectors as prediction vector candidates is increased. That is, in the situation where the motion is complicated as described above, the correlation between the motion vectors in the vicinity of the target region is remarkably lowered, and the difference between the vectors as prediction vector candidates is increased. Therefore, if the prediction vector is selected incorrectly, the difference vector becomes larger than the case where the correct prediction vector is selected, and as a result, the amount of codes increases significantly.

本発明の一実施の形態では、予測ベクトルの候補となるベクトル値の分布に応じて予測ベクトルの決定方法を切り替える。候補ベクトルの分布範囲が狭い場合は予測ベクトルの選択を誤ったときのリスクは小さいと判断し、従来通りの予測方法を実施する。一方、候補ベクトルの分布範囲が広い場合には、どの候補ベクトルを予測ベクトルとして利用するかを表すビット(以下、付加ビット)を追加して差分ベクトルを最小化する候補ベクトルを指定する。   In one embodiment of the present invention, the prediction vector determination method is switched according to the distribution of vector values that are candidates for the prediction vector. If the candidate vector distribution range is narrow, it is determined that the risk when the prediction vector is selected incorrectly is small, and the conventional prediction method is performed. On the other hand, when the candidate vector distribution range is wide, a bit representing which candidate vector is used as a prediction vector (hereinafter referred to as an additional bit) is added to designate a candidate vector for minimizing the difference vector.

このとき、さらに、予測ベクトルの候補となるベクトルの種類を候補ベクトル値の分布に応じて動的に切り替えるようにすれば、付加ビットによる符号量の増加を抑制することができる。これにより、符号量の増加を抑制しながら動きベクトルに対する予測精度を向上できるようになる。   At this time, if the types of vectors that are candidates for the prediction vector are dynamically switched according to the distribution of the candidate vector values, an increase in the code amount due to the additional bits can be suppressed. As a result, it is possible to improve the prediction accuracy for the motion vector while suppressing an increase in the code amount.

また、一般的に動きが複雑な状況下では動きベクトルの予測精度が低下するため、最適な予測ベクトルが選択されたとしても差分ベクトルは小さくならない。そのため、符号量を削減するためには、動きが複雑でない場合と、動きが複雑である場合に対して、差分ベクトルの符号化方法を変更することが効果的である。   In general, since the motion vector prediction accuracy decreases under a situation where the motion is complicated, even if an optimal prediction vector is selected, the difference vector does not become small. Therefore, in order to reduce the code amount, it is effective to change the encoding method of the difference vector for the case where the motion is not complicated and the case where the motion is complicated.

例えば参考文献1では、対象ブロックの周辺領域における動きベクトルの分散の大きさによって動きが複雑であるか否かを判定し、その判定結果に基づいて差分ベクトルを符号化する際の可変長符号表を切り替えている。この方法によれば、動きが複雑であるか否かについて大まかな判定はできるものの、画像の性質を反映した符号表の細かな切り替えはできなかった。また、この方法による符号表の切り替えは、対象ブロックの周辺領域における動きベクトルに基づいているため、対象領域の動きが周辺領域と異なる場合には適切に符号表を選択することができなかった。   For example, in Reference 1, it is determined whether or not the motion is complicated based on the magnitude of the variance of the motion vector in the peripheral region of the target block, and the variable length code table when encoding the difference vector based on the determination result Has been switched. According to this method, although it is possible to roughly determine whether or not the motion is complicated, it is not possible to switch the code table that reflects the nature of the image. In addition, since the switching of the code table by this method is based on the motion vector in the peripheral area of the target block, the code table cannot be appropriately selected when the motion of the target area is different from that of the peripheral area.

本発明の一実施の形態では、では、前述した付加ビットによる最適ベクトルの選択方法において、どの候補ベクトルが選択されたかを調べることによって対象領域における動きの性質を詳細に推定することができ、この推定情報に基づいて符号表を切り替えることにより、より詳細な符号表の切り替えが可能になり、その結果さらなる符号量の削減を可能にした。
[参考文献1]特開2006−271001
以下、本発明による動きベクトルの符号化手順および復号化手順について述べる。その中で、予測ベクトルPMV(予測ベクトル)の算出手順は符号化側と復号化側で同一であり、符号化側では動きベクトルMVとPMV(予測ベクトル)の差分DMVを算出してこれを符号化する処理行われる。これに対し、復号化側では復号化されたDMV(差分ベクトル)にPMV(予測ベクトル)を加算して動きベクトルMVを復号化する処理がそれぞれ行われる。
In one embodiment of the present invention, in the above-described method for selecting an optimal vector using additional bits, the motion characteristics in the target region can be estimated in detail by examining which candidate vector is selected. By switching the code table based on the estimation information, it is possible to switch the code table in more detail, and as a result, it is possible to further reduce the code amount.
[Reference Document 1] JP-A-2006-271001
The motion vector encoding and decoding procedures according to the present invention will be described below. Among them, the calculation procedure of the prediction vector PMV (prediction vector) is the same on the encoding side and decoding side, and the encoding side calculates the difference DMV between the motion vector MV and PMV (prediction vector) and encodes it. Processing is performed. On the other hand, on the decoding side, a process of decoding the motion vector MV by adding PMV (prediction vector) to the decoded DMV (difference vector) is performed.

図7は、本実施例による予測ベクトル算出方法の一例について概念的に示している。ここでは、予測ベクトルの候補となるベクトルを、対象ブロックの左側、上側、右上側にそれぞれ隣接するブロックA、ブロックB、ブロックCの3種類とする。このとき、各ブロックにおける動きベクトルをMVA、MVB、MVCとする。   FIG. 7 conceptually shows an example of a prediction vector calculation method according to this embodiment. Here, three types of vectors, which are candidates for prediction vectors, are block A, block B, and block C adjacent to the left side, upper side, and upper right side of the target block, respectively. At this time, the motion vectors in each block are MVA, MVB, and MVC.

まず、動きベクトルMVA、MVB、MVCのx、y各成分に対して整列を行い、閾値Thre1を利用してその分布を調べ、CASE1〜CASE4の4種類に場合分けを行う。本図において、矢印方向が動きベクトルの各成分の値が大きい方向である。よって、X印により示されるMVA、MVB、MVCのx、y各成分のうち最も矢印方向に位置するものが最大値であり、最も矢印方向と反対方向に位置するものが最小値である。さらに、両者の間に位置するものが中間値である。   First, the x and y components of the motion vectors MVA, MVB, and MVC are aligned, the distribution is examined using the threshold Thre1, and the cases are classified into four types, CASE1 to CASE4. In this figure, the direction of the arrow is the direction in which the value of each component of the motion vector is large. Therefore, among the x, y components of MVA, MVB, and MVC indicated by the X mark, the one located most in the arrow direction is the maximum value, and the one located most in the direction opposite to the arrow direction is the minimum value. Furthermore, what is located between both is an intermediate value.

ここで、すべての値の間隔がThre1よりも小さければ(CASE1)、どの値が選ばれても差分ベクトルの大きさに大差はないため、H.264/AVC規格と同様に候補値の中央値(a)を予測ベクトルPMVとして選択する。このとき、付加ビットは発生することはない。この場合、特に中央値でなくても、例えば平均値、最大値、最小値など、どのような計算方法を用いて予測ベクトルを選択してもよいし、例えば対象ブロックの右上に隣接するブロックや、時間的に1つ前のフレームの中の対象ブロックと同じ位置にあるブロックなど、ブロックA、ブロックB、ブロックC以外のブロックにおける動きベクトルを利用して予測ベクトルを決定しても良い。   Here, if the interval between all values is smaller than Thre1 (CASE1), there is no big difference in the size of the difference vector no matter what value is selected, so the median candidate value is the same as in the H.264 / AVC standard. (a) is selected as the prediction vector PMV. At this time, no additional bits are generated. In this case, the prediction vector may be selected using any calculation method, such as an average value, a maximum value, a minimum value, etc., even if it is not a median value. Alternatively, a prediction vector may be determined using a motion vector in a block other than block A, block B, and block C, such as a block located at the same position as the target block in the previous frame in time.

一方、候補値の中で最も大きな値と中央値の差がThre1以上であり、中央値と最小値の差がThre1よりも小さい場合には(CASE2)、例えば予測ベクトルとして最小値が選ばれるのが最適である場面において中央値が選ばれてしまっても差分ベクトルの大きさに大差はないが、中央値が選ばれるべき場面において最大値が選ばれてしまうと差分ベクトルの大きさが著しく増大する。そのため、この場合、予測値の選択肢を最大値(b)と中央値(c)の2種類とし、このうち差分ベクトルがより小さくなる方を予測ベクトルPMVとして選択して1ビットの情報により表現する。復号化側では、この1ビットによる情報を基に予測ベクトルを特定し、差分ベクトルに加算することにより動きベクトルを復号化する。   On the other hand, if the difference between the largest value and the median value among the candidate values is greater than or equal to Thre1, and the difference between the median value and the minimum value is smaller than Thre1 (CASE2), for example, the minimum value is selected as the prediction vector. Even if the median is selected in a scene where the optimal value is selected, there is no significant difference in the magnitude of the difference vector. However, if the maximum value is selected in the scene where the median should be selected, the magnitude of the difference vector increases significantly. To do. Therefore, in this case, there are two types of prediction value choices, the maximum value (b) and the median value (c), and the one with the smaller difference vector is selected as the prediction vector PMV and expressed by 1-bit information. . On the decoding side, a prediction vector is specified based on this 1-bit information, and the motion vector is decoded by adding it to the difference vector.

同様に、最小値と中央値の差がThre1以上であり、中央値と最大値の差がThre1よりも小さければ(CASE3)、中央値(d)と最小値(e)のうち差分ベクトルがより小さくなる方を予測ベクトルPMVとして選択し、1ビットの情報を追加する。   Similarly, if the difference between the minimum and median is greater than or equal to Thre1, and the difference between the median and maximum is smaller than Thre1 (CASE3), the difference vector between the median (d) and the minimum (e) is more The smaller one is selected as the prediction vector PMV, and 1-bit information is added.

また、すべての値の間隔がThre1以上であれば(CASE4)、最大値(f)、中央値(g)、最小値(h)の3種類の候補値の中から差分ベクトルが最も小さくなるものを予測ベクトルPMVとして選択し、1ビット、もしくは2ビットの情報を付加する。   If the interval between all values is greater than or equal to Thre1 (CASE4), the smallest difference vector among the three types of candidate values: maximum value (f), median value (g), and minimum value (h) Is selected as the prediction vector PMV, and 1-bit or 2-bit information is added.

上記予測ベクトルの選択肢の設定方法は特に問わない。例えば、上記の例ではCASE4において選択肢数を3としているため追加ビットが2ビット必要である場合が存在するが、例えば選択肢をMVA、MVBの2種類に限定することにより、追加ビットを常に1ビットに抑えることができる。   The method of setting the prediction vector option is not particularly limited. For example, in the above example, there are cases where 2 additional bits are required because the number of options is 3 in CASE4.For example, by limiting the options to two types, MVA and MVB, the additional bits are always 1 bit. Can be suppressed.

以上の方法によれば、予測精度が低下する可能性の高い場面においてのみ最低限の付加ビット量にて予測ベクトルを表現できるようになり、符号量の増加を抑えながら動きベクトルの予測精度を向上できる。   According to the above method, the prediction vector can be expressed with the minimum additional bit amount only in a scene where the prediction accuracy is likely to deteriorate, and the motion vector prediction accuracy is improved while suppressing an increase in the code amount. it can.

また、上記の方法は、図8に説明する方法と併用すればさらに予測精度が高まる。ここでは、Thre1よりも大きな値として設定される別の閾値Thre2を利用し、CASE1〜CASE4に加えてさらにCASE5〜CASE7の3種類の場合分けを行う。   Moreover, if the above method is used in combination with the method described in FIG. 8, the prediction accuracy is further increased. Here, another threshold value Thre2 set as a value larger than Thre1 is used, and in addition to CASE1 to CASE4, three types of cases of CASE5 to CASE7 are performed.

すなわち、CASE2において、bとcの差がThre2以上であれば(CASE5)、bとcの中間値(i)を選択肢に追加し、bとcとiの中から差分ベクトルが最も小さくなるものを予測ベクトルPMVとして選択し、1ビット、もしくは2ビットの情報を追加する。   That is, in CASE2, if the difference between b and c is greater than or equal to Thre2 (CASE5), an intermediate value (i) between b and c is added to the option, and the difference vector is the smallest among b, c, and i Is selected as the prediction vector PMV, and 1-bit or 2-bit information is added.

同様に、CASE3において、dとeの差がThre2以上であれば(CASE6)、dとeの中間値(j)を選択肢に追加し、dとeとjの中から差分ベクトルが最も小さくなるものを予測ベクトルPMVとして選択し、1ビット、もしくは2ビットの情報を追加する。   Similarly, in CASE3, if the difference between d and e is greater than or equal to Thre2 (CASE6), an intermediate value (j) between d and e is added to the option, and the difference vector is the smallest among d, e, and j One is selected as the prediction vector PMV, and 1-bit or 2-bit information is added.

また、CASE4において、fとgの差、およびgとhの差がThre2以上であれば(CASE7)、fとgの中間値(k)とgとhの中間値(l)を選択肢に追加し、fとgとhとkとlの中から差分ベクトルが最も小さくなるものを予測ベクトルPMVとして選択し、2ビット、もしくは3ビットの情報を付加する。   In CASE4, if the difference between f and g and the difference between g and h are more than Thre2 (CASE7), the intermediate value between f and g (k) and the intermediate value between g and h (l) are added to the options. Then, the vector having the smallest difference vector is selected as the prediction vector PMV from f, g, h, k, and l, and 2-bit or 3-bit information is added.

以上のように、候補値の間隔が大きい場合には差分ベクトルが増大する可能性が高いため、それらの中間値を新たな選択肢に加えることにより予測が当たりやすくなり、予測ベクトルと実ベクトルの差分が小さくなるため、符号量を削減することができる。   As described above, since the difference vector is likely to increase when the interval between candidate values is large, it becomes easier to predict by adding those intermediate values to a new option, and the difference between the prediction vector and the actual vector Therefore, the amount of codes can be reduced.

上記の例では、2種類の候補値の中間値を新たな選択肢に追加しているが、例えば複数の候補値を用いた重み付き平均など、候補値を用いた計算方法ならどのようなものを利用しても良い。また、予測ベクトルの選択肢の追加方法は特に問わない。さらに、上記の例では図7で説明した方法と図8で説明した方法を組み合わせて利用しているが、それぞれ単体で利用しても良い。   In the above example, an intermediate value of two types of candidate values is added to the new option, but what kind of calculation method using candidate values, such as a weighted average using a plurality of candidate values, for example? May be used. Further, the method of adding the prediction vector option is not particularly limited. Furthermore, in the above example, the method described in FIG. 7 and the method described in FIG. 8 are used in combination, but each may be used alone.

図9は、上記予測ベクトルの符号化方法について示している。ここでは、選択肢の数が2、3、5となる代表例として、それぞれCASE2、CASE4、CASE5においてそれぞれの値を符号化する際の可変長符号表を示している。ただし、この表は一例であり、符号表の作成方法は特に問わない。   FIG. 9 shows an encoding method of the prediction vector. Here, as a representative example in which the number of options is 2, 3, and 5, variable length code tables for encoding respective values in CASE2, CASE4, and CASE5 are shown. However, this table is an example, and the method for creating the code table is not particularly limited.

また、閾値Thre1とThre2の設定方法も特に問わない。それぞれ固定値でも良いが、例えば図10のように、量子化パラメータなどに基づいて動的に決定するとさらに効果的である。この例では、量子化パラメータの値が大きくなるほど、これらの閾値が大きくなるように設定している。これは、量子化パラメータが大きくなればビットレートが小さくなり、付加ビットによる影響が大きくなるため、これらの閾値を大きくすることにより付加ビットが発生しにくくなり効果的であるためである。   Further, the setting method of the threshold values Thre1 and Thre2 is not particularly limited. Each may be a fixed value, but it is more effective if it is determined dynamically based on the quantization parameter, as shown in FIG. In this example, the threshold values are set to increase as the quantization parameter value increases. This is because if the quantization parameter is increased, the bit rate is reduced and the influence of the additional bits is increased. Therefore, increasing these thresholds is effective in preventing the generation of additional bits.

さらに本発明の一実施の形態では、候補ベクトルの選択情報に基づいて差分ベクトルの符号化方法を切り替えることにより、さらなる符号量の削減を実現する。図11に、候補ベクトルの選択情報から画像の性質を推定する方法について示す。例えば、対象ブロックにおいて予測ベクトルを符号化・復号化する際に、候補ベクトルの成分a、c、dのいずれかが選択された場合には、対象領域における動きベクトルが周辺ベクトルに似通っていることが分かり、対象領域が大きな物体の内側に存在することが推定される。また、候補ベクトルの成分b、eのどちらかが選択された場合には、対象領域の周辺には2種類の動きが存在することが分かり、対象領域が大きな物体の境界部分に存在することが推定される。一方、候補ベクトルの成分f、g、h、i、j、k、lのいずれかが選択された場合には、対象領域の周辺における動きベクトルの相関が低く、例えば対象領域が小さな物体が多数集まっているような無相関領域に存在することが推定される。   Furthermore, in one embodiment of the present invention, the code amount is further reduced by switching the difference vector encoding method based on the candidate vector selection information. FIG. 11 shows a method for estimating the properties of an image from candidate vector selection information. For example, when encoding / decoding a prediction vector in a target block, if any of the candidate vector components a, c, d is selected, the motion vector in the target region is similar to the surrounding vector. Thus, it is estimated that the target region exists inside a large object. In addition, when either of the candidate vector components b and e is selected, it can be seen that there are two types of motion around the target area, and that the target area exists at the boundary of a large object. Presumed. On the other hand, if any of the candidate vector components f, g, h, i, j, k, or l is selected, the correlation of motion vectors around the target area is low, for example, there are many objects with a small target area. It is estimated that it exists in the uncorrelated area | region which has gathered.

図12は、上記のような画像の性質の推定情報(候補ベクトルの選択情報)に基づいて差分ベクトルの可変長符号表を切り替える方法を示している。一般的に動きが複雑な状況下では動きベクトルの予測精度が低下する。上記の例では、「物体の内部領域」、「物体の境界領域」、「無相関領域」の順に予測精度が低くなり、差分ベクトルが大きくなる(1201)。本発明では、複数の可変長符号表(テーブルA(1202)、テーブルB(1203)、テーブルC(1204))を用意し、その性質に応じて切り替える(1205)。例えばテーブルAには、差分ベクトルの値が小さい間は符号長が短いが、差分値が大きくなると、符号長が急激に長くなるようなテーブルを用いる。一方、テーブルCには、差分ベクトルの値が小さい間は符号長が長いが、差分値が大きくなっても符号長の増加は比較的なだらかであるようなテーブルを用いる。なお、テーブルBには、テーブルAとテーブルCの中間的な性質を持つようなテーブルを用いる。   FIG. 12 shows a method of switching the variable-length code table of the difference vector based on the image property estimation information (candidate vector selection information) as described above. In general, the motion vector prediction accuracy decreases under a situation where the motion is complicated. In the above example, the prediction accuracy decreases and the difference vector increases in the order of “inner region of object”, “boundary region of object”, and “non-correlated region” (1201). In the present invention, a plurality of variable length code tables (table A (1202), table B (1203), and table C (1204)) are prepared and switched according to their properties (1205). For example, as the table A, a table is used in which the code length is short while the difference vector value is small, but the code length is abruptly increased when the difference value is large. On the other hand, the table C uses a table in which the code length is long while the value of the difference vector is small, but the increase in code length is relatively gentle even if the difference value is large. As the table B, a table having an intermediate property between the tables A and C is used.

この場合、物体の内部領域と推定された場合(予測ベクトルを符号化・復号化する際に、候補ベクトルの成分a、c、dのいずれかが選択された場合)には、差分値が小さい場合に有利なテーブルAを利用して差分ベクトルを符号化する。一方、無相関領域と推定された場合(予測ベクトルを符号化・復号化する際に、候補ベクトルの成分f、g、h、i、j、k、lのいずれかが選択された場合)には、差分値が大きい場合に有利なテーブルCを利用する。また、物体の境界領域と推定された場合(予測ベクトルを符号化・復号化する際に、候補ベクトルの成分b、eのいずれかが選択された場合)は、それらの中間的な性質を有するテーブルBを利用する。上記の方法によれば、対象画像の性質を考慮した精密な符号表の切り替えが可能になり、差分ベクトルに必要な符号量を大幅に削減することができる。   In this case, the difference value is small when it is estimated as the internal region of the object (when any of the candidate vector components a, c, and d is selected when the prediction vector is encoded / decoded). The difference vector is encoded using table A which is advantageous in some cases. On the other hand, when it is estimated as a non-correlated region (when any of the candidate vector components f, g, h, i, j, k, and l is selected when the prediction vector is encoded / decoded) Uses table C, which is advantageous when the difference value is large. In addition, when it is estimated as the boundary region of an object (when one of the candidate vector components b and e is selected when the prediction vector is encoded / decoded), it has an intermediate property between them. Use Table B. According to the above method, it is possible to switch the code table precisely in consideration of the properties of the target image, and the code amount necessary for the difference vector can be greatly reduced.

可変長符号化表はどのようなものを利用しても良いが、例えば図13に示すテーブルA(1301)、テーブルB(1302)、テーブルC(1303)を利用すると効果的である。   Any variable length coding table may be used, but it is effective to use, for example, table A (1301), table B (1302), and table C (1303) shown in FIG.

このように、テーブルA、テーブルB、テーブルCをそれぞれ固定テーブルとしてあらかじめ定義しておいても良いが、例えば図14のように、複数のテーブル(テーブル1〜テーブル5)をあらかじめ用意しておき(1402)、何らかのパラメータに基づいてテーブルを動的に選択するとさらに効果的である。ここでは、テーブルA、テーブルB、テーブルCに割り当てるテーブル番号の組み合わせをテーブルセット(a〜c)として定義しておき(1401)、対象画像の直前に符号化・復号化されたフレームにおける付加ビットの累計(PrevAddBits)の値に応じて利用するテーブルセットを切り替える(1403)。これは、対象フレームの動きが激しい場合、テーブルA、テーブルB、テーブルCの符号長の偏りを大きくすると特に符号量の削減効果が高まるため、直前フレームにおける動きの大きさを反映するパラメータ(PrevAddBits)に基づいてテーブルを切り替えている。ここでは、切り替えの判定を行うために定数による閾値(Thre3、Thre4)を設定しているが、判定方法は特に問わない。また、上記の例では、切り替えを行うためのパラメータとしてPrevAddBitsを利用しているが、例えば動きベクトルの平均値や分散値、予測誤差の統計量など、フレーム内の動き量を反映するものならどのようなパラメータを利用しても良い。   In this way, table A, table B, and table C may be defined in advance as fixed tables, respectively. For example, as shown in FIG. 14, a plurality of tables (table 1 to table 5) are prepared in advance. (1402), it is more effective to dynamically select the table based on some parameters. Here, combinations of table numbers to be assigned to Table A, Table B, and Table C are defined as a table set (a to c) (1401), and additional bits in a frame encoded and decoded immediately before the target image The table set to be used is switched according to the value of the total (PrevAddBits) (1403). This is because when the motion of the target frame is intense, increasing the code length bias of Table A, Table B, and Table C increases the effect of reducing the code amount in particular, so a parameter (PrevAddBits ) To switch the table. Here, constant threshold values (Thre3, Thre4) are set to determine switching, but the determination method is not particularly limited. In the above example, PrevAddBits is used as a parameter for switching, but for example, any value that reflects the amount of motion in the frame, such as the average value of the motion vector, the variance value, or the statistical amount of prediction error. Such parameters may be used.

図1は本実施例における動画像符号化装置の一例を示したものである。動画像符号化装置は、入力された原画像(101)を保持する入力画像メモリ(102)と、入力画像を小領域に分割するブロック分割部(103)と、ブロック単位で画面内予測を行う画面内予測部(105)と、動き探索部(104)にて検出された動き量を基にブロック単位で画面間予測を行う画面間予測部(106)と、画像の性質に合った予測符号化手段(予測方法およびブロックサイズ)を決定するモード選択部(107)と、予測差分を生成するための減算部(108)と、予測差分に対して符号化を行う周波数変換部(109)および量子化部(110)と、記号の発生確率に応じた符号化を行うための可変長符号化部(111)と、一度符号化した予測差分を復号化するための逆量子化処理部(112)および逆周波数変換部(113)と、復号化された予測差分を用いて復号化画像を生成するための加算部(114)と、復号化画像を保持して後の予測に活用するための参照画像メモリ(115)を有する。   FIG. 1 shows an example of a moving image encoding apparatus according to the present embodiment. The video encoding apparatus performs an intra-screen prediction in units of blocks, an input image memory (102) that holds an input original image (101), a block division unit (103) that divides the input image into small regions An intra-screen prediction unit (105), an inter-screen prediction unit (106) that performs inter-screen prediction based on the amount of motion detected by the motion search unit (104), and a prediction code that matches the nature of the image A mode selection unit (107) for determining a conversion means (prediction method and block size), a subtraction unit (108) for generating a prediction difference, a frequency conversion unit (109) for encoding the prediction difference, and A quantization unit (110), a variable length coding unit (111) for performing coding according to the occurrence probability of the symbol, and an inverse quantization processing unit (112) for decoding the prediction difference once coded ) And an inverse frequency transform unit (113), an adder unit (114) for generating a decoded image using the decoded prediction difference, Having a reference image memory (115) for use in the prediction after holding the image.

入力画像メモリ(102)は原画像(101)の中から一枚の画像を符号化対象画像として保持し、これをブロック分割部(103)にて細かなブロックに分割し、動き探索部(104)、画面内予測部(105)、および画面間予測部(107)に渡す。動き探索部(104)では、参照画像メモリ(117)に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルを画面間予測部(106)に渡す。画面内予測部(105)および画面間予測部(106)では画面内予測処理および画面間予測処理をいくつかの大きさのブロック単位で実行し、モード選択部(107)にてどちらか最適な予測方法を選ぶ。続いて減算部(108)では最適な予測符号化手段による予測差分を生成し、周波数変換部(109)に渡す。周波数変換部(109)および量子化処理部(110)では、送られてきた予測差分に対して指定された大きさのブロック単位でそれぞれDCT(Discrete Cosine Transformation:離散コサイン変換)などの周波数変換および量子化処理を行い、可変長符号化処理部(111)および逆量子化処理部(112)に渡す。さらに可変長符号化処理部(111)では、周波数変換係数によって表される予測差分情報と、例えば画面内予測を行う際に利用した予測方向や画面間予測を行う際に利用した動きベクトルなど、復号化に必要な情報を、記号の発生確率に基づいて可変長符号化を行って符号化ストリームを生成する。可変長符号化処理部(111)における可変長符号化処理においては、例えば、図9、図11、図12、図13、図14に示した可変長符号表およびその切替処理を行う。また、逆量子化処理部(112)および逆周波数変換部(113)では、量子化後の周波数変換係数に対して、それぞれ逆量子化およびIDCT(Inverse DCT:逆DCT)などの逆周波数変換を施し、予測差分を取得して加算部(114)に送る。続いて加算部(114)により復号化画像を生成して参照画像メモリ(115)に格納する。   The input image memory (102) holds one image as an encoding target image from the original image (101), and divides it into fine blocks by the block dividing unit (103), and the motion search unit (104 ), An intra-screen prediction unit (105), and an inter-screen prediction unit (107). The motion search unit (104) calculates the amount of motion of the corresponding block using the decoded image stored in the reference image memory (117), and passes the motion vector to the inter-screen prediction unit (106). The in-screen prediction unit (105) and the inter-screen prediction unit (106) execute the intra-screen prediction process and the inter-screen prediction process in blocks of several sizes, and the mode selection unit (107) Select a prediction method. Subsequently, the subtraction unit (108) generates a prediction difference by the optimum prediction encoding means and passes it to the frequency conversion unit (109). In the frequency transform unit (109) and the quantization processing unit (110), frequency transform such as DCT (Discrete Cosine Transformation) is performed in units of blocks each having a specified size with respect to the transmitted prediction difference, and Quantization processing is performed and passed to the variable length coding processing unit (111) and the inverse quantization processing unit (112). Furthermore, in the variable length coding processing unit (111), the prediction difference information represented by the frequency conversion coefficient, the prediction direction used when performing intra prediction, for example, the motion vector used when performing inter prediction, etc. Information necessary for decoding is subjected to variable length coding based on the probability of occurrence of symbols to generate a coded stream. In the variable-length coding process in the variable-length coding processing unit (111), for example, the variable-length code table and the switching process shown in FIGS. 9, 11, 12, 13, and 14 are performed. In addition, the inverse quantization processing unit (112) and the inverse frequency transform unit (113) perform inverse frequency transform such as inverse quantization and IDCT (Inverse DCT) on the frequency transform coefficients after quantization. The prediction difference is acquired and sent to the adding unit (114). Subsequently, a decoding image is generated by the adding unit (114) and stored in the reference image memory (115).

図2は画面間予測部(106)の詳細について、その一例を示したものである。画面間予測部は、既符号化領域の動きベクトルを記憶するための動きベクトル記憶メモリ(201)と、既符号化領域の動きベクトルを利用して予測ベクトルを算出する予測ベクトル算出部(202)と、動きベクトルと予測ベクトルの差を計算して差分ベクトルを算出する減算器(203)と、予測画像を生成する予測画像生成部(204)と、予測ベクトルの選択情報に基づいて最適な可変長符号表を選択する符号表切り替え部(205)を有する。   FIG. 2 shows an example of the details of the inter-screen prediction unit (106). The inter-screen prediction unit includes a motion vector storage memory (201) for storing a motion vector of an already-encoded region, and a prediction vector calculation unit (202) that calculates a prediction vector using the motion vector of the already-encoded region. A subtractor (203) that calculates a difference vector by calculating a difference between a motion vector and a prediction vector, a prediction image generation unit (204) that generates a prediction image, and an optimum variable based on selection information of the prediction vector A code table switching unit (205) for selecting a long code table is provided.

予測ベクトル算出部(202)は動きベクトル記憶メモリ(201)に記憶されている既符号化領域の動きベクトルに基づいて対象ブロックの予測ベクトルを算出する。当該予測ベクトルの算出処理は、図7および図8の説明にて既に説明したとおりである。減算器(203)では、動き探索部(104)で算出された動きベクトルと予測ベクトルの差分を計算して差分ベクトル(207)を算出する。また、符号表切り替え部(205)では、最適な可変長符号表を選択してその符号表番号(206)を出力し、可変長符号化部(111)に渡す。予測画像生成部(205)では動きベクトルと参照画像から予測画像(208)を生成する。そして、動きベクトルを動きベクトル記憶メモリ(201)に記憶する。   The prediction vector calculation unit (202) calculates the prediction vector of the target block based on the motion vector of the already-encoded area stored in the motion vector storage memory (201). The calculation process of the prediction vector is as already described in the description of FIGS. The subtracter (203) calculates the difference vector (207) by calculating the difference between the motion vector calculated by the motion search unit (104) and the prediction vector. The code table switching unit (205) selects the optimum variable length code table, outputs the code table number (206), and passes it to the variable length coding unit (111). The predicted image generation unit (205) generates a predicted image (208) from the motion vector and the reference image. Then, the motion vector is stored in the motion vector storage memory (201).

図3は本実施例による動画像復号化装置の一例を示したものである。動画像復号化装置は、例えば図1に示す動画像符号化装置によって生成された符号化ストリーム(301)に対して可変長符号化の逆の手順を踏む可変長復号化部(302)と、予測差分を復号化するための逆量子化処理部(303)および逆周波数変換部(304)と、画面間予測を行う画面間予測部(305)と、画面内予測を行う画面内予測部(306)と、復号化画像を取得するための加算部(307)と、復号化画像を一時的に記憶しておくための参照画像メモリ(308)を有する。   FIG. 3 shows an example of a moving picture decoding apparatus according to the present embodiment. The video decoding device includes, for example, a variable length decoding unit (302) that performs the reverse procedure of variable length encoding on the encoded stream (301) generated by the video encoding device shown in FIG. Inverse quantization processing unit (303) and inverse frequency transform unit (304) for decoding the prediction difference, inter-screen prediction unit (305) that performs inter-screen prediction, and intra-screen prediction unit (in-screen prediction) 306), an adder (307) for obtaining a decoded image, and a reference image memory (308) for temporarily storing the decoded image.

可変長復号化部(302)では、符号化ストリーム(301)を可変長復号化し、予測差分の周波数変換係数成分と、ブロックサイズや動きベクトルなど予測処理に必要な情報を取得する。   The variable length decoding unit (302) performs variable length decoding on the encoded stream (301), and acquires information necessary for prediction processing, such as a frequency transform coefficient component of a prediction difference, a block size, and a motion vector.

ここで、当該可変長復号化処理においては、可変長復号化部(302)は、後述する画面間予測部(305)の動きベクトル記憶メモリ(401)から、既に復号された周辺ブロックの動きベクトルを取得し、図7〜図8に示した候補ベクトルの整列を行う。ここで、各候補ベクトル間の差を算出し、候補ベクトルの分布状況(CASE1〜CASE7)を判別する。当該分布状況(CASE1〜CASE7)の判別結果に基づいて、図9の可変長符号表を選択する。図9の符号表を用いて、符号化ストリームに含まれる付加ビットが示す選択肢を判別する。当該付加ビットが示す選択肢を用いて、図12、図13、図14に示す可変長符号表を選択する。さらに、当該選択した可変長符号表を用いて差分ベクトルの可変長復号化処理を行う。   Here, in the variable length decoding process, the variable length decoding unit (302) performs the motion vector of the peripheral block that has already been decoded from the motion vector storage memory (401) of the inter-screen prediction unit (305) described later. And the candidate vectors shown in FIGS. 7 to 8 are aligned. Here, the difference between the candidate vectors is calculated, and the distribution status of the candidate vectors (CASE 1 to CASE 7) is determined. Based on the determination result of the distribution status (CASE 1 to CASE 7), the variable length code table of FIG. 9 is selected. Using the code table of FIG. 9, the option indicated by the additional bits included in the encoded stream is determined. The variable length code table shown in FIGS. 12, 13, and 14 is selected using the options indicated by the additional bits. Furthermore, variable length decoding processing of the difference vector is performed using the selected variable length code table.

次に、前者の予測差分情報に対しては逆量子化処理部(303)に、後者の予測処理に必要な情報に対しては、画面間予測部(305)、または画面内予測部(306)に送られる。続いて、逆量子化処理部(303)および逆周波数変換部(304)では、予測差分情報に対してそれぞれ逆量子化と逆周波数変換を施して復号化を行う。続いて画面間予測部(305)または画面内予測部(306)では、可変長復号化部(302)から送られてきた情報を基に参照画像メモリ(308)を参照して予測処理を実行し、加算部(307)にて復号化画像を生成するとともに、復号化画像を参照画像メモリ(308)に格納する。   Next, the inverse quantization processing unit (303) is used for the former prediction difference information, and the inter-screen prediction unit (305) or the intra-screen prediction unit (306) is used for information necessary for the latter prediction processing. ). Subsequently, the inverse quantization processing unit (303) and the inverse frequency transform unit (304) perform decoding by performing inverse quantization and inverse frequency transform on the prediction difference information, respectively. Subsequently, the inter-screen prediction unit (305) or the intra-screen prediction unit (306) executes the prediction process with reference to the reference image memory (308) based on the information sent from the variable length decoding unit (302). Then, the adder (307) generates a decoded image and stores the decoded image in the reference image memory (308).

図4は画面間予測部(305)の詳細について、その一例を示したものである。画面間予測部は、既復号化領域の動きベクトルを記憶するための動きベクトル記憶メモリ(401)と、既復号化領域の動きベクトルを利用して予測ベクトルを算出する予測ベクトル算出部(402)と、差分ベクトルと予測ベクトルの和を計算して動きベクトルを算出する加算器(403)と、予測画像を生成する予測画像生成部(404)を有する。   FIG. 4 shows an example of the details of the inter-screen prediction unit (305). The inter-screen prediction unit includes a motion vector storage memory (401) for storing the motion vector of the already decoded region, and a prediction vector calculation unit (402) for calculating a prediction vector using the motion vector of the already decoded region And an adder (403) for calculating a motion vector by calculating the sum of the difference vector and the prediction vector, and a prediction image generation unit (404) for generating a prediction image.

予測ベクトル算出部(402)は動きベクトル記憶メモリ(401)に記憶されている既復号化領域の動きベクトルに基づいて対象ブロックの予測ベクトルを算出する。当該予測ベクトルの算出処理は、図7、図8の説明にて既に説明したとおりである。加算部(403)では、可変長復号化部にて復号化された差分ベクトルと予測ベクトルの和を計算して動きベクトルを復号化する。そして、復号化された動きベクトルを動きベクトル記憶メモリ(401)に記憶する一方で、予測画像生成部(404)では動きベクトルと参照画像から予測画像(405)を生成する。   The prediction vector calculation unit (402) calculates the prediction vector of the target block based on the motion vector of the already decoded region stored in the motion vector storage memory (401). The calculation process of the prediction vector is as already described in the description of FIGS. The adding unit (403) decodes the motion vector by calculating the sum of the difference vector decoded by the variable length decoding unit and the prediction vector. Then, while storing the decoded motion vector in the motion vector storage memory (401), the predicted image generation unit (404) generates a predicted image (405) from the motion vector and the reference image.

図16は、本実施例における1フレームの符号化処理手順について示している。まず、符号化対象となるフレーム内に存在するすべてのブロックに対して(1601)、以下の処理を行う。すなわち、該当ブロックに対して一度すべての符号化モード(予測方法とブロックサイズの組み合わせ)に対して(1602)、予測を実行する。ここでは、予測の方法に応じて(1603)、画面内予測(1604)、または画面間予測(1605)を行い、予測差分(差分画像)の計算を行う。さらに、画面間予測を行う際には、予測差分(差分画像)の他に動きベクトルを符号化する。ここでは、図7および図8に示す方法にて計算されたPMV(予測ベクトル)に基づいてDMV(差分ベクトル)を計算する(1606)。続いて、予測差分に対して周波数変換処理(1607)、量子化処理(1608)を行う。さらに図9、図11、図12、図13、図14に示した可変長符号表およびその切替処理用いた可変長符号化処理(1609)を行い、各符号化モードの画質歪と符号量を計算する。以上の処理をすべての符号化モードに対して終了すれば、以上の結果に基づいて最も符号化効率の良いモードを選択する(1610)。なお、多数の符号化モードの中から最も符号化効率の高いものを選択する際には、例えば画質歪みと符号量の関係から最適な符号化モードを決定するRD-Optimization方式を利用することによって、効率良く符号化できる。RD-Optimization方式の詳細については参考文献2を参照のこと。
[参考文献2]G. Sullivan and T.Wiegand : “Rate-Distortion Optimization for Video Compression”, IEEE Signal Processing Magazine, vol.15, no.6, pp.74-90, 1998.
続いて、選択された符号化モードに対して、量子化済みの周波数変換係数に逆量子化処理(1611)と逆周波数変換処理(1612)を施して予測差分を復号化し、復号化画像を生成して参照画像メモリに格納する(1613)。以上の処理をすべてのブロックに対して完了すれば、画像1フレーム分の符号化は終了する(1614)。
FIG. 16 shows an encoding processing procedure for one frame in the present embodiment. First, the following processing is performed for all blocks existing in the frame to be encoded (1601). That is, prediction is executed once for all coding modes (combination of prediction method and block size) for the corresponding block (1602). Here, in-screen prediction (1604) or inter-screen prediction (1605) is performed according to the prediction method (1603), and the prediction difference (difference image) is calculated. Furthermore, when performing inter-screen prediction, a motion vector is encoded in addition to the prediction difference (difference image). Here, a DMV (difference vector) is calculated based on the PMV (predicted vector) calculated by the method shown in FIGS. 7 and 8 (1606). Subsequently, frequency conversion processing (1607) and quantization processing (1608) are performed on the prediction difference. Further, the variable length coding table (1609) using the variable length code table and the switching process shown in FIGS. 9, 11, 12, 13, and 14 is performed, and the image quality distortion and the code amount of each coding mode are calculated. calculate. When the above processing is completed for all coding modes, the mode with the highest coding efficiency is selected based on the above results (1610). When selecting the one with the highest encoding efficiency from among a large number of encoding modes, for example, by using the RD-Optimization method that determines the optimal encoding mode from the relationship between image quality distortion and code amount, for example. Can be encoded efficiently. See Reference 2 for details of the RD-Optimization method.
[Reference 2] G. Sullivan and T. Wiegand: “Rate-Distortion Optimization for Video Compression”, IEEE Signal Processing Magazine, vol.15, no.6, pp.74-90, 1998.
Subsequently, for the selected coding mode, the quantized frequency transform coefficient is subjected to inverse quantization processing (1611) and inverse frequency transform processing (1612) to decode the prediction difference and generate a decoded image. And stored in the reference image memory (1613). If the above processing is completed for all the blocks, the encoding for one frame of the image is completed (1614).

図17は、図16におけるDMV(差分ベクトル)計算処理(1606)の詳細な処理手順について示している。まず、対象ブロックの周辺ブロックにおけるベクトル(候補ベクトル)を整列する(1701)。ここで、本実施例において「整列」とは、複数の候補ベクトルの所定の方向の成分の値のうち、どの候補ベクトルの値が最大値、中央値、最小値となるかを計算し、最大値ベクトル、中央値ベクトル、最小値ベクトルをそれぞれ決定することである。以下に記載される「整列」も同様の意味である。次に、複数の候補ベクトルの所定の方向の成分の値にThre1以上の間隔があるかどうかを調べる(1702)。Thre1以上の間隔がなければ、従来方式と同様に候補ベクトルの中央値によるPMV(予測ベクトル)計算を行う(1703)。一方、Thre1以上の間隔があれば、続いてThre2以上の間隔があるかどうかを調べる(1704)。Thre2以上の間隔がなければ、選択肢となる候補値の中から、差分ベクトルを最小化するものをPMV(予測ベクトル)として選択し(1705)、選択情報を付加ビットとして追加する(1706)。一方、Thre2以上の間隔があれば、候補値の中間値を計算してさらなる予測値の選択肢を生成する(1707)。続いて、選択肢となる候補値の中から、差分ベクトルを最小化するものをPMV(予測ベクトル)として選択し(1705)、選択情報を付加ビットとして追加する(1706)。以上の手続きによりPMV(予測ベクトル)を計算した後、動きベクトルMVとPMV(予測ベクトル)の差分を計算してDMV(差分ベクトル)とし(1710)、PMV(予測ベクトル)の選択状況に応じてDMV(差分ベクトル)の符号表を選択する(1710)。以上の処理が終了すれば、DMV(差分ベクトル)計算が終了する(1711)。なお、上記の処理のうち、予測ベクトルの算出処理は、図7および図8に示す予測ベクトルの算出処理に対応する処理である。   FIG. 17 shows a detailed processing procedure of the DMV (difference vector) calculation process (1606) in FIG. First, vectors (candidate vectors) in peripheral blocks of the target block are aligned (1701). Here, in this embodiment, “alignment” means calculating which candidate vector value is the maximum value, median value, and minimum value among the component values in a predetermined direction of a plurality of candidate vectors, A value vector, a median value vector, and a minimum value vector are determined. “Alignment” described below has the same meaning. Next, it is checked whether there is an interval equal to or greater than Thre1 in the values of the components in a predetermined direction of the plurality of candidate vectors (1702). If there is no interval equal to or greater than Thre1, PMV (predicted vector) calculation using the median value of candidate vectors is performed as in the conventional method (1703). On the other hand, if there is an interval equal to or greater than Thre1, whether or not there is an interval equal to or greater than Thre2 is checked (1704). If there is no interval equal to or greater than Thre2, one that minimizes the difference vector is selected as a PMV (predicted vector) from the candidate values as options (1705), and selection information is added as additional bits (1706). On the other hand, if there is an interval equal to or greater than Thre2, the intermediate value of the candidate values is calculated to generate further prediction value options (1707). Subsequently, a candidate value that minimizes the difference vector is selected as a PMV (predicted vector) from the candidate values as options (1705), and selection information is added as additional bits (1706). After calculating PMV (predicted vector) by the above procedure, calculate the difference between motion vector MV and PMV (predicted vector) to make DMV (difference vector) (1710), depending on the selection status of PMV (predicted vector) A DMV (difference vector) code table is selected (1710). When the above processing ends, DMV (difference vector) calculation ends (1711). Of the above processes, the prediction vector calculation process corresponds to the prediction vector calculation process shown in FIGS. 7 and 8.

図18は、本実施例における1フレームの復号化処理手順について示している。まず、1フレーム内のすべてのブロックに対して、以下の処理を行う(1801)。すなわち、入力ストリームに対して可変長復号化処理を施し、予測差分の周波数変換係数成分や差分ベクトルの復号化を行う(1802)。   FIG. 18 shows a procedure for decoding one frame in the present embodiment. First, the following processing is performed on all blocks in one frame (1801). That is, the variable length decoding process is performed on the input stream, and the frequency transform coefficient component of the prediction difference and the difference vector are decoded (1802).

ここで、当該可変長復号化処理においては、既に復号された周辺ブロックの動きベクトルを取得し、図7〜図8に示した候補ベクトルの整列を行う。ここで、各候補ベクトル間の差を算出し、候補ベクトルの分布状況(CASE1〜CASE7)を判別する。当該分布状況(CASE1〜CASE7)の判別結果に基づいて、図9の可変長符号表を選択する。図9の符号表を用いて、符号化ストリームに含まれる付加ビットが示す選択肢を判別する。当該付加ビットが示す選択肢を用いて、図12、図13、図14に示す可変長符号表を選択する。さらに、当該選択した可変長符号表を用いて差分ベクトルの可変長復号化処理を行う。   Here, in the variable length decoding process, motion vectors of already decoded peripheral blocks are acquired and the candidate vectors shown in FIGS. 7 to 8 are aligned. Here, the difference between the candidate vectors is calculated, and the distribution status of the candidate vectors (CASE 1 to CASE 7) is determined. Based on the determination result of the distribution status (CASE 1 to CASE 7), the variable length code table of FIG. 9 is selected. Using the code table of FIG. 9, the option indicated by the additional bits included in the encoded stream is determined. The variable length code table shown in FIGS. 12, 13, and 14 is selected using the options indicated by the additional bits. Furthermore, variable length decoding processing of the difference vector is performed using the selected variable length code table.

次に、可変長復号化処理において取得した予測差分の周波数変換係数成分に対して逆量子化処理(1803)および逆周波数変換処理(1804)を施して予測差分(差分画像)を復号化する。続いて、予測の方法に応じて(1805)、画面内予測処理(1806)および画面間予測処理(1808)を行う。なお、画面間予測を行う際には画面間予測処理より先に動きベクトルMVの復号化を行う。差分ベクトルDMVは先に可変長復号化処理(1802)において復号しておき、ここでは、図7〜図8に示す方法にて計算されたPMV(予測ベクトル)と差分ベクトルDMVを加算し、MVを算出する(1807)。算出したMVを用いて面間予測処理(1808)が行われる。以上の処理をフレーム中のすべてのブロックに対して完了すれば、画像1フレーム分の復号化が終了する(1809)。   Next, inverse quantization processing (1803) and inverse frequency conversion processing (1804) are performed on the frequency transform coefficient component of the prediction difference acquired in the variable length decoding processing to decode the prediction difference (difference image). Subsequently, in-screen prediction processing (1806) and inter-screen prediction processing (1808) are performed according to the prediction method (1805). Note that when performing inter-screen prediction, the motion vector MV is decoded prior to the inter-screen prediction processing. The difference vector DMV is first decoded in the variable length decoding process (1802). Here, the PMV (predicted vector) calculated by the method shown in FIGS. 7 to 8 and the difference vector DMV are added, and the MV Is calculated (1807). Inter-plane prediction processing (1808) is performed using the calculated MV. When the above processing is completed for all the blocks in the frame, decoding for one frame of the image is completed (1809).

図19は、図18におけるMV計算(1807)の詳細な処理手順について示している。まず、対象ブロックの周辺ブロックにおけるベクトル(候補ベクトル)を整列し(1901)、それらの値にThre1以上の間隔があるかどうかを調べる(1902)。Thre1以上の間隔がなければ、従来方式と同様に候補ベクトルの中央値によるPMV(予測ベクトル)計算を行う(1903)。一方、Thre1以上の間隔があれば、続いてThre2以上の間隔があるかどうかを調べる(1904)。Thre2以上の間隔がなければ、付加ビットを読み込んでPMV(予測ベクトル)として選択されている値を特定し、PMV(予測ベクトル)を復号する(1905)。一方、Thre2以上の間隔があれば、候補値の中間値を計算してさらなる予測値の選択肢を生成し(1906)、続いて、付加ビットを読み込んでPMV(予測ベクトル)として選択されている値を特定してPMV(予測ベクトル)を復号する (1907)。以上の手続きによりPMV(予測ベクトル)を計算した後、PMV(予測ベクトル)と差分ベクトルDMVの和を計算してMVとし(1908)、MV計算を終了する(1909)。   FIG. 19 shows a detailed processing procedure of the MV calculation (1807) in FIG. First, vectors (candidate vectors) in peripheral blocks of the target block are aligned (1901), and it is checked whether there is an interval equal to or greater than Thre1 (1902). If there is no interval equal to or greater than Thre1, PMV (predicted vector) calculation using the median value of candidate vectors is performed as in the conventional method (1903). On the other hand, if there is an interval equal to or greater than Thre1, it is checked whether there is an interval equal to or greater than Thre2 (1904). If there is no interval equal to or greater than Thre2, the additional bits are read to identify the value selected as the PMV (prediction vector), and the PMV (prediction vector) is decoded (1905). On the other hand, if there is an interval equal to or greater than Thre2, the intermediate value of the candidate values is calculated to generate further prediction value options (1906), and then the additional bits are read and the value selected as the PMV (prediction vector) The PMV (predictive vector) is decoded by specifying (1907). After calculating the PMV (predicted vector) by the above procedure, the sum of the PMV (predicted vector) and the difference vector DMV is calculated as MV (1908), and the MV calculation is terminated (1909).

本実施例では、予測ベクトルの算出をブロック単位で行っているが、それ以外にも例えば画像の背景から分離したオブジェクト単位で算出しても良い。また、周波数変換の一例としてDCTを挙げているが、DST(Discrete Sine Transformation:離散サイン変換)、WT(Wavelet Transformation:ウェーブレット変換)、DFT(Discrete Fourier Transformation:離散フーリエ変換)、KLT(Karhunen-Loeve Transformation:カルーネン-レーブ変換)など、画素間相関除去に利用する直交変換ならどのようなものでも構わないし、特に周波数変換を施さずに予測差分そのものに対して符号化を行っても構わない。さらに、可変長符号化も特に行わなくて良い。   In this embodiment, the prediction vector is calculated in units of blocks, but other than that, for example, it may be calculated in units of objects separated from the background of the image. In addition, DCT is cited as an example of frequency transformation. DST (Discrete Sine Transformation), WT (Wavelet Transformation), DFT (Discrete Fourier Transformation), KLT (Karhunen-Loeve) Any transformation may be used as long as it is an orthogonal transformation used for removing the correlation between pixels, such as a transformation (Kalunen-Reeve transformation), and the prediction difference itself may be encoded without any frequency transformation. Furthermore, variable length coding is not particularly required.

なお、実施例1では、対象ロックにおける予測ベクトルの候補値として3種類の周辺ベクトルを利用する例にについて説明したが、特に候補値の数は限定しないものとする。すなわち3種類より多くの周辺ベクトルを候補としても良い。   In the first embodiment, an example in which three types of peripheral vectors are used as the candidate values of the prediction vector in the target lock has been described. However, the number of candidate values is not particularly limited. That is, more than three types of peripheral vectors may be candidates.

以上説明した本発明の実施例1に係る動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法によれば、動きベクトルの符号量を減少して圧縮効率を向上した動画像符号化方法および動画像復号化方法を実現することが可能となる。   According to the moving picture coding apparatus, the moving picture coding method, the moving picture decoding apparatus, and the moving picture decoding method according to the first embodiment of the present invention described above, the code amount of the motion vector is reduced and the compression efficiency is improved. An improved moving picture encoding method and moving picture decoding method can be realized.

次に、本発明の実施例2について説明する。   Next, a second embodiment of the present invention will be described.

実施例1では、予測ベクトルの候補となるベクトルの数を3とした。これに対し、実施例2では、より単純な方法として、その数を2とする。   In the first embodiment, the number of vectors serving as prediction vector candidates is three. On the other hand, in the second embodiment, the number is 2 as a simpler method.

実施例2の動画像符号化装置は、図1、図2に示す実施例1の動画像符号化装置において、予測ベクトルPMVの算出方法が異なるのみである。よって、その他の構成、動作の詳細については、既に説明したため、説明を省略する。   The moving picture coding apparatus according to the second embodiment is different from the moving picture coding apparatus according to the first embodiment shown in FIGS. 1 and 2 only in the calculation method of the prediction vector PMV. Therefore, the details of other configurations and operations have already been described, and thus the description thereof is omitted.

また、実施例2の動画像復号化装置は、図3、図4に示す実施例1の動画像復号化装置において、予測ベクトルPMVの算出方法が異なるのみである。よって、その他の構成、動作の詳細については、既に説明したため、説明を省略する。   Further, the moving picture decoding apparatus according to the second embodiment is different from the moving picture decoding apparatus according to the first embodiment shown in FIGS. 3 and 4 only in the calculation method of the prediction vector PMV. Therefore, the details of other configurations and operations have already been described, and thus the description thereof is omitted.

また、実施例2の動画像符号化方法は、図16に示す実施例1の動画像符号化方法において、差分ベクトルDMVの算出方法が異なるのみである。よって、その他の処理の詳細については、既に説明したため、説明を省略する。   Further, the moving picture coding method of the second embodiment is different from the moving picture coding method of the first embodiment shown in FIG. 16 only in the calculation method of the difference vector DMV. Therefore, the details of the other processes have already been described, and thus the description thereof is omitted.

また、実施例2の動画像復号化方法は、図18に示す実施例1の動画像復号化方法において、動きベクトルMVの算出方法が異なるのみである。よって、その他の処理の詳細については、既に説明したため、説明を省略する。   Further, the moving picture decoding method according to the second embodiment is different from the moving picture decoding method according to the first embodiment shown in FIG. 18 only in the calculation method of the motion vector MV. Therefore, the details of the other processes have already been described, and thus the description thereof is omitted.

以下、図15を用いて、実施例2における予測ベクトルPMVの算出方法について説明する。図15は、本実施例による予測ベクトルPMVの算出方法の一例について概念的に示している。ここでは、予測ベクトルの候補となるベクトルを、対象ブロックの左側、上側にそれぞれ隣接するブロックA、ブロックBの2種類とする。このとき、各ブロックにおける動きベクトルをMVA、MVBとする。ただし、予測ベクトルを算出する際に、例えば対象ブロックの右上に隣接するブロックC(動きベクトルMVC)など、その他のブロックを利用しても良い。   Hereinafter, the calculation method of the prediction vector PMV in the second embodiment will be described with reference to FIG. FIG. 15 conceptually shows an example of a method for calculating the prediction vector PMV according to this embodiment. Here, two types of vectors, which are candidates for prediction vectors, are block A and block B adjacent to the left and upper sides of the target block, respectively. At this time, the motion vectors in each block are MVA and MVB. However, when calculating the prediction vector, other blocks such as a block C (motion vector MVC) adjacent to the upper right of the target block may be used.

まず、動きベクトルMVA、MVBのx、y各成分についてそれぞれ比較を行い、その差が閾値Thre1以下であれば、どちらの値が選ばれても差分ベクトルの大きさに大差はないとみなし、H.264/AVC規格と同様にMVA、MVB、MVcの中央値を予測ベクトルPMVとして選択する(1501)。このとき、付加ビットは発生することはない。この場合、特に中央値でなくても、例えば平均値、最大値、最小値など、どのような計算方法でも良いし、例えば対象ブロックの右上に隣接するブロックや、時間的に1つ前のフレーム中の対象ブロックと同じ位置にあるブロックなど、ブロックA、ブロックB、ブロックC以外のブロックにおける動きベクトルを利用しても良い。   First, the x and y components of the motion vectors MVA and MVB are compared, and if the difference is less than or equal to the threshold Thre1, it is considered that there is no great difference in the magnitude of the difference vector regardless of which value is selected. Similarly to the .264 / AVC standard, the median value of MVA, MVB, and MVc is selected as the prediction vector PMV (1501). At this time, no additional bits are generated. In this case, any calculation method such as an average value, a maximum value, and a minimum value may be used, for example, even if it is not a median value. You may use the motion vector in blocks other than the block A, the block B, and the block C, such as a block at the same position as the target block in the middle.

一方、その差がThred1とThred2の間であれば、予測値の選択肢をMVAとMVBの2種類とし、このうち差分ベクトルがより小さくなる方を予測ベクトルPMVとして選択して1ビットの情報を付加する。また、その差がThred2以上であれば、予測値の選択肢をMVA、MVB、(MVA+MVB)/2の3種類とし、これらの中で差分ベクトルが最も小さくなるものを予測ベクトルPMVとして選択して1ビットもしくは2ビットの情報を付加する。   On the other hand, if the difference is between Thred1 and Thred2, there are two types of prediction value choices: MVA and MVB, and the one with the smaller difference vector is selected as the prediction vector PMV and 1-bit information is added. To do. If the difference is equal to or greater than Thred2, the choice of prediction values is MVA, MVB, (MVA + MVB) / 2, and the one with the smallest difference vector is selected as the prediction vector PMV. 1-bit or 2-bit information is added.

実施例2の動画像符号化装置および動画像符号化方法では、画面間予測により算出した動きベクトルMVと上記のように算出した予測ベクトルPMVとの差から差分ベクトルDMVを算出して動画像符号化処理を行う。   In the moving picture coding apparatus and the moving picture coding method according to the second embodiment, the difference vector DMV is calculated from the difference between the motion vector MV calculated by inter-frame prediction and the predicted vector PMV calculated as described above, and the moving picture code is set. Process.

実施例2の動画像復号化装置および動画像復号化方法では、算出した予測ベクトルPMVに符号化ストリームから復号した差分ベクトルDMVを加算して動きベクトルMV算出して画面間予測処理を行い動画像復号化処理を行う。   In the moving picture decoding apparatus and the moving picture decoding method according to the second embodiment, the motion vector MV is calculated by adding the difference vector DMV decoded from the encoded stream to the calculated prediction vector PMV to calculate the motion vector MV and performing the inter-screen prediction process. Decryption processing is performed.

本実施例では、予測ベクトルの算出をブロック単位で行っているが、それ以外にも例えば画像の背景から分離したオブジェクト単位で算出しても良い。また、周波数変換の一例としてDCTを挙げているが、DST(Discrete Sine Transformation:離散サイン変換)、WT(Wavelet Transformation:ウェーブレット変換)、DFT(Discrete Fourier Transformation:離散フーリエ変換)、KLT(Karhunen-Loeve Transformation:カルーネン-レーブ変換)など、画素間相関除去に利用する直交変換ならどのようなものでも構わないし、特に周波数変換を施さずに予測差分そのものに対して符号化を行っても構わない。さらに、可変長符号化も特に行わなくて良い。   In this embodiment, the prediction vector is calculated in units of blocks, but other than that, for example, it may be calculated in units of objects separated from the background of the image. In addition, DCT is cited as an example of frequency transformation. DST (Discrete Sine Transformation), WT (Wavelet Transformation), DFT (Discrete Fourier Transformation), KLT (Karhunen-Loeve) Any transformation may be used as long as it is an orthogonal transformation used for removing the correlation between pixels, such as a transformation (Kalunen-Reeve transformation), and the prediction difference itself may be encoded without any frequency transformation. Furthermore, variable length coding is not particularly required.

以上説明した本発明の実施例2に係る動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法によれば、実施例1の効果に加えて、より処理を単純化して処理量を低減することが可能となる。   According to the moving picture encoding apparatus, moving picture encoding method, moving picture decoding apparatus, and moving picture decoding method according to the second embodiment of the present invention described above, in addition to the effects of the first embodiment, more processing is performed. It is possible to simplify and reduce the processing amount.

本発明の実施例1に係る動画像符号化装置のブロック図。1 is a block diagram of a video encoding apparatus according to Embodiment 1 of the present invention. 本発明の実施例1に係る動画像復号化装置のブロック図。1 is a block diagram of a moving picture decoding apparatus according to Embodiment 1 of the present invention. 本発明の実施例1に係る動画像符号化装置のブロック図。1 is a block diagram of a video encoding apparatus according to Embodiment 1 of the present invention. 本発明の実施例1に係る動画像符号化装置のブロック図。1 is a block diagram of a video encoding apparatus according to Embodiment 1 of the present invention. H.264/AVC規格で用いる画面間予測の概念的な説明図。A conceptual explanatory diagram of inter-screen prediction used in the H.264 / AVC standard. H.264/AVC規格で用いる動きベクトルの予測技術に関する概念的な説明図。The conceptual explanatory drawing regarding the prediction technique of the motion vector used by the H.264 / AVC standard. 本発明の実施例1に係る動きベクトルの予測技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例1に係る動きベクトルの予測技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例1に係る動きベクトルの予測技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例1に係る動きベクトルの予測技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例1に係る符号表切り替え技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例1に係る符号表切り替え技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例1に係る符号表切り替え技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例1に係る符号表切り替え技術に関する概念的な説明図。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 本発明の実施例2に係る動きベクトルの予測技術に関する概念的な説明図。The conceptual explanatory drawing regarding the prediction technique of the motion vector which concerns on Example 2 of this invention. 本発明の実施例1に係る動画像符号化方法の流れ図。1 is a flowchart of a video encoding method according to Embodiment 1 of the present invention. 本発明の実施例1に係る動画像復号化方法の流れ図。1 is a flowchart of a video decoding method according to Embodiment 1 of the present invention. 本発明の実施例1に係る動画像符号化方法の流れ図。1 is a flowchart of a video encoding method according to Embodiment 1 of the present invention. 本発明の実施例1に係る動画像復号化方法の流れ図。1 is a flowchart of a video decoding method according to Embodiment 1 of the present invention.

101〜115…本発明による動画像符号化装置の各構成部、201〜208…本発明による動画像符号化装置の各構成部、301〜308…本発明による動画像復号化装置の各構成部、401〜405…本発明による動画像復号化装置の各構成部。   101-115 ... each component of the moving image encoder according to the present invention, 201-208 ... each component of the moving image encoder according to the present invention, 301-308 ... each component of the moving image decoder according to the present invention , 401 to 405... Each component of the moving picture decoding apparatus according to the present invention.

Claims (1)

予測ベクトル算出ステップと、
前記予測ベクトル算出ステップにおいて算出した予測ベクトルと符号化ストリームから復号した差分ベクトルを加算して、動きベクトルを算出する動きベクトル算出ステップと、
前記動きベクトル算出ステップにおいて算出した動きベクトルを用いて画面間予測処理を行う画面間予測処理ステップと、
前記符号化ストリームに含まれる符号化データに対して逆周波数変換を用いない復号処理を行って取得した予測差分と、前記画面間予測処理ステップの画面間予測処理で生成した予測画像と合成して復号画像を生成する復号画像生成ステップと、を備え、
前記予測ベクトル算出ステップにおける処理には、
符号化ストリームから、付加ビットである選択情報を取り出す第1の処理と、
復号化対象ブロックよりも先に復号化された複数の候補ブロックの動きベクトルの値において、複数の動きベクトルの値が同一である場合には、該複数の動きベクトルの値のうち1つの値を選択する第2の処理と、
前記第2の処理で選択された動きベクトルの値と、前記複数の候補ブロックが有する複数の動きベクトルの値における前記第2の処理で選択された動きベクトルの値以外の動きベクトルの値と、を含む複数の動きベクトルの値のうち、一の動きベクトルの値を選択するための前記選択情報に基づいて予測ベクトルを選択する第3の処理と、を備え、
前記候補ブロックは、前記復号化対象ブロックと同じフレームにある周辺ブロックと前記復号化対象ブロックと異なるフレームにあるブロックとを含み、
前記第2の処理の前の前記複数の候補ブロックの動きベクトルの数が3つであって、前記第2の処理における選択処理によって一つの動きベクトルの値を候補から外した場合、前記第3の処理で前記選択情報を用いて一の動きベクトルを選択するときに候補となる複数の動きベクトルの数は2つのみとなり、その後の前記第3の処理においては、前記複数の動きベクトルの値から選択する前記一の動きベクトルの値は、差分ベクトルにかかわらず前記2つの動きベクトル候補から前記選択情報によって決定されることを特徴とする動画像復号化方法。
A prediction vector calculation step;
A motion vector calculation step of calculating a motion vector by adding the prediction vector calculated in the prediction vector calculation step and the difference vector decoded from the encoded stream;
An inter-screen prediction processing step for performing an inter-screen prediction process using the motion vector calculated in the motion vector calculation step;
A prediction difference obtained by performing a decoding process that does not use inverse frequency transform on the encoded data included in the encoded stream and a prediction image generated in the inter-screen prediction process of the inter-screen prediction processing step are combined. A decoded image generation step for generating a decoded image,
The processing in the prediction vector calculation step includes
A first process for extracting selection information as additional bits from the encoded stream;
When the motion vector values of a plurality of candidate blocks decoded prior to the decoding target block are the same, the value of one of the plurality of motion vector values is A second process to select;
A value of a motion vector other than the value of the motion vector selected in the second process in the value of the motion vector selected in the second process and the value of the plurality of motion vectors included in the plurality of candidate blocks; And a third process of selecting a prediction vector based on the selection information for selecting a value of one motion vector among a plurality of motion vector values including:
The candidate block includes a peripheral block in the same frame as the decoding target block and a block in a different frame from the decoding target block;
When the number of motion vectors of the plurality of candidate blocks before the second processing is three and the value of one motion vector is excluded from the candidates by the selection processing in the second processing, the third The number of motion vectors that are candidates when one motion vector is selected using the selection information in the process of No. 2 is only two, and in the subsequent third process, the values of the plurality of motion vectors are The moving picture decoding method according to claim 1, wherein the value of the one motion vector selected from is determined by the selection information from the two motion vector candidates regardless of a difference vector.
JP2015249142A 2015-12-22 2015-12-22 Video decoding method Active JP5890933B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015249142A JP5890933B1 (en) 2015-12-22 2015-12-22 Video decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015249142A JP5890933B1 (en) 2015-12-22 2015-12-22 Video decoding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015150257A Division JP5864023B2 (en) 2015-07-30 2015-07-30 Calculation method of prediction vector

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016029602A Division JP2016136741A (en) 2016-02-19 2016-02-19 Moving image decoding method

Publications (2)

Publication Number Publication Date
JP5890933B1 JP5890933B1 (en) 2016-03-22
JP2016067045A true JP2016067045A (en) 2016-04-28

Family

ID=55530564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015249142A Active JP5890933B1 (en) 2015-12-22 2015-12-22 Video decoding method

Country Status (1)

Country Link
JP (1) JP5890933B1 (en)

Also Published As

Publication number Publication date
JP5890933B1 (en) 2016-03-22

Similar Documents

Publication Publication Date Title
JP5422168B2 (en) Video encoding method and video decoding method
KR102027721B1 (en) Method and device for encoding a sequence of images and method and device for decoding a sequence of images
US9948944B2 (en) Image coding apparatus and image coding method
US20130336387A1 (en) Video encoding device, video encoding method and video encoding program
JP5788952B2 (en) Video decoding method
JP5890933B1 (en) Video decoding method
JP5887020B1 (en) Video decoding method
JP2015111774A (en) Video coding device and video coding program
JP5864023B2 (en) Calculation method of prediction vector
JP5864022B2 (en) Video decoding method
KR101841352B1 (en) Reference frame selection method and apparatus
JP2016136741A (en) Moving image decoding method
JP6549516B2 (en) Video coding apparatus, video coding method and video coding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151222

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20151222

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160120

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: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160219

R150 Certificate of patent or registration of utility model

Ref document number: 5890933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250