JP3004687B2 - 符号化装置 - Google Patents

符号化装置

Info

Publication number
JP3004687B2
JP3004687B2 JP17919490A JP17919490A JP3004687B2 JP 3004687 B2 JP3004687 B2 JP 3004687B2 JP 17919490 A JP17919490 A JP 17919490A JP 17919490 A JP17919490 A JP 17919490A JP 3004687 B2 JP3004687 B2 JP 3004687B2
Authority
JP
Japan
Prior art keywords
data
circuit
input
arithmetic
motion vector
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
JP17919490A
Other languages
English (en)
Other versions
JPH0468890A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP17919490A priority Critical patent/JP3004687B2/ja
Publication of JPH0468890A publication Critical patent/JPH0468890A/ja
Application granted granted Critical
Publication of JP3004687B2 publication Critical patent/JP3004687B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 発明は、テレビ電話等の動画像通信や蓄積用動画増等
の画像符号化装置において、動きベクトル検出とマトリ
クス変換を行う符号化装置に関するものである。
(従来の技術) 従来、このような分野の技術としては、次のような文
献に記載されるものがあった。
文献1;テレビジョン学会誌、42[11](1988)大久保栄
著「テレビ会議/電話方式の国際標準化動向」P.1219−
1225 文献2;吹抜敬彦著「TV画像の多次元信号処理」(昭63−
11−15)日刊工業新聞、P.252−256 文献3;信学技法誌、(1989)豊蔵・荒木・青野著「ICD8
9−54画像帯域圧縮、ディジタルフィルタ用600MOPS画像
処理プロセッサ」P.89−94 文献4;アイ・イ・イ トランスアクション オン コン
ピュータ(IEEE Transaction on Computers)、c−24
[10](1975−10)「A Proof of the Modified Booth'
s Algorithm for Multiplication」P.1014−1015 文献5;安田晴彦監修「画像伝送における高能率符号化技
術」(昭62−3−31)(株)トリケプトス、P.231−233 従来、テレビ会議やテレビ電話等における動画像の符
号化方式には、前記文献1に記載された、テレビ会議及
びテレビ電話方式に関する国際標準化の装置の勧告案が
あり、それを第2図及び第3図に示す。
第2図は、前記文献1に記載された従来のテレビ会議
用CODEC(コーディック)の機能ブロック図である。
このCODECは、符号化制御回路1を有し、それには前
処理回路2、ソース符号化回路3、ビデオマルチプレッ
クス符号化回路4、及び伝送バッファ5が接続され、そ
の伝送バッファ5に、伝送路符号化回路6が接続されて
いる。
前処理回路2では、時間・空間フィルタにより、入力
ビデオ信号を中間フォーマットに変換し、併せて雑音除
去フィルタリングを行う。ソース符号化回路3は、入力
信号に含まれる冗長度を除き、残りの信号を一定の誤差
の範囲内で量子化する。ビデオマルチプレックス符号化
回路4では、映像信号のほか、各種ブロック属性信号を
可変符号化した後、定められたデータ構造の符号列に多
重化する。伝送路符号化回路6では、伝送チャネルのフ
ォーマットに従い、マルチメディア信号(映像、音声、
データ、制御)をビット列に多重化する。
第3図は、第2図中のソース符号化回路3の構成ブロ
ック図である。
この回路は、減算器10、フレーム内/間識別回路11、
有効/無効判定回路12、8×8の離散余弦変換(以下、
DCTという)回路13、量子化回路14、クラス分け回路1
5、逆量子化回路(Q-1)16、遅延回路(T-1)17、加算
回路18、動き補償予測回路19、及びループフィルタ20等
で構成されている。なお、pはフレーム内/間フラグ、
tは有/無効フラッグ、qはDCT係数の量子化インデッ
クス、qzは量子化回路種別、vは動きベクトル、clはク
ラス、fはループフィルタ・オン/オフの信号である。
このソース符号化回路の符号化アルゴリズムは、テス
ト画像を定めて、その計算機シミュレーション結果を比
較評価することにより、先ず、動き補償予測回路19によ
って画素空間で動き補償フレーム間予測を行う。次に、
その予測誤差をDCT回路13によって8×8のブロックサ
イズで直交変換した後、量子化回路14を用いて、係数空
間で量子化するハイブリッド方式で構成されている。こ
の方式は、動き補償フレーム間予測により、時間的変化
に関する冗長度を、直交変換符号化によって、フレーム
内の空間的変化に関わる冗長度を除く方式である。
予測は通常、フレーム間であるが、シーンチェンジの
ときなど、映像入力がそのままDCT回路13に加えられ
る。ループフィルタ20は、画質改善効果が大きく、ブロ
ック毎にオン/オフできる。これらフレーム内/間識別
回路11、及びループフィルタ20のオン/オフのブロック
属性情報は、サイド情報として送られるので、選択の基
準は設計者の自由に任せられる。
変換器はプログラマブルで、DCT回路13で行ってい
る。このDCT回路13は、ハイブリッド符号化に適してい
る、つまりフレーム間予測誤差信号に対しても適してい
る。一方、DCTには積和演算が必要なことから、送受のI
DCTにおける演算方法ミスマッチによる累積誤差が問題
となる。量子化回路14もプログラマブルである。クラス
分け回路15は、変換係数の伝送順序を指定することによ
り、有意係数のブロック内分布の偏りを利用するための
ものである。
DCT方式、及び動き補償フレーム間予測(以下、MCと
いう)の手法と実現手段については、前記文献2〜4に
記載されている。
DCT方式 画像信号の自己相関関数は負指数関数で近似できる。
DCTは、この近似を行った場合の最適直交変換(karhune
n−Leve変換,KL変換)に近い。従来、ハードウェア
が簡単なことから重要視されていたアダマール変換に代
わって、効率を重視する立場から最も一般的な直交変換
となり、種々の用途に採用されている。
(a)DCTの定義 標本値系列x0,x1,…,xM-1を1ブロックとして、変換
行列[dk,m]により、変換係数y0,y1,…,yM-1に直交変
換するものである。
(b)逆DCT(以下、IDCTという) DCTの変換係数[y0,y1,…,yM-1]が与えられて、これ
からもとの信号[x0,x1,…,xM-1]を求める変換であ
り、次式のようになっている。
但し、 d0,m,dk,m;(1)式のDCTの場合と同様 (c)DCTの物理的意味 DCTの用語の由来と物理的意味を与える。標本値系列g
0,g1,…,gM-1を、t=0を対称軸に反転する。この両者
を合わせた2M個の標本値からなる系列を離散的フーリエ
変換(以下、DFTという)する。標本点がT/2だけずれて
いること、すなわち、例えばg0がt=T/2の標本値であ
ることと、t=0に対して対称である(偶関数である)
ことを考慮すれば、sinの項はなくなり、次式のように
なる。
DFTでは、本来のM個の標本値からなる系列に対して
は、M個の複素変換係数(あるいはsin,cos合わせてM
個の項)が得られる。一方、DCTでは、2M個の標本値か
らなる仮想的系列に対し、2M個の項が得られるが、sin
が消えてM個のcosの項のみが残る。
(d)2次元DCT アダマール変換と同様、DCTも2次元に拡張できる。
垂直N画素×水平M画素のブロック[xn,m]を1ブロ
ックとして、これに、まず走査線毎に水平方向のDCT
(即ち、[dM][xn,m)を行う。次に、この結果
について垂直方向のDCT [yn,m]=[dN][[dM][xn,m =[dN][xn,m][dM ……(4) を演算する。即ち、 を求める。変換の順序は、水平、垂直いずれが先でもよ
い。この2次元DCTの方が一般的であり、8×8(ある
いは16×16)画素程度を1ブロックとすることが多い。
1次元DCTの回路構成例 第4図は、前記文献3に記載された1次元DCTを実現
する回路構成例を示すもので、画像処理プロセッサのDC
Tモード時に実行される行列演算のデータフローであ
る。
この画像処理プロセッサは、入力端子30を有し、その
入力端子30にはレジスタ31を介して複数の演算ユニット
40−1〜40−8が接続されている。各演算ユニット40−
1〜40−8は、同一の回路構成をなし、乗算器41、レジ
スタ42、加算器43、及びレジスタ44,45の縦続接続で、
それぞれ構成されている。この演算ユニット40−1〜40
−8の出力側は、共通バス32及びレジスタ33を介して出
力端子34に接続されている。
この画像処理プロセッサは、(1)式のM=8の時の
DCTを実行する機能を有し、その(1)式のM=8の時
の変換行列dk,mを次式に示す。
各演算ユニット40−1〜40−8は、(6)式の一行分
の演算を行う機能を有している。例えば、演算ユニット
40−1は、y1を求める場合、(6)式から、次のような
演算を行う。
即ち、時系列のデータx0,x1,…,x7が入力端子30から
逐次入力され、レジスタ31を介して各演算ユニット40−
1〜40−8へ送られる。演算ユニット40−1に入力され
た時系列のデータは、乗算器により、x0と1/2・cosπ/1
6の乗算が行われ、その乗算結果が一時的にレジスタ42
に格納される。レジスタ42内の乗算結果は、加算器43に
より、クリアされたデータとの加算が行われ、その加算
結果がレジスタ44に格納される。次のタイミングで、入
力端子30からの次のデータx1の値と1/2・cos3π/16との
乗算結果が格納されているレジスタ42から、その乗算結
果を出力し、レジスタ44に格納されている値との間で、
加算器43によって加算が実行され、その加算結果が再び
レジスタ44に格納される。このような累積加算が8回実
行されてY1の値が算出され、その値Y1がレジスタ45に格
納されて一行分の演算が終わる。この演算結果は、所定
のタイミングで共通バス32を介して最終段のレジスタ33
に格納された後、出力端子34から出力される。
他の演算ユニット40−2〜40−8も、乗算を行う係数
を(6)式で示した値を使用することにより、前記と同
様の演算処理を行う。
この画像処理プロセッサは、マトリクス演算を行える
ことから、乗算を行う係数を変更することにより、逆DC
T、及び第3図のフィルタの演算も実行できる。
2次元DCTの回路構成例 第5図は、第4図の回路構成を用いて2次元DCTを実
現する構成例を示すブロック図である。
この2次元DCT回路は、2個の1次元DCT回路50−1,50
−2とバッファメモリ65とで構成されている。入力デー
タは、x方向の1次元DCT回路50−1で処理された後、
バッファメモリ65内に、横方向(x方向)に格納され
る。バッファメモリ65からデータを読み出す時は、縦方
向(y方向)に読み出し、次のy方向の1次元DCT回路5
0−2より、もう1度、1次元DCTを実行することによ
り、2次元DCTが実行されることになる。
1次元DCT回路50−1,50−2は、例えば数個の乗算器
で構成されている。このマトリクス演算に必要な乗算
を、少ないハード量で構成する手法として、前記文献4
に記載されたブース(Booth)のアルゴリズムを用いた
方法がある。次に、その方法を説明する。
例えば、Y=D×Xの演算を行う時、係数Dを14ビッ
トの2の補数表現の値とし2次のBoothを用いて係数ビ
ットを分解すると次の式になる。
Y=(−D(13)・21+D(12) ・20+D(11)・20)212・X +(−D(11)・21+D(10) ・20+D(9)・20)210・X +(−D(9)・21+D(8) ・20+D(7)・20)28・X +(−D(7)・21+D(6) ・20+D(5)・20)26・X +(−D(5)・21+D(4) ・20+D(3)・20)24・X +(−D(3)・21+D(2) ・20+D(1)・20)22・X +(−D(1)・21+D(0) ・20)20・X …(7) 但し、右上のかっこ内の数字は係数Dの次数を示し、
D()はその次数のビット情報を示す。
この手法を用いて、次式(8)に示すマトリクス演算
の一行分計算を、次のようにして計算する。
Y=D0・X0+D1・X1+D2・X2+……+D7X7 …(8) Y=Σ((−Di (13)・21+Di (12) ・20+Di (11)・20)212・Xi) +Σ((−Di (11)・21+Di (10) ・20+Di (9)・20)210・Xi) +Σ((−Di (9)・21+Di (8) ・20+Di (7)・20)28・Xi) +Σ((−Di (7)・21+Di (6) ・20+Di (5)・20)26・Xi) +Σ((−Di (5)・21+Di (4) ・20+Di (3)・20)24・Xi) +Σ((−Di (3)・21+Di (2) ・20+Di (1)・20)22・Xi) +Σ((−Di (1)・21+Di (0) ・20・)20・Xi) …(8−1) 以上の計算式を実現する回路構成を第6図及び第7図
に示す。
第6図は2次Boothを用いた1行分のマトリクス演算
回路の構成ブロック図、第7図は第6図中のプロセッサ
エレメント(以下、Peという)の構成ブロック図であ
る。
第6図のマトリクス演算回路は、入力端子50a及び出
力端子50bを有し、その間に、レジスタ51−1〜51−
6、Pe52−1〜52−7、及び累積加算器53が接続されて
いる。第7図のPeは、入力端子54a及び出力端子54bを有
し、その間に、バレルシフタ55、符号反転器56、加算器
57、レジスタ58,59、及びバスコントローラ60が接続さ
れている。さらに、バレルシフタ55及び符号反転器56に
は、リード・オンリ・メモリ(以下、ROMという)61が
接続されている。
第6図の各Pe52−1〜52−7は、それぞれ上式の Σ((−Di (n+1)・21+Di (n)・20+Di (n-1)・20)2n・Xi) …(8−2) 但し、n=12,10,8,6,4,2,0の計算を行い、その出力
結果は各Peの共通のバスを通じて後段の累積加算器53に
よって累積加算され、出力値Yを求める。
次に、第7図を用いて各Pe52−1〜52−7でどの様に
して(8−2)式の計算を行うかを説明する。(8−
2)式のDi ()は係数Diの1ビットデータなので、かっこ
内の計算の取りうる値は−2,−1,0,1,2で、またこの値
は係数値なのであらかじめ演算しておける。この値−2,
−1,0,1,2と入力端子54aから入力されたXiとの乗算がバ
レルシフタ55と符号反転器56によって行われ、その後段
の加算器57とレジスタ58によって構成される累積加算器
によって累積加算が演算され、その累積加算結果がレジ
スタ59に格納される。つまり、この例のように8次元の
マトリクス演算の場合、8個の制御データがROM61に格
納され、かっこ内の計算結果の取りうる値−2,−1,0,1,
2,に応じてバレルシフタ55と符号反転器56を制御する。
バレルシフタ55では、入力データXiを1ビットシフトす
るか、そのまま出力するか、もしくはゼロを出力するか
が制御される。符号反転器56では、符号を反転するかし
ないかが制御されることによって(−Di (n+1)・21+Di
(n)・20+Di (n-1)・20)Xiの演算が行われ、後段の累積
加算器によってΣが演算される。以上、レジスタ59に格
納された演算結果は、バスコントローラ60によって、バ
スに出力するタイミングが制御され、出力端子54bを通
じてバスに出力される。
第6図に示したように、Pe52−1〜52−7は7個存在
し、各Pe52−1〜52−7の演算結果が順にバスに出力さ
れ、累積加算器53に入力されて累積加算される。この累
積加算結果が、1次元のDCT変換された値に相当する。
このようにして2次のBoothのアルゴリズムを用いて1
次元のDCT変換を行うことができる。
MCによる符号化方式 この方式は、前記文献5に記載されているように、符
号化対象フレーム(現フレーム)を小さな矩形ブロック
に分割し、各ブロックに対して前フレーム中から最も近
似度の高い部分を検出し、これを予測符号として用いる
ものである。この動きベクトルの検出説明図を第8図
(a)〜(c)に示す。
第8図(a)は、現フレームFtと前フレームFt-1の対
応を示す図である。A(m,n)は現フレームFtの分割さ
れた1ブロック、B(m,n)は前フレームFt-1のA
(m,n)に対応する検索対象ブロックである。A
(m,n+1)はA(m,n)の隣接ブロック、B
(m,n+1)はA(m,n+1)に対応する検索対象ブロッ
ク、 はブロックA(m,n),A(m,n+1)と同じ位置で同じ大
きさのブロックである。
第8図(b)は、ブロックA(m,n)に対応する検索
範囲、即ちB(m,n)の大きさを示す図である。
はブロックA(m,n)とB(m,n)内のどの部分と比較さ
れるかを示すブロックである。但し、p,qは の位置を中心にそのブロック位置で垂直方向にp、及び
水平方向にq画素だけ移動させたことを示す。
内であるから、 −r1≦p≦r2,−c1≦q≦c2 となる。ここで、ブロックA(m,n)内の各画素の値
は、そのブロックの大きさをIM×JNとすると、 で表わし、比較されるブロック 内の各画素の値を で示す。
B(m,n)内でA(m,n)と最も近似度の高い部分を検
出するのに、p,qを変化させ、A(m,n)と の差分絶対値を求め、その値が最も小さいものを近似度
の高いものとする。即ち、各p,qに対し、 の計算を行い、この計算結果が最小となるp,qを求め
る。このp,qを動きベクトル、 を予測信号として、符号化対象フレームとなる現フレー
ムFtのブロックA(m,n)との誤差を符号化した方が符
号化の効率を向上できる。
このようなMCによる符号化方式に必要な移動ベクトル
検出を、ハードウェアで実現しようとすると、次のよう
になる。
前フレームFt-1と現フレームFtのデータは、それぞれ
フレームメモリに格納され、その間でp,qを少しずつず
らしながら、(9)式に示す計算式が行われる。この計
算式では、p,qが近い場合、第8図(c)に示すよう
に、 のかなりの部分が共通な画素となる。しかし、画素単位
ではそれぞれずれた画素の計算になる。更に、第8図
(a)に示すように、検索対象のブロックB(m,n),B
(m,n+1)も共通画素を含むが、それぞれ別のブロッ
クA(m,n),A(m,n+1)との計算となるため、画素デ
ータの読み出しが複数回になり、その制御が複雑とな
る。
そのため、このような動き検出処理機能を有する装置
においては、一般に、ソフトウェアで制御が可能なマイ
クロプロセッサ等を用いて計算を行う。ところが、この
場合、扱う計算量が非常に多いため、処理に時間がかか
るという問題を有している。即ち、現フレームFt-1のブ
ロック との計算では、それぞれのブロックの大きさがIM+JNで
あるとすると、im×jn回の絶対値差分の累積加算が行わ
れる。これが各々の動きベクトル(つまり、p,qの取り
得る数)、(r1+r2+1)×(c1×c2+1)回だけ繰り
返される。これだけの計算を行って、ブロックA
(m,n)に対する動きベクトルが求まる。従って、現フ
レームFtのある1個のブロックA(m,n)に対してIM×J
N×(r1+r2+1)×(c1+c2+1)回の絶対値差分の
累積加算が行われる。これが現フレームFtの各ブロック
について行われるため、膨大な計算量となる。
一般に、マイクロプロセッサは、各計算をシリアルに
行っていくので、処理にかなりの時間がかかる。そのた
め、1フレームの画素数及び動きベクトル数をかなり制
御しなければならず、あまり実用的ではなかった。
以上のようなMCに必要な移動ベクトル検出回路やDCT
回路等を用いて映像の画像符号化装置を構成すると、第
9図のようになる。
従来の画像符号化装置 第9図に示す画像符号化装置は、符号化されるデータ
を格納する現フレームメモリ70、1フレーム前の符号化
し復号したデータを格納する前フレームメモリ71、移動
ベクトル検出回路(MV)72、フィルタ73、フィルタ73と
符号化の処理単位である基本ブロックの読み出し方向を
揃える転置回路74、及び各専用プロセッサの同期をとる
ためのバッファの役目をするファーストイン・ファース
トアウトメモリ(以下、FIFOという)75,76,77,86を備
えている。さらに、FIFO76,77の両出力データ(フィル
タリング後のデータまたはフィルタリング前のデータ)
のいずれか一方を選択するセレクタ78、減算器79、DCT
回路80、ジグザグスキャン用の一時格納メモリ81,84、
量子化回路82、逆量子化回路83、IDCT回路85、及び加算
器87が設けられている。
次に、動作を説明する。
先ず、現フレームメモリ70から、符号化するための基
本ブロックデータが読み出され、移動ベクトル検出回路
72及びFIFO75へ出力される。この時、前フレームメモリ
71からは、動き補償を行うために前記基本ブロックデー
タに対応した探索データが読み出され、移動ベクトル検
出回路72へ出力される。
移動ベクトル検出回路72では、移動ベクトルを基に、
動き補償を行い、その部分のデータが、予め読み出す方
向を縦横逆にして前フレームメモリ71から読み出され、
フィルタ73及び転置回路74に入力される。フィルタ73及
び転置回路74の出力は、FIFO76,77に格納される。その
後、セレクタ78により、FIFO76,77の両出力、つまりフ
ィルタリング後のデータまたはフィルタリング前のデー
タの、いずれか一方が選択される。
選択されたデータは、FIFO86に格納されると共に、減
算器79に送られる。減算器79は、FIFO75からの基本ブロ
ックデータから、セレクタ78の出力を減算する。この減
算結果は、DCT回路80により変換され、メモリ81に一時
的に格納される。メモリ81からジグザグスキャンで読み
出されたデータは、量子化回路82によって量子化され、
符号データとして出力される。また、次のフレームを符
号化するための原画面の復号データを作成する動作とし
ては、前記符号データを逆量子化回路83で逆量子化し、
それがメモリ84にジグザグスキャンで書き込まれて一時
的に格納される。
メモリ84のデータは、IDCT回路85で変換され、FIFO86
の出力と共に加算器87に入力される。そして、加算器87
で加算されて復号データとなり、この復号データが前フ
レームメモリ71に格納される。以後、次のフレームデー
タが現フレームメモリ70に入力し、前記と同様の動作を
繰り返し、動画像の符号化が行われる。
(発明が解決しようとする課題) しかしながら、第9図の画像符号装置では、DCTと、
動き補償のための動きベクトル検出を行うために、移動
ベクトル検出回路72やDCT回路80等といった別々の専用
のプロセッサ、又は異なるハードウェアが必要となる。
そして、これらを接続する場合、処理効率を向上させる
ためにパイプライン方式を採用するが、それによって回
路構成が複雑になり、ハード量(回路規模)が多く、コ
スト高になるという問題があり、それを解決することが
困難であった。
本発明は、前記従来技術が持っていた課題として、回
路構成の複雑化と、それによるハード量の増大及びコス
ト高の点について解決した符号化装置を提供するもので
ある。
(課題を解決するための手段) 前記課題を解決するために、本発明のうちの第1の発
明は、1フレーム内を複数のブロックに分割し、その現
ブロックと他のフレームとの比較によって動画像の符号
化を行う装置内の動きベクトル検出とマトリクス変換を
行う符号化装置において、制御信号により、評価関数値
あるいは少なくとも数ビットの乗算を行ってその乗算結
果を累積加算する複数の第1の演算回路と、入力データ
を遅延させて前記第1の演算回路へ与える複数の遅延回
路と、前記各第1の演算回路の演算結果を累積加算する
第2の演算回路とを、有するプロセッサユニットを複数
段設ける。そして、マトリクス乗算時には、前記第1の
演算回路を用い、マトリクス係数の乗算を行ってその乗
算結果を累積加算し、その累積加算結果を前記第2の演
算回路によって桁合わせを行いながら累積加算を行い、
前記各プロセッサユニットにおいて演算結果となるマト
リクスの各要素を求める。動き補償の動きベクトル検出
時には、前記遅延回路によって前記現ブロックのデータ
を遅延させ、前記第1の演算回路により、各ベクトルに
対する評価関数値を求める構成にしている。
第2の発明では、第1の発明において、前記複数段の
プロセッサユニットと、前記マトリクス演算時において
前記第2の演算回路の演算結果を格納するメモリと、前
記動き補償の働きベクトル検出時において前記各第1の
演算回路の演算結果を比較して動きベクトルの最適値を
検出する比較器とを用い、モードを切り替えることによ
って前記マトリクス演算または前記動きベクトルの検出
を行う構成にしている。
第3の発明では、第1の発明において、前記マトリク
ス演算時に、前記遅延回路により前記入力データを遅延
させて前記各第1の演算回路の演算結果を時間的にずら
して出力する構成にしている。
第4の発明では、第1の発明において、前記各第1の
演算回路内に、検索用ブロックの1走査の画素数と同数
の遅延回路を設け、前記動きベクトル検出時に前記現ブ
ロックのデータを前記第1の演算回路間に複数の該遅延
回路を配置し動きベクトルの検出範囲を拡大する構成に
している。
第5の発明では、第1の発明において、前記第1の演
算回路は、モード切り替えの制御信号によって制御され
る係数メモリと、前記係数メモリ内のデータによって制
御されるバレルシフタ及び符号反転器と、絶対値差分器
と、累積加算器とを有している。前記マトリクス演算時
には、入力データを前記バレルシフタ及び符号反転器で
処理し、その処理したデータを前記累積加算器で累積加
算し、前記動きベクトル検出時には、前記絶対値差分器
の出力を前記累積加算器で累積加算する構成にしてい
る。
第6の発明では、第2の発明において、前記複数段の
プロセッサユニットにより1次元の直交変換を行ってそ
の結果を前記メモリに格納し、更にそのメモリの内容に
対し前記プロセッサユニットで直交変換を行って2次元
の直交変換結果を求める構成にしている。
第7の発明では、第3の発明において、2次のブース
法によって展開して割り振られた前記第1の演算回路を
用い、該第1の演算回路の割り振られた次数の低い方か
ら順に演算結果を出力する。前記第2の演算回路では、
それまでの累積加算結果を下位の方向に2ビットシフト
して累積加算を行う構成にしている。
第8の発明では、第4の発明において、前記遅延回路
内に、遅延量を制御するセレクタを設け、そのセレクタ
を用いて前記第1の演算回路間の入力データの遅延数を
数クロック又は1クロック遅らせる構成にしている。
第9の発明では、第8の発明において、前記各遅延回
路を分割した2つのレジスタで構成する。前記マトリク
ス演算時には、前記2つのレジスタにそれぞれ上位、下
位のデータを格納して1クロック遅延するレジスタとし
て用い、前記動きベクトル検出時には、前記2つのレジ
スタを直列接続して2クロック遅延するレジスタとして
用いる構成にしている。
第10の発明では、第9の発明において、前記各遅延回
路内の入力段に、レジスタ及びセレクタを設けて入力デ
ータを1クロックだけ遅延させる構成にしている。
(作 用) 第1〜第10の発明によれば、以上のように符号化装置
を構成したので、マトリクス演算時には、係数データを
展開することによって累積加算でマトリクス演算を実行
し、ハード量の削除化を図っている。動き補償の動きベ
クトル検出時には、マトリクス演算時に用いたプロセッ
サユニット等の主要部分を用いて動きベクトルの検出を
行い、回路構成の共用による構成の簡単化、制御の容易
化、及びハード量の削減化を図っている。従って、前記
課題を解決できるのである。
(実施例) 第1の実施例 第1図は、本発明の第1の実施例を示す符号化装置
(即ち、符号化回路)の構成ブロック図である。
この符号化回路は、入力端子100a,100bと、出力端子1
01と、ベクトル出力端子102a,102bと、入力端子201a,20
1b及び出力端子202a,202bをそれぞれ有する複数のプロ
セッサユニット(以下、PUという)200−1〜200−16
と、複数のセレクタ300−1〜300−17と、バス301,302
と、ランダム・アクセス・メモリ(以下、RAMという)
等のメモリ303,304と、比較器305とを、備えている。
入力端子100a,100bは、初段のPU200−1の入力端子20
1a,201bに接続されている。入力端子100aは、セレクタ3
00−1〜307を介して各PU200−2〜200−7の入力端子2
01aに接続され、さらに入力端子100bは、各PUd200−2
〜200−16の入力端子202bに接続されている。各PU200−
1〜200−8の出力端子202aは、バス301に接続されてい
る。初段のPU200−1の出力端子202bは、セレクタ300−
1を介して次段のPU200−2の入力端子201aに接続さ
れ、そのPU200−2の出力端子202bは、セレクタ300−2
を介して次段のPU200−3の入力端子201aに接続されて
いる。以下同様にして、セレクタ300−3〜300−7を介
してPU200−8まで構成されている。
バス301は、メモリ303,304の入力側に接続されると共
に、セレクタ300−16を介してバス302に接続されてい
る。メモリ303,304の出力側は、各セレクタ300−8〜30
0−15を介して各PU200−9〜200−16の入力端子201aに
それぞれ接続されている。PU200−8の出力端子202b
は、セレクタ300−8を介してPU200−9の入力端子201a
に接続されている。PU209の出力端子202bは、セレクタ3
00−9を介して次段のPU200−10の入力端子201aに接続
されている。以下同様に、PU200−11〜200−16まで接続
されている。
各PU200−9〜200−16の出力端子202aは、バス302に
接続されている。このバス302には、セレクタ300−17を
介して出力端子101が接続されると共に、比較器305を介
してベクトル出力端子102a,102b及びセレクタ300−17が
接続されている。
第10図は、第1図中の各PU200−1〜200−16内の構成
ブロック図である。
このPUは、入力端子211a,211b及び出力端子212をそれ
ぞれ有する複数の第1の演算回路(例えば、Peという)
210−1〜210−7と、入力データをそれぞれ1クロック
ずつ遅らせるレジスタ等からなる複数の遅延回路(以
下、Reという)220〜1〜220−13と、バス230と、デー
タの累積加算を行う第2の演算回路(以下、AUという)
231とを、備えている。
入力端子201aには、初段のPe210−1の入力端子211a
が接続されると共に、Re220−1〜220−13が縦接続され
て出力端子202bに接続されている。各Re220−1〜220−
6の出力端子は、各Pe210−2〜210−7の入力端子211a
にそれぞれ接続され、1クロックずつ遅れた入力データ
が各Pe210−2〜210−7に入力するようになっている。
入力端子201bは、各Pe210−1〜210−7の入力端子211b
にそれぞれ接続されている。
各Pe210−1〜210−7の出力端子212はバス230を介し
てAU231に共通され、そのAU231が出力端子202aに接続さ
れている。
第11図は第10図中の各Pe210−1〜210−7の構成ブロ
ック図である。
このPeは、マトリクス演算等の係数を格納し、モード
切り替えの制御信号CSによりその内容が読み出されるRO
M等からなる係数メモリ213を備えている。この係数メモ
リ213には、その出力によって動作が制御されるバレル
シフタ215及び符号反転器216が接続されている。入力端
子211aは絶対値差分器216に接続されると共に、入力端
子211bがバレルシフタ214及び符号反転器215を介して該
絶対値差分器216に接続されている。絶対値差分器216
は、積加算器217を介して、レジスタ218、バスコントロ
ーラ219、及び出力端子212に接続されている。累積加算
器217は、加算器217a及びレジスタ217bで構成されてい
る。
以上のように構成される符号化回路において、DCTモ
ード時のDCTの変換動作(1)と、MVモード時の動きベ
クトル検出動作(2)とを、説明する。
(1)DCTモード時の動作 DCTモードの時、第1図のセレクタ300−1〜300−17
は全て縦方向の端子が選択されて接続される。即ち、入
力端子100aとPU200−1〜200−8とが直接接続され、さ
らにメモリ303,304とPU200−9〜200−16とが、直接接
続される。バス301と302はセレクタ300−16によって切
り離され、セレクタ300−17によってPU200−9〜200−1
6と出力端子101とが接続される。
本実施例において、DCTの変換はM=8の場合で、8
個のデータX0〜X7をひとまとめにしてDCTの変換を行
う。
データの流れとしては、入力端子100aから8個のデー
タX0〜X7が時系列に入力し、各Pu200−1〜200−8に同
時に入力される。各PU200−1〜200−8では、次式のよ
うに、1行分のDCTのマトリクス演算が行われる。
Y=D0・X0+D1・X1+……+D7・X7 …(8) 但し、D0〜D7;DCTのマトリクス係数 従って、このPU200−1〜200−8で1次元のDCTが行
われ、その結果が、メモリ303又は304に格納される。2
つのメモリ303,304が設けられているのは、一方がPU200
−1〜200−8からの出力を入力している時は、他方が
データを出力して後段のPU200−9〜200−16の入力とな
り、2つのメモリ302,304をトグルで用いるためであ
る。
8個の入力データX0〜X7に対して各PU200−1〜200−
8から1つずつ、計8個のデータが出力され、それらが
バス301上でぶつからないように制御されてメモリ303又
は304に入力される。もしここで、メモリ303が入力で、
メモリ304が出力であるならば、前段の各PU200−1〜20
0−8の出力が、メモリ303に入力にされると同時に、メ
モリ304の出力が、後段の各PU200−9〜200−16の入力
となる。この動作を8回繰り返す。
つまりM=8の場合、2次元のDCTの変換のひとまと
めとして扱う64個のデータが入力されて、前段の各PU20
0−1〜200−8の出力がメモリ303に入力し終わると、
2つのメモリ303,304の入出力関係が逆になり、今度は
メモリ303が、データを後段の各PU200−9〜200−16に
出力する。
第12図(a),(b)は、1次元DCTの変換データを
格納する第1図のメモリ303,304に対する、書き込み時
と読み出し時の入出力するデータの順序を示す図であ
る。
前段の各200−1〜200−8の出力をメモリ303又は304
に書き込む場合、第12図(a)に示すように、例えば横
方向で8個ずつデータを書き込む。次に、メモリ303の
データを後段の各PU200−9〜200−16へ出力する場合、
第12図(b)に示すように、縦方向に順番に8個ずつデ
ータを読み出す。
このように、メモリ303,304に対するデータの書き込
み、読み出し方向を代えることにより、後段のPU200−
9〜200−16が前段のPU200−1〜200−8と同じ動作を
することで、その後段のPU200−9〜200−16の出力は、
2次元DCTの変換を行ったデータとなる。このデータ
は、後段の各PU200−9〜200−16から1ずつ、計8個の
データを出力し、バス302上で各PU200−9〜200−16の
出力がぶつからないように制御されて、出力端子101か
ら出力される。
次に、第10図及び第11図において、(8)式に示すよ
うに、各PU200−1〜200−16で実行されるDCTのマトリ
クス演算の1行分の計算動作 Y=D0・X0+D1・X1+……+D7・X7 …(8) について、説明する。この例では、DCTのマトリクス係
数を15ビットとして計算を行う。
第10図に示すように、DCTのマトリクス演算の1行分
計算((8)式)を行う場合、乗算器を用いず、全て累
積加算動作で実行される。その手法としては、従来例で
示したように、2次のBoothのアルゴリズムを用い、係
数データを分解して演算結果を得る手法を用いる。つま
り、(8−2)式の1行分の演算 Σ((−Di (n+1)・21+Di (n-1)・20+Di (n-1)・20)2n・Xi) の計算を各Pe210−1〜210−7で演算させ、その結果が
順にバス230上に出力され、AU231に入力されて全ての合
計が演算される。ここで、(8−2)式の()内の取り
うる値は、−2,−1,0,1,2なので、例として、 ((−2)・X0+1・X1+2・X2 +0・X3+(−1)・X4+2・X5 +1・X6+0・X7)2n …(8−3) の演算式をあげ、各Pe210〜210−7の演算方法を第11図
を用いて説明する。
まず、入力端子211bから入力データX1が入力され、係
数メモリ213の制御データに従ってバレルシフタ214と符
号反転器215によって制御される。この場合だと、最初
にX1と−2との乗算を実行するために、バレルシフタ21
4では1ビットシフトし、符号反転器215では符号を変換
して後段の絶対値差分器216に渡される。このモード時
には、値ゼロとの差分絶対値が行われる。即ち、符号反
転器215の出力値がそのまま加算器217aに入力され、ま
ずはゼロとの加算が行われてレジスタ217bに格納され
る。次に、入力端子211bから入力データX2が入力され、
前回と同様に、係数メモリ213への制御データに従っ
て、バレルシフタ214と符号反転器215によって制御され
るが、この場合だと、X2と1との乗算を実行することに
なるので、バレルシフタ214ではビットシフトせず、符
号反転器215も符号はそのままで、後段の絶対値差分器2
16に渡される。この絶対値差分器216も前回同様何もせ
ずに加算器217aに入力され、先ほどのレジスタ217bの内
容との加算が行われ、次のタイミングでその結果が同じ
くレジスタ217bに格納されている。
以下、X2X3X4X5X6X7の入力データは、この場合、それ
ぞれ2,0,1,−2,1,0との乗算を前記のバレルシフタ214と
符号反転器215によって実行し、その結果を加算器217a
とレジスタ217bから構成される累積加算器217によって
累積加算を行う。このようにして8個のデータX0〜X7の
入力が終わり、加算結果が出力されるタイミングで、レ
ジスタ218に格納し、同時に加算器217aにもクリア信号
を入力し、次のデータX0がレジスタ217bにそのまま格納
される。その累積加算結果は、バスコントローラ219に
よって第10図内のPU210−1〜210−7内のバス230上で
各Peの出力がぶつからないように制御される。
このようにして、例えばPe210−1では(8−3)式
の係数の次数が一番低い1行分の演算Σ(−Di (1)・21
+Di (0)・20)20・Xiの計算が行われる。同時に、Pe210
−2では、次に低い1行分の演算Σ(−Di (3)・21+Di
(2)・20+Di (1)・20)22・Xiの計算というように、各Pe
で(8−3)式の各行の演算が行われ、その累積加算結
果がバス230に出力される。バス230上にPe210−1からP
e210−7の順番で出力された累積加算結果はAU231で累
積加算され、出力端子202aから出力される。
各Pe210−1〜210−7の演算結果とその演算結果が出
力されるタイミングチャートを第13図に示す。
第13図中のD1(0)〜D8(0)…は入力データ、S1(0)〜S7
(0)…は演算結果、OUT(0),OUT(1)は出力データで
ある。
このタイムチャートでは、入力データD1(0)〜D8(0)
がRe220−1〜220−6によって各Pe210−1〜210−7に
遅延して入力するため、演算結果S1(0)〜S7(0)…も隣の
Peより1クロック遅れて出力している。
ここで、第10図のAU231では、各Pe210−1〜210−7
の演算結果を累積加算する時に、各Pe毎に演算結果の桁
が違うため、桁合わせを行いながら累積加算を行う必要
がある。Pe210−1から順に出力されるこの例では、隣
合うPeの演算結果の桁が2ビットずつずれているので、
AU231では、累積加算をするときに、加算結果の方を2
ビット下位にシフトして加算する必要がある。このよう
に、各PU210−1〜210−7では、DCT変換されるデータ
は滞ることなく出力端子202aからPUの外部へ出力され
る。
またこの構成は、マトリクス演算を行えることから、
第11図のPe内の係数メモリ213を追加するか、あるいは
そのメモリ内容を追加することで、IDCTの変換や、第3
図のフィルタの演算を実行することも可能である。
(2)MVモード時の動作 MVモードの時は、DCTモードの時とは逆に、第1図に
おいてセレクタ300−1〜300−17は全て横方向の端子が
選択されて接続される。つまり、入力端子100aはPU200
−1とだけ接続され、他のPU200−2〜200−16は左隣の
PUの出力信号を入力する。バス301と302はセレクタ300
−16によって接続され、さらにセレクタ300−17によっ
て全PU200−1〜200−16までの出力が比較器305を通し
て出力端子101と接続される。
この例のMV検出回路において使用されるデータは、第
14図(a)〜(c)に示すように、検出する基本ブロッ
ク(第14図(a))の大きさが7×7で、その検索範囲
いはX方向が−3〜+3まで、Y方向が−8〜+7まで
可能である。第1図においては、入力端子100aから基本
ブロックデータAを入力し、入力端子100bからは第14図
(b)の検索用ブロックデータB1を入力する。この検索
用ブロックデータB1は、各PU200−1〜200−16内の各Pe
210−1〜210−7に直接入力される。
入力端子100aから入力された基本ブロックデータA
は、PU200−1に入力され、第10図に示す13個のRe220−
1〜220−13で13クロック遅延して隣りのPU200−2に送
られる。同様に、他のPU200−3〜200−16でも、隣のPU
より13クロック遅延したデータが渡される。各PU200−
1〜200−16では、第10図のようにPe210−1〜220−7
が7個存在し、その1つ1つがベクトル候補地の演算を
担当する。前記のDCTモードで累積加算を行ったAU231
は、このMVモードの時は何もしないので、各Pe210−1
〜210−7の出力は比較器305に直接接続されていること
になる。第1図においてPU200−1では、X方向が−3
〜+3まで、Y方向が−8のベクトル候補地の候補ブロ
ックと基本ブロックとの誤差量が計算される。誤差量の
求め方は、第11図のPeで次のように計算される。
DCTモード時の制御信号CSによって係数メモリ213から
出力されるデータにより、バレルシフタ214及び符号反
転器215が制御される。ところが、MVモードの時には、
バレルシフタ214及び号反転器215がスルー状態となるた
め、入力端子211bから入力された基本ブロックデータA
はそのまま絶対値差分器216へ送られる。絶対値差分器2
16は、入力端子211aからの検索用ブロックデータB1,B2
と、入力端子211bからの基本ブロックデータAとの、差
分絶対値を計算する。この計算結果は、加算器217aの入
力となり、累積加算が行われる。この例では、基本ブロ
ックデータ数が49=7×7なので、その回数だけ累積加
算が行われ、その結果がレジスタ218に格納されると同
時にレジスタ217bもクリアされる。そして比較器305と
接続しているバス230上で、累積加算結果同士がぶつか
らないように、バスコントローラ219によって制御され
る。このMV検出モード時のPU内のタイムチャートを第15
図に示す。
第15図において、検索用ブロックデータB1は、第10図
の入力端子201bから入力され、基本ブロックデータAは
入力端子201aからPe210−1に入力される。制御信号CS1
はPe210−1においてその時の入力データに対して演算
を行うか、停止するかを制御する信号、CS2はPe210−1
においてその時の入力データに対して演算を行うか、停
止するかを制御する信号である。
第10図の入力端子201bから入力される検索用ブロック
データB1は、第14図(b)に示すように、ブロックの左
上のB(0,0)から順にB(1,0),B(2,0),…のよう
に縦方向に逐次入力し、B(12,0)まで入力すると、次
のB(0,1)というように、次の列へと連続的に入力さ
れる。入力端子201aから入力される基本ブロックデータ
Aは、第14図(a)に示すように、ブロックの左上のA
(0,0)から順にA(1,0),A(2,0),…のように縦方
向に逐次入力し、A(6,0)まで入力すると、一時的に
入力を停止し、検索用ブロックの走査が次の列に移ると
同時に、再び次の列の基本ブロックデータAの入力を開
始する。即ち、入力端子201aと201bからの入力データ
は、それぞれ基本ブロックデータA、検索用ブロックデ
ータB1の列の先頭から同期して入力される。
このような入力データに対して、Pe210−1では、基
本ブロックデータAがA(6,6)まで入力し演算が終わ
った時点で、次式に(9−1)に示すp=−3,g=−8
の計算が行われたことになる。
この演算結果、即ちベクトルp=−3,g=−8に対す
る差分絶対値の累積値は、第1図の比較器305へ送られ
る。
Pe210−2においても同様の計算が行われる。但し、
入力端子210aから入力される基本ブロックデータAは、
Re220−1によって1クロックタイミングずれて入力さ
れるので、次式(9−2)に示すp=−2,g=−8の計
算が行われることになる。
入力がPe210−1より1クロックタイミングずれてい
るため、出力も1クロック遅れて出力される。
このようにしてPe210−1〜Pe210−7により、ベクト
ルp=−3〜+3、g=−8に対応する演算結果を、そ
れぞれ1クロックずれたタイミングで出力する。第1図
のPU200−2では、初段の直列に接続されたRe群によっ
て基本ブロックデータAの1列ずれたデータが与えられ
るため、ベクトルP=−3〜+3,g=−7に対応する演
算結果を出力する。
以上のようにして各Pe210−1〜210−7でベクトル候
補地p=−3〜+3,g=−8〜+7の演算を行い、その
結果が全て比較器305に集められ、該比較器305により、
それらの中から最小値を見つけ、それに対応したベクト
ルも保持する。そして全てのベクトル候補地の演算が終
了した時点で、ベクトル出力端子102aと102bに各々の値
を出力すると共に、その時の誤差量も出力端子101から
出力される。
ここで、第10図のPe210−1は、基本ブロックデータ
A及び検索用ブロックデータB1が入力され、演算が終わ
ると、その基本ブロックデータAに対するベクトル候補
地p=−3,g=−8の演算を終了し、その次の列の入力
と共に次の基本ブロックデータAに対するベクトル候補
地p=−3,g=−8の演算を開始する。このように次々
に、次のブロックの各Pe210−1〜210−7に割り振られ
たベクトル候補地の演算を行ってゆく。そのため、ある
基本ブロックの検索用のブロックデータB1の入力データ
が終了しても、次の基本ブロックの検索用ブロックデー
タB1の入力データを始めから入力する必要がなく、入力
データが終了した次の列を連続的に入力することができ
る。
このように、基本ブロックデータA、検索用ブロック
データB1ともに走査方向に逆戻りすることなく、連続し
て入力することによって、動きベクトルが次々に出力さ
れる。従って、極めて効率的に各ブロックに対する動き
ベクトルを求めることができる。
第2の実施例 第16図は、本発明の第2の実施例を示すもので、第1
図中のPUの構成ブロック図である。
このPUでは、各Pe210−2〜210−7の入力データを遅
延させるRe220−1a〜220−6aを1段追加し、各2段設け
ている。そして、第14図(c)に示した検索用ブロック
データB2を用い、第10図と同様にデータを入力して動き
補償のための動きベクトル検出を行う。その時のタイム
チャートを第17図に示す。
このように、Re220−1a〜220−6aを追加したことで検
索範囲が広がり、X方向が−6〜+6まで、Y方向が−
8〜+7まで可能となる。しかし、ベクトル候補地の誤
差量は、計算するPeの数が変わらないので、間引かれた
ベクトル候補地の説明図である第18図に示すように、ち
ょうどX軸方向に、ベクトル候補値演算が間引かれた形
になる。
この第2の実施例では、動き補償のための動きベクト
ル検出を行う検索範囲を広くとるために、Re220−1a〜2
20−6aを付加している。しかし、実際はDCT入力データ
と基本ブロックデータとのビット幅が異なることが多い
ので、Re220−1a〜220−6aを付加することなく、検索範
囲を広げることも可能である。その構成例を、次の第3
の実施例で説明する。
第3の実施例 第19図は、DCT入力データ幅が基本ブロックデータ幅
の2倍であると仮定した場合の、第10図中の各Re220−
1〜220−7の構成図である。
このReは、入力端子221a,221b及び出力端子222a,222b
を有し、その間に、基本入力データ幅のレジスタ225,22
6を2つ設け、その前段に、入力データを制御するセレ
クタ223,224を設けた構成になっている。
DCTモード時には2つのレジスタ225,226を上位、下位
に割り振る。つまり入力端子221bからDCT入力データの
下位データが、入力端子221aからDCT入力データの上位
データが入力し、セレクタ223,224ではそのままレジス
タ225,226に入力されるように選択される。このモード
では、1クロック遅れて出力するので、上記に示した実
施例と同じ動作をする。MV検出モードでは、入力端子22
1bから基本ブロックデータが入力されると、このデータ
はまずレジスタ225に格納され、次にレジスタ226に格納
れるようにセレクタ223,224によってデータの流れが制
御される。このようにレジスタ225,226を2段通過して
いるので、2クロック遅れて出力する。このようにし
て、MV検出モードでは、レジスタ225,226を付加するこ
となく検索範囲を広げ、DCTモード時には、レジスタ22
5,226によって遅延することがないので、今までと同じ
速度で変換することができる。
また、この入力端子の前段にレジスタを1段設けるこ
とによってベクトル候補地演算の間引かれた位置が1つ
ずつずれるので、先ほど間引かれたベクトル候補地の演
算が可能となる。このようにして、入力端子の前段のレ
ジスタの後段にセレクタを設け、入力データの遅延を制
御することにより、1回では間引かれた形になるが、2
回データを流すことで、全ての場所のベクトル検出が可
能となる。
第4の実施例 第20図は、本発明の第4の実施例を示す画像符号化装
置の構成ブロック図である。
この画像符号化装置は第1図の符号化回路を用いて構
成されており、符号化されるデータ(現フレームデー
タ)が格納されている現フレームメモリ400、ジグザグ
スキャン用の一時格納メモリ401、1フレーム前のデー
タをこの装置内で符号化し復号したデータが格納されて
いる前フレームメモリ402、及び前フレームメモリ402デ
ータをフィルタ処理した後のデータが格納されているフ
ィルタ処理後格納メモリ403を備えている。現フレーム
メモリ400、IDCT変換前のデータを格納したメモリ401、
及び信号 には、それらのいずれか1つを選択するセレクタ404が
接続されている。
フィルタリング前のデータが格納された前フレームメ
モリ402、及びフィルタリング後のデータが格納された
フィルタ処理後格納メモリ403には、それらのいずれか
1つを選択するセレクタ405が接続されている。このセ
レクタ405の出力側は、信号 と共にセレクタ406,409にそれぞれ接続されている。セ
レクタ404,406の各出力側は、減算器407に接続され、該
減算器407と前フレームメモリ402が符号化回路408に接
続されている。
符号化回路408は、集積化(LSI等)された第1図の回
路で構成されており、その出力側がセレクタ409と共に
加算器410に接続されている。加算器410の出力側は、シ
グザグスキャン用の一時格納メモリ411を介して、量子
化回路412に接続され、さらにその量子化回路(Q)412
が、逆量子化回路(Q-1)413を介してメモリ401に接続
されている。
次に、動作を説明する。
先ず、現フレームメモリ400から、符号化するための
基本ブロックデータAが読み出され、前フレームメモリ
402からは、動き補償を行うために該基本ブロックデー
タAに対応した検索用ブロックデータBが読み出され
る。この時、セレクタ404は現フレームデータ(基本ブ
ロックデータA)を選択すると共に、セレクタ406,409
は共に を選択する。そのため、符号化回路408には、基本ブロ
ックデータAと検索用ブロックデータBとがそのまま入
力され、MVモードにして移動ベクトルが検出される。こ
の移動ベクトルを基に動き補償が行われたその部分のデ
ータが、前フレームメモリ402から読み出され、セレク
タ405,406は前フレームデータを選択すると共に、セレ
クタ404,409が共に を選択する。これにより、前フレームメモリ402のデー
タが符号化回路408に入力し、フィルタモードでフィル
タリングされる。その結果は、フィルタ処理後格納メモ
リ403に格納される。
次に、セレクタ405,406により、フィルタをかけたデ
ータとフィルタをかける前のデータとのいずれか一方を
選択し、セレクタ404によって選択された現フレームメ
モリ400のデータと共に、減算器407に入力した後、その
減算結果が符号化回路408に入力される。この時、符号
化回路408はDCTモードとなってDCT変換され、そのデー
タがメモリ411に一時的に格納され、出力時にはジグザ
グスキャンで読み出される。
このメモリ411のデータは、量子化回路412により量子
化されて出力される。また、逆量子化回路413では、量
子化回路412の出力データを逆量子化し、そのデータが
ジグザグスキャンでメモリ401に書き込まれて一時的に
格納される。このメモリ401のデータは、セレクタ404に
よって選択され、セレクタ406が を選択するので、減算器407を介して符号化回路408に入
力される。この時、符号化回路408は、IDCTモードとな
ってIDCT変換され、セレクタ405,409によって選択され
たフィルタリング後のデータとフィルタリンク前のデー
タとのいずれか一方のデータと共に、加算器410で加算
され、次のフレームを符号化するのに必要なデータとし
て前フレームメモリ402に格納される。
このように、符号化回路408を時分割にしてモードを
切り替え、MV検出、フィルタ、DCT変換、及びIDCT変換
として使用することにより、画像符号化装置の構成を簡
略化し、従来のものよりも、ハード量の削減化と低コス
ト化が図れる。
なお、本発明は上記実施例に限定されず、第1図のPU
200−1〜200−16及びメモリ303,304の数を入力データ
のビット数に応じて他の数に変形したり、あるいは各PU
200−1〜200−16の回路構成を第10図及び第16図以外の
構成に変形する等、種々の変形が可能である。
(発明の効果) 以上詳細に説明したように、本発明によれば、モード
切り替え可能なPUを用いてマトリクス演算、及び動き補
償の動きベクトル検出を行うので、多機能化が図れる。
しかも、マトリクス演算と動きベクトル検出とを第1の
演算回路を共通に使用することで、回路構成の多くの部
分を共用できるため、回路構成の簡単化、ハード量の削
減化、及び低コスト化が可能となる。
さらに、本発明を、例えば、2次元のDCT時と、動き
補償の動きベクトル検出を行う回路に適用し、DCT時の
マトリクス演算に2次のBoothのアルゴリズムを用いる
と、ハード量が小さくなり、しかも動き補償の動きベク
トル検出も、例えば基本ブロックデータと検索用のブロ
ックデータを2度入力することによって全ブロック領域
の検索が可能となる。
さらにまた、本発明はDCTモードの時、マトリクス演
算を行えるので、係数メモリを追加、あるいは変更する
ことにより、他のマトリクス演算を実行できる。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示す符号化回路の構成
ブロック図、第2図は従来のテレビ会議用CODECの構成
ブロック図、第3図は第2図中のソース符号化回路の構
成図、第4図は従来の1次元DCTのデータフローを示す
図、第5図は従来の2次元DCTの構成例を示す図、第6
図は従来の2次Boothを用いた1行分のマトリクス演算
回路の構成図ブロック図、第7図は第6図中のPeの構成
図ブロック図、第8図(a)〜(c)は従来の動きベク
トル検出の説明図、第9図は従来の画像符号化装置の構
成図ブロック図、第10図は第1図中のPUの構成図ブロッ
ク図、第11図は第10図中のPeの構成図ブロック図、第12
図は第1図のメモリのデータ入出力を示す図、第13図は
第1図のDCTモード時のPU内タイムチャート、第14図
(a)〜(c)は第1図の基本ブロックと検索用ブロッ
クを示す図、第15図は第1図のMV検出モード時のPU内タ
イムチャート、第16図は本発明の第2の実施例を示す第
1図中のPUの構成ブロック図、第17図は第16図における
MV検出モードのレジスタ2段構成時のタイムチャート、
第18図は第16図における間引かれたベクトル候補地を示
す図、第19図は第3の実施例を示す第1図中のReの構成
図、第20図は本発明の第4の実施例を示す画像符号化装
置の構成ブロック図である。 200−1〜200−16……プロセッサユニット(PU)、210
−1〜210−7……第1の演算回路(Pe)、213……係数
メモリ、214……バレルシフタ、215……符号反転器、21
6……絶対値差分器、217……累積加算器、220−1〜220
−13,220−1a〜220−6a……遅延回路(Re)、223,224…
…セレクタ、225,226……レジスタ、231……第2の演算
回路(AU)、300−1〜300−17……セレクタ、303,304
……メモリ、305……比較器。
フロントページの続き (72)発明者 水谷 秀夫 東京都港区虎ノ門1丁目7番12号 沖電 気工業株式会社内 (56)参考文献 特開 昭63−274279(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 7/32

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】1フレーム内を複数のブロックに分割し、
    その現ブロックと他のフレームとの比較によって動画像
    の符号化を行う装置内の動きベクトル検出とマトリクス
    変換を行う符号化装置において、 制御信号により、評価関数値あるいは少なくとも数ビッ
    トの乗算を行ってその乗算結果を累積加算する複数の第
    1の演算回路と、 入力データを遅延させて前記第1の演算回路へ与える複
    数の遅延回路と、 前記各第1の演算回路の演算結果を累積加算する第2の
    演算回路とを、有するプロセッサユニットを複数段設
    け、 マトリクス演算時には、前記第1の演算回路を用い、マ
    トリクス係数の乗算を行ってその乗算結果を累積加算
    し、その累積加算結果を前記第2の演算回路によって桁
    合わせを行いながら累積加算を行い、前記各プロセッサ
    ユニットにおいて演算結果となるマトリクスの各要素を
    求め、 動き補償の動きベクトル検出時には、前記遅延回路によ
    って前記現ブロックのデータを遅延させ、前記第1の演
    算回路により、各ベクトルに対する評価関数値を求める
    構成にしたことを特徴とする符号化装置。
  2. 【請求項2】請求項1記載の符号化装置において、 前記複数段のプロセッサユニットと、前記マトリクス演
    算時において前記第2の演算回路の演算結果を格納する
    メモリと、前記動き補償の動きベクトル検出時において
    前記各第1の演算回路の演算結果を比較して動きベクト
    ルの最適値を検出する比較器とを用い、 モードを切り替えることによって前記マトリクス演算ま
    たは前記動きベクトルの検出を行う構成にしたことを特
    徴とする符号化装置。
  3. 【請求項3】請求項1記載の符号化装置において、 前記マトリクス演算時に、前記遅延回路により前記入力
    データを遅延させて前記各第1の演算回路の演算結果を
    時間的にずらして出力する構成にしたことを特徴とする
    符号化装置。
  4. 【請求項4】請求項1記載の符号化装置において、 前記各第1の演算回路内に、検索用ブロックの1走査の
    画素数と同数の遅延回路を設け、 前記動きベクトル検出時に前記現ブロックのデータを前
    記第1の演算回路間に複数の該遅延回路を配置し動きベ
    クトルの検出範囲を拡大する構成にしたことを特徴とす
    る符号化装置。
  5. 【請求項5】請求項1記載の符号化装置において、 前記第1の演算回路は、モード切り替えの制御信号によ
    って制御される係数メモリと、前記係数メモリ内のデー
    タによって制御されるバレルシフタ及び符号反転器と、
    絶対値差分器と、累積加算器とを有し、 前記マトリクス演算時には、入力データを前記バレルシ
    フタ及び符号反転器で処理し、その処理したデータを前
    記累積加算器で累積加算し、 前記動きベクトル検出時には、前記絶対値差分器の出力
    を前記累積加算器で累積加算する構成にしたことを特徴
    とする符号化装置。
  6. 【請求項6】請求項2記載の符号化装置において、 前記複数段のプロセッサユニットにより1次元の直交変
    換を行ってその結果を前記メモリに格納し、更にそのメ
    モリの内容に対し前記プロセッサユニットで直交変換を
    行って2次元の直交変換結果を求める構成にしたことを
    特徴とする符号化装置。
  7. 【請求項7】請求項3記載の符号化装置において、 2次のブース法によって展開して割り振られた前記第1
    の演算回路を用い、該第1の演算回路の割り振られた次
    数の低い方から順に演算結果を出力し、 前記第2の演算回路ではそれまでの累積加算結果を下位
    の方向に2ビットシフトして累積加算を行う構成にした
    ことを特徴とする符号化装置。
  8. 【請求項8】請求項4記載の符号化装置において、 前記遅延回路内に、遅延量を制御するセレクタを設け、
    そのセレクタを用いて前記第1の演算回路間の入力デー
    タの遅延数を数クロック又は1クロック遅らせる構成に
    したことを特徴とする符号化装置。
  9. 【請求項9】請求項8記載の符号化装置において、 前記各遅延回路を分割した2つのレジスタで構成し、 前記マトリクス演算時には、前記2つのレジスタにそれ
    ぞれ上位、下位のデータを格納して1クロック遅延する
    レジスタとして用い、 前記動きベクトル検出時には、前記2つのレジスタを直
    列接続して2クロック遅延するレジスタとして用いる構
    成にしたことを特徴とする符号化装置。
  10. 【請求項10】請求項9記載の符号化装置において、 前記各遅延回路内の入力段に、レジスタ及びセレクタを
    設けて入力データを1クロックだけ遅延させる構成にし
    たことを特徴とする符号化装置。
JP17919490A 1990-07-06 1990-07-06 符号化装置 Expired - Fee Related JP3004687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17919490A JP3004687B2 (ja) 1990-07-06 1990-07-06 符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17919490A JP3004687B2 (ja) 1990-07-06 1990-07-06 符号化装置

Publications (2)

Publication Number Publication Date
JPH0468890A JPH0468890A (ja) 1992-03-04
JP3004687B2 true JP3004687B2 (ja) 2000-01-31

Family

ID=16061580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17919490A Expired - Fee Related JP3004687B2 (ja) 1990-07-06 1990-07-06 符号化装置

Country Status (1)

Country Link
JP (1) JP3004687B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63274279A (ja) * 1987-04-30 1988-11-11 Nec Corp 動画処理装置

Also Published As

Publication number Publication date
JPH0468890A (ja) 1992-03-04

Similar Documents

Publication Publication Date Title
EP0528293B1 (en) Apparatus for reducing quantization artifacts in an interframe hybrid coding system with motion compensation
JP2924431B2 (ja) 符号化方式
US6694342B1 (en) Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
KR100203913B1 (ko) 모션 벡터 생성기
US6195389B1 (en) Motion estimation system and methods
US5973742A (en) System and method for performing motion estimation with reduced memory loading latency
KR100281148B1 (ko) 대역 압축 장치
US5099325A (en) Process and circuit for block matching in two-dimensional picture signals
JPH0865681A (ja) 動きベクトル検出装置およびそれを使用した動き補償予測符号化システム
EP0585051A2 (en) Image processing method and apparatus
US5604546A (en) Image signal processing circuit for performing motion estimation
US20100128792A1 (en) Video decoding method
CN1115548A (zh) 预测运动的一种方法和设备
US6041079A (en) Field/frame conversion of DCT domain mixed field/frame mode macroblocks using 1-dimensional DCT/IDCT
JP3004687B2 (ja) 符号化装置
JP3125145B2 (ja) 画像データの高能率符号化方法及びその装置
JP3004686B2 (ja) 符号化回路及び画像符号化装置
JP2673034B2 (ja) 画像符号化方式
KR100266161B1 (ko) 디지털 영상을 위한 움직임 추정방법(Method of Predicting Motion for Digital Image)
JP3004688B2 (ja) 符号化装置
JPH06153185A (ja) 動き補償装置及びこれを用いた符号化装置
JP4564599B2 (ja) ゼロブロック予測器モジュールを用い改良したビデオコーディングのための方法および装置
JP4185579B2 (ja) パイプライン構造計算回路
JPH08149481A (ja) 映像信号符号化・復号化装置及び符号化・復号化方法
JP2964633B2 (ja) 画像信号符号化装置及び方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees