JP2013026756A - 画像符号化装置 - Google Patents
画像符号化装置 Download PDFInfo
- Publication number
- JP2013026756A JP2013026756A JP2011158556A JP2011158556A JP2013026756A JP 2013026756 A JP2013026756 A JP 2013026756A JP 2011158556 A JP2011158556 A JP 2011158556A JP 2011158556 A JP2011158556 A JP 2011158556A JP 2013026756 A JP2013026756 A JP 2013026756A
- Authority
- JP
- Japan
- Prior art keywords
- search
- reference image
- motion vector
- blocks
- motion search
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】
多段階動き探索方式の動きベクトル検出における参照画像取得のバス効率を改善する。
【解決手段】
符号化対象画像がフレームバッファ(101)に格納され、参照フレームバッファ(114)に局所復号化で得られた参照画像が格納される。動き探索部(102a)は符号化対象画像と参照画像を対比し低精度の動きベクトル検出を行う。ベクトル相対位置算出部(103)は動き探索部(102a)による第一段階の動きベクトル情報から、連続処理を行うブロックの動きベクトル間の相対位置を算出する。読み出し制御部(104)は、動きベクトル間の相対位置がバス効率を改善する範囲にある場合、そのブロックの参照画像を1アクセスでまとめて読み出し、それ以外では別々に読み出す。動き探索部(102b)は、第一段階の動きベクトル位置を基準に符号化対象画像と参照画像から高精度の動きベクトル検出を行う。
【選択図】 図1
多段階動き探索方式の動きベクトル検出における参照画像取得のバス効率を改善する。
【解決手段】
符号化対象画像がフレームバッファ(101)に格納され、参照フレームバッファ(114)に局所復号化で得られた参照画像が格納される。動き探索部(102a)は符号化対象画像と参照画像を対比し低精度の動きベクトル検出を行う。ベクトル相対位置算出部(103)は動き探索部(102a)による第一段階の動きベクトル情報から、連続処理を行うブロックの動きベクトル間の相対位置を算出する。読み出し制御部(104)は、動きベクトル間の相対位置がバス効率を改善する範囲にある場合、そのブロックの参照画像を1アクセスでまとめて読み出し、それ以外では別々に読み出す。動き探索部(102b)は、第一段階の動きベクトル位置を基準に符号化対象画像と参照画像から高精度の動きベクトル検出を行う。
【選択図】 図1
Description
本発明は、動画像データを圧縮符号化する画像符号化装置に関し、特に所定のブロック単位で動きベクトル検出処理を行う画像符号化装置に関する。
近年、動画像の高解像度化が進んでいる。例えば、デジタルビデオカメラやデジタルテレビなどでは、1920画素×1080画素の画素数を有するHD(High-Definition)映像を扱う製品が既に主流となっている。この高解像度化は今後も進んでいく見通しであり、将来的には4000画素×2000画素や8000画素×4000画素の画像を扱うことが予想される。このような高解像度の画像データを符号化する場合、画素数の増加に応じて画素データのアクセス量と処理量が増大する。
動画像データを圧縮して記録するために、様々な画像圧縮符号化方式が提案されている。代表的な画像圧縮符号化方式として、MPEG−2、MPEG−4及びH.264/MPEG−4 AVC等が挙げられる。これらの圧縮符号化方式では、画像をマクロブロックと呼ばれる16×16画素に分割し、このマクロブロック単位で符号化を行う。即ち、符号化の主要な処理、例えば、動きベクトル検出、周波数変換、量子化処理、可変長符号化処理等をマクロブロック単位で行う。
これらの処理のうち、最も処理量が多く、データの読み出し量が多いのが、動きベクトル検出処理である。動きベクトル検出処理は、符号化を行うマクロブロックに対して、参照画像と符号化対象画像との間でブロックマッチングを取り、両者が最も一致する位置を動きベクトル位置として検出する。検出された動きベクトル位置に対して動き補償処理を行うことで、符号化効率を高めることができる。
動きベクトル検出方法として様々な方法が提案されている。代表的な方法に多段階動き探索方式がある。これは、まず粗い精度で動き探索を行い、その結果を用いて細かい精度の動き探索を行うというように、精度が異なる探索を多段階に分けて動きベクトル検出を行う方式である。この方法は、探索範囲の全ての探索位置でブロックマッチングを行う全探索法と比較して、トータルの演算量が少ない。
多段階動き探索方式を具体的に説明する。例えば、第一段階動き探索として画像を縦横ともに1/2に間引いた(または縮小した)画像を用いて2画素精度の動きベクトル検出を行う。そして、第二段階動き探索で第一段階動き探索結果の動きベクトル位置を中心として、整数画素精度の動きベクトル検出を行う。更には、第三段階動き探索以降で、1/2画素精度の動きベクトル検出又は1/4画素精度の動きベクトル検出を行う方式も知られている。
動画像符号化時のハードウエア上の問題は、データのアクセス量増加によるバスボトルネックである。高解像度化と頻繁なメモリアクセスを伴う動きベクトル検出処理により、符号化処理部とフレームメモリとの間の転送データ量が膨大になり、バスボトルネックにより所望の性能が満たせないことがある。そこで、データバスへのアクセス量を低減して、バスボトルネックを回避する必要がある。
データバスへのアクセス量を低減するには、フレームメモリへのデータアクセス量そのものを減らす方法と、データアクセスを行う際のバス効率を改善する方法の2種類が考えられる。
フレームメモリへのデータアクセス量を低減する方法として、複数のマクロブロックの符号化処理において、同一の参照画像を用いて処理を行うことができるマクロブロックを並列処理する方法が知られている(特許文献1)。この方法により、参照画像を読み込むためのメモリアクセス数が削減される。
またバス効率を改善する方法としては、1回のアクセスの際のバースト長を長くする方法が知られている。一般に、SDRAM(Synchronous Dynamic Random Access Memory)などの主記憶手段やメモリバスなどのスループット性能は、シングルアクセスと比較してバーストアクセスの方が優れている。従って、バースト長が長いほどアクセス効率が良くなる。フレームメモリへのデータアクセス量が同じ場合でも、1回のアクセスあたりのバースト長が長い方が、データバスの占有時間が短くなり、バス効率が向上する。
H.264のような画像圧縮符号化方式では、動きベクトル検出はマクロブロック単位で実行される。多段階動き探索方式の動きベクトル検出では、第一段階動き探索が終了した時点で第二段階動き探索の探索範囲が決定する。第二段階動き探索の探索範囲はマクロブロックごとに異なるので、第二段階動き探索用の参照画像はマクロブロックごとにデータの取得が行われることになる。符号化を行うマクロブロックごとに第二段階動き探索用の参照画像を取得することにより、1回あたりの参照画像の読み込み量はマクロブロック1個の探索に必要な量に限定されてしまう。すなわち、1回あたりのデータの読み込み量が少ないので、データアクセスの際のバースト長が短くなり、バス効率が低下してしまう。
本発明は、このような問題点を解決する画像符号化装置を提示することを目的とする。
本発明に係る画像符号化装置は、多段階動き探索により所定のブロック単位で動きベクトル検出を行う画像符号化装置であって、連続して処理を行う複数のブロックの第一段階動き探索での動きベクトル間の相対位置を算出する算出手段と、前記連続して処理を行う複数のブロックのベクトル間の相対位置が、第二段階動き探索用の参照画像をブロック単位で取得するよりも前記複数のブロック分まとめて取得することでバス占有量が小さくなる所定の範囲にあるかどうかを判定する判定手段と、第二段階動き探索用の参照画像を記憶する参照画像記憶手段と、前記判定手段に従い、前記連続して処理を行う複数のブロックのベクトル間の相対位置が前記所定の範囲にある場合に、前記複数のブロックの第二段階動き探索に必要となる参照画像を1回のアクセスでまとめて前記参照画像記憶手段から取得し、前記所定の範囲に無い場合に、前記複数のブロックの第二段階動き探索に必要となる参照画像を別々に前記参照画像記憶手段から取得する参照画像取得手段とを具備することを特徴とする。
本発明によれば、複数ブロックの第一段階動き探索の動きベクトルが近接している場合において、第二段階動き探索に必要な参照画像を1回のバスアクセスでまとめて取得できる。これにより、バスアクセスのバースト長を長くすることができ、バス効率を上げることができる。バス効率を上げることによって、1ブロックあたりのデータバスへのアクセス量を小さくすることができる。
以下、図面を参照して、本発明の実施例を詳細に説明する。
図1は、H.264符号化方式に適用した本発明に係る画像符号化装置の一実施例の概略構成ブロック図である。この実施例の画像符号化装置では、2段階動き探索方式で動きベクトル検出を行うものとしている。すなわち、第一段階動き探索では2画素精度の探索を行い、第二段階動き探索では1/2画素精度の探索を行う。また、1/2画素精度の探索を行う際、1/2画素位置の参照画像には縦横ともに6TAPフィルタをかけたものを使用する。なお、動きベクトル検出方法自体は、本実施例で採用したものに限定されず、多段階動き探索を用いた動きベクトル検出方法であれば、どんな方法も、本発明に適用可能である。
符号化しようとする入力画像(符号化対象画像)は、フレームバッファ101に格納される。他方、参照フレームバッファ(参照画像記憶手段)114には、先行して符号化され局所復号化された画像データが、参照画像として格納されている。
第一段階動き探索部102aは、所定のブロック(例えばマクロブロック)単位で、フレームバッファ101の符号化対象画像と参照フレームバッファ114の参照画像を対比し、2画素精度の動きベクトル検出を行う。具体的には、第一段階動き探索部102aは、符号化対象画像と参照画像をそれぞれ1/2に間引きながら読み出し、ブロックマッチングを行って、2画素精度の第一段階の動きベクトル検出を行う。検出された第一段階の動きベクトル情報は、ベクトル相対位置算出部103及び第二段階動き探索部102bに送られる。
ベクトル相対位置算出部103は、第一段階動き探索部102aからの第一段階の動きベクトル情報を保存し、連続して処理を行う複数のブロックの動きベクトル間の相対位置を算出する。算出された動きベクトルの相対位置は、読み出し制御部104に送られる。読み出し制御部104は、ベクトル相対位置算出部103からの動きベクトルの相対位置により、第二段階動き探索用の参照画像の読み出し方法を変更する。読み出し方法の詳細は、後で説明する。
第二段階動き探索部102bは、第一段階動き探索部102aが出力する第1段階の動きベクトルの指し示す位置を基準として、さらに1/2画素精度の動きベクトル検出を行う。具体的には、第二段階動き探索部102bは、フレームバッファ101の符号化対象画像と参照フレームバッファ114の参照画像を読み出し、参照画像には縦横ともに6TAPフィルタをかけ、1/2画素位置の参照画像を作成する。そして、符号化対象画像と参照画像との間でブロックマッチングをとり、第二段階の動きベクトル検出を行う。検出された第二段階の動きベクトル情報は予測部105に送られる。
予測部105は、フレームバッファ101の符号化対象画像と、第二段階の動きベクトルによって示される位置の参照画像(予測画像)との間で差分をとり、その差分画像を直交変換部106に出力する。直交変換部106は、予測部105からの差分画像に離散コサイン変換を行い、得られた変換係数を量子化部107に出力する。
量子化制御部108は、エントロピー符号化部109から受け取った発生符号量を用いて、目標符号量になるように量子化ステップサイズを決定し、量子化部107に出力する。量子化部107は、直交変換部106からの変換係数を量子化制御部108が出力する量子化ステップサイズに従い量子化する。量子化された変換係数は、符号化ストリーム作成のためにエントロピー符号化部109に供給され、局所復号化画像の作成のために逆量子化部110に供給される。
エントロピー符号化部109は、量子化された変換係数にジグザグスキャン又はオルタネートスキャン等を行い、エントロピー符号化する。エントロピー符号化部109は、エントロピー符号化により生成される符号データに、動きベクトル、量子化ステップサイズ及びマクロブロック分割情報などの符号化方式情報を可変長符号化したものを付加して、符号化ストリームを生成する。エントロピー符号化部109はまた、マクロブロックごとの発生符号量を算出し、量子化制御部108に出力する。
逆量子化部110は、量子化された変換係数を逆量子化し、ローカルデコード用の変換係数を生成し、逆直交変換部111に供給する。逆直交変換部111は、逆量子化部110の出力を逆離散コサイン変換して差分画像を生成又は復元し、動き補償部112に供給する。
動き補償部112は、動きベクトル位置の参照画像を参照フレームバッファ114から読み出し、ローカルデコード用の参照画像を生成する。生成された参照画像を逆直交変換部111からの差分画像に加算することにより、画像データを復元する。復元された画像データはデブロッキングフィルタ113に出力される。
デブロッキングフィルタ113は、動き補償部112からの画像データにデブロッキングフィルタをかける。デブロッキングフィルタ後の画像が、局所復号化(ローカルデコード)画像として参照フレームバッファ114に格納される。
ベクトル相対位置算出部103及び読み出し制御部104による第二段階動き探索用の参照画像の読み出し方法を説明する。ここでは、隣接する2つのマクロブロックの動きベクトル検出を行う場合を説明する。通常、H.264符号化方式ではマクロブロック単位でラスタ順に処理が行われる。左右に隣接するマクロブロックは連続して順番に処理が行われることになる。探索方式として第一段階動き探索では2画素精度の探索を行い、第二段階動き探索では、第一段階動き探索のベクトル位置を中心とした、縦方向に±0.5画素範囲、横方向に±1.5画素範囲での1/2画素精度の探索を行う。マクロブロックのサイズは16×16画素とする。
図2は、第一段階動き探索の例を示す。まず、第一のマクロブロック201の2画素精度の第一段階動き探索を行う。次に第二のマクロブロック202の2画素精度の第一段階動き探索を行う。ここで、第一のマクロブロック201の動きベクトルと第二のマクロブロック202の動きベクトルの相対位置を算出する。図2に示すように、第一のマクロブロック201の動きベクトルを(x1,y1)、第二のマクロブロック202の動きベクトルを(x2,y2)とする。第一のマクロブロック201の動きベクトルに対する第二のマクロブロック202の動きベクトルの相対位置を(rx,ry)とすると、(rx,ry)は、下記式(1)、(2)で与えられる。すなわち、
rx=x2−x1+16 (1)
ry=y2−y1 (2)
rx=x2−x1+16 (1)
ry=y2−y1 (2)
図3は、第二段階動き探索用の参照画像の範囲を示す。読み出し制御部104は、第一のマクロブロック201の参照画像301と第二のマクロブロック202の参照画像302を参照フレームバッファ114から第二段階動き探索部102bに読み出す。参照画像301および参照画像302はそれぞれ、動きベクトル(x1,y1)、(x2,y2)を中心として縦方向に±0.5画素範囲、横方向に±1.5画素範囲の探索を行うのに必要な参照画像の範囲である。半画素位置の探索用に参照画像には縦横ともに6TAPフィルタをかけるので、必要となる参照画像はマクロブロックサイズの16×16画素に縦±3画素、横±4画素を加えた24×22画素となる。
動きベクトルの相対位置(rx,ry)がある所定の範囲内にある場合、参照画像301と参照画像302を1回のバスアクセスでまとめて取得する。図4は参照画像の取得範囲を示す。具体的には、参照画像301および参照画像302を含む参照画像401を、1回のバスアクセスでまとめて第二段階動き探索部102bに読み出す。
動きベクトルの相対位置(rx,ry)がどの範囲にある場合に2マクロブロック分の参照画像をまとめて取得するのかは、第二段階動き探索の探索範囲及びメインメモリへのバーストアクセス長によるバス効率に依存する。
SDRAMへのバーストリードアクセスによるバス効率を説明する。SDRAMへのバーストリードアクセス時のリードサイクルを図5に示す。最初に動作開始を宣言するためのアクティブコマンド(act)とロウアドレス(row)をラッチする。次にリードコマンド(red)とカラムアドレス(col)をラッチする。その後、数クロック遅れてデータがリードされる。データはバースト長のサイズ分だけ連続してリードされる。
このように、SDRAMへのバーストリードアクセスにおいては、アクセスの初めにコマンドアクセス分のオーバーヘッドがあり、その後にバースト長のデータサイズのアクセスが行われる。この結果、バースト長が長いほど、単位データあたりの転送効率が良くなる。このバースト長による転送効率を考慮すると、2マクロブロックの参照画像範囲が近い場合、2回のバスアクセスで別々に参照画像を取得するよりも、1回のバスアクセスで参照画像をまとめて取得した方がバスの占有量を少なくできる。
例として、バースト長が255以下のときのバス効率を50%、バースト長が256以上のときのバス効率を70%であるとする。バス効率とは、バスを占有しているサイクル数に占める実際のデータ転送量の割合を示す。SDRAMへのアクセスは4画素単位で行うものとし、4画素アクセスで1バーストとする。
第二段階動き探索用のマクロブロック1個分の参照画像は24×22画素である。この場合のバースト長は、
24×22/4=132(バースト) (3)
となる。バス効率が50%であるので、実際のバスの占有量は、
132×(100/50)=264(サイクル) (4)
となる。2マクロブロック分のバス占有量は、式(4)の結果を2倍にして、528サイクルとなる。
24×22/4=132(バースト) (3)
となる。バス効率が50%であるので、実際のバスの占有量は、
132×(100/50)=264(サイクル) (4)
となる。2マクロブロック分のバス占有量は、式(4)の結果を2倍にして、528サイクルとなる。
2マクロブロック分の参照画像を1回のバスアクセスでまとめて取得する条件を考える。第一段階動き探索の動きベクトルの相対位置(rx,ry)により、データ転送量が変動する。このデータ転送量がある量より少ない場合、2マクロブロックの参照画像を2回のバスアクセスで別々に取得するよりも1回のバスアクセスでまとめて取得した方が、バス占有量が小さくなる。
上記の数値例では、データ転送量が256よりも小さい場合に、2マクロブロック分を別々に転送するときよりも転送量そのものが小さくなるので、実際のバス占有量も小さくなる。それを踏まえて、データ転送量が256以上の場合について考える。
データ転送量が256以上の場合、バースト長が256以上なのでバス効率は70%となる。このとき、2マクロブロック分を別々に転送するよりもバス占有量が小さくなるデータ転送量data_sizeは、
data_size×(100/70)<528 (5)
となる。
data_size×(100/70)<528 (5)
となる。
式(5)より、data_size<396.6となる。このようなデータ転送量になる動きベクトルの相対位置(rx,ry)のときに、参照画像を2マクロブロック分まとめて取得すると、バス効率まで考慮した実際のバス占有量を小さくすることができる。
例えば、動きベクトルの相対位置(rx,ry)が(−16〜16、−4〜4)の場合に、2マクロブロック分の参照画像をまとめて取得するものとする。この範囲での最大のデータ転送量は(rx,ry)=(16、4)のケースで44×26画素となる。このときのバースト長は286バーストであり、バス効率は70%となる。バス占有量は、
286×(100/70)=409(サイクル) (6)
となる。2マクロブロックの参照画像を別々に取得する場合のバス占有量は528サイクルであり、これと比較して、バス占有量を小さくできることがわかる。
286×(100/70)=409(サイクル) (6)
となる。2マクロブロックの参照画像を別々に取得する場合のバス占有量は528サイクルであり、これと比較して、バス占有量を小さくできることがわかる。
図6は、以上の動作のフローチャートを示す。第一段階動き探索部102aが、第一のマクロブロック201と第二のマクロブロック202の第一段階動き探索を行う(S61)。ベクトル相対位置算出部103が、動き探索の結果から第一のマクロブロック201の動きベクトルと第二のマクロブロック202の動きベクトルの相対位置(rx,ry)を算出する(S62)。
読み出し制御部104は、動きベクトルの相対位置(rx,ry)が第二段階動き探索用の参照画像取得時にバス占有量を小さくできるような、ある所定の範囲内にあるかどうかを判定する(S63)。動きベクトルの相対位置(rx,ry)が所定の範囲内にある場合、読み出し制御部104は、第二段階動き探索に必要な参照画像の2マクロブロック分を1回のバスアクセスでまとめて参照フレームバッファ114から読み出す(S64)。動きベクトルの相対位置(rx,ry)がある所定の範囲内にない場合、読み出し制御部104は、第二段階動き探索に必要な参照画像をマクロブロックごとに2回のバスアクセスで別々に参照フレームバッファ114から読み出す(S65)。
読み出された参照画像は、第二段階動き探索部102bに供給される。第二段階動き探索部102bは、第一のマクロブロック201と第二のマクロブロック202の第二段階動き探索を行い、動きベクトル検出動作を完了する(S66)。
このような動作により、本実施例では、バス効率を考慮したバス占有量、すなわちデータバスに対するアクセス量を小さくすることができる。すなわち、第二段階動き探索に必要となる参照画像を1回のアクセスで2マクロブロック分まとめて取得することにより、バースト長を長くし、バス効率を上げることができる。そして、バス効率の向上により、データバスへのアクセス量を低減することができる。
隣接する2つのマクロブロックの場合を例に説明したが、本発明はこのような状況に限らず、連続して処理を行う2つ以上のマクロブロックに対して適用可能である。
第一段階動き探索時に2マクロブロック分の参照画像を1回のバスアクセスでまとめて取得することによりバス占有量を小さくできる探索範囲を、それ以外の探索範囲よりも選択されやすくした変更実施例を説明する。図1に示す実施例に対する変更部分を詳細に説明する。
図7は、本実施例での動きベクトル検出の例を示す。実施例1の場合と同様、2段階動き探索方式を用いて、隣接する2つのマクロブロックの動きベクトル検出を行う場合を示す。
第一のマクロブロック201の第一段階動き探索を行う。その結果、第一のマクロブロック201の第一段階の動きベクトル701が検出される。第二のマクロブロック202の探索範囲702のうち、第二段階動き探索用の参照画像を2マクロブロック分まとめて取得することによりバス占有量を小さくできる探索範囲703を決定する。実施例1で述べたように、この探索範囲703は、第二段階動き探索の探索範囲、及びメインメモリへのバーストアクセス長によるバス効率に依存する。
動きベクトル位置の決定方法を簡単に説明する。動きベクトル位置の決定では、一般的に、符号化対象画像と参照画像を減算して得られる差分データをベースにしたコスト関数が用いられる。コスト関数(ここではCostとする)には、色々な関数が考えられるが、代表的には、
Cost=SATD+Qp×Mvcost (7)
が知られている。SATDは、符号化対象画像と参照画像を減算して得られた差分データに対してアダマール変換をかけたものに対し差分絶対値和演算を行った結果である。Qpは量子化処理に使用される量子化値である。Mvcostは動きベクトルの長さに応じた動きベクトルの符号量相当のコスト値である。このコスト関数Costを用い、最もコスト値の小さい位置を動きベクトル位置として決定する。
Cost=SATD+Qp×Mvcost (7)
が知られている。SATDは、符号化対象画像と参照画像を減算して得られた差分データに対してアダマール変換をかけたものに対し差分絶対値和演算を行った結果である。Qpは量子化処理に使用される量子化値である。Mvcostは動きベクトルの長さに応じた動きベクトルの符号量相当のコスト値である。このコスト関数Costを用い、最もコスト値の小さい位置を動きベクトル位置として決定する。
本実施例では、第二のマクロブロック202の第一段階動き探索において、探索範囲702のうち探索範囲703の部分だけコスト関数を変更することにより、探索範囲703を選ばれやすくする。例えば、探索範囲703には、下記式
Cost=SATD+Qp×Mvcost−α (8)
を用いる。他方、探索範囲702の探索範囲703以外の部分には式(7)を用いる。ここでαは、ある固定の値である。式(7)と式(8)を比較すると、式(8)はαだけコスト値が小さくなるので、探索範囲703の方が選択されやすくなる。
Cost=SATD+Qp×Mvcost−α (8)
を用いる。他方、探索範囲702の探索範囲703以外の部分には式(7)を用いる。ここでαは、ある固定の値である。式(7)と式(8)を比較すると、式(8)はαだけコスト値が小さくなるので、探索範囲703の方が選択されやすくなる。
また、探索範囲703に、下記式
Cost=(SATD+Qp×Mvcost)×β (9)
に示すようなコスト関数を用いることも考えられる。ここで、βは0<β<1を満たす固定値である。この場合でも、式(7)と式(9)を比較すると、式(9)では、1より小さい値であるβを乗算している分だけコスト値が小さくなるので、探索範囲703が選択されやすくなる。
Cost=(SATD+Qp×Mvcost)×β (9)
に示すようなコスト関数を用いることも考えられる。ここで、βは0<β<1を満たす固定値である。この場合でも、式(7)と式(9)を比較すると、式(9)では、1より小さい値であるβを乗算している分だけコスト値が小さくなるので、探索範囲703が選択されやすくなる。
探索範囲703の方が選択されやすくなるコスト関数の例として式(8)及び式(9)を示したが、コスト関数はこれらに限定されない。探索範囲703が選択されやすくなるコスト計算式一般が利用可能である。
このように探索範囲703を選択されやすくすることにより、バス占有量を小さくできる動きベクトル位置が検出される確率が高くなり、その分データバスへのアクセス量を小さくすることができる。
図8は、以上の動作のフローチャートを示す。第一段階動き探索部102aが、第一のマクロブロック201の第一段階動き探索を行う(S81)。第一のマクロブロック201の第一段階動き探索の動きベクトルから、第二のマクロブロック202の探索範囲のうち、バス占有量を小さくできる探索範囲を決定する(S82)。第二のマクロブロック202の第一段階動き探索を開始する(S83)。
第二のマクロブロック202の第一段階動き探索を、探索位置をずらしながら順次行い、現在の動き探索位置がバス占有量を小さくできる探索範囲かどうかを判定する(S84)。現在の動き探索位置がバス占有量を小さくできる探索範囲である場合(S84)、動きベクトル決定に使用するコスト関数を、通常のコスト関数より小さいコスト値になりやすくなるものに変更する(S85)。現在の動き探索位置がバス占有量を小さくできる探索範囲ではない場合(S84)、動きベクトル決定に通常のコスト関数を使用する(S86)。全ての探索範囲が終了するまで(S87)、ステップS84〜S86を繰り返す(S87)。
第二のマクロブロック202の第一段階動き探索が終了したら(S87)、実施例1と同様の方法を用いて、第一のマクロブロック201と第二のマクロブロック202の第二段階動き探索を行い(S88)、動きベクトル検出動作を完了する。
第一段階動き探索において、第二段階動き探索用に2マクロブロック分の参照画像をまとめて取得できる探索範囲を選択されやすくするので、通常どおりに探索する場合と比較し、データバスへのアクセス量を小さくできる。
Claims (3)
- 多段階動き探索により所定のブロック単位で動きベクトル検出を行う画像符号化装置であって、
連続して処理を行う複数のブロックの第一段階動き探索での動きベクトル間の相対位置を算出する算出手段と、
前記連続して処理を行う複数のブロックのベクトル間の相対位置が、第二段階動き探索用の参照画像をブロック単位で取得するよりも前記複数のブロック分まとめて取得することでバス占有量が小さくなる所定の範囲にあるかどうかを判定する判定手段と、
第二段階動き探索用の参照画像を記憶する参照画像記憶手段と、
前記判定手段に従い、前記連続して処理を行う複数のブロックのベクトル間の相対位置が前記所定の範囲にある場合に、前記複数のブロックの第二段階動き探索に必要となる参照画像を1回のアクセスでまとめて前記参照画像記憶手段から取得し、前記所定の範囲に無い場合に、前記複数のブロックの第二段階動き探索に必要となる参照画像を別々に前記参照画像記憶手段から取得する参照画像取得手段
とを具備することを特徴とする画像符号化装置。 - 前記連続して処理を行う複数のブロックの第一段階動き探索において、前記所定の範囲に該当する探索範囲と、前記所定の範囲に該当しない探索範囲とで動きベクトルを決定するコスト関数を変更する手段をさらに具備することを特徴とする請求項1に記載の画像符号化装置。
- 前記コスト関数を変更する手段は、前記所定の範囲に該当しない探索範囲と比較して前記所定の範囲に該当する探索範囲の方が動きベクトルとして選択されやすくなるように前記コスト関数を変更することを特徴とする請求項2に記載の画像符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011158556A JP2013026756A (ja) | 2011-07-20 | 2011-07-20 | 画像符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011158556A JP2013026756A (ja) | 2011-07-20 | 2011-07-20 | 画像符号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013026756A true JP2013026756A (ja) | 2013-02-04 |
Family
ID=47784642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011158556A Withdrawn JP2013026756A (ja) | 2011-07-20 | 2011-07-20 | 画像符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013026756A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015103932A (ja) * | 2013-11-25 | 2015-06-04 | 富士フイルム株式会社 | 画像編集装置、方法及びプログラム |
-
2011
- 2011-07-20 JP JP2011158556A patent/JP2013026756A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015103932A (ja) * | 2013-11-25 | 2015-06-04 | 富士フイルム株式会社 | 画像編集装置、方法及びプログラム |
US9477910B2 (en) | 2013-11-25 | 2016-10-25 | Fujifilm Corporation | Image editing apparatus, image editing method, and non-transitory storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11743488B2 (en) | Method for setting motion vector list and apparatus using same | |
US10250907B2 (en) | Intra-frame pixel prediction method, encoding method and decoding method, and device thereof | |
AU2015213341A1 (en) | Video decoder, video encoder, video decoding method, and video encoding method | |
JP3655651B2 (ja) | データ処理装置 | |
US8929449B2 (en) | Motion vector detection apparatus, motion vector detection method, and computer-readable storage medium | |
US8594189B1 (en) | Apparatus and method for coding video using consistent regions and resolution scaling | |
JP6585776B2 (ja) | 処理方法 | |
US8705609B2 (en) | Moving image coding device and method | |
JP2013026756A (ja) | 画像符号化装置 | |
US20150098512A1 (en) | Image processing apparatus and method thereof | |
KR20090041944A (ko) | 인근 블록의 모드정보를 이용한 움직임 추정 방법 및 장치 | |
US20100220786A1 (en) | Method and apparatus for multiple reference picture motion estimation | |
JP2007110409A (ja) | 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム | |
US20130279821A1 (en) | Image encoding method using binary partition tree | |
US20240056601A1 (en) | Hierarchical motion search processing | |
JP4222046B2 (ja) | 信号処理装置および方法、記録媒体、並びにプログラム | |
JP2011182356A (ja) | 動きベクトル検出装置 | |
KR100295837B1 (ko) | 동영상 부호화를 위한 움직임 추정장치 | |
JP2015154415A (ja) | 動画符号化装置、動画符号化方法及び動画符号化プログラム | |
JP2010016780A (ja) | 動きベクトル検出装置および動きベクトル検出方法 |
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: 20141007 |