JP5126360B2 - メモリ装置及びそれを制御するメモリコントローラ - Google Patents

メモリ装置及びそれを制御するメモリコントローラ Download PDF

Info

Publication number
JP5126360B2
JP5126360B2 JP2010518823A JP2010518823A JP5126360B2 JP 5126360 B2 JP5126360 B2 JP 5126360B2 JP 2010518823 A JP2010518823 A JP 2010518823A JP 2010518823 A JP2010518823 A JP 2010518823A JP 5126360 B2 JP5126360 B2 JP 5126360B2
Authority
JP
Japan
Prior art keywords
address
memory
generation unit
memory device
internal
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.)
Expired - Fee Related
Application number
JP2010518823A
Other languages
English (en)
Other versions
JPWO2010001433A1 (ja
Inventor
貴彦 佐藤
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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Publication of JPWO2010001433A1 publication Critical patent/JPWO2010001433A1/ja
Application granted granted Critical
Publication of JP5126360B2 publication Critical patent/JP5126360B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Image Input (AREA)

Description

本発明は,メモリ装置及びそれを制御するメモリコントローラに関し,特に,画像データを格納するメモリ装置とそのメモリコントローラに関する。
メモリ装置,特に半導体メモリ装置のうち大容量のSDRAMは,画像処理装置内のフレームメモリとして広く利用されている。画像データを格納するフレームメモリは,フルハイビジョン画面に対応するために大容量化の要望が強い。一方で,動画の圧縮や解凍の処理を有するMPEG規格に対応して,通常のラスタスキャンによるメモリアクセスに加えて,任意の領域の画像データを高速にアクセスすることが要請されている。たとえば,MPEG規格には,動きベクトルを検出するために所定の矩形領域の画像と一致する画像を探索する処理が含まれている。この動きベクトルの探索処理は,フレームメモリに対する頻繁で且つ大容量のリード動作が必要になる。
様々な画像処理に対応可能なアクセス機能を有するメモリ装置について,本出願人は特許出願を行った。例えば,特願2006−345415号(2006年12月22日出願(未公開))。これによれば,メモリ装置は,入力アドレスにより選択される複数のメモリ単位領域を有し,所定のメモリマップにしたがって画像データを複数のメモリ単位領域内に格納し,1回の入力アドレスにより隣接するメモリ単位領域から出力データを読み出し及び隣接するメモリ単位領域に入力データを書き込む。
汎用のSDRAMは,バーストリードやバーストライト機能を有し,連続するアドレスの記憶領域に対するアクセスを効率よく行うことができる。したがって,連続するアドレス領域内に二次元画像データのラスタスキャン方向の画像データを格納するメモリマップの場合は,二次元画像データをラスタスキャンするアクセスは非常に高い効率になり,単位時間当たりに処理可能なデータ数であるメモリの帯域幅は非常に大きくなる。しかし,ラスタスキャンとは異なる方向または領域へのメモリのアクセスは,メモリのアクセス効率を低下させメモリの帯域幅の低下を招く。
このような汎用のSDRAMの不都合を解消するために,様々な提案がされている。例えば,以下の特許文献1〜5などである。
特許文献1には,メモリ内の複数のバンク領域の同じロウアドレス及びコラムアドレスの領域内に二次元画像の垂直方向の画像データを格納し,複数のバンク領域を同時にアクティブ化することで,複数行の画像データを同時にアクセスすることが記載されている。つまり,特殊なメモリマップに基づいて二次元画像の画像データを格納することで,複数行の画像データのアクセス効率を高めている。
特許文献2には,ビデオRAM(VRAM)が二次元画像の画像データを格納するDRAMとDRAMのデータをキャッシュ制御するシリアルアクセスメモリSAMとを有し,シリアルアクセスメモリSAMが昇順もしくは降順にカウント可能なシリアルアドレスカウンタを有し,シリアルアドレスカウンタを降順にカウントさせることで,左右逆転させた画像をDRAMに書き込みすることが記載されている。
特許文献3には,ビデオRAM(VRAM)が二次元画像の画像データを格納するDRAMとDRAMのデータをキャッシュ制御するシリアルアクセスメモリSAMとを有し,シリアルアクセスメモリのアドレスカウンタを加算モードと減算モードに変更可能であり,且つアドレスカウンタの加算値を任意の数として外部より設定可能にしたことが記載されている。
特許文献4には,画像読み取り装置にて読み取られた画像データを,副走査方向に隣り合う画素データのアドレスが連続アドレスとなるように画像メモリ内に書き込み,そして,縦横逆に読み取られた画像データに対してはページモード読み出し処理を行うことが記載されている。
特許文献5には,特許文献2と同様のビデオRAMが記載されている。
特開2005−116128号公報 特開平8−190372号公報 特開平6−243675号公報 特開平5−334426号公報 特開平5−54657号公報
上記の特許文献1〜5は,いずれもDRAMを有するシステムの構成を開示するものであり,画像データを格納するDRAMの内部構成に関するものではない。したがって,これらの先行技術は,画像データを格納するDRAMの帯域幅を大きくすることはできない。一方で,種々の画像処理に対応した特殊なアクセスを効率的に行うことができるメモリ装置が期待されている。
そこで,本発明の目的は,特殊なアクセスを効率的に行うことができるメモリ装置を提供することにある。
本発明の別の目的は,二次元画像の任意の方向への連続アクセスを効率的に行うことができるメモリ装置を提供することにある。
さらに,本発明の別の目的は,二次元画像の任意の二次元領域のアクセスを効率的に行うことができるメモリ装置を提供することにある。
メモリ装置は,アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有する。前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶する。さらに,前記内部アドレス制御部は,前記二次元配列データの少なくとも斜め方向を含む複数の走査方向を制御する走査方向制御信号に基づいて前記走査方向に対応する内部アドレスを順次生成する。
内部アドレス制御部が,斜め方向の走査方向制御信号に基づいて,下位及び上位アドレスを並行して順次生成するので,斜め方向へのバーストアクセスが可能になる。さらに,内部アドレス制御部が,走査方向制御信号に基づいて下位及び上位アドレスを順次生成するので,走査方向制御信号により特定される走査方向へのバーストアクセスが可能になる。
上記のメモリ装置を制御するメモリコントローラは,アクセス対象の矩形領域を規定する位置座標と縦横の長さと傾きとを入力し,前記走査方向制御信号を生成するバースト方向判定部と,制御コマンドを生成して前記メモリ装置に出力するコマンド発行部と,前記外部アドレスを生成して前記メモリ装置に出力するアドレス発行部とを有する。そして,前記走査方向制御信号が前記メモリ装置に出力される。
メモリ装置は,画像データなどの二次元配列データに対して種々の方向にバーストアクセスすることができる。
画像符号化システムの構成図である。 画像符号化システムでの画像データに対するアクセス領域の指定を説明する図である。 本実施の形態におけるメモリコントローラの構成とメモリ装置との接続構成とを示す図である。 本実施の形態におけるメモリ装置の構成図である。 本実施の形態におけるメモリ装置の構成図である。 図5のメモリマップの詳細図である。 ページ領域内のメモリマップを示す図である。 本実施の形態におけるコラムアドレス制御部41内のコラムアドレスを生成する構成を示す図である。 走査方向制御信号vaextの具体例を示す図である。 動画の動き方向の例を示す図である。 動画の動き方向と動き量の分布を示す図である。 動きベクトルの探索範囲の一例を示す図である。 菱形領域のアクセス方法の一例を示す図である。 斜め方向の走査について説明する図である。 斜め方向走査を行うコラムアドレス制御部を示す図である。 斜め方向走査を行うコラムアドレス制御部の詳細図である。 斜め方向走査を行うコラムアドレス制御部の詳細図である。 斜め方向に走査する場合のメモリ装置のタイミングチャート図である。 斜め方向に走査する場合のメモリ装置のタイミングチャート図である。 ページ領域内の水平走査アクセスを示す図である。 ページ領域内の垂直走査アクセスを示す図である。 メモリコントローラによるバースト方向判定処理を示す図である。 メモリコントローラによるバースト方向判定処理のフローチャート図である。 垂直方向に走査アクセス(バーストアクセス)する例を示す図である。 垂直方向に走査アクセス(バーストアクセス)するコラムアドレス制御部の構成図である。 垂直方向に走査してアクセスする場合のタイミングチャート図である。 垂直方向に走査してアクセスする場合のタイミングチャート図である。 垂直方向に走査アクセス(バーストアクセス)する別の例を示す図である。 動き予測を行うときのアクセスを説明する図である。 動き予測を行うときの別のアクセスを説明する図である。 動き予測を行うときの別のアクセスを説明する図である。 2段階探索アルゴリズムの1回目の探索におけるコラムアドレス制御部の構成図である。 2段階探索アルゴリズムの1回目の探索におけるコラムアドレス制御部の構成図である。 2段階探索アルゴリズムの1回目の探索におけるメモリ装置のタイミングチャート図である。 本実施の形態における矩形領域のバーストアクセスを説明する図である。 本実施の形態における矩形領域のバーストアクセスする場合のコラムアドレス制御部の構成図である。 矩形領域のバーストアクセスする場合の上位アドレス生成ユニットの一部の構成図である。 矩形領域のバーストアクセスする場合の上位アドレス生成ユニットの一部の構成図である。 矩形領域のバーストアクセスする場合のメモリ装置にタイミングチャート図である。 逆進アクセスする場合の下位アドレス生成ユニットの一部構成図である。 時間軸を有するメモリマップの例を示す図である。
符号の説明
10:メモリ装置 41:コラムアドレス制御部
44:ロウアドレス制御部 47:メモリコア
48:メモリセルアレイ 49:コラムデコーダ
50:ロウデコーダ
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[画像符号化システム,メモリコントローラ,メモリ装置の概略]
図1は,画像符号化システムの構成図である。本実施の形態のメモリ装置は,画像データなどの二次元配列データを記憶するフレームメモリ10に対応する。画像符号化システムは,入力画像データIMinに対して同一フレーム内で圧縮を行うイントラ予測の処理と,時間軸方向で圧縮を行うインター予測の処理のいずれかを選択する処理選択部18と,選択された処理に基づいて入力画像データIMinの符号化を行い符号化された出力画像データCDoutを出力する符号化処理部20とを有する。さらに,画像符号化システムは,イントラ予測処理部14と,動き予測処理17を含むインター予測処理部16とを有する。そして,イントラ予測処理部14とインター予測処理部16とは,それぞれメモリコントローラ12を経由してフレームメモリ10にアクセスし,フレームメモリに記憶された画像データのうち所望の領域の画像データに対して,リードまたはライトを行う。処理選択部18は,イントラ予測処理の結果とインター予測処理の結果に基づいて,より適している処理を選択する。イントラ予測処理部14とインター予測処理部16は,メモリコントローラ12を介して,フレームメモリ10に頻繁にアクセスする。そのため,フレームメモリ10は,イントラ予測処理部14とインター予測処理部16による所望の領域の画像データに対するアクセスを効率良く行うことが必要になる。
上記のイントラ予測処理と,インター予測処理は,例えば,MPEG規格における圧縮技術において行われる処理である。これらの処理では,フレームメモリ10への画像データのライトと,フレームメモリ10からの画像データのリードとを高い頻度で行われる。例えば,インター予測処理では,時間軸方向の異なるフレーム画像間で,同じ画像の動き方向を検出して動きベクトルを求める動き予測処理が行われる。この動き予測処理では,16×16画素の小さな矩形領域の画像が,異なるフレームの画像内のどの位置に移動したかを探索する処理が必要になり,フレームメモリ10へのリード動作が繰り返される。
図2は,画像符号化システムでの画像データに対するアクセス領域の指定を説明する図である。図2(A)の矩形領域アクセスの場合は,処理部14,16は,アクセス領域22の起点座標(Xa,Ya)と,水平方向の長さLhと,垂直方向の高さLvと,傾き0°の情報を,メモリコントローラ12に供給する。また,図2(B)の菱形領域アクセスの場合は,処理部14,16は,アクセス領域22の起点座標(Xa,Ya)と,第1の方向の長さLhと,第2の方向の長さLvと,傾き45°の情報を,メモリコントローラ12に供給する。
本実施の形態におけるメモリ装置は,上記のような様々なアクセス領域に対して,より高い効率(大きな帯域幅)でアクセスできるように構成されている。メモリ装置は,例えば,アクセス領域の形状に応じて画像データの行方向または列方向にバーストリード及びバーストライトを行うことができる。さらに,メモリ装置は,アクセス領域の傾きに応じて画像データを所望の傾きの斜め方向にバーストリード及びバーストライトを行うことができる。また,メモリ装置は,バースト方向を順進と逆進のいずれにも切り換えることもできる。そして,メモリ装置は,1回のコラム系命令とコラムアドレスに基づいて,二次元のアクセス領域内の画像データを連続してバーストリードまたはバーストライトすることができる。
図3は,本実施の形態におけるメモリコントローラの構成とメモリ装置との接続構成とを示す図である。メモリコントローラ12は,図1の処理部14,16など上位のシステムから,メモリマップ情報MAPを供給され,レジスタ34に格納する。メモリマップ情報MAPは,メモリ装置10内に二次元配置データをどのように格納するかについての情報である。また,メモリコントローラ12は,アクセス制御データAcnを供給され,メモリレジスタ制御部35が,メモリ装置10内のモードレジスタ40に設定すべきモードレジスタ設定データMRSdataを生成する。このモードレジスタ設定データMRSdには,例えば,コラムアドレス制御部41によるコラムアドレス生成時のステップ情報STEPや幅情報WIDTHなどが含まれる。これらのステップ情報や幅情報については,メモリ装置の説明で詳述する。
メモリコントローラ12は,上位のシステムから,アクセス領域を特定する起点座標(Xa,Ya),傾きSLOP,長さLh,Lvの情報を入力し,バースト方向判定部32が最適なバースト方向を判定し,バースト方向情報(後述するベクトルアドレスVAに対応)を生成する。さらに,アドレス算出部30は,起点座標(Xa,Ya)とバースト方向情報に基づいて,メモリ装置10に出力すべきアドレスを算出する。
メモリコントローラ12は,メモリ装置10と,コマンドバス(例えば4ビット)38,アドレスバス(例えば12ビット)37,データバス(例えば32ビット)36を介して接続されている。コマンド発行部33は,種々のコマンド,アクティブACT,プリチャージPRE,リードRD,ライトWR,モードレジスタセットMRSなどを特定する4つのコマンド信号/CS,/RAS,/CAS,/WEを生成し,適切なタイミングでコマンドバス38に出力する。アドレス発行部31は,コマンド発行部によるコマンドと共に,バンクアドレスBA,ロウアドレスRA,コラムアドレスCA,ベクトルアドレスVA,モードレジスタセットデータMRSdataなどを,アドレスバス37に出力する。そして,メモリコントローラ12は,データバス36にライトデータを出力し,データバス36からリードデータを入力する。
メモリコントローラ12によるメモリ装置10の制御は,例えば,次の通りである。メモリコントローラ12は,電源投入時やその他の所定のタイミングで,モードレジスタセットコマンドMRSと共にモードレジスタセットデータMRSdataを出力する。これに応答して,メモリ装置10は,モードレジスタ40にモードレジスタセットデータMRSdataを格納する。リード又はライト動作を行う場合,メモリコントローラ12は,アクティブコマンドACTと共にバンクアドレスBAとロウアドレスRAを出力し,メモリ装置10にバンクアドレスBAとロウアドレスRAに対応するページ領域をアクティブ状態にする。その後,メモリコントローラ12は,リードコマンドRDまたはライトコマンドRWと共にバンクアドレスBAとコラムアドレスCAとベクトルアドレスVAとを出力し,アクティブ状態にされているページ領域内の所望のメモリ単位領域にアクセスする。ここで,メモリ単位領域とは,アドレスにより選択される複数ビットまたは複数バイトからなるメモリセル群を有する領域である。
そして,バーストモードでは,メモリ装置10内のコラムアドレス制御部41は,供給されるコラムアドレスCAとベクトルアドレスVAに応じて,アクセス領域内の走査方向に対応する内部コラムアドレスを順次生成し,セルアレイを有するメモリコア(図示せず)に,走査方向に対応する複数のメモリ単位領域のデータの入出力を連続して行わせる。つまり,メモリ装置10は,バーストモードにおいて,1回のコラム系命令(リードまたはライト)とコラムアドレスに応答して,任意の走査方向の二次元配列データを連続してリードまたはライトすることができる。
さらに,走査方向が斜め方向の場合,メモリ装置は,ステップ情報STEPをモードレジスタに設定すると共にベクトルアドレスVAを入力することで,任意の角度方向へのバーストアクセスも可能になる。また,アクセス領域が二次元の領域の場合,幅情報WIDTHをモードレジスタに設定することで,1回のコラム系命令(リードまたはライト)とコラムアドレスに応答して,コラムアドレス制御部41は,二次元のアクセス領域に対応するコラムアドレスを連続して生成することができ,メモリ装置10は,二次元のアクセス領域内のデータを連続してリードまたはライトすることができる。
なお,上記のバンクアドレスBA,ロウアドレスRA,コラムアドレスCAなどは,マルチプルに(時分割で)メモリコントローラがメモリ装置に供給する場合もあれば,ノンマルチプルに(時分割せずに一括して)メモリコントローラがメモリ装置に供給する場合もある。
図4は,本実施の形態におけるメモリ装置の構成図である。メモリ装置10は,図3で説明したとおり,メモリコントローラからコマンドバス38を介してコマンドを特定するコマンド信号/CS,/RAS,/CAS,/WEを入力し,コマンド制御部40が,そのコマンドに対応して,モードレジスタ40,ロウタイミング制御部43,コラムタイミング制御部42を制御する。たとえば,モードレジスタセットコマンドMRSに応答して,コマンド制御部40がモードレジスタ40にアドレスバス37に供給されたモードレジスタセットデータMRSdataを設定する。また,アクティブコマンドACTに応答して,コマンド制御部40は,ロウタイミング制御部43を制御してアクティブ動作をさせる。さらに,リードまたはライトコマンドRD,WRに応答して,コマンド制御部40は,コラムタイミング制御部42を制御してリードまたはライト動作をさせる。
メモリ装置10は,メモリコントローラからアドレスバス37を介してアドレス信号A[11:0]を入力し,外部ロウアドレスraextは,ロウバッファ46を介してロウアドレス制御部44に供給され,外部コラムアドレスcaextは,コラムバッファ45を介してコラムアドレス制御部41に供給される。また,メモリ装置は,メモリコントローラから専用のバス39を介してまたはアドレスバス37の一部のビットを介して,ベクトルアドレスVA[2:0]を入力し,外部ベクトルアドレスvaextはコラムアドレス制御部41に供給される。さらに,モードレジスタ40に設定されたステップ情報や幅情報に対応する制御信号selcntextも,コラムアドレス制御部41に供給される。
そして,ロウアドレス制御部44は,外部ロウアドレスraextから内部ロウアドレスraintを生成し,ロウデコーダ50に供給する。ロウアドレスは例えば12ビットで構成される。また,コラムアドレス制御部41は,外部コラムアドレスcaext,ベクトルアドレスvaext,制御信号selcntextなどに基づいて,内部コラムアドレスcaintを生成し,コラムデコーダ49に供給する。なお,メモリ装置10に外部から供給されるアドレスや制御信号には「ext」を引用符号に付けている。また,メモリ装置10の内部で生成されるアドレスや制御信号には「int」を引用符号に付けている。
図5は,本実施の形態におけるメモリ装置のメモリマップの一例を示す図である。図5において,表示デバイス1を含む画像処理システムにおける画像データは,メモリ装置10内に記憶される。画像データは,各画素の輝度信号Yと色差信号Ca,Cbや,各画素のRGB階調信号などのデータで構成され,各信号は例えば8ビット(1バイト)のデータで構成される。
一方,メモリ装置10は,一般的にSDRAMなどの半導体基板上に集積回路が形成された大容量且つ高速の半導体メモリ装置からなる。このようなメモリ装置は,複数のバンク,図1では4つのバンクBank0〜3で構成され,各バンクBank0は複数のブロックBLK−0を有し,各ブロックは複数のワード線WLとビット線BLとその交差位置のメモリセルMCとを有する。メモリセルは,図示しないがワード線にゲートが接続されたMOSトランジスタとそのMOSトランジスタに接続されたキャパシタとで構成される。そして,図5の例では,4つのバンクはバンクアドレスBA0−BA3に対応付けられ,ワード線WLはロウアドレスRA0−RA7に対応付けられ,ビット線BLはコラムアドレスCA0−CA127に対応付けられる。
バンクアドレスBAとロウアドレスRAの組み合わせによりバンク内のワード線WLが選択され,コラムアドレスCAによりビット線BLが選択される。つまり,バンクアドレスBA,ロウアドレスRA,コラムアドレスCAの組み合わせにより,4バイトBY0−3のデータがアクセスされる。1バイトは8ビットで構成されるので,一回のアクセスで4バイト,つまり4×8=32ビットのデータがメモリの入出力端子DQに関連付けられて,読み出しまたは書き込みが行われる。一般に,上記の1バイトのデータが画素の8ビットデータ信号に対応する。
図5に示されたメモリマップ2によれば,バンクアドレスBAとロウアドレスRAにより特定されるページ領域Pageが画像データである二次元配置データの行列に配置される。そして,1つのページ領域Pageは,拡大領域PageEに示されるとおり,コラムアドレスCA0−127で特定される128個のメモリ単位領域を有し,各メモリ単位領域は4バイトBY0−3のデータを記憶する。この4バイトBY0−3のデータが,メモリ装置の32ビットの入出力端子DQ0−31を経由して入出力される。
上記のメモリマップ2は,複数バンク構成のSDRAMなどのメモリ装置10を高速動作させるのに適している。前述したとおり,SDRAMは,バンクアドレスBAとロウアドレスRAと共に与えられるアクティブコマンドに応答して,選択されたバンク内の選択されたワード線を駆動し,メモリセルのデータをビット線に出力し,ビット線に対応付けられたセンスアンプを活性化してビット線電位を増幅するアクティブ動作を行う。その後,SDRAMは,コラムアドレスCAと共に与えられるリードコマンドに応答して,選択されたビット線からデータを読み出すリード動作を行う。あるいは,SDRAMは,アクティブ動作後に,コラムアドレスCA及び書き込みデータと共に与えられるライトコマンドに応答して,選択されたビット線に書き込みデータを書き込むライト動作を行う。リード動作またはライト動作の後にプリチャージコマンドによるプリチャージ動作が行われ,再度,アクティブ動作,リードまたはライト動作になる。このように,SDRAMでは,各バンクが独立してアクティブ動作,リード動作,ライト動作を行うことができる。
図5のメモリマップ2によれば,上下左右に隣接するページ領域Pageには異なるバンクアドレスBA0−3が対応付けられる。すなわち,メモリマップ2の奇数行にはバンクアドレスBA0,1が交互に配置され,偶数行にはバンクアドレスBA2,3が交互に配置される。さらに,メモリマップ2のラスタ方向(行方向)に,ロウアドレスRA0−7が2つずつ繰り返しながらインクリメントされ,メモリマップ2の各行は,4つのロウアドレスRA0−3,RA4−7で折り返されている。
図6は,図5のメモリマップの詳細図である。図6には,メモリマップ2と,バンクアドレスBA0,BA1とロウアドレスRAとコラムアドレスCAとの関係が示されている。バンクアドレスBA0,BA1は「0,1」の二進数表示であり,ロウアドレスRAは「0〜K−1,0〜L−1」の十進数表示である。図6に示されるとおり,メモリマップ2は,画像データである二次元配置データの行列方向に対応する複数のページ領域Pageが,バンクアドレスBAとロウアドレスRAとに基づいて対応付けされている。つまり,下位のバンクアドレスBA0と下位のロウアドレスRAとが行方向のページ領域Pageに対応し,上位のバンクアドレスBA1と上位のロウアドレスRAとが列方向のページ領域Pageに対応する。
図6には,拡大されたメモリマップ2Eの一部が示されている。図5と同様に,太枠で囲われた隣接する2行2列のページ領域が,バンク及びロウアドレスの「BA0,RA0」「BA1,RA0」「BA2,RA0」「BA3,RA0」に対応付けられている。そして,ロウアドレスRAK−1で行方向が折り返されている。また,各ページ領域内は,更にコラムアドレスCAにより対応付けられる複数のメモリ単位領域を有する。図6中では,コラムアドレスCAの具体的な値は省略されている。
たとえば,フルハイビジョンの1920×1080のサイズの画像データをメモリに割り付ける場合,1画素の情報を8bit*4(RGBα)と仮定すると,1画面のデータ量は約64Mbitである。MPEGのエンコーダとデコーダでは,前述のとおり矩形領域の画像データを処理することが頻繁に行われる。したがって,図6に示したとおり,複数のページ領域を矩形にマッピングすることが,アクセス効率向上に寄与する。さらに,隣接するページ領域を異なるバンクアドレスに割り当てて,太枠の4つのページ領域に同じロウアドレスを割り当てることで,長時間が必要なアクティブ動作により4つのバンク領域を同時にアクティブ状態にしたあと,コラム系コマンドと共にバンクアドレスとコラムアドレスを変更することで,アクティブ状態のメモリセルのデータを短時間でアクセスすることが可能になる。
図7は,ページ領域内のメモリマップを示す図である。図7の例では,1つのページ領域Pageは,コラムアドレスA00−A07により選択される16行16列のメモリ単位領域MU(256領域)を有する。図中,各メモリ単位領域MUには,16進数表記のコラムアドレスCA00〜CAffが表示されている。メモリ単位領域MUは,32ビットのDQインターフェースに対応して,4バイト(32ビット)のデータを記憶する。そして,図7のメモリマップによれば,複数のメモリ単位領域MUは,コラムアドレスのうち下位のビット群CA−L(A00〜A03)に基づいて二次元配列データの行方向に配列されたデータを記憶し,コラムアドレスのうち上位のビット群CA−U(A04〜A07)に基づいて二次元配列データの列方向に配列されたデータを記憶する。
よって,1画素のデータ(RGBα,8ビット×4=32ビット)がまとめて格納される場合は,1つのメモリ単位領域MUに1画素の画像データ(RGBα)が格納される。よって,その場合は1つのページ領域Pageには16×16画素の画像データが格納される。
また,1画素のデータ(RGBα)のうち各データ(8ビット)が分離して格納される場合は,1つのメモリ単位領域MUに4画素の画像データが格納される。その場合,1つのメモリ単位領域MU内に1行4列の画素の画像データを格納すれば,1つのページ領域Pageには64×16画素の画像データが格納される。また,1つのメモリ単位領域MU内に2行2列の画素の画像データを格納すれば,1つのページ領域には32×32画素の画像データが格納される。さらに,1つのメモリ単位領域MU内に4行1列の画素の画像データを格納すれば,1つのページ領域には16×64画素の画像データが格納される。これらの区別は,メモリマップに基づいてメモリコントローラが制御する。
なお,図7のメモリ単位領域MUには,コラムアドレスが16進数(CA00〜CAff)で表記されている。一方,下位のビット群CA−L,上位のビット群CA−Uでは,各4ビットのコラムアドレスA00〜A03,A04〜A07が2進数(0,1)で表記されている。
[コラムアドレス制御部]
図8は,本実施の形態におけるコラムアドレス制御部41内のコラムアドレスを生成する構成を示す図である。コラムアドレス制御部41は,8ビットの外部コラムアドレスcaext<07:04>,caext<03:00>を入力し,8ビットの内部コラムアドレスcaint<07:04>,caint<03:00>を生成し,メモリコア内のコラムデコーダに供給する。バーストモードがモードレジスタ40に設定された場合は,コラムアドレス制御部41は,バースト長の数の内部コラムアドレスを順次生成し出力する。
コラムアドレス制御部41は,内部コラムアドレスの下位ビット群caint<03:00>を生成する下位アドレス生成ユニット80と,内部アドレスの上位ビット群caint<07:04>を生成する上位アドレス生成ユニット84と,二次元配列データの走査方向制御信号vaext<03:00>に基づいて下位アドレス生成ユニット80と上位アドレス生成ユニット84の動作を制御するアドレス生成ユニット制御回路88とを有し,走査方向制御信号vaext<02:00>の走査方向に対応する内部コラムアドレスを順次生成する。この例では,下位ビット群と上位ビット群とは4ビットずつに分けられているが,これに限られず,2ビットと6ビット,3ビットと5ビットに分けられていても良い。その場合は,図7に示したページ領域内のメモリ単位領域の行列の割合が上位ビット数と下位ビット数とに応じて異なることになる。
下位アドレス生成ユニット80は,4ビットカウンタ81と,カウンタのステップ数(クロック当たりの増減数)を設定するステップ設定回路82と,カウンタの最大カウント値(折り返し幅に対応)を設定する折り返し幅設定回路83とを有する。ステップ設定回路82は,カウント制御信号countlzをカウンタのどのビットに入力すべきかを選択するセレクタ回路であり,モードレジスタ40に設定されたステップ制御信号selcntls(2ビット)に応じて選択する。また,折り返し幅設定回路83は,どのビットのカウンタ出力をカウント終了信号(一種のキャリー信号)caintleとして出力すべきかを選択するセレクタ回路であり,モードレジスタ40に設定された折り返し幅制御信号selcntlw(2ビット)に応じてカウンタのビットを選択する。
上位アドレス生成ユニット84は,下位アドレス生成ユニット80と同様に,4ビットカウンタ81と,カウンタのステップ数(クロック当たりの増減数)を設定するステップ設定回路82と,カウンタの最大カウント値(折り返し幅に対応)を設定する折り返し幅設定回路83とを有する。ステップ設定回路86と折り返し幅設定回路87も,下位アドレス生成ユニット80内の回路82,83と同じである。
モードレジスタ40には,メモリコントローラからモードレジスタセットコマンドと共に供給されるアドレス演算制御信号selcntlextが設定される。このアドレス演算制御信号selcntlextは,ステップ制御信号selcntls(下位上位それぞれに2ビット)と,折り返し幅制御信号selcntlw(下位上位それぞれに2ビット)とを有する。
アドレス生成ユニット制御回路88は,メモリコントローラから供給される走査方向制御信号vaextに応じて,下位及び上位アドレス生成ユニット80,84の動作を制御する。走査方向制御信号vaextは,3ビットの信号であり,上下左右方向と4つの斜め方向の合計8つの走査方向を特定する信号である。
図9は,走査方向制御信号vaextの具体例を示す図である。図中90は走査方向制御信号vaextの具体例を示し,現在の画素CPXから上下の列方向と左右の行方向と4つの斜め方向に対応して3ビットの走査方向制御信号vaextが割り当てられる。
この走査方向制御信号の供給は,メモリコントローラがモードレジスタ設定コマンドと共にモードレジスタに設定する方法と,コラム系コマンドと共に供給する方法とが考えられる。図9中の92は,コラム系コマンドと共に供給する場合のアドレス端子A00−A11の割り当てを示す。ロウ系コマンドであるアクティブコマンドACTの発行と共に,12ビットのアドレス端子A00-A11に,12ビットのロウアドレスRA00-RA11が入力される。また,コラム系コマンドであるライトまたはリードコマンドWR/RDの発行と共に,アドレス端子A00-A07に8ビットのコラムアドレスCA00-CA07が入力され,アドレス端子A10にオートプリチャージ信号APが,残りのアドレス端子A08,A09,A11には,3ビットの走査方向制御信号VA0-VA2が入力される。走査方向制御信号vaextは,アドレス端子に入力されるので,ベクトルアドレスとも称する。
図8に戻り,アドレス生成ユニット制御回路88は,走査方向制御信号vaextに応じて,カウント制御をするクロックCLKを下位アドレス生成ユニット80のカウント制御信号countlzとして出力するか,上位アドレス生成ユニット84のカウント制御信号countuzとして出力するか,若しくは,両方のカウント制御信号countlx,countuzとして出力するかを制御する。さらに,アドレス生成ユニット制御回路88は,走査方向制御信号vaextに応じて,下位アドレス生成ユニット80のカウント終了信号(キャリー信号)caintleを上位へのカウント制御信号countuzとして出力するか,上位アドレス生成ユニット84のカウント終了信号(キャリー信号)caintueを下位へのカウント制御信号countlzとして出力するかを制御する。そして,アドレス生成ユニット制御回路88は,走査方向制御信号vaextに応じて,下位及び上位アドレス生成ユニット80,84に逆進制御信号reverslz,reversuzを出力する。
つまり,走査方向が行方向の場合は,クロックCLKを下位アドレス生成ユニット80のカウント制御信号countlzとして出力し,下位アドレス生成ユニット80のカウント終了信号caintleを上位アドレス生成ユニット84のカウント制御信号として供給する。走査方向が列方向の場合は,クロックCLKを上位アドレス生成ユニット84のカウント制御信号countuzとして出力し,上位アドレス生成ユニット84のカウント終了信号caintueを上位アドレス生成ユニット80のカウント制御信号として供給する。さらに,走査方向が斜め方向の場合は,クロックを下位及び上位のカウント制御信号として出力する。
以下は,走査方向制御信号vaextに応じて,アドレス生成ユニット制御回路88がどのように下位及び上位アドレス生成ユニット80,84を制御するかを説明する。
(1)走査方向制御信号vaext=000:行方向へ順進
クロックCLKが下位のカウント制御信号countlzに接続;
下位のカウント終了信号(キャリー信号)caintleが上位のカウント制御信号countuzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,下位から上位のクロック制御回路80,84に直列に接続され,クロックCLKに同期して,8ビットの内部コラムアドレスcaint<07:00>が順次カウントアップされる。つまり,上位アドレス生成ユニット84は,下位アドレス生成ユニット80のカウント終了信号caintleに同期してカウント動作を行う。
(2)走査方向制御信号vaext=111:行方向へ逆進
クロックCLKが下位のカウント制御信号countlzに接続;
下位のカウント終了信号(キャリー信号)caintleが上位のカウント制御信号countuzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,下位と上位のクロック制御回路80,84が直列に接続され,クロックCLKに同期して,8ビットの内部コラムアドレスcaint<07:00>が順次カウントダウンされる。つまり,上位アドレス生成ユニット84は,下位アドレス生成ユニット80のカウント終了信号caintleに同期してカウント動作を行う。なお,逆進によるカウントダウン動作については,後に詳述する。また,逆進制御信号reversuzは順進に設定されてもよい。
(3)走査方向制御信号vaext=001:列方向へ順進
クロックCLKが上位のカウント制御信号countuzに接続;
上位のカウント終了信号(キャリー信号)caintueが下位のカウント制御信号countlzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,上位から下位のクロック制御回路84,80に直列に接続され,クロックCLKに同期して,4ビットの上位内部コラムアドレスcaint<07:04>が順次カウントアップされ,上位のカウント終了信号cainteueに同期して4ビットの下位内部コラムアドレスcaint<03:00>が順次カウントアップされる。
(4)走査方向制御信号vaext=110:列方向へ逆進
クロックCLKが上位のカウント制御信号countuzに接続;
上位のカウント終了信号(キャリー信号)caintueが下位のカウント制御信号countlzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,上位から下位のクロック制御回路84,80に直列に接続され,クロックCLKに同期して,4ビットの上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,上位のカウント終了信号cainteueに同期して4ビットの下位内部コラムアドレスcaint<03:00>が順次カウントダウンされる。なお,逆進制御信号reverslzは順進に設定されてもよい。
(5)走査方向制御信号vaext=011:右下方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウントアップする。つまり,上位内部コラムアドレスcaint<07:04>と下位内部コラムアドレスcaint<03:00>とが並行して順次カウントアップされる。
(6)走査方向制御信号vaext=101:右上方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは順進,逆進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,それぞれカウントダウン,カウントアップする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,下位内部コラムアドレスcaint<03:00>が順次カウントアップされる。
(7)走査方向制御信号vaext=010:左下方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは逆進,順進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,それぞれカウントアップ,カウントダウンする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントアップされ,下位内部コラムアドレスcaint<03:00>が順次カウントダウンされる。
(8)走査方向制御信号vaext=100:左上方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,共にカウントダウンする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,下位内部コラムアドレスcaint<03:00>も順次カウントダウンされる。
上位と下位のアドレス生成ユニット80,84は,ステップ制御信号selcntlsに応じて,設定されたステップでカウントアップまたはカウントダウンする。このステップ値を適宜設定することで,斜めの走査方向を水平,垂直方向に対して45度の方向(下位,上位のステップ数が等しい場合),水平,垂直方向に対して45度以外の方向(下位,上位のステップ数が異なる場合)に走査することができる。例えば,下位のステップ数を1,上位のステップ数を2に設定すれば,桂馬飛びの方向に走査することができる。
また,上位と下位のアドレス生成ユニット80,84は,折り返し幅制御信号selcntlwに応じて,設定された折り返し幅でカウントアップまたはカウントダウンを繰り返す。この折り返し幅を適宜設定することで,任意の矩形領域へのアクセスを1回のコラム系コマンドによるバーストアクセスで行うことができる。
そして,上位と下位のアドレス生成ユニット80,84による連続カウント数は,前述のバースト長に基づいてクロックCLKの数で制御される。
以上の通り,走査方向制御信号vaextとアドレス演算制御信号selcntlextとは,共に,アドレス演算方法を制御する信号である。したがって,両制御信号が共にモードレジスタセットコマンドによりモードレジスタ40に設定されてもよいし,コラム系コマンドと共にアドレス端子から入力してもよい。図8の実施の形態では,走査方向制御信号vaextがコラム系コマンドと共に入力され,アドレス演算制御信号selcntlextがモードレジスタセットコマンドによりモードレジスタ40に設定されている。
以下,斜め走査アクセス,水平及び垂直走査アクセス,特殊な走査アクセスについて順に詳述する。
[斜め走査アクセス]
動画データは連続するフレーム画像データで構成される。MPEG規格による圧縮処理では,フレーム画像間で同じ図形の動き方向を動きベクトルとして求め,動きベクトルと図形の差分のみを次のフレーム画像のデータとすることが行われる。これにより次のフレーム画像のデータ量を圧縮することができる。この動きベクトルの探索では,16×16画素からなるマイクロブロックの画像データと一致または類似する後続のフレーム画像内のマイクロブロック画像を探索する。
図10は,動画の動き方向の例を示す図である。動画の場合,図10(A)に示すように水平方向の動きが多く,次いで,図10(B)に示すように垂直方向の動きが多い。つまり水平方向と垂直方向の動きが図形の動きの大半を占めている。一方,斜め方向に図形が移動する確率は比較的低い。
図11は,動画の動き方向と動き量の分布を示す図である。図11(A)は,動画の動き方向の分布を示す。1つのメモリ単位領域(4バイト)が4画素の画像データを記憶し,4つのメモリ単位領域CA67−CA97が4×4画素の画像データとする。この場合,動きベクトル探索では,メモリ単位領域CA67−CA97の4×4画素の画像データと一致または類似する4つのメモリ単位領域の画像データを探索する。したがって,動画の動き方向と動き量の統計に基づいて,探索領域を設定することが,動きベクトル探索処理の効率化に寄与する。
図11(A)の左側には,サンプルの動画データについて調べた動き方向の角度θと移動頻度の関係が示されている。水平方向に対応するθ=0,π,2πの方向の移動頻度が高く,垂直方向に対応するθ=π/2,3π/2の方向に移動頻度が次に高く,それ以外の角度の移動頻度は低くなっている。つまり,図10で説明した,動画の動き方向は水平方向が最も多く次に垂直方向が多く斜め方向は少ないことが立証されている。図11(B)の左側には,サンプルの動画データについて調べた動き量dと移動頻度の関係が示されている。これによれば,移動距離が短いほど移動頻度が高くなっている。
これらの統計結果によれば,動きベクトルの探索では,斜め方向で且つ移動量dが大きい領域の探索は一致または類似する図形を検出する確率が比較的低いことが理解できる。
図12は,動きベクトルの探索範囲の一例を示す図である。ページ領域Pageは16×16のメモリ単位領域で構成され,この16×16のメモリ単位領域に二次元配置データである画像データの行列が対応付けられている。そして,いま仮に中心の4つのメモリ単位領域CA67〜CA97内の4×4画素のブロック図形について,動きベクトルの探索を行うと仮定する。従来のようにページ領域Page内の16×16のメモリ単位領域すべてについて探索をするためには,これら256個のメモリ単位領域に対してアクセスする必要がある。
しかしながら,図10,11で説明したとおり,動画の動き方向と動き量の統計によれば,ページ領域Page内の4つの角の領域を除いた菱形RHBの領域を探索することで探索効率を高めることができる。菱形領域RHBは1つのページ領域Pageの1/2の面積であるので,探索領域を菱形領域RHBにすれば探索領域が半減する。そこで,この菱形領域RHB内で動きベクトルの探索を行う場合のアクセスについて以下に説明する。
図13は,菱形領域のアクセス方法の一例を示す図である。ページ領域Page内の菱形領域RHBをアクセスする場合,従来のコラムアドレスをインクリメントして行方向に走査しながらアクセスすると,同じバースト長でバーストリードまたはバーストライトができず,アクセス効率が低下する。そこで,図13(A)に示したとおり,メモリ装置側では,矢印のように斜め方向に走査しながらバーストリードまたはバーストライトすると,同じバースト長でアクセスできるのでメモリ装置へのアクセス効率が高くなる。通常の画像符号化システムでは,フレームメモリ内の画像データをシステム内のワークメモリ(図13(B))に格納する。
図13のように,フレームメモリ(図13(A))内の菱形領域RHBに対して,矢印の斜め方向の走査ができれば,システムワークメモリ(図13(B))内には,8×16のメモリ単位領域の画像データが格納される。
図14は,斜め方向の走査について説明する図である。菱形領域に対して斜め方向に走査するためには,メモリ装置内のコラムアドレス制御部が,図14の矢印方向にコラムアドレスCA07−CA7eを順次生成することが求められる。すなわち,斜め方向に走査するためには,下位のコラムアドレスCA−Lと上位のコラムアドレスCA−Uとを並行してインクリメントしなければならない。そこで,図8のコラムアドレス制御部41で説明したように下位アドレス生成ユニット80と上位アドレス生成ユニット84とを並行動作するように適宜制御することで,上記の斜め方向の走査をバーストモードで行うことができる。
図15は,斜め方向走査を行うコラムアドレス制御部を示す図である。図16,17は,斜め方向走査を行うコラムアドレス制御部の詳細図である。図15において,アドレス生成ユニット88は,走査方向制御信号vaext=011に応じて,クロックCLKを下位及び上位アドレス生成ユニット80,84のカウント制御信号countlz,countuxzに同時に供給する。さらに,ステップ制御信号selcntlsがステップ数1(step1)に設定されて,ステップ設定回路82,86のセレクタがカウント制御信号countlz,countuxzをそれぞれカウンタ81,85のA00とA04に供給するように設定される。また,折り返し幅制御信号selcntlwが折り返し幅16(width16)に設定されて,折り返し幅設定回路83,87のセレクタがカウンタ81,85のA03とA07の出力を選択するように設定される。また,カウント終了信号caintle,caintueは,いずれにも接続されていない。
上記のように設定することで,コラムアドレス制御部41では,クロックCLKに同期して,下位及び上位のアドレス生成ユニット80,84が並行してカウントアップ動作を行う。よって,両アドレス生成ユニット80,84のカウンタ81,85に初期値CA07=00000111(下位に0111,上位に0000)を設定し,8回のクロックCLKに同期してコラムアドレスを生成すれば,図14に示したメモリ単位領域CA07−CA7eへのアクセスをページモードで行うことができる。
図16,17には,下位アドレス生成ユニットのみ詳細図が示されている。ここに示すとおり,ステップ設定回路82は,4つのセレクタ161(SL00-SL03)が,カウント制御信号countlzおよびカウンタ81の下位桁の出力caint0-3のいずれか一方を選択する。このセレクタ161の選択は,2ビットのステップ制御信号selcntlsをデコーダ160でデコードした制御信号control(step1,2,4,8)に基づいて行われる。図16の例では,step1に設定されていてセレクタSL00のみ入力in2を選択し,他のセレクタSL01-03は入力in1を選択している。
また,4ビットのカウンタ81は,外部コラムアドレスcaext0-3が初期値として初期値端子initに供給され,セレクタ161からのクロック信号clkca0-3に同期してカウントアップ動作を繰り返す。クロックclkの立ち下がりエッジでカウンタ81の各フリップフロップが出力outをLレベルからHレベルへ,またはHレベルからLレベルへのトグル動作を繰り返す。
以上の設定により,カウント制御信号countlzに同期して,4ビットカウンタ81は,初期値を順次カウントアップする。そして,図16に示されるとおり,カウンタ81の出力端子outから内部コラムアドレスcaint0-3がそれぞれ出力される。ステップ制御信号により下位,上位アドレス生成ユニットはstep1に設定されているので,走査方向は垂直,水平方向に対して45度方向である。ただし,ステップ数を適宜設定することで,走査方向を45度とは異なる方向にも設定することができる。よって,走査方向制御信号vaextとステップ制御信号とにより,任意の角度の斜め方向に走査するバーストアクセスが可能になる。
一方,図17に示されるとおり,カウンタ81の出力端子outからの内部コラムアドレスcaint0-3のうち,折り返し幅設定回路83内のセレクタ171で選択された信号のみが,カウント終了信号(キャリー信号)caintleとして出力される。4つのセレクタSL10-13は,それぞれ2ビットの折り返し幅制御信号selcntlwをデコーダ170でデコードした制御信号control(width02,04,08,16)に基づいて選択動作を行う。
図18,図19は,斜め方向に走査する場合のメモリ装置のタイミングチャート図である。図18は斜め方向のバーストモードを有しないメモリ装置の例を,図19は,斜め方向のバーストモードを有するメモリ装置の例をそれぞれ示す。図中,クロックCLKと,コマンド信号であるCS,RAS,CAS,WEと,バンクアドレスBAとが示されている。また,リードコマンドRDに付随して入力されるコラムアドレスCAも示されている。網掛けした部分はバンクBA1の動作を,それ以外の部分はバンクBA0の動作をそれぞれ示す。つまり,この例では,2つのバンクがインターリーブ動作している。
図18の場合,メモリ装置は斜め方向のバーストモードを有しない。時間t0でバンクBA0に対してプリチャージコマンドPREが入力されると,時間t1からバンクBA0でプリチャージ動作が行われる。その間,バンクBA1ではリードコマンドRDに応答してリード動作が繰り返されている。時間t1の1クロック後からRASプリチャージタイムtRP後の時間t3でバンクBA0に対してアクティブコマンドACTが入力される。したがって,時間t3から1クロック周期の間は,バンクBA1へのリードコマンドの発行は行われない。このアクティブコマンドに応答して,バンクBA0では図示しないロウアドレスに基づいてアクティブ動作が行われる。その間,バンクBA1では再度リードコマンドRDに応答してリード動作を繰り返す。
そして,RASCASディレイタイムtRCD後の時間t6で,バンクBA0に対してリードコマンドRDとコラムアドレスCAとが連続して入力される。メモリ装置は,バーストモードではなく,連続して入力される8回のリードコマンドRDと8種類のコラムアドレスCA07−CA7eとにそれぞれ応答して,斜め方向に並んだ8つのメモリ単位領域に対してリード動作を繰り返す。そして,図18の例では,時間t5でバンクBA1に対しするプリチャージコマンドPREが発行されていて,時間t7でバンクBA1に対するアクティブコマンドACTが発行されている。よって,時間t7から1クロックの期間,バンクBA0に対するリードコマンドRDは発行されていない。
このように,図18の例では,メモリコントローラは斜め方向に走査するために,8回のコラム系コマンド,リードコマンドRDとコラムアドレスCAとを発行する必要がある。また,メモリ装置は,バーストモードで動作できず,バンクインターリーブ動作により,連続するリードコマンドの入力が中断する。
図19の場合,メモリ装置は斜め方向のバーストモード機能を有する。図15,16,17に示したコラムアドレス制御部の動作により,1回のリードコマンドRDと先頭コラムアドレスCA07を入力すると,コラム制御回路が連続して内部コラムアドレスCA18,CA29,CA3a,CA4b,CA5c,CA6d,CA7eを生成し,32ビットデータのリード動作を連続8回行う。すなわち,時間t1でバンクBA0に対してアクティブコマンドACTが入力されると,RASCASディレイタイムtRCD後の時間t3でリードコマンドRDAと先頭コラムアドレスCA07と走査方向制御信号VA=011とが入力される。あらかじめ,バースト長BL=8に設定されているので,コラムアドレス制御部が内部コラムアドレスCA18,CA29,CA3a,CA4b,CA5c,CA6d,CA7eを連続して生成し,32ビット×8回のリード動作が行われる。その間,時間t5ではバンクBA1に対するアクティブコマンドACTが発行されているが,バンクBA0でのバーストリード動作はディスターブされていない。なお,リードコマンドRDAは,オートプリチャージ付きリードコマンドであり,図9に示したアドレス端子A10のオートプリチャージビットをHレベルに設定することで指定することができる。
このように,メモリ装置が斜め方向のバーストモード機能を有することで,菱形領域をアクセスする場合の斜め方向の走査アクセスを効率的に行うことができる。そして,斜め方向の角度は,走査方向制御信号vaextとステップ制御信号selcntlsとにより任意の角度に設定することができる。ここで任意の角度とは,メモリマップ上のメモリ単位領域の位置による制約の範囲内で任意の角度という意味である。
[水平及び垂直走査アクセス]
図20は,ページ領域内の水平走査アクセスを示す図である。ページ領域Page内を矢印に示したとおり水平方向(行方向)に走査しながらアクセスするためには,メモリ装置内のコラムアドレス制御部が,下位のコラムアドレスCA-Lを優先してインクリメントし(矢印200),下位のコラムアドレスのキャリー信号により上位のコラムアドレスCA-Uをインクリメントすることが必要である。これにより,水平方向に連続してバーストリード可能になる。
図21は,ページ領域内の垂直走査アクセスを示す図である。ページ領域Page内を矢印に示したとおり垂直方向(列方向)に走査しながらアクセスするためには,メモリ装置内のコラムアドレス制御部が,上位のコラムアドレスCA-Uを優先してインクリメントし(矢印210),上位のコラムアドレスのキャリー信号により下位のコラムアドレスCA-Lをインクリメントすることが必要である。これにより,垂直方向に連続してバーストリード可能になる。
図22は,メモリコントローラによるバースト方向判定処理を示す図である。図3のメモリコントローラ12内のバースト方向判定部32がこの判定処理を行う。図22中の220に示されるとおり,メモリ装置の入出力端子DQが32ビットで構成され,1つの画素の画像データが8ビットで構成されているとする。さらに,メモリマップによれば,コラムアドレスで選択されるメモリ単位領域には,水平方向の画素数Dh=4,垂直方向の画素数Dv=1の画像データが記憶されるものとする。そして,図22中の221に示されるとおり,上位システムから傾き=0,水平方向画素数Lh=8,垂直方向画素数Nv=8のアクセス領域へのアクセス要求があるとする。この場合のバー数と方向判定処理について説明する。
図23は,メモリコントローラによるバースト方向判定処理のフローチャート図である。メモリコントローラは,上位システムからアクセス領域の水平方向と垂直方向の画素数がLh=8,Lv=8のアクセス要求を受信する(S20)。メモリコントローラ内のバースト方向判定回路は,画素数をメモリ装置内のコラム数に変換する(S21)。その結果,図22の221に示されるとおり,バースト方向判定回路は,水平方向のコラム数Nh=Lh/Dh=2,垂直方向のコラム数Nv=Lv/Dv=8を演算する(S22)。そして,バースト方向判定回路は,この水平方向のコラム数Nhと垂直方向のコラム数Nvとを比較することで,最適なバースト方向の判定を行う(S23)。Nv≦Nhであれば水平方向にバースト方向が設定される(S24)。逆に,Nv>Nhであれば垂直方向にバースト方向が設定される。より長い方向にバースト方向を設定することで,バーストモードによるアクセスを有効に活用できるからである。
図24は,垂直方向に走査アクセス(バーストアクセス)する例を示す図である。この例では,メモリ単位領域内に4画素の画像データが格納され,4×8画素の矩形領域がアクセスされる例である。したがって,コラムアドレスCA20からCA90まで垂直方向の8つのメモリ単位領域に対してアクセスが必要になる。この場合は,メモリ装置内のコラムアドレス制御部41が,先頭のコラムアドレスCA20から上位のコラムアドレスCA-UをインクリメントしてCA20-CA90を順次生成する。
図25は,垂直方向に走査アクセス(バーストアクセス)するコラムアドレス制御部の構成図である。コラムアドレス制御部41は,垂直方向にバーストアクセスするために,下位アドレス生成ユニット80と上位アドレス生成ユニット84とが上下逆に接続される。すなわち,アドレス生成ユニット制御回路88は,クロックCLKを上位アドレス生成ユニット84にカウント制御信号countuzとして供給し,上位アドレス生成ユニット84のカウント終了信号(キャリー信号)caintueを下位アドレス生成ユニット80にカウント制御信号countlzとして供給する。そして,ステップ制御信号selcontlsは下位及び上位ともにステップstep1に設定され,下位カウンタ81と上位カウンタ85は並行してカウント制御信号に応答してカウント値を+1する。また,折り返し幅制御信号selcntlwは下位及び上位ともに幅width16に設定され,下位カウンタ81と上位カウンタ85の最上位ビットがセレクタ83,87により選択される。
上記の通り設定されることで,クロックCLKに同期して,上位カウンタ84が先にカウント値を+1ずつインクリメントし,上位カウンタ84のカウント終了信号caintueに同期して,下位カウンタ81がカウント値を+1ずつインクリメントする。その結果,コラムアドレス制御部41は,外部から供給されるコラムアドレスcaext0-7を初期値CA20として最終値CA90までのアドレスを順に内部コラムアドレスcaint0-7として生成する。
図26,27は,垂直方向に走査してアクセスする場合のタイミングチャート図である。図26は,メモリ装置が垂直方向のバーストモードを有しない場合のタイミングチャート図である。図18と同様に,時間t0でバンクBA0に対してプリチャージコマンドPREが入力されると,時間t1からバンクBA0でプリチャージ動作が行われる。その間,バンクBA1ではリードコマンドRDに応答してリード動作が繰り返されている。時間t1の1クロック後からRASプリチャージタイムtRP後の時間t3でバンクBA0に対してアクティブコマンドACTが入力される。したがって,時間t3から1クロック周期の間は,バンクBA1へのリードコマンドの発行は行われない。このアクティブコマンドに応答して,バンクBA0では図示しないロウアドレスに基づいてアクティブ動作が行われる。その間,バンクBA1では再度リードコマンドRDに応答してリード動作を繰り返す。
そして,RASCASディレイタイムtRCD後の時間t6で,バンクBA0に対してリードコマンドRDとコラムアドレスCAとが連続して入力される。メモリ装置は,バーストモードではなく,連続して入力される8回のリードコマンドRDと8種類のコラムアドレスCA20−CA90とにそれぞれ応答して,垂直方向に並んだ8つのメモリ単位領域に対してリード動作を繰り返す。そして,図26の例では,時間t5でバンクBA1に対しするプリチャージコマンドPREが発行されていて,時間t7でバンクBA1に対するアクティブコマンドACTが発行されている。よって,時間t7から1クロックの期間,バンクBA0に対するリードコマンドRDは発行されていない。
このように,図26の例では,メモリコントローラは垂直方向に走査してアクセスするために,8回のコラム系コマンド,即ちリードコマンドRDとコラムアドレスCAとを発行する必要がある。また,メモリ装置は,バーストモードで動作できず,バンクインターリーブ動作により,連続するリードコマンドの入力が中断する。
図27は,メモリ装置が垂直方向のバーストモード機能を有する場合のタイミングチャート図である。図25のコラムアドレス制御部41の動作により,1回のリードコマンドRDと先頭コラムアドレスCA20を入力すると,コラムアドレス制御部が連続して内部コラムアドレスCA20,CA30,CA40,CA50,CA60,CA70,CA80を生成し,32ビットデータのリード動作を連続8回行う。すなわち,時間t1でバンクBA0に対してアクティブコマンドACTが入力されると,RASCASディレイタイムtRCD後の時間t3でリードコマンドRDAと先頭コラムアドレスCA20と走査方向制御信号VA=001とが入力される。あらかじめ,バースト長BL=8に設定されているので,コラムアドレス制御部が内部コラムアドレスCA20,CA30,CA40,CA50,CA60,CA70,CA80を連続して生成し,32ビット×8回のリード動作が行われる。その間,時間t5ではバンクBA1に対するアクティブコマンドACTが発行されているが,バンクBA0でのバーストリード動作はディスターブされていない。
このように,メモリ装置が垂直方向のバーストモード機能を有することで,垂直方向により多くのメモリ単位領域を有する矩形領域をアクセスする場合の垂直方向の走査アクセスを効率的に行うことができる。
図28は,垂直方向に走査アクセス(バーストアクセス)する別の例を示す図である。この例では,メモリ単位領域内に4画素の画像データが格納され,8×8画素の矩形領域がアクセスされる例である。したがって,コラムアドレスCA20からCA90まで垂直方向の8つのメモリ単位領域とコラムアドレスCA21からCA91まで垂直方向の8つのメモリ単位領域に対してアクセスが必要になる。
従来のSDRAMでは,水平方向にしかバーストアクセスできないので,バースト長BL=2に設定し,コラムアドレスCA20,CA30,CA40,CA50,CA60,CA70,CA80と共に8回のコラム系コマンドRD,WRをメモリ装置に供給することで,8×8画素の矩形領域の画像データにアクセスする。
それに対して,本実施の形態の垂直方向にバーストアクセスできるメモリ装置の場合は,バースト長BL=8に設定し,コラムアドレスCA20,CA21と共に2回のコラム系コマンドRD,WRをメモリ装置に供給すれば,8×8画素の矩形領域の画像データにアクセスすることができる。よって,メモリコントローラとメモリ装置間のバスのビジー状態を短くすることができる。
[特殊な走査アクセス]
以下,特殊な走査アクセスとして,間引きバーストアクセスと,矩形領域のバーストアクセスと,順進・逆進のアクセスとについて説明する。
[間引きバーストアクセス]
図29は,動き予測を行うときのアクセスを説明する図である。この例では,ワード構成が×16ビットのDQインターフェースのメモリ装置に,1画素あたり8ビットのデータがマッピングされている。動き予測では,太枠で囲んだ4×4画素の正方形の矩形290について,垂直方向に±4画素,水平方向に±8画素の探索が行われるとする。つまり,動きベクトル探索では,長方形領域292内で矩形290が列方向に9回,行方向に9回それぞれ移動しながら,合計81回,矩形290の画像データと移動先の矩形の画像データとを比較する処理が行われる。一致画像データが検出されると,矩形290からその検出された矩形領域の方向が動きベクトルになる。
図30,図31は,動き予測を行うときの別のアクセスを説明する図である。この例でも,ワード構成が×16ビットのDQインターフェースのメモリ装置に,1画素あたり8ビットのデータがマッピングされている。そして,4×4画素の矩形領域について動きベクトルの探索が行われる。
図30のアクセス例では,最初に,処理対象矩形の2倍サイズである8×8画素の矩形領域300(CA46-CA4c-CAcc-Cac4で囲まれる矩形領域)のうち行列方向に1/2に間引いたものを,矩形領域302(CA24-CA2d-Cadd-Cad4で囲まれる矩形領域)内で行列方向に1/2に間引いた領域で探索する。この1回目の探索は,行方向に4回,列方向に3回,合計で12回のアクセスと比較処理の回数になる。
次に,図31に示されるとおり,1回目の探索で最適な位置が仮にコラムアドレスCA66のメモリ単位領域を左上隅とする矩形領域314(CA66-CA69-Cad9-Cad6で囲まれる領域)とする。その場合,2回目の探索では,4×4画素の矩形領域310(CA66-CA67-CA97-CA96で囲まれる領域)について,当該矩形領域314より1周り大きな矩形領域312(CA55-CA5a-Caea-Cae5で囲まれる領域)内を探索する。この探索では1/2間引きは行わない。この探索には,行方向に5回,列方向に7回,合計で35回のアクセスと比較処理が必要になる。図30の1回目の探索が12回だったので,1回目と2回目の探索の合計は,12+35=47回になる。この回数は,図29の場合の81回に比較すると約58%に削減される。
上記の2段階探索アルゴリズムは,既に公知である。そして,上記の2段階探索アルゴリズムを採用した場合,図30の1/2に間引いたデータについてアクセスをするためには,メモリコントローラは,バーストリードを利用することはできず,8回のコラム系コマンドと対応するコラムアドレスとをメモリ装置に発行することが必要である。または,バーストリードにより1/2に間引かないデータをアクセスし,不要なデータを読み捨てることでもアクセス可能である。しかし,いずれの場合も,メモリ装置へのアクセス効率は大幅に低下する。
図32,図33は,2段階探索アルゴリズムの1回目の探索におけるコラムアドレス制御部の構成図である。図32は下位アドレス生成ユニット80の一部を示し,図33は上位アドレス生成ユニット84の一部を示す。
1回目の探索におけるコラムアドレス制御部の構成は,図25に示した構成と類似する。つまり,アドレス生成ユニット制御回路88が,上位アドレス生成ユニット84にクロックCLKをカウント制御信号として供給し,下位アドレス生成ユニット80に上位側のカウント終了信号caintueをカウント制御信号として供給する。これにより,垂直方向に長い矩形領域のバーストアクセスを効率的に行うことができる。さらに,下位及び上位アドレス生成ユニットのステップ設定回路82,86は,ステップ幅をStep2に設定する。これにより,カウント制御信号に同期してステップ幅2でカウント値をインクリメントすることができ,1/2間引きしたメモリ単位領域にバーストアクセスが可能になる。
次に,図32,33について説明する。上記の通り,1回目の探索では,1/2間引きしたメモリ単位領域にアクセスする必要がある。そこで,下位及び上位アドレス生成ユニット80,84では,ステップ制御信号selcntls=Step2により,セレクタSL01,SL05がカウント制御信号cuntlz,countuzを選択して,カウンタ81,85にクロックclka1,clkca5として出力する。それにより,バーストモードでクロックCLKに同期して,カウンタ81,85のA01,A05より上位の桁でインクリメント動作が行われる。その結果,下位及び上位アドレス生成ユニット80,84は,増分(ステップ数)が2で内部コラムアドレスをインクリメントする。よって,図32に示した1/2間引きした矩形領域のアクセスにおいても,バーストモードを使用することができる。なお,図32の下位アドレス生成ユニット80のセレクタSL00の入力int1には,何のクロックも入力されない。同様に,図33の上位アドレス生成ユニット84のセレクタSL04の入力int1にも,何のクロックも入力されない。よって,カウンタのA00,A04ビットは,初期設定値のコラムアドレスA00,A04の値が維持される。
図34は,2段階探索アルゴリズムの1回目の探索におけるメモリ装置のタイミングチャート図である。このタイミングチャート図に示されるとおり,時間t3でバンクアドレスBA0とコラムアドレスCA24とベクトルアドレスVA=001と共に,リードコマンドRDAがメモリ装置に入力されている。それに応答して,メモリ装置内のコラムアドレス制御部は,内部コラムアドレスCA24,CA44,CA64,CA84を順次生成し,図30のコラムアドレスCA24,CA44,CA64,CA84のメモリ単位領域を連続してアクセスする。
上記の通り,下位及び上位アドレス生成ユニット80,84にて,ステップ設定回路82,86内のセレクタを,ステップ制御信号selcntls, selcntusによりステップStep2に設定することで,1/2間引いたメモリ単位領域へのバーストアクセスが可能になる。同様に,ステップStep4,Step8に設定すると,1/4,1/8間引いたメモリ単位領域へのバーストアクセスが可能になる。以上が間引きバーストアクセスの説明である。
[矩形領域のバーストアクセス]
次に,矩形領域のバーストアクセスについて説明する。本実施の形態の下位及び上位アドレス生成ユニットの折り返し幅制御信号selcntlwにより折り返し幅設定回路83,87を設定することで,下位及び上位アドレス生成ユニットのカウント終了値を任意に設定することができる。それにより,アドレス生成ユニットはクロックCLKに同期して任意の範囲のカウント値を繰り返し生成することができる。これを利用すれば,行列方向にコラムアドレスが異なるメモリ単位領域からなる矩形領域を,1回のコラム系コマンドと先頭コラムアドレスによりバーストアクセスすることができる。ただし,カウンタ動作の制約から,矩形領域のコラムアドレスの折り返しアドレスは,下位,上位アドレスともに
CA=1,3,7,Fの位置になる。
図35は,本実施の形態における矩形領域のバーストアクセスを説明する図である。仮に,図35中のコラムアドレスCA00-CA01-CA71-CA70で囲まれた矩形領域をバーストアクセスするとする。従来のバーストアクセスでは,バースト長をBL=2に設定して,8回のコラム系コマンドとコラムアドレスCA00,CA10,CA20,CA30,CA40,CA50,CA60,CA70がメモリ装置に供給される。また,図25,27などで説明した垂直方向の走査アクセスが可能な場合では,バースト長BL=8に設定して,2回のコラム系コマンドとコラムアドレスCA00,CA01がメモリ装置に供給される。
それに対して,図35の矩形領域のバーストアクセスでは,1回のコラム系コマンドと矩形領域の先頭コラムアドレスCA00をメモリ装置に供給すれば,メモリ装置が内部で16の内部コラムアドレスを順次生成し,16のメモリ単位領域をバーストアクセスする。そのためには,コラムアドレス制御部において,折り返し幅制御信号selcntlwを設定する必要がある。
図36は,本実施の形態における矩形領域のバーストアクセスする場合のコラムアドレス制御部の構成図である。コラムアドレス制御部41では,垂直方向の走査アクセスができるように,アドレス生成ユニット88が,同期クロックCLKを上位アドレス生成ユニット84のカウント制御信号countuzに供給し,上位アドレス生成ユニット84のカウント終了信号(キャリー信号)caintue
を下位アドレス生成ユニット80のカウント制御信号countlzに供給する。そして,ステップ制御信号selcntlsを下位上位共にStep1に設定し,折り返し制御信号selcontlwを下位,上位でWidth16,
Width8に設定する。そして,バースト長BL=16に設定すれば,コラムアドレス制御部は,先頭コラムアドレスCA00から,上位アドレス生成ユニット84のインクリメント動作により,内部コラムアドレスCA00,CA10,CA20,CA30,CA40,CA50,CA60,CA70を順次生成したあと,カウンタA06の桁上げ信号をカウント終了信号(キャリー信号)caintueとして出力し,それを下位アドレス生成ユニットのカウント制御信号countlzとしてカウンタA00に入力する。これに応答して,下位アドレス生成ユニット80が下位アドレスを+1インクリメントする。さらに,コラムアドレス制御部は,下位側でインクリメントされたコラムアドレスCA01から,上位アドレス生成ユニット84のインクリメント動作により,内部コラムアドレスCA01,CA11,CA21,CA31,CA41,CA51,CA61,CA71を順次生成する。これにより,バースト長16のバーストアクセスにより,矩形領域のアクセスを行うことができる。
図37,図38は,矩形領域のバーストアクセスする場合の上位アドレス生成ユニットの一部の構成図である。図37に示されるとおり,上位アドレス生成ユニット84は,ステップ設定回路86と,折り返し幅設定回路87との間に,4ビットカウンタ85を有する。折り返し幅設定回路87は,セレクタ群SL14-SL17とセレクタ群SL24-SL27とを有する。さらに,図38に示されるとおり,上位アドレス生成ユニット84は,セレクタ群SL14-SL17を制御する制御信号width02-16を生成する第1のデコーダ170Aと,セレクタ群SL24-SL27を制御する制御信号cnt02en-cnt16enを生成する第2のデコーダ170Bとを有する。
図37の上位アドレス生成ユニット84では,デコーダ170Aが,折り返し幅制御信号selcntlwに基づいて折り返し幅width08のみをHレベルに制御し,セレクタSL16のみがカウンタA06の出力caint6を選択してカウント終了信号caintueとして出力する。同様に,折り返し幅width08=Hに応答して,図38のデコーダ170Bが,制御信号cnt08en,
cnt04en, nt02enをHレベルに制御し,制御信号cont16enのみをLレベルに制御し,セレクタSL27が入力in2を選択し,他のセレクタSL26,
SL25, SL24が入力in1を選択する。これにより,カウンタA04,A05,A06からなる3ビットカウンタが構成され,内部コラムアドレスcaint4-6が順次000-111になる。最上位のアドレスcaint7は初期値caext7に固定される。つまり,図38のデコーダ回路170Bは,制御信号380がLレベルに設定されているので,折り返し幅信号width02-16に応じて制御信号cnt02en-cnt16enを生成する。具体的には,折り返し幅信号width02-16のうちwidth02=Hならcnt02en=Hとなり1ビットカウンタに設定される。width04=Hなら=Hとなり2ビットカウンタに設定される。width16=Hならcnt02en,cnt04en,cnt08en,cnt16en=Hとなり4ビットカウンタに設定される。
以上の構成により,コラムアドレス制御部は,先頭のコラムアドレスCA00から上位コラムアドレスを順次インクリメントし,内部コラムアドレスがCA70に達すると上位の内部コラムアドレスを0000に折り返し,再度,コラムアドレスCA01から上位コラムアドレスを順次インクリメントし,CA71に達する。これで,バースト長16に対応する16の内部コラムアドレスCA00-CA70,CA01-CA71が生成されることになる。このように,折り返し制御信号を適宜設定することで,下位コラムアドレスまたは上位コラムアドレスを2,4,8,16で折り返すことができ,矩形領域に対するバーストアクセスに必要な内部コラムアドレスの生成が可能になる。
図36において,下位と上位アドレス生成ユニットへのカウント制御信号への接続を通常通りに接続すれば,水平方向に長い矩形領域を1回のコラム系コマンドと先頭コラムアドレスによりバーストアクセスすることができる。
図39は,矩形領域のバーストアクセスする場合のメモリ装置にタイミングチャート図である。図39は,図27と同様のバーストアクセスのタイミングチャートであり,時間t3でリードコマンドRDAと共にコラムアドレスCA00,ベクトルアドレスVA=001が入力されると,メモリ装置内のコラムアドレス制御部は,時間t3以降に内部コラムアドレスCA00,CA10〜CA70とCA01,CA11〜CA71とを順次生成する。これにより,1回のコラム系コマンドとコラムアドレスの入力により,メモリ層は,バースト長16のバーストアクセスで矩形領域のバーストアクセスを行う。
[順進・逆進のアクセス]
図40は,逆進アクセスする場合の下位アドレス生成ユニットの一部構成図である。図40には,下位アドレス生成ユニット80のカウンタ81についてのみ示されていて,ステップ設定回路と折り返し幅設定回路は省略されている。カウンタ81の初期値入力端子initの前段にEORゲート群400が設けられ,出力端子outの後段にEORゲート群402が設けられている。これらのEROゲート群400,402の一方の入力端子には逆進制御信号reverslzが入力され,逆進制御信号reverslz=Hであれば,外部コラムアドレスcaext0-3がEORゲート群400で反転してカウンタ81に入力され,カウンタ出力がEORゲート群4002で反転して内部コラムアドレスcaint0-3として出力される。逆進制御信号reverslz=Lであれば,EORゲート群400,402は他方の入力信号を反転せずにそのまま出力する。
つまり,逆進制御信号reverslz=Hであれば,例えば外部コラムアドレスcaext0-3=1111を反転した0000がカウンタに初期値設定され,カウンタ81がカウント制御信号countlzに同期して0000から順次インクリメントし,その出力値を反転した4ビットアドレスが内部コラムアドレスcaint0-3として出力される。よって,外部コラムアドレスcaext0-3=1111に対しては,逆進制御により,内部コラムアドレスcaint0-3は,1111〜0000と逆進方向にカウントダウンされることになる。
アドレス生成ユニット制御回路88は,EORゲート群400,402を有するので,下位及び上位アドレス生成ユニットのカウント方向を順進,逆進のいずれかに設定することができる。よって,ベクトルアドレスVAの方向がコラムアドレスの逆進方向であっても,コラムアドレス制御部は,バーストモードに対応して逆進方向の内部コラムアドレスを順次生成することができる。
図41は,時間軸を有するメモリマップの例を示す図である。上記の実施の形態では,図7などにおいて,二次元配列されたデータである画像データを1つのページ領域内に格納するメモリマップを前提に説明した。この場合,水平方向と垂直方向とからなる二次元空間内の任意の方向の走査アクセスを可能にするために,コラムアドレスを下位と上位とに分割してコラムアドレス制御部を構成した。
本実施の形態は,コラムアドレスの分割数は2に限られず3またはそれ以上であってもよい。図41は,コラムアドレスの分割数が3の例である。下位コラムアドレスCA-L(A00-A03)と中位コラムアドレスCA-M(A04-A07)とが二次元配列データの水平方向と垂直方向とに対応付けられると共に,上位コラムアドレスCA-U(A08-A09)が時間軸方向timeに対応付けられている。このように,コラムアドレスを3つに分割することで,下位と中位コラムアドレスにより特定される二次元配列のページ領域Page0-3が,上位コラムアドレスにより4つ特定される。
例えば、動画データの圧縮ではフレーム内の圧縮だけでなく,時間軸方向の圧縮も行われる。また,最近は60フレーム/秒のオリジナル画像データに対し,フレーム間に補間フレームを追加することで画像をより美しく見えるようにすることが行われる。このような場合,画面の水平・垂直方向だけでなく,時間軸方向のアクセスも高速に行うメモリ装置が必要になる。その場合のメモリのページ領域への画像データのマッピングとして,時間軸方向も含めた直方体空間をメモリにマッピングすることが有益である。すなわち,図41に示されるとおり,時間軸方向を指定するアドレスとしてCA08,CA09を追加し,画像の水平方向に割り付けられた下位コラムアドレスCA03〜CA00と,画像の垂直方向に割り付けられた中位コラムアドレスCA07〜CA04と,時間軸方向に割り付けられた上位コラムアドレスCA09〜CA08とし,コラムアドレス制御部を3つのアドレス生成ユニットで構成する。かかるコラムアドレス制御部によれば,画像の時間軸方向にバーストアクセスすることが可能になる。
本発明によれば,画像データなどの二次元配列データに対して種々の方向にバーストアクセスすることができる。

Claims (10)

  1. アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,
    外部アドレスを入力し,当該外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,
    前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有し,
    前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶し,
    前記内部アドレス制御部は,前記内部アドレスの下位ビット群を生成する下位アドレス生成ユニットと,前記内部アドレスの上位ビット群を生成する上位アドレス生成ユニットと,前記二次元配列データの走査方向を制御する走査方向制御信号に基づいて前記下位アドレス生成ユニットと上位アドレス生成ユニットの動作を制御するアドレス生成ユニット制御回路とを有し,前記走査方向制御信号の走査方向に対応する内部アドレスを順次生成することを特徴とするメモリ装置。
  2. 請求項1記載のメモリ装置において,
    前記アドレスはロウアドレスとコラムアドレスとを有し,
    前記メモリセルアレイは前記ロウアドレスで選択される複数のページ領域を有し,当該ページ領域は前記コラムアドレスで選択される複数の前記メモリ単位領域を有し,
    前記内部アドレス制御部は前記内部アドレスのうち内部コラムアドレスを生成することを特徴とするメモリ装置。
  3. 請求項2記載のメモリ装置において,
    アクティブコマンドに応答して,前記ロウアドレスで選択されるページ領域がアクティブ動作を行い,前記アクティブコマンド後に供給されるリードコマンド又はライトコマンドに応答して,前記コラムアドレスに対応する前記メモリ単位領域にリード動作またはライト動作が行われ,
    バーストモードでは,前記リードコマンド又はライトコマンドに応答して,内部アドレス制御部がバースト長の数の内部コラムアドレスを順次生成し,当該順次生成される内部コラムアドレスにより選択される前記メモリ単位領域にリード動作またはライト動作が繰り返されることを特徴とするメモリ装置。
  4. 請求項3記載のメモリ装置において,
    前記走査方向制御信号が斜め方向の場合に,前記アドレス生成ユニット制御回路は,前記下位アドレス生成ユニットと上位アドレス生成ユニットとを並行して動作させて,上位内部コラムアドレスと下位内部コラムアドレスとを並行して順次生成させることを特徴とするメモリ装置。
  5. 請求項4記載のメモリ装置において,
    前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,カウンタ制御信号に応答してカウント値を変更するカウンタ回路をそれぞれ有することを特徴とするメモリ装置。
  6. 請求項5記載のメモリ装置において,
    前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,さらに,ステップ制御信号に応じて前記カウンタ制御信号を前記カウンタ回路のいずれかの桁に入力する下位ステップ設定回路と上位ステップ設定回路をそれぞれ有するメモリ装置。
  7. 請求項6記載のメモリ装置において,
    前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,前記走査方向制御信号と前記ステップ制御信号とに応じた角度方向に対応する下位内部コラムアドレスと上位内部コラムアドレスとを順次生成することを特徴とするメモリ装置。
  8. 請求項5記載のメモリ装置において,
    前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,さらに,折り返し幅制御信号に応じて前記カウンタ回路のいずれかの桁の出力信号をキャリー信号として出力する下位折り返し幅設定回路と上位折り返し幅設定回路をそれぞれ有することを特徴とするメモリ装置。
  9. 請求項3記載のメモリ装置において,
    前記走査方向データが前記第1または第2の方向の場合に,前記アドレス生成ユニット制御回路は,前記下位アドレス生成ユニットと上位アドレス生成ユニットとを直列に動作させ,
    前記走査方向データが前記第1の方向の場合に,前記アドレス生成ユニット制御回路は,クロックに応答して前記下位アドレス生成ユニットが下位の内部コラムアドレスを順次生成し,前記下位アドレス生成ユニットが生成するキャリー信号に応答して前記上位アドレス生成ユニットが上位の内部コラムアドレスを順次生成し,
    前記走査方向データが前記第2の方向の場合に,前記アドレス生成ユニット制御回路は,クロックに応答して前記上位アドレス生成ユニットが上位の内部コラムアドレスを順次生成し,前記上位アドレス生成ユニットが生成するキャリー信号に応答して前記下位アドレス生成ユニットが下位の内部コラムアドレスを順次生成することを特徴とするメモリ装置。
  10. アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,
    外部アドレスを入力し,当該外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,
    前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有し,
    前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶し,
    前記内部アドレス制御部は,前記二次元配列データの少なくとも斜め方向を含む複数の走査方向を制御する走査方向制御信号に基づいて前記走査方向に対応する内部アドレスを順次生成することを特徴とするメモリ装置。
JP2010518823A 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ Expired - Fee Related JP5126360B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/001702 WO2010001433A1 (ja) 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ

Publications (2)

Publication Number Publication Date
JPWO2010001433A1 JPWO2010001433A1 (ja) 2011-12-15
JP5126360B2 true JP5126360B2 (ja) 2013-01-23

Family

ID=41465548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010518823A Expired - Fee Related JP5126360B2 (ja) 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ

Country Status (6)

Country Link
US (1) US8493400B2 (ja)
EP (1) EP2299449A1 (ja)
JP (1) JP5126360B2 (ja)
KR (1) KR101226394B1 (ja)
CN (1) CN102292774B (ja)
WO (1) WO2010001433A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262741B2 (ja) * 2009-01-19 2013-08-14 パナソニック株式会社 色分布分析装置及び色分布分析方法
KR101927255B1 (ko) * 2011-12-27 2018-12-12 한국전자통신연구원 레지스터 윈도우 오버플로우/언더플로우 처리 장치
KR101975330B1 (ko) * 2012-04-06 2019-05-07 삼성전자주식회사 퓨즈 장치에 저장된 데이터를 리드하는 방법 및 이를 이용하는 장치들
US8942473B2 (en) * 2012-07-25 2015-01-27 Ko Hung Lin Image processing method and display apparatus
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
EP3061253A4 (en) 2013-10-25 2016-08-31 Microsoft Technology Licensing Llc PAIRING OF BLOCKS BY HASHING VIDEO AND IMAGE CODING
KR102166762B1 (ko) * 2013-12-26 2020-10-16 에스케이하이닉스 주식회사 메모리 및 이를 포함하는 메모리 시스템
US9507601B2 (en) * 2014-02-19 2016-11-29 Mediatek Inc. Apparatus for mutual-transposition of scalar and vector data sets and related method
KR102185245B1 (ko) * 2014-03-04 2020-12-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사
CN105556971B (zh) 2014-03-04 2019-07-30 微软技术许可有限责任公司 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
KR102287779B1 (ko) * 2014-06-23 2021-08-06 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정
CA3186389A1 (en) 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Hash-based encoder decisions for video coding
EP3018587B1 (en) * 2014-11-05 2018-08-29 Renesas Electronics Europe GmbH Memory access unit
KR20160112439A (ko) * 2015-03-19 2016-09-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 동작 방법
US9639649B2 (en) * 2015-08-18 2017-05-02 Kabushiki Kaisha Toshiba Semiconductor memory device, method for designing semiconductor memory device, and recording medium having designing method recorded therein
WO2017130983A1 (ja) * 2016-01-25 2017-08-03 アイシン・エィ・ダブリュ株式会社 メモリコントローラ
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10684955B2 (en) * 2017-04-21 2020-06-16 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
JP6847797B2 (ja) * 2017-09-21 2021-03-24 キオクシア株式会社 半導体記憶装置
US10956315B2 (en) 2018-07-24 2021-03-23 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access
KR101956180B1 (ko) 2018-10-30 2019-03-08 김경기 추진 분사식 해충 방제기 및 그를 구비하는 이류체 압축 방식의 추진 분사식 해충 방제시스템
WO2020184461A1 (ja) * 2019-03-08 2020-09-17 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP7235389B2 (ja) * 2019-03-29 2023-03-08 ラピスセミコンダクタ株式会社 半導体記憶装置
US11348622B2 (en) * 2020-05-06 2022-05-31 Micron Technology, Inc. Conditional write back scheme for memory
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
CN114388019B (zh) * 2022-01-14 2023-09-19 长鑫存储技术有限公司 存储器的检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334426A (ja) * 1992-06-04 1993-12-17 Anritsu Corp 画像データ記憶装置
JPH0896572A (ja) * 1994-09-27 1996-04-12 Matsushita Electric Ind Co Ltd 半導体メモリ及びその使用方法、カラムデコーダ並びに画像プロセッサ
JP2004192110A (ja) * 2002-12-09 2004-07-08 Sony Corp 半導体装置及び画像データ処理装置
JP2006323604A (ja) * 2005-05-18 2006-11-30 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP2007251865A (ja) * 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP2008048178A (ja) * 2006-08-16 2008-02-28 Sony Corp 復号処理装置及び復号処理方法並びに復号処理プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4387370A (en) * 1980-12-18 1983-06-07 Rca Corporation Apparatus for angularly scanning memory addresses
EP0798734B1 (en) * 1988-11-29 2004-02-18 Matsushita Electric Industrial Co., Ltd. A synchronous semiconductor memory integrated circuit, a method for accessing said memory and a system comprising such a memory
US5142637A (en) 1988-11-29 1992-08-25 Solbourne Computer, Inc. Dynamic video RAM incorporating single clock random port control
JPH07113904B2 (ja) * 1990-04-11 1995-12-06 株式会社東芝 メモリ・アクセス装置
US5293540A (en) * 1991-07-29 1994-03-08 Nview Corporation Method and apparatus for merging independently generated internal video with external video
JPH0554657A (ja) 1991-08-21 1993-03-05 Fujitsu Ltd 半導体記憶装置
JPH06243675A (ja) 1993-02-23 1994-09-02 Hitachi Ltd 半導体記憶装置およびその処理システム
TW247359B (en) * 1993-08-30 1995-05-11 Hitachi Seisakusyo Kk Liquid crystal display and liquid crystal driver
KR100224807B1 (ko) * 1994-01-31 1999-10-15 윤종용 반도체 메모리장치 및 고속억세스 방법
JPH08190372A (ja) 1995-01-11 1996-07-23 Hitachi Ltd Vramおよびこれを用いた表示制御システム
US5973993A (en) * 1998-02-27 1999-10-26 Micron Technology, Inc. Semiconductor memory burst length count determination detector
GB2362473B (en) * 2000-05-18 2002-08-21 3Com Corp On-chip detector of clock glitches
JP4286192B2 (ja) * 2003-08-25 2009-06-24 オリンパス株式会社 画像処理装置及び画像処理方法
JP2005116128A (ja) 2003-10-10 2005-04-28 Fujitsu General Ltd フレームメモリ回路
JP2006345415A (ja) 2005-06-10 2006-12-21 Alegria Kk 電話交換システム、電話交換方法、電話交換プログラム及び記録媒体
JP5018074B2 (ja) 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
JP2008288946A (ja) * 2007-05-18 2008-11-27 Seiko Epson Corp アドレス生成装置及び撮像素子

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334426A (ja) * 1992-06-04 1993-12-17 Anritsu Corp 画像データ記憶装置
JPH0896572A (ja) * 1994-09-27 1996-04-12 Matsushita Electric Ind Co Ltd 半導体メモリ及びその使用方法、カラムデコーダ並びに画像プロセッサ
JP2004192110A (ja) * 2002-12-09 2004-07-08 Sony Corp 半導体装置及び画像データ処理装置
JP2006323604A (ja) * 2005-05-18 2006-11-30 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP2007251865A (ja) * 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP2008048178A (ja) * 2006-08-16 2008-02-28 Sony Corp 復号処理装置及び復号処理方法並びに復号処理プログラム

Also Published As

Publication number Publication date
US8493400B2 (en) 2013-07-23
US20110128810A1 (en) 2011-06-02
KR20110015030A (ko) 2011-02-14
CN102292774A (zh) 2011-12-21
WO2010001433A1 (ja) 2010-01-07
EP2299449A1 (en) 2011-03-23
JPWO2010001433A1 (ja) 2011-12-15
KR101226394B1 (ko) 2013-01-24
CN102292774B (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
JP5126360B2 (ja) メモリ装置及びそれを制御するメモリコントローラ
KR100864473B1 (ko) 메모리 장치, 메모리 컨트롤러 및 메모리 시스템
US7737986B2 (en) Methods and systems for tiling video or still image data
KR100873111B1 (ko) 메모리 장치, 메모리 컨트롤러 및 메모리 시스템
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
US20030151609A1 (en) Multi-sequence burst accessing for SDRAM
JPH08307875A (ja) 画像メモリ装置および動きベクトル検出回路
JPH10283770A (ja) 半導体メモリ装置およびその読み出しおよび書き込み方法
KR20110077894A (ko) 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법
US20050024368A1 (en) Two dimensional buffer pages
JP5623494B2 (ja) ビデオデータのインターリーブされた記憶用のシステム
KR20080020066A (ko) 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템
US8436865B2 (en) Memory controller and memory system using the same
US7088369B2 (en) Checkerboard buffer using two-dimensional buffer pages and using bit-field addressing
US6992674B2 (en) Checkerboard buffer using two-dimensional buffer pages and using state addressing
CN107204199B (zh) 半导体存储器装置及其地址控制方法
US7907473B2 (en) Semiconductor memory device and data storage method including address conversion circuit to convert coordinate information of data into one-dimensional information to amplifier
US20080044107A1 (en) Storage device for storing image data and method of storing image data
US8064282B2 (en) Method of accessing synchronous dynamic random access memory, memory control circuit, and memory system including the same
JP2000293432A (ja) バンク可変メモリ
US6819323B2 (en) Structure and method for gaining fast access to pixel data to store graphic image data in memory
EP0959428B1 (en) Image processing apparatus, special effect apparatus and image processing method
US20130120420A1 (en) Method and system for efficiently organizing data in memory
JP2012113597A (ja) メモリ装置、メモリ制御回路及びメモリ制御システム
JP2008146235A (ja) 画像処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121015

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees