JPH09182072A - 画像圧縮装置 - Google Patents
画像圧縮装置Info
- Publication number
- JPH09182072A JPH09182072A JP34035995A JP34035995A JPH09182072A JP H09182072 A JPH09182072 A JP H09182072A JP 34035995 A JP34035995 A JP 34035995A JP 34035995 A JP34035995 A JP 34035995A JP H09182072 A JPH09182072 A JP H09182072A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- processing
- cpu
- image compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
(57)【要約】
【課題】8×8画素のデータブロックに対するアクセス
の高速化により、DCTを用いた画像圧縮処理の高速化を
はかる。 【解決手段】フレームメモリのデータアクセスに8×8
の2次元アドレスのアクセス方法を適用したDMA転送
を用いて、DCT処理とデータアクセスを並列に行う。
の高速化により、DCTを用いた画像圧縮処理の高速化を
はかる。 【解決手段】フレームメモリのデータアクセスに8×8
の2次元アドレスのアクセス方法を適用したDMA転送
を用いて、DCT処理とデータアクセスを並列に行う。
Description
【0001】
【発明の属する技術分野】本発明は離散コサイン変換
(以下DCT)を用いて画像データを圧縮するための画
像圧縮装置に関する。
(以下DCT)を用いて画像データを圧縮するための画
像圧縮装置に関する。
【0002】
【従来の技術】DCTを用いた画像データ圧縮では、対
象とする原画像データが格納されたフレームメモリから
2次元の矩形領域(8×8画素)のブロックデータをア
クセスしなければならない。
象とする原画像データが格納されたフレームメモリから
2次元の矩形領域(8×8画素)のブロックデータをア
クセスしなければならない。
【0003】従来、CPUでDCTを実現する場合に
は、フレームメモリ内の矩形領域へのデータアクセスを
ソフトウェアによって実現しなければならなかった。C
PUは、1次元のメモリ空間をアクセスするのは得意と
するが、2次元のメモリ空間をアクセスしようとする
と、そのためのアドレス生成に時間がかかってしまって
いた。このため、2次元アドレス計算,データアクセス
及びDCT処理という一連の処理をCPUがしなければ
ならないため、処理全体に多くのサイクル数を必要とし
ていた。
は、フレームメモリ内の矩形領域へのデータアクセスを
ソフトウェアによって実現しなければならなかった。C
PUは、1次元のメモリ空間をアクセスするのは得意と
するが、2次元のメモリ空間をアクセスしようとする
と、そのためのアドレス生成に時間がかかってしまって
いた。このため、2次元アドレス計算,データアクセス
及びDCT処理という一連の処理をCPUがしなければ
ならないため、処理全体に多くのサイクル数を必要とし
ていた。
【0004】CPUで高速に画像処理を行うために、積
和演算等を高速に行うマルチメディア命令等がCPUの
命令セットに追加されるようになってきたが、2次元の
メモリアクセスを高速に行う方法に関しては提案されて
いなかった。
和演算等を高速に行うマルチメディア命令等がCPUの
命令セットに追加されるようになってきたが、2次元の
メモリアクセスを高速に行う方法に関しては提案されて
いなかった。
【0005】
【発明が解決しようとする課題】従来はCPUで、2次
元アドレス計算,メモリアクセス、及びDCT処理を逐
次的に実行していたため、全体の処理の高速化には限界
があった。また、画像メモリのようなメモリ容量が大き
いメモリを安価なメモリで構成しようとすると、CPU
からメモリへのアクセスに時間がかかり、高速化できな
いという問題があった。
元アドレス計算,メモリアクセス、及びDCT処理を逐
次的に実行していたため、全体の処理の高速化には限界
があった。また、画像メモリのようなメモリ容量が大き
いメモリを安価なメモリで構成しようとすると、CPU
からメモリへのアクセスに時間がかかり、高速化できな
いという問題があった。
【0006】本発明の目的は、CPUで画像圧縮する場
合に、安価な画像メモリであっても高速化が実現できる
画像圧縮装置を提供することにある。
合に、安価な画像メモリであっても高速化が実現できる
画像圧縮装置を提供することにある。
【0007】
【課題を解決するための手段】本発明は、原画像データ
が書き込まれるフレームメモリ(以下FMと略す)と、
FM上8×8画素の矩形領域から成る1ブロックの2次
元データを読み出すためのアドレス発生器と、FM上8
×8画素の矩形領域から成る1ブロックの2次元データ
を1次元データとして一時的に記憶する高速少容量のメ
モリバッファa及びメモリバッファbと、FMからメモ
リバッファa又はメモリバッファbへのデータ転送を行
うダイレクトメモリアクセスコントローラ(以下DMA
Cと略す)と、メモリバッファa又はメモリバッファb
のデータを用いてDCT処理を行うCPUと、これらを
結合する共通バスとから構成され、FM上の1ブロック
のデータをアドレス発生器で得られたFMのアドレスに
従ってアクセスし、DMACを使用して1ブロックのデ
ータをメモリバッファa又はメモリバッファbに順次書
き込むのと並列に、CPUがメモリバッファb(1回前
のDMACによるデータ転送でブロックデータが書き込
まれているものとする)又はメモリバッファaの64個
のデータを読み出してDCT処理を行うようにしたもの
である。
が書き込まれるフレームメモリ(以下FMと略す)と、
FM上8×8画素の矩形領域から成る1ブロックの2次
元データを読み出すためのアドレス発生器と、FM上8
×8画素の矩形領域から成る1ブロックの2次元データ
を1次元データとして一時的に記憶する高速少容量のメ
モリバッファa及びメモリバッファbと、FMからメモ
リバッファa又はメモリバッファbへのデータ転送を行
うダイレクトメモリアクセスコントローラ(以下DMA
Cと略す)と、メモリバッファa又はメモリバッファb
のデータを用いてDCT処理を行うCPUと、これらを
結合する共通バスとから構成され、FM上の1ブロック
のデータをアドレス発生器で得られたFMのアドレスに
従ってアクセスし、DMACを使用して1ブロックのデ
ータをメモリバッファa又はメモリバッファbに順次書
き込むのと並列に、CPUがメモリバッファb(1回前
のDMACによるデータ転送でブロックデータが書き込
まれているものとする)又はメモリバッファaの64個
のデータを読み出してDCT処理を行うようにしたもの
である。
【0008】
【発明の実施の形態】以下に、本発明の一実施例を示
す。図1は本発明の構造を表わすブロック図である。1
0は原画像データが格納されるFM、60はFM10に
格納された原画像データの中に2次元的に配置された8
×8画素の矩形領域ブロックデータを連続的にアクセス
するためのアドレスを発生するアドレス発生器である。
メモリバッファa,メモリバッファbはアドレス発生器
60により生成されたアドレスに従ってアクセスされた
64個のブロックデータを1次元的に順次格納するため
のメモリで、メモリバッファa,メモリバッファb共に
高速アクセスが可能で64個の画素データを格納する少
容量メモリである。20はFM10からメモリバッファ
a又はメモリバッファbへのブロックデータの転送を担
うDMACである。50はデータ処理および制御を行う
CPUで、特にメモリバッファa又はメモリバッファb
のメモリから読み出した8×8画素のデータのDCT処
理を実行するCPUである。また、これら全ての構成要
素は共通バス70により結合されており、アドレス及び
データの入出力がこの共通バス70を通して行われる。
す。図1は本発明の構造を表わすブロック図である。1
0は原画像データが格納されるFM、60はFM10に
格納された原画像データの中に2次元的に配置された8
×8画素の矩形領域ブロックデータを連続的にアクセス
するためのアドレスを発生するアドレス発生器である。
メモリバッファa,メモリバッファbはアドレス発生器
60により生成されたアドレスに従ってアクセスされた
64個のブロックデータを1次元的に順次格納するため
のメモリで、メモリバッファa,メモリバッファb共に
高速アクセスが可能で64個の画素データを格納する少
容量メモリである。20はFM10からメモリバッファ
a又はメモリバッファbへのブロックデータの転送を担
うDMACである。50はデータ処理および制御を行う
CPUで、特にメモリバッファa又はメモリバッファb
のメモリから読み出した8×8画素のデータのDCT処
理を実行するCPUである。また、これら全ての構成要
素は共通バス70により結合されており、アドレス及び
データの入出力がこの共通バス70を通して行われる。
【0009】次に本実施例における装置によりFMに格
納された画像データをDCT処理するまでの動作につい
て説明する。FM10には画像圧縮の対象となる原画像
の1フレーム分の2次元の画素データが格納されてい
る。先ず、DMAC20はFM10からDCT処理に必
要な8×8画素のデータを読み出し、高速少容量のメモ
リバッファaへ書き込む。ここで、メモリバッファaに
書き込まれるデータは、DCT処理に必要な順番に書き
込まれるものとする。
納された画像データをDCT処理するまでの動作につい
て説明する。FM10には画像圧縮の対象となる原画像
の1フレーム分の2次元の画素データが格納されてい
る。先ず、DMAC20はFM10からDCT処理に必
要な8×8画素のデータを読み出し、高速少容量のメモ
リバッファaへ書き込む。ここで、メモリバッファaに
書き込まれるデータは、DCT処理に必要な順番に書き
込まれるものとする。
【0010】続いて、CPU50はメモリバッファaの
データを読み込んでDCT処理および画像圧縮に必要な
量子化処理,可変長符号化等の処理を行う。このときメ
モリバッファaには、DCT処理に必要な順番にデータ
が格納されているので高速なDCT処理が可能である。
CPU50がメモリバッファaのデータを読み出した
後、DCT処理の内部演算処理を行っている間は、バス
70が開放されている。
データを読み込んでDCT処理および画像圧縮に必要な
量子化処理,可変長符号化等の処理を行う。このときメ
モリバッファaには、DCT処理に必要な順番にデータ
が格納されているので高速なDCT処理が可能である。
CPU50がメモリバッファaのデータを読み出した
後、DCT処理の内部演算処理を行っている間は、バス
70が開放されている。
【0011】そこで、これと平行してDMAC20は、
次のDCT処理に必要なブロックデータをFM10から
メモリバッファbに転送する。このときアドレス発生器
60は、次のDCT処理に必要なブロックデータのFM
アドレスを発生させる。
次のDCT処理に必要なブロックデータをFM10から
メモリバッファbに転送する。このときアドレス発生器
60は、次のDCT処理に必要なブロックデータのFM
アドレスを発生させる。
【0012】以下、同様の処理を繰り返し行うことで、
FM10内の2次元データをCPU50で処理しやすい
1次元のデータフォーマットにしてメモリバッファaま
たはメモリバッファbに転送するのと、DCT処理とが
互いに独立して並列に実行できるので、CPUを用いた
画像圧縮を高速に実現することが可能である。
FM10内の2次元データをCPU50で処理しやすい
1次元のデータフォーマットにしてメモリバッファaま
たはメモリバッファbに転送するのと、DCT処理とが
互いに独立して並列に実行できるので、CPUを用いた
画像圧縮を高速に実現することが可能である。
【0013】この並列処理のシーケンス例を図5のタイ
ミングチャートに示す。まず、CPU50がDMAC2
0を起動する。DMAC20は、次のDCT処理に必要
なブロックデータをFM10からメモリバッファaに転
送し、DMA転送を終了する。次にCPU50がメモリ
バッファaからデータを読み出してDCT処理を開始す
ると同時にDMAC20を起動し、次のDCT処理に必
要なブロックデータをFM10からメモリバッファbに
転送する。このときCPU50はデータバス70を使用
していないので、DCT処理とDMAC20のデータ転
送を並列に行うことができる。
ミングチャートに示す。まず、CPU50がDMAC2
0を起動する。DMAC20は、次のDCT処理に必要
なブロックデータをFM10からメモリバッファaに転
送し、DMA転送を終了する。次にCPU50がメモリ
バッファaからデータを読み出してDCT処理を開始す
ると同時にDMAC20を起動し、次のDCT処理に必
要なブロックデータをFM10からメモリバッファbに
転送する。このときCPU50はデータバス70を使用
していないので、DCT処理とDMAC20のデータ転
送を並列に行うことができる。
【0014】本実施例では、DMA転送をバースト転送
で説明したが、サイクルスチール転送でも同じ効果を期
待できる。
で説明したが、サイクルスチール転送でも同じ効果を期
待できる。
【0015】次に、FM10の2次元のメモリ空間の構
成例を図3に示し説明する。ここでは、704×480
の画像処理を行うものとする。このときアドレス空間は
2の階乗で実現されることが多いので1024×512
となる。ただし、CPUは1次元の空間しか直接アクセ
スできないので、これを1次元の空間で表わすと19ビ
ットのアドレス空間となる。ここでx方向を下位10ビ
ット,y方向を上位9ビットとする。
成例を図3に示し説明する。ここでは、704×480
の画像処理を行うものとする。このときアドレス空間は
2の階乗で実現されることが多いので1024×512
となる。ただし、CPUは1次元の空間しか直接アクセ
スできないので、これを1次元の空間で表わすと19ビ
ットのアドレス空間となる。ここでx方向を下位10ビ
ット,y方向を上位9ビットとする。
【0016】DCT処理は8×8画素データ単位で処理
するので、この704×480画素を88×60ブロッ
クに分ける。一つのブロックのアドレスは、数1とな
る。
するので、この704×480画素を88×60ブロッ
クに分ける。一つのブロックのアドレスは、数1とな
る。
【0017】
【数1】 SY×210+SX〜SY×210+SX+7, (SY+1)×210+SX〜SY×210+SX+7, ・・・・ (SY+7)×210+SX〜SY×210+SX+7 ここで、SYはブロックのy方向の先頭アドレス、SX
はブロックのx方向の先頭アドレスである。
はブロックのx方向の先頭アドレスである。
【0018】次に、FM10内の1ブロックのアドレス
とメモリバッファaおよびbのアドレス空間の関係を図
4に示す。FM10内の1ブロックのアドレス、(SY
+1)×210+SXからSY×210+SX+7を、0か
ら63に変換している。
とメモリバッファaおよびbのアドレス空間の関係を図
4に示す。FM10内の1ブロックのアドレス、(SY
+1)×210+SXからSY×210+SX+7を、0か
ら63に変換している。
【0019】次に、本発明の2次元のアドレス発生器6
0の構成例を図2に示し説明する。アドレス発生器60
はFM10の中にx方向に8画素,y方向に8画素単位
に配置されているブロックデータについてのアドレスを
生成し、計64画素から成るブロックデータを次々とア
クセスする。
0の構成例を図2に示し説明する。アドレス発生器60
はFM10の中にx方向に8画素,y方向に8画素単位
に配置されているブロックデータについてのアドレスを
生成し、計64画素から成るブロックデータを次々とア
クセスする。
【0020】xとyのブロック先頭アドレスSX,SY
およびアドレス歩進値DX,DYはそれぞれCPU10
からセットされる。通常アドレスの歩進値が1の場合に
は、DX,DYに1をセットする。そして、DMACか
らのデータ読み出しストローブによりアドレスは歩進さ
れる。
およびアドレス歩進値DX,DYはそれぞれCPU10
からセットされる。通常アドレスの歩進値が1の場合に
は、DX,DYに1をセットする。そして、DMACか
らのデータ読み出しストローブによりアドレスは歩進さ
れる。
【0021】最初はブロックの先頭なのでxアドレスは
SX、yアドレスはSYである。DMACからのデータ
読み出しストローブに応じて、SXにDXが加算され、
xアドレスがSXからSX+7まで更新される。xアド
レスがSX+7の時、x方向の8進カウンタ61が7に
なり、y方向のアドレスがSYからSY+1に歩進され
る。同時にxアドレスはSXに戻る。同様に、xアドレ
スはSXからSX+7までの歩進を8回繰り返し、yア
ドレスは8データ単位にSYからSY+7まで更新さ
れ、64個のブロックデータのアドレスが生成される。
SX、yアドレスはSYである。DMACからのデータ
読み出しストローブに応じて、SXにDXが加算され、
xアドレスがSXからSX+7まで更新される。xアド
レスがSX+7の時、x方向の8進カウンタ61が7に
なり、y方向のアドレスがSYからSY+1に歩進され
る。同時にxアドレスはSXに戻る。同様に、xアドレ
スはSXからSX+7までの歩進を8回繰り返し、yア
ドレスは8データ単位にSYからSY+7まで更新さ
れ、64個のブロックデータのアドレスが生成される。
【0022】画像データをサブサンプリングして画面全
体の画素数を減らす場合には、DX,DYに2以上の値
をセットすれば良い。x,y方向共1/2にする場合に
は、DX,DYに2,1/4にする場合には、DX,D
Yに4をセットすればよい。
体の画素数を減らす場合には、DX,DYに2以上の値
をセットすれば良い。x,y方向共1/2にする場合に
は、DX,DYに2,1/4にする場合には、DX,D
Yに4をセットすればよい。
【0023】また、DMACと2次元アドレス発生器を
1チップにした画像圧縮半導体装置により、画像処理に
適したDMACとそれを適用した画像圧縮装置を提供で
きる。
1チップにした画像圧縮半導体装置により、画像処理に
適したDMACとそれを適用した画像圧縮装置を提供で
きる。
【0024】さらに、CPUとDMACと2次元アドレ
ス発生器とバッファメモリを1チップにした画像圧縮半
導体装置により、小型で低価格な画像圧縮装置を提供で
きる。
ス発生器とバッファメモリを1チップにした画像圧縮半
導体装置により、小型で低価格な画像圧縮装置を提供で
きる。
【0025】本発明は画像圧縮装置について説明した
が、画像伸長装置にも適用可能である。
が、画像伸長装置にも適用可能である。
【0026】
【発明の効果】本発明によれば、DCTによる画像圧縮
を行う場合に、フレームメモリからの2次元ブロックデ
ータアクセスとCPUによるDCT演算の並列処理が可
能になり、高速なDCT処理および画像圧縮が可能にな
る。
を行う場合に、フレームメモリからの2次元ブロックデ
ータアクセスとCPUによるDCT演算の並列処理が可
能になり、高速なDCT処理および画像圧縮が可能にな
る。
【0027】また、フレームメモリ内のデータをブロッ
ク単位で高速アクセスが可能なメモリバッファへ一時的
に格納する方式をとることにより、CPUからの画像デ
ータを高速にアクセス(メモリアクセスにウエイトが不
要になる)が可能となりDCT処理および画像圧縮が可
能になることに加えて、大容量フレームメモリを安価な
低速メモリにでき、装置全体を低価格化できるようにな
る。
ク単位で高速アクセスが可能なメモリバッファへ一時的
に格納する方式をとることにより、CPUからの画像デ
ータを高速にアクセス(メモリアクセスにウエイトが不
要になる)が可能となりDCT処理および画像圧縮が可
能になることに加えて、大容量フレームメモリを安価な
低速メモリにでき、装置全体を低価格化できるようにな
る。
【0028】以上により高速で安価なCPUを用いた画
像圧縮装置を提供する事が可能となる。
像圧縮装置を提供する事が可能となる。
【図1】本発明の画像圧縮装置のブロック図。
【図2】フレームメモリ内のデータ形式を表すブロック
図。
図。
【図3】2次元アドレス発生器のブロック図。
【図4】高速少容量メモリバッファ内のデータ形式を表
す説明図。
す説明図。
【図5】本発明の並列処理のタイミングチャート。
10…フレームメモリ、20…ダイレクトメモリアクセ
スコントローラ、50…CPU、60…アドレス発生
器、a,b…メモリバッファ。
スコントローラ、50…CPU、60…アドレス発生
器、a,b…メモリバッファ。
Claims (3)
- 【請求項1】8×8画素の画像ブロックを処理単位とす
る離散コサイン変換を用いた画像圧縮において、原画像
を格納するフレームメモリと、前記フレームメモリ内の
8×8画素の2次元矩形領域から成る前記画像ブロック
のデータをアクセスするためのアドレス発生器と、前記
画像ブロックのデータを一時的に記憶する二つの少容量
で高速アクセス可能なメモリバッファと、フレームメモ
リのデータアクセス及びフレームメモリからメモリバッ
ファへのデータ転送を担うダイレクトメモリアクセスコ
ントローラと、前記メモリバッファのデータについて離
散コサイン変換処理を行うCPUと、これらを結ぶ共通
バスとを有し、前記離散コサイン変換処理と前記ブロッ
クデータアクセスを並列に行うことを特徴とする画像圧
縮装置。 - 【請求項2】請求項1の前記画像圧縮装置を1チップ化
した画像圧縮半導体装置。 - 【請求項3】請求項1の前記アドレス発生器と前記ダイ
レクトメモリアクセスコントローラを1チップ化した画
像圧縮半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34035995A JPH09182072A (ja) | 1995-12-27 | 1995-12-27 | 画像圧縮装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34035995A JPH09182072A (ja) | 1995-12-27 | 1995-12-27 | 画像圧縮装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09182072A true JPH09182072A (ja) | 1997-07-11 |
Family
ID=18336191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34035995A Pending JPH09182072A (ja) | 1995-12-27 | 1995-12-27 | 画像圧縮装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09182072A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7170553B2 (en) * | 2001-04-26 | 2007-01-30 | Sharp Kabushiki Kaisha | Image processing apparatus, image processing method and portable imaging apparatus |
US8395634B2 (en) | 2007-05-17 | 2013-03-12 | Sony Corporation | Method and apparatus for processing information |
-
1995
- 1995-12-27 JP JP34035995A patent/JPH09182072A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7170553B2 (en) * | 2001-04-26 | 2007-01-30 | Sharp Kabushiki Kaisha | Image processing apparatus, image processing method and portable imaging apparatus |
US8395634B2 (en) | 2007-05-17 | 2013-03-12 | Sony Corporation | Method and apparatus for processing information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5768445A (en) | Compression and decompression scheme performed on shared workstation memory by media coprocessor | |
JP4728393B2 (ja) | フレーム・バッファに格納されたイメージ・データを処理する方法及び装置 | |
US5452378A (en) | Image digitizer including pixel engine | |
JP2005102168A (ja) | 画像処理装置及び画像処理方法 | |
JPH09182072A (ja) | 画像圧縮装置 | |
JP2000311241A (ja) | 画像処理装置 | |
US6307969B1 (en) | Dynamic image encoding method and apparatus | |
KR20020052199A (ko) | 데이터 전송 방법 및 그 회로 장치 | |
JPH09322168A (ja) | 2次元逆離散コサイン変換装置 | |
JP2022525911A (ja) | 外部メモリの協調アクセス方法及びシステム、協調アクセスアーキテクチャ | |
US6681051B1 (en) | Arrangement for transforming picture data | |
JPH10304356A (ja) | 並列画像圧縮処理装置 | |
KR100352371B1 (ko) | 영상 확대 디스플레이를 위한 라인 버퍼 및 그 제어 방법 | |
KR20040086399A (ko) | 데이터 소자의 저장 방법 | |
JPH04245865A (ja) | 画像処理装置 | |
JPH04349496A (ja) | 画像処理装置及びその方式 | |
JP2006141001A (ja) | 電力消耗が減少した画像処理装置及び方法 | |
JP3352346B2 (ja) | 画像信号処理装置 | |
JP3742066B2 (ja) | カメラ画像処理装置 | |
US5453946A (en) | DCT peripheral for a digital signal processor | |
JP4439746B2 (ja) | 情報処理装置 | |
JP2000013730A (ja) | 画像データ蓄積方法 | |
KR100246374B1 (ko) | 픽셀 데이타의 8x8블럭 변환장치 | |
JP2002108843A (ja) | 離散コサイン変換・逆離散コサイン変換手法及びその装置 | |
JPH09282869A (ja) | ランダムアクセスメモリ |