(57)【特許請求の範囲】
【請求項１】
フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段と、
読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にあるかフレーム画像領域外に及んでいるかを判断するマクロブロック判断部を備え、
前記動きベクトル検出手段は、読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にある場合は前記フレームメモリの画像データを用いて前記動きベクトルを検出し、動きベクトル探索領域がフレーム画像領域外に及んでいる場合であれば前記予測メモリの画像データを用いて前記動きベクトルを検出することを特徴とする画像データ圧縮伸長処理装置。
【請求項２】
前記マクロブロック判断部は、読み込まれたマクロブロックがフレーム画像の周辺エッジに位置するマクロブロックであれば、その動きベクトル探索領域がフレーム画像領域外に及んでいると判断し、フレーム画像の周辺エッジではない内側に位置するマクロブロックであれば、動きベクトル探索領域がすべてフレーム画像領域内にあると判断する請求項１に記載の画像データ圧縮伸長処理装置。
【請求項３】
フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
前記画像データ外挿手段が、前記外挿領域に対して、同じロウアドレスを持つ前記マクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記マクロブロックの境界の画像データを書き込む第１の外挿手段と、同じカラムアドレスを持つ前記マクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記マクロブロックの境界の画像データを書き込む第２の外挿手段と、同じロウアドレス、カラムアドレスを持つ前記マクロブロックデータがなければ、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記マクロブロックの隅の境界の画像データを書き込む第３の外挿手段を備えたことを特徴とする画像データ圧縮伸長処理装置。
【請求項４】
フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
周辺エッジに位置するマクロブロックに対して、周辺エッジのいずれの位置にあるかを示す外挿パターン信号を発生し、前記画像データ外挿手段は、前記外挿パターン信号に基づいて所定の外挿を実行することを特徴とする画像データ圧縮伸長処理装置。
【請求項５】
前記画像データ外挿手段は、予測メモリのアクセス番地を示すアドレス信号と前記外挿パターン信号と前記予測メモリへのリード・ライト信号とをデコードして前記予測メモリの対応する１または複数のロウアドレスを指定するロウデコーダと、１または複数のカラムアドレスを指定するカラムデコーダとを備えた請求項４に記載の画像データ圧縮伸長処理装置。
【請求項６】
フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
前記画像データ外挿手段は、前記外挿領域の個々の画像データとして、前記フレーム画像領域及び前記予測メモリの個々のアドレスに基づいて前記フレーム画像領域内の最も近い画像データを外挿することを特徴とする画像データ圧縮伸長処理装置。
【請求項７】
前記マクロブロックがN×Nのデータからなり、前記探索領域が上下左右Mデータ分である時に、前記予測メモリが（N＋２M）×（N＋２M）データ分の容量を持つ請求項６に記載の画像データ圧縮伸長処理装置。
【請求項８】
フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して、前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
前記画像データ外挿手段は前記マクロブロックが前記フレーム画像領域のいずれの位置にあるかに応じて決定される外挿領域の一部に画像データを外挿することを特徴とする画像データ圧縮伸長処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像データの圧縮伸長処理を実行する装置、特に動きベクトルを利用した符号化を行う装置に関するものである。
【０００２】
【従来の技術】
近年、ディジタル通信システムの技術的発展は著しく、マルチメディア通信、パーソナル移動体通信端末をはじめとしてさまざまな技術が活発に議論、研究されている。通信されるデータは音声、動画像、静止画像など多岐に渡っているが、今後のマルチメディア通信では画像データの高速通信技術が重要である。画像データ量は膨大であるため、特にデータの圧縮伸長技術は重要な技術である。圧縮伸長アルゴリズムはＩＳＯにおけるＭＰＥＧ１、ＭＰＥＧ２、ＩＴＵ−ＴにおけるＨ．２６１、Ｈ．２６３等、その用途に応じて標準化が行われている。
【０００３】
これらの圧縮伸長アルゴリズムにおいて、直交変換などのフレーム内符号化と動き補償などのフレーム間符号化が行われるが、アルゴリズム処理の大部分を占めるのは動きベクトル検出処理に関連する部分である。これら動きベクトルを利用した圧縮伸長は画質の向上には欠かせない処理となっている。フレーム間符号化は、まず前画像と入力画像のフレーム間差分を計算して圧縮する（図１６の前画像ａ１と入力画像データｂの差分１）。差分が小さい程、圧縮の効率が良くなることとなる。しかし、動きのある画像を圧縮する場合にはフレーム間差分が大きくなり、単にフレーム間差分をとっても圧縮効率を上げることはできない。そこであらかじめ前画像データの動きを予測して前画像データを移動させる動き補償を施して移動後の画像データと入力画像のデータとで差分をとることにより圧縮効率を上げることができる（図１６の前画像からの補償データａ２と入力画像データｂとの差分２）。この動きを予測して動かす方向が動きベクトルである。
【０００４】
以下、動きベクトル検出の概略を示す。圧縮アルゴリズムでは符号化処理は１６×１６画素データからなるマクロブロック単位で行われ、動きベクトルもマクロブロック単位で求める。動きベクトルを算出する対象となるマクロブロックを定められた探索領域内で移動させる（図１７（ａ））。次に移動後のマクロブロックと入力画像のマクロブロックとの相関を求める。すなわちそれぞれ対応する画素データの差分絶対値和を求める。この差分絶対値和を全ての探索領域内での移動後のマクロブロックについてそれぞれ求め、相関が最大となるものを検出し、その移動量を動きベクトルとする。
【０００５】
しかし、図１７（ｂ）に示すように例えばフレームの境界のマクロブロック２００において移動を行なうと探索領域２１０がフレームからはみ出る場合が出てくる。従来はこのような動きベクトルは考えないことになっていたが、実際の画像がはみ出る方向に動いている場合には、動き補償によるフレーム間符号化を行うことができず、著しく圧縮効率が落ちてしまい、また結果としてブロック歪み等のノイズにより画質が悪くなる場合もあった。そこでＨ．２６３等では精度を上げるためにオプションとして非制限動ベクトルが加えられている。非制限動ベクトルは、上記のようにフレームからはみ出てしまう場合には、図１８に示すように、探索領域２１０のうち、フレームからはみ出る領域に対しても画素データを用意することにより探索領域２１０すべてのデータがあるとして動きベクトルを求めるものである。フレームからはみ出る領域の正しい画像データが得られない場合はそのフレーム境界のデータをもっとも近いデータと仮定して用いる。
【０００６】
【発明が解決しようとする課題】
上記非制限動ベクトル算出処理の実現方法としては、第１には、ＬＳＩ等のハードウェアによる処理は特に対策せず、ソフトウェア処理で実現する方法が考えられる。すなわち、図４に示すフローチャートのように、画素データを移動させる時に、移動する前のアドレスに移動量を加算もしくは減算して移動後のアドレスを求め、そのアドレスがフレームからはみ出るかどうかを判断し、はみ出る場合には、境界のデータを参照するという処理ステップにより実現するものである。考えうる第２の実現方法は、フレームメモリ領域を大きく設定してフレームデータ領域およびその外周辺の探索領域分領域を加えたものとし、あらかじめフレーム画像と外周辺の画素データを転送して形成しておき、それらのデータを用いて入力画像との相関をとるという方法がある。
【０００７】
しかしながら、上記第１の実現方法ではマクロブロックの動きベクトル算出にあたり、探索領域での移動後の計算毎に全て条件分岐が入り、処理が複雑になるとともに、高速なプロセッサを用いている場合には条件分岐が実行されるとパイプライン処理によるペナルティにより、非常に処理効率が悪くなってしまうという問題があった。また、上記第２の実現方法のメモリ領域を多くとる方法によれば、必要なメモリ容量が増大してしまうという問題があった。
【０００８】
本発明は上記問題点に鑑み、少ない専用メモリを利用し、ソフトウェアでの処理工数を増やすことなしに、非制限動ベクトルを求めることのできる画像データ圧縮伸長処理装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために本発明の画像データ圧縮伸長処理装置は、フレームメモリと、動きベクトル検出の探索領域の画像データを格納する予測メモリと、動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶ第１のマクロブロックに対して前記第１のマクロブロックの画像データと前記第１のマクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備えたことを特徴とする。
【００１０】
上記構成により、非制限動ベクトルを検出するための予測メモリ内の画像データ形成を、データ圧縮処理対象となっている第１のマクロブロックおよび周辺のマクロブロックをフレームメモリなどからのデータ転送と残りの外挿領域データを第１のマクロブロックの境界データと同じデータを書き込むことで行うことができ、高速・簡便に予測メモリ画像データの形成、非制限動ベクトル検出を行うことができる。また、予測メモリの容量は、対象となる一の第１のマクロブロックとその周辺のマクロブロック容量分のみでよく、メモリ消費量を小さくすることができる。
【００１１】
次に、前記画像データ圧縮伸長処理装置は、読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にあるかフレーム画像領域外に及んでいるかを判断するマクロブロック判断部を備え、前記動きベクトル検出手段は、読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にある場合は前記フレームメモリの画像データを用いて前記動きベクトルを検出し、動きベクトル探索領域がフレーム画像領域外に及んでいる場合であれば前記予測メモリの画像データを用いて前記動きベクトルを検出することが好ましい。
【００１２】
上記構成により、動きベクトル検出処理対象となるマクロブロックの探索領域がフレーム画像領域の外側に及ぶ場合のみ予測メモリを利用する処理を実行することとし、動きベクトル検出の処理工数の増大防止と効率化を図ることができる。
【００１３】
次に、前記マクロブロック判断部は、読み込まれたマクロブロックがフレーム画像の周辺エッジに位置するマクロブロックであれば、その動きベクトル探索領域がフレーム画像領域外に及んでいると判断し、フレーム画像の周辺エッジではない内側に位置するマクロブロックであれば、動きベクトル探索領域がすべてフレーム画像領域内にあると判断することが好ましい。
【００１４】
上記構成により、読み込んだマクロブロックの動きベクトル検出にあたり、予測メモリを利用する必要があるか、フレームメモリの利用のみで良いかを簡便に検知できる。複雑な判断シーケンスを不要とすることができ、マクロブロック番号から簡単に周辺エッジに位置するマクロブロックか内側に位置するマクロブロックか判断できる。ここで、周辺エッジに位置するマクロブロックとは、探索領域がフレーム領域外に及んでしまうフレームエッジ近傍のマクロブロックであり、探索領域大きさの設定に従って該当するマクロブロックは一意に定めることができる。
【００１５】
次に、前記第１のマクロブロックがＮ×Ｎのデータからなり、前記探索領域が上下左右Ｍデータ分である時に、前記予測メモリが（Ｎ＋２Ｍ）×（Ｎ＋２Ｍ）データ分の容量を持つことが好ましい。
【００１６】
上記構成により、探索領域の設定に応じて必要量の予測メモリを確保することができ、探索領域を柔軟に可変設定でき、かつ、動的に必要な容量の予測メモリを用意することによりメモリ資源を節約することができる。
【００１７】
次に、前記画像データ外挿手段が、前記外挿領域に対して、同じロウアドレスを持つ前記第１のマクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記第１のマクロブロックの境界の画像データを書き込む第１の外挿手段と、同じカラムアドレスを持つ前記第１のマクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記第１のマクロブロックの境界の画像データを書き込む第２の外挿手段と、同じロウアドレス、カラムアドレスを持つ前記第１のマクロブロックデータがなければ、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記第１のマクロブロックの隅の境界の画像データを書き込む第３の外挿手段を備えることが好ましい。
【００１８】
上記構成により、外挿領域に書き込む画像データとして、フレーム画像のうちもっとも近い画像データを一意に指定して外挿することができ、予測メモリの画像データを高速に形成することができる。
【００１９】
次に、周辺エッジに位置するマクロブロックに対して、周辺エッジのいずれの位置にあるかを示す外挿パターン信号を発生し、前記画像データ外挿手段は、前記外挿パターン信号に基づいて所定の外挿を実行することが好ましい。
【００２０】
上記構成により、対象となるマクロブロックのフレーム画像上の位置によって一意に定まる外挿のパターンを外挿パターン信号を与えることにより指定し、簡便かつ高速に外挿を行ない、予測メモリの画像データを形成することができる。
【００２１】
次に、前記画像データ外挿手段は、予測メモリのアクセス番地を示すアドレス信号と前記外挿パターン信号と前記予測メモリへのリード・ライト信号とをデコードして前記予測メモリの対応する１または複数のロウアドレスを指定するロウデコーダと、１または複数のカラムアドレスを指定するカラムデコーダとを備えることが好ましい。
【００２２】
上記構成により、第１のマクロブロックが読み書きされる予測メモリのアドレス指定に加え、外挿手段に対し、外挿パターン信号に応じて書き込まれる外挿領域のロウアドレス、カラムアドレスを指定することができ、予測メモリの画像データを高速に形成することができる。
【００２３】
【発明の実施の形態】
以下、図面を参照しながら、本発明にの画像データ圧縮伸長処理装置の実施形態を説明する。
【００２４】
図１は、本発明の実施形態の画像データ圧縮伸長処理装置の概略構成を示しており、図２は、図１の制御部を概略構成を示した図、図３は図１の予測メモリを中心としてその概略構成を示した図である。
【００２５】
図１において、１は制御部、２はフレームメモリ、３は予測メモリ、４は動きベクトル検出部である。制御部１は画像データ転送手段を備え、予測メモリ３は画像データ外挿手段を備えている。詳しい処理内容は順を追って説明するが、ここで処理全体の大まかな流れを説明しておくと、制御部１は動きベクトル検出処理対象のマクロブロック番号を検知しており、探索領域がフレーム領域内にあるマクロブロックに対しては、動きベクトル検出部４はフレームメモリ２の画像データを用いて動きベクトル検出を行なう。探索領域がフレーム領域外に及ぶマクロブロック処理を検知すると、制御手段１は画像データ転送手段によりフレームメモリ２から予測メモリ３へ画像データを転送し、併せて外挿パターン信号を予測メモリ３に与える。予測メモリ３は外挿パターン信号に従い、画像データ外挿手段によりフレーム画像外周辺を含む画像データを形成し、動きベクトル検出部４は非制限動ベクトルを検出する。以上が処理全体の大まかな流れである。
【００２６】
まず、制御部１関連の処理内容を詳しく説明する。
本実施形態で扱うフレーム画像は、図５に示すように９×１１個のマクロブロックより構成され、各マクロブロックには図５に示すようにマクロブロック番号１〜９９が付されている。１つのマクロブロックは１６×１６個の画素データからなる。
【００２７】
図６は一つのマクロブロックと当該マクロブロックの持つ動きベクトル探索領域を示した図である。マクロブロックは中心に５で示されたものであり、５を除く１〜９が探索領域の領域であり、±１５画素分とする。つまり図３に示した予測メモリにおいてＭ＝１５、Ｎ＝１６とした場合を説明する。
【００２８】
図６に示したように各マクロブロックは周囲に設定された探索領域を持つため、マクロブロックのフレーム画像における位置によって、その探索領域がフレーム画像の領域内にあるか領域外に及ぶのかが一意に定まる。図５においてハッチングをかけた範囲がその探索領域がフレーム画像領域外に及ぶもので、周辺エッジマクロブロックと定義する。なお、周辺エッジマクロブロックは最外郭のマクロブロックのみとは限らず、探索領域Ｍの設定が大きい場合はエッジ近傍の内側のマクロブロックも含まれる場合がある。
【００２９】
さらに、マクロブロックのフレーム画像における位置によって、その探索領域のうちフレーム画像領域外となる範囲、つまり外挿が必要となる範囲が一意に定まる。この外挿が必要となる範囲は８パターンある。図７が外挿パターンと対応するマクロブロック番号を示した図である。図７において各々中心のブロックがマクロブロックであり、周辺が探索領域、ハッチングをかけた範囲が外挿部分である。外挿パターン１は図５のマクロブロック番号１に対するもの、外挿パターン２はマクロブロック番号２〜１０に対するものという具合に、マクロブロック番号が定まれば、必要とされる外挿パターンは一意に定まる。
【００３０】
制御部１は図２に示すようにマクロブロックカウンタ１１を持ち、動きベクトル検出対象となるマクロブロック番号を検知している。マクロブロック判断部１２は受信したマクロブロック番号を調べることによりマクロブロックが図５に示した周辺エッジマクロブロックか否か、さらに周辺エッジマクロブロックで有る場合には必要とされる外挿パターンがどれであるかを一意に判断することができる。
【００３１】
マクロブロック判断部１２が、周辺エッジマクロブロックではないと判断した場合は、プログラム切替信号１０７（“０”）により予測メモリ非使用プログラム１３ａを選択し、制御部１および動きベクトル検出部４は、フレームメモリ２内の画像データを用いた動きベクトル検出の処理に進む。
【００３２】
マクロブロック判断部１２が、周辺エッジマクロブロックと判断した場合は、プログラム切替信号１０７（“１”）により、予測メモリ使用プログラム１３ｂを選択する。予測メモリ使用プログラム１３ｂは画像データ転送プログラムを含んでおり、フレームメモリ２から予測メモリ３へ当該マクロブロックおよび探索領域のうちフレームメモリ上に存在する画像データを転送させるために必要な命令、アドレス信号、リード信号、ライト信号を出力する。また、マクロブロック判断部１２は、マクロブロック番号に基づいて図７に示した外挿パターンのうちどの外挿パターンであるかを示す外挿パターン信号を予測メモリ３に出力し、予測メモリ３に画像データ形成する処理に進む。
【００３３】
予測メモリ３に画像データを形成する処理を以下に詳しく述べる。図３が予測メモリを中心とした概略構成を示す図である。１００が予測メモリセル、１１０はロウデコーダ、１２０はカラムデコーダである。ロウデコーダ１１０およびカラムデコーダ１２０は後述するように画像データ外挿機能を有している。
【００３４】
予測メモリセル１００は、Ｎ＋２Ｍ＝４６より、４６×４６個の画素数に対応する記憶容量を持っており、予測メモリセル１００のアドレスは図８に示すように左斜め上を“１”として、各行右方向に“１”ずつ番地が増加し、右端まで到達すると１行下の左端へと続き、同様に行右方向に番地が増加して行くものとする。
【００３５】
アドレスデータ１０１は制御部１より出力され、予測メモリセル１００のアクセス番地を指示する。
外挿パターン信号１０２はマクロブロック探索領域とフレーム画像領域との関係が図７に示す８パターンのうちのいずれかを示す情報であり、ここでは３ビット幅の情報とする。
【００３６】
ロウデコーダ１１０は、図１４に示すテーブルを保持しており、リード・ライト信号、外挿パターン信号１０２、アドレスデータ１０１に従い、ロウアドレスを指定する。図１４に示すように、ロウに対する画像データ外挿が必要ない場合は１つのロウアドレスを出力し、ロウに対する画像データ外挿が必要となる場合は複数のロウアドレスを出力する。
【００３７】
カラムデコーダ１２０は、図１５に示すテーブルを保持しており、リード・ライト信号、外挿パターン信号１０２、アドレスデータ１０１に従い、カラムアドレスを指定する。図１５に示すように、カラムに対する画像データ外挿が必要ない場合は１つのカラムアドレスを出力し、カラムに対する画像データ外挿が必要となる場合は複数のカラムアドレスを出力する。
【００３８】
予測メモリセル１００へのデータ転送書き込みにおいて、画像データ外挿を必要としないフレームメモリ２から予測メモリセル１００の該当画素への１対１の転送書き込みを示したものが図９ａである。ライト信号１０４がアクティブ（＝“１”）になった時に、後述するロウアドレス信号１１１と後述するカラムアドレス信号１２１とで選択される番地にデータバス１３０のデータが書き込まれる。例えば、ロウアドレス信号１１１の２番目と、カラムアドレス信号１２１の３番目がアクティブ（＝”１”）であった場合、図９ａのハッチングの番地にデータが書き込まれる。画像データ外挿を必要とするフレームメモリ２から予測メモリセル１００への外挿書き込みの概念を説明したものが図９ｂである。この例ではロウアドレス信号１１１の２および３番目と、カラムアドレス信号１２１の３番目がアクティブ（＝”１”）であった場合、図９ｂにハッチングした複数の番地に同じデータが書き込まれる。この図９ｂに示した複数番地へのデータ書き込み原理を応用し、外挿パターンに応じてロウアドレスデコーダ１１０が１または複数のロウアドレスを出力し、カラムアドレスデコーダ１２０が１または複数のカラムアドレスを出力し、高速かつ簡便に画像データ外挿を行ない、非制限動ベクトル検出に利用する。
【００３９】
以上説明した構成に基づき、本発明の画像データ圧縮伸長処理装置による画像データ外挿処理の全体の流れを具体例を挙げて詳しく示す。説明の便宜上、ロウアドレス信号１１１のＮ番目をロウアドレス信号１１１［Ｎ］と記述し、またカラムアドレス信号１２１のＮ番目をカラムアドレス信号１２１［Ｎ］と記述する。また、それぞれ”１”でアクティブ、”０”でノンアクティブを表わすものとする。
【００４０】
（ステップ１）
マクロブロックカウンタ１１が、処理対象のマクロブロック番号を検知し、マクロブロック判断部１２は、探索領域が画像領域からはみ出る周辺エッジマクロブロックであるか、探索領域すべてが画像領域内にある内側のマクロブロックであるかを判断する。図５において、ハッチングをかけた境界にあるマクロブロック番号であれば、周辺エッジマクロブロックと判断する。
【００４１】
なお、内側のマクロブロックであれば入力画像データとフレームメモリ２内にある前画像データとの相関をとって動きベクトルを算出する。ここでは、マクロブロック番号“１”の周辺エッジマクロブロックとする。周辺エッジマクロブロックの外挿パターンは図７に示す８パターンあるが、以下、外挿パターンは外挿パターン１の場合を例として説明する。他の外挿パターンのマクロブロックに対する処理動作は外挿パターン１の場合の処理動作から容易に理解できるので省略する。
【００４２】
（ステップ２）
マクロブロック番号が”１”の時、制御装置が制御レジスタに外挿パターン信号１０２の値を設定し、外挿パターン信号１０２の値は”１”となる。
【００４３】
マクロブロック番号１のマクロブロックデータをフレームメモリ２からデータバス１３０を経由して予測メモリセル１００の中心部（図８の”７０６”と”１４１１”を対角とする矩形）の該当位置に転送する。
【００４４】
転送される画素データは図８に示すように７０６番地から書き込まれて行く。ここで、マクロブロックデータの予測メモリセル１００への書き込みは、予測メモリセル１００の対応する位置のみならず、以下に示すように外挿する位置のメモリに対してもデータを書き込んでいく。まず、図１０に示すフレームメモリ２中の１番目の画素データを予測メモリセル１００に転送する場合、ロウデコーダ１１０は図１４に示すテーブルにしたがって、アドレスデータ１０１＝”７０６”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、ロウアドレス信号１１１［Ｎ］＝”１”（Ｎ＝１，２，…，１６）、ロウアドレス信号１１１［Ｎ］＝”０”（Ｎ＝１７，１８，…，４６）を出力する。同様に、カラムデコーダ１２０は、図１５に示すテーブルにしたがって、アドレスデータ１０１＝”７０６”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、カラムアドレス信号１２１［Ｎ］＝”１”（Ｎ＝１，２，…，１６）、カラムアドレス信号１２１［Ｎ］＝”０”（Ｎ＝１７，１８，…，４６）を出力する。上記により、図１１ａにハッチングで示す領域にマクロブロックの１番目の画素データと同じ画素データが書き込まれる（ステップ２ｂ）。
【００４５】
次のデータの転送先のアドレスは、図１０に示すように７０７番地である。図１０に示すフレームメモリ２中の２番目の画素データを予測メモリセル１００に転送する場合、ロウデコーダ１１０は、図１４に示すテーブルにしたがって、アドレスデータ１０１＝”７０７”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、ロウアドレス信号１１１［Ｎ］＝”１”（Ｎ＝１，２，…，１６）、ロウアドレス信号１１１［Ｎ］＝”０”（Ｎ＝１７，１８，…，４６）を出力する。同様に、カラムデコーダ１２０は図１５に示すテーブルに従って、アドレスデータ１０１＝”７０７”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、カラムアドレス信号１２１［１７］＝”１”、カラムアドレス信号１２１［Ｎ］＝”０”（Ｎ＝１，２，…，４６；Ｎ≠１７）を出力する。上記により、図１１ｂにハッチングで示す領域に、マクロブロックの２番目の画素データと同じ画素データが書き込まれる（ステップ２ｃ）。
【００４６】
図１０に示すフレームメモリ２中の３番目〜１５番目の画素データを、予測メモリセル１００に転送する場合、ステップ２ｃと同様の処理をする。その結果、それぞれカラム方向で上方にマクロブロック境界のデータと同じデータが書き込まれる（ステップ２ｄ）。なお、図１０に示すフレームメモリ２中の１６番目の画素データを予測メモリセル１００に転送する場合、マクロブロックの境界の角のデータであるが、ステップ２ｂの動作ではなく、ステップ２ｃの処理と同様の処理となる。これはフレームメモリ２中に１６番目の画素データより右側の位置のデータが画像データとして存在するので、このカラムより右側に外挿する必要が無いためである（ステップ２ｅ）。
【００４７】
次に、１７番目のデータの転送先のアドレスは、図８に示すように７５２番地である。図１０に示すフレームメモリ２中の１７番目の画素データを、予測メモリセル１００に転送する場合、ロウデコーダ１１０は、図１４に示すテーブルにしたがって、アドレスデータ１０１＝”７５２”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、ロウアドレス信号１１１［１７］＝”１”、ロウアドレス信号１１１［Ｎ］＝”０”（Ｎ＝１，２，…，４６；Ｎ≠１７）を出力する。同様に、カラムデコーダ１２０は、図１５に示すテーブルにしたがって、アドレスデータ１０１＝”７５２”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、カラムアドレス信号１２１［Ｎ］＝”１”（Ｎ＝１，２，…，１６）、カラムアドレス信号１２１［Ｎ］＝”０”（Ｎ＝１７，１８，…，４６）を出力する。上記により、図１１ｃにハッチングで示す領域に、マクロブロックの１７番目の画素データと同じ画素データが書き込まれる（ステップ２ｆ）。
【００４８】
１８番目のデータの転送先のアドレスは、図８に示すように７５３番地であり、マクロブロックの境界のデータではないものである。図１０に示すフレームメモリ２中の１８番目の画素データを予測メモリセル１００に転送する場合、ロウデコーダ１１０は、図１４に示すテーブルにしたがって、アドレスデータ１０１＝”７５３”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、ロウアドレス信号１１１［１８］＝”１”、ロウアドレス信号１１１［Ｎ］＝”０”（Ｎ＝１，２，…，４６；Ｎ≠１８）を出力する。同様に、カラムデコーダ１２０は、図１５に示すテーブルにしたがって、アドレスデータ１０１＝”７５３”、外挿パターン信号１０２＝”１”、リード信号１０３＝”０”、ライト信号１０４＝”１”である場合において、カラムアドレス信号１２１［１７］＝”１”、カラムアドレス信号１２１［Ｎ］＝”０”（Ｎ＝１，２，…，４６；Ｎ≠１７）を出力する。上記により、図１１ｄにハッチングで示す領域のみに画素データが書き込まれる（ステップ２ｇ）。
【００４９】
以上示したように、第１のマクロブロックの境界にあるデータの転送、予測メモリ１００への書き込みを上記ステップ２ｃ〜ステップ２ｆのいずれかを繰り返して行い、マクロブロックの境界ではないデータの転送、予測メモリ１００への書き込みを上記ステップ２ｇを繰り返して行うことにより、２５６回の転送が終了した時には、図１２にハッチングで示す領域にデータが書き込まれている。
【００５０】
（ステップ３）
マクロブロック番号１の周辺のマクロブロックのうち、フレームメモリ２内に画像データが存在するものはその画素データ（図１３ａでハッチングで示したブロック）をフレームメモリ２からデータバス１３０を経由して、予測メモリセル１００の該当するアドレスのセルに転送する。
【００５１】
（ステップ４）
ステップ３において転送された図１３ａでハッチングで示したそれぞれの画素データのうち、境界にあるデータを基にステップ２ｄまたはステップ２ｆを繰り返すことにより、図１３ｂに示すハッチングの領域にもデータを外挿して書き込む。
【００５２】
以上、ステップ２からステップ４の処理により、予測メモリ１００のアドレス全てにデータが書き込むことができる。以上で、予測メモリ１００上にマクロブロック番号１に対応する探索領域を全てカバーするデータが揃った。
【００５３】
（ステップ５）
予測メモリ１００中のブロック番号５のマクロブロックの枠を上下左右に移動させてその移動後の画像データと入力画像データとで相関をとる。相関が最も大きくなる時のデータの移動量が非制限動ベクトルとなる。
【００５４】
以上により、本発明の画像データ圧縮伸長処理装置を用いて非制限動ベクトルを求める事ができる。予測メモリの画像データ形成にあたり、外挿手段で利用される画像データが転送された場合に、転送手段が予測メモリの対応するアドレスに書き込むとともに画像データ外挿手段が外挿パターン信号をもとに画像データの外挿を行う。つまり画像データ外挿手段による外挿領域へのデータ書き込みに際して、外挿領域と同じロウアドレスを持つ第１のマクロブロックデータがあれば、外挿領域のカラムアドレスと最も近いカラムアドレスを持つ第１のマクロブロックの境界の画像データを書き込み、同じカラムアドレスを持つ第１のマクロブロックデータがあれば、外挿領域のロウアドレスと最も近いロウアドレスを持つ第１のマクロブロックの境界の画像データを書き込み、同じロウアドレス、カラムアドレスを持つ第１のマクロブロックデータがなければ、外挿領域のカラムアドレス、ロウアドレスと最も近いカラムアドレス、ロウアドレスを持つ第１のマクロブロックの隅の画像データを書き込むことになる。
【００５５】
上記処理はマクロブロック番号１、外挿パターン１に対応するものであるが、他の周辺エッジマクロブロック、外挿パターンに対する処理は、上記説明と同様であり、図１４、図１５のテーブルに示したロウデコーダ、カラムデコーダのロウアドレス、カラムアドレス指定に従い、画像データ外挿を実行する。
【００５６】
なお、上記実施形態の説明では、Ｎ＝１６，Ｍ＝１５としたが、Ｎ，Ｍが他のデータ構成数値でも本発明を利用することができることは言うまでもない。
【００５７】
【発明の効果】
本発明にかかる画像データ圧縮伸長処理装置によれば、Ｈ．２６３等の画像圧縮伸長処理において、非制限動ベクトルを求めるための予測メモリへの探索領域をカバーする画像データ外挿処理が、単なる画像データ転送と複数アドレスへの書き込みの繰り返しで実行することができ、高速かつ簡便に予測メモリへの画像データの形成、非制限動ベクトルの検出ができる。従来方法で必要とされた複数の判断および分岐処理（例えば３〜１０ステップ）の繰り返し処理を不要とすることができるので従来方法に比べ処理時間を短縮することができる。
【００５８】
また、削減した処理時間を、リアルタイム処理などの場合に他の画像処理に充てることにより表示動画像の高画質化を図ることも可能となる。
用意する予測メモリは、動きベクトル探索領域の容量のみでよく、メモリ消費量を抑制することができる。
【図面の簡単な説明】
【図１】本発明の画像データ圧縮伸長処理装置の概略構成を示す図
【図２】図１の制御部の概略構成を示す図
【図３】図１の予測メモリの概略構成を示す図
【図４】ソフトウェア処理によるフレームデータ外側のデータを求める手順を示すフローチャート
【図５】マクロブロック番号の振り方およびマクロブロック内の画素データの関係を示す図
【図６】マクロブロックおよびその探索領域を示す図
【図７】外挿パターンと探索領域における外挿範囲の関係を示す図
【図８】予測メモリセル１００内のアドレスの振り方を示す図
【図９】予測メモリセル１００における外挿による複数アドレスへの書き込みを説明する図
【図１０】フレームメモリ２におけるマクロブロックの画素データのアドレス番号を示す図
【図１１】マクロブロックの画素データ１、２、１７、１８に対する予測メモリセル１００上での外挿範囲または書き込み範囲を示す図
【図１２】マクロブロック番号１の画像データ転送・外挿により書き込まれるデータ領域を示す図
【図１３】マクロブロック番号１以外でフレームメモリ２から転送されるデータにより書き込み・外挿が行なわれる領域を示す図
【図１４】ロウデコーダのテーブル
【図１５】カラムデコーダのテーブル
【図１６】入力画像データと前画像データの差分のとり方を示す図
【図１７】マクロブロックの探索領域を示す図
【図１８】フレーム領域外のデータ推定を説明する図
【符号の説明】
１  制御部
２  フレームメモリ
３  予測メモリ
４  動きベクトル検出部
１１  マクロブロックカウンタ
１２  マクロブロック判断部
１３  プログラムメモリ
１３ａ  予測メモリ非使用プログラム
１３ｂ  予測メモリ使用プログラム
１４  命令デコーダ
１００  予測メモリセル
１０１，１０５  アドレスデータ
１０２  外挿パターン信号
１０３，１０６  リード信号
１０４  ライト信号
１０７  プログラム切替信号
１１０  ロウデコーダ
１１１  ロウアドレス信号
１２０  カラムデコーダ
１２１  カラムアドレス信号
１３０  データバス
２００  マクロブロック
２１０  探索領域
【図１】
0003569143.tif 000002
【図２】
0003569143.tif 000003
【図３】
0003569143.tif 000004
【図４】
0003569143.tif 000005
【図５】
0003569143.tif 000006
【図６】
0003569143.tif 000007
【図７】
0003569143.tif 000008
【図８】
0003569143.tif 000009
【図９】
0003569143.tif 000010
【図１０】
0003569143.tif 000011
【図１１】
0003569143.tif 000012
【図１２】
0003569143.tif 000013
【図１３】
0003569143.tif 000014
【図１４】
0003569143.tif 000015
【図１５】
0003569143.tif 000016
【図１６】
0003569143.tif 000017
【図１７】
0003569143.tif 000018
【図１８】
0003569143.tif 000019