JP2005502285A - 連続する画像を符号化する方法および装置 - Google Patents

連続する画像を符号化する方法および装置 Download PDF

Info

Publication number
JP2005502285A
JP2005502285A JP2003526162A JP2003526162A JP2005502285A JP 2005502285 A JP2005502285 A JP 2005502285A JP 2003526162 A JP2003526162 A JP 2003526162A JP 2003526162 A JP2003526162 A JP 2003526162A JP 2005502285 A JP2005502285 A JP 2005502285A
Authority
JP
Japan
Prior art keywords
block
encoded
theoretic
cost function
transform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003526162A
Other languages
English (en)
Inventor
トイボネン ツッカ
ヘイキラ ジャンネ
シルベン オリ
Original Assignee
オウルン イリオピスト
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 オウルン イリオピスト filed Critical オウルン イリオピスト
Publication of JP2005502285A publication Critical patent/JP2005502285A/ja
Pending 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
    • 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/547Motion estimation performed in a transform domain

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)

Abstract

本発明は、連続する画像を符号化する方法および装置に関する。この方法は、参照画像の検索領域を定義するステップ(600)と、各動きベクトル候補のコスト関数を計算するステップ(602)とを含む。次いで、符号化されるべきブロックが、最低コスト関数値を与える動きベクトル候補を使用して符号化される(614)。コスト関数の計算(602)では、符号化されるべきブロックと候補ブロックに対して数論変換が実行され(604、606)、符号化されるべきブロックと変換済み候補ブロックとの間で乗算が実行され(608)、乗算の結果に対して数論変換の逆変換を実行することによって、符号化されるべきブロックと候補ブロックとの間の相関が構成され(610)、構成された相関がコスト関数の計算に使用される(612)。

Description

【技術分野】
【0001】
本発明は、連続する画像を符号化する方法および装置に関する。
【背景技術】
【0002】
ビデオ画像など、連続する画像の符号化は、画像をより効率的にメモリ手段に記憶出来、または画像をデータリンクによって転送出来るようにデータ量を低減するために使用される。ビデオ符号化標準の1例はMPEG−4(Moving Pictures Experts Group)である。352×288ピクセルのcifサイズや176×144ピクセルのqcifサイズなど様々な画像サイズがある。
【0003】
一般に、個々の画像は複数のブロックに分割され、ブロックのサイズはシステムに適するように選択される。ブロックは、一般に、輝度、色、および場所に関する情報を含んでいる。ブロックデータは所望の符号化法によってブロック専用に圧縮される。圧縮は重要でないデータの削除に基づいている。圧縮方法は、主として、スペクトラル冗長低減、空間冗長低減、および時間冗長低減の3つのカテゴリに分類される。通常、圧縮のためにはこれらの方法の異なる組み合わせが使用される。
【0004】
スペクトラル冗長を低減するには、例えばYUV色モデルなどが使用される。YUV色モデルは、人間の目が輝度クロミナンスの変化すなわち色の変化よりも輝度の変動の方により感受性が高いという事実を利用する。YUVモデルは1つの輝度成分(Y)と2つのクロミナンス成分(U、V)とを有する。例えば、H.263ビデオ符号化標準に準拠する輝度ブロックは16×16ピクセルであり、クロミナンスブロックはどちらも輝度ブロックと同じ面積をカバーして8×8ピクセルである。1つの輝度ブロックと2つのクロミナンスブロックの組み合わせはマクロブロックと呼ばれる。輝度ブロックとクロミナンスブロックにある各ピクセルは0と255の間の値をとることができる。すなわち、1ピクセルを表すには8ビットが必要となる。例えば、輝度ピクセルの値0は黒を表し、値255は白を表す。
【0005】
空間冗長を低減するために、例えば離散コサイン変換(DCT)が使用される。離散コサイン変換では、ブロックのピクセル表現は空間周波数表現に変換される。さらに、画像ブロックでは、その中にある信号周波数だけが高振幅係数を有し、当該ブロックにない信号は0に近い係数を有する。離散コサイン変換は、原則として可逆変換であり、信号は量子化でのみ干渉を受ける。
【0006】
時間冗長は、連続する画像が一般に類似しているという事実を利用して低減される。したがって個々の画像を圧縮する代わりにそのブロックの動きデータが生成される。これは動き補償と呼ばれる。実現可能な程度に良好なあらかじめ符号化された参照ブロックが、あらかじめメモリに記憶されている参照画像に符号化されるべきブロックを求めて検索され、参照ブロックと符号化されるべきブロックとの間の動きがモデル化され、計算された動きベクトルが受信装置に送られる。符号化されるべきブロックと参照ブロックとの相違は誤り因子として表現される。このような符号化は、同じ画像シーケンスの画像間の類似点を利用することを意味するインター符号化と呼ばれる。
【0007】
この応用例では、最良の動きベクトルを求める問題点が強調されている。通常、検索領域は参照画像に対して決定され、符号化されるべき現在の画像にあるブロックと類似のブロックがその検索領域から検索される。最良の一致は、例えば検索領域内のブロックと符号化されるべきブロックのピクセルの間の絶対差の和(SAD)など、コスト関数を計算することによって求められる。
【0008】
従来技術ではフル検索が使用される。すなわち、すべての、もしくはほとんどすべての実現可能な動きベクトルは動きベクトルの候補として設定されている。フル検索は、略語であるESA(徹底検索アルゴリズム)としても知られている。フル検索を使用する際の問題は多数の計算が要求されるということである。例えば、検索領域のサイズが48×48ピクセルであり、それによって1ピクセルの精度で実現可能な動きベクトル数が32×32、輝度ブロックのサイズが16×16ピクセルの場合、絶対差分の1つの合計の計算には16×16=256の計算が要求され、実現可能な動きベクトルすべての絶対差分合計の計算にはマクロブロックあたり合計32×32×256=262 144の計算が要求される。例えば、cifサイズの画像は396のマクロブロックを有する。すなわち、396×262 144=103 809 024の計算がある。ビデオ画像は、一般に15画像/秒を含んでおり、動きベクトルを求めるために、秒あたりに要求される計算数は15×103 809 024=155 713 5360である。
【0009】
動きベクトル候補数が徹底的に低減される様々な検索方法を使用することによって、計算数を低減する試みがなされてきた。例えば、TSS(3ステップ検索)法では、絶対差分の和は、3つの異なるラウンド中に8つの動きベクトルに対してのみ検索領域の異なる部分から計算され、各ラウンドの検索領域が低減され、これにより計算数は1マクロブロックあたり3×8×256=6144の計算に低減される。この場合、最良の結果をもたらす動きベクトルが連続して選択され、その周囲にはより小さい検索領域が形成され、次いでそこから最良の動きベクトルが検索される。この解決策の問題は、検索領域がフル検索の場合よりも小さいということであり、仮に最初の段階で誤った進路に従って検索が開始された場合、この方法は不満足な結果を提供する。
【0010】
画像品質を犠牲にして計算数が低減される他の方法は、TDL(2−Dログ検索)、クロス検索、および1−Dフル検索を含む。符号化されるべき画像によって計算数が変動する非決定論的方法は、SEA(連続消去アルゴリズム)およびPDE(部分歪曲消去)を含む。
【発明の開示】
【発明が解決しようとする課題】
【0011】
参照により本明細書に組み込んだ米国特許出願第5 535 288号は、計算が少なく、フル検索と同等のよい結果をもたらす方法を開示する。重畳積分定理によれば、フーリエ変換で重畳および相関を計算することができる。使用されるフーリエ変換の計算が浮動小数点算術および2成分の複素数を必要とするので、使用されるフーリエ変換が解決策の問題である。問題の計算を、特に特定用途向け集積回路(ASIC)を使用して実施することは非効率的であり、これはそのような回路を使用する装置の電力消費量を増加させる。問題は、例えば移動電話システムなど、無線システムのマルチメディア端末で特に大きい。
【課題を解決するための手段】
【0012】
本発明の目的は、改善された方法および改善された装置を提供することである。本発明の一態様として、請求項1に記載の方法が提供されている。本発明の一態様として、請求項13に記載の装置が提供されている。本発明の他の好ましい実施形態は従属項で開示される。
【0013】
本発明は、フーリエ変換の代わりに数論変換を使用し、その処理は1成分の整数を使用することしか必要としないという考えに基づいている。
【0014】
本発明による解決策は、特にマルチメディア端末に対する効率的な特定用途向け集積回路の実施を容易にする。
【発明を実施するための最良の形態】
【0015】
本発明の好ましい実施形態を添付の図面を参照して1例として説明する。
【0016】
図1を参照して、ビデオ画像を符号化し、復号するための装置を説明する。当業者には、ビデオ符号化は本明細書に組み込まれた著作物、Vasudev Bhaskaran and Konstantinos Konstatinides:‘Image and Video Compressing Stanndards−Algorithms and Architectures,Second Edition’Kluwer Academic Publishers 1997,Chapter6:‘The MPEG video standards’など、標準およびテキストによってよく知られているので、説明を簡約化している。ビデオ画像はカメラ100で個々の連続する画像から構成される。カメラ100を使用すると、画像をピクセルで表現する行列が構成され、例えば輝度とクロミナンスが独自の行列を有する最初に説明された方法などの構成である。画像をピクセルで表現するデータフローは符号器102に取り込まれる。当然ながら、データフローが、例えばデータ伝送接続に沿って、またはコンピュータのメモリ手段から符号器102で受け取ることができる場合、そのような装置も構築することができる。したがって、未圧縮のビデオ画像が、転送するため、または記憶するためなどに符号器102で圧縮されるのが本発明である。符号器102によって形成された圧縮ビデオ画像はチャネル106を使用して復号器108に送られる。
【0017】
符号器102で、各ブロックは離散コサイン変換され、量子化される。すなわち、原則として各要素が定数によって分割される。定数は異なるマクロブロックの間で変動しうる。除数が計算される量子化パラメータは一般に1と31の間である。0はチャネルには送られないので、ブロック内で得られる0が多いほど、そのブロックはより圧縮される。量子化されたブロックに対して異なる符号化法をさらに実行することができ、最終的にそれらから1つのビットストリームが構成され、復号器110に送られる。逆量子化および逆離散コサイン変換はなお符号器102内の量子化されたブロックに対して実行され、したがって次の画像のブロックを予測できる参照画像が形成される。この後、符号器は入ってくるブロックと参照ブロックの間の差分データならびに動きベクトルを送る。このようにして、圧縮効率は改善される。そのビットストリームの圧縮解除および圧縮法の後、復号器110は、原則として参照画像が形成される時に符号器102が行ったのと同様に行う。すなわち、それらのブロックに対して同じ演算が符号器102の場合とは逆の順番で実行される。
【0018】
当業者にはチャネル106の異なる実施態様のオプションは明らかなので、本明細書ではチャネル106がどのように実施されるかは記載しない。チャネル106は、例えば固定であっても無線データ伝送接続であってもよい。チャネル106はまた、ビデオ画像をレーザディスクのようなメモリ手段に記憶し、次いでビデオ画像をメモリ手段から読み取り、復号器108で処理する伝送経路として解釈してもよい。圧縮ビデオ画像を、例えば図1に示すチャネル符号器104でチャネル106に送るために他の符号化を使用することもできる。チャネル符号化はチャネル復号器108で復号される。静止画像から構成され、復号器110で復号されるビデオ画像はディスプレイ112上に表示することができる。
【0019】
符号器102および復号器110を、例えばコンピュータ内、移動局のような異なる無線システムの加入者端末内、またはビデオ画像を処理することが望まれる他の装置など、異なる装置に配置することができる。符号器102および復号器110は同じ装置に結合することができる。その場合、それはビデオコーデックと呼ばれる。
【0020】
図2は、ビデオ画像を符号化する装置、すなわち符号器102をより詳細に示す。ビデオ動画像200は符号器102に入れられ、一時的にフレームバッファ224内に画像ごとに記憶することができる。最初の画像はイントラ画像と呼ばれる。すなわち、それは離散コサイン変換ブロック204および量子化ブロック206で処理されるが、それが時間冗長を低減するための符号化は実行されない。最初の画像の後でも、例えば十分に良好な動きベクトルが求められなかった場合などはイントラ画像を送ることができる。
【0021】
次の画像が処理されると、時間冗長を低減するために符号化を開始することができる。その場合、参照画像は逆量子化ブロック208で逆量子化され、またそれに対して逆離散コサイン変換ブロック210で逆離散コサイン変換が実行される。前画像に対して動きベクトルが既に計算されている場合、その効果は手段212で画像に追加される。このようにして、再構築された前画像がフレームバッファ214に記憶される。すなわち、前画像は復号器110で実行された処理後の形式をとっている。したがって、カメラからの現在の画像を記憶するための第1のフレームバッファ224と、再構築された前画像を記憶するための第2のフレームバッファ214の2つのフレームバッファがあってよい。
【0022】
次いで前の再構築された画像がフレームバッファ214から動き推定ブロック216に取り込まれる。同様にして、符号化されるべき現在の画像が動き推定ブロック216に取り込まれる。次いで動き推定ブロック216では、現在の画像のブロックと一致する前画像のブロックを発見することを目的として、時間冗長を低減するために検索が実行される。これらのブロック間の置換は動きベクトルとして表現される。
【0023】
求められた動きベクトルは動き補償ブロック218に、また可変長符号器220に取り込まれる。フレームバッファ214からの前の再構築された画像も動き補償ブロック218に取り込まれる。前の再構築された画像と動きベクトルとに基づいて、補償ブロック218は前画像で発見されたブロックを手段202および212に送る方法を知る。前画像で発見されたブロックが手段202によって符号化されるべき現在の画像から、より正確にはその少なくとも1ブロックから差し引かれる。したがって、現在の画像からの、より正確にはその少なくとも1ブロックからの符号化されるべき誤り因子は残っており、その誤り因子は離散コサイン変換され、量子化される。
【0024】
すなわち、可変長符号器220は、離散コサイン変換され、量子化された誤り因子228および動きベクトル226を入力として受け取る。したがって、現在の画像を表している圧縮データが符号器102の出力222から取り込まれるが、その圧縮データは、表現として1つまたは複数の動きベクトルおよび1つまたは複数の誤差項を使用して参照画像に対する現在の画像を表している。動き推定は輝度ブロックを使用して実行されるが、符号化されるべき誤り因子は輝度ブロックおよびクロミナンスブロックの両方について計算される。
【0025】
次に、図5の流れ図を参照して、連続する画像を符号化する方法を説明する。符号化は、時間冗長を低減するという観点から具体的に説明し、この文脈では冗長性を低減する他の方法は説明しない。この方法の実施はブロック500で開始されるが、そこで符号器102が最初のイントラ画像を符号化する。ブロック502で、フレームメモリ224から次の画像が取ってこられる。ブロック504で、符号化されるべき画像は複数のブロックに分割される。例えば、cif画像は396のマクロブロックに分割される。ブロック506では、符号化されるべき次のブロックが選択される。次いでブロック508で、符号化されるべきブロックの動きベクトルが検索される。ブロック510で、符号化されるべきブロックが残っているか否かがテストされる。符号化されるべきブロックがある場合、矢印512に従ってブロック506に移動する。符号化されるべきブロックがない場合、矢印514に従ってブロック516に移動する。ブロック516で、符号化されるべき画像が残っているか否かがテストされる。符号化されるべき画像がある場合、矢印518に従ってブロック502に移動する。符号化するべき画像がない場合、矢印520に従ってブロック522に移動し、そこで方法は完了する。
【0026】
図6では、図5のブロック508の内容、すなわち符号化されるべきブロックの動きベクトルの検索をより詳細に説明する。ブロック600で、検索領域が参照画像に対して定義され、そこから現在の画像で符号化されるべきブロックが検索される。参照画像は、符号化されるべき画像の直前または符号化されるべき画像の前の複数の画像のうちの1つであってよい。
【0027】
図3は、2つの連続する静止画像を示している。すなわち、符号化されるべき現在の画像300を左に、参照画像304を右に示している。画像はcifサイズである。すなわち、それぞれが16×16ピクセルのサイズである22×18=396輝度マクロブロックを有している。クロミナンスブロックは一般に8×8ピクセルのサイズだが、クロミナンスブロックは動きベクトルの推定には利用しないので図3には示さない。
【0028】
符号化されるべき画像300ではブロック302を符号化されるべきものと仮定する。参照画像304では、48×48ピクセルのサイズの検索領域306は、符号化されるべきブロック302の周囲に形成される。検索領域のサイズは、本発明者らの実施例では9ブロックのサイズである。したがって、実現可能な動きベクトル数、すなわち動きベクトル候補は32×32である。
【0029】
次いで検索領域306では、符号化されるべきブロック302に対応するブロック308が発見される。図4では、左端から順に、ブロック302、検索領域306および符号化されるべきブロック302に対応するブロック308が拡大表示されている。図4で、右の画像要素は検索領域306内での符号化されるべきブロック302ならびに符号化されるべきブロック302に対応する発見ブロック308の位置を示す組み合わせ画像である。
【0030】
参照画像304で発見されたブロック308に対する符号化されるべきブロック302の動きは、動きベクトル400によって表現される。動きベクトルは、符号化されるべきブロック302の左上隅のピクセルの動きベクトルとして表現することができる。当然ながら、ブロック内の他のピクセルも、問題の動きベクトルの方向に移動する。
【0031】
画像の原点(0.0)は、一般に画像の左上隅のピクセルである。ビデオ符号化の用語では、右への移動は正、左へは負、上へは負、下へは正というように表現される。符号化されるべきブロック302の左上隅の座標はしたがって(128、112)である。検索領域306の左上隅の座標は(112、96)である。動きベクトル400は(−10、10)、すなわち動きはX軸左方に10ピクセル、およびY軸下方に10ピクセルである。
【0032】
ブロック600からブロック602に移動し、そこで各動きベクトル候補のコスト関数が計算されるが、動きベクトル候補は符号化されるべきブロック302と候補ブロック308との間の動きを決定する。したがって、ここではフル検索が使用される。すなわち、動きベクトル候補すべてのコスト関数が定義される。
【0033】
コスト関数としてSSD(2乗誤差の和)関数が使用される。その式は次の通りである。
【0034】
【数1】
Figure 2005502285
【0035】
【数2】
Figure 2005502285
【0036】
【数3】
Figure 2005502285
【0037】
【数4】
Figure 2005502285
項2は定数であり、計算する必要はない。何故ならば、本発明者らは、SSD関数の最小値には関心がなく、SSD関数が最小値を受け取るx値とy値を求めることに関心があるからである。
【0038】
項3は、従来技術によれば、比較的簡素な演算により異なる方法で計算することができる。例えば、参照として本明細書に組み込んだ文献、Yukihiro Naito、Takashi Miyazaki、Ichiro Kuroda、「A fast full−search motion estimation method for programmable processors with a multiply−accumulator」、IEEE International Coference on Acoustics、Speech、and Signal Processing、1996年である。
【0039】
項4は、次に説明する方法で計算される相関である。ブロック604で、符号化されるべきブロックに対して数論変換が実行される。次いでブロック606で、候補ブロックに対して数論変換が実行される。次にブロック608で、変換されるべきブロックと変換済み候補ブロックの間で乗算が実行される。ブロック610で、乗算結果に対する数論変換の逆変換を実行することにより、符号化されるべきブロックと候補ブロックから相関が形成される。ブロック612によれば、形成された相関がコスト関数の計算に使用される。すなわち式1の項4として使用される。
【0040】
数論変換(NTT)は次のように定義される。
【0041】
【数5】
Figure 2005502285
上式で、χは0とq−1(q−1を含む)の間の変換されるべきN個の整数であり、ωは変換の核、すなわち0とq−1の間の精選した1つの整数であり、Χは0とq−1の間の変換結果として受け取られた複数の整数である。すべての演算はqを法として行われる。
【0042】
数論変換の逆変換は次のように定義される。
【0043】
【数6】
Figure 2005502285
上式で、N―1は数論的にNの逆数である。すなわち、
【0044】
【数7】
Figure 2005502285
であり、同様にω−1は数論的にωの逆数である。必須ではないが、モジュラスqは素数であることが好ましい。
【0045】
ピクセルの値は0と255の間で変動するので、相関値は最高で次のようになりえる。
Figure 2005502285
【0046】
これは224よりも僅かに小さい。すなわち、qの値を表すには24ビットで十分である。
【0047】
最後に、ブロック614で、符号化されるべきブロック302はコスト関数の最低値を与える動きベクトル400を使用して符号化される。
【0048】
一実施形態では、Radix−2アルゴリズムまたはウィノグラードフーリエ変換アルゴリズム(WFTA)を使用して数論変換が実施される。当業者にはこれらのアルゴリズムはよく知られているので、これらの使用法について本明細書ではこれ以上詳しく説明しない。Radix−2アルゴリズムの使用法は、例えば参照により本明細書に組み込んだ記事、Digital filters and the fast Fourier transform、ISBN 0−470−53150−4のWilliam T.Cochran他著、What is the Fast Fourier Transformに記載されている。これらのアルゴリズムが使用される場合、次の値により良好な結果が得られる。数論変換のモジュラスを16777217とし、核を524160とするか、またはモジュラスを16777217とし、核を65520とするか、またはモジュラスを4294967297とし、核を4とするか、またはモジュラスを4294967297とし、核3221225473とする。
【0049】
一実施形態では、コスト関数の計算で符号化されるべきブロック302は、0要素を付加することによって1ピクセルが各動きベクトル候補に相当するサイズまで埋められる。これで直線相関が得られる。図7に示す方法で、本発明者らの実施例は、符号化されるべきブロック700のサイズを16×16ピクセルとして、32×32の動きベクトル候補を含んでいる。すなわち、符号化されるべきブロックの下に16行と、右側に16列の0要素、つまり0要素の3つのブロック702、704、706が追加される。符号化されるべきブロックの数論変換は、すべての列の左半分に対して最初に実行され、その後すべての行に対して実行される。すなわち本発明者らの実施例では、最初に16個の左側の列に対して、その後32の行すべてに対して行われる。項4を計算するためには直線相関が必要とされるが、重畳積分定理によれば循環畳み込み演算を受け取る場合がある。符号化されるべき変換済みブロック700を横方向と縦方向に反転することによって相関が受け取られる。これにより図7の右に示したブロックが得られ、符号化されるべきブロック700は4つのブロック710、712、714、716に分割される。本発明者らの実施例では、ブロック700は、原則として前のブロック302と同じだが、ブロック700の内容に対する反転効果を示すためにその中に異なる複数の線が引かれている。次に、少なくとも4つの変換済み候補ブロックが選択される。これは図8に示されており、そこには検索領域306および候補ブロック800、802、804、806が示されている。これらの候補ブロック800、802、804、806は0で埋められていないが、それでもそれらのサイズは32×32ピクセルであることに留意されたい。各ブロック800、802、804、806の面積の1/4が符号化されるべきブロック302にオーバーラップするように適切にオーバーラップされるようブロック800、802、804、806が選択される。各候補ブロック800、802、804、806に対して順に、符号化されるべき反転した変換済みブロックによって乗算が実行され、この乗算の各結果に対して数論変換の逆変換が実行され、この逆変換の結果は1つの相関に結合される。この変換領域ではブロック間の乗算は循環相関に対応するが、その循環性により、乗算の結果は折り返された誤りデータを16×16ピクセルのサイズの面積の空間領域の左隅以外ならばどこにでも含んでいる。数論変換の逆変換は、最初にすべての行に対して、その後すべての列の左半分に対して、すなわち本発明者らの実施例では最初に32行すべてに対して、その後16の左側の列に対して行われる。組み合わせの結果は、各動きベクトル候補に対応する相関値を含んでいる1つの32×32の相関行列である。
【0050】
数論変換は、数論変換に適応する48ポイントのウィノグラードフーリエ変換アルゴリズムを使用して実施することもできる。このアルゴリズムが使用される場合、次の値から良好な結果が得られる。数論変換のモジュラスを16777153とし、核を4575581とする。
【0051】
図9は、数論変換に適応する48ポイントのウィノグラードフーリエ変換アルゴリズムを使用したコスト関数の計算を示している。記載した関数は上記のブロック508内に置かれる。計算は、ブロック900で開始され、ブロック942で完了する。次いでこの計算は、並列計算としてその処理を実施可能な2つの並列の分岐に分割される。左の分岐では、図3に示した48×48ピクセルのサイズの検索領域306を意味する検索領域ブロックが処理される。右の分岐では、図3に示した符号化されるべきブロック302が処理される。このブロックは、0要素を付加することによって48×48ピクセルのサイズになるよう埋められている。
【0052】
ブロック902で、48×48ピクセルのサイズの検索領域ブロックが取ってこられ、48×48要素のサイズの行列に記憶される。ブロック904で、行列の各列および行が並べ替えられる。表1に、元の行列の列および行の位置を左側の列に、新しく並べ替えられた位置を右側の列に示す。
【0053】
例えば、列が並べ替えられる場合、3番目の列の2番目の行にある行列の要素(すなわち、インデックスは0から始まり、列が最初に示されるので、位置2,1)が最初に列34に移動される。この後、行が並べ替えられる際には、要素は行17に移動される。したがって最後に要素は位置34、17となる。すべての行列の要素は対応する方法で並べ替えられる。
【0054】
【表1】
Figure 2005502285
並べ替えに加え、行列に関する通常の計算規則を使用して、ブロック904で行列に左から定数行列A48が乗じられる。行列A48は次の式で得られる。
【0055】
【数8】
Figure 2005502285
である。
【0056】
効率を考慮して、検索領域ブロックに別個の並べ替えが必要ないように、並べ替えと行列A48による乗算とを組み合わせることができる。
【0057】
ブロック906では、行列に関する通常の計算規則を使用して、ブロック904の結果に右から定数行列B48が乗じられる。行列B48は次の式から得られる。
【0058】
【数9】
Figure 2005502285
である。
【0059】
ブロック908で、前のブロックの結果に右と左の両方から対角行列D48が乗じられる。対角値は使用される変換核によって異なる。この例では、核は4575581であり、これにより行列は次の式から受け取られる。
【0060】
【数10】
Figure 2005502285
上式で、行列D3の対角値は表3にあり、行列D16の対角値は表4にある。
【0061】
【表3】
Figure 2005502285
対角値を左と右の両方から乗じることは、1つの定数を各行列の要素に乗じる乗算に相当する。すなわち、乗じられるべき行列の各要素に1つの定数が連続2回乗じられる。これら2つの定数をあらかじめ掛け合わせておくことができる。これにより各要素に対して乗算が節約される。
【0062】
ブロック910で、前ブロックの結果に左から行列B48が乗じられ、ブロック912で、この結果に右から行列A48が乗じられる。並べ替え後に実行される演算を次の式によって数学的に表現することができる。
【0063】
【数11】
Figure 2005502285
上式で、xは並べ替えられた検索領域ブロックであり、yはブロック912の結果である。この結果は、並べ替えられた順番に残されることを除いて、検索領域ブロック306の数論変換である。
【0064】
【表4】
Figure 2005502285
ブロック914で、16×16のサイズの符号化されるべきブロックが取ってこられ、48×48要素の行列の左上隅に記憶される。他の行列の要素は0にセットされる。この行列内のブロックは、図7に示した原則に従い横方向と縦方向に反転される。
【0065】
ブロック916では、行列の各列と行がブロック904と同様の方法で並べ替えられる。この後、この列に行列A48が乗じられる(これは、並べ替えられた行列に左から行列A48が乗じられることに相当する)。並べ替えと行列A48による乗算は、実際には効率のために1つの演算として実行することができる。
【0066】
【表2】
Figure 2005502285
ブロック918で、前ブロックから1つの結果として受け取られた列に対角行列D48が乗じられる。これは、ブロック908におけるように係数を行列要素に乗算することに相当する。
【0067】
ブロック920では、列に行列B48が乗じられる。ブロック916、918、および920は、結果が並べ替えられた順番に残されることを除いて原則として列の数論変換を共に実行する。
【0068】
【表5】
Figure 2005502285
ブロック922では、行に行列A48が乗じられる(これは、行列A48の転置が右から乗じられることに相当する)。ブロック924では、前のブロックから結果として受け取られた行列の行に対角行列D48が乗じられる。
【0069】
ブロック926では、行に行列B48が乗じられる。ブロック922、924、および926は、結果が並べ替えられた順番に残されることを除いて原則として数論変換を共に実行する。
【0070】
ブロック928で、ブロック912および926から受け取られた不適切な順番の行列要素は、正しい順番に整えられ、後で並べ替えられる。正しい順番は表2から受け取られ、並べ替えは表1から受け取られる。これら2つの連続した演算を新しい種類の1つの並べ替えに結合することができる。さらに、2つの行列のそれぞれに対応する要素が相互に乗じられる。例えば、位置5、8でブロック912から受け取られた行列要素にブロック926から受け取られた行列要素5、8が乗じらる。
【0071】
ブロック930で、ブロック928の結果に左から行列A48が乗じられる。ブロック932で、行列に右から行列B48が乗じられる。
【0072】
ブロック934で、前ブロックの結果に右と左の両方から対角行列E48が乗じられる。対角値は使用される変換核によって異なる。この実施例では、これらは表5から受け取られる。2つの対角値を前もって掛け合わせておくことができる。この場合、各行列要素に対して乗算が節約される。
【0073】
ブロック936で、行列に左から行列B48が乗じられる。ブロック938で、右から行列A48による乗算が実行され、結果として受け取られた行列要素は表2に従って整えられる。ブロック930、932、934、936、および938は逆数論変換を共に実行する。
【0074】
結果として受け取られた行列は、32×32要素の面積で左上隅に検索領域ブロック306と符号化されるべきブロック302との間の相関を有する。ブロック940で、この相関は、コスト関数の計算、すなわち式1の項4として使用される。
【0075】
行列A3、A16、B3、およびB16による乗算を最適化されたアルゴリズムによって実行することができる。右から行列を乗算する場合、定数行列の転置のために推論されたアルゴリズムが使用される。これらのアルゴリズムは以下で得られる。上記テキストから外れて、得られたアルゴリズムのインデックスは(0ではなく)1から始まる。
【0076】
行列A3は、
Figure 2005502285
行列B3は、
Figure 2005502285
行列A3の転置は、
Figure 2005502285
行列B3の転置は、
Figure 2005502285
行列A16は、
Figure 2005502285
行列B16は、
Figure 2005502285
行列A16の転置は、
Figure 2005502285
行列B16の転置は、
Figure 2005502285
である。
【0077】
記載した数論変換に適応する48ポイントのウィノグラードフーリエ変換アルゴリズムの代わりに、数論変換に適応する24ポイントのウィノグラードフーリエ変換を使用することができる。この場合、数論変換のモジュラスおよび核を適切に選択する必要がある。次いで、符号化されるべきブロックは0要素を付加することによって24×24ピクセルのサイズになるよう埋められる。
【0078】
記載した方法は、動き推定ブロック216、また適宜、ブロック220のような動き推定ベクトル216に関する他のブロックを使用することによって図2に示す符号器で実行される。図2に示される符号器102のブロックを1つまたは複数の特定用途向け集積回路(ASIC)の1つとして実施することができる。別個の論理構成要素から構成された回路、またはソフトウェアを有するプロセッサなど、他の種類の実施態様も実現可能である。異なる実施態様の組み合わせも実現可能である。当業者は、装置のサイズおよび電力消費量、要求される処理効率、製造コストおよび生産規模によってセットされる要件を考慮する。
【0079】
以上、本発明を添付の図面により実施例を参照して説明したが、本発明はこれに制限されるものではなく、首記の特許請求の範囲の本発明の概念の範囲内で複数の方法で変化し得る。したがって、処理されるべき画像サイズはこの実施例で使用されるcifサイズからはずれることが出来、これは本発明の実施態様において重大な変化を生じる原因とはならない。符号化されるべきブロックのサイズおよび検索領域のサイズは、実施例に記載したサイズと異なってもよい。それでも尚、本発明は数論変換を使用して実施することができる。この実施例では、ブロックサイズは16×16であり検索領域サイズは48×48だが、例えば8×8および8×16のブロックサイズならびに24×24の検索領域サイズを使用することもできる。出願人の調査により、この実施例で提示されるモジュラスおよび核は適切だが、他の適切な値が存在することも確かである。例えば、モジュラス値は二進法で可能な限り1を少なくした素数であってよい。フェルマーの数(232+1)を使用することができるが、これはメモリが一般に32ビットであるのに対し、33ビットのメモリを必要とする。
【図面の簡単な説明】
【0080】
【図1】ビデオ画像を符号化し復号する装置を示す図である。
【図2】ビデオ画像を符号化する装置をより詳細に示す図である。
【図3】符号化されるべき現在の画像を左に、参照画像を右にして、連続する2つの画像を示す図である。
【図4】さらに動きベクトルが求められる、図3の詳細を拡大した図である。
【図5】ビデオ画像を符号化する方法を説明する流れ図である。
【図6】ビデオ画像を符号化する方法を説明する流れ図である。
【図7】符号化されるべきブロックを横方向と縦方向に反転している図である。
【図8】相関の形成を示す図である。
【図9】数論変換に適応される48ポイントのウィノグラードフーリエ変換アルゴリズムを使用することによってコスト関数の計算を説明する流れ図である。

Claims (24)

  1. 現在の画像の符号化されるべきブロックが検索される、参照画像の検索領域を定義するステップ(600)と、
    符号化されるべきブロックと検索領域の候補ブロックとの間の動きを決定する各動きベクトル候補のコスト関数を計算するステップ(602)と、
    最低コスト関数値を与える動きベクトル候補を使用して符号化されるべきブロックを符号化するステップ(614)とを備えた、連続する画像を符号化する方法であって、
    コスト関数の計算(602)で、
    符号化されるべきブロックに対して数論変換が実行され(604)、
    候補ブロックに対して数論変換が実行され(606)、
    符号化されるべきブロックと変換済み候補ブロックとの間で乗算が実行され(608)、
    乗算の結果に対して数論変換の逆変換を実行することによって、符号化されるべきブロックと候補ブロックとの間の相関が形成され(610)、
    形成された相関がコスト関数の計算に使用される(612)ことを特徴とする方法。
  2. Radix−2アルゴリズムを使用して数論変換が実施されることを特徴とする請求項1に記載の方法。
  3. ウィノグラードフーリエ変換アルゴリズム(WFTA)を使用して数論変換が実施されることを特徴とする請求項1に記載の方法。
  4. 数論変換のモジュラスを16777217とし、核を524160とするか、またはモジュラスを16777217とし、核を65520とするか、またはモジュラスを4294967297とし、核を4とするか、またはモジュラスを4294967297とし、核3221225473とすることを特徴とする請求項1に記載の方法。
  5. コスト関数の計算(602)で、
    符号化されるべきブロックが0要素を付加することによって1ピクセルが各動きベクトル候補に相当するサイズまで埋められ、
    符号化されるべきブロックが横方向と縦方向に反転されることを特徴とする請求項1に記載の方法。
  6. コスト関数の計算(602)で、
    少なくとも4つの変換済み候補ブロックが選択され、それらのそれぞれに対して符号化されるべき反転した変換済みブロックによって順に乗算が実行され、この乗算の各結果に対して数論変換の逆変換が実行され、この逆変換の結果は1つの相関に結合されることを特徴とする請求項2に記載の方法。
  7. 符号化されるべきブロックの数論変換は、最初にすべての列の左半分に対して、その後すべての行に対して実行されることを特徴とする請求項6に記載の方法。
  8. 数論変換の逆変換は、最初にすべての行に対して、その後すべての列の左半分に対して実行されることを特徴とする請求項6に記載の方法。
  9. 数論変換は、数論変換に適応する48ポイントのウィノグラードフーリエ変換アルゴリズム、または数論変換に適応する24ポイントのウィノグラードフーリエ変換アルゴリズムを使用して実施されることを特徴とする請求項1に記載の方法。
  10. 数論変換のモジュラスは16777153であり核が4575581である請求項9に記載の方法。
  11. 符号化されるべきブロックは、0要素を付加することによって48×48ピクセルまたは24×24ピクセルのサイズまで埋められることを特徴とする請求項9に記載の方法。
  12. コスト関数としてSSD(2乗誤差の和)を使用することを特徴とする請求項1〜11のいずれかに記載の方法。
  13. 現在の画像の符号化されるべきブロックが検索される、参照画像の検索領域を決定する手段(216)と、
    符号化されるべきブロックと検索領域の候補ブロックとの間の動きを決定する各動きベクトル候補のコスト関数を計算する計算手段(216)と、
    コスト関数の最低値を与える動きベクトル候補を使用して符号化されるべきブロックを符号化する手段(216、220)とを備えた、連続する画像を符号化する装置であって、
    計算手段(216)は、
    符号化されるべきブロックに対して数論変換を実行し、
    候補ブロックに対して数論変換を実行し、
    符号化されるべき変換済みブロックと変換済み候補ブロックとの間で乗算を実行し、
    乗算の結果に対して数論変換の逆変換を実行することによって、符号化されるべきブロックと候補ブロックとの間の相関を形成し、
    形成された相関をコスト関数の計算に使用することを特徴とする装置。
  14. 計算手段(216)はRadix−2アルゴリズムを使用して数論変換を実施することを特徴とする請求項13に記載の装置。
  15. 計算手段(216)はウィノグラードフーリエ変換アルゴリズム(WFTA)を使用して数論変換を実施することを特徴とする請求項13に記載の装置。
  16. 計算手段(216)で、数論変換のモジュラスを16777217とし、核を524160とするか、またはモジュラスを16777217とし、核を65520とするか、またはモジュラスを4294967297とし、核を4とするか、またはモジュラスを4294967297とし、核3221225473とすることを特徴とする請求項13に記載の装置。
  17. 計算手段(216)は、コスト関数の計算で、
    符号化されるべきブロックを、0要素を付加することによって1ピクセルが各動きベクトル候補に相当するサイズまで埋め、
    符号化されるべきブロックを横方向と縦方向に反転するることを特徴とする請求項13に記載の装置。
  18. 計算手段(216)は、コスト関数の計算で、
    少なくとも4つの変換済み候補ブロックを選択し、それらのそれぞれに対して符号化されるべき反転した変換済みブロックによって順に乗算を実行し、この乗算の各結果に対して数論変換の逆変換を順に実行し、この逆変換の結果を1つの相関に結合することを特徴とする請求項14に記載の装置。
  19. 計算手段(216)は、符号化されるべきブロックの数論変換を、最初にすべての列の左半分に対して、次いですべての行に対して実行することを特徴とする請求項18に記載の装置。
  20. 計算手段(216)は、数論変換の逆変換を、最初にすべての行に対して、次いですべての列の左半分に対して実行することを特徴とする請求項18に記載の装置。
  21. 数論変換は、数論変換に適応する48ポイントのウィノグラードフーリエ変換アルゴリズム、または数論変換に適応する24ポイントのウィノグラードフーリエ変換アルゴリズムを使用して実施されることを特徴とする請求項13に記載の装置。
  22. 計算手段(216)で、数論変換のモジュラスが16777153であり核が4575581であることを特徴とする請求項21に記載の装置。
  23. 計算手段(216)は、符号化されるべきブロックを、0要素を付加することによって48×48ピクセルまたは24×24ピクセルのサイズまで埋めることを特徴とする請求項21に記載の装置。
  24. 計算手段(216)はコスト関数としてSSD(2乗誤差の和)を使用することを特徴とする請求項13から23のいずれかに記載の装置。
JP2003526162A 2001-09-06 2002-09-04 連続する画像を符号化する方法および装置 Pending JP2005502285A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20011766A FI111592B (fi) 2001-09-06 2001-09-06 Menetelmä ja laite peräkkäisten kuvien koodaamiseksi
PCT/FI2002/000711 WO2003021966A1 (en) 2001-09-06 2002-09-04 Method and device for coding successive images

Publications (1)

Publication Number Publication Date
JP2005502285A true JP2005502285A (ja) 2005-01-20

Family

ID=8561850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003526162A Pending JP2005502285A (ja) 2001-09-06 2002-09-04 連続する画像を符号化する方法および装置

Country Status (5)

Country Link
US (1) US20040170333A1 (ja)
EP (1) EP1438861A1 (ja)
JP (1) JP2005502285A (ja)
FI (1) FI111592B (ja)
WO (1) WO2003021966A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100579542B1 (ko) 2003-07-29 2006-05-15 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
US7751478B2 (en) * 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US7830961B2 (en) * 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
US8446964B2 (en) * 2005-07-18 2013-05-21 Broadcom Corporation Method and system for noise reduction with a motion compensated temporal filter
US8170102B2 (en) * 2005-12-19 2012-05-01 Seiko Epson Corporation Macroblock homogeneity analysis and inter mode prediction
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US7865030B2 (en) * 2006-09-13 2011-01-04 Broadcom Corporation Method and system for motion compensated temporal filtering using both FIR and IIR filtering
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US20150350641A1 (en) * 2014-05-29 2015-12-03 Apple Inc. Dynamic range adaptive video coding system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2570853B1 (fr) * 1984-09-24 1987-01-02 Duhamel Pierre Dispositif de traitement en temps reel de signal numerique par convolution
GB8431925D0 (en) * 1984-12-18 1985-01-30 Secr Defence Digital data processor
US4893266A (en) * 1987-06-01 1990-01-09 Motorola, Inc. Alias tagging time domain to frequency domain signal converter
WO1993023816A1 (en) * 1992-05-18 1993-11-25 Silicon Engines Inc. System and method for cross correlation with application to video motion vector estimation
US5371696A (en) * 1992-12-24 1994-12-06 Sundararajan; Duraisamy Computational structures for the fast Fourier transform analyzers
US5563813A (en) * 1994-06-01 1996-10-08 Industrial Technology Research Institute Area/time-efficient motion estimation micro core
JPH08235159A (ja) * 1994-12-06 1996-09-13 Matsushita Electric Ind Co Ltd 逆コサイン変換装置
US5982441A (en) * 1996-01-12 1999-11-09 Iterated Systems, Inc. System and method for representing a video sequence
US5754456A (en) * 1996-03-05 1998-05-19 Intel Corporation Computer system performing an inverse cosine transfer function for use with multimedia information
ES2182972T3 (es) * 1996-04-19 2003-03-16 Nokia Corp Codificador y descodificador de video utilizando procedimientos de segmentacion y fusion de movimiento.
KR100303685B1 (ko) * 1996-09-30 2001-09-24 송문섭 영상 예측부호화 장치 및 그 방법
US6148034A (en) * 1996-12-05 2000-11-14 Linden Technology Limited Apparatus and method for determining video encoding motion compensation vectors
US5982411A (en) * 1996-12-18 1999-11-09 General Instrument Corporation Navigation among grouped television channels
JP3848421B2 (ja) * 1997-01-31 2006-11-22 秀男 村上 離散時間信号に対する多重化装置および多重化システムと、離散時間信号に対する多重化方法
CA2310602C (en) * 1997-11-14 2009-05-19 Analysis & Technology, Inc. Apparatus and method for compressing video information
FR2778467B1 (fr) * 1998-05-11 2000-06-16 Christian Jeanguillaume Perfectionnement du systeme de gamma camera a haute sensibilite
KR100279752B1 (ko) * 1998-11-11 2001-02-01 정선종 고속 광 전송 시스템을 위한 비트 삽입/조작 선로 부호의 부/복호화 장치
US6768817B1 (en) * 1999-09-03 2004-07-27 Truong, T.K./ Chen, T.C. Fast and efficient computation of cubic-spline interpolation for data compression
EP1152621A1 (en) * 2000-05-05 2001-11-07 STMicroelectronics S.r.l. Motion estimation process and system.

Also Published As

Publication number Publication date
WO2003021966A1 (en) 2003-03-13
FI20011766A0 (fi) 2001-09-06
FI111592B (fi) 2003-08-15
US20040170333A1 (en) 2004-09-02
EP1438861A1 (en) 2004-07-21
FI20011766A (fi) 2003-03-07

Similar Documents

Publication Publication Date Title
JP5086343B2 (ja) 逆離散コサイン変換計算における誤差低減
US8625916B2 (en) Method and apparatus for image encoding and image decoding
US9451255B2 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
EP2594076B1 (en) Low-complexity intra prediction for video coding
JP5259396B2 (ja) ハイブリッド映像圧縮のための非線形予測フィルタ
US20060165164A1 (en) Scratch pad for storing intermediate loop filter data
JPH1175186A (ja) スケーリングされた順方向および逆方向の離散コサイン変換と、これを使用するビデオ圧縮伸長システム
CN112203088B (zh) 用于非基带信号代码化的变换选择
CN109891894A (zh) 使用域变换递归滤波器的视频编译恢复
RU2439682C2 (ru) Уменьшение ошибок во время вычисления обратного дискретного косинусного преобразования
US8923389B1 (en) Unified scaling with differential coding for internal bit depth extension and reference frame compression
JP2005502285A (ja) 連続する画像を符号化する方法および装置
JP2006508584A (ja) ベクトル予測のための方法
CN115442617A (zh) 一种基于视频编码的视频处理方法和装置
KR100801974B1 (ko) 저비용 움직임 추정 장치 및 움직임 추정 방법
JP3818484B2 (ja) 符号化動画像データの復号装置および記録媒体
JP2004129160A (ja) 画像復号装置、画像復号方法および画像復号プログラム
JP2870626B2 (ja) 画像圧縮装置
KR100672376B1 (ko) 움직임 보상 방법
KR20040026767A (ko) 역이산여현변환 방법과 이를 이용한 영상복원방법
JP2004064570A (ja) 動画像復号装置
JPH0965341A (ja) 動画像符号化・復号方法および装置
JPH11285008A (ja) 画像符号化方法及び画像符号化装置
JP2005117681A (ja) 符号化動画像データの復号装置および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090317