JP4868298B2 - メモリアクセス制御装置、メモリアクセス制御方法、データ格納方法及びメモリアクセス制御プログラム - Google Patents
メモリアクセス制御装置、メモリアクセス制御方法、データ格納方法及びメモリアクセス制御プログラム Download PDFInfo
- Publication number
- JP4868298B2 JP4868298B2 JP2008525922A JP2008525922A JP4868298B2 JP 4868298 B2 JP4868298 B2 JP 4868298B2 JP 2008525922 A JP2008525922 A JP 2008525922A JP 2008525922 A JP2008525922 A JP 2008525922A JP 4868298 B2 JP4868298 B2 JP 4868298B2
- Authority
- JP
- Japan
- Prior art keywords
- unit data
- group
- data
- coordinates
- memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/123—Frame memory handling using interleaving
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Image Input (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
メモリアクセス方法の関連する技術の1例が特許文献1(特開平10−210251号公報)に記載されている。特許文献1は、画像全体をブロックに分割し、それぞれのブロックをバーストアクセス可能なメモリアドレスのデータで構成するようにし、同一ブロック内であれば横方向、縦方向等といった任意のデータに対しバーストアクセスを可能にし、アクセス方向によらずに画像メモリに対する高速アクセスを可能とするものである。
例えば、2次元のデータである画像データにアクセスする場合、横方向にアクセスする場合と縦方向にアクセスする場合があるが、1つのアドレスに横方向に連続したデータを格納した場合には、縦方向に連続したデータにアクセスしたい場合には必要のない多くのデータに対してアクセスしてしまうこととなり、アクセス効率が低下していた。一方、縦方向に連続したデータを1つのアドレスに格納した場合には、逆に横方向に連続したデータにアクセスしたい場合に必要のない多くのデータに対してアクセスしてしまうこととなり、アクセス効率が低下するという問題があった。
(目的)
本発明の目的は、メモリに格納されたデータへのメモリアクセス効率を向上させることである。
本発明の第2のアクセス制御方法は、データを格納するメモリへのアクセスを制御するメモリアクセス制御方法であって、データを、複数グループを備えるメモリに対するアクセスアドレスのうちの所定ビットで区別されるメモリの異なる領域に分けて格納する格納手順と、メモリに対するアクセスの同一のクロックサイクルにおいて、複数グループのメモリの異なる領域に格納したデータへ同時にアクセスするアクセス手順とを備える。
本発明の第3のデータ格納方法は、データを格納するメモリへのアクセスを制御するメモリアクセス制御装置におけるデータ格納方法であって、データを、複数グループを備えるメモリに対するアクセスアドレスのうちの所定ビットで区別されるメモリの異なる領域に分けて格納する格納手順を備える。
本発明の第4のメモリアクセス制御プログラムは、データを格納するメモリへのアクセスを制御するコンピュータ装置上で実行されるメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体であって、メモリアクセス制御プログラムは、データを、複数グループを備えるメモリに対するアクセスアドレスのうちの所定ビットで区別されるメモリの異なる領域に分けて格納する格納機能と、メモリに対するアクセスの同一のクロックサイクルにおいて、複数グループのメモリの異なる領域に格納したデータへ同時にアクセスするアクセス機能とをコンピュータ装置に実行させる。
発明の効果
本発明によれば、メモリに格納されたデータへのメモリアクセス効率を向上させることができる。
その理由は、データを、複数グループのメモリに対するアクセスアドレスのうちの所定ビットで区別されるメモリの異なる領域に分けて格納し、メモリに対するアクセスの同一のクロックサイクルにおいて、複数グループのメモリの異なる領域に格納したデータへ同時にアクセスするため、該当するデータ以外のデータへのアクセスへのアクセスが大幅に減少するからである。
図2は、第1の実施形態による画像データ201を説明する図である。
図3は、第1の実施形態による画像データ配置情報161を説明する図である。
図4は、第1の実施形態によるメモリ12に格納されたデータ例を示す図である。
図5は、第1の実施形態によるメモリ13に格納されたデータ例を示す図である。
図6は、第1の実施形態による画像データ配置情報161の1ブロックの情報を示す図である。
図7は、第1の実施形態による固有アドレス対応情報格納手段15に格納された固有アドレス対応情報を示す図である。
図8は、第1の実施形態による固有アドレス対応情報格納手段15に格納された固有アドレス対応情報を示す図である。
図9は、第1の実施形態によるメモリアクセス制御装置10のハードウェア構成を示すブロック図である。
図10は、第1の実施形態によるメモリアクセス制御装置10の動作の概略を示すフローチャートである。
図11は、本発明の第2の実施形態による画像データ配置情報161を説明する図である。
図12は、第2の実施形態によるメモリ12に格納されたデータ例を示す図である。
図13は、第2の実施形態によるメモリ13に格納されたデータ例を示す図である。
図14は、第2の実施形態による画像データ配置情報161の1ブロックの情報を示す図である。
図15は、第2の実施形態による固有アドレス対応情報格納手段15に格納された固有アドレス対応情報を示す図である。
図16は、本発明の第3の実施形態による画像データ配置情報161を説明する図である。
図17は、第3の実施形態によるメモリ12に格納されたデータ例を示す図である。
図18は、第3の実施形態によるメモリ13に格納されたデータ例を示す図である。
図19は、第3の実施形態による画像データ配置情報161の1ブロックの情報を示す図である。
図20は、本発明の第4の実施形態による画像データ配置情報161を説明する図である。
図21は、第4の実施形態によるメモリ12に格納されたデータ例を示す図である。
図22は、第4の実施形態によるメモリ13に格納されたデータ例を示す図である。
図23は、第4の実施形態による画像データ配置情報161の1ブロックの情報を示す図である。
図24は、本発明の第5の実施形態による画像データ配置情報161を説明する図である。
図25は、第5の実施形態によるメモリ12に格納されたデータ例を示す図である。
図26は、第5の実施形態によるメモリ13に格納されたデータ例を示す図である。
図27は、第5の実施形態による画像データ配置情報161の1ブロックの情報を示す図である。
次に、本発明の第1の実施形態について図面を参照して詳細に説明する。
(第1の実施形態の構成)
図1は、本発明の第1の実施形態によるメモリアクセス制御装置10の構成を示すブロック図である。
メモリアクセス制御装置10は、メモリアクセス制御手段11と、メモリ12及びメモリ13と、アクセスモード選択手段14と、固有アドレス対応情報格納手段15と、画像データ配置情報格納手段16とを備え、メモリ12及びメモリ13がアドレス信号17〜19によってメモリアクセス制御手段11に接続されている。
メモリアクセス制御手段11は、アクセスモード選択手段14によって選択されたアクセスモード、固有アドレス対応情報格納手段15に格納された固有アドレス対応情報及び画像データ配置情報格納手段16に格納された画像データ配置情報161に基づいて、メモリ12及びメモリ13の異なる領域に格納された符号化された画像データに対して同一のクロックサイクルでアクセスする機能を有する。
画像データ配置情報格納手段16は、画像データがメモリ12及びメモリ13にどのように配置されているのかを示す画像データ配置情報161を格納する機能を有する。
画像データ配置情報161は、メモリ12及びメモリ13のメモリ容量、メモリ12及びメモリ13のメモリ1個あたりのバス幅、画像データを構成する1画素当たりのビット数及び画像データを構成する画素の位置情報等に基づいて、当該メモリ1個あたり1つのアドレスに格納された画素の配置情報を示す。
図3は、図2に示される画像データ201、メモリ12及びメモリ13のメモリ容量、メモリ1個あたりのバス幅等に基づいて生成された画像データ配置情報161を説明する図である。
ここで、メモリ12及びメモリ13のメモリ1個あたりのバス幅を8ビット、当該メモリに格納された画像データの1画素を8ビットとすると、当該メモリ1個あたり1つのアドレスには1画素を格納することができる。
従って、メモリ12及びメモリ13は、図2に示す1024画素×1024ラインの画像データ201を、図3に示すように配置されて格納する。
図3を参照すると、座標(x,y)は、y+1番目のライン上のx+1番目の画素であることを示すため、例えば、座標(0,0)を見ると、1番目のライン上の1番目の画素(画素(0,0))がメモリ12に配置されていることがわかり、座標(0,1)を見ると、2番目のライン上の1番目の画素(画素(0,1))がメモリ13に配置されていることがわかる。
また、メモリアクセス制御手段11は、図3を参照すると、メモリ12には、x=0かつy=0の画像データである画素(0,0)、x=1かつy=1の画像データである画素(1,1)、x=1かつy=2の画像データである画素(1,2)、x=0かつy=3の画像データである画素(0,3)等が格納され、一方、メモリ13には、x=1かつ0=0の画像データである画素(1,0)、x=0かつy=1の画像データである画素(0,1)、x=0かつy=2の画像データである画素(0,2)、x=1かつy=3の画像データである画素(1,3)等が格納されていることがわかる。
さらに、メモリ12の固有アドレスをADA(後述)とすると、例えば、x=0かつy=0の画像データである画素(0,0)がメモリ12のADA=0に格納され、x=1かつy=1の画像データである画素(1,1)がメモリ12のADA=1に格納され、x=1かつy=2の画像データである画素(1,2)がメモリ12のADA=2に格納され、x=0かつy=3の画像データである画素(0,3)がメモリ12のADA=3に格納され、他の画素も同様に格納される(後述の図4参照)。
また、メモリ13の固有アドレスをADB(後述)とすると、例えば、x=1かつy=0の画像データである画素(1,0)がメモリ13のADB=0に格納され、x=0かつy=1の画像データである画素(0,1)がメモリ13のADB=1に格納され、x=0かつy=2の画像データである画素(0,2)がメモリ13のADB=2に格納され、x=1かつy=3の画像データである画素(1,3)がメモリ13のADB=3に格納され、他の画素も同様に格納される(図5参照)。
本実施形態のメモリ12及びメモリ13は、このようにして、1ライン上で連続する2画素について、連続する4ライン分を1ブロックとして画像データが配置される。すなわち、この1ブロックは、2画素に4ラインを乗じた8画素分の画像データから構成される。
例えば、画像データのx座標の最下位ビットをa、y座標の最下位2ビットをbとすると、上記1ブロックの情報は図6のように示される。
従って、本実施形態の1024画素×1024ラインの画像データは、横方向(x軸方向)に上記ブロックの512ブロック分、縦方向(y軸方向)に上記ブロックの256ブロック分、合計512×256=131072ブロック分に分割され、各ブロックを構成する画素のデータが図4及び図5(後述)に示されるように、メモリ12及びメモリ13に配置されて格納される。
メモリ12及びメモリ13は、画像データ配置情報161に基づいて、符号化されて配置された画像データ121、131を格納する機能を有する。
図4は、メモリ12に格納されたデータ例(配置された画像データ121)を示す図であり、図5は、メモリ13に格納されたデータ例(配置された画像データ131)を示す図である。
なお、メモリ12及びメモリ13は、単数からなるメモリだけではなく、同じメモリ容量で構成される2つのグループのメモリ12及びメモリ13であってもよい。
アクセスモード選択手段14は、メモリ12、メモリ13に格納された画像データを構成する画素のデータに対するアクセスにおいて、横方向に連続した2画素に対して一度にアクセスするモードと、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードと、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードとを選択する。
固有アドレス対応情報格納手段15は、アクセスモード毎に、各ADAと各ADBの対応関係を示す固有アドレス対応情報151を格納する。
図7は、固有アドレス対応情報格納手段15に格納された固有アドレス対応情報を示す図である。
図7を参照すると、固有アドレス対応情報格納手段15に格納された固有アドレス対応情報151は以下のように示される。
横方向に連続した2画素に対して一度にアクセスするモードでは、ADA=ADBである(固有アドレス対応情報151a)。
また、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、ADA=0と、ADB=1とが互いに対応し、ADA=1と、ADB=0とが互いに対応し、ADA=2と、ADB=3とが互いに対応し、ADA=3と、ADB=2とが互いに対応する(固有アドレス対応情報151b)。
また、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、ADA=0と、ADB=2とが互いに対応し、ADA=1と、ADB=3とが互いに対応し、ADA=2と、ADB=0とが互いに対応し、ADA=3と、ADB=1とが互いに対応する(固有アドレス対応情報151c)。
なお、後述するように、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、横方向に連続した2画素に対して一度にアクセスするモードでは固有アドレス対応情報151dが用いられ、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは固有アドレス対応情報151eが用いられ、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは固有アドレス対応情報151fが用いられる(図8参照)。
アドレス信号17〜19は、メモリアクセス制御手段11からメモリ12及びメモリ13に対して共通のアドレスであるADを伝達するアドレス信号17と、メモリアクセス制御手段11からメモリ12に接続された下位2ビットのADAについてのアドレス信号18と、メモリアクセス制御手段11からメモリ13に接続された下位2ビットのADBについてのアドレス信号19とからなる。すなわち、メモリアクセス制御手段11からメモリ12に接続されたアドレス信号とメモリ13に接続されたアドレス信号は、下位2ビットのADA及びADBを除いて共通である。
従って、アドレス信号17のADに基づいてメモリ12及びメモリ13に共通の1ブロックが上記131072ブロックの中から特定される。特定された当該1ブロックの中から、アドレス信号18のADAに基づいてメモリ12内の画素のデータが特定され、アドレス信号19のADBに基づいてメモリ13内の画素のデータが特定される。
なお、ADは、一般的に[n1:n2]であり、n1及びn2は、画像データ、メモリ容量及びアドレスのビット数等に従って定まる。特に、本実施形態において、1024画素×1024ラインから構成される画像データ201が横方向に512ブロック分、縦方向に256ブロック分の合計512×256のブロックによって構成され、2の17乗で表されるため、n1=16であり、また、1ブロックあたり2×4によって構成され、2の3乗で表されるため、n2=2である。
ここで、メモリアクセス制御装置10のハードウェア構成の説明をする。
図9は、本実施形態によるメモリアクセス制御装置10のハードウェア構成を示すブロック図である。
図9を参照すると、本発明によるメモリアクセス制御装置10は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、図1の各手段を備えるメモリアクセス制御部101、メモリ12、メモリ13、CPU(Central Processing Unit)102、周辺機器とデータの送受信を行う通信インタフェース104、上記した各構成要素の各機能を提供する制御プログラム1031を格納するROM(Read Only Memory)103、本情報処理装置の上記各構成要素を相互に接続するシステムバス105等を備えている。
本発明によるメモリアクセス制御装置10は、その動作を、メモリアクセス制御装置10内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、制御プログラム1031をコンピュータ処理装置上のCPU102で実行することによりソフトウェア的に実現することができる。
(第1の実施形態の動作)
図10は、本実施形態によるメモリアクセス制御装置10の動作の概略を示すフローチャートである。図10を用いて、本実施形態によるメモリアクセス制御装置10の動作の概略を説明する。
まず、メモリアクセス制御手段11が、アクセスモード選択手段14によって選択されたアクセスモードを識別し(ステップS101)、識別したアクセスモードに基づいて、画像データ配置情報格納手段16に格納された画像データ配置情報161及び、固有アドレス対応情報格納手段15に格納された当該アクセスモード用の固有アドレス対応情報151を参照し(ステップS102)、当該固有アドレス対応情報151に基づいて、メモリ12及びメモリ13に格納された互いに対応する画像データに対して同一のクロックサイクルでアクセスする(ステップS103)。
次に、各アクセスモードにおける動作を説明する。
(横方向のアクセスモード)
本実施形態によるメモリアクセス制御装置10において、水平方向(横方向)に連続した2画素に対して一度にアクセスするモードが選択された場合に、メモリアクセス制御手段11が、メモリ12及びメモリ13に格納された横方向に連続した画素に対して一度にアクセスする方法を、図3を参照して説明する。
ADAとADBを同じ値とすると、メモリアクセス制御手段11は、メモリ12、メモリ13に格納された横方向に連続した2画素に対して一度にアクセスすることができる。
固有アドレス対応情報151aに基づき、例えば、ADA=ADB=0とすると、メモリアクセス制御手段11は、横方向に連続した、メモリ12に格納された画素(0,0)及びメモリ13に格納された画素(1,0)の2画素に対して一度にアクセスできる。
また、同様に、ADA=ADB=1とすると、メモリアクセス制御手段11は、横方向に連続した、メモリ13に格納された画素(0,1)及びメモリ12に格納された画素(1,1)の2画素に対して一度にアクセスできる。
ただし、ADA=ADB=0の場合、メモリ12には画素(0,0)のデータが格納されているのに対し、ADA=ADB=1の場合、メモリ12には上記画素(0,0)とX座標の異なる画素(1,1)のデータが格納されている。
同様に、ADA=ADB=0の場合、メモリ13には画素(1,0)のデータが格納されているのに対し、ADA=ADB=1の場合、メモリ13には上記画素(1,0)とX座標の異なる画素(0,1)のデータが格納されている。
また、ADA=ADB=2の場合、ADA=ADB=1と同様のデータ格納順(メモリ13に格納された画素(0,2)、メモリ12に格納された画素(1,2)の順)であり、ADA=ADB=3の場合は、ADA=ADB=0と同様のデータ格納順(メモリ12に格納された画素(0,3)、メモリ13に格納された画素(1,3)の順)である。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図2に示す1024画素×1024ラインの画像データにおいて2画素に同一のアドレスを割り当てられ、1024×1024÷2=524288となることから、1≦h≦524288のもと、水平方向(横方向)に連続した2画素に対して一度にアクセスするモードでは、選択されたADA又は選択されたADBに対応してADA=ADB=(h−1)とされ(図8の固有アドレス対応情報151d)、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された横方向に連続した2画素に対して一度にアクセスできる。
(縦方向のアクセスモード)
次に、本実施形態によるメモリアクセス制御装置10において、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードが選択された場合に、メモリアクセス制御手段11が、メモリ12及びメモリ13に格納された縦方向に連続した画素に対して一度にアクセスする方法を、図3を参照して説明する。
固有アドレス対応情報151bに基づき、例えば、ADA=0、ADB=1とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(0,0)及びメモリ13に格納された画素(0,1)にアクセスすることができるため、縦方向に連続した2ラインのデータに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3においてADA=0に対応する最終のADAはADA=524284であり、上記1ブロック内に4アドレスが含まれることから、524284÷4=131071により、1≦i≦131072において、ADA=(4i−4)、ADB=ADA+1=(4i−4)+1=4i−3とすると(図8の固有アドレス対応情報151e)、メモリアクセス制御手段11は、ADA=0、ADB=1とした場合と同様に、縦方向に連続した2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151eに基づき、ADA=(4i−4)が選択されるとこれに対応するADB=(4i−3)が選択され、又は、ADB=(4i−3)が選択されるとこれに対応するADA=(4i−4)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=3、ADB=2とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(0,3)及びメモリ13に格納された画素(0,2)に対してアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3においてADA=3に対応する最終のADAはADA=524287であり、1≦i≦131072において、ADA=(4i−4)+3=(4i−1)、ADB=ADA−1=(4i−1)−1=4i−2とすると(図8の固有アドレス対応情報151e)、ADA=3、ADB=2とした場合と同様に、縦方向に連続した2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151eに基づき、ADA=(4i−1)が選択されるとこれに対応するADB=(4i−2)が選択され、又は、ADB=(4i−2)が選択されるとこれに対応するADA=(4i−1)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=1、ADB=0とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(1,1)及びメモリ13に格納された画素(1,0)に対してアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3においてADA=1に対応する最終のADAはADA=524285であり、1≦i≦131072において、ADA=(4i−4)+1=(4i−3)、ADB=ADA−1=(4i−3)−1=4i−4とすると(図8の固有アドレス対応情報151e)、ADA=1、ADB=0とした場合と同様に、縦方向に連続した2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151eに基づき、ADA=(4i−3)が選択されるとこれに対応するADB=(4i−4)が選択され、又は、ADB=(4i−4)が選択されるとこれに対応するADA=(4i−3)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=2、ADB=3とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(1,2)及びメモリ13に格納された画素(1,3)に対してアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3においてADA=2に対応する最終のADAはADA=524286であり、1≦i≦131072において、ADA=(4i−4)+2=(4i−2)、ADB=ADA+1=(4i−2)+1=4i−1とすると(図8の固有アドレス対応情報151e)、ADA=2、ADB=3とした場合と同様に、縦方向に連続した2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151eに基づき、ADA=(4i−2)が選択されるとこれに対応するADB=(4i−1)が選択され、又は、ADB=(4i−1)が選択されるとこれに対応するADA=(4i−2)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2画素に対して一度にアクセスできる。
以上で、2ラインのすべての組み合わせに対して一度にアクセスできることを示した。ただし、8画素分の画像データから構成される上記1ブロックの構成により、奇数ラインから始まる連続した2ラインのデータに対して一度にアクセスすることはできない。すなわち、上記1ブロック内の第2のラインから始まる連続した2ラインのデータに対するアクセスは、同一メモリの異なるアドレスへのアクセスになるため一度にアクセスできない。また、上記1ブロック内の第4のラインから始まる連続した2ラインのデータに対するアクセスは、上記ブロックをまたいでのアクセスになるため一度にアクセスできない。このことは、1≦j≦1024において、図3の第(4j−2)のライン及び第(4j)のラインから始まる連続した2ラインのデータに対して一度にアクセスできないことを示す。
ところで、動画像処理において、画像データに対して1ライン置きにアクセスしたい場合がある。そのような場合には、以下のようにすることですべての上記1ブロック内の1ライン置きの組み合わせのデータに対して一度にアクセスすることが可能である。
以下に、本実施形態によるメモリアクセス制御装置10において、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードが選択された場合に、メモリアクセス制御手段11が、縦方向に1ライン置きに、メモリ12及びメモリ13に格納された画素に対して一度にアクセスする方法を説明する。
固有アドレス対応情報151cに基づき、例えば、ADA=0、ADB=2とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(0,0)及びメモリ13に格納された画素(0,2)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3において、1≦i≦131072の条件のもと、ADA=(4i−4)、ADB=ADA+2=(4i−4)+2=4i−2とすると(図8の固有アドレス対応情報151f)、メモリアクセス制御手段11は、ADA=0、ADB=2とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151fに基づき、ADA=(4i−4)が選択されるとこれに対応するADB=(4i−2)が選択され、又は、ADB=(4i−2)が選択されるとこれに対応するADA=(4i−4)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=3、ADB=1とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(0,3)及びメモリ13に格納された画素(0,1)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3において、1≦i≦131072の条件のもと、ADA=(4i−1)、ADB=ADA−2=(4i−1)−2=4i−3とすると(図8の固有アドレス対応情報151f)、メモリアクセス制御手段11は、ADA=3、ADB=1とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151fに基づき、ADA=(4i−1)が選択されるとこれに対応するADB=(4i−3)が選択され、又は、ADB=(4i−3)が選択されるとこれに対応するADA=(4i−1)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=2、ADB=0とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(1,2)及びメモリ13に格納された画素(1,0)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3において、1≦i≦131072の条件のもと、ADA=(4i−2)、ADB=ADA−2=(4i−2)−2=4i−4とすると(図8の固有アドレス対応情報151f)、メモリアクセス制御手段11は、ADA=2、ADB=0とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151fに基づき、ADA=(4i−2)が選択されるとこれに対応するADB=(4i−4)が選択され、又は、ADB=(4i−4)が選択されるとこれに対応するADA=(4i−2)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=1、ADB=3とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(1,1)及びメモリ13に格納された画素(1,3)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図3において、1≦i≦131072の条件のもと、ADA=(4i−3)、ADB=ADA+2=(4i−3)+2=4i−1とすると(図8の固有アドレス対応情報151f)、メモリアクセス制御手段11は、ADA=1、ADB=3とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151fに基づき、ADA=(4i−3)が選択されるとこれに対応するADB=(4i−1)が選択され、又は、ADB=(4i−1)が選択されるとこれに対応するADA=(4i−3)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
以上で、上記1ブロック内の1ライン置きの2ラインのすべての組み合わせに対して一度にアクセスできることを示した。ただし、上記1ブロック内の2ライン目及び3ライン目から始まる1ライン置きの2ラインのデータに対して一度にアクセスすることはできない。すなわち、上記1ブロック内の第3及び第4のラインから始まる1ライン置きの2ラインのデータに対するアクセスは、上記ブロックをまたいでのアクセスになるため一度にアクセスできない。このことは、1≦j≦1024において、図3の第(4j−1)のライン及び第(4j)のラインから始まる1ライン置きの2ラインのデータに対して一度にアクセスできないことを示す。
(第1の実施形態の効果)
本実施形態によれば、図3に示すように、画像データを構成する画素データの内、連続する二つの画素データをアクセスモード毎に対応付けてそれぞれメモリ12及びメモリ13に分離して格納したため、横方向に連続した画像データアクセスと縦方向に連続した画像データアクセスを両立することができ、また、メモリ12及びメモリ13に格納された画像データに対するメモリアクセス制御手段11からの無駄なアクセスを減らし、メモリアクセス効率を向上させることができる。
すなわち、本実施形態によれば、画像データの横方向及び縦方向に連続する画素のデータを2つのメモリの所定の場所に対応付けて同時にアクセス可能に格納し、2つのメモリに与えるアクセスアドレスの一部を独立に制御して該当する画素のデータに同時にアクセスすることにより、横方向へのアクセスでは必要のないデータへのアクセスを一切発生させず、また、縦方向へのアクセスでも背景技術で述べた関連技術よりも無駄なデータへのアクセスを大幅に減らすことが可能となる。
また、本実施形態によれば、2つのグループのメモリ(メモリ12及びメモリ13)に与えるアクセスアドレスを2ビットを除いて同一としているため、2つのグループのメモリに与えるアクセスアドレスを完全に別々にするよりもアクセスアドレスの信号線を少なくすることができる。
(第2の実施形態)
本実施形態は、メモリ12及びメモリ13のメモリ1個あたりのバス幅を、第1の実施形態における8ビットから16ビットに増加させたものである。メモリ1個あたりのバス幅を16ビット、1画素を8ビットとすると、メモリ1個あたり1つのアドレスには2画素を格納することができる。以下、第1の実施形態と異なる点を中心に説明する。
(第2の実施形態の構成)
図11は、図2に示される画像データ201、メモリ12及びメモリ13のメモリ容量、メモリ1個あたりのバス幅等に基づいて生成された画像データ配置情報161を説明する図である。
本実施形態によるメモリ12及びメモリ13は、図11に示す画像データ配置情報161に基づいて、第1の実施形態と同様に、図2に示す1024画素×1024ラインの画像データをそれぞれ図12、図13に示すように配置して格納する。
図12は、メモリ12に格納されたデータ例(配置された画像データ121)を示す図であり、図13は、メモリ13に格納されたデータ例(配置された画像データ131)を示す図である。
本実施形態のメモリ12及びメモリ13は、1ライン上で連続する4画素について、連続する4ライン分を1ブロックとして画像データを格納する。すなわち、この1ブロックは、4画素に4ラインを乗じた16画素分の画像データから構成される。
例えば、画像データのx座標の最下位ビットをa、y座標の最下位2ビットをbとすると、上記1ブロックの情報は図14のように示される。
従って、本実施形態の1024画素×1024ラインの画像データは、上記ブロックを横方向(x軸方向)に256ブロック分、縦方向(y軸方向)に256分、合計256×256=65536ブロック分に分割され、各ブロックを構成する画素のデータが図11に示されるように、メモリ12及びメモリ13に配置されて格納される。
本実施形態の固有アドレス対応情報格納手段15は、第1の実施形態と同様に、アクセスモード毎に、各ADAと各ADBの対応関係を示す固有アドレス対応情報151を格納する。
なお、後述するように、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、横方向に連続した2画素に対して一度にアクセスするモードでは固有アドレス対応情報151gが用いられ、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは固有アドレス対応情報151hが用いられ、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは固有アドレス対応情報151iが用いられる(図15参照)。
(第2の実施形態の動作)
(横方向のアクセスモード)
まず、本実施形態によるメモリアクセス制御装置10において、水平方向(横方向)に連続した2画素に対して一度にアクセスするモードが選択された場合に、メモリアクセス制御手段11が、横方向に連続した、メモリ12及びメモリ13に格納された画素に対して一度にアクセスする方法を、図11を参照して説明する。
ADAとADBを同じ値とすると、本実施形態によるメモリアクセス制御手段11は、メモリ12、メモリ13に格納された横方向に連続した4画素に対して一度にアクセスすることができる。
固有アドレス対応情報151aに基づき、例えば、ADA=ADB=0とすると、メモリアクセス制御手段11は、横方向に連続した、メモリ12に格納された画素(0,0)・画素(1,0)及びメモリ13に格納された画素(2,0)・画素(3,0)の4画素に対して一度にアクセスできる。
また、ADA=ADB=1とすると、メモリアクセス制御手段11は、横方向に連続した、メモリ13に格納された画素(0,1)・画素(1,1)及びメモリ12に格納された画素(2,1)、画素(3,1)の4画素に対して一度にアクセスできる。
ただし、ADA=ADB=0の場合、メモリ12には画素(0,0)・画素(1,0)のデータが格納されているのに対し、ADA=ADB=1の場合、メモリ12には上記画素(0,0)・画素(1,0)とX座標の異なる画素(2,1)・画素(3,1)のデータが格納されている。
同様に、ADA=ADB=0の場合、メモリ13には画素(2,0)・画素(3,0)のデータが格納されているのに対し、ADA=ADB=1の場合、メモリ13には上記画素(2,0)・画素(3,0)とX座標の異なる画素(0,1)・画素(1,1)のデータが格納されている。
また、ADA=ADB=2の場合、ADA=ADB=1と同様のデータ格納順(メモリ13に格納された画素(0,2)・画素(1,2)、メモリ12に格納された画素(2,2)・画素(3,2)の順)であり、ADA=ADB=3の場合は、ADA=ADB=0と同様のデータ格納頃(メモリ12に格納された画素(0,3)・画素(1,3)、メモリ13に格納された画素(2,3)・画素(3,3)の順)である。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図11のアドレス番号で定義する場合、図2に示す1024画素×1024ラインの画像データにおいて4画素に同一のアドレスを割り当てられ、1024×1024÷4=262144となることから、1≦k≦262144のもと、水平方向(横方向)に連続した2画素に対して一度にアクセスするモードでは、選択されたADA又は選択されたADBに対応してADA=ADB=(k−1)とされ(図15の固有アドレス対応情報151g)、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された横方向に連続した2画素に対して一度にアクセスできる。
(縦方向のアクセスモード)
次に、本実施形態によるメモリアクセス制御装置10において、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードが選択された場合に、メモリアクセス制御手段11が、縦方向に連続した、メモリ12及びメモリ13に格納された画素に対して一度にアクセスする方法を、図11を参照して説明する。
固有アドレス対応情報151bに基づき、例えば、ADA=0、ADB=1とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(0,0)・画素(1,0)及びメモリ13に格納された画素(0,1)・画素(1,1)にアクセスすることができるため、横方向に連続した2画素について、縦方向に連続した2ライン分のデータに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11においてADA=0に対応する最終のADAはADA=262140であり、上記1ブロック内に4アドレスが含まれることから、262140÷4=65535により、1≦l≦65536において、ADA=(4l−4)、ADB=ADA+1=(4l−4)+1=4l−3とすると(図15の固有アドレス対応情報151h)、メモリアクセス制御手段11は、ADA=0、ADB=1とした場合と同様に、横方向に連続した2画素について、縦方向に連続した2ライン分のデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151hに基づき、ADA=(4l−4)が選択されるとこれに対応するADB=(4l−3)が選択され、又は、ADB=(4l−3)が選択されるとこれに対応するADA=(4l−4)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2ライン分のデータに対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=3、ADB=2とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(0,3)・画素(1,3)及びメモリ13に格納された画素(0,2)・画素(1,2)に対してアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11においてADA=3に対応する最終のADAはADA=262143であり、1≦l≦65536において、ADA=(4l−1)、ADB=ADA−1=(4l−1)−1=4l−2とすると(図15の固有アドレス対応情報151h)、メモリアクセス制御手段11は、ADA=3、ADB=2とした場合と同様に、横方向に連続した2画素について、縦方向に連続した2ライン分のデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151hに基づき、ADA=(4l−1)が選択されるとこれに対応するADB=(4l−2)が選択され、又は、ADB=(4l−2)が選択されるとこれに対応するADA=(4l−1)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2ライン分のデータに対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=1、ADB=0とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(2,1)・画素(3,1)及びメモリ13に格納された画素(2,0)・画素(3,0)に対してアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11においてADA=1に対応する最終のADAはADA=262141であり、1≦l≦65536において、ADA=(4l−3)、ADB=ADA−1=(4l−3)−1=4l−4とすると(図15の固有アドレス対応情報151h)、メモリアクセス制御手段11は、ADA=1、ADB=0とした場合と同様に、横方向に連続した2画素について、縦方向に連続した2ライン分のデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151hに基づき、ADA=(4l−3)が選択されるとこれに対応するADB=(4l−4)が選択され、又は、ADB=(4l−3)が選択されるとこれに対応するADA=(4l−4)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2ライン分のデータに対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=2、ADB=3とすると、メモリアクセス制御手段11は、メモリ12に格納された画素(2,2)・画素(3,2)及びメモリ13に格納された画素(2,3)・画素(3,3)に対してアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11においてADA=2に対応する最終のADAはADA=262142であり、1≦l≦65536において、ADA=(4l−2)、ADB=ADA+1=(4l−2)+1=4l−1とすると(図15の固有アドレス対応情報151h)、メモリアクセス制御手段11は、ADA=2、ADB=3とした場合と同様に、横方向に連続した2画素について、縦方向に連続した2ライン分のデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151hに基づき、ADA=(4l−2)が選択されるとこれに対応するADB=(4l−1)が選択され、又は、ADB=(4l−1)が選択されるとこれに対応するADA=(4l−2)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に連続した2ライン分のデータに対して一度にアクセスできる。
以上で、2画素×2ラインのすべての組み合わせに一度にアクセスできることを示した。ただし、16画素分の画像データから構成される上記1ブロックの構成により、奇数ラインから始まる連続した2ラインのデータに一度にアクセスすることはできない。すなわち、上記1ブロック内の第2のラインから始まる連続した2ラインのデータに対するアクセスは、同一メモリの異なるアドレスへのアクセスになるため一度にアクセスできない。また、上記1ブロック内の第4のラインから始まる連続した2ラインのデータに対するアクセスは、上記ブロックをまたいでのアクセスになるため一度にアクセスできない。このことは、1≦m≦1024において、図11の第(4m−2)のライン及び第(4m)のラインから始まる連続した2ラインのデータに一度にアクセスできないことを示す。
ところで、動画像処理においては画像データに対して1ライン置きにアクセスしたい場合がある。そのような場合には、以下のようにすることですべての上記1ブロック内の1ライン置きの組み合わせのデータに対して一度にアクセスすることが可能である。
以下に、本実施形態によるメモリアクセス制御装置10において、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードが選択された場合に、メモリアクセス制御手段11が、縦方向に1ライン置きに、メモリ12及びメモリ13に格納された画素に対して一度にアクセスする方法を説明する。
固有アドレス対応情報151cに基づき、ADA=0、ADB=2とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(0,0)・画素(1,0)及びメモリ13に格納された画素(0,2)・画素(1,2)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11において、1≦l≦65536の条件のもと、ADA=(4l−4)、ADB=ADA+2=(4l−4)+2=4l−2とすると(図15の固有アドレス対応情報151i)、メモリアクセス制御手段11は、ADA=0、ADB=2とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151iに基づき、ADA=(4l−4)が選択されるとこれに対応するADB=(4l−2)が選択され、又は、ADB=(4l−2)が選択されるとこれに対応するADA=(4l−4)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=3、ADB=1とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(0,3)・画素(1,3)及びメモリ13に格納された画素(0,1)・画素(1,1)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11において、1≦l≦65536の条件のもと、ADA=(4l−1)、ADB=ADA−2=(4l−1)−2=4l−3とすると(図15の固有アドレス対応情報151i)、メモリアクセス制御手段11は、ADA=3、ADB=1とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151iに基づき、ADA=(4l−1)が選択されるとこれに対応するADB=(4l−3)が選択され、又は、ADB=(4l−3)が選択されるとこれに対応するADA=(4l−1)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=2、ADB=0とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(2,2)・画素(3,2)及びメモリ13に格納された画素(2,0)・画素(3,0)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11において、1≦l≦65536の条件のもと、ADA=(4l−2)、ADB=ADA−2=(4l−2)−2=4l−4とすると(図15の固有アドレス対応情報151i)、メモリアクセス制御手段11は、ADA=2、ADB=0とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151iに基づき、ADA=(4l−2)が選択されるとこれに対応するADB=(4l−4)が選択され、又は、ADB=(4l−4)が選択されるとこれに対応するADA=(4l−2)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
また、ADA及びADBをアドレスの下位2ビットで定義する場合において、同様に、ADA=1、ADB=3とすると、メモリアクセス制御手段11は、1ライン置きの、メモリ12に格納された画素(2,1)・画素(3,1)及びメモリ13に格納された画素(2,3)・画素(3,3)の2ラインに対して一度にアクセスすることができる。
なお、ADA及びADBをアドレスの下位2ビットで定義せず、図3のアドレス番号で定義する場合、図11において、1≦l≦65536の条件のもと、ADA=(4l−3)、ADB=ADA+2=(4l−3)+2=4l−1とすると(図15の固有アドレス対応情報151i)、メモリアクセス制御手段11は、ADA=1、ADB=3とした場合と同様に、縦方向に1ライン置きの2ラインのデータに対して一度にアクセスすることができる。
すなわち、図2に示す1024画素×1024ラインの画像データにおいて、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードでは、固有アドレス対応情報151iに基づき、ADA=(4l−3)が選択されるとこれに対応するADB=(4l−1)が選択され、又は、ADB=(4l−1)が選択されるとこれに対応するADA=(4l−3)が選択され、メモリアクセス制御手段11は、メモリ12及びメモリ13の選択されたアドレスに格納された縦方向に1ライン置きの2画素に対して一度にアクセスできる。
以上で、上記1ブロック内の1ライン置きの2画素×2ラインのすべての組み合わせに対して一度にアクセスできることを示した。ただし、上記1ブロック内の2ライン目および3ライン目から始まる1ライン置きの2ラインのデータに対して一度にアクセスすることはできない。すなわち、上記1ブロック内の第3及び第4のラインから始まる1ライン置きの2ラインのデータに対するアクセスは、上記ブロックをまたいでのアクセスになるため一度にアクセスできない。このことは、1≦m≦1024において、図11の第(4m−1)のライン及び第(4m)のラインから始まる1ライン置きの2ラインのデータに一度にアクセスできないことを示す。
(第2の実施形態の効果)
本実施形態によれば、メモリ12及びメモリ13のメモリ1個あたりのバス幅を、第1の実施形態における8ビットから16ビットに増加させても、メモリの1つのアドレスに、画像データを構成する画素のデータを横に連続する複数画素を格納することにより、第1の形態と同様の効果を奏することが可能である。
(第3の実施形態)
本実施形態は、1ブロックの構成を、第1の実施形態における2×4から2×2にしたものである。以下、第1の実施形態と異なる点を中心に説明する。
(第3の実施形態の構成)
図16は、本実施形態による画像データ配置情報161を説明する図である。
本実施形態によるメモリ12及びメモリ13は、図16に示す画像データ配置情報161に基づいて、第1の実施形態と同様に、図2に示す1024画素×1024ラインの画像データをそれぞれ図17、図18に示すように配置して格納する。
図17は、メモリ12に格納されたデータ例(配置された画像データ121)を示す図であり、図18は、メモリ13に格納されたデータ例(配置された画像データ131)を示す図である。
なお、画像データのx座標の最下位ビットをa、y座標の最下位2ビットをbとすると、上記1ブロックの情報は図19のように示される。
また、本実施形態による固有アドレス対応情報151は、第1の実施形態による固有アドレス対応情報151のうち、0≦ADA≦1、0≦ADB≦1において、横方向に連続した2画素に対して一度にアクセスするモード(図50の固有アドレス対応情報151a、d参照)及び垂直方向(縦方向)に連続した2画素に対して一度にアクセスするモード(図50の固有アドレス対応情報151b、e参照)に対応する部分である。
(第3の実施形態の動作)
本実施形態によるメモリアクセス制御手段11は、第1の実施形態と同様に、アクセスモード選択手段14によって選択されたアクセスモード、画像データ配置情報161、及び当該アクセスモード用の固有アドレス対応情報151に基づいて、メモリ12及びメモリ13に格納された画像データに対して同一のクロックサイクルでアクセスする。
(第3の実施形態の効果)
本実施形態によれば、垂直方向(縦方向)に1ライン置きの2画素に対して一度にアクセスするモードを選択することができないことを除いては、第1の実施形態と同様の効果を達成できる。
(第4の実施形態)
本実施形態は、第2の実施形態の変形例である。以下、第2の実施形態と異なる点を中心に説明する。
(第4の実施形態の構成)
図20は、本実施形態による画像データ配置情報161を説明する図である。
本実施形態によるメモリ12及びメモリ13は、図20に示す画像データ配置情報161に基づいて、第2の実施形態と同様に、図2に示す1024画素×1024ラインの画像データをそれぞれ図21、図22に示すように配置して格納する。
図21は、メモリ12に格納されたデータ例(配置された画像データ121)を示す図であり、図22は、メモリ13に格納されたデータ例(配置された画像データ131)を示す図である。
なお、画像データのx座標の最下位ビットをa、y座標の最下位2ビットをbとすると、上記1ブロックの情報は図23のように示される。
すなわち、本実施形態は、1ブロック内の1つのアドレスに格納する画素のデータを、第2の実施形態における横方向に連続する2画素から、縦方向に連続する2画素にしたものである。
また、本実施形態による固有アドレス対応情報151は、第2の実施形態による固有アドレス対応情報151と同様である。
(第4の実施形態の動作)
本実施形態によるメモリアクセス制御手段11は、第2の実施形態と同様に、アクセスモード選択手段14によって選択されたアクセスモード、画像データ配置情報161、及び当該アクセスモード用の固有アドレス対応情報151に基づいて、メモリ12及びメモリ13に格納された画像データに対して同一のクロックサイクルでアクセスする。
(第4の実施形態の効果)
本実施形態によれば、1ブロック内の1つのアドレスに格納する画素のデータを、第2の実施形態における横方向に連続する2画素から、縦方向に連続する2画素にしても、第2の形態と同様の効果を達成することが可能である。
(第5の実施形態)
本実施形態は、メモリ12及びメモリ13のメモリ1個あたりのバス幅を、第2の実施形態における16ビットから32ビットに増加させたものである。メモリ1個あたりのバス幅を32ビット、1画素を8ビットとすると、メモリ1個あたり1つのアドレスには4画素を格納することができる。以下、第2の実施形態と異なる点を中心に説明する。
(第5の実施形態の構成)
図24は、本実施形態による画像データ配置情報161を説明する図である。
本実施形態によるメモリ12及びメモリ13は、図24に示す画像データ配置情報161に基づいて、第2の実施形態と同様に、図2に示す1024画素×1024ラインの画像データをそれぞれ図25、図26に示すように配置して格納する。
図25は、メモリ12に格納されたデータ例(配置された画像データ121)を示す図であり、図26は、メモリ13に格納されたデータ例(配置された画像データ131)を示す図である。
なお、画像データのx座標の最下位ビットをa、y座標の最下位2ビットをbとすると、上記1ブロックの情報は図27のように示される。
すなわち、本実施形態は、1ブロック内の1つのアドレスに格納する画素のデータを、第2の実施形態における横方向に連続する2画素から、横方向に連続する2画素及び縦方向に連続する2画素にしたものである。
また、本実施形態による固有アドレス対応情報151は、第2の実施形態による固有アドレス対応情報151と同様である。
(第5の実施形態の動作)
本実施形態によるメモリアクセス制御手段11は、第2の実施形態と同様に、アクセスモード選択手段14によって選択されたアクセスモード、画像データ配置情報161、及び当該アクセスモード用の固有アドレス対応情報151に基づいて、メモリ12及びメモリ13に格納された画像データに対して同一のクロックサイクルでアクセスする。
(第5の実施形態の効果)
本実施形態によれば、メモリ12及びメモリ13のメモリ1個あたりのバス幅を、第2の実施形態における16ビットから32ビットに増加させ、1ブロック内の1つのアドレスに格納する画素のデータを、第2の実施形態における横方向に連続する2画素から、横方向に連続する2画素及び縦方向に連続する2画素にしても、第2の形態と同様の効果を達成することが可能である。
なお、上記各実施形態においては、1024画素×1024ラインの画像データの例について説明したが、本発明が適用される画像データの構成はこれに限定されない。本実施形態のメモリ12及びメモリ13は、1ライン上で横方向に連続する2画素について、縦方向に連続する4ライン分を1ブロック(2画素×4ライン)とすることによって、1ブロックが、2画素に4ラインを乗じた8画素分の画像データから構成される。従って、全画像データの構成は、当該ブロックによって割り当てが可能であれば、1024画素×1024ラインの画像データに限定されず、例えば、2048画素×2048ラインの画像データもよいし、4画素×4ラインの画像データ等でもよい。
また、本実施形態によるメモリ12及びメモリ13のメモリ1個あたりのバス幅を8ビット又は16ビット、当該メモリに格納された画像データの1画素を8ビットとしているが、当該バス幅はこれに限定されず、当該画像データの1画素も8ビットに限定されない。
以上、実施形態を参照して本発明を説明したが、本発明は、上記実施形態の構成や動作に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で問う業者が理解し得る様々な変更をすることができる。
この出願は、2006年7月18日に出願された日本出願特願2006−195192号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Claims (48)
- データを格納するメモリへのアクセスを制御するアクセス制御装置において、
複数グループの前記メモリを備え、
前記データを、前記複数グループのメモリに対するアクセスアドレスのうちの所定ビットで区別される前記複数グループのメモリの異なる領域に分けて格納し、
前記メモリに対するアクセスの同一のクロックサイクルにおいて、前記複数グルーブのメモリの前記異なる領域に格納した前記データへ同時にアクセスし、
前記複数グループのメモリに対するアクセスアドレスのうちの所定ビットを前記グループ毎に独立に制御し、
前記複数グループのメモリに対するアクセスアドレスのうち前記グループ毎に独立に制御する前記所定ビット以外のアクセスアドレスは前記複数グループに対して同一であることを特徴とするメモリアクセス制御装置。 - 前記データは、複数の単位データからなる1又は複数のブロックによって構成され、
前記アクセスアドレスのうち、前記複数グループに対して同一のアクセスアドレスによって前記データ内の前記ブロックが特定され、前記グループ毎に独立に制御する前記所定ビットによって前記ブロックを構成する各単位データが特定されることを特徴とする請求項1に記載のメモリアクセス制御装置。 - 前記データは2次元の単位データによって構成され、
水平方向に連続した2つの前記単位データに対して一度にアクセスするモードと、垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードと、垂直方向に1ライン置きの2つの前記単位データに対して一度にアクセスするモードとのうち少なくとも2モードを選択できることを特徴とする請求項1又は請求項4に記載のメモリアクセス制御装置。 - 前記データは、所定の構成によって前記複数グループに分割され、前記単位データ毎に格納されていることを特徴とする請求項5に記載のメモリアクセス制御装置。
- 前記アクセスアドレスは、前記複数グループに分割されて格納された前記単位データを前記モードに対応して特定することを特徴とする請求項6に記載のメモリアクセス制御装置。
- 前記メモリを第1及び第2の2つのグループによって構成し、
前記メモリに対するアクセスの同一のクロックサイクルにおいて、前記2つのグループのメモリの前記異なる領域に格納した前記データへ同時にアクセスすることを特徴とする請求項1、請求項4から請求項7のいずれか1項に記載のメモリアクセス制御装置。 - 前記ブロックは、水平方向に連続した2つの前記単位データによる構成と、垂直方向に連続した2つの前記単位データによる構成と、垂直方向に1ライン置きの2つの前記単位データによる構成とのうち、少なくとも2構成を満たす構成からなり、
2つの前記単位データは、それぞれ異なる前記グループのメモリの前記異なる領域に格納されることを特徴とする請求項8に記載のメモリアクセス制御装置。 - 前記ブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとすると、前記ブロックは0≦x≦1及び0≦y≦1の範囲で構成され、
座標(0、0)の前記単位データと座標(1、1)の前記単位データとが前記第1のグループに格納され、
座標(1、0)の前記単位データと座標(0、1)の前記単位データとが前記第2のグループに格納されることを特徴とする請求項8又は請求項9に記載のメモリアクセス制御装置。 - 各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御する前記所定ビットが1ビットであり、前記所定ビットで前記第1のグループに対応する値をα、前記第2のグループに対応する値をβとすると、0≦α≦1及び0≦β≦1において、
座標(0、0)の前記単位データが前記第1のグループのα=0に、座標(1、1)の前記単位データが前記第1のグループのα=1に格納され、
座標(1、0)の前記単位データが前記第2のグループのβ=0に、座標(0、1)の前記単位データが前記第2のグループのβ=1に格納されることを特徴とする請求項10に記載のメモリアクセス制御装置。 - 水平方向に連続した2つの前記単位データに対して一度にアクセス可能なモードの場合、前記第1及び第2のグループのα=βとなる各前記単位データに対して一度にアクセスし、
垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0においてα=β+1、あるいはαの値が0においてβ=α+1となる2つの前記単位データに対して一度にアクセスすることを特徴とする請求項11に記載のメモリアクセス制御装置。 - 前記ブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとすると、前記ブロックは0≦x≦3及び0≦y≦3の範囲で構成され、
座標(0、0)の前記単位データと座標(1、1)の前記単位データと座標(1、2)の前記単位データと座標(0、3)の前記単位データとが前記第1のグループに格納され、
座標(1、0)の前記単位データと座標(0、1)の前記単位データと座標(0、2)の前記単位データと座標(1、3)の前記単位データとが前記第2のグループに格納されることを特徴とする請求項8又は請求項9に記載のメモリアクセス制御装置。 - 各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御する前記所定ビットが2ビットであり、前記所定ビットで前記第1のグループに対応する値をα、前記第2のグループに対応する値をβとすると、0≦α≦3及び0≦β≦3において、
座標(0、0)の前記単位データが前記第1のグループのα=0に、座標(1、1)の前記単位データが前記第1のグループのα=1に、座標(1、2)の前記単位データが前記第1のグループのα=2に、座標(0、3)の前記単位データが前記第1のグループのα=3に格納され、
座標(1、0)の前記単位データが前記第2のグループのβ=0に、座標(0、1)の前記単位データが前記第2のグループのβ=1に、座標(0、2)の前記単位データが前記第2のグループのβ=2に、座標(1、3)の前記単位データが前記第2のグループのβ=3に格納されることを特徴とする請求項13に記載のメモリアクセス制御装置。 - 水平方向に連続した2つの前記単位データに対して一度にアクセス可能なモードの場合、前記第1及び第2のグループのα=βとなる各前記単位データに対して一度にアクセスし、
垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0又は2においてα=β+1、あるいはαの値が0又は2においてβ=α+1となる2つの前記単位データに対して一度にアクセスし、
垂直方向に1ライン置きの2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0又は1においてα=β+2、あるいはαの値が0又は1においてβ=α+2となる2つの前記単位データに対して一度にアクセスすることを特徴とする請求項14に記載のメモリアクセス制御装置。 - 前記メモリの1つのアドレスあたりの容量よりも前記単位データのデータ量が少ない場合に、前記1つのアドレスに、水平方向に連続した複数の前記単位データを配置するか、あるいは垂直方向に連続した複数の前記単位データを配置するか、あるいは水平及び垂直の双方向に複数の前記単位データを配置し、配置された複数の前記単位データを新たな単位データとすることを特徴とする請求項4から請求項15のいずれか1項に記載のメモリアクセス制御装置。
- 前記データは、2次元の単位データによって構成される画像データであり、前記単位データは、画素データであることを特徴とする請求項1、請求項4から請求項16のいずれか1項に記載のメモリアクセス制御装置。
- 前記複数グループは、同一のメモリ容量を備えることを特徴とする請求項1、請求項4から請求項17のいずれか1項に記載のメモリアクセス制御装置。
- データを格納するメモリへのアクセスを制御するメモリアクセス制御方法であって、
前記データを、複数グループを備える前記メモリに対するアクセスアドレスのうちの所定ビットで区別される前記メモリの異なる領域に分けて格納する格納手順と、
前記メモリに対するアクセスの同一のクロックサイクルにおいて、前記複数グループのメモリの前記異なる領域に格納した前記データへ同時にアクセスするアクセス手順とを備え、
前記メモリが第1及び第2の2つのグループによって構成される場合、
前記メモリに対するアクセスの同一のクロックサイクルにおいて、前記2つのグループのメモリの前記異なる領域に格納した前記データへ同時にアクセスし、
前記格納手順において、
前記データを構成する、複数の単位データからなる1又は複数のブロックを、水平方向に連続した2つの前記単位データによる構成と、垂直方向に連続した2つの前記単位データによる構成と、垂直方向に1ライン置きの2つの前記単位データによる構成とのうち、少なくとも2構成を満たす構成とし、
2つの前記単位データを、それぞれ異なる前記グループのメモリの前記異なる領域に格納することを特徴とするメモリアクセス制御方法。 - 前記アクセス手順において、前記複数グループのメモリに対するアクセスアドレスのうちの所定ビットを前記グループ毎に独立に制御することを特徴とする請求項19に記載のメモリアクセス制御方法。
- 前記アクセス手順において、前記アクセスアドレスのうち、前記複数グループに対して同一のアクセスアドレスによって、前記データを構成する、複数の単位データからなる1又は複数のブロックを特定し、前記グループ毎に独立に制御する前記所定ビットによって前記ブロックを構成する各単位データを特定することを特徴とする請求項20に記載のメモリアクセス制御方法。
- 前記データが2次元の単位データによって構成される場合、
水平方向に連続した2つの前記単位データに対して一度にアクセスするモードと、垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードと、垂直方向に1ライン置きの2つの前記単位データに対して一度にアクセスするモードとのうち少なくとも2モードを選択できることを特徴とする請求項19から請求項21のいずれか1項に記載のメモリアクセス制御方法、 - 前記アクセス手順において、前記アクセスアドレスによって、前記複数グループに分割されて格納された前記単位データを前記モードに対応して特定することを特徴とする請求項22に記載のメモリアクセス制御方法。
- 前記格納手順において、
前記データを構成する、複数の単位データからなる1又は複数のブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとして前記ブロックを0≦x≦1及び0≦y≦1の範囲で構成し、
座標(0、0)の前記単位データと座標(1、1)の前記単位データとを前記第1のグループに格納し、
座標(1、0)の前記単位データと座標(0、1)の前記単位データとを前記第2のグループに格納することを特徴とする請求項19に記載のメモリアクセス制御方法。 - 前記アクセス手順において、
各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御する前記所定ビットを1ビットとし、前記所定ビットで前記第1のグループに対応する値をα、前記第2のグループに対応する値をβとして、0≦α≦1及び0≦β≦1において、
前記格納手順において、
座標(0、0)の前記単位データを前記第1のグループのα=0に、座標(1、1)の前記単位データを前記第1のグループのα=1に格納し、
座標(1、0)の前記単位データを前記第2のグループのβ=0に、座標(0、1)の前記単位データを前記第2のグループのβ=1に格納することを特徴とする請求項26に記載のメモリアクセス制御方法。 - 前記アクセス手順において、
水平方向に連続した2つの前記単位データに対して一度にアクセス可能なモードの場合、前記第1及び第2のグループのα=βとなる各前記単位データに対して一度にアクセスし、
垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0においてα=β+1、あるいはαの値が0においてβ=α+1となる2つの前記単位データに対して一度にアクセスすることを特徴とする請求項27に記載のメモリアクセス制御方法。 - 前記格納手順において、
前記ブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとして前記ブロックを0≦x≦3及び0≦y≦3の範囲で構成し、
座標(0、0)の前記単位データと座標(1、1)の前記単位データと座標(1、2)の前記単位データと座標(0、3)の前記単位データとを前記第1のグループに格納し、
座標(1、0)の前記単位データと座標(0、1)の前記単位データと座標(0、2)の前記単位データと座標(1、3)の前記単位データとを前記第2のグループに格納することを特徴とする請求項19に記載のメモリアクセス制御方法。 - 前記アクセス手順において、
各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御する前記所定ビットを2ビットとし、前記所定ビットで前記第1のグループに対応する値をα、前記第2のグループに対応する値をβとして、0≦α≦3及び0≦β≦3において、
前記格納手順において、
座標(0、0)の前記単位データを前記第1のグループのα=0に、座標(1、1)の前記単位データを前記第1のグループのα=1に、座標(1、2)の前記単位データを前記第1のグループのα=2に、座標(0、3)の前記単位データを前記第1のグループのα=3に格納し、
座標(1、0)の前記単位データを前記第2のグループのβ=0に、座標(0、1)の前記単位データを前記第2のグループのβ=1に、座標(0、2)の前記単位データを前記第2のグループのβ=2に、座標(1、3)の前記単位データを前記第2のグループのβ=3に格納することを特徴とする請求項29に記載のメモリアクセス制御方法。 - 前記アクセス手順において、
水平方向に連続した2つの前記単位データに対して一度にアクセス可能なモードの場合、前記第1及び第2のグループのα=βとなる各前記単位データに対して一度にアクセスし、
垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0又は2においてα=β+1、あるいはαの値が0又は2においてβ=α+1となる2つの前記単位データに対して一度にアクセスし、
垂直方向に1ライン置きの2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0又は1においてα=β+2、あるいはαの値が0又は1においてβ=α+2となる2つの前記単位データに対して一度にアクセスすることを特徴とする請求項30に記載のメモリアクセス制御方法。 - 前記格納手順において、
前記メモリの1つのアドレスあたりの容量よりも前記単位データのデータ量が少ない場合に、前記1つのアドレスに、水平方向に連続した複数の前記単位データを配置するか、あるいは垂直方向に連続した複数の前記単位データを配置するか、あるいは水平及び垂直の双方向に複数の前記単位データを配置し、配置された複数の前記単位データを新たな単位データとすることを特徴とする請求項22、請求項23、請求項26から請求項31のいずれか1項に記載のメモリアクセス制御方法。 - 前記格納手順において、
前記データとして、2次元の単位データによって構成される画像データを用い、前記単位データとして、画素データを格納することを特徴とする請求項19から請求項23、請求項26から請求項32のいずれか1項に記載のメモリアクセス制御方法。 - データを格納するメモリへのアクセスを制御するメモリアクセス制御装置におけるデータ格納方法であって、
前記データを、複数グループを備える前記メモリに対するアクセスアドレスのうちの所定ビットで区別される前記メモリの異なる領域に分けて格納する格納手順を備え、
前記メモリが第1及び第2の2つのグループによって構成され、前記データが2次元の単位データによって構成される場合、
前記格納手順において、
前記データを構成する、複数の単位データからなる1又は複数のブロックを、水平方向に連続した2つの前記単位データによる構成と、垂直方向に連続した2つの前記単位データによる構成と、垂直方向に1ライン置きの2つの前記単位データによる構成とのうち、少なくとも2構成を満たす構成とし、
2つの前記単位データを、それぞれ異なる前記グループのメモリの前記異なる領域に格納し、
前記格納手順において、
前記データを構成する、複数の単位データからなる1又は複数のブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとして前記ブロックを0≦x≦1及び0≦y≦1の範囲で構成し、
座標(0、0)の前記単位データと座標(1、1)の前記単位データとを前記第1のグループに格納し、
座標(1、0)の前記単位データと座標(0、1)の前記単位データとを前記第2のグループに格納することを特徴とするデータ格納方法。 - 各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御される前記所定ビットが1ビットとされ、前記所定ビットで前記第1のグループに対応する値がα、前記第2のグループに対応する値がβとされ、0≦α≦1及び0≦β≦1の場合、
前記格納手順において、
座標(0、0)の前記単位データを前記第1のグループのα=0に、座標(1、1)の前記単位データを前記第1のグループのα=1に格納し、
座標(1、0)の前記単位データを前記第2のグループのβ=0に、座標(0、1)の前記単位データを前記第2のグループのβ=1に格納することを特徴とする請求項34に記載のデータ格納方法。 - 前記格納手順において、
前記ブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとして前記ブロックを0≦x≦3及び0≦y≦3の範囲で構成し、
座標(0、0)の前記単位データと座標(1、1)の前記単位データと座標(1、2)の前記単位データと座標(0、3)の前記単位データとを前記第1のグループに格納し、
座標(1、0)の前記単位データと座標(0、1)の前記単位データと座標(0、2)の前記単位データと座標(1、3)の前記単位データとを前記第2のグループに格納することを特徴とする請求項34に記載のデータ格納方法。 - 各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御する前記所定ビットが2ビットとされ、前記所定ビットで前記第1のグループに対応する値がα、前記第2のグループに対応する値がβとされ、0≦α≦3及び0≦β≦3の場合、
前記格納手順において、
座標(0、0)の前記単位データを前記第1のグループのα=0に、座標(1、1)の前記単位データを前記第1のグループのα=1に、座標(1、2)の前記単位データを前記第1のグループのα=2に、座標(0、3)の前記単位データを前記第1のグループのα=3に格納し、
座標(1、0)の前記単位データを前記第2のグループのβ=0に、座標(0、1)の前記単位データを前記第2のグループのβ=1に、座標(0、2)の前記単位データを前記第2のグループのβ=2に、座標(1、3)の前記単位データを前記第2のグループのβ=3に格納することを特徴とする請求項38に記載のデータ格納方法。 - 前記格納手順において、
前記メモリの1つのアドレスあたりの容量よりも前記単位データのデータ量が少ない場合に、前記1つのアドレスに、水平方向に連続した複数の前記単位データを配置するか、あるいは垂直方向に連続した複数の前記単位データを配置するか、あるいは水平及び垂直の双方向に複数の前記単位データを配置し、配置された複数の前記単位データを新たな単位データとすることを特徴とする請求項34、請求項37から請求項39のいずれか1項に記載のデータ格納方法。 - 前記格納手順において、
前記データとして、2次元の単位データによって構成される画像データを用い、前記単位データとして、画素データを格納することを特徴とする請求項34、請求項37から請求項40のいずれか1項に記載のデータ格納方法。 - データを格納するメモリへのアクセスを制御するコンピュータ装置上で実行されるメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体であって、
前記メモリアクセス制御プログラムは、
前記データを、複数グループを備える前記メモリに対するアクセスアドレスのうちの所定ビットで区別される前記メモリの異なる領域に分けて格納する格納機能と、
前記メモリに対するアクセスの同一のクロックサイクルにおいて、前記複数グループのメモリの前記異なる領域に格納した前記データへ同時にアクセスするアクセス機能とを前記コンピュータ装置に実行させ、
前記メモリが第1及び第2の2つのグループによって構成される場合、
前記アクセス機能において、
前記メモリに対するアクセスの同一のクロックサイクルにおいて、前記2つのグループのメモリの前記異なる領域に格納した前記データへ同時にアクセスし、
前記格納機能において、
前記データを構成する、複数の単位データからなる1又は複数のブロックを、水平方向に連続した2つの前記単位データによる構成と、垂直方向に連続した2つの前記単位データによる構成と、垂直方向に1ライン置きの2つの前記単位データによる構成とのうち、少なくとも2構成を満たす構成とし、
2つの前記単位データを、それぞれ異なる前記グループのメモリの前記異なる領域に格納するメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記アクセス機能において、前記複数グループのメモリに対するアクセスアドレスのうちの所定ビットを前記グループ毎に独立に制御することを特徴とする請求項42に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。
- 前記アクセス機能において、前記アクセスアドレスのうち、前記複数グループに対して同一のアクセスアドレスによって、前記データを構成する、複数の単位データからなる1又は複数のブロックを特定し、前記グループ毎に独立に制御する前記所定ビットによって前記ブロックを構成する各単位データを特定することを特徴とする請求項43に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。
- 前記データが2次元の単位データによって構成される場合、
水平方向に連続した2つの前記単位データに対して一度にアクセスするモードと、垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードと、垂直方向に1ライン置きの2つの前記単位データに対して一度にアクセスするモードとのうち少なくとも2モードを選択できることを特徴とする請求項42から請求項44のいずれか1項に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記アクセス機能において、前記アクセスアドレスによって、前記複数グループに分割されて格納された前記単位データを前記モードに対応して特定すること特徴とする請求項45に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。
- 前記格納機能において、
前記データを構成する、複数の単位データからなる1又は複数のブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとして前記ブロックを0≦x≦1及び0≦y≦1の範囲で構成し、
座標(0、0)の前記単位データと座標(1、1)の前記単位データとを前記第1のグループに格納し、
座標(1、0)の前記単位データと座標(0、1)の前記単位データとを前記第2のグループに格納することを特徴とする請求項42に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記アクセス機能において、
各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御する前記所定ビットを1ビットとし、前記所定ビットで前記第1のグループに対応する値をα、前記第2のグループに対応する値をβとして、0≦α≦1及び0≦β≦1において、
前記格納機能において、
座標(0、0)の前記単位データを前記第1のグループのα=0に、座標(1、1)の前記単位データを前記第1のグループのα=1に格納し、
座標(1、0)の前記単位データを前記第2のグループのβ=0に、座標(0、1)の前記単位データを前記第2のグループのβ=1に格納することを特徴とする請求項49に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記アクセス機能において、
水平方向に連続した2つの前記単位データに対して一度にアクセス可能なモードの場合、前記第1及び第2のグループのα=βとなる各前記単位データに対して一度にアクセスし、
垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0においてα=β+1、あるいはαの値が0においてβ=α+1となる2つの前記単位データに対して一度にアクセスすることを特徴とする請求項50に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記格納機能において、
前記ブロックを構成する各前記単位データに対する前記アクセスアドレスのうち、前記ブロック内における各前記単位データのX座標に対応する値をx、Y座標に対応する値をyとして前記ブロックを0≦x≦3及び0≦y≦3の範囲で構成し、
座標(0、0)の前記単位データと座標(1、1)の前記単位データと座標(1、2)の前記単位データと座標(0、3)の前記単位データとを前記第1のグループに格納し、
座標(1、0)の前記単位データと座標(0、1)の前記単位データと座標(0、2)の前記単位データと座標(1、3)の前記単位データとを前記第2のグループに格納することを特徴とする請求項42に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記アクセス機能において、
各前記単位データに対する前記アクセスアドレスのうち、前記グループ毎で独立に制御する前記所定ビットを2ビットとし、前記所定ビットで前記第1のグループに対応する値をα、前記第2のグループに対応する値をβとして、0≦α≦3及び0≦β≦3において、
前記格納機能において、
座標(0、0)の前記単位データを前記第1のグループのα=0に、座標(1、1)の前記単位データを前記第1のグループのα=1に、座標(1、2)の前記単位データを前記第1のグループのα=2に、座標(0、3)の前記単位データを前記第1のグループのα=3に格納し、
座標(1、0)の前記単位データを前記第2のグループのβ=0に、座標(0、1)の前記単位データを前記第2のグループのβ=1に、座標(0、2)の前記単位データを前記第2のグループのβ=2に、座標(1、3)の前記単位データを前記第2のグループのβ=3に格納することを特徴とする請求項52に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記アクセス機能において、
水平方向に連続した2つの前記単位データに対して一度にアクセス可能なモードの場合、前記第1及び第2のグループのα=βとなる各前記単位データに対して一度にアクセスし、
垂直方向に連続した2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0又は2においてα=β+1、あるいはαの値が0又は2においてβ=α+1となる2つの前記単位データに対して一度にアクセスし、
垂直方向に1ライン置きの2つの前記単位データに対して一度にアクセスするモードの場合、βの値が0又は1においてα=β+2、あるいはαの値が0又は1においてβ=α+2となる2つの前記単位データに対して一度にアクセスすることを特徴とする請求項53に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記格納機能において、
前記メモリの1つのアドレスあたりの容量よりも前記単位データのデータ量が少ない場合に、前記1つのアドレスに、水平方向に連続した複数の前記単位データを配置するか、あるいは垂直方向に連続した複数の前記単位データを配置するか、あるいは水平及び垂直の双方向に複数の前記単位データを配置し、配置された複数の前記単位データを新たな単位データとすることを特徴とする請求項45、請求項46、請求項49から請求項54のいずれか1項に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。 - 前記格納機能において、
前記データとして、2次元の単位データによって構成される画像データを用い、前記単位データとして、画素データを格納することを特徴とする請求項42から請求項46、請求項49から請求項55のいずれか1項に記載のメモリアクセス制御プログラムを格納するコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008525922A JP4868298B2 (ja) | 2006-07-20 | 2007-07-18 | メモリアクセス制御装置、メモリアクセス制御方法、データ格納方法及びメモリアクセス制御プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006197646 | 2006-07-20 | ||
JP2006197646 | 2006-07-20 | ||
PCT/JP2007/064535 WO2008010599A1 (en) | 2006-07-20 | 2007-07-18 | Memory access control device, memory access control method, data storage method, and memory access control program |
JP2008525922A JP4868298B2 (ja) | 2006-07-20 | 2007-07-18 | メモリアクセス制御装置、メモリアクセス制御方法、データ格納方法及びメモリアクセス制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008010599A1 JPWO2008010599A1 (ja) | 2009-12-17 |
JP4868298B2 true JP4868298B2 (ja) | 2012-02-01 |
Family
ID=38956926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008525922A Expired - Fee Related JP4868298B2 (ja) | 2006-07-20 | 2007-07-18 | メモリアクセス制御装置、メモリアクセス制御方法、データ格納方法及びメモリアクセス制御プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US8751723B2 (ja) |
EP (1) | EP2045722A4 (ja) |
JP (1) | JP4868298B2 (ja) |
CN (1) | CN101416167B (ja) |
WO (1) | WO2008010599A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5292934B2 (ja) * | 2008-06-11 | 2013-09-18 | ソニー株式会社 | メモリ制御装置および情報処理装置 |
JP5605225B2 (ja) * | 2008-10-10 | 2014-10-15 | 日本電気株式会社 | メモリ制御装置、メモリマッピング方法、及び、プログラム |
US9519947B2 (en) * | 2009-09-25 | 2016-12-13 | Nvidia Corporation | Architecture and instructions for accessing multi-dimensional formatted surface memory |
JP2011175450A (ja) * | 2010-02-24 | 2011-09-08 | Renesas Electronics Corp | メモリアクセスシステムおよびメモリアクセス制御方法 |
CN114385083B (zh) * | 2022-01-07 | 2023-05-23 | 烽火通信科技股份有限公司 | 一种数据帧统计采集装置及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10117318A (ja) * | 1996-08-30 | 1998-05-06 | Matsushita Electric Ind Co Ltd | 画像メモリ格納システムおよびブロック制御画像処理システムの方法 |
JP2001243771A (ja) * | 2000-02-28 | 2001-09-07 | Internatl Business Mach Corp <Ibm> | メモリ・チップ及びデータ記憶方法 |
JP2002222117A (ja) * | 2000-11-22 | 2002-08-09 | Seiko Epson Corp | メモリの使用方法、2次元データ・アクセス・メモリ、及び演算処理装置 |
US20040100472A1 (en) * | 2002-11-27 | 2004-05-27 | Lsi Logic Corporation | Method and/or apparatus for video data storage |
JP2005222530A (ja) * | 2004-01-05 | 2005-08-18 | Sony Corp | データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム |
JP2006134347A (ja) * | 1995-05-02 | 2006-05-25 | Renesas Technology Corp | マイクロコンピュータ |
JP2006139805A (ja) * | 1998-02-25 | 2006-06-01 | Lexar Media Inc | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5794017A (en) * | 1995-02-06 | 1998-08-11 | International Business Machines Corporation | Method and system of updating graphics memory in a graphics display system through multiple address transferring of pixel data |
US5867726A (en) * | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
US6757800B1 (en) * | 1995-07-31 | 2004-06-29 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
JP3511436B2 (ja) | 1996-07-05 | 2004-03-29 | 株式会社リコー | プリンタ装置 |
JPH10210251A (ja) | 1997-01-20 | 1998-08-07 | Toshiba Corp | 画像メモリアクセス方法、画像形成装置、画像形成記憶装置、アドレス発生方法、及びアドレス発生装置 |
US5982395A (en) * | 1997-12-31 | 1999-11-09 | Cognex Corporation | Method and apparatus for parallel addressing of an image processing memory |
CN1378148A (zh) * | 2001-03-30 | 2002-11-06 | 深圳市中兴集成电路设计有限责任公司 | 一种直接存储器访问控制器及其控制方法 |
JP2006197646A (ja) | 2002-04-04 | 2006-07-27 | Toshiba Electronic Engineering Corp | 入力装置及びこれを搭載した表示装置 |
US7085172B2 (en) * | 2004-01-05 | 2006-08-01 | Sony Corporation | Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program |
EP1736883A4 (en) * | 2004-04-15 | 2008-12-10 | Panasonic Corp | BURST MEMORY ACCESS PROCEDURES ON A RECTANGULAR AREA |
-
2007
- 2007-07-18 EP EP07768464A patent/EP2045722A4/en not_active Withdrawn
- 2007-07-18 WO PCT/JP2007/064535 patent/WO2008010599A1/ja active Application Filing
- 2007-07-18 CN CN2007800119095A patent/CN101416167B/zh not_active Expired - Fee Related
- 2007-07-18 JP JP2008525922A patent/JP4868298B2/ja not_active Expired - Fee Related
- 2007-07-18 US US12/224,939 patent/US8751723B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006134347A (ja) * | 1995-05-02 | 2006-05-25 | Renesas Technology Corp | マイクロコンピュータ |
JPH10117318A (ja) * | 1996-08-30 | 1998-05-06 | Matsushita Electric Ind Co Ltd | 画像メモリ格納システムおよびブロック制御画像処理システムの方法 |
JP2006139805A (ja) * | 1998-02-25 | 2006-06-01 | Lexar Media Inc | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 |
JP2001243771A (ja) * | 2000-02-28 | 2001-09-07 | Internatl Business Mach Corp <Ibm> | メモリ・チップ及びデータ記憶方法 |
JP2002222117A (ja) * | 2000-11-22 | 2002-08-09 | Seiko Epson Corp | メモリの使用方法、2次元データ・アクセス・メモリ、及び演算処理装置 |
US20040100472A1 (en) * | 2002-11-27 | 2004-05-27 | Lsi Logic Corporation | Method and/or apparatus for video data storage |
JP2005222530A (ja) * | 2004-01-05 | 2005-08-18 | Sony Corp | データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100030993A1 (en) | 2010-02-04 |
WO2008010599A1 (en) | 2008-01-24 |
CN101416167B (zh) | 2012-07-25 |
JPWO2008010599A1 (ja) | 2009-12-17 |
US8751723B2 (en) | 2014-06-10 |
CN101416167A (zh) | 2009-04-22 |
EP2045722A4 (en) | 2010-07-21 |
EP2045722A1 (en) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4868298B2 (ja) | メモリアクセス制御装置、メモリアクセス制御方法、データ格納方法及びメモリアクセス制御プログラム | |
US7554874B2 (en) | Method and apparatus for mapping memory | |
JP3203124B2 (ja) | 画像データ値記憶方式 | |
US8305383B2 (en) | Data access apparatus and method | |
JP2008048258A (ja) | 画像データ記憶装置、および記憶方法 | |
US8937624B2 (en) | Method and apparatus for translating memory access address | |
KR100528560B1 (ko) | 계층적 코딩에 이용하기 위한 저장 장치 및 기록 및 판독 방법 | |
JP2007172254A (ja) | メモリ制御回路 | |
JP2011175450A (ja) | メモリアクセスシステムおよびメモリアクセス制御方法 | |
JP2007053536A (ja) | 画像信号の符号化処理装置におけるラスタ/ブロック変換用のバッファメモリシステム | |
JP5298625B2 (ja) | メモリ方法およびメモリ装置 | |
JP2008278442A (ja) | 画像処理装置 | |
JPS62205452A (ja) | 記憶制御方式 | |
US20090327571A1 (en) | Command processing apparatus, method and integrated circuit apparatus | |
JP2010087804A (ja) | 画像処理装置 | |
JP4640272B2 (ja) | ポート制御装置 | |
US20140164691A1 (en) | Memory architecture for display device and control method thereof | |
JP2007128233A (ja) | 画像用メモリ回路 | |
JP5605225B2 (ja) | メモリ制御装置、メモリマッピング方法、及び、プログラム | |
JP2006050415A (ja) | 画像処理装置および閾値データ記憶方法 | |
US20100053184A1 (en) | Apparatus and method for processing image data | |
JP2005094404A (ja) | 画像処理装置 | |
JP2008217515A (ja) | 画像データアクセス方法 | |
JP2005094403A (ja) | 画像処理装置 | |
JPH08115172A (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: 20111021 |
|
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: 20111103 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4868298 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |