(57)【要約】【課題】        垂直方向、もしくは水平方向に高周波数成分を有する符号化対象の動画像に対して、演算コストを増加させずに誤った縮小動きベクトルを検出することを抑制する。【解決手段】    動きベクトルの階層的探索において、入力フレームにおいて必ずしも同一の列にない画素同士を同一の列に格納する、もしくは入力画像において必ずしも同一の行にない画素同士を同一の行に格納してサンプリングして縮小画像を作成し、作成した縮小画像の各画素を入力フレームにおける座標に基づいて対応させて動きベクトル探索を行なう。【選択図】      図７
2011142564.tif 000002
【特許請求の範囲】
【請求項１】
入力フレームから作成した縮小画像における動きベクトルを検出し、前記入力フレームにおける動きベクトルの探索を前記縮小画像における動きベクトルに基づいて行なう動画像符号化装置において、
複数の入力フレームについて、垂直方向に第１の所定間隔で配置された行において、水平方向に第２の所定の間隔で配置され、画素の位置を前記第１の所定間隔を空けた行に含まれる画素と所定の列数ずらして配置された画素で形成される画素群か、もしくは水平方向に前記第２の所定間隔で配置された列において、垂直方向に前記第１の所定の間隔で配置され、画素の位置を前記第２の所定間隔を空けた列に含まれる画素と所定の行数ずらして配置された画素で形成される画素群をサンプリングし、それぞれの入力フレームから縮小画像を作成するサンプリング処理部と、
前記作成された縮小画像間において、各画素の読み出し位置を前記入力フレームにおける位置的な対応関係に応じて補正して、前記作成された縮小画像における動きベクトルの探索を行なう動きベクトル検出部と
を有することを特徴とする動画像符号化装置
【請求項２】
前記動きベクトル検出部が、
動きベクトルを探索する前記作成された縮小画像のうち、参照対象の縮小画像について画素の読み出し位置を補正すること
を特徴とする請求項１に記載の動画像符号化装置
【請求項３】
前記サンプリング処理部が、
整数ａ１，ａ２，ｂ１，ｂ２を、ｂ１，ｂ２はいずれかが０であり、ｂ２はａ１より小さく、ｂ１はａ２よりも小さいとして、
Ｖ１＝（ａ１，ｂ１）
Ｖ２＝（ｂ２，ａ２）
と定義されるベクトルＶ１，Ｖ２を用いて、前記入力フレームにおいて所定の画素を始点として前記ベクトルＶ１，Ｖ２それぞれの整数倍の和で示される位置にある画素をサンプリングして前記縮小画像を作成すること
を特徴とする請求項１、又は請求項２に記載の動画像符号化装置
【請求項４】
前記サンプリング処理部において、
ベクトルＶ１，Ｖ２を定義する整数ａ１，ａ２，ｂ１，ｂ２の比が
ａ１：ａ２：ｂ１：ｂ２＝２：１：０：１
である場合に、前記入力フレームにおいて所定の画素を始点として前記ベクトルＶ１，Ｖ２それぞれの整数倍の和で示される位置にある画素をサンプリングすること
を特徴とする請求項３記載の動画像符号化装置
【請求項５】
前記入力フレームの周波数分布を算出する周波数解析部と、
前記周波数分布に基づいて前記ベクトルＶ１，Ｖ２を決定し、前記サンプリング処理部に指示するパターン指示部とを新たにそなえ、
前記サンプリング処理部が、前記ベクトルＶ１，Ｖ２に基づいてサンプリングする画素を決定すること
を特徴とする請求項４記載の動画像符号化装置
【請求項６】
前記パターン指示部が、
複数組の前記ベクトルＶ１，Ｖ２の候補を記憶する候補記憶部と、
前記候補毎に、前記周波数分布のうち、前記候補に基づいた配置の画素のみで表現可能な周波数領域に含まれる周波数成分を評価する候補評価部と、
前記候補評価部の評価に基づき、前記入力フレームの前記周波数成分を最も多く含む周波数領域に対応する前記候補を１つ選択し、選択された前記候補を前記サンプリング処理部に指示する候補選択部と
を有することを特徴とする請求項５記載の動画像符号化装置
【請求項７】
前記候補記憶部が、
ａ１：ａ２：ｂ１：ｂ２＝２：１：０：１
である整数ａ１，ａ２，ｂ１，ｂ２で定義される前記ベクトルＶ１，Ｖ２を候補の１つとし、
前記候補とａ１，ａ２の値が同じであり、
ａ１：ａ２：ｂ１：ｂ２＝１：１：０：０
である整数ａ１，ａ２，ｂ１，ｂ２で定義される前記ベクトルＶ１，Ｖ２を候補の１つとすること
を特徴とする請求項５又は請求項６記載の動画像符号化装置
【請求項８】
入力フレームから作成した縮小画像における動きベクトルを検出し、前記入力フレームにおける動きベクトルの探索を前記縮小画像における動きベクトルに基づいて行なう動画像符号化方法において、
複数の入力フレームについて、同一の行に属し、間に画素を選択されない２つの画素と、前記２つの画素間の列に属する画素とを選択するか、もしくは、同一の列に属し、間に画素を選択されない２つの画素と、前記２つの画素間の行に属する画素とを選択し、
前記選択された画素のいずれかに対し、前記選択された画素の画素同士の位置関係のいずれかを満たす画素をさらに選択することにより形成される画素群をサンプリングし、それぞれの入力フレームから縮小画像を作成し、
前記作成された縮小画像の各画素の読み出し位置を前記入力フレームにおける位置的な対応関係に応じて補正して、前記作成された縮小画像における動きベクトルの探索を行なうこと
を特徴とする動画像符号化方法
【請求項９】
入力フレームから作成した縮小画像における動きベクトルを検出し、前記入力フレームにおける動きベクトルの探索を前記縮小画像における動きベクトルに基づいて行なうことをコンピュータに実行させる動画像符号化プログラムにおいて、
複数の入力フレームについて、同一の行に属し、間に画素を選択されない２つの画素と、前記２つの画素間の列に属する画素とを選択するか、もしくは、同一の列に属し、間に画素を選択されない２つの画素と、前記２つの画素間の行に属する画素とを選択し、
前記選択された画素のいずれかに対し、前記選択された画素の画素同士の位置関係のいずれかを満たす画素をさらに選択することにより形成される画素群をサンプリングし、それぞれの入力フレームから縮小画像を作成するステップと、
前記作成された縮小画像の各画素の読み出し位置を前記入力フレームにおける位置的な対応関係に応じて補正して、前記作成された縮小画像における動きベクトルの探索を行なうステップと
をコンピュータに実行させることを特徴とする動画像符号化プログラム
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像を圧縮・伸張する技術に関する。
【背景技術】
【０００２】
近年、動画像をデジタル信号として取り扱い、デジタル動画像データを圧縮符号化して記録、伝送することが一般化している。動画像圧縮の符号化フォーマットとして、国際標準規格であるＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）やＨ．２６ｘなどが用いられている。
【０００３】
これらの動画像圧縮符号化方式は、動き補償フレーム間予測を採用している。動き補償フレーム間予測の技術では、符号化対象の画像フレームを複数のブロックに分割し、ブロック単位に処理を行う。
【０００４】
すなわち、各ブロックを対象として、時間的に前に符号化処理された画像フレーム（以下、参照フレームと呼ぶ）の中のその対象ブロックの近傍に位置する動き探索範囲から、上記対象ブロックと同じ大きさの複数のブロック（以下、参照ブロックと呼ぶ）を切り出し、これらの参照ブロックのうちで、上記対象ブロックに最も近似した参照ブロックを探し出す。
【０００５】
次に、最も近似した参照ブロックの位置座標に関する情報と，その対象ブロックと探し出された参照ブロックとの差分情報を符号化し、それによりその対象ブロックに対する符号列を生成する。各対象ブロックと、そのブロックから見た探し出された参照ブロックの相対位置座標を動きベクトルという。このような動きベクトル探索は、Ｈ．２６４，ＭＰＥＧ−２，ＭＰＥＧ−４，ＶＣ−１など，通常の動画像信号の符号化処理で行われる。
［従来の動きベクトル探索方法］
以下、このような動きベクトルを探索するための従来の動きベクトル探索方法を説明する。
【０００６】
図１は、符号化対象となるフレーム（符号化フレーム）について説明する図である。符号化フレーム１０は、ｎ×ｍ画素のマクロブロックを複数有しており、例えば図１では、横１６画素、縦１６画素から構成されるマクロブロック１１を複数有するものとしている。縦１０８８画素，横１９２０画素からなるＨＤＴＶ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  ＴＶ）解像度の動画像の場合であれば、マクロブロックは縦６８個（＝１０８８／１６），横１２０個（＝１９２０／１６）が並ぶことになる。符号化の対象とするブロックを符号化ブロックといい、例として図１のマクロブロック１２を符号化ブロックとする。
【０００７】
図２は、従来の動きベクトル探索方法で動きベクトルを探索するための参照フレーム２０の構成を説明するための図である。参照フレーム２０は、符号化フレーム１０よりも時間的に前に符号化処理されたフレームであり、符号化フレーム１０と同一の形状、同数の画素を有している。
【０００８】
参照フレーム２０には、符号化ブロック１２よりも大きい長方形状をした参照領域２１が、参照フレーム２０において符号化ブロック１２と対応する領域を含むように設定されている。この参照領域２１の中に、符号化ブロック１２と同一の大きさ，形状をした参照ブロック２２を設定する。参照ブロック２２の符号化ブロックからの相対位置（Ｓｘ，Ｓｙ）を動きベクトル候補２３とする。
【０００９】
図１に示す符号化ブロック１１が動きベクトルを探索する対象として選択されると、参照ブロック２２を参照領域２１の中において１画素ずつ移動させながら、符号化ブロック１１の中に配置された画素の画素値と参照ブロック２２の中に配置された画素の画素値との間で、数式１で表される差分絶対値和ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を計算する。
【００１０】
【数１】
2011142564.tif 000003
ただし，Σはｘ＝０，１，２，・・・，ｎ−１，ｙ＝０，１，２，・・・，ｍ−１で和を取ることを表し、ｎは符号化ブロック１２の水平方向の画素数、ｍは符号化ブロックの垂直方向の画素数、Ｃ（ｘ，ｙ）は符号化ブロック１２のｙ行ｘ列の位置にある画素の画素値、Ｓｘは参照位置の水平方向の変位量、Ｓｙは参照位置の垂直方向の変位量、Ｒ（ｘ＋Ｓｘ，ｙ＋Ｓｙ）は変位（Ｓｘ，Ｓｙ）の参照ブロックのｙ行ｘ列の位置にある画素の画素値を表す。そして、絶対差分値和ＳＡＤが最小となる参照ブロック２２の符号化ブロック１２に対する動きベクトル候補（Ｓｘ，Ｓｙ）２３を動きベクトルとして選択する。動き補償フレーム間予測では，符号化フレームに含まれる他のブロックについても同様の処理を行い、動きベクトルを検出する。
【００１１】
このように、参照領域２１において総当り的に参照ブロック２２を決めて動きベクトルを探索する方法を全探索法という。このような全探索法は、参照領域２１におけるすべての画素を総当り的に調べるため、演算量が莫大になる。
［動きベクトルの階層的探索方法］
そこで、動きベクトル探索にかかる演算量を削減する方法として階層的探索法が知られている。図３は、階層的探索法における縮小符号化画像３０を説明するための模式図であり、図４は、階層的探索法における縮小参照画像４０を説明するための模式図であり、図５は図３の探索結果と図４の探索の関連を説明するための模式図である。
【００１２】
階層的探索法では，まず、符号化フレーム１０を水平方向にａ１分の１に縮小し，垂直方向にａ２分の１に縮小した縮小符号化画像３０を作成する。縮小符号化画像３０は符号化フレーム１０と同数のマクロブロックを有する。ただし，１つのマクロブロック３１に含まれる画素数は、水平方向が１／ａ１倍に，垂直方向が１／ａ２倍となる。符号化ブロック１２も縮小され、縮小符号化ブロック３２となる。同様に、参照フレーム２０を水平方向にａ１分の１に縮小し、垂直方向にａ２分の１に縮小した縮小参照画像４０を作成する。縮小参照画像４０において参照領域２１は水平方向に１／ａ１倍に、垂直方向に１／ａ２倍となった縮小参照領域４１となる。各縮小符号化ブロックについて縮小参照領域４１で縮小動きベクトル４３を探索することを１次探索という。
【００１３】
１次探索で検出された縮小動きベクトル４３を水平方向にａ１倍，垂直方向にａ２倍したベクトル５２を起点として参照領域５１を定め、符号化ブロック１２と参照フレーム２０の間で動きベクトル５３を探索することを２次探索という。この２次探索で求められた動きベクトル５３を、符号化ブロック１２の動きベクトルとする。
【００１４】
一つの符号化ブロックについて動きベクトルを検出するために必要な演算量は、例えば、参照領域を水平±７、垂直±７の１５×１５画素によって構成される領域とした場合、前述した全探索法においては、１５×１５＝２２５回の１６×１６画素のマッチング、つまり、５７６００回の画素マッチングが必要となる。一方、水平１／４、垂直１／４の階層的探索法においては、１次探索における（１５／４）×（１５／４）＝約２５回の４×４画素のマッチングと，２次探索における４×４＝１６回の１６×１６画素のマッチング、つまり４４９６回の画素マッチングによって動きベクトル５３を検出することができる。従って、画素マッチングにかかる演算量は、前述した全探索法における演算量の約１／１２となる。
【００１５】
この階層的探索法による動きベクトル探索法は非特許文献１で説明されており、例えば特許文献１にこれを用いた技術が開示されている。
【００１６】
また、ライン毎にサンプリングし、偶数ラインのサンプリング開始位置を横方向のサンプリング間隔の１／２ずらしてサンプリングした画像を圧縮・伸張する技術が特許文献２に開示されている。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】トリケップス出版 ”ＭＰＥＧ技術” （Ｗｈｉｔｅ ｓｅｒｉｅｓ Ｎｏ．１５２）片山泰男 ｐｐ．２９−１２７
【特許文献】
【００１８】
【特許文献１】特開平７−１５４８０１号公報
【特許文献２】特開平５−３０４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
階層的探索法により動きベクトル探索を行なう場合に、１次探索において誤った縮小動きベクトルを検出すると、２次探索の動きベクトル探索範囲内に本来得るべき最適な動きベクトル候補が存在せず、誤った動きベクトルを検出する可能性がある。
【００２０】
しかしながら、１次探索に用いる画像はサブサンプリングにより解像度が入力画像より低い画像であるので、符号化フレーム、もしくは参照フレームに含まれる高い周波数成分を表しきれていない。符号化ブロック、もしくは参照ブロックが高い周波数成分で表現される特徴要素を有する場合は、サブサンプリングにより特徴要素を表現しきれないため、１次探索において誤った縮小動きベクトルを検出し、結果として誤った動きベクトルを算出する可能性がある。
【００２１】
そこで本願においては、水平方向、もしくは垂直方向に高い周波数成分を有するフレームに対して、演算コストを増加させずに誤った縮小動きベクトルの検出を抑制することを目的とする。
【課題を解決するための手段】
【００２２】
上記の目的を達成するために、本願の動画像符号化装置は、入力フレームから作成した縮小画像における動きベクトルを検出し、前記入力フレームにおける動きベクトルの探索を前記縮小画像における動きベクトルに基づいて行ない、複数の入力フレームについて、垂直方向に第１の所定間隔で配置された行において、水平方向に第２の所定の間隔で配置され、画素の位置を前記第１の所定間隔を空けた行に含まれる画素と所定の列数ずらして配置された画素で形成される画素群か、もしくは水平方向に前記第２の所定間隔で配置された列において、垂直方向に前記第１の所定の間隔で配置され、画素の位置を前記第２の所定間隔を空けた列に含まれる画素と所定の行数ずらして配置された画素で形成される画素群をサンプリングし、それぞれの入力フレームから縮小画像を作成するサンプリング処理部と、前記作成された縮小画像間において、各画素の読み出し位置を前記入力フレームにおける位置的な対応関係に応じて補正して、前記作成された縮小画像における動きベクトルの探索を行なう動きベクトル検出部とを有する。
【００２３】
また、本願の動画像符号化装置の前記サンプリング処理部が、整数ａ１，ａ２，ｂ１，ｂ２を、ｂ１，ｂ２はいずれかが０であり、ｂ２はａ１より小さく、ｂ１はａ２よりも小さいとして、数式２で定義されるベクトルＶ１，Ｖ２を用いて、前記入力フレームにおいて所定の画素を始点として前記ベクトルＶ１，Ｖ２それぞれの整数倍の和で示される位置にある画素をサンプリングして前記縮小画像を作成する。
【００２４】
【数２】
2011142564.tif 000004
本願の動画像符号化方法は、入力フレームから作成した縮小画像における動きベクトルを検出し、前記入力フレームにおける動きベクトルの探索を前記縮小画像における動きベクトルに基づいて行なう方法であって、複数の入力フレームについて、垂直方向に第１の所定間隔で配置された行において、水平方向に第２の所定の間隔で配置され、画素の位置を前記第１の所定間隔を空けた行に含まれる画素と所定の列数ずらして配置された画素で形成される画素群か、もしくは水平方向に前記第２の所定間隔で配置された列において、垂直方向に前記第１の所定の間隔で配置され、画素の位置を前記第２の所定間隔を空けた列に含まれる画素と所定の行数ずらして配置された画素で形成される画素群をサンプリングし、それぞれの入力フレームから縮小画像を作成し、前記作成された縮小画像の各画素の読み出し位置を前記入力フレームにおける位置的な対応関係に応じて補正して、前記作成された縮小画像における動きベクトルの探索を行なう。
【００２５】
本願の動画像符号化プログラムは、入力フレームから作成した縮小画像における動きベクトルを検出し、前記入力フレームにおける動きベクトルの探索を前記縮小画像における動きベクトルに基づいて行なうことをコンピュータに実行させる動画像符号化プログラムであって、複数の入力フレームについて、垂直方向に第１の所定間隔で配置された行において、水平方向に第２の所定の間隔で配置され、画素の位置を前記第１の所定間隔を空けた行に含まれる画素と所定の列数ずらして配置された画素で形成される画素群か、もしくは水平方向に前記第２の所定間隔で配置された列において、垂直方向に前記第１の所定の間隔で配置され、画素の位置を前記第２の所定間隔を空けた列に含まれる画素と所定の行数ずらして配置された画素で形成される画素群をサンプリングし、それぞれの入力フレームから縮小画像を作成するステップと、前記作成された縮小画像の各画素の読み出し位置を前記入力フレームにおける位置的な対応関係に応じて補正して、前記作成された縮小画像における動きベクトルの探索を行なうステップとをコンピュータに実行させる。
【発明の効果】
【００２６】
本発明によると、動きベクトルを階層的に探索する場合に、入力フレームにおいて必ずしも同一の列、又は行にない画素を同一の列、又は行に格納した縮小画像を用いて１次探索を行なうことで、垂直方向、もしくは水平方向に高い周波数成分を有するフレームに関する動きベクトル探索において、誤った動きベクトルを検出することを抑制する。
【図面の簡単な説明】
【００２７】
【図１】符号化フレームを説明する図
【図２】動きベクトル探索を説明する図
【図３】縮小符号化画像を説明する図
【図４】縮小動きベクトル探索を説明する図
【図５】縮小動きベクトルを用いた２次探索を説明する図
【図６】サンプリング例１を説明する図
【図７】サンプリング例２を説明する図
【図８】画像が表現しうる周波数領域を説明する図
【図９】縮小符号化ブロックと縮小参照画像における各画素の対応関係を説明する図
【図１０】図９の各画素の対応関係を説明する図
【図１１】図１０の対応関係の補正について説明する図
【図１２】縮小符号化ブロックと縮小参照画像において図１１で補正した対応関係を説明        する図
【図１３】動画像符号化装置の構成例を示す図
【図１４】動きベクトル計算手段の構成を示す図
【図１５】１次探索部の構成を示す図（第一実施例）
【図１６】サンプリング処理部の構成を示す図
【図１７】動きベクトル検出部の構成を示す図
【図１８】サンプリング処理のフローを示す図
【図１９】１次探索における縮小動きベクトル探索のフローを示した図
【図２０】図６のサンプリング例に適したローパスフィルタ行列
【図２１】図７のサンプリング例に適したローパスフィルタ行列
【図２２】１次探索部の構成を示す図（第二実施例）
【図２３】サンプリング方法の切り替え判断のフローを示す図
【図２４】サンプリング方法の切り替え処理のフローを示す図
【図２５】サンプリング方法の切り替え処理に伴う１次探索の追加フローを示す図
【発明を実施するための形態】
【００２８】
本発明の技術について、適宜図を参照しつつ説明する。
［サンプリングする画素の配置］
まず、１次探索の対象となる縮小画像をどのような配置にある画素をサンプリングして作成するのかを説明する。
【００２９】
後に詳述するが、１次探索において参照ブロックを符号化ブロックと相対的に位置をずらして画素を対応させるためには、参照画像と符号化画像でサンプリングする画素の配置は同じであり、且つ周期的な配置でなければならない。サンプリングする画素の配置についての周期性は、サンプリングされる画素間をつなぐ２つのベクトルで表すことが可能である。この２つのベクトルを並進ベクトルＶ１，Ｖ２とする。
【００３０】
サンプリング例１として、図６に入力フレームにおける１６×１６画素のマクロブロック６３とマクロブロックをサンプリングして作成した縮小マクロブロック６４を示している。マクロブロック６３において、●で示した画素をサンプリングして、縮小マクロブロック６４作成される。マクロブロック６３内のサンプリングする画素間の関係を表す並進ベクトルＶ１，Ｖ２は６１と６２である。図７は、サンプリング例２であり、マクロブロック７３から●で示した画素をサンプリングして縮小マクロブロック７４を作成しており、並進ベクトルは７１と７２である。
【００３１】
並進ベクトルの設定には任意性があるが、簡単のため、片方の並進ベクトルは水平方向か垂直方向に合わせることにする。具体的には、ライン方向のサンプリング間隔ａ１と位相ズレｂ１によるベクトルＶ１（ａ１，ｂ１）と、位相ズレｂ２とライン間隔ａ２によるベクトルＶ２（ｂ２，ａ２）とすると良い。ちなみに位相ズレｂ１とｂ２は、それぞれ０≦ｂ２＜ａ１，０≦ｂ１＜ａ２の整数値であり、どちらかは０である。入力画像の画素のうち、ある１つの画素から並進ベクトルＶ１，Ｖ２それぞれが整数倍されたものの和（ｍ１×Ｖ１＋ｍ２×Ｖ２（ｍ１，ｍ２は整数））で示される位置にある画素が、サンプリングされる画素である。
【００３２】
これは、サンプリングされる画素の配置は、並進ベクトルの起点となる位置の画素と、起点から並進ベクトルＶ１で示される位置の画素と、起点から並進ベクトルＶ２で示される位置の画素の３つの画素に基づいて決定されるとしても良い。この３つの画素の間の位置関係は、ベクトルＶ１，−Ｖ１，Ｖ２，−Ｖ２，Ｖ１−Ｖ２，Ｖ２−Ｖ１の６通りの関係がある。選択された画素に対して、この６通りの関係のいずれかを満たす画素をさらに選択していき、最終的に選択された画素群がサンプリングされる画素である。選択された全ての画素が、ある１つの画素から並進ベクトルＶ１，Ｖ２それぞれが整数倍されたものの和で示される位置にある画素という条件と同じことである。
【００３３】
サンプリング間隔がａ１であるため、水平方向は１／ａ１に縮小され、ライン間隔がａ２であるため、垂直方向は１／ａ２の解像度に縮小される。例えば図６のサンプリング例１では、並進ベクトルＶ１，Ｖ２をベクトル６１（４，０）、ベクトル６２（０，２）とした場合であり、図７のサンプリング例２は、並進ベクトルＶ１，Ｖ２をベクトル７１（４，０）、ベクトル７２（２，２）とした場合であるといえる。どちらのサンプリング例においても、水平方向は１／４、垂直方向は１／２に縮小されている。
【００３４】
以後、サンプリングの対象となる入力フレームを原画像といい、サンプリングされたものを縮小画像ということにする。原画像の解像度をＮ×Ｍ画素とし、各画素の画素値をＯｒｇ（Ｏｘ，Ｏｙ）する。この画素値ＯｒｇはＹ，Ｃｂ，Ｃｒの輝度値Ｙであっても良いし、Ｒ，Ｇ，Ｂの画素値のいずれかであっても良い。座標Ｏｘ，Ｏｙは、０≦Ｏｘ＜Ｎ, ０≦Ｏｙ＜Ｍの範囲の整数である。縮小画像における各画素の画素値をＲｅｄ（Ｒｘ，Ｒｙ）とし、座標Ｒｘ，Ｒｙは、０≦Ｒｘ＜Ｎ／ａ１, ０≦Ｒｙ＜Ｍ／ａ２の範囲内の整数である。また、サンプリングされる画素のうち０≦Ｏｘ＜ａ１, ０≦Ｏｙ＜ａ２である画素の座標を（ｘ１，ｙ１）としておく。その場合、原画像と縮小画像の座標は数式３で対応付けられる。
【００３５】
【数３】
2011142564.tif 000005
このように配置が決められたサンプリング対象の画素は、ｂ１＝０の場合であれば、ライン毎にサンプリング開始位置をずらすことでサンプリング可能である。即ち、０からＭ／ａ２までの各Ｒｙについてａ２＊Ｒｙ＋ｙ１のラインを、サンプリング開始位置をｍｏｄ（ｂ２＊Ｒｙ＋ｘ１，ａ１）として、サンプリング間隔ａ１おきに画素をサンプリングすればよい。
【００３６】
ｂ２＝０の場合はサンプリングされる画素のうち、同一のＲｙであるものが原画像において同一のラインでないため、ｂ１＝０の場合と同様にライン毎のサンプリングができない。この場合、それぞれの（Ｒｘ，Ｒｙ）に対し、Ｏｘ，Ｏｙの値それぞれを指定して読み出さなくてはならない。
［縮小画像の周波数領域］
次に、サンプリング対象とする画素の配置によって縮小画像が表現可能な周波数領域について説明する。
【００３７】
原画像においては、画素情報が１画素間隔で配置されているため、１画素を周期とする周波数を１としたときに、例えば水平方向に表現可能な最大周波数｜ν｜は｜ν｜＝１／２である（単位は１／ピクセル）。垂直方向にも同様であり、原画像の表現可能な周波数領域は、数式４に示す領域となる。周波数空間の水平方向の変数をνｘ、垂直方向の変数をνｙとしている。
【００３８】
【数４】
2011142564.tif 000006
また、図６のサンプリング例１の場合（Ｖ１＝（４，０）、Ｖ２＝（０，２）のとき）、作成した縮小画像で表現可能な周波数領域は数式５で示す領域となる。
【００３９】
【数５】
2011142564.tif 000007
また、図７のサンプリング例２の場合（Ｖ１＝（４，０）、Ｖ２＝（２，２）のとき）、作成した縮小画像で表現可能な周波数領域は数式６で示す領域となる。
【００４０】
【数６】
2011142564.tif 000008
これらの周波数領域は図８に図示しており、原画像が表現可能な周波数領域がＡ１であり、図６のサンプリング例１のサンプリングで作成された縮小画像が表現しうる周波数領域はＡ２であり、図７のサンプリング例２のサンプリングで作成された縮小画像が表現しうる周波数領域はＡ３である。いずれの領域も０≦νｘ，０≦νｙの範囲のみを図示している。
【００４１】
図８の周波数領域を比較すると、サンプリング例２の場合、作成した縮小画像の表現しうる周波数の領域Ａ３は、サンプリング例１で作成した縮小画像が表現しうる周波数の領域Ａ２よりも水平方向について高周波数の領域を占めている。そのため水平方向に高周波数成分を含む原画像の場合、サンプリング例２のサンプリングをおこなうことで、サンプリング例１のサンプリングを行なった場合よりも縮小画像が水平方向の高周波成分を表現しうるので、１次探索による誤った縮小動きベクトルの検出を抑制することができる。
【００４２】
比較するサンプリングのパターンによって垂直方向の高周波数について改善することも可能である。サンプリング例１とサンプリング例２では、縮小率を変えずに水平方向の解像度を改善できる。
【００４３】
上記の例に限らず、定義したＶ１＝（ａ１，ｂ１），Ｖ２＝（ｂ２，ａ２）についても表現可能な周波数領域を示す。Ｖ１，Ｖ２の定め方には任意性があったが、表現可能な最も高い周波数を求める必要があるので、サンプリングする画素の位置関係を示すベクトルは絶対値が小さいものがよい。そこで、Ｖ１，Ｖ２，Ｖ１−Ｖ２のうち、絶対値の小さいものから順に２つのベクトルをＷ１，Ｗ２とする。Ｗ１＝（ｗｘ１，ｗｙ１），Ｗ２＝（ｗｘ２，ｗｙ２）としておく。
【００４４】
ベクトルＷ１、もしくはベクトルＷ２の位置関係で位相が反転する周波数成分は、その方向に表現しうる最大の周波数成分となる。そのため、ベクトルＷ１、Ｗ２の位置関係で位相が反転しないもの、つまり変位のベクトルＷ１（ｗｘ１，ｗｙ１）、もしくはＷ２（ｗｘ２，ｗｙ２）と周波数のベクトル（νｘ，νｙ）の内積が１／２に満たない周波数成分は、表現しうる周波数成分である。また、−Ｗ１，−Ｗ２についても同様である。その領域は数式７で表され、その領域内の周波数成分についてはベクトルＷ１，Ｗ２、つまりベクトルＶ１，Ｖ２に基づいて配置された画素のみで表現できる。
【００４５】
【数７】
2011142564.tif 000009
例えば、Ｖ１＝（４，０）、Ｖ２＝（１，２）であるとすると、｜Ｖ２｜＜｜Ｖ１−Ｖ２｜＜｜Ｖ１｜であるため、ベクトルＷ１，Ｗ２はＷ１＝Ｖ１−Ｖ２＝（３，−２），Ｗ２＝Ｖ２＝（１，２）となる。その場合は数式８で示す周波数領域を表現可能である。
【００４６】
【数８】
2011142564.tif 000010
［縮小画像同士の画素のマッチング方法］
しかしながら、既に説明した原画像において異なる列、行に属する画素を同一の列、又は行に格納して作成した縮小画像を用いた場合、１次探索を適切に行なうことができない。これは差分絶対値和（ＳＡＤ）を計算する際に、縮小符号化ブロックの画素と対応する参照ブロックの画素の原画像における位置が異なる場合があるためである。
【００４７】
対応する画素の位置が原画像において異なるとは、例えば図１０に示すような場合である。図９〜図１２において縮小参照画像の画素を□で表し、縮小符号化ブロックの画素を●とする。サンプリング例２によって作成された縮小画像を用いて縮小参照画像と縮小符号化ブロックを対応させた場合に、縮小画像において図９に示す画素の対応となっているが、原画像においては図１０に示すように画素の位置関係が対応していない。言い換えれば、符号化ブロック１００内において、縮小参照画像の画素□と縮小符号化ブロックの画素●は、矢印１０２に示すとおり重なっていない。この場合、そもそも位置的に対応していない画素間で差分絶対値を算出して和をとることになるため、画像同士の近似度合いを適切に評価できず、誤った縮小動きベクトルを検出する恐れがある。
【００４８】
そこで、縮小動きベクトル９２に縮小率の逆数を乗じたベクトル１０１を補正して、縮小動きベクトル９２に対応する原画像における動きベクトルをベクトル１１１とすればよい。図１１に見るように、ベクトル１０１を補正してベクトル１１１で示した参照ブロック内においては画素が位置的に対応している。
【００４９】
補正してもブロック内での画素の配置が同じでなければ対応させることができないため、縮小画像を作成する際のサンプリングパターンは周期的でなければならない。
【００５０】
しかし、動きベクトルを補正して対応させた場合、本来対応するべき画素が矢印１１２に示すように対応していない。この矢印１１２で示したズレは縮小画像における１画素分に相当するので、縮小参照画像から画素を読み出す列を補正すればよい。つまり図１２に示すように、補正しない場合には領域９１の画素を縮小参照画像から読み出していたのに対して、補正により領域１２１の画素の読み出しを行なえばよい。具体的には以下の制御を行なう必要がある。
【００５１】
まず、縮小動きベクトル候補が原画像においてどのようなベクトルであるかを説明する。縮小動きベクトルを（ｓｘ，ｓｙ）とした場合、縮小動きベクトルを原画像に対応させたベクトルを（Ｓｘ，Ｓｙ）とすると、Ｓｘ，Ｓｙは数式９で示される。縮小動きベクトル（ｓｘ，ｓｙ）は縮小参照領域内に候補をとり、ｓｘ，ｓｙ，Ｓｘ，Ｓｙは整数であり、負の整数も定義しうる。
【００５２】
【数９】
2011142564.tif 000011
縮小符号化画像の画素値Ｒｅｄ１（Ｒｘ１，Ｒｙ１）を縮小参照画像の画素値Ｒｅｄ２（Ｒｘ２，Ｒｙ２）と対応付けるには、原画像における座標が一致していなくてはならない。まず、縮小符号化画像の画素値Ｒｅｄ１の座標（Ｒｘ１，Ｒｙ１）を原画像の座標（Ｏｘ，Ｏｙ）に対応付けると、数式１０となる。
【００５３】
【数１０】
2011142564.tif 000012
この数式１０に示した座標（Ｏｘ，Ｏｙ）を原画像に対応させた縮小動きベクトル（ｓｘ，ｓｙ）移動させた位置は数式１１となる。η１は符号化縮小画像の画素のサンプリング時のズレ量η１であり、η２は縮小動きベクトル候補の原画像とのズレ量である。η１は、縮小符号化画像のライン毎に値が決まり、サンプリング時に計算したものを保存していても良いし、縮小参照画像から読み出す際にラインＲｙ１を指定するたびに算出しても良い。η２は縮小動きベクトル候補を設定した時点で算出する。
【００５４】
【数１１】
2011142564.tif 000013
【００５５】
【数１２】
2011142564.tif 000014
数式１１からさらにｂ１，ｂ２のいずれか０となるので、ｂ１＝０の場合を説明する。原画像の座標と縮小画像の座標の対応を表す数式から縮小参照画像においての座標（Ｒｘ２，Ｒｙ２）は数式１３となる。
【００５６】
【数１３】
2011142564.tif 000015
【００５７】
【数１４】
2011142564.tif 000016
数式１３では、縮小参照画像における縮小参照画像の画素の読み出し位置のずれをξとしている。数式１４で定義されるξを求めることで、読み出し位置のずれを補正できる。また、読み出し位置のずれ量ξは、上式の計算を行なわず、η１+η２≧ａ１ならばξ＝１とし、η１+η２＜ａ１ならばξ＝０としてパターン化してもよい。
【００５８】
また、サンプリングされる画素の配置、つまり、並進ベクトルＶ１，Ｖ２とｘ１，ｙ１によって縮小参照画像からの読み出しズレξのパターンを決めてしまっても良い。例えばサンプリング例２のベクトル７１（４，０）、ベクトル７２（２，２）を並進ベクトルとした場合であれば、ｓｙとＲｙが奇数か偶数かによってξを指定し、読み出し位置を制御することができる。簡単のため、ｘ１＝０としておく。縮小動きベクトルのｙ方向ｓｙが偶数である場合には、η２は０であり、η１は必ずａ１よりも小さいため、縮小参照ブロックのどのラインにおいても読み出し位置のズレξは０である。一方、ｓｙが奇数である場合は、η２は２となり、Ｒｙ１が奇数のときにη１＝２であるためξ＝１で、Ｒｙ１が偶数のときにη１＝０であるためξ＝０となる。つまり、ｓｙが奇数のときのみ、Ｒｙ１の偶奇に合わせて読み出し位置のずれξを制御するとすれば良い。
【００５９】
ｂ１＝０のときのみ読み出しの列方向のズレξを定義したが、ｂ２＝０の場合は、列方向に読み出し位置のズレを同様に定義し、制御すればよい。
【００６０】
この方法で縮小参照画像から画素を読み出し、符号化ブロックの画素と対応する画素とで差分絶対値を算出することで、原画像において異なる位置にある画素を対応させることに起因する誤った縮小動きベクトルを検出することを防ぐことができる。２次探索は、この方法で検出した縮小動きベクトル（ｓｘ，ｓｙ）に縮小率の逆数を乗じて、上に説明したように補正したベクトルを起点に行なえばよい。
【実施例】
【００６１】
本発明の具体的な構成について、図を参照しつつ説明する。なお、以下の説明はあくまで例示であり、具体的な構成を限定するものでない。
【００６２】
本発明の動画像符号化装置は、例えば図１３の構成で実施される。動きベクトル計算手段１３０７は入力画像を復号画像記憶手段１３０６に記憶された参照フレームと対応付けて動きベクトル探索を行い、入力フレームの各符号化ブロックについての動きベクトルを出力する。
【００６３】
動きベクトル探索の演算コストを少なくする方法として階層的探索法がある。階層的探索法は既に説明したとおりであり、縮小画像を用いた動きベクトル探索（１次探索）により縮小動きベクトルを求め、求められた縮小動きベクトルに基づいて原画像を用いた動きベクトル探索（２次探索）を行なう方法である。
【００６４】
この階層的探索法で動きベクトル探索を行なう場合、動きベクトル探索部は図１４の構成となる。動きベクトル計算手段１３０７は、入力フレームから縮小画像を作成し、縮小動きベクトルを求める１次探索部１４１と、入力フレームに対して１次探索部１４１で求められた縮小動きベクトルに基づいて動きベクトルを求める２次探索部１４２で構成される。
【００６５】
１次探索部１４１における縮小動きベクトルの検出について、以下に本願の実施形態を説明する。
［第一の実施形態］
階層的探索法によって動きベクトルを探索する動きベクトル計算手段１３０７の１次探索部１４１は、例えば図１５の構成で実施することが考えられる。
【００６６】
図１５の構成では、１次探索部をサンプリング処理部１５１と、画像記憶部１５２と、動きベクトル検出部１５３で構成している。サンプリング処理部１５１は各入力フレームについてサンプリングした画素で構成される画像を画像記憶部１５２に出力する。動きベクトル検出部１５３は画像記憶部１５２に記憶された画像を用いて動きベクトル探索を行ない、各符号化ブロックの動きベクトルを検出する。画像記憶部１５２はサンプリング処理部１５１でサンプリングされた画像を記憶し、動きベクトル検出部１５３の読み出し指示に応じて記憶している画像を読み出し、動きベクトル検出部１５３に出力する。
【００６７】
サンプリング処理部１５１は、例えば図１６に示すように画素データ抽出部１６１とサンプリング位置制御部１６２で構成される。サンプリング位置制御部１６２は読み出すべき画素の座標と読み出した画素を格納する座標を画素データ抽出部１６１に指示する。画素データ抽出部１６１は、サンプリング位置制御部１６２で指示された画素について、その画素値を読み込み、サンプリング位置制御部１６２の指示に基づいて画素値を格納して画像記憶部１５２に出力する。サンプリング処理の付加的処理として、画素データ抽出部１６１はローパスフィルタの機能を有していても良い。
【００６８】
動きベクトル検出部１５３は、例えば図１７に示すようにＳＡＤ計算部１７１、読み出し位置制御部１７２、縮小動きベクトル候補生成部１７３、ブロックアドレス制御部１７４、ＳＡＤ評価部１７５で構成される。
【００６９】
ブロックアドレス制御部１７４は、符号化する画像のどの符号化ブロックを符号化するかを指定し、指示情報を読み出し位置制御部１７２に出力する。縮小動きベクトル候補生成部１７３は縮小参照領域内で１画素ずつずらしながら縮小動きベクトル候補を生成し、読み出し位置制御部１７２に出力する。読み出し位置制御部１７２は指示された符号化ブロックの位置と縮小動きベクトル候補に応じて、縮小符号化画像の指示された画素の情報と、縮小参照画像の指示された画素の情報を読み出し、ＳＡＤ計算部１７１に出力する。ＳＡＤ計算部１７１は対応する画素の差分絶対値和ＳＡＤを計算し、ＳＡＤ評価部１７５に出力する。ＳＡＤ評価部１７５では、一つの縮小符号化ブロックに対する複数の縮小動きベクトル候補の中で、最大の差分絶対値和ＳＡＤを与える縮小動きベクトル候補を縮小動きベクトルとして出力する。
【００７０】
次に、入力フレームをサブサンプリングして縮小画像を作成する処理のフローについて図１８を参照して説明する。このフローでは、縮小画像の画素の座標（Ｒｘ，Ｒｙ）毎に、原画像において対応する画素情報を読み込み、縮小画像を１フレーム作成する。
【００７１】
まず、縮小画像での座標（０，０）に対応する原画像での座標を特定する。（Ｒｘ，Ｒｙ）＝（０，０）として（Ｓ１００）、サンプリングするラインを指定する（Ｓ１０１）。次にＳ１０１で指定したラインのサンプリング開始位置を指定する（Ｓ１０２）。指定された原画像の画素情報を読み出し、縮小画像の（０，０）に格納する（Ｓ１０３，Ｓ１０４）。Ｓ１０１で指定したラインの読み出しを終えていなければ（Ｓ１０５）、原画像においてサンプリング間隔ａ１移動させた位置を指定し（Ｓ１０７）、指定された画素情報を読み出す。このフローを縮小画像の指定ラインの画素全てに画素情報を格納する（Ｓ１０６のＮＯルート）まで繰り返す。
【００７２】
縮小画像の指定されたラインにある画素全てに画素情報を格納した場合は、ラインを再指定し（Ｓ１０８）、さらにサンプリング開始位置を再指定し（Ｓ１０２）、ライン内の画素のサンプリングを行なう。縮小画像の全てのラインについてサンプリングを行なった場合（Ｓ１０６のＹＥＳルート）、入力された画像のサンプリングを終えたものとする（Ｓ１０９）。
【００７３】
次に、縮小動きベクトル探索のフローについて図１９を参照して説明する。
【００７４】
まず、符号化フレームと参照フレームを指示する情報を読み込む（Ｓ２００）。指示された符号化フレームの縮小符号化画像から縮小符号化ブロックを順に選択する（Ｓ２０１）。縮小符号化ブロックの位置に応じて縮小参照領域を設定し、縮小参照領域内で順に縮小動きベクトル候補を選択する（Ｓ２０２）。
【００７５】
Ｓ２０３〜Ｓ２０６のフローでは、指定された縮小参照ブロックについての評価値を算出する。縮小符号化ブロックのラインＲｙ１を順に指定し（Ｓ２０３）、ラインＲｙ１と縮小動きベクトル候補からズレ値ξを算出する（Ｓ２０４）。さらに、縮小符号化ブロックの画素をズレ値ξも考慮して縮小参照領域の画素と対応付ける。対応づけられた画素同士で差分絶対値和を計算し、積分する。対象とした縮小符号化ブロックと縮小参照ブロックの全ての画素について対応させて、差分絶対値を積分したら、積分値を縮小動きベクトル候補の評価値とする。
【００７６】
全ての縮小動きベクトル候補について評価値を算出したら（Ｓ２０８）、評価値が最大となる縮小動きベクトル候補を選択し、縮小符号化ブロックの縮小動きベクトルとして出力する（Ｓ２０９）。Ｓ２０２〜Ｓ２０９のフローを全ての縮小符号化ブロックについて行なっていなければ、残りの縮小符号化ブロックを選択して、再度Ｓ２０２〜Ｓ２０９のフローを行なう。全ての縮小符号化ブロックについて縮小動きベクトルを算出したら、動きベクトル探索の対象としていた参照フレームと符号化フレームの１次探索を終了する。
【００７７】
サンプリング処理部１５１でサンプリングすることによって、折り返しノイズが発生し、１次探索の精度を下げてしまうことも考えられる。そのために画素データ抽出部１６１で指定された位置にある画素の画素値を読み出す前に、その画素にフィルタ処理を施すとよい。サンプリングされた画素による画像は、サンプリングの仕方によって表現しうる周波数領域が異なるため、サンプリングの仕方に合った周波数領域のみを通過させるローパスフィルタを用いる。
【００７８】
例えば、サンプリング例１であれば、サンプリングする画素の周囲の画素も含めて図２０のフィルタを掛け合わせることによって折り返しノイズを抑止する。また、サンプリング例２であれば、サンプリングする画素の周囲の画素も含めて図２１のフィルタを掛け合わせることによって折り返しノイズを抑止できる。
［第二の実施形態］
第一の実施形態に、入力フレームの周波数特性によってサンプリング方法を切り替える構成を付加することも考えられる。例えば、図２２に示すように、新たに周波数解析部２２０とパターン指示部２２１を設けた構成が考えられる。
【００７９】
周波数解析部２２０は、入力フレームの周波数解析を行い、入力フレームにどの周波数成分が多く含まれているかを算出する。この周波数解析部２２０は動きベクトル計算手段１２０７内に設けずに、例えば図１３の直交変換手段１３０１が兼ねても良い。
【００８０】
パターン指示部２２１は、周波数解析部２２０の解析結果に基づいて、入力フレームが有する周波数成分の情報を表現可能なサンプリングパターンを決定し、サンプリング位置制御部１６２と読み出し位置制御部１７２に指示する。サンプリングパターンは、すでに説明したように、例えば並進ベクトルＶ１，Ｖ２、もしくは並進ベクトルで関係付けられる３つの画素によって決められる。
【００８１】
パターン指示部２２１は、図２２に示すように候補選択部２２２と、候補評価部２２３と、候補設定部２２４を設けた構成としても良い。
【００８２】
候補設定部２２４は、サンプリングのパターンと、そのパターンに従って配置された画素で表現可能な周波数領域が設定されている。候補評価部２２３は候補設定部２２４に設定された情報を読み出し、周波数解析部２２０で算出した周波数分布が各パターンの周波数領域内にどの程度含まれているかを算出する。算出した値は各パターンと関連づけて候補選択部２２２に出力する。候補選択部２２２では、各パターンのうち表現可能な周波数領域が周波数解析部２２０で算出した周波数分布を最も多く含むパターンを選択する。選択したパターンをサンプリング位置制御部１６２と、読み出し位置制御部１７２に出力する。
【００８３】
前述のように周波数解析部２２０は動きベクトル計算手段１３０７内に設けても良いし、直交変換手段１３０１が兼ねても良い。直交変換手段１３０１が周波数解析部を兼ねる場合は、マクロブロック単位で周波数分布を得ることになるので、１つの入力フレーム内の全ての符号化ブロックについての周波数分布を重畳して周波数分布を評価すると良い。また、周波数解析部を動きベクトル計算手段１３０７内に設けた場合は、各マクロブロックで周波数分布を求めた結果を重畳しても良いし、１フレーム全体の周波数分布を算出しても良い。
【００８４】
動画像符号化開始時には、予め何らかのサンプリングのパターンを決めておく。サンプリングのパターンが、入力フレームが有する周波数成分の情報を最も失わないサンプリングのパターンでない場合にはパターンを切り替える必要があるが、その場合は図２３のフローで切り替え処理に移行すると良い。
【００８５】
始めにカウンタを０にする（Ｓ３０１）。カウンタは、頻繁に配置パターンが切り替わることを防ぐための付加的な構成要素であり、なくても良い。次に周波数解析部２２０にて入力フレームの周波数分布を算出する（Ｓ３０２）。サンプリングパターンの候補を予め設定しておき、候補毎に評価値を算出する（Ｓ３０３）。評価値が最大となるサンプリングのパターン候補を選択し、現在のサンプリングのパターンと同じであるかを判断する（Ｓ３０４）。現在のパターンと同じであれば、現在のパターンのままサンプリング処理して縮小動きベクトル探索を行なう。評価値が最大のパターンと現在のパターンが異なる場合は、カウンタを１あげる（Ｓ３０５）。Ｓ３０５で１あげたカウンタが所定数に達していた場合にサンプリングパターンの切り替え処理に移行する（Ｓ３０６，Ｓ３０７）。カウンタが所定数に達しない場合、Ｓ３０１に戻りカウンタを０にする。
【００８６】
サンプリングパターンを切り替える場合のサンプリング処理は、図２４のフローを行なう。Ｓ３０７に移行した場合、新しいサンプリングパターンをサンプリング位置制御部１６２に出力する（Ｓ４００）。サンプリング位置制御部１６２は、新しいパターンが入力され、処理中のサンプリング処理が終了する（Ｓ１０９）と、サンプリングパターンを切り替える（Ｓ４０１）。パターンの切り替えは、ａ１，ａ２，ｂ１，ｂ２，ｘ１，ｙ１のパラメータを再設定すれば良い。サンプリングパターンを切り替えたら、次の入力フレームのサンプリング処理に移行する（Ｓ１００）。縮小画像には、どのサンプリングパターンで作成された縮小画像であるかを示すラベルを付加しておくと良い。またラベルを付加せずとも、サンプリングパターンを切り替え処理の次にサンプリングした縮小画像にフラグ等の目印をつけておくだけでも良い。
【００８７】
また、サンプリングパターンの切り替え処理後の縮小動きベクトル探索における読み出し処理については、複数フレームにわたる処理であるため、切り替え前と切り替え後の縮小画像同士はブロックマッチングできない。どのフレームを用いて動きベクトル探索を行なうか（符号化フレームの選択と参照フレームの指示）に基づいて、読み出し位置制御手段１７２動き１次探索が可能かを判断する必要がある。１次探索が不可能である場合には、階層探索を行なわないことが考えられる。その場合は、図２５のフローで行なえばよい。
【００８８】
まず、動きベクトル探索をどのフレームについて行なうかを指示する情報が入力される（Ｓ２００）。サンプリング処理部１５１で作成した縮小画像に、どのサンプリングパターンでサンプリングしたかを表すラベルを付していた場合、Ｓ２００で指示された縮小符号化フレームと縮小参照フレームでそのラベルの情報が異なるかを判断する（Ｓ５００）。ラベルの情報が同じであれば、その２つの縮小画像は同じパターンでサンプリングされたものであるので、縮小動きベクトル探索が可能であり、１次探索のフローに移行する（Ｓ２０１）。また、ラベル情報が異なる場合は、縮小画像同士で各画素の原画像における位置が対応しないため、動きベクトル探索を行なうことができない。そこで、１次探索を行なわず、２次探索部でのみ動きベクトル探索を行なう。この場合、２次探索部において、階層的探索法ではなく、全探索法で動きベクトル探索を行なう。
【符号の説明】
【００８９】
１０            符号化フレーム
１１            符号化フレーム１０のマクロブロック
１２            符号化ブロック
２０            参照フレーム
２１            参照領域
２２            参照ブロック
２３            動きベクトル候補
３０            縮小符号化画像
３１            縮小マクロブロック
３２            縮小符号化ブロック
４０            縮小参照画像
４１            縮小参照領域
４２            縮小参照ブロック
４３            縮小動きベクトル候補
５１            参照領域
５２            縮小動きベクトルを水平方向にａ１倍、垂直方向にａ２倍にしたベクトル
５３            動きベクトル候補
５４            参照ブロック
６１            並進ベクトルＶ１
６２            並進ベクトルＶ２
６３            入力フレームのマクロブロック
６４            縮小画像のマクロブロック
７１            並進ベクトルＶ１
７２            並進ベクトルＶ２
７３            入力フレームのマクロブロック
７４            縮小画像のマクロブロック
Ａ１            入力フレームが画像を表現可能な周波数領域
Ａ２            サンプリング例１で作成した縮小画像が画像を表現可能な周波数領域
Ａ３            サンプリング例２で作成した縮小画像が画像を表現可能な周波数領域
９１            縮小参照ブロック読み出し領域
９２            縮小動きベクトル候補
１００    符号化ブロックをベクトル１０１だけ移動させたもの
１０１    縮小動きベクトルを水平方向にａ１倍、垂直方向にａ２倍にしたベクトル
１１０    符号化ブロックをベクトル１１１だけ移動させたもの
１１１    １０１を補正したベクトル
１２１    補正後の縮小参照ブロック読み出し領域
１５１    サンプリング処理部
１５２    画像記憶部
１５３    動きベクトル検出部
１６１    画素データ抽出部
１６２    サンプリング位置制御部
１７１    ＳＡＤ計算部
１７２    読み出し位置制御部
１７３    縮小動きベクトル候補生成部
１７４    ブロックアドレス制御部
１７５    ＳＡＤ評価部
【図１】
2011142564.tif 000017
【図２】
2011142564.tif 000018
【図３】
2011142564.tif 000019
【図４】
2011142564.tif 000020
【図５】
2011142564.tif 000021
【図６】
2011142564.tif 000022
【図７】
2011142564.tif 000023
【図８】
2011142564.tif 000024
【図９】
2011142564.tif 000025
【図１０】
2011142564.tif 000026
【図１１】
2011142564.tif 000027
【図１２】
2011142564.tif 000028
【図１３】
2011142564.tif 000029
【図１４】
2011142564.tif 000030
【図１５】
2011142564.tif 000031
【図１６】
2011142564.tif 000032
【図１７】
2011142564.tif 000033
【図１８】
2011142564.tif 000034
【図１９】
2011142564.tif 000035
【図２０】
2011142564.tif 000036
【図２１】
2011142564.tif 000037
【図２２】
2011142564.tif 000038
【図２３】
2011142564.tif 000039
【図２４】
2011142564.tif 000040
【図２５】
2011142564.tif 000041