(57)【要約】【課題】  小容量のメモリ構成で効率的にグローバル動きベクトルを検出できるようにする。【解決手段】  入力された画像データ中の１画面に含まれるエッジを検出するエッジ検出部（１０１）と、検出されたエッジの個数を水平方向にカウントし、そのカウント結果に基づく垂直代表画像をメモリに格納する垂直代表画像生成部（１１０）と、検出されたエッジの個数を垂直方向にカウントし、そのカウント結果に基づく水平垂直代表画像をメモリに格納する水平代表画像生成部（１１１）と、垂直代表画像、及び、水平代表画像を、それぞれ複数の画面間で比較することによってグローバル動きベクトルを検出する動き検出部（１０４，１０７）とを備える。【選択図】  図１
2010011059.tif 000002
【特許請求の範囲】
【請求項１】
動画像データを圧縮符号化するときに用いるグローバル動きベクトルを検出する動きベクトル検出装置であって、
入力された動画像データ中の１画面に含まれるエッジを検出するエッジ検出手段と、
前記エッジ検出手段によって検出されたエッジの個数を水平方向にカウントし、そのカウント結果に基づく垂直代表画像をメモリに格納する垂直代表画像生成手段と、
前記エッジ検出手段によって検出されたエッジの個数を垂直方向にカウントし、そのカウント結果に基づく水平代表画像をメモリに格納する水平代表画像生成手段と、
前記垂直代表画像生成手段によって生成された前記垂直代表画像、及び、前記水平代表画像生成手段によって生成された前記水平代表画像を、それぞれ複数の画面間で比較することによって前記グローバル動きベクトルを検出する動き検出手段とを備えたことを特徴とする動きベクトル検出装置。
【請求項２】
前記垂直代表画像生成手段、及び、前記水平代表画像生成手段は、それぞれ連続する２フィールド分の代表画像を前記メモリに格納することを特徴とする請求項１に記載の動きベクトル検出装置。
【請求項３】
動画像データを圧縮符号化するときに用いるグローバル動きベクトルを検出する動きベクトル検出方法であって、
入力された動画像データ中の１画面に含まれるエッジを検出するエッジ検出工程と、
前記検出されたエッジの個数を水平方向にカウントし、そのカウント結果に基づく垂直代表画像をメモリに格納する垂直代表画像生成工程と、
前記検出されたエッジの個数を垂直方向にカウントし、そのカウント結果に基づく水平代表画像をメモリに格納する水平代表画像生成工程と、
前記垂直代表画像、及び、前記水平代表画像を、それぞれ複数の画面間で比較することによって前記グローバル動きベクトルを検出する動き検出工程とを有することを特徴とする動きベクトル検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データの圧縮符号化において用いる動きベクトル検出装置及びその方法に関し、特に画面の広域のグローバル動きベクトルを検出する技術に関する。
【背景技術】
【０００２】
動画像データの圧縮符号化方式として、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ１３８１８）や、Ｈ．２６４が広く知られている。これらの動画像圧縮符号化方式においては、フレーム間の相関性を利用した動き補償という技術が採用されている。
【０００３】
動画像中のあるフレーム画像を符号化する場合、その前、又は後のフレーム画像は、符号化対象のフレーム画像と類似する場合が多い。そこで、符号化対象の現フレーム画像と、既に符号化済のフレーム画像を局所復号して生成したフレーム画像（参照画像）との間で、類似する画像部分を探索してフレーム間の動き予測を行って、予測画像を生成する。これが動き補償である。
【０００４】
動き補償では、圧縮符号化の処理単位となるマクロブロックごとに動きベクトルが検出される。そして、動き補償によって得られた予測画像と符号化対象の現フレーム画像との差分画像、及び、動きベクトル情報が符号化部によって符号化されて、符号化ストリームに変換される。
【０００５】
ところで、上述した動きベクトルの検出において、マクロブロックごとにフレーム全体から一様に最適な動きベクトルを探索する処理を行うのは効率的ではない。そこで、動きベクトルを探索する範囲を絞り込むために、画面全体の動きベクトル（グローバル動きベクトル）を利用する方法が知られている。その方法とは、個々のマクロブロックの動きベクトル探索に先立って、現画像と参照画像との間の画面全体の動きを表わすグローバル動きベクトルを検出することである。そして、検出されたグローバル動きベクトルを利用して、マクロブロック毎の動き探索範囲を絞り込んだ上で詳細な動きベクトル探索を行う。このような動きベクトルの探索方法の発明は、例えば特許文献１に記載されている。
【特許文献１】国際公開ＷＯ００／０５８９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来のグローバル動きベクトル検出方法では、グローバル動きベクトルを検出するために１フィールド前の画像を保持するフィールドメモリが必要であった。例えば１フィールドが７２０画素×２４０画素で構成される標準テレビ方式の場合、７２０×２４０×８（ビット）＝１３８２４００ビットという大容量のメモリが必要であり、装置の小型化が図れないという問題があった。また、近年は動画像データの高解像度化が進み、例えば１９２０画素×１０８０画素の画素数を有するＨｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ（ＨＤ）映像を扱う製品が普及しつつある。高解像度化に伴って、上記の問題はより顕著となる。
【０００７】
本発明はこのような問題点を鑑みてなされたものであり、小容量のメモリ構成で効率的にグローバル動きベクトルを検出可能な動きベクトル検出装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の動きベクトル検出装置は、動画像データを圧縮符号化するときに用いるグローバル動きベクトルを検出する動きベクトル検出装置であって、入力された動画像データ中の１画面に含まれるエッジを検出するエッジ検出手段と、前記エッジ検出手段によって検出されたエッジの個数を水平方向にカウントし、そのカウント結果に基づく垂直代表画像をメモリに格納する垂直代表画像生成手段と、前記エッジ検出手段によって検出されたエッジの個数を垂直方向にカウントし、そのカウント結果に基づく水平代表画像をメモリに格納する水平代表画像生成手段と、前記垂直代表画像生成手段によって生成された前記垂直代表画像、及び、前記水平代表画像生成手段によって生成された前記水平代表画像を、それぞれ複数の画面間で比較することによって前記グローバル動きベクトルを検出する動き検出手段とを備えたことを特徴とすることを特徴とする。
【０００９】
また、本発明の動きベクトル検出方法は、動画像データを圧縮符号化するときに用いるグローバル動きベクトルを検出する動きベクトル検出方法であって、入力された動画像データ中の１画面に含まれるエッジを検出するエッジ検出工程と、前記検出されたエッジの個数を水平方向にカウントし、そのカウント結果に基づく垂直代表画像をメモリに格納する垂直代表画像生成工程と、前記検出されたエッジの個数を垂直方向にカウントし、そのカウント結果に基づく水平代表画像をメモリに格納する水平代表画像生成工程と、前記垂直代表画像、及び、前記水平代表画像を、それぞれ複数の画面間で比較することによって前記グローバル動きベクトルを検出する動き検出工程とを有することを特徴とすることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、小容量のメモリ構成で効率的にグローバル動きベクトルを検出できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。
【００１２】
図１は、グローバル動きベクトルを検出するための、本発明の実施形態に係る動きベクトル検出装置の構成例を示すブロック図である。なお、本実施形態に係る動きベクトル検出装置は、動画像データの圧縮符号化装置、例えばＨ．２６４方式の符号化装置や、ＭＰＥＧ方式の符号化装置等が備える動き補償予測部や動きベクトル検出部に用いて好適なものである。
【００１３】
図１において、エッジ検出部１０１に入力信号が入力される。入力信号は符号化対象となる画像データと同じデータであり、ここでは、ラスタースキャン順に入力されるフィールド画像とする。エッジ検出部１０１は、入力された動画像データ中の１画面のエッジを検出して、２値のエッジ信号Ｐ（ｖ，ｈ）を出力する。入力信号の画素単位毎に、エッジであれば１を、エッジでなければ０を入力信号と同じラスタースキャン順に出力する。なお、Ｐ（ｖ，ｈ）の括弧内のｈ、ｖは画素位置を示すインデックスである。エッジ検出方法には微分法などを用いることができるが、本実施形態ではどのような方法でも構わない。
【００１４】
図３は入力信号となるフィールド画像に対するエッジ信号Ｐ（ｖ，ｈ）の画素位置を示した図である。図３の、最大の四角形（外周）がフィールド画像全体を示し、１つ１つの四角形がそれぞれ１画素単位を示しており、この画素単位でエッジが検出される。
【００１５】
垂直代表画像生成部１１０は、カウンタ１０２とメモリ１０３とで構成される。カウンタ１０２は、エッジ検出部１０１からの出力信号Ｐ（ｖ，ｈ）を入力とし、水平方向にエッジの個数をカウントし、水平方向のエッジカウント結果をメモリ１０３に出力する。メモリ１０３はカウンタ１０２と連携して、水平方向のライン毎のエッジカウント結果を基に垂直代表画像を生成し、２フィールド分の垂直代表画像を保持する。ここでの詳細動作については後述する。また、メモリ１０３のビット幅は全ての画素にエッジが検出されて水平方向に加算した場合であってもオーバーフローが発生しない程度にする。
【００１６】
水平代表画像生成部１１１は、カウンタ１０５とメモリ１０６とで構成される。カウンタ１０５は、エッジ検出部１０１からの出力信号Ｐ（ｖ，ｈ）を入力とし、垂直方向にエッジの個数をカウントし、垂直方向のエッジカウント結果をメモリ１０６に出力する。メモリ１０６はカウンタ１０５と連携して、垂直方向のライン毎のエッジカウント結果を基に水平代表画像を生成し、２フィールド分の水平代表画像を保持する。ここでの詳細動作については後述する。また、メモリ１０３と同様、メモリ１０６のビット幅は全ての画素にエッジが検出されて垂直方向に加算した場合であってもオーバーフローが発生しない程度にする。
【００１７】
図４は垂直代表画像生成部１１０、及び、水平代表画像生成部１１１によって生成される各フィールド画像に対する代表画像の例である。水平、垂直いずれも１ラインごとに、エッジカウント結果が垂直代表値、及び、垂直代表値として、メモリ１０３、及び、メモリ１０６にそれぞれ格納される。本実施形態では、水平ライン毎の垂直代表値を合算したものを垂直代表画像、垂直ライン毎の水平代表値を合算したものを水平代表画像と称する。このような、垂直代表画像（垂直代表値）、及び、水平代表画像（水平代表値）を現フィールドと、直前のフィールドとで比較した結果に基づき、その全体的な動き量をグローバルベクトルとして表わすものである。
【００１８】
ここで、メモリ１０３及びメモリ１０６のそれぞれのメモリサイズについて以下に記す。メモリ１０３のサイズは、１フィールド７２０画素×２４０画素で構成される標準テレビ方式に対応する場合、必要ビット幅は１０ビットとなり、７２０×２×１０＝１４４００ビットを確保すればよい。また、メモリ１０６のサイズは、同じく１フィールド７２０画素×２４０画素で構成される標準テレビ方式に対応する場合、必要ビット幅は８ビットとなり、２４０×２×８＝３８４０ビットを確保すればよい。メモリ１０３とメモリ１０６の必要メモリサイズを合わせても１８２４０ビットである。
【００１９】
以下、図２を用いて垂直代表画像生成部１１０及び水平代表画像生成部１１１の動作について詳細に説明する。
【００２０】
図２は本実施形態における代表画像生成の処理内容を示すフローチャート図であり、垂直代表画像生成部１１０及び水平代表画像生成部１１１の動作を説明するための図である。
【００２１】
図２において、Ｐ（ｖ，ｈ）は各エッジ検出部により検出される、入力信号に含まれるエッジ信号の値を表している。ＭＶ（ｆｉｅｌｄ，ｖ）はメモリ１０３のメモリ内容を表しており、アドレスはｆｉｅｌｄ、ｖで指定される。ＭＨ（ｆｉｅｌｄ，ｈ）はメモリ１０６のメモリ内容を表しており、アドレスはｆｉｅｌｄ、ｈで指定される。なお、上記、ｈ、ｖは画素位置を示すインデックス値である。また、ｘ及びｙは入力画像の垂直、水平の画素数で定まる変数であり、ｘは垂直画素数−１であり、ｙは水平画素数−１である。ｆｉｅｌｄはフィールド番号を表わす変数である。
【００２２】
まず、フィールド番号を表わす変数であるｆｉｅｌｄの値が０にリセットされる（Ｓ１）。また、変数であるｖ及びｈの値がそれぞれ０にリセットされる（Ｓ２）。
【００２３】
次に、ｈの値が０であるか否かを判定し（Ｓ３）、ｈの値が０である場合（Ｓ３でＹ）、
ＭＶ（ｆｉｅｌｄ，ｖ）＝Ｐ（ｖ，ｈ）が実行される（Ｓ４）。
【００２４】
またｈの値が０以外の場合（Ｓ３でＮ）は、
ＭＶ（ｆｉｅｌｄ，ｖ）＝ＭＶ（ｆｉｅｌｄ，ｖ）＋Ｐ（ｖ，ｈ）が実行される（Ｓ５）。
【００２５】
次に、ｖの値が０であるか否かを判定し（Ｓ６）、ｖの値が０である場合（Ｓ６でＹ）、
ＭＨ（ｆｉｅｌｄ，ｈ）＝Ｐ（ｖ，ｈ）  が実行される（Ｓ７）。
【００２６】
またｖの値が０以外の場合（Ｓ６でＮ）は、
ＭＨ（ｆｉｅｌｄ，ｈ）＝ＭＨ（ｆｉｅｌｄ，ｈ）＋Ｐ（ｖ，ｈ）が実行される（Ｓ８）。
【００２７】
次に、ｈの値がｘであるか否かを判定し（Ｓ９）、ｈの値がｘ以外の場合（Ｓ９でＮ）、ｈの値に１を加えて（Ｓ１０）、Ｓ３に戻る。一方、ｈの値がｘの場合（Ｓ９でＹ）、すなわちｈが水平画素の最後に到達した場合は、Ｓ１１に進む。
【００２８】
次に、ｖの値がｙであるか否かを判定し（Ｓ１１）、ｖの値がｙ以外の場合（Ｓ１１でＮ）、ｈの値を０にリセットし、かつ、ｖの値に１を加えて（Ｓ１２）、Ｓ３に戻る。一方、ｖの値がｙの場合（Ｓ１１でＹ）、すなわちｖが垂直画素の最後に到達した場合は、
ｆｉｅｌｄ＝１−ｆｉｅｌｄを実行して（Ｓ１３）、Ｓ２に戻る。以上の処理を各フィールド単位で繰り返し行う。
【００２９】
ここで、上記Ｓ１３からＳ２に戻った時点で、あるフィールドの垂直代表画像及び水平代表画像の生成が完了し、メモリ１０３では、ＭＶ（０，ｖ）に垂直代表画像が格納され、メモリ１０６では、ＭＨ（０，ｈ）に水平代表画像が格納される。また、再度、上記Ｓ２〜Ｓ１３が実行され、再びＳ２に戻った時点で、次のフィールドの垂直代表画像及び水平代表画像の生成が完了する。この場合、変数ｆｉｅｌｄは１であるため、メモリ１０３では、ＭＶ（１，ｖ）に垂直代表画像が格納され、メモリ１０６では、ＭＨ（１，ｈ）に水平代表画像が格納される。
【００３０】
このようにして、これ以降のフィールドも順次、垂直代表画像及び水平代表画像の生成が実行されてゆき、連続する２フィールド分の垂直代表画像が生成されて、メモリ１０３では、ＭＶ（０，ｖ）、ＭＶ（１，ｖ）に交互に保持される。同様に連続する２フィールド分の水平代表画像が生成されて、メモリ１０６では、ＭＨ（０，ｈ）、ＭＨ（１，ｈ）に交互に保持される。
【００３１】
ここで、図１の説明に戻り、動き検出部１０４及び動き検出部１０７の動作について説明する。
【００３２】
動き検出部１０４はメモリ１０３に垂直代表画像が生成（格納）された時点で、メモリ１０３から、垂直代表画像ＭＶ（０，ｖ）及びＭＶ（１，ｖ）を読み出し、動き検出を行う。垂直代表画像ＭＶ（０，ｖ）及びＭＶ（１，ｖ）はそれぞれ１次元の配列ということができる。そこで、配列同士を１アドレスずつ、オフセットをつけて差分を算出し、差分が最小となるオフセット値を垂直動き量とし、これを連続する２フィールド間の垂直グローバル動きベクトルとする。すなわち、垂直代表画像生成部によって生成された垂直代表画像を複数の画面間（フィールド間）で比較することによって、垂直方向のグローバル動きベクトルが算出される。なお、この処理はビデオ信号の垂直ブランキング期間中に行われるよう動き検出部１０４により制御される。
【００３３】
動き検出部１０７はメモリ１０６に水平代表画像が生成（格納）された時点で、メモリ１０６から、水平代表画像ＭＨ（０，ｈ）及びＭＨ（１，ｈ）を読み出し、動き検出を行う。水平代表画像ＭＨ（０，ｈ）及びＭＨ（１，ｈ）はそれぞれ１次元の配列ということができる。そこで、配列同士を１アドレスずつ、オフセットをつけて差分を算出し、差分が最小となるオフセット値を水平動き量とし、これを連続する２フィールド間の水平グローバル動きベクトルとする。すなわち、水平代表画像生成部によって生成された水平代表画像を複数の画面間（フィールド間）で比較することによって、水平方向のグローバル動きベクトルが算出される。なお、この処理はビデオ信号の垂直ブランキング期間中に行われるよう動き検出部１０７により制御される。
【００３４】
以上のようにして、本実施形態に係る動きベクトル検出装置によって、垂直及び水平グローバル動きベクトルが検出される。こうして検出される垂直及び水平グローバル動きベクトルを独立、或いは加算して用いて、符号化装置等が備える動き補償予測部や動きベクトル検出部による動き予測のときの、簡易探索、或いは一次探索として利用することができる。
【００３５】
なお上述した構成ではフィールド単位で垂直及び水平グローバル動きベクトルを検出する例を説明したが、フィールドを数個の広域エリアに大別し、その広域エリアごとに本実施形態の内容に沿って垂直及び水平グローバル動きベクトルを検出するようにしても良い。
【００３６】
以上説明したように、本実施形態の動きベクトル検出装置によって生成されたグローバル動きベクトルは、従来のグローバル動きベクトルと同様、動き補償予測時における各マクロブロックの動きベクトルの探索範囲を絞り込むために利用することができる。なおかつ、本実施形態の動きベクトル検出装置によれば、グローバル動きベクトルを検出するために必要なメモリ量は、垂直及び水平の代表画像の２フィールド分だけとなる。よって、従来のグローバル動きベクトル検出の構成に比べて格段に小さいメモリ量で済むので、小容量のメモリ構成で効率的にグローバル動きベクトルを検出でき、符号化装置等の小型化に貢献することができる。
【図面の簡単な説明】
【００３７】
【図１】本実施形態に係る動きベクトル検出装置の構成例を示すブロック図である。
【図２】本実施形態における代表画像生成の処理内容を示すフローチャート図である。
【図３】フィールド画像に対するエッジ信号Ｐ（ｖ、ｈ）の画素位置を示した図である。
【図４】フィールド画像に対する代表画像の例である。
【符号の説明】
【００３８】
１０１  エッジ検出部
１０２  カウンタ
１０３  メモリ
１０４  動き検出部
１０５  カウンタ
１０６  メモリ
１０７  動き検出部
１１０  垂直代表画像生成部
１１１  水平代表画像生成部
【図１】
2010011059.tif 000003
【図２】
2010011059.tif 000004
【図３】
2010011059.tif 000005
【図４】
2010011059.tif 000006