JPH0981720A - イメージ処理装置 - Google Patents

イメージ処理装置

Info

Publication number
JPH0981720A
JPH0981720A JP7232740A JP23274095A JPH0981720A JP H0981720 A JPH0981720 A JP H0981720A JP 7232740 A JP7232740 A JP 7232740A JP 23274095 A JP23274095 A JP 23274095A JP H0981720 A JPH0981720 A JP H0981720A
Authority
JP
Japan
Prior art keywords
address
image data
image processing
virtual
dma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7232740A
Other languages
English (en)
Inventor
Minoru Mizobuchi
実 溝渕
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7232740A priority Critical patent/JPH0981720A/ja
Publication of JPH0981720A publication Critical patent/JPH0981720A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】仮想記憶システムにおけるイメージ処理を、イ
メージデータのDMA転送により高速に行うことができ
るようにする。 【解決手段】FIFOバッファ17,18、DMAC1
9及びアドレス計算回路20からなる系と、FIFOバ
ッファ21,22、DMAC23及びアドレス計算回路
24からなる系の一方を入力用の、他方を出力用のそれ
ぞれイメージデータのDMA転送に用いる。アドレス計
算回路20,24はCPU11のセットしたパラメータ
に従ってイメージデータ領域内のデータの論理アドレス
を計算する。DMAC19,23は、この論理アドレス
とイメージデータ領域のオフセットアドレスとから仮想
アドレスを生成して主記憶メモリ13とFIFOバッフ
ァ17,18,21,22の間のDMA転送を行う。こ
のDMA転送で入力されたイメージデータはイメージ処
理回路26で処理されて出力側の系に送られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は仮想記憶システムに
おけるイメージデータのイメージ処理に好適なイメージ
処理装置に関する。
【0002】
【従来の技術】一般にイメージデータは膨大なデータ量
となる。そこで、イメージデータのイメージ処理を行う
場合には、強力なCPUパワーを必要とするソフトウェ
ア処理よりも、専用LSIで処理することが多い。この
場合、システムの拡張バスが使用されるのが一般的であ
る。
【0003】仮想記憶システムにおいて、上述のような
専用LSIにより構成されるイメージ処理回路を用いて
イメージ処理をさせる場合、従来はCPUアクセスによ
りイメージデータ転送を行っていた。
【0004】図9は、このようなシステムの構成例を示
すもので、CPU1はMMU(メモリマネージメントユ
ニット)2を介してシステムのメインバス5に接続され
ている。このメインバス5には、主記憶メモリ3も接続
されている。CPU1は、主記憶メモリ3をアクセスす
る場合には仮想アドレスをMMU2に出力する。MMU
2は、CPU1からの仮想アドレスを物理アドレスに変
換してメインバス5を介して主記憶メモリ3に送ること
で、CPU1の仮想アドレスを用いた主記憶メモリアク
セスを可能とする。
【0005】メインバス5には、IOMMU(拡張バス
用MMU)4を介して拡張バス6が接続されている。こ
の拡張バス6には、入出力ドライバ7,8を介して上述
のような専用LSIにより構成される圧縮・伸張機能を
有するイメージ処理回路9が接続されている。
【0006】CPU1は、仮想アドレスを用い、MMU
2を介して主記憶メモリ3上の(圧縮または伸張処理の
対象となる)イメージデータをアクセスし、メインバス
5、IOMMU4、そして拡張バス6を介してイメージ
処理回路9に転送する。ここで、圧縮処理の対象となる
イメージデータの場合には、例えば入出力ドライバ7を
介してイメージ処理回路9に送られ、伸張処理の対象と
なるイメージデータの場合には、例えば入出力ドライバ
8を介してイメージ処理回路9に送られる。
【0007】イメージ処理回路9により圧縮または伸張
されたイメージデータは、入出力ドライバ8または入出
力ドライバ7、拡張バス6、そしてIOMMU4を介し
てメインバス5に送出される。
【0008】CPU1は、仮想アドレスを用い、MMU
2を介して主記憶メモリ3をアクセスし、イメージ処理
回路9により処理されたメインバス5上のイメージデー
タを当該主記憶メモリ3に格納する。
【0009】このように従来は、専用LSIにより構成
されるイメージ処理回路を用いてイメージ処理をさせる
場合、CPUアクセスによりイメージデータの転送を行
っていた。この場合、イメージデータの高速転送ができ
ず、十分な処理性能が得られないという問題があった。
【0010】
【発明が解決しようとする課題】上記したように従来の
イメージ処理システムでは、CPUアクセスによりイメ
ージデータ転送を行っていたため、処理に時間がかかる
という問題があった。本発明は上記事情を考慮してなさ
れたものでその目的は、仮想記憶システムにおけるイメ
ージ処理を、イメージデータのDMA転送により高速に
行うことができるイメージ処理装置を提供することにあ
る。
【0011】
【課題を解決するための手段】上記の課題を解決するた
めに本発明は、仮想アドレスを物理アドレスに変換する
ことで主記憶メモリがアクセスされる仮想記憶システム
に適用されるイメージ処理装置に、仮想アドレス空間上
に確保されたイメージデータ領域内のデータの論理アド
レスを計算するアドレス計算手段と、このアドレス計算
手段で論理アドレスが計算される毎に、その論理アドレ
ス及び対応するイメージデータ領域の先頭仮想アドレス
(オフセットアドレス)をもとに仮想アドレスを生成
し、その仮想アドレスを用いて主記憶メモリとの間のD
MA(ダイレクトメモリアクセス)転送を制御するDM
A制御手段(DMAC)と、このDMA制御手段の制御
によるDMA転送を連続的に行うためのバッファ手段と
を2系統設けると共に、この2系統の一方の各手段を入
力用のイメージデータのDMA転送に、他方の各手段を
出力用のイメージデータのDMA転送に切り替え使用す
る制御手段と、入力側の系統でのDMA転送で入力され
たイメージデータのイメージ処理を行うイメージ処理手
段とを設けたことを特徴とするものである。
【0012】また本発明は、アドレス計算手段でのアド
レス計算を、システム全体を制御するCPUによりセッ
トされるアドレス計算パラメータに従って繰り返すこと
をも特徴とする。
【0013】上記の構成においては、仮想記憶システム
でのイメージデータの転送がDMA転送で行え、しかも
入力側と出力側の2系統で並行して行える。これによ
り、イメージデータ処理の高速化が可能となる。
【0014】
【発明の実施の形態】以下、本発明の一実施形態につい
て図面を参照して詳細に説明する。図1は、本発明の一
実施形態に係るイメージ処理装置の全体構成を示すブロ
ック図である。なお、図1中の破線の矢印は制御の方向
を示す。
【0015】図1に示すイメージ処理装置は仮想記憶シ
ステムに適用されるもので、CPU11と、メモリマネ
ージメントユニット(以下、MMUと称する)12と、
主記憶メモリ13と、拡張バス用MMU(以下、IOM
MUと称する)14と、メインバス15と、拡張バス1
6と、DMA転送用FIFOバッファ(先入れ先出し方
式のバッファ)17,18,21,22と、DMA(ダ
イレクトメモリアクセス)コントローラ(以下、DMA
Cと称する)19,23と、アドレス計算回路20,2
4と、データ変換回路25と、イメージ処理回路26
と、少色化回路27と、8→32bit 変換回路28と、
制御回路29とから構成される。
【0016】CPU11は、イメージ処理のためのパラ
メータセット、MMU12とIOMMU14に対するマ
ッピングテーブル(ここでは、仮想アドレスを物理アド
レスに変換するためのページテーブル)のセット、仮想
アドレスを用いた主記憶メモリ13のアクセス、及び装
置全体の制御を司る。
【0017】MMU12は、CPU11によりセットさ
れたマッピングテーブルに従って、CPU11からの仮
想アドレスを物理アドレスに変換するアドレス変換機能
を有する。
【0018】主記憶メモリ13は、オペレーティングシ
ステム(OS)、各種ユーザプログラム及びイメージデ
ータ等を記憶するのに用いられる。IOMMU14は、
CPU11によりセットされたマッピングテーブルに従
って、拡張バス16上の仮想アドレスを物理アドレスに
変換するアドレス変換機能を有する。
【0019】メインバス15は、MMU12及びIOM
MU14により出力される物理アドレスとアクセスされ
るデータ等の転送路である。拡張バス16は、IOMM
U14に対する仮想アドレスとIOMMU14との間で
入出力されるデータ等の転送路である。ここで拡張バス
16でのデータ転送単位は、ワード(4バイト)単位で
ある。
【0020】FIFOバッファ17,18及びFIFO
バッファ21,22は拡張バス16との間のデータのD
MA転送を高速に行うための先入れ先出し方式のバッフ
ァメモリであり、それぞれダブルバッファ方式で双方向
転送が可能な構成となっている。
【0021】アドレス計算回路20,24は、CPU1
1から設定されるパラメータに応じてイメージデータの
論理アドレス(2次元アドレス、リニアアドレス)を計
算するアドレス計算機能を有する。
【0022】DMAC19とDMAC23は、FIFO
バッファ17,18とFIFOバッファ21,22の制
御、及び拡張バス16との間のDMA転送制御を司る。
このDMAC19,23は、アドレス計算回路20,2
4で生成された論理アドレスを仮想アドレスに変換する
アドレス変換機能を有する。
【0023】データ変換回路25は、拡張バス16の転
送単位であるワード(ここでは4バイト、即ち32ビッ
ト)とイメージ処理回路26の転送単位(ここでは1ピ
クセルであり、3バイト)のデータ構造の相互変換を司
る。
【0024】イメージ処理回路26は、図9に示したイ
メージ処理回路9と同様に専用LSIにより構成され、
イメージデータのイメージ処理(圧縮・伸張処理)を司
る。少色化回路27は、拡張バス16により伸張された
カラーのイメージデータ(ここではRGB各8ビット)
を8ビットのパレットデータに変換する。
【0025】8→32bit 変換回路28は、少色化回路
27により変換された8ビットのパレットデータを拡張
バス16の転送形式であるワード(32ビット)に変換
する。
【0026】制御回路29は、CPU11からの指示に
従うイメージ処理のために、装置内の各部(ここでは、
DMAC19,23、データ変換回路25、イメージ処
理回路26、少色化回路27及び8→32bit 変換回路
28など)のタイミング制御を司る。
【0027】次に、以上のように構成した図1のイメー
ジ処理装置の動作について説明する。まず主記憶メモリ
13上のイメージデータに対するアドレッシング方法の
概要について説明する。
【0028】本実施形態において、拡張バス16から主
記憶メモリ13上のイメージデータをアクセスする際に
は、DMAC19または23で仮想アドレスが生成され
る。この仮想アドレスは、アドレス計算回路20または
24にて計算される論理アドレス(2次元アドレスまた
はリニアアドレス)をもとに生成されるものである。
【0029】DMAC19または23で生成された仮想
アドレスは拡張バス16を介してIOMMU14に転送
され、当該IOMMU14により物理アドレスに変換さ
れる。この物理アドレスは、IOMMU14からメイン
バス15を介して主記憶メモリ13に送られ、これによ
り主記憶メモリ13(物理メモリ)上のイメージデータ
がアクセスされる。
【0030】次に上記アドレッシング方法の詳細を説明
する。まず、物理メモリ(主記憶メモリ13)の物理ア
ドレス空間と仮想アドレス空間の関係を図2に示す。
【0031】本実施形態において、仮想アドレス空間2
01上に確保されるイメージデータ領域には、2次元ア
ドレス(論理アドレス)により管理される(通常のイメ
ージデータ格納用の)領域202とリニアアドレス(論
理アドレス)により管理される(圧縮されたイメージデ
ータ格納用の)領域203の2種類がある。このイメー
ジデータ領域202,203は、主記憶メモリ13の物
理アドレス空間204上の領域205,206にマッピ
ングされる。イメージデータ領域202,203の確保
や、物理アドレス空間204(主記憶メモリ13)への
マッピングは、オペレーティングシステム(OS)に従
ってCPU11により行われる。
【0032】さて、仮想アドレス空間201上に確保さ
れたイメージデータ領域202または203内の論理ア
ドレス(2次元アドレスまたはリニアアドレス)はアド
レス計算回路20または24での計算で生成される。こ
のアドレス計算回路20,24でのアドレス計算につい
ては後述する。
【0033】アドレス計算回路20,24で計算された
イメージデータ領域内の論理アドレスは、DMAC1
9,23に出力される。DMAC19,23は、この論
理アドレスと、そのイメージデータ領域(ここではイメ
ージデータ領域202,203)の仮想アドレス空間2
01におけるオフセットアドレス(領域の先頭仮想アド
レス)をもとに、対応する仮想アドレスを生成する。
【0034】そのためにDMAC19,23には、図3
に示すように、アドレス計算回路20,24から出力さ
れた論理アドレス(ここでは32ビット)を保持するレ
ジスタ301と、アクセスしようとするイメージデータ
領域のオフセットアドレス(ここでは32ビット)を保
持するレジスタ302と、両レジスタ301,302の
保持アドレスを加算して仮想アドレスを生成する(32
ビットの)加算器303と、この加算器303の出力
(仮想アドレス)を保持するレジスタ304とが、それ
ぞれ設けられている。ここで、レジスタ302内のオフ
セットアドレスは一種のパラメータであり、CPU11
により、MMU12、メインバス15、IOMMU14
及び拡張バス16を介してセットされるものである。
【0035】DMAC19,23は、レジスタ301に
保持されている論理アドレス(アドレス計算回路20,
24から出力された論理アドレス)に、レジスタ302
に保持されているオフセットアドレス(アクセスしよう
とするイメージデータ領域の先頭仮想アドレス)を加算
器303にて加えることで、その論理アドレスに対応す
る仮想アドレスを生成して、当該仮想アドレスをレジス
タ304にセットする。そしてDMAC19,23は、
拡張バス16の使用権を確保して、レジスタ304にセ
ットした仮想アドレスを当該拡張バス16を介してIO
MMU14に与える。
【0036】IOMMU14には、図3に示すようにペ
ージテーブル305がセットされている。このページテ
ーブル305は仮想アドレスを物理アドレスに変換する
ためのマッピングテーブルであり、CPU11によりセ
ットされるものである。
【0037】IOMMU14は、DMAC19,23か
ら拡張バス16を介して仮想アドレスが与えられると、
当該仮想アドレスをページテーブル305を用いて物理
アドレス(ここでは仮想アドレスと同じ32ビット)に
変換し、当該物理アドレスをメインバス15を介して主
記憶メモリ13に転送する。これにより主記憶メモリ1
3上のイメージデータがアクセスされる。
【0038】以上は、DMAC19,23による拡張バ
ス16からのイメージデータアクセスの場合であるが、
このアクセスはCPU11からも可能である。CPU1
1から主記憶メモリ13上のイメージデータをアクセス
する場合、CPU11は主記憶メモリ13をアクセスす
るための仮想アドレスをMMU12に与える。MMU1
2は、このCPU11から与えられる仮想アドレスを、
当該MMU12によりセットされているページテーブル
(305)を用いて物理アドレスに変換し、メインバス
15を介して主記憶メモリ13に転送する。これにより
主記憶メモリ13上のイメージデータがアクセスされ
る。
【0039】次に、アドレス計算回路20,24による
アドレス計算の詳細を説明する。まず、2次元アドレス
により管理されるイメージデータ領域におけるアドレス
空間(以下、2次元アドレス空間と称する)とリニアア
ドレスにより管理されるイメージデータ領域におけるア
ドレス空間(以下、リニアアドレス空間と称する)との
関係を図4に示す。
【0040】図4から明らかなように、2次元アドレス
空間におけるフレーム(1ラインのイメージデータの集
まり)幅をXW、ウインドウ領域(アドレス計算領域)
の開始位置(ここでは左上端のワード位置)のXアドレ
ス(スタートXアドレス),Yアドレス(スタートYア
ドレス)をそれぞれSX,SYとすると、例えば2次元
アドレスSX,SYに対応するリニアアドレスはSY×
XW+SXであり、2次元アドレスSX,SY+1に対
応するリニアアドレスは(SY+1)×XW+SXであ
る。この2次元アドレスとリニアアドレスの関係を図5
に示す。即ち、リニアアドレスは、2次元アドレスのY
アドレスの下位にXアドレスを連結した形で表される。
【0041】以上の関係から、2次元アドレスからリニ
アアドレスへの変換は、アドレス計算回路20,24に
て簡単に行うことができる。但し、リニアアドレスへの
変換のもとになる2次元アドレスの計算は少し複雑であ
り、図6に示すような多数のパラメータ(XW,SX,
SY,DXM,DYM,MN,DXS,DYS,SN,
CX,CY,CN)を必要とする。
【0042】ここで、XWはフレーム幅、SXはスター
トXアドレス、SYはスタートYアドレスである。ま
た、DXM,DYMは主走査方向のそれぞれXアドレ
ス,Yアドレスの増分、MNは主走査方向の繰り返し回
数−1である。
【0043】またDXS,DYSは副走査方向のそれぞ
れXアドレス,Yアドレスの増分、SNは副走査方向の
繰り返し回数−1である。また、CX,CYはアクセス
されているイメージデータのそれぞれXアドレス(カレ
ントXアドレス),Yアドレス(カレントYアドレ
ス)、CNは現在の主走査方向の繰り返し回数である。
【0044】以上のパラメータうち、CX,CY,XN
を除くパラメータ、即ちXW,SX,SY,DXM.D
YM,MN,DXS,DYS,SNの9個は、CPU1
1によりアドレス計算回路20,24内にセットされ
る。
【0045】さて、アドレス計算回路20,24は、D
MAC19,23によって起動されることで、指定され
たアドレス計算を開始する。ここでは、上述のパラメー
タセット(セットアップ動作)が行われている状態で2
次元アドレスをリニアアドレスに変換するためにアドレ
ス計算の起動がかけられたものとする。この場合、アド
レス計算回路20,24は、2次元アドレスを生成して
当該2次元アドレスをリニアアドレスに変換する(2次
元アドレスからリニアアドレスを計算する)動作を、図
7のフローチャートに従って次のように実行する。
【0046】まずアドレス計算回路20,24は、スタ
ートYアドレス(ここではCPU11によりセットされ
たSY、即ちSYの初期値)をカレントYアドレス変数
(CY)に代入し(ステップ701)、スタートXアド
レス(ここではCPU11によりセットされたSX、即
ちSXの初期値)をカレントXアドレス変数(CX)に
代入する(ステップ702)。
【0047】次にアドレス計算回路20,24は、主走
査方向の繰り返し回数(MNの値)を、現在の主走査方
向の繰り返し回数の変数(CN)に代入する(ステップ
703)。
【0048】次にアドレス計算回路20,24は、(ア
クセスしようとしているイメージデータの2次元アドレ
ス中のYアドレスである)カレントYアドレス(CY)
と(Xアドレスである)カレントXアドレス(CX)、
及び(2次元アドレス空間の)フレーム幅(XW)をも
とにリニアアドレス(Z=XW×CY+CX)を計算
し、DMAC19,23に出力する(ステップ70
4)。
【0049】アドレス計算回路20,24は、このリニ
アアドレス計算ステップを終了すると、カレントXアド
レス(CX)に主走査方向のXアドレス増分(DXMの
値)を加算して、次にアクセスしようとするイメージデ
ータの2次元アドレス中のXアドレス、即ち新たなカレ
ントXアドレス(CX)を求める(ステップ705)。
またアドレス計算回路20,24は、カレントYアドレ
ス(CY)に主走査方向のYアドレス増分(DYMの
値)を加算して、次にアクセスしようとするイメージデ
ータの2次元アドレス中のYアドレス、即ち新たなカレ
ントYアドレス(CY)を求める(ステップ706)。
【0050】次にアドレス計算回路20,24は、現在
の主走査方向の繰り返し回数(CN)をカウントダウン
する(ステップ707)。そしてアドレス計算回路2
0,24は、現在の主走査方向の繰り返し回数(CN)
が0以上の間は(ステップ708)、上記ステップ70
4〜707を繰り返す。
【0051】さて、ステップ704〜707が繰り返さ
れて、やがて現在の主走査方向の繰り返し回数(CN)
が0未満になると(ステップ708)、アドレス計算回
路20,24は、現在のスタートXアドレス(ここでは
SXの初期値)に副走査方向のXアドレス増分(DXS
の値)を加算して、副走査方向のXアドレスを計算し、
次の主走査の起点となる新たなスタートXアドレス(S
X)を求める(ステップ709)。またアドレス計算回
路20,24は、現在のスタートYアドレス(ここでは
SYの初期値)に副走査方向のYアドレス増分(DYS
の値)を加算して、副走査方向のYアドレスを計算し、
次の主走査の起点となる新たなスタートYアドレス(S
Y)を求める(ステップ710)。
【0052】次にアドレス計算回路20,24は、現在
の副走査方向の繰り返し回数(SN)をカウントダウン
する(ステップ711)。そしてアドレス計算回路2
0,24は、現在の副走査方向の繰り返し回数(SN)
が0以上の間は(ステップ712)、上記ステップ70
1〜711を繰り返す。
【0053】このようにアドレス計算回路20,24で
は、CPU11によりセットされたパラメータに従っ
て、2次元アドレス空間内を順次走査しながら2次元ア
ドレスを生成し、その2次元アドレスからリニアアドレ
ス空間内の対応するリニアアドレスを計算して出力する
処理が実行される。
【0054】そして、現在の副走査方向の繰り返し回数
(SN)が0未満になると(ステップ712)、アドレ
ス計算回路20,24による一連のアドレス計算処理は
終了となる。
【0055】以上は、アドレス計算回路20,24にお
いて2次元アドレスを計算し、この2次元アドレスから
リニアアドレスを計算して当該リニアアドレスを出力す
る場合であるが、2次元アドレスを出力する場合には、
図7のフローチャート中のステップ704の処理に代え
て、その時点のカレントXアドレス(CXの値)とカレ
ントYアドレス(CYの値)を2次元アドレスとして出
力する処理を行えばよい。
【0056】次に、図1の構成のイメージ処理装置にお
けるイメージ処理について、イメージデータの圧縮処理
を例に説明する。この場合、まずCPU11は、上述し
たアドレス計算のためのパラメータ群をアドレス計算回
路20,24にセットすると共に、図2に示した仮想ア
ドレス空間201上に確保されたイメージデータ領域
(ここではイメージデータ領域202,203)のオフ
セットアドレス(先頭仮想アドレス)をDMAC19,
23にセットする。ここでは、DMAC19(のレジス
タ302)には、圧縮の対象となる(入力側の)イメー
ジデータの領域(ここではイメージデータ領域202)
のオフセットアドレスがセットされ、DMAC23(の
レジスタ302)には、圧縮されたイメージデータの格
納先となる(出力側の)イメージデータの領域(ここで
はイメージデータ領域203)のオフセットアドレスが
セットされる。
【0057】次にCPU11は、制御回路29に対し、
FIFOバッファ17,18、DMAC19及びアドレ
ス計算回路20の組(系統)を入力用に、FIFOバッ
ファ21,22、DMAC23及びアドレス計算回路2
4の組(系統)を出力用にして、イメージデータの圧縮
処理を行うことを指示する。この指示により、制御回路
29は、DMAC19,23、データ変換回路25及び
イメージ処理回路26等のタイミング制御を開始する。
【0058】まず、DMAC19はDMA転送に必要な
アドレス生成のためにアドレス計算回路20を起動す
る。これによりアドレス計算回路20は、入力側のイメ
ージデータの2次元アドレス(イメージデータ領域20
2内の2次元アドレスであり、図7のフローチャート中
のCX,CYに相当)をシステムクロックに同期して繰
り返し生成し、その都度、生成した2次元アドレスをD
MAC19に出力する。この2次元アドレスの生成・出
力処理は、図7のフローチャート中のステップ704の
処理に代えて、その時点のカレントXアドレス(CXの
値)とカレントYアドレス(CYの値)を2次元アドレ
スとして出力する処理を行うことで実現される。
【0059】DMAC19は、アドレス計算回路20か
ら2次元アドレスが出力される都度、当該2次元アドレ
スと(先にCPU11によりセットされた)入力側イメ
ージデータ領域202のオフセットアドレス(先頭仮想
アドレス)とを加算器303により加算することで、対
応する仮想アドレスを生成する。
【0060】DMAC19は、仮想アドレスを生成する
毎に、拡張バス16の使用権を確保して、この生成した
仮想アドレスをIOMMU14に与えることで、この仮
想アドレスに対応する物理アドレスにより指定される主
記憶メモリ13の位置(ここでは、仮想アドレス空間2
01上のイメージデータ領域202に対応して主記憶メ
モリ13上に割り当てられた領域205内の位置)から
入力側のイメージデータを1ワード分(4バイト)DM
A転送で取り出す。
【0061】このようにして主記憶メモリ13からDM
A転送される入力側イメージデータ(フルカラーのイメ
ージデータであるとする)は、メインバス15、IOM
MU14及び拡張バス16を介して一旦FIFOバッフ
ァ17または18に格納される。
【0062】このFIFOバッファ17,18はDMA
C19の制御によりダブルバッファ形式で使用され、一
方のFIFOバッファに格納された入力側イメージデー
タを対象とするイメージ処理中に、次の入力側イメージ
データがDMA転送でもう一方のFIFOバッファに格
納されるようになっている。これにより、イメージデー
タのイメージ処理と並行してイメージデータのDMA転
送を切れ目なく(連続的に)高速に行うことが可能とな
る。また、FIFOバッファの段数を増やすことによ
り、バースト転送数を増やすことが可能になる。例え
ば、32ビット(4バイト)×16個のFIFOバッフ
ァ構造とすれば、16バースト(64バイト)が実現で
きる。
【0063】さて、FIFOバッファ17または18に
格納されたフルカラーのイメージデータは、拡張バス1
6の転送単位がピクセル単位ではなくてワード単位(4
バイト)であることから、イメージ処理回路26におい
てイメージ処理を行うためには、ピクセル単位に変換す
る必要がある。
【0064】そこで本実施形態では、FIFOバッファ
17,18とイメージ処理回路26との間にデータ変換
回路25を設け、FIFOバッファ17または18に格
納されたイメージデータをイメージ処理する場合には、
FIFOバッファ17または18からのワード単位のイ
メージデータをイメージ処理回路26の入力データ形式
に変換するようにしている。
【0065】具体的には、フルカラーのイメージデータ
をワード単位(4バイト)で転送する例では、1ピクセ
ルがRGB各8ビット(1バイト)の3バイトで構成さ
れ、1ワードのデータ形式が図8(a)に示すようなR
GBR形式であるものとすると、4バイト(R0 G0 B
0 R1 )の中から先頭側の3バイト(R0 G0 B0 )が
取り出されることになる。残りの1バイト(R1 )はデ
ータ変換回路25内に保持されて、後続の4バイト(G
1 B1 R2 G2 )のうちの先頭側の2バイト(G1 B1
)と連結して3バイト(R1 G1 B1 )とされる。こ
の場合の残りの2バイト(R2 G2 )はデータ変換回路
25内に保持されて、更に後続の4バイト(B2 R3 G
3 B3 )のうちの先頭バイト(B2 )と連結して3バイ
ト(R2 G2 B2 )とされる。この場合の残りの3バイ
ト(R3 G3 B3 )はデータ変換回路25内に保持され
て、そのまま次の3バイトとされる。このデータ変換回
路25内でのデータ変換処理は、3ワードのイメージデ
ータを処理する毎に一巡する。
【0066】このようにしてデータ変換回路25で1ピ
クセル単位に変換されたイメージデータ(3バイト)は
イメージ処理回路26に送られ、当該処理回路26で圧
縮される。
【0067】イメージ処理回路26で圧縮されたイメー
ジデータ(圧縮データ)は、FIFOバッファ21また
は23に格納される。このFIFOバッファ21,23
は、ダブルバッファ形式で使用され、先に述べたFIF
Oバッファ17,18と同様に動作する。
【0068】さて、圧縮データを格納する主記憶メモリ
13上の領域(ここでは、仮想アドレス空間201上の
イメージデータ領域203に対応して主記憶メモリ13
上に割り当てられた領域206)はCPU11により予
め確保されている。
【0069】アドレス計算回路24はDMAC23によ
り起動されることで、圧縮データのリニアアドレス(圧
縮データの格納先を示す出力側イメージデータ領域20
3内の論理アドレス)を図7のフローチャートに従って
システムクロックに同期して繰り返し生成し、その都
度、生成したリニアアドレスをDMAC23に出力す
る。
【0070】DMAC23は、アドレス計算回路24か
らリニアアドレスが出力される都度、当該リニアアドレ
スと(先にCPU11によりセットされた)出力側イメ
ージデータ領域203のオフセットアドレス(先頭仮想
アドレス)とを加算器303により加算することで、対
応する仮想アドレスを生成する。
【0071】DMAC23は、仮想アドレスを生成する
毎に、この生成した仮想アドレス及びFIFOバッファ
21または22に格納されている圧縮データを1ワード
(4バイト)単位で拡張バス16を介してIOMMU1
4に与えることで、この仮想アドレスに対応する物理ア
ドレスにより指定される主記憶メモリ13の位置(ここ
では、仮想アドレス空間201上のイメージデータ領域
203に対応して主記憶メモリ13上に割り当てられた
領域206内の位置)に当該圧縮データをDMA転送す
る。
【0072】次に、図1の装置における圧縮データの伸
張処理について、イメージデータ領域203に対応する
主記憶メモリ13上の領域206の圧縮データをDMA
転送して伸張処理し、イメージデータ領域202に対応
する主記憶メモリ13上の領域205にDMA転送する
場合を例に説明する。なお、基本的な動作は前述した圧
縮処理の場合と同様なので、圧縮処理とは異なる部分を
中心に簡単に述べることにする。
【0073】まず、アドレス計算回路24で計算される
圧縮データのリニアアドレスをもとにDMAC23にて
対応する仮想アドレスを生成してIOMMU14に与え
ることで、この仮想アドレスに対応する物理アドレスに
より指定される主記憶メモリ13の位置(イメージデー
タ領域203に対応する主記憶メモリ13上の領域20
6内の位置)から圧縮データをDMA転送で取り出し、
FIFOバッファ21または22に一旦格納する。
【0074】次に、FIFOバッファ21または22に
格納した圧縮データをイメージ処理回路26で伸張す
る。そして伸張したイメージデータ(1ピクセル3バイ
ト)を、データ変換回路15で先の圧縮処理の場合と逆
の手順で4バイト構成の例えばRGBR形式に変換し、
FIFOバッファ17または18に格納する。
【0075】具体的には、伸張された1ピクセル3バイ
トのRGBイメージデータ(即ち、RGB各8ビットの
イメージデータ)をデータ変換回路25内に一時保持し
ておき、後続の3バイトのRGBイメージデータの先頭
バイト(Rデータ)と連結してRGBR形式のワード
(4バイト)とする。残りの2バイト(GBデータ)は
データ変換回路25内に保持されて、更に後続の3バイ
トのRGBイメージデータの先頭側の2バイト(RGデ
ータ)と連結することで次のRGBR形式のワード(4
バイト)とされる。以下、同様にして、伸張された1ピ
クセル3バイトのイメージデータがRGBR形式に変換
される。なお、図8(b)に示すようなXRGB形式の
ワード構造(先頭バイトは不定)を適用する場合には、
伸張された1ピクセル3バイトのRGBイメージデータ
がそのままXRGB形式のワードの下位側の3バイトに
アサインされる。
【0076】また、伸張されたRGB各8ビットのイメ
ージデータを、少色化回路27により例えば8ビットの
パレットデータ(表示データ)に変換することも可能で
ある。この場合、8ビットのパレットデータは、8→3
2bit 変換回路28で4ピクセル分まとめられて、ワー
ドにパックされ、FIFOバッファ17または18に格
納される。
【0077】さて、FIFOバッファ17または18に
格納されたイメージデータは、アドレス計算回路20で
計算された2次元アドレスをもとにDMAC19により
生成される仮想アドレスに従い、この仮想アドレスに対
応する物理アドレスにより指定される主記憶メモリ13
の位置(イメージデータ領域202に対応して主記憶メ
モリ13上に割り当てられた領域205内の位置)にD
MA転送される。
【0078】以上に述べたように、本実施形態によれ
ば、仮想記憶システムにおけるイメージデータの転送を
DMA転送で行うことにより、CPUアクセスの場合よ
りも極めて高速にイメージ処理することができる。
【0079】なお、本発明は上記実施形態に限定される
ものではない。例えば、図1の構成中にイメージデータ
の拡大・縮小・回転を行うためのアフィン回路等を追加
するようにしても構わない。こうすることにより、圧縮
・伸張処理だけでなく、それ以外の種々のイメージ処理
も高速に行うことができる。
【0080】また、圧縮したデータをイメージ処理回路
26で伸張し、更に少色化回路27で8ビットに少色化
したパレットデータを直接画面表示(例えばCRT表
示)用のフレームバッファに転送するようにしても構わ
ない。こうすることにより、画面表示を高速化できる。
【0081】
【発明の効果】以上詳述したように本発明によれば、仮
想記憶システムにおけるイメージデータの転送をDMA
転送で高速に行うことができるため、膨大なイメージデ
ータのイメージ処理が極めて高速に行える。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るイメージ処理装置の
全体構成を示すブロック図。
【図2】物理アドレス空間と仮想アドレス空間の関係を
説明するための図。
【図3】図1中のDMAC19,23及びIOMMU1
4による仮想アドレス生成と物理アドレスへ変換を説明
するための図。
【図4】2次元アドレスにより管理されるイメージデー
タ領域におけるアドレス空間(2次元アドレス空間)と
リニアアドレスにより管理されるイメージデータ領域に
おけるアドレス空間(リニアアドレス空間)との関係を
説明するための図。
【図5】2次元アドレス(Xアドレス,Yアドレス)と
リニアアドレスの関係を示す図。
【図6】図1中のアドレス計算回路20,24でのアド
レス計算のパラメータを説明するための図。
【図7】図1中のアドレス計算回路20,24において
2次元アドレスからリニアアドレスを計算する場合の処
理の流れを示すフローチャート。
【図8】RGBRとXRGBの各データ形式を示す図。
【図9】従来のイメージ処理装置を示すブロック図。
【符号の説明】
11…CPU11、 12…MMU(メモリマネージメントユニット)、 13…主記憶メモリ、 14…IOMMU(拡張バス用MMU)、 15…メインバス(第1のバス)、 16…拡張バス(第2のバス)、 17,18…FIFOバッファ(バッファ手段)、 19,23…DMAC(DMAコントローラ、DMA制
御手段)、 20,24…アドレス計算回路、 21,22…FIFOバッファ(バッファ手段)、 25…データ変換回路、 26…イメージ処理回路、 27…少色化回路、 28…8→32bit 変換回路、 29…制御回路。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 仮想アドレスを物理アドレスに変換する
    ことで主記憶メモリがアクセスされる仮想記憶システム
    に適用されるイメージ処理装置であって、 仮想アドレス空間上に確保されたイメージデータ領域内
    のデータの論理アドレスを計算するアドレス計算手段
    と、このアドレス計算手段で前記論理アドレスが計算さ
    れる毎に、その論理アドレス及び対応する前記イメージ
    データ領域の先頭仮想アドレスをもとに仮想アドレスを
    生成し、その仮想アドレスを用いて前記主記憶メモリと
    の間のDMA(ダイレクトメモリアクセス)転送を制御
    するDMA制御手段と、このDMA制御手段の制御によ
    るDMA転送を連続的に行うためのバッファ手段とを2
    系統備えると共に、 前記2系統の一方の各手段を入力用のイメージデータの
    DMA転送に、他方の各手段を出力用のイメージデータ
    のDMA転送に切り替え使用する制御手段と、入力側の
    系統でのDMA転送で入力されたイメージデータのイメ
    ージ処理を行うイメージ処理手段とを備えたことを特徴
    とするイメージ処理装置。
  2. 【請求項2】 仮想アドレスを物理アドレスに変換する
    ことで第1のバスを介して主記憶メモリがアクセスされ
    る仮想記憶システムに適用されるイメージ処理装置であ
    って、 前記第1のバスが拡張された第2のバスと、 システム全体を制御するCPUによりセットされるアド
    レス計算パラメータに従って、仮想アドレス空間上に確
    保されたイメージデータ領域内のデータの論理アドレス
    を計算する動作を繰り返すアドレス計算手段と、このア
    ドレス計算手段で前記論理アドレスが計算される毎に、
    その論理アドレス及び対応する前記イメージデータ領域
    の先頭仮想アドレスをもとに仮想アドレスを生成して前
    記第2のバスに送出することで、前記主記憶メモリとの
    間のDMA(ダイレクトメモリアクセス)転送を制御す
    るDMA制御手段と、このDMA制御手段の制御による
    DMA転送を連続的に行うためのバッファ手段とを2系
    統備えると共に、 前記2系統の一方の各手段を入力用のイメージデータの
    DMA転送に、他方の各手段を出力用のイメージデータ
    のDMA転送に切り替え使用する制御手段と、入力側の
    系統でのDMA転送で入力されたイメージデータのイメ
    ージ処理を行うイメージ処理手段とを備えたことを特徴
    とするイメージ処理装置。
JP7232740A 1995-09-11 1995-09-11 イメージ処理装置 Pending JPH0981720A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7232740A JPH0981720A (ja) 1995-09-11 1995-09-11 イメージ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7232740A JPH0981720A (ja) 1995-09-11 1995-09-11 イメージ処理装置

Publications (1)

Publication Number Publication Date
JPH0981720A true JPH0981720A (ja) 1997-03-28

Family

ID=16944031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7232740A Pending JPH0981720A (ja) 1995-09-11 1995-09-11 イメージ処理装置

Country Status (1)

Country Link
JP (1) JPH0981720A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352592A (ja) * 2004-06-08 2005-12-22 Canon Inc データ転送制御装置及びその制御方法、データ処理装置、プログラム
JP2007299315A (ja) * 2006-05-02 2007-11-15 Ricoh Co Ltd データ転送装置
JP4772795B2 (ja) * 2004-09-30 2011-09-14 インテル コーポレイション 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352592A (ja) * 2004-06-08 2005-12-22 Canon Inc データ転送制御装置及びその制御方法、データ処理装置、プログラム
JP4772795B2 (ja) * 2004-09-30 2011-09-14 インテル コーポレイション 大アドレス容量に及ぶ変換テーブルを用いた、アドレス変換の性能向上
JP2007299315A (ja) * 2006-05-02 2007-11-15 Ricoh Co Ltd データ転送装置

Similar Documents

Publication Publication Date Title
US6954204B2 (en) Programmable graphics system and method using flexible, high-precision data formats
US20020126125A1 (en) Graphic processing apparatus and method
JPH0981720A (ja) イメージ処理装置
JPH0559475B2 (ja)
US7460718B2 (en) Conversion device for performing a raster scan conversion between a JPEG decoder and an image memory
KR100601606B1 (ko) 소프트웨어/하드웨어 복합 방식을 이용한 데이터 처리장치 및방법
JP2546574B2 (ja) グラフィック情報処理システム
KR100352371B1 (ko) 영상 확대 디스플레이를 위한 라인 버퍼 및 그 제어 방법
JPH0954835A (ja) コンピュータ・グラフィックス・システム用のデータ・バス・プロトコル
CN117082281B (zh) 音视频数据同步处理方法、系统、设备及介质
JP2001022685A (ja) データ転送装置及びデータ転送方法
JP2806376B2 (ja) 画像処理装置および画像処理方法
JPH0744489A (ja) データ転送方法
JP3265856B2 (ja) Dma転送装置
JP3019906B2 (ja) 画像処理装置
US20050162438A1 (en) System including address generator and address generator
JPS61138329A (ja) デイスプレイコントロ−ラ
JPS63207292A (ja) 色信号変換装置
JP2005301665A (ja) データ処理装置、及び、データ処理方法
JPH07129460A (ja) 画像処理方法及びその装置
JPH01195786A (ja) 信号変換方式
JP3340449B2 (ja) ラインメモリ回路及び、データ格納方法
JPH06337672A (ja) イメ一ジ処理装置
JPH05158866A (ja) 静止画処理装置
JPH06274155A (ja) 画像の合成表示装置