JP2006338334A - データ処理装置及びデータ処理方法 - Google Patents

データ処理装置及びデータ処理方法 Download PDF

Info

Publication number
JP2006338334A
JP2006338334A JP2005162356A JP2005162356A JP2006338334A JP 2006338334 A JP2006338334 A JP 2006338334A JP 2005162356 A JP2005162356 A JP 2005162356A JP 2005162356 A JP2005162356 A JP 2005162356A JP 2006338334 A JP2006338334 A JP 2006338334A
Authority
JP
Japan
Prior art keywords
data
area
cache
blocks
storage device
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
Application number
JP2005162356A
Other languages
English (en)
Inventor
Taro Hagitani
太郎 萩谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005162356A priority Critical patent/JP2006338334A/ja
Publication of JP2006338334A publication Critical patent/JP2006338334A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Input (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 外部記憶装置に記憶されたデータの一部をブロックごとに細分化して保持するとともに、回路規模の増大を防止する。
【解決手段】 データ保持部12は外部記憶装置20に記憶された所定のデータ量ごとのブロック30に分割して表現された2次元以上のデータ空間のうち、一部の領域のデータを保持し、アドレス管理部13は、複数のブロック30からなる所定の大きさの領域内におけるデータのデータ空間上での位置を、領域ごとに1つ記憶し、データ保持部12に保持されるデータのアドレスを管理する。
【選択図】 図1

Description

本発明はデータ処理装置及びデータ処理方法に関し、特に外部記憶装置に記憶されたデータの一部を保持してデータ処理を行うデータ処理装置及びデータ処理方法に関する。
近年、マルチメディア技術の発展によりコンピュータが処理するデータ量がますます増加してきている。特に画像においては高解像度かつ高速な処理が要求されている。
図20は、従来の画像処理LSIの概略の構成を示す図である。
従来の画像処理を行う画像処理LSI(Large Scale Integrated circuit)90aは、画像データに対し所定の演算処理を行う演算処理部91を有する。そして、画像処理LSI90aは、膨大なデータ量の画像データを扱うため、画像処理LSI90aとは別の外部RAM(Random Access Memory)100を使用し、画像1枚分あるいはそれ以上のデータを保持しておき、画像処理の際には外部RAM100からデータを読み出し演算処理部91にて処理を行う。
しかしながら、外部RAM100へのアクセスには、データを要求してから出力されるまでに時間がかかるという問題や、アクセスの際の消費電力が多いという問題、アクセス量が多いときには、外部RAMのアクセス量の限界を超えないよう複数の外部RAMが必要となることもありコストアップにつながるという問題が生じる。
従って従来、内部RAMを有する画像処理LSIが用いられている。
図21は、内部RAMを有する従来の画像処理LSIの概略の構成を示す図である。
画像処理LSI90bは、内部に外部RAM100より小容量で高速な内部RAM(以下キャッシュメモリという場合もある。)92を有しており、頻繁に利用するデータをこの内部RAM92に保持することにより、外部RAM100へのアクセス量を減らすことができる構成となっている。
但し、この内部RAM92は、画像処理LSI90bの回路規模の増大を避けるために、例えば、1枚の画像データの一部分だけを記憶している。画像データのうち内部RAM92に保持するデータ領域(以下キャッシュ領域という。)は、頻繁に使用するデータ使用領域に対して、例えば以下のように設定される。
図22は、キャッシュ領域の設定を示す図であり、(A)がキャッシュ領域を大きく設定した場合、(B)がキャッシュ領域を小さく設定した場合の例を示す図である。
図22(A)のように、画像データのうち内部RAM92に保持するキャッシュ領域1110を大きくしすぎると、内部RAM92の規模そのものが増えるほか、実際に画像処理に使用するデータ使用領域111に対し大きくなりすぎ、外部RAM100への無駄な外部アクセスが増えることになる。また図22(B)のように、キャッシュ領域112を小さくした場合、キャッシュのヒット率(演算処理部91がデータを要求した際に内部RAM92内に既にデータが存在している確率)が下がる。そして、領域113、114、115のデータも保持する必要があるので、結局、外部RAM100へ頻繁にアクセスすることになってしまう。
そのため、さらに、以下のような手法により効率的なキャッシュメモリの使用を図る技術があった(例えば、特許文献1、2参照。)。
図23は、画像データをブロックで細分化して必要なデータをキャッシュメモリに記憶する従来の手法を説明する図である。
画像データを例えば、16×16画素のブロック120で細分化し、頻繁に使用するデータ使用領域のブロック(図中のa〜f)のデータをキャッシュメモリ121に記憶する手法である。この場合、キャッシュメモリ121に記憶するブロックのデータが、画像データ中のどの位置のデータを記憶しているのかを、データマップ122としてブロックごとに記憶する。
上記のような記憶方法では、画像データを区切るブロックサイズをより細分化し、マッピング数を増やすことによって、必要なデータ領域のみキャッシュメモリに保持することができ、キャッシュメモリの容量を増やさずにキャッシュのヒット率を上げ、外部RAM100へのアクセス量を低減させることができる。
特表2002−514818号公報(第4図) 特開平10−51644号公報(第2図、第5図)
しかし、画像データを区切るブロックサイズをより細分化すると、それを管理するデータマップの記憶領域が増え、それに伴いアドレスを指定するための比較器などの演算器も巨大化し、回路規模が増大してしまうという問題があった。
本発明はこのような点に鑑みてなされたものであり、外部記憶装置に記憶されたデータの一部をブロックごとに細分化して保持するとともに、回路規模の増大を招かないデータ処理装置を提供することを目的とする。
また、本発明の他の目的は、外部記憶装置に記憶されたデータの一部をブロックごとに細分化して保持するとともに、回路規模の増大を招かないデータ処理方法を提供することである。
本発明では上記問題を解決するために、外部記憶装置に記憶されたデータの一部を保持してデータ処理を行うデータ処理装置において、図1に示すように、外部記憶装置20に記憶された所定のデータ量ごとのブロック30に分割して表現された2次元以上のデータ空間のうち、一部の領域(図1では2つのデータ使用領域31a、31b)のデータを保持するデータ保持部12と、複数のブロック30からなる所定の大きさ(図1では4×4ブロック)の領域内におけるデータのデータ空間上での位置(図1ではデータ使用領域31a、31bの左上の頂点32a、32b)を、領域ごとに1つ記憶し、データ保持部12に保持されるデータのアドレスを管理するアドレス管理部13と、を有することを特徴とするデータ処理装置10が提供される。
上記の構成によれば、データ保持部12は外部記憶装置20に記憶された所定のデータ量ごとのブロック30に分割して表現された2次元以上のデータ空間のうち、一部の領域のデータを保持し、アドレス管理部13は、複数のブロック30からなる所定の大きさの領域内におけるデータのデータ空間上での位置を、領域ごとに1つ記憶し、データ保持部12に保持されるデータのアドレスを管理する。
本発明では、データ保持部は外部記憶装置に記憶された所定のデータ量ごとのブロックに分割して表現された2次元以上のデータ空間のうち、一部の領域のデータを保持し、アドレス管理部は、複数のブロックからなる所定の大きさの領域内におけるデータのデータ空間上での位置を、領域ごとに1つ記憶し、データ保持部に保持されるデータのアドレスを管理するので、複数のブロックに細分化されたデータを保持しても、回路規模の増大を招かない。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
まず、本実施の形態の概略を説明する。
図1は、データ処理装置の概略の構成を示すブロック図である。
データ処理装置10は、各種データ処理を行う演算処理部11と、外部記憶装置20に記憶されたデータの一部を保持するデータ保持部12と、データ保持部12で保持するデータの領域のデータ空間上での位置(以下記憶基準位置という。)を記憶基準位置記憶部に記憶し、データ保持部12に記憶されるデータのアドレスを管理するアドレス管理部13と、外部記憶装置20との間でデータの入出力を行うメモリインタフェイス14を有している。
演算処理部11は、例えば2次元データから頻繁に使用するデータ領域(データ使用領域)をデータ保持部12に記憶しておくために、データ使用領域の外部記憶装置20でのアドレスを指定する。2次元データは、図1に示すように、所定のデータ量ごとのブロック30に分割されて表現されている。演算処理部11は、例えば、データ保持部12に記憶したい矩形のデータ使用領域31a、31bの左上の頂点32a、32bのデータの外部記憶装置20でのアドレスと、そのデータ使用領域31a、31bの大きさを指定する。
データ保持部12は、指定されたデータ使用領域31a、31bを含むキャッシュ領域のデータを保持する。なおキャッシュ領域の大きさは、データ保持部12の大きさで決まり、以下では4×4ブロックで固定の値とするが、この数に限定されるものではない。図1の場合、キャッシュ領域とデータ使用領域31a、31bは等しいので、以下ではこのデータ使用領域31a、31bをキャッシュ領域31a、31bと呼ぶことにする。
アドレス管理部13は、キャッシュ領域31a、31b内の2次元データ上での記憶基準位置を記憶する記憶基準位置記憶部13aを有している。以下では、記憶基準位置をキャッシュ領域31a、31bの左上の頂点32a、32bの座標とする。アドレス管理部13はさらに、キャッシュ領域31a、31bのデータを書き込むデータ保持部12のアドレスの指定や、各種データ処理において演算処理部11から要求されたデータがデータ保持部12にある場合は、記憶された記憶基準位置を参照して要求されたデータのデータ保持部12上のアドレスを指定する。
メモリインタフェイス14は、指定された上記のキャッシュ領域31a、31bのデータを外部記憶装置20に要求し、外部記憶装置20から得られたデータをデータ保持部12に転送する。
以下、データ処理装置10の動作の概略を説明する。
まず、演算処理部11が頻繁に使用するデータをデータ保持部12に書き込む際のデータ処理装置10の動作を説明する。データ書き込みの際、演算処理部11により、頂点32a、32bを記憶基準位置とした4×4ブロックのキャッシュ領域31a、31bが指定されると、アドレス管理部13は、記憶基準位置記憶部13aに、頂点32a、32bの座標を記憶する。図1のような2次元データにおいて、横方向をX方向、縦方向をY方向とし、1番左上のブロックの左上頂点のアドレスを座標(0,0)で表し、各ブロックの左上頂点のアドレスを(X,Y)(X、Yは自然数である。)で表すとすると、キャッシュ領域31aの頂点32aの座標は(1,1)、キャッシュ領域31bの頂点32bの座標は(6,4)である。そして、データ保持部12は、メモリインタフェイス14を介して外部記憶装置20から設定されたキャッシュ領域31a、31b内のデータを受け取り、アドレス管理部13により指定されるアドレスにデータを保持する。なお、記憶基準位置の記憶は、データ保持部12への書き込みの後でもよい。
次に、演算処理部11によるデータ処理の際のデータ処理装置10の動作を説明する。演算処理部11はデータ処理に必要なデータ領域を指定する。データ領域の指定において演算処理部11は、例えば要求する矩形のデータ領域の左上頂点の座標と、データ領域の大きさをアドレス管理部13に通知する。アドレス管理部13は、記憶基準位置記憶部13aに記憶されたキャッシュ領域31a、31bの頂点32a、32bの座標を参照し、要求されたデータが4×4ブロックのキャッシュ領域31a、31b内にあれば、該当するデータのデータ保持部12上のアドレスを指定して演算処理部11にそのデータを読み出す。一方、データがキャッシュ領域31a、31b内にない場合には、メモリインタフェイス14を介して、そのデータを外部記憶装置20に要求し、外部記憶装置20からデータを演算処理部11に読み出す。なお、外部記憶装置20から読み出したデータを、データ保持部12に保持するようにしてから演算処理部11に読み出すようにしてもよい。
このように、本実施の形態のデータ処理装置10によれば、4×4の16ブロックからなるキャッシュ領域の2次元データ上での位置をキャッシュ領域ごとに1つ記憶するので、従来のようにブロックごとに記憶基準位置を記憶していた場合と比べ1/16の記憶量で済み、回路規模の増大を招かない。
次に本実施の形態のデータ処理装置の詳細を説明する。なお、以下では、データ処理装置として、画像データを処理する画像処理LSIを例にして説明するがこれに限定されるものではない。
図2は、本実施の形態の画像処理LSIの構成を示す図である。
画像処理LSI50は、画像処理回路51、キャッシュメモリ52、キャッシュアドレス管理部53、メモリインタフェイス54を有する。
画像処理回路51は、外部記憶装置60に記憶された画像データをもとに各種画像処理を行う。なお、外部記憶装置60は、例えば、SDRAM(Synchronous Dynamic RAM)である。
キャッシュメモリ52は、外部記憶装置60に記憶された画像データの一部を記憶する。キャッシュメモリ52には、例えば、SRAM(Static RAM)が用いられる。
キャッシュアドレス管理部53は、外部記憶装置60に記憶された画像データのうち、キャッシュメモリ52に記憶されたキャッシュ領域のデータを指定するための記憶基準位置が管理されたデータマップ53aと、キャッシュ領域中で有効なデータブロック(詳細は後述する)の位置を記憶する有効ブロック位置記憶部53bを有する。さらに、画像処理回路51からのデータ要求などに応じて、キャッシュメモリ52上のアドレスを指定する。
メモリインタフェイス54は、画像処理LSI50と外部記憶装置60との間でデータの送受信を行う機能を有し、画像処理LSI50からのデータの要求に応じて、外部記憶装置60に記憶されているデータを読み出して、キャッシュメモリ52に転送する機能を有している。
以下、本実施の形態の画像処理LSI50の動作を説明する。
まず、キャッシュメモリ52への書き込み時の動作を説明する。
なお、以下でもキャッシュ領域の大きさは4×4ブロックの固定であるとして説明するが、特にこの数に限定されるものではない。
図3は、キャッシュメモリへのデータ書き込み時の動作を説明するフローチャートである。
画像処理LSI50において、画像処理回路51は、キャッシュメモリ52へのデータの書き込み要求を行い、キャッシュアドレス管理部53に対しキャッシュメモリ52に書き込む、画像データ上のデータ使用領域を指定する(ステップS1)。書き込み要求では、例えば、画像データ上で使用する矩形のデータ使用領域の左上頂点の座標と、そのデータ使用領域の大きさが指定される。ここでは、キャッシュ領域と同じ4×4ブロックのデータ使用領域が指定された場合について説明する。
図4は、キャッシュ領域の設定の例を示す図である。
画像データは、例えば、1つが16×16画素からなるブロックで細分化されて表現されている。そして、2次元画像データの横方向をX方向、縦方向をY方向とし、一番左上のブロックの左上頂点画素のアドレスを座標(0,0)で表し、各ブロックの左上頂点画素のアドレスを(X,Y)(X、Yは自然数である。)で表すとすると、画像処理回路51は、要求するデータ使用領域を以下のように指定する。例えば、3つの4×4ブロックのデータ使用領域71a、71b、71cを指定する場合、データ使用領域71a、71b、71cの左上頂点72a、72b、72cの座標(2,1)、(3,8)、(9,3)を指定する。この座標がキャッシュ領域の記憶基準位置となり、4×4ブロックの3つのキャッシュ領域が設定される。なお、この例の場合はデータ使用領域71a、71b、71cと同じ領域となるので、以下ではキャッシュ領域71a、71b、71cと記す。
次に、キャッシュアドレス管理部53は、画像処理回路51で指定された座標をキャッシュ領域71a、71b、71cの記憶基準位置としてデータマップ53aに記憶する(ステップS2)。
図5は、データマップの例である。
例えば、図4のような場合、データマップ53aにはステップS1で指定された座標(2,1)、(3,8)、(9,3)が記憶される。さらに、キャッシュ領域71a、71b、71cのデータの有効性が管理されており、キャッシュ領域71a、71b、71cのデータがキャッシュメモリ52に書き込まれていない場合は“無効”が設定され、書き込まれている場合には“有効”が設定され、画像処理回路51により読み出しが可能になる。
次に、設定されたキャッシュ領域71a、71b、71cのデータを、メモリインタフェイス54を介して外部記憶装置60に要求する(ステップS3)。このとき、指定された記憶基準位置の座標をもとに外部記憶装置60の4×4ブロックのデータ要求が行われる。
外部記憶装置60から読み出されたデータは、メモリインタフェイス54を介してキャッシュメモリ52に書き込まれる(ステップS4)。この際、キャッシュアドレス管理部53は、キャッシュメモリ52上のアドレスを指定してデータを書き込む。
キャッシュメモリ52に要求したキャッシュ領域71a、71b、71cのデータの書き込みが完了すると、キャッシュアドレス管理部53は、キャッシュメモリ52からの書き込み完了の通知をうけ、書き込んだキャッシュ領域71a、71b、71cに対応するデータの有効性(図5参照)を“有効”とし、キャッシュメモリ52への書き込み処理を終了する(ステップS5)。
次に、画像処理回路51により所定のデータアクセスがあった場合の画像処理LSI50の動作を説明する。
図6は、データアクセス時の動作を説明するフローチャートである。
画像処理回路51によってデータ要求がなされると(ステップS6)、キャッシュアドレス管理部53はデータマップ53aを参照して、指定されたデータがキャッシュメモリ52にあるか否かを判断する(ステップS7)。例えば、図4のようにキャッシュ領域71a、71b、71cが設定されている画像データにおいて、座標(3,2)から、2×2ブロック分のデータの要求があった場合、そのデータはキャッシュ領域71aに含まれる。このとき、キャッシュアドレス管理部53は、キャッシュメモリ52上のアドレスを指定して、要求されたデータをキャッシュメモリ52から画像処理回路51に読み出す(ステップS8)。一方、ステップS7の処理で、指定されたデータがキャッシュメモリ52にないと判断された場合には、メモリインタフェイス54を介して外部記憶装置60にそのデータが要求され、外部記憶装置60から画像処理回路51に読み出される(ステップS9)。なお、外部記憶装置60から読み出したデータをキャッシュメモリ52の所定の領域に新たに保持するようにしてもよい。
このように、キャッシュ領域をブロック単位ではなく複数のブロックごと(上記では4×4ブロック)に設定し、キャッシュ領域の画像データ上での記憶基準位置をキャッシュ領域ごとに1つ記憶するようにしたので、複数のブロックに細分化されたデータをキャッシュメモリ52で保持しても、データマップ53aの領域の増加は少なく、回路規模の増大を防止することが可能である。
ところで上記では、画像処理回路51でのデータ使用領域、キャッシュ領域とも4×4ブロックで同じ大きさの場合について説明したが、データ使用領域がキャッシュ領域よりも小さい場合、無駄なデータをキャッシュメモリ52に記憶してしまう。
この無駄を避けるためには、必要なデータのみを外部記憶装置60から読み出し、キャッシュメモリ52に記憶すればよい。但しキャッシュメモリ52への記憶は固定の大きさのキャッシュ領域ごとである。つまり図4の例では4×4ブロックのキャッシュ領域71a、71b、71cごとである。そこで、本実施の形態の画像処理LSI50において、キャッシュアドレス管理部53は、外部記憶装置60から読み出してキャッシュメモリ52に保持したデータのブロックと、保持しないデータのブロックの位置を管理する。具体的には、図2で示したキャッシュアドレス管理部53の有効ブロック位置記憶部53bに、1つのキャッシュ領域内におけるブロックごとのデータの有効性を記憶する。ここでは、1つのキャッシュ領域内で、外部記憶装置60から読み込んだデータのブロックを有効にし、読み込まなかったデータのブロックを無効に設定する。以下、その設定方法について説明する。
図7は、3×4ブロックのデータ使用領域にキャッシュ領域を設定した例である。
例えば、画像処理回路51が、座標(2,1)を矩形の左上頂点の座標とする3×4ブロックのデータ使用領域73をキャッシュメモリ52に記憶する場合、キャッシュ領域74は4×4ブロックの固定であるので、キャッシュ領域74内にはデータ使用領域73以外に、座標(5,1)を左上頂点とする1×4ブロック分のデータを使用しない領域も含むようになる。
この場合のキャッシュメモリ52への書き込み処理は図3の処理の流れとほぼ同様である。ステップS1で画像処理回路51から座標(2,1)で大きさ3×4ブロックの書き込み要求があると、ステップS2で記憶基準位置となるキャッシュ領域74の左上頂点75の座標(2,1)をデータマップ53aに記憶したのち、ステップS3で外部記憶装置60へデータ使用領域73のみのデータ要求を行う。その後、ステップS4でキャッシュメモリ52のアドレスが指定されてデータ書き込みが行われる。書き込みが完了すると、ステップS5で、キャッシュアドレス管理部53は書き込み完了の通知を受けるが、このとき書き込んだキャッシュ領域74のデータを有効ブロック位置記憶部53bに記憶する。
図8は、有効ブロック位置記憶部に記憶されたキャッシュ領域の各ブロックにおけるデータの有効性を示す図である。
有効ブロック位置記憶部53bには、図7のように設定したキャッシュ領域74において外部記憶装置60から書き込んだデータ領域のブロックを有効“1”とし、それ以外を無効“0”とすることで、有効なデータのブロック位置が記憶されている。
次に、上記のように記憶したデータに対して画像処理回路51により所定のデータアクセスがあった場合の画像処理LSI50の動作を説明する。
図9は、有効ブロック位置記憶部を用いた場合におけるデータアクセス時の動作を説明するフローチャートである。
画像処理回路51によるデータ要求があると(ステップS10)、キャッシュアドレス管理部53はデータマップ53aを参照して、指定されたデータがキャッシュ領域74内にあるか否かを判断する(ステップS11)。指定されたデータがキャッシュ領域74外にある場合には、キャッシュアドレス管理部53は、外部記憶装置60上のアドレスを指定してメモリインタフェイス54を介して外部記憶装置60のデータを画像処理回路51に読み出す(ステップS12)。なお、このとき外部記憶装置60から読み出したデータをキャッシュメモリ52の所定の領域に新たに保持するようにしてもよい。
ステップS11の処理でキャッシュ領域74内に指定されたデータがあると判断された場合には、キャッシュアドレス管理部53は、有効ブロック位置記憶部53bを参照して指定されたデータのブロックが有効か無効かを判断する(ステップS13)。
図10は、キャッシュ領域内で指定されたデータ領域を示す図であり、(A)が指定されたデータ領域内が全て有効なブロックである場合、(B)が指定されたデータ領域内に無効なブロックを含む場合を示している。
図10(A)のように、指定されたデータ領域76のブロックが全て有効“1”である場合には、キャッシュメモリ52からそのデータ領域76に対応するデータが画像処理回路51に読み出される(ステップS14)。
一方、図10(B)のように、指定されたデータ領域77が無効“0”なブロックを含んでいる場合、キャッシュアドレス管理部53は不足している分のデータを外部記憶装置60から読み出す。このとき指定する外部記憶装置60のアドレスは図7より(5,2)であり、1×3ブロックデータを読み出す(ステップS15)。さらに、キャッシュアドレス管理部53は、読み出したデータをキャッシュメモリ52に書き込む。このとき指定するアドレスはキャッシュメモリ52上でのアドレスであり、図7のキャッシュ領域74の左上頂点75をキャッシュメモリ52上のアドレス(0,0)とすると、(3,1)であり、1×3ブロックのデータを書き込む(ステップS16)。キャッシュメモリ52によりデータの書き込みの完了がキャッシュアドレス管理部53に通知されると、キャッシュアドレス管理部53は、有効ブロック位置記憶部53bに記憶されているキャッシュ領域74の各データブロックの有効性を更新する。
図11は、更新された有効ブロックを示す図である。
この図のように、キャッシュメモリ52に書き込まれたデータの位置に対応するブロックが有効“1”に変更される(ステップS17)。そして、キャッシュアドレス管理部53は、ステップS16までの処理でキャッシュメモリ52に書き込まれているデータのうち、画像処理回路51で要求されているデータのキャッシュメモリ52上でのアドレス(2,1)を指定する。これによってキャッシュメモリ52は、2×3ブロックのデータを画像処理回路51に読み出す(ステップS18)。
以上のように、キャッシュ領域内で必要のあるデータのみ外部記憶装置60からキャッシュメモリ52に記憶するので、画像処理回路51が必要とするデータ領域に応じて、キャッシュ領域を柔軟に設定でき、キャッシュのヒット率を上げることができ、外部記憶装置60への外部アクセスを減少できる。
本実施の形態の画像処理LSI50で行う画像処理として、例えば、MPEG(Moving Picture Experts Group)−4の符号化処理などが考えられる。MPEG−4の任意形状符号化処理では、表示する人物や動物などのオブジェクトの形状に応じて符号化するが、そのような場合にデータ使用領域も複雑な形状となる。このとき、上記のようにキャッシュ領域内の細分化されたブロックにおいて有効なブロック、無効なブロックを設定し、有効なブロックのみデータをキャッシュメモリ52に記憶することで、画像処理回路51からの効率的なデータアクセスが実現できる。
ところで、画像処理回路51が必要とするデータ使用領域が画像データ内で変更された場合、新たにキャッシュ領域を設定するが、新しいキャッシュ領域が元のキャッシュ領域と重なっている場合には、すべてのキャッシュ領域内のデータを更新するのは効率が悪い。本実施の形態の画像処理LSI50は、以下のような処理によって、元のキャッシュ領域のデータを再利用することが可能である。
図12は、変更前のデータ使用領域とキャッシュ領域及びキャッシュアドレス管理部に記憶されるデータを示す図であり、(A)が変更前のデータ使用領域及びキャッシュ領域、(B)が変更前にキャッシュアドレス管理部に記憶されているデータマップ及び有効ブロック位置記憶部の内容を示す図である。
図12(A)のように、データ使用領域80aに対して、左上頂点81aを記憶基準位置とした4×4ブロックのキャッシュ領域82aが設定されており、このとき有効ブロック位置記憶部53bに記憶されているキャッシュ領域82aの各ブロックのデータの有効性は、図12(B)のように1番右上のブロックのみが無効“0”となっている。データマップ53aには、キャッシュ領域82aの左上頂点81aの座標(2,1)を記憶基準位置として記憶する。さらに、データマップ53aには、変更前のキャッシュ領域82aにおけるキャッシュメモリ52上でのデータの記憶開始位置を記憶する。以下では、変更前のキャッシュ領域82aの左上頂点81aのデータを記憶するキャッシュメモリ52上のアドレスを(0,0)とする。変更前では、データ使用領域80aのデータを全て外部記憶装置60から読み出して書き込むので記憶開始位置は(0,0)となる。なお、データの有効性は“有効”であり、画像処理回路51に読み出し可能な状態となっている。
この状態から、画像処理回路51より、(4,3)から大きさ4×3ブロック分のデータを、キャッシュメモリ52に記憶する書き込み要求があった場合、キャッシュ領域を以下の図のように設定する。
図13は、変更後のデータ使用領域とキャッシュ領域及びキャッシュアドレス管理部に記憶されるデータを示す図であり、(A)が変更後のデータ使用領域及びキャッシュ領域、(B)が変更後にキャッシュアドレス管理部に記憶されるデータマップ及び有効ブロック位置記憶部の内容を示す図である。
図13(A)のように、アドレス(4,3)から大きさ4×3ブロックのデータ使用領域80bが指定されると、キャッシュアドレス管理部53は、データ使用領域80bを含み、例えば、変更前のキャッシュ領域82aと多く重なるように左上頂点81bを決めた4×4ブロックのキャッシュ領域82bを設定する。ここでは、キャッシュ領域82bの記憶基準位置となる左上頂点81bの座標は(4,2)として、図13(B)のようにデータマップ53aに記憶する。このときさらに、キャッシュアドレス管理部53は、変更後のキャッシュメモリ52上の記憶開始位置を(2,1)に設定する。
図14は、キャッシュメモリ上の記憶開始位置を示す図である。
変更前のキャッシュ領域82aの左上頂点81aをキャッシュメモリ52上のアドレス(0,0)とした場合、斜線で示した(2,1)からの2×3ブロックのデータは、変更後のキャッシュ領域82b内に含まれるデータ領域である。キャッシュメモリ52に記憶されているこのデータ領域を残すために、キャッシュアドレス管理部53は、図13(B)の有効ブロック位置記憶部53bのように、変更前のキャッシュ領域82aの右下の2×3ブロックのデータの有効性を“1”のままにして、それ以外は新たな領域となるためキャッシュメモリ52に記憶しているデータを無効“0”にする。そして、新たな領域に外部記憶装置60からのデータを書き込むために、変更後のキャッシュ領域82bにおける記憶開始位置を、図14に示すようにキャッシュメモリ52上の(2,1)に変更する。また、変更後のキャッシュ領域82bのデータの書き込みが完了していないのでデータマップ53aのデータの有効性は“無効”とする。
この状態から、不足しているデータを外部記憶装置60へ要求する。一般にデータは矩形領域ごとに取得するので、ここでも2回に分けて外部記憶装置60からデータを取得する。
まず、不足データのうち、図13(A)で示す変更後のキャッシュ領域82b内で、画像処理回路51から書き込み要求されている座標(6,3)からの2×3ブロック分のデータを外部記憶装置60に要求する。そして、外部記憶装置60からデータを読み出すと、キャッシュメモリ52は、キャッシュアドレス管理部53によって指定されたアドレス(0,2)から2×3ブロック分のデータを書き込む。書き込みが完了すると、キャッシュメモリ52は、書き込み完了をキャッシュアドレス管理部53に通知する。これを受けてキャッシュアドレス管理部53は、有効ブロック位置記憶部53bの内容を更新する。
図15は、1回目の書き込み完了時に更新された有効ブロックを示す図である。
図のように、書き込みが完了したキャッシュメモリ52のアドレス(0,2)から2×3ブロック分(図の斜線部)のブロックを有効“1”としている。
続いて、不足データの残りである図13(A)の画像データの座標(4,5)からの2×1ブロック分のデータを、外部記憶装置60に要求する。そして、外部記憶装置60からデータを読み出すと、キャッシュメモリ52は、キャッシュアドレス管理部53によって指定されたアドレス(2,0)から2×1ブロック分のデータを書き込む。書き込みが完了すると、キャッシュメモリ52は、書き込み完了をキャッシュアドレス管理部53に通知する。これを受けてキャッシュアドレス管理部53は、有効ブロック位置記憶部53bの内容を更新する。
図16は、2回目の書き込み完了時に更新された有効ブロックを示す図である。
図のように、書き込みが完了したアドレス(2,0)から2×1ブロック分(図の斜線部)のブロックを有効“1”としている。
これで、変更したキャッシュ領域82b内のデータの書き込みが完了したので、図13(A)で示したデータマップ53aにおいて、データの有効性を“有効”とし画像処理回路51からの読み出しを可能とする。
このようにキャッシュ領域を変更してキャッシュメモリ52にデータを記憶した状態において、画像処理回路51から、所定のデータアクセスがあった場合の動作を簡単に説明する。
図17は、変更後のデータ使用領域に対応したキャッシュ領域の設定後に、画像処理回路からデータ要求がなされた場合に指定されるキャッシュメモリ上のアドレスを示す図であり、(A)が画像処理回路から要求されたデータ領域と、(B)がそのデータ領域のキャッシュメモリ上での位置を示す図である。
例えば、(5,3)を左上頂点とした2×3ブロック分のデータの読み出しが要求されると、キャッシュアドレス管理部53は、データマップ53aを参照して要求されたデータがキャッシュメモリ52に記憶されているか否かを調べる。図13で示すように、データマップ53aに記憶されているキャッシュ領域82bの記憶基準位置は、キャッシュ領域82bの左上頂点81bの(4,2)であるから、要求されたデータ領域83は、図17(A)のようにキャッシュ領域82bに存在する。さらに、キャッシュアドレス管理部53は、キャッシュメモリ52の記憶開始位置を参照する。データマップ53aからキャッシュ領域82bの記憶開始位置は(2,1)である。この位置はキャッシュ領域82bの記憶基準位置である(4,2)のデータを記憶する、キャッシュメモリ52上でのアドレスである。そのため、画像処理回路51に読み出すデータは、図17(B)のようにアドレス(3,2)から2×3ブロック分のデータ(図の斜線部)となる。
以上のように、画像処理回路51が必要とするデータ領域の変更の際に、キャッシュ領域内のデータを全て書き換えるのではなく、変更前のキャッシュ領域と同じデータは残し再利用し、新しいキャッシュ領域内において必要とされるデータのみを外部記憶装置60から読み出すようにしたので、外部記憶装置60への無駄なアクセスを抑えることができる。
なお、上記の説明では2次元データを処理する場合を例にして説明したが、2次元以上のデータに適用することも可能である。
図18は、3次元データの一部をキャッシュメモリに記憶する場合の例を説明する図であり、(A)は3次元データにキャッシュ領域を設定した例、(B)は設定したキャッシュ領域の詳細を示す図である。
3次元データは、図18(A)では図示を省略しているが、所定のデータ量ごとの複数のブロックで表現される。そして、この3次元データに、記憶基準位置85a、85bから所定の大きさのキャッシュ領域86a、86bが設定される。キャッシュ領域86a、86bは、図18(B)のように、例えばそれぞれ記憶基準位置85a、85bからの3×3×3ブロックからなる。なお、キャッシュ領域86a、86bにおいて斜線のデータブロックは、外部記憶装置から読み出す必要のない無効なデータブロックを示している。
図19は、3次元データを扱うキャッシュアドレス管理部が記憶するデータの一例を示す図である。
図18で示した2つのキャッシュ領域86a、86bにおいて、3次元データ上での記憶基準位置85a、85bの座標をデータマップ53aに記憶する。例えば、キャッシュ領域86aの記憶基準位置85aに対して座標(3,3,3)、キャッシュ領域86bの記憶基準位置85bに対して座標(10,3,12)が記憶される。さらに、有効ブロック位置記憶部53bにおいて、領域87aにはキャッシュ領域86aの27ブロック分の有効ブロック位置が記憶され、領域87bにはキャッシュ領域86bの27ブロック分の有効ブロック位置が記憶される。
その他の具体的な処理については説明を省略するが、基本的には2次元データ(画像データ)の場合と同様であり、単に3次元に拡張するだけである。
なお、上記では、記憶基準位置をキャッシュ領域に含まれるブロックのうち左上のブロックの左上頂点の座標と設定したが、これに限定されることはない。例えば、データブロック内の個々のデータ(画像データの場合は画素)の位置に対し記憶基準位置を決めキャッシュ領域を設定するようにしてもよい。これにより、キャッシュ領域をより柔軟に設定することができ、キャッシュ効率を上げることができる。
本発明は、例えば、表示する人物や動物などのオブジェクトの形状に応じて符号化するMPEG−4の任意形状符号化処理を行う画像処理LSIに好適に利用可能である。
データ処理装置の概略の構成を示すブロック図である。 本実施の形態の画像処理LSIの構成を示す図である。 キャッシュメモリへのデータ書き込み時の動作を説明するフローチャートである。 キャッシュ領域の設定の例を示す図である。 データマップの例である。 データアクセス時の動作を説明するフローチャートである。 3×4ブロックのデータ使用領域にキャッシュ領域を設定した例である。 有効ブロック位置記憶部に記憶されたキャッシュ領域の各ブロックにおけるデータの有効性を示す図である。 有効ブロック位置記憶部を用いた場合におけるデータアクセス時の動作を説明するフローチャートである。 キャッシュ領域内で指定されたデータ領域を示す図であり、(A)が指定されたデータ領域内が全て有効なブロックである場合、(B)が指定されたデータ領域内に無効なブロックを含む場合を示す図である。 更新された有効ブロックを示す図である。 変更前のデータ使用領域とキャッシュ領域及びキャッシュアドレス管理部に記憶されるデータを示す図であり、(A)が変更前のデータ使用領域及びキャッシュ領域、(B)が変更前にキャッシュアドレス管理部に記憶されているデータマップ及び有効ブロック位置記憶部の内容を示す図である。 変更後のデータ使用領域とキャッシュ領域及びキャッシュアドレス管理部に記憶されるデータを示す図であり、(A)が変更後のデータ使用領域及びキャッシュ領域、(B)が変更後にキャッシュアドレス管理部に記憶されるデータマップ及び有効ブロック位置記憶部の内容を示す図である。 キャッシュメモリ上の記憶開始位置を示す図である。 1回目の書き込み完了時に更新された有効ブロックを示す図である。 2回目の書き込み完了時に更新された有効ブロックを示す図である。 変更後のデータ使用領域に対応したキャッシュ領域の設定後に、画像処理回路からデータ要求がなされた場合に指定されるキャッシュメモリ上のアドレスを示す図であり、(A)が画像処理回路から要求されたデータ領域と、(B)がそのデータ領域のキャッシュメモリ上での位置を示す図である。 3次元データの一部をキャッシュメモリに記憶する場合の例を説明する図であり、(A)は3次元データにキャッシュ領域を設定した例、(B)は設定したキャッシュ領域の詳細を示す図である。 3次元データを扱うキャッシュアドレス管理部が記憶するデータの一例を示す図である。 従来の画像処理LSIの概略の構成を示す図である。 内部RAMを有する従来の画像処理LSIの概略の構成を示す図である。 キャッシュ領域の設定を示す図であり、(A)がキャッシュ領域を大きく設定した場合、(B)がキャッシュ領域を小さく設定した場合の例を示す図である。 画像データをブロックで細分化して必要なデータをキャッシュメモリに記憶する従来の手法を説明する図である。
符号の説明
10 データ処理装置
11 演算処理部
12 データ保持部
13 アドレス管理部
13a 記憶基準位置記憶部
14 メモリインタフェイス
20 外部記憶装置
30 ブロック
31a、31b データ使用領域(キャッシュ領域)
32a、32b 左上頂点

Claims (5)

  1. 外部記憶装置に記憶されたデータの一部を保持してデータ処理を行うデータ処理装置において、
    前記外部記憶装置に記憶された所定のデータ量ごとのブロックに分割して表現された2次元以上のデータ空間のうち、一部の領域のデータを保持するデータ保持部と、
    複数の前記ブロックからなる所定の大きさの前記領域の前記データ空間上での位置を、前記領域ごとに1つ記憶し、前記データ保持部に保持される前記データのアドレスを管理するアドレス管理部と、
    を有することを特徴とするデータ処理装置。
  2. 前記データ保持部は、前記領域内の複数の前記ブロックのうち、データ処理に使用する前記ブロックのデータのみ前記外部記憶装置から読み出して保持し、
    前記アドレス管理部は、前記領域内の複数の前記ブロックのうち、前記データ保持部に前記データを保持した前記ブロックと、保持しない前記ブロックの位置を管理することを特徴とする請求項1記載のデータ処理装置。
  3. 前記アドレス管理部は、前記データ保持部に前記データを記憶する前記領域が変更されると、変更前と変更後の前記領域が重なっている場合には、前記データ保持部におけるデータ記憶開始位置を変更して、重なり部分の変更前の前記領域の前記データをそのまま保持させることを特徴とする請求項1記載のデータ処理装置。
  4. 前記位置は、前記領域の所望の位置であることを特徴とする請求項1記載のデータ処理装置。
  5. 外部記憶装置に記憶されたデータの一部を保持してデータ処理を行うデータ処理方法において、
    前記外部記憶装置に記憶された所定のデータ量ごとのブロックに分割して表現された2次元以上のデータ空間のうち、一部の領域のデータをデータ保持部に保持し、
    複数の前記ブロックからなる所定の大きさの前記領域の前記データ空間上での位置を、前記領域ごとに1つ記憶し、
    前記データ保持部に保持される前記データのアドレスを管理する、
    ことを特徴とするデータ処理方法。
JP2005162356A 2005-06-02 2005-06-02 データ処理装置及びデータ処理方法 Pending JP2006338334A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005162356A JP2006338334A (ja) 2005-06-02 2005-06-02 データ処理装置及びデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005162356A JP2006338334A (ja) 2005-06-02 2005-06-02 データ処理装置及びデータ処理方法

Publications (1)

Publication Number Publication Date
JP2006338334A true JP2006338334A (ja) 2006-12-14

Family

ID=37558843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005162356A Pending JP2006338334A (ja) 2005-06-02 2005-06-02 データ処理装置及びデータ処理方法

Country Status (1)

Country Link
JP (1) JP2006338334A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104981838A (zh) * 2012-12-27 2015-10-14 英特尔公司 优化图像存储器访问
JP2017097066A (ja) * 2015-11-19 2017-06-01 ルネサスエレクトロニクス株式会社 画像処理装置及び画像処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992018945A1 (en) * 1991-04-15 1992-10-29 Oki Electric Industry Co., Ltd. Apparatus for processing image
JPH10261076A (ja) * 1997-03-17 1998-09-29 Nec Corp 画像データ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992018945A1 (en) * 1991-04-15 1992-10-29 Oki Electric Industry Co., Ltd. Apparatus for processing image
JPH10261076A (ja) * 1997-03-17 1998-09-29 Nec Corp 画像データ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104981838A (zh) * 2012-12-27 2015-10-14 英特尔公司 优化图像存储器访问
JP2016502211A (ja) * 2012-12-27 2016-01-21 インテル・コーポレーション 画像メモリアクセスの最適化
JP2017097066A (ja) * 2015-11-19 2017-06-01 ルネサスエレクトロニクス株式会社 画像処理装置及び画像処理方法

Similar Documents

Publication Publication Date Title
CN102750664B (zh) 基于寄存器的对纹理请求的排队
AU2010313045B2 (en) Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files
JP2010509688A (ja) 3dグラフィック回路のための画素キャッシュ
CN108492243B (zh) 一种基于块处理的图像旋转装置、系统和方法
CN105247478B (zh) 用于存储命令的方法及相关装置
CN111028360B (zh) 一种3d图像处理中数据读写方法及系统、存储介质及终端
US6587113B1 (en) Texture caching with change of update rules at line end
JP2011113234A (ja) 画像処理装置、および画像処理装置の動作方法
JP2014506700A (ja) グラフィックス処理のためのデータストレージアドレス割当て
US20110069065A1 (en) Image processing apparatus, computer readable medium and method thereof
CN101299328A (zh) 一种图像显示方法和装置
US9483843B2 (en) Method and system for expediting bilinear filtering
JP2009099098A (ja) コンピュータグラフィックス描画装置及び描画方法
CN111209116A (zh) 一种分配显存空间的方法、装置及计算机存储介质
US6683615B1 (en) Doubly-virtualized texture memory
TWI395152B (zh) 繪圖處理單元及處理邊框顏色資訊之方法
JPWO2013021525A1 (ja) 画像処理装置、画像処理方法、プログラム、及び集積回路
CN103297780A (zh) 提高解码速率的方法及系统
JPS62231382A (ja) イメ−ジ処理方法及び装置
JP2006338334A (ja) データ処理装置及びデータ処理方法
JP2006092217A (ja) メモリ制御方法、グラフィックプロセッサおよび情報処理装置
US8982134B2 (en) Area-based dependency chain analysis of shaders and command stream
CN104769559B (zh) 快速、动态高速缓存封装
EP3474224A1 (en) Graphics processing method and device
US7710425B1 (en) Graphic memory management with invisible hardware-managed page faulting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110809