JP2010258530A - Motion vector detecting apparatus - Google Patents

Motion vector detecting apparatus Download PDF

Info

Publication number
JP2010258530A
JP2010258530A JP2009103190A JP2009103190A JP2010258530A JP 2010258530 A JP2010258530 A JP 2010258530A JP 2009103190 A JP2009103190 A JP 2009103190A JP 2009103190 A JP2009103190 A JP 2009103190A JP 2010258530 A JP2010258530 A JP 2010258530A
Authority
JP
Japan
Prior art keywords
cost
motion vector
memory
data
color difference
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.)
Granted
Application number
JP2009103190A
Other languages
Japanese (ja)
Other versions
JP5120327B2 (en
Inventor
Kiyonori Morioka
清訓 森岡
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 JP2009103190A priority Critical patent/JP5120327B2/en
Publication of JP2010258530A publication Critical patent/JP2010258530A/en
Application granted granted Critical
Publication of JP5120327B2 publication Critical patent/JP5120327B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a motion vector detecting apparatus for reducing the cost for a circuit and electric power. <P>SOLUTION: The cost for matching is calculated based on luminance pixel data from a search memory. The cost for memory access is calculated using color difference pixel data of the same area as the area where the cost for matching is calculated. Then, the total cost for matching and memory access is calculated, so that a vector indicating an area where the total value is minimum, and the size of the area are defined as a motion vector and the size of a reference area. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、動きベクトル検出装置に関する。   The present invention relates to a motion vector detection device.

近年、動画処理の技術が飛躍的に向上し、デジタル画像の利用が盛んになっている。動画の符号化においては、フレーム間予測が行われる。フレーム間予測では、符号化しようとする画像データを、参照画像上の画像データと比較し、その差分を取ると共に、処理対象の画像データが参照する参照画像上の画像データの位置を示す動きベクトルを生成する。動きベクトルを生成する場合には、処理対象の画像データと似通った画像データを参照画像上で探すので、参照画像が格納されているメモリへのアクセスが頻繁に発生し、処理の遅延をきたす場合がある。したがって、メモリアクセスを効率化することが望まれる。   In recent years, moving image processing technology has improved dramatically, and the use of digital images has become active. In encoding a moving image, inter-frame prediction is performed. In inter-frame prediction, the image data to be encoded is compared with the image data on the reference image, the difference is taken, and the motion vector indicating the position of the image data on the reference image referenced by the image data to be processed Is generated. When generating motion vectors, the image data that is similar to the image data to be processed is searched on the reference image, so access to the memory in which the reference image is stored frequently occurs, resulting in processing delay There is. Therefore, it is desired to improve the memory access efficiency.

DDR3(Double-Data-Rate3)等のDRAMセルのプリフェッチ数を増やしてデータレートを向上させるメモリでは、DRAMのある同一物理バンクの内容を連続アクセスする事で効率を上げている。   In a memory such as DDR3 (Double-Data-Rate3) that increases the prefetch number of DRAM cells to improve the data rate, efficiency is improved by continuously accessing the contents of the same physical bank in which the DRAM is located.

一方MPEG等の参照画像を動きベクトル検出によって探索し、予測画像を生成するような符号化技術では、画素単位のランダムアクセスが必要となる。
このため、DRAMのアクセス粒度(1回のアクセスで取得するデータの大きさ)が画素単位のランダムアクセス単位に比べ粗くなると、DRAMのアクセス粒度に対応した一回り大きな領域に対し読み書きをする事になる。
On the other hand, in an encoding technique in which a reference image such as MPEG is searched by motion vector detection and a predicted image is generated, random access in units of pixels is required.
For this reason, when the DRAM access granularity (the size of data acquired in a single access) becomes coarser than the random access unit in units of pixels, it is possible to read and write to a larger area corresponding to the DRAM access granularity. Become.

例えばH.264では色差参照画像の最小サイズは2x2ピクセルである、一方16bitのDDR3の粒度は16バイトであり、画素とDRAMの配置を工夫しても4バイトのデータを得るために最悪で48〜64バイトものデータをアクセスしなければならない。   For example, in H.264, the minimum size of the color difference reference image is 2x2 pixels, whereas the granularity of 16-bit DDR3 is 16 bytes, and even if the arrangement of pixels and DRAM is devised, it is the worst to obtain 4 bytes of data. ~ 64 bytes of data must be accessed.

従来技術では、無駄に読み込んだ画素については、その後の処理で使われる可能性が高いため、バッファメモリやキャッシュメモリなどを使って物理アクセスを減らす等の工夫を行っている。   In the prior art, since pixels that are read in vain are highly likely to be used in subsequent processing, measures such as reducing physical access using a buffer memory or a cache memory are taken.

しかし、原理的にMPEGの処理順序すなわちラスタスキャン方向にマクロブロック処理がジグザグに進むため、読み出しでデータの再利用効率を上げるためには、ラスタスキャン順で水平に折りかえった際に、ある程度の大きな(もしくは "新たに上部となるデータをある程度保持できるだけの")幅をもったラインメモリ相当のメモリ容量が必要となるが、低コストなシステムでは、大きなキャッシュメモリを持つことはLSIのコストアップ要因となる。一方、キャッシュメモリのヒット率が低いと実際の有効データアクセスに必要な帯域の何倍ものメモリのバンド幅が必要となり、LSIとDRAMを含めたシステム全体としてコスト増、電力増となる。   However, in principle, the macroblock processing proceeds in a zigzag manner in the MPEG processing order, that is, in the raster scan direction. Therefore, in order to increase the data reuse efficiency in reading, a certain amount of data is needed when the data is folded horizontally in the raster scan order. A memory capacity equivalent to a line memory with a large width (or “can hold some data at the top”) is required, but in a low-cost system, having a large cache memory increases the cost of LSI. It becomes a factor. On the other hand, if the hit rate of the cache memory is low, the memory bandwidth that is many times the bandwidth required for actual effective data access is required, which increases the cost and power of the entire system including LSI and DRAM.

本発明の課題は、回路のコストや電力を削減することの出来る動きベクトル検出装置を提供することである。   The subject of this invention is providing the motion vector detection apparatus which can reduce the cost and electric power of a circuit.

本発明の一側面における動きベクトル検出装置は、画像データを参照画像を参照して予測符号化する際の動きベクトルを検出する動きベクトル検出装置において、外部メモリにある該画像データの一部の輝度画素データを格納する輝度画素格納部と、外部メモリにある該画像データの一部の色差画素データを格納する色差画素格納部と、該輝度画素データに基づいて、該画像データと参照画像データとのマッチングコストを演算し、該マッチングコストの演算対象となった該画像データの色差画像データが、該色差画素格納部に既に格納されているか否かに基づいて、メモリアクセスコストを設定し、これを該マッチングコストに加算するコスト設定部と、該マッチングコストと該メモリコストが加算された全体のコストに基づいて、動きベクトルを検出する動きベクトル検出部とを備える。   A motion vector detection device according to one aspect of the present invention is a motion vector detection device that detects a motion vector when predictive encoding image data with reference to a reference image, and a luminance of a part of the image data in an external memory A luminance pixel storage unit for storing pixel data; a color difference pixel storage unit for storing a part of the color difference pixel data of the image data in an external memory; and the image data and the reference image data based on the luminance pixel data; The memory access cost is set based on whether or not the color difference image data of the image data for which the matching cost has been calculated is already stored in the color difference pixel storage unit. Based on the total cost obtained by adding the matching cost and the memory cost. And a motion vector detecting unit that detects a torque.

本発明によれば、回路のコストや電力を削減することの出来る動きベクトル検出装置を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the motion vector detection apparatus which can reduce the cost and electric power of a circuit can be provided.

本発明の実施形態の動きベクトル検出装置の構成を示す図である。It is a figure which shows the structure of the motion vector detection apparatus of embodiment of this invention. 本実施形態のアクセスペナルティ評価回路の構成ブロック図である。It is a block diagram of the configuration of the access penalty evaluation circuit of the present embodiment. 本実施形態の動きベクトル検出処理の処理フローである。It is a processing flow of the motion vector detection process of this embodiment. アクセスコストについて説明する図である。It is a figure explaining access cost. 図4のアクセスコスト算出方法を例示する図である。It is a figure which illustrates the access cost calculation method of FIG. ベクトル値が整数と小数の場合のコストのイメージを示す図(その1)である。FIG. 3 is a diagram (part 1) illustrating an image of cost when a vector value is an integer and a decimal. ベクトル値が整数と小数の場合のコストのイメージを示す図(その2)である。FIG. 6 is a diagram (part 2) illustrating an image of cost when a vector value is an integer and a decimal. パーティションが2×2画素以外の場合について例示する図である。It is a figure illustrated about the case where a partition is other than 2x2 pixel. コストの様子を曲面として表した図である。It is the figure which represented the mode of cost as a curved surface.

本実施形態は、小規模なバッファ・キャッシュメモリでも、メモリアクセスを削減できるように動きベクトル検出時にメモリアクセスのコストを加味することでLSIとDRAMのコストや電力を削減するものである。   In the present embodiment, the cost and power of LSI and DRAM are reduced by adding the memory access cost at the time of motion vector detection so that the memory access can be reduced even in a small-sized buffer / cache memory.

図1は、本発明の実施形態の動きベクトル検出装置の構成を示す図である。
外部メモリ17に格納された画像データは、メモリアクセス制御部16を介して、サーチメモリ(輝度画素バッファ)10と色差画素バッファ(キャッシュ)11に格納される。サーチメモリ10は、輝度画素のデータを格納するバッファであり、色差画素バッファ11は、色差画素のデータを格納するバッファである。サーチメモリ10から読み出された輝度画素データは、FIRフィルタなどの小数画素フィルタ12を介して、輝度画素のみからなる参照画像として出力される。小数画素フィルタ12は、小数を含むベクトル値を持つ動きベクトルが示す領域を、整数値で示される画素の領域に直すものである。また、サーチメモリ10から読み出される輝度画素データは、輝度動きベクトル検出回路14に入力される。輝度動きベクトル検出回路14では、輝度画素データから動きベクトルを検出し、検出結果として、動きベクトルを出力する。この動きベクトルが示す参照画像の領域の色差データを読み出す命令をメモリアクセス制御部16を介して、外部メモリ17に与える。外部メモリ17からは、動きベクトルが示す領域の参照画像の色差画素データが、色差画素バッファ11にロードされる。また、外部メモリ17から読み出された色差画素データは、FIRなどの小数画素フィルタ13でフィルタリング処理された後、色差参照画像として、出力される。
FIG. 1 is a diagram showing a configuration of a motion vector detection device according to an embodiment of the present invention.
The image data stored in the external memory 17 is stored in the search memory (luminance pixel buffer) 10 and the color difference pixel buffer (cache) 11 via the memory access control unit 16. The search memory 10 is a buffer for storing luminance pixel data, and the chrominance pixel buffer 11 is a buffer for storing chrominance pixel data. The luminance pixel data read from the search memory 10 is output as a reference image consisting only of luminance pixels via a sub-pixel filter 12 such as an FIR filter. The decimal pixel filter 12 converts a region indicated by a motion vector having a vector value including a decimal number into a pixel region indicated by an integer value. The luminance pixel data read from the search memory 10 is input to the luminance motion vector detection circuit 14. The luminance motion vector detection circuit 14 detects a motion vector from the luminance pixel data and outputs a motion vector as a detection result. A command for reading the color difference data of the area of the reference image indicated by the motion vector is given to the external memory 17 via the memory access control unit 16. From the external memory 17, the color difference pixel data of the reference image in the area indicated by the motion vector is loaded into the color difference pixel buffer 11. Also, the color difference pixel data read from the external memory 17 is output as a color difference reference image after being filtered by a sub-pixel filter 13 such as FIR.

アクセスペナルティ評価回路15は、輝度動きベクトル検出回路14の検出した(色差)動きベクトルと、これが示す参照画像の領域のサイズに関する情報を得る。アクセスペナルティ評価回路15は、動きベクトルが示す領域が色差画素バッファ11に格納されているか否かの情報を色差画素バッファ11から得る。アクセスペナルティ評価回路15は、動きベクトルが示す領域が色差画素バッファ11に既に格納されている場合には小さい値を、格納されていない場合には、大きい値を、アクセスコストとして、輝度動きベクトル検出回路14に入力する。   The access penalty evaluation circuit 15 obtains information regarding the (color difference) motion vector detected by the luminance motion vector detection circuit 14 and the size of the reference image area indicated by the motion vector. The access penalty evaluation circuit 15 obtains information about whether or not the area indicated by the motion vector is stored in the color difference pixel buffer 11 from the color difference pixel buffer 11. The access penalty evaluation circuit 15 detects the luminance motion vector by using a small value as the access cost when the area indicated by the motion vector is already stored in the color difference pixel buffer 11 and when the area is not stored. Input to the circuit 14.

輝度動きベクトル検出回路14は、処理対象の画素領域と、参照先の画素領域のsum of absolute difference(SAD)あるいは、sum of absolute transformed difference(SATD)を計算して、これらが最小になるように動きベクトルを検出する。このとき、本実施形態では、SADやSATDに、アクセスコストとしてアクセスペナルティ評価回路15から与えられた係数値を加算する。そして、アクセスコストが加算されたSADやSATDを最小にするように、動きベクトルを検出する。   The luminance motion vector detection circuit 14 calculates the sum of absolute difference (SAD) or sum of absolute transformed difference (SATD) between the pixel area to be processed and the reference pixel area so that these are minimized. Detect motion vectors. At this time, in the present embodiment, the coefficient value given from the access penalty evaluation circuit 15 as the access cost is added to SAD or SATD. Then, a motion vector is detected so as to minimize SAD or SATD to which the access cost is added.

アクセスコストの小さい値とは、例えば、0であり、大きい値とは、SAD、SATDの平均的な値との関係で、適宜決められるものである。このアクセスコストをパラメータとして調整することにより、動きベクトルを検出する際に、メモリへのアクセスコストをどの程度考慮するかが調整できる。アクセスコストの大きい値が大きければ大きいほど、アクセスコストを多く考慮することになり、小さければ小さいほど、アクセスコストが動きベクトル検出において考慮される割合が小さくなる。アクセスコストの実際の値は、本実施形態を利用する動きベクトル検出装置の設計者が適宜決めるべきものである。   The low access cost value is, for example, 0, and the high value is appropriately determined in relation to the average values of SAD and SATD. By adjusting the access cost as a parameter, it is possible to adjust how much the access cost to the memory is taken into account when detecting the motion vector. The larger the value of the access cost is, the more the access cost is considered, and the smaller the value is, the smaller the proportion of the access cost considered in the motion vector detection. The actual value of the access cost should be determined appropriately by the designer of the motion vector detection apparatus using this embodiment.

このように、輝度探索時に色差動き補償画像生成にかかるメモリアクセスペナルティを動きベクトルを検出する際のコスト(SAD、SATD)に加算する。
DDRのようなバーストアクセスにより効率を上げるメモリでは、そのメモリアクセスの粒度に応じて必要画素以上のアクセスが発生する。ある動きベクトルに対して、色差のデータアクセスを行う場合に実メモリアクセスを見積もり、コストとして反映させる。
As described above, the memory access penalty for generating the color difference motion compensated image at the time of luminance search is added to the cost (SAD, SATD) when detecting the motion vector.
In a memory that increases efficiency by burst access such as DDR, an access exceeding a required pixel occurs depending on the granularity of the memory access. When a color difference data access is performed for a certain motion vector, an actual memory access is estimated and reflected as a cost.

色差画素バッファ(キャッシュ)に存在するデータはペナルティ無し、新規にメモリアクセスをする際には、有効データと無駄読みするデータと座標とサイズからアクセスコストを動きベクトル検出コストに加算する。   The data present in the color difference pixel buffer (cache) has no penalty. When a new memory access is performed, the access cost is added to the motion vector detection cost based on the valid data, the data to be read wastefully, the coordinates, and the size.

図2は、本実施形態のアクセスペナルティ評価回路の構成ブロック図である。
色差動きベクトルと探索候補の領域の領域サイズが入力されると、領域拡張・分割部22において、色差動きベクトルとその領域サイズによって示される領域をキャッシュから読み出すのに、どのブロックを読み出したらよいかを決定する。すなわち、キャッシュには、画像データがブロック単位で格納されており、当該領域の画素データを読み出すには、当該領域を部分的に含むブロックを複数読み込まなくてはならない場合が生じる。その場合、当該領域よりも一回り大きい領域を読み込む必要があるが、この一回り大きい領域はどのような領域になるか、また、この大きい領域を読み込むには、どのブロックをキャッシュから読み取ればよいかということを決定する。これにより、キャッシュへのアクセス方法であるアクセスアライメント情報が生成され、アクセスコスト算出・累積回路21に渡される。アクセスコスト算出・累積回路21には、色差動きベクトルとその領域サイズも入力される。アクセスコスト算出・累積回路21は、これらの情報を元に、どのブロックにアクセスするかを決定し、そのブロックがキャッシュにあるか否かをキャッシュ(色差画素バッファ)11に問い合わせる。この問い合わせの返答において、キャッシュ11に必要なブロックが既にある場合と、無い場合があり、既にある場合、無い場合それぞれにおいて、係数テーブル23からアクセスコストの値を読出し、アクセスコストとして出力する。制御部20は、ホストCPUインタフェースと接続されており、領域拡張・分割部22やアクセスコスト算出・累積回路21を初期化したり、係数テーブル23の係数を更新したりする。
FIG. 2 is a block diagram showing the configuration of the access penalty evaluation circuit according to this embodiment.
When the color difference motion vector and the region size of the search candidate region are input, the region expansion / division unit 22 should read which block to read from the cache the region indicated by the color difference motion vector and the region size. To decide. In other words, the cache stores image data in units of blocks, and in order to read out pixel data of the area, a plurality of blocks partially including the area may need to be read. In that case, it is necessary to read an area that is one size larger than the area, but what kind of area is this one-larger area, and what block should be read from the cache to read this large area To decide. As a result, access alignment information, which is a method for accessing the cache, is generated and passed to the access cost calculation / accumulation circuit 21. The access cost calculation / accumulation circuit 21 also receives the color difference motion vector and its region size. Based on these pieces of information, the access cost calculation / accumulation circuit 21 determines which block is to be accessed, and inquires of the cache (color difference pixel buffer) 11 whether or not the block is in the cache. In response to this inquiry, the cache 11 may or may not have a necessary block, and when it exists, the access cost value is read from the coefficient table 23 and output as the access cost. The control unit 20 is connected to the host CPU interface, and initializes the area expansion / division unit 22 and the access cost calculation / accumulation circuit 21 or updates the coefficient in the coefficient table 23.

図3は、本実施形態の動きベクトル検出処理の処理フローである。
まず、ステップS10において、動きベクトル検出装置を初期化し、サーチメモリを更新する。ステップS11において、ブロックマッチングコストを算出する。これは、処理対象ブロックと、参照先ブロックとのマッチングコスト(SADやSATD及びアクセスコストの総合のコスト)を算出する。ステップS12において、探索範囲とパーティションの組み合わせ全てについて処理したか否かを判断する。ステップS12の判断がNoの場合には、ステップS11に戻り、Yesの場合には、ステップS13に進む。ステップS12の判断は、探索範囲を参照画像内で順次移動してコストを計算するときに、探索範囲を参照画像内全体にわたって移動したか否かを判断すると共に、マッチングを取るブロックの大きさのバリエーション全てについてマッチングを行ったかを判断するものである。マッチングを取るブロックの大きさは、16×16画素のマクロブロックが基本である。しかし、H.264などでは、マクロブロックを更に細かく分けたブロックを単位としての処理が可能であるので、これらの小さいマクロブロックについてもマッチングを行って、もっともマッチングコストのよい大きさのブロックを採用する。このブロックの分け方をパーティションと呼んでいる。なお、MPEG−2の場合には、処理単位になるのは16×16画素のマクロブロックのみであるので、パーティションは1つしかない。ステップS13において、最小コストとなるベクトルを色差動きベクトルとし、そのときのパーティションの種類を決定する。ステップS14において、色差動き補償データを取得し、キャッシュを更新して動きベクトル検出処理を終了する。
FIG. 3 is a process flow of the motion vector detection process of the present embodiment.
First, in step S10, the motion vector detection device is initialized and the search memory is updated. In step S11, a block matching cost is calculated. This calculates a matching cost (total cost of SAD, SATD, and access cost) between the processing target block and the reference block. In step S12, it is determined whether all combinations of search ranges and partitions have been processed. If the determination in step S12 is No, the process returns to step S11. If the determination is Yes, the process proceeds to step S13. In step S12, when the cost is calculated by sequentially moving the search range within the reference image, it is determined whether or not the search range has been moved throughout the reference image, and the size of the block to be matched is determined. It is determined whether matching has been performed for all variations. The block size for matching is basically a 16 × 16 pixel macroblock. However, H. In H.264, etc., processing can be performed in units of blocks in which the macroblocks are further finely divided. Therefore, matching is also performed on these small macroblocks, and the block having the best matching cost is adopted. This division of blocks is called a partition. In the case of MPEG-2, the processing unit is only a macro block of 16 × 16 pixels, so there is only one partition. In step S13, a vector having the minimum cost is set as a color difference motion vector, and the type of partition at that time is determined. In step S14, color difference motion compensation data is acquired, the cache is updated, and the motion vector detection process is terminated.

ステップS15からS18は、ステップS11のブロックマッチングコスト算出ステップの詳細である。ステップS15において、装置を初期化し、ステップS16において輝度コスト(SAD、SATD)を算出する。ステップS17では、色差画素データに基づいて、アクセスコストを算出する。ステップS18において、ステップS16とS17の値を合算する。ここに示されるように、マッチングのためのコスト(SAD、SATD)は、輝度画素データのみを使って計算するが、アクセスコストは、色差画素データのみを使って計算する。   Steps S15 to S18 are details of the block matching cost calculation step of step S11. In step S15, the apparatus is initialized, and in step S16, the luminance cost (SAD, SATD) is calculated. In step S17, an access cost is calculated based on the color difference pixel data. In step S18, the values of steps S16 and S17 are added together. As shown here, matching costs (SAD, SATD) are calculated using only luminance pixel data, while access costs are calculated using only chrominance pixel data.

ステップS19からS25は、ステップS17のアクセスコスト算出処理の詳細である。ステップS19において、装置を初期化し、ステップS20において、アクセスコストの係数を更新する。ステップS20は、必ずしも新しい値に更新しなくても、決まった値に固定しておいても良い。ステップS21において、色差ベクトルと領域のサイズを取り込む。ステップS22において、色差ベクトルと領域サイズによって示される領域の画素データを読み取るために必要なキャッシュのアクセス単位のブロックを決定する。ステップS23において、アクセスコストを算出し、累積加算する。これは、当該領域にアクセスするために必要なブロックが1つの場合は、0、2つの場合は、第1の値、4つの場合は、第2の値などと決めておいた係数を分割した領域(ブロック)ごとに計算し、累積加算する。ステップS24において、分割した領域(ブロック)全てについて処理したか否かを判断する。ステップS24の全てのブロックとは、色差動きベクトルと領域サイズで示される領域を読み込むために必要な全てのブロックという意味である。ステップS24の判断がNoの場合には、ステップS23に戻り、Yesの場合には、ステップS25に進む。ステップS25においては、アクセスコストを出力する。   Steps S19 to S25 are details of the access cost calculation process of step S17. In step S19, the device is initialized, and in step S20, the access cost coefficient is updated. Step S20 does not necessarily need to be updated to a new value, but may be fixed to a fixed value. In step S21, the color difference vector and the area size are fetched. In step S22, a block of a cache access unit necessary for reading pixel data in an area indicated by the color difference vector and the area size is determined. In step S23, an access cost is calculated and cumulatively added. This is because the coefficients determined to be 0 for two blocks, the first value for four, the second value for four, etc. are divided when the number of blocks required to access the area is one. Calculate for each area (block) and cumulatively add. In step S24, it is determined whether or not all divided areas (blocks) have been processed. All blocks in step S24 mean all blocks necessary for reading the area indicated by the color difference motion vector and the area size. If the determination in step S24 is No, the process returns to step S23, and if Yes, the process proceeds to step S25. In step S25, the access cost is output.

アクセスコストの設定の仕方は、予め値を決めておく方法と、以下のように動的に設定する方法がある。
図4は、アクセスコストについて説明する図である。
There are two methods for setting the access cost: a method for determining a value in advance and a method for dynamically setting the access cost as follows.
FIG. 4 is a diagram for explaining the access cost.

色差動きベクトルと領域サイズによって指定される領域の境界の形状は、どのようなものであっても基本的な考え方は同じである。例えば、ラスタ状であっても矩形であっても考え方は同じである。必要となる色差領域の座標(アドレス)とサイズから実アクセスする事になる領域(キャッシュのアクセス単位であるブロック)に領域を拡張し、アクセスペナルティを評価する。   The basic idea is the same regardless of the shape of the boundary of the region specified by the color difference motion vector and the region size. For example, the idea is the same whether it is a raster or rectangular shape. The area is expanded to the area (block that is an access unit of the cache) that is actually accessed from the coordinates (address) and size of the required color difference area, and the access penalty is evaluated.

図4において、(1)は、色差動きベクトルと領域サイズで示される領域を読み取るのに、2つのブロックが必要な場合であり、(2)は、4つのブロックが必要な場合である。コストの与え方の例として、(1)の場合、当該領域の左側の無駄な読み込み量と右側の無駄な読み込み量とを決定し、左用のコストcostLに左の無駄な読み込み量をかけたものと、右用のコストcostRに右の無駄な読み込み量を書けたものとを合算する。このとき、右側のデータは再利用される可能性が高い(より多く読み込んでいるから再利用される可能性が高い)ので、costL<=costRとすることが可能である。(2)の場合も右側の無駄な読み込み量と左側の無駄な読み込み量とをそれぞれ求めて、同様にコストを計算することが出来るが、この場合には、上下にもブロックが分かれているので、更に固定値を加えるなどしてコストを大きくしても良い。   In FIG. 4, (1) is a case where two blocks are required to read an area indicated by the color difference motion vector and the area size, and (2) is a case where four blocks are required. As an example of how to give the cost, in the case of (1), the left and left useless read amounts of the area are determined, and the left use cost costL is multiplied by the left useless read amount. And the right cost, costR, can be added to the right amount of wasted read. At this time, since the data on the right side is highly likely to be reused (there is a high possibility of being reused because it is read more), it is possible to satisfy costL <= costR. In the case of (2), it is possible to calculate the wasteful reading amount on the right side and the wasteful reading amount on the left side and calculate the cost in the same way. However, in this case, the blocks are divided into upper and lower parts. Further, the cost may be increased by adding a fixed value.

図4の下の図は、コストのイメージ図である。新規読出しが右側に偏っている場合には、メモリアクセス領域は同じであるが、有効データが左側に偏っている。一方、新規読出しが左側に偏っている場合には、有効データが右側に偏っている。(1)のようにアクセスコストを算出すると、新規読出しが右側に偏っている場合のほうがメモリアクセスコストが小さくて済み、動きベクトル検出コスト(SAD、SATD)が同じ場合、最終コストは、新規読出しが右側に偏っている場合のほうが小さくなる。   The lower diagram of FIG. 4 is an image of costs. If the new read is biased to the right, the memory access area is the same, but valid data is biased to the left. On the other hand, if the new read is biased to the left, the valid data is biased to the right. When the access cost is calculated as in (1), the memory access cost is smaller when the new read is biased to the right, and the final cost is the new read when the motion vector detection cost (SAD, SATD) is the same. Is smaller when is biased to the right.

以上のように、キャッシュのアクセスブロックの数によって、アクセスコストを固定値として用意しておくほかに、実際の無駄な読み込み量にしたがって、動的にアクセスコストが変化するように設定することも可能である。   As described above, in addition to preparing the access cost as a fixed value depending on the number of access blocks in the cache, it is also possible to set the access cost to change dynamically according to the actual amount of wasted read. It is.

図5は、図4のアクセスコスト算出方法を例示する図である。
色差データの2x2画素データの最終的に参照画像に必要な画素は、色差動きベクトルのベクトル値の小数成分によって変わる。フィルタをかける場合に、フィルタの大きさはベクトル値の整数値に合わせて作られているので、ベクトル値に小数成分があると、一つ外側の画素まで取らなくてはいけなくなる。輝度の動きベクトル探索に対応する色差動きベクトル、パーティション形状に基づき前述したコストを出力する。図5の例では、1の場合が、4つのアライメント(キャッシュのアクセス単位のブロック)にアクセス、2の場合が、4つ(ベクトル値が整数なら1)、3の場合が、2つ(ベクトル値が整数なら1)、4の場合が、2つ(ベクトル値が整数なら1)となる。そして、図4のように、それぞれの無駄読みデータ量に基づいてコストを算出し加算する。
FIG. 5 is a diagram illustrating the access cost calculation method of FIG.
Pixels finally required for the reference image of the 2 × 2 pixel data of the color difference data vary depending on the fractional component of the vector value of the color difference motion vector. When applying a filter, the size of the filter is made to match the integer value of the vector value, so if there is a fractional component in the vector value, it is necessary to take up one pixel outside. The above-described cost is output based on the color difference motion vector corresponding to the luminance motion vector search and the partition shape. In the example of FIG. 5, the case of 1 accesses 4 alignments (blocks of cache access units), the case of 2 has 4 (1 if the vector value is an integer), and the case of 3 has 2 (vector) If the value is an integer, it is 1). Then, as shown in FIG. 4, the cost is calculated and added based on each amount of useless reading data.

図5では、ベクトル値が小数を含む時、重心画素から遠い画素をノリシロとしてグレーハッチで図示している。ノリシロのみがアライメントを跨ぐ場合と、整数画素がアライメントを跨ぐ場合で同様の動き検出コストであった場合を比較すると、ノリシロだけが跨ぐ場合のコストが加味され選ばれにくくなるような動作になる。色差バッファメモリに存在するデータはペナルティ無しと考える。   In FIG. 5, when the vector value includes a decimal, a pixel far from the center-of-gravity pixel is illustrated in gray hatching as a non-white. Comparing the case where only Norishiro crosses the alignment and the case where the integer pixel crosses the alignment has the same motion detection cost, the operation becomes difficult to select in consideration of the cost when only Norishiro crosses. Data existing in the color difference buffer memory is considered to have no penalty.

図6及び図7は、ベクトル値が整数と小数の場合のコストのイメージを示す図である。
図6は境界前後の動きベクトル検出コストとメモリアクセスコストの例であり、図4におけるcostLとcostRが等しい場合を示している。ベクトル値が0から4+小数に変化するに従い、有効データは、次第に境界の左から右に移動する。メモリアクセス領域は、0+小数から3+小数の場合に、2ブロック(アライメント)となっている。メモリアクセスコストは、これに従い、0+小数から3+小数の場合に大きくなっている。動き検出コストが図6のように変化しているとすると、最終コストでは、ベクトル値が4の場合が最小となっている。したがって、動きベクトル値は、4が採用される。
6 and 7 are diagrams showing an image of cost when the vector value is an integer and a decimal.
FIG. 6 shows an example of the motion vector detection cost before and after the boundary and the memory access cost, and shows a case where costL and costR in FIG. 4 are equal. As the vector value changes from 0 to 4 + decimal, the valid data gradually moves from the left to the right of the boundary. The memory access area is 2 blocks (alignment) in the case of 0 + decimal to 3 + decimal. The memory access cost increases accordingly from 0 + decimal to 3 + decimal. Assuming that the motion detection cost changes as shown in FIG. 6, the case where the vector value is 4 is the smallest in the final cost. Therefore, 4 is adopted as the motion vector value.

図7では、境界前後の動きベクトル検出コストとメモリアクセスコストの、読み込むべきデータの一部がキャッシュメモリにあった場合の例を示す。図7の場合、ベクトル値が0の場合は、有効データが過去に読み出され、バッファに存在する場合であり、メモリアクセスコストは0となっている。動き検出コストが図7のようであると、最終コストは、ベクトル値が0の場合が最小となる。したがって、動きベクトル値は、0が採用される。   FIG. 7 shows an example in which some of the data to be read in the motion vector detection cost and the memory access cost before and after the boundary are in the cache memory. In the case of FIG. 7, when the vector value is 0, the valid data is read in the past and exists in the buffer, and the memory access cost is 0. When the motion detection cost is as shown in FIG. 7, the final cost is minimum when the vector value is zero. Therefore, 0 is adopted as the motion vector value.

図8は、パーティションが2×2画素以外の場合について例示する図である。
4×4、8×8、8×4等、他の形状の場合も同様に、ベクトル値が整数なら図8の白い部分、小数を含むならグレー部分を含み水平、垂直方向のそれぞれでペナルティーの評価値を返すことが可能である。図8において、5、6の場合には、ベクトル値が小数値を含み、4×4画素の領域の外側のグレー部分まで読み込む必要があり、アラインメントをまたいでいる。7、8は、ベクトル値が整数の場合で、読み込むブロックは4×4で良いが、ブロック自身がアラインメントをまたいでいる。
FIG. 8 is a diagram illustrating a case where the partition is other than 2 × 2 pixels.
Similarly, for other shapes such as 4 × 4, 8 × 8, 8 × 4, etc., the vector value is an integer and the white portion of FIG. 8 is included. It is possible to return an evaluation value. In FIG. 8, in the case of 5 and 6, the vector value includes a decimal value, and it is necessary to read up to the gray portion outside the 4 × 4 pixel region, and the alignment is straddled. 7 and 8 are cases where the vector value is an integer, and the block to be read may be 4 × 4, but the block itself straddles the alignment.

4×4、8×8、8×4等の形状は、H.264における色差の場合の例である。しかし、他の規格の場合についてもフィルタのタップ数を考慮して、ベクトル値が整数の場合にはノリシロはなしであるが、小数を含む場合には、ブロックの1つ外側までノリシロを必要とするというように考えることが可能である。   Shapes such as 4 × 4, 8 × 8, and 8 × 4 are examples of color differences in H.264. However, considering the number of taps of the filter in the case of other standards as well, if the vector value is an integer, there is no noise, but if a decimal value is included, a noise is required to the outside of the block. It is possible to think like this.

図9は、コストの様子を曲面として表した図である。
図9は、座標とアクセスされるサイズによりアクセスペナルティ検出回路にて計算されるコストを加味した例である。図9(a)は、アクセスコストが無い場合、図9(b)は、動きベクトルと領域サイズによって示される参照画像領域が小さい場合、図9(c)は、参照画像領域が大きい場合である。最適な動きベクトルは、アクセスコストが無い場合には、図9(a)の曲面のもっとも低い位置となる場合が選択される。一方、アクセスコストを考慮すると、図9(b)、(c)にあるように、コストの曲面に段差が出来、曲面のもっとも低い位置が段差を避けた部分となる。図9(c)の場合は、参照画像領域が大きい場合であり、この場合には、アラインメントを跨ぐ場合が多くなるので、段差の幅が図9(b)よりも太くなっている。これらの図においては、色差画素バッファに以前読み出されたデータがある場合はペナルティとしない(SDRAMから読み出さないため)としている。
FIG. 9 is a diagram showing the state of cost as a curved surface.
FIG. 9 shows an example in which the cost calculated by the access penalty detection circuit is taken into account depending on the coordinates and the accessed size. 9A shows a case where there is no access cost, FIG. 9B shows a case where the reference image area indicated by the motion vector and the area size is small, and FIG. 9C shows a case where the reference image area is large. . When there is no access cost, the optimal motion vector is selected as the lowest position on the curved surface in FIG. On the other hand, considering the access cost, as shown in FIGS. 9B and 9C, a step is formed on the curved surface of the cost, and the lowest position of the curved surface is a portion avoiding the step. In the case of FIG. 9C, the reference image area is large, and in this case, the width of the step is wider than that in FIG. In these figures, when there is data read out previously in the color difference pixel buffer, no penalty is set (because it is not read out from SDRAM).

以上のように、輝度データを用いた動き検出の演算にあわせて、対応する色差アクセスのコストを計算する。このとき、過去にアクセスしたデータの一部は色差バッファに保持されており、そこにデータが存在するものについては、アライメントを跨ぐコストを加算しない、あるいは、アクセスコストを0とする(外部メモリへのアクセスも発生させず、バッファのデータを使う)。   As described above, the corresponding color difference access cost is calculated in accordance with the motion detection calculation using the luminance data. At this time, a part of the data accessed in the past is held in the color difference buffer, and for data existing there, the cost over the alignment is not added or the access cost is set to 0 (to the external memory). Does not occur, and the buffer data is used).

新規メモリアクセス領域中の有効・無効データの量を算出し、有効領域の左右エッジを含む領域について、別の重みをつけてコストを算出する。1MB(マクロブロック)分の動き検出が終了すると色差画素データを読み出し、保持バッファに対し更新を指示し、次のマクロブロックの動き検出に備える   The amount of valid / invalid data in the new memory access area is calculated, and the cost is calculated by assigning another weight to the area including the left and right edges of the effective area. When motion detection for 1 MB (macroblock) is completed, the color difference pixel data is read out, the update is instructed to the holding buffer, and it prepares for motion detection of the next macroblock

なお、キャッシュメモリは、以下の機能を備えるものとする。
・不足分のデータを外部RAMから読み出す機能
・新規に色差動き補償のために読み出されたデータの保持
・簡単な実装として、過去数回分のデータをFIFO的に保持する事や利用頻度の低いデータから破棄するアルゴリズムを備える
・保持データ出力
・保持データ問い合わせ
・バッファ内に保持するデータについてアクセス評価回路からの問い合わせに応える機能
Note that the cache memory has the following functions.
・ Function to read out insufficient data from external RAM ・ Retention of newly read data for color difference motion compensation ・ Easy implementation to retain data for the past several times in a FIFO or less frequently used Provides an algorithm to discard from data ・ Hold data output ・ Hold data inquiry ・ Function to respond to an inquiry from the access evaluation circuit for data held in the buffer

なお、上記実施形態では、アクセスコストの値を変えるのは、参照画像領域がキャッシュのアラインメントを跨いだときであるが、参照画像との間にシーンチェンジが確認された場合に一時的にアクセスコストを算出するための係数を変化(増加)させるようにしてもよい。このようにすることにより、処理対象画像と参照画像とがシーンチェンジにより、まったく異なってしまった場合には、通常のフレーム間予測よりもずっと類似性の高い画像間でのみ参照するように出来る。すなわち、シーンチェンジすると、画像間の類似性が低くなるので、フレーム間予測の精度が落ちてしまうので、その精度を維持するために、類似性が非常に高い場合を抽出するようにするものである。   In the above embodiment, the value of the access cost is changed when the reference image area straddles the cache alignment. However, when a scene change is confirmed with the reference image, the access cost is temporarily changed. The coefficient for calculating the value may be changed (increased). By doing in this way, when the processing target image and the reference image are completely different due to the scene change, it is possible to refer only between images having much higher similarity than normal inter-frame prediction. In other words, when the scene changes, the similarity between images decreases, so the accuracy of inter-frame prediction falls. Therefore, in order to maintain the accuracy, the case where the similarity is very high is extracted. is there.

上記実施形態のほかに、以下の付記を開示する。
(付記1)
画像データを参照画像を参照して予測符号化する際の動きベクトルを検出する動きベクトル検出装置において、
外部メモリにある該画像データの一部の輝度画素データを格納する輝度画素格納部と、
外部メモリにある該画像データの一部の色差画素データを格納する色差画素格納部と、
該輝度画素データに基づいて、該画像データと参照画像データとのマッチングコストを演算し、該マッチングコストの演算対象となった該画像データの色差画像データが、該色差画素格納部に既に格納されているか否かに基づいて、メモリアクセスコストを設定し、これを該マッチングコストに加算するコスト設定部と、
該マッチングコストと該メモリコストが加算された全体のコストに基づいて、動きベクトルを検出する動きベクトル検出部と、
を備えることを特徴とする動きベクトル検出装置。
(付記2)
前記コスト設定部は、前記マッチングコストの演算対象となった前記画像データが前記色差画素格納部に既に格納されている場合には、前記メモリコストを0とすることを特徴とする付記1に記載の動きベクトル検出装置。
(付記3)
前記色差画素格納部は、前記色差画素データをアクセス単位のブロックに分けて格納することを特徴とする付記1に記載の動きベクトル検出装置。
(付記4)
前記コスト設定部は、前記マッチングコストの演算対象となった前記画像データが、複数の前記ブロックにまたがる場合には、前記メモリコストを所定値に設定することを特徴とする付記3に記載の動きベクトル検出装置。
(付記5)
前記メモリコストの所定値は、前記外部メモリから余分に読み込むデータ量に比例するように設定することを特徴とする付記4に記載の動きベクトル検出装置。
(付記6)
前記コスト設定部は、処理対象の画像と参照画像との間にシーンチェンジがあった場合いは、シーンチェンジに対応するコスト値を前記マッチングコストに加算することを特徴とする付記1に記載の動きベクトル検出装置。
(付記7)
前記画像データと前記参照画像データのマッチングは、16×16画素のマクロブロック単位、あるいは、該マクロブロックを更に細かく分割したブロック単位で行われることを特徴とする付記1に記載の動きベクトル検出装置。
(付記8)
画像データを参照画像を参照して予測符号化する際の動きベクトルを検出する、外部メモリにある該画像データの一部の輝度画素データを格納する輝度画素格納部と、外部メモリにある該画像データの一部の色差画素データを格納する色差画素格納部とを備えた動きベクトル検出装置における制御方法において、
該輝度画素データに基づいて、該画像データと参照画像データとのマッチングコストを演算し、
該マッチングコストの演算対象となった該画像データの色差画像データが、該色差画素格納部に既に格納されているか否かに基づいて、メモリアクセスコストを設定し、
該メモリアクセスコストを該マッチングコストに加算し、
該マッチングコストと該メモリコストが加算された全体のコストに基づいて、動きベクトルを検出する、
ことを特徴とする制御方法。
In addition to the above embodiment, the following supplementary notes are disclosed.
(Appendix 1)
In a motion vector detection device for detecting a motion vector when predictive encoding image data with reference to a reference image,
A luminance pixel storage unit that stores luminance pixel data of a part of the image data in an external memory;
A color difference pixel storage unit for storing a part of the color difference pixel data of the image data in an external memory;
Based on the luminance pixel data, the matching cost between the image data and the reference image data is calculated, and the color difference image data of the image data that is the calculation target of the matching cost is already stored in the color difference pixel storage unit. A cost setting unit that sets a memory access cost based on whether or not, and adds this to the matching cost;
A motion vector detection unit that detects a motion vector based on the total cost obtained by adding the matching cost and the memory cost;
A motion vector detection device comprising:
(Appendix 2)
The cost setting unit sets the memory cost to 0 when the image data subjected to the calculation of the matching cost is already stored in the color difference pixel storage unit. Motion vector detection device.
(Appendix 3)
The motion vector detection device according to appendix 1, wherein the chrominance pixel storage unit stores the chrominance pixel data in blocks of access units.
(Appendix 4)
The movement according to appendix 3, wherein the cost setting unit sets the memory cost to a predetermined value when the image data subjected to the calculation of the matching cost spans a plurality of the blocks. Vector detection device.
(Appendix 5)
The motion vector detection device according to appendix 4, wherein the predetermined value of the memory cost is set to be proportional to the amount of data read from the external memory.
(Appendix 6)
The cost setting unit adds the cost value corresponding to the scene change to the matching cost when there is a scene change between the processing target image and the reference image. Motion vector detection device.
(Appendix 7)
2. The motion vector detection device according to appendix 1, wherein the matching between the image data and the reference image data is performed in a macro block unit of 16 × 16 pixels or a block unit obtained by further finely dividing the macro block. .
(Appendix 8)
A luminance pixel storage unit for storing luminance pixel data of a part of the image data in the external memory for detecting a motion vector when the image data is predictively encoded with reference to a reference image, and the image in the external memory In a control method in a motion vector detection device comprising a chrominance pixel storage unit that stores chrominance pixel data of a part of data,
Based on the luminance pixel data, a matching cost between the image data and reference image data is calculated,
Based on whether or not the color difference image data of the image data for which the matching cost is to be calculated is already stored in the color difference pixel storage unit, a memory access cost is set,
Adding the memory access cost to the matching cost;
Detecting a motion vector based on the total cost obtained by adding the matching cost and the memory cost;
A control method characterized by that.

10 サーチメモリ(輝度画素バッファ)
11 色差画素バッファ(キャッシュ)
12、13 小数画素フィルタ
14 輝度動きベクトル検出回路
15 アクセスペナルティ評価回路
16 メモリアクセス制御部
17 外部メモリ
20 制御部
21 アクセスコスト算出・累積回路
22 領域拡張・分割部
23 係数テーブル-
10 Search memory (Luminance pixel buffer)
11 Color difference pixel buffer (cache)
12, 13 Decimal pixel filter 14 Luminance motion vector detection circuit 15 Access penalty evaluation circuit 16 Memory access control unit 17 External memory 20 Control unit 21 Access cost calculation / accumulation circuit 22 Area expansion / division unit 23 Coefficient table

Claims (5)

画像データを参照画像を参照して予測符号化する際の動きベクトルを検出する動きベクトル検出装置において、
外部メモリにある該画像データの一部の輝度画素データを格納する輝度画素格納部と、
外部メモリにある該画像データの一部の色差画素データを格納する色差画素格納部と、
該輝度画素データに基づいて、該画像データと参照画像データとのマッチングコストを演算し、該マッチングコストの演算対象となった該画像データの色差画像データが、該色差画素格納部に既に格納されているか否かに基づいて、メモリアクセスコストを設定し、これを該マッチングコストに加算するコスト設定部と、
該マッチングコストと該メモリコストが加算された全体のコストに基づいて、動きベクトルを検出する動きベクトル検出部と、
を備えることを特徴とする動きベクトル検出装置。
In a motion vector detection device for detecting a motion vector when predictive encoding image data with reference to a reference image,
A luminance pixel storage unit that stores luminance pixel data of a part of the image data in an external memory;
A color difference pixel storage unit for storing a part of the color difference pixel data of the image data in an external memory;
Based on the luminance pixel data, the matching cost between the image data and the reference image data is calculated, and the color difference image data of the image data that is the calculation target of the matching cost is already stored in the color difference pixel storage unit. A cost setting unit that sets a memory access cost based on whether or not, and adds this to the matching cost;
A motion vector detection unit that detects a motion vector based on the total cost obtained by adding the matching cost and the memory cost;
A motion vector detection device comprising:
前記コスト設定部は、前記マッチングコストの演算対象となった前記画像データが前記色差画素格納部に既に格納されている場合には、前記メモリコストを0とすることを特徴とする請求項1に記載の動きベクトル検出装置。   2. The cost setting unit according to claim 1, wherein the cost setting unit sets the memory cost to 0 when the image data subjected to the calculation of the matching cost is already stored in the color difference pixel storage unit. The motion vector detection device described. 前記色差画素格納部は、前記色差画素データをアクセス単位のブロックに分けて格納することを特徴とする請求項1に記載の動きベクトル検出装置。   The motion vector detection device according to claim 1, wherein the chrominance pixel storage unit stores the chrominance pixel data in blocks of access units. 前記コスト設定部は、前記マッチングコストの演算対象となった前記画像データが、複数の前記ブロックにまたがる場合には、前記メモリコストを所定値に設定することを特徴とする請求項3に記載の動きベクトル検出装置。   The said cost setting part sets the said memory cost to predetermined value, when the said image data used as the calculation object of the said matching cost spans the said several block, The said memory cost is set to predetermined value. Motion vector detection device. 前記メモリコストの所定値は、前記外部メモリから余分に読み込むデータ量に比例するように設定することを特徴とする請求項4に記載の動きベクトル検出装置。   5. The motion vector detection device according to claim 4, wherein the predetermined value of the memory cost is set to be proportional to the amount of data read from the external memory.
JP2009103190A 2009-04-21 2009-04-21 Motion vector detection device Expired - Fee Related JP5120327B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009103190A JP5120327B2 (en) 2009-04-21 2009-04-21 Motion vector detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009103190A JP5120327B2 (en) 2009-04-21 2009-04-21 Motion vector detection device

