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

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

Info

Publication number
JP4188647B2
JP4188647B2 JP2002260042A JP2002260042A JP4188647B2 JP 4188647 B2 JP4188647 B2 JP 4188647B2 JP 2002260042 A JP2002260042 A JP 2002260042A JP 2002260042 A JP2002260042 A JP 2002260042A JP 4188647 B2 JP4188647 B2 JP 4188647B2
Authority
JP
Japan
Prior art keywords
value
data
calculation
values
comparison
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
JP2002260042A
Other languages
English (en)
Other versions
JP2003111084A (ja
Inventor
グエボルキアン デイビッド
ラウニアイネン アキ
リウハ ぺトリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2003111084A publication Critical patent/JP2003111084A/ja
Application granted granted Critical
Publication of JP4188647B2 publication Critical patent/JP4188647B2/ja
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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ビデオ符号化時にビデオの動き予測を実行する方法に関し、その場合、フレームからビデオ信号を構成し、ビデオ・フレームはブロックを含み、符号化対象フレームの現在のビデオ・ブロックと、別のフレームの少なくとも1つの別のビデオ・ブロックとを用いることにより、組み合わされた比較値を形成し、さらに、上記符号化対象フレームの前記現在のビデオ・ブロックは第1のデータ値のセットを含み、別のフレームの前記少なくとも1つの別のビデオ・ブロックは第2のデータ値のセットを含み、前記第1のデータ値のセットから得られるデータ値と、前記第2のデータ値のセットから得られる等しい数の対応するデータ値とからデータ値対を形成し、比較値を定めることにより前記組み合わされた比較値を形成し、前記データ値対の1つのデータ値対のデータ値を用いることによりこれら比較値の各々を定め、さらに、データ値対から成る少なくとも2つのサブセットに前記データ値対を分割し、上記各サブセットは等しい数のデータ値対を含む。また本発明は、ブロックを含むフレームからビデオ信号を構成する、ビデオ符号化時にビデオの動き予測を実行するビデオ符号化システムにも関し、上記システムは、符号化対象フレームの現在のビデオ・ブロックと、別のフレームの少なくとも1つの別のビデオ・ブロックとを利用することにより、組み合わされた比較値を形成する手段を具備し、上記符号化対象フレームの前記現在のビデオ・ブロックは第1のデータ値のセットを含み、前記別のフレームの少なくとも1つの別のビデオ・ブロックは第2のデータ値のセットを含む。組み合わされた比較値を形成する前記手段は、一連の少なくとも2つのサブセットを入力する入力手段を具備し、上記各サブセットは、前記第1のデータ値のセットから得られるデータ値と、前記第2のデータ値のセットから得られる等しい数の対応するデータ値との等しい数のデータ値対から成るように構成されるシステムであり、さらに、該システムは、前記データ値対の1つのデータ値対のデータ値を用いることにより各々定められる比較値を定める手段を具備する。本発明はさらにビデオ符号化装置に関し、上記ビデオ符号化装置は、ブロックを含むフレームから成るビデオ信号を符号化する手段と、ビデオの動き予測を実行する手段と、符号化対象フレームの現在のビデオ・ブロックと、別のフレームの少なくとも1つの別のビデオ・ブロックとの間で、組み合わされた比較値を計算する手段であって、上記符号化対象フレームの前記現在のビデオ・ブロックは第1のデータ値のセットを含み、前記別のフレームの少なくとも1つの別のビデオ・ブロックは第2のデータ値のセットを含み、組み合わされた比較値を形成する前記手段は、各々のサブセットが前記第1のデータ値のセットから得られるデータ値と前記第2のデータ値のセットから得られる等しい数の対応するデータ値の等しい数のデータ値対から成る、一連の少なくとも2つのサブセットを入力する入力手段を具備し、該装置は、前記データ値対の1つのデータ値対のデータ値を用いることにより各々定義される比較値を定義する手段を具備する。
【0002】
【従来の技術】
符号化対象画像をブロックに分割するビデオ符号化システムが知られている。次いで、これらのブロックは符号化され、復号化装置へ伝送されたり、記憶媒体の中へ記憶されたりする。伝送対象の情報量を減らすために、MPEG2(Moving Picture Experts Group)のような様々な圧縮方法が開発されてきた。ビデオ画像の伝送時に、フレーム間圧縮、フレーム内圧縮、あるいはこれらの圧縮の組み合せとして画像圧縮の実行が可能である。フレーム間圧縮の目的は、連続する画像フレーム内の冗長な情報の除去である。一般に、画像には、例えば動きのない背景などを示す上記のような多量の変化しない情報や、被写体がゆっくりと動くときのようなゆっくりと変化する情報が含まれる。フレーム間圧縮では動き補償の利用も可能である。動き補償を利用する目的は、画像内での、動きのある大きな要素の検出である。その場合、エンティティ全体を表す画素を伝送する代わりに、このエンティティの動きベクトル及びある種の差分情報の伝送が行われる。このようにして、当該エンティティの動きの方向と速度とが定義され、この動きベクトルが確定される。圧縮を行うために、送信用及び受信用ビデオ端末装置では、リアルタイムでの圧縮及び解凍ができるような非常に高い処理レートが要求される。
【0003】
一般に、画像ブロックは一緒にグループ化されて、複数のブロックが形成される。この各ブロックには通常、16行×16個の画素の輝度サンプルと、モード情報と、生じる可能性のある動きベクトルとが含まれる。このブロックは4つの8×8の輝度ブロックと2つの8×8の色差ブロックに分割される。通常、走査(及び符号化/復号化)は、フレームの最上部左側から最下部右側コーナーへ1ブロックずつ進行する。1ブロックの内部では、走査(及び符号化/復号化)の順序はブロックの最上部左側から最下部右側コーナーへの方向となる。
【0004】
MPEG2の圧縮では画像に対するブロック内での離散余弦変換(DCT)符号化が行われるため、ブロック・サイズは8×8の画素となる。変換される輝度レベルは最大解像度のレベルである。双方の色差信号はサブサンプル化される。例えば16×16の画素フィールドが8×8の画素フィールドの中へサブサンプル化される。ブロック・サイズの差は、人間の目が輝度の変化ほどには等しく良好に色差の変化を識別できないという事実に主に起因する。この場合、2×2の画素フィールドが同じ色差の値で符号化される。
【0005】
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フレームが最初に受信され、受信装置での画像の再構成が高速化される。
【0006】
これら3つの画像タイプの中で、Bフレームの圧縮時に最も高い効率が達成される。所定時に使用されるアプリケーションにおいて、Iフレーム、Pフレーム、Bフレームの数の変更が可能であることは言及しておくべきである。但し、この場合、受信装置の表示装置で正しい画像の再構成が可能となるためには、受信端で少なくとも1つのIフレームの受信が必要であることに注意しなければならない。
【0007】
動き予測の目的は、ビデオ・シーケンス内のある参照フレームの探索領域の範囲内で、現在のフレームの範囲内の所定ブロック(チェック中のブロック)に最も類似しているようなブロック(参照ブロック)を見つけることである。多様な動き予測アルゴリズムの中で、最もポピュラーなものはブロック・マッチングに基づくアルゴリズムであり、フレーム・ブロック間の類似度の基準として絶対差(SAD)の合計が利用される。順に並べられた2つのデータのセットX={x,…,x}とY={y,…,y}とが与えられたとすると、SADの値は以下のように定義される:
【数1】
Figure 0004188647
【0008】
いくつかの文献では、SADは、合計SAD(x,y)をその加数Kで除したものとして定義されている。その場合、SADを平均絶対誤差(MAE)と呼ぶこともある。ほとんどの場合Kは2のべき乗であるため、上記2つの定義は実施構成から見た場合実質的に同値である。なぜなら、後者の定義は単にあるビット数だけ前者の定義の値をシフトすることにより得ることができるからである。
【0009】
ビデオ符号化コンテキストでは、SADは、すべての現在のフレーム間のすべての16×16ブロックX(実際にはビデオ・シーケンスのほとんどすべてのフレーム)と、1以上の参照フレームの探索領域(図9を参照)の範囲内の複数の16×16ブロックY、Y’との間で計算される。このようにして、SADが何回も適用されるため、SADの1回の演算処理の実行時間のちょっとした向上だけでも総ビデオ処理時間のかなりの節減をもたらす。一方、当然のことながら、特に携帯用/無線ビデオ処理用アプリケーションで、SADの計算に利用されるハードウェアが大きすぎたり、電力を消費するものであったりしてはならない。
【0010】
符号化されたビデオの品質劣化の少ないSADの演算処理回数及び/又はサイズを少なくするための様々な探索方法を利用する様々な動き予測アルゴリズムが数多く存在する。これらの動き予測アルゴリズムは、次のXブロックとYブロックの対の選択肢が前回のステップで得られたSAD値に依存しないデータ非依存型探索と、データ依存型探索との2つのカテゴリに大まかにグループ化することができる。通常、データ依存型探索方法は、より少ない回数のSADの演算処理の実行を必要とする。しかし、データ非依存型動き予測アルゴリズムに典型的な規則的データ移動を単純に組織できることに起因して、ハードウェアの実施構成のほとんどはデータ非依存型動き予測アルゴリズムに基づいている。データ依存型方法に共通のものとして、次のXブロックとYブロックの対を選択するいくつかのオプションが存在するという点が挙げられ、この次の対は現在のSAD値に対応して選択される。
【0011】
最近の調査によれば、汎用プロセッサ(GPP)で実行する場合、様々な動き予測アルゴリズムによって総ビデオ符号化時間のほぼ40%〜80%が費やされている。ブロック・マッチング動き予測アルゴリズムにおける基本演算処理はSADであり、このSADはビデオ符号化処理中何回も適用される。典型的高速動き予測アルゴリズムでは、SAD計算は、ビデオ・シーケンス内で(通常16×16のサイズの)ほとんどすべてのブロックについておよそ30回繰り返される。QCIF(Quarter Cannon Intermadiate Format)解像度のビデオ・シーケンスで毎秒15フレームの場合でさえ、毎秒少なくとも256個(16×16)の点に対してSAD計算が44550回行われることを意味することになる。組込み型システムにおける典型的マイクロプロセッサであるARME9Eマイクロプロセッサ上の全くのソフトウェアによる実施構成では、256個の点に対する1回のSADの計算は数千クロック・サイクルを要する。これは、ビデオ符号化のソフトウェアによる実施構成における動き予測だけのために毎秒数億サイクルが費やされることを意味する。
【0012】
この問題の重要性に起因して、最近多くの動き予測装置が文献の中に報告されている。これらの文献は2つのカテゴリ、すなわち、動き予測に対する何らかの探索方法をサポートするが、SADの実施構成の細部については考慮しない文献と、動き予測方法とは無関係の、SAD計算用の専用アーキテクチャを本質的に提案する文献とに分類することができる。例えば、ビデオ画像処理時の動き予測を実行するためのブロック・マッチング・アルゴリズムを実現する装置が開示されている(例えば特許文献1)。この装置は原画像ブロックの画素データと、ビデオ画像処理中複数の比較対象画像ブロックから選択された比較対象画像ブロックの画素データとを受信するものである。これらの選択された画像ブロックは、運動ベクトルを決定するために比較される。上記装置は、4つの段階を含む多段階パイプライン化ツリー・アーキテクチャを有する。第1パイプライン段(計算段)によって対応する一対の差分データと符号データとが生成される。第2パイプライン段(圧縮段階)にはすべての差分データと符号データを受信する圧縮アレイが含まれ、これらのデータは一緒に加算されて、圧縮された差分データと符号データの2つの列(合計項と桁上げ項)が生成される。パイプラインの第3パイプライン段(合計段)は、上記圧縮された合計と符号データとを受信し、比較対象画像ブロックの画素の各々について平均絶対誤差を生成するものである。最後のパイプライン段(最小化段)は、比較対象画像ブロックの各々について上記平均絶対誤差を受信し、上記比較対象画像ブロックの中から最小平均絶対誤差を決定するものである。上記圧縮アレイには、マルチレベル構成で配設された複数の全加算器及び半加算器、または、複数の4/2圧縮装置が含まれ、この構成では、加算器オペランド入力及びキャリインのいずれも未接続のままに放置されることはない。
【0013】
特許文献1(米国特許5,864,372)に開示されている装置が図1に例示されている。第1パイプライン段はいくつかの(m個の)計算ユニット(DS、Difference−Sign:差分−符号)から構成される。図1はm=4のケースに対応するものである。計算ユニットの構造は図2に示されている。i番目の計算ユニット、i=1,…,mは2つのnビット入力XとYと、1つのnビット出力Aと、1つの単一ビット出力Bとを有する。(符号データ)出力Bは差分X−Yの符号ビットであり、(差分データ)出力Aは差分のn個の最下位ビットから形成され、これらの最下位ビットは、B=1(差分が負である)の場合、反転されるか、B=0(差分が負でない)の場合、反転されないかのいずれかとなる。したがって、計算ユニットの入出力関係は以下のようなものとなる:
【数2】
Figure 0004188647
但し、xとyとは、計算ユニットの入力での値で、aはそのnビット出力(差分データ)での値、bはその1ビット出力(符号データ)での値である。
【0014】
第2パイプライン段は圧縮アレイであり、このアレイは実質的に、第1パイプライン段から着信する2m個の入力値AとB、i=1,…,mと、アレイ自身の合計と桁上げ出力から得られる2つのフィードバック入力とを有する桁上げ保存加算器ツリーである。この圧縮アレイは全加算器(FA)または4/2比圧縮装置のいずれかから構成されるものであってもよい。この圧縮アレイの幅と深さ(段数)、したがって遅延は、実質的に第1段の並列チャネル(計算ユニット)の数mに依存する。この依存状態が表1に示されている。この表では、NFAとN4/2とは、全加算器ベースの構成及び4/2比圧縮装置ベースの構成用圧縮アレイでの段数をそれぞれ表す。DFAとD4/2とは、対応する圧縮アレイ構成の予測遅延時間を表し、この予測遅延時間は1つの2入力NAND論理ゲートに対する基本時間遅延量τの単位で表現される。1つの全加算器が、2つの連続接続されたNANDゲートの遅延を持ち、1つの4/2比圧縮装置エレメントが3つの連続接続されたNANDゲートの遅延を生じることが想定されている点に留意されたい。
【0015】
第3パイプライン段は実質的に、圧縮アレイの合計出力と桁上げ出力の最終値を加算する加算器である。事実、SADは第3段の出力部で得られる。正確なSAD値を計算するために、第3段の加算器はn+logKビット(実際のビデオ符号化コンテキストでは16ビットとなる)の精度を持つことが望ましいという点に留意されたい。
【表1】
Figure 0004188647
【0016】
上記装置の第4段は最小値評価段である。第3パイプライン段で新しいSAD値が得られるたびに、この新しいSAD値は、最小値評価ユニットMに保持される現在の最小SAD値と比較される。小さな方の値が選択され、新しい最小値として最小値評価ユニットの中に記憶される。現在のフレームの範囲内の所定のブロックX(c)と、参照フレームの探索領域の範囲内のすべての対応するブロックY(r,c)との間のSADの計算がいったん完了すると、X(c)と、最小値が達成されたブロックY(r,c)との間の相対的シフトがX(c)に対する動きベクトルとして特定される。
【0017】
装置の作動中、入力値{x,…,x}と{y,…,y}とは1部分ずつ第1パイプライン段へ入力される。t番目の処理ステップで、
【数3】
Figure 0004188647
データ部分{x(t−1)m+1,…,xtm}及び{y(t−1)m+1,…,ytm}が入力値X,…,XとY,…,Yへそれぞれ入力される。次の処理ステップで、対応する差分と符号データとが、圧縮アレイへ入力する計算ユニットの出力部で形成され、アレイの合計出力と桁上げ出力の現在値へ累積される。
【数4】
Figure 0004188647
処理ステップ後、圧縮アレイの出力部で最終合計項と桁上げ項とが形成され、さらに1つの処理ステップ後、第3パイプライン段の加算器の出力部でSAD値が計算されることは明らかである。最小値評価ユニットは、現在の動きベクトルの座標を選択する別の処理ステップを使用する。
【0018】
最も速度の遅いパイプライン段のスループットにより処理ステップの持続時間が決定される。特許文献1(米国特許公報5,864,372)による装置では、最も速度の遅い部分が最小値評価ユニットとなると考えられる。しかし、このユニット並びに第3段の加算器は、所定の一対の入力データのセットのための2つのサイクルしか処理しないが、最初の2段は
【数5】
Figure 0004188647
サイクルを処理する。(実際のケースである)mに関してKが十分に大きい場合、
【数6】
Figure 0004188647
サイクル後、次の一対の入力データのセットの処理を直ちに開始する代わりに、最後の2段が機能を開始したとき、最初の2段を停止するとさらに有利である。このようにして、最初の2段だけの間の最も速度の遅い段のスループットによりクロック・サイクルの持続時間が決定される。
【0019】
第1パイプライン段のスループットは、実質的に、nビット(8ビット)加算器/減算器のスループットである。様々な加算器/減算器を使用し、その結果として様々なスループットを得ることもできる。説明を容易にするために、本明細書では標準的な8ビットのキャリ・リプル型(carry−ripple)加算器の使用について考察する。特許文献1(米国特許5,864,372)では、全加算器の遅延は、2つの連続接続されたNANDゲートの遅延にほぼ等しいと想定されている。したがって、計算ユニットの2つの連続する出力間の遅延は16τにほぼ等しい。但し、τは基本処理クロック・サイクルの持続時間(NANDゲートの遅延)である。表1に示されている圧縮アレイの遅延と比較すると、第1パイプライン段の範囲内の32個までの計算ユニットの場合については、第1パイプライン段の方が第2パイプライン段よりも速度が遅いということがわかる。それより多い数の計算ユニット(実際には、必要とされる広いシリコン面積と入力バス幅のために実行不可能であるが)の場合、圧縮アレイは2つのパイプライン段に分割され、それによって第1パイプライン段は最も速度の遅い段のままとなる。したがって、第1パイプライン段に関与している計算ユニット数に関係なく、装置の処理ステップの持続時間は16τとなる。圧縮アレイは、たとえ実際のほとんどのケースにおいてさらに高速なクロック入力が可能であっても、同じ処理ステップでクロック入力されることが望ましい。なぜなら、表1に示されているように圧縮アレイへの入力数が32よりも少ない場合、圧縮アレイの遅延の方が16τよりも少なくなるからである。
【0020】
従来技術の装置にはいくつかの欠点がある。装置のパイプライン段(その内の最初の2段が重要な段である)は、この段が実質的に異なる遅延を生じることに起因して、そのバランスが悪い。最初の段の範囲内の並列計算ユニットが、妥当な数(例えば、m=4、8、16)の場合、第2の段の圧縮アレイは、表1からわかるように計算ユニット内で標準的なキャリ・リプル型加算器を使用する場合、最初の段よりも2.7倍、1.6倍、及び1.3倍それぞれ高速である。したがって、装置の圧縮アレイはその容量のおおよそ37%、62.5%、77%しか利用されていない。
【0021】
(装置の最初の2つの)パイプライン段の間でより良好なバランスを達成するためのパイプライン段の遅延調整は、計算ユニット内でさらに高速な加算器/減算器を使用するか、パイプラインの段数を増やすかのいずれかによってしか可能ではない。両ケースともシリコン面積と、電力消費量との著しい増加につながる。
【0022】
圧縮アレイの幅と深さは最初の段の範囲内の計算ユニット数と共に実質的に大きくなる(表1を参照)。圧縮アレイの方が計算ユニットよりも高速であるため、圧縮アレイは従来技術のシステムでは効率的に利用されていない。圧縮アレイのサイズの減少は、ゲート・カウントだけでなくその少ない段数に起因する遅延をも減らすことになる。圧縮アレイ・サイズの減少の可能性は、最初の2つのパイプライン段の調整時の柔軟性を付加することにもなる。
【0023】
従来技術の装置の入力バス幅は、最初の段の並列計算ユニット数に比例して大きくなり、したがって、汎用プロセッサやデジタル信号プロセッサ(DSP)のほとんどでは、アクセラレータとの相互接続用としてかなり狭いバスが提供されているために、実際の用途が制限されることになる。装置の中に入力バッファを設けることにより、この問題の解決を図ることも可能ではあるものの、この解決方法はゲート・カウントの著しい増加を意味することになる。
【0024】
【特許文献1】
米国特許第5864372号明細書
【0025】
【発明が解決しようとする課題】
ビデオ符号化時に動き予測を実行するための改善された方法、システム及び装置を提供することが本発明の目的である。
【0026】
【課題を解決するための手段】
本発明は、入力データの対をグループ化し、同じ一対のビデオ・ブロックのデータ対の前回のグループについての差分データと符号データの計算が完了する前に、新しいグループのデータ対についての差分データと符号データの計算処理を開始するという着想に基づくものである。SAD計算手段の第1パイプライン段の計算ユニットのグループを2以上の実質的に類似するサブグループに分割すること、及び、差分データと符号データの計算プロセスをこれらのグループ間で配分して行うことにより上記の着想は達成される。各サブグループの計算ユニットは、同じ入出力ラインを共用し、1処理ステップの時間オフセットの間隔で時間的にインターレースされる方法で作動する。本発明による方法は、別のサブセットのデータ値対の比較値の計算の開始後かつ該計算の完了前のある時間内に、1つのサブセットのデータ値対の比較値の計算が開始されるように、前記比較値の計算がインターレースされることを主たる特徴とするものである。本発明によるビデオ符号化システムは、上記システムが前記比較値のインターレースされた計算を行う手段であって、別のサブセットのデータ値対の比較値の計算の開始後かつ該計算の完了前のある時間内に、1つのサブセットのデータ値対の比較値の計算を開始する手段を含む手段をさらに具備することを主たる特徴とするものである。本発明によるビデオ符号化装置は、前記比較値のインターレースされた計算を行う手段であって、別のサブセットのデータ値対の値の対との間の比較値の計算の開始後かつ該計算の完了前の或る時間内に、1つのサブセットのデータ値対の比較値の計算を開始する手段を含む手段をさらに具備することを主たる特徴とするものである。
【0027】
本発明は、従来技術による解決方法と比較したとき著しい利点を提供するものである。圧縮アレイはより少ない数の入力部を備え、アレイのゲート・カウントと遅延の双方の減少につながる。これは、本発明と従来技術の双方が同数の並列チャネル(第1パイプライン段内の計算ユニット)から構成される場合、本発明の実現に必要な総シリコン面積が、従来技術と比較して著しい減少を示すことを意味する。
【0028】
本発明の好適な実施例の最初の2つのパイプライン段はより良好なバランスがとれている。本発明の方法によるSAD計算の処理ステップの持続時間は第2の段の遅延とほぼ同じである。この遅延は、特許文献1(米国特許公報5,864,372)による装置が使用される場合の処理ステップの持続時間の下限である第1パイプライン段の遅延と比較するとずっと短い遅延である。総処理ステップ数は多くなるが、段間の良好なバランスに起因して総処理時間はさらに短くなる。
【0029】
また圧縮アレイのサイズの減少は、さらに多くの並列計算ユニットを持つ高速のアーキテクチャが実際に実行可能になりつつあることをも意味する。
【0030】
アーキテクチャのさらに高速な実現を実際に実行可能にする別の理由として、計算ユニットのグループ間で入力バスを共用できる可能性がある。本発明によるアーキテクチャでは、バス幅が従来技術による解決方法の場合のようにチャネル数に比例して大きくなることはない。
【0031】
このハードウェアはさらに効率的に利用され、従来技術の場合と同じスループットに対する狭いチップ面積を意味するだけでなく、低い電力消費量も意味するものである。この狭いチップ面積と低い電力消費量を達成できる理由として、圧縮アレイが第1パイプライン段のデータ出力を待つ時間が短くてすむこと、及び、処理中少数のゲートしか起動されないこととが挙げられる。
【0032】
本発明の実際の実施構成では、特に第1パイプライン段の範囲内のさらに大きな数mの計算ユニットの場合、SAD計算手段のゲート・カウントを減らすことができることは明らかである。従来技術の装置では圧縮アレイの幅と深さはmと関連して実質的に大きくなるが、本発明に準拠するSAD計算手段では大きくならない。また本発明によって、第1パイプライン段の持続時間から第2パイプライン段の持続時間まで(またはこの持続時間近くまで)処理ステップの持続時間を短くすることが可能となる。この第2パイプライン段は従来技術の装置ですでに短かったが、本発明による装置ではさらに短くなる。それは、圧縮アレイが縮小化され、したがって、さらに小さな深さ(少ない段数)を持つことになるからである。したがって、本発明によって、従来技術による解決方法と比較するとゲート・カウントと処理時間の双方が減少する。また、1つのグループのすべての計算ユニットが1つの入力ポートを共用しているため、入力バス幅の要件が今度は簡略化される。計算ユニットのグループ数と、各グループの範囲内の計算ユニット数とは、本発明の実際の実施構成での最初の2段の間でより良好なバランスを達成するための柔軟性を加えるパラメータの役割を果たす。
【0033】
【発明の実施の形態】
以下、添付図面を参照してより詳細に本発明について説明する。
【0034】
以下、K対のnビット入力データが想定される一般的ケースについて本発明の説明を行う。但し、ビデオ符号化コンテキストでは、K=256、n=8は最も一般的なケースである。ビデオ符号化だけでなく、医療用画像処理システムやレーダー画像処理システムのような他のアプリケーションにおいても、また、パターン認識がリアルタイムで実行される他の信号処理タスク(心電図(ECG)装置、心臓機能を記録する植え込み型電気的除細動器−細動除去器(ICD)装置、音声処理など)においても、絶対差の合計が利用できる可能性があることに留意されたい。
【0035】
図9は、ビデオ符号化時のビデオの動き予測を実行する方法の原理を示す。図9には、図を明瞭にするために2つのフレームFR1、FR2しか示されていない。符号化対象フレームFR1には、画素値Xi,jを含む1以上のブロックXが含まれる。これらの画素値Xi,jのうちの2、3しか図には示されていない。参照フレームFR2の中で探索領域Sが定義される。符号化対象フレームFR1の現在のブロックXと、参照フレームFR2の参照ブロックYとの間の比較実行領域が探索領域Sにより定義される。しかし、実施例によっては、探索領域Sとして参照フレームFR2の全領域の利用が可能であることは言うまでもない。本方法では、現在のブロックXとの比較を行うために参照ブロックY、Y’が1ブロックずつ選択される。この探索処理は、全探索領域Wがチェックされるまで継続されるか、探索終了のための他に定めうる条件が満たされるまで継続される。以下、この探索についてさらに詳細に説明する。
【0036】
本発明の好適な実施例によるSAD計算手段1が図3に描かれている。SAD計算手段1は、最初の2つのパイプライン段P1、P2との間に、従来技術と比べて良好なバランスを持つ4つのパイプライン段P1、P2、P3、P4を具備する。このバランスは第1パイプライン段P1の計算ユニット2(DS)をグループ3の中へ設けることにより達成される。第1パイプライン段は、m=sp個の計算ユニット2(DS1,1,…,DS1,p,DS2,1,…,DS2,p,…,DSs,1,…,DSs,p)から構成される。これらのユニットは、各々がp個の計算ユニットから成るs個のグループにグループ化される。グループ3の各計算ユニット2は、同じ入力X、Y;X、Y;…;X、Yを共用するが、この共用は異なるクロック・サイクルで行われる。グループ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ビット出力とを具備する。この構成によって、第2の段P2の圧縮アレイ6の縮小が可能になる。1つのグループ3の計算ユニット2はほぼ1回分の処理ステップの時間オフセットで動作し、この場合この処理ステップは圧縮アレイの遅延にほぼ等しい持続時間Tを有することになる。それぞれ、やはりほぼ1回分の処理ステップの時間オフセットを用いて、符号データと差分データとが計算ユニット2の出力で形成される。1つのグループ3のすべての計算ユニット2の出力の対は、マルチプレクサ4、5を介して圧縮アレイ6の単一対の入力と接続されるため、処理ステップ毎に、符号データと差分データとを計算したばかりの計算ユニット2が圧縮アレイ6と接続されることになる。したがって、すべてのグループ3の異なる計算ユニット2間で交番することにより、上記圧縮アレイは、新しい符号データと差分データ部分の受信及び累積を処理ステップ毎に行う。
【0037】
処理ステップの持続時間Tは、従来技術の装置における最初の段の遅延とほぼ等しく、その場合、本発明によるSAD計算手段1を使用することにより著しい処理時間の改善を図ることが可能となる。
【0038】
第1パイプライン段P1の計算ユニット2の1つの好適な実施例が図4に示されているが、本発明と共に計算ユニット2の別の実施例を用いることが可能であることは言うまでもない。すべての計算ユニット2(DSi,j(i=1,…,s、j=1,…,p))は、2つの入力値Xi,jとYi,jと、1つのnビット出力値Ai,jと、1つの単一ビット出力値Bi,jとを有し、これは、特許文献1(米国特許5,864,372)の装置の場合と同じ入出力関係である。この場合、各計算ユニット2のスループットは一対の入力データ当たりp回の処理ステップであると想定されている。計算ユニット2は、2つのnビットデータ入力A、Bと、1つのnビットデータ出力Sと、キャリイン(carry−in)CI及びキャリアウト(carry−out)COとを備えた加算器16を具備する。第1のデータのセットXの値が第1のデータ入力Aに入力され、次いで、インバータ・ユニット17を介して第2のデータのセットYの値が第2のデータ入力Bに入力される。インバータ・ユニット17は第2のデータのセットの値の1の補数を形成する。キャリインCIが論理1の値にセットされ、データ入力に入力された値の差分(X−Y)が加算器16によって計算される。計算ユニット2は、XORユニット18をさらに有し、キャリアウトCOがセットされた(計算された差分が負(X<Y))場合、このXORユニット18によって加算器16の出力ビットSが反転される。そうでない場合、加算器16の出力SはXORユニット18によって現状のまま、すなわち計算された差分が負でない(X≧Y)状態に放置される。キャリアウト信号が符号値として用いられ、XORユニット18の出力が差分値として用いられる。第1パイプライン段で計算ユニット2の別の実施構成の使用が可能であることは言うまでもない。
【0039】
上述のように、SAD計算手段1はs対のnビット入力を有し、i番目の対(X,Y)(i=1,…,s)は、i番目のグループのすべての計算ユニットDSi,1,…,DSi,pにより共用される。SAD計算手段1の入力値(X,Y)(i=1,…,s)対は、入力レジスタ7を介して、i番目のグループのすべての計算ユニットDSi,j、j=1,…,pの一対の入力値(Xi,j,Yi,j)と接続される。第1パイプライン段のこれらの入力レジスタ7のすべては、SAD計算手段1のp回に1回の処理サイクル中だけ開いている。これがタイミング図として図5(a)に示されている。このようにして、すべての処理ステップにおいて、SAD計算手段1の各入力対(X,Y)(i=1,…,s)が唯一の計算ユニットの一対の入力値(Xi,j,Yi,j)と実際に接続されるが、一方で、第1パイプライン段の対応する入力レジスタが書込みに対して閉じられるため、その他の接続部は活動状態にはならない。すべてのグループ(i=1,…,s)の第1の計算ユニットDSi,1の入力部における第1パイプライン段の入力レジスタは、p回の処理ステップのうちの最初の回のステップ中開かれ、すべてのグループの第2の計算ユニットDSi,2の入力部における第1パイプライン段の入力レジスタはp回の処理ステップのうち第2回のステップ中開かれる。一般に、処理ステップ
【数7】
Figure 0004188647
において、SAD計算手段1の一対の入力値(X,Y)(i=1,…,s)は、i番目のグループの計算ユニットのu番目の計算ユニットDSi,uの入力レジスタと実際に接続される。但しu=(t−1)modp+1である。したがって、SAD計算手段1のすべての対の入力値(X,Y)(i=1,…,s)は、i番目のグループの計算ユニットにより空間的に共用されるが、i番目のグループの計算ユニットにわたって時間に沿って配分される。
【0040】
本発明によるSAD計算手段1の作動中、データのセットX={x,…,x}とY={y,…,y}とが1部分ずつSAD計算手段1の入力値に入力される。t番目の処理ステップ
【数8】
Figure 0004188647
において、データ部分{x(t−1)s+1,…,xts}と{y(t−1)s+1,…,yts}とは、それぞれ、入力値X,…,XとY,…,Yへ入力され、次いで、1回の処理ステップ後、第1パイプライン段の対応する入力レジスタを介して、計算ユニットDS1,u,…,DSs,uの入力値X1,u,…,Xs,uとY1,u,…,Ys,u(u−(t−1)modp+1)へ渡される。入力データの当該部分に対応する差分データ{a(t−1)s+1,…,ats}と符号データ{b(t−1)s+1,…,bts}(a+b=|x−y|)は、計算ユニット2の出力部におけるほぼp回の処理ステップ(すなわちt+p+1番目の処理ステップ後)の遅延を伴って生成される。以上はタイミング図として図5(b)に示されている。
【0041】
計算ユニット2の出力は、nビットのp対1マルチプレクサ4または1ビットのp対1マルチプレクサ5と接続される。i番目のグループ(i=1,…,s)のすべての計算ユニットDSi,j(j=1,…,p)の出力値Ai,j(j=1,…,p)は、単一nビット出力値Aを有するnビットのp対1マルチプレクサ4(n−MUX)の入力と接続される。同様に、i番目のグループ(i=1,…,s)のすべての計算ユニットDSi,jの出力値Bi,j(j=1,…,p)は、単一1ビット出力値Bを有する1ビットのp/1マルチプレクサ5(1−MUX)の入力と接続される。マルチプレクサ4、5は、pによる余剰の循環ルール(circular mod p rule)に従って、その入力からその出力へ信号を渡し、それによって、処理ステップ
【数9】
Figure 0004188647
で、グループ(i=1,…,s)のu番目の(u=(t−1)modp+1)の計算ユニットDSi,uの出力がマルチプレクサn−MUX、1−MUXによりマルチプレクサの出力と接続される。如上の考察から、処理ステップ
【数10】
Figure 0004188647
において、計算ユニットDSi,u(u=(t−1)modp+1)がデータ部分{x(t−1)s+1,…,xts}と{y(t−1)s+1,…,yts}に対応する差分データと、符号データの計算を正確に実行したことの判定が可能となる。このようにして、マルチプレクサ4、5は好適に作動し、その結果、処理ステップ
【数11】
Figure 0004188647
の最後で、符号データと差分データ{b(t−1)s+1,…,bts}とはマルチプレクサ4、5の出力へ渡される。これがタイミング図として図5(c)に例示されている。
【0042】
マルチプレクサ4、5の出力は、第1パイプライン段の出力レジスタ8を介して第2パイプライン段P2の入力と接続される。第2パイプライン段P2は圧縮アレイ6であり、この圧縮アレイ6は、(従来技術の装置の場合のようなm=ps個の入力の代わりに)第1パイプライン段P1からのs個の入力信号と、第2パイプライン段P1の合計出力9と桁上げ出力10とから得られる2つのフィードバック信号とを有する。圧縮アレイ6は、マルチプレクサ4、5の出力における符号データと差分データとを累積することにより、処理ステップ毎に圧縮アレイ6の合計項と桁上げ項の値を更新する。この場合、圧縮アレイの遅延はSAD計算手段の処理ステップの持続時間に等しいと想定されている。マルチプレクサ4、5の出力において第1の符号データ部分と差分データ部分とが利用可能な場合、処理ステップp+2から累積が開始され処理ステップの最後まで行われる。すべての値の対の累積が実行された後、圧縮アレイ6の出力には符号データと差分データとが含まれる
【0043】
また第2パイプライン段P2は圧縮アレイ6によって計算された合計項と桁上げ項の値を一時的に記憶する出力レジスタ11も備えている。これは同期されたパイプライン・クロック・タイミングを適切に制御するために必要である。出力レジスタ11も使用して、合計項と桁上げ項とが記憶され、これらの項は圧縮アレイ6の入力へフィードバックされ、後続する処理ステップで合計される。
【0044】
第2パイプライン段P2の圧縮アレイ6は、好適には、公知の全加算器(FA)もしくは4/2比圧縮装置のいずれかから構成される桁上げ保存加算器のツリーである。このツリーの様々な構成が可能である。特に、従来技術で使用されているツリー構造の利用が可能である。提案されたアーキテクチャの従来技術との主要な相違点として、(mではなく)s=m/pのnビット値及び圧縮アレイ6自体の合計出力値9と桁上げ出力値10からの2つのフィードバック入力値に加えて、圧縮アレイが同じ値の単一ビット入力値しか必要としないという点が挙げられる。したがって、第1パイプライン段P1の中にm個の計算ユニット2を備えた、本発明の好適な実施例によるSAD計算手段1では、s=m/p個の計算ユニットだけの場合に構成されるような従来技術の装置の圧縮アレイと実質的に同様の圧縮アレイを利用してもよい。さらに、圧縮アレイの出力値9、10からのフィードバック値により、圧縮アレイの第1段の出力だけでなく圧縮アレイの任意の段の出力との接続が可能となる。
【0045】
同数の計算ユニット2を備えた従来技術の装置と比較したとき、圧縮アレイ6の入力の数が少ないため、少ない数の全加算器または4/2比圧縮装置を用いて圧縮アレイ6の構成が可能となる。また圧縮アレイ6の段数がさらに少ないため、結果としてさらに遅延が短くできる。本発明の好適な実施例に従うSAD計算手段の処理ステップの持続時間すなわち処理上の基本クロック時間単位Tは、パラメータpとsを適切に選択すれば、圧縮アレイの遅延6として定められる。
【0046】
m個のサンプルの2個の各データのセット間の絶対差の合計の合計項と桁上げ項を計算するために必要な処理ステップの総数はbで与えられることが上述の考察から理解できる。
【数12】
Figure 0004188647
上式は、特許文献1(米国特許5,864,372)のs=mの装置と、本発明のSAD計算手段1の双方に対するものであるが、本発明のSAD計算手段1の処理ステップの持続時間Tの方が、特許文献1(米国特許5,864,372)の装置の処理ステップの持続時間よりも短い。圧縮アレイ内の狭い幅と少ない段数とに起因して、本発明のSAD計算手段1の実現に必要なシリコン面積の方が、特許文献1(米国特許5,864,372)の装置面積と比べて狭くなることも明らかである。
【0047】
第3パイプライン段P3は加算器12を具備し、この加算器12により、計算された合計項と桁上げ項とが加算され、チェック中のブロックと現在の参照ブロックとの間の絶対差の合計が生成される。本願で前述したように、絶対誤差SAD(X,Y)の合計を加算器12の加数Kで除することにより、加算器12によって例えば平均絶対誤差(MAE)の計算を行うことも可能である。第4パイプライン段P4の最小値評価装置13において、最も新しい計算結果が前回の計算結果の最小SAD値と比較される。最も新しい計算結果の方が前回得られた最小SAD値よりも小さい場合、最小SAD値は新しい計算結果と置き換えられる。最小値評価装置13は最小SAD値を記憶する手段14(記憶手段など)を有する。チェック中のブロックに対するSAD計算の開始時に、最小SAD値が大きなデフォルト値にセットされて、第1の計算結果が最小SAD値として記憶されることが保証される。これは、比較の対象となる、チェック中のブロックに対する前回の計算値が存在しないためである。
【0048】
上記比較段の後、本発明のこの好適な実施例で、チェック中のブロックについてSAD値を計算するためにすべての参照ブロックが使用されたかどうかがチェックされる。現在のブロックについてのSAD値の計算時にまだ使用されていない少なくとも1つの参照ブロックが依然として存在する場合、上述の処理手順が反復される。使用されていない参照ブロックが存在しない場合、得られた最小SAD値がビデオ符号化処理の後の段階で使用され、現在のブロックをそのまま符号化するか、動き補償を行うかの判定が行われる。最小値評価装置13は、現在のブロックの最小SAD値を生成したブロックの座標を判定し、判定手段15へ最小SAD値と共にこの座標情報を転送する。判定手段15では、最小SAD値がチェックされて、現在のブロックをそのまま符号化するか、動き補償を行うかの判定が行われる。判定手段15は、例えば、ブロックの転送に必要な情報量の評価や、動き補償情報の転送に必要な情報量の評価を行うことが可能である。次いで、情報転送容量の少ない方の選択肢が判定手段15により好適に選択される。
【0049】
ブロック自体の代わりに、動き補償情報を伝送することを選択した状況で、伝送対象情報の中には少なくとも座標情報と動きエラー情報とが好適に含まれる。座標情報を利用して、以前に受信され、復号化されたどの参照ブロックが動きベクトルの形成に利用されたかについての情報が復号器に与えられる。この動き誤差情報とは現在のブロックと参照ブロックのそれぞれの画素値間の差分である。次いで、動き誤差情報により訂正された前記参照ブロックを用いることにより、復号器は現在のブロックの画像情報の形成が可能となる。
【0050】
以下、パラメータsとpの選択について説明する。第1の例では、第1パイプライン段P1の範囲内の計算ユニット2の総数は一定であると仮定する。本例では、第1パイプライン段P1に含まれる計算ユニット2の数は8(m=8)である。この場合、表2と3に要約されているように、圧縮アレイ6を構成するために全加算器(FA)を使用するか4/2比圧縮装置を使用するかの2つのケースに対応して、パラメータpとsを選択するいくつかの可能性が存在する。これらの表では、NFAは対応する圧縮アレイ6の範囲内の段数であり、GtotalはSAD計算ユニット1の最初の2つのパイプライン段P1、P2の総ゲート・カウント数の予測値であり(パイプライン・レジスタはカウントされない)、DFAは圧縮アレイの遅延であり、TとTtotalとは数式(3)と同じものである。表の最後の列は圧縮アレイ6の相対的利用時間を示す。Gtotalの数は、合計Gtotal=GDS+GMUX+GCAとして与えられる。但し上記加数は、マルチプレクサ4、5用及び圧縮アレイ6用の計算ユニット2のブロックのゲート・カウントをそれぞれ表す。これらの数は表4に要約されているような等価NANDゲートについて基本構成要素のゲートカウントの概算を用いてカウントされたものである。
【0051】
表2と3の第1行は、p=1のケースに対応する特許文献1(米国特許5,864,372)の装置を表す。これらの表の第2行によって示されるアーキテクチャは図6に描かれている。同様にしてその他のケースに対応するアーキテクチャが得られる。これらの表から解るように、pの値の増加につれてゲート・カウントと処理時間の双方が減少している。
【0052】
【表2】
Figure 0004188647
【0053】
【表3】
Figure 0004188647
【0054】
【表4】
Figure 0004188647
【0055】
別の例では、SAD計算手段1がシステムの中に組み込まれている(但しSAD計算手段1自身のクロックでそのまま作動している)状況で、例えば64ビットなどに入力バス幅を限定することが想定される。バッファが利用されなかったり、(ゲート・カウントを上げる何らかの)別の技術が利用されたりした場合、これは、第1パイプライン段の範囲に含まれるDSユニット数の上限が、特許文献1(米国特許5,864,372)の装置の場合m=4(s=4、p=1)であることを意味する。上記装置の圧縮アレイは、4つのnビットと、4つの単一ビットと、2つの(2n−1)ビット入力とを備えた桁上げ保存加算器ツリーである。表1から、圧縮アレイの遅延が6τであり、これに対して、第1パイプライン段のスループットが16τであるため、その結果として段間に不適切なバランスが生じるということがわかる。しかし、本発明によって、特許文献1(米国特許5,864,372)の装置内のものと同じ圧縮アレイをそのまま使用して、m=16(s=4、p=4)まで最初の段内のDSユニット数の増加が可能になる。表5は、結果として得られるアーキテクチャの(pに依存する)面積/時間特性を要約するものである(p=1を持つ第1行は特許文献1(米国特許5,864,372)の装置に対応する)。本例では全加算器をベースとする圧縮アレイが用いられた。表でわかるように、特許文献1(米国特許5,864,372)(p=1)の装置の代わりに、p=3を用いる本発明を用いることにより、同じ入力バス幅を保持しながら、最初の2つのパイプライン段P1、P2の総処理時間数を2.59倍だけ減らすことが可能となる。当然のことであるが、ゲート・カウントもほとんど比例して増加する(2.37倍)。この場合第1パイプライン段P1が圧縮アレイ6よりも不必要に高速になるため、パラメータpのさらなる増加は必ずしも改善につながるとはかぎらない。
【0056】
【表5】
Figure 0004188647
【0057】
圧縮アレイ6を2つのパイプライン段に分割し、フィードバック・ループをより短くすることによりにさらなる改善が可能である。本発明の場合、計算ユニット2から成る各グループ3内の計算ユニット2の数pが非常に大きな数になったため、最初の段P1の方が第2の段P2(圧縮アレイ6)よりも高速になるすべての場合に上記改善は有益である。表5の最後の行はこの種の構成が有益なものとなり得る一例に対応するものである。この場合、2つのパイプライン段に圧縮アレイを分割し、各々が、4つの入力を備えた圧縮アレイとなるようにし、それによって、その後、処理ステップの持続時間となる4τの遅延を生じるようにすることも可能である。次いで、第2の圧縮アレイの出力時にSADの最終合計項と桁上げ項を見つけるための時間Ttotalは、
【数13】
Figure 0004188647
まで減少することになる(特許文献1(米国特許5,864,372)の装置よりも3.77倍高速になる)。
【0058】
本発明によるSAD計算ユニット1のパラメータsとpとを選択して、実際の実施構成の中でパフォーマンス全体が最適となるようにすることが可能となる。
【0059】
次に、図8のブロック図を参照しながら、好適な実施例によるビデオ伝送システムについて説明する。伝送対象のビデオ信号はビデオカメラ19などにより得られるか、あるいは、例えば、ビデオ録画装置、デジタル・ディスクなどのビデオ記憶手段(図示せず)から取り出されたものであってもよい。ビデオ信号は符号器20へ転送され、符号器20は本発明による動き予測を含むビデオ信号の符号化を実行する。次いで、符号化されたビデオ信号は、必要に応じてチャネル符号器21でチャネル符号化される。チャネル符号化の目的は伝送チャネル22を介する伝送に適した形に符号化されたビデオ信号の変換を行うことである。チャネル符号化の細部はビデオ符号化システムの様々な実施構成で変更が可能であり、これらの細部について当業者は周知である。
【0060】
受信装置では、チャネル復号器23でチャネル符号化ビデオ信号のチャネル復号化が行われ、符号化されたビデオ信号の取出しが行われる。その後、復号器24によりビデオ信号が復号化され、原信号とほぼ一致することが予想されるビデオ信号が生成される。しかし、実際問題として、いくつかの潜在的誤差の源が存在し、これらの誤差の源は転送されたビデオ信号に影響を与える可能性があり、復号化されたビデオ信号が原ビデオ信号とは異なるものとなる可能性がある。このような伝送エラーの影響を最小限にするための誤差訂正メカニズムが開発されている。
【0061】
ビデオ・モニタ25上に復号化されたビデオ信号の表示を行うこと及び/又は記憶手段26の中へ該ビデオ信号を記憶することが可能である。
【0062】
図7は、本発明の好適な実施例によるビデオ符号化装置27を簡略に示すものである。当該端末装置は伝送及び受信の双方に適したものであるが、本発明は単純な端末装置と接続して利用することも可能である。ビデオ符号化装置27では、図7のブロック図に提示されているすべての機能特性は必ずしも必要ではないが、本発明の範囲内で、例えばキーボード28とオーディオ手段29とが設けられていないさらに単純なビデオ符号化装置27を利用することも可能である。前記キーボード28とオーディオ手段29とに加えて、ビデオ端末装置は、ビデオ・モニタ25、ビデオカメラ19またはその類のビデオ手段も具備する。
【0063】
ビデオ符号化装置27の機能を制御するために、ビデオ符号化装置27は制御ユニット30を具備し、この制御ユニット30は、例えば、マイクロ制御用ユニット(MCU)、マイクロ処理用ユニット(MPU)、デジタル信号プロセッサ及び/又はその類のものを具備する。さらに、制御ユニット30には、例えばアプリケーション・プログラムとデータとを記憶する記憶手段34と、制御ユニット30と別の機能ブロックとの間で信号を伝送するためのバス・インターフェース手段I/Oとが含まれる。ビデオ符号化装置27は、ビデオ情報の符号化/復号化及び圧縮/伸長を行うビデオ・コーデック32も具備する。圧縮はDCT変換と量子化などに基づいて行われ、その場合、伸長段階で、公知のように受信情報が逆量子化され、逆DCT変換が行われる。チャネル・コーデック33により伝送対象情報のチャネル符号化と、受信情報のチャネル復号化とが行われる。移動通信手段31などによりチャネル符号化ビデオ信号の伝送を行うことが可能である。
【0064】
本発明が、単に前記の実施例のみに限定されるものではなく、特許請求の範囲内で修正が可能であることは言うまでもない。
【図面の簡単な説明】
【図1】従来技術のSAD計算手段を示す簡略なブロック図である。
【図2】従来技術のSAD計算手段の従来技術のDS(差分符号)ユニットの構造を示す簡略なブロック図である。
【図3】本発明によるSADの計算手段を示す簡略なブロック図である。
【図4】本発明の好適な実施例によるSADの計算手段のDSユニットの構造を示す簡略なブロック図である。
【図5】(a)は、本発明の好適な実施例によるSAD計算手段の第1パイプライン段の入力レジスタの処理サイクルを示すタイミング図であり、(b)は、本発明の好適な実施例によるSAD計算手段の計算ユニットの処理サイクルを示すタイミング図であり、(c)は、本発明の好適な実施例によるSAD計算手段の第1パイプライン段のマルチプレクサの処理サイクルを示すタイミング図である。
【図6】本発明の好適な実施例によるSAD計算手段を示す簡略なブロック図である。
【図7】本発明の好適な実施例による通信装置を示す簡略なブロック図である。
【図8】本発明の好適な実施例によるビデオ伝送システムを示す簡略なブロック図である。
【図9】ビデオ符号化時にビデオの動き予測を実行する方法を示す図である。
【符号の説明】
1…SAD計算手段
2…計算ユニット
3…グループ
4…マルチプレクサ
5…マルチプレクサ
6…圧縮アレイ
7…第1パイプライン段の入力レジスタ
8…第1パイプライン段の出力レジスタ
9…合計出力
10…桁上げ出力
11…出力レジスタ
12…加算器
13…最小値評価装置
14…最小値
P1、P2、P3、P4…パイプライン段

Claims (18)

  1. ビデオ符号化時にビデオの動き予測を実行する方法であって、フレーム(FR1、FR2)からビデオ信号を構成し、ビデオ・フレームはブロック(X,Y,Y’)を含み、符号化対象フレーム(FR1)の現在のビデオ・ブロック(X)と、別のフレーム(FR2)の少なくとも1つの別のビデオ・ブロック(Y,Y’)とを用いることにより、組み合わされた比較値を形成し、さらに、前記符号化対象フレーム(FR1)の前記現在のビデオ・ブロック(X)が第1のデータ値のセット({x1,…,xK})を含み、別のフレーム(FR2)の前記少なくとも1つの別のビデオ・ブロック(Y,Y’)が第2のデータ値のセット({y1,…,yK})を含み、前記第1のデータ値のセット({x1,…,xK})から得られるデータ値と、前記第2のデータ値のセット({y1,…,yK})から得られる等しい数の対応するデータ値とからデータ値対を形成し、前記データ値対の1つのデータ値対のデータ値を用いることにより前記比較値の各々を定めることによって前記組み合わされた比較値を形成し、さらに、前記データ値対を少なくとも2つのデータ値対のサブセットに分割し、各サブセットに等しい数のデータ値対を含め、前記サブセットに含まれるデータ値の対同士の比較値を複数の計算ユニットからなる計算ユニットの組によって計算する、ビデオの動き予測を実行する方法において、
    データ値対の複数のサブセットについての比較値の計算を、計算開始時間が所定の時間間隔づつ離れた異なる組の前記計算ユニットによって並列に行い、
    前記異なる計算ユニットの組のうちから、前記比較値の計算を完了した組をマルチプレクサにより選択する、
    ことを特徴とする方法。
  2. 請求項1に記載の方法において、データ値対間の差分を計算することにより比較値を定めることを特徴とする方法。
  3. 請求項2に記載の方法において、データ値対の各サブセットの各データ値対について比較値を定めることを特徴とする方法。
  4. 請求項1、2または3のいずれか一項に記載の方法において、前記比較値を合計することにより前記組み合わされた比較値を定めることを特徴とする方法。
  5. 請求項1乃至4のいずれか一項に記載の方法において、前記所定の時間間隔で前記サブセットを入力することを特徴とする方法。
  6. 請求項5に記載の方法において、前記計算ユニットは1つの比較値の計算を、前記異なる組の計算ユニットにより並列して計算される演算数に前記所定の時間間隔を乗じた時間よりも短い時間で行う計算ユニットであることを特徴とする方法。
  7. 請求項1乃至6のいずれか一項に記載の方法において、符号化対象フレーム(FR1)の現在のビデオ・ブロック(X)と、別のフレーム(FR2)のビデオ・ブロック(Y,Y’)との間で、記組み合わされた比較値を計算し、さらに、動き予測のために最小の組み合わされた比較値を生成する別のフレーム(FR2)のブロックを選択することを特徴とする方法。
  8. 請求項1乃至7のいずれか一項に記載の方法において、各ブロックが16行×16個の画素データ値を含み、16個の画素データ値の対から成る16個のサブセットに記画素データ値を分割し、各サブセットについて16個の比較値を定め、256個の比較値を組み合わせることにより前記組み合わされた比較値を定めることを特徴とする方法。
  9. 請求項1乃至7のいずれか一項に記載の方法において、各ブロックが16行×16画素のデータ値を含み、1つのブロック(X)の画素データ値が、別のブロック(Y)の16×16の画素データ値と対を成し、各々4個の画素データ値の対から成る64のサブセットD1、D2…、D64記画素データ値の対を分割し、記サブセット値の対Di(i=1,2,…,64)についての比較値の計算を処理ステップt=i+1で開始し、処理ステップt=i+4で完了し、前記64個のサブセットD1,D2…,D64について計算された比較値を組み合わせることにより、前記組み合わされた比較値を定め、その場合、記サブセットDi、(i=1,2,…,64)比較値の組み合せを処理ステップt=i+5で実行することを特徴とする方法。
  10. ブロック(X,Y,Y’)を含むフレーム(FR1、FR2)からビデオ信号を構成する、ビデオ符号化時にビデオの動き予測を実行するためのシステムであり、符号化対象フレーム(FR1)の現在のビデオ・ブロック(X)と、別のフレーム(FR2)の少なくとも1つの別のビデオ・ブロック(Y,Y’)とにより、組み合わされた比較値を形成する手段(1)を具備するシステムであって、前記符号化対象フレーム(FR1)の前記現在のビデオ・ブロック(X)は第1のデータ値のセット({x1,…,xK})を含み、別のフレーム(FR2)の前記少なくとも1つの別のビデオ・ブロック(Y,Y’)は第2のデータ値のセット({y1,…,yK})を含み、
    組み合わされた比較値を形成する前記手段(1)は、前記第1のデータ値のセット({x1,…,xK})から得られるデータ値と、前記第2のデータ値のセット({y1,…,yK})から得られる等しい数の対応するデータ値と、の等しい数のデータ値対からそれぞれ成る、一連の少なくとも2つのサブセットを入力する入力手段と、
    前記サブセットに含まれるデータ値の対同士の比較値を計算する複数の計算ユニット(2)からなる計算ユニットの組と、
    を具備するシステムにおいて、
    複数の前記サブセットについての比較値の計算を並列に行う、互いに計算開始時間が所定の時間間隔づつ離れた複数個の前記計算ユニットの組と、
    前記複数個の計算ユニットの組のうちから、前記比較値の計算を完了した組を選択するマルチプレクサ(4、5)と、
    を備えることを特徴とするシステム。
  11. 請求項10に記載のシステムにおいて、組み合わされた比較値の計算を実行する前記手段(1)が計算ユニットからなるs個のグループ(3)を含み、各グループ(3)が、
    p個の計算ユニット(2)と、
    一度に1つのデータ値対を入力する一対の入力手段と、
    マルチプレクサ(4、5)と、
    レジスタ(7、8)と、を具備し、
    その場合、前記比較値の計算を行うために、s対のデータ値からなる前記サブセットを前記グループ(3)のs対の入力手段へ入力し、グループ(3)へ入力される一連の値の対を前記グループ(3)の前記計算ユニット(2)の間で適時配分して、前回のデータ値対に対する計算の後で、かつ、前回のデータ値対に対する計算の完了前に、すべての次のデータ値対についての比較値の計算を開始するように構成されることを特徴とするシステム。
  12. 請求項10または11に記載のシステムにおいて、比較値を定める前記手段(2)が1対の値の間の差分を計算する手段を具備することを特徴とするシステム。
  13. 請求項10乃至12のいずれか一項に記載のシステムにおいて、組み合わされた比較値を定める手段(1)が圧縮アレイ(6)を具備することを特徴とするシステム。
  14. 請求項13に記載のシステムにおいて、記圧縮アレイ(6)に比較値を入力する入力数が記計算ユニット(2)の数よりも少ないことを特徴とするシステム。
  15. 請求項10乃至14のいずれか一項に記載のシステムにおいて、記ビデオ・ブロックをK個のデータ値から構成し、記システムが計算ユニット(2)から成るs個のグループ(3)を具備し、各グループ(3)はp個の計算ユニット(2)を具備し、1より大きい所定の整数であるpに対して、K=s×pとなるように記値sとpとを選択することを特徴とするシステム。
  16. 請求項10乃至15のいずれか一項に記載のシステムにおいて、組み合わされた比較値を定める前記手段(1)が加算手段(12)を具備することを特徴とするシステム。
  17. ビデオ符号化装置であって、ブロック(X,Y,Y’)を含むフレーム(FR1、FR2)からなるビデオ信号を符号化する手段(32)と、ビデオの動き予測を実行する手段(32)と、符号化対象フレーム(FR1)の現在のビデオ・ブロック(X)と、別のフレーム(FR2)の少なくとも1つの別のビデオ・ブロック(Y,Y’)との間で、組み合わされた比較値を計算する手段(1)を具備し、前記符号化対象フレーム(FR1)の前記現在のビデオ・ブロック(X)は第1のデータ値のセット({x1,…,xK})を含み、別のフレーム(FR2)の前記少なくとも1つの別のビデオ・ブロック(Y,Y’)は第2のデータ値のセット({y1,…,yK})を含み、
    組み合わされた比較値を形成する前記手段(1)は、前記第1のデータ値のセット({x1,…,xK})から得られるデータ値と、前記第2のデータ値のセット({y1,…,yK})から得られる等しい数の対応するデータ値と、の等しい数のデータ値対からそれぞれ成る、一連の少なくとも2つのサブセットを入力する入力手段と、
    前記サブセットに含まれるデータ値の対同士の比較値を計算する複数の計算ユニット(2)からなる計算ユニットの組と、
    を具備する装置において、
    複数の前記サブセットについての比較値の計算を並列に行う、互いに計算開始時間が所定の時間間隔づつ離れた複数個の前記計算ユニットの組と、
    前記複数個の計算ユニットの組のうちから、前記比較値の計算を完了した組を選択するマルチプレクサ(4、5)と、
    を備えることを特徴とする装置。
  18. 請求項17に記載の装置において、移動通信を実行する手段(31)を具備することを特徴とする装置。
JP2002260042A 2001-09-06 2002-09-05 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置 Expired - Fee Related JP4188647B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JP2003111084A JP2003111084A (ja) 2003-04-11
JP4188647B2 true JP4188647B2 (ja) 2008-11-26

Family

ID=8561852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002260042A Expired - Fee Related JP4188647B2 (ja) 2001-09-06 2002-09-05 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置

Country Status (4)

Country Link
US (2) US7031389B2 (ja)
EP (1) EP1315381A1 (ja)
JP (1) JP4188647B2 (ja)
FI (1) FI110909B (ja)

Families Citing this family (16)

* 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
US7720151B2 (en) * 2003-02-11 2010-05-18 Texas Instruments Incorporated Motion estimation using early decision for goodness of estimation with quick convergence feedback
US7668204B2 (en) * 2003-11-19 2010-02-23 Honeywell International Inc. Port driven authentication in a network
US20050175099A1 (en) * 2004-02-06 2005-08-11 Nokia Corporation Transcoder and associated system, method and computer program product for low-complexity reduced resolution transcoding
FI117956B (fi) * 2005-04-15 2007-04-30 Timo D Haemaelaeinen Piiri ja menetelmä erojen itseisarvojen summan laskemiseksi nopeasti ja tehokkaasti
US7929599B2 (en) * 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US8358693B2 (en) 2006-07-14 2013-01-22 Microsoft Corporation Encoding visual data with computation scheduling and allocation
US20080018788A1 (en) * 2006-07-20 2008-01-24 Samsung Electronics Co., Ltd. Methods and systems of deinterlacing using super resolution technology
US8311102B2 (en) * 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8340193B2 (en) * 2006-08-04 2012-12-25 Microsoft Corporation Wyner-Ziv and wavelet video coding
US8090019B2 (en) * 2006-09-08 2012-01-03 Jiun-In Guo Intra prediction circuit device applied to the H.264 video coding standard
US7388521B2 (en) * 2006-10-02 2008-06-17 Microsoft Corporation Request bits estimation for a Wyner-Ziv codec
US8340192B2 (en) * 2007-05-25 2012-12-25 Microsoft Corporation Wyner-Ziv coding with multiple side information
US8131788B1 (en) * 2007-08-06 2012-03-06 Xilinx, Inc. Determining sum of absolute differences in parallel
KR20120090109A (ko) * 2010-12-30 2012-08-17 한국전자통신연구원 복수의 디지털 입력신호에서 최대값 또는 최소값을 획득하는 장치 및 방법
US20160148681A1 (en) * 2014-11-20 2016-05-26 Infineon Technologies Ag Parallel forming of memory cells

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561475A (en) * 1994-12-30 1996-10-01 Daewoo Electronics Co., Ltd. Variable block matching motion estimation apparatus
US5987178A (en) * 1996-02-22 1999-11-16 Lucent Technologies, Inc. Apparatus and method for a programmable video motion estimator
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
US5652625A (en) * 1996-06-19 1997-07-29 United Microelectronics Corp. Multi-stage pipeline architecture for motion estimation block matching
JP3019787B2 (ja) * 1996-09-20 2000-03-13 日本電気株式会社 動きベクトル検出装置
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
US6122320A (en) * 1997-03-14 2000-09-19 Cselt-Centro Studi E Laboratori Telecomunicazioni S.P.A. Circuit for motion estimation in digitized video sequence encoders
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
IT1309846B1 (it) 1999-04-19 2002-02-05 Consiglio Nazionale Ricerche Metodo di stima del moto in una sequenza video mediante tecnica diblock-matching con full search e architettura programmabile a bassa
KR100407691B1 (ko) * 2000-12-21 2003-12-01 한국전자통신연구원 계층탐색을 이용한 움직임 추정장치 및 방법
FI110744B (fi) * 2001-09-06 2003-03-14 Nokia Corp Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
FI110909B (fi) * 2001-09-06 2003-04-15 Nokia Corp Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite

Also Published As

Publication number Publication date
FI110909B (fi) 2003-04-15
US20030118103A1 (en) 2003-06-26
FI20011768A0 (fi) 2001-09-06
US20060098736A1 (en) 2006-05-11
EP1315381A1 (en) 2003-05-28
JP2003111084A (ja) 2003-04-11
US7031389B2 (en) 2006-04-18
US7486733B2 (en) 2009-02-03

Similar Documents

Publication Publication Date Title
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
US5825680A (en) Method and apparatus for performing fast division
KR101013344B1 (ko) 이산 코사인 변환의 계산 중의 에러 감소
JP2012070461A (ja) ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
US6473529B1 (en) Sum-of-absolute-difference calculator for motion estimation using inversion and carry compensation with full and half-adders
JP4924904B2 (ja) データフレームのシーケンスの効率的な符号化/復号
US7730116B2 (en) Method and system for fast implementation of an approximation of a discrete cosine transform
US20210136381A1 (en) Video coding method and apparatus, computer-readable storage medium
RU2419855C2 (ru) Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования
US20040008779A1 (en) Techniques for video encoding and decoding
CN108810549B (zh) 一种面向低功耗的流媒体播放方法
US7274825B1 (en) Image matching using pixel-depth reduction before image comparison
KR20010072420A (ko) 이미지 프로세싱 동안에 2차원 변환을 실행하기 위한 회로및 방법
Li et al. Serial and parallel FPGA-based variable block size motion estimation processors
WO2023245460A1 (en) Neural network codec with hybrid entropy model and flexible quantization
US20050131979A1 (en) Apparatus for calculating absolute difference value, and motion estimation apparatus and motion picture encoding apparatus which use the apparatus for calculating the absolute difference value
KR101035746B1 (ko) 동영상 인코더와 동영상 디코더에서의 분산적 움직임 예측 방법
JP4034793B2 (ja) 補完映像を生成してデブロッキング処理に用いる映像圧縮装置及び方法
TWI402771B (zh) 應用於多核心處理器之快速整數離散餘弦轉換方法
WO2006108912A1 (en) Circuit and method for computing a sum of absolute differences fast and effectively
Konstantinides Key Components in the design of image and video compression ICs
JP2002516529A (ja) ピクチャシーケンスとして構成された情報ストリームの符号化
EP1684525A2 (en) Video encoding with fast motion estimation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051027

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070614

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080911

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees