JPH07288813A - 動画像の動き補償方法 - Google Patents

動画像の動き補償方法

Info

Publication number
JPH07288813A
JPH07288813A JP8126294A JP8126294A JPH07288813A JP H07288813 A JPH07288813 A JP H07288813A JP 8126294 A JP8126294 A JP 8126294A JP 8126294 A JP8126294 A JP 8126294A JP H07288813 A JPH07288813 A JP H07288813A
Authority
JP
Japan
Prior art keywords
line segment
motion
point
addition point
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.)
Pending
Application number
JP8126294A
Other languages
English (en)
Inventor
Takashi Endo
隆史 遠藤
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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP8126294A priority Critical patent/JPH07288813A/ja
Publication of JPH07288813A publication Critical patent/JPH07288813A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

(57)【要約】 【目的】動きベクトルの内挿を簡易な構成で実現する動
画像符号化装置の動き補償方法を提供する。 【構成】辺の長さがmとnである平行四辺形を複数並べ
て画面を覆うように配置し、線分の始点に対する動き付
加点の位置を求めて動き補償を行い、次に動き付加点の
位置の線分内変化率△Xを求め、次に既に求めた動き付
加点の位置に前記線分内変化率△Xを加算することによ
り、次の画素に対する動き付加点の位置を求め動き補償
を実行する。この処理を繰り返すことにより線分上の画
素の動き補償を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は動き補償を実行して画像
間の相関を除去する動画像の符号化方法に関し、特に非
常に低い伝送レートの回線において使用して好適な動き
補償方法に関する。
【0002】
【従来の技術】従来平行四辺形の4頂点で求められた動
きベクトルを平行四辺形内部で内挿する超低ビットレー
トの動画像符号化技術が提案されている(例えば、電子
情報通信学会技術研究報告IE92-117『動画像の極低ビッ
トレート符号化』を参照)。これは、図6のように画像
中に平行四辺形を設定し、平行四辺形の各頂点を変位さ
せ、前フレームと現在のフレームとの間で対応する平行
四辺形間の写像を4頂点の動きベクトルの線形内挿によ
り定め、動き補償を実行することにより、低ビットレー
トであっても予測性能の優れた動き補償を可能にしたも
のである。ここで4つの動きベクトルの線形内挿とは次
のようなものである。
【0003】
【数1】
【0004】但し4つの動きベクトルはVa 、Vb 、V
c 、Vd であり図6に示すような位置関係にあり、
(p,q)は平行四辺形における画素の位置に応じて定
まる変数でそれぞれ0から1までの値をとる。
【0005】
【発明が解決しようとする課題】従来の技術において
は、各平行四辺形ごとに動き予測画像を生成する際に頂
点において指定される動きベクトルに所定の係数を乗算
して合成する処理を行う必要があり、処理時間が多くか
かるという問題があった。また回路として実現する際に
は、乗算回路が必要なため回路規模が大きくなり、消費
電力が増大するという問題があった。特にテレビ電話等
のように、リアルタイムで画像を符号化して伝送しかつ
受信した符号を復号する装置に応用するためには、高速
で高価な演算回路を必要とするという問題があった。
【0006】
【課題を解決するための手段】本発明は、辺の長さがm
とnである平行四辺形を複数並べて画面を覆うように配
置し、平行四辺形の頂点における動きベクトルを設定
し、これらの動きベクトルを平行四辺形内で内挿する動
画像の動き補償方法において、前記平行四辺形はm+1
個の格子点からなるn+1個の線分により構成され、そ
のうちのm個の画素の範囲をn個の線分について走査す
るものであり、変数jを1からnまでの整数として、第
j番目の線分の始点に対する動き付加点の位置を求め
て、その位置における前フレームの値を求め、これを前
記始点における現在のフレームの画素値とする処理と、
前記線分上の動き付加点の位置の線分内変化率△Xを求
める処理と、変数iを2からmまでの整数として、前記
線分上の第i−1番目の画素に対して既に求めた動き付
加点の位置に前記線分内変化率△Xを加算することによ
り、前記線分上の第i番目の画素に対する動き付加点の
位置を求め、その位置における前フレームの値を求め、
これを前記画素における現在のフレームの画素値とする
処理を行う動画像の動き補償方法である。
【0007】また本発明は、前記第j番目の線分上の動
き付加点の位置の線分内変化率△Xを求める処理は、前
記線分の終点に対する動き付加点の位置と始点に対する
動き付加点の位置との差を線分の長さmで割った値とし
て求める処理である動画像の動き補償方法である。
【0008】また本発明は、前記第j番目の線分上の動
き付加点の位置の線分内変化率△Xを求める処理は、前
記線分の終点における動きベクトルと始点における動き
ベクトルとの差ベクトルを線分の長さmで割ったベクト
ルに、線分の走査を表すベクトルを加算して求める処理
である動画像の動き補償方法である。
【0009】また本発明は、辺の長さがmとnである平
行四辺形を複数並べて画面を覆うように配置し、平行四
辺形の頂点における動きベクトルを設定し、これらの動
きベクトルを平行四辺形内で内挿する動画像の動き補償
方法において、前記平行四辺形はm+1個の格子点から
なるn+1個の線分により構成され、そのうちのm個の
画素の範囲をn個の線分について走査するものであり、
第1番目の線分の始点の位置にその画素における動きベ
クトルを加算することにより、始点に対する動き付加点
の位置を求める処理と、第1番目の線分における動き付
加点の位置の線分内変化率△Xを求める処理と、線分の
変更に伴う始点に対する動き付加点の位置の線分間変化
率△Bを求める処理と、線分の変更に伴う変化率△Xの
線分間変化率△ξを求める処理と、変数jを1からnま
での整数として、jが2からnまでの整数のとき、第j
−1番目の線分において既に求めた動き付加点の位置の
線分内変化率△Xに前記線分間変化率△ξを加算するこ
とにより、第j番目の線分における動き付加点の位置の
線分内変化率△Xを求め、第j−1番目の線分の始点に
対して既に求めた動き付加点の位置に、前記始点に対す
る動き付加点の位置の線分間変化率△Bを加算すること
により、第j番目の線分の始点に対する動き付加点の位
置を求める処理と、第j番目の線分の始点に対する動き
付加点の位置における前フレームの値を求め、これを前
記始点における現在のフレームの画素値とする処理と、
変数iを2からmまでの整数として、第j番目の線分上
の第i−1番目の画素に対して既に求めた動き付加点の
位置に前記動き付加点の位置の線分内変化率△Xを加算
することにより、前記線分上の第i番目の画素に対する
動き付加点の位置を求め、この位置における前フレーム
の値を求め、これを前記画素における現在のフレームの
画素値とする処理を行う動画像の動き補償方法である。
【0010】辺の長さがmとnである平行四辺形は、正
方形、長方形、一般の平行四辺形のいずれでもよく、こ
れらの頂点において動きベクトルが設定される。動き補
償は平行四辺形を単位に実行するが、隣接する平行四辺
形との重複を避けて走査する。すなわち辺の長さがmと
nである平行四辺形は、m+1個の画素からなるn+1
個の線分により構成されるが、動き補償を実行する単位
はそのうちのm個の画素のn個の線分の範囲となる。ま
た画像の端においては画像データが存在しない格子点が
平行四辺形の頂点となるが、この頂点についても動きベ
クトルが探索され、もし動きがあれば伝送される。この
ため本発明においてはこの格子点も含めて画素と呼ぶこ
とがあるが、この頂点については点の位置の計算に利用
するだけであるから実際に画像データを記憶する必要は
ない。
【0011】ある画素に対する動き付加点とは、現在の
フレームにおけるある画素に対応する前フレームの点の
ことである。これは平行四辺形の頂点において設定され
る動きベクトルを、各画素について内挿して求められる
動きベクトルをその画素の位置に加算した点である。つ
まり前フレームの時刻において動き付加点の位置にあっ
た画素値が現在のフレームの時刻においてはその画素の
位置に移動したことに相当する。
【0012】動き付加点の位置の線分内変化率△Xと
は、ある線分上の画素の走査に伴って動き付加点の位置
がどのくらいずつ変化するのかを表すベクトルである。
これは走査を行う線分ごとに定まり、第j線分の終点に
対する動き付加点Ej と始点に対する動き付加点Bj と
の位置の差を辺の長さmで割ったベクトルとして定義さ
れる。これはまた第j線分の終点に対する動きベクトル
と始点に対する動きベクトルとの差を辺の長さmで割っ
たベクトルに線分の走査を表すベクトルを加算すること
によっても求めることができる。ここで線分の走査を表
すベクトルとは線分上の隣接する画素の位置の差を表す
ベクトルである。
【0013】始点に対する動き付加点の位置の線分間変
化率△Bとは、ある線分の始点と次の線分の始点とにお
いて、線分の変更に伴ってそれぞれの動き付加点の位置
がどれだけ変化するのかを表すベクトルである。これは
第n+1番目の線分の始点に対する動き付加点Bn+1 と
第1番目の線分の始点に対する動き付加点B1 との差を
辺の長さnで割ったベクトルとして定義される。これは
また、第n+1番目の線分の始点に対する動きベクトル
と第1番目の線分の始点に対する動きベクトルとの差を
辺の長さnで割ったベクトルに線分の変更を表すベクト
ルを加算することにより求めることもできる。ここで線
分の変更を表すベクトルとは隣接する線分の対応する画
素の位置の差を表すベクトルである。
【0014】変化率△Xの線分間変化率△ξとは、ある
線分の線分内変化率△Xと次の線分の線分内変化率△X
とにおいて、線分の変更に伴ってどれだけ変化するのか
を表すベクトルであり、これはブロック内で一定であ
る。これは第n+1番目の線分における動き付加点の線
分内変化率△Xと第1番目の線分における動き付加点の
線分内変化率△Xとの差を辺の長さnで割ったベクトル
として定義される。これはまた、第1番目の線分の始点
に対する動き付加点B1 と、その終点に対する動き付加
点E1 と、第n+1番目の線分の始点に対する動き付加
点Bn+1 と、その終点に対する動き付加点En+1 とを用
いて次のように求めることができる。すなわち、En+1
からBn+1 を減算し、さらにE1 を減算し、さらにB1
を加算した結果を辺の長さの積mnで割ったベクトルが
△ξである。
【0015】
【数2】
【0016】あるいはまた第j線分の第i画素P(i,j)
における動きベクトルをV(i,j) と表すことにすると、
V(m+1,n+1) からV(m+1,1) を減算し、さらにV(1,n+
1) を減算し、さらにV(1,1) を加算した結果を辺の長
さの積mnで割った値として求めることもできる。
【0017】
【数3】
【0018】動き付加点の位置における前フレームの値
を求める処理とは、実数値で指定される点の値を、その
近くの整数座標の画素の画素値から求める処理である。
これは画素間の相関が強い画像に対しては実数値の点の
座標を単純に整数化して、一つの画素の画素値を読み出
せばよい。しかし通常の画像ではこうした処理では大き
な劣化が生じるため、周りの複数画素の画素値を線形内
挿することにより求める方がよい。
【0019】
【作用】本発明の動き補償方法によれば、画像を覆うよ
うに配置した平行四辺形の頂点における動きベクトルが
設定され、これらに基づいて平行四辺形ごとに動き補償
がなされる。平行四辺形はm+1個の格子点からなるn
+1個の線分によって構成され、そのうちのm個の画素
の範囲をn個の線分について走査する。
【0020】変数jを1からnまでの整数として、第j
番目の線分の始点に対して動き付加点の位置を求める。
そしてその位置における前フレームの値を求め、これを
前記始点における現在のフレームの画素値とする。これ
により第j番目の線分の始点において動き補償がなされ
る。
【0021】そして第j番目の線分に対する動き付加点
の位置の線分内変化率△Xを求める。
【0022】次に変数iを2からmまでの整数として、
前記線分上の第i−1番目の画素に対して既に求めた動
き付加点の位置に前記線分内変化率△Xを加算すること
により、第i番目の画素に対する動き付加点の位置を求
める。このように線形内挿の性質を利用して、既に求め
られた位置に対して、線分内変化率△Xを加算すること
により次々に新しい動き付加点の位置を求めるのであ
る。この位置における前フレームの値を求め、これを前
記画素における現在のフレームの画素値とすることによ
り画素の動き補償がなされる。変数iを次々に変化させ
ることにより第j番目の線分について動き補償が実行さ
れ、さらに変数jを変化させることにより平行四辺形の
動き補償が実行される。
【0023】また本発明によれば、前記第j番目の線分
上の動き付加点の位置の線分内変化率△Xを求める処理
は、前記線分の終点に対する動き付加点の位置と始点に
対する動き付加点の位置との差を線分の長さmで割った
値として求める。
【0024】また本発明によれば、前記第j番目の線分
上の動き付加点の位置の線分内変化率△Xを求める処理
は、前記線分の終点における動きベクトルと始点におけ
る動きベクトルとの差ベクトルを線分の長さmで割った
ベクトルに、線分の走査を表すベクトルを加算して求め
る。
【0025】また本発明によれば、第1番目の線分の始
点の位置にその画素における動きベクトルを加算するこ
とにより、前記始点に対する動き付加点の位置を求め
る。
【0026】次に第1番目の線分における動き付加点の
位置の線分内変化率△Xを求める。これは第1番目の線
分における動き補償に用いられると同時に、第2番目以
降の線分における線分内変化率△Xを求める際の初期値
として用いる。次に線分の変更に伴う始点に対する動き
付加点の位置の線分間変化率△Bを求める。これは第2
番目以降の線分における始点を求めるための準備であ
る。次に線分の変更に伴う変化率の線分間変化率△ξを
求める。これは第2番目以降の線分における線分内変化
率△Xを求めるための準備である。
【0027】次に変数jを1からnまでの整数として、
jが1に等しいときは既に初期値を求めているため、j
が2からmまでの整数のとき次のようにして線分の始点
における動き付加点とその線分内変化率△Xを求める処
理を行う。つまり第j−1番目の線分において既に求め
た動き付加点の位置の線分内変化率△Xに前記変化率の
線分間変化率△ξを加算することにより、第j番目の線
分における動き付加点の位置の線分内変化率△Xを求
め、第j−1番目の線分の始点に対して既に求めた動き
付加点の位置に、前記始点に対する動き付加点の位置の
線分間変化率△Bを加算することにより、第j番目の線
分の始点に対する動き付加点の位置を求めるのである。
【0028】次に第j番目の線分の始点に対する動き付
加点の位置における前フレームの値を求め、これを前記
始点における現在のフレームの画素値とすることにより
動き補償がなされる。次に変数iを2からmまでの整数
として、第j番目の線分上の第i−1番目の画素に対し
て既に求めた動き付加点の位置に前記動き付加点の位置
の線分内変化率△Xを加算することにより、前記線分上
の第i番目の画素に対する動き付加点の位置を求め、こ
の位置における前フレームの値を求め、これを前記画素
における現在のフレームの画素値とする処理を行う。こ
うして次々に第j番目の線分上の画素について動き補償
が実行される。変数jを変化させることにより平行四辺
形の動き補償が実行される。
【0029】
【実施例】以下図面を用いて本発明の実施例を説明す
る。図1は本発明の第1の実施例を表すフローチャート
であり、図2はそのブロック図である。画面の縦横の大
きさは16の倍数となるように設定し、画素のアドレス
が16で割り切れる位置に頂点を配置すると、これらの
頂点は辺の長さが16である正方形を成し、これを構成
する画素は17×17個ある。すなわちn=m=16で
ある。図3では正方形60は頂点52、54、56、5
8を持ちこの4つの頂点における動きベクトルを内挿す
る。図3から分かるように隣の正方形との境界上の画素
は両方の正方形に属するから、重複を避けて走査するに
は、16×16個の範囲を走査すれば充分である。
【0030】図2において第1のフレームメモリ108
には符号化する現在のフレームが記憶され、第2のフレ
ームメモリ110には既に符号化した前フレームを復号
した画像が記憶されている。動き補償は前フレームを変
形させて現在のフレームとの相関を除去する処理であ
る。
【0031】動きベクトルは動きベクトル記憶部104
に記憶される。処理を開始する初期化時に、動きベクト
ルは(0,0)に初期化される。次に動き探索制御部1
00の制御により順に各頂点を探索し、動き予測誤差が
減少するような動きベクトルを探索し、動きベクトル記
憶部104の記憶値を更新していく。つまりある頂点に
ついて公知のスリーステップ探索方法に従って動きベク
トルを設定して、その頂点を共有する4つの四角形で動
き予測誤差を求め、この誤差が最小となる動きベクトル
を記憶すればよいのである。動き予測誤差は平均絶対値
誤差により測定し、レジスタ138に蓄積されるため、
その頂点に対して探索を開始する場合にはレジスタ13
8の記憶値を零にリセットする。それから4つの正方形
に対して本発明の動き補償方法によって動き補償を実行
する。これを図1のフローチャートによって説明する。
【0032】正方形の4つの頂点に対する動きベクトル
が動きベクトル記憶部104に設定されると処理11を
行う。ここでは各頂点の位置に各動きベクトルを加算し
て、動き付加点の位置を求める。これは線分の番号jを
添え字として、線分の始点をBj で、線分の終点をEj
で表すことにすれば、数4のように表される。但しP
(i,j) は、注目している正方形内の位置が第j線分の第
i画素である画素の画面内での位置を表し、V(i,j) は
その頂点に対して記憶されている動きベクトルを表す。
また動き付加点はX(i,j) 等と表すことにする。
【0033】
【数4】
【0034】図3においては第1番目の線分は符号70
で示され、第n+1番目の線分は符号72で示されてい
る。第1番目の線分70の始点は頂点52であり、終点
は頂点54である。第n+1番目の線分72の始点は頂
点56であり、終点は頂点58である。
【0035】次に処理12を行う。ここでは初期値設定
用演算部106が線分の変更に伴う始点の動き付加点の
位置の線分間変化率△B及び、終点の動き付加点の位置
の線分間変化率△Eを求める。
【0036】
【数5】
【0037】始点に対する動き付加点の位置の線分間変
化率△Bとは、ある線分の始点と次の線分の始点とにお
いて、線分の変更に伴ってそれぞれの動き付加点の位置
がどれだけ変化するのかを表すベクトルである。これは
第n+1番目の線分72の始点P(1,n+1) (頂点56)
に対する動き付加点Bn+1 と第1番目の線分70の始点
P(1,1) (頂点52)に対する動き付加点B1 との差を
辺の長さnで割ったベクトルとして定義される。これは
また、第n+1番目の線分72の始点P(1,n+1) (頂点
56)に対する動きベクトルV(1,n+1) と第1番目の線
分70の始点P(1,1) (頂点52)に対する動きベクト
ルV(1,1) との差を辺の長さnで割ったベクトルに線分
の変更を表すベクトルを加算することにより求めること
もできる。但し線分の変更を表すベクトルとは隣接する
線分の対応する画素の位置の差を表すベクトルであり、
ここでは(0,1)である。
【0038】終点に対する動き付加点の位置の線分間変
化率△Eとは、ある線分の終点と次の線分の終点とにお
いて、線分の変更に伴ってそれぞれの動き付加点の位置
がどれだけ変化するのかを表すベクトルである。これは
第n+1番目の線分72の終点P(m+1,n+1) (頂点5
8)に対する動き付加点En+1 と第1番目の線分70の
終点P(m+1,1) (頂点54)に対する動き付加点E1 と
の差を辺の長さnで割ったベクトルとして定義される。
これも同様に、第n+1番目の線分72の終点P(m+1,n
+1) (頂点54)に対する動きベクトルV(m+1,n+1) と
第1番目の線分70の終点P(m+1,1) (頂点54)に対
する動きベクトルV(m+1,1) との差を辺の長さnで割っ
たベクトルに線分の変更を表すベクトルを加算すること
により求めることもできる。またnは2の4乗であるこ
とから、この除算は小数点の位置を4ビットシフトする
ことにより実行することができる。
【0039】次に処理13で示す制御変数jを用いた第
1のループに入る。変数jは線分を指定するものであ
り、初期値は1に設定され、ループの終了条件は不等式
j>nが成立することである。次に処理14で示す条件
分岐を行う。第1の線分70のとき、すなわちjが1に
等しい場合は、処理15を行う。ここでは動き付加点の
位置を表す変数ベクトルX及び始点の動き付加点の位置
を表す変数ベクトルBをB1 で初期化する。この値は動
き付加点の位置Xの記憶部128に設定される。また、
終点の動き付加点の位置を表す変数ベクトルEをE1 で
初期化する。B及びEの値は初期値設定用演算部106
に記憶される。
【0040】
【数6】
【0041】一方jが1でないときには処理16を行
う。ここで初期値設定用演算部106は始点の動き付加
点の位置Bにその線分間変化率△Bを加算して更新し、
これを動き付加点の位置Xとして記憶部128に記憶さ
せる。また終点の動き付加点の位置Eにその線分間変化
率△Eを加算することにより更新する。
【0042】
【数7】
【0043】処理15と処理16はともに処理17へと
接続し、第j番目の線分に対する動き付加点の位置Xの
線分内変化率△Xを求め、動き付加点の位置の線分内変
化率△Xの記憶部122に記憶させる。動き付加点の位
置の線分内変化率△Xとは、ある線分上の画素の走査に
伴って動き付加点の位置がどのくらいずつ変化するのか
を表すベクトルである。これは走査を行う線分ごとに定
まり、第j番目の線分の終点P(m+1,j) に対する動き付
加点Eと線分の始点P(1,j) に対する動き付加点Bとの
位置の差を辺の長さmで割ったベクトルとして求める。
これはまた線分の終点P(m+1,j) に対する動きベクトル
V(m+1,j) と線分の始点P(1,j) に対する動きベクトル
V(1,j) との差を辺の長さmで割ったベクトルに線分の
走査を表すベクトルを加算したものと定義することもで
きる。但し線分の走査を表すベクトルとは線分上の隣接
する画素の位置の差を表すベクトルであり、ここでは
(1,0)である。
【0044】
【数8】
【0045】nは2の4乗であるから小数点を4ビット
シフトすることにより除算を実行することができる。こ
れは初期値設定用演算部106によって実行され、これ
で第i番目の線分を走査する準備が整ったことになる。
次に処理18を行う。ここでは動き付加点の位置Xにお
ける前フレームの値を内挿により求めて動き予測誤差を
測る。これは輝度値の内挿部130が前フレームの記憶
部110を参照し、演算して求める。つまりこの輝度値
は実数で指定される点の周りの画素の輝度値を内挿して
求める。まず実数で求められる動き付加点の座標をX
(x,y) とすると、これ以下の最大の整数により整数化し
た座標(xd ,yd )を求める。またこのときの小数部
(r,s)=(x−xd ,y−yd)を求める。(xd
,yd )より1だけ座標が大きな画素を含めて4つの
画素の前フレームの輝度値を読み出し、数9のように内
挿する。但し(xd ,yd )における輝度値をY(xd,y
d) 等と表す。
【0046】
【数9】
【0047】この内挿値を所定のビット数の整数値表現
(例えば8ビット)に変換すれば内挿された輝度値が得
られる。得られた輝度値は減算器132に入力され、現
在のフレームの対応する画素の輝度値との差を求める。
現在のフレームにおける画素位置P(i,j) は画素位置指
定部102が指示し、その位置の輝度値を現在のフレー
ムの記憶部108から読み出す。求めた差は絶対値回路
134において絶対値化され加算器136に供給され
る。一方加算器136にはレジスタ138の値が供給さ
れ、両者の和を求めてレジスタ138の値を更新する。
次に処理19で示す制御変数iを用いた第2のループに
入る。初期条件はi=2であり、終了条件は不等式i>
mが成立することである。これはj番目の線分の第2か
ら第m画素を走査する処理である。まず処理20を行
う。ここでは記憶部128に記憶された動き付加点の位
置Xに、記憶部122に記憶された線分内変化率△Xを
加算器124で加算して、値を更新する。
【0048】
【数10】
【0049】次に処理21を行う。ここでは位置Xにお
ける前フレームの輝度値を内挿により求めて、動き予測
誤差を測る。これは処理18と同様の処理であり、輝度
値の内挿部130が前フレームの記憶部110を参照し
て数9のように演算を行うことにより求める。同様に求
めた輝度値と現在のフレームの位置P(i,j) における輝
度値との差の絶対値を求め、動き予測誤差を測る。ここ
で処理22に示すようにiのループを閉じ、さらに処理
23に示すようにjのループを閉じる。
【0050】以上の処理により各ループの繰り返しを実
行すればレジスタ138には16×16画素分の絶対値
誤差が蓄積される。さらに注目している頂点を共有する
4つの正方形についてこれらの処理を繰り返して、絶対
値誤差を蓄積する。ビットシフト回路140はレジスタ
138に蓄積された値の小数点の位置を変更し、このブ
ロックの平均絶対値誤差を求める。つまり正方形4つ分
の画素数は、4mn=2の10乗、であるから10ビッ
ト分のシフトを考慮すればよい。この平均絶対値誤差は
探索制御部100へ供給される。探索制御部100では
スリーステップ探索方法に従って、種々の動きベクトル
を動きベクトル記憶部104に供給し、その状態で得ら
れた平均絶対値誤差を比較して、最も誤差が少なくなる
動きベクトルと誤差値が記憶される。探索が終了すると
最終的に誤差が最も少なくなる動きベクトルを動きベク
トル記憶部104に記憶させて、その頂点に関する処理
を終えて、次の頂点の探索を実行する。
【0051】全ての頂点に対して探索を終えた後、動き
ベクトル記憶部104の内容は、符号化された上で、外
部の復号器へと伝送される。さらに動き予測誤差画像を
作成するために、上述と同様の動作で今度は探索を行わ
ずに、各正方形を順に選択して動き補償だけを実行す
る。これは予測誤差画像の記憶部142に記憶させ、さ
らに符号化された上で外部の復号器へと伝送される。こ
のように本実施例によれば動きベクトルの内挿が主に数
10に示す加算によって実行されるため、乗算を必要と
せず簡易な回路で高速に実行できるようになる。
【0052】図4は第2実施例を示すフローチャートで
あり、図5は第2実施例のブロック図である。但し前記
第1実施例と同じブロックには同一の番号を付してあ
り、同様の働きをする。第2実施例の特徴は変化率△X
の線分間変化率△ξを用いる点にある。この実施例にお
いてもn=m=16とし正方形を成すように頂点を配置
し、正方形の動き補償の処理において走査すべき領域
は、16×16個の画素から構成される範囲である。図
3においては正方形60は頂点52、54、56、58
を持ち、この4つの頂点の動きベクトルを内挿する。
【0053】図5において第1のフレームメモリ108
には符号化する現在のフレームの画像が記憶され、第2
のフレームメモリ110には既に符号化した前フレーム
を復号した画像が記憶されている。動き補償は前フレー
ムを変形させて現在のフレームとの相関を除去する処理
である。第1実施例と同様に動き探索制御部100は各
頂点の動きベクトルを次々に探索して、動きベクトル記
憶部104の値を更新していく。ある頂点に関して探索
を開始すると、動き予測誤差を記憶するレジスタ138
を零にリセットし、スリーステップ探索アルゴリズムに
従って探索する動きベクトルを記憶部104に供給す
る。その頂点を共有する4つの正方形に対して本発明の
動き補償方法によって動き補償を実行する。正方形の4
つの頂点に対する動きベクトルが、動きベクトル記憶部
104に設定されると処理31を行う。ここでは各頂点
の位置に与えられた動きベクトルを加算して、動き付加
点の位置を求める。これは前述のごとく数4のように表
される。
【0054】次に処理32を実行する。ここでは初期値
設定用演算部107が線分の変更に伴う始点の動き付加
点の位置の線分間変化率△Bを求め記憶部112に記憶
させる。始点に対する動き付加点の位置の線分間変化率
△Bは、第n+1番目の線分72の始点P(1,n+1) (頂
点56)に対する動き付加点Bn+1 と第1番目の線分7
0の始点P(1,1) (頂点52)に対する動き付加点B1
との差を辺の長さnで割ったベクトルとして定義され
る。これはまた、第n+1番目の線分72の始点P(1,n
+1) (頂点56)に対する動きベクトルV(1,n+1) と第
1番目の線分70の始点P(1,1) (頂点52)に対する
動きベクトルV(1,1) との差を辺の長さnで割ったベク
トルに線分の変更を表すベクトルを加算することにより
求めることもできる。但し線分の変更を表すベクトルと
は隣接する線分の対応する画素の位置の差を表すベクト
ルであり、ここでは(0,1)である。
【0055】
【数11】
【0056】この除算はnが2の4乗であることから、
初期値設定用演算部107において小数点の位置を4ビ
ット分シフトすることにより実行することができる。次
に処理33を行う。ここでは変化率△Xの線分間変化率
△ξを求め記憶部118に記憶させる。変化率△Xの線
分間変化率△ξとは、ある線分の線分内変化率△Xと次
の線分の線分内変化率△Xとにおいて、線分の変更に伴
ってどれだけ変化するのかを表すベクトルである。これ
はブロック内で一定であり、第n+1番目の線分72に
おける動き付加点の位置の線分内変化率△Xと第1番目
の線分70における動き付加点の位置の線分内変化率△
Xとの差を辺の長さnで割ったベクトルとして定義され
る。これはまた、第1番目の線分70の始点P(1,1)
(頂点2)に対する動き付加点B1 と、その終点P(m+
1,1) (頂点54)に対する動き付加点E1 と、第n+
1番目の線分72の始点P(1,n+1) (頂点56)に対す
る動き付加点Bn+1 と、その終点P(m+1,n+1) (頂点5
8)に対する動き付加点En+1 とを用いて求めることが
できる。あるいはまた画素P(i,j) における動きベクト
ルをV(i,j) と表すことにすると、V(m+1,n+1) からV
(m+1,1) を減算し、さらにV(1,n+1) を減算し、さらに
V(1,1) を加算した結果を辺の長さの積mnで割った値
として求めることもできる。
【0057】
【数12】
【0058】この除算はmやnが2の4乗であることか
ら、初期値設定用演算部107において小数点の位置を
8ビットシフトすることにより実行することができる。
【0059】次に処理34に示す制御変数jを用いた第
1のループに入る。変数jは線分を指定するものであ
り、初期値は1に設定され、ループの終了条件は不等式
j>nが成立することである。
【0060】次に処理35で示す条件分岐を行う。第1
の線分70のとき、すなわちjが1に等しい場合は、処
理36を行う。ここでは第1の線分70に対する動き付
加点の位置の線分内変化率△Xを求め記憶部122に記
憶させる。第1番目の線分の終点P(m+1,1) に対する動
き付加点E1 と線分の始点P(1,1) に対する動き付加点
B1 との位置の差を辺の長さmで割ったベクトルとして
求める。これはまた線分の終点P(m+1,1) に対する動き
ベクトルV(m+1,1) と線分の始点P(1,1) に対する動き
ベクトルV(1,1) との差を辺の長さmで割ったベクトル
に線分の走査を表すベクトルを加算することによっても
求めることができる。但し線分の走査を表すベクトルと
は線分上の隣接する画素の位置の差を表すベクトルであ
り、ここでは(1,0)である。
【0061】
【数13】
【0062】この除算も初期値設定用演算部107がビ
ットシフトにより実行する。また動き付加点の位置X及
び始点の動き付加点の位置BをB1 で初期化し、記憶部
128と記憶部116に記憶させる。
【0063】
【数14】
【0064】一方変数jが1でない場合は処理37を実
行する。ここでは第j−1番目の線分において求めた線
分内変化率△Xに変化率の線分間変化率△ξを加算して
値を更新する。すなわち加算器120には記憶部118
から△ξが供給され、記憶部122からは△Xが供給さ
れ、両者を加算してその値を用いて記憶部122を更新
する。
【0065】
【数15】
【0066】また第j−1番目の線分において求めた始
点の動き付加点の位置Bに始点の動き付加点の位置の線
分間変化率△Bを加算して更新する。さらにこれを動き
付加点の位置Xとして記憶部128に記憶させる。すな
わち加算器114には記憶部112から△Bが供給さ
れ、また記憶部116からBが供給されており、加算を
行い記憶部116の値を更新し、さらに記憶部128へ
設定する。
【0067】
【数16】
【0068】処理36と処理37の後、処理は共通とな
り処理38を行う。ここでは動き付加点の位置Xにおけ
る前フレームの輝度値を内挿により求めて動き予測誤差
を測る。この輝度値は輝度値の内挿部130において、
実数で指定される点の周りの画素の輝度値を前述のよう
に数9により内挿して求める。これを所定のビット数の
整数値表現(例えば8ビット)に変換すれば内挿された
輝度値が得られる。
【0069】得られた輝度値は減算器132に入力さ
れ、現在のフレームの対応する画素の輝度値との差を求
める。現在のフレームにおける画素位置P(i,j) は画素
位置指定部102が指示し、その位置の輝度値を現在の
フレームの記憶部108から読み出す。求めた差は絶対
値回路134において絶対値化され加算器136に供給
される。加算器136にはレジスタ138の値が供給さ
れ、両者の和を求めてレジスタ138の値を更新する。
【0070】次に処理39に示す制御変数iを用いた第
2のループに入る。初期条件はi=2であり、終了条件
は不等式i>mが成立することである。これはj番目の
線分の第2から第m画素を走査する処理である。次に処
理40を行う。ここでは記憶部128に記憶された動き
付加点の位置Xの値に、記憶部122に記憶した線分内
変化率△Xを加算器124で加算して、値を更新する。
【0071】
【数17】
【0072】次に処理41を行う。ここでは位置Xにお
ける前フレームの輝度値を数9のように内挿により求め
る。求めた輝度値と現在のフレームの位置P(i,j) にお
ける輝度値との差の絶対値を求め、動き予測誤差を測
る。処理38と同様に減算器132で求めた差は絶対値
回路134で絶対値化し、加算器136を用いてレジス
タ138の記憶値に加算して値を更新する。ここで処理
42でiのループを閉じ、さらに処理43でjのループ
を閉じる。以上の処理によりループの繰り返しを実行す
れば、レジスタ138には16×16画素分の絶対値誤
差が蓄積される。さらに注目している頂点を共有する4
つの正方形についてこれらの処理を繰り返して、絶対値
誤差を蓄積する。ビットシフト回路140は蓄積された
レジスタ138の値の小数点の位置を変更し、このブロ
ックの平均絶対値誤差を求める。探索制御部100では
スリーステップ探索方法に従って、種々の動きベクトル
を動きベクトル記憶部104に供給し、その状態で得ら
れた平均絶対値誤差を比較して、最も誤差が少なくなる
動きベクトルと誤差値が記憶される。探索が終了すると
最終的に誤差が最も少なくなる動きベクトルを動きベク
トル記憶部104に記憶させて、その頂点に関する処理
を終えて、次の頂点の探索を実行する。
【0073】全ての頂点に対して探索を終えた後、動き
ベクトル記憶部104の内容は、符号化された上で外部
の復号器へと伝送される。さらに動き予測誤差画像を作
成するために、上述と同様の動作で今度は探索を行わず
に、動き補償だけを実行する。これは予測誤差画像の記
憶部142に記憶させ、さらに符号化された上で外部の
復号器へと伝送される。
【0074】このように第2実施例によれば、動きベク
トルの内挿が主に数17に示す加算によって実行され、
また動き付加点の線分内変化率△Xを求める際に数15
のように加算によって更新していけばよく、効率的に実
行が可能である。
【0075】
【発明の効果】本発明によれば、平行四辺形の4つの頂
点の動きベクトルを内挿する際に、乗算を必要としない
ため、専用回路を用いる場合には回路規模を小さくする
ことができる。またマイクロプロセッサやデジタルシグ
ナルプロセッサ等の処理装置を用いて実行する場合に
は、実行時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例のフローチャート
【図2】本発明の第1実施例のブロック図
【図3】ブロックと画素の配置図
【図4】本発明の第2実施例のフローチャート
【図5】本発明の第2実施例のブロック図
【図6】従来例における動きベクトルの内挿方法を示す
【符号の説明】
52、54、56、58 頂点 60 正方形 70 第1番目の線分 72 第n+1番目の線分 100 動き探索制御部 102 画素位置指定部 104 動きベクトル記憶部 106、107 初期値設定用演算部 108 現在のフレームの記憶部 110 前フレームの記憶部 112 始点に対する動き付加点の位置の線分間変化率
△Bの記憶部 114、120、124 加算器 116 始点に対する動き付加点の位置Bの記憶部 118 変化率の線分間変化率△ξの記憶部 122 動き付加点の位置の線分内変化率△Xの記憶部 128 動き付加点の位置Xの記憶部 130 輝度値の内挿部 132 減算器 134 絶対値回路 136 加算器 138 レジスタ 140 ビットシフト回路 142 予測誤差画像の記憶部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】辺の長さがmとnである平行四辺形を複数
    並べて画面を覆うように配置し、平行四辺形の頂点にお
    ける動きベクトルを設定し、これらの動きベクトルを平
    行四辺形内で内挿する動画像の動き補償方法において、 前記平行四辺形はm+1個の格子点からなるn+1個の
    線分により構成され、そのうちのm個の画素の範囲をn
    個の線分について走査するものであり、 a 変数jを1からnまでの整数として、第j番目の線
    分の始点に対する動き付加点の位置を求めて、その位置
    における前フレームの値を求め、これを前記始点におけ
    る現在のフレームの画素値とする処理と、 b 前記線分上の動き付加点の位置の線分内変化率△X
    を求める処理と、 c 変数iを2からmまでの整数として、前記線分上の
    第i−1番目の画素に対して既に求めた動き付加点の位
    置に前記線分内変化率△Xを加算することにより、前記
    線分上の第i番目の画素に対する動き付加点の位置を求
    め、その位置における前フレームの値を求め、これを前
    記画素における現在のフレームの画素値とする処理を行
    う動画像の動き補償方法。
  2. 【請求項2】前記第j番目の線分上の動き付加点の位置
    の線分内変化率△Xを求める処理は、前記線分の終点に
    対する動き付加点の位置と始点に対する動き付加点の位
    置との差を線分の長さmで割った値として求めることを
    特徴とする請求項1記載の動画像の動き補償方法。
  3. 【請求項3】前記第j番目の線分上の動き付加点の位置
    の線分内変化率△Xを求める処理は、前記線分の終点に
    おける動きベクトルと始点における動きベクトルとの差
    ベクトルを線分の長さmで割ったベクトルに、線分の走
    査を表すベクトルを加算して求めることを特徴とする請
    求項1記載の動画像の動き補償方法。
  4. 【請求項4】辺の長さがmとnである平行四辺形を複数
    並べて画面を覆うように配置し、平行四辺形の頂点にお
    ける動きベクトルを設定し、これらの動きベクトルを平
    行四辺形内で内挿する動画像の動き補償方法において、 前記平行四辺形はm+1個の格子点からなるn+1個の
    線分により構成され、そのうちのm個の画素の範囲をn
    個の線分について走査するものであり、 a 第1番目の線分の始点の位置にその画素における動
    きベクトルを加算することにより、始点に対する動き付
    加点の位置を求める処理と、 b 第1番目の線分における動き付加点の位置の線分内
    変化率△Xを求める処理と、 c 線分の変更に伴う始点に対する動き付加点の位置の
    線分間変化率△Bを求める処理と、 d 線分の変更に伴う変化率△Xの線分間変化率△ξを
    求める処理と、 e 変数jを1からnまでの整数として、jが2からn
    までの整数のとき、第j−1番目の線分において既に求
    めた動き付加点の位置の線分内変化率△Xに前記線分間
    変化率△ξを加算することにより、第j番目の線分にお
    ける動き付加点の位置の線分内変化率△Xを求め、第j
    −1番目の線分の始点に対して既に求めた動き付加点の
    位置に、前記始点に対する動き付加点の位置の線分間変
    化率△Bを加算することにより、第j番目の線分の始点
    に対する動き付加点の位置を求める処理と、 f 第j番目の線分の始点に対する動き付加点の位置に
    おける前フレームの値を求め、これを前記始点における
    現在のフレームの画素値とする処理と、 g 変数iを2からmまでの整数として、第j番目の線
    分上の第i−1番目の画素に対して既に求めた動き付加
    点の位置に前記動き付加点の位置の線分内変化率△Xを
    加算することにより、前記線分上の第i番目の画素に対
    する動き付加点の位置を求め、この位置における前フレ
    ームの値を求め、これを前記画素における現在のフレー
    ムの画素値とする処理を行う動画像の動き補償方法。
JP8126294A 1994-04-20 1994-04-20 動画像の動き補償方法 Pending JPH07288813A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8126294A JPH07288813A (ja) 1994-04-20 1994-04-20 動画像の動き補償方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8126294A JPH07288813A (ja) 1994-04-20 1994-04-20 動画像の動き補償方法

Publications (1)

Publication Number Publication Date
JPH07288813A true JPH07288813A (ja) 1995-10-31

Family

ID=13741455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8126294A Pending JPH07288813A (ja) 1994-04-20 1994-04-20 動画像の動き補償方法

Country Status (1)

Country Link
JP (1) JPH07288813A (ja)

Similar Documents

Publication Publication Date Title
JP3037383B2 (ja) 画像処理システム及びその方法
KR100203913B1 (ko) 모션 벡터 생성기
US20090079876A1 (en) Image processing apparatus, method, and program
US7957610B2 (en) Image processing method and image processing device for enhancing the resolution of a picture by using multiple input low-resolution pictures
JP2010045816A (ja) ビデオ符号化における中間画素高精度高速探索を実現する装置及び方法
JPH0192885A (ja) デイジタル像シーケンスからの運動ベクトル場の探索方法
JPH03502628A (ja) 動き推定回路
JP2000244851A (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
US8135224B2 (en) Generating image data
US6539128B1 (en) Method and apparatus for interpolation
US20060098886A1 (en) Efficient predictive image parameter estimation
JP2919211B2 (ja) 動画像のフレーム内挿方式及び符号化復号化方式
US6961479B1 (en) Image processing device, image processing method, image-processing program recorded medium
JP4250237B2 (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP4095204B2 (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JPH07288813A (ja) 動画像の動き補償方法
JP3700230B2 (ja) 動画像符号化における動き補償方法
JP3513277B2 (ja) 映像符号化装置及び映像復号化装置
JP2009064193A (ja) 解像度変換装置及び方法
JP4057503B2 (ja) 解像度変換用フィルタ係数決定方法,画像解像度変換方法,画像解像度変換装置,映像再符号化方法,映像再符号化装置,解像度変換用フィルタ係数決定プログラム,画像解像度変換プログラム,映像再符号化プログラムおよびそれらのプログラムを記録した記録媒体
JP2009116730A (ja) 画像処理装置及び方法
JP3017239B2 (ja) 画像生成方法
JPH0865675A (ja) 画像符号化装置および画像復号化装置
US20070070059A1 (en) Refinement of block motion estimate using texture mapping
JP3509610B2 (ja) 画像符号化方法及び画像符号化装置