(57)【特許請求の範囲】
【請求項１】
複数の勾配ヒストグラムに基づいて、画像記述子を、変換された複数の副記述子を含む変換された記述子へと符号化する方法であって、
それぞれの勾配ヒストグラムは複数のヒストグラムビンを含み、それぞれの副記述子は複数の値の組を含み、
前記複数の副記述子は、前記複数の副記述子の組の副記述子インデックスおよび前記複数の値の組の要素インデックスを特定する要素利用順序リストに従って符号化され、
前記複数の副記述子は、画像記述子中心からのそれらの距離に従って複数の副記述子グループにグループ化され、それぞれの副記述子グループ内において、一の副記述子グループの対応する複数の値は、前記要素利用順序リストにおいて全て同じ符号化優先度が割り当てられる、方法。
【請求項２】
前記複数の副記述子は、前記画像記述子中心までの距離が最も短い全ての副記述子を含む第１のグループ、および、残った全ての副記述子を含む第２のグループにグループ化される、請求項１に記載の方法。
【請求項３】
前記複数の副記述子は、前記画像記述子中心からの距離が最も長い前記複数の副記述子を含む第１のグループ、前記画像記述子中心までの距離が２番目に長い複数の副記述子の第１の組を含む第２のグループ、前記画像記述子中心までの距離が２番目に長い複数の副記述子の第２の組を含む第３のグループ、および、前記画像記述子中心までの距離が最も短い前記複数の副記述子を含む第４のグループにグループ化される、請求項１に記載の方法。
【請求項４】
前記第１、第２、第３、および第４のグループは、同じ数の副記述子を含む、請求項３に記載の方法。
【請求項５】
前記複数の副記述子は、画像記述子中心からのそれらの距離に従い、且つ、それらの複数の互いの距離に従って複数の副記述子グループにグループ化される、請求項１に記載の方法。
【請求項６】
前記複数の副記述子は、前記画像記述子中心からの距離が最も長い前記複数の副記述子を含む第１のグループ、前記画像記述子中心までの距離が２番目に長い複数の副記述子の第１の組を含む第２のグループ、前記画像記述子中心までの距離が２番目に長い複数の副記述子の第２の組を含む第３のグループ、および、前記画像記述子中心までの距離が最も短い前記複数の副記述子を含む第４のグループにグループ化される、請求項５に記載の方法。
【請求項７】
一の副記述子グループは、互いに対する距離が予め定められた閾値より小さい複数の副記述子を含まない、請求項５に記載の方法。
【請求項８】
前記複数の互いの距離は、複数の副記述子の間の総距離を最大化させることを含む、請求項５に記載の方法。
【請求項９】
前記複数の副記述子は、画像記述子中心からのそれらの距離に従って複数の副記述子グループにグループ化され、且つ、それらの複数の互いの距離に従って順序付けられる、請求項１に記載の方法。
【請求項１０】
一の副記述子グループは、互いに対する距離が予め定められた閾値より小さい連続する複数の副記述子を含まない、請求項９に記載の方法。
【請求項１１】
前記複数の互いの距離は、連続する複数の副記述子の間の前記距離を最大化させることを含む、請求項９に記載の方法。
【請求項１２】
前記複数の副記述子は、画像記述子中心からのそれらの距離に従って複数の副記述子グループにグループ化され、それぞれのグループの前記複数の副記述子は、それらの対応する複数の符号化特性に従って順序付けられる、請求項１に記載の方法。
【請求項１３】
前記複数の符号化特性は、複数の変換に対応する、請求項１２に記載の方法。
【請求項１４】
それぞれの副記述子グループに対し、前記グループ中の第１の副記述子の前記変換は第１のタイプの変換であり、前記グループ中の第２の副記述子の前記変換は前記第１のタイプの変換であり、前記グループ中の第３の副記述子の前記変換は第２のタイプの変換であり、前記グループ中の第４の副記述子の前記変換は前記第２のタイプの変換である、請求項１３に記載の方法。
【請求項１５】
前記複数の符号化特性は、量子化のタイプおよびレベル、またはそれらの複数の組合せである、請求項１２に記載の方法。
【請求項１６】
特定クラスの複数の値に対して、より高い優先度が与えられる、請求項１から１５のいずれか１項に記載の方法。
【請求項１７】
前記画像記述子中心まで最も近い前記複数の副記述子グループに対して、より高い優先度が与えられる、請求項１から１６のいずれか１項に記載の方法。
【請求項１８】
前記要素利用順序リストは、前記画像記述子と一緒に格納される、または伝送される、請求項１から１７のいずれか１項に記載の方法。
【請求項１９】
前記画像記述子は、前記記述子の１または複数の最後の要素を切捨てることにより、低減された長さを有する記述子へと変換される、請求項１から１８のいずれか１項に記載の方法。
【請求項２０】
前記要素利用順序リストは、１６または２４または３２または１２８個の要素が順序付られたリストの形を取る、請求項１から１９のいずれか１項に記載の方法。
【請求項２１】
請求項１から２０のいずれか１項に記載の方法を実行するための手段を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像特徴キーポイントの周りの複数の局所領域において計算された複数の画像記述子を、効率的に符号化する、コード変換する、復号化する、および処理する方法に関し、また、そのような複数の記述子を符号化する、コード変換する、復号化する、および処理するための手段を備える画像処理装置に関する。
【背景技術】
【０００２】
そのような複数の画像記述子は、いくつか例を挙げると、物体認識、コンテンツベースの画像検索、および画像登録を含め、多くのコンピュータビジョン用途において広い適用可能性が見出されてきた。
【０００３】
そのような複数の記述子を符号化する既存の複数の手法は、いくつかの欠点を示す。
【０００４】
例えば、既存の複数の符号化手法は、与えられた記述子長の記述子が異なる記述子長の記述子に変換されるようなコード変換を実行するためには、あるいは、長さの異なる複数の記述子の復号化および比較を実行するためには、複数の記述子全体の構文解析を必要とする複数の記述子をもたらす。
【０００５】
別の例としては、既存の複数の符号化手法は、可変長の複数の画像記述子を生成するために必要な複数の演算において複数の共通性および冗長性を無視するので、複雑なものを符号化する観点においては非効率的である。
【０００６】
出願者自身によって出願された未だ公開されていないイタリア特許出願第ＴＯ２０１２Ａ０００６０２号は、複数の局所画像記述子の符号化を記載する。そこでは、ロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子が、複数の勾配の複数のヒストグラムを用いた複数の画像記述子から、該複数の勾配の複数のヒストグラムの変換に基づいて計算される。ここで、この変換は、それらの複数のビン値の間の複数の分布の形状および関係の形で、その中に含まれる特徴的でロバストな情報を捉える。
【０００７】
上記の未だ公開されていないイタリア特許出願においては、容易に拡張可能な複数のビットストリームを生成するという観点において、従来技術の複数の方法より効率的な、上記した複数の記述子の複数の符号化方法が開示される。
【０００８】
そのような複数の記述子は、上述の未だ公開されていないイタリア特許出願第ＴＯ２０１２Ａ０００６０２号に開示される。これは、複数の勾配の複数のヒストグラムを用いた複数の画像記述子から、該複数の勾配の複数のヒストグラムの変換に基づいて、ロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子の算出を開示する。ここで、この変換は、それらの複数のビン値の間の複数の分布の形状および関係の形で、その中に含まれる特徴的でロバストな情報を捉える。
【０００９】
複数の勾配の複数のヒストグラムを用いて、複数の画像記述子からロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子を算出する重要な複数の態様、特に、未だ公開されていないイタリア特許出願第ＴＯ２０１２Ａ０００６０２号に従ったＳＩＦＴ画像記述子が、以下に説明される。
【００１０】
手短に言えば、ＳＩＦＴ法により、複数の局所画像記述子が以下のように形成される。まず、複数の画像スケールおよび複数の位置にわたる検索が、スケールおよび方向に不変な、安定した複数の画像キーポイントを識別し、場所を特定すべく実行される。次に、それぞれのキーポイントについて、複数の局所画像勾配に基づいて１または複数の支配的な方向が決定され、各キーポイントの割り当てられた方向、スケール、および位置に対して、続く局所記述子算出が実行されることを可能にする。従って、これら複数の変換に対する不変性を実現する。次に、複数のキーポイント周りの複数の局所画像記述子が以下のように形成される。まず、キーポイント周りの領域中の複数の画像サンプル点において、勾配の大きさおよび方向情報が計算され、次に、これら複数のサンプルが、ｎ×ｎの部分領域にわたって複数の内容をまとめた複数の方向ヒストグラム中に蓄積される。
【００１１】
説明のみを目的として、ＳＩＦＴキーポイント記述子の例が図１ａおよび１ｂに示される。図１ａは、４×４の部分領域ＳＲへと局所領域Ｒを細分化することを示す。図１ｂは、各方向ヒストグラムに対する８つのビンへと３６０°の方向範囲を細分化することを示し、それぞれの矢印の長さは、そのヒストグラム入力の大きさに対応する。従って、図１に示される局所画像記述子は、４×４×８＝１２８個の要素を有する。ＳＩＦＴ技術のより詳細は、David G. Loweの"Distinctive image features from scale-invariant keypoints"International Journal of Computer Vision, 60, 2 (2004), pp. 91-110に見出すことができる。
【００１２】
未だ公開されていないイタリア特許出願第ＴＯ２０１２Ａ０００６０２号に従うと、ロバスト、識別的、拡張可能、且つコンパクトな画像記述子は、以下のように、ＳＩＦＴ記述子から計算されてよい。
【００１３】
以下の説明においてＨ（ｂ）（以降、「（ｂ）」という添字表記は、（ｂ）が添えられている記号が太字で表されることを意味する）は、それぞれ８つのビンｈ（ｉ）（以降、「（ｉ）」という添字表記は、（ｉ）が添えられている記号が斜体字で表されることを意味する）を持った複数の勾配の１６個のヒストグラムｈ（ｂ）を含む全ＳＩＦＴ記述子である。一方、Ｖ（ｂ）は、それぞれ８つの要素ｖ（ｉ）を持った１６個の副記述子（subdescriptor）ｖ（ｂ）を含む、本発明に従った全局所記述子である。
【００１４】
図２ａに示されるように、Ｈ（ｂ）は、複数の勾配の１６個のヒストグラムｈ（ｂ）０−ｈ（ｂ）１５を含むＳＩＦＴ局所画像記述子を示すものとしよう。それぞれのヒストグラムは、図２ｂに示されるように、８つのビン値ｈ（ｉ）０−ｈ（ｉ）７を含む。よりロバスト、識別的、拡張可能、且つコンパクトな画像記述子は、Ｈ（ｂ）のｈ（ｂ）０−ｈ（ｂ）１５のそれぞれを変換し、次に、結果として得られた複数の変換された値に対してスカラー量子化を実行することによって計算されてよい。より具体的には、ｈ（ｂ）０−ｈ（ｂ）１５のそれぞれは、以下に示されるように、図３の変換利用情報に従った変換Ａまたは変換Ｂに従って変換される。すなわち、ｈ（ｂ）０、ｈ（ｂ）２、ｈ（ｂ）５、ｈ（ｂ）７、ｈ（ｂ）８、ｈ（ｂ）１０、ｈ（ｂ）１３、ｈ（ｂ）１５に対しては変換Ａが適用され、ｈ（ｂ）１、ｈ（ｂ）３、ｈ（ｂ）４、ｈ（ｂ）６、ｈ（ｂ）９、ｈ（ｂ）１１、ｈ（ｂ）１２、ｈ（ｂ）１４に対しては変換Ｂが適用される。これにより、ｈ（ｂ）０−ｈ（ｂ）１５にそれぞれ対応する副記述子ｖ（ｂ）０−ｖ（ｂ）１５を持った変換された記述子Ｖ（ｂ）を与え、ｖ（ｂ）０−ｖ（ｂ）１５はそれぞれ要素ｖ（ｉ）０−ｖ（ｉ）７を含むので、全部で１２８個の要素を与える。
【００１５】
変換Ａ    （１）
ｖ（ｉ）０＝ｈ（ｉ）２−ｈ（ｉ）６
ｖ（ｉ）１＝ｈ（ｉ）３−ｈ（ｉ）７
ｖ（ｉ）２＝ｈ（ｉ）０−ｈ（ｉ）１
ｖ（ｉ）３＝ｈ（ｉ）２−ｈ（ｉ）３
ｖ（ｉ）４＝ｈ（ｉ）４−ｈ（ｉ）５
ｖ（ｉ）５＝ｈ（ｉ）６−ｈ（ｉ）７
ｖ（ｉ）６＝（ｈ（ｉ）０＋ｈ（ｉ）４）−（ｈ（ｉ）２＋ｈ（ｉ）６）
ｖ（ｉ）７＝（ｈ（ｉ）０＋ｈ（ｉ）２＋ｈ（ｉ）４＋ｈ（ｉ）６）−（ｈ（ｉ）１＋ｈ（ｉ）３＋ｈ（ｉ）５＋ｈ（ｉ）７）
【００１６】
変換Ｂ    （２）
ｖ（ｉ）０＝ｈ（ｉ）０−ｈ（ｉ）４
ｖ（ｉ）１＝ｈ（ｉ）１−ｈ（ｉ）５
ｖ（ｉ）２＝ｈ（ｉ）７−ｈ（ｉ）０
ｖ（ｉ）３＝ｈ（ｉ）１−ｈ（ｉ）２
ｖ（ｉ）４＝ｈ（ｉ）３−ｈ（ｉ）４
ｖ（ｉ）５＝ｈ（ｉ）５−ｈ（ｉ）６
ｖ（ｉ）６＝（ｈ（ｉ）１＋ｈ（ｉ）５）−（ｈ（ｉ）３＋ｈ（ｉ）７）
ｖ（ｉ）７＝（ｈ（ｉ）０＋ｈ（ｉ）１＋ｈ（ｉ）２＋ｈ（ｉ）３）−（ｈ（ｉ）４＋ｈ（ｉ）５＋ｈ（ｉ）６＋ｈ（ｉ）７）
【００１７】
次に、各要素は、各要素に対する複数の量子化ビンの間に特定の発生確率分布を実現すべく、選択された複数の量子化閾値で、粗いスカラー量子化、例えば、３値（３−水準）量子化される。このスカラー量子化は、副記述子ｖ（ｂ）〜０−ｖ（ｂ）〜１５を有する量子化された記述子Ｖ（ｂ）〜を生成する。ｖ（ｂ）〜０−ｖ（ｂ）〜１５のそれぞれは要素ｖ（ｉ）〜０−ｖ（ｉ）〜７を含むので、やはり、全部で１２８個の要素を有する。このコンパクトな記述子は、複数の勾配の元々の複数のヒストグラムに含まれる、最も識別的でロバストな情報を、それらの複数のビン値の間の複数の分布の形状および関係の形で捉える。
【００１８】
記述子Ｖ（ｂ）、並びにその量子化された変形版Ｖ（ｂ）〜の重要な利点は、とても拡張可能性があること、および、その用途の複数の格納要求または伝送チャネルの複数の特性により、必要な場合に、その複数の要素のうちの１または複数を単純に除くことによって、その次元が容易に低減され得ることである。簡潔にするために、以下の説明においては、副記述子ｖ（ｂ）０−ｖ（ｂ）１５を有する、事前に量子化された記述子Ｖ（ｂ）の符号化の観点から、本発明の重要な複数の態様が説明されるであろう。副記述子ｖ（ｂ）０−ｖ（ｂ）１５のそれぞれは要素ｖ（ｉ）０−ｖ（ｉ）７を含み、そうでないことが述べられていない限り、量子化された記述子Ｖ（ｂ）〜の符号化は同様な方式で進むことが理解されるべきである。
【００１９】
図４ａ−４ｅは、わずか２０個の記述子要素を利用した最も短い記述子長である記述子長０（ＤＬ０）から、全１２８個の要素を利用した最も長い記述子長である記述子長４（ＤＬ４）まで、５つの目標とする記述子長に対して優れた識別能力およびロバスト性を生成することが見出された、例示的な複数の要素の複数の組を示す。より具体的には、図４ａは、２０個の要素を含む記述子長ＤＬ０に対する、例示的な複数の要素の組を示す。図４ｂは、４０個の要素を含む記述子長ＤＬ１に対する、例示的な複数の要素の組を示す。図４ｃは、６４個の要素を含む記述子長ＤＬ２に対する、例示的な複数の要素の組を示す。図４ｄは、８０個の要素を含む記述子長ＤＬ３に対する、例示的な複数の要素の組を示す。そして図４ｅは、全１２８個の要素を含む記述子長ＤＬ４に対する、例示的な複数の要素の組を示す。従って、各記述子長に対して、各副記述子の各要素は、図４ａ−４ｅの要素利用の複数の組に従って符号化されるであろうし、あるいはされないであろう。
【００２０】
この拡張可能性という特性に対するかぎは、各記述子長に対して利用される複数の要素の組が、図４ａ−４ｅに示されるような、より高次の全ての記述子長に対して利用される複数の要素の組と同一であるかまたはそのサブセットでなければならないことである。これは、より高次の記述子長を有する記述子が、より低次の記述子長を有する記述子と同じ複数の要素の組まで低減されるように、その過剰な複数の要素を単純に除去することによって、長さの異なる複数の記述子のコード変換および比較を可能にする。
【００２１】
この記述子の簡単な符号化法は、"副記述子ごとの"順序で、すなわち、一般的な場合には、ｖ（ｉ）０，０、ｖ（ｉ）０，１、...、ｖ（ｉ）０，７、ｖ（ｉ）１，０、ｖ（ｉ）１，１、...、ｖ（ｉ）１，７、...、ｖ（ｉ）１５，０、ｖ（ｉ）１５，１、...、ｖ（ｉ）１５，７という順序で、複数の要素を計算することおよび符号化することを含む。ここで、ｖ（ｉ）ｉ，ｊは、副記述子ｖ（ｂ）ｉの要素ｖ（ｉ）ｊを示す。これは、どの要素が符号化されるべきかを決定すべく、例えば図３に示されるような適切な複数の変換を使用して、また、例えば図４に示されるような、所望の記述子長に対する適切な要素利用の複数の組を使用して、変換された副記述子ｖ（ｂ）０に対して複数の要素ｖ（ｉ）０、ｖ（ｉ）１、...、ｖ（ｉ）７を符号化し、次に、変換された副記述子ｖ（ｂ）１に対して複数の要素ｖ（ｉ）０、ｖ（ｉ）１、...、ｖ（ｉ）７を符号化し、等々を意味する。
【００２２】
この符号化は、例えば記述子長ＤＬ０に対しては記述子ｖ（ｉ）０，０、ｖ（ｉ）１，０、ｖ（ｉ）２，０、ｖ（ｉ）３，０、ｖ（ｉ）４，０、ｖ（ｉ）５，０、ｖ（ｉ）５，６、ｖ（ｉ）６，０、ｖ（ｉ）６，６、ｖ（ｉ）７，０、ｖ（ｉ）８，０、ｖ（ｉ）９，０、ｖ（ｉ）９，６、ｖ（ｉ）１０，０、ｖ（ｉ）１０，６、ｖ（ｉ）１１，０、ｖ（ｉ）１２，０、ｖ（ｉ）１３，０、ｖ（ｉ）１４，０、ｖ（ｉ）１５，０を生じ、記述子長ＤＬ１に対しては記述子ｖ（ｉ）０，０、ｖ（ｉ）０，１、ｖ（ｉ）１，０、ｖ（ｉ）１，１、ｖ（ｉ）２，０、ｖ（ｉ）２，１、ｖ（ｉ）３，０、ｖ（ｉ）３，１、ｖ（ｉ）４，０、ｖ（ｉ）４，１、ｖ（ｉ）５，０、ｖ（ｉ）５，１、ｖ（ｉ）５，２、ｖ（ｉ）５，６、ｖ（ｉ）６，０、ｖ（ｉ）６，１、ｖ（ｉ）６，２、ｖ（ｉ）６，６、ｖ（ｉ）７，０、ｖ（ｉ）７，１、ｖ（ｉ）８，０、ｖ（ｉ）８，１、ｖ（ｉ）９，０、ｖ（ｉ）９，１、ｖ（ｉ）９，２、ｖ（ｉ）９，６、ｖ（ｉ）１０，０、ｖ（ｉ）１０，１、ｖ（ｉ）１０，２、ｖ（ｉ）１０，６、ｖ（ｉ）１１，０、ｖ（ｉ）１１，１、ｖ（ｉ）１２，０、ｖ（ｉ）１２，１、ｖ（ｉ）１３，０、ｖ（ｉ）１３，１、ｖ（ｉ）１４，０、ｖ（ｉ）１４，１、ｖ（ｉ）１５，０、ｖ（ｉ）１５，１を生じる。
【００２３】
図５は、一連のステップとしての、そのような簡単なエンコーダの動作を示す。以下の説明、並びに、エンコーダの動作についての続く説明において、そうでないことが特定されない限り、そのような一連のステップは、概念的な複数のステップに対応し、複数のソフトウェア実装、複数の構成要素、および複数の命令の特定のハードウェアには対応しないが、エンコーダの全体的な動作を代表するものである。より具体的には、図５は、例えば、図４に示される複数の記述子長のうちの１つに対応する記述子長ＤＬｋに対するエンコーダの動作を示す。図５のステップＳ１００において、第１の副記述子、すなわちｖ（ｂ）０にて、記述子の符号化が始まる。ステップＳ１１０において、例えば図３の変換利用に従って、処理されている副記述子に対して適切な変換が選択される。本明細書に説明されるような、異なる２つの変換に従って記述子Ｈ（ｂ）から記述子Ｖ（ｂ）を算出することは、単なる例にすぎないことに留意されるべきである。記述子Ｈ（ｂ）からの記述子Ｖ（ｂ）の算出はまた、例えば変換Ａのみ、あるいは変換Ｂのみの単一の変換に従って実行されてよい。これによりステップＳ１１０を不要にする。あるいは、２つよりも多くの変換に従って実行されてもよい。ステップＳ１２０において、第１の副記述子要素、すなわちｖ（ｉ）０にて、処理されている副記述子の符号化が始まる。次に、ステップＳ１３０において、例えば図４の複数の利用の組のうちの１つを使用して、特定の副記述子の特定の要素、すなわちｖ（ｉ）０，０を使用するかしないかが、記述子長ＤＬｋに対する要素利用情報に対してチェックされる。もしも要素が使用されていない場合には、処理はステップＳ１５０へと移る。もしも記述子長ＤＬｋに対して要素が使用されている場合には、ステップＳ１４０において、その符号化が行われる。ここでは、エンコーダの動作についての続く説明と同様に、そうでないことが特定されない限り、"符号化"という用語は、要素ｖ（ｉ）０，０を局所画像記述子の一部にするような１または複数の動作、またはそれらの組合せを意味する。この動作は、例としてであって限定するものではないが、以前に見られた（１）または（２）の適切な変換関数に従った計算、全ての要素が事前に計算されている場合に、どの要素が最終的に記述子中に使用されるかについての知識無しでの、局所画像記述子へと含む要素の選択、要素値の量子化、揮発性または不揮発性メモリへの要素の格納、および、伝送チャネルに沿った要素の伝送を含む。ステップＳ１４０の後に、またはステップＳ１３０において記述子長ＤＬｋに対してその要素が使用されていないことが決定された場合、処理はステップＳ１５０へと移る。ステップＳ１５０において、もしも現在の要素がその副記述子の最後の要素ではない場合、その副記述子の次の要素へと処理は移る。そうでない場合、処理はステップＳ１６０へと移る。ステップＳ１６０において、もしも現在の副記述子がその局所画像記述子の最後の副記述子ではない場合、その局所画像記述子の次の副記述子へと処理は移る。そうでない場合、処理は終了する。従って、ステップＳ１００、Ｓ１２０、Ｓ１５０、およびＳ１６０は、処理が実行される順序に関係す���のに対し、ステップＳ１１０、Ｓ１３０、およびＳ１４０は、局所画像記述子の実際の符号化に関係することが明らかである。
【００２４】
この記述子の別の簡単な符号化法は、"要素ごとの"順序で、複数の要素を計算することおよび符号化することを含む。すなわち、どの要素が符号化されるべきかを決定すべく、例えば図３に示されるような複数の適切な変換を再度使用して、また、例えば図４に示されるような所望の記述子長に対する適切な要素利用の複数の組を使用して、一般的な場合には、ｖ（ｉ）０，０、ｖ（ｉ）１，０、...、ｖ（ｉ）１５，０、ｖ（ｉ）０，１、ｖ（ｉ）１，１、...、ｖ（ｉ）１５，１、...、ｖ（ｉ）０，７、ｖ（ｉ）１，７、...、ｖ（ｉ）１５，７、すなわち、副記述子ｖ（ｂ）０、ｖ（ｂ）１、...、ｖ（ｂ）１５に対して要素ｖ（ｉ）０を符号化し、次に、副記述子ｖ（ｂ）０、ｖ（ｂ）１、...、ｖ（ｂ）１５に対して要素ｖ（ｉ）１を符号化し、等々という順序である。そのようなエンコーダは、複数のステップの適切な並び替えにより、図５のエンコーダと類似したやり方で動作してよい。一般に、前述の２つの方法のどちらも、その他の方法に対する利点を提供しない。コード変換、復号化、および処理を目的として、デコーダもまた、関連するコンピュータビジョン用途を目的として、恐らくは長さの異なる複数の記述子の処理および比較を可能とすべく、符号化処理および要素の順序および複数の利用の組を知っていなくてはならない。従って、要素利用の複数の組は、不変に固定されているか、または、複数の記述子と一緒に格納される／伝送されるかのいずれかでなくてはならない。この状況においては、簡単な符号化処理は不都合である。
【００２５】
より具体的には、そのような符号化は、符号化順序における異なる複数の要素の間の相対的重要度を無視する。その結果として、与えられた記述子長の記述子が、異なる記述子長の記述子へと変換されるようなコード変換の観点では、あるいは、２つの記述子の間で対応する複数の要素を比較することによって長さの異なる複数の記述子を復号化および比較する観点では、そのような符号化は、所望の結果を実現するために、複数の記述子の構文解析を必要とする。
【００２６】
さらに、そのような符号化は、異なる複数の要素間の相対的重要度における複数の冗長パターンを無視し、特定の要素が符号化されるべきか否かについて決定することに関して不必要に複雑である。
【００２７】
従って、本発明の目的は、従来技術の複数の方法に対してより効率的な、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【００２８】
本発明のさらなる目的は、より柔軟な、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【００２９】
本発明のさらなる目的は、最適化されたエンコーダの実装を実現することを可能にする、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【００３０】
本発明のさらなる目的は、任意の長さの複数の画像記述子を取得することを可能にする、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置を開示することである。
【００３１】
本発明のこれらの、およびその他複数の目的は、本記載の不可欠な部分である添付の複数の特許請求項に請求されるように、勾配ヒストグラムに基づいて画像記述子を符号化する方法、および関連する画像処理装置によって実現される。
【発明の概要】
【００３２】
手短に言えば、上記にて説明されたもののような複数の画像記述子を、要素利用順序に従ってそれらを符号化することにより、効率的に符号化する方法が開示される。これは、構文解析の代わりに記述子の単純な切捨てによって、より低次の記述子長へと変換されることのできる、拡張可能な複数の記述子をもたらす。
【００３３】
符号化は、上記複数の副記述子グループの対応する複数の要素間の相対的重要度における冗長パターンに従って形成される、複数の副記述子グループに従って実行される。
【００３４】
より具体的には、高い認識性能を実現するという観点において、複数の副記述子の対応する複数の要素がそれらの相対的重要度に従った記述子の全要素の順序付けにおいて同様な重要度を有するような複数の副記述子をグループ化することにより、このグループ化が実行される。より具体的には、記述子中心からのそれらの距離に従って複数の副記述子をグループ化することにより、および、さらに複数の副記述子をそれらの間の距離に従ってグループ化することにより、および／または、さらに、対応する複数の符号化特性に従って１つのグループの複数の副記述子を順序付けることにより、および／または、さらに、１つのグループの複数の副記述子をそれらの間の距離に従って順序付けることにより、実行される。
【００３５】
本発明に従った符号化方法は、効率、計算の複雑さ、および／または拡張可能な複数のビットストリームを生成するのに必要な情報量の観点から、有利にも、従来技術の複数のものより効率的である。
【００３６】
本発明のさらなる複数の特徴が、本記載の不可欠な部分として意図されている添付の複数の特許請求項において提示される。
【図面の簡単な説明】
【００３７】
添付された複数の図面を具体的に参照した、勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置に関する以下の詳細な説明から、上記の複数の目的がより明らかとなるであろう。
【図１ａ】従来技術のキーポイント記述子の例を示す。
【図１ｂ】従来技術のキーポイント記述子の例を示す。
【図２ａ】図１のキーポイント記述子の複数の勾配の複数のヒストグラムを示す。
【図２ｂ】この複数の勾配のヒストグラムのうちの１つに関する複数のビン値を示す。
【図３】図２の複数の勾配の複数のヒストグラムに対して適用されるべき例示的な複数の変換を示す。
【図４ａ】５つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【図４ｂ】５つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【図４ｃ】５つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【図４ｄ】５つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【図４ｅ】５つのターゲット記述子長のそれぞれに対する、複数の要素の例示的な組を示す。
【図５】図４の複数の要素の複数の組を使用したエンコーダの動作を示すフローチャートを表す。
【図６】本発明に従った方法によって使用される要素利用順序を示す。
【図７】図６の要素利用順序を使用したエンコーダの動作を示す。
【図８】領域の中心および局所画像記述子の部分領域の中心を示す。
【図９】本発明に従った方法の第１の実施形態または第４の実施形態に従った、局所画像記述子の複数の副記述子の第１のグループ化を示す。
【図１２】本発明に従った方法の第１の実施形態に従った、局所画像記述子の複数の副記述子の第２の例示的なグループ化を示す。
【図１４】本発明に従った方法の第１の実施形態に従った、局所画像記述子の複数の副記述子の第３の例示的なグループ化を示す。
【図１０】図９のグループ化に関連する第１のグループ−要素利用順序を示す。
【図１３】図１２のグループ化に関連する第２のグループ−要素利用順序を示す。
【図１５】図１４および１７のグループ化に関連する第３のグループ−要素利用順序を示す。
【図１１】本発明に従った方法の第１、第２、または第４の実施形態に従った、エンコーダの動作を示す。
【図１６】本発明に従った方法の第１の実施形態に従った、第４の例示的なグループ化を示す。
【図１７】本発明に従った方法の第２および第３の実施形態に従った、局所画像記述子の複数の副記述子の第５の例示的なグループ化を示す。
【図１８】本発明に従った方法の第３の実施形態に従った、図１７の要素利用順序を使用するエンコーダの動作を示す。
【図１９】本発明に従った方法の第４の実施形態に従った、エンコーダの動作を示す。
【図２０】本発明に従った方法の第５の実施形態に従った、局所画像記述子の複数の副記述子の例示的なグループ化を示す。
【図２１ａ】図２０のグループ化に従った複数の要素の例示的な複数の組を示す。
【図２１ｂ】図２０のグループ化に従った複数の要素の例示的な複数の組を示す。
【図２１ｃ】図２０のグループ化に従った複数の要素の例示的な複数の組を示す。
【図２１ｄ】図２０のグループ化に従った複数の要素の例示的な複数の組を示す。
【図２１ｅ】図２０のグループ化に従った複数の要素の例示的な複数の組を示す。
【図２２ａ】グループ−要素利用の複数の組に変換された場合の、図２１ａの複数の要素の複数の組を示す。
【図２２ｂ】グループ−要素利用の複数の組に変換された場合の、図２１ｂの複数の要素の複数の組を示す。
【図２２ｃ】グループ−要素利用の複数の組に変換された場合の、図２１ｃの複数の要素の複数の組を示す。
【図２２ｄ】グループ−要素利用の複数の組に変換された場合の、図２１ｄの複数の要素の複数の組を示す。
【図２２ｅ】グループ−要素利用の複数の組に変換された場合の、図２１ｅの複数の要素の複数の組を示す。
【図２３】図２２ａ−２２ｅの複数の要素の変換された複数の組を提供するための記述子の符号化用エンコーダの動作を示す。
【図２４】本発明に従った方法を実行するのに適切な画像処理装置を示す。
【発明を実施するための形態】
【００３８】
本発明に従うと、複数の異なる記述子長に対する要素利用の複数の組に従って符号化するよりもむしろ、要素利用順序に従った、より効率的なエンコーダが動作してよく、その複数の要素が要素利用順序に従って順序付けられ、記述子の単純な切捨てによってより低次の記述子長へと変換されることのできる記述子を生成する。そのような要素利用順序は、１１２バイトに符号化され得る１２８個の要素が順序付られたリストの形を取ってよい。リストの各入力は、図６に示されるように、副記述子インデックスおよび要素インデックスを特定する。よって、例えば、図６は要素優先度リストを示し、ここでは要素ｖ（ｉ）５，０に最も高い優先度が与えられ、要素ｖ（ｉ）９，０に２番目に高い優先度が与えられる、等である。従って、そのような要素利用順序エンコーダは、リスト中の最上位のｌ個の要素を符号化することにより、長さｌの記述子を生成してよい。
【００３９】
図７は、図６の要素利用順序を使用する、そのようなエンコーダの動作を示す。図７のエンコーダにより、記述子の符号化は、要素利用順序における最上位の優先度（優先度１）を有する要素、すなわち、副記述子ｖ（ｂ）５の要素ｖ（ｉ）０で始まる。ステップＳ２００において、この要素が属する副記述子に従って、例えば図３の変換利用に従って、適切な変換が選択される。本明細書に説明されるような、異なる２つの変換に従って記述子Ｈ（ｂ）から記述子Ｖ（ｂ）を算出することは、単なる例にすぎないことに留意されるべきである。複数の異なる実施形態においては、記述子Ｈ（ｂ）からの記述子Ｖ（ｂ）の算出はまた、例えば変換Ａのみ、あるいは変換Ｂのみの単一の変換に従って実行されてもよく、これによりステップＳ２００を不要にする。あるいは、２つよりも多くの変換に従ってもよい。次に、要素、すなわちｖ（ｉ）５，０の符号化がステップＳ２１０において行われる。次に、ステップＳ２２０において、記述子のｌ個の要素のうちの所望の数がまだ符号化されていない場合には、要素利用順序中の次に最も高い優先度を有する要素へと処理は移る。そうでない場合には処理は終了する。従って、いくつの要素が符号化されるかの制御にステップＳ２２０が関係するのに対し、ステップＳ２００およびＳ２１０は、局所画像記述子の実際の符号化に関係する。
【００４０】
従って、図７のエンコーダは、図６中のような要素利用順序を使用して、その複数の要素が要素利用順序に従って順序付けられ、記述子の単純な切捨てによって、すなわち、記述子の最後の複数の要素を除くことによって、より低次の記述子長に変換されることのできる複数の記述子を生成し、図４中のような要素利用の複数の組を使用する図５のエンコーダよりも柔軟である。
【００４１】
記述子中の要素の数ｌは、恐らく画像レベルで、記述子と一緒に格納される／伝送されるであろう。コード変換、復号化、および処理を目的として、デコーダもまた、関連するコンピュータビジョン用途の複数の目的のために、処理することの可能な要素順序を知っていなくてはならない。従って、要素利用順序は、不変に固定されているか、あるいは、複数の記述子と一緒に格納される／伝送されるかのいずれかでなくてはならない。
【００４２】
しかしながら実際には、図７のエンコーダの効率は改善されることができる。これは、図６に示される要素利用順序が、かなりの量の冗長性を含んでおり、生成および使用することがある程度非実用的なためである。
【００４３】
これに対する理由は、Ｖ（ｂ）の１２８個の要素の完全な組は、その複数の要素が単一の優先度リストに従って順序付けられ得る単一の記述子に対しては対応しないが、特定の変換に従って複数の勾配の異なるヒストグラムから各副記述子が抽出されるような１６個の異なる８要素副記述子には対応することによる。これにより、全ての副記述子の間の対応する複数の要素が、同一の角度分離を有する複数のビンの間の関係を捉える。
【００４４】
従って、複数の要素の限られた組によって高い認識性能を実現するという観点において、記述子は、均一な要素分布、すなわち、できる限り多くの副記述子から要素を選択することと、記述子中心からの距離、すなわち、記述子中心により近い複数の副記述子に対してより高い優先度を与えることとをうまく両立させる必要があることが見出された。同時に、記述子中心までの複数の副記述子の距離が同一な場合には、複数の異なる副記述子からの対応する複数の要素の重要度がおよそ同一であり、その一方で、記述子中心までの複数の副記述子の距離が減少するに連れて、複数の異なる副記述子からの対応する複数の要素の重要度が増大することもまた見出された。
【００４５】
この状況においては、記述子中心までの副記述子ｖ（ｂ）の距離とは、図８に示されるように、副記述子ｖ（ｂ）を生じる複数の勾配のヒストグラムｈ（ｂ）に対応する部分領域の中心と、複数の部分領域を含む領域の中心との間の距離を指す。これら複数の距離を計算すべく、画像領域および複数の部分領域の複数の大きさに戻って参照することが可能であるものの、必ずしも必要なわけではない。なぜならば、これら複数の距離を比較することにのみ関心があるからである。従って、これら複数の距離は、各部分領域のそれぞれの辺が、例えば単位長さを有するものと仮定することにより計算されてよい。さらに、この説明においてこれら複数の距離は複数のユークリッド距離であるが、他の適切な複数の距離基準もまた使用されてよい。
【００４６】
その結果として、画像記述子の効率的な符号化の複数の目的のために、各グループの複数の副記述子に対して対応する複数の記述子要素が、利用順序における共通の重要度を割り当てられ、一緒に符号化されるように、画像記述子の複数の副記述子がグループ化されてよいことが認められる。
【００４７】
第１の実施形態
本発明の第１の実施形態においては、複数の副記述子が、記述子中心からのそれらの距離に従ってグループ化される。
【００４８】
例えば、そのようなグループ化の１つが図９に示される。そこには３つのグループ、すなわち、記述子中心までの距離が最も長い複数の副記述子を含むｇ（ｂ）０＝｛ｖ（ｂ）０，ｖ（ｂ）３，ｖ（ｂ）１２，ｖ（ｂ）１５｝、記述子中心までの距離が２番目に長い複数の副記述子を含むｇ（ｂ）１＝｛ｖ（ｂ）１，ｖ（ｂ）２，ｖ（ｂ）４，ｖ（ｂ）７，ｖ（ｂ）８，ｖ（ｂ）１１，ｖ（ｂ）１３，ｖ（ｂ）１４｝、および、記述子中心までの距離が最も短い複数の副記述子を含むｇ（ｂ）２＝｛ｖ（ｂ）５，ｖ（ｂ）６，ｖ（ｂ）９，ｖ（ｂ）１０｝が存在する。各グループ内において、複数の副記述子は、昇順の副記述子インデックス順序で順序付けられる。しかしこれは限定的なものではなく、グループ中の最も上部で最も左側の副記述子から開始する時計回りのような、その他複数の順序が使用されてよい。各グループ内においては、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられる。
【００４９】
このグループ化に基づいて、グループ−要素利用順序が生成されてよい。これは２４要素の順序リストの形を取ってよく、１５バイトに符号化されてよい。各リスト入力は、図１０に示されるように、副記述子のグループおよび要素インデックスを特定する。図１０のグループ−要素利用順序はただの例にすぎず、リスト中の複数の入力の優先度を変更することにより、異なる複数のグループ−要素利用順序が生成されてよいことに留意されるべきである。従って、図１０のグループ−要素利用順序は、長さおよび符号化サイズの観点において、図６の要素利用順序よりもはるかに経済的である。よって、例えば図１０は、グループｇ（ｂ）２の要素ｖ（ｉ）０に最も高い優先度が与えられ、符号化する最初の４つの要素がｖ（ｉ）５，０、ｖ（ｉ）６，０、ｖ（ｉ）９，０、およびｖ（ｉ）１０，０であることをエンコーダに命令し、グループｇ（ｂ）１の要素ｖ（ｉ）０に２番目に高い優先度が与えられ、符号化する次の８つの要素がｖ（ｉ）１，０、ｖ（ｉ）２，０、ｖ（ｉ）４，０、ｖ（ｉ）７，０、ｖ（ｉ）８，０、ｖ（ｉ）１１，０、ｖ（ｉ）１３，０、およびｖ（ｉ）１４，０であることをエンコーダに命令する、等々であるような、グループ−要素優先度リストを示す。
【００５０】
図１１は、図１０のグループ−要素利用順序を使用し、上記グループ−要素利用順序における複数の要素の上位ｍ個のグループを符号化するように構成されたそのようなエンコーダの動作を示す。図１１のエンコーダによると、記述子の符号化は、グループ−要素利用順序における最上位の優先度（優先度１）を有する複数の要素のグループ、すなわち、複数の副記述子ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、およびｖ（ｂ）１０を含むグループｇ（ｂ）２の要素ｖ（ｉ）０から始まる。ステップＳ３００において、記述子の符号化は、グループの第１の副記述子、すなわちｖ（ｂ）５から始まる。ステップＳ３１０において、例えば図３の変換利用に従って、副記述子に対して適切な変換が選択される。本明細書に説明されるような、異なる２つの変換に従って記述子Ｈ（ｂ）から記述子Ｖ（ｂ）を算出することは、単なる例にすぎないことに留意されるべきである。複数の異なる実施形態においては、記述子Ｈ（ｂ）からの記述子Ｖ（ｂ）の算出はまた、例えば変換Ａのみ、あるいは変換Ｂのみの単一の変換に従って実行されてもよく、これによりステップＳ３１０を不要にする。あるいは、２つよりも多くの変換に従ってもよい。次に、要素、すなわちｖ（ｉ）５，０の符号化がステップＳ３２０において行われる。ステップＳ３３０において、もしも現在の副記述子が当該グループの最後の副記述子でない場合には、次の副記述子へと処理が移る。そうでない場合には、ステップＳ３４０へと処理は移る。次に、ステップＳ３４０において、もしも複数の要素のｍ個のグループのうちの所望の数がまだ符号化されていない場合には、グループ−要素利用順序において次に最も高い優先度を有する複数の要素のグループへと処理は移る。そうでない場合には、処理は終了する。従って、ステップＳ３００、Ｓ３３０、およびＳ３４０は、処理が実行される順序、および複数の要素のいくつのグループを符号化するかの制御に関係する。これに対して、ステップＳ３１０およびＳ３２０は、局所画像記述子の実際の符号化に関係する。
【００５１】
グループの数ｍまたは記述子中の対応する要素の数ｌは、恐らく画像レベルで、記述子と一緒に格納される／伝送されるであろう。
【００５２】
図６の要素利用順序よりも図１０のグループ−要素利用順序がより経済的であるという事実は、より効率的且つ経済的なエンコーダをもたらす。さらに、以前に見られたように、コード変換、復号化、および処理を目的として、デコーダもまた、関連するコンピュータビジョン用途の複数の目的のために、複数の記述子を処理および比較することを可能とすべく符号化処理および要素利用順序を知っていなくてはならない。これは、要素利用順序が固定されているか、あるいは複数の記述子と一緒に伝送されるかのいずれかでなくてはならないことを意味する。異なる複数の用途は、複数の要素の限られた組によって高い認識性能を実現すべく、恐らく画像またはサブ画像レベルにおいて、例えば、記述子中心に最も近い複数の副記述子に対してより高い優先度を与えることにより、または、特定クラスの要素、例えばｖ（ｉ）２ではなくｖ（ｉ）７に対してより高い優先度を与えることにより、要素利用順序を変更する必要があるだろう。この場合、要素利用順序は、複数の記述子と一緒に格納されねばならない。あるいは伝送されねばならない。複数の低ビットレートの記述子のサイズが通常数１００バイトであることを考慮すると、図１０のグループ−要素利用順序は、図６の要素利用順序よりもはるかに低いオーバーヘッドを表す。さらに、副記述子のグループ化は固定されていてよく、エンコーダおよびデコーダの両者に対して知られていてよい。あるいは、複数の記述子と一緒に伝送されてよい。例えば、今までのところ考慮されてきたグループ化については、グループの数および各グループの構成のサイズは、１０バイトより小さく符号化されてよい。
【００５３】
本発明の第１の実施形態に従った別の例として、異なるグループ化が図１２に示されている。ここでは２つのグループ、すなわち、周辺の副記述子を全て含むｇ（ｂ）０＝｛ｖ（ｂ）０、ｖ（ｂ）１、ｖ（ｂ）２、ｖ（ｂ）３、ｖ（ｂ）４、ｖ（ｂ）７、ｖ（ｂ）８、ｖ（ｂ）１１、ｖ（ｂ）１２、ｖ（ｂ）１３、ｖ（ｂ）１４、ｖ（ｂ）１５｝、および、記述子中心までの距離が最も短い複数の副記述子、すなわち中心の副記述子を全て含むｇ（ｂ）１＝｛ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、ｖ（ｂ）１０｝が存在する。従って、この例では、記述子中心までの距離は変動するが、グループｇ（ｂ）１の複数の副記述子よりも中心からは常にもっと離れている複数の副記述子を、グループｇ（ｂ）０は含む。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。このグループ化に基づいて、グループ−要素利用順序が生成されてよい。これは、１６要素の順序リストの形を取ってよく、８バイトに符号化されてよい。各リスト入力は、図１３に示されるように、副記述子のグループおよび要素インデックスを特定する。図１３のグループ−要素利用順序に従って記述子を符号化すべく、図１１のエンコーダが次に再度使用されてよい。図１３のグループ−要素利用順序はただの例にすぎず、リスト中の複数の入力の優先度を変更することにより、異なる複数のグループ−要素利用順序が生成されてよいことに留意されるべきである。
【００５４】
本発明の第１の実施形態に従った別の例として、異なるグループ化が図１４に示されている。ここでは４つのグループ、すなわち、記述子中心までの距離が最も長い複数の副記述子を含むｇ（ｂ）０＝｛ｖ（ｂ）０、ｖ（ｂ）３、ｖ（ｂ）１２、ｖ（ｂ）１５｝、記述子中心までの距離が２番目に長い４つの副記述子の組を含むｇ（ｂ）１＝｛ｖ（ｂ）１、ｖ（ｂ）２、ｖ（ｂ）４、ｖ（ｂ）７｝、記述子中心までの距離がやはり２番目に長い異なる４つの副記述子の組を含むｇ（ｂ）２＝｛ｖ（ｂ）８、ｖ（ｂ）１１、ｖ（ｂ）１３、ｖ（ｂ）１４｝、および、記述子中心までの距離が最も短い複数の副記述子を含むｇ（ｂ）３＝｛ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、ｖ（ｂ）１０｝が存在する。従って、この例では、グループｇ（ｂ）１とｇ（ｂ）２の複数の副記述子は、記述子の中心から同一の距離にある。このグループ化は、図９のグループ化から、元々のグループｇ（ｂ）１を新たなグループｇ（ｂ）１とｇ（ｂ）２とに細分することによって得られる。こうする利点は、最適化されたエンコーダの実装において望ましい、同じ数の副記述子を有する複数のグループをもたらすことである。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。このグループ化に基づいて、グループ−要素利用順序が生成されてよい。これは、３２要素の順序リストの形を取ってよく、２０バイトに符号化されてよい。各リスト入力は、図１５に示されるように、副記述子のグループおよび要素インデックスを特定する。図１５のグループ−要素利用順序に従って記述子を符号化すべく、図１１のエンコーダが次に再度使用されてよい。図１５のグループ−要素利用順序はただの例にすぎず、リスト中の複数の入力の優先度を変更することにより、異なる複数のグループ−要素利用順序が生成されてよいことに留意されるべきである。
【００５５】
明らかに、４つのグループにする図１４のグループ化は、ただ１つだけというわけではない。例えば、複数のグループｇ（ｂ）０＝｛ｖ（ｂ）０、ｖ（ｂ）３、ｖ（ｂ）１２、ｖ（ｂ）１５｝、ｇ（ｂ）１＝｛ｖ（ｂ）１、ｖ（ｂ）２、ｖ（ｂ）１３、ｖ（ｂ）１４｝、ｇ（ｂ）２＝｛ｖ（ｂ）４、ｖ（ｂ）７、ｖ（ｂ）８、ｖ（ｂ）１１｝、およびｇ（ｂ）３＝｛ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、ｖ（ｂ）１０｝を含む代替的なグループ化が、図１６に示される。従って、図１６におけるグループｇ（ｂ）０およびｇ（ｂ）３は、図１４におけるそれらと同一であるが、ｇ（ｂ）１とｇ（ｂ）２の複数の副記述子は、これら２つのグループのそれぞれが、副記述子格子の左上方、右上方、左下方、および右下方部分から１つの副記述子を含むように、図１４と比べて入れ替えられている。
【００５６】
図７のエンコーダと図１１のエンコーダとの間の１つの差異は、前者が任意の長さの複数の記述子を生成するのに対して、後者は、複数の副記述子グループによって決定された細かさをその長さが有するような、複数の記述子の符号化を可能とすることである。実際には、後で示されるように、後者は、任意の長さの複数の記述子を生成するように構成されてよい。
【００５７】
第２の実施形態
本発明の第２の実施形態において複数の副記述子は、第１に、中心からのそれらの距離に従って（第１条件）グループ化され、第２に、それらの互いの距離に従って（第２条件）グループ化される。
【００５８】
この状況においては、複数の副記述子間の距離は、ユークリッド距離の形をやはり取ってよいし、あるいは、マンハッタン距離のような、別の適切な複数の距離基準の形を取ってよい。
【００５９】
第２条件は、例えば、お互いに対する距離が予め定められた閾値より小さいような複数の副記述子を、１つのグループが含むべきではない、ということであってよい。従って、予め定められた閾値は、例えば、隣接する複数の副記述子をグループ化することを防止するように設定されてよい。
【００６０】
第２の条件の目的は、異なる複数のグループの複数の副記述子が、可能である場合はいつでも、副記述子格子の比較的離れた複数の位置から取り出されることを保証することである。それにより、特徴の数が非常に小さい複数の記述子の情報容量を増大させる。第２の条件は、常に満たされなくてもよいことに留意されるべきである。例えば、中心の副記述子ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、およびｖ（ｂ）１０を全て含む１つのグループにとって、これを満たすことは不可能である。
【００６１】
例えば、そのようなグループ化の１つが図１７に示される。ここでは４つのグループ、すなわち、記述子中心までの距離が最も長い複数の副記述子を含むｇ（ｂ）０＝｛ｖ（ｂ）０、ｖ（ｂ）３、ｖ（ｂ）１２、ｖ（ｂ）１５｝、記述子中心までの距離が２番目に長い４つの副記述子の組を含むｇ（ｂ）１＝｛ｖ（ｂ）１、ｖ（ｂ）７、ｖ（ｂ）８、ｖ（ｂ）１４｝、記述子中心までの距離がやはり２番目に長い異なる４つの副記述子の組を含むｇ（ｂ）２＝｛ｖ（ｂ）２、ｖ（ｂ）４、ｖ（ｂ）１１、ｖ（ｂ）１３｝、および、記述子中心までの距離が最も短い複数の副記述子を含むｇ（ｂ）３＝｛ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、ｖ（ｂ）１０｝が存在する。従って、この例では、グループｇ（ｂ）０、ｇ（ｂ）１、およびｇ（ｂ）２の複数の副記述子は、隣接する複数の副記述子を含まないという条件を満たす。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。このグループ化に基づいて、図１５に示されるもののようなグループ−要素利用順序が生成されてよく、次に、図１１に示されるもののようなエンコーダが、図１５のグループ−要素利用順序に従って記述子を符号化すべく、再度使用されてよい。
【００６２】
明らかに、複数の副記述子間の総距離を最大化させる等のように、１つのグループ内の複数の副記述子の距離に基づいた代替的な複数の条件もまた使用されてよい。
【００６３】
第３の実施形態
本発明の第３の実施形態においては、複数の副記述子は、中心からのそれらの距離に従ってグループ化される。各グループの複数の副記述子は、それらの対応する複数の符号化特性、例えばそれらの対応する複数の変換に従って定義された順序で符号化される。
【００６４】
例えば、本発明の第２の実施形態の図１７のグループ化を図３の変換配置パターンと併せて考慮すると、各グループ内において、２つの副記述子が変換Ａに従って変換され、２つの副記述子が変換Ｂに従って変換されることが理解される。従って、各グループに対して、変換利用順序が"ＡＡＢＢ"でなくてはならないという、共通の符号化順序条件を設定することが可能である。すなわち、各副記述子グループに対して、グループ中の第１の副記述子の変換は変換Ａであり、グループ中の第２の副記述子の変換もまた変換Ａであり、グループ中の第３の副記述子の変換は変換Ｂであり、グループ中の第４の副記述子の変換もまた変換Ｂである、という符号化順序である。従って、記述子中心までの距離が最も長い複数の副記述子を含むｇ（ｂ）０＝｛ｖ（ｂ）０、ｖ（ｂ）１５、ｖ（ｂ）３、ｖ（ｂ）１２｝、記述子中心までの距離が２番目に長い４つの副記述子の組を含むｇ（ｂ）１＝｛ｖ（ｂ）７、ｖ（ｂ）８、ｖ（ｂ）１、ｖ（ｂ）１４｝、記述子中心までの距離がやはり２番目に長い異なる４つの副記述子の組を含むｇ（ｂ）２＝｛ｖ（ｂ）２、ｖ（ｂ）１３、ｖ（ｂ）４、ｖ（ｂ）１１｝、および、記述子中心までの距離が最も短い複数の副記述子を含むｇ（ｂ）３＝｛ｖ（ｂ）５、ｖ（ｂ）１０、ｖ（ｂ）６、ｖ（ｂ）９｝というグループが存在する。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。さらに、各グループ内において、グループ中の４つの副記述子に対する変換利用情報は常に"ＡＡＢＢ"である。これは、効率的なエンコーダの実施が、各副記述子の適用可能な変換を識別する必要の無いことを意味する。
【００６５】
図１８は、図１５のグループ−要素利用順序を使用し、上記のグループ−要素利用順序における複数の要素の上位ｍ個のグループを符号化するように構成された、そのようなエンコーダの動作を示す。図１８のエンコーダによると、記述子の符号化は、グループ−要素利用順序における最上位の優先度（優先度１）を有する複数の要素のグループ、すなわち、複数の副記述子ｖ（ｂ）５、ｖ（ｂ）１０、ｖ（ｂ）６、およびｖ（ｂ）９を含むグループｇ（ｂ）３の要素ｖ（ｉ）０から始まる。ステップＳ４００において、記述子の符号化は、グループの第１の副記述子、すなわちｖ（ｂ）５から始まる。全てのグループが共通且つ固定された変換利用順序を有するものと仮定すると、処理はステップＳ４１０へと移り、そこでは要素、すなわちｖ（ｉ）５，０の符号化が行われる。ステップＳ４２０において、もしも現在の副記述子がそのグループの最後の副記述子でない場合には、処理は次の副記述子へと移る。そうでない場合には、ステップＳ４３０へと処理は移る。次に、ステップＳ４３０において、もしも複数の要素のｍ個のグループのうちの所望の数がまだ符号化されていない場合には、グループ−要素利用順序において次に最も高い優先度を有する複数の要素のグループへと処理は移る。そうでない場合には、処理は終了する。従って、ステップＳ４００、Ｓ４２０、およびＳ４３０は、処理が実行される順序、および複数の要素のいくつのグループを符号化するかの制御に関係する。これに対してステップＳ４１０のみは、局所画像記述子の実際の符号化に関係する。
【００６６】
上記の説明においては、各グループ内で利用される複数の変換に対して共通の符号化順序条件が定義されている。しかしこの条件はまた、量子化のタイプおよびレベル、あるいはそれらの複数の組合せのような、その他複数の符号化特性に対して定義されてもよい。
【００６７】
明らかに、必要な場合には、異なる複数の符号化順序条件が、複数の副記述子の異なる複数のグループに対して適用されてよい。例えば、本発明の第１の実施形態においては、図９に従ったグループ化は、３つのグループをもたらす。すなわち、記述子中心までの距離が最も長い４つの副記述子を含むｇ（ｂ）０、記述子中心までの距離が２番目に長い８つの副記述子を含むｇ（ｂ）１、および、記述子中心までの距離が最も短い４つの副記述子を含むｇ（ｂ）２である。この場合、異なるグループサイズのために、変換利用順序は"ＡＡＢＢ"でなければならないという符号化順序条件がグループｇ（ｂ）０およびｇ（ｂ）２に対して適用されてよく、変換利用順序は"ＡＡＡＡＢＢＢＢ"でなければならないという異なる符号化順序条件がグループｇ（ｂ）１に対して適用されてよい。
【００６８】
第４の実施形態
本発明の第４の実施形態においては、複数の副記述子は、中心からのそれらの距離に従ってグループ化される。各グループの複数の副記述子は、それらの間の距離に従って順序付けられる。
【００６９】
順序付けの条件は、例えば、１つのグループ内で連続する複数の副記述子の間の距離が、予め定められた閾値より小さくなるべきではない、ということであってよい。従って、予め定められた閾値は、例えば、連続して隣接する複数の副記述子が１つのグループ内になることを防止するように設定されてよい。
【００７０】
異なる順序付けの条件は、例えば、１つのグループ内で連続する複数の副記述子の間の距離が最大化されることであってよい。
【００７１】
この順序付けは、以下に説明されるように、グループ−要素利用順序のサイズを低減すべく大きな複数の副記述子グループを用いる場合、および部分グループ符号化を用いる場合に特に有用である。このタイプの順序付けは、常に可能でなくてもよいことに留意されるべきである。例えば、中心の副記述子ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、およびｖ（ｂ）１０を全て含む１つのグループにとって、連続して隣接する複数の記述子を有さないようにすることは不可能である。
【００７２】
例えば、図９に示されるグループ化を考慮すると、各グループ内の複数の副記述子は、グループ内で最も低いインデックスを有する副記述子から開始して、連続する複数の副記述子の間の距離を最大化するように順序付けられてよく、その結果、グループｇ（ｂ）０＝｛ｖ（ｂ）０、ｖ（ｂ）１５、ｖ（ｂ）３、ｖ（ｂ）１２｝、ｇ（ｂ）１＝｛ｖ（ｂ）１、ｖ（ｂ）１４、ｖ（ｂ）２、ｖ（ｂ）１３、ｖ（ｂ）７、ｖ（ｂ）８、ｖ（ｂ）１１、ｖ（ｂ）４｝、およびｇ（ｂ）２＝｛ｖ（ｂ）５、ｖ（ｂ）１０、ｖ（ｂ）６、ｖ（ｂ）９｝をもたらすということが理解される。各グループ内において、グループの複数の副記述子の対応する複数の要素は、全て同じ符号化優先度が割り当てられている。
【００７３】
このグループ化および各グループ内の複数の副記述子の順序付けに基づいて、図１０に示されるもののようなグループ−要素利用順序が生成されてよく、次に、図１１に示されるもののようなエンコーダが、図１０のグループ−要素利用順序に従って記述子を符号化すべく、再度使用されてよい。代替的に、図１９に示されるもののようなエンコーダが使用されてよい。
【００７４】
より具体的には、図７のエンコーダと図１１および図１８の複数のエンコーダとの間の１つの差異は、前者が任意の長さの複数の記述子を生成するのに対して、後者は、その長さが複数の副記述子グループによって決定された細かさを有する複数の記述子の符号化を可能とすることである。しかしながら実際には、図１１および１８の複数のエンコーダのそれぞれは、所望の記述子長に到達された際に、複数の要素の最後のグループの部分符号化によって、任意の長さの複数の記述子を符号化するように容易に構成され得る。この状況においては、図１９は、図１１のエンコーダのそのような変更を示す。基本的に、図１９のエンコーダは、図１１のエンコーダのステップＳ３３０とＳ３４０を単純に入れ替えることによって得られる。これにより、所望の数の要素が符号化されるやいなや、１つのグループの符号化を図１９のエンコーダが終了させることが可能となる。明らかに、図１８のエンコーダに対してもまた、類似した変更が適用可能である。
【００７５】
この状況においては、１つのグループ内の複数の副記述子を、それらの間の距離に従って順序付けることは、とても有利である。何故ならば、連続する複数の要素が、副記述子格子の比較的遠い複数の位置から取り出される結果となり、これは、１つのグループの部分符号化の場合には、特徴の数が小さい複数の記述子の情報容量を増大させるからである。
【００７６】
第５の実施形態
本発明のこれ以前の複数の実施形態は、複数の副記述子を、記述子中心からのそれらの距離および／またはお互いに対するそれらの距離に基づいて、複数の副記述子グループにグループ化することから生じる、グループ−要素利用順序に従った、複数の画像記述子の効率的な符号化を示すものである。
【００７７】
本発明の代替的な実施形態においては、１つのグループ内の各副記述子が、１つのグループ内のその他全ての副記述子に対するものと同一の要素利用の組を有するように、複数の副記述子がグループ化されてよい。
【００７８】
例えば、４つのグループ、すなわち、ｇ（ｂ）０＝｛ｖ（ｂ）５、ｖ（ｂ）６、ｖ（ｂ）９、ｖ（ｂ）１０｝、ｇ（ｂ）１＝｛ｖ（ｂ）１、ｖ（ｂ）７、ｖ（ｂ）８、ｖ（ｂ）１４｝、ｇ（ｂ）２＝｛ｖ（ｂ）２、ｖ（ｂ）４、ｖ（ｂ）１１、ｖ（ｂ）１３｝、およびｇ（ｂ）３＝｛ｖ（ｂ）０、ｖ（ｂ）３、ｖ（ｂ）１２、ｖ（ｂ）１５｝が存在する、図２０のグループ化を考慮する。これは、図１７におけるグループ化と同一であるが、より低いインデックスを有する複数のグループが、記述子中心に対してより近い複数の副記述子を含むようにグループインデックスが割当て直されている（すなわち、ｇ（ｂ）０とｇ（ｂ）３とが入れ替えられている）。このグループ化を図４ａ−４ｅの要素利用の複数の組と組み合わせると、図２１ａ−２１ｅのグループ−要素利用の複数の組を導く。
【００７９】
各記述子長に対して利用される複数の要素の組は、より高次の記述子長の全てに対して利用される複数の要素の組と同一でなければならないので、またはそのサブセットでなければならないので、図２１ａ−２１ｅのグループ−要素利用の複数の組は、図２２ａ−２２ｅに示されるような、漸増的グループ−要素利用の複数の組へと変換されてよい。ここでは、各記述子長（例えば図２２ｃのＤＬ２）に対し、対応する要素利用の組は、直前のより低次の記述子長（例えば、図２２ｂのＤＬ１）と比べて、当該記述子長の記述子を構成する付加的な複数の要素のみを示す。
【００８０】
図２２ａ−２２ｅの漸増的グループ−要素利用の複数の組に基づいて、エンコーダは、記述子の単純な切捨てによってより低次の記述子長へと変換されることのできる複数の記述子を生成してよい。
【００８１】
図２３は、長さＤＬｋの記述子の符号化に対するそのようなエンコーダの動作を示す。より具体的には、ステップＳ６００において、最も低次の記述子長の記述子、すなわちＤＬ０の記述子を符号化することにより処理が始まる。ステップＳ６１０において、ＤＬ０記述子の符号化が、第１の副記述子グループ、すなわちｇ（ｂ）０の符号化によって始まる。そしてステップＳ６２０において、第１の副記述子グループの符号化が、第１の要素、すなわちｖ（ｉ）０の符号化によって始まる。ステップＳ６３０において、図２２の漸増的グループ−要素利用の複数の組に従って、記述子長ＤＬ０におけるｇ（ｂ）０に対し、もしも要素ｖ（ｉ）０が使用されていない場合、処理はステップＳ６８０へと移る。そうでない場合、処理はステップＳ６４０へと移る。ステップＳ６４０において、グループｇ（ｂ）０の第１の副記述子が選択され、すなわちｖ（ｂ）５、ステップＳ６５０において、例えば図３に従って適切な変換関数が選択される。本明細書に説明されるような、異なる２つの変換に従って記述子Ｈ（ｂ）から記述子Ｖ（ｂ）を算出することは、単なる例にすぎないことに留意されるべきである。複数の異なる実施形態においては、記述子Ｈ（ｂ）からの記述子Ｖ（ｂ）の算出はまた、例えば変換Ａのみ、あるいは変換Ｂのみの単一の変換に従って実行されてもよく、これによりステップＳ６５０を不要にする。あるいは、２つよりも多くの変換に従ってもよい。次に、ステップ６６０において、要素ｖ（ｉ）５，０の符号化が行われる。ステップＳ６７０において、もしも現在の副記述子がグループ中の最後の副記述子ではない場合、グループ中の次の副記述子へと処理は移る。そうでない場合、処理はステップＳ６８０へと移る。ステップＳ６８０において、もしも現在の要素が最後の要素、すなわちｖ（ｉ）７ではない場合、次の要素へと処理は移る。そうでない場合、処理はステップＳ６９０へと移る。ステップＳ６９０において、もしも現在の副記述子グループが最後の副記述子グループではない場合、次の副記述子グループへと処理は移る。そうでない場合、処理はステップＳ６９５へと移る。ステップＳ６９５において、もしも現在の副記述子長が目標の副記述子長ではない場合、次の副記述子長へと処理は移り、漸増的グループ−要素利用の複数の組によって特定された付加的な複数の要素を符号化する。そうでない場合、処理は終了する。
【００８２】
本発明の複数の態様および複数の実施形態が、ＳＩＦＴ画像記述子からの、ロバスト、識別的、拡張可能、且つコンパクトな複数の画像記述子の算出に対して詳細に提示されているが、本発明は、未だ公開されていないイタリア特許出願第ＴＯ２０１２Ａ０００６０２号に概要を説明されているように、複数の勾配の複数のヒストグラムに基づいたその他複数の画像記述子に対して適用可能である。
【００８３】
単なる例として、図２４は、本発明に従った方法を実行するための概念的な画像処理装置を示す。より具体的には、処理装置１１００は、画像またはビデオデータのような視覚データ、複数の勾配の複数のヒストグラムに基づいて事前に計算された複数の記述子、本発明の方法に従って事前に計算された複数のコンパクトな記述子、複数のプログラミング命令、またはユーザ入力を含み得る入力を、ユーザ入力装置、メディアリーダ、または伝送された複数の信号の受信装置の形を取り得る入力装置１０００から受け取る。処理装置１１００は、その他複数の処理ブロックの複数の動作を制御する中央演算処理装置１１１０の複数のメイン処理ブロック、揮発性メモリ１１２０、不揮発性メモリ１１３０、任意で、複数の勾配の複数のヒストグラムに基づいて複数の記述子を生成するように構成された記述子エクストラクターブロック１１４０、本発明に従った方法を実行するように構成されたコンパクトな記述子エンコーダブロック１１５０、および、任意で、例えば視覚的対応を確立または検証するための、上記複数のコンパクトな記述子を処理するように構成されたコンパクトな記述子プロセッサブロック１１６０を含む。処理装置１１００は、視覚的表示装置、メディアライタ、または複数の信号の送信装置の形を取り得る出力装置１９００へと接続される。出力装置１９００は、画像またはビデオデータのような注釈付きの視覚データ、確立されたまたは検証された複数の視覚的対応のような処理情報、あるいは、本発明の方法に従った複数のコンパクトな記述子を含み得る出力を提供する。図２４に示される複数の処理ブロックおよび構成は、単なる概念的なものにすぎず、本発明に従った方法を実施するあらゆる装置に対して正確に対応しなくてもよいことが理解されるべきである。
【００８４】
例として本明細書に説明される、勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置は、本発明の概念の新規性の主旨から逸脱することなく、多くの可能な変形に対する主題であってよい。本発明の実際的な実施においては、示されている複数の詳細が、異なる複数の形状を有してよく、あるいは、技術的に等価な他の複数の要素によって置換されてよいこともまた明らかである。
【００８５】
従って、本発明は、勾配ヒストグラムに基づいて画像記述子を符号化する方法および関連する画像処理装置に限定されるものではなく、以下の複数の請求項において明確に特定されるような本発明の概念から逸脱することなく、等価な複数の部分および要素の多くの変更、改良、または置換に対する主題であってよいことが、容易に理解される。
【図１ａ】
0006514200.tif 000002
【図１ｂ】
0006514200.tif 000003
【図２ａ】
0006514200.tif 000004
【図２ｂ】
0006514200.tif 000005
【図３】
0006514200.tif 000006
【図４ａ】
0006514200.tif 000007
【図４ｂ】
0006514200.tif 000008
【図４ｃ】
0006514200.tif 000009
【図４ｄ】
0006514200.tif 000010
【図４ｅ】
0006514200.tif 000011
【図５】
0006514200.tif 000012
【図６】
0006514200.tif 000013
【図７】
0006514200.tif 000014
【図８】
0006514200.tif 000015
【図９】
0006514200.tif 000016
【図１０】
0006514200.tif 000017
【図１１】
0006514200.tif 000018
【図１２】
0006514200.tif 000019
【図１３】
0006514200.tif 000020
【図１４】
0006514200.tif 000021
【図１５】
0006514200.tif 000022
【図１６】
0006514200.tif 000023
【図１７】
0006514200.tif 000024
【図１８】
0006514200.tif 000025
【図１９】
0006514200.tif 000026
【図２０】
0006514200.tif 000027
【図２１ａ】
0006514200.tif 000028
【図２１ｂ】
0006514200.tif 000029
【図２１ｃ】
0006514200.tif 000030
【図２１ｄ】
0006514200.tif 000031
【図２１ｅ】
0006514200.tif 000032
【図２２ａ】
0006514200.tif 000033
【図２２ｂ】
0006514200.tif 000034
【図２２ｃ】
0006514200.tif 000035
【図２２ｄ】
0006514200.tif 000036
【図２２ｅ】
0006514200.tif 000037
【図２３】
0006514200.tif 000038
【図２４】
0006514200.tif 000039