JP4185579B2 - パイプライン構造計算回路 - Google Patents
パイプライン構造計算回路 Download PDFInfo
- Publication number
- JP4185579B2 JP4185579B2 JP34311397A JP34311397A JP4185579B2 JP 4185579 B2 JP4185579 B2 JP 4185579B2 JP 34311397 A JP34311397 A JP 34311397A JP 34311397 A JP34311397 A JP 34311397A JP 4185579 B2 JP4185579 B2 JP 4185579B2
- Authority
- JP
- Japan
- Prior art keywords
- search window
- block
- pixel data
- register
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は画像信号の処理技術に関し、特にリアルタイム・ビデオ圧縮のための動き予測の技術に関する。
【0002】
【従来の技術及びその課題】
ディジタルビデオの転送および蓄積の用途において、信号情報の圧縮は非常に重要である。MPEG技術は、現在のディジタルビデオ(及びオーディオ)圧縮における国際標準である。
【0003】
図1は、MPEGビデオ符号化の一般的構造を示す。(a)は、オリジナル・ビデオ信号と復号化されたビデオ信号とを用いる動き予測を示し、(b)はオリジナル・ビデオ信号のみを用いる動き予測を示す。これら2つのアプローチにおける性能的な差はそれほどない。ビデオ符号化の機能ブロックとして、動き予測/補償ブロック1と差分信号圧縮ブロック2の主に2つがある。差分信号圧縮ブロック2は、離散コサイン変換、量子化、可変長符号化などを含む。
【0004】
動き予測は、例えば、ビデオの連続する画像フレームで同一又は非常によく似た画像セグメントを繰返しコード化することを避けることにより、時間的冗長性(temporal redundancy )を削除する技術である。フレーム内の各位置におけるビデオ信号は、動きによる相違を除くと前フレームと非常に類似している。動きは画素のグループ(画像サンプル)で起こり、この性質を使って、動きを画素ブロック(8×8,8×16又は16×16の画素)で効率的に追跡することができる。この技術は、一般にブロック・マッチングと呼ばれている。
【0005】
予測された動きのVベクトル及びHベクトル(V,Hはそれぞれ垂直方向、水平方向の動きを表す)は最良のマッチングが得られる相対アドレスとして定義される。動きベクトルは、候補動きベクトルの集合B={(Vベクトル,Hベクトル)}上で以下に示す「コスト関数」を最小化する元として求められる。
【0006】
【数1】
【0007】
ここで、VBP,HBPはそれぞれ垂直ブロック位置、水平ブロック位置を意味する。これらの値はそれぞれのリファレンス・ブロックの位置を表し、通常、ブロックの左上の画素座標によって決定される。IN は時間Nの画像を意味し、IN-1 は時間Nより1ユニット前の画像を意味する。
【0008】
図2は時間Nのリファレンス・ブロックと時間N−1の画像でのマッチング・ブロックとの間の動きベクトルの定義を示す。
動き予測において、リファレンス・ブロックは必ずオリジナル画像信号を使用する。マッチング・ブロックは、復号化された画像信号かオリジナル画像信号のいずれかを使用する。動き補償は、必ず、復号化された画像信号を用いて行われるが、動き予測はオリジナル画像信号を用いても推定の精度を損なうことはない。
【0009】
式(1)の計算は、各リファレンス・ブロックに対し実行するが、サーチ回数が大量となるため、膨大な計算量が必要となる。図3は、8×8画素のブロックサイズのマッチングのための従来の計算回路3を示し、第1列の左から2番目のブロック5を拡大して上部に図示している。なお、図及び説明の簡略化のため8×8のブロックサイズを選択して説明するが、この技術の効果は、マッチング・ブロックの大きさによって制限されることはない。
【0010】
図示した従来の回路において、8×8のリファレンス・ブロック信号サンプルは、図3の入力ポートbを通って内部8×8レジスタ(レジスタA)に先ずロードされる。その後サーチ・ウィンドウ・データが入力ポートaから入力される。入力ポートcには隣のブロックからローカル合計が入力される。コスト関数式(1)の値は回路からの最終出力(最も右側の加算器からの出力)として得られる。一つの計算結果が、各サーチブロック位置に対し得られる。各候補位置でのコスト関数の値は互いに比較され、最小値を与えるサーチブロック位置(動きベクトル)を決定する。この計算は、余り多くの計算を必要としないので図示した回路では省略している。
【0011】
リファレンス・ブロック・データがレジスタAにすべてセットされた後、同じ幅(この場合8画素)のサーチ・ウィンドウの画像信号が入力ポートaから連続して入力される。図4に、サーチ・ウィンドウの画像信号が連続して水平方向からマッチング回路に入力される方法を示す。この図ではマッチング動作の一列のみを示す。サーチ・ウィンドウ・ブロックの位置は水平にシフトする。図3のシェイドされたブロック群から最初の有効な出力が得られるのに8クロックかかることに注意されたい。この遅延は図5にも示されている。従来のブロック・マッチングでは図4に示すように、2次元の動作は1次元(水平か垂直)のマッチング動作の繰返しで行われていた。各1次元マッチング処理に対し図5に示すように計算結果が出力される前に8クロック追加される必要がある。
【0012】
マッチング動作において、図4及び図5の水平方向のサーチに加え、垂直方向にもサーチを実行する。図3の回路を使ってサーチを実行するとき、リファレンス・データのセットに必要な8クロックの遅延と各1次元サーチに対する8クロックの遅延が生じる。実際のマッチング・コスト関数値が得られる前にこれらの遅延が毎度許容(tolerate)される必要がある。この追加の遅延はリファレンス・ブロックの大きさとそのサーチング・ウィンドウの大きさが同等になるとき重大なオーバーヘッドになる。リファレンス・ウィンドウの大きさが16×16画素で、サーチング・ウィンドウの大きさが32×32画素の場合、典型的な例における回路の性能比率(得られる実際のコスト関数値の数に対する実際のクロック数)は32×32/(16+(16+32)×32)=66%である。
【0013】
【課題を達成するための手段及び作用】
本発明においては、回路の性能比率をほぼ100%まで改善する新規なアプローチを提供する。
本発明においては、ジグザグパスでサーチ・ウィンドウをスキャンすることにより、画像信号におけるリファレンス・ブロックとサーチ・ウィンドウ・ブロックとの間でブロックマッチングを行うための動き予測用のパイプライン構造計算回路であって、
水平シフトにより画素データのアップデートを行うと共に、サーチ・ウィンドウ・ブロックがサーチ・ウィンドウの端に到達すると垂直シフトにより画素データのアップデートを行うための、行及び列で構成されたサーチ・ウィンドウ用レジスタ群と、
上記サーチウィンドウ用レジスタ群で画素データの垂直シフトが行われる際に、ストアされた画素データを上記サーチ・ウィンドウ用レジスタ群の最下位列レジスタに入力する追加レジスタ列と
を含むパイプライン構造計算回路を提供する。
【0014】
【実施例】
本発明の一実施例を図面を参照して説明する。
上述の様に従来技術における性能の低下の主な原因は、最初のコスト関数値が出るまでの余分なクロック即ち遅延であることを示した。図3の回路3のシェイドされた部分の構造は、しばしば有限インパルス応答(以下FIR)フィルタを実行するために用いられる。FIRフィルタの通常の用途において、固定あるいは適応型であり得るが、フィルタは入力信号に対して常時適用されている。この場合、フィルタ応答のある量の初期オーバーヘッド又は遅延は、避けられないが重要な問題ではない。しかし、動き予測の場合のようにより短いセグメントに繰返しフィルタが適用されるときは、重大なオーバーヘッドとなり、このアプローチは適さない。
【0015】
この問題は、以下の3つの新しいアプローチを用いることによって解決できる。
(1)計算遅延を必要とするストリームライン計算の代わりに、計算オーバーヘッドを必要としない新たなパイプライン構造計算回路を用いる。
(2)マッチング・ブロック位置の垂直シフトに関連するオーバーヘッド遅延をなくすため、新しいシフトレジスタ構造を導入する。
(3)計算性能を最大限引き出すため、サーチ・ウィンドウを効率的にスキャンできるジグザグパスを用いる。
【0016】
上記(1)の要件に合う新しい回路構造の一例を図6に示す。図3の回路におけるレジスタのない計算コンポーネントが、レジスタを有する部品で置き換えられる。更に、マッチング・コスト関数を計算するこの図6の回路6に、2次元階層加算構造を取り入れることによりゲート数を削減し、回路に追加のレジスタを導入することによるゲート数の増加を補償する。結果として、図6で実現するゲート数は、図3のものとほぼ同じになる。図6には図3と同様に、一つのブロック7の拡大ブロック図も示してある。図6の回路6において、レジスタBの内容(サーチ・ウィンドウ・データ)は以下に説明するように1セットの新たな値に同時に変更することができる。これはストリーム・ライン回路構造ではなく完全にパイプライン化された加算構造を用いることにより可能となるものであり、図3の回路ではそのような動作はできない。
【0017】
図7に、本発明の一実施例における水平及び垂直ウィンドウ・シフト動作のためのレジスタBの構造を示す。従来の8×8サーチ・ウィンドウに対応する8×8レジスタ群8に加えて、1×8レジスタの1つの追加列9が提供され、従来のサーチ・ウィンドウ・ブロックの真下のラインで画素データをストアする。水平ウィンドウ・シフトでは、レジスタ・データは水平シフトによってアップデートされる。サーチ・ウィンドウの両端での垂直シフトでは、レジスタ・データは垂直シフトによってアップデートされる。これにより、オーバーヘッド遅延なくサーチ・ウィンドウがセットされる。追加レジスタ列9もサーチ・ウィンドウ・ブロックが水平にシフトするときに画素データで満たされる。図8を用いて再度説明すると、サーチ・ウィンドウ・ブロックが図8に示すジグザグパスのサーチ・ウィンドウのどちらかの端に到達すると、8×8レジスタ群8の内容は図7に示すように垂直方向にシフトされる。この動作が、図6の入力ポートaから初期サーチ・ウィンドウ・データを再ロードすることなく、新しいサーチ・ウィンドウ位置に対応するサーチ・ウィンドウ・データを瞬時にロードする。サーチ・ウィンドウ・ブロックの水平シフトの間、新しいデータは図6の入力ポートaから9列のレジスタ列すべてに入力され、データの最下列は、ブロック位置がウィンドウの端で垂直にシフトされるとき用いられる。
【0018】
この3つの技術を共に用いれば、オーバーヘッドはリファレンス・ブロック・データ及びサーチ・ウィンドウ・ブロック・データをロードするために必要な初期クロックのみとなる。この初期オーバーヘッドは、全体マッチング動作を終了するのに必要とされるクロック数と比べてわずかであるため、重大なオーバーヘッドを起こすことなく、図8に示すジグザグパスの動き予測動作を完全に行うことができる。そしてそのオーバーヘッドのない加算構造がコスト関数式(1)の連続計算を可能にする。
以上一実施例につき説明したが本発明はこれに限られるものではない。
【0019】
【発明の効果】
リアルタイム・ビデオ圧縮のための動き予測を効率的にかつ小型ハードウェアで実現できる。
【図面の簡単な説明】
【図1】従来のビデオ符号化構造を示すブロック図。
【図2】リファレンス・ブロックのアドレスと、マッチングされたブロックのアドレスとの相対的な関係を説明する図。
【図3】コスト関数式(1)を計算する典型的な回路構造。
【図4】リファレンス・ブロックとサーチ・ターゲット・ウィンドウとのブロック・マッチングを説明する図。
【図5】従来のブロックマッチングにおける実際の処理を説明する図。
【図6】本発明の一実施例に係る階層加算回路構造を示すブロック図。
【図7】本発明の一実施例における水平及び垂直ウィンドウ・シフト動作のための新規のレジスタ(レジスタB)構造を示す図。
【図8】サーチ・ターゲット・ウィンドウ内のジグザグパスのサーチを説明する図。
【符号の説明】
8 サーチ・ウィンドウ用レジスタ群
9 追加レジスタ列
Claims (1)
- 水平方向と垂直方向の移動によるジグザグパスでサーチ・ウィンドウをスキャンすることにより、画像信号におけるリファレンス・ブロックとサーチ・ウィンドウ・ブロックとの間でブロックマッチングを行うための動き予測用のパイプライン構造計算回路であって、
リファレンス・ブロックに対応する画素データをストアするリファレンス・ブロック用レジスタ群と、
サーチ・ウィンドウ・ブロックに対応する画素データをストアするサーチ・ウィンドウ用レジスタ群と、
サーチ・ウィンドウ・ブロックに隣接するラインの画素データをストアする追加レジスタ列と、
上記リファレンス・ブロック用レジスタ群にストアされた画素データと上記サーチ・ウィンドウ用レジスタ群にストアされた画素データとの各々の画素間差分を計算し、それら画素間差分に基づいてリファレンス・ブロックとサーチ・ウィンドウ・ブロックとの間のブロック間差分を計算する計算ユニットと、
を含み、
上記サーチ・ウィンドウ用レジスタ群と上記追加レジスタ列の各レジスタが、画素データを水平方向及び垂直方向に互いにシフト可能なように接続されており、
サーチ・ウィンドウ・ブロックのサーチ・ウィンドウ内における水平シフトにより、上記サーチ・ウィンドウ用レジスタ群と上記追加レジスタ列とに画素データが並列的に入力されて上記サーチ・ウィンドウ用レジスタ群及び上記追加レジスタ列の画素データの水平方向のアップデートが行われ、
サーチ・ウィンドウ・ブロックがサーチ・ウィンドウの端に到達した際のサーチ・ウィンドウ・ブロックの垂直シフトにより、上記追加レジスタ列の画素データが上記サーチ・ウィンドウ用レジスタ群へ垂直シフトされることで上記サーチ・ウィンドウ用レジスタ群の画素データのアップデートが行われる、
パイプライン構造計算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34311397A JP4185579B2 (ja) | 1997-12-12 | 1997-12-12 | パイプライン構造計算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34311397A JP4185579B2 (ja) | 1997-12-12 | 1997-12-12 | パイプライン構造計算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11196421A JPH11196421A (ja) | 1999-07-21 |
JP4185579B2 true JP4185579B2 (ja) | 2008-11-26 |
Family
ID=18359043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34311397A Expired - Fee Related JP4185579B2 (ja) | 1997-12-12 | 1997-12-12 | パイプライン構造計算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4185579B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11346369A (ja) | 1998-06-01 | 1999-12-14 | Nec Corp | 動ベクトル検出回路 |
-
1997
- 1997-12-12 JP JP34311397A patent/JP4185579B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11196421A (ja) | 1999-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8218635B2 (en) | Systolic-array based systems and methods for performing block matching in motion compensation | |
US7408988B2 (en) | Motion estimation engine with parallel interpolation and search hardware | |
KR100203913B1 (ko) | 모션 벡터 생성기 | |
TW595230B (en) | Method and apparatus for motion estimation with all binary representation | |
KR100486249B1 (ko) | 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법 | |
US7782957B2 (en) | Motion estimation circuit and operating method thereof | |
US20050232361A1 (en) | Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors | |
US20060171464A1 (en) | Method and apparatus for motion estimation | |
KR101578052B1 (ko) | 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치 | |
US5784108A (en) | Apparatus for and method of reducing the memory bandwidth requirements of a systolic array | |
US8135224B2 (en) | Generating image data | |
Pan et al. | VLSI architectures for block matching algorithms using systolic arrays | |
US6016163A (en) | Methods and apparatus for comparing blocks of pixels | |
Baglietto et al. | Parallel implementation of the full search block matching algorithm for motion estimation | |
JP4185579B2 (ja) | パイプライン構造計算回路 | |
Baek et al. | A fast array architecture for block matching algorithm | |
US7756351B2 (en) | Low power, high performance transform coprocessor for video compression | |
EP1420595B1 (en) | Motion vector selection in a video motion estimator based on a preferred reference point | |
JPH07222161A (ja) | 空間情報を用いた動き検出回路及びその方法 | |
Jung et al. | A VLSI architecture for the alternative subsampling-based block matching algorithm | |
US5930403A (en) | Method and apparatus for half pixel SAD generation utilizing a FIFO based systolic processor | |
Nam et al. | High-throughput block-matching VLSI architecture with low memory bandwidth | |
US6594396B1 (en) | Adaptive difference computing element and motion estimation apparatus dynamically adapting to input data | |
JP3580612B2 (ja) | 動画像符号化装置の動き検出装置 | |
JPH0540828A (ja) | ブロツクマツチング探索方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070926 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071001 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071026 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071031 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071126 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071226 |
|
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: 20080902 |
|
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: 20080908 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |