JP2011229190A - Motion image coding apparatus and motion image decoding apparatus - Google Patents
Motion image coding apparatus and motion image decoding apparatus Download PDFInfo
- Publication number
- JP2011229190A JP2011229190A JP2011178191A JP2011178191A JP2011229190A JP 2011229190 A JP2011229190 A JP 2011229190A JP 2011178191 A JP2011178191 A JP 2011178191A JP 2011178191 A JP2011178191 A JP 2011178191A JP 2011229190 A JP2011229190 A JP 2011229190A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- difference
- prediction
- unit
- difference vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、動画像符号化装置及び動画像復号装置、より詳細には、動き補償予測処理で使用する動きベクトルの符号化および復号を行う動画像符号化装置及び動画像復号装置に関する。 The present invention relates to a moving image encoding device and a moving image decoding device, and more particularly to a moving image encoding device and a moving image decoding device that perform encoding and decoding of a motion vector used in motion compensation prediction processing.
動き補償予測方式は、動画像符号化装置および動画像復号装置において符号化効率を高めるための技術の1つである。これは時間的に近傍にあるピクチャ間の相関を利用し、符号化対象ピクチャの符号化対象ブロック(以下、符号化ブロック)と、既に符号化された参照ピクチャ中で符号化ブロックに対応する位置にあるブロック(以下、予測ブロック)との差分値(以下、予測誤差データ)を符号化することにより、情報量を削減する技術である。この時予測ブロックを特定するために、符号化ブロックと予測ブロックとの相対位置を動きベクトルで表し、符号化する。 The motion compensated prediction method is one of the techniques for increasing the encoding efficiency in the moving image encoding device and the moving image decoding device. This uses the correlation between pictures that are temporally neighboring, and the position corresponding to the coding block in the reference picture that has already been coded and the coding target block (hereinafter referred to as the coding block) of the picture to be coded. This is a technique for reducing the amount of information by encoding a difference value (hereinafter, prediction error data) with a block (hereinafter, prediction block). At this time, in order to specify the prediction block, the relative position between the encoding block and the prediction block is represented by a motion vector and encoded.
一方、動画像復号装置側では符号化された動きベクトルと予測誤差データを復号し、動きベクトルを用いて既に復号された参照ピクチャの中から予測ブロックを計算し、これに予測誤差データを加算することで復号ブロックを得る。 On the other hand, the moving picture decoding apparatus decodes the encoded motion vector and prediction error data, calculates a prediction block from reference pictures that have already been decoded using the motion vector, and adds the prediction error data to this. Thus, a decoded block is obtained.
前述の動きベクトルは、予測誤差データの符号量を最小にするために、より高い精度で広範囲にわたって検索し、予測誤差データの符号量を最小とするものを選択するのが理想である。一方で、このようにすると動きベクトルの符号量が増加する場合があり、予測誤差データの符号量が削減されても、必ずしも全体の符号量が小さくなるとは限らない。 In order to minimize the code amount of the prediction error data, it is ideal to search the motion vector over a wide range with higher accuracy and select the one that minimizes the code amount of the prediction error data. On the other hand, in this case, the code amount of the motion vector may increase, and even if the code amount of the prediction error data is reduced, the entire code amount is not necessarily reduced.
これに対して、特許文献1には、動き量が小さい場合は精度が高く、動き量が大きくなると精度が低下する人間の視覚特性を利用して、動きベクトルの密度を動きベクトルの絶対値によって変える方法が記載されている。この方法によれば、動きベクトルの絶対値が小さい領域では動きベクトルを密に設定(精度を細かくする)し、絶対値が大きい領域では動きベクトルを疎に設定(精度を粗くする)することで、視覚的な劣化を防ぎながら符号量を小さくしている。例えば、動きベクトルの絶対値が水平・垂直方向に3画素以内であれば、精度を1画素単位として間隔を密に設定し、それより動きベクトルの絶対値が大きい場合は、精度を2画素単位として間隔を疎に設定する。
On the other hand,
ところでピクチャ内の空間方向の相関性から、近傍ブロックの動きベクトルは互いに似た値をとることが多い。そこで動きベクトルの符号化は、動きベクトルの水平方向成分mvx、垂直方向成分mvyを直接符号化するのではなく、近傍ブロックの動きベクトルから計算した予測ベクトルとの差分ベクトルを符号化する方法が効率よく、一般的である。特許文献2では、図23に示すように、符号化ブロックの動きベクトルを(mvx,mvy)、符号化ブロックの左、上、右上に位置する近傍ブロックの既に符号化された動きベクトルを(mv1x,mv1y)、(mv2x,mv2y)、(mv3x,mv3y)とし、下式で求めた差分ベクトルに対して符号化を行う。
pmvx = median( mv1x, mv2x, mv3x )
pmvy = median( mv1y, mv2y, mv3y )
dmvx = mvx - pmvx
dmvy = mvy - pmvy
ここでmedian(A,B,C)はA、B、Cのメジアンを表し、3近傍ブロックの動きベクトルのメジアンを予測ベクトルpmvとして用いる。
By the way, due to the correlation in the spatial direction in a picture, the motion vectors of neighboring blocks often take values similar to each other. Therefore, for the coding of motion vectors, it is efficient to encode the difference vector from the prediction vector calculated from the motion vectors of neighboring blocks, instead of directly coding the horizontal component mvx and vertical component mvy of the motion vector. Well, general. In
pmvx = median (mv1x, mv2x, mv3x)
pmvy = median (mv1y, mv2y, mv3y)
dmvx = mvx-pmvx
dmvy = mvy-pmvy
Here, median (A, B, C) represents the median of A, B, and C, and the median of the motion vectors of the three neighboring blocks is used as the prediction vector pmv.
上記差分ベクトル(dmvx,dmvy)は可変長符号表を用いて符号化される。この時、動きが一様なシーンと乱雑なシーンとでは予測ベクトルの精度が変わるため、2種類の可変長符号表を切替えて符号化する。すなわち、下記2つの条件の少なくとも一方が満たされた時は、近傍ブロックの動きが乱雑であるとみなし、そうでなければ近傍ブロックの動きが一様であるとみなす。
(条件1) abs(mv1x-mv2x) > TH1 かつ
abs(mv1x-mv3x) > TH1 かつ
abs(mv2x-mv3x) > TH1
(条件2) abs(mv1y-mv2y) > TH1 かつ
abs(mv1y-mv3y) > TH1 かつ
abs(mv2y-mv3y) > TH1
ここでTH1は予め定められた閾値である。
The difference vector (dmvx, dmvy) is encoded using a variable length code table. At this time, since the accuracy of the prediction vector changes between a uniform motion scene and a messy scene, the two variable length code tables are switched and encoded. That is, when at least one of the following two conditions is satisfied, the movement of the neighboring block is regarded as messy, and otherwise, the movement of the neighboring block is regarded as uniform.
(Condition 1) abs (mv1x-mv2x)> TH1 and
abs (mv1x-mv3x)> TH1 and
abs (mv2x-mv3x)> TH1
(Condition 2) abs (mv1y-mv2y)> TH1
abs (mv1y-mv3y)> TH1 and
abs (mv2y-mv3y)> TH1
Here, TH1 is a predetermined threshold value.
近傍ブロックの動きが一様な場合は、予測ベクトルの精度が高く差分ベクトルの絶対値が小さい場合が多いので、差分ベクトルの絶対値が小さい場合に符号量が小さく、大きい場合に符号量が大きくなるように割当てられた可変長符号表を用いる。近傍ブロックの動きが乱雑な場合は、予測ベクトルの精度が低く差分ベクトルの絶対値が大きくなる可能性が高いので、差分ベクトルの大小に対して、上記可変長符号表よりも符号量の差の小さい別の可変長符号表を用いる。この方法により、符号化結果の平均符号量を削減することができる。 When the motion of neighboring blocks is uniform, the accuracy of the prediction vector is high and the absolute value of the difference vector is often small. Therefore, the code amount is small when the absolute value of the difference vector is small, and the code amount is large when the difference vector is large. A variable-length code table assigned as described above is used. If the motion of neighboring blocks is messy, the accuracy of the prediction vector is low and the absolute value of the difference vector is likely to be large. Use another small variable-length code table. By this method, the average code amount of the encoding result can be reduced.
しかしながら、上記特許文献1に記載の技術の場合、符号化ブロックの動きベクトルを直接符号化するため、差分ベクトルを符号化する場合に比べて符号化効率が低いという問題がある。
また特許文献2に記載の技術の場合、符号化ブロックの近傍ブロックの動きベクトルが一様か否かで、予測ベクトルの精度を推定し、可変長符号表を切り替えることで差分ベクトルの符号化効率を高める。
しかしながら、近傍ブロックの動きベクトルの乱雑さを指標とするため、各動きベクトルの絶対値は小さくても方向がばらばらであれば、前述の条件1および2を満たすことがある。また動きベクトルの精度はどちらの可変長符号表を用いても同じ(0.5画素精度)であるため、動きベクトルの大きさに応じて精度を変更しておらず、視覚特性を利用した符号量削減は行っていない。
However, in the case of the technique described in
In the case of the technique described in
However, since the randomness of the motion vectors of neighboring blocks is used as an index, the above-described
本発明は、上述の問題を解決するためになされたもので、符号化ブロックの動きベクトルとその予測ベクトルとの差分ベクトルの符号化において、視覚特性を利用することにより画質劣化を防ぎつつ、符号量削減を実現できる動画像符号化装置及び動画像復号装置を提供することを目的とする。 The present invention has been made in order to solve the above-described problem. In encoding a difference vector between a motion vector of a coding block and a prediction vector thereof, the coding is performed while preventing deterioration in image quality by using visual characteristics. It is an object of the present invention to provide a moving image encoding device and a moving image decoding device that can realize the amount reduction.
上記課題を解決するために、本発明の第1の技術手段は、動画像の各ピクチャを分割したブロック単位で動きベクトルを検出して符号化する動画像符号化装置であって、符号化対象ブロックの近傍ブロックの動きベクトルから予測ベクトルを計算する予測ベクトル計算手段と、前記動きベクトルと前記予測ベクトルから差分ベクトルを計算する差分計算手段と、該差分ベクトルの精度を変更するベクトル精度変更手段と、該精度を変更した差分ベクトルを可変長符号化する可変長符号化手段とを備え、前記ベクトル精度変更手段は、前記差分ベクトルの値と予め定められた閾値とを比較し、前記差分ベクトルの値が前記予め定められた閾値以下の場合、前記差分ベクトルの精度を細かくし、また、前記差分ベクトルの値が前記予め定められた閾値より大きい場合、前記差分ベクトルの精度を粗くするように変更し、前記可変長符号化手段は、前記ベクトル精度変更手段により精度を変更した差分ベクトルを符号化するための可変長符号表を備えたことを特徴としたものである。 In order to solve the above-described problem, a first technical means of the present invention is a moving image encoding apparatus that detects and encodes a motion vector in units of blocks obtained by dividing each picture of a moving image. Prediction vector calculation means for calculating a prediction vector from motion vectors of neighboring blocks of the block; difference calculation means for calculating a difference vector from the motion vector and the prediction vector; and vector accuracy change means for changing the precision of the difference vector; Variable-length coding means for variable-length coding the difference vector whose accuracy has been changed, wherein the vector precision changing means compares the value of the difference vector with a predetermined threshold value, If the value is less than or equal to the predetermined threshold, the accuracy of the difference vector is made fine, and the value of the difference vector is the predetermined value. If the value is larger than the value, the accuracy of the difference vector is changed so as to be coarse, and the variable length encoding unit includes a variable length code table for encoding the difference vector whose accuracy is changed by the vector accuracy changing unit. It is characterized by that.
第2の技術手段は、動画像の各ピクチャを分割したブロック単位で動きベクトルを復号する動画像復号装置であって、可変長符号化され且つ精度が変更された差分ベクトルを復号する可変長復号手段と、復号対象ブロックの近傍ブロックの動きベクトルから予測ベクトルを計算する予測ベクトル計算手段と、前記差分ベクトルと前記予測ベクトルから前記復号対象ブロックの動きベクトルを計算する動きベクトル計算手段とを備え、前記可変長符号化され且つ精度が変更された差分ベクトルは、該差分ベクトルの値と予め定められた閾値とを比較し、前記差分ベクトルの値が前記予め定められた閾値以下の場合、前記差分ベクトルの精度を細かくし、また、前記差分ベクトルの値が前記予め定められた閾値より大きい場合、前記差分ベクトルの精度を粗くするように変更されたものであり、前記可変長復号手段は、前記可変長符号化され且つ精度が変更された差分ベクトルを復号するための可変長符号表を備えたことを特徴としたものである。 A second technical means is a moving picture decoding apparatus that decodes a motion vector in units of blocks obtained by dividing each picture of a moving picture, and variable length decoding that decodes a difference vector that has been variable length coded and whose accuracy has been changed. Means, a prediction vector calculation means for calculating a prediction vector from a motion vector of a neighboring block of the block to be decoded, and a motion vector calculation means for calculating a motion vector of the block to be decoded from the difference vector and the prediction vector, The variable-length-encoded difference vector whose precision has been changed compares the value of the difference vector with a predetermined threshold, and when the value of the difference vector is less than or equal to the predetermined threshold, the difference If the precision of the vector is fine and the value of the difference vector is greater than the predetermined threshold, the difference vector The variable-length decoding means is provided with a variable-length code table for decoding the variable-length-encoded difference vector whose accuracy has been changed. It is a thing.
本発明によれば、動きベクトルの符号化・復号において、予測ベクトルの大きさ、あるいは動きベクトルと予測ベクトルとの差分ベクトルの大きさに基づいて差分ベクトルの精度を変更することで、視覚特性を利用して画質劣化を抑えつつも、効率のよい符号化・復号が可能となる。
また本発明によれば、動きベクトルを複数段階に分けて符号化・復号することで、動きベクトルの精度の変更をより正確に行うことができる。
さらに本発明によれば、動きベクトルと差分ベクトルの符号化に必要な符号量に基づいて符号化対象を切り替えることで、効率のよい符号化・復号が可能となる。
According to the present invention, in motion vector encoding / decoding, the visual characteristics can be improved by changing the accuracy of the difference vector based on the size of the prediction vector or the difference vector between the motion vector and the prediction vector. Efficient encoding / decoding can be performed while suppressing deterioration in image quality by using it.
According to the present invention, the motion vector can be more accurately changed by encoding and decoding the motion vector in a plurality of stages.
Furthermore, according to the present invention, it is possible to perform efficient encoding / decoding by switching the encoding target based on the code amount necessary for encoding the motion vector and the difference vector.
(実施例1)
図1は、本発明の実施例1に係る動画像符号化装置の構成例を示すブロック図で、図中、10は動画像符号化装置を示す。図中、動画像符号化装置10は、入力画像とピクチャ内あるいはピクチャ間予測画像(予測ブロック)との差分値(予測誤差データ)を計算する予測誤差計算部11と、予測誤差データを直交変換する直交変換部12と、予測誤差データの直交変換係数を量子化する量子化部13と、量子化係数,差分ベクトル等の符号化に必要な情報を可変長符号化する可変長符号化部14と、量子化係数を逆量子化する逆量子化部15と、逆量子化された直交変換係数を逆直交変換する逆直交変換部16と、逆直交変換された予測誤差データとピクチャ内あるいはピクチャ間予測ブロックとを加算する加算部17と、加算部17から出力される復号画像を格納するフレームメモリ18と、ピクチャ間予測ブロックを作成する動き補償部19と、ピクチャ内予測ブロックを作成するピクチャ内予測部20と、符号化ブロックに対応する参照ピクチャ内の予測ブロックを探索し、両者の位置関係を動きベクトルとして計算する動き検出部21と、動き補償部19あるいはピクチャ内予測部20で求めた予測ブロックのうち一方を選択する予測モード選択部22と、動きベクトルから差分ベクトルを計算する差分ベクトル計算部23とで構成される。
Example 1
FIG. 1 is a block diagram illustrating a configuration example of a moving picture encoding apparatus according to the first embodiment of the present invention. In the figure,
次に、差分ベクトル計算部23について、図2に一例を示しながら説明する。図中、差分ベクトル計算部23は、予測ベクトルを計算する予測ベクトル計算部231と、符号化ブロックの動きベクトルと予測ベクトルとから差分ベクトルを計算する差分計算部232と、視覚特性に応じて差分ベクトルの精度を変更するベクトル精度変更部233とを備える。予測ベクトル計算部231は、前述の図23に示したように、符号化ブロックの3近傍ブロック1,2,3の動きベクトルを各々mv1=(mv1x,mv1y),mv2=(mv2x,mv2y),mv3=(mv3x,mv3y)とすると、符号化ブロックの予測ベクトルpmv=(pmvx,pmvy)は下式で計算される。
pmvx = median( mv1x, mv2x, mv3x ) …式(1)
pmvy = median( mv1y, mv2y, mv3y ) …式(2)
Next, the difference
pmvx = median (mv1x, mv2x, mv3x)… Formula (1)
pmvy = median (mv1y, mv2y, mv3y)… Formula (2)
なお上記は予測ベクトルの計算方法の1つであり、これ以外にも参照ピクチャ内の符号化ブロックに対応する位置にあるブロックの動きベクトルを予測ベクトルとする方法や、符号化ブロックの上あるいは左のブロック、あるいはその平均値を予測ベクトルとする方法など様々な方法がある。差分計算部232は、符号化ブロックの動きベクトルmv=(mvx,mvy)と上記で求めた予測ベクトルpmvから差分ベクトルdmv=(dmvx,dmvy)を下記式により計算する。
dmvx = mvx - pmvx …式(3)
dmvy = mvy - pmvy …式(4)
Note that the above is one of the prediction vector calculation methods. Besides this, a method of using a motion vector of a block at a position corresponding to an encoded block in a reference picture as a predicted vector, or an upper or left side of an encoded block. There are various methods such as a method of using a block or an average value thereof as a prediction vector. The
dmvx = mvx-pmvx (3)
dmvy = mvy-pmvy (4)
すなわち、実施例1に係る動画像符号化装置10は、符号化対象ブロックの近傍ブロックの動きベクトルmv1,mv2,mv3から予測ベクトルpmvを計算する予測ベクトル計算部231と、動きベクトルmvと予測ベクトルpmvから差分ベクトルdmvを計算する差分計算部232と、差分ベクトルdmvの精度を変更するベクトル精度変更部233と、精度を変更した差分ベクトルdmvを可変長符号化する可変長符号化部14とを備える。ベクトル精度変更部233は、予め定められた指標(差分ベクトルあるいは予測ベクトル)の値と閾値THAとを比較し、その大小関係に基づいて差分ベクトルdmvの精度を変更する。可変長符号化部14は、ベクトル精度変更部233により精度を変更した差分ベクトルdmvを符号化するための可変長符号表(後述の図4参照)を備える。
That is, the moving
ベクトル精度変更部233の処理の一例を図3に、差分ベクトルに割当てられる符号と、精度を変更した差分ベクトル値dmvoutを図4に示す。ここで図3および図4では、差分ベクトルのプラス側のみ示すが、マイナス側についても同様のことが成り立つ。またdmvin、dmvoutは、水平方向成分あるいは垂直方向成分の差分ベクトルの入力と出力を表す。図3の横軸はベクトル精度変更部233への入力である差分ベクトルdmvin、縦軸は精度を変更した差分ベクトルdmvoutである。
図3(A)は従来技術と等価な処理の場合であり、差分ベクトルの入力値dmvinと出力値dmvoutは同じである。これに対応する可変長符号と差分ベクトルの値を、図4の符号と“従来技術dmvout”の列に示す。
図3(B)は本発明の処理の一例を表し、図5に示す精度変更処理を施したときの差分ベクトルの入力値dmvinと出力値dmvoutの関係を示す。なお図5において、floor(x)は、xを超えない最大の整数を表す。
An example of processing of the vector
FIG. 3A shows a case equivalent to the prior art, and the difference vector input value dmvin and output value dmvout are the same. Corresponding variable length codes and difference vector values are shown in the code of FIG. 4 and the column “prior art dmvout”.
FIG. 3B shows an example of the process of the present invention, and shows the relationship between the input value dmvin and the output value dmvout of the difference vector when the accuracy changing process shown in FIG. 5 is performed. In FIG. 5, floor (x) represents the maximum integer that does not exceed x.
図3(B)は、図5においてTHA1=2、THA2=5、THA3=11を設定した場合の例を示したものである。図4において、“本発明1dmvout”と符号の列に、それぞれ図3(B)の方法で精度を変更した差分ベクトルdmvoutとそれに対応する符号を示す。例えば、“本発明1dmvout”ではdmvin = 2.5〜3,5.5〜7,11.5〜15に各々dmvoutの3,7,15が対応するように、差分ベクトルの精度は絶対値が大きくなるにつれて粗くなる。
FIG. 3B shows an example in which THA1 = 2, THA2 = 5, and THA3 = 11 are set in FIG. In FIG. 4, “difference vector dmvout” and the code corresponding to the difference vector dmvout whose accuracy has been changed by the method of FIG. For example, in the “
また図4の“本発明2dmvout”の列に、図5および図3(B)とは異なる別の差分ベクトルdmvoutの例を示す。“本発明2dmvout”は図6に示す精度変更処理を施した時の、差分ベクトルの入力値dmvinと出力値dmvoutの関係を示す。
In the column of “present invention 2dmvout” in FIG. 4, another example of the difference vector dmvout different from those in FIGS. 5 and 3B is shown. “
図5に従って精度を変更した差分ベクトルdmvoutは可変長符号化部14で符号化される。この時、可変長符号化方法としては次の2つがある。1つは、ベクトル精度変更部233の出力として、精度を変更した差分ベクトルdmvoutの代わりに、図4のベクトル番号を出力し、可変長符号化部14では従来と同じくベクトル番号に対応する符号を符号化する方法である。もう1つは、ベクトル精度変更部233の出力として、精度を変更した差分ベクトルdmvoutを出力し、可変長符号化部14で対応するベクトル番号に修正して、可変長符号化する方法である。これらは復号側で符号化側に対応した処理を行う限り、どちらの方法を用いても構わない。
The difference vector dmvout whose accuracy has been changed according to FIG. 5 is encoded by the variable
上述の方法を用いることで、例えばdmvin=1.5,4,9という差分ベクトルの符号化では、従来方式では各々5bit,10bit,11bitの符号量が必要であるが、本発明(“本発明1dmvout”の場合)では5bit,8bit,10bitの符号量となり、各々0bit,2bit,1bitの符号量削減が可能となる。 By using the above-described method, for example, encoding of difference vectors of dmvin = 1.5, 4 and 9 requires 5 bit, 10 bit and 11 bit code amounts in the conventional method, respectively. In the case of “1 dmvout”), the code amounts are 5 bits, 8 bits, and 10 bits, and the code amounts can be reduced to 0 bits, 2 bits, and 1 bit, respectively.
なお、差分ベクトル計算部23は、動き補償部19に対し、精度を変更した差分ベクトルdmvoutと予測ベクトルpmvから計算した動きベクトルmv’=pmv+dmvoutを出力する。この時、mv’をそのまま用いて動き補償をする以外に、mv’が整数の場合には、mv’の絶対値より小さい小数精度の動きベクトルとして使用することも可能である。例えばmv’=4の場合、動き補償部19では動きベクトルmv’’=3.5を使用する。このように小数表現された動きベクトルを用いる場合、符号化時に発生する雑音の累積を防止し、予測効率の低下を防ぐことができる。
The difference
ベクトル精度変更部233の別の実施例について、以下に説明する。
図3においては、差分ベクトルの精度を変更する指標を差分ベクトルの入力値dmvinとしたが、これを予測ベクトルpmvとすることも可能である。つまり予測ベクトルpmvの水平方向および垂直方向成分の値をもとに、差分ベクトルdmvoutの精度を変更する。図7に予測ベクトルpmvと精度を変更した差分ベクトルdmvout、および精度の関係の一例を示す。ここでpmvは予測ベクトルpmvの水平方向成分pmvxあるいは垂直方向成分pmvyを表す。
Another embodiment of the vector
In FIG. 3, the index for changing the accuracy of the difference vector is the difference vector input value dmvin, but it is also possible to use this as the prediction vector pmv. That is, the accuracy of the difference vector dmvout is changed based on the values of the horizontal and vertical components of the prediction vector pmv. FIG. 7 shows an example of the relationship between the prediction vector pmv, the difference vector dmvout whose accuracy is changed, and the accuracy. Here, pmv represents the horizontal direction component pmvx or the vertical direction component pmvy of the prediction vector pmv.
図8に精度を変更した差分ベクトルdmvoutとそれに対応する符号の一例を示す。THA1=2、THA2=5、THA3=11の場合、pmv≦2であれば、図8に示す“ケース1のdmvout”を用い、2<pmv≦5であれば、図8に示す“ケース2のdmvout”を用いる。このようにして差分ベクトルの精度をpmvの絶対値が大きくなるにつれて粗くすることもできる。
FIG. 8 shows an example of the difference vector dmvout with the accuracy changed and the corresponding code. When THA1 = 2, THA2 = 5, and THA3 = 11, if pmv ≦ 2, “
以上で説明したように、予測ベクトルあるいは差分ベクトルの大きさを指標として差分ベクトルの精度を変更し、それに対応する可変長符号表を使用することにより、視覚特性を利用した効率のよい符号化が実現できる。 As described above, by using the variable length code table corresponding to the accuracy of the difference vector by changing the accuracy of the difference vector using the size of the prediction vector or the difference vector as an index, efficient coding using visual characteristics can be achieved. realizable.
(実施例2)
本発明の実施例2について以下に説明する。
図9は、本発明の実施例2に係る差分ベクトル計算部23の構成例を示すブロック図である。この差分ベクトル計算部23以外の構成要素は実施例1と同じである。ここで予測ベクトル計算部231、差分計算部232a、およびベクトル精度変更部233aは、図2に示した予測ベクトル計算部231、差分計算部232、およびベクトル精度変更部233と同じものなので、説明を省略する。以降では、ベクトル精度変更部233aは実施例1で説明した方法のうち、予測ベクトルを指標として差分ベクトルの精度を変更する方法(可変長符号表は図8に対応)に基づいて説明する。差分計算部232bでは、ベクトル精度変更部233aで精度を変更した差分ベクトルdmvoutと予測ベクトルpmvから動きベクトルmv’を下記式から復元する。
mv’ = pmv + dmvout …式(5)
(Example 2)
A second embodiment of the present invention will be described below.
FIG. 9 is a block diagram illustrating a configuration example of the difference
mv '= pmv + dmvout ... Formula (5)
この動きベクトルmv’は、予測ベクトルpmvよりも差分ベクトル計算部23に入力された動きベクトルmvに近い値となる。予測ベクトルpmvがTHA1以下の場合は、図8に示すように精度は0.5画素精度のままであるので、以降の処理は行わない。予測ベクトルpmvがTHA1より大きい時は、前述の動きベクトルmv’と差分ベクトル計算部23に入力された動きベクトルmvとの差分ベクトルdmv2を下記式より計算する。
dmv2 = mv - mv’ …式(6)
The motion vector mv ′ is closer to the motion vector mv input to the difference
dmv2 = mv-mv '(6)
このdmv2は、ベクトル精度変更部233aで差分ベクトルの精度を変更したために発生した誤差である。ベクトル精度変更部233bでは動きベクトルmv’を指標としてdmv2の精度を変更する。これは基本的に図7の予測ベクトルpmvを動きベクトルmv’に置き換えたものであり、その一例を図10に示す。dmv2の精度を変更した差分ベクトルをdmv2outとする。動きベクトルmv’を精度変更の指標とすることで、予測ベクトルpmvを用いた場合よりも正しい精度の判定が可能となる。
This dmv2 is an error generated because the accuracy of the difference vector is changed by the vector
ここで、動きベクトルmv’の値がある程度大きい場合(図8のケース4)には、誤差を小さくするために差分ベクトルdmv2をさらに符号化することはしない。このように差分ベクトルを2段階に分けて符号化すると、1段目で動きベクトルの絶対値を大まかに求め、2段目で動きベクトルの絶対値がある程度小さい場合(図8のケース1〜3)には、その絶対値を指標としてさらに精度を上げて差分ベクトルを計算することが可能となる。
Here, when the value of the motion vector mv ′ is large to some extent (
すなわち、実施例2に係る動画像符号化装置10は、本発明の第1の差分計算手段に相当する差分計算部232aと、第2の差分計算手段に相当する差分計算部232bと、第1のベクトル精度変更手段に相当するベクトル精度変更部233aと、第2のベクトル精度変更手段に相当するベクトル精度変更部233bとを備える。差分計算部232aは、符号化対象ブロックの第1の動きベクトルmvと予測ベクトルpmvから第1の差分ベクトルdmvを計算する。ベクトル精度変更部233aは、予め定められた指標(差分ベクトルあるいは予測ベクトル)の値と第1の閾値THAとを比較し、その大小関係に基づいて第1の差分ベクトルdmvの精度を変更する。差分計算部232bは、ベクトル精度変更部233aにより精度を変更した第1の差分ベクトルdmvoutと予測ベクトルpmvを加算して第2の動きベクトルmv’を計算し、第2の動きベクトルmv’と第1の動きベクトルmvから第2の差分ベクトルdmv2を計算する。ベクトル精度変更部233bは、第2の動きベクトルmv’と第2の閾値THBとを比較し、その大小関係に基づいて第2の差分ベクトルdmv2の精度を変更する。可変長符号化部14は、精度を変更した第1の差分ベクトルdmvoutと第2の差分ベクトルdmv2outを符号化するための可変長符号表(後述の図12参照)を備える。
That is, the moving
図11は、差分ベクトル計算部23による処理の一例を説明するためのフロー図である。まず、予測ベクトル計算部231は、予測ベクトルpmvを計算し(ステップS1)、差分計算部232aは、動きベクトルmvから予測ベクトルpmvを減じて差分ベクトルdmvinを求める(ステップS2)。ベクトル精度変更部233aは、abs(pmv)がTHA1以下であるかどうかを判定し(ステップS3)、この条件を満たす場合(YESの場合)、差分ベクトルdmvout(出力)をdmvin(入力)とし(ステップS4)、差分ベクトルを可変長符号化部14へ出力する。また、上記条件を満たさない場合(NOの場合)、ステップS5に移行する。なお、abs(x)はxの絶対値を表す。
FIG. 11 is a flowchart for explaining an example of processing by the difference
次に、ベクトル精度変更部233aは、上記ステップS5において、abs(pmv)がTHA2以下であるかどうかを判定し、この条件を満たす場合(YESの場合)、差分ベクトルdmvoutをfloor(dmvin)とし(ステップS6)、差分ベクトルを可変長符号化部14へ出力すると共に、ステップS10に移行する。また、上記条件を満たさない場合(NOの場合)、ステップS7に移行する。
Next, the vector
次に、ベクトル精度変更部233aは、上記ステップS7において、abs(pmv)がTHA3以下であるかどうかを判定し、この条件を満たす場合(YESの場合)、差分ベクトルdmvoutをfloor(dmvin/2)*2とし(ステップS8)、差分ベクトルを可変長符号化部14へ出力すると共に、ステップS10に移行する。また、上記条件を満たさない場合(NOの場合)、ステップS9に移行する。そして、ベクトル精度変更部233aは、差分ベクトルdmvoutをfloor(dmvin/4)*4とし(ステップS9)、差分ベクトルを可変長符号化部14へ出力すると共に、ステップS10に移行する。
Next, in step S7, the vector
次に、差分計算部232bは、予測ベクトルpmvと差分ベクトルdmvoutとを加算して第2の動きベクトルmv’を求め(ステップS10)、さらに、第1の動きベクトルmvから第2の動きベクトルmv’を減算して第2の差分ベクトルdmv2を求め(ステップS11)、ステップS12に移行する。 Next, the difference calculation unit 232b obtains the second motion vector mv ′ by adding the prediction vector pmv and the difference vector dmvout (step S10), and further calculates the second motion vector mv from the first motion vector mv. 'Is subtracted to obtain a second difference vector dmv2 (step S11), and the process proceeds to step S12.
次に、ベクトル精度変更部233bは、abs(mv’)がTHB1以下であるかどうかを判定し(ステップS12)、この条件を満たす場合(YESの場合)、差分ベクトルdmv2outをdmv2とし(ステップS13)、差分ベクトルを可変長符号化部14へ出力する。また、上記条件を満たさない場合(NOの場合)、ステップS14に移行する。
Next, the vector
次に、ベクトル精度変更部233bは、上記ステップS14において、abs(mv’)がTHB2以下であるかどうかを判定し、この条件を満たす場合(YESの場合)、差分ベクトルdmv2outをfloor(dmv2)とし(ステップS15)、差分ベクトルを可変長符号化部14へ出力する。また、上記条件を満たさない場合(NOの場合)、ステップS16に移行する。
Next, in step S14, the vector
次に、ベクトル精度変更部233aは、上記ステップS16において、abs(pmv)がTHB3以下であるかどうかを判定し、この条件を満たす場合(YESの場合)、差分ベクトルdmv2outをfloor(dmv2/2)*2とし(ステップS17)、差分ベクトルを可変長符号化部14へ出力する。また、上記条件を満たさない場合(NOの場合)、終了する。
Next, in step S16, the vector
図12に、前述の図10の処理を行う場合の、精度を変更した差分ベクトルdmv2outとそれに割当てられる符号とを示す。図13は実施例2において、動きベクトルmv及び予測ベクトルpmvを設定した時の、各動きベクトルの符号化に必要な符号量を示したものである。なお、この例ではTHB1=2、THB2=5、THB3=11とする。 FIG. 12 shows the difference vector dmv2out with the accuracy changed and the code assigned to it when performing the above-described processing of FIG. FIG. 13 shows the amount of code required for encoding each motion vector when the motion vector mv and the prediction vector pmv are set in the second embodiment. In this example, THB1 = 2, THB2 = 5, and THB3 = 11.
図13中の“-”は処理を行わないことを示している。従来方式の符号量は図4の従来技術を使用した時に必要な符号量、本発明の符号量は図8(dmvout)と図12(dmv2out)で必要な符号量の和である。図13から、従来方式の符号量よりも本発明で必要な符号量は削減される傾向にあることがわかる。差分ベクトル計算部23に入力された動きベクトルmvとの誤差は、動きベクトルmvが大きい場合に多く発生し、視覚特性から劣化を感じさせないものとなっている。
“-” In FIG. 13 indicates that no processing is performed. The code amount of the conventional method is the code amount required when using the prior art of FIG. 4, and the code amount of the present invention is the sum of the code amounts required in FIG. 8 (dmvout) and FIG. 12 (dmv2out). From FIG. 13, it can be seen that the code amount required in the present invention tends to be reduced as compared with the code amount of the conventional method. An error from the motion vector mv input to the difference
以上のように、動きベクトルを複数段階に分けて符号化することによって、差分ベクトルの精度変更がより正確に行える。 As described above, the accuracy of the difference vector can be changed more accurately by encoding the motion vector in a plurality of stages.
(実施例3)
図14は、本発明の実施例3に係る動画像符号化装置の構成例を示すブロック図で、図中、30は動画像符号化装置を示す。動画像符号化装置30が備える予測誤差計算部31、直交変換部32、量子化部33、可変長符号化部34、逆量子化部35、逆直交変換部36、加算部37、フレームメモリ38、動き補償部39、ピクチャ内予測部40、動き検出部41、及び予測モード選択部42は、図1に示した予測誤差計算部11、直交変換部12、量子化部13、可変長符号化部14、逆量子化部15、逆直交変換部16、加算部17、フレームメモリ18、動き補償部19、ピクチャ内予測部20、動き検出部21、予測モード選択部22と同じ構成要素であるため、説明は省略する。
(Example 3)
FIG. 14 is a block diagram illustrating a configuration example of a moving picture encoding apparatus according to the third embodiment of the present invention. In the figure,
動画像符号化装置30は、符号化方法選択部を43を備える点が動画像符号化装置10と異なる。符号化方法選択部43は動きベクトルの符号化方法について、動きベクトル自体を符号化するか、差分ベクトルを符号化するかを切り替える。
The moving
次に符号化方法選択部43について、図15に詳細な構成例を示しながら説明する。
図15に示す予測ベクトル計算部431,差分計算部432は、図2に示した予測ベクトル計算部231、差分計算部232と同じ構成であるため、説明を省略する。ベクトル符号化方法判定部433は、予測ベクトル計算部431、差分計算部432で計算した予測ベクトルpmvと差分ベクトルdmvを用いて、可変長符号化部34で動きベクトルmvを符号化するか、差分ベクトルdmvを符号化するかを決定する。
Next, the encoding
The prediction
予測ベクトルpmvがあらかじめ定められた閾値THC以下の場合は、従来技術と同様、差分ベクトルdmvを可変長符号化部34に出力する。そうでない場合は、動きベクトルmvと差分ベクトルdmvを可変長符号化する場合に必要な符号量を各々求める。そして、動きベクトルmvの符号量が差分ベクトルdmvの符号量以下の場合は、フラグflgを“1”にセットし、この1ビットのフラグflgと動きベクトルmvを可変長符号化部34に出力する。そうでない場合は、1ビットのフラグflgを“0”にセットし、このフラグflgと差分ベクトルdmvを可変長符号化部34に出力する。可変長符号化部34では、動きベクトルmvおよび差分ベクトルdmvの可変長符号化は、例えば図4の“従来技術dmvout”と対応する符号を用いて符号化する。
When the prediction vector pmv is equal to or less than a predetermined threshold THC, the difference vector dmv is output to the variable
このようにして、予測ベクトルpmvの絶対値が大きく符号量が大きいと予想される場合は、1ビットのフラグを追加し、動きベクトルmvと差分ベクトルpmvのうち符号量の小さい方を選択して符号化することで、符号量を削減することができる。 In this way, when the absolute value of the prediction vector pmv is large and the code amount is expected to be large, a 1-bit flag is added, and the smaller one of the motion vector mv and the difference vector pmv is selected. Encoding can reduce the amount of codes.
すなわち、実施例3に係る動画像符号化装置30は、動きベクトルmvと差分ベクトルdmvの符号化に必要な符号量を計算するベクトル符号化方法判定部433を備え、このベクトル符号化方法判定部433は、動きベクトルmvと差分ベクトルdmvのいずれを符号化するか選択する本発明の選択手段に相当する。ベクトル符号化方法判定部433は、予測ベクトルpmvと閾値THCとを比較し、予測ベクトルpmvが閾値THC以下の場合には差分ベクトルdmvの符号化を選択し、予測ベクトルpmvが閾値THCより大きい場合には動きベクトルmvの符号量と差分ベクトルdmvの符号量の比較結果に基づいて選択結果を示すフラグを付加する。可変長符号化部34は、ベクトル符号化方法判定部433で選択された差分ベクトルあるいは動きベクトルを可変長符号化する。
That is, the moving
なお本例の場合、ベクトル符号化方法判定部433は、予測ベクトルpmvが閾値THCより大きい場合、動きベクトルmvの符号量が差分ベクトルdmvの符号量以下であれば、動きベクトルmvの符号化を選択し(フラグ=1)、一方、動きベクトルmvの符号量が差分ベクトルdmvの符号量より大きければ、差分ベクトルdmvの符号化を選択する(フラグ=0)。
In the case of this example, the vector encoding
図16は、符号化方法選択部43による処理の一例を説明するためのフロー図である。予測ベクトル計算部431は、予測ベクトルpmvを計算し(ステップS21)、差分計算部432は、差分ベクトルdmvを動きベクトルmvから予測ベクトルpmvを減算して求める(ステップS22)。そして、ベクトル符号化方法判定部433は、abs(pmv)が閾値THC以下であるかどうかを判定し(ステップS23)、そうである場合(YESの場合)、差分ベクトルdmvを可変長符号化部34に出力する。そうでない場合(NOの場合)、動きベクトルmvと差分ベクトルdmvを可変長符号化する場合に必要な符号量を各々求める。そして、ベクトル符号化方法判定部433は、動きベクトルmvの符号量が差分ベクトルdmvの符号量以下であるかどうかを判定し(ステップS24)、そうである場合(YESの場合)、フラグflgを“1”にセットし(ステップS25)、この1ビットのフラグflgと動きベクトルmvを可変長符号化部34に出力する。一方、そうでない場合(NOの場合)、1ビットのフラグflgを“0”にセットし(ステップS26)、このフラグflgと差分ベクトルdmvを可変長符号化部34に出力する。
FIG. 16 is a flowchart for explaining an example of processing by the encoding
図17に閾値THCを15とした場合の、本発明の実施例3の具体例を示す。
図17のB1,B2では、予測ベクトルpmvが閾値THC以下なので、従来技術と同様、差分ベクトルdmvを符号化する。一方、A1,A2では、予測ベクトルpmvが閾値THCより大きいので、各々動きベクトルmvと差分ベクトルdmvの符号量を比較し、1ビットのフラグと符号量の小さいベクトル、A1では動きベクトルmv、A2では差分ベクトルdmvを可変長符号化部34に出力する。
FIG. 17 shows a specific example of the third embodiment of the present invention when the threshold value THC is 15.
In B1 and B2 of FIG. 17, since the prediction vector pmv is equal to or less than the threshold value THC, the difference vector dmv is encoded as in the conventional technique. On the other hand, in A1 and A2, since the prediction vector pmv is larger than the threshold THC, the code amounts of the motion vector mv and the difference vector dmv are respectively compared, and a 1-bit flag and a vector with a small code amount are used. Then, the difference vector dmv is output to the variable
この方法が有効な場合は、近傍ブロックの動きが大きく、符号化ブロックの動きが小さい場合である。物体の境界部のような特殊な部分に多いため、予測ベクトルpmvが閾値THCより大きい全てのブロックに1ビットのフラグを付加する方法以外にも、動きベクトルmvを符号化するブロックの位置情報をあらかじめ別途符号化する方法によって、さらに符号化効率を高めることが可能である。
またmv、dmvの可変長符号化においては、実施例1(図4の本発明、図8)あるいは実施例2の方法(図8、図12)を用いることにより、さらに符号化効率を高めることができる。
When this method is effective, the motion of neighboring blocks is large and the motion of encoded blocks is small. Since there are many special parts such as the boundary part of the object, the position information of the block that encodes the motion vector mv is also used in addition to the method of adding a 1-bit flag to all the blocks whose prediction vector pmv is larger than the threshold THC. Encoding efficiency can be further improved by separately encoding in advance.
Further, in the variable length coding of mv and dmv, the coding efficiency can be further improved by using the method of the first embodiment (the present invention of FIG. 4 and FIG. 8) or the method of the second embodiment (FIGS. 8 and 12). Can do.
以上のように、予測ベクトルと差分ベクトルの符号化に必要な符号量に基づき、符号化対象を動きベクトル自体か、差分ベクトルかを切り替えることで、効率のよい符号化が可能となる。 As described above, efficient coding is possible by switching between the motion vector itself and the difference vector based on the amount of code necessary for coding the prediction vector and the difference vector.
(実施例4)
図18は、本発明の実施例4に係る動画像復号装置の構成例を示すブロック図で、図中、50は動画像復号装置を示す。本例の動画像復号装置50は実施例1の復号側を説明するものである。図中、逆量子化部52、逆直交変換部53、加算部54、ピクチャ内予測部55、動き補償部56、フレームメモリ58は、図1に示した逆量子化部15、逆直交変換部16、加算部17、ピクチャ内予測部20、動き補償部19、フレームメモリ18と同じ構成要素であるため、説明は省略する。
Example 4
FIG. 18 is a block diagram illustrating a configuration example of a moving picture decoding apparatus according to the fourth embodiment of the present invention, in which 50 denotes a moving picture decoding apparatus. The moving
本実施例に係る動画像復号装置50は、可変長復号部51、動きベクトル計算部57、及び予測画像選択部59を備える。可変長復号部51は実施例1で生成した符号化データを可変長復号する。動きベクトル計算部57は可変長復号部51で復号した差分ベクトルから動きベクトルを計算する。予測画像選択部59は可変長復号部51で復号した予測モードに従って、ピクチャ内予測部55あるいは動き補償部56で作成した予測ブロックのうちの1つを選択する。
The moving
次に、可変長復号部51における差分ベクトルの復号について説明する。
可変長復号部51では、差分ベクトルdmvを図4あるいは図8を用いて復号する。動画像符号化装置がdmvの絶対値をもとに差分ベクトルdmvoutを計算した場合は、図4を用いて差分ベクトルを復号し、これを動きベクトル計算部57で予測ベクトルpmvと加算することによって、動きベクトルmv’を計算する。この動きベクトルmv’は動き補償部56で予測ブロックを作成するために使用される。
Next, the decoding of the difference vector in the variable
The variable
また、可変長復号部51における別の差分ベクトルの復号について説明する。
動画像符号化装置が予測ベクトルpmvの絶対値をもとに差分ベクトルdmvoutを求めた場合は、図8を用いて差分ベクトルを復号し、これを動きベクトル計算部57で予測ベクトルpmvと加算することによって、動きベクトルmv’を計算する。ここでは、図7に示す予測ベクトルpmvの絶対値に応じて、図8のケース1〜4の中から適切な差分ベクトルdmvoutを復号しなければならない。この動きベクトルmv’は動き補償部56で予測画像を作成するために使用される。
In addition, decoding of another difference vector in the variable
When the moving image encoding apparatus obtains the difference vector dmvout based on the absolute value of the prediction vector pmv, the difference vector is decoded using FIG. 8 and is added to the prediction vector pmv by the motion
実施例4に係る動画像復号装置50は、可変長符号化され且つ精度が変更された差分ベクトルdmvを復号する可変長復号部51と、復号対象ブロックの近傍ブロックの動きベクトルmvから予測ベクトルpmvを計算する予測ベクトル計算部571(後述の図19に示す)と、差分ベクトルdmvと予測ベクトルpmvから復号対象ブロックの動きベクトルmv’を計算する動きベクトル計算部57とを備える。可変長復号部51は、可変長符号化され且つ精度が変更された差分ベクトルを復号するための可変長符号表(前述の図4あるいは図8参照)を備える。
The moving
なお、実施例1の動画像符号化装置と同様、動き補償部56では動きベクトルmv’をそのまま用いる以外に、mv’が整数の場合、mv’の絶対値より小さい小数精度の動きベクトルとして使用することも可能である。例えばmv’=4の場合、動き補償部56では動きベクトルmv’’=3.5を使用する。このように小数表現された動きベクトルを用いる場合、発生する雑音の累積を防止し、予測効率の低下を防ぐことができる。
As in the case of the moving image encoding apparatus of the first embodiment, the
以上のように、動画像符号化装置と動画像復号装置双方が、予測ベクトルあるいは差分ベクトルの大きさに基づいて差分ベクトルの精度を変えた可変長符号表を持つことによって、視覚特性を利用して劣化を感じさせず、かつ符号量削減が可能な動画像復号装置を提供することができる。 As described above, both the video encoding device and the video decoding device have the variable length code table in which the accuracy of the difference vector is changed based on the size of the prediction vector or the difference vector, thereby utilizing the visual characteristics. Therefore, it is possible to provide a moving picture decoding apparatus that does not feel deterioration and can reduce the code amount.
(実施例5)
本発明の実施例5は本発明の実施例2の復号側を説明するものである。
前述の図18は実施例5の動画像復号装置を説明するためのブロック図でもあり、動きベクトル計算部57の一例を図19に基づいて説明する。
図19において、動きベクトル計算部57は、予測ベクトル計算部571、ベクトル計算部572a,572b、及び判定部573を備える。予測ベクトル計算部571は図2の予測ベクトル計算部231と同じ構成要素であるため、説明を省略する。ベクトル計算部572aは、下式に示すように、可変長復号部51で復号した差分ベクトルdmvを予測ベクトル計算部571で求めた予測ベクトルpmvと加算して、動きベクトルmv’を計算する。なお、可変長復号部51では、実施例2と同じく図8に示す可変長符号表を用いるものとする。
mv’ = pmv + dmv …式(7)
(Example 5)
The fifth embodiment of the present invention explains the decoding side of the second embodiment of the present invention.
FIG. 18 described above is also a block diagram for explaining the moving picture decoding apparatus according to the fifth embodiment, and an example of the motion
In FIG. 19, the motion
mv '= pmv + dmv ... Formula (7)
判定部573は追加の差分ベクトルdmv2を復号するか否かを判定する。判定部573では、まず予測ベクトルpmvとあらかじめ定められた閾値THA1を比較し、
abs(pmv) ≦ THA1 …式(8)
を満たす場合は、追加の差分ベクトルの復号は行わず、動きベクトルmv’が動きベクトル計算部57の出力となる。そうでない場合、ベクトル計算部572aで計算した動きベクトルmv’とあらかじめ定められた閾値THB3を比較し、
abs(mv’) ≦ THB3 …式(9)
を満たす場合は、可変長復号部51に追加の差分データdmv2の復号を要求する(この要求は図18に図示されていない)。上記式を満たさない場合、動きベクトルmv’が動きベクトル計算部57の出力となる。ここでTHB3は実施例2と同じ値を用いる。
The
abs (pmv) ≤ THA1 (8)
If the condition is satisfied, the additional difference vector is not decoded, and the motion vector mv ′ is output from the motion
abs (mv ') ≤ THB3 Equation (9)
If the condition is satisfied, the variable
ベクトル計算部572bは、下式のように、動きベクトルmv’と可変長復号部51から出力された追加の差分ベクトルdmv2を加算して、動きベクトルmv’’を計算する。なお、可変長復号部51では、実施例2と同じく図12に示す可変長符号表を用いるものとする。
mv’’ = mv’ + dmv2 …式(10)
The
mv '' = mv '+ dmv2 ... Formula (10)
すなわち、実施例5に係る動きベクトル計算部57は、可変長復号部51で復号した第1の差分ベクトルdmvと予測ベクトルpmvを加算し、復号対象ブロックの第1の動きベクトルmv’を計算する本発明の第1のベクトル計算手段に相当するベクトル計算部572aと、予め定められた指標(差分ベクトルあるいは予測ベクトル)の値と第1の閾値THAとを比較し、その大小関係で第2の差分ベクトルdmv2を復号するか否かを判定し、第2の差分ベクトルdmv2の復号が必要と判定された場合、可変長復号部51に対し第2の差分ベクトルdmv2の復号を要求する判定部573と、第2の差分ベクトルdmv2が復号された場合、第1の動きベクトルmv’と第2の差分ベクトルdmv2を加算して第2の動きベクトルmv’’を計算する第2のベクトル計算手段に相当するベクトル計算部572bとを備える。可変長復号部51は、第1の差分ベクトルdmvおよび第2の差分ベクトルdmv2を復号するための可変長符号表(前述の図12参照)を備える。
That is, the motion
図20は、本発明の実施例5に係る動きベクトル計算部57による処理の一例を説明するためのフロー図である。予測ベクトル計算部571は、予測ベクトルpmvを計算し(ステップS31)、ベクトル計算部572aは、動きベクトルmv’を予測ベクトルpmvと差分ベクトルdmvとを加算して求める(ステップS32)。次に、判定部573は、abs(pmv)がTHA1以下であるかどうかを判定し(ステップS33)、この条件を満たす場合(YESの場合)、ベクトル計算部572bが動きベクトルmv’’を動きベクトルmv’とする(ステップS36)。また、そうでなければ(NOの場合)、判定部573は、abs(mv’)がTHB3以下であるかどうかを判定する(ステップS34)。
FIG. 20 is a flowchart for explaining an example of processing by the motion
次に、ステップS34において、条件を満たす場合(YESの場合)、ベクトル計算部572bが、動きベクトルmv’’を動きベクトルmv’と差分ベクトルdmv2とを加算して求める(ステップS35)。また、そうでなければ(NOの場合)、ステップS36に移行して、ベクトル計算部572bが動きベクトルmv’’を動きベクトルmv’とする。
Next, in step S34, when the condition is satisfied (in the case of YES), the
以上のように予測ベクトルpmvよりも正確な動きベクトルmv’を用いることで、動きベクトルの精度のより正しい判定が可能な実施例2の符号化データを復号することができる。 As described above, by using the motion vector mv ′ that is more accurate than the prediction vector pmv, it is possible to decode the encoded data according to the second embodiment, which enables more accurate determination of the accuracy of the motion vector.
(実施例6)
本発明の実施例6は実施例3の復号側を説明するためのものである。
前述の図18は実施例6の動画像復号装置を説明するためのブロック図でもあり、動きベクトル計算部57の一例を図21に基づいて説明する。
図21において、予測ベクトル計算部571は図15の予測ベクトル計算部431と同じ構成であるため、説明を省略する。復号方法判定部574は予測ベクトル計算部571で求めた予測ベクトルpmvに基づいて、動きベクトルの復号方法を判定する。予測ベクトルpmvの絶対値があらかじめ定められた閾値THC以下の場合、可変長復号部51に対し、差分ベクトルdmvを復号するよう要求を出す(ケース6−1)。また、予測ベクトルpmvの絶対値があらかじめ定められた閾値THCより大きい場合、可変長復号部51に対し、1ビットのフラグflgと差分ベクトルdmvを復号するよう要求を出す(ケース6−2)(これらの要求は図18には図示されていない)。なおTHCは実施例3と同じ値を用いる。
(Example 6)
The sixth embodiment of the present invention is for explaining the decoding side of the third embodiment.
FIG. 18 described above is also a block diagram for explaining the moving picture decoding apparatus according to the sixth embodiment. An example of the motion
In FIG. 21, since the prediction
ベクトル計算部572は、復号方法判定部574で判定された動きベクトルの計算方法に従って、可変長復号部51から入力される差分ベクトルdmvと、もしあればフラグflgを用いて動きベクトルを計算する。復号方法判定部574で上記ケース6−1と判定された場合は、従来技術と同じく、下式のように、予測ベクトルpmvと差分ベクトルdmvを加算して動きベクトルmv’を計算する。
mv’ = pmv + dmv …式(11)
The
mv '= pmv + dmv ... Formula (11)
一方、復号方法判定部574で上記ケース6−2と判定された場合は、フラグflgの値を参照し、flgが“1”であればdmv自体を動きベクトルmv’とする。
mv’ = dmv …式(12)
また、フラグflgが“0”であれば、予測ベクトルpmvと差分ベクトルdmvを加算して動きベクトルmv’を計算する。
mv’ = pmv + dmv …式(13)
On the other hand, when the decoding
mv '= dmv Equation (12)
If the flag flg is “0”, the motion vector mv ′ is calculated by adding the prediction vector pmv and the difference vector dmv.
mv '= pmv + dmv ... Formula (13)
すなわち、実施例6に係る動きベクトル計算部57は、予測ベクトルpmvと閾値THCとを比較し、予測ベクトルpmvが閾値THC以下の場合には可変長復号部51に差分ベクトルdmvの復号を要求し、予測ベクトルpmvが閾値THCよりも大きい場合には可変長復号部51に対して、差分ベクトルdmvあるいは動きベクトルmv’を示すフラグと差分ベクトルdmvの復号を要求する。可変長復号部51は、フラグflgおよび差分ベクトルdmvを復号する。
That is, the motion
なお本例の場合、動きベクトル計算部57は、予測ベクトルpmvが閾値THC以下の場合、差分ベクトルdmvに基づいて復号対象ブロックの動きベクトルmv’を計算する。一方、予測ベクトルpmvが閾値THCより大きい場合で、かつflg=0、すなわちフラグが差分ベクトルdmvを示す場合、復号対象ブロックの動きベクトルmv’を計算する。また予測ベクトルpmvが閾値THCより大きい場合で、かつflg=1、すなわちフラグが動きベクトルmv’を示す場合、差分ベクトルdmvを復号対象ブロックの動きベクトルmv’とする。
In the case of this example, the motion
図22は、本発明の実施例6に係る動きベクトル計算部57による処理の一例を説明するためのフロー図である。予測ベクトル計算部571は、予測ベクトルpmvを計算する(ステップS41)。次に、復号方法判定部574は、abs(pmv)がTHC以下であるかどうかを判定し(ステップS42)、この条件を満たす場合(YESの場合)、ベクトル計算部572が、動きベクトルmv’を予測ベクトルpmvと差分ベクトルdmvとを加算して求める(ステップS43)。また、そうでなければ(NOの場合)、ベクトル計算部572は、flgが“1”であるかどうかを判定する(ステップS44)。
FIG. 22 is a flowchart for explaining an example of processing by the motion
ステップS44において、flgが“1”の場合(YESの場合)、ベクトル計算部572が、動きベクトルmv’を差分ベクトルdmvとする(ステップS45)。また、そうでなければ(NOの場合)、flgが“0”であるため、ベクトル計算部572が、動きベクトルmv’を予測ベクトルpmvと差分ベクトルdmvとを加算して求める(ステップS46)。
すなわち、ステップS43は上記ケース6−1の場合、また、ステップS44〜S46は上記ケース6−2の場合におけるベクトル計算部572の動作である。これらの処理を行うことで、差分ベクトルの符号量が大きいと予想される予測ベクトルの大きい場合に、動きベクトルと差分ベクトルのうち符号量の小さい方を選択することで符号量を削減する実施例3の符号化データを復号することができる。
In step S44, when flg is “1” (in the case of YES), the
That is, step S43 is the operation of the
なお、動画像符号化装置でのフラグの符号化方法は、予測ベクトルがあらかじめ定められた閾値より大きい全てのブロックに1ビットのフラグを付加する方法以外にも、動きベクトル自体を符号化するブロックの位置情報をあらかじめ別途符号化する方法等、様々な方法があり、動画像復号装置では動画像符号化装置で用いた方法と対応する方法を用いて復号処理を行う。
またmv、dmvを実施例1あるいは実施例2の方法を用いて可変長符号化した場合、復号側でこれに対応する実施例4あるいは実施例5の方法で復号することで、さらに高効率の符号化データを可変長復号することができる。
In addition to the method of adding a 1-bit flag to all blocks whose prediction vector is larger than a predetermined threshold, the encoding method of the flag in the moving image encoding apparatus is a block that encodes the motion vector itself. There are various methods such as a method of separately encoding the position information in advance, and the moving image decoding apparatus performs decoding processing using a method corresponding to the method used in the moving image encoding apparatus.
Further, when mv and dmv are variable-length encoded using the method of the first embodiment or the second embodiment, the decoding side performs decoding by the method of the fourth or fifth embodiment corresponding thereto, thereby further improving the efficiency. The encoded data can be variable-length decoded.
10,30…動画像符号化装置、11,31…予測誤差計算部、12,32…直交変換部、13,33…量子化部、14,34…可変長符号化部、15,35,52…逆量子化部、16,36,53…逆直交変換部、17,37,54…加算部、18,38,58…フレームメモリ、19,39,56…動き補償部、20,40,55…ピクチャ内予測部、21,41…動き検出部、22,42…予測モード選択部、23…差分ベクトル計算部、43…符号化方法選択部、231,431,571…予測ベクトル計算部、232,232a,232b,432…差分計算部、233,233a,233b…ベクトル精度変更部、433…ベクトル符号化方法判定部、50…動画像復号装置、51…可変長復号部、57…動きベクトル計算部、59…予測画像選択部、572a,572b…ベクトル計算部、573…判定部、574…復号方法判定部。
DESCRIPTION OF
Claims (2)
符号化対象ブロックの近傍ブロックの動きベクトルから予測ベクトルを計算する予測ベクトル計算手段と、前記動きベクトルと前記予測ベクトルから差分ベクトルを計算する差分計算手段と、該差分ベクトルの精度を変更するベクトル精度変更手段と、該精度を変更した差分ベクトルを可変長符号化する可変長符号化手段とを備え、
前記ベクトル精度変更手段は、前記差分ベクトルの値と予め定められた閾値とを比較し、前記差分ベクトルの値が前記予め定められた閾値以下の場合、前記差分ベクトルの精度を細かくし、また、前記差分ベクトルの値が前記予め定められた閾値より大きい場合、前記差分ベクトルの精度を粗くするように変更し、
前記可変長符号化手段は、前記ベクトル精度変更手段により精度を変更した差分ベクトルを符号化するための可変長符号表を備えたことを特徴とする動画像符号化装置。 A moving image encoding apparatus that detects and encodes a motion vector in units of blocks obtained by dividing each picture of a moving image,
Prediction vector calculation means for calculating a prediction vector from motion vectors of neighboring blocks of the encoding target block, difference calculation means for calculating a difference vector from the motion vector and the prediction vector, and vector accuracy for changing the precision of the difference vector Changing means, and variable length encoding means for variable length encoding the difference vector whose accuracy has been changed,
The vector accuracy changing means compares the value of the difference vector with a predetermined threshold, and if the value of the difference vector is equal to or less than the predetermined threshold, the accuracy of the difference vector is reduced, and If the value of the difference vector is greater than the predetermined threshold, change the accuracy of the difference vector to be coarse,
The moving picture coding apparatus, wherein the variable length coding means includes a variable length code table for coding a difference vector whose precision is changed by the vector precision changing means.
可変長符号化され且つ精度が変更された差分ベクトルを復号する可変長復号手段と、復号対象ブロックの近傍ブロックの動きベクトルから予測ベクトルを計算する予測ベクトル計算手段と、前記差分ベクトルと前記予測ベクトルから前記復号対象ブロックの動きベクトルを計算する動きベクトル計算手段とを備え、
前記可変長符号化され且つ精度が変更された差分ベクトルは、該差分ベクトルの値と予め定められた閾値とを比較し、前記差分ベクトルの値が前記予め定められた閾値以下の場合、前記差分ベクトルの精度を細かくし、また、前記差分ベクトルの値が前記予め定められた閾値より大きい場合、前記差分ベクトルの精度を粗くするように変更されたものであり、
前記可変長復号手段は、前記可変長符号化され且つ精度が変更された差分ベクトルを復号するための可変長符号表を備えたことを特徴とする動画像復号装置。 A video decoding device that decodes a motion vector in units of blocks obtained by dividing each picture of a video,
Variable-length decoding means for decoding a difference vector that has been variable-length encoded and whose accuracy has been changed; prediction vector calculation means for calculating a prediction vector from motion vectors of neighboring blocks of the decoding target block; the difference vector and the prediction vector Motion vector calculation means for calculating a motion vector of the decoding target block from
The variable-length-encoded difference vector whose precision has been changed compares the value of the difference vector with a predetermined threshold, and when the value of the difference vector is less than or equal to the predetermined threshold, the difference The accuracy of the vector is made finer, and when the value of the difference vector is larger than the predetermined threshold, the accuracy of the difference vector is changed to be coarse.
The moving image decoding apparatus, wherein the variable length decoding means includes a variable length code table for decoding the difference vector that has been variable length encoded and whose accuracy has been changed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011178191A JP2011229190A (en) | 2011-08-17 | 2011-08-17 | Motion image coding apparatus and motion image decoding apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011178191A JP2011229190A (en) | 2011-08-17 | 2011-08-17 | Motion image coding apparatus and motion image decoding apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007158545A Division JP4809296B2 (en) | 2007-06-15 | 2007-06-15 | Video encoding apparatus and video decoding apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011229190A true JP2011229190A (en) | 2011-11-10 |
Family
ID=45043953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011178191A Pending JP2011229190A (en) | 2011-08-17 | 2011-08-17 | Motion image coding apparatus and motion image decoding apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011229190A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019080321A (en) * | 2014-01-09 | 2019-05-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
JP2021515454A (en) * | 2018-03-07 | 2021-06-17 | テンセント・アメリカ・エルエルシー | Video coding / decoding methods and equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09154138A (en) * | 1995-05-31 | 1997-06-10 | Toshiba Corp | Moving image coding/decoding device |
JP2003319400A (en) * | 2002-04-26 | 2003-11-07 | Sony Corp | Encoding apparatus, decoding apparatus, image processing apparatus, and method and program for them |
JP2004048522A (en) * | 2002-07-15 | 2004-02-12 | Hitachi Ltd | Encoding and decoding method for moving image |
WO2004039083A1 (en) * | 2002-04-26 | 2004-05-06 | Ntt Docomo, Inc. | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program |
JP2006187025A (en) * | 2002-01-24 | 2006-07-13 | Hitachi Ltd | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
-
2011
- 2011-08-17 JP JP2011178191A patent/JP2011229190A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09154138A (en) * | 1995-05-31 | 1997-06-10 | Toshiba Corp | Moving image coding/decoding device |
JP2006187025A (en) * | 2002-01-24 | 2006-07-13 | Hitachi Ltd | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
JP2003319400A (en) * | 2002-04-26 | 2003-11-07 | Sony Corp | Encoding apparatus, decoding apparatus, image processing apparatus, and method and program for them |
WO2004039083A1 (en) * | 2002-04-26 | 2004-05-06 | Ntt Docomo, Inc. | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program |
JP2004048522A (en) * | 2002-07-15 | 2004-02-12 | Hitachi Ltd | Encoding and decoding method for moving image |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019080321A (en) * | 2014-01-09 | 2019-05-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
JP2021515454A (en) * | 2018-03-07 | 2021-06-17 | テンセント・アメリカ・エルエルシー | Video coding / decoding methods and equipment |
JP7223018B2 (en) | 2018-03-07 | 2023-02-15 | テンセント・アメリカ・エルエルシー | Video encoding/decoding method and apparatus |
JP2023041901A (en) * | 2018-03-07 | 2023-03-24 | テンセント・アメリカ・エルエルシー | Method and apparatus for video encoding/decoding |
US11627324B2 (en) | 2018-03-07 | 2023-04-11 | Tencent America LLC | Adaptive block vector resolution in video coding |
JP7413577B2 (en) | 2018-03-07 | 2024-01-15 | テンセント・アメリカ・エルエルシー | Video encoding/decoding method and apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111385569B (en) | Coding and decoding method and equipment thereof | |
EP1359763B1 (en) | Approximate bicubic filter | |
EP1359768B1 (en) | Chrominance motion vector rounding | |
JP5730770B2 (en) | Offset calculation in switching interpolation filter | |
JP2022044612A (en) | Picture prediction method and related apparatus | |
ES2630211T3 (en) | Scalable image coding and decoding method using weighted prediction, its devices, its programs, and recording media stored by programs | |
JP5547198B2 (en) | Digital video coding using interpolation filters and offsets | |
US7620109B2 (en) | Sub-pixel interpolation in motion estimation and compensation | |
US8867626B2 (en) | Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method | |
US9674546B2 (en) | Method and apparatus for interpolating reference picture and method and apparatus for encoding/decoding image using same | |
EP1353513B1 (en) | Rounding control for multi-stage interpolation | |
KR20110008653A (en) | Method and apparatus for predicting motion vector and method and apparatus of encoding/decoding a picture using the same | |
JP2020114013A (en) | Encoding device, decoding device, encoding method, decoding method, and program | |
US20120219063A1 (en) | Method and apparatus for encoding/decoding images using adaptive motion vector resolution | |
WO2010064396A1 (en) | Moving picture decoding method and moving picture encoding method | |
JP5310614B2 (en) | Moving picture coding apparatus, moving picture coding method, moving picture decoding apparatus, and moving picture decoding method | |
WO2011126345A2 (en) | Method and apparatus for processing video signal | |
JP2004048552A (en) | Image encoder, image encoding method, image decoder, image decoding method and communication equipment | |
JPWO2009041215A1 (en) | Video encoding device and video decoding device | |
JP4793424B2 (en) | Image encoding apparatus, image encoding method, image decoding apparatus, image decoding method, and communication apparatus | |
JP2008502196A (en) | Global motion vector search method | |
JP4809296B2 (en) | Video encoding apparatus and video decoding apparatus | |
JP2012080151A (en) | Method and apparatus for moving image encoding and moving image decoding using geometry-transformed/motion-compensated prediction | |
WO2011155376A1 (en) | Encoding device and encoding method | |
JP2011229190A (en) | Motion image coding apparatus and motion image decoding apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130531 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131015 |