JP2964633B2 - 画像信号符号化装置及び方法 - Google Patents

画像信号符号化装置及び方法

Info

Publication number
JP2964633B2
JP2964633B2 JP33849390A JP33849390A JP2964633B2 JP 2964633 B2 JP2964633 B2 JP 2964633B2 JP 33849390 A JP33849390 A JP 33849390A JP 33849390 A JP33849390 A JP 33849390A JP 2964633 B2 JP2964633 B2 JP 2964633B2
Authority
JP
Japan
Prior art keywords
block
data
image signal
frame
orthogonal transformation
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
Application number
JP33849390A
Other languages
English (en)
Other versions
JPH04207789A (ja
Inventor
清一郎 岩瀬
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP33849390A priority Critical patent/JP2964633B2/ja
Publication of JPH04207789A publication Critical patent/JPH04207789A/ja
Application granted granted Critical
Publication of JP2964633B2 publication Critical patent/JP2964633B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、動き補償とフレーム間符号化とを組み合
わせた画像信号符号化装置及び方法に関する。
〔発明の概要〕
この発明は、動き補償とフレーム間符号化とを組み合
わせた帯域圧縮装置において、 現フレームの入力画像データとずれた複数の位置に夫
々対応する前フレームの画像データを発生する遅延回路
と、 現フレームの入力画像データと複数の前フレームの画
像データとの直交変換符号化した後の差分を形成する回
路と、 差分の中でデータ圧縮効果の最も高い位置を検出し、
この検出された位置の差分を選択的に出力する回路と からなることを特徴とする帯域圧縮装置である。この発
明は、ベクトル検出装置に必要とされるフレームメモリ
と、符号化のために必要とされるフレームメモリとを兼
用できると共に、動き補償の精度を高くすることができ
る。
〔従来の技術および解決しようとする課題〕
動きベクトルの検出について、最初に説明する。ここ
では、1枚の画像(フレームとする。ここでは、インタ
ーレースは考えないとする)を第26図のように水平H画
素、垂直Vラインであるとする。そして、その画面をP
画素×Qラインのブロックに細分化するものとする。第
27図は1つのブロックを示している。この場合はP=
5、Q=5の例である。Cと示したのはこのブロックの
中心画素位置である。
第28図ではCを中心画素とするブロックとC′を中心
とするブロックの位置関係を示しており、前者を現フレ
ームの注目しているあるブロックとする時、その画像と
一致するブロックが前フレームにおいてC′を中心とす
るブロックの位置にあるものとしている。第28A図は、
水平方向に+1画素、垂直方向に+1ラインの動きベク
トルの場合である。第28図Bは、水平方向に+3画素、
垂直方向に+3ラインの動きベクトルの場合である。第
28図Cは、水平方向に+2画素、垂直方向に−1ライン
の動きベクトルの場合である。一般に、動きベクトルは
現フレームの各ブロックごとに求められる。
動きベクトルを検出する範囲を水平に±S画素、垂直
に±Tラインの範囲とする時、現フレームのあるブロッ
クは、その中心Cに対して、水平に±S、垂直に±Tず
れた所にC′がある種々の前フレームのブロックと比較
されねばならない。第29図は現フレームのあるブロック
の中心Cの位置をRとする時に、比較すべき前フレーム
の(2S+1)×(2T+1)個のブロックとの比較が必要
なことを示している。即ち、この第29図のます目の位置
にC′がある前フレームのブロックの全てが比較対象で
ある。第29図はS=4、T=3とした例である。
以下P=5、Q=5、S=4、T=3の例で説明する
ことにする。
見方を変えると、現フレームの注目するあるブロック
を第30図の内側の中央部の5画素×5ラインの位置と考
える時、前フレームの同じ位置を中心にした水平±S画
素、垂直±Tラインを含む第30図の外側の(P+2S)画
素×(Q+2T)ラインの太線の内部に置きうる全ての5
画素×5ラインの領域が比較される対象となる。
動きベクトル検出は、しばしば実現上の簡単化のた
め、間引いて考えることがある。即ち、上述の例では水
平±S画素、垂直±Tラインの範囲で全て位置関係につ
いて比較するとしているが、この比較のうちいくつかの
組合せの比較を省略することがある。しかし、以下の説
明では説明の簡単化のため、全ての組合せを比較するも
のとして話を進める。
第31図は動きベクトル検出の構成概念図である。入力
端子101から供給されるデータaが現フレーム画像デー
タであり、データbがフレームメモリ102により1フレ
ーム遅延された1フレーム前の画像データである。前フ
レームのデータbが遅延部103により第28図のようない
ろいろな位置関係のデータとなり、その各々がデータa
と比較される。ブロック比較部104は、各ずれ位置ごと
の画像の一致の度合い(マッチ度)を出力し、判定部10
5がマッチ度を比較して最も妥当なずれの量、即ち、動
きベクトルを出力端子106に出力する。
この第31図に示す動きベクトル検出のハードウェアは
フレームメモリ102のほか、遅延部103とブロック比較部
104に大容量のメモリが必要とされ、また、比較が間引
かれないとブロック比較部104の演算部も大規模とな
り、更に、判定部105も、その方法によっては大規模に
なる。従って、動きベクトル検出が利用されるシステム
の中でそのハードウェア量はかなりの比率を占めるとい
う問題がある。
動きベクトルの検出をソフトウェアで行うことも提案
されている(特開昭61−105178号公報参照)。しかしな
がら、ソフトウェアの処理速度の制約から、比較および
判定の方法として、かなり簡略化されたものを使用せざ
るをえず、検出された動きベクトルの精度が低い問題が
生じる。
この発明は、第31図のうち判定部105を除く遅延部103
およびブロック比較部104の部分、特に、遅延部103につ
いてハードウェア量を少なくすることに関する。
第32図、第33図が第1の従来例である。第32図は、第
31図のフレームメモリ102と遅延部103の部分に相当す
る。
第32図でFがフレームメモリ102で1フレーム入力デ
ータを遅延させる。Hが1水平走査(ライン)分の遅延
回路である。また、文字が付されていない四角が1画素
分の遅延回路、即ち、レジスタである。更に、(H−
9)と書いてあるのは1ライン分の画素数より9画素分
少ない遅延回路で、その他の9画素分のレジスタと合わ
せて1ライン分の遅延になる。
現フレームの入力データaが破線で囲んだ遅延回路10
7により、3ライン分および5画素、遅延されて、ブロ
ックの中心の位置Rとなり、出力端子108に取り出され
る。
データbは、データaと1フレームの差があるので、
データaおよびbは、全く同じ画素位置のデータであ
る。そして、第32図のように、9段のレジスタと(H−
9)遅延回路とが直列接続されているので、データbか
ら3ラインと5画素分遅延したC(0,0)のタップが、
Rとちょうど1フレームの時間差となる。
第32図の入力端子101には、通常の画像信号と同様
に、水平走査したデータ列が来るとする。するとあるタ
イミングで止めた時、{C(i,j)}(i=−Sn+S,j=
−Tn+T)には、丁度、現フレームのRの画素に対して
前フレームのその位置の周辺の第29図の画素が得られる
ようになっている。例えばC(1,0)にはC(0,0)
(R)に対して水平に1画素分古いもので、第29図がデ
ィスプレイ画面とすればRの左隣りの画素のデータが得
られる。
動きベクトルを得るには、この第32図の各タップを使
って次のような処理をする。即ち、{C(i,j)}(i
=−Sn+S,j=Tn+T)の各タップには、第29図の各ず
れた位置ごとのデータが得られるので、ブロック比較部
104により、それぞれのタップとRを比較し、マッチ度
(画像の一致の度合い)を演算し、各(i,j)ごとにそ
の結果を得る。そして、その結果を判定部105で判定し
て妥当な動きベクトル(i,j)を選び出す。場合によっ
ては、i,jは整数ではなく、実数として決めることもあ
る。
そこで次は各(i,j)ごとのマッチ度の求め方だか、
それは第33図の構成でなされる。この第33図の回路は各
C(i,j)ごとに必要である。即ち、ブロック比較を間
引かないので、第33図の回路は(2S+1)×(2T+1)
個必要である。
第33図では各C(i,j)について、第28図のようなブ
ロック比較をしたいのであって、Rからは第30図の内側
中央部のブロックの各画素を得、またあるC(i,j)の
タップからは前フレームの水平にi画素、垂直にjライ
ンずれたブロックの各画素を得、両ブロック内の対応す
る位置ごとに減算回路109により差をとり、絶対値化回
路110により絶対値をとり、それを1ブロックを構成す
る全画素数、即ち、P×Q、加算回路111およびメモリ1
12により累算し、この累算出力を(i,j)についてのマ
ッチ度としている。
なお、ここでは差の絶対値(ABS)をとる例を示した
が、差の自乗などを使うこともある。
ここまでの説明はまだ不充分なところがある。それは
第32図の入力は水平走査されていて、R及び各C(i,
j)のタップには時間的にシフトするだけで基本的に同
じ水平走査されたデータが出力されるので、第28図のよ
うなブロックごとに比較ができないことである。しか
し、それは第33図のアキュムレータにメモリ112を持っ
ていることで解決される。
もし、第33図のRとC(i,j)の両入力に第28図の各
組合せのようなブロックの対応する各画素が順に得られ
ればよいが、水平走査されているのでそのRとC(i,
j)の入力にはブロックの最初のラインの各画素があら
われたあと、次のラインに移らずに隣りのブロックの比
較のためのデータになってしまい、第26図の上で水平に
並ぶH/P個のブロック分進んだ後、やっと元のブロック
比較の2番目のラインの各画素の比較に入れることにな
るのである。よって、マッチ度を得るための累算は、1
ランインごとに計算途中で保留し、隣のブロック比較の
ための累算に変えていけば良い。このために、累算用の
メモリとしてH/P個以上のワードの記憶ができるメモリ1
12が設けられている。
第34図は、このメモリ112を説明するもので、n=H/P
として考えており、bk(k=0〜n−1)は演算途中の
格納用の各アドレスの内容である。
また、第33図で、113がアドレス発生回路で、このア
ドレス発生回路113は、1ブロックを構成する水平画素
数に相当するPサイクルごとにアドレスをインクリメン
トし、1水平走査終了後アドレス“0"にもどす動作を行
い、第34図のようなメモリアドレス割当ての回路を制御
できる。
また、画面に水平方向に並ぶH/P個のブロック数ごと
にブロックマッチングのための累算がリセットされる必
要がある。このリセットは、メモリ112のb0〜bn-1を全
て“0"にしてもよいし、或いは各ブロック比較の最初の
画素の累算の時にメモリに“0"をあらかじめ記憶したア
ドレスZを選ぶように、アドレス発生回路113を構成し
ても良い。
第32図でRの位置のデータを得るために(3H+5)の
遅延を与えているが、これはフレーム遅延(F)におい
てこれを(F=−3H−5)の遅延回路とすることにより
省略することが可能である。
第34図のように、累算のためのメモリ112として、n
=H/Pのワード栓を用意しているが、これは第26図の各
ブロックごとに動きベクトルを求めようとしているから
である。若し、1フレームにつき1つの動きベクトルを
得るというような時は1ワードでよいし、その方針によ
って必要なワード線が異なる。
第32図、第33図による回路は実現可能で制御も比較的
簡単だが、大規模なハードウェアとなることが問題であ
る。
ハードウェアのうちフレームメモリ102と、ブロック
比較のための第33図の演算回路(109、110、111)は、
原理的に不可欠なものである。(H−9)の多数の遅延
回路と各累算用のH/Pワードづつのメモリ112は、実現上
の問題、即ち、構造上必要になっただけで本質的に必要
なものではないので別の構成法でこれを省くことが望ま
しい。
これらの遅延回路及びメモリは入力データが水平走査
しているごとに起因して必要となっている。即ち、通常
の第35図Aのように、水平走査をしている入力に対して
第28図のようなブロックの比較をするためには、メモリ
が必要となるからである。
よって、それを避けるためにはブロックに合わせた走
査方法、即ち、第35図Bのように、ブロック単位の水平
走査をしたデータ列を入力に使えば良い。
そこで考えられる第2の従来例は、入力データ列aと
しては、第35B図のようにブロックごとに走査したデー
タを用いる一方、1フレーム遅延したデータ列bとして
は、データaの側が通過中のブロックを第30図の中央部
のものとする時の外側の広い領域について、この領域内
で走査するようなデータ列をつくりブロック比較をする
方法である。
この場合、両データ列はデータ数が異なるので次のよ
うな工夫が必要である。即ち、データ列aは1つのブロ
ック比較単位が(P×Q)画素分であるのに対し、デー
タ列bの側は{(2S+P)×(2T+Q)}画素分なので
その比の分だけクロックを上げ、第36図のタイムチャー
トで動作させることである。即ち、第35図Bのように走
査する時は、データ列aが第36Aのようなタイミングと
なるはずであるが、このデータ列aのレイトを上げて、
第36Bのようなタイミングとする。このクロックの周波
数の比は、 (2S+P)・(2T+Q)÷P・Q である。その結果、データが存在しないタイムストロッ
トが生ずるようになる。一方、データ列b側は、第36図
Cのようになる。
第37図において、走査変換回路115は、入力データ列
aを第36図Bのように変換する回路であり、走査変換回
路116は、フレームメモリ102′からのデータ列bを第36
図Cのように変換する回路である。この走査変換がされ
たデータ列b′は、第37図のように、第32図と同様の
(2S+1)×(2T+1)段のシフトレジスタからなる遅
延部に供給され、第33図の構成でブロック比較がなされ
る。この第2の従来例は、第1の従来例(第32図)の
(H−9)の遅延回路が不要となり、第33図のアキュム
レータのメモリが1ワードづつで良いことになる。
但し、第36図Cから判るように、データ列b′のは水
平に(P+2S)画素があり、2S画素分の余分があり、ま
た、垂直には、同様に2Tライン余分があるので、その余
分な画素の所で累算動作を止める制御が必要である。
第37図で、102′が付されたP−32はフレーム遅延よ
り32画素分少ない遅延という意味で、RとC(0,0)の
タイミングを1フレーム差にするためのものである。
テレビジョン走査から(P×Q)のブロック単位の走
査変換は、第35図Aのような走査からブロック単位の第
35図Bの走査に変換するもので、このためにはブロック
の垂直長さ分のラインメモリが最低必要でハードウェア
的にあまり小さくない。しかし、動きベクトル検出が必
要とされる帯域圧縮などの用途で、種々の目的で第35図
Bの走査が必要とされるので、第36図AのようなP×Q
の走査変換は必ずしも負担ではない。しかしながら、第
36図Bのように、a′のようなデータ列にするとか、第
36図Cのように、(P+2S)・(Q+2T)の走査変換
は、他の処理に使われず、このためだけのものであり負
担である。
なお、この(P+2S)・(Q+2T)の走査変換は正確
には、水平に2S画素、垂直に2Tラインだけオーバーラッ
プさせながら第35図Bの如く走査するものである。
上述の第2の従来例は(P+2S)×(Q+2T)段のシ
フトレジスタが(H−9)の遅延回路群に比べてハード
ウェアとして簡単なので、第1の従来例と比較すると、
遅延部が簡単になり、またアキュムレータのメモリも単
なるレジスタで良く、かなりの効果があるる。反面、P
×Q走査変換及び(P+2S)・(Q+2T)走査変換が必
要で、そのためには第32図の(H−9)遅延回路群より
多いメモリが必要となるし、また走査変換後には、デー
タレートが (P+2S)×(Q+2T)÷P×Q 倍データレートが上昇し、更に、累算の制御が必要にな
るというような問題がある。
また、検出された動きベクトルにより、いろいろな画
像処理で動きベクトル補償がなされる。
これは1枚フレーム或いはフィールドの上だけではで
きない処理の場合に、画面に写っている動画像の動きを
考慮しないとフレーム間或いはフィールド間の処理がで
きないからである。具体的には画像の帯域圧縮の際にし
ばしば必要とされるが、ほかにY/C分離とかノンインタ
ーレース化といった時にも必要となる。
動きベクトル補償は、まず2つのフレーム(或いはフ
ィールド)を比較して動きベクトル即ち両者の画像のず
れを得て、その分だけどちらかのフレーム(フィール
ド)をずらして両者を重ね合わさるようにすることであ
る。
本来、動画というのは動体が単に平行移動するのみな
らず回転や拡大縮小も伴っているのであるが、現状の画
像処理技術では動きベクトルという形で平行移動分のみ
を検出しこれを考慮しようとしているのである。動きベ
クトル検出の方法としては、上述のように、一般に画像
を小さな四角のブロックに分けてそのブロック単位に動
きベクトルを得るのが一般的である。動きベクトルを検
出し、動き補償をするような時に問題となるのは (1)ブロックマッチングの結果として、マッチの度合
いの関数が、多数の極小値を持つ時の判断の仕方 (2)ブロックに1つのベクトルしか得ないから、複数
の動きがある場合は論外としても、単純な動きでも動体
の輪郭部になるブロックとか小さな孤立動体を含むブロ
ックも救えない。
例えば第39図のように自動車が右方向へ動いている
時、この画面では、 (1)C−c、C−dのブロックではブロックマッチン
グで自動車の動きをとらえることができる。
(2)B−b、B−c、B−d、B−e、C−b、C−
e、D−b、D−c、D−d、D−eのブロックは動体
の輪郭に相当し、ブロック内に2つの動きベクトルがあ
るので、動きベクトルの決定が面倒である。
(3)上記(1),(2)以外のブロックは静止であ
り、これは動きベクトルをとらえることができる。
従来では、第31図の判定部105において、第41図のよ
うな手順で動きベクトルを検出し、この動きベクトルで
動き補償をしている。この判定部105は、第38図のよう
に、ブロック比較後の各ずれの位置ごとの段差が供給さ
れる段差比較回路120と、比較およびノイズ除去回路121
とからなる。比較およびノイズ除去回路121には、残差
比較回路120から残差が最小の極小値の位置とその量、
残差が2番目に少ない極小値の位置とその量、残差が3
番目に少ない極小値の位置とその量が供給される。そし
て、比較およびノイズ除去回路121では、ノイズと思わ
れるものの除去と、残差の大小比較とがなされる。その
結果、動き補償の可否を示す判定信号と、ANDゲート123
を介された動きベクトルとが出力される。
この従来の判定部は、第41図のように、ブロックマッ
チングがなされ(ステップ124)、マッチ度の極小の検
出がなされる(ステップ125)。この極小点のベクトル
がマッチ度順にソーティングされ(ステップ126)、有
意な(そのベクトルの動き物体が存在すると判定され
る)極小点が決定される(ステップ127)。この極小点
のピーク数が検査され(ステップ128)、ピーク点が1
個の時には、動き補償がされ(ステップ129)、その他
の場合では、動き補償がされない。
このような判定の手順において、微小の検出、極小点
ベクトルのマッチ度順のソーティング、有意な極小点の
決定の方法としてはいろいろなアルゴリズムが考えら
れ、概して複雑な操作である。つまり、画一的、単純繰
り返しの操作ではなく、判断が多く、判断により次の操
作がきまるというような操作である。
ブロックマッチングにおいて動きベクトルを探す範囲
を水平(x軸)に±S画素、垂直に±T画素とする時に
それぞれの動きベクトル量(x,y)(x=±S,y=±T)
ごとに画像ブロックのフレーム差(フィールド差)が積
算され、第40図のように、等高線表示されるような3次
元的なデータが得られる。この3次元的なデータの中の
極小値がマッチ度の極小である。
例えば第40図Aは、カメラのパニングの時の背景とか
動体内部の場合などであるベクトルの所に極小値が存在
する。第40図Bは、動体輪郭部の場合などで2つの極小
が(2つのベクトルが)存在している。
なお、動体輪郭部とは、例えば39図のD−bで第42図
のようなブロックを言う。
従来の動きベクトルの判定部および動き補償の欠点
は、 (1)動きベクトル検出手順、即ちブロックマッチング
の結果のマッチ度の分布から有意な極小点を決定する手
順が複雑である。
(2)ブロックに1つのベクトルしか得られないので、
動体の輪郭部が補償できず、従って輪郭のぼけた動画像
になりやすい。
ことである。
この発明は、かかる欠点を除去することを目的とする
ものである。
更に、動き補償を用いたフレーム間符号化が知られて
いる。フレーム間符号化は画像信号を伝送するための帯
域圧縮で用いられており、動き補償とフレーム間差分を
組合せた符号化方式は、簡単には第43図にような構成で
実現される。第43図の動作原理等は、例えば下記の文献
を参照されたい。
(「TV画像の多次元信号処理」吹抜著、日刊工業新聞、
P266〜P280、例えばこの中のP274の図7,29) 第43図でDCTと示す132は、離散的コサイン変換回路、
IDCTで示す133は、その逆変換回路、135は、フレーム遅
延をつくるフレームメモリである。入力データが動きベ
クトル検出回路136に供給されると共に、減算回路131に
供給され、フレームメモリ135からの前フレームの局部
復号出力と減算される。局部復号が逆変換回路133およ
び加算回路134で形成される。離散的コサイン変換回路1
32から発生する符号化データが符号割当て回路137によ
り、ハフマン符号などの符号化によってデータ量が縮小
される。
このような中でフレームメモリ(FM)の動き補償は、
第43図中央のループの外に動きベクトル検出回路136を
持ち、その出力である動きベクトルにより実現される。
前述のように、動きベクトル検出回路130は、帯域圧縮
装置(第43図)で必要なフレームメモリ135とは別にフ
レームメモリを必要とする問題がある。
従って、このように、動きベクトルの検出と帯域圧縮
とのそれぞれでフレームメモリを必要とすることは、問
題である。
この発明は、この両者を兼用して、一つのフレームメ
モリで構成できる画像信号符号化装置及び方法を提供し
ようとするものである。
〔課題を解決するための手段〕
請求項1の発明は、複数の画素データからなる画像信
号を複数のブロックに分割し、ブロック毎にフレーム間
動き補償とフレーム間差分データの直交交換を組み合わ
せた符号化を行う画像信号符号化装置において、 フレームメモリに蓄えられた参照画像信号の所定の範
囲から複数の参照ブロックを生成する手段と、 入力画像信号の基準ブロックと複数の参照ブロックと
のそれぞれの差分データを生成する複数の差分データ生
成手段と、 複数の差分データのそれぞれについて直交変換を行う
複数の直交変換手段と、 複数の直交変換手段からの出力に基づいて複数の参照
ブロックから一の参照ブロックを選択し、基準ブロック
と選択された参照ブロックとの間の動きベクトルを検出
する手段と、 選択された参照ブロックに対応する直交変換手段が出
力するデータを、基準ブロックの画像信号を帯域圧縮し
た符号化データとして選択する手段とを備えたことを特
徴とする画像信号符号化装置である。請求項2の発明
は、上述のように画像信号を符号化するようにした符号
化方法である。
また、請求項3の発明は、複数の画素データからなる
画像信号を複数のブロックに分割し、ブロック毎にフレ
ーム間動き補償とフレーム間差分データの直交変換を組
み合わせた符号化を行う画像信号符号化装置において、 フレームメモリに蓄えられた参照画像信号の所定の範
囲から複数の参照ブロックを生成する手段と、 入力画像信号の基準ブロックに対して直交変換を行う
第1の直交変換手段と、 複数の参照ブロックのそれぞれに対して直交変換を行
う複数の第2の直交変換手段と、 第1の直交変換手段の出力データと複数の第2の直交
変換手段のそれぞれの出力データとの差分データを生成
する複数の差分データ生成手段と、 複数の差分データ生成手段からの出力に基づいて複数
の参照ブロックから一の参照ブロックを選択し、基準ブ
ロックと選択された参照ブロックとの間の動きベクトル
を検出する手段と、 選択された参照ブロックに対応する差分データ生成手
段が出力するデータを、基準ブロックの画像信号を帯域
圧縮した符号化データとして選択する手段とを備えたこ
とを特徴とする画像信号符号化装置である。請求項4の
発明は、上述のように画像信号を符号化するようにした
符号化方法である。
〔作用〕
ベクトル検出装置のフレームメモリと、符号化のため
のフレームメモリとを兼用できると共に、動き補償の精
度を高くすることができる。
〔実施例〕
以下、この発明の実施例について、図面を参照して説
明する。以下の説明は、ブロックマッチングのための好
適な実施例、動きベクトルの検出時の判定部の好適な実
施例、フレーム補償を組み合わせたフレーム間符号化、
即ち、帯域圧縮装置の好適な実施例について、順に述べ
られている。
まずブロックマッチングに関するこの発明の一実施例
について説明する。この実施例では入力データはP×Q
走査変換がすでになされていると考える。即ち、第35図
Bおよび第35図Aのデータ列で入力されるとする。前に
も述べたように、1回のP×Q走査変換は負担ではない
ことに注意されたい。
第1図の回路を使うとRに対してその前フレームのそ
のRの出力画素の周辺がちょうど画面の上下左右を逆に
した形で各タップに得られることになる。
ここでフレームメモリ102は、3つの出力を待ち、出
力eは1フレームより5Hと50画素少ない遅延(F−5H−
50)、出力fが1フレームより50画素分少ない遅延(F
−50)、出力gが1フレームより5H多く50画素少ない遅
延(F+5H−50)である。
また各e、f、gにつながるシフトレジスタはブロッ
ク内の走査の如く接続され、その各々がタップを有して
いる。なお、50画素とはP×Qの2倍のことである。そ
して第1図でdで示すfから50画素分シフトレジスタで
遅延された所のタップがRと丁度、1フレームの時間差
となるタップである。
なおe′、f′、g′に対して、各々それまでと同様
の回路が続くと考えてよいが、後述のようにその必要が
ない。またfやgはe′やf′に対して遅延回路をつけ
ても得ることができるが、ここではフレームメモリから
得られるものとしている。
まずRに現フレームのあるブロックの先頭データが現
れたタイミングを考えると、その時そこから後の25画素
はそのブロックの各画素であり、その時、同時にdには
画面上そのブロックと同じ位置の前フレームのブロック
の先頭データが現れており、そこから後の25画素はそれ
ぞれR側と画面上位置が対応するデータが順次得られ
る。
よってこの25画素の期間を第33図の構成中のメモリ11
2を単なるレジスタにした回路でブロック比較すると、
C(0,0)のタップの場合と同じマッチ度が得られる。
第1図の各タップをその配列の通りに略記するのが第
2図である。ここで2本線による区切りは1ブロック分
(P×Q=25画素)のシフトレジスタ段の区切りであ
る。第2図以後も常に第1図のように接続されているこ
とを念頭において考える。第2図のような図では画面と
比べると、画素の並びが上下と左右で逆になっている。
さて、次に水平方向に−2画素ずれた場合、即ち、C
(−2,0)とRのブロック比較を考える。この場合でも
R側は現フレームのあるブロックの先頭データがRに現
れたタイミングから考える。そのブロックに相当する前
フレームの25画素はその時、第2図の点線の領域のレジ
スタにある。さて、水平方向に−2画素ずれたブロック
は、同じその時に実線の領域のレジスタにある。この領
域は2本線をまたいでおり、シフトレジスタはこの2本
線の間では水平にはつながっていないので、この2本線
の右側と左側で分けて考える必要がある。
まず、右側ではC(−2,0)のタップとして第1図の
dから水平に−2画素ずれたC′でよい。しかし、C′
のタップではブロックの先頭画素から続く3画素はよい
が、その次の2画素は領域外となり、その後の3画素は
有効でまた、その後の2画素は外のものということにな
る。
次に左側の部分についてだが、この部分の図上一番右
下の画素について考えると、ブロックの先頭データが
C′にいる時から3サイクル後にC′のタップにあらわ
れるべきものなので、これは実はC″のタップになって
しまう。即ち、この左側の部分についてはC″をタップ
とすれば良いことがわかる。そしてC′のタップで実線
の領域から出てしまうタイミングでは、C″を選ぶよう
にC′とC″を選択すればよいことがわかる。
結局、水平に−i画素(0<i≦S)ずれたブロック
マッチングは、シフトレジスタでdよりiタップ手前の
タップと、dよりP×Q−iタップ手前の2つのタップ
を使いそれをP−iサイクルとiサイクルごとに選択す
ることにより、比較回路に必要なデータを供給すること
ができる。
同様に垂直に例えば−2画素ずれたケースを考える
と、一点鎖線の領域を前フレームの比較用ブロックとし
て考えねばならないから、今度は上下に別のシフトレジ
スタ列をまたがってしまう。しかし、この場合も同様に
考えてCとC′を選択するようにすればよいことが
直ぐにわかる。
即ち、垂直に−j画素(0<j≦T)ずれたブロック
マッチングは、シフトレジスタでdよりj×Qタップと
dより{H×Q−(Q−j)×P}タップ手前のタップ
(言い換えると後者はfからdまでと同じ遅延分だけe
から遅延した所d′より(Q−i)×Pタップ後のタッ
プ)を前半のj×Pサイクルと後半の(Q−j)×Pサ
イクルで切換えればよい。
問題は一般的な水平に−i画素、垂直に−j画素ずれ
たケースだが、例えば水平に−3画素、垂直に−2画素
ずれる場合を考える。この場合は、第3図の実線の領域
を意味し、これとR側の点線の領域がブロック比較され
ねばならない。
第3図の実線領域は今度は縦と横の2本の2本線をま
たぎ、4分割されている。即ち、第1図のシフトレジス
タ上でシフトレジスタのつながりで考えるとあちこちに
分割されている。第4図のタイムチャートはその様子を
示している。
第4図Aがクロックである。第4図BのRは、第3図
の点線の領域の現フレームのデータがあらわれるタイミ
ングを“H"として示している。これはP×Q=25サイク
ル続く。これにあわせて第3図の実線の領域のデータが
第4図CおよびDとdとd′に示している。
第4図で使われる00〜44の番号は、Rにブロックの最
初の画素があらわれる時、即ち、第4図の最初のサイク
ルにおいて第3図上で比較されるブロックの各画素がど
こにあるかを示すものである。この00〜44の25画素が第
4図Iのyのように並ばないと、第33図のような演算器
でRと比較ができない。
第3図の実線の領域は2本線で右下、左下、右上、左
上の4つの部分に分かれる。右下の部分には00、01、1
0、11、20、21の各画素があるが、これはC′のタップ
から見るとRのデータ列とタイミングが合う。
左下の部分には02、03、04、12、13、14、22、23、24
がある。これは先の水平ずれのみの時の例と同様の考え
方でC″のタップでRとタイミングが合う。
右上の部分は30、31、40、41があり、これは先の垂直
ずれと同様の考え方でCのタップでRとタイミングが
合う。
左上の部分は32、33、34、42、43、44があり、例えば
32は画面上00の位置から水平に−2画素、垂直に−3画
素ずれていて、若し、ブロックが点線の領域のように1
つのシフトレジスタの列からはみ出さなければ、00の位
置から17段手前の遅延量の所にあるので、現実のシフト
レジスタの接続方法へ32の所から17段遅れたC′のタ
ップが代わりになることがわかる。
これらのことは第4図のタイムチャートで見るとよく
わかる。d及びd′に対してC′、C″、C、C′
は単に時間ずれの関係であるから、シフトレジスタの段
数間隔に応じて第4図F,G,HのC′、C″、C、C
′が得られる。yのデータ列は第4図Iの下に示した
タイミングでC′〜C′を選択すればよい。
一般化すると水平に−i画素(0<i≦S)、垂直に
−j画素(0<j≦T)ずれたブロックとの比較は (1)dより(j×P+i)段、手前のC′を示すタッ
プと (2)dより{(P×Q+j×P)−(P−i)}段手
前のC″で示すタップ (3)d′より{j×P−(P−i)}段後のCで示
すタップ (4)d′よりP×Q−{(Q−i)×P+(P−
j)}段手前のC′で示すタップ なる4つのタップを使いその出力を適当に選択してR
出力と比較すれば良い。またその選択手順は (1)ブロックの先頭から(Q−j)×Pサイクルの範
囲では、(P−i)サイクルをC′次のiサイクルを
C″という選択を繰返す。
(2)残りのi×Pサイクルでは、(P−i)サイクル
をC、次のiサイクルをC′という選択を繰返す。
以上のことを要約して下記に示す。
水平に−i画素、垂直に−j画素ずれた前フレームの
ブロックとのブロック比較に(0≦i≦S)、(0≦j
≦T)必要なデータ列は第5図のC′(−i、−j)、
C″(−i、−j)、C(−i、−j)、C′(−
i、−j)の最大4つのタップを切換えて得られるので
ある。
また、第5図ではこれまでのdの位置がC′(0、
0)である。また、これまでの実施例の説明は全て水平
垂直に負のずれの場合のみであったが、正の場合も基本
的に同じ考え方で考えることができる。第5図は水平と
垂直に両方とも正にずれる場合について必要なアップが
記入されている。水平が正で垂直が負というような組合
せに必要なタップは他の目的に必要なタップと重なるの
で記入を省略している。
第5図ではe入力から3ブロック分、f入力から4ブ
ロック分、g入力から3ブロック分のシフトレジスタが
必要である。しかし、これは工夫してシフトレジスタを
減らすことが可能である。
例えば第5図では正のずれの場合にも負のずれの時と
同じ場所即ちC′(0、0)の位置を基準としているが
この基準を第5図のd″の位置に移して考えてみると正
のずれの場合に必要なタップは第6図のように負のずれ
の時に必要なタップとかなり兼ねることができるように
なる。
正のずれの場合にタップのとり出しを第6図にする
と、第5図と合わせて考えて少なくともgから導かれる
シフトレジスタは不要となるので、一見よさそうだが、
実は基準をdの位置からd″の位置に変えるということ
はR側について負のずれの場合と正のずれの場合で変え
ねばならず、正のずれの場合はdとd′の遅延差分だけ
Rから手前の遅延量のタップをつくらねばならず、これ
は先のgについてのシフトレジスタが不要になる分に比
べてあまり得ではない。
例えば第6図では水平、垂直共に正のずれの場合にも
水平、垂直共に負のずれの時と同じ場所、即ち、C′
(0、0)の位置を基準にしているが、この基準を第7
図のd″の位置に移して考えると水平垂直共に正のずれ
の場合に必要なタップは、第7図のように水平垂直共に
負のずれの時に必要なタップと全部兼ねてしまうことが
できる。
この第7図のd″の位置はdの位置から最大ずれのi
=S=4、j=T=3だけずれた位置で、ここを基準に
とると全てのタップ選択の手順は水平、垂直共に負のず
れの場合と同じ組合せが使えるのである。
同様なことは水平に正、垂直に負或いは水平に負、垂
直の正にずれの場合でも言える。水平垂直共に正のずれ
の場合にタップのとり出しを第7図にすると、第5図と
合わせて考えてgから導かれるシフトレジスタは不要と
なり、またfからのシフトレジスタ2もブロック分で良
い。但し、水平垂直共に正のずれの場合には、基準がd
からd″の位置に変わるので、R側について水平垂直共
に負のずれの場合とdとd′の遅延差の分だけRより手
前の遅延量のタップをつくり、これを使わねばならな
い。しかし、そのための遅延回路はわずかである。
なお、eからのシフトレジスタのうち最初の1ブロッ
ク分についてつながるものがないから、これは節約する
ことが可能である。
以上まとめると本実施例は第8図のように、フレーム
メモリ13、14および遅延部と第9図のようなブロック比
較部となる。
結局、第8図のように、Rは、水平と垂直のずれの正
負でR++、R−+、R+−、R−−、の4つに分けて
考えられる。
そして、それらのそれぞれの基準となる点は第8図の
d++、d−+、d+−、d−−なので、その間の遅延
差を補償する。即ち、R++とR−+及びR+−とR−
−はちょうどS(=4画素)、R++とR−−はTP+S
(=3×5+4=19画素)となる。第1図の出力e、
f、gにつながるシフトレジスタに相当するものはe′
とf′につながるシフトレジスタとなる。
e′では、第7図のように最初の1ブロック分につい
てはつながるタップがないので、これを省略しその分フ
レームメモリに遅延を課している。また、次のブロック
についても最初の2ラインの10画素分はやはり使われて
いない。これはちょうどf′につながるシフトレジスタ
列についても最初のブロックの最初の2ライン分の10画
素分が使われないので、まとめてフレームメモリに遅延
を移している。また、gに相当するものは必要ないの
で、第8図にはない。第8図で点線で示す四角はこのよ
うに不要なシフトレジスタ部分で節約したことを示して
いる。
e′とf′の間の遅延差は本来Qライン分でQ×H画
素分であるが、e′からのシフトレジスタのうち最初の
ブロックを省略しているのでQ×H−P×Q=5H−25画
素分の遅延になっている。フレームメモリはR−−とd
−−が1フレーム(F)差になるようにされていなけれ
ばならず F−2(PQ)+(TP+S)−(QH−PQ)+10=F−5H
+4となる。
ブロック比較は、第9図のような回路を使う。即ち、
Rからセレクタ1で選択されたデータを減算する減算回
路9と、絶対値化回路10と、加算回路11と、レジスタ12
とからなる累算器の構成が使用される。
このRには、ずれの量を水平方向i画素、垂直方向j
画素とする時に iが正でjが正の時は、R++を iが負でjが正の時は、R−−を iが正でjが負の時は、R+−を iが負でjが負の時は、R−−を それぞれ使用する。
そしてC′(i、j)、C″(i、j)、C(i、
j)、C′(i、j)の最大4つのタップをセレクタ
1に導き、これを第4図の説明に示した方法で選択し、
フレーム間の差をとり絶対値をとり、(或いは自乗な
ど)そして1ブロック分アキュムレートする。
以上の実施例の説明はS≦P、T≦Qのケースであっ
て、この条件以外の場合はもっと複雑になるが、同様な
考え方を拡張するだけで実現できる。
第9図のようなブロック比較演算回路は、ずれの量
(i、j)ごとに必要であるが、先に示したようにこれ
は間引くことがある。また、データレートとこの演算器
の演算速度の間で例えばn倍演算が速くできるとすれば
1つの演算回路でn個の(i、j)用の演算を時分割多
重が可能であり、そのようにすれば演算器数は1/nとな
る。
ここでの説明はインターレースしない画像についての
話であったがインターレースする場合でも適用できる。
ただしインターレースされたフィールド間の動きベクト
ルを求める時は先の(i、j)のずれのうちjは全て0.
5画素オフセットを持つことになる。
次に、上述の実施例により得られたブロックマッチン
グの結果に基づいて、動きベクトルを検出する時の判断
の手順を簡単化できる実施例について、説明する。
本発明の手順は第10図のようなものである。従来の第
41図と異なり、マッチ度の分布、即ち、いろいろな極小
を調べたりしない。
ブロックマッチングのステップ21の後で、マッチ度最
小のベクトル量(x,y)をのみまず得る。(ステップ2
2) そして、周辺ベクトルの相関検出がなされる(ステッ
プ23)。これは、注目ブロックの周辺の8つのブロック
のマッチ度最小ベクトル(xi,yi)(iはブロックにつ
けた番号)について、例えばフーリエを変換を行う。x
が左右、yが上下方向とする。即ち、今、例えば第39図
のD−bのブロックに注目しているとすると、そのまわ
りの8つのブロックに第11図のように順に周囲を巡るよ
うに番号をつけ(どちらまわりでも、どこのブロックか
ら始めてもよい)その番号をiとする。するとこの第11
図のケースだと、例えば第12図のような波形が得られ
る。第12図で横軸は空間的な位置(SP)で、具体的には
番号iである。縦軸は動きベクトルのx成分或いはy成
分である。第12図Aが動きベクトルのx成分、第12図B
が動きベクトルのy成分である。第39図で車が右へ動い
ていると(右へ動く時がxが正で、上へ動く時yが正で
あるとすると)、第12図のような波形になる。
第11図の場合、i=1とi=3においてはそれぞれC
−bとD−cのブロックであるが、これは輪郭部で動き
ベクトルは背景のものと車のもののどちらになるかわか
らないが例えば第12図のようになったとする。するとフ
ーリエ変換により第12図の波形は周波数分析され、変換
後は第13図Aのような結果が得られるはずである。第13
図Aはフーリエ変換後のパワースペクトラムである。第
13図Aは波が基本波として1波存在しているので、第13
図Aでは横軸の空間周波数(sf)の1の所にピークが出
ている。
第13図Bは例えば背景だけの部分とか大きな動体内部
で注目ブロックのまわりのブロックの最小マッチ度ベク
トルが、全て同じベクトルに近い時の場合で、sf=0、
即ち直流成分にピークがでる。
フーリエ変換のあとは第13図AおよびBのようなデー
タについてあるレベル以上の周波数成分を探し、それが
空間周波数がいくつのところかで分類する(ステップ2
4)。
第13図Bのように直流成分にピークのある時は、動き
ベクトルは注目ブロックの周辺でほぼ一定なので注目ブ
ロックも周辺と同じであろうと考えられ、動きベクトル
は注目ブロックのマッチ度最小ベクトルでよいと思われ
る(ステップ25)。なお、この注目ブロックが孤立動体
の場合は、周辺と異なるベクトルとなっているかも知れ
ない。しかし、孤立動体を救うのは容易ではないので、
マッチ度最小ベクトルがその動体によるものかその周辺
と同じかはマッチ度の大小で決めるしかないので特に問
題はないと考える。
第13図Aのように、sf=1にピークが出ている時は、
注目ブロックの周辺のブロックの動きベクトルは1周で
1波の変化がある訳で、これは注目ブロックが動体輪郭
部に存在することを意味する。この場合は2つの動きベ
クトルがこのブロック内に存在するはずで、よって、こ
の時のみ適応的にブロックを更に例えば4分割したサブ
ブロックをつくり、そのサブブロックについて動きベク
トル検出を行う(ステップ26および27)。ただし、この
時は再びブロックマッチングをする必要はない。なぜな
ら候補となるベクトルは周辺のブロックに存在する2種
のベクトルのグループの付近であることは明らかで、か
なり限定した範囲でのブロックマッチングとなり、操作
が簡略化される。
ステップ25および27の後で、動き補償がなされる(ス
テップ28)。しかし、フーリエ変換出力が第13図のよう
にならない時は従来同様、動きベクトル検出不能であ
り、動き補償は断念される。
第14図は、適応ブロック化を説明するもので、第14図
Aのような動き物体である車が走っている場合で、ステ
ップ24の判定で、sf=1〜3にピークが検出された時
に、第14図Bに示すように、そのブロックの周辺で局部
的にサブブロック化を行う。第14図Cに示すように、こ
の細かいサブブロックの単位で動きベクトルの検出を再
帰的に行う。
上述のこの発明の判定部の一例が第15図に示されてい
る。残差比較回路31では、1ブロック当りの残差が最小
のずれの位置が検出され、これが仮の動きベクトルとし
て出力される。この仮の動きベクトルが遅延回路群32に
供給される。これは、Pで示す仮の動きベクトルの一つ
を記憶するレジスタと、Qで示す画素の水平方向に並ぶ
ブロック3だけ少ない数の仮の動きベクトルを記憶する
シフトレジスタとからなる。そして、フーリエ変換等の
直交変換回路33と、その出力が供給されるピーク検出回
路34とが設けられ、ORゲート35の出力端子38には、sf=
1、2、3にピークがある時の判定信号が取り出され、
この判定信号がサブブロック化回路に供給され、また、
ANDゲート36の出力には、動きベクトルが出力される。
上記説明でフーリエ変換で説明した部分は、フーリエ
変換に限らずアダマール変換やハートレー変換なども使
える。要するにいろいろな波数の参照波との相関演算を
して、どの波数と最も相関が強いかが出せればよい。
フーリエ変換の場合について補足すると、一見乗算等
が多く演算が大変そうだが、この変換は必ず8次の変換
であり、FFTの手法により8次の場合は、ほとんど加算
のみでよく乗算はごくわずかであることが周知である。
よって問題ない。アダマール変換などは係数が1か0で
ありもっと演算が簡単である。
第10図の手順は、従来の処理に比べ単純操作ばかりで
あり、複雑な判断は必要ない。
最後に、動きベクトル補償とフレーム差分符号化方式
とを組み合わせたこの発明の更なる実施例について、以
下に説明する。第16図がその実施例である。
第16図で、41が最初の実施例について述べたようなブ
ロックマッチングのための遅延部であり、42が減算回路
群であり、PIで示す43が電力積分回路群で、二乗のため
の乗算回路とその乗算出力を累算する構成とされてい
る。この電力積分回路群43の出力が判定部44に供給され
る。減算回路群42および電力積分回路群43は、上述のブ
ロック比較のために、(i、j)(i=−S〜+S、i
=−T〜+T)毎に、計(2S+1)(2T+1)個設けら
れている。判定部44は、差の電力が最低とされたずれの
量のフレーム差を選ぶものであり、出力端子45には、検
出された動きベクトルが得られる。
減算回路群42に接続されたセレクタ46が設けられてい
る。このセレクタ46の出力がDCTの変換回路47に供給さ
れる。変換回路47の出力dが符号割当て回路51を介して
符号化出力として取り出され、また、逆変換回路48を介
して加算回路49に供給される。加算回路49の出力信号c
がフレームメモリ50に供給され、フレームメモリ50の出
力bが遅延図41および加算回路49に供給されている。
従来の構成と異なる点は、符号化回路のループ内に動
きベクトル検出の構成を移動させた点である。
なお、動きベクトル検出点を減らす方法を利用する場
合、および第16図のように(2S+1)(2T+1)個演算
回路を用意しても動きベクトルを画素格子の整数単位で
なく、実数として得るというような場合には、セレクタ
46の所は単なるセレクタだけでなく、セレクタ46に対し
て若干の可変遅延回路を接続して、この可変遅延回路の
遅延量を検出点の存在しない分、制御しても良い。ま
た、セレクタ46に対して遅延回路を接続し、この遅延回
路に補間演算回路例えば線形補間回路を接続し、所望の
ずれた点のフレーム差を得るようにしても良い。また、
両者を組合せることも可能である。
上述のように、この発明の適用された帯域圧縮装置
は、フレームメモリが1つでよく、小型である。また、
フレームメモリのアドレス制御(遅延量制御)が不要で
ある。従来に比べてふえるのはセレクタだけでたいした
ハードウェア増ではない。
なお、第16図のループ内にはDCT変換回路と逆変換回
路しか挿入しなかったが、ここにいろいろな処理を入れ
ることがあるが、それは、この発明と独立であるので、
ここでは触れないが、どのようなものも可である。ま
た、ブロック比較(マッチ度を求める)回路はパワー
(自乗)を使っているが、それは絶対値でも他の非線型
演算でも可能である。更に、従来から知られる動きベク
トル検出点を減らす方法は、この発明でも同様に適用で
きる。
動き補償を組み合わせたフレーム差分符号化方式の帯
域圧縮装置の他の実施例について説明する。この実施例
は、第17図のようなもので基本的には、上述の第16図の
実施例の変換回路47を動きベクトル検出の部分の中へ入
れた構成となっている(変換回路群61)。従って、第17
図の詳細は、第16図とほぼ同様であり、ここでは異なる
点のみ補足的に説明する。
第17図で、IIと示すデータ量検出回路は、第16図の電
力積分回路PIと同じようなものでもよいのだが、より良
い帯域圧縮をするためDCT後の帯域圧縮されたデータ量
を検出するものである必要がある。例えば絶対値の積分
とか零ではないデータの数とか2進数表現の各ビットの
“1"の数などである。このデータ量検出回路群62の出力
が判定部44に供給される。
また、ここでDCTと示した変換回路は、最低限DCTを含
むが、それと組み合わせて使われるジグザグ変換等の帯
域圧縮テクニックを含んでよい。勿論その場合には逆変
換回路で、その逆の手順を実施することが必要である。
第17図は第16図より、より帯域圧縮に適した動きベク
トル補償ができる。
第17図はまた、DCTが線型演算即ち内積演算(マトリ
ックス演算)であることから、フレーム差をとった後で
もその前でも同じ結果となるので、第18図のように考え
てもよいことは明白である。第18図は第17図の変換回路
群61の位置を更に前へ移したものである。
第17図、第18図のように、変換回路群61を動きベクト
ル検出回路内に移した時は、DCTの演算量が増えること
が問題点である。しかし以下のように考えることができ
る。
まず前提として画像のブロック化は、既に説明したも
のと重複するが、第19図のように水平P画素×垂直Q画
素とする。ここでは、P=5、Q=5の例を示す。ま
た、動きベクトルは、水平に±S画素、垂直に±T画素
ずれた範囲で考えるとする。以下、S=4,T=3とす
る。
従って、現フレームにおけるあるP×Q画素のブロッ
クを第20図の内側の太線とする時の第20図の外側の太線
が、前フレームの画素のうちブロック比較に使われる範
囲である。第20図では、中央を座標0,0(x=0,y=0)
として画素毎に座標を記してある。ただし、省略して一
部の画素にしか記していない。
(1)(垂直) 例えば、まず、1フレームで水平には左から右へ4画
素、垂直には上から下へ3画素ずれた場合に相当するブ
ロック比較は、現フレームのあるブロックを第20図の内
側の太線とするなら、前フレームにおいては第21図のα
の太線の位置のP画素×Q画素のブロックを比較対象と
することになる。即ち、第22図Aのような座標のブロッ
クを使う。
次に、1フレームで水平には左から右へ4画素、垂直
には上から下へ2画素ずれた場合に相当するブロック比
較は、今度は第21図のβの太線の位置のブロックを比較
対象とする。これは即ち、第22図Bのような座標のブロ
ックを使う。
以下、水平のずれは同じ垂直方向のずれのみ異なるブ
ロック比較は以下同様である。
ここでαのDCTとβのDCTの比較をすると、次のような
ことがわかる。DCTは2次元で行われるが、まずはじめ
に水平方向に変換を行い、その後垂直にするものとすれ
ば、αの水平方向の変換が演算される第22図Aの5ライ
ンの各画素のグループは、βの水平方向の変換画演算さ
れる。第22図Bの5ラインの各画素のグループは、68で
示すように、実はそのうちの4ラインがオーバーラップ
していて、αについて計算されていればβでは演算不要
であることがわかる。
結局、水平のずれは同じで垂直のずれのみ異なるブロ
ック比較については、水平方向の変換の際にかなり演算
を省略できる。
(2)(水平) 次に今度は、水平には左から右へ3画素、垂直には上
から下へ3画素ずれた場合に相当するブロック比較は、
現フレームのあるブロックを第20図内側の太線とするな
ら前フレームについては第21図のαを右に1つずらした
ブロックを比較対象とすることになり、即ち第22図Cの
ような座標のブロックを使う。第22図Cのデータブロッ
クは、第22図Aのデータブロックと比較すると、第22図
Aの左端のデータが第22図Cになくて、一方、第22図C
の右端のデータが第22図Aにない。
2次元DCTをまず水平方向を先に変換するとすると、
フーリエ変換について例えば(産報出版“FETの使い
型”安居院猛他著P132〜133の“重なりデータに対する
高速解法”)のような方法が知られているから、第22図
Aのようなαのブロックのデータについて変換演算され
ていれば、69で示すように、それを右に1画素ずらした
ブロックの変換演算は新規に演算しなくても、簡単な演
算で求まる。この参考資料はフーリエ変換の話だが、コ
サイン変換でも同様である。
上記説明は2次元DCTの最初の水平の1次元DCT変換に
ついてのみの話であったが、同様の考え方で、2次元に
拡張し、大幅な演算量削減がはかれる。第16図に対する
第17図は大幅な演算ハードウェア増になるが、第17図を
第18図にすると、大幅に演算量が減らされ、それは第16
図よりは多いがDCT等を動きベクトル制御に含めたこと
によるメリットを生かせるようになる。
ここで演算量の比較を行う。
第16図において、PIは自乗積分であれば、その構成は、
第23図の回路となる。即ち、第23図において、71で示す
減算回路の出力が乗算器72で自乗され、自乗出力が加算
回路73およびメモリ74で累算される。また、絶対値積分
なら第24図である。即ち、第24図において、71で示す減
算回路の出力が乗算器72で自乗され、自乗出力が符号反
転回路75およびセレクタ76に供給される。セレクタ76の
出力が累算される。現フレームのP×Q画素の1ブロッ
クについて積分はP×Q回演算累積し、それが(2S+
1)×(2T+1)個必要である。トータルでP・Q・
(2S+1)×(2T+1)回の演算で、1画素当たりでは
(2S+1)(2T+1)回ということになる。
DCTは、積和演算回路で演算でき、現フレームのP×
Q画素の1ブロックについて、P×Q×P2 Q回演算す
る必要であり、1画素当たりP回である。
第18図において 今DCTと示す部分は本当にDCTのみである。またデータ
量検出回路IIも、電力積分回路PIと同じとする。その
時、IIの演算量は第16図のPIと同じである。DCTの前後
でデータ数は変わらないからである。
DCT演算については、単純に考えると、第18図にはDCT
が(2S+1)(2T+1)+1個あるので、その分第16図
より多くて、1画素当たり{(2S+1)(2T+1)+
1}×P回の演算となって膨大である。しかし、先に述
べた理由により、これを全て演算する必要はなくて、少
なくともa側とb側に1つずつのDCT演算回路は必要
で、第16図より必ず2倍以上は必要だが、非現実的な大
きさにはならない。
更に注目すべきことは、DCT出力においてはデータが
周波数分析されているのであり、あたかもフィルタバン
クを通したようなものなので、これまで考えられなかっ
たことを考えることができる。
まず、例えば帯域圧縮では、DCT出力のある周波数成
分はのぞいてしまうことがあるが、そうであればその周
波数成分については、II即ちPIは演算しなくてもよく、
ここで演算が減る。
次に、例えば入力aの所に入れたDCTで入力データの
各周波数成分がわかっているので、このDCT出力を判断
して、やはりIIで計算しなくてよい部分を見つけ出すこ
とができて演算を省略できる。
或いはまた、動きベクトル検出にブロック内の高周波
成分はあまり影響しないとして低減の限られた周波数成
分にIIの演算を限定できる。
また、動きベクトル検出について、そのための演算量
を減らすための先に引用した参考文献(日刊工業新聞社
刊“TV画像の多次元信号処理”吹掀著P203〜204の“3
段階探索法”)のような方法があるが、このようなテク
ニックも本件に適用することが可能である。
第25図がその実施例である。第25図では、ずれた9つ
の位置について調べることを3回繰り返してずれの量を
局限していく例を示している。第25図は、第18図のa,b
入力からdまでを置き換えるべき部分についてのみ記し
てある。第25図で遅延部41Aはこれまでの説明のものと
同じだが、タップが9つしかないもの、遅延部41Bは基
本的に同様だが、判定部41Aによって得られる最も、第
雑把な領域最低結果を踏まえて各タップの遅延量を決め
るもの。遅延部41Cは同じように判定部44Aと判定部44B
によって限定された領域の各タップの遅延量を与えるも
のである。また、ED1〜4で示す65A、65B、66A、66B
は、演算部の遅延を保証する等価遅延回路である。
第25図には示していないが、ここにもDCTの演算を減
らす既に説明した方法を適用することができる。
〔発明の効果〕
この発明は、直交変換符号化した後のフレーム間差分
について、圧縮効果の良否を判定しているので、圧縮処
理を最適化することができる。また、この発明は、フレ
ーム差分符号化と動きベクトル検出とでフレームメモリ
を共用しているので、回路規模を小さくすることができ
る。
【図面の簡単な説明】
第1図はこの発明の一実施例のブロック図、第2図及び
第3図はこの一実施例の説明に用いる略線図、第4図は
この一実施例の説明に用いるタイミングチャート、第5
図、第6図及び第7図はこの一実施例の説明に用いる略
線図、第8図及び第9図はこの一実施例の説明のための
ブロック図、第10図はこの発明の第2の実施例の説明に
用いるフローチャート、第11図、第12図、第13図及び第
14図はこの発明の第2の実施例の説明に用いる略線図、
第15図はこの発明の第2の実施例の説明に用いるブロッ
ク図、第16図はこの発明の第3の実施例のブロック図、
第17図及び第18図はこの発明の第4の実施例を夫々示す
ブロック図、第19図、第20図、第21図、第22図はこの発
明の第4の実施例の説明に用いる略線図、第23図及び第
24図はこの発明の第4の実施例の説明に用いるブロック
図、第25図はこの発明の第5の実施例のブロック図、第
26図、第27図、第28図、第29図及び第30図は従来の動き
ベクトル検出方法の説明に用いる略線図、第31図は動き
ベクトル検出装置の概略を示すブロック図、第32図は従
来の動きベクトル検出装置の一部のブロック図、第33図
は従来の動きベクトル検出装置の他の部分のブロック
図、第34図及び第35図は従来の動きベクトル検出装置の
説明に用いる略線図、第36図は従来の動きベクトル検出
装置の説明に用いるタイミングチャート、第37図は従来
の動きベクトル検出装置の一部のブロック図、第38図は
従来の動きベクトル検出装置の判定部のブロック図、第
39図、第40図、第42図は従来の動きベクトル検出装置の
判定部の説明に用いる略線図、第41図は従来の動きベク
トル検出装置の判定部の説明に用いるフローチャート、
第43図は従来の帯域圧縮装置の説明に用いるブロック図
である。 図面における主要な符号の説明 101:入力端子 103:遅延部 104:ブロック比較部 105:判定部

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の画素データからなる画像信号を複数
    のブロックに分割し、ブロック毎にフレーム間動き補償
    とフレーム間差分データの直交変換を組み合わせた符号
    化を行う画像信号符号化装置において、 フレームメモリに蓄えられた参照画像信号の所定の範囲
    から複数の参照ブロックを生成する手段と、 入力画像信号の基準ブロックと上記複数の参照ブロック
    とのそれぞれの差分データを生成する複数の差分データ
    生成手段と、 上記複数の差分データのそれぞれについて直交変換を行
    う複数の直交変換手段と、 上記複数の直交変換手段からの出力に基づいて上記複数
    の参照ブロックから一の参照ブロックを選択し、上記基
    準ブロックと上記選択された参照ブロックとの間の動き
    ベクトルを検出する手段と、 上記選択された参照ブロックに対応する直交変換手段が
    出力するデータを、上記基準ブロックの画像信号を帯域
    圧縮した符号化データとして選択する手段とを備えたこ
    とを特徴とする画像信号符号化装置。
  2. 【請求項2】複数の画素データからなる画像信号を複数
    のブロックに分割し、ブロック毎にフレーム間動き補償
    とフレーム間差分データの直交変換を組み合わせた符号
    化を行う画像信号符号化方法において、 フレームメモリに蓄えられた参照画像信号の所定の範囲
    から複数の参照ブロックを生成するステップと、 入力画像信号の基準ブロックと上記複数の参照ブロック
    とのそれぞれの差分データを生成するステップと、 上記複数の差分データのそれぞれについて直交変換を行
    うステップと、 複数の直交変換出力に基づいて上記複数の参照ブロック
    から一の参照ブロックを選択し、上記基準ブロックと上
    記選択された参照ブロックとの間の動きベクトルを検出
    するステップと、 上記選択された参照ブロックに対する直交変換出力デー
    タを、上記基準ブロックの画像信号を帯域圧縮した符号
    化データとして選択するステップとを備えたことを特徴
    とする画像信号符号化方法。
  3. 【請求項3】複数の画素データからなる画像信号を複数
    のブロックに分割し、ブロック毎にフレーム間動き補償
    とフレーム間差分データの直交変換を組み合わせた符号
    化を行う画像信号符号化装置において、 フレームメモリに蓄えられた参照画像信号の所定の範囲
    から複数の参照ブロックを生成する手段と、 入力画像信号の基準ブロックに対して直交変換を行う第
    1の直交変換手段と、 上記複数の参照ブロックのそれぞれに対して直交変換を
    行う複数の第2の直交変換手段と、 上記第1の直交変換手段の出力データと上記複数の第2
    の直交変換手段のそれぞれの出力データとの差分データ
    を生成する複数の差分データ生成手段と、 上記複数の差分データ生成手段からの出力に基づいて上
    記複数の参照ブロックから一の参照ブロックを選択し、
    上記基準ブロックと上記選択された参照ブロックとの間
    の動きベクトルを検出する手段と、 上記選択された参照ブロックに対応する差分データ生成
    手段が出力するデータを、上記基準ブロックの画像信号
    を帯域圧縮した符号化データとして選択する手段とを備
    えたことを特徴とする画像信号符号化装置。
  4. 【請求項4】複数の画素データからなる画像信号を複数
    のブロックに分割し、ブロック毎にフレーム間動き補償
    とフレーム間差分データの直交変換を組み合わせた符号
    化を行う画像信号符号化方法において、 フレームメモリに蓄えられた参照画像信号の所定の範囲
    から複数の参照ブロックを生成するステップと、 入力画像信号の基準ブロックに対して第1の直交変換を
    行うステップと、 上記複数の参照ブロックのそれぞれに対して第2の直交
    変換を行うステップと、 上記第1の直交変換の出力データと上記第2の直交変換
    のそれぞれの出力データとの差分データを生成するステ
    ップと、 複数の上記差分データに基づいて上記複数の参照ブロッ
    クから一の参照ブロックを選択し、上記基準ブロックと
    上記選択された参照ブロックとの間の動きベクトルを検
    出する手段と、 上記選択された参照ブロックに対応する差分データを、
    上記基準ブロックの画像信号を帯域圧縮した符号化デー
    タとして選択するステップとを備えたことを特徴とする
    画像信号符号化方法。
JP33849390A 1990-11-30 1990-11-30 画像信号符号化装置及び方法 Expired - Fee Related JP2964633B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33849390A JP2964633B2 (ja) 1990-11-30 1990-11-30 画像信号符号化装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33849390A JP2964633B2 (ja) 1990-11-30 1990-11-30 画像信号符号化装置及び方法

Publications (2)

Publication Number Publication Date
JPH04207789A JPH04207789A (ja) 1992-07-29
JP2964633B2 true JP2964633B2 (ja) 1999-10-18

Family

ID=18318676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33849390A Expired - Fee Related JP2964633B2 (ja) 1990-11-30 1990-11-30 画像信号符号化装置及び方法

Country Status (1)

Country Link
JP (1) JP2964633B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5375676B2 (ja) * 2010-03-04 2013-12-25 富士通株式会社 画像処理装置、画像処理方法、および画像処理プログラム

Also Published As

Publication number Publication date
JPH04207789A (ja) 1992-07-29

Similar Documents

Publication Publication Date Title
KR100281148B1 (ko) 대역 압축 장치
US5557341A (en) Iterative method for estimating motion content in video signals using successively reduced block size
JP3753578B2 (ja) 動きベクトル探索装置および方法
JP2924431B2 (ja) 符号化方式
US6038258A (en) Encoding and decoding system of motion image containing arbitrary object
JPH0660187A (ja) 画像処理システム
JPH06261310A (ja) 移動補償されたデジタル・ビデオ・システムのための半画素補間法及び装置
JPH0865681A (ja) 動きベクトル検出装置およびそれを使用した動き補償予測符号化システム
KR100226684B1 (ko) 반화소 움직임 추정장치
JPH05336514A (ja) 画像符号化装置
US5436666A (en) Limited-domain motion estimation/compensation for video encoding/decoding
Pan et al. VLSI architectures for block matching algorithms using systolic arrays
JP2964633B2 (ja) 画像信号符号化装置及び方法
KR100219005B1 (ko) 화상부호화방법 및 화상부호화장치
JP4140091B2 (ja) 画像情報変換装置および画像情報変換方法
JP4228705B2 (ja) 動きベクトル探索方法および装置
JPH04207790A (ja) 動きベクトル検出装置
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
KR100926440B1 (ko) 영상부호화를 위한 블록 매칭 움직임 추정 장치
US6668087B1 (en) Filter arithmetic device
JPH04207777A (ja) 動きベクトル検出装置
EP0652676A1 (en) Apparatus and method for compressing a digital motion picture signal
KR100440567B1 (ko) 움직임 탐색을 위한 이진 평면 구성방법 및 이를 이용한움직임 추정 장치
JPH11215502A (ja) 動きベクトル検出装置及び方法
JP3004686B2 (ja) 符号化回路及び画像符号化装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees