(57)【要約】【課題】  ＭＰＥＧ４デコード時の動き補償処理において、ソフトウェアの負担を軽減し、処理時間を短縮することができる画像処理装置を提供する。【解決手段】  動き補償処理を行う画像処理装置であって、画像データを記憶するメモリ１０と、動きベクトルｍｖｘ，ｍｖｙから求められた参照画アドレスと画像境界アドレスとの比較を行い、この結果、参照画アドレスが画像境界アドレスの範囲外である場合、画像境界アドレスによりメモリにアクセスしメモリから画像データを読み出すアドレス生成部１１と、を有するものである。アドレス生成部１１により読み出された画像データが複数ビット幅を持つ場合、読み出された画像データを画像境界の画素データを拡張しながら画素単位でシフトし出力するデータ出力セレクタ１５を有するものである。【選択図】  図１
2005101728.tif 000002
【特許請求の範囲】
【請求項１】
動き補償処理を行う画像処理装置であって、
画像データを記憶するメモリと、
動きベクトルから求められた参照画アドレスと画像境界アドレスとの比較を行う第１の手段と、
前記第１の手段における比較の結果、前記参照画アドレスが前記画像境界アドレスの範囲外である場合、前記画像境界アドレスにより前記メモリにアクセスし前記メモリから前記画像データを読み出す第２の手段と、
を有することを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、
前記第２の手段により読み出された前記画像データが複数ビット幅を持つ場合、前記読み出された前記画像データを画像境界の画素データを拡張しながら画素単位でシフトし出力する第３の手段を有することを特徴とする画像処理装置。
【請求項３】
請求項１または２記載の画像処理装置において、
前記第１の手段、前記第２の手段および前記第３の手段は、ハードウェアで構成されることを特徴とする画像処理装置。
【請求項４】
請求項１〜３のいずれか１項に記載の画像処理装置において、
前記動き補償処理は、ＭＰＥＧ４規格における動き補償処理であることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特にＭＰＥＧ４デコーダ（復号器）の動き補償処理に適用して有効な技術に関するものである。
【背景技術】
【０００２】
本発明者が検討した技術として、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）デコーダ（復号器）の動き補償処理においては、以下の技術が考えられる。
【０００３】
従来のＭＰＥＧ２などのデコーダでは、特定のエンコーダ（符号器）で処理した画像の復元のみを想定していたため、画像範囲外を指定した動き補償を行わないこととしていた。したがって、デコード（復号化）時に画像範囲外のデータが指定されることがなく、画像範囲外のデータを生成する機能は必要なかった。
【０００４】
一方、ＩＳＯ／ＩＥＣ１４４９６−２（ＭＰＥＧ４）等の動画圧縮規格では、動きベクトルが画像範囲外を指してもよい。言い換えると、画像範囲外にある領域を参照して動き補償を行うことが可能である。動きベクトルによって指定される領域が画像範囲外にある場合、予測値として境界上にある画素を用いることになっている（例えば、非特許文献１参照）。
【０００５】
そして、これまでのＭＰＥＧ４はエンコード（符号化）のみの回路構成であったため、画像圧縮時にソフトで画像範囲外の指定を禁止することによりＭＰＥＧ４に対応していた。
【０００６】
しかし、他の汎用エンコーダで画像範囲外を指定して画像データ圧縮されていた場合、規格に従って境界の画像を用いて画像データを復元する必要がある。汎用ＭＰＥＧ４デコーダでは、他の汎用エンコーダで符号化されたデータもデコードする必要があり、上記の方式では対応できなくなってきた。
【０００７】
本発明者が検討した対策としては、次の方式が考えられる。
【０００８】
（１）メモリ上にある境界の画像データをもとに、予測されるであろう画像範囲外の領域にあらかじめ境界のデータを書き込んでおく。
【０００９】
（２）メモリ上から境界のデータを取り込み、ソフトウェアで画像範囲外のデータを生成する。
【非特許文献１】三木弼一著、「ＭＰＥＧ−４のすべて」、初版、工業調査会、１９９８年９月３０日、ｐ．４５
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、前記のようなＭＰＥＧ４デコード時の動き補償処理の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【００１１】
例えば、前記（１）の方式では、予測されるであろう画像範囲外の領域は、汎用エンコーダでは決まっていないため、あらかじめ予測することが不可能である。また仮に、範囲があらかじめ分かっていて実現可能な場合でも、メモリにデータを埋めるための転送時間がかかり過ぎ、ハードウェア構成も相当複雑になり現実的でない。
【００１２】
また、前記（２）の方式では、ソフトウェアのみで画像範囲外のデータを生成する制御を行うため、画像処理に要する時間が増大し、ＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃ  Ａｒｒａｙ）サイズを３０フレーム／秒で処理することが不可能になることが考えられる。
【００１３】
そこで、本発明の目的は、ＭＰＥＧ４デコード時の動き補償処理において、ソフトウェアの負担を軽減し、処理時間を短縮することができる画像処理装置を提供するものである。
【００１４】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１６】
（１）本発明による画像処理装置は、動き補償処理を行う画像処理装置であって、画像データを記憶するメモリと、動きベクトルから求められた参照画アドレスと画像境界アドレスとの比較を行う第１の手段と、第１の手段における比較の結果、参照画アドレスが画像境界アドレスの範囲外である場合、画像境界アドレスによりメモリにアクセスしメモリから画像データを読み出す第２の手段と、を有するものである。
【００１７】
（２）前記（１）の画像処理装置は、第２の手段により読み出された画像データが複数ビット幅を持つ場合、読み出された画像データを画像境界の画素データを拡張しながら画素単位でシフトし出力する第３の手段を有するものである。
【００１８】
（３）前記（１）、（２）の画像処理装置は、第１の手段、第２の手段および第３の手段が、ハードウェアで構成されるものである。
【００１９】
（４）前記（１）〜（３）の画像処理装置は、動き補償処理が、ＭＰＥＧ４規格における動き補償処理であるものである。
【発明の効果】
【００２０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００２１】
（１）画像範囲外が指定された場合、無限の領域に対しても動きベクトルを指定することが可能となる。
【００２２】
（２）ハードウェアのメモリ転送時間やソフトウェアの処理量を増加させることなく、汎用のエンコーダで圧縮されたデータの復元に対応することが可能となる。
【００２３】
（３）他のエンコーダで圧縮された画像の復元処理で動き補償が画像範囲外を指していた場合でも、ソフトウェアで画像範囲外か範囲内かの判断と制御を行う必要がなくなり、その結果、ソフトウェアの負担が軽減され、システム全体の処理時間が短縮する。
【００２４】
（４）ＶＧＡサイズを３０フレーム／秒で処理することが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２６】
図１は本発明の一実施の形態の画像処理装置の構成を示すブロック図である。なお、以下においては、これに限定されるものではないが、１ワードが３２ビット構成の場合を例に説明する。また、１画素のデータは８ビット（１バイト）構成とし、３２ビット（１ワード）のデータは４画素に相当するものとする。
【００２７】
まず、図１により、本実施の形態の画像処理装置の構成の一例を説明する。本実施の形態の画像処理装置は、例えばＭＰＥＧ４デコーダ（復号器）とされ、メモリ１０、アドレス生成部１１、バッファ１２，１３，１４、データ出力セレクタ１５などから構成され、アドレス生成部１１には動きベクトルｍｖｘ，ｍｖｙが入力され、アドレス生成部１１からメモリ１０には垂直方向制御信号１６が入力され、アドレス生成部１１からデータ出力セレクタ１５には水平方向制御信号１７が入力され、メモリ１０からバッファ１２，１３，１４にはそれぞれ３２ビットのバスを介して画像データが入力され、バッファ１２，１３，１４からデータ出力セレクタ１５にはそれぞれ３２ビットの画像データｖｃｔｌｔ００［３１：０］，ｖｃｔｌｔ０１［３１：０］，ｖｃｔｌｔ０２［３１：０］が入力され、データ出力セレクタ１５からはそれぞれ３２ビットの画像データｖｃｔｌｔｓｅｌ００［３１：０］，ｖｃｔｌｔｓｅｌ０１［３１：０］，ｖｃｔｌｔｓｅｌ０２［３１：０］が出力されている。
【００２８】
メモリ１０は、画像データを記憶するメモリであり、例えば３２ビット幅のデータ出力を有する。
【００２９】
アドレス生成部（第１の手段、第２の手段）１１は、動きベクトルｍｖｘ，ｍｖｙから参照画アドレスを生成し、画像境界アドレスとの比較を行い、アンダフローまたはオーバフローの判定をし、メモリ１０にアクセスするアドレスを生成し、垂直方向制御信号１６および水平方向制御信号１７によりメモリ１０およびデータ出力セレクタ１５を制御するものである。そして、参照画アドレスが画像境界アドレスの範囲外である場合は、画像境界アドレスによりメモリ１０にアクセスし、画像データを読み出す。
【００３０】
バッファ１２，１３，１４は、メモリ１０から読み出された画像データを一時的に保持するものであり、それぞれ例えば３２ビットのデータを保持するフリップフロップなどで構成される。
【００３１】
データ出力セレクタ（第３の手段）１５は、バッファ１２，１３，１４から出力されたそれぞれ３２ビットの画像データｖｃｔｌｔ００［３１：０］，ｖｃｔｌｔ０１［３１：０］，ｖｃｔｌｔ０２［３１：０］に対して、画像境界の画素データを拡張（引き伸ばし）しながら画素単位でシフトを加え、画像データｖｃｔｌｔｓｅｌ００［３１：０］，ｖｃｔｌｔｓｅｌ０１［３１：０］，ｖｃｔｌｔｓｅｌ０２［３１：０］を出力するものである。画像データのシフト量は、アドレス生成部１１において動きベクトルｍｖｘの値に応じて決定され、水平方向制御信号１７により、データの拡張・シフトが行われる。
【００３２】
次に、本実施の形態である画像処理装置の動作を説明する。なお、以下においては、これに限定されるものではないが、画像範囲、参照画および動きベクトルなどの座標位置を示すアドレスの値は、左上が小さく右下が大きいものとする。
【００３３】
図２は、ＭＰＥＧ４規格において、動きベクトルが画像範囲外を指定した場合の動き補償処理を示す説明図である。なお、以下の説明において、それぞれの枡目は１画素を示し、１マクロブロックの参照範囲は、８画素×８画素で構成される。
【００３４】
ＭＰＥＧ４規格では、動きベクトルが画像範囲２０外を指してもよい。言い換えると、画像範囲２０外にある領域を参照して動き補償をすることが可能である。動きベクトルによって指定される領域（参照範囲２１）が画像範囲２０外にある場合、図２に示すように、予測値として画像範囲２０の境界上にある画素を用いる。
【００３５】
本実施の形態の画像処理装置は、動きベクトルが画像範囲２０外を指定してメモリ１０上からデータを取り込む場合に、画像境界の画素データ（図２では、ａ，ｂ，ｃ，ｄ，Ｂ，Ｃ，Ｄ）を取り込み、ハードウェアで拡張する機能を有する。すなわち、アドレス生成部１１において、動きベクトルｍｖｘ，ｍｖｙから求められた参照画アドレスと画像境界アドレスとの比較を行い、参照画アドレスが画像範囲２０外であった場合、画像境界のデータを取り込み、ソフトウェアに引き渡す。
【００３６】
図３は、本実施の形態の画像処理装置において、上方向画像範囲外（垂直アンダフロー）の処理を示す説明図である。
【００３７】
上方向の画像範囲外（垂直アンダフロー）の処理は、上側の境界アドレス（上部境界画アドレス３０）と動きベクトル３１から求めた参照画アドレス３２との比較を行い、大きい方の値を使用しメモリ１０にアクセスする。すなわち、参照画アドレス３２＜上部境界画アドレス３０のとき、上部境界画アドレス３０でメモリ１０にアクセスし、参照画アドレス３２≧上部境界画アドレス３０のとき、参照画アドレス３２でメモリ１０にアクセスする。この方式により、参照画アドレス３２の領域が上方向画像範囲外（不定値）である場合は、上側境界の画素データが読み込まれる。以上のようにして、縦方向のアドレスを操作することにより、上方向画像範囲外の領域に上部境界画素を入れる機能が実現される。
【００３８】
図４は、本実施の形態の画像処理装置において、下方向画像範囲外（垂直オーバフロー）の処理を示す説明図である。
【００３９】
下方向の画像範囲外（垂直オーバフロー）の処理は、下側の境界アドレス（下部境界画アドレス４０）と動きベクトル４１から求めた参照画アドレス４２との比較を行い、小さい方の値を使用しメモリ１０にアクセスする。すなわち、参照画アドレス４２＞下部境界画アドレス４０のとき、下部境界画アドレス４０でメモリ１０にアクセスし、参照画アドレス４２≦下部境界画アドレス４０のとき、参照画アドレス４２でメモリ１０にアクセスする。この方式により、参照画アドレス４２の領域が下方向画像範囲外（不定値）である場合は、下側境界の画素データが読み込まれる。以上のようにして、縦方向のアドレスを操作することにより、下方向画像範囲外の領域に下部境界画素を入れる機能が実現される。
【００４０】
図５は、本実施の形態の画像処理装置において、左方向画像範囲外（水平アンダフロー）の処理を示す説明図である。
【００４１】
左方向の画像範囲外（水平アンダフロー）の処理は、左側の境界アドレス（左部境界画アドレス５０）と動きベクトル５１から求めた参照画アドレス５２との比較を行い、大きい方の値を使用しメモリ１０にアクセスする。すなわち、参照画アドレス５２＜左部境界画アドレス５０のとき、左部境界画アドレス５０でメモリ１０にアクセスし、参照画アドレス５２≧左部境界画アドレス５０のとき、参照画アドレス５２でメモリ１０にアクセスする。また、メモリ１０がバイト単位（１画素単位）でアクセスできない場合の制御方法は、アドレス生成部１１からの水平方向制御信号１７により、左端の１バイトのデータを拡張しながら右方向にバイト単位でシフトする。この方式により、参照画アドレス５２の領域が左方向範囲外である場合は、左側境界の画素データが拡張しながら読み込まれる。以上のようにして、横方向のアドレスを操作することにより、左方向画像範囲外の領域に左部境界画素を入れる機能が実現される。
【００４２】
図６は、本実施の形態の画像処理装置において、右方向画像範囲外（水平オーバフロー）の処理を示す説明図である。
【００４３】
右方向の画像範囲外（水平オーバフロー）の処理は、右側の境界アドレス（右部境界画アドレス６０）と動きベクトル６１から求めた参照画アドレス６２との比較を行い、小さい方の値を使用しメモリ１０にアクセスする。すなわち、参照画アドレス６２＞右部境界画アドレス６０のとき、右部境界画アドレス６０でメモリ１０にアクセスし、参照画アドレス６２≦右部境界画アドレス６０のとき、参照画アドレス６２でメモリ１０にアクセスする。また、メモリ１０がバイト単位（１画素単位）でアクセスできない場合の制御方法は、アドレス生成部１１からの水平方向制御信号１７により、右端の１バイトのデータを拡張しながら左方向にバイト単位でシフトする。この方式により、参照画アドレス６２の領域が右方向範囲外である場合は、右側境界の画素データが拡張しながら読み込まれる。以上のようにして、横方向のアドレスを操作することにより、右方向画像範囲外の領域に右部境界画素を入れる機能が実現される。
【００４４】
縦方向と横方向とが同時に画像範囲外になった場合は、上記の機能を組み合わせる。
【００４５】
図７は、本実施の形態の画像処理装置において、左上方向画像範囲外（垂直アンダフロー／水平アンダフロー）の処理を示す説明図である。
【００４６】
左上方向の画像範囲外（垂直アンダフロー／水平アンダフロー）の処理は、参照画アドレス７２＜上部境界画アドレス３０、かつ参照画アドレス７２＜左部境界画アドレス５０のとき、上部境界画アドレス３０と左部境界画アドレス５０を合成してメモリ１０にアクセスする。以上のようにして、縦方向と横方向のアドレスの操作を組み合わせることにより、左上方向画像範囲外の領域に境界画素を入れる機能が実現される。
【００４７】
図８は、本実施の形態の画像処理装置において、右上方向画像範囲外（垂直アンダフロー／水平オーバフロー）の処理を示す説明図である。
【００４８】
右上方向の画像範囲外（垂直アンダフロー／水平オーバフロー）の処理は、参照画アドレス８２＜上部境界画アドレス３０、かつ参照画アドレス８２＞右部境界画アドレス６０のとき、上部境界画アドレス３０と右部境界画アドレス６０を合成してメモリ１０にアクセスする。以上のようにして、縦方向と横方向のアドレスの操作を組み合わせることにより、右上方向画像範囲外の領域に境界画素を入れる機能が実現される。
【００４９】
図９は、本実施の形態の画像処理装置において、左下方向画像範囲外（垂直オーバフロー／水平アンダフロー）の処理を示す説明図である。
【００５０】
左下方向の画像範囲外（垂直オーバフロー／水平アンダフロー）の処理は、参照画アドレス９２＞下部境界画アドレス４０、かつ参照画アドレス９２＜左部境界画アドレス５０のとき、下部境界画アドレス４０と左部境界画アドレス５０を合成してメモリ１０にアクセスする。以上のようにして、縦方向と横方向のアドレスの操作を組み合わせることにより、左下方向画像範囲外の領域に境界画素を入れる機能が実現される。
【００５１】
図１０は、本実施の形態の画像処理装置において、右下方向画像範囲外（垂直オーバフロー／水平オーバフロー）の処理を示す説明図である。
【００５２】
右下方向の画像範囲外（垂直オーバフロー／水平オーバフロー）の処理は、参照画アドレス１０２＞下部境界画アドレス４０、かつ参照画アドレス１０２＞右部境界画アドレス６０のとき、下部境界画アドレス４０と右部境界画アドレス６０を合成してメモリ１０にアクセスする。以上のようにして、縦方向と横方向のアドレスの操作を組み合わせることにより、右下方向画像範囲外の領域に境界画素を入れる機能が実現される。
【００５３】
したがって、本実施の形態の画像処理装置によれば、画像範囲外が指定された場合、無限の領域に対しても動きベクトルを指定することができ、広範囲にわたる画像範囲外のデータ取り込み制御が可能となる。
【００５４】
また、ハードウェアのメモリ転送時間やソフトウェアの処理量を増加させることなく、汎用のエンコーダで圧縮されたデータの復元に対応することが可能となる。
【００５５】
すなわち、他のエンコーダで圧縮された画像の復元処理で動き補償が画像範囲外を指していた場合でも、画像範囲外か範囲内かの判断と制御をソフトウェアで行う必要がなくなり、その結果、デコーダによる画像復元時の参照画読み出し処理においてソフトウェアの負担が軽減され、システム全体の処理時間が短縮する。よって、ＶＧＡサイズを３０フレーム／秒で処理することができ、実時間による処理が可能となる。
【００５６】
本実施の形態の画像処理装置は、ＭＰＥＧに代表される動画の復元（ＭＰＥＧデコード）で動きベクトルによって画像範囲外の画素データを参照する際、規格に合わせて境界の画素データをもとに画像範囲外の画素データを生成して転送する機能が必要な製品など（デジタルビデオカメラ、ビデオデッキ、情報端末など）に適用できる。
【００５７】
図１１は、ＭＰＥＧエンコード画像圧縮処理の比較用参照画取り込み時の画像範囲外処理について、本発明の実施の形態の画像処理装置を適用した応用例を示す説明図である。図１１は、左上方向画像範囲外（垂直アンダフロー／水平アンダフロー）の処理を示すが、他の３つの端（右上、左下、右下）についても、同様にして応用することができる。
【００５８】
前記実施の形態で示した画像範囲外の処理を応用することで、図１１に示すように、ＭＰＥＧエンコーダによる画像圧縮処理の、比較用参照画取り込み時における画像範囲外処理も行うことができる。この場合の画像範囲外のデータ処理は、前記図３〜図１０に示した方法と同様である。
【００５９】
したがって、ＭＰＥＧに代表される動画圧縮（ＭＰＥＧエンコード）でも、動き検出をするための前画像／後画像取り込み時、この機能を応用することで、エンコーダによる動画圧縮時の比較画像読み出し処理においてソフトウェアの負担を軽減することができ、エンコーダの全体処理時間を短縮することが可能となる。
【００６０】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００６１】
本発明にかかる画像処理装置は、例えば、デジタルビデオカメラ、ビデオデッキ、情報端末などの動画圧縮・伸張を行う電子機器に用いるのに適している。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施の形態である画像処理装置の構成を示すブロック図である。
【図２】ＭＰＥＧ４規格において、動きベクトルが画像範囲外を指定した場合の動き補償処理を示す説明図である。
【図３】本発明の一実施の形態である画像処理装置において、上方向画像範囲外（垂直アンダフロー）の処理を示す説明図である。
【図４】本発明の一実施の形態である画像処理装置において、下方向画像範囲外（垂直オーバフロー）の処理を示す説明図である。
【図５】本発明の一実施の形態である画像処理装置において、左方向画像範囲外（水平アンダフロー）の処理を示す説明図である。
【図６】本発明の一実施の形態である画像処理装置において、右方向画像範囲外（水平オーバフロー）の処理を示す説明図である。
【図７】本発明の一実施の形態である画像処理装置において、左上方向画像範囲外（垂直アンダフロー／水平アンダフロー）の処理を示す説明図である。
【図８】本発明の一実施の形態である画像処理装置において、右上方向画像範囲外（垂直アンダフロー／水平オーバフロー）の処理を示す説明図である。
【図９】本発明の一実施の形態である画像処理装置において、左下方向画像範囲外（垂直オーバフロー／水平アンダフロー）の処理を示す説明図である。
【図１０】本発明の一実施の形態である画像処理装置において、右下方向画像範囲外（垂直オーバフロー／水平オーバフロー）の処理を示す説明図である。
【図１１】ＭＰＥＧエンコード画像圧縮処理の比較用参照画取り込み時の画像範囲外処理について、本発明の一実施の形態である画像処理装置を適用した応用例を示す説明図である。
【符号の説明】
【００６３】
１０  メモリ
１１  アドレス生成部
１２，１３，１４  バッファ
１５  データ出力セレクタ
１６  垂直方向制御信号
１７  水平方向制御信号
２０  画像範囲
２１  参照範囲
３０  上部境界画アドレス
３１，４１，５１，６１，７１，８１，９１，１０１  動きベクトル
３２，４２，５２，６２，７２，８２，９２，１０２  参照画アドレス
４０  下部境界画アドレス
５０  左部境界画アドレス
６０  右部境界画アドレス
【図１】
2005101728.tif 000003
【図２】
2005101728.tif 000004
【図３】
2005101728.tif 000005
【図４】
2005101728.tif 000006
【図５】
2005101728.tif 000007
【図６】
2005101728.tif 000008
【図７】
2005101728.tif 000009
【図８】
2005101728.tif 000010
【図９】
2005101728.tif 000011
【図１０】
2005101728.tif 000012
【図１１】
2005101728.tif 000013