JP3781194B2 - Motion vector field coding - Google Patents

Motion vector field coding Download PDF

Info

Publication number
JP3781194B2
JP3781194B2 JP51630897A JP51630897A JP3781194B2 JP 3781194 B2 JP3781194 B2 JP 3781194B2 JP 51630897 A JP51630897 A JP 51630897A JP 51630897 A JP51630897 A JP 51630897A JP 3781194 B2 JP3781194 B2 JP 3781194B2
Authority
JP
Japan
Prior art keywords
motion
matrix
segment
vector
prediction error
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
JP51630897A
Other languages
Japanese (ja)
Other versions
JP2000512440A (en
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of JP2000512440A publication Critical patent/JP2000512440A/en
Application granted granted Critical
Publication of JP3781194B2 publication Critical patent/JP3781194B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

発明の分野
本発明は、一般的にはビデオ圧縮に関する。より正確には、本発明は、推定された動きフィールド(motion field)を符号化してビデオシーケンスにおける動き情報を作成する方法に関する。
発明の背景
動き補償予測は、大多数のビデオ符号化方式の非常に重要な要素である。図1は、動き補償を使用してビデオシーケンスを圧縮する符号器の略図である。この符号器の必須要素は、動き補償予測ブロック1,動き推定器2,及び動きフィールド符号器3である。動き補償ビデオ符号器の動作原理は、現在のフレームと呼ばれる符号化される入来フレームIn(x,y)と予測フレーム

Figure 0003781194
との差である予測エラーEn(x,y)を圧縮するというものであり、ここで、
Figure 0003781194
予測フレーム
Figure 0003781194
は動き補償予測ブロック1により作成されるものであって、前の、或いはその他の既に符号化されている
Figure 0003781194
と表記されるフレーム(参照フレーム(reference frame)と呼ばれる)のピクセル値と、現在のフレーム及び参照フレームの間の各ピクセルの動きベクトル(motion vector)とを使って作成される。動きベクトルは動きフィールド推定器2により計算され、その結果として得られたベクトルフィールドは、予測ブロック1に入力される前に何らかの方法で符号化される。予測フレームは次の通りである:
Figure 0003781194
数の対[x+Δx(x,y),y+Δy(x,y)]は、現在のフレームの中の場所(x,y)のピクセルの動きベクトルと呼ばれ、Δx(x,y)及びΔy(x,y)はこのピクセルの水平変位及び垂直変位の値である。現在のフレームIn(x,y)の中の全てのピクセルの動きベクトルの集合は動きベクトルフィールドと称される。符号化された動きベクトルフィールドは動き情報として復号器にも送られる。
図2の復号器において、現在のフレームIn(x,y)の各ピクセルは、参照フレーム
Figure 0003781194
の中の該ピクセルの予測値
Figure 0003781194
を求めることによって、復元(再構成)される。動き補償予測ブロック21は、受け取った動き情報及び参照フレーム
Figure 0003781194
(この絵では参照フレームは現在のフレームと同じである)を使用して予測フレームを作成する。予測エラー復号器22において、復号された予測エラーEn(x,y)が予測フレームと加算されて、元の現在のフレームInが得られる。
動き補償(motion compensated)(MC))予測の一般的目的は、復号器に送らなければならない情報の量をなるべく少なくすることである。この予測は、例えばEn(x,y)のエネルギーとして測定された予測エラーの量をなるべく少なくし、且つ、動きベクトルフィールドを表示するのに必要な情報の量をなるべく少なくするべきである。
1990年3月26−18日、マサチューセッツ州ケンブリッジ市での画像符号化シンポジウム’90の議事録、841-845ページに掲載されているH.グエン、E.デュボアの文献”画像符号化のための動き情報の表示”(the document H.Nguen, E. Dubois, ”Representation of motion information for image coding”. Proc. Picture Coding Symposium '90, Cambridge, Massachusetts, March 26-18, 1990, pages 841-845)は、動きフィールド符号化手法を概説している。大ざっぱに言うと、予測エラーを小さくするためには、より複雑な動きフィールドが必要である、即ち、より多数のビットをその符号化のために使用しなければならない。従って、ビデオ符号化の総合的目的は、予測エラーの尺度をなるべく低く保ちながら動きベクトルフィールドをなるべくコンパクトに符号化することである。
動きフィールド推定ブロック1(図1)は、与えられたセグメントの全てのピクセルの、このセグメントの例えば二乗予測エラー(square prediction error)などの予測エラーの何らかの尺度を最小にする動きベクトルを、計算する。動きフィールド推定手法は、動きフィールドのモデルと、予測エラーの選択された尺度を最小化するためのアルゴリズムとの両方において異なる。
フレームの中のピクセルの数が非常に多いために、各ピクセルについて別々の動きベクトルを送信するのは効率的でない。殆どのビデオ符号化方式で、現在のフレームは大きな画像セグメントに分割され、セグメントの全ての動きベクトルを少数のパラメータで記述できるようになっている。画像セグメントは正方形のブロックであってもよくて、例えば国際規格ISO/IEC MPEG-1又はITU-TH.261に準拠する符復号器(コーデック)では16×16のピクセル(画素)のブロックが使用されており、また画像セグメントは例えば分割アルゴリズムによって得られる全て任意の形状の領域から成っていてもよい。実際上、各セグメントは少なくとも数十個のピクセルを包含する。
セグメント内の各ピクセルの動きベクトルをコンパクトに表示するためには、それらの値を少数のパラメータの関数で記述できることが望ましい。その様な関数は動きベクトルフィールドモデル(motion vector field model)と称されている。公知のグループのモデルは線形の動きモデルであり、その動きベクトルは動きフィールド基底関数の線形結合である。このようなモデルでは画像セグメントの動きベクトルは下記の一般式:
Figure 0003781194
で記述され、ここでパラメータciは動き係数(motion coefficent)と呼ばれるものであり、復号器に送られる。関数fi(x,y)は動きフィールド基底関数(motion field basis function)と呼ばれていて、この関数は固定されていて符号器及び復号器の両方に知られている。
上記の式を有する線形動きモデルを使うときの問題は、予測エラーEn(x,y)の尺度をなるべく低く保ちながら、復号器に送られる動き係数ciの数をどうやって最小化するかということである。このプロセスは、符号器において動きフィールド符号化ブロック3によって実行される(図1を参照)。それは、ブロック2によって達成される、計算に関して非常に複雑な動きフィールド推定の後に、実行される。従って、動きフィールド符号化は計算に関して単純で、追加の負担を符号器にかけないことがきわめて重要である。
復号器に送る必要のある動き係数の総数は、画像の中のセグメントの個数と、セグメントあたりの動き係数の個数との両方に依存する。従って、動き係数の総数を減らす方法は少なくとも2つある。
第1の方法は、予測エラーを大幅に増大させることなく共通の動きベクトルフィールドで予測することのできるセグメント同士を結合(併合)させることによってセグメントの数を減らすことである。隣り合っているセグメントを同じ動き係数の集合で予測できることが非常に頻繁にあるので、フレーム内のセグメントの数を減らすことができる。その様なセグメント同士を結合させるプロセスは動き補助併合(motion assisted merging)と呼ばれる。
第2の方法は、なるべく少ない係数で満足できるほど低い予測エラーを達成できる動きモデルを各セグメントについて選択することである。動きの量と複雑さとは各フレーム間で、また各セグメント間で異なるので、セグメントあたりに常にN+M個の動き係数をすべて使用するのは効率的でない。満足できるほど低い予測エラーを達成できる最少数の動き係数を全てのセグメントについて求める必要がある。その様な係数の適応的選択のプロセスは動き係数除去と呼ばれる。
図3は、各セグメントに分割されたフレームを示している。動き係数符号化を行う従来技術の手法は、動き補助併合を行う幾つかの手法を含んでいる。全てのセグメントの動きベクトルが推定された後、動き補助併合が行われる。それは、隣接するセグメントSi及びSjの全ての対をそれらの動き係数ci及びcjとともに考慮して行われる。結合されたセグメントSi及びSjの領域はSijと表示される。予測エラーをSi及びSjの別々の予測から生じるエラーより大幅に増大させることなく動き係数cijの1つの集合で領域Sijを予測できるならば、Si及びSjは併合される。動き補助併合を行う方法は、本質的に、互いに結合されたセグメントを良好に予測することを可能する動き係数cijの単一の集合を求める方法において異なる。
1つの方法は徹底的な動き推定による併合方法として知られている。この方法は、隣り合うセグメントSi及びSjの全ての対について動き係数cijの新しい集合を”最初から”推定する。もしSijについての予測エラーがあまり大きくはならなければ、セグメントSi及びSjは併合される。この方法では、併合することのできるセグメントを非常によく選択できるけれども、通常は符号器の複雑さを数桁も大きくするので、この方法を実行することはできない。
もう一つの方法は、動きフィールド拡張による併合として知られている。この方法は、予測エラーをあまり大きくすることなくいずれかの動きパラメータci又はcjを使ってSijの領域を予測できるか否か試験する。この方法は、新しい動き推定を全く必要としないので、計算の複雑さが非常に低いという特徴を持っている。しかし、この方法では、1つのセグメントについて計算された係数での動きの補償によって隣のセグメントを予測することさえもうまくできるのは非常にまれであるので、セグメント同士を併合できないことが非常に頻繁にある。
もう一つの方法は動きフィールドはめ込みによる併合として知られている。この方法では、動き係数cijは近似の方法により計算される。それは、各セグメントで少数の動きベクトルを評価することによって行われる。図4においてセグメントSi及びSjの幾つかの動きベクトルが描かれている。セグメントSijについての動きフィールドは、或る公知のはめ込み方法を使用してこれらのベクトルを通じて共通の動きベクトルフィールドをはめ込むことによって作成される。この方法の欠点は、はめ込みによって得られる動きフィールドが充分に精密ではなくて、予測エラーが許容できないほど大きくなることがしばしばあることである。
いろいろなモデルで動きを推定し、最も適当なものを選択する方法が下記の2つの文献で提案されている:
1994年度、音響学、音声及び信号処理に関する国際会議議事録、III265-268ページ、H.ニコラス及びC.ラビットの”画像シーケンス符号化のための決定論的緩和法を用いる領域に基づく動き推定方法”(H. Nicolas and C. Labit, ”Region-based motion estimation using deterministic relaxation schemes for image sequence coding, ”Proc. 1994 International Conference on Acoustics, Speech and Signal Processing, pp. III265-286);
ビデオ技術のための回路及びシステムに関するIEEE会報、1994年6月、第3巻第4号、357-364ページ、P.チッコーニ及びH. ニコラスによる”画像シーケンス符号化のための領域に基づく効率的動き推定方法及び対称指向分割方法”(P. Cicconi and H. Nicolas, ”Efficient regient-based motion estimation and symmetry oriented segmentation for image sequence coding, ”IEEE Trans. on Circuits and Systems for Video Technology, Vol. 4, No. 3, June 1994, pp. 357-364)
それらの方法は、いろいろなモデルで動き推定を行って、最も適当なものを1つ選択することによって、動きの複雑さに応じて動きモデルを適応させようと試みる。それらの方法の主な欠点は、計算が複雑で、実際に試験することのできるいろいろな動きフィールドモデルの量が少ないことである。
上記の方法のいずれも、単独では、予測エラーEn(x,y)の尺度をなるべく低く保ちながら、復号器に送られる動き係数ciの数を最小にするという問題を解決することはできない。
発明の概要
本発明の目的は、予測エラーを大幅に増大させずに公知の動き推定方法により作成される動きフィールドベクトル情報の量を大幅に減少させる動きフィールド符号器を作ることである。利用可能な信号処理装置或いは汎用マイクロプロセッサで実用的に実現できるように、その動きフィールド符号器の複雑さは低くなければならない。
本発明によれば、動きフィールド符号器は3個の主なブロックを含んでいる。
第1の主なブロックはQR動き分析器(motion analyzer)と呼ばれる。その任務は、動きフィールド推定器によって作成されて入力された動きフィールドの新しい表示を求めることである。その新しい表示は第2の主なブロックに入力される。この第1の主なブロックでの動作は、行列演算からなる複数のステップを含んでいる。その第1のステップでは予測フレームが公知の近似方法で線形化され、予測フレームは動きベクトルに関して線形となる。第2ステップでは二乗予測エラー(square prediction error)を最小化するために行列Ei及び行列yiが作成される。第3ステップでは周知のQR因数分解アルゴリズムを使って行列Eiを2つの行列Qi及びRiの積に分解する。また、因数行列Qi及び行列yiから補助ベクトルziを計算する。行列Riの一部分と補助ベクトルziとが第2の主なブロックに入力される。
セグメント併合ブロック(segment merging block)と呼ばれる第2の主なブロックは、隣り合うセグメントの対の結合された領域を共通の動きフィールドを使用して予測できるか否かを判定して、それらのセグメントの対を併合させる。行列演算では始めに行列方程式を作成し、その後に公知の行列計算方法を使用して因数行列を処理する。その結果は行列方程式であり、その1つの行列はいくつかの項を含んでいて、それらに基づいて、併合されるセグメントの領域での二乗予測エラーを簡単に計算できる。もし二乗予測エラーの変化が、選択された基準に照らして許容できる程度のものであるならば、それらのセグメントを併合させる。
全てのセグメントの対が検討された後、セグメント併合ブロックの出力は:
i. セグメントの数が減っている、新たに分割された画像であるか、
ii. 各新セグメントについて該ブロックは行列R1 ij、ベクトルz1 ijを出力するか、
iii.併合情報であり、この情報は復号器に送られて、復号器が併合されたセグメントを特定するのに役立つ。
第3の主なブロックは係数除去ブロック(coefficient removal block)と呼ばれる。このブロックは入力として、新たに各セグメントに分割された現在のフレームを受け取るとともに、全てのセグメントについてセグメント併合ブロックにより作成された行列R1 k、z1 k、及びckを受け取る。全てのセグメントの動きベクトルが数個の動き係数によって表示される。動き係数除去ブロックは、各セグメントについて、予測エラーをあまり増大させることなく動きフィールドモデルを簡単にすることができるか否か判定する。何らかの基底関数が動きモデルから除去され、その様にして単純化された動きフィールドモデルを記述するのに必要な係数は少なくなる。
この第3の主なブロックでの動作は行列操作であり、始めに因数行列の1つの行と列とを除去して行列方程式を修正し、次にその行列方程式を三角行列にする(triangularized)。1つの列及び行の除去は動きモデルからの1つの基底関数の除去に相当する。1つの基底関数の除去によって生じるセグメントについての二乗予測エラーの変化は方程式中の1つの項の二乗に等しい。
選択された基準に照らして予測エラーの変化が許容できる程度であるならば、1つの係数が係数の集合から除去される。これらの行列操作を更に繰り返して、該セグメントについてより多くの係数を減らすことができる。充分な量の係数が除去された後、得られた一次方程式を解くことによってそのセグメントについての最終の動き係数が計算される。例えば後退代入(backsubstitution)など、周知のアルゴリズムの1つを使って方程式を解くことができる。
第3の主なブロックは、処理した全てのセグメントについて、どの基底関数が動きフィールドモデルから除去されたのかを知らせる選択情報を出力する。更にこのブロックは、残っている基底関数に対応する新しい動き係数も出力する。選択情報と動き係数との両方が復号器に送られる。
【図面の簡単な説明】
図1は、公知の符号器の概略図である。
図2は、公知の復号器の概略図である。
図3は、併合される隣り合っているセグメントを示す。
図4は、動きフィールド近似による併合を示す。
図5は、本発明による動きフィールド符号器である。
図6は、QR動き分析器の概略図である。
図示した実施例の説明
図5は、本発明による動きフィールド符号器を示している。これは図1のブロック3に対応するものであるけれども、入力として参照フレーム及び現在のフレームも有する。このブロックへの第3の入力は、図1の動きフィールド推定ブロック2によって作成された動きベクトルフィールド[Δx(・),Δy(・)]である。
ビデオ符号器の出力が各セグメントに分割された圧縮されているフレームであり、その各セグメントに動き係数が随伴しているとするならば、座標(xi,yi),i=1,2,...,P、のP個のピクセルからなるセグメントSiについて、動きフィールド符号器の任務は、圧縮されている動きベクトルフィールド
Figure 0003781194
の動き係数
Figure 0003781194
を求めることであり、その動きベクトルは線形動きモデルで記述され、そのフィールドは下記の形を持っており:
Figure 0003781194
それは二乗予測エラー:
Figure 0003781194
を最小化するようになっている。
前記の任務を達成するために、動きフィールド符号器は3つの主な構成ブロックからなっており、それらはQR動き分析ブロック、セグメント併合ブロック、及び動き係数除去ブロックである。セグメント併合ブロック及び動き係数除去ブロックは、二乗予測エラーを増大させる結果をもたらす動き情報の量を減少させる。
QR動き分析器の目的は、動きフィールドの新しい表示を求めることである。その新しい表示は、後に、他の2つのブロック、即ち併合されたセグメントについての動き係数を高速で且つ柔軟に求めるためのブロック及び係数除去を行うブロック、で使用される。QR動き分析器の動作は下記のステップからなる。
即ち、ステップ1はエラーの線形化である。このステップでは方程式(5)の予測フレーム
Figure 0003781194
が公知の何らかの近似方法によって近似されて
Figure 0003781194
に関して線形となる。すると、式(5)の総和での各要素は係数ciの一次結合となる:
Figure 0003781194
ステップ2は行列の作成である。それは、式(6)の最小化が行列表示
Figure 0003781194
の最小化と全く同等であるという事実に基づいており、ここでEi及びyiは次の通りである:
Figure 0003781194
ステップ3はQR因数分解である。周知のQR因数分解アルゴリズムがG.H.ゴルブ及びC.ブァン・ローンの文献”行列計算”第2版、1989年ジョンズホプキンス大学出版会(the document G. H. Golub and C. van Loan, ”Matrix computation”2'nd edition, The Jojns Hopkins University Press, 1989)で解説されている。このアルゴリズムを使用してEiを2つの行列の積に分解する:
i=Qii (8)
このステップで補助ベクトルziも計算するが、これは次の通りである:
i=QT ii (9)
ステップ4ではQR動き分析ブロックの出力を計算する。その出力は行列Riの始めのN+M個の行からなる行列Ri 1と、ziの始めのN+M個の要素からなるベクトルz1 iとからなる。
セグメント併合ブロックでは、隣り合うセグメントSi及びSj(図4を参照)の対を、動き係数cijによって記述される共通の動きフィールドを使ってそれらの結合領域Sijを予測できるか否かを判定して、併合操作がなされる。合併操作は次の各ステップからなる。
即ち、ステップ1は行列計算からなる。本発明は、下記の一次方程式の系:
Figure 0003781194
を解くことによって動き係数cijを求めることができるという、以前は知られていなかった性質を利用する。ここでR1 i,z1 i及びR1 j,z1 jは、それぞれセグメントSi及びSjについてQR分析ブロックにより既に作成されている。
ステップ2は、ステップ1で得られた行列を三角行列にする(triangularization)ステップである。行列R1 i,R1 jは上部の三角行列であり、方程式系(10)は前記の文献の教示によると下記の形を有する:
Figure 0003781194
ここで記号×はゼロでない要素を表す。前記の文献の教示によると、この系は、各行にスカラーを乗じる一連の掛け算を行った後にそれらの行を加えることによって三角行列にされる、即ち、それは下記の形に変換される:
Figure 0003781194
ステップ3では併合エラーを計算する。セグメントSi及びSjの併合により生じる領域Sijでの二乗予測エラーの変化ΔEijを前記の文献の教示に従って次のようにして計算する:
Figure 0003781194
最後に、ステップ4で、式(13)の二乗予測エラーの変化が、選択された基準に照らして許容できる程度であるならば、前記のセグメント同士を併合させる。それにより得られた新しいセグメントSijについて、方程式系(12)の始めのN+M個の行をとることによって行列R1 ij及びベクトルz1 ijを作成する、即ちそれらは下記の式によって与えられる:
Figure 0003781194
フレームのセグメントの全ての対が検討された後、セグメント併合ブロックの出力が得られる。その出力は3種類の情報からなる。第1に、その出力は、セグメントの個数が減らされている、画像の新しい分割態様を提示する。第2に、新しいセグメントの各々について該ブロックは行列R1 ij及びベクトルz1 ijを出力する。第3に、該ブロックは併合情報を提示し、それは復号器に送られて、復号器が併合されたセグメントを識別しやすくする。
今、方程式系R1 ijij=z1 ijを解くことによってセグメントSijについての動き係数cij(c1,c2,...cN+M)を計算することができるが、もし次のブロック(係数除去ブロック)を使用するのならばその計算は不要である。
ここで係数除去ブロックの動作を考察する。このブロックは入力として現在のフレームのセグメントへの新しい分割態様を受け取るとともに、全てのセグメントSkについて、前もってセグメント併合ブロックによって作成された行列R1 k,z1 k及びckを受け取る。どのセグメントの動きベクトルもN+M個の動き係数によって表示される。
動き係数除去ブロックは、与えられたセグメントSkについて予測エラーをあまり増大させることなく動きフィールドモデルを簡単化することが可能か否かを判定する。本明細書の背景技術の項で説明した方程式(3)のモデルから何らかの基底関数が除去されると、簡単化された動きフィールドモデルが得られる。その様に簡単化された動きフィールドモデルを記述するのに必要な係数は比較的に少なくなっている。
動きフィールドモデルからi番目の基底関数(及びi番目の係数)を除去できるか否かを判定するために、下記の処理手順が各セグメントに対して実行される。
即ち、ステップ1は行列修正を含んでおり、ここでR1 kからi番目の列を除去し、ckからi番目の要素を除去することによって下記の一次方程式系:
1 kk=z1 k (15)
を修正する。
ステップ2は行列三角化を含んでおり、ここで各行にスカラーを乗じる一連の掛け算を行った後にそれらの行を加えることによって方程式系(15)が公知の方法で三角行列にされる、即ち、それは下記の形に変換される:
Figure 0003781194
ステップ3はエラー評価を含んでいる。i番目の係数の除去によって生じるセグメントについての二乗予測エラーの変化は、単に方程式(16)の中の項q2 iに等しい。
ステップ4は係数の除去を含んでいる。もし予測エラーの変化が選択された基準に照らして許容できる程度であれば、係数ciは係数の集合から除去される。これで係数の新しい個数はN+M-1となる。行列R1 k及びベクトルz1 kは下記の形に修正される:
Figure 0003781194
行列(17)を方程式(15)で使用してステップ1−4を繰り返すことによって、このセグメントについての係数の個数を更に減らすことができる。
ステップ5は係数計算を含んでいる。充分な数の係数が除去された後、このステップが始まる。このステップで、一次方程式系:
1 kk=z1 k (18)
を解くことによってセグメントSkについての最終の動き係数が計算される。ここで行列R1 k及びベクトルz1 kは前のステップ1−4の結果である。例えば後退代入(backsubstitution)など、周知のアルゴリズムの1つを使ってこの方程式を解くことができる。
動き係数除去ブロックは、処理した全てのセグメントについて、どの基底関数が動きフィールドモデルから除去されたのかを復号器に知らせる選択情報を出力する。また、該ブロックは残っている基底関数に対応する新しい動き係数を出力する。この選択情報と動き係数との両方が復号器に送られる。
これらブロックの全てにおける全てのステップの結果として、本発明による動きフィールド符号器は、どのセグメントが併合されたかを復号器に知らせる併合情報と、どの基底関数が除去されたかを復号器に知らせる選択情報と、動き係数情報とを作成する。
従来技術と比べると、本発明の主な利点は、予測エラーを大幅に増大させずに動き情報の量を大幅に減少させることができることである。また、システム全体の複雑さが低くて、利用可能な信号処理装置或いは汎用マイクロプロセッサで実用的に実現できる。
セグメント併合ブロックは、別々のセグメントについて推定された与えられた動きベクトルから、結合されたセグメントの動きベクトルを求めることができるという独特の能力を持っている。このブロックが作成する動きベクトルは、実際上、結合されたセグメントについての二乗エラーを最小に保つことに関して最適であることを証明することができる。このことが、このブロックが二乗予測エラーをごくわずか増大させるだけでセグメントの個数を劇的に減少させる能力を持っていることの理由である。
動き係数除去ブロックは、動きモデルをビデオシーンの中の動きの実際の量及び種類に瞬時に適応させるための非常に強力な手段である。このブロックは、例えば実現可能なあらゆる動きフィールド基底関数の組み合わせなど、非常に多数のモデルで予測の結果(セグメントについての二乗予測エラーの値)を容易に試験することができる。他の公知の如何なる方法もこの様な柔軟性を持っていない。この方式の強力な利点は、動き推定のプロセスを反復する必要がないので計算が簡単だということである。
動き推定後にQR動き分析を行うことによって、この動きフィールド符号器は、画像セグメントの所望の如何なる組み合わせについても、或いはセグメントの動きフィールドの所望の如何なるモデルについても、非常に単純な一次方程式系を解くことによって新しい動き係数を求めることができる。
好ましい実施例の説明
好ましい実施例では12個の係数を有する下記の二次多項式動きベクトルフィールドモデルが使用される:
Figure 0003781194
このモデルは、実際上、ビデオシーケンスにおける非常に複雑な動きでも十分に処理することができて、良好な予測結果をもたらす。
QR動き分析ブロックで、下記の各点:
x′i=xi+Δx(xi,yi
y′i=yi+Δy(xi,yi
の周りの全てのピクセル(xi,yi),i=1,2,...,P、での
Figure 0003781194
のテイラー展開(Taylor expansion)を使ってステップ1での線形化を行う。
Figure 0003781194
という性質を使うと、予測エラーは下記の通りとなる:
Figure 0003781194
下記の式:
Figure 0003781194
を使って補助値gj(x,y)を計算する。ここで関数fj(xi,yi)は方程式(4a)及び(4b)で定義される基底関数である。
方程式(9)の中の行列E及びベクトルyは下記の式:
Figure 0003781194
を使って作成される。Gx(x,y)及びGy(x,y)は、下記の式:
Figure 0003781194
を使って計算される参照フレーム
Figure 0003781194
の水平勾配及び垂直勾配の値である。
図6はQR動き分析器の略図である。行選択ブロックは入力された行列の始めのN+M個の行だけを選択する。セグメント併合ブロックでは、セグメント併合のために下記の方針が実行される:
a.フレーム全体で許容される二乗予測エラーの増加に対応するしきい値Tを選択する。
b.隣り合うセグメント同士の全ての対について方程式(13)を使ってΔEijを計算する。
c.ΔEijが最小であるセグメントの対を併合させる。
d.併合された全てのセグメント対に対応するΔEijの総和がTより大きくなるまでポイントb−cを繰り返す。
方程式系(11)を三角化するために、一連のギブンズ回転(Givens rotations)が使用される。
動き係数除去ブロックでは係数除去のために下記の方針を実行する:
a.フレーム全体で許容される二乗予測エラーの増加に対応するしきい値Tを選択する。
b.全てのセグメント及び全ての基底関数について方程式(16)を使ってqi 2を計算する。
c.qi 2が最小のセグメントの基底関数を除去する。
d.いろいろなセグメントで除去された全ての基底係数に対応する全てのqi 2の総和がTより大きくなるまでポイントb−cを反復する。
式の系(16)は、一連のギブンズ回転によって三角化される。
セグメントの最終の動き係数は、後退代入アルゴリズムを使用して方程式(18)を解くことによって計算される。
Figure 0003781194
のピクセル値は、整数座標x及びyだけについて定義される。x又はyが整数でない多くの場合に、整数座標を持った最も近い各ピクセルの双線形補間を行ってそのピクセル値を計算する。
このシステムを、本発明の範囲から逸脱せずにいろいろに実施することができる。例えば、方程式(3)でいろいろな線形動きモデルを使用することができる。いろいろな方法を使用して式(5)の項を線形化することができる。更に、2つのセグメントを併合させるか否かを決定するためにいろいろな基準を用いることができる。与えられた基底関数をモデルから除去するべきか否かを決定するための方針は様々であってよい。方程式(10)及び(15)の各行列の三角化をいろいろなアルゴリズムを使用して実行することができ、方程式(18)を解くことによる最終係数の計算を、一次方程式系を解くための公知のいろいろなアルゴリズムを使用して実行することができる。最後に、非整数座標における
Figure 0003781194
の値に対していろいろな補間方法を使用することができる。Field of Invention
The present invention relates generally to video compression. More precisely, the present invention relates to a method for generating motion information in a video sequence by encoding an estimated motion field.
Background of the Invention
Motion compensated prediction is a very important element of most video coding schemes. FIG. 1 is a schematic diagram of an encoder that compresses a video sequence using motion compensation. The essential elements of this encoder are a motion compensated prediction block 1, a motion estimator 2, and a motion field encoder 3. The operating principle of the motion compensated video encoder is that the incoming frame I to be encoded, called the current frame, isn(x, y) and prediction frame
Figure 0003781194
Prediction error Enwhere (x, y) is compressed, where
Figure 0003781194
Prediction frame
Figure 0003781194
Is created by motion compensated prediction block 1 and has been previously or otherwise encoded
Figure 0003781194
And a motion vector of each pixel between the current frame and the reference frame. The motion vector is calculated by the motion field estimator 2 and the resulting vector field is encoded in some way before being input to the prediction block 1. The prediction frame is as follows:
Figure 0003781194
The number pair [x + Δx (x, y), y + Δy (x, y)] is called the motion vector of the pixel at location (x, y) in the current frame and Δx (x, y ) And Δy (x, y) are the horizontal and vertical displacement values of this pixel. Current frame InThe set of motion vectors for all pixels in (x, y) is called the motion vector field. The encoded motion vector field is also sent to the decoder as motion information.
In the decoder of FIG.nEach pixel at (x, y) is a reference frame
Figure 0003781194
The predicted value of the pixel in
Figure 0003781194
Is restored (reconstructed). The motion compensation prediction block 21 receives the received motion information and reference frame.
Figure 0003781194
(In this picture, the reference frame is the same as the current frame) to create a prediction frame. In the prediction error decoder 22, the decoded prediction error En(x, y) is added to the predicted frame to get the original current frame InIs obtained.
The general purpose of motion compensated (MC) prediction is to minimize the amount of information that must be sent to the decoder. This prediction is for example EnThe amount of prediction error measured as (x, y) energy should be as small as possible, and the amount of information required to display the motion vector field should be as small as possible.
March 26-18, 1990, H., published on pages 841-845 of the Minutes of the Image Coding Symposium '90 in Cambridge, Massachusetts. Nguyen, E. Dubois, “The document H. Nguen, E. Dubois,“ Representation of motion information for image coding ”. Proc. Picture Coding Symposium '90, Cambridge, Massachusetts, March 26-18, 1990, pages 841-845) outlines motion field coding techniques. Roughly speaking, in order to reduce the prediction error, a more complex motion field is required, i.e. a larger number of bits must be used for the encoding. The overall goal of video coding is therefore to encode the motion vector field as compactly as possible while keeping the prediction error measure as low as possible.
Motion field estimation block 1 (FIG. 1) calculates a motion vector that minimizes some measure of prediction error, such as, for example, a square prediction error, for all pixels of a given segment. . Motion field estimation techniques differ in both the motion field model and the algorithm for minimizing the selected measure of prediction error.
Due to the very large number of pixels in the frame, it is not efficient to send a separate motion vector for each pixel. In most video coding schemes, the current frame is divided into large image segments so that all motion vectors of the segment can be described with a small number of parameters. The image segment may be a square block. For example, a block of 16 × 16 pixels is used in a codec (codec) conforming to the international standard ISO / IEC MPEG-1 or ITU-TH.261. In addition, the image segment may be composed of a region having an arbitrary shape obtained by, for example, a division algorithm. In practice, each segment contains at least tens of pixels.
In order to display the motion vector of each pixel in the segment in a compact manner, it is desirable that these values can be described by a function of a small number of parameters. Such a function is called a motion vector field model. A known group of models are linear motion models whose motion vectors are linear combinations of motion field basis functions. In such a model, the motion vector of an image segment has the following general formula:
Figure 0003781194
Where parameter ciIs called a motion coefficent and is sent to the decoder. Function fi(x, y) is called the motion field basis function, which is fixed and known to both the encoder and the decoder.
The problem when using a linear motion model with the above equation is the prediction error EnThe motion coefficient c sent to the decoder while keeping the scale of (x, y) as low as possible.iHow to minimize the number of. This process is performed by the motion field encoding block 3 in the encoder (see FIG. 1). It is performed after the motion field estimation, which is very complicated with respect to the calculation, achieved by block 2. Therefore, motion field coding is simple in terms of computation and it is very important that no additional burden is placed on the encoder.
The total number of motion coefficients that need to be sent to the decoder depends on both the number of segments in the image and the number of motion coefficients per segment. Therefore, there are at least two ways to reduce the total number of motion coefficients.
The first method is to reduce the number of segments by combining (merging) segments that can be predicted with a common motion vector field without significantly increasing the prediction error. It is very often possible to predict neighboring segments with the same set of motion coefficients, so that the number of segments in a frame can be reduced. The process of joining such segments is called motion assisted merging.
The second method is to select a motion model for each segment that can achieve a sufficiently low prediction error with as few coefficients as possible. Since the amount and complexity of motion varies from frame to frame and from segment to segment, it is not efficient to always use all N + M motion coefficients per segment. The minimum number of motion coefficients that can achieve a satisfactorily low prediction error needs to be determined for all segments. The process of adaptive selection of such coefficients is called motion coefficient removal.
FIG. 3 shows a frame divided into segments. Prior art techniques for performing motion coefficient coding include several techniques for performing motion-assisted merging. After all segment motion vectors have been estimated, motion-assisted merging is performed. It is the adjacent segment SiAnd SjAll pairs of their motion coefficients ciAnd cjIt is done with consideration. Combined segment SiAnd SjThe area of SijIs displayed. Predictive error SiAnd SjMotion coefficient c without significantly increasing the error resulting from separate predictions ofijA region S in a set ofijIf we can predictiAnd SjAre merged. The method of performing motion-assisted merging is essentially a motion factor c that makes it possible to predict well the segments combined with each other.ijDiffer in the way of finding a single set of
One method is known as a merge method with thorough motion estimation. This method uses the adjacent segment SiAnd SjMotion coefficient c for all pairs ofijEstimate a new set of “from scratch”. If SijIf the prediction error for is not too large, segment SiAnd SjAre merged. Although this method allows very good selection of segments that can be merged, it usually does not do so because it increases the complexity of the encoder by several orders of magnitude.
Another method is known as merging by motion field expansion. This method does not increase the prediction error too much, without any motion parameter ciOr cjUsing SijIt is tested whether the area of can be predicted. This method is characterized by very low computational complexity because it does not require any new motion estimation. However, with this method, it is very rare that even a neighboring segment can be predicted successfully by motion compensation with the coefficients calculated for one segment, so it is very often impossible to merge segments. It is in.
Another method is known as merge by motion field fitting. In this method, the motion coefficient cijIs calculated by an approximate method. That is done by evaluating a small number of motion vectors in each segment. Segment S in FIG.iAnd SjSeveral motion vectors are drawn. Segment SijIs created by fitting a common motion vector field through these vectors using some known fitting method. The disadvantage of this method is that the motion field obtained by fitting is not precise enough and the prediction error is often unacceptably large.
The following two literatures suggest ways to estimate motion with various models and select the most appropriate one:
1994, International Conference Proceedings on Acoustics, Speech and Signal Processing, pages III265-268, H. Nicholas and C. Rabbit's "Regional Motion Estimation Method Using Deterministic Relaxation Method for Image Sequence Coding" ”(H. Nicolas and C. Labit,“ Region-based motion estimation using deterministic relaxation schemes for image sequence coding, ”Proc. 1994 International Conference on Acoustics, Speech and Signal Processing, pp. III265-286);
IEEE Bulletin on Circuits and Systems for Video Technology, June 1994, Vol. 3, No. 4, pp. 357-364, p. “Efficient regient-based motion estimation and symmetry oriented segmentation for image” by P. Cicconi and H. Nicolas, “Efficient regient-based motion estimation and symmetry oriented segmentation for image” sequence coding, "IEEE Trans. on Circuits and Systems for Video Technology, Vol. 4, No. 3, June 1994, pp. 357-364)
These methods attempt to adapt the motion model according to the complexity of the motion by performing motion estimation with various models and selecting the most appropriate one. The main drawback of these methods is that they are computationally complex and the amount of different motion field models that can actually be tested is small.
None of the above methods alone is a prediction error EnThe motion coefficient c sent to the decoder while keeping the scale of (x, y) as low as possible.iThe problem of minimizing the number cannot be solved.
Summary of the Invention
It is an object of the present invention to create a motion field encoder that greatly reduces the amount of motion field vector information created by known motion estimation methods without significantly increasing prediction errors. The complexity of the motion field encoder must be low so that it can be implemented practically with available signal processors or general purpose microprocessors.
According to the invention, the motion field encoder includes three main blocks.
The first main block is called the QR motion analyzer. Its task is to seek a new representation of the motion field created and input by the motion field estimator. The new display is entered into the second main block. The operation in the first main block includes a plurality of steps consisting of matrix operations. In the first step, the prediction frame is linearized by a known approximation method, and the prediction frame is linear with respect to the motion vector. In the second step, the matrix E is used to minimize the square prediction error.iAnd matrix yiIs created. In the third step, the matrix E using the well-known QR factorization algorithmiTo two matrices QiAnd RiIt decomposes into the product of Also, the factor matrix QiAnd matrix yiTo auxiliary vector ziCalculate Matrix RiPart and auxiliary vector ziAre input to the second main block.
A second main block, called a segment merging block, determines whether the combined region of adjacent pairs of segments can be predicted using a common motion field, and those segments Merge pairs of. In matrix operation, a matrix equation is first created, and then a factor matrix is processed using a known matrix calculation method. The result is a matrix equation, the matrix of which contains several terms, on which a square prediction error in the region of the merged segment can be easily calculated. If the change in squared prediction error is acceptable to the chosen criteria, the segments are merged.
After all segment pairs have been considered, the output of the merge segment block is:
i. A newly segmented image with a reduced number of segments,
ii. For each new segment, the block is a matrix R1 ij, Vector z1 ijOr
iii. Merged information, which is sent to the decoder to help the decoder identify the merged segment.
The third main block is called a coefficient removal block. This block receives as input the current frame newly divided into segments, and a matrix R created by the segment merge block for all segments.1 k, Z1 kAnd ckReceive. The motion vectors of all segments are displayed by several motion coefficients. The motion factor removal block determines, for each segment, whether the motion field model can be simplified without significantly increasing the prediction error. Some basis functions are removed from the motion model, so fewer coefficients are needed to describe a simplified motion field model.
The operation in this third main block is a matrix operation, which first modifies the matrix equation by removing one row and column of the factor matrix, and then makes the matrix equation triangular (triangularized) . Removing one column and row corresponds to removing one basis function from the motion model. The change in squared prediction error for a segment caused by the removal of one basis function is equal to the square of one term in the equation.
A coefficient is removed from the set of coefficients if the change in prediction error is acceptable in light of the selected criteria. These matrix operations can be further repeated to reduce more coefficients for the segment. After a sufficient amount of coefficients has been removed, the final motion coefficient for the segment is calculated by solving the resulting linear equation. The equation can be solved using one of the well-known algorithms, for example backsubstitution.
The third main block outputs selection information that informs which basis functions have been removed from the motion field model for all processed segments. The block also outputs new motion coefficients corresponding to the remaining basis functions. Both selection information and motion coefficients are sent to the decoder.
[Brief description of the drawings]
FIG. 1 is a schematic diagram of a known encoder.
FIG. 2 is a schematic diagram of a known decoder.
FIG. 3 shows adjacent segments being merged.
FIG. 4 illustrates merging with motion field approximation.
FIG. 5 is a motion field encoder according to the present invention.
FIG. 6 is a schematic diagram of a QR motion analyzer.
Description of the illustrated embodiment
FIG. 5 shows a motion field encoder according to the invention. This corresponds to block 3 of FIG. 1, but also has a reference frame and a current frame as inputs. The third input to this block is the motion vector field [Δx (•), Δy (•)] created by the motion field estimation block 2 of FIG.
If the output of the video encoder is a compressed frame divided into segments, and each segment has a motion coefficient associated with it, the coordinates (xi, yi), I = 1, 2,. . . , P, segment S consisting of P pixelsiAbout motion field encoder mission, motion vector field being compressed
Figure 0003781194
Motion coefficient
Figure 0003781194
The motion vector is described by a linear motion model, and the field has the following form:
Figure 0003781194
It is a square prediction error:
Figure 0003781194
Is to be minimized.
To accomplish the above task, the motion field encoder consists of three main building blocks, a QR motion analysis block, a segment merge block, and a motion coefficient removal block. The segment merging block and the motion coefficient removal block reduce the amount of motion information that results in increasing the square prediction error.
The purpose of the QR motion analyzer is to determine a new representation of the motion field. The new display is later used in the other two blocks: a block for fast and flexible determination of motion coefficients for the merged segments and a block for coefficient removal. The operation of the QR motion analyzer consists of the following steps.
That is, step 1 is error linearization. In this step, the prediction frame of equation (5)
Figure 0003781194
Is approximated by some known approximation method
Figure 0003781194
Is linear with respect to Then, each element in the sum of Expression (5) is a coefficient ciIs a linear combination of:
Figure 0003781194
Step 2 is the creation of a matrix. That is, the minimization of equation (6) is a matrix display
Figure 0003781194
Based on the fact that it is exactly equivalent to minimizingiAnd yiIs as follows:
Figure 0003781194
Step 3 is QR factorization. The well-known QR factorization algorithm is described by G.H. 2nd edition of the document "Matrix Calculation" by Van Lone, explained in 1989 Johns Hopkins University Press (the document GH Golub and C. van Loan, "Matrix computation" 2'nd edition, The Jojns Hopkins University Press, 1989) Has been. Using this algorithm EiDecomposes into the product of two matrices:
Ei= QiRi    (8)
At this step, auxiliary vector ziAlso computes as follows:
zi= QT iyi    (9)
In step 4, the output of the QR motion analysis block is calculated. Its output is the matrix RiMatrix R with N + M rows at the beginning ofi 1And ziVector z of N + M elements at the beginning of1 iIt consists of.
In the segment merge block, adjacent segment SiAnd SjA pair of motion coefficients c (see FIG. 4)ijTheir combined regions S using a common motion field described byijIs determined, and a merging operation is performed. The merge operation consists of the following steps.
That is, step 1 consists of matrix calculation. The present invention provides the following system of linear equations:
Figure 0003781194
By solving for the motion coefficient cijIt uses the property that was not known before. Where R1 i, Z1 iAnd R1 j, Z1 jIs segment SiAnd SjHas already been created by the QR analysis block.
Step 2 is a step of making the matrix obtained in Step 1 a triangular matrix. Matrix R1 i, R1 jIs the upper triangular matrix and the system of equations (10) has the form:
Figure 0003781194
Here, the symbol x represents a non-zero element. According to the teachings of the above references, the system is triangulated by performing a series of multiplications that multiply each row by a scalar and then adding those rows, ie it is converted to the form:
Figure 0003781194
In step 3, the merge error is calculated. Segment SiAnd SjRegion S resulting from mergerijChange of square prediction error ΔEijIs calculated according to the teachings of the above literature as follows:
Figure 0003781194
Finally, in step 4, if the change in the squared prediction error of equation (13) is acceptable to the selected criteria, the segments are merged. New segment S obtained therebyijFor the matrix R by taking the first N + M rows of the system of equations (12)1 ijAnd vector z1 ijI.e. they are given by the following formula:
Figure 0003781194
After all pairs of segments of the frame have been considered, the output of the segment merge block is obtained. The output consists of three types of information. First, the output presents a new segmentation of the image in which the number of segments is reduced. Second, for each new segment, the block is a matrix R1 ijAnd vector z1 ijIs output. Third, the block presents merge information, which is sent to the decoder to help the decoder identify the merged segment.
Now the system of equations R1 ijcij= Z1 ijSegment S by solvingijMotion coefficient c forij(C1, C2,. . . cN + M) Can be calculated, but if the next block (coefficient removal block) is used, that calculation is not necessary.
Now consider the operation of the coefficient removal block. This block receives as input the new division into segments of the current frame and all segments SkThe matrix R created in advance by the segment merging block1 k, Z1 kAnd ckReceive. Every segment's motion vector is represented by N + M motion coefficients.
The motion coefficient removal block is given a segment SkIt is determined whether the motion field model can be simplified without significantly increasing the prediction error. If any basis function is removed from the model of equation (3) described in the background section of this specification, a simplified motion field model is obtained. Fewer coefficients are needed to describe such a simplified motion field model.
In order to determine whether the i th basis function (and i th coefficient) can be removed from the motion field model, the following procedure is performed for each segment.
That is, step 1 includes matrix modification, where R1 kRemove the i th column from ckBy removing the i th element from the linear system:
R1 kck= Z1 k    (15)
To correct.
Step 2 includes matrix triangulation, where the system of equations (15) is triangulated in a known manner by adding the rows after performing a series of multiplications that multiply each row by a scalar: It is converted to the following form:
Figure 0003781194
Step 3 includes error evaluation. The change in square prediction error for the segment caused by the removal of the i th coefficient is simply the term q in equation (16).2 ibe equivalent to.
Step 4 includes the removal of coefficients. If the change in prediction error is acceptable to the selected criteria, the coefficient ciIs removed from the set of coefficients. The new number of coefficients is now N + M-1. Matrix R1 kAnd vector z1 kIs modified to:
Figure 0003781194
By repeating steps 1-4 using matrix (17) in equation (15), the number of coefficients for this segment can be further reduced.
Step 5 includes coefficient calculation. This step begins after a sufficient number of coefficients have been removed. In this step, the system of linear equations:
R1 kck= Z1 k    (18)
Segment S by solvingkThe final motion coefficient for is computed. Where matrix R1 kAnd vector z1 kIs the result of the previous step 1-4. This equation can be solved using one of the well-known algorithms such as backsubstitution.
The motion coefficient removal block outputs selection information that informs the decoder which basis functions have been removed from the motion field model for all processed segments. The block also outputs new motion coefficients corresponding to the remaining basis functions. Both this selection information and the motion coefficients are sent to the decoder.
As a result of all steps in all of these blocks, the motion field encoder according to the present invention provides merge information to inform the decoder which segments have been merged and selection information to inform the decoder which basis functions have been removed. And motion coefficient information.
Compared to the prior art, the main advantage of the present invention is that the amount of motion information can be greatly reduced without significantly increasing the prediction error. Further, the complexity of the entire system is low, and it can be practically realized by an available signal processing device or a general-purpose microprocessor.
The merged segment block has the unique ability to determine the combined segment motion vectors from the given motion vectors estimated for the different segments. The motion vector produced by this block can prove to be optimal in practice with respect to keeping the square error for the combined segments to a minimum. This is why this block has the ability to dramatically reduce the number of segments with only a slight increase in square prediction error.
The motion coefficient removal block is a very powerful means for instantly adapting the motion model to the actual amount and type of motion in the video scene. This block can easily test the prediction results (the value of the squared prediction error for a segment) on a very large number of models, for example any possible combination of motion field basis functions. None of the other known methods have such flexibility. A powerful advantage of this scheme is that it is easy to calculate because it does not require iterating the motion estimation process.
By performing QR motion analysis after motion estimation, this motion field encoder solves a very simple system of linear equations for any desired combination of image segments, or any desired model of segment motion fields. Thus, a new motion coefficient can be obtained.
DESCRIPTION OF PREFERRED EMBODIMENTS
In the preferred embodiment, the following second order polynomial motion vector field model with 12 coefficients is used:
Figure 0003781194
This model can effectively handle even very complex motions in a video sequence and gives good prediction results.
In the QR motion analysis block, the following points:
x ′i= Xi+ Δx (xi, Yi)
y ′i= Yi+ Δy (xi, Yi)
All pixels around (xi, Yi), I = 1, 2,. . . , P, in
Figure 0003781194
Perform linearization in step 1 using Taylor expansion.
Figure 0003781194
Using this property, the prediction error is as follows:
Figure 0003781194
The following formula:
Figure 0003781194
Auxiliary value g usingjCalculate (x, y). Where function fj(xi, Yi) Is a basis function defined by equations (4a) and (4b).
The matrix E and vector y in equation (9) are:
Figure 0003781194
Created using Gx(x, y) and Gy(x, y) is the following formula:
Figure 0003781194
Reference frame calculated using
Figure 0003781194
Of horizontal and vertical slopes.
FIG. 6 is a schematic diagram of a QR motion analyzer. The row selection block selects only the first N + M rows of the input matrix. In the segment merge block, the following policy is implemented for segment merge:
a. A threshold T corresponding to the increase in the square prediction error allowed for the entire frame is selected.
b. ΔE using equation (13) for all pairs of adjacent segmentsijCalculate
c. ΔEijMerge the pair of segments with the smallest.
d. ΔE corresponding to all merged segment pairsijRepeat points bc until the sum of becomes greater than T.
To triangulate the system of equations (11), a series of Givens rotations are used.
The motion coefficient removal block implements the following policy for coefficient removal:
a. A threshold T corresponding to the increase in the square prediction error allowed for the entire frame is selected.
b. Q using equation (16) for all segments and all basis functionsi 2Calculate
c. qi 2Remove the basis function of the smallest segment.
d. All q corresponding to all basis coefficients removed in various segmentsi 2Repeat points bc until the sum of is greater than T.
The system of equations (16) is triangulated by a series of Givens rotations.
The final motion coefficient of the segment is calculated by solving equation (18) using a backward substitution algorithm.
Figure 0003781194
Are defined only for integer coordinates x and y. In many cases where x or y is not an integer, bilinear interpolation of each nearest pixel with integer coordinates is performed to calculate the pixel value.
This system can be implemented in various ways without departing from the scope of the present invention. For example, various linear motion models can be used in equation (3). Various methods can be used to linearize the term in equation (5). In addition, various criteria can be used to determine whether to merge two segments. The policy for determining whether a given basis function should be removed from the model can vary. Triangulation of each matrix of equations (10) and (15) can be performed using various algorithms, the calculation of the final coefficients by solving equation (18), known for solving the system of linear equations Can be implemented using a variety of algorithms. Finally, in non-integer coordinates
Figure 0003781194
Various interpolation methods can be used for the values of.

Claims (9)

ビデオシーケンスの現在のフレームInを符号化するためのビデオ符復号器であって、このビデオ符復号器は、符号化された動きベクトルフィールドを供給する動きフィールド符号器を有し、この動きフィールド符号器は、
現在のフレームInと、
参照フレーム
Figure 0003781194
と、
動きベクトルフィールドとを受け取るようになっている動き分析器を有し、
この動き分析器は、動きベクトルフィールドの新しい表示を求めるようになっており、その表示は、現在のフレームInの複数の画像セグメントのうちの各セグメントSiについて、ベクトルciによって表されるN+M個の動き係数の集合と基底関数の集合とに基づく線形動きモデルを伴っており、ここにN及びMはそれぞれ、圧縮されている動きベクトルフィールド
Figure 0003781194
の動き係数の個数であり、
該動き分析器は、
現在のフレームの各セグメントSiについて、行列表示Eii−yiに基づいて、その現在のフレームのセグメントと参照フレーム
Figure 0003781194
のセグメントとに基づく予測エラー関数を近似するための予測エラー線形化手段を含んでおり、ここでEiは行列であり、yiはベクトルであり、
ここに現在のフレームの各セグメントについて動き分析器によって近似される予測エラーの関数は下記の通りであり、
Figure 0003781194
ここで、
Figure 0003781194
であり、かつ
現在のフレームの各セグメントについて、前記行列表示から、第1の行列Ri 1及び第1のベクトルzi 1を作成するための行列処理手段を含んでおり、ここでRi 1i=zi 1であり、第1の行列Ri 1の行の個数は動き係数の個数N+Mに等しく、
ここに前記行列処理手段はQR因数分解手段を含んでおり、この手段は、行列Eiを行列Qi及びRiの積に分解し、補助ベクトルzi(ここで、zi=Qi γi)を作成し、行列Riの始めのN+M個の行からRi 1を形成するとともにベクトルziの始めのN+M個の要素からベクトルzi 1を形成するようになっており、
該動きフィールド符号器はセグメント併合手段を有し、この手段は、
該動き分析器に結合されて前記第1の行列Ri 1及び前記第1のベクトルzi 1を受け取るようになっていて、
現在のフレームInの隣り合うセグメントの対(Si,Sj)について、第1の行列Ri 1,Rj 1及び第1のベクトルzi 1,zj 1のそれぞれの対から併合行列Rij 1及び併合ベクトルzij 1を決定するとともに、
第1の行列Ri 1及び第1のベクトルzi 1の対を、併合行列Rij 1及び併合ベクトルzij 1が選択された基準に照らして許容できる予測エラーを生じさせる場合には、その併合行列Rij 1及び併合ベクトルzij 1と置き換えて、対応するセグメント対を併合させるようになっており、
該動きフィールド符号器は、該セグメント併合手段に結合されている係数除去手段を有し、この手段は、
残りの第1の行列Ri 1と第1のベクトルzi 1と置換した併合行列Rij 1と併合ベクトルzij 1とを受け取って、
現在のフレームInの各セグメント又は併合されたセグメントについて、対応する行列Rk 1及びベクトルzk 1を使って、近似された予測エラー関数の変化が選択された基準に照らして許容できるように動き係数ckの減らされた集合を決定し、
現在のフレームInの符号化されたバージョンを提供するようになっており、その形は、各セグメント又は併合されたセグメントについて、個数の減らされた前記の動き係数と、どの係数が省略されたかを示す表示とから成るビデオ符復号器。
A video codec for coding a current frame I n of a video sequence, the video codec has a motion field coder for supplying the motion vector field is coded, the motion field The encoder is
And the current frame I n,
Reference frame
Figure 0003781194
When,
A motion analyzer adapted to receive a motion vector field;
The motion analyzer is adapted to determine the new display of the motion vector field, the display, for each segment S i of a plurality of image segments of the current frame I n, represented by the vector c i It is accompanied by a linear motion model based on a set of N + M motion coefficients and a set of basis functions, where N and M are respectively motion vector fields that are compressed.
Figure 0003781194
The number of motion coefficients of
The motion analyzer is
For each segment S i of the current frame, based on the matrix display E i c i -y i, reference and its current frame segment frame
Figure 0003781194
Prediction error linearization means for approximating a prediction error function based on a segment of E i , where E i is a matrix, y i is a vector,
Here is the prediction error function approximated by the motion analyzer for each segment of the current frame:
Figure 0003781194
here,
Figure 0003781194
And for each segment of the current frame includes matrix processing means for generating a first matrix R i 1 and a first vector z i 1 from the matrix representation, where R i 1 c i = z i 1 , the number of rows of the first matrix R i 1 is equal to the number of motion coefficients N + M,
Here, the matrix processing means includes QR factorization means, which decomposes the matrix E i into the products of the matrices Q i and R i , and generates auxiliary vectors z i (where z i = Q i γ create a y i), made from the beginning of the N + M number of elements of the vector z i with the beginning of the N + M rows of matrix R i form a R i 1 so as to form a vector z i 1 And
The motion field encoder has segment merging means, which means:
Coupled to the motion analyzer for receiving the first matrix R i 1 and the first vector z i 1 ;
Pair (S i, S j) of the adjacent segments of the current frame I n for, merged matrix from the first matrix R i 1, R j 1 and first vectors z i 1, z j each pair of 1 Determining R ij 1 and the merged vector z ij 1 ,
If the first matrix R i 1 and the first vector z i 1 pair produce an acceptable prediction error with respect to the criteria on which the merged matrix R ij 1 and merged vector z ij 1 are selected, then Replacing the merge matrix R ij 1 and merge vector z ij 1 to merge the corresponding segment pairs;
The motion field encoder has coefficient removal means coupled to the segment merging means, the means comprising:
Receiving a merged matrix R ij 1 and a merged vector z ij 1 replacing the remaining first matrix R i 1 and the first vector z i 1 ;
For each segment or merged segment of the current frame I n, with the corresponding matrix R k 1 and vector z k 1, so as to be acceptable in light of the criteria change in prediction error function approximated is selected Determine a reduced set of motion coefficients c k ;
Adapted to provide an encoded version of the current frame I n, the shape, for each segment or merged segment, said motion coefficients which reduced the number, which coefficients have been omitted A video codec comprising:
該セグメント併合手段は、隣り合うセグメントの前記の対(Si,Sj)について、下記の式:
Figure 0003781194
を下記の形:
Figure 0003781194
に三角化するための手段を含んでおり、ここでcijは併合された隣り合うセグメントの対のN+M個の動き係数の集合である請求項1に記載のビデオ符復号器。
The segment merging means, for the pair (S i , S j ) of adjacent segments, has the following formula:
Figure 0003781194
The following form:
Figure 0003781194
2. The video codec of claim 1, including means for triangulating, wherein c ij is a set of N + M motion coefficients of a pair of adjacent segments merged.
該セグメント併合手段は、隣り合うセグメントの各対(Si,Sj)について下記の式:
Figure 0003781194
に従って二乗予測エラーの変化ΔEijを計算することにより予測エラーが選択された基準に照らして許容できるか否かを判定するようになっている請求項2に記載のビデオ符復号器。
The segment merging means has the following formula for each pair (S i , S j ) of adjacent segments:
Figure 0003781194
3. A video codec according to claim 2, wherein it is determined whether the prediction error is acceptable according to a selected criterion by calculating a change in square prediction error ΔE ij according to.
該セグメント併合手段は、三角化された行列方程式の始めのN+M個の行を使って前記併合行列Rij 1及び前記併合ベクトルzij 1を下記の形:
Figure 0003781194
に決定するようになっている請求項2又は3に記載のビデオ符復号器。
The segment merging means uses the first N + M rows of the triangulated matrix equation to transform the merging matrix R ij 1 and the merging vector z ij 1 into the following form:
Figure 0003781194
The video codec according to claim 2 or 3, wherein the video codec is determined as follows.
現在のフレームInの前記の符号化されたバージョンは、併合されたセグメントの識別子を含んでいる請求項1乃至4のいずれか一項に記載のビデオ符復号器。The encoded version of the current frame I n the video codec according to any one of claims 1 to 4 contains an identifier of the merged segments. 前記係数除去手段は、各セグメントについて、行列Rk 1からi番目の列を選択的に除去するとともにベクトルzk 1からi番目の要素を選択的に除去して簡略化された行列方程式Rk 1k=zk 1を設けることによって、個数の減らされた動き係数ckを決定するようになっている請求項1乃至5のいずれか一項に記載のビデオ符復号器。It said coefficient removal means for each segment, the matrix R k 1 from the i-th column selectively thereby removing simplified by selectively removing the i-th element from the vector z k 1 matrix equation R k 6. The video codec according to claim 1, wherein the reduced number of motion coefficients c k is determined by providing 1 c k = z k 1 . 該係数除去手段は、簡略化された行列方程式を下記の形:
Figure 0003781194
に三角化して、下記の式:
ΔEk=qi 2
に従って二乗予測エラーの変化を計算するようになっている請求項6に記載のビデオ符復号器。
The coefficient removing means forms a simplified matrix equation in the following form:
Figure 0003781194
Triangulate into the following formula:
ΔE k = q i 2
The video codec of claim 6, wherein the change in squared prediction error is calculated according to:
該係数除去手段は、もし二乗予測エラーの変化が選択された基準に照らして許容できる場合には、係数行列ckから動き係数ciを除去するとともに、前記の三角化された行列方程式、すなわち
Figure 0003781194
の一番下の行を除去するようになっている請求項7に記載のビデオ符復号器。
The coefficient removal means removes the motion coefficient c i from the coefficient matrix c k if the change in the square prediction error is acceptable in light of the selected criterion, and the triangulated matrix equation,
Figure 0003781194
8. A video codec according to claim 7 adapted to remove the bottom row of.
該係数除去手段は、行列方程式Rk 1k=zk 1又はこの方程式の簡略化された形を解くことによって動き係数ckを決定するようになっている請求項1乃至8のいずれか一項に記載のビデオ符復号器。The coefficient removal means, one of the matrix equation R k 1 c k = z k 1 or claims 1 to 8 adapted to determine the motion coefficients c k by solving the simplified form of the equation The video codec according to one item.
JP51630897A 1995-10-20 1995-10-20 Motion vector field coding Expired - Fee Related JP3781194B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FI1995/000581 WO1997016025A1 (en) 1995-10-20 1995-10-20 Motion vector field coding

Publications (2)

Publication Number Publication Date
JP2000512440A JP2000512440A (en) 2000-09-19
JP3781194B2 true JP3781194B2 (en) 2006-05-31

Family

ID=8556630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51630897A Expired - Fee Related JP3781194B2 (en) 1995-10-20 1995-10-20 Motion vector field coding

Country Status (8)

Country Link
US (1) US6163575A (en)
EP (1) EP0856228B1 (en)
JP (1) JP3781194B2 (en)
KR (1) KR100381061B1 (en)
AU (1) AU3701495A (en)
DE (1) DE69511119T2 (en)
HK (1) HK1017553A1 (en)
WO (1) WO1997016025A1 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0998826A1 (en) * 1997-07-28 2000-05-10 IDT INTERNATIONAL DIGITAL TECHNOLOGIES DEUTSCHLAND GmbH Method and apparatus for compressing video sequences
GB2343319B (en) * 1998-10-27 2003-02-26 Nokia Mobile Phones Ltd Video coding
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
CN1229997C (en) * 1999-08-11 2005-11-30 诺基亚移动电话有限公司 Adaptive motion vector field coding
CN1193620C (en) * 2000-01-21 2005-03-16 诺基亚有限公司 Motion estimation method and system for video coder
US6738423B1 (en) * 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US8005145B2 (en) * 2000-08-11 2011-08-23 Nokia Corporation Method and apparatus for transferring video frame in telecommunication system
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US20020122491A1 (en) * 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US7693220B2 (en) * 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
US20030231795A1 (en) * 2002-06-12 2003-12-18 Nokia Corporation Spatial prediction based intra-coding
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US6909749B2 (en) * 2002-07-15 2005-06-21 Pts Corporation Hierarchical segment-based motion vector encoding and decoding
WO2006054257A1 (en) * 2004-11-22 2006-05-26 Koninklijke Philips Electronics N.V. Motion vector field projection dealing with covering and uncovering
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
US8218811B2 (en) 2007-09-28 2012-07-10 Uti Limited Partnership Method and system for video interaction based on motion swarms
KR101506446B1 (en) 2010-12-15 2015-04-08 에스케이 텔레콤주식회사 Code Motion Information Generating/Motion Information Reconstructing Method and Apparatus Using Motion Information Merge and Image Encoding/Decoding Method and Apparatus Using The Same
EP2490448A1 (en) * 2011-02-18 2012-08-22 Siemens Aktiengesellschaft Encoding method and image encoding device for compressing an image sequence
US20130083845A1 (en) 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
EP2595382B1 (en) 2011-11-21 2019-01-09 BlackBerry Limited Methods and devices for encoding and decoding transform domain filters
CN102818868B (en) * 2012-08-27 2013-11-20 浙江大学 Screening method of active ingredients in complex natural product and application thereof
KR102059066B1 (en) * 2015-08-24 2019-12-24 후아웨이 테크놀러지 컴퍼니 리미티드 Motion vector field coding method and decoding method, and coding and decoding apparatuses
US10635909B2 (en) * 2015-12-30 2020-04-28 Texas Instruments Incorporated Vehicle control with efficient iterative triangulation
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2628864B1 (en) * 1988-03-21 1990-06-15 France Etat METHOD FOR SEGMENTATION OF A FIELD OF SPEED VECTORS, IN PARTICULAR OF SPEEDS FOR MOVING POINTS OF AN IMAGE IN A SEQUENCE OF IMAGES
DE4138517A1 (en) * 1991-11-23 1993-05-27 Univ Hannover Object oriented coding of image signals for describing moving objects - identifies objects within vision field that have parameters encoded and used in synthesising process
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
JPH0846971A (en) * 1994-07-29 1996-02-16 Sharp Corp Device for encoding moving picture
JP3788823B2 (en) * 1995-10-27 2006-06-21 株式会社東芝 Moving picture encoding apparatus and moving picture decoding apparatus
JP3363039B2 (en) * 1996-08-29 2003-01-07 ケイディーディーアイ株式会社 Apparatus for detecting moving objects in moving images
JPH1093920A (en) * 1996-09-17 1998-04-10 Nec Corp Mpeg2 slow reproducing device
US5956467A (en) * 1996-12-17 1999-09-21 Eastman Kodak Company Encoding color image data for multipass color printers
US6005626A (en) * 1997-01-09 1999-12-21 Sun Microsystems, Inc. Digital video signal encoder and encoding method
JP4573366B2 (en) * 1997-09-25 2010-11-04 株式会社大宇エレクトロニクス Motion vector coding method and coding apparatus

Also Published As

Publication number Publication date
EP0856228B1 (en) 1999-07-28
KR19990064293A (en) 1999-07-26
AU3701495A (en) 1997-05-15
WO1997016025A1 (en) 1997-05-01
JP2000512440A (en) 2000-09-19
HK1017553A1 (en) 1999-11-19
DE69511119T2 (en) 2000-02-03
DE69511119D1 (en) 1999-09-02
KR100381061B1 (en) 2003-08-19
US6163575A (en) 2000-12-19
EP0856228A1 (en) 1998-08-05

Similar Documents

Publication Publication Date Title
JP3781194B2 (en) Motion vector field coding
JP3790804B2 (en) Video encoder and decoder using motion based segmentation and merging
US20210385486A1 (en) Moving Picture Decoding Method and Moving Picture Encoding Method
US6711209B1 (en) Adaptive motion vector field coding
US4727422A (en) Method and apparatus for efficiently communicating image sequence having improved motion compensation
US7161983B2 (en) Adaptive motion vector field coding
JP3847827B2 (en) Motion vector detection method
US7227896B2 (en) Method and apparatus for global motion estimation
JP4573438B2 (en) Video coding
US20020131500A1 (en) Method for determining a motion vector for a video signal
US20070064810A1 (en) Variable shape motion estimation in video sequence
Alatan et al. Estimation of depth fields suitable for video compression based on 3-D structure and motion of objects
JP2825571B2 (en) Image motion parameter estimation method and apparatus
KR100400962B1 (en) Encoder that encodes video data with motion compensation, its method, and decoder that encodes video data
JPH0879759A (en) Image coder and image decoder
JPH08116541A (en) Image coder
JPS62104387A (en) High-efficiency encoding device
JPH06334992A (en) Method and device for motion compensation
WO1997017808A1 (en) Motion compensation of image sequences
JPH06339134A (en) Picture compressor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050907

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051207

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20051207

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: 20060131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060302

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: 20100317

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees