Data processing device, calculation module, data processing method, and program

The data processing device with a ring network allows a single module to handle multiple operations by switching calculations, addressing inefficiencies in existing systems and reducing redundancy.

JP2026044121APending Publication Date: 2026-03-12CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Existing data processing devices require separate modules for operations with slight differences, leading to inefficiencies and the need for redundant modules.

Method used

A data processing device with a ring network connecting modules, allowing a single module to perform multiple operations by switching calculations based on reception IDs, enabling common modules to handle diverse operations.

Benefits of technology

Enables efficient execution of diverse operations using common modules, reducing redundancy and enhancing flexibility in data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026044121000001_ABST
    Figure 2026044121000001_ABST
Patent Text Reader

Abstract

To enable a plurality of operations to be executed in a common module even if the operations are different from one another. [Solution] The system comprises a plurality of modules interconnected by a ring network, and each calculation module comprises: a calculation means for performing calculations based on the data contained in the input packet when the connection ID contained in the input packet from the previous module matches either a single receiving ID or multiple receiving IDs assigned to the module; and a means for transmitting an output packet to the next module, which includes data resulting from the calculation and has as a new connection ID a sending ID that is associated with the receiving ID that matches the connection ID contained in the input packet; and at least one calculation module is assigned multiple receiving IDs, and switches calculations by the calculation means depending on the receiving ID that matches the connection ID included in the input packet.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a data processing device including a plurality of modules interconnected by a ring network, a computing module that can be used in the data processing device, a data processing method performed by the data processing device, and a program for causing a computer to execute the method. [Background technology]

[0002] In order to achieve a series of data processing at high speed and efficiently, a conventional method is to divide a data processing device that performs a series of data processing into multiple modules, and connect the multiple modules in processing order to execute the series of data processing at high speed in a pipelined manner. For example, in image processing using a pipeline, it is sometimes possible to achieve processing efficiently by changing the connection order of the multiple modules.

[0003] For example, when image data that has undergone a predetermined process is output so as to be compatible with an output device that handles a predetermined number of pixels, resolution conversion is performed somewhere in the series of processes to adapt the number of pixels and resolution to the output device. Here, if the number of pixels of the input image data is greater than the number of pixels of the image data to be output to the output device, it is efficient to perform resolution conversion upstream of image processing using a pipeline, thereby reducing the number of pixels before performing image processing.

[0004] On the other hand, if the number of pixels in the input image data is smaller than the number of pixels in the image data to be output to the output device, it is more efficient to perform image processing without resolution conversion while the number of pixels is smaller, and then perform resolution conversion immediately before output (downstream). Also, consider a case where image data is converted into image data in a certain color space and into image data in a standard color space, then image processing is performed on the converted image data, and the image data after image processing is then converted into image data in another color space. Here, the certain color space is, for example, the input device color space. The standard color space is, for example, the CIELAB color space with a resolution of 600 ppi. The other color space is, for example, the output device color space. In this case, the processing order of the color space conversion units on the input and output sides (the order of processing, such as one-dimensional LUT (lookup table), matrix operation, and three-dimensional LUT) is reversed. Therefore, if the connection order of the multiple modules that each perform each operation can be changed, a common module can be used on both the input and output sides.

[0005] However, a configuration in which multiple modules are simply connected in processing order does not allow the connection order of the multiple modules to be changed. Therefore, to deal with the above-described situation, extra modules have been implemented. In other words, multiple modules that perform the same calculation have been implemented. Patent Document 1 discloses a configuration in which the connection order of multiple modules can be essentially changed by changing the data flow settings in a ring network in which multiple modules are connected. This configuration can reduce the number of modules. Furthermore, this configuration not only allows the connection order of multiple modules to be essentially changed, but also allows for control such as branching and merging of data flows and simultaneous execution of multiple data flows to be achieved with a simple configuration. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-282557 Summary of the Invention [Problem to be solved by the invention]

[0007] However, even if a plurality of operations have common parts, if they have even slight differences from one another, it becomes necessary to execute those operations using different modules.

[0008] Therefore, an object of the present disclosure is to enable a common module to execute multiple operations even if the operations are different from one another. [Means for solving the problem]

[0009] One embodiment of the present disclosure is a data processing device having a plurality of modules interconnected by a ring network, the plurality of modules including at least one calculation module, each of the calculation modules including: a calculation means for executing a calculation based on data included in an input packet received from the module of a previous stage when a connection ID included in the input packet matches a single reception ID assigned to the module or any of a plurality of reception IDs assigned to the module; and a means for transmitting a first output packet to the module of a next stage, the first output packet including data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet, the transmission ID being associated with the reception ID that matches the connection ID included in the input packet; and at least one of the calculation modules is assigned a plurality of reception IDs, and the data processing device switches the calculation by the calculation means depending on the reception ID that matches the connection ID included in the input packet. [Effects of the Invention]

[0010] According to the present disclosure, even if multiple operations are different from one another, the operations can be executed in a common module. [Brief explanation of the drawings]

[0011] [Figure 1]Block diagram of a typical digital copier [Figure 2] Functional block diagram showing the configuration of a data processing device [Figure 3] Packet format diagram [Figure 4] Circuit diagram showing the module configuration [Figure 5] Block diagram showing an example of the configuration of a processing unit [Figure 6] Flowchart showing the method performed in each communication unit [Figure 7] Functional block diagram showing the configuration of a data processing device [Figure 8] Functional block diagram showing the configuration of a data processing device [Figure 9] Functional block diagram showing the configuration of a data processing device [Figure 10] Functional block diagram showing the configuration of a data processing device [Figure 11] Functional block diagram showing the configuration of a data processing device [Figure 12] Graph explaining the tables referenced in LUT processing DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the disclosure according to the claims. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the disclosure, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations may be omitted.

[0013] First Embodiment First, the configuration of a digital copier 100 according to this embodiment will be described using the block diagram in Figure 1. While this block diagram uses a digital copier as an example, the contents of this disclosure can also be applied to various other data processing devices that process two-dimensional image data, such as scanners and video display devices. Furthermore, the present disclosure can also be applied to data processing devices that packetize data and perform various processes on the packets.

[0014] A typical digital copying machine comprises a scanner unit, a printer unit, a controller ASIC, a main memory, a communication interface, and a mechanical section. Each of these sections and their internal structure will be described below.

[0015] Reference numeral 101 denotes a processor such as a CPU that controls the entire device.

[0016] A scanner unit 102 optically scans an original to obtain digital image data. It contains a lighting unit and a line sensor (not shown), and transfers the read result as an analog signal in pixel units to a scanner control unit 103 (described later).

[0017] Reference numeral 103 denotes a scanner control unit that controls the scanner unit 102 in response to a signal from the processor 101. The scanner control unit 103 further receives an analog signal output from the scanner unit 102, performs analog-to-digital conversion, and outputs the result as digital image data to a main memory 130, which will be described later.

[0018] Reference numeral 104 denotes a scanner image data processing unit that reads image data stored in the main memory 130 , performs various image processing such as filtering and color space conversion, and writes the results back to the main memory 130 .

[0019] Reference numeral 105 denotes a printer image data processing unit that reads image data stored in the main memory 130, performs various image processing such as color separation (RGB → CMYK conversion) and quantization, and writes the results back to the main memory 130. The scanner image data processing unit 104 and the printer image data processing unit 105 are of the same type in the sense that they perform image processing on a pixel-by-pixel basis, and therefore have similar internal configurations.

[0020] A printer 106 forms a color image by ejecting ink droplets from a print head based on the pixel data quantized by the printer image data processing unit 105 .

[0021] A communication interface 120 receives various data from outside the digital copier 100 .

[0022] A main memory 130 temporarily stores image data, various control data, etc. The main memory 130 is usually configured with a DRAM.

[0023] Reference numeral 150 denotes a common bus for exchanging data between the above modules.

[0024] In this embodiment, various image processes performed in pixel units in the scanner image data processing unit 104 or the printer image data processing unit 105 in the digital copier 100 will be described.

[0025] Either or both of the scanner image data processing unit 104 and the printer image data processing unit 104 has a configuration as shown in FIG. 2 as a data processing device 200.

[0026] The data processing device 200 has a module 211 including an input / output unit 231 and a communication unit 221. Therefore, the module 211 is an input / output module. The data processing device 200 also has a module 212 including a first MTX arithmetic processing unit 232 and a communication unit 222. The data processing device 200 further has a module 213 including a second MTX arithmetic processing unit 233 and a communication unit 223. The data processing device 200 also has a module 214 including a 1DLUT processing unit 234 and a communication unit 224. Therefore, the modules 212 to 214 are arithmetic modules. The multiple modules 211 to 214 are connected to each other by a ring network via the multiple communication units 221 to 224.

[0027] The first MTX arithmetic processing unit 232 is a unit that performs a first matrix operation, and the second MTX arithmetic processing unit 233 is a unit that performs a second matrix operation. The first MTX arithmetic processing unit 232 may be simply referred to as the processing unit 232, and the second MTX arithmetic processing unit 233 may be simply referred to as the processing unit 233. The 1DLUT processing unit 234 may be simply referred to as the processing unit 234.

[0028] · Each communication unit has a receiving ID and a transmitting ID registered in advance. The input / output unit 231 converts image data acquired from the outside into packets of one pixel each, and inputs the packets to the communication unit 221. The packet has the structure shown in Figure 3. The detailed specifications of each packet are the same as those described in Patent Document 1. Field 301 stores a valid flag indicating whether the packet is valid or not ("1" indicates valid, and "0" indicates invalid). Field 302 stores a stall flag indicating whether or not the packet is stalled for reception ("1" indicates that it is stalled, and "0" indicates that it is not stalled). A field 303 is a count value indicating the transmission order (processing order) of the data. A field 304 is a connection ID for identifying a logical connection of data. A field 305 is a flow ID that indicates which of the multiple flows the packet is currently flowing through.

[0029] The data field 306 stores data transferred from the communication unit to the processing unit and from the processing unit to the communication unit. Any data may be stored in the data field 306, but in image processing, it is common to store information representing pixel positions and pixel values. The pixel values ​​of the pixel data included in the data transferred from the communication unit to the processing unit are rewritten with pixel values ​​resulting from processing within the processing unit. Then, data including the rewritten pixel data is transferred from the processing unit to the communication unit.

[0030] At least a part of the data processing device 200 may be configured by a processor that operates according to a program.

[0031] The configuration of the communication units 221 to 224 in this embodiment will be described with reference to Figures 4 and 5. The following describes the communication unit 222 and the processing unit 232 connected to the communication unit 222, but the communication units 221 to 224 have a common configuration.

[0032] 4 is similar to the configuration of the communication unit in Patent Document 1, except for a processing selection signal 426, which will be described later. Furthermore, the operation of the communication unit 222 shown in Fig. 4 is similar to the operation of the communication unit in Patent Document 1, and therefore detailed description of the operation will be omitted.

[0033] Reference numeral 401 denotes a receiving section that processes packets received by the communication unit 222 .

[0034] A buffer 402 temporarily stores packets received by the communication unit 222 .

[0035] A selector 403 selects whether to output the packet received by the communication unit 222 to the next-stage communication unit 223 as is, or to output the packet as a result of processing by the processing unit 232 .

[0036] A transmitting unit 404 processes packets resulting from processing by the processing unit 232 .

[0037] Reference numeral 405 denotes a FIFO that stores an identification signal 423 that indicates which pair of receiving IDs among the multiple pairs of transmitting IDs and receiving IDs held in the communication unit 222 matches the connection ID included in a packet received by the communication unit 222. Therefore, the FIFO 405 holds which receiving ID held in the communication unit 222 the packet transferred to the processing unit 232 corresponds to until processing of the packet by the processing unit 232 is completed.

[0038] 411 is a handshake valid signal when the communication unit 222 transfers a packet to the processing unit 232 .

[0039] 412 is payload data included in the packet that the communication unit 222 transfers to the processing unit 232. This data portion corresponds to the data field 306 in FIG.

[0040] 413 is a stall signal indicating that the processing unit 232 cannot receive a packet.

[0041] 414 is a stall signal indicating that the communication unit 222 cannot receive packets from the processing unit 232.

[0042] 415 is data resulting from processing the payload data 412 by the processing unit 232 .

[0043] Reference numeral 416 denotes a handshake valid signal that becomes valid when the processing unit 232 outputs a packet including the data 415 to the transmitter 404 .

[0044] An input terminal 417 inputs packets from a preceding communication unit, which is the adjacent communication unit on the upstream side in the ring network.

[0045] 418 is a communication line through which packets output from the buffer 402 pass.

[0046] An output terminal 419 outputs packets to the communication unit 223 at the next stage.

[0047] A data capture notification signal 420 notifies whether the capture of a packet into the buffer 402 should be executed or suspended.

[0048] 421 is a signal indicating the valid and stall flags (301, 302 in FIG. 3) in the packet held in the buffer 402 and the connection ID (304 in FIG. 3).

[0049] 423 is an identification signal that outputs, for a plurality of pairs of transmitting IDs and receiving IDs set in the communication unit 222, which pair the packet received by the communication unit 222 corresponds to. In FIG. 4, there are only two pairs of transmitting IDs and receiving IDs. Therefore, the identification signal 423 has a value of "1" when a determination condition for the first receiving ID is met in a first comparison unit 433-1, which will be described later. Here, the determination condition for the first receiving ID is that the connection ID of the packet received by the communication unit 222 matches the first receiving ID.

[0050] 425 is an identification signal output from the FIFO 405.

[0051] Next, the internal configuration of receiving unit 401 will be described.

[0052] 431-1 is a first reception ID register that stores the first reception ID set by the processor 101 in FIG.

[0053] 432-1 is a counter (first reception ID counter) for controlling the order of capturing "reception packets whose connection ID matches the first reception ID" so that it is not changed.

[0054] 433-1 is a first comparison unit. The first comparison unit 433-1 determines whether or not the connection ID in the received packet matches the value of the first received ID stored in the first received ID register 431-1. The first comparison unit 433-1 also determines whether or not the value of the COUNT field (303 in FIG. 3) in the received packet matches the count value of the first received ID counter 432-1. The first comparison unit 433-1 then outputs a signal indicating whether or not the two match simultaneously.

[0055] 431-2, 432-2, and 433-2 are a second received ID register, a second received ID counter, and a second comparator, respectively, which perform the same processing as the first received ID register 431-1, the first received ID counter 432-1, and the first comparator 433-1 for the second received ID set by the processor 101 in FIG.

[0056] If three or more receive IDs are set, simply increase the number of receive ID registers, receive ID counters, and comparison units accordingly. If multiple receive ID registers are set to values ​​other than 0, different receive ID values ​​must be set for those registers. Note that the connection ID in a received packet is never 0, so if the receive ID register is set to 0, comparison is always disabled.

[0057] Reference numeral 434 denotes a determination unit that determines whether the processing unit 232 has successfully captured data based on a packet determination signal, which is the output of one comparator for each reception ID, and a stall signal 413 from the processing unit 232. If it is determined that data has been captured, the determination result is notified to the buffer 402 as a data capture notification signal 420. If it is determined that data has been captured, the valid field (301 in FIG. 3) of the packet in the buffer 402 is set to 0, thereby invalidating the packet in the buffer 402. However, this invalidation function may be turned off by a setting from the processor 101. If this invalidation function is turned off, a packet received by the communication unit 222 and whose connection ID matches any of the reception IDs is sent to the processing unit 232 and also to the communication unit 223 in the next stage. In other words, if this invalidation function is turned off, the flow branches. Processing using flow branching will be described later with reference to FIG. 9.

[0058] Reference numeral 435 denotes a logical OR circuit that takes the logical sum of the comparison results of the multiple comparison units 433. When a match is obtained in any of the multiple comparison units 433, the logical value of the output of the logical OR circuit 435 becomes 1, and the output of the logical OR circuit 435 becomes the handshake valid signal 411 with the processing unit 232 as is.

[0059] Next, the internal configuration of the transmission unit 404 will be described.

[0060] 441-1 is a first transmission ID register that stores a first transmission ID set by the processor 101 in Fig. 5. The first transmission ID is associated with the first reception ID.

[0061] 442-1 is a first ID counter for counting the count value in the transmission packet so that the output order of the "packet in which the connection ID in the transmission packet is overwritten with the first transmission ID" is not changed.

[0062] 443-1 is a third comparison unit that performs processing according to the valid / stall flag (301 and 302 in Figure 3) and connection ID value (304 in Figure 3) of the packet in buffer 402 and the transmission ID value set in the first transmission ID register 441-1.

[0063] When the valid flag and the stall flag are valid, the third comparison unit 443-1 outputs 1 to the logical product circuit 447, which will be described later.

[0064] When the valid flag is enabled and the stall flag is disabled, the third comparator 443 compares the connection ID value in the packet with the transmission ID value set in the first transmission ID register 441-1. If the two match (= the packet transmitted by the third comparator 443), the third comparator 443 outputs 0 to the logical product circuit 447, and if they do not match, the third comparator 443 outputs 1 to the logical product circuit 447.

[0065] The third comparison unit 443-1 outputs 0 to the logical product circuit 447 when the valid flag is invalid.

[0066] 441-2, 442-2, and 443-2 are a second transmission ID register, a second ID counter, and a fourth comparator, respectively. These execute the same processes as the first transmission ID register 441-1, the first ID counter 442-1, and the third comparator 443-1 for the second reception ID set by the processor 101 in Fig. 5. The second transmission ID is associated with the second reception ID.

[0067] When three or more sets of transmission and reception IDs are set, similar to the receiving unit 401, the transmission ID register, ID counter, and comparison unit may be increased accordingly.

[0068] Reference numeral 444 denotes a packet generator. The packet generator 444 enables the valid flag and disables the stall flag for the output data 415 of the processing unit 232. The packet generator 444 also overwrites the connection ID field 304 and the COUNT field 303 in the packet with the transmission ID and counter value selected by selectors 445 and 446, respectively. Then, the packet generator 444 controls the selector 403 to send the output packet from the output terminal 419 to the communication unit 222 at the next stage.

[0069] A selector 445 selects a transmission ID to be set in the connection ID field 304 of a transmission packet in accordance with the signal output from FIFO 405. If the connection ID of the input packet matches the first reception ID, selector 445 selects the first transmission ID. If the connection ID of the input packet matches the second reception ID, selector 445 selects the second transmission ID.

[0070] A selector 446 selects the count value to be set in the COUNT field 303 of the transmission packet in accordance with the signal output from the FIFO 405. The selector 446 selects the count value of the first counter 442-1 when the connection ID of the input packet matches the first reception ID. The selector 445 selects the count value of the second counter 442-2 when the connection ID of the input packet matches the second reception ID.

[0071] Reference numeral 447 denotes a logical product circuit that generates, by logical product (AND), a stall signal 414 that stalls the packet output handshake of the processing unit 232 based on the comparison results of the plurality of comparison sections 443-1 and 443-2.

[0072] 426 is a processing selection signal that is not included in Patent Document 1 and is added in this disclosure.

[0073] The processing selection signal 426 is a signal for informing the processing unit 232 of which of the multiple receiving IDs registered in the communication unit 222 the connection ID of the packet received by the communication unit 222 matches. In this embodiment, the processing selection signal 426 is generated by logically inverting the identification signal 423. Therefore, the logical value of the processing selection signal 426 is "0" when the connection ID in the received packet matches the first receiving ID, and "1" when it matches the second receiving ID. However, any form may be used as long as it can distinguish between the two cases. Note that if three or more pairs of transmitting and receiving IDs are set, the processing selection signal 426 needs to have enough bits to identify which of the pairs it is.

[0074] 4 may be configured by a processor that operates on a program. In such a case, module 213 can be considered to be a computer. The same applies to the other modules 211, 212, and 214.

[0075] Next, the internal configuration of the processing unit 232 in this disclosure will be described with reference to FIG.

[0076] The processing unit 232 in the present disclosure can perform any one of a plurality of mutually different processes selected based on a processing selection signal 426 output from the communication unit 222. In other words, the processing unit 232 can switch between processes in accordance with the processing selection signal 426. It is desirable that the plurality of mutually different processes can share hardware resources to some extent. Here, the processing unit 232 is shown to have a configuration that can perform a plurality of matrix operation processes with mutually different coefficients as the plurality of mutually different processes. However, this is not limited thereto, and the plurality of mutually different processes may also include a plurality of mutually different LUT processes (interpolation processes using a lookup table), a plurality of mutually different filter processes, a plurality of mutually different scaling processes, etc.

[0077] In FIG. 5, the signals labeled 411, 412, 413, 414, 415, 416, and 426 are the same as the signals labeled with the same numbers in FIG.

[0078] Reference numeral 501 denotes a sequencer that controls the overall operation of the processing unit 232 and the input / output handshake operation between the processing unit 232 and the communication unit 222 .

[0079] Reference numeral 502 denotes an input buffer that temporarily stores the data field 306 of the packet input from the communication unit 222 under the control of the sequencer 501 .

[0080] Reference numeral 503 denotes a product-sum operation unit that performs a matrix operation using pixel values ​​of each image data included in the data field 306 stored in the input buffer 502 and coefficient values ​​selected by a coefficient selector 520 (to be described later).

[0081] An output buffer 504 temporarily stores the results of the matrix calculation performed by the product-sum calculation unit 503 .

[0082] Reference numerals 510 and 511 denote a first coefficient register and a second coefficient register, respectively, for storing matrix operation coefficient values ​​used in the product-sum operation unit 503 according to the value of the processing selection signal 426 .

[0083] A coefficient selector 520 selects either the matrix operation coefficient values ​​stored in the first coefficient register 510 or the matrix operation coefficient values ​​stored in the second coefficient register 511 based on the processing selection signal 426. When the value of the identification signal is “0”, the matrix operation coefficient values ​​stored in the first coefficient register 510 are selected by the coefficient selector 220, and when the value of the identification signal is “1”, the matrix operation coefficient values ​​stored in the second coefficient register 511 are selected and input to the product-sum calculation unit 503.

[0084] By adopting such a configuration, the processing unit 232 can selectively execute one of a plurality of matrix operation processes using mutually different coefficients, depending on the value of the processing selection signal 426.

[0085] At least some of the components of the processing unit (first MTX arithmetic processing unit) 232 shown in Fig. 5 may be configured by a processor that operates using a program. In such a case, the processing unit 232 can also be considered to be a computer. The same applies to processing units with other configurations (for example, an LUT processing unit).

[0086] FIG. 6 is a flowchart showing the internal operation of the communication units 221 to 224 in this embodiment. A first receiving ID, a first transmitting ID, a second receiving ID, and a second transmitting ID are set in advance in each communication unit. Here, the first receiving ID, the first transmitting ID, the second receiving ID, and the second transmitting ID set in different communication units are represented by the same symbol, but generally, the values ​​will be different if the communication units are different. In the following explanation, it is assumed that the main operator is the communication unit 222 or the processing unit 232. The other communication units, communication units 223 to 224, also operate in the same way as the communication unit 222. The other processing units, processing units 233 to 234, also operate in the same way as the processing unit 232.

[0087] In step S601, the communication unit 222 receives a packet from the communication unit 221 at the previous stage in the ring network, and the process proceeds to step S602.

[0088] In step S602, the communication unit 222 extracts the connection ID of the received packet from the connection ID field 304 of the packet, and proceeds to step S603A.

[0089] In step S603A, the communication unit 222 compares the connection ID with the first receiving ID set in the communication unit 222. If the connection ID and the first receiving ID match, the communication unit 222 proceeds to step S604A, and if they do not match, the communication unit 222 proceeds to step S603B.

[0090] In step S604A, the communication unit 222 transfers the packet received in S601 to the processing unit 232 connected to the communication unit 222. At this time, the signal value of the processing selection signal 426 becomes "0." The processing unit 232 selects coefficient values ​​corresponding to the processing selection signal "0" and performs a matrix operation.

[0091] In step S605A, the communication unit 222 waits for the result of processing by the processing unit 232 on the packet.

[0092] In step S606A, the communication unit 222 receives a packet output as a processing result from the processing unit 232. The packet received from the processing unit 232 contains data resulting from arithmetic processing performed by the processing unit 232 on the data contained in the packet sent to the processing unit 232 in accordance with the processing selection signal "0".

[0093] In step S607A, the communication unit 222 overwrites the connection ID field of the output packet of the processing unit 232 with the first sending ID of the communication unit 222, and the process proceeds to step S608.

[0094] In step S603B, the communication unit 222 compares the connection ID with the second receiving ID set in the communication unit 222. If the connection ID and the second receiving ID match, the communication unit 222 proceeds to step S604B, and if they do not match, the communication unit 222 proceeds to step S608.

[0095] In step S604B, the communication unit 222 transfers the packet received in S601 to the processing unit 232 connected to the communication unit 222. At this time, the signal value of the processing selection signal 426 becomes "1." The processing unit 232 selects coefficient values ​​corresponding to the processing selection signal "1" and performs a matrix operation.

[0096] In step S605B, the communication unit 222 waits for the result of processing by the processing unit 232 on the packet.

[0097] In step S606B, the communication unit 222 receives a packet output as a processing result from the processing unit 232. The packet received from the processing unit 232 contains data resulting from arithmetic processing performed by the processing unit 232 on the data contained in the packet sent to the processing unit 232 in accordance with the processing selection signal "1."

[0098] In step S607B, the communication unit 222 overwrites the connection ID field of the output packet of the processing unit 232 with the value of the second transmission ID of the communication unit 222, and the process proceeds to step S608.

[0099] In step S608, the communication unit 222 outputs the packet to the communication unit 223 at the subsequent stage.

[0100] Here, if the step before step S608 is S607A or S607B, the connection ID of the output packet is the first transmission ID or second transmission ID of the processing unit 222. If the step before step S608 is S603B, the connection ID of the output packet is the same as the connection ID of the packet received from the communication unit 221 at the previous stage.

[0101] Furthermore, if the step preceding step S608 is S607A or S607B, the processing result by processing unit 232 is stored in data field 306 of the output packet. If the step preceding step S608 is S603B, the content of data field 306 of the output packet is the same as the content of data field 306 of the packet received from communication unit 221 at the previous stage.

[0102] If there are three or more pairs of transmission and reception IDs to be identified, this can be handled by increasing the number of steps S603x to S607x (x=c, d, e, . . . ) accordingly.

[0103] In a data processing device 200 having the configuration of Figure 2, a first receiving ID (receiving ID1), a first transmitting ID (transmitting ID1), a second receiving ID (receiving ID2), and a second transmitting ID (transmitting ID2) are registered in each communication unit 221 to 224 as shown below.

[0104] Communications Unit 221: Receive ID1=9, Send ID1=1, Receive ID2=Send ID2=0 Communications unit 222: Receive ID1=1, Send ID1=2, Receive ID2=Send ID2=0 Communications Unit 223: Receive ID1=3, Send ID1=9, Receive ID2=Send ID2=0 Communications unit 224: Receive ID1=2, Send ID1=3, Receive ID2=Send ID2=0 2, the pair of the first receiving ID and the first transmitting ID, and the pair of the second receiving ID and the second transmitting ID in each communication unit are represented by two (rx / tx). For example, for communication unit 223, the pair of the first receiving ID and the first transmitting ID, and the pair of the second receiving ID and the second transmitting ID are represented by (r3 / s9) and (r0 / s0).

[0105] Note that the setting of reception ID2=transmission ID2=0 here is ignored in the series of operations, because the first transmission ID=1 in the communication unit 221 is set as the connection ID field 304 of a packet input from outside to the communication unit 221, and 0 is never written in the connection ID field of the packet in subsequent processing.

[0106] In this case, the packet flow is as shown in Figure 7. That is, the packets flow according to the dotted arrows in Figure 7. Therefore, if we focus only on the processing units, the packets flow through processing unit (first MTX arithmetic processing unit) 232, processing unit (1DLUT processing unit) 234, and processing unit (second MTX arithmetic processing unit) 233 in that order.

[0107] As described above, it is possible to set desired first receiving ID and first transmitting ID values ​​for each communication unit, which allows the processing of input packets in each processing unit to be arranged in any order, regardless of the order in which the processing units are connected, as long as the input packet is processed at most once in each processing unit.

[0108] Furthermore, in any of the communication units 221 to 224 in the processing unit, which also has the structure of Figure 2, the following processes (α) and (β) are further performed. Furthermore, the input / output unit 231 performs the process (γ). These processes (α), (β), and (γ) allow the processing flow for the packet to branch, and it is possible to obtain results obtained by performing different processes on the same pixel value input.

[0109] (α) When the connection ID of a received packet matches the first receiving ID set in the communication unit, the communication unit executes process (α) based on the packet. Process (α) includes the following two processes:

[0110] The first process is a process of generating a first output packet and transmitting it to a next-stage communication unit. The first packet includes data obtained by performing an operation in a processing unit connected to the communication unit based on data included in the received input packet. Furthermore, a transmission ID corresponding to a reception ID that matches the connection ID included in the input packet is used as the connection ID of the first packet. Furthermore, the flow ID of the input packet is used as the flow ID of the first output packet. Therefore, the flow ID of the first output packet is 0, the same as the flow ID of the received packet.

[0111] The second process is a process of generating a second output packet and transmitting it to the next-stage communication unit. The second output packet contains the data contained in the input packet as is. The connection ID of the input packet is used as the connection ID of the second output packet as is. Furthermore, a flow ID different from the flow ID of the input packet is used as the flow ID of the second output packet. For example, if the flow ID of the received packet is 0, the flow ID of the second output packet is 1.

[0112] Therefore, the above two processes cause the packet flow to branch into two.

[0113] In the case where flow branching is not allowed, if the connection ID of a packet received by a communication unit matches the receiving ID of the communication unit, the communication unit sends the packet only to the processing unit connected to it. An example of a case where flow branching is not allowed is when the connection ID of a received packet matches the second receiving ID set in the communication unit. However, there are also cases where flow branching is allowed even when the connection ID of a received packet matches the second receiving ID set in the communication unit.

[0114] Furthermore, if the connection ID of a packet received by a communication unit does not match any of the reception IDs of the communication units, the communication unit simply sends the packet to the next communication unit, and the packet flow does not branch.

[0115] (β) If the connection ID of a packet received by a communication unit is equal to the transmission ID set in that communication unit, that packet was output by that communication unit. Therefore, the valid field 301 of that packet is set to 0 (invalid) and the packet is deleted. If this process is not performed, the same packet will multiply infinitely as the packet circulates around the ring network.

[0116] (γ) The input / output unit 231 references the flow ID of the received packet, and outputs the data contained in the received packet to a different address in the main memory 130 according to the value of the flow ID.

[0117] Therefore, the data of the packets whose flow IDs have been rewritten from 0 to 1 in the process (α) and the data of the packets whose flow IDs have not been rewritten from 0 to 1 are output to different addresses in the main memory 130.

[0118] Note that the flow ID of the first output packet and the flow ID of the second output packet may be interchanged as long as there is a correspondence between the flow ID and different addresses in the main memory 130. In other words, a flow ID different from the flow ID of the input packet may be used as the flow ID of the first output packet, and the flow ID of the input packet may be used as the flow ID of the second output packet as is. Furthermore, it is only necessary that the flow ID of the first output packet and the flow ID of the second output packet are different from each other, and for example, the respective values ​​may be 2 and 3.

[0119] Here, a first receiving ID (receiving ID1), a first transmitting ID (transmitting ID1), a second receiving ID (receiving ID2), and a second transmitting ID (transmitting ID2) are registered in advance in each communication unit as follows. Also, the processing of (α) and (β) is performed by the communication unit 223. An example of the packet flow in this case is shown in FIG. 8. In the data processing device 200 shown in FIG. 8, the module including the communication unit 221 and the input / output unit 231 is an input / output module. The module including the communication unit 222 and the processing unit 232 is a calculation module. The module including the communication unit 223 and the processing unit 233 is a calculation module. The module including the communication unit 224 and the processing unit 234 is a calculation module.

[0120] Communications Unit 221: Receive ID1=9, Send ID1=1, Receive ID2=Send ID2=0 Communications unit 222: Receive ID1=1, Send ID1=2, Receive ID2=Send ID2=0 Communications Unit 223: Receive ID1=2, Send ID1=9, Receive ID2=Send ID2=0 Communications unit 224: Receive ID1=2, Send ID1=9, Receive ID2=Send ID2=0 In the figure, the dotted arrows indicate the path of each packet, and the numbers in brackets next to each dotted arrow indicate the connection ID value in the packet at that point in time.

[0121] Here, the same input pixel is [A] Input → 1st MTX calculation processing → 2nd MTX calculation processing → Output [B] Input → 1st MTX calculation processing → 1D LUT → Output The image output of each of the two processes can be obtained at the same time.

[0122] Furthermore, Patent Document 1 discloses a technology that enables data processing devices having the same structure to perform the same processing on packets of each flow after the data flow branches. The operation in this case will be described.

[0123] Here, by changing a part of the processing unit having the structure of FIG. 8, for the same input pixel, [C] Input → 1st MTX calculation processing → 1D LUT → 2nd MTX calculation processing → Output [D] Input → 1st MTX calculation processing → 2nd MTX calculation processing → Output The following two processing flows are performed.

[0124] As shown in Fig. 9, a first receiving ID (receiving ID1), a first transmitting ID (transmitting ID1), a second receiving ID (receiving ID2), and a second transmitting ID (transmitting ID2) are registered in advance in each communication unit as follows. In the data processing device 200 shown in Fig. 9, a module including a communication unit 221 and an input / output unit 231 is an input / output module. A module including a communication unit 222 and a processing unit 232 is an arithmetic module. A module including a communication unit 223 and a processing unit 233 is an arithmetic module. A module including a communication unit 224 and a processing unit 234 is an arithmetic module.

[0125] Communications Unit 221: Receive ID1=9, Send ID1=1, Receive ID2=0, Send ID2=0 Communications unit 222: Receive ID1=1, Send ID1=2, Receive ID2=0, Send ID2=0 Communications Unit 223: Receive ID1=2, Send ID1=9, Receive ID2=3, Send ID2=9 Communications unit 224: Receive ID1=2, Send ID1=3, Receive ID2=0, Send ID2=0 Compared with the receiving ID1 / 2 and sending ID1 / 2 registered in each communication unit shown in Fig. 8, the receiving ID1 / 2 and sending ID1 / 2 registered in communication unit 223 are partially different. Specifically, in the configuration shown in Fig. 8, Communications Unit 223: Receive ID1=2, Send ID1=9, Receive ID2=Send ID2=0 On the other hand, in the configuration shown in FIG. Communications Unit 223: Receive ID1=2, Send ID1=9, Receive ID2=3, Send ID2=9 is.

[0126] Also, the receiving ID1 / 2 and the sending ID1 / 2 registered in the communication unit 224 are different. Specifically, in the configuration shown in FIG. Communications unit 224: First receiving ID=2, first sending ID=9, receiving ID2=sending ID2=0 On the other hand, in the configuration shown in FIG. Communications unit 224: First receiving ID=2, first sending ID=3, receiving ID2=0, sending ID2=0 is.

[0127] The packet received by the communication unit 223 shown in Fig. 9 has a connection ID of 2, which is the same as the first reception ID of the communication unit 223. Therefore, like the packet received by the communication unit 223 shown in Fig. 8, this packet branches into a packet that is processed by the processing unit 233 and a packet that is not processed. The packet that is not processed by the processing unit 233 has a connection ID of 2, and is therefore sent to the communication unit 224, as in Fig. 8. The packet processed by the processing unit 233 is Communications Unit 223: Receiving ID1=2, Sending ID1=9, Since the connection ID is rewritten to 9 according to [D], the packet is transferred to the input / output unit 231 by the communication unit 221, which has 9 as the receiving ID, and then output to the main memory 130. Furthermore, since the flow ID of the packet processed by the processing unit 233 remains 0, it is written to the corresponding area of ​​the output image B in the main memory 130. This packet has passed through the processing flow [D].

[0128] The flow ID of the packet that was not processed by the processing unit 233 and was sent to the communication unit 224 is rewritten to 1. After this packet is processed by the processing unit 234, Communications unit 224: Receive ID1=2, Send ID1=3, The packet is sent with the connection ID rewritten to 3 according to the following: Communications Unit 223: Receive ID1=2, Send ID1=9, Receive ID2=3, Send ID2=9 That is, the communication unit 223 has 2 as the first reception ID and 9 as the second reception ID. The connection ID of this packet is 3, which does not match the first reception ID of the communication unit 223, 2, so no branching occurs. The connection ID of this packet is 3, which matches the second reception ID of the communication unit 223, 3, so this packet passes through the communication unit 223 and is processed by the processing unit 233. Then, the packet after processing is Communications Unit 223: Receive ID1=2, Send ID1=9, , the connection ID is rewritten to 9, and the packet is transferred to the input / output unit 231 by the communication unit 221 having 9 as the connection ID, and then output to the main memory 130. Furthermore, the packet processed by the processing unit 233 has its flow ID rewritten to 1 since it was first output from the communication unit 223, and is therefore written to the corresponding area of ​​the output image A in the main memory 130. This packet has passed through the processing flow [C].

[0129] In this case, the same processing unit (second MTX arithmetic processing unit) 233 is used for processing flow [C] and processing flow [D]. Therefore, it is important to note that while processing unit 233 is processing one flow, it cannot process the other flow. In such a case, it is necessary for each communication unit to control the operation of each packet using the valid field 301 and stall field 302 in the packet. For details of this control, see Patent Document 1.

[0130] In the configuration of Patent Document 1, when multiple pairs of receiving IDs and transmitting IDs are registered in a communication unit, the communication unit can distinguish between branches of flows based on the flow ID in the packet. However, in the configuration of Patent Document 1, information about the connection ID of the received packet is not transmitted to the processing unit connected to the communication unit, so processing cannot be changed depending on the flow. In contrast, in the present disclosure, information about the connection ID of the received packet is transmitted from the communication unit to the processing unit together with the packet as a processing selection signal 426, and the processing unit switches processing depending on the value of the processing selection signal 426. This makes it possible to perform different processing in the same processing unit for the same flow, or to change the processing content within the same processing unit after a flow branches.

[0131] The value of the processing selection signal referred to here may be any value that can identify the receiving ID that matches the connection ID when the connection ID matches any of the receiving IDs. Regardless of the number of pairs of receiving IDs and sending IDs, the value of the receiving ID may be used as the value of the processing selection signal. Alternatively, the value of the processing selection signal may be 0 when the connection ID matches the first receiving ID, and 1 when the connection ID matches the second receiving ID. In this embodiment, the latter is adopted.

[0132] Generally, when a series of image processes is performed to obtain an output image based on an input image, it is sometimes necessary to execute processes using the same algorithm multiple times. The same algorithm can be the aforementioned one-dimensional LUT, matrix operation, three-dimensional LUT, or resolution conversion process. For example, it is sometimes necessary to execute processes using matrix operation multiple times to obtain an output image based on an input image.

[0133] For example, to change only the luminance of RGB pixel values, the following three-stage processing is required.

[0134] [E] Convert RGB to YCbCr color space. [F] Apply a one-dimensional LUT to only Y of YCbCr. [G] Convert the converted YCbCr pixel values ​​back to the RGB color space.

[0135] Of these, [E] and [G] are processed using the same algorithm, although the calculation coefficients are different.

[0136] 2, the data passes through the first MTX arithmetic processing unit 232, the 1D-LUT processing unit 234, and the second MTX arithmetic processing unit 233 in this order. As such, two MTX arithmetic processing units are required. This is because, although the same MTX arithmetic processing is performed for [E] and [G], the arithmetic coefficients are different. Communication units 221 to 224 are configured accordingly.

[0137] When the number of bits representing a pixel value is large, the circuit scale of the multiplication circuit becomes relatively large. Therefore, if the same hardware can perform matrix calculation processing multiple times, there is a significant cost advantage in terms of the circuit.

[0138] For example, in hardware having the structure shown in FIG. 10 , excluding the second MTX arithmetic processing unit 233 and its associated communication unit 223 from FIG. 2 , the communication unit 222 associated with the first MTX arithmetic processing unit 232 can be given the structure shown in Patent Document 1. This makes it possible to perform processing in the order of the first MTX arithmetic processing unit 232 → one-dimensional LUT processing unit 234 → first MTX arithmetic processing unit 232. However, if the communication unit 222 in this configuration has the structure shown in Patent Document 1, it is not possible to distinguish whether a packet containing pixel values ​​input to the first MTX arithmetic processing unit 232 is before or after one-dimensional LUT processing. Therefore, if the communication unit 222 has the structure shown in Patent Document 1, it is not possible to switch the MTX arithmetic coefficients within the first MTX arithmetic processing unit 232 according to this distinction.

[0139] However, in this embodiment, as described above, the processing selection signal 426 is introduced. The processing selection signal 426 has information indicating which of the multiple receiving IDs prepared in the communication unit 222 the connection ID matches. Therefore, based on the information contained in the processing selection signal 426, it becomes possible to distinguish whether the packet storing the pixel values ​​input to the first MTX arithmetic processing unit 232 is before or after one-dimensional LUT processing.

[0140] The flow of packets in this case will be explained using Figure 11. In the data processing device 200 shown in Figure 11, the module including the communication unit 221 and the input / output unit 231 is an input / output module. The module including the communication unit 222 and the processing unit 232 is an arithmetic module. The module including the communication unit 224 and the processing unit 234 is an arithmetic module.

[0141] The dotted arrows indicate the packet flow. The values ​​in brackets [ ] at each point on the arrows indicate the connection ID values ​​in the packets at each stage.

[0142] Here, flow branching as in Patent Document 1 is not performed, and therefore flow IDs are omitted. However, even when flow branching is performed, the connection ID values ​​in packets in each branched flow are different for each flow, and therefore, by applying the configuration or method of the present disclosure, it is possible to perform different processing for each branched flow in the same processing unit.

[0143] [1] A first receiving ID (receiving ID1), a first transmitting ID (transmitting ID1), a second receiving ID (receiving ID2), and a second transmitting ID (transmitting ID2) are registered in advance in each communication unit as follows:

[0144] Communications Unit 221: Receive ID1=9, Send ID1=1, Receive ID2=0, Send ID2=0 Communications unit 222: Receive ID1=1, Send ID1=2, Receive ID2=3, Send ID2=9 Communications unit 224: Receive ID1=2, Send ID1=3, Receive ID2=0, Send ID2=0 Furthermore, a first coefficient register 510 in the first MTX arithmetic processing unit 232 stores matrix operation coefficients for converting the RGB color space into the YCbCr color space, and a second coefficient register 511 stores matrix operation coefficients for converting the YCbCr color space into the RGB color space.

[0145] [2] The input / output unit 231 inputs each pixel in the input image from the outside.

[0146] [3] The input / output unit 231 sends the pixel value of each input pixel to the communication unit 221 as a packet.

[0147] [4] The communication unit 221 processes the packet received from the input / output unit 231 and sends it to the next-stage communication unit 222. The pixel value and pixel position information are written in the data field 306 of the transmitted packet, and the first transmission ID (=1) set in the communication unit 221 itself is written in the connection ID field 304.

[0148] [5] The communication unit 222 compares the value of the connection ID field of the packet received from the preceding communication unit 221 with the first reception ID1 of 1 set for itself (S603A). Here, the comparison result indicates a match, so the received packet is sent to the first MTX arithmetic processing unit 232 connected to the communication unit 222.

[0149] Furthermore, the communication unit 222 sets the value of the processing selection signal 426 to "0" because the connection ID matches the first received ID and not the second received ID.

[0150] [6] The first MTX arithmetic processing unit 232 performs matrix arithmetic processing on the input packet. Because the value of the processing selection signal 426 is “0,” the coefficient selector 520 selects the setting value of the first coefficient register 510, i.e., the coefficient value for RGB → YCbCr conversion.

[0151] The first MTX arithmetic processing unit 232 extracts the pixel values ​​of the input pixels from the packet as RGB values, and converts them to the YCbCr color space using a known matrix operation algorithm, using coefficient values ​​for RGB → YCbCr conversion. The first MTX arithmetic processing unit 232 then overwrites the data field 306 of the packet with the results, and returns the packet to the communication unit 222.

[0152] [7] The communication unit 222 overwrites the connection ID field 304 of the packet received from the first MTX arithmetic processing unit 232 with the first transmission ID = 2 set for itself, and transmits the packet to the next communication unit 224.

[0153] [8] The communication unit 224 that received the packet compares the connection ID in the packet with its own first received ID, as in [5] (S603A). Here, the comparison result indicates a match, so the packet is sent to the 1DLUT processing unit 234.

[0154] [9] The 1DLUT processing unit 234 performs 1D-LUT processing on the received packet. That is, the 1DLUT processing unit 234 extracts the pixel values ​​resulting from the conversion in [6] as YCbCr values ​​from the data field of the packet, and performs 1D-LUT processing on only Y using a known method. The 1DLUT processing unit 234 then overwrites the Y portion of the data field 446 of the packet with the result and returns the packet to the communication unit 224. Cb and Cr are not overwritten.

[0155]

[10] In the communication unit 224, as in [7], the first transmission ID=3 set in itself is overwritten in the connection ID field of the packet, and the packet is sent to the communication unit 221 in the next stage.

[0156]

[11] Since the connection ID=3 of the received packet does not match either its own first receiving ID=9 or second receiving ID=0, the communication unit 221 sends the packet as is to the next-stage communication unit 222.

[0157]

[12] Because the connection ID=3 in the received packet matches its own second receive ID=3, the communication unit 222 sends the packet to the first MTX arithmetic processing unit 232. Since the receive ID that matches the connection ID is the second receive ID, the value of the processing selection signal 426 at this time becomes “1.”

[0158]

[13] The first MTX arithmetic processing unit 232 performs matrix arithmetic processing on the input packet. Because the value of the processing selection signal 426 is "1," the coefficient selector 520 selects the setting value of the second coefficient register 511, i.e., the coefficient value for YCbCr → RGB conversion. The first MTX arithmetic processing unit 232 extracts the input pixel values ​​from the packet as YCbCr values ​​and converts them to RGB color space by matrix calculation using the coefficient values ​​for YCbCr → RGB conversion and the product-sum operation unit 503. The first MTX arithmetic processing unit 232 then overwrites the result in the data field of the packet and returns the packet to the communication unit 222.

[0159]

[14] In the communication unit 222, for the packet received from the first MTX arithmetic processing unit 232, the connection ID field 304 is overwritten with its own second transmission ID = 9 (corresponding to the second reception ID in

[12] ) and sent to the next communication unit 224.

[0160]

[15] Since the connection ID=9 of the packet does not match either its own first receiving ID=2 or second receiving ID=0, the communication unit 224 sends the packet as is to the next-stage communication unit 221.

[0161]

[16] The communication unit 221 receives the packet and sends it to the input / output unit 231 because the connection ID=9 of the packet matches its own first receiving ID=9.

[0162]

[17] The input / output unit 231 extracts the pixel value of the processing result as an RGB value from the data field 306 of the packet received from the communication unit 221, and outputs it from the output terminal.

[0163] As described above, in this embodiment, one calculation module can perform different calculations depending on the reception ID that matches the connection ID of the packet. Therefore, by assigning an appropriate connection ID to the packet according to the processing order, one calculation module can perform different calculations depending on the processing order. Therefore, for at least some of the multiple processes, there is no need to provide a separate calculation module for each process, which reduces the circuit scale of the data processing device and reduces manufacturing costs.

[0164] <Second embodiment> In the first embodiment, a configuration in which matrix calculations are performed using different coefficients in the same processing unit connected to the same communication unit is shown as an example. However, the present invention is not limited to this, and the same processing unit can also perform N-dimensional LUT processing using different lookup tables or filter processing using different coefficients.

[0165] When performing LUT processing, for example, types of table data corresponding to the number identified by processing selection signal 426 (number of received IDs) are stored in advance, and the table data is switched according to processing selection signal 426. If the size of one table data is constant regardless of the value of the number n of received IDs, the total size of the table is proportional to n.

[0166] When performing filter processing, in addition to a filter coefficient set for each reception ID, it is necessary to have delay buffers for saving past input data for filter processing, the number of which is identified by the processing selection signal 426. Therefore, for example, if the number of reception IDs is two, it is necessary to double the delay buffer size. In this case, both the delay buffer and the filter coefficient set are switched according to the processing selection signal 426.

[0167] As described above, in this embodiment, the parameters required for individual image processing, such as matrix calculations, 1D / 3D-LUT, and filter processing, can be changed according to the receiving ID that matches the connection ID. This, unlike Patent Document 1, not only can the order of individual processes be changed, but also a processing flow can be realized in which the same processing unit is used multiple times in any order. This means that the flexibility of the series of processing contents within the scanner image data processing unit 104 or printer image data processing unit 105 can be greatly improved.

[0168] <Third embodiment> In the third embodiment, the total size of the table used in LUT processing is reduced by performing the following interpolation process. For the interpolation process, table values ​​are provided only for some quantized grid points, as shown in FIG. 12(a) , by dividing the input value into equal intervals. In other words, a table is prepared only for the grid points. For input values ​​with fractions (i.e., input values ​​that do not match a grid point), two table values ​​corresponding to two grid points sandwiching an adjacent interval containing the input value are obtained. Then, an output value corresponding to the input value is calculated based on the two table values. In the example of FIG. 12(a) , the output value corresponding to the input value is calculated by linearly interpolating the two table values ​​corresponding to two grid points (128 and 192). This eliminates the need for table values ​​corresponding to all input pixel values, thereby reducing the total table size. In the example of FIG. 12(a) , the grid point interval is 64, so the table size can be reduced to approximately 1 / 64 of the size required when preparing tables for all input values.

[0169] Here, the table size required for LUT processing is proportional to the total number of grid points, so the required table size can be adjusted by changing the interval distance that separates the input values. This is explained using Figures 12(b) and 12(c).

[0170] If the input value is 8 bits (0 to 255), and the input value is divided into 64 parts as shown in Figure 12(a), then five grid points are required, meaning the table must be large enough to store five different values. Similarly, if the input value is divided into 32 parts, then nine grid points are required, as shown in Figure 12(b).

[0171] As described in the second embodiment, it is assumed that different LUT processing is performed according to the processing selection signal 426. If the distance between lattice points is constant, a table size proportional to the number identified by the processing selection signal 426 is required. If the distance between lattice points is adjusted according to the number identified by the processing selection signal 426, the total table size can also be adjusted.

[0172] Fig. 12(c) shows the lattice point positions and table values ​​when there are two types of tables corresponding to the first received ID and the second received ID, with the distance between lattice points set to 64. Here, the total number of lattice points in the two types of tables is 5 x 2 = 10, which is close to the number of 9 lattice points required when the distance between lattice points is 32, as shown in Fig. 12(b).

[0173] In this way, even if the number of tables used in the processing unit that performs LUT processing increases in accordance with the number identified by the processing selection signal 426, an increase in the total size of the tables can be suppressed by lengthening the distance between lattice points in accordance with the number identified by the processing selection signal 426. Note that even if the distance between lattice points is changed, the circuit resources required for the interpolation calculation remain approximately the same. In particular, even if the distance between lattice points is changed, if the value of the distance between lattice points is a common power of 2, the degree to which the circuit resources required for the interpolation calculation remain the same is high.

[0174] That is, by increasing the distance between lattice points in accordance with an increase in the number of points identified by the processing selection signal 426, it is possible to avoid an increase in the circuit scale, although the calculation accuracy of the LUT processing will decrease to some extent.

[0175] <Other embodiments> In the above embodiment, it has been explained that the communication unit may be modified to perform the process (α) when the connection ID of the received packet matches the first transmission ID set in the communication unit. However, this is not limited to this, and the communication unit may be modified to perform the process (α) when the connection ID of the received packet matches the second transmission ID set in the communication unit.

[0176] 9 includes both a function to switch operations in response to a selection signal and a function to branch a flow into two. However, this is not limited to this, and a module that does not have the function to switch operations in response to a selection signal may also have the function to branch a flow into two.

[0177] 9, the module including the communication unit 223 and the processing unit 233 can be configured to have a function of branching the flow into two, without actually having a function of switching the operation in response to a selection signal, by changing the setting. For example, instead of having (r2 / s9) and (r3 / s9), the module can have (r2 / s9) and (r0 / s0).

[0178] In the above embodiment, the input / output unit 231 has an input / output terminal. Then, input data input from the input terminal is taken into the network by the input / output unit 231 and the communication unit 221. Then, processed data is output from the output terminal by the input / output unit 231 and the communication unit 221. However, this is not limited to this, and the input / output unit 231 may be divided into an input unit and an output unit. In this case, a module including the input unit and the communication unit becomes an input module. A module including the output unit and the communication unit becomes an output module.

[0179] In the above embodiment, an example has been described in which a processing unit that performs MTX arithmetic processing selects the first coefficient register 510 or the second coefficient register 511 in response to the processing selection signal 426. Also, an example has been described in which a processing unit that performs LUT processing switches the lookup table to be used in response to the processing selection signal 426. However, this is not limited to this, and a processing unit that performs a plurality of types of arithmetic operations may switch the type of arithmetic operation to be performed in response to the processing selection signal 426.

[0180] In the above embodiment, the data processing device 200 includes only one input / output unit 231. However, this is not limited to this, and the data processing device 200 may include multiple input / output units 231. Also, a separate input / output unit may be included for each flow. In this case, if separate receiving IDs are assigned to separate input / output units, there is no need to switch the output destination based on the flow ID.

[0181] For example, in the configuration shown in Figure 9, communication units 221, 223, and 224 are assigned only one pair of receiving and transmitting IDs (i.e., only a single receiving ID and a single transmitting ID). Communication units that are intended to be such from the start may not have a portion corresponding to a second pair of receiving and transmitting IDs.

[0182] Components that may not be included in a communication unit that supports only one pair of a received ID and a transmitted ID include second received ID register 431-2, second received ID counter 432-2, second comparator 433-2, and OR circuit 435. Components that may not be included further include second transmitted ID register 441-2, fourth comparator 443-2, AND gate 447, and second counter 442-2.

[0183] A processing unit connected to a communication unit that supports only one set of receiving ID and transmitting ID only needs to support one set of receiving ID and transmitting ID.

[0184] A module including a communication unit corresponding to two or more pairs of receiving IDs and transmitting IDs and a processing unit corresponding to two or more pairs of receiving IDs and transmitting IDs may be called a "special calculation module." In this case, a module including a communication unit corresponding to only one pair of receiving IDs and transmitting IDs and a processing unit corresponding to only one pair of receiving IDs and transmitting IDs may be simply called a "calculation module" to distinguish it from a special calculation module.

[0185] First reception ID register 431-1 holds the first reception ID. However, this is not limited to this, and as long as the first reception ID is supplied to first comparison section 433-1, first reception ID register 431-1 or a substitute therefor may exist outside communication unit 222. In other words, any configuration is acceptable as long as the first reception ID is assigned to communication unit 222. The same applies to second reception ID register 431-2, first transmission ID register 441-1, and second transmission ID register 441-2.

[0186] Although it has been explained that the scanner image data processing unit 104 or the printer image data processing unit 104 can have the configuration of the above-described data processing device 200, a similar configuration can also be provided to other types of image data processing units. Furthermore, a similar configuration can also be provided to data processing units that handle data other than image data (i.e., non-image data processing units). For example, a similar configuration can also be provided to an audio data processing unit.

[0187] Embodiments of the present disclosure may be implemented by a computer in a system or device that reads and executes computer-executable instructions (e.g., one or more programs) for performing one or more functions of the above-described embodiments, recorded on a storage medium (sometimes more fully referred to as a “non-transitory computer-readable storage medium”), and / or includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing one or more functions of the above-described embodiments, and may also be implemented by a method executed by the computer in the system or device by reading and executing computer-executable instructions (e.g., one or more programs) for performing one or more functions of the above-described embodiments, recorded on a storage medium, and / or controlling one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing one or more functions of the above-described embodiments. The computer may include one or more processors (e.g., central processing unit (CPU), microprocessing unit (MPU)), and may include a separate computer or a network of separate processors for reading and executing the computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, from a network or a storage medium. The storage medium may include, for example, one or more of a hard disk, random access memory (RAM), read-only memory (ROM), storage of a distributed computing system, an optical disk (compact disk (CD), digital versatile disk (DVD), or Blu-ray disk (BD)®), a flash memory device, a memory card, and the like.

[0188] <Technical Features of the Present Disclosure> The present disclosure includes the following configurations, methods, and programs.

[0189] [Configuration 1] A data processing device comprising a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; Each of the computing modules comprises: a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when the connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with At least one of the calculation modules is assigned a plurality of the reception IDs, and switches the calculation by the calculation means provided therein depending on the reception ID that matches the connection ID included in the input packet. Data processing device.

[0190] [Configuration 2] At least one of the calculation modules further comprises means for outputting a second output packet containing the connection ID and data contained in the input packet as they are to the next-stage module when the connection ID contained in the input packet matches a single reception ID assigned to the calculation module or any reception ID contained in a plurality of reception IDs assigned to the calculation module; 2. The data processing device according to claim 1.

[0191] [Configuration 3] the flow ID of the second outgoing packet is different from the flow ID of the first outgoing packet; 3. The data processing device according to configuration 2.

[0192] [Configuration 4] the plurality of modules includes at least one output module; the output module comprises an output means for outputting the received packet to the outside when a connection ID included in the input packet matches a single reception ID assigned to itself or any reception ID included in a plurality of reception IDs assigned to itself; the output means switches the output destination depending on the flow ID included in the input packet. 4. The data processing device according to configuration 3.

[0193] [Configuration 5] the calculation module that switches calculations by the calculation means provided therein switches coefficients used in the calculations in accordance with the reception ID that matches the connection ID included in the input packet; 5. A data processing device according to any one of configurations 1 to 4.

[0194] [Configuration 6] The operation is a matrix operation. 6. The data processing device according to configuration 5.

[0195] [Configuration 7] the calculation module, which switches calculations performed by the calculation means provided therein, switches the table used in the calculation in accordance with the reception ID that matches the connection ID included in the input packet; 5. A data processing device according to any one of configurations 1 to 4.

[0196] [Configuration 8] the calculation is a calculation for interpolation by referring to the table, the calculation module that switches the calculation by the calculation means provided therein switches the calculation for the interpolation in accordance with the reception ID that matches the connection ID included in the input packet; 8. The data processing device according to configuration 7.

[0197] [Configuration 9] The size of the table corresponding to each of the reception IDs is adjusted according to the number of the reception IDs assigned to the module including the calculation means that switches the calculation according to the reception ID that matches the connection ID included in the input packet. 9. The data processing device according to configuration 7 or 8.

[0198] [Configuration 10] the plurality of modules includes at least one input module; the input module includes means for transmitting a packet including data input from outside and including any one of the reception IDs assigned to any other of the modules as the connection ID to the module at the next stage; 10. A data processing device according to any one of configurations 1 to 9.

[0199] [Configuration 11] the plurality of modules includes at least one output module; the output module comprises an output means for outputting the received packet to the outside when the connection ID included in the input packet matches a single reception ID assigned to itself or any reception ID included in a plurality of reception IDs assigned to itself; 11. A data processing device according to any one of configurations 1 to 10.

[0200] [Configuration 12] each of the calculation modules further comprises means for, when the connection ID included in the input packet does not match any of the single reception ID or multiple reception IDs assigned to the calculation module itself, outputting a third output packet containing the connection ID and data included in the input packet as is to the next-stage module; 12. A data processing device according to any one of configurations 1 to 11.

[0201] [Configuration 13] A data processing device comprising a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; Each of the computing modules comprises: a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when the connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with At least one of the calculation modules further comprises means for outputting a second output packet containing the connection ID and data contained in the input packet as they are to the next-stage module when the connection ID contained in the input packet matches a single reception ID assigned to the calculation module or any reception ID contained in a plurality of reception IDs assigned to the calculation module; Data processing device.

[0202] [Configuration 14] each of the calculation modules further comprises means for, when the connection ID included in the input packet does not match any of the single reception ID or multiple reception IDs assigned to the calculation module itself, outputting a third output packet containing the connection ID and data included in the input packet as is to the next-stage module; 14. The data processing device according to claim 13.

[0203] [Configuration 15] A computing module that can be included in a data processing device having a plurality of modules interconnected by a ring network, a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when a connection ID included in the input packet matches any of a plurality of reception IDs assigned to the module; means for transmitting to the module at a next stage an output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with the calculation module switches the calculation by the calculation means in accordance with the reception ID that matches the connection ID included in the input packet. Calculation module.

[0204] [Configuration 16] A computing module that can be included in a data processing device having a plurality of modules interconnected by a ring network, a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when the connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; means for outputting a second output packet containing the connection ID and data contained in the input packet as is to the module at the next stage when the connection ID contained in the input packet matches a single reception ID assigned to the module or any reception ID contained in a plurality of reception IDs assigned to the module; Equipped with Calculation module.

[0205] [Method 1] A data processing method performed in a data processing device having a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; a calculation step in which, when a connection ID included in an input packet received from the module in the previous stage matches a single reception ID assigned to the calculation module itself or any reception ID included in a plurality of reception IDs assigned to the calculation module itself, the calculation module executes a calculation based on data included in the input packet; each of the calculation modules transmitting to the module at a next stage a first output packet including data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; and At least one of the calculation modules is assigned a plurality of the reception IDs, and in the calculation step performed by the calculation module, the calculation is switched depending on the reception ID that matches the connection ID included in the input packet. Data processing methods.

[0206] [Method 2] A data processing method performed in a data processing device having a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; a calculation step in which, when a connection ID included in an input packet received from the module in the previous stage matches a single reception ID assigned to the calculation module itself or any reception ID included in a plurality of reception IDs assigned to the calculation module itself, the calculation module executes a calculation based on data included in the input packet; each of the calculation modules transmitting to the module at a next stage a first output packet including data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; When at least one of the calculation modules determines that the connection ID included in the input packet matches a single reception ID assigned to the calculation module or any reception ID included in the multiple reception IDs assigned to the calculation module, the calculation module outputs a second output packet that includes the connection ID and data included in the input packet as is to the next-stage module; having Data processing methods.

[0207] [Program 1] A program that causes a computer to function as a calculation module that can be included in a data processing device having a plurality of modules interconnected by a ring network, The computer a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when a connection ID included in the input packet matches any of a plurality of reception IDs assigned to the module; means for transmitting to the module at a next stage an output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with the calculation module switches the calculation by the calculation means in accordance with the reception ID that matches the connection ID included in the input packet. program.

[0208] [Program 2] A program that causes a computer to function as a calculation module that can be included in a data processing device having a plurality of modules interconnected by a ring network, a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when the connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; means for outputting a second output packet containing the connection ID and data contained in the input packet as is to the module at the next stage when the connection ID contained in the input packet matches a single reception ID assigned to the module or any reception ID contained in a plurality of reception IDs assigned to the module; To function as, program.

Claims

1. A data processing device comprising a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; Each of the computing modules comprises: a computing means for executing a computation based on data included in an input packet received from the module at a previous stage when a connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with At least one of the calculation modules is assigned a plurality of the reception IDs, and switches the calculation by the calculation means provided therein depending on the reception ID that matches the connection ID included in the input packet. Data processing device.

2. At least one of the calculation modules further comprises means for outputting a second output packet containing the connection ID and data contained in the input packet as they are to the next-stage module when the connection ID contained in the input packet matches a single reception ID assigned to the calculation module or any reception ID contained in a plurality of reception IDs assigned to the calculation module.

2. The data processing device according to claim 1.

3. the flow ID of the second outgoing packet is different from the flow ID of the first outgoing packet; 3. The data processing device according to claim 2.

4. the plurality of modules includes at least one output module; the output module comprises an output means for outputting the received packet to the outside when a connection ID included in the input packet matches a single reception ID assigned to itself or any reception ID included in a plurality of reception IDs assigned to itself; the output means switches the output destination depending on the flow ID included in the input packet.

4. The data processing device according to claim 3.

5. the calculation module that switches the calculation by the calculation means provided therein switches the coefficient used in the calculation in accordance with the reception ID that matches the connection ID included in the input packet; 2. The data processing device according to claim 1.

6. The operation is a matrix operation.

6. A data processing device according to claim 5.

7. the calculation module, which switches calculations performed by the calculation means provided therein, switches the table used in the calculation in accordance with the reception ID that matches the connection ID included in the input packet; 2. The data processing device according to claim 1.

8. the calculation is a calculation for interpolation by referring to the table, the calculation module that switches the calculation by the calculation means provided therein switches the calculation for the interpolation in accordance with the reception ID that matches the connection ID included in the input packet; 8. A data processing device according to claim 7.

9. the size of the table corresponding to each of the reception IDs is adjusted according to the number of the reception IDs assigned to the module including the calculation means that switches the calculation according to the reception ID that matches the connection ID included in the input packet; 8. A data processing device according to claim 7.

10. the plurality of modules includes at least one input module; the input module includes means for transmitting a packet including data input from outside and including any one of the reception IDs assigned to any other of the modules as the connection ID to the module at the next stage; 2. The data processing device according to claim 1.

11. the plurality of modules includes at least one output module; the output module comprises an output means for outputting the received packet to the outside when the connection ID included in the input packet matches a single reception ID assigned to itself or any reception ID included in a plurality of reception IDs assigned to itself; 2. The data processing device according to claim 1.

12. each of the calculation modules further comprises means for, when the connection ID included in the input packet does not match any of the single reception ID or multiple reception IDs assigned to the calculation module itself, outputting a third output packet containing the connection ID and data included in the input packet as is to the next-stage module; 2. The data processing device according to claim 1.

13. A data processing device comprising a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; Each of the computing modules comprises: a computing means for executing a computation based on data included in an input packet received from the module at a previous stage when a connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with At least one of the calculation modules further comprises means for outputting a second output packet containing the connection ID and data contained in the input packet as they are to the next-stage module when the connection ID contained in the input packet matches a single reception ID assigned to the calculation module or any reception ID contained in a plurality of reception IDs assigned to the calculation module. Data processing device.

14. each of the calculation modules further comprises means for, when the connection ID included in the input packet does not match any of the single reception ID or multiple reception IDs assigned to the calculation module itself, outputting a third output packet containing the connection ID and data included in the input packet as is to the next-stage module; 14. A data processing apparatus according to claim 13.

15. A computing module that can be included in a data processing device having a plurality of modules interconnected by a ring network, a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when a connection ID included in the input packet matches any one of a plurality of reception IDs assigned to the module; means for transmitting to the module at a next stage an output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with the calculation module switches the calculation by the calculation means in response to the reception ID that matches the connection ID included in the input packet. Calculation module.

16. A computing module that can be included in a data processing device having a plurality of modules interconnected by a ring network, a computing means for executing a computation based on data included in an input packet received from the module at a previous stage when a connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; means for outputting a second output packet containing the connection ID and data contained in the input packet as is to the module at the next stage when the connection ID contained in the input packet matches a single reception ID assigned to the module or any reception ID contained in a plurality of reception IDs assigned to the module; Equipped with Calculation module.

17. A data processing method performed in a data processing device having a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; a calculation step in which, when a connection ID included in an input packet received from a module in a previous stage matches a single reception ID assigned to the calculation module itself or any reception ID included in a plurality of reception IDs assigned to the calculation module itself, the calculation module executes a calculation based on data included in the input packet; each of the calculation modules transmitting to the module at a next stage a first output packet including data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; and At least one of the calculation modules is assigned a plurality of the reception IDs, and in the calculation step performed by the calculation module, the calculation is switched depending on the reception ID that matches the connection ID included in the input packet. Data processing methods.

18. A data processing method performed in a data processing device having a plurality of modules interconnected by a ring network, the plurality of modules includes at least one computing module; a calculation step in which, when a connection ID included in an input packet received from a module in a previous stage matches a single reception ID assigned to the calculation module itself or any reception ID included in a plurality of reception IDs assigned to the calculation module itself, the calculation module executes a calculation based on data included in the input packet; each of the calculation modules transmitting to the module at a next stage a first output packet including data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; When at least one of the calculation modules determines that the connection ID included in the input packet matches a single reception ID assigned to the calculation module or any reception ID included in the multiple reception IDs assigned to the calculation module, the calculation module outputs a second output packet that includes the connection ID and data included in the input packet as is to the module at the next stage; having Data processing methods.

19. A program that causes a computer to function as a calculation module that can be included in a data processing device having a plurality of modules interconnected by a ring network, The computer a computing means for executing a computation based on data included in an input packet received from the module at the previous stage when a connection ID included in the input packet matches any one of a plurality of reception IDs assigned to the module; means for transmitting to the module at a next stage an output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; Equipped with the calculation module switches the calculation by the calculation means in response to the reception ID that matches the connection ID included in the input packet. program.

20. A program that causes a computer to function as a calculation module that can be included in a data processing device having a plurality of modules interconnected by a ring network, a computing means for executing a computation based on data included in an input packet received from the module at a previous stage when a connection ID included in the input packet matches a single reception ID assigned to the module itself or any reception ID included in a plurality of reception IDs assigned to the module itself; means for transmitting a first output packet to the module at a next stage, the first output packet including the data obtained by the calculation and having as a new connection ID a transmission ID associated with the reception ID that matches the connection ID included in the input packet; means for outputting a second output packet containing the connection ID and data contained in the input packet as is to the module at the next stage when the connection ID contained in the input packet matches a single reception ID assigned to the module or any reception ID contained in a plurality of reception IDs assigned to the module; To function as, program.

Citation Information

Patent Citations

  • Device and method for processing data, and program

    JP2010282557A