WO2016203996A1 - データ転送装置およびデータ転送方法 - Google Patents

データ転送装置およびデータ転送方法 Download PDF

Info

Publication number
WO2016203996A1
WO2016203996A1 PCT/JP2016/066585 JP2016066585W WO2016203996A1 WO 2016203996 A1 WO2016203996 A1 WO 2016203996A1 JP 2016066585 W JP2016066585 W JP 2016066585W WO 2016203996 A1 WO2016203996 A1 WO 2016203996A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
transfer
unit
transfer data
time interval
Prior art date
Application number
PCT/JP2016/066585
Other languages
English (en)
French (fr)
Inventor
田中 義信
上野 晃
Original Assignee
オリンパス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オリンパス株式会社 filed Critical オリンパス株式会社
Priority to DE112016002163.1T priority Critical patent/DE112016002163T5/de
Priority to CN201680034255.7A priority patent/CN107710178B/zh
Publication of WO2016203996A1 publication Critical patent/WO2016203996A1/ja
Priority to US15/814,879 priority patent/US10452583B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof

Definitions

  • the present invention relates to a data transfer apparatus and a data transfer method.
  • This application claims priority based on Japanese Patent Application No. 2015-120074 filed in Japan on June 15, 2015, the contents of which are incorporated herein by reference.
  • an imaging system such as a digital camera is provided with a plurality of LSIs (Large Scale Integration) to which various functional blocks are assigned.
  • the plurality of LSIs are connected to a common bus for DMA (Direct Memory Access).
  • a plurality of functional blocks respectively assigned to a plurality of LSIs share one DRAM (Dynamic Random Access Memory) via a common bus.
  • this type of imaging system includes a bus arbiter.
  • FIG. 6 is a diagram for explaining an example of a plurality of continuous frame images to be transferred.
  • FIG. 6 shows a plurality of frame images P1, P2,.
  • the frame images P1, P2,... Are sequentially transferred in this order.
  • the frame image P1 includes image areas A11 to A13 where transfer data is densely present.
  • the frame image P2 includes image areas A21 to A23 where transfer data is densely present.
  • An image area A21 to be present exists.
  • FIG. 11 is a diagram illustrating the relationship of transfer data between frames.
  • the first frame corresponds to the frame image P1
  • the second frame corresponds to the frame image P2.
  • the first group of the first frame corresponds to the image area A11
  • the second group corresponds to the image area A12
  • the third group corresponds to the image area A13.
  • the first group of the second frame corresponds to the image area A21.
  • FIG. 11 shows input image data Di (1) to Di (6) and corresponding output transfer data Do (1) to Do (6) included in each group (image region).
  • the bandwidth of the common bus is to be smoothed when transferring the data of the third group, as shown in FIG. 11, it is included in the third group (image area A13) of the first first frame (frame image P1).
  • the data Do (6) interferes with the data Do (1) included in the first group (image area A21) of the next second frame (frame image P2) on the common bus. That is, the transfer data is output to the common bus across the frames, and the data interferes between the frames. As a result, processing using transfer data transferred on the common bus may stay.
  • the present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a data transfer apparatus and a data transfer method capable of smoothing the bandwidth of a common bus while suppressing data interference between frames. To do.
  • a data transfer device includes a buffer unit that temporarily stores transfer data transferred to a common bus, and a write control unit that writes input data to the buffer unit as the transfer data.
  • a read control unit that reads the transfer data from the buffer unit, an interface unit that transfers the transfer data read from the buffer unit by the read control unit to the common bus according to a predetermined bus protocol, and the transfer
  • a band smoothing unit that smoothes the band of the common bus by switching the time interval between the transfer data when the transfer data is transferred to the common bus based on the position of the data on the frame image.
  • the band smoothing unit may switch the time interval based on coordinate information indicating a position of the transfer data on the frame image.
  • the band smoothing unit transmits the transfer data other than the final transfer data included in the frame image.
  • a second parameter related to the time interval when transferring the final transfer data, and the position of the transfer data on the frame image is a position of transfer data other than the final transfer data.
  • the time interval is set using the first parameter, and when the position of the transfer data on the frame image is the position of the final transfer data, the time interval is set using the second parameter.
  • the data transfer device according to any one of the first to third aspects further includes a determination unit that determines a remaining capacity of the buffer unit, and the band smoothing unit includes the determination The time interval may be adjusted according to the determination result of the part.
  • the bandwidth smoothing unit may decrease the time interval as the remaining capacity of the buffer unit is small.
  • a data transfer method includes a first stage of writing input data to a buffer unit as transfer data to be transferred to a common bus, reading the transfer data from the buffer unit, and the buffer A second step of transferring the transfer data read from the unit to the common bus according to a predetermined bus protocol, wherein in the second step, the transfer data is based on a position of the transfer data on a frame image.
  • the bandwidth of the common bus is smoothed by switching the time interval between transfer data when transferring the data to the common bus.
  • FIG. 1 is a block diagram illustrating a configuration example of an imaging system to which a data transfer device according to a first embodiment of the present invention is applied. It is a block diagram which shows the structural example of the data transfer apparatus which concerns on 1st Embodiment of this invention. It is a block diagram which shows the structural example of the band smoothing part with which the data transfer apparatus which concerns on 1st Embodiment of this invention is provided. It is a flowchart which shows an example of the operation
  • FIG. 3 is a diagram for explaining the operation of the data transfer apparatus according to the first embodiment of the present invention, and is a diagram for explaining the relationship between input data and output data when the time until a DMA transfer request is accepted is long It is. It is a figure for demonstrating operation
  • FIG. 1 is a block diagram illustrating a configuration example of an imaging system 100 to which the data transfer apparatus according to the first embodiment of the present invention is applied.
  • the imaging system 100 is, for example, a digital camera.
  • the imaging system 100 includes an image sensor 110, functional blocks 120 to 150, a bus arbiter 161, a DRAM interface unit 162, a DRAM 163, a central processing unit (CPU) 170, and a common bus 180.
  • CPU central processing unit
  • the image sensor 110 photoelectrically converts a light image of a subject to generate pixel data (pixel signal).
  • the image sensor 110 is, for example, a CCD (Charge Coupled Device) image sensor or a CMOS (Complementary Metal Oxide Semiconductor) image sensor.
  • the image sensor 110 outputs RGB color system image data, for example.
  • the function block 120 functions as a bus interface for outputting image data obtained by the image sensor 110 to the common bus 180.
  • the functional block 120 includes a preprocessing unit 121, image extraction units 122 and 123, an evaluation value generation unit 124, and data transfer units 125 to 127.
  • the preprocessing unit 121 performs preprocessing such as flaw correction and shading correction on the image data obtained by the image sensor 110.
  • the image extracting units 122 and 123 extract image data such as a display image and a recorded image from the image data by cutting out part of the image data obtained by the image sensor 110.
  • the evaluation value generation unit 124 generates an evaluation value used for controlling exposure, white balance, focus, and the like.
  • the data transfer unit 125 transfers the image data extracted by the image extraction unit 122 to the common bus 180.
  • the data transfer unit 126 transfers the image data extracted by the image extraction unit 123 to the common bus 180.
  • the data transfer unit 127 transfers the evaluation value generated by the evaluation value generation unit 124 to the common bus 180.
  • the function block 130 displays an image.
  • the functional block 130 includes a data transfer unit 131, a display processing unit 132, and a display device 133.
  • the data transfer unit 131 transfers image data of an image displayed on the display device 133 (hereinafter referred to as a display image) from the common bus 180 to the display processing unit 132.
  • the display processing unit 132 acquires image data of a display image from the DRAM 163 and performs display processing such as OSD (On Screen Display) superimposition processing on the image data.
  • the display device 133 visualizes the image data processed by the display processing unit 132.
  • the display device 133 is, for example, a TFT (Thin Film Transistor) liquid crystal device or an organic EL (ElectroLuminescence) display device.
  • the functional block 140 stores image data.
  • the functional block 140 includes data transfer units 141 and 142, a card interface unit 143, and a recording medium 144.
  • the data transfer unit 141 transfers the image data supplied from the card interface unit 143 to the common bus 180.
  • the data transfer unit 142 transfers the image data supplied from the common bus 180 to the card interface unit 143.
  • the card interface unit 143 reads image data from the DRAM 163 and writes it to the recording medium 144, and reads image data from the recording medium 144 and writes it to the DRAM 163.
  • the recording medium 144 is a memory card that can be attached to and detached from the card interface unit 143, such as an SD (Secure Digital) card or a CF (Compact Flash).
  • the functional block 150 performs predetermined image processing such as noise removal processing, YC conversion processing, resizing processing, and JPEG compression processing on the image data (preprocessed image data) stored in the DRAM 163 to display a display image or a recording image. Generate an image.
  • the functional block 150 includes data transfer units 151 and 152 and an image processing unit 153.
  • the data transfer unit 151 transfers the image data supplied from the image processing unit 153 to the common bus 180.
  • the data transfer unit 152 transfers the image data supplied from the common bus 180 to the image processing unit 153.
  • the image processing unit 153 performs the predetermined image processing.
  • the image data that has been subjected to the predetermined image processing by the image processing unit 153 is transferred to and stored in the DRAM 163.
  • the bus arbiter 161 adjusts and accepts DMA transfer requests output from the functional blocks 120 to 150 connected to the common bus 180.
  • the bus arbiter 161 determines a functional block to which a bus right for permitting access to the DRAM 163 is granted.
  • the DRAM interface unit 162 writes image data to the DRAM 163 and reads image data from the DRAM 163.
  • the DRAM 163 is a semiconductor memory shared by the functional blocks 120 to 150.
  • the DRAM 163 is, for example, a synchronous DRAM.
  • the central processing unit 170 controls the overall operation of the imaging system 100.
  • the central processing unit 170 is also one of the functional blocks sharing the DRAM 163, like the functional blocks 120 to 150 described above.
  • the data transfer apparatus is a data transfer that outputs image data to the common bus 180 among the data transfer units 125 to 127, 131, 141, 142, 151, and 152 provided in the imaging system 100 described above. It corresponds to each of the parts 125 to 127, 141, 151.
  • the data transfer unit 125 is referred to as the “data transfer device 10”. Note that the data transfer apparatus according to the first embodiment can be applied to all data transfer units provided in the imaging system 100 shown in FIG. 1, and can also be applied to only some data transfer units.
  • FIG. 2 is a block diagram showing a configuration example of the data transfer apparatus 10 according to the first embodiment of the present invention.
  • the data transfer apparatus 10 includes a write control unit 11, a buffer unit 12, a read control unit 13, an interface unit (I / F unit) 14, and a band smoothing unit 15.
  • the band smoothing unit 15 and the write control unit 11 may be integrated, or the band smoothing unit 15 and the read control unit 13 may be integrated. Further, the lead control unit 13 and the interface unit 14 may be integrated.
  • the write control unit 11 sequentially writes the input image data Di including the data string of the pixel data acquired by the image sensor 110 to the storage areas M0 to M15 of the buffer unit 12 as transfer data.
  • the write control unit 11 indicates that the input image data Di has been written to the buffer unit 12 every time writing of pixel data for a predetermined number of pixels (for example, pixel data for 32 pixels) constituting the input image data Di is completed.
  • the write completion notification signal SW includes address information indicating any of the storage areas M0 to M15 in which the input image data Di is written.
  • the write control unit 11 outputs the write completion notification signal SW every time writing of pixel data for 32 pixels constituting the input image data Di is completed, but the present invention is not limited to this example. .
  • the write control unit 11 receives a read completion notification signal SR from the read control unit 13 described later, the transfer data is read from the storage areas M0 to M15 of the buffer unit 12 based on the read completion notification signal SR.
  • the designated storage area (that is, the free storage area) is specified.
  • the write control unit 11 writes the input image data Di into a free storage area of the buffer unit 12.
  • the buffer unit 12 temporarily stores transfer data transferred to the common bus 180.
  • the buffer unit 12 includes, for example, an SRAM (Static Random Access Memory).
  • the buffer unit 12 sequentially stores pixel data constituting the input image data Di in units of 64 bytes from the storage area M0 to the storage area M15. Specifically, the buffer unit 12 stores the 64-byte pixel data for the first 32 pixels constituting the input image data Di in the first storage area M0, and the 64-byte pixel data for the next 32 pixels. Store in the storage area M1. Similarly, the buffer unit 12 sequentially stores subsequent pixel data constituting the input image data Di in the storage areas M2 to M15 in units of 64 bytes. When the input image data Di is stored in the last storage area M15, the buffer unit 12 again transfers each subsequent pixel data constituting the input image data Di from the first storage area M0 to the storage area M15.
  • the data is sequentially stored in each storage area in units of 64 bytes. That is, each pixel data of the input image data Di sequentially output from the image sensor 110 is cyclically written by the write control unit 11 from the storage area M0 to the storage area M15 of the buffer unit 12.
  • writing pixel data to the buffer unit 12 means writing input image data Di to the storage areas M0 to M15 in units of 64 bytes for 32 pixels.
  • the write clock signal for writing the input image data Di to the buffer unit 12 and the read clock signal for reading the transfer data from the buffer unit 12 are different clock signals.
  • the buffer unit 12 for example, a type of SRAM (for example, dual port SRAM) that can individually input a write clock signal and a read clock signal can be used.
  • the read control unit 13 reads transfer data from the buffer unit 12 in response to a read control signal SC (described later) output from the band smoothing unit 15.
  • the read control signal SC is a signal obtained by delaying the write completion notification signal SW. Accordingly, the read control signal SC, like the write completion notification signal SW, includes information indicating that the input image data Di has been written to the buffer unit 12, and address information indicating the storage area in which the input image data Di has been written. Is included.
  • the read control unit 13 receives the read control signal SC from the band smoothing unit 15, the read control unit 13 starts from the storage areas M0 to M15 of the buffer unit 12 indicated by the address information included in the read control signal SC in units of 64 bytes for 32 pixels.
  • Read pixel data as transfer data. In the following description, reading transfer data from the buffer unit 12 means reading pixel data from the storage areas M0 to M15 as transfer data in units of 64 bytes for 32 pixels.
  • the read control unit 13 outputs a read completion notification signal SR indicating that the transfer data has been read to the write control unit 11 every time reading of the 64-byte transfer data of 32 pixels from the buffer unit 12 is completed.
  • the read completion notification signal SR includes address information indicating the storage area of the buffer unit 12 in which the read transfer data is stored (that is, information indicating a free storage area).
  • the interface unit 14 transfers the transfer data read from the buffer unit 12 by the read control unit 13 to the common bus 180 according to a predetermined bus protocol. Specifically, in order to transfer the transfer data to the common bus 180, the interface unit 14 transmits a DMA transfer request REQ, receives a DMA transfer acceptance ACK, and transmits an address ADD on the DRAM indicating the transfer data transfer destination. The transmission data (pixel data) is transmitted.
  • the band smoothing unit 15 smoothes the band of the common bus 180.
  • the band smoothing unit 15 controls the timing at which the read control unit 13 reads the transfer data from the buffer unit 12 based on the write completion notification signal SW input from the write control unit 11, thereby reducing the band of the common bus 180. Smooth.
  • the band smoothing unit 15 delays the write completion notification signal SW input from the write control unit 11 to generate a read control signal SC for controlling the timing of reading the transfer data from the buffer unit 12 to perform read control.
  • Delaying the write completion notification signal SW means smoothing the write completion notification signal SW. Therefore, the read control signal SC generated by delaying the write completion notification signal SW is the smoothed write completion notification signal SW.
  • the band smoothing unit 15 completes the writing that is sequentially output from the write control unit 11 as the pixel data constituting the input image data Di is sequentially written to the buffer unit 12 by the write control unit 11.
  • the write completion notification signal is sequentially output to the read control unit 13 as the read control signal with a predetermined time interval.
  • a setting signal E for setting the predetermined time interval is input to the band smoothing unit 15 from the central processing unit 170 (FIG. 1) or the like.
  • the setting signal E may be directly input to the band smoothing unit 15 from the outside.
  • the band smoothing unit 15 smoothes the band of the common bus 180 by controlling the timing of reading the transfer data from the buffer unit 12, but the band of the common bus 180 is smoothed. This method can be arbitrarily selected.
  • the band smoothing unit 15 determines the time interval between transfer data when transferring the transfer data to the common bus 180 based on the position of the transfer data transferred to the common bus 180 on the frame image. Switch. Thereby, the band smoothing unit 15 smoothes the band of the common bus 180.
  • the band smoothing unit 15 uses, as a parameter for setting the predetermined time interval, a first parameter related to a time interval between transfer data when transferring transfer data other than the final transfer data included in the frame image, and the final transfer And a second parameter relating to a time interval between transfer data when transferring data.
  • the time interval between transfer data set using the second parameter is shorter than the time interval between transfer data set using the first parameter.
  • the band smoothing unit 15 sets the time interval between the transfer data using the first parameter when the position of the transfer data on the frame image is the position of the transfer data other than the final transfer data. Further, when the position of the transfer data on the frame image is the position of the final transfer data, the band smoothing unit 15 sets a time interval between the transfer data using the second parameter. From the first parameter and the second parameter, the maximum count value of a counter 1503 (FIG. 3), which will be described later, constituting the band smoothing unit 15 is determined.
  • FIG. 3 is a block diagram illustrating a configuration example of the band smoothing unit 15 included in the data transfer apparatus 10 according to the first embodiment of the present invention.
  • the band smoothing unit 15 includes a FIFO (First-In First-OUT) memory 1501, counters 1502 and 1503, a read determination unit 1504, and a selector 1505.
  • the FIFO memory 1501 temporarily holds a write completion notification signal SW sequentially output from the write control unit 11.
  • the FIFO memory 1501 is composed of, for example, a plurality of registers connected in cascade.
  • the FIFO memory 1501 temporarily holds the write completion notification signal SW to delay the write completion notification signal SW, and performs read control of the write completion notification signal SW in accordance with a FIFO read command input from a read determination unit 1504 described later. Output as signal SC.
  • the counter 1502 In response to the write completion notification signal SW sequentially output from the write control unit 11, the counter 1502 is a write that has not been read from the FIFO memory 1501 among the write completion notification signals SW already held in the FIFO memory 1501. The number of completion notification signals SW is counted. The counter 1502 counts up every time the write completion notification signal SW is input from the write control unit 11 to the FIFO memory 1501. The counter 1502 counts down every time the write completion notification signal SW is read from the FIFO memory 1501.
  • the count value of the counter 1502 represents a difference (a natural number including zero) between the number of write completion notification signals SW input to the FIFO memory 1501 and the number of write completion notification signals SW output from the FIFO memory 1501. Therefore, the presence / absence of the write completion notification signal SW that has not been read from the FIFO memory 1501 can be known from the count value of the counter 1502. If the count value of the counter 1502 is 1 or more, a write completion notification signal SW that has not been read from the FIFO memory 1501 exists in the FIFO memory 1501. If the count value of the counter 1502 is 0, all the write completion notification signals SW input to the FIFO memory 1501 are read, and no write completion notification signal SW that has not been read from the FIFO memory 1501 exists in the FIFO memory 1501. .
  • the counter 1503 counts up in a predetermined cycle until the count value reaches the maximum value of the count value set in the counter 1503 by the setting signal E1 or the setting signal E2 supplied from the selector 1505.
  • the counter 1503 outputs a signal indicating that the count value has reached the maximum value to the read determination unit 1504, and then
  • the counter 1503 is initialized at the read timing of the FIFO memory 1501. That is, the count value of the counter 1503 is initialized every time the write completion notification signal SW is read from the FIFO memory 1501.
  • the counter 1503 is initialized in response to the FIFO read command. After being initialized, the counter 1503 repeatedly counts up until the count value reaches the maximum value or is initialized again.
  • the time interval Ts of the read control signal SC sequentially output from the band smoothing unit 15 is determined based on the maximum value of the count value set in the counter 1503 by the setting signals E1 and E2.
  • the setting signal E1 corresponds to the aforementioned first parameter
  • the setting signal E2 corresponds to the aforementioned second parameter.
  • the time interval Ts (FIG. 7) of the read control signal SC is increased. In this case, while the smoothing of the bandwidth of the common bus 180 proceeds, the data transfer rate decreases. Conversely, as the maximum value is decreased, the time interval of the read control signal SC is reduced. In this case, while the data transfer rate increases, the bandwidth of the common bus 180 is not smoothed.
  • the maximum value of the count value set in the counter 1503 can be arbitrarily set according to the required data transfer speed, the degree of smoothing of the bandwidth of the common bus 180, and the like. However, in the first embodiment, the maximum count value set in the counter 1503 is set to one of two values corresponding to the setting signal E1 and the setting signal E2 supplied from the selector 1505, respectively.
  • the read determination unit 1504 controls the reading of the FIFO memory 1501 based on the count values of the counters 1502 and 1503. That is, the read determination unit 1504 receives a write completion notification signal SW in which the count value of the counter 1503 has reached a predetermined value determined based on the maximum value and the count value of the counter 1502 has not been read from the FIFO memory 1501. If the value indicates that it exists in the memory 1501, a FIFO read instruction for instructing to read the write completion notification signal SW is output to the FIFO memory 1501.
  • the read determination unit 1504 outputs the FIFO read instruction to the FIFO memory 1501, thereby reading and outputting the write completion notification signal SW that has not been read from the FIFO memory 1501 as the read control signal SC from the FIFO memory 1501.
  • the read control signal SC is sequentially sent from the FIFO memory 1501 of the band smoothing unit 15 to the read control unit 13 with a predetermined time interval Ts (FIG. 7) determined by the maximum value of the count value set in the counter 1503. Is output automatically.
  • Ts predetermined time interval
  • the selector 1505 selects one of setting signals E1 and E2 for setting the maximum value of the counter 1503 and supplies the selected signal to the counter 1503. For example, two types of setting signals E1 and E2 are input to the selector 1505 from the central processing unit 170 shown in FIG. Based on the setting signals E1 and E2, the first parameter and the second parameter described above for setting the maximum value of the count value of the counter 1503 are determined.
  • the maximum value of the count value set by the setting signal E2 (second parameter) is smaller than the maximum value of the count value set by the setting signal E1 (first parameter). Accordingly, when the maximum count value of the counter 1503 is set by the setting signal E2, the time of the DMA transfer request REQ is compared to when the maximum value of the counter 1503 is set by the setting signal E1.
  • the interval Ts is shortened.
  • the selector 1505 receives the setting signal E3 from the image extraction unit 122 shown in FIG.
  • the setting signal E3 indicates that the transfer data read from the buffer unit 12 by the read control unit 13 is the final transfer data, that is, the position of the transfer data read from the buffer unit 12 on the frame image is This is the final transfer information signal indicating the position of the final transfer data.
  • the setting signal E3 is a signal indicating a set of data to be transferred last in a frame among a set of data densely present in each frame image. Specifically, as illustrated in the uppermost part of FIG. 10, the setting signal E3 is low when transferring data (third group) that is densely present in the lower image area A3 shown in FIG. 5A, for example. Is a signal that transitions from high to low.
  • the setting signal E3 an existing signal generated by the image extraction unit 122 in the process of performing the image extraction process is used.
  • the selector 1505 selects the setting signal E2 and outputs it to the counter 1503 and the read determination unit 1504. In other cases, that is, when the position of the transfer data indicated by the setting signal E3 indicates the position of the transfer data other than the final transfer data on the frame image, the selector 1505 selects the setting signal E1, selects the counter 1503 and the read determination To the unit 1504.
  • the “final transfer data” in the frame image refers to a set of data to be transferred last in time among a set of data densely present in the frame image, and is exemplified in FIG. 5A, for example.
  • the image areas A1 to A3 of the frame image forming the shooting screen P this is a set of data included in the image area A3 that is the last transfer object.
  • FIG. 4 is a flowchart showing an example of an operation flow of the data transfer apparatus 10 according to the first embodiment of the present invention.
  • 5A to 5D are diagrams for explaining the operation of the data transfer apparatus 10 according to the first embodiment of the present invention, and are diagrams for explaining examples of image data to be transferred.
  • FIG. 6 is a diagram for explaining the operation of the data transfer apparatus 10 according to the first embodiment of the present invention, and is a diagram for explaining an example of a plurality of continuous frame images to be transferred.
  • 7A and 7B are diagrams for explaining the operation of the data transfer apparatus 10 according to the first embodiment of the present invention.
  • FIG. 7A is a timing chart for explaining the operation when data other than the final transfer data is transferred.
  • FIG. 7A is a timing chart for explaining the operation when data other than the final transfer data is transferred.
  • FIG. 7B is a diagram for explaining the relationship between input image data Di and output transfer data Do when transferring data other than final transfer data.
  • 8A and 8B are diagrams for explaining the operation of the data transfer apparatus 10 according to the first embodiment of the present invention.
  • FIG. 8A is a timing chart for explaining the operation when the time until the DMA transfer request is accepted is long.
  • FIG. 8B is a diagram for explaining the relationship between the input image data Di and the output transfer data Do when the time until the DMA transfer request is accepted is long.
  • 9A and 9B are diagrams for explaining the operation of the data transfer apparatus 10 according to the first embodiment of the present invention.
  • FIG. 9A is a timing chart for explaining the operation when transferring the final transfer data.
  • FIG. 9A is a timing chart for explaining the operation when transferring the final transfer data.
  • FIG. 9B is a diagram for explaining the relationship between input data and output data when final transfer data is transferred.
  • FIG. 10 is a diagram for explaining the operation of the data transfer apparatus 10 according to the first embodiment of the present invention, and shows the relationship of transfer data between frames.
  • FIG. 11 is a diagram for supplementarily explaining the operation of the data transfer apparatus 10 according to the first embodiment of the present invention, and shows the relationship of transfer data between frames when the time interval between transfer data is not switched. It is.
  • the image extraction unit 122 extracts image data from the input image data Di (input image data preprocessed by the preprocessing unit 121), whether or not the input image data Di is the final transfer data in the frame. Determine whether. Then, the image extraction unit 122 outputs a setting signal E3 including information indicating whether or not the input image data Di is final transfer data to the selector 1505 of the band smoothing unit 25.
  • the operation of the data transfer apparatus 10 will be described separately for the case where the transfer data is not the final transfer data in the frame image and the case where the transfer data is the final transfer data in the frame image.
  • the setting signal E3 supplied from the image extraction unit 122 to the band smoothing unit 15 indicates a position other than the position of the final transfer data.
  • the selector 1505 selects the setting signal E1 and supplies it to the counter 1503. Therefore, in this case, the maximum value of the count value of the counter 1503 is a value set based on the setting signal E1, and is larger than a value set based on the setting signal E2. As described later, this means that the time interval between transfer data when the transfer data is not the final transfer data in the frame image is the time interval between transfer data when the transfer data is the final transfer data within the frame image. Means it will be bigger.
  • the input image data Di includes a region where pixel data is densely included (dense region) and a region where pixel data is hardly included (sparse region). ))
  • the functional block continuously outputs DMA transfer requests. For this reason, during the period when the DMA transfer request is output, a situation may occur in which the DMA transfer request of another functional block is not accepted by the bus arbiter.
  • the band smoothing unit 15 smoothes the band of the common bus 180.
  • FIG. 5A to FIG. 5D there are a region where pixel data to be subjected to data transfer by the data transfer apparatus 10 is densely included (dense region) and a region where pixel data is hardly included (sparse region).
  • An example of a shooting screen P based on input image data Di is shown.
  • the shooting screen P shown in FIG. 5A includes image areas A1 to A3 in which images (pixel data to be transferred) are captured, and image areas in which images are hardly captured (other than image areas A1 to A3). Area).
  • the input image data Di acquired from the image sensor 110 densely includes pixel data for displaying the image areas A1 to A3. In other words, pixel data is densely contained in the image areas A1 to A3 (dense area).
  • the input image data Di contains almost no pixel data for displaying areas other than the image areas A1 to A3.
  • the area other than the image areas A1 to A3 contains almost no pixel data (sparse area).
  • the input image data Di sequentially output from the image sensor 110 along the scanning line of the shooting screen P illustrated in FIG. 5A includes a region (dense region) in which pixel data is densely included and pixel data. There are alternating regions (sparse regions) in which almost no is included.
  • the shooting screen P shown in FIG. 5B is similar to the example shown in FIG. 5A.
  • Image areas A1 to A3 in which images (pixel data to be transferred) are taken in and images that are hardly taken in are displayed.
  • Regions regions other than the image regions A1 to A3).
  • the pixel data that is actually to be transferred is only a part of the pixel data on the upper side of each of the image areas A1 to A3 indicated by the dotted lines and a part of the pixel data on the lower side.
  • the pixel data of the area indicated by the dotted line is densely included in the input image data Di (dense area). Pixel data in other areas are hardly included in the input image data Di (sparse area).
  • the input image data Di sequentially output from the image sensor 110 along the scanning line of the photographing screen P includes a region (dense region) in which pixel data is densely included and a pixel data. No areas (sparse areas) exist alternately.
  • the shooting screen P shown in FIG. 5C includes a wide-angle image PW and a telephoto image PT.
  • pixel data of the shooting screen P including the wide-angle image PW and the telephoto image PT is transferred.
  • a region of the telephoto image PT corresponds to a region where an image (pixel data to be transferred) is captured. That is, the pixel data of the region of the telephoto image PT is densely included in the input image data Di (dense region).
  • the other areas (areas of the wide-angle image PW) correspond to areas where the image is hardly captured.
  • the input image data Di sequentially output from the image sensor 110 along the scanning line of the photographing screen P includes a region (dense region) in which pixel data is densely included and a pixel data. No areas (sparse areas) exist alternately. The same applies to input image data acquired from the image sensor 110 by so-called digital zooming.
  • the shooting screen P shown in FIG. 5D includes a plurality of evaluation areas for acquiring evaluation values such as exposure and white balance.
  • the plurality of evaluation regions are indicated by dotted lines.
  • the evaluation value is included in the input image data Di corresponding to the last scanning line of each evaluation area.
  • the evaluation values are densely included in the input image data Di corresponding to the last scanning line of each evaluation region. That is, pixel data for evaluation is densely included in a region corresponding to the last scanning line of each evaluation region (dense region).
  • the other area contains almost no pixel data for evaluation (sparse area).
  • the input image data Di sequentially output from the image sensor 110 along the scanning line of the shooting screen P includes an area (dense area) in which pixel data is densely included with respect to the evaluation value. There is an area (sparse area) in which pixel data is hardly included.
  • FIG. 6 shows the positional relationship between the image areas A11 to A13 and A21 to A23 where the transfer data is densely present when a plurality of frame images P1 and P2 forming the shooting screen P illustrated in FIG. 5A are continuous.
  • the time interval between the lower image area A13 of the first frame image P1 and the upper image area A21 of the next frame image P2 is small. Interference of transfer data is likely to occur between frames at such a frame image boundary, and details thereof will be described later (see the description of “2. Transfer Data is Final Transfer Data in Frame Image”). ).
  • the input image data Di includes a plurality of groups, with six consecutive pixel data as one group.
  • the present invention is not limited to this example, and the arrangement of pixel data included in the input image data Di can be arbitrarily set.
  • the write control unit of the data transfer apparatus 10 in which the pixel data constituting the input image data Di output from the image sensor 110 is a data transfer unit 125 from the image extraction unit 122 in units of 64 bytes corresponding to pixel data for 32 pixels. 11 are sequentially input.
  • the write control unit 11 writes the input image data Di to the buffer unit 12 in units of 64 bytes for 32 pixels as transfer data transferred to the common bus 180 (step S1).
  • the write control unit 11 writes the input image data Di to the buffer unit 12 as shown in FIG. 7A every time the 64-byte pixel data of 32 pixels included in the input image data Di is written to the buffer unit 12.
  • a write completion notification signal SW indicating that it has been output is output (step S1).
  • the numbers in the rectangle schematically showing the write completion notification signal SW correspond to the six pixel data densely included in the input image data Di.
  • the notation “1” is output from the write control unit 11 when the first (first) pixel data among the six pieces of pixel data densely included in the input image data Di is written to the buffer unit 12. Represents the signal SW (1).
  • Such signal notation is the same for the read control signal SC. That is, in FIG. 6A, the marks “1” to “6” of the write completion notification signal SW indicate the write completion notification signals SW (1) to SW (6).
  • the designations “1” to “6” in the read control signal SC indicate the read control signals SC (1) to SC (6).
  • the image extraction unit 122 determines that the position of the pixel data on the frame image sequentially input to the light control unit 11 is that of the frame image. It is determined whether or not it is the position of the final transfer data.
  • the image extraction unit 122 includes final transfer information indicating that the position of the pixel data (transfer data) is the position of the final transfer data of the frame image.
  • the setting signal E3 is output to the selector 1505.
  • the selector 1505 selects the setting signal E2 when the pixel data is read from the buffer unit 12 as transfer data.
  • the selector 1505 selects the setting signal E1 and selects the counter 1503 and the read determination unit as described below. Output to 1504.
  • the time interval Ts of the read control signal SC is set to the predetermined time interval Ts1 by the setting signal E1 described above.
  • This predetermined time interval Ts1 is longer than a predetermined time interval Ts2 (FIG. 9) described later set by the setting signal E2 when the final transfer data is transferred.
  • the band smoothing unit 15 generates a read control signal SC for reading transfer data from the buffer unit 12 so as to smooth the band of the common bus 180 based on the write completion notification signal SW ( Step S2). That is, the band smoothing unit 15 sequentially inputs the write completion notification signal SW sequentially output from the write control unit 11 to the FIFO memory 1501 illustrated in FIG. Then, the band smoothing unit 15 outputs the write completion notification signal SW held in the FIFO memory 1501 as the read control signal SC to the read control unit 13 in the order of input with a fixed time interval Ts.
  • the band smoothing unit 15 also determines the time interval of the read control signal SC according to the setting signal E3 indicating whether the pixel data (transfer data) input to the write control unit 11 is the final transfer data in the frame. Switch. Thereby, the band smoothing unit 15 switches the time interval Ts between the transfer data transferred to the common bus 180.
  • the selector 1505 of the band smoothing unit 15 selects the setting signal E1, and the band smoothing unit 15 Based on the signal E1, the time interval Ts between the transfer data is set to the time interval Ts1.
  • write completion notification signals SW (1) to SW (6) output from the write control unit 11 to the band smoothing unit 15 and read control signals SC (1) to SW (6) output from the band smoothing unit 15 are used.
  • SC (6) is shown schematically.
  • the time interval Ts of the read control signals SC (1) to SC (6) is the time interval Ts1 determined based on the maximum value of the count value set in the counter 1503 by the setting signal E1. Is set.
  • the transmission interval of the DMA transfer request REQ at the time of transferring the input image data Di in which pixel data is densely present may be increased.
  • the maximum value of the count value set in the counter 1503 shown in FIG. 3 is such that the time interval Ts (Ts1) of the read control signal SC is larger than the time interval of the write completion notification signal SW. Is set as follows.
  • the time interval of the write completion notification signal SW corresponds to the time interval of pixel data included in the input image data Di.
  • the time interval Tr of the DMA transfer request REQ increases, and therefore the data transfer rate tends to decrease.
  • the time interval Ts of the read control signal SC is too large, processing involving subsequent data transfer may be hindered. For this reason, the maximum value of the count value set in the counter 1503 is set within a range in which a necessary data transfer rate can be obtained.
  • the read control unit 13 reads the transfer data from the buffer unit 12 in response to the read control signal SC input from the band smoothing unit 15 (step S3).
  • the read control unit 13 receives the DMA transfer acceptance ACK for the DMA transfer request REQ of the previous transfer data. Is read by the interface unit 14 on the condition that the current transfer data is read from the buffer unit 12.
  • the interface unit 14 When the transfer data is read from the buffer unit 12 by the read control unit 13, the interface unit 14 outputs a DMA transfer request REQ to the common bus 180, and the transfer data read from the buffer unit 12 is shared according to a predetermined bus protocol. Transfer to the bus 180 (step S4). Specifically, as shown in FIG. 7A, the interface unit 14 corresponds to the read control signals SC (1) to SC (6) input from the band smoothing unit 15 at a constant time interval Ts (Ts1). , 6 DMA transfer requests REQ are sequentially output.
  • the interface unit 14 receives a DMA transfer acceptance ACK indicating that the current DMA transfer request REQ has been accepted by the bus arbiter 161. . Then, the interface unit 14 transfers the transfer data read from the buffer unit 12 by the read control unit 13 to the common bus 180 (step S4).
  • the input image data Di that densely includes the six pixel data shown as the first group in FIG. 7B is set in the counter 1503.
  • the transfer data Do is output from the interface unit 14 to the common bus 180 at a time interval Ts1 determined based on the maximum count value.
  • Ts1 the time interval determined based on the maximum count value.
  • the data transfer of the first group of pixel data is completed before the input image data Di including the second group of pixel data densely following the first group is input. Data interference between groups does not occur.
  • the bus arbiter 161 can appropriately adjust and accept the DMA transfer request REQ of each functional block. As a result, the load on the bus arbiter 161 can be reduced.
  • the frequency with which the DMA transfer request REQ of the other functional blocks 130, 140, 150 is accepted by the bus arbiter 161 increases. For this reason, even in the arbitration by the bus arbiter 161, even if the priority of the functional block 120 for transferring the pixel data of the image sensor 110 to the DRAM 163 is set high, the influence on the processing of the other functional blocks 130, 140, 150 is exerted. It is possible to suppress the stagnation of processing of other functional blocks.
  • the write control unit 11 writes the write completion notification each time the input image data Di including the pixel data acquired from the image sensor 110 is written to the buffer unit 12.
  • the signal SW is sequentially output (step S1).
  • the band smoothing unit 15 sequentially outputs the read control signal SC with a certain time interval Ts (Ts1) (step S2).
  • the read control unit 13 reads the transfer data from the buffer unit 12 in response to the read control signal SC output from the band smoothing unit 15 (step S3).
  • the interface unit 14 outputs a DMA transfer request REQ for the transfer data read by the read control unit 13 in response to the read control signal SC, and transfers the transfer data (step S4).
  • the bus arbiter 161 it takes a long time until the first DMA transfer request REQ output from the interface unit 14 in response to the first read control signal SC (1) is received by the bus arbiter 161 due to congestion of the common bus 180, for example.
  • the bus arbiter 161 it takes a long time for the first DMA transfer request REQ output from the interface unit 14 at time t0 to be accepted by the bus arbiter 161 at time t1.
  • the DMA transfer acceptance ACK for the first DMA transfer request REQ is received by the interface unit 14 at time t1 after the third read control signal SC (3) is output.
  • step S3 the read control unit 13 responds to the second read control signal SC (2) and transfers the next transfer from the buffer unit 12.
  • Read data In step S4 described above, the interface unit 14 outputs a DMA transfer request REQ for the transfer data read by the read control unit 13 in response to the second read control signal SC (2). Transfer to the common bus 180.
  • the transfer data read from the buffer unit 12 by the read control unit 13 temporarily stays in response to the second and subsequent read control signals SC (2) to SC (6).
  • the transfer data that stays is transferred quickly at a short time interval. You can make up for the transfer delay.
  • the second read control signal SC (2) and the third read control signal SC (3) are sent from the band smoothing unit 15. It has already been output to the read control unit 13. Therefore, when the DMA transfer acceptance ACK of the first transfer data read from the buffer unit 12 is received from the buffer unit 12 in response to the first read control signal SC (1), the read control unit 13 immediately in step S3 described above. In response to the second read control signal SC (2) from the buffer unit 12, the next transfer data is read. In step S4 described above, the interface unit 14 outputs the DMA transfer request REQ of the transfer data read in response to the second read control signal SC (2) to the common bus 180, and the transfer data is shared. Transfer to bus 180.
  • the DMA transfer request REQ is not limited to the maximum value of the count value of the counter 1503 as long as the situation in which the DMA transfer request REQ is promptly accepted after the time t1 is maintained. Is output from the interface unit 14. For this reason, the remaining second and subsequent transfer data are promptly transferred, and the delay in transfer of the transfer data can be compensated.
  • the delay in data transfer of the pixel data of the first group is compensated before the input image data Di that densely contains the pixel data of the second group next to the first group is input. . Therefore, it is possible to prevent the influence of processing due to the delay in the transfer of the first transfer data of the first group. Therefore, according to the first embodiment, it is possible to quickly perform the retained data transfer while effectively using the bandwidth of the common bus 180.
  • the write control unit 11 writes the input image data Di to the buffer unit 12 as transfer data to be transferred to the common bus 180 (step S1).
  • the image extraction unit 122 determines the position of the pixel data (transfer data) on the frame image sequentially input to the light control unit 11. Then, it is determined whether or not it is the position of the final transfer data of the frame image.
  • the image extraction unit 122 sends a setting signal E3 including final transfer information indicating that the position of the transfer data is the position of the final transfer data to the selector 1505. Output.
  • the read control unit 13 reads the transfer data from the buffer unit and transfers it to the common bus 180 (steps S2 to S4). More specifically, the band smoothing unit 15 generates a read control signal SC for reading transfer data from the buffer unit 12 so as to smooth the band of the common bus 180 based on the write completion notification signal SW. (Step S2). At this time, the band smoothing unit 15 switches between the transfer data transferred to the common bus 180 by switching the time interval of the read control signal SC according to whether the transfer data is the final transfer data in the frame. Switch the time interval.
  • the setting signal E3 including the final transfer information is input from the image extraction unit 122 to the selector 1505.
  • the selector 1505 selects the setting signal E2 and transmits it to the counter 1503 when the transfer data is read from the buffer unit 12.
  • the band smoothing unit 15 sets the time interval Ts between the transfer data to the time interval Ts2 based on the setting signal E2. Specifically, the band smoothing unit 15 sequentially inputs the write completion notification signal SW sequentially output from the write control unit 11 to the FIFO memory 1501 shown in FIG. Then, the band smoothing unit 15 outputs the write completion notification signal SW held in the FIFO memory 1501 as a read control signal SC in the order of input with a fixed time interval Ts (Ts2) determined based on the setting signal E2. . Thereby, as illustrated in FIG. 9A, the time interval Ts of the read control signal SC is set to a predetermined time interval Ts2 determined based on the setting signal E2.
  • write completion notification signals SW (1) to SW (6) output from the write control unit 11 to the band smoothing unit 15 and read control signals SC (1) to SW (6) output from the band smoothing unit 15 are used.
  • SC (6) is shown schematically.
  • the predetermined time interval Ts2 is a time interval shorter than the predetermined time interval Ts1 (FIGS. 7A, 7B, and 8A) set by the setting signal E1 when data other than the final transfer data is transferred.
  • the time interval Ts (Ts2) between the read control signals SC (1) to SC (6) is determined based on the maximum value of the count value set in the counter 1503 shown in FIG. 3 described above by the setting signal E2. A duplicate description is omitted.
  • the read control unit 13 reads the transfer data from the buffer unit 12 in response to the read control signal SC input from the band smoothing unit 15 (step S3). Then, the interface unit 14 transfers the transfer data read from the buffer unit 12 by the read control unit 13 to the common bus 180 (step S4). Except for the operation related to the setting of the time interval Ts, the operation when the transfer data is the final transfer data is the same as the operation described above when the transfer data is data other than the final transfer data.
  • the time interval between transfer data (that is, the time interval of the read control signal SC) is switched based on the setting signal E2
  • the final frame transfer is performed even if the bandwidth of the common bus 180 is smoothed.
  • the data transfer rate is increased, thereby suppressing data interference in the vicinity of the frame boundary.
  • the time interval Ts between transfer data is not switched and is fixed to the time interval Ts1.
  • the period from time t1 to time t3 corresponds to the first frame
  • the time after time t3 corresponds to the second frame
  • the transfer of the third group serving as the final transfer data is started at time t2.
  • the setting signal E3 including the final transfer information becomes high level.
  • the selector 1505 outputs the setting signal E2 to the counter 1503 in response to the setting signal E3 including the final transfer information.
  • the maximum value of the counter 1503 is set by the setting signal E2 at time t2. Therefore, after time t2, the time interval Ts of the read control signal SC is set to the time interval Ts2 ( ⁇ Ts1) (FIG. 10), and the time interval of the transfer data Do output from the data transfer apparatus 10 to the common bus 180 is also set.
  • the time interval Ts1 is shortened to the time interval Ts2 ( ⁇ Ts1).
  • the band of the common bus 180 is smoothed when transferring the third group which is the final transfer data of the first frame. There are cases where it is not.
  • the smoothing of the bandwidth of the common bus 180 is effectively performed during other data transfers, the bandwidth of the common bus 180 can be utilized as a whole, and the processing load on the bus arbiter side is reduced. Can be reduced. Therefore, according to the first embodiment, it is possible to smooth the bandwidth of the common bus while suppressing data interference between frames. That is, the final transfer data can be correctly transferred while controlling the bandwidth of the common bus 180.
  • FIG. 11 shows, as a reference example, the relationship between the transfer data of each frame when the time interval Ts of the read control signal SC is not switched to the time interval Ts2 but is maintained at the time interval Ts1 when the final transfer data is transferred.
  • the time interval Ts of the read control signal SC is maintained at the time interval Ts1
  • the time interval of the transfer data Do transferred to the common bus 180 is also maintained at the time interval Ts1.
  • a part of data Do (6) of the final transfer data (third group) of the first frame interferes with the data of the first group of the second frame.
  • the processing using the data of the first frame and the second frame may not be normally performed.
  • the bandwidth of the common bus 180 is smoothed, data interference between frames can be suppressed and processing stagnation is avoided. can do.
  • the setting signal E3 is assumed to be a signal indicating a set of data densely present in the lower image area A3 of the shooting screen P shown in FIG. 5A. 12, a signal including coordinate information indicating the position of a single piece of data that is finally transferred in an arbitrary image area where data is densely present on the frame image forming the shooting screen P is set as a setting signal.
  • the band smoothing unit 15 adjusts the time interval Ts between the transfer data based on the coordinate information indicating the position of the single transfer data on the frame image forming the photographing screen P. Others are the same as in the first embodiment.
  • image areas Y11, Y21, Y31 (hatched area) adjacent to the upper side of the evaluation areas X1 to X3 set in the frame image forming the shooting screen P, and the image adjacent to the lower side Areas Y12, Y22, and Y32 (shaded areas) are correction areas for acquiring data used to correct the evaluation value.
  • the correction area is an image area where transfer data is densely present.
  • the coordinate position of the last single data in each of the image areas Y11, Y21, Y31, Y12, Y22, and Y32 is schematically shown by a black circle.
  • the setting signal E3 includes information related to the coordinate position of a single piece of data exemplified by a black circle in FIG.
  • a signal indicating the coordinate position of such single image data for example, an existing signal generated in the image extraction process in the image extraction unit 122 can be used.
  • the image area Y12 and the image area Y21 are separated by an interval L
  • the image area Y22 and the image area Y31 are separated by an interval L.
  • the setting signal E3 including information on the coordinate position is output from the image extraction unit 122.
  • the band smoothing unit 15 sets the maximum value of the count value of the counter 1503 based on the setting signal E3 supplied from the image extracting unit 122, and sets the time interval of the read control signal SC to the time interval Ts2.
  • the time interval of the read control signal SC is switched to the time interval Ts2 at time t2A when the setting signal E3 related to the coordinate position of the last data Di (6) of the third group is output. That is, in the example of FIG. 13, the image extraction unit 122 acquires the coordinate position of the last data Di (6) of the third group at time t2A and reflects the information in the setting signal E3.
  • the band smoothing unit 15 sets the time interval Ts of the read control signal SC as the setting signal. The time interval Ts2 determined based on E2 is set.
  • the time interval of the transfer data Do transferred to the common bus 180 is shortened to the time interval Ts2.
  • the transfer of all data of the first frame is completed before the data of the second frame is transferred.
  • the time interval between transfer data is set to the time interval Ts1 by the setting signal E1, and the bandwidth of the common bus 180 is set. Is smoothed.
  • the maximum value of the counter value of the counter 1503 is smaller by the setting signal E2 than the maximum value of the counter value of the counter 1503 set by the setting signal E1.
  • the time interval Ts of the read control signal SC is shortened, and the time interval Tr of the DMA transfer request REQ is also shortened.
  • the band of the common bus 180 is not smoothed, but the data transfer speed increases, so that data interference between image areas and between frames can be prevented.
  • the second embodiment it is possible to smooth the bandwidth of the common bus while suppressing data interference regardless of the inside or outside of the frame. Further, according to the second embodiment, since the time interval Ts between transfer data is switched according to the coordinate position of each data, each image area can be obtained even if a plurality of image areas having different sizes are included in the frame. The bandwidth of the common bus can be smoothed while suppressing the data interference between them.
  • FIG. 14 is a block diagram showing a configuration example of the data transfer apparatus 30 according to the third embodiment of the present invention.
  • the data transfer device 30 includes a band smoothing unit 35 instead of the band smoothing unit 15 in the configuration of the data transfer device 10 shown in FIG. 2 according to the first embodiment described above.
  • the other configuration of the data transfer device 30 is the same as the configuration of the data transfer device 10 of the first embodiment.
  • FIG. 15 is a block diagram illustrating a configuration example of the band smoothing unit 35 included in the data transfer device 30 according to the third embodiment of the present invention.
  • the band smoothing unit 35 further includes a buffer margin determination unit 1506 in the configuration of the band smoothing unit 15 shown in FIG. 3 according to the first embodiment described above.
  • Other configurations of the band smoothing unit 35 are the same as the configurations of the band smoothing unit 15 of the first embodiment.
  • the buffer margin determination unit 1506 determines the remaining capacity (buffer margin) of the buffer unit 12.
  • the band smoothing unit 35 adjusts the time interval between the transfer data transferred to the common bus 180 (time intervals Ts1, Ts2 set by the setting signals E1, E2) according to the determination result of the buffer margin determination unit 1506. To do. Specifically, the band smoothing unit 35 decreases the time interval Ts between the transfer data as the remaining capacity of the buffer unit 12 is smaller.
  • the band smoothing unit 35 sets the time interval of the read control signal SC according to the setting signals E1 and E2 as in the first embodiment, and the read control signal according to the remaining capacity of the buffer unit 12. Adjust the SC time interval. The adjustment of the time interval of the read control signal SC by the setting signals E1 and E2 may be omitted. In this case, the band of the common bus 180 is not smoothed.
  • the band smoothing unit 35 calculates the number of write completion notification signals SW (ie, the number of data written to the buffer unit 12) and the number of read control signals SC (ie, the number of data read from the buffer unit 12).
  • the remaining capacity of the buffer unit 12 is grasped from the difference. When the remaining capacity of the buffer unit 12 is small, it means that the possibility that data cannot be written to the buffer unit 12 increases and the function of the buffer unit 12 is likely to be impaired.
  • the buffer margin determination unit 1506 outputs a signal M indicating the remaining capacity (buffer margin) of the buffer unit 12 to the counter 1503. In the third embodiment, the signal M indicates that the remaining capacity of the buffer unit 12 has a margin, the remaining capacity is small, or that there is almost no remaining capacity.
  • the counter 1503 adjusts the maximum value of the count value set according to the setting signals E1 and E2 based on the signal M input from the buffer margin determination unit 1506.
  • the band smoothing unit 35 applies a predetermined first coefficient “1” to the time interval Ts1 determined based on the setting signal E1.
  • the time interval Ts11 obtained by multiplication is set as the time interval Ts of the read control signal SC.
  • the time interval Ts of the transfer data Do transferred to the common bus 180 is set to a value equal to the time interval Ts1.
  • the band smoothing unit 35 multiplies the time interval Ts1 determined based on the setting signal E1 by a predetermined second coefficient “0.5”.
  • the time interval Ts12 is set as the time interval Ts of the read control signal SC.
  • the band smoothing unit 35 applies a predetermined third coefficient “0.2” to the time interval Ts1 determined based on the setting signal E1.
  • the multiplied time interval Ts13 is set as the time interval Ts of the read control signal SC.
  • the numerical values of the first coefficient, the second coefficient, and the third coefficient are only examples, and the numerical values of the coefficients are arbitrarily set as long as the remaining capacity of the buffer unit 12 can be adjusted. Can be set.
  • the band smoothing unit 35 decreases the time interval Ts1 of the read control signal SC set by the setting signal E1 as the remaining capacity of the buffer unit 12 indicated by the signal M decreases, and the time between transfer data.
  • the read speed from the buffer unit 12 is relatively higher than the write speed to the buffer unit 12, thereby increasing the remaining capacity of the buffer unit 12.
  • the data write operation to the buffer unit 12 can be stabilized, and the buffer of the buffer unit 12 can be stabilized.
  • the function can be stably maintained.
  • FIG. 17A and FIG. 17B are diagrams for explaining an operation example of the data transfer apparatus according to the related art for supplementing the effects of the data transfer apparatus according to the embodiment of the present invention.
  • FIG. 17A is a timing chart for explaining the operation when the time until the DMA transfer request is accepted is short.
  • FIG. 17B is a timing chart for explaining the operation when the time until the DMA transfer request is accepted is long.
  • the time interval TINT of the DMA transfer request REQ is fixed. For this reason, as illustrated in FIG. 17B, when it takes a long time from when the first DMA transfer request REQ is output to the common bus at time t10 to when the DMA transfer acceptance ACK is received at time t11, The next DMA transfer request REQ is output at time t12 after a certain time interval TINT is left from the DMA transfer request REQ. In other words, even if the first DMA transfer request REQ is accepted, the next DMA transfer request REQ is not output unless the time corresponding to the certain time interval TINT has elapsed. For this reason, transfer data staying until the first DMA transfer request REQ is accepted cannot be transferred promptly.
  • the time interval Tr of the DMA transfer request REQ is set to be a band smoothing.
  • the DMA transfer request REQ is output at the minimum time interval without being limited to the time interval Ts of the read control signal SC output from the unit 15. Therefore, it is possible to promptly output a DMA transfer request REQ after a DMA transfer request REQ that takes a long time to be accepted by the bus arbiter 161. Therefore, even if a long time is required until the DMA transfer request REQ is accepted, the transfer data staying in the meantime can be transferred quickly, and a decrease in the data transfer rate can be suppressed.
  • the DMA transfer request REQ in a situation where the DMA transfer request REQ is promptly accepted, the DMA transfer request REQ is set to smooth the bandwidth of the common bus 180.
  • the time interval Tr is set according to the time interval Ts of the read control signal SC output from the band smoothing unit 15. Even if the time interval Tr of the DMA transfer request REQ is set in this way, as illustrated in FIG. 17A, under the situation where the DMA transfer request REQ is promptly received, the pixel data of each group is inherently mutually Since there is no interference, the data transfer rate is not impaired.
  • the main effects of the embodiment of the present invention are summarized.
  • it is possible to smooth the bandwidth of the common bus 180 while suppressing data interference between frames.
  • it is possible to quickly transfer the retained data while effectively using the bandwidth of the common bus 180.
  • the time interval Ts between transfer data is adjusted according to the remaining capacity of the buffer unit 12, the buffer function of the buffer unit 12 can be stabilized.
  • a DMA transfer request REQ it is possible to output a DMA transfer request REQ according to the transfer data amount held in the buffer unit 12, thereby smoothing the bandwidth of the common bus 180 according to the transfer data amount. Even when a DMA transfer request is not accepted for a long time, the retention of processing as a buffer for transfer data can be suppressed. Further, the bandwidth can be controlled before the DMA transfer request REQ is output, and the bandwidth of the common bus 180 can be easily controlled. In addition, since it is not necessary to provide a complicated circuit for controlling the time interval Tr of the DMA transfer request REQ, the circuit scale can be reduced.
  • the bandwidth of the common bus 180 can be smoothed. Therefore, it is possible to secure the processing of the functional block with the low priority while executing the processing of the functional block with the high priority in the arbitration by the bus arbiter 161.
  • the DMA transfer request REQ is It is possible to make up for the delay in data transfer that has accumulated due to the long time required for acceptance.
  • the bandwidth of the common bus 180 can be smoothed by spreading the DMA transfer request REQ on the time axis.
  • time interval Tr of the DMA transfer request REQ can be adjusted with a simple configuration. Even if the rule of arbitration by the bus arbiter 161 is changed, the bandwidth of the common bus 180 can be smoothed by adjusting the maximum value of the counter 1503 by the setting signal E.
  • the present invention can be widely applied to data transfer apparatuses and data transfer methods, and can smooth the bandwidth of a common bus while suppressing data interference between frames.

Abstract

共通バスに転送される転送データを一時的に格納するバッファ部と、入力データを前記転送データとして前記バッファ部にライトするライト制御部と、前記バッファ部から前記転送データをリードするリード制御部と、前記リード制御部により前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送するインターフェイス部と、前記転送データのフレーム画像上における位置に基づき、前記転送データを前記共通バスに転送する際の転送データ間の時間間隔を切り替えることにより、前記共通バスの帯域を平滑化する帯域平滑部と、を備えたデータ転送装置。

Description

データ転送装置およびデータ転送方法
 本発明は、データ転送装置およびデータ転送方法に関する。
 本願は、2015年6月15日に、日本に出願された特願2015-120074号に基づき優先権を主張し、その内容をここに援用する。
 従来、デジタルカメラ等の撮像システムは、各種の機能ブロックが割り当てられた複数のLSI(Large Scale Integration)を備えている。複数のLSIは、DMA(Direct Memory Access)用の共通バスに接続されている。複数のLSIにそれぞれ割り当てられた複数の機能ブロックが共通バスを介して1つのDRAM(Dynamic Random Access Memory)を共有している。複数の機能ブロックが共通バスを共有するために、この種の撮像システムは、バスアービタを備える。
 一般に、バスアービタによるアービトレーションによれば、優先度の高い機能ブロックがDMA転送要求を連続的に出力した場合、他の機能ブロックにバス権が渡らず、他の機能ブロックの処理が滞留する場合がある。この問題の解決を図った従来技術として、特許文献1に開示された技術がある。特許文献1の技術では、優先度の高い機能ブロックが一定の時間間隔を空けてDMA転送要求を出力し、共通バスの帯域を平滑化することにより、たとえ優先度の高い機能ブロックのDMA転送要求が連続したとしても、バスアービタが優先度の低い他の機能ブロックのDMA転送要求を受け付けることをできるようにしている。
日本国特開2006-39672号公報
 しかしながら、特許文献1の技術によれば、共通バスを平滑化した結果、或るフレームの転送データが次のフレームの転送データと共通バス上で干渉し、転送データの転送処理が困難になる場合がある。これについて、図6および図11を参照して具体的に説明する。図6は、転送対象の連続した複数のフレーム画像の例を説明するための図である。図6には、時間的に連続する複数のフレーム画像P1,P2,…が示されている。フレーム画像P1,P2…はこの順序で順次転送される。フレーム画像P1には転送データが密に存在する画像領域A11~A13が存在する。フレーム画像P2には転送データが密に存在する画像領域A21~A23が存在する。図6に示す例では、先頭のフレーム画像P1の下側に、転送対象のデータが密に存在する画像領域A13が存在し、次のフレーム画像P2の上側に、転送対象のデータが密に存在する画像領域A21が存在している。
 図6に例示する複数のフレーム画像P1,P2…を順次転送する過程で、先頭のフレーム画像P1の画像領域のうち最後に転送される画像領域A13に含まれる第3グループのデータを転送する場合について説明する。図11は、フレーム間の転送データの関係を示す図である。図11において、第1フレームはフレーム画像P1に対応し、第2フレームはフレーム画像P2に対応する。また、第1フレームの、第1グループは画像領域A11に対応し、第2グループは画像領域A12に対応し、第3グループは画像領域A13に対応する。第2フレームの、第1グループは画像領域A21に対応する。図11では、各グループ(画像領域)に含まれる、入力画像データDi(1)~Di(6)と、対応する出力転送データDo(1)~Do(6)が記載されている。
 第3グループのデータを転送する際に共通バスの帯域を平滑化しようとすると、図11に示すように、先頭の第1フレーム(フレーム画像P1)の第3グループ(画像領域A13)に含まれるデータDo(6)が次の第2フレーム(フレーム画像P2)の第1グループ(画像領域A21)に含まれるデータDo(1)等と共通バス上で干渉する。即ち、転送データがフレームを跨いで共通バスに出力され、フレーム間でデータが干渉する。この結果、共通バス上に転送された転送データを用いた処理が滞留する場合がある。
 本発明は、上記事情に鑑みてなされたものであり、フレーム間のデータ干渉を抑制しつつ、共通バスの帯域を平滑化することができるデータ転送装置およびデータ転送方法を提供することを課題とする。
 本発明の第1態様によれば、データ転送装置は、共通バスに転送される転送データを一時的に格納するバッファ部と、入力データを前記転送データとして前記バッファ部にライトするライト制御部と、前記バッファ部から前記転送データをリードするリード制御部と、前記リード制御部により前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送するインターフェイス部と、前記転送データのフレーム画像上における位置に基づき、前記転送データを前記共通バスに転送する際の転送データ間の時間間隔を切り替えることにより、前記共通バスの帯域を平滑化する帯域平滑部と、を備える。
 本発明の第2態様によれば、第1態様のデータ転送装置において、前記帯域平滑部は、前記転送データの前記フレーム画像上における位置を示す座標情報に基づき前記時間間隔を切り替えてもよい。
 本発明の第3態様によれば、第1態様または第2態様のデータ転送装置において、前記帯域平滑部は、前記フレーム画像に含まれる最終転送データ以外の転送データを転送する際の前記時間間隔に関する第1パラメータと、前記最終転送データを転送する際の前記時間間隔に関する第2パラメータとを有し、前記転送データの前記フレーム画像上における位置が、前記最終転送データ以外の転送データの位置である場合、前記第1パラメータを用いて前記時間間隔を設定し、前記転送データの前記フレーム画像上における位置が、前記最終転送データの位置である場合、前記第2パラメータを用いて前記時間間隔を設定し、前記第2パラメータを用いて設定される前記時間間隔は、前記第1パラメータを用いて設定される前記時間間隔よりも短くてもよい。
 本発明の第4態様によれば、第1態様から第3態様の何れか1つのデータ転送装置は、前記バッファ部の残容量を判定する判定部を更に備え、前記帯域平滑部は、前記判定部の判定結果に応じて、前記時間間隔を調整してもよい。
 本発明の第5態様によれば、第4態様のデータ転送装置において、前記帯域平滑部は、前記バッファ部の残容量が少ない程、前記時間間隔を減少させてもよい。
 本発明の第6態様によれば、データ転送方法は、共通バスに転送される転送データとして入力データをバッファ部にライトする第1段階と、前記バッファ部から前記転送データをリードし、前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送する第2段階と、を含み、前記第2段階では、前記転送データのフレーム画像上における位置に基づき、前記転送データを前記共通バスに転送する際の転送データ間の時間間隔を切り替えることにより、前記共通バスの帯域を平滑化する。
 本発明の各態様によれば、フレーム間のデータ干渉を抑制しつつ、共通バスの帯域を平滑化することができる。
本発明の第1実施形態に係るデータ転送装置が適用された撮像システムの構成例を示すブロック図である。 本発明の第1実施形態に係るデータ転送装置の構成例を示すブロック図である。 本発明の第1実施形態に係るデータ転送装置が備える帯域平滑部の構成例を示すブロック図である。 本発明の第1実施形態に係るデータ転送装置の動作フローの一例を示すフローチャートである。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、転送対象の画像データの例を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、転送対象の画像データの例を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、転送対象の画像データの例を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、転送対象の画像データの例を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、転送対象の連続した複数のフレーム画像の例を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、最終転送データ以外のデータを転送する場合の動作を説明するためのタイミングチャートである。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、最終転送データ以外のデータを転送する場合の入力データと出力データとの関係を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートである。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、DMA転送要求が受け付けられるまでの時間が長い場合の入力データと出力データとの関係を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、最終転送データを転送する場合の動作を説明するためのタイミングチャートである。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、最終転送データを転送する場合の入力データと出力データとの関係を説明するための図である。 本発明の第1実施形態に係るデータ転送装置の動作を説明するための図であり、フレーム間の転送データの関係を示す図である。 本発明の第1実施形態に係るデータ転送装置の動作を補足説明するための図であり、転送データ間の時間間隔を切り替えない場合のフレーム間の転送データの関係を示す図である。 本発明の第2実施形態に係るデータ転送装置の動作を説明するための図であり、転送対象のフレーム画像の例を説明するための図である。 本発明の第2実施形態に係るデータ転送装置の動作を補足説明するための図であり、フレーム間の転送データの関係を示す図である。 本発明の第3実施形態に係るデータ転送装置の構成例を示すブロック図である。 本発明の第3実施形態に係るデータ転送装置が備える帯域平滑部の構成例を示すブロック図である。 本発明の第3実施形態に係るデータ転送装置が備える帯域平滑部の動作を説明するための図であり、バッファ部の残容量と転送データ間の時間間隔との関係を説明するための図である。 本発明の実施形態に係るデータ転送装置の効果を補足するための従来技術に係るデータ転送装置の動作例を説明するための図であり、DMA転送要求が受け付けられるまでの時間が短い場合の動作を説明するためのタイミングチャートである。 本発明の実施形態に係るデータ転送装置の効果を補足するための従来技術に係るデータ転送装置の動作例を説明するための図であり、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートである。
 以下、図面を参照しながら、本発明の実施形態を説明する。
(第1実施形態)
 先ず、本発明の第1実施形態を説明する。
 図1は、本発明の第1実施形態に係るデータ転送装置が適用された撮像システム100の構成例を示すブロック図である。
 撮像システム100は、例えばデジタルカメラである。撮像システム100は、イメージセンサ110、機能ブロック120~150、バスアービタ161、DRAMインターフェイス部162、DRAM163、中央演算処理装置(CPU;Central Processing Unit)170、共通バス180を備えている。なお、図1では、イメージセンサ110の撮像面に被写体の光像を結像させるための光学系等は省略されている。
 イメージセンサ110は、被写体の光像を光電変換して画素データ(画素信号)を生成する。イメージセンサ110は、例えばCCD(Charge Coupled Device)イメージセンサまたはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。イメージセンサ110は、例えばRGB表色系の画像データを出力する。
 機能ブロック120は、イメージセンサ110により得られた画像データを共通バス180に出力するためのバスインターフェイスとして機能する。機能ブロック120は、前処理部121、画像抽出部122,123、評価値生成部124、データ転送部125~127を備えている。前処理部121は、イメージセンサ110により得られた画像データに対し、例えばキズ補正やシェーディング補正等の前処理を施す。
 画像抽出部122,123は、イメージセンサ110により得られた画像データの一部を切り出すことにより、上記画像データから表示画像や記録画像等の画像データを抽出する。評価値生成部124は、露出、ホワイトバランス、フォーカス等の制御に用いられる評価値を生成する。データ転送部125は、画像抽出部122により抽出された画像データを共通バス180に転送する。データ転送部126は、画像抽出部123により抽出された画像データを共通バス180に転送する。データ転送部127は、評価値生成部124により生成された評価値を共通バス180に転送する。
 機能ブロック130は、画像を表示する。機能ブロック130は、データ転送部131、表示処理部132、表示デバイス133を備えている。データ転送部131は、表示デバイス133に表示される画像(以下、表示画像と称す。)の画像データを共通バス180から表示処理部132に転送する。表示処理部132は、DRAM163から表示画像の画像データを取得し、この画像データにOSD(On Screen Display)重畳処理等の表示処理を施す。表示デバイス133は、表示処理部132により処理された画像データを可視化する。表示デバイス133は、例えばTFT(Thin Film Transistor)液晶デバイスや有機EL(ElectroLuminescence)表示デバイスである。
 機能ブロック140は、画像データを記憶する。機能ブロック140は、データ転送部141,142、カードインターフェイス部143、記録媒体144を備えている。データ転送部141は、カードインターフェイス部143から供給される画像データを共通バス180に転送する。データ転送部142は、共通バス180から供給される画像データをカードインターフェイス部143に転送する。カードインターフェイス部143は、DRAM163から画像データをリードして記録媒体144にライトし、記録媒体144から画像データをリードしてDRAM163にライトする。記録媒体144は、例えばSD(Secure Digital)カードやCF(Compact Flash)等、カードインターフェイス部143に着脱できるようなメモリカードである。
 機能ブロック150は、DRAM163に格納された画像データ(前処理された画像データ)に対し、ノイズ除去処理、YC変換処理、リサイズ処理、JPEG圧縮処理等の所定の画像処理を施して表示画像や記録画像を生成する。機能ブロック150は、データ転送部151,152、画像処理部153を備えている。データ転送部151は、画像処理部153から供給された画像データを共通バス180に転送する。データ転送部152は、共通バス180から供給された画像データを画像処理部153に転送する。画像処理部153は、上記所定の画像処理を実施する。画像処理部153により上記所定の画像処理が施された画像データは、DRAM163に転送されて格納される。
 バスアービタ161は、共通バス180に接続された機能ブロック120~150から出力されるDMA転送要求を調整して受け付ける。バスアービタ161は、DRAM163に対するアクセスを許可するためのバス権が付与される機能ブロックを決定する。DRAMインターフェイス部162は、DRAM163への画像データのライトとDRAM163からの画像データのリードとを実施する。DRAM163は、機能ブロック120~150により共有された半導体メモリである。DRAM163は、例えばシンクロナスDRAMである。
 中央演算処理装置170は、撮像システム100の全体動作を制御する。なお、中央演算処理装置170も、上述の機能ブロック120~150と同様に、DRAM163を共有する機能ブロックの一つである。
 第1実施形態に係るデータ転送装置は、上述した撮像システム100に備えられたデータ転送部125~127,131,141,142,151,152のうち、共通バス180に画像データを出力するデータ転送部125~127,141,151のそれぞれに相当する。以下の説明において、機能ブロック120に備えられたデータ転送部125に着目し、データ転送部125を「データ転送装置10」と称す。
 なお、第1実施形態に係るデータ転送装置は、図1に示す撮像システム100に備えられた全てのデータ転送部に適用することもでき、一部のデータ転送部にのみ適用することもできる。
 図2は、本発明の第1実施形態に係るデータ転送装置10の構成例を示すブロック図である。
 データ転送装置10は、ライト制御部11、バッファ部12、リード制御部13、インターフェイス部(I/F部)14、帯域平滑部15を備えている。
 なお、帯域平滑部15とライト制御部11とを一体化してもよく、帯域平滑部15とリード制御部13とを一体化してもよい。また、リード制御部13とインターフェイス部14とを一体化してもよい。
 ライト制御部11は、イメージセンサ110によって取得された画素データのデータ列からなる入力画像データDiを転送データとしてバッファ部12の記憶領域M0~M15に順次的にライトする。ライト制御部11は、入力画像データDiを構成する所定数の画素分の画素データ(例えば32画素分の画素データ)のライトが完了する都度、入力画像データDiをバッファ部12にライトした旨を示すライト完了通知信号SWを出力する。ライト完了通知信号SWには、入力画像データDiがライトされた記憶領域M0~M15の何れかを示すアドレス情報が含まれている。第1実施形態では、ライト制御部11は、入力画像データDiを構成する32画素分の画素データのライトが完了する都度、ライト完了通知信号SWを出力するが、本発明はこの例に限定されない。
 また、ライト制御部11は、後述するリード制御部13からリード完了通知信号SRを受信すると、そのリード完了通知信号SRに基づいて、バッファ部12の記憶領域M0~M15のうち、転送データがリードされた記憶領域(即ち、空いた記憶領域)を特定する。ライト制御部11は、バッファ部12の空いた記憶領域に入力画像データDiをライトする。
 バッファ部12は、共通バス180に転送される転送データを一時的に格納する。バッファ部12は、例えばSRAM(Static Random Access Memory)から構成される。第1実施形態では、バッファ部12は、記憶領域M0~M15の合計16個の記憶領域を含む。各記憶領域には、入力画像データDiを構成する上記所定数の画素分の画素データが転送データとして格納される。第1実施形態では、記憶領域M0~M15のそれぞれには、32画素分の画素データが格納される。1画素分の画素データを2バイトとすれば、記憶領域M0~M15のそれぞれには、64(=2×32)バイトの画素データが格納される。従って、記憶領域M0~M15のそれぞれは、少なくとも64バイトの記憶容量を有している。
 バッファ部12は、記憶領域M0から記憶領域M15に向けて、入力画像データDiを構成する画素データを64バイト単位で順次的に格納する。具体的には、バッファ部12は、入力画像データDiを構成する最初の32画素分の64バイトの画素データを先頭の記憶領域M0に格納し、次の32画素分の64バイトの画素データを記憶領域M1に格納する。以下同様にして、バッファ部12は、入力画像データDiを構成する後続の画素データを64バイト単位で記憶領域M2~M15に順次格納する。最後の記憶領域M15に入力画像データDiが格納されると、バッファ部12は、再び先頭の記憶領域M0から記憶領域M15に向けて、入力画像データDiを構成する新たな後続の各画素データを64バイト単位で各記憶領域に順次的に格納する。即ち、バッファ部12の記憶領域M0から記憶領域M15には、イメージセンサ110から順次出力される入力画像データDiの各画素データがライト制御部11によって巡回的にライトされる。以下の説明において、バッファ部12に画素データをライトすることは、記憶領域M0~M15に入力画像データDiを32画素分の64バイト単位でライトすることを意味する。
 なお、撮像システム100の構成上、バッファ部12に入力画像データDiをライトするためのライトクロック信号と、バッファ部12から転送データをリードするためのリードクロック信号とが、相互に異なるクロック信号である場合、バッファ部12として、例えば、ライトクロック信号とリードクロック信号とを個別に入力可能なタイプのSRAM(例えば、デュアルポートSRAM)を用いることができる。
 リード制御部13は、帯域平滑部15から出力される後述のリード制御信号SCに応答して、バッファ部12から転送データをリードする。リード制御信号SCは、ライト完了通知信号SWを遅延させた信号である。従って、リード制御信号SCは、ライト完了通知信号SWと同様に、バッファ部12に入力画像データDiがライトされた旨を示す情報と、入力画像データDiがライトされた記憶領域を示すアドレス情報とを含んでいる。リード制御部13は、帯域平滑部15からリード制御信号SCを受信すると、このリード制御信号SCに含まれるアドレス情報によって示されるバッファ部12の記憶領域M0~M15から32画素分の64バイト単位で画素データを転送データとしてリードする。以下の説明において、バッファ部12から転送データをリードすることは、記憶領域M0~M15から画素データを転送データとして32画素分の64バイト単位でリードすることを意味する。
 リード制御部13は、バッファ部12から32画素分の64バイトの転送データのリードを完了する都度、その転送データをリードした旨を示すリード完了通知信号SRをライト制御部11に出力する。リード完了通知信号SRには、リードされた転送データが格納されていたバッファ部12の記憶領域を示すアドレス情報(即ち、空いた記憶領域を示す情報)が含まれている。
 インターフェイス部14は、リード制御部13によりバッファ部12からリードされた転送データを、所定のバスプロトコルに従って共通バス180に転送する。具体的には、インターフェイス部14は、転送データを共通バス180に転送するために、DMA転送要求REQの送信、DMA転送受付ACKの受信、転送データの転送先を示すDRAM上のアドレスADDの送信、転送データ(画素データ)本体の送信等を行う。
 帯域平滑部15は、共通バス180の帯域を平滑化する。帯域平滑部15は、ライト制御部11から入力されるライト完了通知信号SWに基づいて、リード制御部13がバッファ部12から転送データをリードするタイミングを制御することにより、共通バス180の帯域を平滑化する。帯域平滑部15は、ライト制御部11から入力されたライト完了通知信号SWを遅延させることにより、バッファ部12から転送データをリードするタイミングを制御するためのリード制御信号SCを生成してリード制御部13に出力する。ライト完了通知信号SWを遅延させることは、ライト完了通知信号SWを平滑化することを意味する。従って、ライト完了通知信号SWを遅延させることにより生成されるリード制御信号SCは、平滑化後のライト完了通知信号SWである。
 具体的には、帯域平滑部15は、入力画像データDiを構成する画素データがライト制御部11によりバッファ部12に順次的にライトされるに従ってライト制御部11から順次的に出力されるライト完了通知信号SWを遅延させることにより、所定の時間間隔を空けて、前記ライト完了通知信号を前記リード制御信号としてリード制御部13へ順次的に出力する。帯域平滑部15には、上記所定の時間間隔を設定するための設定信号Eが中央演算処理装置170(図1)等から入力される。ただし、設定信号Eは、外部から直接的に帯域平滑部15に入力されてもよい。
 なお、第1実施形態では、帯域平滑部15は、バッファ部12から転送データをリードするタイミングを制御することにより、共通バス180の帯域を平滑化しているが、共通バス180の帯域の平滑化の手法は任意に選択できる。
 また、帯域平滑部15は、共通バス180に転送される転送データのフレーム画像上における位置に基づき、転送データを共通バス180に転送する際の転送データ間の時間間隔を決める上記所定の時間間隔を切り替える。これにより、帯域平滑部15は、共通バス180の帯域を平滑化する。帯域平滑部15は、上記所定の時間間隔を設定するためのパラメータとして、フレーム画像に含まれる最終転送データ以外の転送データを転送する際の転送データ間の時間間隔に関する第1パラメータと、最終転送データを転送する際の転送データ間の時間間隔に関する第2パラメータとを有している。第2パラメータを用いて設定される転送データ間の時間間隔は、第1パラメータを用いて設定される転送データ間の時間間隔よりも短い。
 帯域平滑部15は、転送データのフレーム画像上における位置が最終転送データ以外の転送データの位置である場合、第1パラメータを用いて転送データ間の時間間隔を設定する。また、帯域平滑部15は、転送データのフレーム画像上における位置が最終転送データの位置である場合、第2パラメータを用いて転送データ間の時間間隔を設定する。第1パラメータおよび第2パラメータから、帯域平滑部15を構成する後述のカウンタ1503(図3)のカウント値の最大値が決まる。
 図3は、本発明の第1実施形態に係るデータ転送装置10が備える帯域平滑部15の構成例を示すブロック図である。
 帯域平滑部15は、FIFO(First-In First-OUT)メモリ1501、カウンタ1502,1503、リード判定部1504、セレクタ1505を備えている。FIFOメモリ1501は、ライト制御部11から順次的に出力されるライト完了通知信号SWを一時的に保持する。FIFOメモリ1501は、例えば、従属接続された複数のレジスタから構成される。FIFOメモリ1501は、ライト完了通知信号SWを一時的に保持することにより、ライト完了通知信号SWを遅延させ、後述するリード判定部1504から入力されるFIFOリード命令に従ってライト完了通知信号SWをリード制御信号SCとして出力する。
 カウンタ1502は、ライト制御部11から順次的に出力されるライト完了通知信号SWに応答して、FIFOメモリ1501に既に保持されたライト完了通知信号SWのうち、FIFOメモリ1501からリードされていないライト完了通知信号SWの数をカウントする。カウンタ1502は、ライト制御部11からFIFOメモリ1501にライト完了通知信号SWが入力される都度、カウントアップする。また、カウンタ1502は、FIFOメモリ1501からライト完了通知信号SWがリードされる都度、カウントダウンする。
 カウンタ1502のカウント値は、FIFOメモリ1501に入力されたライト完了通知信号SWの数とFIFOメモリ1501から出力されたライト完了通知信号SWの数との差分(ゼロを含む自然数)を表す。従って、カウンタ1502のカウント値から、FIFOメモリ1501からリードされていないライト完了通知信号SWの有無を知ることができる。カウンタ1502のカウント値が1以上の値であれば、FIFOメモリ1501からリードされていないライト完了通知信号SWがFIFOメモリ1501に存在する。また、カウンタ1502のカウント値が0であれば、FIFOメモリ1501に入力されたライト完了通知信号SWは全てリードされ、FIFOメモリ1501からリードされていないライト完了通知信号SWはFIFOメモリ1501に存在しない。
 カウンタ1503は、セレクタ1505から供給される設定信号E1または設定信号E2によってカウンタ1503に設定されるカウント値の最大値にカウント値が到達するまで所定周期でカウントアップする。カウンタ1503のカウント値が、設定信号E1または設定信号E2によって設定される最大値に到達すると、カウンタ1503は、カウント値が最大値に到達した旨を示す信号をリード判定部1504に出力し、その後、カウンタ1503は、FIFOメモリ1501のリードのタイミングで初期化される。即ち、カウンタ1503のカウント値は、FIFOメモリ1501からライト完了通知信号SWがリードされる度に初期化される。具体的には、カウンタ1503は、リード判定部1504がFIFOリード命令を出力すると、そのFIFOリード命令に応答して初期化される。カウンタ1503は、初期化された後、カウント値が最大値に到達するか、または、再度初期化されるまで、繰り返しカウントアップする。
 設定信号E1,E2によってカウンタ1503に設定されるカウント値の最大値に基づいて、帯域平滑部15から順次的に出力されるリード制御信号SCの時間間隔Tsが決まる。ここで、設定信号E1は前述の第1パラメータに相当し、設定信号E2は前述の第2パラメータに相当する。カウンタ1503に設定されるカウント値の最大値を増加させる程、リード制御信号SCの時間間隔Ts(図7)が大きくなる。この場合、共通バス180の帯域の平滑化が進む一方、データの転送速度が低下する。逆に、上記最大値を減少させる程、リード制御信号SCの時間間隔が小さくなる。この場合、データの転送速度が上昇する一方、共通バス180の帯域の平滑化があまりされない。カウンタ1503に設定されるカウント値の最大値は、必要とされるデータ転送速度や共通バス180の帯域の平滑化の程度等に応じて任意に設定され得る。ただし、第1実施形態では、カウンタ1503に設定されるカウント値の最大値は、セレクタ1505から供給される設定信号E1および設定信号E2のそれぞれに対応した二つの値のうちの何れかに設定される。
 リード判定部1504は、カウンタ1502,1503のカウント値に基づいてFIFOメモリ1501のリードを制御する。即ち、リード判定部1504は、カウンタ1503のカウント値が上記最大値に基づいて決まる所定値に到達し、且つ、カウンタ1502のカウント値がFIFOメモリ1501からリードされていないライト完了通知信号SWがFIFOメモリ1501に存在することを示す値である場合、ライト完了通知信号SWのリードを指示するためのFIFOリード命令をFIFOメモリ1501に出力する。
 リード判定部1504は、上記FIFOリード命令をFIFOメモリ1501に出力することにより、FIFOメモリ1501からリードされていないライト完了通知信号SWをFIFOメモリ1501からリード制御信号SCとしてリードして出力させる。このとき、リード制御信号SCは、カウンタ1503に設定されるカウント値の最大値によって定まる所定の時間間隔Ts(図7)を空けて、帯域平滑部15のFIFOメモリ1501からリード制御部13へ順次的に出力される。このように、リード制御信号SCが時間間隔Tsを空けてリード制御部13に入力されることにより、後述するように、共通バス180の帯域が平滑化される。
 セレクタ1505は、カウンタ1503のカウント値の最大値を設定するための設定信号E1,E2の何れかを選択してカウンタ1503に供給する。セレクタ1505には、例えば図1に示す中央演算処理装置170から2種類の設定信号E1,E2が入力される。設定信号E1,E2に基づいて、それぞれ、カウンタ1503のカウント値の最大値を設定するための上述の第1パラメータおよび第2パラメータが決まる。
 設定信号E2(第2パラメータ)によって設定されるカウント値の最大値は、設定信号E1(第1パラメータ)によって設定されるカウント値の最大値よりも小さい。従って、設定信号E2によってカウンタ1503のカウント値の最大値が設定された場合には、設定信号E1によってカウンタ1503のカウント値の最大値が設定された場合に比較して、DMA転送要求REQの時間間隔Tsが短くなる。
 また、セレクタ1505には、図1に示す画像抽出部122から設定信号E3が入力される。設定信号E3は、リード制御部13によってバッファ部12からリードされる転送データが最終転送データであること、即ち、バッファ部12からリードされる上記転送データのフレーム画像上における位置がこのフレーム画像上の最終転送データの位置であることを示す最終転送情報信号である。第1実施形態では、設定信号E3は、各フレーム画像に密に存在するデータの集合のうち、フレーム内で最後に転送対象となるデータの集合を示す信号である。具体的には、図10の最上段に例示するように、設定信号E3は、例えば図5Aに示す下側の画像領域A3に密に存在するデータ(第3グループ)を転送する際にローレベルからハイレベルに遷移する信号である。第1実施形態では、設定信号E3として、画像抽出部122が画像抽出処理を実施する過程で生成する既存の信号を用いる。
 セレクタ1505は、設定信号E3によって示される転送データの位置がフレーム画像上の最終転送データの位置を示す場合、設定信号E2を選択してカウンタ1503およびリード判定部1504に出力する。その他の場合、即ち、設定信号E3によって示される転送データの位置がフレーム画像上の最終転送データ以外の転送データの位置を示す場合、セレクタ1505は、設定信号E1を選択してカウンタ1503およびリード判定部1504に出力する。
 次に、図4に示すフローに沿って、図5Aから図11を参照しながら、第1実施形態に係るデータ転送装置10の動作(データ転送方法)を説明する。
 ここでは、理解の容易化のため、転送データがフレーム画像内の最終転送データでない場合と、転送データがフレーム画像内の最終転送データである場合とに分けて、データ転送装置10の動作を説明する。なお、フレーム画像内の「最終転送データ」とは、フレーム画像内に密に存在するデータの集合のうち、時間的に最後に転送対象となるデータの集合を指し、例えば、図5Aに例示する撮影画面Pを形成するフレーム画像の画像領域A1~A3のうち、最後に転送対象となる画像領域A3に含まれるデータの集合である。
 図4は、本発明の第1実施形態に係るデータ転送装置10の動作フローの一例を示すフローチャートである。図5A~図5Dは、本発明の第1実施形態に係るデータ転送装置10の動作を説明するための図であり、転送対象の画像データの例を説明するための図である。図6は、本発明の第1実施形態に係るデータ転送装置10の動作を説明するための図であり、転送対象の連続した複数のフレーム画像の例を説明するための図である。図7Aおよび図7Bは、本発明の第1実施形態に係るデータ転送装置10の動作を説明するための図である。図7Aは、最終転送データ以外のデータを転送する場合の動作を説明するためのタイミングチャートである。図7Bは、最終転送データ以外のデータを転送する場合の入力画像データDiと出力転送データDoとの関係を説明するための図である。図8Aおよび図8Bは、本発明の第1実施形態に係るデータ転送装置10の動作を説明するための図である。図8Aは、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートである。図8Bは、DMA転送要求が受け付けられるまでの時間が長い場合の入力画像データDiと出力転送データDoとの関係を説明するための図である。図9Aおよび図9Bは、本発明の第1実施形態に係るデータ転送装置10の動作を説明するための図である。図9Aは、最終転送データを転送する場合の動作を説明するためのタイミングチャートである。図9Bは、最終転送データを転送する場合の入力データと出力データとの関係を説明するための図である。図10は、本発明の第1実施形態に係るデータ転送装置10の動作を説明するための図であり、フレーム間の転送データの関係を示す図である。図11は、本発明の第1実施形態に係るデータ転送装置10の動作を補足説明するための図であり、転送データ間の時間間隔を切り替えない場合のフレーム間の転送データの関係を示す図である。
 画像抽出部122は、入力画像データDi(前処理部121によって前処理が施された入力画像データ)から画像データを抽出する際に、入力画像データDiがフレーム内の最終転送データであるか否かを判定する。そして、画像抽出部122は、入力画像データDiが最終転送データであるか否かを示す情報を含む設定信号E3を帯域平滑部25のセレクタ1505に出力する。
 ここでは、転送データがフレーム画像内の最終転送データでない場合と、転送データがフレーム画像内の最終転送データである場合とに分けて、データ転送装置10の動作を説明する。
1.転送データがフレーム画像内の最終転送データでない場合
 転送データの位置がフレーム画像内の最終転送データの位置でない場合には、通常、共通バスの帯域を平滑化しても、フレーム間のデータ干渉は発生し得ない。従って、この場合は、共通バス180の帯域の平滑化の動作のみ行い、フレーム間のデータ干渉の抑制に関連する動作は行わない。
 転送データの位置がフレーム画像内の最終転送データの位置でない場合、画像抽出部122から帯域平滑部15に供給される設定信号E3は、最終転送データの位置以外の位置を示す。この場合、セレクタ1505は、設定信号E1を選択してカウンタ1503に供給する。従ってこの場合、カウンタ1503のカウント値の最大値は、設定信号E1に基づいて設定される値となり、設定信号E2に基づいて設定される値よりも大きい値になる。このことは、後述するように、転送データがフレーム画像内の最終転送データでない場合の転送データ間の時間間隔が、転送データがフレーム画像内の最終転送データである場合の転送データ間の時間間隔よりも大きくなることを意味する。
 ここでは、第1実施形態に係る効果に関する理解を容易化するため、入力画像データDiには、画素データが密に含まれる領域(密の領域)と、画素データが殆ど含まれない領域(疎の領域)が存在するとする。一般に、画素データが密に含まれる入力画像データDiを或る機能ブロックから共通バス180に転送する場合、当該機能ブロックはDMA転送要求を連続的に出力する。このため、DMA転送要求が出力される期間、他の機能ブロックのDMA転送要求がバスアービタに受け付けられなくなる状況が発生し得る。このような状況を回避するため、第1実施形態では、帯域平滑部15が共通バス180の帯域を平滑化する。
 図5A~図5Dには、データ転送装置10によるデータ転送の対象となる画素データが密に含まれる領域(密の領域)と画素データが殆ど含まれない領域(疎の領域)とが存在する入力画像データDiによる撮影画面Pの例が示されている。図5Aに示された撮影画面Pは、画像(転送対象となる画素データ)の取り込みが行われる画像領域A1~A3と、画像の取り込みが殆ど行われない画像領域(画像領域A1~A3以外の領域)とを含んでいる。イメージセンサ110から取得される入力画像データDiには、画像領域A1~A3を表示するための画素データが密に含まれている。換言すれば、画像領域A1~A3には、画素データが密に含まれている(密の領域)。これに対し、入力画像データDiには、画像領域A1~A3以外の領域を表示するための画素データは殆ど含まれていない。換言すれば、画像領域A1~A3以外の領域には、画素データが殆ど含まれていない(疎の領域)。このため、図5Aに例示する撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、画素データが密に含まれる領域(密の領域)と画素データが殆ど含まれない領域(疎の領域)とが交互に存在する。
 図5Bに示された撮影画面Pは、図5Aに示す例と同様に、画像(転送対象となる画素データ)の取り込みが行われる画像領域A1~A3と、画像の取り込みが殆ど行われない画像領域(画像領域A1~A3以外の領域)とを含んでいる。ただし、図5Bの例では、実際に転送対象となる画素データは、点線で示される各画像領域A1~A3の上辺側の一部の画素データと、下辺側の一部の画素データのみである。この場合、点線で示される領域の画素データが入力画像データDiに密に含まれている(密の領域)。その他の領域の画素データは入力画像データDiに殆ど含まれていない(疎の領域)。この場合も、撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、画素データが密に含まれる領域(密の領域)と画素データが殆ど含まれない領域(疎の領域)とが交互に存在する。
 図5Cに示された撮影画面Pは、広角画像PWと望遠画像PTとを含む。マルチレコーディングでは、広角画像PWと望遠画像PTとを含む撮影画面Pの画素データが転送される。マルチレコーディングでは、望遠画像PTの領域が、画像(転送対象となる画素データ)の取り込みが行われる領域に相当する。すなわち、望遠画像PTの領域の画素データは入力画像データDiに密に含まれる(密の領域)。その他の領域(広角画像PWの領域)は、画像の取り込みが殆ど行われない領域に相当する。すなわち、その他の領域(広角画像PWの領域)の画素データは、入力画像データDiに殆ど含まれていない(疎の領域)。この場合も、撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、画素データが密に含まれる領域(密の領域)と画素データが殆ど含まれない領域(疎の領域)とが交互に存在する。所謂デジタルズーミングによりイメージセンサ110から取得される入力画像データも同様である。
 図5Dに示された撮影画面Pは、露出やホワイトバランス等の評価値を取得するための複数の評価領域を含んでいる。図5Dでは、複数の評価領域は、点線によって示されている。上記評価値は、各評価領域の最後の走査線に対応した入力画像データDiに含まれている。このため、各評価領域の最後の走査線に対応した入力画像データDiには、上記評価値が密に含まれている。即ち、各評価領域の最後の走査線に対応した領域には、評価のための画素データが密に含まれる(密の領域)。その他の領域には、評価のための画素データが殆ど含まれない(疎の領域)。従って、この場合も、撮影画面Pの走査線に沿ってイメージセンサ110から順次的に出力される入力画像データDiには、評価値に関し、画素データが密に含まれる領域(密の領域)と画素データが殆ど含まれない領域(疎の領域)とが存在する。
 図6には、図5Aに例示する撮影画面Pを形成する複数のフレーム画像P1,P2が連続する場合において、転送データが密に存在する画像領域A11~A13,A21~A23の位置関係が示されている。図6の例では、先頭のフレーム画像P1の下側の画像領域A13と、次のフレーム画像P2の上側の画像領域A21との間の時間間隔が小さくなることに留意されたい。このようなフレーム画像の境界では、フレーム間で転送データの干渉が発生しやすくなるが、その詳細については後述する(「2.転送データがフレーム画像内の最終転送データである場合」の説明参照)。
 次に、上述した図5A~図5Dに例示する撮影画面Pを形成する入力画像データDiがイメージセンサ110からデータ転送装置10に入力されたときの動作について、(1)データ転送装置10から出力されるDMA転送要求REQがバスアービタ161に速やかに受け付けられる場合と、(2)データ転送装置10から出力されるDMA転送要求REQが受け付けられるまでに長時間を要する場合とに分けて説明する。
 なお、理解の容易化のため、入力画像データDiの画素データが密に含まれる領域には、6個の画素データが連続して存在するとする。また、入力画像データDiには、連続した6個の画素データを1つのグループとして、複数のグループが含まれているとする。ただし、この例に限定されず、入力画像データDiに含まれる画素データの配列は任意に設定できる。
(1)DMA転送受付ACKが速やかに受信される場合
 図7Aおよび図7Bを参照して、DMA転送受付ACKが速やかに受信される場合の動作を説明する。イメージセンサ110から出力された入力画像データDiを構成する画素データが、32画素分の画素データに相当する64バイト単位で画像抽出部122からデータ転送部125であるデータ転送装置10のライト制御部11へ順次入力される。ライト制御部11は、入力画像データDiを、共通バス180に転送される転送データとして32画素分の64バイト単位でバッファ部12にライトする(ステップS1)。また、ライト制御部11は、入力画像データDiに含まれる32画素分の64バイトの画素データをバッファ部12にライトする都度、図7Aに示すように、入力画像データDiをバッファ部12にライトした旨を示すライト完了通知信号SWを出力する(ステップS1)。
 図7Aでは、ライト完了通知信号SWを模式的に示す四角形の中の数字は、入力画像データDiに密に含まれる6個の画素データに対応している。例えば「1」という表記は、入力画像データDiに密に含まれる6個の画素データのうち、先頭の(1番目の)画素データがバッファ部12にライトされた場合にライト制御部11から出力される信号SW(1)を表している。このような信号の表記はリード制御信号SCについても同様である。すなわち、図6Aにおいて、ライト完了通知信号SWの「1」~「6」という標記は、ライト完了通知信号SW(1)~SW(6)を示す。リード制御信号SCの「1」~「6」という標記は、リード制御信号SC(1)~SC(6)を示す。
 入力画像データDiを構成する画素データがライト制御部11に順次入力される過程で、画像抽出部122は、ライト制御部11に順次入力されるフレーム画像上の画素データの位置がそのフレーム画像の最終転送データの位置であるか否かを判定する。画素データの位置がフレーム画像の最終転送データの位置である場合、画像抽出部122は、画素データ(転送データ)の位置がフレーム画像の最終転送データの位置である旨を示す最終転送情報を含む設定信号E3をセレクタ1505に出力する。セレクタ1505は、画像抽出部122から最終転送情報を含む設定信号E3が入力された場合、その画素データが転送データとしてバッファ部12からリードされる際に設定信号E2を選択する。
 ここでは、ライト制御部11に順次入力される画素データ(転送データ)は最終転送データではないので、次に説明するように、セレクタ1505は、設定信号E1を選択してカウンタ1503およびリード判定部1504に出力する。この場合、リード制御信号SCの時間間隔Tsは、上述した設定信号E1によって所定の時間間隔Ts1に設定される。この所定の時間間隔Ts1は、最終転送データを転送する場合に設定信号E2によって設定される後述の所定の時間間隔Ts2(図9)よりも長い。
 具体的には、帯域平滑部15は、ライト完了通知信号SWに基づいて、共通バス180の帯域を平滑化するようにバッファ部12から転送データをリードするためのリード制御信号SCを生成する(ステップS2)。即ち、帯域平滑部15は、ライト制御部11から順次出力されるライト完了通知信号SWを、図3に示すFIFOメモリ1501へ順次入力する。そして、帯域平滑部15は、FIFOメモリ1501に保持されたライト完了通知信号SWをリード制御信号SCとして一定の時間間隔Tsを空けて入力順にリード制御部13に出力する。
 また、帯域平滑部15は、ライト制御部11に入力される画素データ(転送データ)がフレーム内の最終転送データであるか否かを示す設定信号E3に応じて、リード制御信号SCの時間間隔を切り替える。これにより、帯域平滑部15は、共通バス180に転送される転送データ間の時間間隔Tsを切り替える。ここでは、ライト制御部11に入力される画素データ(転送データ)がフレーム内の最終転送データではないので、帯域平滑部15のセレクタ1505は設定信号E1を選択し、帯域平滑部15は、設定信号E1に基づいて転送データ間の時間間隔Tsを時間間隔Ts1に設定する。
 図7Aの例では、ライト制御部11から帯域平滑部15に出力されるライト完了通知信号SW(1)~SW(6)と、帯域平滑部15から出力されるリード制御信号SC(1)~SC(6)とが模式的に示されている。図7Aの例に示すように、リード制御信号SC(1)~SC(6)の時間間隔Tsは、設定信号E1によってカウンタ1503に設定されるカウント値の最大値に基づいて決まる時間間隔Ts1に設定される。
 ここで、入力画像データDiに画素データの疎密が存在する場合、共通バス180の帯域を平滑化するためには(即ち、共通バス180に出力されるDMA転送要求REQの送信間隔を均一化するためには)、画素データが密に存在する入力画像データDiを転送する際のDMA転送要求REQの送信間隔を長くすればよい。この観点から、図3に示すカウンタ1503に設定されるカウント値の最大値は、上述のように、リード制御信号SCの時間間隔Ts(Ts1)がライト完了通知信号SWの時間間隔よりも大きくなるように設定される。ライト完了通知信号SWの時間間隔は、入力画像データDiに含まれる画素データの時間間隔に対応する。
 なお、リード制御信号SCの時間間隔Tsが大きくなる程、DMA転送要求REQの時間間隔Trも大きくなるので、データ転送速度が低下する傾向にある。また、リード制御信号SCの時間間隔Tsが大き過ぎると、その後のデータ転送を伴う処理を阻害する場合がある。このため、カウンタ1503に設定されるカウント値の最大値は、必要なデータ転送速度が得られる範囲で設定される。
 続いて、リード制御部13は、帯域平滑部15から入力されるリード制御信号SCに応答して、バッファ部12から転送データをリードする(ステップS3)。ここで、リード制御部13は、前回のリード制御信号SCに応答してバッファ部12から既にリードした前回の転送データが存在する場合、その前回の転送データのDMA転送要求REQに対するDMA転送受付ACKがインターフェイス部14で受信されていることを条件に、バッファ部12から今回の転送データをリードする。
 インターフェイス部14は、リード制御部13によりバッファ部12から転送データがリードされると、DMA転送要求REQを共通バス180に出力し、バッファ部12からリードされた転送データを所定のバスプロトコルに従って共通バス180に転送する(ステップS4)。具体的には、図7Aに示すように、インターフェイス部14は、一定の時間間隔Ts(Ts1)で帯域平滑部15から入力されるリード制御信号SC(1)~SC(6)に対応して、6個のDMA転送要求REQを順次出力する。
 ここでは、インターフェイス部14から出力されたDMA転送要求REQがバスアービタ161で速やかに受け付けられる場合を想定している。したがって、図7Aに例示するように、インターフェイス部14は、次回のDMA転送要求REQを出力する前に、今回のDMA転送要求REQがバスアービタ161に受け付けられた旨を示すDMA転送受付ACKを受信する。そして、インターフェイス部14は、リード制御部13によりバッファ部12からリードされた転送データを共通バス180に転送する(ステップS4)。
 このようにDMA転送要求REQがバスアービタ161に速やかに受け付けられる状況下では、図7Bにおいて第1グループとして示されている6個の画素データを密に含む入力画像データDiは、カウンタ1503に設定されたカウント値の最大値に基づいて決まる時間間隔Ts1で転送データDoとしてインターフェイス部14から共通バス180に出力される。図7Bに示す例では、第1グループの後ろに続く第2グループの画素データを密に含む入力画像データDiが入力される前に、第1グループの画素データのデータ転送が完了しているので、グループ間でのデータ干渉は発生しない。
 従って、図7Aおよび図7Bの例では、DMA転送要求REQが速やかに受け付けられる状況下では、共通バス180の帯域を平滑化することにより、DMA転送要求REQの時間間隔Trに余裕が生まれる。このため、画素データが密に存在する入力画像データDiを転送する際、バスアービタ161が各機能ブロックのDMA転送要求REQを適切に調整して受け付けることができる。これにより、バスアービタ161の負担を軽減することができるようになる。
 また、図7Aおよび図7Bの例では、画素データが密に存在する入力画像データDiを転送する際のDMA転送要求REQの時間間隔Trを長くしても、各グループの画素データのデータ転送は、相互に干渉することなく行われる。このため、共通バス180の帯域を平滑化しても、データ転送速度を低下させることなく、バスアービタ161によるアービトレーションに従って、イメージセンサ110の画素データをDRAM163に転送することができるようになる。
 また、図7Aおよび図7Bの例では、共通バス180の帯域を平滑化することにより、イメージセンサ110から取得された画素データをDRAM163に転送する機能ブロック120によって共通バス180が占有される頻度が低下し、他の機能ブロック130,140,150のDMA転送要求REQがバスアービタ161で受け付けられる頻度が高まる。このため、バスアービタ161によるアービトレーションにおいて、イメージセンサ110の画素データをDRAM163に転送するための機能ブロック120の優先度を高く設定しても、他の機能ブロック130,140,150の処理に与える影響を抑制することができ、他の機能ブロックの処理の滞留を防止することができるようになる。
(2)DMA転送要求REQが受け付けられるまでに長時間を要する場合
 次に、図8Aおよび図8Bを参照して、DMA転送要求に対するDMA転送受付ACKが受信されるまでに長時間を要する場合の動作を説明する。
 なお、ライト完了通知信号SWおよびリード制御信号SCの表記については、図7Aおよび図7Bの例に示す場合と同様である。
 上述したDMA転送受付ACKが速やかに受信される場合と同様に、ライト制御部11は、イメージセンサ110から取得された画素データを含む入力画像データDiをバッファ部12にライトする都度、ライト完了通知信号SWを順次出力する(ステップS1)。帯域平滑部15からは、ライト制御部11から出力されるライト完了通知信号SWに応答して、リード制御信号SCを一定の時間間隔Ts(Ts1)を空けて順次出力する(ステップS2)。リード制御部13は、帯域平滑部15から出力されるリード制御信号SCに応答して、バッファ部12から転送データをリードする(ステップS3)。インターフェイス部14は、リード制御信号SCに応答してリード制御部13によりリードされた転送データのDMA転送要求REQを出力し、その転送データを転送する(ステップS4)。
 ここで、最初のリード制御信号SC(1)に応答してインターフェイス部14から出力された最初のDMA転送要求REQが、例えば共通バス180の輻輳等により、バスアービタ161に受け付けられるまでに長時間を要した場合を考える。図8Aの例では、時刻t0でインターフェイス部14から出力された最初のDMA転送要求REQが時刻t1でバスアービタ161に受け付けられるまでに長時間を要している。その結果、最初のDMA転送要求REQに対するDMA転送受付ACKは、3番目のリード制御信号SC(3)が出力された後の時刻t1でインターフェイス部14に受信されている。
 時刻t1でDMA転送受付ACKがインターフェイス部14に受信されると、上述のステップS3において、リード制御部13は、2番目のリード制御信号SC(2)に応答してバッファ部12から次の転送データをリードする。そして、上述のステップS4において、インターフェイス部14は、2番目のリード制御信号SC(2)に応答してリード制御部13によりリードされた転送データのDMA転送要求REQを出力し、その転送データを共通バス180に転送する。
 この場合、2番目以降のリード制御信号SC(2)~SC(6)に応答してリード制御部13によってバッファ部12からリードされる転送データが一時的に滞留する。図8Bの例では、最初のリード制御信号SC(1)に応答してバッファ部12からリードされた転送データのDMA転送要求REQがバスアービタ161に受け付けられるまでに長時間を要したため、その間、2番目以降のリード制御信号SC(2)~SC(6)に応答して転送されるべき転送データDo(2)~Do(3)の転送が滞留している。
 しかしながら、第1実施形態によれば、次に説明するように、DMA転送要求REQが速やかに受け付けられる状況が回復すれば、滞留した転送データの転送が短い時間間隔で速やかに行われ、転送データの転送の遅れを挽回することができる。
 具体的に説明する。図8Aの例では、時刻t1で、最初のリード制御信号SC(1)に加えて、2番目のリード制御信号SC(2)および3番目のリード制御信号SC(3)が帯域平滑部15からリード制御部13に既に出力されている。このため、リード制御部13は、最初のリード制御信号SC(1)に応答してバッファ部12からリードした最初の転送データのDMA転送受付ACKが受信されると、上述のステップS3において、即座に、バッファ部12から2番目のリード制御信号SC(2)に応答して次の転送データをリードする。そして、上述のステップS4において、インターフェイス部14は、2番目のリード制御信号SC(2)に応答してリードされた転送データのDMA転送要求REQを共通バス180に出力し、その転送データを共通バス180に転送する。
 ここで、時刻t1の後、DMA転送要求REQが速やかに受け付けられる状況が維持される限り、DMA転送要求REQは、カウンタ1503のカウント値の最大値に制限されることなく、最小限の時間間隔でインターフェイス部14から出力される。このため、滞留した2番目以降の転送データが速やかに転送され、転送データの転送の遅れを挽回することができる。
 図8Bに示す例では、第1グループの次の第2グループの画素データを密に含む入力画像データDiが入力される前に、第1グループの画素データのデータ転送の遅れが挽回されている。従って、第1グループの最初の転送データの転送が遅れたことによる処理の影響を防止することができる。
 従って、第1実施形態によれば、共通バス180の帯域を有効に利用しつつ、滞留したデータ転送を速やかに行うことができる。
2.転送データがフレーム画像内の最終転送データである場合
 次に、フレーム内の最終転送データを転送する場合のデータ転送装置10の動作を詳細に説明する。ここでも、ライト制御部11に順次入力される画素データ(転送データ)は最終転送データではないとし、リード制御信号SCの時間間隔Tsは、上述した設定信号E1によって所定の時間間隔Ts1に設定されるとする。
 転送データがフレーム画像内の最終転送データでない場合と同様に、ライト制御部11は、入力画像データDiを、共通バス180に転送される転送データとしてバッファ部12にライトする(ステップS1)。入力画像データDiを構成する画素データがライト制御部11に順次入力される過程で、画像抽出部122は、ライト制御部11に順次入力されるフレーム画像上の画素データ(転送データ)の位置が、そのフレーム画像の最終転送データの位置であるか否かを判定する。画像抽出部122は、転送データの位置がフレーム画像の最終転送データの位置である場合、転送データの位置が最終転送データの位置である旨を示す最終転送情報を含む設定信号E3をセレクタ1505に出力する。
 続いて、リード制御部13は、バッファ部から転送データをリードして、共通バス180に転送する(ステップS2~S4)。具体的に説明すると、帯域平滑部15は、ライト完了通知信号SWに基づいて、共通バス180の帯域を平滑化するようにバッファ部12から転送データをリードするためのリード制御信号SCを生成する(ステップS2)。このとき、帯域平滑部15は、転送データがフレーム内の最終転送データであるか否かに応じて、リード制御信号SCの時間間隔を切り替えることにより、共通バス180に転送される転送データ間の時間間隔を切り替える。ここでは、転送データがフレーム内の最終転送データであるため、画像抽出部122からセレクタ1505に最終転送情報を含む設定信号E3が入力される。セレクタ1505は、最終転送情報を含む設定信号E3が入力された場合、その転送データがバッファ部12からリードされる際に設定信号E2を選択してカウンタ1503に送信する。
 帯域平滑部15は、設定信号E2に基づいて転送データ間の時間間隔Tsを時間間隔Ts2に設定する。具体的には、帯域平滑部15は、ライト制御部11から順次出力されるライト完了通知信号SWを、図3に示すFIFOメモリ1501に順次入力する。そして、帯域平滑部15は、FIFOメモリ1501に保持されたライト完了通知信号SWを、設定信号E2に基づいて決まる一定の時間間隔Ts(Ts2)を空けて、リード制御信号SCとして入力順に出力する。これにより、図9Aに例示するように、リード制御信号SCの時間間隔Tsは、設定信号E2に基づいて決まる所定の時間間隔Ts2に設定される。
 図9Aの例では、ライト制御部11から帯域平滑部15に出力されるライト完了通知信号SW(1)~SW(6)と、帯域平滑部15から出力されるリード制御信号SC(1)~SC(6)とが模式的に示されている。所定の時間間隔Ts2は、最終転送データ以外のデータを転送する場合に設定信号E1によって設定される上述の所定の時間間隔Ts1(図7A、図7B、図8A)よりも短い時間間隔である。なお、リード制御信号SC(1)~SC(6)の時間間隔Ts(Ts2)は、設定信号E2によって前述した図3に示すカウンタ1503に設定されるカウント値の最大値に基づいて決まるが、重複する説明は省略する。
 続いて、リード制御部13は、帯域平滑部15から入力されるリード制御信号SCに応答して、バッファ部12から転送データをリードする(ステップS3)。そして、インターフェイス部14は、リード制御部13によりバッファ部12からリードされた転送データを共通バス180に転送する(ステップS4)。
 時間間隔Tsの設定に関する動作を除けば、転送データが最終転送データである場合の動作は、転送データが最終転送データ以外のデータである場合の上述した動作と同様である。
 上述のように、設定信号E2に基づいて転送データ間の時間間隔(即ち、リード制御信号SCの時間間隔)を切り替えるようにしたので、共通バス180の帯域を平滑化しても、フレームの最終転送データの転送速度が上昇し、これによりフレームの境界付近におけるデータの干渉を抑制することができる。
 ここで、図10を参照してデータ干渉の抑制について具体的に説明する。
 図10の例では、転送データ間の時間間隔Tsは切り替えられず、時間間隔Ts1に固定されている。図10において、時刻t1から時刻t3までの期間が第1フレームに相当し、時刻t3以降が第2フレームに相当し、時刻t2で、最終転送データとなる第3グループの転送が開始されている。時刻t2で最終転送データの転送が開始される際に、最終転送情報を含む設定信号E3がハイレベルになる。
 セレクタ1505は、最終転送情報を含む設定信号E3に応答して設定信号E2をカウンタ1503に出力する。これにより、時刻t2でカウンタ1503のカウント値の最大値が設定信号E2により設定される。このため、時刻t2以降においてリード制御信号SCの時間間隔Tsが時間間隔Ts2(<Ts1)に設定され(図10)、データ転送装置10から共通バス180に出力される転送データDoの時間間隔も時間間隔Ts1から時間間隔Ts2(<Ts1)に短縮される。
 図10から理解されるように、時刻t2で転送データDoの時間間隔が時間間隔Ts2に短縮されると、時刻t2以降、第1フレームの最終転送データ(第3グループ)の転送速度が上昇する。このため、第2フレームの先頭のデータ(第1グループ)の転送を開始する前に、第1フレームのデータ転送が完了する。このため、第1フレームの第1グループと第2グループのデータを転送する際に共通バス180の帯域を平滑化しても、第1フレームと第2フレームとの間で転送データの干渉は生じない。
 ただし、リード制御信号SCの時間間隔を時間間隔Ts2(<Ts1)に設定することにより、第1フレームの最終転送データである第3グループを転送する際、共通バス180の帯域の平滑化が行われない場合がある。しかしながら、その他のデータ転送の際には共通バス180の帯域の平滑化が有効に実施されるので、全体としてみれば、共通バス180の帯域を活用することができ、バスアービタ側の処理の負担を軽減することができる。
 従って、第1実施形態によれば、フレーム間のデータ干渉を抑制しつつ、共通バスの帯域を平滑化することができる。即ち、共通バス180の帯域を制御しつつ、最終転送データも正しく転送することができる。
 図11には、参考例として、最終転送データを転送する際にリード制御信号SCの時間間隔Tsを時間間隔Ts2に切り替えず、時間間隔Ts1に維持した場合の各フレームの転送データの関係が示されている。図11に例示するように、リード制御信号SCの時間間隔Tsを時間間隔Ts1に維持した場合、共通バス180に転送される転送データDoの時間間隔も時間間隔Ts1に維持される。この結果、図11の例では、第1フレームの最終転送データ(第3グループ)の一部のデータDo(6)が、第2フレームの第1グループのデータと干渉している。この場合、第1フレームおよび第2フレームのデータを用いた処理が正常に実施されないおそれがある。しかしながら、本発明の第1実施形態によれば、図10に例示したように、共通バス180の帯域を平滑化しても、フレーム間でのデータ干渉を抑制することができ、処理の滞留を回避することができる。
(第2実施形態)
 次に、本発明の第2実施形態を説明する。
 上述の第1実施形態では、設定信号E3として、図5Aに示す撮影画面Pの下側の画像領域A3に密に存在するデータの集合を示す信号を想定したが、第2実施形態では、図12に例示するように、撮影画面Pを形成するフレーム画像上でデータが密に存在する任意の画像領域内で最後に転送される単一のデータの位置を示す座標情報を含む信号を設定信号E3として用いる。従って、第2実施形態では、帯域平滑部15は、撮影画面Pを形成するフレーム画像上の単一の転送データの位置を示す座標情報に基づき、転送データ間の時間間隔Tsを調整する。その他は、第1実施形態と同様である。
 図12の例では、撮影画面Pを形成するフレーム画像内に設定された評価エリアX1~X3の上側に隣接する画像領域Y11,Y21,Y31(斜線部の領域)と、下側に隣接する画像領域Y12,Y22,Y32(斜線部の領域)は、評価値を補正するために使用されるデータを取得するための補正領域である。補正領域は、転送データが密に存在する画像領域である。図12において、画像領域Y11,Y21,Y31,Y12,Y22,Y32のそれぞれの最後の単一のデータの座標位置は、黒丸で模式的に示されている。第2実施形態では、設定信号E3は、図12に黒丸で例示された単一のデータの座標位置に関する情報を含んでいる。このような単一の画像データの座標位置を示す信号として、例えば画像抽出部122における画像抽出処理の過程で生成される既存の信号を利用することができる。図12の例では、画像領域Y12と画像領域Y21は間隔Lだけ離れており、画像領域Y22と画像領域Y31は間隔Lだけ離れている。
 第2実施形態によれば、撮影画面Pを形成するフレーム画像内の各画像領域の最後のデータを転送する場合、その座標位置に関する情報を含む設定信号E3が画像抽出部122から出力される。そして、帯域平滑部15は、画像抽出部122から供給される設定信号E3に基づいてカウンタ1503のカウント値の最大値を設定し、リード制御信号SCの時間間隔を時間間隔Ts2に設定する。
 図13の例では、第3グループの最後のデータDi(6)の座標位置に関する設定信号E3が出力される時刻t2Aで、リード制御信号SCの時間間隔を時間間隔Ts2に切り替えている。即ち、図13の例では、時刻t2Aで画像抽出部122が第3グループの最後のデータDi(6)の座標位置を取得し、その情報を設定信号E3に反映させている。設定信号E3が、第1フレームの第3グループに含まれる最後のデータDi(6)の座標位置を示す情報を含む場合、帯域平滑部15は、リード制御信号SCの時間間隔Tsを、設定信号E2に基づいて決まる時間間隔Ts2に設定する。これにより、時刻t2A以降では、共通バス180に転送される転送データDoの時間間隔が時間間隔Ts2に短縮される。この結果、前述の図10の例と同様に、第2フレームのデータが転送される前に、第1フレームの全てのデータの転送が完了している。
 第2実施形態によれば、フレーム内の各画像領域の最終のデータ転送以外の通常のデータ転送では、設定信号E1により転送データ間の時間間隔が時間間隔Ts1に設定され、共通バス180の帯域の平滑化が実施される。また、フレーム内の各画像領域の最後のデータ転送では、設定信号E1により設定されるカウンタ1503のカウント値の最大値と比較して、設定信号E2によりカウンタ1503のカウント値の最大値が小さい値に設定される。これにより、リード制御信号SCの時間間隔Tsが短縮され、DMA転送要求REQの時間間隔Trも短縮される。この場合、共通バス180の帯域の平滑化はあまりされないが、データの転送速度が上昇するので、画像領域間およびフレーム間のデータ干渉を防止することができるようになる。
 従って、第2実施形態によれば、フレームの内外を問わず、データ干渉を抑制しつつ、共通バスの帯域を平滑化することができる。
 また、第2実施形態によれば、個々のデータの座標位置に応じて転送データ間の時間間隔Tsを切り替えるので、フレーム内にサイズが異なる複数の画像領域が含まれていても、各画像領域間のデータ干渉を抑制しつつ、共通バスの帯域を平滑化することができる。
(第3実施形態)
 次に、本発明の第3実施形態を説明する。
 図14は、本発明の第3実施形態に係るデータ転送装置30の構成例を示すブロック図である。データ転送装置30は、上述した第1実施形態に係る図2に示すデータ転送装置10の構成において、帯域平滑部15に代えて、帯域平滑部35を備えている。その他のデータ転送装置30の構成は、第1実施形態のデータ転送装置10の構成と同様である。
 図15は、本発明の第3実施形態に係るデータ転送装置30が備える帯域平滑部35の構成例を示すブロック図である。帯域平滑部35は、上述した第1実施形態に係る図3に示す帯域平滑部15の構成において、バッファ余裕度判定部1506を更に備えている。その他の帯域平滑部35の構成は、第1実施形態の帯域平滑部15の構成と同様である。
 バッファ余裕度判定部1506は、バッファ部12の残容量(バッファ余裕度)を判定する。帯域平滑部35は、バッファ余裕度判定部1506の判定結果に応じて、共通バス180に転送される転送データ間の時間間隔(設定信号E1,E2により設定された時間間隔Ts1,Ts2)を調整する。具体的には、帯域平滑部35は、バッファ部12の残容量が少ない程、転送データ間の時間間隔Tsを減少させる。第3実施形態では、帯域平滑部35は、第1実施形態と同様に設定信号E1,E2に応じてリード制御信号SCの時間間隔を設定し、バッファ部12の残容量に応じてリード制御信号SCの時間間隔を調整する。
 なお、設定信号E1,E2によるリード制御信号SCの時間間隔の調整を省略してもよく、この場合、共通バス180の帯域の平滑化は行われない。
 帯域平滑部35は、ライト完了通知信号SWの数(即ち、バッファ部12にライトされたデータの数)とリード制御信号SCの数(即ち、バッファ部12からリードされたデータの数)との差分から、バッファ部12の残容量を把握する。バッファ部12の残容量が少ないことは、バッファ部12にライトできなくなる可能性が高まり、バッファ部12の機能が損なわれる可能性が高まることを意味する。バッファ余裕度判定部1506は、バッファ部12の残容量(バッファ余裕度)を示す信号Mをカウンタ1503に出力する。第3実施形態では、信号Mは、バッファ部12の残容量に余裕があること、残容量が少ないこと、残容量が殆どないことの何れかを示す。
 図16は、本発明の第3実施形態に係るデータ転送装置30が備える帯域平滑部35の動作を説明するための図であり、バッファ部12の残容量と転送データ間の時間間隔Ts11(=Ts1),Ts12,Ts13の関係を説明するための図である。
 カウンタ1503は、バッファ余裕度判定部1506から入力される信号Mに基づいて、設定信号E1,E2に応じて設定されたカウント値の最大値を調整する。図16の例では、帯域平滑部35は、バッファ部12の残容量に余裕があることを信号Mが示す場合、設定信号E1に基づいて決まる時間間隔Ts1に所定の第1係数「1」を乗じて得られる時間間隔Ts11をリード制御信号SCの時間間隔Tsとして設定する。この場合、共通バス180に転送される転送データDoの時間間隔Tsが時間間隔Ts1と等しい値に設定される。
 また、帯域平滑部35は、時刻t31でバッファ部12の残容量が少ないことを信号Mが示す場合、設定信号E1に基づいて決まる時間間隔Ts1に所定の第2係数「0.5」を乗じた時間間隔Ts12をリード制御信号SCの時間間隔Tsとして設定する。この場合、共通バス180に転送される転送データDoの時間間隔Tsが時間間隔Ts1の2分の1の値(=Ts1×0.5)に設定される。
 更に、帯域平滑部35は、時刻t32でバッファ部12の残容量が殆どないことを信号Mが示す場合、設定信号E1に基づいて決まる時間間隔Ts1に所定の第3係数「0.2」を乗じた時間間隔Ts13をリード制御信号SCの時間間隔Tsとして設定する。これにより、共通バス180に転送される転送データDoの時間間隔が時間間隔Ts1の5分の1の値(=Ts1×0.2)に設定される。
 なお、上述の例において、第1係数、第2係数、第3係数の各数値は一例に過ぎず、バッファ部12の残容量を調整することができることを限度に、各係数の数値を任意に設定することができる。
 上述のように、帯域平滑部35は、信号Mによって示されるバッファ部12の残容量が少ない程、設定信号E1によって設定されたリード制御信号SCの時間間隔Ts1を減少させ、転送データ間の時間間隔Ts(=Ts1)を減少させる。同様に、帯域平滑部35は、信号Mによって示されるバッファ部12の残容量が少ない程、設定信号E2によって設定されたリード制御信号SCの時間間隔Ts2を減少させ、転送データ間の時間間隔Ts(=Ts2)を減少させる。この結果、バッファ部12へのライト速度よりもバッファ部12からのリード速度が相対的に増加し、これにより、バッファ部12の残容量が増えるようになる。
 第3実施形態によれば、バッファ部12の残容量に応じて転送データ間の時間間隔Tsを制御するので、バッファ部12に対するデータのライト動作を安定化させることができ、バッファ部12のバッファ機能を安定的に維持することができる。
 次に、上述した第1実施形態から第3実施形態による効果を、特許文献1による技術と比較して検証する。
 図17Aおよび図17Bは、本発明の実施形態に係るデータ転送装置の効果を補足するための従来技術に係るデータ転送装置の動作例を説明するための図である。ここで、図17Aは、DMA転送要求が受け付けられるまでの時間が短い場合の動作を説明するためのタイミングチャートである。図17Bは、DMA転送要求が受け付けられるまでの時間が長い場合の動作を説明するためのタイミングチャートである。
 特許文献1の技術によれば、図17Aに例示するように、DMA転送要求REQの時間間隔TINTは一定に固定される。このため、図17Bに例示するように、時刻t10で最初のDMA転送要求REQが共通バスに出力されてから時刻t11でDMA転送受付ACKが受信されるまでに長時間を要した場合、最初のDMA転送要求REQから一定の時間間隔TINTを空けて、時刻t12で次のDMA転送要求REQが出力される。換言すれば、最初のDMA転送要求REQが受け付けられても、一定の時間間隔TINTに相当する時間が経過しなければ、次のDMA転送要求REQは出力されない。このため、最初のDMA転送要求REQが受け付けられるまでに滞留した転送データを速やかに転送することができない。
 これに対し、前述した本発明の第1実施形態から第3実施形態によれば、DMA転送要求REQが受け付けられるまで長時間を要する状況下では、DMA転送要求REQの時間間隔Trは、帯域平滑部15から出力されるリード制御信号SCの時間間隔Tsに制限されず、最小の時間間隔でDMA転送要求REQが出力される。このため、バスアービタ161に受け付けられるまでに長時間を要したDMA転送要求REQの後のDMA転送要求REQを速やかに出力することができる。従って、DMA転送要求REQが受け付けられるまでに長時間を要したとしても、その間に滞留した転送データを速やかに転送することができ、データ転送速度の低下を抑制することができる。
 また、前述した本発明の第1実施形態から第3実施形態によれば、DMA転送要求REQが速やかに受け付けられる状況下では、共通バス180の帯域を平滑化するために、DMA転送要求REQの時間間隔Trは、帯域平滑部15から出力されるリード制御信号SCの時間間隔Tsに応じて設定される。このようにDMA転送要求REQの時間間隔Trが設定されたとしても、図17Aに例示したように、DMA転送要求REQが速やかに受け付けられる状況下では、本来的に各グループの画素データは相互に干渉しないので、データ転送速度は損なわれない。
 従って、上述した実施形態によれば、共通バス180を平滑化することにより、優先度の低い機能ブロックのDMA転送要求REQの受け付けをできるようにしておくことで、優先度の高い機能ブロックのDMA転送要求REQが長時間にわたって受け付けられない状況が発生しても、データ転送の遅れを挽回することができる。従って、優先度の高い機能ブロックの処理を優先的に実施し、優先度の低い機能ブロックの処理の滞留を有効に防止することができる。
 次に、本発明の実施形態の主要な効果をまとめる。
 本発明の第1実施形態から第3実施形態によれば、フレーム間のデータ干渉を抑制しつつ、共通バス180の帯域を平滑化することができる。また、本発明の実施形態によれば、共通バス180の帯域を有効に利用しつつ、滞留したデータ転送を速やかに行うことができる。更に、バッファ部12の残容量に応じて転送データ間の時間間隔Tsを調整するようにしたので、バッファ部12のバッファ機能を安定化させることができる。
 また、バッファ部12に保持されている転送データ量に応じてDMA転送要求REQを出力することができ、これにより、転送データ量に応じて共通バス180の帯域を平滑化することができる。
 また、DMA転送要求が長時間にわたって受け付けられない場合であっても、転送データのバッファとしての処理の滞留を抑制することができる。
 また、DMA転送要求REQを出力する前に帯域を制御することができ、共通バス180の帯域の制御が容易になる。
 また、DMA転送要求REQの時間間隔Trを制御するための複雑な回路を備える必要がないので、回路の規模を小さくすることができる。
 また、DMA転送要求REQがバスアービタ161に速やかに受け付けられる状況下では、共通バス180の帯域を平滑化することができる。従って、バスアービタ161によるアービトレーションにおける優先度の高い機能ブロックの処理を実施しつつ、優先度の低い機能ブロックの処理を確保することができる。
 また、DMA転送要求REQがバスアービタ161に受け付けられるまでに長時間を要する状況が発生しても、その後、DMA転送要求REQがバスアービタ161に速やかに受け付けられる状況が回復すれば、DMA転送要求REQが受け付けられるまでに長時間を要したことにより滞留したデータ転送の遅れを挽回することができる。
 また、画素データの疎密を有する入力画像データDiが入力された場合、DMA転送要求REQを時間軸上で拡散させることにより、共通バス180の帯域を平滑化することができる。
 また、DMA転送によるデータレートが高い状態に合わせて各機能ブロックの優先度をバスアービタに設定した場合、優先度の機能ブロックのDMA転送要求が連続しても、優先度の低い他の機能ブロックのDMA転送要求をバスアービタで受け付けることができるようになる。このため、優先度の高い機能ブロックにバス権が占有されることがなくなり、優先度の低い機能ブロックがバス権を確保することができるようになる。従って、優先度の低い機能ブロックの処理の滞留を防止することができる。
 また、簡易な構成により、DMA転送要求REQの時間間隔Trを調整することができる。
 また、バスアービタ161によるアービトレーションのルールが変更されても、設定信号Eによりカウンタ1503のカウント値の最大値を調整することにより、共通バス180の帯域を平滑化することができる。
 以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更ができる。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
 本発明は、データ転送装置およびデータ転送方法に広く適用でき、フレーム間のデータ干渉を抑制しつつ、共通バスの帯域を平滑化することをできるようにする。
 10,30 データ転送装置
 11 ライト制御部
 12 バッファ部
 13 リード制御部
 14 インターフェイス部(I/F部)
 15,35 帯域平滑部
 100 撮像システム
 110 イメージセンサ
 120,130,140,150 機能ブロック
 121 前処理部
 122,123 画像抽出部
 124 評価値生成部
 125~127 データ転送部
 131 データ転送部
 132 表示処理部
 133 表示デバイス
 141,142 データ転送部
 143 カードインターフェイス部
 144 記録媒体
 151,152 データ転送部
 153 画像処理部
 161 バスアービタ
 162 DRAMインターフェイス部
 163 DRAM
 170 中央演算処理装置
 180 共通バス
 1501 FIFOメモリ
 1502,1503 カウンタ
 1504 リード判定部
 1505 セレクタ
 1506 バッファ余裕度判定部
 A1~A3、A11~A13、A21~A23 画像領域
 ACK DMA転送受付
 Di 入力画像データ
 Do 出力転送データ
 E、E1~E3 設定信号
 L 画像領域の間隔
 M 信号
 M0~M15 記憶領域
 P 撮影画面
 P1、P2 フレーム画像
 PT 望遠画像
 PW 広角画像
 REQ DMA転送要求
 SC リード制御信号
 SR リード完了通知信号
 SW ライト完了通知信号
 TINT DMA転送要求REQの時間間隔
 Tr DMA転送要求REQの時間間隔
 Ts リード制御信号SCの時間間隔
 Ts1、Ts2 所定の時間間隔
 Ts11~Ts13 転送データ間の時間間隔
 X1~X3 評価エリア
 Y11、Y12、Y21、Y22、Y31、Y32 画像領域

Claims (6)

  1.  共通バスに転送される転送データを一時的に格納するバッファ部と、
     入力データを前記転送データとして前記バッファ部にライトするライト制御部と、
     前記バッファ部から前記転送データをリードするリード制御部と、
     前記リード制御部により前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送するインターフェイス部と、
     前記転送データのフレーム画像上における位置に基づき、前記転送データを前記共通バスに転送する際の転送データ間の時間間隔を切り替えることにより、前記共通バスの帯域を平滑化する帯域平滑部と、
     を備えたデータ転送装置。
  2.  前記帯域平滑部は、
     前記転送データの前記フレーム画像上における位置を示す座標情報に基づき前記時間間隔を切り替えることを特徴とする請求項1に記載のデータ転送装置。
  3.  前記帯域平滑部は、
     前記フレーム画像に含まれる最終転送データ以外の転送データを転送する際の前記時間間隔に関する第1パラメータと、前記最終転送データを転送する際の前記時間間隔に関する第2パラメータとを有し、
     前記転送データの前記フレーム画像上における位置が前記最終転送データ以外の転送データの位置である場合、前記第1パラメータを用いて前記時間間隔を設定し、
     前記転送データの前記フレーム画像上における位置が前記最終転送データの位置である場合、前記第2パラメータを用いて前記時間間隔を設定し、
     前記第2パラメータを用いて設定される前記時間間隔は、前記第1パラメータを用いて設定される前記時間間隔よりも短いことを特徴とする請求項1または2に記載のデータ転送装置。
  4.  前記バッファ部の残容量を判定する判定部を更に備え、
     前記帯域平滑部は、
     前記判定部の判定結果に応じて、前記時間間隔を調整することを特徴とする請求項1から3の何れか1項に記載のデータ転送装置。
  5.  前記帯域平滑部は、
     前記バッファ部の残容量が少ない程、前記時間間隔を減少させることを特徴とする請求項4に記載のデータ転送装置。
  6.  共通バスに転送される転送データとして入力データをバッファ部にライトする第1段階と、
     前記バッファ部から前記転送データをリードし、前記バッファ部からリードされた前記転送データを、所定のバスプロトコルに従って前記共通バスに転送する第2段階と、
     を含み、
     前記第2段階では、
     前記転送データのフレーム画像上における位置に基づき、前記転送データを前記共通バスに転送する際の転送データ間の時間間隔を切り替えることにより、前記共通バスの帯域を平滑化する、データ転送方法。
PCT/JP2016/066585 2015-06-15 2016-06-03 データ転送装置およびデータ転送方法 WO2016203996A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112016002163.1T DE112016002163T5 (de) 2015-06-15 2016-06-03 Datentransfervorrichtung und Datentransferverfahren
CN201680034255.7A CN107710178B (zh) 2015-06-15 2016-06-03 数据输送装置和数据输送方法
US15/814,879 US10452583B2 (en) 2015-06-15 2017-11-16 Data transfer device and data transfer method having a shorter time interval between pieces of final transfer data in a frame image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-120074 2015-06-15
JP2015120074A JP6564625B2 (ja) 2015-06-15 2015-06-15 データ転送装置およびデータ転送方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/814,879 Continuation US10452583B2 (en) 2015-06-15 2017-11-16 Data transfer device and data transfer method having a shorter time interval between pieces of final transfer data in a frame image

Publications (1)

Publication Number Publication Date
WO2016203996A1 true WO2016203996A1 (ja) 2016-12-22

Family

ID=57545675

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/066585 WO2016203996A1 (ja) 2015-06-15 2016-06-03 データ転送装置およびデータ転送方法

Country Status (5)

Country Link
US (1) US10452583B2 (ja)
JP (1) JP6564625B2 (ja)
CN (1) CN107710178B (ja)
DE (1) DE112016002163T5 (ja)
WO (1) WO2016203996A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7072404B2 (ja) * 2018-03-01 2022-05-20 キヤノン株式会社 画像処理装置及びその制御方法、プログラム、記憶媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006039672A (ja) * 2004-07-22 2006-02-09 Olympus Corp バス要求制御回路
JP2015053643A (ja) * 2013-09-09 2015-03-19 オリンパス株式会社 撮像装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829421A (en) * 1984-11-05 1989-05-09 S. C. Yuter, J.S.D. Data transfer regulating system for recording data at a varying recording
DE3639361A1 (de) * 1986-11-18 1988-05-19 Luther Erich Geraet zum pruefen von leiterplatten
KR100703406B1 (ko) * 2005-02-04 2007-04-03 삼성전자주식회사 Dma 제어 장치 및 방법
EP1844805A1 (de) 2006-04-13 2007-10-17 Boehringer Ingelheim Pharma GmbH & Co.KG Inhalator
JP5057360B2 (ja) * 2006-08-08 2012-10-24 ルネサスエレクトロニクス株式会社 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
ATE530014T1 (de) * 2007-02-01 2011-11-15 Sony Corp Bildwiedergabevorrichtung, bildwiedergabeverfahren, abbildungsvorrichtung und verfahren zur steuerung der abbildungsvorrichtung
US20100228863A1 (en) * 2007-03-28 2010-09-09 Pioneer Corporation Content distribution system and its control method
JP4692621B2 (ja) * 2008-12-12 2011-06-01 ソニー株式会社 情報処理装置、バッファ制御方法およびコンピュータプログラム
JP2010199880A (ja) * 2009-02-24 2010-09-09 Olympus Imaging Corp 撮像装置
WO2012014400A1 (ja) * 2010-07-27 2012-02-02 パナソニック株式会社 データ転送制御装置及びデータ転送制御方法
JP5744650B2 (ja) * 2011-07-06 2015-07-08 オリンパス株式会社 バスモニタ装置、バスモニタ方法、およびプログラム
CN102869046A (zh) * 2011-07-08 2013-01-09 杭州海康威视数字技术股份有限公司 无线网络中视频传输方法及其装置
JP5829106B2 (ja) * 2011-11-16 2015-12-09 オリンパス株式会社 信号転送回路
JP6403430B2 (ja) * 2014-05-23 2018-10-10 キヤノン株式会社 画像処理装置および画像処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006039672A (ja) * 2004-07-22 2006-02-09 Olympus Corp バス要求制御回路
JP2015053643A (ja) * 2013-09-09 2015-03-19 オリンパス株式会社 撮像装置

Also Published As

Publication number Publication date
CN107710178A (zh) 2018-02-16
US20180081842A1 (en) 2018-03-22
US10452583B2 (en) 2019-10-22
CN107710178B (zh) 2021-01-08
JP2017004409A (ja) 2017-01-05
DE112016002163T5 (de) 2018-04-19
JP6564625B2 (ja) 2019-08-21

Similar Documents

Publication Publication Date Title
US9645957B2 (en) Data processing device and data transfer control device
US10346323B2 (en) Data transfer device and data transfer method for smoothing data to a common bus
US20120203942A1 (en) Data processing apparatus
JP2007199815A (ja) メモリ制御装置およびメモリ制御方法
US9253401B2 (en) Imaging device and imaging method where shake adjusted image is divided into regions for parallel processing
WO2016203996A1 (ja) データ転送装置およびデータ転送方法
WO2017187508A1 (ja) 表示処理装置および撮像装置
US20190324646A1 (en) Memory access device, image-processing device, and imaging device
US10719458B2 (en) Data transfer device, image processing device, and imaging device
JP6473049B2 (ja) 表示制御装置及び撮像装置
US11314664B2 (en) Memory access device, image processing device and imaging device
WO2019043822A1 (ja) メモリアクセス装置、画像処理装置、および撮像装置
US20120144150A1 (en) Data processing apparatus
US9672174B2 (en) Data-processing apparatus and data transfer control device
JP4436626B2 (ja) 画像処理装置
JP2017055309A (ja) 撮像装置及びその制御方法
JP5224492B2 (ja) 画像データ転送制御装置及び画像データ転送方法並びに該画像データ転送装置を有するカメラ
JP2014075625A (ja) データ転送装置、データ転送方法、半導体装置
JP2018005389A (ja) 画像変形回路、画像処理装置、及び画像変形方法
WO2019153264A1 (zh) 图像预处理方法及装置、图像传感器接口、图像处理方法及装置
WO2020008522A1 (ja) バス調停装置、バス調停システム、および撮像装置
JP2005227479A (ja) 画像処理装置、画像処理方法及び画像処理方法をコンピュータに実行させるためのプログラム
JP2009020894A (ja) 画像処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16811471

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 112016002163

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16811471

Country of ref document: EP

Kind code of ref document: A1