JP3619456B2 - 演算装置およびこれを用いた画像処理装置 - Google Patents
演算装置およびこれを用いた画像処理装置 Download PDFInfo
- Publication number
- JP3619456B2 JP3619456B2 JP2000584407A JP2000584407A JP3619456B2 JP 3619456 B2 JP3619456 B2 JP 3619456B2 JP 2000584407 A JP2000584407 A JP 2000584407A JP 2000584407 A JP2000584407 A JP 2000584407A JP 3619456 B2 JP3619456 B2 JP 3619456B2
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- circuit
- dedicated
- data
- pipeline
- 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
- 230000015654 memory Effects 0.000 claims description 76
- 238000004364 calculation method Methods 0.000 claims description 62
- 230000004913 activation Effects 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 27
- 238000013139 quantization Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 11
- 238000000034 method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
Description
技術分野
本発明は、マルチメディア信号処理を高速に実行する演算装置及びこれを用いた画像処理装置に関するものである。
【0002】
背景技術
従来のプログラム制御方式のプロセッサ(演算装置)は、ベクトル命令を実装することにより、その高性能化を実現している。図14に示す従来の演算装置は、ベクトル命令を解読して第1の起動信号と第2の起動信号を出力するプログラム制御回路1401と、前記第1の起動信号により第1のアドレスを出力する第1のアドレス発生器1402と、前記第1のアドレスに基づいて第1のデータを出力する第1のデータメモリ1403と、前記第1のデータに基づいてパイプライン演算を実行するパイプライン演算回路1404と、前記第2の起動信号により第2のアドレスを出力する第2のアドレス発生器1405と、前記第2のアドレスに基づいて前記パイプライン演算回路1404による演算結果を格納する第2のデータメモリ1406とを備えるものである。
【0003】
図14に示すように、この演算装置は、プログラム制御回路1401でベクトル命令が解読されると、プログラム制御回路1401から第1の起動信号が出力され、この第1の起動信号により第1のアドレス発生器1402からN個のアドレス発生を開始する。このN個のアドレスが入力される第1のデータメモリ1403は、パイプライン演算回路1404へN個のデータを供給する。パイプライン演算回路1404ではこのN個のデータ供給を受けてパイプライン演算処理を実行する。
【0004】
また、プログラム制御回路1401は、パイプライン演算回路1404からの先頭処理データの出力タイミングに合わせて第2の起動信号を出力し、この第2の起動信号により第2のアドレス発生器1405からはN個のアドレスを第2のデータメモリ1406に出力する。これにより、第2のデータメモリ1406ではパイプライン演算回路1404から出力される演算結果を順次に格納する。
【0005】
そして、第1のアドレス発生器1402、および第2のアドレス発生器1405は、N個のデータ出力を終えると、それぞれ第1の終了信号、第2の終了信号をプログラム制御回路1401へ出力して、これによってベクトル命令を終了する。
【0006】
ところで、リアルタイム画像処理等、非常に高い演算性能が要求されるアプリケーションに対しては、汎用のパイプライン演算回路ではその演算性能が不足する場合がある。このような場合、特定の高負荷演算を、専用のパイプライン演算回路(例えば、DCT(Discrete Cosine Transform)演算回路)に処理させ、それ以外の処理を汎用演算回路で処理するというハイブリッド構成により演算性能を向上させ、リアルタイム性を確保している。しかしながら、対象とする処理内容に依存して、必要となる専用のパイプライン演算回路が異なるため、プログラム制御回路でのタイミング設計が専用のパイプライン演算回路に固有となり、言い換えれば、アプリケーションに固有なものとなってしまうという問題があった。これでは今後のIP(Intellectual Property)化時代を考えた場合、用途に応じてプロセッサの最も複雑な部分であるプログラム制御回路の変更を伴うのは、大きな課題である。
【0007】
本発明は、かかる課題に鑑みなされたものであって、汎用演算回路と専用演算回路に分離して、専用演算回路の用途毎の変更が汎用演算回路へ影響を与えないように構成することで、さまざまなアプリケーションに適用することのできる演算装置およびこれを用いた画像処理装置を実現するものである。
【0008】
発明の開示
本発明に係る演算装置(請求項1)は、汎用演算回路と専用演算回路とを有し、前記汎用演算回路は複数のベクトル命令を実装し、前記専用演算回路とともに前記ベクトル命令に基づくパイプライン演算を実行する演算装置であって、前記汎用演算回路は、前記専用演算回路の演算内容を通知する専用パイプライン演算回路選択信号と、前記汎用演算回路における複数個の演算結果と、前記複数個の演算結果の出力タイミングを通知する汎用演算回路出力データイネーブル信号と、を前記専用演算回路に出力し、前記専用演算回路における複数個の専用演算結果と、前記複数個の専用演算結果の出力タイミングと出力データの終了タイミングを認識する専用演算回路出力データイネーブル信号と、を前記専用演算回路から入力し、前記専用演算回路は、パイプライン段数通知信号を出力すると共に、前記汎用演算回路における前記複数の演算結果に対するパイプライン演算を実行する、複数個の専用パイプライン演算回路と、前記汎用演算回路における前記専用パイプライン演算回路選択信号に従って、前記複数の専用パイプライン演算回路それぞれから出力された専用演算結果の中から1つの専用演算結果を任意に選択し、前記任意に選択された専用演算結果を前記複数の専用演算結果として前記汎用演算回路に出力するデータ選択回路と、前記複数の専用パイプライン演算回路のそれぞれから出力されたパイプライン段数通知信号、および前記汎用演算回路の前記専用パイプライン演算回路選択信号と前記汎用演算回路出力データイネーブル信号の入力を受け、専用演算回路出力データイネーブル信号を前記汎用演算回路に出力する制御回路と、を備えたものであることを特徴とするものである。
【0009】
以上のように構成することにより、汎用演算回路の構成に関係なく、プログラム制御回路を変更することなく、用途毎に適した任意の専用パイプライン演算回路を搭載することができ、その結果、さまざまなアプリケーションに適用することのできる演算装置を実現することができるという効果がある。
【0010】
本発明に係る演算装置(請求項2)は、汎用演算回路と専用演算回路とを有し、前記汎用演算回路は複数のベクトル命令を実装し、前記専用演算回路とともに前記ベクトル命令に基づくパイプライン演算を実行する演算装置であって、前記汎用演算回路は、第1の起動信号、第2の起動信号、第1の演算回路選択信号、第2の演算回路選択信号、専用パイプライン演算回路選択信号および汎用演算回路出力データイネーブル信号を出力し、専用演算回路出力データイネーブル信号の入力を受けるプログラム制御回路と、前記プログラム制御回路からの前記第1の起動信号に基づいて、M個の第1のアドレスを連続的に出力する第1のアドレス発生器と、前記第1のアドレス発生器からの前記第1のアドレスに基づいて、M個の第1のデータを出力する第1のデータメモリと、前記プログラム制御回路からの前記第1の演算回路選択信号に従って、前記第1のデータメモリからの前記第1のデータに対するパイプライン演算を実行してM個の第1の演算結果を順次出力する第1のパイプライン演算回路と、前記プログラム制御回路からの前記第2の演算回路選択信号に従って、前記専用演算回路からの第2の演算結果に対するパイプライン演算を実行してM個の第3の演算結果を順次出力する第2のパイプライン演算回路と、前記プログラム制御回路からの前記第2の起動信号に基づいて、M個の第2のアドレスを連続的に出力する第2のアドレス発生器と、前記第2のアドレス発生器からの前記第2のアドレスに基づいて、前記第2のパイプライン演算回路からのM個の前記第3の演算結果を格納する第2のデータメモリと、を備え、前記専用演算回路は、パイプライン段数通知信号を出力し、前記汎用演算回路における前記第1のパイプライン演算回路からの前記第1の演算結果に対するパイプライン演算を実行してそれぞれがN個ある複数の専用パイプライン演算回路と、前記汎用演算回路における前記プログラム制御回路からの前記専用パイプライン演算回路選択信号に従って、前記複数の専用パイプライン演算回路のそれぞれから出力された専用演算結果の中から1つの、第nの専用演算結果を選択して、この第nの専用演算結果を前記第2の演算結果として前記汎用演算回路の前記第2のパイプライン演算回路に出力するデータ選択回路と、前記複数の専用パイプライン演算回路のそれぞれから出力されたパイプライン段数通知信号、および前記汎用演算回路の前記プログラム制御回路からの前記専用パイプライン演算回路選択信号と前記汎用演算回路出力データイネーブル信号の入力を受け、専用演算回路出力データイネーブル信号を前記汎用演算回路の前記プログラム制御回路に出力する制御回路と、を備えたものであることを特徴とするものである。
【0011】
以上のように構成することにより、汎用演算回路と専用演算回路に分離し、専用演算回路の用途毎の変更が汎用演算回路でのパイプライン演算に影響を与えないように、汎用演算回路中のプログラム制御回路でのタイミング制御に必要な専用演算回路固有の情報である専用演算回路出力データイネーブルを専用演算回路から汎用演算回路へ通知し、汎用演算回路中のプログラム制御回路はその通知情報である専用演算回路出力データイネーブル信号に基づいて、パイプライン演算回路の出力タイミングを制御する構成とした。すなわち、前記汎用演算回路におけるプログラム制御回路は、ベクトル命令の解読後、第1の起動信号をアサートし、この第1の起動信号のアサート後、第1のパイプライン演算回路のパイプライン段数に基づいてこの第1のパイプライン演算回路からの第1番目の第1の演算結果の出力タイミングを検出する。これと同時に前記プログラム制御回路は、汎用演算回路出力データイネーブルをアサートし、前記第1の起動信号のアサート後でMサイクル後に前記第1の起動信号をネゲートし、この第1の起動信号のネゲート後、前記第1のパイプライン演算回路のパイプライン段数に基づいて前記第1のパイプライン演算回路からの第M番目の前記第1の演算結果の出力タイミングを検出すると同時に、前記汎用演算回路出力データイネーブル信号をネゲートする。前記専用演算回路における制御回路は、前記汎用演算回路出力データイネーブル信号がアサート後、専用パイプライン演算回路選択信号に従って選択された第nのパイプライン段数通知信号に基づいてこの第nの専用パイプライン演算回路からの第1番目の第nの専用演算結果の出力タイミングを検出する。これと同時に制御回路は、専用演算回路出力データイネーブル信号をアサートし、前記汎用演算回路出力データイネーブル信号がネゲート後、前記専用パイプライン演算回路選択信号に従って選択された前記第nのパイプライン段数通知信号に基づいて前記第nの専用パイプライン演算回路からの第M番目の前記第nの専用演算結果の出力タイミングを検出すると同時に、前記専用演算回路出力データイネーブル信号をネゲートする。そして、前記プログラム制御回路は、前記専用演算回路出力データイネーブル信号のアサート後、前記第2のパイプライン演算回路のパイプライン段数に基づいて前記第2のパイプライン演算回路からの前記第3の演算結果の第1番目の出力タイミングを検出すると同時に、前記第2の起動信号をアサートし、前記専用演算回路出力データイネーブル信号のネゲート後、前記第2のパイプライン演算回路のパイプライン段数に基づいて前記第2のパイプライン演算回路からの第M番目の前記第3の演算結果の出力タイミングを検出すると同時に、前記第2の起動信号をネゲートするようにしている。したがって、本発明の演算装置は、プログラム制御回路を変更することなく、用途毎に適した任意の専用パイプライン演算回路を搭載することができ、その結果、さまざまなアプリケーションに適用することのできる演算装置を実現することができるという効果がある。
【0012】
本発明に係る演算装置(請求項3)は、請求項2に記載の演算装置において、前記汎用演算回路における第1のパイプライン演算回路は、前記プログラム制御回路からの前記第1の演算回路選択信号に基づいて、前記第1のデータメモリからの前記第1のデータを入力とし、第2のデータを出力とする第1のレジスタと、あらかじめ格納されている第3のデータを出力する第2のレジスタと、前記第1のレジスタからの前記第2のデータと前記第2のレジスタからの前記第3のデータとの入力を受け、それらの乗算結果を第4のデータとして出力する乗算器と、前記乗算器からの第4のデータを入力とし、第5のデータを出力する第3のレジスタと、あらかじめ格納されている第6のデータを出力する第4のレジスタと、前記第3のレジスタからの前記第5のデータと前記第4のレジスタからの前記第6のデータとの入力を受け、これらの算術結果を第7のデータとして出力する算術演算器と、前記算術演算器からの前記第7のデータを入力とし、本第1のパイプライン演算回路の出力となる第1の演算結果を出力する第5のレジスタと、を備え、前記汎用演算回路における第2のパイプライン演算回路は、前記プログラム制御回路からの第2の演算回路選択信号に基づいて、前記専用演算回路からの第2の演算結果を入力とし、本第2のパイプライン演算回路の出力となる第3の演算結果を出力する第6のレジスタを備え、前記専用演算回路における特定の専用パイプライン演算回路は、前記第1のパイプライン演算回路からの前記第1の演算結果を入力とし、1次元の逆離散コサイン変換を施して本専用パイプライン演算回路の出力となる専用演算結果を出力するIDCT(Inversion Discrete Cosine Transform)演算器を備えたものであることを特徴とするものである。
【0013】
以上のように構成することにより、汎用演算回路における第1パイプライン演算回路によって逆量子化演算を行い、専用演算回路における専用パイプライン演算回路によって逆DCT演算を行うようにしており、これにより、逆量子化と逆DCT演算を連続してパイプライン演算することができるという効果を有する。
【0014】
本発明に係る演算装置(請求項4)は、請求項2に記載の演算装置において、前記汎用演算回路における第1のパイプライン演算回路は、前記プログラム制御回路からの第1の演算回路選択信号に基づいて、前記第1のデータメモリからの第1のデータを入力とし、本第1のパイプライン演算回路の出力となる第1の演算結果を出力とする第1のレジスタを備え、前記汎用演算回路における第2のパイプライン演算回路は、前記プログラム制御回路からの第2の演算回路選択信号に基づいて、前記専用演算回路からの第2の演算結果を入力とし、第2のデータを出力とする第2のレジスタと、あらかじめ格納されている第3のデータを出力する第3のレジスタと、前記第2のレジスタからの前記第2のデータと前記第3のレジスタからの前記第3のデータとの入力を受け、これらの算術結果を第4のデータとして出力する算術演算器と、前記算術演算器からの前記第4のデータを入力とし、第5のデータを出力する第4のレジスタと、あらかじめ格納されている第6のデータを出力する第5のレジスタと、前記第4のレジスタからの前記第5のデータと前記第5のレジスタからの前記第6のデータを入力とし、それらの乗算結果を第7のデータとして出力する乗算器と、前記乗算器からの前記第7のデータを入力とし、本第2のパイプライン演算回路の出力となる第3の演算結果を出力する第6のレジスタと、を備え、前記専用演算回路における特定の専用パイプライン演算回路は、前記汎用演算回路の第1のパイプライン演算回路からの第1の演算結果を入力とし、1次元の離散コサイン変換を施して本専用パイプライン演算回路の出力となる第2の専用演算結果を出力するDCT(Discrete Cosine Transform)演算器を備えたものであることを特徴とするものである。
【0015】
以上のように構成することにより、汎用演算回路における第2のパイプライン演算回路によって量子化演算を行い、専用演算回路における専用パイプライン演算回路によってDCT演算を行うようにしており、これにより、DCT演算と量子化演算を連続してパイプライン演算することができるという効果を有する。
【0016】
本発明に係る演算装置(請求項5)は、請求項3または請求項4に記載の演算装置において、前記算術演算器は、第1の入力と第2の入力とを受け、その加算結果を出力する加算器と、前記第1の入力と前記第2の入力とを受け、前記第1の入力から前記第2の入力の減算結果を出力する減算器と、前記加算器の加算結果、前記減算器の減算結果、及び0を入力とし、それらの中から選択したデータを出力とするものであって、前記第1の入力が正数の場合は前記加算器の加算結果を選択出力し、前記第1の入力が0の場合は0を選択出力し、その他の場合は前記減算器の減算結果を選択出力する出力選択器と、を備えたものであることを特徴とするものである。
【0017】
以上のように構成することにより、汎用演算回路における第1パイプライン演算回路によって逆量子化演算を行い、専用演算回路における専用パイプライン演算回路によって逆DCT演算を行うようにしており、これにより、逆量子化と逆DCT演算を連続してパイプライン演算することができるという効果を有する。
【0018】
本発明に係る画像処理装置(請求項6)は、請求項2に記載の演算装置を複数搭載した画像処理装置であって、第1の専用パイプライン演算回路として、前記第1の演算結果を入力とし、この入力に対して1次元の離散コサイン変換を施して第1の専用演算結果を出力するDCT演算回路と、第2の専用パイプライン演算回路として、前記第1の演算結果を入力とし、この入力に対して1次元の逆離散コサイン変換を施して第2の専用演算結果を出力するIDCT演算回路とを有する第1の演算装置と、第1の専用パイプライン演算回路として前記第1の演算結果を入力とし、この入力に対してハーフペル演算を施して第1の専用演算結果を出力するハーフペル演算回路と、第2の専用パイプライン演算回路として、前記第1の演算結果を入力とし、この入力に対してポストノイズ除去フィルタを施して第2の専用演算結果を出力するポストノイズ除去フィルタ演算回路とを有する第2の演算装置と、ホストマイコンとのデータの受け渡しをするホストインタフェースと、画像AD変換器から画像データを入力しプリスケーリングを施して、CIF(Common Internet File)データもしくはQCIF(Quadrature Common Internet File)データを出力し、またCIFデータもしくはQCIFデータの入力を受けてポストスケーリングを施して画像DA変換器へ出力するビデオインタフェースと、大容量メモリとの間で、前記ホストインタフェースを介した前記ホストマイコンからのデータ入出力、前記第1の演算装置における第1のデータメモリもしくは第2のデータメモリからのデータの入出力、前記第2の演算装置における第1のデータメモリもしくは第2のデータメモリからのデータの入出力、および前記ビデオインタフェースからの前記CIFデータもしくはQCIFデータの入出力を制御するDMA(Direct Memory Access)制御回路と、前記第1の演算装置と前記第2の演算装置との間でデータを転送する機能を有する共有メモリとを備えたものであることを特徴とするものである。
【0019】
以上のように構成することにより、汎用演算回路における第2のパイプライン演算回路によって量子化演算を行い、専用演算回路における専用パイプライン演算回路によってDCT演算を行うようにしており、これにより、DCT演算と量子化演算を連続してパイプライン演算することができるという効果を有する。また、汎用演算回路と専用演算回路とを含む上記演算装置を複数搭載し、第1の専用演算回路はDCT演算回路とIDCT演算回路とを備え、第2の専用演算回路はポストノイズ除去フィルタ演算回路とハーフペル演算回路とを備えているので、本発明の画像処理装置は、エンコーダ動作のみを実行した場合はエンコーダ装置として働き、デコーダ動作のみを実行した場合はデコーダ装置として働き、さらにエンコーダ動作とデコーダ動作を時分割に実行した場合はコーデック装置として働くという画像処理装置を実現することができるという効果がある。
【0020】
発明を実施するための最良の形態
以下、本発明の実施の形態について、図1から図8を用いて説明する。尚、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定されるものではない。
【0021】
実施の形態1.
図1は、本発明の実施の形態1による演算装置の構成を示すブロック図である。
実施の形態1に係る演算装置は、ベクトル命令を搭載したプログラム制御型のプロセッサであり、図1に示すように、汎用演算回路101と専用演算回路102とに分離し、汎用演算回路101は、プログラム制御回路103、第1のアドレス発生器104、第1のデータメモリ105、第1のパイプライン演算回路106、第2のアドレス発生器113、第2のデータメモリ114、および第2のパイプライン演算回路112を備えており、また、専用演算回路102は、制御回路115、および用途毎の高負荷演算に特化した、第1の専用パイプライン演算回路107、第2の専用パイプライン演算回路108、第3の専用パイプライン演算回路109、…、第Nの専用パイプライン演算回路110を備えるものである。
【0022】
プログラム制御回路103は、プログラムメモリ、命令デコーダ、シーケンサから構成され、通常のスカラ命令に加えて、ベクトル命令に対する命令解析機能、命令実行制御機能を有しており、ベクトル命令実行時は、まず、第1の演算回路選択信号、第2の演算回路選択信号、専用パイプライン演算回路選択信号を出力すると同時に、第1の起動信号をアサートし、その後、第1のパイプライン演算回路106のパイプライン段数分のサイクル後に、汎用演算回路出力データイネーブルをアサートし、専用演算回路出力データイネーブルのアサート後、第2のパイプライン演算回路のパイプライン段数分のサイクル数後に、第2の起動信号をアサートし、あらかじめ設定されているベクトルデータの長さをM個とすると、最初の第1の起動信号のアサート後、Mサイクル後に、第1の起動信号をネゲートし、その後、第1のパイプライン演算回路106のパイプライン段数分のサイクル数後、汎用演算回路出力データイネーブルをネゲートし、専用演算回路出力データイネーブルのネゲート後、第2のパイプライン演算回路112のパイプライン段数分のサイクル後に、第2の起動信号をネゲートする。
【0023】
第1のアドレス発生器104は、第1の起動信号がアサートされている期間に、所定のアドレスを第1のアドレスとして出力する。
第1のデータメモリ105は、第1のアドレスに従い、第1のデータを出力する。
第1のパイプライン演算回路106は、乗算器、算術論理演算器、バレルシフタ等の基本演算器を、プログラム制御回路103で、命令解析後出力される第1の演算回路選択信号に従い、組み合わせることにより構成され、第1のデータに対してパイプライン演算を施し、第1の演算結果を出力する。
【0024】
第2のアドレス発生器113は、第2の起動信号がアサートされている期間に、所定のアドレスを第2のアドレスとして出力する。
第2のパイプライン演算回路112は、乗算器、算術論理演算器、バレルシフタ等の基本演算器を、プログラム制御回路103で、命令解析後出力される第2の演算回路選択信号に従い、組み合わせることにより構成され、第2のデータに対してパイプライン演算を施し、第3の演算結果を出力する。
第2のデータメモリ114は、第2のアドレスに従い、第3の演算結果を格納する。
【0025】
制御回路115は、汎用演算回路出力データイネーブルのアサート後、専用パイプライン演算回路選択信号に従って選択された、第1のパイプライン段数通知信号、第2のパイプライン段数通知信号、第3のパイプライン段数通知信号、…、第Nのパイプライン段数通知信号の中から選択された第nのパイプライン段数通知信号が示す段数分のサイクル数後、専用演算回路出力データイネーブルをアサートし、汎用演算回路出力データイネーブルのネゲート後で、第nのパイプライン段数通知信号が示す段数分のサイクル数後に専用演算回路出力データイネーブルをネゲートする。
【0026】
第1の専用パイプライン演算回路107、第2の専用パイプライン演算回路108、第3の専用パイプライン演算回路109、…、第Nの専用パイプライン演算回路110は、第1の演算結果に対して、パイプライン演算を施し、それぞれ第1の専用演算結果、第2の専用演算結果、第3の専用演算結果、…、第Nの専用演算結果を出力し、一方では、各々の専用パイプライン演算回路107〜110のパイプライン段数の、第1のパイプライン段数通知信号、第2のパイプライン段数通知信号、第3のパイプライン段数通知信号、…、第Nのパイプライン段数通知信号を出力する。
【0027】
データ選択回路111は、専用パイプライン演算回路選択信号に従って、第1の専用演算結果、第2の専用演算結果、第3の専用演算結果、…、第Nの専用演算結果から一つを選択して出力する。
【0028】
次に、プログラム制御回路103で、ベクトル命令が解析され、M個のベクトルデータに対するパイプライン演算を実行する時の動作を説明する。
【0029】
まず、第1の起動信号がアサートされ、第1のアドレス発生器104からM個の連続した第1のアドレスが発行され始める。第1のアドレスに従い、第1のデータメモリからM個の連続した第1のデータが読み出され、第1のパイプライン演算回路106へ入力される。第1のパイプライン演算回路106は、第1のデータに対する演算を順次実行し、第1の演算結果として順次出力する。このとき、第1のパイプライン演算回路106から、第1番目の第1のデータの出力タイミングを検出して、汎用演算回路出力イネーブルをアサートする。第1の専用パイプライン演算回路107、第2の専用パイプライン演算回路108、第3の専用パイプライン演算回路109、…、第Nの専用パイプライン演算回路110は、第1の演算結果に対する演算を順次実行し、その結果を、第1の専用演算結果、第2の専用演算結果、第3の専用演算結果、…、第Nの専用演算結果として、それぞれ順次出力する。これらの専用演算結果の中から、プログラム制御回路103で、ベクトル命令が解析されたときに出力された専用パイプライン演算回路選択信号に従って、データ選択回路111により選択され、第2の演算結果として出力される。このとき、汎用演算回路出力データイネーブルのアサートタイミングと、プログラム制御回路から出力されている専用パイプライン演算回路選択信号により選択された第1のパイプライン段数通知信号、第2のパイプライン段数通知信号、第3のパイプライン段数通知信号、…、第Nのパイプライン段数通知信号の一つから、第1番目の第2の演算結果の出力タイミングを検出して、専用演算回路出力データイネーブルをアサートする。第2のパイプライン演算回路112は、第2の演算結果に対する演算を順次実行し、第3の演算結果として順次出力する。専用演算回路出力データイネーブルのアサートタイミングと、第2のパイプライン演算回路112のパイプライン段数から、第1番目の第3の演算結果の出力タイミングを検出して、第2の起動信号をアサートする。第2のアドレス発生器113は、アサートされた第2の起動信号に従い、第2のアドレス発生器113からM個の連続したアドレスが発行し始める。第2のアドレスに従い、第2のデータメモリへM個の連続した第3の演算結果が格納される。プログラム制御回路103は、第1のデータメモリ105からM番目の第1のデータが読み出されるタイミングを検出して、第1の起動信号をネゲートする。次に、第1の起動信号のネゲートタイミングと第1のパイプライン演算回路106のパイプライン段数より、第1のパイプライン演算回路106から第M番目の第1の演算結果が出力されるタイミングを検出して、汎用演算回路出力データイネーブルをネゲートする。制御回路115は、汎用演算回路出力データイネーブルのネゲートタイミングとプログラム制御回路から出力されている専用パイプライン演算回路選択信号により選択された第1のパイプライン段数通知信号、第2のパイプライン段数通知信号、第3のパイプライン段数通知信号、…、第Nのパイプライン段数通知信号の一つから、第M番目の第2の演算結果の出力タイミングを検出して、専用演算回路出力データイネーブルをネゲートする。プログラム制御回路は、専用演算回路出力データイネーブルのネゲートタイミングと、第2のパイプライン演算回路のパイプライン段数より、第M番目の第2のパイプライン演算回路からの出力タイミングを検出して、第2の起動信号をネゲートし、本命令を終了する。
【0030】
以上のように、本実施の形態1による演算装置によれば、汎用演算回路101と専用演算回路102に分離し、専用演算回路102の用途毎の変更が汎用演算回路101へ影響を与えないように、汎用演算回路101中のプログラム制御回路103でのタイミング制御に必要な専用演算回路102固有の情報である専用演算回路出力データイネーブルを専用演算回路102から汎用演算回路101へ通知し、汎用演算回路101中のプログラム制御回路103はその通知情報である専用演算回路出力データイネーブルに基づいて、タイミングを制御する構成としたので、これにより、さまざまなアプリケーションに適用することのできる演算装置を実現することができるという効果がある。さらに、今後迎えるであろうIP(Intellectual Property)化時代を考えた場合、より一層アプリケーションに対する柔軟性を発揮することができるという効果がある。
【0031】
実施の形態2.
図2は、本発明の実施の形態2による演算装置の概略構成を示すブロック図である。
実施の形態2の演算装置は、図1に示す実施の形態1の演算装置において、図2中、201は実施の形態1の第1のデータメモリ105に対応し、211は実施の形態1の第2のデータメモリ114に対応し、212は実施の形態1の第1のパイプライン演算回路106に対応し、213は実施の形態1の第2のパイプライン演算回路112に対応し、214は実施の形態1の複数の専用パイプライン演算回路107〜110のうちの一つに対応する。本実施の形態2の演算装置における上記以外の他の構成については、図1に示す実施の形態1と同様の構成を有する。
【0032】
前記第1のパイプライン演算回路212は、第1のレジスタ202、第2のレジスタ203、乗算器204、第3のレジスタ205、第4のレジスタ206、算術演算器207、および第5のレジスタ208を備える。前記第2のパイプラン演算回路213は、第6のレジスタ210を備える。前記専用パイプライン演算回路214は、IDCT(Inversion Discrete Cosine Transform)演算器209を備える。このIDCT演算器209は、1次元の逆離散コサイン変換を施すものである。
【0033】
図3は、本実施の形態2の演算装置における逆量子化の演算式を示している。 図3中、式(a)、式(b)、式(c)、式(d)を展開すると、式(e)、式(f)、式(g)、式(h)、式(i)となる。つまり、式(a)〜(c)に基づいて式(d)が決定され、この式(d)より式(e)〜(i)のいずれかが求められる。
【0034】
あらかじめ第1のデータメモリ201には逆量子化対象データである図3中のLEVELを、第2のレジスタ203には図3中の(2×QUANT)を、第4のレジスタ206にはQUANTが奇数の場合はQUANT、QUANTが偶数の場合には(QUANT−1)をそれぞれ格納しておく。
【0035】
図4は、図2中の算術演算器207の構成を示している。算術演算器207は、図4に示すように、加算器401、減算器402、および出力選択器403を備える。この算術演算器207の出力選択器403は、図5に示すように、第1の入力の符号に従って動作する。図4において、第1の入力は第3のレジスタ205の出力である第5のデータに相当し、第2の入力は第4のレジスタ206の第6のデータに相当する。出力選択器403は、図5に示すように、第1の入力の符号が正の場合は加算器401の出力を、第1の入力の符号が0の場合は第1の入力を、第1の入力の符号が負の場合は減算器402からの出力を、その出力とする。従って、算術演算器207の入出力関係は、図6のようになる。
【0036】
そして、本実施の形態2の演算装置について、実施の形態1で説明した制御手順に従って、図2に示す各パイプライン演算回路212、214、213を制御した場合、そのデータの流れは、図7に従う。ここで図7において、横軸にサイクル、縦軸に各演算器での処理内容を示しており、D1、D2、…、Di、…、DM−1、DMというM個のベクトルデータが各パイプライン演算回路を流れている様子を示している。最終的に、第2のデータメモリ211に書き込まれるのは、図3に示されるRECである。
【0037】
以上のように、本実施の形態2による演算装置によれば、汎用演算回路101における第1パイプライン演算回路212によって逆量子化演算を行い、専用演算回路102における専用パイプライン演算回路214によって逆DCT演算を行うようにしており、これにより、逆量子化と逆DCT演算を連続してパイプライン演算することができるという効果を有する。
【0038】
実施の形態3.
図8は、本発明の実施の形態3による演算装置の概略構成を示すブロック図である。
【0039】
実施の形態3の演算装置は、図1に示す実施の形態1の演算装置において、図8中、801は実施の形態1の第1のデータメモリ105に対応し、812は実施の形態1の第1のパイプライン演算回路106に対応し、813は実施の形態1の第2のパイプライン演算回路112に対応し、814は実施の形態1の複数の専用パイプライン演算回路107〜110のうちの一つに対応し、本実施の形態3の演算装置における上記以外の他の構成については、図1に示す実施の形態1と同様の構成を有する。
【0040】
前記第1のパイプライン演算回路812は、第1のレジスタ802備える。前記第2のパイプライン演算回路813は、第2のレジスタ804、第3のレジスタ805、算術演算部805、第4のレジスタ807、第5のレジスタ808、乗算器809、および第6のレジスタ810を備える。また、前記専用パイプライン演算回路814は、DCT(Discrete Cosine Transform)演算器803を備える。このDCT演算器803は、離散コサイン変換を施すものである。
【0041】
図9は、本実施の形態3の演算装置における量子化の演算式を示している。
図9中、式(a)、式(b)、式(c)、式(d)を展開すると、式(e)、式(f)、式(g)、式(h)、式(i)となる。つまり、式(a)〜(c)に基づいて式(d)が決定され、この式(d)より式(e)〜(i)のいずれかが求められる。
【0042】
あらかじめ第1のデータメモリ801にはDCT対象データである図9中のRECを、第2のレジスタ802にはQUANTが奇数の場合は図9中の(−QUANT)、偶数の場合には(−QUANT+1)を、第5のレジスタ808には2×QUANTの逆数を格納しておく。
【0043】
なお、算術演算器806は、図4で示した実施の形態2のものと同じ構成であって、その第1の入力は第2のレジスタ804からの第2のデータに相当し、第2の入力は第3のレジスタ805からの第3のデータに相当する。また、この算術演算器806における入出力関係も図5および図6に示したようになる。
【0044】
そして、本実施の形態3の演算装置について、実施の形態1で説明した制御手順に従って、図8に示す各パイプライン演算回路812、814、813を制御した場合、そのデータの流れは、図10に従う。ここで図10において、横軸にサイクル、縦軸に各演算器での処理内容を示しており、D1、D2、…、Di、…、DM−1、DMというM個のベクトルデータが各パイプライン演算回路を流れている様子を示している。最終的に、第2のデータメモリ811に書き込まれるのは、図9に示されるLEVELである。
【0045】
以上のように、本実施の形態3による演算装置によれば、汎用演算回路101における第2のパイプライン演算回路813によって量子化演算を行い、専用演算回路102における専用パイプライン演算回路814によってDCT演算を行うようにしており、これにより、DCT演算と量子化演算を連続してパイプライン演算することができるという効果を有する。
【0046】
実施の形態4.
図11は、本発明の実施の形態4による画像処理装置の構成を示すブロック図である。
【0047】
実施の形態4の画像処理装置は、図11において、第1のDSP(Digital Signal Processor)コア1101と第2のDSP(Digital Signal Processor)コア1102は、プログラム制御型のプロセッサであって、第1の汎用演算回路1118と第2の汎用演算回路1119は、図1の実施の形態1で示した汎用演算回路101に対応するものである。また、第1の専用演算器1103と第2の専用演算回路1104は、図1の実施の形態1で示した専用演算回路102に対応し、第1の専用演算回路1103は、専用パイプライン演算回路107〜110のいずれかとしてDCT演算回路1105とIDCT演算回路1106を搭載しており、第2の専用演算回路1104は、専用パイプライン演算回路107〜110のいずれかとしてポストノイズ除去フィルタ演算回路1107とハーフペル演算回路1108を搭載している。本実施の形態4の画像処理装置は、前記の他に、第1の共有メモリ1109、第2の共有メモリ1110、第3の共有メモリ1111、ホストインタフェース1112、ビデオインタフェース1113、フレームメモリ1114、DMA(Direct Memory Access)制御回路1115、AD変換器1116、およびDA変換器1117を備えている。
【0048】
第1のDSPコア1101は、プログラムに従って、第1のDSPコア1101内で閉じた演算の実行、第1の専用演算回路1103を用いた演算の実行、並びに第2のDSPコア1102、ホストインタフェース1112、及びDMA制御回路1115のそれぞれとデータ転送を実行する機能を有するものである。
【0049】
第1の専用演算回路1103は、第1のDSPコア1101の制御に従い、DCT演算、およびIDCT演算を実行する機能を有するものである。
【0050】
第2のDSPコア1102は、プログラムに従って、第2のDSPコア1102内で閉じた演算の実行、第2の専用演算回路1104を用いた演算の実行、並びに第1のDSPコア1101、及びDMA制御回路1115のそれぞれとデータ転送を実行する機能を有するものである。
【0051】
第2の専用演算回路1104は、第2のDSPコア1102の制御に従い、ハーフペル演算、およびポストノイズ除去フィルタ演算を実行する機能を有するものである。
【0052】
第1の共有メモリ1109は、第1のDSPコア1101とDMA制御回路1115との間でデータを転送する機能を有するものである。
第2の共有メモリ1110は、第2のDSPコア1102とDMA制御回路1115との間でデータを転送する機能を有するものである。
第3の共有メモリ1111は、第1のDSPコア1101と第2のDSPコア1102との間でデータを転送する機能を有するものである。
【0053】
ホストインタフェース1112は、ビットストリームやコマンドデータの入出力機能、並びに第1のDSPコア1101、及びDMA制御回路1115のそれぞれとの間でデータを転送する機能を有するものである。
【0054】
フレームメモリ1114は、格納データをDMA制御回路1115へ出力、DMA制御回路1115からの入力データを格納する機能を有するものである。
【0055】
DMA制御回路1115は、第1の共有メモリ1109、第2の共有メモリ1110、ホストインタフェース1112、及びビデオインタフェース1113のそれぞれからの入力データをフレームメモリ1114へ格納する機能と、フレームメモリ1114からの出力データを、これら第1の共有メモリ1109、第2の共有メモリ1110、ホストインタフェース1112、及びビデオインタフェース1113のそれぞれに出力する機能を有するものである。
【0056】
ビデオインタフェース1113は、DMA制御回路1115との間でデータを転送する機能と、ポストスケーリング機能と、ポストスケーリング後のデータをDA変換器1117へ出力する機能と、AD変換器1116から画像データを入力する機能と、AD変換器1116から入力した画像データをプリスケーリングする機能とを有するものである。
【0057】
AD変換器1116は、入力したアナログ画像データをデジタル変換してビデオインタフェース1113に出力する機能を有するものである。
【0058】
DA変換器1117は、ビデオインターフェース1113から入力したデジタル画像データをアナログに変換して出力する機能を有するものである。
【0059】
次に、本実施の形態4の画像処理装置におけるエンコーダ処理およびデコーダ処理について説明する。
最初に、エンコーダ処理の動作を説明する。図12に、本実施の形態4の画像処理装置によるエンコーダ処理の各ブロック1112、1101、1102、1113での処理内容を表す。本実施の形態4の画像処理装置によるエンコーダ処理は、この図12にまとめた各ブロックへの分担処理を、各ブロックで並列処理することにより効率的に実行している。
【0060】
エンコーダ処理では、まず、アナログ画像データがAD変換器1116に入力され、デジタル変換された後、ビデオインタフェース1113に入力される。ビデオインタフェース1113に入力されたデータには、プリスケーラが施され、CIF(Common Internet File)もしくはQCIF(Quadrature Common Internet File)フォーマットに変換されて、DMA制御回路1115を経て、フレームメモリ1114の所定の領域に格納される。プリスケーラが施された後の符号化対象データに対して、第2のDSPコア1102のプログラムに従って、第2の共有メモリ1110を介して、ME(動き検出)処理が施される。この過程で、ハーフペル演算が必要となるため、第2の専用演算回路1104を用いて、そのハーフペル演算回路1108によってハーフペル演算を実行する。ME処理が終わると、第3の共有メモリ1111を介して、符号化対象データを第1のDSPコア1101に転送し、第1のDSPコア1101では、プログラムに従って、MC(動き補償)処理、DCT演算処理、Q(量子化)処理、IQ(逆量子化)処理、IDCT演算処理、VLC(可変長符号化)処理が施され、符号化された画像データを最終的にフレームメモリ1114の所定の領域へDMA制御回路1115を介して格納する。この過程で、DCT演算処理、IDCT演算処理は、第1の専用演算回路1103のDCT演算回路1105およびIDCT演算回路1106を用いて実行する。一方、符号化データは、ホストインタフェース1112が受け取るコマンドデータに従い、フレームメモリ1114からDMA制御回路1115を介して、ホストインタフェース1112へ読み出され、ビットストリームとして送出する。
【0061】
次に、デコーダ処理の動作を説明する。図13に、本実施の形態4の画像処理装置によるデコーダ処理の各ブロック1112、1101、1102、1113での処理内容を表す。本実施の形態4の画像処理装置によるデコーダ処理は、この図13にまとめた各ブロックへの分担処理を、各ブロックで並列処理することにより効率的に実行している。
【0062】
デコーダ処理では、まず、ホストインタフェース1112が受け取るコマンドデータに従い、ビットストリームを入力し、DMA制御回路1115を介して、フレームメモリ1114の所定の領域へ格納する。ビットストリームデータは、DMA制御回路1115を介して、フレームメモリ1114から第1の共有メモリ1109へ読み出され、第1のDSPコア1101のプログラムに従って、VLD(可変長復号化)処理、IQ(逆量子化)処理、IDCT演算処理、MC(動き補償)処理が施され、DMA制御回路1115を介して、第1の共有メモリ1109からフレームメモリ1114の所定の領域へ復号化画像データとして格納される。復号化画像データは、第2のDSPコア1102のプログラムに従って、DMA制御回路1115を介して、フレームメモリ1114から第2の共有メモリへ読み出され、第2の専用演算回路1104を用いて、ポストノイズ除去フィルタが施され、DMA制御回路1115を介して、第2の共有メモリ1110からフレームメモリ1114の所定の領域へ格納される。ポストノイズ除去フィルタが施されたデータは、DMA制御回路1115を介して、フレームメモリ1114からビデオインタフェース1113に入力され、ポストスケーラを施し、DA変換器1117へ出力される。DA変換器1117では、入力されたデジタル画像データをアナログデータに変換し出力する。
【0063】
以上のように、本実施の形態4による画像処理装置によれば、図1に示す汎用演算回路101と専用演算回路102とを含む演算装置を2個搭載し、第1の専用演算回路1103はDCT演算回路1105とIDCT演算回路1106とを備え、第2の専用演算回路1104はポストノイズ除去フィルタ演算回路1107とハーフペル演算回路1108とを備えているので、本実施の形態4は、エンコーダ動作のみを実行した場合はエンコーダ装置として働き、デコーダ動作のみを実行した場合はデコーダ装置として働き、さらにエンコーダ動作とデコーダ動作を時分割に実行した場合はコーデック装置として働くという画像処理装置を実現することができるという効果がある。
【0064】
産業上の利用可能性
以上のように本発明に係る演算装置は、プログラム制御回路を変更すること無く、用途毎に適した任意の専用パイプライン演算回路を搭載することができ、その結果様々なアプリケーションに適用することの出来る演算装置を実現するものとして、極めて有用である。さらに、本発明に係る演算装置を用いた画像処理装置であれば、エンコーダ動作のみを実行した場合はエンコーダ装置として働き、デコーダ動作のみを実行した場合はデコーダ装置として働き、さらにエンコーダ動作とデコーダ動作を時分割に実行した場合はコーデック装置として働く、という画像処理装置を実現するものとして、極めて有用である。
【図面の簡単な説明】
【図1】実施の形態1による演算装置の構成を示すブロック図である。
【図2】実施の形態2による演算装置の概略構成を示すブロック図である。
【図3】実施の形態2の演算装置における逆量子化演算式を示す図である。
【図4】実施の形態2の演算装置における算術演算器の構成を示ブロック図である。
【図5】実施の形態2の演算装置における算術演算器中の出力選択器の出力データ制御を表す図である。
【図6】実施の形態2の演算装置における算術演算器の入出力関係を表す図である。
【図7】実施の形態2の演算装置におけるパイプライン演算器中でのベクトルデータの流れを表す図である。
【図8】実施の形態3による演算装置の概略構成を示すブロック図である。
【図9】実施の形態3の演算装置における量子化演算式を示す図である。
【図10】実施の形態3の演算装置におけるパイプライン演算器中でのベクトルデータの流れを表す図である。
【図11】実施の形態4による画像処理装置の構成を示すブロック図である。
【図12】実施の形態4の画像処理装置におけるエンコード時の各ブロックでの処理分担を示す図である。
【図13】実施の形態4の画像処理装置におけるデコード時の各ブロックでの処理分担を示す図である。
【図14】従来の演算装置の構成を示すブロック図である。
Claims (6)
- 汎用演算回路と専用演算回路とを有し、前記汎用演算回路は複数のベクトル命令を実装し、前記専用演算回路とともに前記ベクトル命令に基づくパイプライン演算を実行する演算装置であって、
前記汎用演算回路は、
前記専用演算回路の演算内容を通知する専用パイプライン演算回路選択信号と、
前記汎用演算回路における複数個の演算結果と、
前記複数個の演算結果の出力タイミングを通知する汎用演算回路出力データイネーブル信号と、を前記専用演算回路に出力し、
前記専用演算回路における複数個の専用演算結果と、
前記複数個の専用演算結果の出力タイミングと出力データの終了タイミングを認識する専用演算回路出力データイネーブル信号と、を前記専用演算回路から入力し、
前記専用演算回路は、
パイプライン段数通知信号を出力すると共に、前記汎用演算回路における前記複数の演算結果に対するパイプライン演算を実行する、複数個の専用パイプライン演算回路と、
前記汎用演算回路における前記専用パイプライン演算回路選択信号に従って、前記複数の専用パイプライン演算回路それぞれから出力された専用演算結果の中から1つの専用演算結果を任意に選択し、前記任意に選択された専用演算結果を前記複数の専用演算結果として前記汎用演算回路に出力するデータ選択回路と、
前記複数の専用パイプライン演算回路のそれぞれから出力されたパイプライン段数通知信号、および前記汎用演算回路の前記専用パイプライン演算回路選択信号と前記汎用演算回路出力データイネーブル信号の入力を受け、専用演算回路出力データイネーブル信号を前記汎用演算回路に出力する制御回路と、を備えたものであることを特徴とする演算装置。 - 汎用演算回路と専用演算回路とを有し、前記汎用演算回路は複数のベクトル命令を実装し、前記専用演算回路とともに前記ベクトル命令に基づくパイプライン演算を実行する演算装置であって、
前記汎用演算回路は、
第1の起動信号、第2の起動信号、第1の演算回路選択信号、第2の演算回路選択信号、専用パイプライン演算回路選択信号および汎用演算回路出力データイネーブル信号を出力し、専用演算回路出力データイネーブル信号の入力を受けるプログラム制御回路と、
前記プログラム制御回路からの前記第1の起動信号に基づいて、M個の第1のアドレスを連続的に出力する第1のアドレス発生器と、
前記第1のアドレス発生器からの前記第1のアドレスに基づいて、M個の第1のデータを出力する第1のデータメモリと、
前記プログラム制御回路からの前記第1の演算回路選択信号に従って、前記第1のデータメモリからの前記第1のデータに対するパイプライン演算を実行してM個の第1の演算結果を順次出力する第1のパイプライン演算回路と、
前記プログラム制御回路からの前記第2の演算回路選択信号に従って、前記専用演算回路からの第2の演算結果に対するパイプライン演算を実行してM個の第3の演算結果を順次出力する第2のパイプライン演算回路と、
前記プログラム制御回路からの前記第2の起動信号に基づいて、M個の第2のアドレスを連続的に出力する第2のアドレス発生器と、
前記第2のアドレス発生器からの前記第2のアドレスに基づいて、前記第2のパイプライン演算回路からのM個の前記第3の演算結果を格納する第2のデータメモリと、を備え、
前記専用演算回路は、
パイプライン段数通知信号を出力し、前記汎用演算回路における前記第1のパイプライン演算回路からの前記第1の演算結果に対するパイプライン演算を実行してそれぞれがN個ある複数の専用パイプライン演算回路と、
前記汎用演算回路における前記プログラム制御回路からの前記専用パイプライン演算回路選択信号に従って、前記N個の専用パイプライン演算回路のそれぞれから出力された専用演算結果の中から1つの、第nの専用演算結果を選択して、この第nの専用演算結果を前記第2の演算結果として前記汎用演算回路の前記第2のパイプライン演算回路に出力するデータ選択回路と、
前記複数の専用パイプライン演算回路のそれぞれから出力されたパイプライン段数通知信号、および前記汎用演算回路の前記プログラム制御回路からの前記専用パイプライン演算回路選択信号と前記汎用演算回路出力データイネーブル信号の入力を受け、専用演算回路出力データイネーブル信号を前記汎用演算回路の前記プログラム制御回路に出力する制御回路と、を備えたものであることを特徴とする演算装置。 - 請求項2に記載の演算装置において、
前記汎用演算回路における第1のパイプライン演算回路は、
前記プログラム制御回路からの前記第1の演算回路選択信号に基づいて、前記第1のデータメモリからの前記第1のデータを入力とし、第2のデータを出力とする第1のレジスタと、
あらかじめ格納されている第3のデータを出力する第2のレジスタと、
前記第1のレジスタからの前記第2のデータと前記第2のレジスタからの前記第3のデータとの入力を受け、それらの乗算結果を第4のデータとして出力する乗算器と、
前記乗算器からの第4のデータを入力とし、第5のデータを出力する第3のレジスタと、
あらかじめ格納されている第6のデータを出力する第4のレジスタと、
前記第3のレジスタからの前記第5のデータと前記第4のレジスタからの前記第6のデータとの入力を受け、これらの算術結果を第7のデータとして出力する算術演算器と、
前記算術演算器からの前記第7のデータを入力とし、本第1のパイプライン演算回路の出力となる第1の演算結果を出力する第5のレジスタと、を備え、
前記汎用演算回路における第2のパイプライン演算回路は、前記プログラム制御回路からの第2の演算回路選択信号に基づいて、前記専用演算回路からの第2の演算結果を入力とし、本第2のパイプライン演算回路の出力となる第3の演算結果を出力する第6のレジスタを備え、
前記専用演算回路における特定の専用パイプライン演算回路は、前記第1のパイプライン演算回路からの前記第1の演算結果を入力とし、1次元の逆離散コサイン変換を施して本専用パイプライン演算回路の出力となる専用演算結果を出力するIDCT(Inversion Discrete Cosine Transform)演算器を備えたものであることを特徴とする演算装置。 - 請求項2に記載の演算装置において、
前記汎用演算回路における第1のパイプライン演算回路は、前記プログラム制御回路からの第1の演算回路選択信号に基づいて、前記第1のデータメモリからの第1のデータを入力とし、本第1のパイプライン演算回路の出力となる第1の演算結果を出力とする第1のレジスタを備え、
前記汎用演算回路における第2のパイプライン演算回路は、
前記プログラム制御回路からの第2の演算回路選択信号に基づいて、前記専用演算回路からの第2の演算結果を入力とし、第2のデータを出力とする第2のレジスタと、
あらかじめ格納されている第3のデータを出力する第3のレジスタと、
前記第2のレジスタからの前記第2のデータと前記第3のレジスタからの前記第3のデータとの入力を受け、これらの算術結果を第4のデータとして出力する算術演算器と、
前記算術演算器からの前記第4のデータを入力とし、第5のデータを出力する第4のレジスタと、
あらかじめ格納されている第6のデータを出力する第5のレジスタと、
前記第4のレジスタからの前記第5のデータと前記第5のレジスタからの前記第6のデータを入力とし、それらの乗算結果を第7のデータとして出力する乗算器と、
前記乗算器からの前記第7のデータを入力とし、本第2のパイプライン演算回路の出力となる第3の演算結果を出力する第6のレジスタと、を備え、
前記専用演算回路における特定の専用パイプライン演算回路は、前記汎用演算回路の第1のパイプライン演算回路からの第1の演算結果を入力とし、1次元の離散コサイン変換を施して本専用パイプライン演算回路の出力となる第2の専用演算結果を出力するDCT(Discrete Cosine Transform)演算器を備えたものであることを特徴とする演算装置。 - 請求項3又は請求項4に記載の演算装置において、
前記算術演算器は、
第1の入力と第2の入力とを受け、その加算結果を出力する加算器と、
前記第1の入力と前記第2の入力とを受け、前記第1の入力から前記第2の入力の減算結果を出力する減算器と、
前記加算器の加算結果、前記減算器の減算結果、及び0を入力とし、それらの中から選択したデータを出力とするものであって、前記第1の入力が正数の場合は前記加算器の加算結果を選択出力し、前記第1の入力が0の場合は0を選択出力し、その他の場合は前記減算器の減算結果を選択出力する出力選択器と、
を備えたものであることを特徴とする演算装置。 - 請求項2に記載の演算装置を2個搭載し、それぞれを第1の演算装置、第2の演算装置とする画像処理装置であって、
第1の専用パイプライン演算回路として、前記第1の演算結果を入力とし、この入力に対して1次元の離散コサイン変換を施して第1の専用演算結果を出力するDCT演算回路と、第2の専用パイプライン演算回路として、前記第1の演算結果を入力とし、この入力に対して1次元の逆離散コサイン変換を施して第2の専用演算結果を出力するIDCT演算回路とを有する前記第1の演算装置と、
第1の専用パイプライン演算回路として前記第1の演算結果を入力とし、この入力に対してハーフペル演算を施して第1の専用演算結果を出力するハーフペル演算回路と、第2の専用パイプライン演算回路として、前記第1の演算結果を入力とし、この入力に対してポストノイズ除去フィルタを施して第2の専用演算結果を出力するポストノイズ除去フィルタ演算回路とを有する前記第2の演算装置と、
ホストマイコンとのデータの受け渡しをするホストインタフェースと、
画像AD変換器から画像データを入力しプリスケーリングを施して、CIF(Common Internet File)データもしくはQCIF(Quadrature Common Internet File)データを出力し、またCIFデータもしくはQCIFデータの入力を受けてポストスケーリングを施して画像DA変換器へ出力するビデオインタフェースと、
大容量メモリとの間で、前記ホストインタフェースを介した前記ホストマイコンからのデータ入出力、前記第1の演算装置における第1のデータメモリもしくは第2のデータメモリからのデータの入出力、前記第2の演算装置における第1のデータメモリもしくは第2のデータメモリからのデータの入出力、および前記ビデオインタフェースからの前記CIFデータもしくはQCIFデータの入出力を制御するDMA(Direct Memory Access)制御回路と、
前記第1の演算装置と前記第2の演算装置との間でデータを転送する機能を有する共有メモリとを備えたものであることを特徴とする画像処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33544398 | 1998-11-26 | ||
PCT/JP1999/006591 WO2000031658A1 (fr) | 1998-11-26 | 1999-11-25 | Processeur et dispositif de traitement d'image |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3619456B2 true JP3619456B2 (ja) | 2005-02-09 |
Family
ID=18288625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000584407A Expired - Fee Related JP3619456B2 (ja) | 1998-11-26 | 1999-11-25 | 演算装置およびこれを用いた画像処理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6671708B1 (ja) |
EP (1) | EP1050828A4 (ja) |
JP (1) | JP3619456B2 (ja) |
CN (1) | CN1109992C (ja) |
WO (1) | WO2000031658A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898646B1 (en) * | 2000-05-03 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Highly concurrent DMA controller with programmable DMA channels |
EP1176833A3 (en) * | 2000-07-25 | 2012-06-27 | Panasonic Corporation | Image decoding method, image decoding apparatus, and data storage medium |
US7181070B2 (en) * | 2001-10-30 | 2007-02-20 | Altera Corporation | Methods and apparatus for multiple stage video decoding |
FI118654B (fi) | 2002-11-06 | 2008-01-31 | Nokia Corp | Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite |
FI118612B (fi) | 2002-11-06 | 2008-01-15 | Nokia Corp | Menetelmä ja järjestelmä laskuoperaatioiden suorittamiseksi ja laite |
WO2005025230A1 (ja) * | 2003-08-28 | 2005-03-17 | Hitachi Ulsi Systems Co., Ltd. | 画像処理装置 |
US8668146B1 (en) | 2006-05-25 | 2014-03-11 | Sean I. Mcghie | Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds |
US7703673B2 (en) | 2006-05-25 | 2010-04-27 | Buchheit Brian K | Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds |
US10062062B1 (en) | 2006-05-25 | 2018-08-28 | Jbshbm, Llc | Automated teller machine (ATM) providing money for loyalty points |
US9704174B1 (en) | 2006-05-25 | 2017-07-11 | Sean I. Mcghie | Conversion of loyalty program points to commerce partner points per terms of a mutual agreement |
CN110865959B (zh) * | 2018-08-27 | 2021-10-15 | 武汉杰开科技有限公司 | 一种用于唤醒i2c设备的方法及电路 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58134357A (ja) * | 1982-02-03 | 1983-08-10 | Hitachi Ltd | ベクトルプロセッサ |
JP2584156B2 (ja) | 1990-09-03 | 1997-02-19 | 松下電器産業株式会社 | プログラム制御型プロセッサ |
US5299320A (en) | 1990-09-03 | 1994-03-29 | Matsushita Electric Industrial Co., Ltd. | Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline |
EP0607988B1 (en) * | 1993-01-22 | 1999-10-13 | Matsushita Electric Industrial Co., Ltd. | Program controlled processor |
JP3546437B2 (ja) | 1993-03-31 | 2004-07-28 | ソニー株式会社 | 適応形ビデオ信号演算処理装置 |
US5768629A (en) * | 1993-06-24 | 1998-06-16 | Discovision Associates | Token-based adaptive video processing arrangement |
US6490607B1 (en) * | 1998-01-28 | 2002-12-03 | Advanced Micro Devices, Inc. | Shared FP and SIMD 3D multiplier |
-
1999
- 1999-11-25 EP EP99972758A patent/EP1050828A4/en not_active Withdrawn
- 1999-11-25 CN CN99802424A patent/CN1109992C/zh not_active Expired - Fee Related
- 1999-11-25 US US09/600,247 patent/US6671708B1/en not_active Expired - Lifetime
- 1999-11-25 WO PCT/JP1999/006591 patent/WO2000031658A1/ja active Application Filing
- 1999-11-25 JP JP2000584407A patent/JP3619456B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1050828A1 (en) | 2000-11-08 |
US6671708B1 (en) | 2003-12-30 |
CN1109992C (zh) | 2003-05-28 |
WO2000031658A1 (fr) | 2000-06-02 |
EP1050828A4 (en) | 2008-08-13 |
CN1289422A (zh) | 2001-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3546437B2 (ja) | 適応形ビデオ信号演算処理装置 | |
US11531540B2 (en) | Processing apparatus and processing method with dynamically configurable operation bit width | |
JP3619456B2 (ja) | 演算装置およびこれを用いた画像処理装置 | |
KR100329339B1 (ko) | 압축데이터에의한승산-가산연산수행장치 | |
JP2012174016A (ja) | データ処理装置およびそのデータ処理方法 | |
US6961084B1 (en) | Programmable image transform processor | |
JPH04167168A (ja) | 信号処理プロセッサ | |
Gove | The MVP: a highly-integrated video compression chip | |
JP2007299279A (ja) | 演算装置、プロセッサシステム、及び映像処理装置 | |
Abel et al. | Applications tuning for streaming SIMD extensions | |
Lo et al. | Improved SIMD architecture for high performance video processors | |
KR100564010B1 (ko) | 화상 처리 장치 | |
JP2001309386A (ja) | 画像処理装置 | |
Hinrichs et al. | A 1.3-GOPS parallel DSP for high-performance image-processing applications | |
US20100281234A1 (en) | Interleaved multi-threaded vector processor | |
WO2010113340A1 (en) | Single instruction multiple data (simd) processor having a plurality of processing elements interconnected by a ring bus | |
JP2002519957A (ja) | 符号関数を処理する方法および装置 | |
CN111200732B (zh) | 一种反量化反变换方法及装置 | |
JPH0766372B2 (ja) | 浮動小数点演算処理装置 | |
Braly et al. | A configurable H. 265-compatible motion estimation accelerator architecture for realtime 4K video encoding in 65 nm CMOS | |
Fernández et al. | A high-performance architecture with a macroblock-level-pipeline for MPEG-2 coding | |
JP2005182499A (ja) | 並列演算装置 | |
JP2790911B2 (ja) | 直交変換演算装置 | |
JPH09319865A (ja) | 画像処理装置 | |
WO2021035715A1 (zh) | 数据处理方法和装置 |
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: 20041026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041112 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071119 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111119 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121119 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |