JP2001229138A - Device and method for image processing - Google Patents

Device and method for image processing

Info

Publication number
JP2001229138A
JP2001229138A JP2000041434A JP2000041434A JP2001229138A JP 2001229138 A JP2001229138 A JP 2001229138A JP 2000041434 A JP2000041434 A JP 2000041434A JP 2000041434 A JP2000041434 A JP 2000041434A JP 2001229138 A JP2001229138 A JP 2001229138A
Authority
JP
Japan
Prior art keywords
instruction
coprocessor
processor
data
memory
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
JP2000041434A
Other languages
Japanese (ja)
Inventor
Atsushi Nose
敦 能勢
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2000041434A priority Critical patent/JP2001229138A/en
Publication of JP2001229138A publication Critical patent/JP2001229138A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a device and a method for image processing which enable a processor to perform different operation while a coprocessor is issuing an instruction code and to shorten an image processing time. SOLUTION: Instructions and data which are used by the processor 31 and coprocessor 38 and instructions and data which are read in directly by the coprocessor 31 are held in a memory 37. The processor 31 performs a specific processing for a given instruction which is an instruction to be executed by the coprocessor 38, and outputs the result, but it sets a direct read-in flag when the given instruction is an instruction to be read in directly by the coprocessor 38. Where the direct read-in flag is not set, the instruction outputted from the processor 31 is supplied to the coprocessor 38, but where the direct read-in flag is set, a directly read-in instruction in the memory 38 is supplied directly to the coprocessor 38.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、たとえばディジタ
ル処理システム等に適用される画像処理装置および画像
処理方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and an image processing method applied to, for example, a digital processing system.

【0002】[0002]

【従来の技術】画像データは、音声データ等の他のデー
タに比べ情報量が多く、一度に多くの処理を必要とす
る。そして、画像信号処理では1 枚の画像を構成する全
ての画素に対して同様の演算処理を施すことが多い。多
くのデータに対して同様の演算処理を高速に実行するた
めに、SIMD(Single Instruction Multiple Data S
tream 、単一命令複数データ)型アーキテクチャが提案
され、画像信号処理に限らず広い分野で利用されてい
る。
2. Description of the Related Art Image data has a larger amount of information than other data such as audio data, and requires many processes at once. Then, in the image signal processing, the same arithmetic processing is often performed on all pixels constituting one image. In order to execute the same arithmetic processing at high speed on many data, SIMD (Single Instruction Multiple Data S
A tream (single instruction multiple data) type architecture has been proposed, and is used not only in image signal processing but also in a wide range of fields.

【0003】SIMD型アーキテクチャは、演算装置を
必要な個数だけ並べて、各々の演算装置が同一の命令に
従って動作するようにした構成である。したがって、各
々の演算装置に別々のデータを与えると、それぞれのデ
ータに対する演算結果が一度に得られる。
[0003] The SIMD type architecture has a configuration in which a necessary number of arithmetic units are arranged, and each arithmetic unit operates according to the same instruction. Therefore, if different data is given to each arithmetic unit, an arithmetic result for each data can be obtained at once.

【0004】SIMD型処理装置の画像処理への適用と
しては、たとえば「Kurokawa et al.,”5.4GOPS Linear
Array Architecture DSP for Video-Format Conversio
n'',IEEE 1996/Feb. ISSCC,FP 15.7. 」に示される装置
が知られている。
As an application of the SIMD type processing apparatus to image processing, for example, “Kurokawa et al.,” 5.4 GOPS Linear
Array Architecture DSP for Video-Format Conversio
n ″, IEEE 1996 / Feb. ISSCC, FP 15.7. ”is known.

【0005】図7は、SIMD型画像処理プロセッサの
構成例を示すブロック図である。このSIMD型画像処
理プロセッサ10は、入力ポインタ11、入力SAM
(シリアルアクセスメモリ) 部12、データメモリ部1
3、ALUアレイ部14、出力SAM部15、出力ポイ
ンタ16、およびプログラム制御部17により構成され
る。
FIG. 7 is a block diagram showing a configuration example of a SIMD type image processor. The SIMD image processor 10 includes an input pointer 11, an input SAM
(Serial access memory) unit 12, data memory unit 1
3, an ALU array unit 14, an output SAM unit 15, an output pointer 16, and a program control unit 17.

【0006】SIMD型画像処理プロセッサ10におい
ては、入力SAM部12、データメモリ部13、ALU
アレイ部14、および出力SAM部15により、全体で
リニアアレイ( 直線配列) 型に多数並列化された要素プ
ロセッサ群が構成されている。この多数の要素プロセッ
サPEは、プログラム制御部17内にある共通の一つの
命令コードにより連動して制御( SIMD制御) され
る。プログラム制御部17には、プログラムメモリとそ
のプログラムの歩進のためのシーケンス制御回路などが
あり、プログラムメモリにあらかじめ書き込まれたプロ
グラムに従って接続されている各部分に対する各種制御
信号を発生して、各部分を制御する。
In the SIMD type image processor 10, an input SAM unit 12, a data memory unit 13, an ALU
The array unit 14 and the output SAM unit 15 constitute a group of element processors that are parallelized in a large number in a linear array (linear array) type as a whole. These multiple element processors PE are controlled in conjunction (SIMD control) by a single common instruction code in the program control unit 17. The program control unit 17 includes a program memory and a sequence control circuit for advancing the program. The program control unit 17 generates various control signals for each part connected according to a program written in advance in the program memory. Control the part.

【0007】図7に示すSIMD型画像処理プロセッサ
10による画像処理は次のような手順で行われる。水平
走査アクティブ期間内に、入力SAM部12に1水平走
査線分の入力データを取り込み、水平走査部ブランキン
グ期間で入力SAM部12からデータメモリ部13への
転送が行われる。データメモリ部13、ALUアレイ部
14では、プログラムに応じて演算処理が行われる。A
LUアレイ部14における演算処理終了後、処理結果が
出力SAM部15に転送され、水平走査アクティブ期間
内に、出力SAM部15から1水平走査線分データが出
力される。上記の処理中に、各部はすべて並列に動作し
ている。
Image processing by the SIMD type image processor 10 shown in FIG. 7 is performed in the following procedure. Input data for one horizontal scanning line is taken into the input SAM unit 12 during the horizontal scanning active period, and the data is transferred from the input SAM unit 12 to the data memory unit 13 during the horizontal scanning unit blanking period. In the data memory unit 13 and the ALU array unit 14, arithmetic processing is performed according to a program. A
After the completion of the arithmetic processing in the LU array unit 14, the processing result is transferred to the output SAM unit 15, and data for one horizontal scanning line is output from the output SAM unit 15 during the horizontal scanning active period. During the above processing, all the units are operating in parallel.

【0008】このような要素プロセッサ群をアレイ状に
配列した並列プロセッサで画像処理を行うためには、特
にSIMD制御の場合、左右の要素プロセッサとの通信
機能が不可欠となる。この左右通信(今後は、LR通
信、またはLRと記述する)機能により、フィルタ演算
や、補間演算といった左右の画素の処理を可能としてい
る。
In order to perform image processing with a parallel processor in which such element processor groups are arranged in an array, a communication function with the left and right element processors is indispensable, especially in the case of SIMD control. This left / right communication (hereinafter, referred to as LR communication or LR) function enables processing of left and right pixels such as a filter operation and an interpolation operation.

【0009】ところで、画像処理をするSIMD型の処
理装置は複雑な処理を必要とするために、多数の命令コ
ードの発行を必要とし、その制御は年々複雑となってい
る。そこで、プログラム制御部に命令コードを効率良く
自動的に発行するために、プロセッサが使われるように
なった。このプロセッサは汎用CPU等の一般的なプロ
セッサであって、SIMD型画像処理装置はこのプロセ
ッサに対して、コプロセッサと呼ばれる。
Meanwhile, the SIMD type processing device for performing image processing requires complicated processing, and therefore requires issuing a large number of instruction codes, and the control thereof is becoming more complicated year by year. Therefore, a processor has been used to efficiently and automatically issue an instruction code to a program control unit. This processor is a general processor such as a general-purpose CPU, and the SIMD type image processing apparatus is called a coprocessor for this processor.

【0010】そして、コプロセッサにおけるプログラム
制御部によって発生される制御信号は、プロセッサより
得られる命令コードをデコードすることで実現する。制
御するための命令コードのパラメータ値や演算の種類等
の情報をプロセッサで処理し、コプロセッサに供給す
る。たとえば、命令コードで同一の演算命令が続くと
き、パラメータを変えるだけで、係数を変更できること
で、データメモリの使用領域を削減できる利点がある。
[0010] The control signal generated by the program control section in the coprocessor is realized by decoding an instruction code obtained from the processor. Information such as a parameter value of an instruction code for control and a type of operation is processed by a processor and supplied to a coprocessor. For example, when the same operation instruction is continued by the instruction code, the coefficient can be changed only by changing the parameter, and thus there is an advantage that the used area of the data memory can be reduced.

【0011】コプロセッサで使用される命令コードに対
してプロセッサで処理を施すためには、メモリ(データ
記憶装置)のデータ領域に格納される必要がある。プロ
セッサのデータメモリにコプロセッサの命令コードも格
納されるため、プロセッサとコプロセッサはメモリを共
有する必要がある。この構成を単一メモリ構成と呼ぶ。
プロセッサとコプロセッサには従属関係があり、コプロ
セッサに命令コード(プロセッサにとってはデータ) を
供給するためにはプロセッサがデータを取得し、コプロ
セッサに供給する必要がある。
In order for an instruction code used in a coprocessor to be processed by the processor, it must be stored in a data area of a memory (data storage device). Since the instruction code of the coprocessor is also stored in the data memory of the processor, the processor and the coprocessor need to share the memory. This configuration is called a single memory configuration.
The processor and the coprocessor have a subordinate relationship. In order to supply an instruction code (data for the processor) to the coprocessor, the processor needs to acquire data and supply the data to the coprocessor.

【0012】また、コプロセッサの命令コードの中には
プロセッサで処理する必要はなく、そのままコプロセッ
サに供給されるものも存在する。プロセッサにおける処
理を必要としない命令はプロセッサに一度読み込まれ
て、そのままコプロセッサへ供給されることになる。こ
の場合、処理を必要としないコプロセッサ命令の発行が
続く場合、プロセッサはメモリからデータを読んで、コ
プロセッサにデータを供給するためだけに使われること
になる。プロセッサは、時間かかる係数計算があった場
合でも、コプロセッサへの命令供給が終わるまで待つ必
要がある。
Further, some instruction codes of the coprocessor do not need to be processed by the processor, and some are supplied to the coprocessor as they are. Instructions that do not require processing in the processor are read once by the processor and supplied to the coprocessor as it is. In this case, if issuance of a coprocessor instruction that does not require processing continues, the processor will be used only to read data from memory and supply the data to the coprocessor. The processor must wait until the supply of instructions to the coprocessor is completed, even if there is a time-consuming coefficient calculation.

【0013】図8は、プロセッサ、およびコプロセッサ
を用いた従来の画像処理装置のシステム構成例を示すブ
ロック図である。この画像処理装置20は、図8に示す
ように、プロセッサ21、コプロセッサ22、およびメ
モリ23を有する。
FIG. 8 is a block diagram showing a system configuration example of a conventional image processing apparatus using a processor and a coprocessor. This image processing device 20 includes a processor 21, a coprocessor 22, and a memory 23, as shown in FIG.

【0014】図8において、SIMD型画像処理装置で
あるコプロセッサ22への入力データDTINは、実際に
画像処理を行う基となる画像データである。また、出力
画像データDTOUT ) は、処理後の画像データである。
また、データのフォーマットは、コンピュータディスプ
レイで代表される色の3原色R(赤)、G(緑)、B
(青)に基づくRGB形式、あるいはNTSCで代表さ
れるテレビ信号があるが、特定のフォーマットに限定さ
れない。
In FIG. 8, input data DTIN to a coprocessor 22 which is a SIMD type image processing apparatus is image data on which image processing is actually performed. The output image data DTOUT) is the processed image data.
The format of the data is three primary colors R (red), G (green), and B represented by a computer display.
There is a television signal represented by an RGB format based on (blue) or NTSC, but is not limited to a specific format.

【0015】プロセッサ21は、メモリ23に対して、
データの読みだし要求(リード要求) 、データが格納し
てあるアドレスを供給する。データを保持する場合に
は、データの書き込み要求(ライト要求) 、データを格
納するアドレスおよびデータを供給する。メモリ23は
リード要求を受けて、指定されるアドレスに格納されて
いるデータをプロセッサに戻す。このときにデータを出
力したことを表す信号であるイネーブル信号をプロセッ
サ21に返す。ライト要求の場合、指定されたアドレス
番地にデータを格納する。プロセッサ21はメモリ23
から受け取ったデータを必要な場合は演算し、コプロセ
ッサ22の命令コードを生成する。生成された命令コー
ドはコプロセッサ22に供給される。コプロセッサ22
は、供給された命令コードに従い、入力データDTINに
対する画像処理を行う。また、コプロセッサ22は、プ
ロセッサ21の持つ命令を繰り返し実行し、全ての命令
の実行が終了した時点で出力データDTOUT を出力す
る。
The processor 21 controls the memory 23
A data read request (read request) and an address at which data is stored are supplied. When data is to be held, a data write request (write request), an address for storing data, and data are supplied. Upon receiving the read request, the memory 23 returns the data stored at the specified address to the processor. At this time, an enable signal indicating that data has been output is returned to the processor 21. In the case of a write request, data is stored at a specified address. The processor 21 is a memory 23
If necessary, it operates on the data received from it to generate an instruction code for the coprocessor 22. The generated instruction code is supplied to the coprocessor 22. Coprocessor 22
Performs image processing on the input data DTIN according to the supplied instruction code. The coprocessor 22 repeatedly executes the instructions of the processor 21 and outputs the output data DTOUT when all the instructions have been executed.

【0016】次に、図8の画像処理装置におけるメイン
プロセスについて、図9のフローチャートに関連付けて
説明する。
Next, the main process in the image processing apparatus of FIG. 8 will be described with reference to the flowchart of FIG.

【0017】まず、ステップST1において、入力画像
データDTINをコプロセッサ22に読み込む。次に、ス
テップST2において、プロセッサ21で実行する命令
をリードする。プロセッサ21は、ステップST3にお
いて、リードしてきた命令が、コプロセッサ22へ命令
コードを発行するための命令(単一命令コード発行命
令) でない場合にはステップST7の処理に移行する。
なお、単一命令コード発行とは、メモリ23に格納され
ているデータの中の1命令コードをプロセッサ21を通
してコプロセッサ22に供給することをいう。
First, in step ST1, input image data DTIN is read into the coprocessor 22. Next, in step ST2, an instruction to be executed by the processor 21 is read. If the read instruction is not an instruction for issuing an instruction code to the coprocessor 22 (single instruction code issuance instruction) in step ST3, the processor 21 proceeds to the process of step ST7.
Note that issuing a single instruction code means supplying one instruction code in the data stored in the memory 23 to the coprocessor 22 through the processor 21.

【0018】ステップST3において、コプロセッサ2
2への単一命令コードの発行命令であると判断した場合
には、プロセッサ21は、ステップST4において、メ
モリ23からデータを取得する。このデータはそのまま
コプロセッサ22の命令コードとなる。次に、ステップ
ST5において、プロセッサ21は、取得したデータを
コプロセッサ22に供給する。そして、ステップST6
において、プロセッサ21の命令のカウンタであるプロ
グラムカウンタをインクリメントし、ステップST2の
処理に戻る。
In step ST3, the coprocessor 2
If it is determined that the instruction is a single instruction code issuance instruction to the second instruction code, the processor 21 acquires data from the memory 23 in step ST4. This data becomes the instruction code of the coprocessor 22 as it is. Next, in step ST5, the processor 21 supplies the obtained data to the coprocessor 22. Then, step ST6
In, the program counter, which is the counter of the instruction of the processor 21, is incremented, and the process returns to step ST2.

【0019】また、ステップST7において、リードし
た命令がプロセッサ21の終了命令である場合、ステッ
プST18の処理に移行する。一方、ステップST7で
リードした命令がプロセッサ21の終了命令でないと判
断した場合には、プロセッサ21は、ステップST8に
おいてリードした命令を実行する。そして、ステップS
T9において、プロセッサ21の命令のカウンタである
プログラムカウンタをインクリメントし、ステップST
2の処理に戻る。また、ステップST10において、コ
プロセッサ22の動作が終了しているのを確認して、画
像データを出力する。
If it is determined in step ST7 that the read instruction is an end instruction of the processor 21, the process proceeds to step ST18. On the other hand, if it is determined in step ST7 that the instruction read is not the end instruction of the processor 21, the processor 21 executes the instruction read in step ST8. And step S
At T9, the program counter which is the counter of the instruction of the processor 21 is incremented, and the program proceeds to step ST9.
It returns to the process of 2. In step ST10, it is confirmed that the operation of the coprocessor 22 has been completed, and the image data is output.

【0020】図10は、従来の画像処理装置10の命令
の実行順序の一例を示す図である。図10に示すよう
に、従来の画像処理装置10においては、命令1〜命令
7、およびコプロ命令1〜コプロ命令5が、所定の順序
で順番に行われる。
FIG. 10 is a diagram showing an example of the execution order of instructions of the conventional image processing apparatus 10. As shown in FIG. 10, in the conventional image processing apparatus 10, instructions 1 to 7 and copro instructions 1 to 5 are sequentially performed in a predetermined order.

【0021】[0021]

【発明が解決しようとする課題】上述したように、コプ
ロセッサ22の命令コードの発行はプロセッサ21によ
って行われる。命令コードはプロセッサ21で演算した
結果を利用して生成できる。たとえば、コプロセッサ2
1で行われる演算の係数をプロセッサで計算し、定数値
としてコプロセッサ22に供給することができる。
As described above, the instruction code of the coprocessor 22 is issued by the processor 21. The instruction code can be generated using a result calculated by the processor 21. For example, coprocessor 2
The coefficient of the operation performed in 1 can be calculated by the processor and supplied to the coprocessor 22 as a constant value.

【0022】ところで、命令コードの全てがプロセッサ
21で演算してからコプロセッサ22に供給する必要は
ない。メモリ23に格納されているデータをそのままコ
プロセッサ22に供給する場合もある。そのような命令
コードが多く存在するプログラムにおいて、プロセッサ
21はコプロセッサ22の命令発行のために実行を繰り
返すことから、他の演算処理を実行できないという問題
が生じる。たとえば、時間のかかる演算をしてコプロセ
ッサ22の係数を算出する必要があったときに、コプロ
セッサ22に命令発行をしている間に演算ができないた
めに、画像処理全体の処理速度の低下の問題が生じる。
By the way, it is not necessary that all the instruction codes are calculated by the processor 21 and then supplied to the coprocessor 22. The data stored in the memory 23 may be supplied to the coprocessor 22 as it is. In a program having a large number of such instruction codes, the processor 21 repeatedly executes the instruction for issuing the instruction from the coprocessor 22, so that there is a problem that other arithmetic processing cannot be executed. For example, when it is necessary to calculate a coefficient of the coprocessor 22 by performing a time-consuming operation, the operation cannot be performed while the instruction is issued to the coprocessor 22, so that the processing speed of the entire image processing is reduced. Problem arises.

【0023】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、コプロセッサの命令コード発行
中にプロセッサで別の演算が可能で、画像処理時間を短
縮できる画像処理装置および画像処理方法を提供するこ
とにある。
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an image processing apparatus and an image processing apparatus capable of performing another operation by a processor while an instruction code of a coprocessor is being issued, thereby shortening an image processing time. It is to provide a processing method.

【0024】[0024]

【課題を解決するための手段】上記目的を達成するた
め、本発明は、入力された画像データに対して供給され
る命令に基づいて画像処理し、出力するコプロセッサ
と、与えられた命令が、上記コプロセッサで実行される
命令である場合には当該命令に対する所定の処理を行っ
て出力し、与えられた命令が上記コプロセッサで直接読
み込む命令の場合には、直接読み込み用フラグ設定要求
を発行するプロセッサと、上記直接読み込み用フラグ設
定要求を受けると直接読み込み用フラグを設定するアク
セス判定回路と、上記プロセッサ、およびコプロセッサ
で使用される命令、データ、並びにコプロセッサで直接
読み込む命令、データを保持するメモリと、上記プロセ
ッサによるアクセス要求を受けた場合には、メモリの命
令、データを当該プロセッサに供給し、かつ上記アクセ
ス判定回路により直接読み込み用フラグが設定されてい
ない場合には上記プロセッサから出力された命令を上記
コプロセッサに供給し、直接読み込み用フラグが設定さ
れている場合には、上記メモリの上記直接読み込む命
令、データを上記コプロセッサに供給する選択手段とを
有する。
In order to achieve the above object, the present invention provides a coprocessor for performing image processing based on instructions supplied to input image data and outputting the same, If the instruction is an instruction to be executed by the coprocessor, a predetermined process for the instruction is performed and output. If the given instruction is an instruction to be read directly by the coprocessor, a direct read flag setting request is issued. An issuing processor, an access determination circuit that sets a direct reading flag when the direct reading flag setting request is received, an instruction and data used in the processor and the coprocessor, and an instruction and data read directly by the coprocessor. When an access request is received from the processor, instructions and data in the memory are stored in the memory. If the direct read flag is not set by the access determination circuit, the instruction output from the processor is supplied to the coprocessor, and if the direct read flag is set, Has selection means for supplying the instructions and data for directly reading the memory from the memory to the coprocessor.

【0025】また、本発明では、上記アクセス判定回路
により直接読み込み用フラグが設定されている場合に
は、上記メモリのアクセス要求を上記選択手段に対して
発行するアクセス要求手段とを有し、上記選択手段は、
上記アクセス要求手段によるアクセス要求が発行されて
いる場合に、上記メモリの上記直接読み込む命令、デー
タを上記コプロセッサに供給する。
In the present invention, there is provided an access requesting means for issuing an access request for the memory to the selecting means when the direct reading flag is set by the access determining circuit. The selection means is
When the access request is issued by the access request unit, the direct read instruction and data of the memory are supplied to the coprocessor.

【0026】また、本発明では、上記アクセス要求手段
は、上記選択手段にメモリから読み出された上記直接読
み込む命令を受けてデコードし、デコードの結果終了命
令である場合には終了フラグを設定し、上記アクセス判
定回路は、終了フラグが設定された場合には、上記直接
読み込み用フラグの設定を解除する。
In the present invention, the access request means receives the direct read instruction read from the memory by the selection means, decodes the instruction, and sets an end flag if the result of the decoding is an end instruction. When the end flag is set, the access determination circuit cancels the setting of the direct read flag.

【0027】また、本発明では、上記選択手段は、上記
プロセッサによるアクセス要求と上記アクセス要求手段
によるアクセス要求を同時に受けた場合には、上記プロ
セッサによるアクセス要求を優先する。
[0027] In the present invention, when the access request by the processor and the access request by the access request unit are received simultaneously, the selecting unit gives priority to the access request by the processor.

【0028】また、本発明では、上記コプロセッサは、
1次元的に多並列に配置され、制御コードに従って供給
される画像データに対する所定の演算処理を行う複数の
要素プロセッサと、アプリケーションプログラムに基づ
いて上記複数の要素プログラムを連動して制御する制御
コードを生成するプログラム制御部とを有する。
According to the present invention, the coprocessor includes:
A plurality of element processors arranged one-dimensionally in parallel and performing predetermined arithmetic processing on image data supplied according to a control code, and a control code for controlling the plurality of element programs in conjunction with each other based on an application program. And a program control unit for generating.

【0029】また、本発明では、上記各要素プロセッサ
は、画像データを入力するための手段を複数備えた入力
シリアルアクセスメモリ部と、入力データ、演算結果を
保持するデータメモリ部と、演算を行うALUアレイ部
と、出力画像データを取得するための手段を複数備えた
出力シリアルアクセスメモリ部との一部を含む。
In the present invention, each of the element processors performs an operation with an input serial access memory unit having a plurality of means for inputting image data, a data memory unit holding input data and operation results. It includes a part of an ALU array unit and an output serial access memory unit provided with a plurality of means for acquiring output image data.

【0030】また、本発明は、入力された画像データに
対して供給される命令に基づいて画像処理し、出力する
コプロセッサと、上記コプロセッサで実行される命令を
供給、制御するプロセッサを用いた画像処理方法であっ
て、上記プロセッサ、およびコプロセッサで使用される
命令、データ、並びにコプロセッサで直接読み込む命
令、データをメモリに保持しておき、上記プロセッサに
おいて、与えられた命令が、上記コプロセッサで実行さ
れる命令である場合には当該命令に対する所定の処理を
行って出力し、与えられた命令が上記コプロセッサで直
接読み込む命令の場合には、直接読み込み用フラグを設
定し、直接読み込み用フラグが設定されていない場合に
は上記プロセッサから出力された命令を上記コプロセッ
サに供給し、直接読み込み用フラグが設定されている場
合には、上記メモリの上記直接読み込む命令、データを
上記コプロセッサに直接供給する。
Further, the present invention uses a coprocessor for performing image processing and outputting based on instructions supplied to input image data, and a processor for supplying and controlling instructions executed by the coprocessor. In the image processing method, the instructions and data used in the processor and the coprocessor, and the instructions and data to be read directly by the coprocessor are stored in a memory, and the given instruction is executed by the processor. If the instruction is an instruction to be executed by the coprocessor, a predetermined process for the instruction is performed and output.If the instruction is an instruction to be read directly by the coprocessor, a flag for direct reading is set. If the read flag is not set, the instruction output from the processor is supplied to the coprocessor, and the instruction is read directly. If the write flag is set, the direct read instruction of the memory and supplies data directly to the coprocessor.

【0031】本発明によれば、プロセッサにおいて、与
えられた命令が、コプロセッサで実行される命令である
場合には当該命令に対する所定の処理が行われて選択手
段に出力される。一方、与えられた命令がコプロセッサ
で直接読み込む命令の場合には、直接読み込み用フラグ
がアクセス判定回路で設定される。そして、直接読み込
み用フラグが設定されていない場合にはプロセッサから
出力された命令がコプロセッサに供給され、直接読み込
み用フラグが設定されている場合には、メモリの上記直
接読み込む命令、データをコプロセッサに直接供給され
る。したがって、コプロセッサの命令発行中にプロセッ
サで別の演算が可能となるため、同一処理時間内にプロ
セッサで多くの演算を実現できる。プロセッサを通さず
に命令を発行できるため、コプロセッサに早く命令を発
行できる。コプロセッサに対して命令の発行数が増える
ため、多くの画像処理演算を実現できる。その結果、画
像処理時間を短縮できる。
According to the present invention, in a processor, when a given instruction is an instruction to be executed by a coprocessor, predetermined processing is performed on the instruction and output to the selection means. On the other hand, if the given instruction is an instruction that is directly read by the coprocessor, the direct read flag is set by the access determination circuit. If the direct read flag is not set, the instruction output from the processor is supplied to the coprocessor. If the direct read flag is set, the direct read instruction and data in the memory are copied. Supplied directly to the processor. Therefore, another operation can be performed by the processor while the coprocessor issues an instruction, so that many operations can be performed by the processor within the same processing time. Since the instruction can be issued without passing through the processor, the instruction can be issued to the coprocessor quickly. Since the number of instructions issued to the coprocessor increases, many image processing operations can be realized. As a result, the image processing time can be reduced.

【0032】[0032]

【発明の実施の形態】図1 は、本発明に係る画像処理装
置の一実施形態を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of an image processing apparatus according to the present invention.

【0033】本画像処理装置30は、プロセッサ31、
アクセス判定回路32、命令セレクタ33、アドレスデ
コーダ34、終了フラグ生成回路35、メモリセレクタ
36、メモリ37、およびコプロセッサ38により構成
されている。なお、アドレスデコーダ34、および終了
フラグ生成回路35によりアクセス要求手段が構成さ
れ、命令セレクタ33、およびメモリセレクタ36によ
り選択手段が構成される。
The image processing apparatus 30 includes a processor 31
It comprises an access determination circuit 32, an instruction selector 33, an address decoder 34, an end flag generation circuit 35, a memory selector 36, a memory 37, and a coprocessor 38. The address decoder 34 and the end flag generation circuit 35 constitute an access request unit, and the instruction selector 33 and the memory selector 36 constitute a selection unit.

【0034】プロセッサ31は、基本的には、コプロセ
ッサ38で実現される処理を制御する。具体的には、プ
ロセッサ31は、画像データを処理するためのコプロセ
ッサ38の命令コードを発行する。また、プロセッサ3
1は、メモリセレクタ36にリード要求、データおよび
アドレスを出す。そして、プロセッサ31は、リード時
は、メモリ37に格納されているデータをメモリセレク
タ36より受け取る。受け取ったデータがコプロセッサ
38の命令コードである場合、プロセッサ31は、命令
コードの係数演算や割り込み処理等の判定をし、命令セ
レクタ33に命令コードを供給する。
The processor 31 basically controls the processing realized by the coprocessor 38. Specifically, the processor 31 issues an instruction code of the coprocessor 38 for processing image data. Processor 3
1 issues a read request, data and address to the memory selector 36. Then, at the time of reading, the processor 31 receives the data stored in the memory 37 from the memory selector 36. When the received data is the instruction code of the coprocessor 38, the processor 31 determines a coefficient operation of the instruction code, performs an interrupt process, and supplies the instruction code to the instruction selector 33.

【0035】たとえば、プロセッサ31の持つ変数を
x、コプロセッサ38のデータメモリ部をMemとする
と、たとえば、変数xとコプロセッサ38のデータメモ
リ部の4番地に入っている内容を加算する命令は、次の
ようになる。 Mem〔3〕=Addi(Mem〔4〕,x)
For example, assuming that the variable of the processor 31 is x and the data memory of the coprocessor 38 is Mem, for example, an instruction to add the variable x and the content at address 4 of the data memory of the coprocessor 38 is , As follows: Mem [3] = Addi (Mem [4], x)

【0036】メモリ27では、次の情報を持つ。 COP(Mem〔3〕=Addi(Mem〔4〕,
x)) ここで、COPは、コプロセッサ38に発行する命令で
あることを示す。
The memory 27 has the following information. COP (Mem [3] = Addi (Mem [4],
x)) Here, COP indicates an instruction issued to the coprocessor 38.

【0037】プロセッサ31は、コプロセッサ38に発
行する命令であることを、このCOPで判断し、変数x
の値を代入して命令セレクタ33に命令コードとして供
給する。たとえば変数xが3の場合、命令は次のような
形態で、命令セレクタ33に供給される。 Mem〔3〕=Addi(Mem〔4〕,3)
The processor 31 determines from the COP that the instruction is an instruction to be issued to the coprocessor 38, and
Is supplied to the instruction selector 33 as an instruction code. For example, when the variable x is 3, the instruction is supplied to the instruction selector 33 in the following form. Mem [3] = Addi (Mem [4], 3)

【0038】このとき同時に、プロセッサ31は、プロ
セッサイネーブル信号を命令セレクタ33に出力する。
また、コプロセッサ38の命令コードを直接メモリ37
からコプロセッサ38に読み込む命令がプロセッサ31
に与えられたとき、プロセッサ31は、アクセス判定回
路32に対して、直接リード用のアクセスフラグ(直接
読み込み用フラグ)を設定する(アクティブにする)要
求を出す。
At this time, the processor 31 outputs a processor enable signal to the instruction selector 33 at the same time.
Further, the instruction code of the coprocessor 38 is directly stored in the memory 37.
From the processor 31 to the coprocessor 38
, The processor 31 issues a request to the access determination circuit 32 to set (activate) an access flag for direct read (a flag for direct read).

【0039】メモリ37から直接コプロセッサ38に読
み込む命令は、たとえば次の形成しで表される。 COPREAD(Address) ここで、Addressは、コプロセッサ38に発行す
る命令コードの格納されているメモリ37の始めの番地
(スタートアドレス)である。
An instruction to be read directly from the memory 37 into the coprocessor 38 is represented, for example, by the following format. COPREAD (Address) Here, Address is the start address (start address) of the memory 37 in which the instruction code to be issued to the coprocessor 38 is stored.

【0040】プロセッサ31は、COPREADを識別
子として、アクセスフラグを設定する要求とスタートア
ドレスをアクセス判定回路32に出す。アクセスフラグ
が立っている間は、プロセッサ31は、コプロセッサ3
8への命令コード発行以外の命令、すなわちプロセッサ
31内で処理できる命令を実行できるものとする。ま
た、プロセッサ31は、アクセスフラグが立ってる時は
命令セレクタ33に命令を供給できない。アクセスフラ
グが立ってる時に命令セレクタ33に命令コードを供給
する、もしくはアクセス判定回路32にアクセス要求を
出す場合、プロセッサ31はアクセスフラグが下がるま
で、停止する。
The processor 31 sends a request for setting an access flag and a start address to the access determination circuit 32 using COPREAD as an identifier. While the access flag is on, the processor 31
It is assumed that an instruction other than the instruction code issuance to the processor 8, ie, an instruction that can be processed in the processor 31, can be executed. Further, the processor 31 cannot supply an instruction to the instruction selector 33 when the access flag is set. When supplying an instruction code to the instruction selector 33 or issuing an access request to the access determination circuit 32 when the access flag is raised, the processor 31 stops until the access flag is lowered.

【0041】アクセス判定回路32は、プロセッサ31
より直接リード用の要求を受けた場合、アクセスフラグ
を立てる。そして、アクセス判定回路32は、アクセス
フラグが立っていることを命令セレクタ33、アドレス
デコーダ34に通達し、アドレスデコーダ34にスター
トアドレスを供給する。また、アクセス判定回路32
は、アドレスデコーダ34より終了フラグを受け取った
場合、アクセスフラグを下げる。なお、アクセスフラグ
は、メモリ37からコプロセッサ38へ連続命令コード
発行が実行されていることを表すフラグである。
The access decision circuit 32 is
When a more direct read request is received, an access flag is set. Then, the access determination circuit 32 notifies the instruction selector 33 and the address decoder 34 that the access flag is set, and supplies the start address to the address decoder 34. The access determination circuit 32
When the end flag is received from the address decoder 34, the access flag is lowered. The access flag is a flag indicating that continuous instruction code issuance from the memory 37 to the coprocessor 38 is being executed.

【0042】命令セレクタ33は、アクセス判定回路3
2によるアクセスフラグ(直接読み込み用フラグ)が立
っている場合はメモリセレクタ36よりデータを受け取
り、アクセスフラグが下がっている場合はプロセッサ3
1からのデータを受ける。また、命令セレクタ33は、
アクセスフラグは立っていない場合にはプロセッサ31
の、アクセスフラグが立っている場合にはメモリセレク
タ36のイネーブル信号が立っている場合のみ、コプロ
セッサ38に命令を供給する。
The instruction selector 33 includes the access determination circuit 3
2 when the access flag (direct read flag) is set, the data is received from the memory selector 36. When the access flag is lowered, the processor 3
Receive data from 1. Also, the instruction selector 33
If the access flag is not set, the processor 31
When the access flag is set, the instruction is supplied to the coprocessor 38 only when the enable signal of the memory selector 36 is set.

【0043】アドレスデコーダ34は、メモリ37に格
納されているデータのアドレスを生成するセレクタであ
る。アドレスデコーダ34は、プロセッサ31からアク
セス判定回路32に新たに命令コード連続発行の要求が
出た場合は、アクセス判定回路32より受け取った新規
のアドレスを終了フラグ生成回路35に供給する。アド
レスデコーダ34は、すでにアクセスフラグが立ってお
り、終了フラグが立っていない場合は、アドレスをイン
クリメントし、次のデータに対する要求を出す。インク
リメントされたアドレスは終了フラグ生成回路35に供
給される。同様に、アドレスデコーダ34は、終了フラ
グ生成回路35にアクセスフラグを渡す。
The address decoder 34 is a selector for generating an address of data stored in the memory 37. When a new instruction code continuous issuance request is issued from the processor 31 to the access determination circuit 32, the address decoder 34 supplies the new address received from the access determination circuit 32 to the end flag generation circuit 35. If the access flag has already been raised and the end flag has not been raised, the address decoder 34 increments the address and issues a request for the next data. The incremented address is supplied to the end flag generation circuit 35. Similarly, the address decoder 34 passes the access flag to the end flag generation circuit 35.

【0044】終了フラグ生成回路35は、アドレスデコ
ーダ34より得られたアクセスフラグおよびアドレスを
メモリセレクタ36に供給する。終了フラグ生成回路3
5は、メモリセレクタ36より得られた命令コードの一
部をデコードし、終了命令の場合には終了フラグを立て
る。終了フラグはアドレスデコーダ34およびメモリセ
レクタ36に供給される。終了フラグ生成回路35は、
たとえば、次のような命令コードがメモリ37から得ら
れた場合、終了フラグを立てる。 COPEND()
The end flag generation circuit 35 supplies the access flag and the address obtained from the address decoder 34 to the memory selector 36. End flag generation circuit 3
5 decodes a part of the instruction code obtained from the memory selector 36, and sets an end flag in the case of an end instruction. The end flag is supplied to the address decoder 34 and the memory selector 36. The end flag generation circuit 35
For example, when the following instruction code is obtained from the memory 37, an end flag is set. COPEND ()

【0045】メモリセレクタ36は、プロセッサ31か
らのリード、ライト要求、データおよびアドレスと、終
了フラグ生成回路35からのアクセス要求およびアドレ
スを受け取り、メモリ37にリード、ライト要求、デー
タおよびアドレスを渡す。メモリセレクタ36は、メモ
リ37より得られたデータはプロセッサ31からのアク
セス要求と終了フラグ生成回路35より得られたアクセ
ス要求を判定し、アクセス要求を受けた先にデータとイ
ネーブル信号を返す。メモリセレクタ36は、プロセッ
サ31と終了フラグ生成回路35の両方から要求等を同
時に受けた場合には、プロセッサ31の要求等を優先す
る。メモリセレクタ36は、メモリ37より得られた命
令が「COPEND」の場合は、終了フラグ生成回路3
5に渡し、ここでデコードされた時点で、終了フラグを
受け取る。このとき、メモリセレクタ36は、コプロセ
ッサ38で実現される命令ではないため、イネーブル信
号は立てない(アクティブにしない)。
The memory selector 36 receives a read, write request, data and address from the processor 31 and an access request and address from the end flag generation circuit 35, and passes the read, write request, data and address to the memory 37. The memory selector 36 determines whether the data obtained from the memory 37 is an access request from the processor 31 or an access request obtained from the end flag generation circuit 35, and returns the data and the enable signal to the destination that has received the access request. When the memory selector 36 receives requests and the like from both the processor 31 and the end flag generation circuit 35 at the same time, the memory selector 36 gives priority to the requests and the like from the processor 31. When the instruction obtained from the memory 37 is “COPEND”, the memory selector 36 determines whether the end flag generation circuit 3
5 and receives an end flag at the time of decoding. At this time, since the memory selector 36 is not an instruction realized by the coprocessor 38, no enable signal is set (not activated).

【0046】メモリ37は、プロセッサ31、コプロセ
ッサ38で使用される命令、データを格納する。メモリ
37は、メモリセレクタ36よりリードの要求とアドレ
スを受けた場合には、指定されたアドレスに格納されて
いる値をメモリセレクタ36に返す。また、メモリ37
は、ライトの要求とアドレスとデータを受けた場合に
は、指定されたアドレスにデータを書き込む。なお、コ
プロセッサ命令のリード要求、プロセッサデータのリー
ド要求の区別はメモリ37では行わず、メモリセレクタ
36の段階で分けられる。また、プロセッサ31を通し
てコプロセッサ38に命令コードを発行する場合には、
次のようになる。 COP(コプロセッサ命令コード) これに対して、メモリセレクタ36より直接コプロセッ
サ38に供給する場合には、COPを削減する必要がな
いため、次の形態で格納される。 コプロセッサ命令コード
The memory 37 stores instructions and data used by the processor 31 and the coprocessor 38. When receiving a read request and an address from the memory selector 36, the memory 37 returns the value stored at the specified address to the memory selector 36. Also, the memory 37
Receives a write request, an address, and data, and writes the data to the specified address. Note that the read request of the coprocessor instruction and the read request of the processor data are not performed in the memory 37 but are separated at the memory selector 36 stage. When an instruction code is issued to the coprocessor 38 through the processor 31,
It looks like this: COP (coprocessor instruction code) On the other hand, when the memory selector 36 supplies the COP directly to the coprocessor 38, the COP does not need to be reduced, and is stored in the following form. Coprocessor instruction code

【0047】また、メモリ37においては、コプロセッ
サ38用の連続発行する命令コードは、たとえば図2に
示すような順序で格納されている。なお、図2におい
て、ADD、SUB、MULはコプロセッサ38で実現
される命令コードとする。
In the memory 37, instruction codes to be continuously issued for the coprocessor 38 are stored in the order shown in FIG. 2, for example. In FIG. 2, ADD, SUB, and MUL are instruction codes realized by the coprocessor 38.

【0048】コプロセッサ38は、命令セレクタ33に
より供給される命令コードに従い、入力データDTINに
対する画像処理を行う。そして、コプロセッサ38は、
命令セレクタ31から供給される命令を繰り返し実行
し、全ての命令の実行が終了した時点で出力データDT
OUT を出力する。
The coprocessor 38 performs image processing on the input data DTIN according to the instruction code supplied by the instruction selector 33. And the coprocessor 38
The instruction supplied from the instruction selector 31 is repeatedly executed, and when the execution of all the instructions is completed, the output data DT
Output OUT.

【0049】コプロセッサ38は、たとえば図3に示す
ようなSIMD型画像処理プロセッサにより構成され
る。
The coprocessor 38 is constituted by, for example, an SIMD type image processor as shown in FIG.

【0050】このSIMD型画像処理プロセッサ380
は、図3に示すように、入力ポインタ381、第1入力
SAM(シリアルアクセスメモリ) 部382a、第2入
力SAM部382b、データメモリ部383、ALUア
レイ部384、第1出力SAM部385a、第2出力S
AM部385b、出力ポインタ386、およびプログラ
ム制御部387を有している。また、本実施形態では、
1画素に対応するそれぞれのブロックを合わせたものを
要素プロセッサPEと呼ぶ。本SIMD型画像処理プロ
セッサ380は、要素プロセッサPEをアレイ状に画像
のサイズ分配置した要素プロセッサ群より構成されてい
る。また、本実施形態では、入力SAM部、出力SAM
部を2つ有する構成を示しているが、本発明を実現する
ためには、これら入力SAM部、出力SAM部は、1つ
であっても、2つ以上の複数個持っていても良い。な
お、SIMD型画像処理プロセッサ380は、ハードウ
ェアで構成されていても良いし、ソフトウェアで実現さ
れていても良い。
This SIMD type image processor 380
As shown in FIG. 3, an input pointer 381, a first input SAM (serial access memory) section 382a, a second input SAM section 382b, a data memory section 383, an ALU array section 384, a first output SAM section 385a, 2-output S
It has an AM unit 385b, an output pointer 386, and a program control unit 387. In the present embodiment,
A combination of each block corresponding to one pixel is called an element processor PE. The SIMD type image processor 380 is composed of an element processor group in which element processors PE are arranged in an array in the size of an image. In this embodiment, the input SAM unit and the output SAM
Although the configuration having two units is shown, in order to realize the present invention, the number of the input SAM unit and the output SAM unit may be one or two or more. The SIMD image processor 380 may be configured by hardware or may be realized by software.

【0051】入力ポインタ381は、ALUアレイ部3
84の書き込みアドレスが、入力ポインタ381を指し
ているときに、ALUアレイ部384の演算結果を受け
て入力SAM部382a、入力SAM部382bを制御
する。なお、入力SAM部382aと入力SAM部38
2b制御用の入力ポインタを別々に持っていても良い
し、同じポインタアドレスであっても良い。
The input pointer 381 is set in the ALU array unit 3
When the write address 84 points to the input pointer 381, the input SAM unit 382a and the input SAM unit 382b are controlled in response to the operation result of the ALU array unit 384. The input SAM unit 382a and the input SAM unit 38
The input pointer for 2b control may be separately provided, or may have the same pointer address.

【0052】入力SAM部382aは、入力ポインタ3
81の指示に従ってスキップ等の処理を含めて、第1入
力フレームメモリ21に格納された画像データを所定の
位置に入力し、そのデータをデータメモリ部383に供
給する。入力SAM部382bは、入力ポインタ381
の指示に従ってスキップ等の処理を含めて、第2入力フ
レームメモリ22に格納された画像データを所定の位置
に入力し、そのデータをデータメモリ部383に供給す
る。
The input SAM unit 382a receives the input pointer 3
In accordance with the instruction 81, the image data stored in the first input frame memory 21 is input to a predetermined position, including processing such as skipping, and the data is supplied to the data memory unit 383. The input SAM unit 382b includes an input pointer 381
In accordance with the instruction, image data stored in the second input frame memory 22 is input to a predetermined position, including processing such as skipping, and the data is supplied to the data memory unit 383.

【0053】データメモリ部383は、1要素プロセッ
サPE当たり数百ビットのメモリから構成されており、
プログラム制御部387の制御コードに従い、入力SA
M部382a,382bからのデータを保持したり、A
LUアレイ部384が演算を行うためのデータをALU
アレイ部384に送り、また、ALUアレイ部384の
演算結果を保持したりする。
The data memory unit 383 is composed of a memory of several hundred bits per one element processor PE.
According to the control code of the program control unit 387, the input SA
It holds data from the M units 382a and 382b,
The data for the LU array unit 384 to perform an operation is ALU
It sends the result to the array unit 384 and holds the operation result of the ALU array unit 384.

【0054】ALUアレイ部384は、データメモリ部
383からのデータを入力し、プログラム制御部387
で指定されたアドレスポインタに演算結果を書き込む。
アドレスポインタがデータメモリ部383であった場合
は、データメモリ部383の指定されたアドレスにAL
Uアレイ部384の演算結果が書き込まれる。また、ア
ドレスポインタが入力ポインタ381、出力ポインタ3
86であった場合には、入力ポインタ381、出力ポイ
ンタ382にALUアレイ部384の演算結果が書き込
まれる。
The ALU array section 384 receives data from the data memory section 383, and inputs the data to the program control section 387.
Write the operation result to the address pointer specified by.
If the address pointer is the data memory unit 383, the specified address of the data memory unit 383 is
The operation result of the U array unit 384 is written. The address pointer is the input pointer 381 and the output pointer 3
If it is 86, the operation result of the ALU array unit 384 is written to the input pointer 381 and the output pointer 382.

【0055】出力SAM部385aは、プログラム制御
部387の制御コードの書き込みアドレスが出力SAM
部385aを指している場合、ALUアレイ部384の
演算結果を入力し、第1出力フレームメモリ23へデー
タを供給する。出力SAM部385bは、プログラム制
御部387の制御コードの書き込みアドレスが出力SA
M部385bを指している場合、ALUアレイ部384
の演算結果を入力し、第2出力フレームメモリ24へデ
ータを供給する。なお、本実施形態では、出力SAM部
を2つ持っているが、任意の画素数変換を説明するため
には、出力SAM部は、1つであっても良いし、2つ以
上の複数持っていても良い。
The output SAM section 385a outputs the write address of the control code of the program control section 387 as the output SAM.
In the case of pointing to the unit 385a, the operation result of the ALU array unit 384 is input, and data is supplied to the first output frame memory 23. The output SAM section 385b outputs the write address of the control code of the program control section 387 as the output SA.
When pointing to the M section 385b, the ALU array section 384
And supplies data to the second output frame memory 24. In this embodiment, two output SAM units are provided. However, in order to explain arbitrary pixel number conversion, one output SAM unit may be provided, or two or more output SAM units may be provided. May be.

【0056】出力ポインタ386は、ALUアレイ部3
84の書き込みアドレスS384bが出力ポインタ38
6を指しているときに、ALUアレイ部384の演算結
果を入力とする出力SAM部385a、および出力SA
M部385bを制御する。なお、出力SAM部385a
と出力SAM部385b制御用の出力ポインタを別々に
持っていても良いし、同じポインタアドレスであっても
良い。
The output pointer 386 indicates that the ALU array unit 3
84 write address S384b is the output pointer 38
6, the output SAM unit 385a that receives the operation result of the ALU array unit 384 as an input, and the output SA
It controls the M section 385b. The output SAM unit 385a
And an output pointer for controlling the output SAM unit 385b, or may have the same pointer address.

【0057】プログラム制御部387は、所定の制御コ
ードに従い、入力SAM部382a,382b、データ
メモリ部383、ALUアレイ部384、出力SAM部
385a,385bを制御する制御コード出力S387
を生成する。
The program control section 387 controls the input SAM sections 382a and 382b, the data memory section 383, the ALU array section 384, and the control code output S387 for controlling the output SAM sections 385a and 385b in accordance with a predetermined control code.
Generate

【0058】要素プロセッサPEは、入力SAM部38
2a,382b、データメモリ部383、ALUアレイ
部384、出力SAM部385a,385bの1画素に
対応したものの集合のことであり、プロセッサは、この
要素プロセッサが複数集まって構成されている。すなわ
ち、普通のプロセッサでは、そのハードウェアは一般に
ワード処理プロセッサであり、ワードを単位として処理
するが、図3の斜線で示した縦の細長い範囲で示すひと
つの要素プロセッサPEは、入力SAM部12、データ
メモリ部13、出力SAM部15はメモリの「カラム」
になっており、またALUアレイ部14は1ビットAL
Uであり、事実上フルアダー( 全加算器) を主体にした
回路になっている。そのため、普通のプロセッサとは違
ってビット処理プロセッサであり、ビットを単位として
処理する。普通のCPUで言う8ビットマシンとか16
ビットマシンという言い方に対応させれば1ビットマシ
ンである。ビット処理プロセッサはハードウェアが小さ
く、普通には実現できない程多数の並列数を実現できる
ので、画像用の場合、要素プロセッサ直線配列の並列数
は、映像信号の一水平走査期間の画素数( H) に一致さ
せている。
The element processor PE has the input SAM unit 38
2a, 382b, the data memory unit 383, the ALU array unit 384, and the output SAM units 385a, 385b, each of which corresponds to one pixel. The processor is constituted by a plurality of element processors. That is, in an ordinary processor, its hardware is generally a word processing processor, and performs processing in units of words. However, one element processor PE indicated by a vertically elongated range shown by hatching in FIG. , The data memory unit 13 and the output SAM unit 15 are “columns” of the memory.
And the ALU array section 14 has a 1-bit AL
U, which is essentially a circuit mainly based on full adders (full adders). Therefore, unlike an ordinary processor, it is a bit processing processor, and performs processing in units of bits. 8-bit machine or 16 which is called by ordinary CPU
A bit machine is a 1-bit machine. Since the bit processing processor has a small hardware and can realize as many parallel numbers as cannot be normally realized, in the case of an image, the parallel number of the element processor linear array is determined by the number of pixels (H) in one horizontal scanning period of the video signal. ).

【0059】図3に示すSIMD型画像処理プロセッサ
380による画像処理は次のような手順で行われる。水
平走査アクティブ期間内に、入力SAM部382a,3
82bに1水平走査線分の入力データDTIN1 ,DTIN
2 を取り込み、水平走査部ブランキング期間で入力SA
M部382a,382bにからデータメモリ部383へ
の転送が行われる。データメモリ部383、ALUアレ
イ部384では、プログラムに応じて演算処理が行われ
る。ALUアレイ部384における演算処理終了後、処
理結果が出力SAM部385a,385bに転送され、
水平走査アクティブ期間内に、出力SAM部385a,
385bから1水平走査線分データが出力される。上記
の処理中に、各部はすべて並列に動作している。
Image processing by the SIMD type image processor 380 shown in FIG. 3 is performed in the following procedure. During the horizontal scanning active period, the input SAM units 382a, 382
82b, input data DTIN1 and DTIN for one horizontal scanning line.
2 during the horizontal scanning section blanking period.
The data is transferred from the M units 382a and 382b to the data memory unit 383. In the data memory unit 383 and the ALU array unit 384, arithmetic processing is performed according to a program. After the completion of the arithmetic processing in the ALU array section 384, the processing result is transferred to the output SAM sections 385a and 385b,
During the horizontal scanning active period, the output SAM unit 385a,
385b outputs data for one horizontal scanning line. During the above processing, all the units are operating in parallel.

【0060】このような要素プロセッサ群をアレイ状に
配列した並列プロセッサで画像処理を行うためには、特
にSIMD制御の場合、左右の要素プロセッサとの通信
機能が不可欠となる。この左右通信(今後は、LR通
信、またはLRと記述する)機能により,フィルタ演算
や、補間演算といった左右の画素の演算処理を可能とし
ている。また、要素プロセッサ間の通信のことを左右通
信(LR通信) と呼び、左右隣あった画素の演算等を可
能にする。
In order to perform image processing by a parallel processor in which such element processor groups are arranged in an array, a communication function with the left and right element processors is indispensable, especially in the case of SIMD control. This left / right communication (hereinafter, referred to as LR communication or LR) function enables calculation processing of left and right pixels such as filter calculation and interpolation calculation. The communication between the element processors is called left-right communication (LR communication), which enables calculation of adjacent pixels on the left and right.

【0061】次に、上記構成を有する画像処理装置30
の動作を、図4および図5のフローチャートに関連付け
て説明する。図4は全体の動作の流れであるメインプロ
セスを示し、図5はメインプロセスが実行中に並列して
動作するメモリからコプロセッサへのデータの供給の動
作を表すサブプロセスを示している。
Next, the image processing apparatus 30 having the above configuration
Will be described with reference to the flowcharts of FIGS. FIG. 4 shows a main process which is a flow of the entire operation, and FIG. 5 shows a sub-process showing an operation of supplying data from a memory to a coprocessor which operates in parallel during execution of the main process.

【0062】まず、ステップST101において、入力
画像データDTINをコプロセッサ31に読み込む。次
に、ステップST102において、プロセッサ31で実
行する命令をリードする。プロセッサ31は、ステップ
ST103において、リードしてきた命令が、コプロセ
ッサ38へ命令コードを発行するための命令(単一命令
コード発行命令)でない場合にはステップST107の
処理に移行する。なお、単一命令コード発行とは、メモ
リ37に格納されているデータの中の1命令コードをプ
ロセッサ31を通してコプロセッサ38に供給すること
ををいう。一方、連続命令発行とは、プロセッサ31を
介さずにメモリ37から直接プロセッサにデータを供給
することをいう。
First, in step ST101, the input image data DTIN is read into the coprocessor 31. Next, in step ST102, an instruction to be executed by the processor 31 is read. If the read instruction is not an instruction for issuing an instruction code to the coprocessor 38 (single instruction code issuing instruction) in step ST103, the processor 31 proceeds to the process of step ST107. Note that issuing a single instruction code refers to supplying one instruction code in the data stored in the memory 37 to the coprocessor 38 through the processor 31. On the other hand, issuing a continuous instruction means supplying data directly from the memory 37 to the processor without passing through the processor 31.

【0063】ステップST103において、コプロセッ
サ382への単一命令コードの発行命令であると判断し
た場合には、プロセッサ31は、ステップST104に
おいて、メモリセレクタ36にリード要求、データおよ
びアドレスを出し、メモリ37に格納されているデータ
をメモリセレクタ36より受け取る。受け取ったデータ
がコプロセッサ38の命令コードである場合、プロセッ
サ31は、命令コードの係数演算や割り込み処理等の判
定をし、ステップST105において、命令コードを命
令セレクタ33に供給する。このとき、プロセッサ31
は、プロセッサイネーブル信号を命令セレクタ33に出
力しており、また、アクセス判定回路32によるアクセ
スフラグが下がっているいる。したがって、命令セレク
タ33はプロセッサ31からのデータを受けて、コプロ
セッサ38に供給する。そして、ステップST106に
おいて、プロセッサ31の命令のカウンタであるプログ
ラムカウンタをインクリメントし、ステップST102
の処理に戻る。
If it is determined in step ST103 that the instruction is a single instruction code issuance instruction to the coprocessor 382, the processor 31 issues a read request, data and address to the memory selector 36 in step ST104, The data stored in 37 is received from the memory selector 36. If the received data is the instruction code of the coprocessor 38, the processor 31 determines a coefficient operation of the instruction code, interrupt processing, and the like, and supplies the instruction code to the instruction selector 33 in step ST105. At this time, the processor 31
Outputs the processor enable signal to the instruction selector 33, and the access flag by the access determination circuit 32 is lowered. Therefore, the instruction selector 33 receives the data from the processor 31 and supplies the data to the coprocessor 38. Then, in step ST106, the program counter which is the counter of the instruction of the processor 31 is incremented, and in step ST102
Return to the processing of.

【0064】また、ステップST107において、コプ
ロセッサ38への連続発行命令であるか否かの判別を行
う。そして、コプロセッサ38への連続発行命令でない
と判断した場合、ステップST115の処理に移行し、
コプロセッサ38への連続発行命令であると判断した場
合、ステップST108においてサブプロセスを実行す
る。このときに、プロセッサ31は、アクセスフラグを
立てる要求である実行フラグを立て、かつスタートアド
レスをアクセス判定回路32に供給する。これにより、
アクセス判定回路32は、アクセスフラグを立て、アク
セスフラグが立っていることを命令セレクタ33、アド
レスデコーダ34に通達し、アドレスデコーダ34にス
タートアドレスを供給する。
In step ST107, it is determined whether or not the instruction is a continuous issuance instruction to the coprocessor 38. If it is determined that the instruction is not a continuous issue instruction to the coprocessor 38, the process proceeds to step ST115.
If it is determined that the instruction is a continuous issuance instruction to the coprocessor 38, a subprocess is executed in step ST108. At this time, the processor 31 sets an execution flag, which is a request for setting an access flag, and supplies a start address to the access determination circuit 32. This allows
The access determination circuit 32 sets an access flag, notifies the instruction selector 33 and the address decoder 34 that the access flag is set, and supplies the start address to the address decoder 34.

【0065】サブプロセスは、メインプロセスにて起動
命令が発行されたときに動作を開始する。図5に示すよ
うに、ステップST1081において、コプロセッサ3
8が、メモリ37から、メモリセレクタ36、命令セレ
クタ33を介してデータをリードする。そして、ステッ
プ1082でリードしたデータをデコードし、ステップ
ST1083でアドレスをデコードする。ここで、ステ
ップST1084において、終了命令であった場合には
終了コードを発行する。終了命令でない場合はステップ
ST1081の処理に戻る。
The sub-process starts operation when a start command is issued in the main process. As shown in FIG. 5, in step ST1081, the coprocessor 3
8 reads data from the memory 37 via the memory selector 36 and the instruction selector 33. Then, in step 1082, the read data is decoded, and in step ST1083, the address is decoded. Here, in step ST1084, if it is an end command, an end code is issued. If the instruction is not an end instruction, the process returns to step ST1081.

【0066】そして、ステップST109において、ス
トップ信号が発行され、ステップST110において終
了フラグ生成回路35が終了フラグを生成すると、ステ
ップST102の処理に戻る。
When a stop signal is issued in step ST109 and the end flag generation circuit 35 generates an end flag in step ST110, the process returns to step ST102.

【0067】一方、ステップST109において、スト
ップ信号が発行されていない場合には、ステップST1
11の処理に移行する。ステップST111において、
リードしたプロセッサ31にて実行すべき命令を実行す
る。このとき、プロセッサ31で実行される制御命令が
コプロセッサ38への発行命令である場合(単一命令コ
ード発行命令、および連続命令コード発行) 、ストップ
信号を発行する。そして、ステップST112におい
て、プロセッサ31の命令のカウンタであるプログラム
カウンタをインクリメントする。次いで、ステップST
113において、サブプロセスにてメモリ37からコプ
ロセッサ38にデータを送り終わったことを示す終了コ
ードを受けた場合、ステップST114において終了フ
ラグを生成し、ステップST102の処理に戻る。一
方、連続命令コード発行の終了フラグが生成されていな
い場合には、ステップST109の処理に戻る。
On the other hand, if the stop signal has not been issued in step ST109, the process proceeds to step ST1.
Then, the process proceeds to step S11. In step ST111,
The instruction to be executed is executed by the read processor 31. At this time, if the control instruction executed by the processor 31 is an instruction issued to the coprocessor 38 (single instruction code issuance instruction and continuous instruction code issuance), a stop signal is issued. Then, in step ST112, the program counter which is the counter of the instruction of the processor 31 is incremented. Then, step ST
In step 113, when an end code indicating that data has been sent from the memory 37 to the coprocessor 38 is received in the subprocess, an end flag is generated in step ST114, and the process returns to step ST102. On the other hand, if the end flag for issuing the continuous instruction code has not been generated, the process returns to step ST109.

【0068】また、ステップST115において、リー
ドした命令がプロセッサ31の終了命令でないと判断し
た場合には、プロセッサ31は、ステップST116に
おいてリードした命令を実行する。そして、ステップS
T117において、プロセッサ31の命令のカウンタで
あるプログラムカウンタをインクリメントし、ステップ
ST102の処理に戻る。また、ステップST118に
おいて、コプロセッサ38の動作が終了しているのを確
認して、画像データを出力する。
If it is determined in step ST115 that the read instruction is not the end instruction of the processor 31, the processor 31 executes the instruction read in step ST116. And step S
In T117, the program counter, which is the counter of the instruction of the processor 31, is incremented, and the process returns to step ST102. In step ST118, it is confirmed that the operation of the coprocessor 38 has been completed, and the image data is output.

【0069】以上の処理により、プロセッサ31はコプ
ロセッサ38への命令を連続に発行することで、図6に
示すように、並列に動作することが可能になる。
By the above-described processing, the processor 31 continuously issues instructions to the coprocessor 38, whereby it becomes possible to operate in parallel as shown in FIG.

【0070】以上説明したように、本実施形態によれ
ば、プロセッサ31、およびコプロセッサ38で使用さ
れる命令、データ、並びにコプロセッサ31で直接読み
込む命令、データをメモリ37に保持しておき、プロセ
ッサ31において、与えられた命令が、コプロセッサ3
8で実行される命令である場合には当該命令に対する所
定の処理を行って出力し、与えられた命令がコプロセッ
サ38で直接読み込む命令の場合には、直接読み込み用
フラグを設定し、直接読み込み用フラグが設定されてい
ない場合にはプロセッサ31から出力された命令をコプ
ロセッサ38に供給し、直接読み込み用フラグが設定さ
れている場合には、メモリ37の直接読み込む命令、デ
ータをコプロセッサ38に直接供給するようにしたの
で、コプロセッサの命令発行中にプロセッサで別の演算
が可能となるため、同一処理時間内にプロセッサで多く
の演算を実現できる。プロセッサを通さずに命令を発行
できるため、コプロセッサに早く命令を発行できる。コ
プロセッサに対して命令の発行数が増えるため、多くの
画像処理演算を実現できる。その結果、画像処理時間を
短縮できる。
As described above, according to the present embodiment, the instructions and data used by the processor 31 and the coprocessor 38 and the instructions and data read directly by the coprocessor 31 are held in the memory 37. In the processor 31, the given instruction is
If the given instruction is an instruction to be executed by the coprocessor 38, the instruction is read out directly by the coprocessor 38. When the flag is not set, the instruction output from the processor 31 is supplied to the coprocessor 38. When the flag for direct reading is set, the instruction and data to be directly read from the memory 37 are supplied to the coprocessor 38. Is supplied directly to the processor, so that the processor can perform another operation while the coprocessor issues an instruction, so that the processor can realize many operations within the same processing time. Since the instruction can be issued without passing through the processor, the instruction can be issued to the coprocessor quickly. Since the number of instructions issued to the coprocessor increases, many image processing operations can be realized. As a result, the image processing time can be reduced.

【0071】[0071]

【発明の効果】以上説明したように、本発明によれば、
コプロセッサの命令コード発行中にプロセッサで別の演
算が可能となる。このため、同一処理時間内にプロセッ
サで多くの演算を実現できる。また、プロセッサを通さ
ずに命令を発行できるため、コプロセッサに早く命令コ
ードを発行できる。その結果、コプロセッサに対して命
令コードの発行数が増えるため、多くの画像処理演算を
実現でき、ひいては画像処理時間を短縮できる利点があ
る。
As described above, according to the present invention,
Another operation can be performed by the processor while the instruction code of the coprocessor is being issued. Therefore, many operations can be realized by the processor within the same processing time. Also, since the instruction can be issued without passing through the processor, the instruction code can be issued to the coprocessor quickly. As a result, the number of instruction codes issued to the coprocessor increases, so that many image processing operations can be realized, and the image processing time can be shortened.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係る画像処理装置の一実施形態を示す
システム構成図である。
FIG. 1 is a system configuration diagram showing an embodiment of an image processing apparatus according to the present invention.

【図2】本発明に係るメモリのデータの保持の一例を示
す図である。
FIG. 2 is a diagram showing an example of holding data in a memory according to the present invention.

【図3】本発明に係るコプロセッサの構成例を示すブロ
ックである。
FIG. 3 is a block diagram illustrating a configuration example of a coprocessor according to the present invention.

【図4】本発明に係る画像処理装置の全体の動作の流れ
であるメインプロセスを示すフローチャートである。
FIG. 4 is a flowchart showing a main process which is a flow of the entire operation of the image processing apparatus according to the present invention.

【図5】メインプロセスが実行中に並列して動作するメ
モリからコプロセッサへのデータの供給の動作を表すサ
ブプロセスを示すフローチャートである。
FIG. 5 is a flowchart showing a sub-process representing an operation of supplying data to a coprocessor from a memory which operates in parallel during execution of a main process.

【図6】本発明に係る画像処理装置の命令の実行順序の
一例を示す図である。
FIG. 6 is a diagram illustrating an example of an execution order of instructions of the image processing apparatus according to the present invention.

【図7】SIMD型画像処理プロセッサの構成例を示す
ブロック図である。
FIG. 7 is a block diagram illustrating a configuration example of a SIMD type image processor.

【図8】プロセッサ、およびコプロセッサを用いた従来
の画像処理装置のシステム構成例を示すブロック図であ
る。
FIG. 8 is a block diagram illustrating a system configuration example of a conventional image processing apparatus using a processor and a coprocessor.

【図9】図8の画像処理装置におけるメインプロセスに
ついて説明するためのフローチャートである。
FIG. 9 is a flowchart illustrating a main process in the image processing apparatus of FIG. 8;

【図10】従来の画像処理装置の命令の実行順序の一例
を示す図である。
FIG. 10 is a diagram illustrating an example of an execution order of instructions of a conventional image processing apparatus.

【符号の説明】[Explanation of symbols]

30…画像処理装置、31…プロセッサ、32…アクセ
ス判定回路、33…命令セレクタ、34…アドレスデコ
ーダ、35…終了フラグ生成回路、36…メモリセレク
タ、37…メモリ、38…コプロセッサ、380…SI
MD型画像処理プロセッサ、381…入力ポインタ、3
82a…第1入力SAM部、382b…第2入力SAM
部、383…データメモリ部、384…ALUアレイ
部、385a…第1出力SAM部、385b…第2出力
SAM部、386…出力ポインタ、387…プログラム
制御部。
Reference Signs List 30 image processing device, 31 processor, 32 access determination circuit, 33 instruction selector, 34 address decoder, 35 end flag generation circuit, 36 memory selector, 37 memory, 38 coprocessor, 380 SI
MD type image processor, 381... Input pointer, 3
82a: first input SAM unit, 382b: second input SAM
Unit, 383: data memory unit, 384: ALU array unit, 385a: first output SAM unit, 385b: second output SAM unit, 386: output pointer, 387: program control unit.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 入力された画像データに対して供給され
る命令に基づいて画像処理し、出力するコプロセッサ
と、 与えられた命令が、上記コプロセッサで実行される命令
である場合には当該命令に対する所定の処理を行って出
力し、与えられた命令が上記コプロセッサで直接読み込
む命令の場合には、直接読み込み用フラグ設定要求を発
行するプロセッサと、 上記直接読み込み用フラグ設定要求を受けると直接読み
込み用フラグを設定するアクセス判定回路と、 上記プロセッサ、およびコプロセッサで使用される命
令、データ、並びにコプロセッサで直接読み込む命令、
データを保持するメモリと、 上記プロセッサによるアクセス要求を受けた場合には、
メモリの命令、データを当該プロセッサに供給し、かつ
上記アクセス判定回路により直接読み込み用フラグが設
定されていない場合には上記プロセッサから出力された
命令を上記コプロセッサに供給し、直接読み込み用フラ
グが設定されている場合には、上記メモリの上記直接読
み込む命令、データを上記コプロセッサに供給する選択
手段とを有する画像処理装置。
1. A coprocessor that performs image processing based on an instruction supplied to input image data and outputs the processed image data, and when a given instruction is an instruction to be executed by the coprocessor, When a given instruction is an instruction to be read directly by the coprocessor, a processor that issues a direct read flag setting request, and a processor that issues a direct read flag setting request, An access determination circuit for setting a flag for direct reading, an instruction and data used in the processor and the coprocessor, and an instruction to directly read in the coprocessor;
A memory for holding data and, when an access request is received by the processor,
If the instructions and data of the memory are supplied to the processor, and the direct read flag is not set by the access determination circuit, the instruction output from the processor is supplied to the coprocessor, and the direct read flag is supplied. An image processing apparatus having, if set, a command to directly read the memory from the memory and selection means for supplying data to the coprocessor;
【請求項2】 上記アクセス判定回路により直接読み込
み用フラグが設定されている場合には、上記メモリのア
クセス要求を上記選択手段に対して発行するアクセス要
求手段とを有し、 上記選択手段は、上記アクセス要求手段によるアクセス
要求が発行されている場合に、上記メモリの上記直接読
み込む命令、データを上記コプロセッサに供給する請求
項1記載の画像処理装置。
2. An access requesting means for issuing an access request for the memory to the selecting means when a direct reading flag is set by the access determining circuit, wherein the selecting means comprises: 2. The image processing apparatus according to claim 1, wherein when the access request is issued by the access request unit, the instruction and data for directly reading the memory are supplied to the coprocessor.
【請求項3】 上記アクセス要求手段は、上記選択手段
にメモリから読み出された上記直接読み込む命令を受け
てデコードし、デコードの結果終了命令である場合には
終了フラグを設定し、 上記アクセス判定回路は、終了フラグが設定された場合
には、上記直接読み込み用フラグの設定を解除する請求
項2記載の画像処理装置。
3. The access request means receives the direct read instruction read from the memory by the selection means, decodes the instruction, and sets an end flag if the result of the decoding is an end instruction. 3. The image processing apparatus according to claim 2, wherein the circuit cancels the setting of the direct reading flag when the end flag is set.
【請求項4】 上記選択手段は、上記プロセッサによる
アクセス要求と上記アクセス要求手段によるアクセス要
求を同時に受けた場合には、上記プロセッサによるアク
セス要求を優先する請求項2記載の画像処理装置。
4. The image processing apparatus according to claim 2, wherein said selection means gives priority to an access request from said processor when an access request from said processor and an access request from said access request means are received simultaneously.
【請求項5】 上記選択手段は、上記プロセッサによる
アクセス要求と上記アクセス要求手段によるアクセス要
求を同時に受けた場合には、上記プロセッサによるアク
セス要求を優先する請求項3記載の画像処理装置。
5. The image processing apparatus according to claim 3, wherein said selecting means gives priority to an access request from said processor when an access request from said processor and an access request from said access requesting means are received simultaneously.
【請求項6】 上記コプロセッサは、1次元的に多並列
に配置され、制御コードに従って供給される画像データ
に対する所定の演算処理を行う複数の要素プロセッサ
と、アプリケーションプログラムに基づいて上記複数の
要素プログラムを連動して制御する制御コードを生成す
るプログラム制御部とを有する請求項1記載の画像処理
装置。
6. The plurality of coprocessors are arranged one-dimensionally in multi-parallel, perform predetermined arithmetic processing on image data supplied in accordance with a control code, and include the plurality of coprocessors based on an application program. The image processing apparatus according to claim 1, further comprising: a program control unit that generates a control code that controls the programs in conjunction with each other.
【請求項7】 上記各要素プロセッサは、画像データを
入力するための手段を複数備えた入力シリアルアクセス
メモリ部と、入力データ、演算結果を保持するデータメ
モリ部と、演算を行うALUアレイ部と、出力画像デー
タを取得するための手段を複数備えた出力シリアルアク
セスメモリ部との一部を含む請求項6記載の画像処理装
置。
7. Each of the element processors includes an input serial access memory unit having a plurality of means for inputting image data, a data memory unit for storing input data and operation results, and an ALU array unit for performing operations. 7. The image processing apparatus according to claim 6, including a part of an output serial access memory unit having a plurality of means for acquiring output image data.
【請求項8】 入力された画像データに対して供給され
る命令に基づいて画像処理し、出力するコプロセッサ
と、上記コプロセッサで実行される命令を供給、制御す
るプロセッサを用いた画像処理方法であって、 上記プロセッサ、およびコプロセッサで使用される命
令、データ、並びにコプロセッサで直接読み込む命令、
データをメモリに保持しておき、 上記プロセッサにおいて、与えられた命令が、上記コプ
ロセッサで実行される命令である場合には当該命令に対
する所定の処理を行って出力し、与えられた命令が上記
コプロセッサで直接読み込む命令の場合には、直接読み
込み用フラグを設定し、 直接読み込み用フラグが設定されていない場合には上記
プロセッサから出力された命令を上記コプロセッサに供
給し、直接読み込み用フラグが設定されている場合に
は、上記メモリの上記直接読み込む命令、データを上記
コプロセッサに直接供給する画像処理方法。
8. An image processing method using a coprocessor for performing image processing and outputting based on instructions supplied to input image data, and a processor for supplying and controlling instructions to be executed by the coprocessor. An instruction, data, and an instruction to be read directly by the coprocessor, which are used by the processor and the coprocessor,
The data is held in a memory, and in the processor, when a given instruction is an instruction to be executed by the coprocessor, a predetermined process for the instruction is performed and output, and the given instruction is If the instruction is read directly by the coprocessor, the direct read flag is set. If the direct read flag is not set, the instruction output from the processor is supplied to the coprocessor, and the direct read flag is set. When the setting is made, an image processing method for directly supplying the command and data for directly reading the memory from the memory to the coprocessor.
JP2000041434A 2000-02-15 2000-02-15 Device and method for image processing Pending JP2001229138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000041434A JP2001229138A (en) 2000-02-15 2000-02-15 Device and method for image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000041434A JP2001229138A (en) 2000-02-15 2000-02-15 Device and method for image processing

Publications (1)

Publication Number Publication Date
JP2001229138A true JP2001229138A (en) 2001-08-24

Family

ID=18564678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000041434A Pending JP2001229138A (en) 2000-02-15 2000-02-15 Device and method for image processing

Country Status (1)

Country Link
JP (1) JP2001229138A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383421B2 (en) 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
JP2011108265A (en) * 2002-08-09 2011-06-02 Marvell World Trade Ltd Multimedia coprocessor control mechanism including alignment or broadcast instruction
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108265A (en) * 2002-08-09 2011-06-02 Marvell World Trade Ltd Multimedia coprocessor control mechanism including alignment or broadcast instruction
JP2014225287A (en) * 2002-08-09 2014-12-04 マーベル ワールド トレード リミテッド Multimedia coprocessor control mechanism including alignment or broadcast instructions
US7383421B2 (en) 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US7908461B2 (en) 2002-12-05 2011-03-15 Allsearch Semi, LLC Cellular engine for a data processing system
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements

Similar Documents

Publication Publication Date Title
US6470376B1 (en) Processor capable of efficiently executing many asynchronous event tasks
US5968167A (en) Multi-threaded data processing management system
US5524223A (en) Instruction accelerator for processing loop instructions with address generator using multiple stored increment values
US20040067043A1 (en) Trick playback of digital video data
US7724984B2 (en) Image processing apparatus
JPS6145369A (en) Digital image frame processor
JP2001229138A (en) Device and method for image processing
US20060259657A1 (en) Direct memory access (DMA) method and apparatus and DMA for video processing
JPS62118440A (en) Program transfer system
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
US7729591B2 (en) Data processing apparatus, reproduction apparatus, data processing system, reproduction method, program, and storage medium
JP2001216275A (en) Image processor and image processing method
US5475828A (en) Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same
JP2002541546A (en) Parallel data processing
JPH07210545A (en) Parallel processing processors
JPS60250438A (en) Information processor
JPH10240565A (en) Application program verification device, application program verification method and medium
JP2933560B2 (en) Information processing device having multiple pipelines
JP2557043B2 (en) Bit pattern detector
JP4151497B2 (en) Pipeline processing equipment
JPH0628186A (en) Method and processor for parallel processing of plural process arithmetic units
JP2001236495A (en) Device and method for image processing
JPH077337B2 (en) Information processing equipment
JP2004054761A (en) Data processing device and method
JPS6234239A (en) Logic constant setting system