JPH0785259A - データ処理方法およびシグナルプロセッサ - Google Patents
データ処理方法およびシグナルプロセッサInfo
- Publication number
- JPH0785259A JPH0785259A JP5231477A JP23147793A JPH0785259A JP H0785259 A JPH0785259 A JP H0785259A JP 5231477 A JP5231477 A JP 5231477A JP 23147793 A JP23147793 A JP 23147793A JP H0785259 A JPH0785259 A JP H0785259A
- Authority
- JP
- Japan
- Prior art keywords
- data
- matrix
- signal processor
- bits
- processing method
- 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
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【目的】 従来に比し処理能力が大幅に向上したデータ
処理方法およびシグナルプロセッサを提供することを目
的としている。 【構成】 画像符号化等で広く採用されているブロック
処理を行うシグナルプロセッサを対象として、 512× 5
12画素の画面を 8× 8画素のサイズのブロックに分割
し、ブロック単位で画像データを処理する。
処理方法およびシグナルプロセッサを提供することを目
的としている。 【構成】 画像符号化等で広く採用されているブロック
処理を行うシグナルプロセッサを対象として、 512× 5
12画素の画面を 8× 8画素のサイズのブロックに分割
し、ブロック単位で画像データを処理する。
Description
【0001】
【産業上の利用分野】本発明は、画像処理等に用いられ
るデータ処理方法およびシグナルプロセッサに関する。
るデータ処理方法およびシグナルプロセッサに関する。
【0002】
【従来の技術】テレビ電話の符号化技術が国際標準化さ
れる等、画像処理装置の小型化への要求が高まってい
る。画像処理装置の実現手段としては、専用LSIによ
るアプローチと汎用のシグナルプロセッサによるアプロ
ーチとがある。後者のシグナルプロセッサは、蓄積した
命令を変更することにより仕様変更に柔軟に対応できる
ため、技術進歩の著しい画像符号化等の応用には有望な
実現手段である。このため最近、画像符号化を目的とし
た画像用シグナルプロセッサの開発が積極的に進められ
ているが、膨大なデータ量を有する画像の処理を実現す
るには、現状の単一LSIの処理能力では不十分であ
り、複数のLSIを用いて実現する必要がある。しかし
て、装置の小型化のためには、画像処理能力の高い画像
用シグナルプロセッサの開発が望まれている。
れる等、画像処理装置の小型化への要求が高まってい
る。画像処理装置の実現手段としては、専用LSIによ
るアプローチと汎用のシグナルプロセッサによるアプロ
ーチとがある。後者のシグナルプロセッサは、蓄積した
命令を変更することにより仕様変更に柔軟に対応できる
ため、技術進歩の著しい画像符号化等の応用には有望な
実現手段である。このため最近、画像符号化を目的とし
た画像用シグナルプロセッサの開発が積極的に進められ
ているが、膨大なデータ量を有する画像の処理を実現す
るには、現状の単一LSIの処理能力では不十分であ
り、複数のLSIを用いて実現する必要がある。しかし
て、装置の小型化のためには、画像処理能力の高い画像
用シグナルプロセッサの開発が望まれている。
【0003】図10は現在広く用いられている汎用のシ
グナルプロセッサの構成例であり、16ビットのデータバ
ス1上に乗算器2、演算装置3、データメモリ4および
周辺インターフェース5が接続され、命令制御部6が命
令メモリ7に記憶された命令に応じてデータ転送等を制
御する構成とされている。なお、画像用シグナルプロセ
ッサの一部は画像用に最適化されているが、多くの画像
用シグナルプロセッサは基本的には図10に示した構成
と同じくする。
グナルプロセッサの構成例であり、16ビットのデータバ
ス1上に乗算器2、演算装置3、データメモリ4および
周辺インターフェース5が接続され、命令制御部6が命
令メモリ7に記憶された命令に応じてデータ転送等を制
御する構成とされている。なお、画像用シグナルプロセ
ッサの一部は画像用に最適化されているが、多くの画像
用シグナルプロセッサは基本的には図10に示した構成
と同じくする。
【0004】さて、このようなシグナルプロセッサに共
通する特徴としては、取り扱うデータの単位が基本的に
スカラ値であることである。図11はこうしたスカラ値
を処理する信号処理の一般的な例である。同図の例で
は、1データ単位(1画素)として 8ビットのスカラデ
ータX,Yを順次演算装置8に入力し、順次 8ビットの
演算結果Zを得る。
通する特徴としては、取り扱うデータの単位が基本的に
スカラ値であることである。図11はこうしたスカラ値
を処理する信号処理の一般的な例である。同図の例で
は、1データ単位(1画素)として 8ビットのスカラデ
ータX,Yを順次演算装置8に入力し、順次 8ビットの
演算結果Zを得る。
【0005】従って、スカラ値を処理するシグナルプロ
セッサには、 (1)演算処理はスカラ演算を基本とする。
セッサには、 (1)演算処理はスカラ演算を基本とする。
【0006】(2)メモリのアドレッシングはスカラ単
位に行う。
位に行う。
【0007】(3)バスのサイズはスカラ値のビット単
位と同一か、その2〜3倍の値である。
位と同一か、その2〜3倍の値である。
【0008】等の共通の特徴がある。
【0009】しかし、このような従来のシグナルプロセ
ッサを用いて膨大なデータ量の画像情報等を処理する場
合、1命令で処理できるデータ量が限られるため、必要
な命令のステップ数が非常に大きくなり、シグナルプロ
セッサの命令サイクルの高速化が要求される。そして、
多くの場合は、命令サイクルの高速化では対応しきれな
いため、複数のシグナルプロセッサを必要とすることに
なる。
ッサを用いて膨大なデータ量の画像情報等を処理する場
合、1命令で処理できるデータ量が限られるため、必要
な命令のステップ数が非常に大きくなり、シグナルプロ
セッサの命令サイクルの高速化が要求される。そして、
多くの場合は、命令サイクルの高速化では対応しきれな
いため、複数のシグナルプロセッサを必要とすることに
なる。
【0010】
【発明が解決しようとする課題】本発明は、このような
課題を解決するためになされたもので、従来に比し処理
能力が大幅に向上したデータ処理方法およびシグナルプ
ロセッサを提供することを目的としている。
課題を解決するためになされたもので、従来に比し処理
能力が大幅に向上したデータ処理方法およびシグナルプ
ロセッサを提供することを目的としている。
【0011】
【課題を解決するための手段】かかる課題を解決するた
め、第1の発明のデータ処理方法は、多数のデータを少
なくとも2×2以上のマトリクスで表現されるマトリク
スデータに分割し、このマトリクスデータを単位データ
とみなしてデータを処理することを特徴とする。 第2
の発明は、第1の発明のデータ処理方法において、マト
リクスデータを構成する各データが複数ビットからな
り、各データの最下位ビットの時間位置が相互に同一で
あることを特徴とする。
め、第1の発明のデータ処理方法は、多数のデータを少
なくとも2×2以上のマトリクスで表現されるマトリク
スデータに分割し、このマトリクスデータを単位データ
とみなしてデータを処理することを特徴とする。 第2
の発明は、第1の発明のデータ処理方法において、マト
リクスデータを構成する各データが複数ビットからな
り、各データの最下位ビットの時間位置が相互に同一で
あることを特徴とする。
【0012】第3の発明は、第1の発明のデータ処理方
法において、マトリクスデータを構成する各データが複
数ビットからなり、各データの最下位ビットのうち少な
くとも2以上の最下位ビットの時間位置が相互に異なる
ことを特徴とする。
法において、マトリクスデータを構成する各データが複
数ビットからなり、各データの最下位ビットのうち少な
くとも2以上の最下位ビットの時間位置が相互に異なる
ことを特徴とする。
【0013】第4の発明は、第2または第3の発明のデ
ータ処理方法において、マトリクスデータを構成するビ
ットを時間的に並列に処理し、各データを構成するビッ
トを時間的に直列に処理することを特徴とする。
ータ処理方法において、マトリクスデータを構成するビ
ットを時間的に並列に処理し、各データを構成するビッ
トを時間的に直列に処理することを特徴とする。
【0014】第5の発明は、複数ビットで表現される各
データを直列に並べ、これら複数のデータをマトリクス
状に束ねたデータ群を単位データとして記憶する記憶手
段と、前記データ群のうち同一のマトリクスを構成する
ビットを時間的に並列に処理し、前記データ群のうち各
データを構成するビットを時間的に直列に処理する演算
手段とを具備する。
データを直列に並べ、これら複数のデータをマトリクス
状に束ねたデータ群を単位データとして記憶する記憶手
段と、前記データ群のうち同一のマトリクスを構成する
ビットを時間的に並列に処理し、前記データ群のうち各
データを構成するビットを時間的に直列に処理する演算
手段とを具備する。
【0015】第6の発明は、第5の発明のシグナルプロ
セッサであって、前記記憶手段に記憶されたデータ群の
うち1つのデータ群を単位データとして指定できる命令
をもつ制御手段をさらに具備する。
セッサであって、前記記憶手段に記憶されたデータ群の
うち1つのデータ群を単位データとして指定できる命令
をもつ制御手段をさらに具備する。
【0016】第7の発明は、第5の発明のシグナルプロ
セッサであって、前記演算手段がビット直列の複数のパ
イプライン演算処理装置を備え、これらパイプライン演
算処理装置がマトリクスを構成する各データの最下位ビ
ットから同一のタイミングで処理する。
セッサであって、前記演算手段がビット直列の複数のパ
イプライン演算処理装置を備え、これらパイプライン演
算処理装置がマトリクスを構成する各データの最下位ビ
ットから同一のタイミングで処理する。
【0017】第8の発明は、第5の発明のシグナルプロ
セッサであって、前記演算手段がビット直列の複数のパ
イプライン演算処理装置を備え、これらパイプライン演
算処理装置がマトリクスを構成する各データの最下位ビ
ットのうち少なくとも2以上の最下位ビットを相互に異
なるタイミングで処理する。
セッサであって、前記演算手段がビット直列の複数のパ
イプライン演算処理装置を備え、これらパイプライン演
算処理装置がマトリクスを構成する各データの最下位ビ
ットのうち少なくとも2以上の最下位ビットを相互に異
なるタイミングで処理する。
【0018】
【作用】本発明では、多数のデータをマトリクスで表現
されるマトリクスデータに分割し、このマトリクスデー
タを単位データとみなしてデータを処理しているので、
従来に比し1命令で処理できるデータ量が飛躍的に増大
し、処理能力が大幅に向上する。
されるマトリクスデータに分割し、このマトリクスデー
タを単位データとみなしてデータを処理しているので、
従来に比し1命令で処理できるデータ量が飛躍的に増大
し、処理能力が大幅に向上する。
【0019】
【実施例】以下、本発明の実施例の詳細を図面に基づき
説明する。
説明する。
【0020】図1および図2は本発明の基本的概念を説
明するための図である。
明するための図である。
【0021】本発明は、画像符号化等で広く採用されて
いるブロック処理を行うシグナルプロセッサを対象とし
て、例えば図1に示すように 512× 512画素の画面を 8
× 8画素のサイズのブロックに分割し、ブロック単位で
画像データを処理する。つまり、 8× 8画素(N×N)
のサイズにブロック化された画像データを図2に示すよ
うにN×Nのマトリクスとみなし、このN×Nのマトリ
クスを1つのデータ単位として取り扱う。これにより、
ブロック化されたデータも基本的には画素毎に処理して
いた従来例に比し、画像データを効率的に処理できる。
なお、ブロック化するデータのサイズは、N×Nではな
く、N1 ×N2 (N1 ≠N2 )であっても構わない(以
下の説明においても同様である。)。
いるブロック処理を行うシグナルプロセッサを対象とし
て、例えば図1に示すように 512× 512画素の画面を 8
× 8画素のサイズのブロックに分割し、ブロック単位で
画像データを処理する。つまり、 8× 8画素(N×N)
のサイズにブロック化された画像データを図2に示すよ
うにN×Nのマトリクスとみなし、このN×Nのマトリ
クスを1つのデータ単位として取り扱う。これにより、
ブロック化されたデータも基本的には画素毎に処理して
いた従来例に比し、画像データを効率的に処理できる。
なお、ブロック化するデータのサイズは、N×Nではな
く、N1 ×N2 (N1 ≠N2 )であっても構わない(以
下の説明においても同様である。)。
【0022】図3は本発明に係るデータ構造の一例であ
る。
る。
【0023】同図に示すデータ構造の特徴は、Lビット
で直列に表現される1画素のデータをN1 ×N2 画素だ
け束ねたデータ群とし、このデータ群を1つのデータ単
位として取り扱うところにある。そして、このデータ群
に対する処理は、同一のタイミングでLSBからMSB
の順にN1 ×N2 ビットのデータを、画素方向に時間並
列に、ビット方向に時間直列に行う。例えば図4に示す
ように、データ群X,Yの各N1 ×N2 ビットのマトリ
クスデータを1クロック毎にLSBからMSBの順に演
算装置9に入力する。演算装置9は、1クロックでN1
×N2 ビットのマトリクスデータを同時に処理する。そ
して、演算装置9は、N1 ×N2 ビットのマトリクスデ
ータを1クロック毎にLSBからMSBの順にパイプラ
イン的に出力する。よって、Lクロックで演算結果Zを
算出することになる。
で直列に表現される1画素のデータをN1 ×N2 画素だ
け束ねたデータ群とし、このデータ群を1つのデータ単
位として取り扱うところにある。そして、このデータ群
に対する処理は、同一のタイミングでLSBからMSB
の順にN1 ×N2 ビットのデータを、画素方向に時間並
列に、ビット方向に時間直列に行う。例えば図4に示す
ように、データ群X,Yの各N1 ×N2 ビットのマトリ
クスデータを1クロック毎にLSBからMSBの順に演
算装置9に入力する。演算装置9は、1クロックでN1
×N2 ビットのマトリクスデータを同時に処理する。そ
して、演算装置9は、N1 ×N2 ビットのマトリクスデ
ータを1クロック毎にLSBからMSBの順にパイプラ
イン的に出力する。よって、Lクロックで演算結果Zを
算出することになる。
【0024】図5はデータ構造の他の例である。
【0025】同図に示すデータ構造の特徴は、Lビット
で直列に表現される1画素のデータをN1 ×N2 画素だ
け束ねたデータ群とし、このデータ群を1つのデータ単
位として取り扱うところは図3に示したデータ構造と同
様であるが、各画素のLSBの時間位置が相互に異なる
ところにある。これは、図3に示したデータ構造では、
N1 ×N2 ビットの演算を1クロックで同時に実行する
ため、各ビット当りの演算素子速度の高速化が要求され
るのに対して、図5に示したデータ構造とすれば、各画
素のLSBの時間位置が相互に異なることから各画素の
LSBからみたビット位置の同一の各ビットデータを複
数のクロックでパイプライン的に処理できるため、演算
素子速度が低速ですむからである。そして、このデータ
群に対する処理は、画素間で相互に異なるタイミングで
LSBからMSBの順にN1 ×N2 ビットのデータを、
画素方向に時間並列に、ビット方向に時間直列に行う。
例えば図6に示すように、データ群X,Yの各N1 ×N
2 ビットのマトリクスデータをL×Nクロックを要して
演算装置10に入力する。演算装置10は、1クロック
で1からN1 ×N2 ビットのデータを同時に処理する。
そして、演算装置10は、各画素の入力タイミングから
Lクロックを要してパイプライン的に演算結果Zを算出
する。よって、1つのマトリクスデータの処理開始から
終了までにL×Nクロックを要するが、パイプライン処
理を採用していることから複数のマトリクスデータを順
に処理することを考えれば、全体的なスループットは図
3に示したデータ構造を採用した場合と同一になる。
で直列に表現される1画素のデータをN1 ×N2 画素だ
け束ねたデータ群とし、このデータ群を1つのデータ単
位として取り扱うところは図3に示したデータ構造と同
様であるが、各画素のLSBの時間位置が相互に異なる
ところにある。これは、図3に示したデータ構造では、
N1 ×N2 ビットの演算を1クロックで同時に実行する
ため、各ビット当りの演算素子速度の高速化が要求され
るのに対して、図5に示したデータ構造とすれば、各画
素のLSBの時間位置が相互に異なることから各画素の
LSBからみたビット位置の同一の各ビットデータを複
数のクロックでパイプライン的に処理できるため、演算
素子速度が低速ですむからである。そして、このデータ
群に対する処理は、画素間で相互に異なるタイミングで
LSBからMSBの順にN1 ×N2 ビットのデータを、
画素方向に時間並列に、ビット方向に時間直列に行う。
例えば図6に示すように、データ群X,Yの各N1 ×N
2 ビットのマトリクスデータをL×Nクロックを要して
演算装置10に入力する。演算装置10は、1クロック
で1からN1 ×N2 ビットのデータを同時に処理する。
そして、演算装置10は、各画素の入力タイミングから
Lクロックを要してパイプライン的に演算結果Zを算出
する。よって、1つのマトリクスデータの処理開始から
終了までにL×Nクロックを要するが、パイプライン処
理を採用していることから複数のマトリクスデータを順
に処理することを考えれば、全体的なスループットは図
3に示したデータ構造を採用した場合と同一になる。
【0026】次に、本発明に係るデータ構造の画像デー
タを処理するシグナルプロセッサの一例を説明する。
タを処理するシグナルプロセッサの一例を説明する。
【0027】図7はこのシグナルプロセッサの構成を示
す図である。
す図である。
【0028】同図において、11はN×N本の信号線か
らなるデータ転送用のマトリクスデータバスである。マ
トリクスデータバス11には、メモリ(データRAM
X)12、メモリ(データRAMY)13、マトリクス
演算装置14およびマトリクスI/O15が接続されて
いる。そして、命令制御部16が命令メモリ17に記憶
されたプログラムに応じてデータ転送等を制御する構成
とされている。
らなるデータ転送用のマトリクスデータバスである。マ
トリクスデータバス11には、メモリ(データRAM
X)12、メモリ(データRAMY)13、マトリクス
演算装置14およびマトリクスI/O15が接続されて
いる。そして、命令制御部16が命令メモリ17に記憶
されたプログラムに応じてデータ転送等を制御する構成
とされている。
【0029】メモリ12、13は、N×N×Lビットの
単位データを複数記憶する。これらメモリ12、13で
は、命令制御部16からのアドレス指定に応じて単位デ
ータ毎に読み出しおよび書き込みが行われる。つまり、
1回のアドレス指定で1つの単位データの読み出しおよ
び書き込みが行われる。そして、ある単位データの読み
出し命令を受けたメモリ12、13からは、単位データ
のうちN×NエレメントのデータがLSBから直列に出
力される。各エレメント間でのデータ出力のタイミング
としては、図3に示したデータ構造を採用する場合には
N×Nエレメントの各ビットデータが同時に出力され、
図5に示したデータ構造を採用する場合にはN×Nエレ
メントの各ビットデータが相互に異なるタイミングで出
力される。また、ある単位データの書き込み命令を受け
たメモリ12、13にも、これと同様のタイミングで単
位データが命令制御部16から指定されたアドレスに書
き込まれる。
単位データを複数記憶する。これらメモリ12、13で
は、命令制御部16からのアドレス指定に応じて単位デ
ータ毎に読み出しおよび書き込みが行われる。つまり、
1回のアドレス指定で1つの単位データの読み出しおよ
び書き込みが行われる。そして、ある単位データの読み
出し命令を受けたメモリ12、13からは、単位データ
のうちN×NエレメントのデータがLSBから直列に出
力される。各エレメント間でのデータ出力のタイミング
としては、図3に示したデータ構造を採用する場合には
N×Nエレメントの各ビットデータが同時に出力され、
図5に示したデータ構造を採用する場合にはN×Nエレ
メントの各ビットデータが相互に異なるタイミングで出
力される。また、ある単位データの書き込み命令を受け
たメモリ12、13にも、これと同様のタイミングで単
位データが命令制御部16から指定されたアドレスに書
き込まれる。
【0030】マトリクス演算装置14は、マトリクスデ
ータバス11を介して転送された単位データを入力し、
命令制御部16からの命令に応じてマトリクス演算を実
行する。図8はこのマトリクス演算装置14の構成を示
す図であり、同図に示すマトリクス演算装置14は、ラ
ッチ18、19、エレメント変換回路20、選択回路2
1、乗算器22、選択回路23、24、演算装置25、
アキュムレータ26および選択回路27から構成され
る。そして、まず語長がそれぞれLX ビット、LY ビッ
トでN×Nマトリクスの入力データX、Yは、それぞれ
ラッチ18、19に保持される。これらのラッチ18、
19は、それぞれN×N個のシフトレジスタから構成さ
れる。なお、LX 、LY ビットのデータの出力後の保持
モードでは、出力を入力に循環させることにより出力開
始時点のデータを保持する。エレメント変換回路20
は、複数のマルチプレクサにより構成される。そして、
データX側のラッチ18の後段に配置され、命令制御部
16の指示に基づき転置等のマトリクスエレメントの位
置の入れ替えを行う。選択回路21は、命令制御部16
の指示に基づきラッチ18または選択回路27のうちい
ずれか一方の出力を選択し、転置等のマトリクスエレメ
ントの位置の入れ替えを行う。乗算器22は、N×N個
のLY段直列演算型パイプライン乗算器から構成され、
エレメント変換回路20の出力と選択回路21の出力と
間の乗算を実行する。各パイプライン乗算器のデータ入
力側にはX側のマトリクスエレメントのデータがLSB
より順に入力され、各パイプライン乗算器の係数データ
入力側にはY側のマトリクスエレメントのデータがLS
Bより順に入力される。なお、係数データ入力側の語長
LYはパイプライン乗算器の段数によって決まるが、デ
ータ入力側の語長LX はモード設定等で乗算器22への
制御データを変更することにより可変することができ
る。選択回路23は、命令制御部16の指示に基づきエ
レメント変換回路20または乗算器22のうちいずれか
一方の出力を選択する。選択回路24は、命令制御部1
6の指示に基づき選択回路21または選択回路27のう
ちいずれか一方の出力を選択する。演算装置25は、選
択回路23の出力と選択回路24の出力とを入力し、エ
レメント間の加減算や比較等の乗算以外の主要演算を各
エレメント間のデータに対して実行する。演算装置25
の出力は、N×N×LY ビットのマトリクスデータを蓄
える複数のアキュムレータ26a、26b…に入力され
る。そして、これらアキュムレータ26a、26b…に
蓄えられたデータのうち1つのマトリクスデータが選択
回路27により選択され、演算結果として出力され、ま
た選択回路21を介して乗算器22や選択回路24を介
して演算装置25に再び入力される。
ータバス11を介して転送された単位データを入力し、
命令制御部16からの命令に応じてマトリクス演算を実
行する。図8はこのマトリクス演算装置14の構成を示
す図であり、同図に示すマトリクス演算装置14は、ラ
ッチ18、19、エレメント変換回路20、選択回路2
1、乗算器22、選択回路23、24、演算装置25、
アキュムレータ26および選択回路27から構成され
る。そして、まず語長がそれぞれLX ビット、LY ビッ
トでN×Nマトリクスの入力データX、Yは、それぞれ
ラッチ18、19に保持される。これらのラッチ18、
19は、それぞれN×N個のシフトレジスタから構成さ
れる。なお、LX 、LY ビットのデータの出力後の保持
モードでは、出力を入力に循環させることにより出力開
始時点のデータを保持する。エレメント変換回路20
は、複数のマルチプレクサにより構成される。そして、
データX側のラッチ18の後段に配置され、命令制御部
16の指示に基づき転置等のマトリクスエレメントの位
置の入れ替えを行う。選択回路21は、命令制御部16
の指示に基づきラッチ18または選択回路27のうちい
ずれか一方の出力を選択し、転置等のマトリクスエレメ
ントの位置の入れ替えを行う。乗算器22は、N×N個
のLY段直列演算型パイプライン乗算器から構成され、
エレメント変換回路20の出力と選択回路21の出力と
間の乗算を実行する。各パイプライン乗算器のデータ入
力側にはX側のマトリクスエレメントのデータがLSB
より順に入力され、各パイプライン乗算器の係数データ
入力側にはY側のマトリクスエレメントのデータがLS
Bより順に入力される。なお、係数データ入力側の語長
LYはパイプライン乗算器の段数によって決まるが、デ
ータ入力側の語長LX はモード設定等で乗算器22への
制御データを変更することにより可変することができ
る。選択回路23は、命令制御部16の指示に基づきエ
レメント変換回路20または乗算器22のうちいずれか
一方の出力を選択する。選択回路24は、命令制御部1
6の指示に基づき選択回路21または選択回路27のう
ちいずれか一方の出力を選択する。演算装置25は、選
択回路23の出力と選択回路24の出力とを入力し、エ
レメント間の加減算や比較等の乗算以外の主要演算を各
エレメント間のデータに対して実行する。演算装置25
の出力は、N×N×LY ビットのマトリクスデータを蓄
える複数のアキュムレータ26a、26b…に入力され
る。そして、これらアキュムレータ26a、26b…に
蓄えられたデータのうち1つのマトリクスデータが選択
回路27により選択され、演算結果として出力され、ま
た選択回路21を介して乗算器22や選択回路24を介
して演算装置25に再び入力される。
【0031】以上の処理は、全て命令制御部16が命令
メモリ17に記憶されたプログラムに応じて制御するこ
とにより行なわれる。図9は 8× 8のマトリクス乗算を
行う場合のプログラムの一例である。同図に示すプログ
ラムの1番目および2番目の“TRANS”は、メモリ
12、13からラッチ18、19へのデータの転送命令
である。これらの命令によって、マトリクス演算装置1
4内へのデータの設定は終了する。3番目以降の命令
は、乗算器22におけるエレメント間での乗算を指示す
る命令“MPY”と演算装置25における加算を指示す
る命令“ADD”の並列命令となっており、各ステージ
がパイプライン処理によって動作する。例えば、3番目
の命令では、“MPY”によりマトリクスX、Yの各エ
レメント間で乗算が実行され、この後“+”によりマト
リクスXの各エレメントが列方向に1エレメントローテ
ィトされ、マトリクスYの各エレメントが行方向に1エ
レメントローティトされる。そして、各エレメントの乗
算結果は、4番目の“ADD”によりアキュムレータ2
6a(ACC0)の行列データとエレメント単位で加算
され、このとき同時にローティトしたX、Yデータに対
する次の乗算が実行される。この命令を8回繰り返し、
11番目の命令が実行された後にアキュムレータ26a
(ACC0)にマトリクス乗算結果が得られる。
メモリ17に記憶されたプログラムに応じて制御するこ
とにより行なわれる。図9は 8× 8のマトリクス乗算を
行う場合のプログラムの一例である。同図に示すプログ
ラムの1番目および2番目の“TRANS”は、メモリ
12、13からラッチ18、19へのデータの転送命令
である。これらの命令によって、マトリクス演算装置1
4内へのデータの設定は終了する。3番目以降の命令
は、乗算器22におけるエレメント間での乗算を指示す
る命令“MPY”と演算装置25における加算を指示す
る命令“ADD”の並列命令となっており、各ステージ
がパイプライン処理によって動作する。例えば、3番目
の命令では、“MPY”によりマトリクスX、Yの各エ
レメント間で乗算が実行され、この後“+”によりマト
リクスXの各エレメントが列方向に1エレメントローテ
ィトされ、マトリクスYの各エレメントが行方向に1エ
レメントローティトされる。そして、各エレメントの乗
算結果は、4番目の“ADD”によりアキュムレータ2
6a(ACC0)の行列データとエレメント単位で加算
され、このとき同時にローティトしたX、Yデータに対
する次の乗算が実行される。この命令を8回繰り返し、
11番目の命令が実行された後にアキュムレータ26a
(ACC0)にマトリクス乗算結果が得られる。
【0032】このように本発明に係るデータ構造の画像
データを採用し、この画像データを上述した構成のシグ
ナルプロセッサにより処理すれば、従来N×N×N回の
乗算命令を要していたマトリクス乗算をN回の命令で実
行することができる。従って、処理の高速化や演算命令
の単純化に大きく貢献する。この特徴は、例えばマトリ
クス演算が主体の画像処理でよく使われるコサイン変換
処理の実現を容易にする。また、マトリクスのエレメン
ト間の減算や絶対値演算が1命令サイクルで実行できる
ため、画像符号化の主要処理である動き検出演算等も効
率よく実現できる。さらに、演算部のデータ語長を容易
に可変できるため、データ語長の異なる多様な応用に柔
軟に適用できる。
データを採用し、この画像データを上述した構成のシグ
ナルプロセッサにより処理すれば、従来N×N×N回の
乗算命令を要していたマトリクス乗算をN回の命令で実
行することができる。従って、処理の高速化や演算命令
の単純化に大きく貢献する。この特徴は、例えばマトリ
クス演算が主体の画像処理でよく使われるコサイン変換
処理の実現を容易にする。また、マトリクスのエレメン
ト間の減算や絶対値演算が1命令サイクルで実行できる
ため、画像符号化の主要処理である動き検出演算等も効
率よく実現できる。さらに、演算部のデータ語長を容易
に可変できるため、データ語長の異なる多様な応用に柔
軟に適用できる。
【0033】
【発明の効果】以上説明したように本発明によれば、従
来に比し1命令で処理できるデータ量が飛躍的に増大
し、処理能力が大幅に向上する。
来に比し1命令で処理できるデータ量が飛躍的に増大
し、処理能力が大幅に向上する。
【図1】 本発明の基本的概念を説明するための図
【図2】 本発明の基本的概念を説明するための図
【図3】 本発明に係るデータ構造の一例を示す図
【図4】 図3に示すデータ構造のデータの処理の一例
を示す図
を示す図
【図5】 本発明に係るデータ構造の他の例を示す図
【図6】 図5に示すデータ構造のデータの処理の一例
を示す図
を示す図
【図7】 本発明に係るシグナルプロセッサの構成を示
す図
す図
【図8】 図7に示すマトリクス演算装置の構成を示す
図
図
【図9】 図7に示すマトリクス演算装置でマトリクス
乗算を行う場合のプログラムの一例を示す図
乗算を行う場合のプログラムの一例を示す図
【図10】 従来のシグナルプロセッサの構成を示す図
【図11】 従来のシグナルプロセッサでのデータの処
理の一例を示す図
理の一例を示す図
9、10…演算装置、11…マトリクスデータバス、1
2、13…メモリ、14…マトリクス演算装置、15…
マトリクスI/O、16…命令制御部、17…命令メモ
リ。
2、13…メモリ、14…マトリクス演算装置、15…
マトリクスI/O、16…命令制御部、17…命令メモ
リ。
Claims (8)
- 【請求項1】 多数のデータを少なくとも2×2以上の
マトリクスで表現されるマトリクスデータに分割し、こ
のマトリクスデータを単位データとみなしてデータを処
理することを特徴とするデータ処理方法。 - 【請求項2】 請求項1記載のデータ処理方法におい
て、マトリクスデータを構成する各データが複数ビット
からなり、各データの最下位ビットの時間位置が相互に
同一であることを特徴とするデータ処理方法。 - 【請求項3】 請求項1記載のデータ処理方法におい
て、マトリクスデータを構成する各データが複数ビット
からなり、各データの最下位ビットのうち少なくとも2
以上の最下位ビットの時間位置が相互に異なることを特
徴とするデータ処理方法。 - 【請求項4】 請求項2または3記載のデータ処理方法
において、マトリクスデータを構成するビットを時間的
に並列に処理し、各データを構成するビットを時間的に
直列に処理することを特徴とするデータ処理方法。 - 【請求項5】 複数ビットで表現される各データを直列
に並べ、これら複数のデータをマトリクス状に束ねたデ
ータ群を単位データとして記憶する記憶手段と、 前記
データ群のうち同一のマトリクスを構成するビットを時
間的に並列に処理し、前記データ群のうち各データを構
成するビットを時間的に直列に処理する演算手段とを具
備することを特徴とするシグナルプロセッサ。 - 【請求項6】 請求項5記載のシグナルプロセッサであ
って、 前記記憶手段に記憶されたデータ群のうち1つのデータ
群を単位データとして指定できる命令をもつ制御手段を
具備することを特徴とするシグナルプロセッサ。 - 【請求項7】 請求項5記載のシグナルプロセッサであ
って、 前記演算手段がビット直列の複数のパイプライン演算処
理装置を備え、これらパイプライン演算処理装置がマト
リクスを構成する各データの最下位ビットから同一のタ
イミングで処理することを特徴とするシグナルプロセッ
サ。 - 【請求項8】 請求項5記載のシグナルプロセッサであ
って、 前記演算手段がビット直列の複数のパイプライン演算処
理装置を備え、これらパイプライン演算処理装置がマト
リクスを構成する各データの最下位ビットのうち少なく
とも2以上の最下位ビットを相互に異なるタイミングで
処理することを特徴とするシグナルプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5231477A JPH0785259A (ja) | 1993-09-17 | 1993-09-17 | データ処理方法およびシグナルプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5231477A JPH0785259A (ja) | 1993-09-17 | 1993-09-17 | データ処理方法およびシグナルプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0785259A true JPH0785259A (ja) | 1995-03-31 |
Family
ID=16924112
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5231477A Pending JPH0785259A (ja) | 1993-09-17 | 1993-09-17 | データ処理方法およびシグナルプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0785259A (ja) |
-
1993
- 1993-09-17 JP JP5231477A patent/JPH0785259A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7669014B2 (en) | Transpose memory and method thereof | |
| US5053985A (en) | Recycling dct/idct integrated circuit apparatus using a single multiplier/accumulator and a single random access memory | |
| US8713080B2 (en) | Circuit for compressing data and a processor employing same | |
| US5331585A (en) | Orthogonal transformation processor for compressing information | |
| US4945506A (en) | High speed digital signal processor capable of achieving realtime operation | |
| CN108717571B (zh) | 一种用于人工智能的加速方法和装置 | |
| US4747154A (en) | Image data expanding and/or contracting method and apparatus | |
| CN108073549B (zh) | 卷积运算装置及方法 | |
| US20220043657A1 (en) | System and method for convolving image with sparse kernels | |
| CN108764182B (zh) | 一种优化的用于人工智能的加速方法和装置 | |
| US4621324A (en) | Processor for carrying out vector operation wherein the same vector element is used repeatedly in succession | |
| US5359549A (en) | Orthogonal transformation processor for compressing information | |
| JPH04295953A (ja) | 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット | |
| US5673214A (en) | Discrete cosine transform processor | |
| CN114115799A (zh) | 矩阵乘法装置及其操作方法 | |
| JPH1074141A (ja) | 信号処理装置 | |
| US6789097B2 (en) | Real-time method for bit-reversal of large size arrays | |
| JPH0785259A (ja) | データ処理方法およびシグナルプロセッサ | |
| US5222214A (en) | Image processing using a ram and repeat read-modify-write operation | |
| US8423597B1 (en) | Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation | |
| JPH07234863A (ja) | 2次元直交変換装置 | |
| JP2580501B2 (ja) | 並列デ−タ処理装置 | |
| JP2000020705A (ja) | 並列画像処理プロセッサ | |
| JPH1153344A (ja) | 行列演算装置及びそれを有する数値演算プロセッサ | |
| JP3675948B2 (ja) | データ変換方法及びその装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030311 |