(57)【特許請求の範囲】
【請求項１】
２次元アレイ状に並べられたメモリセルと、該メモリセルに接続されたワード線を駆動するＸデコーダと、該メモリセルに接続されたビット線を駆動するＹデコーダから構成されるメモリバンクを備え、
前記メモリバンクが２個のブロックで構成され、
それぞれのメモリバンク内の前記ブロックにおいては、前記Ｘデコーダが共通化され、かつ、前記Ｙデコーダは独立化された構成とされ、
前記Ｙデコーダと前記メモリセルの間にＡＮＤゲートが設けられ、該ＡＮＤゲートで前記Ｙデコーダからのビット線の駆動信号出力と前記ブロックの制御信号出力とのＡＮＤ演算が行われ、前記ブロックが独立に制御されるメモリであって、
前記メモリバンクが、Ｍ個のメモリバンクから成り、左右２個のブロックで構成され、
各々の前記ブロックには、画像上の画素データにおける２Ｍライン置きに画素データがマッピングされることを特徴とする画像処理用メモリ。
【請求項２】
前記Ｘデコーダは、前記ワード線を駆動するためのグローバルワードライン（ＧＷＬ）を制御して２次元アレイ状に並べられたメモリセルを行単位に選択する処理において、前記ＧＷＬを少なくとも２本同時に立ち上げ制御できる構成とし、また、ローカルワードラインセレクトライン（ＬＷＬＳＬ）を設けて、前記ＬＷＬＳＬと前記ＧＷＬのＡＮＤ出力を用いてローカルワードラインを選択し得ることを特徴とする請求項１に記載の画像処理用メモリ。
【請求項３】
前記Ｘデコーダは、前記ワード線を駆動するためのグローバルワードライン（ＧＷＬ）を制御して２次元アレイ状に並べられたメモリセルを行単位に選択する処理において、前記ＧＷＬの隣接する２本を同時に立ち上げ制御できる構成とし、また、ローカルワードラインセレクトライン（ＬＷＬＳＬ）を設けて、前記ＬＷＬＳＬと前記ＧＷＬのＡＮＤ出力を用いてローカルワードラインを選択し得ることを特徴とする請求項１に記載の画像処理用メモリ。
【請求項４】
前記ブロックの制御信号出力および前記ローカルワードラインセレクトライン（ＬＷＬＳＬ）を用いて、読み出しに必要なブロック以外をＯＦＦにすることにより消費電力を削減し得ることを特徴とする請求項２又は３に記載の画像処理用メモリ。
【請求項５】
前記ローカルワードラインには複数のメモリセルが配設されて複数画素がマッピングされており、該メモリセルに接続されたビット線を駆動する読み出し回路もしくは書き込み回路が、複数の前記ビット線を同時に駆動して複数画素データを同時に読み出し／書き込みし得ることを特徴とする請求項２又は３に記載の画像処理用メモリ。
【請求項６】
前記ローカルワードラインには複数のメモリセルが配設されてｎ画素置きにマッピングされており、該メモリセルに接続されたビット線を駆動する読み出し回路もしくは書き込み回路が、複数の前記ビット線を同時に駆動してｎ画素置きの画素データを同時に読み出し／書き込みし得ることを特徴とする請求項２又は３に記載の画像処理用メモリ。
【請求項７】
前記ローカルワードラインには４個のメモリセルが配設されてｎ画素置きにマッピングされており、該メモリセルに接続されたビット線を駆動する読み出し回路もしくは書き込み回路が、１〜４本の前記ビット線を同時に駆動してｎ画素置きの画素データを同時に読み出し／書き込みし得ることを特徴とする請求項２又は３に記載の画像処理用メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画画像処理の分野に用いられる半導体メモリに関する。
【背景技術】
【０００２】
昨今、通信ネットワークを通じて動画像の送受信を行うことや、動画像を蓄積メディアに蓄積することが広く行なわれている。一般に、動画像は情報量が大きいため、伝送ビットレートの限られた通信路を用いて動画像を伝送する場合、あるいは蓄積容量の限られた蓄積メディアに動画像を蓄積する場合には、動画像を符号化・復号化する技術が必要不可欠である。動画像の符号化・復号化方式として、ＩＳＯ／ＩＥＣが標準化を進めているＭＰＥＧ(Moving Picture Experts Group)やＨ.２６Ｘがある。
これらは動画像を構成する経時的に連続した複数のフレームの符号化又は復号化を行うものであり、動画像の時間的相関、空間的相関を利用した冗長性の削減を行うことにより動画像の情報量を減らして符号化し、符号化された動画像を再度元の動画像に復号化する技術である。
【０００３】
ここで、動画像の時間的相関を利用した冗長性削減手法として、動き補償フレーム間予測がある。動き補償フレーム間予測とは、参照フレーム（前フレームなど）と符号化フレーム（現フレーム）間において、動画像が動いた方向と距離を表す動き量（動きベクトル）を、動き検出アルゴリズムを利用して検出し、検出された動きベクトル情報を使って、参照フレームを動き補償して予測フレームを作るものである。
【０００４】
現在、この動き検出アルゴリズムとして、全探索法が高画質を実現するアルゴリズムとして用いられている。しかし、この全探索法は、高画質を実現する一方、ＮＴＳＣサイズのＭＰＥＧ画像（７２０×４８０ドット画像）で、１８０ＧＯＰＳ（Giga operations per sec）という膨大な演算量が必要となるという問題がある。
また、これは、ＭＰＥＧエンコーダ／デコーダ処理に必要となる全演算量の８０％以上という演算量であり、この演算量を削減するための研究が行われている。
また一方で、動画像の高解像度化に伴って、処理の並列度が増大しており、一度に任意の位置から大量の画素を読み出すことが必要とされている。
【０００５】
かかる状況下、画像データのメモリアクセス回数の削減による演算量の削減、並列処理を滞りなく行うため、画像の任意位置から一定範囲（ｎ×ｍ）の大量の画素を１サイクルで読み出す機能や、処理量の削減のために水平，垂直１／２画素間引き（連続する画素を１つ飛ばしに選ぶ）した画素を読み出す機能を持つ画像処理用メモリが必要とされている。更に、低消費電力化、小面積の画像処理用メモリが要望されているのである。
【０００６】
ここで、画像の任意位置から一定範囲（ｎ×ｍ）の大量の画素を１サイクルで読み出す機能について図１を用いて説明する。図１は、画像データ（高解像度画像の場合、例えば、１９２０×１０８０ドット画像）の中から、処理のための入力画像（サーチウィンドウ）として取り込む画素のいくつかのパターンを示している。画像の任意位置から一定範囲（ｎ×ｍ）の画素を読み出すとは、図１に示されるように、１×１画素（図中の矢印ａ）、３×３画素（図中の矢印ｂ）、６×６画素（図中の矢印ｃ）、８×８画素（図中の矢印ｄ）、１×８画素（図中の矢印ｅ）、８×１画素（図中の矢印ｆ）、８×４画素（図中の矢印ｇ）、３×７画素（図中の矢印ｈ）を、画素ブロックの境界に影響されることなく、任意の位置から任意のサイズの矩形画素を読み出すものである。
動画像の高解像度化に伴って、処理の並列度が増大しており、一度に任意の位置から大量の画素を読み出すことが必要とされているのである。
【０００７】
また、動画像処理の分野においては、そのアプリケーション処理の複雑化により、例えば、高解像度画像よりも、水平，垂直１／２画素間引きした低解像度画像で処理する方が、アプリケーションの応答が速く、全体のパフォーマンスを向上し得る場合がある。このため、水平，垂直１／２画素間引き（連続する画素を１つ飛ばしに選ぶ）した画素を読み出すといった機能が求められている。
この水平，垂直１／２画素間引きした画素を読み出す機能について図２を用いて説明する。ここでは、８×８画素を１ブロックとしてアクセス可能なメモリを想定して説明する。図２の（１）に示されるような１６×１６画素データ（８×８画素のブロックａ〜ｄの４ブロックで構成される画素データ）がある場合に、８×８画素を１ブロックとしてアクセス可能なメモリでは、８×８画素をサーチウィンドウとして画素データを読み込む。そのため、図２の（２）に示されるような水平に１／２画素間引きした画素を読み込む場合には、８×８画素のブロックａとｂとを読み込む必要があり、２サイクル必要とする。また図２の（３）に示されるような垂直に１／２画素間引きした画素を読み込む場合には、８×８画素のブロックａとｃとを読み込む必要があり、２サイクル必要とする。更に、図２の（４）に示されるような水平，垂直にそれぞれ１／２画素間引きした画素を読み込む場合には、８×８画素のブロックａ〜ｄを読み込む必要があり、４サイクル必要とする。
水平，垂直１／２画素間引きした画素を読み出す機能とは、上述のような水平，垂直１／２画素間引きした画素を１サイクルで読み出すことを意味する。これにより画像データのメモリアクセス回数の削減による演算量の削減、ならびに低消費電力化を実現するのである。
【０００８】
以上説明したように、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）を代表とする画像処理用メモリのアーキテクチャー自体は従来からあまり変わっていないが、画像処理アプリケーションの方が様々なデータのアクセスが必要となってきているのが現状である。
【０００９】
ここで、上述したような画像データのメモリアクセス回数の削減による演算量の削減、更には低消費電力化を図るため、従来からメモリ装置に関して様々な改善方法がなされている。
例えば、マトリクス状に配置されたメモリセルに対して、縦横両方向（行方向および列方向）のデ−タの読み出し・書き込みを、ともに高速アクセスモードで行うことが可能なメモリが知られている（特許文献１）。特許文献１に開示されているメモリは、マトリクス状に配置されたメモリセルのそれぞれについて、２個のトランジスタを有するトランスファゲートを設け、一方のトランジスタについては同一行のものを第１ワード線に接続し、他方のトランジスタについては対角線方向のものを第２ワード線に接続するというものである（特許文献１の段落００３３から段落００５１を参照）。
特許文献１に開示されているメモリの場合、デ−タの読み出し・書き込みの際、第１ワード線若しくは第２ワード線のいずれか１本のレベルが固定する必要があり、一度には同一行のものか、同一対角線上のものしかアクセスできず、複数行に存在するメモリデータを自由にアクセスできるものではなかった。
【００１０】
また、同一ブロック内であれば横 方向、縦方向、ブロック全体、ブロックの一部といった任意のデータに対しバーストアクセスを可能にし、アクセス方向によらずに画像メモリに対する高速アクセスを可能にできる画像メモリが知られている（特許文献２）。
特許文献２に開示されている画像メモリは、画像フレーム全体を複数のブロックに分割し、それぞれのブロックをバーストアクセス可能なメモリアドレスのデータで構成するようにしたものである。すなわち、画像メモリを構成する際に、２次元的なブロックを同一行アドレスのデータにより構成することによって、同一ブロック内であれば横方向、縦方向もしくはブロック全体に対しバーストアクセスを可能にし、アクセス方向によらずに高速アクセスが可能としたものである（特許文献２の段落０１９２および段落０１９７を参照）。
特許文献２に開示されている画像メモリの場合、異なるブロックをまたぐデータをアクセスする場合は、同一行アドレスのデータをアクセスできないことが生じ、複数回数サイクルでアクセスすることになる。
【００１１】
また、画像メモリへのアクセス形態として複数のアクセス形態を選択可能とした高速アクセスを可能にできる画像メモリが知られている（特許文献３）。
特許文献３に開示されている画像メモリは、ブロック（特許文献３中ではタイル）内位置情報は、縦あるいは横といったアクセスの種別によって異なる変換を受け、メモリに与えるアドレスと、データの入れ替え方法が連係することで、外部から縦あるいは横に連続したデータを一括してアクセスすることができるものである。
特許文献３に開示されている画像メモリの場合、異なるブロック（タイル）をまたぐデータをアクセスする場合は、データを一括してアクセスできないことが生じ、複数回数サイクルでアクセスすることになる。
【００１２】
また、既に本発明者らは、複数の行、複数の列にまたがるデータを１サイクルでアクセスでき、異なるブロックをまたぐデータをアクセスする場合でも、必要なデータを１サイクルでアクセス可能な画像処理用メモリを提案している（特許文献４）。
【００１３】
【特許文献１】特開平５−２０６３９８号公報
【特許文献２】特開平１０−２１０２５１号公報
【特許文献３】特開平９−１２０３７１号公報
【特許文献４】特願２００６−２７４３１号
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上記特許文献１乃至４に開示された技術では、画像の任意位置から一定範囲（ｎ×ｍ）の大量の画素を１サイクルで読み出すことや、処理量の削減のために水平，垂直１／２画素間引き（連続する画素を１つ飛ばしに選ぶ) した画素を読み出すことは困難である。
すなわち、特許文献１乃至３に開示された技術では、異なるブロック（タイル）をまたぐデータをアクセスする場合は、データを１サイクルで読み出すことができない。
また、特許文献４に開示された技術では、画像の任意位置から一定範囲（ｎ×ｍ）の大量の画素を１サイクルで読み出すことは可能であるが、水平，垂直１／２画素間引き（連続する画素を１つ飛ばしに選ぶ) した画素を読み出すことはできない。
【００１５】
ここで、従来のＳＲＡＭ（スタティックＲＡＭ）を用いて、任意の位置から水平，垂直１／２画素間引きの有無を選択した上で、画像の任意位置から一定範囲（ｎ×ｍ）の画素の読み出しを行う例として、次に説明する２つの方法が考えられる。
先ず、第１の方法は、２ｎ×２ｍの４ｎｍ個のＳＲＡＭバンクで構成して、画像上の画素を２ｎ画素置きにＳＲＡＭバンクにマッピングして１サイクルで読み出す方法である。
第１の方法について図３を用いて説明する。ここでは、説明上、ｎ＝ｍ＝８とし、画像の任意位置から一定範囲（８×８）の画素の読み出しを行う場合について説明する。図３の（１）は、画像データを模式的に示している。図３の（２）に示されるように、画像処理において、画像（Ｐｉｃｔｕｒｅ）における画素データ（Ｐｉｘｅｌ ｄａｔａ）は、１６×１６＝２５６個（２ｎ×２ｍ＝４ｎｍの式にｎ＝ｍ＝８を代入したもの）のＳＲＡＭバンクに読み出されて処理されることになる。各々のＳＲＡＭバンクは、図３の（３）に示されるように、メモリアレイ（ＭＣ−ａｒｒａｙ）とＸデコーダ回路（Ｘ−ｄｅｃｏｄｅｒ）とＹデコーダ回路（Ｙ−ｄｅｃｏｄｅｒ）から構成されている。
【００１６】
この第１の方法においては、画像の任意位置から一定範囲（８×８）の画素の読み出しを行うために、１６×１６＝２５６個のＳＲＡＭバンクを用いて読み出し処理が行われるので、任意の位置から水平，垂直１／２画素間引きした画素を読み出すことが可能であり、また８×８画素のブロックの境界に関係なく、任意位置から一定範囲（８×８）の画素の読み出しが行えるのである。
しかしながら、この第１の方法では、ＳＲＡＭバンクの増加による周辺回路の面積の増加や、大量のＳＲＡＭバンクが用いられるため消費電力の増大といったデメリットが生じてしまう。したがって、第１の方法を採用した場合には、任意の位置から水平，垂直１／２画素間引きした画素を読み出すといった機能は満足するものの、低消費電力化、小面積を図ることができない。
【００１７】
次に、第２の方法について説明する。第２の方法は、任意位置読み出しはできないが連続２ｎ画素ごとに読み出せるＳＲＡＭバンク２ｍ個で構成し、画像上の画素を２ｎライン(画像上の行) 置きにＳＲＡＭバンクにマッピングし、境界をまたいだ読み出しの場合は２サイクルで読みだして、その後で必要な画素を選択するものである。
第２の方法について図４を用いて説明する。ここでは、説明上、ｎ＝ｍ＝８とし、画像の一定範囲（８×８）の画素の読み出しを行う場合について説明する。図４の（１）は、画像データを模式的に示している。図４の（２）に示されるように、ＳＲＡＭは、連続１６画素ごとに読み出せるＳＲＡＭバンク１６個で構成し、画像上の画素を１６ライン(画像上の行) 置きにＳＲＡＭバンクにマッピングしている。各々のＳＲＡＭバンクは、図４の（３）に示されるように、メモリアレイ（ＭＣ−ａｒｒａｙ）とＸデコーダ回路（Ｘ−ｄｅｃｏｄｅｒ）とＹデコーダ回路（Ｙ−ｄｅｃｏｄｅｒ）から構成されている。
【００１８】
この第２の方法においては、連続１６画素ごとに読み出せるＳＲＡＭバンクを１６個用いて構成されているので、水平，垂直１／２画素間引きした画素を読み出すことが可能である。
しかしながら、この第２の方法では、境界(１６画素置き)をまたいだ読み出しには２サイクル読み出しが必要となり、消費電力の倍増やアクセスに必要なサイクル数の増加といったデメリットが生じてしまう。したがって、第２の方法を採用した場合には、水平，垂直１／２画素間引きした画素を読み出すといった機能は満足するものの、境界をまたいだ場合のように、画像の任意位置から一定範囲（ｎ×ｍ）の画素を１サイクルで読み出すことができない。
【００１９】
本発明が解決しようとする課題は、画像処理アプリケーションの様々なデータのアクセスの要求に対応するため、また動画像の高解像度化による並列度の増加に伴い、一度に任意の位置から大量の画素を読み出すという要求に対応するため、画像の任意位置から一定範囲（ｎ×ｍ）の大量の画素を１サイクルで読み出す機能、並びに、処理量の削減のために水平，垂直１／２画素間引きした画素を読み出す機能を有し、同時に低消費電力化、小面積を図ることができる画像処理用メモリを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するため、本発明の画像処理用メモリは、２次元アレイ状に並べられたメモリセルと、該メモリセルに接続されたワード線を駆動するＸデコーダと、該メモリセルに接続されたビット線を駆動するＹデコーダから構成されるメモリバンクを備え、前記メモリバンクが２個のブロックで構成され、それぞれのメモリバンク内の前記ブロックにおいては、前記Ｘデコーダが共通化され、かつ、前記Ｙデコーダは独立化された構成とされ、前記Ｙデコーダと前記メモリセルの間にＡＮＤゲートが設けられ、該ＡＮＤゲートで前記Ｙデコーダからのビット線の駆動信号出力と前記ブロックの制御信号出力とのＡＮＤ演算を行われ、前記ブロックが独立に制御されるメモリであって、前記メモリバンクが、Ｍ個のメモリバンクから成り、左右２個のブロックで構成され、各々の前記ブロックには、画像上の画素データにおける２Ｍライン置きに画素データがマッピングされることを特徴とする。
【００２１】
上記構成によれば、画像の任意位置から一定範囲の大量の画素を１サイクルで読み出すことができる。また、メモリバンク内のブロックにおいて、Ｘデコーダを共通化することによりメモリの面積の削減、消費電力の削減を図ることができる。ここで、単純にＸデコーダを共通化した場合は、メモリバンク内の各ブロックが同時に動作してしまうため消費電力が増大してしまう。本発明では、メモリバンク内の各ブロックのＹデコーダを独立化し、ＡＮＤゲートを用いることによって個々のブロックの独立制御を可能にしている。Ｙデコーダは個々のブロックに独立に存在し、その出力はＡＮＤゲートを通ってメモリセルにつながっている。ＡＮＤゲートではＹデコーダからの駆動信号出力とブロックの制御信号出力のＡＮＤ演算を行い、ブロックの制御信号によって個々のブロックの制御を行っているのである。
【００２２】
本発明の画像処理用メモリは、メモリバンクがＭ個のメモリバンクから成り、左右２個のブロックで構成され、各々のブロックには、画像上の画素データにおける２Ｍライン置きに画素データがマッピングされることにより、画像の任意位置から一定範囲（Ｍ×Ｍ）の画素を１サイクルで読み出すことができる。また、左右のブロックにおいて、Ｘデコーダを共通化することによりメモリの面積の削減、消費電力の削減を図ることができる。
【００２３】
次に、本発明の画像処理用メモリにおいて、Ｘデコーダは、前記ワード線を駆動するためのグローバルワードライン（ＧＷＬ）を制御して２次元アレイ状に並べられたメモリセルを行単位に選択する処理において、前記ＧＷＬを少なくとも２本同時に立ち上げ制御できる構成とし、また、ローカルワードラインセレクトライン（ＬＷＬＳＬ）を設けて、前記ＬＷＬＳＬと前記ＧＷＬのＡＮＤ出力を用いてローカルワードラインを選択し得ることが好ましい。
上記構成によれば、ローカルワードラインのＯＮ／ＯＦＦにより、任意の位置から１サイクルで読み出し（セグメンテーションフリー・アクセス）が可能となる。すなわち、従来のように、ローカルワードラインセレクトライン（ＬＷＬＳＬ）がなく、また、ワード線を駆動するためのグローバルワードラインは１本ずつ立ち上がる構成のメモリでは、境界をまたいだ場合には、読み出しに２サイクルを必要としていたものを、グローバルワードライン（ＧＷＬ）を少なくとも２本同時に立ち上げ、ローカルワードラインセレクトライン（ＬＷＬＳＬ）を設けて、ＬＷＬＳＬとＧＷＬのＡＮＤ出力を用いてローカルワードラインを選択することにより、水平方向のセグメンテーションフリー・アクセスを可能としたものである。
【００２４】
また、本発明の画像処理用メモリにおいて、Ｘデコーダは、前記ワード線を駆動するためのグローバルワードライン（ＧＷＬ）を制御して２次元アレイ状に並べられたメモリセルを行単位に選択する処理において、前記ＧＷＬの隣接する２本を同時に立ち上げ制御できる構成とし、また、ローカルワードラインセレクトライン（ＬＷＬＳＬ）を設けて、前記ＬＷＬＳＬと前記ＧＷＬのＡＮＤ出力を用いてローカルワードラインを選択し得ることが好ましい。
上記構成によれば、隣接する２本のグローバルワードライン（ＧＷＬ）を制御しているので、読み出す必要がある連続した画素が境界をまたいだ場合においても、１サイクルで読み出すことができる。
【００２５】
また、本発明の画像処理用メモリにおいて、ブロックの制御信号出力およびローカルワードラインセレクトライン（ＬＷＬＳＬ）を用いて、読み出しに必要なブロック以外をＯＦＦにすることにより消費電力を削減し得ることが好ましい。
上記構成によれば、Ｘデコーダを共通化したことによる消費電力の削減に加えて、更に消費電力の削減を図ることができる。
【００２６】
次に、本発明の画像処理用メモリにおいて、ローカルワードラインには複数のメモリセルが配設されて複数画素がマッピングされており、該メモリセルに接続されたビット線を駆動する読み出し回路もしくは書き込み回路が、複数の前記ビット線を同時に駆動して複数画素データを同時に読み出し／書き込みし得ることが好ましい。
【００２７】
また、本発明の画像処理用メモリにおいて、ローカルワードラインには複数のメモリセルが配設されてｎ画素置きにマッピングされており、該メモリセルに接続されたビット線を駆動する読み出し回路もしくは書き込み回路が、複数の前記ビット線を同時に駆動してｎ画素置きの画素データを同時に読み出し／書き込みし得ることが好ましい。
【００２８】
また、本発明の画像処理用メモリにおいて、ローカルワードラインには４個のメモリセルが配設されてｎ画素置きにマッピングされており、該メモリセルに接続されたビット線を駆動する読み出し回路もしくは書き込み回路が、１〜４本の前記ビット線を同時に駆動してｎ画素置きの画素データを同時に読み出し／書き込みし得ることが好ましい。
【００２９】
上記の画像処理用メモリの構成によれば、画像処理アプリケーションの様々なデータのアクセスの要求に対応するため、また動画像の高解像度化による並列度の増加に伴い、一度に任意の位置から大量の画素を読み出すという要求に対応するため、画像の任意位置から一定範囲（ｎ×ｍ）の大量の画素を１サイクルで読み出す機能、並びに、処理量の削減のために水平，垂直１／２画素間引きした画素を読み出す機能を有し、同時に低消費電力化、小面積を図ることができる。
【発明の効果】
【００３０】
本発明の画像処理用メモリは、動画像処理の高解像度化が進み、高解像度化により動画像処理専用ＶＬＳＩ(ＭＰＥＧｘ、Ｈ．２６４コーデックＶＬＳＩ)に要求される演算性能、圧縮性能は大きく増加している中で、動き検出アルゴリズムなどの画像処理アプリケーションの様々なデータのアクセスの要求に対応するため、また動画像の高解像度化による並列度の増加に伴い、一度に任意の位置から大量の画素を読み出すという要求に対応するため、画像の任意位置から一定範囲（ｎ×ｍ）の大量の画素を１サイクルで読み出す機能、並びに、処理量の削減のために水平，垂直１／２画素間引きした画素を読み出す機能を有し、同時に低消費電力化、小面積を図ることができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施形態について、図面を参照しながら詳細に説明していく。
【実施例１】
【００３２】
実施例１の画像処理用メモリの全体構成と画像のマッピングに関して、図５を参照しながら説明する。
図５の（１）は、画面１枚の画像（Ｐｉｃｔｕｒｅ）を構成する画素データを行（ライン：ｌｉｎｅ）単位にマッピングする様子を示している。図５の（２）は、画像のサーチウィンドウ（Ｓｅｒｃｈ  Ｗｉｎｄｏｗ）としてのスタティックメモリ（ＳＲＡＭ）の全体構成を示している。
【００３３】
図５の（２）に示されるように、１つのＳＲＡＭは、ｍ個のメモリバンク（ｂａｎｋ１〜ｍ）で構成され、それぞれのメモリバンクは左右のブロックに分かれており、計２ｍ個のブロックはそれぞれ独立に動作，非動作の切り替えが可能である。各ブロックには、２ｍライン置きに画素がマッピングされている。また１ブロックには１ラインの画素が配置されている。
【００３４】
上記構成のＳＲＡＭにおける２ｍブロックの動作，非動作の切り替えによって、任意位置の垂直方向の連続ｍ画素もしくは垂直１／２間引きした２ｍ画素(画像上で垂直方向の１画素おきのｍ画素) の読み出しを可能にしている。
【００３５】
例えば、１つのＳＲＡＭが８個（ｍ＝８）のメモリバンクで構成される場合に、メモリバンク１（ｂａｎｋ１）の左側ブロックには、１ｓｔ ｌｉｎｅ，１７ｔｈ ｌｉｎｅ，３３ｒｄ ｌｉｎｅ・・・といったように、１６（２×８）ライン置きに画素がマッピングされる。メモリバンク２（ｂａｎｋ２），メモリバンク３（ｂａｎｋ３）・・・メモリバンク８（ｂａｎｋ８）の左側ブロックも同様である。
【００３６】
また、メモリバンク１（ｂａｎｋ１）の右側ブロックには、９ｔｈ ｌｉｎｅ，２５ｔｈ ｌｉｎｅ，４１ｓｔ ｌｉｎｅ・・・といったように、１６（２×８）ライン置きに画素がマッピングされる。メモリバンク２（ｂａｎｋ２），メモリバンク３（ｂａｎｋ３）・・・メモリバンク８（ｂａｎｋ８）の右側ブロックも同様である。
マッピングの順番は、メモリバンク１の左側ブロック，メモリバンク２の左側ブロック，・・・メモリバンク８の左側ブロック，メモリバンク１の右側ブロック，メモリバンク２の右側ブロック，・・・メモリバンク８の右側ブロックの並びの順である。
【００３７】
そして、全てのブロックが水平方向のセグメンテーション・フリー機構（これについては後述する）を備えているため、任意位置の水平方向連続ｍ画素または水平方向１／２間引きした２ｍ画素(画像上で水平方向の１画素おきのｍ画素) の読み出しが可能となるのである。
【００３８】
図５の（３）は、実施例１の画像処理用メモリのメモリバンクの構成ブロック図である。これについては、より詳細に図６を参照しながら次に説明する。
【００３９】
図６に示されるように、実施例１の画像処理用メモリのメモリバンクは左右のブロック（２Ｌ，２Ｒ）おいてＸデコーダ３を共通化することで面積の削減を図っている。単純にＸデコーダを共通化した場合は、メモリバンク内の左右のブロック（２Ｌ，２Ｒ）が同時に動作してしまうため消費電力が増大することから、実施例１の画像処理用メモリのメモリバンクでは、Ｙデコーダ（４Ｌ，４Ｒ）を独立化し、ＡＮＤゲート（５Ｌ，５Ｒ）を用いることによって、左右のブロック（２Ｌ，２Ｒ）の独立制御を可能にしている。Ｙデコーダ（４Ｌ，４Ｒ）は左右のブロック（２Ｌ，２Ｒ）に独立に存在し、その出力はＡＮＤゲート（５Ｌ，５Ｒ）を通ってメモリセル（ｍｅｍｏｒｙ ｃｅｌｌ）につながっている。ＡＮＤゲート（５Ｌ，５Ｒ）ではＹデコーダ（４Ｌ，４Ｒ）からの駆動信号出力とブロックの制御信号出力（ｂｌｏｃｋ ｃｏｎｔｒｏｌ）のＡＮＤ演算を行っており、ブロックの制御信号によって左右のブロック（２Ｌ，２Ｒ）の制御を行っている。
【００４０】
次に、ブロックが水平方向のセグメンテーション・フリー機構について説明する。従来メモリのセグメンテーションの問題について、図７を参照して説明する。
２次元アレイ状に並べられたメモリセルと、該メモリセルに接続されたワード線を駆動するＸデコーダと、該メモリセルに接続されたビット線を駆動するＹデコーダから構成されるメモリバンクを備えた従来メモリにおいては、Ｘデコーダがワード線を駆動するグローバルワードライン（ＧＷＬ）を制御し、Ｙデコーダがビット線を制御することによりメモリセルの情報を読み出したり、書き込んだりしている。例えば、ビット線が１６本ある従来メモリでは、図７に示すように、ＧＷＬ１本ごとに１６ビット情報のメモリセルが駆動される構成となっている。各ＧＷＬは、１６本のビット線を共有している。例として、ＧＷＬ[１]を”１”にして、１６本のビット線を駆動することにより、メモリセル１７〜３２の情報が読み出せる。
【００４１】
しかしながら、かかる従来メモリの構成では、ビット線を共有しているため２〜１７などの境界を超えた読み出しを行おうとすると、ＧＷＬ[０]を”１”にして、ビット線（左２番から１６番）を駆動して読み込むサイクルを行い、さらに、ＧＷＬ[１]を”１”にして、ビット線（左１番）を駆動して読み込むサイクルを行う必要があり、読み出しに２サイクルかかるといった問題があった。
【００４２】
上述した従来メモリのセグメンテーションの問題を解決すべく、実施例１の画像処理用メモリのメモリバンク内ブロックにおいては、図８に示すような水平方向のセグメンテーション・フリー機構を備える。
以下、水平方向のセグメンテーション・フリー機構について図８を参照して説明する。図８は、実施例１の画像処理用メモリのメモリバンク内ブロック構成図を示している。
Ｘデコーダ３は、ワード線を駆動するためのグローバルワードライン（ＧＷＬ）を制御して２次元アレイ状に並べられたメモリセルを行単位に選択する。
【００４３】
第１の特徴としては、メモリセルを行単位に選択する処理において、ＧＷＬを少なくとも２本同時に立ち上げ制御できる構成としている点である（符号ａで示されるサークル部分を参照）。
【００４４】
また、第２の特徴としては、ローカルワードラインセレクトライン（ＬＷＬＳＬ）を設けて、ＬＷＬＳＬとＧＷＬのＡＮＤ出力を用いてローカルワードラインを選択できることとしている点である（符号ｂで示されるサークル部分を参照）。
かかる構成によれば、ローカルワードラインのＯＮ／ＯＦＦにより、任意の位置から１サイクルで読み出し（セグメンテーションフリー・アクセス）が可能となる。すなわち、従来のように、ローカルワードラインセレクトライン（ＬＷＬＳＬ）がなく、また、ワード線を駆動するためのグローバルワードラインは１本ずつ立ち上がる構成の従来メモリでは、境界をまたいだ場合には、読み出しに２サイクルを必要としていたものを、グローバルワードライン（ＧＷＬ）を２本同時に立ち上げ、ローカルワードラインセレクトライン（ＬＷＬＳＬ）を設けて、ＬＷＬＳＬとＧＷＬのＡＮＤ出力を用いてローカルワードラインを選択することにより、水平方向のセグメンテーションフリー・アクセスを可能としたものである。
【００４５】
また、第３の特徴としては、ローカルワードラインには４個のメモリセルが配設されてｎ画素置きにマッピングされており、該メモリセルに接続されたビット線を駆動する読み出し回路もしくは書き込み回路が、１〜４本のビット線を同時に駆動してｎ画素置きの画素データを同時に読み出し／書き込みし得る点である（符号ｃで示されるサークル部分を参照）。
【００４６】
ここで、Ｘデコーダ３の構成について、図９を参照して説明する。図９に示されるように、上位のグローバルワードラインのＮＯＲ論理出力が、１つ下位のグローバルワードラインのＮＯＲ論理入力に繋がってしるため、上位のグローバルワードライン（例えば、ＧＷＬ[０]）が立ち上がれば、一つ下位のグローバルワードライン（ここでは、ＧＷＬ[１]）も同時に立ち上げることになる。
【００４７】
上記Ｘデコーダによりグローバルワードライン（ＧＷＬ）を上下２本同時に立ち上げて、ローカルワードラインセレクトライン（ＬＷＬＳＬ）によって上下のどちらの画素を読み出すから選択する。このローカルワードラインセレクトラインによる画素の選択処理について、図１０を参照して説明する。図１０に示されるように、２本のグローバルワードライン（ＧＷＬ[０]，ＧＷＬ[１]）が同時に立ち上がっているところに、ローカルワードラインセレクトライン０（ＬＷＬＳＬ０＜１＞＝０，ＬＷＬＳＬ０＜０＞＝１）とローカルワードラインセレクトライン１（ＬＷＬＳＬ１＜１＞＝１，ＬＷＬＳＬ１＜０＞＝０）を立ち上げる。ＬＷＬＳＬとＧＷＬのＡＮＤ出力がローカルワードラインを選択する（ＡＮＤ出力が”１”になっている部分）。各ローカルワードラインには４個のメモリセルが配設されており、選択されたローカルワードラインに繋がるメモリセルが読み出し可能とされることとなる。図１０で示される例では、メモリセル１，９，１７，２５とメモリセル３４，４２，５０，５８が読み出し可能となっている。
【００４８】
繰り返しになるが、実施例１の画像処理用メモリにおけるメモリバンクでは、メモリセル，Ｘデコーダ，Ｙデコーダのつなぎこみとメモリセル内の画素のマッピングによって、水平方向のセグメンテーション・フリー機能を実現し、またＸデコーダを共有化している構成となっている。
【００４９】
図１１に、水平方向の画像のマッピングの様子を示す。上述したように、各メモリセルに繋がるローカルワードラインの論理値は、Ｘデコーダから出力されるグローバルワードライン（ＧＷＬ) と、Ｙデコーダから出力されるローカルワードラインセレクトライン（ＬＷＬＳＬ）のＡＮＤによって決まる。隣接するメモリセルの画素データは、ｎ画素置きにマッピングされている。アクセスされるローカルワードラインは、２ｎ(２×ｎライン)本のローカルワードラインセレクトライン（ＬＷＬＳＬ）の値を切り替えて選択している。
【００５０】
図１２と図１３をそれぞれ参照しながら、連続ｎ画素アクセスと１／２間引き２ｎ画素アクセスした場合の処理を説明する。図１２と図１３では、動作しているラインは黒線で表現し、動作していないラインは薄いグレーで表現されている。
【００５１】
図１２では、画像の１ライン上の画素データのうち、２５〜３３の位置の画素データをアクセスする場合について説明する。上下２本のグローバルワードライン（ＧＷＬ[０]，ＧＷＬ[１]）が同時に立ち上がり、また、８本のローカルワードラインセレクトライン（ＬＷＬＳＬ）が立ち上がり（但し、最も左側のＬＷＬＳＬのみＬＷＬＳＬ＜１＞＝１であり、他のＬＷＬＳＬではＬＷＬＳＬ＜０＞＝１である。）、読み出し回路６で読み出し対象の画素のメモリセルに繋がるビット線を選択して読み出している。
すなわち、ＧＷＬとＬＷＬＳＬのＡＮＤ出力を用いることで、ローカルワードライン（ＬＷＬ）のＯＮ／ＯＦＦ制御を実施し、任意の位置から１サイクルで画素データの読み出しを可能としている。
【００５２】
また、図１３では、画像の１ライン上の画素データのうち、水平方向の１／２画素間引き（連続する画素を１つ飛ばしに選ぶ）した画素を読み出す様子（１０,１２,１４,１６，１８，２０，２２，２４の位置の画素データをアクセスする場合）を説明する。上下２本のグローバルワードライン（ＧＷＬ[０]，ＧＷＬ[１]）が同時に立ち上がり、また、４本のローカルワードラインセレクトライン（ＬＷＬＳＬ）が立ち上がっている。４本のＬＷＬＳＬは、左から２番目〜５番目の４本で、全てＬＷＬＳＬ＜０＞＝１となっている。
そして、読み出し回路６で読み出し対象の画素のメモリセルに繋がるビット線を選択して読み出している。ここでは、４本１組のビットラインのうち、左から２組目と３組目と４組目と５組目のそれぞれ図中の左から２番目と３番目が駆動され、画素データが読み出されている。
すなわち、ＧＷＬとＬＷＬＳＬのＡＮＤ出力を用いることで、ローカルワードライン（ＬＷＬ）のＯＮ／ＯＦＦ制御を実施し、水平方向の１／２画素間引き（連続する画素を１つ飛ばしに選ぶ）した画素データについても、１サイクルで画素データの読み出しを可能としている。
【００５３】
次に、実施例１の画像処理用メモリが有するブロックアクセス機能について説明する。
ブロックアクセス機能とは、ｎ×ｎ（間引きなし)，２ｎ×ｎ（水平１／２間引き)，ｎ×２ｎ（垂直１／２間引き)，２ｎ×２ｎ（水平，垂直１／２間引き) の全ての種類のｎ×ｎ画素を１サイクルで読み出すことである。
【００５４】
図１４を参照して、８×８画素のサーチウィンドウの矩形アクセス処理を説明する。
図１４の（１）に示されるように、画像上の第３行〜第１０行の８×８画素のサーチウィンドウを想定する。この８×８画素のサーチウィンドウの画素データをメモリ上にマッピングする場合、図１４の（２）に示されるように、第３行の画素データはメモリバンク３（ｂａｎｋ３）の左ブロックに、・・・、第７行の画素データはメモリバンク７（ｂａｎｋ７）の左ブロックに、第８行の画素データはメモリバンク８（ｂａｎｋ８）の左ブロックに、第９行の画素データはメモリバンク１（ｂａｎｋ１）の右ブロックに、第１０行の画素データはメモリバンク２（ｂａｎｋ２）の右ブロックに、それぞれマッピングされる。
すなわち、ローカルワードラインセレクトライン（ＬＷＬＳＬ）によって、８×８画素のサーチウィンドウの矩形における水平方向の任意位置の８画素の読み出しを行い、上記のメモリバンクの左右ブロックへの画素のマッピングによって垂直方向の任意位置の８画素の読み出しを行い、トータルとして８×８画素のサーチウィンドウの矩形アクセスを実現しているのである。
【００５５】
また、上記の例の８×８画素の矩形アクセスの読み出しに必要なブロック以外、すなわち、メモリバンク１（ｂａｎｋ１）の左ブロック、メモリバンク２（ｂａｎｋ２）の左ブロック，メモリバンク３（ｂａｎｋ３）の右ブロック〜メモリバンク８（ｂａｎｋ８）の右ブロックは、ＯＦＦにすることで画像処理用メモリの消費電力を低減できる。
【００５６】
また、図１５を参照して、１／２画素間引きした１６×１６画素のサーチウィンドウの矩形アクセス処理を説明する。
図１５の（１）に示されるように、画像上の第３行，第５行，第７行，・・・，第１７行の水平，垂直１／２画素間引き（連続する画素を１つ飛ばしに選ぶ）した画素データの１６×１６画素のサーチウィンドウを想定する。この１６×１６画素のサーチウィンドウの画素データをメモリ上にマッピングする場合、図１５の（２）に示されるように、第３行の画素データはメモリバンク３（ｂａｎｋ３）の左ブロックに、第５行の画素データはメモリバンク５（ｂａｎｋ５）の左ブロックに、第７行の画素データはメモリバンク７（ｂａｎｋ７）の左ブロックに、第９行の画素データはメモリバンク１（ｂａｎｋ１）の右ブロックに、第１１行の画素データはメモリバンク３（ｂａｎｋ３）の右ブロックに、第１３行の画素データはメモリバンク５（ｂａｎｋ５）の右ブロックに、第１５行の画素データはメモリバンク７（ｂａｎｋ７）の右ブロックに、また第１７行の画素データはメモリバンク１（ｂａｎｋ１）の左ブロックにそれぞれマッピングされる。
すなわち、ローカルワードラインセレクトライン（ＬＷＬＳＬ）によって、１６×１６画素のサーチウィンドウの矩形における水平方向の１／２画素間引きした８画素の読み出しを行い、上記のメモリバンクの左右ブロックへの画素のマッピングによって垂直方向の１／２画素間引きした８画素の読み出しを行い、トータルとして水平，垂直１／２画素間引きした１６×１６画素のサーチウィンドウの矩形アクセスを実現しているのである。
【００５７】
また、上記の例の１６×１６画素の矩形アクセスの読み出しに必要なブロック以外、すなわち、メモリバンク２（ｂａｎｋ２）の左右ブロック、メモリバンク４（ｂａｎｋ４）の左右ブロック，メモリバンク６（ｂａｎｋ６）の左右ブロック，メモリバンク８（ｂａｎｋ８）の左右ブロックは、ＯＦＦにすることで画像処理用メモリの消費電力を低減できる。
【００５８】
以上説明したように、図１４は、ｎ×ｎ（間引きなし) ブロックアクセスを、図１５は２ｎ×２ｎ（水平，垂直１／２間引き) ブロックアクセスの様子を示している。垂直ｎラインアクセス，垂直セグメンテーション・フリー機能および垂直１／２画素間引きは、２ｎ個のブロックの組み合わせによって、水平方向の各機能は個々のブロックのセグメンテーション・フリー機能によって実現しているのである。
【００５９】
次に、実施例１の画像処理用メモリと、発明が解決しようとする課題で述べた第１の方法と第２の方法の従来メモリとで、性能比較と評価を行ったものを図１６および図１７に示されるグラフに示す。それぞれグラフは、１アクセスあたりの消費電力と面積の比較を示している。
それぞれの図のグラフからわかるように、実施例１の画像処理用メモリは、第１の方法の従来メモリに対して消費電力が４９％削減、面積は４８％削減できている。また、第２の方法の従来メモリに対して面積の増加を抑え、読み出しに２サイクルかけていたものを、サイクル数を半分にした上、消費電力が５２％削減できている。
図１８は、第１の方法および第２の方法の従来メモリに対する面積・消費電力削減効果を示したものである。
【００６０】
図１９は、並列度に対する面積・消費電力削減効果を示したグラフを示している。このグラフによれば、並列度が向上するにつれ、第１の方法および第２の方法の従来メモリに対する実施例１の画像処理用メモリの面積・消費電力削減効果が更に上がることが示されている。ＳｕｐｅｒＨＤＴＶなどの超高解像度の画像処理に移行するに従い、本発明の画像処理用メモリによる面積・消費電力削減効果がより発揮されることになる。
【産業上の利用可能性】
【００６１】
本発明の画像処理用メモリは、動画像処理専用ＶＬＳＩ(ＭＰＥＧｘ、Ｈ．２６４コーデックＶＬＳＩ)で用いられる動き検出アルゴリズムなどの画像処理アプリケーションなど、今後の超並列画像処理に有用である。
【図面の簡単な説明】
【００６２】
【図１】画像データ（高解像度画像の場合、例えば、１９２０×１０８０ドット画像）の中から、処理のための入力画像（サーチウィンドウ）として取り込む画素のいくつかのパターンを示している。
【図２】水平，垂直１／２画素間引きした画素を読み出す機能についての説明図
【図３】従来メモリを用いて、任意の位置から水平，垂直１／２画素間引きの有無を選択した上で、画像の任意位置から一定範囲（ｎ×ｍ）の画素の読み出しを行う第１の方法の説明図
【図４】従来メモリを用いて、任意の位置から水平，垂直１／２画素間引きの有無を選択した上で、画像の任意位置から一定範囲（ｎ×ｍ）の画素の読み出しを行う第２の方法の説明図
【図５】実施例１の画像処理用メモリの全体構成図と画像のマッピングの説明図
【図６】実施例１の画像処理用メモリのメモリバンクの構成ブロック図
【図７】従来メモリのセグメンテーションの問題についての説明図
【図８】実施例１の画像処理用メモリのメモリバンク内ブロックにおける水平方向のセグメンテーション・フリー機構の説明図
【図９】Ｘデコーダの構成図
【図１０】ローカルワードラインセレクトラインによる画素の選択処理の説明図
【図１１】水平方向の画像のマッピングの説明図
【図１２】連続ｎ画素アクセス処理の説明図
【図１３】１／２間引き２ｎ画素アクセス処理の説明図
【図１４】８×８画素のサーチウィンドウの矩形アクセス処理の説明図
【図１５】１／２画素間引きした１６×１６画素のサーチウィンドウの矩形アクセス処理の説明図
【図１６】第１の方法の従来メモリに対する面積・消費電力削減効果を示したグラフ
【図１７】第２の方法の従来メモリに対する面積・消費電力削減効果を示したグラフ
【図１８】第１の方法および第２の方法の従来メモリに対する面積・消費電力削減効果を示したグラフ
【図１９】並列度に対する面積・消費電力削減効果を示したグラフ
【符号の説明】
【００６３】
１    メモリバンク
２，２Ｌ，２Ｒ  メモリセル
３    Ｘデコーダ
４，４Ｌ，４Ｒ  Ｙデコーダ
５，５Ｌ，５Ｒ  ＡＮＤゲート
６，６Ｌ，６Ｒ  読み出し回路
７Ｌ，７Ｒ    書き込み回路
１０  画像フレーム
１１  アドレス境界
【図１】
0005261694.tif 000002
【図２】
0005261694.tif 000003
【図３】
0005261694.tif 000004
【図４】
0005261694.tif 000005
【図５】
0005261694.tif 000006
【図６】
0005261694.tif 000007
【図７】
0005261694.tif 000008
【図８】
0005261694.tif 000009
【図９】
0005261694.tif 000010
【図１０】
0005261694.tif 000011
【図１１】
0005261694.tif 000012
【図１２】
0005261694.tif 000013
【図１３】
0005261694.tif 000014
【図１４】
0005261694.tif 000015
【図１５】
0005261694.tif 000016
【図１６】
0005261694.tif 000017
【図１７】
0005261694.tif 000018
【図１８】
0005261694.tif 000019
【図１９】
0005261694.tif 000020