JP4338654B2 - 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置 - Google Patents

動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置 Download PDF

Info

Publication number
JP4338654B2
JP4338654B2 JP2005022103A JP2005022103A JP4338654B2 JP 4338654 B2 JP4338654 B2 JP 4338654B2 JP 2005022103 A JP2005022103 A JP 2005022103A JP 2005022103 A JP2005022103 A JP 2005022103A JP 4338654 B2 JP4338654 B2 JP 4338654B2
Authority
JP
Japan
Prior art keywords
search
image
motion vector
point
calculation
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
JP2005022103A
Other languages
English (en)
Other versions
JP2005303984A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005022103A priority Critical patent/JP4338654B2/ja
Priority to US11/074,728 priority patent/US20050226333A1/en
Priority to CNB2005100565192A priority patent/CN100546384C/zh
Publication of JP2005303984A publication Critical patent/JP2005303984A/ja
Application granted granted Critical
Publication of JP4338654B2 publication Critical patent/JP4338654B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Landscapes

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

Description

本発明は、動きベクトル検出技術に関し、例えば、フレーム間予測モードを含む画像符号化方式により動画像を符号化するために、フレーム間の動きベクトルを検出する装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置に関する。
動画の圧縮符号化方式の規格であるMPEG(Motion Picture Experts Group)−4では、動きベクトルを用いた動き補償予測符号化が行われる(例えば、特許文献1参照)。特許文献1に記載された追跡型動きベクトル探索方法では、ある探索原点から所定の探索パターンに従って各探索点における差分絶対値の総和を計算し、探索パターン中心の探索点の差分絶対値の総和が最も小さくなるまで、次の探索パターンの中心を差分絶対値の総和が最も小さい探索点に移動させて、最適点を追跡するというものである。特許文献1では、このような追跡型動きベクトル探索方法において、無駄な動きベクトルの探索を防ぎ、探索の効率化を図るために、処理単位ごとに動きベクトル探索可能回数を設定するなど、探索の終了条件を設定しておく技術を提案している。
特開2003−87799号公報
上述した追跡型の動きベクトル探索方法では、探索原点から出発して、探索点を隣に移動させつつ探索を行うので、動きベクトルを検出するのに要する時間が長くなるという問題がある。また、探索時間を短縮するために、上述したような探索の終了条件を設定すると、探索原点の周囲の局所的な極小点で探索を終了してしまう場合があり、動きベクトルの検出精度が悪化し、符号量の増大や画質の低下を招くという問題がある。
本発明はこうした状況に鑑みてなされたものであり、その目的は、動きベクトルの検出に要する時間を短縮する技術を提供することにある。
本発明のある態様は、動きベクトル検出装置に関する。この動きベクトル検出装置は、第1画像と、前記第1画像の参照画像である第2画像との間で、動きベクトルを検出する動きベクトル検出装置であって、前記第1画像と、前記第2画像に含まれるブロックとの間で、マッチングを演算する演算部を複数備え、前記複数の演算部が並列して複数のマッチングを同時に演算することを特徴とする。
ブロック間のマッチングは、例えば、ブロックに含まれる各画素の画素値の差分に基づいて演算されてもよい。演算部は、各画素の画素値の差分が小さいほど小さくなるような指標を演算してもよく、例えば、各画素の画素値の差分自乗和を演算してもよいし、各画素の画素値の差分絶対値の総和を演算してもよい。複数の演算部を用いて複数のマッチング演算を同時に行うことにより、動きベクトルの検出に要する時間を短縮することができるので、動画像を符号化するための処理速度を向上させることができる。また、複数のマッチング演算を並列して行うことにより、メモリアクセスなどの時間を短縮することができ、処理時間の短縮のために、より好都合である。
前記ブロックの位置の基準となる点を探索点と呼ぶとき、前記複数の演算部は、所定のパターンを有する2次元の探索領域に含まれる複数の探索点を基準位置とした複数のブロックと前記第1画像との間でマッチングを演算し、前記動きベクトル検出装置は、前記複数の演算部による演算結果を評価して、最適なマッチング結果を与えた探索点を検出する評価部と、前記評価部による評価結果に基づいて、次にマッチングを演算する探索点を設定する設定部と、を更に備えてもよい。2次元の探索領域に含まれる探索点における演算を同時に行い、領域単位で最適解を探索することができるので、従来の1次元的に1つずつ探索点を移動させる方法に比べて、より短時間でより広い領域にわたって探索を行うことができる。これにより、処理時間を短縮することができるとともに、動きベクトルの検出精度を向上させることができ、符号量を低減し、画質を向上させることができる。
前記設定部は、最適なマッチング結果を与えた探索点を含むように次回の探索領域を設定し、設定した探索領域に含まれる点を次回の探索点に設定してもよい。これにより、最適なマッチングを与える探索点が存在すると推測される方向に向かって、適切に探索を進めることができるので、処理時間を短縮することができるとともに、動きベクトルの検出精度を向上させることができる。
前記設定部は、前記探索領域の中心点と、最適なマッチング結果を与えた探索点とを結ぶ方向に、次回の探索領域を設定してもよい。前記設定部は、前回の演算において最適なマッチング結果を与えた探索点と、今回の演算において最適なマッチング結果を与えた探索点とを結ぶ方向に、次回の探索領域を設定してもよい。これにより、動きベクトルの検出精度を向上させることができる。
前記評価部は、演算結果を評価した結果、所定の条件を満たしたときに、探索を終了してもよい。例えば、前回の演算において最適なマッチングを与えた探索点と、今回の演算において最適なマッチングを与えた探索点が同一であったときに、探索を終了してもよい。また、マッチング演算で算出された指標が所定のしきい値よりも良好であったときに、探索を終了してもよい。
前記設定部は、前回の探索以前の前記評価部による評価結果、前記第1画像内の他のブロックの動きベクトル、前記第1画像よりも過去又は未来の画像の動きベクトル、及び前記第1画像のスクロールに関する情報のいずれかを更に判断基準として前記探索点を設定してもよい。前記設定部は、前記評価部による評価結果、前記第1画像内の他のブロックの動きベクトル、前記第1画像よりも過去又は未来の画像の動きベクトル、及び前記第1画像のスクロールに関する情報のいずれかに基づいて、前記探索領域の形状を可変に設定してもよい。これにより、更に高速かつ高精度に動きベクトルを検出することができる。
本発明の別の態様は、動きベクトル検出方法に関する。この動きベクトル検出方法は、第1画像と、前記第1画像の参照画像である第2画像との間で、動きベクトルを検出する方法であって、前記第2画像に含まれるブロックの位置の基準となる点を探索点と呼ぶとき、所定のパターンを有する2次元の探索領域に含まれる複数の探索点を基準位置とした複数のブロックと前記第1画像との間のマッチングを並列して演算するステップと、前記演算するステップの演算結果を評価して、最適なマッチング結果を与えた探索点を検出するステップと、前記検出するステップの検出結果に基づいて、前回の演算において最適なマッチング結果を与えた探索点と、今回の演算において最適なマッチング結果を与えた探索点とを結ぶ方向の延長上に中心点が存在するように、次回の探索領域を設定し、設定した探索領域に含まれる点を次回の探索点に設定する設定するステップと、を備えることを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、プログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、動きベクトルの検出に要する時間を短縮する技術を提供することができる。
本発明の実施の形態に係る画像符号化装置は、MPEG−4に準拠した画像符号化を行う。本実施の形態の画像符号化装置は、符号化対象画像と参照画像との間で動きベクトルを検出する際に、複数のブロックマッチングを並列して行うことにより処理の高速化を図る。また、本実施の形態では、複数のブロックマッチングを同時に行うことを利用した、より検出精度の高い新たな動きベクトル探索方法を提案する。
図1は、本発明の実施の形態に係る画像符号化装置10の全体構成を示す。画像符号化装置10は、動きベクトル検出回路24、動き補償回路26、フレームメモリ28、符号化回路30、復号化回路32、出力バッファ34、符号量制御回路36、及び参照モード選択回路38を含む。これらの構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
画像符号化装置10に外部から入力された画像(以下、「入力画像」という)は、動きベクトル検出回路24に送られる。動きベクトル検出回路24は、予めフレームメモリ28に格納されて予測のために参照の対象となる画像(以下、「参照画像」という)と入力画像との間で動きベクトルを検出する。動き補償回路26は、符号量制御回路36から量子化に用いる量子化ステップの値を取得し、その量子化の係数とマクロブロックの予測モードを決定する。動きベクトル検出回路24により検出された動きベクトルと、動き補償回路26により決定された量子化係数及びマクロブロック予測モードが、符号化回路30へ送られる。また、動き補償回路26は、マクロブロックについての予測値と実際の値との差分を予測誤差として符号化回路30に送る。
符号化回路30は、予測誤差を量子化係数を用いて符号化して出力バッファ34へ送る。符号化回路30は、量子化した予測誤差と量子化係数を復号化回路32へ送る。復号化回路32は、量子化された予測誤差を量子化係数に基づいて復号化し、復号化した予測誤差と動き補償回路26による予測値との和を復号画像としてフレームメモリ28に送る。この復号画像は、後続の画像の符号化処理において参照される場合に、参照画像として動きベクトル検出回路24へ送られる。符号量制御回路36は、出力バッファ34の蓄積量の状態を取得し、その蓄積量の状態に応じて次の量子化に用いる量子化ステップの値を生成する。
参照モード選択回路38は、フレーム内符号化、フレーム間前方向予測符号化、フレーム間双方向予測符号化、の間でフレーム予測モードの切り替えを行い、他の回路に対してフレームの参照モード情報を出力する。
図2から図6を用いて、本実施の形態の動きベクトル検出方法について説明する。動きベクトル検出回路24は、ブロックマッチングにより動きベクトルを検出する。すなわち、入力画像のうち、符号化の対象となるマクロブロック(以下、「符号化対象マクロブロック」という)との差分(予測誤差)が最も小さい参照画像のマクロブロック(以下、「予測マクロブロック」という)を探索する。本実施の形態では、動きベクトル検出回路24は、ブロックマッチングの一例として、符号化対象マクロブロックと、予測マクロブロックの候補となるマクロブロックとの間で、画素値の差分絶対値の総和を算出し、その値が最小となるマクロブロックを予測マクロブロックとする。符号化対象マクロブロックの位置から、検出された予測マクロブロックの位置への動きを示すベクトルが、その符号化対象マクロブロックの動きベクトルとなる。
図2は、入力画像100の例を示す。いま、入力画像100のうち、縦4画素×横4画素の正方形のマクロブロック102が符号化の対象となっているものとする。MPEG−4では、一般に、縦16画素×横16画素の領域をマクロブロックとするが、ここでは、図の簡略化のために縦4画素×横4画素としている。符号化対象マクロブロック102の位置を、左上端の画素の位置で代表させて二重丸で示すことにする。
図3は、参照画像110の例を示す。本実施の形態では、符号化対象マクロブロック102を符号化するときの動きベクトルを検出するために、参照画像110の中から、予測マクロブロックの候補として、符号化対象マクロブロック102とのブロックマッチングを演算する対象となるマクロブロック(以下、単に「演算対象マクロブロック」という)を25個設定し、符号化対象マクロブロック102と25個の演算対象マクロブロックとのブロックマッチングを同時に行う。図3の例では、まず第1段階として、入力画像100の符号化対象マクロブロック102の位置と同じ位置(二重丸の位置)を中心とした縦5画素×横5画素の正方形の領域116(以下、この領域を「探索領域116」という)に含まれる25個の画素の位置(黒丸の位置。以下、この位置を「探索点」という)を左上の画素とした縦4画素×横4画素のマクロブロック25個を演算対象マクロブロックに設定してブロックマッチングを行う。
図4は、図3に示した25個の演算対象マクロブロックを具体的に示す。動きベクトル検出回路24は、符号化対象マクロブロック102と、図4に示した25個の演算対象マクロブロック112a〜112yとの間で画素値の差分絶対値の総和又は差分二乗値の総和などの差分データを演算し、それらのうち差分データが最小である演算対象マクロブロックを検出する。このとき、演算対象マクロブロック112a〜112yに含まれる画素は、全て領域114の内部にあるので、差分演算時には、領域114の内部の画素の画素値をいったんローカルメモリに格納し、ローカルメモリから順次画素値を読み出しつつ、25の演算を同時に並列して行う。
図5(a)(b)は、本実施の形態の動きベクトル探索方法を説明するための図である。本実施の形態では、図2に示した符号化対象マクロブロック102の動きベクトルを検出するために、図3に示した探索領域116を移動させながらブロックマッチングを繰り返し、符号化対象マクロブロック102との差分が最小となる演算対象マクロブロックを探索する。以下、第n段階のブロックマッチングにおいて差分が最小である演算対象マクロブロック112の位置(左上の画素で代表させる)を「第n最小点」と呼び、図中では記号「m」で示す。また、第n段階のブロックマッチングの探索領域116の中心位置を「第n中心点」と呼び、図中では記号「c」で表す。
図5(a)及び図5(b)において、図3に示した第1段階の探索領域116aに含まれる25個の演算対象マクロブロック112のうち、符号化対象マクロブロック102との差分が最小であったマクロブロックの位置、すなわち第1最小点を「m」で示している。動きベクトル検出回路24は、この第1段階の演算結果に基づいて、第2段階の探索領域116bを設定する。本実施の形態では、動きベクトル検出回路24は、前回の演算における最小点を基準にして、最小点を含む領域を次の探索領域とする。
図5(a)の例では、動きベクトル検出回路24は、第1中心点cと第1最小点mを結ぶベクトルcを2倍した位置を、第2中心点cとする。そして、第2段階の探索領域116bに含まれる25の探索点についてブロックマッチングを行う。このとき、第1段階で既にブロックマッチングを行った演算対象マクロブロック112については演算を省略してもよい。このように、前回の演算における探索領域116の中心点と最小点とを結ぶ方向へ探索領域116を移動させることにより、予測マクロブロックが存在すると推測される方向へ適切に探索領域116をずらしながらブロックマッチングを行うことができるので、短い時間で効率良く予測マクロブロックを探索することができる。また、局所的な最小点で探索を終了してしまう可能性を低減し、動きベクトルの検出精度を向上させることができる。
図5(b)に示した例では、第1最小点mを左上端とした領域を第2段階の探索領域116bとする。このように、前回の演算における最小点を端点とする領域を探索領域116に設定することにより、探索点の重複をできる限り少なくし、少ない演算回数でより多くの探索点におけるブロックマッチングを行うことができるので、短い時間で効率良く予測マクロブロックを探索することができる。また、局所的な最小点で探索を終了してしまう可能性を低減し、動きベクトルの検出精度を向上させることができる。
図6(a)(b)(c)も、本実施の形態の動きベクトル探索方法を説明するための図である。図6(a)、図6(b)、及び図6(c)において、図5(a)に示した第2段階の探索領域116bに含まれる25個の演算対象マクロブロック112のうち、符号化対象マクロブロック102との差分が最小であったマクロブロックの位置、すなわち第2最小点を「m」で示している。
図6(a)の例では、動きベクトル検出回路24は、図5(a)の例と同様に、第2中心点cと第2最小点mを結ぶベクトルcを2倍した位置を、第3中心点cとする。図6(b)の例では、動きベクトル検出回路24は、第2中心点cと第2最小点mを結ぶ方向に第3中心点cを設定するのは図6(a)の例と同様であるが、第2最小点mを含み、かつ、既に演算が終了している探索点をできる限り含まないように、第3段階の探索領域112cを設定している。これにより、探索方向を適切に設定しつつ、より多くの探索点におけるブロックマッチングを行うことができる。図6(c)の例では、動きベクトル検出回路24は、第1最小点mと第2最小点mを結ぶ方向に第3中心点cを設定する。この例においても、予測マクロブロックが存在すると推測される方向に探索領域を適切に移動させて探索を行うことができる。
図7も、本実施の形態の動きベクトル探索方法を説明するための図である。図7の例では、探索領域の形状が一様ではなく、各段階において所定の条件に応じて変更される。例えば、第2段階の探索領域116bは、第1中心点cと第1最小点mを結ぶベクトルcの方向に長い形状を有する。すなわち、予測マクロブロックが存在すると推測される方向により広く探索領域をとる。これにより、動きベクトルの検出精度と検出速度を向上させることができる。第3段階の探索領域116cも、同様に、第2中心点cと第2最小点mを結ぶベクトルcの方向により広くなるように設定されている。探索領域は、長方形に限らず、任意の形状を有していてもよい。
図5〜図7を用いて説明した例では、直前の探索結果をもとに次回の探索領域を決定したが、探索領域を決定するための判断基準として、その他に、直前よりも過去の探索結果を判断基準としてもよい。例えば、第n中心点cと第n最小点mを結ぶベクトルcの総和に基づいて、次回の探索領域を設定してもよい。また、過去又は未来のフレームの動きベクトルの情報や、同一フレーム内の他のマクロブロックの動きベクトルの情報を判断基準としてもよい。例えば、第1段階の探索領域として、参照フレームの対応マクロブロックの動きベクトルを中心とした探索領域を設定してもよい。また、第2段階以降の探索領域として、参照フレームの対応マクロブロックの動きベクトルの方向に長い形状を有する探索領域を設定してもよい。また、参照フレームの各マクロブロックの動きベクトルの統計情報に基づいて探索領域を設定してもよい。さらに別の判断基準として、同一フレーム内の他のマクロブロックの動きベクトルの統計情報に基づいて探索領域を設定してもよい。例えば、他のマクロブロックの動きベクトルの平均を中心とした探索領域を設定してもよいし、他のマクロブロックの動きベクトルの方向に広く探索領域を設定してもよい。また、動きベクトル以外の情報、例えば、画面がスクロールされているなどの情報を取得し、その情報を判断基準としてもよい。例えば、画像全体が横方向にスクロールしている旨の情報を取得したときに、横に長い探索領域を設定してもよい。以上のように、直前の探索結果の他に、様々な情報を参照して動きベクトルを推測することにより、より高速かつ高精度に動きベクトルを検出することができる。
動きベクトル検出回路24は、上述した探索方法にしたがって探索領域116を移動しつつブロックマッチングを行い、第(n−1)最小点と第n最小点が一致したときに探索を終了し、第n最小点で示されるマクロブロックを予測マクロブロックとする。動きベクトル検出回路24は、第(n−1)最小点と第n最小点の間の距離が所定のしきい値よりも短くなったときに探索を終了してもよいし、その他の探索終了条件が設定されてもよい。
図8は、本実施の形態の動きベクトル検出回路24の構成を示す。動きベクトル検出回路24は、演算部40、評価部42、及び位置設定部44を有する。これらの構成も、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。上述した動きベクトル検出回路24の機能は、具体的にはこれらの構成により実現される。
演算部40は、符号化対象マクロブロック102と、複数の演算対象マクロブロック112との間で並列してブロックマッチングを演算する。評価部42は、演算部40による演算結果を取得し、演算結果を評価する。評価部42は、演算部40により演算された複数のブロックマッチングの結果の中から、最小の差分を与える探索点を検出し、その最小点をメモリなどに記憶する。評価部42は、今回の演算における最小点を、記憶されていた前回の演算における最小点と比較し、それらが同一であれば、その点を予測マクロブロックと決定し、動き補償回路26及び符号化回路30に伝達する。前回と今回の最小点が同一でなければ、新たに今回の最小点を記憶し、位置設定部44に次回の探索領域116を設定するよう指示する。位置設定部44は、評価部42からの指示を受けて、上述したような規則にしたがって、次回の探索領域116の位置を設定する。
図9は、本実施の形態の演算部40の構成を示す。演算部40は、入力画像格納部50、参照画像格納部52、タイミング調整回路54、及び複数の差分演算回路56を有する。これらの構成も、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
入力画像格納部50は、入力画像の符号化対象マクロブロック102を格納する。参照画像格納部52は、参照画像の演算対象マクロブロック112を格納する。これらは、フレームメモリ28で代用されてもよいし、フレームメモリ28の一部を利用して実現されてもよい。参照画像格納部52には、図4において説明したように、領域114の画素値が格納されてもよい。タイミング調整回路54は、符号化対象マクロブロック102の画素値と演算対象マクロブロック112の画素値を差分演算回路56に入力するタイミングを調整する。タイミング調整回路54は、参照画像格納部52に格納された領域114の画素値を順次読み出すときに、読み出された画素値を演算に用いる差分演算回路56に対して画素値が供給されるよう、カウンタ及びフリップフロップなどを利用してタイミングを調整する。具体的には、複数のフリップフロップに、参照画像格納部52からまとめて読み出した複数画素のデータを格納しておく。そして、入力画像格納部50から画素データを読み出すタイミングに応じてカウンタを動作させ、カウンタの値に応じて、フリップフロップに格納された画素データの中から、各差分演算回路56に必要な画素データを選択して供給する。
差分演算回路56a〜56yは、符号化対象マクロブロック102と演算対象マクロブロック112a〜112yとの間でブロックマッチングを演算する。差分演算回路56は、符号化対象マクロブロック102と演算対象マクロブロック112の画素値の差分絶対値の総和を算出してもよいし、差分二乗和を算出してもよいし、その他、画像間の差分を示す任意の量を算出してもよい。従来の探索方法では、演算のたびに同じ画素値を何度も読み込む必要があったが、本実施の形態によれば、複数の差分演算回路56に、ブロックマッチングに必要な画素値を同時に供給することができるので、メモリアクセスを大幅に削減し、処理速度を向上させることができる。
図10は、本実施の形態に係る動きベクトル検出方法の手順を示すフローチャートである。まず、位置設定部44は、第1段階の探索領域116を設定し(S10)、差分演算回路56は、探索領域116に含まれる複数の探索点におけるブロックマッチングを並列して演算する(S12)。評価部42が演算結果を評価し、所定の条件に基づいて、最適解が検出されたと判断した場合(S14のY)、その最適解に基づいて動きベクトルを設定し(S16)、探索を終了する。評価部42が、まだ最適解が検出されていないと判断すると(S14のN)、位置設定部44が次回のマッチング演算のために探索領域116を更新し(S18)、再び差分演算回路56によりマッチング演算が実行される(S12)。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
動きベクトル検出回路24は、実施の形態で説明した複数のマッチングを並列して実行する探索モードと、従来の探索モードを適宜切り替えて実行してもよい。例えば、データ量の大きい動画像をリアルタイムに符号化する場合や、フレームレートが高い場合など、高速な符号化処理が要求される場合には、実施の形態で説明したように、複数の差分演算回路56を並列して動作させることにより処理速度の向上を図る一方、動画像のデータ量が小さい場合や、携帯機器などにおいて、CPUなどの処理能力が比較的低い場合や、消費電力を抑えたい場合などは、動作させる差分演算回路56を削減してもよい。このような技術を実現するために、画像符号化装置10は、動画像のデータ量、フレームレート、機器の処理能力、機器の動作モードなどに応じて、動きベクトルの検出方法や、動作させる差分演算回路56の数などを変更する制御手段を備えてもよい。
本発明の実施の形態に係る画像符号化装置の全体構成を示す図である。 入力画像の例を示す図である。 参照画像の例を示す図である。 図3に示した25個の演算対象マクロブロックを具体的に示す図である。 図5(a)(b)は、実施の形態の動きベクトル探索方法を説明するための図である。 図6(a)(b)(c)は、実施の形態の動きベクトル探索方法を説明するための図である。 実施の形態の動きベクトル探索方法を説明するための図である。 実施の形態の動きベクトル検出回路の構成を示す図である。 実施の形態の演算部の構成を示す図である。 実施の形態に係る動きベクトル検出方法の手順を示すフローチャートである。
符号の説明
10 画像符号化装置、24 動きベクトル検出回路、26 動き補償回路、28 フレームメモリ、30 符号化回路、32 復号化回路、34 出力バッファ、36 符号量制御回路、38 参照モード選択回路、40 演算部、42 評価部、44 位置設定部、50 入力画像格納部、52 参照画像格納部、54 タイミング調整回路、56 差分演算回路。

Claims (4)

  1. 第1画像と、前記第1画像の参照画像である第2画像との間で、動きベクトルを検出する動きベクトル検出装置であって、
    前記第2画像に含まれるブロックの位置の基準となる点を探索点と呼ぶとき、所定のパターンを有する2次元の探索領域に含まれる複数の探索点を基準位置とした複数のブロックと前記第1画像との間でマッチングを並列して演算する複数の演算部と、
    前記複数の演算部による演算結果を評価して、最適なマッチング結果を与えた探索点を検出する評価部と、
    前記評価部による評価結果に基づいて、前回の演算において最適なマッチング結果を与えた探索点と、今回の演算において最適なマッチング結果を与えた探索点とを結ぶ方向の延長上に中心点が存在するように、次回の探索領域を設定し、設定した探索領域に含まれる点を次回の探索点に設定する設定部と、
    を備えることを特徴とする動きベクトル検出装置。
  2. 前記設定部は、前回の探索以前の前記評価部による評価結果、前記第1画像内の他のブロックの動きベクトル、前記第1画像よりも過去又は未来の画像の動きベクトル、及び前記第1画像のスクロールに関する情報のいずれかを更に判断基準として前記探索点を設定することを特徴とする請求項に記載の動きベクトル検出装置。
  3. 前記設定部は、前記評価部による評価結果、前記第1画像内の他のブロックの動きベクトル、前記第1画像よりも過去又は未来の画像の動きベクトル、及び前記第1画像のスクロールに関する情報のいずれかに基づいて、前記探索領域の形状を可変に設定することを特徴とする請求項からのいずれかに記載の動きベクトル検出装置。
  4. 第1画像と、前記第1画像の参照画像である第2画像との間で、動きベクトルを検出する方法であって、
    前記第2画像に含まれるブロックの位置の基準となる点を探索点と呼ぶとき、所定のパターンを有する2次元の探索領域に含まれる複数の探索点を基準位置とした複数のブロックと前記第1画像との間のマッチングを並列して演算するステップと、
    前記演算するステップの演算結果を評価して、最適なマッチング結果を与えた探索点を検出するステップと、
    前記検出するステップの検出結果に基づいて、前回の演算において最適なマッチング結果を与えた探索点と、今回の演算において最適なマッチング結果を与えた探索点とを結ぶ方向の延長上に中心点が存在するように、次回の探索領域を設定し、設定した探索領域に含まれる点を次回の探索点に設定するステップと、
    を備えることを特徴とする動きベクトル検出方法。
JP2005022103A 2004-03-18 2005-01-28 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置 Expired - Fee Related JP4338654B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005022103A JP4338654B2 (ja) 2004-03-18 2005-01-28 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
US11/074,728 US20050226333A1 (en) 2004-03-18 2005-03-09 Motion vector detecting device and method thereof
CNB2005100565192A CN100546384C (zh) 2004-03-18 2005-03-18 运动矢量检测装置和方法以及图像编码装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004077563 2004-03-18
JP2005022103A JP4338654B2 (ja) 2004-03-18 2005-01-28 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置

Publications (2)

Publication Number Publication Date
JP2005303984A JP2005303984A (ja) 2005-10-27
JP4338654B2 true JP4338654B2 (ja) 2009-10-07

Family

ID=35042240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005022103A Expired - Fee Related JP4338654B2 (ja) 2004-03-18 2005-01-28 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置

Country Status (3)

Country Link
US (1) US20050226333A1 (ja)
JP (1) JP4338654B2 (ja)
CN (1) CN100546384C (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI256259B (en) * 2005-03-21 2006-06-01 Pixart Imaging Inc Improved diamond search and dynamic estimation method
JP5061444B2 (ja) * 2005-09-20 2012-10-31 ソニー株式会社 撮像装置及び撮像方法
US8130845B2 (en) * 2006-11-02 2012-03-06 Seiko Epson Corporation Method and apparatus for estimating and compensating for jitter in digital video
US20090238268A1 (en) * 2008-03-20 2009-09-24 Mediatek Inc. Method for video coding
CN102204255B (zh) * 2009-07-07 2014-09-17 松下电器产业株式会社 运动图像解码装置、方法和系统以及集成电路
JP5400604B2 (ja) * 2009-12-28 2014-01-29 株式会社メガチップス 画像圧縮装置および画像圧縮方法
KR102450324B1 (ko) 2011-02-09 2022-10-04 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
JP2014523708A (ja) 2011-07-01 2014-09-11 モトローラ モビリティ エルエルシー 動きベクトル予測設計の簡易化
KR101283234B1 (ko) * 2011-07-18 2013-07-11 엘지이노텍 주식회사 임피던스 정합 장치 및 방법
WO2013067440A1 (en) 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
US9172970B1 (en) * 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US11284103B2 (en) * 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
WO2015192353A1 (en) 2014-06-19 2015-12-23 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
EP3202150B1 (en) 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
KR20160109586A (ko) * 2015-03-12 2016-09-21 삼성전자주식회사 이미지 처리 시스템, 및 이를 포함하는 모바일 컴퓨팅 장치
CN108646931B (zh) * 2018-03-21 2022-10-14 深圳市创梦天地科技有限公司 一种终端控制方法及终端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE469866B (sv) * 1991-04-12 1993-09-27 Dv Sweden Ab Metod för estimering av rörelseinnehåll i videosignaler
US5430886A (en) * 1992-06-15 1995-07-04 Furtek; Frederick C. Method and apparatus for motion estimation
KR0147218B1 (ko) * 1994-08-18 1998-09-15 이헌조 에이치디티브이의 고속 움직임 추정방법
US5706059A (en) * 1994-11-30 1998-01-06 National Semiconductor Corp. Motion estimation using a hierarchical search
KR100275694B1 (ko) * 1998-03-02 2000-12-15 윤덕용 실시간 동영상 부호화를 위한 초고속 움직임 벡터 추정방법
US7072398B2 (en) * 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
JP3753578B2 (ja) * 1999-12-07 2006-03-08 Necエレクトロニクス株式会社 動きベクトル探索装置および方法

Also Published As

Publication number Publication date
JP2005303984A (ja) 2005-10-27
US20050226333A1 (en) 2005-10-13
CN100546384C (zh) 2009-09-30
CN1671210A (zh) 2005-09-21

Similar Documents

Publication Publication Date Title
JP4338654B2 (ja) 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
JP4166781B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
CN102497558B (zh) 编码和解码图像
JP2006074474A (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
US8929448B2 (en) Inter sub-mode decision process in a transcoding operation
JP2008227670A (ja) 画像符号化装置
JP3880985B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
US20240031576A1 (en) Method and apparatus for video predictive coding
KR20090100279A (ko) 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체
US20080212719A1 (en) Motion vector detection apparatus, and image coding apparatus and image pickup apparatus using the same
JP2006517069A (ja) モーションベクトルの予測方法及びシステム
CN110662074B (zh) 一种运动矢量确定方法和设备
JP2006279330A (ja) 動き補償処理方法
CN114040209A (zh) 运动估计方法、装置、电子设备及存储介质
JP2007110409A (ja) 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム
JP4797999B2 (ja) 画像符号化・復号化装置
JP4429996B2 (ja) 動画像符号化プログラム、動画像符号化方法および動画像符号化装置
JP3473750B2 (ja) 高速動き検索装置
JP4383367B2 (ja) 動きベクトル検出装置
JP6696889B2 (ja) 画像符号化装置、画像符号化方法及びコンピュータプログラム
JP4779977B2 (ja) 画像符号化・復号化装置
JP6849781B2 (ja) 画像符号化装置、画像符号化方法及びコンピュータプログラム
JP4403549B2 (ja) 動画像符号化装置及び動画像符号化用プログラム
WO2022021310A1 (zh) 编码方法、装置、计算处理设备、计算机程序及存储介质
CN101682782B (zh) 运动图像编码方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081029

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4338654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130710

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees