JP2008033431A - 画像処理用メモリ - Google Patents
画像処理用メモリ Download PDFInfo
- Publication number
- JP2008033431A JP2008033431A JP2006203542A JP2006203542A JP2008033431A JP 2008033431 A JP2008033431 A JP 2008033431A JP 2006203542 A JP2006203542 A JP 2006203542A JP 2006203542 A JP2006203542 A JP 2006203542A JP 2008033431 A JP2008033431 A JP 2008033431A
- Authority
- JP
- Japan
- Prior art keywords
- rows
- memory
- access
- row decoder
- pixel data
- 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
Landscapes
- Dram (AREA)
- Image Input (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】複数の行、複数の列にまたがるデータを1サイクルでアクセスでき、異なるブロックをまたぐデータをアクセスする場合でも、必要なデータを1サイクルでアクセス可能な画像処理用メモリを提供する。
【解決手段】マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、行デコーダがブロックの異なる連続したL行を選択し、列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における縦方向データにアクセスする。また行デコーダが連続したM行を選択し、列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における横方向データにアクセスする。
【選択図】図2
【解決手段】マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、行デコーダがブロックの異なる連続したL行を選択し、列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における縦方向データにアクセスする。また行デコーダが連続したM行を選択し、列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における横方向データにアクセスする。
【選択図】図2
Description
本発明は、画像処理、フィルタ演算に特化した画像処理用メモリに関する。
近年、通信ネットワークを通じて動画像の送受信を行うことや、動画像を蓄積メディアに蓄積することが広く行なわれている。一般に、動画像は情報量が大きいため、伝送ビットレートの限られた通信路を用いて動画像を伝送する場合、あるいは蓄積容量の限られた蓄積メディアに動画像を蓄積する場合には、動画像を符号化・復号化する技術が必要不可欠である。動画像の符号化・復号化方式として、ISO/IECが標準化を進めているMPEG(Moving Picture Experts Group)やH.26Xがある。これらは動画像を構成する経時的に連続した複数のフレームの符号化又は復号化を行うものであり、動画像の時間的相関、空間的相関を利用した冗長性の削減を行うことにより動画像の情報量を減らして符号化し、符号化された動画像を再度元の動画像に復号化する技術である。
ここで、動画像の時間的相関を利用した冗長性の削減を行う手法として、動き補償フレーム間予測がある。これは、参照フレーム(前フレームなど)と符号化フレーム(現フレーム)間において、動画像が動いた方向と距離を表す動き量(動きベクトル)を利用し、検出された動きベクトル情報を使って、参照フレームを動き補償して予測フレームを作るものである。動き補償フレーム間予測符号化の原理としては、前フレームの中で最もよくマッチングするマクロブロックパターンの位置を見つけ、その位置の画像を予測画像とし、その位置を動きベクトル情報として伝送するものである。
この動き検出のアルゴリズムとして、全探索法が高画質を実現するアルゴリズムとして用いられている。しかし、この全探索法は高画質を実現する一方、NTSCサイズのMPEG画像(720×480ドット画像)で、180GOPS(Giga operations per sec)という膨大な演算量が必要となるという問題がある。また、これは、MPEGエンコーダ/デコーダ処理に必要となる全演算量の80%以上という演算量であり、この演算量を削減するための研究が行われている。この中で、画像データのメモリアクセス回数の削減による演算量の削減、更には低消費電力化のために、画像処理用メモリの改良が必要である。
すなわち、現在の画像処理アルゴリズムでは、画像の中の任意の点(ある特定の点)から、連続した多くの画素をアクセスする必要がある場合、従来の画像処理用メモリアクセスでは、必要な画素データがアドレス境界をまたいでいた場合、複数サイクルかけて読み出す必要があった。
例えば、図1−1に示すように、1フレームの画像が画像処理用メモリのブロックAからFに記憶されており、かつ、各ブロックAからFにはアドレス境界が存在するとしたときに、読み出し必要な画素データがブロックBとCのアドレス境界をまたいでいる場合は、ブロックBとCの少なくとも2回のアクセスが必要となっている。このように、複数回のアクセスのために時間的損失を生じ、また、複数回のアクセスの際に余計な画素データ部分を読み出してしまうために消費電力面でも損失が生じていた(消費電力オーバーヘッド)。
例えば、図1−1に示すように、1フレームの画像が画像処理用メモリのブロックAからFに記憶されており、かつ、各ブロックAからFにはアドレス境界が存在するとしたときに、読み出し必要な画素データがブロックBとCのアドレス境界をまたいでいる場合は、ブロックBとCの少なくとも2回のアクセスが必要となっている。このように、複数回のアクセスのために時間的損失を生じ、また、複数回のアクセスの際に余計な画素データ部分を読み出してしまうために消費電力面でも損失が生じていた(消費電力オーバーヘッド)。
また、画像処理においては、縦方向のフィルタ演算が必要となるものがある(H.264のデブロッキングフィルタ等)。従来の画像処理用メモリアクセスでは、横方向のデータしか取得できないため、複数回のサイクルをかけて横方向データを読出し、それをバッファリングして縦方向に置き換えるといった処理を行われていた。
例えば、図1−2に示すように、ブロックBで縦方向のデータが要求された場合、従来の画像処理用メモリアクセスでは、ブロックBで横方向に複数個のデータを取得し、それらの取得データから要求された縦方向のデータの部分の画素データを集約して縦方向のデータに置き換える必要があった。
これは、必要な画素データがアドレス境界をまたいでいた場合と同様に、複数回のアクセスのために時間的損失を生じ、また、複数回のアクセスの際に余計な画素データ部分を読み出してしまうために消費電力面でも損失が生じていた(消費電力オーバーヘッド)。
例えば、図1−2に示すように、ブロックBで縦方向のデータが要求された場合、従来の画像処理用メモリアクセスでは、ブロックBで横方向に複数個のデータを取得し、それらの取得データから要求された縦方向のデータの部分の画素データを集約して縦方向のデータに置き換える必要があった。
これは、必要な画素データがアドレス境界をまたいでいた場合と同様に、複数回のアクセスのために時間的損失を生じ、また、複数回のアクセスの際に余計な画素データ部分を読み出してしまうために消費電力面でも損失が生じていた(消費電力オーバーヘッド)。
RAM(Random Access Memory)を代表とする画像処理用メモリのアーキテクチャー自体は従来からあまり変わっていないが、画像処理アプリケーションの方が様々なデータのアクセスが必要となってきているのが現状である。
上述したような画像データのメモリアクセス回数の削減による演算量の削減、更には低消費電力化のため、従来からメモリ装置に関して様々な改善方法がなされている。例えば、マトリクス状に配置されたメモリセルに対して、縦横両方向(行方向および列方向)のデ−タの読み出し・書き込みを、ともに高速アクセスモードで行うことが可能なメモリが知られている(特許文献1)。特許文献1に開示されているメモリは、マトリクス状に配置されたメモリセルのそれぞれについて、2個のトランジスタを有するトランスファゲートを設け、一方のトランジスタについては同一行のものを第1ワード線に接続し、他方のトランジスタについては対角線方向のものを第2ワード線に接続するというものである(特許文献1の段落0033から段落0051を参照)。
特許文献1に開示されているメモリの場合、デ−タの読み出し・書き込みの際、第1ワード線若しくは第2ワード線のいずれか1本のレベルが固定する必要があり、一度には同一行のものか、同一対角線上のものしかアクセスできず、複数行に存在するメモリデータを自由にアクセスできるものではなかった。
特許文献1に開示されているメモリの場合、デ−タの読み出し・書き込みの際、第1ワード線若しくは第2ワード線のいずれか1本のレベルが固定する必要があり、一度には同一行のものか、同一対角線上のものしかアクセスできず、複数行に存在するメモリデータを自由にアクセスできるものではなかった。
また、同一ブロック内であれば横 方向、縦方向、ブロック全体、ブロックの一部といった任意のデータに対しバーストアクセスを可能にし、アクセス方向によらずに画像メモリに対する高速アクセスを可能にできる画像メモリが知られている(特許文献2)。
特許文献2に開示されている画像メモリは、画像フレーム全体を複数のブロックに分割し、それぞれのブロックをバーストアクセス可能なメモリアドレスのデータで構成するようにしたものである。すなわち、画像メモリを構成する際に、2次元的なブロックを同一行アドレスのデータにより構成することによって、同一ブロック内であれば横方向、縦方向もしくはブロック全体に対しバーストアクセスを可能にし、アクセス方向によらずに高速アクセスが可能としたものである(特許文献2の段落0192および段落0197を参照)。
特許文献2に開示されている画像メモリの場合、異なるブロックをまたぐデータをアクセスする場合は、同一行アドレスのデータをアクセスできないことが生じ、複数回数サイクルでアクセスすることになる。
特許文献2に開示されている画像メモリは、画像フレーム全体を複数のブロックに分割し、それぞれのブロックをバーストアクセス可能なメモリアドレスのデータで構成するようにしたものである。すなわち、画像メモリを構成する際に、2次元的なブロックを同一行アドレスのデータにより構成することによって、同一ブロック内であれば横方向、縦方向もしくはブロック全体に対しバーストアクセスを可能にし、アクセス方向によらずに高速アクセスが可能としたものである(特許文献2の段落0192および段落0197を参照)。
特許文献2に開示されている画像メモリの場合、異なるブロックをまたぐデータをアクセスする場合は、同一行アドレスのデータをアクセスできないことが生じ、複数回数サイクルでアクセスすることになる。
また、画像メモリへのアクセス形態として複数のアクセス形態を選択可能とした高速アクセスを可能にできる画像メモリが知られている(特許文献3)。
特許文献3に開示されている画像メモリは、ブロック(特許文献3中ではタイル)内位置情報は、縦あるいは横といったアクセスの種別によって異なる変換を受け、メモリに与えるアドレスと、データの入れ替え方法が連係することで、外部から縦あるいは横に連続したデータを一括してアクセスすることができるものである。
特許文献3に開示されている画像メモリの場合、異なるブロック(タイル)をまたぐデータをアクセスする場合は、データを一括してアクセスできないことが生じ、複数回数サイクルでアクセスすることになる。
特許文献3に開示されている画像メモリは、ブロック(特許文献3中ではタイル)内位置情報は、縦あるいは横といったアクセスの種別によって異なる変換を受け、メモリに与えるアドレスと、データの入れ替え方法が連係することで、外部から縦あるいは横に連続したデータを一括してアクセスすることができるものである。
特許文献3に開示されている画像メモリの場合、異なるブロック(タイル)をまたぐデータをアクセスする場合は、データを一括してアクセスできないことが生じ、複数回数サイクルでアクセスすることになる。
上述したように、従来の画像メモリは、複数の行、複数の列にまたがるデータを1サイクルでアクセスすることができなかった。本発明の画像処理用メモリは、複数の行、複数の列にまたがるデータを1サイクルでアクセスでき、異なるブロックをまたぐデータをアクセスする場合でも、必要なデータを1サイクルでアクセス可能な画像処理用メモリを提供することを目的とする。
また、本発明の画像処理用メモリは、メモリのデータアクセス方向を縦方向と横方向を自由に切り替えアクセスができ、縦方向・横方向の自由なアクセスが可能とし、画像処理アプリケーションの様々なデータのアクセス要求においても対応可能な画像処理用メモリを提供することを目的とする。
そして、画像データのメモリアクセス回数の削減による演算量の削減により、低消費電力化を図ることを目的とする。
また、本発明の画像処理用メモリは、メモリのデータアクセス方向を縦方向と横方向を自由に切り替えアクセスができ、縦方向・横方向の自由なアクセスが可能とし、画像処理アプリケーションの様々なデータのアクセス要求においても対応可能な画像処理用メモリを提供することを目的とする。
そして、画像データのメモリアクセス回数の削減による演算量の削減により、低消費電力化を図ることを目的とする。
特に、動画像処理の高解像度化が進み、高解像度化により動画像処理専用VLSI(MPEGx、H.264コーデックVLSI)に要求される演算性能、圧縮性能は大きく増加している中で、動き検出アルゴリズムにおいて、本発明の画像処理用メモリのように、複数の行、複数の列にまたがるデータを1サイクルでアクセスさせることができ、また、異なるブロックをまたぐデータをアクセスさせる場合でも、必要なデータを1サイクルでアクセスできるニーズは高い。
上記目的を達成するため、本発明の請求項1に記載の画像処理用メモリは、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、前記行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備えたことを特徴としたものである。
上記構成により、従来の画像メモリとは異なり、1サイクルで複数の行を選択することができ、列デコーダと併せて、マトリクス状に配置されたメモリセル群から、複数の行、複数の列にまたがるデータを1サイクルでアクセスできる。
次に、本発明の請求項2に記載の画像処理用メモリは、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、前記行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、前記メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、前記行デコーダがブロックの異なる連続したL行を選択し、前記列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における縦方向データにアクセスさせることを特徴とする。
上記構成により、画像フレーム上における縦方向データに1サイクルでアクセスすることが可能となる。
次に、本発明の請求項3に記載の画像処理用メモリは、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、前記行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、前記メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、前記行デコーダが連続したM行を選択し、前記列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における横方向データにアクセスさせることを特徴とする。
上記構成により、画像フレーム上における横方向データに1サイクルでアクセスすることが可能となる。
次に、本発明の請求項4に記載の画像処理用メモリは、マトリクス状に配置されたメモリセル群から、前記行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、縦横選択信号入力回路が前記行デコーダおよび列デコーダに設けられ、かつ、前記行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、前記メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、前記縦横選択信号入力回路から縦選択信号が入力されている場合は、前記行デコーダがブロックの異なる連続したL行を選択し、前記列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における縦方向データにアクセスし、前記縦横選択信号入力回路から横選択信号が入力されている場合は、前記行デコーダが連続したM行を選択し、前記列デコーダがアクセスするブロックの異なるL列を選択して、画像フレーム上における横方向データにアクセスさせることを特徴とする。
上記構成により、メモリアクセス方向を横方向と縦方向に自由に切り替えることができる。
次に、本発明の請求項5に記載の画像処理用メモリは、上記請求項2から4のいずれかに記載の画像処理用メモリにおいて、前記行デコーダが、列方向に連続したL個のブロック分毎にデコード回路を構成している場合において、下位のアドレスラインを指定するデコード回路に対して、上位のアドレスラインを指定するデコード回路から自回路が選択されているか否かの信号を伝送する信号ラインが備えられ、該信号ラインの反転動作によって、下位のアドレスラインを指定するデコード回路が、上位のアドレスラインを指定するデコード回路とは異なる列のブロックを選択することを特徴とする。
上記構成により、アドレス境界(領域)を超えてメモリアクセスする場合に、隣接する下位アドレスにも選択情報を伝える信号ラインを設け、上位のアドレスラインを指定する行デコーダ回路と下位のアドレスラインを指定する行デコーダ回路との間でアクセスする画素データがまたがった場合でも、すなわち、アクセスする画素データがアドレス境界をまたいだ場合でも、1サイクルで画素データを読み出せることができる。
次に、本発明の請求項6に記載の画像処理用メモリは、上記請求項2から4のいずれかに記載の画像処理用メモリにおいて、前記列デコーダが前記ブロックの選択とブロック内の画素データを選択する2段階の階層化デコーダであることを特徴とする。
上記構成により、メモリマップで行方向に並んでいるブロックを選択するものと(グループセレクト)、そのブロックの中の特定の画素データを選択するという2段階(階層的)のデコードを行うため、1画素データに対してアドレスラインを設けるものと比べて、回路面積を小さくすることができ、低消費電力化を図ることができる。
本発明の画像処理用メモリによれば、マルチワードアクセスが可能であることから、画像処理において従来、複数回サイクルをかけてメモリから読み出す必要があったものが一サイクルで読み出すことができることにより低消費電力化を達成することができる。
また、本発明の画像処理用メモリによれば、メモリアクセス方向を横方向と縦方向を自由に切り替えるアーキテクチャーを有することで、画像処理における縦方向のフィルタ演算サイクル数を削減することにより低消費電力化を達成することができる。
本発明の画像処理用メモリを組み込んだ携帯電話等の装置・システムによれば、動画像のデータ処理において低消費電力化が図られており、低消費電力が求められる様々なシステムに対して組み込むことが容易となり、柔軟なシステム設計が可能となる。
以下、本発明の画像処理用メモリの実施例について、図面を参照しながら詳細に説明していく。
実施例では、1画素データが1バイトとして、8画素データ分(8バイト)を1回のアクセスのデータ量とし、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスするメモリにおいて、行デコーダが全ての行から任意の1〜8行を選択する画像処理用メモリについて説明する。
実施例では、1画素データが1バイトとして、8画素データ分(8バイト)を1回のアクセスのデータ量とし、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスするメモリにおいて、行デコーダが全ての行から任意の1〜8行を選択する画像処理用メモリについて説明する。
1回のアクセスで入出力するデータの単位(8画素データ分)を、本発明の実施の形態では「ワード」と呼ぶ。そして行デコーダで複数行をアクセスすることを「マルチワードアクセス」という。また、メモリセルにおける同一行に存在する画素データの全てに共通するライン信号を「グローバルワードライン(GWL)信号」という。
また実施例では、縦4×横4の16の画素データのまとまりを「ブロック」と呼ぶ。また実施例では、メモリマップ上の2次元の位置を示す表記法において、縦方向の位置を示すアドレスを行アドレス、横方向の位置を示すアドレスを列アドレスとする。また実施例では、画面フレームの縦方向に連続した画素データを一括でアクセスすることを「縦アクセス」と呼び、画面フレームの横方向に連続した画素データを一括でアクセスすることを「横アクセス」と呼ぶ。
また実施例では、縦4×横4の16の画素データのまとまりを「ブロック」と呼ぶ。また実施例では、メモリマップ上の2次元の位置を示す表記法において、縦方向の位置を示すアドレスを行アドレス、横方向の位置を示すアドレスを列アドレスとする。また実施例では、画面フレームの縦方向に連続した画素データを一括でアクセスすることを「縦アクセス」と呼び、画面フレームの横方向に連続した画素データを一括でアクセスすることを「横アクセス」と呼ぶ。
図2は、本発明の実施例1に係る画像処理用メモリの論理回路構成を模式的に示す図である。図2に示されるように、本発明の画像処理用メモリは、メモリセル(MC)アレイと、行デコーダと、列デコーダと、ビットラインセレクタと、バラレルシフタとから構成される。
実施例1に係る画像処理用メモリは、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスするメモリにおいて、縦横選択信号入力回路が行デコーダおよび列デコーダに設けられ、かつ、行デコーダが全ての行から任意の1〜8行を選択する、マルチワードアクセス回路を備え、メモリセル群が論理的に4×4(行数×列数)の画素データからなるブロック毎に分割されるものである。
実施例1に係る画像処理用メモリは、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスするメモリにおいて、縦横選択信号入力回路が行デコーダおよび列デコーダに設けられ、かつ、行デコーダが全ての行から任意の1〜8行を選択する、マルチワードアクセス回路を備え、メモリセル群が論理的に4×4(行数×列数)の画素データからなるブロック毎に分割されるものである。
そして、縦横選択信号入力回路から入力される信号によって下記(1),(2)の処理がなされる。
(1)縦横選択信号入力回路から縦選択信号が入力されている場合
行デコーダがブロックの異なる連続した8行を選択し、列デコーダがアクセスするブロックの異なる8列を選択して、画像フレーム上における縦方向データにアクセスする。
(2)縦横選択信号入力回路から横選択信号が入力されている場合
行デコーダが連続した4行を選択し、列デコーダがアクセスするブロックの異なる8列を選択して、画像フレーム上における横方向データにアクセスする。
(1)縦横選択信号入力回路から縦選択信号が入力されている場合
行デコーダがブロックの異なる連続した8行を選択し、列デコーダがアクセスするブロックの異なる8列を選択して、画像フレーム上における縦方向データにアクセスする。
(2)縦横選択信号入力回路から横選択信号が入力されている場合
行デコーダが連続した4行を選択し、列デコーダがアクセスするブロックの異なる8列を選択して、画像フレーム上における横方向データにアクセスする。
図3に、行デコーダの論理回路構成の模式図を示す。行デコーダは、メモリセルにおける同一行に存在する画素データの全てに共通するグローバルワードライン(GWL)信号を生成する回路(XDEC)と、このXDECへの入力信号を生成する2つのプリデコード信号生成回路(XDPD1,XDPD2)とで構成される。
また、図4に列デコーダの論理回路構成の模式図を示す。列デコーダは、メモリセルにおけるブロックを選択するブロック選択線(Block Select Line;BSL)信号を生成する回路(YDEC0)と、ビット選択線(Bit Line Select)信号を生成する回路(YDEC1)と、これらの回路への入力信号を生成する2つのプリデコード信号生成回路(YDADD,YPDP)とで構成される。
先ず、行デコーダの論理回路構成における、メモリセルの同一行に存在する画素データの全てに共通するグローバルワードライン(GWL)信号を生成する回路(XDEC)の回路構成について説明する。
図5は、XDECのブロック図を示している。XDECの内部構成は、グローバルワードライン(GWL)信号を32本生成するXDEC_32の回路が複数個存在する。
本発明のポイントは、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスするメモリにおいて、行デコーダが全ての行から任意の1〜8行を選択する、マルチワードアクセス回路を備えたことである。
図5は、XDECのブロック図を示している。XDECの内部構成は、グローバルワードライン(GWL)信号を32本生成するXDEC_32の回路が複数個存在する。
本発明のポイントは、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスするメモリにおいて、行デコーダが全ての行から任意の1〜8行を選択する、マルチワードアクセス回路を備えたことである。
図6に、XDEC_32の回路構成図を示す。図6の点線で囲んだ領域がマルチワードアクセス回路の部分に相当する。以下、図6を参照しながら、行デコーダが全ての行から任意の1〜8行を選択できることを説明する。
上述したように縦横4画素データのまとまりが1ブロックで、XDEC_32は、1ブロックに相当する4行のグローバルワードライン(GWL)信号を8グループ制御している。マルチワードアクセス回路は、メモリアドレスの1部分をプリデコードした値から、4行のグローバルワードライン(GWL)信号を制御するグループを選択し、かつ、選択されたグループからグローバルワードライン(GWL)信号を選択する。同時に複数のグループを選択してもよく、また、選択されたグループから任意のグローバルワードライン(GWL)信号を選択できる。
上述したように縦横4画素データのまとまりが1ブロックで、XDEC_32は、1ブロックに相当する4行のグローバルワードライン(GWL)信号を8グループ制御している。マルチワードアクセス回路は、メモリアドレスの1部分をプリデコードした値から、4行のグローバルワードライン(GWL)信号を制御するグループを選択し、かつ、選択されたグループからグローバルワードライン(GWL)信号を選択する。同時に複数のグループを選択してもよく、また、選択されたグループから任意のグローバルワードライン(GWL)信号を選択できる。
また、選択されるグローバルワードライン(GWL)信号は、同一のXDEC_32であることの制約はない。異なるXDEC_32に渡り、選択されることでもかまわない。この時、連続する下位のXDEC_32に対して、上位のXDEC_32から自回路が選択されているか否かの信号を伝送する信号ラインが備えられ(din,dout)、その信号ラインの反転動作によって、下位のXDEC_32が、上位のXDEC_32とは異なる列のブロックを選択することにしている。
具体例を挙げると、この動作を実現しているのがdin,dout信号である。上位のXDEC_32が選択されたときdout信号が選択され、その信号が下位のXDEC_32のdinに送られる。また,このとき下位のXDEC_32のdinは選択されない。この場合において、下位のXDEC_32は上位のXDEC_32と逆の信号を立ち上げる。これにより、n本のGWLを選択する場合、上位のXDEC_32からn−m本のGWLを選択し、下位のXDEC_32からm本のGWLを選択されるような動作を行うことができる。
具体例を挙げると、この動作を実現しているのがdin,dout信号である。上位のXDEC_32が選択されたときdout信号が選択され、その信号が下位のXDEC_32のdinに送られる。また,このとき下位のXDEC_32のdinは選択されない。この場合において、下位のXDEC_32は上位のXDEC_32と逆の信号を立ち上げる。これにより、n本のGWLを選択する場合、上位のXDEC_32からn−m本のGWLを選択し、下位のXDEC_32からm本のGWLを選択されるような動作を行うことができる。
次に、画面フレームの縦方向に連続した画素データを一括でアクセスする(縦アクセス)と、画面フレームの横方向に連続した画素データを一括でアクセスする(横アクセス)を説明する。図7は、実施例1の画像処理用メモリのメモリマップの一例を示している。図7の縦項目は行アドレス(00000000〜00001111)、行列アドレス(00,01,10,11)を示している。また、横項目は列Aアドレス(00,01,10,11)、列Bアドレス(000〜111)を示している。また、1つのセルは1画素データに対応し、1画素データは1バイトである。
図7のメモリマップ内に示している縦4×横32の128画素(図7中の00〜7F)が画像上の一行を示している。さらに、図7で縦4×横4の16画素(00,08,10,18,20,28,30,38,40,48,50,58,60,68,70,78)が1ブロックであり、図7のメモリマップで線によって区切られている。この1ブロックが、4行ごとにらせん状に配置され,同一列に画像の縦方向の画素が配置されないようにする。
図7のメモリマップ内に示している縦4×横32の128画素(図7中の00〜7F)が画像上の一行を示している。さらに、図7で縦4×横4の16画素(00,08,10,18,20,28,30,38,40,48,50,58,60,68,70,78)が1ブロックであり、図7のメモリマップで線によって区切られている。この1ブロックが、4行ごとにらせん状に配置され,同一列に画像の縦方向の画素が配置されないようにする。
(縦アクセス)
以下、縦アクセス時のデコーダの動作を、図8−1のメモリマップを参照しながら詳細に説明する。
図8−1のメモリマップにおいて、縦項目は行、行アドレスを、横項目はビットラインの番号を、セルの内容はブロックに接続されるブロック選択線(BSL)の番号を示している。
以下、縦アクセス時のデコーダの動作を、図8−1のメモリマップを参照しながら詳細に説明する。
図8−1のメモリマップにおいて、縦項目は行、行アドレスを、横項目はビットラインの番号を、セルの内容はブロックに接続されるブロック選択線(BSL)の番号を示している。
縦アクセスの場合は、先ず、アクセス先頭画素データの行アドレス・行列アドレスを指定すると、行デコーダのXDEC_32のマルチワードアクセス回路によって、そのアクセス先頭画素データの行アドレス・行列アドレスから、ブロックの異なる連続した8行のグローバルワードライン(GWL)が立ち上がる。図8−1において、破線で囲まれた箇所が選択状態となる。すなわち、5行目,9行目,13行目,17行目,21行目,25行目,29行目,および33行目の8行が選択されている。具体的には、行00000001・行列00,行00000010・行列00,行00000011・行列00,行00000100・行列00,行00000101・行列00,行00000110・行列00,行00000111・行列00,および行00001000・行列00の8行である。これらはブロックの異なる連続した8行になっている。
次に、列Bアドレスにより、アクセス先頭画素データの属するブロック(4画素データ分)を指定する。ここでは、ブロック選択線(BSL)0が選択されたとする。BSL0が選択された場合、図8−1における斜線のハッチングで示される部分が選択状態となる。縦アクセスでは、全てのビットラインに対して、アクセス先頭画素データの属するブロックと同じブロック選択線(BSL)番号を指定することで、メモリマップ上で斜めに連続するブロックに同時にアクセスできるのである。
この状態で、グローバルワードライン(GWL)とブロック選択線(BSL)のANDをとった箇所(図8−1中で矢印で示された箇所)の画素が読み出されることとなる。
選択された連続8ブロックは、各ブロックが異なるビットラインに接続されているので、同時にアクセスできることになる。
選択された連続8ブロックは、各ブロックが異なるビットラインに接続されているので、同時にアクセスできることになる。
そして、最後に各ブロックの列00,08,10,18を列Aによって選択することにより、縦方向の8画素を取得できるのである。例えば、列Aの00列が選択された場合、縦方向の8画素(すべて00列にある画素)を取得できることとなる。
列Aアドレスを指定することにより、ブロック中でどの画素がビットラインに接続されるかが決定されることになる。各ビットラインに対しては、アクセス先頭画素データの属する列Aアドレスと同じ値を指定する。
但し、連続する異なるXDEC_32に縦アクセスの8画素データがまたがった場合、下位アドレスのXDEC_32で指定されるブロックに対しては、列Aアドレスを1足した値を指定する。
列Aアドレスを指定することにより、ブロック中でどの画素がビットラインに接続されるかが決定されることになる。各ビットラインに対しては、アクセス先頭画素データの属する列Aアドレスと同じ値を指定する。
但し、連続する異なるXDEC_32に縦アクセスの8画素データがまたがった場合、下位アドレスのXDEC_32で指定されるブロックに対しては、列Aアドレスを1足した値を指定する。
以上の手順を経て、画像フレーム中で縦に連続した8画素データがビットラインに接続されることになる。
縦読み出しの場合は、バレルシフタにより、ビットラインが画面フレームでの画素データの並びにソートされて、出力バッファに記憶され、外部のシステムが出力バッファから画素データを読み出す。
一方、縦書き込みの場合は、外部のシステムが入力バッファに書き込んだデータを、バレルシフタによって並び替え、ビットライン経由でメモリに書き込む。
縦読み出しの場合は、バレルシフタにより、ビットラインが画面フレームでの画素データの並びにソートされて、出力バッファに記憶され、外部のシステムが出力バッファから画素データを読み出す。
一方、縦書き込みの場合は、外部のシステムが入力バッファに書き込んだデータを、バレルシフタによって並び替え、ビットライン経由でメモリに書き込む。
すなわち、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスさせるメモリにおいて、メモリセル群が論理的に4×4(行数×列数)の画素データからなるブロック毎に分割され、行デコーダのマルチワードアクセス回路によって全ての行からブロックの異なる連続する8行を選択させ、列デコーダによってブロックの異なる8列を選択させ、画像フレーム上における縦方向データにアクセスさせるのである。
(横アクセス)
次に、縦アクセス時のデコーダの動作を、図8−2のメモリマップを参照しながら詳細に説明する。
図8−2のメモリマップにおいて、縦項目は行、行アドレスを、横項目はビットラインの番号を、セルの内容はブロックに接続されるブロック選択線(BSL)の番号を示している。縦横選択信号(VH)が横信号に選択されることで、ブロックに接続されるブロック選択線(BSL)の番号が縦アクセスの時と異なる。
ここで、縦横信号(VH)は縦方向の動作と横方向の動作を切り替える役割を持つ。VH=0のときは、1行のGWLを行デコーダが選択し、周辺回路(YD,XDPD)でアドレスにしたがって、アクセスされるデータのあるBSLを立ち上げる。一方、VH=1のときは、複数行のGWLを行デコーダが選択し、周辺回路(YD,XDPD)でアドレスにしたがってBSLを立ち上げる。
次に、縦アクセス時のデコーダの動作を、図8−2のメモリマップを参照しながら詳細に説明する。
図8−2のメモリマップにおいて、縦項目は行、行アドレスを、横項目はビットラインの番号を、セルの内容はブロックに接続されるブロック選択線(BSL)の番号を示している。縦横選択信号(VH)が横信号に選択されることで、ブロックに接続されるブロック選択線(BSL)の番号が縦アクセスの時と異なる。
ここで、縦横信号(VH)は縦方向の動作と横方向の動作を切り替える役割を持つ。VH=0のときは、1行のGWLを行デコーダが選択し、周辺回路(YD,XDPD)でアドレスにしたがって、アクセスされるデータのあるBSLを立ち上げる。一方、VH=1のときは、複数行のGWLを行デコーダが選択し、周辺回路(YD,XDPD)でアドレスにしたがってBSLを立ち上げる。
横アクセスの場合も縦アクセスと同様、先ず、アクセス先頭画素データの行アドレス・行列アドレスを指定すると、行デコーダのXDEC_32のマルチワードアクセス回路によって、そのアクセス先頭画素データの行アドレス・行列アドレスから連続する4行のグローバルワードライン(GWL)が立ち上がる。図8−2において、この4行のグローバルワードライン(GWL)を横向きの点線で囲まれた部分として示す。ここでは、先頭から9行目のところから12行目までが選択されている。具体的には、行00000010・行列00〜11の4行である。これは画像上では一行分の画素となる。
次に、列Bアドレスにより、アクセス先頭画素データの属するブロック(4画素データ分)を指定する。横アクセスでは、全てのビットラインに対して、アクセス先頭画素データの属するブロックと同じブロック選択線(BSL)番号を指定することで、メモリマップ上で横に連続するブロックに同時にアクセスできる。
ここでは、ブロック0のBSL3を選択する。さらにブロック1から7はそれぞれBSL2,BSL1,BSL0,BSL7,BSL6,BSL5,BSL4を選択する。図8−2のメモリマップ上のカラムの各パターンの種類は、BSL番号0〜7毎に異なっている。BSL番号とカラムのパターンの対応表は図8−3に示されている。
ここでは、ブロック0のBSL3を選択する。さらにブロック1から7はそれぞれBSL2,BSL1,BSL0,BSL7,BSL6,BSL5,BSL4を選択する。図8−2のメモリマップ上のカラムの各パターンの種類は、BSL番号0〜7毎に異なっている。BSL番号とカラムのパターンの対応表は図8−3に示されている。
上記のようにBSLを選択することにより、GWLとBSLの交わったブロック部分(図8−2中、矢印で示されている部分)の画素が選択されることとなる。
選択された連続8ブロックは、各ブロックが異なるビットラインに接続されているので、同時にアクセスできることになる。
選択された連続8ブロックは、各ブロックが異なるビットラインに接続されているので、同時にアクセスできることになる。
そして、最後に列Aアドレスによって選択することで所望の8画素を得るのである。例えば、列Aの01列が選択された場合、横方向の8画素(すべて01列にある28,29,〜,2Fまでの8画素)を取得できることとなる。
列Aアドレスを指定することにより、ブロック中でどの画素データがビットラインに接続されるかが決定されることになる。各ビットラインに対しては、アクセス先頭画素データの属する列Aアドレスと同じ値を指定する。
但し、連続する異なるXDEC_32に縦アクセスの8画素データがまたがった場合、下位アドレスのXDEC_32で指定されるブロックに対しては、列Aアドレスを1足した値を指定する。
列Aアドレスを指定することにより、ブロック中でどの画素データがビットラインに接続されるかが決定されることになる。各ビットラインに対しては、アクセス先頭画素データの属する列Aアドレスと同じ値を指定する。
但し、連続する異なるXDEC_32に縦アクセスの8画素データがまたがった場合、下位アドレスのXDEC_32で指定されるブロックに対しては、列Aアドレスを1足した値を指定する。
以上の手順を経て、画像フレーム中で横に連続した8画素データがビットラインに接続されることになる。
横読み出しの場合も縦読み出しと同様、バレルシフタにより、ビットラインが画面フレームでの画素データの並びにソートされて、出力バッファに記憶され、外部のシステムが出力バッファから画素データを読み出す。
一方、横書き込みの場合も縦書き込みと同様、外部のシステムが入力バッファに書き込んだデータを、バレルシフタによって並び替え、ビットライン経由でメモリに書き込む。
横読み出しの場合も縦読み出しと同様、バレルシフタにより、ビットラインが画面フレームでの画素データの並びにソートされて、出力バッファに記憶され、外部のシステムが出力バッファから画素データを読み出す。
一方、横書き込みの場合も縦書き込みと同様、外部のシステムが入力バッファに書き込んだデータを、バレルシフタによって並び替え、ビットライン経由でメモリに書き込む。
すなわち、マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダにより8画素データを同時アクセスさせるメモリにおいて、メモリセル群が論理的に4×4(行数×列数)の画素データからなるブロック毎に分割され、行デコーダのマルチワードアクセス回路によって連続した4行を選択させ、列デコーダによってブロックの異なる8列を選択させ、画像フレーム上における横方向データにアクセスさせるのである。
以上、本発明の画像処理用メモリによれば、複数の行、複数の列にまたがるデータを1サイクルでアクセスさせることができ、また、異なるブロックをまたぐデータをアクセスさせる場合でも、必要なデータを1サイクルでアクセスさせることができ、より一層の低消費電力化を図ることができる。
本発明の画像処理用メモリによれば、動画像のデータ処理において低消費電力化が図られており、低消費電力が求められる様々なシステムに対して組み込むことが容易となり、柔軟なシステム設計が可能となる。画像メモリへのデータの読み書きは、横方向に連続するピクセルを一括してアクセスできるのが有効な場合と、縦方向連続あるいはブロック状の配列のピクセルに対して一括したアクセスができるほうが有効な場合とがあり、これらの複数のメモリアクセスの全てに対して本発明の画像処理用メモリは有用である。
10 マルチワードアクセス回路
Claims (6)
- マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、前記行デコーダによって全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備えたことを特徴とする画像処理用メモリ。
- マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、
前記行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、
前記メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、
前記行デコーダがブロックの異なる連続したL行を選択し、
前記列デコーダがアクセスするブロックの異なるL列を選択して、
画像フレーム上における縦方向データにアクセスさせることを特徴とする画像処理用メモリ。 - マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、
前記行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、
前記メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、
前記行デコーダが連続したM行を選択し、
前記列デコーダがアクセスするブロックの異なるL列を選択して、
画像フレーム上における横方向データにアクセスさせることを特徴とする画像処理用メモリ。 - マトリクス状に配置されたメモリセル群から、行デコーダと列デコーダによりL画素データを同時アクセスするメモリにおいて、
縦横選択信号入力回路が前記行デコーダおよび列デコーダに設けられ、かつ、
前記行デコーダが全ての行から任意の1〜L行を選択する、マルチワードアクセス回路を備え、
前記メモリセル群が論理的にM×N(行数×列数)の画素データからなるブロック毎に分割され、
前記縦横選択信号入力回路から縦選択信号が入力されている場合は、
前記行デコーダがブロックの異なる連続したL行を選択し、
前記列デコーダがアクセスするブロックの異なるL列を選択して、
画像フレーム上における縦方向データにアクセスし、
前記縦横選択信号入力回路から横選択信号が入力されている場合は、
前記行デコーダが連続したM行を選択し、
前記列デコーダがアクセスするブロックの異なるL列を選択して、
画像フレーム上における横方向データにアクセスさせることを特徴とする画像処理用メモリ。 - 前記行デコーダが、列方向に連続したL個のブロック分毎にデコード回路を構成している場合において、下位のアドレスラインを指定するデコード回路に対して、上位のアドレスラインを指定するデコード回路から自回路が選択されているか否かの信号を伝送する信号ラインが備えられ、該信号ラインの反転動作によって、下位のアドレスラインを指定するデコード回路が、上位のアドレスラインを指定するデコード回路とは異なる列のブロックを選択することを特徴とする請求項2から4のいずれかに記載の画像処理用メモリ。
- 前記列デコーダが前記ブロックの選択とブロック内の画素データを選択する2段階の階層化デコーダであることを特徴とする請求項2から4のいずれかに記載の画像処理用メモリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006203542A JP2008033431A (ja) | 2006-07-26 | 2006-07-26 | 画像処理用メモリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006203542A JP2008033431A (ja) | 2006-07-26 | 2006-07-26 | 画像処理用メモリ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008033431A true JP2008033431A (ja) | 2008-02-14 |
Family
ID=39122821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006203542A Pending JP2008033431A (ja) | 2006-07-26 | 2006-07-26 | 画像処理用メモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008033431A (ja) |
-
2006
- 2006-07-26 JP JP2006203542A patent/JP2008033431A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101116341B (zh) | 用于进行视频运动补偿的高速缓存方法及设备 | |
CN101052128B (zh) | 运动检测装置和方法、运动检测集成电路和图像编码装置 | |
US5828423A (en) | Motion vector detection circuit provided with the picture data memory | |
JP4910576B2 (ja) | 動画像処理装置 | |
US20100149202A1 (en) | Cache memory device, control method for cache memory device, and image processing apparatus | |
CN1589028B (zh) | 基于像素流水的帧内预测装置及预测方法 | |
Wang et al. | VLSI implementation of HEVC motion compensation with distance biased direct cache mapping for 8K UHDTV applications | |
JP2005102144A (ja) | Mpegのデータ処理装置 | |
JP4675383B2 (ja) | 画像復号化装置および方法、画像符号化装置 | |
TWI418219B (zh) | 用於動態補償系統之資料映像方法及快取記憶體系統 | |
Chuang et al. | Bandwidth-efficient cache-based motion compensation architecture with DRAM-friendly data access control | |
KR20050043607A (ko) | 신호처리방법 및 신호처리장치 | |
JP5261694B2 (ja) | 画像処理用メモリ | |
JP2003333600A (ja) | 画像符号化方法および画像復号方法 | |
JP2008033431A (ja) | 画像処理用メモリ | |
US20080049035A1 (en) | Apparatus and method for accessing image data | |
US20130127887A1 (en) | Method for storing interpolation data | |
KR100708183B1 (ko) | 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법 | |
Woo et al. | A cache-aware motion estimation organization for a hardware-based H. 264 encoder | |
JP5556082B2 (ja) | メモリコントローラ、画像処理システムおよびメモリアクセスの制御方法 | |
Li et al. | A cache-based bandwidth optimized motion compensation architecture for video decoder | |
JP2011097488A (ja) | 映像圧縮符号化装置 | |
CN102625095B (zh) | 一种基于avs的帧间预测方法 | |
Zuo et al. | A Cache Hardware design for H. 264 encoder | |
Murachi et al. | A power-efficient SRAM core architecture with segmentation-free and rectangular accessibility for super-parallel video processing |