JP2009033266A - 動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム - Google Patents

動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム Download PDF

Info

Publication number
JP2009033266A
JP2009033266A JP2007192648A JP2007192648A JP2009033266A JP 2009033266 A JP2009033266 A JP 2009033266A JP 2007192648 A JP2007192648 A JP 2007192648A JP 2007192648 A JP2007192648 A JP 2007192648A JP 2009033266 A JP2009033266 A JP 2009033266A
Authority
JP
Japan
Prior art keywords
search
motion vector
reduced
point
points
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
JP2007192648A
Other languages
English (en)
Inventor
Satoshi Naito
聡 内藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007192648A priority Critical patent/JP2009033266A/ja
Publication of JP2009033266A publication Critical patent/JP2009033266A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 少ない演算量で広範囲・高精度な動きベクトル探索方法及びその装置を提供する
【解決手段】 原画像と参照画像に対し縮小した画像を各々生成する。縮小参照画像上の探索領域上で、所定間隔で検索し、動きベクトル候補を複数選択する。段階的に探索間隔を狭くして探索する。原解像度の参照画像上で縮小画像上で探索された動きベクトル候補が示す位置を中心にして、その周辺部を含めて動きベクトルを探索する。
【選択図】 図1

Description

本発明は、動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラムに関する。
H.26xやMPEG等の符号化方式では、画像1フレームを複数のブロックに分割して、各ブロック単位に圧縮符号化を行う。圧縮符号化の方式には、時間的相関性を利用した符号化方式(inter符号化)および空間的相関性を利用した符号化方式(intra符号化)がある。時間的相関を利用した符号化方式はフレーム間の動きを探索し、当該ブロックの動きベクトルおよびブロック間差分を求めて符号化を行う。
最も相関の高い動きベクトルを求めるには全探索をする必要がある。しかし、例えば16×16画素のブロックを参照フレーム上の探索領域64×64画素位置全てと比較する場合、SAD値で相関演算すれば、ブロック内の画素それぞれの差分の総和を取るのに16×16×2=512回の加減算が必要となる。さらに各探索領域について演算する必要があるので64×64=4096ポイントで繰りかえし演算して合計すると512X4096=2097152回の演算と、4096ポイントの相関性判定処理が必要となり、計算量が膨大になってしまう。ここでの探索領域は、探索中心点(中心位置)についてであり、画像上では比較ブロックサイズ分さらに広がることになる。
そこで、探索回数を減らして適切な動きベクトルを高速に求めるために、対数サーチ方式や、階層サーチ方式(特許文献1を参照)などの様々な方式が提案されている。
対数サーチ方式は、図12に示すように、まず第1段として、粗い探索点の間隔でn×n点の動きベクトル探索を行い、最もマッチングのとれた位置を中心に、探索点の間隔を、第1段のときの半分にして第2段の探索を行う。同様の処理を複数段繰り返して、粗から密へ探索点の間隔を絞っていき動きベクトルを検出する方法である。n=3で、32×32画素の探索範囲の場合、4段で終了し、探索点数は9+8+8+8=33点ですむ。フルサーチの場合、32×32=1024点の探索が必要であるから、約1/33の処理量に削減される。
階層サーチ方式は、図13のように、入力画像1303の解像度を落として順次低解像度の画像を生成し、最も低解像度の画像1301における所定探索領域から低解像度の画像1301の画素を用いて探索を開始する。そして探索結果を順次、次に低い解像度の所定探索領域の探索開始点に反映させていく。低解像度画像すなわちデータ量の少ない画像で高解像と同じ範囲を探索することで、演算量を少なくする事が可能となり、探索範囲を広げた時の比較演算回数の増加を抑えることができる。
しかしながらH.264およびMPEG符号化方式で用いられるブロックサイズすなわち動き探索を行う単位は最大でも16×16画素サイズであり、解像度を1/8にすると同じ画像空間では2×2画素になってしまう。この場合のブロックマッチングは計4画素どうしの比較となり、ブロックマッチングの精度は低下する。
特許文献1の階層サーチ方式は、ブロック単位の動きベクトル探索において、入力画像に対して2回のダウンサンプリングを行い、3階層の画像を用いて探索を行っている。このようにブロック単位の動きベクトル探索に使用する場合は一般的に3階層、すなわち解像度1/4、ブロックの大きさが4×4画素サイズまでの階層化しか行わないことが一般的である。
特許第3615963号公報
対数サーチ方式は、特に線画部分などの高解像度部分では、初期段階での粗い探索位置とマッチングすべき位置が偶然合致している場合を除いて、探索初期段階で誤った動きベクトルを検出する場合がある。ゆえに、動きベクトルの精度の低下から、動き補償予測画像における予測誤差を大きくしてしまうという問題がある。
階層型サーチ方式は、階層を増やすことで広範囲のサーチを少ない演算回数で行えるが、低解像度の階層における探索精度が悪いため3階層程度の階層化が一般的である。その結果として階層型サーチ方式の特徴を活かし演算量を大きく減らすことができないという問題が生ずる。
そこで、本発明は少ない演算量で広範囲、かつ、高精度な動きベクトル探索を可能とすることを目的とする。
上記課題を解決するための本発明は、動画像の圧縮符号化のための動きベクトル探索方法であって、
符号化対象画像と参照画像の解像度を縮小し、縮小符号化対象画像と縮小参照画像とを生成する解像度縮小工程と、
前記符号化対象画像を構成する複数のブロックのうち、動きベクトル探索対象のブロックの該符号化対象画像における位置に基づき、前記参照画像における探索領域を決定する決定工程と、
前記縮小参照画像から前記探索領域に対応する縮小探索領域を抽出し、動きベクトル探索を行うための複数の第1の探索点を該縮小探索領域に設定する探索点設定工程と、
前記縮小探索領域において、前記第1の探索点毎に、前記符号化対象画像における動きベクトル探索対象のブロックに対応する、前記縮小符号化対象画像の縮小ブロックの相関度を算出し、前記複数の第1の探索点のうち相関度上位の複数の第2の探索点を決定する第1の探索工程と、
前記第1の探索工程で得られた前記複数の第2の探索点のそれぞれの周囲に第3の探索点を設定し、該第2と第3の探索点に基づき、前記縮小探索領域における前記縮小ブロックの相関度を算出し、相関度が最も高い第4の探索点を決定する第2の探索工程と、
前記第2の探索工程で得られた前記第4の探索点の周囲に第5の探索点を設定し、該第4と第5の探索点に基づき、前記縮小探索領域における前記縮小ブロックの相関度を算出し、相関度が最も高い第6の探索点を決定する第3の探索工程と、
前記第3の探索工程で得られた前記第6の探索点に対応する、前記探索領域における第7の探索点と該第7の探索点の周囲の第8の探索点とを設定し、該第7と第8の探索点に基づき、前記探索領域における前記動きベクトル探索対象のブロックの相関度を算出し、相関度が最も高い第9の探索点を決定する第4の探索工程と、
前記第4の探索工程で得られた前記第9の探索点に基づいて、動きベクトルを算出する動きベクトル算出工程と
を備えることを特徴とする。
本発明によれば、少ない演算量で広範囲、かつ、高精度な動きベクトル探索が可能となる。また、全探索での動きベクトルの検出精度を低下させる事なく、演算量を低減し演算コストの低減を図る事が可能となる。
以下、添付する図面を参照して発明の実施形態を説明する。
[第1の実施形態]
図1を参照して、発明の実施形態に対応する動きベクトル探索方法に基づいた符号化処理装置の処理手順を説明する。
本実施形態では、動画像における符号化対象の画像を「符号化対象画像」と呼び、動きベクトル探索のために参照される時間的に前後した位置の画像を「参照画像」と呼ぶ。なお、図1は符号化対象画像内の1ブロックについての動きベクトル探索方法を示しているが、実際には画像を構成する複数ブロックの全てについて当該処理が適用される。
なお、ブロックの大きさは発明の実施に際して特に規定されるものではないが、本実施形態では原解像度において16×16画素で構成されるブロックを例に挙げて説明する。また、本実施形態では、符号化対象画像上のブロックと参照画像上の探索点を基準に設定されるブロックとの相関度を、各画素の差分の絶対値の総和を示すSAD(差分絶対値和)値により表す場合を説明する。但し、相関度の算出方法として、SADはあくまで一例であって、これに限定されるものではないことは当業者であれば直ちに理解するであろう。
図1において、まずステップS101では、符号化対象画像および参照画像の縮小画像を作成する。縮小画像の作成方法は公知技術を用いれば良いが、画素中心位置の変化に注意する必要がる。図2の手法は画素中心位置が1/2画素ずれる場合である。図2では、原画像の隣接する4画素の輝度値(254、3、108、27)を加算し、当該位置の画素値(392)としている。これにより、原画像に対して解像度が縦横それぞれ1/2、画素数1/4の縮小画像を作成することができる。この場合は、画素中心位置のずれを考慮してベクトル検索をする必要がある。
画像の低解像度化の手法はこれに限定される事なく、プレフィルタ処理の後にダウンサンプリングを行う手法でも良く、その場合は演算処理処理は増えるが画像中心位置がずれないのでより良い結果が得られる。その他の公知技術を用いても良い。
これ以降の説明では、縮小された符号化対象画像(縮小符号化対象画像)及び参照画像(縮小参照画像)上で動きベクトルを探索する際には、ブロックのサイズも同様にして解像度を縦横1/2に縮小して相関度を求める。即ち、縮小画像上では8×8画素のブロック単位でSAD値を算出する。以降、8×8画素のブロックを「縮小ブロック」と呼ぶ。また、低解像度処理による画素中心位置のずれが無いものとして説明する。
次に、ステップS102では、符号化対象画像上の動きベクトル探索対象のブロックの中心位置に基づいて、参照画像及び縮小参照画像から探索領域を抽出する。ここで、図3に示すように、探索領域は原解像度の参照画像について64×64画素領域が設定される。従って、原解像度と同じ空間範囲に対応する解像度縮小後の探索領域(縮小探索領域)は、32×32画素領域となる。
次に、ステップS103では、ステップS102で切り出した縮小探索領域にN個の探索点設定(第1の探索点の設定)を行い、第1の探索点毎に縮小ブロックとのSAD値を算出して相関度を求める。そして、N個の探索点(第1の探索点)について算出したSAD値のうち、最も値の小さい方から(相関度の高い方から)M個、本実施形態では3つの探索点(第2の探索点)を決定する。なお、相関度上位3つの探索点としたのは一例であって、相関度上位の2つ又は4つなどの2以上探索点であれば良い。従ってMは2≦M<Nの整数となる。
縮小探索領域における探索点(第1の探索点)の設定例は、図4に示す通りである。図4では、N=49として、49個の探索点を設定した場合を示している。図4において、縮小探索領域は、32×32画素の領域であって、4画素毎に合計49個の探索点が設定されている。このように本実施形態では、探索領域全面で均等な画素間隔でN点を設定したが、例えば次の様な設定としても良い。縮小探索領域の中心周辺の領域では第1の画素間隔(2画素間隔)で探索点を設定し、中心から離れたそれ以外の領域では第1の画素間隔よりも粗い第2の画素間隔(4画素間隔)で探索点を設定する。このような構成としたのは、探索点中心に近い程フレーム間の相関が高い傾向にある為であるが、その分演算量が増えることになる。従って、探索精度と演算量のトレードオフとなる。
続くステップS104では、ステップS103で決定された相関度の高い上位3探索点(第2の探索点)の各々周囲8点に探索点(第3の探索点)を設定し、探索点毎に縮小ブロックとのSAD値を算出して相関度を求める。そして、各探索点について算出した合計27個のSAD値のうち、値が最も小さい(相関度の高い)探索点(第4の探索点)を決定する。
相関度の高い上位3探索点(第2の探索点)を基準とした周囲8点の探索点(第3の探索点)を設定例は、図5に示す通りである。図5において、3探索点(第2の探索点)を探索点501、502及び503で示している。各探索点の周囲には、±2画素の領域504、505及び506がそれぞれ設定され、8探索点(第3の探索点)が設定される。このように、本実施形態では、相関度の高い上位3探索点を基準として、第1の画素間隔(2画素間隔)で探索点を設定している。
次に、ステップS105では、ステップS104で決定された最も相関度の高い探索点(第4の探索点)を基準として、周囲8点に探索点(第5の探索点)を更に設定し、探索点毎に縮小ブロックとのSAD値を算出して相関度を求める。そして、各探索点について算出した合計9個のSAD値のうち、値が最も小さい(相関度の高い)探索点(第6の探索点)を決定する。
相関度が最も高い探索点(第4の探索点)を基準とした周囲8点の探索点(第5の探索点)を設定例は、図6に示す通りである。図6において、探索点601が、ステップS104における該相関度が最高の探索点(第4の探索点)である。探索点601の周囲には、±1画素の領域602が設定され、8探索点(第5の探索点)が設定される。このように、本実施形態では、相関度が最高の探索点を基準として、第1の画素間隔より密な第3の画素間隔(1画素間隔)で探索点を設定している。
次に、ステップS106では、ステップS105で決定された最も相関度の高い探索点(第6の探索点)に対応する位置にある、原解像度の探索領域上の点(第7の探索点)及びその周囲8点(第8の探索点)を探索点として設定する。そして、探索点毎に動きベクトル探索対象のブロックとのSAD値を算出して相関度を求める。そして、各探索点について算出した合計9個のSAD値のうち、値が最も小さい(相関度の高い)探索点(第9の探索点)を決定する。
相関度が最も高い探索点に対応する点(第7の探索点)及びその周囲8点(第8の探索点)の、原解像度の参照画像の探索領域での設定例は図7に示す通りである。図7において、探索点701が、ステップS105で縮小探索領域上において該相関度が最高と決定された探索点に対応する、原解像度の参照画像の探索領域上の点(第7の探索点)である。探索点701の周囲には、±1画素の領域702が設定され、8探索点(第8の探索点)が設定される。このように、本実施形態では、相関度が最高の探索点を基準として、原解像度での第3の画素間隔(原解像度で1画素間隔)で探索点を設定している。
次に、ステップS107では、ステップS106で相関度が最高と認定された探索点(第9の探索点)に基づいて、動きベクトル算出を行う。例えば、図7の探索点703が、相関度が最高であると認定された場合は、動きベクトルは、矢印704のように設定することができる。
次に、本実施形態における動きベクトル探索方式を採用した場合の演算量と、従来の動きベクトル探索方式を採用した場合の演算量とを比較して説明する。
図8は、各探索方式におけるSAD値の算出対象となる画素の数を示す。以下、SAD値算出画素数と記す。このSAD値算出画素数が多いほど、動きベクトル探索に必要な演算量が多いことを意味する。なお、以下では、動きベクトル探索対象のブロックサイズを16×16画素として説明する。
まず、フルサーチ(64×64画素)は、探索領域縦横64×64画素をフルサーチ(全探索)する方式である。参照フレーム上の探索領域64×64画素の全てに対して16×16画素のブロックのSAD値算出を行なうので、SAD値算出画素数は64×64×16×16=1048576と画素なる。
対数サーチ(32×32画素)は、探索領域縦横32×32画素の対数サーチ方式である。対数サーチ(32×32画素)では4段階のサーチを行なうので、探索点は9+8+8+8=33点となる。この33点に対して16×16画素のブロックのSAD値算出を行なうので、SAD値算出画素数は33×16×16=8448画素となる。
対数サーチ(64×64画素)は、探索領域縦横64×64画素の対数サーチ方式である。対数サーチ(64×64画素)は、5段階のサーチを行なう。探索点は9+8+8+8+8=41点となる。この41点に対して16×16画素のブロックのSAD値算出を行なうので、SAD値算出画素数は41×16×16=10496画素となる。
4階層サーチ(64×64画素)は、探索領域縦横64×64画素の4階層サーチ方式である。この4階層サーチ方式は、具体的には、最も低い解像度の階層をフルサーチし、その後は最良結果を示す探索点周辺8点を加えて合計9点をサーチしていく方式である。階層0を原画像の解像度とし、階層3を最も低い解像度の階層としたとき、SAD値算出画素数は以下のようになる。階層3は原画像の1/8の解像度であるので、探索領域は縦横8×8画素、ブロックのサイズは2×2画素である。階層3ではフルサーチを行なうので、探索点は8×8=64点となる。階層3のSAD値算出画素数は探索点64点にブロックのサイズ2×2画素を掛けて、64×2×2=256画素となる。階層2は原画像の1/4の解像度であるので、探索領域は縦横16×16画素、ブロックのサイズは4×4画素である。階層2で最良結果を示した探索点及びその周辺8点に対してサーチを行なうので、階層2のSAD値算出画素数は、探索点9点にブロックのサイズ4×4画素を掛けて、9×4×4=144画素となる。階層1は原画像の1/2の解像度であるので、探索領域は縦横32×32画素、ブロックのサイズは8×8画素である。階層2で最良結果を示した探索点及びその周辺8点に対してサーチを行なうので、階層1のSAD値算出画素数は、探索点9点にブロックのサイズ8×8画素を掛けて、9×8×8=576画素となる。階層0は原画像の解像度であるので、探索領域は縦横64×64画素、ブロックのサイズは16×16である。階層1で最良結果を示した探索点及びその周辺8点に対してサーチを行なうので、階層0のSAD値算出画素数は、探索点9点にブロックのサイズ16×16画素を掛けて、9×16×16=2304画素となる。以上より、階層0〜3のSAD値算出画素数合計は、2304(階層0)+576(階層1)+144(階層2)+256(階層3)=3280画素となる。
特許文献1の3階層サーチ(64×64画素)は、探索領域縦横64×64画素のブロック単位の動きベクトル探索において、入力画像に対して2回のダウンサンプリングを行い、3階層の画像を用いて探索を行う特許文献1の方法である。原画像の1/4の解像度である階層2ではフルサーチを行なうので、SAD値算出画素数は探索領域16×16画素にブロックのサイズ4×4画素を掛けて、16×16×4×4=4096画素となる。原画像の1/2の解像度である階層1では、階層2の探索結果と周辺ブロックとの相関性を基に3点の探索中心点を求め、各々の探索中心点に対して5×5画素の探索領域を設定する。よって、探索点は5×5×3=75点となり、階層1のSAD値算出画素数はブロックのサイズ8×8画素に探索点75点を掛けて、8×8×75=4800画素となる。原画像である階層0では、階層1の探索結果を基に探索中心点を求め、探索中心点に対して5×5画素の探索領域、即ち点5×5=25点の探索点を設定する。よって、階層0のSAD値算出画素数はブロックのサイズ16×16画素に探索点25点を掛けて、16×16×25=6400画素となる。以上より、特許文献1の3階層サーチ(64×64画素)のSAD値算出画素数は、6400(階層0)+4800(階層1)+4096(階層2)=15296画素となる。
本発明に関る方法(64×64画素)は、探索領域縦横64×64画素の本実施形態の探索方法である。図1のステップS102での探索点は、図4より49点である。縮小画像に対してサーチを行なうので、ブロックのサイズは8×8画素である。よって、ステップS102でのSAD値算出画素数は、49×8×8=3136画素である。図1のステップS103での探索点は、図5より24点である。よって、ステップS103でのSAD値算出画素数は、24×8×8=1536画素である。図1のステップS104での探索点は、図5より8点である。よって、ステップS104でのSAD値算出画素数は、8×8×8=512画素である。図1のステップS105での探索点は、図5より9点である。よって、ステップS105でのSAD値算出画素数は、原画像に対するサーチであるのでブロックのサイズは16×16画素なので、9×16×16=2304画素である。以上より、本発明に関る方法(64×64画素)のSAD値算出画素数は、2304(ステップS105)+512(ステップS104)+1536(ステップS103)+3136(ステップS102)=7488画素である。
次に、図9は動きの少ない画像及び動きの多い画像において、各フレームを16×16の大きさのブロックに分割して動き探索を行った時の、動きベクトル探索結果のSAD値を比較したものである。縦軸は16×16画素のブロック毎SADの1フレームでの平均SAD値であり、SAD値が小さいほど動きベクトル探索方式の性能がよいことを示している。
図8及び図9から、本実施形態の動き探索方法は、演算量を対数サーチ(縦横64×64画素)の約71%、3階層サーチ(特許文献1)の約49%程に抑えながら、探索性能において3階層サーチ(特許文献1)に匹敵する性能を示している。
以上に説明したように、本実施形態の動きベクトル探索方法では、解像度を削減した縮小画像上での処理ステップで最も相関度の高い1点だけでなく、相関度が高い上位のM点(上記実施例では上位3点)を選択している。さらにその周囲(上記実施例では8点)の相関度を求める処理を行っている。これにより、解像度を削減した縮小画像上での探索段階で誤った動きベクトルを検出する確率を低減している。また、探索初期段階において、解像度を1/2に落とした縮小画像上で相関度を求めているため、演算量を従来の対数サーチ方式に比べて削減することができる。
さらに、本実施形態の動きベクトル探索方法では、原解像度の画像と1/2解像度の画像の2階層のみを用いている。よって、3つ以上の階層を用いる従来の階層サーチ方式よりも、低解像度の画像を作るための処理を削減することができる。また、解像度の低下を1/2に留めているので、低解像度の階層における探索精度の低下を最低限に抑えている。
[第2の実施形態]
次に、第1の実施形態で説明した動きベクトル探索方法を実行する符号化処理装置の処理手順について説明する。
本実施形態では、符号化対象画像は図10における1002のように、画像1001をブロック単位に分割し、先頭ブロック1002から終端ブロック1003まで順に符号化が行われる。また、参照画像は、例えば符号化対象画像におけるブロック1004を符号化している時には、当該ブロック及びその周辺領域を探索領域1005として、参照画像の対応する領域が動きベクトルの探索範囲となる。ここで、探索領域1005の参照メモリー内の画像データは毎回全てを更新(読み取り)する必要は無い。例えば、前のブロック(左隣)の動きベクトル探索における探索領域と重複する部分を再び利用し、重複しない部分1006(探索領域の右側部分)だけを更新すればよい。
次に、図11を参照して、本実施形態における符号化処理装置について説明する。図11は、当該符号化処理装置1100の構成の一例を示す図である。
図11において1111は符号化処理の対象となる符号化対象画像である。1113は局所復号画像で参照画像である。
フレームメモリA(1101)には、符号化対象画像1111および参照画像1113が格納される。縮小画像作成部1102は、フレームメモリA(1101)に格納されている符号化対象画像1111と参照画像1113をの水平及び垂直の解像度をそれぞれ1/2に落とした縮小画像を作成する。
フレームメモリB(1103)は、解像度を落とした縮小画像が格納される。動きベクトル探索部1104は、フレームメモリA(1101)およびフレームメモリB(1103)にそれぞれ格納された画像を利用して、符号化対象画像1111の各ブロックについて動きベクトルを探索する。動き補償部1110は、動きベクトル探索結果と参照画像とから予測画像1114を生成し、減算器1115と、加算器1116へ出力する。
減算器1115は、フレームメモリA(1101)から出力された符号化対象ブロック画像と、動き補償部1110から出力された予測画像との差分によりブロック間差分データ(フレーム間予測誤差)を算出して、周波数変換部1105に出力する。
周波数変換部1105は、フレームメモリA(1101)から出力された符号化対象ブロック画像と、動き補償部1110から出力された予測画像との差分として得られるブロック間差分データを、ブロック係数データに変換する。量子化部1106はブロック係数データを量子化する。可変長符号化部1107は量子化されたブロック係数データに可変長符号化を施し、符号化対象画像の符号化処理結果である符号化データ1112を出力する。
逆量子化部1108は、量子化部1108で量子化されたブロック係数データを逆量子化する。逆周波数変換部1109は、逆量子化により得られたブロック係数データを再構成されたブロック間差分データに変換する。
加算器1116は、逆周波数変換部1109から出力された再構成されたブロック間差分データと、動き補償部1110から出力された予測画像とを加算して、符号化対象ブロック画像を再構成し局所復号画像として出力する。
次に、該符号化処理装置1100における動作を説明する。入力された符号化対象画像1111は、まずフレームメモリA(1101)に書き込まれる。なお、フレームメモリA(1101)には、加算器1116で再構成された局所復号画像が参照画像として格納されている。縮小画像作成部1102は符号化対象画像1111および参照画像1113をフレームメモリA(1101)より読み出し、解像度を1/2に落とした縮小画像を作成し、フレームメモリB(1103)へ格納する。
動きベクトル探索部1104は、符号化対象画像1111と参照画像1113の縮小画像をフレームメモリB(1103)より読み出し、動き探索を行う。次に、フレームメモリA(1101)から元の解像度の符号化対象画像1111及び参照画像1113を読み出して動き探索を行い、最終的な動きベクトルとする。上記処理の詳しい手順は第1の実施形態において記述したためここでは省略する。
動き補償部1110は、動きベクトル探索結果と参照画像1113から予測画像1114を生成し、減算器1115へ出力する。減算器1115は、符号化対象画像1111と予測画像1114との差分を演算してブロック間差分データを生成し、周波数変換部1105へ出力する。
周波数変換部1105はブロック間差分データを周波数ドメインに変換し、量子化部1106へブロック係数データを送る。量子化部1106はブロック係数データを量子化し、可変長符号化部1107および逆量子化部1108へ送る。
可変長符号化部1107は量子化されたブロック係数データに可変長符号化を施し、符号化データ1112を出力する。逆量子化部1108は量子化されたブロック係数データに逆量子化を行い、再構成されたブロック係数データを逆周波数変換部1109へ送る。
逆周波数変換部1109は再構成されたブロック係数データを、加算器1116に出力する。加算器1116は、再構成されたブロック係数データと、動き補償部1110から出力された予測画像とに基づき再構成画像データを生成する。この再構成画像データは、次の符号化対象画像の参照画像となるものであり、フレームメモリA(1101)へ書き込まれる。
以上の処理を符号化対象画像1111を構成するブロックの数だけ行い、当該符号化対象画像の符号化が完了する。本実施形態では階層画像を格納するフレームメモリB(1103)のメモリ容量を、従来方式、例えば特許文献1の方式に比べて削減することができるため、本実施形態の装置を搭載する製品、例えばデジタルカメラなどのコストを削減することができる。
以上のように、本実施形態によれば、効率的に動きベクトル探索を行い、処理対象画像の圧縮符号化を実現することができる。
[その他の実施形態]
本発明の目的は、前述した機能を実現するコンピュータプログラムコードを記録した記憶媒体を、システムに供給し、そのシステムがプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現し、そのプログラムコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
発明の第1の実施形態に対応する、動きベクトル探索方法の処理の一例示すフローチャートである。 画素中心位置がずれる階層画像の作成方法を説明するための図である。 発明の第1の実施形態に対応する、原画像と縮小画像の関係を説明するための図である。 発明の第1の実施形態に対応する、第1の探索点の設定例を示す図である。 発明の第1の実施形態に対応する、第3の探索点の設定例を示す図である。 発明の第1の実施形態に対応する、第5の探索点の設定例を示す図である。 発明の第1の実施形態に対応する、第7及び第8の探索点の設定例を示す図である。 発明の第1の実施形態に対応する、動きベクトル探索方式毎の演算回数の比較表である。 発明の第1の実施形態に対応する、動きベクトル探索方式毎の探索性能の比較グラフである。 発明の第2の実施形態に対応する、ブロック単位の動き探索におけるブロック及び探索領域を説明するための図である。 発明の第2の実施形態に対応する、符号化処理装置の構成の一例を示す図である。 一般的な対数サーチ方式の説明図である。 一般的な階層サーチ方式の説明図である。
符号の説明
1100 符号化処理装置
1101 フレームメモリA
1102 縮小画像作成部
1103 フレームメモリB
1104 動きベクトル探索部
1105 周波数変換部
1106 量子化部
1107 可変長符号化部
1108 逆量子化部
1109 逆周波数変換部
1110 動き補償部
1111 符号化対象画像
1112 符号化データ
1113 参照画像
1114 予測画像
1115 減算器
1116 加算器

Claims (8)

  1. 動画像の圧縮符号化のための動きベクトル探索方法であって、
    符号化対象画像と参照画像の解像度を縮小し、縮小符号化対象画像と縮小参照画像とを生成する解像度縮小工程と、
    前記符号化対象画像を構成する複数のブロックのうち、動きベクトル探索対象のブロックの該符号化対象画像における位置に基づき、前記参照画像における探索領域を決定する決定工程と、
    前記縮小参照画像から前記探索領域に対応する縮小探索領域を抽出し、動きベクトル探索を行うための複数の第1の探索点を該縮小探索領域に設定する探索点設定工程と、
    前記縮小探索領域において、前記第1の探索点毎に、前記符号化対象画像における動きベクトル探索対象のブロックに対応する、前記縮小符号化対象画像の縮小ブロックの相関度を算出し、前記複数の第1の探索点のうち相関度上位の複数の第2の探索点を決定する第1の探索工程と、
    前記第1の探索工程で得られた前記複数の第2の探索点のそれぞれの周囲に第3の探索点を設定し、該第2と第3の探索点に基づき、前記縮小探索領域における前記縮小ブロックの相関度を算出し、相関度が最も高い第4の探索点を決定する第2の探索工程と、
    前記第2の探索工程で得られた前記第4の探索点の周囲に第5の探索点を設定し、該第4と第5の探索点に基づき、前記縮小探索領域における前記縮小ブロックの相関度を算出し、相関度が最も高い第6の探索点を決定する第3の探索工程と、
    前記第3の探索工程で得られた前記第6の探索点に対応する、前記探索領域における第7の探索点と該第7の探索点の周囲の第8の探索点とを設定し、該第7と第8の探索点に基づき、前記探索領域における前記動きベクトル探索対象のブロックの相関度を算出し、相関度が最も高い第9の探索点を決定する第4の探索工程と、
    前記第4の探索工程で得られた前記第9の探索点に基づいて、動きベクトルを算出する動きベクトル算出工程と
    を備えることを特徴とする動きベクトル探索方法。
  2. 前記第1の探索点は、前記縮小探索領域の中心周辺は第1の画素間隔で設定され、それ以外の領域は、前記第1の画素間隔よりも粗い第2の画素間隔で設定されることを特徴とする請求項1に記載の動きベクトル探索方法。
  3. 前記第3の探索点は、前記第2の探索点を中心として第1の画素間隔で設定されることを特徴とする請求項1又は2に記載の動きベクトル探索方法。
  4. 前記第5の探索点は、前記第4の探索点を中心として、前記第1の画素間隔よりも密な第3の画素間隔で設定されることを特徴とする請求項1又は2に記載の動きベクトル探索方法。
  5. 前記第8の探索点は、前記第7の探索点を中心として、前記参照画像の解像度における前記第3の画素間隔で設定されることを特徴とする請求項4に記載の動きベクトル探索方法。
  6. 動画像の圧縮符号化のための動きベクトル探索装置であって、
    符号化対象画像と参照画像の解像度を縮小し、縮小符号化対象画像と縮小参照画像とを生成する解像度縮小手段と、
    前記符号化対象画像を構成する複数のブロックのうち、動きベクトル探索対象のブロックの該符号化対象画像における位置に基づき、前記参照画像における探索領域を決定する決定手段と、
    前記縮小参照画像から前記探索領域に対応する縮小探索領域を抽出し、動きベクトル探索を行うための複数の第1の探索点を該縮小探索領域に設定する探索点設定手段と、
    前記縮小探索領域において、前記第1の探索点毎に、前記符号化対象画像における動きベクトル探索対象のブロックに対応する、前記縮小符号化対象画像の縮小ブロックの相関度を算出し、前記複数の第1の探索点のうち相関度上位の複数の第2の探索点を決定する第1の探索手段と、
    前記第1の探索手段で得られた前記複数の第2の探索点のそれぞれの周囲に第3の探索点を設定し、該第2と第3の探索点に基づき、前記縮小探索領域における前記縮小ブロックの相関度を算出し、相関度が最も高い第4の探索点を決定する第2の探索手段と、
    前記第2の探索手段で得られた前記第4の探索点の周囲に第5の探索点を設定し、該第4と第5の探索点に基づき、前記縮小探索領域における前記縮小ブロックの相関度を算出し、相関度が最も高い第6の探索点を決定する第3の探索手段と、
    前記第3の探索手段で得られた前記第6の探索点に対応する、前記探索領域における第7の探索点と該第7の探索点の周囲の第8の探索点とを設定し、該第7と第8の探索点に基づき、前記探索領域における前記動きベクトル探索対象のブロックの相関度を算出し、相関度が最も高い第9の探索点を決定する第4の探索手段と、
    前記第4の探索手段で得られた前記第9の探索点に基づいて、動きベクトルを算出する動きベクトル算出手段と
    を備えることを特徴とする動きベクトル探索装置。
  7. 請求項6に記載の動きベクトル探索装置を用いて動きベクトル探索を行い、符号化対象画像の圧縮符号化を行う符号化処理装置。
  8. 請求項1乃至5のいずれか1項に記載の動きベクトル探索方法を、コンピュータに実行させるためのコンピュータプログラム。
JP2007192648A 2007-07-24 2007-07-24 動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム Withdrawn JP2009033266A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007192648A JP2009033266A (ja) 2007-07-24 2007-07-24 動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007192648A JP2009033266A (ja) 2007-07-24 2007-07-24 動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2009033266A true JP2009033266A (ja) 2009-02-12

Family

ID=40403318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007192648A Withdrawn JP2009033266A (ja) 2007-07-24 2007-07-24 動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2009033266A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017019765A1 (en) * 2015-07-29 2017-02-02 Tmm, Inc. Systems and methods for video encoding using an improved motion vector search algorithm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017019765A1 (en) * 2015-07-29 2017-02-02 Tmm, Inc. Systems and methods for video encoding using an improved motion vector search algorithm

Similar Documents

Publication Publication Date Title
US7720153B2 (en) Video encoding apparatus, video encoding method, video encoding program, video decoding apparatus, video decoding method and video decoding program
JP3277111B2 (ja) 動画像符号化装置および動画像復号化装置
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
JP2021022936A (ja) 画像予測方法および関連装置
JP4047879B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
KR100446235B1 (ko) 다중 후보를 이용한 움직임 벡터 병합 탐색 방법
US20220167004A1 (en) Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
CN111133759B (zh) 编码或解码视频数据的方法和装置
CN115174933B (zh) 用于运动向量修正的受限存储器访问窗口
GB2519514A (en) Method and apparatus for displacement vector component prediction in video coding and decoding
JP5216710B2 (ja) 復号化処理方法
JP2009147807A (ja) 画像処理装置
JP2007166038A (ja) 動きベクトル検出装置および動きベクトル検出方法
KR100994773B1 (ko) 계층적 움직임 추정에 있어서 움직임 벡터 생성 방법 및장치
KR102568199B1 (ko) 디코더 측 모션 벡터 정제를 위한 에러 표면 기반 서브 픽셀 정밀 정제 방법
US9420303B2 (en) Method and apparatus for displacement vector component transformation in video coding and decoding
US20240114165A1 (en) Image decoding device, image encoding device, image processing system, and program
JP2009509415A (ja) 適応的影響エリアフィルタ
WO2019150411A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
JP2009033266A (ja) 動きベクトル探索方法、動きベクトル探索装置、符号化装置及びコンピュータプログラム
CN114040209A (zh) 运动估计方法、装置、电子设备及存储介质
JP2013207402A (ja) 画像符号化装置及びプログラム
JP2008301085A (ja) 動きベクトル探索装置及びその制御方法、コンピュータプログラム
JP6853697B2 (ja) 時間予測動きベクトル候補生成装置、符号化装置、復号装置、及びプログラム
KR100262962B1 (ko) 움직임 추정방법 및 장치

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101005