JP2007243366A - Motion vector searching apparatus - Google Patents
Motion vector searching apparatus Download PDFInfo
- Publication number
- JP2007243366A JP2007243366A JP2006060452A JP2006060452A JP2007243366A JP 2007243366 A JP2007243366 A JP 2007243366A JP 2006060452 A JP2006060452 A JP 2006060452A JP 2006060452 A JP2006060452 A JP 2006060452A JP 2007243366 A JP2007243366 A JP 2007243366A
- Authority
- JP
- Japan
- Prior art keywords
- reference image
- memory
- block
- search
- image signal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
Abstract
Description
本発明は動きベクトル探索装置に係り、特にフィールド/フレーム構造の画像信号を参照して予測符号化する画像高能率符号化装置で用いる動きベクトル探索装置に関する。 The present invention relates to a motion vector search apparatus, and more particularly to a motion vector search apparatus used in an image high efficiency encoding apparatus that performs predictive encoding with reference to an image signal having a field / frame structure.
一般に、動画像の伝送や記録において高能率画像符号化方式は必要不可欠なものとなっている。例えば、デジタル放送ではMPEG−2Video(ISO/IEC13818-2)方式が採用されている。更に、近年では、H.264/MPEG−4AVC(ITU-T Rec.H.264|ISO/IEC14496-10 MPEG-4 Part 10:Advanced Video Coding)方式が、放送や蓄積メディアに採用され、携帯端末用の低レート符号化や従来方式以上の高画質符号化方式として注目されている。しかし、その符号化装置及び復号化装置は、従来以上に複雑な信号処理が要求されるため、ハードウェア負荷が増大し課題となっている。 In general, a high-efficiency image encoding method is indispensable for moving image transmission and recording. For example, MPEG-2 Video (ISO / IEC13818-2) system is adopted in digital broadcasting. Furthermore, in recent years, the H.264 / MPEG-4AVC (ITU-T Rec. H.264 | ISO / IEC14496-10 MPEG-4 Part 10: Advanced Video Coding) system has been adopted for broadcasting and storage media, and portable terminals. Attention has been paid to low-rate coding for video and high-quality coding methods that are higher than conventional methods. However, since the encoding device and the decoding device require more complicated signal processing than before, the hardware load increases, which is a problem.
以下では、本発明に係るH.264/MPEG−4 AVCの符号化装置における画面間予測符号化部で使用されるフィールド/フレーム構造によるマクロブロック参照方法について説明する。 Hereinafter, a macroblock reference method based on a field / frame structure used in the inter-picture prediction encoding unit in the H.264 / MPEG-4 AVC encoding apparatus according to the present invention will be described.
H.264/MPEG−4AVC符号化方式では、表1の(1−1)〜(1−4)に示すように入力画像フォーマットによりピクチャ構造のフィールド/フレーム適応符号化および、マクロブロック構造のフィールド/フレーム適応符号化を組み合わせた4種類の符号化が利用できる。 In the H.264 / MPEG-4AVC encoding system, as shown in Table 1-1 (1-1) to (1-4), a field having a picture structure / frame adaptive encoding and a field having a macroblock structure according to an input image format. 4 types of encoding combined with / frame adaptive encoding can be used.
図8(a)は、「フレーム・ピクチャ」の画面を模式的に示した図で、白ラインとグレーラインで示される2つのフィールドのラインが交互に合わせられ「フレーム・ピクチャ」を構成する様子を示している。また、図8(b)は2つのフィールド(第1フィールドと第2フィールド)をそれぞれ別のピクチャとして構成する「フィールド・ピクチャ」の画面を模式的に示した図である。 FIG. 8A is a diagram schematically showing the screen of “frame picture”, in which the lines of two fields indicated by white lines and gray lines are alternately aligned to form a “frame picture”. Is shown. FIG. 8B is a diagram schematically showing a “field picture” screen in which two fields (first field and second field) are configured as different pictures.
さらに、前記「フレーム・ピクチャ」が選択された場合には、マクロブロック(16画素×16ラインの矩形域)と呼ばれる符号化単位を縦に2つ組み合わせて、内部をフレーム符号化とフィールド符号化とに切り替えて使用するMB−AFF(Macroblock-Adaptive Frame-Field Coding)と呼ばれる機能がある。 Further, when the “frame picture” is selected, two encoding units called macroblocks (16 pixels × 16 lines rectangular area) are vertically combined, and the inside is frame encoded and field encoded. There is a function called MB-AFF (Macroblock-Adaptive Frame-Field Coding) that is used by switching between and.
図9(a)は、画面200をマクロブロック(16画素×16ラインの矩形域)毎に区切り、そのうち縦方向に隣接する2つのマクロブロック201とマクロブロック202を組み合わせた様子を模式的に示している。この縦に組み合わされた2つのマクロブロック内の32本のラインは第1フィールドのラインと、第2フィールドのラインとが交互に配置された、飛び越し走査をしている。
FIG. 9A schematically shows a state in which the
図9(b)は白ラインで示す第1フィールドのラインと、グレーラインで示す第2フィールドのラインとが交互に配置されたマクロブロック203と204を用いるフレーム符号化を模式的に示している。また、図9(c)は白ラインで示す第1フィールドの16本のラインで構成されるマクロブロック205と、グレーラインで示す第2フィールドのラインで構成されるマクロブロック206とに分けるフィールド符号化を模式的に示している。これらの詳細は非特許文献1に記載されている。
FIG. 9B schematically shows frame encoding using the
また、動き補償を行う単位として、上記フィールド・フレーム構造による方法で作られたマクロブロックを、図10(a)に示すような16画素×16ラインをそのまま用いる方法と、16画素×8ラインまたは8画素×16ラインに分割して用いる方法と、8画素×8ラインに分割したのち図10(b)に示すように、8画素×8ラインのまま用いるか、さらに内部を8画素×4ライン、4画素×8ラインまたは4画素×4ラインに分割して用いることができる。これら詳細は、前記非特許文献1の114〜115ページに記載されている。 In addition, as a unit for performing motion compensation, a macroblock created by the above-described method based on the field / frame structure is used as it is by using a method of using 16 pixels × 16 lines as shown in FIG. The method used by dividing into 8 pixels × 16 lines, and after dividing into 8 pixels × 8 lines, as shown in FIG. 10B, the 8 pixels × 8 lines are used as they are, or the inside is further 8 pixels × 4 lines. It can be divided into 4 pixels × 8 lines or 4 pixels × 4 lines. These details are described in pages 114 to 115 of Non-Patent Document 1.
これら機能は符号化効率の向上に大きく寄与しているが、処理が複雑になり多くのハードウェア負荷が要求される。この画面間予測符号化では、参照する画像上からブロック内の各画素値と誤差の少ない領域を切り出して予測画像としている。誤差の少ない領域は、画面間のブロックマッチングにより探索され、その位置を示すベクトル値が符号化される。この探索には、様々な方向の画像データを取得する必要があり、符号化集積回路の外部に接続されたフレームメモリへのアクセスが多発する。この結果、アクセススピードの遅い集積回路外部からのデータ取得による処理時間の増大や、外部アクセスに伴う消費電力の増大などの問題に繋がる。 These functions greatly contribute to the improvement of coding efficiency, but the processing becomes complicated and a lot of hardware load is required. In this inter-screen predictive coding, each pixel value in the block and a region with a small error are cut out from the image to be referred to as a predicted image. A region with a small error is searched by block matching between screens, and a vector value indicating the position is encoded. For this search, it is necessary to acquire image data in various directions, and access to the frame memory connected to the outside of the encoding integrated circuit frequently occurs. As a result, problems such as an increase in processing time due to data acquisition from the outside of the integrated circuit having a low access speed and an increase in power consumption associated with external access are caused.
そこで、ベクトルの探索範囲内にある画素データを一旦符号化集積回路の内部バッファに蓄えてからベクトル探索を行うことで、ベクトル探索中は外部メモリヘアクセスする必要を無くす、内部バッファ回路を採用する方法が一般に用いられている。 Therefore, an internal buffer circuit is employed that eliminates the need to access an external memory during vector search by temporarily storing pixel data within the vector search range in the internal buffer of the encoding integrated circuit and then performing vector search. The method is commonly used.
外部メモリへのアクセス回数を低減するための構成例を図11に示す。図11において、2つのフレームメモリ・コントローラ402、406と、カレント画像バッファ403と、参照画像バッファ407と、動きベクトル探索器408とは集積回路に内蔵されているものとする。また、カレント画像フレームメモリ401及び参照画像フレームメモリ405は集積回路の外部に接続されている。これは、一般にフレームメモリのような大規模な回路を集積回路に内蔵することが困難であるためである。
FIG. 11 shows a configuration example for reducing the number of accesses to the external memory. In FIG. 11, it is assumed that two
上述の図11の動きベクトル探索回路を集積回路に置き換えた構成を図12に示す。同図中、図11と同一構成部分には同一符号を付してある。図12に示す動きベクトル探索回路は、動きベクトル集積回路500と、それに接続されたカレント画像フレームメモリ401及び参照画像フレームメモリ405とにより構成される。動きベクトル集積回路500は、図11に示した2つのフレームメモリ・コントローラ402、406と、カレント画像バッファ403と、参照画像バッファ407と、動きベクトル探索器408とからなる。
FIG. 12 shows a configuration in which the motion vector search circuit shown in FIG. 11 is replaced with an integrated circuit. In the figure, the same components as those in FIG. The motion vector search circuit shown in FIG. 12 includes a motion vector integrated
次に、図11の回路動作を説明する。図11の入力端子400からは、符号化対象画面のデジタル信号が入力され、カレント画像フレームメモリ401に一画面分蓄積される。フレームメモリ・コントローラ402は、符号化対象のマクロブロックデータをカレント画像フレームメモリ401から読み出し、カレント画像バッファ403に蓄積する。これと並行して、入力端子404から、符号化対象画面のデジタル信号に対して、時間的に前又は後に表示される参照画面のデジタル信号が入力され、参照画像フレームメモリ405に一画面分蓄積される。フレームメモリ・コントローラ406は、参照領域のデータを参照画像フレームメモリ405から読み出し、参照画像バッファ407に蓄積する。
Next, the circuit operation of FIG. 11 will be described. A digital signal of the encoding target screen is input from the
動きベクトル探索器408は、参照画像バッファ407に蓄積された参照領域画像に対して、カレント画像バッファ403に蓄積された符号化対象マクロブロックとマッチングする領域を探索して動きベクトル量を求め、出力端子409から動きベクトル値を出力する。
The motion
1つの符号化対象マクロブロックにつき上記動作を行い、ベクトル値が出力されると、フレームメモリ・コントローラ402及び406は、符号化対象のマクロブロックを画面の左から右へ移動しながら、各符号化マクロブロックについて上記と同様の動作を繰り返し、右端の符号化対象のマクロブロックについての上記の動きベクトル値の出力が終わると、1つ下の左端のマクロブロックを符号化対象とするように移動(ラスタ順)するようにマクロブロックデータをフレームメモリから読み出す。この動作を繰り返すことで、ラスタ順に符号化対象マクロブロック毎のベクトル値を1画面について求める。
When the above operation is performed for one encoding target macroblock and a vector value is output, the
上述のように、外部のカレント画像フレームメモリ401及び参照画像フレームメモリ405と、動きベクトル探索器408の間に、カレント画像バッファ403及び参照画像バッファ407を設けることにより、動きベクトル探索器408は外部のカレント画像フレームメモリ401及び参照画像フレームメモリ405に頻繁にアクセスすることなく動きベクトル量を求めることができる。
As described above, by providing the current
上記構成の一例として、動きベクトルを探索する装置が従来開示されている(例えば、特許文献1参照)。まず、この装置の通常の動作を説明する。参照画面フレームメモリに蓄積されている図13(a)に示す画面600の画像データから、カレント画像バッファに蓄積されているマクロブロックと同じ画面内位置にあるマクロブロック601を探索中心とした探索領域602を参照画面フレームメモリから読み出し、参照画面バッファに蓄積する。
As an example of the above configuration, an apparatus for searching for a motion vector has been conventionally disclosed (see, for example, Patent Document 1). First, the normal operation of this apparatus will be described. A search area centered on a search from a
動きベクトル探索器は、探索領域602の内部からカレント画像バッファに蓄積されているマクロブロックとの間で画素毎の差分の絶対値和が最小となる領域を求め、マクロブロック601からの水平方向および垂直方向の移動量をベクトル値として求め出力する。
The motion vector searcher obtains an area where the sum of absolute values of differences for each pixel between the
ところで、図13(b)に示すように探索中心マクロブロック603が画面右端に到達した場合には、探索領域604の部分領域605が画面600の外部となるためフレームメモリからの読み出しが行われない。逆に、図13(c)に示すように、画面右端から1マクロブロック下の画面左端へ探索中心マクロブロック606が移動した場合には、探索領域607の部分領域608のデータが一度にフレームメモリから読み出されることになる。
By the way, as shown in FIG. 13B, when the
前記特許文献1による方法は上記問題を鑑みて、読み出し動作の不均一を解消することを目的としている。すなわち、この特許文献1記載の方法では、図13(d)に示すように、探索中心マクロブロック609が画面600の右端に近づき、探索領域610の右端の部分領域611が画面600からはみ出した場合には、部分領域611のデータとして左端の領域612のデータを読み込んでおき、探索中心が左端に移動したときに一度にフレームメモリから読み出す必要を無くし、フレームメモリへのアクセスが時間的に集中することなく均等化できることを特徴としている。この動作により、フレームメモリへのアクセス回数の削減だけでなく、アクセスの時間的集中が回避される。
In view of the above problems, the method according to Patent Document 1 aims to eliminate the nonuniformity of the read operation. That is, in the method described in Patent Document 1, as shown in FIG. 13D, when the search center macroblock 609 approaches the right end of the
ところで、ブロックマッチングによるベクトル値探索では、画素をずらしながらブロック位置を移動させるために、画素データの読み出し動作が頻発する。この結果、アクセス時間の遅いフレームメモリから参照画像の画素データを読み出す際の待ち時間が探索処理のサイクル数に多大な影響を及ぼすことと、符号化集積回路の外部への頻繁なアクセスは消費電力の増大を招くことが問題となっている。 By the way, in the vector value search by block matching, the pixel data reading operation frequently occurs in order to move the block position while shifting the pixel. As a result, the waiting time when reading the pixel data of the reference image from the frame memory with a slow access time has a great influence on the number of search processing cycles, and frequent access to the outside of the coding integrated circuit consumes power. It is a problem to cause an increase in
一般に、符号化集積回路の内部にバッファ回路を内蔵することで前記問題に対処しているが、前述のように、H.264/MPEG−4AVCでは符号化効率改善のために信号処理が従来の数倍も複雑なものとなり、ハードウェア回路の一層の高速化や低消費電力化が求められている。 In general, the buffer circuit is incorporated in the encoding integrated circuit to cope with the above problem. However, as described above, in H.264 / MPEG-4AVC, signal processing is conventionally performed to improve encoding efficiency. It is several times more complicated, and there is a need for higher speed hardware and lower power consumption.
前述した従来のバッファ回路による方法では、探索範囲内の画素データを蓄積する際、探索中心マクロブロックの位置が移動する度に、探索範囲外になった領域の画素データのみを捨て、旧探索領域と新探索領域とで重複している領域の画素データは保存しておき、新たに探索額域になった部分領域の画素データのみをフレームメモリから読み出す方式を採用している。 In the conventional buffer circuit method described above, when the pixel data within the search range is accumulated, every time the position of the search center macroblock moves, only the pixel data outside the search range is discarded, and the old search region is discarded. The pixel data of the area overlapping with the new search area is stored, and only the pixel data of the partial area newly set as the search frame area is read from the frame memory.
この様子を図14により説明する。図14(a)で画面700内のマクロブロック701を新たな探索中心位置としたときの探索範囲を太枠702で示している。このとき、バッファに蓄積されていた画素データの内のグレー領域703は新たな探索範囲に含まれないため破棄される。一方、新たに探索範囲に加えられた斜線領域704はフレームメモリから読み込まれる。
This will be described with reference to FIG. In FIG. 14A, the search range when the
ところで、図14(a)の新たにフレームメモリから読み込まれる斜線領域704の中の図14(b)に示す斜線領域705は、探索中心位置がマクロブロック701の1つ上の位置にあったときに、フレームメモリから一度読み込まれていたものである。すなわち、探索中心位置が移動する際に一旦破棄された画素データを再度読み込む必要があり、フレームメモリへのアクセスに無駄が生じるという問題がある。特に、前述したH.264/MPEG−4AVCのMB−AFFでは、ベクトルの探索中心マクロブロック位置が、ラスタ順ではなくジグザグに移動するため、一層アクセスの無駄が多くなる。
Incidentally, the hatched
また、従来はバッファ内の画素データを、画面イメージと一致するように格納している。しかし、前述の図10で示したようにH.264/MPEG−4AVCでは、16画素×16ラインのマクロブロックをフィールド/フレーム構造で、4画素×4ライン、8画素×4ラインまたは、4画素×8ラインまで分割してベクトル探索を行う可能性がある。このため、従来の画素データ格納順では画素データ読み出し位置が複雑になり、ブロック単位が適応的に変化されると常に同じアクセスタイムを得ることが困難になる。このため、符号化に要する処理時間が均一でなくなるという問題がある。 Conventionally, the pixel data in the buffer is stored so as to coincide with the screen image. However, as shown in FIG. 10 described above, in H.264 / MPEG-4AVC, a macroblock of 16 pixels × 16 lines has a field / frame structure, 4 pixels × 4 lines, 8 pixels × 4 lines, or 4 pixels. There is a possibility that vector search is performed by dividing up to x8 lines. For this reason, the pixel data reading position becomes complicated in the conventional pixel data storage order, and it is difficult to always obtain the same access time when the block unit is adaptively changed. For this reason, there is a problem that the processing time required for encoding is not uniform.
本発明は以上の点に鑑みてなされたもので、符号化集積回路から外部メモリへのアクセス回数を従来以上に削減し、ベクトル探索時のフィールド/フレーム構造やブロックサイズの適応的な切り替えにも柔軟に対応できる動きベクトル探索装置を提供することを目的とする。 The present invention has been made in view of the above points. The number of accesses from the coding integrated circuit to the external memory is reduced more than before, and the field / frame structure and block size can be adaptively switched during vector search. An object of the present invention is to provide a motion vector search device that can flexibly cope with the motion vector.
上記目的を達成するため、第1の発明は、入力された符号化対象の画像信号を一画面分蓄積する第1のメモリと、第1のメモリから所定画素数のブロック毎に読み出された符号化対象の画像信号を一時蓄積する第1のバッファと、符号化対象の画像信号に対して時間的に前又は後に表示される参照画像信号を一画面分蓄積する第2のメモリと、第2のメモリから読み出された、ブロックに対応する位置のブロックを包含する所定の探索範囲の参照画像信号を一時蓄積する第2のバッファと、第1のバッファからの符号化対象の画像信号のブロックと第2のバッファからの所定の探索範囲の参照画像信号とに基づいて、ブロックとマッチングする探索範囲内のブロック位置との相対位置関係を示す動きベクトルを探索する探索手段とを備えた動きベクトル探索装置であって、第2のメモリと第2のバッファとの間に設けられており、水平方向のブロック数が一画面分の画像信号の水平方向のブロック数と同じで、かつ、垂直方向のブロック数が探索範囲の垂直方向のブロック数よりも大きなブロック範囲の信号の記憶容量を備えたキャッシュメモリと、第2のメモリから探索範囲の中心ブロックからラスタ順で所定のブロック数だけ先行した位置のブロックの参照画像信号を読み出してキャッシュメモリに書き込むと共に、キャッシュメモリから第2のメモリ内の探索範囲に対応した範囲の参照画像信号を読み出して第2のバッファに供給することを、探索範囲及び読み出し範囲をそれぞれ1ブロックずつ巡回的にずらしながら繰り返す書き込み及び読み出し制御手段とを有することを特徴とする。 In order to achieve the above object, according to a first aspect of the present invention, a first memory for storing an input image signal to be encoded for one screen and a block having a predetermined number of pixels are read from the first memory. A first buffer for temporarily storing an image signal to be encoded, a second memory for storing a reference image signal displayed before or after the image signal to be encoded for one screen, and A second buffer for temporarily storing a reference image signal in a predetermined search range including a block at a position corresponding to the block, read from the memory of 2, and an image signal to be encoded from the first buffer Searching means for searching for a motion vector indicating a relative positional relationship with a block position within the search range matching the block based on the block and the reference image signal of the predetermined search range from the second buffer. A vector search device provided between a second memory and a second buffer, wherein the number of horizontal blocks is the same as the number of horizontal blocks of an image signal for one screen, and is vertical A cache memory having a storage capacity for signals in the block range in which the number of blocks in the direction is larger than the number of blocks in the vertical direction of the search range, and a predetermined number of blocks in raster order from the second block in the central block of the search range The reference image signal of the block at the specified position is read and written in the cache memory, and the reference image signal in the range corresponding to the search range in the second memory is read from the cache memory and supplied to the second buffer. Write and read control means for repeating the range and the read range while cyclically shifting the range and the read range by one block each. And features.
この発明では、符号化対象の画像信号のブロックと所定の探索範囲の参照画像信号とに基づいて、ブロックとマッチングする探索範囲内のブロック位置との相対位置関係を示す動きベクトルを探索する際に、水平方向のブロック数が一画面分の画像信号の水平方向のブロック数と同じで、かつ、垂直方向のブロック数が探索範囲の垂直方向のブロック数よりも大きなブロック範囲の信号の記憶容量を備えたキャッシュメモリから探索範囲の参照画像信号を読み出して動きベクトル探索に供すると共に、探索範囲の中心ブロックからラスタ順で所定のブロック数だけ先行した位置のブロックの参照画像信号を第2のメモリから読み出してキャッシュメモリに書き込むようにしたため、第2のメモリの探索範囲の参照画像信号の重複読み出しを回避することができる。垂直ブロック数をベクトル探索範囲より大きくする理由は、ベクトルの探索中心位置がラスタ順だけではなく、ジグザグに移動することがあるためである。 In the present invention, when searching for a motion vector indicating a relative positional relationship with a block position within a search range matching a block based on a block of an image signal to be encoded and a reference image signal of a predetermined search range. The storage capacity of the signal in the block range is the same as the number of horizontal blocks in the image signal for one screen in the horizontal direction and the number of vertical blocks is larger than the number of vertical blocks in the search range. The reference image signal in the search range is read from the provided cache memory and used for the motion vector search, and the reference image signal of the block at a position preceding the center block of the search range by a predetermined number of blocks in the raster order is read from the second memory. Since it is read and written to the cache memory, the reference image signal in the search range of the second memory is repeatedly read. It can be. The reason why the number of vertical blocks is made larger than the vector search range is that the vector search center position may move not only in raster order but also zigzag.
ここで、キャッシュメモリは第1及び第2のバッファと動きベクトルの探索手段と共に集積回路内部に設けることができ、この場合は、集積回路内部の回路規模は増加するが、代わりに外部の第2のメモリのアクセス回数が1回の動きベクトル探索につき1ブロックのみで済み、システム全体での電力消費を抑制できるというメリットがある。これは、集積回路内部の消費電力に比べて、集積回路から外部の第2のメモリへのアクセスに必要な電力の方が遥かに多いためである。また、集積回路から外部の第2のメモリへのアクセスタイムに比べ、集積回路内部で完結する処理の方が高速に動作できる点でも一層有利である。 Here, the cache memory can be provided in the integrated circuit together with the first and second buffers and the motion vector search means. In this case, although the circuit scale in the integrated circuit increases, an external second Only one block is required per motion vector search for one memory vector access, and there is an advantage that power consumption in the entire system can be suppressed. This is because the power required for accessing the external second memory from the integrated circuit is much larger than the power consumption inside the integrated circuit. Further, the processing completed within the integrated circuit is more advantageous in that it can operate at a higher speed than the access time from the integrated circuit to the external second memory.
また、上記の目的を達成するため、第2の発明は、第1の発明のキャッシュメモリを、ブロックを構成する所定画素数のうち、予め設定された画素数ずつに分割された参照画像信号をそれぞれ記憶する複数のバンクメモリと、第2のメモリからの参照画像信号を、複数のバンクメモリに振り分けて蓄積させるセレクタとを少なくとも有し、セレクタは、複数のバンクメモリから同時に読み出した参照画像信号の複数の画素が、所望のフィールド/フレーム構造の画像信号を構成する画素からなるように、振り分け動作を行う構成としたものである。この発明では、複雑なブロック構成のデータをキャッシュメモリから容易に並列に読み出すことが可能となり、後段のバッファメモリに対しても有効に機能させることができる。 In order to achieve the above object, the second invention provides a reference image signal obtained by dividing the cache memory of the first invention into a predetermined number of pixels out of a predetermined number of pixels constituting a block. Each of the plurality of bank memories stores at least a selector that distributes and stores the reference image signals from the second memory in the plurality of bank memories, and the selector reads the reference image signals simultaneously from the plurality of bank memories. In this configuration, the sorting operation is performed so that the plurality of pixels are composed of pixels constituting an image signal having a desired field / frame structure. According to the present invention, it is possible to easily read out data having a complicated block configuration from the cache memory in parallel, and it is possible to effectively function the latter buffer memory.
本発明によれば、参照画像信号記憶用メモリとバッファとの間にキャッシュメモリを設けることにより、水平方向と垂直方向の両方向において参照画像信号記憶用メモリの読み出しの重複を回避し、1回の動きベクトル探索を行うときの画像符号化集積回路の外部に設けられた参照画像信号記憶用メモリへのアクセス回数を従来に比べて削減することができるため、信号処理の高速化及び低消費電力化を効果的に図れる。 According to the present invention, by providing a cache memory between the reference image signal storage memory and the buffer, it is possible to avoid duplication of reading of the reference image signal storage memory in both the horizontal direction and the vertical direction. Since the number of accesses to the reference image signal storage memory provided outside the image encoding integrated circuit when performing motion vector search can be reduced compared to the prior art, signal processing speed and power consumption can be reduced. Can be achieved effectively.
また、本発明によれば、キャッシュメモリを複数のバンクメモリを設け、それらに参照画像信号を所定画素単位で振り分けて蓄積させる構成とすることにより、複雑なブロック構成のデータを複数のバンクメモリから並列に容易に読み出すことができるため、H.264/MPEG−4AVCの大きな特徴である、様々な異なるサイズの符号化ブロック単位を適応的に切り替える場合においても、柔軟に対応でき、信号処理時間の均一化を図ることができる。 Further, according to the present invention, the cache memory is provided with a plurality of bank memories, and the reference image signal is distributed and stored in units of predetermined pixels in the cache memory, so that complicated block configuration data is stored from the plurality of bank memories. Since it can be easily read out in parallel, it is possible to flexibly cope with the case of adaptively switching between various different size coding block units, which is a major feature of H.264 / MPEG-4AVC, and the signal processing time can be reduced. Uniformity can be achieved.
次に、本発明の一実施の形態について図面と共に説明する。図1は本発明になる動きベクトル探索装置の一実施の形態のブロック図を示す。同図中、図11と同一回路ブロックには同一符号を付し、その説明を省略する。図1に示すように、本実施の形態は、図11に示した従来の動きベクトル探索装置と比較すると、参照画像フレームメモリ405と参照画像バッファ407との間に参照画像キャッシュメモリ100を挿入した点に特徴がある。参照画像フレームメモリ405と参照画像キャッシュメモリ100とは、後述するように、メモリコントローラ410により書き込み/読み出し制御される。
Next, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows a block diagram of an embodiment of a motion vector search apparatus according to the present invention. In the figure, the same circuit blocks as those in FIG. As shown in FIG. 1, in the present embodiment, the reference
カレント画像フレームメモリ401側ではなく、参照画像フレームメモリ405側に上記のキャッシュメモリ100を設けたのは、動きベクトルは、符号化対象のカレント画像の一つのマクロブロック(MB)とマッチングする位置を参照画像の探索範囲の複数のMBの中から求めるから、アクセス回数はカレント画像フレームメモリ401よりも参照画像フレームメモリ405の方が多く、また、カレントMBの位置は予め分かっている(固定である)のに対し、参照画像の方は探索範囲のどこをアクセスするか予め分からないので、すべてのデータを用意しておかなければならないためである。
The
次に、図1の参照画像キャッシュメモリ100の動作を、図2と図3を用いて説明する。なお、以下の説明で、探索中心及び探索範囲とは動きベクトル探索の中心及び範囲を示すものとする。図2は図1の参照画像フレームメモリ405内に蓄積されている画面イメージを示しており、図3は参照画像フレームメモリ405から読み出されたマクロブロックデータを参照画像キャッシュメモリ100内に配置したイメージを模式的に示した図を示す。図2と図3の細線で区切られた領域は16画素×16ラインのマクロブロックを表している。
Next, the operation of the reference
図3から分かるように、本実施の形態の参照画像キャッシュメモリ100の水平方向メモリサイズは、参照画像の水平方向のマクロブロック数と同じサイズにすることを特徴としている。また、参照画像キャッシュメモリ100の垂直方向のメモリサイズは、垂直方向のベクトル探索範囲よりも大きいブロック数であることを特徴としているが、本実施の形態においては、動きベクトルの探索範囲よりも1マクロブロック分大きなサイズとしている。垂直方向のメモリサイズを垂直方向の動きベクトル探索範囲より大きくする理由は、動きベクトルの探索中心位置がラスタ順だけではなく、ジグザグに移動することがあるためである。例えば、図9(b)又は(c)の構造を実現するため、図9(a)に示すように上下(垂直)方向にカレントマクロブロックが移動した後、横へ1つ移動して、また上下に移動というジグザグに移動する場合、動きベクトル探索範囲もジグザグに移動するためである。
As can be seen from FIG. 3, the horizontal memory size of the reference
始めに、参照画像フレームメモリ405における図2(a)の探索中心マクロブロック110aの位置が探索中心であり、範囲111aを探索範囲とする。また、参照画像キャッシュメモリ100には、図2(a)の探索中心マクロブロック110aに対応して図3(a)の探索中心マクロブロック120aが配置されており、図2(a)の探索範囲111aに対応する領域が図3(a)の探索範囲121aとなる。
First, the position of the
このとき、メモリコントローラ410により探索範囲121aの各マクロブロックの画素データが読み出されて後段に接続された図1の参照画像バッファ407へ転送され、動きベクトル探索に供される。また、この参照画像キャッシュメモリ100の画素データの読み出しの直前に、あるいは読み出しと並行して、メモリコントローラ410により参照画像フレームメモリ405から読み出され参照画像キャッシュメモリ100に転送された画素データが、参照画像キャッシュメモリ100の図3(a)の探索範囲121aの右下に隣接するマクロブロック122aの位置に書き込まれる。この書き込み画素データは、図2(a)の探索範囲111aの右下に隣接するマクロブロック(すなわち、探索範囲を包含し、かつ、探索範囲を追い越すことのない、ラスタ順で固定長分(ここでは12マクロブロック)だけ先行したマクロブロック)112aの画素データである。
At this time, the pixel data of each macro block in the
図1の動きベクトル探索器408で動きベクトルの探索が終了すると、参照画像フレームメモリ405内の探索中心マクロブロックは、ラスタ順で水平方向に一マクロブロック分移動して、図2(a)の110aから同図(b)の110bになる。これに伴い、参照画像キャッシュメモリ100も図3(b)の探索中心マクロブロック120bに移動する。この結果、探索範囲は図2(b)の探索範囲111bと図3(b)の探索範囲121bとなる。
When the motion vector search by the motion
この結果、参照画像キャッシュメモリ100の探索範囲121bの各マクロブロックの画素データが読み出されて図1の参照画像バッファ407へ転送され、動きベクトル探索に供される。また、このとき、参照画像フレームメモリ405の図2(b)に示すマクロブロック112bの画素データが読み出され、参照画像キャッシュメモリ100の図3(b)のマクロブロック122bの位置に書き込まれる。この書き込み画素データは、図2(b)の探索中心マクロブロック110bに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行したマクロブロック112bの画素データである。また、参照画像キャッシュメモリ100の図3(b)の画素データ書き込みマクロブロックの位置も、探索中心マクロブロック120bに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行したマクロブロックの位置となる。
As a result, the pixel data of each macro block in the
更に、図2(c)に示すように、探索中心マクロブロック110cに探索中心が移動すると、探索範囲は111c、参照画像フレームメモリ405から読み出される画素データは、探索中心マクロブロック110cに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行したマクロブロック112cとなり、これに対応して参照画像キャッシュメモリ100では探索中心マクロブロックが図3(c)の120c、探索範囲が図3(c)の121c、書き込みマクロブロックが探索中心マクロブロック112cに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行したマクロブロック122cとなる。この動作は、探索中心マクロブロックが画面右端に近づく場合を説明するものである。
Further, as shown in FIG. 2C, when the search center is moved to the
次に、探索中心マクロブロックが右端に到達して1マクロブロック分下の左端に折り返した場合の様子を図2(d)に示す。これに対応して、参照画像キャッシュメモリ100では、探索中心マクロブロックが図3(d)に示す120dとなり、書き込みマクロブロックが同図(d)の122dとなる。
Next, FIG. 2D shows a state where the search center macroblock reaches the right end and turns back to the left end one macroblock below. Correspondingly, in the reference
ここで、参照画像キャッシュメモリ100での探索範囲は、探索中心マクロブロック120dを探索範囲の中心位置とすると図3(d)に示す探索範囲121dとなるが、その範囲の下側が参照画像キャッシュメモリ100の記憶領域からはみ出しており、画素データが無いが、この部分の画素データは探索範囲を上側に折り返した図3(d)に示す探索範囲123dで示される領域に含まれる位置に存在しているので、この部分を合わせて画素データを読み出すことで、図2(d)の探索範囲111dに相当する画素データを後段に接続された図1の参照画像バッファ407は得ることができる。
Here, the search range in the reference
また、図2(e)に示すように、参照画像フレームメモリ405の探索中心マクロブロックが110eに移動した場合、その探索範囲は111eとなり、また、読み出しマクロブロックは探索中心マクロブロック110eに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行したマクロブロック112eとなる。この場合、参照画像キャッシュメモリ100は、図3(e)に示すように、探索中心マクロブロックが120eとなり、書き込みマクロブロックが探索中心マクロブロック120eに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行した122eとなる。ただし、図2(e)の読み出しマクロブロック112eは垂直方向に折り返しているので、書き込みマクロブロック122eは読み出しマクロブロック112eと時間的に異なる参照画像フレームの画素データである。
Further, as shown in FIG. 2E, when the search center macroblock of the reference
また、図3(e)において、破線124eは参照画像フレームが次の処理順のフレームに変わった境界位置を示している。ここで探索範囲は、図3(e)の探索範囲121eとなり、その範囲の下側が参照画像キャッシュメモリ100の記憶領域からはみ出しており画素データが無いが、この部分の画素データは探索範囲を上側に折り返した図3(e)に示す探索範囲123eで示される領域に存在しているので、この部分を合わせて読み出すことで、図2(e)の探索範囲111eに相当する画素データを後段に接続された図1の参照画像バッファ407は得ることができる。この動作は、探索中心マクロブロックが画面右下端に近づく場合を説明するものである。
In FIG. 3E, a broken line 124e indicates a boundary position where the reference image frame is changed to a frame in the next processing order. Here, the search range is the
更に、図2(f)に示すように、参照画像フレームメモリ405の探索中心マクロブロックが110fに移動した場合、その探索範囲は同図(f)に示す探索範囲111fとなり、読み出しマクロブロックは同図(f)に示す112fとなる。この場合、参照画像キャッシュメモリ100は、図3(f)に示すように、探索中心マクロブロックが120fとなり、探索範囲が121f、書き込みマクロブロックが122fとなる。
Further, as shown in FIG. 2 (f), when the search center macroblock of the reference
このとき、探索範囲121fの上側が参照画像キャッシュメモリ100の記憶領域からはみ出しており画素データが無いが、この部分の画素データは探索範囲を下側に折り返した探索範囲123fで示される領域に存在しているので、この部分を合わせて読み出すことで、図2(f)の探索範囲111fに相当する画素データを後段に接続された図1の参照画像バッファ407は得ることができる。ただし、図3(f)において、フレームの境界位置を示す破線124fよりも下側の画素データは、次の時間のフレームの画素データなので参照しない。この動作は、探索中心マクロブロックが画面右下端にある場合を説明するものである。
At this time, the upper side of the
最後に、図2(g)に示すように、参照画像フレームメモリ405の探索中心マクロブロックが110gに移動した場合、その探索範囲は同図(g)に示す探索範囲111gとなり、読み出しマクロブロックは探索中心マクロブロック110gに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行した同図(g)に示す112gとなる。この場合、参照画像キャッシュメモリ100は、図3(g)に示すように、探索中心マクロブロックが120gとなり、探索範囲が121g、書き込みマクロブロックが探索中心マクロブロック120gに対して、ラスタ順で固定長分(12マクロブロック分)だけ先行した122gとなる。ただし、フレームの境界位置を示す図3(g)の破線124gよりも上側の画素データは、処理順的に前のフレームの画素データなので参照しない。この動作は、探索中心マクロブロックが次の処理順のフレームの画面左上端に移動した場合を説明するものである。このように、探索範囲は参照画像キャッシュメモリ100内において巡回的に移動する。
Finally, as shown in FIG. 2 (g), when the search center macroblock in the reference
上述の動作説明は、図1の参照画像フレームメモリ405の読み出しと、参照画像キャッシュメモリ100の書き込み及び探索範囲の位相関係について、その一部を示しているのみであるが、様々な位相関係についても容易に想像することができる。また、本実施の形態ではラスタ順に探索マクロブロックが移動するフレーム構造で説明したが、ジグザグに移動するフィールド構造でも同様に考えればよい。
The above description of the operation shows only a part of the phase relationship between the reading of the reference
以上、説明したように、本実施の形態では、水平方向サイズを参照画像の水平方向ブロックサイズと同一とし、かつ、垂直方向サイズを探索範囲の垂直方向ブロック数より大きく設定したことを特徴とする参照画像キャッシュメモリ100を設け、動きベクトルの探索動作に合わせて、一定の時間間隔毎に1マクロブロックずつ参照画像フレームメモリ405から画素データを参照画像キャッシュメモリ100に書き込むだけで、過不足なくベクトル探索動作が可能となる。
As described above, the present embodiment is characterized in that the horizontal size is the same as the horizontal block size of the reference image, and the vertical size is set larger than the number of vertical blocks in the search range. A reference
また、本実施の形態によれば、水平方向と垂直方向の両方向において参照画像キャッシュメモリ100からのデータ読み出しの重複が回避されるため、画像符号化集積回路の外部メモリである参照画像フレームメモリ405へのアクセス回数が減り、信号処理の高速化及び低消費電力化を効果的に図れる。
In addition, according to the present embodiment, duplication of data reading from the reference
更に、本実施の形態では、参照画像キャッシュメモリ100が付加されたことで、集積回路内部の回路規模は増加するが、代わりに外部メモリである参照画像フレームメモリ405のアクセス回数が1回の動きベクトル探索につき1マクロブロックのみで済み、システム全体での電力消費を抑制できるというメリットがある。これは、集積回路内部の消費電力に比べて、集積回路から外部回路へのアクセスに必要な電力の方が遥かに多いためである。また、集積回路から外部回路へのアクセスタイムに比べ、集積回路内部で完結する処理の方が高速に動作できる点でも一層有利である。
Furthermore, in this embodiment, the addition of the reference
次に、参照画像キャッシュメモリについて更に詳細に説明する。図4は本発明になる動きベクトル探索装置に用い得る参照画像キャッシュメモリの一実施の形態の構成図を示す。図4の構成の参照画像キャッシュメモリは、図1の本発明になる動きベクトル探索装置の参照画像キャッシュメモリ100として用いることができる。
Next, the reference image cache memory will be described in more detail. FIG. 4 shows a block diagram of an embodiment of a reference image cache memory that can be used in the motion vector search apparatus according to the present invention. The reference image cache memory having the configuration shown in FIG. 4 can be used as the reference
図4の入力端子150には、図1の参照画像フレームメモリ405からの画素データがマクロブロック単位で入力され、セレクタ151に供給される。セレクタ151の出力側には4つのバンクメモリ152〜155が接続されており、入力された画素データのマクロブロック内位置に従って、画素データを蓄積するバンクメモリを選択する。
The pixel data from the reference
ここで、画素データのマクロブロック内位置と蓄積されるバンクメモリの関係を図5と図6を用いて説明する。図5は水平方向16画素、垂直方向16ラインの1つのマクロブロックを示しており、水平方向の4画素を1つの長方形で表現している。従って、図5は水平方向に4個の長方形と垂直方向に16個の長方形により、16画素×16ラインの1つのマクロブロックの画素データを示している。 Here, the relationship between the position in the macroblock of the pixel data and the accumulated bank memory will be described with reference to FIGS. FIG. 5 shows one macroblock of 16 pixels in the horizontal direction and 16 lines in the vertical direction, and 4 pixels in the horizontal direction are represented by one rectangle. Therefore, FIG. 5 shows pixel data of one macroblock of 16 pixels × 16 lines by four rectangles in the horizontal direction and 16 rectangles in the vertical direction.
また、図5において、各長方形内に記された1つのアルファベットと2桁の数字からなる3桁の記号は、書き込む4つのバンクメモリ152〜155の識別子であり、図6に示すように4つのバンクA〜Dに図4のセレクタ151により振り分けられる。ここで、バンクA、B、C及びDは、図4のバンクメモリ152、153、154及び155に相当する。
In FIG. 5, a three-digit symbol consisting of one alphabet and two digits written in each rectangle is an identifier of the four
これら4つのバンクメモリ152〜155(バンクA〜D)の合計容量は、前述の実施の形態で説明したように、水平方向ブロック数を参照画像の水平方向ブロック数と同一とし、かつ、垂直方向ブロック数を探索範囲の垂直方向ブロック数より大きく設定されているものとする。また、図6に示すように、1アドレスにつき8画素のデータ(32ビット)を割り付け、1つのバンクメモリから一度に8画素分のデータが読み出されるものとする。
The total capacity of these four
また、4つのバンクメモリ152〜155からは,前述のようにフィールド/フレーム構造の8画素×4ラインまたは4画素×8ラインを単位としたブロックで画素データが読み出される。ただし、図5の太線で示す4画素×4ラインを読み出し位置の境界とするものとし、任意の1画素単位で読み出しブロック位置の起点を指定することはできないものとする。
Also, the pixel data is read from the four
ここで、ブロックサイズを8画素×4ラインと4画素×8ラインの2種類に限定した理由は、参照画像キャッシュメモリ100の後段の参照画像バッファ407で4画素×4ラインのような小さなブロックを上記の2種類のブロックから切り出して利用することが可能であり、むしろ読み出しブロックサイズの種類を増やすことによる読み出し制御が複雑になるデメリットの方が大きいためである。
Here, the reason why the block size is limited to two types of 8 pixels × 4 lines and 4 pixels × 8 lines is that the
一例として、図7(a)は図5のA00を起点としてフレーム構造4画素×8ラインを読み出す場合のバンクメモリ内位置を示しており、図7(b)は図5のA00を起点としてフィールド構造4画素×8ラインを読み出す場合のバンクメモリ内位置を示している。また、図7(c)は図5のA00を起点としてフレーム構造8画素×4ラインを読み出す場合のバンクメモリ内位置を示しており、図7(d)は図5のA00を起点としてフィールド構造8画素×4ラインを読み出す場合のバンクメモリ内位置を示している。 As an example, FIG. 7A shows the position in the bank memory when reading 4 pixels × 8 lines of frame structure starting from A00 in FIG. 5, and FIG. 7B shows the field starting from A00 in FIG. The position in the bank memory in the case of reading the structure 4 pixels × 8 lines is shown. FIG. 7C shows the position in the bank memory when the frame structure of 8 pixels × 4 lines is read starting from A00 in FIG. 5, and FIG. 7D shows the field structure starting from A00 in FIG. The position in the bank memory when reading 8 pixels × 4 lines is shown.
図7(a)〜(d)のいずれの構造の画素データを読み出す場合も、図6に示した画素データを割り振られて蓄積している4つのバンクメモリ152〜155(バンクA〜D)に対して、読み出しアドレスを同時に(ただし、同じアドレスではなく、図7(a)〜(d)の画素データにより異なる)、並列に1回発行するだけで(つまり、1回のデータ読み出しを行うことだけで)、読み出し動作が完了する。
7A to 7D, the pixel data shown in FIG. 6 is allocated to and stored in the four
例えば、図7(a)に示すフレーム構造4画素×8ラインを読み出す場合は、バンクメモリ152に対しては、図6に示すA00、A01を格納している1アドレスを指定し、バンクメモリ153に対しては、図6に示すB00、B01を格納している1アドレスを指定し、バンクメモリ154に対しては、図6に示すC20、C21を格納している1アドレスを指定し、バンクメモリ155に対しては、図6に示すD20、D21を格納している1アドレスを指定して、同時に読み出しを1回行うだけで、読み出し動作が完了することになる。図7(b)〜(d)の場合も同様である。
For example, when the frame structure 4 pixels × 8 lines shown in FIG. 7A is read out, the
再び図4に戻って説明するに、バンクメモリ152〜155から同時に、かつ、並列に読み出された画素データは、並べ替え器156に入力され、例えば図7(a)〜(d)のいずれかのようにデータ順を並べ替えてフィールド/フレーム構造の8画素×4ラインまたは4画素×8ラインのブロックを作成する。並べ替え器156で作成されたブロックデータは、出力端子157から出力され、図1の参照画像バッファ407へ供給される。
Returning to FIG. 4 again, the pixel data read out simultaneously and in parallel from the
このように、本実施の形態によれば、H.264/MPEG−4AVCの大きな特徴である、図10と共に説明した様々な異なるサイズの符号化ブロック単位を適応的に切り替える場合においても、最小単位である4画素×4ラインのサイズを含めて、4画素×8ライン、8画素×4ラインの画素データを一度の読み出しで取得でき、8画素×8ラインの画素データは2度の読み出しで取得でき、更にそれらがフレーム構造であってもフィールド構造であっても、同じアクセス時間で取得でき、信号処理時間の均一化が図れ、よって極めて効果的なベクトル探索を行える。 As described above, according to this embodiment, even when adaptively switching between variously sized encoding block units described with reference to FIG. 10, which is a major feature of H.264 / MPEG-4AVC, the minimum unit is used. The pixel data of 4 pixels x 8 lines and 8 pixels x 4 lines including the size of 4 pixels x 4 lines can be acquired by one reading, and the pixel data of 8 pixels x 8 lines is acquired by reading twice. In addition, even if they have a frame structure or a field structure, they can be acquired with the same access time, and the signal processing time can be made uniform, so that a very effective vector search can be performed.
なお、本実施の形態で使用した画面内のマクロブロック数は、説明を簡単にするために便宜上用いたものであり、本発明による動きベクトル探索装置が対象とする画面内マクロブロック数を限定するものではない。また、H.264/MPEG−4AVCでは、複数の画面を参照画像として選択することが可能であるが、その場合には参照画像フレームメモリと本発明による参照画像キャッシュメモリおよび参照画像バッファの回路を、使用される参照画像の枚数に応じて複数用意すればよいことが容易に想像できる。 Note that the number of macroblocks in the screen used in the present embodiment is used for convenience in order to simplify the description, and the number of macroblocks in the screen targeted by the motion vector search apparatus according to the present invention is limited. It is not a thing. In H.264 / MPEG-4AVC, a plurality of screens can be selected as reference images. In that case, a reference image frame memory, a reference image cache memory and a reference image buffer circuit according to the present invention are provided. It can be easily imagined that a plurality of reference images may be prepared according to the number of reference images to be used.
100 参照画像キャッシュメモリ
150、400、404 入力端子
110a〜110g、120a〜120g 探索中心マクロブロック
111a〜111g、121a〜121g、123d、123e、123f 探索領域
112a〜112g フレームメモリ読み出しマクロブロック
122a〜122g キャッシュメモリ書き込みマクロブロック
124e、124f、122g フレーム境界
151 セレクタ
152、153、154、155 バンクメモリ
156 並べ替え器
401 カレント画像フレームメモリ
402 フレームメモリ・コントローラ
403 カレント画像バッファ
405 参照画像フレームメモリ
407 参照画像バッファ
408 動きベクトル探索器
410 メモリコントローラ
157、409 出力端子
500 動きベクトル集積回路
100 Reference
Claims (2)
前記第2のメモリと前記第2のバッファとの間に設けられており、水平方向のブロック数が前記一画面分の画像信号の水平方向のブロック数と同じで、かつ、垂直方向のブロック数が前記探索範囲の垂直方向のブロック数よりも大きなブロック範囲の信号の記憶容量を備えたキャッシュメモリと、
前記第2のメモリから前記探索範囲の中心ブロックからラスタ順で所定のブロック数だけ先行した位置のブロックの参照画像信号を読み出して前記キャッシュメモリに書き込むと共に、前記キャッシュメモリから前記第2のメモリ内の前記探索範囲に対応した範囲の参照画像信号を読み出して前記第2のバッファに供給することを、前記探索範囲及び読み出し範囲をそれぞれ1ブロックずつ巡回的にずらしながら繰り返す書き込み及び読み出し制御手段と
を有することを特徴とする動きベクトル探索装置。 A first memory for storing the input image signal to be encoded for one screen, and a first memory for temporarily storing the image signal to be encoded read from the first memory for each block of a predetermined number of pixels. 1 buffer, a second memory for storing a reference image signal that is displayed before or after the image signal to be encoded for one screen, and read from the second memory, A second buffer for temporarily storing the reference image signal in a predetermined search range including a block at a position corresponding to the block; a block of the image signal to be encoded from the first buffer; Search means for searching for a motion vector indicating a relative positional relationship with a block position in the search range that matches the block based on a reference image signal in the predetermined search range from a buffer of A motion vector search apparatus having,
Provided between the second memory and the second buffer, the number of horizontal blocks is the same as the number of horizontal blocks of the image signal for one screen, and the number of vertical blocks A cache memory having a storage capacity of a signal in a block range larger than the number of blocks in the vertical direction of the search range;
A reference image signal of a block located at a predetermined number of blocks in raster order from the central block of the search range is read from the second memory and written to the cache memory, and from the cache memory to the second memory And a writing and reading control means for repeatedly reading the reference image signal in a range corresponding to the search range and supplying the reference image signal to the second buffer while cyclically shifting the search range and the read range by one block each. A motion vector search apparatus comprising:
前記ブロックを構成する所定画素数のうち、予め設定された画素数ずつに分割された前記参照画像信号をそれぞれ記憶する複数のバンクメモリと、
前記第2のメモリからの前記参照画像信号を、前記複数のバンクメモリに振り分けて蓄積させるセレクタと
を少なくとも有し、前記セレクタは、前記複数のバンクメモリから同時に読み出した前記参照画像信号の複数の画素が、所望のフィールド/フレーム構造の画像信号を構成する画素からなるように、前記振り分け動作を行うことを特徴とする請求項1記載の動きベクトル探索装置。
The cache memory is
A plurality of bank memories each storing the reference image signal divided into a predetermined number of pixels among the predetermined number of pixels constituting the block;
A selector that distributes and stores the reference image signal from the second memory in the plurality of bank memories, and the selector includes a plurality of reference image signals that are simultaneously read from the plurality of bank memories. 2. The motion vector search apparatus according to claim 1, wherein the sorting operation is performed so that the pixels are pixels constituting an image signal having a desired field / frame structure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006060452A JP2007243366A (en) | 2006-03-07 | 2006-03-07 | Motion vector searching apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006060452A JP2007243366A (en) | 2006-03-07 | 2006-03-07 | Motion vector searching apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007243366A true JP2007243366A (en) | 2007-09-20 |
Family
ID=38588485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006060452A Pending JP2007243366A (en) | 2006-03-07 | 2006-03-07 | Motion vector searching apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007243366A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016201784A (en) * | 2015-04-09 | 2016-12-01 | 日本電信電話株式会社 | Reference image buffer |
-
2006
- 2006-03-07 JP JP2006060452A patent/JP2007243366A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016201784A (en) * | 2015-04-09 | 2016-12-01 | 日本電信電話株式会社 | Reference image buffer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0837662A (en) | Picture encoding/decoding device | |
US10123022B2 (en) | Picture encoding device, picture decoding device, and picture communication system | |
US20120243614A1 (en) | Alternative block coding order in video coding | |
JP2010146205A (en) | Cache memory device and image processing apparatus | |
JP2007293533A (en) | Processor system and data transfer method | |
US7929777B2 (en) | Variable length decoding device, variable length decoding method and image capturing system | |
JP4515922B2 (en) | Data holding device, image encoding device, and image decoding device | |
JP4117044B2 (en) | Quantizer in video signal coding system | |
JPH0759096A (en) | Video encoder and decoder | |
CN106254878A (en) | A kind of picture coding and coding/decoding method, image processing equipment | |
KR20170126934A (en) | Content-Adaptive B-Picture Pattern Video Encoding | |
JP4682384B2 (en) | 1/4 pixel luminance motion prediction mechanism, combined luminance motion prediction mechanism, and combined luminance / color difference motion prediction mechanism | |
CN100535939C (en) | Electronic device and a method in an electronic device for processing image data | |
JP2007243366A (en) | Motion vector searching apparatus | |
KR20050043607A (en) | Signal processing method and signal processing device | |
JP2008022134A5 (en) | ||
JPH1155676A (en) | Moving image data coder employing synchronization type memory | |
JP2006287583A (en) | Image data area acquisition and interpolation circuit | |
US20060227876A1 (en) | System, method, and apparatus for AC coefficient prediction | |
JP2006166308A (en) | Decoding apparatus and decoding method | |
JP2013042385A (en) | Image encoder and image decoder | |
CN100403276C (en) | Storage access method | |
JP5265984B2 (en) | Image encoding apparatus and decoding apparatus | |
JP2005160021A (en) | Signal processing method and signal processor | |
US20070071098A1 (en) | Image storage device for motion estimation and method of storing image data |