JP2007116293A - データ記憶方法及びこの方法を用いた情報処理装置 - Google Patents
データ記憶方法及びこの方法を用いた情報処理装置 Download PDFInfo
- Publication number
- JP2007116293A JP2007116293A JP2005303837A JP2005303837A JP2007116293A JP 2007116293 A JP2007116293 A JP 2007116293A JP 2005303837 A JP2005303837 A JP 2005303837A JP 2005303837 A JP2005303837 A JP 2005303837A JP 2007116293 A JP2007116293 A JP 2007116293A
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- processing apparatus
- information processing
- pixel
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】
階層サーチによる動きベクトル検索では、等倍画像と縮小画像を外部メモリに格納するため、外部メモリ容量やメモリバンド幅を無駄に消費するという課題がある。
【解決手段】
等倍画像を外部メモリへ格納する際に、メモリバスの幅よりも広い範囲でデータの入れ替えを行い、これを読み出す際にデータの入れ替えの有無を変更することで外部メモリに格納された等倍画像のデータから等倍画像と縮小画像の二種類のデータを読み出すことが可能となる。
【選択図】 図1
階層サーチによる動きベクトル検索では、等倍画像と縮小画像を外部メモリに格納するため、外部メモリ容量やメモリバンド幅を無駄に消費するという課題がある。
【解決手段】
等倍画像を外部メモリへ格納する際に、メモリバスの幅よりも広い範囲でデータの入れ替えを行い、これを読み出す際にデータの入れ替えの有無を変更することで外部メモリに格納された等倍画像のデータから等倍画像と縮小画像の二種類のデータを読み出すことが可能となる。
【選択図】 図1
Description
本発明は画像処理等を実行するLSIとメモリを搭載する情報処理装置に関する。
近年、普及しつつあるデジタル放送やDVDでは動画像を圧縮して転送または記録する。これは動画像を単純にデジタル化するとデータ量が非常に多くなるためである。圧縮のためのアルゴリズムとしては、MPEG2が一般的である。他にもH.264などのアルゴリズムがあるが、フレーム内のデータ圧縮とフレーム間のデータ圧縮を併用している点は同じである。
フレーム内のデータ圧縮は、画像が持つ性質を利用して冗長なデータを削減することによりデータ量を減らすものである。一方、フレーム間のデータ圧縮は動画像では近傍のフレームの内容が似通っていることを利用してデータ量を削減するものである。
動きのある映像に対してフレーム間圧縮を行う際には、フレーム内の物体がどの程度動いたかを調べる動き予測処理を行う。動き予測は対象となる画像領域が、参照フレームのどの部分に一番類似しているかを探し出す処理であり、参照フレームの一部と対象となる画像領域の類似性を表す評価値の算出処理を参照フレームの近傍領域に対して順次行い、一番類似している座標を算出するものである。この処理には多くの演算性能が必要とされるため、処理量を削減する方法がいくつか提案されている。
その一つが階層サーチである。これは対象となる画像領域と参照フレームの両方に対して間引きを行い、これらに対して上記検索をして、一番類似しているものを探した後、その近傍に対して間引きを行わない画像領域と参照フレームを用いて再度検索をするものである。
階層サーチを行う場合、間引きなしと間引きありという二種類の画像データを外部記憶に保存しておく必要があった。これは、必要とする外部記憶容量の増大につながるためコスト増の要因となる。また画像を外部記憶へ格納する際に、外部記憶とLSIの間のバスが使用されるが、間引きなしと間引きありの二つの画像を記憶する場合は両方の転送でバスのバンド幅を消費してしまい、システム性能が低下するという課題があった。
本発明では、外部メモリアクセス時にそのバス幅よりも広い領域内でデータの位置を入れ替えることにより、外部メモリに格納された間引きなしの画像からバスのバンド幅を浪費することなく間引きありの画像を作成可能としている。
本発明により、外部記憶の容量を節約し、間引き画像を外部記憶に書き込む処理のためのバスバンド幅を節約することが可能となる。
以下に、本発明の実施の形態を説明する。
実施例1を図1を用いて説明する。この図において1は映像の入力処理を行う映像入力回路であり、デジタル化された映像信号20を取り込み、内部バス8へ送り出す回路である。2と3は動画像のフレーム間の動きを予測して動きベクトルの検索を実行する動き予測回路である。4はフレーム内の圧縮および符号化を行うフレーム内圧縮回路であり、圧縮後のストリームはストリーム出力21へ出力される。5はLSI10内部の各ブロックの動作を制御する制御用CPUである。6は外部メモリ11とデータのやり取りを行うメモリ制御回路、7はモニタ用の画像をモニタ出力22へ出力するための表示制御回路である。映像入力回路1、動き予測回路2,3、フレーム内圧縮回路4、制御用CPU5、メモリ制御回路6、表示制御回路7はLSI10に搭載されており、内部バス8により互いに接続されている。
11は外部メモリであり、本実施例ではDDR−SDRAMを想定しているが、DDR−SDRAMに限定されるものではなく、SRAMなど他の方式のメモリに対しても適用することが可能であることは言うまでもない。
次に、映像入力回路1の構成について図2を用いて説明する。この図において101は映像入力インターフェース回路であり、デジタル化された映像入力の中に含まれる同期情報を用いてフレームを切り出すと共に輝度成分と色差成分に分けてFIFO102に書き込む。ただし、この処理は必須ではない。例えば、モノクロ画像では色差成分が存在しないため色差成分の分離は不要である。FIFO102に書き込まれたデータはバスインターフェース回路により内部バス8、メモリ制御回路6を経由して外部メモリ11へ格納される。これら一連の処理は制御回路103により制御される。
次に、動き予測回路2、3による動き予測について説明する。動き予測は現フレーム中の小領域に一番似ている小領域を参照フレームから探し出す処理である。以下の説明では、この小領域のことをマクロブロックと呼ぶこととする。本実施例では参照フレームは現フレームより時間的に古い昔のフレームであることを想定しているが、一般的な画像圧縮アルゴリズムのように未来のフレームを使用することや、複数のフレームを使用することも可能である。動き予測処理では、現フレーム中の小領域と同じ大きさの領域を参照フレームから切り出し、対応する画素同士の類似性を表す評価値を算出する。評価値算出の方法はいろいろあるが、本実施例では対応する各画素値の差分の絶対値の総和を評価値とする。ただし、本実施例の内容は評価値の算出方式には依存しない。同様の計算を参照フレーム中の選択領域の位置を変えながら繰り返し、評価値が最小となる位置、すなわち最も類似性が高い位置を求める。この評価値が最小になる小領域の参照フレーム中の座標と現フレーム中の対象領域の座標の差分が動きベクトルとなる。
この処理は膨大な演算量を必要とするため、演算量を減らす手法がいくつか試みられている。本実施例はこれらの手法の中の階層サーチと呼ぶ方法を使用することを前提としている。
説明のため、対象とするマクロブロックの大きさが16×16画素、参照フレーム中の検索する範囲が512×512画素である場合を考える。ただし、本実施例はこれらの値に依存するものではない。この場合、一つのマクロブロックは256個の画素から構成されるため、一つの評価値を算出するためには256回の減算と絶対値計算およびこれらの総和をとるための加算が必要となる。この評価値計算を512×512の領域に含まれるマクロブロックに対して1画素ずつ座標をずらしながら実施すると、(512−16)×(512−16)=246016個の評価値を算出することになる。これら評価値の中で一番小さな値を持つ参照フレーム中のマクロブロックの座標と、対象マクロブロックの座標の差分が動きベクトルとなる。すなわち、減算だけを考えても対象画像の1マクロブロックあたり256×246016回実行する必要がある。
階層サーチは、現フレーム中の対象マクロブロックおよび参照フレームを間引いたデータを用いて大雑把な動きベクトルを算出した後、その近傍の領域に対し間引きをしないデータを用いて画素単位の動きベクトルを算出することで演算量を削減する手法である。最初に行う大雑把な動きベクトル算出を粗検索、その後に行う画素単位の動きベクトル算出を密検索という。密検索は一画素以下の解像度レベルに対して行う場合もあるが、本実施例はこのようなケースにも適用することが可能である。
本実施例では、間引きの単位を1画素単位としている。この場合、間引き後のマクロブロックの大きさは4×4画素となり、1つの評価値を算出するのに必要な演算は16回の減算と絶対値計算およびこれらの総和をとるための加算となる。また間引き後は参照フレーム中の評価値を算出する領域の大きさも256×256となり、算出する評価値の個数は(256−4)×(256−4)=63504となる。先程と同様に減算について考えると、16×63504回となり、大幅に演算量を削減できていることがわかる。絶対値演算等、他の演算の演算量も削減できる。
この階層サーチを実現するのが動き予測回路2、3である。動き予測回路2で粗検索を、動き予測回路3で密検索を実行する。それぞれの内部構造を図3、4を用いて説明する。
図3は粗検索を実行する動き予測回路2の内部構造を示したものである。現フレーム格納用メモリ201は動き予測の実行対象であるマクロブロックを格納するためのメモリである。参照フレーム格納用メモリ202は参照フレームの一部または全体を格納するメモリである。203は画素値の差分の絶対値の総和を計算する差分絶対値和算出回路、204はバス8との通信を行うバスインターフェース回路、205は動き予測回路2を制御する制御回路である。制御回路205はバスインターフェース204を制御して、外部メモリ11から現フレームおよび参照フレームのデータを読み出し、それぞれ現フレーム格納用メモリ201と参照フレーム格納用メモリ202に格納する。この時に読み込まれるのは縦横共に1画素おきに間引きを行われたデータである。メモリ201、202から読み出された画素値は差分絶対値和算出回路203へ送られ、評価値である差分絶対値和を算出する。算出された評価値は制御回路205へ送られる。制御回路205は送られてきた評価値をこれまでに送られてきた評価値の最小値と比較し、小さければ評価値の最小値を更新すると共に、使用した参照フレームの座標と現フレームの座標の差分を動きベクトルの値として保存する。参照フレーム中の検索範囲の検索が全て完了した段階では、制御回路205内部に処理対象となっていたマクロブロックの動きベクトルの値が格納されていることになる。この値は動き情報91として動き予測回路3へ送られる。
図4は密検索を実行する動き予測回路3の内部構造を示したものである。現フレーム格納用メモリ301は動き予測の実行対象であるマクロブロックを格納するためのメモリである。参照フレーム格納用メモリ302は参照フレームの一部または全体を格納するメモリである。303は画素値の差分の絶対値の総和を計算する差分絶対値和算出回路、304はバス8との通信を行うバスインターフェース回路、305は動き予測回路3を制御する制御回路である。306は差分絶対値和算出の中間結果である差分値を保存するメモリである。
制御回路305はバスインターフェース304を制御して、外部メモリ11から現フレームおよび参照フレームのデータを読み出し、それぞれ現フレーム格納用メモリ301と参照フレーム格納用メモリ302に格納する。この時には、間引きをしない状態のデータが読み込まれる。
メモリ301、302から読み出された画素値は差分絶対値和算出回路303へ送られ、評価値である差分絶対値和を算出する。算出した評価値は制御回路305へ送られる。制御回路305は送られてきた評価値をこれまでに送られてきた評価値の最小値と比較し、より小さければ評価値の最小値を更新すると共に、使用した参照フレームの座標と現フレームの座標の差分を動きベクトルの値として保存する。この時に差分絶対値和算出回路303の中間結果である現フレームの対象マクロブロックと参照フレーム中の演算に使用したマクロブロックの画素ごとの差分が差分データ格納メモリ306に格納される。参照フレーム中の検索範囲の検索が全て完了した段階では、制御回路305内部に処理対象となっていたマクロブロックの動きベクトルの値が、差分データ格納メモリ306に差分データが格納されていることになる。動きベクトルの値は動き情報92として、差分データは差分データ93としてフレーム内圧縮回路4へ送られる。ただし、シーンチェンジなど動き予測を行っても圧縮率の向上が期待できない場合や圧縮後のストリームに時々挿入するフレーム内符号化フレームでは、参照フレーム用メモリ301に格納されている値がそのまま差分データ格納メモリ306へ転送され、差分データ93として出力される。
図5はフレーム内圧縮回路4の構造を示した図である。この構成は一例であり、本実施例の内容はこの構成に限定されるものではない。この図において401はDCT演算を行うDCT演算器、402は量子化を行う量子化器、403は逆量子化を行う逆量子器、405は逆DCT演算を行う逆DCT演算器、406は可変長符号化を行う可変長符号化器である。これらのユニットは制御回路407によって制御される。可変長符号化器406の結果は圧縮後のストリームとしてストリーム出力21へ送出される。逆DCT演算器405の出力はローカルデコード結果としてバスインターフェース408によって、内部バス8、メモリ制御回路6を経由して外部メモリ11へ書き込まれる。ここで書き込まれたローカルデコード結果は、動き予測処理の参照フレームとして使用される。
図6は外部メモリ制御回路6の内部構造を示した図である。この図において608は内部バス8と通信を行うバスインターフェース、609は外部メモリ11へのアクセスを行う外部メモリインターフェースである。601は内部バス8から送られてきたアドレスを一時的に保存するアドレスバッファ、602はアドレスのビット位置を入れ替えるアドレスマッピング回路であり、アドレスのビット位置を入れ替えることによりアクセスアドレスの局所性を改善し、DRAMのROWキャッシュのヒット率を向上させる回路である。アドレスの入れ替え方法は制御回路607により指定され、ビット位置を全く入れ替えないことも可能である。603は外部メモリから読み出したデータを一時的に保存するリードデータバッファ、604は外部メモリから読み出したデータのデータ位置を入れ替えるリードデータマッピング回路、605は外部メモリへ書き込むデータを一時的に保存するライトデータバッファ、606は外部メモリへ書き込むデータのデータ位置を入れ替えるライトデータマッピング回路である。これらは制御回路607が生成する制御信号によって制御される。また、各バッファとマッピング回路の順番はこの構成に限定されるものではなく、入れ替えることも可能である。
図7は表示制御回路7の内部構造を示した図である。この図において701は制御回路、702は画像データを表示に適した形式に変換してモニタ出力22へ送り出す映像出力インターフェース、703は表示データを一旦蓄積するFIFO、704は内部バス8とのインターフェース回路である。
次に、階層サーチの実現方法について説明する。動きベクトル検索の対象となる参照画像はフレーム内圧縮回路4によって生成され、内部バス8、メモリ制御回路6を経由して、外部メモリ11へ書き込まれる。この際に、メモリ制御回路6の内部にあるライトデータマッピング回路606によってデータの入れ替えを行う。これを図11、12、13を用いて説明する。本実施例では、内部バス、外部メモリバスのデータ幅は全て64ビットである場合を想定している。ただし、本実施例はこのビット幅に限定されるものではない。ライトデータバッファ605から読み出された64ビットのデータは図12に示される2つのパターンの内の一つを用いてフリップフロップ61a〜pの一部に書き込まれる。各フリップフロップは8ビットの幅を持ち、フリップフロップ61a〜pは全体として128ビット幅となる。パターンW1では、ライトデータバッファ605から読み出された64ビットのうち上位8ビットがフリップフロップ61aに、次の8ビットが61bにという具合に図11に従って書き込まれる。パターンW2では、ライトデータバッファ605から読み出された64ビットのうち上位8ビットがフリップフロップ61iに、次の8ビットが61jにという具合に書き込まれる。書き込みパターンの制御は制御回路607によって生成されるフリップフロップ61a〜pへの書き込み信号やセレクタ66の切り替え信号によって制御される。
本実施例は参照フレームのデータはプレーン形式であり、各成分に対応した各プレーンでは1画素あたりのデータ量が8ビットである場合を想定する。すなわち画像の左端の領域をアクセスする場合、左から0番目の画素がライトデータバッファ605からの読み出しデータのビット[63:56]に現れ、1番目の画素が[55:48]に現れるといった具合になる。水平方向に連続した16画素のデータに対し、パターンW1、W2を順次適用すると、水平16画素分のデータがフリップフロップ61a〜pに画像の左から順番に書き込まれることになる。これを図13のパターンR1、R2を順次適用して読み出すと、水平16画素のうち、左側の8画素が最初に読み出され、次に右側の8画素が読み出されることになる。一方パターンR3、R4を順次適用して読み出すと、水平16画素のうち、偶数番目(0、2、4・・・)に位置する8画素が最初に読み出され、次に奇数番目(1、3、5、・・・)に位置する8画素が読み出されることになる。
すなわち、フリップフロップ61a〜pへ書き込む際にはパターンW1、W2を交互に使用し、フリップフロップ61a〜pから読み出す際にはパターンR1、R2を交互に使用することで、内部バス8から送られてきた画像データをそのまま外部メモリ11へ送り出すことができる。これを非データマッピング書き込みと呼ぶこととする。また、フリップフロップ61a〜pへ書き込む際にはパターンW1、W2を交互に使用し、フリップフロップ61a〜pから読み出す際にはパターンR3、R4を交互に使用することで、内部バス8から送られてきた画像データを偶数番目の画素と奇数番目の画素データ群に分けて交互に外部メモリ11へ書き込むことが可能となる。これをデータマッピング書き込みと呼ぶこととする。本実施例では、参照フレームを外部メモリ11へ書き込む際には後者のデータマッピング書き込みを使用することとする。この結果、外部メモリのアドレスが16で割り切れるアドレスには偶数番目の画素が、16で割り切れず8で割り切れるアドレスには奇数番目の画素が格納されることになる。また、制御CPU5等からのデータ書き込みでは非データマッピング書き込みを使用する。これらの書き込みモードの切り替えは、バス上のコマンド指定または転送元のブロックID等を参照することで実現することが可能である。これらのモード情報は、制御回路607内部のレジスタへ一時的に保存され、この値に基づいてモードが選択される。
次に外部メモリに格納された画像データを読み出す場合の処理を図8、9、10を用いて説明する。図8はリードデータマッピング回路604の構成を示した図である。フリップフロップ60a〜pはそれぞれ8ビット幅であり、全体として128ビットのデータを保持する。外部メモリから読み出された64ビットのデータはマッピング回路63により図9に示すようにフリップフロップ60a〜pへ送り込まれ、書き込み信号生成回路65によって生成された各フリップフロップへの書き込み信号により、図9に基づき該当するフリップフロップへ書き込まれる。セレクタ64はフリップフロップ60a〜pの出力から64ビットのデータを選択する回路であり、図10に示す2つのパターンにより出力が決定される。セレクタ64の出力は、リードデータバッファ603へ送られる。
フリップフロップ60a〜pへの書き込み時にはパターンW1とパターンW2を交互に使用し、読み出し時にはパターンR1とR2を交互に使用することで外部メモリ11から読み出したデータをそのままリードデータバッファ603へ送ることが可能である。これを非データマッピング読み出しと呼ぶこととする。この際に、マッピング書き込みで外部メモリ11へ書き込まれた画像データ領域に対して、非マッピング読み出しを適用すると共に読み出しアドレスを16バイトおきに8バイトずつ増やしていくことで、偶数画素だけ、または奇数画素だけを読み出すことが可能である。例えば、0〜7番地、16〜23番地、32〜39番地といった具合に読んでいくことで偶数画素だけを読み出すことができる。逆に8〜15番地、24〜31番地、40〜47番地といった具合に読んでいくことで奇数画素だけを読み出すことも可能である。これらのケースでは使用しない画素を外部メモリ11から読み出さないことで、外部メモリ11とLSI10の間のデータ転送バンド幅を節約することが可能となる。
また、フリップフロップ60a〜pへの書き込み時にはパターンW3とパターンW4を交互に使用し、読み出し時にはパターンR1とR2を交互に使用することでライトデータマッピング回路606によって、偶数画素と奇数画素に分けて書き込まれたデータをもとの画像データに復元することが可能である。これをデータマッピング読み出しと呼ぶこととする。これら2つの読み出しモードは、外部メモリ11に対して読み出し要求を発行したブロックがバスコマンド等で指定し、制御回路607内部のレジスタへ一時的に保持され、この値に基づいてモードが選択される。本実施例では、動き予測回路2からの画像データに対する読み出し要求には非マッピング読み出しを使用し、動き予測回路3からの画像データに対する読み出し要求にはマッピング読み出しを使用する。
本実施例では階層サーチを行う際に、動き予測回路2による粗検索実行時には縦横共に1/2に間引いた画像を使用する。これはマッピング書き込みによって外部メモリ11に書き込まれた参照フレームを非マッピング読み出しによって、偶数画素または奇数画素のみ読み出すことで実現できる。この場合、縦方向も1画素おきに読み出すことにより、外部メモリ11とLSI10の間のデータ転送量は、そのまま読み出す場合の1/4に削減することが可能である。この粗検索により一番評価値が低い個所を求め、その周辺を動き予測回路3で密検索する。密検索では、読み込み範囲は粗検索よりも狭いが、間引かない画像を読み出す必要がある。外部メモリ11にはすでにマッピング書き込みによりデータが格納されているため、この領域に対してマッピング読み出しを行うことで、間引かない画像を取り出すことが可能となる。この画像を用いて密検索を実行する。
また、表示制御回路7によるモニタ出力を行う場合にも間引かない画像が必要とされるため、この場合も密検索と同様にマッピング読み出しによりフレームバッファ領域を読み出す。
実施例1は、1画素おきの画像を用いる粗検索と間引きをしない画像を用いる密検索の二階層サーチであったが、本実施例は三階層以上のサーチに適用した場合の実施例である。これを図14〜21を用いて説明する。図14は本実施例のシステム構成図である。実施例1とちがい異なり動き予測を超粗検索、粗検索、密検索の3段階に分けている。超粗検索は3画素おき(4画素ごとに1画素使用)、粗検索は1画素おき(2画素ごとに2画素使用)、密検索は全画素を使用した検索としている。それぞれ動き予測回路32、33、34で実行する。動き予測回路の中身は実施例1と略同じである為、説明を省略する。映像入力回路11、フレーム内圧縮回路35、制御CPU36、表示制御回路38は実施例と同一のものを使用している。メモリ制御回路37は三階層サーチに対応するために実施例1と異なる構成となっている。図15にその内部構成を示す。メモリ制御回路37で実施例1と大きく異なるのはリードデータマッピング回路3604、ライトデータマッピング回路3606、制御回路3607である。これらについてその構造を説明する。ただし、制御回路3607についてはこれらの回路が必要とする信号をステートマシン等で生成する回路であり、実現方法は本発明の本質ではないため内部の説明は省略する。
図19はライトデータマッピング回路3606の内部構成を示した図である。内部のフリップフロップ数が実施例1の2倍の256個となっている。図20、図21はこのフリップフロップに対する書き込みと読み出しパターンを示した図で、実施例1と同じ書式に従っているが、本実施例では書き込み時のパターンが4種類、読み出し時のパターンが8種類に拡張されている。フリップフロップ71a〜Pへの書き込み時に図20のパターンW1、W2、W3、W4を順次適用し、フリップフロップ71a〜Pからの読み出し時に図21のパターンR1、R2、R3、R4を順次適用することで非マッピング書き込みを実現することが可能である。また、書き込み時にパターンW1、W2、W3、W4を順次適用し、読み出し時にパターンR5、R6、R7、R8を順次適用することでマッピング書き込みを実現することが可能である。
図16はリードデータマッピング回路3604の内部構成を示した図である。内部のフリップフロップ数がライトデータマッピング回路3606と同様に実施例1の2倍の256個となっている。図17、図18はこのフリップフロップに対する書き込みと読み出しパターンを示した図で、実施例1と同じ書式に従っているが、本実施例では書き込み時のパターンが8種類、読み出し時のパターンが4種類に拡張されている。フリップフロップ70a〜Pへの書き込み時に図17のパターンW1、W2、W3、W4を順次適用し、フリップフロップ70a〜Pからの読み出し時に図19のパターンR1、R2、R3、R4を順次適用することで非マッピング読み出しを実現することが可能である。また、書き込み時にパターンW5、W6、W7、W8を順次適用し、読み出し時にパターンR1、R2、R3、R4を順次適用することでマッピング書き込みを実現することが可能である。
さらに、非マッピング読み出し実行時にアドレスを32ずつ増やしながら8バイトずつ読み出すことで、3画素おき(4画素ごとに1画素使用)の画像を、16ずつ増やしながら8バイトずつ読み出すことで、1画素おき(2画素ごとに1画素使用)の画像を読み出すことが可能である。同時に縦方向も3画素おきや1画素おきに間引くことで、超粗検索や粗検索を実現することが可能となる。
本発明は、LSI及びLSIを搭載したシステムに使用される。
1:映像入力回路、2:動き予測回路(粗検索)、3:動き予測回路(密検索)、4:フレーム内圧縮回路、5:制御用CPU、6:メモリ制御回路、7:表示制御回路、8:内部バス、10:LSI、11:外部メモリ、20:映像入力、21:ストリーム出力、22:モニタ出力、31:映像入力回路、32:動き予測回路(超粗検索)、33:動き予測回路(粗検索)、34:動き予測回路(密検索)、35:フレーム内圧縮回路、36:制御用CPU、37:メモリ制御回路、38表示制御回路、39:内部バス、40:映像入力、41:ストリーム出力、42:モニタ出力、50:LSI、51:外部メモリ、60a〜p、61a〜p:フリップフロップ、63:マッピング回路、64:セレクタ、65:ライトイネーブル生成回路、66:マッピング回路、70a〜p、70A〜P、71a〜p、71A〜P:フリップフロップ、73:マッピング回路、74:セレクタ、75:ライトイネーブル生成回路、76:マッピング回路、91:動き情報、92:動き情報、93:差分データ、101:映像入力インターフェース、102:FIFO、103:制御回路、104:バスインターフェース回路、201:現フレーム格納用メモリ、202:参照フレーム格納用メモリ、203:差分絶対値和算出回路、204:バスインターフェース回路、205:制御回路、301:現フレーム格納用メモリ、302:参照フレーム格納用メモリ、303:差分絶対値和算出回路、304:バスインターフェース回路、305:制御回路、306:差分データ格納メモリ、401:DCT演算器、402:量子化器、403:逆量子化器、405:逆DCT演算器、406:可変長符号化器、407:制御回路、408:バスインターフェース回路、601:アドレスバッファ、602:アドレスマッピング回路、603:リードデータバッファ、604:リードデータマッピング回路、605:ライトデータバッファ、606:ライトデータマッピング回路、607:制御回路、608:バスインターフェース、609:外部メモリインターフェース、701:制御回路、702:映像出力インターフェース、703:FIFO、704:バスインターフェース回路、3601:アドレスバッファ、3602:アドレスマッピング回路、3603:リードデータバッファ、3604:リードデータマッピング回路、3605:ライトデータバッファ、3606:ライトデータマッピング回路、3607:制御回路、3608:バスインターフェース、3609:外部メモリインターフェース。
Claims (10)
- 第1のデータと第2のデータとを記憶する記憶部と、
前記記憶部から、前記第1及び前記第2のデータの読み出しを行う記憶制御部と、
前記記憶部と前記記憶制御部とを接続し、前記第1のデータ、前記第2のデータ毎に受け渡しを行う転送部とを有し、
前記記憶制御部は、前記第1のデータの所定の一部と前記第2のデータの所定の一部とを入れ替えることを特徴とする情報処理装置。 - 請求項1記載の情報処理装置であって、
前記記憶制御部は、前記第1及び第2のデータを前記記憶部に記憶する場合に、前記入れ替えを行うことを特徴とする情報処理装置。 - 請求項1又は2記載の情報処理装置であって、
前記記憶制御部は、前記記憶部から前記第1及び第2のデータの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。 - 請求項3記載の情報処理装置であって、
前記記憶制御部は、少なくともレジスタを有し、
前記レジスタは、前記記憶部から前記第1及び第2のデータの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。 - 複数の画素を有する第1の画素データと複数の画素を有する第2の画素データとを記憶する記憶部と、
前記記憶部から前記第1及び第2の画素データの読み出しを行う記憶制御部と、
前記記憶部と前記記憶制御部とを接続し、前記第1の画素データ、前記第2の画素データ毎に受け渡しを行う転送部とを有し、
前記記憶制御部は、前記第1の画素データの所定の画素と前記第2の画素データの所定の画素とを入れ替えることを特徴とする情報処理装置。 - 請求項5記載の情報処理装置であって、
前記記憶制御部は、前記第1及び第2の画素データを前記記憶部に記憶する場合に、前記入れ替えを行うことを特徴とする情報処理装置。 - 請求項5又は6記載の情報処理装置であって、
前記記憶制御部は、前記記憶部から前記第1及び第2の画素データの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。 - 請求項5乃至は7記載の情報処理装置であって、
前記記憶制御部は、少なくとも1個の画素毎に前記入れ替えを行うことを特徴とする情報処理装置。 - 請求項7記載の情報処理装置であって、
前記記憶制御部は、少なくともレジスタを有し、
前記レジスタは、前記記憶部から前記第1及び第2のデータの読み出しを行う場合に、前記入れ替えの有無を選択することを特徴とする情報処理装置。 - 複数の画素を有する第1の画素データと複数の画素を有する第2の画素データとを、前記第1の画素データ、前記第2の画素データ毎に転送部を通過して、記憶部に記憶させるデータ記憶方法であって、
前記第1の画素データの所定の画素と前記第2の画素データの所定の画素との入れ替え行うステップと、
前記入れ替えを行った前記画素データを、前記転送部を通過して、前記記憶部に転送するステップと、
前記転送した画素データを、前記記憶部に記憶させるステップとを実行することを特徴とするデータ記憶方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005303837A JP2007116293A (ja) | 2005-10-19 | 2005-10-19 | データ記憶方法及びこの方法を用いた情報処理装置 |
| US11/581,341 US20070109875A1 (en) | 2005-10-19 | 2006-10-17 | Data storage method and information processing device using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005303837A JP2007116293A (ja) | 2005-10-19 | 2005-10-19 | データ記憶方法及びこの方法を用いた情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2007116293A true JP2007116293A (ja) | 2007-05-10 |
Family
ID=38040643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005303837A Pending JP2007116293A (ja) | 2005-10-19 | 2005-10-19 | データ記憶方法及びこの方法を用いた情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20070109875A1 (ja) |
| JP (1) | JP2007116293A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009071642A (ja) * | 2007-09-14 | 2009-04-02 | Canon Inc | 動画像符号化装置 |
| WO2014155738A1 (ja) * | 2013-03-29 | 2014-10-02 | 富士通株式会社 | 符号化装置、コンピュータシステム、符号化方法、符号化プログラム、および記録媒体 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6045290A (ja) * | 1983-08-23 | 1985-03-11 | 株式会社ピーエフユー | 画像メモリ制御装置 |
| JPH0537923A (ja) * | 1991-07-26 | 1993-02-12 | Fujitsu Ltd | 動き補償予測の2段階ブロツクマツチング探索におけるメモリの使用方法 |
| JPH1198507A (ja) * | 1997-09-19 | 1999-04-09 | Toshiba Corp | 画像符号化装置 |
| JPH11262015A (ja) * | 1998-03-11 | 1999-09-24 | Fujitsu Ltd | 動画像符号化方法及び装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5598514A (en) * | 1993-08-09 | 1997-01-28 | C-Cube Microsystems | Structure and method for a multistandard video encoder/decoder |
| US5596376A (en) * | 1995-02-16 | 1997-01-21 | C-Cube Microsystems, Inc. | Structure and method for a multistandard video encoder including an addressing scheme supporting two banks of memory |
| US6421698B1 (en) * | 1998-11-04 | 2002-07-16 | Teleman Multimedia, Inc. | Multipurpose processor for motion estimation, pixel processing, and general processing |
| US6526430B1 (en) * | 1999-10-04 | 2003-02-25 | Texas Instruments Incorporated | Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing) |
-
2005
- 2005-10-19 JP JP2005303837A patent/JP2007116293A/ja active Pending
-
2006
- 2006-10-17 US US11/581,341 patent/US20070109875A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6045290A (ja) * | 1983-08-23 | 1985-03-11 | 株式会社ピーエフユー | 画像メモリ制御装置 |
| JPH0537923A (ja) * | 1991-07-26 | 1993-02-12 | Fujitsu Ltd | 動き補償予測の2段階ブロツクマツチング探索におけるメモリの使用方法 |
| JPH1198507A (ja) * | 1997-09-19 | 1999-04-09 | Toshiba Corp | 画像符号化装置 |
| JPH11262015A (ja) * | 1998-03-11 | 1999-09-24 | Fujitsu Ltd | 動画像符号化方法及び装置 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009071642A (ja) * | 2007-09-14 | 2009-04-02 | Canon Inc | 動画像符号化装置 |
| WO2014155738A1 (ja) * | 2013-03-29 | 2014-10-02 | 富士通株式会社 | 符号化装置、コンピュータシステム、符号化方法、符号化プログラム、および記録媒体 |
| JPWO2014155738A1 (ja) * | 2013-03-29 | 2017-02-16 | 富士通株式会社 | 符号化装置、符号化方法、および符号化プログラム |
| US10034016B2 (en) | 2013-03-29 | 2018-07-24 | Fujitsu Limited | Coding apparatus, computer system, coding method, and computer product |
Also Published As
| Publication number | Publication date |
|---|---|
| US20070109875A1 (en) | 2007-05-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6339656B1 (en) | Moving picture encoding decoding processing apparatus | |
| US20060002471A1 (en) | Motion estimation unit | |
| JPH10313459A (ja) | ブロックを用いた動き補償によるビデオ信号の復号方法 及び装置 | |
| CN100378867C (zh) | 半导体器件、图像数据处理装置和方法 | |
| JP5059058B2 (ja) | 高速動き探索装置及びその方法 | |
| CN102790884A (zh) | 一种基于分层运动估计的搜索方法及其实现系统 | |
| EP0602642B1 (en) | Moving picture decoding system | |
| US8644380B2 (en) | Integer pixel motion estimation system, motion estimation system for quarter-pixel luminance, motion estimation system for quarter-pixel chrominance, motion estimation system for combined luminance, motion estimation system for combined luminance and chrominance, and motion estimation system for quarter-pixel luminance and chrominance | |
| JP2000299864A (ja) | 動画像処理方法 | |
| US7768521B2 (en) | Image processing apparatus and image processing method | |
| US20050047502A1 (en) | Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding | |
| JP2008141288A (ja) | 動きベクトル検出装置および動きベクトル検出方法 | |
| JPH07203457A (ja) | 動きベクトル検出装置 | |
| JP2007116293A (ja) | データ記憶方法及びこの方法を用いた情報処理装置 | |
| WO2007028323A1 (fr) | Dispositif et procede pour charger des donnees de compensation de mouvement | |
| US20050169062A1 (en) | Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program | |
| US20080049035A1 (en) | Apparatus and method for accessing image data | |
| US20070092008A1 (en) | Context-aware frame memory scheme for motion compensation in video decoding | |
| JPH05300497A (ja) | 画像処理装置及びディジタル信号処理プロセッサ | |
| US7181075B2 (en) | Multi-level encoding/decoding apparatus | |
| KR100319741B1 (ko) | 데이터메모리뱅크간병렬어드레스제어방법 | |
| CN102625091B (zh) | 一种基于avs的帧间预测方法 | |
| JP2008060836A (ja) | 動きベクトル探索方法及び装置 | |
| US20090060048A1 (en) | Motion detection circuit and method | |
| JP2011097488A (ja) | 映像圧縮符号化装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080801 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100419 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100831 |