(57)【要約】【課題】階層型の動きベクトル探索を採用した際の動きベクトルの検出精度を高める動画符号化装置を提供する。【解決手段】入力画像を縮小した縮小画像を利用して動きベクトルを階層的に検出する動画符号化装置１００であって、入力画像から入力画像を縮小することにより失われる成分を特徴的に含む領域と領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を位置と領域に対応付けて記録する代表テクスチャ情報抽出部１１０と、縮小画像を利用した動きベクトル探索時に、抽出した領域の探索時は記録した縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う縮小動きベクトル検出部１３０と、を有する。【選択図】図１
2015154415.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を縮小した縮小画像を利用して動きベクトルを階層的に検出する動画符号化装置であって、
前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出手段と、
前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出手段と、
を有する動画符号化装置。
【請求項２】
前記抽出手段は、縮小の位相をずらすことにより前記領域が縮小された複数の縮小領域同士の差分に基づいて、前記領域を抽出することを特徴とする請求項１に記載の動画符号化装置。
【請求項３】
前記抽出手段は、前記入力画像を直交変換し、高周波成分に相当する係数に基づいて、前記領域を抽出することを特徴とする請求項１に記載の動画符号化装置。
【請求項４】
前記抽出手段は、前記領域が連続する場合、前記領域を少なくとも一方に拡張して微分することにより、連続する前記領域毎に前記位置の先頭を抽出することを特徴とする請求項１から３のいずれか１項に記載の動画符号化装置。
【請求項５】
前記抽出手段は、前記領域と前記位置とを前記領域及び前記位置と対応する等倍画像と関連付けて記録することを特徴とする請求項１から４のいずれか１項に記載の動画符号化装置。
【請求項６】
前記検出手段は、前記位置にそれぞれマスクが付された前記縮小画像と前記次の入力画像を縮小した縮小画像とを対比して、前記縮小画像を利用した動きベクトルの探索を行うことを特徴とする請求項１から５のいずれか１項に記載の動画符号化装置。
【請求項７】
入力画像を縮小した縮小画像を利用して動きベクトルを階層的に検出する動画符号化方法であって、
前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出ステップと、
前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出ステップと、
を有する動画符号化方法。
【請求項８】
入力画像を縮小した縮小画像を利用して動きベクトルを階層的にコンピュータに検出させる動画符号化プログラムであって、
前記コンピュータに、
前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出ステップと、
前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出ステップと、
を実行させるための動画符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、動画符号化装置、動画符号化方法及び動画符号化プログラムに関する。
【背景技術】
【０００２】
動画像の圧縮符号化方式として、フレーム間予測（ピクチャ間予測）を利用して情報量圧縮を行なう技術が一般化している。例えば、ＭＰＥＧ−２，ＭＰＥＧ−４，ＭＰＥＧ−ＡＶＣ等で使用されている。最新の動画圧縮の規格としてはH.265/High Efficiency Video Coding（Ｈ．２６５／ＨＥＶＣ）が規格化された。Ｈ．２６５／ＨＥＶＣは、次世代のテレビとして予定されているUltra High Definition Television（ＵＨＤＴＶ：超高精細テレビ）に利用される事が想定されている。ＵＨＤＴＶでは４Ｋ（４，０９６×２，１６０画素または３，８４０×２，１６０画素）や８Ｋ（７，６８０×４，３２０画素）といった超高精細画像が取り扱われる。
【０００３】
動画像の符号化ではフレーム間予測（ピクチャ間予測）により情報量の圧縮を行なう。このピクチャ間予測で類似領域を探索する、Motion Estimation（ＭＥ：動きベクトル検出）と呼ばれる演算で多くの電力が消費される。動きベクトル検出では、符号化対象の画像ブロックに対して、探索する参照用の画像データの量が多い。特に、４Ｋや８Ｋといった超高精細画像を扱う場合に参照用の画像データの量が大幅に増加し、参照用の画像を記録した外部メモリと動画像符号化装置間のデータ転送量が増大する。動画像符号化装置における消費電力の主な要素として外部メモリとの間のデータ転送量がある。このため、上述した超高精細画像を取り扱う際には演算量を削減すると共に消費電力を抑えて動きベクトルを検出することが望まれる。
【０００４】
演算量を削減可能な動きベクトル検出方法として階層型動きベクトル検出がある。階層型動きベクトル検出では、まず、入力画像及び参照用画像を縮小した縮小画像を利用して縮小画像での動きベクトルを検出する。次に、縮小画像で求めた動きベクトルの指し示す位置を含む周囲の領域に限定して等倍の入力画像及び参照用画像を用いた動きベクトルの探索が行なわれる。動きベクトルを探索する（検出する）いずれの段階においても、画像を格子状のブロックに分割し、そのブロックについて、既に動きベクトルが検出されて符号化された参照画像の中から類似部分を探索するブロックマッチングが実行される。
【０００５】
一方、入力画像が縮小された場合、入力画像が縮小前に有していた特定の成分（例えば高周波成分）が失われた縮小画像になる。例えば、入力画像と縮小画像を縮小前に戻した画像との差分により高周波画像を算出し、高周波画像に基づいて画素毎に非平坦度を示す特徴量を算出する技術が知られている（例えば、特許文献１参照）。このような技術以外にも、画像を格子状のセルに分割した後、各セル毎にテクスチャ特徴量を算出する技術や、特定領域を等倍出力するダウンデコード技術も知られている（例えば、特許文献２、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２０２９４号公報
【特許文献２】特開平６−６０１８２号公報
【特許文献３】特開２００９−３０２７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、縮小画像は縮小前の画像に比べ特定の成分が失われているため縮小前の入力画像と比べて劣化している。また、特定の成分が失われた縮小画像では輪郭（エッジ）がボケたり、折り返し歪みによるアーティファクトが生じたりすることがある。このような縮小画像を利用すると、本来求めたい動きベクトルを縮小画像にする事で失われる成分があるため高精度に検出できないという問題がある。
【０００８】
そこで、１つの側面では、本件は、階層型の動きベクトル探索を採用した際の動きベクトルの検出精度を高める動画符号化装置、動画符号化方法及び動画符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本明細書に開示の動画符号化装置は、入力画像を縮小した縮小画像を利用して動きベクトルを階層的に検出する動画符号化装置であって、前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出手段と、前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出手段と、を有する動画符号化装置である。
【００１０】
本明細書に開示の動画符号化方法は、入力画像を縮小した縮小画像を利用して動きベクトルを階層的に検出する動画符号化方法であって、前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出ステップと、前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出ステップと、を有する動画符号化方法である。
【００１１】
本明細書に開示の動画符号化プログラムは、入力画像を縮小した縮小画像を利用して動きベクトルを階層的にコンピュータに検出させる動画符号化プログラムであって、前記コンピュータに、前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出ステップと、前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出ステップと、を実行させるための動画符号化プログラムである。
【発明の効果】
【００１２】
本明細書に開示の動画符号化装置、動画符号化方法及び動画符号化プログラムによれば、縮小画像で動きベクトルを探索する際の検出精度を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、動きベクトルの探索を行う部分を明示的に示す動画符号化装置のブロック図の一例である。
【図２】図２は、フレームメモリの概要を説明するための図である。
【図３】図３は、代表テクスチャ情報抽出部の回路構成を示すブロック図の一例である。
【図４】図４は、画像処理部及び縮小動きベクトル検出部の回路構成を示すブロック図の一例である。
【図５】図５は、代表テクスチャ情報抽出部の動作の一例を示すフローチャートである。
【図６】図６は、特徴判定回路で実行される処理の一例を説明するための図である。
【図７】図７は、代表テクスチャ情報決定回路で実行される処理の一例を説明するための図である。
【図８】図８は、代表テクスチャ情報決定回路で実行される処理の一例を説明するための図である。
【図９】図９は、代表テクスチャ情報決定回路で実行される処理の一例を説明するための図である。
【図１０】図１０は、画像処理部及び縮小動きベクトル検出部の動作の一例を示すフローチャートである。
【図１１】図１１は、縮小回路で実行される処理の一例を説明するための図である。
【図１２】図１２（ａ）は、縮小画像ブロックマッチング回路に入力される各種画像を説明するための図である。図１２（ｂ）は、代表テクスチャ位置ブロックマッチング回路に入力される各種画像を説明するための図である。
【図１３】図１３は、ブロックマッチングを説明するための図である。
【図１４】図１４は、コスト算出回路で実行される処理の一例を説明するための図である。
【図１５】図１５は、代表テクスチャ情報抽出部の別の回路構成を示すブロック図の一例である。
【図１６】図１６は、等倍カレント画像に対するスキャンの別の例である。
【図１７】図１７は、代表テクスチャ情報を決定する処理の一例を説明するための別の図である。
【図１８】図１８は、情報処理装置のハードウェア構成の一例である。
【発明を実施するための形態】
【００１４】
以下、本件を実施するための形態について図面を参照して説明する。
【００１５】
（第１実施形態）
図１は、動きベクトルの探索を行う部分を明示的に示す動画符号化装置１００のブロック図の一例である。動画符号化装置１００は、図１に示すように、代表テクスチャ情報抽出部１１０、画像処理部１２０、縮小動きベクトル検出部１３０、等倍動きベクトル検出部１４０、制御部１５０及び符号化処理部１６０を含んでいる。等倍動きベクトル検出部１４０で検出された等倍動きベクトルは符号化処理部１６０に入力され、動画像の符号化処理が行なわれる。動画符号化装置１００は、例えばLarge Scale Integration（ＬＳＩ：大規模集積回路）によって実現される。以降は動きベクトルの探索を行なう部分について、絞って詳細に説明する。
【００１６】
動画符号化装置１００には、等倍カレント画像と縮小に使用する低域通過フィルタ（ローパスフィルタ）に必要なタップ数分の周辺画素（等倍カレント画像の周辺）が入力される。周辺画素が画面外で存在しない場合は最近傍の有効画素値などで代用される。一例として、５タップのローパスフィルタを掛けてから横１列の８画素をサンプリングで２画素に縮小する場合を説明する。例えば横１列の８画素の１画素目と５画素目の位置でサンプリングする場合には、周辺画素の代用として画面外に２画素分の有効画素値を加えた１〜３画素目で５タップフィルタの計算を行い、４〜７画素目で５タップフィルタの計算を行う。このため、縮小に必要な画素は２画素分の有効画素値を加えた１〜７画素目となる。一方、後述する代表テクスチャ領域を抽出する際に仮に横１列の８画素が必要であるとすると、上述したような５タップのローパスフィルタを掛けてから横１列の８画素をサンプリングで２画素に縮小するためには、２画素分の有効画素値を加えた１〜８画素目が必要とされ、これが動画符号化装置１００に入力される。尚、必要なタップ数分の周辺画素は縮小率や重心（サンプリング位置）に応じて決定される。等倍カレント画像は、これから各種の処理が開始される画像である。等倍カレント画像は、４Ｋや８Ｋといった符号化対象画像を例えば６４×６４画素で格子状に分割した領域の１つである。このような領域は、例えばマクロブロックやLargest CU（ＬＣＵ：最大符号化ユニット）とも呼ばれる。すなわち、符号化対象画像は複数の最大符号化ユニットを有している。動画符号化装置１００は、次々と入力される等倍カレント画像を順に処理することで、符号化対象画像の全体を符号化する。
【００１７】
等倍カレント画像は、図１に示すように、代表テクスチャ情報抽出部１１０、画像処理部１２０及び等倍動きベクトル検出部１４０に入力される。図１において、等倍カレント画像は、等倍動きベクトル検出部１４０に直接的に入力されているが、フレームメモリ２００を介して等倍動きベクトル検出部１４０に間接的に入力されていてもよい。この場合、等倍カレント画像はフレームメモリ２００に記憶される。その後、等倍動きベクトル検出部１４０が処理を開始するときに、フレームメモリ２００から等倍カレント画像が呼び出される。これにより、等倍カレント画像は等倍動きベクトル検出部１４０に入力される。尚、フレームメモリ２００は、例えばSynchronous Dynamic Random Access Memory（ＳＤＲＡＭ）によって実現される。
【００１８】
代表テクスチャ情報抽出部１１０は、入力された等倍カレント画像に対して種々の処理を実行することによって、代表テクスチャ情報を抽出する。代表テクスチャ情報はフレームメモリ２００に記録される。尚、代表テクスチャ情報の詳細は後述する。
画像処理部１２０は、入力された等倍カレント画像に基づいて、等倍カレント画像を縮小した縮小カレント画像を生成する。縮小カレント画像は縮小動きベクトル検出部１３０に入力される。また、縮小カレント画像はフレームメモリ２００に記録される。このような処理以外にも、画像処理部１２０は、後述するマスク画像及び部分カレント画像を生成する。マスク画像及び部分カレント画像は縮小動きベクトル検出部１３０に入力される。
【００１９】
縮小動きベクトル検出部１３０は、縮小カレント画像、縮小参照画像、マスク画像、代表テクスチャ情報及び部分カレント画像に基づいて、縮小画像の動きベクトルを検出する。縮小参照画像はフレームメモリ２００に記録されているため、縮小動きベクトル検出部１３０はフレームメモリ２００から縮小参照画像を取得する。ここで、縮小参照画像は、現在時刻より前の時刻における縮小カレント画像に対応する。例えば最も簡単な例として説明すると、現在時刻ｔに縮小カレント画像がフレームメモリ２００に記録されると、現在時刻ｔ＋１には時刻ｔの縮小カレント画像が縮小参照画像になる。以上の例では、１時刻前の縮小カレント画像が縮小参照画像になると説明したが、１時刻以上前の縮小カレント画像が縮小参照画像となっても良い。この場合、過去に縮小された複数の縮小カレント画像の１つ以上が縮小参照画像として使われる場合もある。すなわち、現在時刻ｔ＋１，ｔ＋２，・・・，ｔ＋ｎのいずれにおいても、時刻ｔの縮小カレント画像が縮小参照画像として使われる場合もある。縮小画像の動きベクトルは等倍動きベクトル検出部１４０に入力される。
【００２０】
等倍動きベクトル検出部１４０は、等倍カレント画像、等倍参照画像及び縮小画像の動きベクトルに基づいて、等倍画像の動きベクトルを検出する。等倍参照画像がフレームメモリ２００に記録されている場合、等倍動きベクトル検出部１４０はフレームメモリ２００から等倍参照画像を取得する。ここで、等倍参照画像は、現在時刻より前の時刻における等倍カレント画像に対応する。例えば最も簡単な例として説明すると、時刻ｔに等倍カレント画像がフレームメモリ２００に記録されると、時刻ｔ＋１にはその等倍カレント画像が等倍参照画像になる。この例でも、１時刻前の等倍カレント画像が等倍参照画像になると説明したが、１時刻以上前の等倍カレント画像が等倍参照画像となっても良い。この場合、過去の複数の等倍カレント画像の１つ以上が等倍参照画像として使われる場合もある。すなわち、現在時刻ｔ＋１，ｔ＋２，・・・，ｔ＋ｎのいずれにおいても、時刻ｔの等倍カレント画像が等倍参照画像として使われる場合もある。等倍画像の動きベクトルは、例えば動画符号化装置１００が有する後段の不図示の動き補償部（ＭＣ部）に入力される。
【００２１】
制御部１５０は、動画符号化装置１００の動作を制御する。より詳しくは、制御部１５０は、代表テクスチャ情報抽出部１１０、画像処理部１２０、縮小動きベクトル検出部１３０、等倍動きベクトル検出部１４０及び符号化処理部１６０の動作を制御する。制御部１５０は、例えばCentral Processing Unit（ＣＰＵ：中央処理装置）によって実現される。
【００２２】
次に、図２を参照して、フレームメモリ２００について説明する。
【００２３】
図２は、フレームメモリ２００の概要を説明するための図である。
フレームメモリ２００は、図２（ａ）に示すように、少なくとも１つの等倍参照画像２０、縮小参照画像２１及び代表テクスチャ情報２２を記憶する。代表テクスチャ情報２２は後述する代表テクスチャ領域と代表テクスチャ位置とを含んでいる。等倍参照画像２０、縮小参照画像２１及び代表テクスチャ情報２２は時系列に記憶されている。例えば、図２（ａ）において、最も古い縮小参照画像２１及び代表テクスチャ情報２２は、最も古い等倍参照画像２０と関連付いている。等倍参照画像２０、縮小参照画像２１及び代表テクスチャ情報２２は時刻が経過する度にフレームメモリ２００に蓄積されていく。詳細は後述するが、代表テクスチャ情報２２は、その時刻における縮小参照画像２１とパッキングなどによって関連付けられている。
【００２４】
ここで、図２（ａ）に示すように、現在時刻ｔに等倍カレント画像１０がフレームメモリ２００に記録された場合、その後、図２（ｂ）に示すように、代表テクスチャ情報抽出部１１０によって抽出された代表テクスチャ情報１２と画像処理部１２０によって生成された縮小カレント画像１１がフレームメモリ２００に記録される。そして、現在時刻ｔ＋１に時刻が経過すると、時刻ｔの等倍カレント画像１０、縮小カレント画像１１及び代表テクスチャ情報１２はそれぞれ等倍参照画像２０、縮小参照画像２１及び代表テクスチャ情報２２になる。現在時刻ｔ＋１には、等倍カレント画像１０の次の等倍カレント画像がフレームメモリ２００に記録される。
【００２５】
次に、図３を参照して、代表テクスチャ情報抽出部１１０の詳細について説明する。
【００２６】
図３は、代表テクスチャ情報抽出部１１０の回路構成を示すブロック図の一例である。代表テクスチャ情報抽出部１１０は、図３に示すように、等倍カレント画像メモリ１１１、特徴判定回路１１２、フラグメモリ１１３及び代表テクスチャ情報決定回路１１４を含んでいる。等倍カレント画像メモリ１１１及びフラグメモリ１１３は例えばStatic Random Access Memory（ＳＲＡＭ）によって実現される。
【００２７】
等倍カレント画像メモリ１１１は、入力された等倍カレント画像を記憶する。等倍カレント画像１０は、例えば４×４画素で格子状に分割されて記憶される。このような分割により生じた各領域を以後テクスチャ領域と呼ぶ。したがって、等倍カレント画像１０は複数のテクスチャ領域を有する。各テクスチャ領域には制御部１５０からアドレスが割り当てられる。例えば左上隅のテクスチャ領域から右下隅のテクスチャ領域にかけて水平方向に沿ってアドレス「０」，「１」，・・・，「２５４」，「２５５」が割り当てられる。
【００２８】
特徴判定回路１１２は、各テクスチャ領域の特徴を判定する。特徴判定回路１１２は、複数の縮小回路１１２Ａ，・・・，１１２Ｎ及びフラグ付与回路１１２Ｗを含んでいる。
複数の縮小回路１１２Ａ，・・・，１１２Ｎは、アドレス順に従って、等倍カレント画像メモリ１１１から同じ１つのテクスチャ領域をそれぞれ取得する。複数の縮小回路１１２Ａ，・・・，１１２Ｎは、取得したテクスチャ領域を異なる位相で縮小する。テクスチャ領域が縮小された縮小テクスチャ領域はそれぞれフラグ付与回路１１２Ｗに入力される。尚、縮小のための間引き前にローパスフィルタを適用することが一般的である。
【００２９】
フラグ付与回路１１２Ｗは、入力された複数の縮小テクスチャ領域に基づいて、テクスチャ領域にフラグを付与する。より詳しくは、フラグ付与回路１１２Ｗは入力された複数の縮小テクスチャ領域の内、任意２位相の縮小テクスチャ領域の組み合わせのいずれか又は総当りでSum of Absolute Difference（ＳＡＤ：差分絶対値和）を算出する。フラグ付与回路１１２Ｗは算出されたＳＡＤの最大値が所定の閾値以上であるか否かを判定する。フラグ付与回路１１２ＷはＳＡＤの最大値が閾値以上であると判定した場合、縮小テクスチャ領域の縮小元であるテクスチャ領域に対し特徴的なテクスチャ領域であることを示す特徴フラグ（例えば「１」）を付与する。すなわち、縮小の位相によっては特徴が大きく失われ、画像が変化すると判断される。一方、フラグ付与回路１１２ＷはＳＡＤの最大値が閾値未満であると判定した場合、縮小テクスチャ領域の縮小元であるテクスチャ領域に対し特徴的なテクスチャ領域でないことを示す非特徴フラグ（例えば「０」）を付与する。すなわち、縮小の位相に関わらず特徴がさほど失われず、画像はあまり変化しないと判断される。テクスチャ領域に付与された特徴フラグ又は非特徴フラグはフラグメモリ１１３に入力される。特徴フラグ又は非特徴フラグがフラグメモリ１１３に入力されると、特徴判定回路１１２は、次のアドレスのテクスチャ領域に対し同様の処理を実行する。
【００３０】
フラグメモリ１１３は、フラグ付与回路１１２Ｗから入力された特徴フラグ又は非特徴フラグを記憶する。フラグメモリ１１３内では、特徴フラグ又は非特徴フラグはアドレスに従って２次元に配置される。例えば、アドレス「１５」の特徴フラグ（又は非特徴フラグ）が右上端に配置されると、アドレス「１６」の特徴フラグ（又は非特徴フラグ）は２段目の左端に配置される。フラグメモリ１１３は１つのテクスチャ領域の特徴が判定されてフラグが付与される度に更新される。この結果、フラグメモリ１１３には２次元のフラグ列（１６列のフラグ列）が記憶される。
代表テクスチャ情報決定回路１１４は、フラグメモリ１１３にフラグ列を要求し、フラグメモリ１１３に記憶されたフラグ列を取得する。代表テクスチャ情報決定回路１１４は取得したフラグ列を１次元に並び替え、１次元のフラグ列と等倍カレント画像に基づいて、代表テクスチャ情報を決定する。すなわち、代表テクスチャ領域と代表テクスチャ位置とが決定される。代表テクスチャ情報決定回路１１４は、決定した代表テクスチャ情報をフレームメモリ２００に記録する。また、決定された代表テクスチャ位置は制御部１５０に入力される。
【００３１】
次に、図４を参照して、画像処理部１２０及び縮小動きベクトル検出部１３０の詳細について説明する。
【００３２】
図４は、画像処理部１２０及び縮小動きベクトル検出部１３０の回路構成を示すブロック図の一例である。まず、画像処理部１２０の回路構成について説明する。
画像処理部１２０は、等倍カレント画像メモリ１２１、代表テクスチャ位置メモリ１２２、代表テクスチャ領域メモリ１２３、縮小回路１２４、マスク生成回路１２５及び部分抽出回路１２６を含んでいる。等倍カレント画像メモリ１２１、代表テクスチャ位置メモリ１２２及び代表テクスチャ領域メモリ１２３は例えばＳＲＡＭによって実現される。
【００３３】
等倍カレント画像メモリ１２１は、フレームメモリ２００から出力された等倍カレント画像を記憶する。等倍カレント画像には制御部１５０からアドレスが付与される。
代表テクスチャ位置メモリ１２２は、フレームメモリ２００から出力された代表テクスチャ位置を記憶する。代表テクスチャ位置は制御部１５０に通知される。
代表テクスチャ領域メモリ１２３は、フレームメモリ２００から出力された代表テクスチャ領域を記憶する。代表テクスチャ領域には制御部１５０からアドレスが付与される。
【００３４】
縮小回路１２４は、等倍カレント画像メモリ１２１に記憶された等倍カレント画像を取得して縮小する。等倍カレント画像が縮小された縮小カレント画像は、後述する縮小カレント画像メモリ１３２とフレームメモリ２００に入力される。この結果、フレームメモリ２００は縮小カレント画像１１を記憶する。また、縮小カレント画像メモリ１３２に縮小カレント画像が記憶されることで、後述する縮小画像ブロックマッチング回路１３３がブロックマッチングの度にフレームメモリ２００にアクセスして縮小カレント画像を取得することが回避される。尚、縮小カレント画像と対応する代表テクスチャ情報は、代表テクスチャ情報が抽出される際にパッキングされて連続するアドレスの固定長データとしてフレームメモリ２００内に配置される（図２参照）。データ量が小さな代表テクスチャ情報が縮小カレント画像とパッキングされることによりある程度まとまった大きさのデータ量になる。この結果、フレームメモリ２００にアクセスして空間的に散らばる代表テクスチャ情報に単独で取得する場合に比べて、アクセス効率が向上する。
【００３５】
マスク生成回路１２５は、代表テクスチャ位置メモリ１２２から制御部１５０を介して出力された代表テクスチャ位置に基づいて、マスク画像を生成する。尚、マスク画像の詳細については後述する。
部分抽出回路１２６は、等倍カレント画像メモリ１２１に記憶された等倍カレント画像を取得する。部分抽出回路１２６は、取得した等倍カレント画像と代表テクスチャ位置メモリ１２２から制御部１５０を介して出力された代表テクスチャ位置とに基づいて、等倍カレント画像から部分カレント画像を抽出する。部分カレント画像の詳細については後述する。
【００３６】
次に、縮小動きベクトル検出部１３０の回路構成について説明する。
縮小動きベクトル検出部１３０は、縮小参照画像メモリ１３１、縮小カレント画像メモリ１３２、縮小画像ブロックマッチング回路１３３、第１類似度メモリ１３４、代表テクスチャ位置ブロックマッチング回路１３５、第２類似度メモリ１３６及びコスト算出回路１３７を含んでいる。縮小参照画像メモリ１３１、縮小カレント画像メモリ１３２、第１類似度メモリ１３４及び第２類似度メモリ１３６は例えばＳＲＡＭによって実現される。
【００３７】
縮小参照画像メモリ１３１は、フレームメモリ２００から出力された縮小参照画像を記憶する。縮小参照画像には制御部１５０からアドレスが付与される。
縮小カレント画像メモリ１３２は、縮小回路１２４から出力された縮小カレント画像を記憶する。
【００３８】
縮小画像ブロックマッチング回路１３３は、縮小参照画像メモリ１３１から縮小参照画像を取得する。縮小画像ブロックマッチング回路１３３は、縮小カレント画像メモリ１３２から縮小カレント画像を取得する。縮小画像ブロックマッチング回路１３３は、取得した縮小参照画像と縮小カレント画像とマスク生成回路１２５から出力されたマスク画像とに基づいて、ブロックマッチングを実行する。より詳しくは、縮小画像ブロックマッチング回路１３３は、マスク画像によって縮小参照画像と縮小カレント画像の双方にマスクをかけ、マスクがかけられた縮小参照画像と縮小カレント画像とをブロックマッチングする。ブロックマッチングによって得られた縮小参照画像と縮小カレント画像との第１類似度は第１類似度メモリ１３４に入力されて記憶される。
【００３９】
代表テクスチャ位置ブロックマッチング回路１３５は、代表テクスチャ領域メモリ１２３から出力された代表テクスチャ領域と部分抽出回路１２６から出力された部分カレント画像をブロックマッチングする。ブロックマッチングによって得られた代表テクスチャ領域と部分カレント画像との第２類似度は第２類似度メモリ１３６に入力されて記憶される。
【００４０】
コスト算出回路１３７は、第１類似度メモリから取得した第１類似度と第２類似度から取得した第２類似度と制御部１５０から取得したベクトル重みとを加算することにより、コストを算出する。コスト算出回路１３７は、最小のコストに対応する動きベクトルを縮小画像の動きベクトルとして出力する。
【００４１】
続いて、動画符号化装置１００の動作について説明する。
まず、代表テクスチャ情報抽出部１１０の動作について説明する。
【００４２】
図５は、代表テクスチャ情報抽出部１１０の動作の一例を示すフローチャートである。図６は、特徴判定回路１１２で実行される処理の一例を説明するための図である。図７から図９は、代表テクスチャ情報決定回路１１４で実行される処理の一例を説明するための図である。
【００４３】
まず、図５に示すように、各縮小回路１１２Ａ，・・・，１１２Ｎは等倍画像メメモリ１１１からテクスチャ領域を取得する（ステップＳ１０１）。例えば、図６に示すように、６４×６４画素の等倍カレント画像１０を４×４画素で格子状に分割することにより生じた複数のテクスチャ領域１５の１つ（例えばアドレス「０」のテクスチャ領域）が各縮小回路１１２Ａ，・・・，１１２Ｎによって取得される。
【００４４】
次いで、各縮小回路１１２Ａ，・・・，１１２Ｎは取得したテクスチャ領域１５を複数の位相で縮小する（ステップＳ１０２）。この結果、図６に示すように、１つのテクスチャ領域１５から縮小のサンプリング位相が異なる複数の縮小テクスチャ領域１７が生成される。尚、図６では、一例として縦方向１／４、横方向１／４でテクスチャ領域１５が縮小されている。複数の縮小テクスチャ領域１７はフラグ付与回路１１２Ｗに入力される。
【００４５】
次いで、フラグ付与回路１１２Ｗは、ＳＡＤの最大値に基づいて、テクスチャ領域１５にフラグを付与する（ステップＳ１０３）。より詳しく説明すると、フラグ付与回路１１２Ｗは、図６に示すように、複数の縮小テクスチャ領域１７から、任意２位相の縮小テクスチャ領域１７のＳＡＤを総当りで算出する。この結果、複数のＳＡＤが算出される。フラグ付与回路１１２Ｗは、ＳＡＤの最大値が所定の閾値以上であるか否かを判定し、ＳＡＤの最大値が当該閾値以上であると判定した場合、テクスチャ領域１５に対し特徴フラグ「１」を付与する。この結果、図７に示すように、例えばアドレス「０」のテクスチャ領域１５に特徴フラグ「１」が付与される。
【００４６】
次いで、フラグ付与回路１１２Ｗは、フラグメモリ１１３のフラグ列を更新すする（ステップＳ１０４）。この結果、フラグメモリ１１３にはアドレス「０」のフラグとして特徴フラグ「１」が格納される。次いで、フラグ付与回路１１２Ｗは、テクスチャ領域１５全てにフラグが付与されたか否かを判定する（ステップＳ１０５）。フラグ付与回路１１２Ｗは、テクスチャ領域１５全てにフラグが付与されていないと判定した場合（ステップＳ１０５：ＮＯ）、ステップＳ１０１からＳ１０４の処理を繰り返す。この結果、図７に示すように、アドレス「１」からアドレス「２５５」までテクスチャ領域１５に特徴フラグ「１」又は非特徴フラグ「０」が付与される。フラグメモリ１１３には、アドレス「０」からアドレス「２５５」のテクスチャ領域１５にそれぞれ付与されたフラグ列「１」，「１」，「１」，「０」，・・・，「０」，「１」，「１」，「１」が２次元で記憶される。
【００４７】
代表テクスチャ情報決定回路１１４は、テクスチャ領域１５全てにフラグが付与されたと判定された場合（ステップＳ１０５：ＹＥＳ）、フラグ列から孤立点を除去する（ステップＳ１０６）。より詳しくは、代表テクスチャ情報決定回路１１４は、フラグメモリ１１３に対しフラグ列を要求し、フラグメモリ１１３から１６列のフラグ列を取得する。次いで、代表テクスチャ情報決定回路１１４は、すべてのテクスチャ領域１５にフラグが付与された等倍カレント画像１０に対し、スキャンを実行する。スキャンは、まず等倍カレント画像１０の最上段左端から最上段右端に向かって実行される。右端のテクスチャ領域１５のスキャンが完了すると、スキャンは次段の左端から右端に向かって実行される。このように、順に下段に向かってスキャンが実行され、等倍カレント画像１０の最下段右端のスキャンが完了すると、スキャンを終了する。尚、図５に示すフローチャートでは孤立点を除去する処理が含まれているが、当該処理は必須ではなく当該処理を省略したフローチャートを採用してもよい。
【００４８】
スキャンが終了すると、図７に示すように、代表テクスチャ情報決定回路１１４はスキャン順に従って１６列のフラグ列を１列のフラグ列に並び替える。これにより、１次元のフラグ列が完成される。さらに、図７に示すように、代表テクスチャ情報決定回路１１４はフラグ列の両端の少なくとも一方が特徴フラグ「１」である場合、特徴フラグ「１」を非特徴フラグ「０」に変更する。これは、後述する微分処理の際に例えば左端から特徴フラグ「１」が連続すると、特徴的なテクスチャ領域１５であるにも関わらず、テクスチャ領域１５の代表候補から外れてしまうことを防止するためである。
【００４９】
代表テクスチャ情報決定回路１１４はフラグ列の両端のフラグを非特徴フラグ「０」に変更すると、図８（ａ）に示すように、孤立する特徴フラグ「１」を除去する。例えば、両脇を非特徴フラグ「０」に挟まれた１つの特徴フラグ「１」が非特徴フラグ「０」に置換される。尚、除去対象が、両脇を非特徴フラグ「０」に挟まれた連続する特徴フラグ「１」として設定されてもよい。
【００５０】
次いで、代表テクスチャ情報決定回路１１４は代表テクスチャ領域を選別する（ステップＳ１０７）。具体的には、図８（ａ）に示すように、代表テクスチャ情報決定回路１１４はフラグ列に対し微分操作を実行し、特徴フラグ「１」が連続するテクスチャ領域１５毎にテクスチャ領域１５の位置のいずれか（例えば先頭）を抽出する。テクスチャ領域１５の位置の先頭が抽出される場合、非特徴フラグ「０」が直前に配置された特徴フラグ「１」がテクスチャ領域１５の代表候補として選別される。図８（ａ）では、３個のテクスチャ領域１５が代表候補として選別されている。例えば、テクスチャ領域１５の位置の先頭に代えてテクスチャ領域１５の位置の中心やテクスチャ領域１５の位置の最後が抽出されてもよい。
【００５１】
ここで、代表テクスチャ情報決定回路１１４は選別数が設定数を超過しているか否かを判定する（ステップＳ１０８）。例えば、第１実施形態において、設定数が２個に制限されている場合、代表候補として選別された３個のテクスチャ領域１５では、選別数が設定数を超過していると判定される。尚、設定数が増加すると多くの代表テクスチャ領域が選別されることでデータ量が増加し、縮小画像を利用した動きベクトル検出の利点が薄まる。このため、設定数は適切に設定されることが望ましい。
【００５２】
代表テクスチャ情報決定回路１１４は選別数が設定数を超過していると判定した場合（ステップＳ１０８：ＹＥＳ）、フラグ列を拡張する（ステップＳ１０９）。例えば、特徴フラグ「１」が付与されたテクスチャ領域１５を中心に少なくとも一方の方向に特徴フラグ「１」が拡張される。この結果、図８（ｂ）に示すように、アドレス「３」、アドレス「２４８」、アドレス「２５１」及びアドレス「２５２」に付与された非特徴フラグ「０」が特徴フラグ「１」に変更される。そして、再び、ステップＳ１０７の処理が実行される。この結果、図８（ｂ）では、２個のテクスチャ領域１５が代表候補として選別される。しかしながら、２個目のテクスチャ領域１５はフラグの拡張により特徴フラグ「１」に変更されたフラグであるため、図８（ｃ）に示すように、拡張前の特徴フラグ「１」から変更されたフラグに最近傍のテクスチャ領域１５が代表候補として選別される。これにより、選別数が設定数を超過していないと判定され（ステップＳ１０８：ＮＯ）、代表テクスチャ情報決定回路１１４は代表テクスチャ情報を抽出してフレームメモリ２００に格納する（ステップＳ１１０）。具体的には、代表候補として選別された２個のテクスチャ領域１５とそれぞれのアドレス「１」，「２４９」が、図９に示すように、代表テクスチャ領域１５Ａ，１５Ｂと代表テクスチャ位置として抽出される。代表テクスチャ領域１５Ａ，１５Ｂ及びこれらに対応する代表テクスチャ位置は、代表テクスチャ情報として代表テクスチャ領域１５Ａ，１５Ｂの個数（２個）とともにフレームメモリ２００に格納される。尚、上述した例では、右方向に拡張してテクスチャ領域１５が０から１に変化する部分が特定されたが、左方向に拡張した場合には、テクスチャ領域１５が１から０に変化する部分が特定される。また、ステップＳ１０８の１度目の処理において、例えば選別数が存在しない場合など選別数が設定数を超過していない場合には、後段のステップＳ１１０の処理で代表テクスチャ情報を抽出できないため、ステップＳ１１０の処理はスキップされる。
【００５３】
次に、図１０から図１４までを参照して、画像処理部１２０及び縮小動きベクトル検出部１３０の動作について説明する。
【００５４】
図１０は、画像処理部１２０及び縮小動きベクトル検出部１３０の動作の一例を示すフローチャートである。図１１は、縮小回路１２４で実行される処理の一例を説明するための図である。図１２（ａ）は、縮小画像ブロックマッチング回路１３３に入力される各種画像を説明するための図である。図１２（ｂ）は、代表テクスチャ位置ブロックマッチング回路１３５に入力される各種画像を説明するための図である。図１３は、ブロックマッチングを説明するための図である。図１４は、コスト算出回路１３７で実行される処理の一例を説明するための図である。
【００５５】
まず、図１０に示すように、縮小回路１２４は、等倍カレント画像を縮小する（ステップＳ２０１）。より詳しく説明すると、縮小回路１２４は等倍カレント画像メモリ１２１に記憶された等倍カレント画像を取得し、取得した等倍カレント画像を縮小する。例えば、図１１に示すように、等倍カレント画像１０は縦方向に１／４、横方向に１／４に縮小されて、１６×１６画素の縮小カレント画像１１になる。
【００５６】
次いで、マスク生成回路１２５は、代表テクスチャ位置に基づいて、マスク画像を生成する（ステップＳ２０２）。マスク画像は代表テクスチャ位置に対応する縮小画像の領域にマスクをかける画像である。例えば、図１２（ａ）において、縮小参照画像２１に代表テクスチャ領域に対応する２個の領域２１Ａ，２１Ｂが存在する場合、２個の領域２１Ａ，２１Ｂは代表テクスチャ位置に基づくマスク画像３１によってマスクされる。尚、代表テクスチャ位置は代表テクスチャ位置メモリ１２２に記憶されているため、制御部１５０が代表テクスチャ位置メモリ１２２から代表テクスチャ位置を取得して、マスク生成回路１２５に出力する。
【００５７】
次いで、部分抽出回路１２６は、等倍カレント画像から代表テクスチャ位置に対応する部分カレント画像を抽出する（ステップＳ２０３）。この結果、図１２（ｂ）に示すように、等倍参照画像の代表テクスチャ領域２５Ａ，２５Ｂに対応する部分カレント画像１７Ａ，１７Ｂが等倍カレント画像１０から抽出される。代表テクスチャ領域２５Ａ，２５Ｂと部分カレント画像１７Ａ，１７Ｂの解像度は同じである。代表テクスチャ領域２５Ａ，２５Ｂと部分カレント画像１７Ａ，１７Ｂは、代表テクスチャ位置ブロックマッチング回路１３５に入力される。尚、ステップＳ２０２とＳ２０３の順序は逆でもよい。
【００５８】
次いで、縮小画像ブロックマッチング回路１３３は、縮小カレント画像１１と縮小参照画像２１とのブロックマッチングに基づいて、第１類似度を算出する（ステップＳ２０４）。ブロックマッチングの際には、縮小カレント画像１１と縮小参照画像２１のそれぞれの代表テクスチャ位置にはマスク生成回路１２５で生成されたマスク画像３１によってマスクがかけられる。代表テクスチャ位置の領域については、代表テクスチャ位置ブロックマッチング回路１３５によって縮小カレント画像１１及び縮小参照画像２１の解像度より高い解像度でブロックマッチングされるためであり、マスク画３１によって代表テクスチャ位置の領域が簡易に除外されている。
【００５９】
ブロックマッチングは、図１３（ａ）に示すように、縮小参照画像２１の大きさに対して例えば横方向に±２、縦方向に±２の大きさを有する探察範囲ＳＲと縮小カレント画像１１とを突き合わせることにより行われる。探索範囲ＳＲは縮小参照画像２１の周囲に存在する別の縮小参照画像を、縮小参照画像２１を中心に互いに整合するように並べることにより形成された画像の一部である。このように形成された探察範囲ＳＲと縮小カレント画像１１とのブロックマッチングでは、まず、図１３（ａ）に示すように、ベクトル位置（−２，−２）において、縮小カレント画像１１と探索範囲ＳＲの対応領域とのブロックマッチングが実行されて、第１類似度が算出される。ベクトル位置（−２，−２）の第１類似度は、第１類似度メモリ１３４に記憶される。例えば、図１４に示すように、第１類似度テーブルの対応する位置に第１類似度が配置されて記憶される。
【００６０】
次いで、代表テクスチャ位置ブロックマッチング回路１３５は、代表テクスチャ領域と部分カレント画像とのブロックマッチングに基づいて、第２類似度を算出する（ステップＳ２０５）。ステップＳ２０４とＳ２０５の順序は逆でもよい。ブロックマッチングの処理は上述した処理と同様である。２つの代表テクスチャ領域２５Ａ，２５Ｂと２つの部分カレント画像１７Ａ，１７Ｂをブロックマッチングする場合、互いに対応する領域と画像とがブロックマッチングされる。すなわち、代表テクスチャ領域２５Ａと部分カレント画像１７Ａとがブロックマッチングされて第２類似度が算出される。代表テクスチャ領域２５Ｂと部分カレント画像１７Ｂとがブロックマッチングされて別の第２類似度が算出される。算出された第２類似度と別の第２類似度の大きい方又は両者の総和が最終的な第２類似度と決定される。ベクトル位置（−２，−２）の第２類似度は、第２類似度メモリ１３６に記憶される。例えば、図１４に示すように、第２類似度テーブルの対応する位置に第２類似度が配置されて記憶される。尚、代表テクスチャ領域と部分カレント画像のそれぞれの数が２つ以上である場合、代表テクスチャ領域と部分カレント画像のそれぞれがブロックマッチングされて算出された第２類似度のうち最大の第２類似度又は算出された第２類似度の総和が最終的な第２類似度と決定される。一方、代表テクスチャ領域と部分カレント画像のそれぞれの数が１つである場合、代表テクスチャ領域と部分カレント画像がブロックマッチングされて算出された第２類似度が最終的な第２類似度と決定される。
【００６１】
次いで、コスト算出回路１３７は、第１類似度と第２類似度とベクトル重みとに基づいてコストを算出する（ステップＳ２０６）。コストは第１類似度と第２類似度とベクトル重みとの和である。ベクトル重みは、図１４に示すように、探索範囲ＳＲの原点（０，０）の重みが「０」とし、そこから遠ざかるにつれて同心円状に値が大きくなる重みである。このため、ベクトル位置（−２，−２）で算出された第１類似度と第２類似度の和に対し対応するベクトル位置のベクトル重みが加算されてコストが算出される。尚、第１類似度と第２類似度は互いに異なる解像度の画像から類似度が算出されているため、例えば第２類似度の値を１／１６にするなど面積換算をしてから両者が足し合わされてもよい。また、第１類似度より第２類似度の比重を重くしてから両者が足し合わされてもよい。コスト算出回路１３７は、算出したベクトル位置（−２，−２）のコストを保持する（ステップＳ２０７）。
【００６２】
ここで、制御部１５０は全探索範囲でブロックマッチングが完了したか否かを判定する（ステップＳ２０８）。上述したように、ベクトル位置（−２，−２）に対するコストが算出され、残りのベクトル位置に対するコストが算出されていない場合（ステップＳ２０８：ＮＯ）、ステップＳ２０２からステップＳ２０７の処理を繰り返す。
【００６３】
具体的には、図１３（ｂ）に示すように、縮小カレント画像１１が１画素分横方向にずれ、再度、縮小カレント画像１１と探索範囲ＳＲの対応領域とのブロックマッチングが実行される。この結果、ベクトル位置（−１，−２）の第１類似度が算出される。同様の処理により、ベクトル位置（−１，−２）の第２類似度が算出される。算出された第１類似度と第２類似度とベクトル位置（−１，−２）のベクトル重みを足し合わせることによって、ベクトル位置（−１，−２）のコストが算出される。コスト算出回路１３７は、ベクトル位置（−１，−２）のコストと保持しているベクトル位置（−２，−２）のコストとを比べ、低い方のコストを保持する。
【００６４】
このように、コストが算出される度に、縮小カレント画像１１が１画素分横方向にずれてそのベクトル位置のコストが算出される。ベクトル位置（＋２，−２）のコストが算出されると、ベクトル位置（−２，−１）のコストが算出される。このような処理を繰り返すことで、最終的に、図１３（ｃ）に示すように、ベクトル位置（＋２，＋２）までのコストが算出される。コスト算出回路１３７は自身が保持するコストと直前に算出したコストを比べて、低い方のコストを新たに保持する。このため、最終的に最小のコストが保持される。そして、制御部１５０が全探索範囲でブロックマッチングが完了したと判断した場合（ステップＳ２０８：ＹＥＳ）、コスト算出回路１３７は、最小のコストに対応する縮小画像の動きベクトルを出力する（ステップＳ２０９）。例えば、図１４に示すように、最小のコストに対応する縮小画像の動きベクトル（−１，０）が出力される。尚、探索範囲ＳＲを水平にずらした複数のベクトル位置については並列演算によってコストが算出されてもよい。
【００６５】
このように、第１実施形態によれば、縮小画像を利用して階層的に動きベクトルを検出する動画符号化装置１００において、等倍カレント画像から等倍カレント画像を縮小することにより失われる成分を特徴的に含む代表テクスチャ領域とその位置である代表テクスチャ位置を抽出している。そして、代表テクスチャ領域と次の等倍カレント画像の代表テクスチャ位置に応じた部分カレント画像との類似度によって縮小画像の動きベクトルを重み付けして検出することで、縮小画像の動きベクトルの検出精度が高められている。
【００６６】
（第２実施形態）
続いて、図１５を参照して、第２実施形態について説明する。
図１５は、代表テクスチャ情報抽出部１１０の別の回路構成を示すブロック図の一例である。尚、図３に示される代表テクスチャ情報抽出部１１０の各ブロックと同様の構成には同一符号を付し、その説明を省略する。
【００６７】
図１５に示すように、第２実施形態の代表テクスチャ情報抽出部１１０では、第１実施形態で説明した特徴判定回路１１２に代えて、特徴判定回路１１６が含まれている。特徴判定回路１１６は、アダマール変換回路１１６Ａ、重み付け判定回路１１６Ｂ及び重みテーブル１１６Ｃを含んでいる。
【００６８】
アダマール変換回路１１６Ａは、入力されたテクスチャ領域をアダマール変換する。この結果、空間領域としてのテクスチャ領域がアダマール変換によって周波数領域に変換されて出力される。周波数領域は４行４列のマトリクスによって構成されている。マトリクスの各構成要素には周波数成分が含まれている。尚、アダマール変換回路１１６Ａに代えて、例えばDiscrete Cosine Transform（ＤＣＴ：離散コサイン変換）回路やKarhunen-Loeve Transform（ＫＬ変換：カルーネンレーベ変換）回路といった直交変換回路が利用されてもよい。
【００６９】
重み付け判定回路１１６Ｂは、アダマール変換回路１１６Ａから出力された周波数領域に対し重みテーブル１１６Ｃを利用して重み付けを実行する。具体的には、重みテーブル１１６Ｃを利用して低周波成分（例えば直流成分）には重み付けとして値「０」が設定される。この結果、高周波成分が抽出される。抽出された高周波成分には正負双方の符号が存在する場合があるため、絶対値をとって符号を正に統一する。その後、すべての高周波成分を足し合わせ、足し合わせた結果が閾値以上であると判定された場合、変換元のテクスチャ領域に対し特徴フラグ「１」が付与される。一方、足し合わせた結果が閾値未満であると判定された場合、変換元のテクスチャ領域に対し非特徴フラグ「０」が付与される。
【００７０】
また上述した処理に限らず、例えば低周波成分に重み付けとして値「０」が設定された時点で各周波数成分が閾値とそれぞれ対比されてもよい。この場合、当該閾値以上となった周波数成分の数が計数され、計数結果が別の閾値以上であると判定された場合、変換元のテクスチャ領域に対し特徴フラグが付与される。一方、計数結果が閾値未満であると判定された場合、変換元のテクスチャ領域に対し非特徴フラグが付与される。このような処理によってもテクスチャ領域の特徴を判定でき、縮小画像の動きベクトルの検出精度が高められる。
【００７１】
さらに、以上説明した直交変換回路に代えてエッジ検出回路（例えば微分フィルタやソーベルフィルタ）が利用されてもよい。エッジ検出回路が利用される場合、エッジ検出回路から出力されたエッジ強度の中で、所定の閾値を超えるエッジ強度の数が計数され、計数結果が別の閾値以上であると判定された場合、変換元のテクスチャ領域に対し特徴フラグが付与される。一方、計数結果が閾値未満であると判定された場合、変換元のテクスチャ領域に対し非特徴フラグが付与される。このような処理によってもテクスチャ領域の特徴を判定でき、縮小画像の動きベクトルの検出精度が高められる。
【００７２】
（第３実施形態）
続いて、図１６を参照して、第３実施形態について説明する。
図１６は、等倍カレント画像１０に対するスキャンの別の例である。等倍カレント画像１０に対するスキャンは、図７に示すようなラスタースキャンに限定されない。
例えば図１６（ａ）に示すように、等倍カレント画像１０の最上段左端から最上段右端に向かってスキャンした後、２段目については、右端から左端に向かってスキャンしてもよい。３段目以降は左端から右端へのスキャンと右端から左端へのスキャンが交互に繰り返される。このスキャン順に従ってフラグ列が１列に並び替えられてもよい。
【００７３】
また、上述したように等倍カレント画像１０が網羅されるスキャンに限らず、例えば図１６（ｂ）に示すように、テクスチャ領域１５を１個飛ばしながら左端から右端へのスキャンと右端から左端へのスキャンが交互に繰り返されてもよい。例えば図１６（ｃ）に示すように、テクスチャ領域１５を３個飛ばしながら左端から右端へのスキャンが繰り返されてもよい。この場合、スキャンが飛ばされたフラグを除いたフラグ列が完成される。さらに、以上説明したスキャンに限定されず、例えば図１６（ｄ）に示すように、ヒルベルト曲線順に等倍カレント画像１０がスキャンされてもよい。これらのスキャン順に従ってフラグ列が１列に並び替えられてもよい。以上説明したスキャン手法によっても、縮小画像の動きベクトルの検出精度が高められる。
【００７４】
（第４実施形態）
続いて、図１７を参照して、第４実施形態について説明する。
図１７は、代表テクスチャ情報を決定する処理の一例を説明するための別の図である。
代表テクスチャ情報を決定する処理は、図８に示すような処理に限定されない。第４実施形態では、代表テクスチャ領域を４個に制限して決定する場合について説明する。
【００７５】
例えば、図８を参照して説明した両端が「０」に変更されたフラグ列に対し、図１７（ａ）に示すように、微分操作が実行されてテクスチャ領域１５の代表候補が選別される。図１７（ａ）では、５個のテクスチャ領域が代表候補として選別される。テクスチャ領域の個数は、設定された４個を超えているため、代表テクスチャ領域が決定されない。この場合、アドレスが最小の代表候補を含む少なくとも１つの特徴フラグ「１」の内、直後に非特徴フラグ「０」が配置された特徴フラグ「１」を右方向に拡張する。したがって、図１７（ｂ）に示すように、アドレス「３」の非特徴フラグ「０」が特徴フラグ「１」に変更される。変更後、微分操作が実行される。この結果、図１７（ｂ）に示すように、依然として５個のテクスチャ領域が代表候補として選別されており、設定された４個を超える。
【００７６】
同様に、アドレスが次に最小の代表候補を含む少なくとも１つの特徴フラグ「１」の内、直後に非特徴フラグ「０」が配置された特徴フラグ「１」を右方向に拡張する。したがって、図１７（ｃ）に示すように、アドレス「８」の非特徴フラグ「０」が特徴フラグ「１」に変更される。変更後、微分操作が実行される。この結果、図１７（ｃ）に示すように、依然として５個のテクスチャ領域が代表候補として選別されており、設定された４個を超える。
【００７７】
以上説明した処理を繰り返すことにより、図１７（ｄ）に示すように、アドレス「２４８」の非特徴フラグ「０」が特徴フラグ「１」に変更されて、微分操作が実行されると、４個のテクスチャ領域が代表候補として選別される。このため、図１７（ｆ）に示すように、代表候補として選別された４個のテクスチャ領域が代表テクスチャ領域と決定される。尚、設定数以下のテクスチャ領域が代表候補として選別された後も継続して拡張処理及び微分操作が実行されてもよい。この場合、拡張処理不能と判定されるまで代表候補が選別され、その後、代表テクスチャ領域が決定される。例えば、図１７（ｅ）に示すように、アドレス「２５１」の非特徴フラグ「０」は特徴フラグ「１」に変更可能であるが、アドレス「２５５」の非特徴フラグ「０」はフラグ列の両端を変更する処理によって付与されたフラグであるため、変更不能であると判断される。以上説明した代表テクスチャ情報の決定処理によっても、縮小画像の動きベクトルの検出精度が高められる。
【００７８】
（第５実施形態）
続いて、図１８を参照して、第５実施形態について説明する。
図１８は、情報処理装置３００のハードウェア構成の一例である。上述した各種の動作は、情報処理装置３００によって実現されてもよい。情報処理装置３００としては、例えばPersonal Computer（ＰＣ）がある。
【００７９】
情報処理装置３００は、少なくともＣＰＵ３０１、ＲＡＭ３０２、Read Only Memory（ＲＯＭ）３０３及び通信Ｉ／Ｆ（インタフェース）３０４を含んでいる。情報処理装置３００は、必要に応じて、Hard Disc Drive（ＨＤＤ）３０５、入力Ｉ／Ｆ３０６、出力Ｉ／Ｆ３０７、入出力Ｉ／Ｆ３０８、ドライブ装置３０９の少なくとも１つを含んでいてもよい。これらの各機器３０１〜３０９は、内部バス３１０によって互いに接続されている。少なくともＣＰＵ３０１とＲＡＭ３０２とが協働することによってコンピュータが実現される。情報処理装置３００に画像処理を担当するGraphics Processing Unit（ＧＰＵ）が含まれていてもよい。
【００８０】
入力Ｉ／Ｆ３０６には、入力装置４１０が接続される。入力装置４１０としては、例えばキーボードやマウスなどがある。
出力Ｉ／Ｆ３０７には、表示装置４２０が接続される。表示装置４２０としては、例えば液晶ディスプレイがある。
入出力Ｉ／Ｆ３０８には、半導体メモリ４３０が接続される。半導体メモリ４３０としては、例えばUniversal Serial Bus（ＵＳＢ）メモリやフラッシュメモリなどがある。入出力Ｉ／Ｆ３０８は、半導体メモリ４３０に記憶されたプログラムやデータを読み取る。
入力Ｉ／Ｆ３０６及び入出力Ｉ／Ｆ３０８は、例えばＵＳＢポートを備えている。出力Ｉ／Ｆ３０７は、例えばディスプレイポートを備えている。
【００８１】
ドライブ装置３０９には、可搬型記録媒体４４０が挿入される。可搬型記録媒体４４０としては、例えばCompact Disc（ＣＤ）−ＲＯＭ、Digital Versatile Disc（ＤＶＤ）といったリムーバブルディスクがある。ドライブ装置３０９は、可搬型記録媒体４４０に記録されたプログラムやデータを読み込む。
通信Ｉ／Ｆ３０４は、例えばポートとPhysical Layer Chip（ＰＨＹチップ）とを備えている。情報処理装置３００は、通信Ｉ／Ｆ３０４を介してネットワークＮＷと接続される。
【００８２】
上述したＲＡＭ３０２は、ＲＯＭ３０３やＨＤＤ３０５に記憶されたプログラムを読み込む。ＲＡＭ３０２は、可搬型記録媒体４４０に記録されたプログラムを読み込む。読み込まれたプログラムをＣＰＵ３０１が実行することにより、上述した各種の動作が実行される。尚、プログラムは上述したフローチャートに応じたものとすればよい。以上説明した情報処理装置３００によっても、縮小画像の動きベクトルの検出精度が高められる。
【００８３】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、２つの回路を１つの回路で実現してもよいし、１つの回路を２つ以上の回路に分散してもよい。また、上述した各実施形態では、説明の都合上一例として横方向に±２、縦方向に±２の大きさを有する探索範囲ＳＲを説明したが、縮小画像の所望の動きベクトルを検出するためには、横方向に±２５６〜±３２、縦方向に±２５６〜±３２の探索範囲ＳＲであることが望ましい。さらに、上述した各実施形態では、類似度を算出する際にＳＡＤが利用されたがSum of Absolute Transformed Difference（ＳＡＴＤ：変換差分絶対値和）が利用されてもよい。さらに、以上説明した技術は、Ｈ．２６５／ＨＥＶＣより前に規格化された方式に利用されてもよい。
【００８４】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）入力画像を縮小した縮小画像を利用して動きベクトルを階層的に検出する動画符号化装置であって、前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出手段と、前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出手段と、を有する動画符号化装置。
（付記２）前記抽出手段は、縮小の位相をずらすことにより前記領域が縮小された複数の縮小領域同士の差分に基づいて、前記領域を抽出することを特徴とする付記１に記載の動画符号化装置。
（付記３）前記抽出手段は、前記入力画像を直交変換し、高周波成分に相当する係数に基づいて、前記領域を抽出することを特徴とする付記１に記載の動画符号化装置。
（付記４）前記抽出手段は、前記領域が連続する場合、前記領域を少なくとも一方に拡張して微分することにより、連続する前記領域毎に前記位置の先頭を抽出することを特徴とする付記１から３のいずれか１項に記載の動画符号化装置。
（付記５）前記抽出手段は、前記領域と前記位置とを前記領域及び前記位置と対応する等倍画像と関連付けて記録することを特徴とする付記１から４のいずれか１項に記載の動画符号化装置。
（付記６）前記検出手段は、前記位置にそれぞれマスクが付された前記縮小画像と前記次の入力画像を縮小した縮小画像とを対比して、前記縮小画像を利用した動きベクトルの探索を行うことを特徴とする付記１から５のいずれか１項に記載の動画符号化装置。
（付記７）入力画像を縮小した縮小画像を利用して動きベクトルを階層的に検出する動画符号化方法であって、前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出ステップと、前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出ステップと、を有する動画符号化方法。
（付記８）前記抽出ステップは、縮小の位相をずらすことにより前記領域が縮小された複数の縮小領域同士の差分に基づいて、前記領域を抽出することを特徴とする付記７に記載の動画符号化方法。
（付記９）前記抽出ステップは、前記入力画像を直交変換し、高周波成分に相当する係数に基づいて、前記領域を抽出することを特徴とする付記７に記載の動画符号化方法。
（付記１０）前記抽出ステップは、前記領域が連続する場合、前記領域を少なくとも一方に拡張して微分することにより、連続する前記領域毎に前記位置の先頭を抽出することを特徴とする付記７から９のいずれか１項に記載の動画符号化方法。
（付記１１）前記抽出ステップは、前記領域と前記位置とを前記領域及び前記位置と対応する等倍画像と関連付けて記録することを特徴とする付記７から１０のいずれか１項に記載の動画符号化方法。
（付記１２）前記検出ステップは、前記位置にそれぞれマスクが付された前記縮小画像と前記次の入力画像を縮小した縮小画像とを対比して、前記縮小画像を利用した動きベクトルの探索を行うことを特徴とする付記７から１１のいずれか１項に記載の動画符号化方法。
（付記１３）入力画像を縮小した縮小画像を利用して動きベクトルを階層的にコンピュータに検出させる動画符号化プログラムであって、前記コンピュータに、前記入力画像から前記入力画像を縮小することにより失われる成分を特徴的に含む領域と前記領域の位置とを抽出し、抽出した領域に対応する縮小することにより失われる成分を含む情報を前記位置と前記領域に対応付けて記録する抽出ステップと、前記縮小画像を利用した動きベクトル探索時に、前記抽出した領域の探索時は記録した前記縮小することにより失われる成分を含む情報を利用して動きベクトルの探索を行う検出ステップと、を実行させるための動画符号化プログラム。
（付記１４）前記抽出ステップは、縮小の位相をずらすことにより前記領域が縮小された複数の縮小領域同士の差分に基づいて、前記領域を抽出することを特徴とする付記１３に記載の動画符号化プログラム。
（付記１５）前記抽出ステップは、前記入力画像を直交変換し、高周波成分に相当する係数に基づいて、前記領域を抽出することを特徴とする付記１３に記載の動画符号化プログラム。
（付記１６）前記抽出ステップは、前記領域が連続する場合、前記領域を少なくとも一方に拡張して微分することにより、連続する前記領域毎に前記位置の先頭を抽出することを特徴とする付記１３から１５のいずれか１項に記載の動画符号化プログラム。
（付記１７）前記抽出ステップは、前記領域と前記位置とを前記領域及び前記位置と対応する等倍画像と関連付けて記録することを特徴とする付記１３から１６のいずれか１項に記載の動画符号化プログラム。
（付記１８）前記検出ステップは、前記位置にそれぞれマスクが付された前記縮小画像と前記次の入力画像を縮小した縮小画像とを対比して、前記縮小画像を利用した動きベクトルの探索を行うことを特徴とする付記１３から１７のいずれか１項に記載の動画符号化プログラム。
【符号の説明】
【００８５】
１００  動画符号化装置
１１０  代表テクスチャ情報抽出部（抽出手段）
１２０  画像処理部
１３０  縮小動きベクトル検出部（検出手段）
１４０  等倍動きベクトル検出部
１５０  制御部
１６０  符号化処理部
２００  フレームメモリ
３００  情報処理装置
【図１】
2015154415.tif 000003
【図２】
2015154415.tif 000004
【図３】
2015154415.tif 000005
【図４】
2015154415.tif 000006
【図５】
2015154415.tif 000007
【図６】
2015154415.tif 000008
【図７】
2015154415.tif 000009
【図８】
2015154415.tif 000010
【図９】
2015154415.tif 000011
【図１０】
2015154415.tif 000012
【図１１】
2015154415.tif 000013
【図１２】
2015154415.tif 000014
【図１３】
2015154415.tif 000015
【図１４】
2015154415.tif 000016
【図１５】
2015154415.tif 000017
【図１６】
2015154415.tif 000018
【図１７】
2015154415.tif 000019
【図１８】
2015154415.tif 000020