JP4139342B2 - Motion vector detection method, motion vector detection device, motion vector detection program, and computer-readable recording medium recording the program - Google Patents
Motion vector detection method, motion vector detection device, motion vector detection program, and computer-readable recording medium recording the program Download PDFInfo
- Publication number
- JP4139342B2 JP4139342B2 JP2004066644A JP2004066644A JP4139342B2 JP 4139342 B2 JP4139342 B2 JP 4139342B2 JP 2004066644 A JP2004066644 A JP 2004066644A JP 2004066644 A JP2004066644 A JP 2004066644A JP 4139342 B2 JP4139342 B2 JP 4139342B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- value
- sad
- motion vector
- true
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、ディジタル動画像の符号化で用いられる画像ブロックの動きベクトルを検出する動きベクトル検出方法及びその装置と、その動きベクトル検出方法の実現に用いられる動きベクトル検出プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。 The present invention records a motion vector detection method and apparatus for detecting a motion vector of an image block used for encoding a digital moving image, a motion vector detection program used for realizing the motion vector detection method, and the program. The present invention relates to a computer-readable recording medium.
従来の動画像圧縮符号化方式(MPEG−1,MPEG−2,MPEG−4等)では、動画像フレーム間の動きベクトル検出を行う。 In a conventional moving image compression encoding method (MPEG-1, MPEG-2, MPEG-4, etc.), motion vector detection between moving image frames is performed.
この動きベクトル検出では、ある画像フレーム(以下、画像フレーム1と呼ぶ)内のあるブロック(以下、ブロックBi と呼ぶ)に対し、別の画像フレーム(以下、画像フレーム2と呼ぶ)に含まれるブロックの中で最も類似度の高いブロック(以下、ブロックB0 と呼ぶ)を求め、ブロックBi とブロックB0 との座標変分を求める処理を行う。 In this motion vector detection, a block (hereinafter referred to as block B i ) in a certain image frame (hereinafter referred to as image frame 1) is included in another image frame (hereinafter referred to as image frame 2). A block having the highest similarity among the blocks (hereinafter referred to as a block B 0 ) is obtained, and a process for obtaining a coordinate variation between the block B i and the block B 0 is performed.
ブロックB0 を求めるには、画像フレーム2からあるブロック(以下、ブロックBj と呼ぶ)を取り出してはブロックBi との類似度を算出し、その算出値が最高か否かを判定することを繰り返す、というブロックマッチング処理が行われる。
In order to obtain the block B 0 , a certain block (hereinafter referred to as the block B j ) is extracted from the
一般に、類似度にはSAD(Sum of Absolute Difference)を用いる。SADは、ブロックBi とブロックBj がともにN個の画素を含む場合、ブロックBi 内の画素値Ia とブロックBj 内の画素値Ja との絶対差|Ia −Ja |により、Σa |Ia −Ja |で計算される。ここでΣa は、ブロック内の全画素を参照するように添字aを変化させて積算することを意味する。SADを1回求めるのには、N回の絶対差とN−1回の加算とが必要である。類似度にSADを用いた場合、最高の類似度を持つブロックB0 は最小のSADを持つブロックである。 Generally, SAD (Sum of Absolute Difference) is used for the similarity. SAD, when the block B i and the block B j are both containing N pixels, the absolute difference between the pixel value J a in the pixel values I a and the block B j in the block B i | I a -J a | Thus, Σ a | I a −J a | is calculated. Here sigma a means to integration by changing the suffixes a to refer to all the pixels in the block. To obtain SAD once, N absolute differences and N-1 additions are required. When SAD is used for the similarity, the block B 0 having the highest similarity is a block having the minimum SAD.
SADを用いてブロックB0 を求めるには、画像フレーム2からブロックBj を取り出し、ブロックBi とブロックBj とのSAD(以下、SADj と呼ぶ)を計算し、探索中の暫定最小値SADcandと比較して、
SADj =Σa |Ia −Ja |<SADcand (1)式
ならばSADcandをSADj で置き換え、ブロックBj の座標を記録する。この処理を全てのブロックBj について終えた時のSADcandが最小SAD値のSADmin となる。
In order to obtain the block B 0 using SAD, the block B j is extracted from the
If SAD j = Σ a | I a −J a | <SAD cand (1), SAD cand is replaced with SAD j and the coordinates of block B j are recorded. SAD cand when this process is completed for all the blocks B j becomes SAD min of the minimum SAD value.
通常、画素値は8ビットのデータ(値域は0から255)として表される。ゆえに、絶対差|Ia −Ja |は8ビットの演算器で求められ、その積算値であるSADj はブロック内画素数Nで決まるビット数にて表される。 Usually, the pixel value is represented as 8-bit data (value range is 0 to 255). Therefore, the absolute difference | I a −J a | is obtained by an 8-bit computing unit, and the integrated value SAD j is represented by the number of bits determined by the number N of pixels in the block.
この動きベクトル検出を効率的に行う手法としてSEA探索法が知られている(例えば、非特許文献1参照)。 An SEA search method is known as a method for efficiently performing this motion vector detection (see, for example, Non-Patent Document 1).
SEA探索法では、画像フレーム内の隣接画素同士をまとめて粗い画素(粗い画像)を作り、その画素値でSADを求め、それを下限閾値として、真の画素値によるSAD計算を省略するものである。画素を粗くすることでブロック内画素数が減るため、粗い画素値でのSAD計算にかかる演算量は真の画素値でのそれよりも少ない。それゆえ、SAD計算全体に要する演算量を削減できる効果が見込まれる。
上述したことから分かるように、動きベクトル検出では、一つのブロックBi に対してでもブロックB0 を求めるのにSADを多数回計算せねばならない。さらに、この処理は、画像フレーム1内の全ブロックに対して行わねばならず、膨大な回数のSAD計算、すなわち、絶対差とその加算という演算を要する。こうした処理を現実的な量の演算リソースで処理するには非常に多くの処理時間がかかることになる。
As can be seen from the above, in motion vector detection, the SAD must be calculated many times to obtain the block B 0 even for one block B i . Furthermore, this process must be performed for all blocks in the
処理時間を短縮する方法の一つとして、画素値Ia およびJa を表現するビット数を減らし、一定のビット幅の演算器で一度に演算できる画素数を増やすことで、処理効率の向上を図る方法が考えられる。 One way to shorten the processing time is to reduce the number of bits that represent the pixel values I a and J a , and increase the number of pixels that can be computed at once with a constant bit width computing unit, thereby improving processing efficiency. A method to plan is conceivable.
しかし、画素値Ia およびJa のそれぞれのビット数を減らして値Ya およびZa とし、単純に、これを用いて、(1)式と同様に
Σa |Ya −Za |≦Xmin
という更新式に従って、最小SAD値“Xmin ”を持つブロックを見つけたとしても、それが必ずしも真の最小SAD値“SADmin ”を持つブロックB0 であるとは限らない。
However, the number of bits of each of the pixel values I a and J a is reduced to values Y a and Z a, and this is used simply as in the expression (1).
Σ a | Y a −Z a | ≦ X min
Even if a block having the minimum SAD value “X min ” is found according to the update equation, it is not always the block B 0 having the true minimum SAD value “SAD min ”.
それゆえ、ビット数を減らした画素値でSAD計算を行い、処理の効率化を図る試みはそのままではうまくいかないことになる。この点については、SEA探索法でも同様である。 Therefore, an attempt to increase the processing efficiency by performing SAD calculation with a pixel value with a reduced number of bits will not work as it is. This also applies to the SEA search method.
本発明はかかる事情に鑑みてなされたものであって、画像ブロックの動きベクトルの検出処理時間の短縮を実現する新たな動きベクトル検出技術の提供を目的とする。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide a new motion vector detection technique that realizes a reduction in the processing time for detecting a motion vector of an image block.
〔1〕第1の構成
上記目的を達成するために、本発明の動きベクトル検出装置は、画像ブロック間でSAD値を算出し、それに基づいて、画像ブロックの動きベクトルを検出する処理を行うときにあって、(イ)動きベクトルの検出対象となる画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、動きベクトルの検出対象となる画像を減ビット画像に変換する変換手段と、(ロ)減ビット画像を処理対象として、画像ブロック間でSAD値を算出し、それらの中で最小値となるものを抽出する抽出手段と、(ハ)抽出手段の抽出した最小SAD値を基準にして、減ビット画像の画素値でのSAD値を評価することで、真のSAD値の算出対象となる画像ブロックであるのか否かを判定する判定手段と、(ニ)真のSAD値の算出対象となる画像ブロックを処理対象として、画像ブロック間で真の画素値でのSAD値を算出し、それらの中で最小値となるものを特定する特定手段と、(ホ)特定手段の特定した真のSAD値の算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する検出手段とを備えるように構成し、さらに、判定手段は、「X min ≦X j ≦X min +2×N」に基づいて、真のSAD値の算出対象となる画像ブロックであるのか否かを判定するように構成する。ここで、X j は判定対象の画像ブロックの持つ減ビット画像の画素値でのSAD値を表し、X min は減ビット画像の画素値でのSAD値の最小値を表し、Nは画像ブロック内の画素数を表す。
[1] First Configuration To achieve the above object, the motion vector detection device of the present invention calculates a SAD value between image blocks and performs a process of detecting a motion vector of the image block based on the SAD value. Then, (b) detecting a motion vector by dividing the pixel value of an image to be detected by a motion vector by a number of 1 or more and generating an image with the integer part of the quotient as a new pixel value. A conversion means for converting a target image into a reduced bit image; and (b) an extraction means for calculating a SAD value between image blocks with the reduced bit image as a processing target and extracting a minimum value among them. (C) Whether or not the image block is a target for calculating a true SAD value by evaluating the SAD value at the pixel value of the reduced bit image on the basis of the minimum SAD value extracted by the extracting means. Judgment hand to judge (D) The SAD value at the true pixel value is calculated between the image blocks, and the image block that is the target of the true SAD value calculation is calculated, and the minimum value among them is specified. specifying means, form configured to include a (e) based on the specified image block became calculated original true SAD value of the specific means, detecting means for detecting a motion vector of an image block, further, the determination The means is configured to determine whether or not the image block is a true SAD value calculation target based on “X min ≦ X j ≦ X min + 2 × N”. Here, X j represents the SAD value at the pixel value of the reduced bit image of the image block to be determined, X min represents the minimum value of the SAD value at the pixel value of the reduced bit image, and N represents the value in the image block Represents the number of pixels.
以上の各処理手段が動作することで実現される本発明の動きベクトル検出方法はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどのような適当な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてCPUなどの制御手段上で動作することにより本発明を実現することになる。 The motion vector detection method of the present invention realized by the operation of each of the above processing means can be realized by a computer program, and this computer program is recorded on an appropriate recording medium such as a semiconductor memory and provided. Or provided via a network, installed when implementing the present invention, and operated on a control means such as a CPU, thereby realizing the present invention.
このように構成される本発明の動きベクトル検出装置では、先ず最初に、動きベクトルの検出対象となる画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、動きベクトルの検出対象となる画像を減ビット画像に変換する。 In the motion vector detection device of the present invention configured as described above, first, the pixel value of the image to be detected as a motion vector is divided by a number of 1 or more, and the integer part of the quotient is determined as a new pixel value. By generating an image to be converted, an image that is a motion vector detection target is converted into a reduced bit image.
続いて、このようにして得た減ビット画像を処理対象として、画像ブロック間でSAD値を算出し、それらの中で最小値となるものを抽出する。 Subsequently, using the reduced bit image obtained in this way as a processing target, SAD values are calculated between the image blocks, and a minimum value among them is extracted.
続いて、この抽出した最小SAD値(減ビット画像の画素値で得たもの)を基準にして、減ビット画像の画素値でのSAD値を評価することで、真のSAD値の算出対象となる画像ブロックであるのか否かを判定する。 Subsequently, by evaluating the SAD value at the pixel value of the reduced bit image on the basis of the extracted minimum SAD value (obtained from the pixel value of the reduced bit image), the true SAD value can be calculated. It is determined whether or not it is an image block.
具体的には、判定対象の画像ブロックの持つ減ビット画像の画素値でのSAD値をXj 、減ビット画像の画素値でのSAD値の最小値をXmin 、画像ブロック内の画素数をNで表すならば、
Xmin ≦Xj ≦Xmin +2×N
という評価式に基づいて、真のSAD値の算出対象となる画像ブロックであるのか否かを判定するのである。
Specifically, the SAD value at the pixel value of the reduced bit image of the image block to be determined is X j , the minimum value of the SAD value at the pixel value of the reduced bit image is X min , and the number of pixels in the image block is If represented by N,
X min ≦ X j ≦ X min + 2 × N
Based on the evaluation formula, it is determined whether or not the image block is a target for calculating a true SAD value.
続いて、このようにして得た真のSAD値の算出対象となる画像ブロックを処理対象として、画像ブロック間で真の画素値でのSAD値を算出し、それらの中で最小値となるものを特定する。 Subsequently, the SAD value at the true pixel value is calculated between the image blocks, with the image block that is the target of calculation of the true SAD value obtained as described above being processed, and the minimum value among them is calculated. Is identified.
そして、最後に、この特定した真のSAD値の算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する。 Finally, the motion vector of the image block is detected based on the image block from which the specified true SAD value is calculated.
このようにして、本発明によれば、2つの画像フレーム間の動きベクトルを検出する方法として、画素値を表現するビット数を減じた計算が主体となることから、一定のビット幅の演算リソースでの処理効率を向上させることができるようになる。 As described above, according to the present invention, as a method of detecting a motion vector between two image frames, calculation is performed mainly by reducing the number of bits representing a pixel value. It becomes possible to improve the processing efficiency in the process.
〔2〕第2の構成
上記目的を達成するために、本発明の動きベクトル検出装置は、SEA探索法に基づいて画像ブロックの動きベクトルを検出する処理を行うときにあって、(イ)動きベクトルの検出対象となる画像を変換対象として、隣接画素同士をまとめることで、動きベクトルの検出対象となる画像を粗画像に変換する変換手段と、(ロ)粗画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、粗画像を減ビット画像に変換する変換手段と、(ハ)減ビット画像を処理対象として、画像ブロック間でSAD値を算出する算出手段と、(ニ)算出手段の算出したSAD値と、減ビット画像を得るための除算に用いた数値と、粗画像におけるブロック内画素数と、真のSAD値の暫定最小値とに基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定する判定手段と、(ホ)真の画素値でのSAD値の算出を省略できない画像ブロックを処理対象として、真の画素値でのSAD値を算出し、それに応じて真のSAD値の暫定最小値を更新するのか否かを判断して、更新する必要がある場合には、それを更新する更新手段と、(ヘ)真のSAD値の暫定最小値が最小値として確定するときに、その算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する検出手段とを備えるように構成し、さらに、判定手段は、「SAD cand <Q×XC j +Q×NC」に基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定するように構成する。ここで、XC j は減ビット画像の画素値でのSAD値を表し、Qは除算に用いた数値を表し、NCは粗画像におけるブロック内画素数を表し、SAD cand は真のSAD値の暫定最小値を表す。
[2] Second Configuration In order to achieve the above object, the motion vector detection device of the present invention performs processing for detecting a motion vector of an image block based on the SEA search method. A conversion means for converting an image to be a motion vector detection target into a coarse image by combining adjacent pixels with an image to be detected as a vector as a conversion target; and (b) a pixel value of the coarse image of 1 or more A conversion means for converting a coarse image into a reduced bit image by dividing the number by a number and generating an image having the integer part of the quotient as a new pixel value; Calculating means for calculating the SAD value between them, (d) the SAD value calculated by the calculating means, the numerical value used for the division to obtain the reduced bit image, the number of pixels in the block in the coarse image, and the true SAD value And provisional minimum And (e) an image block that cannot omit the calculation of the SAD value at the true pixel value. As a processing target, calculate a SAD value with a true pixel value, determine whether or not to update the provisional minimum value of the true SAD value accordingly, and update it if necessary. And (f) detecting means for detecting a motion vector of the image block based on the image block from which the provisional minimum value of the true SAD value is determined as the minimum value. form structure as further determining means, based on the "SAD cand <Q × XC j + Q × NC ", whether or not an image block can be omitted to calculate the SAD value of a true pixel value determination To be configured. Here, XC j represents the SAD value at the pixel value of the reduced bit image, Q represents the numerical value used for the division, NC represents the number of pixels in the block in the coarse image, and SAD cand is a provisional value of the true SAD value. Represents the minimum value.
以上の各処理手段が動作することで実現される本発明の動きベクトル検出方法はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどのような適当な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてCPUなどの制御手段上で動作することにより本発明を実現することになる。 The motion vector detection method of the present invention realized by the operation of each of the above processing means can be realized by a computer program, and this computer program is recorded on an appropriate recording medium such as a semiconductor memory and provided. Or provided via a network, installed when implementing the present invention, and operated on a control means such as a CPU, thereby realizing the present invention.
このように構成される本発明の動きベクトル検出装置では、先ず最初に、動きベクトルの検出対象となる画像を変換対象として、隣接画素同士をまとめることで、動きベクトルの検出対象となる画像を粗画像に変換する。 In the motion vector detection device of the present invention configured as described above, first, an image that is a motion vector detection target is first set as a conversion target, and adjacent pixels are grouped together to roughly coarsen an image that is a motion vector detection target. Convert to image.
続いて、このようにして得た粗画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、粗画像を減ビット画像に変換する。 Subsequently, by dividing the pixel value of the coarse image obtained in this way by a number of 1 or more and generating an image with the integer part of the quotient as a new pixel value, the coarse image is converted into a reduced bit image. To do.
続いて このようにして得た減ビット画像を処理対象として、画像ブロック間でSAD値を算出する。 Subsequently, SAD values are calculated between image blocks using the reduced bit image obtained in this way as a processing target.
続いて、この算出したSAD値(減ビット画像の画素値で得たもの)と、減ビット画像を得るための除算に用いた数値と、粗画像におけるブロック内画素数と、真のSAD値の暫定最小値とに基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定する。 Subsequently, the calculated SAD value (obtained from the pixel value of the reduced bit image), the numerical value used for division to obtain the reduced bit image, the number of pixels in the block in the coarse image, and the true SAD value Based on the provisional minimum value, it is determined whether or not the image block can omit the calculation of the SAD value with the true pixel value.
具体的には、判定対象の画像ブロックの持つ減ビット画像の画素値でのSAD値をXCj 、減ビット画像を得るための除算に用いた数値をQ、粗画像におけるブロック内画素数をNC、真のSAD値の暫定最小値をSADcandで表すならば、
SADcand<Q×XCj +Q×NC
という評価式に基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定するのである。
Specifically, the SAD value at the pixel value of the reduced bit image of the image block to be determined is XC j , the numerical value used for division to obtain the reduced bit image is Q, and the number of pixels in the block in the coarse image is NC If the provisional minimum value of the true SAD value is represented by SAD cand ,
SAD cand <Q × XC j + Q × NC
Based on the evaluation formula, it is determined whether or not the image block can calculate the SAD value with the true pixel value.
続いて、このようにして得た真の画素値でのSAD値の算出を省略できない画像ブロックを処理対象として、真の画素値でのSAD値を算出し、それに応じて真のSAD値の暫定最小値を更新するのか否かを判断して、更新する必要がある場合には、それを更新する。 Subsequently, the SAD value at the true pixel value is calculated for the image block in which the calculation of the SAD value at the true pixel value obtained in this way cannot be omitted, and the provisional of the true SAD value is correspondingly calculated. It is determined whether or not the minimum value is updated, and if it is necessary to update, it is updated.
そして、最後に、真のSAD値の暫定最小値が最小値として確定するときに、その算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する。 Finally, when the provisional minimum value of the true SAD value is determined as the minimum value, the motion vector of the image block is detected based on the image block that is the calculation source.
このようにして、本発明によれば、SEA探索法に基づいて画像ブロックの動きベクトルを検出する処理を行うときにあって、2つの画像フレーム間の動きベクトルを検出する方法として、画素値を表現するビット数を減じた計算が主体となることから、一定のビット幅の演算リソースでの処理効率を向上させることができるようになる。 Thus, according to the present invention, when performing a process of detecting a motion vector of an image block based on the SEA search method, a pixel value is used as a method of detecting a motion vector between two image frames. Since the calculation is performed mainly by reducing the number of bits to be expressed, it is possible to improve the processing efficiency with a calculation resource having a certain bit width.
〔3〕本発明の理論的根拠
〔3−1〕第1の構成の理論的根拠
本発明の第1の構成では、従来技術の問題を解決するために、ビット数を減じた画素値で得られるSAD値と、真の画素値により得られるSAD値との間にある関係を導出し、これを利用することで動きベクトル検出処理を効率化するという方法を採っている。
[3] Theoretical basis of the present invention [3-1] Theoretical basis of the first configuration In the first configuration of the present invention, in order to solve the problem of the prior art, the pixel value obtained by reducing the number of bits is obtained. A method of deriving a relationship between the SAD value to be obtained and the SAD value obtained from the true pixel value and utilizing this is used to make the motion vector detection process more efficient.
まず、画素値Ia およびJa (ともに非負の整数)を、それぞれ定数Q(1以上の実数)で除算し、その整数部を取り出してUa およびVa とする。以後、ビット数削減のこのやり方を、定数Qで減ビットする、と呼ぶことにする。 First, pixel values I a and J a (both are non-negative integers) are respectively divided by a constant Q (a real number of 1 or more), and the integer parts are taken out to be U a and V a . Hereinafter, this method of reducing the number of bits will be referred to as decrementing by a constant Q.
適当な定数Qを用いれば、値Ua およびVa は、それぞれ、真の画素値Ia およびJa よりも少ないビット数で表現できる。 With an appropriate constant Q, the values U a and V a can be expressed with fewer bits than the true pixel values I a and J a , respectively.
このとき、後述するように、
|Ia −Ja |−Q≦Q×|Ua −Va |≦|Ia −Ja |+Q (2)式
が成り立つ。
At this time, as will be described later,
| I a -J a | -Q ≦ Q × | U a -V a | ≦ | a -J a | + Q (2) expression holds.
この(2)式をΣa で積算すると、
Σa |Ia −Ja |−Q×N≦Q×Σa |Ua −Va |
≦Σa |Ia −Ja |+Q×N (3)式
を得る。ここで、Nはブロック内の画素数である。
When integrating the equation (2) in sigma a,
Σ a | I a -J a | -Q × N ≦ Q × Σ a | U a -V a |
≦ Σ a | I a −J a | + Q × N (3) is obtained. Here, N is the number of pixels in the block.
この(3)式は、定数Qで減ビットして得るSAD値“Σa |Ua −Va |”のQ倍に対して、真のSAD値“Σa |Ia −Ja |”を使って、その上限値と下限値を与えるものである。 This expression (3) indicates that the SAD value “Σ a | U a −V a |” obtained by subtracting a bit by a constant Q is Q times the true SAD value “Σ a | I a −J a |”. Is used to give the upper and lower limits.
この(3)式から、減ビット後のSAD値を用いてブロックB0 を求める方法が導ける。 From this equation (3), a method of obtaining the block B 0 using the SAD value after the reduced bit can be derived.
いま、ブロックB0 に対して、定数Qで減ビットして得られるSAD値をXとすると、後述するように、Xは下記の(4)式で示す範囲にある。ここで、Xmin は定数Qで減ビットして得たSAD値の中での最小の値、Nはブロック内の画素数である。 Assuming that the SAD value obtained by subtracting bits from the block B 0 by a constant Q is X, as described later, X is in the range represented by the following equation (4). Here, X min is the minimum value among the SAD values obtained by subtracting bits with a constant Q, and N is the number of pixels in the block.
Xmin ≦X≦Xmin +2×N (4)式
この関係を利用してブロックB0 を求めるには、まず、画像フレーム2からブロックBj を参照し、ブロックBi とブロックBj の各画素値を定数Qで減ビットしてSAD値“Xj ”を得て、Xj をメモリに記録した後、探索中に減ビットにより得たSAD値についての暫定最小値Xcandと比較し、
Xj ≦Xcand (5)式
ならばXcandをXj に置き換える。
X min ≦ X ≦ X min + 2 × N (4) In order to obtain the block B 0 using this relationship, first, the block B j is referred to from the
If X j ≦ X cand (5), X cand is replaced with X j .
この処理を、ブロックBj の全てについて終えたときのXcandが、減ビットで得られる最小SAD値“Xmin ”である。 This process, X cand when finished for all the blocks B j is the minimum SAD value obtained at reduced bit "X min".
次に、全てのブロックBj に対して、メモリに記録された減ビット後のSAD値“Xj ”とこのXmin とを比較し、(4)式を満たすブロックBj についてのみ、真の画素値Ia 、Ja を用いて真のSAD値を計算する。 Next, the SAD value “X j ” after bit reduction recorded in the memory is compared with this X min for all the blocks B j , and only the block B j satisfying the expression (4) is true. A true SAD value is calculated using the pixel values I a and J a .
そして、(1)式に基づいて、真の最小SAD値“SADmin ”を持つブロックB0 を求める。 Then, a block B 0 having a true minimum SAD value “SAD min ” is obtained based on the equation (1).
このようにして、本発明の第1の構成では、ビット数を減じた画素値で得られるSAD値と、真の画素値により得られるSAD値との間にある関係を導出し、これを利用することで動きベクトル検出処理を効率化するという方法を採るのである。 In this way, in the first configuration of the present invention, a relationship between the SAD value obtained by the pixel value obtained by subtracting the number of bits and the SAD value obtained by the true pixel value is derived and used. By doing so, a method of improving the efficiency of motion vector detection processing is adopted.
〔3−2〕第2の構成の理論的根拠
本発明の第2の構成は、従来技術の問題を解決するために、SEA探索法を利用して動きベクトルを検出する。
[3-2] Theoretical basis of the second configuration The second configuration of the present invention detects a motion vector using the SEA search method in order to solve the problems of the prior art.
SEA探索法は、画像フレーム内の隣接画素同士をまとめて粗い画素(粗い画像)を作り、その画素値でSADを求め、それを下限閾値として、真の画素値によるSAD計算を省略する方法であり、本発明の第2の構成は、この粗い画像を減ビットして、SEA探索法を適用するということを基本的構成とする。 The SEA search method is a method in which adjacent pixels in an image frame are grouped together to form a coarse pixel (coarse image), SAD is obtained from the pixel value, and this is used as a lower limit threshold, and SAD calculation using a true pixel value is omitted. In the second configuration of the present invention, the basic configuration is to apply the SEA search method by reducing the bit of the coarse image.
粗画像フレーム1からあるブロックBC(1) i 、粗画像フレーム2からあるブロックBC(2) j を参照し、そのSAD値をCj とし、各々のブロックに含まれる画素値を定数Qで減ビットし、その画素値で計算したSAD値をXCj とすると、SEA探索法では、真のSAD値の暫定最小値“SADcand”と比較して、
SADcand<Cj (6)式
が成り立つブロックについては、真の画素値でのSAD計算を省略できる。
The block BC (1) i from the
For blocks where SAD cand <C j (6) holds, SAD calculation with true pixel values can be omitted.
いま、減ビットして得たSAD値“XCj ”についても同様の条件式を考える。上述の(3)式が減ビットで得たSAD値と元のSAD値との間で上限値を定める式であることから、
Cj ≦Q×XCj +Q×NC (7)式
が導かれる。ここで、NCは粗画像でのブロック内画素数である。
A similar conditional expression is considered for the SAD value “XC j ” obtained by subtracting bits. Since the above equation (3) is an equation for determining an upper limit value between the SAD value obtained by subtracting bits and the original SAD value,
C j ≦ Q × XC j + Q × NC (7) is derived. Here, NC is the number of pixels in the block in the coarse image.
すると、(6)式と(7)式とから、
SADcand<Q×XCj +Q×NC (8)式
が減ビット後の条件式であることがわかる。
Then, from Equation (6) and Equation (7),
It can be seen that SAD cand <Q × XC j + Q × NC (8) is a conditional expression after the bit reduction.
本発明の第2の構成は、SEA探索法と減ビット画像への変換とを組み合わせることで動きベクトルを検出するときにあって、この(7)式に従って、真の画素値でのSAD計算を省略できるブロックであるのか否かを判定しつつ、SEA探索法を利用して動きベクトルを検出するのである。 The second configuration of the present invention is to detect a motion vector by combining the SEA search method and the conversion to a reduced bit image. According to this equation (7), SAD calculation with a true pixel value is performed. The motion vector is detected using the SEA search method while determining whether the block can be omitted.
〔3−3〕(2)式の導出
次に、(2)式を導出する。
[3-3] Derivation of Expression (2) Next, Expression (2) is derived.
非負の整数Ia とJa を定数Qで割り、その整数部をそれぞれUa とVa とし、
Ua =Ia /Q−di (A1−1)
Va =Ja /Q−dj (A1−2)
と表す。ここで、0≦di ≦1、0≦dj ≦1である。
Divide the non-negative integers I a and J a by the constant Q, and let the integer parts be U a and V a , respectively.
U a = I a / Qd i (A1-1)
V a = J a / Q−d j (A1-2)
It expresses. Here, 0 ≦ d i ≦ 1 and 0 ≦ d j ≦ 1.
このとき、minkowsky 不等式の定理から、
|Ia −Ja |=Q×|(Ua +di )−(Va +dj )|
≦Q×|Ua −Va |+Q×|di −dj | (A1−3)
となる。
Then, from the minkowsky inequality theorem,
| I a −J a | = Q × | (U a + d i ) − (V a + d j ) |
≦ Q × | U a −V a | + Q × | d i −d j | (A1-3)
It becomes.
また、0≦di ≦1、0≦dj ≦1なので、
|di −dj |≦1 (A1−4)
が成り立つ。
Since 0 ≦ d i ≦ 1 and 0 ≦ d j ≦ 1,
| D i −d j | ≦ 1 (A1-4)
Holds.
よって、(A1−3)と(A1−4)とから、
|Ia −Ja |≦Q×|Ua −Va |+Q×|di −dj |
≦Q×|Ua −Va |+Q (A1−5)
が成り立つ。
Therefore, from (A1-3) and (A1-4),
| I a −J a | ≦ Q × | U a −V a | + Q × | d i −d j |
≦ Q × | U a −V a | + Q (A1-5)
Holds.
また、三角不等式の定理と(A1−4)とから、
Q×|Ua −Va |=|(Ia −Ja )+Q×(dj −di )|
≦|Ia −Ja |+Q×|dj −di |
≦|Ia −Ja |+Q (A1−6)
も成り立つ。
From the triangle inequality theorem and (A1-4),
Q × | U a −V a | = | (I a −J a ) + Q × (d j −d i ) |
≦ | I a −J a | + Q × | d j −d i |
≦ | I a −J a | + Q (A1-6)
Also holds.
したがって、(A1−5)と(A1−6)とから、
|Ia −Ja |−Q≦Q×|Ua −Va |≦|Ia −Ja |+Q (A1−7)
という(2)式が導かれる(証明終了)。
Therefore, from (A1-5) and (A1-6),
| I a −J a | −Q ≦ Q × | U a −V a | ≦ | I a −J a | + Q (A1-7)
The following equation (2) is derived (end of proof).
〔3−4〕(4)式の導出
次に、(3)式が成り立つときに、真の最小SADを持つブロックB0 について、減ビットして得たSAD値“X”が(4)式を満たすことについて証明する。
[3-4] Derivation of Expression (4) Next, when Expression (3) holds, the SAD value “X” obtained by subtracting the bit B 0 having the true minimum SAD is expressed by Expression (4). Prove about meeting.
まず、(3)式を再掲する。 First, formula (3) is re-displayed.
Σa |Ia −Ja |−Q×N≦Q×Σa |Ua −Va |
≦Σa |Ia −Ja |+Q×N (3)式
この(3)式は、あるブロックに対して、減ビットして得られるSAD値“Σa |Ua −Va |”の上限値と下限値を、真のSAD値“Σa |Ia −Ja |”を使って与えるものである。すなわち、上限値は“Σa |Ia −Ja |+Q×N”であり、下限値は“Σa |Ia −Ja |−Q×N”である。
Σ a | I a -J a | -Q × N ≦ Q × Σ a | U a -V a |
≦ Σ a | I a −J a | + Q × N (3) Expression (3) is an expression for the SAD value “Σ a | U a −V a |” obtained by subtracting bits from a certain block. The upper limit value and the lower limit value are given by using a true SAD value “Σ a | I a −J a |”. That is, the upper limit value is "Σ a | + Q × N | I a -J a", the lower limit value is "Σ a | -Q × N | I a -J a".
(3)式を変形すると、
Q×Σa |Ua −Va |−Q×N≦Σa |Ia −Ja |
≦Q×Σa |Ua −Va |+Q×N (A2−l)
となる。
When the equation (3) is transformed,
Q × Σ a | U a −V a | −Q × N ≦ Σ a | I a −J a |
≦ Q × Σ a | U a −V a | + Q × N (A2−1)
It becomes.
(A2−1)式は、(3)式とは逆に、真のSAD値“Σa |Ia −Ja |”の値域を定めるものである。上限が“Q×Σa |Ua −Va |+Q×N”であり、下限値が“Q×Σa |Ua −Va |−Q×N”である。 In contrast to equation (3), equation (A2-1) defines the true SAD value “Σ a | I a −J a |”. The upper limit is “Q × Σ a | U a −V a | + Q × N”, and the lower limit is “Q × Σ a | U a −V a | −Q × N”.
いま、最小の真のSAD値“SADmin ”を持つブロックB0 に対して、減ビットして得るSAD値をXとする。また、減ビットで得られたSAD値の中で最小の値をXmin とする。 Now, let X be the SAD value obtained by subtracting bits from the block B 0 having the smallest true SAD value “SAD min ”. Further, the minimum value among the SAD values obtained by subtracting bits is set to X min .
まず、SADmin が“Q×Xmin +Q×N”より大きいとしてみる。このとき、Xmin を与えたブロックの真のSAD値は、最大でも“Q×Xmin +Q×N”であることが(A2−2)式で明らかなので、SADmin より小さい値を持つ。これはSADmin が最小であるという仮定に反する。ゆえに、SADmin は“Q×Xmin +Q×N”以下でなければならない。 First, it is assumed that SAD min is larger than “Q × X min + Q × N”. At this time, the true SAD value of the block to which X min is given is “Q × X min + Q × N” at the maximum, which is apparent from the equation (A2-2), and therefore has a value smaller than SAD min . This is contrary to the assumption that SAD min is minimal. Therefore, SAD min must be equal to or less than “Q × X min + Q × N”.
さらに、ブロックB0 について得たXは、その上限値が“SADmin +Q×N”であることが(3)式でわかるので、
Q×X≦SADmin +Q×N≦Q×Xmin +2×Q×N (A2−2)
が成り立つ。
Furthermore, since X obtained for the block B 0 can be seen from the equation (3), the upper limit value is “SAD min + Q × N”.
Q × X ≦ SAD min + Q × N ≦ Q × X min + 2 × Q × N (A2-2)
Holds.
また、いかなるブロックに対しても、減ビットで得られるSAD値がXmin より小さくなることはないので、明らかに、
Xmin ≦X (A2−3)
である。
Also, for any block, since it is not possible SAD value obtained in reduced bits is less than X min, obviously,
X min ≦ X (A2-3)
It is.
ゆえに、(A2−2)と(A2−3)とから、
Xmin ≦X≦Xmin +2×N (A2−4)
という(4)式が満たされることがわかる(証明終了)。
Therefore, from (A2-2) and (A2-3),
X min ≦ X ≦ X min + 2 × N (A2-4)
It can be seen that the following equation (4) is satisfied (end of proof).
以上説明したように、本発明は、2つの画像フレーム間の動きベクトルを検出する方法として、画素値を表現するビット数を減じた計算を主体とすることから、一定のビット幅の演算リソースでの処理効率を向上させることができるようになる。 As described above, the present invention mainly uses a calculation in which the number of bits representing a pixel value is reduced as a method for detecting a motion vector between two image frames. The processing efficiency can be improved.
以下、実施の形態に従って本発明を詳細に説明する。 Hereinafter, the present invention will be described in detail according to embodiments.
ここで、以下に説明する実施の形態では、各画像フレームにおいて全てのブロックは順序付けが成されており、1個の参照変数により順序参照が可能であるものとする。また、ブロック内の画素についても順序付けがなされており、1個の参照変数で順序参照が可能であるとする。 Here, in the embodiment described below, it is assumed that all blocks are ordered in each image frame and can be referred to by one reference variable. Further, it is assumed that the pixels in the block are also ordered, and can be referred to by one reference variable.
最初に、上述した第1の構成に従う本発明の動きベクトル検出装置1の実施の形態について説明する。
First, an embodiment of the motion
図1に、第1の構成に従う本発明の動きベクトル検出装置1の装置構成を図示する。
FIG. 1 shows a device configuration of a motion
この図に示すように、本発明の動きベクトル検出装置1は、第1の構成を実現する場合には、画像フレーム1と画像フレーム2という動きベクトルの検出対象となる2つの画像フレームを格納する画像フレーム用メモリ10と、画像フレーム1と画像フレーム2との間の動きベクトルを検出する動きベクトル検出機構11aと、動きベクトル検出機構11aが生成する減ビット画像を格納する減ビット画像用メモリ12と、作業用に用意される作業用メモリ13と、検出結果の動きベクトルを格納する動きベクトル用メモリ14とを備える。
As shown in this figure, when realizing the first configuration, the motion
ここで、後述するメモリM(1) ,M(2) は減ビット画像用メモリ12に該当し、後述するメモリMXは作業用メモリ13に該当し、後述するメモリMVは動きベクトル用メモリ14に該当する。
Here, memories M (1) and M (2) described later correspond to the reduced
この動きベクトル検出機構11aは、減ビット画像への変換を実行する減ビット画像生成部と、減ビット画素値でのSAD値を算出して、その中の最小のものを抽出する最小減ビットSAD値抽出部と、その抽出結果に基づいて、真の画素値でのSAD値を算出する必要のあるブロックであるのか否かを判定する真SAD値算出要否判定部と、その判定結果に基づいて、真の画素値でのSAD値を算出して、その中の最小のものを特定する最小真SAD値特定部と、その特定結果に基づいて、動きベクトルを検出する動きベクトル検出部とを備える。
The motion
図2及び図3に、動きベクトル検出機構11aの実行するフローチャートを図示する。次に、このフローチャートに従って、このように構成される本発明の動きベクトル検出装置1の実行する動きベクトル検出処理について詳細に説明する。
2 and 3 show flowcharts executed by the motion
動きベクトル検出機構11aは、先ず最初に、ステップ10で、変数iを初期化し、変数Nにブロック内画素数を入れる。
First, the motion
続いて、ステップ11で、変数jを初期化する。また、画像フレーム1の第i番目のブロックB(1) i 内の画素値を順次参照し、定数Qで減ビットした値を求めてメモリM(1) に順次記憶しておく。さらに、変数Xmin に十分大きな値を入れておく。
Subsequently, in step 11, the variable j is initialized. Further, the pixel values in the i-th block B (1) i of the
続いて、ステップ12で、画像フレーム2の第j番目のブロックB(2) j 内の画素値を順次参照し、定数Qで減ビットした値を求めてメモリM(2) に順次記憶しておく。
Subsequently, in
続いて、ステップ13で、メモリM(1) およびメモリM(2) から減ビット後の画素値を順次読み出し、減ビット後のSAD値“Xj ”を算出して、メモリMXの第j番目に記憶しておく。
Subsequently, in
続いて、ステップ14で、暫定最小値“Xmin ”とXj とを比較して、“Xmin >Xj ”であることを判断するときには、ステップ15に進んで、Xmin をXj で置き換え、一方、“Xmin >Xj ”でないことを判断するときには、この置き換え処理を省略する。 Subsequently, in step 14, when the provisional minimum value “X min ” is compared with X j and it is determined that “X min > X j ”, the process proceeds to step 15 where X min is set to X j . On the other hand, when it is determined that “X min > X j ” is not satisfied, this replacement process is omitted.
続いて、ステップ16で、変数jを更新し、その更新したjの値が画像フレーム2のブロック数より小さいことを判断するときには、画像フレーム2に未処理のブロックが残されているので、ステップ12に戻る。
Subsequently, in step 16, when the variable j is updated and it is determined that the updated value of j is smaller than the number of blocks of the
このようにして、ステップ12〜ステップ16の処理を繰り返していくことで、減ビット後のSAD値“Xj ”の中の最小値“Xmin ”が求められることになる。
In this way, by repeating the processing of
これから、ステップ16で、画像フレーム2の全てのブロックを処理したことで最小値“Xmin ”が求められたことを判断すると、ステップ17に進んで、変数jを初期化する。また、変数SADmin に十分大きな値を入れておく。さらに、変数idxを初期化しておく。
When it is determined in step 16 that the minimum value “X min ” has been obtained by processing all the blocks of the
続いて、ステップ18で、メモリMXの第j番目にある減ビット後のSAD値“Xj ”を参照する。 Subsequently, in step 18, the SAD value “X j ” after the decrementing bit in the memory MX is referred to.
続いて、ステップ19で、参照したXj と最小値“Xmin ”とを比較して、
Xmin ≦Xj ≦Xmin +2×N
であるのか否かを判断して、この式が成立しないことを判断するときには、これから説明するステップ20〜ステップ22の処理を省略して、ステップ23に進む。
Subsequently, in step 19, the referred X j is compared with the minimum value “X min ”.
X min ≦ X j ≦ X min + 2 × N
When it is determined whether or not this equation is satisfied, the processing of step 20 to step 22 to be described below is omitted and the processing proceeds to step 23.
一方、ステップ19で、“Xmin ≦Xj ≦Xmin +2×N”が成立することを判断するときには、真の画素値でのSAD値を算出する必要のあるブロックであることを判断して、ステップ20に進んで、画像フレーム1の第i番目のブロックB(1) i 内の画素値と、画像フレーム2の第j番目のブロックB(2) j 内の画素値とを順次参照して、真のSAD値“SADj ”を算出する。
On the other hand, when it is determined in step 19 that “X min ≦ X j ≦ X min + 2 × N” is satisfied, it is determined that the block needs to calculate the SAD value at the true pixel value. Then, the process proceeds to step 20, and sequentially refers to the pixel values in the i-th block B (1) i of the
続いて、ステップ21で、暫定最小値“SADmin ”とSADj とを比較して、“SADmin >SADj ”であることを判断するときには、ステップ22に進んで、SADmin をSADj で置き換えるとともに、変数idxにjを入れ、一方、“SADmin >SADj ”でないことを判断するときには、この置き換え処理を省略する。 Subsequently, in step 21, when the provisional minimum value “SAD min ” is compared with SAD j and it is determined that “SAD min > SAD j ”, the process proceeds to step 22 where SAD min is set to SAD j . At the same time, j is inserted into the variable idx. On the other hand, when it is determined that “SAD min > SAD j ” is not satisfied, this replacement process is omitted.
続いて、ステップ23で、変数jを更新し、その更新したjの値が画像フレーム2のブロック数より小さいことを判断するときには、画像フレーム2に未処理のブロックが残されているのでステップ18に戻る。
Subsequently, in step 23, when the variable j is updated and it is determined that the updated value of j is smaller than the number of blocks of the
このようにして、ステップ18〜ステップ23の処理を繰り返していくことで、真のSAD値“SADj ”の中の最小値“SADmin ”が求められることになる。 In this way, by repeating the processing from step 18 to step 23, the minimum value “SAD min ” in the true SAD value “SAD j ” is obtained.
これから、ステップ23で、画像フレーム2の全てのブロックを処理したことで真のSAD値の最小値“SADmin ”が求められたことを判断すると、ステップ24に進んで、画像フレーム1におけるブロックB(1) i の座標と、画像フレーム2における第idx番目のブロックB(2) idx の座標との変分を求め、メモリMVの第i番地に格納する。
If it is determined in step 23 that the minimum value “SAD min ” of the true SAD value has been obtained by processing all the blocks of the
このステップ24の段階で、ブロックB(1) i に対する動きベクトルが求まることになる。 In step 24, a motion vector for block B (1) i is obtained.
続いて、ステップ25で、変数iを更新し、その更新したiの値が画像フレーム1のブロック数より小さいことを判断するときには、画像フレーム1に未処理のブロックが残されているので、ステップ11に戻る。
Subsequently, in step 25, when the variable i is updated and it is determined that the updated value of i is smaller than the number of blocks of the
このようにして、本発明の動きベクトル検出装置1は、図2及び図3のフローチャートに従って、画素値を表現するビット数を減じた計算を主体として2つの画像フレーム間の動きベクトルを検出するように処理するので、一定のビット幅の演算リソースでの処理効率を向上させることができるようになる。
In this way, the motion
次に、上述した第2の構成に従う本発明の動きベクトル検出装置1の実施の形態について説明する。
Next, an embodiment of the motion
本発明の動きベクトル検出装置1は、上述した第2の構成に従うには、SEA探索法を利用して動きベクトルを検出する処理を行う。
In order to follow the second configuration described above, the motion
SEA探索法では、画像フレーム内の隣接画素同士をまとめて粗い画素(粗い画像)を作り、その画素値でSADを求め、それを下限閾値として、真の画素値によるSAD計算を省略するものである。画素を粗くすることでブロック内画素数が減るため、粗い画素値でのSAD計算にかかる演算量は真の画素値でのそれよりも少ない。それゆえ、SAD計算全体に要する演算量を削減できる効果が見込まれる。 In the SEA search method, adjacent pixels in an image frame are grouped together to form a coarse pixel (coarse image), SAD is obtained from the pixel value, and this is used as a lower limit threshold value, and SAD calculation using a true pixel value is omitted. is there. Since the number of pixels in the block is reduced by making the pixels coarse, the amount of calculation for the SAD calculation with coarse pixel values is smaller than that with the true pixel values. Therefore, it is expected that the amount of calculation required for the entire SAD calculation can be reduced.
例えば、画像フレーム1の2つの画素(画素値a1,a2)を、1画素(画素値a1 +a2 )にまとめて粗画像フレーム1を作成し、同様に、画像フレーム2についても2つの画素(画素値b1,b2)を、1画素(画素値b1 +b2 )にまとめて粗画像フレーム2を作成したとする。このとき、粗画像フレームでのブロック内画素数NCは、元の画像フレームでのブロック内画素数Nの2分の1である。
For example, two pixels (pixel values a 1 and a 2 ) of the
いま、粗画像フレーム1および粗画像フレーム2に対して、あるブロック間でSAD値を得たとすると、この値については、minkowsky 不等式
|(a1 +a2 )−(b1 +b2 )|≦|a1 −b1 |+|a2 −b2 |
が成り立つことから、元の画像フレーム1および画像フレーム2の対応するブロック間での真のSAD値に対して、その下限を与えていることになる。
Now, assuming that the SAD value is obtained between certain blocks for the
Therefore, the lower limit is given to the true SAD value between the corresponding blocks of the
ゆえに、探索中の真のSAD値の暫定最小値をSADcandとし、粗画像フレーム1および粗画像フレーム2のあるブロック間で計算したSAD値をCとすると、
SADcand<C
であれば、このブロック間に関して真のSAD値を計算する必要はない。
Therefore, if the provisional minimum value of the true SAD value being searched is SAD cand and the SAD value calculated between certain blocks of
SAD cand <C
If so, it is not necessary to calculate a true SAD value for this block.
これがSEA探索法の基本原理である。このことから分かるように、SEA探索法では、粗画像フレームの画素値を用いたSAD計算が主となる。これらの画素値は、元の画像フレームの画素値を加算することで得られるので、その表現に用いるビット数は元の画素値のそれよりも多い。それゆえ、SEA探索法でのSAD計算には、真の画素値でのSAD計算よりも、ビット幅の大きい演算リソースが必要となる。 This is the basic principle of the SEA search method. As can be seen from this, the SEA search method mainly performs SAD calculation using the pixel values of the coarse image frame. Since these pixel values are obtained by adding the pixel values of the original image frame, the number of bits used for the expression is larger than that of the original pixel values. Therefore, the SAD calculation in the SEA search method requires a calculation resource having a larger bit width than the SAD calculation with a true pixel value.
そこで、第2の構成に従う本発明の動きベクトル検出装置1では、粗画像フレームを減ビットすることで、SEA探索法で要求されるSAD計算の効率化を図るものである。
Therefore, in the motion
粗画像フレーム1からあるブロックBC(1) i 、粗画像フレーム2からあるブロックBC(2) j を参照し、そのSAD値をCj とし、各々のブロックに含まれる画素値を定数Qで減ビットし、その画素値で計算したSAD値をXCj とすると、SEA探索法では、真のSAD値の暫定最小値“SADcand”と比較して、
SADcand<Cj (6)式
が成り立つブロックについては、真の画素値でのSAD計算を省略できる。
The block BC (1) i from the
For blocks where SAD cand <C j (6) holds, SAD calculation with true pixel values can be omitted.
いま、減ビットして得たSAD値“XCj ”についても同様の条件式を考える。上述の(3)式が減ビットで得たSAD値と元のSAD値との間で上限値を定める式であることから、
Cj ≦Q×XCj +Q×NC (7)式
が導かれる。ここで、NCは粗画像でのブロック内画素数である。
A similar conditional expression is considered for the SAD value “XC j ” obtained by subtracting bits. Since the above equation (3) is an equation for determining an upper limit value between the SAD value obtained by subtracting bits and the original SAD value,
C j ≦ Q × XC j + Q × NC (7) is derived. Here, NC is the number of pixels in the block in the coarse image.
すると、(6)式と(7)式とから、
SADcand<Q×XCj +Q×NC (8)式
が減ビット後の条件式であることがわかる。
Then, from Equation (6) and Equation (7),
It can be seen that SAD cand <Q × XC j + Q × NC (8) is a conditional expression after the bit reduction.
第2の構成に従う本発明の動きベクトル検出装置1は、この(7)式に従って、真の画素値でのSAD計算を省略できるブロックであるのか否かを判定しつつ、SEA探索法を利用して動きベクトルを検出するのである。
The motion
図4に、第2の構成に従う本発明の動きベクトル検出装置1の装置構成を図示する。
FIG. 4 illustrates a device configuration of the motion
この図に示すように、本発明の動きベクトル検出装置1は、第2の構成を実現する場合には、画像フレーム1と画像フレーム2という動きベクトルの検出対象となる2つの画像フレームを格納する画像フレーム用メモリ10と、画像フレーム1と画像フレーム2との間の動きベクトルを検出する動きベクトル検出機構11bと、動きベクトル検出機構11bが生成する粗画像を格納する粗画像フレーム用メモリ15と、動きベクトル検出機構11bが生成する減ビット画像を格納する減ビット画像用メモリ12と、作業用に用意される作業用メモリ13と、検出結果の動きベクトルを格納する動きベクトル用メモリ14とを備える。
As shown in this figure, when realizing the second configuration, the motion
ここで、後述するメモリMC(1) ,MC(2) は減ビット画像用メモリ12に該当し、後述するメモリMVは動きベクトル用メモリ14に該当する。
Here, memories MC (1) and MC (2) to be described later correspond to the reduced
この動きベクトル検出機構11bは、粗画像への変換を実行する粗画像生成部と、減ビット画像への変換を実行する減ビット画像生成部と、減ビット画素値でのSAD値を算出する減ビットSAD値算出部と、その算出結果と真のSAD値の暫定最小値とに基づいて、真の画素値でのSAD値を算出する必要のあるブロックであるのか否かを判定する真SAD値算出要否判定部と、その判定結果に基づいて、真の画素値でのSAD値を算出して、それに応じて真のSAD値の暫定最小値を更新する真SAD暫定最小値更新部と、真のSAD値の暫定最小値が確定するときに、それに基づいて、動きベクトルを検出する動きベクトル検出部とを備える。
The motion
図5及び図6に、動きベクトル検出機構11bの実行するフローチャートを図示する。次に、このフローチャートに従って、このように構成される本発明の動きベクトル検出装置1の実行する動きベクトル検出処理について詳細に説明する。
5 and 6 show flowcharts executed by the motion
動きベクトル検出機構11bは、先ず最初に、ステップ30で、画像フレーム1および画像フレーム2をそれぞれ、粗画像フレーム1および粗画像フレーム2に変換し、粗画像フレーム用メモリ15に格納する。さらに、変数Nに元の画像フレームでのブロック内画素数を入れ、変数NCに粗画像フレームでのブロック内画素数を入れる。
First, in step 30, the motion
続いて、ステップ31で、変数iを初期化する。 Subsequently, in step 31, the variable i is initialized.
続いて、ステップ32で、変数jを初期化する。そして、粗画像フレーム1の第i番目のブロックBC(1) i 内の画素値を順次参照し、その値を定数Qで減ビットしてメモリMC(1) に順次記憶する。さらに、真のSAD値の暫定最小値を示す変数SADcandに十分大きな値を入れるとともに、変数idxを初期化する。
Subsequently, in step 32, the variable j is initialized. Then, the pixel values in the i-th block BC (1) i of the
続いて、ステップ33で、粗画像フレーム2の第j番目のブロックBC(2) j 内の画素値を順次参照し、その値を定数Qで減ビットしてメモリMC(2) に順次記憶する。
Subsequently, in step 33, the pixel values in the j-th block BC (2) j of the
続いて、ステップ34で、メモリMC(1) およびメモリMC(2) から減ビット後の画素値を順次読み出し、減ビット後のSAD値“XCj ”を算出する。 Subsequently, in step 34, the pixel values after the reduced bit are sequentially read from the memory MC (1) and the memory MC (2), and the SAD value “XC j ” after the reduced bit is calculated.
続いて、ステップ35で、算出したXCj とSADcandとQとNCとに基づいて、
SADcand<Q×XCj +Q×NC
という式が成立するのか否かを判断して、この式が成立することを判断するときには、これから説明するステップ36〜ステップ38の処理を省略して、ステップ39に進む。
Subsequently, in step 35, based on the calculated XC j , SAD cand , Q and NC,
SAD cand <Q × XC j + Q × NC
When it is determined whether or not the above equation is established, and it is determined that this equation is established, the processing of step 36 to step 38 described below is omitted, and the process proceeds to step 39.
一方、ステップ35で、“SADcand<Q×XCj +Q×NC”が成立しないことを判断するときには、真の画素値でのSAD値を算出する必要のあるブロックであることを判断して、ステップ36に進んで、画像フレーム1の第i番目のブロックB(1) i 内の画素値と、画像フレーム2の第j番目のブロックB(2) j 内の画素値とを順次参照して、真のSAD値“SADj ”を算出する。
On the other hand, when it is determined in step 35 that “SAD cand <Q × XC j + Q × NC” does not hold, it is determined that the block needs to calculate the SAD value at the true pixel value, Proceeding to step 36, the pixel values in the i-th block B (1) i of the
続いて、ステップ37で、暫定最小値“SADcand”とSADj とを比較して、“SADcand>SADj ”であることを判断するときには、ステップ38に進んで、SADcandをSADj で置き換えるとともに、変数idxにjを入れ、一方、“SADcand>SADj ”でないことを判断するときには、この置き換え処理を省略する。 Subsequently, in step 37, when the provisional minimum value “SAD cand ” is compared with SAD j and it is determined that “SAD cand > SAD j ”, the routine proceeds to step 38, where SAD cand is set to SAD j . At the same time, j is entered in the variable idx, and when it is determined that “SAD cand > SAD j ” is not satisfied, this replacement process is omitted.
続いて、ステップ39で、変数jを更新し、その更新したjの値が画像フレーム2のブロック数より小さいことを判断するときには、画像フレーム2に未処理のブロックが残されているので、ステップ33に戻る。
Subsequently, in step 39, when the variable j is updated, and it is determined that the updated value of j is smaller than the number of blocks of the
このようにして、ステップ33〜ステップ39の処理を繰り返していくことで、真のSAD値の最小値“SADmin ”が求められることになる。 In this manner, the minimum value “SAD min ” of the true SAD value is obtained by repeating the processing of step 33 to step 39.
これから、ステップ39で、画像フレーム2の全てのブロックを処理したことで真のSAD値の最小値“SADmin ”が求められたことを判断すると、ステップ40に進んで、画像フレーム1におけるブロックB(1) i の座標と、画像フレーム2における第idx番目のブロックB(2) idx の座標との変分を求め、メモリMVの第i番地に格納する。
If it is determined in step 39 that the minimum value “SAD min ” of the true SAD value has been obtained by processing all the blocks of the
このステップ40の段階で、ブロックB(1) i に対する動きベクトルが求まることになる。 In step 40, a motion vector for the block B (1) i is obtained.
続いて、ステップ41で、変数iを更新し、その更新したiの値が画像フレーム1のブロック数より小さいことを判断するときには、画像フレーム1に未処理のブロックが残されているので、ステップ32に戻る。
Subsequently, in step 41, when the variable i is updated and it is determined that the updated value of i is smaller than the number of blocks of the
このようにして、本発明の動きベクトル検出装置1は、図5及び図6のフローチャートに従って、SEA探索法を使って動きベクトルを検出するときに、画素値を表現するビット数を減じた計算を主体として2つの画像フレーム間の動きベクトル量を検出するように処理するので、一定のビット幅の演算リソースでの処理効率を向上させることができるようになる。
In this way, the motion
本発明の動きベクトル検出装置1は、減ビットした画素値に対してSAD値を計算することを基本的な構成としている。このSAD値の計算はハードウェアで実現することも可能であるし、ソフトウェアで計算することも可能である。
The motion
図7に、ハードウェアを使って、減ビットした画素値に対してSAD値を計算する構成の一例を示す。 FIG. 7 shows an example of a configuration for calculating the SAD value for the reduced pixel value using hardware.
上述したように、ブロックB(1) i の各画素値を定数Qで減ビットした値はメモリMC(1) に格納され、ブロックB(2) j の各画素値を減ビットした値はメモリMC(2) に格納されている。 As described above, a value obtained by subtracting each pixel value of the block B (1) i by the constant Q is stored in the memory MC (1) , and a value obtained by subtracting each pixel value of the block B (2) j is stored in the memory. Stored in MC (2) .
図7に示すハードウェアにおいて、入力端子1にメモリMC(1) から画素値が与えられ、入力端子2にメモリMC(2) からの画素値が与えられて、減算器100は、入力端子1と入力端子2との差信号を端子3に出力する。
In the hardware shown in FIG. 7, the pixel value from the memory MC (1) is given to the
これを受けて、符号判定器101は、端子3の信号の符号を端子4に出力し、一方、符号反転器102は、端子3の信号の符号を反転して端子5に出力する。
In response to this, the sign determination unit 101 outputs the sign of the signal at the
これを受けて、選択器103は、端子4の符号が正を示すときには、端子3と出力端子6との間を結線し、端子4の符号が負を示すときには、端子5と出力端子6との間を結線する。
In response to this, the selector 103 connects the
この後段に、ハードウェア構成の累積加算器が設けられており、この構成に従って、減ビットした画素値についてのSAD値が計算されることになる。 In this subsequent stage, a cumulative adder having a hardware configuration is provided, and the SAD value for the reduced bit value is calculated according to this configuration.
図8に、ソフトウェアを使って、減ビットした画素値に対してSAD値を計算する構成の一例を示す。 FIG. 8 shows an example of a configuration for calculating the SAD value for the reduced pixel value using software.
画像フレーム1および画像フレーム2の画素値がともに8より多いビット数で表現されている場合を例にとる。このとき、定数Qを適当にとれば、ブロックB(1) i およびブロックB(2) j の各画素値の表現ビット数を8まで減らすことができる。そのような定数Qで減ビットして、メモリM(1) とメモリM(2) のそれぞれに8ビットデータが格納されているものとする。
The case where the pixel values of the
いま、市販の計算機に搭載されている一般的なCPUの多くが持つ並列演算命令(アセンブラ命令)の利用を考える。例えば、あるCPUにはpsadbw命令という命令があり、8ビット画素値8個分同士のSAD計算を一度に計算できる。 Consider the use of parallel operation instructions (assembler instructions) possessed by many common CPUs installed in commercially available computers. For example, a certain CPU has an instruction called psadbw instruction, and can calculate SAD calculations for eight 8-bit pixel values at a time.
本発明を応用すれば、8以上の多ビット画素値に対しても、減ビットにより、上記のような汎用の並列演算命令が利用可能となる。 If the present invention is applied, the general-purpose parallel operation instruction as described above can be used for multi-bit pixel values of 8 or more by subtracting bits.
図8では、このpsadbw命令を用いる構成を示しており、
(1)メモリM(1) の先頭アドレスM1から数えてAバイト目からA+7バイト目まで に置かれた8ビット画素値8個分をレジスタmm0にロードし、
(2)メモリM(2) の先頭アドレスM2から数えてAバイト目からA+7バイト目まで に置かれた8ビット画素値8個分をレジスタmm1にロードし、
(3)並列演算命令psadbwにより、レジスタmm0とmm1とに置かれた画素8個同志 のSAD値をレジスタmm0に得る。
という手順に従って、減ビットした画素値についてのSAD値が計算されることになる。
FIG. 8 shows a configuration using this psadbw instruction.
(1) Load eight 8-bit pixel values from the Ath byte to the A + 7th byte counted from the start address M1 of the memory M (1) into the register mm0.
(2) Eight 8-bit pixel values placed from the Ath byte to the A + 7th byte counted from the start address M2 of the memory M (2) are loaded into the register mm1.
(3) By the parallel operation instruction psadbw, the SAD value of eight pixels placed in the registers mm0 and mm1 is obtained in the register mm0.
According to the above procedure, the SAD value for the reduced pixel value is calculated.
本発明は動画像の画像を符号化を行う画像符号化装置に適用することができ、本発明を適用することで、従来よりも高速な符号化処理が実現できるようになる。 The present invention can be applied to an image encoding apparatus that encodes an image of a moving image. By applying the present invention, an encoding process that is faster than the conventional one can be realized.
10 画像フレーム用メモリ
11 動きベクトル検出機構
12 減ビット画像用メモリ
13 作業用メモリ
14 動きベクトル用メモリ
15 粗画像フレーム用メモリ
DESCRIPTION OF
Claims (6)
動きベクトルの検出対象となる画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、該画像を減ビット画像に変換する過程と、
上記減ビット画像を処理対象として、画像ブロック間でSAD値を算出し、それらの中で最小値となるものを抽出する過程と、
上記最小SAD値を基準にして、上記算出したSAD値を評価することで、真のSAD値の算出対象となる画像ブロックであるのか否かを判定する過程と、
上記真のSAD値の算出対象となる画像ブロックを処理対象として、画像ブロック間で真の画素値でのSAD値を算出し、それらの中で最小値となるものを特定する過程と、
上記特定した真のSAD値の算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する過程とを備え、
上記判定する過程では、
X min ≦X j ≦X min +2×N
ただし、X j :判定対象の画像ブロックの持つ減ビット画像
の画素値でのSAD値
X min :減ビット画像の画素値でのSAD値の最小値
N :画像ブロック内の画素数
に基づいて、真のSAD値の算出対象となる画像ブロックであるのか否かを判定することを、
特徴とする動きベクトル検出方法。 A motion vector detection method for calculating a SAD value between image blocks and detecting a motion vector of the image block based on the SAD value,
A process of converting the image into a reduced bit image by dividing the pixel value of the image to be detected by the motion vector by a number of 1 or more and generating an image having the integer part of the quotient as a new pixel value; ,
A process of calculating SAD values between image blocks using the reduced bit image as a processing target, and extracting a minimum value among them;
Determining whether the image block is a true SAD value calculation target by evaluating the calculated SAD value with reference to the minimum SAD value;
The process of calculating the SAD value at the true pixel value between the image blocks with the image block that is the calculation target of the true SAD value as the processing target, and specifying the minimum value among them;
Based on the image block was the calculated original true SAD values specified above, Bei example a process of detecting a motion vector of an image block,
In the above determination process,
X min ≦ X j ≦ X min + 2 × N
Where X j : reduced bit image of the image block to be determined
SAD value at the pixel value of
X min : Minimum SAD value at the pixel value of the reduced bit image
N: Number of pixels in the image block
Based on, and this determines whether or not an image block to be calculated subject to the true SAD value,
A feature motion vector detection method.
動きベクトルの検出対象となる画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、該画像を減ビット画像に変換する手段と、
上記減ビット画像を処理対象として、画像ブロック間でSAD値を算出し、それらの中で最小値となるものを抽出する手段と、
上記最小SAD値を基準にして、上記算出したSAD値を評価することで、真のSAD値の算出対象となる画像ブロックであるのか否かを判定する手段と、
上記真のSAD値の算出対象となる画像ブロックを処理対象として、画像ブロック間で真の画素値でのSAD値を算出し、それらの中で最小値となるものを特定する手段と、
上記特定した真のSAD値の算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する手段とを備え、
上記判定する手段は、
X min ≦X j ≦X min +2×N
ただし、X j :判定対象の画像ブロックの持つ減ビット画像
の画素値でのSAD値
X min :減ビット画像の画素値でのSAD値の最小値
N :画像ブロック内の画素数
に基づいて、真のSAD値の算出対象となる画像ブロックであるのか否かを判定することを、
特徴とする動きベクトル検出装置。 A motion vector detection device for calculating a SAD value between image blocks and detecting a motion vector of the image block based on the SAD value,
Means for converting the image into a reduced bit image by dividing the pixel value of the image to be detected by the motion vector by one or more and generating an image having a new pixel value as an integer part of the quotient. ,
Means for calculating the SAD value between image blocks with the reduced bit image as a processing target, and extracting a minimum value among them;
Means for evaluating whether the image block is a true SAD value calculation target by evaluating the calculated SAD value with reference to the minimum SAD value;
Means for calculating the SAD value at the true pixel value between the image blocks, with the image block that is the calculation target of the true SAD value as a processing target, and specifying the minimum value among them;
Based on the image block was the calculated original true SAD values specified above, Bei example a means for detecting a motion vector of an image block,
The determination means is
X min ≦ X j ≦ X min + 2 × N
Where X j : reduced bit image of the image block to be determined
SAD value at the pixel value of
X min : Minimum SAD value at the pixel value of the reduced bit image
N: Number of pixels in the image block
Based on, and this determines whether or not an image block to be calculated subject to the true SAD value,
A featured motion vector detection device.
動きベクトルの検出対象となる画像を変換対象として、隣接画素同士をまとめることで、該画像を粗画像に変換する過程と、
上記粗画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、上記粗画像を減ビット画像に変換する過程と、
上記減ビット画像を処理対象として、画像ブロック間でSAD値を算出する過程と、
上記算出したSAD値と、上記除算に用いた数値と、上記粗画像におけるブロック内画素数と、真のSAD値の暫定最小値とに基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定する過程と、
上記省略できない画像ブロックを処理対象として、真の画素値でのSAD値を算出し、それに応じて上記暫定最小値を更新するのか否かを判断して、更新する必要がある場合には、それを更新する過程と、
上記暫定最小値が最小値として確定するときに、その算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する過程とを備え、
上記判定する過程では、
SAD cand <Q×XC j +Q×NC
ただし、XC j :減ビット画像の画素値でのSAD値
Q :除算に用いた数値
NC :粗画像におけるブロック内画素数
SAD cand :真のSAD値の暫定最小値
に基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定することを、
特徴とする動きベクトル検出方法。 A motion vector detection method for detecting a motion vector of an image block based on a SEA search method,
A process for converting an image into a coarse image by combining adjacent pixels with an image to be detected as a motion vector as a conversion target;
Dividing the coarse image into a reduced bit image by dividing the pixel value of the coarse image by a number equal to or greater than 1 and generating an image with the integer part of the quotient as a new pixel value;
A process of calculating SAD values between image blocks using the reduced bit image as a processing target;
Calculation of the SAD value at the true pixel value is omitted based on the calculated SAD value, the numerical value used for the division, the number of pixels in the block in the coarse image, and the provisional minimum value of the true SAD value. A process of determining whether or not the image block can be performed,
If it is necessary to update the SAD value at the true pixel value for the image block that cannot be omitted, and determine whether or not to update the provisional minimum value accordingly, The process of updating
When the temporary minimum value is determined as the minimum value, based on the image block from which it calculates source Bei example a process of detecting a motion vector of an image block,
In the above determination process,
SAD cand <Q × XC j + Q × NC
XC j : SAD value at the pixel value of the reduced bit image
Q: Numerical value used for division
NC: Number of pixels in block in coarse image
SAD cand : provisional minimum value of true SAD value
Based on, and this determines whether or not an image block can be omitted to calculate the SAD value of the true pixel values,
A feature motion vector detection method.
動きベクトルの検出対象となる画像を変換対象として、隣接画素同士をまとめることで、該画像を粗画像に変換する手段と、
上記粗画像の画素値を1以上の数で除算し、その商の整数部を新たな画素値とする画像を生成することで、上記粗画像を減ビット画像に変換する手段と、
上記減ビット画像を処理対象として、画像ブロック間でSAD値を算出する手段と、
上記算出したSAD値と、上記除算に用いた数値と、上記粗画像におけるブロック内画素数と、真のSAD値の暫定最小値とに基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定する手段と、
上記省略できない画像ブロックを処理対象として、真の画素値でのSAD値を算出し、それに応じて上記暫定最小値を更新するのか否かを判断して、更新する必要がある場合には、それを更新する手段と、
上記暫定最小値が最小値として確定するときに、その算出元となった画像ブロックに基づいて、画像ブロックの動きベクトルを検出する手段とを備え、
上記判定する手段は、
SAD cand <Q×XC j +Q×NC
ただし、XC j :減ビット画像の画素値でのSAD値
Q :除算に用いた数値
NC :粗画像におけるブロック内画素数
SAD cand :真のSAD値の暫定最小値
に基づいて、真の画素値でのSAD値の算出を省略できる画像ブロックであるのか否かを判定することを、
特徴とする動きベクトル検出装置。 A motion vector detection device that detects a motion vector of an image block based on a SEA search method,
Means for converting an image into a coarse image by grouping adjacent pixels with an image to be detected as a motion vector as a conversion target;
Means for converting the coarse image into a reduced bit image by dividing the pixel value of the coarse image by a number of 1 or more and generating an image having the integer part of the quotient as a new pixel value;
Means for calculating the SAD value between image blocks with the reduced bit image as a processing target;
Calculation of the SAD value with the true pixel value is omitted based on the calculated SAD value, the numerical value used for the division, the number of pixels in the block in the coarse image, and the provisional minimum value of the true SAD value. Means for determining whether the image block is a possible image block;
If it is necessary to update the SAD value at the true pixel value for the image block that cannot be omitted, and determine whether or not to update the provisional minimum value accordingly, A means of updating
When the temporary minimum value is determined as the minimum value, based on the image block from which it calculates source Bei example a means for detecting a motion vector of an image block,
The determination means is
SAD cand <Q × XC j + Q × NC
XC j : SAD value at the pixel value of the reduced bit image
Q: Numerical value used for division
NC: Number of pixels in block in coarse image
SAD cand : provisional minimum value of true SAD value
Based on, and this determines whether or not an image block can be omitted to calculate the SAD value of the true pixel values,
A featured motion vector detection device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004066644A JP4139342B2 (en) | 2004-03-10 | 2004-03-10 | Motion vector detection method, motion vector detection device, motion vector detection program, and computer-readable recording medium recording the program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004066644A JP4139342B2 (en) | 2004-03-10 | 2004-03-10 | Motion vector detection method, motion vector detection device, motion vector detection program, and computer-readable recording medium recording the program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005260392A JP2005260392A (en) | 2005-09-22 |
JP4139342B2 true JP4139342B2 (en) | 2008-08-27 |
Family
ID=35085723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004066644A Expired - Fee Related JP4139342B2 (en) | 2004-03-10 | 2004-03-10 | Motion vector detection method, motion vector detection device, motion vector detection program, and computer-readable recording medium recording the program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4139342B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8358696B2 (en) * | 2008-12-31 | 2013-01-22 | Intel Corporation | Motion estimation techniques |
CN116208777A (en) * | 2019-02-28 | 2023-06-02 | 华为技术有限公司 | Encoder, decoder and corresponding inter prediction method |
-
2004
- 2004-03-10 JP JP2004066644A patent/JP4139342B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005260392A (en) | 2005-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5045320B2 (en) | Image processing apparatus, image processing method, and computer program | |
JP5662429B2 (en) | Method for encoding / decoding a 3D mesh model composed of one or more components | |
US8204123B2 (en) | Motion vector searching apparatus, motion vector searching method and storage medium for storing motion vector searching program | |
JP2009147807A (en) | Image processing apparatus | |
WO1998018073A1 (en) | A sum of the absolute values generator | |
US7143126B2 (en) | Method and apparatus for implementing power of two floating point estimation | |
US6594375B1 (en) | Image processing apparatus, image processing method, and storage medium | |
JP4139342B2 (en) | Motion vector detection method, motion vector detection device, motion vector detection program, and computer-readable recording medium recording the program | |
WO2000018135A1 (en) | Fractional-pel motion estimation using estimated distortion values | |
US20120269451A1 (en) | Information processing apparatus, information processing method and program | |
JP2007259306A (en) | Predictor and image encoder | |
JP2018191246A (en) | Moving image encoding device, moving image encoding method and program | |
JP3627872B2 (en) | Motion vector detection method and apparatus | |
CN101268623B (en) | Method and device for creating shape variable blocks | |
JP4973591B2 (en) | Motion vector detection apparatus and motion vector detection method | |
Alatan et al. | Estimation of depth fields suitable for video compression based on 3-D structure and motion of objects | |
WO2021093059A1 (en) | Method, system and device for recognizing region of interest | |
KR101679508B1 (en) | Sad calculation device and method | |
JP4142600B2 (en) | Motion vector estimation method, motion vector estimation device, motion vector estimation program, and motion vector estimation program recording medium | |
JP2000333183A (en) | Method for detecting motion vector | |
KR100207650B1 (en) | Motion estimation apparatus of image compression system | |
JP2901848B2 (en) | Vector correlation detection circuit | |
JP4158736B2 (en) | Prediction coefficient generation apparatus and generation method | |
JP2599375B2 (en) | Vector quantization method | |
CN117376582A (en) | Integer linear equation solving acceleration method and device for affine motion estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060410 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080514 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080514 |
|
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: 20080603 |
|
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: 20080606 |
|
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: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |