JP2008085674A - 動き検出装置及びその方法 - Google Patents

動き検出装置及びその方法 Download PDF

Info

Publication number
JP2008085674A
JP2008085674A JP2006263497A JP2006263497A JP2008085674A JP 2008085674 A JP2008085674 A JP 2008085674A JP 2006263497 A JP2006263497 A JP 2006263497A JP 2006263497 A JP2006263497 A JP 2006263497A JP 2008085674 A JP2008085674 A JP 2008085674A
Authority
JP
Japan
Prior art keywords
block
sub
motion detection
motion
motion vector
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
JP2006263497A
Other languages
English (en)
Inventor
Naoto Date
直人 伊達
Shinichiro Koto
晋一郎 古藤
Wataru Asano
渉 浅野
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006263497A priority Critical patent/JP2008085674A/ja
Publication of JP2008085674A publication Critical patent/JP2008085674A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】少ないハードウェア規模で、十分な動き検出範囲の広さを確保しつつ、動きベクトルの精度を維持することができる動き検出装置を提供する。
【解決手段】動き検出装置1000は、サブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006、サブブロック選択・探索中心点設定部1007、ブロック間コスト計算回路1008、動きベクトル決定部1009を備え、動き検出対象ブロックを互いに位相の異なる位置でサブサンプリングして分離し、各サブブロックと、間引き参照画像の動き検出範囲との間でブロックマッチングを行い、動きベクトルを求める。
【選択図】 図1

Description

本発明は、動画像符号化における動き検出装置及びその方法に関するものである。
動画像符号化では、動画像の時間方向の冗長性を削減するために画像間の予測を用いて符号化を行う。画像間の予測では、画像ブロックの変移量を示す動きベクトルを用いるが、動きベクトルを決定するための計算量は非常に大きく、この削減は非常に重要な問題である。
この動きベクトル検出処理の代表的な方法に全探索がある。これは、参照画像内の全ての参照画像ブロックそれぞれと、動き検出対象ブロックとの間で類似度を算出して、類似度が高い参照画像ブロックへの変位量を動きベクトルとして決定するというものである。全探索は、類似度を算出するべきブロック数が多く、またブロック間の類似度を求める際にも、ブロック中の画素全てに対して差分絶対値和を計算する必要があるため、膨大な計算量を要する。
また、様々な動き検出処理方法が各種論文書籍等で紹介されているが、ハードウェアにおける動き検出処理の問題として、参照画像をメモリから動き検出部に読み込む際の通信量が非常に大きい点や、高精度な動き検出装置を実現するためにはハードウェアコストが非常に大きくなるという問題がある。
これに対して、特許文献1では、動き検出の際に用いる参照画像をサブサンプリングすることで、メモリから動き検出部への参照画像の転送量、参照画像を保持するためのメモリ量、動き検出部のハードウェア規模等を削減している。さらに、動き検出対象ブロックを互いに位相が異なる複数のブロックに分離し、各分離した動き検出対象ブロックと参照画像間の動き検出を並列に行うため、画像のサブサンプリング位置が異なることを利用した一画素精度の高精度な動き検出を可能としている。
特開2000−4441公報
近年、映像のハイビジョン化や、動画像符号化技術の向上(規格上参照可能な画像枚数が増えたことで圧縮性能が向上)に伴い、高性能な動画像圧縮を実現するためには、動き検出処理において、より広範囲で多数の画像を調査する必要が出てきた。そのため、許容可能なハードウェア規模でLSIを実現しようとすると、ハイビジョン映像に対して十分広い範囲の動き検出処理を行うことが困難となった。また、複数の参照画像を調査することも困難であるため、最新の動画像符号化規格の潜在能力も引き出すことができない。
そこで本発明は、従来方法と比較して、少ないハードウェア規模で、十分な動き検出範囲の広さを確保しつつ、動きベクトルの精度を維持することができる動き検出装置及びその方法を提供する。
本発明は、符号化画像から切り出された動き検出対象ブロックと、参照画像との間で動きベクトルの検出を行う動き検出装置において、前記動き検出対象ブロックを互いに画素のサンプリング位置が異なる複数のサブブロックに分離するサンプリング部と、前記参照画像から、前記複数のサブブロックの中のいずれか一つのサブブロックと同じ位置で画素をサンプリングすることにより間引き参照画像を生成する間引き参照画像生成部と、前記複数のサブブロックの各々に関して、探索中心点を基準にして前記各サブブロックと前記間引き参照画像との間のブロックマッチングにより前記各サブブロックの動きベクトルを求めるとともに、前記動きベクトルを用いて次のサブブロックの前記探索中心点を設定する動きベクトル算出部と、前記複数のサブブロックに関して求められた複数の動きベクトルの中から最も類似度が高い動きベクトルを選択することにより、前記動き検出対象ブロックの動きベクトルを求める最終動きベクトル選択部と、を有する動き検出装置である。
これにより本発明は、動き検出範囲の広さを確保しつつ、動きベクトルの精度を維持することができる。
(実施形態の概要)
(1)定義
まず、本明細書における用語の定義を説明する。
「サブサンプリング」とは、動き検出対象ブロックから画素(ピクセル)をサンプリングすることをいう。
「動き検出対象サブブロック」とは、動き検出対象ブロックから任意の画素をサブサンプリングして分離したサンプリングブロックを意味する。
「位相が異なる動き検出対象サブブロック」とは、動き検出対象ブロックから画素をサブサンプリングするときに、画素のサンプリング位置が異なるサブブロックの関係を意味する。
「水平方向」とは、画像の横方向をいい、「垂直方向」とは、画像の縦方向という。
(2)従来例の概要
図9は、特許文献1による動き検出処理(以下、従来例と呼ぶ)の概要である。
従来例では、動き検出対象ブロックを互いに位相の異なる画素位置でサブサンプリングして分離したサブブロックと、サブサンプリングした参照画像間で動き検出処理であるブロックマッチングを行う。図9においては、動き検出対象サブブロック(以下、単に「サブブロック」という)A、サブブロックB、サブブロックC、サブブロックD、ローカルメモリ上の参照画像領域で表現されている。
従来例において必要となるハードウェア規模と計算時間について示す。
サブブロックA、サブブロックB、サブブロックC、サブブロックDのブロックマッチングは、並列で行うため、4つの動きベクトル検出処理を行うブロックマッチング回路が必要となる。また、動き検出範囲を[±x,±y]としたとき、参照画像領域(サブサンプリング前)の面積は(2x+15)*(2y+15)、水平垂直両方向で1/2サブサンプリングを行うハードウェアにおいて、ブロックマッチング回路への参照画像の読み込み画素数は、(x+7)*(y+7)となる。ブロックマッチングを行う点数はx*y点であり、これはブロックマッチングに要する時間に比例する。
(3)本実施形態の概要
次に、図2を用いて本発明の一実施形態におけるブロックマッチングのハードウェア規模及び計算時間について示す。
本実施形態においても、従来例と同様に、動き検出対象ブロックを互いに位相の異なる画素位置で画像をサブサンプリング分離したブロックと、サブサンプリングした参照画像間でブロックマッチングを行う。図2において、サブブロックA、サブブロックB、サブブロックC、サブブロックD、ローカルメモリ上の参照画像領域と表現する。
サブブロックA,サブブロックB,サブブロックC,サブブロックDに分離する。動き検出範囲をそれぞれ[±x/4,±y/4]としたとき、参照画像領域(サブサンプリング前)の面積は、(x*2+15)*(y*2+15)が必要となる。これは、計4回のブロックマッチングで探索窓がシフトしていくときに最大到達可能な範囲である。水平垂直両方向で1/2サブサンプリングを行うハードウェアにおいて、参照画像のブロックマッチング回路への読み込み画素数は、(x/4+7)*(y/4+7)となり、ブロックマッチング点数はx/4*y/4点である。4回のブロックマッチングでの合計の参照画像読み込み画素数は、(x/2+14)*(y/2+14)、ブロックマッチング点数(時間)はx/2*y/2となる。
一方、1回の動き検出範囲が[±x/4,±y/4]である。これを4回行うと、最大で[±x,±y]の範囲の動きベクトル検出が可能となる。また、ブロック間のコスト計算を行う回路は、従来例のように4並列とせず、同じ回路を使い回すため従来例の1/4となる。
(4)比較
図10に従来例と本実施形態の比較を示す。
従来例と本実施形態とで同一動き検出範囲を設定した場合に、本実施形態では、従来例の4分の1の計算時間と、4分の1のブロックマッチング回路ですむ。別の表現では、同一計算時間、同一回路数とした場合に、より広範囲、複数枚の参照画像に対してブロックマッチングを行うことが可能となる。
すなわち、許容可能な回路規模で動き検出装置を実現した場合においても、ハイビジョン映像を対象とし、かつ、参照画像フレームを複数枚利用しつつ十分な広さの探索範囲を設定することが可能となる。
また、本実施形態は、繰り返し行う探索において、動きベクトルの位相を変えながら、探索窓が解(動きベクトル位置)にシフトしていく方法であるため、初期探索中心点近辺に解があれば、探索窓は大きくシフトせず密な評価をし、解が遠い場合には、探索窓を大きくシフトすることにより、荒い探索にはなるが、遠くまで探索するというように、動き量に合わせて限られたハードウェアリソースを適応的に割り当てることが可能となる。
(第1の実施形態)
本発明の第1の実施形態の動き検出装置について図1〜図4に基づいて説明する。本実施形態は、16x16ブロックを8x8ブロックの4つに分離した場合である。なお、本実施形態の動き検出装置は、動画像符号化装置における動きベクトルの検出に適用した場合について説明する。
(1)動き検出装置の構成
図1は、本実施形態に関わる動き検出装置1000の構成を示すブロック図である。
図1に示す様に動き検出装置1000は、サブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006、サブブロック選択・探索中心点設定部(以下、単に「設定部」という)1007、ブロック間コスト計算回路(以下、単に「計算回路」という)1008、動きベクトル決定部1009、符号化部1010を備えている。
(1−1)サブサンプリング
動き検出対象画像である符号化画像1001から切り出された動き検出対象ブロック1002は、異なる位相でサブサンプリングして分離され、サブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006にそれぞれ格納される。
このときの、サブサンプリング分離方法は、図3に示す通りであり、動き検出対象ブロック3000は、サブブロックA3001、サブブロックB3002、サブブロックC3003、サブブロックD3004に分離される。
(1−2)設定部1007
設定部1007は、サブブロックA、サブブロックB、サブブロックC、サブブロックDにブロックマッチングを適用する順序と動き検出の際の動きベクトル探索範囲の設定を行う。
本実施形態ではサブブロックに対する動き検出の順序を、サブブロックA、サブブロックB、サブブロックC、サブブロックDとする。
(1−3)計算回路1008
計算回路1008は、設定部1007から受けた動きベクトル探索範囲となる領域を、間引き参照画像1011から動き検出範囲1012として切り出し、各サブブロックと動き検出範囲1012との間でブロックマッチングを行う。なお、「間引き参照画像1011」とは、サブブロックのいずれかと同一の位相で、水平垂直両方向でそれぞれ2分の1サブサンプリングしてある画像をいう。
ブロックマッチングとは、サブブロックと、動き検出範囲1012内のブロック間の類似度を求める処理であり、ブロック間の類似度には、一般的にSAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、ME(Motion Estimation)コスト等を用いる。MEコストとは、動きベクトルの符号量や参照画像を指定するための符号量を見積もり考慮したものである。
(1−4)動きベクトル決定部1009
動きベクトル決定部1009は、計算回路1008から、動きベクトルとブロック間の類似度を随時受け取り、最終的に類似度の高いものを動きベクトルとして決定する。
また、各サブブロックと動き検出範囲のブロックマッチングが完了するたびに、それぞれのブロックマッチングで最も類似度が高かった動きベクトルを、次のサブブロックのブロックマッチングを行う際に、参照画像の動き検出範囲を設定するための探索中心点として利用する。
(1−5)符号化部1010
直行変換・量子化部等の符号化部1010は、動きベクトル決定部1009によって決定した動きベクトルを受け取り、動画像符号化におけるその後の処理である詳細動き検出、符号化モード判定、直行変換、量子化、デブロッキング処理等を行う。
(2)動き検出における動作
動き検出における動作の様子を図2に示す。
符号化画像から切り出された動き出対象ブロックは、図2中に示すように異なる位相の画素位置でサブサンプリングされ、サブブロックA、サブブロックB、サブブロックC、サブブロックDに分離される。
これらは、それぞれ図1におけるサブブロックAバッファ、サブブロックBバッファ、サブブロックCバッファ、サブブロックDバッファに格納される。
間引き参照画像から切り出した探索領域と、各サブブロック間でブロックマッチングを行うが、この順序は、図2に示すように、<1> サブブロックAと探索領域、<2> サブブロックBと探索領域、<3> サブブロックCと探索領域、<4> サブブロックDと探索領域の順として説明する。なお、図中では丸数字で記載しているが、明細書中では丸数字が表現できないので、<1>などのように表現する。
<1> サブブロックAのブロックマッチング時の探索中心点の設定は、周囲のブロックが持つ動きベクトルから得られる予測ベクトルの終点により決定する。予測ベクトルは、動画像符号化の規格で定められており、例えば、H.264/AVCにおける代表的な例は、動き検出対象ブロックの左のブロック、上のブロック、右上のブロックの持つ動きベクトルのメディアン予測で得られるベクトルである。また、周囲のブロックの符号化モードが確定していない場合は、予測ベクトルに用いるベクトルを、動き検出結果の動きベクトルで代用したものを用いる。
<1> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<2> のブロックマッチングの際の探索中心点として利用する。
<2> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<3> のブロックマッチングの際の探索中心点として利用する。
<3> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<4> のブロックマッチングの際の探索中心点として利用する。
計4回のブロックマッチングにおいて、探索中心点がそれぞれ設定され、探索領域が図2のようにシフトする。
(3)動きベクトルの算出方法
次に、動きベクトルの算出方法を図4に示す。
間引き参照画像は、水平垂直両方向それぞれの偶数位置をサブサンプリングしたものを用いると仮定する。
動き検出対象ブロックに関しては、サブブロックAは、水平方向の偶数位置/垂直方向の偶数位置をサブサンプリングしていると仮定する。
サブブロックBは、水平方向の奇数位置/垂直方向の偶数位置をサブサンプリングしていると仮定する。
サブブロックCは、水平方向の偶数位置/垂直方向の奇数位置をサブサンプリングしていると仮定する。
サブブロックDは、水平方向の奇数位置/垂直方向の奇数位置をサブサンプリングしていると仮定する。
サブブロックAのブロックマッチング(図2中では<1> のブロックマッチング)で得られる動きベクトルの位相は、水平方向の偶数/垂直方向の偶数(図4中の左上、例では(6,4))となる。
サブブロックBのブロックマッチング(図2中では<2> のブロックマッチング)で得られる動きベクトルの位相は、水平方向の奇数/垂直方向の偶数(図4中の右上、例では(5,4))となる。
サブブロックCのブロックマッチング(図4中では<3> のブロックマッチング)で得られる動きベクトルの位相は、水平方向の偶数/垂直方向の奇数(図3中の左下、例では(6,5))となる。
サブブロックDのブロックマッチング(図4中では<4> のブロックマッチング)で得られる動きベクトルの位相は、水平方向の奇数/垂直方向の奇数(図4中の右下、例では(5,5))となる。
このように、それぞれのブロックマッチングで、2画素精度の異なる位相の動きベクトルが得られる。図2中で、<1> <2> <3> <4> の探索領域が設定されており、それぞれのブロックマッチングでは2画素精度の動きベクトルが得られるが、これらが互いに重なる部分では、得られる動きベクトルの位相が互いに補完関係にあるため、検出できる動きベクトルの精度が向上する。
これらの効果を利用することで、本実施形態では、初期探索範囲(図2中での<1> の領域)に解があれば、その周囲を密に評価し、解が遠い場合には、解方向に向かって探索領域がシフトしていくことにより、荒い探索にはなるが、遠くまで探索するというように、動き量に合わせて限られたハードウェアリソース(図1の計算回路1008)を適応的に割り当てることが可能となる。
(第2の実施形態)
本発明の第2の実施形態の動き検出装置5000について図5〜図7に基づいて説明する。本実施形態は、8x16ブロック、参照画像の水平方向のみサブサンプリングする場合である。
(1)動き検出装置5000の構成
本実施形態に関わる動き検出装置5000の構成を図5に示す。
図5においては、図1のサブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006を、ひとまとめにして一般化することでサブブロックバッファ5003としている。すなわち、動き検出対象ブロックをいくつに分離するかは任意に決定できる。本実施形態は、2つに分離する例である。その他の部分は、図1と図5で同一の役割を持つ。
図5に示すように、動き検出装置5000は、サブブロックバッファ5003、設定部5004、計算回路5005、動きベクトル決定部5006、符号化部5007を備えている。
サブブロックバッファ5003は、図6のように、サブブロックAバッファ6001とサブブロックBバッファ6002とを備えている。
(2)サブサンプリング
符号化画像5001から切り出された動き検出対象ブロック5002は、互いに異なる位相でサブサンプリングして分離された後、サブブロックAバッファ6001、サブブロックBバッファ6002にそれぞれ格納される。
このときの、動き検出対象ブロックの分離方法は、図7に示すとおりであり、動き検出対象ブロック7000は、サブブロックA7003(x,yを整数として水平方向2x,垂直方向yでサブサンプリング)、サブブロックB7004(x,yを整数として水平方向2x+1,垂直方向yでサブサンプリング)に分離される。
(3)設定部5004
設定部5004は、サブブロックA、サブブロックBに、ブロックマッチングを適用する順序と、動き検出を行う探索範囲の設定を行う。この例では、動き検出を適用する順序は、サブブロックバッファA、サブブロックBの順序として説明する。しかし、この順序に制約するものではない。
(4)計算回路5005
計算回路5005は、設定部5004から受けた探索中心点の情報をもとに、間引き参照画像5008(水平方向2分の1サブサンプリングしてある)から動き検出範囲5009として切り出し、各サブブロックと動き検出範囲5009との間でブロックマッチングを行う。
ブロックマッチングにおいて、サブブロックAのブロックマッチング時の探索領域中心は、周囲のブロックが持つ動きベクトルから得られる予測ベクトルの終点とする。
サブブロックAのブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、サブブロックBの探索中心点として利用する。サブブロックAとサブブロックBは、水平方向のサンプリング位置が異なるため、得られる動きベクトルは、垂直方向は共に1画素精度であるが、水平方向は、サブブロックAで偶数、サブブロックBで奇数となる。
これにより、本実施形態では、初期探索範囲内に解があれば、その周囲を密に評価し、解が遠い場合には、探索範囲を解方向にシフトすることにより、荒い探索にはなるが、遠くまで探索することができ、動き量に合わせて適応的にハードウェアリソースを割り当てることが可能となる。
なお、動きベクトル決定部5006と符号化部5007とは、第1の実施形態と同様の役割を行う。
(第3の実施形態)
本発明の第3の実施形態の動き検出装置5000について図5〜図7に基づいて説明する。本実施形態は、16x16ブロックを4x16ブロックの2つに分離する場合である。
本実施形態に関わる動き検出装置5000の構成は、図5に示すように第2の実施形態と同様である。
(1)サブサンプリング
符号化画像5001から切り出された動き検出対象ブロック5002は、互いに異なる位相でサブサンプリング分離された後、サブブロックAバッファ6001、サブブロックBバッファ6002にそれぞれ格納される。このときの、動き検出対象ブロックの分離方法は、図7に示すとおりである。また、図8に示すように、動き検出対象ブロック8000は、サブブロックA8003(x,yを整数として水平方向4x,垂直方向yの位置でサブサンプリング)、サブブロックB8004(x,yを整数として水平方向4x+1,垂直方向yの位置でサブサンプリング)に分離される。図8が唐突にでてくる
(2)設定部5004
設定部5004は、サブブロックA、サブブロックBに、ブロックマッチングを適用する順序と、動き検出を行う探索範囲の設定を行う。この例では、動き検出を適用する順序は、サブブロックバッファA、サブブロックBの順序として説明する。
(3)計算回路5005
計算回路5005は、設定部5004から受けた探索中心点の情報をもとに、間引き参照画像5008(水平方向4分の1サブサンプリングしてある)から動き検出範囲5009として切り出し、各サブブロックと動き検出範囲5009との間でブロックマッチングを行う。
(4)ブロックマッチング
ブロックマッチングにおいて、サブブロックAのブロックマッチング時の探索領域中心は、周囲のブロックが持つ動きベクトルから得られる予測ベクトルの終点とする。
サブブロックAのブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、サブブロックBの探索中心点として利用する。サブブロックAとサブブロックBは、水平方向のサンプリング位置が異なるため、得られる動きベクトルは、垂直方向は共に1画素精度であるが、水平方向は、xを整数としてサブブロックAで4x、サブブロックBで4x+1となる。
これにより、本実施形態では、初期探索範囲内に解があれば、その周囲を密に評価し、解が遠い場合には、探索範囲を解方向にシフトすることにより、荒い探索にはなるが、遠くまで探索することができ、動き量に合わせて適応的にハードウェアリソースを割り当てることが可能となる。
なお、動きベクトル決定部5006と符号化部5007とは、第1の実施形態と同様の役割を行う。
(第4の実施形態)
本発明の第4の実施形態の動き検出装置1000について図1〜図4に基づいて説明する。本実施形態は、16x16ブロックを8x8ブロックの4つに分離する場合である。
本実施形態に関わる動き検出装置1000の構成は、図1に示すように第1の実施形態と同様である。
(1)サブサンプリング
符号化画像1001から切り出された動き検出対象ブロック1002は、サブサンプリング分離された後、サブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006にそれぞれ格納される。
このときの、サブサンプリングの分離方法は、図2に示すとおりであり、動き検出対象ブロック2000は、サブブロックA2001、サブブロックB2002、サブブロックC2003、サブブロックD2004に分割される。
(2)設定部1007
設定部1007は、サブブロックA、サブブロックB、サブブロックC、サブブロックDにブロックマッチングを適用する順序と、動き検出の際の探索中心点の設定を行う。
本実施形態では、動き検出を適用する順序は、サブブロックバッファAを最初に評価する。サブブロックAは、水平垂直両方向ともに偶数位置をサブサンプリングしており、間引き参照画像とサブサンプリングの位相が等しいものとする。
以降の動き検出を適用する順序は、サブブロックB、サブブロックC、サブブロックDの順序とする。
(3)計算回路1008
計算回路1008は、設定部1007から受けた動きベクトル探索範囲となる領域を、間引き参照画像1011から動き検出範囲1012として切り出し、各サブブロックと動き検出範囲1012との間で動きベクトル検出処理を行う。なお、「間引き参照画像1011」とは、水平垂直両方向それぞれ偶数位置を2分の1サブサンプリングした画像である。
なお、図5に示すように、動きベクトル決定部5006と符号化部5007とは、第1の実施形態と同様の役割を行う。
(4)ブロックマッチング
次に、ブロックマッチングについて詳細を述べる。
符号化画像から切り出された動き検出対象ブロックは、図2中に示すように異なる位相の画素でサブサンプリングされ、サブブロックA、サブブロックB、サブブロックC、サブブロックDに分離される。これらは、それぞれ図1におけるサブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006に格納される。
参照画像から切り出したブロックマッチング領域と、各サブブロック間でブロックマッチングを行うが、この順序は、図2に示すように<1> サブブロックAとブロックマッチング領域、<2> サブブロックBとブロックマッチング領域、<3> サブブロックCとブロックマッチング領域、<4> サブブロックDとブロックマッチング領域の順として説明する。
<1> サブブロックAのブロックマッチング時には、動きベクトルの始点(0,0)を探索中心点とする。動きベクトルの始点は、動き検出対象ブロックを符号化画像から切り出した範囲の左上の位置である。そして、動きベクトルの始点は、選択頻度が高く必ず評価したいが、<2> <3> <4> のブロックマッチングでは、サブブロックのサンプリングの位相と、間引き参照画像のサブサンプリングの位相が異なるので動きベクトルの始点(0,0)を評価できないためにこのような操作を行う。
<1> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<2> のブロックマッチングの際の探索中心点として利用する。
<2> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<3> のブロックマッチングの際の探索中心点として利用する。
<3> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<4> のブロックマッチングの際の探索中心点として利用する。
計4回のブロックマッチングにおいて、探索中心点がそれぞれ設定され、ブロックマッチング範囲が図2のようにシフトする。
本実施形態では、初期探索範囲(図2中での<1> の領域)に解があれば、その周囲を密に評価し、解が遠い場合には、探索範囲を解方向にシフトさせることにより、荒い探索にはなるが、遠くまで探索するというように、動き量に合わせて適応的にハードウェアリソース(図1中、計算回路1008)を割り当てることが可能となる。また、動画像符号化において、比較的選択される頻度が高い動きベクトルの始点(0,0)を必ず評価することができる。
(第5の実施形態)
本発明の第4の実施形態の動き検出装置1000について図1〜図4に基づいて説明する。本実施形態は、16x16ブロックを8x8ブロックの4つに分離し、かつ、探索中心点始点(0,0)にシフトする場合である。
本実施形態に関わる動き検出装置1000の構成は、図1に示すように第1の実施形態と同様である。
(1)サブサンプリング
符号化画像1001から切り出された動き検出対象ブロック1002は、サブサンプリング分離された後、サブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006にそれぞれ格納される。
このときの、サブサンプリングする分離方法は、図2に示すとおりであり、動き検出対象ブロック2000は、サブブロックA2001、サブブロックB2002、サブブロックC2003、サブブロックD2004に分割される。
(2)設定部1007
設定部1007は、サブブロックA、サブブロックB、サブブロックC、サブブロックDにブロックマッチングを適用する順序と、動き検出の際の探索中心点の設定を行う。
本実施形態では、動き検出を適用する順序は、サブブロックバッファAを最初に評価する。サブブロックAは、水平垂直両方向ともに偶数位置をサブサンプリングしており、間引き参照画像とサブサンプリングの位相が等しいものとする。以降の動き検出を適用する順序は、サブブロックB、サブブロックC、サブブロックDの順序とする。
(3)計算回路1008
計算回路1008は、設定部1007から受けた動きベクトル探索範囲となる領域を、間引き参照画像1011(水平垂直両方向それぞれ偶数位置を2分の1サブサンプリング)から動き検出範囲1012として切り出し、各サブブロックと動き検出範囲1012との間で動きベクトル検出処理を行う。
なお、図5に示すように、動きベクトル決定部5006と符号化部5007とは、第1の実施形態と同様の役割を行う。
(4)ブロックマッチング
次に、ブロックマッチングについて詳細を述べる。
符号化画像から切り出された動き検出対象ブロックは、図2中に示すように異なる位相の画素でサブサンプリングされ、サブブロックA、サブブロックB、サブブロックC、サブブロックDに分離される。
これらは、それぞれ図1におけるサブブロックAバッファ1003、サブブロックBバッファ1004、サブブロックCバッファ1005、サブブロックDバッファ1006に格納される。
参照画像から切り出したブロックマッチング領域と、各サブブロック間でブロックマッチングを行うが、この順序は、図2に示すように<1> サブブロックAとブロックマッチング領域、<2> サブブロックBとブロックマッチング領域、<3> サブブロックCとブロックマッチング領域、<4> サブブロックDとブロックマッチング領域の順として説明する。
<1> 動き検出対象ブロックAのブロックマッチング時には、周囲のブロックの動きベクトルから予測する予測ベクトルの終点を探索中心点とする。しかし、探索範囲内で、動きベクトルの始点(0,0)の評価ができない場合は、動きベクトルの始点(0,0)の評価を行えるように探索中心点をシフトする。これは、動きベクトルの始点(0,0)は、選択頻度が高く必ず評価したいが、<2> <3> <4> のブロックマッチングでは、サブブロックのサンプリングの位相と、間引き参照画像のサブサンプリングの位相が異なるので動きベクトル始点(0,0)を評価できないためにこのような操作を行う。
<1> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<2> のブロックマッチングの際の探索中心点として利用する。
<2> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<3> のブロックマッチングの際の探索中心点として利用する。
<3> のブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、<4> のブロックマッチングの際の探索中心点として利用する。
計4回のブロックマッチングにおいて、探索中心点がそれぞれ設定され、ブロックマッチング範囲が図2のようにシフトする。
本実施形態では、初期探索範囲(図2中での<1> の領域)に解があれば、その周囲を密に評価し、解が遠い場合には、探索範囲を解方向にシフトさせることにより、荒い探索にはなるが、遠くまで探索するというように、動き量に合わせて適応的にハードウェアリソース(図1中、計算回路1008)を割り当てることが可能となる。また、動画像符号化において、比較的選択される頻度が高い動きベクトルの始点(0,0)を必ず評価することができる。
(第6の実施形態)
本発明の第3の実施形態の動き検出装置5000について図5〜図7に基づいて説明する。本実施形態は、参照画像について垂直方向の間引きは行わずにフレーム符号化モード、または、フィールド符号化モードの判定をコスト計算で行う場合である。
本実施形態に関わる動き検出装置5000の構成は、図5に示すように第2の実施形態と同様である。
(1)サブサンプリング
符号化画像5001から切り出された動き検出対象ブロック5002は、サブサンプリング分離された後、サブブロックAバッファ6001、サブブロックBバッファ6002にそれぞれ格納される。
このときのサブサンプリング分離の方法は、図7に示す通りであり、動き検出対象ブロック7000は、サブブロックA7003、サブブロックB7004に分割される。
(2)設定部5004
設定部5004は、サブブロックA、サブブロックBに、ブロックマッチングを適用する順序と動き検出の際の動きベクトル探索範囲の設定を行う。
この例では、サブブロックバッファA、サブブロックBの順序とするが、この順序に制約するものではない。
(3)計算回路5005
計算回路5005は、設定部5004から受けた動きベクトル探索範囲となる領域を、間引き参照画像5008(水平方向で2分の1サブサンプリングしてある)から動き検出範囲5009として切り出し、各サブブロックと動き検出範囲5009との間で動きベクトル検出処理を行う。
動きベクトル検出において、サブブロックAのブロックマッチング時の探索領域中心の設定は、周囲のブロックが持つ動きベクトルから得られる予測ベクトルの終点により決定する。
サブブロックAのブロックマッチングの結果、最もブロック間の類似度の高かった動きベクトルの終点を、サブブロックBの探索中心点として利用する。サブブロックAとサブブロックBは、水平方向のサンプリング位置が異なるため、得られる動きベクトルは、垂直方向は共に1画素精度であるが、水平方向は、サブブロックAで偶数、サブブロックBで奇数となる。
これにより、本実施形態では、初期探索範囲に解があれば、その周囲を密に評価し、解が遠い場合には、探索範囲が解方向にシフトすることにより、荒い探索にはなるが、遠くまで探索するというように、動き量に合わせて適応的にハードウェアリソースを割り当てることが可能となる。
(4)動きベクトル決定部5006
動きベクトル決定部5006は、計算回路5007から、動きベクトルとブロック間の類似度を随時受け取る。計算回路5007では、フレーム符号化モードの場合の類似度とフィールド符号化モードの場合の類似度を算出する。
このときの類似度は、MEコストに加えて、フレーム符号化モードの類似度には、フレームらしさを表現する値、フィールド符号化モードの類似度には、フィールドらしさを表現する値を加える。「フレームらしさ」、「フィールドらしさ」を表現する値とは、例えば、フレーム画像の水平方向ライン間の差分絶対値和が小さいときにフレームらしさが高く、大きいときにフィールドらしさが高いといった値である。
最終的に類似度が高いブロックのモード(フレーム符号化モード、または、フィールド符号化モードのどちらか一方のモード)と動きベクトルを決定する。
また、サブブロックと動き検出範囲のブロックマッチングが完了するたびに、それぞれのブロックマッチングで最も類似度が高かった動きベクトルを、次のサブブロックのブロックマッチングを行う際に、動き検出範囲を設定するための探索中心点として利用する。
なお、符号化部5007は、第1の実施形態と同様の役割を行う。
(変更例)
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変更することができる。
例えば、上記各実施形態ではサブブロックに対する動き検出の順序を、サブブロックA、サブブロックB、サブブロックC、サブブロックDとしているが、この順序に制約するものではない。
本発明の第1、4、5の実施形態に関わる動き検出装置のブロック図である。 上記実施形態に関わる動き検出装置の処理概要を示す図である。 上記実施形態に関わる動き検出装置における動き検出対象ブロックのサブサンプリング分離例を示す図である。 上記実施形態に関わる動き検出装置における異なる位相でサブサンプリング分離した動き検出対象ブロックと間引き参照画像間で得られる動きベクトルを示す図である。 第2、3、6の実施形態に関わる動き検出装置のブロック図である。 上記実施形態に関わる動き検出装置におけるサブブロックバッファの構成例である。 上記実施形態に関わる動き検出装置における動き検出対象ブロックのサブサンプリング分離例を示す図である。 上記実施形態に関わる動き検出装置における動き検出対象ブロックのサブサンプリング分離例を示す図である。 従来例における動き検出装置の処理概要を示す図である。 従来例と本発明の実施形態の比較を示す表である。
符号の説明
1000 動き検出装置
1001 当該画像
1002 動き検出対象ブロック
1003 サブブロックAバッファ
1004 サブブロックBバッファ
1005 サブブロックCバッファ
1006 サブブロックDバッファ
1007 設定部
1008 計算回路
1009 動きベクトル決定部
1010 直行変換・量子化部等の符号化部
1011 間引き参照画像
1012 動き検出範囲

Claims (6)

  1. 符号化画像から切り出された動き検出対象ブロックと、参照画像との間で動きベクトルの検出を行う動き検出装置において、
    前記動き検出対象ブロックを互いに画素のサンプリング位置が異なる複数のサブブロックに分離するサンプリング部と、
    前記参照画像から、前記複数のサブブロックの中のいずれか一つのサブブロックと同じ位置で画素をサンプリングすることにより間引き参照画像を生成する間引き参照画像生成部と、
    前記複数のサブブロックの各々に関して、探索中心点を基準にして前記各サブブロックと前記間引き参照画像との間のブロックマッチングにより前記各サブブロックの動きベクトルを求めるとともに、前記動きベクトルを用いて次のサブブロックの前記探索中心点を設定する動きベクトル算出部と、
    前記複数のサブブロックに関して求められた複数の動きベクトルの中から最も類似度が高い動きベクトルを選択することにより、前記動き検出対象ブロックの動きベクトルを求める最終動きベクトル選択部と、
    を有する動き検出装置。
  2. 前記探索中心点は、
    前記動き検出対象ブロックの周囲に位置し、かつ、既にブロックマッチングが完了して求められた動きベクトルから予測する予測ベクトルの終点である、
    請求項1記載の動き検出装置。
  3. 前記サブブロックは、前記間引き参照画像と同じ位置で画素をサンプリングしたサブブロックであり、
    前記探索中心点は、前記動きベクトルの始点である、
    請求項1記載の動き検出装置。
  4. 前記サブブロックは、前記間引き参照画像と同じ位置で画素をサンプリングしたサブブロックであり、
    前記動き検出対象ブロックの周囲に位置し、かつ、既にブロックマッチングが完了して求められた動きベクトルから予測する予測ベクトルの終点を探索中心点とした場合に、
    (1)前記探索範囲内に前記動きベクトルの始点が含まれていれば、そのまま予測ベクトルの終点を前記探索中心点とし、
    (2)前記動きベクトルの始点が含まれていなければ、前記動きベクトルの始点が含まれるように移動した位置を探索中心点とする、
    請求項1記載の動き検出装置。
  5. 前記参照画像の水平方向のみの間引きを行い、前記ブロックマッチングのコスト計算に基づいてフィールド符号化モードの類似度とフレーム符号化モードの類似度をそれぞれ算出する類似度計算部と、
    前記類似度が高い方のモードで、前記符号化画像をブロック単位に符号化する符号化部と、
    を有する請求項1記載の動き検出装置。
  6. 符号化画像から切り出された動き検出対象ブロックと、参照画像との間で動きベクトルの検出を行う動き検出方法において、
    前記動き検出対象ブロックを互いに画素のサンプリング位置が異なる複数のサブブロックに分離し、
    前記参照画像から、前記複数のサブブロックの中のいずれか一つのサブブロックと同じ位置で画素をサンプリングすることにより間引き参照画像を生成し、
    前記複数のサブブロックの各々に関して、探索中心点を基準にして前記各サブブロックと前記間引き参照画像との間のブロックマッチングにより前記各サブブロックの動きベクトルを求めるとともに、前記動きベクトルを用いて次のサブブロックの前記探索中心点を設定し、
    前記複数のサブブロックに関して求められた複数の動きベクトルの中から最も類似度が高い動きベクトルを選択することにより、前記動き検出対象ブロックの動きベクトルを求める、
    動き検出方法。
JP2006263497A 2006-09-27 2006-09-27 動き検出装置及びその方法 Pending JP2008085674A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006263497A JP2008085674A (ja) 2006-09-27 2006-09-27 動き検出装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006263497A JP2008085674A (ja) 2006-09-27 2006-09-27 動き検出装置及びその方法

Publications (1)

Publication Number Publication Date
JP2008085674A true JP2008085674A (ja) 2008-04-10

Family

ID=39356068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006263497A Pending JP2008085674A (ja) 2006-09-27 2006-09-27 動き検出装置及びその方法

Country Status (1)

Country Link
JP (1) JP2008085674A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010297A (ja) * 2009-06-23 2011-01-13 Hon Hai Precision Industry Co Ltd 誤差絶対値和の推定システム及び推定方法
US9986189B2 (en) 2016-01-04 2018-05-29 Samsung Electronics Co., Ltd. Pixel sensors and imaging devices for providing multiple sub sample images within a single frame

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010297A (ja) * 2009-06-23 2011-01-13 Hon Hai Precision Industry Co Ltd 誤差絶対値和の推定システム及び推定方法
US9986189B2 (en) 2016-01-04 2018-05-29 Samsung Electronics Co., Ltd. Pixel sensors and imaging devices for providing multiple sub sample images within a single frame

Similar Documents

Publication Publication Date Title
CN110557640B (zh) 加权交织预测
TWI617185B (zh) 具有仿射運動補償的視訊編碼的方法以及裝置
US20230308676A1 (en) Video signal processing method and apparatus using adaptive motion vector resolution
US10582215B2 (en) Inter prediction method and apparatus in video coding system
RU2761511C2 (ru) Окно ограниченного доступа к памяти для уточнения вектора движения
JP2001169288A (ja) 動きベクトル探索装置および方法
JP2006333436A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び、動画像復号プログラム
CN113597764A (zh) 用于自适应分辨率视频编码的帧间编码
CN112292861B (zh) 用于解码端运动矢量修正的基于误差面的子像素精确修正方法
JP2011135326A (ja) 画像処理装置および方法、並びにプログラム
CN114208171A (zh) 用于推导用于生成预测样本的权重索引信息的图像解码方法和装置
WO2014166412A1 (zh) 一种视频编码方法、解码方法和装置
JP6280679B2 (ja) フレーム間引き装置、フレーム補間装置、映像符号化装置、映像復号装置、及びこれらのプログラム
JP4944046B2 (ja) 映像符号化方法,復号方法,符号化装置,復号装置,それらのプログラムおよびコンピュータ読み取り可能な記録媒体
JP2008085674A (ja) 動き検出装置及びその方法
JP6390275B2 (ja) 符号化回路、符号化方法
JP5479648B1 (ja) 画像符号化方法及び画像復号化方法
JP5444497B2 (ja) 画像符号化方法及び画像復号化方法
US9432690B2 (en) Apparatus and method for video processing
JP2006254347A (ja) 画像符号化装置
JP5571262B2 (ja) 画像符号化方法及び画像復号化方法
JP6271694B2 (ja) 画像符号化方法及び画像復号化方法
JP6196341B2 (ja) 画像符号化方法及び画像復号化方法
JP5659314B1 (ja) 画像符号化方法及び画像復号化方法
JP5509398B1 (ja) 画像符号化方法及び画像復号化方法