JPH10334225A - Image processor and image processing method - Google Patents

Image processor and image processing method

Info

Publication number
JPH10334225A
JPH10334225A JP14415797A JP14415797A JPH10334225A JP H10334225 A JPH10334225 A JP H10334225A JP 14415797 A JP14415797 A JP 14415797A JP 14415797 A JP14415797 A JP 14415797A JP H10334225 A JPH10334225 A JP H10334225A
Authority
JP
Japan
Prior art keywords
processing
stage
image
buffer
stages
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
JP14415797A
Other languages
Japanese (ja)
Inventor
Fujio Ihara
富士夫 井原
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP14415797A priority Critical patent/JPH10334225A/en
Publication of JPH10334225A publication Critical patent/JPH10334225A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To speed up the whole processing system by reducing the load on individual control systems corresponding to respective process stages and a control system regarding the whole processing in the image processor which performs pipeline processes. SOLUTION: Image processes are divided by processing stages and connected in series, and those processing stages are connected by double buffers 8 capable of storing processing results, and the switching of the double buffers 8 and the processing start of each processing stage 7 are controlled by a global controller according to the processing time of the stage having the longest processing time and the states of the input buffer and output buffer 4 before and after the pipeline processor 1. Further, processings at the respective stages are controlled by local controllers 6 provided independently of the respective stages. A host system 2 is permitted to access the double buffers 8 to obtain test easiness and flexibility to modifications of process algorithm.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は一般にパイプライン
画像処理システム及び制御方法に関し、特にブロック指
向データ・ストリームを採用する処理システムに関する
ものである。
The present invention relates generally to pipelined image processing systems and control methods, and more particularly to processing systems employing block-oriented data streams.

【0002】[0002]

【従来の技術】一般的に画像処理を行うシステムでは、
原画像の連続する部分に対して、様々な演算または処理
をシーケンシャルに行うことが多い。またそのようなシ
ステムでは、接続される入力デバイスの処理速度や接続
される出力デバイスの処理速度に追従して処理されるた
めの高速性が要求されることが多い。
2. Description of the Related Art Generally, in a system for performing image processing,
In many cases, various calculations or processes are sequentially performed on continuous portions of an original image. In such a system, high-speed processing is often required in order to perform processing in accordance with the processing speed of a connected input device or the processing speed of a connected output device.

【0003】このような状況下では、システムの目標性
能を達成するために、データ・ブロックの処理を行う個
々の処理モジュールをシーケンシャルに接続し、パイプ
ライン動作を行わせることが有効である。
In such a situation, in order to achieve the target performance of the system, it is effective to sequentially connect individual processing modules for processing data blocks and perform a pipeline operation.

【0004】しかし、処理の異なるモジュールを、パイ
プラインで効率的にかつ正確に動作させるためには、パ
イプライン全体を管理する制御系に大きな負荷が集中
し、それが結局はシステム全体のボトルネックとなって
しまうことが多い。これは例えば、処理モジュールの1
つにランレングス伸長などを行うモジュールがあったと
すると、そこを境にパイプラインの下流側ではデータ量
が増大し処理サイクルが増えるので今までの速度で上流
側のデータを処理するわけにはいかない。そのような時
は制御系が上流側のパイプラインの処理速度を遅くしな
いとデータがオーバーライトされて消されてしまう。こ
のような処理モジュールはデータに依存してパイプライ
ン処理サイクルが変動してしまうので特にやっかいであ
る。また、パイプライン処理装置と外部システムとの接
続点でもやっかいな問題が起こりうる。
However, in order for modules having different processes to operate efficiently and accurately in a pipeline, a large load is concentrated on a control system that manages the entire pipeline, which eventually results in a bottleneck of the entire system. It often happens. This is, for example, one of the processing modules
Finally, if there is a module that performs run-length extension, the data volume will increase downstream and the processing cycle will increase at the boundary of the module, so the upstream data cannot be processed at the conventional speed . In such a case, the data is overwritten and erased unless the control system slows down the processing speed of the upstream pipeline. Such processing modules are particularly troublesome because the pipeline processing cycle varies depending on the data. Further, a troublesome problem may occur at a connection point between the pipeline processing device and the external system.

【0005】パイプライン処理装置の処理速度と外部シ
ステムの処理速度が異なる時には、速度緩衝用のバッフ
ァを用意するが、コストの関係やバッファ面積の制約な
どにより十分な容量のバッファを確保できない時も多
い。またこのようなパイプライン装置がLSIとして実
装された場合には、量産効果を出すために、接続される
バッファ容量によらず使用可能であることが特に望まし
い。このような時は、バッファ・エンプティやバッファ
・フルに対応してパイプライン処理装置の正確な静止・
リスタート制御ができなければならない。
When the processing speed of the pipeline processing device is different from the processing speed of the external system, a buffer for speed buffering is prepared. However, even when a buffer having a sufficient capacity cannot be ensured due to cost relations or restrictions on the buffer area. Many. When such a pipeline device is implemented as an LSI, it is particularly desirable that the pipeline device can be used regardless of the connected buffer capacity in order to achieve a mass production effect. In such a case, it is necessary to accurately stop the pipeline processing unit in response to the buffer empty or buffer full.
Restart control must be possible.

【0006】このような問題への一般的な解決手段の1
つとしては、問題が発生したらあるいは発生を予測した
なら、問題が解決するまでパイプライン処理装置の一部
あるいは全部を止めることである。その際止められたパ
イプライン処理装置は問題が解決した時に正しくリスタ
ートできるための状態を保存していなければならない。
これは非常に負荷のかかる処理である。特にブロックと
して定義された画像の集合に対して、圧縮・伸長を含む
画像処理を行う場合には、処理するデータ量も多く、圧
縮・伸長演算自身が多くの圧縮・伸長処理や統計演算な
どの組合せであることが多いので必然的にパイプライン
が長大になってしまい制御すべき状態量がかなり多い。
One of the general solutions to such a problem is
First, if a problem occurs or is predicted to occur, part or all of the pipeline processing unit is stopped until the problem is solved. In this case, the stopped pipeline processing unit must save a state for restarting correctly when the problem is solved.
This is a very expensive process. In particular, when performing image processing including compression and decompression on a set of images defined as a block, the amount of data to be processed is large, and the compression / decompression operation itself requires many compression / decompression operations and statistical operations. Since there are many combinations, the pipeline is inevitably lengthened and the amount of state to be controlled is considerably large.

【0007】これに対して特開平6−187434号公
報は、論理的あるいは機能的に異なる処理モジュールは
パイプラインの1つのステージとして実装され、それら
がバッファ記憶を介して次の処理モジュールと接続さ
れ、隣接するパイプライン・ステージ間で、正しくフロ
ー制御を行うためにバッファ状況を監視し、隣接するパ
イプライン・ステージの同期を制御する局所制御装置を
含むパイプラインとして制御する装置について開示して
いる。
On the other hand, Japanese Patent Application Laid-Open No. 6-187434 discloses that logically or functionally different processing modules are mounted as one stage of a pipeline and connected to the next processing module via buffer storage. Discloses a device that monitors a buffer status in order to perform flow control correctly between adjacent pipeline stages, and controls the pipeline as a local control device that controls the synchronization of adjacent pipeline stages. .

【0008】特開平6−187434号公報の開示内容
によれば、 A.処理(i)を実行する処理ステージ(i)と後続の
処理(i+1)を実行する処理ステージ(i+1)の間
に以下の関係式で決定されるサイズのバッファを配置す
る。
According to the contents disclosed in Japanese Patent Application Laid-Open No. 6-187434, A. A buffer having a size determined by the following relational expression is arranged between the processing stage (i) for executing the process (i) and the processing stage (i + 1) for executing the subsequent process (i + 1).

【0009】関係式:バッファ容量をSIZE OF
BUFFER(i)とし、Pmaxを処理(i)により
データ・ブロックを完全に処理するのに必要な最大時間
とし、RP(i)を処理(i)によって生じたデータ速
度とし、RP(i+1)を後続の処理(i+1)からの
データ速度とすると、バッファ容量は、以下の式で表さ
れる。
Relational expression: Buffer capacity is SIZE OF
BUFFER (i), Pmax is the maximum time required to completely process a data block by process (i), RP (i) is the data rate generated by process (i), and RP (i + 1) is Assuming a data rate from the subsequent processing (i + 1), the buffer capacity is represented by the following equation.

【0010】[0010]

【数1】SIZE OF BUFFER(i)=(RP
(i)−RP(i+1))×Pmax
EQUATION 1 SIZE OF BUFFER (i) = (RP
(I) -RP (i + 1)) × Pmax

【0011】B.さらにこの処理システムの最初のステ
ージと外部システムとのインターフェイス部に以下の関
係式で決定されるサイズのバッファを配置する。
B. Further, a buffer having a size determined by the following relational expression is arranged in the interface between the first stage of the processing system and the external system.

【0012】関係式:バッファの容量をSIZE_SR
IBとし、Tmaxを非計算事象を成し遂げるために必
要な最大時間とすると、バッファの容量は以下の式で表
される。
Relational expression: The capacity of the buffer is SIZE_SR
Assuming IB and Tmax as the maximum time required to accomplish the non-calculated event, the capacity of the buffer is given by:

【0013】[0013]

【数2】SIZE_SRIB=(RP(i)−RP(i
+1))×Tmax
SIZE_SRIB = (RP (i) −RP (i
+1)) × Tmax

【0014】C.バッファ(i)が空(エンプティ)で
なければ、処理(i+1)の実行を開始する「局所制御
機構の採用」を行うことにより、各処理モジュールがバ
ッファのエンプティ・フラグを監視して能動的に動作す
るので、制御系への負荷集中を避け効率的なパイプライ
ン動作が可能であるとしている。
C. If the buffer (i) is not empty (empty), each processing module monitors the empty flag of the buffer and actively executes the “adopt local control mechanism” to start the execution of the processing (i + 1). It operates, thus avoiding concentration of load on the control system and enabling efficient pipeline operation.

【0015】しかしこれは、外部システムのデータ入力
速度<パイプライン処理システムの処理速度<外部シス
テムのデータ消費速度、の関係が成立するシステムのみ
で有効である。なぜなら、外部システムのデータ消費シ
ステムがパイプライン処理システムの処理速度よりも遅
い時は、データのオーバーライトを防ぐためにパイプラ
インを止める事が必要となるが、その時は後段の処理速
度RP(i+1)は0になるので、上述のA.やB.で
定義したバッファ・サイズではデータのオーバーライト
が起きてしまうからである。つまり、ここで開示された
画像処理装置は、出力バッファ・フルには対応していな
い。
However, this is effective only in a system in which the relation of the data input speed of the external system <the processing speed of the pipeline processing system <the data consumption speed of the external system is satisfied. Because, when the data consumption system of the external system is slower than the processing speed of the pipeline processing system, it is necessary to stop the pipeline in order to prevent overwriting of data. In that case, the processing speed of the subsequent stage RP (i + 1) Becomes 0, so that A. And B. This is because data is overwritten with the buffer size defined in the above. That is, the image processing apparatus disclosed here does not support output buffer full.

【0016】また、ブロック・データの処理において
は、前段の処理モジュールのデータ出力順序と後段の処
理モジュールの処理順序とが一致しないことも多く、そ
の時は−で定義されたバッファ・サイズでは正しく動作
しない。このような例としては、JPEGとして知られ
る圧縮アルゴリズムで採用している2次元のDCT演算
(離散コサイン変換)やジグザグ・スキャンなどが挙げ
られる。そのため、特開平6−187434の制御方式
はこのような応用にも適さない。
Also, in the processing of block data, the data output order of the preceding stage processing module often does not match the processing order of the subsequent stage processing module. do not do. Examples of such a method include a two-dimensional DCT operation (discrete cosine transform) and a zigzag scan employed in a compression algorithm known as JPEG. Therefore, the control method disclosed in Japanese Patent Application Laid-Open No. 6-187434 is not suitable for such an application.

【0017】また、各処理モジュールが能動的に動作す
ることで、処理系への負荷の集中はある程度避けられる
が、これによりテストやデバッグが困難になるという問
題が発生する。
In addition, the active operation of each processing module can avoid concentration of load on the processing system to some extent, but this causes a problem that testing and debugging become difficult.

【0018】また、特開平5−298436では、直列
接続された複数の処理モジュールを同一時間内で終了す
るようにして制御する方法について開示しているが、入
出力バッファとしてメモリを用意しているため、バッフ
ァ・エンプテイもバッファ・フルもない均一なパイプラ
インについてのみ触れており、本発明とは発明の目的、
作用とも異なるものである。
Japanese Unexamined Patent Publication No. Hei 5-298436 discloses a method of controlling a plurality of processing modules connected in series so that they are terminated within the same time. However, a memory is prepared as an input / output buffer. Therefore, only a uniform pipeline without buffer empty or buffer full is mentioned, and the present invention is the purpose of the invention,
It is also different from the action.

【0019】[0019]

【発明が解決しようとする課題】本発明の画像処理装置
および画像処理方法の第1の目的は、画像処理装置にお
いて、各処理ステージに対応する個々の制御系、及び全
体の処理に関する制御系の負荷を減少させることで処理
系全体の高速化を達成することである。
A first object of the image processing apparatus and the image processing method according to the present invention is to provide an image processing apparatus with an individual control system corresponding to each processing stage and a control system relating to overall processing. An object of the present invention is to increase the speed of the entire processing system by reducing the load.

【0020】本発明の画像処理装置および画像処理方法
の第2の目的は、ホスト・システムによって制御される
パッシッブ・モードでの動作によって実行される画像処
理装置のテスト容易性を確保することである。
A second object of the image processing apparatus and the image processing method of the present invention is to ensure the testability of the image processing apparatus executed by the operation in the passive mode controlled by the host system. .

【0021】さらに、本発明の画像処理装置および画像
処理方法の第3の目的は、処理ステージにおける処理ア
ルゴリズムの変更等に対して柔軟に対応することのでき
る構成を提供することである。
Further, a third object of the image processing apparatus and the image processing method of the present invention is to provide a configuration capable of flexibly responding to a change in a processing algorithm in a processing stage.

【0022】[0022]

【課題を解決するための手段】上記の目的を解決するた
めに、本発明の画像処理装置は、画像データを処理する
画像処理装置であって、複数の処理を画像データに対し
て順次実行するために直列に接続された複数の処理ステ
ージと、複数の処理ステージ間に位置し、前段の処理ス
テージでの処理結果を記憶し、次の処理ステージに渡す
ためのバッファであり、各々が各処理ステージの処理結
果が格納できる容量を有する2個のバッファで構成され
たダブル・バッファと、処理ステージにおけるの処理開
始の許可を通知する処理開始信号(LSTART)を出
力する大域的制御装置と、を有することを特徴とする。
According to an aspect of the present invention, there is provided an image processing apparatus for processing image data, wherein a plurality of processes are sequentially performed on the image data. A plurality of processing stages connected in series, and a buffer located between the plurality of processing stages, for storing processing results of the preceding processing stage and passing it to the next processing stage, each of which is a buffer for each processing stage. A double buffer composed of two buffers each having a capacity capable of storing the processing result of the stage, and a global control device that outputs a processing start signal (LSTART) for notifying permission to start processing in the processing stage. It is characterized by having.

【0023】また、本発明の画像処理装置において、大
域的制御装置から出力される処理開始信号(LSTAR
T)は、ダブル・バッファのバッファ相互の切り替えタ
イミングを制御する信号としても機能することを特徴と
する。
In the image processing apparatus according to the present invention, a processing start signal (LSTAR) output from the global control device is provided.
T) is characterized in that it also functions as a signal for controlling the switching timing between the buffers of the double buffer.

【0024】また、本発明の画像処理装置において、大
域的制御装置からの処理開始信号(LSTART)を受
領し、複数の処理ステージの各々に対応して設けられ、
それぞれの対応処理ステージの処理制御を実行する局所
的制御装置を有することを特徴とする。
Further, in the image processing apparatus of the present invention, a processing start signal (LSTART) is received from the global control apparatus, and provided in correspondence with each of the plurality of processing stages.
It is characterized by having a local control device for executing the processing control of each corresponding processing stage.

【0025】また、本発明の画像処理装置において、画
像データを処理する画像処理装置であって、複数の処理
を画像に対して順次実行するために直列に接続された複
数の処理ステージと、複数の処理ステージ間に位置し、
前段の処理ステージでの処理結果を記憶し、次の処理ス
テージに渡すためのバッファであり、各々が各処理ステ
ージの処理結果が格納できる容量を有する2個のバッフ
ァで構成されたダブル・バッファと、処理ステージにお
けるの処理開始の許可を通知するとともに、ダブル・バ
ッファのバッファ相互の切り替えタイミングを制御する
信号としても機能する処理開始信号(LSTART)を
出力する大域的制御装置と、大域的制御装置に対して制
御信号(CONTROL)を出力し、処理開始信号(L
START)の出力を制御するとともに、ダブル・バッ
ファに対してアクセス可能に接続されたホスト・システ
ムと、を有することを特徴とする。
In the image processing apparatus of the present invention, there is provided an image processing apparatus for processing image data, comprising: a plurality of processing stages connected in series for sequentially executing a plurality of processes on an image; Located between the processing stages of
A buffer for storing the processing result of the preceding processing stage and passing it to the next processing stage, each buffer being composed of two buffers each having a capacity capable of storing the processing result of each processing stage; A global control device for notifying permission to start processing in the processing stage and outputting a processing start signal (LSTART) which also functions as a signal for controlling the switching timing of the buffers in the double buffer, and a global control device , A control signal (CONTROL) is output, and a processing start signal (L
And a host system connected to the double buffer so as to access the double buffer.

【0026】また、本発明の画像処理装置において、大
域的制御装置から出力される処理開始信号(LSTAR
T)の信号間隔は複数の処理ステージ中、最も処理時間
の長い処理ステージの処理時間に基づいて設定されるこ
とを特徴とする。
In the image processing apparatus according to the present invention, a processing start signal (LSTAR) output from the global control device is provided.
The signal interval of T) is set based on the processing time of the processing stage having the longest processing time among the plurality of processing stages.

【0027】また、本発明の画像処理装置において、複
数の処理ステージの最初の処理ステージに処理データを
出力する入力バッファと、複数の処理ステージの最後の
処理ステージから処理データを入力する出力バッファと
を有し、大域的制御装置は、入力バッファおよび出力バ
ッファのデータ蓄積状態を示す信号をそれぞれ入力バッ
ファおよび出力バッファから受領し、各入出力バッファ
のデータ蓄積状態に応じて、大域的制御装置における処
理開始信号(LSTART)の出力制御が行われる構成
を有することを特徴とする。
Further, in the image processing apparatus of the present invention, an input buffer for outputting processing data to the first processing stage of the plurality of processing stages, and an output buffer for inputting processing data from the last processing stage of the plurality of processing stages. The global controller receives a signal indicating the data accumulation state of the input buffer and the output buffer from the input buffer and the output buffer, respectively, and according to the data accumulation state of each input / output buffer, the global controller It has a configuration in which output control of a processing start signal (LSTART) is performed.

【0028】また、本発明の画像処理装置において、直
列に接続された各処理ステージ中、連続する2以上の処
理ステージの処理時間の合計は、他のいずれか1つの処
理ステージの処理時間より大きくなるように各処理ステ
ージが構成されていることを特徴とする。
In the image processing apparatus of the present invention, the sum of the processing times of two or more consecutive processing stages among the serially connected processing stages is greater than the processing time of any one of the other processing stages. It is characterized in that each processing stage is configured to be as follows.

【0029】また、本発明の画像処理装置において、ダ
ブル・バッファに、前段の処理ステージからの中間結果
をロードするかホストからのデータをロードするかを選
択可能とする構成を有することを特徴とする。
Further, the image processing apparatus according to the present invention is characterized in that the double buffer can be selected to load an intermediate result from a preceding processing stage or data from a host. I do.

【0030】また、本発明の画像処理装置において、画
像データを処理する画像処理装置であって、複数の処理
を画像に対して順次実行するために直列に接続された複
数の処理ステージと、複数の処理ステージ間に位置し、
前段の処理ステージでの処理結果を記憶し、次の処理ス
テージに渡すためのバッファであり、各々が各処理ステ
ージの処理結果が格納できる容量を有する2個のバッフ
ァで構成されたダブル・バッファと、処理ステージにお
けるの処理開始の許可を通知する処理開始信号(LST
ART)を出力する大域的制御装置とを有し、複数の処
理ステージ中、第1の処理ステージは、画像圧縮のため
の画像分析を行う画像分析ステージであり、第2の処理
ステージは、第1の処理ステージにより計算された処理
結果を用いて画像を間引きする画像間引きステージであ
り、第3の処理ステージは、第2の処理ステージで間引
かれた画像に対して可逆圧縮を行う可逆圧縮ステージに
よって構成されていることを特徴とする。
The image processing apparatus according to the present invention is an image processing apparatus for processing image data, comprising: a plurality of processing stages connected in series for sequentially executing a plurality of processes on an image; Located between the processing stages of
A buffer for storing the processing result of the preceding processing stage and passing it to the next processing stage, each buffer being composed of two buffers each having a capacity capable of storing the processing result of each processing stage; , Processing start signal (LST)
A global control device for outputting an ART), among the plurality of processing stages, a first processing stage is an image analysis stage for performing image analysis for image compression, and a second processing stage is a second processing stage. An image thinning-out stage for thinning out an image using the processing result calculated by the first processing stage, and a third processing stage is a lossless compression for performing lossless compression on the image thinned out in the second processing stage. It is characterized by being constituted by a stage.

【0031】さらに、本発明の画像処理方法は、画像デ
ータに対して複数の処理を順次実行するために直列に接
続された複数の処理ステージと、複数の処理ステージ間
に位置し、前段の処理ステージでの処理結果を記憶し、
次の処理ステージに渡すためのバッファであり、各々が
各処理ステージの処理結果が格納できる容量を有する2
個のバッファで構成されたダブル・バッファと、を有す
る画像処理装置における画像処理方法において、複数の
処理ステージに接続された大域的制御装置から出力され
る処理開始信号(LSTART)を契機として各処理ス
テージにおいて画像処理を開始するとともに、ダブル・
バッファのバッファ相互の切り替えを実行するステップ
と、複数の処理ステージの各々に対応して設けられ、そ
れぞれに対応する処理ステージの処理制御を実行する局
所的制御装置による制御によって処理ステージにおける
画像処理を実行するステップと、を有することを特徴と
する。
Further, according to the image processing method of the present invention, a plurality of processing stages connected in series to sequentially execute a plurality of processes on image data, and a plurality of processing stages located between the plurality of processing stages, Memorize the processing results at the stage,
Buffers for passing to the next processing stage, each having a capacity to store the processing result of each processing stage.
In an image processing method in an image processing apparatus having a double buffer composed of a plurality of buffers, each processing is triggered by a processing start signal (LSTART) output from a global control device connected to a plurality of processing stages. Start image processing on the stage,
A step of performing buffer switching between buffers; and a step of performing image processing in the processing stage by a local control device that is provided corresponding to each of the plurality of processing stages and performs processing control of the corresponding processing stage. Performing the steps.

【0032】また、本発明の画像処理方法において、画
像データに対して複数の処理を順次実行するために直列
に接続された複数の処理ステージと、複数の処理ステー
ジ間に位置し、前段の処理ステージでの処理結果を記憶
し、次の処理ステージに渡すためのバッファであり、各
々が各処理ステージの処理結果が格納できる容量を有す
る2個のバッファで構成されたダブル・バッファと、を
有する画像処理装置における画像処理方法において、ダ
ブル・バッファに対してアクセス可能に接続されたホス
ト・システムから大域的制御装置に対して制御信号(C
ONTROL)を出力する制御信号出力ステップと、制
御信号出力ステップを契機として、各処理ステージにお
いて画像処理を開始するとともに、ダブル・バッファの
バッファ相互の切り替えを実行するステップと、ホスト
・システムからダブル・バッファへのアクセスを実行す
るステップと、複数の処理ステージの各々に対応して設
けられ、それぞれに対応する処理ステージの処理制御を
実行する局所的制御装置による制御によって処理ステー
ジにおける画像処理を実行するステップとを有すること
を特徴とする。
Further, in the image processing method of the present invention, a plurality of processing stages connected in series to sequentially execute a plurality of processings on image data, and a plurality of processing stages located between the plurality of processing stages, and a preceding processing A buffer for storing the processing result of the stage and passing it to the next processing stage, each of which has two buffers each having a capacity capable of storing the processing result of each processing stage; In an image processing method in an image processing apparatus, a control signal (C) is transmitted from a host system operatively connected to a double buffer to a global controller.
ON), a step of starting image processing in each processing stage and executing the switching between the buffers of the double buffer triggered by the control signal outputting step, and a step of outputting a double buffer from the host system. A step of executing access to the buffer; and executing image processing in the processing stage under control of a local controller provided for each of the plurality of processing stages and executing processing control of the corresponding processing stage. And a step.

【0033】[0033]

【発明の実施の形態】本発明のパイプライン画像処理装
置の構成例を図1に示す。パイプライン処理装置1は、
パイプライン処理装置1にブロック・データを供給した
り、パイプライン処理装置により処理された処理結果や
中間結果を受け取ったり、大域的制御装置5(後述)に
指示を与えたりするホスト・システム2に接続されてい
る。また、パイプライン処理装置1は、ホスト・システ
ム2からのブロック・データをパイプライン処理装置1
に送る際に両者の処理速度の変動によるデータ処理速度
のずれを緩衝するための入力バッファ3に接続されてい
る。さらに、パイプライン処理装置1は、パイプライン
処理装置1からの処理結果をホスト・システム2が受け
取る際のデータ処理速度のずれを緩衝するための出力バ
ッファ4に接続されている。大域的制御装置5は、入力
バッファ3や出力バッファ4の状況フラグを監視し、時
にはホスト・システム2からの指示により、ダブル・バ
ッファ8(後述)を切替え、同時に、局所的制御装置5
(後述)に各処理ステージ7(後述)の動作開始タイミ
ングを指示する。局所的制御装置6は、大域的制御装置
5により対応する処理ステージ7(後述)の動作開始タ
イミングを与えられたなら、ある一定時間まで対応する
処理ステージ7の制御を大域的制御装置5や他の局所的
制御装置6とは独立に行う。処理ステージ7は、1つま
たは複数の論理的または機能的演算を行い、機能的な演
算の単位を演算モジュールと呼ぶことにすると、各処理
ステージの演算処理時間は、演算モジュールの統合・再
構成などにより、ほぼ同一時間で処理されるように調整
されている。各処理ステージ7の間は、統合・再構成さ
れた処理ステージの中間出力を保持するのに十分な容量
を持ったバッファが2枚、いわゆるダブル・バッファ8
で構成されており、バッファ切替えのタイミングは大域
的制御装置5により指示される、ダブル・バッファ8の
内容はホスト・システム2からリード(Read)され
たり、ライト(Write)されたりすることも可能に
なっている。ホスト・システム2とパイプライン処理装
置1、入力バッファ3、出力バッファ4は、接続バス9
で接続され、各種データの転送を行う。
FIG. 1 shows an example of the configuration of a pipeline image processing apparatus according to the present invention. The pipeline processing device 1 includes:
A host system 2 that supplies block data to the pipeline processing device 1, receives processing results and intermediate results processed by the pipeline processing device 1, and gives instructions to a global control device 5 (described later). It is connected. Further, the pipeline processing device 1 transmits block data from the host system 2 to the pipeline processing device 1.
Are connected to an input buffer 3 for buffering a shift in the data processing speed due to a change in the processing speed of the two. Further, the pipeline processing device 1 is connected to an output buffer 4 for buffering a shift in data processing speed when the host system 2 receives a processing result from the pipeline processing device 1. The global control device 5 monitors the status flags of the input buffer 3 and the output buffer 4, and sometimes switches the double buffer 8 (described later) according to an instruction from the host system 2.
(Described later) is instructed on the operation start timing of each processing stage 7 (described later). When given the operation start timing of the corresponding processing stage 7 (described later) by the global control device 5, the local control device 6 controls the corresponding processing stage 7 up to a certain time by the global control device 5 or other control device. Is performed independently of the local control device 6. The processing stage 7 performs one or a plurality of logical or functional operations, and a unit of the functional operation is referred to as an operation module. The operation processing time of each processing stage is calculated by integrating and reconfiguring the operation modules. For example, it is adjusted so that the processing is performed in substantially the same time. Between each processing stage 7, two buffers having sufficient capacity to hold the intermediate output of the integrated and reconstructed processing stage, a so-called double buffer 8
And the buffer switching timing is instructed by the global controller 5. The contents of the double buffer 8 can be read or written by the host system 2. It has become. The host system 2, the pipeline processing device 1, the input buffer 3, and the output buffer 4
And transfer various data.

【0034】なお、図1は本発明の画像処理装置の原理
的構成を説明するためのものであり、ブロック・データ
の入力データはホスト・システム2からのデータに限定
されるものではなく、スキャナやデジタル・カメラなど
でもよく、同様にパイプライン処理装置1による出力結
果は、出力バッファ4を通してホスト・システム2に戻
されるだけでなく、ディスプレイ装置やプリンタに出力
されてもよい。また、図1では処理ステージが3つの例
を示しているが、本発明の画像処理装置における処理ス
テージ数は3つに限定されるものではない。
FIG. 1 is for explaining the basic configuration of the image processing apparatus according to the present invention. The input data of the block data is not limited to the data from the host system 2 but is used as a scanner. Or a digital camera. Similarly, the output result of the pipeline processing device 1 may be output not only to the host system 2 through the output buffer 4 but also to a display device or a printer. FIG. 1 shows an example in which the number of processing stages is three, but the number of processing stages in the image processing apparatus of the present invention is not limited to three.

【0035】[0035]

【実施例】以下、本発明の画像処理装置における3つの
実施例を説明する。実施例1はこの発明に共通な処理装
置の詳細を説明し、実施例2では、本発明の画像処理装
置がイメージ・データ符号化システムとして使用された
時の処理を説明し、実施例3では、本発明の画像処理装
置のテスト容易性と柔軟性を示すために処理ステージの
一部をホスト・システムが行う処理システムについて説
明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Three embodiments of the image processing apparatus according to the present invention will be described below. The first embodiment describes details of a processing device common to the present invention, the second embodiment describes a process when the image processing device of the present invention is used as an image data encoding system, and the third embodiment describes a process when the image processing device is used as an image data encoding system. A description will be given of a processing system in which part of a processing stage is performed by a host system in order to show testability and flexibility of the image processing apparatus of the present invention.

【0036】[実施例1]図1において、パイプライン
処理装置1は、2つの動作モードを備える。1つはホス
ト・システム2からの動作開始指示を受けた後、入力バ
ッファ3の空き状態を示すエンプティ・フラグ(EMP
TY)や出力バッファ4の蓄積データが一杯になったこ
とを示すフル・フラグ(FULL)を監視しながら能動
的に動作するアクティブ・モードであり、もう1つは、
ホスト・システム2からの動作指示がある毎に一定時間
だけ動作するパッシブ・モード(またはテスト・モー
ド)である。このモード切替えは、図2に示したパイプ
ライン処理装置1内のコンフィグレーション・レジスタ
(11)のbit0の値により制御される。
Embodiment 1 In FIG. 1, the pipeline processing device 1 has two operation modes. One is that after receiving an operation start instruction from the host system 2, an empty flag (EMP) indicating the empty state of the input buffer 3 is used.
TY) and a full flag (FULL) indicating that the accumulated data in the output buffer 4 is full.
This is a passive mode (or a test mode) in which the operation is performed for a fixed time every time an operation instruction is issued from the host system 2. This mode switching is controlled by the value of bit0 of the configuration register (11) in the pipeline processing device 1 shown in FIG.

【0037】図2に示したパイプライン処理装置1内の
コンフィグレーション・レジスタ(11)の例において
は、レジスタのbit0の値が0の場合、パイプライン
処理装置が能動的に動作するアクティブ・モードの設定
であり、レジスタの値が1の場合は、ホスト・システム
2からの動作指示がある毎に一定時間だけ動作するパッ
シブ・モードとなる。
In the example of the configuration register (11) in the pipeline processor 1 shown in FIG. 2, when the value of bit0 of the register is 0, the active mode in which the pipeline processor operates actively When the value of the register is 1, the passive mode is activated for a fixed time every time an operation instruction is issued from the host system 2.

【0038】ホスト・システム2は、汎用のパソコンま
たはワークステーションであり、内部にI/O接続用の
汎用バスとメイン・メモリとI/O装置間のデータ転送
を司るDMA(Direct Memory Acce
ss)装置を1つ以上備えており、応用プログラムの実
行とパイプライン処理装置1との通信・制御に責任を持
っている。例えば、応用プログラムとして画像に対する
何らかの処理が指定されており、パイプライン処理装置
1がその処理を行うものとすると、ホスト・システム2
はパイプライン処理装置1に起動をかけると同時に、メ
モリに展開されたブロック・データをホスト・システム
2内のDMA装置により入力バッファ3に転送する。ホ
スト・システム2がパイプライン処理装置1により処理
された結果を受け取る場合には、もう1つのDMA装置
が使用され、それは出力バッファ4に溜められた処理結
果をホスト・システム2に転送する。
The host system 2 is a general-purpose personal computer or workstation, and has a general-purpose bus for I / O connection, a DMA (Direct Memory Access) for managing data transfer between a main memory and an I / O device.
ss) One or more devices are provided, and are responsible for execution of application programs and communication / control with the pipeline processing device 1. For example, if some processing for an image is specified as an application program, and the pipeline processing apparatus 1 performs the processing, the host system 2
Activates the pipeline processing device 1 and, at the same time, transfers the block data expanded in the memory to the input buffer 3 by the DMA device in the host system 2. When the host system 2 receives the result processed by the pipeline processing device 1, another DMA device is used, which transfers the processing result stored in the output buffer 4 to the host system 2.

【0039】また、ホスト・システム2は、パイプライ
ン処理装置1をパッシブ・モードにすることができ、こ
の時は、パイプライン処理装置1内のダブル・バッファ
8にリード/ライト・アクセス可能である。また、大域
的制御装置5に指示して一定時間だけパイプライン処理
装置1を動作させることが可能である。
Further, the host system 2 can set the pipeline processing device 1 to the passive mode, and at this time, the double buffer 8 in the pipeline processing device 1 can be read / written. . It is also possible to instruct the global control device 5 to operate the pipeline processing device 1 for a certain period of time.

【0040】入力バッファ3は、ホスト・システム2か
らのデータが入力されたり、図示されていないスキャナ
やデジタル・カメラからのデータも入力可能であり、パ
イプライン処理装置1からの要求により入力されたデー
タをパイプライン処理装置1に出力することが可能であ
る。この時の出力順序は必ずしも入力順序とは一致して
いる必要はなく、1回の要求で出力されるデータの数も
任意である。入力バッファ3がデータで一杯になった時
は入力バッファ・フル・フラグをアクティブにし、入力
バッファ3がパイプライン処理装置1の最初の処理ステ
ージで必要となる分のデータを保持していなかった時
は、入力バッファ・エンプティ・フラグをアクティブに
する機能を持っている。
The input buffer 3 can receive data from the host system 2 or data from a scanner or a digital camera (not shown). It is possible to output data to the pipeline processing device 1. The output order at this time does not necessarily have to match the input order, and the number of data output in one request is arbitrary. When the input buffer 3 is full of data, the input buffer full flag is activated, and when the input buffer 3 does not hold the data necessary for the first processing stage of the pipeline processing device 1. Has the function of activating the input buffer empty flag.

【0041】出力バッファ4は、パイプライン処理装置
1から出力された処理結果が蓄積されており、蓄積され
た処理結果はホスト・システム2内あるいは外部のDM
A装置により、ホスト・システム2あるいは図示されて
いないCRTやプリンタに転送される。この時、処理結
果の蓄積順序と蓄積データの転送順序は必ずしも一致し
ている必要はなく、1回に蓄積されるデータの数も任意
である。出力バッファ4がデータで一杯になった時は出
力バッファ・フル・フラグをアクティブにし、出力バッ
ファ4が空になった時は、出力バッファ・エンプティ・
フラグをアクティブにする機能を持っている。
The output buffer 4 stores processing results output from the pipeline processing apparatus 1 and stores the stored processing results in the host system 2 or an external DM.
The device A transfers the data to the host system 2 or a CRT or printer (not shown). At this time, the accumulation order of the processing results and the transfer order of the accumulated data do not necessarily have to match, and the number of data accumulated at one time is arbitrary. When the output buffer 4 is full of data, the output buffer full flag is activated. When the output buffer 4 becomes empty, the output buffer empty flag is output.
Has the ability to activate the flag.

【0042】大域的制御装置5には前述したように2つ
の動作モードが存在する。アクティブ・モードでは、ホ
スト・システム2より起動がかけられた後は、入力バッ
ファ・エンプティ信号と出力バッファ・フル信号を監視
し、どちらの信号もアクティブでなければ、ダブル・バ
ッファ8を切替え、各局所制御装置6に各対応する処理
ステージ7の動作を開始してもOKであることを知らせ
る信号(LSTART)を送る。LSTART信号は、
パイプライン制御装置1の基本動作クロック、1周期分
のみアクティブになり、次にアクティブになるタイミン
グは、その間、入力バッファ・エンプティ信号または出
力バッファ・フル信号がアクティブにならなければ、図
2に示したブロック・サイクル・レジスタ(11)に書
かれた値だけ間隔をおいたタイミングでアクティブにな
る。もしその間に、入力バッファ・エンプティ信号また
は出力バッファ・フル信号がアクティブになった時は、
その期間分だけアクティブになるまでの間隔が延長され
る。通常、図2のブロック・サイクル・レジスタ(1
1)に書かれる値は、最も処理サイクルの長い処理ステ
ージの処理サイクル数である。
As described above, the global control device 5 has two operation modes. In the active mode, after the host system 2 is started up, the input buffer empty signal and the output buffer full signal are monitored, and if neither signal is active, the double buffer 8 is switched. A signal (LSTART) notifying that the operation is OK even when the operation of each corresponding processing stage 7 is started is sent to the local control device 6. The LSTART signal is
The basic operation clock of the pipeline control device 1 becomes active only for one cycle, and the next active timing is shown in FIG. 2 unless the input buffer empty signal or the output buffer full signal becomes active during that time. It becomes active at timings spaced by the value written in the block cycle register (11). If during that time the input buffer empty signal or the output buffer full signal becomes active,
The interval until it becomes active for that period is extended. Typically, the block cycle register (1
The value written in 1) is the number of processing cycles of the processing stage having the longest processing cycle.

【0043】図1に示す複数の処理ステージ7の各々
は、それぞれが異なる処理を実行し、それぞれの処理時
間に差がある。本発明の画像処理装置は、これらの異な
る処理サイクルを一つの大域的制御装置5および局所的
制御装置6の組み合わせにより効率的に制御するもので
ある。パイプライン処理装置1内にあるそれぞれの処理
ステージ7における各処理のスタートのタイミングは、
大域的制御装置5から各局所的制御装置6に通知される
LSTART信号により制御される。従って、このLS
TART信号の間隔は、基本的にパイプライン処理装置
1の複数の処理ステージ7の中の最も処理サイクルの長
い処理ステージに律速されることとなり、その処理サイ
クルにあわせて設定される。
Each of the plurality of processing stages 7 shown in FIG. 1 executes a different process, and there is a difference in each processing time. The image processing apparatus of the present invention efficiently controls these different processing cycles by combining one global control device 5 and one local control device 6. The start timing of each processing in each processing stage 7 in the pipeline processing device 1 is as follows:
It is controlled by an LSTART signal notified from the global controller 5 to each local controller 6. Therefore, this LS
The interval between the TART signals is basically determined by the processing stage having the longest processing cycle among the plurality of processing stages 7 of the pipeline processing apparatus 1, and is set according to the processing cycle.

【0044】ホスト・システム2からの動作指示によ
り、一定時間だけ動作するパッシブ・モード(テスト・
モード)では、大域的制御装置5はホスト・システム2
から指示があった時のみLSTART信号を1クロック
・サイクル分だけアクティブにし、次の指示が来ない限
りLSTART信号をアクティブにすることはない。こ
の時は、入力バッファ・エンプティ信号や出力バッファ
・フル信号は無視され、同様に図2に示すブロック・サ
イクル・レジスタの値も意味を持たない。
In response to an operation instruction from the host system 2, the passive mode (test mode
In the mode), the global controller 5 controls the host system 2
The LSTART signal is activated for one clock cycle only when an instruction is issued from the CPU, and the LSTART signal is not activated unless the next instruction comes. At this time, the input buffer empty signal and the output buffer full signal are ignored, and similarly, the value of the block cycle register shown in FIG. 2 has no meaning.

【0045】図3に大域的制御装置5の実装例を示す。
コンフィグレーション・レジスタ(図2(10)参照)
のモード・ビット(bit0)は2入力1出力マルチプ
レクサ(MUX)の切替えに使用されており、前述のア
クティブ・モード、およびパッシブ・モードの選択がな
される。パルス生成器は入力信号の立ち上がりを検出す
ると基本クロックの1周期分のアクティブ・パルスを生
成する。カウンタは図示されないリセット信号がアクテ
ィブになった時と一致比較器の信号がアクティブになっ
た時に0クリアされ、WAIT信号がアクテイブでなけ
れば基本クロックをベースにカウントアップを行い、W
AIT信号がアクティブの時はカウントアップは行わず
に現在のカウント値を保持する。一致比較器には、前述
のブロック・サイクル・レジスタの値が入力され、カウ
ンタのカウント値との比較がなされる。WAIT信号は
入力バッファ・エンプティ信号と出力バッファ・フル信
号のAND接続である。ホスト・システムからの信号は
MUXを通してパルス生成器に接続される。
FIG. 3 shows an implementation example of the global control device 5.
Configuration register (see Fig. 2 (10))
The mode bit (bit0) is used for switching the two-input one-output multiplexer (MUX), and the above-mentioned active mode and passive mode are selected. When detecting the rising edge of the input signal, the pulse generator generates an active pulse for one cycle of the basic clock. The counter is cleared to 0 when a reset signal (not shown) becomes active and when the signal of the coincidence comparator becomes active. If the WAIT signal is not active, the counter counts up on the basis of the basic clock.
When the AIT signal is active, the current count value is held without counting up. The value of the above-described block cycle register is input to the coincidence comparator, and is compared with the count value of the counter. The WAIT signal is an AND connection of the input buffer empty signal and the output buffer full signal. Signals from the host system are connected to the pulse generator through the MUX.

【0046】局所的制御装置6は、処理ステージ7の数
だけ存在し、各々対応する処理ステージを制御する。局
所的制御装置6は大域的制御装置5からのLSTART
信号がアクティブになったら、あらかじめ決められたシ
ーケンス制御を行う。このシーケンスは、大域的制御装
置5や他の局所的制御装置6の振る舞いに影響されない
独立な動作を行う。特に入力バッファに接続された最初
のステージと出力バッファに接続された最後のステージ
を除いた中間部の局所的制御装置6は、大域的制御装置
5からLSTART信号を受け取った時点で演算に必要
なすべての入力データとすべての出力データを書き込む
ためのスペースがそれぞれ前後のダブルバッファ8に用
意されているので、入力バッファ・エンプティや出力バ
ッファ・フルの影響をまったく受けずに制御可能であ
る。よって演算シーケンスだけを制御すればよいので制
御が簡単化されている。これに対して、最初と最後のス
テージに対応する局所的制御装置では、それぞれ入力バ
ッファ・エンプティと出力バッファ・フルに対応した制
御が必要になる。
There are as many local control devices 6 as the number of processing stages 7, each of which controls a corresponding processing stage. The local controller 6 receives the LSTART from the global controller 5
When the signal becomes active, a predetermined sequence control is performed. This sequence performs an independent operation that is not affected by the behavior of the global control device 5 and other local control devices 6. In particular, the local controller 6 in the middle except for the first stage connected to the input buffer and the last stage connected to the output buffer is required for the operation when receiving the LSTART signal from the global controller 5. Spaces for writing all input data and all output data are provided in the front and rear double buffers 8, respectively, so that control can be performed without being affected by input buffer empty or output buffer full. Therefore, control is simplified since only the operation sequence needs to be controlled. In contrast, local controllers corresponding to the first and last stages require control corresponding to input buffer empty and output buffer full, respectively.

【0047】処理ステージ7は、1つまたは複数の論理
的または機能的演算を行い、その機能的な演算の単位を
演算モジュールと呼ぶことにすると、各処理ステージの
演算処理時間は可能であれば演算モジュールの統合・再
構成などにより、ほぼ同一時間で処理されるように調整
することができる。これは、1つの処理ステージに許さ
れる処理時間は、前述したように最も処理時間の長い処
理ステージにより決定されるので、複数の連続した演算
モジュールを1つの処理ステージに統合しても、その合
計処理時間が最も処理時間の長い処理ステージの処理時
間よりも短ければ統合した方がダブル・バッファ8の削
減ができるので都合がいい。
The processing stage 7 performs one or a plurality of logical or functional operations, and a unit of the functional operation is referred to as an operation module. By integrating and reconfiguring the operation modules, adjustment can be made so that the processing is performed in substantially the same time. This is because the processing time allowed for one processing stage is determined by the processing stage having the longest processing time as described above, so that even if a plurality of continuous operation modules are integrated into one processing stage, the total If the processing time is shorter than the processing time of the processing stage having the longest processing time, it is convenient to combine the processing stages because the double buffer 8 can be reduced.

【0048】また、処理アルゴリズムに高い並列性があ
り、高い並列度で並列処理を行えば処理時間が短くなる
ような演算モジュールは、最も処理時間の長い処理ステ
ージの処理時間に合うまで並列度を下げて処理すること
も可能である。一般に並列度を上げれば処理時間は短く
なるが、周辺の処理速度がそれに追従できないならばH
/Wリソース(回路規模)の無駄使いになってしまう。
よって全ての処理ステージがほぼ同一の処理時間で制御
されることが最も望ましい。なお、演算内容によっては
各処理ステージの処理時間をほぼ同一に出来ないことも
あるが、その場合でも処理速度(出力スループット)は
変化しない。
An operation module having a high parallelism in the processing algorithm and performing a parallel processing with a high degree of parallelism will shorten the processing time. It is also possible to process. Generally, the processing time is shortened by increasing the degree of parallelism, but if the peripheral processing speed cannot follow it, H
/ W resource (circuit scale) is wasted.
Therefore, it is most desirable that all the processing stages be controlled with substantially the same processing time. In some cases, the processing time of each processing stage cannot be made substantially the same depending on the content of the calculation, but even in such a case, the processing speed (output throughput) does not change.

【0049】ダブル・バッファ8は、統合・再構成され
た処理ステージの中間出力を保持するのに十分な容量を
持ったバッファが2枚で構成されており、バッファ切替
えのタイミングは大域的制御装置5により指示され、そ
れは前述のLSTART信号により行われる。すなわ
ち、各処理ステージの処理開始信号の役割を果たすLS
TART信号によって、各ダブル・バッファ8から連続
する処理ステージにデータが入力および出力されること
になる。
The double buffer 8 is composed of two buffers having a capacity sufficient to hold the intermediate output of the integrated and reconfigured processing stage, and the buffer switching timing is controlled by a global control unit. 5, which is performed by the LSTART signal described above. That is, LS which plays the role of the processing start signal of each processing stage
The TART signal causes data to be input and output from each double buffer 8 to successive processing stages.

【0050】ダブル・バッファ8内の全記憶要素はアド
レス付けされており、ホスト・システム2からリード/
ライト可能になっている。ホスト・システム2から、ダ
ブル・バッファ8のデータをリード/ライト可能とした
構成と、ホスト・システム2が大域的制御装置5をパッ
シブ・モードで制御できる構成としたことにより任意の
タイミングでダブル・バッファ8のリード/ライトがで
きる。これにより、本発明のパイプライン処理装置にテ
スト容易性と柔軟性が加味されるが、これらについては
実施例3で説明する。
All storage elements in double buffer 8 are addressed and read / read from host system 2.
It is writable. The host system 2 can read / write data in the double buffer 8 and the host system 2 can control the global controller 5 in the passive mode. The buffer 8 can be read / written. This adds testability and flexibility to the pipeline processing apparatus of the present invention, which will be described in a third embodiment.

【0051】ダブル・バッファ8への書き込みソースは
図4に示すように各処理ステージ7とダブル・バッファ
8との間に接続されたマルチプレクサにより制御され
る。マルチプレクサは、前段の処理ステージ7、あるい
はホスト・システム2からのデータのいずれかを選択
し、ダブル・バッファ8に出力する機能を有する。マル
チプレクサにおけるデータ選択は、図2示したソース・
データ選択レジスタ(12)の値に基づいて行われる。
図2で示した例では、各マルチプレクサ(MUX1,
2,3..n)に割り振られた値が0の場合は、前段処
理ステージの出力データを選択し、値が1の場合は、ホ
スト・システムのデータを選択するように設定されてい
る。
The writing source to the double buffer 8 is controlled by a multiplexer connected between each processing stage 7 and the double buffer 8 as shown in FIG. The multiplexer has a function of selecting either the preceding processing stage 7 or data from the host system 2 and outputting the data to the double buffer 8. The data selection in the multiplexer is based on the source
This is performed based on the value of the data selection register (12).
In the example shown in FIG. 2, each multiplexer (MUX1, MUX1,
2,3. . When the value assigned to n) is 0, the output data of the preceding processing stage is selected, and when the value is 1, the data of the host system is selected.

【0052】バス9は、ホスト・システムとパイプライ
ン処理装置、入力バッファ、出力バッファを接続し、各
種データを転送するものである。
The bus 9 connects the host system to the pipeline processing device, input buffer, and output buffer, and transfers various data.

【0053】[実施例2]図5にイメージ・データ符号
化システムとして本発明のパイプライン画像処理装置を
適用した実施例を示す。符号化すべき原画像はホスト・
システム2内のメイン・メモリ(図示せず)中にあり、
ブロックは8X8の正方形の64画素であるとする。ま
ずホスト・システム2はパイプライン処理装置1をアク
ティブ・モードに設定し、ホスト・システム2内のDM
A装置を起動して、8ライン分の連続した画像領域を入
力バッファ3に転送する。
[Embodiment 2] FIG. 5 shows an embodiment in which the pipeline image processing apparatus of the present invention is applied as an image data encoding system. The original image to be encoded is
In main memory (not shown) in system 2;
The block is assumed to be an 8 × 8 square 64 pixels. First, the host system 2 sets the pipeline processing device 1 to the active mode, and the DM in the host system 2
The device A is started, and a continuous image area for eight lines is transferred to the input buffer 3.

【0054】大域的制御装置5は出力バッファ4がフル
でなく、入力バッファ3に1つ以上のブロックが存在す
れば、ダブル・バッファ8を切り換えると同時に各局所
的制御装置6に対応する処理ステージ7の動作開始タイ
ミングをLSTART信号により通知する。イメージ・
データ符号化システムでは、第1のステージは、ブロッ
ク・データを分析する画像分析ステージであり、データ
を間引きしても人間の視覚上問題のないレベルを計算す
ることと、各々の画素がページ記述言語(PDL:Pa
ge Descriptive Language)に
より描かれたPDL画像であるかスキャナや複写機によ
り入力されたスキャン画像であるかを識別するための演
算を行うステージである。
If the output buffer 4 is not full and one or more blocks are present in the input buffer 3, the global controller 5 switches the double buffer 8 and simultaneously executes the processing stage corresponding to each local controller 6. 7 is notified by an LSTART signal. image·
In the data encoding system, the first stage is an image analysis stage for analyzing block data, in which a level that does not cause a human visual problem even when the data is decimated is calculated, and each pixel is described in a page description. Language (PDL: Pa
This is a stage for performing an operation for identifying whether the image is a PDL image drawn by “ge Descriptive Language” or a scanned image input by a scanner or a copying machine.

【0055】図6は、図5に示すイメージ・データ符号
化システムの各処理ステージが次の処理ステージに渡す
中間結果を示した図である。図6(1)は、図5の最初
の処理ステージである画像分析ステージから次の処理ス
テージである画像間引きステージの中間データを説明し
ている。識別情報はブロックに対応した64−bitの
バッファが2枚のダブル・バッファで構成されており、
ブロック・データの各々の画素がPDL画像であったか
スキャン画像であったかを示す結果が、PDL画像であ
れば”1”、スキャン画像であれば”0”として対応す
る領域に書かれている。
FIG. 6 is a diagram showing an intermediate result that each processing stage of the image data encoding system shown in FIG. 5 passes to the next processing stage. FIG. 6A illustrates intermediate data from the image analysis stage which is the first processing stage in FIG. 5 to the image thinning stage which is the next processing stage. The identification information is composed of two 64-bit buffers each of which is a 64-bit buffer corresponding to the block.
The result indicating whether each pixel of the block data is a PDL image or a scanned image is written in a corresponding area as “1” for a PDL image and “0” for a scanned image.

【0056】画素がPDL画像であるかスキャン画像で
あるかを識別するためのもっとも簡易な方法としては、
隣接する画素間の差分値を計算し、その値がある閾値よ
りも大きければPDL画像と判定し、そうでなければス
キャン画像と判定するものである。画質制御情報は第1
ステージの画像分析回路により求められた複数個の閾値
情報であり、これにより第2ステージの画質間引きステ
ージ間引きレベルを制御する。
The simplest method for identifying whether a pixel is a PDL image or a scanned image is as follows:
The difference value between adjacent pixels is calculated, and if the difference value is larger than a certain threshold value, it is determined that the image is a PDL image, and if not, it is determined that the image is a scan image. The image quality control information is
This is a plurality of pieces of threshold information obtained by the image analysis circuit of the stage, and controls the image-thinning stage-thinning-thinning-thinning level of the second stage.

【0057】第2のステージは、第1のステージの処理
結果を利用して実際に間引きを行う画像間引きステージ
である。ここでの間引きアルゴリズムとしてはウェーブ
レットとして知られるアルゴリズムを利用する。この間
引き処理の際に第1の画像分析ステージで計算され、画
質制御情報として大2ステージに渡された閾値を使用し
間引きレベルを制御する。またPDL画像として判定さ
れた画素には間引き処理を行わない。
The second stage is an image thinning stage in which thinning is actually performed using the processing result of the first stage. Here, an algorithm known as a wavelet is used as the thinning algorithm. At the time of this thinning processing, the thinning level is controlled using the threshold value calculated in the first image analysis stage and passed to the large two stages as image quality control information. Also, the thinning process is not performed on the pixels determined as the PDL image.

【0058】ここで間引きアルゴリズムと間引きハード
ウエアを図7〜図9を用いて説明する。図7に示すよう
に、まず最初に64画素のデータ・ブロックは、16個
の2×2のサブブロックに分割される。次に16個に分
割された各々のサブブロックに対して周波数分割が行わ
れる。2×2のサブブロック中の4画素を図7に示すよ
うにa,b,c,dとすると、これに対して第1のフィ
ルタ演算として水平方向へのローパス・フィルタ演算、
ハイパス・フィルタ演算、および垂直方向へのローパス
・フィルタ演算を行う。ここでL1,L2は水平方向の
ローパス・フィルタ出力、H1,H2は水平方向のハイ
パス・フィルタ出力、VL1,VL2は垂直方向のロー
パス・フィルタ出力であり、それぞれが以下の式によっ
て決定される。
Here, the thinning algorithm and the thinning hardware will be described with reference to FIGS. As shown in FIG. 7, first, a data block of 64 pixels is divided into 16 2 × 2 sub-blocks. Next, frequency division is performed on each of the 16 sub-blocks. Assuming that four pixels in a 2 × 2 sub-block are a, b, c, and d as shown in FIG. 7, a low-pass filter operation in the horizontal direction is performed as a first filter operation.
A high-pass filter operation and a low-pass filter operation in the vertical direction are performed. Here, L1 and L2 are horizontal low-pass filter outputs, H1 and H2 are horizontal high-pass filter outputs, and VL1 and VL2 are vertical low-pass filter outputs, each of which is determined by the following equation.

【0059】[0059]

【数3】 L1=(a+b)/2, L2=(c+d)/2 H1=(a−b)/2, H2=(c−d)/2 VL1=(a+c)/2, VL2=(b+d)/2 である。L1 = (a + b) / 2, L2 = (c + d) / 2 H1 = (ab) / 2, H2 = (cd) / 2 VL1 = (a + c) / 2, VL2 = (b + d) ) / 2.

【0060】次に第1のフィルタ演算から得られた出力
(L1,L2,H1,H2)に対して、第2のフィルタ
演算として垂直方向にローパス・フィルタ演算、ハイパ
ス・フィルタ演算を行う。LL,HLは垂直方向のロー
・パス・フィルタ出力、LH,HHは垂直方向のハイ・
パス・フィルタ出力とすると、
Next, a low-pass filter operation and a high-pass filter operation are performed on the outputs (L1, L2, H1, H2) obtained from the first filter operation in the vertical direction as a second filter operation. LL and HL are vertical low-pass filter outputs, and LH and HH are vertical high-pass filters.
Assuming a pass filter output,

【0061】[0061]

【数4】 LL=(L1+L2)/2, HL=(H1+H2)
/2 LH=(L1−L2)/2, H2=(H1−H2)
/2 である。
LL = (L1 + L2) / 2, HL = (H1 + H2)
/ 2 LH = (L1-L2) / 2, H2 = (H1-H2)
/ 2.

【0062】次に第1ステージで求められた画像制御情
報(閾値:Thl1,Tlh1,Thh1)によりサン
プリングされる画素を図8のように決定する。この結
果、4×4画素のサブブロック内の全ての2×2画素サ
ブブロックがLL成分にのみサンプリングされた場合に
は、さらに周波数分割を続ける。情報量が最大に圧縮
(間引き)されたケースでは、64画素が1画素にサン
プリングされる。
Next, pixels to be sampled are determined as shown in FIG. 8 based on the image control information (thresholds: Thl1, Tlh1, Thh1) obtained in the first stage. As a result, when all the 2 × 2 pixel sub-blocks in the 4 × 4 pixel sub-block are sampled only for the LL component, the frequency division is further continued. In the case where the information amount is compressed (decimated) to the maximum, 64 pixels are sampled into one pixel.

【0063】図9は間引き回路の構成図を示しており、
頂点に1個、中段に4個、底辺に16個の総計21個の
PE(処理要素)がピラミッド状に接続されている。ピ
ラミッドの底辺には、16個のPEを配置し、各々のP
Eが4Pixelの処理に責任を持つことで、総数64
Pixelを処理する。更に上位の4個のPEが16個
のPEが出力する結果の処理に責任を持つことで処理さ
れる。そして一番上位のPEが4個のPEが出力する結
果を処理する。
FIG. 9 shows a configuration diagram of a thinning circuit.
A total of 21 PEs (processing elements) are connected in a pyramid shape, one at the top, four at the middle, and 16 at the bottom. At the bottom of the pyramid, 16 PEs are placed, and each P
E is responsible for the processing of 4 Pixels, giving a total of 64
Process Pixel. Furthermore, the four higher PEs are responsible for processing the results output by the sixteen PEs. The top PE processes the results output by the four PEs.

【0064】局所的制御装置6から演算開始を告げられ
たなら、まず底辺にある16個のPEは、図7、8で説
明したアルゴリズムを実行する。中間部に存在する4つ
のPEは、対応する下位4つのPE全てがLL成分にの
みサンプリングされた場合のみ動作する。例えば、PE
16は対応する{PE0,PE1,PE4,PE5}が
全てLL成分にのみサンプリングされた場合のみ動作す
る。同様に最上位のPEは、中間部に存在する4つのP
E全てがLL成分にのみサンプリングされた場合のみ動
作する。
When the start of the operation is notified from the local controller 6, the 16 PEs at the bottom first execute the algorithm described with reference to FIGS. The four PEs located in the middle part operate only when all the corresponding lower four PEs are sampled only for the LL component. For example, PE
16 operates only when the corresponding {PE0, PE1, PE4, PE5} are all sampled only as LL components. Similarly, the top PE has four Ps in the middle.
It operates only when all E are sampled only in the LL component.

【0065】PEによるアルゴリズムの実行は、パイプ
ライン処理されており、最初のステージで第1のフィル
タ演算を行い、2番目のステージで第2のフィルタ演算
を行い、3番目のステージで閾値との比較演算によりサ
ンプリングを行い、4番目のステージでは、上位に属す
るPEにサンプリング結果を伝えるために結果の書き込
みを行う。上位に属するPEはこの結果を見て、動作す
るかしないかを判定する。各ステージの演算は非常に単
純なので1基本サイクルで1ステージの演算を完了でき
る。以上のように、各PEは演算を行うデータが異なる
だけで演算そのものはまったく同じであり、底辺のPE
に限れば処理するデータは独立である。よって、その演
算を行うPEを複数用意して並列演算を行えば高速処理
が可能である。
The execution of the algorithm by the PE is pipelined, the first filter operation is performed in the first stage, the second filter operation is performed in the second stage, and the threshold value is calculated in the third stage. Sampling is performed by the comparison operation, and in the fourth stage, the result is written in order to transmit the sampling result to the PE belonging to the higher order. The PEs belonging to the higher ranks see this result and determine whether or not to operate. Since the operation of each stage is very simple, the operation of one stage can be completed in one basic cycle. As described above, each PE differs only in the data to be operated, and the operation itself is exactly the same.
The data to be processed is independent as long as Therefore, high-speed processing is possible by preparing a plurality of PEs for performing the operation and performing the parallel operation.

【0066】図10はPEを16個並列動作させた場合
のフロー・チャートであり、最悪ケースでも12サイク
ルで処理が終わる。すなわち、まず16個のPE(PE
0〜16)について、第1のフィルタ演算(1st s
tage)、第2のフィルタ演算(2nd stag
e)を行い、さらに閾値との比較演算によりサンプリン
グ(3rd Stage)を行い、上位に属するPEに
サンプリング結果を伝えるために結果の書き込み(4t
h Stage)を行う。この4つのステージで16P
Eから4PE(PE16〜19)に間引きされ、さらに
この4PEについての同様の4ステージが実行され、1
個のPE(PE20)について同様の処理がなされる。
このような処理が実行されると、64画素が1画素にま
で間引かれることになる。このような場合は、処理時間
としては最悪(最長)であるが、圧縮率の点からすると
最大の圧縮率である。
FIG. 10 is a flow chart when 16 PEs are operated in parallel. In the worst case, the processing is completed in 12 cycles. That is, first, 16 PEs (PE
0 to 16), the first filter operation (1st s
stage), the second filter operation (2nd tag)
e), further performs sampling (3rd Stage) by a comparison operation with a threshold value, and writes the result (4t
h Stage). 16P on these 4 stages
E is decimated to 4 PEs (PEs 16 to 19), and the same four stages for the 4 PEs are executed.
Similar processing is performed for the PEs (PE20).
When such processing is performed, 64 pixels are thinned out to one pixel. In such a case, the processing time is the worst (longest), but is the maximum compression rate in terms of the compression rate.

【0067】同様に図11はPEを4個づつ並列動作さ
せた場合のフロー・チャートであり、最悪ケースでも2
4サイクルで処理が終わる。すなわち、PE0〜PE
3、PE4〜PE7、PE8〜PE11、PE12〜P
E15をそれぞれセットとして順次4ステージの処理を
実行し、4×4の16サイクルを消費し、その後PE1
6からPE19の処理に4サイクル、最後にPE20の
処理に4サイクルを消費し、計16+4+4=24とな
り、24サイクルとなる。同様に図示はされていない
が、PEを2個のみ並列動作させた場合では、最悪ケー
スでも44サイクルで処理が終わる。
Similarly, FIG. 11 is a flow chart in the case of operating four PEs in parallel.
The process is completed in four cycles. That is, PE0-PE
3, PE4-PE7, PE8-PE11, PE12-P
E15 is set as a set to sequentially execute four stages of processing, consuming 4 × 4 16 cycles.
Four cycles are consumed from 6 to processing of PE19, and finally four cycles are consumed for processing of PE20. Thus, a total of 16 + 4 + 4 = 24, which is 24 cycles. Similarly, although not shown, when only two PEs are operated in parallel, the processing is completed in 44 cycles in the worst case.

【0068】図5のイメージ・データ符号化システムに
おけるパイプライン処理の第3のステージは間引きされ
た画像に対して可逆圧縮を行う可逆圧縮ステージであ
る。図6の数(2)に示されるように可逆圧縮ステージ
は、可逆圧縮回路を有する。アルゴリズムとしては近隣
画素を参照画素とした予測符号化を用い、さらに予測結
果に対してハフマン符号化とランレングス符号化を行
う。
The third stage of the pipeline processing in the image data encoding system shown in FIG. 5 is a lossless compression stage for performing lossless compression on a decimated image. As shown by the equation (2) in FIG. 6, the lossless compression stage has a lossless compression circuit. As an algorithm, prediction coding using neighboring pixels as reference pixels is used, and Huffman coding and run-length coding are performed on prediction results.

【0069】予測符号化はデータ・ブロックの左上端か
ら右下端に向かって順番に行われる。この時、間引きさ
れたデータの予測符号化においては、あらかじめ補間さ
れたデータに対して予測符号化を行う。そのため予測符
号化の演算は1画素づつ順番に参照画素との比較演算を
行わなければならなく、そのため複数の参照画素との比
較演算が1サイクルで終了できたとしても、すべての画
素を処理するためには最低64サイクルかかってしま
う。これに対して、第1、第2のステージは演算の並列
度が高く、64サイクル以下での処理が可能である。
The predictive coding is performed in order from the upper left end to the lower right end of the data block. At this time, in the predictive coding of the thinned data, the predictive coding is performed on the interpolated data in advance. Therefore, in the prediction coding operation, the comparison operation with the reference pixels must be performed in order one pixel at a time. Therefore, even if the comparison operation with a plurality of reference pixels can be completed in one cycle, all the pixels are processed. It takes at least 64 cycles. On the other hand, the first and second stages have a high degree of parallelism in operation, and can perform processing in 64 cycles or less.

【0070】これにより、ブロック・サイクル・レジス
タには最も長い処理時間を要する第3ステージの処理時
間サイクルが書き込まれ、入力バッファや出力バッファ
からのWAIT信号がアクティブでなければ、大域的制
御装置5は第3ステージの処理時間サイクルに合わせて
LSTART信号をアクティブにする。
Thus, the processing time cycle of the third stage requiring the longest processing time is written in the block cycle register. If the WAIT signal from the input buffer or the output buffer is not active, the global control unit 5 Activates the LSTART signal in synchronization with the processing time cycle of the third stage.

【0071】また、第3ステージが最長処理時間を要す
ることから、第1、第2のステージの演算の並列度をあ
まり高くしても意味がないことがわかる。たとえば第2
ステージの例でいえば、PEの並列度は2で十分である
ことがわかり、これにより回路規模を抑えることができ
る。
Further, since the third stage requires the longest processing time, it can be understood that it is meaningless if the degree of parallelism of the operations of the first and second stages is made too high. For example, the second
In the example of the stage, it is found that the degree of parallelism of the PE is 2 which is sufficient, so that the circuit scale can be suppressed.

【0072】このように最も長い処理時間を要する処理
時間サイクルをブロック・サイクル・レジスタに設定
し、この時間が経過したことを条件として(図3におけ
る一致比較器での確認)LSTARTの間隔を設定し
て、大域的制御装置5から局所的制御装置6に対して出
力することにより、各処理ステージ7間でのデータの入
出力(ダブル・バッファ8を介して)が可能となり、ス
ムーズなバイプライン処理の制御が可能となる。
The processing time cycle requiring the longest processing time is set in the block cycle register, and on the condition that this time has elapsed (confirmation by the coincidence comparator in FIG. 3), the LSTART interval is set. Then, by outputting from the global control device 5 to the local control device 6, data can be input / output between the processing stages 7 (via the double buffer 8), and the smooth pipeline processing can be performed. Can be controlled.

【0073】[実施例3]図12に本発明のパイプライ
ン画像処理システムがテストまたはパッシブ・モードま
たは、テストモード、すなわち、ホスト・システム2か
らの動作指示により、一定時間だけ動作するモードで、
イメージ・データ符号化システムが使用された実施例を
示す。図5での実施例との大きな違いは、本装置がパッ
シブ・モードで動作し、大域的制御装置5が入力バッフ
ァ・エンプティ・フラグや出力バッファ・フル・フラグ
に依存せずに、ホスト・システムからの指示(CONT
ROL信号)のみによって動作することである。
[Embodiment 3] FIG. 12 shows a pipeline image processing system of the present invention in a test or passive mode or a test mode, that is, a mode in which the pipeline image processing system operates for a predetermined time in response to an operation instruction from the host system 2.
1 illustrates an embodiment in which an image data encoding system is used. The major difference from the embodiment of FIG. 5 is that the device operates in passive mode and the global controller 5 does not rely on the input buffer empty flag or the output buffer full flag, (CONT
ROL signal).

【0074】パイプライン処理装置のテスト時には、ま
ずホスト・システム2がテストを行う処理ステージの前
段のダブル・バッファ8にホスト・システム2からのテ
スト・データを送れるように、図2のホスト・データ選
択レジスタを適当に設定する。次にホスト・システム2
はパイプライン制御装置1にテスト・データを送り、そ
れが終了したなら、大域的制御装置5に接続されている
CONTROL信号をアクティブにする。パッシブ・モ
ードでは大域的制御装置5はCONTROL信号の立ち
上がりエッジを捕らえて、基本クロック1周期分のパル
スを生成する。局所的制御装置6はこのパルスがアクテ
ィブになると対応する処理ステージの動作を開始させ
る。次にホスト・システムは一定時間後、処理結果を確
かめるためにテストした処理ステージの処理結果が格納
されているダブル・バッファ8からのデータをリードで
きるように図2のホスト・データ選択レジスタを設定
し、ダブル・バッファ8のリードを行い、予め計算済み
の期待値と比較することによりテストを行う。
At the time of testing the pipeline processing apparatus, first, the host data of FIG. 2 is sent to the double buffer 8 at the stage before the processing stage in which the host system 2 performs the test so that the test data from the host system 2 can be sent. Set the selection register appropriately. Next, host system 2
Sends test data to the pipeline controller 1 and, when it is finished, activates the CONTROL signal connected to the global controller 5. In the passive mode, the global controller 5 captures a rising edge of the CONTROL signal and generates a pulse for one cycle of the basic clock. When this pulse becomes active, the local controller 6 starts the operation of the corresponding processing stage. Next, after a certain period of time, the host system sets the host data selection register of FIG. 2 so that the data from the double buffer 8 in which the processing result of the tested processing stage is stored can be read in order to confirm the processing result. Then, the test is performed by reading the double buffer 8 and comparing it with the expected value calculated in advance.

【0075】この際、ハードウエアで実装されたパイプ
ライン処理装置は十分に速いので、ホスト・システム2
はCONTROL信号をアクティブにした後に、間髪を
置かずに処理結果の格納されているダブル・バッファ8
を選択し、それをリードしてかまわない。
At this time, since the pipeline processing device implemented by hardware is sufficiently fast, the host system 2
After activating the CONTROL signal, the double buffer 8 where the processing result is stored without pause
You can choose and lead it.

【0076】次に同じ図12を使用して、本発明の画像
処理装置を適用したより柔軟なイメージ・データ符号化
システムについて説明する。一般に一度ハードウエア
(特にLSI)で実装された機能は後から変更するのが
難しい。実施例2において、イメージ・データ符号化シ
ステムの第1のステージが画像を分析するステージであ
ることを説明した。
Next, a more flexible image data encoding system to which the image processing apparatus of the present invention is applied will be described with reference to FIG. Generally, it is difficult to change a function once implemented in hardware (especially LSI) later. In the second embodiment, it has been described that the first stage of the image data encoding system is a stage for analyzing an image.

【0077】この画像分析ステージでは第2ステージの
画像間引きステージで使用される画像間引きための閾値
や各々の画素がPDL画像により描かれたものか、スキ
ャン画像か識別するための演算などが行われている。し
かし、一般にこのような分析演算では、100%に近い
演算結果を求めれば求めるほど複雑な演算が必要にな
る。よってハードウエアで処理装置を実装する際は、演
算処理速度・演算のための回路規模・演算結果の確から
しさの間でトレードオフが行われる。しかし、ハードウ
エア実装後に新たなアルゴリズムが検出されたり、ホス
ト・システムの処理速度が大幅に改善され、ホスト・シ
ステムによる、より複雑なアルゴリズムの実行が可能に
なることがある。
In this image analysis stage, a threshold for image thinning used in the image thinning stage of the second stage, an operation for identifying whether each pixel is drawn by a PDL image or a scan image, and the like are performed. ing. However, in such an analysis operation, generally, the more complicated the operation result is, the more complicated the operation is required. Therefore, when the processing device is implemented by hardware, a trade-off is made between the processing speed, the circuit scale for the calculation, and the certainty of the calculation result. However, new algorithms may be detected after hardware implementation, or the processing speed of the host system may be significantly improved, allowing the host system to execute more complex algorithms.

【0078】以下はそのような場合、すなわちホスト・
システムによるアルゴリズムの実行を利用した処理につ
いて順を追って説明する。
The following is such a case, that is, the host
Processing using the execution of the algorithm by the system will be described step by step.

【0079】まず、パイプライン制御装置1はホスト・
システム2によりパッシブ・モードに設定される。次に
ホスト・システム2によりデータ・ブロックの分析演算
が行われる。次にホスト・システム2は、第2ステージ
の画像間引きステージの前段のダブル・バッファ8に、
分析対象であったデータ・ブロックそのものとPDL/
スキャン画像の識別情報、画像間引きのための画質制御
情報(閾値情報)を転送し、転送終了後CONTROL
信号(大域的制御装置5に入力)をアクティブにする。
次に、CONTROL信号をデアクティブにし、次のデ
ータ・ブロックのための分析演算を開始する。
First, the pipeline control device 1
Set to passive mode by system 2. Next, the host system 2 performs an analysis operation on the data block. Next, the host system 2 stores the data in the double buffer 8 before the image thinning stage of the second stage.
The data block itself and PDL /
Transfers the identification information of the scanned image and the image quality control information (threshold information) for thinning out the image.
Activate the signal (input to global controller 5).
Next, the CONTROL signal is deactivated and the analysis operation for the next data block is started.

【0080】分析終了後は、以前と同じステップを原画
像中の全データ・ブロックが終了するまで繰り返す。そ
の間、ホスト・システム内のDMA装置は出力バッファ
に転送された処理結果をホスト・システムに返す。
After the analysis is completed, the same steps as before are repeated until all the data blocks in the original image are completed. Meanwhile, the DMA device in the host system returns the processing result transferred to the output buffer to the host system.

【0081】このようにホスト・システム2のCONT
ROL信号により、大域的制御装置5を制御すること
で、間接的に各処理ステージ7の動作をコントロールす
ることが可能となり、ホスト・システム2から各ダブル
・バッファ8へのアクセスを任意のタイミングで実行す
ることができる。この構成により、新たな分析アルゴリ
ズムをホスト・システムによって実行させ、より効率的
な処理を用いた処理、例えばイメージ・データの符号化
にも対応できる。
As described above, the CONT of the host system 2
By controlling the global control device 5 with the ROL signal, the operation of each processing stage 7 can be indirectly controlled, and access from the host system 2 to each double buffer 8 can be performed at an arbitrary timing. Can be performed. With this configuration, a new analysis algorithm can be executed by the host system, and processing using more efficient processing, for example, encoding of image data can be supported.

【0082】[0082]

【発明の効果】本発明は、以上説明したとおり、ブロッ
クに分割された原画像に対して複数の処理を順次的に行
う際に、複数の処理を複数の処理ステージに分割し直列
接続し、それらの処理ステージ間を各処理ステージの処
理結果が格納できる分の大きさのバッファ2枚で構成さ
れたダブル・バッファで接続し、そのダブル・バッファ
の切替えと各処理ステージの処理開始を予め設定された
各処理ステージでもっとも処理時間の長い処理ステージ
の処理時間とホスト・システムとの間に接続された入力
バッファと出力バッファの状況により制御する大域的制
御装置と、一度、大域的制御装置に処理開始を告げられ
たなら、予め設定された各処理ステージでもっとも処理
時間の長い処理ステージの処理時間分だけ、大域的制御
装置とも他の局所的制御装置とも独立に動作する局所的
制御装置による2重制御を行うことで制御装置に負荷を
分散したので、スケーラブルで高速化が可能であり、ま
た、大域的制御をホスト・システムからの指示で行える
ことと、ダブル・バッファのリード/ライトをホスト・
システムから行う機能を有することでテスト容易性と柔
軟性も兼ね備えている。
As described above, according to the present invention, when a plurality of processes are sequentially performed on an original image divided into blocks, the plurality of processes are divided into a plurality of processing stages and connected in series. These processing stages are connected by a double buffer composed of two buffers large enough to store the processing results of each processing stage, and the switching of the double buffer and the start of processing of each processing stage are set in advance. A global control unit that controls the processing time of the processing stage with the longest processing time in each processing stage and the status of the input buffer and output buffer connected between the host system and the global control device. When the start of processing is announced, the global control unit and other local processing units are set to the processing time of the processing stage with the longest processing time in each of the preset processing stages. The load is distributed to the control device by performing dual control by the local control device that operates independently of the control device, so that scalable and high-speed operation is possible. In addition, global control is performed by an instruction from the host system. What can be done and the double buffer read / write
By having the function performed from the system, it has both testability and flexibility.

【0083】また、各ステージの処理時間を考慮し、最
も処理時間の長い処理ステージの処理時間に合わせて、
他の処理ステージの統合・再構成をすることによって各
ステージ間でのデータの処理および入出力のタイミング
をあわせることで、より効率的なパイプライン画像処理
装置を構成することが可能であり、リソース・ユーセー
ジの最適化も行える。
In consideration of the processing time of each stage, the processing time of the processing stage having the longest processing time is adjusted.
By integrating and reconfiguring other processing stages to match the timing of data processing and input / output between each stage, it is possible to configure a more efficient pipeline image processing device,・ Usage can be optimized.

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

【図1】 本発明の画像処理装置の一実施例の構成を
示す図である。
FIG. 1 is a diagram illustrating a configuration of an embodiment of an image processing apparatus according to the present invention.

【図2】 パイプライン制御装置を制御するためにパ
イプライン制御装置内に存在する制御レジスタの構成を
示す図である。
FIG. 2 is a diagram showing a configuration of a control register existing in the pipeline control device for controlling the pipeline control device.

【図3】 本発明の画像処理装置における大域的制御
装置の構成を示す図である。
FIG. 3 is a diagram showing a configuration of a global control device in the image processing device of the present invention.

【図4】 本発明の画像処理装置におけるソース・デ
ータ選択機能を説明する図である。
FIG. 4 is a diagram illustrating a source data selection function in the image processing apparatus according to the present invention.

【図5】 本発明の画像処理装置におけるパイプライ
ン制御装置がイメージ・データ符号化システムとして実
装された例の構成図である。
FIG. 5 is a configuration diagram of an example in which a pipeline control device in the image processing device of the present invention is implemented as an image data encoding system.

【図6】 イメージ・データ符号化システムでダブル
・バッファに格納される中間データについて説明する図
である。
FIG. 6 is a diagram illustrating intermediate data stored in a double buffer in the image data encoding system.

【図7】 画像間引きアルゴリズムの詳細を説明する
ための図であり、その前半部に相当する図である。
FIG. 7 is a diagram for explaining the details of an image thinning algorithm, and is a diagram corresponding to the first half thereof.

【図8】 画像間引きアルゴリズムの詳細を説明する
ための図であり、その後半部に相当する図である。
FIG. 8 is a diagram for explaining the details of an image thinning algorithm, and is a diagram corresponding to the latter half thereof.

【図9】 画像間引き回路の構成図である。FIG. 9 is a configuration diagram of an image thinning circuit.

【図10】 16個の処理要素を用いて、並列度16で
実装された間引きアルゴリズムのタイム・チャートを示
す図である。
FIG. 10 is a diagram showing a time chart of a thinning algorithm implemented at a degree of parallelism of 16 using 16 processing elements.

【図11】 4個の処理要素を用いて、並列度4で実装
された間引きアルゴリズムのタイム・チャートを示す図
である。
FIG. 11 is a diagram showing a time chart of a thinning algorithm implemented with a degree of parallelism of 4 using four processing elements.

【図12】 テストまたはパッシブ・モードのイメージ
・データ符号化システムとして実装された実施例につい
て示した図である。
FIG. 12 illustrates an embodiment implemented as a test or passive mode image data encoding system.

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

1 パイプライン処理装置 2 ホスト・システム 3 入力バッファ 4 出力バッファ 5 大域的制御装置 6 局所的制御装置 7 処理ステージ 8 ダブル・バッファ 9 バス 10 コンフィグレーション・レジスタ 11 ブロック・サイクル・レジスタ 12 ソース・データ選択レジスタ DESCRIPTION OF SYMBOLS 1 Pipeline processing unit 2 Host system 3 Input buffer 4 Output buffer 5 Global control unit 6 Local control unit 7 Processing stage 8 Double buffer 9 Bus 10 Configuration register 11 Block cycle register 12 Source data selection register

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 画像データを処理する画像処理装置であ
って、 複数の処理を前記画像データに対して順次実行するため
に直列に接続された複数の処理ステージと、 前記複数の処理ステージ間に位置し、前段の処理ステー
ジでの処理結果を記憶し、次の処理ステージに渡すため
のバッファであり、各々が各処理ステージの処理結果が
格納できる容量を有する2個のバッファで構成されたダ
ブル・バッファと、 前記処理ステージにおける処理開始の許可を通知する処
理開始信号(LSTART)を出力する大域的制御装置
と、 を有することを特徴とする画像処理装置。
1. An image processing apparatus for processing image data, comprising: a plurality of processing stages connected in series for sequentially executing a plurality of processes on the image data; A buffer for storing processing results of the preceding processing stage and transferring the processing results to the next processing stage, each of which has two buffers each having a capacity capable of storing the processing results of each processing stage. An image processing apparatus, comprising: a buffer; and a global control device that outputs a processing start signal (LSTART) for notifying permission of starting processing in the processing stage.
【請求項2】 前記大域的制御装置から出力される処理
開始信号(LSTART)は、前記ダブル・バッファの
バッファ相互の切り替えタイミングを制御する信号とし
ても機能することを特徴とする請求項1記載の画像処理
装置。
2. The processing start signal (LSTART) output from the global control device also functions as a signal for controlling a timing of switching between the buffers of the double buffer. Image processing device.
【請求項3】 前記大域的制御装置からの処理開始信号
(LSTART)を受領し、前記複数の処理ステージの
各々に対応して設けられ、それぞれの対応処理ステージ
の処理制御を実行する局所的制御装置を有することを特
徴とする請求項1または2に記載の画像処理装置。
3. A local control which receives a processing start signal (LSTART) from the global control device and is provided corresponding to each of the plurality of processing stages, and executes processing control of each corresponding processing stage. The image processing device according to claim 1, further comprising a device.
【請求項4】 画像データを処理する画像処理装置であ
って、 複数の処理を前記画像に対して順次実行するために直列
に接続された複数の処理ステージと、 前記複数の処理ステージ間に位置し、前段の処理ステー
ジでの処理結果を記憶し、次の処理ステージに渡すため
のバッファであり、各々が各処理ステージの処理結果が
格納できる容量を有する2個のバッファで構成されたダ
ブル・バッファと、 前記処理ステージにおける処理開始の許可を通知すると
ともに、前記ダブル・バッファのバッファ相互の切り替
えタイミングを制御する信号としても機能する処理開始
信号(LSTART)を出力する大域的制御装置と、 前記大域的制御装置に対して制御信号(CONTRO
L)を出力し、前記処理開始信号(LSTART)の出
力を制御するとともに、前記ダブル・バッファに対して
アクセス可能に接続されたホスト・システムと、 を有することを特徴とする画像処理装置。
4. An image processing apparatus for processing image data, comprising: a plurality of processing stages connected in series for sequentially executing a plurality of processes on the image; and a position between the plurality of processing stages. A buffer for storing the processing result of the preceding processing stage and passing it to the next processing stage, each buffer being composed of two buffers each having a capacity capable of storing the processing result of each processing stage. A global control device that outputs a processing start signal (LSTART) that functions as a buffer and a signal that controls the switching timing between the buffers of the double buffer while notifying permission to start processing in the processing stage; The control signal (CONTROL) is sent to the global controller.
L) for controlling the output of the processing start signal (LSTART), and a host system operably connected to the double buffer.
【請求項5】 前記大域的制御装置から出力される処理
開始信号(LSTART)の信号間隔は前記複数の処理
ステージ中、最も処理時間の長い処理ステージの処理時
間に基づいて設定されることを特徴とする請求項1乃至
4いずれかに記載の画像処理装置。
5. A signal interval of a processing start signal (LSTART) output from the global control device is set based on a processing time of a processing stage having a longest processing time among the plurality of processing stages. The image processing apparatus according to claim 1.
【請求項6】 前記複数の処理ステージの最初の処理ス
テージに処理データを出力する入力バッファと、 前記複数の処理ステージの最後の処理ステージから処理
データを入力する出力バッファとを有し、 前記大域的制御装置は、前記入力バッファおよび前記出
力バッファのデータ蓄積状態を示す信号をそれぞれ前記
入力バッファおよび前記出力バッファから受領し、各入
出力バッファのデータ蓄積状態に応じて、前記大域的制
御装置における前記処理開始信号(LSTART)の出
力制御が行われる構成を有することを特徴とする請求項
1乃至5いずれかに記載の画像処理装置。
6. An input buffer for outputting processing data to a first processing stage of the plurality of processing stages; and an output buffer for inputting processing data from a last processing stage of the plurality of processing stages; The dynamic control device receives a signal indicating the data accumulation state of the input buffer and the output buffer from the input buffer and the output buffer, respectively, and according to the data accumulation state of each input / output buffer, the global control device The image processing apparatus according to any one of claims 1 to 5, wherein output of the processing start signal (LSTART) is controlled.
【請求項7】 前記直列に接続された各処理ステージ
中、連続する2以上の処理ステージの処理時間の合計
は、他のいずれか1つの処理ステージの処理時間より大
きくなるように各処理ステージが構成されていることを
特徴とする請求項1乃至5いずれかに記載の画像処理装
置。
7. Each of the processing stages connected in series such that the sum of the processing times of two or more consecutive processing stages is longer than the processing time of any one of the other processing stages. The image processing apparatus according to claim 1, wherein the image processing apparatus is configured.
【請求項8】 前記ダブル・バッファに、前段の処理ス
テージからの中間結果をロードするかホストからのデー
タをロードするかを選択可能とする構成を有することを
特徴とする請求項4乃至7いずれかに記載の画像処理装
置。
8. The apparatus according to claim 4, wherein said double buffer is configured to select whether to load an intermediate result from a preceding processing stage or data from a host. An image processing device according to any one of the above.
【請求項9】 画像データを処理する画像処理装置であ
って、 複数の処理を前記画像に対して順次実行するために直列
に接続された複数の処理ステージと、 前記複数の処理ステージ間に位置し、前段の処理ステー
ジでの処理結果を記憶し、次の処理ステージに渡すため
のバッファであり、各々が各処理ステージの処理結果が
格納できる容量を有する2個のバッファで構成されたダ
ブル・バッファと、 前記処理ステージにおけるの処理開始の許可を通知する
処理開始信号(LSTART)を出力する大域的制御装
置と、 を有し、 前記複数の処理ステージ中、第1の処理ステージは、画
像圧縮のための画像分析を行う画像分析ステージであ
り、第2の処理ステージは、前記第1の処理ステージに
より計算された処理結果を用いて画像を間引きする画像
間引きステージであり、第3の処理ステージは、前記第
2の処理ステージで間引かれた画像に対して可逆圧縮を
行う可逆圧縮ステージによって構成されていることを特
徴とする画像処理装置。
9. An image processing apparatus for processing image data, comprising: a plurality of processing stages connected in series for sequentially executing a plurality of processes on the image; and a position between the plurality of processing stages. A buffer for storing the processing result of the preceding processing stage and passing it to the next processing stage, each buffer being composed of two buffers each having a capacity capable of storing the processing result of each processing stage. A buffer, and a global controller that outputs a processing start signal (LSTART) for notifying permission to start processing in the processing stage, wherein the first processing stage includes image compression. Is an image analysis stage for performing image analysis for the image processing, and the second processing stage thins out an image using the processing result calculated by the first processing stage. An image decimation stage, the third process stage, the image processing apparatus characterized by being constituted by a lossless compression stage performing lossless compression on the decimated image by the second processing stage.
【請求項10】 画像データに対して複数の処理を順次
実行するために直列に接続された複数の処理ステージ
と、前記複数の処理ステージ間に位置し、前段の処理ス
テージでの処理結果を記憶し、次の処理ステージに渡す
ためのバッファであり、各々が各処理ステージの処理結
果が格納できる容量を有する2個のバッファで構成され
たダブル・バッファと、を有する画像処理装置における
画像処理方法において、 前記複数の処理ステージに接続された大域的制御装置か
ら出力される処理開始信号(LSTART)を契機とし
て各処理ステージにおいて画像処理を開始するととも
に、前記ダブル・バッファのバッファ相互の切り替えを
実行するステップと、 前記複数の処理ステージの各々に対応して設けられ、そ
れぞれに対応する前記処理ステージの処理制御を実行す
る局所的制御装置による制御によって前記処理ステージ
における画像処理を実行するステップと、を有すること
を特徴とする画像処理方法。
10. A plurality of processing stages connected in series for sequentially executing a plurality of processes on image data, and a processing result at a preceding processing stage, which is located between the plurality of processing stages, is stored. A buffer for passing to the next processing stage, each of which has two buffers each having a capacity capable of storing a processing result of each processing stage; In the above, image processing is started in each processing stage triggered by a processing start signal (LSTART) output from a global control device connected to the plurality of processing stages, and switching between the buffers of the double buffer is performed. And a processing step provided for each of the plurality of processing stages. Image processing method characterized by comprising the step of performing the image processing in the processing stage under the control of the local control device which executes processing control of the di- and.
【請求項11】 画像データに対して複数の処理を順次
実行するために直列に接続された複数の処理ステージ
と、前記複数の処理ステージ間に位置し、前段の処理ス
テージでの処理結果を記憶し、次の処理ステージに渡す
ためのバッファであり、各々が各処理ステージの処理結
果が格納できる容量を有する2個のバッファで構成され
たダブル・バッファと、を有する画像処理装置における
画像処理方法において、 前記ダブル・バッファに対してアクセス可能に接続され
たホスト・システムから前記大域的制御装置に対して制
御信号(CONTROL)を出力する制御信号出力ステ
ップと、 前記制御信号出力ステップを契機として、各処理ステー
ジにおいて画像処理を開始するとともに、前記ダブル・
バッファのバッファ相互の切り替えを実行するステップ
と、 前記ホスト・システムから前記ダブル・バッファへのア
クセスを実行するステップと、 前記複数の処理ステージの各々に対応して設けられ、そ
れぞれに対応する前記処理ステージの処理制御を実行す
る局所的制御装置による制御によって前記処理ステージ
における画像処理を実行するステップと、を有すること
を特徴とする画像処理方法。
11. A plurality of processing stages connected in series to sequentially execute a plurality of processes on image data, and a processing result at a preceding processing stage, which is located between the plurality of processing stages, is stored. A buffer for passing to the next processing stage, each of which has two buffers each having a capacity capable of storing a processing result of each processing stage; A control signal output step of outputting a control signal (CONTROL) to the global controller from a host system operably connected to the double buffer; and the control signal output step, Image processing is started at each processing stage, and the double
Performing a buffer switching between buffers; performing an access to the double buffer from the host system; providing the processing corresponding to each of the plurality of processing stages; Performing image processing in the processing stage under the control of a local control device that performs processing control of the stage.
JP14415797A 1997-06-02 1997-06-02 Image processor and image processing method Pending JPH10334225A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14415797A JPH10334225A (en) 1997-06-02 1997-06-02 Image processor and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14415797A JPH10334225A (en) 1997-06-02 1997-06-02 Image processor and image processing method

Publications (1)

Publication Number Publication Date
JPH10334225A true JPH10334225A (en) 1998-12-18

Family

ID=15355535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14415797A Pending JPH10334225A (en) 1997-06-02 1997-06-02 Image processor and image processing method

Country Status (1)

Country Link
JP (1) JPH10334225A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714686B2 (en) 2000-03-24 2004-03-30 Sharp Kabushiki Kaisha Image processing device
JP2005341551A (en) * 2004-04-27 2005-12-08 Canon Inc Image processing apparatus, image processing method, program thereof, and recording medium
JP2006236325A (en) * 2005-01-25 2006-09-07 Matsushita Electric Ind Co Ltd Data processor
US7558972B2 (en) 2005-01-25 2009-07-07 Panasonic Corporation Data processing apparatus
US7809186B2 (en) 2004-04-27 2010-10-05 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program thereof, and recording medium
US9197812B2 (en) 2013-10-02 2015-11-24 Olympus Corporation Image processing device, image processing method, and imaging apparatus
CN107636631A (en) * 2015-06-12 2018-01-26 奥林巴斯株式会社 Image processing apparatus and image processing method
CN107710274A (en) * 2015-06-12 2018-02-16 奥林巴斯株式会社 Image processing apparatus and image processing method
US10803589B2 (en) 2016-04-11 2020-10-13 Olympus Corporation Image processing device
CN115063283A (en) * 2022-06-13 2022-09-16 脉冲视觉(北京)科技有限公司 Logic device for image reconstruction

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714686B2 (en) 2000-03-24 2004-03-30 Sharp Kabushiki Kaisha Image processing device
JP2005341551A (en) * 2004-04-27 2005-12-08 Canon Inc Image processing apparatus, image processing method, program thereof, and recording medium
US7809186B2 (en) 2004-04-27 2010-10-05 Canon Kabushiki Kaisha Image processing apparatus, image processing method, program thereof, and recording medium
JP2006236325A (en) * 2005-01-25 2006-09-07 Matsushita Electric Ind Co Ltd Data processor
US7558972B2 (en) 2005-01-25 2009-07-07 Panasonic Corporation Data processing apparatus
US9197812B2 (en) 2013-10-02 2015-11-24 Olympus Corporation Image processing device, image processing method, and imaging apparatus
CN107636631A (en) * 2015-06-12 2018-01-26 奥林巴斯株式会社 Image processing apparatus and image processing method
CN107710274A (en) * 2015-06-12 2018-02-16 奥林巴斯株式会社 Image processing apparatus and image processing method
US10241721B2 (en) 2015-06-12 2019-03-26 Olympus Corporation Image processing device and image processing method
US10453166B2 (en) 2015-06-12 2019-10-22 Olympus Corporation Image processing device and image processing method
CN107710274B (en) * 2015-06-12 2021-10-22 奥林巴斯株式会社 Image processing apparatus, image processing method, and program
US10803589B2 (en) 2016-04-11 2020-10-13 Olympus Corporation Image processing device
CN115063283A (en) * 2022-06-13 2022-09-16 脉冲视觉(北京)科技有限公司 Logic device for image reconstruction

Similar Documents

Publication Publication Date Title
US6731293B2 (en) Image output device and image output control method
JPH0759084A (en) Picture processing system
JP7104448B2 (en) Acceleration control system, chip and robot based on binarization algorithm
JP3781634B2 (en) Image processing apparatus, image processing method, and portable video device
EP1880297B1 (en) Data transfer arbitration apparatus and data transfer arbitration method
EP0671718B1 (en) Data processor for guided transfer line drawing
JPS62208158A (en) Multiprocessor system
JP4700392B2 (en) Information processing apparatus, computer control method, and program
JPH11154228A (en) Image processor and its method
JPH10334225A (en) Image processor and image processing method
US20070065022A1 (en) Image signal processing apparatus and method
US6490669B1 (en) Memory LSI with compressed data inputting and outputting function
US7773817B2 (en) JPEG image processing circuit
US7512773B1 (en) Context switching using halt sequencing protocol
US8436915B2 (en) Image processing apparatus
CN1955933A (en) Data processing apparatus and method
US7254283B1 (en) Image processor processing image data in parallel with a plurality of processors
EP1333683B1 (en) Method and system for memory transfer control of video line data and macroblock data
US8441487B1 (en) Bandwidth compression for shader engine store operations
JP2682402B2 (en) Data processing device
JPH10283204A (en) Multi-task processing method, multi-task processor and recording medium recording task
US10319348B2 (en) Memory subsystem consumer trigger
JP3986325B2 (en) Image processing apparatus, image processing method, and image processing system
CN114502245A (en) Data processing system, data processing method, and computer program
JP3742066B2 (en) Camera image processing device