[go: up one dir, main page]

JP2007274366A - Video encoding apparatus and motion vector detection method - Google Patents

Video encoding apparatus and motion vector detection method Download PDF

Info

Publication number
JP2007274366A
JP2007274366A JP2006097729A JP2006097729A JP2007274366A JP 2007274366 A JP2007274366 A JP 2007274366A JP 2006097729 A JP2006097729 A JP 2006097729A JP 2006097729 A JP2006097729 A JP 2006097729A JP 2007274366 A JP2007274366 A JP 2007274366A
Authority
JP
Japan
Prior art keywords
motion vector
difference
macroblock
block
sum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006097729A
Other languages
Japanese (ja)
Inventor
Yuichiro Teshigawara
裕一郎 勅使河原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006097729A priority Critical patent/JP2007274366A/en
Publication of JP2007274366A publication Critical patent/JP2007274366A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】符号化効率も良く、かつ動きの激しい画像などを符号化する場合でも画質が劣化しないような動画像符号化のための動きベクトル検出方法を求めること。
【解決手段】処理対象画像データに基づいて、マクロブロックの動きベクトルを検出し、マクロブロックを分割したブロックの動きベクトルを順次検出し、ブロックの動きベクトルに対応する差分の累積和を求め、マクロブロックの動きベクトルに対応する差分とブロックの動きベクトルに対応する差分の累積和と所定の閾値とに応じて、マクロブロックの動きベクトルあるいは順次検出した複数のブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用する。
【選択図】図2
A motion vector detection method for coding a moving image that has good coding efficiency and that does not deteriorate the image quality even when coding an image with intense motion or the like.
Based on processing target image data, a motion vector of a macroblock is detected, a motion vector of a block obtained by dividing the macroblock is sequentially detected, a cumulative sum of differences corresponding to the motion vector of the block is obtained, and a macro Depending on the difference corresponding to the block motion vector, the cumulative sum of the differences corresponding to the block motion vector, and a predetermined threshold, the motion vector of the macroblock or the motion vectors of a plurality of blocks detected in sequence are encoded into a moving image. Adopt as a motion vector to be used.
[Selection] Figure 2

Description

本発明は動画像符号化装置に関し、特に、MPEG−4エンコーダにおける動きベクトル検出方法に関する。   The present invention relates to a moving picture coding apparatus, and more particularly to a motion vector detection method in an MPEG-4 encoder.

動画像符号化の標準規格として、MPEG−4が制定されており、その規格に則って動画像の符号化を行う小型高性能なMPEG−4エンコーダが製品化されている。今日では、図6に示すように、MPEG−4エンコーダを搭載することにより動画像を録画可能な機器が増加している。そして録画された動画像データを、ネットワークあるいはメモリカード等の記録媒体を介して従来の規格より高効率かつ高品質で再生側に送信することができるようになってきている。   MPEG-4 has been established as a standard for moving picture encoding, and a small and high-performance MPEG-4 encoder for encoding moving pictures in accordance with the standard has been commercialized. Today, as shown in FIG. 6, the number of devices capable of recording moving images is increasing by installing an MPEG-4 encoder. The recorded moving image data can be transmitted to the playback side with higher efficiency and higher quality than conventional standards via a network or a recording medium such as a memory card.

MPEG−4に限らず、動画像の符号化では、情報量の圧縮のため、画像フレーム間の相関を利用して時間方向の冗長性を削減している。そのため、下記特許文献に記載されているように、16×16画素の領域(マクロブロック)あるいはその領域を分割した8×8画素の領域(ブロック)毎に動きベクトルの検出が行われており、検出された動きベクトルのデータを利用することにより符号化に要する情報量を圧縮している。   Not only MPEG-4 but also moving picture coding uses a correlation between picture frames to reduce redundancy in the time direction in order to compress the amount of information. Therefore, as described in the following patent document, a motion vector is detected for each 16 × 16 pixel region (macroblock) or each 8 × 8 pixel region (block) obtained by dividing the region, The amount of information required for encoding is compressed by using the detected motion vector data.

動画像の現フレームのデータは、動きベクトルのデータと参照フレームとの差分データとして符号化される。そして、伝送速度あるいは利用できるバンド幅が一定であれば、動きベクトル用のデータ量と差分データ用のデータ量の合計は一定となるので、両者は、動きベクトルの符号化のデータ量が増えると、差分データの符号化に使えるデータ量が減る関係にある。
特開2005−278156号公報
The data of the current frame of the moving image is encoded as difference data between the motion vector data and the reference frame. If the transmission rate or the available bandwidth is constant, the total amount of data for motion vectors and the amount of data for difference data is constant. The amount of data that can be used for encoding differential data is reduced.
JP 2005-278156 A

動画像符号化時の動きベクトル検出において、マクロブロック毎に1個の動きベクトルを検出して使用すると、ベクトル分として使用するビット数が減り、符号化効率が良くなる場合が多い。しかし、動きの激しい画像や、画像の絵柄の細かい画像を符号化する場合には、細かい動きを表現することが難しいため、画質が劣化する。   In motion vector detection at the time of moving picture encoding, if one motion vector is detected and used for each macroblock, the number of bits used as a vector is reduced and the encoding efficiency is often improved. However, in the case of encoding an image with intense motion or an image with a fine image pattern, it is difficult to express the fine motion, and the image quality deteriorates.

したがって、本発明の目的は、符号化効率も良く、かつ動きの激しい画像などを符号化する場合でも画質が劣化しないような動きベクトル検出手段を実現することである。   Accordingly, an object of the present invention is to realize a motion vector detecting means that has good encoding efficiency and that does not deteriorate the image quality even when an image with intense motion is encoded.

本発明の動画像符号化のための動きベクトル検出方法によれば、マクロブロックの動きベクトルを検出するとともに該マクロブロックの動きベクトルに対応する差分を求め、処理対象のマクロブロックを複数に分割し、分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出し、順次検出される動きベクトルに対応する差分の累積和を演算し、マクロブロックの動きベクトルに対応する差分と、前記差分の累積和と、所定の閾値に基づいて、マクロブロックの動きベクトル、あるいは分割した各ブロックについての複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用する。   According to the motion vector detection method for moving picture coding of the present invention, a motion vector of a macroblock is detected, a difference corresponding to the motion vector of the macroblock is obtained, and the macroblock to be processed is divided into a plurality of parts. For each of the divided blocks, a motion vector having the smallest difference from the block of the reference frame is sequentially detected, a cumulative sum of differences corresponding to the sequentially detected motion vectors is calculated, and a difference corresponding to the motion vector of the macroblock is calculated. Based on the cumulative sum of the differences and a predetermined threshold value, a motion vector of a macroblock or a plurality of motion vectors for each divided block is employed as a motion vector used for moving picture coding.

また、本発明によれば、動画像符号化装置に、マクロブロックの動きベクトルを検出し、動きベクトルに対応する差分を求めるマクロブロック動きベクトル検出部と、処理対象のマクロブロックを複数に分割し、分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出するブロック動きベクトル検出部と、ブロック動きベクトル検出部が順次検出する動きベクトルに対応する差分の累積和を演算する差分累積和演算部と、動きベクトル検出制御部と、閾値記憶部を設け、動きベクトル検出制御部は、マクロブロック動きベクトル検出部が検出する動きベクトルに対応する差分と、差分累積和演算部が演算する差分の累積和と、閾値記憶部に設定された閾値に基づいて、マクロブロック動きベクトル検出部が検出する動きベクトル、あるいはブロック動きベクトル検出部が検出する複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用するようにする。   In addition, according to the present invention, the moving picture coding apparatus detects a macroblock motion vector and obtains a difference corresponding to the motion vector, and divides the macroblock to be processed into a plurality of parts. For each divided block, a block motion vector detection unit that sequentially detects a motion vector having the smallest difference from the block of the reference frame, and a cumulative sum of differences corresponding to the motion vectors sequentially detected by the block motion vector detection unit are calculated. A difference accumulation sum calculation unit, a motion vector detection control unit, and a threshold storage unit are provided, and the motion vector detection control unit includes a difference corresponding to a motion vector detected by the macroblock motion vector detection unit, and a difference accumulation sum calculation unit. Based on the cumulative sum of the differences to be calculated and the threshold set in the threshold storage unit, the macroblock motion vector Out portion is to adopt as a motion vector to be used for video encoding the plurality of motion vectors detected by the motion vector or block motion vector detecting section detects.

さらに本発明は、上記動画像符号化装置をコンピュータとして実装し、そのコンピュータに上記動画像符号化のための動きベクトル検出方法を実行させるプログラムとしての面を有する。   Further, the present invention has a surface as a program that implements the above-described moving picture coding apparatus as a computer and causes the computer to execute the motion vector detection method for moving picture coding.

本発明によれば、16×16画素のマクロブロックに対する動きベクトルと、マクロブロックを分割したブロックに対する動きベクトルを動画像列に応じて動画像符号化に使用する動きベクトルとして採用することができるので、通常の画像ではマクロブロックに1つの動きベクトルを採用することで符号化効率を高くし、動きの激しい画像や、画像の絵柄の細かい画像を符号化する場合には、1つのマクロブロックに対して複数の動きベクトルを使うことにより、画質の劣化も避けることができる。   According to the present invention, a motion vector for a macroblock of 16 × 16 pixels and a motion vector for a block obtained by dividing the macroblock can be adopted as a motion vector used for video encoding according to a video sequence. In a normal image, one motion vector is used for a macroblock to increase the coding efficiency. When coding an image with intense motion or an image with a fine picture pattern, By using a plurality of motion vectors, image quality degradation can be avoided.

図1に示すのは、本発明によるMPEG−4エンコーダの機能ブロック図である。符号化対象の動画像は入力画像メモリ21に入力され、1フレーム内の画素データのみで符号化されるものはそのままDCT変換部31に入力される。参照フレームメモリ22に格納されている参照フレームの画素データを利用して符号化されるものは、動きベクトル検出部10で動きベクトルが検出され、その動きベクトルを使用して動き補償部11で動き補償された画像フレームとの差分が差分演算部81で演算されてDCT変換部31に入力される。   FIG. 1 is a functional block diagram of an MPEG-4 encoder according to the present invention. A moving image to be encoded is input to the input image memory 21, and an image encoded only with pixel data in one frame is input to the DCT conversion unit 31 as it is. In the case of encoding using the reference frame pixel data stored in the reference frame memory 22, a motion vector is detected by the motion vector detection unit 10, and the motion compensation unit 11 performs motion using the motion vector. The difference from the compensated image frame is calculated by the difference calculation unit 81 and input to the DCT conversion unit 31.

本発明の動きベクトル検出方法においては、マクロブロック差分メモリ23に記憶される16×16画素単位の差分二乗和に加えて、ブロック差分累積和メモリ24に記憶される8×8画素単位の差分二乗和の和(累積和)が用いられる。   In the motion vector detection method of the present invention, in addition to the 16 × 16 pixel unit difference square sum stored in the macroblock difference memory 23, the 8 × 8 pixel unit difference square stored in the block difference cumulative sum memory 24 is used. The sum of the sums (cumulative sum) is used.

動きベクトル検出以外の部分は従来のものと同じであり、DCT変換部31では時間領域のデータを周波数領域のデータに変換し、その周波数領域の係数データは、量子化部41で量子化され、一方ではAC/DC予測部50を介したものを含めて可変長符号化部60に入力されて最終出力であるビットストリームが例えばビットストリームメモリ26に格納される。また他方では、前記量子化されたデータは、逆量子化部42、逆DCT変換部32を経て逆変換され、動き補償データと加算部82で加算されてフレームメモリ25に記憶され、動き補償部11での動き補償等に用いられる。   The part other than the motion vector detection is the same as the conventional one, the DCT conversion unit 31 converts the time domain data into the frequency domain data, the coefficient data in the frequency domain is quantized by the quantization unit 41, On the other hand, the bit stream which is input to the variable length encoding unit 60 including the one via the AC / DC prediction unit 50 and is the final output is stored in the bit stream memory 26, for example. On the other hand, the quantized data is inversely transformed through an inverse quantization unit 42 and an inverse DCT transform unit 32, added by motion compensation data and an adder 82, and stored in the frame memory 25. Used for motion compensation in 11.

ビットストリームの情報はレート制御部70にフィードバックされ、量子化部41と逆量子化部42のレート制御に用いられる。
図2は、本発明の動画像符号化装置における動きベクトル検出部分の機能ブロック図であり、本発明の原理を説明するものである。図1に示したMPEG−4エンコーダの機能ブロック図と比較すると、図1の入力画像メモリ21、参照フレームメモリ22は、図2の処理対象画像データ記憶部100に含めることができる。もちろん、入力画像メモリ21と参照フレームメモリ22を直接用いるのではなく、それぞれ数フレーム分の容量を持つバッファを用いることもできる。また、図2のマクロブロック動きベクトル検出部200、ブロック動きベクトル検出部300、差分累積和演算部400、動きベクトル検出制御部500、及び閾値記憶部600は、図1の動きベクトル検出部に相当する。マクロブロック動きベクトル検出部200は図2のマクロブロック差分メモリ23を含み、差分累積和演算部400は図1のブロック差分累積和メモリ24を含む。
The bit stream information is fed back to the rate control unit 70 and used for rate control of the quantization unit 41 and the inverse quantization unit 42.
FIG. 2 is a functional block diagram of a motion vector detection portion in the moving picture coding apparatus of the present invention, and explains the principle of the present invention. Compared with the functional block diagram of the MPEG-4 encoder shown in FIG. 1, the input image memory 21 and the reference frame memory 22 shown in FIG. 1 can be included in the processing target image data storage unit 100 shown in FIG. Of course, instead of using the input image memory 21 and the reference frame memory 22 directly, it is possible to use buffers each having a capacity of several frames. Also, the macroblock motion vector detection unit 200, the block motion vector detection unit 300, the difference accumulation sum calculation unit 400, the motion vector detection control unit 500, and the threshold storage unit 600 in FIG. 2 correspond to the motion vector detection unit in FIG. To do. The macroblock motion vector detection unit 200 includes the macroblock difference memory 23 of FIG. 2, and the difference accumulation sum calculation unit 400 includes the block difference accumulation sum memory 24 of FIG.

処理対象画像データ記憶部100には、符号化処理対象の現フレームとその参照フレームの画像データが格納されている。マクロブロック動きベクトル検出部200は、処理対象画像データ記憶部100に格納された画像データに基づいて、参照フレームのマクロブロックと最も差分の小さいマクロブロックの動きベクトルを検出する。マクロブロックの動きベクトルの検出手法には各種のものが存在するが、本発明は、それらのマクロブロックの動きベクトルの検出手法のうちある特定のものに限定されるものではない。   The processing target image data storage unit 100 stores image data of the current frame to be encoded and its reference frame. Based on the image data stored in the processing target image data storage unit 100, the macroblock motion vector detection unit 200 detects the motion vector of the macroblock having the smallest difference from the macroblock of the reference frame. There are various macroblock motion vector detection methods, but the present invention is not limited to a particular one of the macroblock motion vector detection methods.

ブロック動きベクトル検出部300は、処理対象のマクロブロックを複数に分割し、分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出する。マクロブロックを分割したブロックの動きベクトルの検出手法にも各種のものが存在するが、マクロブロックの場合と同様に、本発明は、ブロックの動きベクトルの検出手法のうちある特定のものに限定されるものではない。   The block motion vector detection unit 300 divides the macro block to be processed into a plurality of blocks, and sequentially detects a motion vector having the smallest difference from the block of the reference frame for each of the divided blocks. Although there are various types of motion vector detection methods for blocks obtained by dividing a macroblock, as in the case of macroblocks, the present invention is limited to a specific one of block motion vector detection methods. It is not something.

差分累積和演算部400は、ブロック動きベクトル検出部300が順次検出する動きベクトルに対応する差分の累積和を演算する。
動きベクトル検出制御部500は、マクロブロック動きベクトル検出部200が検出する動きベクトルに対応する差分と、差分累積和演算部400が演算する差分の累積和と、閾値記憶部に設定された閾値に基づいて、マクロブロック動きベクトル検出部200が検出する動きベクトル、あるいはブロック動きベクトル検出部300が検出する複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用する。
The difference accumulation sum calculation unit 400 calculates the accumulation sum of differences corresponding to the motion vectors sequentially detected by the block motion vector detection unit 300.
The motion vector detection control unit 500 sets the difference corresponding to the motion vector detected by the macroblock motion vector detection unit 200, the cumulative sum of the differences calculated by the difference cumulative sum calculation unit 400, and the threshold set in the threshold storage unit. Based on this, a motion vector detected by the macroblock motion vector detection unit 200 or a plurality of motion vectors detected by the block motion vector detection unit 300 is adopted as a motion vector used for video encoding.

図3に示すのは、図2に示した機能ブロックのより具体的な構成例である。図3の現フレーム記憶部110、処理中マクロブロック記憶部120、参照フレーム記憶部130が図2の処理対象データ記憶部100を構成する。図3の第1差分演算処理部210、マクロブロック差分記憶部220は、マクロブロック動きベクトル検出部200を構成する。第2差分演算処理部310、ブロック差分記憶部320はブロック動きベクトル検出部300を構成し、累積加算部410、ブロック差分累積和記憶部420は差分累積和演算部400を構成する。   FIG. 3 shows a more specific configuration example of the functional block shown in FIG. The current frame storage unit 110, in-process macroblock storage unit 120, and reference frame storage unit 130 in FIG. 3 constitute the processing target data storage unit 100 in FIG. The first difference calculation processing unit 210 and the macroblock difference storage unit 220 in FIG. 3 constitute a macroblock motion vector detection unit 200. The second difference calculation processing unit 310 and the block difference storage unit 320 constitute a block motion vector detection unit 300, and the cumulative addition unit 410 and the block difference accumulation sum storage unit 420 constitute a difference accumulation sum calculation unit 400.

以下、図3〜6を参照して本発明の実施例を説明する。
図3の現フレーム記憶部110には図4に示す現フレーム、すなわち現在処理中の画像フレームが格納される。また、参照フレーム記憶部130には、図4に示す参照フレーム、すなわち現フレームの符号化のために参照される画像フレームが格納される。処理中マクロブロック記憶部120には、現フレーム中の16x16画素の領域であるマクロブロックのうち、現在処理中のマクロブロックが記憶される。
Hereinafter, embodiments of the present invention will be described with reference to FIGS.
The current frame storage unit 110 in FIG. 3 stores the current frame shown in FIG. 4, that is, the image frame currently being processed. Further, the reference frame storage unit 130 stores a reference frame shown in FIG. 4, that is, an image frame referred to for encoding the current frame. The currently processed macroblock storage unit 120 stores the currently processed macroblock among the macroblocks that are 16 × 16 pixel areas in the current frame.

第1差分演算処理部210は、マクロブロック単位の動きベクトル検出を実施する部分であり、処理中マクロブロック記憶部120に記憶されたマクロブロックと、参照フレーム記憶部130に格納された参照フレームの探索範囲内の16x16画素の領域との差分として差分二乗和を順次計算し、差分二乗和の最も小さい領域を求めることにより動きベクトルを求める。そして、そのもっとも小さい差分二乗和の値をマクロブロック差分記憶部220に設定する。第1差分演算処理部210は、始めの演算で得られた差分二乗和をマクロブロック差分記憶部220に記憶した後、引き続き差分二乗和を演算するごとにその演算結果とマクロブロック差分記憶部220に記憶された値とを比較し、小さいほうをマクロブロック差分記憶部220に記憶することで、最も小さい差分二乗和の値をマクロブロック差分記憶部220に設定することができる。   The first difference calculation processing unit 210 is a part that performs motion vector detection in units of macroblocks, and includes a macro block stored in the processing-in-process macroblock storage unit 120 and a reference frame stored in the reference frame storage unit 130. A difference sum of squares is sequentially calculated as a difference from the 16 × 16 pixel area within the search range, and a motion vector is obtained by obtaining an area having the smallest difference square sum. Then, the smallest sum of squared differences is set in the macroblock difference storage unit 220. The first difference calculation processing unit 210 stores the difference square sum obtained in the first calculation in the macroblock difference storage unit 220 and then calculates the difference between the calculation result and the macroblock difference storage unit 220 every time the difference square sum is calculated. And the smaller one is stored in the macroblock difference storage unit 220, so that the smallest difference square sum value can be set in the macroblock difference storage unit 220.

第2差分演算処理部310は、処理中マクロブロック記憶部120に記憶された現在処理中のマクロブロックを図5に示すように4つのブロックB1、B2、B3、B4に分割し、ブロック毎に参照フレーム記憶部130に格納された参照フレームの探索範囲内の8x8画素の領域との差分二乗和を順次計算して差分二乗和が最小となる動きベクトルMV1、MV2、MV3、MV4を検出する。動きベクトルが検出されるごとに対応する参照フレーム中のブロックとの差分二乗和がブロック差分記憶部320に記憶され、その値は累積加算部410に入力される。第2差分演算処理部310がブロック差分記憶部320を用いて動きベクトルを求めるには、上述した第1差分演算処理部210がマクロブロック差分記憶部220を用いて動きベクトルを求める手法と同様な手法が採用できる。   The second difference calculation processing unit 310 divides the currently processed macroblock stored in the currently processed macroblock storage unit 120 into four blocks B1, B2, B3, and B4 as shown in FIG. The motion vectors MV1, MV2, MV3, and MV4 that minimize the sum of squared differences are detected by sequentially calculating the sum of squared differences from the 8 × 8 pixel area within the reference frame search range stored in the reference frame storage unit 130. Each time a motion vector is detected, the sum of squared differences with the block in the corresponding reference frame is stored in the block difference storage unit 320, and the value is input to the cumulative addition unit 410. The second difference calculation processing unit 310 obtains a motion vector using the block difference storage unit 320 in the same manner as the above-described method in which the first difference calculation processing unit 210 obtains a motion vector using the macroblock difference storage unit 220. Method can be adopted.

累積加算部410とブロック差分累積和記憶部420により、動きベクトルMV1、MV2、MV3、MV4を求めたときの差分二乗和の累積和がブロック差分累積和記憶部420に順次求められる。   The cumulative sum of the difference squares when the motion vectors MV1, MV2, MV3, and MV4 are obtained by the cumulative addition unit 410 and the block difference cumulative sum storage unit 420 are sequentially obtained in the block difference cumulative sum storage unit 420.

動きベクトル検出制御部500は、マクロブロック差分記憶部220に設定された差分二乗和と、閾値設定部700により閾値記憶部600に設定された第1の閾値Xを比較し、その差分二乗和が第1の閾値Xよりも大きくなければ、すなわちその差分二乗値が充分小さければ、第1の差分演算処理部210が検出した動きベクトルを符号化処理のために採用する。   The motion vector detection control unit 500 compares the difference square sum set in the macroblock difference storage unit 220 with the first threshold value X set in the threshold storage unit 600 by the threshold setting unit 700, and the difference square sum is calculated. If it is not larger than the first threshold value X, that is, if the difference square value is sufficiently small, the motion vector detected by the first difference calculation processing unit 210 is adopted for the encoding process.

上記比較において、差分二乗和が第1の閾値Xよりも大きければ、第2差分演算処理部310の動作を開始させる。そして、第2差分演算処理部310がマクロブロックを分割したブロックについての動きベクトルを検出するごとに、それまでの差分二乗和の累積和、すなわちブロック差分累積和記憶部420に記憶された値をマクロブロック差分記憶部220に記憶された値から引き算し、その差分と閾値記憶部600に設定された第2の閾値Yを比較する。比較の結果その差分が第2の閾値Yよりも大きくなければ、言い換えれば、ブロックの差分二乗和の累積和が充分に小さくなければ、その段階で第2差分演算処理部310での処理を終了し、第1の差分演算処理部210が検出した動きベクトルを符号化処理のために採用する。   In the above comparison, if the sum of squared differences is larger than the first threshold value X, the operation of the second difference calculation processing unit 310 is started. Each time the second difference calculation processing unit 310 detects a motion vector for the block obtained by dividing the macroblock, the cumulative sum of the square sums of differences, that is, the value stored in the block difference cumulative sum storage unit 420 is calculated. Subtraction is performed from the value stored in the macroblock difference storage unit 220, and the difference is compared with the second threshold value Y set in the threshold value storage unit 600. If the difference is not larger than the second threshold Y as a result of the comparison, in other words, if the cumulative sum of the sum of squared differences of the blocks is not sufficiently small, the processing in the second difference calculation processing unit 310 is terminated at that stage. Then, the motion vector detected by the first difference calculation processing unit 210 is employed for the encoding process.

すべてのブロックについての差分二乗和の累積和により上記差分を計算しても、その差分が第2の閾値より大きい場合には、第2差分演算処理部310が検出したすべてのブロックの動きベクトルを符号化処理のために採用する。   If the difference is larger than the second threshold even if the difference is calculated by the cumulative sum of the sum of squares of all blocks, the motion vectors of all the blocks detected by the second difference calculation processing unit 310 are calculated. Adopted for encoding process.

動きベクトル検出制御部500は、上記説明した処理のほか、各種初期設定等、動きベクトル検出に必要なその他の処理を実行する。
なお、1つのマクロブロックに複数個の動きベクトルを使用すると、動きの激しい画像等で画質の劣化を防ぐことができるが、しかし、動きベクトル1個の場合と比較して符号化効率が下がり、画質が逆に劣化する場合がある。したがって、上記第1の閾値と第2の閾値は例えばプログラムパラメータとして可変とし、画質をチューニングできるようにして画質と符号化効率のトレードオフを可能にすることが好ましい。
The motion vector detection control unit 500 executes other processes necessary for motion vector detection, such as various initial settings, in addition to the processes described above.
If a plurality of motion vectors are used for one macroblock, it is possible to prevent deterioration of image quality in an image with intense motion, but the encoding efficiency is reduced compared to the case of one motion vector, Conversely, the image quality may deteriorate. Therefore, it is preferable that the first threshold value and the second threshold value are made variable as program parameters, for example, so that the image quality can be tuned so that a trade-off between the image quality and the coding efficiency is possible.

そのために、図3に記載した実施例では閾値設定部700が設けられている。閾値設定部700により閾値記憶部に設定された閾値の設定変更を可能としている。閾値設定の具体的手段としては、閾値をプログラムパラメータとし、外部から入力された閾値を用いる方法や、動きベクトル検出制御部での動きベクトル検出の実行結果に応じてダイナミックに閾値を設定する方法を採用することができる。   For this purpose, a threshold setting unit 700 is provided in the embodiment shown in FIG. The threshold setting unit 700 can change the setting of the threshold set in the threshold storage unit. As specific means for setting the threshold, a method using the threshold as a program parameter and using an externally input threshold, or a method for dynamically setting the threshold according to the motion vector detection execution result in the motion vector detection control unit is used. Can be adopted.

次に、図6に、本発明の動きベクトル検出処理フローを示す。
ステップS10は、上述の第1差分演算処理部210での処理に相当するものである。また、ステップS50及びステップS60は、第2差分演算処理部310と累積加算部410での処理に相当する。そして、その他のステップは動きベクトル検出制御部500による制御に相当する部分である。
Next, FIG. 6 shows a motion vector detection processing flow of the present invention.
Step S10 corresponds to the processing in the first difference calculation processing unit 210 described above. Further, Step S50 and Step S60 correspond to processing in the second difference calculation processing unit 310 and the cumulative addition unit 410. The other steps correspond to the control by the motion vector detection control unit 500.

まず、ステップS10で、16x16画素単位の差分二乗和が最小となる動きベクトルを検出し、その16x16画素単位の差分二乗和を求める。ステップS20で、その16x16画素単位の差分二乗和が閾値Xよりも大きいか判定し、大きくなければステップS90に分岐してステップS10で検出した動きベクトルを符号化のための動きベクトルとして採用する。ステップS20での判定がイエスであれば、ステップS30でマクロブロックを分割した複数のブロックに付与したインデックスに初期値を設定し、ステップS40〜ステップS80の処理を順次繰り返し実行する。   First, in step S10, a motion vector that minimizes the sum of squared differences in 16 × 16 pixel units is detected, and the squared difference sum in 16 × 16 pixel units is obtained. In step S20, it is determined whether the difference square sum of 16 × 16 pixels is larger than the threshold value X. If not, the process branches to step S90, and the motion vector detected in step S10 is adopted as a motion vector for encoding. If the determination in step S20 is yes, an initial value is set for the index assigned to the plurality of blocks obtained by dividing the macroblock in step S30, and the processes in steps S40 to S80 are sequentially repeated.

ステップS40ではすべてのブロックについての処理が終了したか判定する。終了していなければ、ステップS50で8x8画素単位のブロックの差分二乗和が最小となる動きベクトルを検出してその差分二乗和を求め、ステップS60で、ステップS50で求めた動きベクトルに対応する差分二乗和の累積和を求める。   In step S40, it is determined whether or not the processing for all blocks has been completed. If not completed, a motion vector that minimizes the sum of squared differences of the 8 × 8 pixel unit block is detected in step S50 to obtain the sum of squared differences, and in step S60, the difference corresponding to the motion vector obtained in step S50. Find the cumulative sum of squares.

ステップS70では、ステップS10で求めた差分二乗和からステップS60で求めた累積和を引いた値と閾値Yとを比較し、閾値Yが引き算した値より小さければインデックスを更新してステップS40に戻る。閾値Yが引き算した値より小さくなければ、ステップS90に分岐する。   In step S70, the value obtained by subtracting the cumulative sum obtained in step S60 from the square sum of differences obtained in step S10 is compared with the threshold Y. If the threshold Y is smaller than the subtracted value, the index is updated and the process returns to step S40. . If the threshold Y is not smaller than the subtracted value, the process branches to step S90.

ステップS40での判定が、すべてのブロックについての処理が終了したという場合は、ステップS100に分岐し、ステップS50で検出した動きベクトル4本を、動きベクトルを符号化のための動きベクトルとして採用する。   If it is determined in step S40 that the processing for all blocks has been completed, the process branches to step S100, and the four motion vectors detected in step S50 are employed as motion vectors for encoding. .

なお、図3に示した各演算処理部や制御部等は個別のハードウェアを有する部分として構成することもできるし、1つ以上のCPUを備えた一まとまりのシステムであるコンピュータとして構成することもできる。また、MPEG−4エンコーダ全体を構成するハードウェア上に構成することも可能である。いずれの場合においても、ハードウェアとソフトウェアの組み合わせなど、当業者にとって、本発明を具体的にどのような構成で実現するかは、本明細書に開示された事項を基に、種々選択可能な事項である。   Note that each arithmetic processing unit, control unit, and the like shown in FIG. 3 can be configured as a part having individual hardware, or configured as a computer that is a collective system including one or more CPUs. You can also. It is also possible to configure on the hardware configuring the entire MPEG-4 encoder. In any case, for those skilled in the art, such as a combination of hardware and software, the configuration in which the present invention is specifically realized can be variously selected based on the matters disclosed in this specification. It is a matter.

そして、上記実施例の説明においては、マクロブロックの動きベクトルを検出してから該マクロブロックを分割したブロックについての動きベクトルを検出しているが、ハードウェアを増強することにより、両方の動きベクトルの検出を並列化できることは当業者に明らかである。   In the description of the above embodiment, the motion vector for the block obtained by dividing the macroblock is detected after detecting the motion vector of the macroblock. However, by increasing the hardware, both motion vectors are detected. It will be apparent to those skilled in the art that the detection can be parallelized.

また、最初にマクロブロックを分割したブロックについての動きベクトルを順次検出していき、累積差分和が一定の閾値を超えなければ該ブロックについての複数の動きベクトルを採用し、累積差分和が一定の閾値を越えたならばマクロブロック分割を打ち切り、マクロブロックの動きベクトル検出に切り替えるように動きベクトル検出制御部が制御することも可能である。   In addition, the motion vector for the block obtained by dividing the macroblock first is sequentially detected, and if the cumulative difference sum does not exceed a certain threshold, a plurality of motion vectors for the block are adopted, and the cumulative difference sum is constant. If the threshold value is exceeded, the motion vector detection control unit may control to stop the macroblock division and switch to macroblock motion vector detection.

さらに、マクロブロックの動きベクトルが採用される頻度とそれを分割したブロックの動きベクトルが採用される頻度等により、どちらの動きベクトル検出を先に実行するかを切り替える処理を行うことも可能である。それらの場合も、所定の閾値を、プログラムパラメータとするなど、修正可能とすることができる。   Furthermore, it is also possible to perform a process of switching which motion vector detection is executed first depending on the frequency at which the motion vector of the macroblock is adopted and the frequency at which the motion vector of the divided block is adopted. . In these cases as well, it is possible to modify the predetermined threshold value as a program parameter.

(付記1)
マクロブロックの動きベクトルを検出し、該動きベクトルに対応する差分を求めるマクロブロック動きベクトル検出部と、
処理対象の前記マクロブロックを複数に分割し、分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出するブロック動きベクトル検出部と、
前記ブロック動きベクトル検出部が順次検出する動きベクトルに対応する差分の累積和を演算する差分累積和演算部と、
動きベクトル検出制御部と、
閾値記憶部を備え、
前記動きベクトル検出制御部は、前記マクロブロック動きベクトル検出部が検出する動きベクトルに対応する差分と、前記差分累積和演算部が演算する差分の累積和と、前記閾値記憶部に設定された閾値に基づいて、前記マクロブロック動きベクトル検出部が検出する動きベクトル、あるいは前記ブロック動きベクトル検出部が検出する複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用すること
を特徴とする動画像符号化装置。
(付記2)
現在処理中の画像フレームである現フレームが格納される現フレーム記憶部と、現フレームの符号化のために参照される画像フレームである参照フレームが格納される参照フレーム記憶部と、現フレームのマクロブロックうち処理中のマクロブロックが格納される処理中マクロブロック記憶部を備え、
前記マクロブロック動きベクトル検出部は、第1差分演算処理部とマクロブロック差分記憶部を含み、
前記第1差分演算処理部は、前記処理中マクロブロック記憶部に記憶されたマクロブロックと、前記参照フレーム記憶部に格納された参照フレームの探索範囲内の16x16画素の領域との差分として差分二乗和を順次計算して差分二乗和の最も小さい領域を求めることにより動きベクトルを求め、そのもっとも小さい差分二乗和の値を前記マクロブロック差分記憶部に設定し、
前記ブロック動きベクトル検出部は、第2差分演算処理部とブロック差分記憶部を含み、また前記差分累積和演算部は累積加算部とブロック差分累積和記憶部を含み、
前記第2差分演算処理部は、前記処理中マクロブロック記憶部に記憶されたマクロブロックを複数のブロックに分割し、ブロック毎に前記参照フレーム記憶部に格納された参照フレームの探索範囲内のブロックとの差分二乗和を順次計算して最小となる差分二乗和を前記ブロック差分記憶部に記憶しながら該ブロックの動きベクトルを検出し、該ブロックの動きベクトルが検出されるごとに、前記ブロック差分記憶部に記憶された該動きベクトルに対応する前記参照フレーム中のブロックとの差分二乗和を前記累積加算部に入力し、
前記累積加算部は、該入力される差分二乗和と前記ブロック差分累積和記憶部に記憶されたブロック差分累積和の和を新たなブロック差分累積和として前記ブロック差分累積和記憶部に記憶し、
前記閾値記憶部には第1の閾値と第2の閾値が記憶され、
前記動きベクトル検出制御部は、前記マクロブロック差分記憶部に設定された差分二乗和と前記閾値記憶部に設定された第1の閾値を比較し、該差分二乗和が前記第1の閾値よりも大きくなければ、前記第1の差分演算処理部が検出した動きベクトルを採用し、前記比較において、前記差分二乗和が前記第1の閾値よりも大きければ、前記第2差分演算処理部の動作を開始させ、該第2差分演算処理部がマクロブロックを分割したブロックについての動きベクトルを検出するごとに、前記ブロック差分累積和記憶部に記憶されたブロック差分累積和を前記マクロブロック差分記憶部に記憶された差分二乗和から引き算し、該引き算結果の差分を前記閾値記憶部に設定された第2の閾値と比較し、該差分が前記第2の閾値よりも大きくなければ、前記第1の差分演算処理部が検出した動きベクトルを採用し、すべてのブロックについての差分二乗和の累積和により前記引き算結果の差分を計算しても、該差分が前記第2の閾値より大きい場合には、前記第2差分演算処理部が検出したすべてのブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用すること
を特徴とする付記1に記載の動画像符号化装置。
(付記3)
前記第1の閾値あるいは第2の閾値を設定する閾値設定部を有することを特徴とする付記2に記載の動画像符号化装置。
(付記4)
動画像符号化のための動きベクトル検出方法において、
マクロブロックの動きベクトルを検出するとともに該マクロブロックの動きベクトルに対応する差分を求め、
処理対象の前記マクロブロックを複数に分割し、
分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出し、
前記順次検出される動きベクトルに対応する差分の累積和を演算し、
前記マクロブロックの動きベクトルに対応する差分と、前記差分の累積和と、所定の閾値に基づいて、前記マクロブロックの動きベクトル、あるいは前記分割した各ブロックについての複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用すること
を特徴とする動きベクトル検出方法。
(付記5)
前記所定の閾値は設定変更が可能であることを特徴とする付記4に記載の動きベクトル検出方法。
(付記6)
前記所定の閾値は、第1の閾値と第2の閾値であり、
前記マクロブロックの動きベクトルに対応する差分が前記第1の閾値より大きくなければ該マクロブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用し、
前記マクロブロックの動きベクトルに対応する差分が前記第1の閾値より大きい場合には、前記順次検出されるブロックの動きベクトルに対応する差分の累積和を演算する毎に、該差分の累積和を前記マクロブロックの動きベクトルに対応する差分から引き算し、該引き算結果の差分を前記第2の閾値と比較し、
該差分が前記第2の閾値よりも大きくなければ、前記マクロブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用し、
すべてのブロックについての差分の累積和により前記引き算結果の差分を計算しても、該差分が前記第2の閾値より大きい場合には、該すべてのブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用することを特徴とする付記4に記載の動きベクトル検出方法。
(付記7)
前記第1の閾値と第2の閾値は設定変更が可能であることを特徴とする付記6に記載の動きベクトル検出方法。
(付記8)
処理対象のマクロブロックを複数のブロックに分割し、
分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出し、
前記順次検出されるブロックの動きベクトルに対応する差分の累積和を演算し、
該順次演算される差分の累積和を所定の閾値と比較し、
前記差分の累積和が前記所定の閾値よりも大きければ、前記マクロブロックの動きベクトルを検出して動画像符号化に使用する動きベクトルとして採用し、
すべてのブロックについての差分の累積和を計算しても、該差分の累積和が前記所定の閾値より大きくなければ、前記すべてのブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用することを特徴とする付記4に記載の動きベクトル検出方法。
(付記9)
前記所定の閾値は設定変更が可能であることを特徴とする付記8に記載の動きベクトル検出方法。
(付記10)
コンピュータに動画像符号化のための動きベクトル検出を実行させるためプログラムにおいて、
コンピュータに、
マクロブロックの動きベクトルを検出するとともに該マクロブロックの動きベクトルに対応する差分を求めるマクロブロック動きベクトル検出ステップと、
処理対象の前記マクロブロックを複数に分割するステップと、
分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出するブロック動きベクトル検出ステップと、
前記ブロック動きベクトル検出ステップにおいて順次検出されるブロックの動きベクトルに対応する差分の累積和を演算する累積和演算ステップと、
前記マクロブロック動きベクトル検出ステップで求められたマクロブロックの動きベクトルに対応する差分と、前記累積和演算ステップで演算された差分の累積和と、所定の閾値に基づいて、前記マクロブロック動きベクトル検出ステップで検出されたマクロブロックの動きベクトル、あるいは前記ブロック動きベクトル検出ステップで検出された各ブロックについての複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用する動きベクトル採用ステップ
を実行させることを特徴とするプログラム。
(付記11)
前記所定の閾値はプログラムパラメータであることを特徴とする付記10に記載のプログラム。
(付記12)
前記コンピュータは、現在処理中の画像フレームである現フレームが格納される現フレーム記憶部と、現フレームの符号化のために参照される画像フレームである参照フレームが格納される参照フレーム記憶部と、現フレームのマクロブロックうち処理中のマクロブロックが格納される処理中マクロブロック記憶部と、マクロブロック差分記憶部と、ブロック差分記憶部と、ブロック差分累積和記憶部と、第1の閾値と第2の閾値が記憶された閾値記憶部を備え、
前記マクロブロック動きベクトル検出ステップは、前記処理中マクロブロック記憶部に記憶されたマクロブロックと、前記参照フレーム記憶部に格納された参照フレームの探索範囲内の16x16画素の領域との差分として差分二乗和を順次計算して差分二乗和の最も小さい領域を求めることにより動きベクトルを求め、そのもっとも小さい差分二乗和の値を前記マクロブロック差分記憶部に設定することで、マクロブロックの動きベクトルを検出するとともに該マクロブロックの動きベクトルに対応する差分を求めるものであり、
前記ブロック動きベクトル検出ステップは、ブロック毎に前記参照フレーム記憶部に格納された参照フレームの探索範囲内のブロックとの差分二乗和を順次計算して最小となる差分二乗和を前記ブロック差分記憶部に記憶しながら該ブロックの動きベクトルを検出するものであり、
前記累積和演算ステップは、前記ブロックの動きベクトルが検出されるごとに、前記ブロック差分記憶部に記憶された該動きベクトルに対応する前記参照フレーム中のブロックとの差分二乗和と前記ブロック差分累積和記憶部に記憶されたブロック差分累積和の和を新たなブロック差分累積和として前記ブロック差分累積和記憶部に記憶することにより、前記ブロック動きベクトル検出ステップにおいて順次検出されるブロックの動きベクトルに対応する差分の累積和を演算するものであり、
前記動きベクトル採用ステップは、前記マクロブロック差分記憶部に設定された差分二乗和と前記閾値記憶部に設定された第1の閾値を比較し、該差分二乗和が前記第1の閾値よりも大きくなければ、前記第1の差分演算処理部が検出した動きベクトルを動画像符号化に使用する動きベクトルとして採用し、前記比較において、前記差分二乗和が前記第1の閾値よりも大きければ、前記第2差分演算処理部の動作を開始させ、該第2差分演算処理部がマクロブロックを分割したブロックについての動きベクトルを検出するごとに、前記ブロック差分累積和記憶部に記憶されたブロック差分累積和を前記マクロブロック差分記憶部に記憶された差分二乗和から引き算し、該引き算結果の差分を前記閾値記憶部に設定された第2の閾値と比較し、該差分が前記第2の閾値よりも大きくなければ、前記第1の差分演算処理部が検出した動きベクトルを動画像符号化に使用する動きベクトルとして採用し、すべてのブロックについての差分二乗和の累積和により前記引き算結果の差分を計算しても、該差分が前記第2の閾値より大きい場合には、前記第2差分演算処理部が検出したすべてのブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用するものであることを特徴とする付記10に記載のプログラム。
(付記13)
前記第1の閾値と第2の閾値はプログラムパラメータであることを特徴とする付記12に記載のプログラム。
(Appendix 1)
A macroblock motion vector detector that detects a motion vector of the macroblock and obtains a difference corresponding to the motion vector;
A block motion vector detection unit that divides the macroblock to be processed into a plurality of blocks, and sequentially detects a motion vector having the smallest difference from the block of the reference frame for each divided block;
A cumulative difference calculation unit that calculates a cumulative sum of differences corresponding to motion vectors sequentially detected by the block motion vector detection unit;
A motion vector detection control unit;
A threshold storage unit;
The motion vector detection control unit includes a difference corresponding to a motion vector detected by the macroblock motion vector detection unit, a cumulative sum of differences calculated by the difference cumulative sum calculation unit, and a threshold set in the threshold storage unit Based on the above, a motion vector detected by the macroblock motion vector detection unit or a plurality of motion vectors detected by the block motion vector detection unit is adopted as a motion vector used for video encoding. Image encoding device.
(Appendix 2)
A current frame storage unit that stores a current frame that is a currently processed image frame; a reference frame storage unit that stores a reference frame that is an image frame referred to for encoding the current frame; A processing-in-progress macroblock storage unit that stores a macroblock being processed among the macroblocks,
The macroblock motion vector detection unit includes a first difference calculation processing unit and a macroblock difference storage unit,
The first difference calculation processing unit calculates a difference square as a difference between a macroblock stored in the processing-in-process macroblock storage unit and a region of 16 × 16 pixels within a reference frame search range stored in the reference frame storage unit. The motion vector is obtained by sequentially calculating the sum and obtaining the smallest area of the sum of squared differences, and the value of the smallest sum of squared differences is set in the macroblock difference storage unit,
The block motion vector detection unit includes a second difference calculation processing unit and a block difference storage unit, and the difference cumulative sum calculation unit includes a cumulative addition unit and a block difference cumulative sum storage unit,
The second difference calculation processing unit divides a macroblock stored in the processing-in-process macroblock storage unit into a plurality of blocks, and blocks within a reference frame search range stored in the reference frame storage unit for each block Each time the difference square sum is calculated and the smallest difference square sum is stored in the block difference storage unit, the motion vector of the block is detected, and each time the motion vector of the block is detected, the block difference The sum of squared differences with the block in the reference frame corresponding to the motion vector stored in the storage unit is input to the cumulative addition unit,
The cumulative addition unit stores the sum of the input difference square sum and the block difference cumulative sum stored in the block difference cumulative sum storage unit as a new block difference cumulative sum in the block difference cumulative sum storage unit,
The threshold storage unit stores a first threshold and a second threshold,
The motion vector detection control unit compares the difference square sum set in the macroblock difference storage unit with the first threshold value set in the threshold value storage unit, and the difference square sum is greater than the first threshold value. If not, the motion vector detected by the first difference calculation processing unit is adopted. If the difference sum of squares is larger than the first threshold in the comparison, the operation of the second difference calculation processing unit is performed. Each time the second difference calculation processing unit detects a motion vector for a block obtained by dividing a macroblock, the block difference cumulative sum stored in the block difference cumulative sum storage unit is stored in the macroblock difference storage unit. Subtract from the stored sum of squared differences, compare the difference of the subtraction results with a second threshold set in the threshold storage unit, and if the difference is not greater than the second threshold Even if the motion vector detected by the first difference calculation processing unit is adopted, and the difference of the subtraction result is calculated by the cumulative sum of the sum of squares of all the blocks, the difference is larger than the second threshold value. In such a case, the moving image encoding apparatus according to appendix 1, wherein the motion vectors of all the blocks detected by the second difference calculation processing unit are adopted as motion vectors used for moving image encoding.
(Appendix 3)
The moving picture encoding apparatus according to attachment 2, further comprising a threshold setting unit that sets the first threshold or the second threshold.
(Appendix 4)
In a motion vector detection method for video encoding,
Detecting a motion vector of the macroblock and obtaining a difference corresponding to the motion vector of the macroblock;
Dividing the macroblock to be processed into a plurality of
For each divided block, sequentially detect the motion vector with the smallest difference from the reference frame block,
Calculating a cumulative sum of differences corresponding to the sequentially detected motion vectors;
Based on the difference corresponding to the motion vector of the macroblock, the cumulative sum of the differences, and a predetermined threshold, the motion vector of the macroblock or a plurality of motion vectors for each of the divided blocks is encoded as a moving image. A motion vector detection method characterized in that it is adopted as a motion vector to be used in the operation.
(Appendix 5)
The motion vector detection method according to appendix 4, wherein the predetermined threshold can be changed.
(Appendix 6)
The predetermined threshold values are a first threshold value and a second threshold value,
If the difference corresponding to the motion vector of the macroblock is not greater than the first threshold, the motion vector of the macroblock is adopted as a motion vector to be used for video encoding;
When the difference corresponding to the motion vector of the macroblock is greater than the first threshold, the cumulative sum of the difference is calculated each time the difference sum corresponding to the motion vector of the sequentially detected block is calculated. Subtracting from the difference corresponding to the motion vector of the macroblock, comparing the difference of the subtraction result with the second threshold,
If the difference is not larger than the second threshold, the motion vector of the macroblock is adopted as a motion vector used for video encoding;
Even if the difference of the subtraction result is calculated by the cumulative sum of the differences for all blocks, if the difference is larger than the second threshold value, the motion vectors of all the blocks are used for moving picture coding. The motion vector detection method according to appendix 4, which is employed as a motion vector.
(Appendix 7)
The motion vector detection method according to appendix 6, wherein the first threshold value and the second threshold value can be changed.
(Appendix 8)
Divide the macroblock to be processed into multiple blocks,
For each divided block, sequentially detect the motion vector with the smallest difference from the reference frame block,
Calculating a cumulative sum of differences corresponding to the motion vectors of the sequentially detected blocks;
Comparing the cumulative sum of the sequentially calculated differences with a predetermined threshold;
If the cumulative sum of the differences is greater than the predetermined threshold, the motion vector of the macroblock is detected and used as a motion vector used for video encoding;
Even if the cumulative sum of differences for all blocks is calculated, if the cumulative sum of the differences is not greater than the predetermined threshold, the motion vectors of all the blocks are adopted as motion vectors used for video encoding. The motion vector detection method according to supplementary note 4, wherein:
(Appendix 9)
The motion vector detection method according to appendix 8, wherein the predetermined threshold can be changed.
(Appendix 10)
In a program for causing a computer to perform motion vector detection for video encoding,
On the computer,
A macroblock motion vector detection step for detecting a motion vector of the macroblock and obtaining a difference corresponding to the motion vector of the macroblock;
Dividing the macroblock to be processed into a plurality of parts;
A block motion vector detection step for sequentially detecting a motion vector having the smallest difference from the block of the reference frame for each divided block;
A cumulative sum calculation step of calculating a cumulative sum of differences corresponding to the motion vectors of the blocks sequentially detected in the block motion vector detection step;
The macroblock motion vector detection based on the difference corresponding to the motion vector of the macroblock obtained in the macroblock motion vector detection step, the cumulative sum of the differences calculated in the cumulative sum calculation step, and a predetermined threshold value A motion vector adopting step that employs a motion vector of the macroblock detected in the step or a plurality of motion vectors for each block detected in the block motion vector detecting step as a motion vector used for video encoding is executed. A program characterized by that.
(Appendix 11)
The program according to claim 10, wherein the predetermined threshold is a program parameter.
(Appendix 12)
The computer includes a current frame storage unit that stores a current frame that is a currently processed image frame, and a reference frame storage unit that stores a reference frame that is an image frame referred to for encoding the current frame. A processing-in-progress macroblock storage unit that stores a macroblock being processed among the macroblocks of the current frame, a macroblock difference storage unit, a block difference storage unit, a block difference cumulative sum storage unit, a first threshold value, A threshold storage unit storing the second threshold,
The macroblock motion vector detecting step includes calculating a square of a difference as a difference between a macroblock stored in the processing-in-process macroblock storage unit and a 16 × 16 pixel region within a reference frame search range stored in the reference frame storage unit. The motion vector of the macro block is detected by calculating the sum by sequentially calculating the motion vector by finding the area with the smallest sum of squared differences, and setting the value of the smallest sum of squared differences in the macro block difference storage unit. And obtaining a difference corresponding to the motion vector of the macroblock,
The block motion vector detection step calculates the sum of squared differences with respect to a block within a search range of a reference frame stored in the reference frame storage unit for each block, and calculates a minimum difference square sum to the block difference storage unit. To detect the motion vector of the block while storing
In the cumulative sum calculation step, each time a motion vector of the block is detected, the sum of squared differences with the block in the reference frame corresponding to the motion vector stored in the block difference storage unit and the block difference accumulation By storing the sum of the block difference cumulative sums stored in the sum storage unit as a new block difference cumulative sum in the block difference cumulative sum storage unit, the motion vector of the block sequentially detected in the block motion vector detection step is obtained. Which calculates the cumulative sum of the corresponding differences,
The motion vector adoption step compares the difference square sum set in the macroblock difference storage unit with the first threshold value set in the threshold value storage unit, and the difference square sum is larger than the first threshold value. If not, the motion vector detected by the first difference calculation processing unit is adopted as a motion vector used for moving image encoding. In the comparison, if the sum of squared differences is larger than the first threshold, The block difference accumulation stored in the block difference accumulation sum storage unit is started each time the second difference operation processing unit is started and the second difference calculation processing unit detects a motion vector for a block obtained by dividing the macroblock. Subtracting the sum from the sum of squared differences stored in the macroblock difference storage unit, comparing the difference of the subtraction results with a second threshold set in the threshold storage unit, If the difference is not larger than the second threshold value, the motion vector detected by the first difference calculation processing unit is adopted as a motion vector used for moving image encoding, and the sum of squared differences for all blocks is accumulated. Even if the difference of the subtraction result is calculated by summation, if the difference is larger than the second threshold value, the motion vectors of all blocks detected by the second difference calculation processing unit are used for moving image encoding. The program according to appendix 10, wherein the program is adopted as a motion vector to be executed.
(Appendix 13)
The program according to appendix 12, wherein the first threshold value and the second threshold value are program parameters.

本発明によるMPEG−4エンコーダの機能ブロック図である。2 is a functional block diagram of an MPEG-4 encoder according to the present invention. FIG. 本発明の動画像符号化装置における動きベクトル検出部分の機能ブロック図である。It is a functional block diagram of the motion vector detection part in the moving image encoder of this invention. 図2に示した機能ブロックのより具体的な構成例である。3 is a more specific configuration example of a functional block shown in FIG. 2. マクロブロック単位の動きベクトル検出を示す図である。It is a figure which shows the motion vector detection of a macroblock unit. ブロック分割とブロック単位のベクトル検出を示す図である。It is a figure which shows block division and vector detection of a block unit. 本発明の動きベクトル検出処理フローを示す図である。It is a figure which shows the motion vector detection process flow of this invention. MPEG−4エンコーダの使用される環境の例を示す図である。It is a figure which shows the example of the environment where an MPEG-4 encoder is used.

符号の説明Explanation of symbols

10 動きベクトル検出部
11 動き補償部
21 入力画像メモリ
22 参照フレームメモリ
23 マクロブロック差分メモリ
24 ブロック差分累積和メモリ
25 フレームメモリ
26 ビットストリームメモリ
31 DCT変換部
32 逆DCT変換部
41 量子化部
42 逆量子化部
50 AC/DC予測部
60 可変長符号化部
70 レート制御部
100 処理対象画像データ記憶部
110 現フレーム記憶部
120 処理中マクロブロック記憶部
130 参照フレーム記憶部
200 マクロブロック動きベクトル検出部
210 第1差分演算処理部
220 マクロブロック差分記憶部
300 ブロック動きベクトル検出部
310 第2差分演算処理部
320 ブロック差分記憶部
400 差分累積和演算部
410 累積加算部
420 ブロック差分累積和記憶部
500 動きベクトル検出制御部
600 閾値記憶部
700 閾値設定部
DESCRIPTION OF SYMBOLS 10 Motion vector detection part 11 Motion compensation part 21 Input image memory 22 Reference frame memory 23 Macroblock difference memory 24 Block difference accumulation sum memory 25 Frame memory 26 Bit stream memory 31 DCT conversion part 32 Inverse DCT conversion part 41 Quantization part 42 Inverse Quantization unit 50 AC / DC prediction unit 60 Variable length coding unit 70 Rate control unit 100 Processing target image data storage unit 110 Current frame storage unit 120 In-process macroblock storage unit 130 Reference frame storage unit 200 Macroblock motion vector detection unit 210 First difference calculation processing unit 220 Macroblock difference storage unit 300 Block motion vector detection unit 310 Second difference calculation processing unit 320 Block difference storage unit 400 Difference cumulative sum calculation unit 410 Cumulative addition unit 420 Block difference cumulative sum storage unit 00 motion vector detection control unit 600 threshold storage unit 700 threshold setting unit

Claims (5)

マクロブロックの動きベクトルを検出し、該動きベクトルに対応する差分を求めるマクロブロック動きベクトル検出部と、
処理対象の前記マクロブロックを複数に分割し、分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出するブロック動きベクトル検出部と、
前記ブロック動きベクトル検出部が順次検出する動きベクトルに対応する差分の累積和を演算する差分累積和演算部と、
動きベクトル検出制御部と、
閾値記憶部を備え、
前記動きベクトル検出制御部は、前記マクロブロック動きベクトル検出部が検出する動きベクトルに対応する差分と、前記差分累積和演算部が演算する差分の累積和と、前記閾値記憶部に設定された閾値に基づいて、前記マクロブロック動きベクトル検出部が検出する動きベクトル、あるいは前記ブロック動きベクトル検出部が検出する複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用すること
を特徴とする動画像符号化装置。
A macroblock motion vector detector that detects a motion vector of the macroblock and obtains a difference corresponding to the motion vector;
A block motion vector detection unit that divides the macroblock to be processed into a plurality of blocks, and sequentially detects a motion vector having the smallest difference from the block of the reference frame for each divided block;
A cumulative difference calculation unit that calculates a cumulative sum of differences corresponding to motion vectors sequentially detected by the block motion vector detection unit;
A motion vector detection control unit;
A threshold storage unit;
The motion vector detection control unit includes a difference corresponding to a motion vector detected by the macroblock motion vector detection unit, a cumulative sum of differences calculated by the difference cumulative sum calculation unit, and a threshold set in the threshold storage unit Based on the above, a motion vector detected by the macroblock motion vector detection unit or a plurality of motion vectors detected by the block motion vector detection unit is adopted as a motion vector used for video encoding. Image encoding device.
現在処理中の画像フレームである現フレームが格納される現フレーム記憶部と、現フレームの符号化のために参照される画像フレームである参照フレームが格納される参照フレーム記憶部と、現フレームのマクロブロックうち処理中のマクロブロックが格納される処理中マクロブロック記憶部を備え、
前記マクロブロック動きベクトル検出部は、第1差分演算処理部とマクロブロック差分記憶部を含み、
前記第1差分演算処理部は、前記処理中マクロブロック記憶部に記憶されたマクロブロックと、前記参照フレーム記憶部に格納された参照フレームの探索範囲内の16x16画素の領域との差分として差分二乗和を順次計算して差分二乗和の最も小さい領域を求めることにより動きベクトルを求め、そのもっとも小さい差分二乗和の値を前記マクロブロック差分記憶部に設定し、
前記ブロック動きベクトル検出部は、第2差分演算処理部とブロック差分記憶部を含み、また前記差分累積和演算部は累積加算部とブロック差分累積和記憶部を含み、
前記第2差分演算処理部は、前記処理中マクロブロック記憶部に記憶されたマクロブロックを複数のブロックに分割し、ブロック毎に前記参照フレーム記憶部に格納された参照フレームの探索範囲内のブロックとの差分二乗和を順次計算して最小となる差分二乗和を前記ブロック差分記憶部に記憶しながら該ブロックの動きベクトルを検出し、該ブロックの動きベクトルが検出されるごとに、前記ブロック差分記憶部に記憶された該動きベクトルに対応する前記参照フレーム中のブロックとの差分二乗和を前記累積加算部に入力し、
前記累積加算部は、該入力される差分二乗和と前記ブロック差分累積和記憶部に記憶されたブロック差分累積和の和を新たなブロック差分累積和として前記ブロック差分累積和記憶部に記憶し、
前記閾値記憶部には第1の閾値と第2の閾値が記憶され、
前記動きベクトル検出制御部は、前記マクロブロック差分記憶部に設定された差分二乗和と前記閾値記憶部に設定された第1の閾値を比較し、該差分二乗和が前記第1の閾値よりも大きくなければ、前記第1の差分演算処理部が検出した動きベクトルを採用し、前記比較において、前記差分二乗和が前記第1の閾値よりも大きければ、前記第2差分演算処理部の動作を開始させ、該第2差分演算処理部がマクロブロックを分割したブロックについての動きベクトルを検出するごとに、前記ブロック差分累積和記憶部に記憶されたブロック差分累積和を前記マクロブロック差分記憶部に記憶された差分二乗和から引き算し、該引き算結果の差分を前記閾値記憶部に設定された第2の閾値と比較し、該差分が前記第2の閾値よりも大きくなければ、前記第1の差分演算処理部が検出した動きベクトルを採用し、すべてのブロックについての差分二乗和の累積和により前記引き算結果の差分を計算しても、該差分が前記第2の閾値より大きい場合には、前記第2差分演算処理部が検出したすべてのブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用すること
を特徴とする請求項1に記載の動画像符号化装置。
A current frame storage unit that stores a current frame that is a currently processed image frame; a reference frame storage unit that stores a reference frame that is an image frame referred to for encoding the current frame; A processing-in-progress macroblock storage unit that stores a macroblock being processed among the macroblocks,
The macroblock motion vector detection unit includes a first difference calculation processing unit and a macroblock difference storage unit,
The first difference calculation processing unit calculates a difference square as a difference between a macroblock stored in the processing-in-process macroblock storage unit and a region of 16 × 16 pixels within a reference frame search range stored in the reference frame storage unit. The motion vector is obtained by sequentially calculating the sum and obtaining the smallest area of the sum of squared differences, and the value of the smallest sum of squared differences is set in the macroblock difference storage unit,
The block motion vector detection unit includes a second difference calculation processing unit and a block difference storage unit, and the difference cumulative sum calculation unit includes a cumulative addition unit and a block difference cumulative sum storage unit,
The second difference calculation processing unit divides a macroblock stored in the processing-in-process macroblock storage unit into a plurality of blocks, and blocks within a reference frame search range stored in the reference frame storage unit for each block Each time the difference square sum is calculated and the smallest difference square sum is stored in the block difference storage unit, the motion vector of the block is detected, and each time the motion vector of the block is detected, the block difference The sum of squared differences with the block in the reference frame corresponding to the motion vector stored in the storage unit is input to the cumulative addition unit,
The cumulative addition unit stores the sum of the input difference square sum and the block difference cumulative sum stored in the block difference cumulative sum storage unit as a new block difference cumulative sum in the block difference cumulative sum storage unit,
The threshold storage unit stores a first threshold and a second threshold,
The motion vector detection control unit compares the difference square sum set in the macroblock difference storage unit with the first threshold value set in the threshold value storage unit, and the difference square sum is greater than the first threshold value. If not, the motion vector detected by the first difference calculation processing unit is adopted. If the difference sum of squares is larger than the first threshold in the comparison, the operation of the second difference calculation processing unit is performed. Each time the second difference calculation processing unit detects a motion vector for a block obtained by dividing a macroblock, the block difference cumulative sum stored in the block difference cumulative sum storage unit is stored in the macroblock difference storage unit. Subtract from the stored sum of squared differences, compare the difference of the subtraction results with a second threshold set in the threshold storage unit, and if the difference is not greater than the second threshold Even if the motion vector detected by the first difference calculation processing unit is adopted, and the difference of the subtraction result is calculated by the cumulative sum of the sum of squares of all the blocks, the difference is larger than the second threshold value. In this case, the motion vector encoding apparatus according to claim 1, wherein motion vectors of all blocks detected by the second difference calculation processing unit are adopted as motion vectors used for video encoding.
動画像符号化のための動きベクトル検出方法において、
マクロブロックの動きベクトルを検出するとともに該マクロブロックの動きベクトルに対応する差分を求め、
処理対象の前記マクロブロックを複数に分割し、
分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出し、
前記順次検出される動きベクトルに対応する差分の累積和を演算し、
前記マクロブロックの動きベクトルに対応する差分と、前記差分の累積和と、所定の閾値に基づいて、前記マクロブロックの動きベクトル、あるいは前記分割した各ブロックについての複数の動きベクトルを動画像符号化に使用する動きベクトルとして採用すること
を特徴とする動きベクトル検出方法。
In a motion vector detection method for video encoding,
Detecting a motion vector of the macroblock and obtaining a difference corresponding to the motion vector of the macroblock;
Dividing the macroblock to be processed into a plurality of
For each divided block, sequentially detect the motion vector with the smallest difference from the reference frame block,
Calculating a cumulative sum of differences corresponding to the sequentially detected motion vectors;
Based on the difference corresponding to the motion vector of the macroblock, the cumulative sum of the differences, and a predetermined threshold, the motion vector of the macroblock or a plurality of motion vectors for each of the divided blocks is encoded as a moving image. A motion vector detection method characterized in that it is adopted as a motion vector to be used in the operation.
前記所定の閾値は、第1の閾値と第2の閾値であり、
前記マクロブロックの動きベクトルに対応する差分が前記第1の閾値より大きくなければ該マクロブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用し、
前記マクロブロックの動きベクトルに対応する差分が前記第1の閾値より大きい場合には、前記順次検出されるブロックの動きベクトルに対応する差分の累積和を演算する毎に、該差分の累積和を前記マクロブロックの動きベクトルに対応する差分から引き算し、該引き算結果の差分を前記第2の閾値と比較し、
該差分が前記第2の閾値よりも大きくなければ、前記マクロブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用し、
すべてのブロックについての差分の累積和により前記引き算結果の差分を計算しても、該差分が前記第2の閾値より大きい場合には、該すべてのブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用することを特徴とする請求項3に記載の動きベクトル検出方法。
The predetermined threshold values are a first threshold value and a second threshold value,
If the difference corresponding to the motion vector of the macroblock is not greater than the first threshold, the motion vector of the macroblock is adopted as a motion vector to be used for video encoding;
When the difference corresponding to the motion vector of the macroblock is greater than the first threshold, the cumulative sum of the difference is calculated each time the difference sum corresponding to the motion vector of the sequentially detected block is calculated. Subtracting from the difference corresponding to the motion vector of the macroblock, comparing the difference of the subtraction result with the second threshold,
If the difference is not larger than the second threshold, the motion vector of the macroblock is adopted as a motion vector used for video encoding;
Even if the difference of the subtraction result is calculated by the cumulative sum of the differences for all blocks, if the difference is larger than the second threshold value, the motion vectors of all the blocks are used for moving picture coding. The motion vector detection method according to claim 3, wherein the motion vector detection method is employed as a motion vector.
処理対象のマクロブロックを複数のブロックに分割し、
分割した各ブロックについて、参照フレームのブロックと最も差分の小さい動きベクトルを順次検出し、
前記順次検出されるブロックの動きベクトルに対応する差分の累積和を演算し、
該順次演算される差分の累積和を所定の閾値と比較し、
前記差分の累積和が前記所定の閾値よりも大きければ、前記マクロブロックの動きベクトルを検出して動画像符号化に使用する動きベクトルとして採用し、
すべてのブロックについての差分の累積和を計算しても、該差分の累積和が前記所定の閾値より大きくなければ、前記すべてのブロックの動きベクトルを動画像符号化に使用する動きベクトルとして採用することを特徴とする請求項3に記載の動きベクトル検出方法。
Divide the macroblock to be processed into multiple blocks,
For each divided block, sequentially detect the motion vector with the smallest difference from the reference frame block,
Calculating a cumulative sum of differences corresponding to the motion vectors of the sequentially detected blocks;
Comparing the cumulative sum of the sequentially calculated differences with a predetermined threshold;
If the cumulative sum of the differences is greater than the predetermined threshold, the motion vector of the macroblock is detected and used as a motion vector used for video encoding;
Even if the cumulative sum of differences for all blocks is calculated, if the cumulative sum of the differences is not greater than the predetermined threshold, the motion vectors of all the blocks are adopted as motion vectors used for video encoding. The motion vector detection method according to claim 3.
JP2006097729A 2006-03-31 2006-03-31 Video encoding apparatus and motion vector detection method Pending JP2007274366A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006097729A JP2007274366A (en) 2006-03-31 2006-03-31 Video encoding apparatus and motion vector detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006097729A JP2007274366A (en) 2006-03-31 2006-03-31 Video encoding apparatus and motion vector detection method

Publications (1)

Publication Number Publication Date
JP2007274366A true JP2007274366A (en) 2007-10-18

Family

ID=38676699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006097729A Pending JP2007274366A (en) 2006-03-31 2006-03-31 Video encoding apparatus and motion vector detection method

Country Status (1)

Country Link
JP (1) JP2007274366A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01238389A (en) * 1988-03-18 1989-09-22 Fujitsu Ltd Predictive coding system for moving image
JPH08186800A (en) * 1995-01-04 1996-07-16 Nippon Hoso Kyokai <Nhk> Motion vector detection method
JPH10210480A (en) * 1997-01-20 1998-08-07 Mitsubishi Electric Corp Dynamic image coding system
JP2001197501A (en) * 2000-01-07 2001-07-19 Fujitsu Ltd Motion vector searcher, motion vector search method, and video encoding device
JP2005278156A (en) * 2004-02-27 2005-10-06 Matsushita Electric Ind Co Ltd Motion detection method and video encoding method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01238389A (en) * 1988-03-18 1989-09-22 Fujitsu Ltd Predictive coding system for moving image
JPH08186800A (en) * 1995-01-04 1996-07-16 Nippon Hoso Kyokai <Nhk> Motion vector detection method
JPH10210480A (en) * 1997-01-20 1998-08-07 Mitsubishi Electric Corp Dynamic image coding system
JP2001197501A (en) * 2000-01-07 2001-07-19 Fujitsu Ltd Motion vector searcher, motion vector search method, and video encoding device
JP2005278156A (en) * 2004-02-27 2005-10-06 Matsushita Electric Ind Co Ltd Motion detection method and video encoding method

Similar Documents

Publication Publication Date Title
EP1675403B1 (en) Moving-picture compression encoding method, apparatus and program
JP4529919B2 (en) Adaptive quantization apparatus and adaptive quantization program
US7444026B2 (en) Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
JP4732982B2 (en) Improved motion estimation method, video encoding method and apparatus using the method
US8761254B2 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
US20070047652A1 (en) Motion vector estimation apparatus and motion vector estimation method
KR20100082013A (en) Method and apparatus for performing motion estimation
JP2007523525A (en) Video coding apparatus and method for predicting motion using rotational matching
JP5133290B2 (en) Video encoding apparatus and decoding apparatus
JP2012034225A (en) Motion vector detection device, motion vector detection method and computer program
KR20170045013A (en) Apparatus and method for encoding data
US9445089B2 (en) Video encoding device, video encoding method and video encoding program
JP4494803B2 (en) Improved noise prediction method and apparatus based on motion compensation, and moving picture encoding method and apparatus using the same
US20140233645A1 (en) Moving image encoding apparatus, method of controlling the same, and program
US9438925B2 (en) Video encoder with block merging and methods for use therewith
US8917766B2 (en) Picture coding apparatus, picture coding method and video camera
KR100958177B1 (en) Method and apparatus of encoding image
JP4606311B2 (en) Image coding apparatus and image coding method
JP5649296B2 (en) Image encoding device
JP2010081498A (en) Image compression coding method and apparatus
JP6339977B2 (en) Video encoding apparatus and video encoding program
JP2012104969A (en) Motion vector generation device, motion vector generation method and computer program
JP5381571B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
JP2013115580A (en) Moving image encoding apparatus, control method therefor, and computer program
JP2007274366A (en) Video encoding apparatus and motion vector detection method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101221