(57)【要約】【課題】  階層サーチによる動きベクトル検索では、等倍画像と縮小画像を外部メモリに格納するため、外部メモリ容量やメモリバンド幅を無駄に消費するという課題がある。【解決手段】  等倍画像を外部メモリへ格納する際に、メモリバスの幅よりも広い範囲でデータの入れ替えを行い、これを読み出す際にデータの入れ替えの有無を変更することで外部メモリに格納された等倍画像のデータから等倍画像と縮小画像の二種類のデータを読み出すことが可能となる。【選択図】  図１
2007116293.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータと第２のデータとを記憶する記憶部と、
前記記憶部から、前記第１及び前記第２のデータの読み出しを行う記憶制御部と、
前記記憶部と前記記憶制御部とを接続し、前記第１のデータ、前記第２のデータ毎に受け渡しを行う転送部とを有し、
前記記憶制御部は、前記第１のデータの所定の一部と前記第２のデータの所定の一部とを入れ替えることを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
前記記憶制御部は、前記第１及び第２のデータを前記記憶部に記憶する場合に、前記入れ替えを行うことを特徴とする情報処理装置。
【請求項３】
請求項１又は２記載の情報処理装置であって、
前記記憶制御部は、前記記憶部から前記第１及び第２のデータの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置であって、
前記記憶制御部は、少なくともレジスタを有し、
前記レジスタは、前記記憶部から前記第１及び第２のデータの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。
【請求項５】
複数の画素を有する第１の画素データと複数の画素を有する第２の画素データとを記憶する記憶部と、
前記記憶部から前記第１及び第２の画素データの読み出しを行う記憶制御部と、
前記記憶部と前記記憶制御部とを接続し、前記第１の画素データ、前記第２の画素データ毎に受け渡しを行う転送部とを有し、
前記記憶制御部は、前記第１の画素データの所定の画素と前記第２の画素データの所定の画素とを入れ替えることを特徴とする情報処理装置。
【請求項６】
請求項５記載の情報処理装置であって、
前記記憶制御部は、前記第１及び第２の画素データを前記記憶部に記憶する場合に、前記入れ替えを行うことを特徴とする情報処理装置。
【請求項７】
請求項５又は６記載の情報処理装置であって、
前記記憶制御部は、前記記憶部から前記第１及び第２の画素データの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。
【請求項８】
請求項５乃至は７記載の情報処理装置であって、
前記記憶制御部は、少なくとも１個の画素毎に前記入れ替えを行うことを特徴とする情報処理装置。
【請求項９】
請求項７記載の情報処理装置であって、
前記記憶制御部は、少なくともレジスタを有し、
前記レジスタは、前記記憶部から前記第１及び第２のデータの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。
【請求項１０】
複数の画素を有する第１の画素データと複数の画素を有する第２の画素データとを、前記第１の画素データ、前記第２の画素データ毎に転送部を通過して、記憶部に記憶させるデータ記憶方法であって、
前記第１の画素データの所定の画素と前記第２の画素データの所定の画素との入れ替え行うステップと、
前記入れ替えを行った前記画素データを、前記転送部を通過して、前記記憶部に転送するステップと、
前記転送した画素データを、前記記憶部に記憶させるステップとを実行することを特徴とするデータ記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理等を実行するＬＳＩとメモリを搭載する情報処理装置に関する。
【背景技術】
【０００２】
近年、普及しつつあるデジタル放送やＤＶＤでは動画像を圧縮して転送または記録する。これは動画像を単純にデジタル化するとデータ量が非常に多くなるためである。圧縮のためのアルゴリズムとしては、ＭＰＥＧ２が一般的である。他にもＨ．２６４などのアルゴリズムがあるが、フレーム内のデータ圧縮とフレーム間のデータ圧縮を併用している点は同じである。
【０００３】
フレーム内のデータ圧縮は、画像が持つ性質を利用して冗長なデータを削減することによりデータ量を減らすものである。一方、フレーム間のデータ圧縮は動画像では近傍のフレームの内容が似通っていることを利用してデータ量を削減するものである。
【０００４】
動きのある映像に対してフレーム間圧縮を行う際には、フレーム内の物体がどの程度動いたかを調べる動き予測処理を行う。動き予測は対象となる画像領域が、参照フレームのどの部分に一番類似しているかを探し出す処理であり、参照フレームの一部と対象となる画像領域の類似性を表す評価値の算出処理を参照フレームの近傍領域に対して順次行い、一番類似している座標を算出するものである。この処理には多くの演算性能が必要とされるため、処理量を削減する方法がいくつか提案されている。
【０００５】
その一つが階層サーチである。これは対象となる画像領域と参照フレームの両方に対して間引きを行い、これらに対して上記検索をして、一番類似しているものを探した後、その近傍に対して間引きを行わない画像領域と参照フレームを用いて再度検索をするものである。
【０００６】
【特許文献１】特開平１０−３２０１７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
階層サーチを行う場合、間引きなしと間引きありという二種類の画像データを外部記憶に保存しておく必要があった。これは、必要とする外部記憶容量の増大につながるためコスト増の要因となる。また画像を外部記憶へ格納する際に、外部記憶とＬＳＩの間のバスが使用されるが、間引きなしと間引きありの二つの画像を記憶する場合は両方の転送でバスのバンド幅を消費してしまい、システム性能が低下するという課題があった。
【課題を解決するための手段】
【０００８】
本発明では、外部メモリアクセス時にそのバス幅よりも広い領域内でデータの位置を入れ替えることにより、外部メモリに格納された間引きなしの画像からバスのバンド幅を浪費することなく間引きありの画像を作成可能としている。
【発明の効果】
【０００９】
本発明により、外部記憶の容量を節約し、間引き画像を外部記憶に書き込む処理のためのバスバンド幅を節約することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明の実施の形態を説明する。
【実施例１】
【００１１】
実施例１を図１を用いて説明する。この図において１は映像の入力処理を行う映像入力回路であり、デジタル化された映像信号２０を取り込み、内部バス８へ送り出す回路である。２と３は動画像のフレーム間の動きを予測して動きベクトルの検索を実行する動き予測回路である。４はフレーム内の圧縮および符号化を行うフレーム内圧縮回路であり、圧縮後のストリームはストリーム出力２１へ出力される。５はＬＳＩ１０内部の各ブロックの動作を制御する制御用ＣＰＵである。６は外部メモリ１１とデータのやり取りを行うメモリ制御回路、７はモニタ用の画像をモニタ出力２２へ出力するための表示制御回路である。映像入力回路１、動き予測回路２，３、フレーム内圧縮回路４、制御用ＣＰＵ５、メモリ制御回路６、表示制御回路７はＬＳＩ１０に搭載されており、内部バス８により互いに接続されている。
【００１２】
１１は外部メモリであり、本実施例ではＤＤＲ−ＳＤＲＡＭを想定しているが、ＤＤＲ−ＳＤＲＡＭに限定されるものではなく、ＳＲＡＭなど他の方式のメモリに対しても適用することが可能であることは言うまでもない。
【００１３】
次に、映像入力回路１の構成について図２を用いて説明する。この図において１０１は映像入力インターフェース回路であり、デジタル化された映像入力の中に含まれる同期情報を用いてフレームを切り出すと共に輝度成分と色差成分に分けてＦＩＦＯ１０２に書き込む。ただし、この処理は必須ではない。例えば、モノクロ画像では色差成分が存在しないため色差成分の分離は不要である。ＦＩＦＯ１０２に書き込まれたデータはバスインターフェース回路により内部バス８、メモリ制御回路６を経由して外部メモリ１１へ格納される。これら一連の処理は制御回路１０３により制御される。
【００１４】
次に、動き予測回路２、３による動き予測について説明する。動き予測は現フレーム中の小領域に一番似ている小領域を参照フレームから探し出す処理である。以下の説明では、この小領域のことをマクロブロックと呼ぶこととする。本実施例では参照フレームは現フレームより時間的に古い昔のフレームであることを想定しているが、一般的な画像圧縮アルゴリズムのように未来のフレームを使用することや、複数のフレームを使用することも可能である。動き予測処理では、現フレーム中の小領域と同じ大きさの領域を参照フレームから切り出し、対応する画素同士の類似性を表す評価値を算出する。評価値算出の方法はいろいろあるが、本実施例では対応する各画素値の差分の絶対値の総和を評価値とする。ただし、本実施例の内容は評価値の算出方式には依存しない。同様の計算を参照フレーム中の選択領域の位置を変えながら繰り返し、評価値が最小となる位置、すなわち最も類似性が高い位置を求める。この評価値が最小になる小領域の参照フレーム中の座標と現フレーム中の対象領域の座標の差分が動きベクトルとなる。
【００１５】
この処理は膨大な演算量を必要とするため、演算量を減らす手法がいくつか試みられている。本実施例はこれらの手法の中の階層サーチと呼ぶ方法を使用することを前提としている。
【００１６】
説明のため、対象とするマクロブロックの大きさが１６×１６画素、参照フレーム中の検索する範囲が５１２×５１２画素である場合を考える。ただし、本実施例はこれらの値に依存するものではない。この場合、一つのマクロブロックは２５６個の画素から構成されるため、一つの評価値を算出するためには２５６回の減算と絶対値計算およびこれらの総和をとるための加算が必要となる。この評価値計算を５１２×５１２の領域に含まれるマクロブロックに対して１画素ずつ座標をずらしながら実施すると、（５１２−１６）×（５１２−１６）＝２４６０１６個の評価値を算出することになる。これら評価値の中で一番小さな値を持つ参照フレーム中のマクロブロックの座標と、対象マクロブロックの座標の差分が動きベクトルとなる。すなわち、減算だけを考えても対象画像の１マクロブロックあたり２５６×２４６０１６回実行する必要がある。
【００１７】
階層サーチは、現フレーム中の対象マクロブロックおよび参照フレームを間引いたデータを用いて大雑把な動きベクトルを算出した後、その近傍の領域に対し間引きをしないデータを用いて画素単位の動きベクトルを算出することで演算量を削減する手法である。最初に行う大雑把な動きベクトル算出を粗検索、その後に行う画素単位の動きベクトル算出を密検索という。密検索は一画素以下の解像度レベルに対して行う場合もあるが、本実施例はこのようなケースにも適用することが可能である。
【００１８】
本実施例では、間引きの単位を１画素単位としている。この場合、間引き後のマクロブロックの大きさは４×４画素となり、１つの評価値を算出するのに必要な演算は１６回の減算と絶対値計算およびこれらの総和をとるための加算となる。また間引き後は参照フレーム中の評価値を算出する領域の大きさも２５６×２５６となり、算出する評価値の個数は（２５６−４）×（２５６−４）＝６３５０４となる。先程と同様に減算について考えると、１６×６３５０４回となり、大幅に演算量を削減できていることがわかる。絶対値演算等、他の演算の演算量も削減できる。
【００１９】
この階層サーチを実現するのが動き予測回路２、３である。動き予測回路２で粗検索を、動き予測回路３で密検索を実行する。それぞれの内部構造を図３、４を用いて説明する。
【００２０】
図３は粗検索を実行する動き予測回路２の内部構造を示したものである。現フレーム格納用メモリ２０１は動き予測の実行対象であるマクロブロックを格納するためのメモリである。参照フレーム格納用メモリ２０２は参照フレームの一部または全体を格納するメモリである。２０３は画素値の差分の絶対値の総和を計算する差分絶対値和算出回路、２０４はバス８との通信を行うバスインターフェース回路、２０５は動き予測回路２を制御する制御回路である。制御回路２０５はバスインターフェース２０４を制御して、外部メモリ１１から現フレームおよび参照フレームのデータを読み出し、それぞれ現フレーム格納用メモリ２０１と参照フレーム格納用メモリ２０２に格納する。この時に読み込まれるのは縦横共に１画素おきに間引きを行われたデータである。メモリ２０１、２０２から読み出された画素値は差分絶対値和算出回路２０３へ送られ、評価値である差分絶対値和を算出する。算出された評価値は制御回路２０５へ送られる。制御回路２０５は送られてきた評価値をこれまでに送られてきた評価値の最小値と比較し、小さければ評価値の最小値を更新すると共に、使用した参照フレームの座標と現フレームの座標の差分を動きベクトルの値として保存する。参照フレーム中の検索範囲の検索が全て完了した段階では、制御回路２０５内部に処理対象となっていたマクロブロックの動きベクトルの値が格納されていることになる。この値は動き情報９１として動き予測回路３へ送られる。
【００２１】
図４は密検索を実行する動き予測回路３の内部構造を示したものである。現フレーム格納用メモリ３０１は動き予測の実行対象であるマクロブロックを格納するためのメモリである。参照フレーム格納用メモリ３０２は参照フレームの一部または全体を格納するメモリである。３０３は画素値の差分の絶対値の総和を計算する差分絶対値和算出回路、３０４はバス８との通信を行うバスインターフェース回路、３０５は動き予測回路３を制御する制御回路である。３０６は差分絶対値和算出の中間結果である差分値を保存するメモリである。
【００２２】
制御回路３０５はバスインターフェース３０４を制御して、外部メモリ１１から現フレームおよび参照フレームのデータを読み出し、それぞれ現フレーム格納用メモリ３０１と参照フレーム格納用メモリ３０２に格納する。この時には、間引きをしない状態のデータが読み込まれる。
【００２３】
メモリ３０１、３０２から読み出された画素値は差分絶対値和算出回路３０３へ送られ、評価値である差分絶対値和を算出する。算出した評価値は制御回路３０５へ送られる。制御回路３０５は送られてきた評価値をこれまでに送られてきた評価値の最小値と比較し、より小さければ評価値の最小値を更新すると共に、使用した参照フレームの座標と現フレームの座標の差分を動きベクトルの値として保存する。この時に差分絶対値和算出回路３０３の中間結果である現フレームの対象マクロブロックと参照フレーム中の演算に使用したマクロブロックの画素ごとの差分が差分データ格納メモリ３０６に格納される。参照フレーム中の検索範囲の検索が全て完了した段階では、制御回路３０５内部に処理対象となっていたマクロブロックの動きベクトルの値が、差分データ格納メモリ３０６に差分データが格納されていることになる。動きベクトルの値は動き情報９２として、差分データは差分データ９３としてフレーム内圧縮回路４へ送られる。ただし、シーンチェンジなど動き予測を行っても圧縮率の向上が期待できない場合や圧縮後のストリームに時々挿入するフレーム内符号化フレームでは、参照フレーム用メモリ３０１に格納されている値がそのまま差分データ格納メモリ３０６へ転送され、差分データ９３として出力される。
【００２４】
図５はフレーム内圧縮回路４の構造を示した図である。この構成は一例であり、本実施例の内容はこの構成に限定されるものではない。この図において４０１はＤＣＴ演算を行うＤＣＴ演算器、４０２は量子化を行う量子化器、４０３は逆量子化を行う逆量子器、４０５は逆ＤＣＴ演算を行う逆ＤＣＴ演算器、４０６は可変長符号化を行う可変長符号化器である。これらのユニットは制御回路４０７によって制御される。可変長符号化器４０６の結果は圧縮後のストリームとしてストリーム出力２１へ送出される。逆ＤＣＴ演算器４０５の出力はローカルデコード結果としてバスインターフェース４０８によって、内部バス８、メモリ制御回路６を経由して外部メモリ１１へ書き込まれる。ここで書き込まれたローカルデコード結果は、動き予測処理の参照フレームとして使用される。
【００２５】
図６は外部メモリ制御回路６の内部構造を示した図である。この図において６０８は内部バス８と通信を行うバスインターフェース、６０９は外部メモリ１１へのアクセスを行う外部メモリインターフェースである。６０１は内部バス８から送られてきたアドレスを一時的に保存するアドレスバッファ、６０２はアドレスのビット位置を入れ替えるアドレスマッピング回路であり、アドレスのビット位置を入れ替えることによりアクセスアドレスの局所性を改善し、ＤＲＡＭのＲＯＷキャッシュのヒット率を向上させる回路である。アドレスの入れ替え方法は制御回路６０７により指定され、ビット位置を全く入れ替えないことも可能である。６０３は外部メモリから読み出したデータを一時的に保存するリードデータバッファ、６０４は外部メモリから読み出したデータのデータ位置を入れ替えるリードデータマッピング回路、６０５は外部メモリへ書き込むデータを一時的に保存するライトデータバッファ、６０６は外部メモリへ書き込むデータのデータ位置を入れ替えるライトデータマッピング回路である。これらは制御回路６０７が生成する制御信号によって制御される。また、各バッファとマッピング回路の順番はこの構成に限定されるものではなく、入れ替えることも可能である。
【００２６】
図７は表示制御回路７の内部構造を示した図である。この図において７０１は制御回路、７０２は画像データを表示に適した形式に変換してモニタ出力２２へ送り出す映像出力インターフェース、７０３は表示データを一旦蓄積するＦＩＦＯ、７０４は内部バス８とのインターフェース回路である。
【００２７】
次に、階層サーチの実現方法について説明する。動きベクトル検索の対象となる参照画像はフレーム内圧縮回路４によって生成され、内部バス８、メモリ制御回路６を経由して、外部メモリ１１へ書き込まれる。この際に、メモリ制御回路６の内部にあるライトデータマッピング回路６０６によってデータの入れ替えを行う。これを図１１、１２、１３を用いて説明する。本実施例では、内部バス、外部メモリバスのデータ幅は全て６４ビットである場合を想定している。ただし、本実施例はこのビット幅に限定されるものではない。ライトデータバッファ６０５から読み出された６４ビットのデータは図１２に示される２つのパターンの内の一つを用いてフリップフロップ６１ａ〜ｐの一部に書き込まれる。各フリップフロップは８ビットの幅を持ち、フリップフロップ６１ａ〜ｐは全体として１２８ビット幅となる。パターンＷ１では、ライトデータバッファ６０５から読み出された６４ビットのうち上位８ビットがフリップフロップ６１ａに、次の８ビットが６１ｂにという具合に図１１に従って書き込まれる。パターンＷ２では、ライトデータバッファ６０５から読み出された６４ビットのうち上位８ビットがフリップフロップ６１ｉに、次の８ビットが６１ｊにという具合に書き込まれる。書き込みパターンの制御は制御回路６０７によって生成されるフリップフロップ６１ａ〜ｐへの書き込み信号やセレクタ６６の切り替え信号によって制御される。
【００２８】
本実施例は参照フレームのデータはプレーン形式であり、各成分に対応した各プレーンでは１画素あたりのデータ量が８ビットである場合を想定する。すなわち画像の左端の領域をアクセスする場合、左から０番目の画素がライトデータバッファ６０５からの読み出しデータのビット［６３：５６］に現れ、１番目の画素が［５５：４８］に現れるといった具合になる。水平方向に連続した１６画素のデータに対し、パターンＷ１、Ｗ２を順次適用すると、水平１６画素分のデータがフリップフロップ６１ａ〜ｐに画像の左から順番に書き込まれることになる。これを図１３のパターンＲ１、Ｒ２を順次適用して読み出すと、水平１６画素のうち、左側の８画素が最初に読み出され、次に右側の８画素が読み出されることになる。一方パターンＲ３、Ｒ４を順次適用して読み出すと、水平１６画素のうち、偶数番目（０、２、４・・・）に位置する８画素が最初に読み出され、次に奇数番目（１、３、５、・・・）に位置する８画素が読み出されることになる。
【００２９】
すなわち、フリップフロップ６１ａ〜ｐへ書き込む際にはパターンＷ１、Ｗ２を交互に使用し、フリップフロップ６１ａ〜ｐから読み出す際にはパターンＲ１、Ｒ２を交互に使用することで、内部バス８から送られてきた画像データをそのまま外部メモリ１１へ送り出すことができる。これを非データマッピング書き込みと呼ぶこととする。また、フリップフロップ６１ａ〜ｐへ書き込む際にはパターンＷ１、Ｗ２を交互に使用し、フリップフロップ６１ａ〜ｐから読み出す際にはパターンＲ３、Ｒ４を交互に使用することで、内部バス８から送られてきた画像データを偶数番目の画素と奇数番目の画素データ群に分けて交互に外部メモリ１１へ書き込むことが可能となる。これをデータマッピング書き込みと呼ぶこととする。本実施例では、参照フレームを外部メモリ１１へ書き込む際には後者のデータマッピング書き込みを使用することとする。この結果、外部メモリのアドレスが１６で割り切れるアドレスには偶数番目の画素が、１６で割り切れず８で割り切れるアドレスには奇数番目の画素が格納されることになる。また、制御ＣＰＵ５等からのデータ書き込みでは非データマッピング書き込みを使用する。これらの書き込みモードの切り替えは、バス上のコマンド指定または転送元のブロックＩＤ等を参照することで実現することが可能である。これらのモード情報は、制御回路６０７内部のレジスタへ一時的に保存され、この値に基づいてモードが選択される。
【００３０】
次に外部メモリに格納された画像データを読み出す場合の処理を図８、９、１０を用いて説明する。図８はリードデータマッピング回路６０４の構成を示した図である。フリップフロップ６０ａ〜ｐはそれぞれ８ビット幅であり、全体として１２８ビットのデータを保持する。外部メモリから読み出された６４ビットのデータはマッピング回路６３により図９に示すようにフリップフロップ６０ａ〜ｐへ送り込まれ、書き込み信号生成回路６５によって生成された各フリップフロップへの書き込み信号により、図９に基づき該当するフリップフロップへ書き込まれる。セレクタ６４はフリップフロップ６０ａ〜ｐの出力から６４ビットのデータを選択する回路であり、図１０に示す２つのパターンにより出力が決定される。セレクタ６４の出力は、リードデータバッファ６０３へ送られる。
【００３１】
フリップフロップ６０ａ〜ｐへの書き込み時にはパターンＷ１とパターンＷ２を交互に使用し、読み出し時にはパターンＲ１とＲ２を交互に使用することで外部メモリ１１から読み出したデータをそのままリードデータバッファ６０３へ送ることが可能である。これを非データマッピング読み出しと呼ぶこととする。この際に、マッピング書き込みで外部メモリ１１へ書き込まれた画像データ領域に対して、非マッピング読み出しを適用すると共に読み出しアドレスを１６バイトおきに８バイトずつ増やしていくことで、偶数画素だけ、または奇数画素だけを読み出すことが可能である。例えば、０〜７番地、１６〜２３番地、３２〜３９番地といった具合に読んでいくことで偶数画素だけを読み出すことができる。逆に８〜１５番地、２４〜３１番地、４０〜４７番地といった具合に読んでいくことで奇数画素だけを読み出すことも可能である。これらのケースでは使用しない画素を外部メモリ１１から読み出さないことで、外部メモリ１１とＬＳＩ１０の間のデータ転送バンド幅を節約することが可能となる。
【００３２】
また、フリップフロップ６０ａ〜ｐへの書き込み時にはパターンＷ３とパターンＷ４を交互に使用し、読み出し時にはパターンＲ１とＲ２を交互に使用することでライトデータマッピング回路６０６によって、偶数画素と奇数画素に分けて書き込まれたデータをもとの画像データに復元することが可能である。これをデータマッピング読み出しと呼ぶこととする。これら２つの読み出しモードは、外部メモリ１１に対して読み出し要求を発行したブロックがバスコマンド等で指定し、制御回路６０７内部のレジスタへ一時的に保持され、この値に基づいてモードが選択される。本実施例では、動き予測回路２からの画像データに対する読み出し要求には非マッピング読み出しを使用し、動き予測回路３からの画像データに対する読み出し要求にはマッピング読み出しを使用する。
【００３３】
本実施例では階層サーチを行う際に、動き予測回路２による粗検索実行時には縦横共に１／２に間引いた画像を使用する。これはマッピング書き込みによって外部メモリ１１に書き込まれた参照フレームを非マッピング読み出しによって、偶数画素または奇数画素のみ読み出すことで実現できる。この場合、縦方向も１画素おきに読み出すことにより、外部メモリ１１とＬＳＩ１０の間のデータ転送量は、そのまま読み出す場合の１／４に削減することが可能である。この粗検索により一番評価値が低い個所を求め、その周辺を動き予測回路３で密検索する。密検索では、読み込み範囲は粗検索よりも狭いが、間引かない画像を読み出す必要がある。外部メモリ１１にはすでにマッピング書き込みによりデータが格納されているため、この領域に対してマッピング読み出しを行うことで、間引かない画像を取り出すことが可能となる。この画像を用いて密検索を実行する。
【００３４】
また、表示制御回路７によるモニタ出力を行う場合にも間引かない画像が必要とされるため、この場合も密検索と同様にマッピング読み出しによりフレームバッファ領域を読み出す。
【実施例２】
【００３５】
実施例１は、１画素おきの画像を用いる粗検索と間引きをしない画像を用いる密検索の二階層サーチであったが、本実施例は三階層以上のサーチに適用した場合の実施例である。これを図１４〜２１を用いて説明する。図１４は本実施例のシステム構成図である。実施例１とちがい異なり動き予測を超粗検索、粗検索、密検索の３段階に分けている。超粗検索は３画素おき（４画素ごとに１画素使用）、粗検索は１画素おき（２画素ごとに２画素使用）、密検索は全画素を使用した検索としている。それぞれ動き予測回路３２、３３、３４で実行する。動き予測回路の中身は実施例１と略同じである為、説明を省略する。映像入力回路１１、フレーム内圧縮回路３５、制御ＣＰＵ３６、表示制御回路３８は実施例と同一のものを使用している。メモリ制御回路３７は三階層サーチに対応するために実施例１と異なる構成となっている。図１５にその内部構成を示す。メモリ制御回路３７で実施例１と大きく異なるのはリードデータマッピング回路３６０４、ライトデータマッピング回路３６０６、制御回路３６０７である。これらについてその構造を説明する。ただし、制御回路３６０７についてはこれらの回路が必要とする信号をステートマシン等で生成する回路であり、実現方法は本発明の本質ではないため内部の説明は省略する。
【００３６】
図１９はライトデータマッピング回路３６０６の内部構成を示した図である。内部のフリップフロップ数が実施例１の２倍の２５６個となっている。図２０、図２１はこのフリップフロップに対する書き込みと読み出しパターンを示した図で、実施例１と同じ書式に従っているが、本実施例では書き込み時のパターンが４種類、読み出し時のパターンが８種類に拡張されている。フリップフロップ７１ａ〜Ｐへの書き込み時に図２０のパターンＷ１、Ｗ２、Ｗ３、Ｗ４を順次適用し、フリップフロップ７１ａ〜Ｐからの読み出し時に図２１のパターンＲ１、Ｒ２、Ｒ３、Ｒ４を順次適用することで非マッピング書き込みを実現することが可能である。また、書き込み時にパターンＷ１、Ｗ２、Ｗ３、Ｗ４を順次適用し、読み出し時にパターンＲ５、Ｒ６、Ｒ７、Ｒ８を順次適用することでマッピング書き込みを実現することが可能である。
【００３７】
図１６はリードデータマッピング回路３６０４の内部構成を示した図である。内部のフリップフロップ数がライトデータマッピング回路３６０６と同様に実施例１の２倍の２５６個となっている。図１７、図１８はこのフリップフロップに対する書き込みと読み出しパターンを示した図で、実施例１と同じ書式に従っているが、本実施例では書き込み時のパターンが８種類、読み出し時のパターンが４種類に拡張されている。フリップフロップ７０ａ〜Ｐへの書き込み時に図１７のパターンＷ１、Ｗ２、Ｗ３、Ｗ４を順次適用し、フリップフロップ７０ａ〜Ｐからの読み出し時に図１９のパターンＲ１、Ｒ２、Ｒ３、Ｒ４を順次適用することで非マッピング読み出しを実現することが可能である。また、書き込み時にパターンＷ５、Ｗ６、Ｗ７、Ｗ８を順次適用し、読み出し時にパターンＲ１、Ｒ２、Ｒ３、Ｒ４を順次適用することでマッピング書き込みを実現することが可能である。
【００３８】
さらに、非マッピング読み出し実行時にアドレスを３２ずつ増やしながら８バイトずつ読み出すことで、３画素おき（４画素ごとに１画素使用）の画像を、１６ずつ増やしながら８バイトずつ読み出すことで、１画素おき（２画素ごとに１画素使用）の画像を読み出すことが可能である。同時に縦方向も３画素おきや１画素おきに間引くことで、超粗検索や粗検索を実現することが可能となる。
【産業上の利用可能性】
【００３９】
本発明は、ＬＳＩ及びＬＳＩを搭載したシステムに使用される。
【図面の簡単な説明】
【００４０】
【図１】実施例１におけるシステム構成。
【図２】実施例１における映像入力回路の構成。
【図３】実施例１における動き予測回路（粗検索）の構成。
【図４】実施例１における動き予測回路（密検索）の構成。
【図５】実施例１におけるフレーム内圧縮回路の構成。
【図６】実施例１における外部メモリ制御回路の構成。
【図７】実施例１における表示制御回路の構成。
【図８】実施例１におけるリードデータマッピング回路の構成。
【図９】実施例１におけるリードデータマッピング回路のＦＦへの書き込みパターン。
【図１０】実施例１におけるリードデータマッピング回路のＦＦからの読み出しパターン。
【図１１】実施例１におけるライトデータマッピング回路の構成。
【図１２】実施例１におけるライトデータマッピング回路のＦＦへの書き込みパターン。
【図１３】実施例１におけるライトデータマッピング回路のＦＦからの読み出しパターン。
【図１４】実施例２におけるシステム構成。
【図１５】実施例２における外部メモリ制御回路の構成。
【図１６】実施例２におけるリードデータマッピング回路の構成。
【図１７】実施例２におけるリードデータマッピング回路のＦＦへの書き込みパターン。
【図１８】実施例２におけるリードデータマッピング回路のＦＦからの読み出しパターン。
【図１９】実施例２におけるライトデータマッピング回路の構成。
【図２０】実施例２におけるライトデータマッピング回路のＦＦへの書き込みパターン。
【図２１】実施例２におけるライトデータマッピング回路のＦＦからの読み出しパターン。
【符号の説明】
【００４１】
１：映像入力回路、２：動き予測回路（粗検索）、３：動き予測回路（密検索）、４：フレーム内圧縮回路、５：制御用ＣＰＵ、６：メモリ制御回路、７：表示制御回路、８：内部バス、１０：ＬＳＩ、１１：外部メモリ、２０：映像入力、２１：ストリーム出力、２２：モニタ出力、３1：映像入力回路、３２：動き予測回路（超粗検索）、３３：動き予測回路（粗検索）、３４：動き予測回路（密検索）、３５：フレーム内圧縮回路、３６：制御用ＣＰＵ、３７：メモリ制御回路、３８表示制御回路、３９：内部バス、４０：映像入力、４１：ストリーム出力、４２：モニタ出力、５０：ＬＳＩ、５１：外部メモリ、６０ａ〜ｐ、６１ａ〜ｐ：フリップフロップ、６３：マッピング回路、６４：セレクタ、６５：ライトイネーブル生成回路、６６：マッピング回路、７０ａ〜ｐ、７０Ａ〜Ｐ、７１ａ〜ｐ、７１Ａ〜Ｐ：フリップフロップ、７３：マッピング回路、７４：セレクタ、７５：ライトイネーブル生成回路、７６：マッピング回路、９１：動き情報、９２：動き情報、９３：差分データ、１０１：映像入力インターフェース、１０２：ＦＩＦＯ、１０３：制御回路、１０４：バスインターフェース回路、２０１：現フレーム格納用メモリ、２０２：参照フレーム格納用メモリ、２０３：差分絶対値和算出回路、２０４：バスインターフェース回路、２０５：制御回路、３０１：現フレーム格納用メモリ、３０２：参照フレーム格納用メモリ、３０３：差分絶対値和算出回路、３０４：バスインターフェース回路、３０５：制御回路、３０６：差分データ格納メモリ、４０１：ＤＣＴ演算器、４０２：量子化器、４０３：逆量子化器、４０５：逆ＤＣＴ演算器、４０６：可変長符号化器、４０７：制御回路、４０８：バスインターフェース回路、６０１：アドレスバッファ、６０２：アドレスマッピング回路、６０３：リードデータバッファ、６０４：リードデータマッピング回路、６０５：ライトデータバッファ、６０６：ライトデータマッピング回路、６０７：制御回路、６０８：バスインターフェース、６０９：外部メモリインターフェース、７０１：制御回路、７０２：映像出力インターフェース、７０３：ＦＩＦＯ、７０４：バスインターフェース回路、３６０１：アドレスバッファ、３６０２：アドレスマッピング回路、３６０３：リードデータバッファ、３６０４：リードデータマッピング回路、３６０５：ライトデータバッファ、３６０６：ライトデータマッピング回路、３６０７：制御回路、３６０８：バスインターフェース、３６０９：外部メモリインターフェース。
【図１】
2007116293.tif 000003
【図２】
2007116293.tif 000004
【図３】
2007116293.tif 000005
【図４】
2007116293.tif 000006
【図５】
2007116293.tif 000007
【図６】
2007116293.tif 000008
【図７】
2007116293.tif 000009
【図８】
2007116293.tif 000010
【図９】
2007116293.tif 000011
【図１０】
2007116293.tif 000012
【図１１】
2007116293.tif 000013
【図１２】
2007116293.tif 000014
【図１３】
2007116293.tif 000015
【図１４】
2007116293.tif 000016
【図１５】
2007116293.tif 000017
【図１６】
2007116293.tif 000018
【図１７】
2007116293.tif 000019
【図１８】
2007116293.tif 000020
【図１９】
2007116293.tif 000021
【図２０】
2007116293.tif 000022
【図２１】
2007116293.tif 000023