Publications (2)

Publication Number Publication Date
JP2010258530A true JP2010258530A (en) 2010-11-11
JP5120327B2 JP5120327B2 (en) 2013-01-16

Family

ID=43319005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009103190A Expired - Fee Related JP5120327B2 (en) 2009-04-21 2009-04-21 Motion vector detection device

Country Status (1)

Country Link
JP (1) JP5120327B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012120582A1 (en) * 2011-03-07 2012-09-13 パナソニック株式会社 Motion compensation device, video encoding device, video decoding device, motion compensation method, program, and integrated circuit
US10129543B2 (en) 2016-03-28 2018-11-13 Fujitsu Limited Image compressing device and image compressing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0865685A (en) * 1994-08-23 1996-03-08 Nec Corp Motion vector detecting circuit
JP2006203556A (en) * 2005-01-20 2006-08-03 Canon Inc Motion vector detection device, motion compensation device, motion vector detection method, and computer program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0865685A (en) * 1994-08-23 1996-03-08 Nec Corp Motion vector detecting circuit
JP2006203556A (en) * 2005-01-20 2006-08-03 Canon Inc Motion vector detection device, motion compensation device, motion vector detection method, and computer program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012120582A1 (en) * 2011-03-07 2012-09-13 パナソニック株式会社 Motion compensation device, video encoding device, video decoding device, motion compensation method, program, and integrated circuit
CN102884794A (en) * 2011-03-07 2013-01-16 松下电器产业株式会社 Motion compensation device, video encoding device, video decoding device, motion compensation method, program, and integrated circuit
US8917763B2 (en) 2011-03-07 2014-12-23 Panasonic Corporation Motion compensation apparatus, video coding apparatus, video decoding apparatus, motion compensation method, program, and integrated circuit
JP5857244B2 (en) * 2011-03-07 2016-02-10 パナソニックIpマネジメント株式会社 Motion compensation device, video encoding device, video decoding device, motion compensation method, program, and integrated circuit
CN102884794B (en) * 2011-03-07 2016-08-10 松下知识产权经营株式会社 Motion compensation unit, dynamic image encoding device, moving image decoding apparatus, motion compensation process and integrated circuit
US10129543B2 (en) 2016-03-28 2018-11-13 Fujitsu Limited Image compressing device and image compressing method

Also Published As

Publication number Publication date
JP5120327B2 (en) 2013-01-16

Similar Documents

Publication Publication Date Title
CN101998120B (en) Image coding device, image coding method, and image coding integrated circuit
JP2920208B2 (en) Coding method of motion vector of moving image
US7965773B1 (en) Macroblock cache
US8203648B2 (en) Motion vector detecting apparatus and motion vector detecting method
JP6263538B2 (en) Method and system for multimedia data processing
EP2184924A2 (en) Caching method and apparatus for video motion compensation
KR101520027B1 (en) Method and apparatus for motion estimation
JP4480156B2 (en) Image processing apparatus and method
US20060239349A1 (en) Image coding unit and image coding method
WO2005002235A2 (en) Method and apparatus for multidimensional signal sequences encoding/decoding using block matching
JP4405516B2 (en) Rectangular motion search
US8243810B2 (en) Motion estimation approach for real-time embedded multimedia design
JP4346573B2 (en) Encoding apparatus and method
JP2007142907A (en) Image coding apparatus and method
US20080259089A1 (en) Apparatus and method for performing motion compensation by macro block unit while decoding compressed motion picture
JP5120327B2 (en) Motion vector detection device
US6665340B1 (en) Moving picture encoding/decoding system, moving picture encoding/decoding apparatus, moving picture encoding/decoding method, and recording medium
US9363524B2 (en) Method and apparatus for motion compensation reference data caching
TWI442775B (en) Low-power and high-performance video coding method for performing motion estimation
CN101330614A (en) Method for implementing motion estimation of fraction pixel precision using digital signal processor
JP5906993B2 (en) Encoding apparatus, encoding method, and program
JP6740549B2 (en) Moving picture coding apparatus, method, program, and moving picture coding system
US20070109875A1 (en) Data storage method and information processing device using the same
JP2011097488A (en) Video compression encoder
Chen et al. Analysis and hardware architecture design of global motion estimation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120925

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121008

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

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees