JP4533157B2 - Image decoding method - Google Patents

Image decoding method Download PDF

Info

Publication number
JP4533157B2
JP4533157B2 JP2005009782A JP2005009782A JP4533157B2 JP 4533157 B2 JP4533157 B2 JP 4533157B2 JP 2005009782 A JP2005009782 A JP 2005009782A JP 2005009782 A JP2005009782 A JP 2005009782A JP 4533157 B2 JP4533157 B2 JP 4533157B2
Authority
JP
Japan
Prior art keywords
pixel
motion compensation
unit
output
picture
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.)
Expired - Fee Related
Application number
JP2005009782A
Other languages
Japanese (ja)
Other versions
JP2006203280A5 (en
JP2006203280A (en
Inventor
範之 芦ヶ原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005009782A priority Critical patent/JP4533157B2/en
Publication of JP2006203280A publication Critical patent/JP2006203280A/en
Publication of JP2006203280A5 publication Critical patent/JP2006203280A5/ja
Application granted granted Critical
Publication of JP4533157B2 publication Critical patent/JP4533157B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像復号方法関する。 The present invention relates to an image decoding method.

動画圧縮に用いられる技術として動き補償がある。これは、フレーム間で似ているブロックの画像情報を動きベクトル情報と差分値で伝送(又は記録)することで圧縮率を向上させるものである。動画圧縮方式として周知のMPEG方式にも、この動き補償が使用されている。   Motion compensation is a technique used for video compression. This improves the compression rate by transmitting (or recording) image information of blocks similar between frames as motion vector information and a difference value. This motion compensation is also used in the MPEG system known as a moving image compression system.

MPEG方式では、フレーム内符号化のIピクチャと、Iピクチャ又はPピクチャである別のフレームからの予測値との差分を符号化するフレーム間予測符号化のPピクチャと、Pピクチャ又はIピクチャである前後の2フレームからの予測値との差分を符号化するフレーム間予測符号化のBピクチャがある。動き補償のために、Pピクチャでは最大1ピクチャを参照でき、Bピクチャでは、最大2ピクチャを参照できる。動きベクトルの精度は0.5画素単位とされている。   In the MPEG system, an inter-frame encoding I picture and an inter-frame prediction encoding P picture that encodes a difference between a prediction value from another frame that is an I picture or a P picture, and a P picture or an I picture There is a B picture of inter-frame predictive coding that encodes a difference from a predicted value from two frames before and after a certain frame. For motion compensation, a maximum of one picture can be referred to in the P picture, and a maximum of two pictures can be referred to in the B picture. The accuracy of the motion vector is 0.5 pixel units.

復号時の動き補償処理では、動きベクトルを用いてマクロブロック(MB)と呼ばれるブロック単位で画面上の位置を補償する。0.5画素単位の動きベクトルについては、半画素作成処理において線形補間によって画素値を算出したものを参照ブロックとして用いる。図10に示すように、0.5画素単位の動きベクトルの存在により、補間する可能性がある位置として、図10に四角形記号□、三角形記号△及び六角形記号で示す三種類の位置がある。 In the motion compensation process at the time of decoding, the position on the screen is compensated by a block unit called a macro block (MB) using a motion vector. For a motion vector in units of 0.5 pixels, a pixel value calculated by linear interpolation in the half-pixel creation process is used as a reference block. As shown in FIG. 10, there are three types of positions indicated by a square symbol □, a triangle symbol Δ, and a hexagonal symbol in FIG. 10 as positions that may be interpolated due to the presence of a motion vector in units of 0.5 pixels. .

図8は、従来例1における復号処理装置の概略構成ブロック図を示す。ハフマン復号手段500は、入力される符号データをマクロブロック毎にハフマン復号し、逆量子化手段501はハフマン復号手段の出力データに逆量子化処理を施し、逆直交変換手段502は、逆量子化手段501の出力データに逆直交変換処理を施す。その後、動き補償処理を必要としないイントラマクロブロック(イントラMB)に関しては、逆直交変換手段502の出力データが、復号結果としてそのまま出力される。   FIG. 8 shows a schematic block diagram of the decoding processing apparatus in the first conventional example. The Huffman decoding unit 500 performs Huffman decoding on input code data for each macroblock, the inverse quantization unit 501 performs inverse quantization processing on the output data of the Huffman decoding unit, and the inverse orthogonal transform unit 502 performs inverse quantization. The output data of the means 501 is subjected to inverse orthogonal transform processing. Thereafter, for an intra macroblock (intra MB) that does not require motion compensation processing, the output data of the inverse orthogonal transform unit 502 is output as it is as a decoding result.

動き補償処理を必要とするノンイントラマクロブロック(ノンイントラMB)には、次のような動き補償処理が施される。ブロック参照手段510は、動きベクトルを用いて所望のブロックを参照する。半画素作成手段511が0.5単位のベクトルの場合に限り線形補間により半画素ブロックを作成する。加算手段512は、逆直交変換手段502の出力と半画素作成手段511の出力とを加算する。加算手段512の出力データが、復号結果として出力される。   The following motion compensation processing is performed on a non-intra macroblock (non-intra MB) that requires motion compensation processing. The block reference means 510 refers to a desired block using a motion vector. A half-pixel block is created by linear interpolation only when the half-pixel creating means 511 is a 0.5 unit vector. The adding unit 512 adds the output of the inverse orthogonal transform unit 502 and the output of the half pixel creating unit 511. The output data of the adding means 512 is output as a decoding result.

以上のような従来例に対し、特にソフトウエアで実現した際の半画素作成処理に注目した復号処理の高速化手法が多く提案されている。例えば、特許文献1に記載の構成が知られている。   For the conventional example as described above, many methods for speeding up the decoding process have been proposed, particularly focusing on the half-pixel creation process when implemented by software. For example, a configuration described in Patent Document 1 is known.

図9は、特許文献2に記載される従来例2における復号処理装置の概略構成ブロック図を示す。   FIG. 9 is a block diagram showing a schematic configuration of a decoding processing apparatus according to Conventional Example 2 described in Patent Document 2.

ハフマン復号手段700は、入力される符号データをマクロブロック毎にハフマン復号する。逆量子化手段701は、ハフマン復号手段700の出力データに逆量子化処理を施す。逆直交変換手段702は、逆量子化手段701の出力データに逆直交変換処理を施す。その後、動き補償処理を必要としないイントラMBに関しては、逆直交変換手段702の出力データが、復号結果として出力される。   The Huffman decoding unit 700 performs Huffman decoding on the input code data for each macroblock. The inverse quantization unit 701 performs an inverse quantization process on the output data of the Huffman decoding unit 700. The inverse orthogonal transform unit 702 performs an inverse orthogonal transform process on the output data of the inverse quantization unit 701. Thereafter, for intra MBs that do not require motion compensation processing, the output data of the inverse orthogonal transform means 702 is output as a decoding result.

動き補償処理を必要とするノンイントラMBは、次のように処理される。PピクチャのノンイントラMBについては、ブロック参照手段710が動きベクトルを用いて所望のブロックを参照し、半画素作成手段711が0.5単位のベクトルの場合に限り線形補間により半画素ブロックを作成し、加算手段712が逆直交変換手段02の出力と半画素作成手段11の出力とを加算する。加算手段712の出力が、復号結果として出力される。 Non-intra MBs that require motion compensation processing are processed as follows. For non-intra MB of P picture, block reference means 710 refers to a desired block using a motion vector, and creates a half-pixel block by linear interpolation only when half-pixel creation means 711 is a 0.5 unit vector. and, adding means 712 adds the output of the inverse orthogonal transform unit 7 02 and the output of the half-pixel creation means 7 11. The output of the adding means 712 is output as a decoding result.

動き補償処理を必要とするノンイントラMBのうちの、BピクチャのノンイントラMBについては、動きベクトル補正手段720が、動きベクトルの小数部を切り捨てる補正を行い、ブロック参照手段721が補正された動きベクトルを用いて所望のブロックを参照し、加算手段722が逆直交変換手段702の出力とブロック参照手段721の出力を加算する。加算手段712の出力が、復号結果として出力される。   Of the non-intra MBs that require motion compensation processing, for the B picture non-intra MB, the motion vector correction unit 720 performs correction by truncating the decimal part of the motion vector, and the block reference unit 721 corrects the motion. The adder 722 adds the output of the inverse orthogonal transform unit 702 and the output of the block reference unit 721 by referring to the desired block using the vector. The output of the adding means 712 is output as a decoding result.

従来例2の方法では、半画素作成をしないことによる画像の乱れの累積を抑えつつ、演算量を低減でき、高速化が可能となる。
特開平9−322175号公報
With the method of Conventional Example 2, it is possible to reduce the amount of computation and increase the speed while suppressing the accumulation of image disturbance due to the absence of half-pixel creation.
JP-A-9-322175

従来例1の構成では、小数点以下の動きベクトルの数が多ければ多いほど、同画素に対して半画素作成処理を重複して行う確率が高くなる。その結果、演算量が多く、処理負荷が重い。   In the configuration of Conventional Example 1, the greater the number of motion vectors after the decimal point, the higher the probability that the half-pixel creation process is performed on the same pixel. As a result, the calculation amount is large and the processing load is heavy.

従来例2の方法では、半画素作成をしないことによる画像の乱れの累積を抑えつつ、演算量を低減でき、高速化が可能となる。しかし、Bピクチャに関しては、半画素作成をしないことによる画像の乱れが目立ち、画質が低下する。   With the method of Conventional Example 2, it is possible to reduce the amount of computation and increase the speed while suppressing the accumulation of image disturbance due to the absence of half-pixel creation. However, with respect to the B picture, image disturbance due to not creating half pixels is conspicuous, and the image quality is degraded.

本発明は、このような不都合を解消した画像復号方法提示することを目的とする。 It is an object of the present invention to provide an image decoding method that eliminates such inconveniences.

本発明に係る画像復号方法は、画像復号方法であって、画像復号方法であって、動き補償処理を必要とするノンイントラマクロブロックに対して、動きベクトルを用いて所望のブロックを参照する際に、被参照フレームにかかるベクトル数の期待値に基づいて、第1の動き補償工程か第2の動き補償工程かを切り替える切り替え工程と、動きベクトルの全方向において半画素作成処理を行う第1の動き補償工程と、予め動きベクトルの全方向において半画素作成処理を行うことで作成した半画素フレームを参照する第2の動き補償工程とを具備し、前記切り替え工程は、被参照フレームにかかるベクトル数の期待値が所定値よりも小さい場合に、前記第1の動き補償工程に切り替え、被参照フレームにかかるベクトル数の期待値が前記所定値よりも大きい場合には、前記第2の動き補償工程に切り替えることを特徴とする。 An image decoding method according to the present invention is an image decoding method, which is a method for decoding a non-intra macroblock that requires a motion compensation process and refers to a desired block using a motion vector. In addition, a switching step for switching between the first motion compensation step and the second motion compensation step based on the expected value of the number of vectors related to the referenced frame, and a first half pixel generation process in all directions of the motion vector are performed. And a second motion compensation step that refers to a half-pixel frame created in advance by performing half-pixel creation processing in all directions of the motion vector, and the switching step is applied to the referenced frame. When the expected value of the number of vectors is smaller than a predetermined value, the process is switched to the first motion compensation step, and the expected value of the number of vectors for the referenced frame is the predetermined value. Ri in case large, and switches to the second motion compensation process.

本発明によれば、復号処理内に存在する動き補償処理において動きベクトル数の統計をとり、最適な動き補償処理を施すことで、半画素作成処理に関する演算量を大幅に低減し、高速な復号処理を実現する。   According to the present invention, by calculating the number of motion vectors in the motion compensation process existing in the decoding process and performing the optimal motion compensation process, the amount of calculation related to the half-pixel creation process is greatly reduced, and high-speed decoding is performed. Realize processing.

以下、図面を参照して、本発明の実施例を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明の第1実施例である画像復号装置の概略構成ブロック図を示す。ハフマン復号手段100は、入力される符号データをマクロブロック毎にハフマン復号する。逆量子化手段101は、ハフマン復号手段100の出力に逆量子化処理を施す。逆直交変換手段102は、逆量子化手段101の出力に逆直交変換処理を施す。   FIG. 1 shows a schematic block diagram of an image decoding apparatus according to the first embodiment of the present invention. The Huffman decoding unit 100 performs Huffman decoding on the input code data for each macroblock. The inverse quantization unit 101 performs an inverse quantization process on the output of the Huffman decoding unit 100. The inverse orthogonal transform unit 102 performs an inverse orthogonal transform process on the output of the inverse quantization unit 101.

切り替え手段103は、PピクチャとBピクチャの構成割合と動きベクトルの数の統計から、以下の4つの動き補償処理を切り替える。   The switching means 103 switches the following four motion compensation processes from the statistics of the composition ratio of P picture and B picture and the number of motion vectors.

第1の動き補償処理では、動き補償処理を必要としないイントラマクロブロック(イントラMB)に関して、逆直交変換手段102の出力データをそのまま、復号結果として出力する。動き補償処理を必要とするノンイントラマクロブロック(ノンイントラMB)に関しては、ブロック参照手段110が動きベクトルを用いて所望のブロックを参照し、半画素作成手段111が0.5単位のベクトルの場合に限り線形補間により半画素ブロックを作成し、加算手段112が逆直交変換手段102の出力と半画素作成手段111の出力を加算する。加算手段112の出力データが、復号結果として出力される。   In the first motion compensation process, the output data of the inverse orthogonal transform unit 102 is output as it is as a decoding result for an intra macroblock (intra MB) that does not require the motion compensation process. For non-intra macroblocks (non-intra MB) that require motion compensation processing, block reference means 110 refers to a desired block using motion vectors, and half-pixel creation means 111 is a 0.5 unit vector. Only half-pixel blocks are created by linear interpolation, and the adding means 112 adds the output of the inverse orthogonal transform means 102 and the output of the half-pixel creating means 111. The output data of the adding means 112 is output as a decoding result.

第2の動き補償処理では、動き補償処理を必要とするノンイントラマクロブロック(ノンイントラMB)に関して、ブロック参照手段120が動きベクトルを用いて水平方向で整数のベクトルは従来どおりのフレームから、水平方向で非整数のベクトルは予め作成した水平方向半画素フレームから所望のブロックを参照し、半画素作成手段121が、垂直方向が非整数のベクトルの場合に限り線形補間により半画素ブロックを作成し、加算手段122が逆直交変換手段102の出力と半画素作成手段121の出力を加算する。さらに、I、Pピクチャに関しては水平方向半画素作成手段123が水平方向の半画素ブロックを作成し、水平方向半画素フレームに格納する。   In the second motion compensation processing, for a non-intra macroblock (non-intra MB) that requires motion compensation processing, the block reference means 120 uses a motion vector in the horizontal direction to convert an integer vector from a conventional frame to a horizontal A non-integer vector in the direction refers to a desired block from a previously created horizontal half-pixel frame, and the half-pixel creating means 121 creates a half-pixel block by linear interpolation only when the vertical direction is a non-integer vector. The adding means 122 adds the output of the inverse orthogonal transform means 102 and the output of the half-pixel creating means 121. Further, for the I and P pictures, the horizontal half-pixel creating means 123 creates a horizontal half-pixel block and stores it in the horizontal half-pixel frame.

第3の動き補償処理では、まず動き補償処理を必要とするノンイントラマクロブロック(ノンイントラMB)に関して、ブロック参照手段130が動きベクトルを用いて水平垂直方向で共に整数又は水平垂直方向で共に非整数のベクトルは従来どおりのフレームから、水平方向だけで非整数のベクトルは予め作成した水平方向半画素フレームから、垂直方向だけで非整数のベクトルは予め作成した垂直方向半画素フレームから所望のブロックを参照し、半画素作成手段131が、水平垂直方向で共に非整数のベクトルの場合に限り線形補間により半画素ブロックを作成し、加算手段12が、逆直交変換手段102の出力と半画素作成手段131の出力を加算する。さらに、I、Pピクチャに関しては、水平垂直方向半画素作成手段133が、水平方向と垂直方向の半画素ブロックを作成し、それぞれ水平・垂直方向半画素フレームに格納する。 In the third motion compensation process, first, with respect to a non-intra macroblock (non-intra MB) that requires a motion compensation process, the block reference unit 130 uses a motion vector to set both integers in the horizontal and vertical directions or both in the horizontal and vertical directions. The integer vector is the desired block from the conventional frame, the horizontal only non-integer vector is from the previously created horizontal half-pixel frame, and the vertical only non-integer vector is from the previously created vertical half-pixel frame. , Half-pixel creating means 131 creates a half-pixel block by linear interpolation only when both non-integer vectors in the horizontal and vertical directions, and adding means 1 3 2 and the output of inverse orthogonal transform means 102 The outputs of the pixel creation means 131 are added. Further, for the I and P pictures, the horizontal / vertical direction half-pixel creating unit 133 creates half-pixel blocks in the horizontal and vertical directions and stores them in the horizontal and vertical half-pixel frames, respectively.

第4の動き補償処理では、まず動き補償処理を必要とするノンイントラマクロブロック(ノンイントラMB)に関して、ブロック参照手段140が、動きベクトルを用いて水平垂直方向で共に整数のベクトルは従来どおりのフレームから、水平方向だ非整数のベクトルは予め作成した水平方向半画素フレームから、垂直方向だ非整数のベクトルは予め作成した垂直方向半画素フレームから、水平垂直方向で共に非整数のベクトルは予め作成した斜め方向半画素フレームから所望のブロックを参照し、加算手段141が、逆直交変換手段102の出力とブロック参照手段140の出力を加算する。さらに、I、Pピクチャに関しては、全方向半画素作成手段14が、水平方向、垂直方向及び斜め方向の半画素ブロックを作成し、それぞれ水平・垂直・斜め方向半画素フレームに格納する。 In the fourth motion compensation processing, first, regarding a non-intra macroblock (non-intra MB) that requires motion compensation processing, the block reference means 140 uses the motion vector to convert both integer vectors in the horizontal and vertical directions as in the conventional case. from the frame, from the non-integer vector only the horizontal direction horizontal half-pixel frame created in advance, the vector of vertical but only non-integer from vertical half pixel frame previously prepared, a non-integer both in horizontal and vertical direction vector Refers to a desired block from an oblique half pixel frame created in advance, and the adding means 141 adds the output of the inverse orthogonal transform means 102 and the output of the block reference means 140. Moreover, I, with respect to P picture, all positioned half-pixel creation unit 14 2, the horizontal direction, to create a half-pixel block in the vertical direction and the oblique direction, respectively stored in the horizontal, vertical, and oblique directions and a half pixel frame.

図2及び図3を参照して、切り替え手段103の動作を説明する。切り替え手段103は、各ブロック参照手段110,120,130,140からマクロブロックあたりのベクトル数の情報を受け、Pピクチャ及びBピクチャに対し、それぞれ、マクロブロックあたりのベクトル数の期待値Vp,Vbを算出する。但し、0≦Vp≦1、0≦Vb≦2である。切り替え手段103は、この結果と、PピクチャとBピクチャの構成割合を示すPピクチャの出現周期Mとを用いて、図2に示す式で被参照フレームにかかるベクトル数の期待値Eを求める。この結果から、図3に示す判定条件により、上述の4つの動き補償処理を切り替える。 The operation of the switching unit 103 will be described with reference to FIGS. The switching unit 103 receives information on the number of vectors per macroblock from each of the block reference units 110, 120, 130, and 140, and for the P picture and the B picture, the expected number of vectors Vp and Vb per macroblock, respectively. Is calculated. However, 0 ≦ Vp ≦ 1 and 0 ≦ Vb ≦ 2. Using this result and the appearance period M of the P picture indicating the composition ratio of the P picture and the B picture, the switching unit 103 obtains the expected value E of the number of vectors related to the referenced frame using the formula shown in FIG. From the result, the above-described four motion compensation processes are switched according to the determination condition shown in FIG.

このように、本実施例では、PピクチャとBピクチャの構成割合と動きベクトルの数の統計によって、半画素作成処理の重複度合いを計測することができ、この計測結果により最適な動き補償処理を適用できる。   As described above, in this embodiment, it is possible to measure the overlapping degree of the half-pixel creation process based on the statistics of the composition ratio of the P picture and the B picture and the number of motion vectors. Applicable.

図4は、本発明の第2実施例の概略構成ブロック図である。ハフマン復号手段300は、入力される符号データをマクロブロック毎にハフマン復号し、逆量子化手段301は、ハフマン復号手段の出力に逆量子化処理を施し、逆直交変換手段302は、逆量子化手段301の出力に逆直交変換処理を施す。その後、切り替え手段303が、PピクチャとBピクチャの構成割合と動きベクトルの数の統計から、以下の4つの動き補償処理を切り替える。   FIG. 4 is a schematic block diagram of the second embodiment of the present invention. The Huffman decoding unit 300 performs Huffman decoding on the input code data for each macroblock, the inverse quantization unit 301 performs inverse quantization processing on the output of the Huffman decoding unit, and the inverse orthogonal transform unit 302 performs inverse quantization. The output of the means 301 is subjected to inverse orthogonal transform processing. Thereafter, the switching unit 303 switches the following four motion compensation processes from the statistics of the composition ratio of P picture and B picture and the number of motion vectors.

第1の動き補償処理では、動き補償処理を必要としないイントラマクロブロック(イントラMB)に関しては、逆量子化手段302の出力データをそのまま、復号結果として出力する。動き補償処理を必要とするノンイントラマクロブロック(ノンイントラMB)に関しては、ブロック参照手段310が、動きベクトルを用いて所望のブロックを参照し、半画素作成手段311が0.5単位のベクトルの場合に限り線形補間により半画素ブロックを作成し、加算手段312が、逆直交変換手段302の出力と半画素作成手段311の出力とを加算する。加算手段312の出力を、復号結果として出力する。   In the first motion compensation process, with respect to an intra macroblock (intra MB) that does not require a motion compensation process, the output data of the inverse quantization means 302 is output as it is as a decoding result. For a non-intra macroblock (non-intra MB) that requires motion compensation processing, the block reference unit 310 refers to a desired block using a motion vector, and the half-pixel generation unit 311 uses a 0.5 unit vector. Only in some cases, a half-pixel block is created by linear interpolation, and the adding means 312 adds the output of the inverse orthogonal transform means 302 and the output of the half-pixel creating means 311. The output of the adding means 312 is output as a decoding result.

第2の動き補償処理では、まず動き補償処理を必要とするノンイントラマクロブロック(ノンイントラMB)に関しては、ブロック参照手段320が動きベクトルを用いて切り替え手段303から指定された方向(水平又は垂直)が整数であるベクトルは従来どおりのフレームから、切り替え手段303から指定された方向(水平又は垂直)が非整数であるベクトルは予め作成した半画素フレームから所望のブロックを参照し、半画素作成手段321が切り替え手段303から指定されなかった方向(垂直又は水平)で非整数のベクトルの場合に限り線形補間により半画素ブロックを作成し、加算手段322が逆直交変換手段302の出力と半画素作成手段321の出力を加算する。加算手段32の出力を、復号結果として出力する。さらに、Iピクチャ及びPピクチャに関しては、単方向半画素作成手段323が、切り替え手段303から指定された方向(水平又は垂直)の半画素ブロックを作成し、半画素フレームに格納する。 In the second motion compensation process, first, for a non-intra macroblock (non-intra MB) that requires a motion compensation process, the block reference unit 320 uses a motion vector to specify the direction (horizontal or vertical). ) Is an integer from a conventional frame, and a vector whose direction (horizontal or vertical) specified by the switching means 303 is a non-integer is to create a half pixel by referring to a desired block from a half pixel frame created in advance. A half-pixel block is created by linear interpolation only when the means 321 is a non-integer vector in the direction (vertical or horizontal) not specified by the switching means 303, and the adding means 322 outputs the half-pixel and the output of the inverse orthogonal transform means 302. The outputs of the creating means 321 are added. The output of the adding means 3 2 2 is output as a decoding result. Further, for the I picture and P picture, the unidirectional half-pixel creating unit 323 creates a half-pixel block in the direction (horizontal or vertical) designated by the switching unit 303 and stores it in the half-pixel frame.

図5,図6及び図7を参照して、切り替え手段303の動作を説明する。切り替え手段303は、ブロック参照手段310,320からマクロブロックあたりのベクトルの情報を受け、Pピクチャ及びBピクチャに対し、それぞれ、マクロブロックあたりの水平又は垂直方向で非整数のベクトル数の期待値HPp(0≦HPp≦1),HPb(0≦HPb≦2)と、水平方向で非整数のベクトル数の期待値HPhp(0≦HPhp≦1),HPhb(0≦HPhb≦2)と、垂直方向で非整数のベクトル数の期待値HPvp(0≦HPvp≦1),HPvb(0≦HPvb≦2)とを算出する。この結果のうち、水平又は垂直方向で非整数のベクトル数の期待値HPp,HPbと、PピクチャとBピクチャの構成割合を示すPピクチャの出現周期Mを用いて、図5に示す式で被参照フレームにかかる非整数ベクトル数の期待値Eを求める。この結果から、図6に示す判定条件により、上述の2つの動き補償処理を切り替える。 The operation of the switching unit 303 will be described with reference to FIGS. The switching unit 303 receives vector information per macroblock from the block reference units 310 and 320 , and for the P picture and B picture, the expected value HPp of the number of non-integer vectors in the horizontal or vertical direction per macroblock, respectively. (0 ≦ HPp ≦ 1), HPb (0 ≦ HPb ≦ 2), expected value HPhp (0 ≦ HPhp ≦ 1), HPhb (0 ≦ HPhb ≦ 2) in the horizontal direction, and vertical direction Thus, the expected values HPvp (0 ≦ HPvp ≦ 1) and HPvb (0 ≦ HPvb ≦ 2) of the non-integer number of vectors are calculated. Of these results, the expected values HPp and HPb of the number of non-integer vectors in the horizontal or vertical direction and the appearance period M of the P picture indicating the composition ratio of the P picture and the B picture are used in the equation shown in FIG. An expected value E of the number of non-integer vectors related to the reference frame is obtained. From this result, the two motion compensation processes described above are switched according to the determination condition shown in FIG.

第2の動き補償処理が選択された場合、Pピクチャの出現周期Mと、求めた水平方向で非整数のベクトル数の期待値HPhp,HPhbと、垂直方向で非整数のベクトル数の期待値HPvp,HPvbを用いて、図7に示す式で被参照フレームにかかる水平方向と垂直方向の非整数ベクトル数の期待値Eh,Evを求め、その値が大きい方を第2の動き補償処理において予め作成する半画素フレームの方向(水平又は垂直)とし、その結果を関連するブロック参照手段320、半画素作成手段321及び単方向半画素作成手段323に通知する。   When the second motion compensation process is selected, the appearance period M of the P picture, the expected values HPhp and HPhb of the non-integer number of vectors in the horizontal direction, and the expected value HPvp of the non-integer number of vectors in the vertical direction , HPvb, the expected values Eh, Ev of the number of non-integer vectors in the horizontal direction and the vertical direction applied to the frame to be referred to are obtained by the equation shown in FIG. The direction of the half-pixel frame to be created (horizontal or vertical) is notified, and the result is notified to the related block reference means 320, half-pixel creation means 321 and unidirectional half-pixel creation means 323.

このように、PピクチャとBピクチャの構成割合と非整数の動きベクトル数の統計によって、予め作成する半画素作成処理の有効度合いを計測できる。この計測結果を利用することで、最適な動き補償処理を適用できる。   In this way, the effectiveness of the half-pixel creation process created in advance can be measured by the statistics of the composition ratio of P picture and B picture and the number of non-integer motion vectors. By using this measurement result, an optimal motion compensation process can be applied.

本発明の第1実施例の概略構成ブロック図である。It is a schematic block diagram of the first embodiment of the present invention. 第1実施例の切り替え手段で用いる計算式である。It is a calculation formula used with the switching means of 1st Example. 第1実施例の切り替え手段で用いる切り替え条件である。This is a switching condition used by the switching means of the first embodiment. 本発明の第2実施例の概略構成ブロック図である。It is a schematic block diagram of the second embodiment of the present invention. 第2実施例の切り替え手段で用いる計算式1である。It is the calculation formula 1 used with the switching means of 2nd Example. 第2実施例の切り替え手段で用いる切り替え条件である。This is a switching condition used by the switching means of the second embodiment. 第2実施例の切り替え手段で用いる計算式2である。It is the calculation formula 2 used with the switching means of 2nd Example. 第1従来例の概略構成ブロック図である。It is a schematic block diagram of a first conventional example. 第2従来例の概略構成ブロック図である。It is a schematic block diagram of a 2nd prior art example. 動き補償処理に関する動作説明図である。It is operation | movement explanatory drawing regarding a motion compensation process.

符号の説明Explanation of symbols

100:ハフマン復号手段
101:逆量子化手段
102:逆直交変換手段
103:切り替え手段
110:ブロック参照手段
111,121,131:半画素作成手段
112,122,132:加算手段
123:水平方向半画素作成手段
133:水平垂直方向半画素作成手段
142:全方向半画素作成手段
300:ハフマン復号手段
301:逆量子化手段
302:逆直交変換手段
303:切り替え手段
310,320:ブロック参照手段
311,321:半画素作成手段
312,322:加算手段
323:単方向半画素作成手段
500:ハフマン復号手段
501:逆量子化手段
502:逆直交変換手段
510:ブロック参照手段
511:半画素作成手段
512:加算手段
700:ハフマン復号手段
701:逆量子化手段
702:逆直交変換手段
710,721:ブロック参照手段
711:半画素作成手段
712,722:加算手段
720:動きベクトル補正手段
100: Huffman decoding means 101: Inverse quantization means 102: Inverse orthogonal transformation means 103: Switching means 110: Block reference means 111, 121, 131: Half pixel creation means 112, 122, 132: Addition means 123: Horizontal half pixel Creation means 133: Horizontal vertical half-pixel creation means 142: Omni-directional half-pixel creation means 300: Huffman decoding means 301: Inverse quantization means 302: Inverse orthogonal transform means 303: Switching means 310, 320: Block reference means 311 and 321 : Half pixel creation means 312, 322: addition means 323: unidirectional half pixel creation means 500: Huffman decoding means 501: inverse quantization means 502: inverse orthogonal transform means 510: block reference means 511: half pixel creation means 512: addition Means 700: Huffman decoding means 701: Inverse quantization means 702: Inverse orthogonal transform means 10,721: block reference means 711 is a half pixel creation means 712, 722: adder means 720: the motion vector correction unit

Claims (1)

画像復号方法であって、
動き補償処理を必要とするノンイントラマクロブロックに対して、動きベクトルを用いて所望のブロックを参照する際に、被参照フレームにかかるベクトル数の期待値に基づいて、第1の動き補償工程か第2の動き補償工程かを切り替える切り替え工程と、
動きベクトルの全方向において半画素作成処理を行う第1の動き補償工程と、
予め動きベクトルの全方向において半画素作成処理を行うことで作成した半画素フレームを参照する第2の動き補償工程
とを具備し、
前記切り替え工程は、被参照フレームにかかるベクトル数の期待値が所定値よりも小さい場合に、前記第1の動き補償工程に切り替え、被参照フレームにかかるベクトル数の期待値が前記所定値よりも大きい場合には、前記第2の動き補償工程に切り替える
ことを特徴とする画像復号方法。
An image decoding method,
When referring to a desired block using a motion vector for a non-intra macroblock that requires motion compensation processing , the first motion compensation step is performed based on the expected value of the number of vectors for the referenced frame. A switching step for switching to the second motion compensation step;
A first motion compensation step for performing half-pixel creation processing in all directions of the motion vector;
A second motion compensation step that refers to a half-pixel frame created in advance by performing half-pixel creation processing in all directions of the motion vector
And
The switching step switches to the first motion compensation step when the expected value of the number of vectors applied to the referenced frame is smaller than a predetermined value, and the expected value of the number of vectors applied to the referenced frame is less than the predetermined value. If larger , the image decoding method is switched to the second motion compensation step .
JP2005009782A 2005-01-18 2005-01-18 Image decoding method Expired - Fee Related JP4533157B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005009782A JP4533157B2 (en) 2005-01-18 2005-01-18 Image decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005009782A JP4533157B2 (en) 2005-01-18 2005-01-18 Image decoding method

Publications (3)

Publication Number Publication Date
JP2006203280A JP2006203280A (en) 2006-08-03
JP2006203280A5 JP2006203280A5 (en) 2008-02-28
JP4533157B2 true JP4533157B2 (en) 2010-09-01

Family

ID=36960916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005009782A Expired - Fee Related JP4533157B2 (en) 2005-01-18 2005-01-18 Image decoding method

Country Status (1)

Country Link
JP (1) JP4533157B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2200321A1 (en) * 2008-12-19 2010-06-23 Thomson Licensing Method for browsing video streams

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0686266A (en) * 1992-08-31 1994-03-25 Sony Corp Picture signal encoder
JPH11239352A (en) * 1997-12-10 1999-08-31 Matsushita Electric Ind Co Ltd Image processing method, image processing unit and data storage medium
JP2002232881A (en) * 2001-01-31 2002-08-16 Toshiba Corp Moving picture decoding method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0686266A (en) * 1992-08-31 1994-03-25 Sony Corp Picture signal encoder
JPH11239352A (en) * 1997-12-10 1999-08-31 Matsushita Electric Ind Co Ltd Image processing method, image processing unit and data storage medium
JP2002232881A (en) * 2001-01-31 2002-08-16 Toshiba Corp Moving picture decoding method and device

Also Published As

Publication number Publication date
JP2006203280A (en) 2006-08-03

Similar Documents

Publication Publication Date Title
JP5197591B2 (en) VIDEO ENCODING METHOD AND DECODING METHOD, DEVICE THEREOF, THEIR PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM
JP5426655B2 (en) Compressed video encoding device, compressed video decoding device, compressed video encoding method, and compressed video decoding method
JPH07162869A (en) Moving image encoder
JPH1146364A (en) Motion compensation coding and decoding device, and coding and decoding device
JP4875007B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture decoding apparatus
JP2004096757A (en) Interpolation method and its apparatus for move compensation
JP2005510150A (en) Video decoding with reduced complexity using larger pixel grid motion compensation
KR20030058873A (en) Apparatus for motion estimation and mode decision and method thereof
JP2009010492A (en) Image decoder and image conversion circuit
JP2008502196A (en) Global motion vector search method
CN110719489A (en) Motion vector correction method, motion vector prediction method, motion vector encoding device, and storage device
JP2914448B2 (en) Motion vector prediction encoding method and motion vector decoding method, prediction encoding device and decoding device, and recording medium recording motion vector prediction encoding program and decoding program
WO2002089476A1 (en) Detection and proper interpolation of interlaced moving areas for mpeg decoding with embedded resizing
KR100393063B1 (en) Video decoder having frame rate conversion and decoding method
JP2012134870A (en) Video encoding method and video decoding method
JP2006246277A (en) Re-encoding apparatus, re-encoding method, and re-encoding program
JP4533157B2 (en) Image decoding method
US20100177827A1 (en) Sub-pixel generating apparatus, sub-pixel generating method and storage medium, as well as motion compensating apparatus
JP2002044669A (en) Apparatus and method for conversion of image information
JP2011004051A (en) Moving images coding method, moving images coding device and moving images coding program
JP2004349756A (en) Motion image coding apparatus, method, and motion image coding program
JP4561701B2 (en) Video encoding device
JP4849441B2 (en) Video encoding device
JP3862479B2 (en) How to prevent drift errors in video downconversion
JP5718438B2 (en) Compressed video encoding device, compressed video decoding device, compressed video encoding method, and compressed video decoding method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100520

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100611

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees