JPH08305819A - 2次元直交変換演算装置 - Google Patents

2次元直交変換演算装置

Info

Publication number
JPH08305819A
JPH08305819A JP10491495A JP10491495A JPH08305819A JP H08305819 A JPH08305819 A JP H08305819A JP 10491495 A JP10491495 A JP 10491495A JP 10491495 A JP10491495 A JP 10491495A JP H08305819 A JPH08305819 A JP H08305819A
Authority
JP
Japan
Prior art keywords
memory
address
intermediate result
circuit
result data
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
JP10491495A
Other languages
English (en)
Inventor
Shigeo Sumi
成生 角
Akira Hase
昌 長谷
Hiroki Watanabe
浩己 渡辺
Masuo Oku
万寿男 奥
Jinichi Hori
仁一 堀
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.)
Hitachi Ltd
Hitachi Consumer Electronics Co Ltd
Japan Display Inc
Original Assignee
Hitachi Device Engineering Co Ltd
Hitachi Ltd
Hitachi Consumer Electronics Co 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 Hitachi Device Engineering Co Ltd, Hitachi Ltd, Hitachi Consumer Electronics Co Ltd filed Critical Hitachi Device Engineering Co Ltd
Priority to JP10491495A priority Critical patent/JPH08305819A/ja
Publication of JPH08305819A publication Critical patent/JPH08305819A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】離散コサイン変換装置等の直交変換装置の回路
規模を低減する。 【構成】1次元DCT演算回路6からの出力データの転
置を行う転置メモリ7として、ツーポートメモリを用
い、転置メモリ制御回路10は、あるブロックの書き込
みが完了するより1から(2N−2)クロック前より、
書き込み済みのデータを読み出し、この書き込みに続い
て、さらに後続のブロックの書き込みを上記読み出しと
並行して実行する。各ブロックの書き込みは行順と列順
をブロック毎に交互に切り替えて行い、各ブロックの読
み出しは、そのブロックの書き込み順と異なるように制
御される。この動作のために、転置メモリ7の読出しア
ドレス22を発生する回路12は、アドレスが1ずつイ
ンクリメントする場合とNごとにインクリメントする場
合の2種類の方法をN×N回毎に交互に入れ替えるよう
にして読み出しアドレスを生成し、書込みアドレスは、
読出しアドレスを1から2N−2クロックのいずれかの
時間遅延回路13により遅延して生成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画像信号の圧縮または
伸長にそれぞれ用いられる離散コサイン変換(DC
T)、逆離散コサイン変換(IDCT)あるいは離散サ
イン変換(DST)などの直交変換を実行する装置に関
する。
【0002】
【従来の技術】情報圧縮の際に必要な画像信号の周波数
成分の分解は、一般的に直交変換により行われている。
これは、直交変換を行うことにより、ランダムに分布し
ていた画素値を低周波項に集中させることが可能なため
である。そしてこの直交変換の代表的な手法の一つとし
て、離散コサイン変換(DCT)が知られている。例え
ば、2次元の画像データに対してこの2次元DCT変換
を施すことにより、この画像データの空間周波数データ
を得られる。その空間周波数の内、より高い周波数に対
応する部分をカットし、残りの画像データを逆DCT変
換することにより、もとの画像データに近い画像データ
を復元する。ここでカットされたデータの量だけ少ない
データを用いて、元の画像データのを復元できるので、
もとの画像データを圧縮したことになる。なお、2次元
IDCT演算も直交変換の他の例であり、2次元DCT
演算の逆の演算により、それと同様に実現される。ま
た、離散サイン変換(DST)も同様に実現される。
【0003】2次元の画像データについてDCT処理を
使用する画像データ圧縮回路はいろいろあるが、その一
つとして特開平4−531号公報に記載された回路の例
を図2に示す。図において、データ入力装置1により入
力された2次元の離散化されたデータは、メモリ2に格
納された後、それぞれN行N列の入力データからなる複
数のブロックに分けられ、それらのブロックが順次メモ
リ2から制御回路3の制御により読み出されて、2次元
DCT演算装置30に供給される。2次元DCT演算装
置30は、メモリ2から供給される各ブロックの、N行
N列のデータ(これをf(x,y)(但し、x=0,
1,,N、y=0,1,,N)と表わす)4に対して2
次元DCT変換を実行して、N行N列の離散化された変
換結果データ(これをF(u、v)(但し、u=0,
1,,N、y=0,1,,N)と表わす)からなる中間
結果ブロックを得る。ここで、u、vの値の範囲と、
x、yの範囲と同じである。この回路の出力信号24
は、量子化回路25により量子化され、量子化された信
号は、符号化回路26により符号化される。以上の操作
を経て元の入力ブロックが圧縮される。
【0004】2次元DCT演算装置30は、メモリ2か
ら読み出された各入力ブロックに対して第1の1次元D
CT演算を行い、中間結果ブロックを生成する回路31
と、その中間結果ブロックを保持する転置メモリ32
と、転置メモリ32内の中間結果ブロックに対して第2
の1次元DCT演算を実行して、変換結果ブロックを生
成する回路33と、転置メモリ32への中間結果ブロッ
クの書き込みとそこからのそのブロックの読み出しを制
御する転置メモリ制御回路35と、これらの1次元DC
T演算回路31、33および転置メモリ制御回路35を
制御するための制御回路34とからなる。
【0005】各入力ブロックのN行N列のデータf
(x,y)に対する2次元DCT演算は以下の式で表わ
される。ここで、x、yは、これらのデータを識別する
2次元の変数であり、具体的には、そのブロックが2次
元画像データであるときには、2次元座標を表わす。
【0006】
【数1】
【0007】2次元DCT演算装置30は、この2次元
DCT演算を行うために、各u、vの値に対して、先
ず、xを固定して、異なるyについて式1により決まる
第1の積和演算(この積和演算を1次元DCT演算と呼
ぶ)を行った後、その演算の結果データに対して、さら
に異なるxについて式1で決まる第2の積和演算を行え
ばよい(これも1次元DCT演算である)。図2の1次
元DCT演算装置31、33はそれぞれこれらの1次元
DCT演算を実行する。
【0008】この第1のDCT演算の結果得られる中間
結果ブロックに対して、第2のDCT演算を二つのこの
演算の途中結果を保持するために、転置メモリ32が使
用される。この転置メモリ32は、各中間結果ブロック
のNxN個のデータを保持するためのNxN個の記憶位
置を有する。これらの記憶位置は、N行N列のいずれか
の行番号との列番号の組みで呼ぶことがある。
【0009】2次元DCT演算は、より具体的には以下
のようにして行われる。メモリ2からは、いずれかの入
力ブロックに属するN行N列の入力データf(x,y)
が、まず最初に第1列に属するN個のデータf(0,
0)からf(0,N)が順次それらのデータが属する行
の順に入力され、次に、次の列のN個のデータf(1,
0)からf(1,N)が行の順に順次入力され、以下同
様にして、第N列のN個のデータf(N,0)からf
(N,N)がそれらの行に順に順次入力される。第1の
1次元DCT演算装置31は、同じ列に属するN個のデ
ータに対して、上記式1に基づいて、yについての積和
演算を、いろいろのxとvの組み合せに対して実行し、
その結果として、xとvとに依存する中間結果データを
生成し、このデータを転置メモリ32の中の、x列v行
に対応する位置に書き込む。より具体的には、1次元D
CT演算装置31は、中間結果データを列順に転置メモ
リ32に順次書き込む。
【0010】第2の1次元DCT演算装置33は、転置
メモリ32内の中間結果データに基づいて、式1で決ま
るxについての積和演算を行う。このときは、N行N列
の中間結果データが行順に順次転置メモリ32から読み
出される。これらに対して、式1で定まる積和演算をそ
れらのN個のデータに対して行い、N行N列の演算結果
データを順次生成する。
【0011】このように転置メモリ32は、異なる方向
の積和演算に供されるので、転置メモリと言われ、2次
元DCT演算を実行するには重要である。
【0012】特開平4−531号公報は、その第3図、
第4図、第5図、第6図、第7図に転置メモリの構成と
そこへのデータの書き込み動作と読み出し動作の制御方
法の例を3つ述べている。以下では、N=8とする。ま
た、転置メモリ32に保持されたいずれかのブロックに
属するN行N列の入力データf(x,y)を保持する8
×8個の記憶位置のアドレスを列順、行順にしたがって
順番に0,1,,63と呼ぶ。
【0013】第1の制御方法では、転置メモリ32とし
て8×8ワードのメモリを1個用い、第1の1次元DC
T演算により得られるN行N列の中間結果データの書き
込みとそれらの読み出しを64サイクル以上の周期ごと
に交互にで行うものである。このときのメモリの動作
は、図3に示すように、まず初めに、ブロック0の中の
64個のデータをアドレス0,1,2,3,,62,6
3の順に書き込む。次に、これらのデータの読み出し
は、アドレス0,8,16,24,,,55,63の順
に行う。このように、書込みアドレスと読出しアドレス
を替えることにより、データの転置を実現している。こ
の場合、メモリの動作は64クロックごとに書き込みと
読み出しが交互に行われるため、データのスループット
は2クロックサイクル/データとなる。
【0014】第2の制御方法では、転置メモリ32とし
て、8×8ワードのメモリを1個用い、図4(1)に示
すように、1クロックサイクルの時間内に前のブロック
のデータの読出しと次のブロックのデータの書込みを順
次行う。このときのメモリの動作は、図4(2)に示す
ように、まず初めにブロック0のデータ64個がアドレ
ス0,1,2,3,4,,,62,63の順に書き込ま
れ、次にブロック0のデータの読み出しとブロック1の
データの書き込みがアドレス0,8,16,24,3
2,,,55,63の順に行われる。このとき、アドレ
スの生成順は64クロック毎に変わる。この場合、デー
タのスループットは1クロックサイクル/データとな
る。
【0015】さらに、第3の転置メモリの構成方法で
は、図2と異なり、図5に示すように、8×8ワードの
転置メモリ53と8×8ワードの転置メモリ54との二
つの転置メモリ読み出しと書き込みに交互に使用する。
1次元DCT演算回路50からのデータは、転置メモリ
51または52に連続的に入力され、これらのメモリに
より転置されたデータは1次元DCT回路57に連続的
に出力される。転置メモリ1が書き込み動作のとき転置
メモリ2は読み出し動作となり、逆に、転置メモリ2が
読み出し動作のとき転置メモリ2は書き込み動作を行う
ように、転置メモリ制御回路51、56がこれらのメモ
リの動作を制御する。この例では、各転地メモリの動作
は64クロックごとに入れ替わる。そのため、1クロッ
クサイクル/データのスループットを実現できる。
【0016】なお、上記3つの従来の構成方法の場合、
データが8×8個の場合転置メモリ部分のレイテンシは
いずれの場合も64となる。
【0017】
【発明が解決しようとする課題】通常、図2に示したよ
うなDCT回路では、1次元DCT演算回路31から転
置メモリ32へのデータが連続的に送られる場合が多
く、1クロックサイクル/データのスループットが要求
される。しかし、図3に示した従来の第1の制御方法で
は、このスループットの要求を満足できない。また、図
4に示した従来の第2の制御方法では、スループットの
要求を満足するが、そのためには、1クロックサイクル
内にデータの読み出しと書き込みを行う必要があり、メ
モリに高速動作が要求される。また、図5および図6に
示した従来の第3の制御方法では、スループットの要求
も満足し、メモリの高速動作も要求されないが、メモリ
を2個用いるため回路規模が増大するという問題があ
る。
【0018】本発明の目的は、特別に高速なメモリを使
用しないで、かつ、回路規模が少なメモリを使用して2
次元直交変換を実現可能な直交変換装置を提供すること
である。
【0019】本発明の他の目的は、特別に高速なメモリ
を使用しないで、かつ、回路規模が少なメモリを使用し
て高いスループットで2次元直交変換を実現可能な直交
変換装置を提供することである。
【0020】
【課題を解決するための手段】上記問題点を解決するた
めに、本発明の直交変換演算装置では、転置メモリは、
複数のメモリセルと、書き込み動作と読み出しを互いに
異なるメモリセルに対して並行して行う回路とを有する
2ポートメモリからなり、このメモリに対する該制御回
路は、第1の1次元直交変換演算装置から供給された各
中間結果データブロックを該メモリに書き込むためのア
ドレスとして、所定の第1のアドレス順と該第1のアド
レス順で決まるアドレス列をN毎に飛ばして得られるア
ドレス列を指定する第2のアドレス順との内、該メモリ
に書き込むべき中間データブロックが変わる毎に交互に
変わるいずれか一方のアドレス順に従って発生する第1
のアドレス発生回路と、該メモリに書き込まれた該各中
間結果データブロックを読み出すためのアドレスとし
て、該各中間結果データブロック内の所定数の中間結果
データが該メモリに書き込まれた後に、該第1、第2の
アドレス順の内、該各中間結果データブロックに対して
該第1のアドレス生成回路が従うアドレス順と異なるア
ドレス順番にしたがって一群の読み出しアドレスを発生
する第2のアドレス発生回路とを有する。
【0021】
【作用】本発明によれば、転地メモリは、ツーポートメ
モリでるため、異なるメモリセルに対しては、データの
書き込みと読み出しを並行して行い得る。しかも、これ
ら同じメモリ内のメモリセルに対して行い得るので、従
来技術で説明した第3の制御方法のごとく、二つのメモ
リを使用する場合より少ないメモリセルで済む。但し、
ツーポートメモリでは、同じメモリセルに対しては同時
に書き込みと読み出しを行えない。本発明では、N×N
のデータの書き込みと並行して読み出しを開始するため
に、第1のアドレス生成回路により発生される書き込み
アドレスより遅れて一群の読み出しアドレスを発生する
ことにより、各読み出しアドレスで指定されるデータが
すでに書き込まれた後に、このデータの読み出しを行う
ようにし、それでもって、読み出しを書き込みと並行し
て実行可能にしている。
【0022】
【実施例】以下、本発明に係るディスクアレイを図面に
示したいくつかの実施例を参照してさらに詳細に説明す
る。なお、以下においては、同じ参照番号は同じものも
しくは類似のものを表わすものとする。
【0023】<実施例1>図1は、本発明による2次元
のDCT演算装置を用いた画像データ圧縮回路の実施例
である。図1において、5はDCT演算装置であり、こ
れ以外の部分は図2に示した従来技術と同じである。D
CT演算装置5の中では、6は図2の回路31と同じ
く、メモリ2から供給される入力ブロックに対してy方
向の積和演算を式1に従って実行して、中間結果ブロッ
クを生成する1次元DCT演算装置である。7はこの中
間結果ブロックを保持する転置メモリであり、本実施例
では2ポートメモリからなる。8は、図2の演算装置3
3と同様に、転置メモリ7から読み出された中間結果ブ
ロックに対して、式1に従って、x方向の積和演算を実
行する第2の1次元DCT演算装置である。DCT制御
回路9は、メモリ2から1次元DCT演算回路への、入
力データの供給に同期して、制御信号15、17および
16を1次元DCT演算回路6、8および転置メモリ制
御回路10に対して供給する。これらの制御信号15、
16、17およびクロック信号14に応答してDCT演
算装置5は動作する。10は転置メモリ制御回路であ
り、ここには、読み出しアドレスを発生するアドレス生
成回路12とそれらを遅延して書き込みアドレスとして
転置メモリ7に供給する遅延回路13と、転置メモリ7
に対する読み出しと書き込みを制御するメモリコントロ
ール信号発生回路11とを有する。メモリコントロール
信号生成回路11は、制御信号16および27に応答し
て転置メモリ7にWrite信号20およびRead信
号21を生成する。本実施例では、各ブロックデータは
8行8列のデータからなると仮定する。従って、転置メ
モリ7も、8×8ワードからなる。この転置メモリ7に
対して第1の1次元DCT演算装置6から供給される8
行8列の中間結果データを、順次一定の方向に、例えば
行方向に、書き込み、この書き込みと並行して、書き込
み済みのデータをこの書き込みと直行する方向、今の例
では列方向に順次読み込むようになっている。さらに、
最初の8行8列のデータがこのメモリ7に書き込まれた
後は、この読み出しと並行して、次の8行8列のデータ
を、今度は、この読み出しと同じく列方向に書き込むよ
うになっている。
【0024】転置用メモリ7に使用するする2ポートメ
モリは、周知のメモリを使用できる。図7に、そのメモ
リの構造の概略を示す。
【0025】各メモリセル60は、一対の書き込みワー
ド線73と、一対のデータが読み出しワード線74と、
一対の書き込みデータ線69、70と、一対の読み出し
データ線71、72に接続されている。このメモリに
は、行方向と列方向に配列された複数のメモリセルを有
するが、図では簡単化のために、一つのメモリセルを示
す。各行に属する一群のメモリセルは、共通の書き込み
ワード線73と読み出しワード線74の対に接続されし
ている。この一群のメモリセルは、このメモリに書き込
むべき中間結果データを構成する複数のビット分に等し
い数よりなる。
【0026】各行の一群のメモリセルに対して、一対の
書き込みワード線73と一対の読み出しワード線74が
同様に設けられているが、図では簡単化のために一つの
行に対するもののみを示す。
【0027】各列に属する一群のメモリセルにも図示し
た一つのメモリセルに接続された一対の書き込みデータ
線69、70と一対の読み出しデータ線71、72が接
続され、さらに、この一対の書き込みデータ線は、デー
タ入力端子65と同じようにデータ入力端子を介して外
部より書き込みデータが供給されるようになっている。
同様に、図示しないメモリセルの各々に接続された一対
のデータ線には、図示したセンスアンプ61、レジスタ
63と同じ回路が接続され、そのメモリセルの読み出し
に使用される。こうして、この各行に属する一群のメモ
リセルが同時に読み出しあるいは書き込み動作を実行す
るようになっている。
【0028】各列に属するメモリセルの数は、各中間結
果データブロックに含まれる中間結果データの総数、今
の例では64に等しい。各行に属する一群のメモリセル
には、他の行に属するメモリセルのアドレスとは異なる
一つの共通なアドレスが割り当てられている。
【0029】この転置用メモリ7は、書き込み動作と読
み出し動作が異なるアドレスのメモリセルに対して同時
に行える。ただし、同一時間における同じアドレスの読
出し動作と書込み動作は禁止される。また、本メモリ
は、図1に示すDCT演算装置5内の他の回路と同一L
SI(大規模集積回路)上に作られる。本転置用2ポー
トメモリ7は、クロック信号14、Write信号2
0、Read信号21、書込みアドレス信号23、読出
しアドレス信号22の入力端子および入力データ端子6
5、出力データ端子66を備えている。さらにメモリ内
部は主に、メモリセル60、センスアンプ61、出力デ
ータ用レジスタ63、メモリコントロール回路64、ア
ドレスデコーダ67、68により構成されている。
【0030】まず書込み時の動作について説明すると、
Write信号20が入力されるとコントロール回路6
4から書込みイネーブル信号77が生成されると同時に
書込みアドレス23がアドレスデコーダ67に入力さ
れ、書き込みワード線73が活性化される。このとき書
込みデータ線69、70の内容がメモリセルに書込まれ
る。一方、読み出し動作は、Read信号21が入力さ
れるとコントロール回路64から読出し書込みイネーブ
ル信号78が生成されると同時に書込みアドレス22が
アドレスデコーダ68に入力され、読出しワード線74
が活性化される。このとき読出しデータ線71、72に
メモリセルの内容が読出される。読出されたメモリセル
の内容は、センスアンプ61により増幅される。増幅さ
れたメモリからの出力データ62は、出力データ用レジ
スタ63により1クロック遅延させて出力される。
【0031】図9に、アドレス生成回路12の回路構成
を示す。この回路14は、7ビットのバイナリカウンタ
90、トライステートバッファ91〜102により構成
され、トライステートバッファ97−102の出力信号
22が転置メモリ7に読出しアドレス信号として供給さ
れ、読み出しアドレス信号22を遅延回路13により遅
延させた信号23が書込みアドレス信号として転置メモ
リ7に供給されるようになっている。バイナリカウンタ
90は、クロックに同期してカウントアップされる。こ
のカウンタのビット数は、N×N個のアドレスを発生す
るに必要なビット数より1大きい値(log22)+
1、今の例では7ビット、に選ばれる。そのカウント値
のビットb0〜b5がアドレス信号として使用される。
カウント値の各ビットは、トライステートバッファ97
から102を介して読み出しアドレス線22に接続され
るとともに、トバッファ91から96を介して読み出し
アドレス線22に接続されている。トライステートバッ
ファ97から102は、カウンタ90の各ビット出力
を、読み出しアドレス線22の、そのビットの位置と同
じ桁位置に供給する。一方、トライステートバッファ9
1から96は、カウンタ90の下位のビットb0,b
1,b2を読み出しアドレス線22の上位桁のビット位
置4、5、6に供給するとともに、カウンタ90の上位
のビットb3,b4,b5を読み出しアドレス線22
の、下位のビット0,1,2の位置に供給するように、
カウンタ90の出力ビットをずらして読み出しアドレス
線に供給している。
【0032】カウンタ90の最上位ビットb6は、トラ
イステートバッファ91〜102を制御するための信号
として使用する。ビットb6が”Low”のときは、ト
ライステートバッファ97〜102を信号が通過するた
め、読み出しアドレス22は、0,1,2・・・・・6
2,63と1ずつインクリメントされる。一方、ビット
b6が”High”のときは、トライステートバッファ
91〜96を信号が通過するため、読み出しアドレス2
2は、0,8,16・・・・・55,63と8ずつイン
クリメントされることになる。ビットb6は、64クロ
ック毎に交互に0と1になるので、読み出しアドレス2
2は、64クロックごとに上の2種類の態様で変化す
る。すなわち、本実施例では、転置メモリ7に対するデ
ータの読み出しは、0,1,,という列順の読み出しと
0,8,,,という行順の読み出しを交互に行うことに
なる。
【0033】遅延回路13は、読出しのアドレス信号2
2を一定時間遅延させ、書込みのアドレス信号23を生
成している。本実施例では、この遅延時間は1クロック
サイクルである。転置メモリ7には、1次元DCT演算
装置6から供給される中間結果ブロックがまず書き込ま
れ、その後、そのブロックが読み出されるため、書き込
みアドレスが読み出しアドレスより先に使用される。し
かし、本実施例では、図12に示し、かつ、後に詳しく
説明するように、書き込まれた中間結果ブロックを読み
出す順は、その中間結果ブロックの書き込み順と異な
る。逆に、ある中間結果ブロックの読み出し順と次の中
間結果ブロックの書き込み順が同じであるため、読み出
しアドレスを遅延して書き込みアドレスとしている。こ
の結果、このアドレス生成回路12により最初に読み出
しアドレス列0,1,,,63が生成されたときには、
読み出すべき中間結果ブロックが転置メモリ7にまだ書
き込まていないことになる。従って、このアドレス列は
転置メモリ7へのアクセスには使用されないようにする
必要がある。図12に示すように、制御信号生成回路1
03は、カウンタ90からのビットb0〜b5が最初に
63に達したときに、制御信号27を生成し、メモリコ
ントロール信号生成回路11にメモリのアクセスを許可
する。この結果、メモリコントロール信号生成回路11
は、この制御信号27が1になる前にアドレス生成回路
12により生成されている上記最初の読み出しアドレス
列による転置メモリ7へのアクセスを行わない。本実施
例では、このようにして、1つのカウンタ90と遅延回
路という簡単な回路により読み出しアドレス列と書き込
みアドレス列を生成することができる。
【0034】図8に、メモリコントロール信号生成回路
11の概略構成を示す。メモリコントロール信号生成回
路11は、主にフリップフロップ80、81、82、ラ
ッチ回路83、84により構成される。本回路には、制
御信号16、クロック信号14、制御信号27が入力さ
れ、Write信号20、Read信号21を出力す
る。動作を図12のタイムチャートを用いながら説明す
る。まず、上記中間結果ブロック0が1次元DCT演算
装置6から転置メモリ7に供給されるより前に、制御信
号16が”High”レベルになるように、DCT制御
回路9(図1)により、制御信号16を1次元DCT演
算装置6に供給される制御信号15に同期して”Hig
h”レベルにされる。この制御信号16がフリップフロ
ップ80に入力され、1クロック遅延された”Hig
h”レベルの信号85が出力される。信号85はラッチ
回路83に入力され、ラッチ回路83によりWrite
信号20が”High”レベルに変化し、転置メモリ6
にデータに書き込みを指示する。この信号20は、中間
結果ブロックが順次1次元DCT演算装置6から転置メ
モリ7に供給されている間は、”High”レベルを維
持する。その後、書き込むべき中間結果ブロックが転置
メモリ7に供給されなくなった時点で、DCT制御装置
9(図1)が制御信号16を”Low”レベルに落すよ
うになっている。したがって、その後制御信号16が”
Low”レベルになったときに、ラッチ回路83は、信
号85の反転信号と信号86が入力されるANDゲート
の出力87によりリセットされ、Write信号20
が”Low”レベルに変化する。またアドレス生成回路
12より供給された制御信号27の”High”レベル
がフリップフロップ82に入力され、1クロック遅延さ
れた”High”レベルの信号88が出力される。信号
88はラッチ回路84に入力され、ラッチ回路84によ
りRead信号21が”High”レベルに変化し、転
置メモリ7にデータの読み出しを指示する。読み出すべ
き中間結果ブロックが転置メモリ7にある間はMこのR
ead信号21は”High”レベルを維持する。その
後、前述の理由により制御信号16が”Low”レベル
になると、制御信号16の反転信号と信号88が入力さ
れるANDゲートの出力89により、ラッチ回路84
は、リセットされ、Read信号21が”Low”レベ
ルに変化する。
【0035】図12に、メモリコントロール信号生成回
路11およびアドレス生成回路12の動作タイミングに
ついて示す。まずDCT制御回路9より制御信号15が
生成され1次元DCT演算回路6の動作が開始される。
その後一定時間経過した後制御信号16が生成され読出
しアドレス信号が生成される。次に、次のクロックでW
rite信号が”High”になると同時に読出しアド
レス信号に対し1クロック遅延した書込みアドレス信号
が生成されブロック0のデータの書込みが開始される。
このとき、Read信号は”Low”のままであるため
データの読出しは行われない。次に、制御信号27によ
りRead信号が”High”になりブロック0のデー
タの読出しが開始される。ここで、実際のデータの出力
は読出しのアドレスに対し1クロック遅延する。そして
次に、次のクロックで読出しアドレス信号に対し1クロ
ック遅延した書込みアドレス信号が生成されブロック1
のデータの書込みが開始される。以後同様に繰り返され
る。
【0036】以下、本実施例での転置メモリ7への中間
結果ブロックの書込みとそれの読出しの詳細を図10と
図11を参照して説明する。
【0037】図1のメモリ2からいずれかの入力データ
ブロックに属する8行8列の入力データが順次1次元D
CT演算装置31に供給され出すのに同期して、この1
次元DCT演算装置6に制御信号15がDCT制御装置
9より供給される。この制御信号16に応答して、1次
元DCT演算装置6において、演算が開始され、そこか
ら中間結果ブロック0を構成する8行8列の中間結果デ
ータが、転置メモリ7に順次供給される。引続き1次元
DCT演算装置6から、後続の中間結果ブロック1を構
成する8行8列の中間結果データが順次メモリ7に供給
される。以下同様にして後続の中間結果ブロックがこの
メモリ7に順次供給される。図10に示すように、これ
らのブロックは順次転置メモリ7に書き込まれる。
【0038】各中間結果ブロックの最後の中間結果デー
タが書き込まれる直前に、その中間結果ブロックの読み
出しが開始される。
【0039】各中間ブロックの書き込みの際、中間結果
ブロックを書き込むメモリセルの順番は、中間ブロック
毎に交互に変更される。本実施例では、先頭の中間結果
ブロック0は、メモリ7の複数のセルに、それらのアド
レス順0,1,2,,にしたがって順次書き込まれ、次
の中間結果ブロック1は、この順できまるアドレス列
を、Nに等しい数毎に飛ばすことにより決まるアドレス
列を規定するアドレス順0,8,16,,に従って順次
書き込まれる。書き込まれた各中間結果ブロックを読み
出すときには、これら二つのアクセス順の内、その中間
結果ブロックが書き込まれたときに採用されたアクセス
順と異なるアクセス順に読み出される。これにより、第
1の1次元DCT演算装置6が行った1次元DCT演算
と異なる1次元DCT演算を第2の1次元DCT演算装
置8が実行し易いように、中間結果データを転置メモリ
7から読み出している。
【0040】図11(1)は、転置メモリ7のアドレス
を、メモリ7の動作を理解し易くするために行列に配置
して示す。図12に例示するように、また、図9に関し
て説明したことから明かなように、本実施例では、ま
ず、中間結果ブロック0の8×8個のデータが、転置メ
モリ7に列順に、すなわち、アドレス0,1,2,
3,,63に順次書き込まれる。この中間結果ブロック
0のデータの書込みが終了する1クロック前からこのブ
ロック0のデータの転置メモリ7からの読出しが開始さ
れる。この読み出しは、行順、すなわち、アドレス0,
8,16,,63の順に読み出される。図11(2)に
はこれらのアドレス8,16、24からの中間結果ブロ
ック0の3つのデータの読み出しが3つの連続するクロ
ックサイクル1、2、3で行われている模様を示す。本
実施例では、この読み出しと並行して、かつ、中間結果
ブロック0の読み出しより1サイクル遅延して、次の中
間結果ブロック1の書き込みが開始される。すなわち、
これらのクロックサイクル1,2、3でこの中間結果ブ
ロック1のデータが順次アドレス0、8、16に書き込
まれる。
【0041】このように図11に示した動作の場合、先
行する中間結果ブロックのための読出しアドレスと同じ
アドレスが、後続の中間結果ブロックの書込みのアドレ
スとして1サイクル遅れて使用される。そのため、転置
メモリ制御回路では読出しのアドレスを生成しそれを遅
延させることにより書込みアドレス信号としており、2
種類のアドレス信号を生成しているにもかかわらず転置
メモリ制御回路10の回路規模はさほど増加しない。
【0042】この中間結果ブロック0の読み出しが終了
すると、次に、この中間結果ブロック1の読み出しが引
き続いて実行される。この際、読み出しは転置メモリ7
の行順に従い、すなわち、アドレス0,1,2,,の順
に行われる。このように、本実施例では、ある中間結果
ブロックの書き込みを中間結果ブロックごとに変化さ
せ、それに併せて、その中間結果ブロックの読み出しの
順を変えている。
【0043】以上から明らかなように、本実施例では、
転置メモリ7としてツーポートメモリを使用して、連続
して中間結果データブロックを書き込みながら、それと
並行して、すでに書き込まれた中間結果ブロックを、そ
の書き込み順と異なる順で読み出すことが出来る。
【0044】本実施例によれば、転置メモリとしてツー
ポートメモリを使用したので、格別に高速動作をするメ
モリを用いることなく、連続する複数のブロックの、転
置メモリへの書き込みと読み出しを実行できる。しか
も、1面構成の転置メモリを使用するので、従来例に記
載した2面構成のメモリを採用する場合より回路規模も
小さく出来る。また、転置メモリ用の書き込みアドレス
を、読み出しアドレスを遅延して生成出来る。これらの
改善により、離散コサイン変換装置全体から見た場合、
約10%の回路規模の低減につながる。
【0045】<実施例2>図13は、本発明の第2の実
施例について示したものである。
【0046】図13は、転置メモリの読出しのアドレス
に対し書込みのアドレスを最大限に遅延させた場合につ
いて示したものである。図13は、ブロック0のデータ
を図に示す様に横方向に書込みながら、ブロック0のデ
ータの縦方向の読出しタイミングを最も早くした場合に
ついて示したものである。図13より、8行8列のデー
タが入力された場合、書込みと読出しのアドレスの方向
の違いより、アドレスの最大遅延量は2N−2となる。
この遅延量より遅延が大きくなった場合、正しいデータ
の読出しが行われない。この理由を図13により説明す
る。図13に示すようにアドレス50の書込みと同時に
アドレス0の読み出しを開始したとする。この動作タイ
ミングの場合、アドレス56の書込みの時アドレス48
の読出しが行われ、メモリは正常動作する。このときの
読出しアドレスに対する書込みアドレスの遅延量は2N
−2となる。しかし、上記読出しアドレスに対する書込
みアドレスの遅延量を更に大きくし2N−1にした場
合、アドレス56の書込みの時間と同時に同じアドレス
56の読出しが行われるため、メモリが正常動作しな
い。これらの理由により、読出しアドレスに対する書込
みアドレスの最大遅延量は2N−2となる。しかしこの
ように、アドレスの遅延量を大きくすることによりメモ
リのレイテンシを減らすことができる。これについて図
14を用いて説明する。図14の(1)は、読出しアド
レスに対し書込みのアドレスの遅延量が1の場合を示し
ている。この場合、データがメモリに入力されてから出
力されるまでのレイテンシはN2となる。ここで、レイ
テンシがN2−1ではなくN2になる理由は、本実施例に
用いたメモリがデータの出力部にレジスタを持つため、
読み出しのアドレス信号が入力されてから実際の出力結
果が1クロック遅延するためである。次に、図14
(2)は、読出しアドレスに対し書込みのアドレスの遅
延量が最大の2N−2の場合を示している。この場合、
データがメモリに入力されてから出力されるまでのレイ
テンシはN2−(2N−1)となり、レイテンシの小さ
い回路を設計することができる。ここで、データの入力
から出力までの時間の短縮が要求されるようなシステム
の場合では、本発明によりレイテンシの小さい回路を提
供することができる。
【0047】<変形例> (1)以上の実施例では、主に8×8のデータが入力さ
れた場合について示したが、本発明は、その他の大きさ
のデータについても適用可能である。
【0048】(2)実施例1、2の回路構成は、2次元
離散コサイン変換(DCT)のみならず、2次元離散サ
イン変換(DST)にも同様に適用される。
【0049】
【発明の効果】本発明によれば、各データブロックの転
置メモリへの書き込みと読み出しを高速に連続して実行
できる、回路が比較的簡単で、使用するメモリの回路規
模が比較的小さい2次元直交変換装置を得ることが出来
る。
【図面の簡単な説明】
【図1】本発明による離散コサイン変換装置の第1の実
施例を示す図。
【図2】一つのメモリを用いる従来の離散コサイン変換
装置の概略構成を示す図。
【図3】従来の離散コサイン変換装置の転置メモリの動
作タイミングを示す図。
【図4】従来の離散コサイン変換装置の他の転置メモリ
の動作タイミングを示す図。
【図5】二つのメモリを用いる従来の離散コサイン変換
装置の概略構成を示す図。
【図6】図5の装置の転置メモリの動作タイミングを示
す図。
【図7】図1の装置に用いる転置メモリの概略構成図。
【図8】図1の装置に用いるメモリコントロール信号生
成回路の概略回路構成図。
【図9】図1の装置に用いるアドレス生成回路の概略回
路構成図。
【図10】図1の装置の転置メモリに対する読み出しと
書き込みの概略動作タイミングを示す図。
【図11】図1の装置の転置メモリに対する読み出しと
書き込みのより詳細な動作タイミングを示す図。
【図12】図1の装置のメモリコントロール信号生成回
路およびアドレス生成回路の動作タイミングを示す図。
【図13】本発明の第2の実施例における転置メモリの
動作タイミングを示す図。
【図14】本発明の第2の実施例における転置メモリの
レイテンシーを示す図。
【符号の説明】
14………クロック信号 15,16………制
御信号 17………制御信号 18………1次元
DCT演算回路出力 19………転置メモリ出力 20………Wri
te信号 21………Read信号 22………読出し
アドレス 23………書込みアドレス 27………制御信
号 62………出力データ 65………データ
入力端子 66………データ出力端子 69………書込み
データ線 70………書込みデータ線 71………読出し
データ線 72………読出しデータ線 73………書込み
ワード線 74………書込みワード線 75………アドレ
スデコーダ出力信号 76………アドレスデコーダ出力信号 77………書込み
イネーブル信号線 78………読出しイネーブル信号線 80,81,82 ……
…フリップフロップ 83.84………ラッチ回路 90………バイナ
リカウンタ 91〜102…トライステートバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 渡辺 浩己 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 奥 万寿男 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所映像メディア研究所内 (72)発明者 堀 仁一 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体事業部内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】それぞれN行N列(Nは2以上の整数)に
    構成された入力データからなり、順次供給される複数の
    入力データブロックのそれぞれに対して、行と列の一方
    に関する第1の1次元直交変換を順次実行し、それぞれ
    N行N列の中間結果データからなる複数の中間結果デー
    タブロックを順次生成する第1の演算装置と、 該複数の中間結果データブロックを順次保持するための
    メモリと、 該メモリに保持された各中間結果データブロックに対し
    て該行と列の他方に関する第2の1次元直交変換を実行
    し、2次元直交変換結果を表わすN行N列に構成された
    変換結果データからなるデータブロックを生成する第2
    の演算装置と、 該メモリに対する書き込みと読み出しの実行を制御する
    制御回路とを有し、 該メモリは、複数のメモリセルと、該複数のメモリセル
    の異なる二つにデータの書き込みとデータの読み出しを
    並列に実行可能な周辺回路とを有するツーポートメモリ
    からなり、 該制御回路は、 該第1の演算装置から供給された各中間結果データブロ
    ックを該メモリに書き込むためのアドレスとして、所定
    の第1のアドレス順と該第1のアドレス順で決まるアド
    レス列を該N毎に飛ばして得られるアドレス列を指定す
    る第2のアドレス順との内、該メモリに書き込むべき中
    間データブロックが変わる毎に交互に変わる一方のアド
    レス順に従って発生する第1のアドレス発生回路と、 該メモリに書き込まれた該各中間結果データブロックを
    読み出すためのアドレスとして、該各中間結果データブ
    ロック内の所定数の中間結果データが該メモリに書き込
    まれた後に、該第1、第2のアドレス順の内、該各中間
    結果データブロックに対して該第1のアドレス生成回路
    が従うアドレス順と異なるアドレス順番にしたがって一
    群の読み出しアドレスを発生する第2のアドレス発生回
    路とを有する2次元直交変換演算装置。
  2. 【請求項2】該所定数は、N×Nより小さい請求項1記
    載の2次元直交変換演算装置。
  3. 【請求項3】該所定数は、N×N−(2N−2)以上で
    ある請求項1記載の2次元直交変換演算装置。
  4. 【請求項4】該所定数は、N×N−(2N−2)からN
    ×N−1の範囲に属する請求項1記載の2次元直交変換
    演算装置。
  5. 【請求項5】該第2のアドレス発生回路は、 前記第1、第2のアドレス順の内、該メモリに書き込む
    べき中間結果データブロックが変わる毎に交互に変わる
    一方の順番に従って一群のアドレスを各中間結果データ
    ブロックに対して順次発生する回路と、 該複数の中間結果データブロックの各々に対して発生し
    た一群のアドレスの内、先頭の中間結果データブロック
    以外の中間結果データブロックの各々に対して発生した
    一群のアドレスを該メモリに有効な読み出しアドレスと
    して供給する回路とを有し、 該第1のアドレス発生回路は、該第1のアドレス発生回
    路により各中間結果データブロックに対して発生された
    一群のアドレスを所定時間遅延する回路と、 該各中間結果データブロックに対する遅延後の一群のア
    ドレスを有効な書き込みアドレスとして該メモリに供給
    する回路とを有し、 該第1のアドレス発生回路により該先頭の中間結果デー
    タブロックに対する該一群の書き込みアドレスは、該第
    2の演算装置から該メモリに該先頭の中間結果データブ
    ロックが供給されるタイミングに同期して発生されるよ
    うに、該第2のアドレス発生回路は、該先頭の中間結果
    ブロックに該第1の演算装置から供給されるタイミング
    より先行して該先頭の中間結果データブロックに対する
    一群の読み出しアドレスを生成し始める請求項1記載の
    2次元直交変換演算装置。
  6. 【請求項6】該所定時間は、1から(2N−2)から選
    んだいずれかの整数と該2次元直交変換演算装置を制御
    する基本クロックサイクルとの積に等しい請求項5記載
    の2次元直交変換演算装置。
  7. 【請求項7】上記第1、第2の演算装置、上記メモリお
    よび上記制御回路は、共通の大規模集積回路上に形成さ
    れている請求項1記載の2次元直交変換演算装置。
  8. 【請求項8】該第1、第2の1次元直交変換演算装置
    は、離散コサイン変換演算装置である請求項1記載の2
    次元直交変換演算装置。
  9. 【請求項9】該第1、第2の1次元直交変換演算装置
    は、離散サイン変換演算装置である請求項1記載の2次
    元直交変換演算装置。
JP10491495A 1995-04-28 1995-04-28 2次元直交変換演算装置 Pending JPH08305819A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10491495A JPH08305819A (ja) 1995-04-28 1995-04-28 2次元直交変換演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10491495A JPH08305819A (ja) 1995-04-28 1995-04-28 2次元直交変換演算装置

Publications (1)

Publication Number Publication Date
JPH08305819A true JPH08305819A (ja) 1996-11-22

Family

ID=14393381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10491495A Pending JPH08305819A (ja) 1995-04-28 1995-04-28 2次元直交変換演算装置

Country Status (1)

Country Link
JP (1) JPH08305819A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154140A (ja) * 1996-11-26 1998-06-09 Sony Corp 行列転置装置
WO2007010694A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 画像符号化装置及び画像符号化方法
JP2008017405A (ja) * 2006-07-10 2008-01-24 Matsushita Electric Ind Co Ltd 2次元直交変換装置、2次元直交変換方法および撮像システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154140A (ja) * 1996-11-26 1998-06-09 Sony Corp 行列転置装置
WO2007010694A1 (ja) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. 画像符号化装置及び画像符号化方法
JP2008017405A (ja) * 2006-07-10 2008-01-24 Matsushita Electric Ind Co Ltd 2次元直交変換装置、2次元直交変換方法および撮像システム

Similar Documents

Publication Publication Date Title
JP2002518730A (ja) 単一命令複数データシステムに使用するレジスタにアクセスするレジスタおよびアクセス方法
US6105114A (en) Two-dimensional array transposition circuit reading two-dimensional array in an order different from that for writing
EP0248906A1 (en) Multi-port memory system
US4841435A (en) Data alignment system for random and block transfers of embedded subarrays of an array onto a system bus
JPH077260B2 (ja) 画像データ回転処理装置及びその方法
US5938763A (en) System for transposing data from column order to row order
JPH08305819A (ja) 2次元直交変換演算装置
JPH0256760B2 (ja)
JP3092526B2 (ja) 2次元逆離散コサイン変換回路
JPH1074141A (ja) 信号処理装置
US6625708B1 (en) Method and apparatus for dynamically defining line buffer configurations
JP2851804B2 (ja) 2次元直交変換装置
JPH07210545A (ja) 並列処理プロセッサ
JP2001117909A (ja) マトリクス形式データの転置回路
US5715200A (en) Memory devices
JP2000232623A (ja) 映像メモリ回路
US5887137A (en) Data processing apparatus having a sorting unit to provide sorted data to a processor
JPH04360425A (ja) 半導体記憶装置
JPH1027130A (ja) 画像処理装置およびその処理方法
JP3093359B2 (ja) ラインバッファリング処理回路
JPH03196257A (ja) ベクトル処理装置
JP2002159006A (ja) 演算補助回路
KR0120598B1 (ko) 메모리 보드의 설계방법 및 장치
JP2523687Y2 (ja) 画像データ処理装置
JPH08147269A (ja) 直交変換装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040129

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040427