JP3569143B2 - 画像データ圧縮伸長処理装置 - Google Patents
画像データ圧縮伸長処理装置 Download PDFInfo
- Publication number
- JP3569143B2 JP3569143B2 JP35301598A JP35301598A JP3569143B2 JP 3569143 B2 JP3569143 B2 JP 3569143B2 JP 35301598 A JP35301598 A JP 35301598A JP 35301598 A JP35301598 A JP 35301598A JP 3569143 B2 JP3569143 B2 JP 3569143B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- area
- macroblock
- extrapolation
- motion vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は画像データの圧縮伸長処理を実行する装置、特に動きベクトルを利用した符号化を行う装置に関するものである。
【0002】
【従来の技術】
近年、ディジタル通信システムの技術的発展は著しく、マルチメディア通信、パーソナル移動体通信端末をはじめとしてさまざまな技術が活発に議論、研究されている。通信されるデータは音声、動画像、静止画像など多岐に渡っているが、今後のマルチメディア通信では画像データの高速通信技術が重要である。画像データ量は膨大であるため、特にデータの圧縮伸長技術は重要な技術である。圧縮伸長アルゴリズムはISOにおけるMPEG1、MPEG2、ITU−TにおけるH.261、H.263等、その用途に応じて標準化が行われている。
【0003】
これらの圧縮伸長アルゴリズムにおいて、直交変換などのフレーム内符号化と動き補償などのフレーム間符号化が行われるが、アルゴリズム処理の大部分を占めるのは動きベクトル検出処理に関連する部分である。これら動きベクトルを利用した圧縮伸長は画質の向上には欠かせない処理となっている。フレーム間符号化は、まず前画像と入力画像のフレーム間差分を計算して圧縮する(図16の前画像a1と入力画像データbの差分1)。差分が小さい程、圧縮の効率が良くなることとなる。しかし、動きのある画像を圧縮する場合にはフレーム間差分が大きくなり、単にフレーム間差分をとっても圧縮効率を上げることはできない。そこであらかじめ前画像データの動きを予測して前画像データを移動させる動き補償を施して移動後の画像データと入力画像のデータとで差分をとることにより圧縮効率を上げることができる(図16の前画像からの補償データa2と入力画像データbとの差分2)。この動きを予測して動かす方向が動きベクトルである。
【0004】
以下、動きベクトル検出の概略を示す。圧縮アルゴリズムでは符号化処理は16×16画素データからなるマクロブロック単位で行われ、動きベクトルもマクロブロック単位で求める。動きベクトルを算出する対象となるマクロブロックを定められた探索領域内で移動させる(図17(a))。次に移動後のマクロブロックと入力画像のマクロブロックとの相関を求める。すなわちそれぞれ対応する画素データの差分絶対値和を求める。この差分絶対値和を全ての探索領域内での移動後のマクロブロックについてそれぞれ求め、相関が最大となるものを検出し、その移動量を動きベクトルとする。
【0005】
しかし、図17(b)に示すように例えばフレームの境界のマクロブロック200において移動を行なうと探索領域210がフレームからはみ出る場合が出てくる。従来はこのような動きベクトルは考えないことになっていたが、実際の画像がはみ出る方向に動いている場合には、動き補償によるフレーム間符号化を行うことができず、著しく圧縮効率が落ちてしまい、また結果としてブロック歪み等のノイズにより画質が悪くなる場合もあった。そこでH.263等では精度を上げるためにオプションとして非制限動ベクトルが加えられている。非制限動ベクトルは、上記のようにフレームからはみ出てしまう場合には、図18に示すように、探索領域210のうち、フレームからはみ出る領域に対しても画素データを用意することにより探索領域210すべてのデータがあるとして動きベクトルを求めるものである。フレームからはみ出る領域の正しい画像データが得られない場合はそのフレーム境界のデータをもっとも近いデータと仮定して用いる。
【0006】
【発明が解決しようとする課題】
上記非制限動ベクトル算出処理の実現方法としては、第1には、LSI等のハードウェアによる処理は特に対策せず、ソフトウェア処理で実現する方法が考えられる。すなわち、図4に示すフローチャートのように、画素データを移動させる時に、移動する前のアドレスに移動量を加算もしくは減算して移動後のアドレスを求め、そのアドレスがフレームからはみ出るかどうかを判断し、はみ出る場合には、境界のデータを参照するという処理ステップにより実現するものである。考えうる第2の実現方法は、フレームメモリ領域を大きく設定してフレームデータ領域およびその外周辺の探索領域分領域を加えたものとし、あらかじめフレーム画像と外周辺の画素データを転送して形成しておき、それらのデータを用いて入力画像との相関をとるという方法がある。
【0007】
しかしながら、上記第1の実現方法ではマクロブロックの動きベクトル算出にあたり、探索領域での移動後の計算毎に全て条件分岐が入り、処理が複雑になるとともに、高速なプロセッサを用いている場合には条件分岐が実行されるとパイプライン処理によるペナルティにより、非常に処理効率が悪くなってしまうという問題があった。また、上記第2の実現方法のメモリ領域を多くとる方法によれば、必要なメモリ容量が増大してしまうという問題があった。
【0008】
本発明は上記問題点に鑑み、少ない専用メモリを利用し、ソフトウェアでの処理工数を増やすことなしに、非制限動ベクトルを求めることのできる画像データ圧縮伸長処理装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するために本発明の画像データ圧縮伸長処理装置は、フレームメモリと、動きベクトル検出の探索領域の画像データを格納する予測メモリと、動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶ第1のマクロブロックに対して前記第1のマクロブロックの画像データと前記第1のマクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備えたことを特徴とする。
【0010】
上記構成により、非制限動ベクトルを検出するための予測メモリ内の画像データ形成を、データ圧縮処理対象となっている第1のマクロブロックおよび周辺のマクロブロックをフレームメモリなどからのデータ転送と残りの外挿領域データを第1のマクロブロックの境界データと同じデータを書き込むことで行うことができ、高速・簡便に予測メモリ画像データの形成、非制限動ベクトル検出を行うことができる。また、予測メモリの容量は、対象となる一の第1のマクロブロックとその周辺のマクロブロック容量分のみでよく、メモリ消費量を小さくすることができる。
【0011】
次に、前記画像データ圧縮伸長処理装置は、読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にあるかフレーム画像領域外に及んでいるかを判断するマクロブロック判断部を備え、前記動きベクトル検出手段は、読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にある場合は前記フレームメモリの画像データを用いて前記動きベクトルを検出し、動きベクトル探索領域がフレーム画像領域外に及んでいる場合であれば前記予測メモリの画像データを用いて前記動きベクトルを検出することが好ましい。
【0012】
上記構成により、動きベクトル検出処理対象となるマクロブロックの探索領域がフレーム画像領域の外側に及ぶ場合のみ予測メモリを利用する処理を実行することとし、動きベクトル検出の処理工数の増大防止と効率化を図ることができる。
【0013】
次に、前記マクロブロック判断部は、読み込まれたマクロブロックがフレーム画像の周辺エッジに位置するマクロブロックであれば、その動きベクトル探索領域がフレーム画像領域外に及んでいると判断し、フレーム画像の周辺エッジではない内側に位置するマクロブロックであれば、動きベクトル探索領域がすべてフレーム画像領域内にあると判断することが好ましい。
【0014】
上記構成により、読み込んだマクロブロックの動きベクトル検出にあたり、予測メモリを利用する必要があるか、フレームメモリの利用のみで良いかを簡便に検知できる。複雑な判断シーケンスを不要とすることができ、マクロブロック番号から簡単に周辺エッジに位置するマクロブロックか内側に位置するマクロブロックか判断できる。ここで、周辺エッジに位置するマクロブロックとは、探索領域がフレーム領域外に及んでしまうフレームエッジ近傍のマクロブロックであり、探索領域大きさの設定に従って該当するマクロブロックは一意に定めることができる。
【0015】
次に、前記第1のマクロブロックがN×Nのデータからなり、前記探索領域が上下左右Mデータ分である時に、前記予測メモリが(N+2M)×(N+2M)データ分の容量を持つことが好ましい。
【0016】
上記構成により、探索領域の設定に応じて必要量の予測メモリを確保することができ、探索領域を柔軟に可変設定でき、かつ、動的に必要な容量の予測メモリを用意することによりメモリ資源を節約することができる。
【0017】
次に、前記画像データ外挿手段が、前記外挿領域に対して、同じロウアドレスを持つ前記第1のマクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記第1のマクロブロックの境界の画像データを書き込む第1の外挿手段と、同じカラムアドレスを持つ前記第1のマクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記第1のマクロブロックの境界の画像データを書き込む第2の外挿手段と、同じロウアドレス、カラムアドレスを持つ前記第1のマクロブロックデータがなければ、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記第1のマクロブロックの隅の境界の画像データを書き込む第3の外挿手段を備えることが好ましい。
【0018】
上記構成により、外挿領域に書き込む画像データとして、フレーム画像のうちもっとも近い画像データを一意に指定して外挿することができ、予測メモリの画像データを高速に形成することができる。
【0019】
次に、周辺エッジに位置するマクロブロックに対して、周辺エッジのいずれの位置にあるかを示す外挿パターン信号を発生し、前記画像データ外挿手段は、前記外挿パターン信号に基づいて所定の外挿を実行することが好ましい。
【0020】
上記構成により、対象となるマクロブロックのフレーム画像上の位置によって一意に定まる外挿のパターンを外挿パターン信号を与えることにより指定し、簡便かつ高速に外挿を行ない、予測メモリの画像データを形成することができる。
【0021】
次に、前記画像データ外挿手段は、予測メモリのアクセス番地を示すアドレス信号と前記外挿パターン信号と前記予測メモリへのリード・ライト信号とをデコードして前記予測メモリの対応する1または複数のロウアドレスを指定するロウデコーダと、1または複数のカラムアドレスを指定するカラムデコーダとを備えることが好ましい。
【0022】
上記構成により、第1のマクロブロックが読み書きされる予測メモリのアドレス指定に加え、外挿手段に対し、外挿パターン信号に応じて書き込まれる外挿領域のロウアドレス、カラムアドレスを指定することができ、予測メモリの画像データを高速に形成することができる。
【0023】
【発明の実施の形態】
以下、図面を参照しながら、本発明にの画像データ圧縮伸長処理装置の実施形態を説明する。
【0024】
図1は、本発明の実施形態の画像データ圧縮伸長処理装置の概略構成を示しており、図2は、図1の制御部を概略構成を示した図、図3は図1の予測メモリを中心としてその概略構成を示した図である。
【0025】
図1において、1は制御部、2はフレームメモリ、3は予測メモリ、4は動きベクトル検出部である。制御部1は画像データ転送手段を備え、予測メモリ3は画像データ外挿手段を備えている。詳しい処理内容は順を追って説明するが、ここで処理全体の大まかな流れを説明しておくと、制御部1は動きベクトル検出処理対象のマクロブロック番号を検知しており、探索領域がフレーム領域内にあるマクロブロックに対しては、動きベクトル検出部4はフレームメモリ2の画像データを用いて動きベクトル検出を行なう。探索領域がフレーム領域外に及ぶマクロブロック処理を検知すると、制御手段1は画像データ転送手段によりフレームメモリ2から予測メモリ3へ画像データを転送し、併せて外挿パターン信号を予測メモリ3に与える。予測メモリ3は外挿パターン信号に従い、画像データ外挿手段によりフレーム画像外周辺を含む画像データを形成し、動きベクトル検出部4は非制限動ベクトルを検出する。以上が処理全体の大まかな流れである。
【0026】
まず、制御部1関連の処理内容を詳しく説明する。
本実施形態で扱うフレーム画像は、図5に示すように9×11個のマクロブロックより構成され、各マクロブロックには図5に示すようにマクロブロック番号1〜99が付されている。1つのマクロブロックは16×16個の画素データからなる。
【0027】
図6は一つのマクロブロックと当該マクロブロックの持つ動きベクトル探索領域を示した図である。マクロブロックは中心に5で示されたものであり、5を除く1〜9が探索領域の領域であり、±15画素分とする。つまり図3に示した予測メモリにおいてM=15、N=16とした場合を説明する。
【0028】
図6に示したように各マクロブロックは周囲に設定された探索領域を持つため、マクロブロックのフレーム画像における位置によって、その探索領域がフレーム画像の領域内にあるか領域外に及ぶのかが一意に定まる。図5においてハッチングをかけた範囲がその探索領域がフレーム画像領域外に及ぶもので、周辺エッジマクロブロックと定義する。なお、周辺エッジマクロブロックは最外郭のマクロブロックのみとは限らず、探索領域Mの設定が大きい場合はエッジ近傍の内側のマクロブロックも含まれる場合がある。
【0029】
さらに、マクロブロックのフレーム画像における位置によって、その探索領域のうちフレーム画像領域外となる範囲、つまり外挿が必要となる範囲が一意に定まる。この外挿が必要となる範囲は8パターンある。図7が外挿パターンと対応するマクロブロック番号を示した図である。図7において各々中心のブロックがマクロブロックであり、周辺が探索領域、ハッチングをかけた範囲が外挿部分である。外挿パターン1は図5のマクロブロック番号1に対するもの、外挿パターン2はマクロブロック番号2〜10に対するものという具合に、マクロブロック番号が定まれば、必要とされる外挿パターンは一意に定まる。
【0030】
制御部1は図2に示すようにマクロブロックカウンタ11を持ち、動きベクトル検出対象となるマクロブロック番号を検知している。マクロブロック判断部12は受信したマクロブロック番号を調べることによりマクロブロックが図5に示した周辺エッジマクロブロックか否か、さらに周辺エッジマクロブロックで有る場合には必要とされる外挿パターンがどれであるかを一意に判断することができる。
【0031】
マクロブロック判断部12が、周辺エッジマクロブロックではないと判断した場合は、プログラム切替信号107(“0”)により予測メモリ非使用プログラム13aを選択し、制御部1および動きベクトル検出部4は、フレームメモリ2内の画像データを用いた動きベクトル検出の処理に進む。
【0032】
マクロブロック判断部12が、周辺エッジマクロブロックと判断した場合は、プログラム切替信号107(“1”)により、予測メモリ使用プログラム13bを選択する。予測メモリ使用プログラム13bは画像データ転送プログラムを含んでおり、フレームメモリ2から予測メモリ3へ当該マクロブロックおよび探索領域のうちフレームメモリ上に存在する画像データを転送させるために必要な命令、アドレス信号、リード信号、ライト信号を出力する。また、マクロブロック判断部12は、マクロブロック番号に基づいて図7に示した外挿パターンのうちどの外挿パターンであるかを示す外挿パターン信号を予測メモリ3に出力し、予測メモリ3に画像データ形成する処理に進む。
【0033】
予測メモリ3に画像データを形成する処理を以下に詳しく述べる。図3が予測メモリを中心とした概略構成を示す図である。100が予測メモリセル、110はロウデコーダ、120はカラムデコーダである。ロウデコーダ110およびカラムデコーダ120は後述するように画像データ外挿機能を有している。
【0034】
予測メモリセル100は、N+2M=46より、46×46個の画素数に対応する記憶容量を持っており、予測メモリセル100のアドレスは図8に示すように左斜め上を“1”として、各行右方向に“1”ずつ番地が増加し、右端まで到達すると1行下の左端へと続き、同様に行右方向に番地が増加して行くものとする。
【0035】
アドレスデータ101は制御部1より出力され、予測メモリセル100のアクセス番地を指示する。
外挿パターン信号102はマクロブロック探索領域とフレーム画像領域との関係が図7に示す8パターンのうちのいずれかを示す情報であり、ここでは3ビット幅の情報とする。
【0036】
ロウデコーダ110は、図14に示すテーブルを保持しており、リード・ライト信号、外挿パターン信号102、アドレスデータ101に従い、ロウアドレスを指定する。図14に示すように、ロウに対する画像データ外挿が必要ない場合は1つのロウアドレスを出力し、ロウに対する画像データ外挿が必要となる場合は複数のロウアドレスを出力する。
【0037】
カラムデコーダ120は、図15に示すテーブルを保持しており、リード・ライト信号、外挿パターン信号102、アドレスデータ101に従い、カラムアドレスを指定する。図15に示すように、カラムに対する画像データ外挿が必要ない場合は1つのカラムアドレスを出力し、カラムに対する画像データ外挿が必要となる場合は複数のカラムアドレスを出力する。
【0038】
予測メモリセル100へのデータ転送書き込みにおいて、画像データ外挿を必要としないフレームメモリ2から予測メモリセル100の該当画素への1対1の転送書き込みを示したものが図9aである。ライト信号104がアクティブ(=“1”)になった時に、後述するロウアドレス信号111と後述するカラムアドレス信号121とで選択される番地にデータバス130のデータが書き込まれる。例えば、ロウアドレス信号111の2番目と、カラムアドレス信号121の3番目がアクティブ(=”1”)であった場合、図9aのハッチングの番地にデータが書き込まれる。画像データ外挿を必要とするフレームメモリ2から予測メモリセル100への外挿書き込みの概念を説明したものが図9bである。この例ではロウアドレス信号111の2および3番目と、カラムアドレス信号121の3番目がアクティブ(=”1”)であった場合、図9bにハッチングした複数の番地に同じデータが書き込まれる。この図9bに示した複数番地へのデータ書き込み原理を応用し、外挿パターンに応じてロウアドレスデコーダ110が1または複数のロウアドレスを出力し、カラムアドレスデコーダ120が1または複数のカラムアドレスを出力し、高速かつ簡便に画像データ外挿を行ない、非制限動ベクトル検出に利用する。
【0039】
以上説明した構成に基づき、本発明の画像データ圧縮伸長処理装置による画像データ外挿処理の全体の流れを具体例を挙げて詳しく示す。説明の便宜上、ロウアドレス信号111のN番目をロウアドレス信号111[N]と記述し、またカラムアドレス信号121のN番目をカラムアドレス信号121[N]と記述する。また、それぞれ”1”でアクティブ、”0”でノンアクティブを表わすものとする。
【0040】
(ステップ1)
マクロブロックカウンタ11が、処理対象のマクロブロック番号を検知し、マクロブロック判断部12は、探索領域が画像領域からはみ出る周辺エッジマクロブロックであるか、探索領域すべてが画像領域内にある内側のマクロブロックであるかを判断する。図5において、ハッチングをかけた境界にあるマクロブロック番号であれば、周辺エッジマクロブロックと判断する。
【0041】
なお、内側のマクロブロックであれば入力画像データとフレームメモリ2内にある前画像データとの相関をとって動きベクトルを算出する。ここでは、マクロブロック番号“1”の周辺エッジマクロブロックとする。周辺エッジマクロブロックの外挿パターンは図7に示す8パターンあるが、以下、外挿パターンは外挿パターン1の場合を例として説明する。他の外挿パターンのマクロブロックに対する処理動作は外挿パターン1の場合の処理動作から容易に理解できるので省略する。
【0042】
(ステップ2)
マクロブロック番号が”1”の時、制御装置が制御レジスタに外挿パターン信号102の値を設定し、外挿パターン信号102の値は”1”となる。
【0043】
マクロブロック番号1のマクロブロックデータをフレームメモリ2からデータバス130を経由して予測メモリセル100の中心部(図8の”706”と”1411”を対角とする矩形)の該当位置に転送する。
【0044】
転送される画素データは図8に示すように706番地から書き込まれて行く。ここで、マクロブロックデータの予測メモリセル100への書き込みは、予測メモリセル100の対応する位置のみならず、以下に示すように外挿する位置のメモリに対してもデータを書き込んでいく。まず、図10に示すフレームメモリ2中の1番目の画素データを予測メモリセル100に転送する場合、ロウデコーダ110は図14に示すテーブルにしたがって、アドレスデータ101=”706”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、ロウアドレス信号111[N]=”1”(N=1,2,…,16)、ロウアドレス信号111[N]=”0”(N=17,18,…,46)を出力する。同様に、カラムデコーダ120は、図15に示すテーブルにしたがって、アドレスデータ101=”706”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、カラムアドレス信号121[N]=”1”(N=1,2,…,16)、カラムアドレス信号121[N]=”0”(N=17,18,…,46)を出力する。上記により、図11aにハッチングで示す領域にマクロブロックの1番目の画素データと同じ画素データが書き込まれる(ステップ2b)。
【0045】
次のデータの転送先のアドレスは、図10に示すように707番地である。図10に示すフレームメモリ2中の2番目の画素データを予測メモリセル100に転送する場合、ロウデコーダ110は、図14に示すテーブルにしたがって、アドレスデータ101=”707”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、ロウアドレス信号111[N]=”1”(N=1,2,…,16)、ロウアドレス信号111[N]=”0”(N=17,18,…,46)を出力する。同様に、カラムデコーダ120は図15に示すテーブルに従って、アドレスデータ101=”707”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、カラムアドレス信号121[17]=”1”、カラムアドレス信号121[N]=”0”(N=1,2,…,46;N≠17)を出力する。上記により、図11bにハッチングで示す領域に、マクロブロックの2番目の画素データと同じ画素データが書き込まれる(ステップ2c)。
【0046】
図10に示すフレームメモリ2中の3番目〜15番目の画素データを、予測メモリセル100に転送する場合、ステップ2cと同様の処理をする。その結果、それぞれカラム方向で上方にマクロブロック境界のデータと同じデータが書き込まれる(ステップ2d)。なお、図10に示すフレームメモリ2中の16番目の画素データを予測メモリセル100に転送する場合、マクロブロックの境界の角のデータであるが、ステップ2bの動作ではなく、ステップ2cの処理と同様の処理となる。これはフレームメモリ2中に16番目の画素データより右側の位置のデータが画像データとして存在するので、このカラムより右側に外挿する必要が無いためである(ステップ2e)。
【0047】
次に、17番目のデータの転送先のアドレスは、図8に示すように752番地である。図10に示すフレームメモリ2中の17番目の画素データを、予測メモリセル100に転送する場合、ロウデコーダ110は、図14に示すテーブルにしたがって、アドレスデータ101=”752”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、ロウアドレス信号111[17]=”1”、ロウアドレス信号111[N]=”0”(N=1,2,…,46;N≠17)を出力する。同様に、カラムデコーダ120は、図15に示すテーブルにしたがって、アドレスデータ101=”752”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、カラムアドレス信号121[N]=”1”(N=1,2,…,16)、カラムアドレス信号121[N]=”0”(N=17,18,…,46)を出力する。上記により、図11cにハッチングで示す領域に、マクロブロックの17番目の画素データと同じ画素データが書き込まれる(ステップ2f)。
【0048】
18番目のデータの転送先のアドレスは、図8に示すように753番地であり、マクロブロックの境界のデータではないものである。図10に示すフレームメモリ2中の18番目の画素データを予測メモリセル100に転送する場合、ロウデコーダ110は、図14に示すテーブルにしたがって、アドレスデータ101=”753”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、ロウアドレス信号111[18]=”1”、ロウアドレス信号111[N]=”0”(N=1,2,…,46;N≠18)を出力する。同様に、カラムデコーダ120は、図15に示すテーブルにしたがって、アドレスデータ101=”753”、外挿パターン信号102=”1”、リード信号103=”0”、ライト信号104=”1”である場合において、カラムアドレス信号121[17]=”1”、カラムアドレス信号121[N]=”0”(N=1,2,…,46;N≠17)を出力する。上記により、図11dにハッチングで示す領域のみに画素データが書き込まれる(ステップ2g)。
【0049】
以上示したように、第1のマクロブロックの境界にあるデータの転送、予測メモリ100への書き込みを上記ステップ2c〜ステップ2fのいずれかを繰り返して行い、マクロブロックの境界ではないデータの転送、予測メモリ100への書き込みを上記ステップ2gを繰り返して行うことにより、256回の転送が終了した時には、図12にハッチングで示す領域にデータが書き込まれている。
【0050】
(ステップ3)
マクロブロック番号1の周辺のマクロブロックのうち、フレームメモリ2内に画像データが存在するものはその画素データ(図13aでハッチングで示したブロック)をフレームメモリ2からデータバス130を経由して、予測メモリセル100の該当するアドレスのセルに転送する。
【0051】
(ステップ4)
ステップ3において転送された図13aでハッチングで示したそれぞれの画素データのうち、境界にあるデータを基にステップ2dまたはステップ2fを繰り返すことにより、図13bに示すハッチングの領域にもデータを外挿して書き込む。
【0052】
以上、ステップ2からステップ4の処理により、予測メモリ100のアドレス全てにデータが書き込むことができる。以上で、予測メモリ100上にマクロブロック番号1に対応する探索領域を全てカバーするデータが揃った。
【0053】
(ステップ5)
予測メモリ100中のブロック番号5のマクロブロックの枠を上下左右に移動させてその移動後の画像データと入力画像データとで相関をとる。相関が最も大きくなる時のデータの移動量が非制限動ベクトルとなる。
【0054】
以上により、本発明の画像データ圧縮伸長処理装置を用いて非制限動ベクトルを求める事ができる。予測メモリの画像データ形成にあたり、外挿手段で利用される画像データが転送された場合に、転送手段が予測メモリの対応するアドレスに書き込むとともに画像データ外挿手段が外挿パターン信号をもとに画像データの外挿を行う。つまり画像データ外挿手段による外挿領域へのデータ書き込みに際して、外挿領域と同じロウアドレスを持つ第1のマクロブロックデータがあれば、外挿領域のカラムアドレスと最も近いカラムアドレスを持つ第1のマクロブロックの境界の画像データを書き込み、同じカラムアドレスを持つ第1のマクロブロックデータがあれば、外挿領域のロウアドレスと最も近いロウアドレスを持つ第1のマクロブロックの境界の画像データを書き込み、同じロウアドレス、カラムアドレスを持つ第1のマクロブロックデータがなければ、外挿領域のカラムアドレス、ロウアドレスと最も近いカラムアドレス、ロウアドレスを持つ第1のマクロブロックの隅の画像データを書き込むことになる。
【0055】
上記処理はマクロブロック番号1、外挿パターン1に対応するものであるが、他の周辺エッジマクロブロック、外挿パターンに対する処理は、上記説明と同様であり、図14、図15のテーブルに示したロウデコーダ、カラムデコーダのロウアドレス、カラムアドレス指定に従い、画像データ外挿を実行する。
【0056】
なお、上記実施形態の説明では、N=16,M=15としたが、N,Mが他のデータ構成数値でも本発明を利用することができることは言うまでもない。
【0057】
【発明の効果】
本発明にかかる画像データ圧縮伸長処理装置によれば、H.263等の画像圧縮伸長処理において、非制限動ベクトルを求めるための予測メモリへの探索領域をカバーする画像データ外挿処理が、単なる画像データ転送と複数アドレスへの書き込みの繰り返しで実行することができ、高速かつ簡便に予測メモリへの画像データの形成、非制限動ベクトルの検出ができる。従来方法で必要とされた複数の判断および分岐処理(例えば3〜10ステップ)の繰り返し処理を不要とすることができるので従来方法に比べ処理時間を短縮することができる。
【0058】
また、削減した処理時間を、リアルタイム処理などの場合に他の画像処理に充てることにより表示動画像の高画質化を図ることも可能となる。
用意する予測メモリは、動きベクトル探索領域の容量のみでよく、メモリ消費量を抑制することができる。
【図面の簡単な説明】
【図1】本発明の画像データ圧縮伸長処理装置の概略構成を示す図
【図2】図1の制御部の概略構成を示す図
【図3】図1の予測メモリの概略構成を示す図
【図4】ソフトウェア処理によるフレームデータ外側のデータを求める手順を示すフローチャート
【図5】マクロブロック番号の振り方およびマクロブロック内の画素データの関係を示す図
【図6】マクロブロックおよびその探索領域を示す図
【図7】外挿パターンと探索領域における外挿範囲の関係を示す図
【図8】予測メモリセル100内のアドレスの振り方を示す図
【図9】予測メモリセル100における外挿による複数アドレスへの書き込みを説明する図
【図10】フレームメモリ2におけるマクロブロックの画素データのアドレス番号を示す図
【図11】マクロブロックの画素データ1、2、17、18に対する予測メモリセル100上での外挿範囲または書き込み範囲を示す図
【図12】マクロブロック番号1の画像データ転送・外挿により書き込まれるデータ領域を示す図
【図13】マクロブロック番号1以外でフレームメモリ2から転送されるデータにより書き込み・外挿が行なわれる領域を示す図
【図14】ロウデコーダのテーブル
【図15】カラムデコーダのテーブル
【図16】入力画像データと前画像データの差分のとり方を示す図
【図17】マクロブロックの探索領域を示す図
【図18】フレーム領域外のデータ推定を説明する図
【符号の説明】
1 制御部
2 フレームメモリ
3 予測メモリ
4 動きベクトル検出部
11 マクロブロックカウンタ
12 マクロブロック判断部
13 プログラムメモリ
13a 予測メモリ非使用プログラム
13b 予測メモリ使用プログラム
14 命令デコーダ
100 予測メモリセル
101,105 アドレスデータ
102 外挿パターン信号
103,106 リード信号
104 ライト信号
107 プログラム切替信号
110 ロウデコーダ
111 ロウアドレス信号
120 カラムデコーダ
121 カラムアドレス信号
130 データバス
200 マクロブロック
210 探索領域
Claims (8)
- フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段と、
読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にあるかフレーム画像領域外に及んでいるかを判断するマクロブロック判断部を備え、
前記動きベクトル検出手段は、読み込まれたマクロブロックの動きベクトル探索領域がすべてフレーム画像領域内にある場合は前記フレームメモリの画像データを用いて前記動きベクトルを検出し、動きベクトル探索領域がフレーム画像領域外に及んでいる場合であれば前記予測メモリの画像データを用いて前記動きベクトルを検出することを特徴とする画像データ圧縮伸長処理装置。 - 前記マクロブロック判断部は、読み込まれたマクロブロックがフレーム画像の周辺エッジに位置するマクロブロックであれば、その動きベクトル探索領域がフレーム画像領域外に及んでいると判断し、フレーム画像の周辺エッジではない内側に位置するマクロブロックであれば、動きベクトル探索領域がすべてフレーム画像領域内にあると判断する請求項1に記載の画像データ圧縮伸長処理装置。
- フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
前記画像データ外挿手段が、前記外挿領域に対して、同じロウアドレスを持つ前記マクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記マクロブロックの境界の画像データを書き込む第1の外挿手段と、同じカラムアドレスを持つ前記マクロブロックデータがあれば、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記マクロブロックの境界の画像データを書き込む第2の外挿手段と、同じロウアドレス、カラムアドレスを持つ前記マクロブロックデータがなければ、前記予測メモリにマッピングしたときに前記外挿領域にもっとも近い位置にある前記マクロブロックの隅の境界の画像データを書き込む第3の外挿手段を備えたことを特徴とする画像データ圧縮伸長処理装置。 - フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
周辺エッジに位置するマクロブロックに対して、周辺エッジのいずれの位置にあるかを示す外挿パターン信号を発生し、前記画像データ外挿手段は、前記外挿パターン信号に基づいて所定の外挿を実行することを特徴とする画像データ圧縮伸長処理装置。 - 前記画像データ外挿手段は、予測メモリのアクセス番地を示すアドレス信号と前記外挿パターン信号と前記予測メモリへのリード・ライト信号とをデコードして前記予測メモリの対応する1または複数のロウアドレスを指定するロウデコーダと、1または複数のカラムアドレスを指定するカラムデコーダとを備えた請求項4に記載の画像データ圧縮伸長処理装置。
- フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
前記画像データ外挿手段は、前記外挿領域の個々の画像データとして、前記フレーム画像領域及び前記予測メモリの個々のアドレスに基づいて前記フレーム画像領域内の最も近い画像データを外挿することを特徴とする画像データ圧縮伸長処理装置。 - 前記マクロブロックがN×Nのデータからなり、前記探索領域が上下左右Mデータ分である時に、前記予測メモリが(N+2M)×(N+2M)データ分の容量を持つ請求項6に記載の画像データ圧縮伸長処理装置。
- フレームメモリと、
動きベクトル検出の探索領域の画像データを格納する予測メモリと、
動きベクトルの探索領域の一部がフレーム画像領域の外側に及ぶマクロブロックに対して、前記マクロブロックの画像データと前記マクロブロックの探索領域に含まれるマクロブロックの画像データとを前記フレームメモリから前記予測メモリの対応する領域に転送・書き込みする画像データ転送手段と、
前記予測メモリの未書き込みの領域である外挿領域に対して、前記外挿領域との境界にある画像データに基づいて外挿することにより前記予測メモリに探索領域画像データを形成する画像データ外挿手段と、
前記予測メモリの探索領域画像データと入力画像データから非制限動ベクトルを求める動きベクトル検出手段とを備え、
前記画像データ外挿手段は前記マクロブロックが前記フレーム画像領域のいずれの位置にあるかに応じて決定される外挿領域の一部に画像データを外挿することを特徴とする画像データ圧縮伸長処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35301598A JP3569143B2 (ja) | 1997-12-25 | 1998-12-11 | 画像データ圧縮伸長処理装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-358603 | 1997-12-25 | ||
JP35860397 | 1997-12-25 | ||
JP35301598A JP3569143B2 (ja) | 1997-12-25 | 1998-12-11 | 画像データ圧縮伸長処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11243552A JPH11243552A (ja) | 1999-09-07 |
JP3569143B2 true JP3569143B2 (ja) | 2004-09-22 |
Family
ID=26579755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35301598A Expired - Fee Related JP3569143B2 (ja) | 1997-12-25 | 1998-12-11 | 画像データ圧縮伸長処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3569143B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4712643B2 (ja) | 2006-08-17 | 2011-06-29 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置 |
JP4695124B2 (ja) * | 2007-09-13 | 2011-06-08 | 日本電信電話株式会社 | 動画像符号化における動き探索装置 |
JP2010258741A (ja) * | 2009-04-24 | 2010-11-11 | Sony Corp | 画像処理装置および方法、並びにプログラム |
-
1998
- 1998-12-11 JP JP35301598A patent/JP3569143B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11243552A (ja) | 1999-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6339656B1 (en) | Moving picture encoding decoding processing apparatus | |
KR100907843B1 (ko) | 비디오 모션 보상용 캐싱 방법 및 장치 | |
US20090022223A1 (en) | High quality, low memory bandwidth motion estimation processor | |
US20060239349A1 (en) | Image coding unit and image coding method | |
TWI343217B (en) | An image coding apparatus and a method thereof | |
KR20030007087A (ko) | 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법 | |
US7853091B2 (en) | Motion vector operation devices and methods including prediction | |
US20140071146A1 (en) | Methods and systems for multimedia data processing | |
JPH0865685A (ja) | 動きベクトル検出回路 | |
US20100149202A1 (en) | Cache memory device, control method for cache memory device, and image processing apparatus | |
JPWO2013031071A1 (ja) | 動画像復号装置、動画像復号方法、及び集積回路 | |
JP3544524B2 (ja) | 画像処理装置 | |
JP3569143B2 (ja) | 画像データ圧縮伸長処理装置 | |
US8184709B2 (en) | Low-power and high-throughput design of fast motion estimation VLSI architecture for multimedia system-on-chip design | |
JP4597103B2 (ja) | 動きベクトル探索方法及び装置 | |
WO2007028323A1 (en) | Device and method for loading motion compensation data | |
US20210233280A1 (en) | Encoding device control method and device, and storage medium | |
JP4675383B2 (ja) | 画像復号化装置および方法、画像符号化装置 | |
JP2000299864A (ja) | 動画像処理方法 | |
TW201635787A (zh) | 擷取多個視訊頻道以供視訊分析及編碼之技術(二) | |
JP4075238B2 (ja) | 動きベクトル検出方法及び記録媒体 | |
JP5182285B2 (ja) | デコード方法及びデコード装置 | |
US7864858B2 (en) | Techniques for minimizing memory bandwidth used for motion compensation | |
JP2008052522A (ja) | 画像データアクセス装置及び画像データアクセス方法 | |
JP4419608B2 (ja) | 動画像符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040617 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |