JP2012120179A - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
JP2012120179A
JP2012120179A JP2011275079A JP2011275079A JP2012120179A JP 2012120179 A JP2012120179 A JP 2012120179A JP 2011275079 A JP2011275079 A JP 2011275079A JP 2011275079 A JP2011275079 A JP 2011275079A JP 2012120179 A JP2012120179 A JP 2012120179A
Authority
JP
Japan
Prior art keywords
processing
command
data
output
register
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.)
Granted
Application number
JP2011275079A
Other languages
Japanese (ja)
Other versions
JP5188620B2 (en
Inventor
Yuji Hara
裕司 原
Takashi Ishikawa
尚 石川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011275079A priority Critical patent/JP5188620B2/en
Publication of JP2012120179A publication Critical patent/JP2012120179A/en
Application granted granted Critical
Publication of JP5188620B2 publication Critical patent/JP5188620B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a data processing apparatus and a method thereof capable of executing processing in response to a command between optional data in data transferring.SOLUTION: In an image processing apparatus, multiple processing blocks each having a processing part are connected in series by a common bus. Each of the multiple processing blocks performs image processing using data input to the processing block via the common bus by the processing part of the processing block, performs processing in response to a command input to the processing block for a processing part of the processing block via the common bus, delays, with respect to a first command input to a first processing block via the common bus, output of the first command from the first processing block until data output by data processing based on the data input to the first processing prior to the first command is completed.

Description

本発明は、コマンド及びデータを多重化して、共通のデータバスによりそれらの入出力を行なう画像処理装置及び方法に関する。   The present invention relates to an image processing apparatus and method for multiplexing commands and data and inputting / outputting them through a common data bus.

従来技術として、データの入出力を行なう為のデータバスと、レジスタ設定を行なう為のCPUバスが別々に設けられた画像処理装置が知られている。この種の画像処理装置においては、割り込み信号を用いた制御方式により、特定のデータ単位(ページ、ブロック、バンド等)で処理に用いるパラメータを変更したり、内部状態を示すレジスタのリード動作を行なったりしていた。そして、このような割り込み処理の実行中では、データ転送を止めていた。   As a prior art, there is known an image processing apparatus in which a data bus for inputting / outputting data and a CPU bus for setting registers are separately provided. In this type of image processing apparatus, parameters used for processing are changed in a specific data unit (page, block, band, etc.) or a register reading operation indicating an internal state is performed by a control method using an interrupt signal. I was doing. During the execution of such interrupt processing, data transfer was stopped.

また、特許文献1では、映像データの各フレームのスキャンラインの先頭に制御コマンドを付加して、映像データに制御コマンドを多重化し伝送を行なうことにより、各フレームに同期した制御を行なっている。   In Patent Document 1, a control command is added to the head of the scan line of each frame of video data, and the control command is multiplexed with the video data for transmission, whereby control synchronized with each frame is performed.

特開平8−214267号公報JP-A-8-214267

しかしながら、割り込み信号を用いた制御方式では、転送中の任意のデータ間で、画像処理に用いるフィルタ係数や二値化用閾値等のパラメータを変更したり、内部状態を示すレジスタのリード動作を実行したりすることは困難であった。又、出来たとしても、割り込み処理中はデータ転送を止める必要があり、処理が低速になってしまうという課題があった。さらに特許文献1に記載された技術では、フレームごとにパラメータの変更やレジスタのリード動作を行なうことは可能であるが、フレーム内の任意のデータ間でのパラメータ変更やレジスタのリード動作を行なうことは困難であった。特許文献1においても、スキャンライン毎に制御コマンドを伝送することができるものの、データ転送中の任意のタイミングでコマンドによる処理を実行させることはできない。   However, in the control method using the interrupt signal, parameters such as the filter coefficient used for image processing and the threshold for binarization are changed between arbitrary data being transferred, and the register read operation indicating the internal state is executed. It was difficult to do. Even if it can be done, it is necessary to stop the data transfer during the interrupt processing, which causes a problem that the processing becomes slow. Furthermore, in the technique described in Patent Document 1, it is possible to change a parameter and read a register for each frame, but to change a parameter and read a register between arbitrary data in a frame. Was difficult. Also in Patent Document 1, although a control command can be transmitted for each scan line, processing by a command cannot be executed at an arbitrary timing during data transfer.

本発明は、上記の課題に鑑みてなされたものであり、データ転送中の任意のデータ間でコマンドに応じた処理を実行可能な画像処理装置及びその方法を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide an image processing apparatus and method capable of executing processing according to a command between arbitrary data during data transfer.

上記の目的を達成するための本発明の一態様によるデータ処理方法は、
それぞれが処理部を有する複数の処理ブロックが共通バスによって直列に接続された画像処理装置における当該複数の処理ブロックのそれぞれにより実行される画像処理方法であって、
前記共通バスを介して当該処理ブロックに入力されたデータを用いた画像処理を、当該処理ブロックの処理部により行なうデータ処理工程と、
前記共通バスを介して当該処理ブロックに入力されたコマンドに応じた処理を、当該処理ブロックの処理部に対して行なうコマンド処理工程と、
前記共通バスを介して第1の処理ブロックに入力される第1のコマンドについて、当該第1のコマンドの前に前記第1の処理ブロックへ入力されたデータに基づくデータ処理によるデータ出力が完了するまで、前記第1の処理ブロックから当該第1のコマンドを出力することを遅延させる遅延工程とを有する。
In order to achieve the above object, a data processing method according to an aspect of the present invention includes:
An image processing method executed by each of a plurality of processing blocks in an image processing apparatus in which a plurality of processing blocks each having a processing unit are connected in series by a common bus,
A data processing step in which image processing using data input to the processing block via the common bus is performed by a processing unit of the processing block;
A command processing step for performing processing corresponding to a command input to the processing block via the common bus to a processing unit of the processing block;
For the first command input to the first processing block via the common bus, the data output by the data processing based on the data input to the first processing block before the first command is completed. And a delay step for delaying the output of the first command from the first processing block.

本発明によれば、データ転送中の任意のデータ間でコマンドに応じた処理を実行することが可能となる。   According to the present invention, it is possible to execute processing according to a command between arbitrary data during data transfer.

実施形態における、画像処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image processing apparatus in embodiment. 実施形態の入力コマンドのフォーマットを示す図である。It is a figure which shows the format of the input command of embodiment. 実施形態の入力データのフォーマットを示す図である。It is a figure which shows the format of the input data of embodiment. 実施形態の出力コマンドのフォーマットを示す図である。It is a figure which shows the format of the output command of embodiment. 実施形態の出力データのフォーマットを示す図である。It is a figure which shows the format of the output data of embodiment. 実施形態のレジスタリード及びライト動作のタイミングを示す図である。It is a figure which shows the timing of the register read and write operation of embodiment. 実施形態の第1の画像処理動作のタイミングを示す図である。It is a figure which shows the timing of the 1st image processing operation of embodiment. 実施形態の第2画像処理動作のタイミングを示す図である。It is a figure which shows the timing of the 2nd image processing operation of embodiment. 実施形態の第2画像処理動作の詳細なタイミングを示す図である。It is a figure which shows the detailed timing of the 2nd image processing operation of embodiment. 実施形態の第3画像処理動作のタイミングを示す図である。It is a figure which shows the timing of the 3rd image processing operation of embodiment. 実施形態の第3画像処理動作の詳細なタイミングを示す図である。It is a figure which shows the detailed timing of the 3rd image processing operation of embodiment. 実施形態の画像処理ブロックの構成を示す図である。It is a figure which shows the structure of the image processing block of embodiment. 実施形態の画像処理ブロックのレジスタリード及びライト動作のタイミングを示す図である。FIG. 6 is a diagram illustrating timings of register read and write operations of the image processing block according to the embodiment. 実施形態の画像処理ブロックの画像処理動作のタイミングを示す図である。It is a figure which shows the timing of the image processing operation | movement of the image processing block of embodiment.

以下、添付の図面を参照して本発明の好適な実施形態を説明する。   Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

図1に、データ処理装置としての本実施形態による画像処理装置10の構成図を示す。100は送信部であり、コマンドワード及びデータワードを多重化して送信する。101〜103は画像処理ブロックであり、図示の如く直列に接続され、それぞれが所定の画像処理を行なう。以下、処理ブロック101〜103と記載する。104は受信部であり、コマンドワード及びデータワードを受信して、終了信号105を送信部100へ送信する。11はCPUであり、画像処理装置10を利用して、例えば印刷装置等の画像処理装置10が組み込まれる装置を制御する。12はDRAMであり、処理対象となる画像データを格納する。13はDMACであり、DRAM12から画像処理装置10への画像データの直接的な転送を制御する。   FIG. 1 shows a configuration diagram of an image processing apparatus 10 according to the present embodiment as a data processing apparatus. Reference numeral 100 denotes a transmission unit that multiplexes and transmits a command word and a data word. Reference numerals 101 to 103 denote image processing blocks, which are connected in series as shown in the figure, and each perform predetermined image processing. Hereinafter, the processing blocks 101 to 103 are described. A receiving unit 104 receives a command word and a data word, and transmits an end signal 105 to the transmitting unit 100. Reference numeral 11 denotes a CPU that controls an apparatus in which the image processing apparatus 10 such as a printing apparatus is incorporated by using the image processing apparatus 10. A DRAM 12 stores image data to be processed. A DMAC 13 controls the direct transfer of image data from the DRAM 12 to the image processing apparatus 10.

次に図2〜図5を用いてコマンドワード及びデータワードのフォーマットを説明する。なお、コマンドワード及びデータワードは所定のビット長を有しており、本実施形態では64ビットで構成されているものとする。以下、コマンドワードをコマンド、データワードをデータと記載する。   Next, the format of the command word and the data word will be described with reference to FIGS. Note that the command word and the data word have a predetermined bit length, and in this embodiment are assumed to be composed of 64 bits. Hereinafter, a command word is referred to as a command, and a data word is referred to as data.

図2は入力コマンドのフォーマットの一例を示す。入力コマンドフォーマット200において、MSBを63ビット目、LSBを0ビット目とする。63ビット目はコマンド及びデータを識別する為のmodeフラグ201(属性データ)であり、0の場合はデータを、1の場合はコマンドを示す。56〜60ビット目は入力コマンドが適用される処理ブロック番号を示す処理ブロックID202である。なお、後述するように各処理ブロックにはそれぞれを特定するための識別データとしての処理ブロックIDが割り当てられており、処理ブロックID202と一致する処理ブロックのみにおいて、当該コマンドが実行される。55ビット目はレジスタのリードライトを指定するためのRWフラグ203である。32〜47ビット目はレジスタのアドレス204である。0〜31ビット目はレジスタデータ205のためのデータ領域である。ここで、レジスタデータ205の値は、リードコマンド時(RWフラグ203が0の時)は“0”であり、ライトコマンド時(RWフラグ203が1の時)はライトされるレジスタ値である。48〜54ビット目及び61、62ビット目は使用不可のリザーブド領域206である。以上のようにして、コマンドは、アクセスするレジスタへのデータ書き込みあるいはレジスタからのデータ読み出しを指示する。   FIG. 2 shows an example of the format of the input command. In the input command format 200, the MSB is the 63rd bit and the LSB is the 0th bit. The 63rd bit is a mode flag 201 (attribute data) for identifying a command and data. The 56th to 60th bits are a processing block ID 202 indicating a processing block number to which the input command is applied. As will be described later, a processing block ID as identification data for specifying each processing block is assigned to the processing block, and the command is executed only in the processing block that matches the processing block ID 202. The 55th bit is an RW flag 203 for designating read / write of the register. The 32nd to 47th bits are the address 204 of the register. The 0th to 31st bits are a data area for the register data 205. Here, the value of the register data 205 is “0” at the time of a read command (when the RW flag 203 is 0), and is the register value to be written at the time of a write command (when the RW flag 203 is 1). The 48th to 54th bits and the 61st and 62nd bits are reserved areas 206 that cannot be used. As described above, the command instructs data writing to the register to be accessed or data reading from the register.

また、図3は入力データのフォーマットの一例を示す。入力データフォーマット300において、MSBを63ビット目、LSBを0ビット目とする。63ビット目はコマンド及びデータを識別する為のmodeフラグ201(属性データ)であり、0の場合はデータを、1の場合はコマンドを示す。56ビット目は所定のデータ単位で(ページ、ブロック、バンド等の所定の範囲のデータを単位として)画像処理される最初のデータを示すstartフラグである。55ビット目は画像処理される最後のデータを示すendフラグ303である。0〜47ビット目は画像処理されるデータ304である。48〜54ビット目及び57〜62ビット目は、使用不可のリザーブド領域305である。   FIG. 3 shows an example of the format of input data. In the input data format 300, the MSB is the 63rd bit and the LSB is the 0th bit. The 63rd bit is a mode flag 201 (attribute data) for identifying a command and data. When it is 0, it indicates data, and when it is 1, it indicates a command. The 56th bit is a start flag indicating the first data to be image-processed in a predetermined data unit (in a predetermined range of data such as page, block, band, etc.). The 55th bit is an end flag 303 indicating the last data to be image processed. The 0th to 47th bits are data 304 to be image processed. The 48th to 54th bits and the 57th to 62nd bits are reserved areas 305 that cannot be used.

図4は出力コマンドのフォーマットの一例を示す。出力コマンドフォーマット400において、MSBを63ビット目、LSBを0ビット目とする。63ビット目はコマンド及びデータを識別する為のmodeフラグ401(属性データ)であり、0の場合はデータを、1の場合はコマンドを示す。56〜60ビットはコマンドが適用された処理ブロック番号を示す処理ブロックID402である。55ビット目は、レジスタのリードライトを指定するためのRWフラグ203であるRWフラグ403である。32〜47ビット目はレジスタのアドレス404である。0〜31ビット目はレジスタデータ405のためのデータ領域である。ここで、レジスタデータ405の値はリードコマンド時(RWフラグ403が0の場合)はリードされたレジスタ値であり、ライトコマンド時(RWフラグ403が1の場合)は入力コマンドフォーマット200のレジスタデータ205の値である。48〜54ビット目及び61、62ビット目はリザーブド領域406である。   FIG. 4 shows an example of the format of the output command. In the output command format 400, the MSB is the 63rd bit and the LSB is the 0th bit. The 63rd bit is a mode flag 401 (attribute data) for identifying a command and data. When it is 0, it indicates data, and when it is 1, it indicates a command. The 56 to 60 bits are a processing block ID 402 indicating the processing block number to which the command is applied. The 55th bit is an RW flag 403 that is an RW flag 203 for designating read / write of a register. The 32nd to 47th bits are the address 404 of the register. The 0th to 31st bits are a data area for register data 405. Here, the value of the register data 405 is the read register value at the time of the read command (when the RW flag 403 is 0), and the register data of the input command format 200 at the time of the write command (when the RW flag 403 is 1). The value is 205. The 48th to 54th bits and the 61st and 62nd bits are a reserved area 406.

また、図5は出力データのフォーマットの一例を示す。出力データフォーマット500において、MSBを63ビット目、LSBを0ビット目とする。63ビット目は、コマンド及びデータを識別する為のmodeフラグ501(属性データ)であり、0の場合はデータを、1の場合はコマンドを示す。56ビット目は所定のデータ単位(ページ、ブロック、バンド等)で画像処理された最初のデータであることを示すstartフラグ502である。55ビット目は画像処理された最後のデータであることを示すendフラグ503である。0〜47ビット目は画像処理されたデータ504である。48〜54ビット目及び57〜62ビット目はリザーブド領域505である。   FIG. 5 shows an example of the format of output data. In the output data format 500, the MSB is the 63rd bit and the LSB is the 0th bit. The 63rd bit is a mode flag 501 (attribute data) for identifying a command and data. When it is 0, it indicates data, and when it is 1, it indicates a command. The 56th bit is a start flag 502 indicating the first data subjected to image processing in a predetermined data unit (page, block, band, etc.). The 55th bit is an end flag 503 indicating the last data subjected to image processing. The 0th to 47th bits are data 504 subjected to image processing. The 48th to 54th bits and the 57th to 62nd bits are a reserved area 505.

尚、処理ブロック101〜103は、後述するように、入力コマンド/入力データを出力コマンド/出力データに変換する。入力コマンド及び入力データはそれぞれ入力コマンドフォーマット200、入力データフォーマット300を有する。また、出力コマンド及び出力データはそれぞれ出力コマンドフォーマット400、出力データフォーマット500を有する。通常、処理ブロックがmodeフラグ変更を行なうことは無い為、変換前後においてmodeフラグ201とmodeフラグ401の値は等しくかつ、modeフラグ301とmodeフラグ501の値は等しい値である。同様に処理ブロックID202と処理ブロックID402は等しく、RWフラグ203とRWフラグ403は等しく、アドレス204とアドレス404は等しい。   The processing blocks 101 to 103 convert input commands / input data into output commands / output data as will be described later. The input command and the input data have an input command format 200 and an input data format 300, respectively. The output command and the output data have an output command format 400 and an output data format 500, respectively. Usually, since the processing block does not change the mode flag, the values of the mode flag 201 and the mode flag 401 are equal before and after the conversion, and the values of the mode flag 301 and the mode flag 501 are equal. Similarly, the processing block ID 202 and the processing block ID 402 are equal, the RW flag 203 and the RW flag 403 are equal, and the address 204 and the address 404 are equal.

次に、図6のタイミング図を用いて、図1に示した画像処理装置10のレジスタのリードライト動作を説明する。図6において、600はクロックを、601は送信部100の出力を、602〜604は処理ブロック101〜103の出力をそれぞれ示す。ここで、各処理ブロックのコマンドに対するレイテンシは2クロックサイクルとする。また、処理ブロック101〜103に対してそれぞれ処理ブロックIDとして0〜2の値が割り振られているものとする。   Next, the read / write operation of the register of the image processing apparatus 10 shown in FIG. 1 will be described using the timing chart of FIG. In FIG. 6, 600 indicates a clock, 601 indicates an output of the transmission unit 100, and 602 to 604 indicate outputs of the processing blocks 101 to 103. Here, the latency for the command of each processing block is 2 clock cycles. Also, assume that values of 0 to 2 are assigned as processing block IDs to the processing blocks 101 to 103, respectively.

まず、CPU11から送信部100に対して、レジスタアドレス、ライトデータ、処理ブロック番号IDが設定される。送信部100は図2に示した入力コマンドフォーマット200に従って、リードレジスタコマンド又はライトレジスタコマンド(これらを入力コマンドという)を生成する。図6の605〜607はそれぞれ処理ブロック101〜103に対するライトレジスタコマンドであり、処理ブロックID202が0〜2に設定されている。また、608、610、612はそれぞれ処理ブロック101〜103に対するリードレジスタコマンドであり、処理ブロックID202が0〜2に設定されている。   First, a register address, write data, and a processing block number ID are set from the CPU 11 to the transmission unit 100. The transmission unit 100 generates a read register command or a write register command (these are called input commands) in accordance with the input command format 200 shown in FIG. 605 to 607 in FIG. 6 are write register commands for the processing blocks 101 to 103, respectively, and the processing block ID 202 is set to 0-2. 608, 610, and 612 are read register commands for the processing blocks 101 to 103, respectively, and the processing block ID 202 is set to 0 to 2.

ライトレジスタコマンド605〜607に従って、処理ブロック101〜103はそれぞれレジスタ値をライトする。その後、図6に示すように、処理ブロック101〜103は、ライトレジスタコマンド605〜607から、図4で説明した出力コマンドフォーマット400に従って入力コマンドと同等な出力コマンドを生成し、後段の処理ブロックへ出力する。受信部104は、各処理ブロックからの出力コマンドを受信する。その後、CPU11が受信部104で受信されたライトレジスタコマンドの確認を行なうことにより、レジスタのライトが正常に行なわれたこと確認をする。   In accordance with the write register commands 605 to 607, the processing blocks 101 to 103 respectively write the register values. Thereafter, as shown in FIG. 6, the processing blocks 101 to 103 generate an output command equivalent to the input command from the write register commands 605 to 607 according to the output command format 400 described in FIG. Output. The receiving unit 104 receives an output command from each processing block. Thereafter, the CPU 11 confirms the write register command received by the receiving unit 104, thereby confirming that the register is normally written.

また、処理ブロック101は、リードレジスタコマンド608に従ってレジスタリード動作を行なった後、図4で説明した出力コマンドフォーマット400に従った出力コマンド609を生成し、後段の処理ブロック102に出力する。出力コマンド609は、リードレジスタコマンド608のレジスタデータのデータ領域に、レジスタコマンド608が指定するアドレスから読み出したレジスタデータをセットしたものである。処理ブロック102及び処理ブロック103は出力コマンド609をそのまま後段へ出力する。こうして、出力コマンド609は受信部104にて受信される。   Further, the processing block 101 performs a register read operation according to the read register command 608, and then generates an output command 609 according to the output command format 400 described with reference to FIG. 4 and outputs the output command 609 to the subsequent processing block 102. The output command 609 is obtained by setting the register data read from the address specified by the register command 608 in the data area of the register data of the read register command 608. The processing block 102 and the processing block 103 output the output command 609 as it is to the subsequent stage. Thus, the output command 609 is received by the receiving unit 104.

リードレジスタコマンド610は処理ブロック101ではそのまま後段の処理ブロック102に出力される。処理ブロック102は、リードレジスタコマンド610に従ってレジスタリード動作を行なった後、図4で説明した出力コマンドフォーマット400に従った出力コマンド611を生成し、後段の処理ブロック103に出力する。出力コマンド611は、リードレジスタコマンド608のレジスタデータのデータ領域に、レジスタコマンド610が指定するアドレスから読み出したレジスタデータをセットしたものである。処理ブロック103は出力コマンド611をそのまま後段へ出力し、受信部104にて受信する。   The read register command 610 is output to the subsequent processing block 102 as it is in the processing block 101. The processing block 102 performs a register read operation according to the read register command 610, then generates an output command 611 according to the output command format 400 described with reference to FIG. 4, and outputs the output command 611 to the subsequent processing block 103. The output command 611 is obtained by setting the register data read from the address specified by the register command 610 in the data area of the register data of the read register command 608. The processing block 103 outputs the output command 611 as it is to the subsequent stage and receives it by the receiving unit 104.

さらに、リードレジスタコマンド612は処理ブロック101及び102ではそのまま後段の処理ブロックに出力される。処理ブロック103はリードレジスタコマンド612に従ってレジスタリード動作を行なった後、図4で説明した出力コマンドフォーマット400に従った出力コマンド613を生成し、後段へ出力する。出力コマンド613は、リードレジスタコマンド612のレジスタデータのデータ領域に、レジスタコマンド612が指定するアドレスから読み出したレジスタデータをセットしたものである。出力された出力コマンド613は受信部104にて受信される。   Further, the read register command 612 is output as it is to the subsequent processing block in the processing blocks 101 and 102. The processing block 103 performs a register read operation according to the read register command 612, then generates an output command 613 according to the output command format 400 described with reference to FIG. 4, and outputs it to the subsequent stage. The output command 613 is obtained by setting the register data read from the address specified by the register command 612 in the data area of the register data of the read register command 612. The output command 613 that is output is received by the receiving unit 104.

その後、CPU11が受信部104で受信されたリードレジスタコマンドから、レジスタ値を取得する。以上のように、直列に接続された複数の処理ブロックにおいて、前段の処理ブロックの出力が、後段の処理ブロックの多重化データとして入力され、最終的な処理結果が受信部104に受信されることになる。   Thereafter, the CPU 11 acquires a register value from the read register command received by the receiving unit 104. As described above, in a plurality of processing blocks connected in series, the output of the previous processing block is input as multiplexed data of the subsequent processing block, and the final processing result is received by the receiving unit 104. become.

次に、図7のタイミング図を用いて、図1に示した画像処理装置10が所定のデータ単位(ページ、ブロック、バンド等)の画像処理中にレジスタのリード又はライトを行なわない場合の画像処理動作を説明する。図7において、700は送信部100の出力を、701〜703は処理ブロック101〜103の出力をそれぞれ示す。ここで、各処理ブロックのコマンドに対するレイテンシは、画像処理中(最初のデータであることを示すstartフラグ302のセットされたデータを送信してから、最後のデータであることを示すendフラグ303のセットされたデータを送信するまでの間)にコマンドが送信されていないので、図6で説明したのと同様に2クロックサイクルとする。また、各処理ブロックのデータに対するレイテンシは4クロックサイクルとする。   Next, referring to the timing chart of FIG. 7, an image when the image processing apparatus 10 shown in FIG. 1 does not read or write a register during image processing of a predetermined data unit (page, block, band, etc.). The processing operation will be described. In FIG. 7, 700 indicates the output of the transmission unit 100, and 701 to 703 indicate the outputs of the processing blocks 101 to 103, respectively. Here, the latency with respect to the command of each processing block is the value of the end flag 303 indicating that it is the last data after image processing is being performed (data in which the start flag 302 indicating the first data is set is transmitted) Since the command is not transmitted until the set data is transmitted), it is set to two clock cycles as described in FIG. The latency for the data of each processing block is 4 clock cycles.

まずCPU11から送信部100に対してレジスタアドレス、ライトデータ、処理ブロック番号IDが設定される。704〜706はそれぞれ、処理ブロック101〜103に対する、単数又は複数のライトレジスタコマンドである。図6を用いて説明したのと同様な手順で、処理ブロック101〜103はこれらライトレジストコマンドに従ってレジスタライト動作を行ない、これにより処理ブロック内の画像処理パラメータの設定が行なわれる。次に、DRAM12等の記憶媒体から、DMAC13を介して上記データ単位分の画像データが送信部100に転送される。送信部100では、図3に示した入力データフォーマット300に従ってデータ707を作成し、処理ブロック101に対して出力する。処理ブロック101は、入力されたデータ707に対して画像処理を実施した後、得られたデータ708を処理ブロック102に対して出力する。同様に、処理ブロック102は入力されたデータ708に対して画像処理を実施した後、得られたデータ709を処理ブロック103に対して出力する。更に、処理ブロック103は入力されたデータ709に対して画像処理を実施した後、得られたデータ710を受信部104へ出力する。受信部104は、DMAC13を介してDRAM12へ画像処理後のデータを転送する。   First, a register address, write data, and a processing block number ID are set from the CPU 11 to the transmission unit 100. Reference numerals 704 to 706 denote one or more write register commands for the processing blocks 101 to 103, respectively. In the same procedure as described with reference to FIG. 6, the processing blocks 101 to 103 perform a register write operation in accordance with these write registration commands, thereby setting image processing parameters in the processing block. Next, image data for the data unit is transferred from the storage medium such as the DRAM 12 to the transmission unit 100 via the DMAC 13. The transmission unit 100 creates data 707 according to the input data format 300 shown in FIG. 3 and outputs it to the processing block 101. The processing block 101 performs image processing on the input data 707 and then outputs the obtained data 708 to the processing block 102. Similarly, the processing block 102 performs image processing on the input data 708 and then outputs the obtained data 709 to the processing block 103. Further, the processing block 103 performs image processing on the input data 709 and outputs the obtained data 710 to the receiving unit 104. The receiving unit 104 transfers the image-processed data to the DRAM 12 via the DMAC 13.

また、711、713、715はそれぞれ、処理ブロック101〜103に対する、画像処理後の内部状態を観測する為の、単数又は複数のリードレジスタコマンドである。処理ブロック101〜103は、これらリードレジスタコマンド711,713,715に従って、図6を用いて説明したのと同様な手順でレジスタリード動作を行なう。処理ブロック101〜103に対するレジスタリードの結果はそれぞれリードレジスタコマンド712,714,716として受信部104へ送られ、受信部104によって受信される。   Reference numerals 711, 713, and 715 denote one or a plurality of read register commands for observing the internal state after image processing for the processing blocks 101 to 103, respectively. The processing blocks 101 to 103 perform a register read operation according to these read register commands 711, 713, and 715 in the same procedure as described with reference to FIG. The register read results for the processing blocks 101 to 103 are sent to the receiving unit 104 as read register commands 712, 714, and 716, respectively, and are received by the receiving unit 104.

その後、CPU11は、受信部104で受信されたリードレジスタコマンドから、レジスタ値を取得する。   Thereafter, the CPU 11 acquires a register value from the read register command received by the receiving unit 104.

次に、図8のタイミング図を用いて、図1に示した画像処理装置10が所定のデータ単位(ページ、ブロック、バンド等)の画像処理中にレジスタのリードを行なう場合の画像処理動作を説明する。800は送信部100の出力を、801〜803は処理ブロック101〜103の出力をそれぞれ示す。ここで、各処理ブロックのデータに対するレイテンシは4クロックサイクルとする。また、各処理ブロックのコマンドに対するレイテンシは、画像処理中(最初のデータであることを示すstartフラグ302のセットされたデータを送信してから、最後のデータであることを示すendフラグ303のセットされたデータを送信するまでの間)に送信される場合と画像処理中以外に送信される場合で異なる。画像処理中以外に送信されるコマンド(804〜806及び816〜821)に対するレイテンシは、図6で説明したのと同様に2クロックサイクルである。一方、画像処理中に送信されるコマンド(811及び822)のレイテンシは、画像処理対象のデータと同様に4クロックサイクルとする。   Next, an image processing operation when the image processing apparatus 10 shown in FIG. 1 reads a register during image processing of a predetermined data unit (page, block, band, etc.) will be described with reference to the timing chart of FIG. explain. Reference numeral 800 denotes an output of the transmission unit 100, and reference numerals 801 to 803 denote outputs of the processing blocks 101 to 103, respectively. Here, the latency for the data of each processing block is 4 clock cycles. In addition, the latency for the command of each processing block is set in the end flag 303 indicating that it is the last data after image processing is in progress (the data in which the start flag 302 indicating the first data is set is transmitted) Before the transmitted data is transmitted) and when it is transmitted other than during image processing. The latency for the commands (804 to 806 and 816 to 821) transmitted other than during the image processing is two clock cycles as described in FIG. On the other hand, the latency of the commands (811 and 822) transmitted during the image processing is set to 4 clock cycles like the data to be processed.

まずCPU11から送信部100に対してレジスタアドレス、ライトデータ、処理ブロック番号IDが設定される。804〜806はそれぞれ、処理ブロック101〜103に対する、単数又は複数のライトレジスタコマンドである。図6を用いて説明したのと同様な手順で、処理ブロック101〜103はこれらレジスタコマンドに従ってレジスタライト動作を行ない、処理ブロック101〜103の各々に対する画像処理パラメータの設定が行なわれる。   First, a register address, write data, and a processing block number ID are set from the CPU 11 to the transmission unit 100. Reference numerals 804 to 806 denote one or a plurality of write register commands for the processing blocks 101 to 103, respectively. In the same procedure as described with reference to FIG. 6, the processing blocks 101 to 103 perform a register write operation according to these register commands, and image processing parameters are set for each of the processing blocks 101 to 103.

次に、DRAM12等の記憶手段からDMAC13を介して上記データ単位分の画像データが送信部100に対して転送される。送信部100では、図3に示した入力データフォーマット300に従ってデータを作成し、データ807及びデータ812として処理ブロック101に出力する。なお、送信部100は、データ807とデータ812の間に処理ブロック103に対する、画像処理中の内部状態を観測する為のリードレジスタコマンド811を挿入して、処理ブロック101に対して出力を行う。処理ブロック101は、データ807及び812に画像処理を実施し、得られたデータ808及び813を処理ブロック102に対して出力する。このとき、リードレジスタコマンド811は、データ808とデータ813の間に挟まれて、そのまま処理ブロック102に出力される。   Next, image data for the data unit is transferred from the storage means such as the DRAM 12 to the transmission unit 100 via the DMAC 13. The transmission unit 100 creates data according to the input data format 300 shown in FIG. 3 and outputs the data to the processing block 101 as data 807 and data 812. The transmission unit 100 inserts a read register command 811 for observing the internal state during image processing for the processing block 103 between the data 807 and the data 812 and outputs the processing block 101 with the read register command 811. The processing block 101 performs image processing on the data 807 and 812 and outputs the obtained data 808 and 813 to the processing block 102. At this time, the read register command 811 is sandwiched between the data 808 and the data 813 and is output to the processing block 102 as it is.

同様に、処理ブロック102は入力されたデータ808,813に画像処理を実施し、得られたデータ809及び814を処理ブロック103に対して出力する。また、リードレジスタコマンド811は、データ809及び814に挟まれて、そのまま処理ブロック103に対して出力される。処理ブロック103は、入力されたデータ809,814に画像処理を実施し、得られたデータ810及び815を受信部104に出力する。また、処理ブロック103は、リードレジスタコマンド811を実行し、レジスタリードの結果である出力コマンド822を受信部104へ出力する。   Similarly, the processing block 102 performs image processing on the input data 808 and 813 and outputs the obtained data 809 and 814 to the processing block 103. The read register command 811 is sandwiched between the data 809 and 814 and is output to the processing block 103 as it is. The processing block 103 performs image processing on the input data 809 and 814 and outputs the obtained data 810 and 815 to the receiving unit 104. Further, the processing block 103 executes the read register command 811 and outputs an output command 822 as a result of register reading to the receiving unit 104.

その後、受信部104はDMAC13を介してDRAM12へ画像処理後のデータを転送する。CPU11はレジスタリード結果815からレジスタ値を取得することにより、処理ブロック103における画像処理中の内部状態を観測することができる。   Thereafter, the receiving unit 104 transfers the image-processed data to the DRAM 12 via the DMAC 13. The CPU 11 can observe the internal state during image processing in the processing block 103 by acquiring the register value from the register read result 815.

また、816、818、820はそれぞれ、処理ブロック101〜103に対する、画像処理後の内部状態を観測する為の、単数又は複数のリードレジスタコマンドである。これらのリードレジスタコマンド816,818,820は、図6を用いて説明したのと同様な手順で処理ブロック101〜107に対してレジスタリード動作を行なう。そして、処理ブロック101〜103に対するレジスタリードの結果が、出力コマンド817,819,821として、受信部104へ送られ、受信部104により受信される。CPU11は、受信部104で受信された出力コマンド817,819,821からレジスタ値を取得することにより、処理ブロック101〜103における画像処理後の内部状態を観測することができる。   Reference numerals 816, 818, and 820 denote one or a plurality of read register commands for observing the internal state after image processing for the processing blocks 101 to 103, respectively. These read register commands 816, 818, and 820 perform a register read operation on the processing blocks 101 to 107 in the same procedure as described with reference to FIG. The register read results for the processing blocks 101 to 103 are sent to the receiving unit 104 as output commands 817, 819, and 821, and are received by the receiving unit 104. The CPU 11 can observe the internal state after image processing in the processing blocks 101 to 103 by acquiring the register value from the output commands 817, 819, and 821 received by the receiving unit 104.

次に、図9に図8をより詳細に示した、リードレジスタコマンド811の前後のデータ転送のタイミング図を示す。900はクロックを、901は送信部100の出力を、902〜904は処理ブロック101〜103の出力をそれぞれ示す。また、811及び812は図8に示したリードレジスタコマンド及びこれに対応した出力コマンドである。図8でも説明したように、リードレジスタコマンド811は処理ブロック103に対してレジスタリードを行なうコマンドである。通常、処理ブロック103のコマンドに対するレイテンシは2クロックであるが、リードレジスタコマンド811は入力データDn''までが処理された時点の処理ブロック103の内部状態のレジスタ値をリードする為のコマンドである。その為、リードレジスタコマンド811のレイテンシはデータと同じ4クロックとなる。そして、その出力(出力コマンド822))は、処理後のデータDn'''及びDn+1'''との前後関係を保ちながら、・・・Dn''',RC_ID2',Dn+1'''・・・の順で出力される。   Next, FIG. 9 shows a timing chart of data transfer before and after the read register command 811, showing FIG. 8 in more detail. 900 indicates a clock, 901 indicates an output of the transmission unit 100, and 902 to 904 indicate outputs of the processing blocks 101 to 103, respectively. Reference numerals 811 and 812 denote the read register command shown in FIG. 8 and an output command corresponding thereto. As described with reference to FIG. 8, the read register command 811 is a command for performing a register read to the processing block 103. Normally, the latency for the command of the processing block 103 is 2 clocks, but the read register command 811 is a command for reading the register value of the internal state of the processing block 103 when the input data Dn ″ is processed. . Therefore, the latency of the read register command 811 is the same 4 clocks as the data. And the output (output command 822)) maintains the context with the processed data Dn ′ ″ and Dn + 1 ′ ″, while Dn ′ ″, RC_ID2 ′, Dn + 1 ′ Output in the order of '' ...

次に、図10のタイミング図を用いて、図1に示した画像処理装置10が所定のデータ単位(ページ、ブロック、バンド等)の画像処理中にレジスタのライトを行なう場合の画像処理動作を説明する。ここで、図8と動作及びタイミングが同等なものに関しては同じ参照番号を付し、詳細な説明を省略する。また、図8と同様に、各処理ブロックのデータに対するレイテンシは4クロックサイクルとする。さらに、各処理ブロックのコマンドに対するレイテンシは、画像処理中(最初のデータであることを示すstartフラグ302のセットされたデータを送信してから、最後のデータであることを示すendフラグ303のセットされたデータを送信するまでの間)とそれ以外に送信される場合とで異なる。すなわち、画像処理中以外に送信されるライトレジスタコマンド(804〜806及び816〜821)は、図6で説明したのと同様に2クロックサイクルである。一方、画像処理中に送信されるライトレジスタコマンド(1000)のレイテンシは、データと同様に4クロックサイクルとする。   Next, referring to the timing chart of FIG. 10, the image processing operation when the image processing apparatus 10 shown in FIG. 1 performs register write during image processing of a predetermined data unit (page, block, band, etc.) will be described. explain. Here, components having the same operation and timing as those in FIG. 8 are denoted by the same reference numerals, and detailed description thereof is omitted. As in FIG. 8, the latency for the data of each processing block is 4 clock cycles. Further, the latency with respect to the command of each processing block is set in the end flag 303 indicating that it is the last data after transmitting the data in which the start flag 302 indicating that it is the first data is transmitted during image processing. Until the transmitted data is transmitted) and when it is transmitted elsewhere. That is, the write register commands (804 to 806 and 816 to 821) transmitted other than during image processing are two clock cycles as described with reference to FIG. On the other hand, the latency of the write register command (1000) transmitted during image processing is assumed to be 4 clock cycles like data.

図8との違いは、リードレジスタコマンド811が処理ブロック103に対するライトレジスタコマンド1000に置き換わっている点である。このように、上記のデータ単位の画像処理動作中に、処理ブロック103のレジスタ設定値の変更が行なわれる。また、ライトレジスタコマンド1000は、図6で説明したように、処理ブロック103からそのまま受信部104へ送られる。   The difference from FIG. 8 is that the read register command 811 is replaced with the write register command 1000 for the processing block 103. As described above, the register setting value of the processing block 103 is changed during the image processing operation in units of data. The write register command 1000 is sent from the processing block 103 to the receiving unit 104 as it is, as described with reference to FIG.

次に、図11に図10をより詳細に示した、ライトレジスタコマンド1000の前後のデータ転送のタイミング図を示す。図11において、図9と動作及びタイミングが同等なものに関しては同一の参照番号付し、詳細な説明を省略する。図9との違いは、リードレジスタコマンド811が図10に示したライトレジスタコマンド1000に置き換わっている点である。   Next, FIG. 11 shows a timing chart of data transfer before and after the write register command 1000, showing FIG. 10 in more detail. In FIG. 11, operations and timings equivalent to those in FIG. 9 are denoted by the same reference numerals, and detailed description thereof is omitted. The difference from FIG. 9 is that the read register command 811 is replaced with the write register command 1000 shown in FIG.

図10でも説明したように、ライトレジスタコマンド1000は処理ブロック103にレジスタライトを行なわせる。通常、処理ブロック103のコマンドに対するレイテンシは2クロックである。しかしながら、ライトレジスタコマンド1000は入力データDn+1''以降の画像処理に関して、処理ブロック103の設定を変更する為のコマンドである為、そのレイテンシはデータと同じ4クロックとなる。そして、その出力は、処理後のデータDn'''及びDn+1'''との前後関係を保ちながら、・・・Dn''',WC_ID2,Dn+1'''・・・の順で出力される。ただし、レジスタの更新は、データDn+1''が処理される前に行なわれる。   As described with reference to FIG. 10, the write register command 1000 causes the processing block 103 to perform register write. Usually, the latency for the command of the processing block 103 is 2 clocks. However, since the write register command 1000 is a command for changing the setting of the processing block 103 with respect to image processing after the input data Dn + 1 ″, the latency thereof is the same 4 clocks as the data. The output is in the order of Dn '' ', WC_ID2, Dn + 1' '' ... while maintaining the context with the processed data Dn '' 'and Dn + 1' ''. Is output. However, the register is updated before the data Dn + 1 ″ is processed.

次に、上述した処理ブロック101〜103について詳細に説明する。図12は、処理ブロック101〜103の内部構成を示すブロック図である。1200はコマンド及びデータの入力端子である。1201はデコーダであり、入力端子1200より入力されたコマンド及びデータをデコードする。1202はレジスタ部であり、デコーダ1201からのコマンドにより、レジスタデータの読み出し、及び書き込みを行なう。ここで、書き込み動作により、処理パラメータを格納するとともに、信号1211を介して処理部1203に与える。また、読み出し動作により、格納されている処理パラメータの読み出し、あるいは、処理部1203の内部ステータスを、信号1212を介して受け取って、その値の読み出しを行なう。1211は上記処理パラメータ値を処理部1203に伝える為の信号であり、1212は処理部1203の内部ステータスをレジスタ部1202に伝える為の信号である。   Next, the processing blocks 101 to 103 described above will be described in detail. FIG. 12 is a block diagram showing an internal configuration of the processing blocks 101 to 103. Reference numeral 1200 denotes a command and data input terminal. A decoder 1201 decodes commands and data input from the input terminal 1200. A register unit 1202 reads and writes register data according to commands from the decoder 1201. Here, the processing parameter is stored by the write operation and is given to the processing unit 1203 via the signal 1211. Further, by reading operation, the stored processing parameter is read or the internal status of the processing unit 1203 is received via the signal 1212 and the value is read. Reference numeral 1211 is a signal for transmitting the processing parameter value to the processing unit 1203, and 1212 is a signal for transmitting the internal status of the processing unit 1203 to the register unit 1202.

1203は処理部であり、デコーダ1201からのデータ(画像データ)に対して予め定められた処理(画像処理)を施す。デコーダ1201は、modeフラグ201,301,401,501に基づいて、転送データ中のデータとコマンドを処理部1203とレジスタ部1202に振り分ける分離機能を有する。1204はバッファであり、コマンドとデータの前後関係を保証する。1205はデコーダ1201からバッファ1204へ出力されるコマンド保持信号である。1206は入力コマンドが自分のIDと一致しなかった場合、コマンドをそのまま出力する系に挿入される遅延調整用のフリップフロップである。1207はデコーダ1201でデコードされたmodeフラグ201及び処理ブロックID202の遅延調整用のフリップフロップである。1208はエンコーダであり、出力コマンド及びデータを生成する。1209はエンコーダ1208が出力を選択する為のセレクト信号である。1210はコマンド及びデータを出力する為の出力端子である。   A processing unit 1203 performs predetermined processing (image processing) on data (image data) from the decoder 1201. The decoder 1201 has a separation function that distributes data and commands in the transfer data to the processing unit 1203 and the register unit 1202 based on the mode flags 201, 301, 401, and 501. Reference numeral 1204 denotes a buffer, which guarantees the context of commands and data. A command holding signal 1205 is output from the decoder 1201 to the buffer 1204. Reference numeral 1206 denotes a delay adjustment flip-flop inserted into a system for outputting a command as it is when an input command does not match its own ID. Reference numeral 1207 denotes a delay adjustment flip-flop for the mode flag 201 and the processing block ID 202 decoded by the decoder 1201. Reference numeral 1208 denotes an encoder that generates an output command and data. Reference numeral 1209 denotes a select signal for the encoder 1208 to select an output. Reference numeral 1210 denotes an output terminal for outputting commands and data.

図12において、デコーダ1201は、多重化されたコマンド及びデータを分離する。レジスタ部1202は、画像処理パラメータの値を格納し、処理部1203が、画像処理を行なう。バッファ1204は、時系列的な前後関係を保証し、エンコーダ1208は、バッファ1204の出力と処理部1203の出力とデコーダ1201の出力を選択する。   In FIG. 12, a decoder 1201 separates multiplexed commands and data. The register unit 1202 stores values of image processing parameters, and the processing unit 1203 performs image processing. The buffer 1204 guarantees the time-series context, and the encoder 1208 selects the output of the buffer 1204, the output of the processing unit 1203, and the output of the decoder 1201.

次に図13を用いて、図12に示した処理ブロックによるレジスタリード及びライト動作を説明する。ここで、図12の処理ブロックIDには“2”が設定されており、画像処理中(最初のデータであることを示すstartフラグ302のセットされたデータを送信してから、最後のデータであることを示すendフラグ303のセットされたデータを送信するまでの間)でない場合での動作を説明する。1300はクロック、1301はコマンド及びデータの入力端子1200における入力データのタイミングを示す。1304はレジスタ部1202の入力データのタイミング、1305はレジスタ部1202の出力データのタイミングを表す。1306はコマンド保持信号1205の内容、1307はバッファ1204の出力データのタイミング、1308はフリップフロップ1206の出力データを示す。1309はセレクト信号1209の内容、1310はエンコーダ1208の出力データ(すなわち出力端子1210における出力データ)のタイミングを示す。なお、エンコーダ1208は、セレクト信号1209が“0”の時はバッファ1204の出力を選択し、“2”の時はフリップフロップ1206の出力を選択して、出力コマンドを生成する。   Next, register read and write operations by the processing block shown in FIG. 12 will be described with reference to FIG. Here, “2” is set in the processing block ID of FIG. 12, and during the image processing (the data with the start flag 302 indicating that it is the first data is transmitted, and then the last data is The operation in the case where the end flag 303 indicating that it is present is not transmitted) will be described. Reference numeral 1300 denotes a clock, and 1301 denotes the timing of input data at the command and data input terminal 1200. Reference numeral 1304 denotes a timing of input data of the register unit 1202, and 1305 denotes a timing of output data of the register unit 1202. 1306 indicates the contents of the command holding signal 1205, 1307 indicates the timing of the output data of the buffer 1204, and 1308 indicates the output data of the flip-flop 1206. 1309 indicates the contents of the select signal 1209, and 1310 indicates the timing of the output data of the encoder 1208 (ie, output data at the output terminal 1210). The encoder 1208 selects the output of the buffer 1204 when the select signal 1209 is “0”, and selects the output of the flip-flop 1206 when it is “2” to generate an output command.

1301に示すように、
・サイクルC0にて処理ブロックID202=2、アドレス204=0のライトレジスタコマンドが、
・サイクルC1にて処理ブロックID202=2、アドレス204=1のライトレジスタコマンドが、
・サイクルC2にて処理ブロックID202=2、アドレス204=0のリードコマンドが、
・サイクルC3にて処理ブロックID202=2、アドレス204=1のリードコマンドが、
・サイクルC4にて処理ブロックID202=0のライトコマンドが、
・サイクルC5にて処理ブロックID202=1のリードコマンドが入力されたとする。
As shown at 1301
In cycle C0, the write register command with processing block ID 202 = 2 and address 204 = 0 is
In cycle C1, the write register command with processing block ID 202 = 2 and address 204 = 1 is
In cycle C2, the read command with processing block ID 202 = 2 and address 204 = 0 is
In cycle C3, the read command with processing block ID 202 = 2 and address 204 = 1 is
-In cycle C4, the write command with processing block ID 202 = 0 is
It is assumed that a read command with processing block ID 202 = 1 is input in cycle C5.

これら入力されたコマンドはデコーダ1201にてデコードされる。そして、処理ブロックID202が“2”であるコマンドに関しては、RWフラグ203、アドレス204、レジスタデータ205の内容がレジスタ部1202へ出力される。また、画像処理中でなく、且つIDが“2”以外である場合は、当該コマンドはそのままフリップフロップ1206へ出力される。そして、フリップフロップ1206にて1クロック分遅延させられ、エンコーダ1208へ出力される。さらに、modeフラグ201及び処理ブロックID202がフリップフロップ1207へ入力され、そこで1クロック分遅延させられ、modeフラグ401及び処理ブロックID402としてバッファ1204へ出力される。また、サイクルC0〜C5においてはコマンドのみが入力されている。従って、デコーダ1201は、信号内容1309に示すように、処理ブロックのコマンドに対するレイテンシ(2クロックサイクル)分にあわせて、セレクト信号1209を出力する。   These input commands are decoded by the decoder 1201. With respect to a command whose processing block ID 202 is “2”, the contents of the RW flag 203, the address 204, and the register data 205 are output to the register unit 1202. If the image is not being processed and the ID is other than “2”, the command is output to the flip-flop 1206 as it is. Then, the signal is delayed by one clock by the flip-flop 1206 and output to the encoder 1208. Further, the mode flag 201 and the processing block ID 202 are input to the flip-flop 1207, delayed there by one clock, and output to the buffer 1204 as the mode flag 401 and the processing block ID 402. In cycles C0 to C5, only commands are input. Accordingly, the decoder 1201 outputs the select signal 1209 in accordance with the latency (2 clock cycles) for the command of the processing block as indicated by the signal content 1309.

つまり、1304に示すように、
・サイクルC0にてRWフラグ203=1、アドレス204=0及びレジスタデータ205がレジスタ部1202へ出力され、
・サイクルC1にてRWフラグ203=1、アドレス204=1及びレジスタデータ205がレジスタ部1202へ出力され、
・サイクルC2にてRWフラグ203=0、アドレス204=0及びレジスタデータ205がレジスタ部1202へ出力され、
・サイクルC3にてRWフラグ203=0、アドレス204=1及びレジスタデータ205がレジスタ部1202へ出力される。
That is, as shown at 1304,
In cycle C0, the RW flag 203 = 1, the address 204 = 0, and the register data 205 are output to the register unit 1202,
In cycle C1, the RW flag 203 = 1, the address 204 = 1 and the register data 205 are output to the register unit 1202,
In cycle C2, the RW flag 203 = 0, the address 204 = 0, and the register data 205 are output to the register unit 1202,
In cycle C3, the RW flag 203 = 0, the address 204 = 1, and the register data 205 are output to the register unit 1202.

また、1308に示すように、
・処理ブロックID202=0のライトコマンドは、サイクルC5にてエンコーダ1208へ出力され、
・処理ブロックID202=1のリードコマンドは、サイクルC6にてエンコーダ1208へ出力される。
Also, as shown at 1308,
The write command with the processing block ID 202 = 0 is output to the encoder 1208 in cycle C5,
The read command with the processing block ID 202 = 1 is output to the encoder 1208 in cycle C6.

また、エンコーダ1208は、セレクト信号1209が“0”の時はバッファ1204の出力を選択し、“1”の時は処理部1203の出力を選択し、“2”の時はフリップフロップ1206の出力を選択する。なお、セレクト信号は、
・当該処理ブロックで実行すべきコマンドに対して“0”が、
・当該処理ブロックが画像処理すべきデータに対して“1”が、
・当該処理ブロックで実行されないコマンドに対して“2”が、
セットされる。そのため、セレクト信号1209は、信号内容1309に示すように、サイクルC1〜C4の期間は“0”が出力され、サイクルC5〜C6の期間は“2”が出力される。
The encoder 1208 selects the output of the buffer 1204 when the select signal 1209 is “0”, selects the output of the processing unit 1203 when it is “1”, and outputs the flip-flop 1206 when it is “2”. Select. The select signal is
-"0" for the command to be executed in the processing block,
-"1" for data to be processed by the processing block,
・ "2" is displayed for commands not executed in the processing block.
Set. Therefore, as shown in the signal content 1309, the select signal 1209 outputs “0” during the cycles C1 to C4 and “2” during the cycles C5 to C6.

レジスタ部1202においては、RWフラグ203の値が“0”の時は所望のアドレスのレジスタリード動作を行ない、同時にそのときのRWフラグ403=0、アドレス404及びレジスタデータ405をバッファ1204へ出力する。このとき、レジスタリード動作は、レジスタコマンドの直前に入力されたデータの処理が終了してから行なわれる。またRWフラグ203の値が“1”の時はレジスタライト動作を行ない、そのときのRWフラグ403、アドレス404と所望のアドレスのレジスタ値をバッファ1204へ出力する。   In the register unit 1202, when the value of the RW flag 203 is “0”, a register read operation of a desired address is performed, and at the same time, the RW flag 403 = 0, the address 404 and the register data 405 are output to the buffer 1204. . At this time, the register read operation is performed after the processing of data input immediately before the register command is completed. When the value of the RW flag 203 is “1”, a register write operation is performed, and the RW flag 403 and address 404 at that time and the register value of the desired address are output to the buffer 1204.

この時、ライトされたレジスタデータは画像処理パラメータとして処理部1203へ出力される。また、レジスタリードデータには、処理部1203から入力された、内部状態等を反映させる。   At this time, the written register data is output to the processing unit 1203 as an image processing parameter. The register read data reflects an internal state or the like input from the processing unit 1203.

つまり、1305に示すように、
・サイクルC1にてアドレス204=0へのライト動作を行なうと同時にRWフラグ403=1、アドレス404=0及びレジスタデータ405をバッファ1204へ出力し、
・サイクルC2にてアドレス204=1へのライト動作を行なうと同時にRWフラグ403=1、アドレス404=1及びレジスタデータ405をバッファ1204へ出力し、
・サイクルC3にてアドレス204=0へのリード動作を行なうと同時にRWフラグ403=0、アドレス404=0及びレジスタデータ405をバッファ1204へ出力し、
・サイクルC4にてアドレス204=1へのリード動作を行なうと同時にRWフラグ403=0、アドレス404=1及びレジスタデータ405をバッファ1204へ出力する。
That is, as shown at 1305,
At the same time as performing the write operation to the address 204 = 0 in the cycle C1, the RW flag 403 = 1, the address 404 = 0 and the register data 405 are output to the buffer 1204.
In cycle C2, the write operation to the address 204 = 1 is performed, and at the same time, the RW flag 403 = 1, the address 404 = 1 and the register data 405 are output to the buffer 1204.
In cycle C3, the read operation to address 204 = 0 is performed, and at the same time, the RW flag 403 = 0, the address 404 = 0, and the register data 405 are output to the buffer 1204.
In cycle C4, the read operation to the address 204 = 1 is performed, and at the same time, the RW flag 403 = 0, the address 404 = 1, and the register data 405 are output to the buffer 1204.

バッファ1204においては、コマンド保持信号1205が“1”の時、入力されたデータを保持する。“1”の値になるのは、デコーダ1201にて、所定のデータ単位(ページ、ブロック、バンド等)の画像処理中に、即ちデータ転送中に、レジスタリード動作などのコマンドの転送が行なわれた場合である。   The buffer 1204 holds the input data when the command holding signal 1205 is “1”. The value of “1” is transferred by a decoder 1201 during command processing of a predetermined data unit (page, block, band, etc.), that is, during a data transfer, a command transfer such as a register read operation is performed. This is the case.

図13の例では、画像処理中にコマンドの転送が行なわれていない為、コマンド保持信号1205が“0”値を有している。そして、入力されたmodeフラグ401、処理ブロックID402、RWフラグ403、アドレス404及びレジスタデータ405は、そのままエンコーダ1208へ出力される。そして、エンコーダ1208は、図4に示した出力コマンドフォーマット400に従った出力コマンドの生成をセレクト信号1209に従って行ない、1クロックサイクル後に出力端子1210より出力する。   In the example of FIG. 13, since no command is transferred during image processing, the command holding signal 1205 has a “0” value. Then, the input mode flag 401, processing block ID 402, RW flag 403, address 404 and register data 405 are output to the encoder 1208 as they are. The encoder 1208 generates an output command according to the output command format 400 shown in FIG. 4 according to the select signal 1209, and outputs it from the output terminal 1210 after one clock cycle.

つまり、サイクルC1〜C4の期間はセレクト信号1209の値が“0”なので、エンコーダ1208はバッファ1204の出力を選択する。そして、エンコーダ1208は、1310に示すように、
・1クロックサイクル後のサイクルC2にて処理ブロックID402=2、アドレス404=0のライトコマンドを、
・サイクルC3にて処理ブロックID402=2、アドレス404=1のライトコマンドを、
・サイクルC4にて処理ブロックID402=2、アドレス404=0のリードコマンドを、
・サイクルC5にて処理ブロックID402=2、アドレス404=1のリードコマンドを、出力端子1210へ出力する。
That is, since the value of the select signal 1209 is “0” during the cycles C1 to C4, the encoder 1208 selects the output of the buffer 1204. Then, the encoder 1208, as shown at 1310,
In cycle C2 after one clock cycle, write command with processing block ID 402 = 2 and address 404 = 0 is
In cycle C3, write command with processing block ID 402 = 2 and address 404 = 1 is
In cycle C4, a read command with processing block ID 402 = 2 and address 404 = 0 is
In cycle C5, the read command with processing block ID 402 = 2 and address 404 = 1 is output to the output terminal 1210.

また、セレクト信号1209はサイクルC5〜C6の期間は値が“2”なので、エンコーダ1208はフリップフロップ1206の出力を選択する。そして、エンコーダ1208は、1310に示すように、
・1クロックサイクル後のサイクルC6にて処理ブロックID402=0のライトコマンドWC_ID0を、
・サイクルC7にて処理ブロックID402=1のリードコマンドRC_ID1を出力端子1210へ出力する。
Since the value of the select signal 1209 is “2” during the cycles C5 to C6, the encoder 1208 selects the output of the flip-flop 1206. Then, the encoder 1208, as shown at 1310,
-In cycle C6 after one clock cycle, write command WC_ID0 with processing block ID 402 = 0 is
In cycle C7, the read command RC_ID1 with the processing block ID 402 = 1 is output to the output terminal 1210.

次に図14を用いて、図12に示した処理ブロックが所定のデータ単位の画像処理中(最初のデータであることを示すstartフラグ302のセットされたデータを送信してから、最後のデータであることを示すendフラグ303のセットされたデータを送信するまでの間)にレジスタのリードを行なう場合の画像処理動作を説明する。なお、所定のデータ単位とは、ページ、ブロック、バンド等の単位である。ここで、図12の処理ブロックのIDは図13と同様に“2”が設定されており、処理ブロックのデータに対するレイテンシは4クロックサイクルとする。また、各処理ブロックのコマンドに対するレイテンシは、そのコマンドが画像処理中に送信される場合は、データと同様に4クロックサイクルとする。   Next, referring to FIG. 14, the processing block shown in FIG. 12 is performing image processing of a predetermined data unit (after transmitting the data in which the start flag 302 indicating the first data is set, the last data The image processing operation in the case where the register is read before the data in which the end flag 303 indicating this is set is transmitted) will be described. The predetermined data unit is a unit such as a page, a block, or a band. Here, the processing block ID in FIG. 12 is set to “2” as in FIG. 13, and the latency for the data in the processing block is 4 clock cycles. Further, the latency for the command of each processing block is set to 4 clock cycles as in the case of data when the command is transmitted during image processing.

図14において、1400はクロック、1401はコマンド及びデータの入力端子1200におけるタイミングを示す。1402は処理部1203の入力データのタイミング、1403は処理部1203の出力データのタイミングを示す。1404はレジスタ部1202の入力データのタイミング、1405はレジスタ部1202の出力データのタイミングを示す。1406はコマンド保持信号1205の状態、1409はセレクト信号1209の状態を示す。1407はバッファ1204の出力データのタイミング、1410はコマンド及びデータの出力端子1210における出力データのタイミングを示す。   In FIG. 14, reference numeral 1400 denotes a clock, and reference numeral 1401 denotes a command and data input terminal 1200. 1402 indicates the timing of input data of the processing unit 1203, and 1403 indicates the timing of output data of the processing unit 1203. 1404 indicates the timing of input data of the register unit 1202, and 1405 indicates the timing of output data of the register unit 1202. Reference numeral 1406 denotes the state of the command holding signal 1205, and 1409 denotes the state of the select signal 1209. Reference numeral 1407 denotes the output data timing of the buffer 1204, and 1410 denotes the output data timing at the command and data output terminal 1210.

1401に示すように、サイクルC0にてデータDn-1が、サイクルC1にてデータDnが、サイクルC2にて処理ブロックID202=2のリードコマンドが、サイクルC3〜C7にてデータDn+1〜Dn+5が入力される場合を説明する。これら入力されたデータ及びコマンドのうち、データはデコーダ1201にてデコードされ、Startフラグ302、endフラグ303、データ304が処理部1203へ出力される(1402)。また、画像処理中においては、処理ブロックID202の値に関わらず、コマンドのRWフラグ203、アドレス204、レジスタデータ205がレジスタ部1202へ出力される(1404)。これは、たとえコマンドの処理ブロックID202が“2”以外の値であっても、データとコマンドの前後関係を保ちながら、後段の処理ブロックへデータ及びコマンドを伝播させる為である。   As shown at 1401, the data Dn-1 in cycle C0, the data Dn in cycle C1, the read command of processing block ID 202 = 2 in cycle C2, and the data Dn + 1 to Dn in cycles C3 to C7. The case where +5 is input will be described. Among these input data and commands, the data is decoded by the decoder 1201, and the Start flag 302, the end flag 303, and the data 304 are output to the processing unit 1203 (1402). During image processing, the command RW flag 203, address 204, and register data 205 are output to the register unit 1202 regardless of the value of the processing block ID 202 (1404). This is because, even if the command processing block ID 202 is a value other than “2”, the data and the command are propagated to the subsequent processing block while maintaining the context of the data and the command.

さらに、modeフラグ401及び処理ブロックID402がフリップフロップ1207へ出力され、フリップフロップ1207にて1クロック分遅延させられ、バッファ1204へ出力される。またデコーダ1201にはサイクルC2の期間以外はデータが入力されている。デコーダ1201は、データが入力されている期間中は画像処理中であると判断してセレクト信号1209を“1”にセットする。また、デコーダ1201は、自身の処理ブロックIDを持つコマンドを入力した場合には、セレクト信号1209を“0”にセットする。但し、処理ブロックのデータのレイテンシ、及び画像処理中に受信したコマンドに対するレイテンシが4クロックであり、セレクト信号1209はこれにあわせて出力されている(1409)。   Further, the mode flag 401 and the processing block ID 402 are output to the flip-flop 1207, delayed by one clock in the flip-flop 1207, and output to the buffer 1204. Data is input to the decoder 1201 except for the period of the cycle C2. The decoder 1201 determines that image processing is being performed during a period in which data is input, and sets the select signal 1209 to “1”. The decoder 1201 sets the select signal 1209 to “0” when a command having its own processing block ID is input. However, the latency of the data of the processing block and the latency for the command received during the image processing are 4 clocks, and the select signal 1209 is output accordingly (1409).

つまり、1402に示すように、サイクルC0,C1及びC3〜C7にてstartフラグ302、endフラグ303及びデータ304が処理部1203へ入力される。そして、1404に示すように、サイクルC2にてアドレス204及びレジスタデータ205がレジスタ部1202へ出力される。また、セレクト信号1209は、1409に示すようにサイクルC0〜C4、C6、C7の期間は“1”となり、サイクルC5の期間は“0”となる。   That is, as indicated by 1402, the start flag 302, the end flag 303, and the data 304 are input to the processing unit 1203 in cycles C0, C1, and C3 to C7. As indicated by 1404, the address 204 and the register data 205 are output to the register unit 1202 in the cycle C 2. The select signal 1209 is “1” during the cycles C0 to C4, C6, and C7 and “0” during the cycle C5, as indicated by 1409.

処理部1203においては入力されたデータに対して4クロックサイクルのレイテンシで画像処理をおこない、出力データのstartフラグ502、endフラグ503及びデータ504をエンコーダ1208へ出力する(1403)。   The processing unit 1203 performs image processing on the input data with a latency of 4 clock cycles, and outputs a start flag 502, an end flag 503, and data 504 of output data to the encoder 1208 (1403).

また、レジスタ部1202においては、サイクルC2で入力端子1200から入力されたレジスタリードコマンド(RC_ID2)に応じて、図13で説明したレジスタリード動作を行なう。つまり、1405に示すようにサイクルC3にてアドレス204へのリード動作を行なうと同時にRWフラグ403=0、アドレス404及び読み出したレジスタデータ405をバッファ1204へ出力する。   The register unit 1202 performs the register read operation described with reference to FIG. 13 in response to the register read command (RC_ID2) input from the input terminal 1200 in the cycle C2. In other words, as shown in 1405, the read operation to the address 204 is performed in cycle C3, and at the same time, the RW flag 403 = 0, the address 404 and the read register data 405 are output to the buffer 1204.

図13で説明したようにデコーダ1201にて所定のデータ単位(ページ、ブロック、バンド等)の画像処理中にレジスタリードコマンドを検知した為、サイクルC3及びC4においてコマンド保持信号1205が“1”となる。よって、バッファ1204は、サイクルC3で入力されたmodeフラグ401、処理ブロックID402、RWフラグ403、アドレス404、レジスタデータ405をそのままエンコーダ1208へ出力し、サイクルC4及びC5でそれらの値を保持する。この様子は、1407によって示されている。   As described with reference to FIG. 13, the register read command is detected during image processing of a predetermined data unit (page, block, band, etc.) by the decoder 1201, so that the command holding signal 1205 becomes “1” in cycles C3 and C4. Become. Therefore, the buffer 1204 outputs the mode flag 401, the processing block ID 402, the RW flag 403, the address 404, and the register data 405 input in cycle C3 to the encoder 1208 as they are, and holds those values in cycles C4 and C5. This situation is indicated by 1407.

エンコーダ1208は、1409に示されるセレクト信号1209に従い、図4に示した出力コマンドフォーマット400或いは出力データフォーマット500を有する出力コマンド/データを生成し、出力端子1210より出力する。つまり、エンコーダ1208は、サイクルC0〜C4、C6、C7の期間はセレクト信号1209の値が“1”なので、処理部1203の出力を選択し、1クロックサイクル後のサイクルに出力端子1210へデータを出力する。また、サイクルC5ではセレクト信号1209の値が“0”である為、エンコーダ1208はバッファ1204を選択し、1クロックサイクル後のサイクルに処理ブロックID402=2、アドレス404=0のリード出力コマンドを出力端子1210へ出力する。   The encoder 1208 generates an output command / data having the output command format 400 or the output data format 500 shown in FIG. 4 according to the select signal 1209 indicated by 1409, and outputs it from the output terminal 1210. That is, since the value of the select signal 1209 is “1” during the cycles C0 to C4, C6, and C7, the encoder 1208 selects the output of the processing unit 1203 and sends data to the output terminal 1210 in the cycle after one clock cycle. Output. In cycle C5, since the value of the select signal 1209 is “0”, the encoder 1208 selects the buffer 1204, and outputs a read output command of the processing block ID 402 = 2 and the address 404 = 0 in the cycle one clock cycle later. Output to terminal 1210.

尚、図14の例では、画像処理中にレジスタのリード動作を行なう場合を示したが、レジスタのライト動作を行なう場合でも、レジスタのリード動作と同等な動作となる。但し、レジスタのライト動作では、レジスタの更新のタイミングが、当該レジスタライトコマンドの次のデータに対する処理の開始までに行なわれる。   In the example of FIG. 14, the case where the register read operation is performed during the image processing is shown. However, even when the register write operation is performed, the operation is equivalent to the register read operation. However, in the register write operation, the register update timing is performed before the start of processing for the next data of the register write command.

また、レイテンシの調整も画像処理部のレイテンシを4サイクル固定として説明したが、これに限られるものではない。例えば画像処理部のレイテンシが可変の場合においても、画像処理部にコマンド挿入個所を示す信号を追加し、上記出力の切替えを該コマンド挿入個所を示す信号によって切替えることにより、コマンドとデータの順番を維持して出力できる。   Further, the latency adjustment has been described with the latency of the image processing unit being fixed to 4 cycles, but is not limited to this. For example, even when the latency of the image processing unit is variable, a signal indicating a command insertion location is added to the image processing unit, and the output is switched by the signal indicating the command insertion location, thereby changing the order of the command and data. The output can be maintained.

以上説明したように、本実施形態によれば、コマンド及びデータを多重化して、共通のデータバス上を転送し、処理ブロックでは入力されたコマンドとデータの順序を保ちながら処理結果を出力する。これにより、データに同期した制御を、任意のデータ間でかつ高速に行なうことが可能となる。   As described above, according to the present embodiment, commands and data are multiplexed and transferred on a common data bus, and the processing block outputs the processing results while maintaining the order of the input commands and data. As a result, control synchronized with data can be performed between arbitrary data at high speed.

尚、本実施形態では、データ単位(ページ、ブロック、バンド等)の画像処理中にレジスタのリード及びライトを行なう動作に関して、1つのみのコマンドを転送する例を示したがこれに限られるものではない。複数のコマンドの転送及び、上記データ単位内の複数箇所でデータに対してコマンドを挿入して転送する場合も可能であることは上記実施形態の説明から当業者には明らかである。   In the present embodiment, an example is shown in which only one command is transferred with respect to an operation of reading and writing a register during image processing of a data unit (page, block, band, etc.). is not. It will be apparent to those skilled in the art from the description of the above embodiments that a plurality of commands can be transferred and a command can be inserted and transferred at a plurality of locations in the data unit.

また、本実施形態では画像処理中のコマンド転送が1つの処理ブロックに関してのみ行なう例を示したが、複数の処理ブロックに対して行なう場合も可能であることはいうまでもない。
また、上記実施形態では、1つのコマンドに1つの処理ブロックを特定するIDを記述したが、例えば、1FH(処理ブロックID202の全ビットが1)の場合には、全ての処理ブロックが選択されるようにしてもよい。例えば、全ての処理ブロックの同一アドレスに同一データを書き込むような処理を、1つのコマンドで実現できる。
また、上記実施形態では、処理ブロックが3つの場合を説明したが、処理ブロックの数は1以上、いくつでも良い。但し、処理ブロックIDで表せる数が上限となる。
In this embodiment, an example in which command transfer during image processing is performed only for one processing block is shown, but it goes without saying that it may be performed for a plurality of processing blocks.
In the above embodiment, an ID for specifying one processing block is described in one command. However, for example, in the case of 1FH (all bits of the processing block ID 202 are 1), all processing blocks are selected. You may do it. For example, a process for writing the same data to the same address in all the processing blocks can be realized with one command.
Moreover, although the case where the number of process blocks is three was demonstrated in the said embodiment, the number of process blocks may be one or more and how many. However, the number that can be represented by the processing block ID is the upper limit.

さらに、実施形態では各処理ブロックのデータに対するコマンド及びデータに対するレイテンシが同一の場合に関して説明したが、これに限定されるものではない。複数の処理ブロックのコマンド及びデータに対するレイテンシが互いに異なる場合でも、デコーダ1201によるバッファ1204でコマンドを保持するクロックサイクルの制御をそれぞれ適宜変更することにより対応できる。   Furthermore, in the embodiment, the case where the command for the data of each processing block and the latency for the data are the same has been described, but the present invention is not limited to this. Even when the latencies for commands and data of a plurality of processing blocks are different from each other, it can be coped with by appropriately changing the control of the clock cycle in which the decoder 1201 holds the command in the buffer 1204.

[他の実施形態]
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
[Other Embodiments]
Although the embodiment has been described in detail above, the present invention can take an embodiment as a system, apparatus, method, program, storage medium, or the like. Specifically, the present invention may be applied to a system composed of a plurality of devices, or may be applied to an apparatus composed of a single device.

尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。   In the present invention, the functions of the above-described embodiments are achieved by supplying a software program directly or remotely to a system or apparatus, and the computer of the system or apparatus reads and executes the supplied program code. Including the case. In this case, the supplied program is a computer program corresponding to the flowchart shown in the drawings in the embodiment.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, or the like.

コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。   Examples of the computer-readable storage medium for supplying the computer program include the following. For example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD- R).

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As another program supply method, a client computer browser is used to connect to a homepage on the Internet, and the computer program of the present invention is downloaded from the homepage to a recording medium such as a hard disk. In this case, the downloaded program may be a compressed file including an automatic installation function. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。   Further, the program of the present invention may be encrypted, stored in a storage medium such as a CD-ROM, and distributed to users. In this case, a user who has cleared a predetermined condition is allowed to download key information for decryption from a homepage via the Internet, execute an encrypted program using the key information, and install the program on the computer. You can also.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。   In addition to the functions of the above-described embodiment being realized by the computer executing the read program, the embodiment of the embodiment is implemented in cooperation with an OS or the like running on the computer based on an instruction of the program. A function may be realized. In this case, the OS or the like performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行なう。   Furthermore, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, so that part or all of the functions of the above-described embodiments are realized. May be. In this case, after a program is written in the function expansion board or function expansion unit, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program.

Claims (12)

それぞれが処理部を有する複数の処理ブロックが共通バスによって直列に接続された画像処理装置における当該複数の処理ブロックのそれぞれにより実行される画像処理方法であって、
前記共通バスを介して当該処理ブロックに入力されたデータを用いた画像処理を、当該処理ブロックの処理部により行なうデータ処理工程と、
前記共通バスを介して当該処理ブロックに入力されたコマンドに応じた処理を、当該処理ブロックの処理部に対して行なうコマンド処理工程と、
前記共通バスを介して第1の処理ブロックに入力される第1のコマンドについて、当該第1のコマンドの前に前記第1の処理ブロックへ入力されたデータに基づくデータ処理によるデータ出力が完了するまで、前記第1の処理ブロックから当該第1のコマンドを出力することを遅延させる遅延工程とを有することを特徴とする画像処理方法。
An image processing method executed by each of a plurality of processing blocks in an image processing apparatus in which a plurality of processing blocks each having a processing unit are connected in series by a common bus,
A data processing step in which image processing using data input to the processing block via the common bus is performed by a processing unit of the processing block;
A command processing step for performing processing corresponding to a command input to the processing block via the common bus to a processing unit of the processing block;
For the first command input to the first processing block via the common bus, the data output by the data processing based on the data input to the first processing block before the first command is completed. And a delaying step of delaying the output of the first command from the first processing block.
前記コマンド処理工程では、当該コマンドの前に当該処理ブロックに入力されたデータを用いた処理を終了した前記処理部に対して当該コマンドに応じた処理を行なうことを特徴とする請求項1に記載の画像処理方法。   2. The process according to claim 1, wherein in the command processing step, processing corresponding to the command is performed on the processing unit that has completed processing using data input to the processing block before the command. Image processing method. 前記コマンド処理工程では、当該コマンドの前に当該処理ブロックに入力されたデータを用いた処理を終了した前記処理部にパラメータを設定することを特徴とする請求項1に記載の画像処理方法。   The image processing method according to claim 1, wherein, in the command processing step, a parameter is set in the processing unit that has completed processing using data input to the processing block before the command. 前記コマンド処理工程では、当該コマンドの前に当該処理ブロックに入力されたデータを用いた処理を終了した前記処理部の状態を示すデータを読出すことを特徴とする請求項1に記載の画像処理方法。   2. The image processing according to claim 1, wherein, in the command processing step, data indicating a state of the processing unit that has finished processing using data input to the processing block before the command is read out. Method. 前記コマンド処理工程では、当該処理ブロックの処理部の状態を示すデータを読出し、前記遅延工程では、前記コマンドより前に当該処理ブロックに入力されたデータを用いた処理を行なった前記処理部の出力が終了するまで、前記読出された状態を示すデータの出力を待機させることを特徴とする請求項1に記載の画像処理方法。   In the command processing step, data indicating the state of the processing unit of the processing block is read, and in the delaying step, the output of the processing unit that has performed processing using data input to the processing block prior to the command The image processing method according to claim 1, wherein output of data indicating the read state is waited until the operation is completed. 前記遅延工程は、前記コマンドの処理結果、及び、当該処理ブロックの入力がデータであるかコマンドであるかを示す識別データを、バッファに格納する格納工程を含むことを特徴とする請求項1に記載の画像処理方法。   The delaying step includes a storing step of storing, in a buffer, processing results of the command and identification data indicating whether the input of the processing block is data or a command. The image processing method as described. 共通バスによって直列に接続された複数の処理ブロックを有する画像処理装置であって、
前記複数の処理ブロックのそれぞれは、
当該処理ブロックに入力されたデータを用いた画像処理を行なう第1の処理手段と、
当該処理ブロックに入力されたコマンドに応じた処理を、前記第1の処理手段に対して行なう第2の処理手段と、
前記共通バスを介して第1の処理ブロックに入力される第1のコマンドについて、当該第1のコマンドの前に前記第1の処理ブロックへ入力されたデータに基づくデータ処理によるデータ出力が完了するまで、前記第1の処理ブロックから当該第1のコマンドを出力することを遅延させるように制御する制御手段とを有することを特徴とする画像処理装置。
An image processing apparatus having a plurality of processing blocks connected in series by a common bus,
Each of the plurality of processing blocks is
First processing means for performing image processing using data input to the processing block;
Second processing means for performing processing corresponding to the command input to the processing block on the first processing means;
For the first command input to the first processing block via the common bus, the data output by the data processing based on the data input to the first processing block before the first command is completed. And an image processing apparatus comprising: control means for controlling to delay the output of the first command from the first processing block.
前記第2の処理手段は、当該コマンドの前に当該処理ブロックに入力されたデータを用いた処理を終了した前記第1の処理手段に対して当該コマンドに応じた処理を行なうことを特徴とする請求項7に記載の画像処理装置。   The second processing means performs processing according to the command on the first processing means that has finished processing using data input to the processing block before the command. The image processing apparatus according to claim 7. 前記第2の処理手段は、当該コマンドの前に当該処理ブロックに入力されたデータを用いた処理を終了した前記第1の処理手段にパラメータを設定することを特徴とする請求項7に記載の画像処理装置。   The said 2nd processing means sets a parameter to the said 1st processing means which complete | finished the process using the data input into the said process block before the said command, The said Claim 7 characterized by the above-mentioned. Image processing device. 前記第2の処理手段は、当該コマンドの前に当該処理ブロックに入力されたデータを用いた処理を終了した前記第1の処理手段の状態を示すデータを読出すことを特徴とする請求項7に記載の画像処理装置。   8. The second processing means reads data indicating a state of the first processing means that has finished processing using data input to the processing block before the command. An image processing apparatus according to 1. 前記第2の処理手段は、前記第1の処理手段の状態を示すデータを読出し、前記制御手段は、前記コマンドより前に当該処理ブロックに入力されたデータを用いた処理を行なった前記第1の処理手段の出力が終了するまで、前記読出された状態を示すデータの出力を待機させることを特徴とする請求項7に記載の画像処理装置。   The second processing unit reads data indicating the state of the first processing unit, and the control unit performs processing using data input to the processing block before the command. 8. The image processing apparatus according to claim 7, wherein the output of the data indicating the read state is waited until the output of the processing means is completed. 前記制御手段は、前記コマンドの処理結果、及び、当該処理ブロックの入力がデータであるかコマンドであるかを示す識別データを格納するバッファをさらに有することを特徴とする請求項7に記載の画像処理装置。   8. The image according to claim 7, wherein the control unit further includes a buffer for storing a processing result of the command and identification data indicating whether an input of the processing block is data or a command. Processing equipment.
JP2011275079A 2011-12-15 2011-12-15 Image processing apparatus and method Expired - Fee Related JP5188620B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011275079A JP5188620B2 (en) 2011-12-15 2011-12-15 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011275079A JP5188620B2 (en) 2011-12-15 2011-12-15 Image processing apparatus and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007194794A Division JP4898590B2 (en) 2007-07-26 2007-07-26 Data processing apparatus and method

Publications (2)

Publication Number Publication Date
JP2012120179A true JP2012120179A (en) 2012-06-21
JP5188620B2 JP5188620B2 (en) 2013-04-24

Family

ID=46502452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011275079A Expired - Fee Related JP5188620B2 (en) 2011-12-15 2011-12-15 Image processing apparatus and method

Country Status (1)

Country Link
JP (1) JP5188620B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0537776A (en) * 1990-12-13 1993-02-12 Ricoh Co Ltd Picture processing unit
JPH07191845A (en) * 1993-12-27 1995-07-28 Fujitsu Ltd Immediate data transfer device
JPH07244587A (en) * 1994-03-04 1995-09-19 Nec Corp Data processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0537776A (en) * 1990-12-13 1993-02-12 Ricoh Co Ltd Picture processing unit
JPH07191845A (en) * 1993-12-27 1995-07-28 Fujitsu Ltd Immediate data transfer device
JPH07244587A (en) * 1994-03-04 1995-09-19 Nec Corp Data processor

Also Published As

Publication number Publication date
JP5188620B2 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
JP5149567B2 (en) Image processing apparatus and method
JP4898590B2 (en) Data processing apparatus and method
JP2010134627A (en) Bus relay device
JP2006259898A (en) I/o controller, signal processing system and data transferring method
JP4876051B2 (en) Image processing apparatus and control method thereof
JP4562505B2 (en) Multiplexing separation device and multiplexing separation method
JP5188620B2 (en) Image processing apparatus and method
US10372655B1 (en) Memory-mapped state bus for integrated circuit
JP2008009803A (en) Information storage device, information transfer method, information transfer system, program and recording medium
JP2006215886A (en) Signal processor, signal processing system and signal processing method
JP3185863B2 (en) Data multiplexing method and apparatus
US6950472B2 (en) Coded data transfer control method and storage and reproduction system
JP4534940B2 (en) Information recording apparatus, imaging apparatus, information recording control method, and computer program
JP2005309606A (en) Data processing circuit and method for receiving and transferring stream data
JP2005293391A (en) Communication method and processor
JP6439299B2 (en) Information processing system, network storage device, and program
JP3405190B2 (en) Decryption method
JP2010128803A (en) Data transfer device and data transfer method
JP2003297017A (en) Data recording controller
JP2012043476A (en) Image processor and control method for the same
JP2005338899A (en) Initialization processing apparatus and initialization processing method
KR100846406B1 (en) Video encoder transmitting extracted image outside during encoding
JP2008258839A (en) Relay processing method and relay node device
JP2005110019A (en) Serial communication system
JP2004046556A (en) Image area separation method and printing device

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5188620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees