JP2007166545A - Motion vector detection device and method - Google Patents
Motion vector detection device and method Download PDFInfo
- Publication number
- JP2007166545A JP2007166545A JP2005363869A JP2005363869A JP2007166545A JP 2007166545 A JP2007166545 A JP 2007166545A JP 2005363869 A JP2005363869 A JP 2005363869A JP 2005363869 A JP2005363869 A JP 2005363869A JP 2007166545 A JP2007166545 A JP 2007166545A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- vector
- block
- processing target
- current processing
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
Description
本発明は、ディジタル動画像の動きベクトル検出装置及び方法に関する。 The present invention relates to a motion vector detection apparatus and method for digital moving images.
一般にデジタルビデオカメラ、デジタルカメラ等の撮像装置で動画像を撮影する場合、手持ち撮影や車など移動体からの撮影など、振動が生ずる状況下での撮影頻度が高い。こうした状況における撮影では撮像装置本体が動き、符号化する画像全体の動きに影響する。 In general, when a moving image is shot with an imaging device such as a digital video camera or a digital camera, shooting frequency is high in a situation where vibration occurs, such as hand-held shooting or shooting from a moving body such as a car. When shooting in such a situation, the main body of the imaging apparatus moves and affects the movement of the entire image to be encoded.
MPEG(Moving Picture Experts Group)方式に代表されるような、動き補償予測動画符号化方式では、現フレームの入力信号ブロックと、動き補償により得られた予測対象フレームの局部復号信号ブロックとのフレーム間差分信号を符号化するのが一般的である。そして、動き補償を行うために用いる動きベクトルは、通常ブロックマッチング法と呼ばれる方式により検出される。 In motion-compensated predictive video coding systems, as represented by the MPEG (Moving Picture Experts Group) system, the inter-frame between the input signal block of the current frame and the locally decoded signal block of the prediction target frame obtained by motion compensation It is common to encode the difference signal. Then, a motion vector used for motion compensation is detected by a method called a normal block matching method.
例えば、符号化対象画像フレームを16画素×16ライン単位のブロックに分割し、ブロック毎に動きベクトルを検出する。すなわち、処理中のブロックと、過去の参照画像内における該ブロックと同サイズの領域とをずらしながら比較し、最も一致していた参照画像内のブロックの、処理中ブロックの位置に対する相対位置を動きベクトルとして検出する。処理中の画像ブロックと参照画像中のブロックとの一致度は、対応する位置の画素の差分絶対値和を評価値として判定されることが多い。 For example, the encoding target image frame is divided into blocks each having 16 pixels × 16 lines, and a motion vector is detected for each block. That is, the block being processed is compared with an area of the same size as the block in the past reference image, and the relative position of the block in the reference image that most closely matches the position of the block being processed is moved. Detect as a vector. The degree of coincidence between the image block being processed and the block in the reference image is often determined using the sum of absolute differences of pixels at corresponding positions as an evaluation value.
このような、動き補償を用いる予測動画像符号化方式を実施する際には、動きベクトル検出を、いかに少ない比較回数で、いかに精度よく行なうかが処理速度向上、圧縮率向上のために重要である。動きベクトルを効率よく、且つ精度良く検出するための方法の一つとして、以下のような方法が知られている。すなわち、過去に検出した動きベクトルの情報を基に、処理中の画像ブロックの動きベクトルを予測し、予測した動きベクトルの位置を起点に動きベクトルの検出を行うという方法である。 When implementing such a predictive video coding method using motion compensation, how accurately motion vector detection is performed with a small number of comparisons is important for improving processing speed and compression rate. is there. The following method is known as one of methods for efficiently and accurately detecting a motion vector. That is, based on the motion vector information detected in the past, the motion vector of the image block being processed is predicted, and the motion vector is detected based on the predicted position of the motion vector.
例えば、同一フレーム内における、既に動きベクトル検出が終了した複数のブロックのうち、現処理対象ブロックの近傍の複数のブロックから一つのコンテキストを生成する。そして、このコンテキストを構成する複数のブロックのそれぞれに対して既に検出された動きベクトル群を基に、現処理対象ブロックの動きベクトルを予測し、検索の初期ベクトルとして使用する。 For example, one context is generated from a plurality of blocks near the current processing target block among a plurality of blocks in which motion vector detection has already been completed in the same frame. Then, based on the motion vector group already detected for each of the plurality of blocks constituting the context, the motion vector of the current processing target block is predicted and used as an initial vector for search.
図5は、従来の動きベクトル検出装置の構成例を示す図である。
図5において、入力画像は動きベクトル検出を行うブロック単位で入力される。メモリ501は同一フレーム内における、検出済みの動きベクトルを保存する。保存された動きベクトルは、初期ベクトル生成器502へと読み出される。
FIG. 5 is a diagram illustrating a configuration example of a conventional motion vector detection device.
In FIG. 5, an input image is input in units of blocks for motion vector detection. The
初期ベクトル生成器502は、メモリ501より読み出した既検出動きベクトルを基に、処理対象ブロックに対する動きベクトルを予測し、初期ベクトルとして動きベクトル検索器503へと出力する。動きベクトル検索器503は、入力される現処理対象ブロックについて、初期ベクトル生成器502より得た初期ベクトルを検索の初期値として、参照画像よりブロックマッチングを行うための所望の位置のブロックを取り出して動きベクトルの検出を行う。検出した動きベクトルは、図示しない予測符号化回路等で用いられる他、メモリ501へと入力され、次以降のブロックに対する初期ベクトル予測のために用いられる。
The
次に、図4を更に参照して、図5の動きベクトル検出装置の動作についてさらに具体的に説明する。
動きベクトル検出単位にブロック分割された入力画像は、動きベクトル検索器503へと入力され、一旦内部に保存される。保存された処理対象ブロックは、動きベクトル検索のために必要に応じて読み出される。メモリ501には、現在処理対象となっているブロック(現処理対象ブロック)より以前に処理された、同一フレーム内のブロックに対して検出された動きベクトルが保存されている。
Next, the operation of the motion vector detection device of FIG. 5 will be described more specifically with reference to FIG.
The input image divided into blocks for the motion vector detection unit is input to the motion
現処理対象ブロックに対する動きベクトルの検出にあたり、検索の初期値として用いる初期ベクトルをまず生成する。初期ベクトル生成器502が、メモリ501より既検出ベクトルを読み出す。この際、予め決められたコンテキストに従って複数の動きベクトルが読み出される。従来例においては、初期ベクトル生成器におけるコンテキストは、図4(a)に示されるような位置のブロックにより、構成される。
In detecting a motion vector for the current processing target block, an initial vector used as an initial value for search is first generated. The
図4(a)は、コンテキストと現処理対象ブロックとの関係の一例を示す図であり、各マスが動きベクトル検出の対象となるブロックを表している。図4(a)において太線で囲まれた部分がコンテキストを表し、ここでは3つのブロックより構成される。また、斜線で示されたブロックは、現処理対象ブロックを表す。現処理対象ブロックの動きベクトルを予測するために、コンテキストを構成する3つのブロックそれぞれに対応する動きベクトル群が用いられる。例えば、コンテキストの3つの動きベクトルの要素を降順に並べ、その中間に位置する要素からなるベクトルを初期ベクトルとして予測する。 FIG. 4A is a diagram illustrating an example of the relationship between the context and the current processing target block, and each square represents a block that is a target of motion vector detection. In FIG. 4A, a portion surrounded by a thick line represents a context, and here, it is composed of three blocks. A block indicated by diagonal lines represents a current processing target block. In order to predict the motion vector of the current processing target block, a motion vector group corresponding to each of the three blocks constituting the context is used. For example, the elements of the three motion vectors of the context are arranged in descending order, and a vector composed of elements located in the middle is predicted as an initial vector.
動きベクトル検索器503においては、入力された初期ベクトルを初期値としてベクトルを変化させながら、そのベクトルに対応する参照画像ブロックを取り出し、入力済みの現処理対象ブロックとのマッチングを繰り返す。そして、例えば画素値の差分の合計値がある所定の閾値以下になった参照画像ブロックに対応するベクトルを動きベクトルとして出力する。出力された動きベクトルは、例えば図示しない符号化回路で用いられる他、メモリ501へと格納される。
The motion
しかしながら、この従来の方法では、パニングや装置のブレ等から生じる画面全体の動きと、被写体自体の動きとが存在する場合に、動物体の輪郭付近のブロックの動き予測精度が低下しやすいという問題がある。図4(c)は、あるフレームを構成するブロック群の一部を取り出し、各ブロックの動きベクトルを表した図である。各ブロック内に描かれた矢印は、それぞれのブロックの動きベクトルを表しており、太線で囲まれた領域は、動物体を表している。 However, with this conventional method, there is a problem that the motion prediction accuracy of the block near the contour of the moving object tends to be lowered when there is movement of the entire screen caused by panning, device shake, etc. and movement of the subject itself. There is. FIG. 4C is a diagram showing a motion vector of each block extracted from a part of a block group constituting a certain frame. An arrow drawn in each block represents a motion vector of each block, and a region surrounded by a thick line represents a moving object.
今、装置のぶれ等から、画面全体としては概ね図で示されるように、上方向の動きベクトルを持つブロックが支配的になっているとする。その中で、図で示されるような右方向に動きを持つ動物体が存在すると、動物体の占める領域内のブロックは、図のように右(又は右上)方向の動きベクトルを持つブロックが支配的となる。この場合、図4(a)に示したようなコンテキストを用いてそれぞれのブロックの動きベクトルを予測すると、図4(c)に斜線で示すブロックにおいて、予測が精度が低下する。即ち、同物体の境界付近に位置するブロックにおいて、予測がはずれる確率が高くなる。 Now, it is assumed that a block having an upward motion vector is dominant as shown in the figure as a whole on the whole screen due to the shake of the apparatus. If there is a moving object in the right direction as shown in the figure, the block in the area occupied by the moving object is dominated by the block with the right (or upper right) direction motion vector as shown in the figure. It becomes the target. In this case, if the motion vector of each block is predicted using the context as shown in FIG. 4A, the accuracy of the prediction is reduced in the block indicated by hatching in FIG. In other words, the probability that the prediction is lost in the block located near the boundary of the same object is high.
また、アクティビティ(動き)が極端に低いブロックが多く存在する領域では、実際の動きベクトルと全く異なるベクトルが算出される場合がある。これは、かかる領域における現処理対象ブロックと参照画像ブロックとの差分絶対値和に差がほとんどなくなることが要因となっている。この場合、検出されたベクトルをそのまま動きベクトルとして用いて符号化したとしても、そのブロックの符号量自体にさほどの悪影響を及ぼすことはないといえる。しかし、その動きベクトルを他のブロックの動きベクトルの予測に用いた場合、他のブロックに対する動きベクトルの予測精度を落としてしまうことがある。 Also, in a region where there are many blocks with extremely low activity (motion), a vector that is completely different from the actual motion vector may be calculated. This is because there is almost no difference in the sum of absolute differences between the current processing target block and the reference image block in such an area. In this case, even if the detected vector is encoded as a motion vector as it is, it can be said that the code amount itself of the block does not have a bad influence. However, when the motion vector is used to predict the motion vector of another block, the motion vector prediction accuracy for the other block may be lowered.
このように、従来の動きベクトル検出方法では、パニングや装置のブレ等から生じる画面全体の動きと、被写体自体の動きとが存在する場合に、動いている被写体の輪郭付近のブロックの動きの予測が外れやすいという問題があった。
また、アクティビティが極端に低いブロックが多く存在する領域では、動きベクトル検出のための動き予測の精度が低下するという問題があった。
As described above, the conventional motion vector detection method predicts the motion of the block near the contour of the moving subject when the motion of the entire screen and the motion of the subject itself, which are caused by panning or device shake, exist. There was a problem that was easy to come off.
In addition, there is a problem that the accuracy of motion prediction for motion vector detection decreases in an area where there are many blocks with extremely low activity.
本発明はこのような従来技術の課題に鑑みなされたものであり、少ない検索回数で精度よく動きベクトル検出を実現する動きベクトル検出装置及び方法を提供するものである。 The present invention has been made in view of the above-described problems of the prior art, and provides a motion vector detection apparatus and method that can accurately detect a motion vector with a small number of searches.
かかる課題を解決するために、本発明における動きベクトル検出装置は、入力された動画像情報を複数のブロックに分割し、各ブロック毎に動きベクトルを検出する動きベクトル検出装置であって、現処理対象ブロックの近傍の複数のブロックより第1のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第1の予測動きベクトルを生成する第1の予測動きベクトル生成手段と、前記現処理対象ブロックの近傍のブロックを、前記第1のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第2のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第2の予測動きベクトルを生成する第2の予測動きベクトル生成手段と、前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第1及び第2の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成手段と、前記初期動きベクトル生成手段の生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索手段と、を備えることを特徴とする。 In order to solve such a problem, a motion vector detection apparatus according to the present invention is a motion vector detection apparatus that divides input moving image information into a plurality of blocks and detects a motion vector for each block, A first context is configured by configuring a first context from a plurality of blocks in the vicinity of the target block, and predicting a motion vector of the current processing target block based on a detected motion vector group corresponding to each block. A first predicted motion vector generating means for generating a vector; a plurality of blocks having a number smaller than the number of blocks constituting the first context as a block near the current processing target block; And the motion vector of the current processing target block based on the already detected motion vector group corresponding to each block. Second predicted motion vector generating means for predicting and generating a second predicted motion vector, and an initial motion vector used as an initial value for searching for a motion vector of the current processing target block, An initial motion vector generation unit that selects and generates one of predicted motion vectors, and searches for a motion vector of the current processing target block using the initial motion vector generated by the initial motion vector generation unit as an initial value. And motion vector search means for determining the motion vector.
また、本発明による動きベクトル検出方法は、入力された動画像情報を複数のブロックに分割し、各ブロック毎に動きベクトルを検出する動きベクトル検出方法であって、現処理対象ブロックの近傍の複数のブロックより第1のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第1の予測動きベクトルを生成する第1の予測動きベクトル生成工程と、前記現処理対象ブロックの近傍のブロックを、前記第1のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第2のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第2の予測動きベクトルを生成する第2の予測動きベクトル生成工程と、前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第1及び第2の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成工程と、前記初期動きベクトル生成工程で生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索工程と、を備えることを特徴とする。 The motion vector detection method according to the present invention is a motion vector detection method that divides input moving image information into a plurality of blocks and detects a motion vector for each block. A first context is generated from the first block, and a first predicted motion vector is generated by predicting a motion vector of the current processing target block based on a detected motion vector group corresponding to each block. And a second context is formed by selecting a plurality of blocks in the vicinity of the current processing target block, the number of blocks smaller than the number of blocks constituting the first context. Based on the already detected motion vector group corresponding to the block, the motion vector of the current processing target block is predicted to generate the second predicted motion A second motion vector predictor generating step for generating a vector and an initial motion vector used as an initial value for searching for a motion vector of the current processing target block is one of the first and second motion vector predictors. An initial motion vector generation step of selecting and generating, and a motion vector search step of searching and determining a motion vector of the current processing target block using the initial motion vector generated in the initial motion vector generation step as an initial value; It is characterized by providing.
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。 Further features of the present invention will become apparent from the best mode for carrying out the present invention and the accompanying drawings.
本発明による動きベクトル検出装置及び方法によれば、少ない検索回数で精度よく動きベクトル検出を実現することができるようになる。 According to the motion vector detection apparatus and method of the present invention, motion vector detection can be realized with high accuracy with a small number of searches.
<第1の実施形態>
図1は、本発明の第1の実施形態に係る動きベクトル検出装置の構成例を示すブロック図である。
図1において、入力画像は動きベクトル検出を行うブロック単位で入力される。メモリ101は同一フレーム内における既に検出済みの動きベクトルを保存する。この保存された動きベクトルは、予測ベクトル生成器#1(102)および予測ベクトル生成器#2(103)へと読み出される。予測ベクトル生成器#1および予測ベクトル生成器#2は、メモリより読み出した既検出動きベクトルを基に、それぞれ予測ベクトル#1,#2を生成する。
<First Embodiment>
FIG. 1 is a block diagram illustrating a configuration example of a motion vector detection device according to the first embodiment of the present invention.
In FIG. 1, an input image is input in units of blocks for motion vector detection. The
予測ベクトル生成器#1および予測ベクトル生成器#2より生成された予測ベクトル#1,#2は、初期ベクトル生成器104へと入力される。初期ベクトル生成器104は、予測ベクトル生成器#1および予測ベクトル生成器#2より生成された予測ベクトル#1,#2のうち、いずれか一方を選択し初期ベクトルとして動きベクトル検索器105へと出力する。
Prediction vectors # 1 and # 2 generated by the prediction vector generator # 1 and the prediction vector generator # 2 are input to the
動きベクトル検索器105は、現処理対象ブロックについて、初期ベクトル生成器104より得た初期ベクトルを検索の初期値として、参照画像から、ブロックマッチングを行うためのブロック(参照ブロック)を取り出す。そして、動きベクトル検索器105は現処理対象ブロックと参照ブロックとの比較及び、ベクトルの変更を繰り返しながら動きベクトルの検出を行い、動きベクトルを出力する。出力された動きベクトルは、例えば後段の図示しない符号化回路等で用いられる他、メモリ101へと入力され、以降のブロックの動きベクトル検出のために用いられる。
The motion
次に、本実施形態の動きベクトル検出装置の動作について説明する。動きベクトル検出単位にブロック分割された入力画像は、動きベクトル検索器105へと入力され、一旦内部に保存される。保存された処理対象ブロックは、動きベクトル検索のために必要に応じて読み出される。メモリ101には、現処理対象ブロックより以前に処理された、同一フレーム内のブロックに対して検出された動きベクトルが保存されている。動きベクトル検出にあたり、検索の初期値として用いる初期ベクトルの候補となる予測ベクトルを生成するため、まずメモリ101より既検出ベクトルの読み出しが行われる。
Next, the operation of the motion vector detection device of this embodiment will be described. The input image divided into blocks for the motion vector detection unit is input to the motion
予測ベクトル生成器#1(102)及び#2(103)において、同一フレーム内の既に動きベクトル検出の終了したブロックの中の、予め決められたコンテキストを構成する複数のブロックに対応する複数の動きベクトルがそれぞれ読み出される。第1の実施形態においては、予測ベクトル生成器#1(102)におけるコンテキストは、図4(b)の太線で囲まれた部分に示されたような、従来よりも大きなコンテキストを用いる。図4(b)において、斜線で示されたブロックは、現処理対象ブロックを表し、太線がコンテキストを示す。現処理対象ブロックの動きベクトルを予測するために、コンテキストを構成する全てのブロックそれぞれに対応する動きベクトル群が用いられる。 In prediction vector generators # 1 (102) and # 2 (103), a plurality of motions corresponding to a plurality of blocks constituting a predetermined context among blocks in which motion vector detection has already been completed in the same frame Each vector is read out. In the first embodiment, as the context in the prediction vector generator # 1 (102), a context larger than the conventional one as shown in the portion surrounded by the thick line in FIG. 4B is used. In FIG. 4B, the block indicated by diagonal lines represents the current processing target block, and the bold line indicates context. In order to predict the motion vector of the current processing target block, a motion vector group corresponding to each of all the blocks constituting the context is used.
第1の実施形態において、予測ベクトル生成器#1(102)は、コンテキスト中のブロックの全ての動きベクトルの平均ベクトルを、予測ベクトル#1として出力する。また、予測ベクトル生成器#2(103)におけるコンテキストは、図4(a)に太線で示した従来のコンテキストを用いる。ここで、2つのコンテキストは包含関係にある。予測ベクトル生成器#2(103)は、予測ベクトル#1との差分が最も大きい動きベクトルを、コンテキスト中のブロックの動きベクトルから選択し、予測ベクトル#2として出力する。差分の大きさは、例えばベクトルの要素間の差分絶対値和の大きさの合計により判定することができる。 In the first embodiment, the prediction vector generator # 1 (102) outputs an average vector of all the motion vectors of the block in the context as the prediction vector # 1. As the context in the predictive vector generator # 2 (103), the conventional context indicated by the thick line in FIG. Here, the two contexts are in an inclusive relationship. The prediction vector generator # 2 (103) selects the motion vector having the largest difference from the prediction vector # 1 from the motion vectors of the blocks in the context, and outputs it as the prediction vector # 2. The magnitude of the difference can be determined by, for example, the sum of the magnitudes of the sum of absolute differences between the elements of the vector.
予測ベクトル生成器#1(102)及び#2(103)において生成された予測ベクトル#1及び#2は、初期ベクトル生成器104へと入力される。初期ベクトル生成器104は、予測ベクトル#1及び#2それぞれに対応する参照画像ブロックと現処理対象ブロックの対応画素の差分絶対値和をそれぞれ算出する。そして、差分絶対値和の値の小さい参照画像ブロックに対応する予測ベクトルを初期ベクトルとして選択し、動きベクトル検索器105へと出力する。
The prediction vectors # 1 and # 2 generated in the prediction vector generators # 1 (102) and # 2 (103) are input to the
動きベクトル検索器105は、入力された初期ベクトルを初期値としてベクトルを変化させていく。そして、そのベクトルに対応する参照画像ブロックを取り出し、入力済みの現処理対象ブロックと参照画像ブロックの対応画素の差分絶対値和を算出する。ベクトルを変化させながら差分絶対値和の算出を繰り返し、値が所定の閾値以下になった参照画像ブロックに対応したベクトルを動きベクトルとして出力する。出力された動きベクトルは、図示しない符号化回路等で用いられる他、メモリ101へと格納される。
The motion
このように、本実施形態では、大きさの異なる2つのコンテキストを用いて初期ベクトルを予測する。具体的には、大きなコンテキストを用いて広範囲な動きベクトルの傾向を反映した第1のベクトルを生成する。一方で、小さなコンテキストの中で、大きなコンテキストにおける全体的な傾向とは異なる動きベクトルを検出し、第2のベクトルとして検出する。そして、2つのベクトルにより取得した参照画像ブロックと現処理対象ブロックとを比較して、適切なベクトルを初期ベクトルとして決定する。これにより、例えば現処理対象ブロックが動きのある被写体に対応する場合には第2のベクトルが選択されることになり、従来の方法のように動物体の境界ブロックでの予測精度低下を防止することができる。その結果、少ない検索回数で精度よく動きベクトル検出を実現することができるようになる。 Thus, in this embodiment, an initial vector is predicted using two contexts having different sizes. Specifically, a first vector reflecting a wide range of motion vector trends is generated using a large context. On the other hand, in a small context, a motion vector different from the overall tendency in a large context is detected and detected as a second vector. Then, the reference image block acquired from the two vectors is compared with the current processing target block, and an appropriate vector is determined as an initial vector. As a result, for example, when the current processing target block corresponds to a moving subject, the second vector is selected, and a decrease in prediction accuracy in the boundary block of the moving object is prevented as in the conventional method. be able to. As a result, motion vector detection can be realized with high accuracy with a small number of searches.
<第2の実施形態>
次に、本発明に係る第2の実施形態について説明する。図2は、第2の実施形態における動きベクトル検出装置の構成例を示すブロック図である。
<Second Embodiment>
Next, a second embodiment according to the present invention will be described. FIG. 2 is a block diagram illustrating a configuration example of a motion vector detection device according to the second embodiment.
図2において、予測ベクトル生成器#1(202)、予測ベクトル生成器#2(203)、初期ベクトル生成器204は、第1の実施形態の構成(図1)と同じなので、説明を省略する。つまり、それらの構成は、予測ベクトル生成器#1(102)、予測ベクトル生成器#2(103)、及び初期ベクトル生成器104と同様である。
In FIG. 2, the prediction vector generator # 1 (202), the prediction vector generator # 2 (203), and the
図2において、メモリ201は動きベクトル検索器205の出力する参照ベクトルを保存する。保存された参照ベクトルは、予測ベクトル生成器#1(202)および予測ベクトル生成器#2(203)へと読み出される。動きベクトル検索器205は、入力される現処理対象ブロックについて、初期ベクトル生成器204より得た初期ベクトルを検索の初期値として、参照画像よりブロックマッチングを行うための所望の位置のブロックを取り出す。そして動きベクトルの検出を行い、動きベクトルを出力する。また、次以降処理されるブロックの動きベクトル検出の初期ベクトルを予測するために用いられる参照ベクトルを生成し、メモリ201へと出力する。
In FIG. 2, the
次に、第2の実施形態の動きベクトル検出装置の動作について説明する。
動きベクトル検出単位にブロック分割された入力画像は、動きベクトル検索器205へと入力され、一旦内部に保存される。保存された処理対象ブロックは、動きベクトル検索のために必要に応じて読み出される。メモリ201には、現処理対象ブロックより以前に処理された、参照ベクトルが保存されている。参照ベクトルは、同一フレーム内のブロックに対して検出された動きベクトルもしくは動きベクトルに置き換えられたベクトルである。動きベクトル検出にあたり、検索の初期値として用いる初期ベクトルの候補となる予測ベクトルを生成するため、まずメモリ201より参照ベクトルの読み出しが行われる。
Next, the operation of the motion vector detection device of the second embodiment will be described.
The input image divided into blocks for the motion vector detection unit is input to the motion
予測ベクトル生成器#1(202)、#2(203)、及び初期ベクトル生成器204における動作は、第1の実施形態における動作と同様であるので、説明を省略する。
The operations in the prediction vector generators # 1 (202), # 2 (203), and the
動きベクトル検索器205においては、入力された初期ベクトルを初期値としてベクトルを変化させていき、そのベクトルに対応する参照画像ブロックを取り出す。そして、入力済みの現処理対象ブロックとのマッチングを繰り返し、差異を表す値(例えば上述の差分絶対値和)が所定の閾値以下になった時点のベクトルを動きベクトルとして出力する。あるいは、類似度が所定の閾値以上になった時点でのベクトルを動きベクトルとして出力してもよい。
The motion
次に、参照ベクトルを生成する。動きベクトル検索器205は、以下の条件が満たされるかどうかを調べる。
(1)検出した動きベクトルと予測ベクトル#1、#2とのx、y成分毎の差分が、いずれも閾値(mvdxth,mvdyth)を超えるか。
(2)検出した動きベクトルに対応する参照画像ブロックと現処理対象ブロックとの差分絶対値和をSrefと、予測ベクトル#1、#2を用いて同様に求めた差分絶対値和S1、S2との差分の一方が閾値dth以下か。
Next, a reference vector is generated. The motion
(1) Whether the difference between the detected motion vector and the predicted vectors # 1 and # 2 for each of the x and y components exceeds the threshold (mvdx th , mvdy th ).
(2) and the sum of absolute differences S ref of the reference image block and the current target block corresponding to the detected motion vector, the prediction vector # 1, # difference absolute value sum S 1 obtained analogously using 2, Whether one of the differences from S 2 is less than or equal to the threshold value d th .
すなわち、
|S1−Sref|≦dth 又は
|S2−Sref|≦dth
であるか。
That is,
| S 1 −S ref | ≦ d th or | S 2 −S ref | ≦ d th
Is it?
これらの条件(1)、(2)を満足する場合には、現処理対象ブロックに対応する参照ベクトルとして、条件(2)の式を満たす予測ベクトルを出力する。
これらの条件(1)、(2)の少なくとも一方が満足されない場合には、検出した動きベクトルを現処理対象ブロックに対応する参照ベクトルとして出力する。参照ベクトルは、メモリ201へと出力され、格納される。
When these conditions (1) and (2) are satisfied, a prediction vector that satisfies the expression of the condition (2) is output as a reference vector corresponding to the current processing target block.
If at least one of these conditions (1) and (2) is not satisfied, the detected motion vector is output as a reference vector corresponding to the current processing target block. The reference vector is output to the
本実施形態によれば、第1の実施形態による効果に加え、最終的に検出した動きベクトルとの差が一定以上で、かつ動き予測の精度差が閾値未満である予測ベクトルを、実際に検出した動きベクトルの代わりに参照ベクトルとして保存する。そのため、アクティビティが極端に低いブロックが多く存在する領域などで発生しやすい、動き予測の精度低下を抑えることができる。 According to the present embodiment, in addition to the effects of the first embodiment, a prediction vector in which the difference from the finally detected motion vector is equal to or greater than a certain value and the motion prediction accuracy difference is less than a threshold is actually detected. It saves as a reference vector instead of the motion vector. Therefore, it is possible to suppress a decrease in the accuracy of motion prediction, which is likely to occur in an area where there are many blocks with extremely low activity.
<第3の実施形態>
次に、本発明に係る第3の実施形態について説明する。図3は、第3の実施形態における動きベクトル検出装置の構成例を示すブロック図である。
<Third Embodiment>
Next, a third embodiment according to the present invention will be described. FIG. 3 is a block diagram illustrating a configuration example of a motion vector detection device according to the third embodiment.
本実施形態において、メモリ301は第1の実施形態(図1)におけるメモリ101と同様である。また、予測ベクトル生成器#1(302)、予測ベクトル生成器#2(303)、動きベクトル検索器305は、それぞれ、予測ベクトル生成器#1(102)、予測ベクトル生成器#2(103)、及び動きベクトル検索器105と同様である。そのため、これらの構成要素については説明を省略する。
In the present embodiment, the
図3において、初期ベクトル生成器304は、予測ベクトル生成器#1(302)および予測ベクトル生成器#2(303)より生成された予測ベクトル#1,#2の一方を、装置のブレ情報に応じて初期ベクトルとして選択する。そして、動きベクトル検索器305へと出力する。
In FIG. 3, the
次に、第3の実施形態の動きベクトル検出装置の動作について説明する。
まず、メモリ301、予測ベクトル生成器#1(302)、予測ベクトル生成器#2(303)、動きベクトル検索器305における動作は、第1の実施形態の構成図(図1)におけるメモリ101、予測ベクトル生成器#1(102)、予測ベクトル生成器#2 (103)、及び動きベクトル検索器105におけるそれぞれの動作と同様であるので、説明を省略する。
Next, the operation of the motion vector detection device of the third embodiment will be described.
First, the operations in the
初期ベクトル生成器304においては、例えば図示しない加速度センサなどから装置のブレ情報を取得する。そして、ブレ情報より算出される画面全体の動きベクトルと、予測ベクトル#1との成分毎の差分が、いずれも閾値(mvadxth,mvadyth)を超えるかどうか判定する。
The
差分が閾値を超えない場合、予測ベクトル#1は画面全体の動きに支配されているものと考えられる。そのため、第1の実施形態と同様に、予測ベクトル#1及び#2それぞれに対応する参照画像ブロックと、現処理対象ブロックとの差分絶対値和をそれぞれ算出し、値の小さい方に対応する予測ベクトルを初期ベクトルとして選択する。 When the difference does not exceed the threshold value, the prediction vector # 1 is considered to be dominated by the movement of the entire screen. Therefore, as in the first embodiment, the sum of absolute differences between the reference image block corresponding to each of the prediction vectors # 1 and # 2 and the current processing target block is calculated, and the prediction corresponding to the smaller value is calculated. Select a vector as the initial vector.
一方、差分が閾値を超えた場合には、予測ベクトル#1のコンテキストは全体のブレよりはそのコンテキスト内のブロックに特有な動きを反映しているものと考えられる。そのため、より小さなコンテキストに基づく予測ベクトル#2を考慮せずに直ちに予測ベクトル#1を初期ベクトルとして選択し、動きベクトル検索器へと出力する。 On the other hand, when the difference exceeds the threshold, it is considered that the context of the prediction vector # 1 reflects the motion specific to the block in the context rather than the entire blur. Therefore, the prediction vector # 1 is immediately selected as an initial vector without considering the prediction vector # 2 based on a smaller context, and is output to the motion vector searcher.
本実施形態によれば、第1の実施形態と同様の効果を達成することができる上、ブレ情報を用いることにより、予測ベクトルの決定を一層簡単に行うことができる。 According to the present embodiment, the same effect as that of the first embodiment can be achieved, and the prediction vector can be determined more easily by using blur information.
また、上述の実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
Further, the above-described embodiment can be realized by software by a computer of a system or apparatus (or CPU, MPU, etc.).
Accordingly, the computer program itself supplied and installed in the computer in order to implement the functional processing of the present invention by the computer also realizes the present invention. That is, the computer program itself for realizing the functional processing of the present invention is also included in the present invention.
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。 In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.
この場合、本発明の機能処理をコンピュータで実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。 In this case, a computer program for realizing the functional processing of the present invention by a computer is supplied to the computer by a storage medium or wired / wireless communication. Examples of the recording medium for supplying the program include a magnetic recording medium such as a flexible disk, a hard disk, and a magnetic tape, an optical / magneto-optical storage medium such as an MO, CD, and DVD, and a nonvolatile semiconductor memory.
有線/無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムデータファイル)をサーバに記憶しておく。プログラムデータファイルとしては、実行形式のものであっても、ソースコードであっても良い。 As a program supply method using wired / wireless communication, there is a method of using a server on a computer network. In this case, a data file (program data file) that can be a computer program forming the present invention is stored in the server. The program data file may be an executable format or a source code.
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムデータファイルをダウンロードすることによって供給する。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルをクライアントコンピュータに提供するサーバ装置も本発明に含む。
Then, the program data file is supplied by downloading to a client computer that has accessed the server. In this case, the program data file can be divided into a plurality of segment files, and the segment files can be distributed and arranged on different servers.
In other words, the present invention includes a server device that provides a client computer with a program data file for realizing the functional processing of the present invention on a computer.
また、本発明のコンピュータプログラムを暗号化して格納した記憶媒体をユーザに配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを可能とすることも可能である。鍵情報は例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。 In addition, a storage medium in which the computer program of the present invention is encrypted and stored is distributed to users, key information for decryption is supplied to users who satisfy predetermined conditions, and installation on a user's computer is possible It is also possible to do. The key information can be supplied by downloading from a homepage via the Internet, for example.
また、コンピュータにより実施形態の機能を実現するためのコンピュータプログラムが、実施形態の機能を、すでにコンピュータ上で稼働するOSの機能を利用して実現しても良い。
さらに、本発明を構成するコンピュータプログラムの少なくとも一部が、コンピュータに装着される拡張ボード等のファームウェアとして提供され、拡張ボード等が備えるCPUを利用して上述の実施形態の機能を実現しても良い。
In addition, a computer program for realizing the functions of the embodiments by a computer may realize the functions of the embodiments by using the functions of an OS already running on the computer.
Further, at least a part of the computer program constituting the present invention is provided as firmware such as an expansion board attached to the computer, and the functions of the above-described embodiments can be realized using a CPU provided in the expansion board. good.
Claims (8)
現処理対象ブロックの近傍の複数のブロックより第1のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第1の予測動きベクトルを生成する第1の予測動きベクトル生成手段と、
前記現処理対象ブロックの近傍のブロックを、前記第1のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第2のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第2の予測動きベクトルを生成する第2の予測動きベクトル生成手段と、
前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第1及び第2の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成手段と、
前記初期動きベクトル生成手段の生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索手段と、
を備えることを特徴とする、動きベクトル検出装置。 A motion vector detection device that divides input video information into a plurality of blocks and detects a motion vector for each block,
A first context is composed of a plurality of blocks in the vicinity of the current processing target block, and the motion vector of the current processing target block is predicted based on the detected motion vector group corresponding to each block, and the first First predicted motion vector generation means for generating a predicted motion vector;
For the blocks near the current processing target block, a plurality of blocks having a number smaller than the number of blocks constituting the first context are selected to constitute the second context, and the already detected motion corresponding to each block Second predicted motion vector generation means for generating a second predicted motion vector by predicting a motion vector of the current processing target block based on a vector group;
Initial motion vector generation means for generating an initial motion vector used as an initial value for searching for a motion vector of the current processing target block by selecting one of the first and second predicted motion vectors;
Motion vector search means for searching and determining a motion vector of the current processing target block using the initial motion vector generated by the initial motion vector generation means as an initial value;
A motion vector detection device comprising:
現処理対象ブロックの近傍の複数のブロックより第1のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第1の予測動きベクトルを生成する第1の予測動きベクトル生成工程と、
前記現処理対象ブロックの近傍のブロックを、前記第1のコンテキストを構成するブロックの数より少ない個数のブロックを複数選択して第2のコンテキストを構成し、それぞれのブロックに対応する既検出の動きベクトル群を基に、前記現処理対象ブロックの動きベクトルを予測して第2の予測動きベクトルを生成する第2の予測動きベクトル生成工程と、
前記現処理対象ブロックの動きベクトルを検索するために初期値として用いる初期動きベクトルを、第1及び第2の予測動きベクトルのうちいずれか一方を選択して生成する初期動きベクトル生成工程と、
前記初期動きベクトル生成工程で生成した前記初期動きベクトルを初期値として、前記現処理対象ブロックの動きベクトルを検索して決定する動きベクトル検索工程と、
を備えることを特徴とする、動きベクトル検出方法。 A motion vector detection method for dividing input video information into a plurality of blocks and detecting a motion vector for each block,
A first context is composed of a plurality of blocks in the vicinity of the current processing target block, and the motion vector of the current processing target block is predicted based on the detected motion vector group corresponding to each block, and the first A first motion vector predictor generating step for generating a motion vector predictor;
For the blocks near the current processing target block, a plurality of blocks having a number smaller than the number of blocks constituting the first context are selected to constitute the second context, and the already detected motion corresponding to each block A second predicted motion vector generating step of generating a second predicted motion vector by predicting a motion vector of the current processing target block based on a vector group;
An initial motion vector generating step of generating an initial motion vector used as an initial value for searching for a motion vector of the current processing target block by selecting one of the first and second predicted motion vectors;
A motion vector search step of searching and determining a motion vector of the current processing target block using the initial motion vector generated in the initial motion vector generation step as an initial value;
A motion vector detection method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005363869A JP2007166545A (en) | 2005-12-16 | 2005-12-16 | Motion vector detection device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005363869A JP2007166545A (en) | 2005-12-16 | 2005-12-16 | Motion vector detection device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007166545A true JP2007166545A (en) | 2007-06-28 |
Family
ID=38248883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005363869A Withdrawn JP2007166545A (en) | 2005-12-16 | 2005-12-16 | Motion vector detection device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007166545A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013098789A (en) * | 2011-11-01 | 2013-05-20 | Hitachi Kokusai Electric Inc | Image encoder |
JP2014183544A (en) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | Image processing unit and image processing method |
CN105847692A (en) * | 2016-04-15 | 2016-08-10 | 张志华 | Intelligent zebra crossing guardrail |
JP2016178592A (en) * | 2015-03-23 | 2016-10-06 | 日本電気株式会社 | Video encoder, video encoding device, video encoding method and video encoding program |
JP2017112416A (en) * | 2015-12-14 | 2017-06-22 | 日本電気株式会社 | Video encoder, video coding method and video coding program |
-
2005
- 2005-12-16 JP JP2005363869A patent/JP2007166545A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013098789A (en) * | 2011-11-01 | 2013-05-20 | Hitachi Kokusai Electric Inc | Image encoder |
US9521417B2 (en) | 2011-11-01 | 2016-12-13 | Hitachi Kokusai Electric, Inc. | Video encoding device using predicted motion vector for blocks of different size |
JP2014183544A (en) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | Image processing unit and image processing method |
JP2016178592A (en) * | 2015-03-23 | 2016-10-06 | 日本電気株式会社 | Video encoder, video encoding device, video encoding method and video encoding program |
JP2017112416A (en) * | 2015-12-14 | 2017-06-22 | 日本電気株式会社 | Video encoder, video coding method and video coding program |
CN105847692A (en) * | 2016-04-15 | 2016-08-10 | 张志华 | Intelligent zebra crossing guardrail |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8274602B2 (en) | Image processing apparatus and image processing method with redundant frame detection | |
JP4514203B2 (en) | Motion vector detection apparatus and method | |
JPWO2007136088A1 (en) | Image encoding apparatus, image encoding method, and integrated circuit for image encoding | |
JP2009147807A (en) | Image processing apparatus | |
KR100800772B1 (en) | Apparatus and method for encoding motion vector, and program and medium therefor | |
JP5163429B2 (en) | Motion vector detection apparatus, processing method thereof, and program | |
JP2007166545A (en) | Motion vector detection device and method | |
JP2005072726A (en) | Apparatus and method for detecting motion vector | |
JP2010114596A (en) | Motion vector detection apparatus, motion vector processing method and program | |
JP2008061135A (en) | Image encoding apparatus and image encoding method | |
US20070086525A1 (en) | Motion vector detection method and device of the same | |
JP2006005659A (en) | Device and method for image encoding | |
JP2008154072A (en) | Dynamic image coding apparatus and dynamic image coding method | |
JP4622264B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer program | |
JP2009021864A (en) | Motion vector searching apparatus | |
JP4622265B2 (en) | Motion vector detection device, motion vector detection method, and program | |
JP2004112678A (en) | Video-searching instrument | |
JP2014042139A (en) | Coding device, coding method and program | |
JP5222049B2 (en) | Motion vector search apparatus and control method thereof | |
JP2001285874A (en) | Device for searching motion vector, its method and recording medium for recording program | |
US6788741B1 (en) | Device and method of retrieving high-speed motion | |
JP2009267726A (en) | Moving image encoding apparatus, recorder, moving image encoding method, moving image encoding program | |
JP5299319B2 (en) | Motion vector detection device | |
JP2008245016A (en) | Image encoding apparatus and method, and program | |
JP2006217486A (en) | Motion compensation type ip conversion processor and processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090303 |