JP2008146235A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2008146235A JP2008146235A JP2006330790A JP2006330790A JP2008146235A JP 2008146235 A JP2008146235 A JP 2008146235A JP 2006330790 A JP2006330790 A JP 2006330790A JP 2006330790 A JP2006330790 A JP 2006330790A JP 2008146235 A JP2008146235 A JP 2008146235A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- address
- sdram
- luminance
- write
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Input (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】データ転送の際に効率良くアクセスする。
【解決手段】書き込みアドレス生成部11は、外部から入力される書き込みマクロブロック位置情報204、アドレスオフセット205及びフレームサイズ206に基づき、書き込みデータ208の所定個のマクロブロックをSDRAM2のあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、SDRAM2の同一バンクの同一ローアドレス又は異なるバンクに格納するように配置して、SDRAM2のバンク、ロウアドレス及びカラムアドレスからなる書き込みアドレス207を生成する。
【選択図】図1
【解決手段】書き込みアドレス生成部11は、外部から入力される書き込みマクロブロック位置情報204、アドレスオフセット205及びフレームサイズ206に基づき、書き込みデータ208の所定個のマクロブロックをSDRAM2のあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、SDRAM2の同一バンクの同一ローアドレス又は異なるバンクに格納するように配置して、SDRAM2のバンク、ロウアドレス及びカラムアドレスからなる書き込みアドレス207を生成する。
【選択図】図1
Description
この発明は、画像フレームを格納するフレームメモリとして、同期型ダイナミックラム(SDRAM:Synchronous Dynamic Random Access Memory)を用いる画像処理装置に関するものである。
例えばMPEG(Moving Picture Experts Group)等の動画像符号化方式の画像処理装置では、2次元の画像データを16画素×16画素や8画素×8画素といったマクロブロック(MB)と呼ばれる細かいブロックに分割して、このマクロブロック単位に処理を行う。また、通常表示や参照を行うために、画像フレームを一旦SDRAM等のフレームメモリに格納する。
上記参照とは動き補償予測(MC;Motion Compensation)のことであり、動きベクトル情報に基づき時間的に先行して符号化又は復号されフレームメモリに格納された画像データから参照データを読み出し、現画像データとの差分を取ったり加算を行ったりする。このとき、動きベクトルの内容によっては、複数のマクロブロックに跨る領域を読み出す必要がある。
一方、SDRAMは、発行された複数のコマンドにより指定された2次元のアドレスに基づき、設定されたバースト長の領域に対してデータの書き込み/読み出しを行う記憶装置であり、1つの2次元のアドレス空間を並列にアクセス可能なバンクとすると、近年は複数のバンクを有するものが主流である。アクセス方法としては、バンク毎にプリチャージコマンド(プリチャージ付リード/ライトコマンドで代用される場合がある)、アクティブコマンド、リード/ライトコマンドの順にコマンドを発行してデータの読み出し/書き込みを行う。このとき、各コマンド間は一定の時間間隔が必要である。
連続して異なるアドレスに対してアクセスする場合には、同一バンクの同一ロウアドレス内であれば、リード/ライトアドレスだけを繰り返し発行するだけで良い。しかし、同一バンク内の異なるロウアドレスにアクセスする場合は、間にプリチャージコマンドとアクティブコマンドを発行しなければならず、余分なアクセスサイクルが生じてしまう。
また、同一ローアドレスの異なるバンクに対してアクセスを行う場合には、間にアクティブコマンドのみ発行するだけで良く、プリチャージコマンドを発行しなくても良い。さらに、複数のバンクは並列にアクセスできるので、コマンド間の隙間のサイクルにアクティブコマンドを発行することができれば、余分なアクセスサイクルが発生しない。
しかし、コマンドを発行したいサイクルに既に別なコマンドが埋まっており、コマンドの発行を遅らせなければならない場合等のように、うまくコマンド間の隙間に埋められない場合や、コマンド間隔の制約によっては余分なアクセスサイクルが発生する。このコマンド間隔がクロック1サイクルを超えると、間に1サイクル以上の余分なサイクルが生じる。例えば、クロック1サイクルが5nsecで、コマンド間隔の制約が6nsecとすると、コマンド間はクロック1サイクル空ける必要がある。
上記のように、余分なアクセスサイクルが発生しないようなフレームメモリマッピングがいくつか開示されている。例えば特許文献1や特許文献2では、上下左右に隣接するマクロブロックを異なるバンクになるよう配置することによって、データ転送の際に効率良くアクセスすることが可能なフレームメモリのマッピング方法が提案されている。
従来の画像処理装置は以上のように構成され、主に2バンクのSDRAMを対象としたフレームメモリのマッピングであり、スキャン中に同一バンクを連続的に異なるロウアドレスに対してアクセスする場合には、余分なアクセスサイクルが残っていたり、この余分なアクセスサイクルを省略するために、異なるバンクに対してアクセスを行う場合には、水平方向の順序が逆になりアドレス発生回路が複雑になるという課題があった。
しかし、近年のSDRAMのバンク数は4が主流であり、上記特許文献1や上記特許文献2のようにバンク数が2の場合には、マッピングを工夫しても、同一バンクの異なるロウアドレスに対する連続アクセスを解消することはできず、データ転送の効率を低下させてしまうという課題があった。
この発明は上記のような課題を解決するためになされたもので、SDRAMのマクロブロック境界を跨いでアクセスする際に、同一バンクの異なるロウアドレスをアクセスすることがないように、フレームメモリのマッピングを行うことにより、データ転送の際に効率良くアクセスすることが可能な画像処理装置を得ることを目的とする。
この発明に係る画像処理装置は、画像フレームを格納するフレームメモリとして、同期型ダイナミックラムを用いるものにおいて、外部から入力される書き込みマクロブロック位置情報、アドレスオフセット及びフレームサイズに基づき、書き込みデータの所定個のマクロブロックを上記同期型ダイナミックラムのあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、上記同期型ダイナミックラムの同一バンクの同一ローアドレス又は異なるバンクに格納するように配置して、上記同期型ダイナミックラムのバンク、ロウアドレス及びカラムアドレスからなる書き込みアドレスを生成する書き込みアドレス生成部を備えたものである。
この発明により、データ転送の際に効率良くアクセスすることができるという効果が得られる。
実施の形態1.
図1はこの発明の実施の形態1による画像処理装置の構成を示すブロック図である。この画像処理装置はSDRAMインタフェース部(SDRAM I/F部)1とSDRAM2を備えている。また、SDRAMインタフェース部1は、書き込みアドレス生成部11、書き込みバッファ12、読み出しアドレス生成部13及び読み出しバッファ14を備え、書き込みアドレス生成部11は制御部111及びアドレス演算部112を備え、読み出しアドレス生成部13は制御部131及びアドレス演算部132を備えている。
なお、この実施の形態1ではSDRAM2のバンク数を4とする。
図1はこの発明の実施の形態1による画像処理装置の構成を示すブロック図である。この画像処理装置はSDRAMインタフェース部(SDRAM I/F部)1とSDRAM2を備えている。また、SDRAMインタフェース部1は、書き込みアドレス生成部11、書き込みバッファ12、読み出しアドレス生成部13及び読み出しバッファ14を備え、書き込みアドレス生成部11は制御部111及びアドレス演算部112を備え、読み出しアドレス生成部13は制御部131及びアドレス演算部132を備えている。
なお、この実施の形態1ではSDRAM2のバンク数を4とする。
書き込みアドレス生成部11は外部からの指示を受けてSDRAM2の書き込みアドレス207を生成し書き込みコマンド203を出力する。
書き込みアドレス生成部11の制御部111は、外部からの起動信号201を受けて、書き込みアドレス生成指示202をアドレス演算部112に出力すると共に、書き込みコマンド203をSDRAM2に出力する。
書き込みアドレス生成部11の制御部111は、外部からの起動信号201を受けて、書き込みアドレス生成指示202をアドレス演算部112に出力すると共に、書き込みコマンド203をSDRAM2に出力する。
書き込みアドレス生成部11のアドレス演算部112は、制御部111からの書き込みアドレス生成指示202を受けて、外部から入力される書き込みマクロブロック位置情報204、SDRAM2に格納する領域の先頭アドレスを示すアドレスオフセット205及びフレームサイズ206に基づき、書き込みデータの所定個のマクロブロックをSDRAM2のあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、SDRAM2の同一バンクの同一ローアドレス又は異なるバンクに格納するように配置して、SDRAM2のバンク、ロウアドレス及びカラムアドレスからなる書き込みアドレス207を生成してSDRAM2に出力する。
このとき、アドレス演算部112は、書き込みマクロブロック位置情報204をもとに水平方向及び垂直方向の2次元アドレスを生成し、フレームサイズ206を使用して、生成した2次元アドレスをSDRAM2のマッピングに変換し、アドレスオフセット205を加算して書き込みアドレス207を生成する。
このとき、アドレス演算部112は、書き込みマクロブロック位置情報204をもとに水平方向及び垂直方向の2次元アドレスを生成し、フレームサイズ206を使用して、生成した2次元アドレスをSDRAM2のマッピングに変換し、アドレスオフセット205を加算して書き込みアドレス207を生成する。
書き込みバッファ12は、外部から入力されSDRAM2に書き込む1マクロブロック分の書き込みデータ(復号データ)208を水平パッキングされた状態で一時的に保持し、制御部111の指示に基づき、書き込みアドレス生成部11から出力される書き込みコマンド203及び書き込みアドレス207に同期して、保持している書き込みデータ208をSDRAM2に出力する。
読み出しアドレス生成部13は外部からの指示を受けてSDRAM2の読み出しアドレス216を生成し読み出しコマンド213を出力する。
読み出しアドレス生成部13の制御部131は、外部からの起動信号211を受けて、読み出しアドレス生成指示212をアドレス演算部132に出力すると共に、読み出しコマンド213をSDRAM2に出力する。
読み出しアドレス生成部13の制御部131は、外部からの起動信号211を受けて、読み出しアドレス生成指示212をアドレス演算部132に出力すると共に、読み出しコマンド213をSDRAM2に出力する。
読み出しアドレス生成部13のアドレス演算部132は、制御部131からの読み出しアドレス生成指示212を受けて、外部から入力される読み出しマクロブロック位置情報214、動きベクトル情報215、アドレスオフセット205及びフレームサイズ206に基づき、SDRAM2のバンク、ロウアドレス及びカラムアドレスからなる読み出しアドレス216を生成してSDRAM2に出力する。このとき、アドレス演算部132は、読み出しマクロブロック位置情報214に動きベクトル情報215を加算して、水平方向及び垂直方向の2次元アドレスを生成し、フレームサイズ206を使用して、生成した2次元アドレスをSDRAM2のマッピングに変換し、アドレスオフセット205を加算して読み出しアドレス216を生成する。
読み出しバッファ14は、読み出しアドレス生成部13から出力される読み出しコマンド213及び読み出しアドレス216に基づきSDRAM2から読み出された読み出しデータ(参照データ)217を水平パッキングされた状態で一時的に保持し、制御部131の指示に基づき保持している読み出しデータ217を外部に出力する。
この実施の形態1では、SDRAM2のカラムアドレス幅を512、データのbit幅を32bitとする。1フレームの水平方向の画素数は輝度データが1920画素、色差データは960画素とし、1マクロブロックの大きさは輝度データが16画素×16ライン、色差データが8画素×8ラインとする。1画素のbit幅を8bitとし、輝度データは水平方向4画素を、色差データはCb,Cr2成分それぞれ水平2画素の合計4画素をパッキングして1アドレスに格納する。従って、色差データはCb,Cr2成分をまとめて、1マクロブロックを16画素×8ラインで扱う。
まずSDRAM2にデータを書き込む場合について説明する。
図2は書き込みデータ208における輝度データのSDRAM2へのフレームマッピング例を輝度マクロブロック単位で示す図である。図2では、輝度マクロブロック(輝度MB)を16画素×16ラインとし、画像空間上の輝度マクロブロックに割り当てられたSDRAM2のバンクA,B,C,Dと、SDRAM2の各バンクA,B,C,Dのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックを示している。
図2は書き込みデータ208における輝度データのSDRAM2へのフレームマッピング例を輝度マクロブロック単位で示す図である。図2では、輝度マクロブロック(輝度MB)を16画素×16ラインとし、画像空間上の輝度マクロブロックに割り当てられたSDRAM2のバンクA,B,C,Dと、SDRAM2の各バンクA,B,C,Dのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックを示している。
図2に示すように、8個の輝度マクロブロックを同一バンクの1ロウアドレスの中に格納するように配置し、この8個の輝度マクロブロックを単位として、画像空間上の水平方向の輝度マクロブロックを2つのバンクに交互に格納するように配置し、画像空間上の垂直方向の偶数マクロブロックライン(0,2,4・・・)の輝度マクロブロックにはバンクA及びバンクBを割り当て、奇数マクロブロックライン(1,3,5・・・)の輝度マクロブロックにはバンクC及びバンクDを割り当てている。
図2では、例えば、輝度MB(0−0)から輝度MB(0−7)までをバンクAに格納するように配置し、輝度MB(0−8)から輝度MB(0−15)までをバンクBに格納するように配置し、輝度MB(1−0)から輝度MB(1−7)までをバンクCに格納するように配置し、輝度MB(1−8)から輝度MB(1−15)までをバンクDに格納するように配置する。
図3は図2に示すSDRAM2のバンクAのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックの詳細を示す図であり、図4は図2に示すSDRAM2のバンクBのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックの詳細を示す図であり、図5は図2に示すSDRAM2のバンクCのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックの詳細を示す図であり、図6は図2に示すSDRAM2のバンクDのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックの詳細を示す図である。
例えば、図3及び図4に示すように、図2の画像空間上の0マクロブロックラインにおける輝度MB(0−0)から輝度MB(0−119)は、バンクA及びバンクBに8個の輝度マクロブロック単位で交互に格納するように配置し、図5及び図6に示すように、図2の画像空間上の1マクロブロックラインにおける輝度MB(1−0)から輝度MB(1−119)は、バンクC及びバンクDに8個の輝度マクロブロック単位で交互に格納するように配置する。
図7は書き込みデータ208における色差データのSDRAM2へのフレームマッピング例を色差マクロブロック単位で示す図である。図7では、色差マクロブロックを8画素×8ラインとし、画像空間上の色差マクロブロックに割り当てられたSDRAM2のバンクA,B,C,Dと、SDRAM2の各バンクA,B,C,Dのメモリ空間上のカラムアドレスとロウアドレスに配置された色差マクロブロックを示している。
図7に示すように、16個の色差マクロブロックを同一バンクの1ロウアドレスの中に格納するように配置し、この16個の色差マクロブロックを単位として、画像空間上の水平方向の色差マクロブロックを2つのバンクに交互に格納するように配置し、画像空間上の垂直方向の偶数マクロブロックライン(0,2,4・・・)の色差マクロブロックにはバンクA及びバンクBを割り当て、奇数マクロブロックライン(1,3,5・・・)の色差マクロブロックにはバンクC及びバンクDを割り当てている。
図7では、例えば、色差MB(0−0)から色差MB(0−15)までをバンクAに格納するように配置し、色差MB(0−16)から色差MB(0−31)までをバンクBに格納するように配置し、色差MB(1−0)から色差MB(1−15)までをバンクCに格納するように配置し、色差MB(1−16)から色差MB(1−31)までをバンクDに格納するように配置する。
このようにして、例えば、図7の画像空間上の0マクロブロックラインにおける色差MB(0−0)から色差MB(0−119)は、バンクA及びバンクBに16個の色差マクロブロック単位で交互に格納するように配置し、図7の画像空間上の1マクロブロックラインにおける色差MB(1−0)から色差MB(1−119)は、バンクC及びバンクDに16個の色差マクロブロック単位で交互に格納するように配置する。
図8は図2の画像空間上及びメモリ空間上の輝度マクロブロックのフレームマッピング例を画素単位で示す図である。図8に示すように、画像空間上の1ライン目(L0)から16ライン目(L15)までをSDRAM2のメモリ空間に順番に格納し、1個の輝度マクロブロックで64アドレスを使用する。
図9は図7の画像空間上及びメモリ空間上の色差マクロブロックのフレームマッピング例を画素単位で示す図である。図9に示すように、画像空間上の1ライン目(L0)から8ライン目(L7)までをSDRAM2のメモリ空間に順番に格納し、1個の色差マクロブロックで32アドレスを使用する。
なお、図2に示す輝度マクロブロック(輝度MB)のフレームマッピング例では、同一ロウアドレスの領域を横8MB×縦1MBとしているが、同一ロウアドレスの領域を例えば横4MB×縦2MBとしても良い。また、図7に示す色差マクロブロック(色差MB)のフレームマッピング例では、同一ロウアドレスの領域を横16MB×縦1MBとしているが、同一ロウアドレスの領域を例えば横8MB×縦2MBとしても良い。
この図2から図9に示すフレームマッピングは図1に示す書き込みアドレス生成部11のアドレス演算部112により行われる。すなわち、アドレス演算部112は、外部から入力される書き込みマクロブロック位置情報204、アドレスオフセット205及びフレームサイズ206に基づき、書き込みデータの所定個のマクロブロックをSDRAM2のあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、SDRAM2の同一バンクの同一ローアドレス又は異なるバンクに格納するように配置する。
次にSDRAM2に格納されているデータを読み出す場合について説明する。
図10は図2に示す画像空間上の輝度マクロブロックのフレームマッピング例の一部分を拡大した図であり、ここでは、図2に示すバンクAに配置された輝度MB(0−7)、バンクBに配置された輝度MB(0−8)、バンクCに配置された輝度MB(1−7)、バンクDに配置された輝度MB(1−8)の部分を示している。
ここで、図10に示すように、バンクA,B,C,Dに跨った17画素×9ラインの動き補償に使用する領域の輝度データを読み出すためにアクセスする場合を考える。
図10は図2に示す画像空間上の輝度マクロブロックのフレームマッピング例の一部分を拡大した図であり、ここでは、図2に示すバンクAに配置された輝度MB(0−7)、バンクBに配置された輝度MB(0−8)、バンクCに配置された輝度MB(1−7)、バンクDに配置された輝度MB(1−8)の部分を示している。
ここで、図10に示すように、バンクA,B,C,Dに跨った17画素×9ラインの動き補償に使用する領域の輝度データを読み出すためにアクセスする場合を考える。
図10に示すような17画素×9ラインという領域に対するアクセスは、MPEG−2のフィールド予測に代表されるような動き補償でよく行われる。また、本例では使用するSDRAMをクロックの立ち上がりと立ち下りの両方に同期してデータを転送するDDR(ダブルデータレート)−SDRAMとする。DDR−SDRAMでは必然的に偶数アドレス分のデータにアクセスすることになり、さらに、水平4画素パッキングを行っているので、実際にアクセスする領域は図10の斜線の部分の24画素×9ラインとなる。
図11は図10に示す24画素×9ラインのアクセス方法とデータの読み出しのタイミングチャートを示す図であり、図11ではアクセス方法としてP,Q,Rの三つの方法を示し、アクセス方法PではバンクA→バンクC→バンクB→バンクDの順にアクセスし、アクセス方法QではバンクA→バンクC→バンクB→バンクDの順にアクセスし、アクセス方法RではバンクA,B,C,D全体にわたり1ラインずつアクセスするものとする。なお、図11に示すタイミングチャートにおいて、「PALL」は全てのバンクA,B,C,Dをプリチャージさせるコマンドを示し、「ACT#(#はバンクA,B.C,Dのいずれか)」は各バンクをアクティブにするコマンドを示し、「RD#(#はバンクA,B.C,Dのいずれか)」は各バンクのデータを読み出すコマンドを示している。
また、図11に示すタイミングチャートでは、SDRAM2のAC特性(動的特性)によるコマンド間隔を次のように設定する。同一バンクにおけるプリチャージ−アクティブ間を3サイクル、同一バンクにおけるアクティブ−読み出し間隔を3サイクル、アクティブ−アクティブ間隔を2サイクル、同一バンクにおけるアクティブ−プリチャージ間隔を7サイクルとする。また、CASレイテンシ(Column Address Strobe Latency)を2サイクルとし、バースト長を4サイクルとする。図11のタイミングチャートに示すように、アクセス方法P,Q,Rとも、同一バンクの異なるロウアドレスへのアクセスによるプリチャージコマンドを発行する必要がないために、約35サイクルで転送が終了している。
図11に示すアクセスは、図1の読み出しアドレス生成部13のアドレス演算部132によりアドレスにより行われる。すなわち、アドレス演算部132は、制御部131からの読み出しアドレス生成指示212を受けて、外部から入力される読み出しマクロブロック位置情報214、動きベクトル情報215、アドレスオフセット205及びフレームサイズ206に基づき、SDRAM2のバンク、ロウアドレス及びカラムアドレスからなる読み出しアドレス216を生成してSDRAM2に出力する。
図12は図10に示す輝度マクロブロックのフレームマッピング例を従来のフレームマッピング例に置き換えた図である。図12では、図10に示すバンクCがバンクBに置き換えられ、図10に示すバンクDがバンクAに置き換えられている。
図13は図12に示す24画素×9ラインのアクセス方法におけるデータの読み出しのタイミングチャートを示す図であり、図13のアクセス方法としては、図11に示すアクセス方法P,Q,Rと同じである。また、コマンド間隔は図11に示すタイミングチャートの場合と同じである。図13のタイミングチャートに示すように、アクセス方法P,Q,Rとも、同一バンクの異なるロウアドレスへのアクセスによりプリチャージコマンドを発行せざるを得ないため、転送が40サイクル以上かかっている。
図14は従来のフレームマッピング例でも特許文献2のようにロウアドレスが変わった場合にバンクも異なるようにアクセスするアクセス方法Sの場合のタイミングチャートを示す図である。なお、コマンド間隔は図11に示すタイミングチャートの場合と同じである。図14に示すように、アクセス方法Sとして、バンクA→バンクB→バンクA→バンクBの順にアクセスしている。図14のタイミングチャートに示すように、コマンド間隔の制約により、転送が40サイクル以上かかっている。
このように、この実施の形態1では、書き込みデータの所定個のマクロブロックをSDRAM2のあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、SDRAM2の同一バンクの同一ローアドレス又は異なるバンクに格納するように配置することにより、マクロブロックの境界を跨ぐような領域に対してアクセスを行う場合、従来例に比べて余分なサイクルが少なくなり、効率の良いアクセスが可能である。
次に1フレームを2フィールドに分割した場合のマクロブロックのSDRAM2の各バンクのメモリ空間へのフィールドマッピングについて説明する。
図15は1フレームを2フィールドに分割した場合の書き込みデータ208における輝度データのSDRAM2へのフィールドマッピング例を輝度マクロブロック単位で示す図である。図15では、輝度マクロブロック(輝度MB)を16画素×8ラインとし、画像空間上の輝度マクロブロックに割り当てられたSDRAM2のバンクA,B,C,Dと、SDRAM2の各バンクA,B,C,Dのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックを示している。
図15は1フレームを2フィールドに分割した場合の書き込みデータ208における輝度データのSDRAM2へのフィールドマッピング例を輝度マクロブロック単位で示す図である。図15では、輝度マクロブロック(輝度MB)を16画素×8ラインとし、画像空間上の輝度マクロブロックに割り当てられたSDRAM2のバンクA,B,C,Dと、SDRAM2の各バンクA,B,C,Dのメモリ空間上のカラムアドレスとロウアドレスに配置された輝度マクロブロックを示している。
図15に示すように、16個の輝度マクロブロックを同一バンクの1ロウアドレスの中に格納するように配置し、この16個の輝度マクロブロックを単位として、画像空間上の水平方向の輝度マクロブロックを2つのバンクに交互に格納するように配置し、画像空間上の垂直方向の偶数マクロブロックライン(0,2,4・・・)の輝度マクロブロックにはバンクA及びバンクBを割り当て、奇数マクロブロックライン(1,3,5・・・)の輝度マクロブロックにはバンクC及びバンクDを割り当てている。
図15では、例えば、輝度MB(0−0)から輝度MB(0−15)までをバンクAに格納するように配置し、輝度MB(0−16)から輝度MB(0−31)までをバンクBに格納するように配置し、輝度MB(1−0)から輝度MB(1−15)までをバンクCに格納するように配置し、輝度MB(1−16)から輝度MB(1−31)までをバンクDに格納するように配置する。
このようにして、例えば、図15の画像空間上の0マクロブロックラインにおける輝度MB(0−0)から輝度MB(0−119)は、バンクA及びバンクBに16個の輝度マクロブロック単位で交互に格納するように配置し、図15の画像空間上の1マクロブロックラインにおける輝度MB(1−0)から輝度MB(1−119)は、バンクC及びバンクDに16個の輝度マクロブロック単位で交互に格納するように配置する。
図16は1フレームを2フィールドに分割した場合の書き込みデータ208における色差データのSDRAM2へのフィールドマッピング例を色差マクロブロック単位で示す図である。図16では、色差マクロブロックを8画素×4ラインとし、画像空間上の色差マクロブロックに割り当てられたSDRAM2のバンクA,B,C,Dと、SDRAM2の各バンクA,B,C,Dのメモリ空間上のカラムアドレスとロウアドレスに配置された色差マクロブロックを示している。
図16に示すように、32個の色差マクロブロックを同一バンクの1ロウアドレスの中に格納するように配置し、この32個の色差マクロブロックを単位として、画像空間上の水平方向の色差マクロブロックを2つのバンクに交互に格納するように配置し、画像空間上の垂直方向の偶数マクロブロックライン(0,2,4・・・)の色差マクロブロックにはバンクA及びバンクBを割り当て、奇数マクロブロックライン(1,3,5・・・)の色差マクロブロックにはバンクC及びバンクDを割り当てている。
図16では、例えば、色差MB(0−0)から色差MB(0−31)までをバンクAに格納するように配置し、色差MB(0−32)から色差MB(0−63)までをバンクBに格納するように配置し、色差MB(1−0)から色差MB(1−31)までをバンクCに格納するように配置し、色差MB(1−32)から色差MB(1−63)までをバンクDに格納するように配置する。
このようにして、例えば、図16の画像空間上の0マクロブロックラインにおける色差MB(0−0)から色差MB(0−119)は、バンクA及びバンクBに32個の色差マクロブロック単位で交互に格納するように配置し、図16の画像空間上の1マクロブロックラインにおける色差MB(1−0)から色差MB(1−119)は、バンクC及びバンクDに32個の色差マクロブロック単位で交互に格納するように配置する。
図17は図15の画像空間上及びメモリ空間上の輝度マクロブロックのフィールドマッピング例を画素単位で示す図である。図17に示すように、画像空間上の1ライン目(L0)から8ライン目(L7)までをSDRAM2のメモリ空間に順番に格納し、1個の輝度マクロブロックで32アドレスを使用する。
図18は図16の画像空間上及びメモリ空間上の色差マクロブロックのフィールドマッピング例を画素単位で示す図である。図18に示すように、画像空間上の1ライン目(L0)から4ライン目(L3)までをSDRAM2のメモリ空間に順番に格納し、1個の色差マクロブロックで16アドレスを使用する。
以上のように、この実施の形態1によれば、書き込みアドレス生成部11のアドレス演算部112が、外部から入力される書き込みマクロブロック位置情報204、アドレスオフセット205及びフレームサイズ206に基づき、書き込みデータの所定個のマクロブロックをSDRAM2のあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、SDRAM2の同一バンクの同一ローアドレス又は異なるバンクに格納するように配置することにより、データ転送の際に効率良くアクセスすることができるという効果が得られる。
1 SDRAMインタフェース部(SDRAM I/F部)、2 SDRAM、11 書き込みアドレス生成部、12 書き込みバッファ、13 読み出しアドレス生成部、14 読み出しバッファ、111 制御部、112 アドレス演算部、131 制御部、132 アドレス演算部、201 起動信号、202 書き込みアドレス生成指示、203 書き込みコマンド、204 マクロブロック位置情報、205 アドレスオフセット、206 フレームサイズ、207 書き込みアドレス、208 書き込みデータ、211 起動信号、212 読み出しアドレス生成指示、213 読み出しコマンド、214 読み出しマクロブロック位置情報、215 動きベクトル情報、216 読み出しアドレス、217 読み出しデータ。
Claims (1)
- 画像フレームを格納するフレームメモリとして、同期型ダイナミックラムを用いる画像処理装置において、
外部から入力される書き込みマクロブロック位置情報、アドレスオフセット及びフレームサイズに基づき、書き込みデータの所定個のマクロブロックを上記同期型ダイナミックラムのあるバンクの同一ローアドレスに格納し、画像空間上のあるマクロブロックと斜め方向を含めた隣接するマクロブロックとが、上記同期型ダイナミックラムの同一バンクの同一ローアドレス又は異なるバンクに格納するように配置して、上記同期型ダイナミックラムのバンク、ロウアドレス及びカラムアドレスからなる書き込みアドレスを生成する書き込みアドレス生成部を備えたことを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006330790A JP2008146235A (ja) | 2006-12-07 | 2006-12-07 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006330790A JP2008146235A (ja) | 2006-12-07 | 2006-12-07 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008146235A true JP2008146235A (ja) | 2008-06-26 |
Family
ID=39606366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006330790A Withdrawn JP2008146235A (ja) | 2006-12-07 | 2006-12-07 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008146235A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014019046A (ja) * | 2012-07-18 | 2014-02-03 | Kyocera Document Solutions Inc | 画像形成装置 |
CN114845156A (zh) * | 2022-05-07 | 2022-08-02 | 珠海全志科技股份有限公司 | 基于共享缓存的视频处理方法、装置及系统 |
-
2006
- 2006-12-07 JP JP2006330790A patent/JP2008146235A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014019046A (ja) * | 2012-07-18 | 2014-02-03 | Kyocera Document Solutions Inc | 画像形成装置 |
CN114845156A (zh) * | 2022-05-07 | 2022-08-02 | 珠海全志科技股份有限公司 | 基于共享缓存的视频处理方法、装置及系统 |
CN114845156B (zh) * | 2022-05-07 | 2024-03-19 | 珠海全志科技股份有限公司 | 基于共享缓存的视频处理方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5126360B2 (ja) | メモリ装置及びそれを制御するメモリコントローラ | |
JPH10191236A (ja) | 画像処理装置及び画像データメモリ配置方法 | |
TW200828314A (en) | Memory device, memory controller and memory system | |
EP1998569A1 (en) | Method for mapping image addresses in memory | |
JP2007122706A (ja) | メモリマッピング方法及び装置 | |
TWI399648B (zh) | 用於讀取記憶體內的儲存元之方法及裝置 | |
KR100612414B1 (ko) | 영상 데이터 처리 시스템 및 영상 데이터 독출/기입 방법 | |
US6342895B1 (en) | Apparatus and method for memory allocation | |
CN100444636C (zh) | 提高视频解码器中sdram总线效率的方法 | |
US20080044107A1 (en) | Storage device for storing image data and method of storing image data | |
JP2007158550A (ja) | 画像処理装置及び画像処理方法 | |
US8023565B2 (en) | Picture processing apparatus, semiconductor integrated circuit, and method for controlling a picture memory | |
JP2008146235A (ja) | 画像処理装置 | |
JPH1155676A (ja) | 同期型メモリを用いた動画像データ符号化装置 | |
JP2007047750A (ja) | Ddrを用いたデータのスキャンシステムおよびその方法 | |
CA2802666C (en) | Image processing device | |
JP3547512B2 (ja) | メモリ制御装置 | |
JP4735475B2 (ja) | 動画像処理方法及び動画像処理装置 | |
JPH1013841A (ja) | 画像復号方法および画像復号装置 | |
JP2007299211A (ja) | メモリ制御装置 | |
JP4997418B2 (ja) | Dramアクセス方法 | |
KR100281567B1 (ko) | 비디오 인코더의 스케쥴링 방법 | |
JP4821410B2 (ja) | メモリ制御方法、メモリ制御装置、画像処理装置およびプログラム | |
JP2005236946A (ja) | Dramアクセス方法 | |
JPS5964892A (ja) | 表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080616 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100302 |