JP2007336590A - ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置 - Google Patents

ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置 Download PDF

Info

Publication number
JP2007336590A
JP2007336590A JP2007208511A JP2007208511A JP2007336590A JP 2007336590 A JP2007336590 A JP 2007336590A JP 2007208511 A JP2007208511 A JP 2007208511A JP 2007208511 A JP2007208511 A JP 2007208511A JP 2007336590 A JP2007336590 A JP 2007336590A
Authority
JP
Japan
Prior art keywords
value
block
data
comparison value
video
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.)
Withdrawn
Application number
JP2007208511A
Other languages
English (en)
Inventor
David Guevorkian
グエボルキアン デイビッド
Aki Launiainen
ラウニアイネン アキ
Petri Liuha
リウハ ぺトリ
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 JP2007336590A publication Critical patent/JP2007336590A/ja
Withdrawn 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
    • H04N19/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)

Abstract

【課題】ビデオ符号化時の動き予測を行う際に、不要なSAD計算を省く動き予測方法を提供する。
【解決手段】現フレームFR1中のビデオブロックX(c,r)と参照フレームFR2中の探索範囲S(c)内のビデオブロックY(c,r)とのSAD算出手段1、SAD計算中に中間SAD値がある閾値を越えたらあるY(c,r)についてのSAD計算を中断する割込信号17、SAD計算中に中間SAD値がそれまで計算したSAD最小値を越えたらあるY(c,r)についてのSAD計算を中断する割込信号18および計算したSAD値が他の閾値より小さければ、その探索範囲S(c)内の他のビデオブロックに対するSAD計算を省く割込信号19を備えて構成した。
【選択図】図1

Description

本発明は、ビデオ符号化時にビデオの動き予測を実行する方法に関し、その場合、ブロックを含むフレームからビデオ信号を構成し、符号化対象フレームの現在のビデオ・ブロックと、別のフレームの少なくとも1つの別のビデオ・ブロックとを用いることにより、組み合わされた比較値を形成し、上記符号化対象フレームの前記現在のビデオ・ブロックは第1のデータ値のセットを含み、別のフレームの前記少なくとも1つの別のビデオ・ブロックは第2のデータ値のセットを含み、前記1組の第1のデータ値から得られるデータ値と、前記第2のデータ値のセットから得られる等しい数の対応するデータ値とからデータ値対を形成し、比較値を定めることにより前記組み合わされた比較値を形成し、これら比較値の各々は、前記データ値対の1つのデータ値対のデータ値を用いることにより定められ、少なくとも1つの閾値を定め、さらに、前記組み合わされた比較値を定める処理の終了が可能どうかが判定される。また本発明は、ビデオ符号化時にビデオの動き予測を実行するビデオ符号化システムにも関し、ブロックを含むフレームから上記ビデオ信号を構成し、上記システムは、符号化対象フレームの現在のビデオ・ブロックと、別のフレームの少なくとも1つの別のビデオ・ブロックとを利用することにより、組み合わされた比較値を形成する手段を具備し、上記符号化対象フレームの前記現在のビデオ・ブロックは第1のデータ値のセットを含み、前記別のフレームの少なくとも1つの別のビデオ・ブロックは第2のデータ値のセットを含む。組み合わされた比較値を形成する前記手段には、各々が、前記第1のデータ値のセットから得られる等しい数のデータ値及び前記第2のデータ値のセットから得られる等しい数の対応するデータ値のデータ値のデータ値対からなる、一連の少なくとも2つのサブセットを入力する入力手段と、前記データ値対の1つのデータ値対のデータ値を用いることにより定められる各比較値を定める手段と、少なくとも1つの第1の閾値を定める手段と、前記組み合わされた比較値を定める処理の終了が可能かどうかを判定する手段とが含まれる。本発明はさらにビデオ符号化装置に関し、上記ビデオ符号化装置は、ブロックを含むフレームから成るビデオ信号を符号化する手段と、ビデオの動き予測を実行する手段と、符号化対象のフレームの現在のビデオ・ブロックと、別のフレームの少なくとも1つの別のビデオ・ブロックとの間で、組み合わされた比較値を計算する手段であって、上記符号化対象フレームの前記現在のビデオ・ブロックは第1のデータ値のセットを含み、前記別のフレームの少なくとも1つの別のビデオ・ブロックは第2のデータ値のセットを含み、前記第1のデータ値のセットと、前記第2のデータ値のセットの値の対の間で比較値を定めることにより前記組み合わされた比較値を形成するように為す上記計算手段と、少なくとも1つの閾値を定める手段と、前記組み合わされた比較値を定める処理の終了が可能かどうかを判定する手段とを具備する。
符号化対象画像がビデオ・ブロックを含むビデオ符号化システムが知られている。次いで、これらのブロックは符号化され、復号化装置へ伝送されたり、記憶媒体の中へ記憶されたりする。伝送対象の情報量を減らすために、MPEG2(Moving Picture Experts Group)のような様々な圧縮方法が開発されてきた。ビデオ画像の伝送時に、フレーム間圧縮、フレーム内圧縮、あるいはこれらの圧縮の組み合わせとして画像圧縮の実行が可能である。フレーム間圧縮では、その目的として、連続する画像フレーム内の冗長な情報の除去が意図される。一般に、画像には、例えば動きのない背景などを示す上記のような多量の変化しない情報や、被写体がゆっくりと動くときにゆっくりと変化する情報が含まれる。フレーム間圧縮では動き補償の利用も可能である。動き補償を利用する目的は、画像内での、動きのある大きな要素の検出である。その場合、エンティティ全体を表す画素を伝送する代わりに、このエンティティの動きベクトル及びある種の差分情報の伝送が行われる。このようにして、当該エンティティの動きの方向と速度とが定義され、この動きベクトルが確定される。圧縮を行うために、送信用及び受信用ビデオ端末装置では、リアルタイムでの圧縮及び解凍ができるような非常に高い処理レートが要求される。
一般に、画像ブロックは一緒にグループ化されて、複数のブロックが形成される。この各ブロックには通常、16行×16画素の輝度サンプルと、モード情報と、生じる可能性のある動きベクトルとが含まれる。このブロックは4つの8×8の輝度ブロックと2つの8×8の色差ブロックへ分割される。通常、走査(及び符号化/復号化)は、フレームの最上部左側から最下部右側コーナーへ1ブロックずつ進行する。1ブロックの内部では、走査(及び符号化/復号化)の順序はブロックの最上部左側から最下部右側コーナーへの方向となる。
MPEG2の圧縮では画像に対するブロック内での離散余弦変換(DCT)符号化が行われるため、ブロック・サイズは8×8画素となる。変換される輝度レベルは最大解像度のレベルである。双方の色差信号がサブサンプル化される。例えば16×16の画素フィールドが8×8の画素フィールドにサブサンプル化される。ブロック・サイズの差は、人間の目が輝度の変化ほどには良好に色差の変化を識別できないという事実に主に起因する。この場合、2×2の画素フィールドが同じ色差の値で符号化される。
MPEG2では3つのフレーム・タイプすなわちIフレーム(フレーム内)、Pフレーム(予測フレーム)、Bフレーム(双方向フレーム)が定義される。Iフレームは専ら画像自体に含まれる情報に基づいて生成され、受信端で、このIフレームを用いて画像全体の形成が可能となる。Pフレームは先行するIフレームまたはPフレームに基づいて形成され、受信段で、この先行するIフレームまたはPフレームは、受信されたPフレームと共に対応して利用される。Pフレームの構成では、例えば動き補償を利用して情報量の圧縮が行われる。Bフレームは、先行するIフレーム及び次のPフレームまたは次のIフレームに基づいて形成される。同様に、受信段において、対応するIフレーム及びPフレームまたはIフレームの受信が完了するまでは、Bフレームを構成することはできない。さらに、送信段において、これらのPフレームとBフレームの順序の変更が行われる。その場合Bフレームに後続するPフレームが最初に受信され、受信装置での画像の再構成が高速化される。
これら3つの画像タイプの中で、Bフレームの圧縮時に最も高い効率が達成される。所定時に使用されるアプリケーションにおいて、Iフレーム、Pフレーム、Bフレームの数の変更が可能であることは言及しておくべきである。但し、この場合、受信装置の表示装置で正しい画像の再構成が可能となるためには、受信端で少なくとも1つのIフレームの受信が必要であることに注意しなければならない。
動き予測の目的は、ビデオ・シーケンス内のある参照フレームの探索領域の範囲内で、現在のフレーム(チェック中のブロック)の範囲内の所定ブロックに最も類似しているようなブロック(参照ブロック)を見つけることである。多様な動き予測アルゴリズムの中で、最もポピュラーなものはブロック・マッチングに基づくアルゴリズムであり、フレーム・ブロック間の類似度の基準として絶対差の合計(SAD)が利用される。順に並べられたデータ2つのセットX={x1,…,xK}とY={y1,…,yK}とが与えられたとすると、SADの値は以下のように定義される:
Figure 2007336590
いくつかの文献では、SADは、合計SAD(X,Y)をその加数Kで除したものとして定義されている。その場合、SADを平均絶対誤差(MAE)と呼ぶこともある。ほとんどの場合Kは2のべき乗であるため、上記2つの定義は実施構成から見た場合実質的に同値である。なぜなら、後者の定義は単に或るビット数だけ前者の定義の値をシフトすることにより得ることができるからである。
ビデオ符号化コンテキスト(video encoding context)では、SADは、すべての現在のフレーム間の各16×16ブロックX(c)(実際にはビデオ・シーケンスのほとんどすべてのフレーム)と、1以上の参照フレームの探索領域S(c)(図5を参照)の範囲内の複数16×16のブロックY(c,r)、Y(c,r’)との間で計算される。X(c)と、探索領域S(c)の範囲内のブロックY(c,r)、Y(c,r’)との間のSADの中の最小SAD値に対応するブロックY(c,r)を利用して動き情報が形成される。このようにして、SADが何回も適用されるため、SADの1回の演算処理の実行時間を最小限向上するだけでも総ビデオ処理時間のかなりの節減につながる。その一方で、当然のことながら、特に携帯用/無線ビデオ処理用アプリケーションで、SADの計算に利用されるハードウェアが大きすぎたり、電力を消費するものであってはならない。
符号化されたビデオ品質の低下の少ないSADの演算処理回数及び/又はサイズを少なくするための様々な探索方法を利用する様々な動き予測アルゴリズムが数多く存在する。これらの動き予測アルゴリズムは、次の対のXブロックとYブロックの選択肢が前回のステップで得られたSAD値に依存しないデータ非依存型探索と、データ依存型探索との2つのカテゴリに大まかにグループ化することができる。通常、データ依存型探索方法は、より少ない回数のSADの演算処理の実行を必要とする。しかし、データ非依存型動き予測アルゴリズムに典型的な規則的データ移動を単純に組織できることに起因して、ハードウェアの実施構成のほとんどはデータ非依存型動き予測アルゴリズムに基づいている。データ依存型方法に共通のものとして、次の対のXブロックとYブロックを選択するいくつかのオプションが存在するという点が挙げられ、この次の対は現在のSAD値に対応して選択される。
最近の調査によれば、汎用プロセッサ(GPP)で実行する場合、様々な動き予測アルゴリズムによって総ビデオ符号化時間のほぼ40%〜80%が費やされている。ブロック・マッチング動き予測アルゴリズムにおける基本演算処理はSADであり、このSADはビデオ符号化処理中何回も適用される。典型的高速動き予測アルゴリズムでは、ビデオ・シーケンスの範囲内で(16×16のサイズの)ほとんどすべてのブロックについておよそ30回のSAD計算が繰り返される。QCIF(Quarter Common Intermediate Format)解像度のビデオ・シーケンスで毎秒15フレームの場合でさえ、毎秒少なくとも256個の点に対してSAD計算が44550回行われることを意味する。組込み型システムにおける典型的マイクロプロセッサであるARME9Eマイクロプロセッサ上の全くのソフトウェアによる実施構成では、256個の点に対する1回のSADの計算は数千クロック・サイクルを要する。これは、ビデオ符号化のソフトウェアによる実施構成における動き予測だけのために毎秒数億サイクルが費やされることを意味する。
この問題の重要性に起因して、最近多くの動き予測装置が文献に報告されている。このような装置に関わるSAD計算用アーキテクチャの1つの種類としてカスケード接続型アーキテクチャがある(例えば特許文献1)。
別のタイプのアーキテクチャとして、一般に、図6に従って記述できるような、“並列/反復型累積SADアーキテクチャ”と呼べるようなタイプのアーキテクチャがある(例えば特許文献2,3または非特許文献1)。これらのアーキテクチャでは、すべての対のデータ値(現在のブロックから得られる1つの値と、参照ブロックから得られる別の値)の間の絶対差を示す代表値であるいくつかの比較値が計算ユニットの1ブロックの範囲内のすべてのステップで計算される。次いで、これらの値は、内部フィードバックを持ちうる合計ブロックの範囲内で1つずつまたは1部分ずつ(反復して)あるいは全て同時に(並列に)累積される。所定の2つのブロックについてのすべての対の比較値を累積した後、これら2つのブロック間のSADが得られる。次いで、所定の1ブロックX(c)と探索領域S(c)の範囲内の複数のブロックY(c,r)との間で得られたSADが最小値評価装置内で分析され、最小のSADを生成するブロックが選択されて、動き予測情報が形成される。
ビデオ符号化時の動き補償の場合、実際の利用ではSAD値が大きすぎればそのブロックは問題とはならない。したがって、SADアーキテクチャ内の累積手段は、SAD値が最も悪いケースの正確なSAD値に必要な精度よりも低い精度(ビット幅)を用いて実現されるものであってもよい。この場合、大きい方のSAD値が不正確に計算されるようなことがあっても、これが動き予測の結果に影響を与えることはない。
SAD計算手段と関連して利用されるいくつかの割込みメカニズムが例えば特許文献1(米国特許6,154,492)の中に記載されている。この特許公報には、カスケード接続型プロセッサ・エレメントを具備する動きベクトル検出装置が開示されている。これらのプロセッサ・エレメントにより、1画像を構成する複数の画素の各々と、1ブロック中に含まれる同数の画素の対応する1画素との差の絶対値が計算され、さらに、上記ブロック内の差の絶対値の累積加算が行われる。これらの演算処理が所定の探索領域の範囲内のブロックの各々について行われる。比較装置によって、最終段階でプロセッサ・エレメントの中にシーケンシャルに取得された2つのブロックの累積加算値が繰り返し比較され、累積加算値のうちより小さい累積加算値が選択される。減算器はより小さい累積加算値を設定値と比較する。より小さい累積加算値が設定値よりも小さい場合、制御回路は、装置の動作全体を停止するために、プロセッサ・エレメントと比較装置へのクロック信号の供給を停止する。動きベクトルの判定にとっては小さい方のSAD値のみが重要であるため、大きい方のSAD値は不正確に計算されたものであってもよい。これは、装置内の機能ユニットの精度が最もSAD値が悪い場合の正確なSAD計算に必要な精度よりも小さな精度を持つものであってもよいことを意味する。このことがシリコン領域と電力消費量との節減につながることは明らかである。しかし、この解決方法では、アーキテクチャの一部分しか停止されず、したがって、部分的な電力の節減とはなるが、実行時間の節減とはならない。事実、特許文献1(米国特許6,154,492)のアーキテクチャは、各々が3つの加算器から成るK=256の処理用エレメントから構成されている。このようなアーキテクチャは現在の技術の状態で実現可能であるようには思われない。あるいは、少なくとも移動通信用ビデオ符号化システムの中へ組み込むには大きすぎるように思われる。さらに、このアーキテクチャは動き予測用の通常のデータ非依存型探索方法しかサポートしていない。それは、アーキテクチャの完全な中断がパイプライン(256個のパイプライン段)の完全な再ロードを意味することになるからである。
所定の2つのブロックX(c)とY(c,r)との間のSADの計算を計算完了前に終了させ、次いで、X(c)と、探索領域S(c)から得られる別のブロックY(c,r’)との間の絶対差の合計の新しい計算を上記早期終了のほぼ直後に開始することができるいくつかの状況が動き予測のSAD計算には存在する。このような状況を示す例として、X(c)とY(c,r)との間のSADの計算の途中で、所定の閾値、または、X(c)と探索領域S(c)の範囲内の或るブロックY(c,r”)との間のSADで前に得られた値をすでに上回る一時的SAD値が得られる場合が挙げられる。いくつかのある別の状況では、所定の探索領域S(c)の範囲内の参照ブロックの探索を終了させ、通常の方法でこの処理を完了させる前にX(c)の動き補償情報を形成するようにしてもよい。このような状況を示す一例として、2つのブロックX(c)とY(c,R)(図示せず)間のSAD値が別の所定の閾値よりも小さいケースがある。したがって、いくつかの割込みメカニズムを、SAD計算及び/又は参照ブロック探索の早期終了を可能にする動き予測用装置へ一体化する方がかなりの利点を提供するものとなる。
米国特許第6154492号明細書 米国特許第5864372号明細書 米国特許第5652625号明細書 S Vassiliadis、E.A.Hakkennes、J.S.S.M.Wong、G.G.Pechanek著、"合計絶対誤差動き予測アクセラレータ(The sum−absolute−difference motion estimation accelerator)"Euromicro会議会報、1998年、p.559−566
ビデオ符号化時に動き予測を実行するための改善された方法、システム及び装置を提供することが本発明の目的である。本発明は、反復/並列累積型SADアーキテクチャの中へ割込みメカニズムを組み込み、それによって、さらなる計算が無用または望ましくないある環境において絶対差の合計計算及び/又は参照ブロックの探索の終了を可能にするという着想に基づくものである。ある状況では、所定のブロックX(c)と、探索領域S(c)から得られる新しいブロックY(c,r’)との間の絶対差の合計の新しい計算が早期終了のほぼ直後に開始される。いくつかの別の状況では、所定の探索領域S(c)の範囲内の参照ブロックの探索が終了され、所定のブロックX(c)のための動き補償情報が形成される。これは、中間SAD値がすでに高くなりすぎて前記現在のブロックX(c)と前記別のブロックY(c,r’)との間のSAD計算の割込みができないかどうかを判定するための中間SAD値のチェックにより、並びに、最終SAD値がすでに十分低いために所定の探索領域S(c)の範囲内の所定のブロックX(c)の探索を終了できるかどうかを判定するための最終SAD値のチェックにより達成される。
本発明による方法は、少なくとも以下のステップを有することを主たる特徴とするものである:
各々が少なくとも1つの比較値からなる少なくとも1つの比較値のサブセットを形成するための計算ステップと、
上記計算ステップで得られた前記少なくとも1つの比較値のサブセットを用いて反復して更新される現在の累積比較値を示す信号を形成するための累積ステップと、
少なくとも1つの信号を少なくとも1つの閾値と比較することにより、処理の終了が可能かどうかの判定を行う判定ステップと、
上記判定ステップで行われた判定に従って、終了し、及び、前記組み合わされる比較値を定める新規処理の初期化を行うステップ。
本発明によるビデオ符号化システムは少なくとも以下の手段を具備することを主たる特徴とするものである:
各々が少なくとも1つの比較値からなる少なくとも1つの比較値のサブセットを形成するための計算手段と、
上記計算手段で得られた前記少なくとも1つの比較値のサブセットを用いて反復して更新される現在の累積比較値を示す信号を形成するための累積手段と、
少なくとも1つの信号を少なくとも1つの閾値と比較する手段を含む、計算処理の終了が可能かどうかを判定する判定手段と、
上記判定ステップで行われた判定に従って、現在の処理を終了させ、前記組み合わされた比較値を定める新規処理を初期化する手段。
本発明によるビデオ符号化装置は少なくとも以下の手段を有することを主たる特徴とするものである:
各々が少なくとも1つの比較値からなる少なくとも1つの比較値のサブセットを形成するための計算手段と、
上記計算手段で得られた前記少なくとも1つの比較値のサブセットを用いて反復して更新される現在の累積比較値を示す信号を形成するための累積手段と、
少なくとも1つの信号を少なくとも1つの閾値と比較する手段を含む、計算処理の終了が可能かどうかを判定する判定手段と、
上記判定ステップで行われた判定に従って、現在の処理を終了させ、前記組み合わされる比較値を定める新規処理を初期化する手段。
本発明は、早期終了メカニズムが提供されない及び/又は可能最大SAD値に必要なビット幅よりも低いビット幅の反復累積手段が用いられない従来技術のハードウェアによる解決方法と比較したとき、著しい利点を提供する。参照ブロックが動き予測に適していないことに判明したときほとんど即座に、現在のブロックと1つの参照ブロックとの間のSAD値の計算を早期に終了させることができ、次のブロックのチェックの開始が可能となるため、探索領域の範囲内のブロックのチェックをより高速に行うことが可能となる。さらに、現在のブロックX(c)と所定の参照ブロックY(c,R0)との間のSAD値をテストして適度に十分小さな値であれば、所定の現在のブロック(例えばX(c))と、複数の参照ブロック(例えばY(c,R))との間のSAD値の計算を予め終了させることが可能となる。したがって無用の計算処理を回避することが可能となる。ほとんどの動き予測アルゴリズムでは無用な計算の存在が判定されるケースがきわめて頻繁に生じるので、これらの変更は、実行時間と電力消費量の節減の主要な改善につながることになる。低精度の累積手段が使用される可能性によって、本発明で提案されたアーキテクチャのサイズと、実行時間の大幅な減少がもたらされる。累算器のサイズの減少は、さらに多くの並列計算ユニットを備えたより高速のアーキテクチャが実際に実行可能となりつつあることをも意味する。
SAD計算手段の改善を図るために特許文献1(米国特許6,154,492)で用いられている利点と比較すると、提案された本終了メカニズムの利点として以下の点が挙げられる:
本発明の好適な実施例では、不要な計算の存在が判定されると次の対のブロックのSADの計算が開始され、それによって実行時間と電力消費量の双方が節減される。特許文献1(米国特許6,154,492)の割込みメカニズムはアーキテクチャの一部分だけを停止させるものにすぎず、不要なSADの計算が実行できてから停止を行うにすぎない。
本発明は、採用される限定されたパイプライニングのみによって、動き予測時の規則的並びに不規則的データ依存型探索方法をサポートすることもできる。ある好適実施例では、終了後、(4つの中から)2つのパイプライン段の再ロードを必ず行う必要がある。特許文献1(米国特許6,154,492)のアーキテクチャは通常の、データ非依存型動き予測アルゴリズム向けのものである。
以下、添付図面を参照してより詳細に本発明について説明する。以下、K対のnビット入力データが仮定される一般的ケースについて本発明の説明を行う。但し、ビデオ符号化コンテキストにおいて、K=256、n=8は最も一般的なケースである。ビデオ符号化だけでなく、医療用画像処理システムやレーダー画像処理システムのような他のアプリケーションにおいても、また、パターン認識がリアルタイムで実行される他の信号処理タスク(心電図(ECG)装置、心臓機能を記録する植え込み型電気的除細動器−細動除去器(ICD)装置、音声処理など)においても、絶対差の合計が利用できる可能性があることに留意されたい。
図5は、ビデオ符号化時にビデオの動き予測を実行する方法の原理を示す。図5には、図を明瞭にするために2つのフレームFR1、FR2のみを示す。符号化対象フレームFR1には、画素値Xi,jを含む1以上のブロックX(c)が含まれる。これらの画素値Xi,jのうちの2、3のみ図に示す。参照フレームFR2の中に探索領域S(c)が定義される。符号化対象フレームFR1の現在のブロックX(c)と、参照フレームFR2の参照ブロックY(c,r)との間の比較実行領域が探索領域S(c)により定義される。しかし、実施例によっては、探索領域S(c)として参照フレームFR2の全領域の利用が可能であることは明らかである。本方法では、現在のブロックX(c)との比較を行うために参照ブロックY(c,r)、Y(c,r’)が1ブロックずつ選択される。この探索処理は、全探索領域S(c)がチェックされるまで継続されるか、探索終了のための他に設定しうる条件が満たされるまで継続される。以下、この探索についてさらに詳細に説明する。
図7は、本発明の好適な実施例による組込み型割込みメカニズムを備えた、図6の反復/並列累積型SADアーキテクチャの一般的構造を示す。このアーキテクチャの構造には、例えば、画像データを記憶する記憶手段25と、SAD計算手段1と、制御回路構成などが含まれる。SAD計算手段1には、比較値を形成する手段P1と、該比較値を用いることにより、累積値と、組み合わされた比較値とを形成する手段P2、P3と、最小SAD値を評価し、動き予測情報MEIを形成する手段P4とが含まれる。
しかし、詳細な記述を行うために、図7の反復/並列累積型SADアーキテクチャの一般的構造のさらに詳細な例である図1を用いて本発明を説明する。本例は、本願出願人による並列出願に開示されているアーキテクチャの中に事前終了メカニズムを組み込むことにより本発明の方法を例示するものである。図1は、簡略化したブロック図で、本発明の好適な実施例による動き予測ブロック16を示し、図2は、簡略化したブロック図で、図1の動き予測ブロック16のSAD計算手段1の好適な実施例を示すものである。SAD計算手段1は、4つのパイプライン段P1、P2、P3、P4と、第1のパイプライン段P1の入力のバッファ7と、連続するパイプライン段P1とP2;P2とP3及びP3とP4の間のバッファ8、11、15とを具備する。本発明の上記好適な実施例では、3つの異なる割込み信号が存在し、これらの割込み信号はSADの計算を終了させるために生成される。第1の割込み信号17は第2のパイプライン段P2により生成され、この割込み信号17は単に第2のパイプライン段P2の合計回路の桁上げ出力を構成する信号にすぎない。第2の割込み信号18と第3の割込み信号19とは第4のパイプライン段P4により生成される。第2の割込み信号18は、最小値評価装置13内の比較手段の出力信号であり、この最小値評価装置13は中間SAD値が現在の最小値を上回ったときハイにセットされる。第3の割込み信号19は最小値評価装置13内の別の比較手段の出力信号であり、この最小値評価装置13は完全な中間SAD値が所定の閾値未満のときハイにセットされる。しかし、本発明は、3つの割込みをすべて使用するであるアプリケーションだけに限定されるのではなく、ただ1つまたは2つの割込みを用いて本発明を適用することができることに留意されたい。また、本発明を適用する装置において3以上の異なる割込みの使用も可能である。
制御回路構成は、例えば、ORゲート20、21、22、Xデータ・アドレス・ジェネレータ23、Yデータ・アドレス・ジェネレータ24及び動き予測ブロック16の動作を制御するクロック回路構成を具備する。第1の割込み信号17は第1のORゲート20を介してYデータ・アドレス・ジェネレータ24の第1の制御入力と結合される。また第1の割込み信号17は、第2のORゲート21と第3のORゲート22を介して結合され、SAD計算手段1へのリセット信号が生成される。第2の割込み信号18は、第1のORゲート20を介してYデータ・アドレス・ジェネレータ24の第1の制御入力と結合される。また第2の割込み信号18は第2のORゲート21と第3のORゲート22を介して結合され、SAD計算手段1へのリセット信号が生成される。第3の割込み信号は、第2のORゲート21を介してXデータ・アドレス・ジェネレータ23の制御入力部と、Yデータ・アドレス・ジェネレータ24の第2の制御入力部とに結合される。
以下、図1の動き予測ブロック16の動作についてさらに詳細に説明する。第1に、ブロックデータ・セットX={x1,…,xK}とY={y1,…,yK}が1部分ずつ記憶装置25などから第1のパイプライン段P1の中へ入力される。本発明のこの好適な実施例では、第1のパイプライン段は計算ユニット2の4つのグループ3を具備し、各グループは4つの計算ユニット2を具備する。さらに一般的なケースでは、第1のパイプライン段P1はs個のグループ3を具備し、各グループはp個の計算ユニット2を具備する。パラメータsとpは、m=sp、双方のパラメータs、pが正の整数、すなわちs、p≧1となるように選択されるグループ3の各計算ユニット2は同じ入力X1,Y1;X2,Y2;X3,Y3;X4,Y4を異なるクロック・サイクル時において共有する。SAD計算手段1の入力対(Xi,Yi)(i=1,…,4)は、i番目のグループのすべての計算ユニットDSi,j(j=1,…,4)の入力対(Xi,j,Yi,j)と入力レジスタ7を介して接続される。第1のパイプライン段のこれらの入力レジスタ7のすべては、SAD計算手段1の4動作サイクルに1回の動作サイクル中開かれている。このようにして、すべての処理ステップにおいて、SAD計算手段1の各入力対(Xi,Yi)(i=1,…,4)は、唯一の計算ユニットの入力(Xi,j,Yi,j)の対と実際に接続され、その間、その他の接続部は活動しなくなる。これは、第1のパイプライン段の対応する入力レジスタ7が書込みに対して閉じられることに起因する。すべてのグループ(i=1,…,4)の第1の計算ユニットDSi,1の入力部における第1のパイプライン段の入力レジスタ7は、4処理ステップ毎の第1のステップの間開かれ、すべてのグループの第2の計算ユニットDSi,2の入力部におけるパイプライン段の入力レジスタは4処理ステップ毎の第2のステップの間開かれ、以下j=3,4の場合も同様である。グループ3の計算ユニット2の出力部は2つのマルチプレクサ4、5の入力部と接続されるため、計算ユニット2のnビット出力部が第1のマルチプレクサ4のnビット入力部の中の1つと接続され、計算ユニット2の1ビット出力部が第2のマルチプレクサ5の1ビット入力部の中の1つと接続されるようになる。第1のマルチプレクサ4はp個のnビット入力部と1つのnビット出力部とを具備する。それぞれ、第2のマルチプレクサ5はp個の1ビット入力部と1個のnビット出力部とを具備する。1つのグループ3の計算ユニット2はほぼ1回分の処理ステップの時間オフセットで動作し、この場合この処理ステップは圧縮アレイ6の遅延にほぼ等しい持続時間Tpを有することになる。それぞれ、やはりほぼ1回分の処理ステップの時間オフセットを用いて、符号データと差分データとが計算ユニット2の出力部で形成される。1つのグループ3のすべての計算ユニット2の出力部の対は、マルチプレクサ4、5を介して圧縮アレイ6の単一対の入力部と接続されるため、処理ステップ毎に、符号データと差分データとを計算したばかりの計算ユニット2が、マルチプレクサ4、5と出力バッファ8とを介して圧縮アレイ6と接続されることになる。したがって、圧縮アレイ6は、処理ステップ毎に、すべてのグループ3の異なる計算ユニット2間で交番する新しい符号データと差分データ部分の受信と累積を行う。
第2のパイプライン段P2は圧縮アレイ6であり、この圧縮アレイ6は、第1のパイプライン段P1からのs個の入力信号と、第1のパイプライン段P1の合計出力9と桁上げ出力10からの2つのフィードバック信号とを有する。圧縮アレイ6は、すべての差分データと符号データとを受信し、これらのデータは一緒に加算されて、圧縮された差分データと符号データの(合計項と桁上げ項の)2つの列が生成される。圧縮アレイ6は、バッファ8の出力部に符号データと差分データとを累積することにより、処理ステップ毎に圧縮アレイ6の合計項と桁上げ項の値を更新する。すべての値の対について符号データと差分データの累積が実行された後、圧縮アレイ6の出力部は圧縮された最終差分データと符号データとを有し、これらのデータは、第3のパイプライン段P3を構成する加算器12により累積される。
第2のパイプライン段P2の圧縮アレイ6には、好適には、公知の全加算器(FA)もしくは4/2比圧縮装置のいずれかから構成される桁上げ保存加算器のツリーである。このツリーの様々な構成が可能である。最もSAD値が悪いケースで正しいSAD計算を行うためには、上記ツリーのビット幅(精度)は(n+log2K−1)ビットでなければならない。但し、nは入力データ内でのビット数であり、Kは1ブロックの範囲内の入力データのサンプル数である。例えば、8ビット入力値が用いられ、ブロック・サイズが256である場合、可能最大SAD値の合計項と桁上げ項とを正確に取得するために、圧縮アレイ6のビット幅は15ビットであることが望ましい。
第2のパイプライン段P2も、圧縮アレイ6により計算された合計項と桁上げ項の値を一時的に記憶する出力レジスタ11を有する。この一時的記憶は適切な同期パイプライン・クロック・タイミングの制御に必要である。出力レジスタ11も使用されて、合計項と桁上げ項が記憶され、これらの項は圧縮アレイ6の入力部へ返送されて、後続する処理ステップで合計される。
上述のように、第3のパイプライン段P3は加算器12を具備し、この加算器12により、計算された合計項と桁上げ項とが加算され、現在のブロックと現在の参照ブロックとの間の絶対差の合計が生成される。本解説で前述したように、絶対誤差SAD(X,Y)の合計を加算器12の加数Kで除することにより、加算器12によって例えば平均絶対誤差(MAE)の計算を行うことも可能である。
第4のパイプライン段は最小値評価装置13であり、この最小値評価装置13は比較手段(図示せず)と、最小SAD値の記憶手段14とを具備する。所定の現在のブロックX(c)に対する動き予測の開始時に、最小SAD値が初期値(通常、大きな値、例えば最小SAD値のとり得る最大値)にセットされる。次いで、最小値評価装置13の比較手段によって、第3のパイプライン段の加算器12で形成された最新のSAD値が、記憶された最小SAD値と比較され、この最新のSAD値の方が小さかった場合、それまでに得られた最小SAD値は上記最新の最小SAD値と置き換えられる。所定の現在のブロックX(c)に対するすべてのSAD計算を行った後、最小SAD値を用いてX(c)の動き予測情報MEIが形成される。
同一出願人による同時継続出願の全体を参照して、さらに詳細にSAD計算ユニット1の上記実施例について説明する。
本発明の以下の2つの実施例は、動き予測処理では十分に小さなSAD値だけが重要であるという観察に基づくものである。ビデオ符号化時の動き補償を行うために実際に使用されるとき、SAD値が大きすぎれば、この値は問題とはならない。したがって、所定の閾値よりも大きなSAD値を正確に計算する必要はない。この事実は、2重の目的のために、すなわち、合計手段と比較手段とのビット幅の縮小を行うため、並びに、所定の閾値よりもSADが大きくなりそうな場合、SADの計算を終了させるために利用することができる。
本発明の好適な実施例では、SAD計算手段1の第2のパイプライン段P2の圧縮アレイ6と、第3のパイプライン段P3の加算器12と、第4のパイプライン段P4の最小値評価装置とは、可能最大SAD値を正確に取得するために必要な精度よりも低い精度で実現することが可能である。すなわち、最悪のSAD値のケースにおける正しいSAD計算に必要な(n+log2K−1)ビットの精度より低い精度で圧縮アレイ6を実現することも可能であり、さらに、加算器12と、最小値評価装置13の比較手段とを(n+log2K)ビットの精度よりも低い精度で実現することも可能である。この場合、前述の場合と同様に、nは入力データ内のビット数であり、Kは、1ブロックの範囲内の入力データのサンプル数である。例えば、8ビット入力値が使用され、ブロック・サイズが256である場合、圧縮アレイ6のビット幅を例えば7ビットなどの15ビットよりも低いビット幅にしてもよい。さらに加算器12と最小値評価装置13内の比較手段のビット幅を例えば8ビットなどの16ビットよりも低いビット幅にしてもよい。その場合、大きいほうのSAD値が不正確に計算されても、通常、このSAD値は動き予測の結果に影響を与えることはない。本実施例はSAD計算手段1のサイズ及び電力消費量の著しい削減をもたらす可能性がある。サイズの削減は、第1のパイプライン段の中にさらに多くの計算ユニットを含むさらに高速な手段が実際に実行可能となることを意味する場合もある。
本発明の別の好適な実施例では、圧縮アレイ6により形成されたすでに処理済みのデータの差の一時的合計の桁上げ項がチェックされて、この桁上げ項が所定の第1の閾値を上回っているかどうかの判定が行われる。本好適な実施例では、上記チェックは、第2のパイプライン段P2の桁上げ出力10の状態のチェックにより行うことができる。事実、桁上げ出力10の最上位ビットは、第1のORゲート20と結合され、その場合この第1のORゲート20は第1の割込み信号17として機能する。したがって、桁上げ出力10の最上位ビットが論理“1”状態にある場合、第1の割込み信号17が生成され、中間SAD値が所定の第1の閾値を上回っているという情報がSAD計算手段1に与えられ、その場合、現在のブロックと参照ブロックとの間でSAD値の計算を継続する必要はなくなる。第1の割込み信号(論理“1”状態など)のアクティブ状態により、第1のORゲート20の出力部はアクティブ状態にセットされる。本解説で前に述べたように、このアクティブ状態へのセットはYデータ・アドレス・ジェネレータ24の第1の制御入力部と、第2のORゲート21の入力部とに結合される。次いで、Yデータ・アドレス・ジェネレータ24によってYデータ・アドレス・ジェネレータの第1の制御入力の論理状態のアクティブ状態への変化が検出され、次いで、Yデータ・アドレスを変更して別の参照フレームの(未チェックの)ブロックが参照される。またSAD計算手段1のパイプライン段P1、P2、P3、P4はその初期状態にリセットされる。次いで、動き予測ブロック16は参照フレームの現在のブロックと次の参照ブロックとの間のSAD値の計算を開始する。
上記実施例では、第1の閾値は圧縮アレイのビット幅(計算精度)により判定される。圧縮アレイ6の絶対差の値の一時的合計が、ある累積ステップで所定の第1の閾値の値を上回った場合、ブロックX(c)とY(c,r)の所定の対に対するSAD計算処理は終了させられる。例えば、8ビット入力値を使用し、ブロック・サイズが256である場合、可能最大SAD値を正確に取得するためには圧縮アレイ6のビット幅を15ビットにする必要がある。しかし、本推奨実施例では幅
Figure 2007336590
が用いられる。但しTH1は第1の閾値である。これは、この差の値が
Figure 2007336590
以上である場合、桁上げ出力の最上位ビットがハイにセットされることを意味する。本実施例には特別な比較手段を必要としないという利点がある。いくつかの別の好適な実施例では、例えば比較器(図示せず)などの比較手段を用いて絶対差の一時的合計を第1の閾値と比較し、この差分データの絶対値が第1の閾値よりも大きい場合、第1の割込み信号17を生成することが可能である。
この場合、図1に描かれている記憶装置25とXとYデータ・アドレス・ジェネレータ23、24は、動き予測ブロック16内部のみならず外部にも存在してもよいことに留意されたい。本解説に記載の割込みメカニズムは上記内部、外部双方の場合機能することができる。
図2に記載のSAD計算手段1は1つの非制限的な、SAD計算手段の実施例であるが、例えば図6に一般的に描かれているような別の種類のSAD計算手段1を本発明と共に使用することが可能である。特に、第1のパイプライン段P1の構造は様々な実施例で変更可能である。
本発明のさらに別の好適な実施例は、現在のSAD値の一時的な値が現在のXデータについてそれまでに得られた最小SAD値をすでに上回っている場合、現在のSADの計算を完了する必要はないという観察に基づいている。第1の割込み信号17と同様に機能する別の割込み信号18が利用される。
第2の割込み信号を生成するために、第3のP3と第4のP4のパイプライン段が、第1のP1と第2のP2のパイプライン段と並列に作動する。但し、おそらく、異なるクロック周波数C1、C2が使用される。なぜなら、最後の2つのパイプライン段P3、P4は速度の遅いものであってもよく、すべての処理ステップで作動する必要はないからである。これらの変更に伴い、T回の(第1の2つのパイプライン段P1、P2のクロック周波数C1に対応する)基本処理ステップ毎に、第3のパイプライン段P3の加算器12の出力部で部分的なSAD値が形成される。但し、Tは、最初の2つのパイプライン段P1、P2のクロック周波数C1と、最後の2つのパイプライン段P3、P4のクロック周波数C2との間の比である。最小値評価装置13は、T回の基本処理ステップ毎に、部分的SAD値を現在の最小SAD値と比較する。その基本処理ステップにおいて、現在の部分的SAD値が実際に最終SAD値であることが認知された場合、最小SAD値の方が現在のSAD値よりも大きければ、最小SAD値は置き換えられる。たとえ部分的SAD値の方がこの最小値より小さくても、上記置き換えが行われる前に最小SAD値が置き換えられることはない。しかし、部分的SAD値の方が現在の最小SAD値よりも大きければ、第2の割込み信号18がアクティブにセットされる。第1の割込み信号17の場合と同様、第2の割込み信号18はSAD計算手段1をリセットし、次のYデータを用いて現在のXデータの計算を開始するためにYデータ・アドレス・ジェネレータ24を起動させる。
この場合、実行時間の明らかな向上に加えて、上記実施例を利用する場合、遅いクロック周波数での最後の2つのパイプライン段の動作に起因して電力/エネルギーの節減という利点が生じることに留意されたい。
本発明のさらに別の好適な実施例では、第3の割込み信号19を利用して、現在の探索領域に対するSAD計算処理の中断を行うことも可能である。本実施例は、現在のXブロックとYブロック間のSAD値が十分に小さい(所定の第2の閾値TH2よりも小さい)場合、現在のXブロックと残りのYブロック間のSAD値の計算が不要であるという観察に基づくものである。このような状況を処理するために、別の割込み信号(第3の割込み信号19)が第4のパイプライン段P4により形成される。第3の割込み信号19を生成するために、第4のパイプライン段P4は、第2の閾値TH2用レジスタ(図示せず)と、現在のSAD値(最終SAD値)を第2の閾値と比較する比較器(図示せず)とを好適に具備する。(最終)SAD値の方が第2の閾値よりも小さくなった場合、第3の割込み信号19がアクティブになる。この第3の割込み信号19は、新しいリセット信号の形成のために、第2のORゲート21で第1の割込み信号17と、第1のORゲート20で第2の割込み信号18と、第3のORゲート22で原リセット信号41と結合される。第3の割込み信号19は、X及びYデータ・アドレス・ジェネレータ23、24の双方に新しいデータを送らせるために、これら双方とも結合される。この新しいデータは、例えば、
Figure 2007336590
とすると、データ値(ロ)、を含む現在のビデオ・ブロック(図示せず)として選択される、符号化対象の前記フレームFR1の新しい(未チェック)ブロック(イ)と、データ値(ニ)を含む別のビデオ・フレーム(図示せず)のブロック(ハ)とを含むものであってもよい。これらのブロック(イ),(ハ)の一例も図5に示されている。
本発明が、ゲート・カウント、電力消費量及び実行時間の著しい改善につながることは明らかである。しかし、これらの節減はビデオ・シーケンスと、動き予測アルゴリズムと、本発明の実現構成とに左右されるため節減の量的評価を行うことは困難である。
この比較の後、割込み信号が生成されなかった場合、全ての参照ブロックが現在のブロックX(c)のSAD値の計算に使用されたかどうかのチェックが行われる。現在のブロックについてのSAD値の計算時にまだ使用されていない少なくとも1つの参照ブロックY(c,r)、Y(c,r’)が依然として存在する場合、上述の処理手順が反復される。使用されていない参照ブロックが存在しない場合、得られた最小SAD値がビデオ符号化処理の後の段階で使用され、現在のブロックをそのまま符号化するか、動き補償を行うかの判定が行われる。最小値評価装置13は、現在のブロックの最小SAD値を生成したブロックの座標を判定し、制御ユニット26などの判定手段へ最小SAD値と共に座標情報を好適に転送する。上記判定手段では、最小SAD値がチェックされて、現在のブロックをそのまま符号化するか、動き補償を行うかの判定が行われる。この判定手段は、例えば、ブロックの転送に必要な情報量の評価や、動き補償情報の転送に必要な情報量の評価を行うことが可能である。次いで、情報転送容量の少ない方の選択肢が判定手段により好適に選択される。
ブロック自体の代わりに、動き補償情報を伝送することを選択した状況で、伝送対象情報の中には少なくとも座標情報と動きエラー情報とが好適に含まれる。座標情報を利用して、以前に受信され、復号化されたどの参照ブロックが動きベクトルの形成に利用されたかについての情報が復号器に与えられる。この動き誤差情報とは現在のブロックと参照ブロックのそれぞれの画素値間の差分である。次いで、動き誤差情報により訂正された前記参照ブロックを用いることにより、復号器は現在のブロックの画像情報の形成が可能となる。
次に、図3のブロック図を参照しながら、好適な実施例によるビデオ伝送システムについて説明する。伝送対象のビデオ信号はビデオカメラ27などにより得られるか、あるいは、例えば、ビデオ録画装置、デジタル多用途ディスク(DVD)などのビデオ記憶手段(図示せず)から取り出されたものであってもよい。ビデオ信号は符号器28へ転送され、符号器28は本発明による動き予測を含むビデオ信号の符号化を実行する。次いで、符号化されたビデオ信号は、必要に応じてチャネル符号器29でチャネル符号化される。チャネル符号化の目的は伝送チャネル30を介する伝送に適した形に符号化されたビデオ信号の変換を行うことである。チャネル符号化の細部はビデオ符号化システムの様々な実施構成で変更が可能であり、これらの細部について当業者は周知である。
受信装置では、チャネル復号器31でチャネル符号化ビデオ信号のチャネル復号化が行われ、符号化されたビデオ信号の取出しが行われる。その後、復号器32によりビデオ信号が復号化され、原信号とほぼ一致することが予想されるビデオ信号が生成される。しかし、実際問題として、いくつかの潜在的誤差の源が存在し、これらの誤差の源は転送されたビデオ信号に影響を与える可能性があり、復号化されたビデオ信号が原ビデオ信号とは異なるものとなる可能性がある。このような伝送エラーの影響を最小限にするための誤差訂正メカニズムが開発されている。
ビデオ・モニタ33上に復号化されたビデオ信号の表示を行うこと及び/又は記憶手段34の中へ該ビデオ信号を記憶することが可能である。
図4は、本発明の好適な実施例によるビデオ符号化装置35を簡略に示すものである。当該端末装置は送信及び受信の双方に適したものであるが、本発明は単純な端末装置と接続して利用することも可能である。ビデオ符号化装置35では、図4のブロック図に提示されているすべての機能特性は必ずしも必要ではないが、本発明の範囲内で、例えばキーボード36とオーディオ手段37とが設けられていないさらに単純なビデオ符号化装置35を利用することも可能である。前記キーボード36とオーディオ手段37とに加えて、ビデオ端末装置は、ビデオ・モニタ33、ビデオカメラ27またはその類のビデオ手段も具備する。
ビデオ符号化装置35の機能を制御するために、ビデオ符号化装置35は制御ユニット26を具備し、この制御ユニット26は、例えば、マイクロ制御用ユニット(MCU)、マイクロ処理用ユニット(MPU)、デジタル信号プロセッサ及び/又はその類のものを具備する。さらに、制御ユニット26には、例えばアプリケーション・プログラムとデータとを記憶する記憶手段25と、制御ユニット26と別の機能ブロックとの間で信号を伝送するためのバス・インターフェース手段I/Oとが含まれる。ビデオ符号化装置35は、ビデオ情報の符号化/復号化及び圧縮/伸長を行うビデオ・コーデック38も具備する。圧縮はDCT変換と量子化などに基づいて行われ、その場合、伸長段階で、公知のように受信情報が逆量子化され、逆DCT変換が行われる。チャネル・コーデック39により伝送対象情報のチャネル符号化と、受信情報のチャネル復号化とが行われる。移動通信手段40などによりチャネル符号化ビデオ信号の伝送を行うことが可能である。
上記実施例の各々は、そのパフォーマンスの向上を図るために独立してSAD計算ユニット1に適用することが可能であるため、改善効果の向上を図るために実施例のいずれの組み合わせも可能である。早期終了メカニズムを組み込む提示された本方法が、例えば、図6に記載の一般的に提示されたアーキテクチャなどの、他の反復累積SADアーキテクチャに適用可能であることは当業者には明らかである。
割込み信号を生成するために比較の際に用いる閾値を予め定める必要はなく、動的に定めることができる(SAD計算装置1の作動中に変更が可能である)点に留意されたい。例えば、現在のSAD値の一時的な値が、現在のXデータについてそれまでに得られた最小SAD値をすでに上回っている場合、第2の割込み信号が生成される。したがって、第2の割込み用の閾値として用いられたそれまでに得られた最小SAD値が装置1の作動中変わる場合もある。
本発明が、単に前記の実施例のみに限定されるものではなく、特許請求の範囲内で修正が可能であることは言うまでもない。
本発明の好適な実施例による動き予測ブロックを示す簡略化なブロック図である。 本発明の好適な実施例による動き予測ブロックのSAD計算手段を示す簡略化なブロック図である。 本発明の好適な実施例によるビデオ伝送システムを示す簡略化なブロック図である。 本発明の好適な実施例による通信装置を示す簡略化なブロック図である。 ビデオ符号化時にビデオの動き予測を実行する方法を示す図である。 従来技術の反復/並列累積型SADアーキテクチャの一般的構造を示す図である。 本発明の好適な実施例による組込み型割込みメカニズムを備えた反復/並列累積型SADアーキテクチャの一般的構造を示す図である。
符号の説明
1 SAD計算手段
7 第1のパイプライン段P1内のバッファ
8,11,15 バッファ
16 動き予測ブロック
17 第1の割込み信号
18 第2の割込み信号
19 第3の割込み信号
20 第1のORゲート
21 第2のORゲート
22 第3のORゲート
23 Xデータ・アドレス・ジェネレータ
24 Yデータ・アドレス・ジェネレータ
25 記憶手段
26 制御ユニット
41 リセット信号
P1 比較値形成手段
P2,P3 組み合わされた比較値の形成手段
P4 最小SAD値評価手段及び動き予測情報MEI形成手段

Claims (15)

  1. ビデオ符号化時にビデオの動き予測を実行する方法であって、ブロック(X(c)、Y(c,r)、Y(c,r’))を含むフレーム(FR1、FR2)からビデオ信号を構成し、符号化対象フレーム(FR1)の現在のビデオ・ブロック(X(c))と、別のフレーム(FR2)の少なくとも1つの別のビデオ・ブロック(Y(c,r)、Y(c,r’))とを用いることにより、組み合わされた比較値を形成し、符号化対象フレーム(FR1)の前記現在のビデオ・ブロック(X(c))が第1のデータ値のセット({x1,…,xK})を含み、別のフレーム(FR2)の前記少なくとも1つの別のビデオ・ブロック(Y(c,r)、Y(c,r’))が第2のデータ値のセット({y1,…,yK}を含み、前記第1のデータ値のセット({x1,…,xK})から得られるデータ値と、前記第2のデータ値のセット({y1,…,yK})から得られる等しい数の対応するデータ値とからデータ値対を形成し、各々が前記データ値対の1つのデータ値対のデータ値を用いることにより定められる比較値を定めることにより前記組み合わされた比較値を形成し、少なくとも1つの閾値(TH1、TH2)を定め、さらに、前記組み合わされた比較値を定める上記処理の終了が可能かどうかを判定する方法において、少なくとも、
    各々が少なくとも1つの比較値からなる少なくとも1つの比較値のサブセットを形成するための計算ステップと、
    上記計算ステップで得られた前記少なくとも1つの比較値のサブセットを用いて反復して更新される現在の累積比較値を示す信号を形成するための累積ステップと、
    少なくとも1つの信号を少なくとも1つの閾値(TH1、TH2)と比較することにより処理の終了が可能かどうかの判定を行う判定ステップと、
    上記判定ステップで行われた判定に従う、終了ステップと、前記組み合わされた比較値を定める新規処理の初期化ステップと、を有することを特徴とする方法。
  2. 請求項1に記載の方法において、第1の閾値(TH1)を定め、さらに、各累積ステップ後に、上記信号が上記第1の閾値(TH1)を上回っているかどうかを判定する判定ステップを実行し、上記信号が上記第1の閾値(TH1)を上回った場合、上記計算処理を終了し、新しい絶対差の合計(SAD)計算処理を初期化することを特徴とする方法。
  3. 請求項1または2に記載の方法において、データ値対の第1の値と第2の値との間の差分を計算することにより比較値を定めることを特徴とする方法。
  4. 請求項1、2または3のいずれか一項に記載の方法において、上記累積比較値が、合計項と桁上げ項とから成り、前記信号が上記桁上げ項を示すことを特徴とする方法。
  5. 請求項1乃至4のいずれか一項に記載の方法において、少なくとも2つの比較値を加算することにより前記累積比較値を形成し、さらに、上記累積比較値を、上記現在のブロック(X(c))と別のブロック(Y(c,r”))との間で前に得た組み合わされた比較値、または、所定の数と比較して、上記計算処理の終了が可能かどうかを判定することを特徴とする方法。
  6. 請求項5に記載の方法において、前記累積比較値が前記前に得た組み合わされた比較値または前記所定数より大きい場合、上記計算処理を終了させることを特徴とする方法。
  7. 請求項1乃至6のいずれか一項に記載の方法において、上記計算処理の終了が可能であると判定された場合、前記現在のビデオ・ブロック(X(c))のデータ値({x1,…,xK})と、前記新しいビデオ・ブロック(Y(c,r’))のデータ値({y'1,…,y'K})とを用いる比較値の計算を行うために前記別のフレーム(FR2)の新しいブロック(Y(c,r’))を選択し、次いで、前記現在のビデオ・ブロック(X(c))のデータ値({x1,…,xK})と、前記新しいビデオ・ブロック(Y(c,r’))のデータ値({y1,…,yK})とを用いる比較値の計算を開始することを特徴とする方法。
  8. 請求項1乃至7のいずれか一項に記載の方法において、第2の閾値(TH2)を判定し、前記第1のデータ値のセット({x1,…,xK})と、前記第2のデータ値のセット({y1,…,yK})とのすべての値の対のすべての比較値の組み合わされた比較値を用いることにより1つの信号を形成し、前記1つの信号を前記第3の閾値と比較して、上記計算処理の終了が可能かどうかを判定することを特徴とする方法。
  9. 請求項8に記載の方法において、上記組み合わされた比較値が前記第2の閾値未満である場合、上記計算処理を終了することを特徴とする方法。
  10. 請求項7、8または9のいずれか一項に記載の方法において、上記計算処理の終了が可能であると判定された場合、別のフレームの前記ブロック(Y(c,r))を選択して、前記現在のブロック(X(c))に対する動き予測情報の形成時に使用し、その場合、上記現在のビデオ・ブロックに対する比較値の計算を停止することを特徴とする方法。
  11. 請求項7に記載の方法において、上記計算処理の終了が可能であると判定された場合、符号化対象の前記フレームの新しいブロック(イ)を上記現在のビデオ・ブロックとして選択し、さらに、前記現在のビデオ・ブロックのデータ値(ロ)と別のビデオ・フレームのブロック(ハ)のデータ値(ニ)との間の差分の計算を開始し、ここに
    Figure 2007336590
    とすることを特徴とする方法。
  12. ビデオ符号化時にビデオの動き予測を実行するためのビデオ符号化システムであって、上記ビデオ信号が、ブロック(X(c)、Y(c,r)、Y(c,r’))を含むフレーム(FR1、FR2)から構成されるシステムにおいて、符号化対象フレーム(FR1)の現在のビデオ・ブロック(X(c))と、別のフレーム(FR2)の少なくとも1つの別のビデオ・ブロック(Y(c,r)、Y(c,r’))とを利用することにより、組み合わされた比較値を形成する手段(1)を具備し、符号化対象の上記フレーム(FR1)の前記現在のビデオ・ブロック(X(c))には第1のデータ値のセット({x1,…,xK})が含まれ、別のフレーム(FR2)の前記少なくとも1つの別のビデオ・ブロック(Y(c,r)、Y(c,r’))には第2のデータ値のセット({y1,…,yK})が含まれ、組み合わされた比較値を形成する前記手段(1)には、各々が、前記第1のデータ値のセット({x1,…,xK})及び前記第2のデータ値のセット({y1,…,yK})から得られる等しい数の対応するデータ値から得られるデータ値の等しい数のデータ値対からなる、一連の少なくとも2つのサブセット(x(t-1)s+1,…,xts,y(t-1)s+1,…,yts)を入力する入力手段と、前記データ値対の1つのデータ値対のデータ値を用いることにより定められる各比較値を定める手段(2)と、少なくとも1つの第1の閾値(TH1、TH2)を定める手段(9)と、前記組み合わされた比較値を定める処理の終了が可能かどうかを判定する手段(17、20)とが含まれるシステムにおいて、少なくとも、
    各々が少なくとも1つの比較値からなる少なくとも1つの比較値のサブセットを形成するための計算手段(2)と、
    上記計算手段で得られた前記少なくとも1つの比較値のサブセットを用いて反復して更新される現在の累積比較値を示す信号を形成するための累積手段(6)と、
    少なくとも1つの信号を少なくとも1つの閾値(TH1、TH2)と比較する手段(17)を含む、計算処理の終了が可能かどうかを判定する判定手段(17、20)と、
    上記判定手段で行われた判定に従って現在の処理を終了させ、前記組み合わされた比較値を定める新規処理を初期化する手段と、を具備することを特徴とするシステム。
  13. 請求項12に記載のシステムにおいて、前記累積手段(6)と前記判定手段(17、20)の計算精度が、可能最大SAD値を正確に取得するために必要な精度よりも低いことを特徴とするシステム。
  14. ビデオ符号化装置であって、ブロック(X(c)、Y(c,r)、Y(c,r’))を含むフレーム(FR1、FR2)から成るビデオ信号を符号化する手段(38)と、ビデオの動き予測を実行する手段(38)と、符号化対象のフレーム(FR1)の現在のビデオ・ブロック(X(c))と、別のフレーム(FR2)の少なくとも1つの別のビデオ・ブロック(Y(c,r)、Y(c,r’))との間で、組み合わされた比較値を計算する手段(1)であって、上記符号化対象フレーム(FR1)の前記現在のビデオ・ブロック(X(c))は第1のデータ値のセット({x1,…,xK})を含み、前記別のフレーム(FR2)の少なくとも1つの別のビデオ・ブロック(Y(c,r)、Y(c,r’))は第2のデータ値のセット({y1,…,yK})を含み、前記第1のデータ値のセット({x1,…,xK})と、前記第2のデータ値のセット({y1,…,yK})との数値対の間で比較値を定めることにより前記組み合わされた比較値を形成するように為す上記計算手段と、少なくとも1つの閾値(TH1、TH2)を定める手段(9)と、前記組み合わされた比較値を定める処理の終了が可能かどうかを判定する手段(17、20)とを具備するビデオ符号化装置において、少なくとも、
    各々が少なくとも1つの比較値からなる少なくとも1つの比較値のサブセットを形成するための計算手段(2)と、
    上記計算手段で得られた前記少なくとも1つの比較値のサブセットを用いて反復して更新される現在の累積比較値を示す信号を形成するための累積手段(6)と、
    少なくとも1つの信号を少なくとも1つの閾値(TH1、TH2)と比較する手段(17)を含む、計算処理の終了が可能かどうかを判定する判定手段(17、20)と、
    上記判定手段で行われた判定に従って現在の処理を終了させ、前記組み合わされた比較値を定める新規処理を初期化する手段と、を具備することを特徴とするビデオ符号化装置。
  15. 請求項14に記載の装置において、移動通信を実行する手段(40)を具備することを特徴とする装置。
JP2007208511A 2001-09-06 2007-08-09 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置 Withdrawn JP2007336590A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FI20011769A FI110744B (fi) 2001-09-06 2001-09-06 Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002258846A Division JP2003153283A (ja) 2001-09-06 2002-09-04 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012004683A Division JP2012070461A (ja) 2001-09-06 2012-01-13 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置

Publications (1)

Publication Number Publication Date
JP2007336590A true JP2007336590A (ja) 2007-12-27

Family

ID=8561853

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2002258846A Withdrawn JP2003153283A (ja) 2001-09-06 2002-09-04 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
JP2007208511A Withdrawn JP2007336590A (ja) 2001-09-06 2007-08-09 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
JP2012004683A Pending JP2012070461A (ja) 2001-09-06 2012-01-13 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002258846A Withdrawn JP2003153283A (ja) 2001-09-06 2002-09-04 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012004683A Pending JP2012070461A (ja) 2001-09-06 2012-01-13 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置

Country Status (6)

Country Link
US (1) US7236523B2 (ja)
EP (1) EP1313323B1 (ja)
JP (3) JP2003153283A (ja)
AT (1) ATE371339T1 (ja)
DE (1) DE60221948T2 (ja)
FI (1) FI110744B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI110909B (fi) * 2001-09-06 2003-04-15 Nokia Corp Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
US7039246B2 (en) 2002-05-03 2006-05-02 Qualcomm Incorporated Video encoding techniques
US7940844B2 (en) 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
TWI239474B (en) * 2004-07-28 2005-09-11 Novatek Microelectronics Corp Circuit for counting sum of absolute difference
FI117956B (fi) * 2005-04-15 2007-04-30 Timo D Haemaelaeinen Piiri ja menetelmä erojen itseisarvojen summan laskemiseksi nopeasti ja tehokkaasti
GB2436656A (en) * 2006-03-31 2007-10-03 Tandberg Television Asa Computing a sliding sum of absolute differences for video signal compression
US9510018B2 (en) 2011-11-23 2016-11-29 Luca Rossato Signal analysis and generation of transient information
US9927862B2 (en) * 2015-05-21 2018-03-27 Microsoft Technology Licensing, Llc Variable precision in hardware pipelines for power conservation
WO2016194828A1 (ja) * 2015-06-03 2016-12-08 オリンパス株式会社 演算装置、演算方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06189291A (ja) * 1992-12-21 1994-07-08 Sharp Corp 画像の動き検出装置
JPH10191352A (ja) * 1996-12-20 1998-07-21 Toshiba Corp 動きベクトル検出装置および方法
JPH10257504A (ja) * 1997-01-09 1998-09-25 Matsushita Electric Ind Co Ltd 動きベクトル検出装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02145079A (ja) 1988-11-26 1990-06-04 Mitsubishi Electric Corp 動き補償演算方法
JPH0686272A (ja) 1992-08-31 1994-03-25 Sony Corp 動きベクトル検出装置
JPH07162864A (ja) 1993-12-08 1995-06-23 Ricoh Co Ltd 動きベクトル検出方法
JPH0918882A (ja) 1995-07-03 1997-01-17 Matsushita Electric Ind Co Ltd 動きベクトル検索方法及びその装置
US5652625A (en) 1996-06-19 1997-07-29 United Microelectronics Corp. Multi-stage pipeline architecture for motion estimation block matching
US5864372A (en) 1996-12-10 1999-01-26 United Microelectronics Corporation Apparatus for implementing a block matching algorithm for motion estimation in video image processing
TW361051B (en) 1997-01-09 1999-06-11 Matsushita Electric Ind Co Ltd Motion vector detection apparatus
US6011870A (en) 1997-07-18 2000-01-04 Jeng; Fure-Ching Multiple stage and low-complexity motion estimation for interframe video coding
US5838392A (en) 1998-03-19 1998-11-17 United Microelectronics Corp. Adaptive block-matching motion estimator with a compression array for use in a video coding system
JP2001145109A (ja) 1999-11-11 2001-05-25 Nec Corp 動きベクトル検出装置
US6654502B1 (en) 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US20040008779A1 (en) * 2002-06-18 2004-01-15 Lai King Chung Techniques for video encoding and decoding
US7940844B2 (en) * 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06189291A (ja) * 1992-12-21 1994-07-08 Sharp Corp 画像の動き検出装置
JPH10191352A (ja) * 1996-12-20 1998-07-21 Toshiba Corp 動きベクトル検出装置および方法
JPH10257504A (ja) * 1997-01-09 1998-09-25 Matsushita Electric Ind Co Ltd 動きベクトル検出装置

Also Published As

Publication number Publication date
US20030043911A1 (en) 2003-03-06
FI20011769A0 (fi) 2001-09-06
US7236523B2 (en) 2007-06-26
FI110744B (fi) 2003-03-14
DE60221948T2 (de) 2007-12-20
DE60221948D1 (de) 2007-10-04
EP1313323A1 (en) 2003-05-21
JP2012070461A (ja) 2012-04-05
EP1313323B1 (en) 2007-08-22
ATE371339T1 (de) 2007-09-15
JP2003153283A (ja) 2003-05-23

Similar Documents

Publication Publication Date Title
JP2012070461A (ja) ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
US7486733B2 (en) Method for performing motion estimation in video encoding, a video encoding system and a video encoding device
US7940844B2 (en) Video encoding and decoding techniques
US8218635B2 (en) Systolic-array based systems and methods for performing block matching in motion compensation
KR100910327B1 (ko) 디지털 비디오 모션 추정을 위한 조기 종료 기술
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
JP2005303984A (ja) 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
JP4801778B2 (ja) 映像圧縮符号化装置、映像復元装置、映像圧縮プログラム、及び、映像復元プログラム
CN113874916A (zh) Ai辅助的可编程硬件视频编解码器
KR20050012815A (ko) 신속한 모션 추정을 갖는 비디오 인코더
EP1584069B1 (en) Video frame correlation for motion estimation
JP2023532397A (ja) ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法、装置およびコンピュータプログラム
JPS6192073A (ja) 画像デ−タ圧縮方式
CN114501031B (zh) 一种压缩编码、解压缩方法以及装置
Wang et al. Cost Effective Block Truncation Coding for Color Image Compression.
JP2023528179A (ja) ニューラル画像圧縮におけるコンテンツ適応型オンライン訓練のための方法、装置およびコンピュータプログラム
EP1684525A2 (en) Video encoding with fast motion estimation
JP2006261950A (ja) 周波数領域中のブロックマッチングの動き推定方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120113

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120123

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120216